0 Kinematic and Inverse Dynamic Analysis of a C 5 Joint Parallel Robot

Parallel manipulators have been proposed to overcome accuracy problem in the end effector positioning, exhibited by serial manipulators(Stewart, 1965)(Reboulet, 1988)(Merlet, 2000). These parallel robots are primarly used in the applications for which the considered processes require a high degree of accuracy, high speeds or accelerations. Aircraft simulator (Stewart, 1965), machining tools (Neugebauer et al., 1998)(Poignet et al., 2002), and various other medical applications (Merlet, 2002)(Leroy et al., 2003)(Plitea et al., 2008) constitute some of the many possible applications of parallel robots. The computation of the inverse dynamic model is essential for an effective robot control. In the field of parallel robots, many approaches have been developed for efficient computation of the inverse dynamics. The formalism of d’Alembert has been used to obtain an analytical expression of the dynamics model (Fichter, 1986)(Nakamura & Ghodoussi, 1989). The principle of virtual works has been applied in (Tsai, 2000) for solving the inverse dynamics of the Gough-Stewart platform and in (Zhu et al., 2005) for a Tau parallel robot. Lagrangian formalism is applied in (Leroy et al., 2003) for the dynamics modeling of a parallel robot used as a haptic interface for a surgical simulator. These various approaches do not seem effective for a robot dynamic control under the real time constraint. A better computational efficiency can be achieved by the development of approaches using recursive schemes, in particular, based on the Newton-Euler formulation. Gosselin (Gosselin, 1996) proposed an approach for the computation of the inverse dynamic model of planar and spatial parallel robots, in which all the masses and inertias are taken into account. This proposed method is difficult to generalize for all the parallel architectures. Dasgupda et al (Dasgupta & Choudhury, 1999) applied this method to several parallel manipulators. Khan (Khan, 2005) has developed a recursive algorithm for the inverse dynamics. This method is applied to a 3R planar parallel robot. Bi et al (Bi & Lang, 2006) use the Newton-Euler recursive scheme for the computation of the articular forces of a tripod system. Khalil et al (Khalil & Guegan, 2004) proposed a general method for the inverse and direct dynamic model computation of parallel robots, which is applied to several parallel manipulators (Khalil & Ibrahim, 2007). Despite the large amount of contributions in this field, there is still a need for improving the computational effeciency of the inverse kinematic and dynamic model clculation for real-time control. In this paper, a parallel robot is considered as a multi robot system with 17


