Skip to content

yuewang199511/EX_KALMAN

Repository files navigation

Extended Kalman Filter Project Starter Code

Self-Driving Car Engineer Nanodegree Program

In this project, an extended kalman filter is utilized to estimate the state of a moving object of interest with noisy lidar and radar measurements. The program has been tested against the data set in /data/obj_pose-laser-radar-synthetic-input.txt, and yield the overall RMSE within [.11, .11, 0.52, 0.52] related to error in position coordinate and velocity.

alt text

This repository includes two files that can be used to set up and install uWebSocketIO for either Linux or Mac systems.

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

Tips for setting up your environment can be found in the classroom lesson for this project.

The computation and pipeline of kalman filter is in files : src/FusionEKF.cpp, src/FusionEKF.h, kalman_filter.cpp, kalman_filter.h, tools.cpp, and tools.h

main.cpp mainly uses for uWebSocketIO in communicating with the simulator as parsing the data files.

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages