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

Georges Pagis

Nicolas Bouton

Philippe Martinet

Degeneracy Conditions of the Dynamic Model of Parallel Robots

Keywords: Parallel robot, Dynamics, Singularity 1 Introduction

Despite their well known advantages in terms of higher intrinsic rigidity, larger payload-to-weight ratio, and higher velocity and acceleration capacities, parallel robots have drawbacks. Among them, the most important one is surely the presence of singularities in the workspace which divide the workspace into different aspects (each aspect corresponding to one or more assembly modes) and near which the performance is considerably reduced.

In order to increase the reachable workspace of parallel robots, a promising solution consists in the definition of optimal trajectories passing through the singularities to change either the leg working modes or the robot assembly modes. Previous works on the field have shown that it is possible to define optimal trajectories that allow the passing through the robot Type 2 singularities. Such trajectories must respect a physical criterion which can be obtained through the analysis of the degeneracy conditions of the parallel robot inverse dynamic model.

However, the mentioned works were not complete: they lacked a degeneracy condition of the parallel robot inverse dynamic model which is not due to Type 2 singularity anymore, but to a serial singularity. Crossing a serial singularity is appealing as in that case we can change the robot leg working mode and then potentially access to other workspace zones. This absence is due to the fact that the authors used a reduced dynamic model which was not taking into account all link dynamic parameters.

The present paper aims to fill this gap by providing a complete study of the degeneracy conditions of the parallel robot dynamic model and also by demonstrating that it is possible to cross the Type 2, but also serial singularity, by defining trajectories that respect some given criteria obtained from the analysis of the degeneracy of the robot dynamic model. It also aims to demonstrate that the serial singularities have impacts on the robot effort transmission, which is a point that is usually bypassed in the literature. All theoretical developments are validated through simulations and experiments.

which divide their workspace into different aspects (each aspect corresponding to one or more assembly modes [START_REF] Merlet | Parallel Robots[END_REF]) and near which the performance are drastically reduced.

Various type of singularity exist, and for a global overview of the singularity problem, the reader is referred to [START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF]. In general, singularities lead to two different types of phenomena (that can be combined at the same robot configuration):

1. The loss of the ability for the robot to move along one given direction (instantaneously or not): this is the case of the so-called Type 1 singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] which correspond to the workspace boundaries, 2. The gain of some uncontrollable robot motions (instantaneously or not): the so-called Type 2 singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] and constraint singularities [START_REF] Zlatanov | Constraint singularities of parallel mechanisms[END_REF] belong to this category. Another type of singularity, which is much less known than the two previously mentioned ones, also belongs to this category: some kinds of serial singularities (such as defined in [START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF]) which are due to the degeneracy of the leg passive joint twist system. In the following of the paper, we will call them leg passive joint twist system (LPJTS ) singularities to differentiate them from other kinds of serial singularities due to the degeneracy of twist systems including active joint twists. Near these configurations, the robot stiffness is considerably decreased and the robot capabilities in terms of effort transmission is deteriorated.

It should be mentioned that, historically, the first designed parallel robots were made of quite simple legs (in terms of joint arrangement) and encountered only Type 1 and Type 2 singularities. However, due to the problem of the non homogeneity of the performance inside the robot workspace, designers have tried to propose mechanisms with more complex leg architectures but with better performance distribution all along the workspace, such as the decoupled robots [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF][START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF][START_REF] Carricato | Singularity-free fully-isotropic translational parallel manipulators[END_REF] which are fully isotropic with regard to their input/output kinematic performance. However, the increased complexity of the leg arrangement has led to the appearance of other kinds of the singularities, such as the LPJTS singularities. The best known examples of decoupled robots whose legs encounter LPJTS singularities are the Tripteron-like or Isoglide-like robots from three to six degrees of freedom [START_REF] Gosselin | Compact dynamic models for the tripteron and quadrupteron parallel manipulators[END_REF][START_REF] Kong | Forward displacement analysis of a quadratic 4-dof 3T1R parallel manipulator: The Quadrupteron[END_REF][START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF][START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF][START_REF] Carricato | Singularity-free fully-isotropic translational parallel manipulators[END_REF][START_REF] Rizk | A semi-analytical stiffness model of parallel robots from the Isoglide family via the sub-structuring principle[END_REF][START_REF] Seward | A new 6-dof parallel robot with simple kinematic model[END_REF].

In order to increase the workspace size, several approaches have been envisaged in the literature, such as:

-The design of parallel robots without singularities. This can be done by using the optimal design approach [START_REF] Briot | Optimal technology-oriented design of parallel robots for high-speed machining applications[END_REF][START_REF] Liu | Performance atlases and optimum design of planar 5R symmetrical parallel mechanisms[END_REF] or by creating fully-isotropic mechanisms [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF][START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF][START_REF] Carricato | Singularity-free fully-isotropic translational parallel manipulators[END_REF] (which have no Type 2 singularities but usually have LPJTS singularities). This solution is the most usual one, but it usually leads to the design of robots with a small workspace size or robot architectures with very low practicability. -The use of redundancy [START_REF] Yi | Force and stiffness transmision in redundantly actuated mechanisms: The case for a spherical shoulder mechanism[END_REF][START_REF] Kurtz | Multiple-goal kinematic optimization of a parallel spherical mechanism with actuator redundancy[END_REF][START_REF] Muller | Internal preload control of redundantly actuated parallel manipulators -its application to backlash avoiding control[END_REF][START_REF] Kotlarski | Optimization strategies for additional actuators of kinematically redundant parallel kinematic machines[END_REF] or, to reduce costs, the use of mechanisms with variable actuation modes [START_REF] Arakelian | Increase of singularity-free zones in the workspace of parallel manipulators using mechanisms of variable structure[END_REF][START_REF] Rakotomanga | Kinetostatic performance of a planar parallel mechanism with variable actuation[END_REF]. These mechanisms can change the way they are actuated without adding additional actuators, but this change can only be carried out when the mechanism is stopped, thus increasing the time necessary to perform the task. -Planning working mode changing trajectories. The main way to proceed is to cross a Type 1 singularity by reaching the workspace boundary and changing the leg configuration [START_REF] Bourbonais | Minimum-time trajectory planning and control of a reconfigurable pick-and-place parallel robot[END_REF]. By changing the leg configuration, the singularity loci appearing in the workspace for the initial configuration disappear and are replaced by other singularity loci linked to the new leg configuration. Thus, the robot is able to access new workspace zones [START_REF] Campos | Development of a five-bar parallel robot with large workspace[END_REF]. It should be mentioned that:

-Type 1 singularities are a special type of serial singularities [START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF] due to the degeneracy of the leg twist systems including active joint twists. -For the moment, changing the leg configuration by crossing a LPJTS singularity has not been investigated, even if this process could allow accessing new workspace zones. -Planning assembly mode changing trajectories. A first way to do this is to bypass a cusp point [START_REF] Zein | Non-singular assembly-mode changing motions for 3-RPR parallel manipulators[END_REF]. However, this solution is hardly practical for two main reasons: i) it forces the mechanism to follow a particular trajectory, which can be very different from the desired one; ii) only a few mechanisms have cusp points. A second solution is to go directly through a Type 2 singularity [START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF][START_REF] Ider | Inverse dynamics of parallel manipulators in the presence of drive singularities[END_REF][START_REF] Hesselbach | Aspects on the design of high precision parallel robots[END_REF].

The two last solutions (that could be combined or not) are promising, since they can considerably increase the workspace size of any parallel mechanism by using only trajectory planning approaches. As a result, the authors of [START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF] were the first to provide a physical criterion for changing assembly modes by passing through the Type 2 singularities, which has been obtained through the analysis of the degeneracy conditions of the parallel robot Inverse Dynamic Model (IDM ). This criterion enables the computation of a trajectory which can cross a Type 2 singularity without the dynamic model degenerating, by respecting the criterion in question on the singularity locus. Experimental results on a spatial four degrees-of-freedom parallel robot named the PAMINSA [START_REF] Briot | Design and prototyping of a partially decoupled 4-dof 3t1r parallel manipulator with high-load carrying capacity[END_REF] validated the proposed theory.

However, it appeared that, even if the obtained results were totally right, the study [START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF] was not complete: the authors miss a degeneracy condition of the IDM which is due, no more to a Type 2 singularity, but to a LPJTS singularity [START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF]. As mentioned above, crossing a LPJTS singularity is appealing as in that case we can change the robot leg working mode and then potentially access to other workspace zones [START_REF] Campos | Development of a five-bar parallel robot with large workspace[END_REF]. This absence is due to the fact that they used a reduced dynamic models which was not taking into account all link dynamic parameters.

The aim of this paper is thus triple:

Fixed base

Moving platform passive joints actuated joints

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 (C j,k is the joint j of the leg k, and m k is the total number of joints for the leg k)

Fixed base

Moving platform (free body)

C m 1 ,1 C m n ,n C m k ,k C m 2 ,2 λ 1 1 λ 2 1 λ k 1 λ n 1 λ k 2 λ n 2 λ 1 2 λ 2 2
(b) Virtual tree structure: Fig. 1 A general parallel robot (grey circles denote actuated joints).

1. To fulfil the lacks of the study [START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF] and to analyze all degeneracy conditions of the full parallel robot dynamic model which takes into account all link dynamic parameters, 2. To demonstrate that the LPJTS singularities impact the robot effort transmission, as this point is usually bypassed in the literature, and 3. To provide all physical criteria that make it possible to define trajectories allowing the passing through Type 2 and LPJTS singularities.

As a result, the paper is divided as follows. In Section 2, recalls necessary to obtain a generic way to compute the full IDM of any of rigid parallel robot are presented 1 . In order to obtain it, it is shown that the procedure requires two matrix inversions. The condition of degeneracy of these matrices are analyzed in Section 3: it is shown that the matrix degeneracy will appear when the robot is either in Type 2 singularity or in LPJTS singularity. Physical criteria for passing through both kinds of singularities are then computed. Finally, in Section 4, all theoretical derivations are validated through simulations and experiments.

Inverse Dynamic Model of Parallel Robots

This section presents some recalls on the computation of the IDM of parallel robots. In this paper, only parallel robots with no redundancy are considered but the results can be easily extended to other types of parallel robots.

Computation of the IDM for Parallel Robots