Introduction
Parallel manipulators have been proposed to overcome accuracy problem in the end effector positioning, exhibited by serial manipulators (Stewart, 1965) (Reboulet, 1988) (Merlet, 2000).These parallel robots are primarly used in the applications for which the considered processes require a high degree of accuracy, high speeds or accelerations.Aircraft simulator (Stewart, 1965), machining tools (Neugebauer et al., 1998) (Poignet et al., 2002), and various other medical applications (Merlet, 2002) (Leroy et al., 2003) (Plitea et al., 2008) constitute some of the many possible applications of parallel robots.The computation of the inverse dynamic model is essential for an effective robot control.In the field of parallel robots, many approaches have been developed for efficient computation of the inverse dynamics.The formalism of d'Alembert has been used to obtain an analytical expression of the dynamics model (Fichter, 1986) (Nakamura & Ghodoussi, 1989).The principle of virtual works has been applied in (Tsai, 2000) for solving the inverse dynamics of the Gough-Stewart platform and in (Zhu et al., 2005) for a Tau parallel robot.Lagrangian formalism is applied in (Leroy et al., 2003) for the dynamics modeling of a parallel robot used as a haptic interface for a surgical simulator.These various approaches do not seem effective for a robot dynamic control under the real time constraint.A better computational efficiency can be achieved by the development of approaches using recursive schemes, in particular, based on the Newton-Euler formulation.Gosselin (Gosselin, 1996) proposed an approach for the computation of the inverse dynamic model of planar and spatial parallel robots, in which all the masses and inertias are taken into account.This proposed method is difficult to generalize for all the parallel architectures.Dasgupda et al (Dasgupta & Choudhury, 1999) applied this method to several parallel manipulators.Khan (Khan, 2005) has developed a recursive algorithm for the inverse dynamics.This method is applied to a 3R planar parallel robot.Bi et al (Bi & Lang, 2006) use the Newton-Euler recursive scheme for the computation of the articular forces of a tripod system.Khalil et al (Khalil & Guegan, 2004) proposed a general method for the inverse and direct dynamic model computation of parallel robots, which is applied to several parallel manipulators (Khalil & Ibrahim, 2007).Despite the large amount of contributions in this field, there is still a need for improving the computational effeciency of the inverse kinematic and dynamic model clculation for real-time control.In this paper, a parallel robot is considered as a multi robot system with k serial robots (the k parallel robot segments) moving a common load (the mobile platform).The proposed approach uses the methodology developed by Khalil et al (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007).In this paper, we first review the proposed approaches for computation of kinematics and inverse dynamics of of a C5 joint parallel robot.One of the interesting aspects of the parallel robots is that, unlike the serial robots, it is easy and efficient to directly compute the inverse of Jacobian matrix: However, there seems to be no proposed approach for direct computation of the Jacobian matrix.We propose a new method which allows the derivation of the Jacobian matrix in a factored form, i.e., as a product of two highly sparse matrices.This factored form enables a very fast computation and application of the Jacobian matrix, which is also needed for the inverse dynamics computation.Another issue for inverse dynamics computation is the determination of joint accelerations given the acceleration of the mobile platform.We propose a new scheme that, by using projection matrices, enablse a fast and direct calculation of the joint accelerations.Since this calculation is needed in any inverse dynamics formalism, our proposed new method improves the efficiency of the computation.For calculation of the inverse dynamics, we consider the formalism developped by Khalil et al (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007).In this approach, since the inverse of Jacobian is used, the calculation of the joint forces would require a linear system solution.We show that, by using our factorized form of the Jacobian, our proposed scheme not only eliminates the need for linear system solution but it also does not require the explicit computation of either Jacobian or its inverse.As a result, a significantly better efficiency in the computation can be achieved.This paper is organized as follows.In Section 2, we present some preliminaries and the notation used in our appraoches.The C5 parallel robot is presented in Section 3. The proposed methodologies for computation of the inverse kinematics and the inverse Jacobian matrix are reviewed in Sections 4 and 5.The new methodology for derivation of the Jacobian matrix in a factored form is presented in Section 6.In Section 7, we present a fast and direct scheme for calculation of joint accelerations, given the desired acceleration of the mobile platform.The formalism for computation of the inverse dynamics, developed by Khalil et al (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007), is discussed in Section 8 and it is shown how the new scheme for calculation of joint accelerations as well as the use of factored form of the Jacobian matrix can significantly improve the computational efficiency.A simulation of the proposed scheme for computation of the inverse dynamics is provided in section 9 validating the proposed approach.Finally, some concluding remarks are presented in Section 10.

Preliminaries
In this section, the required notation for a serial chain are presented (see also Fig. 1).

System model and notations 2.1.1 Joint and link parameters
• O j : Origin of frame j which is taken to be the center of j th joint • P j : position vector from O j to O j+1 • N:n u m b e ro fb o d i e s • Q j , Qj : position and velocity of the j th joint

Spatial quantities
• H j : spatial-axis (map matrix) of joint j.For a joint with one rotational degree of freedom (DOF) around z-axis, H j is given by: • I j ∈ℜ 6×6 : spatial inertia of body j The spatial inertia of body j about its center of mass,G j ,isdenotedbyI G j and is given by: where J G j is the second moment of mass of link j about its center of mass and m j is the mass of link j.The spatial inertia I j can be calculated by: Where s j represents the position vector from O j to G j • V N+1 ∈ℜ 6 : spatial velocity of the end effector

