Monte Carlo Localization using Dynamically Expanding Occupancy Grids. Karan M. Gupta

Similar documents
Probabilistic Robotics

Introduction to Mobile Robotics Bayes Filter Particle Filter and Monte Carlo Localization. Wolfram Burgard

Probabilistic Robotics

This chapter explains two techniques which are frequently used throughout

AUTONOMOUS SYSTEMS. PROBABILISTIC LOCALIZATION Monte Carlo Localization

Spring Localization II. Roland Siegwart, Margarita Chli, Juan Nieto, Nick Lawrance. ASL Autonomous Systems Lab. Autonomous Mobile Robots

Spring Localization II. Roland Siegwart, Margarita Chli, Martin Rufli. ASL Autonomous Systems Lab. Autonomous Mobile Robots

L10. PARTICLE FILTERING CONTINUED. NA568 Mobile Robotics: Methods & Algorithms

Overview. EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping. Statistical Models

Probabilistic Robotics

Monte Carlo Localization for Mobile Robots

Practical Course WS12/13 Introduction to Monte Carlo Localization

Particle Filters. CSE-571 Probabilistic Robotics. Dependencies. Particle Filter Algorithm. Fast-SLAM Mapping

MONTE CARLO LOCALIZATION FOR ROBOTS USING DYNAMICALLY EXPANDING OCCUPANCY GRIDS KARAN M. GUPTA, B.E. A THESIS COMPUTER SCIENCE

Localization and Map Building

IROS 05 Tutorial. MCL: Global Localization (Sonar) Monte-Carlo Localization. Particle Filters. Rao-Blackwellized Particle Filters and Loop Closing

Particle Filter in Brief. Robot Mapping. FastSLAM Feature-based SLAM with Particle Filters. Particle Representation. Particle Filter Algorithm

Monte Carlo Localization

Mobile Robot Mapping and Localization in Non-Static Environments

Probabilistic Robotics

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

L17. OCCUPANCY MAPS. NA568 Mobile Robotics: Methods & Algorithms

Adapting the Sample Size in Particle Filters Through KLD-Sampling

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard

Adapting the Sample Size in Particle Filters Through KLD-Sampling

SLAM: Robotic Simultaneous Location and Mapping

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

Robot Mapping. Grid Maps. Gian Diego Tipaldi, Wolfram Burgard

Obstacle Avoidance (Local Path Planning)

NERC Gazebo simulation implementation

Tracking Multiple Moving Objects with a Mobile Robot

COS Lecture 13 Autonomous Robot Navigation

Statistical Techniques in Robotics (16-831, F12) Lecture#05 (Wednesday, September 12) Mapping

Computer Vision Group Prof. Daniel Cremers. 11. Sampling Methods

Introduction to Mobile Robotics SLAM Landmark-based FastSLAM

7630 Autonomous Robotics Probabilities for Robotics

Statistical Techniques in Robotics (STR, S15) Lecture#05 (Monday, January 26) Lecturer: Byron Boots

Particle Attraction Localisation

Probabilistic Robotics. FastSLAM

Where s the Boss? : Monte Carlo Localization for an Autonomous Ground Vehicle using an Aerial Lidar Map

What is the SLAM problem?

Revising Stereo Vision Maps in Particle Filter Based SLAM using Localisation Confidence and Sample History

A New Omnidirectional Vision Sensor for Monte-Carlo Localization

Monte Carlo Localization for Mobile Robots

Obstacle Avoidance (Local Path Planning)

AUTONOMOUS SYSTEMS. LOCALIZATION, MAPPING & SIMULTANEOUS LOCALIZATION AND MAPPING Part V Mapping & Occupancy Grid Mapping

Statistical Techniques in Robotics (16-831, F10) Lecture#06(Thursday September 11) Occupancy Maps

F1/10 th Autonomous Racing. Localization. Nischal K N

Robotics. Haslum COMP3620/6320

Localization and Map Building

Markov Localization for Mobile Robots in Dynaic Environments

Jurnal Teknologi PARTICLE FILTER IN SIMULTANEOUS LOCALIZATION AND MAPPING (SLAM) USING DIFFERENTIAL DRIVE MOBILE ROBOT. Full Paper

Grid-Based Models for Dynamic Environments

Robust Monte-Carlo Localization using Adaptive Likelihood Models

Localization, Where am I?

Robust Monte Carlo Localization for Mobile Robots

An Experimental Comparison of Localization Methods Continued

Final project: 45% of the grade, 10% presentation, 35% write-up. Presentations: in lecture Dec 1 and schedule:

Announcements. Recap Landmark based SLAM. Types of SLAM-Problems. Occupancy Grid Maps. Grid-based SLAM. Page 1. CS 287: Advanced Robotics Fall 2009

Autonomous Navigation of Humanoid Using Kinect. Harshad Sawhney Samyak Daga 11633

ECE276A: Sensing & Estimation in Robotics Lecture 11: Simultaneous Localization and Mapping using a Particle Filter

Using Artificial Landmarks to Reduce the Ambiguity in the Environment of a Mobile Robot

Today MAPS AND MAPPING. Features. process of creating maps. More likely features are things that can be extracted from images:

Introduction to Mobile Robotics SLAM Grid-based FastSLAM. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Practical Extensions to Vision-Based Monte Carlo Localization Methods for Robot Soccer Domain

EE565:Mobile Robotics Lecture 3

Localization, Mapping and Exploration with Multiple Robots. Dr. Daisy Tang

CSE 490R P1 - Localization using Particle Filters Due date: Sun, Jan 28-11:59 PM

USING 3D DATA FOR MONTE CARLO LOCALIZATION IN COMPLEX INDOOR ENVIRONMENTS. Oliver Wulf, Bernardo Wagner

Autonomous Mobile Robot Design

Autonomous Navigation of Nao using Kinect CS365 : Project Report

Active Monte Carlo Localization in Outdoor Terrains using Multi-Level Surface Maps

Localization of Multiple Robots with Simple Sensors

Simultaneous Localization and Mapping

Particle Filter for Robot Localization ECE 478 Homework #1

Probabilistic Robotics

Tracking Algorithms. Lecture16: Visual Tracking I. Probabilistic Tracking. Joint Probability and Graphical Model. Deterministic methods

Fox, Burgard & Thrun problem they attack. Tracking or local techniques aim at compensating odometric errors occurring during robot navigation. They re

IMPROVED LASER-BASED NAVIGATION FOR MOBILE ROBOTS

LAIR. UNDERWATER ROBOTICS Field Explorations in Marine Biology, Oceanography, and Archeology

A Genetic Algorithm for Simultaneous Localization and Mapping

Testing omnidirectional vision-based Monte-Carlo Localization under occlusion

Artificial Intelligence for Robotics: A Brief Summary

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

Robotics. Chapter 25-b. Chapter 25-b 1

ROS navigation stack Costmaps Localization Sending goal commands (from rviz) (C)2016 Roi Yehoshua

Robotic Mapping. Outline. Introduction (Tom)

Detecting and Solving the Kidnapped Robot Problem Using Laser Range Finder and Wifi Signal

Online Simultaneous Localization and Mapping in Dynamic Environments

Lesson 3: Particle Filters

Micha l Lisowski. Differential Evolution approach to the Localization Problem for Mobile Robots

Normal Distributions Transform Monte-Carlo Localization (NDT-MCL)

Introduction to Mobile Robotics

DD2426 Robotics and Autonomous Systems Lecture 6-7: Localization and Mapping

A Framework for Bearing-Only Sparse Semantic Self-Localization for Visually Impaired People

Mini-Project II. Monte Carlo Localisation for mobile robots

Simultaneous Localization

Zürich. Roland Siegwart Margarita Chli Martin Rufli Davide Scaramuzza. ETH Master Course: L Autonomous Mobile Robots Summary

Appearance-based Concurrent Map Building and Localization

Efficient particle filter algorithm for ultrasonic sensor based 2D range-only SLAM application

Transcription:

1 Monte Carlo Localization using Dynamically Expanding Occupancy Grids Karan M. Gupta

Agenda Introduction Occupancy Grids Sonar Sensor Model Dynamically Expanding Occupancy Grids Monte Carlo Localization Monte Carlo Localization with DEOGs 2

Introduction An intelligent robot is a mechanical creature which can function autonomously. Intelligent the robot does not do things in a mindless, repetitive way. Function autonomously the robot can operate in a self-contained manner, under reasonable conditions, without interference by a human operator. 3

4 Introduction Robots in Museums

5 Introduction Personal Robots

6 Introduction Robots in Space

Introduction The problem of Navigation: Where am I going? What s the best way there? Where have I been? Where am I? How am I going to get there? 7

8

Occupancy Grids Originally proposed by Moravec and Elfes: based on ultrasonic range measurements. A tool to construct an internal model of static environments based on sensor data. Creates map incrementally using belief values Can be directly applied to localization, path planning and navigation The environment to be mapped is divided into regions. Each grid cell is an element and represents an area of the environment. 9

