Inverse and direct dynamic models of hybrid robots

Inverse and direct dynamic models of hybrid robots

Mechanism and Machine Theory 45 (2010) 627–640 Contents lists available at ScienceDirect Mechanism and Machine Theory journal homepage: www.elsevier...

393KB Sizes 0 Downloads 22 Views

Mechanism and Machine Theory 45 (2010) 627–640

Contents lists available at ScienceDirect

Mechanism and Machine Theory journal homepage: www.elsevier.com/locate/mechmt

Inverse and direct dynamic models of hybrid robots Ouarda Ibrahim, Wisama Khalil * IRCCyN, CNRS, UMR 6597, Ecole Centrale de Nantes, 1 Rue de la Noë, BP 92101, 44321 Nantes Cedex 03, France

a r t i c l e

i n f o

Article history: Received 27 September 2007 Received in revised form 19 November 2009 Accepted 24 November 2009 Available online 8 January 2010 Keywords: Hybrid robots Redundant robots Complex structures Parallel robots Dynamic modeling

a b s t r a c t This paper presents recursive solutions for obtaining the inverse and direct dynamic models of hybrid robots that are constructed by serially connected non-redundant parallel modules. The proposed methods generalize the recursive Newton–Euler algorithms developed for serial robots, and use the compact form of the inverse dynamic model of parallel robots that was developed recently by the authors. The algorithms can be programmed easily whatever the number of parallel modules. Ó 2009 Elsevier Ltd. All rights reserved.

1. Introduction Parallel manipulators have limited workspace with respect to their serial counterparts. However, they have inherent advantages in terms of rigidity, high payload capacity, high velocity and high precision. Considering their dynamic performances and the new opportunities introduced by that kind of manipulators in industrial applications, several methods were proposed for their dynamic modeling [1–14]. Recently we proposed a new method to develop the explicit solution of the dynamic models of parallel robots [15]. To obtain the inverse and direct dynamic models of these robots we make use of the Newton–Euler equation of the platform, the dynamic models of the legs and some Jacobian matrices. In this paper we propose the exploitation of this method for the dynamic modeling of hybrid structures. The hybrid robots treated in this paper are composed of serially connected non-redundant parallel modules like the Logabex LX4 robot (Fig. 1) [16] and biomimetic robots snakes robots [17,18]. The serial form of these hybrid manipulators overcomes the limited workspace of parallel manipulators and improves overall stiffness and response characteristics. The proposed methodology can be easily applied to hybrid robots that are constructed of different parallel modules (Fig. 2) [19], or by combination of serial and parallel modules (Figs. 3 and 4) [20]. Among the very few work approached the dynamic modeling of hybrid robots, we can find Freeman and Tesar [21], Sklar and Tesar [22] who used the principle of D’Alembert with the equivalent tree structure of the closed structure, and Chung et al. [23] who calculate at first the local dynamics of each module with respect to the independent joint coordinates and then the dynamics of the hybrid robot is calculated by using the concept of the virtual joints that are attached to the base of each module. These methods are difficult to apply for robots having a big number of modules. The methods proposed in this paper for the calculation of the inverse and direct dynamic models use recursive Newton– Euler formalism. This technique has been seen as efficient for serial rigid manipulators [24–26] and for flexible manipulators [27,28].

* Corresponding author. E-mail address: [email protected] (W. Khalil). 0094-114X/$ - see front matter Ó 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.mechmachtheory.2009.11.007

628

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

Fig. 1. Logabex LX4 robot.

Fig. 2. A 6 d.o.f hybrid robot composed of two different parallel modules.

This paper is organized as follows. Section 2 describes the dynamic modeling of one module of the system. Section 3 describes the dynamic Modeling of the hybrid structure. Finally, Section 4 presents the conclusions.

2. Dynamic modeling of a non-redundant parallel module 2.1. Description of one module The hybrid structure is made up of n parallel modules, which are serially connected to a fixed base. To facilitate the presentation of this paper we suppose that the modules are similar. The structure of a module k is described in Fig. 5, the number of degrees of freedom of the platform with respect to its base is denoted by N k , and the number of branches is denoted mk . We define a frame Rk attached to the platform of each module k, and frame Rbk fixed to its base. Since the base of module k is fixed to the platform of module k-1, thus the transformation matrix between Rk1 and Rbk is constant. Finally frame R0 is fixed to the base of module 1. The following kinematic models for module k will be used in the dynamic models: 

The kinematic model, which gives the velocity of the platform of module k as a function of the motorized joint velocities, this model is given by the relation [29]:

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

Fig. 3. A hybrid robot composed of a platform of Gough–Stewart and a serial robot.

Fig. 4. The SCARA/DELTA hybrid robot.

Platform k

Σk P

Pi Lk

Base Platform k-1

Σbk

Fig. 5. Description of one parallel module of the hybrid structure.

629

630

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

vk ¼ Jk q_ ak

ð1Þ

where ð6  N k Þ kinematic Jacobian matrix of module k. ð6  1Þ kinematic screw vector of the mobile platform k. It is composed of the linear velocity components of the origin of frame Rk p_ k and the angular velocity xk with respect to its base:

Jk

vk

vk ¼ q_ ak



p_ Tk

xTk

T

ðN k  1Þ vector of motorized joint velocities of module k.

For N k < 6; v k can be obtained in terms of a vector of N k independent components denoted,

vk ¼ ak vrk

v rk , such that: ð2Þ

where ak

vrk vrk

ð6  N k Þ matrix giving v k in terms of the reduced velocity vector v rk . In the common case where the components of are a subset of those of v k , the elements of the matrix ak are constant and composed of ‘‘1” and ‘‘0”. ðN k  1Þ independent Cartesian velocity vector of the platform k.

The kinematic model of the module k can be also written in the following reduced form:

vrk ¼ Jrk q_ ak

ð3Þ

where Jrk is the ðN k  N k Þ reduced Jacobian matrix of module k. From (1)–(3) we can deduce that:

Jk ¼ ak Jrk

ð4Þ

We note that the matrix ak permits to handle parallel modules whose platform have reduced number of freedom, N k < 6. For a robot with 6 d.o.f where v rk ¼ v k we have ak ¼ Id6 , with Id6 the identity matrix of dimension ð6  6Þ. The second order kinematic model, which gives the acceleration of the platform, it is obtained by differentiating (1):

v_ k ¼ Jk q€ ak þ J_k q_ ak

ð5Þ

Using (2), v_ k can be obtained as:

v_ k ¼ ak v_ rk þ a_ k v rk

ð6Þ

The reduced second order direct kinematic model is obtained by differentiating (3) as:

v_ rk ¼ Jrk q€ ak þ J_rk q_ ak 

ð7Þ

The kinematic model of a leg i of module k that gives the terminal velocity of leg i as a function of the joint velocities of leg i, this model is given by the relation:

vi;k ¼ Ji;k q_ i;k

ð8Þ

with kinematic Jacobian matrix of leg i, joint velocities of leg i, (without considering the passive joints between the platform and the leg), vi;k the velocity components transmitted from the leg i to the platform k, it can be calculated in terms of the platform velocity v k by the relation: Ji;k q_ i;k

vi;k ¼ Jv i;k v k 

The second order kinematic model of leg i is obtained by differentiating (8) as:

v_ i;k ¼ Ji;k q€ i;k þ J_i;k q_ i;k v_ i;k

ð9Þ

ð10Þ

can be obtained in terms of the Cartesian variables of the platform using (6) and (9) as:

v_ i;k ¼ Jv i;k ak v_ rk þ ðJv i;k a_ k þ J_v i;k ak Þvrk

ð11Þ

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

631

2.2. Inverse dynamic model of one module The inverse dynamic model of a parallel module gives the motorized torques/forces as a function of the desired trajectory of the mobile platform with respect to the base, which is supposed fixed in this case. This model is calculated for module k as [15]:

Ck ¼ JTk ðFpk þ F ek Þ þ

T mk  X @ q_ i;k i¼1

@ q_ ak

Hi;k

ð12Þ

with Ck vector of the actuator torques/forces of module k, Fek external wrench (forces and moments) exerted by the platform of module k on the environment, Hi;k the inverse dynamic model of leg i of module k, mk the number of legs of module k, Fpk the total forces, f pk , and moments, mpk , on the platform of module k, given by:

h Fpk ¼ f Tpk

Fpk

mTpk

iT

is calculated by the following Newton–Euler equation:

Fpk ¼ Ik



   €k  g ^ k MSk Þ ^ k ðx x p þ ^ k ðUk xk Þ x x_ k

ð13Þ

with Ik

the ð6  6Þ spatial inertia matrix of the platform of module k, given by:

2 Ik ¼

4 M k Id3 ^

MSk

3 ^ MSk 5 Uk

MSk vector of first moments of the platform of module k around the origin of its frame Rk , the upper ‘‘ˆ” means the associated ð3  3Þ skew matrix of the vector product, Uk ð3  3Þ inertia matrix of the platform around the origin of the platform frame Rk , M k mass of the platform, v_ k ð6  1Þ acceleration vector of frame Rk with respect to Rk1 . It is composed of linear and angular accelerations:

v_ k ¼ g



€ Tk p

x_ Tk

T

acceleration of gravity,

The calculation of

@ q_ i;k @ q_ ak

, used in (12), can be obtained by the following relation [15]:

@ q_ i;k @ q_ i;k @ v i;k @ v k @ v rk ¼ @ q_ ak @ v i;k @ v k @ v rk @ q_ ak

ð14Þ

Eq. (14) can be rewritten as:

@ q_ i;k ¼ J1 i;k Jv i;k ak Jrk @ q_ ak

ð15Þ

where Ji;k ; Jv i;k ; ak and Jrk are defined in (8), (9), (2) and (3) respectively. The inverse dynamic model (12) can be rewritten by the following compact form:

Ck ¼ JTk ðFpk þ Fek þ Hbk Þ

ð16Þ

632

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

Hbk denotes the resultant of the wrenches applied by the legs of module k on its platform:

Hbk ¼

m X

JTv i;k JT i;k Hi;k

ð17Þ

i¼1

with 1 T JT i;k ¼ ðJi;k Þ

ð18Þ

3. Dynamic modeling of the hybrid structure Before developing the dynamic models of the hybrid structure we present the recursive calculation of the velocity and acceleration of the platforms with respect to the fixed base of the structure. 3.1. Calculation of the velocities and accelerations of the platforms Velocities of the platforms of the modules can be obtained in terms of the relative velocities of the platforms with respect to their bases p_ k and xk by using the following recursive intrinsic equations for k = 1,. . .,n:

Xk ¼ Xk1 þ xk P_ k ¼ P_ k1 þ Xk1  Lk þ p_ k

ð19Þ ð20Þ

with P_ k Xk Lk

linear velocity of the origin of the platform k, angular velocity of the platform k, position vector between the origins of frame Rk1 and frame Rk , respectively.

Differentiating (19) and (20) with respect to time, we obtain the accelerations of the platform as:

_k¼X _ k1 þ x_ k þ Xk1  xk X €k ¼ P € k1 þ X _ k1  Lk þ Xk1  ðXk1  Lk þ p_ k Þ þ p € k þ Xk1  p_ k P

ð21Þ

€ k1 þ X _ k1  Lk þ p € k þ Xk1  Xk1  Lk þ 2Xk1  p_ k ¼P

ð22Þ

Eqs. (19) and (20) can be grouped as follows:

"

#

P_ k

" ¼

Xk

Id3

b Lk

03

Id3

#"

P_ k1

#

 þ

Xk1

p_ k xk

 ð23Þ

These equations are expressed in the frame Rk as follows:

"

k

P_ k

k

Xk

#

" ¼

k

Rk1

03 k

03

Rk1

#"

Id3

Lk k1 b

03

Id3

#"

k1

P_ k1

k1

Xk1

#

" þ

k

p_ k

k

xk

# ð24Þ

we can rewrite (24) as: k

Vk ¼ k Tk1 k1 Vk1 þ k v k

ð25Þ

where k Tk1 is the ð6  6Þ screw transformation matrix:

" k

k

Tk1 ¼

Rk1 k1 b Lk k

k

Rk1

033

Lk k Rk1 k1 b k

#

Rk1

ð26Þ

the ð3  3Þ rotation matrix, which defines the orientation of frame Rk1 with respect to frame Rk , the ð3  3Þ vector product skew matrix associated with k1 Lk .

Tk1 is calculated as: k

Tk1 ¼ k Tbk bk Tk1

ð27Þ

633

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

where bk Tk1 is the constant ð6  6Þ screw transformation matrix between the base frame of module k and the platform frame of module k  1. Similarly, the recursive acceleration relations can be obtained using (21) and (22) as: k

V_ k ¼ k Tk1 k1 V_ k1 þ k v_ k þ k nk

ð28Þ

where

" k

nk ¼

b k1 ðk1 X b k1 k1 Lk ÞÞ þ 2k Xk1  k p_ k Rk1 ðk1 X Xk1  xk k

# ð29Þ

_ 0 ¼ 0; P_ 0 ¼ 0, we can consider the gravity forces automatically in For a fixed base, we initialize the calculation by X0 ¼ 0; X € 0 ¼ g. the dynamic equilibrium equations by taking P 3.2. Inverse dynamic model of the hybrid robot The inverse dynamic model of the hybrid robot gives the motorized torques/forces as a function of the desired trajectory of the mobile platforms (location bk Tk , velocity v k , and acceleration v_ k of the modules). The algorithm of the inverse dynamic model consists of two-recursive equations: (i) Forward recursive equations for k = 1, . . . , n, we calculate: – the matrix ak defined in (2), – the Jacobian matrices Jrk ; Ji;k and Jv i;k defined in (3), (8) and (9) respectively, – the screw transformation matrix k Tk1 using (26), € i;k by using the kinematic models of the legs – the joint positions, velocities and accelerations of the legs qi;k ; q_ i;k ; q described in Section 2, – the velocity and acceleration vectors k Vk ; k V_ k using (25) and (28), – the total external wrench on the platform of module k, denoted Fpk , using the Newton–Euler Eq. (13) after replacing xk by Xk and v_ k by V_ k :

" k

Fpk

¼ Ik V_ k þ k

k

b k ðk X b k k MSk Þ X kb k X k ð Uk k Xk Þ k

# ð30Þ

We calculate also the resultant of the wrenches applied by the legs of module k on its platform, given by (17). In this case Hi;k , representing the inverse dynamic model of leg i, is calculated using Newton–Euler algorithm of serial robots [24,30] taking into account that the initial conditions of velocities and accelerations of the base are those of the platform of module k  1, which are different than zero for k > 1. (ii) Backward recursive equations for k = n, . . . , 1. We calculate Fk representing the wrench exerted on the module k by module k  1 and then the motor torques of module k. This step is based on the following equilibrium equation of the module k (Fig. 6):

Fpk þ Fbk ¼ Fk  Fkþ1  Fek k1

