Using lidar and radar to track position and velocity
-Lidar: red.
-Radar: blue.
-Predicted locations: green.
- About this simulator
- Dependencies
- Build instructions
-
main.cpp reads in lidar and radar readings
-
FusionEKF initializes state variables, and runs prediction / update cycles using kalman_filter.cpp
-
kalman_filter.cpp implements:
-Predict(): calculating new x and P after some time
-Update(): using incoming lidar readings and measurment transition matrix to calculate new x and P
-UpdateEKF(): using linear approximation of lidar readings through Jacobian matrix to calculate new x and P
-
tools.cpp calculates the jacobian matrix and the root mean squared error, a measure of distance from ground truth
-
kalman-tracker.py visualizes readings and predictions in a simulator (pictured)
- cmake >= 3.5
- All OSes: click here for installation instructions
- make >= 4.1
- 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]((https://developer.apple.com/xcode/features/)
- Windows: recommend using MinGW
- 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/'.- eg.
./ExtendedKF ../data/obj_pose-laser-radar-synthetic-input.txt
- eg.