Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

An Inverse Dynamic Model of the Gough-Stewart Platform


GEORGES FRIED, KARIM DJOUANI, DIANE BOROJENI, SOHAIL IQBAL
University of PARIS XII
LISSI-SCTIC Laboratory
120-122 rue Paul Aramangot, 94400 Vitry sur Seine
FRANCE
fried@univ-paris12.fr, djouani@univ-paris12.fr

Abstract: In this paper a new formulation of the inverse dynamic model of the Gough-Stewart platform is proposed.
This approach is based on the methodology developped by Khalil. The platform is considered as a multi robot
system moving a common load. Using a global formalism, the Jacobian and inertia matrices of each segment
are computed in a factorized form. This paper provides a basis for parallel algorithm development for a dynamic
control under the real time consraint. The proposed sheme is validated by the simulation results.

Key–Words: Parallel Robot, Gough-Stewart Platform, Kinematic Model, Jacobian Matrix, Inverse Dynamic Model

1 Introduction has developped a recursive algorithm for the inverse


dynamics. This method is applied to a 3R planar par-
allel robot. Bi et al [17] use the Newton-Euler iterative
The parallel architecture manipulators [1], [2], [3],
scheme for the articular force computation of a tripod
[4], [5] have some significant advantages in compar-
system. Khalil et al [18] proposed a general method
ison with serial robots, in particular, a greater com-
for the inverse and direct dynamic model computation
pactness and accuracy in the end effector position-
of parallel robots, wich is applied to several parallel
ing. These parallel robots are primarly used in the
manipulators [19].
fields where the considered processes require a high
In the present paper, the inverse dynamic modeling of
degree of accuracy, high speeds or accelerations. Air-
the Gough-Stewart platform is presented. The paral-
craft simulator [1], teleoperation [6], machining tools
lel robot is considered as a multi robot system with
[7][8], and various other medical applications [9], [10]
k serial robots (the k parallel robot segments) mov-
constitute some of the many possible applications of
ing a common load (the mobile platform). The pro-
parallel robots.
posed approach use the methodology developped by
The inverse dynamic model is essential for an effec-
Khalil et al [18]. The purpose consists, using a global
tive robot control. In the field of parallel robots, many
formalism, in highlighting explicitly inertia matrices
approaches have been developped. The formalism of
expressed in articular and operational spaces. These
d’Alembert has been used to obtain an analytical ex-
matrices are obtained in factorized form, with the aim
pression of the dynamics model [11] [12]. The princi-
of parallel algorithm developement. The objective be-
ple of virtual works has been applied in [13] for solv-
ing the implementaton of a dynamic control under the
ing the inverse dynamics of the Gough-Stewart plat-
real time constraint.
form. Lagrangian formalism is applied in [10] for the
This paper is organized as follows. In the following
dynamics modeling of a parallel robot used like a hap-
section we describe the nomenclature and the used
tic interface for a surgical simulator. These various
notation. In section 3, the Gough-Stewart platform
approaches do not seem effective for a robot dynamic
architecure is described. Development of the inverse
control under the real time constraint. The computa-
kinematic model and the inverse Jacobian matrix are
tion time reduction can be acquired by the develop-
briefly described in sections 4 and 5. The kinematic
ment of approaches using recursive schemes, in par-
model of the segment is given in section 6. In section
ticular, based on the Newton-Euler formulation. Thus
7, the inverse dynamic model of the Gough-Stewart
Gosselin [14] proposed the inverse dynamic model
platform is developed. A simulation of this inverse
of planar and spatial parallel robot, in which all the
dynamic model is provided in section 8 validating the
masses and inertias are taken into account. This pro-
proposed approach.
posed method is difficult to generalize for all the par-
allel architectures. Dasgupda et al [15] applied this
method to several parallel manipulators. Khan [16]

ISSN: 1109-2777 88 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

2 Preliminaries (rotation about z-axis and translation about x-


axis), the matrix i Hj ∈ ℜ6×2 is given by:
In this section we define the required notation and pre-
liminaries are presented. The parallel robot is con-
sidered as a multi-robot system with k serial robots 1st 2nd −DOF
 
(segments) moving a common load (mobile platform). 0 0 x-axis rotation
Fig. 1 shows the links, the frames and position vectors  0 0  y-axis rotation
 
for the segment i (i = 1, . . . , k).  0 
iH =  1  z-axis rotation
j  
 0 1  x-axis translation
 
 0 0  y-axis translation
0 0 z-axis translation
" #

j
• i Vj = iv ∈ ℜ6 : spatial velocity of the
j
link j for the segment i
" #
ωN+1
• VN+1 = ∈ ℜ6 : spatial velocity of
vN+1
the end effector

2.1.3 Global quantities


