Sébastien Briot
email: sebastien.briot@irccyn.ec-nantes.fr

Vigen Arakelian
email: vigen.arakelyan@insa-rennes.fr

C G M Ea3913

On the Dynamic Properties of Flexible Parallel Manipulators in the Presence of Type 2 Singularities

Keywords: Singularity, dynamics, parallel manipulators, optimal motion generation, flexible links

In the present paper, we expand information about the conditions for passing through Type 2 singular configurations of a parallel manipulator. It is shown that any parallel manipulator can cross the singular configurations via an optimal control permitting the favourable force distribution, i.e. the wrench applied on the end-effector by the legs and external efforts must be reciprocal to the twist along the direction of the uncontrollable motion. The previous studies have proposed the optimal control conditions for the manipulators with rigid links and flexible actuated joints. The different polynomial laws have been obtained and validated for each examined case. The present study considers the conditions for passing through Type 2 singular configurations for the parallel manipulators with flexible links. By computing the inverse dynamic model of a general flexible parallel robot, the necessary conditions for passing through Type 2 singular configurations are deduced. The suggested approach is illustrated by a 5R parallel manipulator with flexible elements and joints. It is shown that a 16 th order polynomial law is necessary for the optimal force generation. The obtained results are validated by numerical simulations carried out using the software ADAMS.

Introduction

There are many studies dealing with the singularity analysis of parallel manipulators and an overview of all the works seems almost impossible within the framework of this paper. Let us disclose the kinematic, kinetostatic and dynamic aspects of singularity through some of them. The analysis of singular configurations has been first discussed from a kinematic point of view [START_REF] Gosselin | Singularity Analysis of Closed-Loop Kinematic Chains[END_REF]- [START_REF] Briot | Self Motions of General 3-RPR Planar Parallel Robots[END_REF]. However, it is also known that, when parallel manipulators have Type 2 singularities [START_REF] Gosselin | Singularity Analysis of Closed-Loop Kinematic Chains[END_REF], they lose their stiffness and their quality of motion transmission, and as a result, their payload capability. Therefore, the singularity zones in the workspace of manipulators may be analyzed not only in terms of kinematic criterions, from the theoretically perfect model of manipulators without friction and force transmission action, but also in terms of kinetostatic performance [START_REF] Gosselin | The Optimum Design of Robotic Manipulators using Dexterity Indices[END_REF]- [START_REF] Ranganath | A Force-Torque Sensor Based on a Stewart Platform in a Near-Singular Configuration[END_REF]. In this vein, the paper [START_REF] Ranganath | A Force-Torque Sensor Based on a Stewart Platform in a Near-Singular Configuration[END_REF] proposes the analysis and design of a Stewart Platform based force-torque sensor in a near-singular configuration. It was shown in this study that various singular configurations can be obtained to get high sensitivity to various combinations of the six components of force and torque.

The further study of singularity in parallel manipulators has revealed an interesting problem that concerns the path planning of parallel manipulators under the presence of singular positions, i.e. the motion feasibility in the neighbourhood of singularities. In this case the dynamic conditions can be considered in the path planning process. One of the most evident solutions for the stable motion generation in the neighbourhood of singularities is to use redundant sensors and actuators [START_REF] Alvan | On the Control of the Spatial Parallel Manipulators with Several Degrees of Freedom, Mechanism and Machine Theory[END_REF]- [START_REF] Hesselbach | Aspects on the Design of High Precision Parallel Robots[END_REF]. However, it is an expensive solution to the problem because of the additional actuators and the complicated control of the manipulator caused by actuation redundancy. Another approach concerns with motion planning to pass through singularity [START_REF] Bhattacharya | Comparison of an Exact and Approximate Method of Singularity Avoidance in Platform Type Parallel Manipulators[END_REF]- [START_REF] Perng | Inverse Kinematic Solutions for a Fully Parallel Robot with Singularity Robustness[END_REF], i.e. a parallel manipulator may track a path through singular poses if its velocity and acceleration are properly constrained. This is a promising way for the solution of this problem. However, the studies devoted to this problem have addressed the path planning for obtaining a good tracking performance, but not the physical interpretation of dynamic aspects.

The condition of optimal force generation in rigid parallel manipulators for passing through the singular positions has been studied in [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF]. It was shown that any parallel manipulator can pass through the singular positions without perturbation of motion if the wrench applied on the end-effector by the legs and external efforts of the manipulator are reciprocal to the twist along the direction of the uncontrollable motion. The obtained results were validated through experimental tests carried out on the prototype of four-DOF parallel manipulator PAMINSA [START_REF] Briot | Design and Prototyping of a Partially Decoupled 4-DOF 3T1R Parallel Manipulator with High-Load Carrying Capacity[END_REF].

This approach has been generalised in the case of rigid-link flexible-joints parallel manipulators [START_REF] Briot | On the Dynamic Properties of Rigid-Link Flexible-Joint Parallel Manipulators in the Presence of Type 2 Singularities[END_REF]. It was shown that the degree of the polynomial law should be different, when the flexibility of actuated joints is introduced into condition of the optimal force generation in the presence of singularity. The numerical simulations carried out using the software ADAMS validated the obtained theoretical results.

The study presented in this paper is the continuation of our previous works [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF], [START_REF] Briot | On the Dynamic Properties of Rigid-Link Flexible-Joint Parallel Manipulators in the Presence of Type 2 Singularities[END_REF]. The purpose of this paper is to study the dynamic properties of parallel manipulators having not only flexible joints, but also flexible links.

The paper is organized as follows. The next section presents theoretical aspects of the examined problem, which is analysed using the Lagrangian formulation. The condition of force distribution is defined, that allows the passing of any flexible parallel manipulator through the Type 2 singular positions. In section 3, the suggested solution is illustrated via a 5R planar parallel manipulator having flexible links and joints. Conclusions are presented at the end of the paper.

Optimal dynamic conditions for passing through Type singularity

Let us consider a non-redundant parallel manipulator of m links, n degrees of freedom and driven by n actuators. The general Lagrangian dynamic formulation for a non-rigid manipulator can be expressed as [START_REF] Bouzgarrou | New Approach for Dynamic Modelling of Flexible Manipulators[END_REF]:

a a L L q q τ                dt d , ( 1a
) e e L L q q 0                dt d , (1b)
where, -L is the Lagrangian of the manipulator; L = T-V, where T is the kinetic energy and V the potential energy due to gravitational forces, friction and elasticity; -

