Victor Rosenzveig
email: victor.rosenzveig@irccyn.ec-nantes.fr

Sébastien Briot

Philippe Martinet
email: philippe.martinet@irccyn.ec-nantes.fr

Minimal Representation for the Control of the Adept Quattro with Rigid Platform via Leg Observation Considering a Hidden Robot Model

Previous works on the Gough-Stewart (GS) platform have shown that its visual servoing using the observation of its leg directions was possible by observing only three of its six legs but that the convergence to the desired pose was not guarantied. This can be explained by considering that the visual servoing of the leg direction of the GS platform was equivalent to controlling another robot, the 3-UPS that has assembly modes and singular configurations different from those of the GS platform. Considering this hidden robot model allowed the simplification of the singularity analysis of the mapping between the leg direction space and the Cartesian space.

In this paper, the work on the definition of the hidden robot models involved in the visual servoing using the observation of the robot leg directions is extended to another robot, the Adept Quattro. It will be shown that the hidden robot model is completely different from the model involved in the control of the GS platform. Therefore, the results obtained for the GS platform are not valuable for this robot. The hidden robot has assembly modes and singular configurations different from those of the Quattro. An accuracy analysis is performed to show the importance of the leg selection. All these results are validated on a Quattro simulator created using ADAMS/Controls and interfaced with Matlab/Simulink.

I. INTRODUCTION

Compared to serial robots, parallel robots are stiffer and can reach higher speeds and accelerations [START_REF] Merlet | Parallel Robots[END_REF]. However, their control is more complex because of the highly coupled mechanical structure and many other factors (e.g. clearances, assembly errors, etc.) which degrade stability and accuracy.

Many research papers focus on the control of parallel mechanisms (see [START_REF] Merlet | [END_REF] for a long list of references). Cartesian control is naturally achieved through the use of the inverse differential kinematic model which transforms Cartesian velocities into joint velocities. It is noticeable that, in a general manner, the inverse differential kinematic model of parallel mechanisms does not only depend on the joint configuration (as for serial mechanisms) but also on the end-effector pose. Consequently, one needs to be able to estimate or measure the latter.

Past research works have proved that the robot endeffector pose can be effectively estimated by vision. The most common approach consists of the direct observation of the end-effector pose [START_REF] Espiau | A new approach to visual servoing in robotics[END_REF], [START_REF] Horaud | Visually guided object grasping[END_REF], [START_REF] Martinet | Vision based control law using 3D visual features[END_REF]. However, some applications prevent the observation of the end-effector of a parallel mechanism by vision. For instance, it is not wise to imagine observing the end-effector of a machine-tool while it is generally not a problem to observe its legs that are most often designed with slim and rectilinear rods [START_REF] Merlet | [END_REF].

A first step in this direction was made in [START_REF] Andreff | Vision-based control of a Gough-Stewart parallel mechanism using legs observation[END_REF] where vision was used to derive a visual servoing scheme based on the observation of a Gough-Stewart (GS) parallel robot [START_REF] Gough | Universal tyre test machine[END_REF]. In that method, the leg directions were chosen as visual primitives and control was derived based on their reconstruction from the image. In this work, it has also been observed that:

1) the GS platform can be controlled using the observation of only three leg directions (arbitrarily chosen among its six legs), and that 2) in some cases, the GS platform does not converge to the desired end-effector pose (even if the observed leg directions did) without finding some concrete explanations to these points.

Recently, two of the authors of the present paper have demonstrated in [START_REF] Briot | Minimal representation for the control of Gough-Stewart platforms via leg observation considering a hidden robot model[END_REF] that these two points could be explained by considering that the visual servoing of the leg direction of the GS platform was equivalent to controlling another robot, the 3-UPS (where U stands for an actuated universal joint, P and S for passive prismatic and spherical joints, respectively) that has assembly modes and singular configurations different from those of the GS platform. Considering this hidden robot model allowed the simplification of the singularity analysis of the mapping between the leg direction space and the Cartesian space by reducing the problem to the singularity analysis of a new robot and it was possible to find simple geometric conditions for the singular configurations.

In this paper, the visual servoing of the Adept Quattro using leg observation is considered. It will be shown that another hidden robot model (with a kinematic chain completely different from the 3-UPS, i.e. the hidden model for the vision based control of the GS platform) is involved in this kind of control. Consequently, the assembly modes and singularity conditions of this hidden robot are totally different from those of the 3-UPS and the results obtained in [START_REF] Briot | Minimal representation for the control of Gough-Stewart platforms via leg observation considering a hidden robot model[END_REF] are not valuable for the Quattro.

II. CONTROL OF THE ADEPT QUATTRO WITH RIGID PLATFORM USING LEG OBSERVATION

This part aims at presenting the servoing of the Adept Quattro robot with rigid platform using leg observation.

A. Kinematics of the Quattro with rigid platform

The Quattro (Fig. 1) is composed of four identical kinematic chains (legs), that carry the articulated moving platform. Each of the 4 kinematic chains is actuated from the base by a rotary motor, located at point A i . This motor rotates a proximal link that is linked to an articulated parallelogram, itself attached to the moving platform. The parallelogram consists of two slim and cylindrical shaped rods fitted with ball-joints at points B i1 , B i2 , C i1 and C i2 . As a result, each kinematic chain is a R(2-SS) leg (where R stands for an actuated revolute joint).

There exist two versions of the Quattro: one with a rigid (non-articulated) moving platform, thus leading to a redundant parallel robot with 3 translational degrees of freedom (dof ) of the end-effector, and the other with an articulated platform that allows a supplementary rotation of the endeffector around the vertical axis z. This paper focuses only on the Quattro with the rigid platform, i.e. with 3 translational dof.

In the following of the paper, the notations detailed below are used:

• point B i (C i , resp.) is at the middle of segment B i1 B i2 (C i1 C i2 , resp.) (Fig 1(b)),
• point P , the controlled point of the platform, is the barycentre of points C i ; its coordinates are denoted as P and its velocity as τ p ,

• A i (B i , C i , resp.)

is the vector of coordinates of point

A i (B i , C i , resp.), • q i is the angular coordinate of the actuator i, and is defined as the angle between the axis x i (the projection of vector ---→ A i B i in the horizontal plane (Oxy)) and ---→ A i B i around y i (Fig. 1(b)), • l 1 is the length of the proximal link, and l 2 the length of one rod of the parallelogram, Moreover, the superscript 'i' will be used before the vectors to indicate that the vector coordinates are expressed in the leg local frame (Ox i y i z i ). If no superscript is used, the vector is expressed in the base frame.

The usual inverse kinematics of the Quattro can be computed using the following loop-closure equations (Fig. 1):

i C i -i B i = l 2 i u i (1)
where

i B i = i A i + l 1 cos q i 0 sinq i T = i A i + l 1 i v i (2)
Squaring both sides of (1) and introducing (2) leads to