A parallel robot is a complex multi-body system having several closed loops (Fig. 1(a)). It is composed of a moving platform connected to a fixed base by n legs, each composed of m i elements. It is considered here that there is one actuator per leg, but the method can be easily extended to robots with several actuators for each leg.

The computation of IDM of parallel robots is decomposed into two steps [START_REF] Briot | Global identification of joint drive gains and dynamic parameters of parallel robots[END_REF][START_REF] Ibrahim | Inverse and direct dynamic models of hybrid robots[END_REF]:

1. All closed loops are virtually opened to virtually disassemble the platform from the rest of the structure (Fig. 1(b)); each leg joint is virtually considered to be actuated (even for unactuated actual joints) so that the robot becomes a virtual tree structure while the moving platform becomes a virtual free body; the dynamic models of the virtual tree structure and of the virtual free platform are then computed with a systematic procedure based on the Newton-Euler principle, and 2. The loops are then closed using loop-closure equations and Lagrange multipliers (which represent the joint constraints applied to the platform that are required to close the loops of the real robot), which involve the computation of robot Jacobian matrices.

In what follows, the computation of the IDM of the virtual tree structure and of the platform is recalled, and then a straightforward way to compute the Jacobian matrices required to calculate the closed-loop constraints is detailed.

IDM of Tree Open Loop Robots

According to [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF], the complete rigid dynamic model of any open-loop tree structure can be written in terms of a (n t × 1) vector (n t = n i=1 m i denotes the total number of joints for the virtual tree structure) which is a function F t of all joint coordinates q t , velocities qt , accelerations qt and standard dynamic parameters

χ st t (χ T st t = [χ 11 T st . . . χ m n ,n T st
], in which χ jk st is the vector of the standard dynamic parameters of link j for leg k),

τ t = F t q t , qt , qt , χ st t (1)
where τ t is the (n t × 1) vector of the input efforts of the virtual tree structure. In the following of the paper, it has been decided that:

-q t (and as a result qt and qt ) is sorted so that its first n components correspond to the vector of the actuated joint coordinates of the real parallel robot; this vector is denoted as q a and we denote as q d the passive joint coordinates of the real parallel robot; as a result: q T t = [q T a q T d ]; moreover, in q d , it is decided that the variables are sorted such that q

T d = [q T d 1 q T d 2 . . . q T d n ]
, with q d i the passive variables of the leg i. -τ t is sorted so that its first n components correspond to the virtual input efforts of the virtual structure in the joints corresponding to the actuated joints of the real parallel robot while the last components correspond to the virtual input efforts of the virtual structure in the joints corresponding to the passive joints of the real parallel robot; mathematically speaking, and by using the Lagrange formalism, this means that:

τ t = τ t a τ t d (2)
where

τ t a = d dt ∂L ∂ qa - ∂L ∂q a = F t a q t , qt , qt , χ st t (3)
and

τ t d = d dt ∂L ∂ qd - ∂L ∂q d = F t d q t , qt , qt , χ st t (4)
with L the Lagrangian of the system.

For rigid robots, the vector χ jk st of link j for leg k (denoted in what follows as the link jk) is composed of 14 standard dynamic parameters such that:

χ jk st =
where:

xx jk , xy jk , xz jk , yy jk , yz jk , zz jk are the 6 independent components of the inertia matrix I jk of link jk at the origin of frame jk attached at the origin of the considered link [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF] and expressed in the local frame, i.e.

I jk =   xx jk xy jk xz jk xy jk yy jk yz jk xz jk yz jk zz jk   (6)
m jk is its mass, -mx jk , my jk , mz jk are the 3 components of the first moment of link jk, i.e.

m jk jk ----→ O jk S jk = mx jk my jk mz jk T (7)
where jk ----→ O jk S jk is the position of the center of mass of the link jk expressed in the frame jk attached at the origin of the considered link [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF], -ia jk is the total inertia moment for rotor and gears of the drive train, -f v jk , f s jk are the viscous and Coulomb friction coefficients in the joint jk, respectively, and τ of f jk = τ of f f s jk + τ of f τ jk is an offset parameter which regroups the current amplifier offset τ of f τ jk and the asymmetrical Coulomb friction coefficient τ of f f s jk such that the friction effort τ f jk in the joint jk is given by the relation:

τ f jk = f v jk qjk + f s jk sign( qjk ) + τ of f jk ( 8
)
where qjk is the joint jk generalized velocity.

In the same way, the IDM of the platform can be obtained as:

τ p = F p x, t, ṫ, χ p (9)
where τ p is the (6 × 1) vector of platform reaction wrench. It can be computed as a function F p which depends on the vector χ p of the platform inertial standard parameters2 and of x, t, ṫ, i.e. the platform pose, twist and acceleration quantities, respectively. Various 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 modeling is known to give the dynamic model equations in the most compact form [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF].

IDM of Parallel Robots

The IDM of the virtual tree structure and of the free moving platform does not take into account the closed loop characteristics of parallel robots: among all joint and platform coordinates q t and x of the virtual robot (Fig. 1(b)), only a subset denoted as q a is independent in the real robot (actual actuated joints positions are indeed a subset of q t -see above). All these variables are linked through the loop-closure equations of the real robot that can be obtained by expressing the (translational and rotational) displacement x k of the last joints of each leg located at C m k ,k (that belong to both platform and leg k -Fig. 1) in two different ways: (i) as a function of the independent platform coordinates x ind (the operational coordinates defined as a subset of x) and (ii) as a function of all joint coordinates q t (also corresponding to the joint coordinates of the virtual tree structure), such that:

f (x, q t ) =    x 1 (x ind ) -x 1 (q t )
. . .

x n (x ind ) -x n (q t )    = 0 (10)
The main problem with [START_REF] Rizk | A semi-analytical stiffness model of parallel robots from the Isoglide family via the sub-structuring principle[END_REF] is that it is usually difficult to straightforwardly solve these equations. Alternatively, we can express the reduced loop-closure equations of the parallel robot which are known to be simpler to obtain [START_REF] Merlet | Parallel Robots[END_REF] and that directly relate the displacements q a of the actuated joints to the moving platform independent coordinates x ind :

f p (x ind , q a ) = 0 (11)
and to solve then the reduced forward kinematic problem (fkp) which gives x ind as a function of q a . Obviously, this problem can be also tedious, but:

-The equations [START_REF] Seward | A new 6-dof parallel robot with simple kinematic model[END_REF] are simpler to solve than the equations [START_REF] Rizk | A semi-analytical stiffness model of parallel robots from the Isoglide family via the sub-structuring principle[END_REF], -If the problem cannot be solved analytically, a numeric procedure may be applied [START_REF] Merlet | Parallel Robots[END_REF].

Once the values of x ind are found as a function of q a , it is possible to solve the inverse kinematic problem using [START_REF] Rizk | A semi-analytical stiffness model of parallel robots from the Isoglide family via the sub-structuring principle[END_REF] in order to express all joint coordinates as a function of x (that is function of x ind ), and thus of q a . This problem is generally easy for usual parallel robots [START_REF] Merlet | Parallel Robots[END_REF] and, even for more complicated cases, can now be solved using advanced mathematical methods [START_REF] Pfurner | New Trends in Mechanism Science, chapter Implementation of a new and efficient algorithm for the inverse kinematics of serial 6R chains[END_REF].

Differentiating [START_REF] Seward | A new 6-dof parallel robot with simple kinematic model[END_REF] with respect to time, we have

A p v + B p qa = 0 (12) leading to v = -A -1 p B p qa = J p qa ( 13
)
or qa = -B -1 p A p v = J -1 p v (14)
where

A p = ∂f p ∂x ind T, B p = ∂f p ∂q a (15)
with v a vector of the independent coordinates in the platform twist t

(dim v = dim x ind = n ≤ 6), defined such that t = Dv (16)
and T a transformation matrix between the independent coordinates in platform twist v and the derivatives with respect to time of the terms x ind [START_REF] Merlet | Parallel Robots[END_REF]. Note that in the case of robots with 6 dof, D is the identity matrix.

Differentiating [START_REF] Briot | Optimal technology-oriented design of parallel robots for high-speed machining applications[END_REF] with respect to time, the acceleration quantities can be linked as

A p v + Ȧp v + B p qa + Ḃp qa = 0 (17) leading to v = -A -1 p ( Ȧp v + B p qa + Ḃp qa ) (18) or qa = -B -1 p (A p v + Ȧp v + Ḃp qa ) (19)
which can be simplified as

qa = J -1 p v -(B -1 p Ȧp + B -1 p Ḃp J -1 p )v = J -1 p v + J d p v (20)
Differentiating now [START_REF] Rizk | A semi-analytical stiffness model of parallel robots from the Isoglide family via the sub-structuring principle[END_REF] with respect to time, the following expression can be obtained:

J tk v -J k a qa -J k d qd = 0 (21)
which leads to

qd = J -1 k d (J tk v -J k a qa ) = J -1 k d (J tk v -J k a J -1 p v) = J -1 k d (J tk -J k a J -1 p )v = J q d v (22)
where

J tk = ∂f ∂x ind T, J k a = - ∂f ∂q a , J k d = - ∂f ∂q d (23)
Differentiating [START_REF] Campos | Development of a five-bar parallel robot with large workspace[END_REF] with respect to time, the acceleration quantities can be linked as

J tk v + Jtk v -J k a qa -Jk a qa -J k d qd -Jk d qd = 0 (24)
which leads to

qd = J -1 k d (J tk v + Jtk v -J k a qa -Jk a qa -Jk d qd ) = J -1 k d (J tk v + Jtk v -J k a (J -1 p v + J d p v) -Jk a J -1 p v -Jk d J q d v) = J -1 k d (J tk -J k a J -1 p ) v + J -1 k d ( Jtk v -J k a J d p -Jk a J -1 p -Jk d J q d )v = J q d v + J d q d v (25)
In these expressions, it should be noted that -The matrix J k d is the Jacobian matrix linking the independent motions of the last joints to the passive joint displacements of each serial leg and is thus a square matrix of dimension ((

n t -n) × (n t -n)) (n t = n i=1 m i ); this matrix is block-diagonal such that J k d qd =     J k d1 0 . . . 0 0 J k d2 . . . 0 . . . . . . . . . . . . 0 0 . . . J k dn          qd 1 qd 2 . . . qd n      (26)
in which J k di is the kinematic Jacobian matrix that relates the twist of the last joint of the leg i to the passive joint velocities qd i of the same leg. -The matrix J k a is the Jacobian matrix linking the independent motions of the last joints to the active joint displacements of each serial leg and is thus a matrix of dimension ((n t -n) × n), -The matrix J tk is a matrix of dimension (n t × n) that can be obtained by considering the rigid body displacement of any point of the robot platform as a function of the platform twist, and -The matrices A p and B p are square of dimension (n × n).