T a n a a a q q q ] ,..., , [ 2 1  q and T a n a a a q q q ] ,..., , [ 2 1      q
represent the vectors of position and velocity of the actuators, respectively; -T e n e e e q q q ] ,..., , [

 q and T e n e e e q q q ] ,..., , [

2 1      q
represent the vectors of position and velocity of the elastic coordinates (deformations of links and joints); - is the vector of the actuators efforts.

In general, for parallel manipulators, the potential and kinetic energies do not explicitly depend both of the actuated variables q a and elastic coordinates q e , but also from the positions x and velocities v of the payload. Therefore it is preferable to rewrite Eq. (1) using the Lagrange multipliers [START_REF] Bouzgarrou | New Approach for Dynamic Modelling of Flexible Manipulators[END_REF], as follows:

λ B W τ b T   , a a L L q q W b                dt d (2a) λ C W 0 c T   , e e L L q q W c                dt d ( 2b
)
where  is the Lagrange multipliers vector, which is related to the wrench W p applied on the platform by:

p W A   T ,                     x v W p L L dt d (3)
and, -

T z y x ] , , , , , [     x and T z y x ] , , , , , [           v
are vectors containing the end-effector trajectory parameters and their derivatives, respectively; x, y, z represent the position of the controlled point in the global frame and  and  the rotation of the platform about three axes a   , a  and a  . Vector x depends on both rigid coordinates q a and elastic coordinates q e . -A, B and C are three matrices relating the vectors v, e q  and a q  according to

e a q C q B Av    
. They can be found by differentiating the closure equations f i (x, q a , q e ) = 0 (taking into account the rigid as well as the elastic coordinates [START_REF] Bouzgarrou | New Approach for Dynamic Modelling of Flexible Manipulators[END_REF]) with respect to time. In the hypothesis of small elastic displacements ( 0 q  e ), matrices A and B may be found assuming that the robot is composed of rigid links only. -W p is the wrench applied on the platform by the legs and external forces expressed along axes a   , a  and a   [START_REF] Khalil | A Novel So-lution for the Dynamic Modeling of Gough-Stewart Manipu-lators[END_REF].

Expressing W p in the base frame, one can obtain:

p R q b W J W τ 0 T a   , ( 4a
) p R q c W J W 0 0 T e   , (4b)
where

  B A J R q 1 0   a
is the square Jacobian matrix between the twist t of the platform (expressed in the base frame) and the vector a q  of actuators velocities,

  C A J R q 1 0   e
is the non-square Jacobian matrix between twist t of the platform (expressed in the base frame) and the vector e q  of deformations velocities, D A A R  0 is the expression of matrix A in the base frame, where D is a transformation matrix, of which expression is given in [START_REF] Merlet | Parallel Robots[END_REF].

For any prescribed trajectory x(t), the values of vector q a can be found using the inverse kinematics and dynamics. Thus, taking into account that the manipulator is not in a Type 1 singularity [START_REF] Gosselin | Singularity Analysis of Closed-Loop Kinematic Chains[END_REF], i.e the mechanism is at a configuration where it loses one DOF, the terms W b , W c and p R W 0 can be computed [START_REF] Boyer | Simulation of Flexible Manipulators Using Newton-Euler Inverse Dynamic Model[END_REF]. However, for a trajectory passing through a Type 2 singularity, the determinant of matrix A R 0 vanishes. Numerically, the values of the efforts applied by the actuators become infinite. In practice, the manipulator either is locked in such a position of the end-effector or it can not follow the prescribed trajectory.

As it is mentioned above, in a Type 2 singularity, the determinant of matrix A R 0 vanishes. In other words, at least two of its columns are linearly dependant [START_REF] Merlet | Parallel Robots[END_REF]. So, one may obtain such a relationship:

0 0 R R T T T    s s A t 0 t A 0 , (5)
where the vector t s represents the direction of the uncontrollable motion of the platform in a Type 2 singularity. Then, by dot-multiplying both sides of (3) by ts and taking into account (5), we obtain

0 0 R T T  s t A λ , (6)
which also implies that

0 0 R T  s p t W , (7)
Thus, [START_REF] Hunt | Special Configurations of Robot-Arms via Screw Theory[END_REF] corresponds to the scalar product of vectors t s and p R W 0 . Thus, in the presence of a Type 2 singularity, it is possible to satisfy conditions [START_REF] Hunt | Special Configurations of Robot-Arms via Screw Theory[END_REF] if the wrench applied on the platform by the legs and external efforts p R W 0 are reciprocal to the direction of the uncontrollable motion t s . Otherwise, the dynamic model is not consistent. Obviously, in the presence of a Type 2 singularity, the displacement of the endeffector of the manipulator has to be planned to satisfy [START_REF] Hunt | Special Configurations of Robot-Arms via Screw Theory[END_REF]. Therefore, our task will be to achieve a trajectory which will allow the manipulator passing trough the Type 2 singularities, i.e. which will allow the manipulator respecting condition [START_REF] Hunt | Special Configurations of Robot-Arms via Screw Theory[END_REF].

In the next section, an example illustrates the obtained results discussed above. This example presents a planar 5R flexible parallel manipulator.

Illustrative example

In the planar 5R parallel manipulator, as shown in Fig. 1, the output point is connected to the base by two legs, each of which consists of three revolute joints and two links. In each of the two legs, the revolute joint connected to the base is actuated. Thus, such a manipulator is able to position its output point in a plane.

As shown in Fig. 1, the input joints are denoted as A and E. The orientation of elements 1 and 2 are denoted e q 1 and e q 2 , respectively. The common joint of the two legs is denoted as C, which is also the output axis with controlled parameters x = [x, y] T . A fixed global reference system xOy is located at the middle of segment AE with the y-axis normal to AE and the xaxis directed along AE. The lengths of the links AB & DE and BC & CD, are respectively denoted as L p and L d .

Actuators 1 and 2 are connected to links 1 and 2, respectively, via Harmonic Drive® systems which are represented by a model similar to that given in [START_REF] Spong | An Integral Manifold Approach to the Feedback Control of Flexible Joint Robots[END_REF]. The position of actuator i is denoted as a i q . It is assumed that the actuator i is capable to deliver a couple  i to the motor shaft, which is elastically coupled to the link i of the robot (i = 1 or 2). The flexibility of the drive system is modeled by a torsion spring with stiffness k 1 . The gear ratio is denoted n. I a is the axial moment of inertia of the motor i plus the Harmonic drive system. The deformations of the robot links 3 and 4 are modeled by adding virtual torsion springs at points R ij (i = 3, 4 and j = 1 to 3), such as elements 3 and 4 are decomposed into four subelements, denoted as elements iv (i = 3, 4 and v = 1 to 4), with identical lengths and inertia properties. The stiffness of these springs is denoted as k 2 . The displacement of the spring mounted at point R ij will be denoted as  ij .

The singularity analysis of this manipulator shows that the Type 2 singularities appear when links 3 and 4 are parallel [START_REF] Liu | Kinematics, Singularity and Workspace of Planar 5R Symmetrical Parallel Mechanism[END_REF] (Fig. 2). In both cases, the gained degree of freedom is an infinitesimal translation perpendicular to the links 3 and 4.

Taking into account that the gravity is directed along z axis (perpendicular to the plane of motions), the expression of the potential energy V may be written as:

  1 2 0.5 ( / ) ( / ) T T a e a e V k n n k     q q q q ε ε . ( 8
)
where

q a = [ a q 1 , a q 2 ] T , q e = [ e q 1 , e q 2 ] T and  = [ 31 , 2 , 3 ,  41 , 2 , 3 ] T .
The expression of the kinetic energy is

2 4 4 1 3 1 0.5( ( ( ) ( ) ( ) ( ) ( )( ) ) ) T T T T T a a a p e e d T T T p S i S i d S i j S i j i i j T I I I m m                          1 1 1 2 1 2 1 2 3 1 2 3 q q q q ψ ψ ψ ε ψ ε ψ ε ε ψ ε ε ψ ε ε ε ψ ε ε ε v v v v                         (9)
where

- T ] , [ 2 1       ψ
is the vector of the angular velocities of elements 3 and 4, -

3 4 [ , ] T j j j    ε    , j = 1 to 3
-v Si is the translational velocity vector of the centre of masses of element i (i = 1, 2); the centre of masses is located at the middle of the considered segment. -v Sij is the translational velocity vector of the centre of masses of element ij (i = 3, 4 and j = 1 to 3); the centre of masses is located at the middle of the considered segment. m p is the mass of the proximal links (elements 1 and 2), m d is the mass of each sub-elements of the distal links (elements ij, (i = 3, 4 and j = 1 to 4)); -I p is the axial moment of inertia of the proximal links (elements 1 and 2), I d is the axial moment of inertia of each sub-elements of the distal links;

The expressions of vectors v Si are: sin 0.5 cos

e e i Si p i e i q L q q         v  , for i = 1, 2 (10a)
sin sin cos 8 cos

e i e i d Sij p i i e i i q L L q q                    v   , for i = 1, 2 and j = 1 (10b) ( 1) ( 1) ( 1) ( 1)
sin( ) sin ( ) cos( ) cos [START_REF] Merlet | Singular Configurations of Parallel Manipulators and Grassmann Geometry[END_REF] 8

i i j i d d Sij Si j i i i j i i j i L L                                  v v    , for i = 1, 2 and j = 2 (10c) ( 2) ( 1) ( 2) ( 2) ( 2) ( 1) ( 2) ( 1) ( 2) ( 1) sin( ) ( ) cos( ) 8 sin( ) ( ) cos( ) 8 i i j d Sij Si j i i j i i j i i j i j d i i j i j i i j i j L L                                                    v v      , for i = 1, 2 and j = 3 (10d) ( 3) ( 2) ( 1) ( 3) ( 2) ( 3) ( 2) ( 3) ( 2) ( 1) ( 3) ( 2) ( 1) ( 3) ( 2) ( 1) sin( ) ( ) cos( ) 8 sin( ) ( ) cos( ) 8 i i j i j d Sij Si j i i j i j i i j i j i i j i j i j d i i j i j i j i i j i j i j L L                                                                      v v       
, for i = 1, 2 and j = 4 (10e)

Introducing (10a, b, c, d, e) into ( 9), the dynamic model can be obtained from ( 2) and (3):

2 T k    ε ε p W J W ε 0 , (11)
 

1 / e e T a e k n     q q p W J W q q 0, (12)
and

n n k I a e a a / ) / ( 1 q q q       . ( 13
)
The terms that appear in this model are described in the appendix.

For given trajectory x(t), the deformations (t) may de deduced from [START_REF] Bandyopadhyay | Analysis of Configuration Space Singularities of Closed-Loop Mechanisms and Parallel Manipulators[END_REF]. However, this equations is difficult to solve analytically, therefore an iterative resolution of the system is used [START_REF] Boyer | Simulation of Flexible Manipulators Using Newton-Euler Inverse Dynamic Model[END_REF]. Once (t) is known, the displacements, velocities, accelerations and other time derivatives of the passive and active variables q e and  may be found using the dynamic model equations and the loop closure equations, which are given in the appendix. Then, from [START_REF] Briot | Self Motions of General 3-RPR Planar Parallel Robots[END_REF], the values of q a are found:

q q p q W J W q . ( 14
)
Finally, the input torques  can be computed using [START_REF] Gosselin | The Optimum Design of Robotic Manipulators using Dexterity Indices[END_REF]. From ( 11), it appears that the deformations depends on the position x, velocity x  and acceleration x   of the end-effector. As a result, ε  depends on the end-effector position x, velocity x  , acceleration x   , jerk x   and its first derivative ) 4 (

x . Thus, q a also depends on the same parameters. As a result, from [START_REF] Gosselin | The Optimum Design of Robotic Manipulators using Dexterity Indices[END_REF], it can be shown that the input torques depends on the end-effector position, velocity, acceleration, jerk and its first, second and third derivatives with respect to time. Therefore, a thirteen-degree polynomial has to be applied as a control law when the end-effector is not in singular configuration.

In order to avoid infinite values of the input torques when crossing a Type 2 singularity, Eq. ( 7) has to be satisfied. From matrix A (see appendix), one can find that the twist of the infinitesimal displacement in the singularity can be written under the form:

T ] cos , sin [ 1 1     s t (15)
Thus, the examined manipulator can pass through the given singular positions if the wrench W p determined by ( 14) is reciprocal to the direction of the uncontrollable motion t s described by [START_REF] Merlet | Jacobian, Manipulability, Condition Number, and Accuracy of Parallel Robots[END_REF]. However, the difficulty remains into the fact that, introducing W p (see appendix) into (7) leads to a condition, which depends not only on the end-effector position, velocity and acceleration, but also of variables , ε  and ε  , which at any computation step can only be iteratively found. Therefore, contrary to our previous papers [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF] [START_REF] Briot | On the Dynamic Properties of Rigid-Link Flexible-Joint Parallel Manipulators in the Presence of Type 2 Singularities[END_REF] in which the polynomial laws able to achieve condition [START_REF] Hunt | Special Configurations of Robot-Arms via Screw Theory[END_REF] were defined analytically, in this case, this law can only be found by using numerical simulation algorithms. An example of the use of such algorithm is given below.

Let us now determine the trajectory, which makes it possible to satisfy condition (7) for the manipulator with following parameters of links: a = 0. With regard to the prescribed trajectory generation, the point C should reproduce a motion along a straight line between the initial position C 0 (x 0 , y 0 ) = C 0 (0.1, 0.345) and the final point C f (x f , y f ) = C f (-0.1, 0.145) in t f = 1 s (Fig. 3). However, the manipulator will pass by a Type 2 singular position at point C s (x s , y s ) = C s (0, 0.245) (Fig. 3). The trajectory can be expressed as follows:

                  ) ( ) ( ) ( ) ( ) ( ) ( 0 0 0 0 y y t s y x x t s x t y t x f f x ( 16
)
where s(t) is a polynomial, that should respect the following conditions:

s (t 0 ) = 0, ( 17
)
s (t f ) = 1, (18) 0
) ( ) ( 0   f t s t s   , ( 19
) 0 ) ( ) ( 0   f t s t s     , ( 20
) 0 ) ( ) ( 0   f t s t s       , ( 21
) 0 / )) ( ( / )) ( ( 0   dt t s d dt t s d f       , ( 22
) 0 / )) ( ( / )) ( ( 2 2 2 0 2   dt t s d dt t s d f       , ( 23
) 0 / )) ( ( / )) ( ( 3 3 3 0 3   dt t s d dt t s d f       , ( 24
)
s (t s = 0.5 s) = 0.5, (25) 0 ) (  s t s  , ( 26
)
and 0  p W t T s . ( 27
)
There are seventeen conditions, therefore s(t) should be at least a sixteen-degree polynomial.

Boundary conditions [START_REF] Alba-Gomez | Consistent Kinetostatic Indices for Planar 3-DOF Parallel Manipulators, Application to the Optimal Kinematic Inversion[END_REF] to [START_REF] Bhattacharya | Comparison of an Exact and Approximate Method of Singularity Avoidance in Platform Type Parallel Manipulators[END_REF] are directly linked to the expression of the polynomial, whereas [START_REF] Dasgupta | Singularity-Free Path Planning for the Steward Platform Manipulator[END_REF] involve the computation of the entire dynamic model, therefore, one way to find the polynomial is to express conditions [START_REF] Alba-Gomez | Consistent Kinetostatic Indices for Planar 3-DOF Parallel Manipulators, Application to the Optimal Kinematic Inversion[END_REF][START_REF] Arakelian | Increase of Singularity-Free Zones in the Workspace of Parallel Manipulators using Mechanisms of Variable Structure[END_REF][START_REF] Hubert | Singularity Analysis through Static Analysis[END_REF][START_REF] Ranganath | A Force-Torque Sensor Based on a Stewart Platform in a Near-Singular Configuration[END_REF][START_REF] Alvan | On the Control of the Spatial Parallel Manipulators with Several Degrees of Freedom, Mechanism and Machine Theory[END_REF][START_REF] Dasgupta | Force Redundancy in Parallel Manipulators: Theoretical and Practical Issues[END_REF][START_REF] Glazunov | Parallel Manipulator Control While Intersecting Singular Zones[END_REF][START_REF] Kotlarski | Singularity Avoidance of a Kinematically Redundant Parallel Robot by a Constrained Optimization of the Actuation Forces[END_REF][START_REF] Hesselbach | Aspects on the Design of High Precision Parallel Robots[END_REF][START_REF] Bhattacharya | Comparison of an Exact and Approximate Method of Singularity Avoidance in Platform Type Parallel Manipulators[END_REF][START_REF] Dasgupta | Singularity-Free Path Planning for the Steward Platform Manipulator[END_REF] as the following optimization problem:

a p W t a min ) (   T s f ( 28
)
subject to constraints [START_REF] Alba-Gomez | Consistent Kinetostatic Indices for Planar 3-DOF Parallel Manipulators, Application to the Optimal Kinematic Inversion[END_REF][START_REF] Arakelian | Increase of Singularity-Free Zones in the Workspace of Parallel Manipulators using Mechanisms of Variable Structure[END_REF][START_REF] Hubert | Singularity Analysis through Static Analysis[END_REF][START_REF] Ranganath | A Force-Torque Sensor Based on a Stewart Platform in a Near-Singular Configuration[END_REF][START_REF] Alvan | On the Control of the Spatial Parallel Manipulators with Several Degrees of Freedom, Mechanism and Machine Theory[END_REF][START_REF] Dasgupta | Force Redundancy in Parallel Manipulators: Theoretical and Practical Issues[END_REF][START_REF] Glazunov | Parallel Manipulator Control While Intersecting Singular Zones[END_REF][START_REF] Kotlarski | Singularity Avoidance of a Kinematically Redundant Parallel Robot by a Constrained Optimization of the Actuation Forces[END_REF][START_REF] Hesselbach | Aspects on the Design of High Precision Parallel Robots[END_REF][START_REF] Bhattacharya | Comparison of an Exact and Approximate Method of Singularity Avoidance in Platform Type Parallel Manipulators[END_REF], where a is a vector regrouping the coefficients of the polynomial s(t). It is obvious that such formulation does not imply a 100% guaranty that the function f(a) will be null at the end of the optimization step. However, in general, the simulations have shown that, even if the minimization problem ( 28) may not yield a zero result, it was possible to obtain a value close to zero.

A way to solve this problem is to use the goal attainment programming (function "fgoalattain" in Matlab). The goal attainment optimization allows generating specific Paretooptimal solutions. Let us apply the goal-attainment technique that yields the following nonlinear programming formulation:

a , min    (29) subject to i h h f w f i i i i     ; ) ( ; ) ( 0 0 a a  (30) where 0 ) ( i i h h  a
represents the constraints [START_REF] Alba-Gomez | Consistent Kinetostatic Indices for Planar 3-DOF Parallel Manipulators, Application to the Optimal Kinematic Inversion[END_REF][START_REF] Arakelian | Increase of Singularity-Free Zones in the Workspace of Parallel Manipulators using Mechanisms of Variable Structure[END_REF][START_REF] Hubert | Singularity Analysis through Static Analysis[END_REF][START_REF] Ranganath | A Force-Torque Sensor Based on a Stewart Platform in a Near-Singular Configuration[END_REF][START_REF] Alvan | On the Control of the Spatial Parallel Manipulators with Several Degrees of Freedom, Mechanism and Machine Theory[END_REF][START_REF] Dasgupta | Force Redundancy in Parallel Manipulators: Theoretical and Practical Issues[END_REF][START_REF] Glazunov | Parallel Manipulator Control While Intersecting Singular Zones[END_REF][START_REF] Kotlarski | Singularity Avoidance of a Kinematically Redundant Parallel Robot by a Constrained Optimization of the Actuation Forces[END_REF][START_REF] Hesselbach | Aspects on the Design of High Precision Parallel Robots[END_REF][START_REF] Bhattacharya | Comparison of an Exact and Approximate Method of Singularity Avoidance in Platform Type Parallel Manipulators[END_REF]. Here,  is an unrestricted scalar variable, 0  i w are designer selected weighting coefficients, and 0 i f are the goal to be realized for each design objective. In this formulation, minimization of  tends to force the specifications to meet their goal. If, at the solution point,  is negative, the goals have been over-attained; if  is positive, then the goals have been under-attained. The method is appealing since it is possible for the user to specify unrealizable objectives and still obtain a solution which represents a compromise. More detailed information about the goal-attainment optimization can be found in [START_REF] Fleming | Computer Aided Control System Design Using a Multi-Objective Optimisation Approach, Control 1985 Conference[END_REF].

Using the "fgoalattain" function in Matlab, with specified constraints (17-26) and objective [START_REF] Ider | Inverse Dynamics of Parallel Ma-nipulators in the Presence of Drive Singularities[END_REF], the following polynomial has been found:  

          (31)
This polynomial will be implemented into the dynamic model of the manipulator in order to verify that it allows the passing through the Type 2 singularity. The simulations have been carried out using the software ADAMS.

In order to compare the different cases of trajectory planning, in Figs. 4 and5 are given the values of the input torques obtained using the software ADAMS for the following numerical simulations: A: a trajectory between points C 0 and C' f (x' f , y' f ) = C' f (-0.1, 345) (Fig. 3) without meeting any singularity. For such a case, a thirteenth order polynomial law has been defined from conditions [START_REF] Alba-Gomez | Consistent Kinetostatic Indices for Planar 3-DOF Parallel Manipulators, Application to the Optimal Kinematic Inversion[END_REF][START_REF] Arakelian | Increase of Singularity-Free Zones in the Workspace of Parallel Manipulators using Mechanisms of Variable Structure[END_REF][START_REF] Hubert | Singularity Analysis through Static Analysis[END_REF][START_REF] Ranganath | A Force-Torque Sensor Based on a Stewart Platform in a Near-Singular Configuration[END_REF][START_REF] Alvan | On the Control of the Spatial Parallel Manipulators with Several Degrees of Freedom, Mechanism and Machine Theory[END_REF][START_REF] Dasgupta | Force Redundancy in Parallel Manipulators: Theoretical and Practical Issues[END_REF][START_REF] Glazunov | Parallel Manipulator Control While Intersecting Singular Zones[END_REF][START_REF] Kotlarski | Singularity Avoidance of a Kinematically Redundant Parallel Robot by a Constrained Optimization of the Actuation Forces[END_REF]. The obtained   It is interesting to observe the manipulator's behaviour for the simulated cases. The first law, which is a thirteenth order polynomial, assumes the prescribed motion without perturbation of torques outside of the singular zone. The same law does not provide the stable motion in the presence of singularity. The sixteenth order polynomial law re-establishes the stable motion for passing trough the singular position.

Conclusion

In our previous work, we have shown that any parallel manipulator can pass through the singular positions without perturbation of motion if the wrench applied on the end-effector by the legs and external efforts is reciprocal to the twist along the direction of the uncontrollable motion [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF]. This condition was applied to the rigid-link manipulators. The obtained results showed that the planning of motion for assuming the optimal force generation can be carried out by an eight order polynomial law. In [START_REF] Briot | On the Dynamic Properties of Rigid-Link Flexible-Joint Parallel Manipulators in the Presence of Type 2 Singularities[END_REF] the rigid-link flexible-joint manipulators have been studied. It was shown that the degree of the polynomial law should be different, when the flexibility of actuated joints is introduced. The obtained results disclosed that the planning of motion for assuming the optimal force generation in the rigid-link flexible-joint manipulators must be carried out by a twelfth order polynomial law.

In this paper, we have expanded the information about the dynamic properties of parallel manipulators in the presence of Type 2 singularity by including in the studied problem the link flexibility. The obtained results have shown that the planning of motion for assuming the optimal force generation in the manipulators with flexible links must be now carried out by a sixteenth order polynomial law.

The suggested technique was illustrated by a 5R planar parallel manipulator. The obtained results have been validated by numerical simulations carried out using the software ADAMS.

Appendix

From Eqs. (2, 3), vectors W  , W qe , and W p can be found:

  e e T T T T T d L L dt                  p x ψ ε ε ψ q q ψ ψ W J J J J J W v x , (A-1)
 

               q q W q F q q   , (A-2) d d d L L I m dt               ε ε W E F ε ε  , (A-3) with   4 d d I m    ψ 1 2 3 4 ψ W ψ ε + ε + ε + ε F      , (A-4)
i i i i i e             , (A-6a) 2 2 3 2 2 i i i i e          , (A-6b) 3 3 i i i e       , (A-6c) d f f dt             ψ F ψ ψ  , 4 4 3 1 T Sij Sij i j f     v v (A-7) e e e d f f dt             q F q q  , (A-8) d f f dt             ε F ε ε  (A-9)
Matrices J  and J qe , of Eqs. (11-13) may be found from the loop closure equations between x,  and q e :

          2 2 2 1 1 1 1 1 1 1 1 2 1 1 1
L q L                                    (A-10a)           2
L q L                                    (A-10b)
from which it comes:

a y L q f a a x L q a y L q                                A x (A-11)
f L a q a q                   B q (A-12) 11 12 13
24 25 26 0 0 0 0 0 0 8 i d c c c f L c c c                  C 0 ε (A-13) with, for i = 1, 2           1 1 1 2 1 2 3 1 2 1 2 3 1 2 3 sin sin sin 2sin 2 2sin 2 2sin 2 2 i i i i i i i i i i i i i i i c                             (A-14a)           2 1 2 1 2 3 1 2 1 2 3 1 2 3 sin sin sin 2 sin 2 2sin 2 2 i i i i i i i i i i i i i i c                           (A-14b)       3 1 2 3 1 2 3 1 2 3
sin sin 2 sin 2 2

i i i i i i i i i i c                   (A-14c)
As a result, it can be found that:

1 ( )

e ee       q ε v A Bq Cε J q J ε     (A-15)
and also that J of Eq. (A-1) may be found from loop closure equations between x, q e ,  and :

 

                       (A-17d)
from which it comes:

1 0 1 0 0 1 0 1 i g                       ψ A x (A-18)
                            ψ B q (A-19)
                                        ψ C ε (A-20) 1 2 1 2 sin 0 0 sin cos 0 0 cos i d g D L                             ψ ε (A-21)
As a result, it can be found that:

Figure 1 .

 1 Figure 1. Kinematic chain of the planar 5R parallel manipulator.

Figure 2 .

 2 Figure 2. Type 2 singular configurations of the planar 5R parallel manipulator.

  2 m, L p = L d = 0.25 m, m p = 1.75 kg, m d = 1.8 kg, I p = 1.18.10 -2 kg.m², I d = 1.5.10 -4 kg.m², I a = 0.064.10 -4 kg.m², k 1 = k 2 = 800 Nm/rad, n = 50.

Figure 3 .

 3 Figure 3. Initial, singular and final positions of the planar 5R parallel manipulator.

Figure 4 .

 4 the trajectory planning between C 0 and C f inside the singular zone of the manipulator. In this case the values of the input torques close to the singular positions tend to infinity. C: the sixteenth order polynomial law of Eq. (31) for the trajectory planning of the manipulator inside the singular zone. The obtained results show that the values of the input torques are finite. (a) Case A (b) Case B (c) Case C Torques values for the actuator 1.

Figure 5 .

 5 Torques values for the actuator 2.

  B q C ε A v B q C ε D ψ


Sébastien Briot

Maxime Gautier

Global Identification of Drive Gains and Dynamic Parameters of Parallel Robots -Part 1: Theory

Most of the papers dealing with the dynamic parameters identification of parallel robots are based on simple models, which take only the dynamics of the moving platform into account. Moreover the actuator drive gains are not calibrated which leads to identification errors. In this paper a systematic way to derive the full dynamic identification model of parallel robots is proposed in combination with a method that allows the identification of both robot inertial parameters and drive gains.

Introduction

Parallel robots are increasingly being used since a few decades. This is due to their main advantages compared to their serial counterparts that are: (i) a higher intrinsic rigidity, (ii) a larger payload-to-weight ratio and (iii) higher velocity and acceleration capacities [START_REF] Merlet | Parallel Robots[END_REF]. In order to obtain these interesting properties, a good controller should be implemented. Several approaches could be envisaged (Amiral et al., 1996;[START_REF] Vivas | Predictive functional control of a parallel robot[END_REF], but it appears that, for high-speed robots or when varying loads have to be compensated (e.g. in pick-and-place operations or machining), computed torque control is generally used [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]. This approach needs a correct identification of the dynamic model of the robot with the load [START_REF] Khalil | Identification of the payload inertial parameters of industrial manipulators[END_REF], which can be obtained provided two main conditions are satisfied: (i) a well-tuned derivative band-pass filtering of actuated joints position is used to calculate the actuated joints velocities and accelerations, and (ii) the accurate values of actuator drive gains g τ are accurately known to calculate the actuator force/torque as the product of the known control signal calculated by the numerical controller of the robot (the current references) by the drive gains. However, this is rarely the case and they need to be calibrated [START_REF] Restrepo | Calibration of drive chain of robot joints[END_REF][START_REF] Corke | In situ measurement of robot motor electrical constants[END_REF].

Among all papers dealing with dynamic parameters identificiation for parallel robots, only few of them propose a systematic computation of the full Inverse Dynamic Identification Model (IDIM). In [START_REF] Guegan | Identification of the dynamic parameters of the orthoglide[END_REF], the authors propose an attempt to create a systematic IDIM based on a Newton-Euler approach. The closed loops are first virtually opened to compute the dynamic model of the tree structure and then, the closure constraints are imposed. However, the way to open the loop is not straightforward. In [START_REF] Grotjahn | Identification of friction and rigid-body dynamics of parallel kinematic structures for model-based control[END_REF][START_REF] Diaz-Rodriguez | A methodology for dynamic parameters identification of 3-dof parallel robots in terms of relevant parameters[END_REF], the authors propose methods for computing the IDIM based on the Jourdain's principle or Lagrange multipliers. But the way to identify the drive gains is not treated. Moreover, some jacobian matrices, whose computation is not straightforward, are not clearly derived.

In this paper it is proposed a global approach for both the identification of parallel robots dynamic parameters and drive gains. This paper is the first part of our work on the identification of the parallel robots dynamic parameters and it presents the theoretical approach. A case study will be treated in [START_REF] Gautier | Global identification of drive gains parameters of robots using a known payload[END_REF].

A Systematic Procedure for the IDIM Computation

A parallel robot is a complex multi-body system having several closed loops (Fig. 1a). It is composed of a moving platform connected to a fixed base by n legs and m elements. In this paper, a method similar to [START_REF] Ibrahim | Inverse and direct dynamic models of hybride robots[END_REF] is applied for the computation of IDIM of non-redundant parallel robots. The proposed method is decomposed into two steps: (i) all closed loops are virtually opened to make the platform virtually disassembled from the rest of the structure (Fig. 1b); each leg joint is virtually considered actuated (even for unactuated actual joints) so that the robot becomes a tree structure with a free body: the platform; the dynamic model of the tree structure and of the free platform is then computed using a systematic procedure based on the Newton-Euler principle and (ii) the loops are then closed using the loop-closure equations and the Lagrange multipliers.

IDIM of Tree Open Loop Robots

It is known that the complete rigid dynamic model of any open-loop tree structure can be linearly written in term of a (n t × 1) vector with respect

Fixed base

Moving platform passive joints actuated joints to the standard parameters χ stt [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF],

rigid segments C 1,1 C 2,1 C 3,1 C m 1 ,1 C m 1 -1,1 C 1,n C 2,n C 3,n C m n ,n C m n -1,n C 1,k C 2,k C 3,k C m k ,k C m k -1,k C 1,2 C 2,2 C 3,2 C m 2 ,2 C m 2 -1,2 (a) Kinematic chain
τ idmt (q t , qt , qt ) = φ stt (q t , qt , qt ) χ stt (1)
where τ idmt is the (n t × 1) vector of the virtual input efforts of the tree structure, φ stt is the (n t × n stt ) jacobian matrix of τ idmt , with respect to the (n stt × 1) vector χ stt of the standard parameters given by χ stt = [χ 1T st , χ 2T st , . . . χ nT st ] that are described in [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF] and q t , qt , qt are the vectors of the joint positions, velocities and accelerations, respectively.

Several methods can be used to systematically derive these equations. Here, an algorithm based on the use of the modified Denavit-Hartenberg robot geometric description and the Newton-Euler principle is applied. This modelling is known to give the dynamic model equations in the most compact form [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF].

IDIM of Parallel Robots

The previous dynamic model does not take into account the closed loop characteristics of parallel robots: among all joint coordinates q t and platform coordinates x, only a subset denoted as q is independent (the actual actuated joints positions). As a result, vectors q t and x can be computed as functions of q using the loop-closure equations [START_REF] Merlet | Parallel Robots[END_REF],

f t (q, q t ) = 0, f p (q, x) = 0 (2)
Using these equations, all joint and platform velocities and accelerations can be computed:

qt = -A -1 t B t q = J t q, t = -A -1 p B p q = J p q, (3) qt = -A -1 t ( Ȧt qt + B t q + Ḃt q), γ = -A -1 p ( Ȧp t + B p q + Ḃp q) (4)
where t is the platform twist, γ the platform acceleration screw and matrices A t , A p (B t , B p , resp.) can be obtained through the differentation of the loop-closure equations ( 2) with respect to all joint coordinates q t and the platform coordinates (actuated joints positions, resp.). It should be noticed that the computation of matrices A t and B t is generally not straightforward. Therefore, it is preferable to: 1. express the kinematic relation between the platform twist t and the velocities t tk of all leg extremities C m k ,k (Fig. 1a), t tk = J tk t, 2. express the kinematic relation between the velocities t tk of all leg extremities C m k ,k and the velocities of all joints qp , t tk = J k qp , 3. combine these two relations with (3) in order to obtain qp = J t q, with J t = J -1 k J tk J p . All the previous expressions are valuable as long as the robot does not meet any singularity. To take into account the closure-loop constraints into the dynamic model of the parallel robot, the Lagrange multipliers λ can be used [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF] to compute the (n × 1) vector of the actuated joint force/ torque τ idm of the closed-loop structure:

τ idm = -[B T t , B T p ]λ,
where

A T t 0 0 A T p λ = τ idmt f p (5)
f p being the (6 × 1) vector of inertia forces of the platform plus the external loading [START_REF] Ibrahim | Inverse and direct dynamic models of hybride robots[END_REF]. ( 5) can be rewritten as:

τ idm = J T t τ idmt + J T p f p = J T t φ stt (q t , qt , qt ) χ stt + J T p φ p (x, v, γ) χ p = J T t φ stt J T p φ p χ T stt χ T p T = φ st (q, q, q) χ st (6)
where χ p is the (10 × 1) vector of platform parameters, φ p is the (6 × 10) jacobian matrix between f p and χ p , χ st is the (n st × 1) vector of the global standard parameters of the parallel robot and φ st the (n × n st ) jacobian matrix between τ idm and χ st . The identifiable parameters are the base parameters which are the minimum number of dynamic parameters from which the dynamic model can be calculated [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]. The minimal dynamic model can be written using the n b base dynamic parameters χ as follows:

τ idm = φ (q, q, q) χ (7)
where φ is a subset of independant columns in φ st which defines the identifiable parameters.

Because of perturbations due to noise measurement and modelling errors, the actual force/torque τ differs from τ idm by an error, e, such that:

τ = v τ g τ = diag(v j τ ) g 1 τ . . . g n τ T = τ idm + e = φ (q, q, q) χ + e (8)
v τ is the (n × n) diagonal matrix of the actual current references of the current amplifiers (v j τ corresponds to actuated joints j) and g τ is the (n × 1) vector of the drive gains (g j τ corresponds to actuator j). Equation ( 8) represents the IDIM.

Identification Procedure

Recalls on Least Squares Identification of the Dynamic Parameters (IDIM-LS)

The off-line identification of the base dynamic parameters χ can be achieved given measured or estimated off-line data for τ and (q, q, q), collected while the robot is tracking some planned trajectories. The model ( 8) is sampled, low pass filtered and decimated in order to get an overdetermined linear system of (n × r) equations and n b unknowns:

Y(τ ) = W(q, q, q)χ + ρ (9)
where (q, q, q) are an estimation of (q, q, q), obtained by band-pass filtering and sampling the measure of q [START_REF] Gautier | Dynamic identification of robots with power model[END_REF], ρ is the (r × 1) vector of errors and W(q, q, q) is the ((n × r) × n b ) observation matrix.

Using the base parameters and tracking some 'exciting' reference trajectories [START_REF] Gautier | Exciting trajectories for the identification of the inertial parameters of robots[END_REF], a well conditionned matrix W is obtained. The LS solution χ of ( 9) is given by: χ = W + Y, where W + = (W T W) -1 W T (10)

Standard deviations σ χi can be estimated assuming that ρ is a zero mean independant noise [START_REF] Gautier | Dynamic identification of robots with power model[END_REF]. The ordinary LS can be improved by taking into account different standard deviations on actuated joint j equations errors [START_REF] Gautier | Dynamic identification of robots with power model[END_REF]. This weighting operation normalises the errors in ( 9) and gives the weighted LS estimation of the parameters (IDIM-WLS).

Total Least Squares Identification

In the classical IDIM-LS, to compute vector Y, the drive gains are supposed known. But usually the manufacturers give drive gain parameters with an uncertainty of about 10%, thus leading to identification errors. Therefore, it is preferable to introduce the drive gains into the base parameters and to use the Total Least Squares Identification (IDIM-TLS).

Details on the Total LS (TLS) identification method can be found in [START_REF] Van Huffel | The Total Least Squares Problem: Computational Aspects and Analysis[END_REF] and many papers of the same authors. This method has been applied in [START_REF] Gautier | Identification of inertial and drive gain parameters of robots[END_REF] for the identification of the drive gains and the dynamic parameters on a two degrees of freedom (dof) serial robot but gives arguable results due to the lack of an accurate scale factor. In this paper a major improvement is proposed: the accurate scaling of parameters using the precise weighed value of an additional payload mass. However, by the use of the model ( 9) without any modification, the payload parameters are regrouped with the end-effector parameters and cannot be independently identified. In order to apply the proposed approach, the model ( 9) must be modified. This procedure is detailed below.

IDIM Including a Payload and Drive Gains

The inertial parameters of the payload are easily added to the IDIM by considering the payload as a link m + 1 fixed to the robot platform. The model ( 8) becomes:

τ = v τ g τ = φ φ uL φ kL χ T χ T uL χ T kL T + e (11)
where χ kL is the (n kL × 1) vector of the known inertial parameters of the payload (calculated with CAD or accurately measured), χ uL is the ((10n kL ) × 1) vector of the unknown inertial parameters of the payload, φ kL is the (n × n kL ) jacobian matrix of τ idm , with respect to the vector χ kL and φ uL is the (n × (10n kL )) jacobian matrix of τ idm , with respect to the vector χ uL .

Solution of the IDIM-TLS

The identification of the dynamic parameters of the robot and the payload requires the achievement of two types of trajectories: (a) trajectories without payload and (b) trajectories with the payload fixed to the end-effector [START_REF] Khalil | Identification of the payload inertial parameters of industrial manipulators[END_REF]. The sampling and filtering of the model IDIM (11) can be then written as:

Y = V τ a V τ b g τ = W a 0 0 W b W uL W kL χ T χ T uL χ T kL T + ρ (12)
where W a is the observation matrix of the robot in the unloaded case, W b is the observation matrix of the robot in the loaded case, W uL is the observation matrix corresponding to the unknown payload inertial parameters, W kL is the observation matrix corresponding to the known payload inertial parameters, V τ a is the matrix of v τ samples in the unloaded case, V τ b is the matrix of v τ samples in the loaded case.

Eq. ( 12) becomes:

W tot χ tot = -W a V τ a 0 0 -W b V τ b -W uL -W kL χ kL χ T , g T τ , χ T uL , δ T = ρ (13)
where W tot is a (r × (n b + n + 11n kL )) matrix, χ tot is a (n b +n+11-n kL ) vector and δ is a scalar which should be equal to 1. Without perturbation, ρ = 0 and W tot should be rank deficient to get the solutions λχ tot = 0 depending on a scale coefficient λ. However because of the measurement perturbations, W tot is a full rank matrix. Therefore, the system ( 13) is replaced by the compatible system closest to (13) with respect to the Frobenius norm: Ŵtot χtot = 0, where Ŵtot is the rank deficient matrix, with the same dimension as W tot , which minimizes the Frobenius norm W tot -Ŵtot [START_REF] Gautier | Identification of inertial and drive gain parameters of robots[END_REF] and χtot = χT ĝT τ χT uL δ T is the solution of the compatible system closest to (13).

There are infinity of vectors χtot = λ χn tot that can be obtained by a scale factor λ. A unique solution χ * tot = λ χn tot can be found by taking into account that the last value of χ * tot should be equal to 1, i.e. λ = 1/ δ. More information on IDIM-TLS can be found in [START_REF] Gautier | Global identification of drive gains parameters of robots using a known payload[END_REF].

This section ends the theoretical part of this work. A case study is developped in [START_REF] Gautier | Global identification of drive gains parameters of robots using a known payload[END_REF] and shows the effectivess of the method.

Conclusions

This paper has presented a global approach for both the identification of parallel robots dynamic parameters and drive gains. It is based on a IDIM-TLS technique using current reference and position sampled data while the robot is tracking one reference trajectory without load fixed on the robot and one trajectory with a known payload fixed on the robot, whose inertial parameters are measured. This paper has presented only theoretical derivations and a case study will be presented in [START_REF] Gautier | Global identification of drive gains parameters of robots using a known payload[END_REF].

Figure 1 :

 1 Figure 1: A general parallel robot.

  BibliographyY. Amiral, G.F. Francois, J. Pontnauand, and M. Dafaoui. Design and control of a new six-dof parallel robot: application to equestrian gait simulation. Mechatronics, 6:227239, 1996. S. Briot and M. Gautier. Global identification of drive gains and dynamic parameters of parallel robots -part 2: Case study. In Proceedings of

* This work has been partially funded by the French ANR project ARROW (ANR 2011 BS3 006 01).


Sébastien Briot

Maxime Gautier

Global Identification of Drive Gains and Dynamic Parameters of Parallel Robots -Part 2: Case Study

Usually, identification models of parallel robots are simplified and take only the dynamics of the moving platform into account. Moreover the input efforts are estimated through the use of the manfucaturer's actuator drive gains that are not calibrated thus leading to identification errors. In this paper a systematic way to derive the full dynamic identification model of the Orthoglide parallel robot in combination with a method that allows the identification of both robot inertial parameters and drive gains.

Introduction

Many modern robotic applications require high-performances (in terms of speed, accuracy, payload capability, etc.) that cannot be obtained without a good controller (Amiral et al., 1996;[START_REF] Vivas | Predictive functional control of a parallel robot[END_REF]). It appears that, for high-speed robots or when varying loads have to be compensated (e.g. in pick-and-place operations or machining), computed torque control is generally used [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]. This approach needs a correct identification of the dynamic model of the robot with the load [START_REF] Khalil | Identification of the payload inertial parameters of industrial manipulators[END_REF].

Several papers deal with the identification of parallel robots [START_REF] Honegger | Application of a nonlinear adaptive controller to a 6 dof parallel manipulator[END_REF][START_REF] Honegger | Adaptive control of the hexaglide, a 6dof parallel manipulator[END_REF]. These publications are restricted to very simple models, which take only the dynamics of the moving platform into account. Only few of them deal with the systematic computation of the full Inverse Dynamic Identification Model (IDIM). In [START_REF] Guegan | Identification the dynamic parameters of the orthoglide[END_REF], the authors propose an attempt to create a systematic IDIM based on a Newton-Euler approach. The closed loops are first virtually opened to compute the dynamic model of the tree structure and then, the closure constraints are imposed. However, the way to open the loop is not straightforward. In [START_REF] Grotjahn | Identification of friction and rigid-body dynamics of parallel kinematic structures for model-based control[END_REF][START_REF] Diaz-Rodriguez | A methodology for dynamic parameters identification of 3-dof parallel robots in terms of relevant parameters[END_REF], the authors propose methods for computing the IDIM based on the Jourdain's principle or Lagrange multipliers. But the way to identify the drive gains is not treated. Moreover, some jacobian matrices, whose computation is not straightforward, are not clearly derived.

This paper presents the application of a Total Least Square procedure for the identification of the inertial parameters (IDIM-TLS) of the Orthoglide [START_REF] Chablat | A comparative study between two three-dof parallel kinematic machines using kinetostatic criteria and interval analysis[END_REF]. It is the second part of our work on the identification of the parallel robots dynamic parameters and it uses the theoretical approach developped in [START_REF] Briot | Global identification of drive gains and dynamic parameters of parallel robots -part 1: Theory[END_REF].

Modeling of the Orthoglide

Description of the architecture

The Orthoglide is a parallel robot with three translational degrees of freedom (dof) composed of three identical legs (Fig. 1). Each leg is achieved via one linearly actuated foot linked at its extremity to a spatial parallelogramm (Fig. 2a). The parallelogram is also attached to the mobile platform. The direction of the three linear actuators of the Orthoglide are orthogonal (Fig. 1b). This aims at creating a mechanism with a workspace shape close from a cube and whose behavior is close from the isotropy wherever it is located in its workspace.

For the remainder of the paper, it should be mentioned that the gravity field g is directed along the vector y 0 of Fig. 2c.

Dynamic modeling

For the dynamic modeling of the Orthoglide, as the bars of the parallelograms are parallel and as the prototype has been design so that they are identical, it is possible to replace the long bars by only one equivalent bar linked at each extremity by two orthogonal pivots (Fig. 2b) without loss of generality. Let us recall that the computation of the dynamic model is decomposed into two steps [START_REF] Briot | Global identification of drive gains and dynamic parameters of parallel robots -part 1: Theory[END_REF]:

1. All closed loops are virtually opened and the robot platform is virtually disassembled from the rest of the structure so that an open-loop tree structure is created; 2. The loops are then closed using the loop-closure equations and the Lagrange multipliers.

Dynamic modeling of the virtual tree structure Using the previous assemption, the Orthoglide kinematics necessary for computing the dynamic model are defined using the modified Denavit and Hartenberg notation (MDH) [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]. The geometric parameters of the virtual open-loop tree structure are given in Tables 1 and2. The MDH notation is well known, therefore the parameters of Tables 1 and2 will not be defined here. For more information concerning the MDH parameters, the reader should refer to [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]. Using these MDH parameters, the dynamic model of the virtual tree structure that expresses the virtual input efforts τ idmt of all joints as a linear function of the inertial parameters χ stt can be automatically computed with an algorithm based on the Newton-Euler approach [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF][START_REF] Khalil | Symoro+: a system for the symbolic modelling of robots[END_REF]:

τ idmt (q t , qt , qt ) = φ stt (q t , qt , qt )χ stt (1)
where q t = [q 11 , q 21 , ..., q 53 ] T is the (15 × 1) vector regrouping all joint variables.

Table 1: MDH parameters for the frames corresponding to the first body of each leg.

j i a(j i ) μ ji σ ji γ ji b ji α ji d ji θ ji r ji 1 1 0 1 1 0 0 0 0 0 q 11 1 2 0 1 1 π/2 a π/2 0 0 q 12 -a 1 3 0 1 1 0 a -π/2 0 -π/2 q 13 + a
Table 2: MDH parameters for the frames corresponding to the leg i.

j i a(j i ) μ ji σ ji γ ji b ji α ji d ji θ ji r ji 2 i 1 i 1 0 0 0 -π/2 0 q 2i 0 3 i 2 i 1 0 0 0 -π/2 0 q 3i 0 4 i 3 i 1 0 0 0 0 d 4 q 4i 0 5 i 4 i 1 0 0 0 π/2 0 q 5i 0
Dynamic modeling of the actual robot As proposed in [START_REF] Briot | Global identification of drive gains and dynamic parameters of parallel robots -part 1: Theory[END_REF], the loop contraints can be taken into account by using the robot loop-closure equations [START_REF] Merlet | Parallel Robots[END_REF] and the Lagrange multipliers [START_REF] Moon | Applied dynamics[END_REF]. The loop closure-equations of the Orthoglide can be expressed as

f t = f T t11 , f T t21 , f T t12 , f T t22 , f T t13 , f T t23 T = 0 with (2) f t1i = ⎡ ⎣ x y z ⎤ ⎦ -R i 0 ⎡ ⎣ d 4 cos q 2i cos q 3i + aδ i -d 4 sin q 3i + aδ i+1 q 1i -a δi+2 -d 4 sin q 2i cos q 3i + d 6 ⎤ ⎦ , f t2i = q 2i q 3i + q 5i q 4i , f p = ⎡ ⎣ x 2 + y 2 + (z -q 11 -d 6 ) 2 -d 2 4 (x -q 12 -d 6 + a) 2 + y 2 + (z -a) 2 -d 2 4 x 2 + (y -q 13 -d 6 + a) 2 + (z -a) 2 -d 2 4 ⎤ ⎦ = 0, (3)
where R i 0 is the rotation matrix between the leg frame (O i , x 1i , y 1i , z 1i ) and the base frame (O 0 , x 0 , y 0 , z 0 ) (Fig. 2c), d 6 is a length defined at Fig. 2b, δ i is a scalar of which value is equal to 1 if i = 3, 0 if not and δi = 1 ( δi = 0, resp.) if δ i = 0 (δ i = 1, resp.).

As shown in [START_REF] Briot | Global identification of drive gains and dynamic parameters of parallel robots -part 1: Theory[END_REF], the dynamic model of the real robot can be computed as:

τ idm = J T t τ idmt + J T p f p = J T t φ stt (q t , qt , qt ) χ stt + J T p φ p (γ) χ p = J T t φ stt J T p φ p χ T stt χ T p T = φ st (q, q, q) χ st (4)
where χ p represents the standard parameters of the platform (as the Orthoglide is a translational robot, the platform mass m 6 is the only identifiable parameter, i.e. χ p = m 6 ), γ = [ẍ, ÿ, z] T is the platform acceleration and φ p = diag(ẍ, ÿg, z). The same expressions can be used for adding in the model the contribution of the payload 7. The matrices J t and J p and all positions, velocities and accelerations that are necessary for computing the dynamic model of the real robot can be straightforwardly calculated from ( 2) and (3) using expressions of [START_REF] Briot | Global identification of drive gains and dynamic parameters of parallel robots -part 1: Theory[END_REF].

Total Least Square Identification (IDIM-TLS)

In this part, experimentations are performed and the dynamic model identification is carried out on the Orthoglide. The actuation of its feet is achieved by a rotary DC motor Sanyo Denki linked to a ball-screw. The actuators are powered by current source amplifiers Sanyo Denki. The global drive gains given by the manufacturer are equal to 637π ≈ 2001.

The approach presented in [START_REF] Briot | Global identification of drive gains and dynamic parameters of parallel robots -part 1: Theory[END_REF] requires that the robot moves on two types of exciting trajectories: (i) a first type of trajectory without any payload and (ii) a second type of trajectory with a payload. The way to compute exciting trajectories for identification presented in [START_REF] Gautier | Exciting trajectories for the identification of the inertial parameters of robots[END_REF] and is not detailed here. In our experiments, the payload mass has been measured with an accurate weighing machine (M 7 = 1.983kg ± 0.001kg).

Table 3 presents the identification results. In this table, 2σ χi represents the standard deviation of the parameters and %σ χri the percentage of estimation error.

Only the essential parameters are shown [START_REF] Gautier | Dynamic identification of robots with power model[END_REF], i.e. the parameters that have a real influence on the model. Let us recall that parameter g τj represents the drive gain of actuator j, XX j , XY j , XZ j , Y Y j , Y Z j , ZZ j are the 6 components of the inertia matrix of link j at the origin of frame j, M X j , MY j , MZ j are the 3 components of the first moment of link j, M j is its mass, Ia j is the total inertia moment for rotor and gears, F v j , F c j are the visquous and Coulomb friction coefficients in the joint. Moreover, subscript 'R' stands for the parameters that have been regrouped [START_REF] Gautier | Numerical calculation of the base inertial parameters[END_REF] 1 . It should also be noticed that the given value of standard deviation and percentage of error for the payload mass M 7 are those estimated by the use of the weighing machine.

The results show that the identified drive gains are about 5% far from those given by the manufacturer. With these identified parameters, the actuator efforts are reconstructed and compared with the measured ones (Fig 3). It can be seen that the efforts are well simulated.

In order to definitely validate our method, a second payload of 1.136 kg is mounted on the platform and a classical weighted least square identification is performed [START_REF] Gautier | Dynamic identification of robots with power model[END_REF]. Two cases are considered: (Case 1) the drive gains used are those of the manufacturer and (Case 2) the drive gains are those identified in Table 3. The following results are found: (Case 1) M 7 = 1.09 kg with 2σ χi = 0.02 kg, (Case 2) M 7 = 1.14 kg with 2σ χi = 0.02 kg. It is thus possible to conclude that the identification of the drive gain using IDIM-TLS leads to better payload reconstruction.

Conclusions

This paper has presented a global approach for both the identification of parallel robots dynamic parameters and drive gains. It is based on a IDIM-TLS technique using current reference and position sampled data while the robot is tracking one reference trajectory without load fixed on the robot and one trajectory with a known payload fixed on the robot, whose inertial parameters are measured or calculated with a CAD software. Experiments show that the technique increase the identification quality and that with the new identified gains, the payload reconstruction is improved.

F s 32R =F s 32 + F s 42 F v 33R =F v 33 + F v 43 F s 33R =F s 33 + F s 43

Bibliography

Y. Amiral, G.F. Francois, J. Pontnauand, and M. Dafaoui. Design and control of a new six-dof parallel robot: application to equestrian gait simulation. Mechatronics, 6:227239, 1996.

Figure 1 :

 1 Figure 1: The Orthoglide robot.

Figure 2 :

 2 Figure 2: Kinematic chain description.

Figure 3 :

 3 Figure 3: Measured and computed torques of the Orthoglide with the payload of 1.983 kg.

  11R =M 11 + Ia 11 + M 21 + M 31 + M 41 + M 51 + 3.23MX 32 + M 42 + M 52 + 3.23MX 33 + M 43 + M 53 + M 6 M 12R =M 21 + Ia 21 + M 22 -3.23MX 32 + M 32 M 13R =M 31 + M 23 -3.2258MX 33 + M 33 ZZ 21R =ZZ 21 + Ia 21 + Y Y 31 + Y Y 41 + 0.1M 41 + 0.1M 51 + 0.31MX 32 + 0.1M 42 + 0.1M 52 + 0.31MX 33 + 0.1M 43 + 0.1M 53 + 0.1M 6 F v 21R =F v 21 + F v 51 ZZ 31R =ZZ 31 + Ia 31 + 0.1M 41 + 0.1M 51 + 0.31MX 32 + 0.1M 42 + 0.1M 52 + 0.31MX 33 + 0.1M 43 + 0.1M 53 + 0.1M 6 MX 31R =MX 31 + 0.31M 41 + 0.31M 51 + MX 32 + 0.31M 42 + 0.31M 52 + MX 33 + 0.31M 43 + 0.31M 53 + 0.31M 6 F s 31R =F s 31 + F s 41

1 M

Table 3 :

 3 Essential parameters of the Orthoglide.

	Par.	Val.	2σ χi	%σ χri	Par.	Val.	2σ χi	%σ χri
	g τ1	2110	8.93	0.42	F s 13	24.4	0.0813	0.33
	g τ2	2130	8.83	0.41	ZZ 21R	0.0970 1.13 • 10 -3	1.17
	g τ3	2070	5.16	0.25	M X 21	-0.123 4.87 • 10 -3	3.95
	M 11R 9.93 0.0468	0.47	F v 21R	5.50	0.0796	1.45
	F v 11	83.0	0.377	0.45	ZZ 31R	0.0739 1.04 • 10 -3	1.41
	F s 11	34.5	0.160	0.46	M X 31R	0.202	3.43 • 10 -3	1.70
	M 12R 8.86 0.0417	0.47	F s 31R	1.60	0.0245	1.54
	F v 12	87.5	0.463	0.53	M X 41	0.0377 7.73 • 10 -4	2.05
	F s 12	43.0	0.192	0.45	F s 32R	1.57	0.0245	1.56
	M 13R 1.10 0.0131	1.19	F v 33R	-5.51	0.0851	1.54
	Ia 13	7.93 0.0242	0.31	F s 33R	1.37	0.0273	2.00
	F v 13	84.1	0.238	0.28	M 7	1.983	0.001	0.05

* This work has been partially funded by the French ANR project ARROW (ANR 2011 BS3 006 01).


Alessia Vignolo
email: alessia.vignolo@gmail.com

Sébastien Briot
email: sebastien.briot@irccyn.ec-nantes.fr

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

Chao Chen
email: chao.chen@monash.edu

Comparative Analysis of two Types of Leg-observation-based Visual Servoing Approaches for the Control of the Five-bar Mechanism

Past research works have proven that the robot end-effector pose of parallel mechanisms can be effectively estimated by vision. For parallel robots, it was previously proposed to directly observe the end-effector. However, this observation may be not possible (e.g. if the robot is milling). Therefore, it has been proposed to use another type of controller based on the observation of the leg directions. Despite interesting results, this controller involves the presence of mapping singularities inside the robot workspace (near which the accuracy is poor). This paper presents a new approach for visionbased control of the end-effector: by observing the mechanism legs, it is possible to extract the Plücker coordinates of their lines and control the end-effector pose. In this paper it is also presented a comparison between the previous approach based on the leg direction and this new approach based on the leg line Plücker coordinates. The new approach can be applied to a family of parallel machines for which the previous approach is not suitable and has also some advantages regarding the workspace of applicability. The simulation results of both the controllers applied on a five-bar mechanism are presented.

Introduction

Compared to serial robots, parallel kinematic manipulators [Leinonen, 1991] are stiffer and can reach higher speeds and accelerations [Merlet, 2006]. However, their control is troublesome because of the complex mechanical structure, highly coupled joint motions 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 [Merlet, 2012] for a long list of references). It is possible to bypass the complex kinematic structure of the robot and to apply a form of control which uses an external sensor to estimate the pose of the end-effector, reducing the stability and accuracy degradation mentioned earlier.

A proven approach for estimating the end-effector pose is through the use of vision. The most common approach consists of the direct observation of the endeffector pose [START_REF] Espiau | [END_REF][START_REF] Horaud | [END_REF]Martinet et al., 1996]. In some cases, however, it may prove difficult to observe the end-effector of the robot, e.g. in the case of a machine-tool. A substitute target for the observation must then be chosen and an effective candidate for this are the legs of the robot, which are usually designed with slim and rectilinear rods [Merlet, 2012].

An application of this technique was performed in [Andreff et al., 2005] where vision was used to derive a visual servoing scheme based on the observation of the legs of a Gough-Stewart (GS) parallel robot [Gough and Whitehall, 1962]. In that method, the leg directions (each direction represented by a 3D unit vector) were chosen as visual primitives and control was derived based on their reconstruction from the image. The approach was applied to several types of robots, such as the Adept Quattro and other robots of the same family [START_REF] Ozgur | [END_REF]Andreff and Martinet, 2006].

