Wisama Khalil
email: wisama.khalil@irccyn.ec-nantes.fr

Ibrahim Ouarda

U M Irccyn

General Solution for the Dynamic Modeling of Parallel Robots *

Keywords: Dynamic modeling, complex structures, parallel robots, simulation, Jacobian matrix

In this paper, we present a general method to calculate the inverse and direct dynamic models of parallel robots. The models are expressed in a closed form by a single equation in which all the elements needed are expressed. The solution is given in terms of the dynamic models of the legs, the dynamics of the platform and some Jacobian matrices. The proposed method is applied in this paper on two parallel robots with different structures.

Introduction

The parallel robots are complex multi-body systems that are difficult to model because of their several closed loops. Dynamic modeling is essential for design specifications and advanced control of parallel robots. Different techniques of the dynamic modeling of closed-loop manipulators are available in the works of [START_REF] Wittenburg | Dynamics of Systems of Rigid Bodies[END_REF][START_REF] Luh | Computation of Input generalized Forces for Robots with Closed Kinematic Chain mechanisms[END_REF][START_REF] Kleinfinger | Dynamic modelling of closed-chain robots[END_REF][START_REF] Nakamura | A computational scheme of closed link robot dynamics derived by d'Alembert Principle[END_REF]. The work on the dynamics of parallel manipulator started with the dynamic analysis of Stewart platforms [START_REF] Hoffman | Vibrational modes of an aircraft simulator motion system[END_REF][START_REF] Fichter | A Stewart platform based manipulator: general theory and practical construction[END_REF]. Those studies mostly dealt with either the oscillation or the inverse dynamics problem under very simple frameworks. Later, other works presented more elaborated analysis to solve the dynamic modeling of parallel manipulators using different mechanical formalisms. For example the works of [START_REF] Lee | Dynamic analysis of a three-degrees-of-freedom in-parallel actuated manipulator[END_REF][START_REF] Geng | On the dynamic model and kinematic analysis of a class of Stewart platforms[END_REF][START_REF] Lebret | Dynamic analysis and control of a Stewart platform manipulator[END_REF][START_REF] Ait-Ahmed | Contribution à la modélisation géométrique et dynamique des robots parallèles[END_REF][START_REF] Bhattacharya | An on-line estimation scheme for generalized Stewart platform type parallel manipulators[END_REF][START_REF] Bhattacharya | A recursive formula for the inverse of the inertia matrix of a parallel manipulator[END_REF][START_REF] Liu | Dynamics analysis of the Gough-Stewart platform manipulator[END_REF] used Lagrange-Euler formalism. The principle of virtual work has been used by [START_REF] Codourey | A body oriented method for finding a linear form of the dynamic equatiojns of fully parallel robot[END_REF][START_REF] Tsai | Solving the inverse dynamics of a Stewart-Gough manipulator by the principle of virtual work[END_REF]. The principle of Hamilton was used in the dynamic modeling by [START_REF] Miller | Optimal Design and Modeling of Spatial Parallel Manipulators[END_REF]. On the other hand, Newton-Euler equations have been used by [START_REF] Sugimoto | Computational scheme for dynamic analysis of parallel manipulators[END_REF][START_REF] Reboulet | Dynamic models of a six degree of freedom parallel manipulators[END_REF][START_REF]Study of the effect of leg inertia in Stewart platform[END_REF][START_REF] Gosselin | Parallel computationnal algorithms for the kinematics and dynamics of parallel manipulators[END_REF][START_REF] Gugliemetti | A Closed form Inverse Dynamic Model ofthe Delta Parallel Robot[END_REF][START_REF] Dasgupta | Closed-form dynamic equations of the general Stewart platform through the Newton-Euler approach[END_REF][START_REF] Dasgupta | A Newton-Euler formulation for the inverse dynamics of the Stewart platform manipulator[END_REF][START_REF] Dasgupta | A general strategy based on the Newton-Euler approach for the dynamic formulation of parallel manipulators[END_REF][START_REF] Khalil | Inverse and Direct Dynamic Modeling of Gough-Stewart Robots[END_REF]. This paper presents a simple and general closed form solution for the inverse and direct dynamic models of parallel robots. The proposed method can be applied systematically to most parallel structures. The models are obtained by projecting the dynamics of the legs and the platform on the actuated joint axes using some simple Jacobian matrices. The dynamic models of the legs are expressed in the joint coordinates and the dynamics of the platform is expressed in the Cartesian variables.

