Self-Driving Car Engineer Nanodegree Program
This project implements an extended Kalman filter in C++. The input is in the form of simulated lidar and radar measurements detecting a bicycle that travels around a vehicle. The objective is to use a Kalman filter, the lidar measurements and the radar measurements to track the bicycle's position and velocity.
This project requires Udacity Simulator which provides the inputs to the Kalman filter.
- cmake >= 3.5
- make >= 4.1
- gcc/g++ >= 5.4
- Clone this repo.
- Make a build directory:
mkdir build && cd build
- Compile:
cmake .. && make
- On windows, you may need to run:
cmake .. -G "Unix Makefiles" && make
- On windows, you may need to run:
- Run it:
./ExtendedKF
main.cpp - communicates with Udacity Simulator receiving data measurements, calls a function to run the Kalman filter, calls a function to calculate RMSE.
FusionEKF.cpp - initializes the filter, calls the predict function, calls the update function.
kalman_filter.cpp- defines the predict function, the update function for lidar, and the update function for radar.
tools.cpp- function to calculate RMSE and the Jacobian matrix.