You are on page 1of 3

# Example of dynamics computation (Euler-Lagrange and Newton-Euler formulations):

## Prismatic-Prismatic-Prismatic (PPP) manipulator (3-link Cartesian manipulator) Solution to

Problem 7.7
Consider a Prismatic-Prismatic-Prismatic (PPP) manipulator (3-link Cartesian manipulator). The dynamics
of the manipulator will depend on the arrangement of the joints and links (i.e., which direction the first joint
actuates in, which direction the second joint actuates in, etc.). Let the first joint actuate in the vertical direction
(i.e., up and down in the direction of gravity). Let the coordinate system of the base frame (frame 0) be such
that the z0 axis is along the translation axis of the first joint, the y0 axis is parallel to the translation axis of
the second joint, and the x0 axis is parallel to the translation axis of the third joint. Also, let gravity be along
z0 . The joint variables are q1 = d1 , q2 = d2 , and q3 = d3 . Let the masses of the links be m1 , m2 , and m3 .
Since this manipulator has only prismatic joints, the inertia matrices of the links do not need to be calculated.
However, since the part (a) of Problem 7.7 asks to compute the inertia matrices of the links, we can find the
elements of the inertia matrices by the volume integrals for Ixx , Ixy , etc. The inertia matrix for each link will
depend on the angular orientation of the link relative to the corresponding link-fixed frame. For example, if,
according to the Denavit-Hartenberg (D-H) convention, we pick z1 along the actuation axis of the second joint
and pick x1 to be perpendicular to both z0 and z1 , then we would have x1 to be parallel to x0 and y1 to be
along z0 . Then, y1 is parallel to the edge of the link which is of length 1 and x1 and z1 are parallel to the
edges which are of length 41 . Then, if the origin of the 1-frame is at the center of link 1 (which would be the case
according to the D-H convention if the actuation axis of the second joint is connected centered with the center
m
17
m
1
m
17
of the first link), we would have: Ixx = 12
(L2 + H 2 ) = 192
, Iyy = 12
(W 2 + H 2 ) = 96
, Izz = 12
(W 2 + L2 ) = 192
.
By symmetry, the cross
products
of
inertia
(I
,
I
,
etc.)
are
all
zero.
Therefore,
the
3

3
inertia
matrix
for
xy
xz

17
0
0
192
1
0 . However, if we were to pick the 1-frame such that the origin of the
link 1 would be I1 = 0
96
17
0
0 192
 2
1-frame is at the end of the link, i.e., offset along y1 axis by distance 12 , then, an additional m1 21 = 14 would

65
0
0
192
1
0 . The
be added to Ixx and Izz ; thus, the 3 3 inertia matrix for link 1 would be I1,e = 0
96
65
0
0 192
inertia matrices for links 2 and 3 can be found similarly given the angular orientations of these links relative to
their link-fixed coordinate frames and the origins of the coordinate frames.
Some simplifying assumptions: Let the joint variable d1 be defined to be the vertical component of the
vector from the origin of frame 0 to the center of mass of link 1 (i.e., the potential energy of link 1 is m1 gd1 ).
Also, assume that the joints and links are attached such that the centers of mass of the three links are in
the same horizontal plane, i.e., the vertical elevations of the centers of mass of link 2 and link 3 are also d1 .
Hence, the potential energies of the second and third links are m2 gd1 and m3 gd1 . Also, assume that the linkage
between links 2 and 3 is such that when joint 2 actuates, it shifts the center of mass of link 3 by distance
q2 . Mathematically, since this is a purely prismatic manipulator (i.e., inertia matrices are not relevant), this is
equivalent to assuming that the mass of each link is at the end of the link.
Euler-Lagrange formulation to find the dynamics: Since this manipulator has only prismatic joints, the
angular velocity Jacobian matrices corresponding to the three links are

0 0 0
J1 = J2 = J3 = 0 0 0 .
(1)
0 0 0
We find the linear velocity Jacobian matrices of the three links to be:

0 0 0
0
0 0 0
Jv1 = 0 0 0 ; Jv2 = 0 1 0 ; Jv3 = 0
1 0 0
1 0 0
1

