I have a process model update that follows the form:

$$ \mathbf{x}_{k|k-1} = \mathbf{x}_{k-1|k-1} + \delta \mathbf{x}_k, $$

where $\mathbf{x}_{k-1|k-1}$ is the posterior estimate from the last filter update and $\delta \mathbf{x}_k$ is the increment due to odometry (which is treated as a control step).

My question is this: When trying to implement this as a predict step in a state estimator (e.g. Kalman filter), is it enough to consider $\mathbf{x}_{k-1|k-1}$ and $\delta \mathbf{x}_k$ as being independent Gaussian random variables drawn from distributions ($\mathcal{N}(\mathbf{x}_{k-1|k-1}, P_{k-1|k-1})$ and $\mathcal{N}(\delta \mathbf{x}_k, Q)$, $Q$ is the odometry model covariance and $\mathcal{N}(m, \sigma^2)$ is a Gaussian distribution with mean $m$ and variance $\sigma^2$)? In this case, I would have the following model covariance update during the prediction step:

$$ \mathbf{x}_{k|k-1} = \mathbf{x}_{k-1|k-1} + \delta \mathbf{x}_k \\ P_{k|k-1} = P_{k-1|k-1} + Q $$

My hangup is that this does not follow the normal Kalman filter prediction paradigm:

$$ P_{k|k-1} = J P_{k-1|k-1} J^T + Q. $$

Fundamentally, I believe my update equation is correct because of the fact that the mean and covariance of the sum of two Gaussian distributions is the sum of the mean and the sum of the covariance, respectively, but I am having difficulty reconciling this fact with the Kalman filter equations. Does my reasoning make sense? Am I correct?

  • 1
    $\begingroup$ Your example makes sense. It's the special case of $J = 1$. $\endgroup$
    – Amro
    Nov 26, 2022 at 3:54


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.