Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.

Slides:



Advertisements
Similar presentations
AI Pathfinding Representing the Search Space
Advertisements

Imbalanced data David Kauchak CS 451 – Fall 2013.
Discussion topics SLAM overview Range and Odometry data Landmarks
Sonar and Localization LMICSE Workshop June , 2005 Alma College.
Accurate On-Line 3D Occupancy Grids Using Manhattan World Constraints Brian Peasley and Stan Birchfield Dept. of Electrical and Computer Engineering Clemson.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter Department of Electrical Engineering.
Lirong Xia Approximate inference: Particle filter Tue, April 1, 2014.
Probabilistic Robotics
Probabilistic Robotics
(Includes references to Brian Clipp
Monte Carlo Localization for Mobile Robots Karan M. Gupta 03/10/2004
Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up
Probabilistic Robotics
Simultaneous Localization & Mapping - SLAM
SA-1 Probabilistic Robotics Probabilistic Sensor Models Beam-based Scan-based Landmarks.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Probabilistic Robotics Bayes Filter Implementations Particle filters.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
SA-1 Probabilistic Robotics Probabilistic Sensor Models Beam-based Scan-based Landmarks.
CS 188: Artificial Intelligence Fall 2009 Lecture 20: Particle Filtering 11/5/2009 Dan Klein – UC Berkeley TexPoint fonts used in EMF. Read the TexPoint.
Reliable Range based Localization and SLAM Joseph Djugash Masters Student Presenting work done by: Sanjiv Singh, George Kantor, Peter Corke and Derek Kurth.
Introduction to Kalman Filter and SLAM Ting-Wei Hsu 08/10/30.
Probabilistic Robotics
SLAM: Simultaneous Localization and Mapping: Part I Chang Young Kim These slides are based on: Probabilistic Robotics, S. Thrun, W. Burgard, D. Fox, MIT.
Navigation Jeremy Wyatt School of Computer Science University of Birmingham.
Probabilistic Robotics
1 Spring 2007 Research Log Joseph Djugash. 2 The Problem Localize a large network of nodes with the following constraints: Resource Limitation power,
1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete this.
Probabilistic Robotics Bayes Filter Implementations Particle filters.
Bayesian Filtering for Location Estimation D. Fox, J. Hightower, L. Liao, D. Schulz, and G. Borriello Presented by: Honggang Zhang.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Particle Filters++ TexPoint fonts used in EMF.
1 DARPA TMR Program Collaborative Mobile Robots for High-Risk Urban Missions Second Quarterly IPR Meeting January 13, 1999 P. I.s: Leonidas J. Guibas and.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
ROBOT LOCALISATION & MAPPING: MAPPING & LIDAR By James Mead.
Zereik E., Biggio A., Merlo A. and Casalino G. EUCASS 2011 – 4-8 July, St. Petersburg, Russia.
Lab 3 How’d it go?.
Particle Filter & Search
Markov Localization & Bayes Filtering
Random Sampling, Point Estimation and Maximum Likelihood.
SA-1 Mapping with Known Poses Ch 4.2 and Ch 9. 2 Why Mapping? Learning maps is one of the fundamental problems in mobile robotics Maps allow robots to.
Simultaneous Localization and Mapping Presented by Lihan He Apr. 21, 2006.
Recap: Reasoning Over Time  Stationary Markov models  Hidden Markov models X2X2 X1X1 X3X3 X4X4 rainsun X5X5 X2X2 E1E1 X1X1 X3X3 X4X4 E2E2 E3E3.
Mapping and Localization with RFID Technology Matthai Philipose, Kenneth P Fishkin, Dieter Fox, Dirk Hahnel, Wolfram Burgard Presenter: Aniket Shah.
CONTENTS:  Introduction  What is neural network?  Models of neural networks  Applications  Phases in the neural network  Perceptron  Model of fire.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
Simultaneous Localization and Mapping
Ground Truth Free Evaluation of Segment Based Maps Rolf Lakaemper Temple University, Philadelphia,PA,USA.
Mobile Robot Localization (ch. 7)
Peter Henry1, Michael Krainin1, Evan Herbst1,
Robotics Club: 5:30 this evening
Sensors and Control Applications 7 Rivers Robotics Coalition December, 2015 D. Foye.
1/17/2016CS225B Kurt Konolige Probabilistic Models of Sensing and Movement Move to probability models of sensing and movement Project 2 is about complex.
Probabilistic Robotics
Heterogeneous Teams of Modular Robots for Mapping and Exploration by Grabowski et. al.
10-1 Probabilistic Robotics: FastSLAM Slide credits: Wolfram Burgard, Dieter Fox, Cyrill Stachniss, Giorgio Grisetti, Maren Bennewitz, Christian Plagemann,
Particle filters for Robot Localization An implementation of Bayes Filtering Markov Localization.
SLAM Techniques -Venkata satya jayanth Vuddagiri 1.
Communicating in Code: Commenting Programming Studio Spring 2009 Note: several examples in this lecture taken from The Practice of Programming by Kernighan.
HMM: Particle filters Lirong Xia. HMM: Particle filters Lirong Xia.
Schedule for next 2 weeks
Probabilistic Robotics
Simultaneous Localization and Mapping
Day 33 Range Sensor Models 12/10/2018.
Probabilistic Map Based Localization
Hidden Markov Models Markov chains not so useful for most agents
HMM: Particle filters Lirong Xia. HMM: Particle filters Lirong Xia.
Probabilistic Robotics Bayes Filter Implementations FastSLAM
Presentation transcript:

Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya MEAM 620

SLAM: Completely unknown environment The only sensor data available is that from an on-board Laser Range sensor No GPS or truth data available Tasks: To generate a map of the environment in the local, initial coordinate frame of the robot. To localize itself in the map (i.e. to determine it's own position in its local, initial coordinate frame.)‏ To ensure good coverage (not done in this project)‏ Challenges: Error – causes wrong mapping, which in turn results in wrong localization and vice versa. To decide whether an obstacle being seen now is a new one or one that had been seen earlier (Maximum Likelihood Estimate)‏ etc...

Euclidean space and Feature space: The robot has no idea about it's actual position in the Euclidean space It estimates its location only based on the features it see in the world around it Mapping of coordinate grid (robot does not know about this grid mapping)‏ obstacle shift stretching of coordinate grid due to errors/slippage Map maintained by robot (overlaid on actual world grid)‏ The actual world in robot's initial local coordinate frame initialfinal Robot's path

Mapping of coordinate grid (robot does not know about this grid mapping)‏ obstacle shift stretching of coordinate grid due to errors/slippage Map maintained by robot (overlaid on actual world grid)‏ The actual world in robot's initial local coordinate frame O1O1 O2O2 O1O1 O2O2 O1O1 O2O2 Near obstacle O 1, a winning particle, p 1, is close to the robot in both Eucledian and Feature space Near obstacle O 2, far from the initial position, the winning particle, p 2, is close to the robot in Feature space, but not in the Eucledian space initialfinal Robot's path

Mapping of coordinate grid (robot does not know about this grid mapping)‏ obstacle shift stretching of coordinate grid due to errors/slippage Map maintained by robot (overlaid on actual world grid)‏ The actual world in robot's initial local coordinate frame O1O1 O2O2 O1O1 O2O2 O1O1 O2O2 initialfinal Solutions: Move between O 2 and O 2 several times and filter out the error (may not be possible, since the error will generally be biased)‏ Close a loop (similar to above)‏ Don't worry too much about it – just be consistent and try to correct, whenever possible! - Localize locally with respect to each obstacle - Maintain a consistent relative position between obstacles (may try to correct)‏ Robot's path

The standard way of doing Fast SLAM for world with unknown correspondences involves: Maintenance of an occupancy grid for each particle Use the standard particle filter approach, where the particles do not communicate with each other about their occupancy grids – the control decisions are taken based on the winning particle's map and coordinate Particles are re-sampled and new particles are generated using random perturbations on existing particles – the standard way of doing it!

Occupancy grid vs. geometric world 'elements' (primitives)‏ Advantages of occupancy grid: Easy to add data points Easy to detect inconsistencies using visibility, occlusion, etc Quick to add new scan data Disadvantages of occupancy grid: Consumes huge memory Depends on resolution of discretization Probably difficult to combine/communicate with different occupancy grids (from different particles)‏ Why geometric elements? Easy and efficient to store Easy path planning using visibility graph, voronai diagrams, etc which are less computationally expensive Elements are more flexible to changes/updates in the map I liked this approach more and wanted to do it for the project Disadvantages of geometric elements: Lots of geometry involved Updating the elements need to be done carefully Checks for inconsistency needs to be done in geometric way (Skip)‏ (Failure Video - particles don't communicate standard way of particle re- sampling/ generation)‏

Particles communicate with each other: Why? Because at some instants a particle (or its descendants) may be at a good position, and at other instant some other particle (or its descendants) may be at a good position. Need to take advantage of best information contained by any particle at any instant! Assign weights to each geometric element of the worlds/maps maintained by each particle (done while creating/updating their maps) Construct a global world/map using the maps of all the individual particles. Update the maps of the individual particles with information from this global map. (Second failure video Maintain a global map Particles are re-samples/generated in standard way)‏

Generation of particles based on geometric features of the reliable elements of the global map Why? Particle filter relies on the fact that the actual position of the robot (in Feature space) will be somewhat close to the present estimate What if all the particles are FAR away from the actual position of the robot in Feature space? - a possible situation in SLAM when we are re-visiting an obstacle after a long time! (happens upon “loop closure” - something difficult to manage using FastSLAM)‏ Solution: - Generation of particles based on reliable features of the map (Explain on black board)‏ This will work! This will fail! (Final Videos – this one works! Maintain a global map Generate few particles based on geometric features)‏

Plans for future works: Test the algorithm on more challenging and bigger environment Implement better methods for identifying inconsistencies Have multiple robots perform SLAM and send their individual maps to a centralized system. The centralized system will then stitch the maps to generate a global map.