You are on page 1of 44

Lecture 3: Kinematics:

Rigid Motions and Homogeneous Transformations

Composition of Rotations:

Rotations with Respect to the Current Frame

Rotations with Respect to the Fixed Frame

Example
c Anton Shiriaev. 5EL158: Lecture 3 p. 1/15
Lecture 3: Kinematics:
Rigid Motions and Homogeneous Transformations

Composition of Rotations:

Rotations with Respect to the Current Frame

Rotations with Respect to the Fixed Frame

Example

Parameterizations of Rotations:

Euler Angles

Roll, Pitch and Yaw Angles

Axis/Angle Representation
c Anton Shiriaev. 5EL158: Lecture 3 p. 1/15
Lecture 3: Kinematics:
Rigid Motions and Homogeneous Transformations

Composition of Rotations:

Rotations with Respect to the Current Frame

Rotations with Respect to the Fixed Frame

Example

Parameterizations of Rotations:

Euler Angles

Roll, Pitch and Yaw Angles

Axis/Angle Representation

Rigid Motions and Homogeneous Transformations


c Anton Shiriaev. 5EL158: Lecture 3 p. 1/15
What Have We Learned:
Given N-frames in the 3-dimensional space
(o
0
, x
0
, y
0
, z
0
), (o
1
, x
1
, y
1
, z
1
), . . . (o
N1
, x
N1
, y
N1
, z
N1
)
c Anton Shiriaev. 5EL158: Lecture 3 p. 2/15
What Have We Learned:
Given N-frames in the 3-dimensional space
(o
0
, x
0
, y
0
, z
0
), (o
1
, x
1
, y
1
, z
1
), . . . (o
N1
, x
N1
, y
N1
, z
N1
)
If we are given (N 1)-rotation matrices
R
0
1
, R
1
2
, . . . , R
(N2)
(N1)
that represent consecutive rotation between the current frames
_
(x
0
y
0
z
0
), (x
1
y
1
z
1
)
_
,
_
(x
1
y
1
z
1
), (x
2
y
2
z
2
)
_
, . . . ,
_
(x
N2
y
N2
z
N2
), (x
N1
y
N1
z
N1
)
_
c Anton Shiriaev. 5EL158: Lecture 3 p. 2/15
What Have We Learned:
Given N-frames in the 3-dimensional space
(o
0
, x
0
, y
0
, z
0
), (o
1
, x
1
, y
1
, z
1
), . . . (o
N1
, x
N1
, y
N1
, z
N1
)
If we are given (N 1)-rotation matrices
R
0
1
, R
1
2
, . . . , R
(N2)
(N1)
that represent consecutive rotations between the current frames
_
(x
0
y
0
z
0
), (x
1
y
1
z
1
)
_
,
_
(x
1
y
1
z
1
), (x
2
y
2
z
2
)
_
, . . . ,
_
(x
N2
y
N2
z
N2
), (x
N1
y
N1
z
N1
)
_
The formula to compute the position of the point in the 0-frame
having known its position in the 1-frame
p
0
= R
0
1
p
1
c Anton Shiriaev. 5EL158: Lecture 3 p. 2/15
What Have We Learned:
Given N-frames in the 3-dimensional space
(o
0
, x
0
, y
0
, z
0
), (o
1
, x
1
, y
1
, z
1
), . . . (o
N1
, x
N1
, y
N1
, z
N1
)
If we are given (N 1)-rotation matrices
R
0
1
, R
1
2
, . . . , R
(N2)
(N1)
that represent consecutive rotations between the current frames
_
(x
0
y
0
z
0
), (x
1
y
1
z
1
)
_
,
_
(x
1
y
1
z
1
), (x
2
y
2
z
2
)
_
, . . . ,
_
(x
N2
y
N2
z
N2
), (x
N1
y
N1
z
N1
)
_
The formula to compute the position of the point in the 0-frame
having known its position in the 2-frame
p
0
= R
0
1
p
1
, p
1
= R
1
2
p
2
c Anton Shiriaev. 5EL158: Lecture 3 p. 2/15
What Have We Learned:
Given N-frames in the 3-dimensional space
(o
0
, x
0
, y
0
, z
0
), (o
1
, x
1
, y
1
, z
1
), . . . (o
N1
, x
N1
, y
N1
, z
N1
)
If we are given (N 1)-rotation matrices
R
0
1
, R
1
2
, . . . , R
(N2)
(N1)
that represent consecutive rotations between the current frames
_
(x
0
y
0
z
0
), (x
1
y
1
z
1
)
_
,
_
(x
1
y
1
z
1
), (x
2
y
2
z
2
)
_
, . . . ,
_
(x
N2
y
N2
z
N2
), (x
N1
y
N1
z
N1
)
_
The formula to compute the position of the point in the 0-frame
having known its position in the (N 1)-frame
p
0
= R
0
1
p
1
, p
1
= R
1
2
p
2
, . . . , p
(N2)
= R
(N2)
(N1)
p
(N1)
c Anton Shiriaev. 5EL158: Lecture 3 p. 2/15
What Have We Learned:
Given N-frames in the 3-dimensional space
(o
0
, x
0
, y
0
, z
0
), (o
1
, x
1
, y
1
, z
1
), . . . (o
N1
, x
N1
, y
N1
, z
N1
)
If we are given (N 1)-rotation matrices
R
0
1
, R
1
2
, . . . , R
(N2)
(N1)
that represent consecutive rotations between the current frames
_
(x
0
y
0
z
0
), (x
1
y
1
z
1
)
_
,
_
(x
1
y
1
z
1
), (x
2
y
2
z
2
)
_
, . . . ,
_
(x
N2
y
N2
z
N2
), (x
N1
y
N1
z
N1
)
_
The formula to compute the position of the point in the 0-frame
having known its position in the (N 1)-frame is
p
0
= R
0
1
R
1
2
R
2
3
R
(N2)
(N1)
p
(N1)
c Anton Shiriaev. 5EL158: Lecture 3 p. 2/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z


