Open access

# Dynamic Model of a 6-dof Parallel Manipulator Using the Generalized Momentum Approach

Written By

Antonio M. Lopes and Fernando Almeida

Published: 01 April 2008

DOI: 10.5772/5426

From the Edited Volume

## Parallel Manipulators, towards New Applications

Edited by Huapeng Wu

Chapter metrics overview

View Full Metrics

## 1. Introduction

The dynamic model of a mechanical system relates the time evolution of its configuration (position, velocity and acceleration) with the forces and torques acting upon it. The inverse dynamic model is important for system control while the direct model is used for system simulation.

Serial structure manipulator dynamic modelling is a well established subject. So, recent developments have been oriented towards the improvement of numerical efficiency enabling their use in real-time control algorithms (Lilly, 1993, Naudet, 2003, Mata, 2002, Lee, 2005, Featherstone, 2000). Parallel structure manipulators present a more complex problem, and, usually, the model algorithms cannot be generalized. When used in a real-time control framework the resulting models must be simplified as they usually demand a very high computational effort.

The dynamic model of a parallel manipulator when operated in free space can be mathematically represented, in the Cartesian space, by a system of nonlinear differential equations that may be written in matrix form as

I ( x ) x ¨ + V ( x , x ˙ ) x ˙ + G ( x ) = f E1
I ( x ) being the inertia matrix, V ( x , x ˙ ) the Coriolis and centripetal terms matrix, G ( x ) a vector of gravitational generalized forces, x the generalized position of the mobile platform or end-effector and f the controlled generalized force applied on the end-effector:
f = J T ( x ) τ E2

where is the generalized force developed by the actuators and J(x) is a jacobian matrix.

The dynamic model of a parallel manipulator is usually developed following one of two approaches (Callegari, 2006): the Newton-Euler or the Lagrange methods. The Newton-Euler approach uses the free body diagrams of the rigid bodies. The Newton-Euler equation is applied to each single body and all forces and torques acting on it are obtained. Do and Yang, and Reboulet and Berthomieu use this method on the dynamic modelling of a Stewart platform (Do & Yang, 1988, Reboulet & Berthomieu, 1991). They achieve their result introducing some simplifications on the legs models. Ji (Ji, 1994) presents a study on the influence of leg inertia on the dynamic model of a Stewart platform. Mouly (Mouly, 1993) presents a simplified model for a variation of the Stewart platform, only taking into account the mobile platform. Dasgupta and Mruthyunjaya used the Newton-Euler approach to develop a closed-form dynamic model of the Stewart platform (Dasgupta & Mruthyunjaya, 1998). This method was also used by other researchers (Dasgupta & Choudhury, 1999, Khalil & Ibrahim, 2007, Riebe & Ulbrich, 2003, Khalil & Guegan, 2004, Guo & Li, 2006, Carvalho & Ceccarelli, 2001).

The Lagrange method describes the dynamics of a mechanical system from the concepts of work and energy. This method enables a systematic approach to the motion equations of any mechanical system. Nguyen and Pooran use this method to model a Stewart platform, modelling the legs as point masses (Nguyen & Pooran, 1989). Other researchers follow an approach similar to the one used by Nguyen and Pooran, but trying to increase the physical meaning of the obtained mathematical expressions (Liu et al., 1993,Lebret et al., 1993). Geng and co-authors (Geng et al., 1992) used the Lagrange’s method to develop the equations of motion for a class of Stewart platforms. Some simplifying assumptions regarding the manipulator geometry and inertia distribution were considered. Lagrange’s method was also used by others (Bhattacharya et al., 1998, Gregório & Parenti-Castelli, 2004, Caccavale et al., 2003).

Unfortunately the dynamic models obtained from these classical approaches usually present high computational loads. Therefore, alternative methods have been searched, namely the ones based on the principle of virtual work (Wang & Gosselin, 1998, Tsai, 2000, Li & Xu, 2005, Staicu et al., 2007), and screw theory (Gallardo et al., 2003).

In this paper the authors present a new approach to the problem of obtaining the dynamic model of a six degrees-of-freedom (dof) parallel manipulator: the use of the generalized momentum concept.

The manipulator under study may be seen as a variation of the Stewart platform, with the uniqueness of having all its actuators fixed to the base platform and only moving in a direction perpendicular to that base (Merlet & Gosselin, 1991). A prototype of this manipulator, the Robotic Controlled Impedance Device (RCID), was developed aiming a broad set of force-impedance control tasks. The obtained dynamic model requires a considerably lower computational effort than the one resulting from the use of classical Lagrange method.

This paper is organized as follows. Section 2 describes the RCID parallel manipulator. Section 3 presents the manipulator dynamic model using the generalized momentum approach. In section 4 the computational effort of the RCID dynamic model is evaluated. Conclusions are drawn in section 5.

## 2. Parallel manipulator structure