To take into account the loop-closure constraints into the dynamic model of the parallel robot, Lagrange multipliers λ T = λ T 1 λ T 2 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 τ of the closed-loop structure. τ can be obtained in relation of the Lagrange multipliers λ by

τ = τ t a -J T k a λ 1 -B T p λ 2 , (27)
where λ 1 and λ 2 are calculated from the relations:

J T k d λ 1 = τ t d (28)
-J T tk λ 1 + A T p λ 2 = τ pr (29)
In these expressions,

λ 1 stacks the wrenches λ 1 1 to λ n 1 (Fig. 1(b)) applied by the virtual tree structure on the platform at points C m k ,k , so that the virtual structure can have the same motion as the real parallel robot, -λ 2 stacks the values of the norms of the wrenches λ 1 2 to λ n 2 (Fig. 1(b)) due to the platform dynamics in the platform joints located at C m k ,k , -A p and J k d are square matrices, and τ pr is defined by

τ pr = D T τ p ( 30
)
where τ p is given in ( 9) and τ pr is a subset of forces/moments in τ p that can be found through the use of the principle of virtual powers, which states that:

v * T τ pr = t * T τ p = v * T D T τ p (31)
In this equation, the superscript " * " stands for a virtual velocity.

Thus, the equation ( 29) represents the platform equilibrium so that the loops of the parallel robot can be closed. Solving [START_REF] Ibrahim | Inverse and direct dynamic models of hybrid robots[END_REF] and [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF], it can be demonstrated that:

λ 1 = J -T k d τ t d (32)
and

λ 2 = A -T p (τ pr + J T tk λ 1 ) = A -T p (τ pr + J T tk J -T k d τ t d ) (33)
Then, introducing [START_REF] Caro | Singularity analysis of a six-dof parallel manipulator using grassmanncayley algebra and grobner bases[END_REF] and ( 33) into [START_REF] Briot | Global identification of joint drive gains and dynamic parameters of parallel robots[END_REF], we get

τ = τ t a -J T k a λ 1 -B T p λ 2 = τ t a -J T k a J -T k d τ t d -B T p A -T p (τ pr + J T tk J -T k d τ t d ) (34)
which allows to express the IDM of the real parallel robot under the form:

τ = τ t a -(J T k a + B T p A -T p J T tk )J -T k d τ t d -B T p A -T p τ pr (35)
These equations are valid as long as J k d and A p are not rank-deficient. The degeneracy of the IDM is investigated in the next Section, as well as the conditions for allowing the robot to pass through the singular configurations in which matrices J k d and A p are rank-deficient.

Analysis of the Degeneracy Conditions of the IDM of Parallel Robots and Optimal Trajectory Planning through Singularities

The conditions of rank-deficiency of matrices A p and J k d have been presented in several works, such as [START_REF] Merlet | Parallel Robots[END_REF][START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF][START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF]. They are briefly recalled here and their impact on the robot input efforts is disclosed.

3.1 Degeneracy Conditions of the IDM due to the Matrix A p From ( 12) which gives the implicit relation between the input and output velocities ( qa and v) of the robot, we can see that the matrix A p is the so-called parallel Jacobian kinematic matrix [START_REF] Merlet | Parallel Robots[END_REF][START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF]. As demonstrated in [START_REF] Bonev | Geometric Analysis of Parallel Mechanisms[END_REF], each of its row is a unit wrench denoted as ζ i which is proportional to the wrench applied by the leg i on the platform when its actuators are developing an input effort in a static mode of operation and in absence of any other type of external effects, i.e.

A p =    ζ T 1 . . . ζ T n    (36)
The matrix A p becomes rank-deficient if and only if the robot is in a Type 2 (also called parallel or activeconstraint) singularity. An example of such kind of singularity for the 3-RPR3 planar parallel robot is shown in Fig. 2. In Type 2 singularities, at least one platform motion becomes uncontrollable. Moreover, Type 2 singularities separates the workspace aspects [START_REF] Merlet | Parallel Robots[END_REF] and prevent the robot reaching all possible workspace configurations.

ζ 2 ζ 1 ζ 3 uncontrollable motion I Fig. 2
Example of Type 2 singularity of a 3-RPR planar parallel robot (grey joints denote actuated joints): in that case, the platform has one uncontrollable motion which is an instantaneous rotation around the point I Several methods have been developed for finding the Type 2 singularity configurations, such as the Grassmann geometry [START_REF] Merlet | Parallel Robots[END_REF], the Grassmann-Cayley algebra [START_REF] Caro | Singularity analysis of a six-dof parallel manipulator using grassmanncayley algebra and grobner bases[END_REF], etc. These methods are not recalled here as finding the robot singular configurations is out of the scope of the paper.

From Eq. ( 29), it can be deduced that, when matrix A p becomes rank-deficient in Type 2 singularities, a non null vector λ 2 corresponding to a null value of τ pr + J T tk λ 1 can exist. This also means that there is an infinity of solutions for λ 2 and that the robot platform is not in equilibrium. Another consequence is that in the neighbourhood of the Type 2 singularities, the active joint effort τ may increase considerably as their expression is proportional to the inverse of the determinant of A p , which is close to zero in that area. Such singularity may thus lead to a breakdown of the mechanism (if the joints cannot support the load) or to the impossibility of tracking the desired trajectory due to the technological limitations in terms of maximal input efforts for the actuators.

Degeneracy Conditions of the IDM due to the Matrix J k d

As explained previously, the matrix J k d is the Jacobian matrix linking the independent motions of the last joints to the passive joint displacements of each serial leg and is block-diagonal. As a result, J k d is rank-deficient if and only if at least one block J k di on the diagonal is rank deficient.

If the ith block J k di is rank-deficient (let us recall that J k di is the kinematic Jacobian matrix that relates the twist of the last joint of the leg i to the passive joint velocities qd i of the same leg), then the sub-chain composed of the passive joints of the leg i is in a singular configuration. Such kind of singularity has been described in [START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF] and is called in this paper a LPJTS singularity. An example of such kind of singularity is shown in Fig. 3. In LPJTS singularities, at least one leg gets an internal and uncontrollable motion while the platform is still controlled and remains rigid. Moreover, LPJTS singularities separate the passive joint space aspects and thus prevent the leg to reach all the possible joint configurations [START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF].

Robot moving platform

Robot fixed base

Uncontrolled internal motion of the leg

Fig. 3 Example of LPJTS singularity for a parallel robot leg (grey joints denote actuated joints): in that case, for a fixed position of the end-effector, the leg gains one instantaneous uncontrollable motion due to the particular arrangement of the passive joints As mentioned in the introduction, LPJTS singularities are encountered in numerous robot architectures among which the best known examples are probably the Tripteron-like or Isoglide-like robots [START_REF] Gosselin | Compact dynamic models for the tripteron and quadrupteron parallel manipulators[END_REF][START_REF] Kong | Forward displacement analysis of a quadratic 4-dof 3T1R parallel manipulator: The Quadrupteron[END_REF][START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF][START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF][START_REF] Carricato | Singularity-free fully-isotropic translational parallel manipulators[END_REF][START_REF] Rizk | A semi-analytical stiffness model of parallel robots from the Isoglide family via the sub-structuring principle[END_REF][START_REF] Seward | A new 6-dof parallel robot with simple kinematic model[END_REF].

From Eq. ( 28), it can be deduced that, when matrix J k di (and as a result matrix J k d ) becomes rank-deficient in LPJTS singularities, there can be a non null vector λ 1 corresponding to a null value of τ t d . This also means that there is an infinity of solutions for λ 1 and that the leg i is not in equilibrium. Another consequence is that in the neighbourhood of the LPJTS singularities, the value of λ 1 , and as a result the active joint efforts τ , may increase considerably as its expression is proportional to the inverse of the determinant of J k d , which is close to zero in that area. As for the Type 2 singularities, a LPJTS singularity may thus lead to a breakdown of the mechanism (if the joints cannot support the load) or to the impossibility of tracking the desired trajectory due to the technological limitations in terms of maximal input efforts for the actuators.

Avoiding Infinite Input Efforts while Crossing Type 2 or LPJTS Singularities thanks to an Optimal Trajectory Planning

In this Section, conditions for avoiding infinite input efforts while approaching and crossing the Type 2 or LPJTS singularities are disclosed.

Optimal Trajectory Planning through Type 2 Singularities

Let us rewrite (29) such as

A T p λ 2 = w p ( 37
)
where w p is defined by

w p = τ pr + J T tk λ 1 = τ pr + J T tk J -T k d τ t d (38)
As previously explained, the equation ( 29) represents the platform equilibrium so that the loops of the parallel robot can be closed. As a result, the term w p represents the sum of:

-The inertial/gravitational effects and external efforts applied on the platform plus -The reactions applied by the legs on the robot platform (due to the leg inertia and gravitational effects).

Let us also express [START_REF] Briot | Global identification of joint drive gains and dynamic parameters of parallel robots[END_REF]

again such as τ = w b -B T p λ 2 , (39)
where w b is defined by

w b = τ t a -J T k a λ 1 = τ t a -J T k a J -T k d τ t d (40)
If A p is rank deficient, so a non-null vector t s exists, defined such as

A p t s = 0 ⇔ t T s A T p = 0 (41) From (12), t s
is a twist reciprocal to all the wrenches ζ i defining the rows of the matrix A p (see Eq. ( 36)), and describes the uncontrollable motion of the platform inside the Type 2 singularity [START_REF] Merlet | Parallel Robots[END_REF][START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF].

Multiplying the left side of (37) by t T s , one obtains

t T s A T p λ 2 = 0 (42)
As a result, for the IDM to be consistent, the right part of (37) must strictly follow the condition