(x AiCi -l 1 cos q i ) 2 + y 2 AiCi + (z AiCi -l 1 sin q i ) 2 -l 2 2 = 0 (3) where i C i -i A i = [x AiCi , y AiCi , z AiCi ]
T . (3) can be finally solved as a second order polynomial in tan(q i /2) by replacing cos q i by 1t 2 i / 1 + t 2 i and sin q i by 2t i / 1 + t 2 i , where t i = tan(q i /2). Skipping all mathematical derivations, it comes that:

q i = 2 tan -1 -β i ± α 2 i + β 2 i -γ 2 i γ i -α i (4)
(a) picture of the robot where

A i B i1 C i1 u i Fixed base B i2 C i2 u i O Moving platform Prox. link Parallelogram B i x i y i z i C i P v i (b) schematics of leg i
α i = -2l 1 x AiCi , β i = -2l 1 z AiCi γ i = x 2 AiCi + y 2 AiCi + z 2 AiCi + l 2 1 -l 2 2
(5)

The first-order kinematics that relates the platform translational velocity τ p to the actuator velocities can be obtained through the differentiation of (3) with respect to time and can be expressed as:

Aτ p + B q = 0 (6)
where the i-th line of A can be written as

a i = l 2 u T i ( 7
)
and B is a diagonal matrix whose i-th diagonal term is

b i = l 1 l 2 i u T i i v ⊥ i , i v ⊥ i = -sin q i 0 cosq i T (8)
It should be mentioned that A is a 4 × 3 rectangular matrix. As a result, q = -B -1 Aτ p = J inv τ p , or also τ p = J + inv q (9)

where J + inv is the pseudo-inverse of J inv .

B. Kinematics of the the Quattro using leg observation

The servoing of the Adept Quattro robot with rigid platform using leg observation proposes to observe the parallelogram direction u i to control the robot displacements. u i can be obtained directly from ( 1)

u i = (C i -B i ) /l 2 (10)
Introducing ( 2) into [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] and differentiating [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] with respect to time leads to:

ui = τ p -l 1 v ⊥ i qi /l 2 (11)
Finally, from [START_REF] Chaumette | La commande des robots manipulateurs[END_REF], it comes that:

ui = I 3 + l 1 v ⊥ i a i /b i /l 2 τ p = M T i τ p ( 12
)
where I 3 is the 3×3 identity matrix and matrix M T i is called the interaction matrix.

It can be proved that matrix M T i is of rank 2 [START_REF] Andreff | Vision-based control of a Gough-Stewart parallel mechanism using legs observation[END_REF]. As a result, a minimum of two independent legs is necessary to control the end-effector pose. An interaction matrix M T can then be obtained by stacking the matrices

M T i of k legs (k = 2...4). A i C i1 Fixed base B i2 C i2 u i Moving platform Spatial parallelogram B i C i v i Planar parallelogram A i2 A i1 B i3 B i4 (a) kinematic description A i u i Moving platform B i C i u i Actuated U joint B i C i S i L i : Vertex space of leg i Free motion of point B i C i P P C i P B i3 B i4
(b) vertex space for a given vector u i (front view) Fig. 2. A Π(2-UU) leg.

C. Control scheme and interaction matrix

Visual servoing is based on the so-called interaction matrix M T [START_REF] Chaumette | La commande des robots manipulateurs[END_REF] which relates the instantaneous relative motion T c = c τ c -c τ s between the camera and the scene, to the time derivative of the vector s of all the visual primitives that are used through:

ṡ = M T (s) T c ( 13
)
where c τ c and c τ s are respectively the twists of the camera and the scene, both expressed in R c , i.e. the camera frame. Then, one achieves exponential decay of an error e(s, s d ) between the current primitive vector s and the desired one s d using a proportional linearizing and decoupling control scheme of the form:

T c = λ MT + (s) e(s, s d ) (14)
where T c is used as a pseudo-control variable and the upperscript + corresponds to the matrix pseudo-inverse. The visual primitives being unit vectors, it is theoretically more elegant to use the geodesic error rather than the standard vector difference. Consequently, the error grounding the proposed control law will be:

e i = u i × u di ( 15
)
where u di is the desired value of u i . Finally, a control is chosen such that E, the vector stacking the errors e i associated to k legs (k = 2...4), decreases exponentially, i.e. such that

Ė = -λE (16)
Then, introducing

N T i = -[u di ] × M T i (where [...]
× is the antisymetric matrix associated to a 3D vector [START_REF] Martinet | Vision based control law using 3D visual features[END_REF]), the combination of ( 12), ( 15) and [START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF] gives

τ p = -λN T + E ( 17
)
where N T can be obtained by stacking the matrices

N T i of k legs (k = 2...4).
This expression can be transformed into the control joint velocities using (9):

q = -λJ inv N T + E (18)
In the next section, it is shown that observing the displacement of the leg directions u i is intrinsically equivalent to controlling another robot, different from the Quattro.

III. DESCRIPTION OF THE HIDDEN ROBOT MODEL

A. Description of the hidden robot architecture

In [START_REF] Briot | Minimal representation for the control of Gough-Stewart platforms via leg observation considering a hidden robot model[END_REF], it has been demonstrated that the visual servoing of the leg directions of the GS platform was equivalent to controlling another virtual robot composed of UPS legs, for which the measure of the vectors u i was an image of the displacements of the actuated U joints. So, in a reciprocal manner, one could wonder what kind of virtual equivalent leg is involved in the visual servoing of the Quattro using leg directions.

The virtual equivalent leg for the Quattro must:

• guaranty that the kinematic relations ( 4), ( 9), ( 10) and ( 12) are still valid, • ensure that, when only two legs are observed, the equivalent robot made of the two virtual legs is able to keep the platform orientation constant, • contain active U joints that can be related to the measure of u i , i.e. these joints should move if and only if the value of u i is changing.

Considering these three points, it could be proved by a simple kinematic analysis that the equivalent leg has a Π(2-UU) architecture, (where Π stands for a planar parallelogram linkage joint -Fig. 2(a)). The Π joint keeps constant the orientation of the rod B i3 B i4 (Fig. 2(b)) and garanties that, as long as the vector u i is set at a constant value, the first U joints (that link the planar and spatial parallelograms) are not moving. The passive U joints linked to the platform prevent its rotation when only two legs are used. Thus, observing the direction of the Quattro leg remains not to control the displacement of a R(2-SS) leg but of a virtual Π(2-UU) leg with the same geometric properties as the real leg ( ---→ 2). It can be demonstrated that a 2-Π(2-UU) robot (Fig. 3(a)) is fully-actuated. Therefore, this is the reason why it is possible to control the Quattro by observing the displacements of two of its four legs. This is equivalent to actuate a virtual 2-Π(2-UU) robot with the same geometric properties as the Quattro (same attachment points, leg length, etc.), but with assembly modes and singular configurations that differ from those of the Quattro. They should be studied in order to avoid control problems.

A i B i = l 1 , ---→ B i C i = l 2 in Fig.

B. Forward kinematic analysis

Using the developped form of ( 1) and ( 2), it comes that:

⎡ ⎣ x AiCi -l 2 u x i y AiCi -l 2 u y i z AiCi -l 2 u z i ⎤ ⎦ = l 1 ⎡ ⎣ cos q i 0 sin q i ⎤ ⎦ (19)
where

u T i = [u x i u y i u z i ].
Rearranging the terms of ( 19) and developping the expressions, a set of equations can be obtained

(for i = 1 • • • 4) l 2 1 = i x -x Si 2 + i z -z Si 2 0 = i y -y Si ( 20
)
where

i S i = [x Si y Si z Si ] T = i A i + l 2 i u i + i --→ C i P and i P = i x i y i z
T . Equations ( 20) are equations of circles, denoted as L i , of radius l 1 , located in planes y = y Si and centred in point S i of coordinates i S i . These circles represent the vertex space of the tip of the leg i, when the vector u i is fixed and the planar parallelogram passively moving (Fig. 2(b)) [START_REF] Merlet | Parallel Robots[END_REF]. As a result, the forward kinematic problem (fkp) is equivalent to finding the intersection between the circles L i of the observed legs. In conclusion, it may exist 0, 1 unique solution, 1 double solution (singularity condition), 2 distinct solutions or infinite number of solutions (if the circles are superposed, which is also a singularity condition) to the fkp. Thus, the 2-Π(2-UU) robot can have up to two distinct assembly modes that are different from those of the Quattro. The existence of these assembly modes explains the second point presented in the introduction, i.e. the non systematic convergence of the end-effector of the observed robots to the desired pose, even if the observed leg directions do. A numerical example of this phenomenon will be presented in the section V.

C. Singularity analysis

Three types of singular configurations, related to the degeneracy of the first-order kinematics, may appear for robots [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF]:

1) the Type 1 singularities where the robot loses at least one degree of freedom; 2) the Type 2 singularities where there is the apparition of some uncontrollable motions. In their neighborhood, the platform accuracy considerably decreases; 3) the Type 3 singularities, where both Type 1 and Type 2 singularities encounter. There exist other types of singularities, such as the constraint singularities [START_REF] Zlatanov | Constraint singularities of parallel mechanisms[END_REF], but they are due to passive constraint degeneracy only, and are not involved in the mapping between the leg directions and the Quattro end-effector space.

For the 2-Π(2-UU) robot, Type 1 singularities appear when ---→ A i B i and ---→ B i C i are colinear. In such cases, the robot reaches its workspace boundary. Type 2 singularities appear when the planes P i and P j (whose normal vectors are equal to v ⊥ i and v ⊥ j , resp.) are parallel. In such cases, the circles L i and L j have a common tangent at their intersection point and the robot gains one uncontrollable dof along this tangent (Fig. 3(b)).

Obviously, the singularity loci vary depending on the leg chosen for the Quattro control. Therefore, it is extremely important, for having the best performances of the controller, to make an optimal selection of the legs to observe. This is the topic of the next section.

Finally, it should be mentioned that the singularities of the 2-Π(2-UU) robot are not physical singularities, in the sense that they do not lead to uncontrollable free motions of the platform. However, they are representation singularities due to the mapping from the Cartesian space to the leg direction space [START_REF] Ma | Architecture singularities of parallel manipulators[END_REF].

IV. SELECTION OF THE CONTROLLED LEGS

Several indices can be used for characterizing the neighborhood of singularities (e.g. the condition number, the dexterity [START_REF] Merlet | Jacobian, manipulability, condition number, and accuracy of parallel robots[END_REF], etc.). Here, as generally, the visual servoing is used for improving the robot accuracy, it is proposed to use it as an index for the characterization of singularity proximity.

A. Accuracy analysis

From [START_REF] Ma | Architecture singularities of parallel manipulators[END_REF], and using the first order approximation of the forward geometric model [START_REF] Merlet | Jacobian, manipulability, condition number, and accuracy of parallel robots[END_REF], it is possible to write

δp = M T + δu ( 21
)
where δp is the platform positioning error, δu is the error on the observation of the leg direction, and M T + is the pseudo-inverse of the matrix M T that can be obtained by stacking the matrices M T i of the observed legs. Obviously, this matrix is the Jacobian matrix of the equivalent 2-Π(2-UU) robot and, as a result, will degenerate near the singularity configurations presented in section III-C. It should be mentioned here that it is decided to use a simple model for computing the robot accuracy, but any other more complicated models can be used (e.g. models that take into account flexibilities [START_REF] Pashkevich | Stiffness analysis of overconstrained parallel manipulators[END_REF], clearances [START_REF] Binaud | The kinematic sensitivity of robotic manipulators to joint clearances[END_REF], etc.). However, this simple model is enough for our demonstration.

The Adept Quattro has the following characteristics:

• l 1 = 0.380m, l 2 = 0.825m,

• A i = 0.296 [cos θ i sin θ i 0] T (in meters) • --→ P C i = 0.102 [cos θ i sin θ i 0]
T (in meters)

• θ i = {-3π/4, -π/4, π/4, 3π/4} (in radians) For this mechanism, and for an error δu i defined such that the vector u i is contained in a cone of axis u i0 and of half angle φ i (u i0 is the nominal value of u i and, in what follows, φ i is taken equal to 0.01 deg. for each leg direction), let us compute the maximal positioning error when only two of its four legs are observed. Six different combinations are possible. However, the value of the error for only two of them (when legs {1, 2} and {1, 3} are observed) is plotted at Fig. 4.

On Fig. 4(a), it is possible to note that the maximal error varies very quickly, especially near singularity. On Fig. 4(b), things are different. The variation of the accuracy is very smooth. Thus, it can be concluded that the selection of the legs to observe is crucial for the final pose accuracy.

B. Discussion

The previous section showed the importance of the legs chosen for the control scheme. Several questions naturally arise here. The first one concerns the number of legs to observe. In terms of accuracy, it is obvious that observing three or four legs, i.e. adding measurement redundancy, will improve the pose accuracy of the robot. However, increasing the number of legs to observe leads to an increase of the computational time and may be applied with difficulty when low sampling periods are required. Thus, a compromise must be found between the sampling period and the computational time for any given application.

The second question is about the selection of the legs to observe. With only two legs among four to observe, as mentioned above, six different 2-Π(2-UU) robots can be defined. What is thus the best virtual robot model to use?

If the control law proposed in section II-C is applied, it is first necessary to guaranty that, for the used set of legs:

• obviously, the legs must be observable during the whole robot displacement. • the initial and final robot configurations must be included in the same assembly mode of the virtual 2-Π(2-UU) robot. If not, the controller will not be able to converge to the desired end-effector pose, even if the observed leg directions do. In this last case, the problem can be solved by applying special trajectories that cross Type 2 singularities [START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF] or encircle a cusp point [START_REF] Zein | Non-singular assembly-mode changing motions for 3-RPR parallel manipulators[END_REF]. Then, if accuracy is needed, the leg selection must guaranty the best final accuracy. To achieve this goal, the following procedure can be used:

1) knowing the four leg orientations at the initial and final Quattro configurations, compute the solutions of the fkp of the six 2-Π(2-UU) robots, 2) find, using a procedure similar to the one proposed in [START_REF] Bonev | Working and assembly modes of the Agile Eye[END_REF] for all virtual 2-Π(2-UU) robots, the solutions of the fkp that belong to the same assembly mode; if, for one given virtual robot, initial and final platform configurations do not belong to the same assembly mode, discard it; if it does not exist any 2-Π(2-UU) robot for which initial and final configurations belong to the same assembly mode, the displacement is not feasible, except if special trajectories are planned as mentioned previously,

3) for all remaining virtual 2-Π(2-UU) robots, knowing the observation error δu, compute the positionning error using (21); retain the set of legs that guaranty the best accuracy; 4) test the controller (in simulation) with the retained set of legs; if there is no problem of convergence and that the legs are observable during the whole displacement, the problem is solved; if not, discard this set of leg and redo point 3; if it does not exist any 2-Π(2-UU) robot for which initial and final configurations belong to the same assembly mode, the displacement is not feasible, except with special trajectories. Obviously, this methodology can be extended when three or four legs are observed. One should also be aware that instead of given the initial and final robot configurations to the controller, it is better to define a trajectory between these two points in order to avoid crossing singularities inadvertently.

Finally, it is considered in this paper that the sensor measurement space is the same as the leg direction space. However, for example using a camera, the leg directions are not directly measured but rebuilt from the observation of the legs limbs projection in the 2D camera space [START_REF] Andreff | Vision-based control of a Gough-Stewart parallel mechanism using legs observation[END_REF]. Thus, for the leg reconstruction, the mapping between the camera space and the real 3D space is involved, and it is not free of singularities (see [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF] for an example of mapping singularities). In the neighboorhood of mapping singularities, the robot accuracy will also tend to decrease. As a result, this mapping should be considered in the accuracy computation and in the selection of the legs to observe.

V. SIMULATION RESULTS

In this section, simulations are performed on an ADAMS mockup of the Adept Quattro. This virtual mockup is connected to Matlab/Simulink via the module ADAMS/Controls. The controller presented in section II-C is applied (with λ = 5).

In the first simulations, the initial platform pose is equal to {x = 0.1m, y = 0.04m, z = -0.93m} and the final platform pose is set to {x = 0m, y = -0.25m, z = -0.7m}. For going from the initial point to the final ones, two sets of observed leg directions are tested: {1, 2} and {1, 3}. The results for the convergence of the leg directions are presented in Fig. 5. It can be shown that when the legs {1, 3} are observed, all leg directions converge to 0. This is not true for the second case. Looking at the platform pose computed by ADAMS, the robot reach the configuration {x = 0m, y = -0.25m, z = -0.958m} (Fig 6). Solving the forward geometric problem using (20) at the final desired robot configuration for legs {1, 2}, it can be demonstrated that two real assembly modes exist that are {x = 0m, y = -0.25m, z = -0.7m} and {x = 0m, y = -0.25m, z = -0.958m}. This validates the theory presented in section III.

In the second simulation, the final point is changed to {x = 0m, y = -0.3m, z = -0.85m} and a random noise of 0.01 deg. is added on the simulated measure of the leg directions. To show the importance of the leg selection on the robot accuracy, it is decided to control the robot displacement using three different sets of legs: (i) legs {1, 2}, (ii) legs {1, 3} and (iii) all legs. The results (Fig. 7(a)) show that, as presented in Fig. 4, the final platform pose accuracy is better when legs {1, 3} are observed (around 0.22mm) than with legs {1, 2} (around 1.6mm). When all legs are observed, the final pose error is a bit lower lower than when only two legs are observed (0.15mm). This seems normal. However, it can be proved that observing the four legs does not lead to a mapping without any singularities. A singular configuration still exists when all the planes P i for the four legs are horizontal, which can be difficult to detect without studying the equivalent robot model. Finally, for testing the robustness of the controller, the noise is multiplied by 10, but we can still observe a convergence of the platform to the desired pose (Fig. 7(b)).

VI. CONCLUSIONS

This paper presented new insights about the sensor-based control of the Adept Quattro. It has been shown that observing the leg directions of the Quattro involves controlling the displacement of a hidden robot which is based on Π(2-UU) legs instead of R(2-SS) legs. If only two legs are observed, the new equivalent robot becomes a 2-Π(2-UU) robot that has up to two distinct assembly modes that are different from those of the Quattro. Its conditions of singularities have been presented. It has been shown that the legs to observe should be chosen carefully in order to avoid inaccuracy problems.

All the presented results have been validated on a Quattro simulator created using ADAMS/Controls and interfaced with Matlab/Simulink. Future works will concern the generalization of the concept of hidden robot model for different classes of parallel robots and the experimental validations.

Fig. 1 .

 1 Fig. 1. The Adept Quattro (courtesy of Adept).

  Fig. 3. A 2-Π(2-UU) robot.

Fig. 4 .

 4 Fig. 4. Maximal pose error (in mm) for z = -0.85 m.

Fig. 5 .

 5 Fig. 5. Error norm on each leg e i .

Fig. 6 .Fig. 7 .

 67 Fig. 6. Trajectory in space with initial, desired and final platform positions. Time (ms) Platform pose error (mm) 0 10 20 30 40 50 60 70 0 5 10 15 20 25

S. Briot is with the French CNRS and IRCCyN, 44321 Nantes France (Sebastien.Briot@irccyn.ec-nantes.fr)

This work was supported by the French ANR ARROW (ANR 2011BS3 006 01). The authors would also like to thank Nicolas Bouton from the IFMA (Institut Pascal) of Clermont-Ferrand for


Sébastien Briot

Ilian A Bonev
email: ilian.bonev@etsmtl.ca

Accuracy Analysis of 3-DOF Planar Parallel Robots

Keywords: parallel mechanisms, accuracy, dexterity, performance evaluation, error analysis

Three-degree-of-freedom planar parallel robots are increasingly being used in applications where precision is of the utmost importance. Clearly, methods for evaluating the accuracy of these robots are therefore needed. The accuracy of well designed, manufactured, and calibrated parallel robots depends mostly on the input errors (sensor and control errors). Dexterity and other similar performance indices have often been used to evaluate indirectly the influence of input errors. However, industry needs a precise knowledge of the maximum orientation and position output errors at a given nominal configuration. An interval analysis method that can be adapted for this purpose has been proposed in the literature, but gives no kinematic insight into the problem of optimal design. In this paper, a simpler method is proposed based on a detailed error analysis of 3-DOF planar parallel robots that brings valuable understanding of the problem of error amplification.

I. INTRODUCTION

Parallel robots are increasingly being used for precision positioning, and a number of them are used as 3-degree-of-freedom (DOF) planar alignment stages.

Clearly, in such industrial applications, accuracy is of the utmost importance. Therefore, simple and fast methods for computing the accuracy of a given robot design are needed in order to use them in design optimization procedures that look for maximum accuracy.

Errors in the position and orientation of a parallel robot are due to several factors:

manufacturing errors, which can however be taken into account through calibration;

backlash, which can be eliminated through proper choice of mechanical components;