The RCID is a 6-dof parallel mini-manipulator (Figure 1). Parallel manipulators are well known because of their high dynamic performances and low positioning errors (Chablat et al., 2004, Merlet, 2006). In the last few years parallel manipulators have attracted great attention from researchers involved with robot manipulators (Bruzzone, 2005), robotic end effectors (Vischer & Clavel, 2000), robotic devices for high-precision robotic tasks (Pernette, et al., 2000), machine-tools (Zhang & Gosselin, 2002), simulators (Kim et al., 2002), and haptic devices (Constantinescu et al., 2005).

For kinematic modelling purposes a right-handed reference frame {B} is attached to the base. Its origin is located at point B, the centroid of the base. Axis xB is normal to the line connecting points B 1 and B 6 and axis zB is normal to the base, pointing towards the payload platform. The angles between points B 1 and B 3 and points B 3 and B 5 are set to 120º. The separation angles between points B 1 and B 6, B 2 and B 3, and B 4 and B 5 are denoted by 2B (Figure 3). In a similar way, a right-handed frame {P} is assigned to the payload platform. Its origin is located at point P, the centroid of the payload platform. Axis xP is normal to the line connecting points P1 and P6 and axis zP is normal to the payload platform, pointing in a direction opposite to the base. The angles between points P1 and P3 and points P3 and P5 are set to 120º. The separation angles between points P1 and P2, P3 and P4, and P5 and P6 are denoted by 2P (Figure 3). The main kinematic RCID parameters have been adjusted in order to maximize the manipulator dexterity (Lopes & Almeida, 1996) within a prescribed workspace: the payload platform may be positioned anywhere inside a sphere of radius 10 mm (centred at a point of the line witch contains axis zB) and rotate 15º around any axis containing the payload platform centre. This requires the actuators displacement of li = 70 mm approximately. The main kinematic parameters values are shown in Table 1.

 Parameter Value r B 80 mm r P 40 mm B 15o P 0o L 97.98 mm l i 70 mm

### Table 1.

RCID main kinematic parameters

The RCID prototype is powered by six DC rotary motors (28D11-222E.2, from PORTESCAP). A ball-screw based transmission converts motor rotation to actuator vertical translation. Linear position and acceleration of each actuator are measured, as well as Cartesian forces and moments applied to the payload platform. Actuators acceleration relative to the base platform is given by the difference between the signals of each actuator accelerometer and the base accelerometer. Potentiometric displacement transducers (RC13-100 Bauform M, from MEGATRON), accelerometers (FA-208-15, Range 5g, from EUROSENSOR) and a six-axis force/torque transducer (67M25A-I40, 200N, from JR3) are used.

The RCID mechanical structure has been produced using, whenever possible, standard mechanical components. Nevertheless, several small parts have been purposely designed and manufactured. Physically, the RCID mechanical structure comprises two fixed identical parallel platforms, which have been carefully aligned both angular and axially. The bottom platform supports the six DC electric motors. It also supports a flange to connect the RCID to an industrial robot. The ball-screw transmissions (from STAR), the linear actuators, and the potentiometric displacement transducers are located between the two fixed platforms. The universal joints are steel standard parts (from HUCO) using needle roller bearings. The fixed-length links and the double spherical joints have been purposely designed and manufactured. The payload platform supports the force/torque transducer, which has an ISO interface that may be used to attach a tool. The RCID maximal height is approximately 530 mm (when the payload platform is at its farthest position). Maximum diameter is approximately 265 mm (corresponding to the fixed platforms diameter), and total mass is about 9.7 kg. Maximum payload platform velocity along vertical direction is 220 mm/s and maximum payload capability is 5 kg.

For kinematic modelling purposes, and attaching frames {P} and {B} to the payload and base platforms, respectively, the generalized position of frame {P} relative to frame {B} may be represented by the vector:

x B P | B | E = [ x P y P z P ψ P θ P ϕ P ] T = [ x B P ( p o s ) | B T x B P ( o ) | E T ] T E3

where x B P ( p o s ) | B = [ x P y P z P ] T is the position of the origin of frame {P} relative to frame {B}, and x B P ( o ) | E = [ ψ P θ P ϕ P ] T defines an Euler angle system representing orientation of frame {P} relative to {B}. The Euler angles constitute a minimal representation of a rigid body orientation (only three parameters). There exist twelve different Euler angle systems, according to the sequence of the performed elemental rotations (Sciavicco & Siciliano, 1996). The used Euler angle system corresponds to the basic rotations (Vukobratovic & Kircanski, 1986): P about zP; P about the rotated axis yP’; and P about the rotated axis xP’’. This is equivalent to a rotation of P about xB, followed by a rotation of P about yB, and a rotation of P about zB. The rotation matrix is given by:

R B P = [ C ψ P C θ P C ψ P S θ P S ϕ P S ψ P C ϕ P C ψ P S θ P C ϕ P + S ψ P S ϕ P S ψ P C θ P S ψ P S θ P S ϕ P + C ψ P C ϕ P S ψ P S θ P C ϕ P C ψ P S ϕ P S θ P C θ P S ϕ P C θ P C ϕ P ] E4

