Pierre Renaud
email: renaud@ifma.fr

Nicolas Andreff

Grigore Gogu

Philippe Martinet

On Vision-based Kinematic Calibration of a Stewart-Gough Platform

Keywords: Robot calibration, Parallel mechanism, Computer Vision, Lines, Plücker coordinates x Aj y Aj z Aj x Bj z Bj y Bj q 0j

In this article, we propose a vision-based kinematic calibration algorithm for Stewart-Gough parallel structures. Information on the position and orientation of the mechanism legs is extracted from the observation of these kinematic elements with a standard camera. No workspace limitation, nor installation of additional proprioceptive sensors are required. The algorithm is composed of two steps: the first one enables us to calibrate the position of the joint centers linked to the base and possibly evaluate the presence of joint clearances. The kinematic parameters associated to the moving elements of the platform are calibrated in a second step. The algorithm is first detailed, then an experimental evaluation of the measurement noise is performed, before giving simulation results. The algorithm performance is then discussed.

Introduction

Compared to serial mechanisms, parallel structures exhibit a much better repeatability [START_REF] Merlet | Les Robots Parallèles[END_REF] , but not better accuracy [START_REF] Wang | On the accuracy of a stewart platform -part I: the effect of manufacturing tolerances[END_REF] . A kinematic calibration is thus also needed. The algorithms proposed to conduct calibration for these structures can be classified in three categories: methods based on the direct use of a kinematic model, on the use of kinematic constraints on mechanism parts, and methods relying on the use of redundant proprioceptive sensors.

The direct kinematic model can rarely be expressed analytically [START_REF] Merlet | Les Robots Parallèles[END_REF] . The use of numerical models to achieve kinematic calibration may consequently lead to numerical difficulties [START_REF] Daney | Etalonnage géométrique des robots parallèles[END_REF] . On the other hand, the inverse kinematic model can usually easily be derived analytically. Calibration can then be performed by comparing the measured joint variables and their corresponding values estimated from an end-effector pose measurement and the inverse kinematic model. The main limitation is the necessary full-pose measurement. Among the proposed measuring devices [START_REF] Curtino | Threedimensional metrology frame for precision applications[END_REF][START_REF] Vincze | A laser tracking system to measure position and orientation of robot end effectors under motion[END_REF][START_REF] Masory | Measurement of pose repeatability of Stewart platform[END_REF][START_REF] Schmitz | A new sensor for the micrometrelevel measurement of three-dimensional dynamic contours[END_REF] , only a few have been used to conduct parallel structure calibration [START_REF] Zhuang | Kinematic calibration of a Stewart platform using measurements obtained by a single theodolite[END_REF][START_REF] Geng | A "3-2-1" kinematic configuration of a Stewart platform and its application to six degrees of freedom pose measurements[END_REF][START_REF] Fried | A 3-D sensor for parallel robot calibration, A parameter Perturbation Analysis[END_REF][START_REF] Vischer | Kinematic calibration of the parallel delta robot[END_REF] . The systems are either very expensive, tedious to use or have a low working volume. The use of an exteroceptive sensor may also lead to identifiability problems during the calibration process [START_REF] Renaud | Visionbased kinematic calibration of a H4 parallel mechanism[END_REF] .

Methods based on kinematic constraints of the endeffector [START_REF] Daney | Etalonnage géométrique des robots parallèles[END_REF] or legs of the mechanism [START_REF] Daney | Etalonnage géométrique des robots parallèles[END_REF][START_REF] Geng | An effective kinematics calibration method for stewart platform[END_REF][START_REF] Zhuang | Method for kinematic calibration of stewart platforms[END_REF][START_REF] Khalil | Self calibration of Stewart-Gough parallel robots without extra sensors[END_REF] are interesting because no additional measurement device is needed. However, the methods based on kinematic constraints of the end-effector are not numerically efficient [START_REF] Daney | Etalonnage géométrique des robots parallèles[END_REF] , because of the workspace restriction, and kinematic constraints of the legs of the mechanism in position or orientation seem difficult to achieve experimentally on large structures.