The dynamic and kinematic models of the legs are obtained using classical methods devoted to serial robots and eventually with simple loops. Consequently, the computational complexity of the proposed models can be reduced by making use of the techniques, which were Categories (2), [START_REF] Bhattacharya | An on-line estimation scheme for generalized Stewart platform type parallel manipulators[END_REF]. developed many years ago for the serial robots. The dynamics of the platform is obtained by Newton-Euler equations giving the total forces and moments on a solid body.

Since the Jacobian matrix of the robot is needed we propose a new method for the calculation of the inverse Jacobian matrix of parallel robots using the Jacobian matrices of the legs.

In this paper, we apply the proposed method to the following robots:

-The Space robot, which has six degrees of freedom and three legs [START_REF] Beji | Modélisation, identification et commande d'un robot parallèle[END_REF], -The C5 robot, which has six degrees of freedom and six legs [START_REF] El | Analysis and Design of a Six-DOF Parallel Manipulator, Modeling, Singular Configurations, and Workspace[END_REF].

The paper is organised as follows: in section 2 we present how to obtain the inverse dynamic modeling, in section 3 we present the solution of the direct dynamic modeling, then the two examples will be treated in the subsequent sections. In Appendix we present a general method for the calculation of the inverse kinematic Jacobian matrix of parallel robots.

Inverse dynamic modeling of parallel robots

A parallel robot is a complex multi-body system having several closed loops. It is composed of a moving platform connected to a fixed base by parallel legs. We consider non redundant robots, where the number of active joints is equal to the number of degrees of freedom of the platform. The number of legs is denoted by m and the number of d.o.f of the platform is denoted by n. We assign the frame fixed with the platform and frame P Σ 0 Σ fixed with the base.

The inverse dynamic model gives the forces and torques of motorized joints as a function of the desired trajectory of the mobile platform. Before presenting our method we recall in the next section a classical method, which is generally used to model robots with closed loops.

CLASSICAL DYNAMIC MODELING OF CLOSED LOOP STRUCTURES

The robot inverse dynamic model of a closed loop structure, giving the forces and torques of actuated joints, denoted by , is calculated as a function of the dynamic model of an equivalent tree structure by the following equation [START_REF] Kleinfinger | Dynamic modelling of closed-chain robots[END_REF][START_REF] Nakamura | A computational scheme of closed link robot dynamics derived by d'Alembert Principle[END_REF][START_REF] Khalil | Modeling, identification and control of robots[END_REF]:

Γ (1) T tr Γ = G Γ tr
Γ the inverse dynamic model of the equivalent tree structure, which is computed in terms of its joint variables (

, such that:

) tr tr tr q ,q ,q ( ) ( ) tr tr tr tr tr tr tr , + Γ = A q q h q q

(2)

where is the inertia matrix of the equivalent tree structure, and is the vector of the Coriolis, centrifugal and gravity forces of the equivalent tree structure. Many methods are available to calculate these elements [START_REF] Craig | Introduction to robotics: mechanics and control[END_REF][START_REF]Fundamentals of Robotic Mechanical Systems[END_REF][START_REF] Khalil | Modeling, identification and control of robots[END_REF]. q f q , the matrix can also be calculated as the kinematic Jacobian matrix:

G ∂ ∂ tr a q G = q (4)
The demonstration of relation ( 1) is straightforward using the principle of virtual work (or virtual power) which states that the work done (or power delivered) of the actuators of the tree structure is equivalent to that of the active joints of the closed system:

(5)

T T a t r Γ dq = Γ dq t r t r (6)
T T a t r Γ q = Γ q
The equivalent tree structure is obtained from the closed loop structure by virtually cutting each loop at one of its passive joints.

Applying this procedure for parallel robots, the platform will be attached to one leg (Figure 1 shows the case of Gough-Stewart robot), thus the platform dynamics is obtained in terms of the joint variables of the leg on which it is attached in the equivalent tree structure. As an example, in the case of Gough-Stewart robot the platform dynamics will be a function of the six joint variables of the leg with which it is attached, which makes the model very complicated. Besides, the calculation of G and the determination of the leg variables on which the platform is attached are also very complicated.

INVERSE DYNAMIC MODEL OF PARALLEL ROBOTS

To obtain the dynamic models of parallel robots, we propose to exploit their structural characteristics by decomposing the system into two subsystems: the platform and the legs.

The dynamics of the platform is calculated as a function of the Cartesian variables (spatial Cartesian position, velocity and acceleration of the platform), whereas the dynamics of the legs are calculated as a function of the joint variables of the legs ( )

