ME 537

Robotics
ME 537

Robotics
Homogeneous
Transformations
Purpose
:
The purpose of this chapter is to introduce you to the
Homogeneous Transformation. This simple 4 x 4
transformation is used in the geometry engines of CAD systems
and in the kinematics model in robot controllers. It is very
useful for examining rigid

body position and orientation (pose)
of a sequence of robotic links and joint frames.
ME 537

Robotics
ME 537

Robotics
In
particular,
you
will
1.
Examine the structure of the HT (homogeneous transform).
2.
See how orientation and position are represented within
one matrix.
3.
Apply the HT to pose (position and orient) a frame (xyz set
of axes) relative to another reference frame.
4.
Examine the HT for simple rotations about an axis.
5.
See the effect of multiplying a series of HT’s.
6.
Interpret the order of a product of HT’s relative to base and
body

fixed frames.
7.
See how the HT is used in robotics.
ME 537

Robotics
ME 537

Robotics
Script
Notation
:
Pre
super
and
sub

scripts
are
often
used
to
denote
frames
of
reference
=
transformation
of
frame
C
relative
to
frame
B
C
p
=
vector
located
in
frame
C
Tsai
uses
a
pre
and
post
script
notation
=
transformation
of
frame
C
relative
to
frame
B
C
p
=
vector
located
in
frame
C
Note
that
we
may
not
use
the
scripting
approach,
but
instead
graphically
interpret
the
frame
representations
.
T
B
C
T
B
C
ME 537

Robotics
ME 537

Robotics
1
d
3
d
2
d
1
p
z
c
z
b
z
a
z
p
y
c
y
b
y
a
y
p
x
c
x
b
x
a
x
H
=
Homogeneous Transformation
H
can represent translation, rotation, stretching or
shrinking (scaling), and perspective transformations
ME 537

Robotics
ME 537

Robotics
1
0
0
0
p
z
c
z
b
z
a
z
p
y
c
y
b
y
a
y
p
x
c
x
b
x
a
x
H
=
Interpreting the HT as a frame
a
,
b
, and
c
form an orientation sub

matrix denoted
by
R (3 x 3)
, while
p (3 x 1)
is the frame’s origin
offset.
a b c
p
R
ME 537

Robotics
ME 537

Robotics
What do the terms represent?
a
is a vector ( set of direction cosines a
x
,
a
y
, and a
z
) that orients the frame’s x axis
relative to the base X, Y, and Z axes,
respectively. Similar interpretations are
made for the frame’s y and z axes
through the direction cosine sets
represented by vectors
b
and
c
.
p
is a vector of 3 components
representing the frame’s origin relative
to the reference axes.
a
z
a
y
a
x
a
=
p
Base frame
Frame
ME 537

Robotics
ME 537

Robotics
Interpreting the HT used to locate
a vector in the base frame
Given a fixed vector
u
, its transformation
v
is represented by
v
=
H u
Note that this form doesn’t
work for free vectors !
Frame Interpretation
ME 537

Robotics
ME 537

Robotics
u
z
u
y
u
x
u
=
1
The position vector u
having components
u
x
, u
y
, u
z
must be
expanded to a 4 x 1
vector by adding a 1.
Transforming vectors
Note: To transform an orientation vector, only use the
orientation sub

matrix R, and drop the 1 from the vector so that
you are multiplying a (3 x 3) matrix times a (3 x 1) vector.
ME 537

Robotics
ME 537

Robotics
u
z
u
y
u
x
1
Interpreting the HT
R
p
1
0
T
= R u + p
The 1 adds in the frame
origin, while the R resolves
the vector u into the base
frame
v =
ME 537

Robotics
ME 537

Robotics
Pure rotation
Special cases:
1
0
0
0
0
c
z
b
z
a
z
0
c
y
b
y
a
y
0
c
x
b
x
a
x
H
=
ME 537

Robotics
ME 537

Robotics
Special cases:
Pure translation
1
0
0
0
p
z
1
0
0
p
y
0
1
0
p
x
0
0
1
H
=
ME 537

Robotics
ME 537

