Git Product home page Git Product logo

kidnapped-vehicle's Introduction

Kidnapped Vehicle Localization with a Particle Filter

Objective

The Vehicle has been "kidnapped" and transported to a new location! Luckily it has a map of this location and a (noisy) GPS estimate of its initial location. Then the vehicle starts to move, in the meanwhile, it records the noisy sensor and control data. A real-time particle filter is implemented to localize the vehicle with the sensor data.

In this project, particle filter will be given a map and some initial localization information (analogous to what a GPS would provide). At each time step my filter will also get observation and control data.

Demo: Vehicle Localization (click to see the full video)

demo_gif

Demo Explanation:

  • Inputs:

    • one map contains landmarks
    • one initial location (e.g GPS) in the very beginning with big uncertainty.
    • noisy landmark observations in each timestamp while vehicle is moving.
  • Outputs:

    • The blue circle (with an black arrow inside) is the real-time estimation of the vehicle's location and heading orientation from the particle filter.
  • Ground truth:

    • The blue car is the ground truth of the vehicle, including position and heading orientation. It is only visualized for comparison purpose.

Code & Files

1. Dependencies & environment

  • cmake >= 3.5
  • make >= 4.1
  • gcc/g++ >= 5.4
  • uWebSockets: used for communication between the main code and the simulator.

2. How to run the code

  1. Clone this repo.
  2. Clean the project: $./clean.sh
  3. Build the project: $./build.sh
  4. Run the project: $./run.sh
  5. Start the simulator v1.45, select the Kidnaped Vehicle, and click start.

3. My project files

(Note: the hyperlinks only works if you are on the homepage of this GitHub reop, and if you are viewing it in "github.io" you can be redirected by clicking the View the Project on GitHub on the top)

4. Code Style

5. Release History

  • 0.2.1

    • Docs: Improve the README.md with demo and example images.
    • Date 22 June 2017
  • 0.2.0

    • Fix: Clear the weights vector after the resampling stage.
    • Fix: Fix the landmark index problem, which is starting at index 1 instead of 0.
    • Date 21 June 2017
  • 0.1.1

    • First proper release
    • Date 20 June 2017
  • 0.1.0

    • Create the repo
    • Date 15 June 2017

System overview

kidnapped-vehicle's People

Contributors

junshengfu avatar

Watchers

 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.