c Anton Shiriaev. 5EL158: Lecture 3 p. 3/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z


The total rotation will be then
R = R
x,
R
z,
c Anton Shiriaev. 5EL158: Lecture 3 p. 3/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z


The total rotation will be then
R = R
x,
R
z,
For any point of the 2-frame with coordinates p
2
=
_
x
2
, y
2
, z
2

T
its coordinates in the 0-frame are computed simply as
p
0
= Rp
2
=
_
R
x,
R
z,

p
2
c Anton Shiriaev. 5EL158: Lecture 3 p. 3/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z


c Anton Shiriaev. 5EL158: Lecture 3 p. 4/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z


The total rotation will be then
R = R
x,
R
z,
R
3
c Anton Shiriaev. 5EL158: Lecture 3 p. 4/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z


The total rotation will be then
R = R
x,
R
z,
R
3
We have computed this rotation as
R
3
=
_
R
x,
R
z,

1
R
z,

_
R
x,
R
z,

c Anton Shiriaev. 5EL158: Lecture 3 p. 4/15


Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z


The total rotation will be then
R = R
x,
R
z,
R
3
= R
z,
R
x,
R
z,
We have computed this rotation as
R
3
=
_
R
x,
R
z,

1
R
z,

_
R
x,
R
z,

c Anton Shiriaev. 5EL158: Lecture 3 p. 4/15


Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z

4: A rotation of about the current axis y


c Anton Shiriaev. 5EL158: Lecture 3 p. 5/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z

4: A rotation of about the current axis y


The total rotation will be then
R = R
x,
R
z,
R
3
R
y,
=
_
R
z,
R
x,
R
z,

R
y,
c Anton Shiriaev. 5EL158: Lecture 3 p. 5/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z

4: A rotation of about the current axis y

5: A rotation of about the xed axis x


c Anton Shiriaev. 5EL158: Lecture 3 p. 6/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z

4: A rotation of about the current axis y

5: A rotation of about the xed axis x


The total rotation will be then
R = R
z,
R
x,
R
z,
R
y,
R
5
c Anton Shiriaev. 5EL158: Lecture 3 p. 6/15
Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z

4: A rotation of about the current axis y

5: A rotation of about the xed axis x


The total rotation will be then
R = R
z,
R
x,
R
z,
R
y,
R
5
We have computed this rotation as
R
5
=
_
R
z,
R
x,
R
z,
R
y,

1
R
x,

_
R
z,
R
x,
R
z,
R
y,

c Anton Shiriaev. 5EL158: Lecture 3 p. 6/15


Example 2.8:
Find the rotation R dened by the following basic rotations:

1: A rotation of about the current axis x;

2: A rotation of about the current axis z

3: A rotation of about the xed axis z

4: A rotation of about the current axis y

5: A rotation of about the xed axis x


The total rotation will be then
R = R
x,
R
z,
R
x,
R
z,
R
y,
We have computed this rotation as
R
5
=
_
R
z,
R
x,
R
z,
R
y,