However, it was proven later that:

• The mapping between the leg direction space and the end-effector pose space is not free of singularity which considerably affect the performance in terms of accuracy and which do not appear at the same place as the singularity of the controlled robot: finding the singularity of the mapping is a complicated task which can be considerably simplified by using a tool called "the hidden robot" concept [START_REF] Rosenzveig | [END_REF]. The hidden robot is a virtual robot whose kinematics represents the mapping between the leg direction space and the end-effector pose space. Thus, the mapping singularities appear if and only if the virtual hidden robot encoun-

u 1 u 2 C (x,y)
Some other robot config. for the same leg directions

L 1 L 2 Figure 1:
The PRRRP robot ters kinematic singularities. A general methodology to find the hidden robot model of any parallel robot controlled by leg-observation-based visual servoing approach has been defined in [START_REF] Rosenzveig | [END_REF] and several families of robots have been studied in [Briot and Martinet, 2013;Rosenzveig et al., 2013;[START_REF] Rosenzveig | [END_REF].

• The approach proposed in [Andreff et al., 2005] cannot be applied to any type of robot family: it was shown in [Andreff and Martinet, 2006] that it was not possible to control a particular family of parallel robots for which the first joints of the legs are prismatic joints whose directions are all parallel. For example, in the case of the PRRRP1 robot with parallel P joints (Fig. 1), the pose of the end-effector can not be estimated using the leg directions u i as, for the same values of the vectors u 1 and u 2 , infinite possible configurations of the end-effector can be found.

Regarding this second point, a solution to bypass the mentioned problem would be to use the Plücker coordinates of the lines passing through the legs instead of the leg directions only. Using the Plücker coordinates of the lines passing through the legs for the visual servoing is equivalent to use the leg direction plus their distance and position with respect to the camera frame. Thus, the line passing through the legs are fully defined. Estimating the end-effector pose in the case of the PRRRP robot of Fig. 1 is similar to finding the intersection point of the lines L 1 and L 2 passing through the legs.

The aim of this paper is dual:

1. to introduce this new leg servoing scheme based on the use of the Plücker coordinates of the lines passing through the legs; to apply it on a five-bar mecha-nism; and to analyze the singularity of the mapping involved between the observed line space and the end-effector space, and 2. to compare this approach with the previous one based on the leg direction space in terms of robustness to measurement noise.

Leg observation

Both control schemes are based on the fact that it is possible to observe the robot legs. In this Section, the way to extract the leg direction and the Plücker coordinates of the line passing through the leg is discussed.

Line modeling

A line L in space, expressed in the camera frame, is defined by its Binormalized Plücker coordinates [START_REF] Andreff | [END_REF]:

L ≡ ( c u, c n, c n) (1)
where c u is the unit vector giving the spatial orientation of the line 2 , c n is the unit vector perpendicular to the so-called interpretation plane of line L (wich is the plane passing through the camera frame origin and the line L) and c n is a nonnegative scalar. The latter are defined by c n c n = c P × c u where c P is the position of any point P on the line, expressed in the camera frame. Notice that, using this notation, the well-known (normalized) Plücker coordinates [START_REF] Plücker | On a new geometry of space[END_REF]Merlet, 2006] are the couple

