MTS-800 Advanced
Robotics I
Lecture 2
Spring 2023 DR AMIR HAMZA Dr. Amir Hamza – Spring
1 22
Spatial Descriptions and Transformations
• 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
Spring 2023 DR AMIR HAMZA 2
Universe Coordinate System
• We adopt 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
Spring 2023 DR AMIR HAMZA 3
Description of a Position
• Once a coordinate system is established, we can locate any point in the universe
with a 3 × 1 position vector.
• Components of 𝐴𝑃 have numerical values that indicate distances along the axes of
{A}
• Each of these distances along an axis can be
thought of as the result of projecting the vector
onto the corresponding axis
Spring 2023 DR AMIR HAMZA 4
Description of Orientation
• Positions of points are described with vectors and
orientations of bodies are described with an attached
coordinate system
• One way to describe the body attached coordinate
system, {B}, is to write the unit vectors of its three
principal axes in terms of the coordinate system {A}
Spring 2023 DR AMIR HAMZA 5
Description of Orientation – Rotation Matrix
• We denote the unit vectors giving the principal directions of coordinate system{B}
as 𝑋𝐵 , 𝑌𝐵 , 𝑍መ𝐵
• When written in terms of {A} they are written as
Spring 2023 DR AMIR HAMZA 6
Description of Orientation – Rotation Matrix
• Each component of 𝐵𝐴𝑅 can be written as the dot product of a pair of unit vectors
• Rows of the matrix are the unit vectors of {A} expressed in {B}; that is
Spring 2023 DR AMIR HAMZA 7
Description of Orientation – Rotation Matrix
• This suggests that the inverse of a rotation matrix is equal to its transpose, a fact
that can be easily verified as
Spring 2023 DR AMIR HAMZA 8
Description of an Orientation
Example ZA
YB
{A}
1 0 0
AR = 0 0 -1 ZB YA
B
0 1 0 {B}
XA
XB
Spring 2023 DR AMIR HAMZA 9
Rotated frames – General Notation
Spring 2023 DR AMIR HAMZA 10
Description of a Frame
• The information needed to completely specify the whereabouts of the manipulator
hand is a position and an orientation
• 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
• Note that a frame is a coordinate system where, in addition to the orientation, we
give a position vector which locates its origin relative to some other embedding
frame
Spring 2023 DR AMIR HAMZA 11
Description of a Frame
• 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}
Spring 2023 DR AMIR HAMZA 12
Mappings: Changing Descriptions from Frame to Frame
• 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
Spring 2023 DR AMIR HAMZA 13
Mappings Involving Translated Frames
• In this simple example, we have illustrated mapping a
vector from one frame to another.
• The quantity itself (here, a point in space) is not changed; only its description is
changed.
• Point described by 𝐵𝑃 is not translated, but remains the same, and instead we have
computed a new description of the same point, but now with respect to system {A}
Spring 2023 DR AMIR HAMZA 14
Mappings Involving Rotated Frames
• The rotation matrix describes frame {B} relative to frame {A}, it was named with
𝐴
𝐵𝑅
• 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}
Spring 2023 DR AMIR HAMZA 15
Mappings Involving Rotated Frames
• In order to calculate 𝐴𝑃, we note that the components of any
vector are simply the projections of that vector onto the unit
directions of its frame
Spring 2023 DR AMIR HAMZA 16
Example
A frame {B} that is rotated relative to frame {A} about 𝑍መ by
30 degrees. Here, 𝑍መ is pointing out of the page.
Spring 2023 DR AMIR HAMZA 17
Mappings Involving General Frames
• We consider the general case of mapping.
• The origin of frame {B} is not coincident with that of frame {A} but has a general
vector offset. The vector that locates {B}’s origin is called 𝐴𝑃 𝐵𝑂𝑅𝐺 .
• Also {B} is rotated with respect to {A}, as described by 𝐵𝐴𝑅
• Given 𝐵𝑃, we wish to compute 𝐴𝑃
Spring 2023 DR AMIR HAMZA 18
Mappings Involving General Frames
The more appealing form is as follows:
This aids in writing compact equations
and is conceptually clearer
We define a 4 × 4 matrix operator and use 4 × 1 position vectors, so that the
structure is:
Spring 2023 DR AMIR HAMZA 19
Mappings Involving General Frames
The 4×4 matrix 𝐵𝐴𝑇 is called a homogeneous transform
• Although homogeneous transforms are useful in writing compact equations, a
computer program to transform vectors would generally not use them, because of
time wasted multiplying ones and zeros.
Spring 2023 DR AMIR HAMZA 20
Example
Spring 2023 DR AMIR HAMZA 21
Operators: Translations, Rotations, And Transformations
• Translational Operator
• A translation moves a point in space a finite distance along a given vector direction
Spring 2023 DR AMIR HAMZA 22
Rotation Operator
Spring 2023 DR AMIR HAMZA 23
Transformation Operator
The transform that rotates by R and translates by Q is the same as the transform
that describes a frame rotated by R and translated by Q relative to the reference
frame
Example
Spring 2023 DR AMIR HAMZA 24
Spring 2023 DR AMIR HAMZA 25
Transformation Arithmetic
Compound Transformations
We have 𝐶 𝑃 and wish to find 𝐴𝑃
Frame {C} is known relative to frame {B}
and frame {B} is known relative to
frame {A}. We can transform 𝐶 𝑃 into 𝐵𝑃 as
then we can transform 𝐵𝑃 into 𝐴𝑃 as
Spring 2023 DR AMIR HAMZA 26
Transformation Arithmetic
Inverting Transform
Spring 2023 DR AMIR HAMZA 27
Example
Figure 2.13 shows a frame {B} that is rotated relative to frame {A} about 𝑍መ by 30 degrees and
translated four units in 𝑋𝐴 and three units in 𝑌𝐴 . Thus, we have a description of 𝐵𝐴𝑇 . Find 𝐵𝐴𝑇
The frame defining {B} is
Using 2.45, we compute
Spring 2023 DR AMIR HAMZA 28
Transformation Arithmetic
Transformation matrices multiplication is not
commutative
Spring 2023 DR AMIR HAMZA 29
Transform Equations
Consider that all transforms are known except 𝐵𝐶 𝑇
Here, we have one transform equation and
one unknown transform; hence, we easily find its solution
to be
Spring 2023 DR AMIR HAMZA 30
Transform Equations
Spring 2023 DR AMIR HAMZA 31
Example
𝐵 𝐵 𝑆 𝐵 𝐵 𝑇
𝐺 𝑇= 𝑆𝑇 𝐺 𝑇 𝐺 𝑇= 𝑇𝑇 𝐺 𝑇
Equating above two to get the bolt frame
Relative to the hand frame
Spring 2023 DR AMIR HAMZA 32
More on Representation of Orientation
• Orientation is by giving a 3 × 3 rotation matrix.
• Rotation matrices are special in that all columns are mutually orthogonal and have
unit magnitude
• Determinant of Rotation matrices is always equal to +1 (Proper Orthonormal)
Cayley’s formula for orthonormal matrices
For any proper orthonormal matrix R, there exists a skew-symmetric matrix S such
that
Spring 2023 DR AMIR HAMZA 33
More on Representation of Orientation
• Therefore any 3 × 3 rotation matrix can be specified by just three parameters
• This means there are six constraints on the nine elements of a rotation matrix
• A human operator at a computer terminal who wishes to
type in the specification of the desired orientation of a robot’s
hand would have a hard time inputting a nine-element matrix
with orthonormal columns
• A representation that requires only three numbers would be
simpler
Spring 2023 DR AMIR HAMZA 34
Example
Spring 2023 DR AMIR HAMZA 35
X-Y-Z Fixed Angles
Spring 2023 DR AMIR HAMZA 36
X-Y-Z Fixed Angles
The inverse problem, that of extracting equivalent X–Y–Z fixed angles from a
rotation matrix, is often of interest
Spring 2023 DR AMIR HAMZA 37
X-Y-Z Fixed Angles
Spring 2023 DR AMIR HAMZA 38
X-Y-Z Fixed Angles
Spring 2023 DR AMIR HAMZA 39
Z-Y-X Euler Angles
• In this representation, each rotation is
performed about an axis of the moving
system {B} rather than one of the fixed
reference {A}
• Such sets of three rotations are called
Euler Angles
Spring 2023 DR AMIR HAMZA 40
Z-Y-X Euler Angles
Relations for finding Z-Y-X Euler angles from a given rotation matrix are exactly
same as the X-Y-Z Fixed Angles (as the rotation matrix is same)
Spring 2023 DR AMIR HAMZA 41
Z–Y–Z Euler angles
Spring 2023 DR AMIR HAMZA 42
Z–Y–Z Euler angles
Spring 2023 DR AMIR HAMZA 43
Other Angle-Set Conventions
• In the preceding subsections we have seen three conventions for specifying
orientation: X–Y–Z fixed angles, Z–Y–X Euler angles, and Z–Y–Z Euler angles.
• Each of these conventions requires performing three rotations about principal axes
in a certain order.
• These conventions are examples of a set of 24 conventions that we will call angle-
set conventions
• Of these, 12 conventions are for fixed-angle sets, and 12 are for Euler-angle sets.
Spring 2023 DR AMIR HAMZA 44
Equivalent angle-axis representations
is sometimes called the equivalent axis of a finite rotation.
• Vector 𝐾
𝜃) or 𝑅𝐾 (𝜃)
• A general orientation of {B} relative to {A} may be written as 𝐵𝐴𝑅(𝐾,
and will be called the equivalent angle–axis representation.
• The specification of the vector 𝐴𝐾 requires only two parameters, because its
length is always taken to be one.
• The angle specifies a third parameter. Often, we will multiply the unit direction, 𝐾
with the amount of rotation, θ, to form a compact 3 × 1 vector description of
orientation, denoted by K (no ‘‘hat’’)
Spring 2023 DR AMIR HAMZA 45
Equivalent angle-axis representations
Spring 2023 DR AMIR HAMZA 46
Equivalent angle-axis representations
Spring 2023 DR AMIR HAMZA 47
Example
Spring 2023 DR AMIR HAMZA 48
Equivalent angle-axis representations
Example
Spring 2023 DR AMIR HAMZA 49
Spring 2023 DR AMIR HAMZA 50
Spring 2023 DR AMIR HAMZA 51