S() and C() correspond to the sine and cosine functions, respectively. The chosen Euler angle system introduces a representation singularity at P = 90º, that is, outside the allowed RCID workspace.

The position and velocity kinematic models of the RCID are well known (Merlet & Gosselin, 1991), being obtainable from the geometrical analysis of the kinematics chains. The velocity kinematics is represented by the Euler angles jacobian matrix, JE, or the kinematics jacobian, JC. These jacobians relate the velocities of the active joints, the actuators, with the generalized velocity of the mobile platform:

l ˙ = J E x ˙ B P | B | E = J E [ x ˙ B P ( p o s ) | B x ˙ B P ( o ) | E ] E5
l ˙ = J C x ˙ B P | B = J C [ x ˙ B P ( p o s ) | B ω B P | B ] E6
with
l ˙ = [ l ˙ 1 l ˙ 2 l ˙ 6 ] T E7
ω B P | B = J A x ˙ B P ( o ) | E E8
J A = [ 0 S ψ P C θ P C ψ P 0 C ψ P C θ P S ψ P 1 0 S θ P ] E9

Vectors x ˙ B P ( p o s ) | B v B P | B and ω B P | B represent, by that order, the linear and angular velocity of the mobile platform relative to {B}, and x ˙ B P ( o ) | E represents the Euler angles time derivative.

## 3. Dynamic modelling using the generalized momentum approach

The generalized momentum of a rigid body, qc, may be obtained from the following general expression:

q c = I c u c E10

Vector uc represents the generalized velocity (linear and angular) of the body and Ic is its inertia matrix. Vectors qc and uc and inertia matrix Ic must be expressed in the same frame of reference.

Equation (10) may also be written as:

q c = [ Q c H c ] = [ I c ( t r a ) 0 0 I c ( r o t ) ] [ v c ω c ] E11

where Qc is the linear momentum vector due to rigid body translation and Hc is the angular momentum vector due to body rotation. Ic(tra) is the translational inertia matrix and Ic(rot) the rotational inertia matrix. vc and ωc are the body linear and angular velocities.

The inertial component of the generalized force acting on the body can be obtained from the time derivative of equation (10):

f c ( i n e ) = q ˙ c = I ˙ c u c + I c u ˙ c E12

with force and momentum expressed in the same frame.

### 3.1. Mobile platform modeling

The linear momentum of the mobile platform, written in frame {B}, Q P | B , may be obtained from the following expression:

Q P | B = m P v B P | B = I P ( t r a ) v B P | B E13

IP(tra) is the translational inertia matrix of the mobile platform,

I P ( t r a ) = [ m P 0 0 0 m P 0 0 0 m P ] E14

mP being its mass.

The angular momentum, H P | B , also written in frame {B}, is:

H P | B = I P ( r o t ) | B ω B P | B E15
I P ( r o t ) | B represents the rotational inertia matrix of the mobile platform, expressed in the base frame {B}.

The inertia matrix of a rigid body is constant when expressed in a frame that is fixed relative to that body. Furthermore if the frame axes coincide with the principal directions of inertia of the body, then all inertia products are zero and the inertia matrix is diagonal. Therefore, the rotational inertia matrix of the mobile platform when expressed in frame {P} may be written as:

I P ( r o t ) | P = [ I P x x 0 0 0 I P y y 0 0 0 I P z z ] E16

This inertia matrix can be written in frame {B} using the following transformation (Torby, 1984):

I P ( r o t ) | B = R B P I P ( r o t ) | P R B P T E17

The generalized momentum of the mobile platform, expressed in frame {B}, can be obtained from the simultaneous use of equations (13) and (15):

q P | B = [ I P ( t r a ) 0 0 I P ( r o t ) | B ] [ v B P | B ω B P | B ] E18

where

I P | B = [ I P ( t r a ) 0 0 I P ( r o t ) | B ] E19

is the mobile platform inertia matrix written in the base frame {B}.

The combination of equations (8) and (15) results into:

H P | B = I P ( r o t ) | B J A x ˙ B P ( o ) | E E20

Accordingly, equation (18) may be rewritten as:

q P | B = [ I P ( t r a ) 0 0 I P ( r o t ) | B ] [ 0 0 J A ] [ v B P | B x ˙ B P ( o ) | E ] E21
q P | B = I P | B T x ˙ B P | B | E E22

T being a matrix transformation defined by:

T = [ 0 0 J A ] E23

The time derivative of equation (22) results into:

f P P ( i n e ) | B = q ˙ P | B = d d t ( I P | B T ) x ˙ B P | B | E + I P | B T x ¨ B P | B | E E24
f P P ( i n e ) | B is the inertial component of the generalized force acting on {P} due to the mobile platform motion, expressed in frame {B}. The corresponding actuating forces, P(ine), may be computed from the following relation:
τ P ( i n e ) = J C T f P P ( i n e ) | B E25

