Professional Documents
Culture Documents
Foundations of Robotics
Analysis and Control
Tsuneo Yoshikawa
This book was set in Times Roman by Asco Trade Typesetting Ltd. in Hong Kong and was
printed and bound in the United States of America.
Preface IX
1.1 Mechanisms
1.2 Controller 9
Exercises 11
References 12
2 Kinematics 13
Exercises 76
References 80
vi Contents
3 Dynamics 81
Exercises 123
References 1 25
4 Manipulability 127
Exercises 153
References 153
6 Force Control 21 1
Exercises 240
References 242
Index 283
Preface
Robots are now widely used in factories, and applications of robots in space,
the oceans, nuclear industries, and other fields are being actively developed.
Also, for the future, the use of robots in every facet of society, including the
home, is being seriously considered. To support the development of these
broad applications, robotics has evolved into a systematic approach to the
engineering of robots.
This book has been written with the objective of presenting some fun
damental concepts and methodologies for the analysis, design, and control
of robot manipulators in an easily understandable way. I believe that this
knowledge is useful not only in robotics but also in the analysis and control
of other types of mechanical systems.
The book is based on class notes used at Kyoto University. It is intended
as a text or reference book on robotics, mainly for graduate students in
engineering. Junior and senior undergraduate students, however, should
also be able to understand the material without much difficulty. The
physical meanings of the concepts and equations used in the book are
explained as fully as possible, and the required background in kinetics,
linear algebra, and control theory is presented in an intuitively clear way
to spare the reader from having to refer to texts in those other fields.
The book is organized as follows. After an overview in chapter 1, chapters
2 through 4 cover the analysis of robot manipulator mechanisms. Based
on this analysis, chapters 5 through 7 discuss the control of robot mani
pulators.
Chapter 1 introduces several typical robot manipulator mechanisms and
their controllers, in order to acquaint the reader with the kind of hardware
that will be dealt with. Chapter 2 covers the kinematics of robot manipula
tors, studying geometrically the motion of manipulator links and objects
related to the manipulation task in terms of position, velocity, and acce
leration. Chapter 3 deals with the dynamics of robot manipulators, looking
at how the manipulator'S motion is affected by its mass distribution and
applied forces. This chapter includes the derivation of the dynamic equa
tions of motion, their use for control and simulation, and the identification
of inertial parameters. Chapter 4 develops the concept of manipulability
to analyze and evaluate quantitatively the manipulation ability of mani
pulators. This concept is examined first from the viewpoint of kinematics
and then from the viewpoint of dynamics.
Chapter 5 covers various position-control algorithms that make the end
effector of a manipulator follow a desired position trajectory. Chapter 6
x Preface
discusses two typical force-control methods. These make the contact force
between the end effector and its environment follow a desired force trajec
tory. Chapter 7 discusses, for manipulators with redundant degrees of
freedom, a way to develop control algorithms for active utilization of the
redundancy. The appendixes give compact reviews of the function atan2,
pseudo-inverses, singular-value decomposition, and Lyapunov stability
theory.
When writing a textbook in a changing field like robotics in which many
new achievements are being unveiled day by day, one usually has a difficult
time deciding what to include. I have attempted to include as many impor
tant results as possible. At the same time, I have tried to present them
plainly with the help of many illustrative examples.
It is my pleasure to thank several people who have contributed in various
ways to the completion of this book. The content and the form of this book
are much influenced by Richard P. Paul's pioneering book Robot Mani
pulators (MIT Press, 1981), which I translated into Japanese in 1984. I wish
to thank Yoshihiko Nakamura and Toshiharu Sugie, with whom I have
worked on research projects that some parts of this book are based on.
Yasuyoshi Yokokohji read the manuscript and provided many useful
comments. Discussions with Junichi Imura and Kiyoshi Maekawa proved
valuable in the writing of the section on adaptive control (section 5.6). Mike
Lipsett, who happened to be with me at Kyoto University at a critical stage
in the writing of the English version, contributed many improvements.
Takashi Hosoda, Jun Koreishi, Junichi Imura, and Osamu Suzuki helped
me with revisions and corrections. Masako Awakura performed the magic
of turning all my vague scribbling into a finely typed manuscript.
This book is mostly a translation of my Japanese book Robotto Seigyo
Kisoron (Foundations of Robot Control), published in Tokyo by Corona
Publishing Co. Ltd. in 1988. I am grateful to Corona for its cooperation
and support in publishing this English version. I also wish to thank Frank
P. Satlow and Teresa Ehling of The MIT Press for patiently awaiting my
manuscript. My wife, Sanae, supported and encouraged me at home during
the writing of this book.
Foundations of Robotics
1 Overview of Robotic Mechanisms and Controller
1.1 Mechanisms
Recognition subsystem
r--------------,
I
I I
Motion subsystem I
I :
I
I
: 0 I
I I
I
I
_J
Figure 1.1
Robot system.
T (a) (b)
Figure 1.2
Symbols of joints (arrows show direction of motion). (a) Prismatic joint. (b) Revolute joint
1. (c) Revolute joint 2. (cl) Up-and-down rotation. (c2) Back-and-forth rotation.
Fig ure 1.3 shows several types of arm melO:hanisms: (a) the orthogonal
coordinate type, (b) the cylindrical-coordinate type, (c) the polar-coordinate
type, (d) the vertical multi-joint type, and (e) the horizontal multi-joint type.
Type a is structurally simple and rigid, and so its positioning accuracy is
high. Types b-e are inferior to type a in positioning accuracy; however,
they need less floor area for a base, and they have broader reach. Every
mechanism in figure 1.3 has three degrees of freedom, which is the minimum
number of degrees of freedom needed for placing the endpoint of the arm
at an arbitrary point in three-dimensional space. Here the degree of freedom
is defined as the minimal number of position variables necessary for com
pletely specifying the configuration of a mechanism.
The wrist is connected to the end of the arm portion. The main role of
the wrist is to change the orientation of the hand. Examples of wrist
mechanisms are shown in figure 1.4. Type a is similar to the human wrist;
Overview 3
� I
(c)
(a) (b)
(d) (e)
Figure 1.3
Arm mechanisms. (a) Orthogonal-coordinate type. (b) Cylindrical-coordinate type. (c)
Polar-coordinate type. (d) Vertical multijoint type. (e) Horizontal multijoint type.
To ann
End effector
(a) (h) (c)
Figure 1.4
Wrist mechanisms.
4 Chapter 1
J1
J3 J3
(a) (b)
Figure I.S
Three Roll Wrist. (a) Drive mechanism. (b) Profile.
degrees-of-freedom wrist,3 which can get away from the singular con
figurations by actively using the mechanical redundancy.
Overview 5
J1
J2
_�_l
Mechanism for rotating through
Mg.
Zw
J3 I
I I
I I I
J 3' __ J I I
I I
I I
J2' I
I
, I
'../
(a) (b)
Connected to
ann portion
Connected to
hand portion
(c)
Figure 1.6
ET wrist. (a) Basic structure. (b) Example of motion. (c) Mechanism.
J1
J2
J3
J4
Figure 1.7
Four-degrees-of-freedom wrist.
6 Chapter 1
Figure 1.8
Combination of arm portion and wrist portion.
Figure 1.9
PUMA 260 (courtesy of Westinghouse Automation Division/Unimation Inc.).
For example, figu re 1.8 is the combination of fig ures 1.3d and l.4b, and the
design of the robot in figure 1.9 is based on this combination. Figure 1.10
is the combination of figures 1.3d and l.4c, and fig u re 1.11 show s an
example of this combination. Figure 1.12 is the combination of figures l.3c
and l.4b; fi gu re 1.13 shows an example of this kind of robot. Figure 1.14
is the combination of figure s l.3a and l.4b, and figure 1.15 shows an
example of this combination.
Depending on the purpose, there are often cases where six degrees of
freedom are not required, and there are many industrial manipulators on
the market that have only five degree s of freedom or fewer. One represen
tative example is shown in figure 1.16, which is the combination of figure
Overview 7
Figure 1.10
Combination of arm portion and wrist portion.
--, .
Figure 1.11
T3-786 Robot (courtesy of Cincinnati Milacron, Japan Branch).
Figure 1.12
Combination of arm portion and wrist portion.
8 Chapter 1
Figure 1.13
Kawasaki Unimate (courtesy of Kawasaki Heavy Industries, Ltd.).
Figure 1.14
Combination of arm portion and wrist portion.
Figure 1.15
IBM 7565 Robotic System (1984) (courtesy of IBM Corp.).
Overview 9
Figure 1.16
SCARA-type robot.
1.3e and a wrist portion with just one joint rotating about a vertical axis.
This four-degrees-of-freedom manipulator is called a SCARA (Selective
Compliance Assembly Robot Arm).4 Manipulators with seven degrees of
freedom or more have also been developed.
1.2 Controller
Figure 1.17
Rough sketch of position-control system.
r.====:::>End-effector position
Position (velocity) of
joint 1
Desired trajectory
for end effector
.
DeSlre d
. Position (velocity) of
Jomt
joint 2
trajectory
generator , l. l _r-==:::n==:--J
Position (velocity) of
j oint n
Figure 1.18
Example of controller.
Figure 1.19
Position-velocity feedback servosystem.
Overview 11
Figure 1.20
Four-joint wrist with distance between axes of joints 12 and 13 set to zero. (J2 and 13 are in
the horizontal plane and orthogonal to each other.)
them as disturbances. However, when there are severe demands for fast and
accurate positioning, the tracking performance of this type of controller is
no longer adequate. Eventually it would be necessary to return to figure
1.17 and to design the controller taking into consideration the interaction
among joints and the change of dynamics.
In force control, it is generally necessary to measure the forces driving
the joints or the contact force between the end effector and the object by
force sensors, and to feed these signals back to the controller.
In the following chapters, we will study the fundamentals of the analysis
and control of robot systems such as those described above.
Exercises
1.1 How many degrees of freedom do you think the human arm has
(except for the hand portion)? Draw a structural model of a manipulator
equivalent to the human arm using the symbols in figure 1.2.
1.2 Figure 1.20 shows a wrist mechanism obtained from the four deg rees -
of-freedom wrist shown in figu re 1.7 by setting the distance between the
axes of joints J2 and 13 to zero. Find the singular configurations of this
wrist. Is it possible to avoid these singular configurations without changing
the orientation of the end effector?
1.3 Consider the task of inserting a peg with a cir c ula r cross-section into
a cylindrical hole in a plate with arbitrary position and inclination. How
12 Chapter 1
References
1. T. Stackhouse, "A New Concept in Robot Wrist Flexibility," in Proceedings of the Ninth
International Symposium on Industrial Robots (1979), pp. 589-599.
2. J. P. Trevelyan et aI., "ET -A Wrist Mechanism without Singular Positions," In terna tional
Journal of Robotics R esearch 4, no. 4 (1986): 71-85.
3. T. Yoshikawa and S. Kiriyama, "Four-Joint Redundant Wrist Mechanism and Its Con
trol," ASME Journal of Dynam ic Systems. Measurement. and Control 11 I, no. 2 (1989):
200-204.
4. H. Makino and N. Furuya, "SCARA Robot and Its Family," in Proceedings of the
International Conference on Assembly Automation (1982), pp. 433-444.
The following are well-written textbooks on robotics. They affected the style of this book
in many ways.
R. P. Paul, Robot Manipulators: Mathematics. Programming. and Control (MIT Press, 1981).
H. Asada and J.-J. E. Siotine. Robot Analysis and Control (Wiley, 1986).
J. J. Craig, I ntroduction to Robotics (Addison-Wesley, 1986).
2 Kinematics
coordinate frame. The former is called the object frame and the latter the
the three axes of the attached frame relative to a given reference orthogonal
reference frame.
* Vectors and matrices are denoted by boldface italic letters, the only exception being identity
matrices and zero matrices; those will be denoted by I and 0, respectively.
14 Chapter 2
z.
JL.------<:> y•
.\,
Figure 2.1
Reference frame and object frame.
in the directions of XB, YB, and ZB' expressed in kA' are denoted AXB, AyB,
and AZB . Then the position of the object is represented by ApB, and its
orientation is represented by {AXB' AyB, AZB}. The superscript A on the left
means that the vector is expressed in the frame kA• Hereafter, all frames
denoted by k are right-hand orthogonal coordinate frames.
(2.1 )
instead of the three vectors. This matrix ARB' which can be regarded as
describing the rotational part of the relative displacement of frame I:B from
frame I:A, is called the rotation matrix.
Example 2.1 Consider the problem of expressing the position and orien
midpoint of the two fingers. The ZH axis is in the approach direction of the
hand. The YH axis is in one of the two directions in the plane including the
two fingers and normal to ZH' The XH axis is assigned so as to be normal
to ZH and YH, mak ing I:H a right-hand coordinate system. We assume that,
agrees with the reference frame I:A, the hand is rotated 90° around the axis
starting from the state (shown in figure 2.2b) where the hand frame kH
that goes through [0,0,2Y of kA and parallel to XA" The hand's position
Kinematics 15
(a) (b)
Figure 2.2
Representation of position and orientation of a hand. (The black dot on one finger
distinguishes it from the other finger.) (a) Hand frame �H. (b) Relation between � .. and �H.
and
ARH � [� � -no,
Some properties of the rotation matrix will now be given. Since AX B, AyB,
and AZB are unit vectors orthogonal to one another, they satisfy
(AXB ) T AXB
(AY B f AY B
= 1,
(AZ B ) T AZ B
= 1,
= 1,
(AX B )T AY B 0,
(2.2)
(AYB f AZB = 0,
=
(AZB) T AXB O.
Hence AR B satisfies
=
(2.3)
YB
XB
Figure 2.3
Interpretation of"" = AR/r.
where R-1 denotes the inverse of a matrix R. Therefore, the rotation matrix
AR is an orthogonal matrix.
B
Consider the case where the origins of LA and LB are at the same point,
as shown in figure 2.3, and assume that a vector,. is described by
AI' = [ Ar"" Ary, ArzY
when expressed in LA' and by
or
(2.5)
Replacing LA and LB yields
(2.6)
(2.7)
(2.8)
or
(2.9)
Further, consider the case where the origin of a third frame, Lc, coi ncides
with the common ori gi n of LA and LB, and assume that r is described by
cr when expressed by Lc. Then
(2. 1 0)
(2.11 )
(2. 1 2)
(2.14)
Let XA, CYA, and cZA denote the un it vectors in the directions XA, �, and
c
ZA' and let cXB, CYB, and cZB denote those in the directions XB, YB, and ZB '
ARB =
[ (CXAfCXB (CXA)TCYB (CXA)TCZB
(CyAfCXB (CyA)TCYB (CyAfCZB .
]
both expressed in L . Then ARB can also be written as
c
(2. 1 5)
(CzAfCXB (CZA)TCYB (CZA)T CZB
Note that, for example, the (1,1) element, (CXA)TCXB, is t he cosine of the
elements. For this reason, the rota ti on matrix ARB is also called the direc
angle between the two vectors cXA and cXB. The same holds for all other
tional cosine matrix. The value of ARB is, of course, independent of the choice
Although ARB has nine variables t he y al w ays satisfy equation 2.2. Hence,
ofLc·
,
the representa tion by ARB is redundant. When any two of t he three vectors
AXB, AyB, and AZB are g iven we can obtain the last vector using equation
,
18 Chapter 2
ZA
ZA
t\
Z,=ZA
ZA=Z.
\ e
e ZA·
\
\
I
I
\ Y.;= Yl'
I
FO-.--+--=---{> YA �'-------{'>
\ Y.
1
I
I
I
Figure 2.4
Euler angles (,p.O. "') .
2.2.* For instance, the pair {AZB, AXB}, which has six variables, can represent
the orientation. So long as the elements of the rotation matrix themselves
are used, there seems to be no way of representing the orientation by five
or fewer variables. On the other hand, intuitively speaking, since equation
2.2 provides six relations to nine variables, the orientation should be
describable by three variables, just as the position is. In fact, Euler angles
and roll-pitch-yaw angles are convenient established representations. Both
of them regard the object frame LB as a result of three sequential rotations
about some fixed axes from the reference frame LA , and represent the
orientation of LB by the set of three rotational angles.
(i) The coordinate frame obtained from a rotation about the ZA axis by an
angle rP of a frame initially coincident with LA is named LAOA - XA , �,ZA ')'
(ii) The frame obtained from LA' by a rotation about YA, by an angle e is
named LA,, ( OA - XA " �" Z A" )'
(iii) The frame obtained from LA" by a rotation about ZA" by an angle '"
is named LB'
* Strictly speaking, determining the last vector requires, besides equation 2.2, the condition
that AXg. Ayg. and AZ8 form a right-hand system. See exercise 2.17.
Kinematics 19
set of three angles (fj), e,t/J), which are called te Euler angles. The relation
between the Euler angles and the rotation matrix ARB is as follows.
-sinfj) 0 ]
First, from figure 2.4a, the relation between I:A and I:A, is given by
o
cosfj) O . (2. 1 6)
1
Similarly, the rotation matrix A'RA" bet ween I:A , and I:A", and the rotation
[ cosO o Sine ]
matrix A"RB bet ween I:A " and I:B, are given by
o cosO
A'R " 0 1 0 (2.17)
A =
-sine
and
-sint/J
cost/J
0]
o . (2.1 8)
o 1
From eq u atio n 2. 1 3, the final rotation matrix ARB resulting from the three
rotations is obtained from
(2. 1 9)
which is
ARB =
[ cos¢> cosO cos'" - sin¢> sint/!
sin¢> cosO cost/! + cos¢> sin'"
- cos¢> cosO sin", - sin¢> cos'"
- sin¢> cosO sint/! + cos¢> cost/!
cos¢> Sino
sin¢> sinO .
]
-sinO cos'" sinO sint/! cosO
(2.20)
Let R(W,IX) denote the rotation matrix between a coordinate frame and the
frame obtained by its rotation about an axis W by an angle IX. Then
equation 2.20 can also be written as
( 2 .2 1 )
Hence w e have shown that the rotation matrix e q u ivalent to any Euler
angles (fj),e,t/J) is gi ven uniquely by equation 2.20.
Now consider the problem of obtaining the Euler angles for a given ARB'
Assume that
20 Chapter 2
(2.22)
is given. Equating each element of equation 2.20 and equation 2.22, we have
0= atan2(± JR 13 2 + R 2 /, R 33 ). (2.25)
Either the top or the bottom symbol of ± or =+= should be used consistently
throughout this section. In equation 2.25, atan2 is a scalar function defined
by
and
1m
( b, a)
atan2(a, b)
--��-L-----DRe
Figure 2.S
Function atan2.
for any positive real number k. Several properties of the function atan2 are
0 = atan2( ± JR 1 3
2
+ R 2/ , R 3 3), (2.3 1 b)
e = atan2(JR 1 3
2 Rz/ , R 33), (2.32b)
+
e = 90 0 - R 33 X 90 0, (2.33b)
22 Chapter 2
(2. 33c)
combinations of t/J and !/I for just one orientation. So special care should
In other words, in the case of 8 0 or 8 n, there is an infinite number of
= =
We can also find a general expression of the Euler angles for a given
rotation matrix which needs no distinction between the cases sin8 0 and =
or
The concept of roll, pitch, and yaw angles is basically the same as that of
Euler angles except for a difference in the way we select the third rotational
axis. In the case of roll, pitch, and yaw angles (figure 2.6),
(i) the frame obtained from :EA by a rotation about ZA by t/J is named :EA"
as with Euler angles,
Z.,=Z;
'\,1"=-.\"1
Figure 2.6
Roll, pitch, and yaw angles (¢, 8, t/I).
Kinematics 23
(ii) the frame obtained from LA' by a rotation about YA, by () is named L A'"
again as with Euler angles, and
(iii) the frame obtained from LA" by a rotation about XA" by t/I is named
LB'
Then I/J, () and t/I are called the roll, pitch, and yaw angles, respectively. The
triple (I/J, (), t/I) is said to be the representation by the roll, pitch, and yaw
angles of the orientation of LB with respect to LA '
Example 2.3 The representation by roll, pitch, and yaw angles of the
orientation in example 2.1 is given by
or
In figure 2.7 we assume that the relation between two coordinate frames
I:A and LB is given by the position vector 'PB and the rotation matrix A RB
of LB with respect to LA ' Then the relation between the expressions A,- and
B
y of a point in space by (respectively) LA and LB is
(2.34)
Figure 2.7
Frames 1:.. and 1:•.
24 Chapter 2
(2.3 5)
B
In this new expression, the three-dimensional vectors Ay and r must be
represented by the four-dimensional vectors obtained by adding the ele
ment 1 at the bottom of the original vectors. In return for this, the expression
obtained is simpler in the sense that the transformation from the expression
of a vector with respect to :EA to that with respect to :EB is d one by the
multiplication of j ust one matrix: ATB• The transformation represented by
A
the 4 x 4 matrix TB is called the homogeneous transform. The vector
[ArT, 1 Y may also be written as Ar when there is no confusion; for example,
equation 2.35 may also be written as
(2. 36)
(i) Changing the coordinate frame with respect to which a point in space is
expressed. This is what we did in equations 2.35 and 2.36 when we wished
B
to obtain the expression Ay with respect to :EA of a point expressed as r
with respect to :EB.
(ii) Describing the relation between two coordinate frames. Since ATB con
tains both of the parameters (ApB and ARB) that represent the relation of
:EB to :EA, ATB can be regarded as describing this relation. Although ATB has
no merit over the pair {ApB' ARB} in real numerical calculation, it allows
for greater simplicity of expression.
l
Example 2.4 As is shown in figure 2.8, when :EB is obtained from :E by a
A
rotation about Z A for a , their relation is described by
-sina 0 0
cosa 0 0
o 1 0 . 0
o 0 1
z.=z.
YB
�-"'---C>YA
Figure 2.8
Frames LA and LB'
-- ----
---- 2
J-1
-...
=::---_-:_� )30'
·-tr,
r:,
--
_-
- .-t
_
-- -
�=----<> YA
XA
[1 1 ]
Figure 2.9
Transfer of a point.
0 0 0
= 0 0
A
0 1 0 2
TB 1 . 0
0 0 0 1
1:A. Let A'2 denote the new location of this point after rotating 30° about
Example 2.6 As shown in fi gure 2.9, we consider a point A'l expressed in
[
relation between A'I and ""2 is described by
]
Z A and then translating 2 units along r.c and - 1 units along Z A' The
COS300 -sin30° 0 0
..., _ s in30 ° cos30° 0 2 A
2- '1.0
o
0 o -1
o 0 1
26 Chapter 2
ZB
0"
Figure 2.10
Frames l" and I:".
origin all y at the sam e place as kA' first by tran s la t i ng it -2 units alo ng �
in frame s hown in figure 2.10. Note that kB is obtaine d from a fram e
and 1 unit a l o n g ZA an d then by rotati ng it - 30° about Z A' Al so note that
the point whose repres en t ati on in kA is Arl is represented as Arz in k8. 0
Consider three frames, kA' kB' and and assume tha t the relations
ke,
A B
between kA and k8 and between kB andke a re given by TB and Te
A
respectively. Then the relation Te between kA a nd ke is giv en by the
A
product of TB and BTc:
(2.37)
to kA and then rotating the translated frame ( us i n g RB) about the origin
A
(i) The frame kB is obtained from kA by translating kA by pB wi th respect
A
(2.3 8)
and a similar relation for BTO where 0 denotes a vector or a matrix whose
elements are all zeros.
B
Example 2.8 Assume that ATB and Te are given by
� �l
- 1/2
o
vG/2
1 0
o o I
and
A
The two interpretations of Te are illustrated schematically in figure 2. 1 1 .
In this example the Z axis is always normal to the page and thus it is omitted
from the figure. The final location of Le is, of course, the same in both cases.
o
Yc
XB
Xc
Xc
I
J l
��-=--�- �-�_�_= ��______�XA
0. 2 X.
XB'
(a) (b)
Figure 2.11
Interpretation of ATe. (a) Interpretation by (i). (b) Interpretation by (ii).
(2.39)
General Relation
In thi s subsection an ove rview is give n of the relation between joi nt dis
2.3.1
p l ac emen ts (rotati onal disp l acements for revolute joints and linear dis
pl acements for prisma tic joi n ts ) and end -effec tor position for a manipulator
In figure 2.12 the j oi nts are numbered 1, 2, ... , n, start in g from the base
wi t h n degrees of freedom.
(2.40)
is called the joint vector. The pos ition of the end effector is deno ted by the
m- di men sio nal vector
(2.41)
q2
Figure 2.12
n-link manipulator.
r fr (q).
=
(2.42)
(2.43)
Note, however, that q does not necessarily exist, and even when it does exist
it may not be unique. The problem of obtaining r for a given q is called the
direct kinematics problem, and that of obtaining q corresponding to a given
r is called the inverse kinematics problem. As we can see from the above
argument, the inverse kinematics problem is usually the more difficult of
the two.
Example 2.9 The relations 2.42 and 2.43 will be obtained for the two
position is given by r = [x,YY, and the lengths of the links are 1 1 and 12,
The relation 2.42 is easily obtained:
30 Chapter 2
y
r=(x,y)'
_...l-_____-<>X
Figure 2.13
Two-link manipulator.
� X2 + y2 � ( I1 + 12)2
As for the relation 2.43, if r satisfies
(11 - /2 ) 2
and
where
81 = arbitrary
and
'--_--/f � x. y)
Figure 2.14
Solutions of inverse kinematics problem for two-link manipulator.
Joint II
Joint 2
~. .�
Link 1
Joint 1 0
Link 0 (basel
Figure 2.15
Link and j oint numbers for n-link manipulator.
and to describe the relation among the links by the relation among these
frames. In this way, deri ving the function f.(q) becomes systematic and
obtaining f.-1(r) a nal yticall y or numerically becomes much easier. This
approach is developed in the following subsections.
Joint i
J:>
o Joint i + 1
/
Joint i-I
\
(a)
Joint i-I
\
(b)
Figure 2.16
Joint axes, joint variables, and link parameters: (a) when joint i is revolute; (b) when joint i
is prismatic.
Kinematics 33
starting from the base side. The base itself is called link 0; hence, link 0 is
connected to link 1 by joint 1. For each joint i, the joint axis i is defined as
the rotational axis in the case of a revolute joint or as an arbitrary straight
line parallel to the direction of translation in the case of a prismatic joint.
In figure 2.16, dashed lines show the joint axes in these two cases. The
common normal between joint axes i and i + 1 is considered to be the
mathematical model of link i. The common normals are shown as solid
lines in the figure. When the joint axes i and i + 1 are parallel, the common
normal is not unique, so we select one common normal arbitrarily as the
mathematical model of link i.
With these preparations, we can now describe the size and shape of link
i by two variables: the length ai of the common normal, and the angle IXi
between the orthogonal projections of joint axes i and i + 1 onto a plane
normal to the common normal. The variable ai is called the link length, and
IXi is the twist angle.
on the joint axis i, and the angle 0i between the orthogonal projections of
dt is called thejoint length, and 0i is called the joint angle. Ifj oint i is revolute,
these common normals to a plane normal to the joint axis i. The variable
Now we will define coordinate frames, one fixed to each link. As is shown
in figure 2.17, the origin of coordinate frame Li of link i is set at the endpoint
of the m athematical model of link i on joint axis i. The Z axis of L;, denoted
Zj, is selected in such a way that it aligns with joint axis i in the direction
pointing toward the distal end of the m anipulator. When the direction
toward the distal end is not clear, the direction of Zj is arbitrary. The X
axis of Lj, Xi' is selected so that it is on the common normal and points
from joint i to joint i + 1. The Yaxis, y;, is selected in such a way that Lj
is a right-hand coordinate frame.
34 Chapter 2
Joint i
Joint i-I
\
!
Joint 2 Joint n
" /
' '-.,
Joint 1
Link 0
1
Figure 2.17
Link frame ki' (ko and kn are shown for the case when the joint variables are zero,)
By the above procedure, the link frames for links through n - 1 are
determined. For link 0, the link frame �o is defined to be equal to �I for
an arbitrarily selected reference configuration ofjoint 1. For link n, the joint
n. The axis Z. is aligned with the joint axis n with its direction pointed
toward the distal end of the manipulator when the direction toward the
distal end is clear. The axis Xn is aligned with Xn -I' and y" is determined
in such a way that �. is a right-hand frame.
Now that we have defined the frame �j, provided that the positive sense
of each variable is determined so that it harmonizes with �i> the four
variables introduced in the previous subsection can be expressed as follows:
(/.i
and
OJ = the angle measured clockwise about the Zj axis from Xi-I to Xj.
In other words, the frame �i can be obtained from �j_1 by the following
four transfo rmations:
I Joint i + 1
Joint i-I
\
0'_1
Figure 2.18
An assignment of link frame i when joint i is prismatic (a; = O. di+ 1 = 0).
(iii) translation along Zj_1 after the rotation ii (which is ZJ for a distance
dj, and
(iv) rotation about Zi-I after the rotation ii (which is Zj) by an angle OJ'
�n-I and �n' wi th �o and �n defined earli er by se lec tin g the link parameters
Note that the above relation holds also between �o and �I' and between
as follows:
d1 =
It is desirable to make as many link p ara m eter s zero as we can, since this
will make the later analysis easier and will decrease the amount of computa
tion necessary to solve the direct and inverse kinematics problems Re .
viewing the procedure of dete rmining the joint axes and the common
normals from this viewpoint makes it clear that when they are no t unique
When determining the joint axis i for a prismatic joint, we use the fact
the following scheme is a desirable one.
that its loc a ti o n is arbitrary while its direction is fixed. We can set aj_1 or
aj to zero, and d j 1 or dj+1 can also be set to zero. Hereafter we s et aj 0
_ =
and dj+1 0 by having the joint axis i pass through the endpoint of the
=
!
Joint i Joint i + 1
I
Joint i-I
\
Z,
X,
Z,.,
X/-1
Figure 2.19
An assignment of link frame i when joint axes i and i + I are parallel (ddl = 0).
the common normal pass through the endpoint of the mathematical model
of link i + 1 on the joint axis i + 1. In these two cases, if there exists any
arbitrariness in the location of the mathematical model of link i + 1, we
can further determine the link frames so as to set ai-I, di-I' etc. to zero.
Also note that in figures 2.18 and 2.19 t he Y axes of the link frames are not
shown because they are uniquely determined by the X and Z axes. This
convention will be used hereafter.
In summary, the link frames are determined as follows:
of link frames. In those cases, we can just select one set of link frames
There are still cases where the above procedure does not yield a unique set
arbi trarily.
are in the same direction. Also note that d3 is not taken to be zero in the
figure, because a configuration with d3 0 is unattainable. 0
=
Kinematics 37
/0-Joint 5
Joint 1
t
Link 3
'
Link 2
Link
Link 0
(a) (b)
Figure 2.20
Stanford manipulator. (a) Link structure. (b) Appearance.
Figure 2.21
Link frames for Stanford manipulator.
38 Chapter 2
Table 2.1
Link parameters for Stanford manipulator. (Parentheses indicate joint variables.)
ai-1 (Xj-l di 0,
0 0° 0 (0, )
2 0 -90° d2 (02)
90° (}o
3 0 (d3)
4 0 0° 0 (04)
5 0 -90° 0 (O
s)
6 0 90° 0 (06
)
Joint;
! Joint i + 1
/
Joint;-J
\
Joint n
Joint 2 /
'.
Figure 2.22
Another assignment of link frames.
The merit of the assignment scheme of link frames given above is that
the frame of each link has its origin on the joint axis closer to the base of
The hom ogeneous transform that describes the relation between Li and
Li-I is
(2.44)
o
where Tr(X,a) denotes a translation along the X axis for a distance a, and
o
TR(X,tx) denotes a rotatio n about the X axis by an angle a. From equation
o 1 r I
2.44 we obtain
f' �l
0 0 a,_, 0
i-1T-= 0 1 0 0 c � s ai - l -SJntxi_1
•
0 0 I 0 sJnai-1 cosai_l
I f
o 0 0 1 0 0 0
[f � �] 1
o
0 0 8, s inOi 0
x
-
0,
0sinOi
1 0 cosOi 0
0 1 d
oi 0 0
0 0 1 0 0 0
o
COSOi -sinOi 0 ai-I
=
C�Stxi_1 � nO
s i cosai_l cosOi -sinai_l -sinai-1di
(2.45)
.
slllai-lslllOi SinOti_lcoSOi COSOti_1 cosai_ldi
0 0 I
(2.46)
When the values of all link parameters are given, i-I I; is a function of qi
only Hence, ° Tn is a function of the joint vector q.
.
Let L E be the coordinate frame fixed to the end effector that is atta c hed
to link n, and let nTE be the homogeneous transform describing the relation
between LE and Ln. Let LR be the reference frame, and let RTO describe the
relation between LR and the base frame Lo. The transforms "TE and RTO are
constant ones determined by the way the end effector is attached to l ink n
and by the location of the base with respect to the reference frame. The
relation between the end effector and the reference frame is then
40 Chapter 2
�5
(a) (b)
Figure 2.23
PUMA-type manipulator. (a) PUMA robot (courtesy of Westinghouse Automation
Division/Unimation Inc.). (b) Link structure.
(2.47)
Since the position vector r of the end effector is determined uniquely from
RTE and since ° Tn is a function of q, we can obtain the function J. (q) of
equation 2.42 from equation 2.47. Thus, if each element of °Tn is obtained
as a function of q, the direct kinematics problem is basically solved.
Example 2.U Let us assign the link frames to the PUMA-type manipu-
rr ] r
lator shown in figure 2.23 and obtain °T6• Following the scheme of the
]
previous subsection, we obtain the link frames shown in figure 2.24 and the
link parameters in table 2.2. Hence, from equation 2.45,
- sin8l o 0 0
cos8l o 0 0 0 I. I,
oos8, oos8, - sin82
�
0 1 0 ' o '
rr r cos8,
Si
'r, lT2-
_
�
0 o 1 0 0 1
�
I,]
- s n82 - cos82 0
0
0 0 0 1 If
�]
cos8, -sin83 0 - sin84
�
0 0 1 0 1
-s n84
0
Kinematics 41
�
Figure 2.24
Link frames for PUMA robot.
Table 2.2
Link parameters.
ai - 1 1%/ - , di °i
1 0 00 0 (O, l
2 0 00 Ib - Id (02 l
-9
0 0 ( 03 l
3 1, 0
0 If ( 04 l
4 Ie 0
-9
5 0 00 0 (Os l
9
6 0 00 0 ( 06 l
9
_
42 Chapter 2
4
Ts =
r COS (JS
0
sin(Js
- sin(Js
o
cos(Js
-1
o
0
0
0
0 '
] r s 7,6 -
-
COS(J6
0
' (J6
- SIn
- sin(J6
o
- COS(J6
0
1
0
0
0
0 .
]
o o o 1 0 o 0 1
( 2.4 8)
- C1 S2 3
- SI S2 3
-
C2 3
o
3
The transform T6 is given by
- C4 CS S6 - S4 C6
- SS S6
(2.49)
S4 CS S6 - C4 C6
o
[ ]
R" R12 R!3 P,
R2 1 R22 R23 Py
0 T6 =
(2.50)
'
R31 R32 R33 Pz
0 0 0 ]
where
RII Cl [C2 3 ( C4 CS C6 - S4 S6 ) - S2 3 SS C6 ]
=
+ Sl (S4 CS C6 + C4 S6 ),
RI2 =
C1 [ - C2 3 ( C4 CS S6 + S4 C6 ) + S2 3 SS S6 ]
u
- Sl (S4 CS S6 - C4 C6 ),
sin(02 + 03 ), This kind of notation will be s e d through out the book. For example, Sl 2 3
=
R 2 1 = Sl [C2 3 ( C4 CS C6 - S4S6) - S2 3 SS C6 ]
=
C1 (S4 CS S6 - C4 C6),
- Sl (C2 3 C4 SS + S2 3 CS)
+
R23 = + C1 S4 SS '
R3 1 = - S2 3 (C4 CS C6 - S4S6) - C2 3 SS C6 ,
(2. S2c)
z"
Xo
Figure 2.25
Reference frame �R and end-effector frame �E'
44 Chapter 2
where rl ' '2 ' and ,3 are the X, Y, and Z coordinates of the origin of I:E and
where '4 ' '5 ' and '6 are the Euler angles of I: E with respect to I:R . We first
solve the direct kinematics problem; then we find the value r for the case
where the joint vector is
First,
r� �l
° °
1 °
'T
, ° 1
l
�
° °
and
° ° °
1 ° °
° 1 Ig .
° ° 1
From equations 2.32 and 2.33, the corresponding position vector r is given
by
'2 = Py + R 2 3 ig ,
'4 atan2(R 2 3 , R 1 3 ),
2
atan2(R 3 2 , - R 3 1 ) if R 1 3 =F °
' 2
6 atan2 ( R 2 1 , R 2 2 ) - R 3 3 '4 if R 1 3 2 + R23 0.
q = q * we have
= =
Second, when
Kinematics 45
R1 1 0, R12 = 0, 1,
= 0,
=
R13 =
R21 = - 1, Rn = 0, R23
R3 1 0, R3 2 0,
(Ie + Ie
= = - 1, R33 =
p", = + 1/)/y'2,
Thus we obtain
We will now consider the inverse kinematics problem -that is, the problem
of finding the joint vector q that realizes a given value of the end-effector
position vector , (in other words, the value of all or part of the elements of
° T.).
One approach to this problem is to find a closed-form solution by using
algebra or geometry. Another approach is to find a numerical solution by
some successive-approximation algorithm.6 Although the former approach
is generally more desirable in applying the solution to real-time control of
robots, it is not always possible to obtain closed-form solutions for manipu
lators with an arbitrary mechanism. Rather, the class of manipulator
mechanisms for which the closed-form solutions are guaranteed is very
limited. Notice, however, that most of the manipulators in industrial use
today belong to this class. The algebraic approach to closed-form solutions
means finding q through various algebraic transformations of eq uation 2.42
or equation 2.47; the geometric approach means finding q by using geo
metrical heuristics to take advantage of the special structure of the manipu
lator.
It is sometimes advantageous to use both approaches together to solve
a problem. First we will solve a simple example using each of the two
approaches.
[r;r;,ry ,rzY,
in figure 2.26a. Assume that the end position of the manipulator is expressed
by 0, = the position vector with respect to �o. The problem is
46 Chapter 2
x"
(a) (b)
Figure 2.26
Three-link manipulator. (a) Size. (b) Endpoint position.
ZII, Z .
z·
x,
Figure 2.27
Link frames.
to find the three j oint angles that realize any desired end position r. First,
OJ
in order to derive the kinematic equation, we determine the link frames as
shown in figure 2.27. The link parameters are then given as in table 2.3.
The transforms i- l Ti are given by
-S
r'
l o
° T, � � Cl
0
o
1
0
0 '
(2 . 5 3a)
0 o 1
C,
-S
l �l
0
T2 =
2
1
0 0C 1
-S - (2.53b)
2 2 0
0 0 0
Kinematics 47
Table 2.3
Link parameters.
a/ - t (Xi - l d, °i
0 0 0
2 0 - 90· 0
3 I. 0 0
and
r' �J
- S3 0
'T
, � ! C3
0
0
0
0
o
1
.
(2.5 3c)
�} 1
Therefore,
l
- C1 S2 -S
, I
C, C
0 T3 SI C2 - SI S2 C1
=
-S -
C2 0 o 3
2
0 0 0 1
From figures 2.26a and 2.27 we can easily show that the end position
relative to L 3 is given by 3, = [le,O, lbY. Hence,
(2. 55)
rx = Ic(C1 C2 C3 - C1 S2 S3 ) - Ib SI + la CI C2 ,
rz = IA - S2 C3 - C2 S3 ) - laS2 ·
Now we find the j oint angles f)i (i = 1, 2, 3) from equation 2.56 using an
48 Chapter 2
algebraic approach. Since equation 2.56 itself is not very suitable for this
purpose, let us consider the following equation instead:
o
°
=
S3 3
r
O r O 1 0 ,
1 0 o 1
or
C1 C2 rx S1 C2 ry - S2 r• = Ic C3 la' ( 2.58a)
C 1 S2 rx - Sl S2 ry - C2 rz
+ +
C1 ry = lb·
=
- S1 rx + (2.58c)
If we further consider
(2.59)
we obtain
(2.60a)
(2.60b)
(2.60c)
Since the variables 0; are fai rly well separated in equations 2.58 and 2.60,
it is rather easy to find a way to solve these equations for (J; . For example,
we can obtain 01 from equation 2. 58c or 2.60b as follows:
(2 . 6 1 )
(2.62)
Hence, 03 is given by
where
K = { (r/ r/ r/ - Ib2 V [/ ) 2
2 [ ( r/ + r/ + r/ - lb2 ) 2 1/
+ + + +
-
+ + Ic4 ] } 1/2. (2.64)
As for the last variable O2 , from equations 2.58a and 2.58b we have
Thus we obtain
_------T'--c> Y"
(a)
(b)
Figure 2.28
Projection of manipulator on Xo- Yo plane (a) when the Xl axis and [rz,r, Y are in the same
direction; (b) when the Xl axis and [rz,r, Y are in opposite directions.
50 Chapter 2
and (/! is given by equation 2.6 1 . The "plus or minus" s ign in equation 2.6 1
is "plus" when the arm is posed as in figure 2.28a; it is "minus" when the
arm is posed as in figure 2.28b. Figure 2.29 i s another projection of the arm
shown in figure 2 26, this ti me onto the X! - Y! plane on : ! . From this figure,
.
as in example 2.9, we o b tain (/2 and (/3 ' That is, ()3 is gi ven by equation 2.63
and ()2 is given by
(in the case o f figure 2.29a; the sign " ± is i n t h e same order a s i n equation
"
2.63) or
()2 atan2 ( - rZ ! - Jr/ + r/ - lb1 )
r/ + r/ 1/ - 1/ - 1/)
=+= atan2 ( K, r/ +
=
(in the case of figure 2.29b). The above expression for ()2 is different from
equation 2.66, w h ich was found by an alge b raic appro ac h but they can be
,
In the above example we considered the case where only the three
dimensional position of th e end effector is of concern. For a general
manipul at or with six degrees offreedom, however, the position and orienta-
Z,
Z,
X,
(a) (b)
Figure 2.29
Projection of manipulator on X I -ZI plane (solid and broken lines are two possible arm
configurations). (a) Case of figure 2.28a. (b) Case of figure 2.28b.
Kinematics 51
Joint 5
I
Joint 6
/'
Joint 4 ,-
Figure 2.30
Pieper's method,
52 Chapter 2
this point. Specifying the position and orientation of the end effector
determines the position of the origin of :E6, and therefore that of :E4. The
position of the origin of :E4, which is represented by three variables (i.e., X,
Y, Z coordinate variables ), is a function of three joint variables: q 1 ' q 2 ' and
q 3 . This means that we can generally determine the values of Q 1 ' Q2 ' and
Q 3 from the given position and orientation of the end effector. We can then
find the position and orientation of :E3 , and hence the orientation of :E6
with respect to :E 3 . Finally, from this orientation of :E6 we can determine
the joint variables Q4' Q 5 ' and Q 6 . Pieper showed a more general result: that
a closed-form solution can be obtained for a manipulator which has three
consecutive revolute joints whose joint axes intersect at a point.
For manipulators with no fewer than seven degrees of freedom, there is
generally an infinite number ofjoint solutions for a given realizable position
and orientation of the end effector, implying that the manipUlator has
redundancy.
Example 2.1 4 Consider the inverse kinematics problem for the PUMA
type arm shown in figure 2.23. The problem can be reduced to that of
finding a q that satisfies equations 2.5 1 and 2.52 for given values of elements
Rij' Px, PY ' and pz of °T6 • Since the three distal joints satisfy Pieper's
condition, Px, PY ' and pz that represent the origin of :E4 are functions of only
(Jl ' (J2 ' and (J3 ' as is shown by equation 2.52. First we determine (J l ' (J2 ' and
(J3 from equation 2.52. By using a procedure similar to that in example 2. 1 3,
we get
(Jl atan2 ( - Px , py) ± atan2 (Jp/ + p/ - (lb - Id) 2 , Ib - Id), (2.69)
(J3 = atan2 ( - If, le ) ± atan2 (Jlc 2 (le + 1/) - "a 2 , "a ),
=
2 (2.70)
"a [ p/ + p/ + p/ - V - 1/ - 1/ - ( lb - Id)2]j2, (2.7 1 )
(J2 = atan2 [ - (le S3 + IfC3) (C1 px + Sl Py) - (leC3 - lfS3 + Ic) Pz '
=
- C4CS S6 - S4 C6 - C4S5
- SSS6 Cs
]
S4CSS6 - C4C6 S4SS
(2.74)
Similarly to equations 2.3 1 and 2.33, the values of 84, 85 , and 86 that satisfy
equation 2.74 are given by
(J4 = atan2( ± R33 , + R1 3 ), (2.75a)
85 = atan2( ± JR132 + R 3 32 ,R2 3 )' (2.75b)
when R 1 32 + R 3 3 2 #- 0, and by
(J6 = atan2 ( + R2 2, ± R2 1 ) (2.75c)
84 arbitrary, (2.76a)
Os = 90°
=
problem. 0
is the time variable. For expressing the rotational velocity of the o bject
frame, we can consider the following two methods:
54 Chapter 2
;,:=-----e> Y.
, x.
Figure 2.31
Angular velocity vector AWB•
its time derivative A ,j,B = d AtPBldt to express the rotational velocity of the
the orientation (e.g., Euler angles, or roll, pitch, and yaw angles), and use
object frame. (The superscript A and the subscript B of AtPB indicate that t/>
describes the orientation of :E B with respect to :EA ')
Method II Consider (figure 2.3 1 ) the third frame, :E B " which always has
the same origin as the reference frame :EA and which has the same orienta
tion as the object frame :EB. Then the motion of :EB, with respect to :E at
A
each instant of time is a rotation about an axis passing through the origin.
This means that the rotational velocity of :EB, can be described by the vector
AWB, which has the same direction as the instantaneous axis of rotation and
a magnitude proportional to the rotational speed about this axis. The
vector AWB is called the angular velocity vector,
Since both of these methods will be used in this book, depending on the
situation, a brief description of the merits and demerits of each method
follows.
The integral of A,j,B in met hod I obviously corresponds to AtPB, which has
a clear physical meaning, whereas the integral of AwB in method II does not
have any clear meaning, as can be seen from the following example.
Example 2.15 Consider the following two cases. Case 1 has a time history
AWB given by
Kinematics 55
Aw.+H O�t� J
�. {n 1 <t � 2
Assume that :EA and :EB are coincident at t = o. The integral of AWB for both
cases is calculated to be
Ak. � � [ -!]
-1
1
0
0
[0 00
for case 1 and
AbB = 1
o 1
�]
for case 2. Thus, although the integrals of AWB are the same, the orientations
different orientations of an object at time t 2 corresponding to our cases
of :EB at time t 2 are quite different. Figure 2.32 illustrates the two
=
= 0
From the viewpoint of the physical meaning of the vector expressing the
velocity, AWB is superior to A,jJB. The three elements of AWB represent the
orthogonal angular velocity components about the X, Y, and Z axes of :EA
56 Chapter 2
z z
y y
1=0
X X
Z
Y Y
x x
z
-r---,t---c> Y Ik)�--<> Y
1=2
x
(a) (b)
Figure 2.32
Two motions with the same integral of AWB• (a) Case I. (b) Case 2.
- sinifo
cosifo
cosifo Sino
sinifo sinO
] A�B ' (2.77)
o cosO
sinO O.
The coefficient matrix on the right-hand side of equation 2.77 becomes
singular when = This means that although any rotational velocity
O. For example,
can be described by AWB, there are rotational velocities that cannot be
[cosifo, sinifo, OY
described by A�B when the orientation of 1:B satisfies sinO =
,/\�\ J.,
I
\
j'---__-C> YA �'---Jc."..;-:;--C>, Y.
I ,' W!I
_ _ _ _ _ _ _ .6
Wx
(a) (b)
Figure 2.33
Two representations of angular velocity: (a) "wB; (b)
"J, B (case of Euler angles).
=
ension al vector
= [� t ' �2 ' · · · , ek y and an I-dime
Suppo se that the follow ing relatio n holds betwe en a k-dim
C;
nsional vector " [f/ t , f/2 ' · · · , f/IY:
)
af/ 2 a'1 2 0 '1 2
Jq(C; = ac
a" (2.79 )
= a� l 0 �2 O �k
l'
--GF��----� X
Figure 2.34
Three-link planar manipulator.
; = lr (q) q, (2.8 1)
J,.(q)
or
= (2.82)
oq T '
Then
x = I I CI + 12 CI 2 + 13 C 1 2 3,
II SI 12S1 2 + 13 S1 23 ,
(}I (}2 (}3 '
Y = +
(X = + +
Ii =
Hence we obtain
- ( i 2 S1 2 + 13 S1 23)
(l2 C 1 2 + 13 C1 2 3)
1
Kinematics S9
When method I is used for expressing the rotational velocity of the end
effector, and when the vector r in equation 2.4 1 is defined by
[ I]JE J
r = R� , (2.83)
(2.84)
,, = Jv (q)q · (2.8 5)
Since the integral of RWE does not have any clear physical meaning, the
function .lj in equation 2.78. Because of the similarity of equations 2.85 and
coefficient matrix Jv (q) of equation 2.85 does not have any corresponding
2.8 1 , however, Jv (q) is also called the Jacobian matrix. The matrix Jv (q) will
When Euler angles are used as R� (see equation 2.77), the relation
also be written as Jv hereafter.
Jv = T,. Jr (2.86a)
and
0 0 I 0 0 0
1 I
I 0 0 0
0 1 0 I
T =
I 0
0 0 I
0 0
- - - -- - �- - - - - - - - - - - - - - -
(2.86b)
I
,
two or three degrees of freedom even after fixing its position, Jr and Jv are
When a manipulator's end effector can make a rotational motion with
can only rotate about a fixed a x i s , Jr and Jv are essentially the same. For
freedom whose end effector, after fixing its position, cannot move a t all or
r = [x,y,O,O,O,ct]T,
then we have
[X,y,O,O,O,d]T.
Hence, Jv is a 6 x 3 m atri x obtained from Jr by just adding nine zero
i =
elements to it.
Using T, from equation 2.86b, we can write the relation between II and
i as II = T,i.
First of all, an important equation will be derived here for later use.
Consider two orthogonal coordinate frames � and �B ' and let AW B denote
A
the angular velocity of �B with respect to � . Then, for an arbitrary vector
B A
p expressed in � B ' the time derivative of ( ARB Bp) is given by
(2.87)
B B B B
By using the notations ARB = [ AX B AYB AZB ] and p = [ px' py , pz] T , we
can rewrite the second term in equation 2. 87 as
xB ) Px + dt ( AYB ) Py + / AZB) pz
d A B d A B d B d B
d t
( RB ) P =
d
/ d
= AWB X AXB p x + AWB X AYB py + AWB X AZB Bpz
B B
(2.88)
He re x denotes the vector product which is defined for any two vectors
=
(2.89)
where
(2.90)
(2.9 1 )
This equation i s often used to derive relations among the link velocities
and the link accelerations of a manipulator.
Next we will establish a relation among relative velocities of three
moving frames, LA ' L B and Le. Take LA as the reference frame. As in figure
,
(2.92)
(2.93)
Figure 2.35
Relative velocities among frames.
62 Chapter 2
A' A ' + d ( AR B B )
Pc PB B PC
dt
=
where ApB d 'PB /d t . Thus, equation 2.93 is the relation between the rota
d t
=
tional velocities of L B and L C with respect to LA ' and equation 2.94 is that
between the translational velocities.
Now we will use the equations obtained above to derive the relations
among the link velocities of a serial-link manipulator. We define the num
bers of links and j oints as in subsection 2.3.2, and attach link frame Li to
each link as in subsection 2.3.3. As is shown in figure 2. 36, °P i denotes the
and i - 1Pi denotes the vector from 0i -1 to 0i, expressed in L i - 1 ' Note that
vector from the origin of L O , 00' to the origin of Li, 0i, expressed in L O ,
i 1P is given by
- i
translational velocities of link i with respect to the base as °OO i and °Pi =
from equation 2.45. Regarding velocities, we denote the rotational and
Joint 1
Figure 2.36
Vectors 0p, and i - 1p,.
Kinematics 63
Revolute Joint If joint i is revolute, the angle ()i is the joint variable qi, and
i - 1Pi is a constant vector. Since i - 1W i. i_l ' the rotational velocity of :Ei with
respect to :Ei - 1 , is a vector in the direction of the Zi axis with magnitude 4i:
(2.96)
where
[O,O, 1 Y. (2.9 7)
Prismatic Joint
variable q i ,
and
i -1Wi.i_l O.=
Thus we obtain
(2.98)
(2.99)
(2. 1 0 1)
64 Chapter 2
From equations 2.95-2. 1 0 1 and °wo Gp o 0, we can express OWE and OPE
= =
obtain an expression for Iv ' For example, if all n joints are revolute, we
have from equations 2. 1 00, 2. 1 0 1 , 2.95, and 2.96
(2. 1 02)
(2. 1 03)
where npn + 1 = npE for notational convenience. Defining °Zi and °PE , j by
(2. 1 04)
and
n
° , _ " oR jA + oR i A
PE i j 'Pj +l - °PE . i+ 1 i 'Pi+ 1 , (2. 105)
_
L.
j=i
=
we obtain
°Z2 X °PE, 2 , . .
°
Zn X °P E , n ]
° 0 '
(2. 1 06)
Z2 . . •
Zn
As illustrated in figure 2.37, °Zi represents joint axis i, and °PE, i represents
the vector from a point on joint axis i to the end effector. Thus, the i th row
vector of matrix Iv implies a very natural result: that the translational
velocity of the end effector is given by ( OZi x °PE , ;)4i and the rotational
z"
Xll
Figure 2.37
Vectors 0:;, and oPE. ,.
Kinematics 65
velocity is given by °Z;tii' For more general manipulators with both revolute
and prismatic j oints, a similar argument leads to
(2 1 0 7)
.
where
l[ OZ O
i X PE , i
OZ
i
] if joint i is revolute,
(2. 1 08)
Jcl
�
["�'] ;f jo ; nt n, p,;,mat;c.
°P = O
"T,
E, i
+�-:�-:�-F�l
°
PE - Pi '
i
�
1, � . . ., n + 1, (2. 1 09)
(2. 1 10)
Example 2.1 7 Let us find the Jacobian matrix for the PUMA-type ma
nipulator in figure 2.23, assuming that the end-effector frame is assigned as
0
shown in figure 2.25. Using 1; obtained in example 2. 1 1 and nTE given in
example 2. 1 2, we can calculate the first three rows of Iv by o( °Ps)/oq T and
the remaining three rows by °Zi (i 1 , 2, , n). The result is as follows:
= . . .
- Py - R 2 3 1g
Px + R 1 3 19
o
o
o
1
C1 Pz + C1 R3 3 1g
Sl Pz + Sl R 3 3 1g
- lc C2 - le C2 3 + I,S2 3 + (C2 3 C2 SS + S2 3 Cs ) lg
- S1
C1
o
66 Chapter 2
- C1 (le S2 3 + lf C2 3) + C1 R 3 3 lg
- SI (/e S2 3 +lf C2 3) + SI R 3 3 l9
- le C2 3 + lfS2 3 + (C2 3 C4 SS + S2 3 Cs)lg
- SI
C1
o
(C1 C2 3 S4 SS - SI C4 Ss)lg
(SI C2 3 S4 SS - C1 C4 Ss)lg
- S2 3 S4 Ss / g
- C1 S2 3
- SI S2 3
- C2
3
- [C1 (C2 3 C4 CS - S2 3 SS ) + SI S4 Cs ] lg
- [SI (C2 3 C4 CS - S2 3 SS) + C1 S4 CS ] lg
(S2 3 C4 CS + C2 3 Ss)lg
C 1 C2 3 S4 - S I C4
SI C2 3 S4 + C1 C4
- S2 3 S4
0
0
0
. 0
R13
R2 3
R33
We now know how to calculate the position of the end effector, r, for a
given j oint position q, and how to find the q that achieves a given r. We
also know that the end-effector velocity " for a given joint velocity q can
be calculated by equation 2.85. In this subsection we will consider the
problem of finding the joint velocity, q, that results in a given end-effector
velocity " (or r). This can be regarded as a problem of inverse kinematics
in a broader sense.
First, consider the case where n 6 and Jv is nonsingular. Then from
=
equation 2. 8 5 we have
Kinematics 67
q = IV - 1 V. (2. 1 1 1 )
We next consider the case when n � 7 and the rank of Iv 6. Then, using
derived from the differentiation of the analytical solution (ref. 5).
=
q 1/ v (I 1/ Iv)k, (2. 1 1 2)
where Iv + is the pseudo-inverse of Iv and where k is an arbitrary n-dimen
= + -
sional constant vector. This k implies that there are an infinite number of
solutions to equation 2.85. It also implies that the manipulator has some
(2. 1 1 3)
We should be careful, however, about the fact that when the manipulator
In section 1 . 1 it was pointed out that even for wrist mechanisms with three
degrees of freedom, there are configurations for which the end effector
cannot be rotated about a certain axis. Those configurations were called
singular configurations. Such situations are not limited to the end-effector
orientations; they also exist for end-effector positions. For example, con
given by A in the figure, which is different from B (82 = 0°) and C (e2 =
sider the two-link manipulator shown in figure 2.38. If its configuration is
68 Chapter 2
Figure 2.38
Singular configurations of two-link manipulator.
If a configuration q = qs satisfies
special. Also note that if n' = n 6, from equa tion 2. 1 1 5 a necessary and
=
(2. 1 1 6)
Example 2.18 We will now check that the singular configurations of the
Thus we have
detJr
can reach in the X - Y plane. This is called the reachable region. In the case
tions in the above example are all on the boundary of the reachable region,
this is not always true. Singular configurations can also exist inside the
reachable region, as ex a mple 2. 1 9 shows.
There are two approache s for coping with the performance dete rio rati on
due to si ngul a r configurations. One is s i m p l y to avoid using the singular
con fi gura tions and their neighboring region by planning the gi ven task
carefully. Another is to change the mechanism design. We can, for example,
move the singular configurations to an u nim po r tant area of the reachable
region by some s o ph i sti cated mechanism, or we can add some extra degrees
of freedom to the manipulator so that the singular configurations can be
avoided by means of the added redundan cy . t o
(b) (el
Figure 2.39
Singular configurations. (a) Shoulder singularities. (b) Elbow singularities. (c) Wrist
singularities.
Kinematics 71
(2. 1 20)
ApB AWB A B
APe = + X ( RB peB ). (2. 1 2 1 )
(2. 1 22)
a [ax,ay,az] T,
[ �z
=
[a x ]
- az
= o (2. 123)
-
ay
Note that, from the above definition, the following two equaliti es hold for
Figure 2.40
Frames !:B and !:c fixed to an object.
72 Chapter 2
[a x ] b = a x b, (2. 1 24)
[a x y = - [a x ] . (2. 1 25)
B
Also note that, when we denote the vectors a and b expressed in 1:B as a
B
and b, respectively, we have from equation 2.90
B ARB ( Ba x Bb).
( ARB a) x ( ARB Bb) =
c
Now we denote the vectors ApC and Awc expressed in 1:B as PCA and
c B B
WCA , res pectively and define pBA and WBA similarly. Then, using the
,
Thus we have
(2. 1 26)
where
(2. 1 27)
The matrix JCB is the Jacobian matrix relating the velocities of 1:B and 1:c
with respect to 1:A • This JCB is determined from the homogeneous transform
B B B
Tc (that is, Rc and pCB ) relating 1:B and 1:c, and it is independent of 1:A -
On the other hand, let AJc and Anc denote the force and moment acting
on the o rigin of 1:c, which are equivalent to the force AJB and moment AnB
acting on the origin of 1:B• Then
(2. 1 28)
(2. 1 29)
(2. 1 30)
Kinematics 73
Figure 2.41
Object frame I:B and force sensor frame I:e.
(2. 1 3 1 )
'T
e � [���'����+���1
tip of the object by substituting the sensor out p ut (Cfc and end into
B
Next we determine the force (BfB ) and the mom ent ( nB) exerted on the
B
then Tc is given by
74 Chapter 2
B T.
1 /v'2 1 /J2 - 0 025 v'2 l
r
0
0 1 0
e-
_
- 1�J2 0
0
1 /J2
0
- 0.025 f - 0.06
.
BT
Hence,
Je
=
1 /J2 0 1 /J2 0 0 0
0 1 0 0 0 0
- 1 /J2 0 1 /J2 0 0 0
0 0.025 J2 + 0.06 0 1 /J2 0 1 /J2
- 0.05 - 0.03 J2 0 - 0.03 J2 0 1 0
0 - O.025 J2 0 - 1 /J2 0 1 /J2
Therefore, we find
driving force, T = [r 1 " 2, . , 'nY, which is equivalent to the force ryE and
For an n-link manipulator, let us consider the problem of finding the joint
. .
moment OnE applied to the origin of the end-effector frame LE. Here ' i is
the joint driving force exerted at j oint i between links i - 1 and i. When
joint i is revolute, Ti is a torque about the Zi axis; when joint i is prismatic,
' i is a force along the Zi axis.
By the correspondences LA ....... L o , LB ....... Li' and Le ....... LE, we obtain from
equations 2. 128 and 2. 129
(2.132)
(2.133)
The relation between 'i and the pair { <>.t;, onJ is
Kinematics 75
60 mm
Zo
Figure 2.42
Relation between rB and re.
= °PE.J T OJE
X
(2. 1 34)
T = I/ [ Z: l (2 . 1 36 )
(lJdf
(bq) T T =
[Z:J . (2. 1 38)
=
� J/[Z:l (2. 1 39)
Exercises
2. 1 Derive the roll, pitch, and yaw angles equivalent to a given rotation
matrix (equation 2.22) in a form similar to equations 2.32 and 2.33.
2.2 Show that the Euler angles for a given rotation matrix (equation 2.22)
can be expressed as
rfJ = atan2( ± R 2 3 , ± R 1 3 ),
() = atan2(cosrfJR 1 3 + sinrfJR 2 3 , R 3 3 ),
2.3 The tetrahedron in figure 2.43 has an object frame �B attached to its
square corner. Give the position and orientation of the tetrahedron with
respect to the reference frame �A shown in figure 2.44. Use the rotation
matrix to describe the orientation.
2.5 Give the position and orientation of the tetrahedron in figure 2.43
when it is placed in �A as shown in figure 2.45. Use Euler angles to describe
Kinematics 77
Z.
",.--- Y.
x.
Figure 2.43
Object frame 1:8-
Z,
Z.
Figure 2.44
Object frame 1:8 and reference frame 1:,._
ZA
�
--�---::
O,�__--,13
�3�_-<> y,
: '0' x.
x,
Y. I
Z.
Figure 2.45
Expression of position and orienta tion of object. (Z8 and Z,. are parallel.)
78 Chapter 2
the orientation. Explain the cases when there are infinitely many Euler
angle expressions of o rientation.
2.6 A frame I:B, which was initially coincident with another frame I:A , is
axis and 2 units along the ZA axis. Give the relation between the description
rotated about the YA axis by 30° and then translated 3 units along t he XA
l a °l
three-dimensional position [xlk,ylk, zlk] T. Under this convention, study
the physical meanings of the following two homogeneous transforms:
b O O
°
c O '
0
al�, �l
°
Ts =
00 00 0
where
T =
� �
p 0 1 0 .
° - 0I lf ° 1
I
2.8 Suppose
[� l
-1 o
A TB 0 o 2
�
0 1 3
0 o 1
and
[� �l
0
01
BT
C �
0 01 2 .
1
0 0
Kinematics 79
Give two different interpretations of the product A TB B Te, using a figure like
figure 2. 1 1 .
2.1 1 Solve the inverse kinematics problem for the SCARA-type manipu
lator in figure 1 . 1 6 on the basis of the result of exercise 2.9. Assume that
the end-effector position vector r is given by the four-dimensional vector
consisting of the three-dimensional position and the angle about the vertical
axi s of the wrist joint.
2.1 2 Solve the inverse kinematics problem for the manipulator in figure
1.12 on the basis of the result of exercise 2. 10.
2.1 3 Sketch figures of the eight solutions obtained in example 2. 1 4 for the
end-effector position shown in figure 2.23b.
2.20 fo r the case when the end-effector frame i � assigned as in figure 2.46.
2.14 Derive the Jacobian matrix Jv of the Stanford manipulator in figure
2.1 5 Prove that the arm configurations given i n figure 2.39 are singular
ones.
Figure 2.46
End-elTector frame rE o
80 Chapter 2
onE =
( "XB) T "xB = 1,
T
( "Y B ) "YB = 1, ( "zB f "ZB =
1, "XB T X "YB = "ZB '
Conversely, for any three vectors "XB ' "YB ' and "ZB satisfying the above
equations, the matrix [ "X B ' AyB , AZB ] is a rotation matrix. Show that equa
tion 2.2 can be derived from the above equations. Explain why the above
equations cannot be derived from equation 2.2. Hint: For any vectors A a,
A b, and A C, we have the following equalities:
Ac T (Aa x Ab) =
A.a T ( Ab x AC) ,
AC x ( Aa x Ab) =
(AC T "b) "a _ ( AC T Aa) Ab.
References
This chapter presents the fundamentals for analyzing the dynamic charac
teristics of manipulators. First, we will briefly outline the difference between
the Lagrangian formulation and the Newton-Euler formulation for deriv
ing the dynamics equations of robot manipulators. We then will describe
in detail the derivation procedures of the dynamics equations using both
formulations, and discuss the use of these equations and the required
amount of computation. Finally, we will develop an identification method
for the inertial parameters of manipulators.
be a good structure from the viewpoint of dynamics (it is usually not very
manipulator is most often an open-loop link mechanism, which may not
rigid, its positioning accuracy is poor, and there is dynamic coupling among
its joint motions). This structure, however, allows us to derive a set of
simple, easily understandable equations of motion.
Two methods for obtaining the equations of motion are well known: the
Lagrangian and the Newton-Euler formulations. At first the Lagrangian
formulation was adopted. 1. 2 This approach has a drawback in that the
derivation procedure is not easy to understand physically; it uses the
concept of the Lagrangian, which is related to kinetic energy. However, the
resulting equation of motion is in a simple, easily understandable form and
is suitable for examining the effects of various parameters on the motion
of the manipulator. For this reason, this approach has been the standard
one since the 1 970s.
Recently, as the need for more rapid and accurate operation of manipula
tors has increased, the need for real-time computation of the dynamics
equations has been felt more strongly.3 As will be shown later in this
chapter, the Newton-Euler formulation has been found to be superior
to the Lagrangian formulation for the purpose of fast calculation.4-6
Also, the Newton-Euler formulation is valid for computer simulation of
manipulators.7
82 Chapter 3
F=dD (3.1)
dt '
=dE
N (3.2)
dt ·
If we further assume that the mass of the body is constant, m, and the
position vector of G is given by s, we have D = ms. Hence, equation 3.1
reduces to the following form, known as Newton's equation:
F=ms. (3.3)
Note that Newton's equation is valid only when an inertial reference frame
is used.
XII
Figure 3.1
Rigid body and inertial coordinate frame.
Dynamics 83
On the other hand, to find the angular momentum E, let m denote the
angular velocity vector, dv the volume of an infinitesimal particle of the
rigid body, p its density, r its position vector from G, and r dr/dt its
=
E = Iv r x (m x r)pdv
= Iv [(rTr)m - (rTm)r]pdv
where Iv denotes the integral over the whole rigid body and 13 denotes the
3 x 3 identity matrix. If we define
[
ZA components of Ar be Arx, Ary, and Arz, respectively. Then the inertia
tensor AI with respect to LA is given by
AI
�
AIX AI,,
Y
AI= AIxy AIy AIyz
y
AIxz AIyz AI, ,
] (3.7)
.
where
AIxx = i V
(Ary 2 + Arz2)pdv,
AI yy =1 V
(Arz2 + Ar:x2)pdv, (3 . 8a)
84 Chapter 3
AIxz = 1v (Arx2+Ar)'2)pdv,
-
AIxy= - AHxy- - rv Ar" Aryp dv,
J
(3.Sb)
-
AIxz - - AHx. - - rv Arx Ar.pd V.
J
Here AIxx, AIyy, and AI•• are called the moments of inertia and AH"y, AHyZ'
and AHxz are called the products of inertia. Hence, I given by equation 3.5
is the inertia tensor with respect to frame :EUG(G - XUG YUGZUG) with its
origin at the center of mass G and with its coordinate axes parallel to those
of :Eu.
When we consider the rotational motion of a rigid body on the basis of
equation 3.6, the analysis and the computation are not very transparent.
This is because the elements of I change with time as the orientation of the
rigid body relative to :EUG changes with time. To avoid this difficulty,
we express equation 3.6 with respect to the object frame :EB(G - XB YBZB )
fixed to the rigid body as shown in figure 3.2. Denoting E, N, I, and ro
B
expressed with respect to:EB as BE, BN, BI, and ro, respectively, we have
E = uR BE, (3.9)
B
u
N= R BN, (3.10)
B
Zue
XB
Zu
XUG
0�
) Yu
Xu
and :EUG•
Figure 3.2
Frames :E 8
Dynamics 85
(3.1 1)
(3.12)
Hence we obtain
BE = BI Bw. (3. 1 3)
Ba and Bb:
note that, from equation 2.90, the following relation generally holds for any
( U R Ba)
B
x (URB Bb) = U R ( Ba
B
x Bb). (3. 14)
(3. 1 5)
(3.16)
This is Euler's equation of motion expressed in �B' This equation can also
be rewritten in �u. From equations 2.9 1 and 3. 1 2, the time derivative of w
IS
(3. 1 7)
N = J-(w) + w
d
dt
x (Iw). (3.18)
If we take � such that the coordinate axes coincide with the principal
B
=
axes of the moment of inertia of the rigid body, then Blbecomes a diagonal
matrix diagU�.Iy,I:]' Introducing the notations BN [BNx• BNy• BN:Y and
Ben [Bwx• BWy• BW:Y, we obtain from equation 3. 1 6 the following well
=
as they can uniquely specify the positions of objects. These variables are
that any variables can be used instead of orthogonal coordinates as long
(3.20)
With the mass of particle PI' denoted as ml' and the force working on PI' as
1;" Newton's equation of motion yields
(3.2 1 )
Taking the inner product o f OXI'/OQi with equation 3.2 1 and summing for
all of the particles in the system, we have
�
L..
I'
FI' T -0
OXI'
Qi
=
�
I'
_
0 '
TOXI'
£.., ml'xl' -
qi
i = 1 , 2, ... , n. (3.22)
(3.23)
Dynamics 87
(3.24)
(3.25)
where
m
K ="
i.J 2i" Ti" (3.26)
" 2
and
(3.27)
K is called the kinetic energy of the system, and Qi is called the generalized
force corresponding to qi'
We further divide the force 1;, into two parts: 1;,a (the force due to gravity)
and F"b (the remainder). The gravity force, 1;,a, can be expressed by a
suitable potential energy P as
oP
pa - ox,,'
F = (3.28)
(3.29)
where
(3.30)
(3.29')
88 Chapter 3
Note that we can derive equations 3.29 and 3.29' also for a system of rigid
bodies with n degrees of freedom just by regarding the rigid bodies as a
of a simple two lin k manipul ato r moving in the X Y plane. Let us consider
Before treating general manipulators, we will derive the dynamics equation
the manipulator in figure 3.3. The following notations are used in the figure:
- -
�---x
----<>
Figure 3.3
Two-link manipulator.
Dynamics 89
Igi the distance between joint i and the center of mass of link i (the center
of mass is assumed to be on the straight line connecting the two joints ).
link 1, and the second joint driving torque tl acts between links 1 and 2.
We assume that the first joint driving torque tl acts between the base and
We will also assume that the gravitational force acts in the negative Y
direction.
Choosing ql 01 and ql = =
0l as generalized coordinates, we will find
the Lagrangian function. Let the kinetic energy and the potential energy
for link i be Ki and Pi' respectively. For link 1, we have
Kl = I 2'2
"lml lg1 01 +
1-'2
"lIIOI , (3.32)
=
where g is the magnitude of gravitational acceleration. For link 2, since the
position of its center of mass Sl [Slx,S2yY is given by
(3.35)
Hence,
and
(3.37)
Calculating L KI + K2 Pl = P2 and substituting this into equation
- -
tl = [m11g1
2
+ 71 + m 2(l12 + Ig/ + 2/1/g2C2) + 72]81
(3.38b)
90 Chapter 3
(3.39a)
00 . .
2
+ (3.39b)
•
'2 = M2181 + M2282 + h21181 g2'
where
(3.40a)
(3.40b)
M22 = 2 -
m21g2 + 12, (3.4Oc)
=
=
g2 = m2blg2C120 (3.42b)
We call Mii the effective inertia, Mij the coupling inertia, hijj the centrifugal
acceleration coefficient, and hijk (j #- k) the Corio lis acceleration coefficient.
The term gi represents the gravity force.
as
K = tOTM(8)0, (3.43)
(3.44)
Using equations 3.43, 3.44, and 3.29, the equations of motion 3.39 are also
given by
(3.46)
and where M(8)O is the inertial force term, h(8,O) is the centrifugal and
Dynamics 91
Coriolis force term, and g(O) is the gravity force term. M(O) is called the
inertia matrix in joint coordinates.
w o rk s between links i-I and i, and that its value is positive when it works
reference frame. We also assume that the joint driving force ' ; at joint i
in the direction that makes the joint variable larger. This kind of driving
mechanism is called a serial drive.
i (see figure 2. 17). One characteristic of 1:; is that its origin is on an axis of
In subsection 2.3.3 we introduced the frame 1:;(0; - Xi liZ;) fixed to link
joint i, which is closer to the base than the other joint (joint i + 1 ) of lin k
i. When joint i is revolute, the axis of rotation coincides with the Z; axis;
when j o in t i is prismatic, the direction of translation coincides with that of
the Zi axis. We also introduced the homogeneous transform i-1 T; relating
1:; to 1:i-1• Hence, the homogeneous transform ° Ti given by
(3.48 )
is the one relating 1:i to the reference frame 1:0' Note that i-1 Ti is a function
of qi ' the joint variable at joint i.
Suppose that we are given an arbitrary point on link i which is expressed
as ir with respect to 1:i (see fi g ure 3.4). The position of the same point with
respect to the reference frame 1:0 is given by
(3.49)
d or
- = °r
.
= (�iJ )
L.
° Ti
--
j=1 iJqj
qj
. i
r. (3.50)
=
dt
O tr[O,O,T], we have
Using equation 3.50 and the relation O,T ,
O,TO, =
i
L L
i ( tr
iJOT
__ 'irirT
iJ
__
OTT
'_
) 4Ak' (3.51)
j=1 k=1 oqj iJqk
where tr( . ) denotes the trace of a matrix.
With these preparations, we can now calculate the kinetic energy Ki and
the potential energy Pi of link i. The kinetic energy of link i is found by
92 Chapter 3
Link i
Link i + 1
�-------<> y"
2"
x"
Figure 3.4
Point ir on link i.
integrating the kinetic energy of the differential element over the whole
body of link i. Denoting the kinetic energy of the differential element as
dKi, its volume as dm, its density as p, and its position as ir, we have
f;xx + f;yy - tz
misiz
2
misiz mi
( 3 . 53)
Dynamics 93
i
With y = Crx, iry, irzY, the elements of � are given by
and by similar equations for �yY' �ZZ BiX%' fJjyZ' Sjy, and Siz' Since lij is
'
i
f; -fJixy
- Bixy
�yy
-0..
- BiYZ .
,] (3.55)
�
=:=
-fliXZ
[ 1,. -Biyz Jizz
Another expression (which will be used later, in subsection 3.4. 3) is the
inertia tensor with respect to the frame with its origin at the center of mass
(which is generally different from the origin of I:J and with its coordinate
axes parallel to those of I:i . Let us denote this tensor by
-Hixy
Jiyy (3.56)
- Hjyz
(3.57a)
(3. 57b)
Similar relations also hold for l;yy, l;ZZ' Biyz, and Bixz. Putting these rela-
94 Chapter 3
(3.58)
where iii is the vector from q to the center of mass of link i expressed in
1:i; it is expressed as
be the grav i t ati onal acceleration vector in 1:0 ' and let the reference plane
=
be the one normal to g which includes the origin of 1:0 ' Then we obtain
(3.59)
Substituting this into eq uati on 3.29 and changing the order of the trace
and differentiation operations yields
(3.6 1)
Mij
� (00 Tk 0 0 T/)
Ii.
k=max(i.)) oqj Oqi
_
hi = ""
L L
"L (020 00 T)
j=l m=l k=max(i,j,m)
tr __
T,
oq/Jqm
k
lik
T,
__
Oqi
k
iIAm, (3.64)
and g(q) is the n-dimensional vector representing the gravity load whose
ith element is given by
gi = - �
L..
j=l
-T
mjg --jSj.
a
OOTj A
qj
(3.65)
Note that the total kinetic energy, K = L:7=1 Kj, may be written as
(3.66)
Since generally K > 0 for any nonzero q, M(q) is a positive-definite matrix.
Also, from equations 3.29',3.62, and 3.66, we have
h(q,q) = . - [1 aMa j ]
Mq col 2qT
q
q . (3.67)
h(q,q) =
[ .L L (aM.
col
. ) ]
�- �
n n
1 aM.k
-2 4/Jk , (3.68)
)=1 k=l uqk uqi
hijk -
_ oMi} 1 aMjk
aqi
(3.69)
aqk -"2
The matrices
ai-iTi
__ = i-l T-t1. (3.70)
1 "
Oq i
where
96 Chapter 3
-1 0
r� �]
0 0
0 0
if R
0 0
0 0
A;= (3.71)
r� 1]
0 0
0 0
ifP.
0 0
Here "if R" means that joint i is revolute, and "if P" means that joint i is
j) °
prismatic. Hence,
-j)-i
T . 1 . . 1
= ° T11 T2···r TjA/Tj+1""- Ti, (3.72)
qj
i � k �j
max(j,k) > i.
(3.73)
The case when the dynamics of the actuators at joints cannot be neglected
will be treated in subsection 5.2.1.
Example 3.1 Let us check that the equations of motion 3.39 for the
two-link manipulator can also be derived from equation 3.61. We define
the link frames Li as in figure 3.5. Then
x"
Z,,=Z,
Figure 3.5
Link frames for two-link manipulator.
Dynamics 97
,e
�[
-S
�l
l 0
'T, C1 0
�
0 1
e[�, 1 -
0 0
S2 0
�l
'T, C2 0
�
0 1 o '
0 0
and
-
- C1 0
r= H
-S,
SI
iJOTI
iJql
= C1
0 0
0
0
0 0 0
iJoT2 iJOT1 1
--
--
Tz
iJql iJql
- " I
S '
l
-
- Cll
r
0
C12 - S12 11 CS1
o '
_
0
- '
0 0 0
0 0 0 0
- S" - C 12 0
r �l
-Sl2
iJOT2
iJq2
= Cl 2
0 0
0
0 o .
0 0 0 0
M22 = e tr
OT2 Ii iJOT 2T
iJq2
2�
)= 12zz = 12
-
+ m2 1g22
and the other equations in 3.4 1 . Finally, noting that i = [0, -g,O,O]T and
jSj = [lgj,O,O,lY, we obtain from equation 3.65
_rOoT2 2�
g2 = - m2g -- S2
OQ2
= m2glg2C12
and the other equation in 3.42. Thus, we have derived equation 3.39 from
equation 3.6 1. 0
The manipulators discussed in subsections 3.3.l and 3.3.2 are of the serial
drive type, in the sense that the joint driving force 'i works between links
i-I and i for all i. A parallel drive is another type often used. An example
of this type is the two-link manipulator shown in figure 3.6. Actuator 1
provides the driving torque, 1 between the base and link 1; actuator 2
provides the driving torque '2 between the base and link 2 through a belt.
This is called a parallel-drive manipulator because t 1 and t 2 can be regarded
could also be used to transmit the torque '2' Figure 3.7 shows a mechanism
consisting of the above parallel-drive mechanism and one revolute joint.
This mechanism is often used for the arm portion of a manipulator because
the actuators can be located near the base, to reduce the mass and the
The equations of motion for the manipulator in figure 3.6 will be derived
moments of inertia.
using the Lagrangian formulation. The only difference between this manip
is that in this case, 2 works between the base and link 2 instead of between
ulator and the serial-drive two-link manipulator treated in subsection 3.3. 1
Figure 3.6
Parallel-drive two-link manipulator.
Dynamics 99
links 1 and 2. We can take care of this difference by taking as (}2 the
angle between the base and link 2 instead of that between links 1 and 2.
Kinetically speaking, we make this change because !2 is the generalized
force corresponding to the generalized coordinate (}2. Figure 3.8 shows the
joint variables thus taken.
With all other parameters of the manipulator defined as in figure 3.3, the
kinetic energy K 1 and the potential energy Pl of link 1 are given by
equations 3.32 and 3.33. As for link 2, the position S2 = [S2x,S2YY of the
center of mass is
(3 .75)
Figure 3.7
Three-link manipulator.
�--L-----�--�X
Figure 3.8
Joint variables for parallel-drive manipulator.
100 Chapter 3
(3.78b)
Comparing equations 3.38 and 3.78, we can see that there is a fairly big
difference in dynamics between the serial-drive type and the parallel-drive
type even for otherwise identical two-link manipulators. For instance,
the off-diagonal elements of the inertia matrix for equation 3.78 (i.e., the
of the first term on the right-hand side of equation 3.78b) are always smaller
coefficients of the second term on the right-hand side of equation 3.78a and
Ig2 = O. This occurs when the center of mass of link 2 is right on the axis
than those of equation 3.38. In particular, these elements vanish when
of joint 2. Hence, we can conclude that the parallel-drive type has less
coupling between links 1 and 2 than the serial-drive type. Note, however,
that the mechanism of the serial-drive type is generally simpler than that
of t he parallel-drive type.
The basic procedure for deriving the equations of motion based on the
Newton-Euler formulation will be outlined here, with the serial-drive three
link planar manipulator in figure 3.9a used as an example. This procedure
can be easily understood if we consider it as a way to calculate the joint
driving force for realizing a given trajectory of joint vector q.
Suppose that the present values of joint displacements qi and joint
velocities qi and the desired values of joint accelerations iii are given for all
Dynamics 101
(a)
ii,
ii{l�. ' � f,
(el
f,
.
(e)
Figure 3.9
Newton-Euler formulation.
angular velocity Wi' the angular acceleration Wi' the linear velocity P i ' and
the linear acceleration Pi of link i with respect to the reference frame,
starting from the base and moving outward to the end link (figure 3.9b).
Second, using Newton's and Euler's equations, we calculate the force]; and
the moment iii that must be applied to the center of mass of link i to realize
such motion (figure 3.9c). Third, we calculate the force J; and t he moment
Ri that must be applied at joint i to produce ]; and iii' starting from the end
link and moving inward to the base, with the given values of/4 and R4 as
the boundary condition (figure 3.9d). Finally, we calculate the joint driving
force 'j (figure 3.ge).
(3.79)
d
AR
Pc = PB B dt PCB)
A A (B AW ( ARB BPCB')
+ + ( 3 .80)
. .
B X
(3.8 1)
Likewise. d iffe rentiati n g equation 3.80 and ap plyi ng the relation 2.9 1. we
have
d
Pc = PB AR B d 2 (BPCB ) + 2 AWB
t 8 dt ( PCB
A A -
2 [AR d B )]
+ X
"
(3.83)
and
(3.84)
where e. = [O,O,IY.
Dynamics 103
Link j - 1
Xo
O·W; oW;· -l
to find equations 2.98 and 2.99 we obtain
= (3.85)
and
(3.86)
In this subsection we will derive the equations of motion for a general n-link
manipulator based on the Newton-Euler formulation (refs. 4, 1 1).
First, from equations 2.95 and 2 . 98, the angular velocities satisfy
oWi {OW;W _l 0
+ R;eA; if R,
i-l
_
0 (3.87)
if P.
-
(3.88)
and
104 Chapter 3
0p
;
=
0p;_1 + 0 R ;e A ; + 20W;_1 x (0RieAi) (3.89)
+ °Wi_1 x (ORi_1Hpi)
+ °Wi_l x [OWi_1 x (ORi_1Hp;)] ifP.
later. To find this acceleration we define °Si as the vector from 0 to the
The linear acceleration of the center of mass of each link becomes necessary
(3.90)
Second, we let mj be the mass of link i and let 01; be the inertia tensor
with respect to the frame with its origin located at the center of mass and
with the same orientation as l:o. Then the total external force OJ; and the
total external moment °ii; are given by Newton's equation (3.3) and Euler's
equation (3.18) as
J i = mi 0Si
Or " (3.9 1 )
and
( 3 . 9 2)
Let oJ; and °ni be the force and the moment exerted by link i-Ion link
i. Also let °Si ° Ri iii and °Pi+1
= 0Ri ;Pi+l' Then
=
(3.9 3)
and
On,. _
0n"+1 = 0pA
i+1
X Or
Ji+1
+ OnA + OsA
i i x oJii' (3.94)
Finally, the relation between the joint driving force t; and {oJ;, On;} is
given by
Dynamics 105
(3.95 )
{
vectors are expressed results in the following equations:
i-I R Ti-l . R,
ll);-1 + ezqi 1·f
i-IR;T i-lll)
i _l
ill). = ;
I
(3.87')
if P,
if R,
(3.88 ')
if P,
(3. 89')
if P,
(3.90')
(3.9 1 ')
(3.92')
i A
i
'/; =
i
Ri+l i+l/;+1 + ,/;, (3.93')
i i i+l i'" i" ii i'" i i+l�
R;+1 + + S; Ji + Pi+1 ( Ri+l J;+I)' (3.94')
{
ni = ni+1 n; x X
_ e/ini if R,
!i . ( 3.95')
- ez Ti'/; IfP.
Note that we have made use of the property 3.14 of the vector product in
deriving the above equations.
If it is necessary to consider gravity, we only have to set
106 Chapter 3
(3.96)
Various mathematical models of friction can be used for YFi. For a simple
model consisting of viscous friction and Coulomb friction, equation 3.96
becomes
(3.97)
where YFYi is the viscous friction coefficient, YFCi is the Coulomb friction
{
coefficient, and
if q > 0,
sgn(q) = ° if q = 0, (3.98)
-1 ifq < o.
Example 3.2 Let us again derive the equations of motion for the two-link
manipulator in figure 3.3, this time on the basis of the Newton-Euler
formulation. In the following equations, * denotes the elements which we
will not explicitly calculate because they are not related to ! 1 or ! 2. From
the mechanism of the manipulator we have
-So' 0
i-IR., =
[cS: , �
i
]� , i = 1,2
o
The "if R" portions of equations 3.87'-3.95' with i = 1, 2, and with the
above boundary conditions, are the equations of motion for the manipu
lator under consideration based on the Newton-Euler formulation. We
can of course show that these simultaneous equations are equivalent to
equations 3.38 by eliminating several intermediate variables. This is shown
below: From equation 3 . 87',
lWl = [�], [. � ].
81
2W2 =
81 + 82
.
lWl = [�], [ . � ].
2W =
2 . .
.
8i 81 + 82
(3.99)
(3. 1 00)
108 Chapter 3
1iil = [ : ], [ :
2ii =
2 (3.102)
1181 12(81 + (2) ].
From equations 3.93/ and 3.94/,
(3.103)
(3. 104)
(3. 107)
We can easily see from equations 3.105, 3.106, and 3.107 that the equations
of motion given by the Newton-Euler formulation agree with equations
3.38 given by the Lagrangian formulation. 0
The conventional way of solving differential equations (in our case, the
equations of motion) is to obtain the motion trajectory of the object when
Dynamics 109
obtain z = By and then to compute Az. The former requires (n3 + n2)
multiplications and (n3 n) additions, the latter only 2n2 multiplications
-
and (2n2 - 2n) additions. We could consider that the former corresponds
to the Lagrangian formulation and the latter the Newton-Euler formula
tion. In fact, it is known (ref. 4), as is shown in table 3.1, that the computa-
Table 3.1
Comparison of computational load.
t 0, i.e., the joint displacement q(O) and velocity q(O), and the joint driving
Suppose that we are given the initial state of the manipulator at time
=
force T(t) for the period from the initial time to a terminal time. We first
specify a small time step, L1t. Then we calculate the state of the manipulator,
q(t) and q(t), at times t 0,L1t,2L1t,3L1t, , step by step until the terminal
= . . .
We can calculate ij(t) by substituting the known values of q(t) and q(t) into
Dynamics 111
equation 3. 1 09. Assuming that the value of ij( t) remains constant during
the interval [ t , t + A t], we have
accurate solution. 1 2
In any of the above numerical methods, it is necessary to obtain q
satisfying equation 3 . 1 09 for given q, q, and T. To do this, rather than usng
equation 3. 1 09 directly, it is more efficient to adopt the following procedure
(ref. 7): First, rewrite equation 3.62 as
matrix M(q) can also be determined by using the fact that its jth column
vector � coincides with T calculated from the Newton-Euler formulation
with q ej ( the unit vector with the jth element equal to 1, j
= 1 , 2, . . . , n)
=
and with all the other terms that are unaffected by q set equal to zero.
Having calculated TN and M(q), and given T, we know that 3 . 1 1 1 a is an
algebraic equation with unknown vector q. As is well k nown, this equation
can be effectively solved by the Gauss elimination method.
The amount of computation needed for the above procedure is
multiplications and
When we wish to use the dy nam ic equ a ti ons of motion for a manipulator,
the values of various parameters in the equations must be known. These
parameters can be divided int o two groups: kinematic parameters and
dyn amic parameters. Kinematic parameters are those that appear in the
kinematic equatio ns as well as in the dynamic equations; and dynamic
parameters are t hose that appear only in the dynamic equations. Kinematic
parameters are typically given by the set of link parameters, which can be
obtained from the d rawings or by static measurements of sizes from a
manipula to r itself. Dynamic parameters usually consist of inertial parame
ters (i.e., zeroth-, first-, and second-order moments of i nertia of the links),
and friction constants. The inertial parameters could be calculated by
meas u ring the size and weight of each part of a m an ip ula tor, either before
assembling it or by dismantli ng an already assembled m a nipula tor Not .
Various identification schemes have bee n deve lo ped for general dynamic
systems. 1 5 Roughly speaking, the identification problem of manipu lators
is also one of these problems. However, it has the following s pecia l features:
(i) Since the structures of m an ip ulators are not very complex a black-box
,
approach ( i den tific atio n of the structure and i ts order) is not ne cessary
.
performs some task, it is desirable to identify this change and to use the
result for control. This process requires an on-line identification method.
gravity force, can also be expressed using IIi . Note also that, for any pair
the third term on the right-hand side of equation 3.6 1 , which represents the
L L
i = l j=l
(3 . 1 1 3)
(3. 1 1 4)
where
Note that the kinematic parameters are all contained in the homogeneous
transforms 0 Ti (i = 1 , 2, . , n), and the dynamic parameters are all con
. .
We assume that all the kinematic parameters are known, but the dynamic
during a test motion of the manipulator. We have two kinds of data: data
about motion (i.e., the position q;, velocity 4;, and acceleration iii of each
joint) and data about force (i.e., the joint driving force ti, and measurements
from force sensors attached to the manipulator, if any).
We first consider the case where only the joint driving forces are available
the right-hand side of equation 3. 1 1 5 is linear in all elements of Iii ' In order
as data about force. From equation 3 . 1 1 3, it can be easily understood that
to make this fact clearer, we define the parameter vector t/Ji' which has
a one-to-one correspondence with Iii:
(3. 1 1 7)
(3. 1 1 8)
(3. 1 1 9)
(3. l 20a)
(3. l 20b)
and write the (j,h) element of Dik as (Dik )jh' Then, for j = 1 , 2, . . . , i - I , we
have
(l 1 2Oc)
and for j = i, i + 1, . . ., n, we have
K ij4 =
( Dij h 4 + ( Dij )4 3 '
Dynamics 115
+ +
(3 . 1 20d )
K ij5 =
[ - (Dij)l l (Di)22 (Dij h 3 ]/2,
(3 . 1 22)
(3. 1 23)
(3. 1 24)
116 Chapter 3
and we write
(3. 1 25)
define
(3. 1 26)
Then we have
(3. 1 28)
only have to add more data points until that equation held. The minimum
mean square error estimate of r/Jd* (that is, the estimate minimizing IITg -
K/ r/Jd * lI ) is given by
( 3. 1 29)
if there exist an integer N and a set of data points such that the rank of
i s nd •
because we need data about motion but not data about force.
We can use a hypothetical set of data points in the above criterion,
Dynamics 1 17
Y"
z"
Figure 3.1 1
Two-link manipulator.
2 h 1 l 2 () 1 ()2 +
2
.. .. • • •
and
(3. 1 3 1 )
+ +
2 12ZZ '
Ml l = m 1 /g l 2 1 1 1 zz m2 [/1 2 + Ig/ + 211(C2 s2x - S2 S2 y )] +
(3. 1 32a)
(3. 1 32b)
(3. 1 32c)
+
/g l 2 ' 2 ' 2 /g 2 2 ' 2 ' 2
= Six Sly , =
S2x + S2y , (3. 1 33)
(3. 1 34)
118 Chapter 3
and
and
or
(3 . 1 38)
where
K= [� 0
O O
0 81
O
0 0
O O O �
0 : 11 281 + gII CI :
0 :
k 1 . 2. 2 k1•2. 3 0 : 0 0 �1 + �2 0 0 O
k2• 2 • 2 kZ• Z• 3 0 I 0 0 01 + 92 0 0 0 ' J (3. l 39)
therefore, given by
rP1 2 + 1 1 ¢J2 1
rP1 3
rPl ? + 1 1 2 rP2 1
(3. 1 4 1 )
rP2 2
rP2 3
rP2 7
The corresponding Kd is
(3. 1 42)
Data point 1 : 8; = 0; = 0; = 0,
Then
[Kil)]
rank Kd(2) = 6.
Ki 3)
axis, the force along an axis, or a set of several such forces and torques
simultaneously. For simplicity, we will consider only the case of a one-axis
force sensor attached to a link of a manipulator.
The link with the sensor is divided into two links with a virtual joint
between them. When the sensor is a torque sensor, the virtual joint is
the axis of the force sensor. We derive the dynamic equation for this
virtual manipulator with the extra degree of freedom using the Lagrangian
tion of the virtual joint set equal to zero, the force or torque exerted on the
formulation. From this dynamic equation with the velocity and accelera
sensor can be found as the j oint drivin g force for the virtual joint with its
sign changed. We can also determine the force and torque exerted on a
multi-axis force sensor by regarding it as a combination of one-axis force
sensors and repeating the above procedure.
the force sensor is exactly the same as that in example 3.3. Its dynamic
sensor. The two-j oint manipulator produced by adding a virtual joint at
z"
Figure 3.12
One-link manipulator with force sensor.
Dynamics 121
'1 = M 1 l 81 + 9 1 '
(3. l 43)
2
'2 = M1 2 81 + h2 1 1 81 + 92 ,
where
2 2
Ml l = m 1 lg / + m2(l1 + Ig22 + 211 s2;,; ) + 12 ZZ '
1 I1 zz +
2
M1 2 = m 2 (lg/ + 1 1 s2:.) + 12 ...
By an argument similar to that for example 3.3, we can conclude that l/Jd
given by equation 3 . l 4 1 is a l/J/. In this case we have
C [ S
Kd * = {J 1 : - {J I : 8 1 : 211 .� 1 g 1 :
+ C
o : 0 : 0 : 11 (} 1 + {J C 1 : 11 {}1
S
--; g 1 :
gSl : (}1
•
-
�lJ. 0
= [ K : diag [qJ : diag [s g n(q ; )]] [ l/J T, tfovT, l/JcTY, (3. 1 44)
where
1 22 Chapter 3
Hence, by regarding [tP T,f/lvT, tPcT] T as a new tP, and by regarding the
coefficient matrix [K : diag[q;] : diag [sgn(q;)] ] (which relates this new tP
to T) as a new K, we obtain an equation of the same form as equation 3. 1 2 1 .
Therefore, using equation 3 . 1 29 w e can iden tify f/Iv and tPc a s well a s tP/.
Since the load grasped by the end effector may be considered part of the
last link, we can gain information about the dynamic parameters of the
load through identification of tPn.
(3. 146a)
Zoo
Figure 3.1 3
Two-link manipulator with load.
Dynamics 1 23
From these equations we can obtain the values of ml, Six , Sly , and 2 � %% =
2 11 +
%% ml lg / . Although we cannot know the mass m2 of link 2, we can find
the mass ml of the load alone. D
Exercises
3.2 Derive the equations of motion for the two-link manipulator in figure
3. 14 using the Lagrangian formulation. Let 19 1 be the distance between joint
Figure 3.14
Two-link manipulator.
1 24 Chapter 3
Figure 3. 15
Two-link manipulator.
1 and the center of mass of link 1 , let m; be the mass of link i, a nd let l; be
the moment of inertia about the cen te r of mass of link i. Assume that gravity
acts vertically downward.
3.3 Derive the equa tion s of motion for the two-link m ani p ula t or in figure
3. 1 4 u sin g the Ne w t o n E uler formulation. Show that the re sul t is equivalent
-
3.4 Derive t he e q uatio ns o f m otion for t he two l ink m ani p ula to r in figure
3. 1 5 using the Lagrangian formulation. In the figure 8; is the joint angle of
-
link i, m; is the mass of lin k i, l; is the m ome n t of inertia of link i about the
a xi s that pa ss es t h rough the center of mass and is p a r allel to the Z axi s Ij
is the le ngt h of link i, and 19; is the distance between joint i a nd the center
,
of mass of li nk i. Assume that the first j oi nt d ri vi ng torque, ' 1 ' acts between
the base and link 1, that the second j oint drivi n g torque, ' 2 , acts between
links 1 and 2, and that gravity act s in the - Z direction.
dri ve that the center of mass of link 1 is on the Zl axis, and that the centers
manipulator, usi ng the Lagrangian formulation. Assume that it has a serial
,
of mass of links 2 and 3 are at 2S2 [lg 2 ,O,OY on X2 and 3 S3 [lg 3,O,OY
on X3 , respectively. Also assume that the i nerti a tensor of link i about the
= =
Dynamics 125
Figure 3.16
Parallel-drive two-degrees-of-freedom manipulator.
center of mass expressed in its own link frame is give n by a diagonal matrix,
diag[Iix, liy,liz], and that gravit y acts in the - Zo direction.
References
(MIT Press.
Chains," ASME Journal of Dynamic Systems. Measurement. and Control 93 ( 1 9 7 1 ): 1 64- 1 72.
Mechanisms," ASME Journal of Dynamic Systems, Measurement, and Control 104 ( 1 982):
7. M. W. Walker and D. E. Orin, "Efficient Dynamic Computer Simulation of Robot
205-2 1 1 .
I.
8 . K . R . Symon, Mechanics, third edition (Addison-Wesley, 1 9 7 1 ).
ManipUlator Arms," in Proceedings of Ninth IF AC World Congress ( 1984), vol. VI, pp. 74-79.
1 3 . H. Mayeda, K. Osuka, and A. Kangawa, "A New Identification Method for Serial
Various factors should be taken into account when we choose the mecha
nism and the size of a robot manipulator at the design stage, or when we
determine the posture of the manipulator in the workspace for performing
a given task during operation. An important factor among these is the ease
of arbitrarily changing the position and orientation of the end effector at
the tip of the manipulator.
In this chapter we will develop an approach for evaluating quantitatively
this ability of manipulators from the viewpoints of both kinematics and
dynamics . First, from the kinematics aspect, the concepts of the manipul
ability ellipsoid and the manipulability measure will be introduced.1•2
Various robotic mechanisms will be analyzed using the manipulability
measure. Then, the dynamic-manipulability ellipsoid and the dynamic
manipulability measure, which are extensions to the dynamic case, will be
discussed.
3
For a total evaluation of manipulators, we should of course consider
many other factors, including size of workspace,4.5 positioning accuracy,
load capacity, speed, reliability, safety, cost, ease of operation, and settling
time.
r =t(q). (4.1)
The relation between the velocity vector" corresponding to r and the joint
velocity q is
,, = J(q)q, (4.2)
where J(q) is the Jacobian matrix. J(q) may also be written as J hereafter.
For the case where n � 6 and both the position and the orientation of the
end effector are considered (m 6), the matrix J means Jv given by equation
=
2.85. On the other hand, for the case where only the position of the end
effector is of concern or, as pointed out in subsection 2.5.2, the axis of
128 Chapter 4
rotation of the end effector is invariant with respect to the reference frame,
we can use r = J,(q)q in place of equation 4.2. All the arguments in this
chapter are valid for the latter case if we simply replace v with rand J with Jr'
Now we consider the set of all end-effector velocities v which are realiz
able by joint velocities such that the Euclidean norm of q,
(4/ + 4/ + + 4,,2)1/2,
IIql!
= . . .
(4.3a)
4 = rv + (I - r J)k,
where k is an arbitrary constant vector. From this equation, equations
Figure 4.1
Manipulability ellipsoid.
Manipulability 129
IItjll2 = tjTtj
=
"T(r )T r" + 2kT(1 - r I)T r "
+ e (I - r If (I - r I)k
= "T(r f r " + e(I - r If(1 - r I)k
� "T(rf r ".
Hence, if IItjll � 1, then "T(rf r" � 1 holds. It is clear from equation
4.2 that any velocity " realizable by an appropriate tj satisfies "E R(/).
Conversely, if we let an arbit rarily selected " satis fying equation 4.3a be ,,*,
then since ,,* E R(/) there exists a vector z such that ,,* = Jz. Hence, by
letting
we have
and
m), then, since" E R(/) for any", the manipulability ellipsoid is given by
(4.3b)
(4.4a)
(4.4b)
The scalars 0"1,0"2" " ,O"m are called singular values of I, and they are
equal to the m larger values of the n roots {jf;, i 1, 2, , n}, whe re A.j
= . . .
ith column vector of U. Then the principal axes of the manipu labili ty
ellipsoid are 0"1U1>0"2"2,'" ,00mUm (see figure 4.1). This is now shown.
From equations 4.4 and A2.l6,
(4.5a)
(4.5b)
o
where O"j -10 if O"j = 0 for notational convenience. We consider the follow
=
V = UTI' = col[va.
1 -2
zVj <
"
1.- 1.
=
adO O"j
This implies that the direction of the coordinate axis for Vj (that is, the
d irection of uJ is that of a principal axis, and that the radius in that direction
is given by O"j. Therefore, the principal axes are 0"1 U1 ,0"2U2,·· . ,00mUm'
One of the represe ntati ve measures for the ability of manipulation derived
from the manipu labi lity ellipsoid is the volume of the ellipsoid. This is given
by em w, whe re
Manipulability 131
(4.6)
{
(2ltt/2/[2.4.6 . . . . . (m - 2)·m]
Cm= 2(2lt)(m-ll/2/[1' 3· S .. ·(m - 2)'m] if m is odd.
. .
if m is even
(4.7)
w= JdetJ(q)J. (4.9)
,
radians, and seconds) we denote the maximum (angular) velocity of joint
i as qimax' We also select a desirable maximum (angular) velocity Vjma• for
each element of the end-effector velocity Vj' taking into consideration the
class of tasks that the manipulator is supposed to perform. Then, letting
we have
(4.14)
where
Tv =
( 1 1 , 1) ,
diag -- ,--, .. . -- (4.16)
v 1 max V2 max Vm max
. (1 ), 1
Tq = dlag -. -'-'--" " ,-. -
1
(4.17)
qlmax Q2max qnmax
and diag(' ) denotes a dia gonal matrix. Since the normalized variables Ii
and q satisfy the assumption that we have made imp lici tly for v and q, we
t
can define the manipulability ellipsoid and the manipulability measure
using the normalized Jacobian J(q). Especially when n=m, he relation
r
between the measure w for J(q) and the manipulabili ty measure w for the
no ma lized Jacobian J(q) is given by
(4.18)
Thus, the transformations 4.12 and 4 . 13 have only the effect of multiplying
w by a scalar constant
m
f1 (4imax!Vimax)'
i=1
(4.19)
(4 .20)
Regarding ](q)Gr-1 as a new Jacobian, we can develop a similar argument
as above. Note that when differential gears are used, G, is not diagonal.
Finally, let us consider the relation between the manipulability and
the force (and moment) which can be exerted on an object by an end
effector. We assume that a manipulator is not in a singular configuration,
i.e., rank] m. We let the force exerted by the end effector of the manipula
=
T = JT(q)/ (4.21)
Hence, the set of all f realizable by some T such that liT \I � 1 forms an
ellipsoid in the m-dimensional Euclidean space described by
(4.22)
·���----�x
o
Figure 4.2
Two-link mechanism.
configuration in the workspace gives the most desirable position for manip
ulation tasks.
Let us consider a two-link mechanism shown in figure 4.2. When the
hand position [X,y]T is used for r, the Jacobian matrix is
(4.23)
(4.24)
Thus, the manipulator takes its optimal configuration when (J2 = ±90°,
for any given values of 11, 12, and (Jl' If the lengths 11 and 12 can be specified
under the condition of constant total length (that is, 11 + 12 = constant),
then the manipulability measure attains its maximum when 11 12 for any
=
L-....JScale of
o 1 ellipsoid
��. o 1 2 /a
Figure 4.3
Manipulability ellipsoid and manipulability measure.
First, JP is given by
JJT
(Sl +S12)2+S1/ ]
[
-(Sl +S12)(CI +C12) -S12C12
=
Thus, the singular values are given by (Ii = jf;, where i = 1,2. Next, from
equation A3.8',
where
4.4 shows the manipulating-force ellipsoid. From figure 4.3 we can clearly
see the direction in which it is easy to manipulate the end effector; from
figure 4.4 we can see the direction in which it is easy to exert a force on the
object.
Scale of
ellipsoid
Figure 4.4
Manipulating-force ellipsoid.
z�
Figure 4.5
SCARA-type manipulator.
Manipulability 137
r---\-y
-t--<>
Figure 4.6
PUMA-type manipulator.
and ex is the rotational angle of the hand about the Z axis. The Jacobian
matrix for this case is
l
° 0
° ° (4.25)
-1 0 .
o 1
Hence,
(4.26)
J =
[ -SI( 12S2 + 13S23) C1(12C2 + 13C23)
C1( 12S2 + 13S23) SI( 12C2 + 13C23) ( 4.27)
o -( 12S2 + 13S23)
and the manipulability measure is
(4.28)
The best posture for given 12 and 13 is found as follows: First, (11 is not
related to wand can have any value. Second, by assuming that S3 * 0, we
see from OW/(}(l2 0 that =
II 12 + 13C3
tan {72 =
13S3 ( 4.29)
This means that the tip of the ann should be on the X Y plane, which is
-
at the same height as the second joint. This can further be interpreted as
maximizing the contribution of the angular velocity of the first joint to the
manipulability measure.
Substituting equation 4.29 into equation 4.28 yields
w = 1213 J
l/ + 1/ + 212 13C31S31. (4.30)
Figure 4.7 shows the best postures for the cases 13 y12' where y 0.5,1,
= =
2. (Only those satisfying 0° � (12 � 90° are shown in the figure.) If the
manipulator is regarded as a two-joint mechanism consisting of (12 and 03,
Figure 4.7
Optimal configurations for PUMA-type manipulator.
Manipulability 139
the optimal angle for 03 is 90°, as was discussed in subsection 4.2.1. In the
present case, however, the optimal 03 is smaller than 90° because the
contribution of 01 to w can be made larger by placing the tip of the arm
farther from the first joint axis.
Only the three main degrees of freedom of manipulators and the hand
position are considered in this subsection, as in the preceding subsection.
The manipulability measure w of an orthogonal-coordinate manipulator
(figure 1.3a) is 1 everywhere in the workspace. The most manipulable
posture for a cylindrical-coordinate manipulator (figure 1.3b) is attained
when the arm is fully stretched out. Similarly, a polar-coordinate manipula
tor (figure 1.3c) is most manipulable when the arm is fully stretched out in
the horizontal direction. Therefore, for cylindrical-coordinate and polar
coordinate manipulators, the best posture is achieved at the boundary of
their workspace. Although this is inconvenient, it is true for all robotic
mechanisms that have a prismatic joint whose axis is in the radial direction
of a rotational joint. This is also intuitively understandable. For these
manipulators, we will need considerations other than the manipulability
measure, such as preferring a position near the center of the workspace, in
order to determine the best working position.
where
-Clbl -Clb2 ��:- ],
-Clb3
(4.32)
Figure 4.8
Four-joint linger.
and
where
W(02,03,04) = JdetJJT
and
[b1�l ii2 �3
J =
b2 b3 . J
Note that W(02,03,04) is the manipulability mea s ure of the three-joint
mechanism that consists of joints 2, 3, and 4 and moves in the X -Z'
plane shown in figure 4.8. The maximum value of W(02,03,04) and the
corresponding finger posture for a given di stance ta between joint 2 and the
tip of the finger are shown in figure 4.9 for the case wh ere 12
= 13 0.4 and
=
Manipulability 14 1
0.3
0.2
0.1
Z'
1.1
(b)
Figure 4.9
Maximum value of wand corresponding best finger posture. (a) Maximum value of w as a
function of I•. (b) Best finger posture.
142 Chapter 4
Z'
--+-------�-w-O--_r�
1.1 X
1.1
Figure 4.10
Maximum value of manipulability measure as a function of fingertip position.
14 0.3. (These postures are independent of the angle 92 .) Figure 4.10 shows
=
the maximum value of was a function of the fingertip's position in the X -Z'
plane (only the lower half-portion is shown, since the value in the upper
half is symmetric with respect to the X axis). The best finger posture is
shown in figure 4.10 by a broken line.
The finger postures illustrated in figure 4.9b are quite similar to those
taken by human fingers during the manipulation of small, light objects.
Sections 4.1 and 4.2 discussed the manipulability measure, a typical index
of manipulability induced from the manipulability ellipsoid. This section
presents several other indices that are developed from the same ellipsoid.
A remark is also made concerning global indices, which are required for
the evaluation of a manipulator as a whole.
As was stated in section 4.1, the manipulability measure WI ( W will be
denoted as WI in this section) represents the volume of the manipulability
ellipsoid. Other indices that might be induced from the manipulability
ellipsoid are
(4.3 3a)
(4.33b)
and
(4.33c)
Manipulability 143
Index W2 is the ratio of the minimum and maximum radii of the ellipsoid.
The closer to unity this index is, the more spherical the ellipsoid is. In other
words, W2 is an index of the directional uniformity of the ellipsoid and is
independent of its size. The reciprocal of W2 is the condition number of the
Jacobian matrix 1.6 Index W3 is the minimum radius of the ellipsoid.7 This
gives the upper bound of the magnitude of velocity at which the end effector
can be moved in any direction. Index W4 is the geometric mean of the radii
0"1' 0"2' , O"rn, and it is equal to the radius of the sphere whose volume is
. • •
the same as that of the ellipsoid. It is also equal to the mth root of W1.
The selection of an index among W1, • • • , W4 depends on the purpose of
In this way, we can obtain a global index with a clear physical meaning.B
measure for evaluating the manipulating ability, with the dynamics of the
arm taken into consideration (ref. 3).
Assume that the manipulator dynamics is given by equation 3.62, i.e.,
Also assume that the relation between the end-effector position vector r
and the joint vector q is given by equation 4.1, and that the relation between
the end-effector velocity vector II and the joint velocity vector q is given by
equation 4.2, i.e.,
11 = J(q)q. (4.36)
ar = Jrar + (i - Jr)ar
and
(4.41b)
j = JM�li. (4.42)
(4.43)
where
(4.45)
o .
Let
(4.46)
Note that except at the singular configurations where the volume of the
ellipsoid becomes zero (that is, except at configurations for which rank
J = m), equation 4.43 can be replaced by
(4.47)
where
(4.48)
(4.49)
I det J I
Wd (4.50)
IdetMI'
= ---
Ifd � 1, i = 1, 2, . , n
. . (4.51)
So far, we have implicitly assumed that the maximum joint driving forces
at all joints are 1 irrespective of q, and that the weights of all components
of the end-effector acceleration are the same. When these assumptions do
not hold, each variable should be normalized as follows: Regard a state in
which the manipulator is at rest (q 0) as a standard one for considering
=
i = f - g(q), (4.53)
v = V. (4.54)
Now we take
(4.55)
(4.56)
(4.57)
and
(4.58)
� =
JIfr1f, (4.59)
where
J= Tal, (4.60)
1'. = diag ( �
--
1
�
.--
1
)
.. . ..-
timax t2max
1
� -
'"max
. (4.63)
148 Chapter 4
(4.64)
We will now analyze the two-link mechanism shown in figure 4.11 from
the viewpoint of dynamic manipulability. The following notations are used
in the figure:
-L�---X
---�
Figure 4.11
Two-link mechanism.
Manipulability 149
It is assumed that the first joint driving torque, 't1, acts between the base
and link 1, and that the second joint driving torque, 't2' acts between links
1 and 2. We let r = [x,yY, so that from subsection 3.3.1 we have
(4.65)
M =
[M21Mll ]
M12 ,
(4.66)
M22
2 2 2
Mll 11 + 12* +ml/g1 +m2* (l1 + Ig2* + 2/1/g2*C2),
= (4.67a)
wherem2*' Ig2*' and 12* correspond tom2, Ig2' and 12 , respectively, but
since in this case the end effector and the load are regarded as part of link
2, these parameters become
(4.68a)
-
* 2*11 2 +m2*21g2* 21 2S22"
m1 1gl 2 ) (/ 2* +m2*192* 2) + 12m
Wd =
(/
1 + - 1
(4.69)
From now on we will assume that the link mechanism is at rest. The case
where there is no gravity effect will be considered first. In this case, since
Tima• 'tim •• by an argument similar to equation 4.18, Ta and Tt have only
= ,
(4.70)
m1 191 2 +m2*1 2)(/-2* +m2*192*2)
IX = -
(Ii + 1
150 Chapter 4
and
a
m2*2192*211 2
(4. 71)
P = (1-1 + m1 191 )(1-2* + m2*192*2) + 12
2 2
'7 *m2 *1 1 '
ex(1 + I1)1S21
w" (4.72)
1 + I1S22
=
is that the center of mass of the set of link 2, the end effector, and the load
is located precisely at joint 2 (say, by the use of a counterbalance). When
192* = 0, the value 1 detMI is independent of (}2' and the dynamic-manipul
ability measure w" is equal to the manipulability measure W 11121S21 times
=
the scalar 1/ldetMI (as was stated in the preceding subsection relating
to equation 4.50). Therefore, the best arm posture from the viewpoint of
w-that is, ()2 ±900-is also the best from the viewpoint ofwd•
=
Next we will consider the case where f3 #- O. Figure 4.12 shows the value
of Wd as a function of (}2 using 11 as a parameter. It can be seen from the
figure that as f3 starts from zero and becomes larger, Wd approaches a
trapezoidal shape, but it still attains its maximum ex at (}2 90° for P
=
Figure 4.12
Dynamic-manipulability measure.
Manipulability 151
600, !2ma. 200 (units are m, kg, and sec), and 61mB• = 62mB• 1 (the
= =
the difference between Wd and the maximum value is not very large for a
wide range of la' Hence, the mechanism with the gi ven values of the inertial
parameters could be judged to be a rather good design from the viewpoint
of uniformity of the dynamic-manipulability measure over a wide area of
the workspace.
Next we will consider the case where the gravitational force acts on the
above mechanism in the - Y direction. Let 9 be the gravitational accelera
tion constant. The gravity term g(q) is given by
y
1.0
� Scaleof
o 20 40 ellipsoid
'J 2.0
..
10
Figure 4.13 . . . . . .
(without graVIty).
Dynamic-manipulability ellipsoid and dynalIlJc·marupulabllity measure
152 Chapter 4
y
1.0
Scale of
rnO ellipsoid
Without gravity
" \
\
1.0 /"
Figure 4.14
Dynamic-manipulability ellipsoid and dynamic-manipulability measure (with gravity;
I., = 0.5, 1,2 = 0.3).
y
1 .0
L-.L....J Scale of
o 20 40 ellipsoid
XI/"i
o 1 .0 2.0 /"
Figure 4.15
Dynamic-manipulability ellipsoid and dynamic-manipulability measure (with gravity;
I., = 0.4, 1,2 = 0).
Manipulability 153
(4.73)
Exercises
4.2 Exp lain the relation between the arm posture and the ma nipulati ng
force ellipsoid given in figure 4.4 for the two-link mechanism shown in
figure 4.2 by taking the human arm as an example.
4.3 Find the optimal arm posture with respect to the index W2 given in
equation 4.33a for the two-link mechanism shown in figure 4.2. Sketch the
change of the optimal arm posture as the ratio of link lengths II and 12
changes.
4.4 Derive the principal axes of the manipulability ellipsoid and the
manipulability measure for the parallel-drive two-link manipulator treated
in subsection 3.3.3, and draw a figure corresponding to figure 4.3. Find the
optimal arm posture with respect to the manipulability measure.
References
7. C. A. Kle in, "Use of Red un dancy in the Design of Robotic System," in Robotics Research:
The Second International Symposium, ed. H. Hanafusa and H. Inoue (MIT Press, 1985), pp.
207-214.
8. T. Yoshikawa, Analysi s and Design of Articulated Robot Arms from the Viewpoi nt of
"
(5.1 )
We further assume that the velocity and the acceleration o f � must sati s fy
156 Chapter 5
(5.4)
Then the unknown coefficients a1-as that satisfy equations 5. 1-5.3 are
(5.5a)
(5.5b)
(5.5c)
1 . .
a3 = - 3 [20�r - 20�o - (8�r + 12�o)tr
2 tr
-(3eo - �r) t/J, (5.5d)
1 . .
a4 4 [30�o - 30�r + (14�r + 16�o)tr
2 tr
=
- 5 [12�r - 12�o
2 tr
= -
(5.6)
�,
o t,
Figure 5.1
Boundary conditions �o = �r = 0 and (5.6).
Figure 5.2
Trajectory with acceleration, constant velocity, and deceleration phases.
(1) Only the initial point �o and the final point �r are known.
We develop a trajectory that starts from rest at �o, passes through the
phases of acceleration, constant velocity, and deceleration, and finally
comes to a complete stop at �r. For this purpose, we first choose the value
of parameter A that denotes one-half of the acceleration and deceleration
period. Second, we determine the auxiliary points �02 and �rl shown in
figure5.2 by the following procedure: First two points �Ol and �r2 at time
t = A and t = tf A are taken as �Ol = �o and �r2 = �f· Then �Ol and �f2
-
are connected by a straight line and �02 and �f1 are determined as the points
on the straight line at time t = 2A and t = tr 2A. -
y y
nr-------<>x
a
(a) (b)
Figure S.3
Two-link manipulator. (a) Initial position. (b) Final position.
at these boundary points. The trajectory segment between e02 and eft is
specified by the straight line. Thus, the whole trajectory is given by the bold
solid line in figure 5.2.
Example 5.1 Applying the above method to the two-link planar mani
pulator shown in figure 5.3, we generate a trajectory that starts from rest
at the initial position in figure 5.3a and comes to a complete stop at the
final position in figure 5.3b in 2 seconds. Suppose we choose L1 = 0.25. Then
the first joint angle, (Jl' is given by
(2) The initial point �o, several intermediate points, and the final poi nt
�r are given.
We determine a trajectory that starts from rest at initial position eo, passes
through intermediate positions e1 and e2, and stops at fmal position 'f' We
first consider the case where it is not necessary to pass exactly through '1
Position Control 159
Figure 5.4
Endpoint trajectory.
between �j-l (eOI when i = 1) and 0 and B (the intersection of the line of
t tj L1 with straight line between ej and ei+1 (�f2 when i 1». Point �i3
= - =
Figure 5.5
Trajectory passing near the intermediate points.
(a)
I,
(b)
Figure 5.6
Trajectory passing through the intermediate points. (a) Intermediate points. (b)
Determination of points </2 and </3'
Position Control 161
(5.8a)
(5.8b)
(5.8c)
and
Example 5.2 Let us obtain a trajectory for the problem in example 5.1
not in terms ofjoint variables but in terms of end-effector position variables
r = [X,y]T. Since the initial position ro is [J3/2, 3/2Yand the final position
x(t) =
{
rf is [1, O]T, the trajectory ret) = [x(t),y(t)Y is given by
1=0
_ 1=0.5
II
...j\.
1'_
-
-
'" --
-
I
1=1.0
I
I I
I 1
I I
I I
I
1
/ = I. 5
1
I
/=2.0 X
FigureS.7
Endpoint trajectory.
Position Control 163
R(k,�) = kxky v" + kzS/Z ky v" + CII kyk v" - kxS« , (5.9)
�
kxkz v" - kyS« kykz v" + kxS« kz v" + C«
R(k,rx) = ["XB"YBAZB]'
where "XB' AyB, and AZB are the unit vectors in the X, Y, and Z directions
of 1:B expressed in 1: . Letting'l be an arbitrary vector in 1: and '2 be the
A A
vector obtained by rotating'l about k by rx, we have general equality
(5.1 0)
'2 = [k/ v" + C«, kxky v" + k2S«, kxkz v" - kyS«Y.
Hence the first column on the right-hand side of equation 5.9 is derived.
The second and third columns are derived similarly.
Now the single-axis rotation method is given. Let the orientation of'r
with respect to the end-effector frame of '0 be [kf>rxr] when expressed by
the above representation, [k,rx]. Then a trajectory from,o to'r can be given
164 Chapter 5
as one for which IX changes from 0 to IXr about the fixed axis kf• We can
specify the change of IX by, for example, the solution of �(t) in equation 5.4
with the following boundary conditions:
This method, proposed by Paul (ref. 3), will be described here using a
somewhat different formulation. Suppose the orientation of 'f with respect
to,o is given by (tft , O, IjJ) when expressed with Euler angles. Using equations
5.9 and 2.20, we can easily see that the orientation of'r is also given by the
rotation matrix R(k,O)R(t,t/I + tft), where k = [ -sintft,costft,OY and where
t is the Z axis after the transfer by R(k,O). Thus, we can realize a trajectory
from '0 to 'r using R(k'�6(t»)R(2:(t), �",+�(t», where �6(t) and �"'+t,6(t) are
polynomials specified by equation 5.4 with appropriate boundary condi
tions and where t(t) is the Z axis at time t after the transfer by R(k'�6(t».
Simply put, this trajectory is a combination of two simultaneous rotations;
one about the axis perpendicular to the approach vectors of,o and'r (which
has a constant direction in the end-effector frame of '0 ) through an angle
0, and the other rotation through an angle (t/I + tft) about the approach
vector at each instant. The axes of these two rotations are both easy to
understand. In particular, when the last joint of a manipulator is revolute
with its rotational axis coincident with the end-effector approach vector,
this joint can perform the second rotation about t(t) by itself.
Although the double-axis rotation method is a little more complex than
the single-axis rotation method, it makes it easier to understand the change
of the approach vector.
Example 5.3 Suppose that we want to find a trajectory that transfers the
end-effector orientation from rest at the initial orientation shown in figure
5.8a to the final orientation shown in figure 5.8b, coming to rest at time
tr = 1. First, we solve the problem by the single-axis rotation method. It is
easily seen from figure 5.8 that the rotation matrix R representing the final
Position Control 165
z"
y,
+--c>Y" ':)Hf---<> X,
x" z,
(a) (b)
Figure S.S
Initial and final orientations of the end effector. (a) Initial orientation. (b) Final orientation.
0 0 [ 1]
R= 1 0 0 .
0 1 0
Comparing this matrix with equation 5.9, we get
kf = [1/)3, 1/J3, 1/J3Y,
�f = 120°.
with
z. z.
8( t)
z
, z
I ,
, ,
I ,
\ I
I
\ I
\ /
l,p I I
/
Xo , .....
',(I Xo \ / I I ./
'-
'
X
I _
\�, ____ .-{- :
,.
x , ,
... _1. ...... '
/
(a) (b)
Figure 5.9
Intermediate orientation. (a) Single-axis rotation method. (b) Double-axis rotation method.
where
is positive definite (see appendix 4). Denoting the reduction ratio between
the actuator displacement vector qa and the joint vector q by a nonsingular
matrix Gr> we have
(5. 1 3)
where M. is the inertia matrix of the actuators, v.. is the frictional coefficient
matrix, fm is the force generated by the actuators, and Ta is the joint driving
force transmitted to the link mechanism from the actuators. If we assume
that Gr is constant, the relation between f. and f is, by the principle of
virtual work,
(5.14)
When each joint has its own independent actuator with a large reduction
ratio, the matrices Ma, v;., and Gr are diagonal and the values of the
diagonal elements of Gr are large. Further, we consider the case in which
Ky and Kp are diagonal and the values of these diagonal elements are
positive and large. Then the terms M(q), h(q,q), Vq, and g(q) are small
relative to other terms, so the dynamics equation of the closed-loop system
consisting of equations 5.15 and 5.16 may be approximated by
(5.17)
This represents a set of independent second-order systems for each joint.
We can adjust the response characteristics of these second-order systems
by properly selecting gains Ky and Kp.
The above argument is dependent on various assumptions. Particularly,
if the terms M(q), h(q,q), and g(q) are not negligible in comparison with
either of the terms G/MaGr and G/v;.G.. the above argument does not
hold. Fast and accurate motion may not be possible without more sophis
ticated control algorithms like those given in later subsections. Note,
however, that if we can at least compensate for the gravity term g(q), we
know that a closed-loop system with a PO feedback control law is stable
under certain conditions. A typical condition is that the desired trajectory
qd(t) is constant and the control mode is point-to-point control in which
the end effector is required to stop at several desired points sequentially.
This stability will be shown in the next subsection.
(5.18)
is applied to the system of equation 5.15. We obtain this algorithm from
equation 5. 16 by adding gravity compensation. For simplicity we assume
that G/v;.Gr + V� O. We also assume that Kp and Ky are symmetric
positive definite. Then, by using the Lyapunov stability theorem (appendix
4), we can prove that the constant equilibrium point qd is asymptotically
stable-that is, q(t) converges to qd after an infinite period of time.4•5
We first give another expression for the centrifugal and Coriolis force
term h(q,q) in equation 5.11. We saw in chapter 3 that this is generally given
by equation 3.68. Noticing that
Position Control 169
Cij = "21 f
L,.,
k=l
(fJMij fJMile OMjk).
--
iJqle
+ --
iJqj
- --
iJqi
q/c. (5. 1 9b)
We can also see that this C(q,q) has the property that the matrix [M(q) -
2C(q,q)] becomes skew-symmetric. Hence, for any n-dimensional vector x,
(5.20)
Then v(x) is positive definite. Using equation 5.21, the time derivative of
v(x) is
v (x) = qT{[G/MaGr + M(q)]tj + tM(q)q} - qTKp(qd - q)
= _qT[G/V.Gr + V + Ky]q + qTaM(q)q - h(q,q)}.
On the other hand, using equation 5.20 we can easily see that the expression
(5.23)
and so v(x) is a Lyapunov function. From equation 5.23, any solution q(t)
for v (x) = 0 must satisfy q(t) = O. Such a solution that also satisfies equation
5.21 is uniquely determined by q(t) - qd = O. Therefore, by theorem 2 of
appendix 4, the equilibrium state qd is globally asymptotically stable.
170 Chapter 5
When Gr and g(q) are exactly known and the current values of q and q
are measurable, this asymptotic stability is guaranteed by the control
algorithm 5.18 even if there is no information at all about M(q), h(q,q), V,
Ma, and v.. . However, if g(q) is not known exactly, a steady-state error may
occur. A way to cope with this error is to add an in tegral action term to
equation 5. 1 8:
l'm(t) = {
Gr-T Kp [qd - q(t)] - K.q(t) + I KJqd - q(t)]dt + }
g(q) ,
where
Observing that [q T,tjTy may be taken as the state variables of this me
chanical system, we consider a no nlinear- sta te feedback com pensati on
described by
(5.26)
(5.27)
Position Control 171
Linearized system
/� inearizing compensator
Ir� ------��-==---�
II
, I
I I
I T,
r
r I
r
T,=h.v(q,q)
I I r--- ______ J
Figure 5.10
Two-stage control using joint variables.
which is linear and decoupled with respect to the joint variables. Thus,
equation 5.26 is a linearizing compensation law.
Let us assume an ideal situation where equation 5.24 is an exact model
of the manipulator without any modeling error and there exists no external
disturbance to the system. Then we obtain q(t) qd(t) by assigning the
=
second derivative iid (t) of a given desired trajectory qd(t) as uq• This implies
that the desired trajectory is perfectly achieved. In practice, however, some
modeling error and some external disturbances are inevitable. The basic
idea here is to reduce their effect on the control performance by installing
a servo compensator to the linearized system (equation 5.27). Figure 5 . 1 0
i s a schematic diagram o f this two-stage approach o f linearization and
servo compensation.
Suppose that we adopt a servo compensator described by
(5.28)
e = qd - q, (5.29)
Hence, if we set
(5. 3 1 a)
172 Chapter 5
and
Example 5.4 Suppose that we wish to apply the above two-stage control
concept using the servo compensator specified by equations 5.28 and 5.3 1
to the two-link manipulator in subsection 3 3 1 . Letting 8d
and uq = [Uql,Uqz]T and using equations 5.28 and 5. 3 1 , we have
Od2F
. . = [Odl,
[ ] [� :(Odl - Od .
� �1)
(Od2 ]
Uq 1 dl + 2'We ( dl - + we
=
Uq2 0dZ + 2,We(Od2 - (2) + We - (2)
From equations 5.26 and 3.39 we finally obtain the control algorithm:
= + + Mlluq1 + M1 2uq2,
Z
• •
'1 h1 2202
•
2h1 120102 + gl
.
'2 = hZll(}l
2
+ g2 + M21 Uql + M22Uq2· 0
y = J;(q), (5.32)
(5.33)
where Jy(q) = 8y/8qT. Assuming that the Jacobian matrix Jy(q) is nonsin
gular in a certain region of q, we consider a nonlinear state feedback
compensation
(5 .34)
(5. 35)
Position Control 173
Linearized system
r - - - - - - - -- LZ�i�e�i�.-':�m£e�s:t�
r----------- ---------- �
- --l
I
u" I
I 1 . . I
II u,,=J,(q) q I
I
I I I I
I
1I
. I
qq I I
1 I I 1
--, II ...J 1
I lu,
•
1
.-__
II
_ __
11+
M(q)J' - '(q)I-<H--=--i
L-----,r---' 1 L--
L
-- _____ -
+
-
____________________________
_J
I L-__ ...J
J
I
I
Figure S.ll
Two-stage control using output variables.
(5.36)
y
=
[
11 C1 + 12C12 ]
+
,
I1S1 12S12
Thus,
iy(q) = -llS[-11
le1
C1 �1
174 Chapter 5
and
-J' )
y(qq-
['1 2
CJJ1 + 12 Cu(Ol + (2)2
2
]
11 SI 01. + 12S12(01 + O2 )
2
. _
• • •
Letting uy = [uYI , Uy2]T, we then have, from the above equation and 5.34,
+
2
+
•
/11/2S2
and
. 2
+ {II [M 1 2 /2 C2 - M22(l2C2 + Id]Ol
2
+ 12 [M12i2 - M22(l2 + 11 C2) ] (0 1 + (2)
/11/2S2•
When O2 = 0 (that is, when the manipulator is in a singular configuration),
S2 O. This means that 't'1 and 't' 2 may become infinitely large. This is a
=
difficulty we did not have in linearization with respect to the joint variables.
We have to provide some measure to deal with this difficulty when we adopt
a linearization with respect to the output variables. 0
The problem of computing T from equation 5.26 for given q, 4, and uq and
the problem of computing T from equation 5.34 for given q, 4, and Jy -l(q)
[ -iy(q)4 + uy ] are equivalent to the inverse dynamics problem of com
puting T from equation 5.24 for given q, 4, and ij. The computation scheme
conceived earlier involved calculating all the terms on the right-hand side
of equation 5.24 from their analytical expressions derived by the Lagran
gian formulation. Since this requires a large amount of computation, it was
regarded as impractical unless some simplification were to be employed.
To cope with this difficulty, a computational scheme based on the Newton
Euler formulation was proposed. As was stated in chapter 3, whereas the
Lagrangian approach requires a number of computations on the order of
4
n , Newton-Euler computations are only of order n.
�--�------�---.
Figure 5.12
Linearization using the desired trajectory.
than the above degradation, then we can justify using the system of figure
5.12.
The second means is to distinguish the sampling period for linearization
from that for servo compensation in the control system shown in figure
5.11 (ref. 8). This concept is based on the idea that the linearization, which
requires a large amount of computation, may have a large sampling period
provided that the servo compensation has a small enough sampling period
to cover the error caused by the large sampling period of the linearization.
For example, let
(5.37a)
and
(5.37b)
(5.38)
When the values A and b are given, very little computation is needed to
obtain T from equation 5.38. Thus, if we calculate A and b with a low
sampling rate and calculate T from equation 5.38 with a high sampling rate,
we can expect a better control performance than if we do all the computa
tion at only one sampling rate.18 Figure 5.13 shows a block diagram for
this dual-sampling-rate approach. Note that the linearizing compensation
loop is outside the servo compensation loop.
Servo compensator
� -1.L--:-:E_q_o_5_03_7_-Ir - - - - - - - j
Linearizing compensator
-
Figure 5.13
Dual-sampling-rate approach to two-stage control.
(5/i) C;c = O{ ,
2):
"a X e.qi + e.qi'
. ..
ifR
if P
(6/»): i-I' i-I � i-I �
i "d =
i-I (i-l
Wi-l X Pi + Wi-l X Wi-l X Pi ),
178 Chapter 5
(14/i) 1; �p + 9;,
Y;
=
= +
i� iA
(1S/i) �q "i Si X i'
{ TiTi
=
C;q + �"
ez "i, if R
(18/i) "i
=
ez 1';, ifP.
Among these subtasks, there exists a hierarchy that determines which
subtasks must be done before a particular subtask is pe rforme d This .
Example 5.6 Cons ider a six-link manipulator with all joints revolute.
.
Assume that the initial values of °Wo and °Wo are not necessarily 0, and
that one multiplication in MPU takes 0.005 msec and one addition 0.004
msec. The computation time needed to execute each subtask is given in
table 5.1. Using this table, we can determine the time history of the status
Position Control 179
Figure 5.14
Precedence relation among subtasks.
of each processor for algorithm I, which is shown in figure 5.15. (The bold
solid line means that the processor is on duty; blank space means waiting
time.) We see that the total computation time of the above algorithm is
1 .745 msec. Since the computation time is 5.790 msec when only one
processor is used, the above parallel processing speeds up this computation
by a factor of 3.3. 0
executes the subtasks in the order (13/n), (16In), (lin), (2In), (3/n), (Sin), (ll/n).
180 Chapter 5
Table 5.1
Computat ion time for each subtask.
(l/i) 8 5 00
. 60 ms
( 2/i ) 0 0 .004
( 3 /i) 2 0 0.0 1 0
(4/i ) 8 8 00
. 72
( 5/i) 0 0 0
(6 / i) 18 1 2 0 .1 3 8
(7 /i) 8 18 00
.72
( 8/ i) 18 1 2 0. 1 3 8
( 9/i) 3 3 00
. 27
( 1 0/i) 9 6 0.06 9
( ll/i) 1 5 9 0. 1 1 1
(12/i) 0 3 0.01 2
(13/i) 8 1 5 00
. 60
(14 /i) 0 3 0.0 1 2
(lS/i) 6 6 0.0 54
( 16 /i) 6 3 0.04 2
(17/i) 8 11 0.084
( 1 8 /i) 0 0 0
Total 1 17 95 0 .96 5
(4/n), (6/n), . . . , ( 1 0/n), ( 1 2/n), ( 1 4/n), (15/n), (17/n), (18/n) as soon as data
become available.
MPU
1 2 3 6
o
I
I
I
I
I
o. 5
� 1.0
<>
1.5 T
I
I
..
I
1
I I
I
1 . 745 U
2.0
Figure 5.15
Processor status for Algorithm I.
Figure 5.16
A critical path giving a lower bound of computation time for Algorithm II.
1 82 Chapter 5
( 5 . 39)
where kl is the torque constant of the motor. The back electromotive-force
voltage, Vb ' is
(5.40)
where 8m is the rotational angle of the motor and kb is the back electro
motive-force constant. Regarding the armature circuit, we have
di
L dt + Ri + Vb = V, (5.4 1 )
where v is the input voltage, L the inductance, and R the resistance of the
armature.
Mechanically, we have
(5.42)
L R
-0
Figure 5. 1 7
Direct-current servomotor and load.
Position Control 1 83
where 'I is the load torque on the motor, Jm is the moment of inertia, and
Dm is the viscous-damping coefficient of the annature. Letting 01 be the
rota tional angle, J1 the momen t of inertia, Dc t he viscous damping coefficien t
of the load, and n the gear ratio of the reduction system, we obtain
(5.43)
(5.44)
where
J n 2Jm + J"
= (5.45)
(5.47)
in tegrato r :
nkt
G(s) (5.48)
s { RJs + (RD + n 2 ktkb)}
= •
(5.49)
or
(5.50)
where a 1 , a2 ,
and a 3 are appropriate constants.
One bas ic structure for a servosystem that forces the output y(t) of the
above control object to fo llow the desired trajectory r(t) is shown in figure
5. 1 8. Transfer functions G1 (s) and Gz (s) are compensators to be designed.
1 84 Chapter 5
Figure 5.18
A basic servosystem structure.
we 2
(5.5 1)
(5. 52)
and
(5.53)
Now let us transform the Laplace operator s into a new one defined by
(5.54)
(5.55)
Transform 5.54 changes the time scale from t to t = we t. The shape of the
step response in the new time variable, t, is determined only by (. For
example, if ( < 1, the step response is given by
-�
e-{i (� . �)
y (t )
_( t +
� �
1 sm tan-1 . (5.56)
=
1 2 (
The step responses for various values of ( are shown in figure 5. 1 9.
Position Control 185
15
Figure 5.19
Step response of second-order system.
or-----�--�I�O--
I
Figure 5.21
Step response of third-order system (IX = 1 .3, fJ = 2.0).
1
Gf(s) = 53 + ex52 + P5 + 1. (5.6 1 )
The parameters ex and P specify the shape of the step response o f the
third-order system (equation 5.6 1 )2 1 in the same way that ' specified the
shape of the step response of the second-order system (equation 5.55). The
step responses for various combinations of ex and P are shown in figure 5.20.
As in the second-order case, a possible design procedure for the third
order system is first to select a pair of ex and P such that a desirable step
response is obtained, and then to determine b1 so that a3b1 becomes as
large as is practical. Parameters b2 and b3 are determined from ex, p, and
b1 • In figure 5.2 1 we see the step response for the case of ex = 1 . 3 and p = 2.0.
Note that the response has a reverse motion before reaching the desired
value of 1 . This is one of the differences between third-order and second
order systems. This characteristic can be used to reduce the settling time.
The design method of subsection 5.4.1 is robust enough for most situations;
however, it is not always guaranteed. In this subsection, robustness will be
1 88 Chapter 5
Figure 5.22
Servosystem with feedforward and feedback compensators.
discussed quantitatively and a method for using it in the analysis and design
of servosystems will be presented.22 - 24 For simplicity, we wi1l consider only
single-input, single-output systems.
Let us consider the servosystem shown as a block diagram in figure 5.22.
G is the transfer function of the controlled object, and Ca and Cb are those
of feedforward and feedback compensators. The scalar variables r, y, and
u are the reference input, the controlled variable, and the controlling input,
respectively. This block diagram is in a general form in the sense that
current values of both the reference input and the controlled variable are
available for determining the control input. For example, the control
system in figure 5. 1 8 is a special case of this general form, as we can see by
using
(5.62)
and
(5.63)
The response characteristic of this system with respect to the reference
input is given by the transfer function from input r to output y:
( 5 .64)
If we want to make Gy, equal to some desired transfer function, Gd, we
only have to specify Ca as
(5.65)
If the controlled object, G, has unstable zeros, Gd must also have these zeros.
Otherwise, G-1 Gd turns out to be an unstable transfer function, causing an
instability problem for the whole system.
Next, suppose that the transfer function G in figure 5.22 is perturbed and
changes into G = (1 + Lf G ) G. The transfer function Gy, from r to y changes
into
Position Control 1 89
(5.66)
Thus, we have
(5.67)
and
(5.68)
Equation 5.67 implies that S is a ratio between the change rate of the
transfer function for the controlled object, (G - G)G-l, and that for the
closed-loop system, (Gyr - Gyr)Gyr - 1 . The ratio S is called the sensitivity
function. While S is a function of the Laplace operator s, the absolute
value of SUw), I SUw) l , is more convenient for evaluating sensitivity. Using
I SUw) 1 corresponds to evaluating sensitivity from the gain of the change
rates of the transfer functions at each frequency.
On the other hand, the Small Gain Theorem gives a sufficient condition
for the closed-loop system to be stable in spite of the change of G to G (refs.
23, 24). Let us define T by
(5.69)
According to the Small Gain Theorem, if the original closed-loop system
is stable, then the perturbed closed-loop system also remains stable for any
perturbation L1 G satisfying
(5.70)
for any w. Hence, we can say that I TI-1 expresses a stability margin. From
equations 5.68 and 5.69 we have
s + T = 1, (5.71)
and T is called the complementary sensitivity function.
In lieu of a rigorous proof of the Small Gain Theorem, an intuitive
interpretation of equation 5.70 based on the Nyquist stability criterion is
developed below. Focusing on the feedback loop consisting of G and Cb in
figure 5.22, we assume that this part of the feedback loop is stable. Then,
by the Nyquist stability criterion, the vector locus of the open-loop transfer
function GCb does not pass through the point ( - 1 + OJ), as shown in figure
5.23. Let d 1 (w) be the distance between ( - 1 + OJ) and the point Pa on the
vector locus specified by GUw) CbUw) for a given w. Then d1 (w) is given by
190 Chapter 5
1m
-----.--�--��- R e
Vector locus
of GC.
Figure S.23
Interpretation of Small Gain Theorem.
(5.72)
and from the above argument it satisfies d 1 (m) > O. Now we assume that
G cha nges to G = (1 + LlG)G, and that the number of unstable zeros re
mains the same in spite of this change. The distance between Pa and the
point Pb specified by G( jm)Cb( jm) is given by
(5.73)
Hence, if AG satisfies equation 5.70, we have d2(m) < d1 (m) for all m, which
implies that the numbers of rotation about ( - 1 + OJ) of GCb and G Cb are
identical. Because of the Nyquist stability criterion, the stability property
of the closed-loop system remains the same despite the change from G to
G. Since the original system is assumed to be stable, the perturbed system
is also stable.
Since the modeling error of the controlled object can be regarded as a
perturbation LlG of G, the functions S and T may be interpreted as indices
for the robustness of the control system against the modeling error of G (S
representing the sensitivity aspect of the robustness and T representing the
stability-margin aspect). Another interpretation of S and T is also possible:
If we consider the control system shown in figure 5.24, obtained by adding
a system disturbance d and a measurement disturbance dn to the original
system of figure 5.22, it is easy to show that S is the transfer function from
d to y and T is that from dn to y.
-
Position Control 19 1
Figure 5.24
Servosystem with system noise and measurement noise.
and G2 (s) = b2 s. Let us examine this commonly used servosystem from the
viewpoint of robustness. From equations 5.68 and 5.69 we have
and
b2 s + b1
=
b1
T 2
S + b2 s +
1 92 Chapter 5
2or-----,----,--r---�
O r-----+---���--_+----_4
� - 20 r-----�--�_+----+_�--�
- 40r-----�--_+--+_--�
We 10 We 100 We
radlsec
Figure S.2S
l S I and I T I for example 5.8.
b1
- S2 + b2 s + bl
GY
_
' •
In this section, we will first consider the theory of decoupling control for
nonlinear systems; then we will develop its application to the control of a
Position Control 193
manipulator (ref. 9). This theory, used for achieving linearization of dynam
ics, decoupling among output variables, and arbitrary assignment of poles,
also provides a theoretical grounding for linearizing compensation in
two-stage control (see section 5.3).
Consider a nonlinear, time-varying system with n inputs and n outputs:
YiUl cPl(x,t), j 0, 1, .
= = . . , Vi - 1 (5. 77a)
Vi min{j:dlJl(x,t) # 0, j 1, 2, . . }.
= = . (5.80)
194 Chapter 5
(5.8 1)
(5.82)
(5.83)
and
(5.84)
and
In fact, when equations 5.76, 5.85, and 5.86 are substituted into equations
5. 74 and 5.75, we obtain
(5.87)
Example 5.9 Let us derive a decoupling feedback law for the following
two-input, two-output linear system:
Position Control 195
X= �
[ -2 -1
-4
-2 ° °
�}+ [� �}
[� �JX.
°
y
=
S i nce
Yl = [1,O,O] x,
Yl( l ) = [ - 2, - 1, O] x + [1 ,O] u,
Y2 = [O,O, l ] x,
{l)
Yz = [0, 1 , - 2] x,
(2 )
Y2 = [2, - 6,4] x + [O, I ] u.
We have Vl = 1, and V2 = 2. From equations 5.8 1 and 5.82,
c *(x, t) = [ - � =! �J x
and
D*(x, t) = [� �J
Since D* is nonsin gular, we obtain from equations 5.76, 5.85, and 5.86 the
feedback law:
u = _[� �il� _t- -6--=l��1- -t- �4-+ 2�2� -=-=-�2�JX + [�l �Ju.
Applying this law yields the decoupled dynamics:
Now we will apply the above theory to manipulators (ref. 9). Let us consider
a general n-link manipulator with its dynamics described by equation 5. 1 1;
that is,
(5.88)
where hN (q, q) is a function defined by equation 5.25. We assume that the
n-dimensional output vector y is given by equation 5.32:
y = /y(q). (5.89)
We also assume that the dynamics of the actuators producing the joint
driving force T are fast enough in comparison with those of the link
mechanism that we can regard T as a directly operable input vector. In this
case, [q T, q T ] T becomes a state vector and equation 5.74 is given by
(5.90)
(5.9 1)
As was explained in subsection 2.5.6, arm configurations for which
rankly(q) < n are called singular configurations. For any configuration
except singular ones, D * is nonsingular, and so decoupling is possible.
Letting I; (q) denote the ith row vector of Iy(q), we obtain from equations
5.76, 5.85, and 5.86 the state feedback law
T =
hN(q, q) + M(q) ly -1 (q) col [ - .i;(q)q - IXi I :Vi - IXiO Yi + A i U;], (5.92)
which yields a decoupled system with the linear second-order property
(5.93)
The constants lXi i ' IXiO ' and A i are to be determined by the designer using,
for example, the approach of section 5.4.
The feedback control law (equation 5.92) for decoupling is equivalent to
two-stage control in that both laws compensate for hN(q, q), the term for
centrifugal, coriolis, frictional, and gravitational forces. The block diagram
Position Control 197
of the control law is given by figure 5. 1 1 when the block of the servo
compensator is specified by
So far we have treated the joint driving force T as the input, assuming that
T can be changed arbitrarily in any short period of time. This assumption
holds, for example, for d.c. servomotors with negligible inductance, or for
hydraulic cylinders or motors with negligible oil compressibility and little
pipeline elasticity. When we consider the control of lightweight, high-speed,
high-accuracy manipulators, however, there are cases where actuator dy
namics are significant. Application of the decoupling control theory to such
cases is discussed in this subsection. 2 s
Let u s assume again that equation 5 . 8 8 gives the dynamics o f the mani
pulator. Let us also assume that the dynamics of the actuator are given by
T = I(q,p), (5.95)
where is an n-dimensional input signal vector to the actuators and p is
u
an n-dimensional actuator state vector. The state p represents, for example,
the armature current in a d.c. servomotor, or the operating pressure in a
hydraulic actuator. In equations 5.94 and 5.95, r(q,q,p) and I(q,p) are
n-dimensional vectors, and G(q,q,p) is an n x n matrix. It is assumed that
G(q,q,p) and ol(q,p)/OpT are nonsingular in the required range of (q,q,p).
When individual elements of T are generated by different actuators, G(q,q,p)
and o/(q,p)/OpT are generally diagonal, and so the above assumption is
valid. Under these assumptions, we can employ [q T, q T,pTF as the state
vector of the total system, and equation 5.74 becomes
:t [:] [
p
= ;
M-l (q) [I(q, � - hN(q,q)]
r(q,q,p)
] [ : ]u.
+ .
G(q,q,p)
(5.96)
For the output given by equation 5.89, the value of Vi given by equation
5.80 is Vi = 3 (i = 1 , 2, , n) and we have
. . .
1 98 Chapter 5
(5.97)
and
c
*
;::
J(q)M (q)
-1 [
(q q )
8pT r , ,p
81 .
+
01 .
o qT q -
dhN(q,q)
dt
]
+
[ J(q)
dM-1 (q)
+
. ]
2J(q) M-1 (q) [/(q,p) - hN(q,q) ]
dt
J(q)q. (5.98)
+
Since D * is nonsingular (owing to the assumptions about the matrices on
the right-hand side of equation 5.97), we can decouple the system using the
state feedback law obtained from equations 5.97, 5.98, 5.85, 5.86, and 5.76.
The resulting dosed-loop system is
(5.99)
This is a linear third-order decoupled system for each output element.
When the output y is the joint vector q itself, equations 5.97 and 5.98
simplify to
(5. 100)
and
* _ M -1 (q)[o01 .
+
81 . dhN(q,q) ]
c -
pT r ( q, q,p) oq T q - dt
dM-1 ( q) .
+ [I(q,p) - hN(q, q)]. (5. 1 01)
dt
and
Position Control 1 99
di '
L + R, + Vb = V, L = diag [Lj], R = diag [Rj],
dt
Vb = Kb qa , Kb = diag [kbj],
where klj, kbj, Lj, and Rj are the torque constant, the back electromotive
force constant, the inductance, and the resistance of the jth motor, respec
tively. If we assume that equation 5.88 represents the system of actuators
and the arm given by equation 5. 1 5, the dynamics of the actuator (equations
5.94 and 5.95) are given by
and
From equations 5. 100, 5. 1 0 1 , 5.85, 5.86, and 5.76, we can see that the
feedback law
+
dhN(q,q)
dt
_
M(q) (ot * - AU)}
achieves the linearization and decoupling with respect to q. 0
(S. l 02a)
where M(q) is the inertia matrix satisfying M(q) = M T (q) > 0 and where
hN(q,tj) is the vector defined by equation S.2S which represents centrifugal,
Coriolis, frictional, and gravitational forces. To indicate explicitly that
these are functions of the parameter vector ; consisting of the dynamic
parameters and viscous friction coefficients, we write M(q) and hN(q, tj) as
M(q, ;) and hN(q, tj, ;). Then we have
(S. l02b)
From equation 3. 1 44, we know that the right-hand side of equation 5. l 02b
can be expressed as a linear function of t/J:
I
Initial condition
qm(to) = q(to)
qm(to) = q(to)
(a) (b)
Figure 5.26
Modified desired trajectory q (t) (t > to) at time t o ' (a) Generator of modified desired
..
also assume that q and q are measurable, that the desired trajectory for q,
qd (t), is known, and that its time derivatives qd and lid exist and are finite.
Under these assumptions, we can construct an adaptive-control system in
which the error between q and qd converges to O.
First, assuming that an estimate � of t/J is given, we consider the following
control algorithm (similar to equations 5 .26 and S.28):
e = qd - q, (S. 1 06)
qm (t) = qd(t) - e- A(I-Io)e(to ) - (t - to)e- A(I-Io) [e(to) + .il e(to )]. (S . 1 07)
q, q
Figure S.27
Block diagram of adaptive control system.
showing that qm(t) (t � to) is a modified desired joint trajectory that starts
with the current position and velocity and converges to the original desired
trajectory (see figure 5.26b). The last two terms on the right-hand side of
equation 5. 1 04, Kv e + Kpe, are proportional and differential control terms
to compensate for the performance deterioration due to the parameter
estimation errors.
For updating the estimate �, we use the following parameter-estimation
law based on the tracking error:
(5. 1 09)
where r is a constant positive-definite symmetric matrix, and where
K(q,q,ijm ) is given by equation 5. 1 03 with ij = ijm.
The resulting adaptive-control algorithm consists of the control law
(equation 5. 1 04) and the estimation law (equation 5. 1 09). Figure 5.27 shows
the block diagram of the adaptive control system.
We will now prove the convergence of the tracking error e to 0 as time
Noting that the vector x = [eT,e T,( � - �) T ] T is a state vector of the adap
tends to infinity by using the Lyapunov stability theory (see appendix 4).
or
Kp = ?eKv + Kl (5. 1 1 4)
we obtain
( 5. 1 1 6)
Using this relation, we can rewrite equation 5. 1 1 2 as
204 Chapter 5
- e T ( Kp - 2K. - Kl ) e - 2e T (Kp - 2 K. ) e
+ (� - tPfr - l �. (5. 1 1 7)
Suppose we use the parameter-estimation law
v x
( ) = - (e + 2e)T [2 M(q, tP) - !M(q, �) + K.] (e + 2e) - 2e TKl e � o.
(5. 1 20)
Hence the tracking error e converges to 0, proving the validity of the
modified adaptive-control algorithm consisting of the control la w (equa
tion 5.104 with conditions 5. 1 19 and 5. 1 14) and the estimation law (equa
tion 5.1 1 8). A simple choice of K. satisfying equation 5. 1 19 is, of course,
K. = ! M(q, �).
Since equation 5.20 holds, we can replace M(q, tP)/2 in the development
of this section by C(q, q, tP) given by equation 5. 1 9 , with an additional
argument tP to express its dependency on tP. This could be ·used to reduce
the computational load in the above algorithms.
�1 2 + 1 1 �Z I m 1 §1x + l1 mz
�1 3 m l §lY
2 z
�1 7 + 11 �2 1 fIZZ + Il m 2
,= =
(5. 1 22)
�Z 2 m2 §zx
�2 3 m2 §2y
�2 7 f2 ••
and
(5. 1 23)
[ �/ � J
O 2
t M(O, t/J) = -h
O 2 . ( 5. 1 24)
where
(5. 1 25)
With these preparations, from equations 5. 1 04 and 5. 1 05, the control law is
(5. 1 26)
(5. 1 27)
where fJd is the desired trajectory of fJ, and e = fJd - fJ. First, consider the
case where we have the a priori information
(5. 1 29)
kv + h 82 � 0, kv � 0, (5. 1 30a)
kv(kv + h(2 ) - h2 8//4 � o. (5. 1 30b)
Hence, we can choose any kv such that
kv � 2 .)3711: 1 / 1 1 � - h 82 · (5. 1 3 1)
If we let K1 k 1 I (k 1 > 0), from equation 5. 1 14 the position feedback gain
=
Kp in equation 5. 1 26 is
(5. 1 32)
With r = yI (y > 0) in equation 5.109, the parameter-estimation law is
given by
(5. 1 33)
The resulting adaptive controller consists of equations 5. 1 26, 5. 1 3 1 , 5. 1 32,
and 5. 1 33. Next, consider the case where no a priori information on the
parameters (such as equation 5.1 28) is available. From equations 5. 1 1 9 and
5. 1 14, Kv and Kp in equation 5. 1 26 are, for example, given by
(5. 134)
and
(5. 135)
where
h =
11 (S2�22 + C2�23).
Substituting equations 5. 1 24 and 5. 125 into equation 5. 1 1 6, we obtain
KM(O,iJ, e,e)t/J
=
- 8
[
82
2 /2
Thus, we have
Position Control 207
+
•
Exercises
5.1 For the three-link manipulator shown in figure 5.28, use method 1 of
subsection 5. 1 . 1 to determine a trajectory to bring the manipulator state
from rest at the initial position in figure 5.28a to a complete stop at the
final position in figure 5.28b in 1 second. Assume that L1 = 0.2 second.
5.3 Give an algorithm to determine k and IX such that R(k,lX) = R for any
given value of the rotation matrix R.
5.5 Solve exercise 5.4 using the double-axis rotation method. Using dia
grams, show the difference between the mid orientations at time t = 1 for
both the single-axis and the double-axis rotation method.
z z
x
x
(b)
(a)
Figure 5.28
Three-link manipulator. (a) Initial position. (b) Final position.
208 Chapter 5
Zoo
Zoo
y,
\
\
y-:;r�-.--'---<>I x.
I
I
I
,
/
x" x" � - - - _ _ - - - - - z,
x,
(a) (b)
Figure 5.29
End-effector orientation. (a) Initial. (b) Final.
5.7 Rewrite the step response (e qu ati on 5.6 1) of a third-order system using
parameters a, ( and We defined by
,
+ (J.52 + /ls + 1 2 +
53 =
(5 + a) (5 2(wcs + w/ ).
Explain why the response for (J. = 1 . 3 and /l = 2.0 involves a backward
motion before reaching the desired value 1 .
[X 1 ,X2Y:
y
= [� �] x.
Give a state feedback law that decouples this system and allocates all poles
at - 3.
References
1. M. Brady, "Trajectory Planning," in Robot Motion, ed. M. Brady et a\. (MIT Press, 1 982).
2. R. P. Paul, "Modeling, Trajectory Calculation and Servoing of a Computer Controlled
Arm," Stanford Artificial I ntelligence Laboratory memo AIM 1 77, 1 972.
3. R. P. Paul, Robot Manipulators: Mathematics. Programming. and Control (M IT Press,
198 1 ).
4. M. Takegaki and S. Arimoto, "A New Feedback Method for Dynamic Control of Mani
pulators," AS M E Journal of Dynamic Systems. Measurement. and Control 102 ( 1 98 1 ): 1 1 9- 1 25.
5. S. Arimoto and F. Miyazaki, "Stability and Robustness of PID Feedback Control for
Robot Manipulators of Sensory Capability," in Robotics Research: The First International
Symposium, ed. M. Brady and R. Paul (MIT Press, 1984), pp. 783-799.
6. A. K. Bejczy, "Robot Arm Dynamics and Control," Jet Propulsion Laboratory, California
Institute of Technology, report TM3 3-669, 1 974.
7. J. Y. S. Luh, M. H. Walker, and R. P. C. Paul, "Resolved Acceleration Control of
Mechanical Manipulators," IEEE Transactions on Automatic Control 25, no. 3 (1980): 468-
474 .
8. O. Khatib, "A Unified Approach for M otion and Force Control of Robot Manipulators,"
IEEE Journal of Robotics and Automation 3 (l987): 43-53.
9. E. Freund, "Fast Nonlinear Control with Arbitrary Pole-Placement for Industrial Robots
and M anipulators," International Journal of Robotics Research I, no. 1 ( 1982): 65 78 .
-
20. H. Kasa h a ra and S. Narita, " Pa ra ll el P rocess i n g of Robot-Arm Con tro l Co m pu ta tio n on
a M ultiprocessor System," IEEE Journal of Robotics and Automation 1 , no. 2 ( 1 985): 104- 1 1 l
2 1 . D . S ilj ak , Nonlinear Systems (Wiley, 1 968).
23. M. 1. Chen and C. A. Desoer, "Algebraic Theory for Robust S t abi li t y of ln terconnected
Systems; Necessary and Sufficient Conditions," IEEE Transac tions on Automatic Con trol 29,
no. 6 ( 1 984): 5 1 1 -5 1 9.
24. J. C. Doyle and G. S tein , "Multivariable Feedback Design: Concepts for Classical!
Modem S yn thesis," IEEE Transactions on Automatic Control 26, no. 1 ( 1 9 8 1 ): 75-93.
26. Y . D . Landau, Adaptive Control- The Model Reference Approach (Marcel Dekker, 1 979).
27. 1. 1. Siotine and W. Li, "Adaptive M an i pul a tor Control: A Case Stu dy, " IEEE Transac
tions on Automatic Control 33, no. 1 1 ( 1 988): 995- 1 003.
28. D. S. Bayard and J. T. Wen, "New Class of Control Laws for Robotic Manipulators, Part
2:Adaptive Case," International Jo ur na l of Control 47, no. 5 ( 1 988): 1 387- 1 406.
6 Force Control
Let us consider the task of inserting a peg into a hole with a tight clearance.
If we wish to do this with a manipulator capable of position control only,
then we need extremely accurate position control. Insertion of a peg re
quires the peg axis to line up almost exactly with the hole axis. If a
significant discrepancy exists between the center axes of the peg and the
hole in either distance or direction, then the insertion may not be accom
plished, because of jamming or wedging. To overcome this difficulty using
212 Chapter 6
Figure 6.1
Conceptual sketch of RCC hand. (a) Structure. (b) Compliance to horizontal force. (c)
Compliance to moment.
Figure 6.2
Three-dimensional RCC hand.
is statically given by
where
K=
where ksoft are small stiffness coefficients and khard is a large one. When a
214 Chapter 6
r--------,
r-�I Controller I
:- ' x. x. i:. F
I L _______ -' I
I I
I I
I I
I
III.
F
'--I
I
I I
L __ J
o .r
Figure 6.3
Active impedance control of one-degree-of-freedom system.
Force Control 215
also assume that the desired impedance of the body to the external force
is e xpressed by
(6.3)
where md, dd' and kd are the desired mass, damping coefficient, and spring
constant, respectively, and Xd is the desired position trajectory.
When x, x, and x are measurable, we can use the control law
Substi tuting equation 6.4a into equation 6.2 y ields equation 6.3, showing
that the closed-loop system has the desired impedance. When the external
force F is measurable. the control law represented by equation 6.4a can be
replaced by
(6.4b)
If it is allowable to have the origi nal mass m. as the desired mass md, then
equations 6.4a and 6.4b reduce to a simple position and velocity feedbac k
law:
(6.5)
(6.6)
as large as possible for better transient response, and to let the damping
coefficient
,= dd (6.7)
2}mdkd
be around 0.7-1.0. As long as md, dd' and kd are positive, the steady-state
216 Chapter 6
I-F
� o Xc .r
/77
Figure 6.4
Contact with a fixed body.
position error and velocity error converge to zero for any desired trajectory
Xd•
Next we consider the case when the body M is in contact with a fixed
body E. We assume that the interaction through their place of contact can
be modeled as in figure 6.4, or by
k d + kc
We-
J---, (6.10)
_
m d
and the damping coefficient is
, dd + de
(6.11)
2Jmd(kd + kJ
=
If we know the values of ke and dc, we can determine md , dd' and kd so that
the above We and, become acceptable. Unfortunately, the exact values of
ke and de are usually unknown. In particular, if the real value of ke is larger
than estimated and that of de is smaller, then the damping characteristic of
the system described by equation 6.11 may be inadequate. For this reason
we need to choose a fairly large dd' If we further choose smaller kd and md'
there is less possibility of an excessively large contact force (which may
Force Control 217
cause damage to bodies M and E), and the body M will comply better with
the constraint given by body E. An advantage of active impedance over
passive impedance is that a system can always adjust to a desirable im
pedance by changing the values of md, kd' and dd during the performance
of a given task and by considering contacts and noncontacts with other
objects.
Example 6.1 The dynamics equation for the system shown in figure 6.3
is assumed to be given by
x + O.1x = fu + F.
The interaction with another body is modeled as in figure 6.4 and is
described by equation 6.8 with coefficients de and ke such that
(6.12)
(6.13)
kd
be between 30 and 50, the damping coefficient should be more than 0.5, md
should be as close to 1 as possible, and and dd should be as small as
possible. From equation 6.10 we have
30 �
kd +
J
ke
� 50,
md
or
dd = J2400 � 49.
0.5 � ( � 1.07. 0
6.8, then we can achieve the desired force by just choosing the desired
trajectory Xd in equation 6.3 to be
d+k
Xd Xc - k k kc c Fd•
= - (6.16)
d
This means that we have replaced the desired force with the corresponding
desired position. When kc» kd, we can approximate equation 6.16 by
Xd Xc
= Fd/kd' Another way to achieve the desired force Fd is to replace
-
(6.17)
Both methods eventually drive the system to the steady state of F = Fd;
that is, the applied force converges to the desired one.
Ca) Cbl
Figure 6.5
Active impedance method. (a) Feedback control system. (b) Mechanical impedance realized
by (a).
(6.18)
(6.19)
(6.20)
y =/y(q). (6.21)
(6.22)
(6.23)
T = hN(q,tj) - M(q)Jy-1(q)iy(q)tj
The coefficient matrix KFd was introduced on the right-hand side of equa
tion 6.29 to compensate for not being able to change My(q). For example,
we can produce a large (or small) impedance in a given direction by letting
KFd be a diagonal matrix and assigning a small (or large) positive value to
the diagonal element corresponding to that direction.
..
My(q)y +
[ Ddl 0 ] [Kdl
.
D d2 Y e +
0 ] [Ye =
KFdl 0 ] (6.3 1 )
0 0 KdZ 0 KFdZ F,
and that w e wish t o find the control law that produces this impedance.
Using equation 6.30 and letting Ye = [Yex,Ycy]T and F = [Fx,Fy]T, we
obtain the following control law by an argument similar to that of example
5.5:
2
+ l2[Mlll2 - Mdl2 + II C2)](81 + 82) }/11/2Sz
+ (lISI + 12S12)Fx - (11C1 + l2Cl2)Fy,
2
+ + II C2)](01 +
•
+ 12S12Fx - l2Cl2Fy,
where
Fx = Dd1Ye", +
KdlYex - (KFdl - l)F"" (6.32a)
The first term on the right-hand side of equation 6.30 compensates for
the centrifugal and Coriolis forces of the manipulator dynamics; the second
term compensates for the nonlinearity of transformation between y and (j.
All these terms (except for the gravity force) are functions of q and small
when the manipulator moves at low speed. When these terms are neglected,
the control law (equation 6.30) becomes
(6.33)
Ye Jy(q)qe (qe is the joint error vector corresponding to Ye) under the
=
(6.34)
The hybrid control method has been developed on the basic recognition
that, in many tasks requiring the control of force, there are some directions
in which position should be controlled and other directions in which force
should be controlled. These directions may change during the task, but a
single direction never requires both position and force control. This method
fulfills both position and force control of a task simultaneously (ref. 4). The
basic idea of the method is now illustrated by a simple example.
Xc
I>
x
o
Figure 6.6
Example of hybrid control by feedback compensation.
force against the flat smooth surface of the shaded object, while moving
the endpoint along the surface in a specified way. We assign a frame
1:dOc - Xc Yd such that the Xc axis is along the flat surface and the Yc
axis is normal to the surface. Thus, Xc is the position-control direction and
Yc is the force-control direction. We assume that a force sensor is attached
to the endpoint to measure the pushing force, �(t), expressed in frame 1:c.
We also assume that the position of the endpoint, Cy(t), expressed in 1:c, is
measured by a position sensor. Denoting the desired values for �(t) and
Cy(t) as �(t) and Cyd(t), we obtain expressions for the errors that include
consideration of their direction in 1:c:
C
fe(t) =
[00 �J [ �d(t ) - �(t)J. (6.36)
q. ( t) � Jy -1 Cy.(t), (6.37a)
where Kp p Kpd, and KFi are feedback gain matrices. The joint driving
'
torque is given by
(6.40)
y Yc
Xc
Figure 6.7
Constraint by a curved surface.
Figure 6.8
Turning a crank.
in the direction tangent to the surface, and its Yc axis in the direction normal
to the surface.
The concept of a constraint frame can, of course, be generalized to the
case of three-dimensional space, as illustrated in the next example.
Example 6.4 Consider the task of turning a crank. As shown in figure 6.8,
the hand of the manipulator firmly holds the handle, which rotates about
the handle axis on the crank. A convenient choice for the constraint frame
is one with its origin at an appropriate point on the handle axis, its Zc axis
parallel to the handle axis, its Xc in the direction radiating outward from
the crank axis, and its Yc axis such that the three axes form a right-hand
coordinate frame. Having chosen this frame, we can describe the motion
which the hand can make as a translation along the Yc axis and a rotation
226 Chapter 6
about the Zc axis. These are the two position-controlled directions in the
six-dimensional space of the translational and rotational velocity vector.
On the other hand, the hand can make no translation along the Xc or the
Zc axis. Also, no rotation is possible about the Xc or the Yc axis. This means
that the hand can apply force in these directions, so these four are the
force-controlled directions. We can also look at the above argument from
the viewpoint of the constraints posed by the task. There are four position
constraints mentioned above and two force constraints, in the sense that
no force can be produced along Yc or about Zc if we consider the ideal case
of a frictionless, massless crank and handle. These are called natural con
straints, because they are determined naturally by the given task. In con
trast, there are also force commands in the four directions of position
constraints and velocity commands in the two directions of force con
straints which are artificially given by the designer. For this reason, they
are called artificial constraints. With the hand velocity expressed in 1:c
denoted as Cv = [Cvx,CVy,CVZ,CWX,CWy,Cwz]T and the force exerted on the
handle by the hand as � = [Cfx, c/y, cfz, c"x, c"y, c"z] T, the natural constraints
for the task of turning a crank are described by
c
Cfx = 0, fz = 0, c"x = 0, c"y = 0,
where Vo is determined from the desired rotational speed of the crank and
Wo is given by the designer from the viewpoint of easy operation. Generally,
c
fx, cfz, c"x, and c"y are given nonzero force commands, but in this case
zero commands prevent the application of unnecessary force. 0
Figure 6.9 is a block diagram of a general hybrid control system based
on the above consideration. The function of the "position-error extraction"
block is to retain position errors in the directions of position control and
to neglect those in the directions of force control. The "force-error extrac
tion" block has the complementary function of retaining force errors in the
directions of force control. The "position (force) control law" block com
putes the joint driving force using the extracted errors. In the case of
Force Control 227
Desired position
trajectory
Figure 6.9
Block diagram of hybrid control system.
example 6.3, it calculates equations 6.37a, 6.37b, and 6.38 for position and
equations 6.37c and 6.39 for force.
We will express the constraint on the end effector caused by a contact with
its environment by a set of hypersurfaces in the space of the position vector
of the end effector. We assume that the environment is rigid, and therefore
the hypersurfaces are independent of the force applied by the end effector.
Consider a manipulator with six degrees of freedom whose end-effector
position with respect to a fixed reference frame is denoted by a six
dimensional vector r. Assume that a given end-effector constraint can be
228 Chapter 6
0 0
tool against the surface of an object, assume that Pi(r) > inside the object
and p;(r) < outside. Differentiating equation 6.41 with respect to time
yields
(6.42)
where
(6.43)
°Pi (r) .
e6-m+i = � ' 1= 1,2,... ,m. (6.44)
(6.45)
(6.46)
where
(6.47)
then we have
yp = Epr, (6.48)
For each r on the constraint surface, vectors el ,e2, ,e6 are linearly
• • •
independent of one other. The set {el ,e2" " ,e6-m } represents the directions
in which the end effector can move; the set {e7-m,eS-m" " ,e6 } represents
the directions in which the end effector is constrained. Hence, the coordi
nate frame with its origin at the current position r and with {el ,e2,oo. ,e6 }
as its basis could be called the constraint frame. This is a generalization of
the constraint frame introduced in subsection 6.2. 1 . If we let YF = p(r) and
denote the six-dimensional generalized force vector corresponding to a gen
eralized coordinate vector Y = [ypT'YFTY aS h [f/,/FT]T, the natural
=
fp 0, and the artificial constraints are given by yp = YPd andf fFd' The
= =
E= [!:l (6.50)
Then we have
and
Obvious physical interpretations of the above equations are that the nor
mal component of the velocity of the end effector to the constraint surface
is zero and that the normal component of its acceleration to the constraint
surface is determined only by the velocity r.
Example 6.5 Consider the case where the position of the end effector is
constrained to a sphere of radius ex with its approach vector directed to the
center of sphere as shown in figure 6.10. Two examples of tasks of this kind
are polishing a spherical surface with a whetstone and operating a ball-joint
joystick. Take [x,y,z,¢J,e,t/I Y as the end-effector position vector r, where
[x,y,zY is the translational position in the reference frame and [¢J,e,t/lY is
the orientation expressed by Euler angles with the configuration shown in
figure 6.1 1 as the zero state. For simplicity, the region of interest, S, is taken
as one such that ex - Izi > 6, where 6 is a positive constant. The constraint
230 Chapter 6
Figure 6.10
Constraint by a spherical surface.
x
�-y
Figure 6.11
Reference orientation of hand.
hypersurfaces are
a2 _ (x2 + y2 + Z2) = 0,
r/J - atan2( - y, -x) = 0,
e - atan2( Ja2 - Z2, -z) = O.
EF =
[ -x
y/(a2 - Z2 )
-y
-x/(a2 - Z2)
-z
0
0
1
0 OJ
0 o .
0 0 -1/J(a2 - Z2) 0 0
(6.53a)
Ep =
[ 0
0
0
0
0
0
1
0
0
1
0
0 .
] (6 53b)
.
0 0 0 0 0 1
r = /,.(q). (6.55)
(6.57)
Also assume that the dynamics of the arm are given by equation 5.24, or
The motion of the joints (that is, ii) and the constraining force will be
found for the case when an arbitrary driving force command 'te is applied
to the manipulator at state (q,q) and under the constraint 6.41. From
equations 6.42 and 6.54 we have
(6.59)
232 Chapter 6
(6.60a)
and
(6.60b)
(6.61 )
where
bl =
Tc - hN(q,tj)· (6.62b)
where
Note that the vectors bl and b2 can be calculated from the given values of
q and tj, i.e., the state of the manipulator. From equations 6.62a and 6.63a,
we finally have
(6.64)
Force Control 233
(6.65)
where
(6.66)
(6.67)
lid =
J, + {£-1 ([� ] J,tj) }
-E - i,tj + (I - J, + J,)k, (6.69)
(6.70)
(6.71)
Therefore, if the models given by equations 6.41 and 6.58 are exactly correct
and if yp(O) = YPd(O) and jp(O) jPd(O) at the initial time, t 0, then the
= =
(6.72)
X axis) in the direction of increasing ¢> with velocity d, that the force should
be applied in the direction of the center of the sphere with magnitude J
without applying a moment, and that the condition rankJ, 6 is satisfied
=
during the task. Substituting equations 6.60b, 6.53a, and 2.86b into 6.60a
yields
r �
/= y/(a� z2) ::_Z2)
-x/( �z -C,,:e/Se -S,,�e/S6 �]T IF'
l 0 0 -1/Ja2-z2 -S" C" 0
where So sinO, Co cosO, S,p sin¢>, and C,p cos¢>. As was mentioned
= = = =
in (2), the columns of the coefficient matrix of/F' EFT, in the above equation
express the reference-force vectors shown in figure 6.12. Each of them is a
constraining force and causes no motion of the end effector; we can see this
by considering the case of operating a ball-joint joystick, where the moment
at the center is zero for each of the three reference forces shown in the figure.
When we regard yp and /F as the controlled variables, the linearizing
control law is given by equations 6.67-6.70, with E obtained from equation
6.53. The desired position and force trajectories are described in terms of
yp and /F by
and
Force Control 235
z z z
CUrrent end
effector position
x x
Constraint
surface x
- : Force � : Torque
Figure 6.12
Reference force vectors represented by column vectors of EFT. End-efTector position:
{x = 11./2, Y = 11./2, Z = 11./.j2, tP = -1350, (J = 135°}. (a) First column vector. (b) Second
column vector. (c) Third column vector.
q"
d
=
J,-1 {E':'l ([d/a.0 ] _
,
.) .}
£J q _ j
,q ,
1'F =
A
-J, T EF T U/a.,O,O] T . 0
If equations 6.41 and 6.58 are exactly correct, then the open-loop system
in figure 6.13 can produce both the desired position and the desired force.
However, because of modeling errors and unpredictable disturbances, the
,
real response of this system may deviate from the desired one. To cope with
this deviati on we have to add a servo compensator to the system. One
basic configuration among various possible ones is given in figure 6.14,
where two independent servo compensators (one for the positio n servo loop
.
and one for the force servo loop) are installed The specific design of the
servo compensators could be carried out using any conventional design
approach to servo systems, one instance being the approach based on the
sensitivity and the stability margin described in subsection 5.4.2.
YPd
Eqs. 6.68, 6.69,
6.72 r
T,
Manipulator
+
f
fFd Eqs. 6.70, 6.72
1"1'
Figure 6.13
Open-loop dynamic hybrid control system.
<D To blocks
Eqs.6.68, <D.®
6.69
r
+
Manipulator
+
f
Eq.6.70
Figure 6.14
Dynamic hybrid control system.
along the curve from a fixed point on it. Using the tangent vector e1 and
normal vector e2 shown in the figure, we find
EF = e2T
and
Ep = e1T.
and the arm dynamics are described by equation 3.39. Hence, from equa
tions 6.67-6.70 the linearizing control law is given by
Force Control 237
PI (r)=o
� -------�
x
o
Figure 6.15
Constraint by a curve.
(6.73a)
(6.73b)
where WcP and WcF are constant parameters. This means that we use a P
control associated with velocity feedback for the position servo loop and
an I control for the force servo loop. This also corresponds to using the
servo system in figure 5.22, with the feedforward compensator CaP and the
feedback compensator CbP for the position servo loop given by
and with the feedforward compensator CaF and the feedback compensator
CbF for the force servo loop given by
238 Chapter 6
_
WcF
CaF -
S
and
_
Wc F
CbF -
S
•
After we implement equation 6.74, the transfer functions for position and
force of the overall dosed-loop system, GJP and GJ F , become
and
Figure 6.16
Example of constraint curve.
Force Control 239
we have
Ep = e2 T = [1/J2, 1/J2].
If we further let yp be
yp = s l (r) = (y - x + 1 + 12)/J2,
then
Ep = e1 T = [ - 1 /J2 , 1/J2].
Hence, we finally obtain
E=
[ - 1/J2 1/J2 ]
1/J2 1/J2 .
We can evaluate the sensitivity and the stability margin of the above servo
systems using the curves of l S I and I TI introduced in subsection 5.4.2. The
curves for the position control loop are identical to those in figure 5.25;
those for the force control loop are shown in figure 6. 1 7. Both loops have
small sensitivity at low frequencies and large stability margin at high
frequencies. Thus, we can expect to get good control performance by
20 .------,---,--,
radlsec
Figure 6.17
lSI and I TI for force-control loop.
240 Chapter 6
adjusting the parameters WcP and WcF . Finally, by modifying only the
feedforward compensators CaP and CbP' we can produce some other desired
overall transfer characteristics without changing the sensitivity and stability
margin properties. 0
This control law and a servo compensator like that given by equations 6.74
constitute a simplified hybrid controller.
Exercises
5 � de � 10,
500 � ke � 2500
instead of equations 6. 1 2 and 6. 1 3.
6.3 Find a constraint frame for the task of polishing a sphere with a
whetstone (figure 6. 1 8). Determine the natural and artificial constraints.
kFiI2 •
Force Control 24 1
Figure 6.18
Polishing with a whetstone.
Xc
--'-'--'-----(> X
o
Figure 6. 19
Hybrid control of two-link manipulator.
6.5 Find a set of constraint hypersurfaces for the task of turning a crank
in example 6.4. A simple expression results from the use of the reference
frame l:o(Oo Xo YoZo) with its origin 00 on the crank axis and its Zo axis
-
6.6 Find a set of constraint hypersurfaces for the task of turning a nut on
a bolt (figure 6.20).
6.7 Consider the case, shown in figure 6.2 1 , where the position of the end
effector is constrained to an arbitrary smooth surface with its approach
vector normal to the surface. Assume that the surface is described by
y = u (x,z), where u (x,z) is a single-valued function that is differentiable
three times. Find EF and Ep .
Pi(r, t) = 0, i = 1, 2, .
. . ,m
242 Chapter 6
Figure 6.20
Turning a nut on a bolt.
Figure 6.21
Constraint by an arbitrary surface.
References
I. D. E. Whitney, "Historical Perspective and State of the Art in Robot Force Control," in
Proceedings of the 1 98 5 IEEE International Conference on Robotics and Automation, pp.
262-268.
2. N. Hogan, "Impedance Control: An Approach to M anipulation, Parts I-III," ASME
Journal of Dynamic Systems, Measurement, and Control 107,
no. 1 (1985): 1 -24.
3. J. K. Salisbury, "Active Stiffness Control of a Manipulator in Cartesian Coordinates," in
Proceedings o f the 1 9 t h IEEE Conference on Decision and Control ( 1 980), pp. 95- 1 00.
4. M. H. Raibert and 1. J. Craig, "Hybrid Position/Force Control of Manipulators," A SME
Journal of Dynamic Systems, Measurement, and Control 1 03, no. 2 ( 1 9 8 1 ): 1 26- 1 3 3.
5. D. E. Whitney, "Quasi-Static Assembly of Compliantly Supported Rigid Parts," ASME
Journal of Dynamic Systems, Measurement, and Control104, no. 1 ( 1 982): 65-77.
Force Control 243
Yl = 11 (q). (7.1)
Assume also that the desired trajectory forYl is given: Yld(t) (0 � t � tf; tf
is a terminal time). A vector (such asYl) which is suitable for describing a
manipulation task is called a manipulation vector.
For the second subtask, consider the following two cases:
Case 1 An m2-dimensional manipulation vectorY2 is given by
(7.2)
p = V(q) (7.3)
is given, and the second sub task is to keep this criterion as large as possible.
The problem we consider is first to obtain the joint velocity that achieves
the first subtask of realizing Yl Yld and then, if there is any ability left,
=
(7.4)
where � djj(q)jdqT (j
= 1,2) is the Jacobian matrix ofYj with respect to
=
trajectory, Y1d(t). When there are multiple solutions for 4 satisfying equa
tion 7.4, this term gives a solution that minimizes 11411, the Euclidean norm
of 4. Also, even when there is no solution that satisfies equation 7.4, this
term provides an approximate solution that minimizes the norm IIY1d -
J1 411, which is a kind of measure for approximation error. The second term
on the right-hand side of equation 7.5 represents the redundancy left after
performing the first subtask. Equation 7.5 is the basic equation for using a
redundancy.
Y2 =
Jz 4 ·
(7.6)
(7.8)
(7.9)
holds (see ref. 4 and exercise 7. 1 ). Therefore, from equations 7.5, 7.8, and 7.9,
(7.lOa)
is the desired joint velocity that first realizes trajectory Y1d and then realizes
YZd as closely as possible using the remaining redundancy.
If (I - J1 + J1 - Jz + Jz) is not zero, then some further redundancy is still
left to perform a third subtask. When Y2 q (that is, when the second
==
J2 + = (I - J1 + Jd + = (I - J1 + Jd·
248 Chapter 7
tid =
JI + Yld + (I - JI + JI)Y2d, (7.l0b)
(7.11)
where H is an appropriate diagonal gain matrix, and then replace Y2d in
2
equation 7.l0a or 7.l0b with Y2d*'
kl = �kp, (7.12)
�, = iJ V(q)!iJq" (7.14)
(7.15)
Hence, we have
(7.16)
(7.17)
The optimal solution, which minimizes equation 7.17 at each time instant
under the constraint 7.5, is given by equations 7.10a and 7.11.
For case 2, using the original criterion V(q) of equation 7.3, let the
criterion function for the second subtask be
dV(q)
P2
_
- kp � - 111'
2 q
- J1 + Yld
. 112 . (7.18)
The optimal solution maximizing equation 7.18 at each time instant under
the constraint 7.5 is given by equation 7.15. The first term of equation 7.18
attempts to increase the original criterion; the second term tries to minimize
the difference between ti and the minimal norm solution J1 + Yld of the first
subtask. The coefficient kp represents the weight of importance of the first
effort compared to the second effort.
desired trajectory while avoiding collisions with the obstacle shown as the
hatched area in the figure. We will solve this problem of avoiding the
obstacle as an example of case 1 (see ref. 2).
250 Chapter 7
y
r"
I
I
I
I
I
I Desired
: trajectory
I
I
I
I
I
I
I
2 X
Figure 7.1
Three-link manipulator.
limit on the rotation of any joint. At the beginning of the task, the initial
configuration at time t 0 is given by
=
which corresponds to
The end effector is required to move from initial position ro to final position
rf [xo, 0] T by time t 1, along a straight line parallel to the Y axis. At
= =
the same time, the manipulator should avoid colliding with the hatched
obstacle zone. This task is divided into a first subtask (moving along the
desired trajectory) and a second subtask (avoiding the obstacle).
For the manipulation variable YI of the first subtask, we use the end
effector position r:
YI - _
[IIC1 12CI2 + 13C123
+ ] (7.19)
IISI + 12S12 + 13S123
.
f r"
I
I
I
I
I
I
![>-
r, 2 X
Figure 7.2
Obstacle and reference configuration taught for obstacle avoidance.
Yld( t) = [
Yo - (3 x 2t)t2yo] '
0
-
O<t<1
= = . (7.21)
For the second subtask, we assume that a constant reference arm con
figuration, suitable for obstacle avoidance, has already been taught (say,
by a human operator). Hence, the second subtask can be specified as trying
to come as close to this configuration as possible. This means that the
manipulation variable Y2 for the second subtask is given by the joint vector
q. We assume that the reference arm configuration that plays the role of
the desired trajectory for the second subtask has been given as
(7.22)
tid =: J1 + [ -6(1
0
- t)tyo
] + (13 - JI + JI)H2(Y2d - Y2)' (7.23)
252 Chapter 7
y
1=0
0.2
0.4
0.6
0.8
1.0 X
(a)
0.2
0.4
0.6
0.8
1.0 X
(b)
Figure 7.3
Simulation of obstacle avoidance. (a) Without using redundancy (H2 = 0). (b) Using
redundancy (H2 = 0.212)'
Control of Redundant Manipulators 253
(The second term on the right hand side of this equation is needed because
of the inconsistency between Y2d and Yld(t).)
The simulation results shown in figure 7.3 were obtained by assuming
that the desired joint velocity of equation 7.23 occurs perfectly. Figure 7.3a
depicts the case when H2 = 0, so ti has been chosen to minimize "till,
ignoring the obstacle avoidance. Figure 7.3b depicts the case when H2 =
0.212 (that is, when the redundancy is utilized). It is clear from the figure
that collision with the obstacle has been avoided by the use of redundancy
in the simulated case.
The above example treated a very simple obstacle. This approach to
avoiding obstacles could also be adopted to cope with more complicated
obstacles or time-varying obstacles by using several reference configura
tions taught beforehand and switching them in turn.
Another approach is to define a criterion function to express the pro
ximity between the manipulator and obstacles6 and to make it the criterion
for the second subtask (ref. 2). This approach does not need any reference
configuration, although it requires detailed information about the obstacles
and a large amount of calculation.
t 0
o 1 X
(al
I'
-1 I X
(bl
Figure 7.4
Simulation of singularity avoidance. (al Without using redundancy (kp = 0). (b) Using
redundancy (k. = 20).
Control of Redundant Manipulators 255
YI' The manipulability measure for, is taken as the criterion for the second
subtask. Hence, using equation 4.8 and the Jacobian matrix J1 of equation
7.20, we have
V(q) = JdetJ1J/ .
Therefore, e, of equation 7. 1 4 is given by
2
given by
Yld( t=
)
[ x0 ] <t<l
O= (7.25)
Yo (3 - 2t)t2(yo 0.1)'
=
- +
which is a straight line parallel to the Y axis going from '0 to the final
position'f [xo, 0.1] T. Equation 7.25 is, again, obtained from equation
= -
5.7. Figure 7.4a shows the change of arm configuration for the case of kp = 0
in equation 7.15; that is, the case where the simple pseudo-inverse control
law is applied and no attempt is made to avoid singularity. Figure 7.4b is
for the case where kp = 20; the singularity is avoided by trying to keep the
manipulability measure large. Figure 7,5 shows the change of manipula-
U'
0.4
( bl
Figure 7.5
Trajectories of manipulability measure. (a) Without using redundancy (k. = 0). (b) Using
redundancy (kp = 20).
256 Chapter 7
bility measure in cases a and b of figure 7.4. As can be seen from the figure,
the utilization of redundancy is quite effective in avoiding singularity.
One of the difficulties in applying the method described above is the large
amount of computation needed for obtaining the pseudo-inverse matrix.
In this section, we will develop an efficient computational method for
obtaining tj satisfying
tj = r Yd + (I - r J)k, (7.26)
(7.27)
(7.28)
k - W/WO)2, W < Wo
= (7.30)
s 0, W � Wo
Exercises
7.1 Show that the equality B(CB)+ =(CBt holds for any n x n sym
metric and idempotent matrix B (i.e., BT Band BB B) and m x n
= =
7.2 Show that the solution that minimizes equation 7.17 at each instant
of time under the constraint 7.5 is given by equations 7.10a and 7.11.
7.3 Show that the solution that maximizes equation 7.18 at each instant
of time under the constraint 7.5 is given by equation 7.15.
J =
2 1
[0� � � 2]� [�]
, Yd =
1
, k=
[ �l
-
. �
.
Also calculate the same value using equations 7.27 and 7.28.
7.5 Show that tj obtained from equation 7.28 using ac calculated from
equation 7.29 is equal to tj minimizing
7.7 Assume that the three-link manipulator shown in figure 7.1 has the
following joint angle limits:
Describe a formula for the desired joint velocity that makes the endpoint
of the manipulator follow a given desired trajectory while keeping the joint
angles within their limits as much as possible.
258 Chapter 7
References
where a and b are real numbers, j is the imaginary unit, and arg is the
argument of a complex number (see figure Al.1). For notational conve
nience, we define atan2(0,0) to be indeterminate. Several properties and
applications of this function are summarized in this appendix.
It is obvious that
and
oatan2(a,b) b
(A1.7a)
a2
=
oa + b2'
oatan2(a,b) -a
(A1.7b)
a2
=
ab + b2'
1m
a 1------,.,
arg(b+ja)
o b
Figure AU
Argument of complex number.
Figure Al.2
Cosine theorem.
datan2(a,b) lib - ab
(A 1.8)
dt a2 + b2'
where a = da/dt and b = db/dt.
As an application, the cosine theorem will be expressed using atan2. For
the triangle shown in figure Al.2, assume that 11 � 0, 12 > 0, and 13 > O.
The cosine theorem tells us that
21213sin(J1 = ±K.
Figure AI.3
Geometric expression of k1sin6 + k2cos6 = k3.
Although this expression has been derived under the assumption that
12 > 0 and 13 > 0, it is valid also for the case of 12 = 0 or 13 = 0 in the sense
that 01 is indeterminate by the notational convention we have made. Note
that the cosine theorem does not hold if the condition
is not satisfied.
As a second application, we derive the solution 0 of
(Al.13)
Since
we have
(A2.1)
(A2 2)
.
(A+ Af = A+ A. (A2.4)
A = BC (A2.S)
=
ATA2 +TATAl +TAl + - A2 + A2+TATAl +TAT
=ATA2+TA1+ -A2+A1+TAT
=A2+AA1+ -A2+AAl+ =
0 , (A2.7)
(i) (A+)+ =
A. (A2.8)
(ii) (AT)+ =
(A+ )T,(AATt =(A+fA+. (A2.9)
(ABY =
B+ A+. (A2.l0)
(iv) A+ =
(ATAt AT = AT(AATt. (A2.11)
(vi) Let r rankA, and let the singular-value decomposition (see appen
=
dix 3) of A be
(A2.l4)
o I
I
I
I
I
I
0
r
I
I =
I
(A2.l5)
o ar :
---------- I --
T
I
o I
0 }m - r
"-y-----) '-.,-'
r n-r
Pseudo-Inverses 265
w ith
Then A+ is given by
A+ = VI+UT, (A2.16)
where I+ is the n x m matrix defined by
o I
I
I
I
I
I
0
r.
I
I
(A2.17)
-1 I
o (1, I
-------------- � --
I
o i 0 }n- r
�----�yr----�I �
r m-r
Ax=h, (A2.l8)
(A2.l9)
bE R(A), (A2.20)
then equation A2.18 is solvable but the solution is not unique. Taking this
into account, we now consider a more general problem of minimizing the
Euclidean norm of error (Ax - b):
(A2.22)
266 Appendix 2
(A2.23)
We will prove that equation A2.22 is the general solution to the problem
of minimizing IIAx - hll. From equations A2.8-A2.l1, we have
(A2.24)
+ [x - A+ h - (I - A+ A)kFATA[x - A+ h - (I - A+ A)k]
(A2.25)
Since the first term on the left-hand side of equation A2.25 is independent
of x, IIAx - hll becomes minimum if and only if the second term is equal
to zero, that is, if and only if
(A2.26)
Hence, equation A2.22 is a solution to the problem for any k. On the other
hand, since equation A2.26 is equivalent to
(A2.27)
Thus,
x* = A+ b + x* - A+ b
= A+ h + (I - A+ A)x*. (A2.29)
Pseudo-Inverses 267
(A3.2)
(11 0
o ifm � n
E= o (A3.3)
if m < n.
r = rankA. (A3.4)
Yu = Exv· (A3.6)
to Xv by VT, which does not change length; the one from Xv to Yu, in which
the ith element of Xv is multiplied by (jj and becomes the ith element of Yu
without changing its direction; and the orthogonal transform from Yu to
y by U, which does not change length. Therefore, the singular-value de
composition highlights a basic property of linear transformation.
A scheme to obtain the singular-value decomposition follows. First, we
calculate the singular values by equation A3.I. We note that, since the
numbers of nonzero eigenvalues for ATA and AAT are the same, it is
computationally more efficient to find the singular values using the eigen
values of AAT when m < n and those of ATA when m > n.
Next we obtain U and V. We define a diagonal matrix 1:, using r nonzero
singular values by
(A3.7)
This is the r x r principal minor of 1:. We let the ith row vectors of U and
V be Ui and Vi' respectively, and let
and
U,rU, = I,
and
Hence, we have
ATAvi=ViO/, i=1,2, . . . ,r (A 3 1 O)
.
and
�
(A3.9')
r�! �� l].
A numerical example will illustrate the above sheme. Suppose that
A =
�l
o 1 -1
[ �� ]
Then
-1
ATA � 3 -2 .
-1 -2 3
Since
ur
= [2/fo -lifo -lifo 2/fo T ]
.
[vrs
0 -1/J2 1/J2 0
Hence, a singular-value decomposition of A is given by
�l
0
O J3
fl JW
I= 0 0
o 0
l
0 1/J2
[�JW
_ -lifo -1/J2 0 2/fo
u- 0
-lifo 1/J2 2/fo
2/fo 0 -lfJ2 lffo
'
and
i =f(x), (A4.l)
and
X
i
f(x) =
(A4.4)
x(n -1)
f(x,x, . . ,x(n-1»
.
We can reduce the expression A4.2 to A4.1. Thus, A4.l is a fairly general
expression for dynamics systems. In the following, we discuss the stability
of the equilibrium point of system A4.l, that is, the equilibrium state i such
that
f(i) = O. (A4.5)
(i) The origin 0 is said to be stable if there exists a <> > 0 for any given e > 0
such that the solution x(t) to equation A4.l with an arbitrary initial state
x(O) such that Ilx(O)1I < <> satisfies IIx(t)1I < E for all t � O.
(ii) The origin 0 is said to be asymptotically stable if it is stable and there
Lyapunov Stability Theory 273
c,
���----�! �! ---- �
Surface with Surface with
no friction viscous friction
Figure A4.1
Stability of equilibrium point.
exists a tJ' > 0 such that the solution x(t) starting from any initial state x(O)
satisfying IIx(O)II < (j' converges to 0 as time goes to infinity .
(iii) The origin 0 is globally asymptoticall y stable if it is stable and the
solution x(t) starting from any initial point x(O) converges to 0 as time goes
to infinity.
For example, consider the ball in figure A4.l sliding on a curved surface
with gravi ty acting downward. The equilibrium point A is stable (the ball
continues to oscillate near the bottom because of the frictionless surface),
B is asymptotically stable (the ball reaches the bottom and stops there after
infinite length of time because of viscous friction), and C1 and C2 are not
stable.
Before defining the Lyapunov function, we introduce the concept of
positive-definite and positive-semidefinite functions of x. Let us consider a
scalar function v(x) defined over a region D includi ng the origin. The
function v(x) is said to be positive definite (or positive semidefinite) in D if
v(O) = 0 and v(x) > 0 (or v(x) � 0) for any XED such that x i= O. Similarl y,
v(x) is said to be negative definite (or negative semidefinite) in D if v(O) 0
=
and v(x) < 0 (or v(x) � 0) for any xED such that x i= O.
The function v(x) is called the Lyapunov function if v(x) is positive
definite in D, its partial derivative ov(x)/ox is continuous, and the time
derivative
dt ox
is negative semidefinite.
274 Appendix 4
vLr)
x,
X,
Figure A4.2
Lyapunov function.
(ii') No solution x(t) to equation A4.1 for any initial condition x(O) such
that x(O) # 0 satifies v(x(t» = 0 identically. 0
The following theorem gi ves a condi tion for global asymptotic stability .
v( x)
X,
Figure A4.3
Condition ii'.
(iii) The function v(x) tends to infinity when IIxll tends to infinity.
Theorem 3 Let us assume that there exists a Lyapunov function v(x) for
system A4.1 in the whole space of x. Let E be the set of all states x satisfying
6(x) = 0, and let M be the largest invariant set for A4.l included in E. Then
an arbitrary finite solution of A4.1 tends to M as time goes to infinity. In
addition, if condition iii is satisfied for all x, all solutions of A4.l tend to
M as time goes to infinity. 0
where 1 � il < i2 < ... < ik � n, k = 1 ,2, ... ,n, and 1'1 denotes the deter
minant.
(i) A symmetric matrix A is positive definite if and only if all the principal
minors are positive, or, equivalently,
A (1 2 ... ,k)
, , > 0, k = 1,2, . . . , no (A4.8)
(A4.9)
The reader who wish to learn more about Lyapunov stability theory is
referred to 1. La Salle and S. Lefschetz, Stability by Lyapunov's Direct
Method (Academic, 1961 ).
Solutions to Selected Exercises
Chapter 1
Chapter 2
2.2 From equations 2.23a and 2.23d, sint/! -sinr/JRll + COSrPR21; from =
Chapter 3
B B B
3.1 J = fv [rTrI3 - rrT]pdv = fv [BrT rI3 - vRB r rT(VRB)T]pdv
VR BJ(VRB)T.
B
=
2 2
3.2 r1 = (m 1l9 1 + II 12)01 + 2m2d 2d281
+ m2d2 +
+ (m11g1
..
m2d2)C1g,
+
r2 = m2d2 - m2d201 2 + m2S1g· •
278 Solutions
Figure E.t
Seven-joint manipulator.
Figure E.2
Singular configuration of four-joint wrist.
Chapter 4
y
---- : 1,= I,
- : 1,=0.7071,
--- : 1,=0.51,
FigureE.3
Solution to exercise 4.3.
a1 = 11 2 + 2/1/2C2 + 2//
and
ao = 1/122S/.
The optimal arm posture is shown in figure E.3 for various ratios of 11 and
12·
Ui =.j""i;,
where
Chapter 5
Chapter 6
Z - Zo 0, e - (}o 0, and", "'0 0, where zo, eo, and "'0 are constants.
= = - =
1 o o OJ
EF = -u x : 0 1 + u / 0 0 ,
[ -. <>1 0 o 153 0
where
and
Ep = [� � � � � �].
0 0 0 0 0 1
Chapter 7
7.2 Substitute equations 7.5 and 7.6 into equation 7.17, and let the deriva
tive of PI with respect to kl be equal to O.
Solutions 281
7.3 Substitute equations 7.5 and 7.6 into equation 7.18, and let derivative
of P2 with respect to k1 be equal to O. Use
Inertia tensor, 83 93
, Momentum, 82
Inertial coordinate frame, 82 Motion subsystem, 1
Inertial force, 90
Instantaneous axis of rotation, 54 Natural angular frequency, 184
Instantaneous optimization problem, 249 Natural constraints, 226
Integral action, 170 Negative definite, 275
Intennediate point, 158 Newton's equation, 82
Inverse dynamics, 177 Newton-Euler fonnulation, 81, 100
Inverse dynamics problem, 108 Nonnalization, 131, 146
Inverse kinematics problem, 29, 45 Nyquist stability criter i on, 189
Inverse, of homogeneous transfonn, 26
pseudo-, 67, 256, 263 Object frame, 13
Obstacle, 249
Jacobian matrix, 53, 57, 63,246 Open-loop link mechanisms, I
Joint actuators, 9 Optimal configura tions, 1 33
Joint angle, 33 Orientation of objects, 13
Joint axis, 33 Orthogonal-coordinate manipulators, 2,
Joint length, 33 139
Joint variable, 28
Joint-variable scheme, 155 Parallel-axis theorem, 94
Joint vector, 28 Parallel drive, 98,125
Joint velocity 57
, Parallel proce ssing 176
,
Parallelogram, 125
Kawasaki Unimate, 8 Parameter estimation, 202
Kinematic equation, 29, 47, 51 Passive impedance 211
,
T3-786 robot, 7
Task-decomposition approach, 245
Third-order decoupled system, 198