Global quantities
The following global quantities are defined for j = N to 1 • Q = Col Qj : vector of joint velocity • V = Col V j ∈ℜ 6N : global vector of spatial velocities • H = Diag H j ∈ℜ 6N×N : global matrix of spatial axis.

General notation
With any vector V = V x V y V z t ,atensor Ṽ can be associated whose representation in any frame is a skew symmetric matrix given by: The tensor Ṽ has the property that Ṽ = − Ṽt and Ṽ1 V 2 = V 1 × V 2 i.e., it is the vector cross-product operator.A matrix V associated to the vector V is defined as: where U and 0 stand for unit and zero matrices of appropriate size.In our derivation, we also make use of global matrices and vectors which lead to a compact representation of various factorizations.A bidiagonal block matrix P∈ℜ 6N×6N is defined as: The inverse of matrix P is a block triangular matrix given by:

Equations of motion
In this section, we briefly review the equations of motion: velocity, force and acceleration propagation, for a serial chain of interconnected bodies.

Velocity propagation
The velocity propagation for a serial chain of interconnected bodies, shown in Fig.
(1), is given by the following intrinsic equation: By using the matrix P, Eq. ( 1) can be expressed in a global form as: thus: The end effector spatial velocity V N+1 is obtained by the following relation: Let β ∈ℜ 6×6N be the matrix defined by β = Pt N 0 ••• 0 , Eq. ( 5) becomes: Thus, inserting the expression of V from Eq. ( 3), we obtain:

Acceleration and force propagation
The propagation of accelerations and forces among the links of serial chain are given by: Eqs. ( 9)-( 10) represent the simplified N-E algorithm (with nonlinear terms being excluded) for the serial chain (Luh et al., 1980).
The force F j can be written, by using a rather unconventional decomposition of inter body force of the form (see, for example (Fijany et al., 1995) (Fijany et al., 1997), as: Where F S j represents the constraint force.
The projection matrices H j and W j are taken to satisfy the following orthogonality conditions:

C5 parallel robot
The C5 joint parallel robot (Dafaoui et al., 1998) consists of a static and a mobile part connected together by six actuated segments (Fig. 2 and 3).Each segment is connected to the static part at point A i and linked to the mobile part through a C5 passive joint (3DOF) in rotation and 2DOF in translation) at point B i .Each C5 joint consists of a spherical joint tied to two crossed sliding plates (Fig 4).Each segment is equipped with a ball and a screw linear actuator driven by a DC motor.Following notations are used in the description of the parallel robot: • R b is the absolute frame, attached to to the fixed base: R b = (0, x, y, z).
• R p is the mobile frame, attached to the mobile part: R p = C, x p , y p , z p .
• O is the origin of the absolute coordinate system.
• C is the origin of the mobile coordinate system, whose coordinates in the absolute frame are given by: • A i is the center of the joint between the segment i and the fixed base: • B i is the center of the rotational joint between the segment i and the mobile part: • R is the rotation matrix, with elements r ij (using the RPY formalism), expressing the orientation of the R p coordinate system with respect to the R b coordinate system.The expression for this matrix is given by: • The rotation angles, α, β and γ , also called Roll Pitch and Yaw (RPY), describe the rotation of the mobile platform with respect to the fixed part.α is the rotation around x axis, β around y axis and γ around z axis.
• X is the task coordinate vector.
In the following, the parallel robot is considered as six serial robots (the six segments) moving a common load (the mobile platform).According to our notation presented in the previous section, we define the following quantities: • i is the segment index • j is the body index • O ij is the j th joint center of the segment i • Q ij is the position of the j th joint of the segment i ∈ℜ 6 is the joint coordinate vector of the segment i ∈ℜ 6 is the joint velocity vector of the segment i ∈ℜ 6 is the joint acceleration vector of the segment i • H ij is the spatial-axis of joint j th joint of the segment i.For the C5 joint robot the projection matrices H ij and W ij , describe in the base frame, are given as: is the spatial velocity of the link j for the segment i • I ij ∈ℜ 6×6 : spatial inertia of body j for the segment i

