I have been trying to understand EKF localization from Probabilistic Robotics by Thrun Burgard and Fox.

There the covariance prediction is given by $$\overline{\Sigma }_t=G_t\Sigma_{t-1}G^T_t+V_tM_{t-1}V^T$$

Where $G_t$ is the Jacobian matrix of the motion model $g(x_{t-1},u_t)$ with respect to $x_{t-1}$ and evaluated at $(\mu_{t-1},u_t)$ and $V_t$ is the Jacobian matrix of the motion model $g(x_{t-1},u_t)$ with respect to $u_{t}$ and evaluated at $(\mu_{t-1},u_t)$ and $M_t$ is the covariance motion noise which is a function of the actions.

I have been trying to relate that covariance prediction equation with the original equation derived earlier in the book $$\overline{\Sigma }_t=G_t\Sigma_{t-1}G^T_t+R_t$$ with no success.

The authors mention that we used the first formulation because we had to map the noise from the control space to the state space but I don't see how it follows from the original EKF derived earlier.

What further confuses me is that there are other EKF formulations which assume that $g$ could be nonlinear in the noise and replace $V$ with the Jacobian matrix of $g(x_{t-1},u_t)$ with respect to the noise (and not the actions as in here.)

I'm really confused. Any help is appreciated.


1 Answer 1


Like any good engineering formula you can use derive formulations that are appropriate to many different situations. Let's take a rock simple example that doesn't need an EKF at all but is sufficient to illustrate the point.

Take the simplest model possible

$x = 100 * u$

Let's say you know the variance of u and it is .1, what is the variance of x? Well, we have

$100 (.01) 100^T$ = 1000.

If instead I'd observed my overall system, I'd have observed the variance of x and see that it would be 1000 and I'd use the formula with R.

Put another way if I just blindly used the variance of u for x I'd be off by 3 orders of magnitude, not great. So that is the mapping between control and state space. The state space formulation above also handles spaces of different dimensions u and x don't need to be the same and states that depend on complex ways on the input.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.