0
1
0

1
0 .
0

(2)

## Hence, the matrix D(q) is given by:

D(q) = m1 JvT1 Jv1 + m2 JvT2 Jv2 + m3 JvT3 Jv3 + JT1 R10 I1 (R10 )T J1 + JT2 R20 I2 (R20 )T J2 + JT3 R30 I3 (R30 )T J3

m1 + m2 + m3
0
0
0
m2 + m3 0
=
0
0
m3

(3)
(4)

Since D(q) shown in equation (4) is a constant matrix, all the Christoffel symbols cijk are zero for this manipulator.
The potential energy of the manipulator is given by:
P = m1 gq1 + m2 gq1 + m3 gq1 .

(5)

Hence,

g(q) =

P
q1
P
q2
P
q3

(m1 + m2 + m3 )g

.
0
=
0

## Hence, the dynamical equations of the manipulator are given by:

q1
f1
D(q) q2 + g(q) = f2
q3
f3

(6)

(7)

where f1 , f2 , and f3 are the applied forces at the three prismatic joints. Hence, the dynamical equations can
be written as:
(m1 + m2 + m3 )
q1 + (m1 + m2 + m3 )g = f1
(m2 + m3 )
q 2 = f2
m3 q3 = f3 .

(8)

Newton-Euler formulation to find the dynamics: Since this manipulator has only prismatic joints, the
torque equations in the Newton-Euler formulation do not need to be written and the force equations can be
written in either body-fixed frame or inertial frame.
Using body-fixed frame:
Forward recursion: The angular velocity of link 1 is 1 = [0, 0, 0]T . To assign the Denavit-Hartenberg
coordinate frames, pick z0 upward and x0 pointing out of the page (i.e., y0 to the right); pick z1 pointing
to the right (actuation axis of the second joint) and x1 pointing out of the page (i.e., x1 is parallel to
x0 ); pick z2 pointing out of the page (actuation axis of the third joint) and x2 pointing down (i.e., x2 is
parallel to z0 ). Pick z3 along same direction as z2 (with origin of frame 3 at the end-effector) and x3
parallel to x2 . Then, we have y1 parallel to z0 , z1 parallel to y0 , y2 parallel to y0 , z2 parallel to x0 . The
Denavit-Hartenberg table for this manipulator is:
Link
1
2
3

ai
0
0
0

i
-90o
90o
0

di
q1
q2
q3

i
0
90o
0

By the simplifying assumptions mentioned on page 1, the linear accelerations of the center of mass of link
1 and of the end of link 1 are both ac,1 = ae,1 = R01 q1 z0 =
q1~j. Note that we can, in general, define
the end of the link to be at any convenient location (fixed to the link) as long as we keep the equations
consistent. Here, the notations ~i, ~j, and ~k denote the 3 1 unit vectors, i.e., ~i = [1, 0, 0]T , ~j = [0, 1, 0]T ,
~k = [0, 0, 1]T . The gravity vector written in frame 1 is given by g1 = g~j. The angular velocity of link 2
is 2 = 0. Again, by the simplifying assumptions listed on page 1, the linear acceleration of the center of
mass of link 2 and the end of link 2 are: ac,2 = ae,2 = R12 ae,1 + R02 q2 y0 = R12 q1~j + q2~j =
q1~i + q2~j.
~
The gravity vector written in frame 2 is also g2 = g i. The angular velocity of link 3 is 3 = 0. Again,
by the simplifying assumptions listed on page 1, the linear acceleration of the center of mass of link 3 is:
ac,3 = ae,3 = R23 ae,2 + R03 q3 x0 = R23 (
q1~i + q2~j) + q3~k =
q1~i + q2~j + q3~k. The gravity vector written in
frame 3 is also g3 = g~i.
2

Backward recursion: The torque equations do not need to be written since this manipulator has only
prismatic joints. Start with f4 = 0. Then, f3 = m3 (ac,3 g3 ) = m3 [(
q1 + g)~i + q2~j + q3~k]. Then,
2
~
~
~
~
~
f2 = R3 f3 + m2 (ac,2 g2 ) = m3 [(
q1 + g)i + q2 j + q3 k] + m2 [(
q1 + g)i + q2 j]. Note that R32 is the identity
matrix. Then,