Inverse kinematic model
In this section, we briefly review the methodology used for the inverse kinematic model computation.More details can be found in (Dafaoui et al., 1998).
The inverse kinematic model relates the active joint variables where: 2 for i = 1, 3 and 5 For the C5 joint parallel robot, the actuators are equidistant from point O (Fig. 6).
Fig. 6.The spatial arrangement of the C5 joint parallel robot segments.

Determination of the inverse Jacobian matrix
For parallel robots, the inverse Jacobian matrix computation (J −1 ) is obtained by the determination of the velocity of point B i (Merlet, 2000) (Gosselin, 1996): By using the following: where n i is the unit vector of the segment i,definedby: and inserting Eq. ( 17) into Eq.( 18), we obtain the following expression: The (6 − i) th row of the inverse Jacobian matrix is given as: The inverse Jacobian matrix of the C5 parallel robot is then given by the following relation: (n 6 × P 62 ) t n t 6 . . .
As stated before, for parallel robots, unlike the serial robots, the inverse of Jacobian matrix can be directly and efficiently obtained.In fact, the cost of computation of J −1 from Eq. ( 22) is (18m + 30a)wherem and a denote the cost of multiplication and addition, respectively.

General approach
The differential kinematic model of a manipulator is defined by the relationship between the spatial velocity of the end effector and the vector of generalized coordinate velocities of the robot: V N+1 = J Qa ,whereJ is the Jacobian matrix.
For parallel robots, it seems more efficient to compute the Jacobian matrix J by inverting the inverse Jacobian matrix J −1 (see for example (Khalil & Ibrahim, 2007)).In deriving the forward kinematic model of the C5 parallel robot, an analytical expression of the Jacobian matrix is presented in (Dafaoui et al., 1998).From a computational efficiency point of view, such a classical method, which is only applicable to the C5 parallel robot, is not well suited for real-time control.
Here, we present opur approach for direct and efficient computation of the Jacobian matrix (Fried et al., 2006).In this approach, an analytical expression of the Jacobian matrix is obtained in factorized form as a product of sparse matrices which achieves a much better computational efficiency.
In our approach, the parallel robot is considered as a multi-robot system, composed of serial robots (the segments) moving a common load (the mobile platform).A relationship between the Jacobian matrix of the parallel robot (J ) to the Jacobian matrix of each segment (J i )isfirst derived.
The principle of this approach consists of first computing the Jacobian matrix for each leg considered as an open serial chain.Secondly, the closing constraint is determined, allowing the computation of the parallel robot Jacobian matrix.The Jacobian matrix J of the parallel robot is obtained by the closing constraint determination of the kinematic chain.This determination can be obtained by expressing the actuated joint velocity Qa of the parallel robot in function of vectors Qi associated to each segment i.L e t the matrix Π i be defined as: Inserting Eq. ( 23) into Eq.( 7), we obtain: Therefore, a factorized expression of the parallel robot Jacobian matrix is obtained as: The matrices J and J i are related by the following relationship: The computation of matrix of Π i depends on the considered parallel robot's structure.In the following, we present the computation of this matrix for the C5 parallel robot.

Application to the C5 parallel robot
Let P i2 = x i y i z i t denote the position vector from B i to C: The spatial arrangement of the segments (see Fig. 6) is as follows: • The segments 1 and 2 are in the direction of the x-axis (n i = 100 t for i = 1, 2).
• The segments 3 and 4 are in the direction of the y-axis (n i = 010 t for i = 3, 4).
• The segments 5 and 6 are in the direction of the z-axis (n i = 001 t for i = 5, 6).
Thus, we deduce the following relations: The global vector of articular coordinate velocity of the leg i is given by: where up i and ẇp i are translation velocities due to the crossed sliding plates.

