Robotics & Computer-Integrated Manufacturing, Vol. 10, No. 4, pp. 287-299, 1993
0736-5845/93 $6.00 + 0.00 ~ 1993 Pergamon Press Ltd
Printed in Great Britain.
•
Paper ERROR-MODEL-BASED ROBOT CALIBRATION USING A MODIFIED CPC MODEL HANQI ZHUANG, LUKE K. WANG and ZvI S. ROTI-I Robotics Center and Department of Electrical Engineering, Florida Atlantic University, Boca Raton, FL 33431, U.S.A.
Selection of a proper robot kinematic model is a crucial step in error-model-bascd robot calibration. The Denavit-Hartenberg (DI-I) model exhibits singularities in calibration of robots having consecutive parallel joint axes. The complete and parametrically continuous (CPC) modeling technique is one of the more versatile alternative modeling conventions designated to fit the needs of manipulator calibration. No modeling convention is, however, perfect. One "nser-unfriendly" aspect of the CPC model is a condition handling technique needed, when constructing the error model, to avoid model singularities due to the adoption of the direction vectors of the joint axes as link parameters. This paper presents a modification to the CPC model which brings the model closer to the D H model. Rather than using the direction vectors of joint axes, the modified CPC (MCPC) model employs angular parameters to acommodate the required rotations for each link transformation. This modification results in a much simplified error model. The model, like the CPC model, is capable of completely describing the geometry and motion of the manipulator in a reference coordinate frame. Its error model possesses a minimum number of parameters to span the entire geometric error space and it can he made singularity-free by proper selection of the tool axis. This paper presents a calibration study of the PUMA robot using the MCPC model. A moving stereo camera system was employed for endeffector pose measurements. The MCPC error model was then used for kinematic identification. Results on the PUMA arm show that the MCPC performs well for robot calibration. The well-defined structure and user friendliness of the MCPC model may facilitate the implementation of robot calibration techniques on the factory floor.
1. I N T R O D U C T I O N Robot calibration is a necessary step in realizing a true off-line robot programming environment on a modern factory floor. Calibration is a process by which the accuracy of the manipulator is improved by modifying its control software. In an error-model-based kinematic calibration process, selection of a proper kinematic model is one of the keys to the success of the calibration task. 2'8 This paper presents a new kinematic model particularly designed for a convenient error-modelbased robot calibration. A kinematic model suitable for robot calibration is one which is complete and parametrically continuous. 2 A complete kinematic model is one that can completely describe the geometry and motion of any type of serial manipulators. It also allows the arbitrary placement of the world coordinates and assignment of the robot home position. In order to be complete the model has to possess the (minimum) required number of independent kinematic parameters. This number, for a serial manipulator having a low pair joints is 4R + 2P + 6, 2 where R and P are the number of revolute and prismatic joints, respectively. Parametric continuity implies no parameter jumps in the model. It means that any continuous change of position and orientation of any robot joint axis will result in continuous changes in the model link parameters.
The Denavit-Hartenberg 9 (DH) model is neither complete nor parametrically continuous. Parameter jumps always arise when two neigboring joint axes change from nominally parallel to actually almostparallel. The assignment of the world and tool frames is also restricted in the D H model. If the world and tool coordinates cannot be placed arbitrarily, their locations will vary due to the variations of the robot geometry. In order to solve these problems in the D H model, Hayati 4 introduced an additional rotation in the y-direction in the D H link transformation to describe a misalignment of two consecutive parallel axes. The model however requires two sets of link error parameters which makes the modeling task unnecessarily complex. Furthermore, Hayati's model does not cover the transformation from the last link to the tool coordinate frame which requires in general a separate treatment. The "zero-reference" model used by Mooring and Tang s avoids model singularity by not using common normals as link parameters. The S-model 1t added two extra parameters to the D H model to allow an arbitrary placement of the link frames. The S-model is thus complete but not parametrically continuous. Roberts 1° presents a new line representation consisting of four parameters which are the theoretical minimum. The shape matrix approach separates the joint variables from the other link parameters? The 287
288
Robotics &
Computer-Integrated Manufacturing
complete and parametrically continuous (CPC) model 15,~v has a similar structure to the shape matrix convention. For the internal link transformations it adopts Roberts' line representation. Two extra parameters are introduced in the last link transformation for the arbitrary assignment of tool frame. It was shown ~5 that the CPC model is complete and parametrically continuous. The error model in the CPC convention is also singularity-free. A condition handling technique however was used in the CPC error model to avoid singularities due to the adoption of two particular components of the direction vectors of joint axes as link parameters. This paper presents a modification to the C P C model. Rather than using the direction vectors of joint axes, it employs two angles to accommodate the required rotation for each internal link transformation. Furthermore, three angular and three linear parameters arc employed for the last link transformation. By this modification, the resulting error model can be derived in the same manner as that for the D H model, which is more user-friendly compared to the C P C error model. The penalty for this modification is that the error model may be singular if the tool axis is perpendicular to the last joint axis. This singularity can be avoided by either changing the z-axis of the tool frame or by introducing an intermediate link frame that is fixed in the tool frame and has a different orientation with respect to the tool frame. Following the choice of an appropriate kinematic model, the next calibration step is the selection of the measurement system. The measurement system for calibration purposes should provide both the position and the orientation of the robot's end-effector in the world coordinate frame. The success of the entire calibration operation depends critically on the precision of the pose measurements. A measurement technique, which uses a stereo hand-eye system with moving camera coordinates, is chosen for the kinematic calibration demonstrated in this paper. Generally speaking, high resolution and large field-of-view may be conflicting requirements. If a precision fixture provides global (coarse) measurements, and a stereo camera system provides local (accurate) measurements, then such a conflict can be resolved. It means that the robot can move to a wide range of configurations and still have a calibration which is as accurate as desired. Without using expensive or labor-intensive equipment, such as theodolites, laser tracking system, high-resolution optocamera systems etc., our mobile camera system provides low-cost, efficient and fully automated features which are suitable for academic research as well as industrial applications. A brief review of the CPC model is given in Section 2. Section 3 describes the construction procedure of the M C P C model. The M C P C error model is derived in Section 4. The mobile camera measurement system is discussed in Section 5. Experimental results using P U M A 560 robot are assessed and verified in Section 6. Concluding remarks are given in Section 7.
• Volume 10, N u m b e r 4, 1993
2. R E V I E W O F T H E C P C M O D E L The material in this section is adopted from Zhuang ~" and Zhuang et al. ~7 Let the 4 x 4 homogeneous transformation T, from the manipulator's world coordinate frame to its tool coordinate frame be T , , = B o B I B 2 . . . B,, 1B,.
(2.1)
where Bi=QiV i
i = 0 , 1. . . . .
n.
i2.2)
The world and tool frames are defined arbitrarily with the only exception that the z-axis of the tool frame must not be opposite the z-axis of the n - I th link frame. The transformation Q~ solely depends on the ith joint variable:
Qi
= [Rot(z, Oi) (Trans(0, 0, di)
/or a revolute j o i m , t~r a prismatic joint, (2.3)
with Q0 = I. In (2.2), v~ is independent of the joint variable. Ji transforms the i - lth link coordinate frame to the ilh link coordinate frames if the ith joint position is kept at zero. A plane, termed the B:plane, i = 1, 2 . . . . . n, is constructed to be perpendicular to the i + 1thjoint axis and to pass through the origin of the i - l t h link coordinate frame (Fig. 1). The i - 1 internal link coordinate frames {x i, Yi, zi}, i = 0 , 1. . . . n - 1 , are placed according to the following convention (for simplicity {x~, y~, zi} will be denoted as {i}): (1) The origin of {i} is at the intersection point of the B:plane with the i + lth joint axis. (2) z i is parallel to the i + lth joint axis. (3) xi is parallel to the projection of x i ~ on the B:plane. If the projection of x~_ ~ on the B:plane vanishes, then yg is taken to be parallel to the projection of y~_ ~ on the B:plane. Recall that, in the D H model, xl is defined along the common normal of the two joint axes. By removing the common normal from the model, the singularity due to possible large variations of the common normal is removed. V~ consists of a rotation transformation
Joint #i
Fig. 1, C P C modeling convention.
Error-model-based robot calibration • H. Z H U A N G
followed by a translation transformation. Let z~_ 1 = [ 0 0 1 ] r and z i = [ z i , x zs.y z~,x]' be, respectively, the coordinate of the ith and i + lth joint axes in {i-1}. {i-1} can be brought to be parallel to {i} by the following rotation: R i = Rot(ks, ~ti)
(2.4)
0ts= arcos(zs_ 1 "zi)
(2.5)
where
is the familiar twist angle and -
=
zi-lxz
i
__ Zi,y
(2.6)
_
ks Ilzs-l×z,H
z,.x
m
1 R i
- - Zi'xZi'Y
l+zs, z
l+zs, z
- zi'xzs'Y 1 + zi. z
1
Zs, x
0
gi,y
0
g.z
"Y 1 + zi, z
--Zi, x
--Zs,y
Zi, z
0
0
0
0
1
(2.7)
R~ is always nonsingular since by definition zs,z >0. Since the origin of {i} is defined on the Bcplane, l~,z= 0 for i = 0 , 1. . . . . n - 1 . The origin of {i-1} can be brought to be coincident with that of {i} through translations along the x- and y-axes of {i}, that is, the transformation Trans(/~,~, l~.y,0). For a prismatic joint, Is,~ and l~,y are set to zero. This is similar to the construction of the DH model, in which prismatic joint offset distance and link length are set to zero. The link transformation B sfor a revolutejoint is then given by B s = OiRi
Trans(ls, =, Is,y, 0)
(1) If z~ is parallel to x~_ 1, then let Ys have the same direction as Ys-1. same direction as xs-1.
where I1"II denotes the Euclidian norm and " x " stands for cross product. R/is undefined from (2.6) whenever z s = z ~ - 1 . It can, however, be defined without an explicit reference to zs- 1 x z~. Substitution of (2.5) and (2.6) into the general rotation matrix formula of (2.4) yields 9,1° z,x
fl~ and Is,z, i = 0 , 1. . . . . n - 1 , are redundant link parameters. The CPC model is complete as it has 4R + 2 P + 6 independent link parameters. The model is never singular for any orientation of two consecutive joint axes since the matrices R~ are well defined by restricting the z-axis to the upper half space. The assignment of link frames and link parameters for a "simple" robot (i.e. in which each two consecutive joint axes are either perpendicular or parallel one to another) can, like in the DH model, be done by inspection using the following convenient assignment rules:
(2) If z~ is perpendicular to x~_ 1, then let x~ have the
0
z.2
289
et al.
i = 0 , 1,2 . . . . , n - 1 . (2.8)
3. THE M O D I F I E D CPC (MCPC) KINEMATIC MODEL As in the CPC model, the MCPC model uses four parameters to represent the internal link transformation of a robot. It too separates joint variables from link parameters. The difference is that the MCPC model employs two angular parameters to model the rotation part of each link transformation. The procedure for the assignment of the MCPC internal link parameters is as follows (Fig. 2): (1) Construct a plane (B~) perpendicular to the zcaxis passing through the origin of { i - 1}. (2) Rotate an angle ~q about x~_ 1 axis until the y-axis of the moving frame lies on the Bcplane. This y-axis is now parallel to the ycaxis. (3) Rotate an angle fis about the resulting y-axis until the x-axis of the moving frame lies on the Brplane. This x-axis is now parallel to the xcaxis. The resulting z-axis is also parallel to the zraxis. (4) Translate along the x r and ycaxes by x~ and Ys, respectively. The moving frame is now coincident with {i}.
joint # i Z
i-I
Y
• °
For a prismatic joint B~ = Q~R s
i = 0, 1, 2 . . . . , n - 1.
(2.9)
Finally, B n = Q . R n Rot(z, fln)Trans(l..x, l.,r, l.,z). (2.10)
The additional parameter l.a allows an arbitrary placement of the tool frame origin, and the parameter fl~ allows an arbitrary orientation of the tool frame's x-axis. If the nth joint is prismatic, we set l.,x = l.,y = 0. In some applications, it may be convenient to let the structure of B~ be the same as that of B.. In such cases,
Fig. 2. MCPC modeling convention.
.
.
.
290
Robotics & C o m p u t e r - i n t e g r a t e d M a n u f a c t u r i n g • V o l u m e 10, N u m b e r 4, 1993
where v = [ v x, Vy, v:] r. Let d T be the additive differential transformation of T: dT= T
"/'"
(4.2)
where 1,,o is a transformation which is a function of nominal kinematic parameters and 7' is a function ~f actual kinematic parameters. Then. to a tirsl-order approximation. d T = T ° (5 T
14,3 )
where a T has the following structure: 0
- ~5
Robot Calibration Fixture
L o
('i_
~5,
d ~_
,S
0
d. /
o
o
~)
J (4.4)
Fig. 3. Schematics of m e a s u r e m e n t system.
In s u m m a r y , the ith link t r a n s f o r m a t i o n in the M C P C convention is Bi = Q~ Rot(x, ~i)Rot(y, fli)Trans(xi, Yi, O) i=0,1,2 .....
n-1.
(3.1)
Similar to the C P C model, two additional link p a r a m e t e r s are used in the nth transformation to allow an arbitrary assignment of the tool frame, that is, B , = Q, Rot(x, ~,)Rot(y, ft,)Rot(z, 7,) Trans(x,,, y,, z,).
(3.2)
For convenience, we sometimes denote (x~, y~, 0) by I~ and (x,, y,, z,) by I,,. 4. T H E L I N E A R I Z E D
d and 6 are the translational and rotational errors, respectively. ~(6) is a skew-symmetric matrix representation of the vector [6~, (Sy, 6~] r In the following derivations all the coefficients correspond to T °. However, for simplicity of notation. the subscript "'0" m a y be omitted. Theorem 1: Let 6~ and d~ be, respectively, the orientation and position errors of the ith link. Let A ~ , Afii, Ax i and Ay i be the corresponding p a r a m e t e r errors. The differential relationship between orientation and position errors and kinematic errors in each internal link can be written as 6 i = k~. i A~i + k/ji Afli d i = k~,,i × Ii z~o~i + k/~,i x Ii Afii + kx. i Ax i
MCPC ERROR MODEL
Since the M C P C model can be used to model link frames for both parallel or perpendicular consecutive joint axes, there is no need to develop separate error models for these two cases. This is one of the advantages in using the M C P C model convention over H a y a t r s convention. The linearized M C P C error model can be derived using either the differential transformation method 9 or the geometric method. 13 The differential transformation method has been adopted for the derivation of the M C P C error model. The derivation procedure is c o m p o s e d of two steps. First, the differential relationships between Cartesian errors and link p a r a m e t e r errors in each link are derived. The M C P C error model is then obtained by substituting the above results into a generic form of a robot kinematic error model. ~4"~'
4A. Individual link errors For c o m p a c t notation define
i4.5a)
+k>,,i AJi
i:0,
1,2 . . . . .
n - I 14.5b)
where
k~.i=Rotrly, fli)[l 0 0] 7`
(4.6a)
kt~,i= [0 l 0] 7`
(4.6b)
k~.i= [1 0 0 ] "/
(4.6c)
kr, i = [0 1 0] 1-
(4.6d)
li = [Xi Yi O] r
(4.6e)
Proof: Let e 1 = [ 1 0 O] r, % = [ 0
1 0] 1' and
Then ~ ( 6 i ) = R r d R i = (Rot(y, ill)tRot(x, ~i1 r)
~9(v) =
v: --
Vv
0 /' x
- vx 0
(4.1)
d Rot(x, :q) Rot(v, fli) A~i d~ i
Error-model-based robot calibration, H. ZHUANGet al.
291
Fig. 4. Measurement system set-up.
Table 1. Nominal MCPC link parameters for the PUMA 560
Link 0 1 2 3 4 5 6
xi
cq
Yl
fl
z6
3'6
(mm)
(deg)
(mm)
(deg)
(mm)
(deg)
-100 0 431.8 -20.32 0 0 0
90 -9O 0 90 -90 90 0
-1000 -700 0 149.09 -433.07 0 0
180 0 0 0 0 0 0
56.25
0
Table 2. Identified MCPC link parameter errors (number of measurements =5)
Link 0 1
2 3 4 5 6
x~ (mm) -0.630751 -56.535917 -8.389424 23.560632 39.378422 17.388759 32.497044
cti (rad) -0.004091 -0.018899 -0.002388 0.005827 -0.007458 0.007776 0.009703
Yl (mm) 14.056427 30.388187 22.966066 27.272145 -49.737790 -78.855775 8.764103
/~i (rad)
z6 (ram)
3'6 (rad)
0.004552 0.013260 0.007881 0.016248 -0.017483 -0.028425 0.002926
-29.804102
-0.011282
Table 3. Identified MCPC link parameter errors (number of measurements = 10) Link 0 1
2 3 4 5 6
x~ (mm) 0.198679 -0.261803 -0.001548 -0.296553 0.219169 0.065120 0.010063
~i (rad)
Yi (mm)
~ (rad)
z6 (mm)
Y6 (rad)
-0.000415 0.000221 0~00176 -0.000618 0.000284 0.000179 -0.001186
0.545772 -0.126301 -0.137570 -0.544907 -0.363196 -0.023882 -0.355695
0.000037 -0.000146 -0.000721 0.001611 -0.000147 -0.000497 -0.000378
-0.111737
-0.000239
292
Robotics & C o m p u t e r - I n t e g r a t e d M a n u f a c t u r i n g • V o l u m e 10, N u m b e r 4, 1993 Table 4. Identified M C P C link p a r a m e t e r errors ( n u m b e r of m e a s u r e m e n t s = 15)
Link
Xl (mm)
O~i (rad)
Yl (mm)
~i (rad)
z6 (ram)
)'6 (rad)
0 1 2 3 4 5 6
-0.078111 - 0.064715 -0.015140 -0.063235 0.043753 - 0.007400 -0.213789
-0.000048 - 0.000577 -0.000068 -0.000222 0.000400 0.000709 -0.000305
0.010687 0.089685 -0.077901 -0.820296 -0.223577 0.017492 -0.144791
0.000179 - 0.000164 -0.000325 0.000890 -0.000120 - 0.000297 -0.000090
- 0.046148
0.000086
\
2.5
+
\
MEAN
\
\
*
A
E E
2
STD
--.,+ \
tw
\
oor" n" L~J
\
1 ,5
\
\
! \.
Z 0
i
\
E (.,'3 o
\
1
(3..
J
\
L
0.5
~x-
0
6
i
i
i
i
i
i
i
i
7
8
9
10
11
12
13
14
+
MEAN
15
# OF MEASUREMENT Fig. 5. Position errors for s i m u l a t i o n study.
x 10 3 -3.5 ~
+ - - - - - k h
3"
\ A
-'--
*
2.5
STD
rv-
o
2
r~ t~
W z
_o
1.5:
0rY
1
0.5
6
7
8
I
I
i
I
I
i
9
10
11
12
13
14
# OF MEASUREMENT Fig. 6. O r i e n t a t i o n errors for s i m u l a t i o n study.
15
293
Error-model-based robot calibration • H. ZHUANGet al. 0.4-8 0.4-5 .4 t
0.44X W
/
0.4-2
/
Z / /
0.4
/ /
hq
0.38
/ /
o
/
0.36
/
/
/ /
0.34
/
0,32 6
I
I
I
I
I
I
I
I
7
8
9
10
11
12
13
14
OF MEASUREMENT
Fig. 7. Observability index for simulation study.
Table
5. Nominal MCPC zeroth and sixth link parameters
Link
x~ (mm)
cq (deg)
Yi (mm)
fli (deg)
z6 (mm)
~6 (deg)
0 6
- 150 0
90 0
-960 0
180 0
300
100
ing parameter errors. Then the differential relationship in the last link is 6. = k~,. As. + k#,. Aft. + ky,. A?.
(4.10a)
d. = ka, n × I. As. + k#,. x I. Aft. + kr,. x !. A?. + Al.
(4.10b)
where + Rot(x, gl) d Rot(y, fit) Afi~ dfl~ J
k.,.=Rotr(z, ?.)Rotr(y, ft.) [1 0 0] r (4.11a)
= {Rot(y, ill)TO(el)ROt(y, fl,)} As,
k#,.=Rotr(z, y.) [0 1 0] r
(4.11b)
k~,,= [0 0 1] r
(4.1 lc)
+ [~(e2) Aft i
(4.8)
and
l.=[x.y.z.] r
d~= R r dp~ = R r d(Rot(x, gi)Rot(y, fli)li)
(4.11d)
Proof: Similar to the proof of theorem 1.
= Rir {[d R°t(x' ~q)
fli)li] Aai
Equations (4.5) and (4.10) are the differential relationship between Cartesian errors and link parameter errors in each link. If the error link parameters of the tool are arranged in the order [Aa., Aft., Ax., Ay., A?., Az.] r, then the substitution of (4.11) into (4.10) yields
+ [ R o t ( x , cq) d R°t(y'dflifl') Ii] Aft,
+ [Rot(x, ~q)Rot(y, fli)] Alit
[::1 =
= {Rot(y, fli)rf~(el)Rot(y, fli)li} Acti + {~(e2)li} Afli + f2(e~) Ax~ + ~(e2) Ay~
(4.9)
where extensive use has been made of the property that £~(~i 2) = R rf~(5 ~) R implies 6 2 = R r5 x, if R is a rotation matrix. Equations (4.5) and (4.6) follow in a straightforward manner. Theorem 1A: Let 6. and d. be, respectively the position and orientation errors in the last link, and also let Act., Aft., Ay., Axr, Ay. and Az. be the correspond-
- C#S~.z.-S#.y.
C~z.
sBx.-c~c~.z.
-S~z.
c,c~.y.+ cp°s,°~, s ~ . y . - c ~ .
1 0 -3,. 0-
- A~.-
o 1
~.
o
A#,
0 0
0
1
Ax.
C#.C~.
S~.
0 0
0
0
Ay.
-c~s,.
c,.
o o
o
o
AT.
s~.
o
oo
1
o
.
Azn_
(4.12) where Ca, = cos(//.) and St. = sin(7.). Note that the first and fifth columns will be dependent whenever the rotation angle ft.= +90 °. This singularity can be
294
Robotics & Computer-lntegrated Manufacturing • Volume 10, Number 4, t99~ Table 6. Identified base and tool parameters {number of measurements - 5 i
Link
•'i (mm)
7, (rad)
0 6
-43.007704 -41.321240
-0.001890 -0.131619
'4 Imml 78.711593 46.480359
fi, !radl 0.004517 11.180228
:6 [mm)
63.298552
7. {radl
1.298447
Table 7. Identified base and tool parameters {number of m e a s u r e m e n t s - 11t1
Link
xi (mm)
~ {radt
vz {mm)
0 6
- 36.369590 27.119822
0.047252 --0.132970
45.766876 -39.903490
/1~ Irad)
0.006916 0.137121
z6 {mm)
7, Irad )
-24.696246
1.301344
Table 8. Identified base and tool parameter {number of m e a s u r e m e n t s - 15 }
Link
Xi (mm t
7i {rad I
Yi {mm)
[']i {radi
-6 {mm I
76 trad I
0 6
44.216896 -25.466091
-0.055913 0.134451
45.469827 - 33.866230
- 0.010577 1/.120207
.... 26.558253
1.30744t
Table 9. Identified MCPC link parameter errors (number of m e a s u r e m e n t s - 5 i
Link
xi (mm }
7i [rad }
Yi Imm I
fli Irad t
:~, (mm)
;'6 (rad }
0 1 2 3 4 5 6
50.680111 15.526660 6.937112 8.896092 8.848725 - 11.815505 - 1.911377
0.003825 0.006734 -0.005094 -0.003031 0.007583 -0.003974 0.053592
78.142564 0.605606 -4.894057 6.458473 - 13.184488 8.950398 3.295208
1/.018984 - 0.066611 -0.002068 0.010011 0.026955 -0.075350 (/.082784
73.742776
//.026889
Table 10. Identified MCPC link parameter errors (number of m e a s u r e m e n t s - 10)
Link
x~ (mm)
:q (tad)
v~ Imml
[.~ Irad}
z6 (mm)
;'~ (rad)
0 1 2 3 4 5 6
32.320293 0.119378 0.466906 -0.761862 -0.351650 1.341826 ~-10.459876
0.039763 -0.000673 0.000194 0.004693 0.001372 0.001177 0.053185
-42.394995 1.442590 0.244721 -0.634956 2.250715 0.269071 -0.854582
0.000511 -0.066600 --0.000124 0.010268 0.023378 0.078623 0,044799
29.559546
0.008092
[~i (rad)
:,, {mm)
7,, Irad)
0.004098 -0.065828 0.000460 0.010392 -0.023318 0.078147 0.027106
31.246730
0.002335
Table ! 1. Identified MCPC link parameter errors tnumber of measurements= 15)
Link
xi tmml
:q (rad)
0 1 2 3 4 5 6
40.260292 -0.154299 0.488876 1.116960 0.076503 0.929132 - 12.263172
0.048515 -0.000715 -0.000027 0.004340 0.001741 --0.001362 0.054457
Y~ Imm)
41.885082 1.745687 1/.093721 --0.297157 2.043655 0.603039 6.760906
295
Error-model-based robot calibration • H. ZHUANG et al. 215 - -
~
- -
- rx 1
24
+
M EAN
*
S'TD
\
\
22
\
_.------'------'--------'------'------'------
%
20 E 18 (3C
o tY
16
5 Z
o E trl o o.
14 12
\
\ 10
\
15 6
6
i
i
i
i
i
i
i
8
9
10
11
12
13
14
OF MEASUREMENT
Fig. 8. Position errors if only base and tool frames are calibrated in experimental study.
0.028
,
,
,
,
,
.
0.026
,
+
MEAN
,
0.024 0.022 v ,*,..
o t.Y rv,' Ld
0.02 0.018
z o 0.016
o
0.014 0.012
"*X ....
0.01 0.008, 6
i
i
i
i
i
i
i
8
9
10
11
12
13
14
OF MEASUREMENT
Fig. 9. Orientation errors if only base and tool frames are calibrated in experimental study.
fi = R= Ac(+ R 0 A# + kr,. AT.
avoided if the z-axis of the tool frame is not chosen to be perpendicular to the last link of the manipulator.
a = T, A~ + To A# + Tx Ax + T,
4B. The linearized MCPC
error model
=
[0 ,] RiPi
=BiBi+ 1 ...
Ay
+ kr,. x I. A?. + k=,n Az.
(4.14b)
A ~ = [Acto A~X1 . . . Ao~.] T
(4.15a)
A # = [A#o A#l . . . A#,] T
(4.15b)
A x = [ A x o Ax 1 . . . Ax,] r
(4.15c)
Ay=[Ay o Ayi
(4.15d)
where
Define oiaipi
(4.14a)
(4.13)
By definition, U, + ~ = I. Theorem 2: Let 6 and d be, respectively, the position and orientation error vectors of the robot end-effector. Then the linearized M C P C error model can be written as follows:
. . . Ay,] r
and R=, R 0, T=, T0, T x and Tr are all 3 x (n + 1) matrices whose components are functions of joint variables and
Robotics & Computer-Integrated Manufacturing • Volume I0, Number
296
4, 1993
3,5
+
3
3
STD
*
2.5
A
MEAN
E
L
t'Y t
z
1.5
0 0
i
\1 0.5 . . . . .
~
. . . .
~. . . . . . . .
:~
-_
i
i
i
~
i
i
i
i
7
8
9
10
11
12
13
14
15
# OF MEASUREMENT Fig. 10. Position errors after the complete robot is calibrated. xl0
~
5
4.5~
MEAN , STD +
4 3.5 3
0
r/ W
2.5
Z (:3
2
\ \
Z
W
o
1.5
4,
\
1
"I,-. \ --
0.5 0 6
_).~
i
i
i
i
i
i
l
l
7
8
9
10
11
12
13
14
#
OF MEASUREMENT
Fig. 11. Orientation errors after the complete robot is calibrated,
link parameters. More specifically, the ith column of each such matrix is as follows:
Vni+ i [R,]i=
"
F((Pi+ 1 -Jr-ii) × hi+ 1 )' k~,i 1
[T~]~=
k~.i
lO,+1"k~,i ni+ 1 "kfl,i
[Tj]i=[ni+l,joi+ldai+lj]
]
(4.19)
((PI+ 1 -Fit) X ai+ 1)" ka,i
T
(4.20) (4.21)
wherejeIx, y} and both k~, i and ka. i are defined in (4.6). kz, . is the z-component of each unit direction vector in
-((PI+ 1 +l/) x ni+ 1)" k~,i -1 ((Pi+ 1 + l i ) X Oi+ 1)" k~,i
kz, = In.. = o., z a.,=] T
(4.17)
[R~li = /o~+ 1 .k,,/ 1 Lai + 1 "k,6',i
[L]i=
k~,i J
L((pi+I + l l ) x ai+ 1)kt~j
(4.16)
Lai + a "k~,,i
I
/((pi+l+ll)xo;+l) 1
J
R n•
(4.18)
Proof: The starting point is the following well-known generic link-by-link error model: 14'15
297
Error-model-based robot calibration • H. ZHUAraGet al. 0.19
i
i
i
i
i
i
0.18 0.17 ,J
I
0.16 x uJ o
/ / ,/
0.15
Z
/ /
0.14
J
..b
0.13 t/I (:D 0
f
I 1 If
0.12
/ /
0.11
/
/ / /
0.1 0,09 6
i
i
t
7
8
9
i
I
I
t
I
10
11
12
13
14
15
// OF MEASUREMENT Fig. 12. Observabilityindex for the complete calibration of the robot. 6 = ~ RT+I 6i+ x
yj=
(4.22)
J~p
j = 1, 2 . . . . .
(4.28)
m
where m is the number of measurements. In a compact form,
i=0
and
y=Jp
n
d= ~
(4.23)
R r t [ l ( 6 , ) p , + x + Rr+ x d i.
(4.29)
where
i=0
By substituting (4.5) and (4.10) into (4.22) and (4.23), one obtains n--1
6 = E R/T+x{k.,, A~i + k~,i Aft,} + k.,. Aoe. i=O
+ k~. Aft. + k~,. Ay.
(4.24)
y=
Eyl [i1 Y2
, and J =
J2
.
(4.30)
p can then be iteratively solved by a least-squares method.
.--X
d = ~ {(Pi+I x R i + l ) r ( k , . i A~i+k~,i Afli ) i=O
5. M O B I L E C A M E R A M E A S U R E M E N T S Y S T E M 19
+ R/r+ x((k~,i x !i) A~ti+ (kp, i x !i) Afti "F kx, i
A X i dr- ky,i
Ay/)} + k.,. x !. A0t.
+ k~,. x l. Aft. + k~,. x I. AT. + Ai..
(4.25)
By a simple algebraic rearrangement, (4.24) and (4.25) can be brought into (4.14)-(4.21). Theorem 2 can be applied for the construction of the identification Jaeobian J which relates the differential errors of the end-effector with the parameter errors of each link. Let yj and p be the pose errors of end-effector and the independent link parameter errors, respectively. That is, y / = [~.']
(4.26)
P = ['Aa r Aft r Ax r Ay r AT. Az.] r
(4.27)
and
where d j and 6j are, respectively, tbejth measurement of d and 6. Hence Jj can be defined as
The calibration system consists of a pair of CCD cameras rigidly mounted on the robot's end-effector, a camera calibration board, a robot calibration fixture and a PC-based image processing system. In the proofof-concept experiment, the robot calibration fixture has been replaced by a Mitutoyo CX-D2 coordinate measuring machine (CMM). The C M M has an accuracy of approximately 0.1 mm and a work volume of 400 x 500 x 800 mm 3. Each camera has a resolution of 512 x 480 pixels in the image frame. Readers are referred to Fig. 3 for the schematics of the measurement system. Each CCD camera has 512H by 480V picture e l e m e n t s with a 8.8 x 6 . 6 m m 2 sensing area. The camera calibration board is a glass plate painted with vapor deposited metallic chromium. It has 10 x 10 dot array circular points with center-to-center distance of 10 ram. The diameter of each dot is 2 ram. The flatness of the calibration board is within_+ 0.003 mm and the center-to-center accuracy of the calibration points is
298
Robotics & Computer-Integrated Manufacturing • Volume 10, Number 4, 19~)~
within + 0 . 0 0 2 r a m . Figure4 shows the actual measurement system set-up. The C M M coordinate frame or more generally the robot calibration fixture defies the world frame { W I. The stereo cameras are pre-calibrated using the camera calibration board so that the 3D coordinates of any object point seen by the stereo camera can be computed with respect to the camera coordinate frame {C} defined by the calibration board. Since ~C I is fixed with respect to the tool frame IT I of the robot, it moves with the robot hand from one measurement configuration to another. In the robot calibration fixture, dot patterns are uniformly distributed. Each three-noncollinear dot pattern defines a local coordinate frame ~Ei~j; its pose is assumed known in the world coordinate frame. The dot pattern is designed in such a way that by observing the dot pattern in the image plane, the pose of {Ei} can be estimated with respect to iCj ¢ in each robot pose measurement. Thereafter the pose of [C~- becomes known in [W I . For a sufficient number of measurement configurations, the homogeneous transformation from {W I to ~tC] can be identified using a least-squares technique. Since the robot calibration fixture (or the C M M ) in this case provides global measurement information and the stereo cameras provide local measurements, the conflict between high resolution and large field-of-view is resolved, and the measurable workspace of the robot is hence enlarged. 6. S I M U L A T I O N A N D E X P E R I M E N T A L R E S U L T S U S I N G THE M C P C E R R O R M O D E L To test the validity and performance of kinematic identification using the M C P C model, a simulation study on the P U M A 560 manipulator was conducted. Experimental calibration of a real P U M A manipulator was also performed. Identification and verification results for both cases are presented in the next two sections. An observability index 7 was used to test the goodness of the selected robot measurement configurations. Let ~ , i = 1. . . . . m, be the singular values of J. An observability index can then be defined as follows: O ( j ) = ( a l a 2 . . . am)l,'mq O.S
(4.31)
where q is the number of rows in J. A test based on the condition number of J was reported. 6 6A. Simulation results At the first stage of the robot calibration process, an average of 4 x 4 array dot points in calibration board were taken to perform camera calibration. An average of 10 dot points in the image plane were recorded to compute end-effector pose at each measurement position. For the purpose of checking the sensitivity of the identification algorithms, uniformly distributed rand o m noise processes were introduced to both position and orientation measurements. The range for orientation noise was taken to be U [ - 0 . 0 0 1 , 0.001]~ d and for position noise U [ - 0 . 1 , 0.1Ira m. A total number of 25 measurements was taken within the P U M A work-
space, out of which 15 were chosen to identify the model, and the remaining 10 measurements were used for accuracy verfication. The nominal parameters of the M C P C model are listed m Table I. The identilied M C P C model parameters using differenl number of measurements are illustrated in Tables 2 4. fact" resull was obtained after three iterations. Figure 5 illustrates the mean and standard deviation of the endeffector position errors. Figure 6 shows the statistics of the orientation errors. Figure 7 gives the plol ~'i observability index vs the number of measurements The following observations can be made by analv~ing the simulation results: (1) The identified M C P C error parameters are small if 10 or more measurements are used for identification, even if there exists measurement noise. (2) Since there are 30 geometric parameters m the P U M A model, it seems that 10 measurements ol equivalently 60 equations are required for a robust identification of these parameters. Both the obscrvability index given in F i g 7 and the verification results given in Figs 5 and 6 confirm this observation. 6B. E'¢perimental results Experiments using the P U M A 560 robot were also carried out to study the performance of the M C P C model presented in the previous sections. A measurement technique using the mobile camera coordinate system, discussed in Section 5, was employed to perform the measurement task. During the first stage of the calibration process, an average of 16 dots m the calibration board were taken to accomplish the camera calibration. A simplified radial alignment constraint ~s based method was adopted among available camera calibration techniques 3~z to achieve stereo camera calibration. An average of 10 dots in the image plane were recorded to obtain the pose ofend-effector at each measurement position. Both positions and orientations of the end-effector were obtained. The nominal M C P C model parameters for the P U M A robot in the experimental study are the same as those listed in Table l, except for the specifications of the base and tool transformations (see Table 5). Tables 5 8 list the calibration results of the linearized base and tool error models. Tables 9 11 show identification results of the M C P C error model after five iterations. Figures 8 and 9 show the verification results if only the base and tool frames are calibrated. Figures 10-12 demonstrate the actual complete P U M A calibration results. As can be judged by looking at the verification results, the way to suppress the effect of measurement is to increase the number of measurements to a certain degree. For a six degree-of-freedom P U M A robot, a minimum of five measurements are required tot kinematic calibration. By checking both the verification results and the identified M C P C model link parameters, it is evident that five measurements are far from sufficient to accomplish the identification task.
Error-model-based robot calibration • H, ZHUANGet al. In addition to the comments given in the simulation section, the following remarks are due: (1) The nominal parameters in Table 5 were established using "rough" position measurements. Therefore the corrections to the nominal link parameters are very substantial, compared to those in the Tables 2-4. (2) The experimental study confirmed that, due to measurement uncertainties of the camera system and the C M M , at least 10 measurements have to be taken for the calibration of the whole manipulator. On the other hand, using more than 10 measurments did not improve the calibration accuracy much. (3) Since the pose measurements of P U M A robot were not uniformly distributed in the entire robot workspace due to the limitation of the work volume of the C M M , the actual P U M A calibration has a lower observability index in comparison with that of the simulation case. Therefore the measurements used for robot calibration were not as "persistently exciting ''5 as the simulated measurements. In fact, the orientation of the P U M A arm did not change much when the arm was kept in either its left-arm configuration or right-arm configuration, due to the restriction imposed by the C M M and stereo cameras. It is conjectured that if the C M M is replaced by a precision cubic fixture, the measurable orientational workspace of the P U M A arm can be greatly extended.
7. C O N C L U S I O N S The M C P C model presented in this paper is similar to the C P C model in the following aspects. First, it separates robot joint variables from link parameters. Second, it employs minimum number of the parameters for a complete description of the robot g e o metry and motion. Third, the only singularity for the error model in the tool transformation can be removed by avoiding the tool axis being perpendicular to the last joint axis. Last, it allows a unified representation of the error model for both parallel and perpendicular robot joint axes. The advantage of the M C P C model over the C P C model is that, by adopting angular parameters for rotation transformations, the M C P C error model is easier to derive and easier to implement on a computer. A disadvantage of the M C P C model comparing with the C P C model is that there is a singular point in the tool error model. This singular point can be avoided by introducing a "dummy transformation". Simulation and experimental results have indicated that the M C P C model works well for robot calibration. The well-defined structure and user friendliness of the M C P C model may facilitate the implementation of robot calibration techniques on the factory floor.
299
REFERENCES 1. Broderick, P. L. and Cipra, R. J.: A method for determining and correcting robot position and orientation errors due to manufacturing. J. Mech. Transm. Automn Design 110: 3-10, 1988. 2. Everett, L. J., Driels, M., Mooring, B. W.: Kinematic modeling for robot calibration. In Proceedings oflEEE International Conference on Robotics and Automation. 1987, pp. 183-189. 3. Faugeras, O. D., Toscani, G.: Camera calibration for 3-D computer vision. In Proceedings of International Workshop Industrial Applications of Machine Vision and Machine, Tokyo, Japan. 1987, pp. 240-247. 4. Hayati, S.: Robot arm geometric parameter estimation. In 22nd IEEE International Conference on Decision Control. 1983, pp. 1477-1483. 5. Hollerbach, J. M.: A survey of kinematic calibration. In Robotics Review, Khatib, O., Craig, J. J. Lozano-Perez, T. (Eds). Cambridge, MA, MIT Press. 1989, pp. 207-241. 6. Khalil, W., Gautier, M.: Enguehard, Ch.: Identifiable parameters and optimum configuration for robots calibration. Robotica 9: 63-70, 1991. 7. Menq, C. H., Borm, J. H.; Estimation and observability measure of parameter errors in a robot kinematic model. In Proceedings of U.S.A.-Japan Symposium on Flexible Automation, Minneapolis, MN. 1988, pp. 65-70. 8. Mooring, B. W., Tang, G. R.: An improved method for identifying the kinematic parameters in a six axis robot. In International Computers in Engineering Conferenece and Exhibit. 1984, pp. 79-84. 9. Paul, R. P.: Robot Manipulators: Mathematics, Programming, and Control. Cambridge, MA, MIT Press. 1981. 10. Robert, K. S.: A new representation for a line. In Proceedings of International Conference on Computer Vision & Pattern Recognition. 1988, pp. 635-640. 11. Stone, H. W., Sanderson, A. C. and Neumann, C. P.: Arm signature identification. In Proceedings of IEEE International Conference on Robotics and Automation. 1986, pp. 41-48. 12. Tsai, R. Y.: A versatile camera calibration technique for high accuracy 3D machine vision metrology using offthe-shelf TV camera and lenses. IEEE J. Robotics Automn RA-3(4): 323-344, 1987. 13. Whitney, D. E., Lozinski, C. A., Rourke, J. M.: Industrial robot forward calibration method and results. J. dyn. Systems Meas. Control 108: 1-8, 1986. 14. Wu, C. H.: A kinematic CAD tool for the design and control of a robot manipulator. Int. J. Robotics Res. 3 (1): 58-67, 1984. 15. Zhuang, H.: Kinematic modeling, identification and compensation of robot manipulators. Ph.D. dissertation, Florida Atlantic University, 1989. 16. Zhuang, H., Roth, Z. S., Hamano, F.: Observability issues in kinematic parameter identification. In Proceedings of American Control Conference, San Diego, CA. 1990, pp. 2287-2293; also in ASMEJ. dyn. meas. Control 114(2): 315-322, 1992. 17. Zhuang, H., Roth, Z. S., Hamano, F.: A complete and parametrically continuous kinematic model. IEEE Trans. Robotics Automn RA-8(4): 451-463, 1992. 18. Zhuang, H., Roth, Z. S., Xu, X., Wang, K.: A simplified RAC-based camera calibration algorithm and related implementation issues. In Fourth International Symposium on Robotics and Manufacturing. 1992. 19. Zhuang, H., Roth, Z. S., Wang, K.: Robot calibration by mobile camera systems. ASME Winter Annual Meeting, Atlanta, GA. 1-6 December 1991.