Real-Time Robot Impact Detection Paper

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Real-Time Robot Impact Detection

Mirko Borich Artur Wiebe


Axy-Systems Manz-Automation
Petach Tikva, Israel Reultlingen, Germany
mirko@axy-systems.com awiebe@manz-automation.com

Abstract—the paper presents a novel method for detecting real account and compensated for in the calculation. Moreover, in
time contact of an industrial robot with its environment. The order to prevent false alarms if the torque error is very noisy,
work has been presented on a Delta kinematics type of robot. the torque feedback must be filtered.
Detecting collision of robots is an important part of controlling
manufacturing cells. Besides obvious danger of collision with
humans, we concentrate here on collision with obstacles inside A. Reaction
the manufacturing cell. These can occur due to sudden change of
configuration inside the cell or due to invalid target point
coordinates provided by the vision subsystem. Such collisions can Once the impact has been detected there are several
cause equipment damage and/or breakage in the work piece. If ways of how the robot should react. Depending on the nature
the work piece is destroyed its particles can contaminate the cell of the obstacle and application, the reaction on detecting
and cause long system downtime for cleaning. impact can differ and includes one of the following:

Keywords-industrial robot; impact; collision detection; inverse • Executing controlled position stop-profile and
dynamic model; torque feedback, impact force; motion delta
keeping motors enabled
kinematics; real time; obstacles, control
• Immediately disabling the motors and letting the
drives do the stopping.

I. INTRODUCTION In cases of stiff obstacles, immediately disabling the motors


has an advantage of reducing the contact force. In cases of
One of the simplest methods for detecting robot breakable obstacles or payloads the impact force at the end
impact is by monitoring the rapidly increasing position can vanish, so disabling the robot is not recommended. This
following error. The position following error is a standard method has the advantage of decreasing the contact force to
feature of any robot controller. The difference between zero, so that dangerous interaction is mitigated. But in other
position commanded and position feedback can definitely cases this strategy could lead to unwanted effects. For
provide indication of an impact. However, according to the example, in robot mechanisms without motor breaks, the tool-
results presented in this paper the position error is not a strong tip can fall down due to gravity forces.
(enough) indicator of impact. Either it is too late when it On the other hand, it is important to remember that a
occurs (damage has been already done) or the robot capability system overload (moving too fast or moving a payload off a
(force) is so high that the obstacle is easily pushed away or modeled path) can introduce similar effects (increase of torque
deformed and the influence on path (position) is negligible. errors). A similar situation can occur in the case of breakage –
the cause of the impact disappears! In such a case it is wrong
In this paper we present a novel method for impact just to disable the drives, as there is no obstacle to stop the
detection, based on detection of an increasing torque error. motion. If the motors are suddenly disabled, we get the robot
The torque error is defined as the difference between coasting away – which can be very dangerous.
commanded and actual torque of the robot actuators. The If the drives are kept enabled, the application would
commanded torque is obtained by implementing the full require implementing fast stop-profile and then going back
inverse dynamic model of the robot and the torque feedback is until the contact force is diminished. But the stop profile
obtained by measuring the actual motor current. We would mean moving the robot inside/against the obstacle for a
demonstrate a successful implementation of real time robot while, which could mean damaging the robot or overloading
impact detection in case of Delta robot kinematics. drives.

The influence of the drive control algorithm


(position, velocity and torque control loop) must be taken into
II. COLLISION DETECTION AND OBSTACLES IN WORKING SPACE
A. Obstacles

The topic we consider here is not a safety issue,


although it is related. The proposed on-line algorithm detects
impact of the robot with obstacles inside the working space
on-line, which means we are not implementing off-line
obstacle avoidance algorithms that can produce paths avoiding
collisions. Therefore, the presented algorithm is not aimed to
prevent impacts, but to minimize the damage caused by them.
The idea is that obstacles are not predictable and that the
work-space is extremely complex to model. Also, modeling of

the workspace (teaching all the obstacle points) takes a


tremendous amount of time, which conflicts with the goal of
fast set-up time of an industrial robot application.
undetected after the robot disassembles, the damage done by
the robot increases dramatically.

Figure 1: Picture of a complex industrial robot work-cell

Additional hindrance is the fact that the robot workspace is not


