Skip to main content
Lie groups and tangent spaces introduced the group, its tangent space at the identity, and the Exp and Log maps between them. You can use these ideas to perturb and differentiate group elements, integrate motion, and represent uncertainty. You perform each calculation in the flat tangent space and then return to the group. This treatment follows Solà, Deray and Atchuthan (Solà et al., 2018) and relates their results to the formulas in Lynch and Park (Kevin M. Lynch, 2017).

Steps in the tangent space

Suppose an optimizer or filter must adjust an orientation RR to reduce an error. In a vector space, you might take the step R−η ∇RR - \eta\,\nabla R. This step leaves SO(3), so the result is no longer a rotation matrix. Take the step in the Lie algebra, where it is an ordinary vector, and map the result back with the exponential: Rk+1=Rkexp⁡([δω]).R_{k+1} = R_k \exp\big([\delta\omega]\big) . The quantity δω\delta\omega is a three-vector, and [δω][\delta\omega] is its skew-symmetric matrix. This construction guarantees that the result is a rotation. The remaining operations follow the same pattern.

Plus and minus

Solà describes this procedure with two operators. The right plus adds a small tangent vector τ\tau to an element X\mathcal{X}. The right minus recovers the tangent vector between two elements (Solà eqs. 25 and 26): Y=X⊕τ=X∘Exp(τ),τ=Y⊖X=Log(X−1∘Y).\mathcal{Y} = \mathcal{X} \oplus \tau = \mathcal{X} \circ \mathrm{Exp}(\tau), \qquad \tau = \mathcal{Y} \ominus \mathcal{X} = \mathrm{Log}\big(\mathcal{X}^{-1} \circ \mathcal{Y}\big) . Because Exp(τ)\mathrm{Exp}(\tau) multiplies X\mathcal{X} on the right, τ\tau is expressed in the local frame attached to the body. The left versions multiply on the left, Exp(τ)∘X\mathrm{Exp}(\tau) \circ \mathcal{X}, and express τ\tau in the global frame (Solà eqs. 27 and 28). These operators let you change an element of a curved group or measure the difference between two poses as you would in a vector space.

The adjoint

You can describe the same motion in the local or global frame. The adjoint converts between these descriptions (Solà eqs. 29 to 31): AdX τ=(X τ∧ X−1)∨,\mathrm{Ad}_{\mathcal{X}}\,\tau = \big(\mathcal{X}\,\tau^\wedge\,\mathcal{X}^{-1}\big)^\vee , The adjoint also relates the left and right plus operations (Solà eq. 32): X⊕τ=(AdX τ)⊕X.\mathcal{X} \oplus \tau = \big(\mathrm{Ad}_{\mathcal{X}}\,\tau\big) \oplus \mathcal{X} . The adjoint is a linear map, so you can represent it with a matrix. For rigid motions, Lynch and Park use the 6×66 \times 6 matrix [AdT][\mathrm{Ad}_T] (Definition 3.20, book page 98). It converts a body twist into a space twist, Vs=[AdTsb] Vb\mathcal{V}_s = [\mathrm{Ad}_{T_{sb}}]\,\mathcal{V}_b (eq. 3.83, book page 99).

The small adjoint and the Lie bracket

Rotation representations showed that the order of rotations matters in 3-D. The Lie bracket of two generators records this property in the algebra: [A,B]=AB−BA,[A, B] = AB - BA , The bracket is zero exactly when AA and BB commute. Every bracket is zero in the plane, but this is not true in SO(3) or SE(3). The bracket also measures the difference between exponentiating a sum and multiplying exponentials. For small AA and BB, the Baker-Campbell-Hausdorff formula gives eAeB=e A+B+12[A,B]+⋯,e^{A} e^{B} = e^{\,A + B + \frac{1}{2}[A, B] + \cdots} , Thus, eAeB=eA+Be^{A}e^{B} = e^{A + B} only when the generators commute. The regression analogy from Lie groups and tangent spaces breaks down because the basis directions in the Lie algebra interact. Holding one element of the bracket fixed gives a linear map called the small adjoint ad\mathrm{ad}. It is the derivative of Ad\mathrm{Ad} at the identity. For twists, Lynch and Park denote the Lie bracket of V1\mathcal{V}_1 and V2\mathcal{V}_2 by [adV1] V2[\mathrm{ad}_{\mathcal{V}_1}]\,\mathcal{V}_2 (Definition 8.3, eqs. 8.37 and 8.38, book page 287). The equations of motion in rigid-body dynamics use this map.