The following global quantities are defined for j =
i N to 1 or j = i M to 1 and i = k to 1
Figure 1: Links, frames and position vectors for the
 
segment i i
• Q̇i = Col i θ̇j ∈ ℜ M : global vector of ar-
ticular coordinate velocity of the segment i, tak-
ing into account passive and active joints
2.1 Nomenclature  
• Q̇ = Col θ̇ia ∈ ℜk : vector of generalized
2.1.1 Joint and link parameters coordinate velocity of the system
• iPj+1,j : position vector from i Oj to i Oj+1   i
• V i = Col i Vj ∈ ℜ6 N : global vector of
• k: number of segments spatial velocities for the segment i
  i iM
• i M : degrees of freedom (DOF)-number of seg- • Hi = Diag i Hj ∈ ℜ6 N × : global ma-
ment i trix of spatial axis for the leg i
• i N : joint number of segment i
2.2 General notation
• S: active joint number by link h it
With any vector V = Vx Vy Vz , a tensor Ṽ
• θia , θ̇ia : position and velocity of active joint of the can be associated whose representation in any frame
segment i is a skew symmetrical matrix:

• i θjp , i θ̇jp : position and velocity of passive joint j  


of the segment i 0 −Vz Vy
 
Ṽ =  Vz 0 −Vx 
• i ωj , i vj ∈ ℜ3 : angular and linear velocity of link −Vy Vx 0
j for the segment i
This tensor Ṽ has the properties that Ṽ = −Ṽ t and
2.1.2 Spatial quantities Ṽ1 V2 = V1 ∧ V2 i.e., is the vector cross-product of
V1 and V2 .
• i Hj : spatial-axis (map matrix) of joint j for the A matrix V̂ associated to the vector V is defined as:
segment i. For instance, for a joint with 2-DOF

ISSN: 1109-2777 89 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal
" #
U Ṽ
V̂ =
0 U

and

" #
t U 0
V̂ =
−Ṽ U
where U and 0 stand for unit and zero matrices of
appropriate size.
In our derivation, we also make use of global matrices
and vectors which lead to a compact representation
of various factorizations. A bidiagonal block matrix
i i Figure 2: Parallel robot representation.
Pi ∈ ℜ6 N ×6 N is defined as:

  • Let O be the origin of the absolute coordinate


U
 i  system
 − P̂N −1 U 0 
 
 0 −i P̂N −2 U  • Let C (or ON +1 ) be the origin of the mobile
 
Pi =  0 0  frame Rp , whose coordinates are in the absolute
 
 .. ..  frame Rb :
 
 . .  h it
0 0 0 −i P̂1 U OC/Rb = xc yc zc
Note that, according to our notation,
iP iP . • Ai (or i O1 )is the center of the joint between the
j+1,j = j
segment i and the fixed base:
The inverse of Pi is a lower triangular block matrix
given by: h it
OAi/Rb = axi ayi azi
 
U • Bi (or i ON ) is the center of the joint between
 i P̂ U 0  the segment i and the mobile part:
 N,N −1 
 i i P̂ 
Pi−1 =

P̂N,N −2 N −1,N −2 U 
 h it


.. .. 
 CBi/Rp = bxi byi bzi
. .
i P̂ i P̂ ... i P̂ U
N,1 N −1,1 2,1 • [R] is the rotation matrix of rij elements (in the
RP Y formalism), expressing the orientation of
3 Parallel robot description the Rp mobile frame withrespect to the Rb ab-
solute frame. The expression for this matrix is
The robot considered in this paper is of fully parallel given by:
type. This robot consists of 6 segments linking a fixed  
r11 r12 r13
base to a mobile platform. The extremities of each leg  
are fitted with a 2-DOF universal joint at the base and [R] =  r21 r22 r23  (1)
a 3-DOF spherical joint at the platform (Fig. 2). r31 r32 r33
The universal joint center and the spherical joint cen- where:
ter are denoted by Ai and Bi (i = 1, · · · , 6), respec- r11 = cos β cos γ
tively. The lenght of each leg i is actuated using an r12 = − cos β sin γ
active prismatic joint. r13 = sin β
The used notations to describe the parallel robot r21 = sin γ cos α + cos γ sin β sin α
are defined in the following. r22 = cos α cos γ − sin α sin β sin γ
• Rb is the absolute frame, tied to the fixed base r23 = − cos β sin α
(see Fig. 2). Rb = (0, x, y, z). r31 = sin γ sin α − cos γ sin β cos α
r32 = sin α cos γ + cos α sin β sin γ
• Rp is the mobile frame, tied to the mobile part. r33 = cos β cos α
Rp = (C, xp , yp , zp ).

ISSN: 1109-2777 90 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