The same inertial component of the generalized force acting on {P} due to the mobile platform motion, but now expressed using the Euler angles system, can be found by pre-multiplying equation (24) by TT :

f P P ( i n e ) | B | E = T T f P P ( i n e ) | B = T T d d t ( I P | B T ) x ˙ B P | B | E + T T I P | B T x ¨ B P | B | E E26

and, in a similar way, the corresponding actuating forces, P(ine), may be computed from the relation:

τ P ( i n e ) = J E T f P P ( i n e ) | B | E E27

This implies that:

f P P ( i n e ) | B | E = [ F P P ( i n e ) | B T M P P ( i n e ) | E T ] T E28

Vector F P P ( i n e ) | B represents the force acting on the centre of mass of the mobile platform, expressed in the base frame, {B}, and vector M P P ( i n e ) | E represents the moment acting on the mobile platform, expressed using the Euler angles system. Thus, this representation does not allow a clear physical interpretation of M P P ( i n e ) | E .

On the other hand, it can be said that

f P P ( i n e ) | B = [ F P P ( i n e ) | B T M P P ( i n e ) | B T ] T E29

where M P P ( i n e ) | B = J A T M P P ( i n e ) | E represents the moment acting on the mobile platform expressed, this time, in the base frame.

From equation (24) it can be concluded that two matrices playing the roles of the inertia matrix and the Coriolis and centripetal terms matrix are:

I P | B T E30
d d t ( I P | B T ) E31

It must be emphasized that these matrices do not have the properties of inertia or Coriolis and centripetal terms matrices and therefore should not, strictly, be named as such. Nevertheless, throughout the paper the names “inertia matrix” and “Coriolis and centripetal terms matrix” may be used if there is no risk of misunderstanding.

On the other hand, from equation (26), the inertia matrix and the Coriolis and centripetal terms matrix, expressed in the Euler angles system, are:

I P | E = T T I P | B T E32
V P | E = T T d d t ( I P | B T ) E33

### 3.2. Actuators modeling

As the RCID actuators can only move perpendicularly to the base plane, their angular velocity relative to frame {B} is always zero. So, each actuator can be modelled as a point mass located at its centre of mass.

The linear momentum of each actuator along direction zB, q A i , is obtainable from:

q A i = m A l ˙ i E34

where mA is the mass and l ˙ i the velocity of actuator i.

Simultaneously considering the six actuators results into:

q A = [ q A 1 q A 2 q A 6 ] = m A [ l ˙ 1 l ˙ 2 l ˙ 6 ] = m A l ˙ E35

The use of velocity inverse kinematics and transformation T in equation (35) leads to:

q A = m A J C T x ˙ B P | B | E E36

The inertial component of the actuating forces, τ A ( i n e ) , due to actuators translation may be obtained from the time derivative of equation (36):

τ A ( i n e ) = q ˙ A = m A ( J ˙ E x ˙ B P | B | E + J E x ¨ B P | B | E ) E37

Multiplying equation (37) by J C T the inertial component of the generalized force acting on {P} due to actuators translation, expressed in frame {B}, is obtained as:

f P A ( i n e ) | B = m A J C T J ˙ E x ˙ B P | B | E + m A J C T J E x ¨ B P | B | E E38

The inertial component of the generalized force acting on {P} due to actuators translation, expressed using the Euler angles system, is:

f P A ( i n e ) | B | E = T T f P A ( i n e ) | B = m A T T J C T J ˙ E x ˙ B P | B | E + m A T T J C T J E x ¨ B P | B | E = m A J E T J ˙ E x ˙ B P | B | E + m A J E T J E x ¨ B P | B | E E39

The inertia matrix and the Coriolis and centripetal terms matrix, expressed in the Euler angles system, may be extracted from equation (39) as:

I A | E ( e q ) = m A J E T J E E40
V A | E ( e q ) = m A J E T J ˙ E E41

These matrices represent the inertia matrix and the Coriolis and centripetal terms matrix of a virtual mobile platform that is equivalent to the six actuators.

If the centre of mass of each fixed-length link, cmL, is considered to be located at a constant distance bcm from the fixed-length link to mobile platform connecting point (Figure 4) then its position relative to frame {B} is:

p B L i | B = x B P ( p o s ) | B + p P i | B b c m L a i E42

Equation (42) may be successively rewritten as:

p B L i | B = x B P ( p o s ) | B + p P i | B b c m L ( x B P ( p o s ) | B b i + p P i | B d i ) E43
p B L i | B = ( 1 b c m L ) x B P ( p o s ) | B + ( 1 b c m L ) p P i | B + b c m L b i + b c m L d i E44
p B L i | B being a vector expressed in frame {B}.

The linear velocity of the fixed-length link centre of mass, p ˙ B L i | B , relative to {B} and expressed in the same frame may be computed from the time derivative of equation (44):

p ˙ B L i | B = ( 1 b c m L ) ( x ˙ B P ( p o s ) | B + ω B P | B × p P i | B ) + b c m L d ˙ i = ( 1 b c m L ) ( x ˙ B P ( p o s ) | B + ω B P | B × p P i | B ) + b c m L l ˙ i z B E45