( c u, c n c n).
The projection of such a line in the image plane, expressed in the camera frame, has for characteristic equation [START_REF] Andreff | [END_REF]:

c n T c p = 0 (2)
where c p are the coordinates in the camera frame of a point P in the image plane, lying on the line.

With the matrix K formed by intrinsic parameters of the camera, one can obtain the line equation in pixel coordinates p n from:

p n T p p = 0
(3) Indeed, replacing p p with K c p in this expression yields:

p n T K c p = 0 (4) By identification of (2) and (3), one obtains

p n = K -T c n K -T c n , c n = K T p n K T p n (5)
2 In the following of the paper, the superscript before the vector denotes the frame in which the vector is expressed ("b" for the base frame, "c" for the camera frame and "p" for the prixel frame). If there is no superscript, the vector can be written in any frame. Notice that for numerical reasons, one should use normalized pixel coordinates. Namely, let us define the pixel frame by its origin located at the image center (i.e. the intersection of the image diagonals) and such that the pixel coordinates vary approximately between -1 and +1, according to the choice of the normalizing factor, which can be the image horizontal dimension in pixels, or its vertical dimension, or its diagonal.

c n i 1 c n i 2 c n i 1 c n i 2 c u i

Cylindrical leg observation

The legs of parallel robots have usually cylindrical crosssections [Merlet, 2006]. The edges of the i-th cylindrical leg are given, in the camera frame, by [START_REF] Andreff | [END_REF] (Figs. 2 and 3):

