Download as pdf or txt
Download as pdf or txt
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 セ[ \YKY, by John Wile)' . Sons, Inc
:\1: セヲ|G Z ャ NQ|」Gョᄋセ イ 、・ィセゥャ オイ ケャウオッ」 ョャゥセ In Canada.
RcrmdllC'tl0n or ,r,Ulslil1;on 01 ,lOy Jl.,n ot
Zィ セ \\"urk hc)'ond ,hat permitted hy s.cctlons
Zoセ セGャu [Olluf the 1976 Unltcd !'Utcs Copynght
セi ".chout 11'\0: permissiun (lIth... copyriRht
HBLセNZイ iセ unlllwfu1. Rt."\jl1eSIS fur ョッゥウセ ュイエー
('I iセBィNZ イ inlQrmal,on should be addresH'J w
th.· jG」ョセャ ウ ュ ... tk[>.Illmt'llt.John Wil...y &. Suns,

LibnJT.l" of CunJ(TC!i.\ ellllllfiging in Publicdtlofl DOla:

セjGッョL[ :-1..!1.. W.
ROl-...l ,h-'l,lmtcs <lnu cuntrol/ M:lrk W ';Ilnng, M Vidya...;t.g.1f.

J roゥセMョB|ャュ」N 2. Rllho\:;-C"n\mL I. Nイ。ァ セ ケ、ゥv M.


GィLセZャ オォ ィ|。 BN{ II Tllk.
TI2l!." St't' ャケセY Iill·22724
629.8·92-J,; :)
'SHN xᄋセNB[GjHᄋ|イッ

I'rllllcd III the Uml...d Stales lJf Amctica

IJ 14 j5
PREFACE

The present age has been given many ャ\セ「」QウL 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 In-
vestigation mOTe than three hundred years ago, scient inc and technolo-
gical advancements heg.m [0 acceleratL' until, at the present timt:,
scientifh; knowledge is incIc'lsing at a phenomenal rate. This unpre-
cedemed explosion of knowledge and technological invention strains
the fabric of our political, educational, religious, and legal institutions
as they struggle to assimilate the 」ィ。ョセ」ウ 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 indus-
trial 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

eョセャゥウィ 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 el-
iminates some iubs in weldi.ng, machining, assembly line work, etc., it
also creates otht:r ions, such 。セ 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 イ・セ[オャエ 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 oc-
cupied 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 dev-
ices. 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 pro-
dllCC such a machine, this is one of the ultinute goals of robotics
research.
There have been many predictions made about thl.: future of the ro-
bOtic"" industry, such as that it will grow explosively into a tWO-

J Oxford u ョ ゥ | 」 イ ウ ゥ エ セ ᄋ l'rCS$, 1971,


!l'hc I;lllnc t1ictlOn;lry セ」ャb、 "aUlOffiatic" to mcan "'working of ゥエセ」ャヲN without direcl
humall aCluatllln."
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 hu-
mans. 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 ・ョセゥ 」・イ is beginning [Q
address tbe issues of how hest to automate manufacturing proceSSl·S
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 indus-
trial engineering with compulcI science, mathematics, and economics.
There is at present a critical sbonage of trained people with the cross-
disciplinary 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 eョァゥャ ・ iゥョセ
and tht: d・ー。イュQエセョ 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 stu-
dents who may have little or no exposure to the subjects uf kinematics
and 、ケョ\ャュゥ」セ 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, parti-
cularly 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.
x 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 la-
boratory 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 dynam-
ical systems and who have access to computational facilities to design
and simulate the advanced control algorithms presented. After cove-
ring the chapters on advanced control a graduate student should be
prepared to tackle the research literature on robot dynamics and con-
trol.
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 manipu-
lator Jacobian in the so-called cross product form and includes a discus-
sion of singularities. Chapter Six discusses dynamics.
We have found that many students at the senior level have little ex-
posure to Lagrangian dynamics, so we have made Chapter Six self-
contained 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 intro-
duce the reader to the idea of robust control. Chapter Nine discusses
force control, chiefly hybrid position/force control and impedance con-
trol, 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 ウケsエセュウN This is 3. recent and quite advanced concept in con-


trol 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 con-
venience. All calculations are performed in local coot<linates in /W1 so
that we avoid the need to introduce rigorom definitions of more ad-
vanced 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 theore-
tical 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 iLeョgGQセ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 En-
gineering 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 con-
tinued 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 piMャセZfL|HZセ

The initial discussions which cvcnw'llly led to this book began du-
ring the summer of 19R4 while both authors were in the Comrul Tech-
nolog)' Branl;h at General Elt:ctrk's Corporate Research am.I Develop-
ment 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 kイッセ「 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 discus-
sions on the robot control problem.
finally, wc would like to thank Christina Mediate, Joe Ford, and Mi-
chael Tung at John Wiley jor their patience and gllldance in the prepara-
tion of this text.

MARK W. s p o セ g
M. VIDYASAGAR
CONTENTS

CHAPTER OI\E, i |thouャNctioNセ 1


1.1 Jlllroduction
1.2 Ro/lOtiCS 1
1.3 Cotlll'oncllt$ and Structure of AセッャjイZN 4
1.4 l,OmmOlI Kinematic Arrangements H
1.5 Outline of ,he Text 21
References and sオセイZN・ウャ 、 UCdding 27
Problems 2CJ

CHAPTER Two, RI!:1D MOTlOI\S


AN 0 HOMO!: E:,/EOUS
TRANSFORMATIOI\S 32
2.1 rッオjエゥキャセG 33
2.2 Composition of Rotatious 38
1.:$ Furrher Propetlies of R{)fdUom 43
1.1, Homogeneous TU1J)s!ormat;omi 46
1.5 Skew Symmetric Marrke..'i 50
1.6 Angular Velocity and Acce1erarion 53

XIII
xiv

2. '; /lddition oj Angular Velucities


Reference'! and sャ ク ・セイ 、 Reading
Problems

CIiU'TF:R TIiHEE, FOIl.WMW


KII'(EMi\T1CS, TIiE OENAVIT-
H ARTF.I'(RF.H(; REPIl.ESE'<TATIO:,,/
:i.1 KilJetlwtic Chains
セNR Denavit-HOltenberg Represenla(jrH!
3.3 Example.,
References and Suggested Gセ・。、ゥャ ァ
Problems

CHAPTEH FOLIl., INVERSE


kjneIiN|t cセ 92

.,.,
I Immductiull
;1,. 1'2
4.1 KmemlllJC: Decollpling
+.3 fnver.'!e /)()Sltion: A Geometric Approach
-1-.4 Invene Orienration 102
References and Suggested Gセ・。、ゥャ ァ lOi
Problem'! <08

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


Kr<EMATICS- TilE
MA'<IPUIATOR JACORIi\N III
:i. 1 Dem:atiun of rhe Jacobian J 12
;).2 Examples IIi
Nェ セ Singularities II')
.j...t- ・セイ カョャ Velucity (/lulllcceleration 126
References and Suggested Reading -,
1·)-
Problems 128

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


fl. 1 Euler-Lagrange Equations 129
6.2 eクーイ・ウNセゥHIQ s fur Kineric lI/1d Potential Energy 136
63 Equatiom of Motion 141
11.4 Some Common ConfikUrations '44
(l.S Newwn-Euler Formulation 153
n.ll Planar Elbow MclnipulalOr Revisited 159
References and Suggested Reading Iti2
Problems I エゥZセ
contセZs xv

CHAPTER SEVEN: INDEPENDENT


JOINT CONTROL 167
7.1 Introduction 167
7.2 Actuator Dynamics 169
7.3 Set-Point Tracking 175
7.4 Drive Train Dynamics 183
7.5 Trajectory Interpolation 195
7.6 Feedforward Control and Computed Torque セoV
References and Suggested Reading 211
Problems 212

CHAPTER EIGHT: MULTTVARIABLE


CONTROL 216
8.1 Introduction 216
8.2 PD Control Revisited 216
8.3 Inverse Dynamics 221
8.4 Implementation and Robustness Issues 224
8.5 Robust Outer Loop Design 227
References and Suggested Reading 2:36
Problems 239

CHAPTER NINE: FORCE CONTROL 241


9.1 Introduction セiャ
9.2 Natural and Artificial Constraints 2-1-;)
9.3 Stiffness and Compliance 246
9.4 Inverse Dynamics in Tosl, Space 251
9.5 Impedance Control 252
9.6 Hybrid Position/Force Control 254
References and Suggested Reading 256
Problems 257

CHAPTER TEN: FEEDBACK


LINEARIZATION 259
] 0.1 Introduction 259
] 0.2 Background: The Frobenius Theorem 261
10.3 Single-Input Systems 266
10.4 Feedback Linearization for N-Linl< Robots 274
10.5 Introduction to Outer Loop Design 277
10.6 Outer Loop Design by Lyapunov's
Second Method 279
.x \0'1 CU'< ,-.-'VI'S

Reference... lind SUj.lgesred Reading :281


Problems 28)

CHAPTER ELJ:;VEN, VARfAllLE


STRCCTUIlE AND AflAPTlVF:
CONTtlOL 2U-1
11.1 lnlmduction 2"'4-
lJ.2 The Merhod of Sliding Modes 2X,,"
11.3 Adaptive Control 301
References (Iud SllgXesred Reading 313
Problems 3].1

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

ApPENDIX R: ST.\TE SPAO: THEOtlY


OF D' 'I HflCAI. SYSTEMS 321

ApPE'lTHX C: LYAPU OV STAHILITY

INDEX
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 enginee-
ring, 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 ro-
botic manipulators. In doing so we omit many other areas such as lo-
comotion, machine vision, artificial intelligence, computer architec-
tures, programming languages, computer-aided design, sensing, gras-
ping, 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
2 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 teleo-
pelators, 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 1·1. 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" ゥョ、オセエイ 。ャ manipulatOr. Photo courtesy of
Cincinnati Milacron.
tremely 」ッューャセク electro-mcdumical systems whose analytical descrip-
tion 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 ゥセ a reprogramnwhle multifunctional mani·
pulator designed to move material, parrs, Joo]s, or 、・コゥャ。」・ーセ devices
through variable programmed ュッイゥョNセ 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, in-
creased 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 ュ。イ ゥ。セ・ of two
I::arlier technologies: that of teleopcrators and numerically contmlled
milling machines. Telcoperators, or master-slave 、・カゥ」セウL 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 com-
ponents 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
QセスTYMイ・ウ 。 」ィ on Ilunlt:rically contrulled milling machines is
initiated
I954--Gcurge Devol designs the first programmable robot
19S6-Joseph E.ngelbcrgcr, a Columbia University physics stu-
dent, 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(...・ィエMセ first wbot カゥセ ッョ system is developed
1971-the Stanford Arm is developed at Stanford University
4 1.YI·I\Olll.CI"I( I セ

1973-the first robot programming language iWAVE) is


developc:d at Stanforu
1974--Cincinnati Milacron introduct:s the: T-1 robot with com-
puteT 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, based on
designs from a General Motors study
1979-the SCARA rubot design is introduced in Japan
1981- the first direct-drive rohot is dl.:vdopl.'d at CM-
ncgie-Mellon University

The first successful applications of robot manipulators generally in-


volved 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, セオ・ィ as mo-
ving to a location A, closing a gripper, ュッカェョセ to a location B, etc., but
had no (,'xtcrnal sensory capability. More complex applicatiuns, such as
welding, grindin& dcburring.. and assembly require not only ュッエセ com-
plex motion bUl also some funn of external sensing such as vision, tac-
tile.. or force sensing, dUt: to the increased interaction of the robot with
ItS environment. For a compn::hemive discussion of robotic applica-
tions エィセ 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 them-
selves 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 ィゥョセ・ and allows relative rotation
between twO links. A prismalic. ioim allows a linear relative motion
comエGセjZBn ANO STRl-'(:Tl'ltJ::QI' RVUOl'8 5
between two links. We use the convention (R I for representing revo-
lute joints and {PI for prismatic joints セウ 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 degrees-
of-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 ap-
plications such as reaching around OT behind obstacles requiTe more
than six DOF. The difficulty of contrulling a manipulator inCTeases ra-
pidly 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
cnd·effectoT 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 I,
I I,

V·,
I, I,
Revolute --'---
ioinl (R)

セ ,- , '-----'"

I, '
I.

Prismatic I, I,
join! (P)

FIGLRE 1-2
Symbolic representation of robot joints
6 QBャᄋイGINicMヲセ

often broken down into a reachable workspace and a dextrous


work!:lpace. The イ・。」ィZャ「 セ 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 LセBᄋi which consists of the ann,
external power SOUl'ce, end-of-arm touLing, external and internal sen-
sors, servo, computer interrace, and cuntro! computer. Even tbe pro-
、」ュ 。イセ 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 subse-
quent ungc of applications.
1.:1.1 ACCURACY 1\ 'II) REPEATi\HILTTY
The accuracy of a manipul.amr is a measure:: of how close the manipu-
lator 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. mッセエ 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
""""
computer
....,
mech,mical
"
pendant controller .'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",,,, 7

typically no direct measurement of the end-effector position and orien-


tation. 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 computa-
tional errors, machining accuracy in the construction uf the manipu-
lator, flexibility effects such as the bending of the links under gravita-
tional and other loads, gear backlash, and a host of other static and
dynamic effects. It is primarily for this reason that robots 。ョセ 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 en-
coder 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 in-
crement of motion that the controllcr can sense. The resolution is com-
puted 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 イオエNQHゥッョセ|ャォ
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 。、v ョエLャァ・セ of revolute
joints are in m.anipulator design. The answer lies primarily in the in-
creased dexterity and 」ッュー。」エョセウ of revolute joint 、・ウゥァョセN 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 vo-
lunle than manipulators with linear axes. This increases エィセ ability of
the manipulator to work in the same space with other robots,
machines, and ーセッ Q」N 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-------'
»


, ,,
/
, 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 、・ウゥセョ、 with at (cast a broad class of
applic<ltions in mind, such as welding, materials handling, and
assembly. Thcse applieatlons largely dictate the 」ィオゥ」セ uf various
design parameters of the manipulator, including its kinematic struc-
ture. For example, assembly of circuit hoards is naturally ーセイヲオ ュ」、 by
a SCARA type manipulator (Figure 1-131, while a spherical manipulator
(Figure 1-ID) may be 「・エ セイ 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 kinema-
tically 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 anthropomor-
phic manipulator. Two common revolute designs are the elbow type
manipulator, such as the PUMA, shown in Figure 1-5, and the paral-
lelogram linkage such as the Cim.:innati Milacron T 3 735, shown in Fi-
gure 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 asso-
ciated with the elbow manipulator arc shown in Figure 1-7_ Its
workspace is shown in Figure 1-8. This configuration provides for rela-
tively large freedom of movement in a compact space. The parallelo-
gram linkage, 。ャエィッオセ less dextrous typically than the elbow manipu-
lator configuration, nevertheless has several advamagcs that make it an
attractive and popular design. The most notable feature of tbe paral-
h: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 manipu-
lator 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 mani-
pulatOr 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 Lセイオエ」 ウ 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. Fi-
セョオァ 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 fゥァオイセ 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 Mila-
crOll.

the cylindrical courdinate!\ of the 」ョ、M・hセ」エoイ witb イセー」 エ to thl' base.


A cylinJrical mbot, thl' GMF M-lOO, is shown in fゥァオイセ 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 car-
tesian manipulatnr, shown in Figure I·HoI. For セィエ cartesian manipu-
lator セィエ ;010t variahles arc the cartesian coordinates of the end-effector
with n:spcct (0 thl:: hase. As might be cxpt:cted the kinematic descrip-
tion 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 82 z, 83 z2
セB
Shoulder
Oセオー・イ
セz
I (Y../"
{2
./
&z

13
Forearm
,.. 81 arm

Body I,

Base

FIGURE 1-7
sエイオ」エlQイセ of the e1how manipulator

g;l.ntry robots, fnr イセヲウョ。エ of Iuatcrial or cargo. An example of a car-


tesian robot, the Cincinnati Milacron T J gantry robot, is shown in Fi·
セョオァ 1-19. The workspace of a carttsian manipulawr is shown in Figure:
1-20.

Top

FIGlJRF: 1-8
wッイォNセー。」 of セィエ elhow manipulator
12 TI\;TRfll'lIJCTlul'o

FIGURE 1-9
The ウーィセイゥ」。ャ manipulator
configuration

i
•• "i
,
.... セGN

FIGURE 1-10
The Stanford manipulator {Courtesy of the Coordinated Science Labora-
tory, University of Illinois)
FIGUHE 1-11
Workspace;:. of dIe spherical manipuLator

" I
I
I
I
I
,, "

'3

j<'IGUHI:: 1-]2
The SCARA (Selective Compl1am Aniculated Robot for
Assembly)
14 r.... TIlUIIl "f:TIU:-'

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

FIGuRE ]-14
Tbe workspace of the SCARA manipulator
15

FIGURE 1-15
I t「セ l:yliudrical manipulator
I
1'<> connKura tion

1.4.6 OTlIEH METt-tODS OF CLASSIFYING


ROBOTS
Other common ways to classify robots are by their power source, appli-
cation 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: in-
creasingly popular since they arc cbeaper, cleaner and quieter. Pnt:u-
matic- robots are inexpensive and simple hut e,mnot bc controlled pre-
cisely. As a result, pneumatic rohots are limned Il1 their range of appli-
cations 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'\

.,
... ャQセ
..

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 キセイ」 non-servu robots. These rohots arc
esst:ntially open·loup devices whose movement is limih::d to predeter-
mined mechanical SlOpS, and arc useful primarily for materi;lls transfer.
In fact, セョゥ、イッ」[H。 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 multi-
functional, 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 point·to-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 エ。オセィ 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 ex-
ample, 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 re-
quire the most sophisticated computer controllers and software
develupmellt.

y
• •

'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 revo-
lute. 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 r of Figure 1-1 and the Stan-
ford 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 、・セイ ・ウMッヲᄋ イ・ 、ッュ will then depend on the degrees-of-
freedom 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! セ。ィ fmlr degrees-af-freedom. The wrist has
only a roll about the final コᄋ。クゥセN The Cincinnati Milacml1 T" ns has
19

FIGURE 1-20
Workspace of the cartesian manipulator.

five NュIH、・イヲッセウ」ァ、 The wrist has pitch and roll hut no yaw mo-
tion. The PUMA has a full three degrees·of-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 ィセョ、 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 end-
effectur or tnnl that actually performs the work. Thi.: simplest typc of
cml-effectnrs aTC grippers, such as shown m Figures 1·22 and 1-23,
which usually arc capabk uf only tWO actIOns, opening :md closing.

M qpセ G·
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 eョNセゥ ・ イ ョァ
Textbook, by Mohsen Shahinpnor. Copyright 19R7,
Harper & Row Lウイセィゥャ「オp 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 de-
voted 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 end-
effector, we will not disCllSS end-effector 、・ウゥセョ 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 ーュ[ウ」|Zセ six Lュッ、・イᆪMヲセウ」ァ
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 イョZセ Qャエ 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 per-
form IOsks SInh as セAィi ,,/'love;
The ability to .lnSWer this questIOn fm :t iull iOlX dl:gree-nf-fn::cdom
manipulator represents th\: Xo:l1 oi the ーョ[セcャ 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 in-
volveu 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 キゥセィ to move the manipulator
from its home posiunn A to position 8 from which point エィセ 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 、オゥョセ 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 ・xSNューャセN

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 ュセ。ウオョZ 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 stu-
died in Chapter Three, which is to determine the position and orienta-
hon 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 K。R・ッウHYQセ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,

ゥセG ッ = cos (e I + OIl; irio = sin lei + 621 i1.53J


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

which we may combine into an orientation matrix


OIJTT.TI\F OF THE TEXT 2:1

y,

FIGLRE 1-26
Coordinate tLlmes tor two-link
planar robot.

fi1·i oh.io] fcosl€ll+€l 2! -Sin i€ll+€l1I


li1-jo jx.io -l5iniOI+fl21 c05(8 1 +€l 2 )
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 equa-
tions. For a six degree-nf-freedom robot these equations are quite com-
plex and cannot be written down as easily as for the two-link manipu-
lator. The general procedure that we discuss in Chapter Three esta-
blishes coordinate frames at each joint and allows one to transform sys-
tematically among these trames using matrix transformations. The
procedure that we liSC is referrcd to as the Denavit-Hartenber,g conven-
tion. 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 loca-
tion 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 セク・
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 mani-
pulator. 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 iPro-
hi em 1·251.
24 I .... nil G u ャ B G t u I セ

FTGUllE 1-27
Multiple inverse kinematic solu-
tions.

Consider the diagram of Figure 1·28. Using the Law of Cosines we


see that the angle 92 is given by
1 1 J 1.
X+Y-(JI-Q,
co,a,= 2
ala2
,·D 11.5.51

We cnuld now dc,tcrmine 8! as


8) = cos··I(D J 11.5.61
However, a belteT way to find 92 is tu notice that if 」ッウHセj il) given by
ILS.51 then sinl9!1 is given as
'inia,) = ±"I=iJi 11.5.71
and, hence, 82 can be found by
, -
±'iI_O'-
lh = tan- l D

Tbe advantage of this latter approach is that both the elbow-up and
elbow·down solutions are recovered by choosing the positive ami nega-
tive Si,itllS in j 1.5.8), イセウー・」エゥカャケN
It is left as an exercise (prohlcm 1-19) to show that 9 1 is now セカ・ョ as
a2sin 92
8 j = tan-l(y Ix)- laD I( J i 1.5.9)
a 1+I/lcos8l
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 セョゥャュZエーG、 011
which solution is 」ィオセエGョ 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 ィセエキ ・ョ 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
OUTLINE OF TilE TEXT 25

y -------------
I
I
I
I
I
A--
°21
I
_-

I
I
1
FIGCRE 1-28
Solving for the joint angles of a
x two-link planar arm.

. . .
y = a ICOS el·e 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
l -
(1.5.11)
- a lCOSe] + a2cos(9t +e2) a2COS(e\ +e2)
=]8
The matrix] defined by (1.5.11) is called the Jacobian of the manipu-
lator and is a fundamental object to determine for any manipulator. In
Chapter Five we present a systematic procedure for deriving the Jaco-
bian for any manipulator in the so-called cross-product form.
The determination of the joint velocities from the end-effector velo-
cities 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 。イセ 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 mo-
tion 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 al-
gorithms 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 mani-
pulator, while simultaneously {・ェ」 エゥョセ disturbances due to unmodeled
dynamic effects such as friction and. noise. We detail the standard ap-
ウ・「」セッイー 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 mani-
pulator. Robust control is introduced in Chapter Eight using the Se-
cond Method of Lyapunov. Chapters Ten and Eleven provide some ad-
ditional advanced techniques from nonlinear control tbeory tbat arc
useful for controlling high performance robots.
1.5.6 PROBLEM IS, [セchof CONTROL
Once the manipulator has reached location B, it must follow the con-
tour 8 maintaining a constant force normal to thc surface. Con·
ceivahly, knowing エィセ location of thc object and the shape of the con-
tour, we could carry out this task using position control 。ャッョセN This
would be: quite difficult to accomplish in practice, howevl."'r. 5ine,(: the
manipulator itself possess high rigidity, any errors in position 、セャ・ 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 ャセ・ 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 COI1I£OI.

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 ''''THOUI Qセイ BGャ

[4] B((AIJY, M., Ct. aI., cds., Robot MotiorJ: Planning and Concrol,
MIT Press, Camhridge, MA, 1983.
[5] CRAtG. J" Introduction to Robutks: Meehl/nics and Control,
Addison-Wc3!cy, Reading.. MA, 1986.
16J CRITCHLOW, A.I., InlToduction to Robolics, Macmillan,
New York, 19R5.
[7] DOIlF, R., Robotics. and Automated Manufaal1ClIlg, Reston, VA,
1983.
[81 ENGLEBERGER, J., Robotics in Practice, koセZャi p。セ・L London,
1980.
[91 FU, K.S., CO;..lZALEZ, R.C., and LEE, C.S.G., Robotics: Control
Sen.sing, Vision, alld Intelligellce, McCraw-Hill, St Louis, 1987.
[10] GROOVER, M., セエN aI., Industr1ll1 Nobotics: Technology, Pro-
gramming. and Applications, McCraw-Hill, St. Louis, 1986.
[111 KOR.EN, Y., No/mUcs for ᆪQiセゥャ」・イウL McGraw-Hili, St. Louis,
1985.
[12] LEE, C.S.G., et. 31., eds., nWITialoIl Robotics, IEEE Computer
Sodety Press, Silver Sprin].\, MU, QYヲエセN
{Qセ MCCu)y, lJ., and haiャ セN M., nObOtiCS: An Introduction, Hal-
stead Press, New York, 1986.
[14] MCCORnUCK, P., セャ ゥィ」ャHm Whu Think, W.H. Freeman,
San Frand!lw, 1979.
[lSI MINSKY, M., ed., J<obolics, Omni Publications Intcrnation.1.l,
Ltd., New York, 1985.
[16] Oxford English DictiuJlary, Oxford University Press, Oxford,
1971 .
[17] PAUL, R., Robm m。ョゥBオQ エHIイ\セZ MOlhemalics. l'rogramming (lnd
Comrol, MlT Press, Camhridge, MA, 1982.
[l R] REID, J<obotics: 1\ Systems Approl/ch, Prtntice-Hall, Englewood
Cliff" NL 1985.
[19] SHAHINPOOR, M., A Robot ヲエjセゥョ・ イゥ ャァ Textl.lO()k, Harper &
Row, New York, 1987.
1201 SNYO[k, W., Industrial f?obots: Computer Interfacing and Con-
tml, Prentice-Hall, Englewood Cliffs, NJ. 1985.
[21] WOLOVlCH, W., Rubotics: Bll"lC AllllJy.<>i.<> and Design, Holt,
Rinch.lIt, &. Winston, New York, 19R5.
prohャymLセ

PROBLEMS
1-1 What are the key fcatures that distinguish robots from other
forms of "automation," such as CNC milling machines?
1·2 Bridly JeAne eaeh of the following エセョ ウZ forward kinematics,
inverse killcmatlcs, trajectory planning, worhpal.:c, accuracy,
repeatability, resolution, ioint variable, sph..:rical wrist, end-
effector.
1-3 What are the main キ。スGセ to classify イッィ エウセ
1-4 Make a list of robotics related magazines and iournals carried by
the university library.
1-5 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.
jオウエゥヲセG your choices in each 」。ウセN
1-6 List several applications for non-servo robots; for point-to-point
'mhots, for continuous path robots.
1-7 List five applications that a continuous path robot could do that
a puinr-to-point rohot could not do.
I-H List fivc 'lpplieations where computer vision would he useful in
robotics.
1-9 List five <lpplil.:ations where either tactile ウセョ ゥ ァ ur force feed-
back control wuulJ be useful in robotics.
l-lD Find out how m.my industrial イッ「オエセ arc currently in operation
in the United States. How m,my 。イセ in operation in j。ー ョセ
What cllunn)' ranks third in the number of industrial robots in
use!
I-II Suppose we could close every ゥ。」エッイセG 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:
1-12 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?
I-J3 Discuss possible applic:ltions where イセ、オョ 。 エ manipulators
would he useful.
セッ I.... TIlOllt (:TIO""

1-14 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 セゥカエZョ by
d =1 '2(1-co'(611
which is of course i・Nセウ than t. e. With LO-bit accuracy ,lnd
t = 1 In,
a =90u what is the resolution of tht.: lint:ar linkl of the
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

• I

Fl<affir. 1-30
LJiagr3111 for Problem l·lS.

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 ァ」ョセイ。 ケ less thall repcatahility1
1-18 How cuuld manipulator accuracy be improved using direct end-
poiDt St:Dsingr What othcr diffkulties mi)1;lH direct end-point
セ」ョウゥ k introducc into the control problem;
1-19 Derive Equation 15.9.
1セRP Fur the two-link manipulator of ・イオセゥf 1-25 suppose a 1 ;- G,! = 1.
Find the coordinates of the tnol whcn 9 1 ;- セ :mu a1 = セ .

1-11 Find the Joint angles al , 82 when the tool is located at cuurdi-
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 ゥョNセエSョ 。 」ッオウ tool velocity
when 8, =8... ] セ [ 4
P«OULt.:.. .. 'S 31

1-2.3 Write a computer program to plot the joint 。ョLャ[セウ 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.
1·25 For the two.hnk planar manipulatOr of Figure 1·25 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 sys-
tems. Indeed, the geometry of three-dimensional space and of rigid mo-
tfons plays a central role in all aspects of robotic manipulation. In this
chapter we study the operations of rotation and translation and intro-
duce 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 subse-
quent chapters to study the velocity kinematics in Chapter Five, inclu-
ding 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 to rc-
view Appendix A before beginning this chapter.

32
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 re-
ference frame OXoYoZn. Let! io! in, ko I denoll.· the セエ。ョ、 イ 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 12·1.11

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

Po,< =Po"io = PI"io 12.1.31


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

"

FJGUU; 2-1
Cuurdin:.ltcs frallle .:lttacbcll 10.\ イゥセ 、 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 (2.104)
P Oz = P 'x i} .k o + P Izj I.k o + P Izk r k o (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 coordi-


nates 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 ex-
pressed relative to the oXoYoZo-coordinate frame.
Similarly we can write
Pix = pr i } = Po·i l (2.1.8)
= Poxio· i , + Poyjo-i 1 + Pozko'i l
etc., or in matrix form
(2.1.9)
where


QセGッ iセGo }iセGoォ
Rセ = 10'JI JO'JI ko'JI (2.1.10)
io' k l jo' k l k o'k l

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セ]HrVIMG]HrVIt (2.1.11)
Such a matrix R 6 whose inverse is its transpose is said to be ortho-
gonal. The column vectors of R 6 are of unit length and mutually ortho-
gonal (Problem 2-11. It can also be shown (Problem 2-2) that
det R 6= ± 1. If we restrict ourselves to right-handed coordinate sys-
tems, as defined in Appendix A, then det R 6 =+ 1 (Problem 2-3). For
simplicity we refer to orthogonal matrices with determinant + 1 as rota-
tion matrices. It is customary to refer to the set of all 3 x 3 rotation ma-
trices 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
axis, and it is desired to find the resulting transJun1tatiun matrix R 6.
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


jO"i1 = cosEt ido = sinS
ko'k l =!

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

-s;"e
cosEl
}セo (2.!.U!
o

<, ..

FIGURE 2-2
Rotation about the Zn axis.
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 no-
tation Rz,e instead of R 6 to denote the matrix (2.1.13). It is easy to ve-
rify 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)



Mウセョ }
a
Rx,B= a cosS (2.1.17)
a sinS cosS

COSS a SinS]
Ry,B =
[
a 1 a (2.1.18)
-sinS 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. Projec-
ting 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
( セ LoセIt the coordinates of jl are ( Nセ ,a, セM )T and the coordinates of
セR セR V2 V2
k 1 are (a, I, O)T. The rotation matrix R specifying the orientation of 6
OXIYIZI relative to OXoYoZo has these as its column vectors, that is,
1
-,=- 0
Ii '2
R6= a 0 1 (2.1.19)
1 -1
a
Ii ..)2
ROTATIONS 37

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, in-
stead 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 = R n Po (2.1.20)
Y'l

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

2.1.1 SUMMARY
We have seen that a rotation matrix R E 50(3) can be interpreted in
three distinct ways:

1. It represents a coordinate transformation relating the coordi-


nates 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
I
Po = ROPl (2.2.1)
2
Po = R OP2 (2.2.2)
PI = R ip2 (2.2.3)

where each R: is a rotation matrix. Note that R セ and R セ represent ro-


tations relative to the OXoYoZo axes, while R セ represents a rotation rela-
tive to the ox IY lZ I frame. Substituting (2.2.3) into (2.2.1) yields
I 2
Po = R o R tP2 (2.2.4)
COMPOSITION OF ROTATIONS 39

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
i
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 R6.
Then,
with the frames OXIYIZt and OX2Y2Z2 coincident, we rotate OX1J'lZl re-
i.
lative 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.
(i) Example 2.2.1
Henceforth, whenever convenient we use the shorthand notation
Ca = cosS , 5a = sinS for trigonometric functions. Suppose a rotation ma-
trix R represents a rotation of <l> degrees about the current Y-axis fol-
lowed by a rotation of S degrees about the current z axis. Then the ma-
trix R is given by

(2.2.6)

cq>ca -Cill5a 50]


= Sa Ca 0
[
-Sq>Ce Sq>Se Cq>

It is important to remember that the order in which a sequence of ro-


tations are carried out, and consequently the order in which the rota-
tion matrices are multiplied together, is crucial. The reason is that ro-
tation, 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. セ nem rit UHN'EIIlllO'""'A'.'_W-"

A7BNGャcYoNuijセ
40 RIGID MOTIONS AND HOMOGENEOUS TRANSFORMATIONS

Then the resulting rotation matrix is given by

(2.2.7)

lce -Se
Se Ce 0
o 0
0]
[Cll>

1
S<I>]
0 1 0
-s<I>
0
0 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 composi-
tion 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 them-
selves 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.
COMPOSITION OF ROTATIONS 41

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 transforma-
tions 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 postmul-
6
tiply R by R セ to obtain
R o2 = R oI R 2I ( 2.2.12 )

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 (2.2.13 )
o
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 coor-
dinate 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 ro-
tate 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 = --==---,- (2.2.151
-Vk x2 +1{2Y

kx
cos a = --====-
-Vk;+k;

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

FIGURE 2-6
Rotation about an arbitrary axis.
FI IlTllt;1\ NpャエoBNi、HtャエセLGQ OF RnT.... THJi'\S 4:1

Substituting i2.2.l51 intu (2.2.14) we obtain after somt: lengthy calcula-


tion {Problem 2-10)
k;v,+co kxkyve-k"so k'k'V'+k,s01
Rk,iJ = 1<.,..1<.y V O+k"S6 ォゥvセヲエcHャ k r 1<?ve- k X so 12.2.16)
[
k x1<.?vo-kys o k).k z カッKォNエᄋセ・ k;ve+co
キィ・ョセ Vij = vcrs €I = I - 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 quanti-
ties 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 roll-
pitch-yaw representati()n.
2.3.1 AXIS/ANGLE REPln:SENTATION
A rotation matrix R E soHセI 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 representa-
tion of R. Given an arbitrary rotation matrix R with components (rrll,
the equivalent angle e and equivalent axis k are given by the expres-
sions [21
e=cos-'i TriRI-l l 12.3.2)
2
= cos
'I rll+rn+rJj
2
- II

where Tr denotes the trace of R, and


r32 r
- 2.1]
k= Rウセ・ TU-TJl 12.3.3)

t
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 = R 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 rota-
tion of 30° about Yo followed by a rotation of 60° about xo. Then

R = Rx,60Ry,30Rz,90 (2.3.5)

13 1
0 -
2 2
I 13 3
- --
2 4 4
13 I 13
- - -
2 4 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 IT
k = (13 ' 213 -2:' 213 +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. Con-
sider 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 ャ・Lセ ",I, known as Euler Angles, and ob-
tained by three successive rotations as follows: First rotate about the Z
axis by the 。ョァャ・セN Next rotate about the current Y axis by the angle e.
FURTHER PROPERTIES OF ROTATIONS 45

\
\
\
\
\ 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 gener-
ated as the product

(2.3.9)

= イセZ セZN セ} {セ。 セ セ。} [:: セウ }セ


lo a 1 - Sa a ca a a 1

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


= s<l>cac'I'+c<l>s'I' セ」^ア KGi s・」^ャ\ウM sq>sa
[
-SOcl/I SoS" Ce

In Chapter Four we study the inverse problem of finding the Euler An-
gles (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 ro-
tations 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 suc-
cessive rotations are relative to the fixed frame, the resulting transfor-
mation matrix is given by

(2.3.10)

C'il ce Mウセ」ャェiK c$seS IjI S$SIjI+C$SeCIjI 1


= S$Ce cセ iェ Ksセ ・sャェi - C$SIjI+S $SeCIjI
[
-Se CeSIjI CeCIjI

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·
HOMOGENEOUS TRANSFORMATiONS 47

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 com-
bination 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 セpR + rV、セ + dJ (2.4.6)
Since the relationship between Po and P2 is also a rigid motion, we can
equally describe it as
2 2
Po = R OP2 + do (2.4.7)
Comparing equations (2.4.6) and (2.4.7) we have the identities
2 I 2
Ro=ROR t (2.4.8)
2
d 0= d 0+
I R 0I d 2I (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
1 d 2]
I [R 0I R 2
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

H = {セ セス R E 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 {セッ}
P = (2.4.13)

PI = {セャ} (2.4.14)

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 to the (homogeneou!'l matrix equa-
tion
12.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ャA[・ョ イ。エゥ{}セ £(3) is
given by
1 0 0 £1 01 -1000]
o1 a I aa
tイ。iQウセLGj = o0
o0
0 0
1 0
0 1
セ JT'""5, ...
hi
001 c
000 I

IVLl61
for translation, amI

Ro!,.• = iセ Zセ [}セ
:0: IMy ,. = {⦅セGN セ セ セ}[ Ro!.,o = iセ Mセo セ セ}
0001 0001 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,

In tbe above equation


i
n;. Sj' (I r dJ .
'I' = lIz 5: 。セ

a a a
II
ョセ S 3 d-
d: = 0 0 0 1
I
= In"ll J ,n" IT is
tion of the (JIXI axis in the 0oXo>'OZo system, s= IS\,>,.,s:!' rcpn;scnts
II
,2.4.18)

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

the direction of the (} \Y I llXis, amI a = {a"jl, ,a.!)J ウエョ」[ALセイー・ rhe din.:,c·
1
tion of the 0IZ\ axis. Tile vector d = (dJt., cI,., (( 1 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 ィッャ、Nセ ;nr 4x4 ィョュッァ・jャ ョオNセ
transformations as lor 3x3 rOlatiOllS.
iii) Example 2.4.2
tィセ 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 eオ、ゥ セ ョ .-:ruup of イセャョッ 3.


50 RIGID MOTIONS AND HOMOGENEOUS TRA'ISFORMATIONS

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


current z -axis, is given by
H = Rotx,aTransx,b Transz,dRotz,e (2.4.19)

1 0 0 0 100 b 100 0 ce -Se o0


0 Co. -so. 0 o
1 0 0 se ce o10 0 o0
0 So. Co. 0 001 0 o Old 0 0 1 0
o 0 0 1 000 1 000 1 0 0 o 1

Ce -Se 0 b
case CaCe -so. -sad
SaSe SaCe Co. Cad
0 0 0
The homogeneous representation (2.4.11) is a special case of homo-
geneous 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

j
l
R3X3 I d3X1 Rotation I TranSlation]
H- - I - - - I - (2.4.20)
[
f lx3 I S Ixl erspective I scale factor

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 in-
terfacing 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 in-
volve 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,] ゥセェ satisfy 5,] = -SJ" Thus S contains only
three ゥNョ、セー」ョ、 エ entries and every 3x3 skew symmetric matrix has
the form

12.5.31

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

SIal = 。セ 0 0 -ax
-., "'·1 12.5.41
r
-Dr ax 0

liv) 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


o}
51il= OO-I;S[jl= [001]
0 OO;5Ikl= 1 00 セPMQ } 12.5.;';)
o1 0 -I 0 0 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+ セ「ャ = aSia). セUQ「ャ 12.5.6)
Another important property of Sial is that 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 カ・イゥヲセ、 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
Z Lセ cross product axb and lht=n rotating to R\axbJ.
-.)
;:)- RIGID MOTIONS AND HOMOCENEOUS TR,\'iSFOR:\'IATIO!XS

For any R E 50(3) and any b E IR3 , it follows from (2.5.7) and (2.5.8)
that
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 vari-
able 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 e using the product


rule gives
dR R (e)T R (e) dR T =0 (2.5.12)
de + de
Let us define the matrix
(2.5.13)

Then the transpose of 5 is


T
ST = (dR R(e)T)T = R(el dR (2.5.14)
de de
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) (2.5.16)
de
Equation 2.5.16 is very important. It says that computing the deriva-
tive of the rotation matrix R is equivalent to a matrix multiplication
by a skew symmetric matrix S. The most commonly encountered si-
tuation 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 compu-
tation shows that

s セ セ R' セ {セ o
-sin8 -cos8
0] :io1 00]
cos8 sinB (2.5.17)
cos8 -SlOe :...0 Mセゥョ・ cose

01
セ {セ
o
,
0-1 , =S'il
1 0 J
Thus we have shown that

dR." セ S{.JR (2.5.18)


de 1 -",6

Similar computations show that

dRz,o '= 51-kIR. (2.5.19)


de --,0

Ivi) Example 2.5.4


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

;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 homo-
geneous 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 セィッキウ that the time derivative R(rl of R (1.1 is
given by
AGゥr isセ 12,6,11
where the matrix Sft! is skew セケュ ・エイゥ」N Nnw, since S(l) is skew
セ|Mュ 」エイゥ」L 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
セ ウー・」エ to the fixed frame at time t.
54 RIGID MOTIONS AND HOMOGENEOUS t h a セ s B G o r m a t ャ o B s

(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

Po = R (t lpI (2.6.3)
The velocity Po is then given as
Po = S (ro)R (t )Pl (2.6.4)
= 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 re- °
lative 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 super-
scripts on R 6 and dci, and write
Po = RPI + d (2.6.6)
Differentiating the above expression using the product rule gives

Po = RPI + d since PI is constant (2.6.7)


= 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 da db
-(axb) = - x b + a x - (2.6.8)
dt dt dt
AODITION OF ANGUI.AR VELO\.lTIES 55
If we now rewrite Equation 2.6.7 as
Po - it = RPI (2.6.9)
=roXRPI
and differentiate both sides with respect to t we obtain
Po - 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 ac-
celeration.

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 2
Po = R OP2 + do (2.7.3)
where as before
(2.7.4)
and
2 d I 2
d 0= o+R o1 d I (2.7.5)
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 2 I' 2
RO=ROR J +RoR I (2.7.6)
The term Rセ on the left-hand side of (2.7.6) can be written
. 2 2 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セ = rVsャイッIセ (2.7.9)
=R6 sHイッ Irセt rV セ]sHrVイッ IrV rセ
]UHrVイッ Irセ
Combining the above expressions we have shown that

sHイッVIrセ] 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 ex-
pressed 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 Gセr .. Rn _ 1 (2.7.12)
then
(2.7.13)
where
roon =roo+
1 R oro,
1 2
+ R 02 0032 + R 03 003+'"
4
+ R 0n-l ron-l
n (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.
PROBI.F."'S 57

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, ].N., and RASMUSSEN, M.L., Advdnced Engineerinx


Analysis, Wiley, New York, 1982.

[6] 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 = ± 1.

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

_ 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 0IXLJ'IZ1, 0lX::'Y2Z2, anu
O,lXJY.lZ3 arc given, and suppose

1 a 0
l{ I
,= 0 -
1 ';.3
U;= fao 01 -1]
a
2 2
..f;l
loa
0-' -1
2 2

Find the matrix 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 .


"';l .

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
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 z·axis followed by a translation of I unit
along the Axed y-axis. Sketch the frame. wィセゥャ arc the c(xmli-
natCS of the origin 01 with respect to the ョイゥセ ョ。エ frame in each
case?

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


transfunnations HO , H & HI rt:presenting the transformations
i

among the three frames shown. Show that H = H セ H 5 f.


"RIlRI.F:\IS 59

"
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 ゥセ 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 NセBH[イ] <inri-ched as
shown. Find the ィッュ ァゥL[ョ ッオセ エイ。ョセゥッイュ。エゥHIョウ 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 coordi-
nate 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 QRNウ セI that R (axbl == R axR b, for R E 5013).
セNRM Suppose that a = (1 , -1 ,2)1' and that R = R x 'Xl, Show by direct
caJcuJation that '
RSlajR T djRaJ
60

camera

" 1m

" セBGZMLイOt。「ャ・

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

2·24 Given rセ := R.1 ,&N)",{J, computt: Evaluate


oR; al •
6=-
ッセ 2'
セ] セN
2-25 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.
2·28 Given any square matrix A, the expont::ntlal of A is a matrix
、」ヲゥョセ、 as
・Gセ
1
=/ +A +_A 1 +_A 3 -r
1
2 3!
Given S E SS(3/ show that e 5 e SO(3).
{Hint: Verify the facts that ・Gセ ャ =e A1B provided that A and 8
commUte, that is, AB =- BA, and also that detle A J = e'1:A jNセ
phHIulセGm[ 61

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


[Hint: Use the serics exp,msion for the matrix exponential to-
gether with Problems 2-25 and 2-27. Alternatively use the fact
that R),. satisfies tbe differential equation
dR = SlklR
dB
2-30 usセ Problem 2-29 to show the converse of 2-28, that is, if
R E sot,,) tben there exists S
E SSj31 sllch that R = e\'.

2-31 Given the Euler an,l;le transformation


R = nNセLriGK|cA
d
show th.:1t Cit R = S (wlR where

ro = lc ..セ - ウセ・ャゥ + iウBVセK」 セ・ャェ + 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-Pilch·Yaw 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 O,XIYIZl are related by the homo-
geneous uansformation

h]iAョセjェ[ 000 I
A particle has velocity vdt) = (,'l,I,OlT relative to framc
0lX1YJZI. What is the velocity of the partidc III frame
OnxuYOZo?
2·34 Three frames 0I)XoYOZo, O.XIY1Zl, and O!X1J'2Z2 are givcn below.
If the angular velocities HjIセ aud wi are given as

what is the angular velocity 005 at エィセ instant when

R,; セj セ }ャセ
セャ 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 re-
volute 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 si-
tuations 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
ャQ・セ Mッヲᄋ イ・ 、 ュN Note that the assumption does not involve any real
loss of generality, since joints such as a ball and socket joint (twO
def.;rees·of·heedom) 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 intro-
duce some conventions. It is of course possible to carry out forward
kinematics analysis even without イ・セー」 エゥョァ 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 en-
gineer!> 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 num-
bered 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 j·th 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 」ッ イjゥョ。エセ of a
point hom frame j to frame i is called, by convention, a transformation
matrix, and is usually denoted by tセN From Chapter 2 we see that
TI "" RGゥセA a ... Ai_.Aiifj<i
Link 1

'1 Joint I

base(lInItO)

"
FIGURE 3-1
Coordinate frames attached to elbow manipulator,

tセMャェヲ Mェ 13.1.2)
tセ _ lTi) 1 if j :> i

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 セィャ rmd-dfector with respect to the inertial or hase frame by a three--
Vector d; and a 3x3 rotiltion matrix rセL 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)
DEl'iA\'IT_HAII'1 FJ';HEHI; rfNpiH [BfN GtL| iセ B 65
EllCh homogeneous transformation A, is of the (onn
R,:,
Ai = [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 、セ are given recursively by the formula


d ', • d i-I
,.j.
R H,4 ,
, ' ' ' ' -I 1-'·1.8)
These expressions will he useful in Chapter Five when we study Jaco-
bian matrices.
In principle, that is all tbcre is to forward kinematics! Determine
the functions A;(q,J, and multiply エ「セュ together as needed. However,
it is possible tu achieve a considerable amount of streamlining and
simplification by introducing ヲオイエィセイ conventions, such as the
Denavit-Hanenberg イ・ー セウ」ョエ。 ゥッョ 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 」ッュセャケ used convention for selec-
ting frames of reference m robotic applications is the
Denavit-Hartenbcrg, or D-H convention. In this convention, each ho-
mogeneous transformation Ai is represented as a product of four
"basic" transfonnations
Ai = ROl z .t1 Traw'c,d. Tram'x,ll, H.ol",a, 1.>.2·11

0 0
° 01 iセ セ}
-So. l 0

[C's&, c,, 001a00 0 110100


0
I OOOld,OOIOO s"
0] ° a'll° c , -So.

c ,
0
° 1 00 0 1 0 0 0 1 0
° 0
° °°
Co, -so, Co, So, Sa, Of Ce,

Se, Ceo Cn, -Ce,Su, (I, Sa,

0 S" Ca. d;
0 0 0
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 エィセ 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 ho-
mogeneous 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
DENAVIT-HAIITE:\IlERG REPHESENTATJO:\ 67

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 ortho-
gonal 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 ele-
ments of R must have the form shown in (3.2.4), using the fact that R
is a rotation matrix.

,,
\

\
\
I
I
I
\ (1'
\
\
\
I
I
I
\
\ I Zl I
\ I I
\ Zo I
\ Xl I
Mセe⦅]
a

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 、セ
uniquely as
(3.2·71

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 sa-
tisfying 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 。ョセャ・ 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 con-
ditions <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 con-
ditions: (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 revo-
lute, 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 as-
sumptions (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 A|Nj GeN|QatャcセL TilE DEl'iAYIT-l1.\I\TEf\llEIH; h e i G | e セ N セ t y ョ o n

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 situa-
tion is in fact quite common, and deserves some detailed analysis. If
the axes Zi_l and Zj arc parallel, there arc infinitely many common nor-
mals between them and condition (DH1) docs not specify Xj com-
pletely. 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 li-
terature. 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 posi- z,
tive 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 n-
link 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 3·5!. 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 ap-
proaches an object along thc a direction. Similarly the s direction is the

Yo
FIGURE ZセMU
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 = {セ セ} E £(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

You might also like