compliance, which can also be eliminated through the use of more rigid structures (though this would increase inertia and decrease operating speed); active-joint errors, coming from the finite resolution of the encoders, sensor errors, and control errors.

Therefore, as pointed out by Merlet [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF], active-joint errors (input errors) are the most significant source of errors in a properly designed, manufactured, and calibrated parallel robot. In this paper, we address the problem of computing the accuracy of a parallel robot in the presence of active-joint errors only. In the balance of the paper, the term "accuracy" will therefore refer to the position and orientation errors of a parallel robot that is subjected to active-joint errors only.

The classical approach consists in considering the first order approximation that maps the input error to the output error:    p J q [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF] where q represents the vector of the active-joint (input) errors, p the vector of output errors and J is the Jacobian matrix of the robot. However, this method will give only an approximation of the output maximum error. Indeed, as we will prove in this paper, given a nominal configuration and some uncertainty ranges for the active-joint variables, a local maximum position error and a local maximum orientation error not only occur at different sets of active-joint variables in general, but these active-joint variables are not necessarily all at the limits of their uncertainty ranges.

Several performance indices have been developed and used to roughly evaluate the accuracy of serial and parallel robots. A recent study [START_REF] Merlet | Jacobian, manipulability, condition number, and accuracy of parallel robots[END_REF] reviewed most of these performance indices and discussed their inconsistencies when applied to parallel robots with translational and rotational degrees of freedom. The most common performance indices used to indirectly optimize the accuracy of parallel robots are the dexterity index [START_REF] Gosselin | The optimum design of robotic manipulators using dexterity indices[END_REF], the condition numbers, and the global conditioning index [START_REF] Gosselin | A global performance index for the kinematic optimization of robotic manipulators[END_REF]. However, in a recent study of the accuracy of a class of 3-DOF planar parallel robots [START_REF] Yu | Geometric method for the accuracy analysis of a class of 3-DOF planar parallel robots[END_REF], it was demonstrated that dexterity has little to do with robot accuracy, as we define it.

Obviously, the best accuracy measure for an industrial parallel robot would be the maximum position and maximum orientation errors over a given portion of the workspace [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF][START_REF] Yu | Geometric method for the accuracy analysis of a class of 3-DOF planar parallel robots[END_REF] or at a given nominal configuration, given actuator inaccuracies. A general method based on interval analysis for calculating close approximations of the maximum output error over a given portion of the workspace was proposed recently in [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF]. Obviously, the maximum output error over a given portion of the workspace is the most important information for a designer. However, this method is relatively difficult to implement, gives no information on the evolution of the accuracy of the manipulator within its workspace and gives no kinematic insight into the problem of optimal design.

In contrast, a very simple geometric method for computing the exact value of the accuracy of 3-DOF 3-PRP planar parallel robots was described in [START_REF] Yu | Geometric method for the accuracy analysis of a class of 3-DOF planar parallel robots[END_REF] (in this paper, P and R stand for passive prismatic and revolute joins, respectively, while P and R stand for actuated prismatic and revolute joins, respectively). This method proposes to replace the existing dexterity maps by maximum position error maps and maximum orientation error maps. While this method covers three of the most promising designs for precision parallel robots (one of which is commercialized and the other two built into laboratory prototypes), it does not always work for other 3-DOF planar parallel robots.

This paper generalizes the method proposed in [START_REF] Yu | Geometric method for the accuracy analysis of a class of 3-DOF planar parallel robots[END_REF] by following a detailed mathematical proof which gives us important insight into the accuracy of planar parallel robots. The present study considers only 3-DOF three-legged planar parallel robots with prismatic and/or revolute joints, one actuated joint per leg, and at most one passive prismatic joint in a leg. The method is illustrated on two practical designs:

1. A 3-RPR planar parallel robot. This robot is the planar projection of the PAMINSA robot [START_REF] Arakelian | Design and prototyping of new 4, 5 and 6 degrees of freedom parallel manipulators based on the copying properties of the pantograph linkage[END_REF] and the design parameters are those of the prototype manufactured at INSA of Rennes, France.

2. A planar 3-PRR robot [START_REF] Gosselin | A new architecture of planar threedegree-of-freedom parallel manipulator[END_REF]. A precision parallel robot based on this design has been developed in the Technical University of Braunscheig, in Germany [START_REF] Hesselbach | Aspects on the design of high precision parallel robots[END_REF].

The remainder of this paper is organized as follows. Section II briefly outlines the mathematical theorems used in this paper. Section III presents the method used for the analysis of the orientation and position errors. Finally, Section IV covers several numerical examples, and conclusions are given in the last section.

II. MATHEMATICAL BACKGROUND

Analyzing the (local) maximum position error and the (local) maximum orientation error of a parallel robot, induced by bounded errors in the active-joint variables, is basically studying, on a set of closed intervals, the maxima of functions X and defined as:

2 0 2 0 ) ( ) ( y y x x X      , (2)
 

2 0       , (3)
where x 0 , y 0 and  0 are the Cartesian coordinates corresponding to the nominal (desired) platform pose (position and orientation) of the studied parallel robot, and x, y and  are the actual platform coordinates.

In the case of a 3-DOF planar fully-parallel robot, X and are functions of three variables: the active-joint variables of the robot (the inputs), which will be denoted by q i (in this paper, i = 1, 2, 3). Thus, we have to find the maxima of X and on the set of intervals

       0 0 , i i i q q q
, where q i0 are the active-joint variables corresponding to the nominal pose (x 0 , y 0 ,  0 ) of the platform (in the selected working mode, i.e., the selected solution to the inverse kinematics) and  is the error bound on the active-joint variables (Fig. 1).

To simplify our error analysis, we will make the practical assumption that the nominal configuration is sufficiently far from (Type 1 and Type 2) singularities. Type 1 singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] are configurations where a parallel robot loses its desired functionality it loses one or more degrees of freedom. These are the internal and the external boundaries of workspace. For this reason, the usable workspace of an industrial parallel robot will be away from these singularities. Similarly, Type 2 singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] are another kind of configurations where a parallel robot loses its desired functionalitythis time it loses control of the mobile platform. Furthermore, near these configurations, the output error increases exponentially. For these reasons, industrial parallel robots are designed to exclude such singularities. Therefore, we will obviously perform our error analysis only for configurations that are sufficiently far from singularities, i.e., for nominal configurations from which the robot cannot enter into singularity while the active-joint variables stay within their error-bounded intervals.

Once we have made this practical assumption, we address the problem of finding the global maxima of X and It is well known that the maximum of a continuous multivariable function, f, over a given set of intervals can be found by analysing the Hessian matrix, H:

                                  2 3 2 3 2 2 2 2 2 3 1 2 2 1 2 2 1 2 q f sym q q f q f q q f q q f q f H . ( 4
)
Using this Hessian matrix, the set of variables (q 1m , q 2m , q 3m ), where

       0 0 , i i im q q q
, leads to a maximum of