1
R
x,

_
R
z,
R
x,
R
z,
R
y,

c Anton Shiriaev. 5EL158: Lecture 3 p. 6/15


Lecture 3: Kinematics:
Rigid Motions and Homogeneous Transformations

Composition of Rotations:

Rotations with Respect to the Current Frame

Rotations with Respect to the Fixed Frame

Example

Parameterizations of Rotations:

Euler Angles

Roll, Pitch and Yaw Angles

Axis/Angle Representation

Rigid Motions and Homogeneous Transformations


c Anton Shiriaev. 5EL158: Lecture 3 p. 7/15
Parameterizations of Rotations:
Any rotation matrix R is

of dimension 3 3, i.e. it is 9-numbers

belongs to SO(3), i.e.

its 3 columns are vectors of length 1 (3 equations)

its 3 columns are orthogonal to each other (3 equations)


c Anton Shiriaev. 5EL158: Lecture 3 p. 8/15
Parameterizations of Rotations:
Any rotation matrix R is

of dimension 3 3, i.e. it is 9-numbers

belongs to SO(3), i.e.

its 3 columns are vectors of length 1 (3 equations)

its 3 columns are orthogonal to each other (3 equations)


Except the particular cases, only 3 of 9
numbers that parameterize the rotation matrix,
can be assigned freely!
c Anton Shiriaev. 5EL158: Lecture 3 p. 8/15
Euler Angles:
Euler angles are angles of 3 rotations about current axes
R
ZY Z
:= R
z,
R
y,
R
z,
c Anton Shiriaev. 5EL158: Lecture 3 p. 9/15
Euler Angles:
Euler angles are angles of 3 rotations about current axes
R
ZY Z
:=
_

_
c

0
s

0
0 0 1
_

_
R
y,
R
z,
c Anton Shiriaev. 5EL158: Lecture 3 p. 9/15
Euler Angles:
Euler angles are angles of 3 rotations about current axes
R
ZY Z
:=
_

_
c

0
s

0
0 0 1
_

_
c

0 s

0 1 0
s

0 c

_
R
z,
c Anton Shiriaev. 5EL158: Lecture 3 p. 9/15
Euler Angles:
Euler angles are angles of 3 rotations about current axes
R
ZY Z
:=
_

_
c

0
s

0
0 0 1
_

_
c

0 s

0 1 0
s

0 c

_
c

0
s

0
0 0 1
_

_
c Anton Shiriaev. 5EL158: Lecture 3 p. 9/15
Roll, Pitch Yaw Angles:
Roll, pitch and yaw angles are angles of 3 rotations about the
xed axes x, y and z
R
xyz
:= R
z,
R
y,
R
x,
c Anton Shiriaev. 5EL158: Lecture 3 p. 10/15
Roll, Pitch Yaw Angles:
Roll, pitch and yaw angles are angles of 3 rotations
about the xed axes x, y and z
R
xyz
:= R
z,
R
y,

_

_
1 0 0
0 c

0 s

_
c Anton Shiriaev. 5EL158: Lecture 3 p. 10/15
Roll, Pitch Yaw Angles:
Roll, pitch and yaw angles are angles of 3 rotations
about the xed axes x, y and z
R
xyz
:= R
z,

_
c

0 s

0 1 0
s

0 c

_
1 0 0
0 c

0 s

_
c Anton Shiriaev. 5EL158: Lecture 3 p. 10/15
Roll, Pitch Yaw Angles:
Roll, pitch and yaw angles are angles of 3 rotations
about the xed axes x, y and z
R
xyz
:=
_

_
c

0
s

0
0 0 1
_

_
c

0 s

0 1 0
s

0 c

_
1 0 0
0 c

0 s

_
c Anton Shiriaev. 5EL158: Lecture 3 p. 10/15
Axis/Angle Representation for a Rotation Matrix:
Any rotational matrix can be expressed as a rotation of angle
about an axis k = [k
x
, k
y
, k
z
]
T
R

k,
= R R
z,
R
1
, R = R
z,
R
y,
c Anton Shiriaev. 5EL158: Lecture 3 p. 11/15
Lecture 3: Kinematics:
Rigid Motions and Homogeneous Transformations

Composition of Rotations:

Rotations with Respect to the Current Frame

Rotations with Respect to the Fixed Frame

Example

Parameterizations of Rotations:

Euler Angles

Roll, Pitch and Yaw Angles

Axis/Angle Representation

Rigid Motions and Homogeneous Transformations