c n 1 i = -cos θ i c h i -sin θ i c u i × c h i (6) c n 2 i = + cos θ i c h i -sin θ i c u i × c h i (7)
where cos

θ i = c h 2 i -R 2 i c h i , sin θ i = R i / c h i and ( c u i , c h i , c h i )
are the Binormalized Plücker coordinates of the cylinder axis and R i is the cylinder radius.

It was also shown in [START_REF] Andreff | [END_REF] that the leg orientation, expressed in the camera frame, is given by

c u i = c n 1 i × c n 2 i c n 1 i × c n 2 i (8)
Let us remark now that each cylinder edge is a line in space, with Binormalized Plücker expressed in the camera frame

( c u i , c n j i , c n j i ) (Fig 2)
. Moreover, any point A i (of coordinates c A i in the camera frame) lying on the cylinder axis is at the distance R i from the edge. Consequently, a cylinder edge is entirely defined by the following constraints, expressed here in the camera frame, although valid in any frame:

c n jT i c A i = -R i (9) c n jT i c n j i = 1 (10) c u T i c n j i = 0 (11)
The vector c h i = c h i c h i can be computed using the edges of the i-th cylindrical leg too, and it is given by

c h i = c D i × c u i (12)
where c D i is the position of the point B i in the camera frame, which is the closest point of the axis of the i-th leg to the camera. It is given by

