This page is work in progress
Rotation
The configuration of a point is fully described by a position, bodies additionally require a rotation to define their pose.
A rotation in 3D is specified by a rotation angle and a unit vector u (the rotation axis).
Frames
- Space frame:
- Body frame:
Expressing orientation of relative to :
- writing the unit coordinate axis of as column vectors in the coordinates of
- Form a matrix from the column vectors
Example:
Where:
- , , : Unit vectors of represented in coordinates of
Combined unit vectors:
Where:
- :
- Subscript : Reference frame
- Subscript : Frame whose orientation is being represented
Constraints
There are only dimensions for orientation of a rigid body in space. But the rotation matrix has numbers. So constraints are required:
- All column vectors are unit vectors
- Dot product of any column vectors is zero (they are all mutually orthogonal to each other)
These 6 constraints can also be written as:
Where:
- : Identity matrix
Furthermore for right-handed frames the following must hold:
This means that all rotation matrices are elements of the Special Orthogonal Group .
Special Orthogonal Group SO(2) and SO(3)
The Special Orthogonal Group and is the set of all possible or real matrices that satisfy:
We refer to as the rotation group of
The rotation group is referred to as the configuration space of the system and a trajectory of the system is a curve for .
Because a rotation matrix lives in , there is no numerical equivalent to a position such as angular position.
Properties of Rotation Matrices
These properties hold for and .
- Inverse:
- Closure:
- Associative
- Not commutative:
- Identity element:
- Composition Rule for Rotations (Combining by matrix multiplication): (subscript cancellation)
- Rotating a vector doesn’t change its length:
- A rotation matrix (in 2D) has 3 eigenvectors:
- One real eigenvector corresponding to to eigenvalue
- Two complex eigenvectors with eigenvalues: where is the rotation angle
Composition of Rotations
The coordinates of a vector can be mapped from frame to frame by writing:
Where:
- : Vector expressed in frame coordinates
- : Vector expressed in frame coordinates
- : Rotation matrix that converts the representation of the vector from frames coordiante representation to coordinates representation
The vector can also be mapped from frame to frame by writing:
Combining these equations:
The resulting rotation matrix (s.a. subscript cancellation) can be interpreted as the rotation obtained by rotating frame until it coincides with frame , and then rotating frame until it coincides with frame .
Uses of Roatation Matrices
There are three uses for a rotation matrix:
- To represent an orientation
- To change the reference frame in which a vector or a frame is represented (operator for passive rotation)
- To rotate a vector or a frame (operator for active rotation)
In the first use, is thought of as representing a frame; in the second and third uses, is thought of as an operator that acts on a vector or frame.
Representing Orientation
means implicit the orientation of frame relative to the fixed reference frame . Explicit notation would be .
Properties:
Changing the reference Frame (Passive Rotation)
Meaning:
can be viewed as a representation of the orientation of . can be viewed as a mathematical operator that changes the reference frame from to .
Subscript cancellation rule:
The reference frame of a vector can also be changed by a rotation matrix:
Rotating a vector or a frame (Active Rotation)
as a rotation operator can be written:
Elementary Rotations
General form of Rotation
with:
Properties
- Any can be obtained by rotating from the identity matrix by some about some
Reference Frame for Rotation
When rotating a frame by and represents the orientation of relative to , it’s important to express if the rotation axis is defined in or in coordinates.
Given :
- Rotate by in frame:
- Premultiplying by : considered in the fixed frame
- Rotate by in frame:
- Postmulitplying by : considered in the body frame.
To rotate a vector , there is only one frame involved. has to be interpreted as being in the frame in which is represented:
Literature
Notes taken from:
Modern Robotics: Mechanics, Planning, and Control by Kevin M. Lynch and Frank C. Park, Cambridge University Press, 2017
A Mathematical Introduction to Robotic Manipulation by Richard M. Murray, Zexiang Li and S. Shankar Sastry, CRC Press, 1994