where Fbk represents the resultant of the total forces and moments of all the branches of module k, where Fk ¼ We note that k1 Fbk will be calculated by the Newton–Euler algorithm giving Hi;k (see Appendix A). Consequently, the wrench exerted by module k  1 on module k is given as: k

h

Fk ¼ k Fpk þ kþ1 TTk kþ1 Fkþ1 þ k Fek þ k1 TTk k1 Fbk

ð31Þ T fk

mTk

iT

ð32Þ

k

Using (16), and taking into account Fkþ1 as an external force, the motor torques of module k are obtained as:

Ck ¼ JTk ðk Fpk þ k Fkþ1 þ k Fek þ Hbk Þ

ð33Þ

These equations will be initialized by the terminal wrench Fnþ1 ¼ 0. 3.3. Direct dynamic model of the hybrid robot The direct dynamic model of the robot gives the platform acceleration of each module as a function of the state variables of the robot (platform positions and velocities) and the input torques/forces of the motorized joints. To develop this model we need to express Hi;k and Fbk , representing the dynamic models of the legs of module k and the resultant of the total forces and moments of all the branches of module k respectively in terms of the accelerations V_ k1 and

634

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

Module k+1

Lk+1

Σbk+1 Σk

-mk+1-mek

-fk+1-fek Module k Lk Σbk Σk-1 fk

mk

Base of module k + Platform of module k-1

Module k-1 Σbk-1

Fig. 6. Forces and moments on module k.

v_ rk . In fact, since the base of module k is not fixed (except for module 1), the dynamic model of a leg i is a function also of the acceleration and velocity of module k  1, thus it can be decomposed as follows [30]:

€ i;k þ hi;k ðXk1 ; qi;k ; q_ i;k Þ Hi;k ¼ Di;k k1 V_ k1 þ Ai;k q

ð34Þ

where – Ai;k is the inertia matrix of leg i, it can be computed by the Newton–Euler [30–32] or by the Lagrange method [30,33]. – hi;k is the matrix of Coriolis, centrifugal and gravity forces and moments of leg i, it can be computed using the Newton– € i;k and V_ k1 equal to zero. Euler inverse dynamic model of leg i by setting q To calculate Di;k we use the Newton–Euler equations for the legs (see Appendix B when assuming that the legs are of serial structure). By substituting (10) and (11) in (34), we obtain: k k_ _ Hi;k ¼ Di;k k1 V_ k1 þ Ai;k J1 i;k ðJv i;k ak v rk þ ci;k Þ þ hi;k ðqi;k ; qi;k ; Xk1 Þ

ð35Þ

ci;k ¼ ðJv i;k a_ k þ J_ v i;k ak Þv rk  J_i;k q_ i;k

ð36Þ

where

Similarly F bk can be expressed in terms of the accelerations V_ k1 and v_ rk as follows (see details in Appendix C): k1

Fbk ¼ S1;k k1 V_ k1 þ S2;k k ak k v_ rk þ S3;k

The direct dynamic model computation of the hybrid robot consists of three recursive calculations: (i) Forward recursive equations for k = 1, . . . , n, where we calculate: – the matrix ak defined in (2), – the Jacobian matrices Jrk ; Ji;k and Jv i;k defined in (3), (8) and (9) respectively, – the screw transformation matrix between modules k Tk1 using (26), – the joint positions, and velocities by using the kinematic models of the modules as described in Section 2. – the velocity vector k Vk using (25), – the matrix Di;k defined in (34),

ð37Þ

635

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

– the term ci;k using (36), – the matrices S1;k ; S2;k and S3;k defined in (37), as given in Appendix C, – k nk and using (29) – k bk ; representing the elements of the wrench on module k which do not depend on the acceleration of the module k. Using (30) and (32) we obtain:

"

k

b k ðk X b k k MSk Þ X bk ¼ Fek þ kb k X k ð Uk k Xk Þ k

k

# ð38Þ

The equilibrium Eq. (32) is rewritten in terms of k bk as: k

Fk ¼ k Ik k V_ k þ k Fkþ1 þ k bk þ k1 TTk k1 Fbk

ð39Þ

(ii) Backward recursive equations for k = n, . . . , 1: in this step we calculate the elements needed to obtain the accelerations k_ v rk and the wrench k Fk in terms of k1 V_ k1 . Since 0 V_ 0 is known, we can use these relations to obtain 1 v_ r1 and 1 F1 . Thus, during the third forward recursive calculation, we obtain the accelerations of the other modules. In fact we can write (see Appendix D): k

k T k k1 _ Vk1  Htk Þ v_ rk ¼ A1 tk ð Jrk Ck  Ek Tk1

k

Fk ¼ k Kk k Tk1 k1 V_ k1 þ k ak

ð40Þ

and:

ð41Þ

The recursive equations of this step are initialized by

Ek ¼ k aTk

k  Ik

þ

m X

!

k  Ik

þ

m X

k k Ik nk

In ; n bn

n

¼ bn and consist of calculating for k = n, . . . , 1:

ð42Þ

