EstimatiOnMaiel tw Kinematic Manipulators with a Structure

12
EstimatiOnMaiel tw Kinematic Calibrertion of Manipulators with a Parallel Structure ................... ................ Dimitris Kugiumtzis Department of lnforrnatics University of Oslo Pb. 1080 Blindern, N-0314 Oslo, Norway Bjm Ulekjendlie* Pb. 124 Blindern, N-0314 Oslo, Norway SINTEF-Sl Received January 27, 1993; revised July 14, 1993 Accepted October 1, 1993 This article provides an estimation model for calibrating the kinematics of manipulators with a parallel geometrical structure. Parameter estimation for serial link manipulators is well developed, but fail for most structures with parallel actuators, because the forward kinematics is usually not analytically available for these. We extend parameter estimation to such parallel structures by developing an estimation method where errors in kinematical parameters are linearly related to errors in the tool pose, expressed through the inverse kinematics, which is usually well known. The method is based on the work done to calibrate the MultiCraft robot. This robot has five linear actuators built in parallel around a passive serial arm, thus making up a two-layered parallel- serial manipulator, and the unique MultiCraft construction is reviewed. Due to the passive serial arm, for this robot conventional serial calibration must be combined with estimation of the parameters in the parallel actuator structure. The developed kinematic calibration method is verified through simulations with realistic data and real robot kinematics, taking the MultiCraft manipulator as the case. 0 1994 John wiley 6 Sons, Inc. ‘To whom all correspondence should be addressed. Journal of Robotic Systems 1 1 (5), 399-41 0 (1994) 0 1994 by John Wiley & Sons, Inc. CCC 0741-22231941050399-01 2

Transcript of EstimatiOnMaiel tw Kinematic Manipulators with a Structure

Page 1: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

EstimatiOnMaiel tw Kinematic Calibrertion of

Manipulators with a Parallel Structure ................... . . . . . . . . . . . . . . . .

Dimitris Kugiumtzis Department of lnforrnatics University of Oslo Pb. 1080 Blindern, N-0314 Oslo, Norway

B j m Ulekjendlie*

Pb. 124 Blindern, N-0314 Oslo, Norway

SINTEF-Sl

Received January 27, 1993; revised July 14, 1993 Accepted October 1, 1993

This article provides an estimation model for calibrating the kinematics of manipulators with a parallel geometrical structure. Parameter estimation for serial link manipulators is well developed, but fail for most structures with parallel actuators, because the forward kinematics is usually not analytically available for these. We extend parameter estimation to such parallel structures by developing an estimation method where errors in kinematical parameters are linearly related to errors in the tool pose, expressed through the inverse kinematics, which is usually well known. The method is based on the work done to calibrate the MultiCraft robot. This robot has five linear actuators built in parallel around a passive serial arm, thus making up a two-layered parallel- serial manipulator, and the unique MultiCraft construction is reviewed. Due to the passive serial arm, for this robot conventional serial calibration must be combined with estimation of the parameters in the parallel actuator structure. The developed kinematic calibration method is verified through simulations with realistic data and real robot kinematics, taking the MultiCraft manipulator as the case. 0 1994 John wiley 6 Sons, Inc.

‘To whom all correspondence should be addressed.

Journal of Robotic Systems 1 1 (5), 399-41 0 (1 994) 0 1994 by John Wiley & Sons, Inc. CCC 0741 -22231941050399-01 2

Page 2: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

400 Journal of Robotic Systems-1994

1 0 INTRODUCTION

Many varieties of robot manipulators have been built for industrial applications. They can be separated into classes of serial link manipulators, (an articula- tion of consecutive links combined with revolute or prismatic joints), parallel manipulators (a combina- tion of parallel articulations that comprises of a closed loop), and parallel-serial manipulators with parallel articulations stacked on top of each other. This article discusses specifically kinematic calibra- tion of a two-layered parallel actuator structure built around a passive serial arm, but the basic ideas can be applied to most parallel and parallel-serial actu- ators.

As noted in the article by Shahinpoor,' it is possi- ble to build highly accurate parallel and parallel-se- rial manipulators, so this class of manipulators is of special interest. Positioning inaccuracies are caused by many factors, but our efforts have been directed toward identification of kinematic parameter errors, that is, errors in the geometrical model of the manip- ulator. The process of computing accurate relations between tool poses (positions and orientations) and kinematic parameters has been called kinematic Cali- bration.

A complete kinematic calibration process con- sists of three steps as noted in Roth:2 (1) the mathe- matical formulation, based on the kinematic model of the robot, that results in an observation equation from which the error sources can be solved; (2) the identification of the error sources utilizing measure- ments of actual tool poses and applying parameter estimation methods, e.g., as described in Luen- berger3; and, finally, (3) the compensation of the parameter errors in the controller to obtain an accu- rate kinematic model. In this article, the first step is discussed in detail, the second step is illustrated by simulations, and the third step is not treated at all.

Methods for calibrating serial link arms, are well developed and described in, e.g., H a ~ a t i , ~ Hsu ,~

