Reading and display settings

Appearance

System follows your operating system and keeps following it, even if you change it later. The header's sun, moon and monitor cycle the same three options.

Text size (%) 100%

Default. Scales every text size on the site, equations and tables included.

Reading width 70ch

How much text runs across one line of prose. Narrower is easier to track; wider fits more on screen.

Line spacing 1.6

The leading on body text. Taller leading helps a tired eye stay on the line.

Density

Padding and gaps around controls, cards, and tables — how much breathing room the layout leaves itself.

Motion

System follows your operating system. Reduced removes every transition on this site. Full keeps them on unless your system asks for less.

1

The group and its algebra

Homogeneous matrices and twists

🎯 Goal: write a pose as a $4\times4$ matrix, find its Lie algebra by differentiating, and read the result as a linear and an angular velocity.

A pose $T = (R, t)$ acts on points by ${}^{A}p = R\,{}^{B}p + t$. Stacking it into a homogeneous matrix makes composition and inversion ordinary matrix algebra:

$$ T = \begin{bmatrix} R & t\\ 0^\top & 1\end{bmatrix}\in SE(3), \qquad T_1T_2 = \begin{bmatrix} R_1R_2 & R_1t_2 + t_1\\ 0^\top & 1\end{bmatrix}, \qquad T^{-1} = \begin{bmatrix} R^\top & -R^\top t\\ 0^\top & 1\end{bmatrix}. $$

Differentiate a moving pose and pull it back to the body, as in Part 4: $T^{-1}\dot T$. Its top-left block is the skew matrix $[\omega]_\times$, and its top-right column is the velocity of the body origin expressed in the body frame, $\rho = R^\top\dot t$. That pair is a twist:

$$ \tau = \begin{bmatrix}\rho\\ \phi\end{bmatrix}\in\mathbb{R}^6, \qquad \tau^\wedge = \begin{bmatrix}[\phi]_\times & \rho\\ 0^\top & 0\end{bmatrix}\in\mathfrak{se}(3), \qquad T^{-1}\dot T = \tau^\wedge. $$

Six numbers: three for "how fast forward, sideways and up, in my own frame" and three for "how fast I am turning". In $SE(2)$ the twist is $(\rho_x, \rho_y, \theta)$: forward speed, sideways speed and turn rate, exactly the commands a wheeled robot receives. (Libraries disagree on whether $\rho$ or $\phi$ comes first. This series follows Solà et al. and Sophus: translation first.)

2

Exp on SE(2): drive at constant speed and turn rate

The unicycle follows an arc

🎯 Goal: see that the exponential of a constant planar twist is a circular arc, and that its translation is not the twist's $\rho$. A matrix $V(\theta)$ bends it.

Command a robot to move at forward speed $v$ and turn rate $\omega$ for one second. The twist is $\tau = (v, 0, \omega)$, and the pose it reaches is $\operatorname{Exp}(\tau)$. Summing the series (or integrating the unicycle model) gives

$$ \operatorname{Exp}\begin{pmatrix}\rho\\ \theta\end{pmatrix} = \begin{bmatrix} R(\theta) & V(\theta)\,\rho\\ 0 & 1\end{bmatrix}, \qquad V(\theta) = \frac{1}{\theta}\begin{bmatrix}\sin\theta & -(1-\cos\theta)\\ 1-\cos\theta & \sin\theta\end{bmatrix}. $$

$V$ is what couples the rotation into the translation. For small $\theta$ it is nearly $I$, and the robot moves in a straight line. As $\theta$ grows, the robot follows an arc of radius $v/\omega$, and the chord it covers is shorter than $\rho$ and turned by $\theta/2$. The naive guess "position += $\rho$, heading += $\theta$" is the dashed ghost: the translation and rotation parts computed separately, as if the robot moved and then turned. Push the turn rate and compare. Odometry that uses the naive update drifts systematically on every turn.

Exp(t·τ) path and pose naive: add ρ, add θ
3

Exp on SE(3): every rigid motion is a screw

Chasles' theorem, drawn