c D i = R i sin(θ i ) • c n 1 i + c n 2 i c n 1 i + c n 2 i (13)
3 Visual servoing schemes

In this Section, the control schemes for the visual servoing of the five-bar mechanism are defined and compared.

Kinematics of the five-bar mechanism

The planar five-bar mechanism (Fig. 4) is a 2 degrees-offreedom (dof ) parallel robot able to achieve two translations in the plane (O, x 0 , y 0 ) and which is composed of two legs:

• a leg composed of 3 R joints with an axis directed along z 0 and located at points A 1 , B 1 and C, the joint located at point A 1 being actuated, and

• a leg composed of 2 R joints with an axis directed along z 0 and located at points A 2 and B 2 , the joint located at point A 2 being actuated, and other joints being passive. Thus, the vector of actuated coordinates is q T = [q 1 q 2 ]. The end-effector is located at point C and its controlled coordinates along x 0 and y 0 are denoted as x and y, respectively. The position of the point C is given by, for i = 1, 2:

C = A i + l 1i v i + l 2i u i (14)
where

B 1 C (x, y) x 0 y 0 O q 1 q 2 A 1 B 2 A 2 v 1 v 2 u 2 u 1 L 1 L 2
Figure 4: The planar five-bar mechanism (the gray pairs denote the actuated joints)