0 0 1
m3 (
q1 + g) m2 (
q1 + g)
m1 (
m3 q2 + m2 q2
f1 = R21 f2 + m1 (ac,1 g1 ) = 1 0 0
q1 + g)~j
(9)
0 1 0
m3 q3

m3 q3
q1 + g) m2 (
q1 + g) m1 (
q1 + g) .
= m3 (
(10)
m3 q2 + m2 q2
Since the actuation of the first joint is along z0 = y1 , the actuated joint force for the first joint is f1,y .
Since the actuation of the second joint is along z1 = y2 , the actuated joint force for the second joint is f2,y .
Since the actuation of the third joint is along z2 = z3 , the actuated joint force for the second joint is f3,z .
(i)
(i)
Another way to see which joint forces are the externally actuated forces is to look at fiT zi1 where zi1
(1)

(2)

(3)

denotes the axis zi1 written relative to frame i; here, f1T z0 = f1,y , f2T z1 = f2,y , and f3T z2 = f3,z .
We see that f1,y = m3 (
q1 + g) + m2 (
q1 + g) + m1 (
q1 + g), f2,y = m3 q2 + m2 q2 , and and f3,z = m3 q3 .
Therefore, the dynamics equations are:
(m1 + m2 + m3 )
q1 + (m1 + m2 + m3 )g = u1
(m2 + m3 )
q2 = u2
m3 q3 = u3

(11)

where u1 , u2 , and u3 are the actuated forces for the first, second, and third joints, respectively.
Using inertial frame:
Forward recursion: The angular velocity of link 1 is 1 = [0, 0, 0]T . By the simplifying assumptions
mentioned on page 1, the linear accelerations of the center of mass of link 1 and of the end of link 1 are
ac,1 = ae,1 = q1~k. Since we are using inertial frame, the gravity vectors are given by g1 = g2 = g3 = g~k.
The angular velocity of link 2 is 2 = 0. Again, by the simplifying assumptions listed on page 1, the linear
acceleration of the center of mass of link 2 and end of link 2 are: ac,2 = ae,2 = q1~k + q2~j. The angular
velocity of link 3 is 3 = 0. Again, by the simplifying assumptions listed on page 1, the linear acceleration
of the center of mass of link 3 is: ac,3 = q1~k + q2~j + q3~i.
Backward recursion: The torque equations do not need to be written since this manipulator has only
prismatic joints. Start with f4 = 0. Then, f3 = m3 (ac,3 g3 ) = m3 [(
q1 + g)~k + q2~j + q3~i]. Then, f2 =
f3 +m2 (ac,2 g2 ) = m3 [(
q1 +g)~k + q2~j + q3~i]+m2 [(
q1 +g)~k + q2~j]. Note that if we are doing the calculations
in inertial frame, then all the forces and torques are being written in the same coordinate frame and hence,
we do not need to multiply with any rotation matrices during the recursive calculations of the forces and
torques. Then, f1 = f2 + m1 (ac,1 g1 ) = m3 [(
q1 + g)~k + q2~j + q3~i] + m2 [(
q1 + g)~k + q2~j] + m1 [(
q1 + g)~k].
If we are writing the equations in inertial frame, the actuated joint forces for this manipulator are the z
component of f1 , i.e., f1,z , the y component of f2 , i.e., f2,y , and the x component of f3 , i.e., f3,x . We see
that f1,z = (m1 + m2 + m3 )
q1 + (m1 + m2 + m3 )g, f2,y = (m2 + m3 )
q2 , and f3,x = m3 q3 . Therefore, the
dynamics equations are:
(m1 + m2 + m3 )
q1 + (m1 + m2 + m3 )g = u1
(m2 + m3 )
q2 = u2
m3 q3 = u3
where u1 , u2 , and u3 are the actuated forces for the first, second, and third joints, respectively.

(12)