🎯 Goal: see the exponential of a constant 3D twist as a helix, rotating about a fixed axis while sliding along it, and read the axis and pitch off the twist.

In space the formula has the same shape, with the left Jacobian of $SO(3)$ (Part 9) playing the role of $V$:

$$ \operatorname{Exp}\begin{pmatrix}\rho\\ \phi\end{pmatrix} = \begin{bmatrix}\operatorname{Exp}(\phi) & V(\phi)\,\rho\\ 0^\top & 1\end{bmatrix}, \qquad V(\phi) = I + \frac{1-\cos\theta}{\theta^2}[\phi]_\times + \frac{\theta - \sin\theta}{\theta^3}[\phi]_\times^2,\ \ \theta = \lVert\phi\rVert. $$

A body moving with a constant twist does not follow a straight line or a circle, but a screw. It rotates about a fixed line in space, the screw axis, and slides along that line at a fixed ratio, the pitch. Chasles' theorem says every rigid displacement can be reached this way. The axis and pitch come straight from the twist:

$$ \text{direction } \hat\phi = \frac{\phi}{\lVert\phi\rVert}, \qquad \text{point on axis } q = \frac{\phi\times\rho}{\lVert\phi\rVert^2}, \qquad \text{pitch } h = \frac{\phi\cdot\rho}{\lVert\phi\rVert^2}. $$

With $\rho\perp\phi$ the pitch is zero: pure rotation about an offset axis, like a door on its hinge. With $\rho\parallel\phi$ the axis passes through the origin, like a drill bit. With $\phi = 0$ the pitch is infinite and the motion is pure translation.

The body at $\operatorname{Exp}(t\tau)$ for several $t$. The dashed line is the screw axis; the helix is the path of the body origin. Drag to orbit.

4

Log on SE(3), and the two ways to interpolate a pose

The screw from here to there, versus rotate-and-slide

🎯 Goal: invert the exponential to find the twist that reaches a given pose, and compare the resulting screw path with the popular "interpolate rotation and translation separately" path.

The logarithm inverts the two blocks in turn: first the rotation, then the translation through $V^{-1}$:

$$ \operatorname{Log}(T) = \begin{pmatrix} V(\phi)^{-1}\,t \\ \phi\end{pmatrix}, \qquad \phi = \operatorname{Log}(R). $$

So there are two natural paths from the identity to a pose $T = (R, t)$. The SE(3) geodesic $\operatorname{Exp}(s\operatorname{Log}T)$ is a screw: the body's origin curves as it turns. The decoupled path $(\operatorname{Exp}(s\,\phi),\ s\,t)$ treats the pose as the product $SO(3)\times\mathbb{R}^3$ and moves the origin in a straight line while turning. Both are legitimate groups and both appear in practice. SE(3) is natural when translation and rotation come from one rigid motion, for example a twist integrated over time. $SO(3)\times\mathbb{R}^3$ is natural when position is measured in a fixed world frame, as in GPS or IMU preintegration, and GTSAM and others let you choose. They agree to first order and part ways for large rotations. The demo shows both.

SE(3) screw Exp(s·Log T) SO(3)×ℝ³: slerp + straight line
5

Beyond SE(3)

The same recipe, other groups

The recipe (differentiate at the identity, find the algebra, sum the exponential, invert it) works for every matrix group in the table of Part 2:

$Sim(3)$
Adds a log-scale $\sigma$ to the twist: 7 numbers $(\rho, \phi, \sigma)$. Used to close loops in monocular SLAM, where scale drifts (ORB-SLAM, LSD-SLAM).
$SE_2(3)$
"Extended poses" $(R, v, p)$: rotation, velocity and position in one group, whose exponential makes IMU error dynamics exactly linear. It is the heart of the invariant EKF (Barrau & Bonnabel).
$SL(3)$
Homographies with determinant 1: 8 degrees of freedom, used for direct plane tracking and image alignment.
$SO(3)\times\mathbb{R}^3$
The decoupled product from section 4: simpler Jacobians, a different notion of "straight".
6

Check your understanding

0/5 answered