W U , ~ Dr ie l~ ,~ and Renders.' Central to these meth- ods are the transformation matrix i-lT(ai-l, u i - l , di, Oi) uniquely relating link i to i - 1, where a, u, d, and 8 are the four Denavit-Hartenberger (DH) parameters. This representation is well known, and can be found, e.g., in Craig.'Most serial arm parame- ter estimation methods build a linear kinematic model relating differential errors in the 4 x n DH- parameters of the serial arm, n being the number of links, to differential errors in the tool pose. In es- sence, this linear relation is the Jacobian of the for- ward kinematics, so by utilizing the forward kine- matics, optimal values for the unknown DH- parameter is determined from a linear least square problem.

For calibration, the DH-parameter representa- tion fails when there are parallel axes in two succes- sive joints. By introducing another link description, it is possible to treat this problem. The reader may refer to Ziegert'O for a comprehensive literature re- view, as well as the work of Hayati'l and Stone12 for other link descriptions. In the general case, descrip- tion of links identified with parallel axes must be described through an expanded model, e.g., by add- ing a fifth parameter.

Contrary to the serial arm case, ZhangI3 notes that forward kinematics is not readily available in parallel structure manipulators, whereas the inverse kinematics is. This could be why calibration of paral- lel actuators is a little explored field. There are two recent works to our knowledge, Hollerbach and L~khorst , '~ and Zhuang and Roth.15 Both methods are developed for a special type of manipulator. We develop a general estimation method where we only require the measurements of the actuator lengths and the tool pose; moreover, no special motion pat- tern is required.

In our method, differential errors in kinematical parameters are linearly related to differential errors in the tool pose, expressed through the inverse kine- matics instead of the unavailable forward kinemat-

Page 3: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

Kugiumhis and Lillekjendlie: Kinematic Calibration of Manipulators 401

ics. Based on physical tool pose measurements, least square estimates of the kinematic parameters can be computed by this linear kinematic model.

Our method is further developed to apply to the MultiCraft robot, which is a combination of a passive serial arm supported by five linear actuators, con- structing a two-layered, parallel-serial manipulator. In this robot, one joint variable in each link of the serial arm is determined by the underlying parallel- actuator structure. We replace the error in this vary- ing joint variable by a linearized function of the er- rors of the geometrical parameters of the parallel structure. Thus, we arrive at a method where stan- dard serial arm kinematical parameter estimation methods are applied to most parameters in the serial arm, combined with the newly developed methods for estimating kinematical parameters in the parallel actuator structure.

The article is organized as follows: First a concise description of the kinematic model of the MultiCraft parallel-serial manipulator is given in Section 2, and the mathematical relations of forward and inverse kinematics are provided. Then, in Section 3 we dis- cuss the problem of analytically unknown forward kinematics of the parallel structure, and develop a method to compute the Jacobian of this function through the Jacobians of the inverse kinematics. In Section 4 the estimation algorithm for the MultiCraft manipulator is developed, and, finally, in Section 5 we describe the simulation results.

In this article, scalar entities are written in stan- dard typeface like i, whereas vector entities are set

in boldface as x. We let % ( x ) : R H R denote the dX

derivative of the scalar functionf(x): R H R, %(x):

R"' H R"' denotes the gradient row-vector of the

scalar field f(x): R"' H R, and -(x): R"' H R","' is

the Jacobian matrix of the vector field f(x): R" H R".

d X

d f dX

2. KINEMATICS OF THE MULTICRAFT MANIPULATOR

The patented MultiCraft manipulator construction consists of a passive serial arm supported by five linear ball-screw actuators in parallel with the arm. A complete description of the geometrical structure and analytical formulas of the MultiCraft kinematic can be found in Asd01,'~ here we only give a short summary.

The degree of freedom (dof) in the manipulator is denoted by n, which in the case of the MultiCraft

robot is five, or six if an additional motor is added to the tool base.

The robot is programmed in Cartesian coordi- nate space using homogeneous matrices ;:'TI which refer to the robot tool frame, numbered n + 1, to the world frame, numbered -1. Various tools can be attached to the tool base of the robot at a point denoted by the fixture point. The transfor- mation referring to the tool pose relative to the fixture frame, numbered n, is fixed for a particular tool. Similarly, a fixed transformation i ' T relates the robot base, numbered 0, to the external world coordi- nate frame.

2.1. Central, Serial link Arm

As depicted in Figure 1, the MultiCraft robot has an arm with five, or six, successive joints where the main part is a long prismatic joint. A lower universal joint connects the robot base to the prismatic joint with two rotational degrees of freedom, 8' and 02. An identical upper universal joint with two other rotational degrees of freedom, 0, and O,, connects the other end of the prismatic joint to the tool base. The length of the prismatic joint is denoted t , and there are no rotations in this joint. An optional, sepa- rate motor mounted at the tool base may give a sixth rotation degree of freedom denoted 86. Except for this optional sixth joint, all joints are passive.

According to the kinematic model of A~derl,'~ the DH-parameters of one possible configuration of a 6 dof MultiCraft robot are as displayed in Table I.

A Rotational joint

Figure 1. The central, serial arm of a 5-dof MultiCraft robot.

Page 4: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

402 Journal of Robotic Systems-1994

