Why rotations don't add
Most of the mathematics used to estimate things assumes the unknowns live in a vector space. You can add two of them, scale them, average a pile of them, and step along a gradient by adding a small vector. A position works that way. An orientation does not, and neither does a full pose. This page works through four small, concrete failures, one per section, and each one points at the same missing idea. The last section draws that idea in a single picture, and the other eleven parts of the series make it precise.
Averaging three compass headings
The smallest possible failure
Three sensors report a robot's heading as $350^\circ$, $355^\circ$ and $20^\circ$. Anyone looking at a compass sees three needles bunched around north, so the answer should be a few degrees east of north. The arithmetic mean says
which points roughly south-west. Nothing is wrong with the arithmetic. What is wrong is the assumption that headings live on a number line. They live on a circle, where $360^\circ$ and $0^\circ$ are the same point and the gap between $355^\circ$ and $20^\circ$ is $25^\circ$, not $335^\circ$.
The fix is to measure every heading as a signed difference from a current guess, average those small differences (which really are ordinary numbers), and move the guess by that average. Repeat until the average difference is zero. That loop is the intrinsic mean. Drag the needle tips and compare the two answers. Things only go badly when the needles straddle the $0^\circ/360^\circ$ seam. That is the danger: the naive answer is right often enough to pass a test, and wrong exactly when the robot faces north.
Drag the three dark needle tips. Magenta dashed is the arithmetic mean of the numbers. Blue is the intrinsic mean on the circle. The strip on the right shows the same three numbers on a number line, where the seam at 0/360 is a cliff.
Adding Euler angles
Three numbers are not a 3-vector
A 3D orientation is often stored as three Euler angles: yaw $\psi$, pitch $\theta$ and roll $\phi$, with $R = R_z(\psi)R_y(\theta)R_x(\phi)$. It is tempting to treat the triple like a vector: to apply turn $B$ after turn $A$, add the angles. The true answer is the matrix product $R_A R_B$. The demo sets both turns with roll zero and compares the true product (solid box) with the box built from the summed angles (dashed).
Set both pitches to zero and the two boxes agree: yaws about one fixed axis really do add. Set both yaws to zero and they agree again. As soon as both turns mix yaw and pitch, the boxes come apart, often by tens of degrees. Addition only composes rotations that share an axis. Part 6 returns to Euler angles and their worse problem, gimbal lock.
Drag empty space to orbit. Solid: $R_A R_B$ (the truth). Dashed: the rotation built from $(\psi_A+\psi_B,\ \theta_A+\theta_B,\ 0)$.
Averaging rotation matrices
The sum leaves the set
Matrices can be added, so why not average the matrices themselves? A rotation matrix has orthonormal columns: $R^\top R = I$ and $\det R = +1$. Average two of them, $M = \tfrac12(R_1 + R_2)$, and neither property survives. The columns of $M$ get shorter as the two rotations get further apart, so $M$ shrinks space in some directions. It is no longer a rotation.
Below, $R_1$ turns by angle $\alpha$ about $x$ and $R_2$ turns by $\alpha$ about $y$. The gray box is the unit box pushed through $M$: watch it flatten. The blue box is the geodesic midpoint, the rotation halfway along the shortest path from $R_1$ to $R_2$. It is a genuine rotation, and Part 12 builds it properly. Snapping $M$ back to the nearest rotation also gives a valid answer (the "chordal" mean of Part 10), but it is a different, approximate one.
The order of two turns matters
Non-commutativity, measured
Pick up a book. Turn it $90^\circ$ about a left-right axis, then $90^\circ$ about a front-back axis. Put it back and do the same two turns in the opposite order. The book ends up in two different orientations: $R_x(\alpha)R_y(\beta) \ne R_y(\beta)R_x(\alpha)$. Numbers commute ($a+b=b+a$) and so do vectors. Rotations in 3D do not, so no way of writing a rotation as three numbers can make composition equal to addition.
The disagreement is not arbitrary. For small angles it is itself a rotation of about $\alpha\beta$ radians about the third axis $z$. This is the first sighting of the Lie bracket, the object that measures non-commutativity, which Part 4 builds properly. The readout compares the measured gap with the $\alpha\beta$ prediction.
The fix, in one picture
Compose in the group, compute in the tangent space
All four failures have the same shape. The states (headings, orientations, poses) form a curved set $\mathcal{M}$, and ordinary vector arithmetic walks off it. But the set is smooth: zoom in on any point $X$ and it looks flat, like the tangent line to a circle. That flat space $T_X\mathcal{M}$ is an honest vector space, so adding, averaging, differentiating and solving least-squares problems all work there. Two maps connect the two worlds:
$\operatorname{Exp}$ wraps a tangent vector $\tau$ onto the curved set without ever leaving it. $\operatorname{Log}$ unwraps a nearby state back into a tangent vector. The heading fix in section 1 was exactly this loop: $\ominus$ to get differences, average in the tangent space, then $\oplus$ back. Drag the tangent vector below and compare $X \oplus \tau$, which stays on the circle, with the naive $X + \tau$, which floats off it.
What makes this more than a trick is the group structure. Rotations and poses can be composed and inverted, and the composition is smooth. That lets the tangent space at the identity serve every point, carried around by composition. That flat space is the Lie algebra. A set that is both a smooth manifold and a group is a Lie group.
The circle is the group $SO(2)$. The dark point is $X$; the dashed line is its tangent space. Blue lands at $X\oplus\tau$ by walking the arc; the hollow magenta dot is the illegal $X+\tau$. Drag $X$ around the circle.
Where this series goes
A map of the four acts
Each failure above has a part of the series that fixes it for good. Read in order, the parts build one toolkit; read by need, each one stands on its own.
The same machinery shows up wherever something turns: visual and LiDAR SLAM, visual-inertial odometry, bundle adjustment, hand-eye calibration, robot-arm kinematics, spacecraft attitude control and character animation. Libraries such as Sophus, GTSAM, manif, Ceres (through its manifolds) and PyPose are all implementations of the handful of formulas this series derives.