Giter Site home page Giter Site logo

particle_filter's Introduction

A reliable position estimation is of fundamental importance to building truly autonomous robots, especially the ones that perform navigation and local manipulation tasks, within indoor environments. This is a demonstration of global localization for estimating the unknown pose of a moving robot, inside an environment whose map is known, by using the particle filter method.

The simulated robot uses a Stage-simulated 2D world with a known floorplan of the environment and unknown location. The robot must estiate its pose (position & direction angle) using the sensor measurements from laser range sensors on the robot that give information about the distances of the obstacles from the robot in certain angles, and then using the known map to match the locations that are more likely to mimic the robot’s pose. The robot uses the particle filter to determine its position in the stage simulator. A particle filter is represented by a set of random samples (particles) or guesses drawn from a prior distribution of guesses based on their importance weights. In the beginning, the beliefs of the robot’s pose on the map is completely uncertain. So initially it is expected that the particles or guesses are placed all over the map, all starting with an equal importance. The importance weights for a particle are updated by observing the laser measurements from laser sensor on robot and calculating the likelihood of that particle to see the obstacles as seen by the robot using the map data.

To run the simulation, you must have ROS installed. This sim was developed using ROS indigo: http://wiki.ros.org/indigo/Installation

Once you have installed ros, clone this repo into your catkin workspace, launch ROScore, then navigate to the launch directory and type:

'roslaunch solution_python.launch'

and the simulation should start.

particle_filter's People

Contributors

henrys-code 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.