! JTv i;k AXi;k Jv i;k

k

ak

ð43Þ

i¼1

Htk ¼ k aTk

¼

n

k1 JTv i;k JT Tk i;k Di;k

i¼1

Atk ¼ k aTk

n ast In

þ k bk þ

m X i¼1

 JTv i;k AXi;k ci;k þ hXi;k





!

Kk ¼ k Ik þ k1 TTk S1;k k1 Tk  k Ik þ k1 TTk S2;k k ak A1 tk Ek



1 k T k k  k1 T k k k ak ¼ Ik þ Tk S2;k ak Atk Jrk Ck  Htk þ Ik nk þ k bk þ k1 TTk S3;k k

ð44Þ ð45Þ ð46Þ

If k–1, we calculate also: k1  Ik1 k1  bk1

¼ k1 Ik1 þ k TTk1 k Kk k Tk1 ¼

k1

bk1 þ

ð47Þ

k T k Tk1 ak

ð48Þ

where AXi;k is the Cartesian inertia matrix of leg i with respect to the terminal frame of leg i, and hXi;k is the Cartesian vector of Coriolis, centrifuge and gravity forces of leg i. They are calculated respectively by: 1 AXi;k ¼ JT i;k Ai;k Ji;k

hXi;k ¼

ð49Þ

JT i;k hi;k

ð50Þ

(iii) Forward recursive equations for k = 1, . . . , n: € 0 ¼ g; X _ 0 ¼ 0: We calculate the accelerations k v_ rk and k V_ k using the following equations, which are initialized by P



 Ek k Tk1 k1 V_ k1  Htk

k

v_ rk ¼ A1 tk

k

Fk ¼ k Kk k Tk1 k1 V_ k1 þ k ak V_ k ¼ k Tk1 k1 V_ k1 þ k ak k v_ rk þ k n

k

k T Jrk Ck

k



ð51Þ ð52Þ ð53Þ

4. Conclusion In this paper we presented a novel methodology for the dynamic modeling of hybrid robots. The proposed methods give the inverse and dynamic models using recursive Newton–Euler algorithms. The inverse dynamic model generalizes, for the

636

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

hybrid robots, the recursive Newton–Euler formulation of serial robots of Luh, Walker and Paul, whereas the direct dynamic model generalizes the serial robot algorithm of Featherstone. To reduce the number of operations of the obtained models the proposed algorithms can be programmed using costumized symbolic calculation and using the base inertial parameters [25,34]. To facilitate the presentation we supposed hybrid robots with similar parallel modules, however the method is easily applicable to hybrid robots that are composed of different structures of parallel modules or even by a combination of serial and parallel modules. Acknowledgment This work has been carried out through the European IPProject No. 011815(NEXT – next generation production systems). Appendix A. Calculation of Fbk and Hik for the inverse dynamic model The vector Fbk is deduced from the Newton–Euler algorithm of serial robots [30] as given in the following. To facilitate the writing the index jik indicating the joint j of leg i of module k will be denoted by j, By supposing that each leg is a serial structure with ni joints, the calculation is done in two-recursive equations: (i) Forward recursive calculation for j ¼ 1; . . . ; ni : in this step we calculate Fj , vector of the total forces and moments on each link, using the following equations:

" j

Tj1 ¼

j

Rj1

03x3

b j Rj1 j1 L j

#

j

Rj1 j j j1 Vj ¼ Tj1 Vj1 þ q_ j j bj j _ €j j bj þ j cj Vj ¼ j Tj1 j1 V_ j1 þ q " # j j1 Rj1 ð xj1  ðj1 xj1  j1 Lj ÞÞ þ 2rj ðj xj1  q_ j j zj Þ j cj ¼ r j j xj1  q_ j j zj " # j xj  ðj xj  j MSj Þ j j _ Fj ¼ Ij Vj þ j x j  ð j Uj j x j Þ

ð54Þ ð55Þ ð56Þ ð57Þ ð58Þ

with j

bj

(6  1) joint axis vector defined as:

"

j

rj j zj bj ¼ r j j zj

#

with: rj ¼ 1 if joint j is prismatic, and rj ¼ 0 if joint j is revolute, j zj unit vector along the zj axis, j zj ¼ ½0 0 1T These equations are initialized by the velocity, and accelerations of the platform of module k  1. ii) Backward recursive calculation for j ¼ ni ; . . . ; 1: this step is based on the following equilibrium equations of links: j

f j ¼ j Fj þ jþ1 TTj jþ1 f jþ1

ð59Þ

withj f j wrench exerted on link j by link j  1. This equation is initialized by ni þ1 f ni þ1 ¼ 0 At the last iteration we obtain 1 f 1 . Thus for the m branches of module k, we obtain: k1

Fbk ¼

m X

1;ik T 1;ik Tk1 f 1;ik

ð60Þ

i¼1

where f 1;ik represents the wrench exerted by the base of the module k on link 1 of leg i. We note that the calculation of Hi;k , representing the inverse dynamic model of leg i, is obtained using (54)–(59), where th the j component Hjik of Hi;k is obtained by: T