• α, β and γ are the Bryan angles [24], describing J −1 matrix is obtained by the determination of point
the rotation of the mobile platform with respect Bi velocity [2][23]:
to the fixed base.
˙ i = vN+1 + BiC ∧ ωN+1
OB (6)
• X is the task coordinate vector.
h it The following relationship is verified:
X= α β γ xc yc zc
θ̇ia = OB
˙ i ni (7)
• Rbi is the frame tied to the segment i. Rbi = Inserting (6) into (7), we obtain:
(Ai , xbi , ybi , zbi ).
θ̇ia = nivN+1 + ωN+1 (ni ∧ BiC) (8)
• αbi , βbi , γbi are the angles, in the RP Y formal-
ism, describing frame Rbi rotation with respect The inverse Jacobian matrix is written as:
to the absolute frame Rb .  
h i (n6 ∧ B6 C)t nt6
• bR is the rotation matrix of b rbijk elements  .. 
bi J −1 =
 .

 (9)
(in the RP Y formalism), expressing the orienta- t
(n1 ∧ B1 C) nt1
tion of the Rbi frame withrespect to the Rb ab-
solute frame. The expression for this matrix is
given by: 6 Kinematic Model of the segment i
  In this section, the segment i is considered as a serial
h i cβbi cγbi −cβbi sγbi sβbi robot. The point Bi is the robot terminal tool. This
b   serial robot have 2 joints:
Rbi =  sγbi cγbi 0 
−cγbi sβbi sβbi sγbi cβbi • A passive joint i θ1 with 2 degrees of freedom
(2) (along ybi et zbi axis)
where c represents the function cos and s the function • An active joint i θ2 with 1 degree of freedom
sin (along xbi axis)
We define the following vectors:
4 Inverse kinematic model
• Qi, the articular coordinate vector of the seg-
The inverse geometric model relates the active joint ment i:
variables (Q) to the operational variables which de- h it
fine the position and the orientation of the end effector Qi = θia βbi γbi (10)
(X). This relation is given by the following equation:
• Q̇i, the articular velocity vector of the segment
θia = kAiBik = kAi O/Rb +OC/Rb +[R] CBi/Rp k i: h it
(3)
Q̇i = θ̇ia β̇bi γ̇bi (11)
Thus: q
θia = Xi2 + Yi2 + Zi2 (4)
• Q̈i, the articular acceleration vector of the seg-
where: ment i:
h it
Xi = xc − axi + r11 bxi + r12 byi + r13 bzi Q̈i = θ̈ia β̈bi γ̈bi (12)
Yi = yc − ayi + r21 bxi + r22 byi + r23 bzi (5)
Zi = zc − azi + r31 bxi + r32 byi + r33 bzi The velocity propagation for a serial chain of in-
terconnected bodies is given by the following intrinsic
5 Determination of the inverse Jaco- equation [20][21][22]:

bian matrix i
Vj − i P̂j−1
t i
Vj−1 = i Hj i θ̇j (13)

For parallel robots, the inverse Jacobian matrix com- By using the matrix Pi , (13) can be expressed in a
putation (J −1 ) stays, in principle, relatively easy. global form by:

ISSN: 1109-2777 91 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

By using (22) in (21), a new Jacobian matrix formula-


Pit V i = Hi Q̇i (14) tion is obtained:
 
thus:  −1 0 0 0
V i = Pit Hi Q̇i (15)  0 1 0 
" # 
bR 0  0 0 1 
bi  
The end effector spatial velocity VBi is obtained by JBi = bR   (23)
0 bi 

1 0 0 

the following relation:  0 0 θia 
a
VBi − i P̂Nt iVN = 0 (16) 0 −θi 0

thus: This expression can be rewritten as:


VBi = i
P̂Nt iVN (17)    
0 0 0
iN  bR  0 1 0  
Let βi ∈ ℜ6× be the matrix defined by " # 
 bi   

h i JBωi  0 0 1 
βi = i P̂ t 0 ··· 0 JBi = =

  

N JBvi  1 0 0 
 bR  0  
 bi  0 θia  
The equation (17) becomes:
0 −θia 0
VBi = βi V i (18) (24)
The forward kinematic model of the segment i is de-
Thus, inserting the expression of V i from (15), we fined as the relation linking the linear velocity of the
obtain:  −1 segment i terminal tool (point Bi ) to articular velocity
VBi = βi Pit Hi Q̇i (19) vector Q̇i:
 
The spatial velocity of point Bi is defined by the 1 0 0
 
following relation: vBi = JBvi Q̇i = b Rbi  0 0 θia  Q̇i (25)
0 −θia 0
VBi = JBi Q̇i (20)
 −1
Where JBi ∈ ℜ6×6 is the Jacobian matrix of the The inverse Jacobian matrix JBvi is directly ob-
segment i expressed in the base frameRb . tained by:
Thus we deduce, considering (19), a factorized ex-  
pression of the Jacobian matrix JBi :  −1 1 0 0
 0 0 − θ1a 