Determination of matrix Π i
The matrix Π i given in Eq. ( 23) is obtained as follows.We have: The elements i π jk of the matrix Π i are computed by using Eq. ( 7).This equation is true for i = 1to6,thus: for i and j = 1 to 6. From Eq. ( 31), we can show that for all i, j = 1, . . ., 6, we have the following relations: After some manipulations on relation (31), we obtain: From Eq. ( 28), we have y 1 = y 2 , z 3 = z 4 and x 5 = x 6 .Thus, the Eqs.(33, 34, and 35) can be written as: From Eqs. ( 30), ( 36), ( 37) and ( 38), the matrix Π 1 is computed as: The computational cost of explicit construction of the matrix Π 1 is (17m + 28a)w h e r e i nt h e cost of division has been taken to be the same as multiplication.Considering the matrix Π 1 , the expression of the jacobian matrix is given by: With: Note the highly sparse structure of the matrix J 1 .In fact, if the matrix Π 1 is already computed then the computation of the matrix J 1 does not require any operation.However, if the explicit computatiuon of J is needed it can be then computed as J = J 1 Π 1 .Exploiting the sparse structure of matrices J 1 and Π 1 , this computation can be performed with a cost of 29m + 37a.

Computation of joint accelerations of the segments
The conventional approach to calculate Qi is based on time derivation of Eq. ( 7) as: Eq. ( 42) represents the second-order inverse kinematic model of the segment i.
In the following, we propose a new and more efficient approach for computation of Qi .F r o m the propagation of acceleration given in Eq. ( 9), we can derive the following relations: Considering the othogonality properties of the projection matrices H ij and W ij given in Eq. ( 12), by multiplying both sides of Eq. ( 44) by W t i2 we get: Note that the above projection indeed eliminates the term Qi2 from the equation.From Eqs. ( 45) and ( 46), we then obtain: Where the term defined by W t i2 P t i1 H i1 −1 is a scalar.
Again, considering the properties given by Eq. ( 14), multiplying both sides of Eq. ( 44) by by H t i2 we get: is along H i1 and as can be seen from the description of H i1 and H i2 in section 3, H t i2 H i1 = 0.The joint accelerations of the segment i are then computed in four steps as follows: 1. Compute Vi2 from Eq. ( 43) 2. Compute Qi1 from Eq. ( 47) 3. Compute Vi1 from Eq. ( 45) 4. Compute Qi2 from Eq. ( 48) Exploiting the sparse structure of matrices H i1 , H i2 ,andW i2 as well as an appropriate scheme for projection of the equations, the cost of computing Qi = Qi2 Qi1 for each segment is of (10m + 10a).

Inverse dynamic model
The inverse dynamic computation for the parallel robot consists of determination of the required active joints torques to achieve a desired acceleration of the mobile platform, which is needed for accurate control of the robot.In this section, we review the approch proposed by Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007).
Our contibution is to show that by using the factorized expression of the Jacobian matrix, and the new formulation of acceleration joints, a significantly better computational efficiency can be achieved for the inverse dynamic calculation.