static. There are many moving parts or loading/unloading
stations where the geometry changes over time.
Figure 2: Delta (Flex-Picker) Kinematic Model
There is also an issue of multiple robots inside the
working space. The problem is easily solved in
one-controller-many-robots systems like aico.control. But this
still needs significant effort in setting up the application. The
second robot movement must be monitored and different robot III. ALTERNATIVE WAYS OF DETECTING IMPACTS
geometry with and without payload should be modeled
(actually thought). A. Using sensors

Impact can be also detected using a torque/force


B. Crashes sensor mounted on the robot tool-tip. Also, there is a
possibility of using light-curtains for detecting work-space
Robot impacts with its environment have several negative interference. Measuring tool-tip force is usually done by using
consequences. Not taking into account the issue of human load-cell sensors. Today there are many load-cell (force/torque
safety, as we assume that the work-cell is properly guarded sensors) manufacturers available on the market. The load cell
and no humans can enter it, when the robot is operating, is connected via an adapter card to the motion controller and
several other important issues still remain. can monitor contact forces on-line. Such solutions increase the
price of the system and also interfere with the application.
For example, the payload (working object) that the Adding a load-cell and its cables definitely changes the robot
robot moves can be breakable. In case the collision is not pay-load. In
detected, pieces of the broken payload will fly all over the applications
work-cell, which then demands long setup-times due to the where cycle-
need for cleaning. time is an
issue, this can
Another issue, especially relevant in case of the be a problem.
example shown in this paper, is related to Delta kinematics. The other
One of the characteristics of Delta kinematics is the ease of the issue is that
robot structure decomposition. force sensors
measure only
Delta kinematics is based on mechanical the force on Figure 3: Typical Servo-Drive control architecture
parallelograms, which are connected at the end via ball-joints the tool-tip
to the moving platform and the link arms. The ball-joints have and not the forces applied to the robot body (when the robot
a limited movement angle of less than 180 degrees and if link hits some obstacle).
certain position/angles are exceeded, the whole construction
can fall apart. In certain positions the force that is needed to
disassemble the robot decreases drastically. If a collision B. Detecting position errors
occurs in such a position, it definitely leads to robot We define position error (PE) as a difference between
disassembling. And to make the situation worse, these the commanded and the actual robot position. It can be defined
positions are typically in out-stretched configurations where per axis when it is in angular units (deg) or on a Cartesian
the possibility of hitting obstacles rises. If an impact is left level as the distance between the actual tool-tip position and
its commanded value.
Typically the impact of the robot with obstacles command and the torque feedback (meaning we are excluding
increases the forces acting on the robot tool-tip and/or robot the un-modeled effects in this formula):
segments. This means that the commanded joint/Cartesian
position is not reached. Depending on the elasticity of the TE = TADDCMD – TFB
obstacle, elasticity of the robot segment and the motor torques
the position errors can vary. In certain cases of elastic robot Note the source of TFB: it comes from measuring the
segments and high-torque motors the position error can be motor phase currents that are normally used in the drive torque
minimal. Therefore, usage of the position error for detecting control loop.
the robot impact must be excluded. It is important to point out
that during regular robot tasks, e.g. pick & place, the tool-tip The additive torque command (TADDCMD) is
position error can reach significant values just by moving the computed from the known equations of a general robot
robot at high speeds and/or high acceleration. In some cases dynamic model. In case of open chain kinematics the
these errors can be even higher than the position error induced commanded torque values are obtained by:
by the impact. Adding to this a safety margin and the
influence of noise on the position-error signal, we conclude
that we cannot effectively determine an obstacle impact by τ = H (q) ⋅ q + q ⋅ C (q ) ⋅ qT + G (q)  (1)
looking only at the position errors. (See Figure 9 and Figure
10) Where H is the inertia matrix, C is the combined Coriolis and
centrifugal component and G are the gravity forces, where q is
During the impact the joint motors try to minimize the joint position vector. In our case (parallel mechanic) the
the errors of the control loops. A typical servo drive executes dynamic model is obtained by solving the Lagrange-Euler
three encapsulated (cascade) control loops: position, velocity system of equations:
and current (torque). They can all be on different sampling
rates and typically the current loop is the fastest. The typical
d ∂L ∂L 3
df i
sampling rate of a current loop is 65 micro seconds and lower.
So the first instance that is going to detect an impact is the
(
dt ∂ ξ j
)−
∂ξj
= Ξ j+ ∑
i= 1
µi
dξ j
(2)
current loop. In this work we show examples in which the
torque error increases by several orders of magnitude more
Where Ξ are the generalized forces and L = K- P is the
than the position error in cases of obstacle impacts. (See
Langrage function of the difference between potential energy
Figure 11 and Figure 12)
P and kinematic energy K. There are 6 equations (2) for the
three unknown multipliers µ i and the three unknown torque
IV. USING TORQUE ERROR IN IMPACT DETECTIONS
values τ i = Ξ i+ 3

