## 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

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).

The mechanical structure of the RCID comprises a fixed (base) platform and a moving (payload) platform, linked together by six independent, identical, open kinematic chains (Figure 2). Each chain comprises two links: the first link (linear actuator) is always normal to the base and has a variable length, *l*
_{i}, with one of its ends fixed to the base and the other one attached, by a universal joint, to the second link; the second link (fixed-length link) has a fixed length, *L*, and is attached to the payload platform by a spherical joint. Points *B*
_{i} and *P*
_{i} are the connecting points to the base and payload platforms. They are located at the vertices of two semi-regular hexagons, inscribed in circumferences of radius *r*
_{B} and *r*
_{P}, that are coplanar with the base and payload platforms (Figure 3).

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 x_{B} is normal to the line connecting points *B*
_{1} and *B*
_{6} and axis z_{B} 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 2_{B} (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 x_{P} is normal to the line connecting points P_{1} and P_{6} and axis z_{P} is normal to the payload platform, pointing in a direction opposite to the base. The angles between points P_{1} and P3 and points P_{3} and P_{5} are set to 120º. The separation angles between points P_{1} and P_{2}, P_{3} and P_{4}, and P_{5} and P_{6} are denoted by 2_{P} (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 z_{B}) and rotate 15º around any axis containing the payload platform centre. This requires the actuators displacement of l_{i} = 70 mm approximately. The main kinematic parameters values are shown in Table 1.

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:

where
_{P} about z_{P}; _{P} about the rotated axis y_{P’}; and _{P} about the rotated axis x_{P’’}. This is equivalent to a rotation of _{P} about x_{B}, followed by a rotation of _{P} about y_{B}, and a rotation of _{P} about z_{B}. The rotation matrix is given by:

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, J_{E}, or the kinematics jacobian, J_{C}. These jacobians relate the velocities of the active joints, the actuators, with the generalized velocity of the mobile platform:

and (Vukobratovic & Kircanski, 1986)

Vectors

## 3. Dynamic modelling using the generalized momentum approach

The generalized momentum of a rigid body, q_{c}, may be obtained from the following general expression:

Vector u_{c} represents the generalized velocity (linear and angular) of the body and I_{c} is its inertia matrix. Vectors q_{c} and u_{c} and inertia matrix I_{c} must be expressed in the same frame of reference.

Equation (10) may also be written as:

where Q_{c} is the linear momentum vector due to rigid body translation and H_{c} is the angular momentum vector due to body rotation. I_{c(tra)} is the translational inertia matrix and I_{c(rot)} the rotational inertia matrix. v_{c} 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):

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},

I_{P(tra)} is the translational inertia matrix of the mobile platform,

m_{P} being its mass.

The angular momentum,

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:

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

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

where

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

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

Accordingly, equation (18) may be rewritten as:

T being a matrix transformation defined by:

The time derivative of equation (22) results into:

_{P(ine)}, may be computed from the following relation:

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 T^{T} :

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

This implies that:

Vector

On the other hand, it can be said that

where

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:

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:

### 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 z_{B},

where m_{A} is the mass and

Simultaneously considering the six actuators results into:

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

The inertial component of the actuating forces,

Multiplying equation (37) by

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

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

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.

### 3.3. Fixed-length links modeling

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

Equation (42) may be successively rewritten as:

The linear velocity of the fixed-length link centre of mass,

Equation (45) can be rewritten as:

where the jacobian

being J_{Cij} the elements of line i column j of matrix J_{C}.

The linear momentum of each fixed-length link,

where m_{L} is fixed-length link mass.

Introducing jacobian

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):

When equation (50) is multiplied by

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 T^{T}:

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:

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:

It is convenient to express the inertia matrix of the rotating fixed-length link in a frame fixed to the fixed-length link itself, {L_{i}}{

where
_{i}}, relative to the base frame, {B}.

Fixed-length links frames were chosen in the following way: axis
_{i}; axis
_{B} is always positive. With this choice matrix

where

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

where

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:

As the fixed-length link cannot rotate along its own axis the angular velocity along
_{i} and

where jacobian

Introducing jacobian

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):

When equation (68) is pre-multiplied by

The inertial component of the generalized force applied to {P} due to each fixed-length link rotation,
^{T}:

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:

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

where m_{c} is the body mass, g is the modulus of the gravitational acceleration and z_{c} 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:

Vectors

## 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.

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.