Rigid Motion and Homogeneous Transformation
A rigid motion of an object is a motion which preserves distance between points. In this article, we provide a description of rigid body motion using the tools of linear algebra and screw theory.
Rotation Matrix
Representation
Suppose there are two frames and . A rotation matrix is defined as unit vectors , and in frame . A good way to represent rotation operation is to project to :
In fact, each entry of the rotation matrix is a dot product1 of two unit vectors, in other words, is the cosine of the angle between the two vectors, i.e. directional cosine.
is orthogonal (, ) and . To determine the sign of the determinant of , we recall from linear algebra that where is its column. Since the coordinate frame is right-handed, we have that . Then .
Define which is a special orthogonal group2, satisfying:
1. ;
2. Columns and rows of R are orthogonal;
3. Columns and rows of R are unit vectors;
4. .
Obviously, .
For illustration:
Assume that frame rotate degrees around ,
For simplicity, we define temporarily. Then we see
Similarly,
Rotation Transformation
Given a point , its coordinate in frame is satisfying
Since the principal axes of have coordinates with respect to , the coordinate of relative to frame is given by
A rotation matrix preserves distance and orientation. This can be proved partially by using some algebraic properties of the cross product3 operation between two vectors. Given
Given a linear transformation defined in frame . And is the same linear transformation defined in frame . It can be showed that
Rotation Superposition
Rotation w.r.t current frame:
Rotation w.r.t fixed frame: Just reverse the multiplier order of the above equation.
Exponential Coordinates for Rotation
A common motion encountered in robotics is the rotation of a body about a given axis by some amount. Take the figure below as an illustration:
Hypothesize that we rotate the point at a constant unit angular velocity around , then may be written as:
It will be convenient to represent a skew-symmetric matrix as the product of a unit skew-symmetric matrix and a real number, i.e. . Then by Taylor expansion, we can write:
Every rotation matrix can be represented as the matrix exponential of some skew-symmetric matrix, i.e. the map is surjective (onto).
Euler Theorem: Any Orientation is equivalent to a rotation about a fixed axis through an angle .
Rotation Parameterization
Euler-angle
Around the current frame ()
Roll-Pitch-Yaw
Around the fixed frame ()
Axis Angle
Let be an unit vector in frame . It can be seen as an axis. Let make the vector rotate to axis . Then
In fact, for any we can always define in which
Rigid Motion
A mapping is a rigid body transformation if it satisfies the following properties:
- Length is preserved: for all points .
- The cross product is preserved: for all vectors .
The representation of general rigid body motion, involving both translation and rotation, is more involved. Rigid motions is defined as a sequence , where , . All the rigid motions form a group called Special Euclidean Group represented by .
Consider three frames , and . There happened some rigid motions:
Finally, we get
Homogeneous Transformation
Homogeneous Representation
The sequential rigid motions above can be simplified as
Define
as a homogeneous transformation. And let
Then
It is evidently that
since is orthogonal. It may be verified that the set of rigid transformations is a group, i.e.
- If , then .
- The identity element is in .
- If , then So that .
- The composition rule for rigid body transformations is associative.
Ex: Consider the example below:
The orientation of coordinate frame with respect to is
Exponential coordinates for rigid motion and twist
The notion of the exponential mapping introduced for can be generalized to the Euclidean group, . Analogous to the definition of , we define
Given and , the exponential of is an element of . Moreover
We interpret not as mapping points from one coordinate frame to another, but rather as mapping points from their initial coordinates to their coordinates after the rigid motion is applied:
Screw
In this section, we explore some of the geometric attributes associated with a twist . Consider a rigid body motion which consists of rotation about an axis in space through an angle of radians, followed by translation along the same axis by an amount as shown below
We call such a motion a screw motion.
A screw consists of an axis , a pitch , and a magnitude . A screw motion represents rotation by an amount about the axis followed by translation by an amount parallel to the axis . If then the corresponding screw motion consists of a pure translation along the axis of the screw by a distance .
Recall the figure above, it can be seen that
In fact, if we choose , then generates the screw motion. A screw motion corresponds to motion along a constant twist by an amount equal to the magnitude of the screw.
we define a unit twist to be a twist such that either , or and ; that is, a unit twist has magnitude . Unit twists are useful since they allow us to express rigid motions due to revolute and prismatic joints as where corresponds to the amount of rotation or translation.
Chasles Theorem: Every rigid body motion can be realized by a rotation about an axis combined with a translation parallel to that axis.
Acknowledgement
- Thanks Mark W. Spong for his great work of Robot Modeling and Control.
- Thanks John J. Craig for his great work of Introduction to Robotics - Mechanics and Control, 3rd-Edition
- Thanks Zexiang Li for his great work of A Mathematical Introduction to Robotic Manipulation