Equation (45) can be rewritten as:

p ˙ B L i | B = J B i [ v B P | B ω B P | B ] E46

where the jacobian J B i is given by:

J B i = ( 1 b c m L ) [ 1 0 0 0 1 0 b c m L b c m J C i 1 b c m L b c m J C i 2 b c m L b c m J C i 3 + 1 0 p P i | B z p P i | B y p P i | B z 0 p P i | B x p P i | B y + b c m L b c m J C i 4 p P i | B x + b c m L b c m J C i 5 b c m L b c m J C i 6 ] E47

being JCij the elements of line i column j of matrix JC.

The linear momentum of each fixed-length link, Q L i | B , can be represented in frame {B} as:

Q L i | B = m L p ˙ B L i | B E48

where mL is fixed-length link mass.

Introducing jacobian J B i and transformation T in the previous equation results into:

Q L i | B = m L J B i T x ˙ B P | B | E E49

The inertial component of the force applied to the fixed-length link due to its translation and expressed in {B} can be obtained from the time derivative of equation (49):

f L i L i ( i n e ) ( t r a ) | B = Q ˙ L i | B = m L d d t ( J B i T ) x ˙ B P | B | E + m L J B i T x ¨ B P | B | E E50

When equation (50) is multiplied by J B i T the inertial component of the force applied to {P} due to each fixed-length link translation is obtained in frame {B}:

f P L i ( i n e ) ( t r a ) | B = J B i T f L i L i ( i n e ) ( t r a ) | B = m L J B i T d d t ( J B i T ) x ˙ B P | B | E + m L J B i T J B i T x ¨ B P | B | E E51

The inertial component of the generalized force applied to {P} due to each fixed-length link translation and expressed using the Euler angles system can be obtained pre-multiplying equation (51) by matrix TT:

T T f P L i ( i n e ) ( t r a ) | B = m L T T J B i T d d t ( J B i T ) x ˙ B P | B | E + m L T T J B i T J B i T x ¨ B P | B | E E52
f P L i ( i n e ) ( t r a ) | B | E = T T f P L i ( i n e ) ( t r a ) | B E53

The inertia matrix and the Coriolis and centripetal terms matrix of the translating fixed-length link, expressed in the Euler angles system, may be extracted from equation (52) as:

I L i ( t r a ) | E ( e q ) = m L T T J B i T J B i T E54
V L i ( t r a ) | E ( e q ) = m L T T J B i T d d t ( J B i T ) E55

These matrices represent the inertia matrix and the Coriolis and centripetal terms matrix of a virtual mobile platform that is equivalent to each translating fixed-length link.

The angular momentum of each fixed-length link can be represented in frame {B} as:

H L i | B = I L i ( r o t ) | B ω B L i | B E56

It is convenient to express the inertia matrix of the rotating fixed-length link in a frame fixed to the fixed-length link itself, {Li}{ x L i , y L i , z L i }. So,

I L i ( r o t ) | B = R B L i I L i ( r o t ) | L i R B L i T E57

where R B L i is the orientation matrix of each fixed-length link frame, {Li}, relative to the base frame, {B}.

Fixed-length links frames were chosen in the following way: axis x L i coincides with the fixed-length link axis and points towards the fixed-length link to mobile platform connecting point, meaning that it is coincident with vector ai; axis y L i is perpendicular to x L i and always parallel to the base plane, this condition being possible given the existence of a universal joint in the fixed-length link to actuator connecting point that negates any rotation along its own axis; axis z L i completes the frame following the right hand rule and its projection along axis zB is always positive. With this choice matrix R B L i becomes:

R B L i = [ x L i y L i z L i ] E58

where

x L i = [ a i x L a i y L a i z L ] T E59
y L i = [ a i y a i x 2 + a i y 2 a i x a i x 2 + a i y 2 0 ] T E60
z L i = x L i × y L i E61

So, the inertia matrices of the fixed-length links can be written as

I L i ( r o t ) | L i = [ I L x x 0 0 0 I L y y 0 0 0 I L z z ] E62

where I L x x , I L y y and I L z z are the fixed-length link moments of inertia expressed in its own frame.

The angular velocity of each fixed-length link can be obtained from the linear velocities of two points belonging to it. If these two points are taken as the fixed-length link to actuator and the fixed-length link to mobile platform connecting points, the following expression results:

ω B L i | B × a i = v B P | B + ω B P | B × p P i | B l ˙ i z B E63

As the fixed-length link cannot rotate along its own axis the angular velocity along x L i = a ^ i is always zero and so vectors ai and ω B L i | B are always perpendicular. This property enables equation (63) to be rewritten as:

ω B L i | B = 1 L 2 [ a i × ( v B P | B + ω B P | B × p P i | B l ˙ i z B ) ] E64
or,
ω B L i | B = J D i [ v B P | B ω B P | B ] E65

