<<

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik

Transformation Matrices

Dr.-Ing. John Nassour 푧2 푧1 푦1 푦2 풑 푥 푦푛 푛 푥1 푧0 푧 푥2 푛

푦0 Suggested literature

• Robot Modeling and Control • Robotics: Modelling, Planning and Control

10/17/2017 Motivation

A large part of robot is concerned with the establishment of various coordinate systems to represent the positions and orientations of rigid objects, and with transformations among these coordinate systems.

Indeed, the of three-dimensional and of rigid motions plays a central role in all aspects of robotic manipulation.

A rigid motion is the action of taking an object and moving it to a different location without altering its or size

10/17/2017 Transformation

The operations of and .

Introduce the notion of HOMOGENEOUS TRANSFORMATIONS (combining the operations of rotation and translation into a single multiplication).

10/17/2017 Representing Positions

The coordinate vectors that represent the location of the point 풑 in space with respect to coordinate frames 풐ퟎ 풙ퟎ 풚ퟎ and 풐ퟏ 풙ퟏ 풚ퟏ, respectively are:

10/17/2017 Representing Positions

Lets assign coordinates that represent the position of the origin of one (frame) with respect to another.

10/17/2017 Representing Positions

What is the difference between the geometric entity called 풑 and any particular coordinate vector 풗 that is assigned to represent 풑?

풑 is independent of the choice of coordinate systems. 풗 depends on the choice of coordinate frames.

10/17/2017 Representing Positions

A point corresponds to a specific location in space.

A vector specifies a direction and a magnitude (e.g. displacements or ).

The point 풑 is not equivalent to the vector 풗ퟏ, the from the origin 풐ퟎ to the point 풑 is given by the vector 풗ퟏ.

We will use the term vector to refer to what are sometimes called free vectors, i.e., vectors that are not constrained to be located at a particular point in space.

10/17/2017 Representing Positions

When assigning coordinates to vectors, we use the same notational convention that we used when assigning coordinates to points.

Thus, 풗ퟏ and 풗ퟐ are geometric entities that are invariant with respect to the choice of coordinate systems, but the representation by coordinates of these vectors depends directly on the choice of reference coordinate frame.

10/17/2017 Coordinate Convention

In order to perform algebraic manipulations using coordinates, it is essential that all coordinate vectors be defined with respect to the same coordinate frame.

In the case of free vectors, it is enough that they be defined with respect to parallel coordinate frames.

10/17/2017 Coordinate Convention

An expression of the form:

is not defined since the frames 풐ퟎ 풙ퟎ 풚ퟎ and 풐ퟏ 풙ퟏ 풚ퟏ are not parallel.

10/17/2017 Coordinate Convention

An expression of the form:

is not defined since the frames 풐ퟎ 풙ퟎ 풚ퟎ and 풐ퟏ 풙ퟏ 풚ퟏ are not parallel.

Thus, we see a clear need, not only for a representation system that allows points to be expressed with respect to various coordinate systems, but also for a mechanism that allows us to transform the coordinates of points that are expressed in one coordinate system into the appropriate coordinates with respect to some other coordinate frame.

10/17/2017 Representing

In order to represent the relative position and of one with respect to another, we will rigidly attach coordinate frames to each body, and then specify the geometric relationships between these coordinate frames.

10/17/2017 Representing Rotations

In order to represent the relative position and orientation of one rigid body with respect to another, we will rigidly attach coordinate frames to each body, and then specify the geometric relationships between these coordinate frames.

10/17/2017 Representing Rotations

In order to represent the relative position and orientation of one rigid body with respect to another, we will rigidly attach coordinate frames to each body, and then specify the geometric relationships between these coordinate frames.

How to describe the orientation of one coordinate frame relative to another frame?

10/17/2017 Rotation In The

10/17/2017 Rotation In The Plane

Fram 풐ퟏ 풙ퟏ 풚ퟏ is obtained by rotating frame 풐ퟎ 풙ퟎ 풚ퟎ by an 휽.

The coordinate vectors for the axes of frame 풐ퟏ 풙ퟏ 풚ퟏ with respect to coordinate frame 풐ퟎ 풙ퟎ 풚ퟎ are described by a :

ퟎ ퟎ where풙ퟏ and 풚ퟏ are the coordinates in frame 풐ퟎ 풙ퟎ 풚ퟎ of unit vectors 풙 ퟏ and 풚 ퟏ , respectively.

10/17/2017 Rotation In The Plane

ퟎ 푹ퟏ is a matrix whose column vectors are the coordinates of the (unit vectors along the) axes of frame 풐ퟏ 풙ퟏ 풚ퟏ expressed relative to frame 풐ퟎ 풙ퟎ 풚ퟎ.

10/17/2017 Rotation In The Plane

The of two unit vectors gives the projection of one onto the other

ퟎ 푹ퟏ describes the orientation of frame 풐ퟏ 풙ퟏ 풚ퟏ with respect to the frame 풐ퟎ 풙ퟎ 풚ퟎ. ퟏ 푹ퟎ =? 10/17/2017 Rotation In The Plane

The orientation of frame 풐ퟎ 풙ퟎ 풚ퟎ with respect to the frame 풐ퟏ 풙ퟏ 풚ퟏ. The dot product of two unit vectors gives the projection of one onto the other

Since the inner product is commutative

10/17/2017 Rotations In Three Dimensions

Each axis of the frame 풐ퟏ풙ퟏ풚ퟏ풛ퟏ is projected onto coordinate frame 풐ퟎ풙ퟎ풚ퟎ풛ퟎ.

The resulting rotation matrix is given by:

10/17/2017 Rotation About 풛ퟎ By An Angle 휽

10/17/2017 Rotation About 풛ퟎ By An Angle 휽

Called a basic rotation matrix (about the z-axis) 푹풛,휽

10/17/2017 Basic Rotation Matrix About The Z-axis

10/17/2017 Basic Rotation Matrix About The X-axis

푹풙,휽

10/17/2017 Basic Rotation Matrix About The Y-axis

푹풚,휽

10/17/2017 Example

Find the description of frame 풐ퟏ풙ퟏ풚ퟏ풛ퟏ with respect to the frame 풐ퟎ풙ퟎ풚ퟎ풛ퟎ.