Hj ¼ j bj j f j

ð61Þ

637

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

Finally, we obtain:

Hi;k ¼ ½H1ik H2ik    Hnik T

ð62Þ

Appendix B. Calculation of Dik The matrix Dik used in (34) is a ðni  6Þ matrix which represents the coefficient of the acceleration of the platform of module k  1 in the expression of Hi;k (inverse dynamic model of leg i of module k), such that:

€ i;k þ hi;k ðqi;k ; q_ i;k ; Xk1 Þ Hi;k ¼ Di;k k1 V_ k1 þ Ai;k q

ð63Þ

Dik , can be deduced from the Newton–Euler algorithm of serial structures, presented in Appendix A, after setting € i;k ; Xk1 equal to 0, (to simplify the writing the index jik indicating the joint j of leg i of module k will be denoted q_ i;k ; q by j). Under these conditions Hj is given by: T

Hj ¼ j bj j Fcj j c Fj

ð64Þ

total external wrench on the composite link j, which consists of the links j, j + 1, . . . , ni , given by: j c Fj

¼ j Icj j Tk1 k1 V_ k1

ð65Þ

with j c Ij

ð6  6Þ inertia matrix of the composite link j.

Thus the joint torque j is given as: T

Hj ¼ j bj j Icj j Tk1 k1 V_ k1

ð66Þ th

Using (63), we deduce that the j element of Hi;k is given as:

row of Dik , denoted as Dik ðj; :Þ, is composed of the coefficient of

T

Dik ðj; :Þ ¼ j bj j Icj j Tk1

k1

th V_ k1 giving the j

ð67Þ

The inertia matrices of the composite links j for j = ni , . . . , 1, are calculated by: j c Ij

¼ j Ij þ jþ1 TTj jþ1 Icjþ1 jþ1 Tj

ð68Þ

with Ini þ1 ¼ 0 Appendix C. Calculation of Fbk in terms of

k1

_ k1 and k_rk for the direct dynamic model V

The vector Fbk , used in (60), is calculated in terms of the accelerations k1 V_ k1 and k v_ rk using the two-recursive Newton– Euler calculations of Appendix 1 as follows: – we express f 1;ik (60) in terms of the joint accelerations by substituting (56)–(58) into (59) for j ¼ ni , . . . , 1, thus for j = 1 we obtain: 1;ik

€ ik þ 1;ik bc1;ik f 1;ik ¼ 1;ik Ic1;ik 1;ik Tk1 k1 V_ k1 þ G1;ik q

ð69Þ

th

with the j column of the matrix G1;ik is obtained as:

Gj ð:; jÞ ¼ j TT1 j Icj j bj

ð70Þ

and: j c bj

¼ j bj þ jþ1 TTj jþ1 bcjþ1 þ j Jcj j cj þ jþ1 TTj jþ1 Icjþ1 jþ1 cjþ1

ð71Þ

with

" j

bj ¼

j

xj  ðj xj  j MSj Þ j

x j  ð j Uj j x j Þ

# ð72Þ

638

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

where the backward recursive calculation is initialized by ni Icni ¼ ni Ini and ni bcni ¼ ni bni . Thus by substituting (69) into (60), we obtain: k1

Fbk ¼

m X

1;ik T Tk1 ð1;ik Ic1;ik 1;ik Tk1 k1 V_ k1

€ ik þ 1;ik bc1;ik Þ þ G1;ik q

ð73Þ

i¼1

Finally, we rewrite (73) in terms of k1

k1

V_ k1 and k v_ rk using (10), (11) and (36) as:

Fbk ¼ S1;k k1 V_ k1 þ S2;k k ak k v_ rk þ S3;k

ð74Þ

with

S1;k ¼ S2;k ¼ S3;k ¼

m X i¼1 m X i¼1 m X

1;ik T 1;ik c 1;ik Tk1 I1;ik Tk1

ð75Þ

1;ik T Tk1 G1;ik J1 ik Jv ik

ð76Þ

1;ik T Tk1 ðG1;ik J1 ik cik

þ 1;ik bc1;ik Þ

ð77Þ

i¼1

Appendix D. Calculation of the backward recursive equations for the direct dynamic model Since Fnþ1 ¼ 0, thus using (30), (28) and (38) in (33) for k = n, we obtain:

Cn ¼ n JTrn n aTn ðn In ðn Tn1 n1 V_ n1 þ n an n v_ rn þ n nn Þ þ n bn þ Hbn Þ

ð78Þ

By using (17), (35) and (78), we obtain the acceleration n v_ rn as: n

T n n1 _ Vn1  Htn Þ v_ rn ¼ A1 tn ðJrn Cn  En Tn1

ð79Þ

with

En ¼ n aTn



n

Atn ¼ n aTn

Xm

JT JT D n1 Tn i¼1 v i;n i;n i;n ! m X T n In þ Jv in Axin Jv in n an

In þ



ð80Þ ð81Þ

i¼1

Htn ¼ n aTn

n

In n nn þ n bn þ

m X

! JTv i;n ðAxi;n ci;n þ hxi;n Þ

ð82Þ

i¼1

Eq. (39) is written for k = n as: n

Fn ¼ n In n V_ n þ n bn þ n1 TTn n1 Fbn

ð83Þ

By substituting (28), (74) and (79) into (83) we obtain n Fn in terms of n

Fn ¼ n Kn n Tn1 n1 V_ n1 þ n an

n

Kn ¼ n In þ n1 TTn S1;n n1 Tn  ðn In þ n1 TTn S2;n Þn an A1 tn En

n1

V_ n1 as:

ð84Þ

with

n

n

an ¼ ð In þ

T n1 T Tn S2;n Þn an A1 tn ðJrn Cn

n

n

n

 Htn Þ þ In nn þ bn þ

ð85Þ n1 T Tn S3;n

ð86Þ

n

We continue the calculation by substituting Fn in (33) for k = n  1, and we obtain using (30), (28) and (38):

Cn1 ¼ n1 JTrn1 n1 aTn1 ðn1 In1 ðn1 Tn2 n2 V_ n2 þ n1 an1 n1 v_ rn1 þ n1 nn1 Þ þ n1 bn1 þ Hbn1 Þ

ð87Þ

with n1  In1 n1  bn1

¼ n1 In1 þ n TTn1 n Kn n Tn1 ¼

n1

bn1 þ

Using (17) and (35) for k = n1 in (87) we deduce the acceleration n1

with

v_ rn1 ¼

ð88Þ

n T n Tn1 an

T A1 tn1 ðJrn1 Cn1

 En1 n1 Tn2 n2 V_ n2  Htn1 Þ

ð89Þ n1

v_ rn1 : ð90Þ

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

En1 ¼ n1 aTn1

n1  In1

þ

m X

! n2 JTv i;n1 JT Tn1 i;n1 Di;n1

i¼1

Atn1 ¼

n1 T an1

n1  In1

þ

m X

ð91Þ

! T

Jv i;n1 Axi;n1 Jv i;n1

n1

an1

i¼1

Htn1 ¼ n1 aTn1

639

n1  In1 n1 nn1

þ n1 bn1 þ

m X

ð92Þ !

JTv in1 ðAxi;n1 ci;n1 þ hxi;n1 Þ

ð93Þ

i¼1

for k = n  1 and by using (84) we can rewrite Eq. (39) as: n1

Fn1 ¼ n1 In1 n1 V_ n1 þ n1 bn1 þ n2 TTn1 n2 Fbn1

ð94Þ

By using (28), (74), (90) and (94), we obtain: n1

Fn1 ¼ n1 Kn1 n1 Tn2 n2 V_ n2 þ n1 an1

ð95Þ

with

Kn1 ¼ n1 In1 þ n2 TTn1 S1;n1 n2 Tn1  n1 In1 þ n2 TTn1 S2;n1 n1 an1 A1 tn1 En1



1 T n1 n1  n2 T n1 n1  n1 an1 ¼ In1 þ Tn1 S2;n1 an1 Atn1 Jrn1 Cn1  Htn1 þ In1 nn1 n1

þ n1 bn1 þ n2 TTn1 S3;n1 of

ð96Þ

ð97Þ

Since In ¼ In , we deduce that (90) and (94) have the same form as (79) and (83). We can thus express k v_ rk and k Fk in terms V_ k1 as given in (51) and (52)

k1

