Quaternion kinematics for error-state KF

Solà 2017 · Paper

One-line summary — A self-contained tutorial that derives quaternion algebra and kinematics from first principles and builds the error-state Kalman filter (ESKF) for IMU-driven state estimation — the standard reference for getting rotation handling right in a VIO filter.

Problem

3D rotation is the most error-prone ingredient of any estimation engine: quaternions do not form a vector space, competing sign and ordering conventions (Hamilton vs JPL) contaminate the literature, and correct definitions of rotation perturbations, derivatives, and integrals are scattered across sources that disagree. Solà’s article is “an exhaustive revision of concepts and formulas related to quaternions and rotations in 3D space, and their proper use in estimation engines such as the error-state Kalman filter”, including an in-depth study of the rotation group and its Lie structure — with the explicit goal of devising precise ESKF formulations for real applications that integrate IMU signals.

Method & architecture

Results

This is a tutorial/reference document, not a benchmarked system — it reports no experiments, and its “results” are the complete, internally consistent catalog of formulas and Jacobians (rotation maps, perturbations, ESKF matrices) ready to transcribe into code. Its impact is measured in adoption: it became one of the standard citations for filter-based VIO and IMU-fusion implementations, and the ESKF recipe it lays out is the pattern behind countless research and production IMU integration modules. Together with on-manifold preintegration (the optimization-side counterpart), it forms the mathematical toolkit modern VIO codebases assume.

Why it matters for SLAM

Rotations do not live in a vector space, so naive additive EKF updates on quaternions break the group constraints; the error-state trick is how every serious filter-based VIO (MSCKF, ROVIO, OpenVINS, and commercial trackers) handles orientation. Solà’s notes are the document most implementers keep open while writing an IMU propagation or ESKF module, and they complement the on-manifold preintegration theory used by optimization-based systems.