This project fuses the position and velocity measurements of obstacles from rader and lasar measurements to track the obstacles through time. It manages both cartesian and polor coordinates.
- cmake >= 3.5
- All OSes: click here for installation instructions
- make >= 4.1
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
- jupyter
- All: install instructions
- Clone this repo.
- Make a build directory:
mkdir build && cd build
- Compile:
cmake .. && make
- Run it:
./ExtendedKF path/to/input.txt path/to/output.txt
. You can find some sample inputs in 'data/'.- eg.
./ExtendedKF ../data/sample-laser-radar-measurement-data-1.txt output.txt
- eg.
- In order to graph your results, enter this directory and run
jupyter notebook
. Then execute each cell in succession by pressing shift + enter. You can also run the whole notebook in a single step by clicking on the menu Cell -> Run All.
The Kalman Filter was able to track obstacles fairly accuractely with the sample measurements/ground truth that I used.
The position predictions were most accurate across different datasets.
There was some noise in the velocity predictions, mostly caused by the radar measurements.