The torque error (TE) is defined as the difference To accomplish these components we must properly
between the commanded torque value (TCMD) and the torque identify masses, moments of inertia and geometrical
feedback value (TFB). parameters such as: link lengths and segments’ center of mass
coordinates. In our case the equations are simpler; as the
TE = TCMD – TFB model of the Delta robot (DR1200-4S) is actually built out of
three identical sub models (“legs”) and as all three pairs of
As mentioned earlier the drive has cascade control robot arm and the parallelogram linkage bars are identical, we
architecture and the torque command is obtained as a result of actually must identify just one set of parameters (meaning just
previous stages of position-velocity control loops. These one third of the total parameters number). In this way the
values include both robot dynamic and non-linear un-modeled identification of the robot model is much simpler and is
effects. The command value of the torque entered into the reduced to the identification of segment inertia and
current loop is composed of two parts, one is the additive viscous/coulomb friction coefficients. The other parameters
torque command (torque feed-forward) externally injected such as segment lengths and masses can be easily measured
from the motion controller and the internal torque command (using a scale). Successful identification is tested very easily
obtained as a result of the previous control stages (velocity by comparing feedback and command torque values during a
and position loop). It is important to note that by adding the robot free-run. For testing the repeatability of the implemented
additive torque command (TADDCMD) as a feed-forward parameter identification algorithm the parameters of joint 2
part computed from the robot dynamic model, we do not just are identified several times consecutively. At the beginning of
detect the torque error but also significantly improve dynamic all measurements, the joint is already in operating
behavior of the robot. It drastically decreases the position error temperature.
(PE) value during movements.
The value we are interested in is the torque error, A. Model parameters
which we define as the difference between the additive torque
Figure 5 Robot crank (one of three)

Parameters that can be identified using automatic methods are:


• for the crank arms: Θ AB , l AB m AB g , ρ V , ρ C .
• for the fourth axis: Θ Tφ , ρ Vφ , ρ Cφ
Figure 4 Simplified dynamic model of one robot leg

Dynamic parameters of the Delta robot stand for


separated model features such as motor, crank arm, gear, etc. 2) Measured parameters
The disadvantage of separated parameters is that they cannot
be identified automatically. For that reason a new parameter
set is introduced, where some of the parameters can be
identified and some can be measured easily.

Θ AB - Inertia momentum of the crank AB including


motor/gears around the axis of the drive.
l AB m AB g - Equivalent mass on center of gravity of the
cranks * Distance of the center of gravity of the cranks from
the drive axis * gravity.
ρ V - Coefficient of viscous friction of the drives.
ρ C - Coefficient of Coulomb friction of the drives. Figure 6 Measuring the platform mass

m BC - Equivalent mass of the (two) parallelogram rods


• Mass of platform m P is measured with a scale.
including cable and springs.
The platform mass includes all parts mounted on the platform
Θ BC - Equivalent momentum of inertia of the (two) (motor, gripper, light field, cable connectors), but it does not
parallelogram rods including cable and springs around the include payload.
center of gravity.
mP - Mass of the platform including payload.
Θ Tφ - Momentum of inertia of the telescope rod, 4th axis
drive and gripper including payload.
ρ Vφ - Coefficient of viscous friction of the 4th axis drive.
ρ Cφ - Coefficient of Coulomb friction of the 4th axis drive.

1) Identifiable parameters
The

Figure 8 Measuring the rods mass

• Mass of parallelogram rods m BC is also measured


with a scale. This mass includes rods, springs and
inherent parts of cable.

3) Derived parameters

The parallelogram rods are assumed to be a single thin bar.


The inertia of parallelogram rods is then computed with the Figure 7: The image shows a comparison between recorded torque
equation: feedback and torque computed using the identified parameters.
1
Θ BC = ⋅ M BC ⋅ L2BC
12 motor torque is directly related to the tool-tip force (and in
general torque) with the equation:
Measurement Θ ρV ρC l AB m AB g
AB
τ = J T (q ) ⋅ F tool (3)
1 0.1344732 0.3389793 3.8477142 2.0104706

