Extended Kalman Filter Project Starter Code
Self-Driving Car Engineer Nanodegree Program
In this project, I will estimate the moving object locations based on noisy lidar and radar measurements and track the object. The error metric for estimate is the RMSE.
Environment and Dependencies
This code should run under C++ 11.
Simulator
This project involves the Term 2 Simulator which can be downloaded here.
Setting up
This repository includes two files that can be used to set up and install uWebSocketIO for either Linux or Mac systems. For windows you can use either Docker, VMware, or even Windows 10 Bash on Ubuntu to install uWebSocketIO. Please see the uWebSocketIO Starter Guide page in the classroom within the EKF Project lesson for the required version and installation scripts.
Other Important Dependencies
- cmake >= 3.5
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- 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
Run
Once the install for uWebSocketIO is complete, the main program can be built and run by doing the following from the project top directory.
Basic Build Instructions
- 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
Running result
The running result of dataset1
is shown below. The RMSE is [0.0987, 0.0833, 0.4188, 0.4707]
which is within the required rmse [.11, .11, .52 .52]
.