The use of additional proprioceptive sensors on the passive joints of the mechanism enables one to have a unique solution to the direct kinematic model [START_REF] Tancredi | De la simplification et la résolution du modèle géométrique direct des robots parallèles[END_REF] , and then use a criterion based on this model. An alternate way is to use the additional sensors on some legs to express a direct or inverse kinematic model as a function of the parameters of these legs and the redundant information. Calibration can then be achieved in a single process [START_REF] Wampler | Calibration of robots having kinematic closed loops using non-linear least-squares estimation[END_REF][START_REF] Zhuang | Self calibration of parallel mechanisms with a case study on Stewart platforms[END_REF] or in two steps [START_REF] Daney | Etalonnage géométrique des robots parallèles[END_REF] . The main advantages of these methods are the absence of workspace limitation and the analytical expression of the identification criterion. However, practically speaking, the design of the mechanism has to take into account the use of these sensors. Furthermore, for some mechanisms, the passive joints can not be equipped with additional sensors, for instance spherical joints. Consequently, we propose a method that combines the advantage of information redundancy on the legs with non-contact measurements to perform the kinematic calibration.

The parallel mechanisms are designed with slim, often cylindrical, legs that link the end-effector and the base. The kinematic behavior of the mechanism is closely bound to the movement of these legs. Hence the study of their geometry has already led to singularity analysis based on line geometry [START_REF] Merlet | Parallel manipulators, Part 2, Singular Configurations and Grassmann geometry[END_REF] . For such geometrical entities, the image obtained with a camera can be bound to their position and orientation. By observing simultaneously several legs, it is then possible to get information on the relative position of the legs. Calibration can then be achieved by deriving an identification algorithm adapted to this information. No workspace limitation is introduced, nor modification of the mechanism.

In this article, we introduce an algorithm for visionbased kinematic calibration of parallel mechanisms that uses observation of the mechanism legs. The method is developed in the context of the Sewart-Gough platform [START_REF] Stewart | A platform with six degrees of freedom[END_REF] calibration. The method is composed of two steps: the first one consists of determining the location of the joints between the base and the legs, with the ability to analyze presence of joint clearances. The second step enables one to perform the identification of the actuator offsets and the location of the joints between the legs and the end-effector.

The first section presents the mechanism modelling. The identification algorithm is then detailed, recalling first the relation between position and orientation of a cylindrical axis and its image projection. The two steps of the identification are then detailed. In the third section, an evaluation of the proposed method is achieved by an experimental estimation of the measurement accuracy and a simulation of the identification of a Deltalab Stewart-Gough platform. In order to discuss the calibration method, the results are analysed in terms of kinematic parameter knowledge improvement and accuracy improvement. Conclusions are then finally given on the performance and further developments of this method.

Kinematic Modelling

The Stewart-Gough platform is a six degree of freedom fully parallel mechanism, with six actuated legs positioning the end-effector (Fig. 1). The analysis influence of the manufacturing tolerances on the accuracy of such mechanisms has shown [START_REF] Wang | On the accuracy of a stewart platform -part I: the effect of manufacturing tolerances[END_REF] that the most influential kinematic parameters are the position of each leg on the base and on the end-effector as well as the joint encoder offsets. Therefore 42 parameters define the kinematic model.

For manipulators, the controlled pose is the transformation between the world frame R w and the tool frame R t (Fig. 1). Noting R b the frame defined by the joints between the legs and the base and R e the frame defined by the joints between effector and legs, twelve parameters define the transformations w T b between world and base frames, and e T t between end-effector and tool frames. However these transformations are dependent on the application and must be identified for each tool and relocation of the mechanism. Therefore we only consider the thirty kinematic parameters that define relatively the joint locations on the base A j and the end-effector B j , and the joint offsets. The transformations w T b and e T t can be identified by other techniques [START_REF] Tsai | A new technique for fully autonomous and efficient 3D robotics hand/eye calibration[END_REF][START_REF] Andreff | Robot hand-eye calibration using structure-from-motion[END_REF] .

Projection of a cylinder

We consider the relationship that can be expressed between the position and orientation of the legs of the mechanism, supposed to be cylindrical of known radius R, and their image. The image formation is represented by the pinhole model [START_REF] Faugeras | Three-dimensional Computer Vision: A Geometric Viewpoint[END_REF] and we assume that the camera is calibrated.

In such a context, a cylinder image is composed of two lines (Fig. 2), generally intersecting except if the cylinder axis is going through the center of projection. Each corresponding generating line