Occupancy Grids Two-dimensional grid of cells Each cell represents a small discrete region of the world Each cell contains a value that indicates if the cell (and corresponding region in the environment) is either occupied or empty Pros Simple Accurate Cons Require fixed-size environment: difficult to update if size of mapped area changes. 10

11 Sonar Sensor Model Region I: The sonar reading indicates a reflection from an object lying in this region. So this region is probably occupied. Region II: No reading was returned from anything in this region. So this is the area that is probably empty. Region III: The reading has been returned by Region II, so this is the area that is undetected by current sonar reading.

12 Sonar Sensor Model Region I: P ( Occ ) = R R r + 2 β α β x MaxOcc Region II: P ( Emp ) = R R r + 2 β α β

13 Sonar Sensor Model Why Probabilistic Mapping? Noise in commands and sensors Commands are not executed exactly (eg. Slippage leads to odometry errors) Sonars have several error issues (eg. cross-talk, foreshortening, specular reflection)

14 Occupancy Grids Given Map Created Map

Dynamically Expanding Occupancy Grids Variable-sized maps Ability to increase size of map, if new areas are added to the environment As robot explores, new cells are added Global map is stored outside the RAM in a Centralized Storage System Implemented using a Centralized Storage System 15

Dynamically Expanding Occupancy Grids Best (the only?) solution for mapping changing environments. Saves RAM Other useful information can be stored in the map More complicated to program than regular occupancy grids 16

Monte Carlo Localization To navigate reliably, a mobile robot must know where it is. Robot s pose: X = (location, orientation) = [x, y,?] Mobile robot localization: the problem of estimating a robot s pose relative to its environment. the most fundamental problem to providing a mobile robot with autonomous capabilities IEEE Transactions on Robotics and Automation. 17

Monte Carlo Localization Three Flavors: Position tracking» Robot knows its initial pose.» As the robot moves, its pose changes.» The problem is to compensate small, incremental errors in a robot s odometry (x, y,?). Global localization problem» Robot does not know its initial pose.» The problem is to look at the surroundings and make multiple distinct hypotheses about its location.» More challenging problem than Position Tracking. Kidnapped robot problem» A well-localized robot is teleported to some other place without being told!» Tests robot s ability to recover from catastrophic localization failures. 18

Monte Carlo Localization Remember: The Navigation Problem Where am I going? What s the best way there? Path Planning Where have I been? Mapping Where am I? Localization Global Localization Enables robot to make use of existing maps, which allows it to plan and navigate reliably in complex environments. Position Tracking (Local Tracking) Useful for efficient navigation and local manipulation tasks. 19

Monte Carlo Localization The Concept: Compare small local occupancy grid with stored global occupancy grid. Best fit pose is correct pose. Probabilistic 1. Start with a uniform distribution of possible poses (x, y, Q) 2. Compute the probability of each pose given current sensor data and a map 3. Normalize probabilities Throw out low probability points 20

Monte Carlo Localization Bayesian Approach We want to estimate pose of robot at k, given knowledge about the initial state and all movements Z k up to current time. k = current time-step Z k = {z k, i = 1..k} x = [x, y,?] T the current state of the robot Find the posterior density = p(x k Z k ) = probability of being in x at time k, if Z k takes place. To localize the robot we need to recursively compute p(x k Z k ) at each time-step. 21

Monte Carlo Localization Bayesian Approach Two phases to compute p(x k Z k ): Prediction Phase: Predict current position using only the history of the robot s movements. p(x k Z k-1 ) = ) p(x k x k-1, u k-1 ) p(x k-1 Z k-1 ) dx k-1 Update Phase: Incorporate information from sensors (compare what is observed to what is on the map). p(x k Z k ) = p(z k x k ) p(x k Z k-1 ) p(z k Z k-1 ) Repeat the process for every time-step Use an estimate function: maximum or mean etc. to get the current position. 22

Monte Carlo Localization Represent the posterior density p(x k Z k ) by a set of N random samples (particles) that are drawn from it. Set of particles =S k = {s i k ; i = 1..N} Density is reconstructed from the samples using an estimator, e.g. histogram. New localization goal: Recursively compute at each time-step k, the set of samples S k that is drawn from p(x k Z k ). 23

24 Monte Carlo Localization Prediction Phase: Start from set of particles S k-1 computed in previous iteration; apply motion model to each particle s i k-1 by sampling from the density p(x k x k-1, u k-1 ): for each particle s i k-1 : draw one sample s i k from p(x k si k-1, u k-1 ) We have a new set S k that approximates a random sample from the predictive density p(x k Z k-1 ). The prime in S k indicates that we have not yet applied any sensor readings at time k.