JBvi = i
b t
 Rbi (26)
JBi = βi Pi−t Hi (21) 0 1
0
θia
with: Thus:
 
 h i cos βbi cos γbi sin γbi − cos γbi sin βbi

 βi = i P̂ 0 ∈ ℜ6×12  −1  sin β cos β 



2
JBvi = − θa bi 0 − θa bi 

  i i 
 " # cos βbi sin γbi cos γbi sin γbi sin βbi

 −

 U i P̂ t θa i θia θia

 −t
Pi = 1 ∈ ℜ12×12 (27)

 0 U

  

 The second-order inverse kinematic model of the seg-

 0 0 0

  0 0 0  ment i is given by:

  
  −1  




 0 0 0 
 d  v −1

   Q̈i = JBvi v̇Bi + JBi vBi (28)
 1 0 0  (22) dt
 

  0 0 0 

   Thus:

  0 0 0 

 H =    −1  

 i  ∈ ℜ12×3 Q̈i = JBvi v̇Bi − J˙Bvi Q̇i (29)

  0 0 0 

  
  


  0 1 0  The linear velocity of the point Bi can be expressed

  

  0 0 1  as a function of linear and angular velocities of the

  

  0 0 0  mobile platform as:

  

  0 0 0 


0 0 0 vBi = vN+1 + BiC ∧ ωN+1 (30)

ISSN: 1109-2777 92 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

Thus, in a matrical form: Taking into account theses vectors and matrices,
h i (35) becomes:
vBi = Bg
iC U VN+1 (31)
 
1 0 0
The linear acceleration of the point Bi is then given  a  ˜
J˙Bvi = b Ṙbi  0 0 θ b
i  − Rbi θ̇ i (37)
by the following relation:
h i h i 0 −θia 0
v̇Bi = Bg
iC U V̇N+1 + Bġ
VN+1
iC 0
bR
(32) bi have been defined as the rotation matrix express-
Inserting (32) in (29), the second-order inverse kine- ing the orientation of the i Rbi frame withrespect to
matic model is finally obtained as: the Rb absolute frame. This rotation matrix can be
 −1   decomposed into product of two matrices as:
Q̈i = JBvi Bi V̇N+1 + Ḃi VN+1 − J˙Bvi Q̇i
b
(33) Rbi = Rβbi Rγbi (38)
h i
g
Where Bi = Bi C U
Thus, we deduce:

6.1 Computation of J˙Bvi Q̇i b ˜ R R +R γ̇˜ R


Ṙbi = Ṙβbi Rγbi +Rβbi Ṙγbi = β̇ bi βbi γbi βbi bi γbi
| {z }
Considering the relation given in (25), we obtain: bR
bi
   (39)
1 0 0
d b   Inserting the relation given by (39) in (37), we deduce
J˙Bvi =  Rbi  0 0 θia  (34) a new expression of the matrix J˙Bvi as:
dt a
0 −θi 0
 
Thus:  1 0 0
    ˜ b R + R γ̇˜ R
J˙Bvi = β̇

0 0 a  b ˜
0 0 0 bi bi βbi bi γbi  θ i − Rbi θ̇ i
1 0 0
˙ v b  a  b   0 −θia 0
JBi = Ṙbi  0 0 θi + Rbi  0 0 θ̇ia 
(40)
0 −θia 0 0 −θ̇ia 0 Considering (25) and (31) following relation can be
(35) deduced:
We define the following vectors:
 −1 h i
• Translation velocity vector along xbi axis: Q̇i = JBvi Bg
iC U VN+1 (41)
h it
θ̇i = θ˙ia 0 0 Thus by inserting (26) :
 
• Rotation velocity vector along ybi axis: 1 0
0 h i
h it  0 − θ1a 
0 b t g
Q̇i =  i
 R bi B i C U VN+1
β̇bi = 0 β̇bi 0 0 1
0
θia
(42)
• Rotation velocity vector along zbi axis: ˙ v
The expression of JBi Q̇i is determined from (40) and
h it (42) as:
γ̇bi = 0 0 γ̇bi
 
˜ b R + R γ̇˜ R
J˙Bvi Q̇i = β̇ b Rt Bi VN+1
and their associated skew symmetrical matrices: bi bi βbi bi γbi bi
   ˜
θ̇ i b t

 0 0 0 +b Rbi 2 Rbi Bi VN+1

 ˜   (θia )

 θ̇i =  0 0 −θ̇ia 

 (43)

 a


 0 θ̇i 0  Thus:


 0 0 β̇bi J˙Bvi Q̇i = Ψi Bi VN+1 (44)