Table I. Serial arm DH-parameters of one possible configuration of a 6-dof MultiCraft robot.

1 0" 0 0 81 2 90" dl o e2 + 90"

4 90" 0 o e4 + 90" 5 90" d2 a3 e5 + 90"

3 90" 0 e 0"

6 45" 0 a4 e6

There are many other possible configurations, as the sixth motor can be positioned rather freely.

For link i = 1, . . . , n, we collect the DH-param- eters in the 4 X 1 vectors ji . At each link i, one of the DH-parameters varies and is denoted jUi , while the three others are assigned fixed values during manufacturing, and they compose the 3 x 1 vector jfi of fixed joint parameters. As an example, for link 1 of the MultiCraft robot we have:

i,, = 61

where the superscript denotes the transpose. During ordinary robot movements, Cartesian

manipulator pose ;jlT is a function of the joint varia- bles jUi , i = 1, . . . , n, only. However, when param- eter estimation is concerned, parameter errors in the fixed geometry of the central arm act on the manipu- lator pose; thus ;:lT depends on all DH-parameters that compose the joint parameter vector j of dimen- sion 4n X 1. From the elements of j we can distin- guish two subvectors: the n X 1 joint variable vector jv = [ it),, , . . , j,,]' and the 3n x 1 fixed joint param- eter vector if, so j' = [j?, if]. The joint variable vec- tor for a 6-dof MultiCraft robot is j, = [el, e2, t , 04, 05, 061'.

2.2, Parallel Actuators

Motions of the MultiCraft robot are due to five linear ball-screw actuators with variable lengths, driven by electric motors. These actuators determine the joint variables of the serial arm, and as a result of that, the tool pose. Three base actuators move the pris- matic joint of the serial arm relative to the robot base, and two wrist actuators rotate the tool base relative to the same prismatic joint. Each of the linear actua-

tors is a complete articulation with one universal joint at each end, and the prismatic ball-screw joint uvi in between. Figure 2 schematically illustrates the complete structure of the MultiCraft robot.

The five actuator lengths uU1 to uv5 constitute, to- gether with the rotation 66, the actuator variable vec- tor a, of dimension n x 1 in the MultiCraft robot. For estimation purposes, the position of the central arm also depends on a set of s actuator parameters fixed during manufacturing. These variables consti- tute the s x 1 fixed actuator parameter vector af, and the collection aT = [a;, a:] is the actuator parame- ter vector.

The number s of fixed actuator parameters is usually rather high in parallel constructions. For the MultiCraft robot, each of the five linear actuators is an individual articulation that consists of the poses of both ends relative to the serial arm, plus four rotational and one controllable prismatic link. Each of these five links are described by four DH-parame- ters, so the complete model of the MultiCraft parallel actuator structure involves s = 5 * (2 * 6 + 5 * 4) = 160 parameters. Fortunately, many of these parameters are, in practice, very accurately known, and others do not affect the tool position signifi- cantly.

To identify the critical parameter, a sensitivity analysis is required. Kugi~mtzis'~ analysis of the

Figure 2, The complete geometrical structure of a 5-dof MultiCraft robot, including the passive central arm and the five parallel actuators. The magnified frame shows the full link chain of one actuator.

Page 5: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

Kugiumhis and Lillekjendlie: Kinematic Calibration of Manipulators 403

MultiCraft robot indicates that only 10-15 parame- ters are critical to the overall accuracy, the remaining 145-150 parameters are negligible.

2.3. Forward and Inverse Kinematics

There are no singularities in the reachable workspace of the MultiCraft robot, and there is a one-to-one correspondence4 among pose representations in the Cartesian coordinate space, the space of joint vari- able vectors, and the space of actuator variable vectors.

Conversion between the three coordinate spaces is a two stage process. For ordinary robot motions, the forward and inverse kinematics between Cartesian and joint space are defined as n;!T = f(j,) and j, = f-'(&T) respectively, whereas the forward and inverse kinematics between joint and actuator space are defined as jt, = g(a,), and a, = g-'(j,). The fixed entities jf and ar are here con- stants in the functions. The functions f , f-', and g-, are known analytically; for g only an iterative numerical solution exists.

The four functions depend on combinations of jf, j,, a,, and ar as Eq. (1)-(4) show:

The full transformation scheme is illustrated in Fig- ure 3. In the estimation process, errors in jr and ar are to be estimated. The errors in the actuator variables a, are encoder offset errors that also must be estimated. There are no encoders for the joint variables j , , so j, are mathematical quantities with no offset errors, and thus not included in the estimation.

Figure 3. Transformations between the variable spaces in the two-stage kinematics of the parallel-serial MultiCraft manipulator.

For notational convenience, we introduce the (n + s + 3n) x 1 vectors pr = [a:, af, jf] =

[a', jf] and qT = [af, j f , j f ] = [af, j']. We may thus write j u = g(p) and a, = g-'(q).

3. BASIC PARAMETER ESTIMATION METHOD OF PARALLEL ACTUATORS

Parameter estimation is based on deviations of nomi- nal values from actual values in entities of the robot kinematics. Nominal and actual values are denoted with superscript N and A, and the errors are actual minus nominal values. As an example, in link 1 of the MultiCraft robot the errors in DH-parameters are:

where 8ao, 8ao, and adl are among the parameter errors we will estimate.

Assume the actual tool pose values,;I,TA are measured relative to the world coordinate frame by some sensor system, and that the nominal tool poses n;',TN are given relative to the same world co- ordinate in a robot program. The discrepancy:

8()&T) = n; ' ,TA - n + l -' T N (5)

between these two poses is denoted the tool pose error, and is in principle input to the calibration process.

We search for a linearized relation between er- rors in the parameters of the parallel structure, and errors in the tool pose from Eq. (5). Given such a relation, it is possible to estimate the parameter er- rors by collecting many measurements at various tool poses, and applying, e.g., a least square estima- tion technique.

Such a linearized relation is only accurate to the first order. Because geometrical parameters are rather accurately known beforehand, this is not seen as a major drawback.

We consider the MultiCraft case first. Here, the linearized, functional relationships of differential er- rors in tool poses, joint, and actuator parameters are given by the Jacobians of the corresponding func- tions f and g. Because g is unknown, its

Jacobian % cannot be computed analytically. This is

a problem common to all parallel manipulators be- dP

Page 6: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

404 Journal of Robotic Systems-1994

cause, as Zhang13 points out, g is rarely analytically available, whereas g-' usually is.

It is possible to compute% numerically, e.g., aP

by central differences, but in the Appendix we prove that:

where the entities on the right hand side of the equa- tion are found from the known inverse kinematics 8-l as:

(9)

Note that all derivatives are evaluated at their nomi- nal values jN, qN, etc., which we have not indicated explicitly in the formulas to improve readability.

This relation is also the core point when estimat- ing kinematic parameter errors in more conventional parallel structure manipulators. For such manipula- tors, the first stage in the MultiCraft kinematics can be omitted because there are no serial arms, so only the g-function is of interest. The jv vector would be derived from the tool pose ;21T, not being the vary- ing parameters of the serial arm as in the MultiCraft case. Thus, Eqs. (1)-(4) simplify to:

because the non-existing j, vector must be removed from the original equations. Eq. (6) simplifies to:

where the two submatrices are as defined as in Eqs. (8) and (9).

These expressions assumes that the degrees of freedom (dimension) in jo equals the degrees of free- dom in the actuators ao, which is reasonable.

For most parallel structure manipulators, the pa- rameter errors 6av and 6a4 can thus be found from the relation:

Here, 6jv is derived from the measured error given in Eq. (5), and the two matrices can be computed from the nominal tool pose and parameter sets.

For the MultiCraft robot, the situation is more complicated because of its two-stage kinematics, and in the next section we develop the equivalent to Eq. (14) for the MultiCraft robot. Some finer details concerning suitable representations of the measured errors will also come clear in the next section, as well as in the section describing the simulations.

4. RELATION BETWEEN JOINT PARAMETER ERROR AND TOOL POSE ERROR

In defining how errors 6 j in the joint variables affect the tool pose error 6(;i1T), we closely follow H a ~ a t i . ~ The only major difference is that we address the errors relative to the world coordinates rather than to the tool, because we assume the measurements also refer to world coordinates.

The deviation of the nominal from the actual transformation in link i is given by the error model:

(15) S(i-1T) = ; -1TA - i - 1 T N

Linearization of this equation gives, accurate to the first order:

becausei-lT is a function of ai-', uiPl , di, and Bi. The errors in the DH-parameters of link i constitute the link error vector Sji = [6ai-l, 6ui-l, ad,, 60iJT.

