An Online Real-Time Path Compensation System For Industrial Robots Based On Laser Tracker
An Online Real-Time Path Compensation System For Industrial Robots Based On Laser Tracker
on laser tracker
Abstract
Industrial robots have been widely used in many areas for the properties such as low cost, high flexibility and relatively large
working space. The low absolute accuracy and low stiffness, however, limit the application in high precision areas. This article
presents an approach for industrial robots that overcomes the inaccuracy of robotic path in offline programming. Robot Sensor
Interface of KUKA robot controller makes the error compensation available. First, the compensation performance of the KUKA
KR5 arc robot is investigated and the straight-line and circular arc path compensation strategies are proposed. Besides, an error
compensation algorithm is proposed to generate the compensation values as well as to deal with the oscillation of real-time
compensation. Finally, experimental results using a KUKA KR5 arc robot verify the correctness and accuracy of the approach.
Keywords
Industrial robots, robotic path, offline programming, real-time compensation
Creative Commons CC-BY: This article is distributed under the terms of the Creative Commons Attribution 3.0 License
(http://www.creativecommons.org/licenses/by/3.0/) which permits any use, reproduction and distribution of the work without
further permission provided the original work is attributed as specified on the SAGE and Open Access pages (https://us.sagepub.com/en-us/nam/
open-access-at-sage).
2 International Journal of Advanced Robotic Systems
SMR
Laser
tracter
Robot
8
>
> dx 2 xðtÞ þ dy 2 xA dx dy ðyA yðtÞÞ þ dz 2 xA dx dz ðzA zðtÞÞ
>
> x 0 ðtÞ ¼
>
> dx 2 þ dy 2 þ dz 2
>
>
< dy ðx0 ðtÞ xA Þ
y 0 ðtÞ ¼ þ yA (3)
>
> d x
>
>
>
> dz ðx 0 ðtÞ xA Þ
>
>
: z0 ðtÞ ¼ dx
þ zA
where, dx , dy and dz are the coordinate difference between where R is the radius of the circle. According to equations
two end points, namely (5) and (6), the coordinate values of the centre and the
8 radius of the circle can be described as
< dx ¼ xB xA
2 3 2 31 2 3
d ¼ yB yA (4) x0 A1 B1 C1 D1
: y 4 y 0 5 ¼ 4 A2 B 2 C2 5 4 D 2 5
dz ¼ z B z A (7)
z0 A3 B3 C3 D3
Circular arc path compensation strategy. In the circular arc qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
path tasks, the start point, middle point and end point at R ¼ ðx 1 x 0 Þ 2 þ ðy 1 y 0 Þ 2 þ ðz 1 z 0 Þ 2 (8)
the CIRC (it is the Circular arc path command of KUKA
robot) program are, respectively, C 1 ðx 1 ; y 1 ; z 1 Þ, where, A1 -D1 , A2 -D 2 and A 3 -D 3 are a series of parameters
C2 ðx 2 ; y 2 ; z 2 Þ and C3 ðx 3 ; y 3 ; z 3 Þ (see Figure 7). We can cal- as follows
culate the coordinate values of the centre of the circle, 8
namely C0 ðx 0 ; y 0 ; z 0 Þ. First, the centre point is in the plane, >
> A1 ¼ ðy 2 y 1 Þðz 3 z 1 Þ ðz 2 z 1 Þðy 3 y 1 Þ
>
> B1 ¼ ðz 2 z 1 Þðx 3 x 1 Þ ðx 2 x 1 Þðz 3 z 1 Þ
which is composed of C1 , C 2 and C3 ; hence, the property is >
>
>
> C1 ¼ ðx 2 x 1 Þðy 3 y 1 Þ ðy 2 y 1 Þðx 3 x 1 Þ
expressed as equation (5).Equation (6) describes the prop- >
>
>
>
erties of the circle. >
> D 1 ¼ A 1 x 1 B 1 y 1 C 1 z 1
>
>
>
> A 2 ¼ 2ðx 2 x 1 Þ
x0 x1 y0 y1 z0 z1 <
B2 ¼ 2ðy 2 y 1 Þ
x2 x1 y2 y1 z2 z1 ¼ 0 (9)
(5) >
> C2 ¼ 2ðz 2 z 1 Þ
x3 x1 y3 y1 z3 z1 >
> D2 ¼ x1 2 þ y1 2 þ z1 2 x2 2 y2 2 z2 2
>
>
>
> A3 ¼ 2ðx 3 x 1 Þ
8 >
>
>
>
< ðx 1 x 0 Þ 2 þ ðy 1 y 0 Þ 2 þ ðz 1 z 0 Þ 2 ¼ R 2 >
>
>
B3 ¼ 2ðy 3 y 1 Þ
ðx x 0 Þ 2 þ ðy 2 y 0 Þ 2 þ ðz 2 z 0 Þ 2 ¼ R 2 >
>
: C3 ¼ 2ðz23 z 12Þ
(6) >
: 2
ðx 3 x 0 Þ 2 þ ðy 3 y 0 Þ 2 þ ðz 3 z 0 Þ 2 ¼ R 2 D3 ¼ x1 þ y1 þ z1 2 x3 2 y3 2 z3 2
6 International Journal of Advanced Robotic Systems
The ðA 1 ; B1 ; C 1 Þ, here, is the normal vector of the plane. The equation of the circle is derived from the aforementioned
equations. As shown in Figure 7, in the circular arc path tasks, the actual position at each moment is described as PðtÞ, and
Pp ðtÞ is the projection of PðtÞ in the plane composed of C1 , C 2 and C3 . Pp ðtÞ can be calculated from the following equations
xp ðtÞ xðtÞ yp ðtÞ yðtÞ zp ðtÞ zðtÞ
¼ ¼ (10)
A1 B1 C1
As shown in Figure 7, in the circular arc path tasks, the intersection P0 ðtÞ of the straight line Pp ðtÞ-C0 and the planed
_
circular arc path C1 C2 C3 is assumed as the theoretical position at each moment, which is the closest position in the
theoretical path. The P 0 ðtÞ can be derived from the following equations
Hence, the theoretical position during the circular arc path tasks at each moment, namely P0 ðtÞ, can be described as
8
>
> R
>
> x0 ðtÞ ¼ x 0 + vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
!2 ! 2ffi
>
> u
>
> u y ð tÞ y z ð tÞ z
>
> t1 þ p 0
þ
p 0
>
> x p ð tÞ x0 x p ð tÞ x0
< qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
> ðx 0 ðtÞ x 0 Þðyp ðtÞ y0 Þ ðxp ðtÞ x 0 ðtÞÞ2 þ ðyp ðtÞ y0 ðtÞÞ2 þ ðzp ðtÞ z 0 ðtÞÞ2 < R (15)
>
> y0 ðtÞ ¼ þ y0
>
> xp ðtÞ x0
>
>
>
> ðx0 ðtÞ x0 Þðzp ðtÞ z 0 Þ
>
>
: z0 ðtÞ ¼
>
xp ðtÞ x 0
þ z0
As the robot deviation is usually less than the radius of planned circular arc path tasks, hence the condition in the
bracket, here, makes the P0 ðtÞ in a position, which is closer intersection to the PðtÞ.
Path real-time compensation algorithm. From the aforemen- where n, o and a are, respectively, the normal vector, the
tioned discussion, errors at each moment can be obtained direction vector and the approach vector, which represent the
during both straight-line and circular arc path tasks. rotation relation between the robot base coordinate system and
Assume that the homogeneous transformation matrix laser tracker coordinate system. The vector p shows the trans-
between the robot base coordinate system and laser tracker lation relation. The relationship can be expressed as follows
system is tb T , as shown in Figure 2, which converts the robot t
coordinates to laser tracker coordinates. Here, the transfor- bT P rob ¼ P tracker (17)
mation matrix is obtained according to the study of Liu where P rob and P tracker are, respectively, the position at the
et al.19 The transformation matrix tb T can be expressed as robot coordinate system and laser tracker system. There-
2 3 fore, the position at the laser tracker coordinate system can
nx ox ax px
6 ny oy ay py 7 be converted to robot base coordinate system through the
t 6 7
bT ¼ 4 n oz az pz 5
(16) following equation
z
0 0 0 1 P rob ¼tb T 1 P tracker (18)
Shi et al. 7
Hence, the errors at each moment during the path ongoing compensation. Thus, a proportion-integral-deriva-
tasks in the laser tracker coordinate system can be con- tive (PID) control algorithm is used to make the real-time
verted to the errors in the robot base coordinate system, compensation possible.
as follows First, the robot control algorithm structure (see Figure 8)
2 3 was proposed. Each moment in the process of continuous
Dx rob ðtÞ
trajectory tasks, the real-time measurement values of the
6 Dy ðtÞ 7
6 rob 7 t 1 laser tracker are compared with the theoretical coordinate
DP rob ðtÞ ¼ 6 7 ¼ T DP tracker ðtÞ
4 Dz rob ðtÞ 5 b values, and the compensation values are obtained by calcu-
0 lating. With the coordinate system transformation matrix,
2 3 (19) these values can be converted to the robot base coordinate
x 0 ðtÞ xðtÞ
6 y ðtÞ yðtÞ 7 system, which are sent to the KUKA robot every 12 ms.
6 0 7 The control algorithm is as follows
¼tb T 1 6 7
4 z 0 ðtÞ zðtÞ 5
0
eðtÞ ¼ DP rob ðtÞ (20)
where Dx rob ðtÞ, Dy rob ðtÞ and Dz rob ðtÞ are, respectively, the X
real-time errors in the path tasks in X, Y and Z directions uðtÞ ¼ KP eðtÞ þ KI eðtÞ þ KD ½eðtÞ eðt 1Þ
with respect to the robot base coordinate system.
(21)
Because the robot executes a number of continuous
tasks, it is necessary to compensate the errors in the process where KP , KI and KD are, respectively, the proportion,
of performing continuous trajectory tasks. However, due to integral and differential coefficient of the PID controller;
the hysteresis of error compensation, if real-time error com- eðtÞ is the path error in the robot coordinate system and uðtÞ
pensation values are sent to robot directly via RSI, it will is the output value of the PID controller, namely the feed-
make the robot work with oscillation. It is because that the back value to robot controller.
compensation values sent to robots will take about 500 ms Substituting equations (3) and (15) into equation (21),
to complete the compensation process, and the errors mea- the compensation value at each moment is obtained as
sured next will accumulate to the former unfinished follows
2 3 2 3
x 0 ðtÞ xðtÞ x 0 ðtÞ xðtÞ
6 7 X6 7
6 y ðtÞ
yðtÞ 7
t 1 6 0
6 y 0 ðtÞ yðtÞ 7
uðtÞ ¼ KP 7 t 1
þ KI bT 6 7
bT 6 z ðtÞ
zðtÞ 7
4 0 5
6 z ðtÞ zðtÞ 7
4 0 5
0 0
2 3 (22)
x 0 ðtÞ x 0 ðt 1Þ xðtÞ þ xðt 1Þ
6 7
6 y ðtÞ y 0 ðt 1Þ yðtÞ þ yðt 1Þ 7
t 1 6 0
¼ KD bT 6 7
7
4 z 0 ðtÞ z 0 ðt 1Þ zðtÞ þ zðt 1Þ 5
0
8 International Journal of Advanced Robotic Systems
Experiments
From what has been discussed earlier, the error compensa-
tion performance of the KUKA KR5 arc industrial robot is Figure 10. The set-up of experiment.
Shi et al. 9
Figure 15. Results of circular arc path real-time compensation without load.
the fields. Hence, the accuracy obtained in the system is Here, we draw a straight line whose start and end
better than offline calibration. points are the points robot actually executes and we
define the distance errors deviated from this line as the
straightness errors. As shown in Figure 13, without
Experiment of robot executing LIN command
compensation, the straightness error of the straight-
without load line path is relatively good. However, the maximum
When KUKA robot executes LIN commands, straight-line straightness error also reaches 0.206 mm at a length
paths are generated. The coordinate values of the robot TCP of about 210 mm.
in the robot program are executed according to the robot Besides, as shown in Figure 12, the maximum errors in
kinematic model, so there are errors between the actual path the X, Y and Z directions are 0.337 mm, 0.562 mm and
that the robot executes and the path we actually planned. In 0.404 mm, respectively, and the distance error is 0.758
this section, the KUKA robot executes a LIN command to mm. The error of Y direction is larger than other directions
perform straight-line path and to validate the accuracy of the in the planned path, and such low accuracy limit robots are
compensation method. The start and end points of the planned to be used widely in precise fields. During the compensa-
straight-line path in the external measuring coordinate system tion stage, the errors are extremely declined. After compen-
(laser tracker) are PA (2256.000, 122.000, 40.000) and sation, the maximum errors in the X, Y and Z directions are
PB (2444.000, 201.000, 90.000). The results are illustrated 0.042 mm, 0.061 mm and 0.087 mm and the distance error
in Figures 12 and 13. is less than 0.107 mm.
12 International Journal of Advanced Robotic Systems
Figure 16. Results of circular arc path real-time compensation with load.
In the study of Tao et al.,21 an online preprocessing robot. When robots are used to assemble parts, the weight
implementation to calibrate robots is proposed. The accuracy of different parts is acted on them. Therefore, robot load is
of the maximum position error is 0.974 mm. The accuracy in a very important factor in the use of robots. The following
our system is higher, whose maximum position error is 0.107 experiments are designed to verify the accuracy of this
mm during path tasks. Moreover, the approach here is system while executing path in the case of robot with load.
obtained in the robot path tasks; that is, the accuracy is The rated payload of KUKA KR5 arc robot is 5 kg. We
obtained in the continuous path process, rather than in the install 4 kg load at the end of the robot and the robot
discrete process. Such accuracy is more valuable in the perform LIN command path tasks. The results are shown
actual use of industrial robots. in Figure 14.
Without compensation, mainly due to the low stiffness
of the robot and the robot’s mechanical errors, the accuracy
Experiment of robot executing LIN command
of path tasks under load condition is relatively low. The
with load trend of errors is similar to the condition without load and
The aforementioned experiments are carried out under the there is a similar linear increase. The maximum errors in X,
condition of no load. Industrial robots, however, are often Y and Z directions, as shown in Figure 14, are 0.541 mm,
used as a carrier for other tools. For example, when we use 0.803 mm and 0.863 mm, respectively, and the distance
robots to process parts, the machining tool is installed at the error is 1.251 mm, which are much larger than the case
end of the robots. The machining force is acted on the of no load. After compensation, the accuracy of path is
Shi et al. 13
7. Denavit J. A kinematic notation for lower-pair mechanisms based 14. Zi B, Sun H, Zhu Z, et al. The dynamics and sliding mode
on matrices. Trans ASME. J Appl Mech 1955; 22: 215–221. control of multiple cooperative welding robot manipulators.
8. Abele E, Weigold M and RothenbÃijcher S. Modeling and Int J Adv Robot Syst 2012; 9: 53.
identification of an industrial robot for machining applica- 15. Zhao YM, Lin Y, Xi F, et al. Calibration-based iterative
tions. CIRP Ann Manuf Techn 2007; 56(1): 387–390. learning control for path tracking of industrial robots. IEEE
9. Zhang H, Wang J, Zhang G, et al. Machining with flexible Trans Ind Electron 2015; 62(5): 2921–2929.
manipulator: toward improving robotic machining perfor- 16. Wang C, Zhao Y, Chen Y, et al. Nonparametric statistical
mance. In: Lee KM (eds) Proceedings, 2005 IEEE/ASME learning control of robot manipulators for trajectory or con-
International Conference on Advanced Intelligent Mechatro- tour tracking. Robot Com-Int Manuf 2015; 35: 96–103.
nics, Monterey, CA, 24–28 July 2005, pp. 1127–1132. New 17. Qian S, Zi B, Zhang D, et al. Kinematics and error analysis of
York, NY: IEEE. cooperative cable parallel manipulators for multiple mobile
10. Guillo M and Dubourg L. Impact & improvement of tool cranes. Int J Mech Mater Design 2014; 10(4): 395–409.
deviation in friction stir welding: weld quality & real-time 18. KUKA Roboter GmbH, KUKA. RobotSensorInterface 2.3,
compensation on an industrial robot. Robot Com-Int Manuf Version: KST RSI 2.3 V1 en, user manual. Augsburg, Ger-
2016; 39: 22–31. many: KUKA Roboter GmbH, KUKA, 2009.
11. Chiba R, Arai T, Ueyama T, et al. Working environment 19. Liu B, Zhang F, Qu X, et al. A Rapid coordinate trans-
design for effective palletizing with a 6-DOF manipulator. formation method applied in industrial robot calibration
Int J Adv Robot Syst 2016; 13: 1–8. based on characteristic line coincidence. Sensors 2016;
12. Roebrock P. A flexible multi-sensor positioning system for 16(2): 239.
industrial robots. WSEAS Transactions on Electronics 2008; 20. Liu B, Zhang F and Qu X. A method for improving the pose
3: 93–100. accuracy of a robot manipulator based on multi-sensor com-
13. Roebrock P and BÃ}uhnke K. Offline path correction system bined measurement and data fusion. Sensors 2015; 15(4):
for industrial robots. In: Demiralp M and Mastorskis N (eds) 7933–7952.
Proceedings of the 9th WSEAS International Conference on 21. Tao PY, Mustafa SK, Yang G, et al. Robot work cell
Automatic Control, Modeling & Simulation, Stevens Point, calibration and error compensation. In: Nee AYC (ed)
WI, pp. 276–280. Athens, Greece: World Scientific and Engi- Handbook of Manufacturing Engineering and Technology.
neering Acad and Soc. London: Springer 2015, pp. 1995–2034.