Spong Robots Dynamicsand Control
Spong Robots Dynamicsand Control
AND CONTROL
MARK W. SPONG - - - -
University of IlliJwis al lJrhalla-CllOnlpaign
M. VIDYASAGAR
University nf W'llerloo
セjGッョL[ :-1..!1.. W.
ROl-...l ,h-'l,lmtcs <lnu cuntrol/ M:lrk W ';Ilnng, M Vidya...;t.g.1f.
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
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
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
XIII
xiv
.,.,
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
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]:
," ,"
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ヲセ
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
n-,------,
-----iL}---j-------'
»
セ
i
, ,,
/
, FIGURE 1-4
• Linear vs. rotational link motion
Il\,TIIOlIllCTIO!"
FIGURE 1-6
The' Cincinnati Milacrcm T 3 735 robot. COUrtt:sy of Cincinn<lti Mila-
crOll.
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
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
.,
... ャQセ
..
FIGl:RE 1-16
The GMF M-lOO robot. photo c.:ouncsy of CMf Rohotics.
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.
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.)
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
%
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
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,
y,
FIGLRE 1-26
Coordinate tLlmes tor two-link
planar robot.
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.
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)
Yo
FIGURE 1-29
;Co A singular configuration.
[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
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
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.
"
FJGUU; 2-1
Cuurdin:.ltcs frallle .:lttacbcll 10.\ イゥセ 、 bully
34 RrGJD MOTIONS ,-\NO HOMOCENEOUS TI{A:-;SFORMATIONS
(2.1.7)
ャ
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
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
Rz,o = I (2.I.l4)
セ
ャ
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.
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:
/
/
/
/
/
/
FIGURE 2-4
/ Rotating a vector about
/
/ an axis.
(2.2.6)
A7BNGャcYoNuijセ
40 RIGID MOTIONS AND HOMOGENEOUS TRANSFORMATIONS
(2.2.7)
lce -Se
Se Ce 0
o 0
0]
[Cll>
1
S<I>]
0 1 0
-s<I>
0
0 clj)
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,
Po = RY ,4>Pl (2.2.11)
= R y ,lj>R y ,-lj>R z ,a R y,lj>P2
= Rz ,eR y,cbP2
(2.2.14)
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
t
T21- T J2
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)
\
\
\
\
\ 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)
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.
(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.
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)
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 )
(2.4.12)
o {セッ}
P = (2.4.13)
PI = {セャ} (2.4.14)
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,
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)
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
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.
12.5.31
SIal = 。セ 0 0 -ax
-., "'·1 12.5.41
r
-Dr ax 0
セ
o}
51il= OO-I;S[jl= [001]
0 OO;5Ikl= 1 00 セPMQ } 12.5.;';)
o1 0 -I 0 0 0 0 0
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)
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
;2.5.20)
Other examples are given in the next section and also in Chapter Five.
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
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 . 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
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)
l4J FR1EDHERC, S.H., INSEL, A.J., and SPENCE, l.E., Linear Algebra,
Prentice-Hall, Englewood Cliffs, NT, 1979.
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.
_ Icos8 -SinEl]
A - lsin8 cos8
1 a 0
l{ I
,= 0 -
1 ';.3
U;= fao 01 -1]
a
2 2
..f;l
loa
0-' -1
2 2
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?
"
FTGURE 2-10
Diagram for Problem 2-17.
camera
" 1m
" セBGZMLイOt。「ャ・
FIGUHF. 2-11
Diagram [or Prohlem 2-18.
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
R,; セj セ }ャセ
セャ I 0
CHAPTER THREE
FORWARD I<.INEMATICS:
THE
DENAVIT-HARTENBERG
REPRESENTATION
'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
(3.1.3)
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
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 ,
0
° 1 00 0 1 0 0 0 1 0
° 0
° °°
Co, -so, Co, So, Sa, Of Ce,
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:
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)
(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
"
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
92