Error-State Kalman Filter
误差状态卡尔曼滤波ESKFAdvancedA Kalman filter formulation that estimates the difference between a nominal state and the true state, rather than the state itself.
The error-state Kalman filter is a way of writing the extended Kalman filter (EKF, which applies a Kalman filter after locally linearizing a nonlinear system), commonly used to fuse an IMU (inertial measurement unit) with a camera, lidar, or GPS. It splits the state into two parts: a “nominal state” integrated at high frequency from IMU readings, and a small “error state.” The filter only estimates the error; after each measurement update, the error is folded back into the nominal state and reset to zero. The benefit is that the error stays small, so linearization is more accurate; attitude error can be represented with a 3-dimensional rotation vector, avoiding the covariance singularity that comes from a quaternion using 4 numbers to represent 3 degrees of freedom. Joan Solà’s 2017 lecture notes are the most frequently cited reference for the derivation.
ExamplePX4 flight controller’s EKF2 estimator fuses IMU, GPS, magnetometer, and other data; the official documentation states it uses an “error-state” formulation so that rotational uncertainty can be represented as a 3D vector.
- Also called
- ESKF, ES-EKF
- Related
- Kalman Filter · Extended Kalman Filter · Inertial Measurement Unit · IMU Preintegration · Quaternion · Multi-Sensor Fusion
- Sources
- Joan Solà: Quaternion kinematics for the error-state Kalman filter (arXiv 1711.02508)
PX4 Docs: Using PX4's Navigation Filter (EKF2)