It contains implementations for
- Kalman Filter
- Extended Kalman Filter
- Unscented Kalman Filter
- Particle Filter
It also includes the following examples:
- Spring mass damper system (kf, efk, ukf, pf)
- Simple pendulum (kf, ekf, ukf, pf)
NOTE: The kalman filter example in the non-linear simple pendulum example has been added to demonstrate the performance of the kalman filter when the measurement to state space conversion, the process matrix and the control matrix are non-linear and approximations/assumptions are made to help it replicate the actual process (in this case, the small angle approximation)
git clone https://github.com/vss2sn/bayes_filter.git
sudo apt install libeigen3-dev
cd bayes_filter
mkdir build
cd build
cmake .. && make -j
./main # or the examples' executables
Please checkout the branch c++17
and use that/rebase on it
- Add documentation
- Option for dimension correctness checking (esp. for control input)
- Add options for resampling n particle filter
- Add calculation for the error covariance in the particle filter