i i i
q ,q ,q . The active joint torques are obtained by the sum of these dynamics after projecting them on the active joint axes.

Using the same idea of equation [START_REF] Ait-Ahmed | Contribution à la modélisation géométrique et dynamique des robots parallèles[END_REF], to project the dynamics of the platform into the active joint space we multiply it by the transpose of the robot Jacobian matrix, and to project the leg dynamics into the active joint space we have to use the Jacobian between these two spaces. Thus the dynamic model of the parallel structure is given by the following equation:

⎛ ⎞ ∂ ⎜ ⎟ ∂ ⎝ ⎠ ∑ T m T i P P i i=1 a q Γ = J F + H q (7)
with: P F is the total forces and moments on the platform, P J is the (6 n) kinematic Jacobian matrix of the robot, which relates the platform velocity (translational and angular) as a function of the active joint velocities:

P V (8)
P P V = J q a i H is the inverse dynamic model of leg i, it is a function of ( )

i i i
q ,q ,q , which can be obtained in terms of the platform location, velocity and acceleration, using the inverse kinematic models of the legs. We note that does not include the passive joint variables connecting the legs to the platform.

i q

If the number of degrees of freedom of the robot is less than 6, the vector can be reduced to a vector which contains the n independent degrees of freedom of the robot. Thus we can express as a function of , such that: and relation (8) will be rewritten as:

P V r V P V r V (9)
P r V = SJ q a with is the (n×n) reduced kinematic Jacobian matrix of the robot. We note that when n = 6, the matrix is the (6×6) identity matrix.

r J S

The calculation of is obtained by inverting , which is easy to obtain for most parallel structures [START_REF] Merlet | Parallel robots[END_REF], in Appendix we present a general method to calculate it using the Jacobian matrices of the legs without taking into account the passive joints connecting the platform to the legs.

J

For the general case, where the platform has 6 degrees of freedom, is calculated by the following Newton-Euler equation [START_REF] Khalil | Modeling, identification and control of robots[END_REF]:

P F ( ) ( ) ⎡ ⎤ - ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ P P P P P S P P P P ω × ω × M S v g F = I + ω × I ω ω ( 12
)
where:

⎡ ⎤ ⎣ ⎦ T T T P P P V = v ω P v
the linear velocity of the origin of frame P Σ , which is fixed with the platform,

P ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ P MS = (15)
The calculation of ∂ ∂ i q q a is carried out by the following relation which exploits the parallel structure of the robot:

∂ ∂ ∂ ∂ ∂ = ∂ ∂ ∂ ∂ ∂ i i i P a i P r q q v V V q v V V q r a ( 16
)
with: is the vector of Cartesian velocity transferred from leg i to the platform.

i v
We can rewrite ( 16) as:

∂ ∂ -1 i i vi r a q = J J S J q ( 17
)
with i J is the kinematic Jacobian matrix of leg i such that:

(

) i i v = J q i P 18
The calculation of can be found in many robotics books [START_REF] Craig | Introduction to robotics: mechanics and control[END_REF][START_REF]Fundamentals of Robotic Mechanical Systems[END_REF][START_REF] Sciavicco | Modeling and control of robot manipulators McGraw Hill[END_REF][START_REF] Khalil | Modeling, identification and control of robots[END_REF].

i J vi J gives the relation between and :

i v P V (19)
i v i v = J V vi
J permits to transform to the attached point between leg i and the platform and to select the appropriate components representing .

P V i v
Finally, using ( 7) and ( 17) the inverse dynamic model of the robot is given by the following compact forms:

⎡ ⎤ ⎢ ⎥ ⎣ ⎦ ∑ m T T T -T r P v i i i=1 Γ = J S F + J J H i ⎡ ⎤ ⎢ ⎥ ⎣ ⎦ ∑ m T T -T p P vi i i i=1 Γ = J F + J J H (20)
We note that the term between the brackets in [START_REF] Khalil | A new geometric notation for open and closed-loop robots[END_REF] represents the dynamic model of the robot expressed in the Cartesian space of the platform frame P Σ [START_REF] Khatib | A unified approach for motion and force control of robot manipulators: the operational space formulation[END_REF][START_REF] Lilly | Efficient O(N) computation of the operational space inertia matrix[END_REF], which can be used for Cartesian space computed torque control.

