Robot Arm Kinematics
Robot Arm Kinematics
Kinematics is the branch of mechanics that studies the motion of a body, or a system
of bodies, without consideration given to its mass or the forces acting on it. A serial-
link manipulator comprises a chain of mechanical links and joints. Each joint can
move its outward neighbouring link with respect to its inward neighbour. One end of
the chain, the base, is generally fixed and the other end is free to move in space and
holds the tool or end-effector.
Figure 7.1 shows two classical robots that are the precursor to all arm-type robots
today. Each robot has six joints and clearly the pose of the end-effector will be a complex
function of the state of each joint. Section 7.1 describes a notation for describing the link
and joint structure of a robot and Sect. 7.2 discusses how to compute the pose of the end-
effector. Section 7.3 discusses the inverse problem, how to compute the position of each
From the Greek word for motion. joint given the end-effector pose. Section 7.4 describes methods for generating smooth
paths for the end-effector. The remainder of the chapter covers advanced topics and
two complex applications: writing on a plane surface and a four-legged walking robot.
Fig. 7.1.
a The Puma 560 robot was the
first modern industrial robot
(courtesy Oussama Khatib).
b The Stanford arm was an early
research arm and is unusual
in that it has a prismatic joint
(Stanford University AI Lab 1972;
courtesy Oussama Khatib). Both
arms were designed by robotics
pioneer Victor Scheinman and
both robots can be seen in the
Smithsonian Museum of Ameri-
can History, Washington DC
138 Chapter 7 · Robot Arm Kinematics
Jacques Denavit and Richard Hartenberg introduced many of the key concepts of kinematics for
serial-link manipulators in a 1955 paper (Denavit and Hartenberg 1955) and their later classic
text Kinematic Synthesis of Linkages (Hartenberg and Denavit 1964).
Fig. 7.2.
Definition of standard Denavit
and Hartenberg link parameters.
The colors red and blue denote all
things associated with links j − 1
and j respectively. The numbers
in circles represent the order in
which the elementary trans-
forms are applied
effector or tool. Joint j connects link j − 1 to link j and therefore joint j moves link j. A
link is considered a rigid body that defines the spatial relationship between two
neighbouring joint axes. A link can be specified by two parameters, its length aj and its
twist αj. Joints are also described by two parameters. The link offset dj is the distance
from one link coordinate frame to the next along the axis of the joint. The joint angle θj
is the rotation of one link with respect to the next about the joint axis.
Figure 7.2 illustrates this notation. The coordinate frame {j} is attached to the far (dis-
tal) end of link j. The axis of joint j is aligned with the z-axis. These link and joint param-
eters are known as Denavit-Hartenberg parameters and are summarized in Table 7.1.
Following this convention the first joint, joint 1, connects link 0 to link 1. Link 0 is
the base of the robot. Commonly for the first link d1 = α1 = 0 but we could set d1 > 0
to represent the height of the shoulder joint above the base. In a manufacturing system
the base is usually fixed to the environment but it could be mounted on a mobile base
such as a space shuttle, an underwater robot or a truck.
The final joint, joint N connects link N − 1 to link N. Link N is the tool of the robot and
the parameters dN and aN specify the length of the tool and its x-axis offset respectively.
The tool is generally considered to be pointed along the z-axis as shown in Fig. 2.14.
The transformation from link coordinate frame {j − 1} to frame {j} is defined in
terms of elementary rotations and translations as The 3 × 3 orthonormal matrix is aug-
mented with a zero translational com-
ponent to form a 4 × 4 homogenous
(7.1)
transformation.
(7.2)