- Spatial descriptions and
transformations
- Manipulator Kinematics
3rd Week, Industrial robots, VTE465
References:
1. Bruno Siciliano, Oussana Khatib, Handbook of Robotics, Springer 2008
2. Robert H. Bishop, Mechatronic Handbook, Mechatronic systems,Sensor, Actuator, and
Data Acquisition, CRC Press, 2008
3. Norberto Pires, Industrial Robots Programming: Building Applications for the Factories of the
Future,2007 Springer Science+Business Media, LLC
Prepared : Neramitr C.
1
Books for learning
2
Contents
2 Spatial descriptions and transformations
2.1 INTRODUCTION
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS, AND FRAMES
2.3 MAPPINGS: CHANGING DESCRIPTIONS FROM FRAME TO FRAME
2.4 OPERATORS: TRANSLATIONS, ROTATIONS, AND TRANSFORMATIONS
3 Manipulator kinematics
3.1 INTRODUCTION
3.2 LINK DESCRIPTION
3.3 LINK-CONNECTION DESCRIPTION
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
3.5 MANIPULATOR KINEMATICS
3.6 ACTUATOR SPACE, JOINT SPACE, AND CARTESIAN SPACE
3.7 EXAMPLES: KINEMATICS OF TWO INDUSTRIAL ROBOTS
3
2.1 INTRODUCTION
-Robotic manipulation, by definition, implies that parts and tools
will be moved around in space by some sort of mechanism.
-This naturally leads to a need for representing positions and
orientations of parts, of tools, and of the mechanism itself.
-To define and manipulate mathematical quantities that represent
position and orientation, we must define coordinate systems and
develop conventions for representation.
-Many of the ideas developed here in the context of position and
orientation will form a basis for our later consideration of linear
and rotational velocities, forces, and torques.
4
2.1 INTRODUCTION
-The philosophy that somewhere there is a universe coordinate
system to which everything we discuss can be referenced.
-We will describe all positions and orientations with respect to
the universe coordinate system or with respect to other Cartesian
coordinate systems that are (or could be) defined relative to the
universe system.
5
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
-A description is used to specify attributes of various objects
with which a manipulation system deals.
-These objects are parts, tools, and the manipulator itself.
-In this section, we discuss the description of positions, of
orientations, and of an entity that contains both of these
descriptions
6
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
Description of a position
-Once a coordinate system is established, we can locate any
point in the universe with a 3 x 1 position vector.
-Because we will often define many coordinate systems in
addition to the universe coordinate system, vectors must be
tagged with information identifying which coordinate system
they are defined within.
FIGURE 2.1: Vector relative to frame 7
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
Description of an orientation
Often, we will find it necessary not only to represent a point in
space but also to describe the orientation of a body in space.
For example, if vector AP in Fig. 2.2 locates the point directly
between the fingertips of a manipulator's hand, the
complete location of the hand is still not specified until its
orientation is also given.
8
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
9
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
In order to describe the orientation of a body, we will attach a
coordinate system to the body and then give a description of this coordinate
system relative to the reference system.
In Fig. 2.2, coordinate system {B} has been attached to the body in
a known way. A description of {B} relative to {A} now suffices to
give the orientation of the body.
10
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
Rotation matrices
11
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
To give expressions for the scalars in (2.2) by noting that the
components of any vector are simply the projections of that vector
onto the unit directions of its reference frame.
Hence, each component of in (2.2) can be written as the dot
product of a pair of unit vectors:
12
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
we have omitted the leading superscripts in the rightmost
matrix of (2.3). In fact, the choice of frame in which to
describe the unit vectors is arbitrary as long as it is the same
for each pair being dotted. The dot product of two unit vectors
yields the cosine of the angle between them, so it is clear why
the components of rotation matrices are often referred to as
direction cosines.
13
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
Further inspection of (2.3) shows that the rows of the matrix
are the unit vectors of {A} expressed in {B}; that is,
14
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
This suggests that the inverse of a rotation matrix is equal to its
transpose, a fact that can be easily verified as
15
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
16
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
Description of a frame
The information needed to completely specify the whereabouts of
the manipulator hand in Fig. 2.2 is a position and an orientation.
The point on the body whose position we describe could be
chosen arbitrarily, however.
For convenience, the point whose position we will describe is
chosen as the origin of the body-attached frame.
The situation of a position and an orientation pair arises so often
in robotics that we define an entity called a frame, which is a set
of four vectors giving position and orientation information.
17
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
For example,
frame {B} is described by
and
where is the vector that locates the
origin of the frame {B}:
18
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
In Fig. 2.3, there are three frames that are shown along with the
universe coordinate system. Frames {A} and {B} are known
relative to the universe coordinate system, and frame {C} is
known relative to frame {A}.
FIGURE 2.3: Example of several frames 19
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
In Fig. 2.3, we introduce a graphical representation of frames,
which is convenient in visualizing frames.
A frame is depicted by three arrows representing unit vectors
defining the principal axes of the frame.
FIGURE 2.3: Example of several frames 20
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS,
AND FRAMES
FIGURE 2.3: Example of several frames
An arrow representing a vector is drawn from one origin to
another.
This vector represents the position of the origin at the head of the
arrow in terms of the frame at the tail of the arrow.
The direction of this locating arrow tells us, for example, in Fig.
2.3, that { C} is known relative to {A} and not vice versa.
21
2.3 MAPPINGS: CHANGING DESCRIPTIONS FROM
FRAME TO FRAME
In a great many of the problems in robotics, we are concerned
with expressing the same quantity in terms of various reference
coordinate systems.
The previous section introduced descriptions of positions,
orientations, and frames; we now consider the mathematics of
mapping in order to change descriptions from frame to frame.
22
2.3 MAPPINGS: CHANGING DESCRIPTIONS FROM
FRAME TO FRAME
Mappings involving translated frames
In Fig. 2.4, we have a position defined by the vector BP.
We wish to express this point in space in terms of frame {A}, when
{A} has the same orientation as {B}.
FIGURE 2.4: Translational mapping
23
2.3 MAPPINGS: CHANGING DESCRIPTIONS FROM
FRAME TO FRAME
In this case, {B} differs from {A} only by a translation, which is
given by A PBORG , a vector that locates the origin of {B} relative to
{A}.
Because both vectors are defined relative to frames of the same
orientation, we calculate the description of point P relative to {A},
AP, by vector addition:
FIGURE 2.4: Translational mapping 24
2.3 MAPPINGS: CHANGING DESCRIPTIONS FROM
FRAME TO FRAME
Mappings involving rotated frames
The notion of describing an orientation by three unit vectors
denoting the principal axes of a body-attached coordinate system.
For convenience, we stack these three unit vectors together as the
columns of a 3 x 3 matrix.
We will call tills matrix a rotation matrix, and, if tills particular
rotation matrix describes {B} relative to {A}, we name it with the
notation .
Note that, by our definition, the columns of a rotation matrix all
have unit magnitude, and, further, that these unit vectors are
orthogonal. As we saw earlier, a consequence of tills is that
25
2.3 MAPPINGS: CHANGING DESCRIPTIONS FROM
FRAME TO FRAME
Therefore, because the columns of are the unit vectors of {B}
written in {A}, the rows of are the unit vectors of {A} written
in {B}.
So a rotation matrix can be interpreted as a set of three column
vectors or as a set of three row vectors, as follows:
26
2.4 OPERATORS: TRANSLATIONS, ROTATIONS,
AND TRANSFORMATIONS
Fig. 2.5, the situation will arise often where we know the
definition of a vector with respect to some frame, {B}, and we
would like to know its definition with respect to another frame,
{A}, where the origins of the two frames are coincident.
FIGURE 2.5: Rotating the description of a vector.
27
2.4 OPERATORS: TRANSLATIONS, ROTATIONS,
AND TRANSFORMATIONS
This computation is possible when a description of the orientation
of {B} is known relative to {A}.
This orientation is given by the rotation matrix ,
whose columns are the unit vectors of {B} written in {A}.
28
2.4 OPERATORS: TRANSLATIONS, ROTATIONS,
AND TRANSFORMATIONS
In order to calculate AP, we note that the components of any
vector are simply
the projections of that vector onto the unit directions of its frame.
The projection is calculated as the vector dot product. Thus, we
see that the components of AP may be calculated as
29
2.4 OPERATORS: TRANSLATIONS, ROTATIONS,
AND TRANSFORMATIONS
In order to express (2.13) in terms of a rotation matrix
multiplication, we note from (2.11) that the rows of
So (2.13) may be written compactly, by using a rotation matrix, as
30
EXAMPLE 2.1
Figure 2.6 shows a frame {B} that is rotated relative to frame {A}
about by 30 degrees. Here, is pointing out of the page .
31
EXAMPLE 2.1 (Con’t)
Rotation matrix =
Uses matrix multiplication
32
EXAMPLE 2.2
33
EXAMPLE 2.2 (Con’t)
34
EXERCISE 1
35
EXERCISE 2
36
EXERCISE 3
37
Manipulator kinematics
3.1 INTRODUCTION
3.2 LINK DESCRIPTION
3.3 LINK-CONNECTION DESCRIPTION
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
3.5 MANIPULATOR KINEMATICS
3.6 ACTUATOR SPACE, JOINT SPACE, AND CARTESIAN
SPACE
3.7 EXAMPLES: KINEMATICS OF TWO INDUSTRIAL
ROBOTS
38
3.1 INTRODUCTION
Kinematics is the science of motion that treats the subject without
regard to the forces that cause it.
Within the science of kinematics, one studies the position, the
velocity, the acceleration, and all higher order derivatives of the
position variables (with respect to time or any other variable( s)).
Hence, the study of the kinematics of manipulators refers to all
the geometrical and time-based properties of the motion.
39
3.1 INTRODUCTION
In order to deal with the complex geometry of a manipulator, we
will affix frames to the various parts of the mechanism and then
describe the relationships between these frames.
The study of manipulator kinematics involves, among other things,
how the locations of these frames change as the mechanism
articulates.
The central topic of this chapter is a method to compute the
position and orientation of the manipulator's end-effector relative
to the base of the manipulator as a function of the joint variables.
40
3.2 LINK DESCRIPTION
A manipulator may be thought
of as a set of bodies connected in
a chain by joints.
These bodies are called links.
Joints form a connection
between a neigh boring pair of
links.
The term lower pair is used to
describe the connection between
a pair of bodies when the
relative motion is characterized
by two surfaces sliding over one
another.
Figure 3.1 shows the six possible
lower pair joints. FIGURE 3.1: The six possible lower-pair joints 41
3.2 LINK DESCRIPTION
Mechanical-design considerations favor manipulators' generally
being constructed from joints that exhibit just one degree of
freedom. Most manipulators have revolute joints or have sliding
joints called prismatic joints.
In the rare case that a mechanism is built with a joint having n
degrees of freedom, it can be modeled as n joints of one degree of
freedom connected with n - 1 links of zero length.
Therefore, without loss of generality, we will consider only
manipulators that have joints with a single degree of freedom.
42
3.2 LINK DESCRIPTION
The links are numbered starting from the immobile base of the arm,
which might be called link 0.
The first moving body is link 1, and so on, out to the free end of the
arm, which is link n. In order to position an end-effector generally
in 3-space, a minimum of six joints is required.
Typical manipulators have five or six joints.
Some robots are not actually as simple as a single kinematic chain-
these have parallelogram linkages or other closed kinematic
structures.
We will consider one such manipulator later in this chapter.
43
3.2 LINK DESCRIPTION
44
3.2 LINK DESCRIPTION
Figure 3.2 shows link i - 1 and the mutually perpendicular line
along which the link length, ai-1, is measured.
Another way to visualize the link parameter ai-1 is to imagine an
expanding cylinder whose axis is the joint i - 1 axis-when it just
touches joint axis i, the radius of the cylinder is equal to ai-1 ·
45
EXAMPLE3.1
FIGURE 3.3:
A simple link
that supports
two revolute
axes.
46
3.3 LINK-CONNECTION DESCRIPTION
The problem of connecting the links of a robot together is
again one filled with many questions for the mechanical
designer to resolve.
These include the strength of the joint, its lubrication, and
the bearing and gearing mounting.
However, for the investigation of kinematics, we need only
worry about two quantities, which will completely specify
the way in which links are connected together.
47
3.3 LINK-CONNECTION DESCRIPTION
Intermediate links in the chain
Neighboring links have a common joint axis between
them. One parameter of interconnection has to do
with the distance along this common axis from one
link to the next.
This parameter is called the link offset. The offset at
joint axis i is called di
The second parameter describes the amount of
rotation about this common axis between one link
and its neighbor. This is called the joint angle,
48
3.3 LINK-CONNECTION DESCRIPTION
49
3.3 LINK-CONNECTION DESCRIPTION
Figure 3.4 shows the interconnection of link i – l and link i
Recall that ai-1 is the mutual perpendicular between the two axes
of link i - 1.
Likewise, ai is the mutual perpendicular defined for link i.
The first parameter of interconnection is the link offset, di, which
is the signed distance measured along the axis of joint i from
the point where ai-1 intersects the axis to the point where a;
intersects the axis.
The offset d; is indicated in Fig. 3.4
50
3.3 LINK-CONNECTION DESCRIPTION
FIGURE 3.3
51
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
In order to describe the location of each link relative to its
neighbors, we define a frame attached to each link.
The link frames are named by number according to the link to
which they are attached.
That is, frame {i} is attached rigidly to link i.
52
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
Intermediate links in the chain
53
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
FIGURE 3.5: Link frames are attached so that frame {i} is
attached rigidly to link i. 54
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
55
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.2 Figure 3.6(a) shows a three-link planar arm.
Because all three joints are revolute, this manipulator is sometimes
called an RRR (or 3R) mechanism. Fig. 3.6(b) is a schematic
representation of the same manipulator. Note the double hash marks
FIGURE 3.6: A three-
link planar arm. On the
right, we show the same
manipulator
by means of a simple
schematic notation. Hash
marks on the axes
indicate that they
are mutually parallel.
56
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.2 (Con’t)
FIGURE 3.8: Link parameters of the three-link planar
manipulator 57
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.3
FIGURE 3.9: Manipulator having three degrees of freedom and
one prismatic joint. 58
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.3 (Con’t)
Figure 3.10(a) shows the manipulator with the prismatic joint at
minimum extension; the assignment of link frames is shown in
Fig. 3.10(b ).
59
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.3 (con’t)
60
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.4
FIGURE 3.12:
Three-link,
nonplanar
manipulator.
61
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.4 (con’t)
62
3.4 CONVENTION FOR AFFIXING FRAMES TO LINKS
EXAMPLE 3.4 (con’t)
63
3.5 MANIPULATOR KINEMATICS
In this section, we derive the general form of the transformation
that relates the frames attached to neigh boring links.
We then concatenate these individual transformations to solve for
the position and orientation of link n relative to link 0.
64
3.5 MANIPULATOR KINEMATICS
Derivation of link transformations
We wish to construct the transform that defines frame {i}
relative to the frame {i -1}.
In general, this transformation will be a function of the four link
parameters.
For any given robot, this transformation will be a function of
only one variable, the other three parameters being fixed by
mechanical design.
65
3.5 MANIPULATOR KINEMATICS
66
3.6 ACTUATOR SPACE, JOINT SPACE, AND CARTESIAN
SPACE
Next week, 4th week
67
3.7 EXAMPLES: KINEMATICS OF TWO INDUSTRIAL
ROBOTS
Next week, 4th week
68
References
1. Bruno Siciliano, Oussana Khatib, Handbook of
Robotics, Springer 2008
2. Robert H. Bishop, Mechatronic Handbook,
Mechatronic systems,Sensor, Actuator, and Data
Acquisition, CRC Press, 2008
3. Norberto Pires, Industrial Robots Programming:
Building Applications for the Factories of the
Future,2007 Springer Science+Business Media, LLC
69