Você está na página 1de 78

FUNDAMENTAIS

OF ROBOTICS
Analysis
and Control

FUNDAMENTAIS
OF ROBOTICS
Analysis and
Control

7
Robotic Manipulation

The term robot can convey many different meanings in the mind of the reader, depending on the context. In the treatment presented here, a robot will be taken to mean an
industrial robot, also called a robotic manipulator or a robotic arm. An ex- ample of an
industrial robot is shown in Fig. 1-1. This is an articulated robotic arm and is roughly
similar to a human arm. It can be modeled as a chain of rigid links interconnected by
flexible joints. The links correspond to such features of the human anatomy as the chest,
upper arm, and forearm, while the joints correspond to the shoulder, elbow, and wrist. At
the end of a robotic arm is an end-effector, also called a tool, gripper, or hand. The tool
often has two or more fingers that open and cise.
To further characterize industrial robots, we begin by examining the role they play
in automation in general. This is followed by a discussion of robot classifica- tions using a
number of criteria including: drive technologies, work envelope ge- ometries, and motion
control methods. A brief summary of the most common appli- cations of robots is then
presented; this is followed by an examination of robot design specifications. Chap. 1
concludes with a discussion of the use of notation and a summary of the notational
conventions adopted in the remainder of the text.

1-1 AUTOMATION AND ROBOTS

Mass-production assembly lines were first introduced at the beginning of the twenti- eth
century (1905) by the Ford Motor Company. Over the ensuing decades, special- ized
machines have been designed and developed for high-volume production of me- chanical
and electrical parts. However, when each yearly production cycle ends and new models of
the parts are to be introduced, the specialized machines have to be shut down and the
hardware retooled for the next generation of models. Since peri- odic modification of the
production hardware is required, this type of automation is
1

7
Robotic Manipulation

The term robot can convey many different meanings in the mind of the reader, depending on the context. In the treatment presented here, a robot will be taken to mean an
industrial robot, also called a robotic manipulator or a robotic arm. An ex- ample of an
industrial robot is shown in Fig. 1-1. This is an articulated robotic arm and is roughly
similar to a human arm. It can be modeled as a chain of rigid links interconnected by
flexible joints. The links correspond to such features of the human anatomy as the chest,
upper arm, and forearm, while the joints correspond to the shoulder, elbow, and wrist. At
the end of a robotic arm is an end-effector, also called a tool, gripper, or hand. The tool
often has two or more fingers that open and cise.
To further characterize industrial robots, we begin by examining the role they play
in automation in general. This is followed by a discussion of robot classifica- tions using
a number of criteria including: drive technologies, work envelope ge- ometries, and
motion control methods. A brief summary of the most common appli- cations of robots is
then presented; this is followed by an examination of robot design specifications. Chap. 1
concludes with a discussion of the use of notation and a summary of the notational
conventions adopted in the remainder of the text.

1-1 AUTOMATION AND ROBOTS

Mass-production assembly lines were first introduced at the beginning of the twenti- eth
century (1905) by the Ford Motor Company. Over the ensuing decades, special- ized
machines have been designed and developed for high-volume production of me- chanical
and electrical parts. However, when each yearly production cycle ends and new models
of the parts are to be introduced, the specialized machines have to be shut down and the
hardware retooled for the next generation of models. Since peri- odic modification of the
production hardware is required, this type of automation is
1

referred to as hard automation . Here the machines and processes are often very efficient, but
they have limited flexibility.
More recently, the auto industry and other industries have introduced more flexible
forms of automation in the manufacturing cycle. Programmable mechanical manipulators
are now being used to perform such tasks as spot welding, spray paint- ing, material
handiing, and component assembly. Since computer-controlled mechanical manipulators can
be easily converted through software to do a variety of

Figure 1-1 An industrial robot. (Courtesy of Intelledex, Inc., Corvallis, OR.)

tasks, they are referred to as examples of soft automation. A qualitative comparison of the
cost effectiveness of manual labor, hard automation, and soft automation as a function of the
production volume (Dorf, 1983) is summarized in Fig. 1-2.
It is evident that for very low production volumes, such as those occurring in small
batch processing, manual labor is the most cost-effective. As the production volume
increases, there comes a point V\ where robots become more cost-effective than manual
labor. As the production volume increases still further, it eventually reaches a point Vi where
hard automation surpasses both manual labor and robots in cost-effectiveness. The curves in
Fig. 1-2 are representative of general qualitative trends, with the exact data dependent upon
the characteristics of the unit being pro- duced. As robots become more sophisticated and
less expensive, the range of pro-

Robotic Manipulation Chap. 1

referred to as hard automation. Here the machines and processes are often very efficient, but they
have limited flexibility.
More recently, the auto industry and other industries have introduced more flexible forms
of automation in the manufacturing cycle. Programmable mechanical manipulators are now
being used to perform such tasks as spot welding, spray paint- ing, material handiing, and
component assembly. Since computer-controlled mechanical manipulators can be easily
converted through software to do a variety of

Figure 1-1 An industrial robot. (Courtesy of Intelledex, Inc., Corvallis, OR.)

tasks, they are referred to as examples of soft automation . A qualitative comparison of the cost
effectiveness of manual labor, hard automation, and soft automation as a function of the
production volume (Dorf, 1983) is summarized in Fig. 1-2.
It is evident that for very low production volumes, such as those occurring in small batch
processing, manual labor is the most cost-effective. As the production volume increases, there
comes a point v\ where robots become more cost-effective than manual labor. As the production
volume increases still further, it eventually reaches a point vi where hard automation surpasses
both manual labor and robots in cost-effectiveness. The curves in Fig. 1-2 are representative of
general qualitative trends, with the exact data dependent upon the characteristics of the unit being
pro- duced. As robots become more sophisticated and less expensive, the range of pro-

Robotic Manipularon Chap. 1

Type

Notation

Symbol

Description

Revolute

Rotary motion about an axis

Prismatic

Linear motion along an axis

TABLE 1-2 ROBOT WORK ENVELOPES BASED ON MAJOR AXES

manipulation of substantial loads is required, such as in molten Steel handiing or auto


body part handiing, hydraulic-drive robots are preferred. One serious drawback of
hydraulic-drive robots lies in their lack of cleanliness, a characteristic that is im- portant
for many assembly applications.
Both electric-drive robots and hydraulic-drive robots often use pneumatic tools or
end-effectors, particularly when the only gripping action required is a simple open-close
type of operation. An important characteristic of air-activated tools is that they exhibit
built-in compliance in grasping objects, since air is a compressible fluid. This is in
contrast to sensorless rigid mechanical grippers, which can easily damage a delicate object
by squeezing too hard.

U
ni
t
c
o
st

1- 2-2 Work-Envelope Geometries

Robot
Cartesian
Cylindrical
Spherical
SCARA
Articulated

Axis 1
P
R
R
R
R

Axis 2

AxisProduction
3
Total revolute
volume

Figure 1-2 Relative cost-efectiveness


of soft automation.

The end-effector,
orP tool, of a robotic
manipulator is typically mounted on a flange or pate
P
0
duction
volumes
[ui,the
U2]
overThe
which
they
are envelope
cost-effective
contines
to expand
at both ends of
secured
to the
wrist of
robot.
gross
work
of a robot
is defined
as the
P
P
1
theofproduction
spectrum.
locus
points in three-dimensional
space that can be reached by the wrist. We will refer
R
P
2
to more
distinguish
hard speaking,
automation,
it the
is useful to
to the axesInoforder
the first
threeclearly
joints of
a robot assoft
the automation
major axes.from
Roughly
it is
R
P
2
introduce
a specific
a the
robot.
A number
definitions
have
proposed over the
major
axes that
areRuseddefinition
to determine
position
of theofwrist.
The axes
of been
the remaining
R
3of Jbt
joints,
the However,
minor axes,
are usedtechnology
to establishcontines
the ori- entation
of any
the tool.
As a consequence,
years.
as robotic
to evolve,
definition
proposed may need to
the be
geometry
theupdated
work envelope
is determined
by the
of joints
used in
forthis
thetext, the
refined of
and
before long.
For the
purpose
ofsequence
the material
presented
firstfollowing
three axes.
Six typesis of
robot joints are possible (Fu et al., 1987). However, only two
definition
used:
basic types are commonly used in industrial robots, and they are listed in Table 1-1.
Definition 1-1-1: Robot. A robot is a software-controllable mechanical de- vice that uses
sensors to guide one or more end-effectors through programmed mo- tions in a workspace in
order to maniplate physical objects.
TABLE 1-1 TYPES OF ROBOT JOINTS

Contrary to popular notions about robots in the Science fiction literature (see, for instance,
Asimov, 1950), todays industrial robots are not androids built to im- personate humans. Indeed,
most are not even capable of self-locomotion. However, many of todays robots are
anthropomorphic in the sense that they are patterned af- ter the human arm. Consequently,
industrial robots are often referred to as robotic arms or, more generally, as robotic
manipulators.
Revolute joints (R) exhibit rotary motion about an axis. They are the most common
1-2 ROBOT
type of CLASSIFICATION
joint. The next most common type is a prismatic joint (P), which exhibits sliding

or linear motion along an axis. The particular combination of revolute and prismatic joints
refineaxes
the determines
general notion
of a robotic
it is helpful
to classify in
manipulators
for In
theorder
threetomajor
the geometry
of manipulator,
the work envelope,
as summarized
Table
according
1-2. Thetolist
various
in Table
criteria
1-2 issuch
not as
exhaustive,
drive technologies,
since therework
are eight
envelope
possibilities,
geometries,
but and
it is motion
representative
of the vast majority of com- mercially available robots. As far as analysis of
control methods.
the motion of the arm is concerned, prismatic joints tend to be simpler than revolute joints.
Therefore
1- 2-1 Drive
theTechnologies
last column in Table 1-2, which specifies the total number of revolute joints
for the three major axes, is a rough indication of the complexity of the arm.
For
robot listedclassification
in Table 1-2,schemes
the threeismajor
prismatic;
the used to
One
of the
the simplest
most fundamental
basedaxes
uponare
theall
source
of power
resulting
notation
configuration
PPP.popular
This is drive
characteristic
of a Cartesiandrive the
jointsfor
of this
the robot.
The twoismost
technologies
are electric and hydrauic.
coordinate
robotmanipulators
, also called atoday
rectangular-coordnate
robot.
An example
Most robotic
use electric drives in
the form
of either DC servomotors or DC
stepper motors. However, when high-speed
Robotic Manipulation Chap. 1

4
See. 1-2 Robot Classification

Control method

Applications

Point to point

Spot welding
Pick-and-place
Loading and unloading

Continuous path

Spray painting
Are welding
Gluing

When the lastTABLE


remaining
prismatic joint
replaced
by a revolute joint (to yield the
1-5 DISTRIBUTION
OFisWORLD
ROBOT
POPULATION
(1984)
configuration
RRR),
this produces
an articulated-coordnate
robot
An articulated-coordnate
[Coordnate 1
If the
second
a cyndrical-coordinate
robot
is replaced
with
acalled
revolute
Material handiing
24.4
The
other joint
type of motion
is continuous-path
motion,
sometimes
con-joint
trolled-path
robot
is
the
dual
of
a
Cartesian
robot
in
the
sense
that
all
three
of
the
major
axes
revolute
that the
configuration
is then RRP),
this produces
a spherical-coordinate
robot. Anspace,areand
5. Here the f (so motion.
Here the end-effector
must follow
a prescribed
path in three- dimensional
Spot welding
16.5
rather
than prismatic.
articulated-coordinate
robot
is the
theafirst
most
anthropomorphic
of
a spherical-coordinate
robot
is shown
in Fig.
1-5.
Here
revolute
joint control
the speed
of motion
along theThe
path
may
vary. This
clearly
presents
more
challenging
Are weldingaxis, while tal example
14.5
configuration;
is,about
it most
closely
resembles
the anatomy
of the
human
arm.
Articulated
the12.4
arm
back andofthat
forth
a vertical
base
axis,
while
the second
revolute
joint
Spray painting
and finishing
shoulder
rk swings
problem.
Examples
applications
for
robots
with
continuous-path
motion
control
include
Mechanicalenvelope
assembly rhe pitches
6.2
robots
called
revolute
robots.shoulder
Anofexample
an prismatic
articulated-coordinate
robot is shown in
arm upare
and
down
about
athe
horizontal
axis.
The
joint moves the
paintthe
spraying,
arealso
welding,
and
application
glue
or of
sealant.
Electronic assembly
4.8
wrist radially
out. The
workrevolute
envelope
generated
caseback
is the
between
Fig.in1 and
-7. Here
the first
joint
swings in
thethis
robot
andvolume
forth about
a vertical base axis.
spheres te
Material removal
4.5
1- 3 APPLICATIONS
two concentric
spheres.joint
Thepitches
spheresthe
arearm
typically
froma horizontal
above, below,
and behind
The second
up andtruncated
down about
shoulder
axis, and the third
ranges
of
Inspection and
testing
2.9
by
limits
on
the
ranges
of
travel
of
the
joints.
joint
pitches the
forearm
up and
down
about repetitive
a horizontal
elbow
These
motions
Water jet cutting
2.7
Robotic
applications
often
involve
simple,
tedious,
tasks
suchaxis.
as the
loading andcreate a
P
=
prismatic,
R
=
revolute.
Other
11.1
complex
work envelope,
with
a side-view
cross
section
typically in
being
crescent-shaped.
unloading
of machines.
They also
include
tasks that
must
be performed
harsh
or unhealthy
Application

Percent

h a revolute

such as spray
the handiing
toxic
A summary
of aenvironments
Cartesian-coordinate
robotpainting
is shownand
in Fig.
1-3. Noteofthat
thematerials.
three sliding
joints of robot
applications
(Brody,the
1987)
displayed
in Table
the percentages
in the second
correspond
to moving
wristisup
and down,
in and1-4.
out,Here
and back
and forth. Itlisted
is evident
represent
shares
of the
overallthat
robot
in the United
States
the year 1986.
thatcolumn
the work
envelope
or work
volume
thismarket
configuraron
generales
is afor
rectangular
box. The
sizeaofCartesian-coordinate
the market in 1986, robot
excluding
seprate
sales
of visin
systems, was
$516itmillion
When
is mounted
from
above
in a rectangular
frame,
is
1- 4 ROBOT referred
SPECIFICATIONS
to 1987).
as a gantry robot.
(Brody,
While the drive technologies, work-envelope geometries, and motion control meth ods provide
convenient ways to broadly classify
there
are aMARKET
number (1986)
of addi tional characteristics that
TABLErobots,
1-4 U. S.
ROBOT
allow the user to further specify robotic manipulators Some of the more common characteristics are
listed in Table 1-6.
TABLE 1-6 ROBOT CHARACTERISTICS
Figure 1-5 Spherical robot.

t.

Like a spherical-coordinate robot, a SCARA robot (Selective Compliance As- sembly


Robot Arm) also has two revolute joints and one prismatic joint (in the configuration RRP)
to position the wrist. However, for a SCARA robot the axes of all three joints are vertical, as
shown in Fig. 1-6. The first revolute joint swings the arm back and forth about a base axis
Figure 1-7 Articulated robot.
that can also be thought of as a vertical shoulder axis. The second revolute joint swings the
Percent
Figure
Cartesian
robot.control
forearm back and forth about a vertical elbow axis. Thus the
two1-3revolute
joints
2-3
Motion
Methods
motion 1in the
a horizontal
plae.
The
vertical component
motionwith
is provided
byjoint
the third
If
first
jointControl
of a Cartesian-coordinate
robotofisthe
replaced
a revolute
(to
44.1
Traditional
applications
of material
handiing,
androbot.
painting
andof
finishing
joint,
prismatic
joint which
the
wristaup
and down.welding,
The shape
ofspray
a horizontal
cross
form athe
configuration
RPP),slides
this produces
cylindrical-coordnate
An
example
a
22.1
continu
to dominate.
market
of
assembly
applications,
both
mechanical
and
section
of the
work
envelope
of shown
aclassification
SCARA
robot
can
berevolute
quite
complex,
depending
upon
cylindrical-coordinate
robotThe
is
inshare
Fig.
1-4.
The
joint swings
arm
back
and ment of the
Another
fundamental
criterion
is
the
method
used
tothe
control
thethe
move8.8
electrical,
has
grown
steadily
over
the
past
decade,
and
there
is
clearly
potential
for
more
limits
on the
ofbase
travel
forThe
thetwo
first
two axes.
forth about
aranges
vertical
axis.
The
prismatic
jointsofthen
move the
down
end-effector
or tool.
basic
types
movement
arewrist
listedupinand
Table
1-3.along
The first type is
7.4
applications
in
this
area.
However,
the
general
assembly
problem
has
turned
out
to
be quite
the vertical
axis
out along
a radial
axis.
Since
be some
minimum
radial
2.9 and in and
point-to-point
motion,
where
the tool
moves
to there
a se- will
quence
of discrete
points
in the workspace.
challenging.
assembly
canthis
be modeled
as a sequence
of volume
carefully
planned
position,
the 2.9
workThe
envelope
gen-process
erated by
joint configuration
is the
between
The path
between
the points is and
not exby the The
user.delicate
Point-to-point
collisions
between
the manipulator
the plicitly
objeets controlled
in its workspace.
motionmotion is
two vertical
concentric
cylinders.
2.2
useful
operations
are discrete
intates
nature.
spotffom
welding
is an application
control
that for
is required
forwhich
assembly
tasks dictheFor
useexample,
of feedback
external
9.6
for which
point-the
to-point
tool isinallorder
that to
is required.
sensors.
This allows
robot motion
to adaptofitsthe
motion
compnsate for part tolerances

pliance A slint (in the


the axes of
swings the
Country tical shoul3ut a vertiJapan
ntal plae.
U S A . I prismatic
West Germany
section of ;
Sweden upon the
France
Great Britain
Italy
Others

and other uncertainties in the en- vironment. Often customized fixtures and jigs are used to
secure parts and present them to the robot at known positions and orientations (Boyes, 1985).
This has the effect of reducing
uncertainty,
can beMOTION
an expensive
approach.
TABLE
1-3 TYPES but
OF it
ROBOT
CONTROL
The world population of installed robots as of the end of 1984 (Wolovich, 1987) was
LnJcountry that has the largest population of industrial
reported to be approximately 68,000. The
robots1 is
<r Japan; it is followed by the United States, West Germany, and Sweden, as can be
seen in Table 1-5. If the robot population figures in Table 1-5 are normalized by the human
population of the 7country, the leading country in per capita robot population is Sweden.

p
-

Characteristic
Number of axes

Robot Classification

Sec. 1-2

Load carrying capacity


Mximum speed,
cycle
Chap.
1 time
Reach and stroke
Tool orientation
Repeatability
Precisin and accuracy
Operating environment

Figure 1-4 Cylindrical robot.


Figure 1-6 SCARA robot

Units

kg
mm/sec
Sec. 1-2 Robot Classification
mm
deg
mm
mm

Robotic Manipulation Chap


Robotic Manipulation Chap. 1

Axes
1-3
4-6
1-n

TVpe
Major
Minor
Redundant

Function
Position the wrist
Orient the tool
Avoid obstacles

1- 4-1 Number of Axes

Each robotic manipulator has a number of axes about which its links rotate or along which its links
transate. Usually, the first three axes, or major axes, are used to es- tablish the position of the
wrist, while the remaining axes are used to establish the orientation of the tool or gripper, as shown
in Table 1-7. Since robotic manipulation is done in three-dimensional space, a six-axis robot is a
general manipulator in the sense that it can move its tool or hand to both an arbitrary position and
an arbitrary orientation within its workspace. The mechanism for opening and closing the fingers
TABLE 1-7 AXES OF A ROBOTIC MANIPULATOR

or otherwise activating the tool is not regarded as an independent axis, because it does not
con tribute to either the position or the orientation of the tool. Practical industrial robots
typically have from four to six axes. Of course, it is possible to have manipulators with more
than six axes. The redundant axes can be useful for such things as reaching around obstacles
in the workspace or avoiding undesirable geo- metrical configurations of the manipulator.
1-4-2 Capacity and Speed

Load-carrying capacity varies greatly between robots. For example, the Minimover 5
Microbot, an educational table-top robot, has a load-carrying capacity of 2.2 kg. At the other
end of the spectrum, the GCA-XR6 Extended Reach industrial robot has a load-carrying
capacity of 4928 kg (Roth, 1983-1984). The mximum tool-tip speed can also vary
substantially between manipulators. The Westinghouse Series 4000 robot has a tool-tip speed
of 92 mm/sec, while the Adept One SCARA robot has a tool-tip speed of 9000 mm/sec (Roth,
1983-1984). A more meaningful mea- sure of robot speed may be the cycle time, the time
required to perform a periodic motion similar to a simple pick-and-place operation. The
Adept One SCARA robot carrying a 2.2-kg payload along a 700-mm path that consists of six
straight-line seg- ments has a cycle time of 0.9 sec. Thus the average speed over a cycle is
778 mm/sec, considerably less than the 9000 mm/sec mximum tool-tip speed.
Although the load-carrying capacities and mximum operating speeds of robots vary
by several orders of magnitude, it is, of course, the mix of characteristics that is important
when selecting a robot for a particular application. In some cases, a large load-carrying
capacity may not be necessary, while in other cases accuracy may be more important than
speed. Clearly, there is no point in paying for addi- tional characteristics that are not relevant
to the class of applications for which the robot is intended.
1- 4-3 Reach and Stroke

The reach and the stroke of a robotic manipulator are rough measures of the size of the
work envelope. The horizontal reach is defined as the mximum radial distance the wrist
mounting flange can be positioned from the vertical axis about which the robot rotates. The
horizontal stroke represents the total radial distance the wrist can travel. Thus the
horizontal reach minus the horizontal stroke represen ts the mini- mum radial distance the
wrist can be positioned from the base axis. Since this distance is nonnegative, we have:
Stroke ^ reach

(1-4-1)

For example, the horizontal reach of a cylindrical-coordinate robot is the ra- dius of
the outer cylinder of the work envelope, while the horizontal stroke is the difference
between the radii of the concentric outer and the inner cylinders, as shown in Fig. 1-8.
The vertical reach of a robot is the mximum elevation above the work surface that
the wrist mounting flange can reach. Similarly, the vertical stroke is the total vertical
distance that the wrist can travel. Again, the vertical stroke is less than or

10

Sec. 1-4 Robot Specifications

Robotic Manipulation Chap. I

Operation

Description

Axis

1
2
3

Yaw
Pitch
Roll

fl
P
P

To specify tool orientation, a mobile tool coordnate frame M {m\ m2, m3} is
attached to the tool and moves with the tool, as shown in Fig. 1-9. Here m3 is aligned with the
principal axis of the tool and points away from the wrist. Next, m1 is parallel to the line
followed by the fingertips of the tool as it opens and closes. Finally, m 1 completes the righthanded tool coordnate frame M.
By convention, the yaw, pitch, and roll motions are performed in a specific order about a
set of fixed axes. Initially, the mobile tool frame M starts out coincident with a fixed wrist
coordnate frame F = i/1,/2,/3} attached at the end of the fore- arm. First the yaw motion is
performed by rotating the tool about wrist axis f\ Next, the pitch motion is performed by
rotating the tool about wrist axis/ 2. Finally, the roll motion is performed by rotating the tool
about wrist axis /3. In each case positive angles correspond to counterclockwise rotations as
seen looking along the axis back toward the origin.
The order in which the yaw, pitch, and roll motions are performed is signif- icant
because it affects the final orientation of the tool. For example, a yaw of 7t/2 followed by a
1-8 Reach andfrom
stroke
of orientation
a cylindrical robot.
pitch of 7t/2 yields a different finalFigure
tool orientation
the
produced by a pitch of
tt/2 followed by a yaw of 7 t/2 . Thus, implicit in the YPR convention is the order of rotations
equal
the vertical
reach. For example, the vertical reach of a cylindrical robot will be larger
summarized
into
Table
1-8.
than the vertical stroke if the range of travel of the second axis does not allow the wrist to reach
the work surface, as shown in Fig. 1-8. One of the useful characteristics of articulated robots
TABLE
YAW,havefull
PITCH, AND
MOTIONin the sense that the stroke equals the
lies in the fact that
they1-8often
workROLL
en- velopes,
reach. However, this feature gives rise to a need for programming safeguards, because an
articulated robot can be pro- grammed to collide with itself or the work surface.

1- 4-4 Tool Orientation

While the three major axes of a robot determine the shape of the work envelope, the remaining
axes determine the kinds of orientation that the tool or hand can assume. If three independent
minor axes are available, then arbitrary orientations in a three - dimensional workspace can be
obtained. A number of conventions are used in the robotics literature to specify tool orientation
(Fu et al., 1987). The tool orientation convention that will be used here is the yaw-pitch-roll
(YPR) system. Yaw, pitch, and roll angles have long been used in the aeronautics industry to
specify the orientation of aircraft. They can also be used to specify tool orientation, as shown in
Fig. 1-9.

Figure 1-9 Yaw, pitch, and roll of tool.

Sec. 1-4 Robot Specifications

11

Robot
Type
Cartesian
Cylindrical
Spherical
SCARA
Articulated

Horizontal
Precisin

Vertical
Precisin

Uniform
Decreases radially
Decreases radially
Varies
Varies

Uniform
Uniform
Decreases radially
Uniform
Varies

axis problem (Pieper, 1968). Many industrial robots are designed with spherical wrists.

1- 4-5 Repeatability, Precisin, and Accuracy

Repeatability is another important design characteristic. Repeatability is a measure of the


ability of the robot to position the tool tip in the same place repeatedly. On account of such
things as backlash in the gears and flexibility in the links, there will always be some
repeatability error, perhaps on the order of a small fraction of a mil- limeter for a welldesigned manipulator (Groover et al., 1986).
Closely related to the notion of repeatability is the concept of precisin. The
precisin of a robotic manipulator is a measure of the spatial resolution with which the tool
can be positioned within the work envelope. For example, if the tool tip is positioned at
point A in Fig. 1-10 and the next closest position that it can be moved to is B, then the
precisin along that dimensin is the distance between A and B.
Precisin
A

V
A

Accuracy

Adjacent
tool
position

V
Figure 1-10 Adjacent tool positions.

More generally, in three-dimensional space the robot tool tip might be positioned
anywhere on a three-dimensional grid of points within the workspace. Typi- cally, this grid
or lattice of points where the tool tip can be placed is not uniform. The overall precisin of
the robot is the mximum distance between neighboring points in the grid. For example, an
An alternative
way
to specify
the YPR motions isrobot
to instead
perform
rotationsininthe
interior grid
point
of a Cartesian-coordinate
will have
eightthe
neighbors
reverse order
about the
axesplus
of the
mobile
tool frame
Mpoints
ratherinthan
the
fixed
wristand
ffame
F. One of
horizontal
plae
nine
neighboring
grid
the
planes
above
below.
That is, firstthea roll
motion
performed about m 3robot
, thenisa that
pitchthe
motion
is performed
about
m 2,
virtues
of a is
Cartesian-coordinate
precisin
is
uniform
throughout
the
l
and finally work
a yawenvelope;
motion isthe
performed
about
m
.
This
is
equivalent
to
performing
the
rotations
state of one axis does not influence the precisin along another axis.
about the axes
of
the
fixed
wrist
frame
in other
the original
YPR
order,
thebesense
the tool
However, this is not the
caseFfor
types of
robots,
as in
can
seen that
in Table
1-9, where
ends up at the
same
orientation.
For
this
reason,
the
YPR
system
is
often
referred
to
as
the
the overall precisin is decomposed into horizontal and vertical componen ts.
RPY system. A sequence
of rotations
about the mobile frame
Mthe
axes
is often easier
to is highest
For the case
of a cylindrical-coordinate
robot,
horizontal
precisin
visualize, particularly
whensurface
the angles
arework
not mltiples
TTlowest
/2.
along the inside
of the
envelope of
and
along the outside surface. This is
because the are length swept out by an incremental movement A< in
Definition 1-4-1: Spherical Wrist, A robot has a spherical wrist if and only if the axes
used to orient the tool intersect at a point.
TABLE 1-9 HORIZONTAL AND VERTICAL PRECISION
The robot wrist shown in
Fig. 1-9 is an example of a spherical wrist because the three
axes used to orient the tool, {m 1, m2, m3}, intersect at a point. More gen- erally, if a robot
possesses fewer than three axes to orient the tool, then it can still have a spherical wrist.
However, in these cases the spherical wrist will not be a general spherical wrist, because, with
fewer than three axes, some orientations of the tool cannot be achieved. Spherical wrists are
useful because they simplify the mathe- matical descriptions of robotic manipulators. In
particular, the larger n-axis problem can be partitioned into a two simpler problems, a 3-axis
problem and an (n 3)-

12

Robotic Manipulation Chap. 1

the base joint is proportional to the radial position r, as can be seen in Fig. 1-11. Note how the
shape of a horizontal grid element is not square and grid elements near the outside surface of
the work envelope are larger than grid elements near the inside surface of the work envelope.
rA0

Figure 1-11 Horizontal precisin of a


cylindrical robot.

Here the radial precisin is Ar, while the angular precisin about the base expressed in terms of the are length is r A</>. In the worst case, the angular precisin is
R A<>, where R is the horizontal reach of the robot. Thus the overall horizontal precisin in this case is approximately
A/i [(Ar)2 + (R A<>)2]1/2

(1-4-2)

Here we have assumed that A</> and Ar are sufficiently small and that the angle bac
in Fig. 1-11 is approximately TT/2. If AZ represents the vertical precisin of a cylindrical-coordinate robot, then the total robot precisin is
Ap ~ [(Ar)2 + (R A<f))2 + (Az)2]1/2

(1-4-3)