• C is the position of the point C, while

A i = [δ i 0] T (δ 1 = -l OAi and δ 2 = +l OAi )
is the position of the point A i (the frame is not specified, but it is usually either the base frame or the camera frame),

• l 1i and l 2i denote the length of the links A i B i and

B i C respectively,
• vectors v i and u i are unit vectors defining the direction of the links A i B i and B i C respectively.

Rearranging ( 14), we obtain

C -A i -l 1i v i = l 2i u i (15)
Then, squarring both sides of ( 15) and suming the two lines, we get, for i = 1, 2:

(x -δ i -l 1i cos q i ) 2 + (y -l 1i sin q i ) 2 = l 2 2i (16)
Skipping all mathematical derivations, it comes that:

q i = 2 tan -1 -b i ± b 2 i -c 2 i + a 2 i c i -a i ( 17
)
a i = -2l 1i (x -δ i ), b i = -2l 1i y, c i = (x -δ i ) 2 + y 2 + l 2 1i - l 2 2i .
The first-order kinematics that relates the platform translational velocity τ p to the actuator velocities can be obtained through the differentiation of ( 16) with respect to time and can be expressed as:

Aτ p + B q = 0 (18)
where

A = l 21 u T 1 l 22 u T 2 (19) B = l 11 l 21 u T 1 v ⊥ 1 0 0 l 12 l 22 u T 2 v ⊥ 2 (20) with v ⊥ i = -sin q i cos q i T (21)
Thus,

τ p = -A -1 B q = J q (22)
or also q = -B -1 Aτ p = J pinv τ p (23)

Leg-direction-based visual servoing of the five-bar mechanism Kinematics of the five-bar mechanism using the leg-direction-based visual servoing technique The control of the five-bar mechanism using the legdirection-based visual servoing technique developed in [Andreff et al., 2005] proposes to observe the distal leg direction u i to control the robot displacements. u i can be obtained directly from ( 15)

u i = (C -A i -l 1i v i ) /l 2i (24)
Differentiating ( 24) with respect to time leads to:

ui = τ p -l 1i v ⊥ i qi /l 2i (25)
Finally, from ( 23), it comes that:

ui = I 3 + l 1 v ⊥ i a i /b ii /l 2i τ p = M T ui τ p ( 26
)
where I 3 is the (3 × 3) identity matrix and matrix M T ui is called the interaction matrix. It can be proven that matrix M T ui is of rank 1. As a result, a minimum of two independent legs is necessary to control the end-effector pose. An interaction matrix M T u can then be obtained by stacking the matrices M T ui of the two legs (i = 1, 2).

Control scheme and interaction matrix

Visual servoing is based on the so-called interaction matrix M T [Chaumette, 2002] 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, which is the vector staking all the visual primitives (which can be the legs directions or the legs Plücker coordinates) that are used through:

ṡ = M T (s) T c ( 27
)
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 ) ( 28
)
where T c used as a pseudo-control variable and the upperscript + corresponds to the matrix pseudo-inverse.

The visual primitives being unit vectors, it is 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 (29)
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 (30) Then, introducing N T i = -[u di ] × M T ui (where [...] × is the antisymetric matrix associated to a 3D vector [Martinet et al., 1996]), the combination of ( 26), ( 29) and (30) gives

τ p = -λN T + E (31)
where N T is obtained by stacking the matrices N T i of the two legs legs (i = 1, 2).

This expression can be transformed into the control joint velocities using ( 23): q = -λJ pinv N T + E (32)

Line-based visual servoing of the five-bar mechanism

In the present subsection, the controller based on the estimation of the Plücker coordinates of the lines passing through the legs is defined. This is the first time that such a controller is proposed.

Kinematics of the five-bar mechanism using the line-based visual servoing technique

The control of the five-bar mechanism using the new linebased visual servoing technique proposes to extract the Plücker coordinates (u i , h i )3 of the two legs attached to the end-effector in order to control the robot displacements. The control can be done thanks to the fact that the point to control C is the intersection point of the lines of the two observed cylindrical legs. Applying the formula of the intersection point between two lines in a plane both expressed in Plücker coordinates, the position of the point C expressed in homogeneous coordinates is given by, for i = 1, 2 [Selig, 2005]:

C w = (-(h 1 •N)•u 2 +(h 2 •N)•u 1 +(h 1 •u 2 )•N : (u 1 ×u 2 )•N) (33) in which:
• (u 1 , h 1 ) and (u 2 , h 2 ) are the Plücker coordinates of the 1st and the 2nd leg respectively,

• N is a unit vector along a coordinate axis, with (u 1 × u 2 ) • N non-zero.

For converting the point from homogeneous to nonhomogeneous coordinates, the first three coordinates of C w have to be divided by the 4-th one. Moving the right term of (33) to the left side, extending it and naming the equations with f i leads to

