13 comments

[ 3.1 ms ] story [ 31.8 ms ] thread
Much easier to use them in Simulink, but it's good to see alternatives.
I had this book in my backlog for years. The fact that the book is interactive would immensely help me understand the concept.
While Kalman and Bayesian Filters in Python is a superb resource, probably the best out there, my recommendation for anyone new to the field would be to do Sebastian Thrun's free Artificial Intelligence for Robotics course [1] as an intro, then go through Labbe's work afterwards.

Thrun's course is more accessible and even more hands-on than Labbe's content. As a bonus he also covers Particle Filters,PID control, Search and SLAM (which cam out of Thrun's PhD thesis).

[1] https://www.udacity.com/course/artificial-intelligence-for-r...

This book is quite good. I was recently looking for a more production-ready kalman filters, but the ones I found tend to be either abandoned, lacking lots of features, or not mature code bases. Are there any robust libraries for Kalman filters out there?
I think I've used the OpenCV Kalman filter implementation at some point. Maybe that suits your needs
OpenCV only provides Linear Kalman Filter afaik. For nonlinear estimation you need to use Extended or Unscented (this one is often used in Drone).

I wrote estimation library in Go [1] last year which implements a lot of Kalman Filter alternatives and optimisations + smoothing

https://github.com/milosgajdos83/go-estimate

(comment deleted)
SsfPack [1] is a great implementation if you are willing to suffer through Ox.

[1] http://www.ssfpack.com/

Most of SsfPack is now implemented in python statsmodels: https://www.statsmodels.org/stable/statespace.html
Thanks for that! I was not aware of this.

SsfPack will still be faster though and be less memory hungry than Python. On the brief look I had, it also seems that the nonlinear/non-Gaussian simulation methods are not implemented.

GTSAM [1] packs a lot of functionality for robotics projects, including Kalman filters [2]. A product of GTech (Frank Dellaert), a pro is there are many cool projects built on top of it [3], in C++ and Python. A con is GTSAM is not the cleanest, well-architected codebase (although far better than most products of academic labs).

[1] https://bitbucket.org/gtborg/gtsam

[2] https://github.com/borglab/gtsam/tree/develop/examples#kalma...

[3] e.g., https://github.com/gtrll/piper and https://github.com/gtrll/gpmp2