bayes-filter-cpp is a C++ library implementing recursive bayes filters for state estimation. It provides the following filters:
- Particle Filter
- Unscented Kalman Filter
- Extended Kalman Filter
The library has the following dependencies:
Make sure these are installed on your system and/or can be found by your build system. For ease of use the header-only dependencies are included as submodules.
On Debian based systems you can install Eigen3 via apt:
apt-get install libeigen3-dev
Then you can simply copy the source files into your project or install the library using the CMake build system.
cd path/to/repo
git submodule update --init
mkdir build
cd build
cmake ..
make install
There are three steps to use this library:
- implement your motion model
- implement your sensor model
- pick the filter of your choice
An example for a 2d constant velocity motion model can be found
in examples/constant_velocity.h
.
An example for a 2d range bearing sensor model can be found
in examples/range_bearing.h
.