S Besnard

W Khalil

Identifiable Parameters for Parallel Robots Kinematic Calibration

This paper presents a numerical method for the determination of the identifiable parameters of parallel robots. The special case of Stewart-Gough 6 degrees-offreedom parallel robots is studied for classical and self calibration methods, but this method can be generalized to any kind of parallel robot. The method is based on QR decomposition of the observation matrix of the calibration system. Numerical relations between the identifiable and non identifiable parameters can be obtained.

Introduction

The classical methods for parallel robot calibration need external sensors to measure the position and orientation of the mobile platform [START_REF] Masory | On the accuracy of a Stewart platform -Part II, Kinematic calibration and compensation[END_REF] [2] [3] [4] [START_REF] Besnard | Calibration of parallel robots using two inclinometers[END_REF]. The calibration problem is formulated in terms of minimizing the difference between the measured and computed motorized joint variables, it uses the inverse kinematic model which is easy to calculate for parallel robots. Self calibration methods using extra sensors on the passive joints have been also proposed for parallel robots [START_REF] Wampler | An implicit loop method for kinematic calibration and its application to closed-chain mechanisms[END_REF] [START_REF] Zhuang | Self calibration of a class of parallel manipulators[END_REF] [8] [START_REF] Zhuang | Self calibration of parallel mechanisms with a case study on Stewart platforms[END_REF]. These methods are based on the use of redundant sensors on the passive joints and to adjust the values of the kinematic parameters in order to minimize a residual between the measured and the calculated values of the angles of these joints. As many parallel robots don't have redundant sensors on the passive joint, mechanical constraints on the leg can also be used [START_REF] Maurine | Towards more accurate parallel robots[END_REF] [START_REF] Khalil | Self calibration of Stewart-Gough parallel robots without extra sensors[END_REF].

For some calibration methods, all the geometric parameters cannot be identified. In previous work, the identifiable parameters of parallel robots are derived by intuition. In the case of serial robots, the identifiable parameters are computed from a QR decomposition of the analytical observation matrix [START_REF] Khalil | Comparison study of the geometric parameters calibration methods[END_REF]. We propose to extend this method for parallel robots even in the case where the Jacobian matrix cannot be obtained analytically.

Description of the robot

The parallel robot studied here is the Stewart-Gough 6 degrees of freedom robot (Figure 1). The base connections are composed of Universal joints (U-joints) and the platform connections are composed of Spherical joints (S-joints). The centers of the U-joints and S-joints are denoted by A i and B i (i = 1 to 6) respectively. The configuration of the parallel robot is given by the (6x1) vector L representing the leg lengths A i B i for i=1,…,6:

L = [ l 1 l 2 l 3 l 4 l 5 l 6 ] T (1-a)
Typically each variable is given as:

i off i i q q l , + = (1-b)
where q i is the prismatic position sensor reading and q off,i is a fixed offset value. Let the frame F 0 be fixed with respect to the base and frame F m fixed to the movable platform, such [START_REF] Zhuang | Self calibration of a class of parallel manipulators[END_REF]:

-A 1 is the origin of frame F 0 , while the x 0 axis is determined by (A 1 A 2 ) and x 0 y 0 plane is determined by the points A 1 , A 2 and A 6 .

-similarly, B 1 is the origin of frame F m , while B 1 B 2 represents its x m axis and B 1 B 2 B 6 its x m y m plane.

With this definition of F 0 and F m we have:

0 Px A1 = 0 Py A1 = 0 Pz A1 = 0 Py A2 = 0 Pz A2 = 0 Pz A6 = 0 2/6 m Px B1 = m Py B1 = m Pz B1 = m Py B2 = m Pz B2 = m Pz B6 = 0
Where j P Pi denotes the coordinates of the point P i with respect to coordinate system F j and:

j P Pi = [ j Px Pi j Py Pi j Pz Pi ] T
Thus, the robot is described by 24 constant parameters which may be not equal to zero.

A 1 A 6 A 5 A 4 A 3 A 2 B 1 B 6 B 5 B 4 B 3 B 2 F m F 0 F E F -1 -1 T 0 m T E O E O -1
Figure 2: Definition of the frames The (4x4) transformation matrix between frames F 0 and F m giving the location (position and orientation) of the platform with respect to the base is denoted by:

0 T m =       1 0 0 0 P A m 0 m 0 (2)
The location of frame F 0 with respect to the world reference frame F -1 of the environment is given by a transformation matrix Z. In addition, the matrix E denotes the location of the end-effector frame F E in frame F m (cf. Figure 2). The location of the end-effector frame relative to the world reference frame is:

E T Z T m 0 E 1 ⋅ ⋅ = - (3)
Thus, the coordinates of A i relative to frame F -1 are:

      ⋅ =       ⋅ =       - - 1 P Z 1 P T 1 P i i i A 0 A 0 0 1 A 1 (4)
The coordinates of point B i relative to frame F E are:

      ⋅ =       ⋅ =       1 P E 1 P T 1 P i i i B m B m m E B E (5)
The matrices Z and E can be defined using 6 independent parameters. Thus, we can describe the geometry of the robot using 36 constant parameters: either by -1 P Ai and E P Bi , or by 0 P Ai , m P Bi and the matrices E and Z. The total number of parameters is thus equal to 42, after taking into account the 6 joint variables.

For the calibration, we propose to use the coordinates of points A i and B i in frames F -1 and F E respectively in order to have homogeneous parameters to identify (only lengths). From these coordinates, it is easy to find the transformations Z and E, and the coordinates of the points of the base and the platform in frames F 0 and F m .

Kinematic modeling

The inverse kinematic model (IKM) which computes the leg lengths vector for a desired -1 T E is unique and easy to obtain [START_REF] Merlet | Les robots parallèles[END_REF]. While, the direct kinematic model (DKM), which gives the matrix -1 T E as a function of a given leg lengths vector, is difficult to obtain analytically and up to 40 solutions may exist [START_REF] Husty | An Algorithm for solving the direct kinematic of Stewart-Gough-type platforms[END_REF]. A numerical iterative method based on the inverse Jacobian matrix is used to find a local solution for the DKM.

General calibration models

The aim of the kinematic calibration is to estimate accurately the geometric parameters. All the calibration methods are based on calculating a function, for sufficient number of configurations, in terms of the robot parameters and some external variables. The model parameters are estimated by minimizing this function by solving a nonlinear system of equations. The general form of the calibration equation is:

1 1 1 e e e f ( , , ) F( , , ) 0 f ( , , ) q x Q X q x η η η     = =       ! (6)
where η denotes the geometric parameters, Q={ q 1 ,…, q e } T contains the prismatic positions of the robot for e different configurations, and X = { x 1 ,…, x e } T are the corresponding external measured variables such as the Cartesian coordinates. This nonlinear optimization problem can be solved by the leastsq function of Matlab based on the Levenberg-Marquardt method.

