0 ratings0% found this document useful (0 votes) 270 views430 pagesL04 5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
ROBOT
ANALYSIS
The Mechanics of Serial
and Parallel Manipulators
LUNG-WEN TSAIROBOT ANALYSIS
The Mechanics of Serial
and Parallel Manipulators
LUNG-WEN TSAI
Department of Mechanical Engineering
and
Institute for Systems Research
University of Maryland
®
A Wiley-Interscience Publication
JOHN WILEY & SONS, INC.
New York / Chichester / Weinheim / Brisbane / Singapore / TorontoThis book is printed on acid-free paper. ©
Copyright © 1999 by John Wiley & Sons, Inc. All rights reserved.
Published simultaneously in Canada.
No part of this publication may be reproduced, stored in a retrieval
system or transmitted in any form or by any means, electronic,
mechanical, photocopying, recording, scanning or otherwise, except
as permitted under Section 107 or 108 of the 1976 United States
Copyright Act, without either the prior written permission of the
Publisher, or authorization through payment of the appropriate
per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive,
Danvers, MA 01923, (978) 750-8400, fax (978) 750-4744, Requests.
to the Publisher for permission should be addressed to the
Permissions Department, John Wiley & Sons, Inc., 605 Third Avenue,
New York, NY 10158-0012, (212) 850-601 1, fax (212) 850-6008,
E-Mail: PERMREQ@WILEY.COM.
This publication is designed to provide accurate and authoritative
information in regard to the subject matter covered. It is sold with the
understanding that the publisher is not engaged in rendering
professional services. If professional advice or other expert assistance
is required, the services of a competent professional person should be
sought,
Library of Congress Cataloging-in-Publication Data:
Tsai, Lung-Wen.
Robot analysis : the mechanics of serial and parallel manipulators
J by Lung-Wen Tsai.
pcm.
Includes index.
ISBN 0-471-32593-7 (cloth : alk. paper)
1. Robotics. 2. Manipulators (Mechanism) 1. Title.
TI2IL.T7S 1999
629.8'92—de2I 98-36463
10987654321CONTENTS
Preface XS
1 Introduction 1
1.1 Historical Development / 2
1.2__A Sense of Mechanisms / 6
1.3 Robotic Systems / 17
1.4 Classification of Robots / 19
1.5 Position, Orientation, and Location of a Rigid Body / 29
1.6 Homogeneous Transformations / 42
1.7 Mechanics of Robot Manipulators / 45
1.8 Summary / 48
References / 48
Exercises _/ 50
2_ Position Analysis of Serial Manipulators 54
2.1 Introduction / 54
2.2 Link Parameters and Link Coordinate Systems / 56
2.3. Denavit—Hartenberg Homogeneous Transformation
Matrices / 60
2.4 Loop-Closure Equations / 65vi
CONTENTS
2.5 Other Coordinate Systems / 69
2.6 Denavit-Hartenberg Method / 69
2.7__Method of Successive Screw Displacements / 91
2.8 Summary / 109
References / 109
Exercises / 111
Position Analysis of Parallel Manipulators 116
3.1_Introduction / 116
3.2 __ Structure Classification of Parallel Manipulators / 118
3.3__ Denavit-Hartenberg Method versus Geometric
Method / 123
3.4 Position Analysis of a Planar 3RRR Parallel
Manipulator / 124
3.5 Position Analysis of a Spatial Orientation Mechanism / 129
3.6 Position Analysis of the University of Maryland
Manipulator / 134
3.7 Position Analysis of a Spatial 3RPS Parallel
Manipulator / 142
3.8 Position Analysis of a General Stewart-Gough
Platform / 151
3.9 Position Analysis of a Nearly General Stewart-Gough
Platform / 156
3.10 Position Analysis of a 3-3 Stewart~Gough Platform / 158
3.11 Summary / 161
References / 161
Exercises / 164
Jacobian Analysis of Serial Manipulators 169
4.1 Introduction / 169
4.2 Differential Kinematics of a Rigid Body / 171
4.3 Differential Kinematics of Serial Manipulators / 177
4.4 Screw Coordinates and Screw Systems / 182
4.5 Manipulator Jacobian Matrix / 184
4.6 Conventional Jacobian / 186
4.7 Screw-Based Jacobian / 192
4.8 Transformation of Screw Coordinates / 205image
not
availableimage
not
availableimage
not
availablePREFACE
This book has evolved from class notes used for a graduate-level course in
robot analysis that the author has taught for over a decade at the University
of Maryland, College Park, Maryland. It provides both fundamental and ad-
vanced topics on the kinematics, statics, and dynamics of robot manipulators.
Both serial and parallel manipulators are covered in depth. In addition, it con-
tains chapters on geared robotic mechanisms and tendon-driven manipulators.
An overview of the state of the art in solving systems of nonlinear equations
that arise in robot kinematics is given in the appendixes. An extensive refer-
ence list is provided at the end of each chapter to provide readers with plenty
of resources for more advanced study.
Prerequisites for readers of this book consist of the fundamentals of kine-
matics, dynamics, vector space analysis, and matrix theory. These basics are
usually taught at the undergraduate level. A one-semester course will cover
most of the fundamentals presented in the book. The more advanced topics,
such as the screw-based Jacobian and singularity analysis and the two chap-
ters on geared robotic wrists and tendon-driven manipulators, can be taught
in a second semester or be used as reference material. It is anticipated that
after studying the kinematics and dynamics of robot manipulators, students
will be motivated to take an advanced course in robot sensing, control, and
machine intelligence.
Chapter 1 provides a brief review of the historical development and a clas-
sification of robot manipulators. The science of robotics and the mechanics of
robot manipulators are defined. A brief review of some of the fundamentals
that are essential for an understanding of the mechanics of robot manipulators
xtimage
not
availableimage
not
availableimage
not
available2 INTRODUCTION
There are compromises between manual production, hard automation,
and flexible automation. In general, manual production tends to be slow and
makes it difficult to achieve consistent product quality. Although hard au-
tomation is faster and more precise than the other two production methods,
the retooling cost for each model change can be high. With flexible automa-
tion, on the other hand, much less time is required to set up a production
line because robot manipulators can readily be purchased off the shelf. In
addition, the manipulators can be preprogrammed off the line and are almost
immune to obsolescence. Typically, when the production volume is very low,
manual production is more economical. As the production volume increases,
flexible automation becomes more cost-effective. As the production volume
increases further, hard automation becomes the most effective production
method. In this book, we study the mechanics of robot manipulators essen-
tial for the design, programming, and control of such devices in a flexible
manufacturing environment.
1.1 HISTORICAL DEVELOPMENT
The word robot means different things to different people. Webster's New
World College Dictionary defines a robot as “any anthropomorphic me-
chanical being built to do routine manual work for human beings.” On the
other hand, the definition used by the Robotics Institute of America is more
specific: “A robot is a re-programmable multi-functional manipulator de-
signed to move material, parts, tools, or specialized devices, through variable
programmed motions for the performance of a variety of tasks.” The latter
definition includes mechanical manipulators, numerical control machines,
walking machines, and the humanoids of science fiction. Although most
people perceive robots anthropomorphically, today’s industrial robots are
only somewhat humanoid in appearance. In fact, most industrial robots are
mechanical manipulators. Figure 1.1 shows a typical humanoid of science
fiction; by contrast, Fig. 1.2 shows a typical industrial robot.
Although the word robor entered the English vocabulary as early as 1923
(Capek, 1923), the actual development of robot manipulators did not occur
until after the 1940s. The emergence of industrial robots was due initially to
the need to handle hazardous materials and in space exploration, and later
to achieve flexible automation. During the late 1940s, the Oak Ridge and
Argonne National Laboratories began their development of master-slave ma-
nipulators (Fig. 1.3) for handling radioactive materials. The master manipula-
tor is guided by an operator, while the slave manipulator duplicates the motion
produced by the master in a remote site. Force feedback can be incorporatedimage
not
availableimage
not
availableimage
not
available6 INTRODUCTION
nearly $80 million in the development of a 200-kg humanoid that is capable
of walking up and down stairs. In 1997, NASA sent a rover called Pathfinder
to Mars. A historical review of the early development of robot manipulators
is given in Engelberger (1980).
During recent decades, robot manipulators have been used primarily for
repetitive operations and in hazardous environments. Typical repetitive oper-
ation tasks include materials handling, parts loading and unloading, sealant
application, and component assembling. Applications in hazardous environ-
ments include radioactive material handling, space and undersea exploration,
spot welding, spray painting, and so on. Other robotic applications include
construction robots, flight and vehicle simulators (Stewart, 1965), mining ma-
chines (Arai et al., 1991), pointing devices (Gosselin and Hamel, 1994), and
intelligent machining centers (Giddings & Lewis, 1995). Recently, there has
been increasing interest in making robots more intelligent and user friendly,
and medical surgery robots, household service robots, and so on, are becom-
ing available. Although much effort has been spent on the development of
robot manipulators, the ultimate goal of developing intelligent, user-friendly
robots that can emulate human functions is still in its infancy. Major obsta-
cles can be attributed to the fact that some of the key technologies have not
yet been fully developed.
1.2 A SENSE OF MECHANISMS
A mechanism or mechanical manipulator is made up of several links con-
nected by joints. The number of degrees of freedom (dof) of a mechanism
depends on the number of links and joints and the types of joints used for con-
struction of the mechanism. In this section we define links, joints, kinematic
chains, mechanisms, and machines, then introduce the concepts of degrees of
freedom and the loop mobility criterion.
1.2.1 Links and Joints
The individual bodies that make up a mechanism are called the members or
links. In this book, unless stated otherwise, we treat all links as rigid bodies.
The assumption of rigid bodies makes the study of mechanisms and robot
manipulators a lot easier to understand. However, for high-speed or highly
loaded mechanisms, the elastic effects of a material body may become signif-
icant and should be taken into consideration. For convenience, certain non-
rigid bodies, such as chains, cables, or belts, which momentarily serve the
same function as rigid bodies, may also be considered as links. From the
kinematic point of view, two or more members connected together such thatimage
not
availableimage
not
availableimage
not
available10 INTRODUCTION
the number of independent parameters or inputs needed to specify the con-
figuration of the mechanism completely. Except for some special cases, it is
possible to derive a general expression for the degrees of freedom of a mech-
anism in terms of the number of links, number of joints, and types of joints
incorporated in the mechanism. The following notations are defined to facili-
tate the derivation of an equation:
cj: number of constraints imposed by joint i.
F: degrees of freedom of a mechanism.
fi: degrees of relative motion permitted by joint i.
Jj: number of joints in a mechanism, assuming that all the joints are bi-
nary.
ji: number of joints with 7 degrees of freedom.
L: number of independent loops in a mechanism.
n: number of links in a mechanism, including the fixed link.
A: degrees of freedom of the space in which a mechanism is intended to
function.
Since we assume that all the joints are binary, a ternary joint is counted
as two binary joints, a quaternary joint is counted as three binary joints, and
so on. We also assume that a single value of 4 applies to the motions of
all the moving links. That is, they all operate in the same working space:
hence A = 6 for spatial mechanisms, and 4 = 3 for planar and spherical
mechanisms.
Intuitively, the degree-of-freedom value of a mechanism is equal to the
degrees of freedom associated with all the moving links minus the number of
constraints imposed by the joints. Hence, if the links are all free of constraints,
the degrees of freedom of an n-link mechanism, with one of its links fixed
to the ground, would be equal to A(m — 1). However, the total number of
constraints imposed by the joints is equal to )7/_, c;. Hence the degree-of-
freedom value of a mechanism is generally given by
(ay
Paan-y-
fat
The number of constraints imposed by a joint and the degrees of freedom
permitted by the joint are equal to the motion parameter, A; that is,
=o t fi- (1.2)image
not
availableimage
not
availableimage
not
available14 INTRODUCTION
'S (Spherical Joint)
P (Prismatic Joint)
S (Spherical Joint)
FIGURE 1.9. Stewart-Gough platform.
binary links that are connected by a prismatic joint. This construction
is called an S—P-S limb. Because of the S-P-S combination, there is
a passive degree of freedom associated with each limb. Hence we have
2 =6,n = 14, j, = 6, js = 12, and f, = 6. The degree-of-freedom value
of the manipulator is given by F = 6(14 — 18 — 1) + (12x 3+.6) -6 =6.
Since Eg. (1.5) is derived by using a single value of ) for all the moving
links, the degree of freedom of a spatial mechanism with a planar or spherical
linkage as a subsystem should be counted with care. Specifically, 4 = 3
should be used for the planar or spherical subsystem, while 4 = 6 is used for
the spatial portion of the mechanism. For example, the manipulator shown
in Fig. 1.2 consists of a planar four-bar linkage (links 2, 3, 8, and 7) and
a spherical wrist mechanism (links 3, 4, 5, and 6) as two subsystems. The
four-bar linkage provides 1 degree of freedom, the spherical linkage gives
3 degrees of freedom, and the open-loop chain 0-1-2 provides 2 additional
degrees of freedom. Overall, it is a 6-dof spatial manipulator.
In general, if the Griibler criterion yields F > 0, the mechanism has F
degrees of freedom. If the criterion yields F = 0, the mechanism becomes
a structure with zero degrees of freedom. On the other hand, if the criterion
yields F < 0, the mechanism becomes a statically indeterminate structure
with redundant constraints. However, it should be noted that there are mech-
anisms that do not obey the Griibler criterion. Those mechanisms that require
special link lengths to achieve mobility are called overconstrained mecha-
nisms (Mavroidis and Roth, 1994).image
not
availableimage
not
availableimage
not
available18 INTRODUCTION
an end effector is sometimes called a gripper. Most simple grippers are 1-dof
devices, Figure 1.12 shows a rack-and-pinion gripper driven by a pneumatic
source, and Fig. 1.13 shows a gripper equipped with force sensor.
For some applications, an end effector may be required to handle a variety
of objects of different shapes, sizes, and materials. We call an end effector that
requires certain dexterity and versatility a universal gripper or dextrous hand.
The Stanford/JPL hand (Salisbury, 1982; Salisbury and Roth, 1983) and the
Utah/MIT hand (Jacobsen et al., 1984, 1986) are dextrous hands. Figure 1.14
shows a Utah/MIT hand and the mechanical components and some sensing
elements of the hand are shown in Fig. 1.15. The basics of gripping and a
variety of grippers can be found in Pham and Heginbotham (1986).
The controller may range from a simple low-level PID controller to a high-
level model-based intelligent controller. Encoders and/or tachometers are in-
stalled at the joints of a manipulator to measure the relative motion between
two connected bodies for the purpose of feedback control. Some advanced
intelligent controllers may require the manipulator to be equipped with force
and/or touch sensors along with a vision system or some other sensor. In ad-
dition, the controller is often equipped with a teach pendant that is capable
of teaching position, editing and running programs, and interfacing with the
computer.
The computer may be microprocessor-based hardware, a personal com-
puter, or a mainframe computer capable of high-speed real-time computation,
reasoning, and issuing intelligent control commands.
Four-bar parallelogram
Pneumatic
actuator Finger
FIGURE 1.12. Dual rack-and-pinion gripper mechanism.image
not
availableimage
not
availableimage
not
available22 INTRODUCTION
FIGURE 1.16. Adept-One robot. (Courtesy of Adept Technology, Inc., San Jose, California.)
ulators use either electric dc servomotors or stepper motors, because they
are clean and relatively easy to control. However, when high-speed and/or
high-load-carrying capabilities are needed, hydraulic or pneumatic drive is
preferred. A major disadvantage associated with the use of a hydraulic drive
is the possibility of leaking oils. Additionally, a hydraulic drive is inherently
flexible, due to the bulk modulus of oil. Although a pneumatic drive is clean
and fast, it is difficult to control because air is a compressible fluid.image
not
availableimage
not
availableimage
not
available26 INTRODUCTION
FIGURE 1.19. Cartesian robot. (Courtesy of Seiko Instruments USA, Inc., Torrance, Cali-
fornia.)
associated with the three joint variables. Hence the workspace of a spherical
robot is confined by two concentric spheres.
A robot arm is said to be an articulated robot if all three joints are revolute.
The workspace of an articulated robot is very complex, typically a crescent-
shaped cross section. Many industrial robots are of the articulated type. The
PUMA robot is an articulated robot, as is the master-slave robot shown in
Fig. 1.3.
The SCARA (selective compliance assembly robot arm) robot is a special
type of robot. It consists of two revolute joints followed by a prismatic joint.
In addition, all three joint axes are parallel to each other and usually point
along the direction of gravity. Thus the first two actuators do not have to
work against the gravitational forces of the links and the payload. The wrist
usually has only 1 degree of freedom. Hence the entire robot has 4 degrees of
freedom. This type of manipulators is useful for assembling parts on a plane.
The Adept robot shown in Fig. 1.16 is a SCARA robot.image
not
availableimage
not
availableimage
not
available30 INTRODUCTION
P Moving frame B
7 |
L
Fixed frame A
FIGURE 1.22. General spatial displacement.
reference frame A as shown in Fig. 1.23 is written as
Px
P=| Py]. (1.9)
Pz
4,
where the subscripts x, y, and z represent the projections of the position vec-
tor onto the three coordinate axes of the reference frame. Since we are dealing
Py
7
\
Vly
x Frame A
FIGURE 1.23. Position vector of a point P in space.image
not
availableimage
not
availableimage
not
available34 INTRODUCTION
set of three column vectors or a set of three row vectors:
ay
‘Rp =[4u Av Awl=] yt]. (1.22)
But
Euler's Theorem. Euler's theorem states that the general displacement of
a rigid body with one point fixed is a rotation about some axis. This unique
axis of rotation is called the screw axis. In what follows, we show how the
screw axis can be derived from a given rotation matrix.
Equation (1.15) provides an orthogonal transformation of the position of
a point P in a moving frame B to a fixed frame A. Since the moving frame
B coincides with the fixed frame A at the initial location, we may consider
4p as the first position and “p as the second position of P of the rigid body
B. Since the origin O is a stationary point, the screw axis passes through this
point. Furthermore, if P lies on the axis of rotation, its position vector will
not be affected by the rotation; that is,
p= “p. (1.23)
The second position of P is governed by the orthogonal transformation given
by Eg. (1.15). Substituting Eq. (1.23) into (1.15) and rearranging yields
CRs — 4p =0, (1.24)
where / denotes a 3 x 3 identity matrix.
We note that Eq. (1.24) is a special case of the following general eigenvalue
problem:
(ARs —A1) 4p = 0, (1.25)
where 2 is called the eigenvalue value or characteristic value. Equation (1.25)
consists of three linear homogeneous equations in three unknowns, p,, Py,
and p,. The compatibility condition for the existence of nontrivial solutions
is that the determinant of the coefficients must vanish; that is,
ay-h an a3
[4Rp-Al |=] an an-A’ ay | =0, (1.26)
a3 ax a3 2
where a;; represents the (i, j) element of 4Ry.
Equation (1.26) is known as the characteristic equation and the values
of A for which the equation is satisfied are the eigenvalues. In general, the
characteristic equation will have three roots with three corresponding eigen-image
not
availableimage
not
availableimage
not
available38 INTRODUCTION
angles. In an Euler angle representation, three successive rotations about the
coordinate axes of either a fixed coordinate system or a moving coordinate
system are used to describe the orientation of a rigid body.
For convenience, we introduce three basic rotation matrices from which an
Euler angle representation can be derived in terms of their product. When a
rigid body performs a rotation of @ about the z-axis, s,; = sy = O ands, = 1.
Hence the rotation matrix, Eq. (1.37), reduces to
co -sd 0
R(z,0)=] 86 ch Of]. (1.40)
0 01
Similarly, when a rigid body performs a rotation of y about the x-axis, sy =
5, = Oand s, = 1. Hence the rotation matrix, Eq. (1.37), reduces to
1 0 0
Raw=|0 ch —sw |, (4b
0 sy cw
and when a rigid body performs a rotation of ¢ about the y-axis, 5; = 5s, =0
and sy = 1. Hence the rotation matrix, Eq. (1.37), reduces to
E ;|
RY.g)=] 0 1 0]. (1.42)
—sp 0 cb
Roll-Pitch-Yaw Angles. We first consider three successive rotations of the
moving frame B about the coordinate axes of the fixed frame A. Starting with
the moving frame B coinciding with the fixed frame A, we rotate B about the
x-axis by an angle y, resulting in an (u’, v’, w’) system; followed by a second
rotation of @ about the y-axis, resulting in an (w”, v”, w”) system; and then a
third rotation of ¢ about the z-axis, resulting in the final (uv, v, w) system, as
shown in Fig. 1.26.
Since all rotations take place about the coordinate axes of a fixed frame,
the resulting rotation matrix is obtained by premultiplying three basic rotation
matrices:
Ry, 8, 6) = Rz, o) R(y, 8) R(x, W)
coed chsOsy —spcy cosOcyr + sosy
=| spc shsOsy+cpcy spsbcy — cosy | .
—sé cosy cOcy
(1.43)image
not
availableimage
not
availableimage
not
available42 INTRODUCTION
expressed in the moving frame B as ®p = QP. To derive a relation between
Ap and 4p, we construct the vector OP as a sum of two vectors:
OP = 00+ OP. (1.50)
where OO = “q denotes the position of Q with respect to the fixed frame A.
Let the orientation of the moving frame B with respect to the fixed frame
A be defined by the rotation matrix 4R,. Then Eq. (1.50) can be written as
Ap = ‘Ra "p+ “q. (51)
Equation (1.51) describes the position of a point in a rigid body in terms of
the position of the origin Q and the orientation of the moving frame B with
respect to the fixed frame A. The leading superscript of “p cancels with the
trailing subscript of “Rg, leaving all quantities as vectors expressed in the
fixed frame A.
Since we assume that initially, the moving frame coincides with the fixed
frame, we may consider p as the first position of a point P and 4p as the
second position of the same point expressed in the fixed frame A. The first
term on the right-hand side of Eq. (1.51) represents the contribution due to a
rotation of the rigid body about some axis, and the second term represents the
contribution due a translation along the direction of 4g. We observe that the
general spatial displacement of a rigid body can be considered as a rotation
plus a translation. This is well known as Chasles’ theorem.
1.6 HOMOGENEOUS TRANSFORMATIONS
Equation (1.51) provides a general transformation of a position vector from
the moving frame to the fixed frame. The first term on the right-hand side of
the equation represents the contribution due to a rotation and the second term
that due to a translation of the moving frame respect to the fixed frame. The
equation is not in a compact form, because the 3 x 3 rotation matrix does
not provide for the translation. To write Eq. (1.51) in a better-appearing form,
we introduce the concepts of homogeneous coordinates and homogeneous
transformation matrix.
1.6.1 Homogeneous Coordinates
Let p = [px, Py, Pz|" be the position vector of a point with respect to a
reference frame A in three-dimensional space. We define the homogeneousimage
not
availableimage
not
availableimage
not
available46 INTRODUCTION
1.7.1 Kinematics
Kinematics deals with the aspects of motion without regard to the forces
and/or torques that cause it. The science of kinematics deals with the position,
velocity, acceleration, and higher-order derivatives of the position variables
with respect to time or other variables. Hence kinematics is concerned only
with the geometrical and time properties of a motion. The joint variables of a
robot manipulator are related to the position and orientation of the end effec-
tor by the constraints imposed by the joints. These kinematic relations are the
focal points of interest in a study of the kinematics of robot manipulators. The
study can be approached from two different points of view: kinematic anal-
ysis and kinematic synthesis. However, the processes of kinematic analysis
and kinematic synthesis are intertwined. A designer needs a skillful analysis
ability to evaluate various design alternatives under consideration and to ar-
rive at the best design. Hence a better understanding of the kinematics is the
first concern in the design and control of robot manipulators.
Kinematic analysis deals with the derivation of relative motions among
various links of a given manipulator. There are two types of kinematic anal-
ysis problems: direct kinematics and inverse kinematics, In the programming
of a robot manipulator, typically a set of desired positions and orientations,
and perhaps the time derivatives of the positions and orientations of the end
effector, are specified in space. The problem is to find all possible sets of actu-
ated joint variables and their corresponding time derivatives which will bring
the end effector to the set of desired positions and orientations with the de-
sired motion characteristics. This is known as inverse kinematics. On the other
hand, sometimes the actuated joint variables and possibly their time deriva-
tives are obtained from readings of sensors installed at the joints, from which
we wish to find all possible sets of end effector positions and orientations and
their corresponding time derivatives. TI called direct kinematics or for-
ward kinematics. Both direct and inverse kinematics problems can be solved
by various methods of analysis, such as geometric vector analysis, matrix al-
gebra, screw algebra, and so on (Erdman and Sandor, 1991; Kimbrell, 1991;
Lange, 1995; Martin, 1982).
Kinematic synthesis is the reverse process of kinematic analysis. In this
case, a designer is challenged to devise a new manipulator or machine that
will possess certain desired kinematic properties. Specifically, given a set of
desirable positions and orientations of the end effector and possibly their time
derivatives in space, the corresponding actuated joint variables and the type
and geometry of a manipulator are to be determined. Some researchers have
focused on the synthesis of manipulators with the workspace as an optimality
criterion, The kinematic synthesis problem can be further divided into three
interrelated phases: type synthesis, number synthesis, and dimensional syn-image
not
availableimage
not
availableimage
not
available50 INTRODUCTION
Paul, R. P., 1981, Robot Manipulators: Mathematics, Programming, and Control,
MIT Press, Cambridge, MA.
Pham, D. T. and Heginbotham, W. B., 1986, Robot Grippers, Springer-Verlag, New
York.
Rivin, E. L., 1987, Mechanical Design of Robots, McGraw-Hill, New York.
Salisbury, J. K., 1982, “Kinematic and Force Analysis of Articulated Mechanical
Hands,” Ph.D. dissertation, Mechanical Engineering Deptartment, Stanford Uni-
versity, Stanford, CA.
Salisbury, J. K. and Roth, B., 1983, “Kinematic and Force Analysis of Articulated
Mechanical Hands,” ASME J. Mech. Trans. Autom. Des., Vol. 105, No. 1, pp.
35-41.
Schilling, R. J., 1990, Fundamentals of Robotics: Analysis and Control, Prentice
Hall, Upper Saddle River, NJ.
Stewart, D. 1965, “A Platform with Six Degrees of Freedom,” Proc. Inst. Mech. Eng.
London, Vol. 180, pp. 371-386.
Tsai, L. W. and Chang, S. L., 1994, “Backlash Control via Redundant Drives: An
Experimental Verification,” ASME J. Mech. Des., Vol. 116, No. 3, pp. 963-967.
EXERCISES
1. Find the number of degrees of freedom associated with the planar manip-
ulator shown in Fig. 1.28, where a moving platform is shown connected
toa fixed base by three limbs. Each limb consists of two binary links and
three parallel revolute joints. Is this a serial or a parallel manipulator?
0 (Base)
FIGURE 1.28. Planar 3RRR manipulator.image
not
availableimage
not
availableimage
not
availableCHAPTER 2
POSITION ANALYSIS OF
SERIAL MANIPULATORS
2.1 INTRODUCTION
A serial manipulator consists of several links connected in series by various
types of joints, typically revolute and prismatic joints. One end of the manip-
ulator is attached to the ground and the other end is free to move in space.
For this reason a serial manipulator is sometimes called an open-loop manip-
ulator. We call the fixed link the base, and the free end where a gripper or a
mechanical hand is attached, the end effector.
For a robot to perform a specific task, the location of the end effector rela-
tive to the base should be established first. This is called the position analysis
problem. There are two types of position analysis problems: direct position
or direct kinematics and inverse position or inverse kinematics problems. For
direct kinematics, the joint variables are given and the problem is to find the
location of the end effector. For inverse kinematics, the location of the end ef-
fector is given and the problem is to find the joint variables necessary to bring
the end effector to the desired location. For a serial manipulator, direct kine-
matics is fairly straightforward, whereas inverse kinematics becomes very
difficult. On the other hand, for a parallel manipulator, inverse kinematics is
very straightforward, whereas direct kinematics becomes very difficult. We
note that for a deficient manipulator the end effector cannot be positioned
freely in space, and for a redundant manipulator there may be several infini-
tudes of inverse kinematic solutions corresponding to a given end-effector
location, depending on the degrees of redundancy.
54image
not
availableimage
not
availableimage
not
available58 —_ POSITION ANALYSIS OF SERIAL MANIPULATORS.
FIGURE 2.2, Definition of link parameters.
* The x;-axis is defined along the common normal between the ith and (i+
1)th joint axes and points from the ith to the (i +1)th joint axis. If the two
joint axes are parallel, the x;-axis can be chosen anywhere perpendicular
to the two joint axes. In case of two intersecting joint axes, the x;-axis
can be defined either in the direction of the vector cross product Z;_) x Z;
or in the opposite direction, and the origin is at the point of intersection.
* The y;-axis is determined by the right-hand rule.
The zeroth coordinate system is attached to the base at any convenient
location as long as the Zo-axis is aligned with the first joint axis. Furthermore,
we attach a coordinate system to the end-effector link, called the end effector
or hand coordinate system, to describe the location of the end effector. The
hand coordinate system can be located anywhere in the end-effector as long
as the x,,-ax! normal to the last joint axis. For convenience, the z,,-axis is
often defined along the direction of approach of a gripper.
Let Hj_, be the point of intersection of the x; and z;-; axes, and let 0;,
the origin of the ith coordinate system, be the point of intersection of the
xj and z; axes as shown in Fig. 2.2. Then, regardless of how the links are
constructed physically, the following parameters are uniquely determined by
the geometry of the axes:image
not
availableimage
not
availableimage
not
available62 _ POSITION ANALYSIS OF SERIAL MANIPULATORS,
Equation (2.2) is called the Denavit—Hartenberg (D-H) transformation ma-
trix. The trailing subscript i and the leading superscript i — 1 denote that the
transformation takes place from the ith coordinate system to the (i — 1)th
coordinate system.
Let the homogeneous coordinates of the position vector of a point relative
to the ith coordinate system be denoted by ‘p = [p,, Py: Pos 1)". Also let
the homogeneous coordinates of a unit vector expressed in the ith coordinate
system be denoted by ‘u = [u,, ly, u;,0}". Then the transformation of a
position vector and a unit vector from the ith to the (i — 1)th coordinate
system can be written as
itp = 1A; 'p, (2.3)
ly =A; ‘a, (2.4)
Note that the leading superscript is used to indicate the coordinate system
with respect to which a vector is expressed. Although the transformation ma-
trix A is not orthogonal, the inverse transformation exists and is given by
8; 36; 0 =;
= (imtg yt = | ~Oui88 Carsc8, Sau; — dsc
1S CAN = Sos0; —sajc0; ca; —djco; 25)
0 0 0 1
Example 2.3.1 Planar 3-DOF Manipulator Figure 2.3 shows a 3-dof
planar manipulator constructed with three revolute joints located at points
Qo, A, and P, respectively. A coordinate system is attached to each link. The
(Xo, You Zo) Coordinate system is attached to the base with its origin located at
the first joint pivot and the x-axis pointing to the right. Since the joint axes
are all parallel to each other, all the twist angles a; and translational distances
dj are zero.
For the coordinate systems chosen, the link parameters are given in
Table 2.1. The D-H transformation matrices are obtained by substituting
the D-H link parameters into Eq. (2.2):
c, —s% 0 aych
oy — | 8 C6; 0 ays
A=] 9 o 1 0 , (2.6)
0
0 0 1image
not
availableimage
not
availableimage
not
available66 POSITION ANALYSIS OF SERIAL MANIPULATORS.
u, = SOs,
v, = —chsy — sbcAcy,
= —sdsy + cpcdcy,
(2.14)
If the direction cosines are used, u, v, and w represent three unit vectors
directed along the three coordinate axes of the hand coordinate system and
expressed in the base coordinate system.
From the geometry of the links, the transformation matrix °A,, above can be
thought of as the resultant of a series of coordinate transformations beginning
from the base coordinate system to the end-effector coordinate system. That
is,
PAy'A27Ag--"""Ay = "An. (2.15)
Equation (2.15) is called the loop-closure equation of a serial manipulator.
It contains 16 scalar equations, four of which are trivial. Equating the up-
per right 3 x 1 submatrix results in three independent equations, representing
the position of the end effector, Equating the elements of the upper left 3 x 3
submatrix results in nine equations, representing the orientation of the end ef-
fector. However, only three of the nine orientation equations are independent
because of the orthogonal conditions.
The loop-closure equation, Eq. (2.15), can be used to solve both direct and
inverse kinematics problems. For direct kinematics, the joint variables are
given and the problem is to find where the end effector is with respect to the
base coordinate system. This can be accomplished by multiplying the D-H
matrices on the left-hand side of the equation. For the inverse kinematics, the
end-effector location (ie., °An) is given and the problem is to find the joint
variables needed to bring the end effector to the desired location. The prob-
lem becomes very nonlinear. In what follows, we concentrate on the inverse
kinematics problem.
Example 2.4.1. Scorbot Robot Figure 2.5 shows a schematic diagram of
the Scorbot robot. In this diagram, the second, third, and fourth joint axes are
parallel to one another and point into the paper at points A, B, and P, respec-
tively. The first joint axis points up vertically, and the fifth joint axis intersects
the fourth perpendicularly. We wish to find the overall transformation matrix
for the robot.image
not
availableimage
not
availableimage
not
available70 POSITION ANALYSIS OF SERIAL MANIPULATORS
robot example. We may also pre- or postmultiply the loop-closure equation
by the inverse of the matrix ‘~!A; to obtain alternative loop-closure equations,
such as
AY) An = "Ap Agee" Ay, (2.24)
(Ag) CA)" Ay = 7Ag "Age" 'Ag, (2.25)
PA3)7"('A2) "PAG An = Ag AAs "AL. (2.26)
One reason for rearranging the loop-closure equation is to redistribute the
unknown variables on both sides of the equation as evenly as possible. An-
other reason is to take advantage of some special conditions, such as three
consecutive intersecting joint axes or three consecutive parallel joint axes. In
many cases, the equation becomes decoupled and a closed-form solution can
be derived.
2.6.1 Position Analysis of a Planar 3-DOF Manipulator
For the planar 3-dof manipulator shown in Fig. 2.3, the overall transformation
matrix is given by
943 = A, 'A27A3. (2.27)
Substituting Eqs. (2.6) through (2.8) into (2.27), we obtain
A123, 80123 0 aycOy + ancOi2 + a3CO123
80123 C23. 0 ay 80) + a286)2 + 4386)23
0 0 1 0
0 0 0 I
43 = (2.28)
(a) Direct Kinematics. The position vector of the origin Q expressed in
the end-effector coordinate system is given by °q = [0,0,0, 1)". Let the
position vector of Q with respect to the base coordinate system be °q =
(ax. ys Gz. LJ". Then we can relate °q to °q by the following transformation:
a 0 yO) + 4x03 + 30023
=", : _ | 4141 tah + 4380)23 (2.29)
1 1 1
Hence, given 6,62, and @3, the position of point Q can be computed by
Eq. (2.29). Similarly, the position vector of any other point in the end effector,image
not
availableimage
not
availableimage
not
available74 POSITION ANALYSIS OF SERIAL MANIPULATORS
x3
Ya
»
End-effector
3
P (Wrist center)
Qo
FIGURE 2.7. Vector loop of the planar 3-dof manipulator.
Taking the x and y components of Eq. (2.45) yields
Px = a\C0; + a2€9}9, (2.46)
Py = 8, + 478612. (2.47)
Note that using the vector-loop method, we have derived Eqs. (2.35) and
(2.36) with very little effort.
2.6.2 Position Analysis of the Scorbot Robot
For the Scorbot robot shown in Fig. 2.5, the overall transformation matrix
is given by Eg. (2.22). We wish to solve the direct and inverse kinematics
problems.
(a) Direct Kinematics. For the direct kinematics problem, we simply
substitute the given joint angles into Eq. (2.22) to obtain the end-effector
position, (gx, qy.4z), and the orientation in terms of the three unit vectors
(Ux, Uy, Uz), (Ux, Vy, Uz), aNd (Wy, Wy, Wz).
(b) Inverse Kinematics. For the inverse kinematics problem, only 5 of the
12 parameters associated with the end-effector position vector and rotation
matrix can be specified at will. This is because the manipulator has only 5
degrees of freedom. It is obvious that the position vector q and the approachimage
not
availableimage
not
availableimage
not
available78 POSITION ANALYSIS OF SERIAL MANIPULATORS.
TABLE 2.4, D-H Parameters of the Fanuc S-900W
Manipulator
Joint i aq; Gj d;
1 x/2 a 0
2 0 a 0
3 x/2 a 0
4 —n/2 0 dy
5 n/2 0 0
6 0 0 dg
%
%
o
Os,
We note that this manipulator employs a four-bar linkage to drive the third
joint. The four-bar linkage simply transmits the motion of the third motor
mounted on the waist to the third joint. Otherwise, it has no effect on the
kinematics of the manipulator. In the following analysis we neglect the effect
of the four-bar linkage and treat the manipulator as a serial manipulator.
Using the coordinate systems established in Fig. 2.8, the corresponding
link parameters are listed in Table 2.4. Substituting the D-H link parameters
into Eq. (2.2), we obtain the D-H transformation matrices:
cA O sh aycd,
sO, O —cO; ays;
Oo 1 0 0 .
0 0 0 1
cc, —s#, 0 anch,
SA, cA, 0 ans
0 0 1 0 .
0 o 0 1
"A=
a3cOy
—cO; 43803
4As=
>
i}
— —_— O-——
3 : coco
e-ceo
cogs
=o
2
>
c
I
2
>
-oco
(2.66)
(2.67)
(2.68)
(2.69)
(2.70)image
not
availableimage
not
availableimage
not
available82 —_ POSITION ANALYSIS OF SERIAL MANIPULATORS
P88; — pyc, = 0, (2.83)
where p,, py, and p, are given by Eq. (2.77).
A solution for 4, is found immediately by solving Eq. (2.83).
6, = tan! Po (2.84)
Px
Hence there are two solutions of 4. Specifically, if @, = 07 is a solution,
6, = Of + 7 is also a solution, where x > Of > 0. We call 6; = OF the
front-reach solution and 6, = 6f + 7 the back-reach solution. Because of the
four-bar linkage and other mechanical constraints, the back-reach solution is
physically impossible.
An observation of the kinematic structure reveals that the distance between
point A and the wrist center P is independent of @, and 62, which implies that
these two variables can be eliminated simultaneously. Summing the squares
of Eqs. (2.81), (2.82), and (2.83), gives
1803 + k2003 = K3, (2.85)
where kK) = 2ad3,Kz = 2aza3, and Ky = p? + p? + p? — 2p,aycb, —
2pyaysOy + a} — a} — a} — dj.
We can convert Eq. (2.85) into a polynomial by making use of the follow-
ing trigonometric identities:
a id sO: 2
3 and 80; = :
1+8 a 148
0:
cA; = where 4 = tan a
Substituting the trigonometric identities above into Eq. (2.85) yields
(ks + k2)1} — kits + (k3 — 2) = 0. (2.86)
Hence
(2.87)
K3 + kp
Equation (2.86) yields (1) two real roots if «7 + «} — x} > 0, (2) one dou-
ble root if «? + «3 — «2 = 0, and (3) no real roots if k? +} — «2 < 0.
When Eq. (2.86) yields a double root, the arm is either in a fully stretched
or a folded-back configuration. On the other hand, if Eq. (2.86) yields no
real roots, the position is not reachable. Figure 2.10 shows two different arm
configurations, corresponding to the two solutions of 43.image
not
availableimage
not
availableimage
not
available86 —_ POSITION ANALYSIS OF SERIAL MANIPULATORS
\ A
End effector
Base
Xo
FIGURE 2.11. General 6R manipulator.
ey 0 VySO6 + Wy CHG
ey | _ 04 6 O | _ | vysag + wycas
e | AorAs |, | = U,8a%5 + w,Cog |” (2.101)
0 0 0
Equations (2.100) and (2.101) imply that once the end-effector location is
given, the point P and the direction of z-axis can be found.
The transformation between *p and °p and between *e and °e can be writ-
ten as
%p =°A,'A27A3*Ag “As *p, (2.102)
%e =A, 'A27Ay Ag Ase. (2.103)
To simplify the analysis, we multiply both sides of Eqs. (2.102) and (2.103)
by (°A; 'A2)~!. The resulting equations can be written
2
p="P, (2.104)
2— =e, (2.105)image
not
available88 —_ POSITION ANALYSIS OF SERIAL MANIPULATORS
m cagsascOs + sarycars,
Mm, = —Sat4sascOs + Cargcars,
Ny = exCO, + eysO},
ny = —excas0; + eycaycO; + esa,
Nz = &ySa18O, — eySaryCcO + e,cay.
A third equation that is free of 03 is obtained by performing the dot product
2p-2e = 2p’ - 7e’, Substituting Eqs. (2.104) and (2.105) into the dot product
and simplifying, we obtain
gM ySO2 + a2n.CO2 + (aymy + d3m,Se3)SO4 + (asm, — dymysorz)cO%4
= —ayn, — dyn, — aym, — m,(d3ca3 + dy) +k, (2.108)
where ky = —dscas + prey + pyey + (pz — diez.
A fourth equation that is free of @3 is obtained by equating the sum of the
squares of the x, y, and z components on both sides of Eq. (2.104). Expanding
Cp)? = Cp’) yields
azhysO2 + arh,CO2 + (a38y + d38xS0r3)SO4 + (a3gx — dsgySer3)CO4
= —ayh, — dphz — agg — g:(d3ca3 + da) + ko, (2.109)
where
kp = 0.5[p2 + p? + (pz — dh)? — at +a} +d} — a} —d} +a} +d} — a? — a2).
Equations (2.106) through (2.109) represent a system of four second-
degree polynomials in the sines and cosines of four joint angles. We may
consider sin 6; and cos 6; as two independent variables and add the following
trigonometric identities as supplementary equations of constraint:
s+00=1, for i=1,2,4,5. (2.110)
In this way, we obtain a system of eight second-degree polynomials in eight
variables. Tsai and Morgan employed a continuation method to solve the sys-
tem of equ: s above and showed that the most general 6-dof, 6R robot has
at most 16 significant solutions. See Appendix A for more details.
The system of equations will decouple when any three consecutive joint
axes either intersect at a common point or are parallel to one another. For
these special geometries, closed-form solutions can be derived. In what fol-
lows we illustrate the decoupling by solving the inverse kinematics of two
special cases that are most commonly implemented in industrial robots. Other
special cases can be derived by applying the kinematic inversions.DENAVIT-HARTENBERG METHOD = 89.
(a) Last Three Joint Axes Intersecting at a Common Point. When
the last three joint axes intersect at a common point, ag = as = ds = 0
identically. Substituting these values into Eqs. (2.106) and (2.109) yields
hy; ~ hycO, = 111/sexr, (2.111)
hysO> + hy) = p1/a2, (2.112)
provided that sa, 4 0 and az # 0, where
My = —h,cary + dycary + d3 + dyca3,
My = —ayhy — dah, — dydscas
+0.5[p; + DF + (Pe — di — af +05 +d} ~ a — dj - di.
Equations (2.111) and (2.112) contain only two unknown variables and
hence are completely decoupled from Eqs. (2.107) and (2.108). To eliminate
42, we sum the squares of Eqs. (2.111) and (2.112).
Ae + A = (11/s0e2)? + (12/a2)*. (2.113)
Equation (2.113) contains only one variable, @;. We may convert it into
a fourth-degree polynomial in 1; by replacing sO, with 21/(1 + 1) and c0,
with (1 — 17)/(1 + 17), where t; = tan(0,/2). Hence, for each given end-
effector position, there are at most four real solutions of @,. Once 4; is found,
a unique solution of @ can be obtained by solving Eqs. (2.111) and (2.112) si-
multaneously for s6) and c6, and then applying the two-argument arctangent
function. Following that, a unique solution of 6; can be found by solving the
two scalar equations associated with the x and y components of Eq. (2.104).
Corresponding to each solution set of (0), 42, 03), two sets of (04, 5, 6)
can be found by following the procedure outlined in the earlier example.
Hence we conclude that there are at most eight possible solutions sets (ma-
nipulator postures).
(b) Joint Axes 2, 3, and 4 Parallel to One Another. When the second,
third, and fourth joint axes are parallel to one another, a = a3 = 0 identi-
cally, Further, since the common normals between the second and third joint
axes and between the third and fourth joint axes are indeterminate, we can
always define these two common normals such that d) = d3 = 0. With these
values, Eqs. (2.106) and (2.107) reduce to
hz — dscory — d.
sass = aoe, (2.114)
Is90 POSITION ANALYSIS OF SERIAL MANIPULATORS
werycOy me AE OOM | (2.115)
Sols
provided that as # 0 and sas 4 0.
Again, Eqs. (2.114) and (2.115) contain only two unknown variables and
hence are completely decoupled from Eqs. (2.108) and (2.109). We can elim-
inate @5 by summing the squares of Eq. (2.114) and (2.115):
a (* ~ dscay =4)'5 (= tewees)!
Say =
as Sots
(2.116)
Equation (2.116) contains only one variable, @,. We may convert it into a
fourth-degree polynomial in f; by replacing s@, with 2r, /(1 +1?) and cé; with
(1 — #2)/(. + 1), where 1, = tan(@,/2). Hence for each given end-effector
position and orientation, there are at most four real solutions of @,. Once 6; is
known, a unique solution of @5 can be obtained by solving Eqs. (2.114) and
(2.115) simultaneously for s@s and c@s and then applying the two-argument
arctangent function.
When a2 = a3 = 0, the two scalar equations corresponding to the x and y
components of Eq. (2.105) reduce to
m,CO34 + mySO34 = nxCB, + nysO2, (2.117)
m,SO34 — MyCOz4 = —N,SA. + nyCO>. (2.118)
Equations (2.117) and (2.118) contain two unknown variables, 034 and @).
‘We may reduce these two equations to a single equation in one variable by the
following procedure. Subtracting Eq. (2.118) x s62 from (2.117) x c62 yields
m,COn4 + mySO24 = Ny. (2.119)
Adding Eq. (2.118) x c6 to (2.117) x s62 yields
m,SB234 — myCOaa4 = Ny. (2.120)
Hence, corresponding to each solution set of @, and 65, a unique solution of
6234 can be obtained by solving Eqs. (2.119) and (2.120) for s@234 and C6234,
and then applying the two-argument arctangent function.
Similarly, the two scalar equations corresponding to the x and y compo-
nents of Eq. (2.104) reduce to
BxCO34 + BySO34 + 43003 = hy CO + hys62 — ap, (2.121)
8x8034 — ByCO34 + 43803 = —h, 892 + hych.. (2.122)METHOD OF SUCCESSIVE SCREW DISPLACEMENTS 91
Subtracting Eq. (2.122) x s@2 from (2.121) x c62 yields
8xCO234 + BySO234 + 430023 = Ny — arc. (2,123)
Adding Eq. (2.122) x c6 to (2.121) x s62 yields
8xS0234 — 8yCO234 + 438023 = hy — 42862. (2.124)
Summing the squares of [Eq. (2.123) - hy] and [Eq. (2.124) - hy] yields
2a3(k30823 + k4s623) + ks = 0, (2.125)
where
k3 = gxCO234 + gySO234 — hy,
kg = 8x80234 — 8yCO234 — hy,
=-@+a+H +R
ks = —ay + 43 + ky + ky.
Hence, corresponding to each solution set of (0), 45, @234), Eq. (2.125)
yields two solutions of 023. Once 623 is found, Eqs. (2.123) and (2.124) yield
a unique solution of 62. We conclude that there are at most eight possible
solution sets.
2.7 METHOD OF SUCCESSIVE SCREW DISPLACEMENTS
In this section we study a method of analysis based on the concept of succes-
sive screw displacements. First, the transformation matrix associated with a
screw displacement is derived. Then the concept of the resultant screw of two
successive screw displacements is described. Then the concept is applied to
the position analysis of serial manipulators.
2.7.1 Transformation Based on Screw Displacement
Chasles’ theorem states that the general spatial displacement of a rigid body
is a translation plus a rotation. A stronger form of the theorem states that
regardless of how a rigid body is displaced from one location to another, the
displacement can be regarded as a rotation about and a translation along some
axis. Such a combination of translation and rotation is called a screw displace-
ment (Bottema and Roth, 1979). In what follows we derive a homogeneous
transformation based on the concept of screw displacement.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.METHOD OF SUCCESSIVE SCREW DISPLACEMENTS 93.
Substituting Eqs. (2.126) and (2.127) into (1.35), we obtain
P2 = 8 + 18+ (Bi —80)e8 +8 x (Pi — 50)86 + [(P1 — 5,)"S]s(1 — C8).
(2.128)
Equation (2.128) is known as Rodrigues's formula for the general spatial
displacement of a rigid body. Expanding Eq. (2.128) and replacing p, by *p
and p2 by “p, we obtain
‘p= “Rx "p+ 4q, (2.129)
where the elements of the rotation matrix, a;;, are given by Eq. (1.37), and
the position of the origin, 4q, of the moving frame is given by
Gx = t8y — Sox(Aiy — 1) — Soy@i2 — So2413,
Soy (422 — 1) ~ Soz423,
Soz(a33 — 1). (2.130)
dy = ty — SoxA21
Jz = t8z — Sox431 — Soy@32
Equation (2.129) can be written as a homogeneous transformation:
p= Ap (2.131)
where A is a4 x 4 transformation matrix the elements of which are given by
ayy = (8? — 1) — 8) +1,
12 = 5,5y(1 — 8) — 5,80,
ay3 = Sx5;(1 — cB) + sys0,
ay = Sy5x(1 — 8) + 5,50,
ay = (82 — 1I)(1 — 8) +1,
a3 = y8,(1 — €8) — 5,80,
a3 = S,5,(1 — cB) — sys0,
432 = 8,5y(1 — CO) + 5,80,
ay3 = (s? — 1I)(1 — 0) +1,
yg = Sy — Sox(A11 — 1) = Soyai2 — Sor13,
424 = tSy — Sox@21 — Soy(ax — 1) — 59723,
434 = 18, — SoxA31 — Soy@32 — Soz(@33 — 1),a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.METHOD OF SUCCESSIVE SCREW DISPLACEMENTS 95,
The translational distance is calculated by
t=q's, (2.137)
and the screw axis location is obtained by solving any two of the three equa-
tions in Eq. (2.130) along with Eq. (2.134). Since these equations are linear,
there exists one solution corresponding to each solution set of s, #, and t.
From the derivation above, it appears that there are two solutions of the
screw axis, one being the negative of the other. In reality, these two solutions
represent the same screw, since a —0 rotation about and a —f translation along
the —(s, s,) screw axis produces the same result as a + rotation about and a
+t translation along the +(s, s,) screw axis.
2.7.2 Successive Screw Displacements
We now apply the concept of screw displacements to kinematic analysis of
open-loop chains. Figure 2.13 shows a rigid body o which is guided to a
fixed base by a dyad that is made up of two kinematic pairs, denoted by $;
and $2, respectively. The first kinematic pair connects the first moving link
to the fixed base, and the second kinematic pair connects the second moving
$ (Resultant screw)
a,t
Second moving link
$4 (Moving axis)
First moving link
$, (Fixed axis)
ty
FIGURE 2.13, Two-link chain and its associated screw displacements.96 POSITION ANALYSIS OF SERIAL MANIPULATORS
link () to the first. We call the axis of the first kinematic pair the fixed joint
axis and the axis of the second kinematic pair the moving joint axis.
As the rigid body is rotated about and/or translated along these two joint
axes, we may think of its displacement as the resultant of a screw displace-
ment of (6;, t;) about the fixed joint axis followed by another displacement
of (42, 12) about the displaced moving joint axis. We may also think of the
displacement as the resultant of a screw displacement of (02, f2) about the
moving joint axis in its initial location followed by another displacement of
(6, t)) about the fixed joint axis. As a matter of fact, these two screw displace-
ments can occur in any order or simultaneously as long as the total amounts
of rotations and/or translations about these two joint axes are correct. That
is, the order in which the joint variables change their values can be arbitrary.
The changes can be one at a time in any order or simultaneous.
A difficult scheme is to consider the resultant screw, $, as a screw displace-
ment of $; about the fixed joint axis followed by another screw displacement
of $2 about the displaced moving joint axis. This is because a rotation of 6
about the fixed joint axis will displace the moving joint axis, $2, to a new
location, and this must be accounted for the subsequent displacement.
The best scheme is to rotate the rigid body o about the moving joint axis
followed by another rotation about the fixed joint axis. In this way, the initial
location of the moving joint axis can be used for derivation of the transfor-
mation matrices, and the resulting transformation matrix can be obtained by
a premultiplication of the two successive screw displacements; that is,
A, = A\A2, (2.138)
where A; and A2, denote the screw displacements about the initial locations
of the fixed and moving joint axes, respectively.
The commutative property with regard to the change in joint variables in
an open-loop chain should not be confused with the fact that finite rotations
about body-fixed (or space fixed) axes do not commute. This property was
first discovered and applied to the kinematic synthesis of spatial linkages by
Tsai and Roth (Tsai, 1972; Tsai and Roth, 1972, 1973). Gupta (1984, 1986,
1997) subsequently provided a more rigorous proof of the property and ap-
plied it for the kinematic analysis of serial manipulators.
The proposition above can be extended to an n-link serial manipulator as
shown in Fig. 2.14. Toward this goal, we first define a reference position for
the manipulator. Although the reference position can be chosen arbitrarily,
it is usually chosen at a location where the coordinates of all the joint axes
can easily be identified. The reference position is sometimes called the zero
position, and the desired position is called the target position. In this way, we
may consider the manipulator as being displaced from the reference positionMETHOD OF SUCCESSIVE SCREW DISPLACEMENTS 97
FIGURE 2.14. Screw axes of a serial manipulator.
to the target position by a series of finite screw displacements about all the
joint axes.
(a) Reference Position. The reference position of a manipulator is speci-
fied in terms of the end effector location,
Uo, Yo, Wo, and qo,
and the direction and orientation of the joint axes:
s; and sj, for i=1,2,...,n.
(b) Target Position. The target position of a manipulator is specified in
terms of the desired end-effector location:
u, v, w, and q.
(c) Loop-Closure Equation. The end-effector displacement from a ref-
erence position to a target position can be considered as the resultant of n98 POSITION ANALYSIS OF SERIAL MANIPULATORS
successive screw displacements: that is, a rotation about the nth joint axis,
followed by another about the (n — 1)th joint axis, and so on. Since all screw
displacements take place about the joint axes at the reference position, the
resulting screw displacement is obtained by premultiplying these screw dis-
placements:
An = Aj Az+++ An-1An- (2.139)
Using the method of successive screw displacements, only one fixed coor-
dinate system and one end effector coordinate system are needed. The screw
parameters used in Eq. (2.132) should not be confused with the Denavit-
Hartenberg parameters. The joint variables of a screw displacement represent
the actual angles of rotation and/or distances of translation needed to bring the
end effector from a reference position to a target position. Specifically, for a
revolute joint, 6; is a variable and t; = 0 identically, while for a prismatic
joint, 7; is a variable and 0; = 0 identically.
The D-H parameters do not represent the angle of rotation or the distance
of translation about a joint axis. To obtain the actual displacements, it is nec-
essary to subtract the joint variables associated with a reference position from
that of a target position. One of the advantages of using successive screw dis-
placements is that the reference position can be chosen arbitrarily. For ex-
ample, it can be chosen at the home position of a robot, where all the infor-
mation regarding the location of the end effector and the locations of the joint
axes are known.
For direct kinematics, we compute Eq. (2.139) directly by using the given
joint variables. For inverse kinematics, the left-hand side of Eq. (2.139) is
given and the problem is to find the joint displacements needed to bring the
hand to a desired location.
2.7.3. Position Analysis of an Elbow Manipulator
Figure 2.15 shows the schematic diagram of an elbow manipulator. In this
manipulator, the second joint axis intersects the first perpendicularly, the third
and fourth joint axes are parallel to the second, the fifth joint axis is perpen-
dicular to the fourth with a small offset distance a4, and the sixth joint axis
intersects the fifth perpendicularly. We wish to solve the inverse kinematics
problem of this manipulator using the method of successive screw displace-
ments.
(a) Reference Position. First we identify a reference configuration with
respect to which the displacement of the manipulator will be measured. Fig-
ure 2.16 shows such a reference configuration, where the first joint axis, $1,a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.100 POSITION ANALYSIS OF SERIAL MANIPULATORS.
TABLE 2.5. Screw Axis Locations of the Elbow
Manipulator
Joint é 5; Soi
1 0,01) (0,0,0)
2 (0, ~1,0) (0,0, 0)
3 (0, ~1,0) (a2, 0,0)
4 (0, 1,0) (az + 43,0, 0)
5 (0,0, 1) (a +43 +44, 0,0)
6 (1,0, 0) 00,0)
positive z-direction. At this reference position, the locations of the screw axes
with respect to the fixed reference frame are listed in Table 2.5. The reference
position of the end effector is
up = [0,0,1]", vo =[0,-1,0]", wo=[1,0,0]", and
Po = [a2 +3 + a4, 0,0)".
(6) Target Position. Let the target position of the end effector be
UH [ux My Ue], V=[de. Vy, Ue)", W= [wx, Wy, wz)", and
P= [Px. Py. Pel"
(c) Transformation Matrices. Substituting the coordinates of the joint
axes into Eq. (2.132), we obtain the screw transformation matrices:
6, -st, 0 0 cA, 30 0 0
_ | 8 ch 0 0 -1_ | —s0 04 0 0
A=l"o 0 rol D"=] 0° 0 1 of:
0 0 Ot 0 001
ch, 0 sh, 0
Au|o® } 0 0
2] sh 0 ch 0}
00 0 18
8; 0 —s6; ax(1 — C63)
au|o 1 0 0
3 1 50, 0 COs —ars03
00 0 Ia
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.102 POSITION ANALYSIS OF SERIAL MANIPULATORS
Substituting Aj! and Eq. (2.140) into (2.143) yields
PxCO, + pySOy = A282 + a3C823 + a4CO234, (2.144)
—Pxs0 + pyc = 0, (2.145)
Pz = 42802 + 438023 + a480254. (2.146)
From Eq. (2.145), two solutions of ; are found immediately:
6) = tan"! im (2.147)
"
For this manipulator, the position and orientation are not decoupled. There-
fore, we need to work on both simultaneously. Applying the transformation
matrix to the approach vector w gives.
Riw = RoRsRaRsWo, (2.148)
where R; denotes the upper left 3 x 3 submatrix of Aj. Expanding Eq. (2.148),
we obtain
w,CO, + wWy8O, = CO234C05, (2.149)
—W,SO; + wycO = SOs, (2.150)
W, = 86234005. (2.151)
Corresponding to each solution of 4, Eq. (2.150) yields two solutions of 05:
45 = sin~'(—w,S0) + wyc6s). (2.152)
‘That is, if @5 = 0% is a solution, 45 = 2 — 8 is also a solution. Once 6; and
05 are known, Eqs. (2.149) and (2.151) can be solved for s@234 and c6234. This
leads to a unique solution for 0233:
O234 = Atan2 [w,/c8s, (Wye) + wys01)/cOs] . (2.153)
Next, we solve Eqs. (2.144) and (2.146) for @) and @3. For convenience, we
rewrite Eqs. (2.144) and (2.146) as follows:
4202 + 430023 = ky, (2.154)
780, + 038023 = kp, (2.155)METHOD OF SUCCESSIVE SCREW DISPLACEMENTS = 103.
where ky = p,CO + pysO, — a4cO234 and ky = p, — a48Ox4. Summing the
squares of Egs. (2.154) and (2.155), we obtain
a} + a5 + 2ara3c03 = kf + kj. (2.156)
Hence
ki +K-a a}
03 = cos
2 2ara3
(2.157)
Therefore, corresponding to each solution set of 4), 05, and 0234, there are at
most two real solutions of 63. Namely, if 0} is a solution, 6; = —03 is also
a solution. Once @; is known, 62 can be obtained by solving Eqs. (2.154)
and (2.155) simultaneously for s#2 and c@. This produces one solution of 02.
Finally, the solutions of 04 are obtained from the relation 64 = 6234 — 2 — 43.
To solve for 6, we apply the transformation to the unit vector u:
(Ry R2R3Rs)"a = Rs Roto. (2.158)
Expanding Eq. (2.158), we obtain
UxCO)CO234 + UySO1CO234 + U2SA234 = 895806, (2.159)
USO, + UyCO, = —COssO6, (2.160)
—UCO)SO234 — UySA)SO234 + UzCO234 = C6. (2.161)
We can solve Eqs. (2.159) and (2.160) for s46:
806 = 85(U CO) CO234 +t ySO1CO234-+U 80234) —CO5(—u SO; +uycO)). (2.162)
Equations (2.161) and (2.162) together determine a unique solution for 46:
6 = Atan2(s6, C86). (2.163)
We conclude that there are at most eight real inverse kinematic solutions.
2.7.4 Position Analysis of the Stanford Arm
Figure 2.17 shows a 6-dof manipulator developed at Stanford University
(Scheinman, 1969). In this manipulator, the third joint is a prismatic joint (or
sliding pair) while all the others are revolute. The first joint axis, $,, points
up vertically in the positive z-direction. The second joint axis, $2, intersects
the first perpendicularly at point A and points in the positive x-direction. The
third joint axis intersects the second perpendicularly at point B and points104 POSITION ANALYSIS OF SERIAL MANIPULATORS.
FIGURE 2.17. Screw axes associated with the Stanford manipulator.
in the positive y-direction. The fourth joint axis is in line with the third.
Furthermore, the last three joint axes intersect one another perpendicularly at
the wrist center point P as shown in Fig. 2.17.
(a) Reference Position. The reference position is chosen at the location
where the wrist center point P is retracted back into coincident with B. At
this reference position, the locations of the joint axes with respect to the fixed
coordinate system are listed in Table 2.6, where g denotes the offset distance
between the first and third joint axes.
The reference position of the end effector is given by
uy =[1,0,0]", vo =[0,0,—1]", wo =0, 1,0)", and
Go = [g.h, 01".METHOD OF SUCCESSIVE SCREW DISPLACEMENTS 105
TABLE 2.6. Screw Axis Locations of the Stanford Arm
Joint i 8 (Sx, Sys S2) Soi (Sox» Soy, S02)
1 (0,0, 1) (0, 0,0)
2 (1,0,0) (0,0,0)
3 (0, 1,0) (g,0,0)
4 (0, 1,0) (g, 0,0)
5 (0,0, 1) (g, 0,0)
6 , 1,0) (g,0,0)
Furthermore, the reference position of the wrist center P is given by
Po = [g, 0, 0)".
(b) Target Position. Let the target position of the end effector be
u= (ux. uy, Ue)", V= [Ue dy, 0), W= [ws wy, wz)", and
4 = [as 9. 92)"
Then the target position of the wrist center is given by
pP=q-—hw, (2.164)
where h is the distance between points P and Q.
In what follows, we first relate the position of the wrist center P to the first
three joint variables. Then we solve the last three joint variables in terms of
the end-effector orientation.
(c) Wrist Center Position. We observe that the position of the wrist center
P depends only on the first three joint variables, 6;, 2, and d3. Substituting
the coordinates of the first three joint axes into Eq. (2.132), we obtain
ch sh 0 0 1 0 0 0 100 0
AjAnAy =| 81 8% 9 OF} 0 c& -s% O}]0 1 0 dy
MPSS) 9 0 1 Of 10 sh c Of/001 0
0 0 o1 0 0 ool oootl
cA; —s0\cO, 80,80. —d3s0,cOz
= | 801 ©81c82 =~ C888. d3c0\c82 (2.165)
0 S02 cy 43802
0 0 0 1a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.METHOD OF SUCCESSIVE SCREW DISPLACEMENTS 107,
double root if the target point falls on the cylinder (p? + p; — g? = 0), and (3)
no real roots if the target point falls inside the cylinder (p? + Pr —g? <0).
When the target point falls outside the cylinder, Eq. (2.171) also yields two
real roots.
Once d; and 62 are known, we can solve Eqs. (2.167) and (2.168) simulta-
neously for sO, and cO;:
_ &Px t+ dspychz
0) = : 2.173)
_ 82 + dic, ‘ »
SPy — dsp xCOn
so = SBOP 2.174)
90 = en (2.174)
Therefore, corresponding to each solution set of 62 and 43, Eqs. (2.173) and
(2.174) yield one solution of 6;:
6, = Atan2(s6), cO;). (2.175)
We conclude that corresponding to each given end-effector location, there
are at most four upper arm configurations.
(d) End-Effector Orientation. We now proceed to find the last three joint
angles. The end-effector orientation depends only on the rotational part of the
transformation matrices A;. Substituting the coordinates of the last three joint
axes into Eq. (2.132), we obtain
c6, 0 sO, |] [cbs —sbs 0 cH «0 8665
R4yRs Ro = 0 1 0 sb; cbs 0 0 1 0
—s04 0 cO4 0 0 ol —s06 0
CO4COSCH — SO4805 —CO4SA5 — CO4CO5S05 + SO4CO5
= SO5CO, COs 05806 ,
—SO4COsCO — CO48% — SO4805 — —SO4CO5SO5 + CO4CO5
(2.176)
where R; denotes the upper left 3 x 3 submatrix of Aj.
The transformation of the approach vector w is
w= Ri R2R3RyRsRoWo- (2.177)
Multiplying both sides of Eq. (2.177) by (R; R2R3)~!, we obtain
RYRIRIw = RyRsRowo. (2.178)a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.REFERENCES 109
where
= u,cO; + uysh,
Suy = (—Ux80, + uyCO1)cO> + u,802,
Suz = (Ux8O, — UyCO,)8O2 + uzCO2.
Multiplying Eq. (2.186) by s0, and (2.188) by c#4 and summing produces
8043 + C4 *u, = —805. (2.189)
From Eqs. (2.187) and (2.189), we obtain a unique solution for 4:
5 = Atan2(—sO4 34x — cO4>u,, >uy/s05). (2.190)
We conclude that corresponding to a given end-effector location, there are
up to eight inverse kinematics solutions, but only four are physically realiz-
able.
2.8 SUMMARY
In this chapter, two methods for solving the inverse kinematics of serial ma-
nipulators have been presented. First, the Denavit-Hartenberg parameters
were defined. Then the D-H transformation matrices were developed for
derivation of the kinematic equations. The D-H method was demonstrated by
a planar 3-dof manipulator, the Scorbot robot, and the Fanuc S-900W robot.
In addition, Tsai and Morgan’s solution for the cases of three intersecting
joint axes and three parallel joint axes was presented. Second, the concept of
successive screw displacements and its application to the inverse kinematics
of serial manipulators were described. It is shown that the inverse kinematics
can be solved in a straightforward manner by applying the method of succes-
sive screw displacements. The inverse kinematics of an elbow manipulator
and the Stanford manipulator were solved to illustrate the concept.
REFERENCES
Albala, H., 1982, “Displacement Analysis of the General N-Bar, Single-Loop, Spa-
tial Linkages,” ASME J. Mech, Des., Vol. 104, No. 2, pp. 504-525.
Albala, H. and Angeles, J., 1979, “Numerical Solution to the Input-Output Displace-
ment Equation of the General 7R Spatial Mechanism,” Proc, Sth World Congress
on Theory of Machines and Mechanisms, pp. 1008-1011
Bottema, O. and Roth, B., 1979, Theoretical Kinematics, North Holland, New York.110 POSITION ANALYSIS OF SERIAL MANIPULATORS
Chase, M. A., 1963, “Vector Analysis of Linkages,” ASME J. Eng. Ind., Vol. 85, pp.
289-297.
Denavit, J. and Hartenberg, R. S., 1955, “A Kinematic Notation for Lower Pair
Mechanisms Based on Matrices,” ASME J. Appl. Mech., Vol. 77, pp. 215-221.
Duffy, J., 1980, Analysis of Mechanisms and Robot Manipulators, Wiley, New York.
Duffy, J. and Crane, C., 1980, “A Displacement Analysis of the General Spatial 7R
Mechanism,” Mech. Mach. Theory, Vol. 15, pp. 153-169.
Duffy, J. and Rooney, J., 1975, “A Foundation for a Unified Theory of Analysis of
Spatial Mechanisms,” ASME J. Eng. Ind., Vol. 97, No. 4, pp. 1159-1164.
Freudenstein, F., 1973, “Kinematics: Past, Present, and Future,” Mech. Mach. The-
ory, Vol. 8, No. 2, pp. 151-161.
Gupta, K. C., 1984, “A Note on Position Analysis of Manipulators,” Mech. Mach.
Theory, Vol. 19, pp. 5-8.
Gupta, K. C., 1986, “Kinematic Analysis of Manipulators Using Zero Reference
Position Description,” Int. J. Robot. Res., Vol. 5, No. 2, pp. 5-13.
Gupta, K. C., 1997, Mechanics and Control of Robots, Springer-Verlag, New York.
Kohli, D. and Soni, A. H., 1975, “Kinematic Analysis of Spatial Mechanisms via
Successive Screw Displacements,” ASME J. Eng. Ind., Vol. 97, No. 2, pp. 739-
747.
Lee, H. Y. and Liang, C. G., 1988a, “A New Vector Theory for the Analysis of Spatial
Mechanisms,” Mech. Mach. Theory, Vol. 23, No. 3, pp. 209-217.
Lee, H. Y. and Liang, C. G., 1988b, “Displacement Anal: of the General Spatial
7-Link 7R Mechanism,” Mech. Mach. Theory, Vol. 23, No. 3, pp. 219-226.
Pennock, G. R. and Yang, A. T., 1985, “Application of Dual-Number Matrices to the
Inverse Kinematics Problem of Robot Manipulators,” ASME J. Mech. Transm.
Autom. Des., Vol. 107, No. 2, pp. 201-208.
Pieper, D., 1968, “The Kinematics of Manipulators Under Computer Control,” Ph.D.
jissertation, Department of Mechanical Engineering, Stanford University, Stan-
ford, CA.
Pieper, D. L. and Roth, B., 1969, “The Kinematics of Manipulators Under Com-
puter Control,” Proc. 2nd International Congress for the Theory of Machines and
Mechanisms, Zakopane, Poland, Vol. 2, pp. 159-168.
Primrose, E. J. F., 1986, "On the Input-Output Equation of the General 7R-
Mechanism,” Mech. Mach. Theory, Vol. 21, No. 6, pp. 509-510.
Raghavan, M. and Roth, B., 1989, “Kinematic Analysis of the 6R Manipulator of
General Geometry,” Proc. 5th International Symposium on Robotics Research,
edited by H. Miura and S. Arimoto, MIT Press, Cambridge, MA; preprint 1989,
final 1990.
Raghavan, M. and Roth, B., 1990, “A General Solution for the Inverse Kinematics
of All Series Chains,” Proc. 8th CISM-IFToMM Symposium on Robots and Ma-
nipulators (ROMANSY-90), Cracow, Poland.EXERCISES «= 111
Roth, B., Rastegar, J., and Scheinman, V., 1973, “On the Design of Computer Con-
trolled Manipulators; On the Theory and Practice of Robots and Manipulators,”
Proc. First CISM-IFToMM Symposium, Vol. 1, pp. 93-113.
Scheinman, V., 1969, “Design of Computer Controlled Manipulators,” Report AIM
92, Stanford Artificial Intelligence Laboratory, Stanford, CA.
Tsai, L. W., 1972, “Design of Open-Loop Chains for Rigid Body Guidanc
dissertation, Department of Mechanical Engineering, Stanford University, Stan-
ford, CA.
Tsai, L. W. and Morgan, A., 1985, “Solving the Kinematics of the Most General Six-
and Five-Degree-of-Freedom Manipulators by Continuation Methods,” ASME J.
Mech. Transm. Autom. Des., Vol. 107, Sune, pp. 189-200.
Tsai, L. W. and Roth, B., 1972, “ Design of Dyads with Helical, Cylindrical, Spher-
ical, Revolute, and Prismatic Joints,” Mech. Mach. Theory, Vol. 7, pp. 85-102.
Tsai, L. W. and Roth, B., 1973, “Incompletely Specified Displacement: Geometry
and Spatial Linkage Synthesis,” ASME J. Eng. ind., Vol. 95, Ser. B, No. 2, pp-
603-611.
Uicker, J. J., Denavit, J., and Hartenberg, R. S., 1964, “An Iterative Method for Dis-
placement Analysis of Spatial Mechanisms,” ASME J. Appl. Mech., Vol. 86, Ser.
E, No. 2, pp. 309-314.
Yang, A. T., 1969, “1 lacement Analysis of Spatial Five-Link Mechanisms Using
(3 x 3) Matrices with Dual-Number Elements,” ASME J. Eng. Ind., Vol. 9, No. 1,
pp. 152-157.
Yang, A. T. and Freudenstein, F., 1964, “Application of Dual Number Quarterian
Algebra to the Analysis of Spatial Mechanisms,” ASME J. Appl. Mech., Vol. 86,
pp. 300-308.
Yuan, M. S. C. and Freudenstein, F., 1971, “Kinematic Analysis of Spatial Mecha-
nisms by Means of Screw Coordinates,” ASME J. Eng. Ind., Vol. 93, No. 1, pp.
61-73,
EXERCISES
1. Figure 2.18 shows an alternative method of coordinate frame assignment
for the SCARA arm. Establish the D-H transformation matrices. Com-
pare these transformation matrices with those given in Eqs. (2.9) through
(2.12). Are there other methods of assigning the coordinate frames?
2.
Figure 2.19 shows a spatial 3-dof, 3R manipulator where the second joint
axis is perpendicular to the first while the third joint axis is parallel to the
second. Establish the D-H and overall transformation matrices ‘~'4; for
i=1,2,...,4 and %Ay.
3. For the elbow manipulator shown in Fig. 2.15, establish the D-H and
overall transformation matrices ‘~'A; for i = 1,2,...,6and "Ag.112 POSITION ANALYSIS OF SERIAL MANIPULATORS
FIGURE 2.18. Alternative method of frame assignment for the SCARA arm.
FIGURE 2.19, Spatial 3-dof, 3R manipulator.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.114
9
10,
11.
12,
POSITION ANALYSIS OF SERIAL MANIPULATORS
tation, q and u, v, w. Under what conditions will the manipulator possess
no real solutions?
Solve the inverse kinematics of the 3-dof manipulator shown in Fig. 2.19
using the vector-loop approach.
Solve the inverse kinematics of the 4~-dof SCARA arm shown in Fig. 2.4
using the vector-loop approach.
For the 3-dof manipulator shown in Fig. 2.19, find the joint angles needed
to bring the end effector to a given position q using the method of suc-
cessive screw displacements.
Figure 2.21 shows a reference position of the Scorbot robot. At this ref-
erence position, the first joint axis points up vertically along the positive
z-direction; the second, third, and fourth joint axes point out of the paper,
the fifth joint axis points to the right and intersects the fourth at P. The
wrist center is located at Q. Solve the inverse kinematics problem using
the method of successive screw displacements.
FIGURE 2.21. Reference position of the Scorbot robot.
Figure 2.22 shows a reference position of the Fanuc S-900W robot. Solve
the inverse kinematics using the method of successive screw displace-
ments.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.CHAPTER 3
POSITION ANALYSIS OF
PARALLEL MANIPULATORS
3.1 INTRODUCTION
In this chapter, the position analysis of a class of spatial multi-dof mech-
anisms known as parallel manipulators is studied. Parallel manipulators are
classified as planar, spherical, or spatial manipulators in accordance with their
motion characteristics. Then the direct and inverse kinematics of several par-
allel manipulators are analyzed.
As shown in Fig. 3.1, a parallel manipulator typically consists of a moving
platform that is connected to a fixed base by several limbs or legs. Typically,
the number of limbs is equal to the number of degrees of freedom such that
every limb is controlled by one actuator and all the actuators can be mounted
at or near the fixed base. For this reason, parallel manipulators are sometimes
called platform manipulators. Because the external load can be shared by the
actuators, parallel manipulators tend to have a large load-carrying capacity.
Parallel manipulators can be found in many applications, such as air-
plane simulators (Stewart, 1965), adjustable articulated trusses (Reinholtz
and Gokhale, 1987), mining machines (Arai et al., 1991), pointing devices
(Gosselin and Hamel, 1994), and walking machines (Waldron et al., 1984).
Recently, it has also been developed as a high-speed, high-precision, multi-
dof machining center, shown in Fig. 3.1 (Giddings & Lewis, 1995).
The design of parallel manipulators can be dated back to 1962, when
Gough and Whitehall (1962) devised a six-linear jack system for use as a
universal tire-testing machine. Stewart (1965) designed a platform manipula-
tor for use as an aircraft simulator in 1965. Hunt (1983) made a systematic
116INTRODUCTION = 117
FIGURE 3.1. VARIAX® machining center. (Courtesy of Giddings & Lewis Machine Tools,
Fond du Lac, Wisconsin.)
study of the kinematic structure of parallel manipulators. Since then, parallel
manipulators have been studied extensively by numerous researchers (Clearly
and Arai, 1991; Fichter, 1986; Grffis and Duffy, 1989; Innocenti and Parenti-
Castelli, 1990; Mohamed and Duffy, 1985; Nanua et al., 1990; Zhang and
Song, 1994).
Most of the 6-dof parallel manipulators studied to date consist of six ex-
tensible limbs. These parallel manipulators possess the advantages of high
stiffness, low inertia, and large payload capacity. However, they suffer the
problems of relatively small useful workspace and design difficulties. Fur-
thermore, their direct kinematics is a very difficult problem. Perhaps, the only
six-limbed, 6-dof parallel manipulators for which closed-form direct kine-
matic solutions have been reported in the literature are special forms of the
Stewart-Gough platform (Chen and Song, 1994; Grffis and Duffy, 1989; Hu-
sain and Waldron, 1994; Lin et al., 1994; Nanua et al., 1990). In these special
forms, pairs of concentric spherical joints may present manufacturing prob-
lems. As to the general Stewart—Gough platform, researchers have to resort
to numerical techniques for the solutions. Raghavan (1993) applied the con-
tinuation method, while Innocenti and Parenti-Castelli (1993a) developed an
exhaustive monodimensional search algorithm to solve the direct kinematics
of the general Stewart-Gough platform.118 POSITION ANALYSIS OF PARALLEL MANIPULATORS
Other variations of the Stewart-Gough platform have also been proposed
in an attempt to overcome the aforementioned shortcomings. See Clavel
(1988), Hudgens and Tesar (1988), Kohli et al. (1988), Lee and Shah (1987),
Pierrot et al. (1990, 1991), Sternheim (1987), Tahmasebi and Tsai (1994,
1995), Tsai (1996), Tsai and Tahmasebi (1993), and Tsai et al. (1996) for
examples.
3.2 STRUCTURE CLASSIFICATION
OF PARALLEL MANIPULATORS
A parallel manipulator is said to be symmetrical if it satisfies the following
conditions:
1, The number of limbs is equal to the number of degrees of freedom of
the moving platform.
2. The type and number of joints in all the limbs are arranged in an iden-
tical pattern.
3. The number and location of actuated joints in all the limbs are the same.
When the conditions above are not satisfied, the manipulator is called
asynmetrical. In this chapter we are concerned primarily with symmetrical
manipulators, We observe that in a symmetrical manipulator the number of
limbs, m, is equal to the number of degrees of freedom, F, which is also equal
to the total number of loops, L + I (including the external loop); that is,
m=F=L+1. G1)
Let the connectivity, Cy, of a limb be the degrees of freedom associated
with all the joints in the limb. It follows that
i
ye = Vie (3.2)
kal
where j is the number of joints in a mechanism. Substituting Eq. (1.8) into
(3.2) and eliminating L by making use of (3.1), we obtain
Me:
Ce=A+1)F-A. (3.3)
Furthermore, the connectivity of each limb should not be greater than the
motion parameter and less than the degrees of freedom of the moving plat-STRUCTURE CLASSIFICATION OF PARALLEL MANIPULATORS 119
form; that is,
A>CQh> F. (3.4)
Equations (3.3) and (3.4) are useful for enumeration and classification of par-
allel manipulators. Parallel mechanisms can generally be classified as planar,
spherical, or spatial mechanisms. In what follows, we discuss the enumera-
tion of each of these three types of manipulators.
3.2.1 Planar Parallel Manipulators
For planar 3-dof, three-limbed parallel manipulators, we have 4 = 3 and
m = F = 3, Substituting 4 = 3 and F = 3 into Eq. (3.3), we obtain
Ci + Cr+ C3 =4F — (3.5)
At the same time, Eq. (3.4) reduces to
3>Q,>3. (3.6)
Hence the connectivity of each limb should be equal to 3; that is, each limb
should have 3 degrees of freedom in its joints. Assuming that each limb con-
sists of two links and three joints, each joint must be a 1-dof joint. Using
revolute and prismatic joints as the kinematic pairs, we obtain seven possi-
ble limbs arrangements: RRR, RRP, RPR, PRR, RPP, PRP, and PPR.
Further, if we limit ourselves to manipulators with three identical limb struc-
tures, only seven 3-dof planar parallel manipulators are feasible.
Figure 3.2 shows a planar 3-dof parallel manipulator using the 3R RR limb
structure (Gosselin and Angeles, 1988); Figure 3.3 shows a planar 3-dof par-
allel manipulator using the 3P RP limb structure, where the three revolute
joint axes are perpendicular to the plane of motion while the prismatic joint
axes lie on the plane of motion (Mohammadi et al., 1993).
3.2.2 Spherical Parallel Manipulators
The motion parameter for spherical mechanisms is also equal to 3. Hence
the connectivity requirement for spherical parallel manipulators is identical
to that of planar parallel manipulators. For spherical linkage manipulators,
the only permissible joint typ: the revolute joint, and all the joint axes
must intersect at a common point, called the spherical center. Hence the only
possible limb structure is the RRR configuration. The manipulator shown in
Fig. 1.21 is a 3-dof, 3RRR spherical parallel manipulator.
We note that one spherical joint can be installed at the center of a spher-
ical parallel manipulator. However, such a spherical joint can only be useda
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.STRUCTURE CLASSIFICATION OF PARALLEL MANIPULATORS = 121
as a passive joint, since it cannot be actuated by existing actuators. Hence, if
a spherical joint is used, three additional limbs would be needed for parallel
actuation of the moving platform. In this case, the number of limbs, including
the limb with a spherical joint of zero length, is no longer equal to the num-
ber of degrees of freedom. Readers can refer to several articles related to the
design and analysis of spherical parallel manipulators (Gosselin and Ange-
les, 1989; Gosselin and Hamel, 1994; Innocenti and Parenti-Castelli, 1993b;
Wohlhart, 1994).
3.2.3 Spatial Parallel Manipulators
Substituting 4 = 6 into Eqs. (3.3) and (3.4) for spatial mechanisms, we obtain
a= -6 3.7)
7
and
6>C,.2>F. (3.8)
Solving Eqs. (3.7) and (3.8) simultaneously for positive integers of Cy, k =
1,2, 3,..., we can classify spatial parallel manipulators according to their de-
grees of freedom and connectivity listing as given in Table 3.1 (Hunt, 1983).
The number of links incorporated in each limb can be any as long as the
sum of all joint freedoms is equal to the required connectivity. The maximum
number of links occurs when all the joints are 1-dof joints. In practice, it is
desirable to employ just two major links connecting the moving platform to
TABLE 3.1. Classification of Spatial Parallel Manipulators
Degrees of Number of Sum of All Connectivity
Freedom Loops Joint Freedoms ;
F L Lifi
2 1 8 44
33
6.2
3 2 15 555
65,4
6.63
4 3 2 6.6.5.5
6.6.6.4
5 4 29 66,6,6,5
6 5 36 6,6,6,6,6,6a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.DENAVIT-HARTENBERG METHOD VERSUS GEOMETRIC METHOD = 123
the 2-, 3-, and 6-dof parallel manipulators. For example, the 6-dof machining
center developed by Giddings & Lewis (1995) shown in Fig. 3.1 has a con-
nectivity listing of (6,6,6,6,6,6). Six 6U PS limbs connect a moving platform
to the fixed base. The prismatic joint in the middle of each limb is driven by a
dc motor using a linear ball screw as the force transmission mechanism. Ex-
tending and retracting of the limbs alter the location of the moving platform
on which a spindle is mounted, making six-axis machining feasible.
3.3 DENAVIT-HARTENBERG METHOD VERSUS
GEOMETRIC METHOD
In this section we present the Denavit—Hartenberg matrix method of anal-
ysis. To facilitate the analysis, a Cartesian coordinate system is defined on
each link in accordance with the Denavit-Hartenberg convention as shown
in Fig. 3.5. Unlike open-loop manipulators, all the coordinate systems in a
closed-loop mechanism are defined completely by the geometry of the link-
age. In particular, the end-effector (nth) coordinate system coincides with the
base (zeroth) coordinate system.
FIGURE 3.5. Closed-loop mechanism and its D-H parameters.124 POSITION ANALYSIS OF PARALLEL MANIPULATORS
A change of coordinates between the ith coordinate system and the
(i — 1)th coordinate system is given in Eq. (2.2). When the change of co-
ordinates is taken in succession, the corresponding matrices are multiplied.
When all the changes of coordinates are taken, starting from the (xo, Yo, Zo)
system, going around the chain, and returning to the (xo, yo, zo) system, the
resulting matrix of transformation is given by °A; 'A>-++ "~7Ay—1"~'An. But
this transformation is an identity transformation because of the return to the
original system. Hence we can write
Ay "Agee "Ay Ay =D, 3.9)
where / is a4 x 4 identity matrix.
For a multiple-loop mechanism, we formulate the loop-closure equation
above once for each independent loop of the mechanism to obtain a set of
constraint equations. We note that a universal joint can be modeled by two
intersecting revolute joints, and a spherical joint can be modeled by three
intersecting revolute joints.
Although the Denavit~Hartenberg method is very general, the method is
complicated by the existence of multiple closed loops. For parallel manipula-
tors, it is often more convenient to employ the geometric method. Generally,
a vector-loop equation is written for each limb, and the passive joint variables
are eliminated among these equations. In the following sections, we analyze
the kinematics of several parallel manipulators to illustrate the methodology.
3.4 POSITION ANALYSIS OF A PLANAR 3RRR
PARALLEL MANIPULATOR
For the planar 3-dof parallel manipulator shown in Fig. 3.2, the three fixed
pivots P, Q, and R define the geometry of a fixed base, and the three moving
pivots A, B, and C define the geometry of a moving platform. Three limbs
connect the moving platform at points A, B, and C to the fixed base at points
P, Q, and R by revolute joints. Each limb consists of two links connected
by a revolute joint. Together, the mechanism consists of eight links and nine
revolute joints. The degrees of freedom of the mechanism are computed from
Eq. (1.4):
Feakn-j-l)+)) fi =38-9-1)4+9=3.
7
Hence the mechanism has 3 degrees of freedom. We consider the moving
platform as the output link and links PD, QE, and RF as the input links.
Thus all actuators can be installed on the fixed base.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.a
You have either reached 2 page thts unevalale fer vowing or reached your ievina tit for his
book.\
=o
=S=r
x
Printed in the United States
42108LVS00003BA/23