Copyright © IFAC Identification and System Parameter Estimation, Budapest. Hungary 1991
IDENTIFICA TION AND ADAPTIVE CONTROL IN MANUFACTURING AND ROBOTICS
CALCULATION OF THE IDENTIFIABLE PARAMETERS FOR ROBOTS CALIBRATION W. Khalil and M. Gautier Laboratoire d'Automatiquc de Names URA CNRS 823, ENS,M. 1 Rue de la Noe, 44072 Names Cedex 03, France
~.
This paper presents a numerical method to determine the identifiable parameters used in geometric robot calibration. The determination of these parameters facilitates the identification and calibration process, The calculation is based on QR decomposition, it proceeds in two steps: - at first the number of identifiable parameters is determined, - then a set of base parameters is determined by eliminating some standard parameters, The algorithm is easy to implement using available software package. An application for a 6 degree of freedom robot is given. Keywords. Calibration, geometric parameters, identifiability, identification, model reduction , robots.
Owing to the poor knowledge of the values of the geometric parameters, defining the previous matrices, there will be a difference between the real location of the end effector frame and its location as calculated using the direct geometric model. Three sets of geometric parameters are thus taken into account: the robot parameters, the parameters defining the base of the robot with respect to a fixed reference frame, and the parameters defining the end effector with respect to the terminal link.
INTRODUCTION The absolute errors of robots are both non geometric and geometric (Whitney 86, Roth 87). The former may be due to friction, compliance, gear transmission and backlash, The later may result from imprecise manufacturing of the robot links and joints, or from the deviation of the encoder offsets. It may be also due to the poor estimation of the parameters defining the location (position and orientation) of the robot with respect to the fixed reference frame, and of the poor estimation of the parameters defining the end effector with respect to the terminal link, This paper proposes a numerical method to determine the identifiable geometric parameters needed in robots calibration. A general identification model is firstly presented, then an algorithm to determine the identifiable geometric parameters based on QR decomposition is given,
DEFINITION PARAMETERS
OF
THE
Definition of the Robot Geometric Parameters We consider open loop robots consisting of n joints and n+1 links. Link 0 is the base and link n is the terminal link, The coordinate frame j is assigned fixed with respect to link j. The definition of the link frames will be carried out by the modified Denavit and Hanenberg notation (Khalil 86, Dombre 88). The Zj axis is along the axis of joint j , the Xj axis is along the common perpendicular of Zj and Zj+I ' Frame j is defined with respect to frame j-I by the matrix j-I T j which is function of the four parameters (aj, dj, Sj, rj), Fig. I, such that:
GEOMETRIC
j-I Tj = Rot(x, aj}Trans(x, dj}Rot (z, Sj) Trans(z, rj} We define: frame -I : a fixed reference frame, frame 0 : a frame fixed with respect to the base of the robot, frame n : a frame fixed with respect to the terminal link of the robot, frame n+ I: a frame fixed with the tool or the end effector.
j-IA'
J
o
j-lpj
1
o
The end effector frame location, position and orientation, can be calculated with respect to the reference frame by the direct geometric model given as :
CajCSj
-SUj
(I)
SajCSj
Caj
o
0
where: -ITo is the transformation matrix defining the base of the robot with respect to the fixed frame,
(2)
where: j-I Aj is a 3x3 matrix defining the orientation of frame j with respect to frame j-I, j-I Pj defines the position of the origin of frame j with respect to frame j-I.
687
X'
Thus the parameters YE, and bE cannot be identified separately,
J
Z
j-1
their errors will be calibrated through the parameters 6 n and rn respectively. Frame n+ I will be represented by 4 independent parameters similar to those defining the link frames such that (
Remark: From this study we conclude that the concatenation of successive frames defined by six parameters, as given in Eq.5 , can be reduced to the representation of four parameters . So Denavit and Hartenberg notation is not an under determined parameterization as it may seem to be (Ziegert 88).
d.
J
Definition of the Robot Base Frame Fig. 1. Definition of Links Frames.
The world fixed frame, frame - I, can be defined arbitrarily by the user. So frame 0 will be defined with respect to frame -I by six parameters. The matrix -I T 0 can be defined by the
The joint variable j will be given as : qj = crj 6j + (Jjfj
parameters : (Yz, b z , u z , d z , 6 z , r z )· Since uI = 0, d l = 0, the transfomlation -IT I can be given as:
(3)
where: (Jj = 0 for j rotational, (Jj = I for j translational, and crj = (1- (Jj)' We define also : qj = (Jj 6j + crjfj
-IT I = -IToD-r1 -I T I = Rot(z,YzlTrans(z,bz)Rot(x,uz)Trans(x,d z )
(4)
Rot(z,6 z )Trans(z,r z) Rot (z,6 1) Trans(z,rl ) which can be written as :
The robot base frame, frame 0, is defined such that Zo is along zl,and xOis along XI when ql = 0, this leads to get uI= 0,
-IT 0 D-r I = Rot(x,O)Trans(x,O)Rot(z,yz)Trans(z,b z )
d I = 0 and Cl I = O. Frame n will be defined such that Xn is
Rot(x,ul')Trans(x,dl')Rot (z,6],) Trans(z,rl ')
(7)
along Xn-I when qn = 0, thus Cln = O. Definition of the End Effector Parameters From Eq.7 we conclude that this change of variables on frame 1 parameters, will enable us to represent the fixed frame using similar parameters defining the link frames, such that :
In general the end effector frame, frame n+ I, is defined arbitrarily by the user. Therefore its location with respect to frame n will need 6 parameters. An arbitrary frame j can be defined with respect to a frame j-I by the 6 parameters (Yj,bj,uj,dj,6jofj) shown in Fig. 2 (Khalil 86, Stone 86). Thus we can define the end effector frame with respect to frame n as :
Uo = 0, do= 0, 60 = Yz' rO = b z
(8)
As a conclusion the calculation of -ITn+1 can be obtained as function of 4(n+2)- 2 geometric parameters.
nT n+ I = Rot(z,YE)Trans(z,bE)Rot(x,uE)Trans(x,dE) Rot(z,6E)Trans(z,fE) Z
Xj ______
(5)
THE IDENTIFICATION MODEL
j The end effector frame location can be calculated by the direct geometric model given as : (9)
Owing to the errors on the geometric parameters defining the previous matrices, there will be a difference between the real location of the end effector frame and its location as calculated using the direct geometric model. The problem of calibration is to adjust the values of the geometric parameters such that this error is minimum . As -I T n+ I is nonlinear funclion of the geometric parameters, this is a nonlinear problem. Using a first order Taylor development of the parameters errors, a linear differential model can be used (Wu 84, Sugimoto 84, Payannet 86). If the errors are too large an iterative procedure, based on the differential model also, can be applied using Newton-Gauss procedure or any nonlinear optimization method. The differential vectors defining the deviation of the end effector frame from the nominal value due to the differential error in the geometric parameters can be given by (Dombre 88):
Fig. 2. Definition of General Frames. Concatenating this matrix with the matrix n-I T n we get: n-I Tn +1 = n-IT n nTn+1 n-I T n+ I = Rot(x, un)Trans(x , dn)Rot (z, 6 n ) Trans(z,rn)Rot(z,YE)Trans(z,bE)Rot(X,UE) Trans(x,dE)Rot(z,6E)Trans(z,fE) which gives : n-I T n+1 = Rot(x,u n )Trans(x,d n )Rot(z,6 n ')Trans(z,rn ') Rot(x,
(10)
(6)
688
where: D is the (3x I) translational differential error vector of the end effector frame, /) is the (3x I) rotational differential error vector of the end effector frame, LlX defines the (kxl) vector of the errors of the standard geometric parameters, - J is (6xk) matrix, with k = 4(n+2)-2 To identify LlX, equation (ID) will be applied for sufficient number of configurations ql, . .. ,qffi, the corresponding Di and /)i, for i=I, ... ,m, will be measured and the resulting system of equations will be solved to get the least squares errors solution.
IDENTIFIABLE PARAMETERS
(BASE)
GEOMETRIC
Using equation (ID) we find that all the parameters of 6X cannot be identified separately : - if the elements of a column of J is equal to zero, for all q, then the corresponding parameter cannot be identified. This parameter must be eliminated from LlX, and the corresponding column in J will be eliminated too. Let the number of the non zero columns be c. - if the matrix J contains only b independent columns, such that the other (c-b) columns can be obtained as linear combinations of the b independent columns. Then the solution of the system of equation (ID), using sufficient number of configurations ql, ... ,qffi, is not unique. We choose to calculate the base solution which reduces the num ber of parameters to be identified and simplifies the calibration process. Let us rewrite the system (10) as :
Definition of Standard Components of LlX From section 2, the calculation of ·1 T n+ 1 needs 4(n+2)-2 parameters. So the standard elements of LlX are the differential errors of the corresponding parameters (Lluj' Lldj ' Ll9j' Llrj>. But the representation of equation (4), on which this modeling is based, is singular when the Z axes of two successive frames are parallel. Therefore if Zj.1 is parallel to Zj an additional differential parameter Ll~j must be added (Sugimoto 84, Payannet 86, Wu 88) , this new parameter will represent a rotation around the axis Yj.l. In this case the error Mj will not be calculated because it is in the same direction of Llrj.} , thus the maximum number of parameters for each frame will remain equal to 4(n+2)-2.
(15)
where:
Ji represents b independent columns of J, h represents (c-b) dependent columns of J, Ll X 1 is the vector of the geometric parameter errors corresponding to the columns of J), Ll X 2 is the vector of the geometric parameter errors corresponding to the columns of h ,
Calculation of The Columns of.I Assuming the matrix defining frame j with respect to the fixed frame as :
Since the columns of h can be written as linear combinations of the columns of Ji, then we can write: (16)
(11 ) with B is ( bx(c-b» matrix with constant elements. The calculation of the columns of the J matrix can be calculated as follows (Dombre 88, Khalil 89) : - Since the parameter Uj represents a rotation around Xj_l, then the corresponding column is given as : . [ sj-IxLj.l,n+1 ] Ju'=
J
Using (16) ,equation (ID) can be written as :
(17)
(12)
Sj_1
(18)
Where: x denotes the vector product, Li,n+ I is the (3x I) vector between the origin of frame i and the origin of frame n+ I.
In the identification process, equation (17) will be used instead of (10) . The solution will give directly LlXb which is called the base parameters vector. The matrix B is not needed in the identification process. The study of the minimum parameters can be carried out by studying the dependence of the symbolic expressions of the columns of J (KhaliI91).
- Since the parameter dj represents a translational movement along Xj.} , then:
Numerical Determination of the Base Parameters
(13)
Numerically the study of the base parameters is equivalent to study the space span by the columns of (rxc) matrix W with r~ c, calculated from J at m random configurations ql, ... ,qffi such that:
where 0(3x I) is the (3x I) zero vector. Similarly we can deduce that: . [ ajxLj,n+ I ] J9j = a'
w.[
J jrj
=[
O(:~I)
.
]
,J~ ' =
J
[ nj-IxLj.l,n+1 ] (14)
(19)
"'J.I
All the vectors of equations (12 , .. . ,14) are referred to the measuring fixed frame.
From a linear algebra point of view, the classification of the independent columns appears to be a rank deficiency problem.
689
The proprieties to study are : - the rank b of W which is the dimension of the space and the number of identifiable parameters. - the choice of b independent columns constituting a base of the space and which define the identifiable parameters. - the determination of the values of the b base parameters from those of the standard parameters. We propose to use a QR decomposition of W to solve these problems. The SVD decomposition can be used also (Gautier 90).
To automatize the choice we permute the columns of equation (10). and consequently (19). such that the foregoing parameters represent the first elements of t.X. Then we eliminate the columns with the larger subscript. The solution is very easy to find from a QR decomposition of W without pivoting. The (c-b) diagonal elements with I Rijl <;; 't • Eq.20. give the subscripts of the columns to be deleted and the subscripts of the non identifiable parameters.
OR Decomvosition
From the previous step we deduce a permutation matrix P such that:
Base Parameters as Function of the Standard Parameters
Using QR decomposition the (rxc) matrix W can be decomposed as (Dongarra 79. Lawson 74. Golub 83) : QTW-
R
[ O(r-c)xc
]
[W P] = [W, W2) (24) where: WI represents the selected set of b independent columns of W. W2 represent the (c-b) dependent columns of W.
(20)
Q is a (rxr) onhogonal matrix. R is a (cxc) upper triangular and regular matrix. Oixj is the (ixj) matrix of zeros.
A QR decomposition of [W Pj gives:
[W, W2) =[ QI
Rank Deficiency : OR With Columns Pivotinl,i. ORC
Q2 { : I
:2 ]=[ Q, . R,
(25)
If W is rank deficient (b
Where R, is a bxb regular matrix. Then it comes:
QT[WC]=[
We deduce the relation:
V, V2] O(r-b)xb O(r-b)x(c-b)
(26)
(21)
W2 = W, R,-' R2 thus: B = Rrl R2
Where: Q is orthogonal. V, is a (bxb) upper triangular matrix. V2 is a (bx(c-b)) matrix. The strategy of pivoting is made to classify the diagonal elements Vii of V, in nonincreasing order. such that: IVlll > IV221 > ... > IVbbl > 0 The numerical rank is defined with a tolerance 't;t0. because of roundoff errors (Forsythe 77). Rank(W) = b
~
I Vii I <;; 't. for i=b+l ..... c
Q,.R2 J
(27) (28)
which expresses the (c-b) columns of W 2 and 12 as linear combinations of the b independent columns of W 1 and J 1 respectively. The zero rows of B correspond to the independent columns of [WPj. Remark : In practice the orientation error 0 is difficult to measure. so only the equations corresponding to the position error will be taken into account. The base parameters in this case may be different than the general case. they can be obtained using the same procedure and by taking into account the model: D = Jt(q) t.X (29) where Jt contains the first three rows of J.
(22)
't can be chosen as [Dongarra 79J : (23) 't=r.E.IV 111 Where E is the machine precision. When the values Vii are clustered in two groups. one near V 11 and the other less than 't. there is no problem to determine the rank of W . This always has been the case in our experiments. The rank of W is equal to the number of base parameters.
EXAMPLE
Let US consider the robot AID. Fig. 3. it has 6 rotational joints. The complete parameters of the robot for a given location of the base of the robot and a given end effector are given in Table 1. Using the previous algorithm for the position only. Eq.29. we find that the number of base parameters is equal to 23. they are given in Table 2.
Choice of the Independent Columns The choice of b independent columns to be kept is not unique. We choose to keep the columns corresponding to the parameters which can be fedback to the control system easily and do not change the existing inverse and direct geometric model such as : - the parameters corresponding to the joint variables. the corresponding errors represent offset on the position sensors values. - the parameters corresponding to the distances Tj and di whose nominal values are not equal to zero. - the parameters corresponding to the angles (Xi and Si whose nominal values are not equal to zero nor 90°. - the parameters defining the base of the robot with repect 0 the fixed world frame. - the parameters defining the end effector.
690
REFERENCES Delebecque,F., Klimann e. Steer S. (1989). BASILE, Guide de I'uti[isateur. INRIA, France. Dombre, E., Khalil,W. (1988) . Modelisation et commande des .ruhms.. Edition Hermes, Paris. Forsythe,G.E.,Malcom M.A. ,Moler e.B. (1977). Computer Methods for mathematical Compu tations . NJ: Englewood Cliffs, Prentice-Hall. Dongarra,J.J. , Moler, e.B , Bunch, J.R , Stewart, G.W. (1979). UNPACK User's Guide. Philadelphia, PA: SIAM. Gautier, M.(I990 a ). Contribution a la modelisation et it I'identification des robots . These de Docteur es Sciences, ENSM, Nantes. Gautier, M. (l990b) Numerical calculation of the base inenial parameters, Proc. IEEE Robotics and Automation Conf. , Cincinnati, pp. 1020-1025 . Golub, G.H.,Van Loan, e.F. (I983).Matri x Computations. Baltimore: Johns Hopkins University Press. Hayati, S.A. (1988). Robot arm geomerric link calibration. Proc. IEEE. Decision and Control Conf ,pp 798-800. Khalil, W., Kleinfinger, J.F (1986). A new geometric notation for open and closed loop robots. Proc. [EEE Robotics and Automation Conf., San francisco, pp.I174-1180. Khali[ , W., Caenen, J.L., EnguehardCh .( 1989) .Identification and calibration of the geometric parameters of robots. First Experimenta[ Robot Conference, Montreal, . Kha[il,W., Gautier, M., Enguehard, Ch . (1991). Identifiable parameters and optimum configurations for robots calibrations. journal Robotica, VoI.9,pp.63-70. Lawson, e.L. , Hanson , R.J. (1974) . Solving Least Sguan:s Problems. Nl: Englewood Cliffs, Prentice-Hall. Moler, C., Little, 1., Banger!, S. (1987). PC-Matlab User's Guide. Matworks, Inc, MA, USA. Payannet, D. (1986). Modelisation et correction des erreurs statiques des robots manipulateurs. These de doctorat, Montpellier. Roth, S., Mooring, B.W., Ravani, B.( 1987). An overview of robot calibration . IEEE 1. Robotics and Automation Vol. RA-3, nO5. Stone, H.W., Sanderson , A.e. , Neuman, e.P. (1986). Arm signat ure identification. Proc.IEEE Robotics ~nd Automation Conf., San francisco, pp. 41-47. Sugimoto, K., Okada, T. ( 1984) . Compensation of positioning errors caused by geometric deviations in robot system. Proc. 2 nd Int. Symp.of robotics research. Vol.3(1), pp. 5867. Whitney , D.E., Lozinski, C.A. , Rourke, 1.M. (1986). Industrial robot forward ca libration method and result. ASME 1. of Dynamics Systems Measurements. and Qm!rQ1 Vol. 108, pp.I -8, Wu , e.H.(I984). A kinematic CAD tool for the design and control of a robot manipulator. [nt. J.of robotics research , Vol.(3) , pp.58-67. Wu, e.H., Ho,J.,Young, K.Y . (1988). Design of robot accuracy compensator after calibration. Proc. IEEE Robotics and Automation Conf., pp 780-785. Ziegert, 1. ,Datseris, P. (1988). Basic considerations for robot calibration. Proc. IEEE Robotics and Automation Conf., Philadelphia, pp.932-938.
Fig. 3. The AID robot.
TABLE I Nominal and complete parameters of the system j 0
cri x
(Xi 0
di 0
ri
8i 0
O.
I
0
0
0
81
O.
2
I
90
0
82
0
3
I
0
0.3
83
0
4
0
-90
0
8
0.4
5
0
0
8s
0
6 7
0 x
90 -90 0
0 0
86
0 0.21
0
TABLE 2 : Classifl~liQn..Qf the geomeoic parameters. j 0 I 2 3 4 5 6 7
L'1~i
0 no 0 yes
0 0 0 yes
L'1(Xi 0 no yes yes yes yes yes yes
L'1d i 0 no yes yes no yes yes no
L'1 8 i no yes yes yes yes yes no no
Mi yes no yes no yes yes no yes
yes: identifiable parameter. no : an eliminated or regrouped parameter. o : the corresponding parameter is zero.
CONCLUSION This paper presents a general method to classify the calibration parameters of robots. The robot location and the end effector location parameters are rreated by an approach similar to those defining the link frames. Starting from the standard geomeoic parameters it gives the number and the c hoice of the base parameters. The methods are based on QR decomposition. [t is easy to implement using commercially available software package as MATLAB (Moler 87) or BASILE (De lebecque 89) for the numerical tools .
691