rlabbe / Kalman-and-Bayesian-Filters-in-Python

Kalman Filter book using Jupyter Notebook. Focuses on building intuition and experience, not formal proofs. Includes Kalman filters,extended Kalman filters, unscented Kalman filters, particle filters, and more. All exercises include solutions.
Other
16.76k stars 4.2k forks source link

Ch11 - EKF: Error in Design the System Model (Robot Localization) #159

Open jroberayalas opened 7 years ago

jroberayalas commented 7 years ago

I believe there's an error in the section Design the System Model for the robot localization example. The motion model is actually providing a relationship between the past and future states (x, y, theta), not the derivatives of the states (x', y', theta'). Unless I'm missing something, these equations can be used as they are, and there's no need to compute the Jacobian.

rlabbe commented 7 years ago

The movement of a robot responding to rotational velocity cannot be described by linear state transitions. A Gaussian distribution passed through a rotational function is no longer Gaussian. Hence, we need to linearize, or use techniques such as the UKF or particle filter.

My formulation comes from Thrun's book Probabilistic Robots.

jroberayalas commented 7 years ago

Yes, I agree on that. I think the confusion comes from the notation used. Isn't x "bar" the notation for the next state of x, and x "dot" (or x') the notation for the derivative of x? If so, how can we get the partial derivatives of x', y' and theta' if they are not defined:

captura de pantalla 2017-07-03 a la s 22 39 26