Robot vendors may also define their own conventions, as in this explanation of robot orientation. Software tools may use other conventions, so system integration may require conversion between representations. See for example how Warp and PhysX represent spatial velocities / twists. Warp orders a spatial vector as (angular, linear), while PhysX reports the linear velocity of the center of mass and the angular velocity, both in the world frame. The Newton twist conventions compare these and other engines side by side.
Rotations and Angular Velocities in 3D
We now consider the general three-dimensional case shown below. All coordinate systems are right-handed. The unit axes follow the right-hand rule and satisfy .

Angular Velocities
Suppose a frame with unit axes is attached to a rotating body. Consider the time derivatives of these unit axes. The length of is fixed, so only its direction can change with time. The same holds for and . Between times and , a rotation through an angle about a unit axis through the origin describes the change in orientation. The axis is independent of coordinates and has not yet been represented in a reference frame. In the limit as approaches zero, the ratio becomes the rate of rotation , and can similarly be regarded as the instantaneous axis of rotation.
Given a vector , defineThe matrix is a skew-symmetric matrix representation of ; that is,
.The set of all real skew-symmetric matrices is called .
Exponential Coordinate Representation of Rotations
Rodrigues’ formula provides a way to compute rotation matrices: This formula defines the exponential coordinates of rotation. Any rotation can be expressed as: The logarithm of a rotation inverts the matrix exponential for rotation angles . Rotations by and are the same matrix, so no single inverse covers every angle. A rotation by exactly needs separate treatment: the axes and give the same rotation, so its logarithm has two solutions and a sign convention must pick one. For the logarithm is the zero matrix. If , then:Rigid-Body Motions in SE(3)
Rigid-body motions in three-dimensional space are described using homogeneous transformation matrices: This matrix encodes both rotation and translation. It acts on homogeneous coordinates. A point is rotated and then translated. A free vector is only rotated, because its zero cancels . One matrix therefore handles both kinds of object without a special case. The inverse of a homogeneous transformation matrix is given by: Transformations compose by matrix multiplication:Twists (Spatial Velocities)
A twist is a six-dimensional vector that combines angular and linear velocity: The matrix representation of a twist is: is the Lie algebra of , defined in SO(2) as a manifold. Body and spatial twists are defined as follows: and . The adjoint operator is given by:Exponential Coordinates for Rigid Motions
Exponential coordinates provide a compact description of rigid motions. Let be a screw axis. The transformation is: where Given a transformation , the matrix logarithm is used as follows: Thus, .Wrenches (Spatial Forces)
A wrench is a six-dimensional vector that combines force and torque: Here, is the force and is the torque (moment). Coordinate transformations for wrenches are given by:Summary of rotation and motion representations




Other representations
This section borrows heavily from the book Introduction to Autonomous Robots.