˜  
β̇ bi =  0 0 0  (36)

 Where:



  −β̇bi 0 0 

 0 −γ̇bi 0

 ˜θ̇

 ˜   ˜ i b t

 γ̇ bi =  γ̇bi 0 0  Ψi = β̇ bi + Rβbi γ̇˜ bi Rβt b + b Rbi Rbi (45)

 0 0 0
i (θi )2
a

ISSN: 1109-2777 93 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

6.2 Computation of Bġ


iC
The second-order inverse kinematic model can be ex-
pressed by inserting (44) and (52) in (33):
The rotation matrix R expressing the orientation of  −1  
the Rp mobile frame withrespect to the Rb absolute Q̈i = JBvi Bi V̇N+1 + Ai VN+1 (53)
framee can be defined by the following matrical prod-
uct: Where:
R = Rα Rβ Rγ (46) h i
We define the following vectors: Ai = (Rαβγ − Ψi ) Bg g t
i C + Bi C Rαβγ −Ψi
(54)
• Rotation velocity vector along x axis:
h it
α̇ = α̇ 0 0 7 Inverse dynamic model
The equation describing the dynamic behaviour of a
• Rotation velocity vector along y axis: closed loop system, in the articular space, is given by
h it the following equation:
β̇ = 0 β̇ 0
 t
Mi Q̈i + Ci + Gi + JBvi φ i = Γi (55)
• Rotation velocity vector along z axis:
h it Or:
γ̇ = 0 0 γ̇ Mi Q̈i = iF T (56)
Where
And their associated skew symmetrical matrices: n o   t 
   i
F T = Col i
FTj = Γi− Ci + Gi + JBvi φi

 0 0 0



 ˜=
α̇  0 0 −α̇ 


 iF

 Tj represents the acceleration-dependent compo-

 
0 α̇ 0 

 nent of the control force at the level of joint j for the

 0 0 β̇
˜   segment i
β̇ =  0 0 0  (47)





  −β̇ 0 0  7.1 Computation of the matrix Mi

 0 −γ̇ 0



 ˜   The propagation of accelerations and forces among
 γ̇ =  γ̇
 0 0 

 the links of serial chain are given by:
0 0 0
i
V̇j = i P̂j−1
t i
V̇j−1 + i Hj iθ̈j (57)
Bg
i C can be also defined by:
 g  i
Fj = i Ij iV̇j + i P̂j iFj+1 (58)
Bg g
i C = R Bi C/Rp = R Bi C /Rp R
t
(48)
Equations (57)-(58) represent the simplified N-E al-
Or: gorithm (with nonlinear terms being excluded) for the
serial chain.
t
Bg g
i C = (Rα Rβ Rγ ) Bi C /Rp (Rα Rβ Rγ ) (49) Using the global notation (57) and (58) can be written
by the following equation system:
Thus:
Pit V̇ i = Hi Q̈i (59)
Bġ g t g t t
i C = Rαβγ R Bi C /Rp R + R Bi C /Rp R Rαβγ
| {z } | {z }
Pi F i = Ii V̇ i (60)
g
B iC g
B iC
(50) The determination of the matrix Mi expression is
With: based on a rather unconventional decomposition of in-
˜ t ter body force of the form:
˜ + Rα β̇
Rαβγ = α̇ Rα + Rα Rβ γ̇˜ Rβt Rαt (51)
i
Fj = i Hj iFTj + i Wj iFSj (61)
We finally obtain:
Where iFSj represents the constraint force.
Bġ g g t
i C = Rαβγ Bi C + Bi C Rαβγ (52) Contrary to degrees of freedom (dof ) we introduce

ISSN: 1109-2777 94 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

degrees of constraint (doc) notion (doc = 6 − dof ). 7.2 Computation of vectors Ci et Gi


For a joint with ni dof , i Wj ∈ ℜ 6×(6−ni )
In the Gough-Stewart platform case, these prjection Ci + Gi is computed by using the Newton-Euler re-
matrices in the constraint space are defined by: cursive algorithm considering the angular acceleration
to be zero. This algorithm is given by each segment i:
1st 2nd 3rd 4th doc
  1. We determine the linear and angular velocities
1 0 0 0
 0 0 0 0  and accelerations of segment i links, starting link
  j = 1 to link j = N
i
W1 = 
 0 0 0 0   (62)
 


0 1 0 0   • Initialization : iω0 = iω̇0 = 0 and
 0 0 1 0  iv̇ = −g (g represents the gravity vector)
0
0 0 0 1
• Angular velocities :
 
1st 2nd 3rd5th doc 4th i
ωj = j Rj−1 i
ωj−1 + i σj i hrj i θ̇j
 
1 0 0 0 0 (74)
 0 1 0 0  0 Where:
 