where jacobian J D i is given by:

J D i = 1 L 2 [ a i y J C i 1 a i y J C i 2 a i z a i y ( 1 J C i 3 ) a i z + a i x J C i 1 a i x J C i 2 a i z ( 1 J C i 3 ) a i y a i x 0 a i y ( p P i | B y J C i 4 ) + a i z p P i | B z a i y ( p P i | B x + J C i 5 ) a i y J C i 6 a i z p P i | B x a i x ( p P i | B y J C i 4 ) a i z p P i | B z + a i x ( p P i | B x + J C i 5 ) a i z p P i | B y + a i x J C i 6 a i x p P i | B z a i y p P i | B z a i x p P i | B x + a i y p P i | B y ] E66

Introducing jacobian J D i and transformation T in equation (56) results into:

H L i | B = I L i ( r o t ) | B J D i T x ˙ B P | B | E E67

The inertial component of the generalized force applied to the fixed-length link due to its rotation and expressed in {B} can be obtained from the time derivative of equation (67):

f L i L i ( i n e ) ( r o t ) | B = H ˙ L i | B = d d t ( I L i ( r o t ) | B J D i T ) x ˙ B P | B | E + I L i ( r o t ) | B J D i T x ¨ B P | B | E E68

When equation (68) is pre-multiplied by J D i T the inertial component of the generalized force applied to {P} due to each fixed-length link rotation is obtained in frame {B}:

P f L i ( i n e ) ( r o t ) | B = J D i T f L i L i ( i n e ) ( r o t ) | B = J D i T d d t ( I L i ( r o t ) | B J D i T ) x ˙ B P | B | E + J D i T I L i ( r o t ) | B J D i T x ¨ B P | B | E E69

The inertial component of the generalized force applied to {P} due to each fixed-length link rotation, f P L i ( i n e ) ( r o t ) | B | E , expressed using the Euler angles system, can be obtained pre-multiplying equation (70) by matrix TT:

T T f P L i ( i n e ) ( r o t ) | B = T T J D i T d d t ( I L i ( r o t ) | B J D i T ) x ˙ B P | B | E + T T J D i T I L i ( r o t ) | B J D i T x ¨ B P | B | E E70
f P L i ( i n e ) ( r o t ) | B | E = T T f P L i ( i n e ) ( r o t ) | B E71

The inertia matrix and the Coriolis and centripetal terms matrix of the rotating fixed-length link, expressed in the Euler angles system, may be extracted from equation (71) as:

I L i ( r o t ) | E ( e q ) = T T J D i T I L i ( r o t ) | B J D i T E72
V L i ( r o t ) | E ( e q ) = T T J D i T d d t ( I L i ( r o t ) | B J D i T ) E73

These matrices represent the inertia matrix and the Coriolis and centripetal terms matrix of a virtual mobile platform that is equivalent to each rotating fixed-length link.

It should be noticed that equations (24), (38), (51) and (69) by providing expressions for the inertial component of the generalized force applied to {P} and expressed in {B} enable a clear physical meaning to the moments applied to {P}.

### 3.4. Gravitational component of the RCID dynamic model

Given a general frame {x, y, z}, with z g ^ , the potential energy of a rigid body is given by:

P c = m c g z c E74

where mc is the body mass, g is the modulus of the gravitational acceleration and zc the distance, along z, from the frame origin to the body the centre of mass.

The gravitational components of the generalized forces acting on {P} can be easily obtained from the potential energy of the different bodies that compose the system:

f P P ( g r a ) | B | E = P P ( x B P | B | E ) x B P | B | E E75
f P A i ( g r a ) | B | E = P A i ( x B P | B | E ) x B P | B | E E76
f P L i ( g r a ) | B | E = P L i ( x B P | B | E ) x B P | B | E E77

Vectors f P P ( g r a ) | B | E , f P A i ( g r a ) | B | E and f P L i ( g r a ) | B | E represent the gravitational components of the generalized forces acting on {P}, expressed using the Euler angles system, due to, in that order, the mobile platform, each actuator and each fixed-length link. Therefore, to be added to the inertial force components, these vectors must be transformed, to be expressed in frame {B}. This may be done pre-multiplying the gravitational components force vectors by the following matrix:

[ 0 0 J A T ] E78

## 4. Computational effort of the RCID dynamic model

The computational effort of the RCID dynamic model obtained through the use of the generalized momentum approach is compared with the one resulting from applying the Lagrange method using the Koditschek representation (Lebret et al., 1993, Koditschek, 1984). As the largest difference between the two methods rests on how the Coriolis and centripetal terms matrices are calculated, the two models are evaluated by the number of arithmetic operations involved in the computation of these matrices. The results were obtained using the symbolic computational software Maple and are presented in Table 2.

 Lagrange Generalized Momentum Add. Mult. Div. Add. Mult. Div. Mobile platform 310 590 0 94 226 0 Six actuators 3028 4403 30 724 940 18 Translating link 751 1579 6 131 279 4 Rotating link 2180 3711 7 355 664 7 Total operations 20924 36733 108 3734 6824 84