f 1 = x + h 1z u 2x -h 2z u 1x = 0 (34) f 2 = y + h 1z u 2y -h 2z u 1y = 0 (35) f 3 = z -h 1x u 2x -h 1y u 2y = 0 (36) f 4 = w -u 1x u 2y + u 2x u 1y = 0 (37)
where (x, y, z, w) are the homogenous coordinates of C w ; (u ix , u iy , u iz ) are the Cartesian components of the vector u i ; (h ix , h iy , h iz ) are the Cartesian components of the vector h i .

Differentiating (34), ( 35), ( 36) and ( 37) with respect to time leads to

ẋ -h 2z u1x + h 1z u2x + u 2x ḣ1z -u 1x ḣ2z = 0 (38) ẏ -h 2z u1y + h 1z u2y + u 2y ḣ1z -u 1y ḣ2z = 0 (39) ż -h 1x u2x -h 1y u2y -u 2y ḣ1x -u 2y ḣ1y = 0 (40) ẇ -u 2y u1x + u 2x u1y + u 1y u2x -u 1x u2y = 0 (41)
Finally, putting ( 38), ( 39), ( 40) and ( 41) in matrix form, it comes that ˙l = -P + τ p = M T l τ p (42)

where l = u h and p jk = ∂fj ∂l k is the term of the j-th row and the k-th column of P, with j = 1..4 and k = 1..12.

Control scheme and interaction matrix

Because the vectors h 1 and h 2 are not unit, the control law (27) cannot be used as it. Consequently, it is necessary to use the following error

e i = l i -l di (43)
where l di is the desired value of l i .

The control is chosen in the same way of (30). From ( 30) and ( 43), it comes

-λE = ˙l -˙ld (44)
From ( 42) and ( 44), it is easy to derive the following control joint velocities

q = J pinv • M T + l • (-λE + ˙ld ) (45)
where J pinv is the pseudo-inverse Jacobian matrix of the robot which relates the end-effector twist to the actuator velocities, i.e. J pinv τ p = q.

B 1 C (x, y)

x 0 y 0 O q 1 q 2 A 1 B 2 A 2 v 1 v 2 u 2 u 1 D 1 E 1 D 2 E 2
Figure 5: The hidden robot involved into the legdirection-based visual servoing approach of the five-bar mechansim (the gray pairs denote the actuated joints)

Singularities of the controller using the leg-direction-based visual servoing technique

As mentioned in the introduction, the singularity of the mapping involved into the present controller can be analyzed through the aid of the "hidden robot" concept [START_REF] Rosenzveig | [END_REF]. The aim of this Section is not to present once again the "hidden robot" concept which has been shown in several papers [START_REF] Rosenzveig | [END_REF]Briot and Martinet, 2013;Rosenzveig et al., 2013;[START_REF] Rosenzveig | [END_REF] but to directly use this tool to analyze the singularity of the controller. Therefore, we directly assert that the hidden robot involved into the leg-directionbased visual servoing approach for the five-bar mechansim is shown in Fig. 5. The reader willing to have further explanations is referred to [START_REF] Rosenzveig | [END_REF]. This virtual mechanism is made of two passive planar parallelogram joints A i B i D i E i linked onto the ground on which is fixed an actuator at point B i controlling the direction of the link B i C. This special arrangement of the leg makes it possible, for one given position of the actuator at B i , to maintain the orientation with respect to the base of the link B i C independently of the configuration of the passive parallelogram joint.

A simple kinematic analysis of this virtual robot shows that:

• The Type 1 (or serial) singularities [Gosselin and Angeles, 1990] appear when one leg is fully stretched or folded, such as for the five-bar mechansim (Fig. 6),

• The Type 2 (or parallel) singularities [Gosselin and Angeles, 1990] appear when the links A 1 B 1 and A 2 B 2 are parallel, which is different from the Type 2 singularities of the five-bar mechanism that appear when the points B 1 , B 2 and C are aligned (Fig. 7).

As demonstrated in [START_REF] Rosenzveig | [END_REF], these singularities affect the performance of the controller in terms of accuracy and need to be well handled.

B 1 C x 0 y 0 O A 1 B 2 A 2 (a) B 1 C x 0 y 0 O A 1 B 2 A 2 D 1 E 1 D 2 E 2 (b)

Singularities of the controller using the line-based visual servoing technique

It is known that the singularity conditions appear when the inverse or forward geometric model degenerates. The geometric models involved in this new controller are based on the fact that we can rebuild the end-effector pose by knowing the intersection point between the two lines L 1 and L 2 depicted in Fig 4 . Therefore, the singularities appear when these two lines are parallel (intersection point at infinity) or coincide (infinity of possible intersection points). Such singularity conditions are equivalent to the Type 2 singularity conditions of the five-bar mechanism (Fig. 7(a)).

Discussion on the control schemes

At this step, it appears that the new controller has several advantages with respect to the approach proposed in [Andreff et al., 2005] that should be clearly pointed out: 1. contrary to the past approach, as shown in Sections 3.2 and 3.3, the new one does not need the use of the geometric parameters of the robot (except the radius of the observed cylinder) for estimating the platform pose. This is a great advantage because we only need to accurately calibrate the observed cylinders, not the entire robot, for obtaining the best robot accuracy, 2. the singularities of the new controller coincide with those of the real mechanism, which is a great advantage with respect to the past approach, for which the singularities are different and thus lead to the decrease of the reachable workspace.

B 1 C x 0 y 0 O A 1 B 2 A 2 uncontrollable motion L 1 L 2 (a) B 1 C x 0 y 0 O A 1 B 2 A 2 D 1 E 1 D 2 E 2 uncontrollable motion (b)
In the next Section, the two control schemes are compared in terms of robustness to measurement noise in order to clearly demonstrate which type of controller is better.

Comparative analysis of the controller performance

In order to do a comparative analysis of the two control approaches, it has been created an Adams model of a five-bar mechanism with the following set of parameters: l 1i = 0.3 m as length of the legs attached to the ground, l 2i = 0.35 m as length of the legs attached to the endeffector, l OAi = 0.275 m as distance between O and A i (Fig. 4). The workspace is plotted in Fig. 8. Both the leg-direction-based controller (case 1) and the line-based controller (case 2) have been applied to such a model.

Robustness to measurement noise near the singularity of the hidden robot of the controller based on the leg direction

We added noise on the measurements in order to compare the performance of both types of controller.

First af all, the model that has been used for the visual servoing is a pinhole camera because it is simple to implement and is a good approximation of real cameras.

In the Fig. 9 a camera with O as center of projection and the principal axis parallel to Z axis is shown. The distance between O and the image plane is the focal length f . The 3D point P = (X, Y, Z) is projected on the image plane at coordinates P c = (u, v). The parameters of the camera used for the simulations are: focal length with respect to u = 10 3 pixels; focal length with respect to v = 10 3 pixels; principle point in image along u = 1024 pixels; principle point in image along v = 768 pixels.

The measurement noise is introduced like thereafter. The extraction of the Plücker coordinates of the leg line is based on the equations of the leg edges. In The initial position, the desired positions and the final positions got with the controller of case 2 are shown inside the plot of the workspace in Fig. 8 (from left to right, in black: C d1 ...C d5 ). The results of all the simulations are then shown in the Table 1: for each desired position, the final position and the error got with both the controller are shown. In the Table 1: C d is the set of desired positions, C f 1 and C f 2 are the set of the final positions in the controllers of case 1 and case 2 respectively, e 1 (t f ) and e 2 (t f ) are the errors of the controllers of case 1 and case 2 respectively. The error is computed as the norm of the difference between the final position (the final time chosen is t f = 3s) and the desired position. The graph on Fig. 10 shows the convergence of the end-effector pose of both controller in the case C d3 = (0.036, 0.082)m.

Upon the results, it is readily found that the singularity of the hidden robot of the controller of case 2 is much more robust to measurement noise, which allows to access, with this new controller, the same workspace zones as the real robot (contrarily to the controller of case 1).

Crossing the hidden robot singularity

In this subsection, the end-effector desired position is chosen in such a way that the end-effector should cross the hidden robot singularity (singularity of the controller of case 1) shown in the Fig. 8. It is shown that in the case of leg-direction-based approach the legs direction converges to the desired one, but the end-effector position does not. While in the case of the line-based approach also the end-effector pose converges to the desired one. This is due to the fact that, in the controller of case 1, the five-bar mechanism converges to another assembly mode of its hidden robot. The end-effector initial position is the same of the subsection (5.1), while the chosen desired position is C d = (0.104, 0.036)m. The results of the simulations are shown in Fig. 11.

Conclusions

In this paper, we proposed a new approach for visionbased control of the end-effector of a parallel robot. This method overcomes the disadvantages of the old visionbased controller based on the leg direction, proposed in the past papers, which are:

• it is not suitable for some PKM families (e.g. parallel robot whose legs directions are constant even if the end-effectors pose changes),

• it involves the presence of some models of robots, different from the real one, "'hidden"' into the controller (named "'hidden robot model"'). The new approach overcomes both the problems, and it is based on the Plücker coordinates of leg center line.

According to the simulations of both controllers on the five-bar mechanism, it was shown that the new approach is better because its hidden robot model has the same singularities as the real robot. Therefore, it is more robust to measure noise near the singularities of the hidden robot of the old approach and permits the mechanism to pass through singularities.

Figure 2 :Figure 3 :

 23 Figure 2: Projection of a cylinder in the image

Figure 6 :

 6 Figure 6: Examples of Type 1 singularity for the five-bar mechanism (a) and its corresponding hidden robot (b)

Figure 7 :

 7 Figure 7: Examples of Type 2 singularity for the five-bar mechanism (a) and its corresponding hidden robot (b)

Figure 8 :

 8 Figure 8: Singularity loci of the five-bar mechanism and its corresponding hidden robot for the following set of parameters: l 1i = 0.3 m, l 2i = 0.35 m, l OAi = 0.275 m.

Figure 9 :

 9 Figure 9: A pinhole camera model

  End-effector pose error in the leg-directionbased controller. End-effector pose error in the line-based controller.

Figure 10 :

 10 Figure 10: Error in the case of measurement noise with desired position near the singularity of the leg-directionbased controller: C d3 = (0.036, 0.082)m

Figure 11 :

 11 Figure 11: Crossing the hidden robot singularity: C d = (0.104, 0.036)m

Table 1 :

 1 Results of the simulations.

	C d	C f 1	C f 2	e 1 (t f )	e 2 (t f )
	(-0.172,	(-0.157,	(-0.173,	0.0184	0.0013
	0.030)	0.040)	0.031)
	(-0.05,	(-0.027,	(-0.050,	0.0232	0.0004
	0.080)	0.083)	0.080)
	(0.036,	(0.061,	(0.036,	0.0255	0.0007
	0.082)	0.078)	0.083)
	(0.092,	(0.107,	(0.092,	0.0158	0.0003
	0.070)	0.065)	0.070)
	(0.193,	(0.227,	(0.193,	0.0471	0.0001
	0.013)	-0.020)	0.013)

In the following of the paper, R and P stand for passive revolute and prismatic joints, respectively, while R and P stand for active revolute and prismatic joints, respectively.

In the paper, h stands for unit vector, while h stands for non unit vector.

Analysis of the controller singularitiesIn this Section, the control schemes for the visual servoing of the five-bar mechanism are compared in terms of singularities.