Unscented Kalman Filter Project Starter Code
Self-Driving Car Engineer Nanodegree Program
This project describes the application of the constant turn rate and velocity magnitude model (CTRV) and the Unscented Kalman Filter (UKF). This project is written in C++. For the given measurements data with lidar dan radar, the RMSE returns [ 0.0771442 0.0852696 0.387216 0.250489].
The figure below shows the result of the UKF state estimation compared to the ground truth and its normalized innovation squared (NIS) calculation:
- cmake >= v3.5
- make >= v4.1
- gcc/g++ >= v5.4
Basic Build Instructions
- Clone this repo.
- Make a build directory:
mkdir build && cd build
cmake .. && make
- Run it:
./UnscentedKF path/to/input.txt path/to/output.txt. You can find some sample inputs in 'data/'.
We've purposefully kept editor configuration files out of this repo in order to keep it as simple and environment agnostic as possible. However, we recommend using the following settings:
- indent using spaces
- set tab width to 2 spaces (keeps the matrices in source code aligned)
Please stick to Google's C++ style guide as much as possible.
Generating Additional Data
This is optional!
If you'd like to generate your own radar and lidar data, see the utilities repo for Matlab scripts that can generate additional data.