25 Monte Carlo Localization Update Phase: We take sensor readings z k into account. Weight each sample in S k by a weight which is the likelihood of s i k given z k. Weight = m i k = p(z k s i k ) Obtain S k by resampling from this weighted set: for j = 1..N: draw one S k sample s j k from {s i k, mi k } This resampling selects with higher probability samples s i k that have a high likelihood associated with them. The new set S k approximates a random sample from p(x k Z k ).

26 Monte Carlo Localization A Graphical Example p(x k-1 Z k-1 ) Initially, the location of the robot is known, but the orientation is unknown. The cloud of particles S k-1 represents our uncertainty about the robot s position. S(k-1)

Monte Carlo Localization A Graphical Example p(x k Z k-1 ) Robot has moved 1 meter since last time-step. We deduce that robot is now on a circle of 1m radius around the previous location. Our belief state changes to reflect this. At this point we have applied only the motion model. S (k) 27

Monte Carlo Localization A Graphical Example p(z k x k ) We now take sensor readings into account. A landmark is observed 0.5m away somewhere in the top-right corner. We apply weighting to the samples to reflect that the robot is more likely to be in the topright corner. weighted S (k) 28

Monte Carlo Localization A Graphical Example p(x k Z k ) The weighted set is resampled to give the new set of points where the robot is most likely to be. This new set is the starting point for the next iteration. S(k) 29

30 Monte Carlo Localization STEP 1 Global Localization Robot does not know initial pose every possible pose has a certain probability of being the correct location of the robot.

31 Monte Carlo Localization STEP 2 Global Localization Robot observes the world (sensor readings) the problem is reduced to choosing between two most likely poses map has similar symmetry at both locations. Some scattered samples survive here and there.

32 Monte Carlo Localization STEP 3 Global Localization The robot moves a little more and is able to observe (sensor readings) some unique symmetry which is not at another point on the map. Robot is globally localized.

Monte Carlo Localization Properties Combined the advantages of grid-based Markov localization with the efficiency and accuracy of Kalman filter based techniques. Since the MCL-method is able to represent probability densities over the robot s entire state space, it is able to deal with ambiguities and thus can globally localize the robot. By concentrating the computational resources (the samples) on only the relevant parts of the state space, MCL-method can efficiently and accurately estimate the position of the robot. Excellent in mapped environments Need non-symmetric geometries 33

34 Monte Carlo Localization + DEOGs Implementation Wanderer: explore the environment and collect information Mapper: process the data collected by the wanderer Localizer: use the map to pinpoint the location of the robot when requested Central Storage System (CSS): stores the map, allows for expansion of the map, quick retrieval of map data

35 Monte Carlo Localization + DEOGs X Mean Error 8.59055 S. Dev. 1.1919 Y 5.22283 3.49318 Theta 0.0 0.0 x, y are measured in inches, theta is in degrees

36 Monte Carlo Localization + DEOGs X Mean Error 3.82836 S. Dev. 3.44103 Y 8.15522 1.01169 Theta 0.0 0.0 x, y are measured in inches, theta is in degrees

37 Monte Carlo Localization + DEOGs The robot was kidnapped several times, MCL was finally able to localize onto the correct position of the robot X Mean Error 7.73698 S. Dev. 1.57169 Y 3.57057 2.8353 Theta 0.0 0.0 x, y are measured in inches, theta is in degrees

Monte Carlo Localization + DEOGs Conclusions: We have seen that a Monte Carlo Localization method works successfully with Dynamically Expanding Occupancy Grids. This virtually removes any limit on the environment size for nearly any robot system. Now that Mapping and Localization has been tried and tested on a DEOG system, once Path-planning is also tested, a complete DEOG Robotic System can be built, that will work on an environment of any size. 38

39 References Monte Carlo Localization for Mobile Robots -- F. Dellaert, D. Fox, W. Burgard, S. Thrun Monte Carlo Localization: Efficient Position Estimation for Mobile Robots -- F. Dellaert, D. Fox, W. Burgard, S. Thrun Robust Monte Carlo Localization for Mobile Robots -- F. Dellaert, D. Fox, W. Burgard, S. Thrun Introduction to AI Robotics -- Robin Murphy Dynamically Expanding Occupancy Grids -- Bharani K. Ellore Multi-agent mapping using dynamic allocation utilizing a storage system -- Laura Barnes, Richard Garcia, Todd Quasny, Dr. Larry Pyeatt Robotic Mapping: A survey -- Sebastian Thrun CYE www.prorobotics.com The Honda Asimo http://asimo.honda.com Mars Rover http://marsrovers.jpl.nasa.gov/home/