Handbook of Robotics Chapter 1: Kinematics
Handbook of Robotics Chapter 1: Kinematics
Chapter 1: Kinematics
1 Kinematics 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Position and Orientation Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Representation of Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Representation of Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Rotation Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Euler Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Fixed Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Angle-Axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Homogeneous Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.4 Screw Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.5 Plücker Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Joint Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Revolute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Prismatic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 Helical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4 Cylindrical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.5 Spherical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.6 Planar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.7 Universal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.8 Rolling Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.9 Holonomic and Non-Holonomic Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.10 Generalized Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Geometric Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.1 Closed-Form Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Algebraic Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Geometric Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.2 Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Symbolic Elimination Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Continuation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Iterative Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8 Forward Instantaneous Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8.1 Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.9 Inverse Instantaneous Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
i
CONTENTS ii
iii
List of Tables
iv
Chapter 1
Kinematics
Kinematics is the geometry of motion, which is to say from the specified values of the manipulator’s joint vari-
geometry with the addition of the dimension of time. ables. Inverse kinematics is the determination of the
values of the manipulator’s joint variables required to
It pertains to the position, velocity, acceleration, and all
higher order derivatives of the position of a body in spacelocate the end-effector in space with a specified position
without regard to the forces that cause the motion of the and orientation. The problems of forward and inverse
body. Since robotic mechanisms are by their very essence instantaneous kinematics are analogous, but address
designed for motion, kinematics is the most fundamental velocities rather than positions. While kinematics does
aspect of robot design, analysis, control, and simulation. not consider the forces that generate motion, kinematic
Unless explicitly stated otherwise, the kinematic de- velocity analysis is closely related to static wrench analy-
scription of robotic mechanisms typically employs a num- sis. The Jacobian that maps the joint velocities to the
ber of idealizations. The links that compose the robotic end-effector velocity also maps the end-effector’s trans-
mechanism are assumed to be perfectly rigid bodies hav- mitted static wrench to the joint forces/torques that
ing surfaces that are geometrically perfect in both posi- produce the wrench.
tion and shape. Accordingly, these rigid bodies are con- The goal of this chapter is to provide the reader with
nected together at joints where their idealized surfaces an overview of different approaches to representing the
are in complete contact without any clearance between position and orientation of a body in space and algo-
them. The respective geometries of these surfaces in con- rithms to use these approaches in solving the problems
tact determine the freedom of motion between the two of forward kinematics, inverse kinematics, and static
links, or the joint kinematics. In an actual robotic wrench transmission for robotic manipulators.
mechanism, these joints will have some physical limits
beyond which motion is prohibited. The workspace of
a robotic manipulator is determined by considering the
1.1 Introduction
combined limits and freedom of motion of all of the joints It is necessary to treat problems of the description and
within the mechanism. displacement of systems of rigid bodies since robotic
A common task for a robotic manipulator is to locate mechanisms are systems of rigid bodies connected by
its end-effector in a specific position and with a specific kinematic joints. Among the many possible topologies
orientation within its workspace. Therefore, it is critical in which systems of bodies can be connected, two are of
to have a representation of the position and orientation of particular importance in robotics: serial chains and fully
a body, such as an end-effector, in space. While there are parallel mechanisms. A serial chain is a system of rigid
in principle an infinite number of ways to describe the po- bodies in which each member is connected to two others,
sition and orientation of a body in space, this chapter will except for the first and last members that are each con-
provide an overview of the representations that are par- nected to only one other member. A fully parallel mech-
ticularly convenient for the kinematic analysis of robotic anism is one in which there are two members that are
mechanisms. Regardless of the selected representation, connected together by multiple joints. In practice, each
two fundamental kinematic problems arise for robotic “joint” is often itself a serial chain. This chapter focuses
manipulators. Forward kinematics is the determina- almost exclusively on serial chains. Parallel mechanisms
tion of the position and orientation of the end-effector are dealt with in more detail in Chapter 13 Kinematic
1
CHAPTER 1. KINEMATICS 2
Structure and Analysis. the projections of the vector j pi onto the corresponding
Obviously, the draft of this chapter in its current form axes. The vector components could also be expressed
is incomplete. It is missing figures and tables. It is short as the spherical or cylindrical coordinates of Oi in the j
on references in many places. The later sections are par- frame. Such representations have advantages for analysis
ticularly inadequate in their present form. This Intro- of robotic mechanisms including spherical and cylindrical
duction section itself is essentially yet to be written. joints.
A translation is a displacement in which no point in the
rigid body remains in its initial position and all straight
1.2 Position and Orientation lines in the rigid body remain parallel to their initial ori-
Representation entations. The translation of a body in space can be
represented by the combination of its position prior to
Spatial, rigid body kinematics can be viewed as a com- the translation and its position following the translation.
parative study of different ways of representing the po- Conversely, the position of a body can be represented as a
sition and orientation of a body in space. Translations translation that takes the body from a position in which
and rotations, referred to in combination as rigid body the coordinate frame fixed to the body coincides with the
displacements, are also expressed with these representa- fixed coordinate frame to the current position in which
tions. No one approach is optimal for all purposes, but the two fames are not coincident. Thus, any representa-
the advantages of each can be leveraged appropriately to tion of position can be used to create a representation of
facilitate the solution of different problems. displacement, and vice-versa.
The minimum number of coordinates required to lo-
cate a body in Euclidean space is six: three for position 1.2.2 Representation of Orientation
and three for orientation. Many representations of spa-
tial position and orientation employ sets with superabun- There is significantly greater breadth in the representa-
dant coordinates in which auxiliary relationships exist tion of orientation than in that of position. This section
among the coordinates. The number of independent aux- does not include an exhaustive summary, but focuses on
iliary relationships is the difference between the number the representations most commonly applied to robotic
of coordinates in the set and six. manipulators.
This chapter and those that follow it make frequent A rotation is a displacement in which at least one point
use of “coordinate reference frames” or simply “frames”. of the rigid body remains in its initial position and not
A coordinate reference frame i consists of an origin, de- all lines in the body remain parallel to their initial ori-
noted Oi , and a triad of mutually orthogonal basis vec- entations. The points and lines addressed here and in
tors, denoted [x̂i ŷ i ẑ i ], that are all fixed within a par- the definition of translation above are not necessarily
ticular body. The position and orientation of a body contained within the boundaries of the finite rigid body.
in space will always be expressed relative to some other Rather, any point or line in space can be taken to be
body, so they can be expressed as the position and orien- rigidly fixed in a body. For example, a body in a cir-
tation of one coordinate frame relative to another. Sim- cular orbit rotates about an axis through the center of
ilarly, rigid body displacements can be expressed as dis- its circular path, and every point on the axis of rotation
placements between two coordinate frames, one of which is a point in the body that remains in its initial posi-
may be referred to as “moving”, while the other may be tion despite not being physically within the boundaries
referred to as “fixed”. This simply indicates that the ob- of the body. As in the case of position and translation,
server is located in a stationary position within the fixed any representation of orientation can be used to create a
reference frame, not that there exists any absolutely fixed representation of rotation, and vice-versa.
frame.
Rotation Matrices
1.2.1 Representation of Position
The orientation of coordinate frame i relative to coordi-
The position of the origin of coordinate frame i relative nate frame j can be denoted by expressing the! basis vec- "
to coordinate frame j can be denoted by the 3 × 1 vector tors [x̂i ŷ i ẑ i ] in terms of the basis vectors x̂j ŷ j ẑ j .
! "T ! "
j
pi = jpxi jpyi jpzi . The components of this vector are This yields j x̂i j ŷ i j ẑ i , which when written together
the Cartesian coordinates of Oi in the j frame, which are as a 3 × 3 matrix is known as the rotation matrix. The
CHAPTER 1. KINEMATICS 3
components of jRi are the dot products of basis vectors Z-Y-X Euler Angles [α, β, γ]:
of the two coordinate frames.
cα cβ cα sβ sγ − sα cγ cα sβ cγ + sα sγ
r11 r12 r13 x̂i · x̂j ŷ i · x̂j ẑ i · x̂j sα cβ sα sβ sγ + cα cγ sα sβ cγ − cα sγ
j
Ri = r21 r22 r23 = x̂i · ŷ j ŷ i · ŷ j ẑ i · ŷ j −sβ cβ sγ cβ cγ
r31 r32 r33 x̂i · ẑ j ŷ i · ẑ j ẑ i · ẑ j
(1.1)
X-Y-Z Fixed Angles [ψ, θ, φ]:
Because the basis vectors are unit vectors and the dot
product of any two unit vectors is the cosine of the angle
cφ cθ cφ sθ sψ − sφ cψ cφ sθ cψ + sφ sψ
between them, the components are commonly referred sφ cθ sφ sθ sψ + cφ cψ sφ sθ cψ − cφ sψ
to as direction cosines. −sθ cθ sψ cθ cψ
The rotation matrix jRi contains nine elements, while
only three parameters are required to define the orienta-
tion of a body in space. Therefore, six auxiliary relation- Angle-Axis θK̂ (where vθ = 1 − cθ ):
ships exist between the elements of the matrix. Because
the basis vectors of coordinate frame i are mutually or- kx2 vθ + cθ kx ky vθ − kz sθ kx kz vθ + ky sθ
kx ky vθ + kz sθ ky2 vθ + cθ ky kz vθ − kx sθ
thonormal, as are the basis vectors of coordinate frame j,
the columns of jRi formed from the dot products of these kx kz vθ − ky sθ ky kz vθ + kx sθ kz2 vθ + cθ
vectors are also mutually orthonormal. A matrix com-
posed of mutually orthonormal vectors is known as an Unit Quaternions [q0 , q1 , q2 , q3 ]:
orthogonal matrix and has the property that its inverse
is simply its transpose. This property provides the six 1 − 2(q22 + q32 ) 2(q1 q2 − q0 q3 ) 2(q1 q3 + q0 q2 )
auxiliary relationships. Three require the column vectors 2(q1 q2 + q0 q3 ) 1 − 2(q12 + q32 ) 2(q2 q3 − q0 q1 )
to have unit length, and three require the column vectors 2(q1 q3 − q0 q2 ) 2(q2 q3 + q0 q1 ) 1 − 2(q12 + q22 )
to be mutually orthogonal. Alternatively, the orthogo-
nality of the rotation matrix can be seen by considering Table 1.1: Equivalent rotation matrices for various rep-
the frames in reverse order. The orientation of coordi- resentations of orientation.
nate frame j relative to coordinate frame i is the rotation
matrix iRj whose rows are clearly the columns of the ma-
the rotations must accompany the three angles to de-
trix jRi . Rotation matrices are combined through simple
fine the orientation. For example, the symbols [α, β, γ]
matrix multiplication such that the orientation of frame
are used throughout this handbook to indicate Z-Y-X
i relative to frame k can be expressed as kRi = kRj jRi .
Euler angles. α is the rotation about the ẑ axis, β is the
In summary, jRi is the rotation matrix that transforms
rotation about the rotated ŷ axis, and finally, γ is the
a vector expressed in coordinate frame i to a vector ex-
rotation about the twice rotated x̂ axis. Z-Y-Z Euler an-
pressed in coordinate frame j. It provides a representa-
gles are another commonly used convention from among
tion of the orientation of frame i relative to j and thus,
the 12 different possible orders of rotations.
can be a representation of rotation from frame i to frame
j. Table 1.1 lists the equivalent rotation matrices for the
other representations of orientation listed in this section. Fixed Angles
Table 1.2 contains the conversions from a known rotation
matrix to these other representations. A vector of three angles can also denote the orientation
of coordinate frame i relative to coordinate frame j when
each angle represents a rotation about an axis of a fixed
Euler Angles
reference frame. Appropriately, such angles are referred
For a minimal representation, the orientation of coordi- to as Fixed Angles, and the order of the rotations must
nate frame i relative to coordinate frame j can be de- again accompany the angles to define the orientation. X-
noted as a vector of three angles [α, β, γ]. These angles Y-Z Fixed Angles, denoted here as [ψ, θ, φ], are a com-
are known as Euler angles when each represents a rota- mon convention from among the, again, 12 different pos-
tion about an axis of a moving coordinate frame. In this sible orders of rotations. ψ is the yaw rotation about the
way, the location of the axis of each successive rotation fixed x̂ axis, θ is the pitch rotation about the fixed ŷ axis,
depends upon the preceding rotation(s), so the order of and φ is the roll rotation about the fixed ẑ axis. As can
CHAPTER 1. KINEMATICS 4
Quaternions
be seen by comparing the respective equivalent rotation
matrices in Table 1.1 and the respective conversions in Quaternions provide a representation of the orientation
Table 1.2, a set of X-Y-Z Fixed Angles is exactly equiva- of one coordinate frame relative to another that in some
lent to the same set of Z-Y-X Euler Angles (α = φ, β = θ, ways corresponds to complex numbers. A quaternion q
and γ = ψ). This result holds in general such that three is defined to have the form, q = q0 + q1 i + q2 j + q3 k,
rotations about the three axes of a fixed frame define the where q0 , q1 , q2 , and q3 are scalars, sometimes referred
same orientation as the same three rotations taken in the to as Euler parameters, and i, j, and k are √ operators
opposite order about the three axes of a moving frame. somewhat analogous to the operator i = −1 used in
complex numbers. The operators are defined to satisfy
the following combinatory rules: ii = jj = kk = −1,
Angle-Axis
ij = k, jk = i, ki = j, ji = −k, kj = −i, and
A single angle θ in combination with a unit vector K̂ can ik = −j. Two quaternions are added by adding the
also denote the orientation of coordinate frame i relative respective scalar elements separately, so the operators
to coordinate frame j. In this case, frame i is rotated act as separators. The null element for addition is the
through the angle θ about an axis defined by the vec- quaternion 0 = 0 + 0i + 0j + 0k, and quaternion sums
T
tor K̂ = [kx ky kz ] relative to frame j. The vector K̂ is are associative, commutative, and distributive. The null
sometimes referred to as the equivalent axis of a finite ro- element for multiplication is I = 1 + 0i + 0j + 0k, as can
tation. The angle-axis representation, typically written be seen using Iq = q for any quaternion q. Quaternion
T
as either θK̂ or [θkx θky θkz ] , is superabundant by one products are associative and distributive, but not com-
CHAPTER 1. KINEMATICS 5
! "T
mutative, and following the conventions of the operators is the 4 × 4 homogeneous transform matrix and j ρ 1
and addition, have the form, ! "T
and i ρ 1 are the homogeneous representations of the
a0 b0 − a1 b1 − a2 b2 − a3 b3 position vectors j ρ and i ρ. The matrix j T i transforms
+(a0 b1 + a1 b0 + a2 b3 − a3 b2 )i vectors from coordinate frame i to coordinate frame j.
ab = . (1.2) Its inverse, j T −1 transforms vectors from coordinate
+(a0 b2 + a2 b0 + a3 b1 − a1 b3 )j i
+(a0 b3 + a3 b0 + a1 b2 − a2 b1 )k frame j to coordinate frame i.
, j T
-
j −1 Ri −jRTi j pi
It is convenient to define the conjugate of a quaternion, T i = iT j = . (1.6)
0 0 0 1
q̃ = qo − q1 i − q2 j − q3 k, so that qq̃ = q̃q = q02 + q12 +
q32 . A unit quaternion can then be defined such that, Composition of 4 × 4 homogeneous transform matrices is
qq̃ = 1. Often, q0 is referred to as the scalar part of the accomplished through simple matrix multiplication, just
T
quaternion, and [q1 q2 q3 ] is referred to as the vector as in the case of 3×3 rotation matrices. Therefore, kT i =
part. k
T j jT i . Since matrix multiplications do not commute,
Since a quaternion contains four elements, it is su- the order or sequence is important.
perabundant by one for describing orientation, and the Homogeneous transformations are particularly attrac-
unit magnitude of a unit quaternion provides the auxil- tive when compact notation is desired and/or when ease
iary relationship to resolve this. A vector is defined in of programming is the most important consideration.
quaternion notation as a quaternion with zero real part. This is not, however, a computationally efficient repre-
T
Thus, a vector p = [px py pz ] can be expressed as a sentation since it introduces a large number of additional
quaternion p = px i + py j + pz k. For any unit quaternion multiplications by ones and zeros. Although homoge-
q, the operation qpq̃ performs a rotation of the vector neous transform matrices technically contain sixteen el-
T
p about the direction [q1 q2 q3 ] . This is clearly seen by ements, four are defined to be zero or one, and the re-
expanding the operation qpq̃ and comparing the results maining elements are composed of a rotation matrix and
with the equivalent rotation matrix listed in Table 1.1. a position vector. Therefore, the only truly superabun-
dant coordinates come from the rotation matrix com-
1.2.3 Homogeneous Transformations ponent, so the relevant auxiliary relationships are those
associated with the rotation matrix.
The preceding sections have addressed representations of
position and orientation separately. With homogeneous
transformations, position vectors and rotation matrices
1.2.4 Screw Transformations
are combined together in a compact notation. Any vec- The transformation in Equation 1.3 can be viewed as
tor i ρ expressed relative to the i coordinate frame can composed of a rotation between coordinate frames i and
be expressed relative to the j coordinate frame if the j and a separate displacement between those frames. To
position and orientation of the i frame are known rela- get from frame i to frame j, one could perform the rota-
tive to the j frame. Using the notation of Section 1.2.1, tion first, followed by the displacement, or vice versa. Al-
the position of the origin of coordinate frame i rela- ternatively, the spatial displacement between the frames
tive to coordinate frame j can be denoted by the vec- can be expressed, except in the case of a pure transla-
! "T
tor j pi = jpxi jpyi jpzi . Using the notation of Section tion, as a rotation about a unique line combined with a
1.2.2, the orientation of frame i relative to frame j can translation parrallel to that line. Since this is precisely
be denoted by the rotation matrix jRi . Thus, the type of displacement produced by a screw, the line
about which rotation takes place is referred to as the
j
ρ = jRi i ρ + j pi . (1.3) screw axis. The displacement itself is often called the
twist about that screw axis, and the ratio of the linear
This equation can be written, displacement d to the rotation θ is referred to as the
, j - , j j
-, i - pitch h of the screw axis. Thus, d = hθ. In a screw dis-
ρ Ri pi ρ
= , (1.4) placement, every point in the body has the same linear
1 0 0 0 1 1
displacement d parallel to the screw axis. Each point is
where, also rotated about that axis through the same angle θ.
, -
j
Ri j
pi Points that lie on the screw axis remain on the axis and
j
Ti = , (1.5) are displaced a distance d along it. The screw axis of a
0 0 0 1
CHAPTER 1. KINEMATICS 6
joint. The surfaces of the two bodies that are in con- bodies joined relative to the other. The position of one
tact are able to move over one another, thereby permit- body relative to the other may be expressed as the angle
ting relative motion of the two bodies. Simple kinematic between two lines normal to the joint axis, one fixed in
joints are classified as lower pair joints if contact occurs each body. Thus, the joint has one degree of freedom.
over surfaces and as higher pair joints if contact occurs As noted above, a revolute joint is often realized as a
only at points or along lines. Lower pair joints are me- compound joint. Revolute joints are easily actuated by
chanically attractive since wear is spread over the whole rotating motors and are, therefore, extremely common
surface and lubricant is trapped in the small clearance in robotic systems. They may also be present as passive,
space (in non-idealized systems) between the surfaces, re- unactuated joints.
sulting in relatively good lubrication. As can be proved When the ẑ axis of coordinate frame i is aligned with a
from the requirement for surface contact [Ref], there are revolute joint axis, the free modes Φi and the constrained
only six possible forms of lower pair: revolute, prismatic, modes Φci of the joint are expressed as,
helical, cylindrical, spherical, and planar joints.
Some higher pair joints also have attractive properties,
particularly rolling pairs in which one body rolls without 0 1 0 0 0 0
0 0 1 0 0 0
slipping over the surface of the other. This is mechan-
1 0
ically attractive since the absence of sliding means the Φi = , Φci = 0 0 0 0 . (1.11)
0 0 0 1 0 0
absence of abrasive wear. However, since contact occurs
0 0 0 0 1 0
at a point, or along a line, application of a load across
the joint may lead to very high local stresses resulting in 0 0 0 0 0 1
other forms of material failure and, hence, wear. Higher
pair joints can be used to create kinematic joints with
special geometric properties, as in the case of a gear pair,
1.3.2 Prismatic
or a cam and follower pair.
Compound kinematic joints are connections between
The most general form of a prismatic joint, sometimes
two bodies formed by chains of other members and sim-
referred to colloquially as a sliding joint, is a lower pair
ple kinematic joints. A compound joint may constrain
formed from two congruent general cylindrical surfaces.
the relative motion of the two bodies joined in the same
These may not be right circular cylindrical surfaces. A
way as a simple joint. In such a case, the two joints are
general cylindrical surface is obtained by extruding any
said to be kinematically equivalent. An example is a ball
curve in a constant direction. Again, one surface is in-
bearing that provides the same constraint as a revolute
ternal and the other is an external surface.
joint but is composed of a set of bearing balls trapped
between two journals. The balls ideally roll without slip- A prismatic joint permits only sliding of one of the
ping on the journals, thereby taking advantage of the members joined relative to the other along the direction
special properties of rolling contact joints. of extrusion. The position of one body relative to the
Additional information on joints can be found in Chap- other is determined by the distance between two points
ter 4 Mechanisms and Actuation. on a line parallel to the direction of sliding, with one
point fixed in each body. Thus, this joint also has one
degree of freedom.
1.3.1 Revolute A prismatic joint may be realized as a compound joint
The most general form of a revolute joint, sometimes re- by means of a roller-rail assembly or other kinemati-
ferred to colloquially as a hinge or pin joint, is a lower cally equivalent mechanism. Prismatic joints are also
pair composed of two congruent surfaces of revolution. relatively easily actuated by means of linear actuators
The surfaces are the same except one of them is an ex- such as hydraulic or pneumatic cylinders, ball screws, or
ternal surface, convex in any plane normal to the axis of screw jacks. However, they always have motion limits
revolution, and one is an internal surface, concave in any since unidirectional sliding can, in principle, produce in-
plane normal to the axis. The surfaces may not be solely finite displacements. They are commonly used in robotic
in the form of right circular cylinders, since surfaces of mechanisms, but not nearly as commonly as revolutes.
that form do not provide any constraint on axial slid- When the ẑ axis of coordinate frame i is aligned with
ing. A revolute joint permits only rotation of one of the a prismatic joint axis, the free and constrained modes of
CHAPTER 1. KINEMATICS 8
the joint are expressed as, revolute in series with a prismatic joint whose direction
of sliding is parallel to the revolute axis. While simpler to
0 1 0 0 0 0 implement using the geometric representation discussed
0 0 1 0 0 0 in Section 1.5, this approach has disadvantages for dy-
0 0 0 1 0 0
Φi = , Φi =
c
0
. (1.12) namic simulation. Modeling a single cylindrical joint as
0
0 0 1 0
a combination of a prismatic and revolute joint requires
0 0 0 0 0 1 the addition of a virtual link between the two with zero
1 0 0 0 0 0 mass and zero length. The massless link can create com-
putational problems.
1.3.3 Helical When the ẑ axis of coordinate frame i is aligned with
The most general form of a helical joint, sometimes re- a cylindrical joint axis, the free and constrained modes
ferred to colloquially as a screw joint, is a lower pair of the joint are expressed as,
formed from two helicoidal surfaces formed by extruding
any curve along a helical path. The simple example is
a screw and nut wherein the basic generating curve is 0 0 1 0 0 0
0 0 0 1 0 0
a pair of straight lines. The angle of rotation about the
1 0
axis of the screw joint θ is directly related to the distance Φi = , Φci = 0 0 0 0 . (1.14)
0 0 0 0 1 0
of displacement of one body relative to the other along
0 0 0 0 0 1
that axis d by the expression d = hθ, where the constant
h is called the pitch of the screw. Screw joints are most 0 1 0 0 0 0
often found in robotic mechanisms as constituents of lin-
ear actuators such as screw jacks and ball screws. They
are seldom used as primary kinematic joints.
When the ẑ axis of coordinate frame i is aligned with
a helical joint axis and assuming that the joint cannot be 1.3.5 Spherical
backdriven, the free and constrained modes of the joint
are expressed as, A spherical joint is a lower pair formed by contact of
two congruent spherical surfaces. Once again, one is an
0 1 0 0 0 0 internal surface, and the other is an external surface. A
0 0 1 0 0 0
spherical joint permits rotation about any line through
1 0 0 0 0 0
Φi = , Φi =
c
. (1.13) the center of the sphere. Thus, it permits independent
0 0 0 1 0 0 rotation about axes in up to three different directions and
0 0 0 0 1 0
has three degrees of freedom. Although passive spherical
h 0 0 0 0 1 joints are quite often found in robotic mechanisms, ac-
tuated spherical joints are not found. However, a spher-
1.3.4 Cylindrical ical joint is easily replaced by a kinematically equivalent
compound joint consisting of three revolutes that have
A cylindrical joint is a lower pair formed by contact of
concurrent axes. They do not need to be successively
two congruent right circular cylinders, one an internal
orthogonal, but often they are implemented that way.
surface and the other an external surface. It permits
Each of the three revolute joints can be actuated. The
both rotation about the cylinder axis and sliding par-
arrangement is, in general, kinematically equivalent to
allel to it. Therefore, it is a joint with two degrees of
a spherical joint, but it does exhibit a singularity when
freedom. Joints with more than one degree of freedom
the revolute joint axes become coplanar. This is as com-
are only used passively in robotic mechanisms because
pared to the native spherical joint that never has such
each degree of freedom of an active joint must be sep-
a singularity. Likewise, if a spherical joint is modeled in
arately actuated. However, the lower pair joints with
simulation as three revolutes, computational difficulties
more than one degree of freedom are easily replaced by
again can arise from the necessary inclusion of massless
kinematically equivalent compound joints that are ser-
virtual links having zero length.
ial chains of one degree of freedom lower pairs. In the
present case, the cylindrical joint can be replaced by a The free and constrained modes of a spherical joint are
CHAPTER 1. KINEMATICS 9
expressed as, axis through the point of contact that is, in principle,
unique. Hence, a three-dimensional rolling contact pair
1 0 0 0 0 0
0 permits relative motion with three degrees of freedom.
1 0
0
0 0
0 0 1 0
Φi = , Φci = 0 0 . (1.15) 1.3.9
0 0
0 1 0 0 Holonomic and Non-Holonomic
0 0 0 0 1 0 Constraints
0 0 0 0 0 1
With the exception of rolling contact, all of the con-
straints associated with the joints discussed in the pre-
1.3.6 Planar ceding sections can be expressed mathematically by
A planar joint is formed by planar contacting surfaces. equations containing only the joint position variables.
Like the spherical joint, it is a lower pair joint with threeThese are called holonomic constraints. The number of
degrees of freedom. Passive planar joints are occasionally equations, and hence the number of constraints, is 6 − n,
found in robotic mechanisms. A kinematically equiva- where n is the number of degrees of freedom of the joint.
lent compound joint consisting of a serial chain of three The constraints are intrinsically part of the axial joint
revolutes with parallel axes can replace a planar joint. model.
As was the case with the spherical joint, the compound A non-holonomic constraint is one that cannot be ex-
joint exhibits a singularity when the revolute axes be- pressed in terms of the position variables alone, but in-
come coplanar. cludes the time derivative of one or more of those vari-
When the ẑ axis of coordinate frame i is aligned with ables. These constraint equations cannot be integrated
the normal to the plane of contact, the free and con- to obtain relationships solely between the joint variables.
strained modes of the joint are expressed as, The most common example in robotic systems arises
from the use of a wheel or roller that rolls without slip-
0 0 0 1 0 0 ping on another member.
0 0 0 0 1 0
1 0 0 0 0 0
Φi =
, Φi = 0 0 0 . (1.16) 1.3.10 Generalized Coordinates
c
0 1 0
0 0 1 0 0 0 In a robot manipulator consisting of N bodies, 6N co-
0 0 0 0 0 1 ordinates are required to specify the position and orien-
tation of all the bodies relative to a coordinate frame.
1.3.7 Universal Since some of those bodies are jointed together, a num-
ber of constraint equations will establish relationships
A universal joint, often referred to as a Cardan or Hooke between some of these coordinates. In this case, the 6N
joint, is a compound joint with two degrees of freedom. coordinates can be expressed as functions of a smaller
It consists of a serial chain of two revolutes whose axes set of coordinates q that are all independent. The coor-
intersect orthogonally and is used in robotic mechanisms dinates in this set are known as generalized coordinates,
in both active and passive forms. and motions associated with these coordinates are con-
sistent with all of the constraints. The joint variables q
1.3.8 Rolling Contact of a robot manipulator form a set of generalized coordi-
nates.
Rolling contact actually encompasses several different
geometries. Planar rolling contact requires that the
mechanism in which the joint is used constrain the rela- 1.4 Workspace
tive motion to a plane. This is the case of a roller bearing,
for example. Rolling contact in planar motion permits Most generally, the workspace of a robotic manipula-
one degree of freedom of relative motion. As was noted tor is the total volume swept out by the end-effector
above, rolling contact has desirable wear properties since as the manipulator executes all possible motions. The
the absence of sliding means the absence of abrasive workspace is determined by the geometry of the manip-
wear. Planar rolling contact can take place along a line, ulator and the limits of the joint motions. It is more
thereby spreading the load and wear somewhat. Three- specific to define the reachable workspace as the total
dimensional rolling contact allows rotation about any locus of points at which the end-effector can be placed
CHAPTER 1. KINEMATICS 10
and the dextrous workspace as the subset of those points 1.5 Geometric Representation
at which the end-effector can be placed while having an
arbitrary orientation. Dexterous workspaces exist only The geometry of a robotic manipulator is conveniently
for certain idealized geometries, so real industrial ma- defined by attaching coordinate frames to each link.
nipulators with joint motion limits almost never possess While these frames could be located arbitrarily, it is ad-
dexterous workspaces. vantageous both for consistency and computational effi-
Many serial-chain robotic manipulators are designed ciency to adhere to a convention for locating the frames
such that their joints can be partitioned into a regional on the links. Denavit and Hartenberg [8] introduced the
structure and an orientation structure. The joints in foundational convention that has been adapted in a num-
the regional structure accomplish the positioning of the ber of different ways, one of which is the convention intro-
end-effector in space, and the joints in the orientation duced by Khalil and Dombre [12] used throughout this
structure accomplish the orientation of the end-effector. handbook. In all of its forms, the convention requires
Typically, the inboard joints of a serial chain manipula- only four rather than six parameters to locate one coor-
tor comprise the regional structure, while the outboard dinate frame relative to another. The four parameters
joints comprise the orientation structure. Also, since are the link length ai , the link twist αi , the joint offset
prismatic joints provide no capability for rotation, they di , and the joint angle θi . This parsimony is achieved
are generally not employed within the orientation struc- through judicious placement of the coordinate frame ori-
ture. gins and axes such that the x̂ axis of one frame both
intersects and is perpendicular to the ẑ axis of the pre-
The regional workspace volume can be calculated from ceding coordinate frame. The convention is applicable to
the known geometry of the serial-chain manipulator and manipulators consisting of revolute and prismatic joints,
motion limits of the joints. With three inboard joints so when multi-degree-of-freedom joints are present, they
comprising the regional structure, the area of workspace are modeled as combinations of revolute and prismatic
for the outer two (joints 2 and 3) is computed first, and joints, as discussed in Section 1.3.
then the volume is calculated by integrating over the
There are essentially four different forms of the con-
joint variable of the remaining inboard joint (joint 1). In
vention for locating coordinate frames in a robotic mech-
the case of a prismatic joint, this simply involves multi-
anism. Each exhibits its own advantages by managing
plying the area by the total length of travel of the pris-
trade-offs of intuitive presentation. In the original De-
matic joint. In the more common case of a revolute joint,
navit and Hartenberg [8] convention, joint i is located
it involves rotating the area about the joint axis through
between links i and i + 1, so it is on the outboard side
the full range of motion of the revolute. By the Theorem
of link i. Also, the joint offset di and joint angle θi are
of Pappus, the associated volume is equal to the product
measured along and about the i − 1 joint axis, so the
of the area, the distance from the area’s centroid to the
subscripts of the joint parameters do not match that of
axis, and the angle through which the area is rotated.
the joint axis. Waldron [35] and Paul [22] modified the
The boundaries of the area are determined by tracing
labeling of axes in the original convention such that joint
the motion of a reference point in the end-effector, typ-
i is located between links i − 1 and i in order to make it
ically the center of rotation of the wrist that serves as
consistent with the base member of a serial chain being
the orientation structure. Starting with each of the two
member 0. This places joint i at the inboard side of link
joints at motion limits and with joint 2 locked, joint 3 is
i and is the convention used in all of the other modi-
moved until its second motion limit is reached. Joint 3
fied versions. Furthermore, Waldron and Paul addressed
is then locked, and joint 2 is freed to move to its second
the mismatch between subscripts of the joint parameters
motion limit. Joint 2 is again locked, while joint 3 is
and joint axes by placing the ẑ i axis along the i + 1 joint
freed to move back to its original motion limit. Finally,
axis. This, of course, relocates the subscript mismatch
joint 3 is locked, and joint 2 freed to move likewise to
to the correspondence between the joint axis and the ẑ
its original motion limit. In this way, the trace of the
axis of the coordinate frame. Craig [6] eliminated all of
reference point is a closed curve whose area and centroid
the subscript mismatches by placing the ẑ i axis along
can be calculated mathematically.
joint i, but at the expense of the homogeneous trans-
More details on manipulator workspace can be found form i−1 T i being formed with a mixture of joint para-
in Chapter 4 Mechanisms and Actuation and Chapter 11 meters with subscript i and link parameters with sub-
Design Criteria. script i − 1. Khalil and Dombre [12] introduced another
CHAPTER 1. KINEMATICS 11
Geometric Parameters
Diagram
Unlike the algebraic and geometric methods used to A number of different iterative methods can be employed
find closed-form solutions, numerical methods are not to solve the inverse kinematics problem. Most of them
robot-dependent, so they can be applied to any kine- converge to a single solution based on an initial guess,
matic structure. The disadvantages of numerical meth- so the quality of that guess greatly impacts the solution
ods are that they can be slower and in some cases, they time. Newton-Raphson methods provide a fundamen-
do not allow computation of all possible solutions. For a tal approach that uses a first-order approximation to the
six-degree-of-freedom serial chain manipulator with only original equations. Pieper [26] was among the first to
revolute and prismatic joints, the translation and rota- apply the method to inverse kinematics, and others have
tion equations can always be reduced to a polynomial in followed [32][19]. Optimization approaches formulate the
a single variable of degree not greater than 16 [15]. Thus, problem as a nonlinear optimization problem and employ
such a manipulator can have as many as sixteen real solu- search techniques to move from an initial guess to a so-
tions to the inverse kinematics problem [18]. Since closed lution [34][40]. Resolved motion rate control converts
form solution of a polynomial equation is only possible the problem to a differential equation [37], and a mod-
if the polynomial is of degree four or less, it follows that ified predictor-corrector algorithm can be used to per-
many manipulator geometries are not soluble in closed form the joint velocity integration [5]. Control-theory-
form. In general, a greater number of non-zero geometric based methods cast the differential equation into a con-
parameters corresponds to a polynomial of higher degree trol problem [29]. Interval analysis [28] is perhaps one
in the reduction. For such manipulator structures, the of the most promising iterative methods because it offers
most common numerical methods can be divided into rapid convergence to a solution and can be used to find
categories of symbolic elimination methods, continuation all possible solutions.
methods, and interative methods.
[1] H. Asada and J.-J. E. Slotine, Robot Analysis and Con- [14] C. S. G Lee, “Robot Arm Kinematics, Dynamics, and
trol, New York: John Wiley & Sons, 1986. Control,” Computer, vol. 15, no. 12, pp. 62-80, 1982.
[2] R. S. Ball, A Treatise on the Theory of Screws, Cam- [15] H. Y. Lee and C. G. Liang, “A New Vector Theory for
bridge: Cambridge University Press, 1998. the Analysis of Spatial Mechanisms,” Mechanisms and
Machine Theory, vol. 23, no. 3, pp. 209–217, 1988.
[3] O. Bottema and B. Roth, Theoretical Kinematics, New
York: Dover Publications, 1990. [16] F. L. Lewis, C. T. Abdallah, and D. M. Dawson, Control
of Robot Manipulators, New York: Macmillan, 1993.
[4] B. Buchberger, “Applications of Grobner Basis in Non-
Linear Computational Geometry,” Trends in Computer [17] D. Manocha and J. Canny, Real Time Inverse Kine-
Algebra. Lecture Notes in Computer Science, vol. 296, matics for General 6R Manipulators, Technical report,
Springer Verlag, 1989. University of California, Berkeley, 1992.
[5] H. Cheng and K. Gupta, “A Study of Robot Inverse [18] R. Manseur and K. L. Doty, “A Robot Manipulator
Kinematics Based Upon the Solution of Differential with 16 Real Inverse Kinematic Solutions,” Interna-
Equations,” Journal of Robotic Systems, vol. 8, no. 2, tional Journal of Robotics Research, vol. 8, no. 5, pp.
pp. 115–175, 1991. 75–79, 1989.
[6] J. J. Craig, Introduction to Robotics: Mechanics and [19] R. Manseur and K. L. Doty, “Fast Inverse Kinematics
Control, Reading, MA: Addison-Wesley, 1986. of 5-Revolute-Axis Robot Maniputlators,” Mechanisms
and Machine Theory, vol. 27, no. 5, pp. 587–597, 1992.
[7] J. K. Davidson and K. H. Hunt, Robots and Screw The-
ory: Applications of Kinematics and Statics to Robotics, [20] R. M. Murray, Z. Li, and S. S. Sastry, A Mathematical
Oxford: Oxford University Press, 2004. Introduction to Robotic Manipulation, Boca Raton, FL:
CRC Press, 1994.
[8] J. Denavit and R. S. Hartenberg, “A Kinematic No-
tation for Lower-Pair Mechanisms Based on Matrices,” [21] D.E. Orin and W.W. Schrader, “Efficient Computation
Journal of Applied Mechanics, vol. 22, pp. 215–221, of the Jacobian for Robot Manipulators,” International
1955. Journal of Robotics Research, vol. 3, no. 4, pp. 66–75,
1984.
[9] J. Duffy, Analysis of Mechanisms and Robot Manipula-
tors, New York: Wiley, 1980. [22] R. Paul, Robot Manipulators: Mathematics, Program-
ming and Control, Cambridge, MA: MIT Press, 1982.
[10] K. S. Fu, R. C. Gonzalez, and C. S. G. Lee, Robotics:
Control, Sensing, Vision, and Intelligence, New York: [23] R. P. Paul, B. E. Shimano, and G. Mayer, “Kinematic
McGraw-Hill, 1987. Control Equations for Simple Manipulators,” IEEE
Transactions on Systems, Man, and Cybernetics, vol.
[11] K. H. Hunt, Kinematic Geometry of Mechanisms, Ox- SMC-11, no. 6, pp. 339-455, 1981.
ford: Clarendon Press, 1978.
[24] R. P. Paul and C. N. Stephenson, “Kinematics of Robot
[12] W. Khalil and E. Dombre, Modeling, Identification and Wrists,” International Journal of Robotics Research, vol.
Control of Robots, New York: Taylor & Francis, 2002. 20, no. 1, pp. 31–38, 1983.
[13] P. Kovacs, “Minimum Degree Solutions for the Inverse [25] R. P. Paul and H. Zhang, “Computationally Efficient
Kinematics Problem by Application of the Buchberger Kinematics for Manipulators with Spherical wrists based
Algorithm,” Advances in Robot Kinematics, S. Stifter on the Homogeneous Transformation Representation,”
and J. Lenarcic Eds., Springer Verlag, pp. 326–334, International Journal of Robotics Research, vol. 5, no.
1991. 2, pp. 32–44, 1986.
17
BIBLIOGRAPHY 18
[26] D. Pieper, The Kinematics of Manipulators Under Com- [39] T. Yoshikawa, Foundations of Robotics, Cambridge,
puter Control, Doctoral Dissertation, Stanford Univer- MA: MIT Press, 1990.
sity, 1968.
[40] J. Zhao and N. Badler, “Inverse Kinematics Positioning
[27] M. Raghavan and B. Roth, “Kinematic Analysis of the Using Nonlinear Programming for Highly Articulated
6R Manipulator of General Geometry,” In Proceedings of Figures,” Transactions on Computer Graphics, vol. 13,
the 5th International Symposium on Robotics Research, no. 4, pp. 313–336, 1994.
1990.