10/17/2017 Example

Find the description of frame 풐ퟏ풙ퟏ풚ퟏ풛ퟏ with respect to the frame 풐ퟎ풙ퟎ풚ퟎ풛ퟎ.

The coordinates of 풙ퟏare

The coordinates of 풚ퟏare

The coordinates of 풛ퟏ are

10/17/2017 Example

Find the description of frame 풐ퟏ풙ퟏ풚ퟏ풛ퟏ with respect to the frame 풐ퟎ풙ퟎ풚ퟎ풛ퟎ.

The coordinates of 풙ퟏare

The coordinates of 풚ퟏare

The coordinates of 풛ퟏ are

10/17/2017 Rotational Transformations

푺 is a rigid object to which a coordinate 풇풓풂풎풆 ퟏ is attached. Given 풑ퟏof the point 풑, determine the coordinates of 풑 relative to a fixed reference 풇풓풂풎풆 ퟎ.

The projection of the point 풑 onto the coordinate axes of the 풇풓풂풎풆 ퟎ:

10/17/2017 Rotational Transformations

10/17/2017 Rotational Transformations

ퟎ Thus, the rotation matrix 푹ퟏ can be used not only to represent the orientation of coordinate frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ with respect to frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ , but also to transform the coordinates of a point from one frame to another.

If a given point is expressed relative to ퟏ ퟎ ퟏ 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ by coordinates 풑 , then 푹ퟏ 풑 represents the same point expressed relative to the frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ.

10/17/2017 Rotational Transformations

Rotation matrices to represent rigid motions

It is possible to derive the coordinates for 풑풃 given only the coordinates for 풑풂 and the rotation matrix that corresponds to the rotation about 풛ퟎ.

Suppose that a coordinate frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ is rigidly attached to the block. After the rotation by 흅, the block’s coordinate frame, which is rigidly attached to the block, is also rotated by 흅.

10/17/2017 Rotational Transformations

Rotation matrices to represent rigid motions

The coordinates of 풑풃 with respect to the reference frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ :

10/17/2017 Rotational Transformations

Rotation matrices to represent vector rotation with respect to a coordinate frame.

Reminder:

10/17/2017 Summary: Rotation Matrix

1.It represents a coordinate transformation relating the coordinates of a point p in two different frames.

2. It gives the orientation of a transformed coordinate frame with respect to a fixed coordinate frame.

3. It is an taking a vector and rotating it to a new vector in the same coordinate system.

10/17/2017 Similarity Transformations

The of a general linear transformation is transformed from one frame to another using a so-called similarity transformation.

For example, if 푨 is the matrix representation of a given linear transformation in 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ and 푩 is the representation of the same linear transformation in 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ then 푨 and 푩 are related as:

ퟎ where 푹ퟏ is the coordinate transformation between frames 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ and 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ . In particular, if 푨 itself is a rotation, then so is 푩, and thus the use of similarity transformations allows us to express the same rotation easily with respect to different frames.

10/17/2017 Example

Suppose frames 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ and 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ are related by the rotation

If 푨 = 푹풛 relative to the frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ, then, relative to frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ we have

푩 is a rotation about the 풛ퟎ − 풂풙풊풔 but expressed relative to the frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ .

10/17/2017 Rotation With Respect To The Current Frame ퟎ The matrix 푹ퟏ represents a rotational transformation between the frames 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ and 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ.

Suppose we now add a third coordinate frame 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ related to the frames 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ and 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ by rotational transformations. A given point 풑 can then be represented by coordinates specified with respect to any of these three frames: 풑ퟎ, 풑ퟏ and 풑ퟐ.

The relationship among these representations of 풑 is:

풊 where each푹풋 is a rotation matrix 10/17/2017 Composition Law for Rotational Transformations In order to transform the coordinates of a point 풑 from its ퟐ representation 풑 in the frame 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ to its representation ퟎ 풑 in the frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ , we may first transform to its ퟏ ퟏ coordinates 풑 in the frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ using 푹ퟐ and then ퟏ ퟎ ퟎ transform 풑 to 풑 using 푹ퟏ .

10/17/2017 Composition Law for Rotational Transformations

Suppose initially that all three of the coordinate frames are coincide.

We first rotate the frame 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ relative to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ according to the ퟎ transformation 푹ퟏ .

Then, with the frames 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ and 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ coincident, we rotate 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ ퟏ relative to 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ according to the transformation 푹ퟐ .

In each case we call the frame relative to which the rotation occurs the current frame.

Coincident: lie exactly on top of each other 10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 흓 about the current 풚 − 풂풙풊풔 followed by • a rotation of angle 휭 about the current 풛 − 풂풙풊풔.

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 흓 about the current 풚 − 풂풙풊풔 followed by • a rotation of angle 휭 about the current 풛 − 풂풙풊풔.

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 흓 about the current 풚 − 풂풙풊풔 followed by • a rotation of angle 휭 about the current 풛 − 풂풙풊풔.

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 흓 about the current 풚 − 풂풙풊풔 followed by • a rotation of angle 휭 about the current 풛 − 풂풙풊풔.

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 휭 about the current 풛 − 풂풙풊풔 followed by • a rotation of angle 흓 about the current 풚 − 풂풙풊풔

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 휭 about the current 풛 − 풂풙풊풔 followed by • a rotation of angle 흓 about the current 풚 − 풂풙풊풔

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 휭 about the current 풛 − 풂풙풊풔 followed by • a rotation of angle 흓 about the current 풚 − 풂풙풊풔

Rotational transformations do not commute

10/17/2017 Rotation With Respect To The Fixed Frame Performing a sequence of rotations, each about a given fixed coordinate frame, rather than about successive current frames.

For example we may wish to perform a rotation about 풙ퟎ followed by a rotation about 풚ퟎ (and not 풚ퟏ!). We will refer to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ as the fixed frame. In this case the composition law given before is not valid.

The composition law that was obtained by multiplying the successive rotation matrices in the reverse order from that given by is not valid.

10/17/2017 Rotation with Respect to the Fixed Frame

Suppose we have two frames 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ and Reminder: ퟎ 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ related by the rotational transformation 푹ퟏ .