f if 0 ) , , ( 3 2 1    m m m i q q q q f
and H is negative definite. If such a point exists (q 1m , q 2m , q 3m ), we will call it a maximum of the first kind.

The global maximum of f could also be on the faces of the input error bounding box shown in Fig. 1. This time, we have to study the maxima of six functions of two variables each, defined as:

g 1 :     3 2 10 3 2 , , , q q q f q q    , g 2 :     3 2 10 3 2 , , , q q q f q q    , g 3 :     3 20 1 3 1 , , , q q q f q q    , g 4 :     3 20 1 3 1 , , , q q q f q q    , g 5 :        30 2 1 2 1 , , , q q q f q q , g 6 :        30 2 1 2 1 , , , q q q f q q .
If such points exist, we will call them maxima of the second kind.

The global maximum of f could also be on the edges of the input error bounding box. This time, we have to study the maxima of twelve univariate functions:

h 1 :        30 20 1 1 , , q q q f q , h 2 :        30 20 1 1 , , q q q f q , h 3 :        30 20 1 1 , , q q q f q , h 4 :        30 20 1 1 , , q q q f q , h 5 :        30 2 10 2 , , q q q f q , h 6 :        30 2 10 2 , , q q q f q , h 7 :        30 2 10 2 , , q q q f q , h 8 :        30 2 10 2 , , q q q f q , h 9 :   3 20 10 3 , , q q q f q      , h 10 :
 

3 20 10 3 , , q q q f q      , h 11 :
 

3 20 10 3 , , q q q f q      , h 12 :
 

3 20 10 3 , , q q q f q      .
If such points exist, we will call them maxima of the third kind.

Finally, the global maximum of f could also be on one of the eight corners of the input error bounding box. These eight points will be referred to as extrema of the fourth kind.

Finding the global maxima of functions X and  is equivalent to finding the maxima of functions X² and ². In the next section, we will study the extrema of the functions X² and ².

III. ANALYSIS OF THE ORIENTATION AND POSITION ERRORS

A. Maximum Orientation Error

The partial derivatives of ² are given as

    0 2 2            i i q q . ( 5
)
These derivatives are equal to zero if

0 /    i q  or if 0 0     . Obviously, however, a maximum can exist only if 0 /    i q  .
For a 3-DOF planar parallel robot, two different situations correspond to the

condition 0 /    i q  :
-The robot is at a Type 1 singularity. However, we already assumed that the robot cannot enter a Type 1 singularity within the interval studied.

-The twist of the mobile platform, when legs j and k (j,k = 1, 2, 3,

k j i  
) are fixed, is a pure translation. Figure 2 represents the mobile platform of a robot linked to three actuated legs, through revolute joints (these could be prismatic joints as well). Each leg applies a wrench R i on the mobile platform, whose center is denoted by P. The intersection point O 3 of the wrenches R 1 and R 2 represents the instantaneous rotation centre of the mobile platform when actuators 1 and 2 are fixed and the third actuator is moving. Thus, if

  , T xy  X , vector 3 / q  X
, defined as

  T q y q x q 3 3 3 / / /       X
, represents the instantaneous displacement of the platform under the action of the third actuator only, where. For the twist of the platform to be a pure translation, wrenches R 1 and R 2 need to be parallel (Fig. 3). When such a configuration is inside the interval studied, the corresponding orientation error is a local extemum.

Therefore, a maximum of the first kind exists if and only if 12 // RR and singularity, and we already assumed that there are no Type 2 singularities for the set of intervals studied.

A maximum of the second kind exists if

j i R R // and k i R R // (i, j, k = 1, 2, 3), k j i  
. This, however, is equivalent to the previous case and is therefore impossible.

A maximum of the third kind exists if

j i R R // (i, j = 1, 2, 3). If such a
configuration is possible, it has to be tested to determine its nature.

Finally, extrema of the fourth kind will always exist and should always be tested.

Thus, in the analysis of the orientation error, only maxima of the third and fourth kind might appear. Maxima of the third kind are very difficult to compute analytically even for simple 3-DOF planar parallel robots. Therefore, we are confident that the best way to proceed, in areas of the workspace where one feels that the robot might be in configurations in which two wrenches are parallel and this could be a local maximum (rather than a minimum) for the orientation angle, is to discretize the edges of the input error bounding box (Fig. 1), compute  at each discrete point, and retain the maximum value. Obviously, such a discretization will be somewhat time-consuming and less accurate, but our approach will still produce much more meaningful results than a simple dexterity plot. Note, however, that in most cases it will be obvious that such configurations cannot occur. For these cases, one must only compute  at each corner of the input error bounding box and retain the maximal value. This will be the exact local orientation error.

B. Maximum Position Error

The partial derivatives of X² are given as

    0 T 2 2 X X X                i i q q X , (6)
These derivatives are equal to zero if

0 /    i q X , if i q   / X is orthogonal to 0 X X  , or if 0 0   X X
. Obviously, however, the condition 0 0   X X corresponds to a global minimum, and will therefore be ignored.

For a 3-DOF planar parallel robot, two different situations correspond to the

condition 0 /    i q X :
-The robot is at a Type 1 singularity. However, we already assumed that the robot cannot enter in a Type 1 singularity within the interval of interest.

-The twist of the mobile platform, when legs j and k (j,k = 1, 2, 3,

k j i  
) are fixed, is a pure rotation. When the twist of the platform is a pure rotation, this means that the intersection point O 3 of wrenches R 1 and R 2 coincides with point P (Fig. 5). When such a configuration is inside the interval of interest, the corresponding position error is a local extemum.

Next, we will show geometrically that a global maximum of X 2 can exist only on the edges (including the corners) of the input error bounding box. Indeed, finding this maximum is equivalent to finding the point from the uncertainly zone of the platform center that is farthest from the nominal position of the mobile platform. This uncertainty zone is basically the maximal workspace of the robot (i.e., the set of all attainable positions of the platform centre) obtained by sweeping the active-joint variables in their corresponding intervals,

       0 0 , i i i q q q
. Obviously, the point that we are looking for will be on the boundary of this maximal workspace.

A geometric algorithm for computing this boundary is presented in [START_REF] Merlet | Workspaces of planar parallel manipulators[END_REF], but we will not discuss it here in detail. We only need to mention that this boundary is composed of segments of curves that correspond to configurations in which at least one leg is at a Type 1 singularity (which we exclude from our study) or at an active-joint limit (we also consider that there are no limits on the passive joints). A segment for which only one active-joint is at a limit is a line segment (in the case of a passive prismatic joint) or a circular arc whose radius depends on the leg lengths and platform size (in the case of two passive revolute joints).

In error analysis, the intervals of interest are extremely small compared to the overall dimensions of the robot, and so is the uncertainty zone for a given nominal configuration. This means that, in practice, the radius of a circular arc that belongs to the boundary of the uncertainty zone will be much greater than the maximum position error. Therefore, for such a tiny arc of large radius, the point that is farthest from the nominal position will be at one of the two extremities of the arc. This point will therefore correspond to at least two active-joint variables at a limit.

Thus, thanks to this geometric analysis, we were able to demonstrate that the maximum position error cannot be elsewhere but on the edges of the input error bounding box. Next, a deeper analysis will guarantee, to a certain precision, that in some cases, the maximum position error occurs only at one of the eight corners of the input error bounding box.

For legs j and k (j,k = 1, 2, 3,

k j i  
), the condition for having a maximum of the third kind on the interval  

    0 0 , i i q q
is that:

(a) 0 /    i q X ; (b) i q   / X is orthogonal to 0 X X  .
Condition (a) has already been discussed. Such a configuration has to be examined in order to determine whether it corresponds to a global maximum or not. However, it is very difficult to analytically identify such configurations. Therefore, once again, we are confident that the best way to proceed, in areas of the workspace where one feels that the robot might be in configurations in which two leg wrenches intersect at the center of the mobile platform, is to discretize the edges of the input error bounding box, compute X at each discrete point, and retain the maximum value. Note, however, that in most cases it will be obvious that such configurations cannot occur. For these cases, one must only consider condition (b).

Condition (b) is even more complicated to analyze. The partial derivative

i q   / X
represents the first two elements of the ith column of the Jacobian matrix of the robot. If the direction of vectors

i q   / X
is close to a constant in the interval studied (which is far from Type 2 singularities), then it is possible to say that on this interval, the displacement of the robot, when legs j and k are fixed, is close to a straight line. This can be verified approximately by computing vector i q   / X at each corner of the inputerror bounding box. If the variation of the direction of the vector i q   / X is inferior to a given value (for example 1 degree), then one can consider that the direction of i q   / X does not change in the interval studied.

Let B be a point for which i q   / X is orthogonal to 0 X X  (Fig. 6). Vector udefines the direction of the allowed displacement at point B. If we represent a line passing through point B, whose direction is defined by vector u, this line defines the locus for the displacement of the platform around point B when only the ith actuator is moving. If we represent two points A and C located on this line around B, the direction of vector u defines the direction of the displacement when the ith leg is actuated in the positive sense of q i . Thus, point A represents the point before passing point B and point C the point after when the ith actuator is moving.

It is so possible to determine the signs of the product 

   0 T / X X X    i q at
points A and C. At point A it is negative and at point C it is positive. This shows that point B is a local minimum of X². Thus, such a configuration does not represent a maximum of the third kind.

Of course, there are exceptions to our rule of thumb, but they are extremely rare and occur only for some particular mechanism designs. For example, consider a 3-RPR planar parallel robot. The curve described by the platform centre, when two of the actuators are blocked, is an ellipse. Therefore, if one takes a segment at whose endpoints the slope is nearly the same, this segment is clearly close to a line. However, if a 3-RRR planar parallel robot is considered, the curve is a sextic. Theoretically, it is possible to have a segment at whose endpoints the slope is nearly the same, yet the segment is far from linear (e.g., there is a cusp point, or a tiny loop). However, we consider that such situations are extremely unlikely to happen, and even if they do, they will occur for only certain configurations and not throughout the workspace. Therefore, for simplicity, we will exclude this small possibility from our study.

C. Conclusions

To sum up, the proposed method is very simple to implement and, for most practical 3-DOF planar robot designs, fast and accurate. For most designs, at each nominal configuration, we have to compute the direct kinematics for eight sets of active-joint variables, which can either be done analytically, or using a very accurate numerical method (since we are far from singularities). Thus, for computing the local maximum orientation error and local maximum position error of a 3-DOF planar parallel robot for a given nominal configuration, one should, at worst, compute the direct kinematics at only 12n points (using the algorithms presented in [START_REF] Merlet | Direct kinematics of planar parallel manipulators[END_REF]), where n is the number of discretization points on each of the edges of the input error bounding box.

As already mentioned, such a discretization is unfortunately somewhat time-consuming and might lead to a certain computational inaccuracy. However, relatively simple analysis can show that for a given robot design, only the eight vertices of the input error bounding box should be verified. Namely, for the computation of the maximum orientation error, this is the case if no two wrenches can be parallel and lead to a local maximum, and for the computation of the maximum position error, this is the case if no two wrenches can intersect at the platform center and the variation of the direction of

each vector i q   / X
is very small.

IV. EXAMPLES

A. A 3-DOF 3-RPR Planar Parallel Robot

In this part, we will study the accuracy of a 3-DOF 3-RPR planar parallel robot (Fig. 7). This robot is designed as follows:

the actuators are mounted on the base and are located at revolute joints A i ;

-triangles A 1 A 2 A 3 and B 1 B 2 B 3 are equilateral;
the centre O of frame Oxy is located at the geometric center of triangle

A 1 A 2 A 3 ;
-OA i = 0.35 m and PB i = 0.1 m the error bound on the active-joint variables is The Type 2 singularities of this robot are well known [START_REF] Chablat | Self motion of a special 3-RPR planar parallel robot[END_REF][START_REF] Arakelian | Investigations of special configurations of the parallel structure manipulator PAMINSA[END_REF][START_REF] Bonev | Singularity analysis of 3-DOF planar parallel mechanisms via screw theory[END_REF]. They appear when the robot is in such configuration that:

the rotation angle is .

The Type 1 singularities for this robot occur when point A i coincides with point B i .

These three Type 1 singularity points lie on the Type 2 singularity circle.

Thus we propose to analyse a usable workspace defined by a circle whose centre is O and whose radius is equal to 0.245 m for two different orientation angles  , 0 and 10 degrees. This workspace is free of singularities (the radius for the Type 2 singularity circle at  = 0° and at 10° is 0.25 m and 0.2521 m, respectively).

The direct kinematic model of the robot is quite simple to obtain and has two distinct solutions, for active-joint variables that do not lead to singularities. We have to study here three different cases:

(a) Configurations where two wrenches are parallel. These configurations can be either a local maximum or a local minimum for the orientation error. In our example, the wrenches are perpendicular to the directions of the prismatic joints and pass through points B i . Thus, this case appears when the directions of two of the prismatic joints are parallel (Fig. 8a). For such configurations, the orientation of the platform remains constant if only the actuated joint of the third leg moves. Therefore, this configuration is a local minimum for the orientation error.

(b) Configurations where two wrenches intersect at the platform center. These configurations can be either a local maximum or a local minimum for the position error. In our example, it is easy to verify that such configurations appear only outside the studied workspaces (Fig. 8b).

(c) Configurations in which the direction of vectors i q   / X is not nearly constant. Figures 9a and9b represent the variation in the direction of vectors 1 / q  X in the interval studied (the figures for 2 / q  X and 3 / q  X are obtained by 120° rotations). It is possible to note that this variation is extremely small in the studied workspace (less than 0.6°).

Thus, there are only eight active-joint variable sets to test for computing the maximum orientation and maximum position error of the robot for a given nominal pose. For each set, the two possible platform poses are obtained analytically, and the corresponding orientation error and position error are computed for the solution that is closest to the nominal pose. The resulting contour plots for two orientations are presented in Figs. 10 and11.

As expected, it can be seen that the robot is more accurate in the center of its workspace, far from singularities. The closer the robot to the singularity circle, the poorer is its accuracy. It is interesting to note that while there is always a substantial position error, the orientation error is virtually zero in the central part of the workspace.

B. A 3-DOF 3-PRR Planar Parallel Robot

In this part, we will study the accuracy of a 3-PRR planar parallel robot (Fig. 12). This robot is designed as follows:

the actuators are mounted on the base and are located at prismatic joints A i B i ; the centre O of frame Oxy is located at the geometric centre of the triangle the stroke of the actuators is 76 cm.

A 1 A 2 A 3 ; -triangles A 1 A 2 A
the error bound on the active-joint variables is 10

  μm.
The direct kinematics of this robot allows up to six real solutions and cannot be solved analytically [START_REF] Merlet | Direct kinematics of planar parallel manipulators[END_REF]. Since we only need the solution that can be reached from the nominal pose, while the active-joint variables remain in their intervals, the best solution is to use an iterative numerical method such as the Newton-Raphson method. This method requires only the computation of the Jacobian matrix of the robot, which is very simple to obtain. In our error analysis, we will always start the algorithm at the nominal configuration and vary the active-joint variables in a very small interval of length up to ε. Furthermore, we will use this algorithm for configurations that are sufficiently far from singularities. Therefore, as verified in this example, the algorithm converges very quickly (usually, in only two iterations for a precision of 10 -20 m and 10 -20 degrees).

The singularities of this robot have been studied in [START_REF] Bonev | Singularity analysis of 3-DOF planar parallel mechanisms via screw theory[END_REF], but correspond to quite complex curves. Fortunately, however, it is easy find a design for which there are no singularities inside the workspace for the given working mode (given set of inverse kinematic solutions). The studied workspace of our robot corresponds to an equilateral triangle inscribed in a circle centred in O and whose radius is equal to 0.3 m. One edge of the triangle is parallel to x. This workspace will be studied for orientation angles equal to 0° and 10°. There are no Type 2 singularities in it.

We have to study here three different cases:

(a) Configurations where two wrenches are parallel. These configurations can be either a local maximum or a local minimum for the orientation error. In our example, the instantaneous wrenches are along the lines B i C i . Thus, this case appears when two of the legs are parallel (Fig. 13). Two types of such configurations exist. Figure 13a represents a configuration which corresponds to a local minimum for the orientation error. For this configuration, the two legs form a parallelogram and the orientation of the platform remains constant while the third actuator moves alone. Figure 14b represents a configuration which corresponds to a local maximum for the orientation error. In this configuration, if the mobile platform is pushed away in any direction by the third leg, it will rotate in the same sense. However, in our example, it is easy to verify that such configurations cannot appear inside the studied workspace. / q  X are obtained by rotations of 120°). It is possible to note that this variation is very small in the studied workspaces (less than 0.01°). As already mentioned, this is not a 100% guarantee that the maximum position error occurs at one of the eight corners of the input error bounding box. Therefore, for the purposes of this demonstration, we have also verified on the edges of the bounding box (using 20 discretization intervals on each edge). Not even one nominal configuration was found for which the maximum position error is not at one of the eight corners. Therefore, the assumption that we make is valid in this example. Thus, for this robot too, there only are eight sets of active-joint variable to test for computing the local maximum orientation error and local maximum position error of the robot. The resulting contour plots for two different orientations are presented in Figs. 15 and16.

