Skip to main content
A 4×4 homogeneous transformation matrix represents a rigid-body configuration. A rotation matrix R∈SO(3)R \in SO(3) represents orientation. A six-dimensional twist describes spatial velocity. A six-dimensional wrench represents spatial force. The table uses the rigid-body motion notation of Lynch and Park (Kevin M. Lynch, 2017). SO(n)SO(n) and SE(n)SE(n) are Lie groups. They are the curved spaces of configurations. Their Lie algebras, so(n)\mathfrak{so}(n) and se(n)\mathfrak{se}(n), are flat tangent spaces at the identity that contain velocities. The matrix exponential maps a velocity to a configuration: exp⁡:so(3)→SO(3)\exp: \mathfrak{so}(3) \to SO(3) and exp⁡:se(3)→SE(3)\exp: \mathfrak{se}(3) \to SE(3). The matrix logarithm maps a configuration to a velocity that produces it in unit time: log⁡:SO(3)→so(3)\log: SO(3) \to \mathfrak{so}(3) and log⁡:SE(3)→se(3)\log: SE(3) \to \mathfrak{se}(3). The exponential is many-to-one, so a rotation has many logarithms. In the plane, the angles θ\theta and θ+2π\theta + 2\pi give the same rotation. Choosing the principal angle in (−π,π](-\pi, \pi] makes the planar logarithm a function. On that branch, it inverts the exponential. In three dimensions, restricting the rotation angle to [0,π][0, \pi] does not make the logarithm unique. A rotation by exactly π\pi has two logarithms because the axes ω^\hat{\omega} and −ω^-\hat{\omega} give the same rotation. The logarithm is a single-valued inverse for angles below π\pi. A rotation by π\pi requires a sign convention for the axis. The [⋅][\cdot] operator maps a vector in R3\mathbb{R}^3 or R6\mathbb{R}^6 to its matrix form in so(3)\mathfrak{so}(3) or se(3)\mathfrak{se}(3).

Rotations and rigid-body motions side by side

Lynch and Park summarize chapter 3 in four tables (Kevin M. Lynch, 2017). Each row pairs a fact about rotation with its rigid-body counterpart. Table comparing rotations and rigid-body motions. R in SO(3) is a 3 by 3 matrix with R transpose R equal to I and determinant 1; T in SE(3) is a 4 by 4 matrix built from R and p. Inverses: R inverse equals R transpose; T inverse has R transpose and minus R transpose p. Change of frame: R_ab R_bc equals R_ac and T_ab T_bc equals T_ac. Table continued. Rotating a frame by R equals Rot of omega hat and theta, premultiplying for the fixed axis and postmultiplying for the body axis; displacing a frame by T, likewise. A unit rotation axis omega hat with norm 1, against a unit screw axis S with either norm of omega equal to 1, or omega zero and norm of v equal to 1. A screw axis with point q, direction s hat and finite pitch h. Angular velocity omega equals omega hat theta dot; twist V equals S theta dot. Table continued. The skew-symmetric matrix of omega in so(3) and its identities; the matrix form of a twist in se(3). R dot R inverse equals omega s and R inverse R dot equals omega b; T dot T inverse equals V s and T inverse T dot equals V b. The adjoint matrix with R, the bracket of p times R and R, with its inverse and product identities. Table continued. Change of frame: omega_a equals R_ab omega_b; S_a and V_a equal the adjoint of T_ab times S_b and V_b. Exponential coordinates omega hat theta in R3 and S theta in R6. Exp from so(3) to SO(3) by Rodrigues' formula, and from se(3) to SE(3). Log for each, with algorithms in sections 3.2.3.3 and 3.3.3.2. Moment change of frame m_a equals R_ab m_b; wrench change of frame F_a equals the transpose of the adjoint of T_ba times F_b.

References

  • Kevin M. Lynch, F. (2017). Modern Robotics.

Found an error on this page? Report an issue.