auto-ekf is a super simple header-only Extended Kalman Filter class making use of automatic differentiation for system linearization (from this awesome repo) and some new c++20 feature.
It's not meant to be super performant nor very sophisticated by any mean :)
To use auto-ekf you'll need to have:
- A C++ compiler that supports C++20.
- CMake 3.14 or higher
- Eigen 3
- autodiff
The examples make use of a C++ wrapper of matplotlib named matplotlib-cpp for visualization purposes. This package should be fetched at configure time though.
Tests have been set up using Catch2 library. Anyway, no test has been written so far.
auto-ekf is basically a wrapper around Eigen and autodiff which are both well tested so ...
Fuzz testing could be useful but it does not seem to work with gcc which is the compiler I am currently using.
The examples use the measurements data (lidar + radar) from Udacity Extended Kalman Filter repository that I have found online.
These data are used only for validation purposes; this work has nothing to do with the Udacity course about autonomous driving.