Lecture 3: Kinematics: Rigid Motions and Homogeneous ......Rigid Motions and Homogeneous...

Preview:

Citation preview

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

(o0, x0, y0, z0), (o1, x1, y1, z1), . . . (oN−1, xN−1, yN−1, zN−1)

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 2/15

What Have We Learned:

Given N -frames in the 3-dimensional space

(o0, x0, y0, z0), (o1, x1, y1, z1), . . . (oN−1, xN−1, yN−1, zN−1)

If we are given (N − 1)-rotation matrices

R01, R1

2, . . . , R(N−2)(N−1)

that represent consecutive rotation between the current frames

{(x0y0z0), (x1y1z1)

},

{(x1y1z1), (x2y2z2)

}, . . . ,

{(xN−2yN−2zN−2), (xN−1yN−1zN−1)

}

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 2/15

What Have We Learned:

Given N -frames in the 3-dimensional space

(o0, x0, y0, z0), (o1, x1, y1, z1), . . . (oN−1, xN−1, yN−1, zN−1)

If we are given (N − 1)-rotation matrices

R01, R1

2, . . . , R(N−2)(N−1)

that represent consecutive rotations between the current frames

{(x0y0z0), (x1y1z1)

},

{(x1y1z1), (x2y2z2)

}, . . . ,

{(xN−2yN−2zN−2), (xN−1yN−1zN−1)

}

The formula to compute the position of the point in the 0-framehaving known its position in the 1-frame

p0 = R01p1

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 2/15

What Have We Learned:

Given N -frames in the 3-dimensional space

(o0, x0, y0, z0), (o1, x1, y1, z1), . . . (oN−1, xN−1, yN−1, zN−1)

If we are given (N − 1)-rotation matrices

R01, R1

2, . . . , R(N−2)(N−1)

that represent consecutive rotations between the current frames

{(x0y0z0), (x1y1z1)

},

{(x1y1z1), (x2y2z2)

}, . . . ,

{(xN−2yN−2zN−2), (xN−1yN−1zN−1)

}

The formula to compute the position of the point in the 0-framehaving known its position in the 2-frame

p0 = R01p1, p1 = R1

2p2

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 2/15

What Have We Learned:

Given N -frames in the 3-dimensional space

(o0, x0, y0, z0), (o1, x1, y1, z1), . . . (oN−1, xN−1, yN−1, zN−1)

If we are given (N − 1)-rotation matrices

R01, R1

2, . . . , R(N−2)(N−1)

that represent consecutive rotations between the current frames

{(x0y0z0), (x1y1z1)

},

{(x1y1z1), (x2y2z2)

}, . . . ,

{(xN−2yN−2zN−2), (xN−1yN−1zN−1)

}

The formula to compute the position of the point in the 0-framehaving known its position in the (N − 1)-frame

p0 = R01p1, p1 = R1

2p2, . . . , p(N−2) = R(N−2)(N−1)p

(N−1)

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 2/15

What Have We Learned:

Given N -frames in the 3-dimensional space

(o0, x0, y0, z0), (o1, x1, y1, z1), . . . (oN−1, xN−1, yN−1, zN−1)

If we are given (N − 1)-rotation matrices

R01, R1

2, . . . , R(N−2)(N−1)

that represent consecutive rotations between the current frames

{(x0y0z0), (x1y1z1)

},

{(x1y1z1), (x2y2z2)

}, . . . ,

{(xN−2yN−2zN−2), (xN−1yN−1zN−1)

}

The formula to compute the position of the point in the 0-framehaving known its position in the (N − 1)-frame is

p0 = R01 R1

2 R23 · · · R

(N−2)(N−1) p(N−1)

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 2/15

Example 2.8:

Find the rotation R defined 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 defined 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 = Rx,θRz,φ

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

Example 2.8:

Find the rotation R defined 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 = Rx,θRz,φ

For any point of the 2-frame with coordinates p2 =[x2, y2, z2

]T

its coordinates in the 0-frame are computed simply as

p0 = R p2 =[Rx,θRz,φ

]p2

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

The total rotation will be then

R = Rx,θRz,φR3

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

The total rotation will be then

R = Rx,θRz,φR3

We have computed this rotation as

R3 =[Rx,θRz,φ

]−1

· Rz,α ·[Rx,θRz,φ

]

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

The total rotation will be then

R = Rx,θRz,φR3 = Rz,αRx,θRz,φ

We have computed this rotation as

R3 =[Rx,θRz,φ

]−1

· Rz,α ·[Rx,θRz,φ

]

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

Example 2.8:

Find the rotation R defined 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 fixed 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 defined 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 fixed axis z

• 4: A rotation of β about the current axis y

The total rotation will be then

R = Rx,θRz,φR3 Ry,β =[Rz,αRx,θRz,φ

]Ry,β

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

• 4: A rotation of β about the current axis y

• 5: A rotation of δ about the fixed axis x

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

• 4: A rotation of β about the current axis y

• 5: A rotation of δ about the fixed axis x

The total rotation will be then

R = Rz,αRx,θRz,φRy,βR5

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

• 4: A rotation of β about the current axis y

• 5: A rotation of δ about the fixed axis x

The total rotation will be then

R = Rz,αRx,θRz,φRy,βR5

We have computed this rotation as

R5 =[Rz,αRx,θRz,φRy,β

]−1

· Rx,δ ·[Rz,αRx,θRz,φRy,β

]

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

Example 2.8:

Find the rotation R defined 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 fixed axis z

• 4: A rotation of β about the current axis y

• 5: A rotation of δ about the fixed axis x

The total rotation will be then

R = Rx,δ · Rz,α · Rx,θ · Rz,φ · Ry,β

We have computed this rotation as

R5 =[Rz,αRx,θRz,φRy,β

]−1

· Rx,δ ·[Rz,αRx,θRz,φRy,β

]

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

RZYZ := Rz,φ · Ry,θ · Rz,ψ

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 9/15

Euler Angles:

Euler angles are angles of 3 rotations about current axes

RZYZ :=

cφ −sφ 0

sφ cφ 0

0 0 1

· Ry,θ · Rz,ψ

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 9/15

Euler Angles:

Euler angles are angles of 3 rotations about current axes

RZYZ :=

cφ −sφ 0

sφ cφ 0

0 0 1

·

cθ 0 sθ

0 1 0

−sθ 0 cθ

· Rz,ψ

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 9/15

Euler Angles:

Euler angles are angles of 3 rotations about current axes

RZYZ :=

cφ −sφ 0

sφ cφ 0

0 0 1

·

cθ 0 sθ

0 1 0

−sθ 0 cθ

·

cψ −sψ 0

sψ cψ 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 thefixed axes x, y and z

Rxyz := Rz,φ · Ry,θ · Rx,ψ

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 10/15

Roll, Pitch Yaw Angles:

Roll, pitch and yaw angles are angles of 3 rotationsabout the fixed axes x, y and z

Rxyz := Rz,φ · Ry,θ ·

1 0 0

0 cψ −sψ

0 sψ cψ

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 10/15

Roll, Pitch Yaw Angles:

Roll, pitch and yaw angles are angles of 3 rotationsabout the fixed axes x, y and z

Rxyz := Rz,φ ·

cθ 0 sθ

0 1 0

−sθ 0 cθ

·

1 0 0

0 cψ −sψ

0 sψ cψ

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 10/15

Roll, Pitch Yaw Angles:

Roll, pitch and yaw angles are angles of 3 rotationsabout the fixed axes x, y and z

Rxyz :=

cφ −sφ 0

sφ cφ 0

0 0 1

·

cθ 0 sθ

0 1 0

−sθ 0 cθ

·

1 0 0

0 cψ −sψ

0 sψ cψ

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 = [kx, ky, kz]T

R~k,θ = R · Rz,θ · R−1, R = Rz,α · Ry,β

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) andd ∈ R3. The group of all rigid motions is known as SpecialEuclidean 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) andd ∈ R3. The group of all rigid motions is known as SpecialEuclidean Group denoted by SE(3).

It is the way to compute coordinates in different frames

p0 = R01p1 + d0

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 13/15

Rigid Motions

A rigid motion is an ordered pair (R, d), where R ∈ SO(3) andd ∈ R3. The group of all rigid motions is known as SpecialEuclidean Group denoted by SE(3).

It is the way to compute coordinates in different frames

p0 = R01p1 + d0

If there are 3 frames corresponding to 2 rigid motions

p1 = R12p2 + d1

2

p0 = R01p1 + d0

1

then the overall motion is

p0 = R01R1

2p2 + R01d1

2 + d01

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 13/15

Concept of Homogeneous Transformation

HT is just a convenient way to write the formula

p0 = R01R1

2 p2 + R01d1 + d0

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 14/15

Concept of Homogeneous Transformation

HT is just a convenient way to write the formula

p0 = R01R1

2 p2 + R01d1 + d0

Given two rigid motions (R01, d0

1) and (R12, d1

2), consider theproduct of two matrices

[

R01 d0

1

01×3 1

] [

R12 d1

2

01×3 1

]

=

[

R01R1

2 R01d1

2 + d01

01×3 1

]

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 14/15

Concept of Homogeneous Transformation

HT is just a convenient way to write the formula

p0 = R01R1

2 p2 + R01d1 + d0

Given two rigid motions (R01, d0

1) and (R12, d1

2), consider theproduct of two matrices

[

R01 d0

1

01×3 1

] [

R12 d1

2

01×3 1

]

=

[

R01R1

2 R01d1

2 + d01

01×3 1

]

c©Anton Shiriaev. 5EL158: Lecture 3 – p. 14/15

Concept of Homogeneous Transformation

HT is just a convenient way to write the formula

p0 = R01R1

2 p2 + R01d1 + d0

Given two rigid motions (R01, d0

1) and (R12, d1

2), consider theproduct of two matrices

[

R01 d0

1

01×3 1

] [

R12 d1

2

01×3 1

]

=

[

R01R1

2 R01d1

2 + d01

01×3 1

]

Given a rigid motion (R, d) ∈ SE(3), the 4 × 4-matrix

H =

[

R d

01×3 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 toextend the vectors p0 and p1 by one coordinate. Namely

P 0 =

[

p0

1

]

, P 1 =

[

p1

1

]

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

Concept of Homogeneous Transformation

To use HTs in computing coordinates of points, we need toextend the vectors p0 and p1 by one coordinate. Namely

P 0 =

[

p0

1

]

, P 1 =

[

p1

1

]

Then

P 0 =

[

p0

1

]

=

[

R01p1 + d0

1

]

=

[

R01 d0

01×3 1

]

︸ ︷︷ ︸

H01

[

p1

1

]

︸ ︷︷ ︸

P 1

that is in shortP 0 = H0

1P 1

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

Recommended