Derivatives and Jacobians

A derivative describes how a small change in a function’s input changes its output. On a Lie group, this change is a tangent vector. Solà defines the right Jacobian of a function ff between groups by replacing ++ and −- with the right plus and minus (Solà eq. 41): J=lim⁡τ→0f(X⊕τ)⊖f(X)τ.J = \lim_{\tau \to 0} \frac{f(\mathcal{X} \oplus \tau) \ominus f(\mathcal{X})}{\tau} . This Jacobian describes how much f(X)f(\mathcal{X}) moves in its local frame when you perturb X\mathcal{X} by τ\tau in its local frame. You can use it to linearize any function on the group (Solà eq. 43): f(X⊕τ)≈f(X)⊕J τ.f(\mathcal{X} \oplus \tau) \approx f(\mathcal{X}) \oplus J\,\tau . The left Jacobian uses the same definition with the left operators (Solà eq. 44). As with ordinary derivatives, you compose Jacobians through the chain rule (Solà section III.A). Solà section III.B lists the Jacobians for inverse, composition, Exp, and the action on a vector. Section III.C uses those results to derive the Jacobians for Log, plus, and minus. You can build most other Jacobians from these basic ones.

Uncertainty

A Gaussian over a group’s matrix entries cannot represent a probability distribution on the group because most matrices near a rotation are not rotations. Place the uncertainty in the tangent space around a mean Xˉ\bar{\mathcal{X}}. Its covariance is (Solà eq. 52) ΣX=E[(X⊖Xˉ)(X⊖Xˉ)⊤],\Sigma_{\mathcal{X}} = \mathbb{E}\big[(\mathcal{X} \ominus \bar{\mathcal{X}})(\mathcal{X} \ominus \bar{\mathcal{X}})^\top\big] , This ordinary matrix has the same dimensions as the tangent space. If Y=f(X)\mathcal{Y} = f(\mathcal{X}), the preceding linearization propagates the covariance through the function (Solà eq. 55): ΣY≈J ΣX J⊤.\Sigma_{\mathcal{Y}} \approx J\,\Sigma_{\mathcal{X}}\,J^\top . A filter can therefore track uncertainty in a robot’s orientation or pose.

Integration

A body with constant velocity vv over a time δt\delta t moves by Exp(v δt)\mathrm{Exp}(v\,\delta t). When the velocity changes, divide the motion into short intervals. Treat the velocity as constant within each interval, and chain the resulting steps (Solà eq. 56): Xk=Xk−1⊕τk=Xk−1∘Exp(vk δt).\mathcal{X}_k = \mathcal{X}_{k-1} \oplus \tau_k = \mathcal{X}_{k-1} \circ \mathrm{Exp}(v_k\,\delta t) . Wheeled-robot odometry applies this procedure on SE(2). Lynch and Park first compute the closed-form displacement caused by a constant body twist. They then add it to the previous configuration (eqs. 13.35 and 13.36, book page 550). This closed form is the exponential of SE(2) written explicitly.

Notation

Solà and Lynch and Park use different notation for the same objects.

Where the Modern Robotics formulas come from

The formulas below appear throughout this chapter. Most occur before this section. The final two occur later. The third column identifies the corresponding Lie operation. All page numbers refer to the Lynch and Park book.

References

  • Kevin M. Lynch, F. (2017). Modern Robotics.
  • Solà, J., Deray, J., Atchuthan, D. (2018). A micro Lie theory for state estimation in robotics. arXiv [cs.RO].

Found an error on this page? Report an issue.