Computation of inverse dynamic model
The dynamical equation of motion for each segment is given by: Where: • F i2 is the force exterted to the mobile platform by the segment i (Fig. 5).
• J B i is the Jacobian matrix of the segment i, computed to the point B i .The expression of J B i is given by: • C i + G i represents the contributation of the Coriolis, centrifugal, and gravitional terms.
• Γ i represents the joint force vector of the segment i.
The contact forces exerted to the mobile platform by the segments, shown in Fig. 5, are computed from Eq. ( 49) as: The dynamic behavior of the mobile platform is given by the following relation: Where: • F N+1 is the spatial force applied at the point C, representing the contribution of the contact forces F iN propagated to the point C: • Λ C ∈ℜ 6×6 is the spatial inertia matrix of the mobile platform: 6. Computation of the vector Γ = J t K The computation of the last step, as discussed by Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007), is performed by first computing J −t fromEq.(22).Asaresult, the computation of Γ requires solving a linear system of dimension 6 as: The computation cost for the derivation of J −1 ,f r o mE q .( 2 2 ) ,i s(18m + 30a).T h ec o s to f solving the linear system of dimension 6 in Eq. ( 61) is of (116m + 95a) wherein the cost of division and multiplication are taken to be the same.Therefore, the total cost of Step 6 is of (134m + 125a) Our contribution concerns the improvement of the efficiency of the inverse dynamic computational by using the factorized expression of the Jacobian matrix and the new formulation of the joint accelerations.Using these formulations, the computations can be then performed as follows: Step 1 is performed with a cost of (10m + 10a) for each segment by using the expression given in Eqs. ( 47) and ( 48).This represents a much better efficiency than that of using Eq. ( 42).
For computation of Step 6, the factorized expression of J ,giv enb yEq.(4 0)isused.T ot h is end, we have: Note that, the above equation not only eliminates the need for solving a linear system but it also does not require the explicit computation of neither J −1 nor J .By exploiting the sparse structure of matrices Π 1 t and J 1 , the cost of computation of the vector Γ from Eq. ( 62) is of (65m + 67a), which represents a much better efficiency, almost half of the computations, compared by using Eq.(40).

Simulation of the inverse dynamic model
To validate our inverse dynamic model of the C5 joint parallel robot, a simulation under Matlab environment is presented in this section.The dynamic parameters used for the simulation are given in appendix.The trajectory profile used for this study is given as follows: • Fig. 7 shows cartesian trajectory of the mobile platform for a constant orientation (α = 10 o , β = 15 o and γ = 20 o ).
• Fig. 8 and 9 show respectively the linear velocity and linear acceleration of the mobile platform along the given trajectory.
• The active joint forces are computed using inverse dynamic model given by Eq. ( 60).Fig. 10 shows the active joint force evolution along the trajectory.The simulation results show the feasibility of the proposed approach.The terms of Eq (60) have been computed, and especially, the joint accelerations and the Jacobian matrix in its factorized form, which represent our main contribution in this present paper.

Conclusion
In this paper, we first presented a review of various proposed schemes for kinematics and inverse dynamics computation of the C5 parallel robot.We presented a new and efficient scheme for derivation of the Jacobian matrix in a factored form as a product two highly sparse matrices.We also presented a new scheme for fast and direct computation of the joint accelerations, given the desired acceleration of the mobile platform.We also reviewed the proposed scheme by Khalil et al (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007) for computation of the inverse dynamics of the C5 parallel robot.We showed that by using our new scheme for computation of the joint acceleration as well as the use of Jacobian in a factored form a much better efficiency in the computation can be achieved.The proposed methodology by Khalil et al (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007) for computation of the inverse dynamics is very systematic and indeed has been applied to several parallel robots.However, we still believe that more efficient formulations can be derived by a further exploitation of specific structures of the parallel robots.We are currently investigating new approaches for the inverse dynamics computation of parallel robots.We are also extending our derivation of the Jacobian matrix in the factored form to other parallel robots.

Fig. 1 .
Fig. 1.Joint force and position vector of a serial chain.
the operational variables which define the position and the orientation of the end effector (X).This relation is given by the following equation 347 Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot www.intechopen.com(Dafaoui et al., 1998):Q 11 = x c +r 31 (z c −L)+r 21 y c r 11 Q 21 = x c + r 31 (z c +L)+r 21 y c r 11 Q 31 = y c + r 12 (x c −L)+r 32 z c r 22 Q 41 = y c + r 12 (x c +L)+r 32 z c r 22 Q 51 = z c + r 23 (y c −L)+r 13 x c r 33 Q 61 = z c + r 23 (y c +L)+r 13 x c r 33 (16)
Dynamic parameters of the mobile platform