This project uses lidar measurements and radar measurements to track an object's position and velocity that travels around the vehicle.
Kalman filter techniques taught by Andrei Vatavu (Sensor Fusion Engineer at Mercedes-Benz) are implemented in this project to process sensor data in C++.
For more information about this project visit the Wiki page
The project provides simulated lidar and radar measurements of detecting a bicycle that travels around the vehicle.
data/sample-laser-radar-measurement-data-1.txt
data/sample-laser-radar-measurement-data-2.txt
main.cpp - reads in data, 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
- 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 path/to/input.txt path/to/output.txt
. You can find some sample inputs in 'data/'. ./ExtendedKF ../ data/sample-laser-radar-measurement-data-1.txt output1.txt
Please (do your best to) stick to Google's C++ style guide.
-
Starter code was provided by Udacity, as part of the Udacity's Self-Driving Car Program. Tools, techniques and knowledge used in this project were taught by Andrei Vatavu, Sensor Fusion Engineer at Mercedes-Benz
-
Vivek Yadav, Kalman filter: Intuition and discrete case derivation