t T s w p = 0 ( 43
)
which involves that, in order to avoid infinite input efforts while crossing a Type 2 singularity, the sum of the wrenches applied on the platform by the legs, inertia/gravitational effects and external environment must be reciprocal to the uncontrollable motion of the platform inside the singularity (in other words, the power of these wrenches along the platform uncontrollable motion must be null). This physical criterion was already provided in [START_REF] Briot | Optimal force generation of parallel manipulators for passing through the singular positions[END_REF] and can be respected through a proper robot trajectory planning. It should also be mentioned here that in the works [START_REF] Huang | Force/motion transmissibility analysis of six degree of freedom parallel mechanisms[END_REF][START_REF] Chang | Force transmissibility performance of parallel manipulators[END_REF][START_REF] Wang | Performance evaluation of parallel manipulators: Motion/force transmissibility and its index[END_REF], the authors used criteria based on a virtual power to characterize the motion/force transmissibility in parallel manipulators (and thus to characterize the closeness to Type 1 and Type 2 singularities). However, such criteria where never used to defined a criterion able to avoid the degeneracy of the dynamic model near singularity.

However, to better understand the phenomenon, let us consider the five-bar mechanism depicted in Fig. 4. A five-bar mechanism is a planar parallel mechanism composed of two actuators located at the revolute joints located at points A 1 and A 2 and three passive revolute joints at points B 1 , B 2 and

C 1 ≡ C 2 ≡ C. A 1 B 1 C 1 = C 2 = C (x,y) O x 0 y 0 q 12 q 11 A 2 B 2 q 22 q 21 q 32 r 2 r 1 f Fig.

Kinematic chain of the five-bar mechanism

It is considered that the mechanism is not moving and that the gravity effects are cancelled. A force f is applied on the end-effector. A simple analysis of the effort transmission shows that the reactions in the passive joints located at points B 1 and C (B 2 and C, resp.) must be collinear to the vector

--→ B 1 C ( --→ B 2 C, resp.
) for any mechanism configurations and that f = r 1 + r 2 (with r i the force in the joint of the leg i).

In Type 2 singularity,

--→ B 1 C is collinear to --→ B 2 C
and, as a result, r 1 is collinear to r 2 . It can be proven that, in such a case, the robot gets an uncontrollable motion along the vector t s which is perpendicular to --→ B 1 C and --→ B 2 C (Fig. 5). To compensate a force f which is not collinear to r 1 and r 2 , (i.e. for which the criterion (43) is not respected as t T s f will be different from zero in this case), the reactions r 1 and r 2 must have infinite norms. If the force f is collinear to r 1 and r 2 (i.e. the criterion (43) is respected as t T s f = 0 in this case), the reactions r 1 and r 2 will have finite norms.

This simplified problem gives an insight onto the general theory presented in this Section.

A 1 B 1 C (x,y) O x 0 y 0 A 2 B 2 r 2 r 1 f t s
Fig. 5 The five-bar mechanism in a Type 2 singularity: the uncontrollable motion is described by the vector ts

Optimal Trajectory Planning through LPJTS Singularities

Let us combine Eqs. ( 4) and ( 28):

J T k d λ 1 = τ t d ( 44
)
where τ t d is defined by

τ t d = d dt ∂L ∂ qd - ∂L ∂q d (45)
Thus, τ t d represents the virtual input efforts in the joints of the virtual system that correspond to the passive joints of the real robot. Moreover, as previously mentioned, λ 1 stacks the wrenches λ 1 1 to λ n 1 (Fig. 1(b)) applied by the virtual tree structure on the platform at points C m k ,k , so that this virtual structure can have the same motion as the real parallel robot. Then, (44) represents the equations of the dynamics of the passive legs in contact with the external environment (here the platform on which is applied the wrenches λ 1 ).

If J k d is rank deficient, then a non-null vector qs d exists, defined such as

J k d qs d = 0 ⇔ qs T d J T k d = 0 (46)
qs d represents the passive joint velocities describing the uncontrolled motion of the legs inside the LPJTS singularity.

Multiplying the left side of (44) by qs T d , one obtains

qs T d J T k d λ 1 = 0 (47)
As a result, for the IDM to be consistent, the right part of (44) must strictly follow the condition qs T d τ t d = 0 (48) which involves that, for avoiding infinite input efforts while crossing a LPJTS singularity, the input efforts of the virtual system in the joints that correspond to the passive joints of the real robot must be reciprocal to the uncontrollable motion of the passive legs inside the singularity (in other words, the power of these efforts along the leg uncontrollable motion must be null). This physical criterion has never been provided before. As for crossing the Type 2 singularities, we will show thereafter that the criterion (48) can be respected through a proper robot trajectory planning.

To better understand the phenomenon, let us consider the Tripteron proposed by Gosselin et al. [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF] depicted in Fig. 6. The robot is composed of three identical legs made of an active prismatic (P ) joint mounted onto the base and followed by a serial 3R passive chain. In each leg, all P and R joint axes are collinear (i.e. the 3R chain is planar and its displacement is orthogonal to the one of the P joint). The legs are mounted so that one leg is orthogonal to the two others.

This special arrangement of the leg leads to the design of a fully-isotropic robot with 3 translational degrees of freedom, i.e. qa = v (49)

where qa are the input velocities and v is the platform translational velocity. As a result, if a force f p is applied on any point of the platform (and in absence of any other effects), the robot input efforts τ are equal to

τ = f p (50)
B i C i D i O i x i y i q 2i q 3i q 4i r 2i r 1i f A i

End-effector

Actuated prismatic joint mounted onto the ground with a direction z i -r 2i (b) Kinematic architecture of the leg i Fig. 6 The Tripteron [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF].

which can be deduced from the principle of virtual powers.

It is considered in this example that the mechanism is not moving and that the gravity effects are cancelled. A force f is applied on leg 1 at point C 1 (Fig. 6(b)). A simple analysis of the effort transmission shows that the reactions in the passive joints located at points B 1 and C 1 (C 1 and D 1 , resp.) must be collinear to the vector

---→ B 1 C 1 ( ---→ C 1 D 1 , resp.
) for any robot configurations and that f = r 11 + r 21 (with r j1 the force in the joint of the element j of the leg 1). Moreover, as the force -r 21 is applied on the platform through the passive joint located at D 1 , from (50), we have

τ = -r 21 (51)
In a LPJTS singularity (Fig. 7),

---→ B 1 C 1 is collinear to ---→ C 1 D 1
and, as a result, r 11 is collinear to r 21 . It can be proven that, in such a case, the robot gets an uncontrollable motion given by qs d that produces a displacement v s C 1 of point C 1 (Fig. 7). v s C 1 is contained in the plane x i O i y i and is perpendicular to

---→ B 1 C 1 and ---→ C 1 D 1 .
Let us denote as J C 1 the Jacobian matrix linking the velocity v C 1 of point C 1 to the passive joint velocities qd such that:

v C 1 = J C 1 qd (52)
As a result, from the principle of virtual powers, τ t d is the vector of the efforts in the virtual structure defined such that The virtual power due to f and the displacement of the point C 1 is thus equal to

τ t d = J T C 1 f ⇒ f = J -T C 1 τ t d (53) B i C i D i O i x i y i r 2i r 1i f A i End-
v T C 1 f = qT d J T C 1 J -T C 1 τ t d = qT d τ t d (54)
To compensate a force f which is not collinear to r 11 and r 21 , and thus not reciprocal to v C 1 , (i.e. for which the criterion (48) is not respected as qs T d τ t d = v s T C 1 f will be different from zero in this case), the reactions r 11 and r 21 must have infinite norms, thus leading to infinite input efforts from (51). If the force f is collinear to r 11 and r 21 , and thus reciprocal to v C 1 , (i.e. the criterion (48) is respected as qs T d τ t d = v s T C 1 f = 0 in this case), the reactions r 11 and r 21 will have finite norms, and the input efforts τ will also remain finite.

This simplified problem gives an insight onto the general theory presented in this Section.

Examples of trajectories for crossing Type 2 or LPJTS singularities are shown in the next Section.

Case Studies

In this Section, we develop more extensively the examples of the five-bar mechanism and of the Tripteron provided above and we show experimental results on singularity crossing.

Crossing Type 2 singularities

In this Section, we will analyze the degeneracy of the full IDM of the five-bar mechanism, give the expression of the general criterion for crossing Type 2 singularities, and perform simulations and experiments.

Kinematic description of the five-bar mechanism

As already mentioned, a five-bar mechanism is a planar parallel mechanism composed of two actuators located at the revolute joints located at points A 1 and A 2 and three passive revolute joints at points B 1 , B 2 and C 1 ≡ C 2 ≡ C (Fig. 4). The geometric parameters of the virtual open-loop tree structure are described in Table 1 using the modified Denavit and Hartenberg notation (MDH ) [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]. The end-effector is considered as a supplementary body numbered as body 4.

Here, the robot is moving into the (x 0 Oy 0 ) plane which is orthogonal to the gravity field.

For this mechanism:

the end-effector coordinates are x T = [x y], -the active joint coordinates are q T a = [q 11 q 12 ], -the passive joint coordinates are q T d = [q 21 q 31 q 22 ]. All kinematic relationships needed for the computation of the IDM of the five-bar mechanism are given in Appendix A while the IDM is given in Appendix B.

d 21 = l A 1 B 1 q 21 0 31 21 0 0 0 d 31 = l B 1 C 1 q 31 0 12 0 1 0 0 d 12 = l OA 2 q 12 0 22 12 0 0 0 d 22 = l A 2 B 2 q 22 0
Fig. 8 Five-bar mechanism designed and manufactured at IFMA

w p = τ pr + J T tk J -T k d τ t d = m 4 v + J T tk J -T k d (M x d v + c x d ) (55)
which, for one given robot configuration, is a function of v and v only.

From the degeneracy analysis of matrix A p of (74) (Appendix A), the gained motion inside the Type 2 singularity can be expressed as:

t s = -sin(q 1i + q 2i ) cos(q 1i + q 2i ) (56)
Thus, the criterion (43) to respect in order to cross the Type 2 singularity takes the general form

t T s w p = -sin(q 1i + q 2i ) cos(q 1i + q 2i ) (m 4 v + J T tk J -T k d (M x d v + c x d )) = 0 (57)
which, for one given singularity configuration, is a function of v and v only. Therefore, it is possible to plan, for one given singularity configuration, a Cartesian trajectory which respects (57).

Application case and benchmark