Supposing that the U-and S-joints are perfect, we have to identify the error ∆ -1 P Ai , ∆ E P Bi , ∆q off,i (with i = 1,…,6). They will be collected in the vector ∆η. Before solving the calibration equation, it is important to define the identifiable parameters, because only these parameters can be identified without ambiguity. We propose to determine these parameters using QR decomposition of the observation matrix of the linearized model of randomly e configurations satisfying the constraints of the calibration procedure. The outlines of this algorithm is given references [START_REF] Khalil | Comparison study of the geometric parameters calibration methods[END_REF][START_REF] Khalil | Gecaro: A system for the geometric calibration of robots[END_REF]. The linearized equations corresponding to the nonlinear equation ( 6) can be written as:

) W(Q, ) , (Q, ρ η η η + ∆ ⋅ = ∆ X Y ( 7
)
where ∆Y is the difference between the model and the real robot, W is the (r , np) observation matrix of the system, with np the number of geometric parameters and r >> np,

The vector ρ indicates the residual errors owing to noise or modeling errors.

For parallel robots, the observation matrix W can be obtained analytically for the calibration method which is based on the IKM. For all the other methods we have to calculate W numerically by supposing small variations ε on each geometric parameter and calculating the corresponding ∆Yi. The j th column of W corresponding to that parameter will be computed as ∆Y j /ε . Good results are obtained with ε = 10 -6 meter for each parameter.

The number of the identifiable parameters denoted by b.

The QR decomposition will provide as a set of identifiable parameters those corresponding to the first b independent columns of W. We assign a priority number to each parameter, the parameters with higher priority will be placed at first in η. We place at first the offsets q off,i (priority 3), and we place at the end the 12 coordinates of the points defining frames F 0 and F m ( -1 Px A1 , -1 Py A1 , -1 Py A2 , -1 Pz A1 , -1 Pz A2 , -1 Pz A6 , E Px B1 , E Py B1 , E Py B2 , E Pz B1 , E Pz B2 , E Pz B6 ) (priority 1), the other parameters will get priority 2 and will be placed after the offset parameters in the following order:

-1 Px A2 ,…, -1 Px A6 , -1 Py A3 ,…, -1 Py A6 , -1 Pz A3 ,…, -1 Pz A6 , then E Px B2 ,…, E Px B6 , E Py B3 ,…, E Py B6 , E Pz B3 ,…, E Pz B6 .

Application to calibration methods

We compute the identifiable parameters for several calibration methods for the parallel robot whose nominal parameters are given in Table 1. The obtained identifiable parameters are valid for any robot of the Stewart-Gough type. The grouping relations of the non identifiable parameters are functions of the numerical values of the geometric parameters. l e g 1 2 3 4 5 6 -1 Px Ai 0 0,8426 0,9382 0,5168 0,3258 -0,0955 -1 Py Ai 0 0 0,1654 0,8952 0,8952 0,1654 -1 Pz Ai 0 0 0 0 0 0 E Px Bi 0 0,1042 0,3340 0,2819 -0,1777 -0,2298 E Py Bi 0 0 0,3980 0,4883 0,4883 0,3980 E Pz Bi 0 0 0 0 0 0 q off,i ,85 0,85 0,85 0,85 0,85 0,85 Table 1: Nominal values of the geometric parameters

Calibration using the IKM

Measuring the location of the platform, the inverse kinematic model (IKM) can be used to compute the 6 leg lengths of the robot. The calibration method consists in minimizing the residual between the computed and the measured prismatic variables [START_REF] Zhuang | Kinematic calibration of Stewart platforms using pose measurements obtained by a single theodolite[END_REF].

The equation for each leg and each configuration is:

( ) ( )           ∆ ∆ ∆             - - - - - - = ∆ - - - - - - - - i i i i q L L q , off B E A 1 T E 1 T E 1 B E E 1 A 1 T E 1 B E E 1 A 1 i i i i i i P P . A . P P . A P P P . A P 1 (8)
Applying this equation for the 6 legs of the robot and e configurations, we have the relation:

η η ∆ = ∆ . ) , W(X Q ( 9
)
where ∆Q is the difference between the measured prismatic joint values and those computed by the IKM.

Note that the observation matrix W can be computed analytically. Using ( 9) for e random configurations, with e >> 7 such that the number of rows of W is greater than the number of the parameters. The rank of the matrix W is 42. Thus, all the parameters can be identified. The condition number of W can be used as a measure of the excitation of the parameters by the calibration method.

Using e configurations such that the number of equations is 4 times the number of parameters we find that The condition number of W is about 350.

Calibration with measurement of the position of the platform

Measuring only the position of the platform, we cannot use the IKM of the robot since we have only 3 equations to solve a system of 6 unknowns (the 6 leg lengths of the robot). Nevertheless, using the direct kinematic model (DKM), if we consider a configuration q of the robot and p E the measured position of the effector in frame F -1 , we can write the nonlinear model of calibration as:

1 E E P ( , ) 0 q p η - - = (10)
The corresponding linear differential model is:

η η ∆ Ψ = ∆ . ) , ( p E q (11)
The Jacobian matrix Ψ is obtained numerically by supposing small variation on each parameter and calculating the corresponding variation on E p ∆ .

Measuring the position of the end-effector for a sufficient number e of random configurations (minimum 14 configurations), we have:

η η η η η ∆ = ∆           Ψ Ψ =           ∆ ∆ = ∆ . ) , W( . ) , ( ) , ( 1
1 1 E E Q q q p p P e e e ! ! Ε Ε Ε Ε (12)
The rank of the matrix W is obtained as 39. The identifiable parameters of the system are obtained by the QR decomposition of this matrix. Applying the rules of priority described in section 3, the errors ∆ E Py B2 , ∆ E Pz B2 and ∆ E Pz B6 are not identifiable and their effect are grouped on the other parameters which defines the positions of the S-joints on the mobile platform. We propose to fixe these parameters such that:

0 6 2 2 B E B E B E = = = Pz Pz Py ( 13
)
This makes that the orientation of frame E, which cannot be determined, is such that the x axis is along the measured point and the point B 2 while the xy plane is along the measured point and the points B 2 and B 6 . The condition number of the observation matrix W for this calibration method using a number of equations which is equal to 4 times the number of parameters is about 2000.

Calibration using two inclinometers

In this calibration method the rotation angles of the platform of the robot about x m and y m axis are measured by two inclinometers fixed on the platform [START_REF] Besnard | Calibration of parallel robots using two inclinometers[END_REF]. For a given configuration q, the theoretical values α 1 and α 2 of the inclinometers can be computed using the DKM. These values are functions of some elements of the orientation matrix -1 A E and of the angle γ between the inclinometers axes. The linear differential model can be written as:

η γ η Φ ∆ Ψ = ∆ . ) , , (q (14)
where ∆Φ is the difference between the inclinometers measured values Φ m and those computed by the model Φ, and Ψ is the numerical Jacobian matrix (cf. section 3).

Using a sufficient number e of configurations:

η γ η Φ Φ ∆ ⋅ =           ∆ ∆ ) , , W( 1 Q e (15)
The rank of W is 36, there are 4 non identifiable parameters concerning the U-joints (∆ -1 Px A1 , ∆ -1 Py A1 , ∆ -1 Pz A1 and ∆ -1 Py A2 ) and 3 on the position of the S-joints (∆ E Px B1 , ∆ E Py B1 and ∆ E Pz B1 ). The effect of these parameters are grouped on the other parameters of the base (U-joints) and the platform (S-joints) respectively. These results are confirmed by the study of the geometry of the system. The position coordinates of the inclinometers on the platform have no effect. Consequently, we can consider that the origin O E , which cannot be determined by this method, is aligned with the origin of frame F m . Then we have by convention:

0 1 1 1 B E B E B E = = = Pz Py Px (16)
Similarly, the position of the base of the robot with respect to F -1 has no influence on the inclinometers measurement, as well as its orientation around the vertical axis. We can define arbitrarily the origin of frame F -1 as A 1 and the axis x -1 and z -1 such that A 2 is in the plane (A 1 x -1 z -1 ). Then we have by definition:

0 2 1 1 1 A -1 A -1 A -1 A -1 = = = = Py Pz Py Px (17)
The condition number of the linear observation matrix W for this method using a number of equations which is equal to 4 times the number of parameters is about 2000.

Calibration with mechanical constraints on the orientation of the legs

This method uses the variables of the motorized prismatic joints corresponding to configurations where either one Ujoint or one S-joint is fixed by mechanical lock, thus the leg direction is constant with respect to the base or with the movable platform [START_REF] Khalil | Self calibration of Stewart-Gough parallel robots without extra sensors[END_REF].

Each U-joint i is described by 2 angles θ 1,i and θ 2,i , while each S-joint i is defined using three angles θ 3,i , θ 4,i and θ 5,i .

5/6

For a given configuration q, these angles can be computed by a generalized direct kinematic model [START_REF] Khalil | Self calibration of Stewart-Gough parallel robots without extra sensors[END_REF]:

) , ( , 2 , 1 η θ θ q g y i i u i =       = (18), ) , ( , 5 , 4 , 3 η θ θ
θ q h y i i i s i =           = (19)

Fixing the U-joint of a leg

Supposing 2 configurations q a and q b for which the i th Ujoint has been locked. The nonlinear error function between them is given as 0

) , ( ) , ( = - η η b b u a a u q y q y i i
The differential equation is given as:

η η ∆ ⋅ Ψ = - = ∆ ) , (q y y y b u a u u i i i (20)
With a sufficient number e of configurations:

η η ∆ ⋅ =           - - =           ∆ ∆ = - - ) , ( W
i i i i i i ! ! (21)
The rank of W is 29, giving 7 non identifiable parameters of the base and 6 non identifiable parameters for the platform. The interpretation of this result is given in section 4.4.4. The condition number of the observation matrix for this method using a number of equations 4 times the number of parameters is about 2500.

Fixing the S-joint of a leg

Using a set of configurations Q = { q 1 ,…,q e } for which the i th S-joint has been locked, we can write a differential linear system of equations by the use of relation (19):

η η ∆ ⋅ =           - - =           ∆ ∆ = - - ) , ( W
i i i i i i ! ! (22)
The rank of W (which is computed numerically) is 29, this gives 6 non identifiable parameters for the base and 7 non identifiable parameters for the platform. The condition number of the linear observation matrix W for this calibration method using a number of equations which is equal to 4 times the number of parameters is about 7500.

Mixing the data of locking different joints

If two or more sets of configurations are used, where in each set either an U-joint or a S-joint has been fixed, the rank of the numerical observation matrix W of the calibration system is 30. The QR decomposition of this matrix shows that 6 parameters of the base and 6 parameters of the platform are not identifiable. With the priority rules, defined in section 3, these parameters correspond to those which define the base and the endeffector transformation matrices Z and E. In practice we put them equal to zero:

0 6 2 2 1 1 1 A -1 A -1 A -1 A -1 A -1 A -1 = = = = = = Pz Pz Py Pz Py Px (23) 0 6 2 2 1 1 1 B E B E B E B E B E B E = = = = = = Pz Pz Py Pz Py Px ( 24
)
This gives: frame F -1 = F 0 and F m = F E .

The condition number of the observation matrix W for this method using a number of equations which is equal to 4 times the number of parameters is about (with one Ujoint and one S-joint locked) using four time the number of equations that are necessary is about 700.

Comments

This autonomous method cannot identify the Z and E elements because they have no effect on the angles of the legs with respect to the base or the platform. Thus, the maximum number of identifiable parameters by such autonomous calibration method is 30.

When only one set of configurations is used with one Ujoint (respectively one S-joint) locked, a 7 th geometric parameter of the base (respectively of the platform) cannot be identified. In fact, placing the center of the locked joint along its leg direction will satisfy the locking constraint (cf. figure 3). That is why we have a non identifiable parameter more. This situation has not been mentionned in reference [START_REF] Khalil | Self calibration of Stewart-Gough parallel robots without extra sensors[END_REF], but it has been shown that two different joints must be locked to get good results.

Calibration with sensors on Universal joints

Zhuang [START_REF] Zhuang | Self calibration of parallel mechanisms with a case study on Stewart platforms[END_REF] has presented autonomous methods based on the use of extra sensors on some passive U-joints. Knowing a set of e random configuration Q and the real (measured) values of θ 1,i and θ 2,i of U-joint i for each configuration, the following linear differential system can be written from (18): The QR decomposition of W shows that using only one sensor reading is sufficient to identify 30 parameters which is the maximum for a self calibration method. In this case, the condition number of W is about 1500. This means that the increase of the number of measured angles increases the observability of the system, using 6 sensors on 3 passive U-joint gives reduces the condition number to about 350.

Conclusion

This paper presents a generalized method which gives the identifiable and non identifiable geometric parameters for the calibration methods of parallel robots. This method is based on the QR decomposition of a numerical observation matrix of the calibration system which is obtained numerically by supposing small variations on each geometric parameter of the model. Results are given for several methods, the physical interpretation of the non identifiable parameters has been given. The observability measure of each method is given by the condition number of the observation matrix of the linearized model.

Figure 1 :

 1 Figure 1: Stewart-Gough parallel robot

Figure 3 :

 3 Figure 3: Two different robots with the same orientation of one leg for a given configuration q