### Table 2.

Number of arithmetic operations involved in the computation of the Coriolis and centripetal terms matrices of the RCID dynamic model

The dynamic model obtained by the generalized momentum approach is computationally much more efficient and its superiority manifests precisely in the computation of the matrices requiring the largest relative computational effort: the Coriolis and centripetal terms matrices.

The proposed approach was used in the dynamic modelling of a 6-dof parallel manipulator similar to a Stewart platform. Nevertheless, it can be applied to any mechanism.

## 5. Conclusion

Dynamic modelling of parallel manipulators presents an inherent complexity. Despite the intensive study in this topic of robotics, mostly conducted in the last two decades, additional research still has to be done in this area.

In this paper an approach based on the manipulator generalized momentum is explored and applied to the dynamic modelling of parallel manipulators. The generalized momentum is used to compute the inertial component of the generalized force acting on the mobile platform. Each manipulator rigid body may be considered and analyzed independently. Analytic expressions for the rigid bodies’ inertia and Coriolis and centripetal matrices are obtained, which can be added, as they are expressed in the same frame. Having these matrices, the inertial component of the generalized force acting on the mobile platform may be easily computed. This component can be added to the gravitational part of the generalized force, which is obtained through the manipulator potential energy.

The proposed approach is completely general and can be used as a dynamic modelling tool applicable to any mechanism.

The obtained dynamic model was found to be computationally much more efficient than the one resulting from applying the Lagrange method using the Koditschek representation. Its superiority manifesting precisely in the computation of the matrices requiring the largest relative computational effort: the Coriolis and centripetal terms matrices.

## References