i
W2 =   0 0 1 0  0


 – i σj = 1 if the joint j of the segment i


0 0 0 0 

0 is a rotation, else i σj = 0.
 0 0 0 0  1 – i hrj represents rotation part of the pro-
0 0 0 1 0 " #
i hr
i i j
(63) jection matrix Hj : Hj = i p
The projection matrices i Hj and i Wj are taken to sat- hj
isfy the following orthogonality conditions: – j Rj−1 is the matrix expressing the ori-
i
entation of the j − 1 frame withrespect
Wjt i Hj = 0 (64) to the j frame.
i
Hj i Hjt + i Wj i Wjt = U (65) • Angular accelerations:
i  
Hjt i Hj = i Wjt i Wj = U (66) i
ω̇j = j Rj−1 i
ω̇j−1 + i σj i ω̃j−1 i hrj i θ̇j
Or in a global form: (75)

Wit Hi = 0 (67) • Linear accelerations:


h  i
Hi Hit + Wi Wit = U (68)
iv̇
j = j Rj−1 iv̇j−1 + 1 − i σj 2 i ω̃j−1 i hpj i θ̇j
 
Hit Hi = Wit Wi = U (69) ˜ j + i ω̃j i ω̃j iPj
+ i ω̇
" # (76)
i 0 iW
2
With Wi = Diag Wj = iW ∈ ℜ9×12
0 1 2. We determine torques and forces of interaction
By multiplying (61) by i Hjt , and considering the rela- with the following recursive scheme, starting of
tions given by (64) and (66), we deduce the following link j = N to link j = 1
relationship:
i
FTj = i Hjt iFj (70) • Initialization : inN+1 = ifN+1 = 0
Or in a global form: • Computation of the link j center of mass
linear acceleration belonging to the seg-
i
F T = Hit F (71) ment i: iv̇Cj :

Considering (71), (59) and (60), we also obtain:  



i
v̇Cj = iv̇j + ω̇ j + i ω̃j i ω̃j i
Sj (77)
i
FT = Hit Pi−1 Ii V̇i = Hit Pi−1 Ii Pi−t Hi Q̈i (72)
• Computation of applied force at center of
A factorized expression of the matrix Mi can be also mass of the link j belonging to the segment
deduced from (56) and (72) as: i: ifCj
Mi = Hit Pi−1 Ii Pi−t Hi (73)
i
fCj = i mj iv̇Cj (78)

ISSN: 1109-2777 95 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

• Computation of applied torque at center of 7.4 Dynamic behaviour of the mobile plat-
mass of the link j belonging to the segment form
i: inCj
The dynamic behavior of the mobile platform is given
i i i
nCj = ICj ω̇j + ω̃j ICj ωj i i i
(79) by the following relation:

FN+1 = ΛC V̇N+1 − (GC + CC ) (88)


• Computation of the vector giving the exer-
cised force by link j − 1 to link j belonging Where:
to the segment i: ifj
• FN+1 is the spatial force applied to the point
i
fj = j Rj+1 ifj+1 + ifCj (80) C, representing the contribution of the contact
forces φi propagated in the point C:
• Computation of the vector giving the exer- " # " #
6
X t
cised torque by link j−1 to link j belonging nN+1 Bg
iC
to the segment i: inj FN+1 = = φi
fN+1 i=1 U
(89)
i
nj = j Rj+1 inj+1 +i P̃j ifj +inCj +i S̃j ifCj
(81) • ΛC ∈ ℜ6×6 is the spatial inertia matrix of the
• Computation of iCj + iGj mobile platform:
" #
IC g
mC GC
iC
j + iGj = i σj intj j Rj+1 i hrj ΛC = (90)
 (82) g
+ 1 − i σj ifjt j Rj+1 i hpj −mC GC mC U

– mC is the platform mass


7.3 Computation of the contact forces φi
– IC ∈ ℜ3×3 is the inertia tensor of the mo-
The contact forces are computed from (55): bile platform expressed in the mobile plat-
 −t    −t form center of mass, and projected ine the
φi = − JBvi Mi Q̈i + Ci + Gi + JBvi Γi fixed frame Rb :
(83)
 −t IC = R IC/Rm Rt (91)
Considering (27), the term JBvi Γi of the previ-
ous equation can be expressed as: – CC ∈ ℜ6 is the vector of Coriolis and cen-
  trigugal forces:

 −t 2
" #
 
JBvi Γi = C i  0  (84) −ω̃N +1 IC ωN+1
0 CC = g ωN+1 (92)
mC ω̃N +1 GC
Where:
– GC ∈ ℜ6 is the vector of gravitational
 sin βbi cos βbi sin γbi

cos βbi cos γbi − − forces:
 θia θa 
 cos γibi  " #