Robotics
Pure rotation
about x
Rotational forms
R(x,
q
⤠
=
x
cos
q
sin
q
0

sin
q
cos
q
0
0
0
1
q
q
ME 537

Robotics
ME 537

Robotics
Pure rotation
about y
Rotational forms
R(y,
q
⤠
=
cos
q
0

sin
q
0
1
0
sin
q
0
cos
q
Pure rotation
about z
R(z,
q
⤠
=
1
0
0
0
cos
q
sin
q
0

sin
q
cos
q
ME 537

Robotics
ME 537

Robotics
Example

Rotate u by 90
o
about +Z and 90
o
about +Y,
where XYZ are the fixed base reference axes. What are the
final coordinates of the vector u after these two rotations in the
base XYZ axes? If the rotation order changed, will the final
coordinates be the same? Let u
T
= [0 1 0].
Soln
:
v = R (Z,90˚) u
"rotate u to v"
w = R (Y,90˚) v
"rotate v to w"
Thus,
w = R (Y,90˚) R (Z,90˚) u
ME 537

Robotics
ME 537

Robotics
R(Y,
90
˚
)
=
0
0

1
0
1
0
1
0
0
R(Z,
90
˚
)
=
1
0
0
0
0
1
0

1
0
ME 537

Robotics
ME 537

Robotics
w
=
Graphical interpretation
Z, z', y"
Y, x', x"
X,z"
90
°
90
°
y'
(0,1,0)
(0,0,1)
ME 537

Robotics
ME 537

Robotics
w
=
Change order?
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
Not commutative!
ME 537

Robotics
ME 537

Robotics
Order of p and R: first R, then p
p
R
ME 537

Robotics
ME 537

Robotics
Order of p and R: first p, then R
Note the difference in the final matrix form.
Can you explain the difference?
p
R
ME 537

Robotics
ME 537

Robotics
Understanding HT multiplication order
If we postmultiply a transformation (A B)
representing a frame (relative to base axes) by a
second transformation (relative to the frame of the
first transformation), we make the transformation
with respect to the frame axes of the first
transformation. Premultiplying the frame
transformation by the second transformation (B A)
causes the transformation to be made with respect to
the base reference frame.
ME 537

Robotics
ME 537

Robotics
Example

Given frame
and transformation
locate frame X = H C and frame Y = C H
. Note the differences.
ME 537

Robotics
ME 537

Robotics
Results : HC
C
H
ME 537

Robotics
ME 537

Robotics
Results : CH
C
H
ME 537

Robotics
ME 537

Robotics
Inverse Transformations
Given
u
and the rotational transformation
R
, the
coordinates of
u
after being rotated by
R
are defined
by
v
=
Ru
. The inverse question is given
v,
what
u
when rotated by
R
will give
v
?
Answer:
u = R

1
v = R
T
v
ME 537

Robotics
ME 537

Robotics
Inverse Transformations
Similarly for any displacement matrix
H
(
R, p
), we
can pose a similar question to get
u
=
H

1
v.
What is
the inverse of a displacement transformation? Without
proof:
H

1
=
=
ME 537

Robotics
ME 537

Robotics
Operational rules for square
matrices of full rank
:
ME 537

Robotics
ME 537

Robotics
HT summary
Homogeneous
transformation
consists
of
three
components
:
rotational,
orthogonal
3
x
3
sub

matrix
which
is
comprised
of
columns
of
direction
cosines
used
to
orient
the
axes
of
one
frame
relative
to
another
.
column
vector
in
4
th
column
represents
the
origin
of
second
frame
relative
to
first
frame,
resolved
in
the
first
frame
.
0
's
in
4
th
row
except
for
1
in
4
,
4
position
.
ME 537

Robotics
ME 537

Robotics
HT summary
The homogeneous transformation
effectively merges a frame orientation
matrix and frame translation vector into
one matrix. The order of the operation
should be viewed as rotation first, then
translation.
ME 537

Robotics
ME 537

Robotics
HT summary
The homogeneous transformation can be viewed
as a position/orientation relationship of one
frame relative to another frame called the
reference frame.
ME 537

Robotics
ME 537

Robotics
HT summary
A B
can be interpreted as frame
A
described
relative to the first or base frame while frame
B
is described relative to frame
A
(usual way). We
can also interpret
B
in the base frame
transformed by
A
in the base frame. Both
interpretations give same result.
Comments 0
Log in to post a comment