Robotics

Homogeneous transformation

Definition

In rigid-body robotics, a homogeneous transformation is a 4-by-4 matrix that combines a three-dimensional rotation and translation. It represents a pose or changes coordinates between reference frames.

Also known as: Homogeneous transformation matrix

Updated

Rotation and translation in one matrix

The upper-left 3-by-3 block is a rotation matrix. The upper-right column stores a translation. The final row is zero, zero, zero, one. Modern Robotics uses this structure to represent an oriented body frame relative to a reference frame.

Appending a one to a point's three coordinates allows the matrix to apply rotation and translation in a single multiplication. A direction vector has no position offset, so its homogeneous coordinate is zero instead.

Composing a chain of frames

Suppose a robot knows the camera pose relative to the torso and the torso pose relative to the world. Multiplying the transforms in the matching frame order gives the camera pose in the world. Taking the inverse reverses the coordinate relationship.

Multiplication order matters. Rotating then translating generally gives a different result from translating then rotating, and applying a transform on the left or right changes which frame describes the operation.

The representation has constraints

For rigid motion, the rotation block must be orthonormal with determinant positive one. An arbitrary 4-by-4 matrix is not a valid rigid transform. The geometric operation is a rigid-body transformation; homogeneous coordinates are the matrix representation used to calculate it.

Sources