It can be noted that the position error of this parallel robot is nearly constant for both orientations, from about 11 µm to 17 µm, and only slightly larger than the input errors  = 10 µm. This can be explained by the fact that the robot stays far from singularities of the second kind in the studied workspace. Furthermore, it appears the orientation error is nearly constant and virtually zero, throughout the workspace. Therefore, this parallel robot is an excellent candidate for precision positioning, as demonstrated by the authors of [START_REF] Hesselbach | Aspects on the design of high precision parallel robots[END_REF].

V. CONCLUSIONS

This paper presented a detailed study of the local maximum orientation and position errors occurring in 3-DOF planar parallel robots subjected to errors in the inputs. It was proven that, when sufficiently far from singularities, the local maximum orientation and position errors can occur only when at least two inputs suffer a maximum error. However, a simple procedure was proposed to evaluate, for a given design, whether these output errors can occur when only two inputs are at a maximum error. Thanks to this detailed study, a simple method was proposed to calculate the local maximum orientation and position errors for a given nominal configuration and given error bound on the inputs. The method involves solving the direct kinematics for eight, or a maximum of 12n (n being the number of discretization steps), sets of inputs. This method is relatively fast, accurate, but mostly, very simple to implement and gives valuable insight into the kinematic accuracy of parallel robot. The authors believe that the proposed method should be used for all 3-DOF planar fully-parallel robots instead of the much less meaningful dexterity maps.

