Hyoungseo Son

Part 1 · Mathematical Foundations

Spatial Algebra: Twists, Wrenches, and se(3)

6 min read

Rotations handled orientation. A moving rigid body also translates, and the two are coupled: a point far from the center moves fast when the body spins. Spatial vector algebra, the notation Featherstone's algorithms are written in, packs the angular and linear parts into one 6D object so the coupling is automatic.

Twists: one velocity for the whole body

A rigid body's instantaneous motion is fully described by a twist (spatial velocity),

V=[ωv]R6,\mathcal{V} = \begin{bmatrix} \omega \\ v \end{bmatrix} \in \mathbb{R}^{6},

angular velocity stacked on the linear velocity of the body-fixed origin. The velocity of any point pp then falls out directly, vp=v+ω×pv_p = v + \omega \times p. Chasles' theorem says every rigid motion is a screw: a rotation about some axis plus a translation along it. In the plane the screw degenerates to a pure rotation about a single stationary point, the instantaneous center. Change the twist and watch that center move:

A planar twist is a rotation about a pointinteractive

The red point has zero velocity. The whole body is instantaneously rotating about it.

Arrows are v_p = v + ω × p at sample points. The red instantaneous center is where velocity is zero. Send ω to zero and it flies to infinity: the motion becomes pure translation.

Wrenches and spatial inertia

Forces get the same treatment. A wrench stacks torque on force,

F=[τf],\mathcal{F} = \begin{bmatrix} \tau \\ f \end{bmatrix},

and it is dual to a twist: mechanical power is the pairing P=FVP = \mathcal{F}^{\top}\mathcal{V}. The mass distribution becomes a single 6×66\times6 spatial inertia I\mathcal{I}, so that momentum is IV\mathcal{I}\,\mathcal{V} and the entire Newton-Euler law for one body collapses to a single line,

F=IV˙+V×IV,\mathcal{F} = \mathcal{I}\,\dot{\mathcal{V}} + \mathcal{V} \times^{*} \mathcal{I}\,\mathcal{V},

where ×\times^{*} is the spatial cross product acting on forces (there is a matching ×\times for motions).

Why bother

Two payoffs. First, coordinate changes between links are one 6×66\times6 transform VB=BXAVA\mathcal{V}_B = {}^{B}X_{A}\,\mathcal{V}_A (a Plücker transform), instead of separate rotation-and-offset bookkeeping for angular and linear parts. Second, the recursions that make minimal-coordinate simulation fast, the articulated-body algorithm and its relatives, are written as short loops over a kinematic tree in exactly this notation. That is the subject of Part 2: the manipulator equation, then Featherstone's O(n)O(n) algorithms built on these spatial vectors.