Skip to content
No description or website provided.
Branch: master
Clone or download
asterixds asterixds
asterixds and asterixds Added simple python kalman filter
Latest commit 177a792 Jun 13, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ipynb_checkpoints First commit May 31, 2017
Docs First commit May 31, 2017
build ading build dir May 31, 2017
data First commit May 31, 2017
output First commit May 31, 2017
python Added simple python kalman filter Jun 13, 2017
.gitignore First commit May 31, 2017
CMakeLists.txt First commit May 31, 2017 First commit May 31, 2017
cmakepatch.txt First commit May 31, 2017 First commit May 31, 2017 First commit May 31, 2017
writeup.ipynb First commit May 31, 2017

Extended Kalman Filter to Track a Pedestrian

Extended Kalman Filter Project Starter Code

This project utilizes a kalman filter to estimate the state of a moving object of interest with noisy lidar and radar measurements.

This repository includes two files that can be used to set up and intall 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.

Once the install for uWebSocketIO is complete, the main program can be built and ran by doing the following from the project top directory.

  1. mkdir build
  2. cd build
  3. cmake ..
  4. make
  5. ./ExtendedKF

Here is the main protcol that main.cpp uses for uWebSocketIO in communicating with the simulator.

INPUT: values provided by the simulator to the c++ program

["sensor_measurement"] => the measurment that the simulator observed (either lidar or radar)

OUTPUT: values provided by the c++ program to the simulator

["estimate_x"] <= kalman filter estimated position x ["estimate_y"] <= kalman filter estimated position y ["rmse_x"] ["rmse_y"] ["rmse_vx"] ["rmse_vy"]

Other Important 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


The following input files were used to check the performance of the implementation using the RMSE of px,py,vx,vy. The results were visualized with the following utilities. The RMSE values are stated below the title of each chart.

Dataset 1 - ../data/obj_pose-laser-radar-synthetic-input.txt

Dataset 1 - Lidar only - ../data/obj_pose-laser-radar-synthetic-input.txt

Dataset 1 - Radar only - ../data/obj_pose-laser-radar-synthetic-input.txt

Dataset 1 - ../data/sample-laser-radar-measurement-data-1.txt

Dataset 2 - ../data/sample-laser-radar-measurement-data-3.txt

You can’t perform that action at this time.