Skip to content
Sections
Personal tools
You are here: Home » Education » ME6104 » notes » Rigid Body Transformations

Rigid Body Transformations

Document Actions

Rigid Body Transformations

David Rosen

Georgia Institute of Technology

Translation Transformations

It is easiest to visualize rigid-body transformations by observing theireffect in two dimensions. Translation in the XY plane is straightforward.Coordinate system X'Y' is displaced by 3 units in the X and 4 units inthe Y directions, as shown in Figure 1.

Figure 1 Rigid-Body Translation.

In order to calculate the XY coordinates of a point defined in the X'Y'systems, it is necessary to just add the X'Y' coordinate system displacementto the X'Y' point. The set of simultaneous equations is:

x = X' displacement + x'

y = Y' displacement + y'

which can be reorganized into matrix form as:

or, in 2-dimensional homogeneous coordinate form,

This matrix form can be extended to handle 3-dimensional homogeneouscoordinate transformations, as in Equation 1:

If it is desired to calculate the XY coordinates of a point in the X'Y'coordinate system, the point's coordinates are substituted for x' and y'in the equation above. For example, consider the point (5,2). It shouldhave XY coordinates of (8,6) (8 = 3 + 5; 6 = 4 + 3). The matrix math isshown below:

Rotation Transformation

Rotation is somewhat more complicated. Again, a coordinate system X'Y'is transformed (just rotated for now) relative to coordinates XY by a rotationabout the Z axis of Theta. The X and Y axes change as shown below in Figure2. A point (x', y') in the X'Y' system has coordinates definable in theXY system. Consider the x' component. It projects onto the X axis as x'cos(theta)and onto the Y axis as x'sin(theta). Component y' projects similarly. Todetermine the point's XY coordinates, it is a simple manner of combiningthe affects of x' and y'. Coordinates (x,y) can be determined as:

x = x'cos(theta) - y'sin(theta)

y = x'sin(theta) + y'cos(theta)

Figure 2 Rigid-Body Rotation about the Z Axis.

And, the rotation transformation matrix, [R(z,theta)], is shown below:

For completeness, the rotation matrices for Y and X axis rotations aregiven, respectively, below:

Roll-Pitch-Yaw Transformation Convention

The convention that we will use to combine transformations is calledthe Roll-Pitch-Yaw (RPY) convention. This consists of XYZ translationsto displace the coordinate origin, followed by rotations about the threecoordinate axes in the order: about the DISPLACED Z axis, about the ROTATEDY axis, then about the ROTATED X axis. Pictorially, the RPY conventioncan be interpreted as a ship rolling side-to-side about the axis in whichit is headed, pitching up and down, and yawing about a vertical axis, seeFigure 3.

Figure 3 Pictorial Interpretation of Roll-Pitch-Yaw.

The rotational parts are combined as follows:

[R] = [R(z)][R(y)][R(x)]

And, substituting,

Combined Rotation-Translation Transformations

Composite transformation matrices can be formulated by combining translational and rotational elements. Composite transformations will be interpreted as model-reference transformations. That is, imagine a coordinate system X'Y' being first displaced relative to coordinate system XY, then being rotated relative to the displaced system (X'Y') to give coordinate system X''Y''.

In contrast to model-reference transformations, world-reference transformations act relative to the global coordinate system. Hence, all rotations and translations are performed relative to coordinates XY.

Following the model-reference convention, we will perform translations first, then rotate about the translated coordinate system. As an example, consider the composition of Z axis rotation with XYZ translation. Note the elegant result. This is an example of a homogeneous transformation matrix.

Combined with the XYZ translations, the RPY transformation matrix is:

This is the Roll-Pitch-Yaw matrix that we will use to describe all 3Dcoordinate transformations.


Matlab code for rigid-body transformations can be downloaded by clicking on the following Zip file:

RBT_matlab_code.zip


 

Created by drosen
Last modified 12/31/2004 01:16 PM
« November 2009 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Log in
 
 

Powered by Plone