In order to validate the theoretical results presented above, we will test the proposed criterion for crossing the Type 2 singularities of a five-bar mechanism prototype designed at the Institut Pascal from Clermont-Ferrand (France). The mechanism and its parameters are presented in Fig. 8. The link dimensions were calibrated using a Laser Tracker (Table 2). A full dynamic identification model of the robot was computed using the methodology presented in [START_REF] Briot | Global identification of joint drive gains and dynamic parameters of parallel robots[END_REF] and its identification was performed using a weighted least square method based on the use of exciting trajectories, followed by a classic geometrical control law [START_REF] Gautier | Dynamic identification of robots with power model[END_REF]. The identification resulted in the following model that fully describes the robot dynamics of the studied mechanism:

τ = w b -B T p λ 2 , (58)
A T p λ 2 = w p (59)
with

w p = m 4 ẍ ÿ , w b = zz 11R q11 zz 12R q12 + f v11 q11 f v21 q12 + f s11 sign( q11 ) f s12 sign( q12 ) (60)
where:

• m 4 is the mass of the end effector; m 4 = 0.40 ± 0.02kg

• zz 11R and zz 12R (zz 1iR = zz 1i + ia 1i + d 2 2i m 2i ) are rotational equivalent inertial terms, respectively on the first and second actuator; zz 11R = 1.83 • 10 -2 ± 6.97 • 10 -4 kg.m 2 ; zz 21R = 1.96 • 10 -2 ± 6.60 • 10 -4 kg.m 2 ; • f s11 is a Coulomb friction term on the first actuator (respectively f s12 on the second actuator); f s11 = 2.94 ± 0.10N.m; f s12 = 2.95 ± 0.09N.m; • f v11 is a viscous friction term on the first actuator (respectively f v2 on the second actuator); f v11 = 6.76 ± 0.018N.m.s f v12 = 6.75 ± 0.17N.m.s.

It should be noted that the other parameters, such as distal link inertia and friction terms in passive joints are insignificant and therefore the identification routine returned null values.

Different trajectories were computed in order to cross-validate the dynamic model identified. For each trajectory, the positions, velocities and input torques were retrieved for both actuators. Using the identified dynamic model and the measured positions and velocities, the input torques can be computed and compared to the measured ones, as illustrated in Fig. 9 which represents both the input torques measured and computed ones along a cross-validation trajectory.

The five-bar mechanism is controlled by an industrial control architecture developed by ADEPT with an open architecture. This control architecture allows the user to control the mechanism either in position, speed or torque, using a C/C++ software developed by ADEPT France: CIDE. This software was designed mostly for position control; therefore safety elements preventing mostly physical damage had to be developed for the computed torque control law.

On this five-bar mechanism, a computed torque control (CTC ) law have been implemented. The CTC gains have been set up for a cut-off frequency of 15 Hz. 3 Boundary conditions for the two trajectories used on the five-bar mechanism.

Trajectory for Case 1

Trajectory for Case 2 t = 0 sec t = t f = 1.5 sec t = 0 sec t = t f = 1.5 sec t = ts = 0.75 sec

x(t = 0) = xp 0 x(t = t f ) = xp f x(t = 0) = xp 0 x(t = t f ) = xp f x(t = ts) = xp s = 0.0543 m ẋ(t = 0) = 0 ẋ(t = t f ) = 0 ẋ(t = 0) = 0 ẋ(t = t f ) = 0 ẋ(t = ts) = 0.1671 m/s ẍ(t = 0) = 0 ẍ(t = t f ) = 0 ẍ(t = 0) = 0 ẍ(t = t f ) = 0 ẍ(t = ts) = 6.8e -4 m/s 2 y(t = 0) = yp 0 y(t = t f ) = yp f y(t = 0) = yp 0 y(t = t f ) = yp f y(t = ts) = yp s = 0.2 m ẏ(t = 0) = 0 ẏ(t = t f ) = 0 ẏ(t = 0) = 0 ẏ(t = t f ) = 0 ẏ(t = ts) = -0.4812 m/s ÿ(t = 0) = 0 ÿ(t = t f ) = 0 ÿ(t = 0) = 0 ÿ(t = t f ) = 0 ÿ(t = ts) = -0.01 m/s 2

Simulations and Experimental Results

From (57) and (59), the criterion for crossing the Type 2 singularities becomes t T s w p = -sin(q 1i + q 2i ) cos(q 1i + q 2i ) m 4 v = m 4 (-sin(q 1i + q 2i )ẍ + sin(q 1i + q 2i )ÿ) = 0 (61)

or also ÿ = ẍ tan(q 1i + q 2i ) (62)

Then, let us define two different types of trajectory with a duration t f = 1.5 sec between the points P 0 (x P 0 = [x p 0 y p 0 ] T = [0; 0.338] T m) and P f (x P f = x p f y p f T = [0.1; 0.1] T m) which are separated by a Type 2 singularity (Fig. 10):

-Case 1: a trajectory defined using a fifth-degree polynomials which can fix the position, velocity and acceleration of the robot at the trajectory extremities only; for this polynomial, five boundary conditions are defined that are given in Table 3 and lead to the polynomials for x and y defined in Table 4. -Case 2: a trajectory using a eighth-degree polynomial laws which can fix the position, velocity and acceleration of the robot at the trajectory extremity plus the position and acceleration of the robot in the singular configuration; for this polynomial, nine boundary conditions are defined that are given in Table 3. It should be noted that we want to cross the Type 2 singularity at t s = 0.75 sec with values for ẍ(t = t s ) and ÿ(t = t s ) that respects the criterion (62). These conditions lead to the polynomials for x and y defined in Table 4.

Please note that a discussion on the number of digits used for characterizing the coefficients of each polynomial is given in Section 4.3. First, let us simulate the behavior of the robot when perfectly tracking the two different trajectories. The input torques for both trajectories are shown in Figs. 11 and12. It can be observed that, for the trajectory that respects the criterion (62) (Fig. 12), the input torques remain finite while in the other case (Fig. 11), they tend to infinity when crossing the singularity at t s = 0.75sec. Now, let us launch each trajectory on the five-bar mechanism prototype. The results in terms of robot displacements are shown in Figs. 13 and14 input torques are shown in Figs. 15 and16.

It can be observed that for the trajectory that respects the criterion (62), the prototype can cross the singularity with finite torques while in the other case, it stays blocked in it. Note that:

when the robot fail to cross the singularity, the data are not recorded after 0.7 sec because we activated the emergency stop, -experimental results in terms of input torques are different from the simulated ones because the robot is not able to perfectly track the desired trajectory.

Finally, it should be mentioned that the difference in the torques between the simulations and the experiments reside in the fact that, in simulation, we consider that the robot is perfectly tracking the trajectory, which is not the case in reality. Taking into account the robot controller is a point which will be discussed in the section 4.3.

Crossing LPJTS singularities

In this Section, we will analyze the degeneracy of the full IDM of the Tripteron, give the expression of the general criterion for crossing LPJTS singularities, and perform simulations and experiments.

Kinematic description of the Tripteron

As already mentioned, the Tripteron is a spatial parallel mechanism with three degrees of freedom composed of three actuators located at the prismatic joints attached to the ground and three passive revolute joints per leg at points A i , B i and C i . The MDH parameters of the virtual open-loop tree structure are described in Tables 5 and6 and Figs. 6(b) and 17. The end-effector is considered as a supplementary body numbered as body 5.

The gravity field is directed along z 0 . For this mechanism:

the end-effector coordinates are x T = [x y z],

the active joint coordinates are q T a = [q 11 q 12 q 13 ], -the passive joint coordinates are q T d = [q T d1 q T d2 q T d3 ] with q T di = [q 2i q 3i q 4i ] (i = 1, 2, 3).

All kinematic relationships needed for the computation of the IDM of the Tripteron are given in Appendix C while the IDM of the Tripteron is given in Appendix D.

Trajectory planning through the LPJTS singularities

As mentioned in Appendix C, the Tripteron encounters LPJTS singularities only. Thus, let us analyze the degeneracy conditions of the expression (44).

a ji µ ji σ ji α ji γ ji b ji d ji θ ji r ji 11 0 1 1 0 0 b 11 d 11 = 0 0 q 11 12 0 1 1 π/2 π/2 b 12 = a d 21 = 0 0 q 12 -a 13 0 1 1 -π/2 0 b 13 = a d 31 = 0 -π/2 q 13 + a
Table 6 MDH parameters for the frames corresponding to the passive joints of the i-th robot leg (i = 1, ..., 3).

ji a ji µ ji σ ji γ ji d ji θ ji r ji 2i 1i 0 0 0 d 2i = 0 q 2i 0 3i 2i 0 0 0 d 3i = l B i C i q 3i 0 4i 3i 0 0 0 d 4i = l C i D i q 4i 0
From the degeneracy analysis of matrix J k di of (119) (Appendix C), the gained motion inside the LPJTS singularity of the leg i can be expressed as: ]. where 0 3 is a zero vector of dimension 3.

