BillZito / kalman

Extended kalman filter for pedestrian tracking

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Extended Kalman Filter:

Using lidar and radar to track position and velocity

alt tag

-Lidar: red.

-Radar: blue.

-Predicted locations: green.


Overview

  1. About this simulator
  2. Dependencies
  3. Build instructions

About

  1. main.cpp reads in lidar and radar readings

  2. FusionEKF initializes state variables, and runs prediction / update cycles using kalman_filter.cpp

  3. 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

  4. tools.cpp calculates the jacobian matrix and the root mean squared error, a measure of distance from ground truth

  5. kalman-tracker.py visualizes readings and predictions in a simulator (pictured)


Dependencies


Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory: mkdir build && cd build
  3. Compile: cmake .. && make
    • On windows, you may need to run: cmake .. -G "Unix Makefiles" && make
  4. 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

About

Extended kalman filter for pedestrian tracking


Languages

Language:C++ 98.3%Language:C 1.4%Language:CMake 0.2%Language:Python 0.1%