All Projects → JunshengFu → kidnapped-vehicle

JunshengFu / kidnapped-vehicle

Licence: other
Implemented a C++ particle filter for real-time vehicle localization with only current visual observations and a map.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to kidnapped-vehicle

Kimera Vio
Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
Stars: ✭ 741 (+4016.67%)
Mutual labels:  real-time, localization
Hdl localization
Real-time 3D localization using a (velodyne) 3D LIDAR
Stars: ✭ 332 (+1744.44%)
Mutual labels:  real-time, localization
Ov2slam
OV²SLAM is a Fully Online and Versatile Visual SLAM for Real-Time Applications
Stars: ✭ 119 (+561.11%)
Mutual labels:  real-time, localization
Odas
ODAS: Open embeddeD Audition System
Stars: ✭ 435 (+2316.67%)
Mutual labels:  real-time, localization
GA SLAM
🚀 SLAM for autonomous planetary rovers with global localization
Stars: ✭ 40 (+122.22%)
Mutual labels:  localization, particle-filter
pf
PF: a header only template library for fast particle filtering!
Stars: ✭ 41 (+127.78%)
Mutual labels:  particle-filter
SOLocalization
Configure multi-language environment in iOS application
Stars: ✭ 13 (-27.78%)
Mutual labels:  localization
gdax-orderbook-hpp
An in-memory copy of the order book on the GDAX cryptocurrency exchange, updated in real time via WebSocket feed, exposed in a thread-safe and lock-free data structure.
Stars: ✭ 38 (+111.11%)
Mutual labels:  real-time
french
French language pack to localize the Flarum forum software plus its official and third-party extensions.
Stars: ✭ 17 (-5.56%)
Mutual labels:  localization
EIN-SELD
An Improved Event-Independent Network for Polyphonic Sound Event Localization and Detection
Stars: ✭ 49 (+172.22%)
Mutual labels:  localization
soketi
Just another simple, fast, and resilient open-source WebSockets server. 📣
Stars: ✭ 2,202 (+12133.33%)
Mutual labels:  real-time
HEAPUtil
Code for the RA-L (IROS) 2021 paper "A Hierarchical Dual Model of Environment- and Place-Specific Utility for Visual Place Recognition"
Stars: ✭ 46 (+155.56%)
Mutual labels:  localization
codac
Codac is a library for constraint programming over reals, trajectories and sets.
Stars: ✭ 31 (+72.22%)
Mutual labels:  localization
stone.js
gettext-like client-side Javascript Internationalization Library
Stars: ✭ 20 (+11.11%)
Mutual labels:  localization
Real-time-Image-Smoothing-via-Iterative-Least-Squares
This is the released code for the paper Real-time Image Smoothing via Iterative Least Squares accepted to ACM Transactions on Graphics
Stars: ✭ 60 (+233.33%)
Mutual labels:  real-time
efficient-descriptors
🚀🚀 Revisiting Binary Local Image Description for Resource Limited Devices
Stars: ✭ 76 (+322.22%)
Mutual labels:  real-time
mongodb-backup-manager
🌿 A Full-stack MongoDB Backup System.
Stars: ✭ 42 (+133.33%)
Mutual labels:  real-time
go-estimate
State estimation and filtering algorithms in Go
Stars: ✭ 98 (+444.44%)
Mutual labels:  particle-filter
Embedded UKF Library
A compact Unscented Kalman Filter (UKF) library for Teensy4/Arduino system (or any real time embedded system in general)
Stars: ✭ 31 (+72.22%)
Mutual labels:  real-time
ECBSR
Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices, ACM Multimedia 2021
Stars: ✭ 216 (+1100%)
Mutual labels:  real-time

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].