Skip to content

maudzung/Extended-Kalman-Filter-CPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extended Kalman Filter Project using C++

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

High level architecture of Extended Kalman Filter

high level architecture

Important Dependencies

How to compile and run

  1. Download the Term 2 Simulator here.

  2. 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 the install-ubuntu.sh to install uWebSocketIO.

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

Results

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.

Demo

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:

Generating Additional Data

See the utilities repo for Matlab scripts that can generate additional data.

Releases

No releases published

Packages

No packages published

Languages