Coder Social home page Coder Social logo

sensor_fusion's Introduction

Sensor Fusion Algorithms

This repo provides examples of popular filtering algorithms for state estimation. Currently, the following algorithms are availbl:

  • Extended Kalman Filter (EKF)
  • Unscented Kalman Filter (UKF)
  • Particle Filter (PF)

An indepth note on probability theory and the state estimation equations is provided.

๐Ÿ“˜ Usage

Run the RoverTests.py and RacingTests.py files to test the filters.

Rover Tests

The task of localising a rover vehicle is used to evaluate the filtering algorithms. The vehicle travels at constant speed with a steering angle input. Non-linear dynamics are used to represent the position updates, based on the rover orientation. The rover receives measurement updates from a beacon that provides a distance and angle from the vehcile. The task is to use these two sources of information to estimate the rovers position. Full equations for the rover, and the derivation of the Jacobians are given in the Rover note.

Racing Tests

Since the most common application of the particle filter is robot localisation, an example of autonomous racing is included. The same rover dynamics are used, but a controller that moves the vehicle around a track is introduced. Instead of a beacon, a LiDAR scanner is used and a method is provided to simulate LiDAR scans. The goal of the task is to estimate the vehicle's position as accurately as possible.

Results

Results from the rover localisation tests.

Particle filter, LiDAR based localisation:

Planning improvements

  • Add the Linear Kalman Filter (LKF)
  • Add more visualisations

sensor_fusion's People

Contributors

bdevan5 avatar

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.