qs di =   d 3i -(d 2i + d 3i ) d 2i   / d 2 2i + d 2 3i + (d 2i + d 3i ) 2 (
Thus, the criterion (48) to respect in order to cross the LPJTS singularity of the leg i can be found by using the expression (134) of Appendix D and it takes the general form:

qs T d τ t d = 0 = qs T d (M x d v + c x d ) (64)
which, for one given singularity configuration, is a function of v and v only. Therefore, it is possible to plan, for one given singularity configuration, a Cartesian trajectory which respects (64).

Simulations and Experimental Results

For the simulations, we have decided to simulate the behavior of a Tripteron during the crossing of a LPJTS singularity for the leg 1 with the following hypothesis which does not affect the genericity of the example: we consider that only the elements of the leg 1 have mass and inertia properties (all other terms are cancelled). This hypothesis which may seem strong does not affect the problem because, when crossing the leg 1 LPJTS singularity, from the equations of the Appendix D, it can be seen that only the mass and inertia parameters of the legs can make the dynamic model degenerate. Moreover, this hypothesis brings the following main advantage: we do not have any Tripteron prototype in our laboratory, but we will be able to experimentally simulate the Tripteron behavior during the LPJTS singularity crossing by using the five-bar mechanism prototype presented in the Section 4.1.3. Indeed, this experimental simulation can be done by taking into account that:

the passive planar 3R serial chain B 1 C 1 D 1 of the leg 1 of the Tripteron is equivalent to the passive chain B 1 CB 2 of the five-bar mechanism (see Figs. [START_REF] Zlatanov | Constraint singularities of parallel mechanisms[END_REF] and 6(b)); -if we brake the active joint of the five-bar mechanism prototype located at A 1 , the joint B 1 of the five-bar prototype mechanism is equivalent to the passive joint B 1 of the Tripteron (Fig. 18) -then, the crossing of the singularity of the chain B 1 C 1 D 1 of the leg 1 of the Tripteron which is equivalent to the passive chain B 1 CB 2 of the five-bar mechanism can be driven by the active link A 2 B 2 of the five-bar mechanism prototype that will simulate the end-effector displacement of the Tripteron when motors 2 and 3 are moving (see Figs. 5 and7).

Due to this analogy, the mass and inertia parameters of the leg 1 of the Tripteron must be equal to:

• m 31 = 0.40 ± 0.02kg, m 11 = m 21 = 0kg • ia 1i = zz 21 = zz 31 = 0kg.m 2 , • mx 21 = mx 31 = my 21 = my 31 = 0kg.m, • f s 21 = f s 31 = f s 41 = 0N.m, • f v 21 = f v 31 = f v 41 = 0N.m/rad,
while the length parameters are d 31 = 0.1888 m and d 41 = 0.1878 m in order to fit to the five-bar mechanism prototype parameters. From ( 64) and (134) and by using the parameters given above, the criterion for crossing the LPJTS singularities of the leg 1 becomes

qs T d τ t d = m 31 d 3 3i q2 21 = 0 ⇒ q2 21 = 0 = j 1 q d1 v + j d1 q d v (65)
where j 1 q d1 is defined at (137) and j d1 q d is the first line of the matrix J d q d defined at [START_REF] Hesselbach | Aspects on the design of high precision parallel robots[END_REF]. Let us now define for the point C 1 of the leg 1 two different types of trajectory with a duration t f = 1 sec between the points C 10 (x

C 10 = [x c 0 y c 0 ] T = [0 0.338] T m) and C 1f (x C 1f = x c f y c f T = [0 0.0878] T m) which
are separated by a LPJTS singularity (Fig. 19):

-Case A: a trajectory defined for y (noticing that x(t) = x B 1 + d 2 31 + (y(t) -y B 1 ) 2 ) using fifth-degree polynomial which can fix the position, velocity and acceleration of the robot at the trajectory extremity only; for this polynomial, five boundary conditions are defined that are given in Table 7 and lead to the polynomial for y defined in Table 8.

B i C i D i O i x i y i q 2i q 3i q 4i r 2i r 1i f A i

End-effector of the Tripteron

Actuated prismatic joint mounted onto the ground of the Tripteron with a direction z i which is braked

-r 2i C q 21 q 31 q 22 r 2 r 1 f
Second active link of the five-bar mechanism which can simulate the endeffector motion of the Tripteron Actuated revolute joint mounted onto the ground of the five-bar mechanism which is braked

-r 2 B 1 B 2 A 1 A 2
Fig. 18 Equivalence between the leg i of the Tripteron and the five-bar mechanism architecture Table 7 Boundary conditions for the two trajectories used on the Tripteron.

Trajectory for Case A Trajectory for Case B t = 0 sec -Case B: A trajectory defined for y (noticing that

t = t f = 1.5 sec t = 0 sec t = t f = 1.5 sec t = ts = 0.75 sec y(t = 0) = yc 0 y(t = t f ) = yc f y(t = 0) = yc 0 y(t = t f ) = yc f y(t = ts) = yc s = 0.2021 m ẏ(t = 0) = 0 ẏ(t = t f ) = 0 ẏ(t = 0) = 0 ẏ(t = t f ) = 0 ẏ(t = ts) = 0.147 m/s ÿ(t = 0) = 0 ÿ(t = t f ) = 0 ÿ(t = 0) = 0 ÿ(t = t f ) = 0 ÿ(t = ts) = -0.693 m/s 2
x(t) = x B 1 + d 2 31 + (y(t) -y B 1 )
2 ) using a eighth-degree polynomial law which can fix the position, velocity and acceleration of the robot at the trajectory extremity plus the position, velocity and acceleration of the robot in the singular configuration; for this polynomial, nine boundary conditions are defined that are given in Table 7 and lead to the polynomial for y defined in Table 8. This polynomial guarantees the validation of the criterion (65) thanks to the correct definition of THE velocity and acceleration of the robot in the singular configuration.

First, let us simulate the behavior of the robot when following the two different trajectories. The input torques for both trajectories are shown in Figs. 20 and21 (τ 1 is not shown as it is null at any time). It can be observed that, for the trajectory that respects the criterion (65), the input torques remain finite while in the other case, they tend to infinity. Now, let us launch each trajectory on the prototype. The results in terms of five-bar mechanism displacement are shown in Figs. 22 and23. The torque in the actuator 2 of the five-bar mechanism prototype is given as information, to show its evolution and check its degeneracy (Fig. 24). It can be observed that for the trajectory that respects the criterion (65), the robot leg can cross the singularity configuration which is equivalent to the LPJTS singularity of the Tripteron with finite torques while in the other case, it stays blocked in it at 0.7 sec (in order to prevent harming the mechanism, a security stopped the mechanism). Thus, with the trajectory defined

Discussion

In the paper, we have shown that it was possible to cross the Type 2 and LPJTS singularities of the robots without degeneracy of the robot input efforts. We have deliberately chosen to treat each problem separately. However, it is of course possible to cross at the same time a Type 2 and a LPJTS singularity, whereas we cannot show it experimentally. In such a case, the trajectory must ensure that the criteria (43) and (48) are satisfied in the same time.

It should also be mentioned that, in the present paper, the given coefficients of the defined polynomials have a number of digits used after zero equal to twelve, since the singularity crossing criteria are very sensitive to the errors of trajectory. Even a slight change in the coefficients may lead to a criterion which is no more equal to zero because the robot is no more tracking the desired optimal trajectory. Of course, in reality, the robot can never perfectly track the desired trajectory. In order to deal with such a problem, adequate and robust controllers must be developed, such as the one proposed in [START_REF] Pagis | Design of a controller for enlarging parallel robots workspace through Type 2 singularity crossing[END_REF] for crossing Type 2 singularities. However, developing adequate controllers for crossing Type 2 or LPJTS singularities is out of the scope of the present paper, even if this problem is interesting and can make singularity crossing more attractive in an industrial context.

Conclusion

The presence of singularities in the workspace of parallel robots greatly reduces their effector's reachable positions. Several solutions have been proposed to either increase the workspace size (e.g. changing the working or assembly mode) or bypass the singularity problem (e.g. design mechanisms without singularities). A promising solution consists in changing the working or assembly mode by crossing singularities. Previous works have shown that changing the assembly mode by crossing a Type 2 singularity was possible if and only if an optimal trajectory was defined. This trajectory must respect a physical criterion obtained from the analysis of the degeneracy condition of the dynamic model.

However, the mentioned works were not complete: they missed a degeneracy condition of the parallel robot inverse dynamic model which is due, no more to a Type 2 singularity, but to a LPJTS singularity. Crossing a LPJTS singularity is appealing as in that case we can change the robot leg working mode and then potentially access to other workspace zones. This missing is due to the fact that the authors used a reduced dynamic models which was not taking into account all link dynamic parameters.

As a result, the aim of the present paper is triple:

1. To fulfil the lacks of the previous studies and to analyze all degeneracy conditions of the full parallel robot dynamic model which takes into account all link dynamic parameters, 2. To demonstrate that the LPJTS singularities impact the robot effort transmission, as this point is usually bypassed in the literature, and 3. To provide all physical criteria that make it possible to define trajectories allowing the passing through Type 2 and LPJTS singularities.

Results have shown that it is possible to avoid infinite input efforts in the joints and thus to cross:

-The Type 2 singularities if and only if the sum of the wrenches applied on the platform by the legs, inertia/gravitational effects and external environment is reciprocal to the uncontrollable motion of the platform inside the singularity, -The LPJTS singularities if and only if the input efforts of a virtual system (which is a tree-structure made of the robot legs, all joint being assumed active) in the joints that correspond to the passive joints of the real robot are reciprocal to the uncontrollable motion of the passive joints inside the singularity.

All theoretical derivations have been validated through simulations and experimental results obtained on a prototype of five-bar mechanism.

which can be expanded in the base frame as 0 = xx A i -d 2i cos q 1i -d 3i cos(q 1i + q 2i ) 0 = yy A i -d 2i sin q 1i -d 3i sin(q 1i + q 2i ) (67)

where x and y are the end-effector coordinates and 0 = πq 11 -q 21 -q 31 + q 12 + q 22 (68)

where x A i and y A i are the position coordinates along x 0 and y 0 axes for the point A i . From (67), the reduced loop-closure equations ( 11) that directly relate the displacements of the actuated joints to the moving platform coordinates can be obtained after deleting from (67) the terms in cos(q 1i + q 2i ) or sin(q 1i + q 2i ) (for i = 1, 2):

d 2 3i = x -x B i 2 + y -y B i 2 (69)
where x B i = x A i + d 2i cos q 1i and y B i = y A i + d 2i sin q 1i are the position coordinates of point B i . Then,

x = f i y + k i , y = -p i ± p 2 i -4g i r i 2g i (70)
where

f i = - y B 2 -y 1 x B 2 -x B 1 , g i = f 2 i + 1 k i = x 2 B 1 + y 2 B 1 -y 2 B 1 -y 2 B 2 2(x B 2 -x B 1 )
p i = 2f i (k i -x B 1 ) -2y B 1 r i = x 2 B 1 + y 2 B 1 -d 2 3i + k 2 1 -2k 1 x B 1 (71)
In (70), the sign "±" denotes the two robot assembly modes. Then, it comes easily from (67) and (68) that:

q 2i = tan -1 y -y B i x -x B i , (72)
q 31 = πq 11 -q 21 + q 12 + q 22 (73)

Now, differentiating (69) with respect to time, and simplifying, the matrices Ap and Bp of (15) can be found:

Ap = c 121 s 121 c 122 s 122 = x T 21 x T 22 ( 74
)
where c 12i = cos(q 1i + q 2i ) and s 12i = sin(q 1i + q 2i ) (i = 1, 2), Bp = -d 2i sin q 21 0 0 sin q 22 (75) leading thus to

Ap ẋ ẏ + Bp q11 q12 = 0 (76)
Now, differentiating (66) and (68) with respect to time, it can be found that:

0 = ẋx 0 + ẏy 0 -d 2i y 1i q1i -d 3i y 2i ( q1i + q2i ) (77) 0 = -q11 -q21 -q31 + q12 + q22 (78)
Projecting these equations in the frame of the link 2i and developing, it comes that

c 12i s 12i -s 12i c 12i ẋ ẏ = d 2i sin q 2i 0 d 2i cos q 2i + d 3i d 3i q1i q2i (79)
for i = 1, 2. Combining (78) and (79) and noticing that the first line of (79) can be disregarded as the velocity q2i of the passive joints at B i is not included in this equation, we get

  -s 121 c 121 -s 122 c 122 0 0   ẋ ẏ =   d 21 cos q 21 + d 31 0 0 d 22 cos q 22 + d 32 -1 1   q11 q12 +   d 31 0 0 0 d 32 0 -1 1 -1     q21 q31 q22   (80)
which can be rewritten as

J tk v -J ka qa -J k d qd = 0 (81)
with

J tk =   -s 121 c 121 -s 122 c 122 0 0   (82) J ka =   d 21 cos q 21 + d 31 0 0 d 22 cos q 22 + d 32 -1 1   (83) J k d =   d 31 0 0 0 0 d 32 -1 -1 1   (84)
and v T = [ ẋ ẏ], qT a = [ q11 q12 ] and qT d = [ q21 q31 q22 ]. From (74) and (84), it is possible to observe that matrix J k d is constant and never singular; as a result, the robot does not encounter LPJTS singularities matrix Ap is singular when x 21 and x 22 are collinear, which is the condition of Type 2 singularity mentioned in Section 3.1.

All velocities and accelerations quantities can be then computed from ( 76) and (81) by using the relations ( 12) and ( 25) given in Section 2.3.

B Appendix B: Dynamics of the five-bar mechanism

The inverse dynamic model of the open loop virtual structure of the five-bar mechanism can be obtained by noticing that:

leg 1 is a planar 3R robot in which the last body is massless leg 2 is a planar 2R robot. Its inverse dynamic model may be found in [START_REF] Gautier | Identification of inertial and drive gain parameters of robots[END_REF]: where parameters zz ji , ia ji , m ji , mx ji , my ji , f s ji , f v ji are defined in Section 2.2 (j = 1, 2, 3), -angles q ji and length d 2i are defined in Table 1 and Fig. 4, -τt 1i is the torque of the virtual actuator located at point A i , τt 2i is the torque of the virtual actuator located at point B i , and τt 3i is the torque of the virtual actuator located at point C i . The vector τ ta of (3) stacks all components τ ta = [τt 11 τt 12 ] T while the vector τ t d of (4) stacks all vectors τ t d = [τt 21 τt 31 τt 22 ] T . The inverse dynamic model of the free body corresponding to the end-effector (body 4) in the virtual system is

τt 11 =
τp 1 =m 4 ẍ τp 2 =m 4 ÿ (86)
with τp j being the j-th components of the vector τ pr of (9); m 4 is the end-effector mass. Combining these expressions with those of Appendix A into the equations of Section 2.3, the inverse dynamic model of the five-bar mechanism can be straightforwardly computed.

Then, for analyzing the degeneracy conditions of the expression (37), let us compute the term wp. For that, let us rewrite the vector τ t d under the form:

τ t d = M d (q t )qt + c d (qt, qt) (87)
Introducing ( 14), ( 20), ( 22) and ( 25) into (88), simplifying and skipping all mathematical derivations, we get

τ t d = M x d (x, qt) v + c x d (x, qt, v) (90)
where

M x d = M d J -1 p Jq d (91)
and

c x d = M d J d p J d q d v + C r d (j inv 1 v) 2 (j inv 2 v) 2 + Fv d Jq d v + Fs d (92)
with j inv i the ith line of the matrix J -1 p = -B -1 p Ap = j inv 1 j inv 2 defined in Appendix A, and Jq d , J d p and J d q d are three matrices defined at (20), ( 22) and [START_REF] Hesselbach | Aspects on the design of high precision parallel robots[END_REF].

C Appendix C: Kinematics of the Tripteron

For the Tripteron, the loop-closure equations ( 10) can be written as (i = 1, 2, 3):

0 = xx 0 + yx 0 + zz 0 -x A i -x D i P -q 1i x 1i -d 3i x 2i -d 4i x 3i (93)
which can be expanded in the leg i frame (Fig. 6(b)) as

0 = i x D i -i x A i -d 2i cos q 2i -d 3i cos(q 2i + q 3i ) 0 = i y D i -i y A i -d 2i sin q 2i -d 3i sin(q 2i + q 3i ) 0 = i z D i -r 1i (94)
and 0 = q 2i + q 3i + q 4i (95)

where i x D i , i y D i and i z D i are the point D i coordinates expressed in the frame of the leg i,

1 x D 1 = x, 1 y D 1 = y, 1 z D 1 = z (96) 2 x D 2 = y, 2 y D 2 = z, 2 z D 2 = x (97) 3 x D 3 = z, 3 y D 3 = x, 3 z D 3 = y (98)
(99) i x A i , i y A i and i z A i are the point A i coordinates (also regrouped in the vector x A i ) expressed in the frame of the leg i, x D i P = --→ D i P (P is the platform centre) and r 1i is defined in the Table 5.

From the last line of (94), we directly get: x = q 12 -a y = q 13 + a z = q 11 (100)

From (94), by deleting the terms in cos(q 2i + q 3i ) or sin(q 2i + q 3i ), it is possible to obtain (for i = 1 . . . 3):

d 2 4i = x B i D i -d 3i cos q 2i 2 + y B i D i -d 3i sin q 2i 2 (101)
where

x A i D i = i x D i -i x A i and y A i D i = i y D i -i y A i .
Then, expanding (101) 0 = a i cos q 2i + b i sin q 2i + c i

where

a i = -2d 3i x A i D i b i = -2d 3i y A i D i c i = x 2 A i D i + y 2 A i D i + d 2 3i -d 2 4i (103)
Finally, by using the tangent half-angle formula, we can obtain

q 2i = 2 tan -1    -b i ± b 2 i -c 2 i + a 2 i c i -a i    (104)
In (104), the sign "±" denotes the two robot leg working modes. Then, it comes easily from (94) and (95) that:

q 3i = tan -1 i y D i -i y C i i x D i -i x C i , (105)
with i x C i = i x A i + d 2i cos q 2i , i y C i = i y A i + d 2i sin q 2i , and q 4i = -q 2i -q 3i (106) Now, differentiating (100) with respect to time, and simplifying, the matrices Ap and Bp of (15) can be found: Now, differentiating (94) and (95) with respect to time, it can be found that: 0 = i ẋD i + d 2i sin q 2i q2i + d 3i sin(q 2i + q 3i )( q2i + q3i ) 0 = i ẏD i -d 2i cos q 2i q2i -d 3i cos(q 2i + q 3i )( q2i + q3i ) 0 = i żD i -q1i

Ap = I 3 ,
(109)

0 = q2i + q3i + q4i (110)
for i = 1, 2, 3 and where i ẋD i , i ẏD i and i żD i are the point D i velocities along the axes of the frame of the leg i,

1 ẋD 1 = ẋ, 1 ẏD 1 = ẏ, 1 żD 1 = ż ( 111
)
2 ẋD 2 = ẏ, 2 ẏD 2 = ż, 2 żD 2 = ẋ (112)

3 ẋD 3 = ż, 3 ẏD 3 = ẋ, 3 żD 3 = ẏ (113) (114)
Combining ( 109), ( 110) and ( 114) and noticing that the last line of (109) can be disregarded as the velocities of the passive joints are not included in this equation, we get

J tk i   ẋ ẏ ż  =   0 0 0   q1i +  
d 2i sin q 2i + d 3i sin(q 2i + q 3i ) d 3i sin(q 2i + q 3i ) 0 -d 2i cos q 2i -d 3i cos(q 2i + q 3i ) -d 3i cos(q 2i + q 3i ) 0 1 1 1

    q2i q3i q4i   (115)
which can be rewritten as J k di =   d 2i sin q 2i + d 3i sin(q 2i + q 3i ) d 3i sin(q 2i + q 3i ) 0 -d 2i cos q 2i -d 3i cos(q 2i + q 3i ) -d 3i cos(q 2i + q 3i ) 0 1 1 1

J tk i v -J k ai q1i -J k di qdi = 0 (116)
  (119)
and v T = [ ẋ ẏ ż], and qT di = [ q2i q3i q4i ]. Now, considering the legs 1 to 3, we obtain

J tk v -J ka qa -J k d qd = 0 (120)
with

J tk =   J tk 1 J tk 2 J tk 3   (121)
J ka = 0 9×3 (122)
with 0 9×3 a (9 × 3) zero matrix and 107) and (123), it is possible to observe that matrix J k d is singular if one block matrix J k di is singular; J k di is singular if and only if q 3i = 0 or π (i.e. x 2i is collinear to x 3i ), -matrix Ap is constant and never singular; as a result, the robot does not encounter Type 2 singularities.

