Git Product home page Git Product logo

unscented_kalman_filter's Introduction

Unscented Kalman Filter

This is a simple 2D Unscented Kalman Filter (UKF) implementation in C++. In addition to the implementation of the UKF itself, which is contained in ukf.cpp and ukf.h, main.cpp contains a small program for a visual demonstration of the filter using a simulator that is linked below.

The UKF is used to estimate the state of a moving object using noisy LIDAR and RADAR measurements. For an introduction to UKFs, please refer to the paper "The Unscented Kalman Filter for Nonlinear Estimation".

The simulator provides the ground truth state of the object to be tracked and displays the root mean squared error (RMSE) between the filter estimation and the ground truth.

Dependencies

  • cmake >= 3.5
  • All OSes: click here for installation instructions
  • make >= 4.1
  • gcc/g++ >= 5.4
  • uWebSockets: Handles the communication between the program and the simulator.
    • Run either ./install-mac.sh or ./install-ubuntu.sh. It is recommended to use one of these scripts to install uWS. Perform a manual installation as explained below only if these scripts don't work for you.
    • If you install from source, checkout to commit e94b6e1, i.e.
      git clone https://github.com/uWebSockets/uWebSockets
      cd uWebSockets
      git checkout e94b6e1
      
      Some function signatures have changed in v0.14.x.
  • The simulator which you can download from here.

Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./UnscentedKF

Once you launched the executable, simply run the simulator app and select the UKF simulation.

unscented_kalman_filter's People

Contributors

pierluigiferrari avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

wjgaas spacefan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.