If 푹 represents a rotation relative to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ, the Similarity Transformations representation for 푹 in the current frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is given by:

composition law for With applying the composition law for rotations about the rotations about the current axis: current axis

10/17/2017 Example

Suppose a rotation matrix R represents Reminder: • a rotation of angle 흓 about 풚ퟎ − 풂풙풊풔 followed by • a rotation of angle휭about the fixed 풛ퟎ−풂풙풊풔 Similarity Transformations

composition law for rotations about the current axis

The second rotation about the fixed axis is given by composition law for rotations about the fixed axis which is the basic rotation about the z-axis expressed relative to the frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ using a similarity transformation.

10/17/2017 Example

Suppose a rotation matrix R represents Reminder: • a rotation of angle 흓 about 풚ퟎ − 풂풙풊풔 followed by • a rotation of angle휭about the fixed 풛ퟎ−풂풙풊풔 Similarity Transformations

composition law for rotations about the current axis

Therefore, the composition rule for rotational transformations composition law for rotations about the fixed axis

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 흓 about 풚ퟎ − 풂풙풊풔 followed by • a rotation of angle휭about the fixed 풛ퟎ−풂풙풊풔

10/17/2017 Example

Suppose a rotation matrix R represents • a rotation of angle 흓 about 풚ퟎ − 풂풙풊풔 followed by • a rotation of angle휭about the fixed 풛ퟎ−풂풙풊풔

Suppose a rotation matrix R represents • a rotation of angle 흓 about the current 풚 − 풂풙풊풔 followed by • a rotation of angle 휭 about the current 풛 − 풂풙풊풔.

10/17/2017 Summary To note that we obtain the same basic rotation matrices, but in the reverse order.

Rotation with Respect to the Current Frame

Rotation with Respect to the Fixed Frame

10/17/2017 Rules for Composition of Rotational Transformations We can summarize the rule of composition of rotational transformations by:

Given a fixed frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ a current frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ, together with rotation ퟎ matrix 푹ퟏ relating them, if a third frame 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ is obtained by a rotation 푹 ퟎ ퟏ performed relative to the current frame then post-multiply 푹ퟏ by 푹 = 푹ퟐ to obtain

If the second rotation is to be performed relative to the fixed frame then it is both ퟏ confusing and inappropriate to use the notation 푹ퟐ to represent this rotation. Therefore, ퟎ if we represent the rotation by 푹, we pre-multiply 푹ퟏ by 푹 to obtain

ퟎ In each case 푹ퟐ represents the transformation between the frames 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ and 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ.

10/17/2017 Example

Find R for the following sequence of basic rotations: Reminder:

1. A rotation of ϴ about the current x-axis Rotation with Respect to 2. A rotation of φ about the current z-axis the Current Frame 3. A rotation of α about the fixed z-axis 4. A rotation of β about the current y-axis 5. A rotation of δ about the fixed x-axis Rotation with Respect to the Fixed Frame

10/17/2017 Example

Find R for the following sequence of basic rotations: Reminder:

1. A rotation of ϴ about the current x-axis Rotation with Respect to 2. A rotation of φ about the current z-axis the Current Frame 3. A rotation of α about the fixed z-axis 4. A rotation of β about the current y-axis 5. A rotation of δ about the fixed x-axis Rotation with Respect to the Fixed Frame

10/17/2017 Example

Find R for the following sequence of basic rotations: Reminder:

1. A rotation of ϴ about the current x-axis Rotation with Respect to 2. A rotation of φ about the current z-axis the Current Frame 3. A rotation of α about the fixed z-axis 4. A rotation of β about the current y-axis 5. A rotation of δ about the fixed x-axis Rotation with Respect to the Fixed Frame

10/17/2017 Example

Find R for the following sequence of basic rotations: Reminder:

1. A rotation of ϴ about the current x-axis Rotation with Respect to 2. A rotation of φ about the current z-axis the Current Frame 3. A rotation of α about the fixed z-axis 4. A rotation of β about the current y-axis 5. A rotation of δ about the fixed x-axis Rotation with Respect to the Fixed Frame

10/17/2017 Example

Find R for the following sequence of basic rotations: Reminder:

1. A rotation of ϴ about the current x-axis Rotation with Respect to 2. A rotation of φ about the current z-axis the Current Frame 3. A rotation of α about the fixed z-axis 4. A rotation of β about the current y-axis 5. A rotation of δ about the fixed x-axis Rotation with Respect to the Fixed Frame

10/17/2017 Example

Find R for the following sequence of basic rotations: Reminder:

1. A rotation of ϴ about the current x-axis Rotation with Respect to 2. A rotation of φ about the current z-axis the Current Frame 3. A rotation of α about the fixed z-axis 4. A rotation of β about the current y-axis 5. A rotation of δ about the fixed x-axis Rotation with Respect to the Fixed Frame

10/17/2017 Example

Find R for the following sequence of basic rotations: Reminder:

1. A rotation of δ about the fixed x-axis Rotation with Respect to 2. A rotation of β about the current y-axis the Current Frame 3. A rotation of α about the fixed z-axis 4. A rotation of φ about the current z-axis 5. A rotation of ϴ about the current x-axis Rotation with Respect to the Fixed Frame

10/17/2017 Reminder: Rotations in Three Dimensions

Each axis of the frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is projected onto the coordinate frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ.

The resulting rotation matrix is given by

The nine elements 풓풊풋 in a general rotational transformation R are not independent quantities. 푹흐 푺푶 ퟑ Where 푺푶(n) denotes the Special Orthogonal of order n.

10/17/2017 Rotations In Three Dimensions

For any 푅휖 푆푂 푛 The following properties hold

• 푅푇 = 푅−1 휖 푆푂 푛 • The columns and the rows of 푅 are mutually orthogonal • Each column and each row of 푅 is a • det 푅 = 1 (the )

Where 푆푂(n) denotes the Special of order n.

Example for 푹푻 = 푹−ퟏ 흐 푺푶 ퟐ :

10/17/2017 Parameterizations Of Rotations

The nine elements 풓풊풋 in a general rotational transformation R are not independent quantities. 푅휖 푆푂 3 Where 푆푂(n) denotes the Special Orthogonal group of order n.