c Anton Shiriaev. 5EL158: Lecture 3 p. 12/15
Rigid Motions
A rigid motion is an ordered pair (R, d), where R SO(3) and
d R
3
. The group of all rigid motions is known as Special
Euclidean Group denoted by SE(3).
c Anton Shiriaev. 5EL158: Lecture 3 p. 13/15
Rigid Motions
A rigid motion is an ordered pair (R, d), where R SO(3) and
d R
3
. The group of all rigid motions is known as Special
Euclidean Group denoted by SE(3).
It is the way to compute coordinates in different frames
p
0
= R
0
1
p
1
+ d
0
c Anton Shiriaev. 5EL158: Lecture 3 p. 13/15
Rigid Motions
A rigid motion is an ordered pair (R, d), where R SO(3) and
d R
3
. The group of all rigid motions is known as Special
Euclidean Group denoted by SE(3).
It is the way to compute coordinates in different frames
p
0
= R
0
1
p
1
+ d
0
If there are 3 frames corresponding to 2 rigid motions
p
1
= R
1
2
p
2
+ d
1
2
p
0
= R
0
1
p
1
+ d
0
1
then the overall motion is
p
0
= R
0
1
R
1
2
p
2
+ R
0
1
d
1
2
+ d
0
1
c Anton Shiriaev. 5EL158: Lecture 3 p. 13/15
Concept of Homogeneous Transformation
HT is just a convenient way to write the formula
p
0
= R
0
1
R
1
2
p
2
+ R
0
1
d
1
+ d
0
c Anton Shiriaev. 5EL158: Lecture 3 p. 14/15
Concept of Homogeneous Transformation
HT is just a convenient way to write the formula
p
0
= R
0
1
R
1
2
p
2
+ R
0
1
d
1
+ d
0
Given two rigid motions (R
0
1
, d
0
1
) and (R
1
2
, d
1
2
), consider the
product of two matrices
_
R
0
1
d
0
1
0
13
1
_ _
R
1
2
d
1
2
0
13
1
_
=
_
R
0
1
R
1
2
R
0
1
d
1
2
+ d
0
1
0
13
1
_
c Anton Shiriaev. 5EL158: Lecture 3 p. 14/15
Concept of Homogeneous Transformation
HT is just a convenient way to write the formula
p
0
= R
0
1
R
1
2
p
2
+ R
0
1
d
1
+ d
0
Given two rigid motions (R
0
1
, d
0
1
) and (R
1
2
, d
1
2
), consider the
product of two matrices
_
R
0
1
d
0
1
0
13
1
_ _
R
1
2
d
1
2
0
13
1
_
=
_
R
0
1
R
1
2
R
0
1
d
1
2
+ d
0
1
0
13
1
_
c Anton Shiriaev. 5EL158: Lecture 3 p. 14/15
Concept of Homogeneous Transformation
HT is just a convenient way to write the formula
p
0
= R
0
1
R
1
2
p
2
+ R
0
1
d
1
+ d
0
Given two rigid motions (R
0
1
, d
0
1
) and (R
1
2
, d
1
2
), consider the
product of two matrices
_
R
0
1
d
0
1
0
13
1
_ _
R
1
2
d
1
2
0
13
1
_
=
_
R
0
1
R
1
2
R
0
1
d
1
2
+ d
0
1
0
13
1
_
Given a rigid motion (R, d) SE(3), the 4 4-matrix
H =
_
R d
0
13
1
_
is called homogeneous transformation associated with (R, d)
c Anton Shiriaev. 5EL158: Lecture 3 p. 14/15
Concept of Homogeneous Transformation
To use HTs in computing coordinates of points, we need to
extend the vectors p
0
and p
1
by one coordinate. Namely
P
0
=
_
p
0
1
_
, P
1
=
_
p
1
1
_
c Anton Shiriaev. 5EL158: Lecture 3 p. 15/15
Concept of Homogeneous Transformation
To use HTs in computing coordinates of points, we need to
extend the vectors p
0
and p
1
by one coordinate. Namely
P
0
=
_
p
0
1
_
, P
1
=
_
p
1
1
_
Then
P
0
=
_
p
0
1
_
=
_
R
0
1
p
1
+ d
0
1
_
=
_
R
0
1
d
0
0
13
1
_
. .
H
0
1
_
p
1
1
_
. .
P
1
that is in short
P
0
= H
0
1
P
1
c Anton Shiriaev. 5EL158: Lecture 3 p. 15/15

You might also like