Luh 1979
Luh 1979
165
166 J. Y. S. Luh, M. W. Walker and R. P. C. Paul
9- k
[! 0
0
0
0
0
0 !J
if joint k is
rotat i ona I ,
system (x., y . , z.) associates with the
joint i+l; and
- I -I -I
~i
Based on equation (2), a FORTRAN program was be the same origin of (~4' Y4' !4)'
written for POP 11/45 computer which computes
the Input torques and forces for all the With the above definition, the system (~I'
joints. The program has an average execution y., z.) for i"'I,2, ••• ,5, is fixed on link I
-I -I
time of 7.9 sec. for a Stanford manipulator
and hence moves with 1 ink i, a I though ~i
as shown in Figure I. I t is too long to be
useful for on-l ine operations. represents the motion of link i+l. But the
system (x
-0
, y_0 , -0
z ) is fixed on Link 0, the
This paper presents a Newton-Euler formula-
stationary pi liar.
tion of equations of motion for mechanical
manipulators. The method is independent of
Newton-Euler formation of manipula tor dynami c s 167
,
\ '
\ \ ' '\
\ \ X " - V3
"\ \ \ -3','
~-3
_Z
I \
\ \
\ \
.. \ ~4
X'
-4\~
\ 1
Y4 lf"
\
~5~'~5 I·
\ :(5
MOVING COORDINATES
YI+I
As Indicated above, there is one coordinate
system attahced to each link of the manIpu-
lator. Thus the coordinates move together
with links. Consider the following three
coordinate systems as shown in Figure 2:
the base coordinates (x-0 , y-0 , -0
z ) attached
to link 0 with origin 0, the coordinates
(x-I. , Y.,
-I
z.)
-I
attached to link i with origin
0*, and the coordinates (~i+I' Yi+I' ~I+I)
attached to link 1+1 with origin O~. Thus
O~ is located by the position vector r re-
lati·ve to origin 0, or the vector s relative Fig. 2 . Relationships Among Three Coordinate
to origin 0*. As shown in Figure 2, these
vectors are related by: Systems.
- -
r • s + e
- (5) cross-product.
Is given by
Thus the I i near acce I e ra t i on
z ) and (x. , z.) • Then where pt+1 is the position of the origin of
Yo' -0 -I :il' - I
( 8) coordinates (~i+I' Yi+I' ~i+I)' which is
W
-r
= W
-e + W
-s
attached to link i+I, relative to the origin
and
W = W-e
. + W (9)
of (x.,
-I
y-I. , -z.).
I
If link i+1 is transla-
-r -s tional in coordinates (x., y., z . ), it trav-
-I - I -I
But = d"'w Idt + (10) ~i
W
-s -s -e x W
W
-s els in the direction with a joint
{
and angular velocities of link i with (!.l i+IXEi+~+Yi' if link i+1 is
reference to the base coordinates (~o' :io' rotat i ona I ,
z). Since, by the definition given pre- Yi+1 =. '"
-0 ~i qi+I+~i+lxei+I+Yi' if I ink i+1
viously, an angular motion of link i+1 is
is translational, (20)
about ~i axis, then
{wo.,
-I -I qi+I' If I ink i+1 Is rotational
(16), (20) and (21) give the recursive re-
lations of velocities and accelerations be-
~i+l= tween links i and i+l.
w if I ink i+1 is trans la-
i
tional, EQUATIONS OF MOTION FOR MANIPULATORS
( 15)
D~Alembert's Principle will be applied to
w.+z.
-I - I
q'+I+w.x(z.
I -I -I
q'+I)'
I each link of the amnipulator. Let
W = if link i+1 is rotational, m total mass of link i, a scalar,
-i+1 i
{ W., if link i+1 is translational, '"r.
-I = position of the center of mass of
-I link i with reference to base co-
(16)
ordi nates,
The linear velocity and acceleration can be
obtained from (6) and (7) in which ~-I. .. dr./dt,
-I
linear velocity of the
.. p* ( 17)
l! _1+1 center of mass of link i, with
New t on- Eul er fo rma ti o n of ma n i pul ator dynam i cs 169
reference to base coordi nates, Figure 3. Let 0' be situated at its center
of mass. Then, by the convention shown in
F.
-I
= total external vector force
* A A
exerted on link i, Figure 2, I?i-l' I?i' I?i' !"i' and ~i are de-
N. total external vector moment ex- fined and indicated in Figure 3. Thus to
-I
e rted on 1 ink i, compute ~. and
-I
Q.
-I
from (6) and (7), replace
inertia matrix of link i about its
J.
-I
center of mass in (~o' lo' ~o)'
S
-
by s.
-I
~..
and -r by -I Now -r
v and -r in (6), v
(7), and Figure 2 are the 1 inear velocity
viscous friction coefficient
associated with translational and acceleration of r with reference to
base coordinates, and their counter parts in
motion, Figure 3 are the linear velocity and accel-
viscous friction coefficient eration of 1. (or the linear velocity and
associated with rotational motion. accelerationlof the center of mass of link
i) with reference to base coordinates . Thus
Then replace -r
v in (6) by and -r in (7) by -I v. v v..
-I
F.
-I
dem oI ~.)/dt
I
+ g .I q.I ~./
-I
I I~- .I
I
I Also, based on (10), replace -e
(! v.,I - e
by - w by
N.
-I
d(J. W.)/dt + h .I
- I -I
<i .I ~ ·I-l z.) and s.
-I -I
are fixed on l i nk i. Consequent-
l y (6) and (7) become
J . w.
-I -I
+ w.
-I
x (J.
-I
~ .I) + h ·1 q ·1 _z ·l _l(23)
A A
follows. Consider link i alone as shown in Xi = force exerted on 1 ink i by 1 ink i-I,
o* .. origin of
(~i' ~ i ' ~ i)
Link 1+1
!!i .. I?i
o - Origin of
(~i -1' 't i -1' ~ i-I )
Link 1-1 ~o
n.
-I
moment exerted on link i by link Yo = Q. However, to Include the gravity in
i-I. the equations of motion, v is defined as
-0
Then
F.
-I
N.
-I [) 'I-[)'I+I + {p .1- I-~·)xf.
-I -I - (.e.-~
(26)
I -I. )xf·+1
-I
v
-0
~.806" !.t..",.c'] (31)
,.. 'I<
for a level base at sea level. Re fe r ring to
[)i-[)i+1 + (Pi-I-r) x ~i-.ei x !i+1 equations (21) and (25) reveals that its ef-
fect wi II be added to each link acceleration
(27) and hence to each link force F. th rough
equation (22). -I
•
Since (r.-pA *
= (o.+s.),
A
- I .I - I) I: I -I
then from (26)
COMPUTATIONAL SCHEME
and (27) one obtains the recursive rela-
tions: The equations of motion derived in the pre-
ceding section are referenced to the base
f.
-I
(28) coordinate systems. Unfortunately the
inertia matrix ~i is dependent on the ori-
n.
-I
~'I+I + 2'1* x -I * ,..s . ) xF. + N.
f ' + 1 + {2·+
I -I -I -I entation of link i, which is changing. Thus
the computation is quite complicated. A
more efficient technique for computing the
For manipulators with n joints and n+1 links, joint input forces and torques is to have
!n+1 and [)n+1 are respectively the forces each link I s dynami cs re fe renced to its own
link coordinates as follows.
and moments exerted by the hand (i.e. link
n) upon an external object. Equations (28) i
Let ~i-I be a 3x3 matrix which transforms any
and (29) are similar to those described by
Paul (1972) for computing the joint forces vector with reference to (x.,
-I 't., z.) co-
I -I
or torques requi red to exert a given force ordinate system to a new coordinate system
or moment on an external object with the whose coordinates are parallel to (~i-I'
hand. The difference is the inclusion of
the terms involving -I
F. and N. in (28) and 't.1- I' -1-
z. I)' but its origin is the same as
-I
(29), which represent the additional terms that of (~i' 't ·I , z.), i.e., a pure rotation.
needed to move link i. Thus -I
Ai = Al 2 i
By convention, if joint i {and hence link i} -0 -0 ~I ... ~i-I
is rotational, then its motion is about the
~i-I axis. Therefore, the input torque 'i Since each coordinate system is orthonormal,
then
at that joint is the projection of [)i onto
i -I i" i-I
~i-I' If, however, joint i {and hence link (~i-I) = (~i-I) = (~i )
i} is translational, then its motion is a- where ( )" = transpose of ( ).
along the z . I axis. Then the input force
"1 at that-JOint is the projection of -I
f. on- Instead of computing ~i+I' ~i+I' etc., com-
to ~i-I' Thus pute ~~+I ~i+I' ~~+I ~i+I' etc. Hence the
[) i • ~ i -I' i f link is rotational complete set of equations of motion becomes:
,.
I
(30) (IS) :
is translational, i (o 0
~i+1 ~i ~i + ~i ~i qi+I)'
where ' i is the input torque for link i (if if link i+1 is rotational,
it is rotational) or the input force for o
link i (if it is translationa1), and "." ~i+1 ~i+1 =
i
A'+ (o
A. ~I)' if link i+1 is
denotes the dot product.
-I I -I translational,
In summary, the complete set of equations of
motion for the manipulator with n joints and (16) :
n+1 links consists of equations (IS), (16),
(20) through (25), and (28) through (30),
for i=O,I, ... ,n. Note that wand cO are
i
A'+
0
-I I [A.
-I -I
w.
A~ -I
+ -I z. qi+1
-0 -0
the angular velocity and acceleration of the + (~~ ~i)x{~~ -I
z. qi+I)),
base, while Yo and Yo are the linear velocity if link 1+1 is rotat i ona I ,
o •
and acceleration of the base. ~i+1 ~i+1
A~+I{A~
-I
w ),
-1- l
if link i+1 is
If the base is bolted on the platform and translational.
link 0 is stationary, then ~o • ~o ~ Q, and (35)
Newton-Euler formation of manipulator dynamics 171
Equations (34) and (35) can be simplified own coordinates (~I' ri' ~I)"
as
(24) :
A~+I(A~
-I -I w.
-I + -0
z q'+I)'
I
o'" (0 ) (0"') 0'"
A YI"
-i ~I ~i x ~i ~I + ~i ~i (43)
if link i+1 is rotational,
°
~i+1 ~i+1 .. ° '"
where ~I ~ i is the center of mass of 1 i nk i
A~+I(A~ w.), if link i+1 is
referred to its own coordinates (x., 'l" z.),
-I -I -I translational, -I I -I
( 36) (25) :
I [0.
~i+1 ~i ~i + ~o ql+1
.. 0:'
~I Yi"
(0,)(0"')
~i ~i x ~I ~i + (~i ~i)
°
+ (~~ ~i) x (~o ql+l»)' x [(A~ w.)x(A~
-I -I
s.)] + -A~I -V.I
-I -I
( 44)
if link i+1 is rotational,
° .
~i+1 ~i+1 ..
(28) :
i (0')
~i+1 ~i ~i ' if link 1+1 is A~
-I -I
A~+I (A~
f. = -I -1+1 _f.l + l ) + A~ F
-I -i
(45)
trans lational.
(37)
where
A~ -I
-I
n. = -A~+I[A~
I -1+1
(Ao *)
!:li+l + -i+1 ei
8°i J\~i )
(38) o )] + (Ao. *
x (A-i+1 -i+l
f
- I ei +
(20) :
x (A~ A~I -N.
F.) + - (46)
(~~+I~i+I)X(~~+le~+I)+~:+I(~~~I)'
-I -I I
(30) :
if link i+1 is rotational,
{
(A~ !:li)·(~:-l ~o), if link i is
-I rotational,
['~'
A.I -cos Cl.
I
sin 9 .
I
Ai = sin 9.I cos Cl. cos 9.I
- i-I I
0 sin Cl.
I
° Yi+1 =
~i+l sin Cl. sin
I (.. 0.) (0'
~i+1 ~oql+l+~iYi + ~I~i+l
) -sin Cl.
I
I
cos 9.
I
8J (48)
cos
° * °
x(~i+lei+l)+2(~I+I~i+l)
Cl.
I
and
x(~:+I~oqi+l)+(~~+I~i+l)
° ° *
x[(~i+l~i+l)x(~i+lei+I»)'
if link 1+1 Is translational.
(40)
~~ e~ = [i s~~ i]
r. cos
I
Cl
Cl.
I
(22) :
Finally the computational algorithm can be
.. m. stated as follows:
I
A. Given constants are:
A~ N.
-I -I
. (A~ J. i 0'
-I -I ~o)(~i ~i)
1,1
n .. nurrber of joints (i .e. n+1 I inks),
.. W - 0 and -v 0.. -0'
~o
~~)(~~ ~I)]
-0 -
+ (A~ W.)x[(A~ J.
-I -I -I-I