Skip to content

Utilize a kalman filter to estimate the state: position_x, position_y, velocity_x,velocity_y of a moving object of interest with noisy lidar and radar measurements.

License

Notifications You must be signed in to change notification settings

abhileshborode/Extended-Kalman-Filter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extended Kalman Filter Project

Utilize a kalman filter to estimate the state: position_x, position_y, velocity_x,velocity_y of a moving object of interest with noisy lidar and radar measurements.

This project involves the Term 2 Simulator which can be downloaded here.

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 to install uWebSocketIO. Please see the uWebSocketIO Starter Guide page in the classroom within the EKF Project lesson for the required version and installation scripts.

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

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

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

["sensor_measurement"] => the measurement 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

Simulation

The image below is a screenshot from the simulator using the Unscented Kalman Filter from this project. alt text

Discussion

The Extented Kalman Filter (EKF) is a bayesian filter which estimates the position as well as the velocity of the object which is being tracked. The EKF also is a variant of the standard Kalman filter which only models linear measurement models. The EKF approximates the non-linear model by calculating the jacobian and linearizing the model. The root mean square error values are well within the acceptable range as well.

Sometimes measuremnt and process models cannot be linearised and thats where the Unscented Kalman Filter (UKF) steps in.

About

Utilize a kalman filter to estimate the state: position_x, position_y, velocity_x,velocity_y of a moving object of interest with noisy lidar and radar measurements.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages