In this project I utilized a kalman filter to estimate the state of a moving object of interest with noisy lidar and radar measurements.
A great note could be found here
- 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
-
Download the Term 2 Simulator here.
-
Install
uWebSocketIO
:
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
You can execute theinstall-ubuntu.sh
to install uWebSocketIO. -
Once the install for uWebSocketIO is complete, the main program can be built and run by doing the following from the project top directory.
mkdir build cd build cmake .. make ./ExtendedKF
The simulation is tracking the blue car, the initial position of the car, the RADAR and LIDAR sensors are ar the origin of the coordinates system.
- Red circles are lidar measurements.
- Blue circles are radar measurements (an arrow pointing in the direction of the observed angle).
- Green markers are the car's position as estimated by the Kalman filter.
Obviously, the Kalman filter works well on tracking the car's position with significantly reduced noise. The Root Mean Square Error:
- X: 0.0973
- Y: 0.0855
- Vx: 0.4513
- Vy: 0.4399
The full demostrations are available at:
See the utilities repo for Matlab scripts that can generate additional data.