Ci =  sin γbi 0 θia  g
mC GC
 cos βbi sin γbi sin βbi
 GC = g (93)
− cos γbi sin βbi − mC U
θia θia
(85)
g being the acceleration vector of gravity
Only the joint 2 is active (linear joint). Thus:
 −t
JBvi Γi = n i i Γ 2 (86) 7.5 Computation of active articular force
vector Γ
Equation (83) can be rewritten as: Substituting (87) in (89), we obtain:
 −t   " # 
φi = − JBvi Mi Q̈i + Ci + Gi +ni i Γ2 6
X t  −t !
FN+1 = Bg
iC − JBvi D i + ni Γ2 i
| {z }
Di i=1 U
(87) (94)

ISSN: 1109-2777 96 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

With:
6
" t
# ! " P t
#
X Bg 6 g
B C n iΓ
iC ni Γ2i
= i=1 i i 2
P6 i
i=1 U i=1 ni Γ2
(95)
Or by highlighting the vector
h it
6 5 4 3 2 1
Γ= Γ2 Γ2 Γ2 Γ2 Γ2 Γ2

and considering the inverse Jacobian matrix expres-


sion of the parallel robot:

6
" t
# ! Figure 3: Cartesian trajectory of the end effector.
X Bg
iC ni Γ2 i
=J −t
Γ (96)
i=1 U

with:
" t t
#
J −t
= Bg g
6 C n 6 · · · B1 C n 1
n6 ··· n1

The inverse dynamic model of the parallel robot


is determined by inserting (96) into (94):
" " t
#  !#
6
X  −t
Γ = J t FN+1 + Bg
iC − JBvi Di
i=1 U
(97)
Figure 4: Cartesian velocity profile

8 Simulation of the inverse dynamic


model
To validate our inverse dynamic model of the Gough-
Stewart platform, a simulation under Matlab environ-
ment is presented.
The trajectory profile used for this study is the follow-
ing one:

• Fig. 3 shows the terminal tool Cartesian trajec-


tory for a constant orientation (α = 15◦ , β = 10◦
and γ = 5◦ )

• Fig. 4 and 5 show respectively the end effec- Figure 5: Cartesian acceleration profile.
tor cartesian velocity profile and the end effector
cartesian acceleration profile
• The active joint velocities are computed using
• The used dynamic parameter for this simulation (9). Fig. 7 shows the active joint velocity evo-
are summarized in Table 1 (these parameters are lution along the trajectory.
identical for all segments).
• The active joint accelerations are computed using
• The active joint positions are computed using in- (53). Fig. 8 shows the active joint acceleration
verse kinematic model given by the equation (3). evolution along the trajectory.
Fig. 6 shows the active joint position variation
along the trajectory. • The active joint forces are computed using in-

ISSN: 1109-2777 97 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

Table 1: Gough-Stewart platform dynamic parame-


ters.

Link Mass Inertia


 
0.0002 0 0
 
1 0.5 kg IC1 =  0 0.0038 0 
0 
0 0.0038

13 0 0
 
2 1 kg IC2 = 10−4  0 a 0 
0 0 a
with a = 6.25 + 830 (θia − 0.83)2
Figure 8: Active joint accelerations along the trajec-
0.375 0 0
  tory
Mobile 3 kg IC =  0 0.1875 0 
0 0 0.1875
platform

Figure 9: Active joint forces Γi along the trajectory.

9 Conclusion
Figure 6: Active joint positions along the trajectory
In this paper an inverse dynamic model of the Gough
Stewart platform has been presented. Parallel robot
is considered as a multi robot system moving a com-
mon load. The proposed approach, based on a global
formalism, highlights the inertia matrices Mi of each
robot segment, expressed in the articular space, in a
factorized form. These factorizations allow to provide
a basis for the development of a parallel algorithm, to
minimize the computation time, for a dynamic control
under the real time constraint.

References:
[1] D. Stewart, A plaform with 6 degrees of free-
Figure 7: Active joint velocities along the trajectory dom, Proc. of the institute of mechanical engi-
neers 1965-66, Vol 180, part 1, No 15, pp 371-
verse dynamic model given by (97). Fig. 9 shows 386.
the active joint force evolution along the trajec- [2] J. P. Merlet, Parallel Robots, Kluwer Academic
tory. Publishers, 2000.

ISSN: 1109-2777 98 Issue 2, Volume 7, February 2008


WSEAS TRANSACTIONS on SYSTEMS Georges Fried, Karim Djouani, Diane Borojeni, Sohail Iqbal

