Rigid Body Velocity
While twists describe the direction of infinitesimal rigid motion, rigid body velocity concerns the rate at which a body moves along such a twist. Given a trajectory — the pose of the body frame in the spatial frame — the velocity is a tangent vector in , and there are two canonical ways to express it depending on the reference frame.
Angular velocity is the rotational component. For a time-varying rotation , the spatial angular velocity and body angular velocity are defined by
where is the space of skew-symmetric matrices, and since is orthogonal. Both matrices are skew-symmetric because differentiating gives , so is skew. The spatial form describes the rotation as seen from the fixed frame; the body form describes it in the moving body frame. They are related by a similarity transform:
For full rigid body motion , the spatial velocity and body velocity are the -valued quantities
where is the closed-form inverse of a rigid motion (again using ).
Extracting the 6-vectors using the vee map :
The body velocity has a direct physical interpretation: is the translational velocity of the body-frame origin expressed in body coordinates, and is the angular velocity in body coordinates. The spatial velocity is more subtle: is not the velocity of any physical point on the body, but rather the velocity of an imaginary point on the body that is instantaneously passing through the spatial origin.The two velocities are related by the adjoint map of :
Notation places linear velocity on top and angular velocity on the bottom. Some references reverse this. The adjoint matrix changes form accordingly—always check which convention a source uses before combining formulas.
The convention
Intuition
The spatial and body velocities capture the same physical motion but report it from different vantage points, exactly as a surveillance camera (spatial frame) and a body-mounted camera (body frame) would perceive the same movement differently.
The spatial velocity can be understood by imagining that you first undo the current pose (multiply by , bringing the body back to the identity), then apply the infinitesimal change . This “transports” the velocity back to the spatial frame. Conversely, the body velocity first undoes the pose and then looks at the change—reporting everything in body-attached coordinates.
The linear component of the spatial velocity has no obvious physical meaning because it describes the velocity of a fictitious point—the point rigidly attached to the body that happens to coincide with the spatial origin at this instant. This abstraction is useful because the spatial twist of a joint is constant (independent of configuration), making spatial Jacobians simpler to construct.
Properties
Angular Velocity
(Skew-symmetry) Both angular-velocity matrices are skew-symmetric elements of .
Differentiating the orthogonality constraint gives , so equals its own negative transpose — i.e., is skew. The spatial form inherits skew-symmetry through , since similarity by an orthogonal matrix preserves skewness.
(Frame relation) Spatial and body angular velocities differ by a rotation: .
Equivalently, . The identity follows from the hat conjugation identity applied to .
(Joint angular velocity) A single revolute joint produces a constant body angular velocity and a rotating spatial one.
For axis and angle : (direction fixed in the body frame, magnitude scaled by joint speed); (direction rotates with the link as the joint turns).
Spatial and Body Velocity
(Spatial velocity derivation) has angular block and linear block .
From and :
The linear part is the velocity of the fictitious body point currently at the spatial origin — not the physical origin of the body frame.
(Body velocity derivation) has angular block and linear block .
Computing directly:
Here is the genuine physical velocity of the body-frame origin, rotated into body coordinates — which is why body velocity is often easier to reason about physically.
The Adjoint Map
(Definition) The adjoint transports twist coordinates between frames.
and . The adjoint generalizes the pure rotation to include the linear-angular coupling that arises when the frame is translated as well as rotated.
(Composition) The adjoint respects rigid-body composition: .
is a group homomorphism from to . Chained coordinate changes on twists simplify by composing the underlying rigid transforms first, then taking a single adjoint.
(Inverse) has a closed form from .
This maps spatial-frame twists back to body-frame twists: .
(Pure rotation) When , the adjoint rotates linear and angular parts identically.
No linear-angular coupling appears — rotating about the origin shifts both velocity components by the same rotation.
(Pure translation) When , the adjoint couples angular velocity into the linear part.
Translating a frame by shifts the linear velocity by — the lever arm of the angular velocity — while leaving unchanged.
Joint Velocity
(Revolute joint) A revolute joint with spatial twist and angle produces spatial velocity .
For axis through point (both in spatial coordinates), , and the twist is constant in the spatial frame regardless of . This is why spatial-frame PoE columns involve only the cumulative adjoints of earlier joints.
(Prismatic joint) A prismatic joint with direction and displacement produces with zero angular component.
. The translational axis is a free vector, so the constant-in-spatial-frame property holds trivially.
Velocity Composition
(Chain rule for frames) Velocities compose via the adjoint of the intermediate transform.
If moves relative to which moves relative to :
The adjoint transports from the tangent space into the tangent space before addition — the rigid-body analogue of “velocities add” from Newtonian kinematics.
Point Velocity
(Velocity of a body point) A point rigidly attached to the body at body-frame coordinates has world velocity .
Substituting and differentiating:
The decomposition shows that a rigid body point’s velocity is the sum of the origin’s translational velocity and the rotational velocity about that origin, where is the lever arm.
Examples
Velocity of a Rotating Body
A body rotates about the -axis at rate with no translation: .
Spatial and body velocities where .
Body angular velocity: (since commutes with ). So .
Spatial angular velocity: . So .
Both agree because the rotation axis is fixed and passes through the origin. For an off-axis rotation, and would differ by the rotation .
Full velocities: since and .
Adjoint Example
For with (pure translation along ), and a body velocity (pure rotation about in body frame):
Computing spatial velocity via adjoint , where .
The spatial velocity has a linear component : rotating about at a point displaced along creates a velocity at the spatial origin. The angular component is unchanged since .