Contents · Lie Groups & Manifolds
Part 0 · SO(3) & SE(3)
- SO(3), SE(3), and the Exponential Map
Part 1 · Lie Algebra & Adjoint
Part 2 · Manifold Optimization
Part 0 · SO(3) & SE(3)
SO(3), SE(3), and the Exponential Map
The rotations article stored orientation as a quaternion and advanced it by integrating angular velocity. The spatial-algebra article packed angular and linear velocity into one twist. The exponential map is the bridge between them: it turns a constant twist, an element of a Lie algebra, into the finite rigid motion it generates, an element of the Lie group. That is exactly the operation a physics engine needs to step a pose forward without drifting off the manifold of valid orientations.
Groups, algebras, and the flow of a twist
Two matrix Lie groups run the show. is the group of rotations (, ). is the group of rigid motions,
Each group has a Lie algebra, the flat tangent space at the identity. For it is the skew-symmetric matrices ; for it is the twists , written with the hat map
The exponential is the matrix power series . Its meaning here is dynamical: is the unique solution of with . So integrates a constant body twist over unit time: hold the velocity fixed, flow for , and land at the finite motion .
SO(3): Rodrigues' formula
Write the rotation vector as with . Because , the infinite series collapses to three terms,
This is Rodrigues' formula, the same that closed the rotations article. An engine integrates in the flat algebra, then maps back with this formula (or the equivalent quaternion update), so orientation never leaves .1
SE(3): the screw and the left Jacobian
The full rigid-motion exponential reuses the SO(3) block and adds a translation routed through the left Jacobian ,
Chasles' theorem says the result is always a screw: a rotation about some axis together with a translation along it. This is the finite-motion counterpart of the instantaneous twist from the spatial-algebra article.2
Worked example: an SE(2) twist over unit time
Drop to the plane, where the algebra is and
Take and flow for unit time. The rotation is , and the translation is
The origin does not travel in a straight line to . It rides a circular arc about the instantaneous center of radius , sweeping a quarter turn. Send and , so becomes a pure translation by : the arc straightens into a line.
- θ = ∫ ω dt
- 90.0°
- endpoint p
- (0.637, 0.637)
- arc radius
- 0.637
exp(ξ) is a screw: the frame rotates by θ about the center, sweeping a circular arc from the identity to the bold endpoint frame.
Why the engine cares
Every substep, the solver has a body twist and needs the pose it produces. Using (in practice a small-angle rotation applied to the quaternion, plus the translation) keeps orthogonal and to machine precision, whereas naively adding velocity times to the stored numbers drifts off the manifold and has to be renormalized. The exponential map is the reason manifold-aware integration is both cheap and exact for a constant twist, and it is the same object the state estimators and controllers built on these groups differentiate through.1
Footnotes
-
Sola, Deray, Atchuthan, A micro Lie theory for state estimation in robotics (2018). ↩ ↩2
-
Featherstone, Rigid Body Dynamics Algorithms (2008). ↩