A differential change 6(j-'T) referred to link i - 1 may be given alternatively by:

where '-'A(;-'T) is the differential error transforma- tion, referring the error due to link i parameter errors

Page 7: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

Kugiumtzis and Lillekjendlie: Kinematic Calibration of Manipulators 405

H . = I

to the preceding link i - 1. Thus we can solve Eq. (17) with respect to '-'A(f-'T) and find an expression for it. According to Paul,ls [-*A(;-'T) can be written:

-

(20)

L . I 0 1 0 0 0 0 -Sinai-, - U , - ~ C O S ( Y ~ - ~

0 0 cosaj-1 - u , - ~

0 0 1 0 0 0 0 -sin 0 0 0 cos a,-1

0 -62 , 6y, dx, 62, 0 -ax, dy,

-6y; 6x, 0 dz, 0 0 0 1

From this form of '-'A(;-'T) we easily identify the components dxi , dy,, and dz, of the position error, and components ax,, 6yi, and 62, of the rotation error. The 6 x 1 error vector addressed to link i - 1 is thus defined as '-'e(;-'T) = [dx,, dy,, dz,, ax i , 6yi, 62,l'.

Eqs. (16) and (17) show that each component of jp1A(;-'T), and hence of '-le(;-'T), depends linearly on the link errors Sj,, so we may write:

The form of ;\I is similar to Paul's forrn,l8 which concerns transformations addressing the errors to the top of the manipulator. Because we apply the opposite transformation, L'J has the form:

L

where R and x are the rotational and translational part of the transform k;T (the inverse of ;l1T). The

cross product x X R denotes the cross product of the vector of translation x with each of the three columns of the matrix of rotation R.

4.1. Relation Between All Parameter Errors and Tool Pose Error

Unlike conventional serial manipulators, the errors 6 jr, in the parallel-serial MultiCraft manipulator are functions of additional parameters the errors of which should be estimated also, namely a, and at.. As an example, in link 1 of the MultiCraft robot:

N N = gdat, at, i f ) - gl(a, I af I jy) (23)

so here all the errors in 6aa, Sat., and 6jf should be estimated, not only 6jzl1..

Completing the estimation process requires first the definition of a functional relationship between the joint variable errors Sj, and the errors 6pT = [ 6a:, da?, Sj?], and then the inclusion of this relation- ship into the existing joint estimation model.

First we concentrate on an arbitrary link i of the central axis and quantify the effects of the errors 6p on the variable joint parameter j t , The error Sj,, in jv, is given as 6jv, = j ; - jf;i = g[(p ) - gi(pN), which linearized gives:

A'

Here g, is the i-th component of the vector field g,

and a is row i in the Jacobian %. 8P 8P We now consider Eq. (19), which relates the

Cartesian errors in link i to the link error vector d j , through the matrix H,. We must separate the joint variable error 6jz,, from the fixed joint parameter error 6jfz, and therefore we consider the 6 X 4 matrix H, as a collection of four 6 X 1 vectors. Eq. (19) then can be expanded to:

[-le(;-lT) = h,16j,i + Hf,6jf, (25)

where hUl is the column vector that corresponds to j,, and Hf, is the 6 x 3 observation matrix correspond- ing to the fixed joint parameters.

Substituting the joint variable error 6j, , from Eq. (24) into Eq. (25) gives:

Page 8: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

406 Journal of Robotic Systems-1994

ag. dP

Because--! also depends on if,, we split p into

the set of the- actuator variables and parameters a and the fixed joint parameters jr. The gradient vector in the preceding equation also can be split in two gradient vectors according to the desired separation, and the equation becomes:

where the pre-multiplication with rP1J transforms the error into world coordinates.

be the observation matrix

related to the actuator parameters 6a, and

l;;B = ;'Jhrj f the observation matrix related to

the fixed joint parameters Sir,. Both matrices can be computed because the entities on the right-hand side of the equations are known. The equation now reads:

Let ;l1C = ;'J h, i da

%. ' dlf

-1 i 1 T ) = ;-l1C 6a + L\B 6jr + ;-'J Hri 6jri (28)

This shows that the error -'e(:-'T), due to errors affecting link i, can be written as a sum where the first term expresses the linear dependency upon the errors in actuator variables and parameters denoted by 6a, and the other two terms express the linear dependency upon joint parameter errors; specifi- cally, the second term defines the dependency on errors in fixed joint parameters 6 jr due to the conver- sion of the joint variable error 6jUi in link i to actuator parameter errors 6a, and the third term defines the dependency on the errors 6 jri of the three fixed joint parameters of link i.

Assembling the influences from all links i = 1, . . . , n, we get:

n n

where we have set B = xr=l L\B and C = x:=, ;l1C. Note that the differential vectors 6a and 8jr interfere in every link error, and are therefore post multiplied with the matrix sums B and C.

We wish to conglomerate the second and third term on the right-hand side of the equation above, because the fixed joint parameter errors appear in both. Therefore we subdivide the 6 X 3n matrix B into n submatrices Bi, for i = 1, . . . , n of dimension

6 X 3 . Then the second term of the right-hand side of Eq. (29) can be written B6jr = x:=l Bi 6jri, and substituting this result into Eq. (29) gives:

where we have substituted Ji = Bi + ;'JHrI. This equation illustrates the linear dependency of the Cartesian errors on the actuator and joint parame- ter errors.

However, the estimation model given by Eq. (30) is not yet complete. Because the transformation errors -'e(olT) = Ho ax,, in the manipulator base and "e(;+,T) = H,,, 6 ~ , + ~ in the tool frame do not depend on joint errors, we have Ho = H,,, = 16x6.

We add 6xo and (assumed as 6 x 1 error vec- tors) to Eq. (30) and derive the complete functional relationship between the tool pose error and errors in the geometric parameters:

n

i = l e = 6xo + C6a + ~ I i 6 j r i + ; 1 J 6 ~ n + 1 (31)

Here, e = xy=l -'e(;-'T) is the error vector that ex- presses the three position ( d x , dy, dz) and three rota- tion ( a x , 6y, 62) elements of the tool pose error rela- tive to the world system.

This total transformation error vector e can be computed alternatively by the total error model of Eq. (5) when actual (measured) and nominal tool poses are provided. Eq. (5) does not apply directly, because position and rotation errors are not explicitly described. However, replacing the i-th link transfor- mation by the total transformations in Eq. (16) to Eq. (18) transforms the measurements into the sought dx, dy, dz, ax, 6y, and 6z values.

In a real calibration process, we consider mea- sured values as the actual tool poses, and therefore we account measurement noise in the implementa- tion of the algorithm, as the simulation process of the next section indicates.

Eq. (31) can be written as a matrix observation equation:

e = J S x (32)

where:

and:

Page 9: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

Kugiumtzis and Lillekjendlie: Kinematic Calibration of Manipulators 407

Here J is a 6 x (6 + (s + 6) + 3n + 6) observation matrix, and 6x is the (6 + (s + 6) + 3n + 6) X 1 error vector to be estimated. The number of fixed joint parameter errors is 3n, s + 6 is the number of actuator parameters and variables, and 6 + 6 param- eters define the pose of the tool and the base of the manipulator.

5. SIMULATION RESULTS

5.1. Estimating Kinematic Parameter Errors

Calibration tests were done on a simulated 5 dof MultiCraft robot, so now n = 5. From the MultiCraft robot manufacturer, we obtained nominal parame- ters a" and j". Further, bounds on position parame- ter errors for this robot vary between 20.01 mm and k0.2 mm, and rotation error bounds are approxi- mately k0.1'. To simulate actual parameters, we set

are zero-mean Gaussian random variables with stan- dard deviations equal to the above mentioned toler- ances. The five error offsets 6a, in actuator values were drawn from a zero-mean Gaussian distribution with a standard deviation of 0.1 mm.

To simplify the task somewhat, we set the trans- formations ,"+ ,T and ['T to identity, and assumed no errors in these entities. In a previous sensitivity anal- ysis documented in Kugiumtzis,17 we identified 10 critical af parameters. We thus aim at estimating 5 + 10 + 5 * 3 = 30 parameters, 15 from the passive serial arm and 15 from the parallel part of the structure.

For calibration, extreme robot poses must be used, otherwise the observation matrix will not con- tain enough information. To generate a wide range of poses, we draw random joint variables j,, and then computing the nominal tool poses ;21T by the f-function. Therefore, all nominal calibration poses n-;,TN stem from j, vectors where the angles 81, d2, d4, and tI5 are all drawn uniformly from the set [-45', -25'1 U [25', 45'1. The length t of the prismatic link of the central axis is drawn from the range 800-1400 mm.

aA - - ar N + 6afandjf = jr + 6jj, where 6ar and 6jj,

At a nominal calibration pose, the uncompen- sated robot controller will compute the nominal actu- ator values 4 = g-l(f-l(;:lTN, jr), ar, jr). An ac- tual, physical robot is simulated by first computing actual actuator variables a;' = a: + Ga,, and then the actual tool pose ;:lTA = f(g(a;', af, j f ) , jf).

From the actual and nominal poses .;;TA and ;:lTN, we compute the actual error vector eA by applying Eq. (16) to Eq. (18).

However, actual tool poses are not available in a real calibration setup, because measurement noise is inevitable. This noise is simulated by 3 + 3 inde- pendent zero-mean Gaussian random variables; & P X , EP" andEpz for positions along each axis, and er,, E , , and crz for rotations around each axis. Stan- dard 'deviations are SD( E ~ ) and SD( E,) in positions and rotations, respectively. Following Hayati4 we can model the differential noise influence on the actual measurements as:

where n;',TM denotes the measured tool pose. This measured tool pose is available, so applying Eq. (16) to Eq. (18) to ;JITM and ;:lTN gives the measured error vector @ of dimension 6 x 1, where @ is the error between nominal and measured tool poses. From Eq. (33) we then compute the J-matrix for this calibration pose, and now have the relation eM = J 6 x .

A complete calibration requires many, let us say K, calibration poses. The complete error vector E is obtained by stacking all K error vectors on top of each other, and similarly all K J-matrices on top of each other gives the entire observation matrix T. In our tests, K = 35 Calibration poses were used, so the complete measured error vector eM has dimension 210 x 1. With 30 estimation variables, our complete observation matrix T is a 210 X 30 dimensional matrix.

The 30 X 1 parameter error vector 6x now can be found by a least square method, e.g., via the pseudo-inverse as 6x = TtcM = (TTT)-'T* cM.

However, as could be expected from the geomet- rical structure of the actuator, a direct pseudo-in- verse solution is not feasible. Some of the parameters to be estimated depend almost linearly upon each other, so some column vectors of T are almost paral-

Page 10: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

408 Journal of Robotic Systems-1994

lel. This leads to small singular values in T, and thus a large maximal singular value crl in the pseudo- inverse Tt. We experienced crl in the range 250-500 in some of our experiments.

Large singular values in Tt can amplify the esti- mation error. To illustrate this problem, we follow Hayati4 and write to first-order accuracy the E~ as a sum of the actual error vector cA and an additional measurement noise error vector 8 ~ , so cM = + 6 ~ . Applying the triangle inequality, and the fact that IITtll = crl for the spectral-norm, we see that:

Evidently, a small measurement noise error 8~ can cause large errors in the estimated 6x due to possible amplification during multiplication with Tt.

To identify the linear dependencies in T, we computed the angles between all possible pairs of the 30 column vectors in T. By manual inspection we identified the vector combinations with the smallest angles, and then could remove 7 redundant calibra- tion parameters from the original set, 5 from af, and 2 from jf. After this simplification, the new Tt matrix of dimension 23 X 210 got a typical norm of 30-130, and a simple pseudo-inverse method gave reason- able 6x estimates. All removed parameters were uni- versal joint offsets almost parallel to the varying length of the adjacent prismatic joint. This is a conse- quence of the mechanical parallel structure, because actuators in such structures usually have a limited range of roll-pitch angles. Offsets in universal actua- tor joints will therefore be hard to distinguish from the offsets in the controlled actuator lengths. Related problems with the condition number of the identifi- cation Jacobians are recently reported by Zhuang and Roth."

Our inspection of vector pairs is a simple manual method. A more complete automatic algorithm for identifying the linearly dependent parameters is de- scribed in Menq et a1.20 Their algorithm follows from

the separation of parameters into observable and unobservable subspaces.

5.2. Testing the Calibrated Robot Controller

Testing the calibrated robot controller was done over 20 randomly drawn nominal robot-program poses. The simulation was repeated for various levels of measurement noise, which had a zero-mean normal distribution with standard deviation SD( EJ for posi- tions and SD(E,) for rotations. At each program pose, the position error between nominal and calibrated actual pose, a', was computed together with the position error between nominal and uncalibrated ac- tual pose, aA. The averages of 6' and aA over the 20 poses, denoted by AV(6') and AV(GA), are given in Table 11. In addition, the table gives the maximal values of the same error quantities, denoted by max(6') and max(GA).

In the last test (third line in Table 11) we used SD(cp) = 0.1 mm, SD(E,) = 0, to simulate the case where rotation measurements are unavailable. Here we have used only the position components in Eq. (32). Because half of the measurements are gone, we now used 70 measurement points instead of 35 as in the other cases.

In more detail, the simulation procedure is as follows: First, the calibrated parameter sets af = ar + 6af and jf = jr + 6jf generated, where 6 jf and 8af are parts of the esimated parameter vector 6x. To generate a program pose, jz, was drawn with the four &values uniformly distributed between -45" and 45", and e in the range 800-1400 mm. Then, ;:;:ITN = f ( ill, jf) was generated as the nominal program tool pose. Actuator variables calculated by the calibrated robot controller will be a, = g-'(f-' (n;llTN, i f ) , af, jf) = g-l( j,, af , j;), and the actuator offset errors are compensated by generating the Cali- brated actuator setpoints a: = a,, - 6a, where 6a,, is also part of the estimated 6x. The actual tool pose reached by the calibrated robot is now given

were

Table \ I , Simulated accuracy improvements for a calibrated robot.

Noise Culibru ted Original

SD(EtJ W E , ) AV(6') mux(6') AV(GA) mux(GA) ~ ~ ~ ~~~ ~~ ~

0.05 mm 0.1" 0.022 mm 0.045 mm 0.38 mm 0.63 mm 0.10 mm 0.1" 0.033 mm 0.070 mm 0.41 mm 0.57 mm 0.10 mm 0.0" 0.088 mm 0.16 mm 0.23 mm 0.40 mm

Page 11: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

Kugiumtzis and Lillekjendlie: Kinematic Calibration of Manipulators 409

as = f(g(a2, af, if)), jf. In comparison, an un- calibrated robot would compute the actuator values at = g-l(f-'(;:lTN, jr), if, jr' and reach the actual

To compare a calibrated pose to an uncalibrated, we computed the pose position errors sc = llxc - xNJI and tiA = llxA - xNll, where xN, xA, and xc and the 3 X 1 tool position vectors of ,;llTN, ll;iTA, and ,;IITC, respectively.

pose = f(g(a!, af, J/ if ).

6. CONCLUSION

We faced the problem of estimating the parameter errors of the MultiCraft parallel-serial manipulator in two stages. First we built the parameter estimation model as if the manipulator had a simple serial link form. Then we extended the model to include also the errors in the geometry of the parallel structure. Next we developed the differential relation between errors in the joint variables of the serial structure, and parameter errors in the parallel structure.

Crucial to this method is how we expressed the linearized relation between errors in the kinematical parameters and errors in actual (measured) tool pose. We expressed the Jacobian of the forward, and unknown, kinematics in terms of the Jacobian of the known inverse kinematics. Parameter estimation of more conventional parallel manipulators can be treated in this way, and is thus covered by the method outlined in this article. In fact, calibrating a parallel actuator is an easier problem, as all the joint parameters of the serial arm can be dropped from the final matrix error equation.

The simulation has- shown that the estimation algorithm gives satisfactory results when the param- eters to be calibrated are few and independently de- fined. Therefore, two processes turn out to be essen- tial before implementing a practical estimation algorithm: the sensitivity analysis, which identifies the most critical parameters for position inaccuracy, and the extraction of the linear-dependent parameter errors from the set of parameter errors to be esti- mated. Under these assumptions the method can be implemented easily and seems to be numerically stable. The simulations for the MultiCraft robot show a reduction of position inaccuracies due to kinemati- cal parameter errors between 60% and 90%.

Certainly we have not solved the complete cali- bration problem yet; the development of the estima- tion model is only the first step. The second step, measurements, requires measurement instrumenta- tion and correct choice of calibration points to avoid

singularities in the estimation process. The third step, compensation of errors in the controller, re- quires thorough consideration as we must build an algorithm that corrects the nominal values for each input point in real time.

This work was supported by the Research Council of Norway; B. Lillekjendlie was also supported by SINTEF-SI. The authors also thank Tom Kavli and Svein Linge at SINTEF-SI for valuable discussions and careful reading of the manuscript.

APPENDIX: THE JACOBlAN OF g

The differential functional equation for the errors Sj,

in all joint variables is given as Sj, = 6p. Because

p is the set of a,, af, and if, the Jacobian can be split into three submatrices, giving:

aP

The results should be expressed in terms of the known g-l, so we observe that:

As in Eq. (37), the differential error Sa, is given

in terms of g-' as 6a,, = d I g q , which can be

written:

a - aq

Substituting Sj, from Eq. (37) into Eq. (39) and then applying Eq. (38), gives:

The parameter error vectors 8a4 and 6jf are indepen- dent of each other and therefore the solution is:

ag-' ag ag-1 - ag-'ag ag-' - 0 (41) + - + d j u 8af da, dj, djf djf

which proves that:

Page 12: EstimatiOnMaiel tw Kinematic Manipulators with a Structure

410 Journal of Robotic Systems-1994

(43)

The entire Jacobian is the collection of the three submatrices given by Eqs. (38), (42), and (43). The problem of computing the n x ( n + s + 3n) Jaco-

bian is now reduced to computing the inverse of aP

the n x n Jacobianw, the n X s J a c o b i a n w , ai, a a,

and the n x 3n J a c o b i a n w . a if

REFERENCES

1. M. Shahinpoor, ”Kinematics of a parallel-serial (hy- brid) manipulator,” J. of Robotic Systems, 9,17-36,1992.

2. Z. S. Roth, B. W. Mooring, and B. Ravani, “An over- view of robot calibration,” IEEE J. of Robotics and Auto- mation, 377-385, 1987.

3. D. G. Luenberger, Linear and Nonlinear Programming, Addison-Wesley, Reading, MA, 1984.

4. S. A. Hayati, K. Tso, and G. Roston, ”Robot geometry calibration,” Proc. of the IEEE Int. Conf. on Robotics and Automation 1988, pp. 947-951.

5. T. W. Hsu and L. J. Everett, “Identification of the kinematic parameters of a robot manipulator for posi- tional accuracy improvement,” Proc. of the ASME 1985 Int. Computers in Engineering Conf., 1985, pp. 263-267.

6. C. Wu, “A kinematic CAD tool for the design and control of a robot manipulator,” Robotics Research, 3, 58-67, 1984.

7. M. R. Driels and U. S. Phare, “Generalized joint model for robot manipulator kinematic calibration and com- pensation,” J. of Robotics Systems, 4, 77-114, 1987.

8. J. M. Renders, E. Rossignol, M. Bequet, and R. Hanus, ”Kinematic calibration and geometrical parameter identification for robots,” IEEE Trans. on Robotics and Automation, 7, 1991.

9. J. J. Craig, Introduction to Robotics, Mechanics and Con- trol, Addison-Wesley, Reading, MA, 1989.

10. J. Ziegert and P. Datseris, “Basic considerations for robot calibration,” Proc. of theIEEE Int. Conf. on Robotics and Automation, 1988, pp. 932-938.

11. S. A. Hayati, “Robot arm geometric link parameter estimation,“ Proc. of the 22nd IEEE Conference on Desi- sion and Control, 1983, pp. 1477-1483.

12. H. W. Stone and A. C. Sanderson, “A prototype arm signature identification system,” Proc. of the 1987 IEEE Int. Conf. on Robotics and Automation, 1987, pp. 175-182.

13. C. D. Zhang and S. M. Song, “Forward kinematics of a class of parallel (stewart) platforms with closed-form solutions,” J. of Robotic Systems, 9, 93-112, 1992.

14. J. M. Hollerbach and D. M. Lokhorst, ”Closed-loop kinematic calibration of the RSI 6-dof hand controller,” Proc. of the 1993 IEEE Int. Conf. on Robotics and Automa- tion, 1993, pp. 142-148.

15. H. Zhuang and Z. S. Roth, ”Method for kinematic calibration of stewart platforms,” J. of Robotic Systems,

16. A. Asdd, “Sensorbasert styring i oppgavekoordi- nater,” Diploma Thesis, University of Trondheim, Norway, 1990, (In Norwegian).

17. D. Kugiumtzis, ”Optimal parameter estimation and sensitivity analyses for error minimization in the non- linear kinematics of MultiCraft-560 robot,” Master Dis- sertation, University of Oslo, Norway, 1991.

10, 391-405, 1993.

18. R. P. Paul, Robot Manipulators, 1981. 19. H. Zhuang and Z. S. Roth, “Method for kinematic

calibration of stewart platforms,” J. of Robotic Systems,

20. C-H. Menq, J-H. Born, and Z. L. Lai, ”Identification and observability measure of a basis set of error param- eters in robot calibration,” J. of Mechanisms, Transmis- sions, and Automation in Design, 111, 513-518, 1989.

10, 391-405, 1993.