Professional Documents
Culture Documents
Lopes
Lopes
net/publication/267479224
CITATIONS READS
7 385
2 authors, including:
António M. Lopes
University of Porto
337 PUBLICATIONS 5,197 CITATIONS
SEE PROFILE
All content following this page was uploaded by António M. Lopes on 15 December 2015.
1 Introduction
The dynamic model of a parallel manipulator 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:
f = JT (x).τ (2)
where τ is the generalized force developed by the actuators and J(x) is a
jacobian matrix.
The dynamic model of parallel manipulators is usually developed using
the Newton-Euler or the Lagrange methods. Do and Yang [1] and Reboulet
and Berthomieu [2] use the Newton-Euler method on the dynamic modeling
of a Stewart platform. Ji [3] presents a study on the influence of leg inertia
on the dynamic model of a Stewart platform. Dasgupta and Mruthyunjaya [4]
used the Newton-Euler approach to develop a closed-form dynamic model of
the Stewart platform. This method was also used by Khalil and Ibrahim [5],
Riebe and Ulbrich [6], and Guo and Li [7], among others.
On the other hand, Nguyen and Pooran [8] use the Lagrange method to
model a Stewart platform, modeling the legs as point masses. Lebret et al.
[9] follow an approach similar to the one used by Nguyen and Pooran [8].
Lagrange’s method was also used by Gregório and Parenti-Castelli [10] and
Caccavale et al. [11], for example.
Unfortunately the dynamic models obtained from these classical ap-
proaches usually present high computational loads. Therefore, alternative
methods have been searched, namely the ones based on the principle of virtual
work [12, 13], screw theory [14], and the generalized momentum approach [15].
In this paper the authors present a new approach to the dynamic modeling
of a six degrees-of-freedom (dof) Stewart platform: the use of the generalized
momentum concept.
B
ωP |B = JA .B ẋP (o)|E (7)
0 −SψP CθP CψP
JA = 0 CψP CθP SψP (8)
1 0 −SθP
Vectors B ẋP (pos)|B ≡B vP |B and B ωP |B represent the linear and angular
velocity of the moving platform relative to {B}, and B ẋP (o)|E represents the
Euler angles time derivative.
QP |B = mp .B vP |B = IP (tra) .B vP |B (9)
4 António Mendes Lopes and E. J. Solteiro Pires
HP |B = IP (rot)|B .B ωP |B (11)
IP (rot)|B represents the rotational inertia matrix of the moving platform, ex-
pressed in the base frame {B}. The rotational inertia matrix of the moving
platform, expressed in frame {P}, may be written as:
T = diag([ℑ JA ]) (18)
The time derivative of equation (17) results into:
P d
IP |B .T .B ẋP |B|E + IP |B .T.B ẍP |B|E
fP (kin)|B = q̇P |B = (19)
dt
P
fP (kin)|B is the kinetic component of the generalized force acting on {P}, due
to the moving platform motion, expressed in frame {B}. The corresponding
actuating forces, τP (kin) , may be computed from the following relation:
Dynamic Modeling of a Stewart Platform 5
τP (kin)|B = J−T P
C . fP (kin)|B (20)
where
h iT
P P
fP (kin)|B = FTP (kin)|B P
MTP (kin)|B (21)
Vector P FP (kin)|B represents the force vector acting on the centre of mass of
the moving platform, and P MP (kin)|B represents the moment vector acting
on the moving platform, expressed in the base frame, {B}.
From equation (19) it can be concluded that two matrices playing the roles
of the inertia matrix and the Coriolis and centripetal terms matrix are:
IP |B .T (22)
d
IP |B .T (23)
dt
B
ωli |B × li =B vP |B +B ωP |B ×P pi|B (28)
As the leg (both the cylinder and piston) cannot rotate along its own axis,
the angular velocity along l̂i is always zero, and vectors li and B ωli |B are
always perpendicular. This enables equation (28) to be rewritten as:
B 1 B
vP |B +B ωP |B ×P pi|B
ω li | B = . li × (29)
lTi .li
or,
B
v
B
ω li | B = JDi . B P |B (30)
ωP |B
where jacobian JDi is given by:
h i
JDi = ˜l̄i ˜l̄i .P p̃Ti|B (31)
li
l̄i = (32)
lTi .li
and, for a given vector a = [ax ay az ]T ,
0 −az ay
ã = az 0 −ax (33)
−ay ax 0
On the other hand, equation (27) can be rewritten as:
B
B vP |B
ṗCi |B = JBi . B (34)
ωP |B
where JBi the jacobian is given by:
T T
h i
JBi = bC .˜l̂i .˜l̄i bC .˜l̂i .˜l̄i .P p̃T (35)
i|B
Ci d
(JBi .T) .B ẋP |B|E + mc .JBi .T.B ẍP |B|E
fCi (kin)(tra)|B = Q̇Ci |B = mc .
dt
(38)
When equation (38) is multiplied by JTBi , the kinetic component of the
force applied to {P} due to each cylinder translation is obtained in frame
{B}:
P
fCi (kin)(tra)|B = JTBi .Ci fCi (kin)(tra)|B
d
= mc .JTBi . dt (JBi .T) .B ẋP |B|E + mc .JTBi .JBi .T.B ẍP |B|E
(39)
The inertia matrix and the Coriolis and centripetal terms matrix of the
translating cylinder being:
d
mc .JTBi .
(JBi .T) (41)
dt
These matrices represent the inertia matrix and the Coriolis and cen-
tripetal terms matrix of a virtual moving platform that is equivalent to each
translating cylinder.
On the other hand, the angular momentum of each cylinder can be repre-
sented in frame {B} by:
h liy
iT
l
yCi = − √l2 +l2 √l2ix+l2 0 (46)
ix iy ix iy
Ci
fCi (kin)(rot)|B = ḢCi |B
d
ICi (rot)|B .JDi .T .B ẋP |B|E +ICi (rot)|B .JDi .T.B ẍP |B|E
= dt
(50)
When equation (50) is pre-multiplied by JTDi the kinetic component of
the generalized force applied to {P} due to each cylinder rotation is obtained
in frame {B}:
P
fCi (kin)(rot)|B = JTDi .Ci fCi (kin)(rot)|B
d
= JTDi . dt ICi (rot)|B .JDi .T .B ẋP |B|E +
(51)
JTDi .ICi (rot)|B .JDi .T.B ẍP |B|E
The inertia matrix and the Coriolis and centripetal terms matrix of the
rotating cylinder may be written as:
d
JTDi .
ICi (rot)|B .JDi .T (53)
dt
The linear velocity of the piston centre of mass, B ṗSi |B , relative to {B}
and expressed in the same frame, may be computed as:
B
ṗSi |B = l̇i +B ωli |B × −bS .l̂i (55)
B
v
B
ṗSi |B = JGi . B P |B (56)
ωP |B
where the jacobian JGi is given by:
˜T ˜T
JGi = I − bS .l̂i .˜l̄i I − bS .l̂i .˜l̄i .P p̃Ti|B (57)
Si d
(JBi .T) .B ẋP |B|E + mS .JBi .T.B ẍP |B|E
fSi (kin)(tra)|B = Q̇Si |B = mS .
dt
(60)
When equation (60) is multiplied by JTGi , the kinetic component of the
force applied to {P} due to each piston translation is obtained in frame {B}:
P
fSi (kin)(tra)|B = JTGi .Si fSi (kin)(tra)|B
d
= mS .JTGi dt (JGi .T) .B ẋP |B|E + mS .JTGi .JGi .T.B ẍP |B|E
(61)
10 António Mendes Lopes and E. J. Solteiro Pires
The inertia matrix and the Coriolis and centripetal terms matrix of the
translating piston are:
d
mS .JTGi
(JGi .T) (63)
dt
On the other hand, the angular momentum of each piston can be repre-
sented in frame {B} by (65) and (65), where B RSi is the orientation matrix
of each piston frame, {Si }, relative to the base frame, {B}.
Si
fSi (kin)(rot)|B = ḢSi |B
d
ISi (rot)|B .JDi .T .B ẋP |B|E + ISi (rot)|B .JDi .T.B ẍP |B|E
= dt
(68)
Pre-multiplied by JTDi , the kinetic component of the generalized force ap-
plied to {P} due to each piston rotation is obtained in frame {B}:
P
fSi (kin)(rot)|B = JTDi .Si fSi (kin)(rot)|B
d
= JTDi . dt ISi (rot)|B .JDi .T .B ẋP |B|E +
(69)
JTDi .ISi (rot)|B .JDi .T.B ẍP |B|E
The inertia matrix and the Coriolis and centripetal terms matrix of the
rotating piston will be:
d
JTDi .
ISi (rot)|B .JDi .T (71)
dt
It should be noted that rigid bodies’ inertia and Coriolis and centripetal
terms matrices can be added, as they are expressed in the same frame.
Given a general frame {x, y, z}, with z ≡ −ĝ , the potential energy of a rigid
body is given by (72) 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 centre of mass.
Pc = mc .g.zc (72)
The gravitational components of the generalized forces acting on {P} can
be obtained from the potential energy of the bodies that compose the system:
∂Pp B xP |B|E
P
fP (gra)|B|E = (73)
∂ B xP |B|E
∂PCi B xP |B|E
P
fCi (gra)|B|E = (74)
∂ B xP |B|E
∂PSi B xP |B|E
P
fSi (gra)|B|E = (75)
∂ B xP |B|E
The three vectors P fP (gra)|B|E , P fCi (gra)|B|E and P fSi (gra)|B|E represent the
gravitational components of the generalized forces acting on {P}, expressed
using the Euler angles system, due to the moving platform, each cylinder and
each piston. Therefore, to be added to the kinetic 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 matrix:
ℑ J−T
diag A (76)
4 Conclusions
force acting on the moving platform may be easily computed. This compo-
nent can be added to the gravitational part of the generalized force, which is
obtained through the manipulator potential energy.
References
1. Do, W., Yang, D.: Inverse dynamic analysis and simulation of a platform type
of robot. Journal of Robotic Systems 5 (1988) 209–227
2. Reboulet, C., Berthomieu, T.: Dynamic models of a six degree of freedom
parallel manipulators. In: IEEE Int. Conf. on Robotics and Automation. (1991)
1153–1157
3. Ji, Z.: Dynamics decomposition for Stewart platforms. ASME Journal of Me-
chanical Design 116 (1994) 67–69
4. Dasgupta, B., Mruthyunjaya, T.: A Newton-Euler formulation for the inverse
dynamics of the Stewart platform manipulator. Mechanism and Machine Theory
34 (1998) 711–725
5. Khalil, W., Ibrahim, O.: General solution for the dynamic modelling of parallel
robots. Journal of Intelligent and Robot Systems 49 (2007) 19–37
6. Riebe, S., Ulbrich, H.: Modelling and online computation of the dynamics of a
parallel kinematic with six degrees-of-freedom. Archive of Applied Mechanics
72 (2003) 817–829
7. Guo, H., Li, H.: 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 (2006) 61–
72
8. Nguyen, C., Pooran, F.: Dynamic analysis of a 6 dof CKCM robot end-effector
for dual-arm telerobot systems. Robotics and Autonomous Systems 5 (1989)
377–394
9. G. Lebret, K.L., Lewis, F.: Dynamic analysis and control of a Stewart platform
manipulator. Journal of Robotic Systems 10 (1993) 629–655
10. Gregório, R.D., Parenti-Castelli, V.: Dynamics of a class of parallel wrists.
Journal of Mechanical Design 126 (2004) 436–441
11. Caccavale, F., Siciliano, B., Villani, L.: The tricept robot: Dynamics and
impedance control. IEEE/ASME Transactions on Mechatronics 8 (2003) 263–
268
12. Staicu, S., Liu, X.J., Wang, J.: Inverse dynamics of the half parallel manipulator
with revolute actuators. Nonlinear Dynamics 50 (2007) 1–12
13. Tsai, L.W.: Solving the inverse dynamics of a Stewart-Gough manipulator by
the principle of virtual work. Journal of Mechanical Design 122 (2003) 3–9
14. Gallardo, J., Rico, J., Frisoli, A., Checcacci, D., Bergamasco, M.: Dynamics
of parallel manipulators by means of screw theory. Mechanism and Machine
Theory 38 (2003) 1113–1131
15. Lopes, A.: A computational efficient approach to the dynamic modeling of 6-dof
parallel manipulators. In: Proc. of the ENOC’08. (2008)