Geometric Foundations
Last updated
Last updated
Understanding how to represent the position and orientation of objects and robots in space is fundamental to robotics. This involves defining coordinate frames and understanding how to transform representations between them.
Representing Position
A point P in space can be described by a vector originating from the origin of a coordinate frame {A} to point P. This vector has components along the axes of {A}.
Representing Orientation (Rotation Matrices)
The orientation of a frame {B} relative to a frame {A} can be represented by a 3x3 rotation matrix . The columns of are the unit vectors of {B}'s axes expressed in {A}. Rotation matrices are orthogonal ( ) and have a determinant of +1.
Basic Rotations
Rotations about principal axes X, Y, Z by an angle .
Mapping Between Frames (Rotation Only)
A point expressed in frame {B} can be expressed in frame {A} using
Homogeneous Transformations
A 4x4 matrix that combines both rotation ( ) and translation ( , the position of {B}'s origin in {A}) to transform points from frame {B} to frame {A} using homogeneous coordinates (adding a 1 as the fourth element to position vectors).
Point transformation:
Inverse Homogeneous Transformation
Composition of Transformations
If frame {C} is known relative to {B} ( ) and {B} relative to {A} ( ), then {C} relative to {A} is
This rule allows chaining transformations through multiple frames.
Other Orientation Representations
Euler Angles (e.g., Z-Y-X): Represent orientation as a sequence of three rotations about fixed or moving axes. Can suffer from gimbal lock. Axis-Angle: Orientation as a rotation \theta
about a unit vector . Related to rotation matrix by Rodrigues' Formula. Quaternions: A 4-parameter representation (scalar part and vector part) that avoids gimbal lock and is efficient for composing rotations.
Rodrigues' Formula: , where K is the skew-symmetric matrix of . Quaternion for rotation \theta
about
Transformation of Free Vectors
Free vectors (e.g., velocity, force) only transform by rotation:
Uses only the 3x3 rotation submatrix of the homogeneous transformation.