FIGURE CAPTIONS

  3 and C 1 C 2 C 3 are equilateral and the guides of the prismatic joints are tangent to the circle whose centre is O and whose radius is OA 1 ; -OA i = 0.35 m, B i C i = 0.4 m and PC i = 0.1 m;

  (b)Configurations where two wrenches intersect at the platform center. These configurations can be either a local maximum or a local minimum for the position error. In our example, it is easy to verify that such configurations cannot appear inside the studied workspace.

Fig. 1 :

 1 Fig. 1: Input error bounding box.

Fig. 2 :

 2 Fig.2: The leg wrenches applied to the mobile platform.

Fig. 3 :

 3 Fig.3: Pure translational motion following a variation in q 3 only.

Fig. 4 :

 4 Fig. 4: Extrema of the first and second type for the function ².

Fig. 5 :

 5 Fig.5: Pure rotational motion following a variation in q 3 only.

Fig. 6 :Fig. 7 :

 67 Fig. 6: Analysis of a local extremum for which

Fig. 8 :

 8 Fig. 8: Configurations of the 3-RPR parallel manipulator corresponding to local extrema

Fig. 9 :

 9 Fig. 9: Variation in the direction of vector

Fig. 10 :Fig. 11 :Fig. 12 :Fig. 13 :

 10111213 Fig. 10: Maximum orientation and position errors for the 3-RPR manipulator at  = 0°.

Fig. 14 :

 14 Fig. 14: Variation in the direction of vector

Fig. 15 :Fig. 16 :FIGURESFig. 1 :

 15161 Fig. 15: Maximum orientation and position errors for the 3-PRR manipulator at  = 0°.

Fig. 2 :

 2 Fig. 2: The leg wrenches applied to the mobile platform.

Fig. 3 :Fig. 4 :

 34 Fig.3: Pure translational motion following a variation in q 3 only.

Fig. 5 :

 5 Fig.5: Pure rotational motion following a variation in q 3 only.

Fig. 6 :Fig. 7 :Fig. 8 :

 678 Fig. 6: Analysis of a local extremum for which

Fig. 9 :Fig. 10 :Fig. 11 :Fig. 12 :Fig. 13 :Fig. 14 :

 91011121314 Fig. 9: Variation in the direction of vector

// RR and 13 // RR (Fig.4). However, such a configuration corresponds to a Type 2