As each column of 푅 is a unit vector, then we can write:

As the columns of 푅 are mutually orthogonal, then we can write:

Together, these constraints define six independent equations with nine unknowns, which implies that there are three free variables.

10/17/2017 Parameterizations of Rotations

We present three ways in which an arbitrary rotation can be represented using only three independent quantities:

• Euler representation • Roll-Pitch-Yaw representation • Axis/Angle representation

10/17/2017 Representation

We can specify the orientation of the frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ relative to the frame풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by three angles (흓, 휽, 흍), known as Euler Angles, and obtained by three successive rotations as follows: 1. rotation about the z-axis by the angle 흓 2. rotation about the current y−axis by the angle 휽 3. rotation about the current z−axis by the angle 흍

10/17/2017 Euler Angles Representation

10/17/2017 10/17/2017 Reminder: Trigonometry (Atan vs. )

10/17/2017 Reminder: Trigonometry (Atan vs. Atan2)

10/17/2017 Reminder: Trigonometry (Atan vs. Atan2)

tan(angle) = opposite/adjacent atan(opposite/adjacent) = angle

10/17/2017 Euler Angles Representation

Given a matrix 푅휖 푆푂 3

Determine a of Euler angles 흓, 휽, and 흍 so that 푹 = 푹풁풀풁

If 풓ퟏퟑ ≠ ퟎ and 풓ퟐퟑ ≠ ퟎ, it follow that: 흓=Atan2(풓ퟐퟑ, 풓ퟏퟑ) where the function 퐴푡푎푛2(푦, 푥) computes the arctangent of the ration 푦/푥. Then squaring the summing of the elements (1,3) and (2,3) and using the element (3,3) yields: ퟐ ퟐ ퟐ ퟐ 휽=Atan2(+ 풓ퟏퟑ + 풓ퟐퟑ , 풓ퟑퟑ) or 휽=Atan2(− 풓ퟏퟑ + 풓ퟐퟑ , 풓ퟑퟑ)

If we consider the first choice then 풔풊풏(휽) > ퟎ then: 흍=Atan2(풓ퟑퟐ, −풓ퟑퟏ)

If we consider the second choice then 풔풊 풏 휽 < ퟎ then: 흍=Atan2(− 풓ퟑퟐ, 풓ퟑퟏ) and 흓=Atan2(−풓ퟐퟑ,−풓ퟏퟑ) 10/17/2017 Euler Angles Representation

Given a matrix 푅휖 푆푂 3

Determine a set of Euler angles 흓, 휽, and 흍 so that 푹 = 푹풁풀풁

If 풓ퟏퟑ = 풓ퟐퟑ = ퟎ, then the fact that R is orthogonal implies that 풓ퟑퟑ = ±ퟏ and that 풓ퟑퟏ = 풓ퟑퟐ = ퟎ thus R has the form:

If 풓ퟑퟑ = +ퟏ then 푐휃 = 1 and 푠휃 = 0, so that휃 = 0.

Thus, the sum 흓 + 흍 can be determined as 흓 + 흍 = Atan2(풓ퟐퟏ, 풓ퟏퟏ) = Atan2(− 풓ퟏퟐ, 풓ퟐퟐ) There is infinity of solutions.

10/17/2017 Euler Angles Representation

Given a matrix 푅휖 푆푂 3

Determine a set of Euler angles 흓, 휽, and 흍 so that 푹 = 푹풁풀풁

If 풓ퟏퟑ = 풓ퟐퟑ = ퟎ, then the fact that R is orthogonal implies that 풓ퟑퟑ = ±ퟏ and that 풓ퟑퟏ = 풓ퟑퟐ = ퟎ thus R has the form:

If 풓ퟑퟑ = −ퟏ then 푐휃 = −1 and 푠휃 = 0, so that 휃 = π.

Thus, the 흓 − 흍 can be determined as 흓 − 흍 = Atan2(−풓ퟏퟐ, −풓ퟏퟏ) = Atan2( 풓ퟐퟏ, 풓ퟐퟐ) As before there is infinity of solutions.

10/17/2017 Yaw-Pitch-Roll Representation A rotation matrix 푹 can also be described as a product of successive rotations about the principal coordinate axes 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ taken in a specific order. These rotations define the roll, pitch, and yaw angles, which we shall also denote (흓, 휽, 흍) We specify the order in three successive rotations as follows: 1. Yaw rotation about 풙ퟎ −axis by the angle 흍 2. Pitch rotation about 풚ퟎ − axis by the angle 휽 3. Roll rotation about 풛ퟎ − axis by the angle 흓 Since the successive rotations are relative to the fixed frame, the resulting is given by:

10/17/2017 Yaw-Pitch-Roll Representation A rotation matrix 푹 can also be described as a product of successive rotations about the principal coordinate axes 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ taken in a specific order. These rotations define the roll, pitch, and yaw angles, which we shall also denote (흓, 휽, 흍) We specify the order in three successive rotations as follows: 1. Yaw rotation about 풙ퟎ −axis by the angle 흍 2. Pitch rotation about 풚ퟎ − axis by the angle 휽 3. Roll rotation about 풛ퟎ − axis by the angle 흓 Since the successive rotations are relative to the fixed frame, the resulting transformation matrix is given by:

10/17/2017 Yaw-Pitch-Roll Representation A rotation matrix 푹 can also be described as a product of successive rotations about the principal coordinate axes 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ taken in a specific order. These rotations define the roll, pitch, and yaw angles, which we shall also denote (흓, 휽, 흍) We specify the order in three successive rotations as follows: 1. Yaw rotation about 풙ퟎ −axis by the angle 흍 2. Pitch rotation about 풚ퟎ − axis by the angle 휽 3. Roll rotation about 풛ퟎ − axis by the angle 흓 Since the successive rotations are relative to the fixed frame, the resulting transformation matrix is given by:

10/17/2017 Yaw-Pitch-Roll Representation A rotation matrix 푹 can also be described as a product of successive rotations about the principal coordinate axes 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ taken in a specific order. These rotations define the roll, pitch, and yaw angles, which we shall also denote (흓, 휽, 흍) We specify the order in three successive rotations as follows: 1. Yaw rotation about 풙ퟎ −axis by the angle 흍 2. Pitch rotation about 풚ퟎ − axis by the angle 휽 3. Roll rotation about 풛ퟎ − axis by the angle 흓 Since the successive rotations are relative to the fixed frame, the resulting transformation matrix is given by:

10/17/2017 Yaw-Pitch-Roll Representation A rotation matrix 푹 can also be described as a product of successive rotations about the principal coordinate axes 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ taken in a specific order. These rotations define the roll, pitch, and yaw angles, which we shall also denote (흓, 휽, 흍) We specify the order in three successive rotations as follows: 1. Yaw rotation about 풙ퟎ −axis by the angle 흍 2. Pitch rotation about 풚ퟎ − axis by the angle 휽 3. Roll rotation about 풛ퟎ − axis by the angle 흓 Since the successive rotations are relative to the fixed frame, the resulting transformation matrix is given by:

10/17/2017 Yaw-Pitch-Roll Representation A rotation matrix 푹 can also be described as a product of successive rotations about the principal coordinate axes 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ taken in a specific order. These rotations define the roll, pitch, and yaw angles, which we shall also denote (흓, 휽, 흍) We specify the order in three successive rotations as follows: 1. Yaw rotation about 풙ퟎ −axis by the angle 흍 2. Pitch rotation about 풚ퟎ − axis by the angle 휽 3. Roll rotation about 풛ퟎ − axis by the angle 흓 흓

Since the successive rotations are relative to the fixed 휽 frame, the resulting transformation matrix is given by:

Instead of yaw-pitch-roll relative to the fixed frames we could also interpret the above transformation as roll-pitch-yaw, in that order, each taken with respect to the current frame. The end result is the same matrix.

10/17/2017 Yaw-Pitch-Roll Representation

Find the inverse solution to a given rotation matrix R.

흓 Determine a set of Roll-Pitch-Yaw angles 흓, 휽, and 흍 so that 푹 휽 = 푹푿풀풁

10/17/2017 Axis/Angle Representation

Rotations are not always performed about the principal coordinate axes. We are often interested in a rotation about an arbitrary axis in space. This provides both a convenient way to describe rotations, and an alternative parameterization for rotation matrices.

푻 Let 풌 = [풌풙, 풌풚, 풌풛] , expressed in the frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ, be a unit vector defining an axis. We wish to derive the rotation matrix 푹풌,휽 representing a rotation of 휽 about this axis.

A possible solution is to rotate first 풌 by the angles necessary to align it with 풛, then to rotate by 휽 about 풛, and finally to rotate by the angels necessary to align the unit vector with the initial direction.

10/17/2017 Axis/Angle Representation

Rotations are not always performed about the principal coordinate axes. We are often interested in a rotation about an arbitrary axis in space. This provides both a convenient way to describe rotations, and an alternative parameterization for rotation matrices.

푻 Let 풌 = [풌풙, 풌풚, 풌풛] , expressed in the frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ, be a unit vector defining an axis. We wish to derive the rotation matrix 푹풌,휽representing a rotation of 휽 about this axis.

The sequence of rotations to be made with respect to axes of fixed frame is the following: • Align 풌 with 풛 (which is obtained as the sequence of a rotation by −휶 about 풛 and a rotation of −휷 about 풚). • Rotate by 휽 about 풛. • Realign with the initial direction of 풌, which is obtained as the sequence of a rotation by 휷 about 풚 and a rotation by 휶 about 풛.

푹풌,휽 = 푹풛,휶 푹풚,휷푹풛,휽푹풚,−휷푹풛,−휶

10/17/2017 Axis/Angle Representation

푹풌,휽 = 푹풛,휶 푹풚,휷푹풛,휽푹풚,−휷푹풛,−휶

10/17/2017 Axis/Angle Representation

Rotations are not always performed about the principal coordinate axes. We are often interested in a rotation about an arbitrary axis in space. This provides both a convenient way to describe rotations, and an alternative parameterization for rotation matrices.

푹풌,휽 = 푹풛,휶 푹풚,휷푹풛,휽푹풚,−휷푹풛,−휶

10/17/2017 Axis/Angle Representation

Any rotation matrix 푅휖 푆푂 3 can be represented by a single rotation about a suitable axis in space by a suitable angle. 푹 = 푹풌,휽 where 풌 is a unit vector defining the axis of rotation, and 휽 is the angle of rotation about 풌. The matrix 푹풌,휽 is called the axis/angle representation of 푹.

Given 푹 find 휽 and 풌:

Reminder:

10/17/2017 Axis/Angle Representation

The axis/angle representation is not unique since a rotation of −휽 about −풌 is the same as a rotation of 휽 about 풌.

푹풌,휽 = 푹−풌,−휽

If 휽 = ퟎ then 푹 is the and the axis of rotation is undefined.

10/17/2017 Example

° ° Suppose 푹 is generated by a rotation of 90 about 푧0 followed by a rotation of 30 about ° 푦0 followed by a rotation of 60 about 푥0. Find the axis/angle representation of 푹

Reminder: The axis/angle representation of 푹

10/17/2017 Example

° ° Suppose 푹 is generated by a rotation of 90 about 푧0 followed by a rotation of 30 about ° 푦0 followed by a rotation of 60 about 푦0. Find the axis/angle representation of 푹

Reminder: The axis/angle representation of 푹

10/17/2017 Example

° ° Suppose 푹 is generated by a rotation of 90 about 푧0 followed by a rotation of 30 about ° 푦0 followed by a rotation of 60 about 푦0. Find the axis/angle representation of 푹

Reminder: The axis/angle representation of 푹

10/17/2017 Example

° ° Suppose 푹 is generated by a rotation of 90 about 푧0 followed by a rotation of 30 about ° 푦0 followed by a rotation of 60 about 푦0. Find the axis/angle representation of 푹

Reminder: The axis/angle representation of 푹

10/17/2017 Example

° ° Suppose 푹 is generated by a rotation of 90 about 푧0 followed by a rotation of 30 about ° 푦0 followed by a rotation of 60 about 푥0. Find the axis/angle representation of 푹

