Unscented Kalman Filter for LIDAR and RADAR Sensor Fusion
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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

  1. Clone this repo.
  2. Make a build directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./UnscentedKF path/to/input.txt path/to/output.txt. You can find some sample inputs in 'data/'.
    • eg. ./UnscentedKF ../data/obj_pose-laser-radar-synthetic-input.txt

Editor Settings

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)

Code Style

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.

Project Instructions and Rubric

This information is only accessible by people who are already enrolled in Term 2 of CarND. If you are enrolled, see the project page for instructions and the project rubric.