For a spherical-coordinate robot, both the horizontal precisin and the vertical
precisin are highest along the inside surface and lowest along the outside surface of
the work envelope. For SCARA robots, the horizontal precisin varies, but the vertical precisin is uniform. It is this feature, together with its open work envelope,
that makes the SCARA robot useful for light assembly work such as the vertical insertion of electrical components into circuit boards. With articulated robots, both
the horizontal precisin and the vertical precisin vary over the work envelope.
An alternative way to specify the precisin of a robot is to specify the precisin
of the individual joints. Clearly this is easier to analyze, although it is perhaps less
useful. The precisin or spatial resolution of an individual joint is affected by the
drive system, the position sensors, and the power transmission mechanism,
including
gears, sprockets, and
cables. For example, suppose the reference
position signal is
generated internally in a control Computer and then sent to an external analog feedback position control system through an n-bit digital-to-analog converter (DAC). If
the range of load shaft positions attainable goes from </> min through (w, then the
load shaft precisin ADAC in this case is given by:
a

W'takx

Y mi n .

A<Pdac =---------------degrees per count

,, &

Sec. 1-4 Robot Specifications

14

.\

(1-4-4)
13

Robotic Manipulation Chap. 1

On many robots, incremental encoders are used to determine shaft position rather than
absolute encoders such as potentiometers. Incremental encoders typically consist of a slotted
disk with infrared emitter-detector pairs. As the shaft turns, the infrared beams are either
interrupted or not, depending upon the position of the slotted disk. If two or more emitterdetectors are used, then both the direction and the magnitude of the rotary motion can be
determined. This can be seen in Fig. 1-12, where a slotted disk with a pair of slots arranged in
phase quadrature is displayed. Here a broken beam is represented by a 1, while an unbroken
beam is represented by a 0. Note that there are four possible States. Since only one bit changes
between adjacent States, the overlapping slots generate what is called a gray code. If the encoder output is sampled sufficiently fast, then the direction of the movement can be inferred
by comparing the od State with the new State. The counter which stores the accumulated shaft
position is then either incremented or decremented as appropriate.

Figure 1-12 Slotted disk with 2-bit gray


code.

More generally, if d emitter-detector pairs are used, and if there are k slots around the
circumference of the disk, then the precisin with which the shaft position can be measured is
360/{kl*) degrees per count. The encoded disk is usually mounted on the high-speed shaft of the
motor, rather than the load shaft. If the gear reduction ratio from the high-speed shaft to the load
shaft is m: 1, then the overall incremental load shaft precisin A<fr nc is

A<mc = , d degrees per count

(1-4-5)

The accuracy of a robotic manipulator is a measure of the ability of the robot to place the
tool tip at an arbitrarily prescribed location in the work envelope. Robotic arm accuracy is not
nearly as easy to analyze as precisin. Accuracy de- pends, for example, on such things as gear
backlash and elastic deformations in the links due to loading. However, a simple bound can be
placed on the error or inaccu- raey, in terms of the precisin, namely:
_ precisin
Error > E ---------Sec. 1-4 Robot Specifications

491482

(1-4-6)

15

Clearly, if the precisin of the robot dictates that only a discrete grid of points can
cremental encoder attached to the high-speed shaft. The encoders resolve the high- speed
be visited within the work envelope, then the accuracy with which an arbitrary point can
position to 60 degrees. Since each motor has a built-in gear head with a tums ratio of 66.6 : 1,
be visited is, at best, half of the grid size, as shown in Fig. 1-10. In general, the accuracy
thisbe
results
in a precisin
for each
load shaft
0.901 degrees
perofcount.
Finally,
each joint has
will not
that good.
For example,
the robot
may of
gradually
drift out
calibration
with
its own
set of sprockets
and chains
which
then determine
theperiodically
joint angle precisin.
prolonged
operation.
To maintain
reasonable
accuracy,
robots are
reset or The
resulting
precisin
degrees
per count
eachswitch
joint and
for the tool is summarized in Table
zeroed
to a standard
hardinhome
position
usingforlimit
sensors.
1-11.
Although robotic manipulators are not nearly as accurate as their more expen- sive
and more specialized hard automation
counterparts, they do provide increased flexibility.
TABLE 1-11 LOAD SHAFT PRECISION OF
It is one of the great challenges ofTHE
robotics
to XR-3
makeROBOT
use of this increased flexibility to
RHINO
compnsate for less than perfect accuracy. In particular, clever al- gorithms and control
strategies are needed that make use of external sensors to compnsate for uncertainties in
the environment and the uncertainties in the exact position of the robot itself.
1-4-6 Operating Environment

The operating environments within which robots ftmction depend on the nature of the
tasks performed. Often robots are used to perform jobs in harsh, dangerous, or unhealthy
environments. Examples include the transport of radioactive materials, spray painting,
welding, and the loading and unloading of furnaces. For these applications the robot must
be specifically designed to oprate in extreme temperatures and contaminated air. In the
case of paint spraying, a robotic arm might be clothed in a shroud in order to minimize
the contamination of its joints by the airborne paint particles.
At the other extreme of operating environments are clean room robots. Clean room
Figure
robot. (Courtesy of Rhino Robots, Inc., Champaign,
Characteristic
Valu1-13 An educational
Units
robots are IL.
used
in the semiconductor
manufacturing
industry
such tasks as the
Robotic
arm
developed
manufactured
in thefor
U.S.A.)
Figure 1-13 An educational robot.and
(Courtesy
of Rhino Robots,
Inc.,
Champaign,
handiing
of
Silicon
wafers
and
photomasks.
Specialized
equipment
has to be loaded and

Number of axes
5
IL. Robotic
arm developed and manufactured in the U.S.A.)
unloaded
at theof
various
room processing
stations.
Here the
robot is operating
an electricIn terms
broad clean
classification,
the Rhino
XR-3 robotic
manipulator
is a five-inaxis
Load-carrying capacityenvironment
0.5
kg
in which parameters such as temperature, humidity, and airflow are carefully
drive articulated-coordinate
robot with the
point-to-point
motion
control
(Hendrickson
and Sandhu,
In
terms
of broad
Rhino
XR-3be
robotic
manipulator
a fiveMximum tool-tip speed
650.0
mm/sec
controlled. In this
case itclassification,
is the robot itself
that must
designed
to be veryisclean
so axis
as to
1986).
The
specifications
of
the
Rhino
XR-3
are
summarized
in
Table
1-10.
The
load-carrying
Horizontal reach and electric-drive
stroke
628.6
mm
articulated-coordinate
robot
with
point-to-point
motion
control
(Hendrickson
minimize the contamination of work pieces by sub- micron particles. Some clean room and
Vertical reach and stroke
889.0
mmspeed,
capacity,
mximum
tool-tip
repeatability
estimates
on
use by
of this
robot in
Sandhu,
1986).
The specifications
ofand
the
Rhino
are
summarized
inbased
Table
1-10.
The
loadrobots are
evacuated
internally
with
suction
in XR-3
orderare
to rough
scavange
particles
generated
Tool pitch range
270.0
deg
an
instructional
laboraThe
reach
andshedding
stroke
specifications
are
measured
with
respect
to the
carrying
capacity,
mximum
speed,
and
repeatability
estimates
based
on use
of
ffiction
surfaces.
Otherstory.
usetool-tip
special
nonmaterials are
andrough
employ
magnetic
Tool roll range
360.0
deglaborathis
robot
in hold
an
instructional
tory.
The
reach
andtool.
stroke specifications are measured with
tool
tip assuming
that standard
fingers
arein
used
for the
washers
to
ferromagnetic
lubricant
place.
Repeatability
2.5
mm
respect Another
to the tool
tip assuming
that standard
fingers
are is
used
theshaft
tool.precisin for each of the
usefiil
specification
for the Rhino
robot
thefor
load
Another
for the
Rhino
robot isthat
the has
loadanshaft
1-five
4-7axes.
An
Example:
XR-3
Eachuseful
axisRhino
isspecification
driven
by a 12-V
DC
servomotor
in- precisin for each of the
five axes. Each axis is driven by a 12-V DC servomotor that has an inIn recent years a number of educational table-top robots have appeared in the marCharacteristic
Valu
Units
ketplace. Many educational robots employ open-loop position control using DC stepper
TABLE
1-10 RHINO
XR-3are
SPECIFICATIONS
motors. Some
table-top
robots
also available which use closed-loop
educational
Number of axes
5
TABLE
1-10 RHINO XR-3 SPECIFICATIONS
position control with DC servomotors and incremental encoders. An example of the
Load-carrying capacity
kg
latter type 0.5
of educational
robot is the Rhino XR-3 robot, pictured in Fig. 1-13.
Mximum tool-tip speed
Horizontal reach and stroke
Vertical reach and stroke
Tool pitch range
Tool roll range
Repeatability
Motor
F
E
D
C
B
A

650.0
628.6
889.0
270.0
360.0
2.5

Joint
Base
Shoulder

mm/sec
mm
mm
deg
deg
mm

Precisin

16

0.2269

Robotic Manipulation Chap. 1

0.1135

Elbow
0.1135
Tool pitch
0.1135
Sec.
1-4
Robot
Tool roll
0.3125Specifications
Tool closure
1.2500

17

17

Entity
Scalars
Column vectors
Matrices, sets

Notation

Examples

Subscripted
Lowercase

a,, o2, ai. 2, An, A12


a, b, c, a, /3, y, x\ x2

Uppercase

a, B , c, d, r, l, , Y

writing on a blackboard or when students are taking notes in a class notebook. One common
alternative for these media is the underlining convention whereby vectors are underlined once and
matrices twice. However, repeated underlining becomes very cumbersome when vectors and
matrices are used extensively.
The general convention employed here is to instead regard all mathematical quantities as
either column vectors, matrices, or sets. Column vectors are denoted with lowercase letters, both
English and Greek, while matrices and sets are denoted with uppercase letters. Single subscripts
denote scalar components of column vectors, whereas double subscripts denote scalar components
of matrices. In the case of matrices, the first subscript is the index of the row, while the second is
the index of the column. These general notational conventions are summarized in Table 1-12.

TABLE 1-12 NOTATIONAL CONVENTIONS

Units of precisin: degrees per count.

The Rhino XR-3 robot is one of several robots that are used as vehicles for illustrating theoretical concepts covered in the remainder of this text. Direct and in- verse
kinematics, work-envelope calculations, trajectory planning, and control are examined. A
series of laboratory projects designed around a robotic work cell which features a Rhino XR3 robot and a Micron Eye camera are included in a seprate Laboratory Manual that
accompanies this text (Schilling and White, 1990, in press). These laboratory programming
projects are designed to play an integral part in any course using this text and are strongly
recommended. If a Rhino XR-3 or other educational robot is not available, a threedimensional graphics robot simulator program called SIMULATR that is supplied with the
Laboratory Manual can be used as a substitute. The use of the graphics simulator for
development of robot control pro- grams is highly recommended even when a physical robot
is available. This way robot control programs can be conveniently developed and debugged
off-line with the final versin of the program tested on an actual robot.

1- 5 NOTATION

Robotics is a broad interdisciplinary field that encompasses a variety of traditional topics


from electrical engineering, mechanical engineering, and Computer science. This breadth
makes the field quite exciting, but at the same time it poses a challenge when it comes to
developing a clear and consistent notation. Since notation and ter- minology play an
important role in any detailed treatment of robotics, we pause at this point to discuss and
summarize the notational conventions that will be used in the remainder of this text.
Scalars, vectors, matrices, and sets are used to simplify the presentation and make it
more concise. To distinguish vectors and matrices fforn scalars, boldface print is traditionally
employed. Although this approach is effective for printed material, the use of boldface
characters is, at best, inconvenient when instructors are

18

Robotic Manipulation Chap-1

We often need to specify a set of vectors satisfying a certain property P for example,
the set of all Solutions to a particular equation or perhaps the set of all vectors whose first
component is zero. In these cases the set of all vectors belonging to subset U that also satisfy
property P is represented as follows:
r = {JC E U: P (JC)}.

(1-5-4)

Here E is the set membership symbol, and P(x) is a property of x. For example, P (x) might
represent one or more equality or inequality constraints involving x or its components.
Matrices. Just as a vector can be represented as a one-dimensional array of scalar

components, as in Eq. (1-5-1), a matrix can be represented by a two-dimen- sional array of


scalar components as follows:

It is also useful to represent a matrix in terms of its columns. The convention used here
Note that scalars can be regarded as important special cases of column vectors, that is,
is that the corresponding lowercase letter with a superscript index is used to denote a column
column
vectorsThus
with aonly
one component.
Similarly,
vectorsA,areinthemselves
cases
j
of a matrix.
denotes
the jth column
of the matrix
which casespecial
AkJ = ai,
for 1of< k
matrices,
with
row orA only
onewritten
column.
< m andthat
1 <is,j <matrices
n. The en
tireonly
m xone
n matrix
can be
in terms of its n columns as
follows:

Vectors. A column vector is represented by arranging its components in an n x 1 array and

= [a1, a2, ... y an]


enclosing them in square brackets asAfollows:

(1-5-6)

The matrix A can be viewed as a linear transformation or mapping from the vector
X\
space Rn of column vectors with n real components to the vector space R m of column vectors
X2
(1-5-1)
x = A has
with m real components. Every m x n matrix
a nuil space N (A) and a range space
*3
R(A) associated with it; these are defined as follows:
The superscript T is reserved
to denote
transpose
of a
N(A)
= {x the
E R":
A* = 0} of a vector or, more gen- erally,
(1-5-7)
matrix. The transpose is obtained by
interchanging
m
R{A)
= {Ax E Rthe
: JCrows
E Rnwith
} the columns. Thus the transpose
(1-5-8)
of an n x 1 column vector is a 1 x n row vector, and conversely. The following is therefore a spaceThe nuil space of A is the subspace of R consisting of the set of all vectors x E R
saving way of writing a column vector as a transposed
row vector:
which are mapped into the zero vector in R m by the transformation A. Thus the nuil space is
r
m
x =R[x\,
x2, xthe
(1-5-2)
3] transformation A. Similarly,
the inverse image of the zero vector in
under
the
m
range space of
is the subspace
of R members
consisting
vectorsIny
Individual superscripts
are used asAndices
to distinguish
of a setofofallvectors.
such
y = aAx
for at least
one
E R". Thus
rangea quantity
spacetoR(A)
is the parentheses
image of
those
casesthat
where
superscript
might
be xconfused
withthe
taking
a power,
R" under the transformation A. A pictorial representation of the nuil and range spaces of a
are used to remove the ambiguity. For example (jti)2 is used to denote the square of the first
matrix A is shown in Fig. 1-14.
component of the vector jc, while jc 2 denotes the first component of the second member of a set of
The dimensin of N(A) is called the nullity of A, and the dimensin of R(A) is called
vectors {jc1, jc2, . . . }.
the rank of A. One of the fundamental results of linear algebra is that the dimensin of the
nuil space plus the dimensin of the range space equals the dimensin of the space over
Sets.
square brackets
are reserved
for enclosing components of vectors and matrices,
which
theWhile
transformation
A is defined.
Therefore:
curly brackets, or braces, are used to endose members of a set. Thus a set T of vectors jc 1, jc2, . . . ,
nullity (A) + rank (A) = n
(1-5-9)
jc" is represented as follows:

20

Sec. 1-5 Notation

Robotic Manipulation Chap. 1

19

Symbol

Meaning

C <f>
s <t>

COS (f>
sin <>
1 eos 4>
eos dk
sin dk

V<f>

c*
s*

Q,
Siy
Ck-j
S k-j

eos {6k + dj )
sin {d k + dj)
Special symbols. A number of special notational symbols are used throughout the text. In
eos {d k - dj)
each
they are defined
are common, widely
Rnin the text where they first appear unless they
m
sin {dcase
k - dj)
R

accepted symbols. In any event, a list of symbols can be found in Appendix 3. This list contains
brief descriptions of special symbols used repeatedly throughout the text. Symbols which are
used only infrequently, such as for a temporary variable in a derivation or proof, are not included
in this list.
Simple trigonometric expressions appear repeatedly in the analysis of robotic arms.
Expressions involving sums and products of sines and cosines of joint angles can be shortened
and simplified if a standard trigonometric shorthand is employed as summarized in Table 1-13.

TABLE 1-13 TRIGONOMETRIC *


SHORTHAND
Figure 1-14 The
range and nuil space of an m x n matrix A.

The

Robot

rank of A is equal to the number of linearly independent rows of Ay and it is also


equal to the number of linearly independent columns of A. If the rank of the matrix A is as
large as possible, then A is said to be of full rank. A square matrix (m = n) is invertibie if
and only if it is of full rank. We denote the inverse of A as A~\
Certain special matrices have symbols reserved for them. These include the zero
matrix, which is denoted by 0, and the identity matrix, which is denoted by /. The zero
matrix is simply a matrix of Os, while the identity matrix is a square matrix that has Os
everywhere except along the principal diagonal, where it has ls.
Coordinate transformations. To model the motion of a robotic arm, coor- dinate

frames are attached to various parts of the arm and to sensors and objects in the workspace.
In particular, the following right-handed orthonormal coordinate frames are attached to the
links ofHere
the robot,
starting
0, for
which
base,
ending with link n,arm.Clearly
which is
0* denotes
thewith
jointlink
angle
the is
kththe
joint
of and
a robotic
the
the tool: can be extended in the obvious way to include sums or differences
notation
of three
= {jc*,
z*}, replaced
0 <byk the
< variable
n
(1-5-10)
or more joint angles. The jointLkangle
0* yisk,often
qk, which denotes
the
joint variable
fornecessary
the kth joint.
That is, qor
can
be used interin Table
1-13.
k and
It is often
to transform
map0*the
coordinates
of a changeably
point with respect to
one frame into its coordinates with respect to another frame. The matrix T is reserved to
denote a general coordinate transformation matrix . Typically, T will have a superscript
1- 6 PROBLEMS
index or identifier which specifies the source coordinate frame and a subscript index or
identifier which specifies the destination or reference coordinate frame. For example, TK
1- 1. What is the essential feature that distinguishes soft automation from hard automation?
denotes the coordinate transformation matrix which trans- forms robot tool coordinates into
1- 2. Which types of drive technologies would be most suitable for the following applicarobot base coordinates. More generally, Tj trans- forms frame Lk coordinates into frame Lj
tions:
coordinates.
(a) Unload 1000-kg items from a die casting machine
of robotics
texts use
presuperscripts
(b)Some
Installauthors
integrated
circuit chips
on aeither
printed
circuit board or presubscripts, or both,
such1-as3.*7}
andisKT,
for coordinate
transformation
matrices
1981;
Craig,
1986). We
What
the minimum
number
of axes required
for a (Paul,
robot to
insert
and tighten
four
will refrain
from
using
any
presuperscripts
or
presubscripts,
in
an
effort
to
simplify
the
nuts (from above) on four vertical bolts as shown in Fig. 1-15? The nuts are available
notation
somewhat.
price we pay isparts
that feeder.
in someExplain
cases there
ambiguity
as to
from
a verticalThe
spring-activated
why may
each be
axis
is needed.
whether
not a superscript
should be interpreted
as ataking
a matrix
to 480
a power.
In these
1- 4. or
Suppose
a cylindrical-coordinate
robot has
vertical
reach of
mm and
a vertical
2
cases we
again
to remove
the ambiguity.
Thusto(Ti)
is theinsquare
stroke
ofuse
300parentheses
mm. How far
off the floor
do parts have
be raised
order of
to the
be reachmatrix able
Ti, while
T\
is
the
matrix
which
transforms
frame
L
coordinates
into
frame
L\
2
by the robot?
15.
The
base
joint
of
a
cylindrical-coordinate
robot
is
driven by a 12-bit digital-to-analog
coordinates.

21

Sec. 1-5 Notation

22

Robotic Manipulation Chap. 1

REFERENCES
ASIMOV, I.

(1950). /, Robot, Fawcett Publications: Greenwich, Conn.


BOYES, W. E. (1985). Low-Cost Jigs, Fixtures, Bolts
and Gages for Limited Production, SME Publications: Dearborn, Mich.
BRODY, H. (1987). U.S. robot makers try to bounce back, High Technology Business, Oc- tober, pp. 1824.
Nut feeder
CRAIG , J. J. (1986).
Introduction to Robotics: Mechanics & Control,
Addison-Wesley:
ReadFigure 1-15
Nut tightening task.
ing, Mass.
DORF, R. C. (1983). Robotics and Automated Manufacturing, Reston: Reston, Va.
converter
and has a swing range of 360 degrees. The radial axis is driven by an
Fu, K. S.,
R. C. G(DAC)
ONZLEZ , AND C. S. G. LEE (1987). Robotics: Control, Sensing, Vision, and
8-bit DAC
and has a horizontal
reach of 300 mm and a horizontal stroke of 200 mm.
Intelligence,
McGraw-Hill:
New York.
Finally,
theM.vertical
is driven
byG.a Odrey
10-bit(1986).
DAC Industrial
and has a Robotics,
vertical reach
of 480 mm
GROOVER
, M. P.,
Weiss, R.axis
N. Nagel,
and N.
McGraw-Hill:
a vertical stroke of 360 mm.
Newand
York.
(a) What
is AND
the H.
volume
of(1986).
the work
envelope?
HENDRICKSON
, T.,
SANDHU
XR-3
Robot Arm, Mark III 8 Axis Controller: Owners
(b)
What
is
the
vertical
precisin?
Manual, Versin 3.00, Rhino Robots, Inc.: Champaign, 111.
(c) , What
is the
radial
precisin? Mathematics, Programming, and Control, MIT Press:
PAUL
R. (1981).
Robot
Manipulators:
(d) What Mass.
is the angular precisin about the base?
Cambridge,
(e), D.
What
is the horizontal
precisin?
PIEPER
L. (1968).
The kinematics
of manipulators under Computer control, AIM 72,
(f)
What
is
the
total
precisin?
Stanford AI Laboratory, Stanford Univ.
1- 6.INSTITUTE
For a spherical-coordinate
robot, where
within
the work
envelope is
the tool-tip
ROBOT
OF AMERICA (1982). Worldwide
Robotics
Survey
and Directory,
Dearborn,
Mich.precisin
the highest?A table of contemporary manipulator devices, Robotics Age, July
Roth, B.
(1983-1984).
1983,
September
30-31, January
pp. 3435.
1- 7.pp.
For38-39;
what type
of robot1983,
is thepp.
precisin
uniform1984,
throughout
the work envelope? For
SCMLLINGwhich
, R. J.,robots
AND R.is
Wthe
HITEvertical
(1990, in
press). Robotic
precisin
uniform?Manipulation: A Laboratory Man ual,
Hall, Englewood
Cliffs,
N.J.2 emitter-detector pairs
1- 8.Prentice
An incremental
shaft encoder
with
and 12 slots around the
WOLOVICH
, W. A. (1987).
Basic the
Analysis
and
Design,ofHolt,
Rinehart
& Winston:
New The
circumference
is Robotics:
used to monitor
angular
position
a
high-speed
motor shaft.
York.precisin of the load shaft is measured and found to
be 0.05 degrees per count. What is
the gear ratio between the high-speed shaft
and the loadshaft?
Consider the robotic tool shown in Fig. 1-16. Sketch the tool position after each inter1-9.
mediate position of the following YPR operation: yaw 7 T /2, pitch 7 T /2, roll 7r/2.

rotations are taken about the axes of the mobile frame M rather than the fixed frame F, then
the final tool position is the same. Are the intermedate tool positions the same?

24
Sec. 1-6 Problems

Robotic

Manipulation

Chap-1

23

2
Direct
Kinematics: The
Arm Equation
A robotic manipulator can be modeled as a chain of rigid bodies called links. The links are
interconnected to one another by joints, as shown in Fig. 2-1. One end of the chain of
links is fixed to a base, while the other end is free to move. The mobile end has a flange,
or face pate, with a tool, or end-effector, attached to it. There are typically two types of
joints which interconnect the links: revolute joints, which exhibit rotational motion about
an axis, and prismatic joints, which exhibit sliding motion along an axis.
The objective is to control both the position and the orientation of the tool in threedimensional space. The tool, or end-effector, can then be programmed to fol- low a
planned trajectory so as to maniplate objects in the workspace. In order to program the
tool motion, we must first formlate the relationship between the joint variables and the
position and the orientation of the tool. This is called the direct kinematics problem,
which we define formally as follows:

Base

Figure 2-1 Robotic manipulator modeled as a chain of links.

25

Problem: Direct Kinematics. Given the vector of joint variables of a robotic


manipulator, determine the position and orientation of the tool with respect to a coordinate
frame attached to the robot base.
To develop a concise formulation of a general solution to the direct kinematics problem,
it is helpful to first briefly review some fundamental properties of vector spaces (Noble, 1969;
Schilling and Lee, 1988). This is followed by a discussion of rotations, translations, and screw
transformations between coordinate trames. Four- dimensional homogeneous coordinates are
employed in order to develop a matrix representation of these operations. A systematic
procedure for assigning coordinate frames to the links of a robotic manipulator is then
presented (Denavit and Harten- berg, 1955), and this leads directly to the arm equation. The
solution to the direct kinematics problem is illustrated using three robotic manipulators: the
five-axis Rhino XR-3, the four-axis Adept One, and the six-axis Intelledex 660. These robots
are used repeatedly as case study type examples throughout the remainder of the text.

2- 1 DOT AND CROSS PRODUCTS

Vectors in n-dimensional space R" can be thought of as arrows emanating from the origin,
as shown in Fig. 2-2 for the case n = 3. The coordinates of the vector are then synonymous
with the location of the tip of the arrowhead.

Figure 2-2 An orthonormal coordinate


frame in R3.

The vectors pictured in Fig. 2-2 are special in the sense that any vector in the space R 3
can be easily represented in terms of these vectors. To see this, it is useful to first introduce
the notion of an inner product, or dot product, of two vectors.
Definition 2-1-1: Dot Product. The dot product of two vectors x and y in R" is denoted
x y and is defined:
x*y = 2

xkyk
k= 1

The symbol 4 should be read equals by definition. The dot product is also called the
Euclidean inner product in R". The matrix transpose operation can be used to express the dot
product more compactly as
26

Direct Kinematics: The Arm Equation Chap- 2

z l

U
\
JJI

U2
l?2

z N
3

U
3
_

>
=

U 2V 3

U 3V

U 3V 1 -

U 1V

_ U 1V 2
-

2
3

U2V
]_

(2-1-1)
x y xTy.
Denition 2-1-4: Norm. The norm of a vector x in R" is denoted as || x\\ and is
defined:
Here xT denotes the row vector obtained by taking the transpose of the column vector x . The dot
/ \ 1/2
product in R" has all the properties
that
are
m characteristic of inner products in general. In
||jc|| = ( x - x ) =
particular, the following properties are fundamental:

Thus the norm


is an n-dimensional
valu
function.
setbe
of real
Proposition
2-1-1: Dot generalization
Product. Let {JCof, y,the
z}absolute
be vectors
R" and
let {a,A/?}
orthogonal
unit the
vectors
is referred
asfollowing
an orthonormal
set. The vectors shown in Fig. 2-2
scalars. Then
dot product
hastothe
properties:
are an example of a complete orthonormal set, or an orthonormal coordinate frame . It is a
1.right-handed
JC x >0
coordinate frame, because when the fingers of the right hand are curled from
the second vector, the thumb points in the direction of the third vector.
2.the
JC first
JC = 0vector
<=> JC =into
0
important result that will be useful when we examine rotating coordinate frames is the
3.One
JC y ~ y JC
following geometric relationship between the dot product and the norm:
4. ( a x + P y ) z = a (JC z) + /3 (y z)
These properties follow directly from Def. 2-1 -1. Note that the first two3 properties indcate that
Proposition
2-1-2:
Orientation.
Let
and y nonnegative
be arbitrary vectors
in Ronly
andfor
let the
6 bezero
the vector.
the dot
product of
a vector
with itself
is xalways
and is zero
angle
to y. Then:
The from
third jc
property
specifies that the dot product is a com- mutative function of its two
- y =of||*||
||y ||yeos
6 not alter the result. Finally, the last
arguments, that is, interchanging the jc
order
JC and
does
and perhaps most important property is that the dot
product is a linear function of
its first
Henee the dot product can be interpreted
as
a
measure
of
the
orientation
between
two
argument JC. Thus the
dot product of
vectors.
It
is
proportional
to
the
cosine
of
the
angle
between
the
vectors,
the
the sumis the sum of the dot products. In view
of the commutative constant
property,ofthe dot
proportionality
the function
product of
lengths argument
of the vectors.
product is alsobeing
a linear
of the
its second
y. It follows from Prop. 2-1-2
and Def. 2-1-2 that the angle between orthogonal vectors is 7r/2 radians. Henee orthogonal
The dot product of two vectors is a measure of the orientation between the two vectors.
vectors in R3 are perpendicular to one another.
To see this, it is useful to first examine the concept of orthogonality.
There is another operation with vectors which is useful in the analysis of robotic
manipulators,
the cross
product.
Whereas Two
the dot
product
of two vectors generates a scalar,
Definition
2-1-2:
Orthogonality.
vectors
JC and y in R" are orthogonal if and only if
theJCcross
of two vectors generates another vector that can be defined as follows:
y = product
0.
3 be
For the
Euclidean
inner
product
or dotThe
product
Def. 2-1
vectors
can
Definition
2-1-5:
Cross
Product.
cross in
product
of -1,
twoorthogonal
vectors u and
t in R
is a
interpreted
geometrically
in
three-dimensional
space
as
perpendicular
vectors.
Thus
vector w = u x v which is orthogonal to u and v in the right-handed sense and defined the
as three
vectors shown in Fig. 2-2, which correspond to the three columns of the identity matrix /, are
follows:
mutually orthogonal. We therefore refer to them as an orthogonal set. Not only is the set of
vectors in Fig. 2-2 an orthogonal set, it is also a complete set. A complete orthogonal set is a set
of vectors with the property that the only vector orthogonal to every member of the set is the
zero vector.

Definition 2-1-3: Completeness. An orthogonal set of vectors


. . . , JC"} in R" is complete if and only if
y - xk 0 for 1 < < /i

{JC1, JC2,

y=0

The number of vectors it takes to form a complete orthogonal set for a vector space is
called the dimensin of the space. Thus R 3 is a three-dimensional space and, more generally, R
is an -dimensional space. The vectors pictured in Fig. 2-2 are also special in one final sense.
The length of each vector is unity, and so we refer to these vectors as unit vectors. The length or
norm of an arbitrary vector in R" can be defined in terms of the dot product as follows:

Sec. 2-1 Dot and Cross Products

27

Proposition 2-1-3: Cross Product. Let u and t be arbitrar) vectors in R and let 0 be the angle
from u to v. Then:
\\u x 11| = l! u || || v | sin 6
Thus, whereas the dot product is proportional to the cosine of the angle between the vectors, the size
of the cross product vector is proportional to the sne of the angle between the vectors. Refer to Fig
2-3 for an iliustration of two vectors u and t in R3 and their cross product.
Dot products and cross products are useful in developing concise formulations of the
kinematics, statics, and dynamics of robotic manipulators. We begin w ith the kinematic analysis.

