50.5 Error-State Kalman Filter

Search IconIcon to open search

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 unknown_filename.1.png
    • a large signal q_nom (nominal orientation) and
    • a small signal (perturbation angle alpha) – parametrises an error quaternion unknown_filename.png
  • 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

  1. Prediction of nominal states
    • uses high frequency IMU data
    • does not consider noise, nor other model inaccuracies, hence it accumulate errors
  2. 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
  3. 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
  4. 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