2 0.1345419 0.3383904 3.8244827 2.0297676 Where J(q) is the robot Jacobian matrix and F tool is
the vector of tool-tip forces. The up-to-date servo motor drives
3 0.1345093 0.3334403 3.8569023 2.0208896
typically measure the current feedback of motor phases, from
4 0.1345672 0.3398903 3.7731432 2.0273873 which we obtain information about the motor current, i.e.
motor torques. The motor current is measured by a current
5 0.1345354 0.3346488 3.7522782 2.0209898
sensor built in the drive electronic regularly used for position-
6 0.1345903 0.3314771 3.7464159 2.0335845 velocity-current loop. Typically these sensors are of 12-14 bit
resolution. In the system used, the motion controller
7 0.1346014 0.3246576 3.7571930 2.0183868
(aico.control) controls the robot communicating to the drives
8 0.1346407 0.3281108 3.7361262 2.0274325 using SERCOS-II protocol with a 2ms cycle time. A
specifically configured SERCOS cyclic data telegram package
9 0.1345969 0.3239006 3.7094229 2.0246346 is transferred every 2ms from/to the drives. Other motion-bus
protocols are also available (SERCOS-III, CAN, EtherCat).
10 0.1346543 0.3223137 3.7282359 2.0401946 The protocol defines cyclic communication of transferring
Average 0.1345711 0.3315809 3.7731915 2.0253738
command and feedback data. In this example the system was
configured in such a way that the cyclic data transfer sends
Mean
0.13% 5.30% 3.91% 1.47%
command values of position, velocity and additive torque
variation (torque feed forward) and receives feedback values of position
and torque.
Figure 8 shows a graph of a feedback torque (blue) and a
calculated torque, as obtained by the dynamic model (red). The torque feedback value is obtained by directly
The values of the two torques are nearly identical. measuring the motor phases’ currents and its values can be
quite noisy. This can influence the force detection algorithm
and trigger false alarms indicating collision where actually
Our approach is based on information directly obtained from
there is none. From time to time there could be some TE peaks
the robot motor drive controllers, which means no additional
far above the impact TE threshold value (TEMAX). To reject
hardware. By measuring motor current of the robot joint we
these cases we implemented a simple alpha-beta filter directly
can calculate the contact force of the robot with an obstacle.
on TE values.

V. GETTING THE TORQUE FEEDBACK


Figure 10: The same impact case, position error, no significant increase
Figure 9: Position Errors during normal robot operation in range of of the PE is observed during impact
±0.14 deg

Figure 11: Impact case, the torque error values jump to -36Nm (80%
increase)
Figure 12: Torque errors during normal robot operation of the first three
robot joints in Nm. We see the values are in the range of ±20Nm

VI. CONCLUSION REFERENCES

The paper presents a novel method of detecting robot impacts [1] Real Robot-Human Impacts, Title: "Physical Interaction and Impact
with obstacles in its workspace. The presented method uses a Experiments", http://www.dlr.de/rm/en/desktopdefault.aspx/tabid-
computed-torque control algorithm. For that purpose a sub- 3984/6197_read-8956/.
task of identifying robot dynamic parameters has been [2] A Real-Time Robot Arm Collision Avoidance System, Cliford A.
Shaffer, Gregory M. Herb. IEEE Transactions on Robotics and
successfully implemented. The experiments show that robot Automation Vol 2 April 1992.
impacts with the environment cannot be detected using the [3] Performance Evaluation of Force/Torque feedback Control technologies.
position deviation only, because - as demonstrated - it is a Dieter Vischer, Oussama Khatib. RoManSy 8. 1990
weak indicator of an impact. Detecting torque deviation is a [4] Collision Detection Algorithms for Motion Planning. P. Jimenez F.
much better method of detecting impacts, as it is able to Thomas C. Torras, Robot Motion Planning and Control, Jean-Paul
Laumond (Editor).
distinguish between regular robot operation and a robot-to-
[5] Experiments in Adaptive Model-Based Force Control. Luis Whitcomb,
obstacle contact situation. Suguru Arimoto, Tomohide Naniwa, Fumio Ozaki 1999
[6] Aico.robot DR 1200/4S User’s guide and assembly instructions. Manz-
Automation 2010
[7] On Dynamic Models of Robot Force Control. Steven D. Eppinger, Ware
P. Seering MIT AI Lab July 1986

You might also like