1. 1. Bhattacharya S. Nenchev D. Uchiyama M. 1998 A recursive formula for the inverse of the inertia matrix of a parallel manipulator. Mechanism and Machine Theory, 33 (957-964)
2. 2. Bruzzone L. Molfino R. Zoppi M. 2005 An impedance-controlled parallel robot for high-speed assembly of white goods. Industrial Robot, 32 (226-233)
3. 3. Caccavale F. Siciliano B. Villani L. 2003 The Tricept Robot: Dynamics and Impedance Control. IEEE/ASME Transactions on Mechatronics, 8 (263-268)
4. 4. Callegari M. Palpacelli M. Principi M. 2006 Dynamics modelling and control of the 3-RCC translational platform. Mechatronics, 16 (589-605)
5. 5. Carvalho J. Ceccarelli M. 2001 A Closed-Form Formulation for the Inverse Dynamics of a Cassino Parallel Manipulator. Multibody System Dynamics, 5 (185-210)
6. 6. Chablat D. Wenger P. Majou F. Merlet J. 2004 An Interval Analysis Based Study for the Design and the Comparison of Three-Degrees-of-Freedom Parallel Kinematic Machines. The International Journal of Robotics Research, 23 (615-624)
7. 7. Constantinescu D. Salcudean S. Croft E. 2005 Haptic Rendering of Rigid Contacts Using Impulsive and Penalty Forces. IEEE Transactions on Robotics, 21 (309-323)
8. 8. Dasgupta B. Choudhury P. 1999 A general strategy based on the Newton-Euler approach for the dynamic formulation of parallel manipulators. Mechanism and Machine Theory, 34 (801-824)
9. 9. Dasgupta B. Mruthyunjaya T. 1998 A Newton-Euler formulation for the inverse dynamics of the Stewart platform manipulator. Mechanism and Machine Theory, 34 (711-725)
10. 10. Do W. Yang D. 1988 Inverse Dynamic Analysis and Simulation of a Platform Type of Robot. Journal of Robotic Systems, 5 (209-227)
11. 11. Featherstone R. Orin D. 2000 Robot dynamics: equations and algorithms, Proceedings of the IEEE International Conference on Robotics and Automation, 826 834
12. 12. Gallardo J. Rico J. Frisoli A. Checcacci D. Bergamasco M. 2003 Dynamics of parallel manipulators by means of screw theory. Mechanism and Machine Theory, 38 (1113-1131)
13. 13. Geng Z. Haynes L. Lee J. Carroll R. 1992 On the dynamic model and kinematics analysis of a class of Stewart platforms. Robotics and Autonomous Systems, 9 (237-254)
14. 14. Gregório R. Parenti-Castelli V. 2004 Dynamics of a Class of Parallel Wrists. Journal of Mechanical Design, 126 (436-441)
15. 15. Guo H. Li H. 2006 Dynamic analysis and simulation of a six degree of freedom Stewart platform manipulator. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, 220 (61-72)
16. 16. Ji Z. 1994 Dynamics Decomposition for Stewart Platforms. ASME Journal of Mechanical Design, 116 (67-69)
17. 17. Khalil W. Guegan S. 2004 Inverse and Direct Dynamic Modeling of Gough-Stewart Robots. IEEE Transactions on Robotics, 20 (754- 761)
18. 18. Khalil W. Ibrahim O. 2007 General Solution for the Dynamic Modelling of Parallel Robots. Journal of Intelligent and Robot Systems, 49 (19-37)
19. 19. Kim J. Hwang J. Kim J. Iurascu C. Park F. Cho Y. 2002 Eclipse II: A New Parallel Mechanism Enabling Continuous 360-Degree Spinning Plus Three-Axis Translational Motions. IEEE Transactions on robotics and automation, 18 (367-373)
20. 20. Koditschek D. 1984 Natural Motion for Robot Arms, Proceedings of 23rd Conference on Decision and Control, 733 735
21. 21. Lebret G. Liu K. Lewis F. 1993 Dynamic Analysis and Control of a Stewart Platform Manipulator. Journal of Robotic Systems, 10 (629-655)
22. 22. Lee K. Chirikjian G. 2005 A New Perspective on O(n) Mass-Matrix Inversion for Serial Revolute Manipulators, Proceedings of the 2005 IEEE International Conference on Robotics and Automation, 4722 4726
23. 23. Li Y. Xu Q. 2005 Kinematics and inverse dynamics analysis for a general 3-PRS spatial parallel mechanism. Robotica, 23 (219-229)
24. 24. Lilly K. 1993 Efficient Dynamic Simulation of Robotic Mechanisms, Kluwer Academic Publishers, Dordrecht, Netherlands
25. 25. Liu K. Lewis F. Lebret G. Taylor D. 1993 The Singularities and Dynamics of a Stewart Platform Manipulator. Journal of Intelligent and Robotic Systems, 8 (287-308)
26. 26. Lopes A. Almeida F. 1996 Manipulability Optimization of a Parallel Structure Robotic Manipulator, Proc. of the 2nd Portuguese Conference on Automatic Control, 243 248
27. 27. Mata V. Provenzano S. Valero F. Cuadrado J. 2002 Serial-robot dynamics algorithms for moderately large numbers of joints. Mechanism and Machine Theory, 37 (739-755)
28. 28. Merlet J. Gosselin C. 1991 Nouvelle Architecture pour un Manipulateur Parallèle à Six Degrés de Liberté. Mechanism and Machine Theory, 26 (77-90)
29. 29. Merlet J. 2006 Parallel robots, Springer, Dordrecht
30. 30. Mouly N. 1993 Développement d’une Famille de Robots Parallèles à Motorisation Électrique. Thèse de Doctorat, École des Mines de Paris
31. 31. Naudet J. Lefeber D. Daerden F. Terze Z. 2003 Forward Dynamics of Open-Loop Multibody Mechanisms Using an Efficient Recursive Algorithm Based on Canonical Momenta. Multibody System Dynamics, 10 (45-59)
32. 32. Nguyen C. Pooran F. 1989 Dynamic Analysis of a 6 DOF CKCM Robot End-Effector for Dual-Arm Telerobot Systems. Robotics and Autonomous Systems, 5 (377-394)
33. 33. Pernette E. Henein S. Magnani I. Clavel R. 2000 Design of parallel robots in microrobotics. Robotica, 15 (417-420)
34. 34. Reboulet C. Berthomieu T. 1991 Dynamic Models of a Six Degree of Freedom Parallel Manipulators, Proceedings of the IEEE International Conference on Robotics and Automation, 1153 1157
35. 35. Riebe S. Ulbrich H. 2003 Modelling and online computation of the dynamics of a parallel kinematic with six degrees-of-freedom. Archive of Applied Mechanics, 72 (817-829)
36. 36. Sciavicco L. Siciliano B. 1996 Modeling and Control of Robot Manipulators, McGraw-Hill International Editions, New York
37. 37. Staicu S. Liu X. Wang J. 2007 Inverse dynamics of the HALF parallel manipulator with revolute actuators. Nonlinear Dynamics, 50 (1-12)
38. 38. Torby B. 1984 Advanced Dynamics for Engineers, CBS College Publishing, New York
39. 39. Tsai L. 2000 Solving the Inverse Dynamics of a Stewart-Gough Manipulator by the Principle of Virtual Work. Journal of Mechanical Design, 122 (3-9)
40. 40. Vischer P. Clavel R. 2000 Argos: A Novel 3-DoF Parallel Wrist Mechanism. The International Journal of Robotics Research, 19 (5-11)
41. 41. Vukobratovic M. Kircanski M. 1986 Kinematics and Trajectory Synthesis of Manipulation Robots, Springer-Verlag, Berlin
42. 42. Wang J. Gosselin C. 1998 A New Approach for the Dynamic Analysis of Parallel Manipulators. Multibody System Dynamics, 2 (317-334)
43. 43. Zhang D. Gosselin C. 2002 Kinetostatic Analysis and Design Optimization of the Tricept Machine Tool Family. Journal of Manufacturing Science and Engineering, 124 (725-733)

Written By

Antonio M. Lopes and Fernando Almeida

Published: 01 April 2008