50.5 Error-State Kalman Filter
Source: Markley
- An EKF propagates the expectation and covariance of the state
- The MEKF propagates the expectation and the covariance of the error state
Source: Whampsey MEKF
- Previously: orientation is represented by one state
- Now: orientation is split up into
- a large signal q_nom (nominal orientation) and
- a small signal (perturbation angle alpha) – parametrises an error quaternion
- This reformulates the error in terms of the group operation and so maintains the rotation invariance (rotation preserves the origin, length, angle between two vectors, orientation, etc.)
Source: Solà 2017 Quaternion kinematics for ESKF
True state = nominal state (large signal) + error state (small signal)
Some advantages of ESKF
- Orientation error-state is minimal (same number of parameters as the degrees of freedom)
- avoids over-parametrisation, risk of singularity of covariance matrices
- lower computational complexity due to the reduced dimension
- Error-state system always operates close to the origin
- far from possible parameter singularities, gimbal lock issues etc. (s. Which orientation parametrisation to choose? )
- guarantees that the linearisation validity holds at all times
- “One interesting common property of the errors is that they have less complex behaviour than the state itself” [ Source ] — pose behaviour is highly nonlinear, but the error has a much more linear behaviour
- Error-state is always small
- all second order products are negligible
- easy and fast computations of Jacobians
- Error dynamics are slow
- large signal dynamics are computed in the nominal state
- perform update/corrections at a slower rate compared to predictions why is this an advantage?
- in MEKF: the covariance of the rotation error angles has a transparent physical interpretation Markley
Stages
- Prediction of nominal states
- uses high frequency IMU data
- does not consider noise, nor other model inaccuracies, hence it accumulate errors
- Prediction of error states
parallel to above
- estimates the above errors, using error state evolution (linear dynamic system, linearised from nominal dynamics)
- predicts a Gaussian estimate of the error state
- covariance propagation
- ESKF Correction/update stage
- arrival of non-IMU measurements renders the errors observable, s. Observation of the error state
- calculates a posterior Gaussian estimate of the error state
- Apply correction
- add the mean of the error state to the nominal state
- [Calculation of K and P in ESKF update](calculation of k-and-p-in-eskf-update.md)
- ESKF reset