J k d =   J k d1 0 3×3 0 3×3 0 3×3 J k d2 0 3×3 0 3×3 0 3×3 J k d3   (
All velocities and accelerations quantities can be then computed from (108) and (120) by using the relations [START_REF] Briot | Optimal technology-oriented design of parallel robots for high-speed machining applications[END_REF] and [START_REF] Hesselbach | Aspects on the design of high precision parallel robots[END_REF] given in Section 2.3.

D Appendix D: Dynamics of the Tripteron

As mentioned in Appendix C, the Tripteron encounters only LPJTS singularities. Thus, let us now compute the criterion (48).

The inverse dynamic model of the open loop virtual structure of the Tripteron can be obtained by noticing that each leg is composed of a first active prismatic joint, -followed by a planar 3R robot in which the last body is massless

The inverse dynamic model of the leg i is: τt 1i =(m 1i + m 2i + m 3i + ia 1i )q 1i + f s 1i sign( q1i ) + f v 1i q1i + τg 1i τt 2i = zz 2i + d 2 3i m 3i q2i + zz 3i (q 2i + q3i ) + d 3i mx 3i ((2q 2i + q3i ) cos q 3i -q3i (2 q2i + q3i ) sin q 3i ) + d 3i my 3i ((2q 2i + q3i ) sin q 3i + q3i (2 q2i + q3i ) cos q 3i ) + f s 2i sign( q2i ) + f v 2i q2i + τg 2i τt 3i =zz 3i (q 2i + q3i ) + d 3i mx 3i q2i cos q 3i + q2

2i sin q 3i + d 3i my 3i q2i sin q 3i -q2 2i cos q 3i + f s 3i sign( q3i ) + f v 3i q3i + τg 3i τt 4i =f s 4i sign( q4i ) + f v 4i q4i τg 21 = 0, τg 2i = g (mx 2i + m 3i d 3i ) cos q 2i -g my 2i sin q 2i + τg 3i for i = 2, 3

τg 31 = 0, τg 3i = g mx 3i cos(q 2i + q 3i ) -g my 3i sin(q 2i + q 3i ) for i = 2, 3

and parameters zz ji , ia ji , m ji , mx ji , my ji , f s ji , f v ji are defined in Section 2.2 (j = 1 . . . 4), -parameters q ji and length d 3i are defined in Tables 5, [START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF] and Figs. 6(b) and 17 (j = 1 . . . 4), -τt 1i is the torque of the virtual actuator located in the prismatic pair, τt 2i is the torque of the virtual actuator located at point B i , τt 3i is the torque of the virtual actuator located at point C i and τt 4i is the torque of the virtual actuator located at point D i . The vector τ ta of (3) stacks all vectors τ ta = [τt 11 τt 12 τt 13 ] T while the vector τ t d of ( 4) stacks all vectors τ t d = [τt d1 τt d2 τt d3 ] T with τt di = [τt 2i τt 3i τt 4i ] T .

The inverse dynamic model of the free body corresponding to the end-effector (body 5) in the virtual system is τp 1 =m 5 ẍ τp 2 =m 5 ÿ τp 3 =m 5 (z + g)

with τp j being the j-th components of the vector τ pr of (9); m 5 is the end-effector mass. Combining these expressions with those of Appendix C into the equations of Section 2.3, the inverse dynamic model of the Tripteron can be straightforwardly computed.

Then, for analyzing the degeneracy conditions of the expression (44), let us rewrite the vector τ t d under the form:

τ t d = M d (q t )qt + c d (qt, qt) (129)
where

M d =   0 3×3 M d1 0 3×3 0 3×3 0 3×3 0 3×3 M d2 0 3×3 0 3×3 0 3×3 0 3×3 M d3   (130)
and

c d =   c d1 c d2 c d3   (131)
in which

M di =   m 11 di m 12 di 0 m 12 di zz 3i 0 0 0 0   (132)
with m 11 di = zz 2i + d 2 3i m 3i + zz 3i + 2d 3i (mx 3i cos q 3i + my 3i sin q 3i ), m 12 di = zz 3i + d 3i (mx 3i cos q 3i + my 3i sin q 3i ), and

  (a) CAD view (courtesy of C.M. Gosselin)

Fig. 7

 7 Fig. 7 Leg i of the Tripteron in a LPJTS singularity

4. 1 . 2

 12 Trajectory planning through the Type 2 singularitiesAs mentioned in Appendix A, the five-bar mechanism encounters only Type 2 singularities, but no LPJTS singularity. So, let us analyze the degeneracy conditions of the expression[START_REF] Pagis | Design of a controller for enlarging parallel robots workspace through Type 2 singularity crossing[END_REF], and first, let us compute the term w p .Introducing the expression (90) given in the Appendix B into[START_REF] Gautier | Identification of inertial and drive gain parameters of robots[END_REF], we obtain

Fig. 9

 9 Fig. 9 Verification of the identified dynamic model

Fig. 10

 10 Fig. 10 Starting point P 0 and ending point P f of the Type 2 singularity crossing trajectory

Fig. 11 Fig. 12

 1112 Fig. 11 Input torques simulated for the five-bar mechanism crossing the Type 2 singularity locus at ts = 0.75 sec without respecting the dynamic criterion (62)

Fig. 13 Fig. 14 Fig. 15 Fig. 16 1 A 2 A 3 Fig. 17

 1314151612317 Fig.13The five-bar mechanism tracking the trajectory which does not respect the dynamic criterion (62)

  ji

-

  If the leg 1 encounters a LPJTS singularity, qs T d = [ qs T d1 0 3 0 3 ], -If the leg 2 encounters a LPJTS singularity, qs T d = [0 3 qs T d2 0 3 ], -If the leg 3 encounters a LPJTS singularity, qs T d = [0 3 0 3 qs T d3

Fig. 20 Fig. 21 Fig. 22 Fig. 23 Fig. 24

 2021222324 Fig. 19 Starting point C 10 and ending point C 1f of the LPJTS singularity crossing trajectory for the Tripteron

m 11 d 12 +

 1112 = zz 21 + d 2i (mx 21 cos q 21 + my 21 sin q 21 ), m 32 d = zz 22 + d 2i (mx 22 cos q 22 + my 22 sin q 22 ), and c d =   d 21 mx 21 sin q 21 -d 21 my 21 cos q 21 0 0 0 0 d 22 mx 22 sin q 22 -d 22 my 22 cos q 22 sign( q21 ) f s 31 sign( q31 ) f s 22 sign( q22 ) Fv d qd + Fs d

with J tk 1

 1

  τg 11 = g (m 11 + m 21 + m 31 ), τg 12 = τg 13 = 0 (125)

di 2c 12 did

 12 3i mx 3i -d 3i my 3i cos q 3i sin q 3i 0 2i sign( q2i ) f s 3i sign( q3i ) f s 4i sign( q4i ) Fv di qdi + Fs di(133)

  xx jk xy jk xz jk yy jk yz jk zz jk mx jk my jk mz jk m jk ia jk f v jk f s jk τ of f jk

	T

Table 1

 1 MDH parameters for the frames corresponding to the five-bar mechanism legs.

	ji	a j i	µ ji	σ ji	γ ji	d ji	θ ji	r ji
	11	0	1	0	0	d 11 = l OA 1	q 11	0
	21	11	0	0	0

Table 2

 2 five-bar mechanism: geometric parameters

	Parameter	a	L 1	L 2	L 3	L 4
	Value (m)	0.2822	0.2130	0.1888	0.1878	0.2130
	Precision (m) 1.

Table 4

 4 Coefficients of the polynomials for each trajectory used on the five-bar mechanism.

		Polynomials for Case 1	Polynomials for Case 2
	a 0	x(t) = 5 i=0 a i t i 0	y(t) = 5 i=0 a i t i 0.338175237168	x(t) = 8 i=0 a i t i 0	y(t) = 8 i=0 a i t i 0.338175237168
	a 1	0	0	0	0
	a 2	0	0	0	0
	a 3	0.296296296296	-0.705704406423	0.030616142296	0.403081224309
	a 4	-0.296296296296	0.705704406423	0.364976100965	-1.953915773554
	a 5	0.079012345679	-0.188187841713	-0.089638089174	0.149034398769
	a 6	--	--	-0.638891733361	3.132585241250
	a 7	--	--	0.555392794445	-2.569364459356
	a 8	--	--	-0.131974503408	0.600075981487

Table 5

 5 MDH parameters for the frames corresponding to robot active joints.

Table 8

 8 Coefficients of the polynomials for each trajectory used on the Tripteron.

		Polynomial for Case A	Polynomial for Case B
	a 0	0.338174999999996	0.338175000000007
	a 1	0	0
	a 2	0	0
	a 3	-2.503500000000006	3.051722491923807
	a 4	3.755249999999982	-23.590518369448382
	a 5	-1.502099999999988	43.558974062571224
	a 6	--	-26.660836890258111
	a 7	--	-0.254587389021722
	a 8	--	3.644896094233372

  zz 11 + ia 11 + d 2 2i m 21 q11 + zz 21 (q 11 + q21 ) + d 2i mx 21 ((2q 11 + q21 ) cos q 21 -q21 (2 q11 + q21 ) sin q 21 ) + d 2i my 21 ((2q 11 + q21 ) sin q 21 + q21 (2 q11 + q21 ) cos q 21 ) + f s 11 sign( q11 ) + f v 11 q11 τt 21 =zz 21 (q 11 + q21 ) + d 2i mx 21 q11 cos q 21 + q2 11 sin q 21 + d 2i my 21 q11 sin q 21 -q2 11 cos q 21 + f s 21 sign( q21 ) + f v 21 q21 τt 31 =f s 31 sign( q31 ) + f v 31 q31 τt 12 = zz 12 + ia 12 + d 2 2i m 22 q12 + zz 22 (q 12 + q22 ) + d 2i mx 22 ((2q12 + q22 ) cos q 22 -q22 (2 q12 + q22 ) sin q 22 ) + d 2i my 22 ((2q 12 + q22 ) sin q 22 + q22 (2 q12 + q22 ) cos q 22 ) + f s 12 sign( q12 ) + f v 12 q12 τt 22 =zz 22 (q 12 + q22 ) + d 2i mx 22 q12 cos q 22 + q212 sin q 22 + d 2i my 22 q12 sin q 22 -q212 cos q 22 + f s 22 sign( q22 ) + f v 22 q22

	(85)

It is necessary to mention that in this paper, joint clearance and elasticity are not considered.

The number of standard parameters of a free rigid body can be reduced to 10 inertial parameters as it is not necessary to consider the parameters ia j , f v j , f s j and τ of f j related to actuated joint drive chains.

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.

Acknowledgements This work was sponsored by the French government research program "Investissements d'avenir" through the RobotEx Equipment of Excellence (ANR-10-EQPX-44) and by the French Institute for Advanced Mechanics (IFMA).

Appendix

A Appendix A: Kinematics of the five-bar mechanism For the five-bar mechanism, the loop-closure equations (10) can be written as (i = 1, 2):

with c 12 di = -d 3i (mx 3i sin q 3i + my 3i cos q 3i ). Introducing ( 14), ( 20), ( 22) and ( 25) into (129), simplifying and skipping all mathematical derivations, we get

where

and

in which:

-Jq d , J d p and J d q d are three matrices defined at [START_REF] Bourbonais | Minimum-time trajectory planning and control of a reconfigurable pick-and-place parallel robot[END_REF], ( 22) and ( 25), -j j q di the line of the matrix Jq d corresponding to the variable q d ij . Thus, for one given robot configuration, τ t d is a function of v and v only.