Many methods can be used to calculate representing the inverse dynamic model of a leg i [START_REF] Hollerbach | An iterative lagrangian formulation of manipulators dynamics and a comparative study of dynamics formulation complexity[END_REF][START_REF] Luh | On-line computational scheme for mechanical manipulators[END_REF][START_REF] Craig | Introduction to robotics: mechanics and control[END_REF][START_REF] Khalil | Minimum operations and minimum parameters of the dynamic model of tree structure robots[END_REF][START_REF] Ploen | Coordinate-Invariant Algorithms for Robot Dynamics[END_REF], one can use the method with which he is familiar. To reduce the computational cost the recursive Newton-Euler algorithm using base inertial parameters and customized symbolic methods can be used [START_REF] Khosla | Real-time control and identification of direct drive manipulators[END_REF][START_REF] Khalil | Minimum operations and minimum parameters of the dynamic model of tree structure robots[END_REF]. i H Remark: From the definition [START_REF] Craig | Introduction to robotics: mechanics and control[END_REF] and since the active variables are independent the expression of the inverse dynamic model can be rewritten in the following form:

(21) ( ) m a i i i i i 1 :, = ⎛ = + ⎜ ⎝ ⎠ ∑ T T -T P P v Γ H J F + J J p H p ⎞ ⎟
where is the vector of the active forces/torques of all the legs, this corresponds to the components of of the motorized joints (for i = 1 with m). Thus equation ( 21) can be rewritten on the following form:

(22) ( ) ( ) ( ) a p 1 1 a p 2 2 1 1 1 2 2 2 m m m a p m m :, :, :, ⎛ ⎞ ⎡ ⎤ ⎡ ⎤ ⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎡ ⎤ = + ⎣ ⎦ ⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎝ ⎠ T T -T T -T T -T P P v v v H H H H Γ J F + J J p J J p J J p H H
This form simplifies considerably the model by avoiding a useless multiplication of the active forces/couples by the projection matrix ∂ ∂ i a q q . Besides, the method has the advantage of enabling calculation of the legs kinematics and dynamics by m processors in parallel.

Direct dynamic model of parallel robots

The state of parallel robot can be taken as the Cartesian position and velocity of the platform. Thus, the direct dynamic model of the robot gives the platform Cartesian acceleration as a function of the state variables and the input of the motorized joint torques/forces:

( )

0 P P P V =f T ,V ,Γ (23)
q P V i H
Noting that the inverse dynamic of a leg i can be written as:

( ) ( ) i i i i i i i i i H q , q , q = A q + h q , q (24)
with is the inertia matrix of leg i, and is the vector of the Coriolis, centrifugal and gravity torques or forces of leg i.

i A i h
We calculate from the second order kinamatic model of leg I, which is obtained by differentiating equation [START_REF]Study of the effect of leg inertia in Stewart platform[END_REF] as:

i q (25) i i i i v = J q + J q i P
By differentiating equation [START_REF]Study of the effect of leg inertia in Stewart platform[END_REF] with respect to time we obtain:

i v i P v i v = J V + J V (26)
From ( 25) and ( 26) we obtain:

( ) ( ) -1 -1 i i i i i i v i P v i P i i q = J v -J q = J J V + J V -J q (27)
Substituting ( 12), ( 24) ,( 27),( 9) and ( 13) in [START_REF] Khalil | A new geometric notation for open and closed-loop robots[END_REF], we obtain:

( )

-1 -T r robot r robot V = A J Γ -h (28)
with:

(29) ⎛ ⎜ ⎝ ⎠ ∑ m T T robot S vi Xi vi i=1 A =S I + J A J ⎞ ⎟ S ( ) ( ) ( ) ( ) { } P M ⎛ ⎞ ⎡ ⎤ ⎡ ⎤ ⎛ ⎞ ⎜ ⎟ + + ⎢ ⎥ ⎢ ⎥ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎝ ⎠ ∑ ∑
I ω × ω × MS h =S I J A J SV - g ω × I ω MS + S J A J S V -J q + h (30)
where:

robot A is the total inertia matrix of the robot with respect to the platform Cartesian space.

Xi

A is the inertia matrix of leg i referred to the Cartesian space of the terminal point (or frame)

of leg i, it is equal to

-T -1 Xi i i i A = J A J
and is the Coriolis, centrifuge and gravity forces referred to the terminal Cartesian space of leg i, it is given as

Xi h -T Xi i i h = J h
Many methods can be used to calculate these terms: i h can be computed using the Newton-Euler inverse dynamic model of leg i by setting 0 = q , [START_REF] Walker | Efficient dynamic computer simulation of robotics mechanism[END_REF][START_REF] Khalil | SYMORO+: a system for the symbolic modelling of robots[END_REF], for one can use the method with which he is familiar. To reduce the computational cost the recursive Newton-Euler algorithm using base inertial parameters and customized symbolic methods can be used to obtain [START_REF] Khalil | Minimum operations and minimum parameters of the dynamic model of tree structure robots[END_REF].

