You are on page 1of 347

ROBOT DYNAMICS

AND CONTROL
MARK W. SPONG - - - University of IlliJwis

al

lJrhalla-CllOnlpaign

M. VIDYASAGAR
University nf W'llerloo

JOHN WILEY & SONS

c.'fHh;ht

:\1:

~;

\YKY, by John Wile)' . Sons, Inc

fl':'''\f~ rc~~n'c\1. ruhli~hed ~ilnulullcously In

Canada.

RcrmdllC'tl0n or ,r,Ulslil1;on 01 ,lOy Jl.,n ot


:h:~ \\"urk hc)'ond ,hat permitted hy s.cctlons
:O~ ~'lU [Olluf the 1976 Unltcd !'Utcs Copynght
~~I ".chout 11'\0: permissiun (lIth... copyriRht
(",~.:r I~ unlllwfu1. Rt."\jl1eSIS fur ptrmi~sion
('I I~"h.::r inlQrmal,on should be addresH'J w
th. J'cn~lls~mn... tk[>.Illmt'llt.John Wil...y &. Suns,
LibnJT.l" of CunJ(TC!i.\ ellllllfiging in Publicdtlofl DOla:
~J'on,;

:-1..!1.. W.

ROl-...l ,h-'l,lmtcs <lnu cuntrol/ M:lrk W ';Ilnng, M Vidya...;t.g.1f.


J ROOOi~-n"\llmic~. 2. Rllho\:;-C"n\mL
II Tllk.

[."la\hukull:~,h'

TI2l!." St't' ly~9


Iill22724
629.892-J,; :)
'SHN or\(.J';".~X
I'rllllcd III the Uml...d Stales lJf Amctica
IJ 14 j5

I.

Vidya~agar.

M.

PREFACE

The present age has been given many l<~bc1s, among them The Nuclear
Age, The Space Age, The Computer Agc, and The Age of Automation.
Modern l:icience and technology is the common thread that binds these
various labeLs together. Progress in science and technology began in
prehistory when man first fashioned crude wols irom stone and wood
and learned that he could begin to exercise a degree of control over his
environmem. With the advcm of the so-calkd Scientific Method of Investigation mOTe than three hundred years ago, scient inc and technological advancements heg.m [0 acceleratL' until, at the present timt:,
scientifh; knowledge is incIc'lsing at a phenomenal rate. This unprecedemed explosion of knowledge and technological invention strains
the fabric of our political, educational, religious, and legal institutions
as they struggle to assimilate the chan~cs brought abom by rapid
pwgrt:ss.
In the field of manufacturing, due in large part to recent advances in
computer technology, mankind is at the threshold of a second industrial RevolutIOn, a revolution in Automation. The word automation,
shOTt {or"Automatic Motivation," was coined in the 1940s at the Ford
Mowr Company, and was used to describe the collective operation of
many interconnected machines. Automation is defined by the Oxford

vii

viii
En~lish dictionary} as the "automatic connol of manufacturing product
through successive stages; usc of automatic equipment to san' menul
and manual lahor:?." To the lay person, however, automation means
the process of replacing human workt:rs by machines. Thus it is often
true that the word automation evokes fear and mistnlst. Being lire
placed by a machine" is no longer an idle threat to a significant portion
of modem society. Yet historically, every advancement in technology
that has It:d to an increase in productivity has been good in the long
run. in the nineteenth eentury most people in the United States made
their livings un farms. Farm automation took away most of those jobs
so that at the presem time less than two percent of the population of
the u.s. is engaged in farming. Yet there are more johs now than ever
before due ro advances in technulogy and changing lifestyles. The same
will Hkely be true of automation in the long nln, \Vhilc automation eliminates some iubs in weldi.ng, machining, assembly line work, etc., it
also creates otht:r ions, such a~ rohm installation and maimenam:I:,
softw:lre development and so forth. At the same time, the increased
prudllCtivity hrought anoUl by autumation enables a society to compete
successfully in a global economy with the re~;ult tbat the general stan
danl of livin,l; is raised.
Increasmgly, automation has come to mean the introduction of w
bots into the manufacturing environment. At the present time the
robot rcpre!'ents the highest form of automation. Although technically
just machines, robots arc viewed by most people in a much different
light than other machines. This special, almost romantic, position occupied by robots is due partly to tbe Hollywood vkw of a rohot as a
"mechanical being," often with evil intent, or as a lovable companion
such as R2D2 of tht: motion pictute Star Wars. The word robot itsdf
was introduced into our vocabulary by the Czech pbywright Karel
Capek in his 1910 play RO$$um's Universal Rohots; the word roboto
being thc Czech word for work.
Even Without the Hollywood imagery, however, humans would pro
bably h.lVe a special attraction to robots compared to other machines
for the <;imple reason that robots an: inherently anthropomorphic devices. Indeed, the components of a rubot afe 3nalogous to the human
brain, senses, tlInlS, hands, and legs. The ultim:ne robut would he one
that could see, he3r, feel, speak, move about, manipulate ohiccts, and
even think. Althuugh our present level of tecbnoloJ;.:Y is not able tLl prodllCC such a machine, this is one of the ultinute goals of robotics
research.
There have been many predictions made about thl.: future of the robOtic"" industry, such as that it will grow explosively into a tWO-

J Oxford Uni\icrsit~ l'rCS$, 1971,


!l'hc I;lllnc t1ictlOn;lry dcBllc~ "aUlOffiatic"
humall aCluatllln."

to

mcan "'working of it~clf. without direcl

ox

biJlion-dollar-a-ycar industry by 1990. MOSt of these predictions have


failed to materialize for a variety of reasons. MallY applications, such
as assembly, have proved to he extremely difficult to automate. The
prest:nt level of roboti.cs technology, in such areas as machine vision,
tactile sensing, artificial intelligence, elC" while spectacular, is still
primitive compared to the marvcJous adaptahility and dexterity of humans. One gains a sense of awe and respect for human eyes, hands, and
bmins when attempting tu program a rohot to pcrfmm even simple
u.sks. There arc also economic reasons why robots have not lived up to
their expectations to date. A successful application of robotics requires
much morc than simply installing a robot on the factory floor. Most
often it requires a rethinking and redesign uf the entire process that is
to be automated. The new Acid of applications en~incer is beginning [Q
address tbe issues of how hest to automate manufacturing proceSSlS
with robots.
Another very important reason for the slow growth of the robotic.:s
industry deals with the interdisciplinary nature of robotics itself. Tbe
field of robotics combines aspects of electrical, mechanical, and industrial engineering with compulcI science, mathematics, and economics.
There is at present a critical sbonage of trained people with the crossdisciplinary knowledge m:i.:essary to integrate sueccsshdly the various
technologies involved in robotic applications. It is the task of the
universities to provide such cross-disciplinary education.
The present text grew out of a set of lecture notes developed by the
Arst author during 1983-84 in the School of Electrical Engineering at
Cornell University. These notes have heen extcnsively revised through
subsequent courses taught in the Department Of General EngilleeIin~
and tht: Deparm1t~nt of Electrical and Comruter Engi.neering at the
Univcrsity uf illinois at Urbana-Champaign, and in the Department of
Electrical Engineering:lt the Universlty of Waterloo, Ontario, Canada.
The book h.1S been written primarily for electrical engineering students who may have little or no exposure to the subjects uf kinematics
and dyn<lmic~ uf meehallical systems, hut who have some knowledge of
linear algebra and feedback control systems. The text can also he used
in a mechanical engineering curriculum, howcvcr, and has been taught
to students from nearly all other engineering dlsciplim:s, including in
dustrial engim:ering, aerospace engineering, agricultural engineering,
and computer science.
Recently a number of excellent textbooks have appeared that provide
compn:hensi ve treatments of robot kinematics, Jynami<.:s, trajectory
planning, computer interfacing, artificial intelligence, sensing and
vision, and applil::atiuns. With the exception of Asada ami Slotine
ICh;l.pter Two, Rdcnmce [2J!, however, the area. of robot control, particularly advanced method.s, has received comparatively little iHtention
ro date. It is our pri.mary intent in the present text, therefore, to pro\'ide a self-contained introduction to robot kinematics and. dynamics
iollnwcd hy a more comprehensive treatment of robot control.

PREFACE

This textbook can be used for courses at two levels. Chapters One
through Nine, can be used in a first course in robotics at the senior
level with only a first course in feedback control systems as a
prerequisite. It is very helpful in such a course to have access to a laboratory where the students can learn a specific programming language
and can test some of the material on real systems. The instructor may
also wish to supplement the material with outside reading on computer
interfacing, sensors, and vision. At the graduate level, the entire book
can be covered in one semester. The latter chapters will be most useful
to students who have studied at least the state space theory of dynamical systems and who have access to computational facilities to design
and simulate the advanced control algorithms presented. After covering the chapters on advanced control a graduate student should be
prepared to tackle the research literature on robot dynamics and control.
The text is organized as follows. After an introductory chapter
defining the basic terminology of robotics and outlining the text,
Chapter Two gives some background on rotations and homogeneous
transformations sufficient to follow the subsequent development.
Chapter Three discusses the forward kinematics problem using the
Denavit-Hartenberg convention for assigning coordinate frames to the
links of a manipulator. Chapter Four discusses the problem of inverse
kinematics from a geometric viewpoint that is sufficient to handle the
most common robot configurations the student is likely to encounter.
Chapter Five discusses velocity relationships and derives the manipulator Jacobian in the so-called cross product form and includes a discussion of singularities. Chapter Six discusses dynamics.
We have found that many students at the senior level have little exposure to Lagrangian dynamics, so we have made Chapter Six selfcontained by including a derivation of the Euler-Lagrange equations
from the principle of virtual work. We also discuss the recursive
Ne\vton-Euler formulation of manipulator dynamics.
Chapter Seven begins our discussion of robot control by treating the
simplest approach, namely, independent joint control. We also discuss,
in this chapter, the most basic approaches for trajectory interpolation.
A robot is much more than just a series of rigid mechanical linkages.
Thus \'ie include material on actuator dynamics and drive-train
dynamics and show how both significantly impact the manipulator
control problem. We also introduce the idea of feedforward control and
computed tOrque, which paves the way to the more advanced nonlinear
control theory to follow.
Chapter Eight discusses robot control in the context of multivariable
systems. Here we discuss the method of inverse dynamics and introduce the reader to the idea of robust control. Chapter Nine discusses
force control, chiefly hybrid position/force control and impedance control, which are the tWO most common approaches to force control to
date. Chapter Ten introduces the idea of feedback linearization of

PRF.F,\CF:

xi

nonlinear sySt~ms. This is 3. recent and quite advanced concept in control theory. We have attempted to give a self-contained introduction to
the subject while minimizing tnt: mathematical background required of
the reader. Thus, although wr:. introduce, for example, the notion of Lic
brackets of vector fields, we do so primarily as a nutational convenience. All calculations are performed in local coot<linates in /W1 so
that we avoid the need to introduce rigorom definitions of more advanced concepts such as differentiable manifolds, tangent bundles, etc.
We hope that the loss of mathematical rigor is compensated for by an
incrC3sc in readability; in any case, tht: level of the tn.-atment is
sufficient to handle most cases of interest in robot contra\. Chapter
Eleven discusses variable structure and adaptive control of robots.
Again, we give specific applications of thes!.: ideas to the robot control
problem rather than attempting to cover the most general theory.
While these tcehni4ues are important to date primarily from a theoretical standpoint, they hold the promise of future practicality and also
point the way to the research literature on robot controL
We had twO main goals in writing this text. Tht first was to present
the material as rigorously as possible at a senior/first-year graduate
level by giving mathematical justification and proofs wherever possible.
The second was to present the theory in such :l way that, having read
it, the reader is able actually to compute examples for himseU. Thus
most of the problems fall into two groups. The first group asks the
reader to fill in the gaps of some of the derivations and proofs, whereas
the second group asks the reader to take a specific example and work
out the various equations on his or her own.

ACh.NI)W I,EnG'1E~TS

The first author would like to acknowled?;e the help and suppOrt of
many individuals in the preparation of this manuscript. First and
foremost are my coHeagues in the Decision and Control Group in tbe
Coordinated Science LaboratOry at the University of Illinois, Tamer
Basar, lessy Grizzle, Petar KokolOvic, P.R. Kumar, Jutaj Mcdanie, Bill
Perkins, Kameshwat Poolla, and Mac Van V.1lkenburg" who provide a
truly outstanding environment for scholarship and research. Next, my
students Robert Anderson, Scott BouoH, Fathi Ghorhel, John Hung, and
William Scheid prOVided helpful corrnnents and found numerous mis
takes in early drafts of the manuscript. The simnlation results in thiS
book were performed using the TUTSIM, PC-Mariah, and PC-Simnon
packages in the Robotics Laboratory in the Depal1ment of General Engineering at the University of Illinois. I would like to thank my former
chairman, Jerry Dobrovolny, and my current chairman, Thomas Conry,
ior their support which made this facility possible and for their continued support and encouragement. The second author would like to
thank his students, Y. C. Chen, Chris Ma, A. Sankar, and David Wang
ior educating him in robotics.

XII

PI-l~:F,\(:~:

The initial discussions which cvcnw'llly led to this book began during the summer of 19R4 while both authors were in the Comrul Technolog)' Branl;h at General Elt:ctrk's Corporate Research am.I Development Headquarters in Schent'(;wdy, New York. We would like to
thank John Cassidy a.nd Larry Sweet for thdr support during that
period, which made this collaboration possible. We would also like to
thank Rruce Kro~b and Kcn Loparo for their critical revlcws of the
manuscript, and Lila Acosta for proofreading the manuscript. We
would also like to thank Riccardo Marino, Romel) Onega, Hebertt
Sira-Ramirez, and Jean-Jacques Slmim;. for numerous helpful discussions on the robot control problem.
finally, wc would like to thank Christina Mediate, Joe Ford, and Michael Tung at John Wiley jor their patience and gllldance in the preparation of this text.

MARK W. SPO~G
M. VIDYASAGAR

CONTENTS

CHAPTER OI\E, II\THOUl.CTIO.~

1.1 Jlllroduction

1.2 Ro/lOtiCS
1.3 Cotlll'oncllt$ and Structure of !~olJor::.
1.4 l,OmmOlI Kinematic Arrangements
1.5 Outline of ,he Text
References and Su~r:.esled UCdding
Problems

1
4
H

21
27
2CJ

CHAPTER Two, RI!:1D MOTlOI\S


AN 0 HOMO!: E:,/EOUS
TRANSFORMATIOI\S
2.1

RouJtiwl~'

2.2 Composition of Rotatious


1.:$ Furrher Propetlies of R{)fdUom
1.1, Homogeneous TU1J)s!ormat;omi
1.5 Skew Symmetric Marrke..'i
1.6 Angular Velocity and Acce1erarion

32
33
38

43
46
50
53

XIII

xiv

2. '; /lddition oj Angular Velucities


Reference'! and
Problems

Sllxxe~red Reading

CIiU'TF:R TIiHEE, FOIl.WMW


KII'(EMi\T1CS, TIiE OENAVITH ARTF.I'(RF.H(; REPIl.ESE'<TATIO:,,/
:i.1 KilJetlwtic Chains
~.2

Denavit-HOltenberg Represenla(jrH!

3.3 Example.,
References and Suggested
Problems

'~eadillg

CHAPTEH FOLIl., INVERSE


KJNE)I.\TTC~

I Immductiull
4.1 KmemlllJC: Decollpling
+.3 fnver.'!e /)()Sltion: A Geometric Approach
;1,.

-1-.4 Invene Orienration


References and Suggested

.,.,
1'2

102
'~eadillg

Problem'!

lOi
<08

Cl.l.\PTEH FIVF., VF:LOCITY


Kr<EMATICS- TilE
MA'<IPUIATOR JACORIi\N
:i. 1 Dem:atiun of rhe Jacobian
;).2

Examples

.j.~

Singularities
lnver~e Velucity (/lulllcceleration
References and Suggested Reading
Problems

.j...t-

92

III
J 12
IIi
II')
126

-,

1)128

CIl.\I'TER SIX, DYI'(AMICS


fl. 1 Euler-Lagrange Equations
6.2 Expres.~i()11S fur Kineric lI/1d Potential Energy
63 Equatiom of Motion
11.4 Some Common ConfikUrations
(l.S Newwn-Euler Formulation
n.ll Planar Elbow MclnipulalOr Revisited
References and Suggested Reading
Problems

129
129
136
141

'44
153
159
Iti2
I ti:~

xv

CONT~:NTS

CHAPTER SEVEN: INDEPENDENT


JOINT CONTROL
7.1
7.2
7.3
7.4
7.5
7.6

Introduction
Actuator Dynamics
Set-Point Tracking
Drive Train Dynamics
Trajectory Interpolation
Feedforward Control and Computed Torque
References and Suggested Reading
Problems

167
167
169
175
183

195
~O6

211

212

CHAPTER EIGHT: MULTTVARIABLE


CONTROL
8.1
8.2
8.3
8.4
8.5

Introduction
PD Control Revisited
Inverse Dynamics
Implementation and Robustness Issues
Robust Outer Loop Design
References and Suggested Reading
Problems

216
216
216
221
224
227
2:36
239

CHAPTER NINE: FORCE CONTROL


9.1
9.2
9.3
9.4
9.5
9.6

Introduction
Natural and Artificial Constraints
Stiffness and Compliance
Inverse Dynamics in Tosl, Space
Impedance Control
Hybrid Position/Force Control
References and Suggested Reading
Problems

241
~Il

2-1-;)

246
251
252
254
256
257

CHAPTER TEN: FEEDBACK


LINEARIZATION
] 0.1 Introduction
Background: The Frobenius Theorem
Single-Input Systems
Feedback Linearization for N-Linl< Robots
Introduction to Outer Loop Design
Outer Loop Design by Lyapunov's
Second Method

] 0.2
10.3
10.4
10.5
10.6

259
259
261
266
274
277
279

.x \0'1

CU'< ,-.-'VI'S

Reference... lind SUj.lgesred Reading

Problems

:281
28)

CHAPTER ELJ:;VEN, VARfAllLE


STRCCTUIlE AND AflAPTlVF:
CONTtlOL

2U-1

11.1 lnlmduction

2"'4-

lJ.2 The Merhod of Sliding Modes

2X,,"
301

11.3 Adaptive Control


References (Iud SllgXesred Reading
Problems

Apr'E'iDIX -I.: LL\EAR ALGF:llRA

313
3].1

:H6

ApPENDIX R: ST.\TE SPAO: THEOtlY


OF

D' 'I HflCAI. SYSTEMS

ApPE'lTHX C: LYAPU OV STAHILITY


INDEX

321

CHAPTER ONE

INTRODUCTION
1.1 INTRODUCTION
Robotics is a relatively new field of modern technology that crosses
traditional engineering boundaries. Understanding the complexity of
robots and their applications requires knowledge of electrical engineering, mechanical engineering, industrial engineering, computer science,
economics, and mathematics. New disciplines of engineering, such as
manufacturing engineering, applications engineering, and knowledge
engineering, are beginning to emerge to deal with the complexity of the
field of robotics and the larger area of factory automation. Within a
few years it is possible that robotics engineering will stand on its own
as a distinct engineering discipline.
In this text we explore the kinematics, dynamics, and control of robotic manipulators. In doing so we omit many other areas such as locomotion, machine vision, artificial intelligence, computer architectures, programming languages, computer-aided design, sensing, grasping, and manipulation, which collectively make up the discipline
known as robotics. While the subject areas that we omit are important
to the science of robotics, a firm understanding of the kinematics,
dynamics, and control of manipulators is basic to the understanding
and application of these other areas, so that a first course in robotics
should begin with these three subjects.
1

1:\TIt'jUl'!..'l' III r>o

1.2 ROBOTICS
The term robot was first introduced into our vocabulary by the Czech
playwright Kard Capek in his 1920 play Rossum's Universal Rohots,
the word robotll being the Czech word for work. Since then the term

has been applied to a gre.u variety of mechanical devices, such as teleopelators, underwater vehides, ;11,Ltonomous land rovers, etc. Virtually
anything that operates with some degree of autonomy, usually under
t:omputcT control, has at some point been called a robot. In thiS text
the leon robot will mean.:l computer controlled industrial manipulator
of the type shown in Figure 11. This type of robot is esst::ntially a
mechanical arm operating under computer control. Such devices,
thous;h far from the rohots of science fiction, alc nevertheless ex-

FIGUHE 1-1
The Cincinnati MiJacron 7"
Cincinnati Milacron.

indu~trial manipulatOr. Photo courtesy of

tremely compl~x electro-mcdumical systems whose analytical description requires advanced methods, and which present many challenging
and interesting research problems.
An official definition of such a robot comes from the Robot Institute
of America (RIA): A robot i~ a reprogramnwhle multifunctional mani
pulator designed to move material, parrs, Joo]s, or ~pecialized devices
through variable programmed morion.~ for the performance of a variely
of tasks.
The key element in the above definition is the rt:programmability of
robot.S_ It is the wmputer brain that gives tht' robot its utility and
adaptahility. The so-called robotics revolution is, in fact, pan of the
larger computer revolution.
Even tbis restricted vCtsion of a robot has several fcatures that make
it attractive in an industrial environment. Among thc advantages often
cited in favor of the introduction of robots are decreased labor costS, increased precision and productivity, increased flexibility comparcd with
specialized machines, and more humane working wnditions as dull,
n:petitive, or hazardous jobs arc performed by robuts.
The robot, as WI:: have defined it, was horn Out of the marria~e of two
I::arlier technologies: that of teleopcrators and numerically contmlled
milling machines. Telcoperators, or master-slave devic~s, were
developed during the second world war to handle radioactive materials.
Computer numerical comrollCNCl was devdoped because of the high
precision required in the machining of certain items, such as components of high performance aircraft. The 6rst robot::. essentially com
bincd the mech:miC3.1 linkages of thc releoperator with the autonomy
and programmability of CNC machines. Se\'craJ mHesrones on tbe
road to present day rubor technolog}' are listed bdow[17],[21]:
1947-thc first servocd electric powered teleoperator lS
developed
1948- a tdcoperator is developed incorporating force feedback
1~}49-research on Ilunlt:rically contrulled milling machines is
initiated
I954--Gcurge Devol designs the first programmable robot
19S6-Joseph E.ngelbcrgcr, a Columbia University physics student, huys the rights to Devol's rooot and founds the
Unimtltion Compau}'
1961-thc first Unimate robot is installed in a Trenton, Nt:w
Jersey plant of General Motors (10 tend tl die casting
machinel
1961-the 6rst rohot inco:rpoftlting force feedhack information
is developed
19(...~-the first wbot vi~ion system is developed
1971-the Stanford Arm is developed at Stanford University

1.YII\Olll.CI"I( )~

1973-the first robot programming language iWAVE) is


developc:d at Stanforu
1974--Cincinnati Milacron introduct:s the: T-1 robot with computeT control
1975-Unimation Inc. registcrs its first fin<1ncial profit
1976-----the Remote Center Complianct: [Ree) device for part
insertion in <lssembly is dt'vdopL:d at Draper Lah!'> in
Hoston
1978- Unimation introduces the PUMA robot,
designs from a General Motors study

based on

1979-the SCARA rubot design is introduced in Japan


1981- the first direct-drive rohot is dl.:vdopl.'d at
ncgie-Mellon University

CM-

The first successful applications of robot manipulators generally involved some sort of material transfer, such as injection molding or
stamping where the rohot merely attended a pless to unload and either
tr"nsfer nr stack the finished part. These first robots were c,lpablc of
bdng programmed to execute a sequence of movements, ~ueh as moving to a location A, closing a gripper, movjn~ to a location B, etc., but
had no (,'xtcrnal sensory capability. More complex applicatiuns, such as
welding, grindin& dcburring.. and assembly require not only mot~ complex motion bUl also some funn of external sensing such as vision, tactile.. or force sensing, dUt: to the increased interaction of the robot with
ItS environment. For a compn::hemive discussion of robotic applications th~ reader is refem:d to the references at the end of this chapter,
cspcci:1l1y [61 ;:md lSI.
It should he pointed out that the important applications of robots arc
by no means limited to those industrial jobs where the robot is directly
replacing a human worker. There are many other applications of roo
botics in areas where thc usc of humans is impractical or undesirable.
Among these arc undersea and phmctary exploration, satellite retrieval
and repair, thl.: defusing of explosive devices, and wflrk in radioactive
environments. Finally, prostheses, such as artifiCial limhs, are themselves robotic devices requiring methods of analysis and design similar
to those of industrial manipulators.

1.:3 COMPONENTS AND STRUCTURE


OF ROBOTS
Rooot Manipulators are composed of links connecw.l by joints into an
open kinematic chain. Joints are typically rolary Irevolule) or linear
jprismaticl. A revolute joint is like a hin~e and allows relative rotation
between twO links. A prismalic. ioim allows a linear relative motion

COMt'O~J::""N ANO STRl-'(:Tl'ltJ::QI' RVUOl'8

between two links. We use the convention (R I for representing revolute joints and {PI for prismatic joints ~s shown in Figure 1-2. Each
joint represents the interconnection between two links, say, lj and lj+l'
We denote the axis of rotation of a revolute joint, or the axis along
which a prismatic joint slides, by z, if the jomt is the interconnection
of links i and i + 1. The joint variables, denoted by 9," for a revolute
joint and eli for a prismatic joint, represem the relative displacement
between adjacent links. We will make thiS precise in Chapter Three.
The joints of a manipulator may be electrically, hydraulically, or
pneumatically actuated. The number of iOintS determines the degreesof-freedom (OOF) of the manipulator. Typically, a mampuLator should
possess at least six independent DOF: threc for positioning and three
for orientation. With fewer than six DOF the arm Cannot reach every
point in its work envirnnment with arbitrary orientation. Certain applications such as reaching around OT behind obstacles requiTe more
than six DOF. The difficulty of contrulling a manipulator inCTeases rapidly with the number of links. A manipulator having more than six
links is teferred to as a kinematically redundant manipulator.
. The workspace of a manipulator is the total volume swept out by the
cndeffectoT as the manipul3tor executes all possible motions. The
workspace is constrained by the geometry of the manipul.nor as well as
mechanical constraints on the joints. For example, a revolute joint
may be limited to less than a full .160 of mution. The workspace is

,"

,"

I
Revolute

I,

I,
--'---

I,

ioinl (R)

,-

I, '

Prismatic

I,

I.

I,

join! (P)

FIGLRE

I,

1-2

Symbolic representation of robot joints

V,
'-----'"

1"lrll').II.C-"ffl~

often broken down into a reachable workspace and a dextrous


work!:lpace. The reach:lbl~ workspace is the entire set of pOLms
reachable b)' the m.ampulalor, whereas the dextrous wurkspacc con5ists
of those points that the manipul<1lof can reach with an arbitrary onen
t,mon Of the end-effector. Obviuusly the dextrous workspace is a
subset of Ihe reachable work!';pace.
A mhor manipulator should he viewed as more than just a series of
IlH:ch:mical linkages. The mechanical arm is just nne component to an
oVI,:rall Robotic System, shown in Figure I"~, which consists of the ann,
external power SOUl'ce, end-of-arm touLing, external and internal sensors, servo, computer interrace, and cuntro! computer. Even tbe pro~rammcd software sboulJ be conSidered as an integral part of the
overall system, Since the manner in which the robot is programmed
and controlled can have a major impact on its perfowlancc and subsequent ungc of applications.

1.:1.1 ACCURACY 1\ 'II) REPEATi\HILTTY


The accuracy of a manipul.amr is a measure:: of how close the manipulator can come to J given poinl within its workspace. Repeatabiliry is a
measure of how close 3 manipulator can return to a previously taught
point. Mo~t present day manipulators are highly repeatable but not
very accurate. The primary method of sensing positioning errors in
most caseS is with position em:ouers located at the joints, either on the
shaft of the mowr that actuates the joint or on thc joint itself. There is

Exlernal
power Unit

Teach device
terminal

"

pendant

""""

computer
controller

....,

mech,mical

.'m

Permanent
pmgrnm

end-ol-arm

-""",

tooling

dGkor tape

FICCRE 1-.3
Components of a rohotic system

COMI'O."IJ::NT,,""ln STIIUCTURF.\W HOllo",,,,

typically no direct measurement of the end-effector position and orientation. One must rely on the as!>umed geometry of the manipulator
and its rigidity to infer (i.e_, to calculate) the end-effector position from
the nu:asured joint angles. Accuracy i!> affected therefore by computational errors, machining accuracy in the construction uf the manipulator, flexibility effects such as the bending of the links under gravitational and other loads, gear backlash, and a host of other static and
dynamic effects. It is primarily for this reason that robots an~ designed
with extremely high rigidity. Without high rigidity, accuracy can only
be improved by some sort of direct sensing oj the end-effector position,
such as with visioll.
Once a point is taught to the manipulator, however, say with a teach
pendant, the above. effects are taken into account and the proper encoder values necessary to return to the given point are stored hy the
controlling computer. Repeatability therefore is affected primarily by
the controller resolution. Controller resolution means the smal1est increment of motion that the controllcr can sense. The resolution is computed as the total distance traveled by the tip divided by 2'l, where n is
thl.: numher of bits of encou.cr :lccura,,:y. In this context linear axes, (hat
is, prismatic joint!>, typically have higher resolution th:Hl revolLlte
joints, since the straight Line distance traversed by the tip of a linear
axis between twO points is less than the corresponding arclength traced
by the tip of a rut.1(ion~\llink.
In addition, as we wll! see in later chapters, rotational axes llsu:llIy
result in a large amount of kinematic and dynamic coupling among the
!.inks with a resultant accumulation of errors and a morl' difficult con
trol problem. One may wonder then what the adVant,lge~ of revolute
joints are in m.anipulator design. The answer lies primarily in the increased dexterity and compactn~ss of revolute joint design~. For ex
ample, Figure 1-4 shows that for the same range uf mOl inn, a rotational
link can he made much smaller th3n a link with linear motiun. Thus
manipulators made fmm revolute joints occupy a smaller working volunle than manipulators with linear axes. This increases th~ ability of
the manipulator to work in the same space with other robots,
machines, and p~op1c. At the same time revolute joillt manipulators
are better a!'lle to maneuver around ohstaclcs and have il wider range of
possible applications.

n-,------,

-----iL}---j-------'
I

, ,,
/

FIGURE 1-4
Linear vs. rotational link motion

Il\,TIIOlIllCTIO!"

1.4 COMMON KINEMATIC


ARRANGEMENTS
Although in principle a manipul<ltur is a gcneral purpose device, in
practice manipulators are usually desi~ned with at (cast a broad class of
applic<ltions in mind, such as welding, materials handling, and
assembly. Thcse applieatlons largely dictate the chuic~ uf various
design parameters of the manipulator, including its kinematic structure. For example, assembly of circuit hoards is naturally p~rfurmcd by
a SCARA type manipulator (Figure 1-131, while a spherical manipulator
(Figure 1-ID) may be bett~r suited for tending a punch press.
Robot manipulators Ciln be classified by several criteria, sucb as their
geometry, or kinematic structure, the type of application for which
they arc designed, the Olllnner in 'which they an: controlled, etc. In this
text we will mainly classify manipulators acwrding to their geometry.
Most industrial mampulators at the present time h:wc six or fewer
degrees-oi-freedom. These manipulators are usually classified kinematically on the basis of the arm or first three joints, with thl.: wrisl being
described separately. The majority of these manipulators fall into one
of five geometric types: aniculated (RRR), spherical tRRP), SCARA
(RRPJ, cylindrical (RPP1, or cartesian (PPP).

1.4.1 ARTTCUL<l.TED CONFIGlJRATION(RRH)


The aniculated manipulator is also cilllcd a revolute, or anthropomorphic manipulator. Two common revolute designs are the elbow type
manipulator, such as the PUMA, shown in Figure 1-5, and the parallelogram linkage such as the Cim.:innati Milacron T 3 735, shown in Figure 1-6. In these arrangements joint axis Z2 is parallel to ZI and both
Zl and Zl are perpendicular to Zc. The structure and terminology associated with the elbow manipulator arc shown in Figure 1-7_ Its
workspace is shown in Figure 1-8. This configuration provides for relatively large freedom of movement in a compact space. The parallelogram linkage, althou~ less dextrous typically than the elbow manipulator configuration, nevertheless has several advamagcs that make it an
attractive and popular design. The most notable feature of tbe paralh:logram linkage configuration is that the actuator for joint 3 is located
on link 1. Since the weight of the motOr is born by link 1, links two
ami three can he made more lightweight and the mOtors themselves
can be less powerful. Also the dynamics of the parallelogram manipulator are simpler than those of the elbow manipulator, thus making it
easier to control.

IA.2 SPHERICAL CONFIGIJRATION(HHP)


By replacing the third or elbow joint in the revolute configuration by a
prismatic joint one obtains the spherical configuration shown in Figure

1-9. The term spherical configuration derives from the fact that the

F1GURE 1-5
The Unimation PUMA lProgrammabl!: Universal Manipulator fur
Assembly) Phow courtesy of WestinKhouse Automation Oi
vision/Unimation Incorporated.

spherical coordinates defining the position of the cnd-effector with


respect to a frame whose origin lies at the intersection of the axes Zl
and Zz are the same as tbe first thrce iuint variablc:s. A common manipulatOr with this configuratiun is the Stanfurd manipulator IFigurc \IU). The workspace of :l spherical manipulator is !lhown in Figun: 1-11.

1.'1.:\ SCARA CO:'lFlGlIRATION (KKP)


The so-called SCARA (for Se1t;:ctive Compham Articulated Rooot for
Assembly) shown in Figure 1-]2 is a recent and increa$l.ingly popular
configuration, which, as its name suggestsl is tailored for assembly
operations. Although the SCARA has an RRP structur~, it is quit'c dif
ferent from the spherical configuration in both appearance and in its
range 01 applic:nions. Unlike the Isphericall Stanford design, which has
Zn,Z I,Z2 mutually perpendicular, the SCARA has ZO,Z I,Z2 pamllel. Figun~ 1-13 shuws the AdeptOne, a manipulator of this type. The SCARA
manipulator workspace is shown in Figure 1-14.

1.4.4

Cv LI NDRTCAL CONFIGliRATION (RPP)

The cylindrical configuration is shown in Figur~ 1-15. The first joint i&
rtvo!ute and produces a rotation about the base, while the second and
third ioints are prismatic. As the name suggests, the joint variables are

10

II\TltlJlHtl'TIOI\"

FIGURE 1-6
The' Cincinnati Milacrcm T 3 735 robot. COUrtt:sy of Cincinn<lti MilacrOll.

the cylindrical courdinate!\ of the cnd-eH~ctOr witb r~pcct to thl' base.


A cylinJrical mbot, thl' GMF M-lOO, is shown in Figur~ 1-1 Il, with its
workspace shnwn lD Figure )-17.

1.'1.5 CARTESIAN CONFIGUKATION (PPP)


A manipulatOr whose first three joints are prismatic is known a5 a cartesian manipulatnr, shown in Figure IHoI. For th~ cartesian manipulator th~ ;010t variahles arc the cartesian coordinates of the end-effector
with n:spcct (0 thl:: hase. As might be cxpt:cted the kinematic description of this manipulator is tbe simplest of all configurations. Cartt:si:m
configurations arc llsdul for table-lOp asstmbly applications and, as

I 1

Zo

+I
I

Shoulder

z,

82

(Y../"

~Z

{2

83

~"

&z

z2

13

/~upper ./ ~ Forearm

,.. 81

arm

Body I,
Base

FIGURE 1-7
StructL1r~ of

the e1how manipulator

g;l.ntry robots, fnr transf~r of Iuatcrial or cargo. An example of a cartesian robot, the Cincinnati Milacron T J gantry robot, is shown in Fi
gun~ 1-19. The workspace of a carttsian manipulawr is shown in Figure:
1-20.

Top

(
FIGlJRF: 1-8
Work.~pacc of th~

elhow manipulator

12

TI\;TRfll'lIJCTlul'o

FIGURE 1-9
The sph~rical
configuration

"i

manipulator

....

.'~

FIGURE 1-10
The Stanford manipulator {Courtesy of the Coordinated Science Laboratory, University of Illinois)

FIGUHE 1-11
Workspace;:. of dIe spherical manipuLator

" I

,,

"

'3
j<'IGUHI:: 1-]2
The SCARA
Assembly)

(Selective

Compl1am

Aniculated

Robot

for

14

r.... TIlUIIl "f:TIU:-'

FIGURE 1-13
The AdeptOne robot. Photo
courtesy of Adept Tcchnologies.

FIGuRE ]-14
Tbe workspace of the SCARA manipulator

15

I
I

1'<>

FIGURE 1-15
Tb~

l:yliudrical manipulator
connKura tion

1.4.6 OTlIEH METt-tODS OF CLASSIFYING


ROBOTS
Other common ways to classify robots are by their power source, application are;], amI method of control.

(i) Power Source


Typically, robotl; art: eirner electrically, hydraulically, or pneumatically
powered. Hydraulic "ICtuatOrS are unrivaled in theH speed of response
and torque producing capability. Therdore hydraulic rohors are used
primarily for lifting heavy loads. The drawbacks of hydraulic !Ohms are
that they tend to leak hydc<lulic fluid, rt'l.!uire much more peripheral
equipment, such as pumps, which also requires more maintenance, and
they are noisy. Robots driven by DC- or AC-sel"Vo moturs an: increasingly popular since they arc cbeaper, cleaner and quieter. Pnt:umatic- robots are inexpensive and simple hut e,mnot bc controlled precisely. As a result, pneumatic rohots are limned Il1 their range of applications and popularity.

Iii) Application Area


Thc largcst projected area of future application of robots is in assembly.
Thcrefore, robots are often c1assil1ed by application into assembly and
non-assembly robots. Assembly robots tt:nd to be small, e1t:ctrically
driven and either revolute or SCARA in design. The main non
assembly application areas to date have been in welding, spray
paintmg, material handling, and machine loading and unloading.

)(,

I :>ITflOPUl.:TI'J'\

.,

... ~1lll

..

FIGl:RE 1-16
The GMF M-lOO robot. photo c.:ouncsy of CMf Rohotics.

(iii) Method of ColJtro}


Robots are classified by coO(col metbud into servo and non-servo m
hots. The earliest robots w~rc non-servu robots. These rohots arc
esst:ntially openloup devices whose movement is limih::d to predetermined mechanical SlOpS, and arc useful primarily for materi;lls transfer.
In fact, a(;cordin~ to thl.: definition Kiven previously, fixed stOp robots
hardly qualify as robots. Servo robots usc closeJ-loop computer control
to determine their moriun and arc thus capable of being truly multifunctional, reprogramm3ble devices.
Servo contrulled robots arc further classified according 10 the
method that the controller uses to guide thl.: cnd-effector. The simplest
type of moot in this c1as" is the point-til-point mho.. A pointto-point
robot can be l<iuKJtt a di"crelc set ot points but then: is no control on
the path of the eml-dfcctor in between tau~ht points. Such rohots arc

17

FIGURE 1-17
Workspace of tht: cylindrical manipulator

usually taught a series of points with a teach pendant. The points are
then stored and played bade Pujot-to-point rohots are severely limited
in their range of applications. In continuous path robots, on the other
hand, tht:: entire path of the eDl]cIfcc-tor can be controlled. For example, the robot end-effector C:lIl be taught to follow a straigbt line
between two points or even to follow a contour such as a welding
scam. In addition, thl' velocity and(or acceleration of the end-effector
can often be cODlrolled. These are the most <HJvanccd rohots and require the most sophisticated computer controllers and software
develupmellt.

'0

FIGlJRE 1-18
The cartesian manipulator configuration.

18

1."l'1'1I0UL.CJ'lO.\j

FIGURE 1-19
A Gantry robot, the Cincinnati Milacron T 3 886. Photo courtesy of
Cincinnati Milacron.

1.4.7 WBISTSAND END-EFFECTORS


The wrist of a manipulator refers to the joints in the kinematic chain
between the ann and hand. The wrist jointS are nearly always all revolute. It is increasingly common to design mani.pulators with spherical
wrisL"'t by which we mean wri,;ts whose joint axes intersect at a
common point. The Cincinnati Milacron
of Figure 1-1 and the Stanford manipulator of Figure l-lO both helve three degree-oi-freedom
spherical wrists. The spherical wrist is represented symbolically in fj,lime 1-21. The spherical wrist greatly simplifies the kinematic
analysis, effenively alJowing one to decouplt:: the positioning and orien
tation of an objeL:t to as great an extent as possible. T}'pically therdore,
the manipulator will possess three positional degrees-af-freedom,
which are produced by three or more ioints in tht:: am1. The Humber of
orientational de~rees-offreedom will then depend on the degrees-offreedom of the wrist. It is common to find wrists having one, two, or
three degrees-of-freedom depending of the application. For example,
the AdcptOnc IFigurc 1-13! ha~ fmlr degrees-af-freedom. The wrist has
only a roll about the final zaxi~. The Cincinnati Milacml1 T"
has

ns

19

FIGURE 1-20
Workspace of the cartesian manipulator.
five dcgrccs~o(.freed()m. The wrist has pitch and roll hut no yaw motion. The PUMA has a full three degreesof-frccdom spherical wrist
and hence the manipulator possesses six degrees-nf-freedom.
It has been said tbat a robot is (Jnly as good as liS h~nd or end.
effector. The arm and wriSt assemblies of a robot ;lTC used primarily for
pm,itiuning the end.effector and any tool it may carry. It is the endeffectur or tnnl that actually performs the work. Thi.: simplest typc of
cml-effectnrs aTC grippers, such as shown m Figures 122 and 1-23,
which usually arc capabk uf only tWO actIOns, opening :md closing.

----QP~

Roll

FIGURE 1-21
Structure of a spherical wrist.

20

J 'IT'll '1.'l'Cr!I,,,

FICVHF. 1-22
A parallel jaw gripper. (From: A Robot En.~ineering
Textbook, by Mohsen Shahinpnor. Copyright 19R7,
Harper & Row Publish~rs, Inc.)

While tJlis is adequate for materials tmosfer, some parts h.:mdling, ur


gripping simple tools, it is not tldequ<.lte for other tasks such as welding,
assembly, grinding, etc. A great deal of research is therefore being devoted to the design uf special purpuse end-cffc\;tors as weU as tools that
can he rapidly changed as the task dictates. There_ is also much
research being devoted to the development of anthropomorphic hands.
Sw.;h hands art:: being developed both for prosthetic usc and for usc in
manufacturing. Since we arc concerned with the analysis and control
of the manipul.1tor itself and not in the particular application or endeffector, we will not disCllSS end-effector desi~n or the study of wasping
anu manipulation.

FICURE 1-23
A two fingered gripper. (from: A l?obor Engineering
Handbook, by Mohst:1l Shahinpoor. CopyriKht 1987,
Harper &. Row Publishers, Inc.)

OL'I'Ll.'n: OF TilE TJ::XT

21

1.5 OUTLIN E OF TH E TEXT


A typical application involvlllg an industrial manipul3tor is shown in
Fi);ure 1-24. The manipulator, which pm;scss\:~ six dcgrecs~of-reedom,
is shown with a );Timling tOol! which It muSt use to remove a cen:1in
amount of ml'tal from a s'llrfar.:t:. 1n the rn:~~1lt text we are concerned
with the following question: Wh<l! arc rlre bd!oic J<isue.5 to be resolved
lind what tn1JH we leam ill order /() he 'lble fU prof,hIm a wbO! /0 perform IOsks SInh as Ih!~ ,,/'love;

The ability to .lnSWer this questIOn fm :t iull iOlX dl:gree-nf-fn::cdom


manipulator represents th\: Xo:l1 oi the pn;~Clll text. The :lnswer ltself is
too eonlplicllted to be presented at this point. We can, however, usc a
simple two-link planar mechanism w illustrate thl.: major issues involveu and to preview tb(: wpics covered in thiS text.
Accordingly, consiuer a lwo-llOk robul as shown ID Fij.;urc 1-25. AI
tached to the enu of the manipul'ILOI is a tool of some SOrt, such as a
grinding or ctlttin); wheel. Suppose we wi~h to move the manipulator
from its home posiunn A to position 8 from which point th~ robot is
to fol1nw the contour of the surfill.:e S to C at wDstam vclocilY while
maintaining 3 prescrihed force F normal to the surface. In so duin~ the
.rohot will cut or grind the surface according to a preut:'termined
specification.

l.S.l

PROBLEM I, FORWi\H.D KINEMATICS

Tht: first prohlem encountered i!l to describe both the position of the
[001 and the Locations A .md H (and most likely tht' entire surface S1
with respect to a common coon.linate system. In Chapter Two we give
some backb'Tound 00 representations of coordinate systt:ms and
transfonnations among various cllOrdinare sySlt:ms.

FIGURE 1-24
A 6-DOF robot with grinding 1001.

22

INTR.HHiCT10:-;

Hom,

"f .
c

FIGlJUE 1-25
Two-link planar rohot

eX3.mpl~.

Typically, the manipulator will be able to I'ense its own position ill
some manner using internal sensors (po!>ition encooers) located <It
joints I and 2, which can m~asun: directly the joint angles 8 1 and 62_
We also need therefore to express the positions A and B in terms of
these joint angles. This leads tu the forward kinematics problem studied in Chapter Three, which is to determine the position and orientahon of the end-effector or [001 in terms of the joint variables.
It is customary to establish 3 fixed coordinate system, called the
world or base frame to which all objects including the manipulator an:
referenced. In this case we establish the hase coonlinarc frame 0oXoYo
at the base of the robot, 3S shown in Figure 1-26, and the coordinates
(x ,y J of the tOol arc expressed in this coordinate frame as

x =alcos9 1 +a2eos(91+~J

11.5.1 !

y =alsin9 1 + D2sin(6j+9.J.J

(1.5.2)

Also the orienlalion n( the 1001 frame relative to thc base fmmc IS
given by the direction cosines uf the X:2 and Y2 axes rdativc to the Xo
and Yo axes, that is,

= cos (e I + OIl; irio = sin lei + 621


h.-io -= - sin lei +(2 ); kJo = COS ie l +621
i~'io

which we may combine into an orientation matrix

i1.53J

2:1

OIJTT.TI\F OF THE TEXT

y,

FIGLRE 1-26
Coordinate tLlmes
planar robot.

oh.io]

fi1i
fcoslll+l 2! -Sin ill+l1I
li1-jo jx.io -l5iniOI+fl21 c05(8 1 +l 2 )

tor

two-link

j
(1.5.4)

where io,.io are the standard orthonormal unit vectors in the base frame,
and i 2, h are the standard orthonormal unit vectors in the tool frame.
These equations (1.5.1-1.5.4) are called the forward kinematic equations. For a six degree-nf-freedom robot these equations are quite complex and cannot be written down as easily as for the two-link manipulator. The general procedure that we discuss in Chapter Three establishes coordinate frames at each joint and allows one to transform systematically among these trames using matrix transformations. The
procedure that we liSC is referrcd to as the Denavit-Hartenber,g convention. We thcn usc homo,geneous coordinates and homogeneous
transformations to simplify the transformation among coordinate
frames.

1.5.2 PHOHLK\1 2, TNVEHSI:

KI.... EMATICS

Now, given the joint angles Ih,8 2 we can determine the end-effector
coordinates x and y. In order to command the rohot to move to location B we need the inverse; that is, we need the joint variables 8 1,82 in
terms of the x and y coordinates of B. This is the problem of Inverse
Kinematics. In other words, given x and .r in the forward kinematic
equatlOns 1.5.1-1.5.2, we wish to solve for the joint angles. Since the
forward kinematic equations are nonlinear, a solution may not be easy
to find nor is there a unique solution in general. We can sec, for ex~
ample, in the case of a two-link planar mechanism that there may be
no solution, if the given Ix ,y 1coordinates arc out of reach of the manipulator. If the given Ix,Y) coordinates arc within the manipulators
reach there may be two solutions as shown in Figure 1-27, the so-called
elbow up and elbow down configurations, or there may be exactly one
solution if the manipulator must he fully extended to reach the point.
There may even hc an infinite number of solutions in some cases iProhi em 1251.

24

I .... nil 'Ul"'TU)~

FTGUllE 1-27
Multiple inverse kinematic solutions.

Consider the diagram of Figure 128. Using the Law of Cosines we


see that the angle 92 is given by

co,a,=

1
1
J
1.
X+Y-(JI-Q,

ala2

,D

11.5.51

We cnuld now dc,tcrmine 8! as


8) = cosI(D J

However, a belteT way to find 92 is


ILS.51 then sinl9!1 is given as

tu

11.5.61

notice that if cos(~J il) given by

'inia,) = "I=iJi
and, hence, 82 can be found by
lh =

11.5.71

tan- l

'iI_O'D

Tbe advantage of this latter approach is that both the elbow-up and
elbowdown solutions are recovered by choosing the positive ami negative Si,itllS in j 1.5.8), r~spectivcly.
It is left as an exercise (prohlcm 1-19) to show that 9 1 is now ~ven as
8 j = tan-l(y Ix)- laD I(

a2sin 92

a 1+I/lcos8l

i 1.5.9)

Notice that the angle 6, depends on 9 2 Tbis makes sel1st: physically


since we would cxpt't:t to require a different value for at dt'pt:mlin~ 011
which solution is chu~t'n for 9z.

1.5.3 PrrOHI.EM 3, VEI.OCITY KTI"EMATICS


In order to follow a contOur at constant velocity, or at any prescrihed
velocity, we must know the relationsbip h~tw~en the velocity of the
tool and the joint velocities. in this case we t:an differentiate Equations
1.5.1 and J .5.2 to obtain

ILi.lOI

25

OUTLINE OF TilE TEXT

-------------

I
I

I
I

A--

21

_-

I
I

FIGCRE 1-28

Solving for the joint angles of a


two-link planar arm.

y = a ICOS ele l + a2COS (e l + e2)(e l + e 2l


Using the vector notation x =

[~J

and 9 =

[~~] we may write these

equations as

x_ [-a lsine
-

a2 sin (e l +e2) -a2 sin (e l +e2)] 6


a lCOSe] + a2cos(9t +e2) a2COS(e\ +e2)
l -

(1.5.11)

=]8
The matrix] defined by (1.5.11) is called the Jacobian of the manipulator and is a fundamental object to determine for any manipulator. In
Chapter Five we present a systematic procedure for deriving the Jacobian for any manipulator in the so-called cross-product form.
The determination of the joint velocities from the end-effector velocities is conceptually simple since the velocity relationship is linear.
Thus the joint velocities are found from the end-effector velocities via
the inverse Jacobian
(1.5.12)

or
I

(1.5.13)

The determinant det] of the Jacobian in (1.5.11) is ata2sin82' The


Jacobian does not have an inverse, therefore, when e2 = 0 or 7'[, in which
case the manipulator is said to be in a singular configuration, such as
shown in Figure 1-29 for e2 = O. The determination of such singular
configurations is important for several reasons. At singular

2fi

Yo

FIGURE 1-29
;Co

A singular configuration.

configurations there are infinitesimal motions that ar~ unacruevilhlci


that is, the manipulator end-effector cannot move in certain directions.
In the above cases the cnd effector cannot move in the direction
parallel to () I from a singular configuration. Singular coongurations arc
also related to the nOll-uniqueness of solutions of the inverse
kinematics. For example, for a Kiven end-effector position, there are in
general two possible solutions to the inverse kinematics, Note that the
singular configuration separates these t\VO solutiol1S in the sense that
the manipuhnor cannot go from one configuration to the other without
passing through the singularity. For many applications it is important
to plan manipulatur motions in such a way that singular configurations
are avoided,

1.5.-i PHOHI.;M4, DYNAMICS


A robot manipulator is basically a positioning device. To control tbe
position we must know the dynamic properties of the manipulator in
order ta know how much force to exert on it to cause it to moye. Too
little farce and the manipulator is slow to reaCL Too much force and
the arm may crash into objects or oscillate ahout its desired position.
Deriving the dynamic equations of motion for robots is not a simple
task due to the large number of degrees of freedom and nonlinearities
present in the system. In Chapter Six we develop techniques based on
Lagrangian dynamics for systematically deriving the equations of motion of such a system. In addition to the rigid links, the complete
description of robot dynamic,.:; includes the dynamics of the actuators
that produce the forces and torques to drive tbe cohoe, and the
dynamics of the dnve trains that transmit the power from the actuators
to the links. Thus, in Chapter Seven we also discuss actuator and drive
train dynamics and tht:ir effects on the control problem.

27

1.5.5 PROHLEM 5, POSITION CONTROL


Control theory is used in Chapters Seven and Eight w dt:sign control algorithms for the execution of programmed ta5ks. The motion control
problem consists of the Tracking and Disturbance Rejection Problem,
which is the problem of determining the control inputs necessary to
follow, or track, a desired trajectory that has been planned for the manipulator, while simultaneously [ejcctin~ disturbances due to unmodeled
dynamic effects such as friction and. noise. We detail the standard appro~cbes to mhO[ control based on frequency domam techniques. We
also introduce the nutiun of feedforward control and the techniques of
computed torque and inverse dynamics as a means tor compensating
the complex nonlinear interaction forces among the links of the manipulator. Robust control is introduced in Chapter Eight using the Second Method of Lyapunov. Chapters Ten and Eleven provide some additional advanced techniques from nonlinear control tbeory tbat arc
useful for controlling high performance robots.

1.5.6 PROBLEM IS, FOHC~; CONTROL


Once the manipulator has reached location B, it must follow the contour 8 maintaining a constant force normal to thc surface. Con
ceivahly, knowing th~ location of thc object and the shape of the contour, we could carry out this task using position control alon~. This
would be: quite difficult to accomplish in practice, howevl."'r. 5ine,(: the
manipulator itself possess high rigidity, any errors in position d~le to
uncertainty in the exact location of the surface or tool would give rise
to extremely large forces at the end-effector that could damage the rool,
tbc surface, or the rohot. A better jpproach lS to measure the forces of
interaction directly and ll~e a force control scheme to accomplish the
task. in Chapter Nine we discuss force control and compliance and
discuss [he two mos[ common approaches to force control, hybrid con
trol and impedance COI1IOI.

REFERENCES AND SUGGESTED


READING
[11

ARKlH, M.,

Computers and the CybernetIC Sociely, AC3dcmic

Pn:ss, New York, 1977.

121

ASADA, H., and SLOTINE.

J-J.

E.,

nabat Analysis and Clmtwl,

Wiley, New York, 19R6.

[31

BEN!, G., and HACKWOOD, S., eus., Recent Advance.. ill RoboLics,

Wiley, New York, 1985.

2H

[4]

[5]
16J

[7]
[81

[91
[10]

[111

[12]
[1~1

[14]
[lSI

[16]
[17]
[l R]
[19]
1201

[21]

''''THOUI

1~r1"'l

B((AIJY, M., Ct. aI., cds., Robot MotiorJ: Planning and Concrol,
MIT Press, Camhridge, MA, 1983.
CRAtG. J" Introduction to Robutks: Meehl/nics and Control,
Addison-Wc3!cy, Reading.. MA, 1986.
CRITCHLOW, A.I., InlToduction to Robolics, Macmillan,
New York, 19R5.
DOIlF, R., Robotics. and Automated Manufaal1ClIlg, Reston, VA,
1983.
ENGLEBERGER, J., Robotics in Practice, KO~:lIl Pa~e, London,
1980.
FU, K.S., CO;..lZALEZ, R.C., and LEE, C.S.G., Robotics: Control
Sen.sing, Vision, alld Intelligellce, McCraw-Hill, St Louis, 1987.
GROOVER, M., ~t. aI., Industr1ll1 Nobotics: Technology, Programming. and Applications, McCraw-Hill, St. Louis, 1986.
KOR.EN, Y., No/mUcs for 1I~il1cers, McGraw-Hili, St. Louis,
1985.
LEE, C.S.G., et. 31., eds., nWITialoIl Robotics, IEEE Computer
Sodety Press, Silver Sprin].\, MU, 19ft~.
MCCu)y, lJ., and HAIlIlI~. M., nObOtiCS: An Introduction, Halstead Press, New York, 1986.
MCCORnUCK, P., M(lchill~ Whu Think, W.H. Freeman,
San Frand!lw, 1979.
MINSKY, M., ed., J<obolics, Omni Publications Intcrnation.1.l,
Ltd., New York, 1985.
Oxford English DictiuJlary, Oxford University Press, Oxford,
1971 .
PAUL, R., Robm Mani"u111t()r<~: MOlhemalics. l'rogramming (lnd
Comrol, MlT Press, Camhridge, MA, 1982.
REID, J<obotics: 1\ Systems Approl/ch, Prtntice-Hall, Englewood
Cliff" NL 1985.
SHAHINPOOR, M., A Robot ftJ~ineerirlg Textl.lO()k, Harper &
Row, New York, 1987.
SNYO[k, W., Industrial f?obots: Computer Interfacing and Contml, Prentice-Hall, Englewood Cliffs, NJ. 1985.
WOLOVlCH, W., Rubotics: Bll"lC AllllJy.<>i.<> and Design, Holt,
Rinch.lIt, &. Winston, New York, 19R5.

PROHlYM,~

PROBLEMS
1-1

What are the key fcatures that distinguish robots from other
forms of "automation," such as CNC milling machines?

12

Bridly JeAne eaeh of the following t~nns: forward kinematics,


inverse killcmatlcs, trajectory planning, worhpal.:c, accuracy,
repeatability, resolution, ioint variable, sph..:rical wrist, endeffector.
What are the main wa}'~ to classify rohots~
Make a list of robotics related magazines and iournals carried by
the university library.
From the list of rderem;;,;s at the end of this chapter make .1 list
of 20 rooot application:.. For each application di.<;cuss which
type of manipulator would bl' best suited; which least suited.
Justif~' your choices in each cas~.
List several applications for non-servo robots; for point-to-point
'mhots, for continuous path robots.
List five applications that a continuous path robot could do that
a puinr-to-point rohot could not do.
List fivc 'lpplieations where computer vision would he useful in
robotics.
List five <lpplil.:ations where either tactile s~nsing ur force feedback control wuulJ be useful in robotics.

1-3
1-4

1-5

1-6
1-7
I-H
1-9
l-lD

I-II

1-12

I-J3

Find out how m.my industrial robut~ arc currently in operation


in the United States. How m,my ar~ in operation in Japan~
What cllunn)' ranks third in the number of industrial robots in
use!
Suppose we could close every iactor~' in the United States today
and reopen then tomorrow fully automated \vith rohots. What
would be some of the economic and .!>ocial consequences of such
a development:
Suppose a law were passeJ banning all future use of industrial
robots in the United States. What would be some of the
c(,;onomic and social conseqUcllCC:' of such an act?
Discuss possible applic:ltions where
would he useful.

r~dundant

manipulators

~o

1-14

I.... TIlOllt (:TIO""

Referring to Figure \-30 suppuse thilt the tip of a single link


travels a distance d between two points. A linear axis would
travel the distance d while a rotational link would travel
through an arclength f a as shown. Using the law of cosines
show that the distimcc d is ~ivt:n by

d =1 '2(1-co'(611
which is of course Ie.~s than t. e. With LO-bit accuracy ,lnd
a =90u what is the resolution of tht.: lint:ar linkl of the

t = 1 In,

rotatiullallink?

I-tS

A single-link n:volute ann is shown in Figure 1-30. If the length


of the link is 50 ern and the arm travels ISU n what is the: control
resolution obtained with an 8-hit encoded

-= 10
d

Fl<affir. 1-30
LJiagr3111 for Problem llS.

1-16

Repeat Problem 1-15 assuming that the 8-bit encoder is IOl:.1ted


on the motor shaft that is connected to the link through a 50: I
gcar reduction. Assume perfect gears.

1-17

Why is accuracy

1-18

How cuuld manipulator accuracy be improved using direct endpoiDt St:Dsingr What othcr diffkulties mi)1;lH direct end-point
~cnsinK introducc into the control problem;

1-19

Derive Equation 15.9.

1~20

Fur the two-link manipulator of

gcn~rany

less thall repcatahility1

Fi~ure

1-25 suppose a 1 ;- G,! = 1.

Find the coordinates of the tnol whcn 9 1 ;- ~ :mu a1 = ~ .

al ,

1-11

Find the Joint angles


I I
nates 1"2' 2 I.

1-22

If the joint velocities are cunstant :ll 8\ = 1, 82 = 2, what is the


vdocity of the lOoE What is the in.~t3ntancous tool velocity
when 8, =8... =~;
4

82 when the tool is located at cuurdi-

POULt.:.. .. 'S

31

1-2.3

Write a computer program to plot the joint an,ll;l~s as a function


of time given the tool locations and velocities as a function of
time in cartesian coordinateI'.

l-24

Suppose we Jesirt= tbat the tool follow a straight line between


the points (0,21 and 12,0) at COllstant speed s. Plot the time history
of joint angles.

125

For the two.hnk planar manipulatOr of Figure 125 is it possible


for there to be an infinite numhcr of solutiuns to the inverse
kinematic equations! If so, explain how this clin occur.

CHAPTER TW"O

RIGID MOTIONS AND


HOMOGENEOUS
TRANSFORMATIONS

A large part of robot kinematics is concerned with the establishment of


various coordinate systems to represent the positions and orientations
of rigid objects and with transformations among these coordinate systems. Indeed, the geometry of three-dimensional space and of rigid motfons plays a central role in all aspects of robotic manipulation. In this
chapter we study the operations of rotation and translation and introduce the notion of homogeneous transformations. l Homogeneous
transformations combine the operations of rotation and translation into
a single matrix multiplication, and are used in Chapter Three to derive
the so-called forward kinematic equations of rigid manipulators. We
also investigate the transformation of velocities and accelerations
among coordinate systems. These latter quantities are used in subsequent chapters to study the velocity kinematics in Chapter Five, including the derivation of the manipulator Jacobian, and also to derive the
dynamic equations of motion of rigid manipulators in Chapter Six.

I Since we make extensive lISC of clementary matrix theory, the reader may wish
view Appendix A before beginning this chapter.

32

to

rc-

2.1 ROTATIONS
Figure 2-1 shows a rigid object S to which :l coordinate frame ox I f IZ I
is :ltt3ched. We wi!'h to n:!atc the coordinates of a point p on S i.n the
OXI}'1Z] frame to the coordinates oj p in a fixed lur nonrotatedl reference frame OXoYoZn. Let! io! in, ko I denoll. the ~tandard orthonormal
basis in OX-oYoZOi tllLls io,jo,ko arc unit vectors along the Xo.}'n,Zu axes,
respectively. Similarly, let l idll k] I be the standard orrhonormal
hasis in OX1Y1ZI' Then the veClUf from the common oril(in to the point
p on the object can be represented either with n,:spcCt to ()XO.\'(lZo as
Po = Pox io + PU'fio + PO:.. ko

121.11

12.1.2)
Since Po and PI arc representations of the same vector P, the ndationship between the components of p in the tWO coordinate frames
can bl' obtained as follows.
Po,<

=Po"io = PI"io
= {I h

12.1.31

iri.o + Pl,.hia + P I' k l ,jl1

"

FJGUU; 2-1
Cuurdin:.ltcs frallle .:lttacbcll 10.\

ri~id

bully

34

RrGJD MOTIONS ,-\NO HOMOCENEOUS TI{A:-;SFORMATIONS

We have similar formulas for POy and POz, namely


POy =

P lxido + P lyjdo + P lzkdo

P Oz = P 'x i} .k o + P Izj I.k o + P Izk r k o

(2.104)
(2.1.5)

We may write the above three equations together as


Po = R6PI

(2.1.6)

where

(2.1.7)

The 3 x3 matrix represents the transformation matrix from the coordinates of P with respect to the frame ox IY 12 I to the coordinates with
respect to the frame OXoYoZo. Thus, if a given point is expressed in
OXIYlzl-coordinates as PI then R6PI represents the same vector expressed relative to the oXoYoZo-coordinate frame.
Similarly we can write
Pix

= pr i } = Poi l

(2.1.8)

= Poxio i , + Poyjo-i 1 + Pozko'i l

etc., or in matrix form


(2.1.9)

where

R~

~o'~1 ~O'~I kO'~I]

10'JI JO'JI ko'JI


i o' k l jo' k l k o'k l

(2.1.10)

Thus the matrix R ~ represents the inverse of the transformation R 6.


Since the inner product is commutative, i.e., io'jo = jO'iol etc., we see
that
R~=(R6)-'=(R6)T
(2.1.11)
Such a matrix R 6 whose inverse is its transpose is said to be orthogonal. The column vectors of R 6 are of unit length and mutually orthogonal (Problem 2-11. It can also be shown (Problem 2-2) that
det R 6= 1. If we restrict ourselves to right-handed coordinate systems, as defined in Appendix A, then det R 6 =+ 1 (Problem 2-3). For
simplicity we refer to orthogonal matrices with determinant + 1 as rotation matrices. It is customary to refer to the set of all 3 x 3 rotation matrices by the symbol SO (3).2

2The notation SO (3) stands for Special Orthogonal group of order 3,

iii

Example 2.1.1

Suppose the frame

oXLhzJ

is rota teo through <1n .mglc

e about

the

ZII

6.

axis, and it is desired to find the resulting transJun1tatiun matrix R


NOte that hy convention the positive sense for thl.; angle a is given by
the right hand rule; that is, a positive rotation of a degrees about the z-

axis woulJ advance a right-hand threaded screw alonJ; the positive z


axis. From Figure 2-2 we sec that
jr4l=-sin9

i2.1. J21

ido = sinS

jO"i1 = cosEt
ko'k l =!

and all other dot products are zero. Thus the transfonnation R ~ has
particu][1r!y simple form in this case, n.amely

-s;"e
O~]
cosEl
o

<, ..

FIGURE 2-2
Rotation about the

Zn

axis.

3.

(2.!.U!

36

RICID MOTIONS AND HOMOGENEOUS THA:'IISFOR:\IATlOi'S

The transformation (2.1.13) is called a basic rotation matrix (about


the z -axis). In this case we find it useful to use the more descriptive notation Rz,e instead of R 6 to denote the matrix (2.1.13). It is easy to verify that the basic rotation matrix Rz,e has the properties

Rz,o = I

(2.I.l4)

Rz,eRz,tn = Rz,e+'l>

(2.I.lS)

which together imply


(2.1.16)

Similarly the basic rotation matrices representing rotations about


the x and Y axes are given as (Problem 2-5)

Rx,B=

a cosS
a sinS
a

[
-sinS

(2.1.17)

cosS

COSS

Ry,B =

-s~ns]

SinS]

(2.1.18)

a cosEl

which also satisfy properties analogous to (2.1.14)-(2.1.16).


We may also interpret a given rotation matrix as specifying the
orientation of the coordinate frame ox lY lZ I relative to the frame
oXoYoZo. In fact, the columns of R6 are the direction cosines of the
coordinate axes in OXIYIZ1 relative to the coordinate axes of OXoYoZo.
For example, the first column (il'io,ido,il'ko)T of R6 specifies the
direction of the x I-axis relative to the OXoYoZo frame.

(ii)

Example 2.1.2

Consider the frames OXoYoZo and OXIYIZI shown in Figure 2-3. Projecting the unit vectors il,jl, k 1 onto io,jo, k o gives the coordinates of
idl' k l in the OXoYoZo frame. We see that the coordinates of i 1 are

~ ,O,~)T,

~2

~2

the coordinates of jl are ( .~ ,a,

V2

-~

V2

)T and the coordinates of

k 1 are (a, I, O)T. The rotation matrix R specifying the orientation of


OXIYIZI relative to OXoYoZo has these as its column vectors, that is,
1

R6=

Ii
a
1

-,=- 0

'2
0

-1

a
Ii ..)2

(2.1.19)

37

ROTATIONS

FIGURE

2-3

Defining the relative orientation of two frames.

A third interpretation of a rotation matrix R E SO (3) is as an


operator acting on vectors in a fixed frame OXoYoZo. In other words, instead of relating the coordinates of a fixed vector with respect to two
different coordinate frames, the expression (2.1.10) can represent the
coordinates in OXoYoZo of a point PI which is obtained from a point Po
by a given rotation.

(iii)

Example 2.1.3

The vector Po=(I,I,O)T is rotated about the Yo-axis by ~ as shown in


Figure 2-4. The resulting vector P I is gi ven by
PI

(2.1.20)

R n Po
Y'l

o = [0]
[-1001][1]
0 0 0
-1
1

2.1.1 SUMMARY
We have seen that a rotation matrix R
three distinct ways:

50(3) can be interpreted in

1. It represents a coordinate transformation relating the coordinates of a point p in two different frames.

38

RICII) MOTIONS AND HOMOGENEOUS THA'IISFOH'\1ATIONS

/
/

FIGURE

2-4

Rotating a vector about


an axis.

2. It gives the orientation of a transformed coordinate frame with


respect to a fixed coordinate frame.
.

3. It is an operator taking a vector P and rotating it to a new vector R P


in the same coordinate system.
The particular interpretation of a given rotation matrix R that is being
used must then be made clear by the context.

2.2 COMPOSITION OF ROTATIONS


In this section we discuss the composition of rotations. It is important
for subsequent chapters that the reader understand the material in this
section thoroughly before moving on. Recall that the matrix R~ in
equation (2.1.6) represents a rotational transformation between the
frames OXoYoZo and OXIYlZJ' Suppose we now add a third coordinate
frame OX2Y2Z2 related to the frames OXoYoZo and OXlYIZI by rotational
transformations. A given point P can then be represented in three
ways: Po, PI, and P2 in the three frames. The relationship between
these representations of P is

Po

I
= ROPl

(2.2.1)

Po = R OP2

(2.2.2)

R ip2

(2.2.3)

PI =

where each R: is a rotation matrix. Note that R ~ and R ~ represent rotations relative to the OXoYoZo axes, while R ~ represents a rotation relative to the ox IY lZ I frame. Substituting (2.2.3) into (2.2.1) yields
I

Po = R o R tP2

(2.2.4)

39

COMPOSITION OF ROTATIONS

Comparing /2.2.2) and (2.2.4) we have the identity

R o2 = R OI R 21

(2 .2.5 )

Equation 2.2.5 is the composition law for rotational transformations.


It states that, in order to transform the coordinates of a point P from its
representation P2 in the OX2Y2z2-frame to its representation Po in the
oXoYoZo-frame, we may first transform to its coordinates PI in the
ox IY IZ I-frame using R and then transform PI to Po using R ~ .
We may interpret Equation 2.2.4 as follows. Suppose initially that
all three of the coordinate frames coincide. We first rotate the frame
OXIY\Zl relative to oXoYoZo according to the transformation
Then,
with the frames OXIYIZt and OX2Y2Z2 coincident, we rotate OX1J'lZl relative to ox iY IZ I according to the transformation R In each case we
call the frame relative to which the rotation occurs the current frame.

R6.

i.

(i)

Example 2.2.1

Henceforth, whenever convenient we use the shorthand notation


Ca = cosS , 5a = sinS for trigonometric functions. Suppose a rotation matrix R represents a rotation of <l> degrees about the current Y-axis followed by a rotation of S degrees about the current z axis. Then the matrix R is given by
(2.2.6)

cq>ca

-Cill5a 50]

Sa

Ca

-Sq>Ce

Sq>Se

Cq>

It is important to remember that the order in which a sequence of rotations are carried out, and consequently the order in which the rotation matrices are multiplied together, is crucial. The reason is that rotation, unlike position, is not a vector quantity and is therefore not
subject to the laws of vector addition, and so rotational transformations
do not commute in general.

Iii)

Example 2.2.2

Suppose that the above rotations are performed in the reverse order,
that is, first a rotation about the current z-axis followed by a rotation
about the current y-axis.
~~NEMERIT UHN'EIIlllO'""'A'.'_W-"

A7 ~J.IU.O.9Cl'."""

40

RIGID MOTIONS AND HOMOGENEOUS TRANSFORMATIONS

Then the resulting rotation matrix is given by


(2.2.7)

0]

ce -Se
[Cll>
S<I>]
Se Ce 0
0 1 0

-s<I>

clj)

Comparing (2.2.6) and (2.2.7) we see that R ::F- R '.


Many times it is desired to perform a sequence of rotations, each
about a given fixed coordinate frame, rather than about successive
current frames. For example we may wish to perform a rotation about
the Xo axis followed by a rotation about the Yo (and not YI!) axis. We
will refer to oXoYOZo as the fixed frame. In this case the above composition law is not valid. It turns out that the correct composition law in
this case is simply to multiply the successive rotation matrices in the
reverse order from that given by (2.2.5). Note that the rotations themselves are not performed in reverse order. Rather they are performed
about the fixed frame rather than about the current frame.

(iii)

Example 2.2.3

Suppose that a rotation matrix R represents a rotation of <1> degrees


about the Yo-axis followed by a rotation of 8 about the fixed zo-axis.
Refer to Figure 2-5. Let Po, PI, and P2 be representations of a vector p.

FIGURE 2-5
Composition of rotations.

41

COMPOSITION OF ROTATIONS

Initially the fixed and current axes are the same, namely oXoYoZo, and
therefore we can write as before
Po

= RY,4>PI

(2.2.8)

where Ry,lj> is the basic rotation matrix about the Y-axis. Now, since
the second rotation is about the fixed frame oXoYoZo and not the
current frame ox IY \Z I, we cannot conclude that
PI = R z ,eP2

(2.2.9)

since this would require that we interpret Rz,a as being a rotation about
ZI. In order to use our previous composition law we need somehow to

have the fixed and current frames, in this case Zo and Z I, coincident.
Therefore we need first to undo the previous rotation, then rotate about
Zo and finally reinstate the original transformation, that is,
PI = R Y ,-i!R z ,eR y,lj>P2

(2.2.10)

This is the correct expression, and not (2.2.9). Now, substituting


(2,2.10) into (2.2.8) we obtain
Po = RY ,4>Pl

(2.2.11)

= R y ,lj>R y ,-lj>R z ,a R y,lj>P2


= Rz ,eR y,cbP2

It is not necessary to remember the above derivation, only to note by

comparing (2.2.11) with (2.2.6) that we obtain the same basic rotation
matrices in the reverse order.
We can summarize the rule of composition of rotational transformations by the following recipe.
Given a fixed frame oXoYoZo, a current frame oX IY IZ I, together with
rotation matrix R6 relating them, if a third frame OXIYIZ2 is obtained
by a rotation R ~ performed relative to the current frame then postmultiply R by R ~ to obtain

( 2.2.12 )
R o2 = R oI R 2I
If the second rotation is to be performed relative to the fixed frame then
premultiply R 6 by R ~ to obtain
2 = R 2I R 1
Ro
o

(2.2.13 )

In each case R ~ represents the transformation between the frames


oXoYoZo and OX2Y2Z2. The frame OX2Y2Z2 that results in (2.2.12) will be
different from that resulting from (2.2.13).

2.2.1 ROTATION ABOUT AN ARBITRARY


AxIS
Rotations are not always performed about the principal coordinate
axes. We are often interested in a rotation about an arbitrary axis in
space. Therefore let k = (k x , k y , k z )T, expressed in the frame OXoYoZo, be

42

RIGID MOTIONS ANU HOMOCENEOlJS TRANSFORMATIONS

a unit vector defining an axis. We wish to derive the rotation matrix


R k,e representing a rotation of e degrees about this axis.
There are several ways in which the matrix Rk,e can be derived.
Perhaps the simplest way is to rotate the vector k into one of the coordinate axes, say Zo, then rotate about Zo by e and finally rotate k back
to its original position. Referring to Figure 2-6 we see that we can rotate k into Zo by first rotating about Zo by -a, then rotating about Yo by
- p. Since all rotations are performed relative to the fixed frame
oXoYoZo the matrix Rk,e is obtained as
(2.2.14)
From Figure 2-6, since k is a unit vector, we see that

ky

sin a = --==---,-

-Vk x2 +1{2Y

kx
cos a = --====-

-Vk;+k;
sinp=-Vk;+k;
cosp = k z

FIGURE 2-6
Rotation about an arbitrary axis.

(2.2.151

4:1

FI IlTllt;1\ .PltO".Id(Tlt~,'1 OF RnT.... THJi'\S

Substituting i2.2.l51 intu (2.2.14) we obtain after somt: lengthy calculation {Problem 2-10)

k;v,+co

Rk,iJ

kxkyve-k"so k'k'V'+k,s01
kiV~ftC(l k r 1<?ve- k X so
= 1<.,..1<.y V O+k"S6

k x1<.?vo-kys o k).k z vo+k.t~e

when~ Vij

= vcrs I = I -

12.2.16)

k;ve+co

Co.

2.3 FURTHER PROPERTIES OF


ROTATIONS
The nine elements [Ii in a general rotational transformation R as in
12.1.7) are not independent quantities. Indeed a rigid body possesses at
most three rotational degrees-of. freedom and thus at most three quantities are required to specify its orientation. In this section we derive
three ways in which an arbitrary rotation can he represented using only
three independent qu.1nrities. The first is the axis/angle representation.
The second is rhe Euler Angle representation and the thjnl is the rollpitch-yaw representati()n.

2.3.1 AXIS/ANGLE REPln:SENTATION


A rotation matrix R E SO(~) can always be represented by a single rota
tion about a suitable axis in space by a suitable angle as

R =R k"

12.3.11

where k is a unit vector defining the aXIs of rotation, and e is the angle
of rotation abollt k. Equation (2.3.1l is called the axis-angle representation of R. Given an arbitrary rotation matrix R with components (rrll,
the equivalent angle e and equivalent axis k are given by the expressions [21

e=cos-'i TriRI-l l
2

= cos

12.3.2)

'I rll+rn+rJj
- II
2

where Tr denotes the trace of R, and

k=

2s~e

r32 r
- 2.1]
TU-TJl

12.3.3)

T21- T J2

The aXis/angle representation is nut unique since a rotation of -9 about


- k is the same as a rotation of e about k, that is,
Rk,a =

k,-9

(2.3.41

-14

RIGID MOTIONS AND HOMOGENEOUS TRANSFORMATIONS

Ii 8 = 0 then R is the identity matrix and the axis of rotation is


undefined.

(i) Example 2.3.1


Suppose R is generated by a rotation of 90 about 20 followed by a rotation of 30 about Yo followed by a rotation of 60 about xo. Then
(2.3.5)

R = Rx,60Ry,30Rz,90

0
I
-

2
13
2

13
2
13
4
I
4

2
3

-4

13
4

We see that Tr(R) = 0 and hence the equivalent angle is given by (2.3.2)
as
(2.3.6)
The equivalent axis is given from (2.3.3) as
III
1
k = (13 ' 213 -2:' 213

IT

+2:)

(2.3.7)

The above axis/angle representation characterizes a given rotation by


four quantities, namely the three components of the equivalent axis k
and the equivalent angle 8. However, since the equivalent axis k is
given as a unit vector only two of its components are independent. The
third is constrained by the condition that k is of unit length. Therefore,
only three independent quantities are required in this representation of
a rotation R. We can represent the equivalent angle/axis by a single
vector r as
r = (r x , ry , rz f = (8Z<x , 8k y , 8k z f

(2.3.8)

Note, since k is a unit vector, that the length of the vector r is the
equivalent angle 8 and the direction of r is the equivalent axis k.

2.3.2 EULER ANGLES


A more common method of specifying a rotation matrix in terms of
three independent quantities is to use the so-called Euler Angles. Consider again the fixed coordinate frame oxoYOZo and the rotated frame
OX'YIZj shown in Figure 2-7.
We can specify the orientation of the frame oX IY IZ I relative to the
frame oXoYOZo by three angles le,~, ",I, known as Euler Angles, and obtained by three successive rotations as follows: First rotate about the Z
axis by the angle~. Next rotate about the current Y axis by the angle e.

45

FURTHER PROPERTIES OF ROTATIONS

\
\

IJ
\

\
\
\
\

---------8---IJ

FIGURE 2-7
Euler angle representation.
Finally rotate about the current z by the angle \jI. In terms of the basic
rotation matrices the resulting rotational transformation Rb can be generated as the product
(2.3.9)

r~: ~:. ~] [~a ~ ~a] [:: ~s~~ ~]


lo a

=
[

- Sa

a ca a a

Cq>cac'I'-S,p'l' - cq>ces'I'-s",c'I'

Clbsa]

s<l>cac'I'+c<l>s'I'

-s<l>ceS'I'+cq>c~

sq>sa

SoS"

Ce

-SOcl/I

In Chapter Four we study the inverse problem of finding the Euler Angles (8,$,'1'1 given an arbitrary rotation matrix R.

2.3.3 ROLL, PITCH, YAW ANGLES


A rotation matrix R can also be described as a product of successive rotations about the principal coordinate axes Xo,Yo, and Zo taken in a
specific order. These rotations define the roll, pitch, and yaw angles,
which we shall also denote $,8,'1', and which are shown in Figure 2-8.

46

RH;IO MOTIONS AND HOMOGENEOUS TRANSFORMATIONS

Roll

Yaw

Yo
Pitch

FIGURE 2-8
Roll, pitch and yaw angles.

We specify the order of rotation as x-y-z, in other words, first a


yaw about the xo-axis through an angle 'V, then pitch about the Yo-axis
an angle 8, and finally roll about the zo-axis an angle <1>. Since the successive rotations are relative to the fixed frame, the resulting transformation matrix is given by
(2.3.10)

=
[

C'il ce

-s~cljI+ c$seS IjI

S$Ce

C~CIjI+S~SeSljI

- C$SIjI+S $SeCIjI

-Se

CeSIjI

CeCIjI

S$SIjI+C$SeCIjI

Of course, instead of yaw-pitch-roll relative to the fixed frames we


could also interpret the above transformation as roll-pitch-yaw, in that
order, each taken with respect to the current frame. The end result is
the same matrix (2.3.10).

2.4 HOMOGENEOUS
TRANSFORMATIONS

Consider now a coordinate system IX IY IZ 1 obtained from 0oXoYoZo by


a parallel translation of distance Id I as shown in Figure 2-9. Thus
io,jo,k o are parallel to idl,k l, respectively. The vector dci is the vector
from the origin 00 to the origin I expressed in the coordinate system

oXoYoZo

47

HOMOGENEOUS TRANSFORMATiONS

Yo

FIGURE 2-9
Translated frame.

Then any point P has representation Po and PI as before. Since the


respective coordinate axes in the two frames are parallel the vectors Po
and PI are related by
(2.4.1 )

or

POx = P I x+ d 6x

(2.4.2)

POy = Ply + d 6y
POz

= Plz + d6z

The most general relationship between the coordinate systems


0oXoYoZo and 0tX1YIZI that we consider can be expressed as the combination of a pure rotation and a pure translation, which is referred to

as a rigid motion.

(i)

Definition 2.4.1

A transformation
Po = RPI + d

(2.4.3)

is said to define a rigid motion if R is orthogonal. Note that the


definition of a rigid motion includes reflections when detR = -1. In
our case we will never have need for the most general rigid motion, so
we assume always that R E SO (3).
If we have the two rigid motions
(2.4.4)

and
(2.4.5\

then their composition defines a third rigid motion, which we can

-!-8

RIGID MOTIONS AND HOMOGENEOUS THAI'SFORMATIO:,/S

describe by substituting the expression for PI from (2.4.5) into (2.4.4).

Po =

R6 R ~P2 + R6d~ + dJ

(2.4.6)

Since the relationship between Po and P2 is also a rigid motion, we can


equally describe it as
2

Po = R OP2 + do

(2.4.7)

Comparing equations (2.4.6) and (2.4.7) we have the identities


2

Ro=ROR t
2
d 0+
I
R 0I d 2I
d 0=

(2.4.8)
(2.4.9)

Equation 2.4.8 shows that the orientation transformations can simply


be multiplied together and Equation 2.4.9 shows that the vector from
the origin 00 to the origin 01: is the vector sum of the vectors dJ from
00 to a I and the vector R 6d I from a I to 02 expressed in the orientation
of the coordinate system 0oXoYozo.
A comparison of this with the matrix identity

R oI d 0I] [R 2
[R 0I R 2
1 d 2]
I
I
[o 1
0 1 =
0

(2.4.10)

where 0 denotes [00 OL shows that the rigid motions can be represented
by the set of matrices of the form

[~ ~}

50(3)

(2.4.11 )

Using the fact that R is orthogonal it is an easy exercise to show that


the inverse transformation H- I is given by
(2.4.12)

Transformation matrices of the form (2.4.11) are called homogeneous


transformations. In order to represent the transformation (2.4.3) by a
matrix multiplication, one needs to augment the vectors Po and PI by
the addition of a fourth component of 1 as follows. Set

o [~o]

(2.4.13)

[~l]

(2.4.14)

P =

PI =

The vectors Po and PI are known as homogeneous representations of


the vectors Po and PI, respectively. It can now be seen directly that the

49
transformation i2.4.3) is equivalent
tion

to

the (homogeneou!'l matrix equa12.4.151

The set of all 4x4 matrices H of tlu; form i2.4.11J is denoted by


(31. 3 A set of basic homogeneous tr,msformatiom ,l!;enerati[]~ (3) is
given by

1 0
o1
TraI1s~,'J = o 0
o0

01

0 1
0 0
1 0
0 1

hi

~ T'""5, ...

-1000]
a I aa
001 c
000 I
IVLl61

for translation, amI

Ro!,. =

I~ ~~: ~];
:0:

IMy ,. =

0001

[_~'. ~ ~ ~];

Ro!.,o =

0001

I~ -~O ~ ~]
0001

{2.4.171

for rotation abuut tbe x,}' ,z axes respectively.


The mn,<:.t general hOlno,l!;cneous transformation tbat we will considt:r
may he written now as

n., s., "., <i,


n;. Sj' (I r dJ .
~n S 3 d'I' = lIz 5: a~ d: = 0 0 0 1

a a a

In tbe above equation

II

,2.4.18)

= In"ll J ,n" IT is

II

vector r,,pn.:!:>l:ndng the dircc-

tion of the (JIXI axis in the 0oXo>'OZo system, s= IS\,>,.,s:!' rcpn;scnts


the direction of the (} \Y I llXis, amI a = {a"jl, ,a.!)J repr~,!;cnts rhe din.:,c
tion of the 0IZ\ axis. Tile vector d = (dJt., cI,., (( 11 represents the vector
from the origin on to the origin 0\ expressed in the (1)XOYI)ZO frame.
The rationale behind the choice of letters n, s :md a is explained in
Chapter Three. NOTE,; The same ilHcrprcllllloll reKarding compo.. . i
cion and ordering of transformations hold.~ ;nr 4x4 hnmogeJlenu.~
transformations as lor 3x3 rOlatiOllS.

iii)

Example 2.4.2

Th~

homugencous uansfonnation matrix H that represents a rotation


uf a degrees abuut thc current x-axis followed by a translation of b
units along the current x-axis, followed by a translation of d units
J-rhc nlJlalinn 13) st.lnds (or Eudid~~n .-:ruup of onl~r 3.

50

RIGID MOTIONS AND HOMOGENEOUS TRA'ISFORMATIONS

along the current z -axis, followed by a rotation of


current z -axis, is given by

1 0 0 0
0 Co. -so. 0
0 So. Co. 0
0

about the

= Rotx,aTransx,b Transz,dRotz,e

e degrees

100 0
o10 0

100 b

ce -Se

(2.4.19)

o0
o0

se ce
1 0 0
001 0 o Old 0 0 1 0
000
1 000 1 0 0 o 1
1
Ce

-Se

case CaCe -so. -sad


SaSe SaCe Co.

Cad

The homogeneous representation (2.4.11) is a special case of homogeneous coordinates, which have been extensively used in the field of
computer graphics. There one is, in addition, interested in scaling
and/or perspective transformations. The most general homogeneous
transformation takes the form

R3X3

H-

[
f lx3

I d3X1
I I S Ixl

I TranSlation]
I
erspective I scale factor
Rotation

(2.4.20)

For our purposes we always take the last row vector of H to be (0,0,0,1),
although the more general form given by (2.4.20) could be useful for interfacing a vision system into the overall robotic system or for graphic
simulation.

2.5 SI(EW SYMMETRIC MATRICES


In this section we derive some further properties of rotation matrices
that are useful for computing relative velocity and acceleration
transformations between coordinate frames. Such transformations involve computing derivatives of rotation matrices. By introducing the
notion of a skew symmetric matrix it is possible to simplify many of
the computations involved.

(iii)

Definition 2.5.1

A matrix S is said to be skew symmetric if and only if

ST + S = 0

(2.5.1)

We denote the set of all 3x3 skew symmetric matrices by S5(3). If


S E SS (3) has components Sij , i, j = 1,2,3 then (2.5.1) is equivalent to
the nine equations

51
S,,+SjJ=O i,j= 1,2,3

12.5.2)

From /2.5.2) we see that s" = 0; tbat is, the diagonal terms of S are zero
and the off diagonal terms 5,] i~j satisfy 5,] = -SJ" Thus S contains only
three i.nd~pcndcnt entries and every 3x3 skew symmetric matrix has
the form
12.5.31

is:1 3-vector, we define the skew symmetric matrix

SIal =

a~
0

-Dr

liv)

"'1

0 -ax
-.,
ax

12.5.41

Example 2.5.2

The skew symmetric matrices SliJ, Sm, and S(k) tbat result when a
equals the unit normaJ vectOrs it j, and k, respectively, arc given by

OOO]

~0-10]

51il= OO-I;S[jl= [001]


0 OO;5Ikl= 1 00

o1 0

-I 0 0

12.5.;';)

0 0 0

An importam property possessed by the m:nrix Sial is linearity.


Thus for any vectors a and b belonging to m,l and scalars (l and 13 we
have

Slna+ ~bl = aSia).


Another

important

property

of

~51bl

Sial

is

that

12.5.6)
for

any

vecror

p = (P.. ,p},PzV

S(alp = axp

12.5. 71

where axp denotes the vectur cross product defined in Appendix A.


Equation 25. 7 can be verifi~d by direct calculation.
If R SO/3) and a,b are wCtors in lR J it can also be shown hy direct
c31culation that
R(axbj = RaxRb

12.5.8 1

Equatiun 2.$.8 is not true in general unless R is orthogonal. Equation


2..;.8 says that if we first rotate the vectors a and b using the rotation
:r,msformation R and then form the cross product of the rotated ycc
:0r!'> Ra and Ubi tht= result is the same as that obtained by flna iormlnf
::,~ cross product axb and lht=n rotating to R\axbJ.

-.)

RIGID MOTIONS AND HOMOCENEOUS TR,\'iSFOR:\'IATIO!XS

;:)-

For any R
that

50(3) and any b

IR3 , it follows from (2.5.7) and (2.5.8)

R5 (a)R Tb = R (a x RTb)

(2.5.9)

= (R a)x(RRTb)
= (R a) x b

since R is orthogonal

=5(R alb
Thus we have shown the useful fact that
R5(a)R T = 5(Ra)

(2.5.10)

for R E SO (3), a E IR3 . As we will see, (2.5.10) is one of the most useful
expressions that we will derive. The left hand side of Equation 2.5.10
represents a similarity transformation of the matrix 5 (a). The equation
says therefore that the matrix representation of 5 (a) in a coordinate
frame rotated by R is the same as the skew symmetric matrix 5 (R a)
corresponding to the vector a rotated by R.
Suppose now that a rotation matrix R is a function of the single variable e. Hence R = R (e) E so (3) for every e. Since R is orthogonal for
all e it follows that
R (e)R (e)T = I
(2.5.ll)
Differentiating both sides of (2.5.11) with respect to
rule gives
dR R (e)T R (e) dR T
de
+
de

=0

e using the product


(2.5.12)

Let us define the matrix


(2.5.13)

Then the transpose of 5 is


ST

= (dR R(e)T)T = R(el dR


de

de

(2.5.14)

Equation 2.5.12 says therefore that


5 + ST

=0

(2.5.15)

In other words, the matrix 5 defined by (2.5.13) is skew symmetric.


Multiplying both sides of (2.5.13) on the right by R and using the fact
that R T R = I yields
dR =SR(e)
de

(2.5.16)

Equation 2.5.16 is very important. It says that computing the derivative of the rotation matrix R is equivalent to a matrix multiplication
by a skew symmetric matrix S. The most commonly encountered situation is the case where R is a basic rotation matrix or a product of
basic rotation matrices.

53
Iv) Example 2.5.3
If R = R",e, the basic rotation matrix given by (2.1.171, then direct computation shows that

~ ~~ ~ [~
R'

0] :io1 00]

cos8 sinB
-sin8 -cos8
cos8 -SlOe :...0 -~ine cose

~ [~

(2.5.17)

01

0-1 , =S'il
,
1 0

Thus we have shown that


dR."
de

~ S{.JR
1 -",6

(2.5.18)

Similar computations show that

dRz,o
de

'=

51-kIR.

--,0

(2.5.19)

Ivi) Example 2.5.4


Let Rk,. be a rotation about the axis defined by k as in 12.2.161. It is easy
=- S (kl. Using thiS fact together with Problem 2-25
it fullows that
to check that S (kJ J

;2.5.20)
Other examples are given in the next section and also in Chapter Five.

2.6 ANGULAR VELOCITY AND


ACCELERATION
In the previous sections we derived exprtssions rdating position and
orientation of various cooruinate frClmes via the imrodul.:tion of homogeneous transformations. In this section WI.: disl:uss relative vdOCitics
a.nd accelerations in the same contt:xt.
Suppose that a rotation matrix R hi time varying, so that
R = R It J E SO (3) for every t E R. An argument identir.:al to the one in
the previous scction ~hows that the time derivative R(rl of R (1.1 is
given by
Ri'!~SI'!Ri'!

12,6,11

where the matrix Sft! is skew ~ymmetric. Nnw, since S(l) is skew
~\-mmctric, it can be represented as 5100(t II fnT a uniquc vector will.
This vector ro{t) is the angular velocity of the rotating frame with
~~spect to the fixed frame at time t.

RIGID MOTIONS AND HOMOGENEOUS THA~S"'ORMATlO"lS

54
(vii)

Example 2.6.1

Suppose t h at R (I
t

= RX,e(l}'

Then R' (t) -_ dR


dt

, compute dUSIng
'
IS
t he

chain rule as

, dR de .
R = de dt =eS(i)R(t)=S(ro(t))R(t)

(2.6.2)

where ro = ie is the angular velocity about the x -axis.


Suppose PI represents a vector fixed in a coordinate frame IX IY IZ I,
and the frame 0IXIYIZl is rotating relative to the frame 0oXoYoZo. Then
the coordinates of PI in 0oxoYoZo are given by

(2.6.3)

Po = R (t lpI
The velocity Po is then given as

(2.6.4)

Po = S (ro)R (t )Pl

= S(ro)Po = IDXpo
which is the familiar expression for the velocity in terms of the vector
cross product. Now suppose that the motion of the frame IX lY lZ I relative to 0oXoYozo is more general. Suppose that the homogeneous
transformation relating the two frames is time-dependent, so that

(2.6.5)
For simplicity we omit the argument t and the subscripts and superscripts on R 6 and dci, and write

(2.6.6)

Po = RPI + d
Differentiating the above expression using the product rule gives
Po =

RPI + d since PI

(2.6.7)

is constant

= S(ro)Rpl + d
=IDxr+v

where r = R PI is the vector from I to P expressed in the orientation of


the frame 0oXoYoZo, and v is the rate at which the origin 01 is moving.
If the vector PI is also changing relative to the frame IX lY lZ I then
we must add to the term v the term R (t )PI' which is the rate of change
of PI expressed in the frame 0oXoYoZo.
We may also derive the expression for the relative acceleration in the
two coordinate frames as follows. First, recall that the cross product
satisfies the product rule for differentiation (Appendix A)

d
dt

da
dt

db
dt

-(axb) = - x b + a x -

(2.6.8)

55

AODITION OF ANGUI.AR VELO\.lTIES

If we now rewrite Equation 2.6.7 as


Po -

it = RPI

(2.6.9)

=roXRPI
and differentiate both sides with respect to
Po -

we obtain

d = c:i> x R PI + ro x (R PII

(2.6.10)

= c:i>xr + roxlroxrl
Thus (2.6.10) may be written as
Po = c:i>xr + rox(roxr) + a

12.6.11)

where a is the linear acceleration. The term rox(roxr) is called the cen
tripetal acceleration of the particle. It is always directed toward the
axis of rotation and is perpendicular to that axis. The term c:i>x r is
called the transverse acceleration.
Again, if the vector PI is changing with respect to IX IY IZ I, the
above expression must be modified. In this case it is left as an exercise
to show that Equation 2.6.11 is replaced by

Po = c:i>x r + rox (roxr) + 2rox R PI + a

(2.6.12)

where a = RPI + d. The term 2roxRpi is known as the Coriolis acceleration.

2.7 ADDITION OF ANGULAR


VELOCITIES
We are often interested in finding the resultant angular velocity due to
the relative rotation of several coordinate frames. We now derive the
expressions for the composition of angular velocities of two moving
frames O\XIY1ZI and 02X2Y2Z2 relative to a fixed frame 0oXoYoZo.
Given a point P with representations Po, PJ, P2 in the respective
frames we have the relationships
I
dI
(2.7.1)
Po = RoPI + 0
2
d2
(2.7.2)
PI = R IP2 + I
2

Po = R OP2 + do

(2.7.3)

where as before
(2.7.4)
and
2
2 d I
(2.7.5)
d 0=
o+R o1 d I
As before, all of the above quantities are functions of time. Taking
derivatives of both sides of (2.7.4) yields

56

RIGID MOTIONS ANI) HOMOGENEOUS TRANSFORMATIONS

. 2

. 1

I' 2

RO=ROR J +RoR

The term

(2.7.6)

R~ on the left-hand side of (2.7.6) can be written


. 2

R o = 5( roo)R o

(2.7.7)

The first term on the right-hand side of (2.7.6) is simply

R~ R ~ = 5 (ro6)R 6R ~ = 5 (ro6) R ~

(2.7.8)

Let us examine the second term on the right hand side of (2.7.6). Using
the expression (2.5.10) we have

R~ R~ = R6Slror)R~

(2.7.9)

=R6 S(ror)R~TR6R~=S(R6ror)R6R~

=5(R6ror)R~
Combining the above expressions we have shown that

S(ro6)R~= 15(ro6) + 5(R6rorJlR6 R~

(2.7.10)

Since SIal + SIb) = S(a+b), we see that

roo2 = rooJ + R 01 ro 21

(2.7.11 )

In other words, the angular velocities can be added once they are expressed relative to the same coordinate frame, in this case 0oXoYoZo.
The above expression can be extended to any number of coordinate
systems. For example, if
n

Rg = R6 R~' .. Rn _ 1

(2.7.12)

then
(2.7.13)
where
1
R oro,
1 2
4
roon =roo+
+ R 02 0032 + R 03 003+'"

n
+ R 0n-l ron-l

(2.7.14)

REFERENCES AND SUGGESTED

READING
[11

BARNETT, S., Matrix Methods for Engineers and Scientists,


McGraw-Hill, London, 1979.

[2]

CHEN, Y.c., and VIDYASAGAR, M., "On the Axis-Angle


Parametrization of the Rotation Group and its Applications to
Robotics," preprint 1987.

57

PROBI.F."'S

131

CURTISS, M.L., Malrix Groups, Second Edition, Springer-Verlag,

New York, 1984.

l4J

FR1EDHERC, S.H., INSEL, A.J., and SPENCE, l.E., Linear Algebra,


Prentice-Hall, Englewood Cliffs, NT, 1979.

[5]

REDDY,

[6]

].N., and RASMUSSEN, M.L., Advdnced Engineerinx


Analysis, Wiley, New York, 1982.
SOKOLNIKOFF, LS., and REDHEFFER. R.M.,

Muthematical A1elhod"

of Physics and Modern Engineering, McCr.T''N-Hill, r\ew York,

1958.

171

WHITTAKER, LT., Dynamic., of jJmtic1e.'i and Rigid J)odies,


Cambridge University Press, London, 1904.

PROBLEMS
2-1

If R is an orthogonal matrix show that the column vectors of R


are of unit length and mutually perpendicular.

2- 2

If R is an orthogonal rna trix show that det R

2-3

Show that detR =+1 if we restrict ourselves to right-handed


coordinate systems.

2-4

V"ify Equatio", 2.1 14-2.1.10.

2-5

Derive Equations 2.1.17 and 2.1.18.

2-6

Suppose A is a 2x2 rotation matrix. In other words A T A = 1


and det A = 1. Show that there exists a unique El such that A is
of the form

1.

_ Icos8 -SinEl]
A - lsin8 cos8
.2-7

Find the rotation matrix representing a roll of : followed hy a


yaw of ~ followed by a pitch uf ; .

2-R

If the coordinate frame () jX 1Y 1Z I is obtained from the coordinate


frame 0oXoY(}2o by a rotation of ~ about the x-axis followed by
a rotation of ; about the fixed y-axis, find the rotation matrix
R representing the composite transformation. Sketch the initial
and final frames.

2-9

Suppost: that three coordinate frames


O,lXJY.lZ3 arc given, and suppose

,=

l{ I

1
2

..f;l

0-'
2

Find the matrix

0
';.3
2
-1
2

0IXLJ'IZ1, 0lX::'Y2Z2,

anu

a
U;= fao 01 -1]
loa

Ri.

2-10

Verify Equation 1.2.16.

2-11

If!{ is a rotation marrix show that +1 is an eigenvalue of R. Let


k be a Lmit eigenvector corrcsponding to the cigenvalue + 1.

Give a physical interpretation of k.

2-12

Letk=-!:..O,l,I)T,8=.90". Find Rkfl .

2-13

Show by direct calculation that Rk,A given by 12.2.16) is cqual to


N. given by 12.3.5) if e and kart: givcn hy (2..1.6) and 12.3.7),
respectively.

2-14

Suppose R represents a rotation of 90(.1 about Yo followt:d by a


rotation of 45<J about Z L' Find the t:4uivalcnt axis/angle t'O
represent R. Sketch the initial and fina.l frames and the
equivalent axis vector k.

2-1 :S

Find the rotation matrix corresponding to the set of Euler angles

"';l

I~

,0,:

I.

What is the direction of the

XI

axis rdative to the

hase frame?
2-16

Compute the homogeneolLs transformation representing a


translation of 3 units along the x-axis followed by a rotation of

~ about the current zaxis followed by a translation of I unit


along the Axed y-axis. Sketch the frame. Wh~il arc the c(xmlinatCS of the origin 01 with respect to the nri~inat frame in each
case?
2-17

ConsiJt:l the diagram of Fi&urt: 2-10. Find the humogeneous


i
transfunnations HO , H & HI rt:presenting the transformations
among the three frames shown. Show that H = H ~ H

f.

59

"RIlRI.F:\IS

"
FTGURE 2-10
Diagram for Problem 2-17.

2-18

Consider the diagram of Figure 2-11. A robot is St.'t up I mt:ter


from a tahle, two of whose legs arc on the Yo axis <IS shown.
The table top i~ 1 meter high and I meter 5(Juart:. A framt:
OjX'Y1Zj is fixed to the edge of the table: as shown. A cube
measuring 20 cm on a side is placed in tbt: center of the table
With frame 02X1Y2Z1 establisht:d at tht: centt:r of the cube ,IS
shown. A camera is situat(,;J Jin:ctly ilbove: the center of rhe
block 2 m above the tJ.blc tOp with iral11t' 0 .~"(;r;=.; <inri-ched as
shown. Find the homogi,;ni,;ou~ tran~iormati()ns reLmng e.lcb of
tbest:: frames to the base ir:nne Ol)x,),t'ozc. find Ihe homogeneous
transformation rdating the irame O!X!}'!Z! to the camera. fmme
03 x 3Y3 z 3

2-19

In Problem 2-18, suppose that, after the camt:ra is calibrated, it


is rotated 90 about the axis Z,3' Rewmpute the above coordinate transfonuations.

2-20

If the block on the table is rotated 90 degrees about the axis Z2


and moved so that its center has coordinates iO,.8,.11l' relative to
tht frame: 0lX IY)Z I, cumpute the homogeneous transformation
relating the block framt.: to the camera frame; the block frame
to the base frame.

1-21

Verify Equation 2.5.7 by direct calculation.

1-22

Prove assertion

2-2.~

Suppose that a = (1 , -1 ,2)1' and that R


caJcuJation that

12.s.~)

that R (axbl

== R axR

RSlajR T djRaJ

b, for R

= R x 'Xl,

'

5013).

Show by direct

60
camera

"

1m

~""':::'~-----,------r/Table

"

FIGUHF. 2-11
Diagram [or Prohlem 2-18.

224

Given R~

:=

Evaluate

R.1 ,&N)",{J, computt:

~= ~.
2-25

oR;
o~

al

6=2'

Usc E4U3tiun 2.2.16 to shuw that


R k,8 "" I + S(klsin(ij) + S2(k)vt=rs(A)

2-26

Vt:rify (2.5.19J by llirecl C<llcubtion.

1-27

Show thit S{kp =-Stkj. Use this and Problem 225 to verify
Equation 2.5.20.

228

Given any square matrix A, the expont::ntlal of A is a matrix


dcfin~d

as
e'~ =/ +A

1 1 +_A
1 3 -r
+_A
2

e5

3!

Given S E SS(3/ show that


e SO(3).
{Hint: Verify the facts that e'~ell =e A1B provided that A and 8
commUte, that is, AB =- BA, and also that detle A J = e'1:A ~.J

61

PH()UL~'M;;

2-29

Show that R k,lJ = e S1k !9.


[Hint: Use the serics exp,msion for the matrix exponential together with Problems 2-25 and 2-27. Alternatively use the fact
that R),. satisfies tbe differential equation
dR = SlklR

dB

2-30

US~

R
2-31

Problem 2-29 to show the converse of 2-28, that is, if


E SSj31 sllch that R = e\'.

sot,,) tben there exists S

Given the Euler an,l;le transformation


R = N.~,,,,R.I'.I+'\~,C!

show th.:1t

Cit R = S (wlR

where

ro = lc ..~~ - s~eli + Is"s6~+c ~elj + lo/+co4>lk.


The components of i,j,k, respectively, arc called thc nutation,
spin, and precession.
2-32

Repeat Problem 2.;.H for the Roll-PilchYaw transfonnation. In


other words, find an explicit expression for 00 slich that
:, R = SIw)R, where R is given by (2.3.101.

2-33

Two frames Of)XoYoZo and


geneous uansformation

O,XIYIZl

are related by the homo-

H=I!n~Jj;
000 I

A particle has velocity vdt) = (,'l,I,OlT relative to framc


What is the velocity of the partidc III frame

0lX1YJZI.
OnxuYOZo?

234

Three frames 0I)XoYOZo, O.XIY1Zl, and O!X1J'2Z2 are givcn below.


If the angular velocities (J)~ aud wi are given as

what is the angular velocity

R,; J~
l~

005 at th~ instant when

~ ~l]
I 0

CHAPTER THREE

FORWARD I<.INEMATICS:
THE

DENAVIT-HARTENBERG
REPRESENTATION
In this chapter we develop the forward or configuration kinematic
equations for rigid robots. The forward kinematics problem can be
stated as follows: Given the joint variables of the robot, determine the
position and orientation of the end-effector. The joint variables are the
angles between the links in the case of revolute or rotational joints,
and the link extension in the case of prismatic or sliding joints. The
forward kinematics problem is to be contrasted with the inverse
kinematics problem, which is studied in the next chapter, and which
can be stated as follows: Given a desired position and orientation for
the end-effector of the robot, determine a set of joint variables that
achieve the desired position and orientation.

3.1 KINEMATIC CHAINS


For the purposes of kinematic analysis, one can think of a robot as a set
of rigid links connected together at various joints. The joints can either
be very simple, such as a revolute joint or a prismatic joint, or else they
can be more complex, such as a ball and socket joint. (Recall that a revolute joint is like a hinge and allows a relative rotation about a single
axis, and a prismatic joint permits a linear motion along a single axis,
namely an extension or retraction.) The difference between the two situations is that, in the first instance, the joint has only a single degree-

62

of-ut!edoOl of motion: the angle of rotation in the ease of a revolute


joint, and the amount of linear displacement in the case of a prismatic
joint. In COntrast, a h311 and socket joint has two dcgn:cs-of-frcedom.
III this book it is assumed througbout that all joints bave only a single
l1e~ee-offreedom. Note that the assumption does not involve any real
loss of generality, since joints such as a ball and socket joint (twO
def.;reesofheedom) or a spherical wrist ithree degrees-of-freedom) can
always be thought of as a slicceSSlOn of single degree-of-freedom joints
with links of length zero in between.
With the assumption that each joint has a single dt!gree-of-freedom,
the action of each joint can be descrihed by a single real number; the
angle of rot.atiun in the case of :l revolute joint or the displacement in
the case of a prismatic joint. The nhjcctive of forward kmematic
analysis is to detennine the cumulative effect of tbe entiJ"e set of juint
variables. To do this in a systematic m:mner, one should really introduce some conventions. It is of course possible to carry out forward
kinematics analysis even without re~pccting these conventions as we
did for the two link planar examplc in Chaptcr One. However, the
kinematic analysis of lID n link manipulatOr is extremely complex and
the conventions introJuc.:ed below simplify the equations considerably.
Moreover, they give rise to a universal language with which robot engineer!> can communicate.
Suppo!>e a rohot has n+1 links numbered from 0 to n slarting from
the base of the rohot, which is taken as link O. The ;aims are numbered from 1 to n, and The j -th joint is the point in sp:at.:e where links
i-I and i arc connected. The jth joint variable. is dcnon.:d by q,. In
the case of a revolute jOlOt, q, is the angle of rotOltion, and in lhe t.:as\,. of
a prismatic joint, qJ is the joint displacement. Next, a coonliJulte frame
is attached rigidly to each link. To he specific, we attach an int:rtial
frame to the hase and call it frame O. Then we choose frames 1 through
n such that frame i is rigidly 3uached to link i. This means that,
whatever motion the roOOt executes, the coordinates of each point on
link i arc constant when expre!\!\ed in the j th coordinate frame. Figure
3-1 illustrates the idea of attaching frames rigidly to links in the case of
an elbow manipulator.
uw suppose AI is the homogeneous matrix that transforms the
coordinates of a point from fTamc i to frame i-l. The matrix Al is not
constant, but varies as the configuration of the robot is changed.
However, the assumption that all joints are either revolute or prismatic
means that A j is a function of only a single joint variable, namely q,.
in other words,
Aj

A,{qj 1

13.1.11

:\:ow the homogeneous matrix that transforms the coorJinat~ of a


point hom frame j to frame i is called, by convention, a transformation
matrix, and is usually denoted by T~. From Chapter 2 we see that

TI "" A'!~i'2 ... Ai_.Aiifj<i

Link 1

'1

Joint I

base(lInItO)

"
FIGURE 3-1
Coordinate frames attached

to

elbow manipulator,

T~-ljfj-j
T~

_ lTi)

if j

13.1.2)
:>

Ry the manner in which we have rigidly attached the various frames


to the corresponding links, it follows that the position of any point on

the cnd-effectOr, when expressed in frame n, is a constant independent


of the configuration of the robot. lJenote tbe position and orientation
of lh~ rmd-dfector with respect to the inertial or hase frame by a three-Vector d; and a 3x3 rotiltion matrix R~, respectively, and define the
homogeneous matrix
(3.1.3)

Tben the position and orientation of the cnd-effector in the im:rtial


frame are given hy
13.1.4)

65

DEl'iA\'IT_HAII'1 FJ';HEHI; RF.PI(I;"F."'T,\TI~I""

EllCh homogeneous transformation A, is of the (onn

Ai

R,:,
[0

13,1.51

Hence

T; A,., "A,

[RO; dij

(-'.1.61

The matrix R~ expresses the orientation of frame j relative to frame i


and is given by the rot<ltional parts of the A -matrices as
i.11
R1_R
,
,

i3.1. 7)

The vectors d~ are given recursively by the formula


R H,4
,
d ', d i-I
,.j.
, ' ' ' ' -I

1-'1.8)

These expressions will he useful in Chapter Five when we study Jacobian matrices.
In principle, that is all tbcre is to forward kinematics! Determine
the functions A;(q,J, and multiply tb~m together as needed. However,
it is possible tu achieve a considerable amount of streamlining and
simplification by introducing furth~r conventions, such as the
Denavit-Hanenberg repr~scntation of a joint, and this is the objective
of the remainder of the chapter.

3.2 DENAVIT-HARTENBERG
REPRESENTA.TION
While it is possible to carry Out all of the analysis in this chapter using
an arbitrary frame attached to each link, it is helpful to be systematic
in the choice of these frames. A comm~mly used convention for selecting frames of reference m robotic applications is the
Denavit-Hartenbcrg, or D-H convention. In this convention, each homogeneous transformation Ai is represented as a product of four
"basic" transfonnations
Ai

= ROl z .t1

01 ~I a


-So.

[C's&,
0

c,,

1.>.211

Traw'c,d. Tram'x,ll, H.ol",a,


l

0]

a'll

0
c

0010
0 0 110100
0
I OOOld,OOIOO s"
1 00 0 1 0 0 0 1 0

0
-So.

~]

Co, -so, Co,

So, Sa,

Of Ce,

Se,

Ceo Cn,

-Ce,Su,

S"

Ca.

(I,

Sa,

d;

where the four quantities 8" a" d j , O:j .He parameters of link i anu joint
i. The various parameters in (3.2.1 J are generally given th~ fuUuwing
names: OJ is called the length, Ctj is called the twist, d j is caIted the
offset, and 8; is called the angle. Since the matrix A, is a function of a
single variable it turns out that three of the above four quantities are
constant for a given link, while the fourth parameter, 81 for a revolute
joint and d j for a prismatic joint, is the joint variable.
From Chapter Two one can see that an arbitrary homogeneous rna
trix can be characterized by six numbers, such as, for example, the
three components of the displacement vector d and three Euler angles
corresponding to the rotation matrix R. In the D-H representation, in
contrast, there are only four parameters. How is this possible? The
answer is that, while frame j is required to be rigidly attached to link i,
we have considerable freedom in choosing the origin and the coordinate
axes of the frame. For example, it is not necessary that the oriKin 0i of
frame i should correspond to ioint i or to joint i -+ I, that is, to either
end of link i. Thus, by a clever choice of the origin and the coordinate
axes, it is possible to cut down the number of parameters needed from
six to four jor even fewer in some cases). Let us see how this can be
done.
We begin by determining just which homogeneous transformations
can be expressed in the form 13.2.1). Suppose we are ,l!;iven twO frames,
denoted by frames 0 and I, respectively. Then there exists a unique homogeneous transformation matrix A that takes the coordinates from
frame 1 into those of frame O. Now suppose the tWO frames have two
additional features, namdy:

i DH 1 J

The axis x I is perpendicular to the axis z 0

tDH2J The axis Xl imerst:ccs the axis Zo


as shown in Figure 3-2. Under these conditions, we claim that there
exist unique numbers a, d, 8, a such that

13.22)
Of course, since 8 and a are angles, we really mean that they arc unique
to within a multiple of 2lt.

Tn show that the matrix A can he written in this form, write A as


A

[~~]

13.2.31

67

DENAVIT-HAIITE:\IlERG REPHESENTATJO:\

and let rj denote the i -th column of the rotation matrix R. Referring to
Figure 3-2 we see that assumption (DHl) above means that the vector
r1 (which is the representation of the unit vector it in frame 0) is orthogonal to k o ~ [00 1f, that is, 131 ~ O. From this we claim that there
exist unique angles 9 and a such that

(3.2.4)

The only information we have is that r 31 ~ O. But this is enough. First,


since each row and column of R must have unit length, 131 ~ 0 implies
that
(3.2.5)

Hence there exist unique 9, a such that


(3.2.6)

Once 9 and a are found, it is routine to show that the remaining elements of R must have the form shown in (3.2.4), using the fact that R
is a rotation matrix.

,,
\

\
\

\ (1'
\

I
I
I

\
\

Zl

Zo

I
I
I

Xl

-------~--E_=~-------

Yo

FIGURE 3-2
Coordinate frames satisfying assumptions DH-l and
DH-2.

Next, assumption (DH2J means that the vector d - d 6(which is the


coordinate vector of the origin of frame I in terms of frame 01 is a linear
combination of ko and Ri,. Therefore, since (;31 _ 0, we can express d~
uniquely as

(3.271

Substituting R from (3.2.4) and d hom (3.2.7) into (3.2.4) we obtain


(3.2.1) as claimed.
Now that we have established that each homogeneous matrix satisfying conditions IDH1J and (DH2) above can be represented in the
form 13.2.1 J, we can in fact give a physical interpretation to each of the
four quantities in (3.2.1.1- The parameter a is the distance between the
axes Zo and ZI, aud is measured along the axis XI. The an~le a is the
angle between the axes Zo 3ud Zt, measured in a plane norma! to Xl'
The positive sense for a is determined from Zo to Z I by the right-hand
rule as shown in Figure 3...3. The parameter d is tbe distance between
the origin 00 and the intersection of the Xl axis with Zo measured along
the Zo axis. Finally, e is the angle between the Xo and x 1 axes measured
in a plane normal to the Zo axis.
It only remains now to show that, for a robot manipulator, one can
always choose the frames 0, ... ,n in such a way that the above twO conditions <He satisfied, provided one is willing to accept the possihility
that the origin 0; of frame i need not lie at ioint i. Recall tbe two conditions: (DH II Xi is perpendicular to Zi.j and (DH2) Xi intersects Zi_l' In
reading the material below, it is important to keep in mind that the

"
0,

:ri _ I

FIGl7RE 3-3
Positive sense for u, and

ai .

DENAVIT-HARTE:\"BERG REI'HI';SENTATIO:,\

69

choices of the various coordinate frames are not unique, even when
constrained by the requirements above. Once we have illustrated the
general procedure, we will discuss various common special cases where
it is possible to simplify the homogeneous matrix further.
To start, it is helpful to identify all of the joint axes and label them
ZO," . ,ZI1-1- Zi is the axis of revolution of joint i +1 if joint i +1 is revolute, and is the axis of translation of joint i+l if ioint i+l is prismatic.
Next choose the origin 00 of the base frame. This point can be chosen
anywhere along the Zo axis. Finally, choose xo, Yo in any convenient
manner so long as the resulting frame is right-handed. This sets up
frame O.
Now suppose frames 0, ... ,i -1 have been set up. To understand the
following it will be helpful to consider Figure 3-4. In order to set up
frame i it is necessary to consider two cases: (a) the axes Zi-l, Zi are not
coplanar, and (b) they are coplanar. If the axes Zi-l, Zi are not coplanar,
then there exists a unique line segment perpendicular to both such that
it connects both lines and it has minimum length. The line containing
this common normal to Zi-l and Zi is then defined to be Xi, and the
point where it intersects Zi is the origin 0i' Then by construction, both
conditions (DH1) and (DH2) are satisfied and the vector from 0i-l to 0i
is a linear combination of Zi-I and Xi' The specification of frame i is
completed by choosing the axis Yi to form a right-hand frame. Since assumptions (DH1) and (DH2) are satisfied the homogeneous matrix Ai is
of the form (3.2.1).

FIGURE

3-4

Denavit-Hartenberg frame assignment.

70

F()JI\\ .\I\1J !\.J.'E.\1ATlC~, TilE DEl'iAYIT-l1.\I\TEf\llEIH; HEI'I\E~E.~TYnON

Now consider case (b), that is, the axes Zj_l and Zi arc coplanar. This
means either that they arc parallel, or that they intersect. This situation is in fact quite common, and deserves some detailed analysis. If
the axes Zi_l and Zj arc parallel, there arc infinitely many common normals between them and condition (DH1) docs not specify Xj completely. In this case we choose the origin 0; to be at joint i so that Xi is
that normal from Z,-_j which passes through 0i' Note that the choice of
01 is arbitrary in this case. We could just as well choose the normal
that passes through 0'--1 as the Xi axis in which case eli would be equal
to zero. In fact, the latter choice is common in much of the robotics literature. Since the axes Zi 1 and Zj are parallel, u,- will be zero in this
case. Once Xj is fixed, y, is determined, as usual hy the right-hand rule.
Finally, consider the case where Z; intersects the axis Z;_I. In this
case Xj is chosen normal to the plane formed by
and Z;_l' The positive direction of Xi is arbitrary. The most natural choice for the origin
0, in this case is at the point of intersection of Zj and Z,_I. However,
any convenient point along the axis z; suffices. Note that in this case
the parameter (J, equals O.
This constructive procedure works for frames 0, ... ,11 -1 in an nlink robot. To complete the construction, it is necessary to specify
frame n. The final coordinate system 0nX"Y"Z" is commonly referred
to as the end-effector or tool frame Isee Figure 35!. The origin On is
most often placed symmetrically hetween the fingers of the gripper.
The unit vectors along the x"' y", and z" axes arc labeled as n, S, and a,
respectively. The terminology arises from fact that the direction a is
the approach direction, in the sense that the gripper typically approaches an object along thc a direction. Similarly the s direction is the

z,

Yo

FIGURE :~-5
Tool frame assigne1l1l1t.

CHAPTER FOUR

INVERSE I(INEMATICS
4.1 INTRODUCTION
In the previous chapter we showed how to determine the end-effector
position and orientation in terms of the joint variables. This chapter is
concerned with the inverse problem of finding the joint variables in
terms of the end-effector position and orientation. This is the problem
of inverse kinematics, and is, in general, more difficult than the
forward kinematics problem. The general problem of inverse
kinematics can be stated as follows. Given a 4x4 homogeneous
transformation
H

= [~

~]

(31

(4. t.l)

with R E SO (31, find (one or all) solutions of the equation


T 3(q I, ... , qn) = H

(4.1.2)

where
(4.1.3)

92