Reminder: The axis/angle representation of 푹

10/17/2017 Axis/Angle Representation

The above axis/angle representation characterizes a given rotation by four quantities, namely the three components of the equivalent axis 풌 and the equivalent angle 휽. However, since the equivalent axis 풌 is given as a unit vector only two of its components are independent. The third is constrained by the condition that 풌 is of unit length. Therefore, only three independent quantities are required in this representation of a rotation 푹. We can represent the equivalent axis/angle by a single vector 풓 as: since 풌 is a unit vector, the length of the vector 풓 is the equivalent angle 휽 and the direction of 풓 is the equivalent axis 풌.

10/17/2017 Rigid Motions

A rigid motion is a pure translation together with a pure rotation.

A rigid motion is an ordered pair (풅, 푹) where 풅 ∈ ℝퟑ and 푹 ∈ 푺푶 ퟑ . The group of all rigid motions is known as the Special Euclidean Group and is denoted by 푺푬 ퟑ . We see then that 푺푬 ퟑ = ℝퟑ × 푺푶 ퟑ .

10/17/2017 One Rigid Motion

If frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is obtained from frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by first applying a rotation ퟎ specified by 푹ퟏ

푧1 푦1

푧 푥1 푧0 0

푦 푦0 0 푥 푥0 0 10/17/2017 One Rigid Motion

If frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is obtained from frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by first applying a rotation ퟎ ퟎ specified by 푹ퟏ followed by a translation given (with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ) by 풅ퟏ

푧1 푦1

푹ퟎ 푧 푥1 ퟏ 푧0 0

푦 푦0 0 푥 푥0 0 10/17/2017 One Rigid Motion

If frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is obtained from frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by first applying a rotation ퟎ ퟎ specified by 푹ퟏ followed by a translation given (with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ) by 풅ퟏ

푧 푦 푧1 푦1 1 1 풑 ퟎ 푥 푹 푥1 푧 1 ퟏ 푧0 0 ퟎ 풅ퟏ

푦 푦0 0 푥 푥0 0 10/17/2017 One Rigid Motion

If frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is obtained from frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by first applying a rotation ퟎ ퟎ specified by 푹ퟏ followed by a translation given (with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ) by 풅ퟏ , then the coordinates 풑ퟎ are given by:

푧 푦 푧1 푦1 1 1 풑 풑ퟏ ퟎ 푥 푹 푥1 푧 1 ퟏ 푧0 0 ퟎ 풅ퟏ 풑ퟎ

푦 푦0 0 푥 푥0 0 10/17/2017 One Rigid Motion

If frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is obtained from frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by first applying a rotation ퟎ ퟎ specified by 푹ퟏ followed by a translation given (with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ) by 풅ퟏ , then the coordinates 풑ퟎ are given by:

ퟎ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 풑 + 풅ퟏ

푧 푦 푧1 푦1 1 1 풑 풑ퟏ ퟎ 푥 푹 푥1 푧 1 ퟏ 푧0 0 ퟎ 풅ퟏ 풑ퟎ

푦 푦0 0 푥 푥0 0 10/17/2017 One Rigid Motion

If frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is obtained from frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by first applying a rotation ퟎ ퟎ specified by 푹ퟏ followed by a translation given (with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ) by 풅ퟏ , then the coordinates 풑ퟎ are given by:

ퟎ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 풑 + 풅ퟏ

푧 푦 푧1 푦1 1 1 풑 풑ퟏ ퟎ 푥 푹 푥1 푧 1 ퟏ 푧0 0 ퟎ 풅ퟏ 풑ퟎ

푦 푦0 0 푥 푥0 0 10/17/2017 Two Rigid Motions

If frame 풐ퟐ 풙ퟐ 풚ퟐ 풛ퟐ is obtained from frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ by first applying a rotation ퟏ ퟏ specified by 푹ퟐ followed by a translation given (with respect to 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ) by 풅ퟐ . If frame 풐ퟏ 풙ퟏ 풚ퟏ 풛ퟏ is obtained from frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ by first applying a rotation ퟎ ퟎ specified by 푹ퟏ followed by a translation given (with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ) by 풅ퟏ , find the coordinates 풑ퟎ. For the first rigid motion: ퟎ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 풑 + 풅ퟏ

푧2 For the second rigid motion: 푧 푦 1 1 풑ퟏ = 푹ퟏ 풑ퟐ + 풅ퟏ 푦2 ퟐ ퟐ

푥1 풑 푧0 Both rigid motions can be described as one rigid motion: 푥2 ퟎ ퟎ ퟐ ퟎ 풑 = 푹ퟐ 풑 + 풅ퟐ

푦0 ퟎ ퟎ ퟏ ퟐ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 푹ퟐ 풑 + 푹ퟏ 풅ퟐ + 풅ퟏ

푥0

10/17/2017 Two Rigid Motions

ퟎ 푹ퟐ The orientation transformations can simply be multiplied together. ퟎ 풅ퟐ The translation transformation is the sum of: ퟎ • 풅ퟏ the vector from the origin 표0 to the origin 표1 expressed with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟏ • 푹ퟏ 풅ퟐ the vector from 표1 to 표2 expressed in the orientation of the coordinate system 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ.

푧2 푧1 푦1 푦2

푥1 풑 푧0 푥2

ퟎ ퟎ ퟏ ퟐ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 푹ퟐ 풑 + 푹ퟏ 풅ퟐ + 풅ퟏ 푦0

푥0

10/17/2017 Three Rigid Motions

풑 푥 푦3 3 푧2 푧1 푦1 푧3 푦2

푥1 푧0 푥2 풑ퟎ = ? 푦0

푥0

10/17/2017 Homogeneous Transformations

A long sequence of rigid motions, find 풑ퟎ.

ퟎ ퟎ 풏 ퟎ 풑 = 푹풏 풑 + 풅풏

푧2 푧1 푦1 푦2 풑 푥 푦푛 푛 푥1 푧0 푧 푥2 푛 풑ퟎ = ? 푦0

푥0

10/17/2017 Homogeneous Transformations