( , 0 = i i i i i h H q ,q q ) = i A i A and i h
4 Dynamic models of the Space robot

DESCRIPTION OF THE ROBOT

The 6 d.o.f. (degrees of freedom) Space robot [START_REF] Beji | Modélisation, identification et commande d'un robot parallèle[END_REF] is composed of a moving platform connected to a fixed base by three (U-P-S) extendable legs. The extremities of each leg are fitted with a 2 d.o.f. universal joint (U) at the base (the first one is actuated) and a 3 d.o.f. spherical joint (S) at the platform. The lengths of the legs are actuated using prismatic joints (P). We note that the legs of this robot have the same structure as the classical Gough-Stewart parallel robot [START_REF] Merlet | Parallel robots[END_REF]. Assuming that B i is the point connecting leg i to the base and P i is the point connecting leg i to the platform. The frame is defined fixed with the base, its origin is B 0 Σ 1 , and frame P Σ is fixed with the mobile platform with P 1 as origin. We place these frames as shown in Figure 3: The notations of Khalil and Kleinfinger [START_REF] Khalil | A new geometric notation for open and closed-loop robots[END_REF], are used to describe the geometry of the tree structure composed of the base and the legs. The definition of the local link frames of leg i are given in Figure 4, while the geometric parameters are given in Table 1. The parameters of Table 1 are: a(j) denotes the frame antecedent to frame j, µ(j) and σ(j) describe the type of joint:

Base

µ(j) = 1 if joint j is active and µ(j) = 0 if it is passive, -σ (j) = 1 if joint j is prismatic and σ (j) = 0 if it is revolute, The parameters (γ j , b j , α j , d j , θ j , r j ) are used to determine the location of frame with respect to its antecedent F j Σ i . q q q q q q T a q = [START_REF] Luh | On-line computational scheme for mechanical manipulators[END_REF] with: ji q denotes the position of joint j of leg i, i q vector of the joint position of leg i, it does not take into account the variables of the spherical joint between the leg and the platform:

B i P i q 3i q 2i q 1i x 3i z 3i x 0 z 0i , x 1i L i z 2i z 1i , x 2i
[ ] 1i 2i 3i
q q q T i q = [START_REF] Luh | Computation of Input generalized Forces for Robots with Closed Kinematic Chain mechanisms[END_REF] The Jacobian matrices required to calculate the dynamic model are calculated as follows:

i) The inverse kinematic model of a leg, which gives the joint velocities ( , i = 1 to 3) as a function of the linear velocity of point P 1i 2i 3i q ,q ,q i connecting leg i with the platform. It corresponds to the inverse kinematic model of a serial structure with three joints (RRP): ( 34)

-1 i i q = J v i -1 i
J is the (3×3) inverse Jacobian matrix of leg i. It is calculated by inverting .

i J

The Jacobian matrix of leg i, is calculated as follows [START_REF] Craig | Introduction to robotics: mechanics and control[END_REF][START_REF]Fundamentals of Robotic Mechanical Systems[END_REF][START_REF] Khalil | Modeling, identification and control of robots[END_REF]:

[ ] i 1 i i i 2 i i i 3
J = a ×B P a ×B P a i [START_REF] Miller | Optimal Design and Modeling of Spatial Parallel Manipulators[END_REF] with: ji a the unit vector along the joint axis j of leg i, 1 we obtain . Inverting analytically we compute the matrix . As an example, the matrix with respect to frame is given by: , , and

1i 2i 3i i i a a a B P i J i J -1 i J -1 1 J 0 Σ 1i i 2i 1i i 2i 1i 2i i 2i i 2i 1i i 1i 2i 2i 1i 2i -Sq L Sq 0 -Cq L Sq Cq Cq L Sq L -Cq Sq L Cq Sq -Cq -Sq Sq ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ 0 -1 1 J = (36)
C * and S * represent respectively cos( * ) and sin( * ).

We note that the 3 d row elements of represent the components of the unit vector along the prismatic joint axis 0 .

0 -1 i J 3i a
The singular configurations of equation ( 36) occur when and , which are outside the operating space of the robot.

i L = 0 ( )

2i sin q 0 = ii) Calculation of vi J i v
is the linear Cartesian velocity of point P i , it is given by ( 31), which can be rewritten as:

⎡ ⎤ ⎢ ⎥ ⎣ ⎦ i 3 1 i v = I -P P V P (37)
So:

∂ ⎡ ⎤ = ⎢ ⎥ ∂ ⎣ ⎦ i vi 3 1 i P v J = I -P V P P ⎤ ⎥ P (38)
where designates the (3×3) skew matrix associated with the vector , see [START_REF] Gosselin | Parallel computationnal algorithms for the kinematics and dynamics of parallel manipulators[END_REF].

1 i P P 1 i P P
iii) The inverse kinematic model of the robot, which gives the active joint velocities ( , i = 1 and 3) as a function of the spatial velocity of the platform.

1i 3i q ,q (39)
-1 a r q = J V with: is the inverse Jacobian matrix of the Space robot, which is computed as given in Appendix, where:

-1 r J (40) ( ) ( ) ĵi q j ,: j ,: ⎡ ⎢ ⎣ ⎦ -1 -1 i i 1 i

= J -J P P V

where: is the j ( ) j,:

-1 i J th row of the matrix .

-1 i J Finally, since :

1 1 P P = 0 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
1,:
3,:

1,: 1,:

3,: 3,:

1,: 1,:

3,: 3,:

⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ -1 1 -1 1 -1 -1 2 2 1 -1 r -1 -1 2 2 1 -1 -1 3 3 1 -1 -1 3 3 1
J 0 J 0 J -J P J J -J P J -J P J -J P

For this robot , where is the (6×6) identity matrix. = 6 S I 6 I

INVERSE DYNAMIC MODEL OF THE SPACE ROBOT

The Newton-Euler equation of the mobile platform is given by relation [START_REF] Featherstone | The calculation of robot dynamics using articulated-body inertias[END_REF]. Thus, the dynamic model is obtained by applying [START_REF] Khalil | A new geometric notation for open and closed-loop robots[END_REF] as:

( 3 ⎛ ⎞ ⎡ ⎤ ⎡ ⎤ ⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎝ ⎠ ∑ P 3 T -1 P i i i i i i=1
1 i I Γ = J F + J H q , q , q P P [START_REF] Walker | Efficient dynamic computer simulation of robotics mechanism[END_REF] Using the form of relation [START_REF] Khalil | SYMORO+: a system for the symbolic modelling of robots[END_REF] and noting that:

(43) p i H = H 2 i T a i 1 i 3 i H H ⎡ ⎤ = ⎣ ⎦ H ( 44
)
we obtain:

(45) ( ) ( ) ( ) 11
⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎛ ⎞ ⎡ ⎤ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎡ ⎤ = + ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎣ ⎦ ⎝ ⎠ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ T T -T T -T T -T P P v v v Γ J F + J J J J J J

DIRECT DYNAMIC MODEL OF THE SPACE ROBOT

The direct dynamic model is obtained by applying the procedure given in section 3, we obtain:

( )

-1 -T P robot r robot V = A J Γ -h (46)
where is obtained using (29) as:

robot A ^3 P M ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ∑ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ 3 P 3 robot Xi 3 1 i i=1 1 i P P I I -MS A = + A I -PP P P MS I (47)
and is given by [START_REF] Lilly | Efficient O(N) computation of the operational space inertia matrix[END_REF]:

robot h
We start by calculating the term by differentiating equation ( 31) we obtain: , vi P J V ( )

i P P 1 i P P 1 i v = v + ω × P P + ω × ω × P P (48)
Which can be rewritten as:

(49) 26), we deduce:

( ⎡ ⎤ ⎢ ⎥ ⎣ ⎦ i 3 1 P P P 1 i v = I P P V + ω × ω × P P ) i Using (
( ) [START_REF] El | Analysis and Design of a Six-DOF Parallel Manipulator, Modeling, Singular Configurations, and Workspace[END_REF] The C5 parallel robot consists of a base and a platform linked together by six linear actuators (Figure 5) [START_REF] El | Analysis and Design of a Six-DOF Parallel Manipulator, Modeling, Singular Configurations, and Workspace[END_REF]. The platform is designed by a cube. Each leg is embedded in the base at point B i and connected to one face of the mobile platform through a C5 joint at point P i . The base frame, , 0

vi P P P 1 i J V = ω × ω × P P (50) Finally: ( ) ( ) ( ) ( ) ( ) 3 P
M ⎧ ⎫ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎪ ⎪ ⎢ ⎥ ⎢ ⎥ ⎨ ⎬ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎪ ⎪ ⎣ ⎦ ⎣ ⎦ ⎩ ⎭ ∑ 3
Σ is located such that leg 1 and 2 are parallel to the x axis, legs 3 and 4 are parallel to the y axis and legs 4 and 5 are parallel to the z axis. The platform frame, , is located at the front right top corner (Figure 5), the frame axes are defined as in Figure 5. The C5 joint is a complex joint with 3 rotational and 2 translational degrees of freedom, it is constructed by a spherical joint tied to two cross sliding plates (point P P Σ i is located at the centre of the sphericaljoint of leg i).

CALCULATION OF THE JACOBIAN MATRICES

The Cartesian variable of leg i transmitted to the platform is the displacement along the normal to the planar face of the platform on which the leg is connected, thus the kinematic model of leg i is given by the following scalar equation: Thus, the Jacobian of leg i is given by the scalar:

(54

) i J T i i = r a
The velocity of point P i denoted as a function of is given as follows:

i v p V ( ) i v T i p p i = r v + ω × PP (55)
Thus the Jacobian matrix which transforms the platform velocity to point P vi J i , and project it on the axis, is obtained as:

i r ⎡ ⎤ = ⎢ ⎥ ⎣ ⎦ T T i vi i i J r -r PP (56)
The inverse kinematic model of the robot gives the active joint velocities as a function of the velocity of the platform, where:

[ ] T 1 2 3 4 5 6
q q q q q q = a q (57) using ( 52) and (55) we can write (see Appendix):

n n q q q n n q a a a a ⎡ ⎤ - ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ - ⎢ ⎥ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ - ⎢ ⎥ ⎢ ⎥ ⎡ ⎤ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ - ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ - ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ - ⎢ ⎥ ⎣ ⎦ T T 1
The singular configurations of equation (58), correspond to , but the robot cannot reach these configurations owing to mechanical limits. The dynamic model of each leg i is given by the scalar equation:

( ) i i i i H M Ia q h i = + + (59)
with is the mass of the moving part of leg I, and is the inertia of actuator i.

i M i Ia
Assuming the gravity is equal to and directed along :

g 0 -z i h 0 = for i = 1,…,4 (60)
i i h M g = for i =5, 6 (61)
The Newton-Euler equation of the platform is the same as [START_REF] Featherstone | The calculation of robot dynamics using articulated-body inertias[END_REF].

Since the dynamic model of each leg is only a function of the motorized joints, thus using [START_REF] Khalil | SYMORO+: a system for the symbolic modelling of robots[END_REF], and noting that the inverse dynamic model is obtained as:

a i H = H i F (62) 1 2 3 4 5 6 H H
H H H H ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ + ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ T P P Γ = J

DIRECT DYNAMIC MODEL

To obtain the direct dynamic model we use the form [START_REF] Khalil | A new geometric notation for open and closed-loop robots[END_REF] for the inverse dynamic model, the direct dynamic model is given as:

( )

-1 -T P robot r robot V = A J Γ -h (63)
Using ( 29) and ( 30) to determine and , for that we should calculate the term :

( ) i v + × -× T i p p i p p = r v ω PP ω v (64)
Using [START_REF] Khosla | Real-time control and identification of direct drive manipulators[END_REF], we obtain:

( ) - × T vi P i p p J V = r ω v (65)
Finally using the general relations ( 29) and ( 30)

: ^P ^Xi M A ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ∑ 6 i P 3 T T i robot i i i=1 i i P P r I -MS A = + r -r PP PP r MS I (66) ( ) ( ) ( ) ( ) ( ) ^P ^Xi i Xi M A q ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ - × + ∑ 6
J -T -1 i J J = ( ) i i Xi 2 i M Ia A J + = (70)
i Xi i h h J = (71)

Conclusion

In this paper, a general method to compute the inverse and direct dynamic models of parallel robot is presented. The models are expressed in a closed form that exploits the structural characteristics of parallel robots. The models are calculated in terms of the dynamic model of the legs and the dynamics of the platform and some Jacobian matrices. Besides, a simple and general method for the calculation of the inverse kinematic Jacobian matrix of parallel robots is proposed. The computation of all the elements needed to calculate these models can be obtained using classical and known techniques, which are developed for serial robots. The method is applied in this paper on two robots with different structures and could be applied for most parallel robots.

Here we propose a simple method for the calculation of the inverse kinematic Jacobian matrix of the robot using the inverse Jacobian matrices of the legs.

The kinematic Jacobian matrix of the robot represents the relation between the active joint velocities and the spatial velocity of the platform : In general, is calculated by inverting the inverse Jacobian matrix which is obtained more easily. , the first solution is to make use of the relation between joint velocities and the platform velocity through each leg i from the fixed base frame to the platform frame (Figure 6) [START_REF]Fundamentals of Robotic Mechanical Systems[END_REF]: ci q is the vector of joint velocities of leg i including the passive joints between the platform and the terminal link of leg i.

ci J is the kinematic Jacobian matrix of the serial path from the fixed base to the platform frame through leg i.

Solving (73) for the active velocity joints of leg i, such that:

( ) ai ci ci r q = L q V (74)

The inverse kinematic Jacobian matrix of the robot is obtained by grouping of all the legs: Relation (73) makes use of the passive joints between leg i and the platform. These variables can be avoided to have a simpler solution by using the relation between the velocity of the attached points between the platform and the legs in terms of from one side and in terms of from the other side: (77) i i v = J q i q is the vector of joint velocities of the leg i without considering the passive joints connecting the platform to the leg.

i J is the kinematic Jacobian matrix of leg i from the fixed base to the attached point of leg i.

vi J represents the Jacobian matrix that permits to transform the platform velocity to the attached point of leg i and to select the proper components.

Solving (77) for the active joints of leg i, gives:

( ) ai i i i q = L q v (78)

Thus using (76), and regrouping for all the legs, we deduce:

(79) ( ) 1 3,:

⎡ ⎤ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ 1
- = i i L J i J

G

  is the Jacobian matrix of the tree structure variables with respect to the variables of acitive joints .

Figure 1 .

 1 Figure 1. The tree equivalent structure of the parallel robot

MS

  inertia matrix of the platform around the origin of the platform frame , P Σ P MS (3×1) vector of first moments of the platform around the origin of the platform frame P Σ : designates the (3 3) skew matrix associated with the vector , ×

p

  represent the indices of columns corresponding to the passive joints in leg i, and p i H represent the vector of the passive joints forces/torques of leg i.

0 PT 0 ΣT

 00 the homogeneous transformation matrix of frame P Σ with respect to the reference frame .In a simulation algorithm can be integrated to obtain and at each sampling time.We can obtain the direct dynamic model from the inverse dynamic model (20) by substituting the leg joint accelerations as a function of in (representing the inverse dynamic model of leg i).

  i

Figure 2 .

 2 Figure 2. Space robot

Figure 3 .

 3 Figure 3. Base frame 0 Σ and Platform frame P Σ

Figure 4 .

 4 Figure 4. Link frames of one legj i a(j i ) µ ji σ ji γ ji b ji α ji d ji θ ji r ji 1i 0 1 0 γ 1i 0 -π/2 d 1i θ 1i 0 2i 1i 0 0 0 0 π/2 0 θ 2i 0 3i 2i 1 1 0 0 π/2 0 0 L i

  position vector from to ,, where the length of leg i, see Figure4. the geometric parameters of the legs from Table

5

  Dynamic modeling of the C5 robot5.1 DESCRIPTION OF THE C5 ROBOT

Figure 5 .

 5 Figure 5. The C5 Robot (position of the frames and description of a C5 joint)

r

  terminal velocity of leg i, i a denotes the (3×1) unit vector along the leg i axis, such that: is the (3×1) unit vector normal to the planar face of the platform on which the leg is connected, such that: of the orientation matrix of the platform frame with respect to the base frame:

  , where is the (6×6) identity matrix.

  By differentiating equation (55), we obtain:

Figure 6 .

 6 Figure 6. Path from the base to the platform through leg i

  -Stewart robot, which has six legs as those of the Space robot, but only the third joint is active: 3×3) matrix, which is similar to that of Space robot.

Table 1 :

 1 Geometric parameters of the leg i frames

	4.2	CALCULATION OF THE JACOBIAN MATRICES
	The following notations are used:
	1 i P P position vector between points P 1 and P i ,
	v	i	linear velocity of point , it is calculated in terms of the platform velocity as follows: i P
					i v = v + ω × P P i p p 1	(31)
	q	a	vector of the active joint variables, (first and third variables of each leg)
			[	11	31	12	32	13	33	]

Acknowledgment

This work has been carried out through the French national project MP2 of ROBEA and the European IP project n° 011815 (NEXT-Next generation production systems).

Appendix

The calculation of the inverse and direct dynamic models requires the computation of the inverse Jacobian matrices of the legs and the kinematic Jacobian matrix of the robot.