References [1] K.M. Lee, D.K. Shah, Dynamic analysis of a three-degrees-of-freedom in-parallel actuated manipulator, IEEE Journal of Robotics and Automation 4 (1988) 361–368. [2] Z. Geng, S. Haynes, J.D. Lee, R.L. Carrol, On the dynamic model and kinematic analysis of a class of Stewart platforms, Robotics and Autonomous Systems 9 (1992) 237–254. [3] G. Lebret, G.K. Liu, F.L. Lewis, Dynamic analysis and control of a Stewart platform manipulator, Journal of Robotic Systems 10 (5) (1993) 629–655. [4] S. Bhattacharya, H. Hatwal, A. Ghosh, An on-line estimation scheme for generalized Stewart platform type parallel manipulators, Mechanism and Machine Theory 32 (1) (1997) 79–89. [5] S. Bhattacharya, D.N. Nenchev, M. Uchiyama, A recursive formula for the inverse of the inertia matrix of a parallel manipulator, Mechanism and Machine Theory 33 (7) (1998) 957–964. [6] M-J. Liu, C-X. Li, C-N. Li, Dynamics analysis of the Gough–Stewart platform manipulator, IEEE Transaction on Robotics and Automation 16 (1) (2000) 94–98. [7] L-W. Tsai, Solving the inverse dynamics of a Stewart–Gough manipulator by the principle of virtual work, Journal of Mechanical Design 122 (2000) 3–9. [8] A. Codourey, E. Burdet, A body oriented method for finding a linear form of the dynamic equations of fully parallel robot, in: IEEE International Conference on Robotics and Automation, Albuquerque, New Mexico, US, 21–28 April, 1997, pp. 1612–1618. [9] K. Sugimoto, Computational scheme for dynamic analysis of parallel manipulators, Journal of mechanisms, Transmissions and Automation in Design 111 (1989) 29–33. [10] Z. Ji, Study of the effect of leg inertia in Stewart platform, in: IEEE International Conference on Robotics and Automation, Atlanta, May 1993, pp. 121– 126. [11] C.M. Gosselin, Parallel computational algorithms for the kinematics and dynamics of parallel manipulators, in: IEEE International Conference on Robotics and Automation , vol. 1, New York 1993, pp. 883–889. [12] B. Dasgupta, T.S. Mruthyunjaya, A Newton–Euler formulation for the inverse dynamics of the Stewart platform manipulator, Mechanism and Machine Theory 33 (8) (1998) 1135–1152. [13] B. Dasgupta, P. Choudhury, A general strategy based on the Newton–Euler approach for the dynamic formulation of parallel manipulators, Mechanism and Machine Theory 34 (6) (1999) 801–824. [14] W. Khalil, S. Guegan, Inverse and direct dynamic modeling of Gough–Stewart robots, IEEE Transactions on Robotics and Automation 20 (4) (2004) 754– 762. August. [15] W. Khalil, O. Ibrahim, General solution for the dynamic modeling of parallel robots, Journal of Intelligent and Robotic Systems 49 (1) (2007) 19–37. May. [16] S. Charentus, M. Renaud, Modeling and control of a modular redundant robot manipulator, in: First International Symposium on Experimental Robotics, Monreal,Canada, June, 1989. [17] D. Mihalachi, F. Munerato, Snake-like mobile micro-robot based on a 3 DOF parallel mechanism, PKM’99 Milan, November 30, 1999, pp. 237–242. [18] G. Gallot, O. Ibrahim W. Khalil, Dynamic modeling and simulation of a 3D hybrid structure eel-like robot, in: IEEE International Conference on Robotics and Automation ICRA’07, Rome, April, 2007. [19] K. Tanio Tanev, Kinematics of a hybrid (parallel-serial) robot manipulator, Mechanism and Machine Theory 35 (2000) 1183–1196. [20] S.-t. Chen, Dynamic model of a hybrid robot manipulator based on Stewart platform, Robotics: Kinematics, Dynamics and Controls, ASME, DE-vol. 72, 1994, pp. 249–253. [21] R.A. Freeman, D. Tesar, Dynamic modeling of serial and parallel mechanisms/robotic systems, in: Proceedings of the ASME Bienniial Mechanism Conference, Kissimmee, FL, DE-vol. 15(2), 1988, pp. 7–21. [22] M. Sklar, D. Tesar, Dynamic analysis of hybrid serial manipulator systems containing parallel modules, ASME Journal of Mechanisms Transmissions and Automations 110 (2) (1988) 109–115. [23] G.B. Chung, B-J. Yi, D.J. Lim, W. Kim, An efficient dynamic modeling methodology for general type of hybrid robotic systems, in: IEEE International Conference on Robotics and Automation, vol. 2, New Orleons 2004, pp. 1795–1802. [24] J.Y.S. Luh, M.W. Walker, R.C.P. Paul, On-line computational scheme for mechanical manipulators, Transactions of ASME Journal of Dynamic Systems, Measurement, and Control 102 (2) (1980) 69–76.

640

O. Ibrahim, W. Khalil / Mechanism and Machine Theory 45 (2010) 627–640

[25] W. Khalil, J.-F. Kleinfinger, Minimum operations and minimum parameters of the dynamic model of tree structure robots, IEEE Journal of Robotics and Automation RA-3 (6) (1987) 517–526. December. [26] R. Featherstone, The calculation of robot dynamics using articulated-body inertias, The Internationl Journal of Robotics Research 2 (3) (1983) 87–101. [27] F. Boyer, W. Khalil, An efficient calculation of flexible manipulator inverse dynamics, International Journal of Robotics Research (17) (1998) 282–293. [28] F. Boyer, N. Glandais, W. Khalil, Flexible multibody dynamics based on non-linear Euler–Bernoulli kinematics, International Journal for Numerical Methods in Engineering 54 (2002) 27–59. [29] J.-P. Merlet, Parallel Robots, second ed., Verlag, 2005. [30] W. Khalil, E. Dombre, Modeling, Identification and Control of Robots, Hermès Penton, London, Paris, 2002. [31] M.W. Walker, DE. Orin, Efficient dynamic computer simulation of robotics mechanism, Transactions of ASME Journaol of Dynamic Systems, Measurement, and Control 104 (1982) 205–211. [32] W. Khalil, D. Creusot, SYMORO+: a system for the symbolic modeling of robots, Robotica 15 (1997) 153–161. [33] S. Megahed, M. Renaud, Minimization of the computation time necessary for the dynamic control, in: Proceedings of the 12th International Symposium on Industrial Robots, Paris, France, June 1982, pp. 469–478. [34] W. Khalil, F. Bennis, Symbolic calculation of the base inertial parameters of closed-loop robots, International Journal of Robotics Research (14) (1995) 112–128. April.