A long sequence of rigid motions, find 풑ퟎ. Represent rigid motions in matrix so that composition of rigid motions can be reduced to ퟎ ퟎ 풏 ퟎ 풑 = 푹풏 풑 + 풅풏 as was the case for composition of rotations

푧2 푧1 푦1 푦2 풑 푥 푦푛 푛 푥1 푧0 푧 푥2 푛 풑ퟎ = ? 푦0

푥0

10/17/2017 Homogeneous Transformations

A long sequence of rigid motions, find 풑ퟎ. Represent rigid motions in matrix so that composition of rigid motions can be reduced to ퟎ ퟎ 풏 ퟎ 풑 = 푹풏 풑 + 풅풏 matrix multiplication as was the case for composition of rotations

푹 풅 퐇 = ; 풅 ∈ ℝퟑ, 푹 ∈ 푺푶 ퟑ

10/17/2017 Homogeneous Transformations

A long sequence of rigid motions, find 풑ퟎ. Represent rigid motions in matrix so that composition of rigid motions can be reduced to ퟎ ퟎ 풏 ퟎ 풑 = 푹풏 풑 + 풅풏 matrix multiplication as was the case for composition of rotations

푹 풅 퐇 = ; 풅 ∈ ℝퟑ, 푹 ∈ 푺푶 ퟑ ퟎ ퟏ

Transformation matrices of the form H are called homogeneous transformations.

A homogeneous transformation is therefore a matrix representation of a rigid motion.

10/17/2017 Homogeneous Transformations

A long sequence of rigid motions, find 풑ퟎ. Represent rigid motions in matrix so that composition of rigid motions can be reduced to ퟎ ퟎ 풏 ퟎ 풑 = 푹풏 풑 + 풅풏 matrix multiplication as was the case for composition of rotations

푹 풅 퐇 = ; 풅 ∈ ℝퟑ, 푹 ∈ 푺푶 ퟑ ퟎ ퟏ

The inverse transformation 푯−ퟏis given by

푻 푻 퐇−ퟏ = 푹 −푹 풅 ퟎ ퟏ

10/17/2017 Ex. :Two Rigid Motions

ퟎ 푹ퟐ The orientation transformations can simply be multiplied together. ퟎ 풅ퟐ The translation transformation is the sum of: ퟎ • 풅ퟏ the vector from the origin 표0 to the origin 표1 expressed with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟏ • 푹ퟏ 풅ퟐ the vector from 표1 to 표2 expressed in the orientation of the coordinate system 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟎ ퟏ ퟐ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 푹ퟐ 풑 + 푹ퟏ 풅ퟐ + 풅ퟏ 푧 2 푹 풅 퐇 = ; 풅 ∈ ℝퟑ, 푹 ∈ 푺푶 ퟑ 푧1 푦1 ퟎ ퟏ 푦2

푥1 ퟎ 풑 ퟎ ퟏ ퟏ ퟎ ퟏ ퟎ ퟏ ퟎ 푧0 푹ퟏ 풅ퟏ 푹ퟐ 풅ퟐ = 푹ퟏ 푹ퟐ 푹ퟏ 풅ퟐ + 풅ퟏ ퟎ 푥2 ퟏ ퟎ ퟏ 0 1

푦0

푥0

10/17/2017 Ex. :Two Rigid Motions

ퟎ 푹ퟐ The orientation transformations can simply be multiplied together. ퟎ 풅ퟐ The translation transformation is the sum of: ퟎ • 풅ퟏ the vector from the origin 표0 to the origin 표1 expressed with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟏ • 푹ퟏ 풅ퟐ the vector from 표1 to 표2 expressed in the orientation of the coordinate system 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟎ ퟏ ퟐ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 푹ퟐ 풑 + 푹ퟏ 풅ퟐ + 풅ퟏ 푧 2 푹 풅 퐇 = ; 풅 ∈ ℝퟑ, 푹 ∈ 푺푶 ퟑ 푧1 푦1 ퟎ ퟏ 푦2

푥1 ퟎ 풑 ퟎ ퟏ ퟏ ퟎ ퟏ ퟎ ퟏ ퟎ 푧0 푹ퟏ 풅ퟏ 푹ퟐ 풅ퟐ = 푹ퟏ 푹ퟐ 푹ퟏ 풅ퟐ + 풅ퟏ ퟎ 푥2 ퟏ ퟎ ퟏ 0 1

푦0

푥0

10/17/2017 Ex. :Two Rigid Motions

ퟎ 푹ퟐ The orientation transformations can simply be multiplied together. ퟎ 풅ퟐ The translation transformation is the sum of: ퟎ • 풅ퟏ the vector from the origin 표0 to the origin 표1 expressed with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟏ • 푹ퟏ 풅ퟐ the vector from 표1 to 표2 expressed in the orientation of the coordinate system 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟎ ퟏ ퟐ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 푹ퟐ 풑 + 푹ퟏ 풅ퟐ + 풅ퟏ 푧 2 푹 풅 퐇 = ; 풅 ∈ ℝퟑ, 푹 ∈ 푺푶 ퟑ 푧1 푦1 ퟎ ퟏ 푦2

푥1 ퟎ 풑 ퟎ ퟏ ퟏ ퟎ ퟏ ퟎ ퟏ ퟎ 푧0 푹ퟏ 풅ퟏ 푹ퟐ 풅ퟐ = 푹ퟏ 푹ퟐ 푹ퟏ 풅ퟐ + 풅ퟏ ퟎ 푥2 ퟏ ퟎ ퟏ 0 1

푦0

푥0

10/17/2017 Ex. :Two Rigid Motions

ퟎ 푹ퟐ The orientation transformations can simply be multiplied together. ퟎ 풅ퟐ The translation transformation is the sum of: ퟎ • 풅ퟏ the vector from the origin 표0 to the origin 표1 expressed with respect to 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟏ • 푹ퟏ 풅ퟐ the vector from 표1 to 표2 expressed in the orientation of the coordinate system 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ. ퟎ ퟎ ퟏ ퟐ ퟎ ퟏ ퟎ 풑 = 푹ퟏ 푹ퟐ 풑 + 푹ퟏ 풅ퟐ + 풅ퟏ 푧 2 푹 풅 퐇 = ; 풅 ∈ ℝퟑ, 푹 ∈ 푺푶 ퟑ 푧1 푦1 ퟎ ퟏ 푦2