D i , ] 2 , 1 [ ∈ i
can be defined in the camera frame R c (C, x c , y c , z c ) by its Plücker coordinates [START_REF] Pottmann | Approximation in line space -applications in robot kinematics and surface reconstruction[END_REF] ) , ( i i h u with i u the unit axis direction vector and i h defined by:

CP u h × = i i ( 1
)
where P is an arbitrary point of D i , and × represents the vector cross product. Each generating line image can be defined by a triplet (a i ,b i ,c i ) such that this line is defined in the sensor frame R s (O, x s , y s ) by the relation:

( )( ) ⎪ ⎩ ⎪ ⎨ ⎧ = + + = 1 0 1 2 2 2 i i i T i i i c b a y x c b a (2)
Due to perspective geometry, (a i ,b i ,c i ) and i h are colinear, thus, provided that lines are oriented, one has:

i i i T i i i c b a h h h = = ) , , ( (3)

Determining the cylinder axis direction from the image

Since we now consider that the projection ) , ( 21 h h of the cylinder is known, the cylinder axis direction u can be computed by:

2 1 2 1 h h h h u × × = (4)

Determining the cylinder axis position from the image

Furthermore the distances between the cylinder axis and the generating lines are equal to the cylinder radius. Let M(x M ,y M ,z M ) be a point of the cylinder axis. As i h is computed as a unit vector, we can express the belonging of M to the axis by the two equations:

R i T i ε = M h , ] 2 , 1 [ ∈ i (5)
with ε 1 =±1, ε 2 =-ε 1 . The determination of ε 1 is performed in the grayscale image by analyzing the position of the cylinder with respect to the generating line d 1 . As the lines are chosen with the same orientation, ε 1 and ε 2 are of opposite sign.

C O D 1 D 2 d 1 d 2 y C x C z C x s y s
It can be easily proved that the kernel dimension of be computed, under condition of its existence, by solving the linear system (5). A comparison of these two methods is given with the experimental results.

From the observation of one leg with a camera, it is thus possible to determine the position and orientation of its axis in the camera frame.

Static part calibration

In the following we use the information on the legs to achieve the kinematic calibration of the mechanism. The identification process is performed in two steps: in the first part, we calibrate the parameters related to the static part of the mechanism and in the second part to the moving part.

Joint center estimation in the camera frame

For each spherical joint j, T images of the corresponding leg are stored for different end-effector poses. The position of the joint center A j in R c can be computed by expressing its belonging to the axis for the T poses: (6) with M k the axis point computed from the leg image in section 3.1 and k j, u the axis orientation.

] , 1 [ , , T k k j k j ∈ = × 0 u M A
The coordinates (x Aj , y Aj , z Aj ) are therefore estimated from the over-determined system obtained by concatenation of the 3T equations expressed in (6). As the three equations provided by the cross product for each pose are not independent, the solution is obtained by a singular value decomposition, which enables us to compute the least-squares estimate.

Notice that, with the estimated position of the joint centers A j , the generating line images can be computed for each pose, and compared to the lines obtained by image detection. It is then possible to evaluate the presence of joint clearances, which is not possible with proprioceptive sensors, like rotary joint sensors.

Joint center estimation in the base frame

The base frame is defined by using three joint centers. The joint positions in the base frame are then given by twelve parameters.

For a given camera position defined by the camera frame R cα , m α legs can be observed for any end-effector pose. Let Q α be this leg set. Their corresponding position and orientation can therefore be computed in R cα using (6). Using the distance invariance with frame transformation, we can compute m α (m α -1)/2 equations between joint positions in the camera frame and the base frame: (7) To perform the joint position determination in the base frame, two conditions have to be fulfilled: The number of equations has first to be greater or equal to the number of parameters to identify: (8) with L the number of camera positions. Secondly, all the legs which joint position location has to be determined have to be observed at least once.

j g Q g j b R c g j R g j > ∈ - = - , ) , ( , α α A A A A
The joint center positions in the base frame A j are computed by non-linear minimization of the criterion C 1 :

∑ ∑ = > ∈ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ - - - = L j g Q g j R g j R g j b c C 1 2 , ) , ( 1
α α α A A A A (9)
At the end of this first step, the relative positions of the joint centers between base and legs are determined, without any other assumption on the kinematics than the absence of joint clearance. This latter hypothesis can be checked during the computation of the joint centers.

If the previously outlined identifiability conditions can not be fulfilled, the use of an additive calibration board linked to the base enables one to compute for each leg its position and orientation w.r.t the camera frame and also the pose of the camera w.r.t the calibration board [START_REF] Dhome | Determination of the attitude of 3-D objects from a single perspective view[END_REF] . The gathering of the data for the different camera positions is then possible.

Moving part identification

In this second step, the joint encoder offsets are identified, and consequently the relative positions of the joints between the legs and the end-effector.

For each successive camera frame R cα , the joint center positions on the base and the axis orientations are now known. The position of the leg end B j can therefore be computed for the T poses as a function of only the offset q 0j in the camera frame:

] , 1 [ , ) ( , 0 , , T k q q c c c R k j j k j R j R k j ∈ + + = α α α u A B ( 10
)
By expressing the conservation of the distances

j g Q g j g j > ∈ - , ) , ( , α B B
, m α (m α -1)/2 equations can be written. Comparing the value of these distances between two consecutive positions, an error function C 2 can then be expressed as a function of the six joint offsets (11) with B j,k the position of B j for the k-th end-effector pose.

] 6 , 1 [ , 0 ∈ j q j : ∑ ∑ ∑ = - = > ∈ + + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ - - - = L T k j g Q g j Rc k g k j R k g k j c C 1 1 1 ) , ( 2 , , 1 , 1 , 2 α
α α α B B B B
The determination of the six joint offsets enables us to compute the average value of B B g jand therefore the relative position of the joints on the end-effector in the end-effector frame. The computation is similar to the one achieved to compute the joint positions on the base using ( 6)-( 9).

Notice that an alternate way to determine the location of the joints between the end-effector and the legs could be to mount the camera on the end-effector and then follow the procedure used to calibrate the base. However, we could then not identify the joint offsets.

Method Evaluation

The proposed method is here validated for the Deltalab Stewart-Gough platform (Fig. 3). First the calibration conditions are detailed. Then the measurement accuracy is experimentally evaluated. The simulation of the identification process with the formerly evaluated measurement noise is then achieved. To estimate the calibration method performance, analysis of the identified parameters and accuracy improvement is eventually conducted.

Calibration conditions

Because of the symmetry of the mechanism (Fig. 3), three different camera positions are considered (i.e. L=3). The simultaneous observation of four legs is then sufficient: m α =4.

Measurement accuracy

As the camera is an exteroceptive sensor, two consecutive measurements can be considered as independent. The measurement accuracy can therefore be evaluated from a set of consecutive measurements, for a constant leg position.

A 1024 × 768 camera with a 6mm lens is used to acquire the images, connected to a PC via an IEEE1394 bus. Ten images are stored and averaged for each pose, in order to suppress high-frequency noise. Cylinder outline detection is achieved by means of a Canny filter [START_REF] Canny | A computational approach to edge detection[END_REF] (Fig. 4). Lines are then computed by a least-squares method.

Six equally-spaced leg orientations are considered within the extremal values. In Table 1, upper-bound of the estimated standard deviations of the cylinder position and orientation are listed. The orientation is described with the Euler angles (ψ,θ). The position is obtained with the two methods presented in 3.1.3. In this application, the position is apparently more accurately computed with the second method than with the SVD. It must be also stated that the image processing could be improved by the use of a subpixel detection filter [START_REF] Faugeras | Three-dimensional Computer Vision: A Geometric Viewpoint[END_REF][START_REF] Pottmann | Approximation in line space -applications in robot kinematics and surface reconstruction[END_REF][START_REF] Dhome | Determination of the attitude of 3-D objects from a single perspective view[END_REF][START_REF] Canny | A computational approach to edge detection[END_REF][START_REF] Steger | Removing the Bias from Line Detection[END_REF] and now available higher CCD resolution sensor, since the accuracy is intrinsically bound to this resolution. ξ its identified value. We can then quantify the calibration gain by the ratio proposed in [START_REF] Daney | Etalonnage géométrique des robots parallèles[END_REF] between the error committed before and after calibration on each kinematic parameter:

i gt i in i gt i id i CG ξ ξ ξ ξ - - - = 1 ] 30 , 1 [ ∈ i (12)
A calibration gain equal to one should be obtained.

In order to evaluate the influence of a parameter estimation error, we also compute for ten randomly chosen poses the displacement error ∆X:

id gt X ξ 1 1 ξ 1 1 B A B A - = ∆ (13)
and the orientation error ∆E:

ϕ θ ψ ∆ ∆ ∆ = ∆E (14)
where (∆ψ, ∆θ, ∆φ) are the Euler angles defining the difference between the end-effector orientation computed with the kinematic parameter sets gt ξ and the one computed with id ξ .

Simulation process

Fifteen end-effector poses are generated by randomly selecting configurations with extreme leg lengths. These leg lengths are corrupted with noise to simulate proprioceptive sensor measurements (uniformly distributed noise, variance equal to 3µm). The leg orientation and axis points M i are modified by addition of white noise with standard deviation equal to those previously estimated in Table 1. For each end-effector pose, three images are acquired with the camera to reduce the measurement noise. Initial kinematic parameter values are obtained by addition to the model values of a uniform noise with variance equal to 2mm. The base and endeffector frames are defined using joint centers 1, 3 and 5.

Results

The average calibration gains, computed by 100 simulations of the calibration, are indicated in Table 2.

The figure 5 represents the ground-truth parameter values and the mean estimation errors i i gt id ξ ξ -. A sharp improvement of the knowledge of the kinematic parameters is observed, except for the z component of the joint locations. The negative calibration gain indicates that a priori parameter value is closer to the reference value than the identified one. The parameter estimation errors are however low with an average error between 0.04mm and 1mm.

It must also be underlined that the accuracy improvement is significant with an average displacement error reduced from 1mm for the initial kinematic parameters to 0.08mm, and an orientation error reduced from 0.12rad to 0.018rad.

Conclusions

In this article, a vision-based calibration method for Stewart-Gough parallel structures has been proposed. Using an exteroceptive sensor, the thirty kinematic parameters of the structure are identified. No mechanical constraint nor additional proprioceptive sensor are required. The method is low-cost as standard off-the-shelf cameras are used. The experimental evaluation of measurement accuracy and the simulation results show a significant accuracy improvement. The algorithm performance can be improved by using more accurate detection algorithms, and a better selection of the endeffector poses for calibration, which will soon be implemented.

Figure 1 1

 11 Figure 1 Stewart-Gough platform and the camera, represented in three successive locations 3 Algorithm 3.1 Vision-based information extraction 3.1.1 Projection of a cylinderWe consider the relationship that can be expressed between the position and orientation of the legs of the mechanism, supposed to be cylindrical of known radius R, and their image. The image formation is represented by the pinhole model[START_REF] Faugeras | Three-dimensional Computer Vision: A Geometric Viewpoint[END_REF] and we assume that the camera is calibrated.

Figure 2

 2 Figure 2 Perspective projection of a cylinder and its outline in the sensor frame

Figure 3

 3 Figure 3 The Stewart-Gough platform

Figure 4 1

 41 Figure 4 Stewart-Gough platform image after edge detection 4.3 Simulation 4.3.1 Performance evaluation Simulation allows one to evaluate directly the knowledge improvement of the kinematic parameter values. Let i gt ξ be the ground-truth value of the i-th kinematic parameter ( [1,30] i ∈ ), i in ξ its a priori value, based on the CAD model of the mechanism, and i id

Figure 5

 5 Figure 5 Mean estimations errors (bars) and ground-truth values (line) of the thirty parameters

Table 1 Upper-bound of the standard deviations

 1

	Parameter		ψ		θ	x	M	LS	z	M	LS
	Est. st. dev.	0.05rad	0.06rad	0.05mm	0.1mm
	Parameter	x	M	SVD	y	M	SVD	z	M	SVD
	Est. st. dev	0.05mm	0.70mm.	0.26mm

Table 2 Simulation results

 2

	Kinematic parameters	Mean(CG i ) (%)
	x A2 ; x A3 ; x A4 ; x A5 ; x A6	88.8 ; 88.9 ; 92.2 ; 92.7 ; 93.9
	y A2 ; y A4 ; y A5 ; y A6	95.2 ; 91.7 ; 93.6 ; 83.8
	z A2 ; z A4 ; z A6	41.9 ; 65.2 ; 33.9
	x B2 ; x B3 ; x B4 ; x B5 ; x B6	89.7 ; 93.5 ; 93.5 ; 95.0 ; 93.2
	y B2 ; y B4 ; y B5 ; y B6	89.4 ; 91.4 ; 93.9 ; 94.4
	z B2 ; z B4 ; z B6	63.2 ; 63.8 ; -300
	i q 0	i	∈	, 1 [	6	]	91.0 ; 97.1 ; 93.3 ; 56.3 ; 95.2 ; 83.6

Acknowledgements

This study was jointly funded by CPER Auvergne 2001-2003 and by the CNRS-ROBEA program through the MAX project.