4
MANIPULATOR RIGID-BODY DYNAMICS
19
conditioned in the vicinity of the singularity, resulting in high joint rates. A control scheme
based on Cartesian rate control
q
=
0
J
-1
0
x
n
(8)
was proposed by Whitney[9] and is known as resolved rate motion control. For two frames
A and B related by
A
T
B
= [n o a p] the Cartesian velocity in frame A may be transformed to
frame B by
B
x
=
B
J
A
A
x
(9)
where the Jacobian is given by Paul[10] as
B
J
A
= f (
A
T
B
) =
[n o a]
T
[p × n p × o p × a]
T
0
[n o a]
T
(10)
4
Manipulator rigid-body dynamics
Manipulator dynamics is concerned with the equations of motion, the way in which the
manipulator moves in response to torques applied by the actuators, or external forces. The
history and mathematics of the dynamics of serial-link manipulators is well covered by
Paul[1] and Hollerbach[11]. There are two problems related to manipulator dynamics that
are important to solve:
· inverse dynamics in which the manipulator's equations of motion are solved for given
motion to determine the generalized forces, discussed further in Section 4.1, and
· direct dynamics in which the equations of motion are integrated to determine the
generalized coordinate response to applied generalized forces discussed further in
Section 4.2.
The equations of motion for an n-axis manipulator are given by
Q
= M(q)¨q + C(q, q) q + F( q) + G(q)
(11)
where
q
is the vector of generalized joint coordinates describing the pose of the manipulator
q
is the vector of joint velocities;
¨
q
is the vector of joint accelerations
M
is the symmetric joint-space inertia matrix, or manipulator inertia tensor
C
describes Coriolis and centripetal effects -- Centripetal torques are proportional to
q
2
i
,
while the Coriolis torques are proportional to
q
i
q
j
F
describes viscous and Coulomb friction and is not generally considered part of the rigid-
body dynamics
G
is the gravity loading
Q
is the vector of generalized forces associated with the generalized coordinates q.
The equations may be derived via a number of techniques, including Lagrangian (energy
based), Newton-Euler, d'Alembert[2, 12] or Kane's[13] method. The earliest reported work
was by Uicker[14] and Kahn[15] using the Lagrangian approach. Due to the enormous com-
putational cost, O
(n
4
), of this approach it was not possible to compute manipulator torque
for real-time control. To achieve real-time performance many approaches were suggested,
including table lookup[16] and approximation[17, 18]. The most common approximation
was to ignore the velocity-dependent term C, since accurate positioning and high speed
motion are exclusive in typical robot applications.