푥1 ퟎ 풑 ퟎ ퟏ ퟏ ퟎ ퟏ ퟎ ퟏ ퟎ 푧0 푹ퟏ 풅ퟏ 푹ퟐ 풅ퟐ = 푹ퟏ 푹ퟐ 푹ퟏ 풅ퟐ + 풅ퟏ ퟎ 푥2 ퟏ ퟎ ퟏ 0 1 We must augment the vectors 풑ퟎ, 풑ퟏ and 풑ퟐ by the addition of a fourth component of 1: 푦0 ퟎ ퟏ ퟐ 푥 푷ퟎ = 풑 , 푷ퟏ = 풑 , 푷ퟐ = 풑 0 1 1 1 10/17/2017 Homogeneous Transformations

ퟎ ퟎ ퟏ 푷 = 푯ퟏ푷 푷ퟎ = 푯ퟎ푷ퟐ ퟎ ퟐ 푷ퟎ = 풑 ….. 1 ퟎ ퟎ 풏 푷 = 푯풏푷 푧2 푧1 푦1 푦2 풑 푥 푦푛 푛 푥1 푧0 푧 푥2 푛

푦0

10/17/2017 Basic Homogeneous Transformations

z

10/17/2017 Homogeneous Transformations

푛푥 푠푥 푎푥 푑푥 0 푛푦 푠푦 푎푦 푑푦 푛 푠 푎 푑 퐻1 = = 0 0 푛푧 푠푧 푎푧 푑푧 0 1 0 0 0 1

풏 is a vector representing the direction of 풙ퟏ in the 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ system

풔 is a vector representing the direction of 풚ퟏ in the 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ system

풂 is a vector representing the direction of 풛ퟏ in the 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ system

10/17/2017 Composition Rule For Homogeneous Transformations

ퟎ Given a homogeneous transformation 푯ퟏ relating two frames, if a second rigid motion, represented by 푯 is performed relative to the current frame, then: 0 0 퐻 2= 퐻1 퐻

whereas if the second rigid motion is performed relative to the fixed frame, then: 0 0 퐻 2= 퐻 퐻1

10/17/2017 Example Reminder: Transformation with respect to the current Find 푯 for the following sequence of frame ퟎ ퟎ 푯 ퟐ= 푯ퟏ 푯 1. a rotation by 휶 about the current 풙 − 풂풙풊풔, followed by 2. a translation of 풃 units along the current 풙 − 풂풙풊풔, followed by Transformation with 3. a translation of 풅 units along the current 풛 − 풂풙풊풔, followed by respect to the fixed 4. a rotation by angle 횹 about the current 풛 − 풂풙풊풔 frame ퟎ ퟎ 푯 ퟐ= 푯 푯ퟏ

10/17/2017 Example Reminder: Transformation with respect to the current Find 푯 for the following sequence of frame ퟎ ퟎ 푯 ퟐ= 푯ퟏ 푯 1. a rotation by 휶 about the current 풙 − 풂풙풊풔, followed by 2. a translation of 풃 units along the current 풙 − 풂풙풊풔, followed by Transformation with 3. a translation of 풅 units along the current 풛 − 풂풙풊풔, followed by respect to the fixed 4. a rotation by angle 횹 about the current 풛 − 풂풙풊풔 frame ퟎ ퟎ 푯 ퟐ= 푯 푯ퟏ

10/17/2017 Example Reminder: Transformation with respect to the current Find 푯 for the following sequence of frame ퟎ ퟎ 푯 ퟐ= 푯ퟏ 푯 1. a rotation by 휶 about the current 풙 − 풂풙풊풔, followed by 2. a translation of 풃 units along the current 풙 − 풂풙풊풔, followed by Transformation with 3. a translation of 풅 units along the current 풛 − 풂풙풊풔, followed by respect to the fixed 4. a rotation by angle 횹 about the current 풛 − 풂풙풊풔 frame ퟎ ퟎ 푯 ퟐ= 푯 푯ퟏ

10/17/2017 Example Reminder: Transformation with respect to the current Find 푯 for the following sequence of frame ퟎ ퟎ 푯 ퟐ= 푯ퟏ 푯 1. a rotation by 휶 about the current 풙 − 풂풙풊풔, followed by 2. a translation of 풃 units along the current 풙 − 풂풙풊풔, followed by Transformation with 3. a translation of 풅 units along the current 풛 − 풂풙풊풔, followed by respect to the fixed 4. a rotation by angle 횹 about the current 풛 − 풂풙풊풔 frame ퟎ ퟎ 푯 ퟐ= 푯 푯ퟏ

10/17/2017 Example Reminder: Transformation with respect to the current Find 푯 for the following sequence of frame ퟎ ퟎ 푯 ퟐ= 푯ퟏ 푯 1. a rotation by 휶 about the current 풙 − 풂풙풊풔, followed by 2. a translation of 풃 units along the current 풙 − 풂풙풊풔, followed by Transformation with 3. a translation of 풅 units along the current 풛 − 풂풙풊풔, followed by respect to the fixed 4. a rotation by angle 횹 about the current 풛 − 풂풙풊풔 frame ퟎ ퟎ 푯 ퟐ= 푯 푯ퟏ

10/17/2017 Example Reminder: Transformation with respect to the current Find 푯 for the following sequence of frame ퟎ ퟎ 푯 ퟐ= 푯ퟏ 푯 1. a rotation by 휶 about the current 풙 − 풂풙풊풔, followed by 2. a translation of 풃 units along the current 풙 − 풂풙풊풔, followed by Transformation with 3. a translation of 풅 units along the current 풛 − 풂풙풊풔, followed by respect to the fixed 4. a rotation by angle 횹 about the current 풛 − 풂풙풊풔 frame ퟎ ퟎ 푯 ퟐ= 푯 푯ퟏ

10/17/2017 Example ퟎ ퟎ ퟏ Find the homogeneous transformations 푯ퟏ , 푯ퟐ , 푯ퟐ representing the transformations among the three frames ퟎ ퟎ ퟏ Shown. Show that 푯ퟐ = 푯ퟏ 푯ퟐ .

10/17/2017