Prof and
let 6 I

Thus,
whe
vectors, ti
between t
R3 and thi
Dot of
the kin
kinematic

u Figure 2-3 Cross product of u with v

2- 2 COORDINATE FRAMES
The inner product, or dot product, is useful because one can employ it to represent arbitrary vectors
in terms of their projections onto subspaces generated by the members of a complete orthonormal set
of vectors. In particular, suppose p is an arbi- trary vector in the space R", and suppose X {x\ x2, . .
. , jc} is a complete orthonormal set for R". We can then represent the vector p as a linear
combination (weighted sum) of the vectors in X where the weighting coefficients are called the
coordinates of p with respect to X.

Definition 2-2-1: Coordinates. Let p be a vector in R and let X {x\ or2,


, x"} be a complete orthonormal set for R\ Then the coordinares of p with respect to X are
denoted [ p ] x and are defined implicitly by the equation:

COORDINA

The inne
arbitrary
bers of a
trary vec
thonorm
(weighte
coordina
De
spect to

n
= 2 \p\uk
Here the determinant notation is used in a formal
sense
ife*
i to indicate how to evalate the
cross product. In this case the unit vectors {z\ z 2, i3} are treated as if they were scalars for
the purpose
of computing
the determinant.
For the right-handed
orthonormal
coordinate
The complete
orthonormal
set X is sometimes
called an orthonormal
coordi
nare frame or an
1
2
3 2
3
1
3
1
2
frame shownbasis
in Fig.
= i R".
x z ,When
i = i the
x i coordinate-frame
, and i = z x i . Recall
valu of thethe
orthonormal
for2-2,
the ispace
vectorsthat
arethe
orthonormal,
dot product u v depends upon the angle between the two vectors u and u. Similarly, the
coordinates of a vector with respect to that coordinate frame are particularly easy to compute, as can
length of the cross-product vector u x t depends on the angle between the two vectors u and
be seen from the following fundamental result:
o, as can be seen from the following result:
P

28

Sec. 2-2 Coordinate Frames

Th
na te
fra
vectors
frame a
mental
Sec. 2-5

Direct Kinematics: The Arm Equation Chap. 2

29

Proposition 2-2-1: Orthonormal Coordinates. Let p be a vector in R n and let [ p ] x be the


coordinates of p with respect to an orthonormal coordinate frame X = { x l , x 2 , . . . , jc"}.
Then the k t h coordinate of p with respect to X is:
lp] i * P *k

Proof. From Def. 2-2-1, it is sufficient to show that c is the zero vector where c is the
difference or error:
C= p-i p Xk)xk

** 1

Using Def. 2-1-2, Def. 2-1-4, and the properties of the dot product summarized in Prop. 2-1-1,
we have for each 1 ^ j ss n:
2 (p-xk)x

c xJ = p xJ

Figure 2-4
spect to the

k=l

= p Xj -2 (pm Xk)(xk X1)


k=
J

p - x - 2 ( np Xk)hj
k=l
p XJ p' XJ

t
F
t
r
i
l

=0
Thus c is orthogonal to every member of ig Because X is complete, it follows from Def. 2-1-3
that c 0 and thus that Prop. 2-2-1 is valid.
We see that the &th coordinate of p with respect to an orthonormal coordinate frame X is
simply the dot product of p with the kth member of the set X. The geo- metric interpretation of
the relationship between a vector and its coordinates is shown in Fig. 2-4, where, for simplicity,
the two-dimensional space R 2 is used. Note how p is decomposed into the sum of its orthogonal
projections onto the one- dimensional subspaces (lines) generated by jc 1 and jc2. In view of the
simple relationship between a vector and its orthonormal coordinates, all coordinate frames used
in the remainder of the text are assumed to be right-handed orthonormal frames unless otherwise
noted.
The solution to the direct kinematics problem in robotics requires that we represent the
position and orientation of the mobile tool with respect to a coordinate frame attached to the fixed
base. This involves a sequence of coordinate transforma- ^ tions from tool to wrist, wrist to elbow,
elbow to shoulder, and so on. Each of these coordinate transformations can be represented by a
matrix. To see this, it is useful to first examine a simple special case, the single-axis robot
displayed in Fig. 2-5. Here a single revolute joint connects a fixed link (the base) to a mobile link
(the body). The problem is to represent the position of a point p on the body with respect to a
coordinate frame attached to the base. The coordinates of p in this case will vary as the joint angle
6 changes. Let F = {/\/2,/3} and M = {m \ m2, m3} be orthonormal coordinate frames attached to the
fixed and the mobile links, respec-

30

Direct Kinematics: The Arm Equation Chap. 2

1
r
c
t
f

]
(

[pY = A[p}M

~fm'
f2
m'
f-m'

f
m2
Pm2
Pm2

Mobile link

Revolute
Thus [ p ] F = A [ p ] M where A*y = /* m; for
1 ^ joint
k, j ^ n.

We cali the matrix A that maps or transforms mobile coordinates into fixed coordinates
Fixedalink
j
coordinate transformation matrix. If a denotes the yth column of A, then, from Prop. 2-2-1 and
Prop. 2-2-2, we find that aj - [ m j ] F for 1 < j < n . Consequently, the yth column of the
coordinate transformation matrix A is simply the coordinates of the j t h vector of the source
Figure 2-4 Coordinates of p with respect to
Figure frame
2-5 Single-axis
robot.
coordinate frame M with respect to the destination coordinate
F.
the coordinate frame X.

Example 2-2-1: Coordnate Transformation


For the two coordinate frames pictured in Fig. 2-5, suppose the coordinates of the point p
with respect to the mobile coordinate frame are measured and found to be [ p ] M = [0.6,
r
tively.
Note
m2 isare
not
in Fig. ofp
2-5, with
sincerespect
it is obscured
by the
body in the
0.5,
1.4]that
. What
theshown
coordinates
to the fixed
coordinate
ffame F with
position
shown,
which
corresponds
the body
in the
position
shown?to 6 T T / 2 . Since p is a point attached to the
body,Solution
the coordinates
of p2-2-2,
with respect
to the mobile coordinate frame M will reFrom Prop.
we have:
main fixed. However, the coordinates of p with respect to the fixed coordinate frame
F will vary as the body is rotated. From Prop. 2-2-1, the two sets of coordinates of
p are given by:
[ p ] M - P * w1, p m 2 , p m 3 ] T
[pY = [p-f\P'f\p-T

(2-2-1)
(2-2-2)

The problem then is to find the coordinates of p with respect to F, given the coordinates of p with respect to M. This is a coordinate transformation problem. The coordinatetransformation
problem has a particularly simple solution
whenthe destination or
referencecoordinate frame F is orthonormal, as
can beseen
from the
following result:
Proposition 2-2-2: Coordinate Transformations. Let F = { / \ / 2 , . . . ,
/"} and M = { m \ m 2 , . . . , m n } be coordinate frames for R with F orthonormal.
Next, let A be the n x n matrix defined by A k j = /* m j for 1 ^ k , j ^ n . Then for
each point p in R:
lp] F = A[p] M
Proof. Since F is an orthonormal coordinate frame, it follows from Prop.
2- 1-1, Prop. 2-2-1, and Def. 2-2-1 that for 1 < k < n:
lP)F>~Pk-f
= /*

V (ni

fk

= Z lp]f("*'*/ )

Sec. 2-2 Coordnate Frames

31

Proof. By multiplying both sides of the equation in Prop. 2-2-2 on the Ieft by A~\ we
see that A~x maps F coordinates into M coordinates. It remains to verify that the inverse is
just the transpose. Let 1 ^ k, j < n. Since both F and M are orthonormal, we can use Prop. 22-2 and the commutative property of the dot product as follows:
(A~% = mk-f

lili
==

Ajk

= (AT)kj
Since the above equation holds identically for all 1 ^ k % j j /i, Prop. 2-2-3 then follows.

2- 3 ROTATIONS

In order to specify the position and orientation of the mobile tool in terms of a coordinate
frame attached to the fixed base, coordinate transformations involving both rotations and
translations are required. We begin by investigating the representation of rotations.
m
0.6
'
f2 m
P
If the mobile coordinate frame M is obtained from
themfixed 0.5
coordinate frame F by rotating M
1.4
about one of the unit vectors of0 F, then
coordinate transformation matrix is
1 0the resulting
0.6'
3
called a fundamental rotation 1matrix.
0 In
* the space
0.5 R there are three possibilities, as shown
in Fig. 2-6.
0
0 0
1.4
= [-0.5, 0.6, 1 14]r Note that this is
P

2- 3-1 Fundamental Rotations

consistent with the picture shown in Fig. 2-5.


If we have a coordinate transformation matrix which maps coordinates relative to one
frame into coordinates relative to another frame and instead we want to move in the reverse
direction, we need to find the inverse of the coordinate transformation matrix. When both the
source and the destination coordinate frames are orthonormal, finding the inverse of the
coordinate transformation matrix is particularly simple, as can be seen from the following useful
result:
Proposition
Inverse Coordinate
Transformation.
Letcoordinate
F and M be
twoM
orthonormal
As2-2-3:
an illustration,
suppose we
rotate the mobile
frame
about the /* axis
coordinateofframes
in R"
having the
sameF.origin,
andbeletthe
A amount
be the coordinate
the fixed
coordinate
frame
Let <f>
of rotation,transformation
measured in a rightmatrix thathanded
maps M
coordinates
into
coordinates
Prop. be
2-2-2.
Then the coordinate
sense,
as shown
in F
Fig.
2-7. Next as
let in
R\((t>)
the resulting
transformation
matrix which
maps
F coordinates
intoMMcoordinates
coordinatesinto
is given
A-1, where: Then, from
transformation
matrix
which
maps mobile
fixedby
F coordinates.
Prop. 2-2-2:
A-1 = A T
Sec. 2-3 Rotations

32

33

Direct Kinematics: The Arm Equation Chap. 2

"
1

0
= 0 0.5
0 0.866
= [2
2.598

0
0.866
0.5

i.5 r

0 0.5 0.866

"
3

0 -0.866 0.5

_0
_

eos <>sin <f> 0


R4>) I

sin </>

eos 4>0

0 1

(2-3-5)

There is a simple, consistent pattern to the structure of the three fundamental


rotation
Figure 2-7 Rotation of M about/1 by angle
matrices. The kth row and the Ath column<J>.
of /?*(<) are identical to the kth row and the kth
f\ m
column of the identity matrix /. In the remaining 2X2 submatrix, the diagonal terms are eos <>,
while the off-diagonal terms are sin <>>
where3 <f> is the angle of rotation. The sign of the
P-m2
m
p-m
off-diagonal term above the diagonal is (
1
)* for the kth fundamental rotation matrix.
(2-3-1)
/?! (4>)
m P-m2
P-m3
m P-m2
P-m3
2-3-1:the/'
Rotation
Since we are Example
rotating about
axis, it is clear from Fig. 2-7 that/1 = m ' . Sub- stituting this
2
into Eq. (2-3-1) andRefer
recalling
that2-7,
{ p ,where
p , f 3 } the
andmobile
{m[, m
, m } are
orthonormal
sets,about
it
to Fig.
coordinate
frame
M is rotated
the/' axis of the
follows that the fundamental
rotationframe
matrixF.(<)
simplifies
fixed coordinate
Let <
f ) T Tto:
/ 3 radians be the amount of rotation. Suppose p
is a point whose coordinates in the 2mobile M frame are [ p ] M = [2, 0, 3]r. What are the
100 p-m f 0
coordinates of p in the fixed coordinate ffame F?
3
(2-3-2)
R<t>) = 0 P - m 2 f

m
Solution Applying Prop. 2-2-2:

Th
e rotation
n row
and t the
diago the
angle for
the ti
Example 2
Re
fe
the
fp
is i
the

2 3
2
3
1
M
Next note from Fig.
IPY 2-7 that the vectors {/ ,/ , m , m } all lie in a plae orthogonal to/

= i (f) [p]

= m . Recalling Prop. 2-1-2, the dot product of two vectors is pro- portional to the cosine of
the angle between the vectors. When the vectors are normal (unit length), the dot product is in
fact equal to the cosine of the angle between the vectors. From Fig. 2-7 it is evident that the
angle from/2 to m 2 is <f>, as is the angle from/3 to m3. Consequently the diagonal elements in
the 2 x 2 submatrix in Eq. (2-3-2) are equal to eos </>.
In order to represent the off-diagonal elements in terms of </>, note from Fig.
2- 7 that the angle from f2 to m3 is tt/ 2 + </>. Similarly, the angle from/3 to m2 is tt/2 + </>.
Using the trigonometric identity for the cosine of the sum (Appendix 1) and Prop. 2-1-2, the
Next, suppose q is a point whose coordinates in the fixed coordinate ffame F are
general form for the first fundamental rotation
matrix then reduces to:
given by [ q Y = [3, 4, 0]r. What are the coordinates of q with respect to the mobile
coordinate ffame M l

give
i
coor
<
Solu
i the

Solution Since the two coordinate frames are orthonormal and have the same origin, the
1 transformation
0
0 matrix is just the transpose. Applying Prop. 2-2-2
inverse of the coordinate
(2-3-3)
0 eos (f> sin 4>
and Prop. 2-2-3:
0 sin (>

eos4>

A similar analysis can be used to derive expressions for the second and the
thirdfundamental rotation matrices. In particular, if R2(<) and R3(</>) represent rotations by
<f) about the second and third unit vectors of the fixed coordinate frame ff then:

R2<f>) i

eos 4>

sin(f>

eos

-sin

34

Direct Kinematics: The Arm Equation Chap. 2

(2-3-4)
Note

Sec. 2-3

"
1
0
0

0
0
"
C -Si
iS
C
iJ
~} Ri r

I
\ 22/ !
~
0
o
0 1

2
r
0
the point p at the tool tip has mobile coordinates [ p ] M [0, 0, 0.6]r. Find [ p ] F
1 0 Suppose
0
following the yaw-pitch-roll
transformation.
Solution
Applying Prop.
2-3-1: matrices are built up in steps starting with the identity
0
Thus composite
rotation
2- 3*2 Composite Rotations
0Solution
- 1 0 Using Prop.
0 2-3-1: matrix which corresponds to no rotation at all. Rotations of frame M about the unit vectors
l 0
0 _

_0.6
_

4
of frame F are represented
by premultiplication (multiplication on the left) by the
=
RIpY
When aIpY
number
of fundamental rotation matrices are multiplied together, the product matrix
appropriate fundamental rotation matrix. Similarly, rotations of frame M about one of its
represents
a sequence
of rotations about
the unit vectors. (multiplication
We refer to mltiple
this
own unit vectors
are represented
by postmultiplication
on therotations
right) byofthe
form
as composite
rotations
. Usingmatrix.
composite rotations, we can establish an arbitrary
appropriate
fundamental
rotation
orientation
fora the
robotic tool.
Consider
the for
sketch
a robotic
Since
convention
has been
adopted
the of
order
of the tool
yaw,shown
pitch, in
andFig.
roll2-8. Here
2
3
the
mobile coordinate
frame
M = {m\
m , composite
m } rotatesyaw-pitch-roll
with the tool, transformation
while the fixedma
coordinate
operations,
a2 general
expression
for the
trix can
3
frame
F
=
{/\/
,/
}
is
stationary
at
the
end
of
the
forearm.
The
three
fundamental
rotations
be obtained. Suppose that the yaw-pitch-roll angles are represented by a vector 0 in R 3.l For
correspond
yaw, pitch, let
andS*
roll.
Recall
from
thatWe
yaw
is have
a rotation
about theresult,
f axis,
notational to
convenience,
= sin
0* and
C*Chap.
= eos10*.
then
the following
2
3
pitch
is asummarizes
rotation about
the f axis, yaw-pitch-roll
and roll is a rotation
about the / axis.
which
the composite
tool transformation:

Proposition 2-3-1: Yaw-Pitch-Roll Transformation. Let YRP (0) represent the


composite rotation matrix obtained by rotating a mobile coordinate frame M = {m \ m2, m3}
first about unit vector /' with a yaw of 0i, then about the unit vector f2 with a pitch of 02,
and finally about unit vector/3 with a roll of 0 3. The resulting composite yaw-pitch-roll
matrix YPR (0) maps M coordinates into F coordinates and is given by:

YPR (0) =

C2C3 S1S2C3 C,S3 C1S2C3 + Si S3


C2S3 S1S2S3 4* C1C3 C1S2S3 ~ S1C3
S2
Si C2
Ci C
2
Figure 2-8 Yaw,
pitch,
and roll of
tool.

Proof. This is verified by simply applying Algorithm 2-3-1 and using the expressions
Each fundamental rotation is represented by a matrix. However, the operation of matrix
for the three fundamental rotation matrices. Using the notational shorthand C* = eos dk and
multiplication is not commutative, because for two arbitrary matrices A and B, it is not true
S* = sin 0* and Algorithm 2-3-1, we have:
that AB = BA. Consequently, the order in which the fundamental rotations are performed does
make a difference
composite rotation. Furthermore, once one rotation has
YPRin
(0)the
= Rresulting
3(03)/?2(02)Rl(0l)
been performed, the axes of the two coordinate frames are no longer coincident. At this point
o
c about the
-sbe
s unit vectors of either the fixed
3 performed
subsequent rotations of the toolCcould
coordinate frame F or the rotated
coordinate
to resolve the ambiguities as
c 0 frame2 M. In order
3
2
to how a composite rotation matrix
be
the following algorithm is used:
1 constructed,
o
s should
3
s2
o
o C1S2
0
3
o
-s 3
Algorithm 2-3-1: Composite
c 0
c Rotations

c
2

c c,c 2

-Si

3 C toS1S2C3
C
C1S3
C1S2C3 to
+ Si
1. Initialize the rotation matrix
corresponds
the sorthonormal
coordinate
2 3 R = /, which
3
3

frames F and M being coincident.


C2S3 S1S2S3 + C,C3 C1S2S3 S1C3
2. If the mobile coordinateSframe
M is toSi
beCrotated
by an amount
C1C2(f> about the kth unit
2
2
vector of the fixed coordinate frame F, then premultiply R and /?*(<).
3. If the
mobile
coordinate frame M is to be rotated by an amount <> about its own Ath
Example
2-3-2:
Yaw-Pitch-RoII
unit
vector,
postmultiply
R by2-8
Rk(4>)Suppose
wethen
rotate
the tool in Fig.
about the fixed axes starting with a yaw of tt/2,
4. followed
If there are
fundamental
beof
performed,
goistothe
step
[2]; else,
stop. The
bymore
a pitch
of -7t/2 and,rotations
finally, atoroll
T T / 2 . What
resulting
composite
resulting
composite rotation matrix R maps mobile M coordinates into fixed F
rotation matrix?
= [3 2 -3.464f
coordinates.
Note that both results are consistent with the picture shown in Fig. 2-7.

Sea 2-3 Rotations

36
Sec. 2-3 Rotations

37

Direct Kinematics: The Arm Equation Chap. 2


35

Figure 2-9 Equivalent angle-axis rotation.

u\ V<j) + Q<) U\U2 Wcf) u$S(f) U\U2 V0 + U2$<t>


= [0.6, 0, Of
/?(<, u) = U\U2V(j> + w3S<>
u\V<> + C<j>
u2ui\<) - Wi S $
W1W3V0 w2S</> M2W3V0 + wiS</>W3V<> 4- C<f>
Exercise 2-3-1: Yaw-Pitch-Roll. Verify that Example 2-3-2 is correct by sketching the
Proof.
Letthe
w coordinate
= [1/1, w2, frames
0]r denote
orthogonal
projection
of is
u onto
the//2 plae as
tool position
and
afterthe
each
fundamental
rotation
performed.
shown in Fig. 2-9. Then:
Exercise 2-3-2: Roll-Pitch-Yaw. An alternative way to define the yaw- pitch-roll
= n wunit
( m of the mobile frame M and in the
t i Ivectors
transformation is to perform the rotations A
about
reverse order: roll, pitch, yaw. This tends to be measier to visual- ize, particularly when the
+ u\)
angles are arbitrary. Show that the resulting composite rotation matrix RPY (0), is the same as
in Prop. 2-3-1. Is the route taken by the tool the same?
Next, let a be the angle from f to m, and let p be the angle from to u as shown in Fig. 2-9.
Then, since ||w|| = 1, it follows that:
Exercise 2-3-3: Fundamental Rotations. Verify that the general yaw-pitch- roll
transformation YPR (0) includes the three fundamental
rotations { R \ , R2, Ri} as special cases.
r"A
A general rotation of a mobile frame M with respect to a fixed frame F can al- ways be
c - U l ~K
decomposed into a sequence of three fundamental
rotations as in Prop.
2- 3-1. It is also possible to represent a general rotation
C/5 = Aas a single rotation by an angle <f> about
an arbitrary unit vector u as shown in Fig. 2-9. This is called the equiv- alent angle-axis
sp = w 3
representation. For notational convenience, let C</> = eos S ( f > = sin <fi, and V< = 1 eos
can express
the equivalent
rotation
matrixasasfollows
a composition
of 1987):
<f>. TheWe
equivalent
angle-axis
rotationangle-axis
can then be
represented
(Fu et al.,
fundamental rotation matrices. First, we rotate the mobile frame M about the/3 axis by an
angleProposition
of a. Thus:
2-3-2: Equivalent Angle-Axis. Let F and M be two orthonormal coordinate
3
frames
R = R iin
(-R
a ) with M initially coincident with F. Let u be a unit vector, and suppose Af is
rotated about u by an angle </> in the
right-handed sense. Then the equivalent angle-axis
This puts the unit vector u in the f l f 3 plae. Next we rotate frame M about the /2 axis by an
rotation matrix R(<), u) which maps M coordinates into F coordinates is:
angle of p . Since the rotation is about an axis of the fixed frame, we pre- multiply to obtain
the composite rotation matrix:
Ux

R = R2(P)R>(-a)

Sec. 2-3 Rotations


38

Direct Kinematics: The Arm Equation Chap. 2

39

This aligns unit vector u with the/1 axis. At this point we perform the desired rotation by an
angle <f> about the unit vector u fx. Thus the composite rotation matrix is:
R - Ri(4>)R2(P)R-a)
Next we reverse the process to restore u to its original position. First we rotate
2- 4 HO

It remains to substitute the expressions for the fundamental rotation matrices from Eqs.
(2-3-3) through (2-3-5) into the expression for /?(</>, u) and to perform the matrix
multiplication. The procedure is tedious but straightforward, and the result after simplification
using CaC/3 = Wi, SaC/3 = W2, and A2 + u\ = 1 is as given in Prop. 2-3-2.
The three fundamental rotation matrices represent important special cases of the
equivalent angle-axis rotation matrix, as can be seen from the following exercise:
Exercise 2-3-4: Fundamental Rotations. Let R(<f >, u) be the equivalent angle-axis
rotation matrix and let Rk{<t>) be the th fundamental rotation matrix. Verify that:
R ( < t > y f k ) = Rk(4>)

<3

The equivalent angle-axis representation for a general rotation can also be in- verted
(Paul, 1982). For example, given a rotation matrix /?, suppose we want to find the axis u and
angle <f>. The sum of the diagonal terms of a square matrix is called the trace of the matrix.
If we compute the trace of the matrix R{<), u) in Prop. 2-3-2, then after simplification using
trigonometric identities and ||w|| = 1, the result is trace [/?(<, u)] 1 + 2 eos $. Thus the
angle part of the equivalent angle-axis representation is:

| rceos

trace (R) 1

(2-3-6)

Once the angle of rotation is identified over the range (0, 7r), the axis or unit vector
about which the rotation is performed can then be determined. In particular, if we form
differences between off-diagonal terms of /?(<, u) in Prop. 2-3-2, we
can isolate the components of u as follows:
(2-3-7)

40

Direct Kinematics: The Arm Equation Chap. 2

rotatio
n

position

i
i

rf

*-

perspective

scale

i0
R4>) i 0

Example 2-4-1: Homogeneous Rotation

io1

Rot (<, k) =

that
[ q ] M Tran
~ [0,(p),
0, 10,
l)7 represents the homogeneous coordinates of a point
sented by a 4 Suppose
x 4 matrix
denoted
where:
t
located
10 units along the third vector of a mobile coordnate frame M Suppose that
ooo!i
initially
M is
coincident
withfor
a fixed
coordinate
frame
F If
we
rotate
the =
mobile
M
Note
that
u three-dimensional
is
well defined
0 < <f>
< 7r, but
at
<f>
= of
0 and
at <j>
n the exIf
a
physical
point
in
space
is
expressed
in
terms
its
hoo
ffame for
by the
7r/4components
radians about
unit vector
of F,tothen
resulting
homogeneous
of the
u infirst
Eq.
reduce
0/0. the
Thus
Eq. (2-3-7)
is not well
mogeneouspressions
coordinates
and we want to change
from(2-3-7)
one coordinate
ffame
to another,
we(2-4*4)
coordinate
transformation
matrix
is:
0
numerically
for small vales
<f>
or as (f>
approaches tr.transformation
For a fur- ther
use a 4 x 4defined
homogeneous
transformation
matrixof. In
general,
a homogeneous
discussion
of these
cases,
Paul (1982).
: o matrix T can
be partitioned
into
foursee
seprate
submatrices as follows:
i

4 )i
1

..j____________

m
0 i>1

Rot W homogeneous
*
HOMOGENEOUS
COORDINATES
We refer to Tran (p)
as the fundamental
translation matrix. Note

vector is p, while the 3 x 3 rotation matrix R has been set to the


0 0that the translation
Pur rotations are sufficient to characterize the orientation of a robotic tool. However, to
l
identity matrix /.
characterize the position of the tool relative to a coordinate frame attached to the robot
0
7T
base,Homogeneous
we must use Translation
another type of transformation, a translation. Transla- tions are
7T
Example 2-4-2:
eos
sin 0 4
qualitatively different fforn rotations in one important respect. With rotations, the origin of
4
0
Suppose the homogeneous coordinates of a point are [ q ] M = [0, 0, 10, l]r, as in Exam7r
the
transformed
coordinate
frame iswe
thetransate
same as the
the mobile
origin of
the
original ffame
coordinate
frame.
7r
ple
2-4-1.
However,
this
time
suppose
M
coordinate
relsin
eos

0
0
This
invariance
theR origin
is
characteristic
ofoflinear
in units
general,
and it is this
Here
thethe
3x3fixed
submatrix
in theframe
upper
comer
T the
is a/'operations
rotation
It along
4
4
ative
to
F of
coordinate
byleft
5 units
along
axis andmatrix.
3
that allows
us to
represent
rotations
in three-dimensional
space
with
3x3 matrices.
the
orientation
the
mobile
coordinate
frame
relative
to therepresents
fixed
ref-this
erence
0 represents
1
thepfeature
axis.
Then
theof
homogeneous
transformation
matrix
which
opera0
0
the origin
frame
the same
the origin
frame. tion
TheHowever,
3 x 1 column
vectorofpaintranslated
the uppercoordinate
right crner
of Tisisnot
a transla
tionasvector.
It of the
is:
original
coordinate
frame.of
Conit is not0possible
to represent
a translation in R 3
0 represents
0
the position
of the origin
the sequently,
mobile '10
coordinate
ffame
to the fixed
5 relative
1
with a 3The
x 3scalar
matrix.
reference frame.
cr in the lower right crner
0
0 1 0of -T 3is a nonzero scale factor which
Tranrow
(p) vector rj r in the lower left crner of T is a
0.70
-0.707 0is typically set to unity. Finally, the 1x3
0
00
1
0
7
2*4-1 Homogeneous Coordinate Frames
always be rj = 0. Later, when we
0.70
0.707 0perspective vector. For the time being, this vector 0will
0
0
1
0
7
examine
the
use
of
an
overhead
camera
in
Chap.
8,
nonzero
perspectives
will be used. In
0
1
Instead
we
must
move
to
a
higher-dimensional
space,
the
four-dimensional
space of
0
0
terms of a robotic arm, p specifies the position of the tool tip, R specifies the orientation of
It follows
that the coordinates.
homogeneous
point q relative
to the reference
homogeneous
Wecoordinates
define the of
homogeneous
coordinates
of a pointframe
as folFlows:
Y
the tool, rj specifies a point of perspective for visual sensing with a camera, and cr is
following the translation are given by:
typically
set to unity
for standard
0
Definition
2-4-1: scaling.
Homogeneous Coordinates. Let q be a point in R3, and let F be an
q\
1
orthonormal coordinate frame for R 3. If cr is any nonzero scale factor , then the
0
1
homogeneous
of coordinates
q with respect
to Fpoint
are denoted
q ] F and
defined:frame F folHenee thecoordinates
homogeneous
of the
q in the[fixed
coordinate
_
2-4*20Translations
lowing
the rotation are:
[ q ] F = [aqu crq3, cr]r
0
Pand Rotations
1
\
f = Rot (j, l)[<?]
1
0
P operations of translationI qand
3
The fundamental
rotation can each be
as important
0
M Rregarded
are represented
by a vec- tor
2Thus the homogeneous coordinates of a point q in
Tran (p) =
0
1
P
F the general 4x4 homogeneous
4 transformation matrix. To see this, first
special
cases
of
[ q ] in four-dimensional space R . The fourth component cr is a nonzero scale factor. To
0
>
consider the
question
rotation.
Suppose
F and M are two
orthonormal
coordinate frames
recover
the of
original
physical
three-dimensional
vector
from
0 its 0four- dimensional
1
0
0
0
1
that are initially
coincident.
If we rotate
an qamount
</>where
aboutHthe
kth unit vector of F,
homogeneous
coordinates,
we M
canbyuse
= Ha[qY,
a is a 3 x 4 homogeneous
0.707
0
0
0 0.707
then in terms
of homogeneous
coordinates
this operation can be represented
by a 4 x 4
coordinate
conversin
matrix , defined
as
follows:
= Tran
[q
0.707 0
matrix denoted Rot (</>, k), where:
0 0.707
(p)
]M
0
0
5
1
0 = - [ 0/ , ( ) ]
(2-4-1)
1 0 0
cr
0 1 0- 0
= [0 -7.07 7.07
l]5 not unique, because any scale factor
3
1
Note
that
the
homogeneous
coordinates
[qY
are
0 0 1
0
(2-4-3)
0
cr ~t~Finally,
0 will the
yield
the same
three-dimensional
physical
vector
q.coordinate
In robotics,
we normally
physical
coordinates
of
the
point
q
in
the
fixed
frame
F are q = [0,
0 0 0
1
1
use a-7.07,
scale factor
7.07]r.of cr = 1 for convenience. In this case, four- dimensional homogeneous
1
r
coordinates are obtained from three-dimensional physical coordinates by simply augmenting
= [5 -3
l]
0
the vector
with a unit
component.
Similarly,introduced
three-dimensional
physical
coordinates
Here Rk(<t>)
is simply
fcthfourth
fundamental
rotation
matrix
Sec. 2-3.
Wealso
The
powerthe
of homogeneous
coordinates
lies in the
fact thatinmatrices
can
be used to
are
recovered
from
four-dimensional
homogeneous
coordinates
by
merely
dropping
the unit
refer torepresent
Rot ($, k)translations.
as the kth fundamental
rotation
matrix.coincident
Compositeorthonormal
For example,homogeneous
let F and M be
two initially
fourthrotation
component.
homogeneous
matrices are then built up from the fundamental homogeneous
coordinate frames, and suppose we want to transate the origin of the mobile coordinate frame M
rotation matrices in a manner analogous to the method summarized in Algorithm 2-3-1.
by an amount p k along the fcth unit vector of F for 1 ^ k < 3. Then in terms of homogeneous
Note that the translation vector p in each case has been set to zero.
coordinates, this operation can be repre

42

Sec. 2-4 Homogeneous Coordinates


Direct Kinematics: The Arm Equation Chap. 2
Sec. 2-4 Homogeneous Coordinates

41
43

2-4-3 Composite Homogeneous Transformations

In the general case, a homogeneous transformation matrix will represent both a rotation
and a translation of the mobile frame with respect to the fixed ffame. A se- quence of
individual rotations and translations can be represented as a product of fundamental
homogeneous transformation matrices. However, because matrix multiplicaron is not a
commutative operation, the order in which the rotations and translations are to be
performed is important. Furthermore, the mobile coordinate ffame can be rotated or
translated about the unit vectors of the fixed frame or about its own unit vectors. The
effects of these different operations on the composite transformation matrix are
summarized in the following algorithm:
Algorithm 2-4-1: Composite Homogeneous Transformations
1. Initialize the transformation matrix to T = /, which corresponds to the orthonormal
coordinate frames F and M being coincident.
2. Represent rotations and translations using seprate homogeneous transformation
matrices.
3. Represent composite rotations as seprate fundamental homogeneous rotation
matrices.
4. If the mobile coordinate ffame M is to be rotated about or translated along a unit
vector of the fixed coordinate ffame F, premultiply the homogeneous transformation
matrix T by the appropriate fundamental homogeneous rotation or translation matrix.
5. If the mobile coordinate ffame M is to be rotated about or translated along one of its
own unit vectors, postmultiply the homogeneous transformation matrix T by the
appropriate fundamental homogeneous rotation or translation matrix.
6. If there are more fundamental rotations or translations to be performed, go to step 4;
otherwise, stop. The resulting composite homogeneous transformation matrix T maps
mobile M coordinates into fixed F coordinates.
Thus composite homogeneous transformation matrices are built up in steps starting
with the identity matrix, which corresponds to coincident mobile and fixed frames.
Rotations and translations of ffame M along the unit vectors of ffame F are represented by
premultiplication (multiplication on the left) by the appropriate fundamental homogeneous
Finally, the physical
of the point
in the fixedofFframe
coordinate
ffame
transformation
matrix.coordinates
Similarly, rotations
and qtranslations
M along
onefollowing
of its own
r
thevectors
translation
are q = [5, 3,
10] .
unit
are represented
by postmultiplication
(multiplication on the right) by the
appropriate fundamental homogeneous transformation matrix.
Example
2-4-3:
Composite
Transformation
Exercise
2-4-1:
Inverse Homogeneous
Translation. Verify
that the inverse of the fundamental

3
Lettranslation
F = i/1/2,/matrix
} and M
(p)
{m always
\ m 2, m3exists
} be two
fixed and mobile
homogeneous
Tran
andinitially
is givencoincident
by:
orthonormal coordinate ffames, respectively. Suppose we transate M along/2 by 3
3 -1 (p) = Tran ( p )
Tran
units and then rotate M about/
by 7r radians. Find [ m ' ] F after the composite transformation.

Exercise 2-4-2: Inverse Rotation. Verify that the inverse of the fundamental
homogeneous rotation matrix Rot (</>, k ) always exists and is given by:
Rot-1 ($, k ) = Rot (-<p, k ) = Rotr (<f>, k ) 1 < k ^ 3

44

Sec. 2-4 Homogeneous Coordinates


Direct Kinematics: The Arm Equation Chap. 2

45

-1
0
0

0 0
-1 0
0 1

0 0

0
0
0

0 0
-1 0
0 1
0 0

-1

[-1

-3

Solution Using Algorithm 2-4-1:


[mlf we
= can just as easily transform coordinates from the base to the
In view of Prop. 2-4-1,
Rot
3) Tran
( 3isi 2no
) [need
m ' ] Mto perform computationally
tool tip as from the tool tip back=to
the(tt,
base.
There
expensive and potentially inaccurate numerical inverses.
1 0 0 0
0
Example 2-4-5: Inverse
Transformation
0 1 0 3
J Homogeneous
f
m
3 0
Figure
Coordinate frames
for Ex0 orthonormal
12*11
Let F = f/1,/2,/3} and M { m \ m 2 , m3} be 0fixed 0and
coordnate
0mobile
ample
2-4-4.
frames as shown in Fig. 2-12. Here the homogeneous
0 coordinate
0 0 1 transformation matrix
1
which
maps
mobileofMthe
coordinates
intoM
fixed
F coordinates
given
by:in Fig. 2-10.
final
position
mobile ffame
in Fig.
2-11 differsisfrom
that

1
0
0
1

Henee the order in which the fundamental transformations


are performed is
0
important.
-3
0
The geometric interpretation of the homogeneous
transformation matrix T is that it
provides the position and the orientation of a mobile
1 coordinate frame M with respect to a
3
k
-1
fi
fixed reference frame F. In the analysis of robotic manipulators, we will sometimes also
1 /
want to express the position and orientation of theIffixed frame F in terms of the mobile
/
/
l F
Thus,M.
inConsequently,
terms of physical
coordinates,
[ m inverse
] = [
,
3 , 0]r. This istransformation
consistent with
frame
we need
to find the
of 1the
homogeneous
/
---------matrix
the diagram
of the
frames
displayed
in Fig.
2-10.
T. Because
T two
is nocoordinate
longer a pur
rotation
between
orthonormal
frames, the inverse of
T is not simply the transpose. However, when the perspective vector is 17 = 0 and the scale
factor is cr = 1, the inverse of T does have a particularly simple form, as can be seen from
the following useful result:

1
0
0
1

-1

0
-1

0
0
0

0
0

0
0
1
0

Proposition 2-4-1: Inverse Homogeneous Transformation. Let T be a homogeneous


coordinate transformation matrix with rotation R and translation p between two
orthonormal coordinate frames. If 17 = 0 and cr = 1, then
the2-inverse
of lis: frames for ExFigure
Coordinate
T
T
R ! - R p 10 ampie
2-4-3.
Exampie 2-4-4: Composite Homogeneous Transformation
--i _
Suppose we repeat the transformation of Example 2-4-3 but this time with the order of
000
1 3, and then we transate
the operations reversed. First we rotate M by v radians about/
2
the rotated
by 3we
units
along/
. Find [for
m l ]TF-1,following
thea composite
transformation.
Proof.MSince
have
a candidate
it is simply
matter of evaluating
it to see
x
whether
satisfies
the definition
Solutionit Using
Algorithm
2-4-1:of the inverse. The two matrices T and T~ are partitioned
conformably for multiplication,
henee the submatrices can be treated in a manner similar to
[m1f = T [ m ' ] M
scalars. Thus:
= Tran (3i2) Rot (77, 3) [ m l ] M
R

0
0
0
1
1

T-' T =

0
0

00 0 1
0 - 0 3 0
1
0
01 0 0
0
00 1 1
[- 3
l]
r
1 0T
R
RTp

0
RTR

0
0

000
1
0 -1
0 0
l
0 0 2
0
0 1 2

0 10 3
0

000

0001

But since R is a pur rotation between orthonormal coordinate frames, it follows from
Prop. 2-2-3 that R T = R ~ l . Thus T ~ ] T = /, where T ~ ] is as in Prop. 2-4-1. A similar
Thus, inreveis
terms of
coordinates,
[mlY = [of- 1T, 3is, as
0]r.given
Again,
is consistent with the
analysis
thatphysical
7Y_1 = /.
Henee the inverse
in this
Prop.
diagram of the two coordinate frames displayed in Fig. 2-11. Note that the
2-4-1.
46 Sec. 2-4 Homogeneous Coordinates Direct Kinematics: The Arm Equation Chap. 2

47

0 1

0 -

o ' i

o
'

0
0

0
0

1
0

2
1

0
1

0
-1

Find the homogeneous coordinate transformation which maps fixed F coordinates into
mobile M coordinates, and use it to find [ f 2 ] M .

f2
Figure 2-12
ampie 2-4-5.

Solution Using Prop. 2-4-1, we have:


[/T = T - ' [ f 2 ]21F

Coordinate frames for Ex-


o
0
1
1

o'

0
1
1

2-4-4 Screw Transformations

could instead have been formulated the other way around as a rotation followed by a
Certain composite homogeneous transformations arise repeatedly in robotic applications.
translation, as can be seen ffom the following exercise. This is a consequence of the > fact that
One is a linear displacement along an axis combined with an angular displace - ment about
the rotation and translation operations are being performed along the same axis.
the same axis. This type of motion corresponds to a threading or an un- threading operation
and2-4-3:
is therefore
to as a screw
Exercise
Screwreferred
Transformation.
Showtransformation.
that the fundamental rotation and
translation matrices associated with the unit vectors commute. That is,
Definition 2-4-2: Screw Transformation. Let F and M be initially coincident fixed
and mobile orthonormal coordinate frames, respectively. If Ai is translated along the kth 2-5
Tran (Ai*).Rot (<, k) = Rot (</>, k) Tran (Ai*)
unit vector of F by a displacement of A and rotated about the kth unit vector of F by an
angle of </>, the resulting composite homogeneous coordinate transformation matrix is
Exercise 2-4-4: Inverse Screw Transformation. Verify that the inverse of the screw
called the kth fundamental screw transformation matrix. It is denoted Screw (A, <f>, k)
transformation is again a screw transformation with:
and can be expressed:
Screw-1 (A, <,
k) =(A,
Screw
(<,
< ,k)k)Tran (A/*)
Screw
<>,(
k) A
= ,Rot
Example 2-4-6: Screw Transformation

It is clear that the screw transformation matrix includes the fundamental ho-

Let F {/\/2,/3} and M = {m \ m2, m3} be initially coincident fixed and mobile orthonormal
mogeneous rotation matrices as special cases, because Screw (0, <f), k) = Rot (<f>, k) for 1
coordinate frames, respectively. Suppose we perform a screw transformation along axis/2 translating
^ k ^3.ofSimilarly,
a translation
along
a unit
vector
also a special
by a distance
A = 3 and rotating
by an angle
of tt/2.
Find
[m 3 ] F is
following
the screwcase, be- cause Screw (A,
0, k) = Tran
(Ai*). Asthe
with
a of
physical
screw, one can define a pitch associated with the
transformation,
and determine
pitch
the screw.

thread.
In the
case
homogeneous transformations, the screw pitch is defined:
Solution
From Def.
2-4-2,
weof
have:
[m3]F Screw (:3,

, 2 I [m3]M
(2-4-5)
P = 27TA threads per unit length
Tran (3i2)
Rot
~, 2^ is A = 0. Consequently, a pur rotation is
For a pur rotation, the linear displacement
[m3]M \ J
a screw with infinite pitch. Similarly, for a pur translation along a unit vector, <f> = 0.
1 0 0
0 0 1 0
Thus a pur translation is a screw with a zero pitch. Note that if p is positive, then the
0
0
0 1 0 0
screw is right-handed , whereas if p is negative
it is left-handed. Refer to Fig. 2-13 for a
10 3
1
0
0 rotations,
0
summary of the relationship between translations,
and screws. Here each straight
0
0
0
0
0
1
line through the origin corresponds to a screw with a specific pitch. Horizontal lines are
1 0 lines are pur rotations.
pur translations, while vertical
0 0 1 transformation in Def. 2-4-2 consists of a translation
The formulation of0a screw
along/* by a displacement of
by a rotation about/* by an angle <f>. It
0 A followed
0
1

10 3

-10 0 0 0

= [-1 0 -2 lf

Figure 2-13 Translations, rotations,


and screws.

Thus, in terms of physical coordinates, [ f 2 ] M = [ 1 , 0 , 2] r . This is consistent with


49
Sec.Fig.
2-4 2-12.
Homogeneous Coordinates
48

Direct Kinematics: The Arm Equation Chap. 2

Arm
Parameter

Symbol

Joint angle
Joint distance
Link length
Link twist angle

e
d
a
a

Revolute
Joint (R)

Prismati
c Joint
(P)

Variable
Fixed

Fixed
Variable

Fixed
Fixed

Fixed
Fixed

Exercise 2-4-5: General Screw Transformation. Let Ser (A, <f>, u) denote a

TABLE 2-1 KINEMATIC PARAMETERS


screw with a linear
displacement of A and an angular displacement of <f> about an arbitrary unit
vector u. Find a formulation for Ser (A, <>, u) and show that:

screw
bi
tr

Ser (A, <f>, /*) = Screw (A, <f>, k) 1 < A < 3

2- 5 LINK COORDINATES

Recall that a robotic arm can be modeled as a chain of rigid links interconnected by either revoluteLINK CO<
or prismatic joints. The objective of this section is to systematically assign coordinate frames to
each of those links. Once this is done, a general arm equation which represents the kinematic
Recal
1
motion of the links of the manipulator can then be obtained. We begin by examining certain
either
parameters associated w i t h the physical design of a robotic arm.
assig
n
2- 5-1 Kinematic Parameters
equat
i then
Every adjacent pair of links is connected by either a revolute or a prismatic joint. The relative
t
position and orientation of two successive links can be specified by two joint parameters, as
physi
shown in Fig. 2 15.
c
2-5-1
Joint k

Figure 2-15 Joint angle 6 and joint


distance d.

3 F
r
Thus, in terms Here
of physical
] k
= [1,
This k.
is consistent
with the diagram
of the
twojoint
jointcoordinates,
k connects[m
link
3,1 0]
to . link
The parameters
associated
with
coordinate frames displayed in Fig. 2-14. The pitch of the screw is p = j 2 threads per unit length.

k are
defined with respect to z * ~ \ which is aligned with the axis of joint k. The first joint parameter, 0k,
is called the joint angle. It is the rotation about z*_1 needed to make axis x k ~ x parallel with axis
-1
JC*. The second joint parameter, d k , is called the joint distance. It is the translation along z*
needed to make axis x k ~ ' intersect with axis JC*. Thus 0k is a rotation about the axis of joint k,
while dk is a translation along the axis of joint k . For each joint, it will always be the case that one
of these parameters is fixed and the other is variable. The variable joint parameter depends on the
type of joint, as indicated in Table 2 - 1 . For a revolute joint, the joint angle dk is variable and the
Figurerelative
2-14 Coordinate
joint distance dk is fixed. Thus the two links rotate
to one frames for Exampie 2-4-6.

50

Sec. 2-5

Direct Kinematics: The Arm Equation Chap. 2


Link Coordinates

51

joint
first
to m
join
t
axis
the
para
on ti
is Vi
Sec

angles. Between these two extremes are cylindrical, spherical, and SCARA robots, whose
first three joint variables are a combination of joint angles and joint distances.
2- 5-2 Normal, Sliding, and Approach Vectors

By convention, the joints and limes of a robotic arm are numbered outward starting with the
fixed base, which is link 0, and ending with the tool, which is link n. For an n-axis robot
there are
n + 1the
links
n joints, with
k connectingdlink
: 1 and
to link
another
about
axisinterconnected
of joint k. For by
a prismatic
joint,joint
the joint
distance
the
k is variable
k. Inangle
order 6tok issystematically
coordinate
to the
links to
of one
an -axis
robotic
joint
fixed. In this assign
case the
two linksframes
transate
relative
another
along arm,
the axis
special
attention must be paid to the last link the tool, or end-effector. The orientation of
of
joint k.
2
the tool
can
expressed
in connecting
rectangularadjacent
coordinates
bythere
a rotation
matrix
R = [sucr 1 , rcessive
, r3],
Just
asbe
there
is a joint
links,
is a link
between
whereThe
the three
columns
of and
R correspond
and approach
joints.
relative
position
orientationtoofthe
thenormal,
axes ofsliding,
two successive
joints vectors,
can be
respectively,
as shown
in Fig. , as shown in Fig. 2-16. Here link k connects joint k to joint k
specified
by two
link parameters
2- +17.
r 3 is aligned
with
thedefined
tool rollwith
axisrespect
and points
away
from
wrist.
1. The approach
parametersvector
associated
with link
k are
to jc*,
which
is athe
common
Consequently,
vector
specifies
direction
which
the tool aiskypointing.
normal
betweenthe
theapproach
axes of joint
k and
joint kthe
+ 1.
The firstinlink
parameter,
is called The
the
2
-1 with the open-close axis of
sliding
vector
r
is
orthogonal
to
the
approach
vector
and
aligned
link length. It is the translation along ;c* needed to make axis z* intersect with axis z*. The
the tool.
Finally,
the normal
vectorthe
r l islink
orthogonal
to the
the jc*
approach
second
link
parameter,
a*, is called
twist angle.
It plae
is the defined
rotation by
about
neededand
to
_I and completes a right-handed orthonormal coordinate frame.
sliding
vectors
make axis z* parallel with axis z*.
Joint k + 1

w 5

Link k

I
Figure 2-16 Link length a and link
twist angle a.
Figure 2-17 Normal, sliding, and ap-

proach vectors of the tool.


Joint k
Unlike
the joint parameters, the two link parameters
are always constant and are
specified
as part
of the
mechanical
For industrial
robots,
the the
linknormal,
twist angle is usually
Recall
that the
yaw,
pitch, anddesign.
roll motions
are rotations
about
a mltiple
of T T / 2 radians.
theFor
axes
joint k of
andrepresenting
joint k + 1 intersect,
sliding,
and approach
vectors,Sometimes
respectively.
theofpurpose
tool ori- in which
case thethe
length
of of
link
is 1zero.
of can
length
zero occur,atfor
entation,
origin
thek {r
, r2, r3Links
} frame
be taken
either
theexample,
wrist, asininrobots with
spherical
where
n 2-17.
3 axes
More of
generally,
can be designed to
Chap.
1, or wrists,
at the tool
tip,the
as last
in Fig.
Forintersect.
the remainder
this textrobots
we will
have many
of the
constant
parameters
equalatto
which
assume
that the
origin
of the kinematic
{r\ r 2, r3} frame
is placed
thezero,
toolintip,
as incase
Fig. they are referred
as kinematically
simple
2- 17,tobecause
this simplifies
themanipulators.
subsequent representation of tool-tip position.
For an -axis robotic manipulator, the 4n kinematic parameters constitute the minimal
needed
to specify the kinematic
configuration of the robot. For each axis, three of the
2- 5-3set
The
Denavt-Hartenberg
(D-H) Representation
parameters are fixed and depend on the mechanical design, while the fourth parameter is the
joint variable,
as indicated
in Table
2-1. aFor
a rectangular-coordinate
robot the
first
three joint
Denavit
and Hartenberg
(1955)
proposed
systematic
notation for assigning
righthanded
variables are
all joint distances,
whereas
an in
articulated-coordinate
robotofthe
firstOnce
three joint
orthonormal
coordinate
frames, one
to eachfor
link
an open kinematic chain
links.
variables
are all joint
these
link-attached
coordinate frames are assigned, transformations between adjacent
coordinate frames can then be represented by a single standard 4x4 homogeneous coordinate
transformation matrix. To assign coordinate frames to the links of the robotic manipulator, let
Lk be the frame associated with link k. That is:

52
Sec. 2-5 Link Coordinates

Direct Kinematics: The Arm Equation Chap. 2

53

Lk = {jc*, y*, z*} Q < k < n

(2-5-1)

Coordinate frame Lk will be attached to the distal end of link k for 0 < k < n. This F puts the
last coordinate frame, L, at the tool tip. The coordinate frames are assigned to the links using
the the following procedure:

Algorithm 2-5-1: D-H Representation


0. Number the joints from 1 to n starting with the base and ending with the tool yaw,
pitch, and roll, in that order.
1. Assign a right-handed orthonormal coordinate frame Lo to the robot base, making
sure that z aligns with the axis of joint 1. Set k = 1.
2. Align z* with the axis of joint k + 1.
3. Lcate the origin of Lk at the intersection of the z* and z*-1 axes. If they do not
intersect, use the intersection of zk with a common normal between zk and z*'1.
4. Select * to be orthogonal to both z* and z** 1. If z* and z*_1 are parallel, point r * away
from z*"1.
5. Select y* to form a right-handed orthonormal coordinate frame Lk.
6. Set k = k + 1. If k < ny go to step 2; else, continu.
7. Set the origin of L at the tool tip. Align zn with the approach vector, yn with the
sliding vector, and JC" with the normal vector of the tool. Set k = 1.
8. Lcate point b at the intersection of the jc* and z*_1 axes. If they do not intersect, use
the intersection of jc* with a common normal between jc* and z*-1.
JC

JC

9. Compute 9k
as the angle of rotation from * 1 to * measured about z* \
10. Compute dk
as the distance from the origin of frame Lk-\ to point bk measured
along z*"1.
11. Compute ak
as the distance from point bk to the origin of frame Lk measured
along *.
12. Compute ak
as the angle of rotation from z*-1 to z* measured about *.
13. Set k ~ k + 1. If k < n, go to step 8; else, stop.
JC

m
the
Ti*
sigi
pie
re
I

ur<
*

JC

JC

JC

For convenience, we will refer to Algorithm 2-5-1 as the D-H algorithm. Note | that it
is essentially a two-pass algorithm in terms of the manipulator. On the first f pass (steps 0
through 7), a set of n + 1 right-handed orthonormal coordinate frames {Lo, Li, . . . , L} is
assigned, one to the distal end of each link. On the second pass (steps 8 through 13), the
vales for the kinematic parameters {0, d, a, a} are deter- mined. Note that in step 8 axis *
should always intersect with axis z k ~ l when k < n . When k = n y * will intersect with z k ~ l
if the last joint is a tool roll joint.
JC

JC

2- 5-4 An Example: Mcrobot Alpha II

As an example of an application of the D-H algorithm, consider the Alpha II robotic arm
pictured in Fig. 2-18. This is a small table-top robotic arm manufactured by Microbot, Inc. It
is a five-axis articulated-coordinate robotic manipulator that uses stepper motors for the
joint actuators.

H
Ib

54

Direct

Kinematics: The Arm Equation

Chap. 2;

Axis

1
2

3
4
5

0
0

0
1
0
0

215.0 mm

Home

TT/2

00

177.8 mm
177.8 mm

0
0

129.5 mm

7r/2
0

0
0

re 2

Nextaswe
apply steps 8ototwo
13 of
the D-H
algorithm starting
with k 1. Using Fig. 2-19, we
pressed
a the
composition
screw
transformations,
as follows:
out
of
page.
More
complex
motions
involving
simultaneous
and roll
get the set of kinematic parameters for the Alpha II robot shown in Tablepitch
2-2. Since
themovement
Alpha II iscan
also be
achieved.
It is dclear
that
pitch
and
roll
axes
intersect
atthe
the
71-1(0*,
ak) the
= the
Screw
(dkyof0*,
3)
Screw
(a*,isa*,
1)5 wrist.
(2-6-1)
ky a k>robot,
a five-axis
articulated-coordinate
vector
joint
variables
x 1 vector 0. Note
that
9 of the 15
fixed
parameters
in Table
2-2 are zero,
which
makes frame
the Alpha
robot kinematically
Here
71-1
denotes the
transformation
from
coordinate
k to II
coordinate
frame k 1.
simple.
If the origin
of the
base frame L0 coordinate
were to be transformation,
moved up to coincide
with the origin
In general,
T denotes
a homogeneous
the superscript
being of
theffame
index
L\ (allowable
under
the
D-H
algorithm),
then
the
kinematic
parameters
could
be
simplified
still
of the source coordinate frame and the subscript being the index of the destination, or
2- 6 THE
ARMwith
EQUATION
further
d\coordinate
0.
reference,
frame. As a consequence of the systematic notation for assigning link

Operation
1

3*

4
cek
sek

Ca S 6k
Qock C6k

Sak

2-(

coordinates in the D-H algorithm, a single general expression for transforming between adjacent
Once a set of link coordinates is assigned using the D-H algorithm, we can then transform from
coordinate frames can be obtained. In particular, using Eq. (2-6-1) and the expression for the
coordinate
ffame
to coordinate
frame k - 1 using
a homogeneous
coordinate transformation
TABLE
2-2kKINEMATIC
PARAMETERS
FOR THE
ALPHA II ROBOT
screw transformation in Def. 2-4-2, we arrive at the following result, which employs the
matrix. By multiplying several of these coordinate transformation matrices together, we arrive at a
shorthand notation, Sx = sin JC and Cx = eos JC:
composite coordinate transformation matrix which transforms or maps tool coordinates into base
coordinates. This composite homogeneous coordinate transformation matrix is called the arm
matrix.
Proposition 2-6-1: Link-Coordinate Transformation. Let {Lo, Li, . . . , Ln} be a set of
link-coordinate
26-1 The Armframes
Matrix assigned by Algorithm 2-5-1, and let [q] k and [q]k~1 be the
homogeneous coordinates of a point q with respect to frames Lk and L*~i, respectively. Then,
k ]
k
for There
1 < k <are
n, four
we have
~ = Tkin
-\[q]
, where: the homogeneous transformation matrix which maps
steps[q]
involved
constructing
The vales listed in the last column of Table 2-2 for the joint variable 6 correspond to the
frame k coordinates into frame k 1 coordinates. Each of these steps is associated with one of the
soft home position pictured in the link-coordinate diagram of Fig. 2-19. When assigning linkfour kinematic parameters summarized in Table
coordinates using the D-H algorithm, it is always easier to choose a soft home position that
2- 1. To determine the transformation matrix, we successively rotate and transate coordinate frame k
corresponds to the joint angles being mltiples of 7r/2 radians even if the original picture of the
1 to render it coincident with coordinate frame k. Using steps 8 to 12 of the D-H algorithm, this
robot is not so configured.
involves the four fundamental operations summarized in Table 2-3.
It is evident from inspection of Fig. 2-19 that the origins of the coordinate frames associated
with the
tool orientation {L3, L4} coincide at the wrist. This is indicad ve of the fact that the Alpha
Description
II robot has a spherical
wrist.steps
However,
is the
not D-H
a general
spherical
there is nodiagram
tool shown
Applying
O to 7itof
algorithm,
we wrist,
get thebecause
link-coordinate
k l
Rotate L k - X about z ~ by 0 k .
motion.
mechanical
design
enables
Alpha
II3robot
a pitch-roll spherical
in Fig.yaw
2-19.
Here The
the dotted
diagonal
linethat
between
thethe
origin
ofFRAME
andkto
1- achieve
TABLE
2-3 TRANSFERRING
1the
TOorigin of LA indicates that the
k x
Transate
~ \shown
along
~ Fig.
by d k . frames coincide.
kis
wrist
origins
ofLthese
twoz in
coordinate
FRAME K
k ]
Transate
x ~ by a k .
2-20.L k - \ along
They are drawn separated in order to make the diagram more clear. Note that the as- i
Rotate L*-i about x k ~ l by a k .
Thesignment
wrist design
employs
a set of dictated
three bevel
gears
{A,algorithm
B, C} in aisuniversal
of link
coordinates
by the
D-H
not unique.joint
For exam
Sa*configuration
S 6k
akple,
Casthe
shown
in Fig.of
2-20.
are driven
by seprate
stepper this
motors
andalso require
directions
anyGears
of theA2 and
axesBcould
be reversed.
Of course,
would
0
k
-S acables,
akreversing
k C 6 k while
gear C isthe
attached
to the tool
roll axis.
If gears
A and Bthe
areright-handed
driven in opposite
corresponding
y axes
in order
to preserve
na- ture of the
Sd
k
directions
atorthonormal
the toolframes.
will exhibit a pur roll motion. However, if gears A and B are
Ca
dthe
k
k same speed,
coordinate
driven
in the
0
1 same direction at the same speed, the tool will exhibit a pur pitch motion with the
Shoulder
Elbow
Tool pitch
tool tip moving into and
From Fig. 2-15 we see that the effect of operation 1 is to make axis jc*' paral- lel to axis jc*.
Following operation 2, axis jc* is then aligned (collinear) with axis jc*. Next, from Fig. 2-16 we
observe that operation 3 ensures that the origins of frames Lk~i and Lk coincide. Finally, the effect
of operation 4 is to align axis z*'1 with axis z*. Thus the two coordinate frames Lk-1 and Lk are
coincident at this point. The four fundamental operations summarized in Table 2-3 each can be
interpreted as a rotation or
a axis
translation of L*-i along one of its own unit vectors. It follows from
Roll
P
Algorithm 2-5-1 that we can postmultiply I by the
four fundamental homogeneous transformation
matrices to get the composite homogeneous transformation matrix associated with Table 2-3. We
see from Table 2-3 that operations 1 and 2 together form a screw transformation along axis z*'1. In
view of Exercise 2-4-3, operations 3 and 4 also form a screw transformation, in this case along
Tool
Figure 2-20 Pitch-roll
sphericalin
wrist
using
axis jc*' . Consequently, the composite homogeneous transformation
summarized
Table
2-3 can
bevel
gears.
Figure 2-19 Link coordinates of the
Alpha
II robotic arm. Sec.
be ex1

Pitch axis

-1

56

2-5 Link Coordinates


Sec. 2-6 The Arm Equation

Direct Kinematics: The Arm Equation Chap. 2

55

57

define the kth joint variable q k as follows:

qk =

+ (1

- j<f*

(2-6-3)

It is clear that & has the effect of selecting either 0* or dk, as appropriate. In general,
the kth homogeneous link-coordinate transformation matrix T-1 is a function of qk for 1 ^ k
^ n. For articulated-coordinate robots, we have q = 0, but for all other robots q is a mixture of
joint angles and joint distances. To solve the direct kinematics problem, we must determine
the position and orientation of the tool relative to a coordinate ffame attached to the base. The
transformation from tool coordinates to base coordinates is obtained by a succession of
coordinate transformations starting at the tool tip and working backward, one frame at a time,
to the base. In particular, if TSSl represents a transformation from tool-tip coordinates (link
n) to base coordinates (link 0), then:
TBUq) = Txo{qx)T]{q2) \ TU(q n) Tn0(q)

(2-6-4)

Note from the notation in Eq. (2-6-4) that when a sequence of coordinate
transformations is performed, the coordinate transformation algebra is such that diagonal
ndices cancel. Consequently, for a composite transformation, the super script on the
rightmost factor is the identifier of the source coordinate frame, while the subscript on the
leftmost factor is the identifier of the destination, or reference, coordinate ffame.
In order to compute the arm matrix, it is often helpful to partition the problem at the
wrist. This effectively decomposes the problem into two smaller subproblems, one
subproblem associated with the major axes used to position the tool, and the other
subproblem
associated
the minor axesmatrix
used tooforient
tool.
Here we
Particular
cases of with
the transformation
Prop.the
2-6-1
include
7o,break
whichthe
maps
expression
for
the
arm
matrix
into
two
factors
at
the
wrist,
or
third
axis,
as
follows:
shoulder coordinates into base coordinates; 71, which maps elbow coordinates into shoulder
2
coordinates; Ti, which
maps=wrist
tool
forth.
TS(q)
Th(qor
M2yaw
)T\{qcoordinates
x )T
2 ) = Tl{q) into elbow coordinates, and so (2-6-5)
If instead we want to move from the base towardn the tool, we need to use the transformation 7*TOJiq) n(q A)T\{qs) T n-Mn) | V&q)
(2-6-6)
1
, which is the inverse of 71-1.
For a general six-axis robot, Ttiqe) maps tool tip coordinates into roll coordinates,
T(q 5) maps roll coordinates into pitch coordinates, and maps pitch coordinates into yaw
Exerciseor2-6-1:
Link-Coordinate
Transformation.
Utilize Tz{q)
Prop. maps tool tip
coordinates
wrist Inverse
coordinates.
Thus the composite
transformation
2- 4-1
and Prop. into
2-6-1wrist
to show
that the following
maps
link k - 1 coordinates
coordinates
coordinates.
Similarly, transformation
T\(q 3) maps wrist
coordinates
into elbow into
link
k coordinates:
coordinates,
T2\(q2) maps elbow coordinates into shoulder coordinates, and Tl0(q\) maps
shoulder coordinates into base coordinates.
ThusSthe
To(q) maps
C$k
~ak
6k composite
0 transformation
wrist coordinates into base coordinates.
Once the two wrist-partitioned factors are obtained,
-Ca
k S 6k
-dkSak
Cak C6k Sak
the general arm matrix
7T1is=then computed by forming their product, as follows:
SakS6k
dk Ccc/t
-SakCOk Cak 00
TS(q) = TERq 1, q 2, q*)TSUq A , q 5, . . . , q n )
(2-6-7)
0
1
Again, notice that the diagonal identifiers in the composite transformation cancel. If
Recall
that three
of the kinematic
parameters
that appear
in the coordinate
transformation
one interchanges
the subscript
and superscript
of a given
transformation,
this changes
the
matrix
71-1
are
constant,
while
the
remaining
parameter
is
the
joint
variable.
The
joint
variable
direction of the transformation. Consequently, interchanging the subscript and the superscript
will
sometimestobeinverting
6k (for revolute
joints) and sometimes
bethe
dk following
(for prismatic
joints). Rather than
is equivalent
the transformation
matrix, as in
example:
treat the two cases separately, we introduce a joint type parameter , defined as follows:

joint k revolute

(2 -6 -2 )

joint k prismatic
Thus & is a binary-valued function of the joint type. With the aid of & we can then
Sec. 2-6 The Arm Equation
58

Direct Kinematics: The Arm Equation Chap. 2

59

c -s3 0
0
s c fl0 OCS3*
10
0 0 i0
00
01
0 0
0
a C,C
S3 c3
0
00
1TSSf(q) [r(q)]-'
12-6-8)
1
0 0
0 1
Recall from Prop. 2-4-1 that taking the inverse of a 4 x 4 homogeneous transformation
2

0 0

~CiS2

a 2S 2

3 3

01

Si

C1
3C
3
y
Sx

C3 -S 3

-s,s2 c 1
-s2 ~c2
0
0
0
0
O
3
5
C,C
Ci(f C 4
=
ThT\T\
=
matrix
is
a
simple
matter
which
involves
transposing
a
3
x
3
matrix
and
multiplying
a
3
x
7= T T}Tl =a C )
03
2 r
matrix by a 3 x 1 vector.
a3c23)
3
1
0
(2-6O
2- 6-2 The Arm Equation
10)
0
0
0
1
0
S1C
2

2S1C2

-,

d
i

'0

c,
1 0
0

r*

Q -S
s c
00

-Si

<3

c,
Si
00
c,c

di

a 2S 2

____I

~"CiS 2

23

wr
ist

S.C

SiS 23

C1C23
4C5

C5 -S

0
0

0
0
c4
s5-

0
1
- 4
sc :
-Cs
04
0
0
4

J3C3
3S3

0
1

3
S2
3

The reason for factoring the arm matrix into the product of two matrices partitioned at the wrist
5 0
5 cclosed-form
issthat
expressions for the two factors can be obtained rela- tively easily. At this
d
i
0
0
1
point, the two matrices can be multiplied together and a closed- form expression for the en tire
1 be obtained. Once an expression for the arm matrix is available, we can then
arm matrix can0then

dsS
substitute
it into the following matrix equation, called the arm equation:

0
0 c4

10

23

S.(tf 2C 2 +
di
a2S

c4
s4
00
c4
cs54

C 23

-S23

l
w
0
ri(

d$Q4

(2-6-10)

R(q) piq)

0
1
23 5

(<?) =

t
o
o C,(

117. 8C 2

S,(

. C2

(2-6-9)

0 04+
0!eos
1 (qt + q,) and S*, 4 sin ( qk + q).
Here, to4 simplify the notation,
we have used C*,
m
177
8
117 8 23
96 5 234
CiC
*
^
Hi)
23
Next, to computethe tool coordinates relative to the wrist, we have:
to of
compute
thevector
tool coordinates
relative to the wrist,
have: The 3x3
5 Next,
valu
the joint
q177
, the arm matrix
evaluated.
3 For each
215.9
5 bewe
SiS
234
8 177 8 T'SSU^)96can
upper left submatrix R(q)
r specifies the orientation
S of the tool, while the 3 x 1 upper right
0
0
1 three columns of R indicate the
submatrix p(q) specifies
the position of the tool tip. The
r

- S1S5

~CjC

s,c 5

4S

S1C234S5

- c,s5

S1C234
C5
S 2 3 4 C5

S2

CiS

-Ci*

Ss

177. 8C 23

. C

. S 23

96. 5S

. S

234

. C 234

tool 'T4 'TS


wrist
i 3 -

tool nr4 tt5

directions of the three unit vectors of the tool frame with respect to the base frame. Similarly, p
specifies the coordinates of the tool tip with respect to the base frame. The solution of the direct
kinematics problem in Eq. (2-6-9) is shown schematically in Fig. 2-21.

(2 -6 -11)

c,
=

Si
A

0
0

c,c2
S1
S
C22
0

Note that the final expression for depends only on the last two joint variables. Similarly,
the final expression for |f|| depends only on the first three joint variables. To find the arm matrix,
we multiply the two wrist-partitioned factors together. The product, after simplification using the
trigonometric identities in Ap- pendix 1, and after substitution
using
thePosition
numerical
vales forofd
Figure
2-21
and orientation
and a in Table 2-2, is the following arm matrix:
the tool in base coordinates.
C,
0 [c* -S2
0 q 2Q2

0 -s,

'
0

s3c3
s3
0
2- 6-3
Microbot
a
d An Example:
0 0
1 20S2 Alpha
0 II 0
i1
.0
0
00
.0 0
01
As
j an example of an arm matrix, consider the Alpha II robotic arm, whose link- coordinate
tf2C,C2
0 fl3
c, ~s
3
in Fig.
2-19. First
we find closed-form expressions for the two wrist-C1S2 diagram was developed
c,
*1 0
0

c2

s,
c3
c 1 j2SiC
0 We
J3 begin by computing the wrist coordinates relative to
2
3 c3arm matrix.
partitioned
factors
of sthe
S3
(2-6-12)
di ~Using
a2$2 the notation
the
C* 1eos q k0and S* = sin q k and some trigonometric identities from
c2
0 base.
00
short for eos (q + qj 4- qk) and the notation Sijk is short for sin (q + qj +
ijk is from
0 the notation
11, we C
Appendix
have
0 Here
0 0 Prop. 0 t 1
<?*). NoteTable
that the approach vector r3 and position vector p are independent of the tool roll angle
C1C "~CiS23 2- 6-1 and
s
Ci(a2c2-2:
2 +
qs
,
as
expected.
23
E3C23)
StC
c
Si(a2C2 + a3C23)
Direct Kinematics: The Arm Equation Chap. 2
23
60
~C23 0
di a 2 S 2

LS
0

s,s2

l U3S

we have used
1

0
0 0
0 s5 c5 0
0
0 00
1 d
1 0
0 1
n

0-s4
0 c4
- 0
00

61

Sec. 2-6 The Arm Equation

simplify the notation,

c4
s4
0
0

Sz

Ckj
(q k

= eos

+
<1j

C4
C5

s4
0
C1C23

c4 4 /5S4
s5- sc /5C4
~
0 0
1
0
0
+ S1S5 C1C234S3

4C5
S1C23 - c,s5
4C5 S234C3
0

S1C234S5
S234S5
0

s,c5
c,c5

-C1S234

S1S234

C23 4
0

C,(117.8C2 +
S,(177.8C2 +
215.9 - 177.8S2

177.8C23
-II7.8C23
~
177.8S2
1

96.5S234
)96.5S234)

96.5C234

(2-6-11)

Note that the final expression for r^'sl depends only on the last two joint variables.
Similarly, the final expression for rgS? depends only on the first three joint variables. To find
the arm matrix, we multiply the two wrist-partitioned factors together. The product, after
simplification using the trigonometric identities in Ap- pendix 1, and after substitution using
the numerical vales for d and a in Table 2-2, is the following arm matrix:

2- 7 A FIVE-AXIS ARTICULATED ROBOT (RHINO XR-3)


In this section we perform a detailed kinematic analysis of a five-axis articulated robot with tool

pitch and roll motions. This class of robots includes both the Rhino XR-3 educational robot and
the Alpha II industrial robot as special cases. The Rhmo XR-3 robot is shown in Fig. 2-22.

Figure 2-22 Five-axis articulated robot (Rhino XR-3). (Courtesy of Rhino Robots,
Inc., Champaign, IL. Robotic arm developed and manufacturad in the U S A . )
(2-6-12)

Here the
for
{q +XR-3
qj + is
q)such
andthat
the notation
Sijk is short
for sin vertically
(<?, +
ljk is shortof
Thenotation
physicalCstructure
theeos
Rhino
the base motor
is mounted
q} +remains
qk). Notefixed,
that the
approach
vectorelbow,
r3 and position
p are
independent
of horizontally
the tool
and
while
the shoulder,
and tool vector
pitch motors
are mounted
on
rollbody,
anglewhich
<75, asrotates
expected.
the
about the base axis. The tool roll and tool closure motors are smaller
motors mounted in the hand.
61

Sec. 2-6 The Arm Equation

62

Direct Kinematics: The Arm Equation Chap. 2

c,
Si
00
c,c2
s,c2

S2 0
CI
C
23
S,C
23
0

0 -Si
0 c,

0
10 0
c,sSiS2
-Ca

0
*0

c2 -s2
s2 c2
00
00

-s3 0
03
C3
c3 0
03
0 1 S3 0
0 0 1

C
S
0
.
1
0
c3 - s 0 03
Ci C2
02 Si
* 0 C
033
s3 c 3
d\ 2CS2 2
0
03 1 S30
1 The Link-Coordinate
0
0 Diagram
0 1
2-7-1
1 C\{a
C of
+ R03
column
specifies that axis z of the tool pitch ffame has coordinates (0, 1, 0) relative to the
wrist T T2 t3
rWe
3)points in the
2constructing
base.
2
same direction(diagram
as base axis
Finally,
p indicates
by
a link-coordinate
that y.
is based
onthe
the position
Denavit-vector
Hartenberg
+C03
\begin
S,Thus
that the coordinates
of the0 origin
theD-H
tool
pitch frame
to the3 base
Lothe
are (a3, 0,
steps
to 7 ofofthe
to L
therelative
Rhino XRrobot,frame
we get
CApplying
2algorithm
23)
(0algorithm.
2C2 d\
di + a2).
L is locatedshown
a distance
<23
diagram
ofThus
link coordinates
in Fig.
2-23.
-7in ffont of the base and d\ + a above the base. This is
a S 1

d
i

1
- S
s ci
,0

0
Ct
S
23
Si
S23
0

c
S
3
3
0

02

0
0
1
0

0
s
c
0
0

base

022
2

21

i O* M 2

consistent with Fig. 2-23.


Tool pitch
Elbowwe determine
Next
the position and orientation of the tool relative to the wrist:
wnst

5
1
(2-7-5)
Here, to simplify the notation, we have used C*, = eos (<7* + qj) and S*, = sin {qk + qj).
The transformation TbS? provides the position and orientation of the wrist frame relative to
Note
that the
final
expression
foryaw
the motion
positionfor
and
orientation
the tool
relative
to the wrist
the base
frame.
Since
there
is no tool
this
five-axis of
robot,
the wrist
frame
dependstoonly
on the
lastframe
two joint
as expected.
At this point
we could
corresponds
the tool
pitch
As avariables,
partial check
of the expression
for Tbas?,
we again
can make a
Figure 2-23 Link coordinates of a fivepartial
by evaluating
this
at the home
position.
Thisthis
should
provide
evalate
the check
transformation
matrix
at transformation
the soft home position.
From
Table 2-4,
is q
[0, the
axis articulated robot (Rhino XR-3).
r
orientation
frame L5 relative to ffame L3. It remains to find the position and
ir/
7r/2,03
0,and
7r/2]
, whichofyields:
0 02,position
1
of apply
the tool
relative
to the
base.
This
is obtained
by multiplying
twoFig.
wristNext
steps
8 to 13
of the
D-H
algorithm
starting
with k = 1.the
Using
2-23,
0 1orientation
0 we
0
partitioned
factors
together.
After
simplification
using
the
trigonometric
identities
in
Appendix
this
0 yields
d\ + the
a2 set of kinematic parameters shown in Table 2-4. Since this is an articulated0 -1
1,
we
get
the following
final
which isisthe
the direct
kinematics
problem
for
coordinate robot,
the vector
of result,
joint variables
q =solution
0. The of
vales
of q listed
in the last
column
five-axis
articulatedtorobot
in Fig.
2-23:
1 correspond
of0the
Table
2-4
the soft
home
position pic- tured in the link-coordinate diagram
(2-7-4) of
0
0 Fig. 2-23.
a
a
Home
d
Note that ds represents the tool length, which may vary from robot to robot de- pending
RhinoThe
XR-3.
The
Tb^q) dforand
thelink
five-axis
is installed.
vales
forarm
the matrix
joint distances
lengthsarticulateda of the
0 upon which
ttProposition
/2 type of tool
0 2-7-1:
dx
coordinate
robot whose
are/2as follows
(Hendrickson
andlink-coordinate
Sandhu, 1986):diagram is given in Fig. 2-23 is:
a2 Rhino XR-3
0 robottt
0
TABLE
as
0
7T/2 2-4 KINEMATIC PARAMETERS
0
OF0 A FIVE-AXIS ARTICULATED
a4
t 2
0
T
(2-7-1)
mm
ROBOT
d5
0
0
7
T/2 d = [260.4, 0.0, 0.0, 0.0, 171.5]
(2-7-2)
a = [0.0, 228.6, 228.6, 9.5, 0.0]r mm

rSe(home) =

Axis

1
2
3
4
5

<?3

II

?5

C4
C5
S4C
5

cHere-s,
ds =0171.5 mm corresponds to the standard fingers. Optional fingers of different
C4
4 lengths
C5 0
available.
If the robot is mounted on the optional aluminum base, then di = 279.4
s5 are
S4 mm.
Note how the final expression for the position and orientation of the tool relative to the
0 base0now depends
0 on all of the kinematic parameters. We can make a partial check by evaluating
1 Thearm
. Arm
0 at the soft home position, which ffom Table 2-4 is q = [0, tt/2, 7t/2, 0,
matrix
2- 7-2the
Matrix
C4
Cl07. This
- /5S4
0yields:
TT /2]
Inspection
of
Fig.
2-23 reveis that this is consistent with the link-coordinate diagram. The
S5
4
-S4S5 s
Qconsider
4 of thethe
problem
of computing
the arm
matrix
of the position,
robot in Fig.
Firsttool
we
first
column
matrix
indicates that,
in the
soft home
axis 2-23.
x3 of the
4cNext
+
d$rotation
S4
/ has
pitch
frame
(1, wrist
0, 0) in
base frame.
Consequently,
it is pointing
in notation
the
partition
the coordinates
problem at the
to the
generate
two simpler
subproblems.
Using the
C* A
0
0
3
same
direction
assin
base
The
second
of RTable
indicates that axis y of the tool pitch
and S* A
#*,axis
we x.
have
from
Prop.column
2-6-1 and
0 ffame
0eos
1
0, -1) in the base ffame, in which case it is pointing in the opposite
-"C1C234S2-4:
5 +has
S1Ccoordinates
5
-C, S234(0,
' C1 (*2 C2 Z3C23 + I4C234 ~ ds S234)
s5
direction of base axis z. The last

0 -S4
0 C4
- 0
0 0

-s5
0
Cj C234C5 + Si
Si C234C5 c,

C4

c4
s4
00

s5

S1C234S5 c,c5

S234Sec.
S5 2-7 A Five-Axis
C234 |Articulated
d\ I2S2 flRobot
23 ~ I(Rhino
4SKinematics:
234 ~XR-3)
ds C234 1The Arm Equation Chap. 2
3 SDirect
64

S234 Cs

rgSiChome) =

-'S1S234 J S1 (?2C2 + 3C23 + <24C234 ~ S234)

0 i1

#3 + 4

0
d[ + a2 - d5

-1

.0

63

Ci C;>34 C5
f" S,
Si Ci34 C5 C,

s5

S234 C5

Cj C234 S5 +
Si
Si C234 S5
C,
S234 S3

c
5
c

Cj
S234
S{ S234

C234

! CI(177.8C2 + 177.8C23
I
! S,(177.8Cj + I77.8C23 i

96.5S234)

96.5S,)

96.5C234

! 215.9 - 177.8S2 - 177.8S 23 |


1
1

0
0

0
-1

485.
1

215.
9

:1

Inspection of Fig. 2-23 reveis that this is consistent with the link-coordinate dia gram. The first
- column
1
0of the
0 rotation
0 0 matrix indicates that, in the soft home posi tion, tool axis x (the normal
1
TOUhome)
= the base. The second column of R indicates that tool
vector) points in the same direction
as axis y of
0
1 0 0 0
axis y (the sliding vector) points in the same direction as axis x of the base. The last column of R
0
1 1 0 0
specifies that tool axis z 5 (the approach vector) points in the opposite direction from axis z of the
0
1 1 1 0
base.
Finally, the position vector p indicates that the origin of the tool coordinate ffame (the tool tip)
0 Joint
0 0Coupling
0 1
2-7-3
is
located
a distance ai + z in front of the base and di 4* a2 - di above the base when the robot is in
5

Pi

0
P
2
0

0
p
4
0

0
P
s

the soft home position.


It isThe
apparent
from
thedirect
generic
expression
for theinarm
matrix
2-7-1inthat
angles
solution
to the
kinematics
problem
Prop.
2-7-1inisProp.
generic,
the the
sense
that all of
023
=
02
+
03
and
0234
=
02
+
03
+
04
appear
repeatedly.
From
Fig.
2-23
we
see
that
the
the nonzero joint distances and link lengths appear as explicit parameters. Consequently, other
angle 023 can be thought of as a global elbow angle. It is the elbow angle measured relative
robotic arms having a similar kinematic configuration but different vales for these kinematic
to the work surface or jcy plae. When 023 = 0, the forearm is horizontal and pointing
parameters can also be ana- lyzed using this general expression for the arm matrix. Of course, not
straight out, whereas when 023 = 7r/2, it is vertical and pointing straight up. Similarly,
all five-axis articulated robots will fit this pattern. The Alpha II industrial robot is one that does, as
the angle 0234 can be thought of as a global tool pitch angle. It is the tool pitch angle
canmeasured
be seen from
the following
example.
relative
to the work
surface or xy plae. When 0234 = 0, the tool is vertical and

pointing straight down, whereas when 0234 tt/2 it is horizontal and pointing straight out.
Example 2-7-1:
Alpha II Robot
The mechanical
linkages for some robots, for example, the Rhino XR-3, are designed
in such
as toofcouple
theofmovement
the shoulder,
elbow,articulated
and tool pitch
As ana way
example
the use
the genericofform
of the five-axis
armjoints
matrix,
through
consider
a parallel
the Alpha
bar mechanism.
II robot, which
When
is an
thearticulated-coordinate
shoulder motor is activated
robot that
to produce
is sometimes
a rotation
used
in wafer-handiing
in the semiconductor
industry.
of A02
= j8, the elbowapplications
moves simultaneously
to producemanufacturing
a counteracting
rotationFrom
of A0Table
3 = 2angleselbow
are theangle
same0as
those in Table
2-4. However,
we have
jS. 2,
In the
thislink
waytwist
the global
fixed when
the shoulder
motorthe
is following
23 remains
joint distances
and link
for theofAlpha
II robotic
arm:to the base coordinate frame
activated.
Consequently,
thelengths
orientation
the forearm
relative
is unaffected by the shoulder motor. Similarly, when the elbow
motor is activated to produce
d = [215.9, 0.0, 0.0, 0.0, 96.5]r mm
a rotation of A03 = y, the tool pitch moves simultaneously to produce a counteracting
r
rotation of A04 = y. Thus the
tool pitch
angle
34 remains
a =global
[0.0, 177.8,
177.8,
0.0,020.0]
mm fixed when either the
shoulder motor or the elbow motor is activated. This means that the orientation of the tool
It is clear from these joint distances and link lengths that the Alpha II robot, unlike the
relative to the base coordinate frame is unaffected by the shoulder and the elbow motors.
Rhino XR-3 robot, has a spherical wrist (a4 = d4 = 0). Thus the arm matrix for the Alpha II
These coupling effects can be useful when controlling
the robot at the joint level. For exis somewhat simpler than that for the Rhino XR-3. In particular, if we evalate the generic
ample, if a liquid-filled container is carried by the tool, it will not spill on account of tipping
expression for the arm matrix in Prop. 2-7-1 using the joint distances and link lengths for
when either the shoulder motor or the elbow motor is activated.
the Alpha II, the result is:
The kinematic analysis of a robotic arm using the D-H algorithm is based upon
independent control of the joints with no coupling assumed between them. When
mechanical coupling does exist, it can be removed at the software level by prepro- cessing
the joint movement command A0 with a coupling matrix C and a precisin matrix P. This
produces a command vector A/i that specifies the number of encoder counts to be sent to
each motor starting with the base and ending with the tool roll. For the Rhino XR-3 robot,
the encoder counts required to produce a movement of A0 degrees in joint space can be
formulated as follows:
=

This is precisely the same result as obtained in Sec. 2-6, where an independent analysis of
the kinematics of the Alpha II robot was performed. Thus, in terms of its kinematic structure,
A h the Rhino XR-3 robot includes the Alpha II robot as a special case. As a partial check on
this expression for the arm matrix for the Alpha II robot, we can evalate it at the soft home
position, which, from Table 2-2, corresponds to q - [0, 0, 0, 7t/2, 0]r. For these vales of
the joint variables, we have the following transformation matrix. Inspection of Fig. 2-19
reveis that this is indeed consistent with the link- coordinate diagram.

Sec. 2-7 A Five-Axis Articulated Robot (Rhino XR-3)


Direct Kinematics: The Arm Equation Chap. 2

65

Here A8 is a vector with five components which specifies the desired change in the five joint
angles expressed in degrees. The coefficient matrix C is a coupling matrix. Note the ls beiow
the diagonal for the elbow command A/j3 and the tool pitch command A/14. These offdiagonal terms effectively remove the coupling introduced by the parallel bar mechanism. The
matrix P~x is the inverse of a diagonal precisin matrix. Here the ps specify the precisin of
each joint expressed in degrees per encoder count. From Table 1-11, we have:
p = [0.2269, 0.1135, 0.1135, 0.1135, 0.3125]7 degrees per count (2-7-8)

Note that the terms p3 and p4 appearing in Eq. (2-7-7) have negative signs preceding them.
This is because positive directions for the 0s in the link-coordinate diagram in Fig. 2-23 do
not necessarily correspond to positive encoder counts in the Rhino movement command
(Hendrickson and Sandhu, 1986). Given the way the Rhino XR-3 robots are wired at the
factory, the base, shoulder, and tool roll motors have positive encoder counts corresponding to
positive joint angles, but the elbow and tool pitch motors have negative encoder counts
corresponding to positive joint angles; henee the minus signs to compnsate. Of course, the
Rhino XR-3 hardware could be modified by reversing the power leads to the motors and
remounting (flipping) the optical encoder disks. However, this is really not necessary, since the
introduction of minus signs in the software achieves the same result.
The vector Ah specifies the proper number of encoder hole counts to send to each of the
five motors, starting with the base and ending with the tool roll, in order to achieve a move of
A6 degrees in joint space. A matrix formulation of A/i is used in Eq. (2-7-7) to highlight the
interaxis coupling, which manifests itself through off- diagonal terms in C. For a software
implementation of Eq. (2-7-7), clearly it would be more efficient to premultiply the matrix
expression for Ah by hand to produce five seprate scalar equations for the individual
components of Ah.
2- 8 A FOUR-AXIS SCARA ROBOT (ADEPT ONE)

Another important type of robotic manipulator is the four-axis horizontal-jointed robot, or


SCARA robot. Examples of robots which belong to this general class include the Adept One
robot, the IBM 7545 robot, the Intelledex 440 robot, and the Rhino SCARA robot. For
illustration purposes we examine the Adept One robot, shown in Fig. 2-24. The treatment,
however, is generic, and consequently the method used is applicable to SCARA robots in
general.
The Adept One robot is unique in that it was the first commercial robot to im- plement a
direct drive system for actuation. No gears or other mechanical power conversin devices are
used. Instead, high-torque low-speed brushless DC motors are used to drive the joints directly.
This eliminates gear friction and backlash and allows for clean, precise, high-speed operation.
2- 8-1 The Unk-Coordinate Diagram

To construct the link-coordinate diagram, we apply steps 0 to 7 of the D-H algorithm. The
resulting set of link coordinates for the SCARA class of robots is shown in Fig. 2-25.
(2-7-7)
A0 = P-'C A0

Sec. 2-7

68

A Five-Axis Articulated Robot (Rhino XR-3)


Direct Kinematics: The Arm Equation Chap. 2

67

Figure 2-24 Four-axis SCARA robot (Adept One). (Courtesy of Adept Technology, Inc.,
San Jos, CA.)

Elbow

Vertical
extensin

Base

Sec. 2-8 A Four-Axis SCARA Robot (Adept One)

Figure 2-25 Link coordinates of a fouraxis SCARA robot (Adept One).


69

C, Si
S, - C y

0
0
-1

00
00

y
Cy
ay

Si d
y

c2
s2

-s 2
c2

0
"

1
0
0
S
y
0
C 1i- 2
C
Si
0
*i
2
2
ing expression
forCithe
isSgeneric and applies to a variety of SCARA class robots:
0
0 arm matrix
-1
.0

TABLE 2-5 KINEMATIC PARAMETERS

In this
the vector
of A
joint
isSCARA
q = [0*,
02, fe, fe]7. The first two joint
Proposition
2-8-1: Adept
arm
matrix
Tbc(q)
for
avariables
four-axis
robot
" Ci
S One.0 The
ycase
OF
FOUR-AXIS
SCARA
ROBOT
2 diagram
i- 2variables
C
{ft,
62}2-25
are revolute
variables which establish the horizontal component of the tool
se link-coordinate
in
Fig.
is:
- is given
S,
0
ay
2
Ci- 2position p. The
S third joint variable, fe, is a prismatic variable which determines the vertical
1
-1
0
0 component of p. Finally, the last joint variable, 04, is a revolute variable which Controls the
0
R. Applying steps 8 to 13 of the D-H algorithm yields the kinematic
0
0 tool orientation
______
parameters shown in Table 2-5. tool r
c -s4 0 0
base
Note that 7 of the 12 constant parameters in Table 2-5 are zero, which makes the
s
c 0 0
SCARA robot kinematically simple. Indeed, of all the practical industrial robots, the SCARA
0 0 1 d
robotis perhaps the simplest to analyze. Thevales for the joint distances
0 0 0 1
d and link
lengths
a ofthe Adept One robot are
a
a
Home
Axis
e
d
as
follows:
1

i
bt
3
4

L_
1
N
1
U

't
1
(S
1
00
0

<72
0
<?4
S
i.

Ci

-2-4 0
-2-4 0

a2

IS
O6
0 length
7r/2
tool
of
fe

d=

[877, 0.0, fe, 200]r mm

(2-8-1)

a=

[425, 375, 0.0, O.Of mm

(2-8-2)

0
Here
a
= 200 mm has been assumed. Note that a specific valu for fe has
not been
Q \ specified, because fe is a joint variable in this case. The vales for fe range from 0
+ 02C1C,
to 195 mm, 2which implies a vertical stroke of 195 mm.
fli Si

02S1-

Matrix
di -Arm2
-12- 8-2 The
<73 d

0
0

ir

a.

d,
0
>
4

1
Next we compute
the arm matrix Tb?e(q) for the SCARA robot. Since there are only four
axes, we will not perform the intermedate step of partitioning the problem at the wrist.
Instead we compute the arm matrix directly in one step, as follows:
tool T i t 2 t 3 t 4
base ~ 0 i l 2 3

0 0,2 C2
0 2 S2
0
o
1

0
0

10
0
0 1 q3

1
d
i
1

0 1

0
0'
0 1 0
0 0
qi

0
0

s4 o o

c4 o o

0
o

1 fe
o 1

oc

-s4

0
o

o o

c4 o o
1 fe
o 1

o
(2-8-3)

After multiplication and simplification using trigonometric identities from Ap- pendix 1,
we get the following arm matrix for a SCARA robot. Since the nonzero joint distances d and
link lengths a have been left as explicit parameters, the follow-

70

Direct Kinematics: The Arm Equation Chap *

2-9-1 The Link-Coordinate Diagram


rssu | nnn

First we construct a link-coordinate diagram based on the Denavit-Hartenberg algorithm. Applying


mm
[373.4,
0.0, 0.0, 0.0,
steps 0 to 7 of the D-H algorithm
to 0.0,
the Intelledex
660228.6f
robot, we get the
diagram of link(2-9-1)
coordinates
shown in Fig. 2-27. a
(2-9-2)
[0.0, 0.0, 304.8, 304.8, 0.0, O.Of mm
Here d* 228.6 mm corresponds to the standard
pneumatic gripper.
If, instead, the small
Elbow
Tool pitch
servo tool or some other tool is installed, then the calibration technique dis- cussed in the
operators manual should be used to measure d(>.
2- 9-2 The Arm Matrix

Next consider the problem of computing the arm matrix of the robot in Fig. 2-27. First we
partition the problem after the third axis, which, in this case, is the elbow joint. Using Prop.
2-6-1 and Table 2-6, we have:
elbow

'T'l nr2

nr>3

s, c,s2 o
c,c2
s,c2 -c, s,s2 0
Here the notation C1-2-4 denotes eos (<71 q
o c2 o d.
s2

Axis

<71
<72
<73
<74
<7s

1
2

3
4
5

0
TT/2
0
0
Solution
Using
Prop.provides
2-8-1 and
(2-8-1)
(2-8-2), of
wethe
have:
p =frame
aThe transformation
/2
TbST
theEqs.
position
andand
orientation
elbow
0 L relative
thea Intelledex
660ofrobot
is quite unique.
It is a full six-axis robot yet
tophysical
the 0basestructure
frame
L0of
.2-6
As
partialaicheck
the, expression
TABLE
KINEMATIC
PARAMETERS
OF- d ]for JS", we can
0 thereO0areTheonly
[a,C,
+
Z2C1-2,
Sj
+
a
S,_
d\
qi
TTsoft
/2joints
7position.
T/2
near the
end of
arm,
a toolofpitch
joint
home
From
thethe
last
column
Table
2-6,(outboard")
this is q = and a tool roll
A out
SIX-AXIS
ARTICULATED
ROBOT
0 devalate it at thetwo
0
0
- 0.259a
, 0.707a,
+ 0.966a
, d, - orientations
d - 120f = [203.4,
joint 0
(tool
spin). Even
has yields:
only
two joints,
arbitrary
of the tool are
[tt/2,
tt/I,
7t/2,though
0,=7[0.707a,
t/2the
, 0]wrist
, which
e

0
0

'

S45

0
0

OAQA

0
1
0

s4

CI4

andindirectly
material-handling
applications,
including
and
photomask-handling
operations
clean
0
0
0 robotthrough
1 may
achieved
software.
vary
from
to robot,
depending upon
whichwafertype of
tool
is installed. The vales
for thein
joint
semiconductor manufacturing industry.
3in the
0 -1rooms
0
0 distances
d and
link lengths a of the Intelledex 660 robot are as follows:
0 d
0 1
i
Direct Kinematics: The Arm Equation Chap. 2
0
0 74 0 1
0

Direct Kinematics: The Arm Equation Chap. 2

Sec.
2-9 A Six-Axis
Articulated
(Intelledex
Sec. 2-9
A Six-Axis
Articulated
Robot Robot
(Intelledex
660) 660)
72

s5

0
1

C45
4 S

40

0
C45

L-- -

S4

is achieved
indrectly
through a unique two-axis shoulder design. The first
7
#3
cpossible.
0 Tool
s yaw
0 motion -s
662.7, 0
557.0]
mm
3
while
the second axis achieves a pitch-type motion in the
03
0 rolls
saxis of
0 the- shoulder
s the centire0arm,C
S3 to implement a pur horizontal yaw motion of the tool, one
plae selected by the shoulder roll. Thus,
d
1 0 0 0
0
(2-9-4)
0
0
1
i 2- 9 Acan
first rollARTICULATED
the shoulder byROBOT
7r/2 radians
and then activate
the tool pitch joint. By eectively
SIX-AXIS
(INTELLEDEX
660)
0 0 1 0
0 0 1
1 0relocating
the tool yaw joint in the shoulder, a re- duction in the weight out at the end of the arm is
0 03
As In
a third
we perform
a kinematic
analysis
six-axis
industrial
robot,
the
someexample,
robots, such
as the Microbot
Alpha
II and of
thea GE
P-50articulated
robot, weight
reduction
at the
C3 realized.
0 0 3Inspection
manipulator,
in
Fig. 2-26.
Intelledex
660
robot
aofhigh-precision
Fig.
2-27
reveis
that shown
thisthe
specification
of The
position
and
orientation
ffame
end ofIntelledex
theof
arm
is660
achieved
by placing
actuators
for
the distal
joints
back
nearisthe
base
of the robot
S
3
light-assembly
robot
thatthe
uses
closed-loop
stepper
to achieve
tool-tip
1 0Land
to ffamecables
Loindustrial
is or
consistent
with
link-coordinate
diagram.
3 relative
then
running
chains
up
through
the
arm. The virtue
ofmotor
the In-control
telledex
design isa that
of
0.001
in.
(0.0254
mm).
This
type
oftool
robot
finds
a tool
variety
of assembly
the position
and
orientation
of
thecase
relative
touse
thein
elbow:
0 1there Next
isrepeatability
no we
need
mechanical
power
transmission
through
the
arm.
Instead,
the
yawlength,
motion
is
Here
11determine
offor
the
18
fixed
parameters
are
zero.
In
this
de
represents
the
which

s
-,
Ct
0
0

s3c
3
0
0

s
c

Lbibsew(ho
me) =
C4

fO

0
0
1
0

IT

c
3s
03
.0

<?6

c
,s
,0
0

q*)> and similarly, S1-2-4 denotes sin


(<?i
qi 2-27
<74).
Note that the approach vector is fixed at r3 = i3, independent of the joint
Figure
Link
o coordinates of1 a six-axis articulated robot (Intelledex 660T).
o
variables. This is characteristic of SCARA robots, which are designed to maniplate objeets from
Ci CThey
2 C 3 are
+ often used
Ctasks
1
C1inClight
2 S 3 assembly
+
directly above.
such
as the
of components
(CiC
c insertion
+ s,s3W
Next we apply steps 8 to 13 of the D-H algorithm starting with k =2 1. 3Using Fig.
2-27, this
Si S3
into circuit boards.
S2
s,c
3 S1 C2 S3
(S
1C2C3 ~ Ci 83)03
yieldsathe set of kinematic
parameters shown in Table 2-6. Since this is an articulated-coordinate
a
Home
S
1
C
2
C
3
-One is q-c,c
s,sin2 Table 2-6
d\ +for
S26C303
1
3 -S 2 S 3
2-8-1:
Adept
robot, Example
the
vector
ofSix-axis
joint
variables
6. The vales
listed
correspond
Figure
2-26
articulated
robot (Intelledex
660T).
(Courtesy
of Intelledex.
Inc.,
Corvallis, to
ORthe
)
(2-9-3)
C
1
S
3
S
2
C
3
o
-c
Find
the
position
of
the
tool
tip
of
o
the
Adept
One
robot
when
the
joint
variables
are
q=
2
d soft home
0
7T/2pictured
7Tin
/2the link- coordinate diagram of Fig. 2-27.
position
r
[7t/4, -7r/3, 120, 7r/2] .
o
T T /2
2

01
.0

c 4
4

0
C. s6

0
0

0 1

s6 0
c6 0

73 71

0
0
C45
c
S45
Cs

1
0

0
1

C
6
6

45

"
S4

s6

0 0
-f 1
s, \5
- sd

c4

s6 - c 45
0
0

0
C4

24

s4

(C1C2C345 + Si S 345
S2 Sg
2-)C64.+ CjConsider

C1S2C6 tool
(C1C2C345
+ S1
45)Sg2-29. Suppose
S1C345 +
Ci C2
S 45the tool by TT about /, then pitch
the robotic
shown
inS Fig
we
yaw
2
/ , and
finally
roll)Sthe tool by
tt/2 +about/\
(Si C2 C 5 ~ CiS 45)C6the
+ S( tool
S2 S by -tt/2 about
S1S2C6
(SiC2C345
~ C,S
C1C345
S1C2S345
R=
(a) Sketch the sequence
of tool positions after each of
the yaw, pitch, and roll move- ments.
S2 C 45 C ~ C2 Sg
~ C2 C S2C345S6
S2 S345
(b) Find the transformation matrix T which maps tool coordinates M
F
c 6into wrist
oo
s 6 coordinates
"0
0 1 following
03 + 04
d
the+sequence
of rotations.
s
c60 o
0 -1 (c)0 Find [p] Fy0the location of the tool tip p in wrist coordinates F following the
do O
of
o 1 sequence
6
M
7bUhome) =
1
0 0 rotations, assuming
dx
that the tool-tip coordinates in terms of the tool
o frame
o are1[p] = [0, 0,
r
Note
that
0.8]
. this is consistent with the link-coordinate diagram in Fig. o2-27. The first column of the
o jc6 (the
indicates
inpitch,
the soft
position,
axis
normalorder
vector)
points
the
0 2- 05.rotation
0 Prob.matrix
Do
2-4 1but
with thethat,
yaw,
andhome
roll of
the tooltool
performed
in reverse
about
the in
unit
6
same direction
as axis z offrame
the base.
The
second
column
of R0indicates
tool axisframe.
y (the sliding
vectors
of the M coordinate
rather
than
about*the
unit vectors
of the Fthat
coordinate
0
c
0
0
vector) points in the opposite direction from axis y of the base.do
The last column of R specifies that
1
0
C
tool axis z6 (the approach vector) points in the same direction as1axis x of the base. Finally, the po0
0
2
0
sition vector p indicates that the origin of the tool coordinate ffame (the tool tip) is located
a distance
C
(2-9-5)
0
0
3
<a3 + a4 + d6 in front of the base and d\ abo ve the base when the robot is in the soft home position.
34

345

_0

a
Tool

Note that the final expression for the position and orientation of the tool relative to the
Roll
elbow depends only on the last three joint variables, as expected. At this point we could again
2- 10 PROBLEMS
F
make a partial check by evaluating thisGtransformation
at the soft home position. This should
provide
theWhich
position
andkinematic
orientationparameters
of frame Lo
frame
L3. Wejoint?
still need
to find
the
nr tofor
3- 1.
of the
arerelative
variable
a revolute
Which
are variable
Pitch to the base. This is obtained by multiplying the two
position and
of the tool relative
forYaw
aorientation
prismatic joint?
elbow-partitioned
factors
together. After
simplification
usingposition,
the trigonometric
4- 2. Consider
the single-axis
robot considerable
in Fig. 2-28 shown
in the2-29
home
which
Yaw,
pitch,
and correroll of
Figure
M
identities
in Ap- to
pendix
0 = 7r/2.
1, we
Suppose
get the the
following
point pfinal
on the
result,
mobile
which
linkishas
thecoordinates
solution of [p]
the direct
= [0.5,
tool.
msponds
0.5,problem
2.0f. for the six-axis Intelledex 660 robot:
kinematics
2- 6. Consider
following composite
homogeneous
coordinate transformation
matrix
5- Find the
an expression
for R(0), the
coordinate transformation
matrix which
mapsT:
mobile M
coordinates into fixed F coordinates as a function
R ! p of the joint variable 6.
F
6- Use R(6) to find [p] when 0 = 7r and when 0 = 0.
Proposition 2-9-1: Intelledex 660. The position
0 0 0|1 p(q) and orientation R(q) of the tool
ffame relative to the base frame for the six-axis articulated-coordinate robot whose linkAssuming that R and p represent a rotation and a translation of the mobile frame about
coordinate diagram is given in Fig. 2-27 are:
its own unit vectors, which of the following sequence of operations does the composite
transformation T represent?
That is,
what is the implicit+ Si(fl
order
of the twoCfundamental
Cl C3 +
4C34 + 6 S345)
S +#S4 ~
4s)
operations?
S1 C2O33 C3 +
4C34 + d(,Sj4s) Ci(<3 S + Q4 S 4 6 C 4s)
=
(a) T represents Pa rotation
of R followed by a translation of p?
d\ + 82(03 C + 04 C34 + ?6 S345)
(b) T represents a translation of p followed
by a rotation of /??
(c) T represents neither in general?
2- 7. Find a numerical example which shows that the order in which a rotation and a translation are performed does affect the final relationship between two initially coincident
Figure 2-28 Single-axis robot.
coordinate frames. Specify the coordinate transformation matrices, and sketch the sequence
positions.
2- 3. of
Consider
the following coordinate transformation matrix, which represents a fundamental
It is evident that the expressions for the approach vector r3(q) and the tool-tip position
2- 8. Homogeneous
coordinate
transformation
usedistothe
represent
rotation. What
is the axis
of rotation (1,matrices
2, or 3),can
andbewhat
angle ofscaling
rota- i option?
p(q) are independent of the tool roll angle q6, as expected. We can make a partial check of the
erations as well as rotations and translations. Consider the following fundamental hofinal expression for the arm matrix by evaluating it at the soft home position, which
mogeneous scaling matrix:
0.500
corresponds to q = [tt/2, -n/2, 7t/2, 0, 7t/2, 0]r. This
yields: 0 -0.866'
R= 0
1
0
0. 866
00.500
Scale (c, cr) 4
3

Direct660)
Kinematics: The Arm Equation Chap.
Sec.
76 2-9 A Six-Axis Articulated Robot (Intelledex

75

(a) Show that when a * 0 and * - |l. i, l)r, Scale (c, cr) scales all three physical coordinates by 1 ja

He re r is referred to as a global scale


factor
(b) Show that Scale (c l) wales the rth physical coordnate
by ck for 1 s k s 3.
Here c is referred to as a vector of local scale factors.
(c) Show that when cr * 0 and c = [cr, cr, tr]7, the local and global scale
factors can
cel one another, in which case multiplication by Scale (c. cr) has no effect on the physical
coordinates.
2- 9. Consider the Ummation PUMA 200 manipulator, shown in Fig. 2-30. This is a six-axis articulated
robot with a roll-pitch-roll type of spherical wrist. Assign link coordinates using the first half of the
D-H algorithm Label the diagram with a's and d's as appropriate.

Unimation PUMA 200 robot. (Courtesy of Westinghouse Automation


Divisin, Pittsburgh, PA.)
Figure 2-30

2- 10. Use the second half of the D-H algorithm to fill in the kinematic parameters for the PUMA 200

robot in Table 2-7, consistent with your link-coordinate diagram from Prob. 2-9. Indicate which
parameters are the joint variables.
TABLE 2-7 PUMA 200 KINEMATIC PARAMETERS Axis

d a a Home
1
2

3
4
5
6

78
Sec. 2-10 Problems

Direct Kinematics: The Arm Equation Chap. 2

77

2- 11. Compute the first factor of the arm matrix T(q) for the PUMA 200 robot using your table

of kinematic parameters from Prob. 2-10.


2- 12. Compute the second factor of the arm matrix Tltv(q) for the PUMA 200 robot using your
table of kinematic parameters from Prob. 2-10.
2- 13. Compute the arm matrix Tl^(q) for the PUMA 200 robot using your wrist-partitioned factors
from Prob. 2-11 and Prob. 2-12.
2- 14. An alternative way to specify the tool orientation is the Z-T-Z Euler angle representation.
The mobile frame M and fixed frame F start out coincident. Frame M is first rotated about m3 by
an angle of a; it is then rotated about m2 by an angle of j8; and finally, frame M is again rotated
about m3 by an angle of y. Find the composite Z-K-Z Euler angle rotation matrix RZYZ(ay /3, y)
which maps mobile M coordinates into fixed F coordinates.
2- 15. Consider the United States Robots Maker 110 manipulator shown in Fig. 2-31. This is a fiveaxis spherical coordinate robot with a pitch-roll spherical wrist. Assign link coordinates using
the first half of the D-H algorithm. Label the diagram with as and d's as appropriate.

Figure 2-31 United States Robots Maker 110 robot. (Courtesy of United States Robots,
King of Prussia, PA.)

2- 16. Use the last half of the D-H algorithm to fill in the table of kinematic parameters for the

Maker 110 in Table 2-8, consistent with your link-coordinate diagram for Prob.
2- 15. Indicate which parameters are the joint variables.
2- 17. Compute the first tactor of the arm matrix T\f(q) for the Maker 110 robot using your table of
kinematic parameters from Prob. 2-16.
2- 18. Compute the second factor of the arm matrix TOUg) for the Maker 110 robot using your table
of kinematic parameters from Prob. 2-16.
Sec. 2-10 Problems

79

TABLE 2-8 MAKER 110 KINEMATIC PARAMETERS

Axis

Home

1
2

3
4
5
2- 19. Compute the arm matrix 7b.(#) for the Maker 110 robot using your wrist-partitioned

factors from Prob. 2-17 and Prob. 2-18.


REFERENCES

Craig, J. (1986). Introduction to Robotics: Mechantes and Control, Addison-Wesley:


Read- ing, Mass.
Denavit, J., and R. S. Hartenberg (1955). A kinematic notation for lower-pair mechanisms based
on matrices, A J. Appl. Mech., June, pp. 215-221.
Fu, K. S., R. C. Gonzlez, and C. S. G. Lee (1987). Robotics: Control, Sensing, Vision, and
Intelligence, McGraw-Hill: New York.
Hendrickson, T., and H. Sandhu (1986). XR-3 Robot Arm, Mark III 8 Axis Controller: Owners
Manual, Versin 3.00, Rhino Robots, Inc.: Champaign, 111.
Noble, B. (1969). Applied Linear Algebra, Prentice-Hall, Inc.: Englewood Cliffs, N.J.
Paul, R. P. (1982). Robot Manipulators: Mathematics, Programming, and Control, MIT
Press: Cambridge, Mass.
Schilling, R. J. and H. Lee (1988). Engineering Analysis: A Vector Space Approach, Wiley:
New York.

80

Direct

Kinematics: The Arm

Equation

Chap- 2

3
Inverse
Kinematics:
Solving The Arm
Equation
In Chap. 2 we developed a procedure for determining the position and orientation of the tool of
a robotic manipulator given the vector of joint variables. We now examine the inverse problem
of determining the joint variables given a desired position and orientation for the tool. The
inverse kinematics problem is important because manipulation tasks are naturally formulated
in terms of the desired tool position and orientation. This is the case, for example, when
external sensors such as overhead cameras are used to plan robot motion. The information
provided by the camera is not in terms of joint variables; it specifies the positions and
orientations of the ob- jects that are to be manipulated.
The inverse kinematics problem is more difficult than the direct kinematics problem
because a systematic closed-form solution applicable to robots in general is not available.
Moreover, when closed-form Solutions to the arm equation can be found, they are seldom
unique. The ways in which mltiple Solutions arise are inves- tigated. A compact
representation of tool position and orientation called the tool- configuration vector is then
introduced. Solutions to the arm equation for four generic classes of robots are presented.
Representative members of these classes include: the five-axis Rhino XR-3, the four-axis
Adept One, the six-axis Intelledex 660, and a three-axis planar articulated arm. Chapter 3
concludes with an example of an application of inverse kinematics to plan motion in a robotic
work cell using information available from an overhead camera.
3

'1 THE INVERSE KINEMATICS PROBLEM

The key to the solution of the direct kinematics problem was the Denavit-Hartenberg (D-H)
algorithm, a systematic procedure for assigning link coordinates to a robotic manipulator.
Successive transformations between adjacent coordinate frames, start81

ing at the tool tip and working back to the base of the robot, then led to the arm matrix. The arm
matrix represents the position p and orientation R of the tool in the \ base frame as a function of the
joint variables q, as shown in Fig. 3-1.
(94....9}

<*3

Figure 3-1 Tool conguration as a


function of joint variables.

For convenience, we will refer to the position and orientation of the tool col- lectively
as the configuration of the tool. The solution to the direct kinematics problem can be
expressed in the following form, where R represents the rotation and p represents the
translation of the tool ffame relative to the base frame:
R!
T'S&iq)
000I1

(3-1-1)

The solution to the direct kinematics problem is useful because it provides us with a
relationship which explicitly shows the dependence of the tool configuration on the joint
variables. This can be utilized, for example, in determining the size and shape of the work
envelope. In particular, suppose Q represents the range of vales in R" that the joint variables
can assume. We refer to Q as the joint-space work envelope of the robot. Typically, the jointspace work envelope is a convex polyhedron in Rn of the following general form:
Q = {qG R": qmm <

< <?m}

(3-1-2)

Here qmn and #raax are constant vectors in Rm which represent joint limits and C is a joint
coupling matrix. For the simplest special case, the joint coupling matrix is C = /; in this case
qfin and qf represent lower and upper limits, respectively, for joint k. More generally, if the
joint coupling matrix C has some off-diagonal terms, then Eq. (3-1-2) represents constraints on
linear combinations of joint variables. In this case the number of inequality constraints m may
exceed the number of variables n. The set of positions in Cartesian space R3 that are reachable
by the tool tip can be investigated by examining the vales of p(q) as q ranges over Q.
Similarly, the set of orientations achievable by the tool can be determined by examining the
vales of R(q) as q ranges over the joint-space work envelope Q.
Perhaps the most important benefit provided by the solution of the direct kinematics problem is
that it lays a foundation for solving a related problem, the inverse

82

Inverse Kinematics: Solving the Arm Equation Chap. 3

duce the
straight-line
motionofofjoint
the variables
tool tip. This
an important
theWe
inverse
kinematics
problem.
The vector
q is is
restricted
to thespecial
subset case
Q of of
R".
refer
problem.
to thekinematics
vector space
R" in this case as joint space. Similarly, the tool- configuration parameters
{/?, p) can be associated with a subset W of R6. We refer to the vector space R6 in this case as
tool-configuration space. Tool-configuration space is six-dimensional because arbitrary
3-2 GENERAL PROPERTIES OF SOLUTIONS
configurations of the tool can be specified by using three position coordinates (pi, /?2, p3)
together
with three
orientation
coordinates
(yaw, pitch,
roll).
Solving
the direct
kinematics
Although
a general
solution
has been obtained
for the
direct
kinematics
problem,
the details of an
problem
is
equivalent
to
finding
the
mapping
from
joint
space
to
tool-configuration
space,
while
explicit solution to the inverse kinematics problem depend upon the robot or the class of
robots
solving
the
inverse
kinematics
problem
is
equivalent
to
finding
an
inverse
mapping
from
toolbeing investigated. However, there are certain characteristics of the solution that hold in general.
configuration space back to joint space. A pictorial summary of the relationship between the two
forms3-2-1
of the
kinematics
problem is shown in Fig. 3-2.
Existence
of Solutions
First let us examine conditions under which Solutions to the inverse kinematics problem exist.
Clearly, if the desired tool-tip position
p is outside
Direct
{p.its
R}work envelope, then no solution can exist.
kinematics
Furthermore, even when p is within the work envelope, there may be certain tool orientations R
equations
which are not realizable without violating one or more of the joint variable limits. Indeed, if the
robot has fewer than three degrees of freedom to orient the tool,
then whole classes of
Tool-configuration
Joint space
orientations are unrealizable. To examine this issue further, consider
the following more detailed
space R
formulation of the arm equation:
6

I nverse
kinematics
equations

{P. R}

Su Rn Rn j P\

Figure 3-2 Direct and inverse kinematics.


Ri\ R 22 Rn P 2
Tg (q) =

(3-2-1)
The inverse kinematics problem is more
difficult
than
the
direct
kinematics
problem,
Ri\ R 32 R33 1 P3
because no single explicit systematic procedureoanalogous
too theD-H
o
1 algorithm is available. As
a result, each robot or generically similar class of robots has to be treated separately. However,
Since to
thethe
lastinverse
row ofkinematics
the arm matrix
is always
constant,
the arm
equation
constitutes
a system of
the solution
problem
is much
more useful.
Indeed,
a key
to making
robots12
more
versatile lies
in usingalgebraic
feed- back
from external
suchcomponents
as tactile arrays
simultaneous
nonlinear
equations
in the nsensors
unknown
of q.and
However,the
visin. External sensors
supplyare
information
about independent
part location and part orientation
directly
in
12equations
by no means
of
one
another.
terms of
configuration-space
variables.
It is then
necessary
to use this information
to determinefrom one
Since
R is acoordinate
transformation
matrix
representing
a purrotation
x
T
appropriate
vales for
theto
joint
variables
to properly
configure
tool.
must
orthonormal
frame
another,
it follows
from Prop.
2-2-3the
that
R~Thus
= RTwe
. But
if Rfind
R a /, then the
mapping
from
a tool-configuration
space input set.
specification
into
a joint-spaceputs
output
three
columns
of R form an orthonormal
The mutual
orthogonality
three constraints on
specification.
This of
is the
inverse kinematics problem. We characterize this problem more
the columns
R, namely:
formally as follows:
r1 r2 = 0
(3-2-2)
r1 r3 = 0
Problem: Inverse Kinematics. Given a desired position p and orientation R for the tool,
find vales for the joint variables q which satisfy the arm
equation in Eq. (3-1-1).
r r3 = 0

(3-2-3)
(3-2-4)

The constraints
solution to the
inverse
problem
is useful
externalterms
sensors
are that each
These
come
from kinematics
the off-diagonal
terms
of RTReven
gj I. when
The diagonal
dictate
not employed.
A case
thebeproblem
of getting
end-effector
tool to follow
a columns of R:
column
ofinR point
must is
also
a unit vector.
Thisthe
adds
three moreorconstraints
to the
straight-line path. Certain types of assembly, welding, and sealing operations require that
straight-line paths be followed or at least closely approxi- mated. A straight-line trajectory is
1 < k < 3
(3-2-5)
r =1
naturally formulated in tool-configuration space.
It is thenThus
necessary
find a corresponding
trajectory
in jointactually
space which
willonly
pro- six independent
the 12 to
constraints
implicit in the
arm equation
represent
constraints on the n unknown components of the vector of joint variables q. If we are to have a
general solution to the inverse kinematics problem, one for which
Sec. 3-t84

Kinematics: Solving the Arm Equation Chap. 3


The Inverse KinematicsInverse
Problem
83

a q can be found which generates an arbitrary tool configuration, then the number of unknowns
must at least match the number of independent constraints. That is:
General manipulation ^ n > 6

(3-2-6)

This lower bound on the number of axes n is a necessary but not sufficient condition for the
existence of a solution to the inverse kinematics problem when arbitrary tool configurations are
specified. Clearly, the tool position must be within the work envelope of the robot, and the tool
orientation must be such that none of the limits on the joint variables are violated. Even when
these additional constraints on the vales of p and R are satisfied, there is no guarantee that a
closed-form expression for a solution to the inverse kinematics problem can be obtained
(Pieper, 1968).
The general strategy for solving the inverse kinematics problem simplifies somewhat
when the robot has a spherical wrist. To see this, consider the case of an n-axis robot where 4 <
n < 6. Suppose the last axis is a tool roll axis, and suppose the robot has a spherical wrist, which
means that the n 3 axes at the end of the arm all intersect at a point. For this class of robots,
the inverse kinematics problem can be decomposed into two smaller subproblems by
partitioning the original problem at the wrist. Given the tool tip position p and tool
orientation /?, the wrist posi tion pwnst can be inferred from p by working backward along the
approach vector:
pwnst p __ dy

(3-2-7)

Here the joint distance dn represents the tool length for an -axis robot as long as the last axis is
a tool roll axis. The approach vector r3 is simply the third column of the rotation matrix R. Once
the wrist position pwnst is obtained from {p, i?, d}y the first three joint variables {q\, q2, #3}
that are used to position the wrist can then be obtained from the following reduced arm
equation:
(3-2-8)
The fourth column of 7*2? represents the homogeneous coordinates of the origin of the wrist
ffame L3 relative to the base ffame Lo. Since the wrist coordinates depend only on the joint
variables {#1, q2, ^3}, these joint variables of the major axes can be solved for separately using
Eq. (3-2-8). Once the major axis variables {qx, q2> qy) are found, their vales can then be
substituted into the general arm equation in Eq. (3-2-1) and it can be solved for the remaining
tool orientation variables {q4,

3-2-2 Uniqueness of Solutions

The existence of a solution to the inverse kinematics problem is not the only issue that needs to
be addressed. When Solutions do exist, typically they are not unique. Indeed, mltiple Solutions
can arise in a number of ways. For example, some robots are designed with n axes where n > 6.
For these robots, infinitely many Solutions to the inverse kinematics problem typically exist.
We refer to robots with more than six axes as kinematically redundant robots, because they
have more degrees of ffeedom than are necessary to establish arbitrary tool configurations.
These extra degrees of
Sec. 3-2 General Properties of Solutions

85

freedom add flexibility to the manipulator. For example, a redundant robot might be commanded
to reach around an obstacle and maniplate an otherwise inaccessible object. Here some of the
degrees of freedom can be used to avoid the obstacle while the remaining degrees of freedom are
used to configure the tool. Consider, for example, the top view of a redundant SCARA robot
shown in Fig. 3-3. Since only two joints are needed to establish the horizontal position of the
tool, the second elbow joint of the SCARA robot is redundant.

Redundant
elbow

Figure 3-3 Reaching around an obstacle with a redundant robot.

Even when a robot is not kinematically redundant, there are often circum- stances in
which the solution to the inverse kinematics problem is not unique. Sev- eral distinct Solutions
can arise when the size of the joint-space work envelope Q is sufficiently large. As a case in
point, consider the articulated-coordinate robot shown in Fig. 3-4. If the limits on the range of
travel for the shoulder, elbow, and tool pitch joints are sufficiently large, then two distinct
Solutions exist for the simple task of placing the tool out in ffont of the robot.

Elbow up

Figure 3-4 Mltiple Solutions with a


nonredundant robot.

We refer to the two Solutions in Fig. 3-4 as the elbow-up and the elbow-down solution.
In tool-configuration space the two Solutions are identical, because they produce the same p and
R, but in joint space they are clearly distinct. Typically the elbow-up solution is preferred,
because it reduces the chance of a collision between the links of the arm and obstacles resting on
the work surface.

86

Inverse Kinematics: Solving the Arm Equation Chap. 3

w1
A

P
A

_[exp(<?
/7r)r}]_

Definition 3-3-1: Tool-Configuration Vector. Let p and R denote the position and orientation
ofTOOL
the tool
frame relative to the base frame where qn represents the tool roll angle. Then the tool3-3
CONFIGURATION
configuration vector is a vector w in R6 defined:
In order to develop a solution to the inverse kinematics problem, the desired tool configuration
must be specified as input data. Thus far we have assumed that the tool configuration is
represented by the pair {p> /?}, where p represents the tool position relative to the base and R
represents the tool orientation relative to the base. Speci- fying tool-tip position with a
translation vector p is a natural and convenient tech- nique. However, specifying tool
orientation with a rotation matrix R is, at best, awk- ward, because two-thirds of the
information that must be provided is redundant. In this section we introduce an alternative
representation of tool configuration that is more compact.
3-3-1 Tool-Configuration Vector

Consider the tool orientation information provided by the approach vector or last column of R.
The approach vector effectively specifies both the tool yaw angle and the tool pitch angle, but
not the tool roll angle, because the roll angle represents a rotation about the approach vector.
Here, for convenience, the terms yaw, pitch, and roll are being used to refer to rotations of the
tool about the normal vector, sliding vector, and approach vector, respectively. It would be
more precise to refer to them as turn, tilt, and twist angles (Whitney, 1972).
Given that the approach vector specifies the tool orientation except for the tool roll
angle, some method must be found to augment the approach vector with the roll angle
information. If we simply append the roll angle, this yields a total of four components, which
is not a minimal representation of tool orientation. Instead, note from Eq. (3-2-5) that the
approach vector r3 is a unit vector specifying a direction only. The size or length of the
approach vector can be scaled by a positive quantity without changing the specified direction.
This is the key to encoding the tool roll information into the approach vector to produce a
minimal representation of orientation.
To recover the tool roll angle from a scaled approach vector, we must use an invertibie
function of the roll angle q to scale the length of r3. The range of travel of the tool roll joint is
specified in the joint-space work envelope Q in Eq. (3-1-2). Often this range is bounded
because of the presence of cables running from the wrist to sensors mounted at the tool tip.
However, even when qn is unbounded, the following positive, invertible, exponential scaling
function can be used:
/((?) = exp

7T

(3-3-1)

Other scaling functions might also be used, but the function/is sufficient be- cause/(g,,)
> 0 for all qn and f~l(qn) is well defined. If we scale the approach vector r3 by f{qn), this yields
a compact representation of tool orientation. We then combine this representation of
orientation with the tool tip position and refer to the resulting vector in R6 as a toolconfiguration vector.

Sec. 3-3 Tool Configuration

87

O
A

Since the tool-configuration vector has only six components, it is a minimal representation
Figure 3-5 Part1 presentation for a fiveof tool configuration in the general case. The first three components,
w = p, represent the tool-tip
axis articulated robot.
2
3
position, while the last three components, w = [exp (#rt/7r)]r , represent the tool orientation. The
tool
rollcan
angle
can be easily recovered
from
thethe
tool-configuration
vectorand
w, even
as canfrom
be seen
from
tool
maniplate
objects
from above,
from
front, from the back,
below
theconsistent
followingwith
exercise:
work-envelope constraints and limits on the range of tool pitch angles. However,
the five-axis robot shown in Fig. 3-5 cannot maniplate objects from the side. That is, the
Exerciseprojection
3-3-1: Tool
Show thatvector
the tool
roll
qn can beor
obtained
fromcannot
the toolorthogonal
ofRoll.
the approach
onto
theangle
work-surface
jty plae
have
configuration
vector
follows:to a circle of radius || p|| centered at the base axis. Another way to
any component
thatwisastangent
view the constraint on tool orientation is to substitute Eq. (3-3-2)
in the general expression for
qn = ir ln (w4 + W5 + h>6)1/2
the tool- configuration vector in Def. 3-1-1. This yields the following locus of tool
configurations,
where /3 is avector
constant:
The tool-configuration
w provides us with a more convenient way to specify the
desired tool position and orientation as input data to the inverse kinematics problem.
Furthermore, the structure of thewtool-configuration
vector
reveal useftil qualitative
= [wi, w2, vv3, /3wi,
/3w2,can
W 6] T
(3-3-3)
information about the types of positions and orientations achiev- able by the tool. To see this, we
examine
a five-axis
Thus, for
example,articulated
if the toolrobot.
tip is directly in front of the robot (w2 = 0), the approach vector
must point forward (vv5 = 0). More generally, the ratio of the horizontal components of the tool3-3-2
Tool Configuration
a Five-Axis
Robotcomponents of the approach vector,
tip position,
wi/w2, mustofequal
the ratioArticulated
of the horizontal
w4/w5. It is evident by inspection of the formulation in Eq. (3-3-3) that this robot has only five
Many
industrial
robots because
have fivecomponents
axes; somevv
have
only four. Even though these manipulators are
degrees
of freedom,
4 and w 5 cannot be specified independently of wi and
notwgeneral
in the sense of being able to generate arbitrary tool configurations, they are still quite
2.
versatile. However, when robotic work cells employ ing these robots are planned, the layout of
the3-3-3
part feeders
and other fixtures must be constrained so they do not require the flexibility of a
Tool Configurations of a Four-Axis SCARA Robot
full six-axis robot. As an illustration, consider a five-axis articulated-coordinate robot which has
noThe
toolmost
yaw motion.
Inspecial
this case,
thefor
part
feeders might
becorresponds
arranged concentrically
around
important
case
manipulating
parts
to approaching
partsthe
from
robot
base
as
shown
in
Fig.
3-5.
directly above. This includes picking up a part from a horizontal work surface and placing it
The
feeders can
be surface.
tilted at As
anyanangle
y thatofisaconsistent
with the
of global
down
onpart
a horizontal
work
example
robot designed
for range
these types
of tool
pitch
angles realizable
robot. However,
the part feeders
mustrobot
be oriented
in Fig.
such3-6.
a way
as the
operations,
consider by
thethe
four-axis
horizontal-jointed
or SCARA
shown in
Here
to tool
be aligned
with
radial
or spokes
emanating
the base
axis.always
This ispoints
because
with the
yaw and
tool
pitchlines
angles
are fixed
in such afrom
way that
the tool
straight
down.
tool yaw angle
fixed
as
in
Fig.
3-5,
the
approach
vector
of
the
tool
is
constrained
to
lie
in
a
3
Recall that the five-axis robot of Fig. 3-5 had an approach vector r that was restricted to
vertical
plae
through
base axis.
This axis.
constraint
can be summarized
algebraically
in terms
of
lie in a vertical
plaethe
through
the base
The geometry
of a SCARA
robot removes
one more
the components of the arm matrix as follows:
degree of freedom and restricts the approach vector to lie along a vertical line within that plae,
namely:
Rupi = Rupx
(3-3-2)
r3 approach
= -i3
Here the ratio of the first two components of the
vector r3 must equal the ratio of the(3-3-4)
first two components
of SCARA
the position
p. 3-6
In geometric
terms,
the
The four-axis
robotvector
in Fig.
is a minimal
configuration
for a gen- eral-purpose

robot. The first three axes are the major axes used to position the tool tip, while the fourth axis is
a minor axis used to orient the tool by varying the slid-

88 Sec. 3-3 Tool ConfigurationInverse Kinematics: Solving the Arm Equation Chap. 3

89

2 2

Ci(# C

2 2

Si(# C

03C 23

+ 04C234 ~

+ 3C23 "F 4C234

d\ CI2S2 ~~ Q3S23
~~ 04S234

^5 S234)
^58234)
~
/5C234

4
34

- [exp^s/ tt)]C 1S 23

-[exp(g 5/ r)]SiS 2
[exp(^/tt)]C 2

34

The second basic approach to solving the inverse kinematics problem is to ex* ploit the
specific nature of the direct kinematic equations to determine an analytical or
J closed*form
expression for the solution. These exact methods are considerably faster than the numerical
we appiy row operations to the components of w and exploit various trigonometric identities
approximation
they can
used to identify
mltiple Solutions. The main drawback of
from
Appendix 1methods,
in order and
to isolate
the be
individual
joint variables.
the analytical methods is that they are robot-dependent. Consequently a seprate analysis has to be
3-4-1
Base Joint
performed
for each robot or generic class of robots (Pieper, 1968).
rn
We Ilstrate the analytical solution technique by applying it to several different types of
Since
there
no yaw
thewe
easiest
jointare
variable
to extract
is the base
angle
u
robots. Theisfirst
classmotion,
of robots
consider
the five-axis
verticallyjointed
orqarticulated
robots
Inspection
of
the
expressions
for
w\
and
W
2 in Eq. (3-4-1) reveis that they have a factor in
with tool pitch and tool roll motion. This class of robots includes the Rhino XR-3 robot, the
common. If we divide wi by Wi, this factor caneis, and we are left with Si/Ci. Thus the
Microbot Alpha II robot, and several other com- mercial robotic manipulators as special cases. The
base angle is simply:
link-coordinate diagram for a five-axis articulated robot was previously developed as Fig. 2-23 in
atan2 (w2it, wj)
(3-4-2)
Chap. 2. For atan
convenient
we=redisplay
here as Fig. 3-7.
Quadrants
2 (y, jc) reference, #i

Case
x >0
x =0
x <0

Figure 3-6 Part presentation for a four-axis SCARA robot.

1,4
1,4
2,3

The function
atan2
arctan (y/x
) in Eq. (3-4-2) denotes a four-quadrant versin of the arc- tan
function. The atan2 function allows us to recover angles over the entire range [ 7r, 7r]. This
[sgn (y)] tt/ 2
function
is
used
repeatedly
in
subsequent
derivations.
It can be
im- plemented
more
ing
vector.
Eq.(y)]
(3-3-4)
is substituted
in the general
expression
for thewith
tool-the
configuration
arctan
{y/x) +If[sgn
T T pitch
Tool
Elbow
commonvector
two-quadrant
arctanthis
function
in Def. 3-3-1,
yields:as indicated in Table 3-1, where the notation sgn
represents the signum, or sign, function. That is, sgn (a) retums 1, 0, or 1 depending
upon whether a is negative, zero, orw positive,
(3-3-5)
pi, respectively.
p2, p3, 0, 0, -exp
The four degrees of freedom that are available are evident from inspection of Eq. (3- 3-5),
where we see
that two
of the components ARCTAN
of the tool-configuration
vector are always zero. The
TABLE
3-1 FOUR-QUADRANT
FUNCTION
SCARA robot is a particularly simple robot in terms of analysis, yet it is a practical robot for
many applications.

3-4 INVERSE KINEMATICS OF A FIVE-AXIS ARTICULATED ROBOT (RHINO XR3)

The solution to the inverse kinematics problem can be approached either numeri- cally or
analytically. The numerical approaches (Uicker et al., 1964) employ search techniques to
Figure 3-7 Link coordinates of a fiveinvert the tool-configuration function w (q) by solving
the following op- timization problem,
axis articulated robot (Rhino XR-3).
6
where w E R is the desired valu for the tool configuration:
The solution to the inverse kinematics
starts with
the||expression for the toolMinimize:problem
v{q) = ||w(<?)
vv
configuration vector w(q), which can be obtained from the arm matrix developed in Chap. 2. From
subject to: qvector
E Q for the five-axis articulated arm is:
Prop. 2-7-1 and Def. 3-3-1, the tool-configuration
If a q E Q can be found such that v(q) = 0, then clearly q is a solution to the inverse
kinematics problem. To solve the optimization problem, a sequence of in- creasingly accurate
approximate Solutions {q, q\ . . .} is constructed starting from an initial guess q. If the initial
guess is sufficiently cise to an actual solution, the sequence may converge fairly rapidly.
However, for a general q, the sequence will converge only to a local minimum of v(q), a
minimum w(q)
for which v(q) may or may not be zero. The virtue of the numerical approach (3-4-1)
lies in
the fact that it is general, in the sense that the same basic algorithm can be applied to many
different manipulators; only w(q) and Q vary. However, the drawbacks are that it is a
comparatively slow technique, and furthermore it produces only a single, approximate
solution for each initial guess q.
Since this is an articulated robot, q = 0. Recall that the notation Cy* is short for eos (q, + qj +
q k) and similarly Sy* denotes sin (q + q } -F <?*). In order to ex- tract the joint variable vector q from
the nonlinear tool-configuration function w(q ),
90

Inverse Kinematics: Solving the Arm Equation Chap. 3

Sec. 3-4 Inverse Kinematics of a 5-Axis Articulated Robot (Rhino XR-3)

91

yields:
b\

a 2 C 2 + 3C23

(3-4-6)

b 2 = 122S2 4* 1Z3S23
(3-4-7)
We are now left with two independent expressions involving the shoulder and elbow
angles; the coupling with the tool pitch angle has been removed. The elbow angle can be
isolated by computing ||||2. Using trigonometric identities from Ap- pendix 1, we find,
after some simplification, that:
|| 71|2 = a\ + IdidiC* + al

(3-4-8)

Thus the cosine of the elbow angle has been determined. If we now solve Eq. (3-4-8)
to recover #3, this results in two possible Solutions, as illustrated previously in Fig. 3-4.
The first one is the elbow-up solution, and the second one is the elbow - down solution:
43

= rceos M - ai

a)

(3-4-9)

In view of Eq. (3-4-9),


the solution to the inverse kinematics problem for a
five-axis articulated-coordinate robot is not unique. In most instances, we use the elbowup solution, because this keeps the elbow joint further away from the work surface.
Indeed, for some commercial robots, this is the only solution allowed, because of joint limit
restrictions contained in Q.
3-4-3 Shoulder Joint

3-4-2 Elbow Joint

To isolate the shoulder angle q 2, we return to the expressions


in Eqs.
(3-4-6) and
The elbow angle #3 is the most difficult joint variable to extract, because it is strongly
(3-4-7),which
represent
b\ and
terms
of inthe
shoulder robot.andelbowangles.
If we
2 in
coupled with
the shoulder
and b
tool
pitch
angles
a vertical-jointed
We begin by
expandisolating
C23 and S23, using the cosine of the
an sum and sine of the sum trigonometric
tool and
pitchrearrange
angle. Here the terms, this yields:
identities,
#234 = #2 +<73 + <74 is the tool pitch angle measured relative to
the work surface or
b
=
(a
+
a
C
)C
(a
S
)S
3 components
3
2
3 of
3 w2 in Eq.
xy plae.
Inspection of xthe last2 three
(3-4-1) reveis that
(C1W4 +Sih>5)/(vv6) = S234/C234. Since the base angle #1 is already known, the
b 2 be
= (a
3)S2 + (<z3S3)C2
2 + a3Cusing:
global tool pitch angle can then
computed

(3-4-10)
(3-4-11)

Since the elbow angle#234


q 3 is= atan2
already
[-(C1W4
known,
+ Si\vEqs.
(3-4-10)
and (3-4-11)(3-4-3)
consti- tute a
5), ~w
6]
system of two
simultaneous
linear
equations
in #the
C2 the
and
S2pitch
. If we
use row
Once
the shoulder angle
#2 and
elbow angle
known,
tool
angle
3 areunknowns
#4 cantobesolve
computed
the system,
global toolthe
pitch
angle is: In order to isolate the shoulder
operations
thisfrom
linear
result
#234.

and elbow angles, we define the following two intermediate variables:


li
_ (a 2 + a,C,)bi ,, 1Vl v-2
b\ = C1W1 + Siw2 - Z4C234 + /5S234
b2~ d\

b\\2

{Z4S234 ~ ds C234 ~ W3

(3-4-4)
(3-4-5)

_ whose
(a 2vales
+ areaiCi)b
- because #1 and #234
Note that b\ and b2 are constants
known 2at this point
.
have already been determined. If
take the expressions for the compo-(3-4-13)
nents of w in Eq. (3S2we=--------------r^ii------------4-1) and substitute them in the expressions for b\ and b2y this

a3S3>! ,,

Since we have expressions


for both the cosine and the sine of the shoulder angle, we
Inverse Kinematics: Solving the Arm Equation Chap. 3
can now recover the shoulder angle over the complete range [tt, 7r] using the atan2
function. In particular:
92

q 2 = atan2 [(a 2 + a3C3)>2 a3S3?i, (a 2 + a3C3)?i -f a3S3?2]


Sec. 3-4

Inverse Kinematics of a 5-Axis Articulated Robot (Rhino XR-3)

(3-4-14)
93

3-4-4 Tool Pitch Joint

8
I

The work for extracting the tool pitch angle #4 is already in place. We know the shoulder angle
#2, the elbow angle #3, and the global tool pitch angle #234. Thus:
#4

(3-4-15)

= #234 - #2 - #3

3-4-5 Tool Roll Joint qr5

The final joint variable is #5, the tool roll angle. This can be recovered from the last three
components of w, as indicated previously in Exercise 3-3-1. In this case, we have:
#5 = 7r In (h>4 +

wl )/2

(3-4-16)

Recall that the tool-configuration vector w is constructed from the position vector p and a
scaled versin of the approach vector r3. In certain cases, it may be useful to specify the rotation
matrix R and then compute the tool roll angle q5 from it. To see how this might be done for the
five-axis articulated robot, recall from Prop. 2-7-1 that the rotation matrix is:

R{q)

CiC234C5 + S1S5

C1C234S5 + S1C5

C1S234

S1C234C5 ~ C1S5

S,C234S5 - C,C5 -S,S234 S234S5

(3-4-17)

C234

S234C5

On the surface, it appears that the easiest way to recover #5 from R is to use the last row
of R, where R32A-^31) = S5/C5. However, the ratio R31/R32 is undefined whenever the
global tool pitch angle #234 is a mltiple of t t . Rather than pursue this approach further by
decomposing it into special cases, we instead consider the first two components of the normal
vector rl. Taking Si times the first component and subtracting Ci times the second component,
the result is:
11

1 *V21

(3-4-18)

From Eq. (3-4-18) we can compute #5 over the range [ t t / 2 , t t / 2 ] . Since we ! want a general
expression for the tool roll angle, one that is valid over the entire range [ t t , t t ] , we also need to
determine C5. Here we consider the first two components of the sliding vector r2. Taking Si times
the first component and subtracting Ci time the second component, the result is:

C5 Si Rn Ci R

1 A. 22

(3-4-19)

Given both the cosine and the sine of the tool roll angle, we can now evalate #5 over the
complete range [ t t , t t ] using the atan2 function. In particular, we have:
#5 atan2 (Si/?n C1R21 S1R12

94

Inverse Kinematics: Solving the Arm Equation Chap-3

(3-4-20)

Ci/?22)

3- 4-6 Complete Solution

The complete inverse kinematics solution for a five-axis articulated robot with tool pitch and tool
roll motion is summarized in Algorithm 3-4-1. Note that this solution applies to both the Rhino
XR-3 robot and the Alpha II robot as long as appropriate vales for the joint distance vector d and
link length vector a are used. In either case, the parameter d$ represents the tool length, which may
vary depending upon which of the various types of optional fingers are used. The two expressions
for <?3 specified by the plus and minus signs represent the elbow-up and elbow-down Solutions,
respectively.

Algorithm 3-4-1: Inverse Kinematics of a Five-Axis Articulated


Robot (Rhino XR-3)

The solution to the inverse kinematics problem outlined in Algorithm 3-4-1 assumes that the
tool-configuration vector w is supplied as input data. If instead the tool position and orientation
{/?,#} are supplied directly, then w | [ p i , p i , p s , #13, #23, #3sF can be used to compute {^i, q2, #3,
q*} from Algorithm
3- 4-1 and q5 can be computed from # using Eq. (3-4-20). A third possibility is to use something called
a reduced tool-configuration vector w as input to the inverse kinematics algorithm. For an -axis
robot with n < 6, a reduced tool-configuration vector is a vector in R rather than R 6 . This way
each of the components of w can be independently specified. In the case of a five-axis articulated
robot with tool pitch and tool roll motion, the following is an example of a reduced toolconfiguration vector
w = [pu p2i P3, <?234, qsY

See. 3-4 Inverse Kinematics of a 5-Axis Articulated Robot (Rhino XR-3)

(3-4-21)

95

Here the tool-tip position p is supplied and two parameters describing tool orientation are
added. The first is the global tool pitch angle q234 = qi + <73 + q4, which is the tool pitch
measured relative to the work surface or jcy plae. The second is the tool roll angle q$. If
the reduced tool-configuration vector vv is used as input data, then Algorithm 3-4-1
simplifies with #234 = vv4 and q$ = vv5.
Exercise 3-4-1: Home Position. For the five-axis articulated robot in Fig. 3-7, use

Algorithm 3-4-1 to find q when the robot is in the following position, called the home
position. Does your answer agree with the last column of Table 2-4?
w = [*3 + 04, 0, d\ + a2 dsy 0, 0, 0.607]r
Exercise 3-4-2: Zero Position. For the five-axis articulated robot in Fig. 3-7, use

Algorithm 3-4-1 to find q when the robot is in the following position, called the zero
position:
w = [a2 + 03 + 04, 0, d\ ?5, 0, 0, l]r
Exercise 3-4-3: Mximum Reach. For the five-axis articulated robot in Fig.

3- 7, use Algorithm 3-4-1 to find q when the robot is in the following positions:
1. A mximum horizontal reach position
2. A mximum vertical reach position

3. 5 INVERSE KINEMATICS OF A FOUR-AXIS SCARA ROBOT


(ADEPT ONE)
Another important class of robotic manipulators for which a generic solution to the inverse
kinematics problem can be obtained is the four-axis horizontal-jointed robot, or SCARA
robot. Examples of robots which belong to this class include the Intelledex 440 robot, the
IBM 7545 robot, and the Adept One robot. The link- coordinate diagram for a four-axis
SCARA robot was previously developed as Fig.
2- 25 in Chap. 2. For convenient reference, we redisplay it as Fig. 3-8.
Unlike the vertical-jointed robot, the vector of joint variables in this case is not 6 but
is instead q = [0i, 02, <3, 04] T. The arm matrix for the SCARA robot has been previously
computed in Chap. 2. From Prop. 2-8-1 and Def. 3-3-1, we get the following expression
for the tool-configuration vector for the SCARA robot:
1

01C1 "

w{q)

ct2 C\ - 2

tfiSi +

02S1-2

d\ ~ q^

~ d4
0
0
-exp {qj TT)

96

Inverse Kinematics: Solving the Arm Equation Chap. 3

(3-5-1)

Elbow

Vertical
extensi
n

Figure 3-8 Link coordinates of a four- axis


SCARA robot (Adept One).

Recall that C1-2 is short for eos {q\ q 2 ) and S1-2 denotes sin (^1 - q 2 ). Note from
the last three components of w that the approach vector r3 is fixed at r3 = -t3. This is
characteristic
of SCARA-type robots in general, which always approach
parts
directly from above.
In order to extract the joint
angle
vectorq from the nonlinear
tool-configuration function w(q), we again apply row operations to the components of w
and exploit trigonometric identities from Appendix 1 in order to isolate the individual
joint variables.
3-5-1 Elbow Joint
We can extract the elbow angle q 2 from the first two components of the tool- configuration
vector w. Note that w] + w 2 represents the square of the radial component of the tool
position, a quantity which should be independent of the base angle q\. If we compute w? +
W2 from Eq. (3-5-1), then after simplification using trigonometric identities the result is:
h>i + W2 a\ + 2a\a 2 C 2 +

<22

(3-5-2)

Thus the cosine of the elbow angle has been determined in terms of known con- stants. If
we now solve Eq. (3-5-2) to recover q 2 , this results in two possible Solutions. The first one
is called the left-handed solution, and the second one is the right-handed solution:

w\ + wi - a\ - al

q 2 = rceos ----------------------------------------------------- (3-5-3)

2a\a2

Sec. 3-5 Inverse Kinematics of a 4-Axis SCARA Robot (Adept One)

97

It follows from Eq. (3-5-3) that the solution to the inverse kinematics problem for a fouraxis SCARA robot is not unique. The motivation for the terms left-handed and right-handed
can be seen in Fig. 3-8. If the robot is viewed from above, then, when q2> 0, the robotic arm
curls in from the left, whereas when q2 < 0, it curls in from the right.
3- 5-2 Base Joint

The base angle qi9 which might also be thought of as a horizontal shoulder angle, can now be
obtained from q2. First we take the expressions for and w2 in Eq. (3-5-1), and expand the C1-2
and Si-2 terms using the cosine of the difference and sine of the difference trigonometric
identities in Appendix 1, After rearranging the coefficients, this yields:
(ai + a2C2)Ci + (a2S2)Si
(-a2S2)C, + (a, + a2C2)Si
Since the elbow angle qi is already known, this is a
linear equations in the unknowns Ci and Si. If we use
ear system, the result is:
c
C

= wi

(3-5-4)

= w2

(3-5-5)

system
of two simultaneous
row operations to solve this lin

- fl2S2Wi + {a\ + a2C2)w2


(a2S2)2 + (fll
+ a2C2)2
= S + 2^Wl
(a2S2)2 + (ax

~ fl2S2W2
+

n
{

'')

Since we have expressions for both the cosine and the sine of the base angle, we can again
recover the base angle over the complete range [77*, 77] using the atan2 function:
q\ = atan2 [a2S2wi + (a\ + a2C2)w2, (ai + a2C2)wi a2S2w2]

(3-5-8)

3- 5-3 Vertical Extensin Joint

The prismatic joint variable q3 is associated with sliding the tool up and down along the tool
roll axis. In a SCARA-type robot, the vertical component of the tool motion is uncoupledfrom
thehorizontal component, ascan be
seen
fromthe expression
for
w in
Eq.
(3-5-1).Extracting
the prismatic
joint variable
#3
istherefore a
simple matter:
q3 = di - d4 - w3

(3-5-9)

3- 5-4 Tool Roll Joint

The final joint variable is the tool roll angle q4. Inspection of the last component of w reveis
that q4 can be easily recovered from it as follows:
q4 = 77 ln |u>6|

(3-5-10)

1
98

Inverse Kinematics: Solving the Arm Equation Chap. 3

As an alternataive to specifying vv, one could instead specify the rotation matrix R and
then compute the tool roll angle <74 from it. To see how this might be done for the four-axis
SCARA robot, recall from Prop. 2-8-1 that the rotation matrix is:
C1-2-4

R(q)

Si-

2-4

S1-2-4

Cl-

2-4

0
0

(3-5-11)

-1

The angle <71-2-4 is called the global tool roll angle. It is the tool roll angle measured
relative to the base frame of the robot. Note from the normal vector in Eq. (3-5-11) that
R21/R11 = S1-2-4/C1-2-4. Thus the global tool roll angle can be computed from R as
follows:
<71 -2-4

= atan2 (R

21,

/fu)

(3-5-12)

Once the global tool roll angle is known, the tool roll angle <74 can be computed
directly from it because q\ and <72 are also known:
<74

<71 * #2

<71-2-4

(3-5-13)

3.5.5 Complete Solution


The complete inverse kinematics solution for a four-axis SCARA-type robot is summarized in
Algorithm 3-5-1. The fixed joint distances d and the link lengths a will depend on the
particular robot. These parameters can be obtained from specification sheets supplied by the
robot manufacturer. The two expressions for q2 specified by the plus and minus signs
represent the left-handed and right-handed Solutions, respectively.

Algorithm 3-5-1: Inverse Kinematics of a Four-Axis SCARA Robot


(Adept One)

The solution to the inverse kinematics problem outlined in Algorithm 3-5-1 is based on
the assumption that the tool-configuration vector w is supplied as input data. As an alternative,
the pair {p, R} can be specified. In this case
Sec. 3-5 Inverse Kinematics of a 4-Axis SCARA Robot (Adept One)

99

(C1C2C345 + SiS345)C6 + C1S2S6


R =

(S1C2C345 ~ Cj 8345)06 + S1S2S6


S2C345C6 C2S6

C1S2C6 (CJC2C345 + SjS345)S6 1


S1S2C6 ~ (S1C2C345 C|S345)S6

C2C6 S2C345S6

S1C345 +
C1C2S345
C1C345 + S1C2S345

828345

w = Cpi* Pi P3, #13, #23, #33]r can be used to compute {#i, qi, #3} from Algorithm
3- 5-1 and then # can be computed from R using Eqs. (3-5-12) and (3-5-13). A third possibility is
to again use a reduced tool-configuration vector vv as input to the inverse kinematics algorithm.
In the case of a four-axis SCARA robot, the following vector in R 4 is an example of a reduced
tool-configuration vector:
4

vv = [pu p2i P3, qi-2-4] T

(3-5-14)

Here the tool-tip position p is supplied and one additional parameter describing tool orientation
is added. It is the global tool roll angle #1-2-4 which is the tool roll measured relative to the
base frame. When vv4 = 0, the jc axes of the tool and the base point in the same direction and
positive vales for vv4 correspond to counterclock- wise tool rotations as seen from above. If
the reduced tool-configuration vector is used as input data, Algorithm 3-5-1 can be used to

compute {q 1, #2, #3}, and #4 is computed from Eq. (3-5-13) with #1-2-4 = vv4.
Exercise 3-5-1: Minimum Reach. For the four-axis SCARA robot, suppose the upper arm

and the forearm are of equal length (02 = a\). Find the joint variables # when the tool tip
reaches back and just touches the base axis, as follows:

w = [0, 0, 0, 0, 0, -l] r
Figure 3-9 Link coordinates of a six-axis articulated robot (Intelledex 660T).

Exercise 3-5-2: Mximum Reach. For the four-axis SCARA robot, find the joint variables

# when
the arm
mximum,
as follows: for the rotation ma trix R(q)
denotes
sinthe
(#,radial
+ q extensin
+ qk). Weofalso
makeis use
of the expression
developed in Prop. 2-9-1:
vv = [ai + a2, 0, 0, 0, 0, l]r

3- 6 INVERSE KINEMATICS OF A SIX-AXIS ARTICULATED ROBOT


(INTELLEDEX 660)

As a third example of computing an inverse kinematic solution, consider the six-axis Intelledex
660 articulated robot. The link-coordinate diagram for the Intelledex 660 was previously
developed as Fig. 2-27 in Chap. 2. For convenient reference, it is re- displayed here as Fig. 3-9.
Since this is an articulated robot, # = 0. The solution to the inverse kinematics problem
starts with the expression for the tool-configuration vector vv(#), which can be obtained from
the arm matrix developed in Chap. 2. From Prop. 2-9-1 and Def. 3-3-1, the tool-configuration
vector for the Intelledex 660 robotic arm is:

Ci C2 (C3E3 + C344 + S 345*4) + Si(S3fl3 + S34CZ4 C345

d)

SlC2(C3<23 +

C34Z4 + S345*4) ~ Cj (S3Z3 + S344 C3454)

di + S2(C3fi3 + C344 + S^dt)


w(q)
[exp (#6/,w)]("SiC345 + C1C2S345)
[exp (#6/fr)](CiC345 + S1C2S345)
[exp (#6/'7r)]S2S345

Recall that the notation Cljk is short for eos (#, -f q + #*) and, similarly, S,>*

100

Inverse Kinematics: Solving the Arm Equation Chap. 3

(3-6-1)

mainder, after simplification using Cl + S| = 1, is simply C2. Consequently, we can solve


for <72 as follows:

q2 = rceos (-R3iS6 RnCe)

(3-6-4)

Clearly, the solution is not unique. Recall from Table 2-6 that in the home position, q2 =
7t/2. We therefore choose the negative solution and restrict our atten- tion to angles in the
range
7r < q2 < 0

(3-6-5)

The solution corresponding to q2 < 0 is called the left-handed solution, be- cause, from
Fig. 2-26, it corresponds to the upper arm being on the left side of the small shoulder and
forearm. If the shoulder is rolled by tt to produce angles in the range 0 < q2 < tt, this places
the arm in the right-handed configuration. The end points {7T, 0} are not included in Eq.
(3-6-5), for reasons which will become ap- parent as we proceed.
3-6-3 Base Joint

(3-6-2)

In order to extract the joint variable vector q from the tool-configuration vector w(q) and
extract
theapply
baserow
angle
<71, we
of theafirst
and second components of the normal
the rotation To
matrix
R{q), we
operations
to vvmake
and R use
and exploit
host of
vector
r1 and
thetosliding
vector
r2. First
we compute the quantity /?uS6 + R 22C 6. The result,
trigonometric
identities
in order
isolate the
individual
joint variables.

after simplification using the identity Si + Cl = 1, is:


3- 6-1 Tool Roll Joint

/?n S F /^nC

==

C1S2

(3-6-6)

The Intelledex 660 robot


is quite
complex,
and in order
developthat
closed-form
for
Recall
from
Eqs. (3-6-4)
andto(3-6-5)
S2 is aexpressions
known nonzero
quantity. But q6 is also
the joint variables,
wefrom
assumeEq.
that(3-6-3),
the tool configuration
available
both in theCi.
form
the tool- the base angle over the
known,
and henee iswe
have isolated
Toofrecover
configuration vector vv and the translation and rotation pair {p, /?}. From Exercise 3-3-1, the
entire range [7r, 7r], we must also isolate Si. This can be achieved with the second
tool roll angle q6 can be recovered from the last three components of the tool-configuration
of the normal and sliding vector. Again using the trigonometric identity Si + Cl =
vector vv ascomponents
follows:

1, we find:
#6 = tt ln (vv4 + vv2 + wl )1/2

-R21 S "1" R22C6

==

(3-6-3)

S1S2

(3-6-7)

If we now divide Eq. (3-6-7) by Eq. (3-6-6), the nonzero factor S2 caneis and we are
left with an expression for S1/C1. Thus the base angle qx over the range [ 7r, 7r] is:

3- 6-2 Shoulder Roll Joint

Given the tool roll angle, the shoulder roll angle #2 can be computed from the third components
of the normal vector r and the sliding vector r2. If we formlate #31S6 + #32C6, this causes the
common term involving C234 to drop out. The re-

qx atan2 (/?2iS + R 22C$ y RuS + /^nC)

Sec. 3-6 Inverse Kinematics of a 6-Axis Articulated Robot (Intelledex 660)

3-6-4 Elbow Joint

(3-6-8)

101

Perhaps themost difficult joint angle to extract is the elbow angle <74,
which is tightly
bound to the shoulder pitch angle <73 and the tool pitch angle <75. We can remove the
effeets of the tool pitch angle q 5 by partitioning the problem at the wrist, as sug- gested in
Eqs. (3-2-7) and (3-2-8). If we subtract from the tool tip position p , this yields the wrist
position relative to the base. To simplify the subsequent equations, we also subtract d\i3 and
denote the result as b. That is,

b = p dr3 d\i3

102

Inverse Kinematics: Solving the Arm Equation Chap. 3

(3-6-9)

The first two components of the intermediate variable b specify the x and y coordinates of
the wrist ffame L4 relative to the base ffame Lo. The last component of b specifies the vertical
distance from the wrist frame L4 to the shoulder ffame L2. If we substitute for p and r3 in Eq. (36-9), we get the following expressions for the components of b:
b\ = CiC2(C3a3 + C344) + Si(S3tf3 + 834^4)

(3-6-10)

b2 = SiC2(C303 + C3404) Ci(S3fl3 + S3404)

(3-6-11)

bi = S2(C303 + C34 fl4)

(3-6-12)
Note
how the effects of the tool pitch
angle qs
have been removed
from the
original expression for p. The quantity || b || represents the straight-line distance from the
shoulder joint to the wrist joint. Because the elbow joint is the only joint between the shoulder
and the wrist, ||>|| should depend
exclusively on q4. If we compute
\\b\\2,
the result after simplification using various trigonometric identities in
Appendix 1 is:
\\b ||2

+ 2a3tf4C4 + al

(3-6-13)

Thus ||?|| depends exclusively on q4y as expected. Solving Eq. (3-6-13) for q4 then yields:
g4 = arccos M.7. ?L~ *
2Z34

(3-6-14)

Again we see that the solution is not unique. The positive solution returns angles in the
range [0, ir] and is referred to as the elbow-down solution, while the negative solution, which
produces angles in the range [-7r, 0], is the called the elbow-up solution.
3- 6-5 Shoulder Pitch Joint

The shoulder pitch angle q3 is also a challenge to extract. The basic approach is to find two
independent linear equations in S3 and C3. These can be obtained from the expressions for b
now that the angles qi9 q2, and q4 are known. First, note from Eqs. (3-6-10) and (3-6-11) that
S1&1 Cib2 S3a3 + S34a4- If we use the sine of the sum trigonometric identity for S34 and
rearrange the coefficients, this yields:
Sibi C\b 2 ( 3 + C4a4)S3 + (S4a4)C3

(3-6-15)

To produce a second equation involving the unknowns S3 and C3, we note ffom Eq. (3-612) that &3/S2 = C33 +
If we use the cosine of the sum trigono
metric identity for CM and rearrange the coefficients, the result is:

S'2

= (-S4a4)S3 + (flj + C4a4)C3

(3-6-16)

Note that the expression in Eq. (3-6-16) involves divisin by S2. This is possi- ble because
S2 # 0 in view of Eq. (3-6-5). We can now solve Eqs. (3-6-15) and (3- 6-16) simultaneously using
row operations, and the result is:

Sec. 3-6 Inverse Kinematics of a 6-Axis Articulated Robot (Intelledex 660)

103

S4u(Sj6i Ci bz) (ay + CUaJbs/Si

(3-6-17)

c, = (S^)2 + (23 + C44)2


S3

(<23 + C4u)(Si b\ Ci^2) S4cuby/S2


(S4C4)2 + (a? + C404)2

(3-6-18]

Given the expressions for C3 and S3, the atan2 function can now be used to solve for the
shoulder pitch angle over the entire range [tt. tt]. This yields:
#3 = atan2

(ay

S44

+ C4a4)(Si/?i - Ci62)

b} S2
(a3 + C4a4)^3 S

S4fl4(S,> ClW +

(3-6-19)

3- 6-6 Tool Pitch Joint

The only joint variable that remains to be isolated is the tool pitch angle #5. We determine #5
indirectly by first computing the sum angle #345 using the R matrix. Observe from Eq. (3-6-2)
that Ryy = S2S345. Because S2 is known and nonzero, this means that #345 is known over the
interval [tt/2, tt/2]. To extend the solution to the entire interval [tt, 7r], we must also isolate
C345. This can be achieved by using the remaining components in the third row of R. Note
from Eq. (3-6-2) that /?3iC JR32S6 = S2C345. It then follows that the sum angle #345 is:
#345 atan2 (Ryy, RyiQe ~~ RyiSe)

(3-6-20)

The work for extracting the final joint variable is now in place because qy, #4,
and #345 are all known. Recalling that #345 #3 + #4 + #5, it follows that:
=

#5

q345

qy ~

#4

(3-6-21)

3- 6-7 Complete Solution

The complete inverse kinematics solution for the six-axis Intelledex 660 robot is summarized
in Algorithm 3-6-1. Recall that this solution is valid only for the left- handed configuration
with TT < #2 < 0. The right-handed solution can be obtained by simply changing the sign of
the rceos term in the expression for #2. However, in either case, Algorithm 3-6-1 is not valid
when the shoulder roll angle #2 is a mltiple of tt, because it is assumed that S2 ^ 0. This
assumption is explicit in the expression for the shoulder pitch angle qy and implicit in the
expressions for q\ and #345.
Exercise 3-6-1: Home Position. For the six-axis Intelledex 660 robot, use Algorithm 3-61 to find q when the robot is in the following position, called the home position . Does your
answer agree with the last column of Table 2-6?
w = [ay + a 4 + de, 0, d\, 1, 0, 0]r

0 0
/?=

0
1 0

104

f
-10
0

Inverse Kinematics: Solving the Arm Equation Chap. 3

Algorithm 3-6-1: Inverse Kinematics of a Six-Axis Articulated


Robot (Intelledex 660)

3- 7 INVERSE KINEMATICS
OF A THREE-AXIS PLANAR ARTICULATED ROBOT

As a final example of computing the inverse kinematics of a robot, consider the three-axis planar
articulated robot shown in Fig. 3-10. For a robot which operates in a plae, there are only three
degrees of freedom for the tool: two translational motions within the plae, and one rotational
motion about an axis orthogonal to the plae.
To solve the inverse kinematic equations of the three-axis planar manipulator, we must first derive
the direct kinematic equations. The application of steps 0 to 7

Figure 3-10 A three-axis planar articulated robot.

Sec. 3-7 Inverse Kinematics of a 3-Axis Planar Articulated Robot

105

Axis

<l
\

1
2

a\
a2
0

0
0

<72
<7
3

d*

Home

7r/3
7f/3

Exercise 3-7-1: Planar -Axis Manipulator. Use the pattern in 7o, 7o, and 7o to
write down, by inspection, the arm matrix of an -axis planar articulated robot, where n
is arbitrary.
the point
D-H algorithm
to the three-axis
planarposition
articulatedand
robottool
yields
the link- coordinate
Atofthis
we combine
the tool-tip
orientation
into the more
shown in Fig. 3-11.
compact diagram
tool-configuration
vector w. Although the tool-configuration space could be
regarded as three-dimensional in this case, to faciltate comparisons with other robots we
use the general case w (vv1, vv2), where w1 = p and w2 = [exp (qi/ir^r 3 . From inspection
of the arm matrix in Eq. (3-7-1), we see that the tool-configuration function of the threey3 i
axis planar articulated robot is:
\

Tool

w(<?) =
nn

Ti

c
s,

Figure 3-11 Link coordinates of a


three-axis planar articulated robot.

Next, the application of steps 8 to 13 of the D-H algorithm results in the kinematic

c 2 -s
parameters
shown in Table 3-2.

,C
,:

0
C, 0 tfi
s2 c2
,
TABLE 3-2 KINEMATIC PARAMETERS OF A
0
0 1 Si0
00
THREE-AXIS PLANAR ARTICULATED ROBOT
.0 0
0
0 0 1
C
-s 12 0 0,
+ Cl C\2
C
S
Cj 0 (3 + a
l
0 20 1 iS 0
1
0
0 0
C Si23 0
+
Since the robot is an articulated robot, the vector of joint variables is q = 0. Using
lS
ajCi
+
CliCn
C
0
Table
C 12S 123-2 and Prop. 2-6-1, the arm matrix for the three-axis articulated robot
|0
,2
OiSi
0
1
can be computed as follows:
0 0
0
1
-s,

0
0

Cl

0
0

0
0

.0
0 0'

d
i

02
C2

02
S2
0

c3
s3

-s 3
c3

0
0

0
0

c3
s3

-Si

00
1 di
01

tf
Si

Z2C1
24
22S1

C\

(3-7-1)

0
0
exp fa/n)
106

Inverse Kinematics: Solving the Arm Equation Chap. 3

(3-7-2)

The planar nature of the three-axis robot is evident ffom Eq. (3-7-2), since W<?),
W4(<?), and w 5 (q) are all constant. If the tool length d$ is zero, then the tool tip moves in
the jcy plae. More generally, the tool tip p moves in a plae parallel to the xy plae
at a distance dj above it.
In order to extract the joint angle vector q from the nonlinear tool- configuration
function w(q), we again apply row operations to the components of w and exploit
trigonometric identities from Appendix 1 in order to isolate the individual joint variables.

3-7-1 Shoulder Joint


First, note from Fig. 3-11 that the radial distance between the base frame Lo and the
wrist frame L2 depends only on the shoulder angle <72 . In particular, from Eq. (3-7-2)
we have:
vv? -f W2 = (fiCi + 2C12) 2 + (tfSi 4- Z2S12) 2

= a\C\ + la a CiCn + 02C2 + u?S + 2aia 2S\Sn 4- al Sh =


x

aj +

2zi^(CnCi S12S1) 4* 2

ai + 2z ] Q 2 C2 + a\
(3-7-3)
We can now solve Eq. (3-7-3) for the shoulder angle. Isolating C2 and applying the rceos function to
both sides yields the following two Solutions:

w 2 , + wl - a 2 , - a 2
^
q 2 = rceos ------------------------------------------------------ (3-7-4)
2 i 2

As was the case with the SCARA robot, the first solution is called the left-handed solution
and the second is the right-handed solution.

Sec. 3-7

Inverse Kinematics of a 3-Axis Planar Articulated Robot

107

0
-1

0
0

0
0

0
-1
0

-1

0
0

0
0

0
-1

0
-1

-1

0
0
0
-1

1
5
2
5
2
0
1

0
0

0
-1
0

-1

0
-1

R=

0
0

0
5
1
9
1

2
5
1
5
2
0

0
0

0
-1
0

1
0
0

0
-1
0

0
0
-1

1
5
'
2
5
2
0

-1
30
15
1

-1

Algorithm
0
0 3-7-1: Inverse Kinematics of a Three-Axis Planar
Articulated Robot

0
0
-5
1
quired
rotation
matrix R - [x\
y\ z'], firstanalysis
note from
Fig.robotic
3-12 that
to pick
part represent
from
3-7-2
Joint
In0order
a kinematic
of this
work
cell, up
let the
TISU
0 Base
-1to perform
19
1

above
we need
anorientation
approach vector
down.
In termsFor
of base
coordinates, this
the position
and
of the which
part aspoints
seen by
the camera.
ex ampie:
0
0
03
13
corresponds
to r = i
. Next,
to base
grip the
object
on the
and back
faces,
need aIfsliding
Given the shoulder
angle
q2, the
angle
can now
befront
determined
from
Eq.we
(3-7-2).
the
2
2
q
=
rceos
---------------------0 of
-1r =for
o S12
vector
i0C12
. Finally,
to complete
the rightorthonormal
coordinate
it is
expressions
and
are expanded
usinghanded
the cosine
of the sum
and sine frame,
of the sum
2d^
3^
l
1 '
necessary
r0= T/-5
. Thus
are two possible
Solutions
for the rotation matrix R, one
trigonometric
and there
the coefficients
of Ci and
1
0 that identities
I Si are col- lected, this yields:
being:
(3-8-1)
0
0 -1
19
(a\ + z2C2)Ci (a2S2)Si = w\
(3-7-5a)
2

y part

* camera

I = w2
(a2S2)Ci + (a\ + a2C2)Si

(3-7-5b)

Thus we
have
linear
equations
the unknowns
Ciw and Si.
equations
can be
q =orientation
ir In
Next
lettwo
TcSera
represent
theinposition
and
of These
the base
of the robot
as solved
seen by
(3-8-4)
simultaneously
using
elementary
row
operations,
and
the
result
is:
the camera. In this case suppose that:
We can now put the position and orientation information together to develop the tool
configuration
needed
to grasp
part.For
In particular,
the arm
matrix
which places
tool3-11,
in find
Exercise
3-7-2:
Rightthe
Angle.
the three-axis
planar
articulated
robot inthe
Fig.
(a\
tf2uCpart
+ a 2 S 2w 2
2)wi
-r uto2K^
~r
,
thethe
position
p and orientation
R
pick
up+links
the
2 jyv\
2a
2 wis:
2
joint variables
q when the
first
two
form
a
right
angle,
as
follows:
:
Cibase
= _______
-------;
,2S2) ,7-7
(3-7-6a)
(ai + ------7
a2C2)2 +^ (a
(3-8-2)
3

camera

_ (fifi + a2C2)w2 - a2S2w\


t .
w = 7[a2, ai, <3,
0,
0,
l]r
Si
n
\2
*
/
c~vT
(3-7-6b)
(<?) =
(i -Ia2C2) + (a2s2y
Consider the problem of finding the position and orientation of the part relative to the
Note thatWORK
if a2 CELL
a\, then the numerators and the denominators of the expressions for Ci and
3- 8 A ROBOTIC
base of the robot.
Using homogeneous coordinate transformation matrices, recalling that
Sigo to zerowhen q2 =
tt. This corresponds to
a workspace singularity
diagonal identifiers cancel, and using Prop. 2-4-1, we have:
with thetool roll axiscollinear with
the base axis. If we avoid this singularity, then
Thea technique for transforming between tool coordinates and base coordinates using
both Ci
are* known
and the base angle q\ can be recovered over the complete range [
camera
r and Si* base
homogeneous
coordinate
transformation matrices can also be applied more generally to
t
tt,
] using:
(TTbase \
1 'Tpart V-* camera/
coordinate
transformations
between various stations in a robotic work cell. As an illustration,
camera
q\single-robot
= atan2 [(ai work
+ a2Ccell
\, (a\3-12.
+ a2Here
C2)w a1 part
+ z2in
S2 w
(3-7-7)of a block has
2 )wshown
2 a 2S
2] shape
consider the
in2wFig.
the
been extracted, say, from a feeder, and placed in the view- ing area of an overhead camera. The
system
inspeets the part and then in- forms the robot controller to pick up the part and
3- 7-3visin
Tool Roll
Joint
place it in either a pass bin or a reject bin, depending upon the outeome of the inspection
process.
From
Eq. (3-7-1), the tool roll angle q3 can be obtained directly from the last component of

-------

ynool
base

'Tcamera 'Tpart

TT

the tool-configuration vector as follows:


q3 = tt ln vv6

(3-7-8)

3- 7-4 Complete Solution


I

o o kinematics
3
1 inverse
The complete
solution for the three-axis planar articulated robot in Fig. 30 3-7-1. Recall that the two expressions for q2 specified by(3-8-3)
0 1 inoAlgorithm
11 is summarized
the
plus and minus
1 the left-handed and right-handed Solutions, respectively.
o o signs1represent
F
0 0 0 i to the inverse
5
The solution
kinematics problem outlined in Algorithm 3-7-1 assumes
that the tool-configuration vector
supplied as input data. If instead the pair {/?,
i?} is
1 vvtois the
Thus the position of the part relative
base
ffame of the robot is p = [30, 15, l]7.
T
specified, then w = [ p x , pu p3, Ri3, R23, R33] can be used to compute qx and q2 using
Furthermore, the three axes
of the part frame point in the same directions as the corresponding
Algorithm 3-7-1. From Eq. (3-7-2), the tool roll angle can then be computed from the global
axes of the base ffame, as is indicated by the fact that the rotation submatrix is R /. This is
Baseas
x follows:
tool roll angle <7123,
consistent with the picture in Fig. 3-12.
q3 =the
atan2
(R ureach
,ARsingle-robot
- q\ ~and
qi pick
(3-7-9)
Figure
3-12
work
cell.up the part directly ffom
2 1)down
Next suppose we want to have
robot
above
by grasping it on the front and back faces. To determine the reb

Sec. 3-8 A Robotic Work Cell


Inverse Kinematics: Solving the Arm Equation Chap. 3
Inverse Kinematics: Solving the Arm Equation Chap. 3
110
108

Axis
1
2
3
4

tt/2
0

0
<?2
43
4

a
0
0
0
0

Home

0
7r/2
TT/2
0

0
d
r
TT

3- 9 PROBLEMS
C2C3 S.S J C J - C,S 3 C,S 2 C 3 + S,S 3 '

YPR (0) =workCenvelope


3- 15.
the ajoint-space
for
five-axis
is of
of travel
the fol-of its
S S,S2S3 Q
+ C,Cj
C,S
S - s,cspherical
3
3-Suppose
1. Suppose
six-axis articulated
robot has
thethe
following
limits
on therobot
range
2

lowing
form.
Show that there are two
Solutions
to the inverse kinematics
problem in this
S2
SIC2
C1C2
joint
variables:
case by completing
Table 3-6. To simplify the
problem somewhat, you can assume that q 2 =
37r/4 IJ qi < 3ir/4
tt/2 < ^4 < 7r/2
0 corresponds to the arm pointing straight up.
-tt/4 <
< 37r/4
ir/2 ^ #2 + #3 +
<75 ^ ?r/2

TT < q x < 7T TT ^

ir/2 ^ q 2 + qi ^ TT/2
TT

TT ^ q 6 <
min

TT

m x

Find the joint limit vectors {^ , ^ * } and the joint coupling matrix C that characterize the
0<q3<H
joint-space work envelope Q of this robot.

TT <
< TT
3- 2. Suppose the tool of a five-axis articulated robot is put into a singular configuration in which

TT < qs < 7T
the tool roll axis is collinear with the base axis as shown in Fig. 3-13. Show that there are an
infinite number of Solutions to the inverse kinematics problem for this particular tool
TABLE 3-6
SOLUTIONS
OF THE robot?
configuration.
Is MULTIPLE
this a kinematically
redundant
FIVE-AXIS SPHERICAL ROBOT

Axis

Figure 3-14 Link coordinates of a


four-axis cylindrical robot.

Home

TABLE
0 77/2
0 3-3
(3-8-5)
77/2
7
T/2
<?2 0
0
77
?3
0 77/2
r
REFERENCES
77/2

77/2
<74 0 ds
0
?5
0
0
Alternadvely, we can specify the more compact tool-configuration vector w{q) needed to

<7i

2
3
4
5

dx

KINEMATIC PARAMETERS OF

THE CYLINDRICAL ROBOT

T T /2

D. L. (1968). The kinematics of manipulators under Computer control, AIM 72,


Figure
Link coordinates
of a five-axis
robot. Suppose the robot in
pick
up
theAI
part.
Here
the 3-15
required
tool
roll angle
qn mustspherical
be determined.
Stanford
Laboratory,
Stanford
Univ.
is J.a Rhino
Then,
Eq. (3-4-2),
have
q\ atan2
(10,
21.8
UFig.
ICKER3-12
, J. J.,
DENAVITXR-3.
, and R.
S. Hfrom
AKTENBERG
(1964).we
An
iterative
method
for25)
the=displacement
degrees,
from Eqs.
(3-8-4)
(3-4-20):
analysisand
of spatial
mechanisms,
Trans.
ASMEPARAMETERS
J. Appl. Mech., Vol. 31, Ser. E, pp. 309-314.
TABLE
3-4and
KINEMATIC
WHITNEY, D. E. (1972).OF
The
control
of prosthetic arms and maSPHERICAL
q$THE
= mathematics
atan2
(Si Ru of
coordinated
QROBOT
1R 21, S1R12
~ C1R22)
Figure
A singular tool
nipulators,
J. Dynamic
Systems, Measurement
122,3-13
pp. 303-309.
3- 8. Consider
the link-coordinate
diagram forand
theControl,
five-axisVol.
spherical-coordinate
robot with tool
configuration.
= atan2 (Si, Ci)
tool roll motion shown in Fig. 3-15. Here the vector of joint variables is q [0i, 02,
Vertical pitch and
Radial
r
21.8 degrees
d 3 , 04, 05] , and the=kinematic
parameters are as specified in Table 3-4. Find the(3-8-6)
arm matrix
Extensin
Extensin
Tool
Roll
This is consistent
with
Fig.
3-7, where the robot
is pictured in the soft home position, which
7bae(#) for
this
spherical-coordinate
robot.
<?3 the link-coordinate
44
33.
Consider
diagram
four-axis
cylindrical-coordinate
robot
with tool
<2
3- 9. Find
w(q)for
forthe
the
spherical-coordinate
robot vector
in Fig.
3-15.
corresponds
to qthe
tool-configuration
[0, t t / 2 , t t / 2 , 0, vector
t t / 2 ] . From
Def.
3-3-1,
the tool-configuration
r
rollSolve
motion
shown
Fig. 3-14.
Here thebyvector
ofspherical-coordinate
joint variables
is q =robot
[0i,
2,
3, 03-15.
4] , and
10.
inversein
kinematics
equations
for
in Fig.
Dothe
w(q) 3consists
of thethe
position
vector
p augmented
thethe
approach
vector r3 scaled
by exp
kinematic
parameters
areconfiguration
as specified
Find
arm from
matrix
7bl(</)
for this
parts
(a)this
through
(e)
whichever
order in
is Table
easiest.
(^s/tt). Thus,
in
case,
the in
tool
needed
to3-3.
grasp
thethe
block
above
on the
Radial
Tool
cylindrical-coordinate
robot.Too
front (a)
andFind
back
faces
is:angle
the
base
qi(w).
l envelope
3- 14.
Suppose
the
joint-space
work
Q for
cylindrical robot
is of
3- Find
4.Extensin
Find
the
tool-configuration
vector w{q)
forthe
ther four-axis
cylindrical-coordinate
robot
in the
Fig.
Shoulder
Pitch
Rol
(b)
the
shoulder
angle
qiiyv).
w there
= [30,
15,
1,
0,
0,
-1.129]
(3-8-7)
following
form.
Show
that
are
two
Solutions
to
the
inverse
kinematics
problem
in
this
l
3-14.the
Find
radial
extensin
q
{w).
<72 (c)
<73
<7
3
<?4
case
bySolve
completing
Table
3-5.
The
second
solution
should
expressed
terms
first
To
actually
command
the
robot
down
andthe
pick
upbethe
part, we in
now
needofin
tothe
3- Find
5.
the inverse
kinematics
equations
for
cylindrical-coordinate
robot
Fig.
5to reach
(d)
the
tool
pitch
angle
qi(w).
For
example,
a joint(d)
variable
might
be
negated,
or 7r might be
added
knowsolution.
the
valu
ofparts
the
joint
variables
qinthat
will
produce
the
configuration
of the
toolto a joint
3- Find
14.
Do
(a) through
whichever
order
is easiest.
(e)
the
tool
roll
angle
qMvariable.
specified
Eq.the
(3-8-7).
At this#i(w).
point, Algorithm 3-4-1 would be used to determine the vector
(a) inFind
base angle
311.
Find
a
reduced
tool-configuration
vector
w for the
TT<
qx<
T

H <<73
< Hspherical-coordinate robot in Fig.
of joint(b)
variables
for
theT five-axis
Find theq vertical
extensinarticulated
qi(w). robot.
3-15.0 < q 2 < V
7r < <y4 < 7r
(c) Find the radial extensin q^w).
3- 12. For the spherical-coordinate robot in Fig. 3-15, use the rotation matrix R(q) to find the tool
(d) Find the tool roll angle #4(w).
roll angle
q5. 3-5 MULTIPLE SOLUTIONS OF THE
TABLE
3- 6. Find
a reduced
vv forneeded
the cylindrical-coordinate
robot3-in Fig.
Exercise
3-8-1:
Focustool-configuration
Camera. Find the vector
arm
matrix
to have the robot in Fig.
FOUR-AXIS
ROBOT
3- 13. Recall
from Chap.CYLINDRICAL
2 that the composite
yaw-pitch-roll transformation can be represented by
3-14.
12 reach up
and focus the camera by twisting the lens using tool roll motion.
the following rotation matrix YPR. Solve for the yaw, pitch, and roll angles 0 G R3 in terms of
3- 7. For the cylindrical-coordinate robot in Fig. 3-14, use the rotation matrix R{q) to find the
the components of YPR.
tool roll angle <?4.
PIEPER,

Solution

Base

1
2
Solution
1
2

Base

Sec. 3-8

A Robotic Work Cel

114
Problems
Sec.
Sec.
3-9
3-9Problems
112

111

Inverse
Kinematics:
Solving
the Arm
Chap.Chap.
3
Inverse
Kinematics:
Solving
the Equation
Arm Equation
3

115

113

Você também pode gostar