[3] C. Reboulet, Robots parallèles, in technique de and spatial parallel manipulator, J. of Dynamic
la robotique, Eds Hermès, Paris, 1988. System, Measurement and Control, vol 118, pp
[4] G. Fried, K. Djouani, D. Borojeni and S. Iqbal, 22-28, March 1996.
Jacobian factorization of a C5 parallel robot. [15] B. Dasgupta and P. Choudhury, A general strat-
Analysis of singular configurations, Proceedings egy based on the Newton-Euler approach for the
of the 6th WSEAS International Conference on dynamic formulation of parallel manipulators,
Robotics, Control and Manifacturing Technol- Mech. Mach. Theory, Vol. 4, pp: 61-69, August
ogy, Hangzhou, China, April 16-18, 2006, pp. 1999.
224-231. [16] W. A. Khan, Recursive kinematics and inverse
[5] G. Fried, K. Djouani, D. Borojeni and S. Iqbal, dynamics of a 3R planar paraallel manipula-
Jacobian matrix factorization and singlarity tor, Journal of Dynamic System, Measurment
analysis of parallel robots, WSEAS Transaction and Control, Vol. 127/4, pp: 529-536, December
on System, vol. 5, n 6, pp. 1482-1490, 2006. 2005
[6] G. L. Long and C. L. Collins, A pantograph [17] Z. M. Bi and S. Y. T. Lang, Kinematic and dy-
linkage parallel platform master hand controller namic models of a tripod system with a passive
for force-reflexion, Proc. of IEEE International leg, IEEE/ASME Transactions on Mechatronics,
Conference on Robotics and Automation, Nice, Vol. 11/1, pp: 108-112, February 2006
France, 1992, Vol 1, pp: 390-395. [18] W. Khalil and S. Guegan, Inverse and direct dy-
[7] R. Neugebauer, M. Schwaar and F. Wieland, Ac- namic modeling of Gough-Stewart robots, IEEE
curacy of parallel structured of machine tools, Transactions on Robotics, 20(4), pp. 745-762,
Proc. of the International Seminar on Improving August 2004.
Tool Performance, Spain, 1998, Vol 2, pp: 521- [19] W. Khalil and O. Ibrahim, General solution for
531. the dynamic modeling of parallel robots, Proc.
[8] P. Poignet, M. Gautier, W. Khalil and M. T. of IEEE International Conference on Robotics
Pham, Modeling, simulation and control of high and Automation, New Orlean USA, pp: 3665-
speed machine tools using robotics formalism, 3670, April 2004
Journal of Mechatronics, march 2002, Vol 12, [20] A. Fijany Parallel O(log N ) Algorithms for
pp: 461-487. Rigid Multibody Dynamics, JPL Engineering
[9] J. P. Merlet, Optimal design for the micro par- Memorandum, EM343-92-1258, august 1992.
allel robot mips, Proc. of IEEE International [21] A. Fijany, I. Sharf, G. M. T.Eleuterio, Parallel
Conference on Robotics and Automation, ICRA O(logN) algorithms for computation of manip-
’02, Washington DC, USA, may 2002, Vol 2, pp: ulator forward dynamics, IEEE Trans. Robot-
1149-1154. ics and Automation, Vol 11(3), pp 389-400, June
[10] N. Leroy, A. M. Kokosy and W. Perruquetti, Dy- 1995.
namic modeling of a parallel robot. Application [22] A. Fijany, K. Djouani, G. Fried, J. Pontnau,
to a surgical simulator, Proc. of IEEE Interna- New factorization techniques and fast serial and
tional Conference on Robotics and Automation, parallel algorithms for operational space con-
Taipei, Taiwan, september 2003, pp: 4330-4335 trol of robot manipulators, Proc. of IFAC,
[11] E. F. Fichter, A Stewart platform based manipu- 5th Symposium on Robot Control, September 3-
lator: general theory and pratical construction, 5, 1997, Nantes, France pp 813-820.
International Journal of Robotics Research, Vol. [23] J. P. Merlet, Direct kinematics and assembly
5/2, pp: 157-182, March 1986 modes of parallel manipulators, the Int. J. of
[12] Y. Nakamura and M. Ghodoussi, Dynamic com- Robotics Research, 11(2), pp. 150-162, 1992.
putation of closed link robot mechanism with [24] J.B. Bryan, A simple method for testing measur-
non redundant actuators, IEEE Journal of Ro- ing machines and machine tools, Part1, Prin-
botics and Automation, Vol. 5, pp: 295-302, ciples and Application, Precision engineering,
June 1989. Vol. 4/2, pp: 61-69, April 1982
[13] L. W. Tsai, Solving the inverse dynamics of a
Gough-Stewart manipulator by the principle of
virtual work, Journal of Mechanism Design, Vol.
122, pp: 3-9, March 2000.
[14] C. M. Gosselin, Parallel computational algo-
rithms for the kinematics and dynamics of planar

ISSN: 1109-2777 99 Issue 2, Volume 7, February 2008

You might also like