50.7.1 Observation of the error state (filter correction)

Search IconIcon to open search

Parents: 50.3 Error-State Kalman Filter50.5 eskf update / fusing imu with complementary sensory data

Source: Solà 2017 Quaternion kinematics for ESKF

Given is a non-IMU sensor with the measurement function [ Solà , Markley ] $$ \mathbf{y} = h(\mathbf{x}_t) + v $$

where $\mathbf{x}_t$ is the true state and $v$ is a white Gaussian noise $$ v \sim \mathcal{N}\left\lbrace 0, \mathbf{V}\right\rbrace $$


SourceMarkley 2014

If the measurements are given in quaternion form:

  • we can directly calculate the orientation error between measured orientation and estimated orientation
  • this becomes our ‘measured’ angular error $\mathbf{y}_k = \delta \mathbf{\theta}_k$  which can be used to calculate the residual term $$ \mathbf{q}_k \otimes \hat{\mathbf{q}}k^{-1} = \delta \mathbf{q} (\delta \mathbf{\theta}k) $$ [JPL convention]: $$\mathbf{q}\text{meas} \otimes \mathbf{q}\text{est}^* = \delta\mathbf{\theta}$$

Note: the measurement update should agree closely with the measurement residual calculation. therefore the measurement model should use the same parametrisation for $\delta \mathbf{q}$ as is used in the reset, s. Rotation error representation

Using  Gibbs / Rodrigues parameter representation for rotations :
$$ \mathbf{y}_k = \delta \mathbf{\theta}_k = 2 \dfrac{\left( \mathbf{q}_k \otimes \hat{\mathbf{q}}k^{-1} \right){1:3}} {\left( \mathbf{q}_k \otimes \hat{\mathbf{q}}_k^{-1} \right)_4} $$

Advantage: the observation model is insensitive to the sign ambiguity in the measured quaternion $$ \begin{aligned} & \quad \mathbf{h}_k + \mathbf{H}_k \left[ \begin{array}{c} \delta\mathbf{\hat{\theta}}_k^- \
\Delta \mathbf{\hat{\xi}}_k^- \end{array} \right] \
&= 2 \dfrac{\left( \mathbf{q}_k \otimes \hat{\mathbf{q}}k^{-1} \right){1:3}} {\left( \mathbf{q}_k \otimes \hat{\mathbf{q}}_k^{-1} \right)_4}

  • \left[ \begin{array}{cc} \mathbf{I}3 & \mathbf{0}{3\times n} \end{array} \right] \left[ \begin{array}{c} \delta\mathbf{\hat{\theta}}_k^- \
    \Delta \mathbf{\hat{\xi}}_k^- \end{array} \right]\
    &= \delta \mathbf{\hat{\theta}}_k^- \end{aligned} $$

Residual becomes $y_k - \delta\theta_k$