Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
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
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-
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
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-
Type
Notation
Symbol
Description
Revolute
Prismatic
U
ni
t
c
o
st
Robot
Cartesian
Cylindrical
Spherical
SCARA
Articulated
Axis 1
P
R
R
R
R
Axis 2
AxisProduction
3
Total revolute
volume
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
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.
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
Units
kg
mm/sec
Sec. 1-2 Robot Classification
mm
deg
mm
mm
Axes
1-3
4-6
1-n
TVpe
Major
Minor
Redundant
Function
Position the wrist
Orient the tool
Avoid obstacles
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
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.
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.
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.
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
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
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 .
,, &
14
.\
(1-4-4)
13
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.
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
(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
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
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.
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
18
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
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:
(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
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.
The
Robot
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
22
REFERENCES
ASIMOV, I.
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
25
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.
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
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:
{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:
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
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.
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
Th
na te
fra
vectors
frame a
mental
Sec. 2-5
29
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 - 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
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.
(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("*'*/ )
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
32
33
"
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
_
sin </>
eos 4>0
0 1
(2-3-5)
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
(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:
YPR (0) =
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
36
Sec. 2-3 Rotations
37
R = R2(P)R>(-a)
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
rotatio
n
position
i
i
rf
*-
perspective
scale
i0
R4>) i 0
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
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
41
43
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
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
1
0
0
1
1
0
0
1
-1
0
-1
0
0
0
0
0
0
0
1
0
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.
o
0
1
1
o'
0
1
1
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
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
screw
bi
tr
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
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
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-
52
Sec. 2-5 Link Coordinates
53
(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:
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
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
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
55
57
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
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
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
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:
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
62
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
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) =
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
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
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.
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)
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
67
Figure 2-24 Four-axis SCARA robot (Adept One). (Courtesy of Adept Technology, Inc.,
San Jos, CA.)
Elbow
Vertical
extensin
Base
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
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=
(2-8-1)
a=
(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
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
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
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
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
77
2- 11. Compute the first factor of the arm matrix T(q) for the PUMA 200 robot using your table
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
Axis
Home
1
2
3
4
5
2- 19. Compute the arm matrix 7b.(#) for the Maker 110 robot using your wrist-partitioned
80
Direct
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
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
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
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\
(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
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,
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
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
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
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.
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 ~
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
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.
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
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)
(3-4-10)
(3-4-11)
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>! ,,
(3-4-14)
93
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
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
(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
(3-4-20)
Ci/?22)
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.
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
(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
01C1 "
w{q)
ct2 C\ - 2
tfiSi +
02S1-2
d\ ~ q^
~ d4
0
0
-exp {qj TT)
96
(3-5-1)
Elbow
Vertical
extensi
n
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
2a\a2
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
~ 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)
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)
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
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)
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
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
(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
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:
d)
SlC2(C3<23 +
Recall that the notation Cljk is short for eos (#, -f q + #*) and, similarly, S,>*
100
(3-6-1)
(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.
/?n S F /^nC
==
C1S2
(3-6-6)
1, we find:
#6 = tt ln (vv4 + vv2 + wl )1/2
==
(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:
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-
(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
(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)
(3-6-11)
(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
(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:
103
(3-6-17)
(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)
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)
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
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
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,
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
(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.
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
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
-------
ynool
base
'Tcamera 'Tpart
TT
(3-7-8)
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
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 '
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
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
T T /2
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
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