Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof Richmond.

Slides:



Advertisements
Similar presentations
Bayesian Belief Propagation
Advertisements

Mobile Robot Localization and Mapping using the Kalman Filter
State Estimation and Kalman Filtering CS B659 Spring 2013 Kris Hauser.
Discussion topics SLAM overview Range and Odometry data Landmarks
Mapping with Known Poses
Probabilistic Robotics
Probabilistic Robotics
Probabilistic Robotics
Probabilistic Robotics SLAM. 2 Given: The robot’s controls Observations of nearby features Estimate: Map of features Path of the robot The SLAM Problem.
(Includes references to Brian Clipp
Monte Carlo Localization for Mobile Robots Karan M. Gupta 03/10/2004
IR Lab, 16th Oct 2007 Zeyn Saigol
Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up
Bayes Filters Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in EMF. Read the.
Localization David Johnson cs6370. Basic Problem Go from thisto this.
CS 326 A: Motion Planning Planning Exploration Strategies.
Autonomous Robot Navigation Panos Trahanias ΗΥ475 Fall 2007.
© sebastian thrun, CMU, CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)
CS 547: Sensing and Planning in Robotics Gaurav S. Sukhatme Computer Science Robotic Embedded Systems Laboratory University of Southern California
City College of New York 1 Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York A Taste of Localization.
SLAM: Simultaneous Localization and Mapping: Part I Chang Young Kim These slides are based on: Probabilistic Robotics, S. Thrun, W. Burgard, D. Fox, MIT.
Probabilistic Robotics
Monte Carlo Localization
Probabilistic Robotics Introduction Probabilities Bayes rule Bayes filters.
SA-1 Probabilistic Robotics Mapping with Known Poses.
City College of New York 1 Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York A Taste of Localization.
AmirKabir University Computer Engineering Dept. Sensor Based Mapping and Navigation Robotic Course Presentation Presenter: GholamHossein Deshmeh.
Grid Maps for Robot Mapping. Features versus Volumetric Maps.
Bayesian Filtering for Location Estimation D. Fox, J. Hightower, L. Liao, D. Schulz, and G. Borriello Presented by: Honggang Zhang.
© sebastian thrun, CMU, CS226 Statistical Techniques In Robotics Sebastian Thrun (Instructor) and Josh Bao (TA)
HCI / CprE / ComS 575: Computational Perception
ROBOT MAPPING AND EKF SLAM
Bayesian Filtering for Robot Localization
Mobile Robot controlled by Kalman Filter
Itamar Kahn, Thomas Lin, Yuval Mazor
Markov Localization & Bayes Filtering
Mapping and Localization for Robots The Occupancy Grid Approach.
Localization and Mapping (3)
/09/dji-phantom-crashes-into- canadian-lake/
Lab 4 1.Get an image into a ROS node 2.Find all the orange pixels (suggest HSV) 3.Identify the midpoint of all the orange pixels 4.Explore the findContours.
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.
Mapping and Localization with RFID Technology Matthai Philipose, Kenneth P Fishkin, Dieter Fox, Dirk Hahnel, Wolfram Burgard Presenter: Aniket Shah.
1 Robot Environment Interaction Environment perception provides information about the environment’s state, and it tends to increase the robot’s knowledge.
Young Ki Baik, Computer Vision Lab.
Forward-Scan Sonar Tomographic Reconstruction PHD Filter Multiple Target Tracking Bayesian Multiple Target Tracking in Forward Scan Sonar.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 6.1: Bayes Filter Jürgen Sturm Technische Universität München.
Visual SLAM Visual SLAM SPL Seminar (Fri) Young Ki Baik Computer Vision Lab.
Mobile Robot Localization (ch. 7)
City College of New York 1 Dr. Jizhong Xiao Department of Electrical Engineering City College of New York Advanced Mobile Robotics.
Robotics Club: 5:30 this evening
Probability in Robotics Trends in Robotics Research Reactive Paradigm (mid-80’s) no models relies heavily on good sensing Probabilistic Robotics (since.
Probabilistic Robotics
HCI/ComS 575X: Computational Perception Instructor: Alexander Stoytchev
SLAM Tutorial (Part I) Marios Xanthidis.
Probabilistic Robotics
Autonomous Mobile Robots Autonomous Systems Lab Zürich Probabilistic Map Based Localization "Position" Global Map PerceptionMotion Control Cognition Real.
General approach: A: action S: pose O: observation Position at time t depends on position previous position and action, and current observation.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Mobile Robotics. Fundamental Idea: Robot Pose 2D world (floor plan) 3 DOF Very simple model—the difficulty is in autonomy.
Probabilistic Robotics
Simultaneous Localization and Mapping
Markov ó Kalman Filter Localization
Introduction to Robot Mapping
A Short Introduction to the Bayes Filter and Related Models
Probabilistic Map Based Localization
Probabilistic Robotics
Principle of Bayesian Robot Localization.
Simultaneous Localization and Mapping
Probabilistic Robotics Bayes Filter Implementations FastSLAM
Presentation transcript:

Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof Richmond

Historical Overview Metric Mapping Metric Mapping Geometric representations Geometric representations Occupancy Grids Occupancy Grids Larger maps much more computationally intensive Larger maps much more computationally intensive Topological Mapping Topological Mapping Milestones with connections Milestones with connections Require navigation information Require navigation information Hard to scale Hard to scale

The Problems Measurement noise Measurement noise Sensor and Position noise is not independent Sensor and Position noise is not independent Map size Map size High resolution maps can be very large High resolution maps can be very large Correspondence Correspondence Do multiple measurements at different times correspond to the same object? Do multiple measurements at different times correspond to the same object? Dynamic environments Dynamic environments Most current algorithms assume a static environment Most current algorithms assume a static environment

Current State of Mapping Algorithms Algorithms Robust for static, structured, and limited-size environments Robust for static, structured, and limited-size environments Probabilistic Probabilistic Correspondence Problem Correspondence Problem Incremental vs. Multi-pass Incremental vs. Multi-pass Unsolved Areas Unsolved Areas Dynamic environments Dynamic environments Planning exploration paths of unknown environments Planning exploration paths of unknown environments

Why Probabilistic Mapping? Noise in commands and sensors Noise in commands and sensors Commands are not executed exactly (e.g., slippage leads to odometry errors) Commands are not executed exactly (e.g., slippage leads to odometry errors) Sensors noise due to the real-world (e.g., angle of incidence and scattering) Sensors noise due to the real-world (e.g., angle of incidence and scattering) Noise is not statistically independent Noise is not statistically independent Control errors accumulate with time/distance Control errors accumulate with time/distance Can not “average out” the noise Can not “average out” the noise

Command Noise Odometry Errors: heading and distance measurements accumulate errors with time Odometry Errors: heading and distance measurements accumulate errors with time

Sensor Noise Sensor probability model depends on the characteristics of the sensor and the object being sensed Sensor probability model depends on the characteristics of the sensor and the object being sensed Basic sonar probability model for angle of incidence = 0. Z-axis = P(s|d at angle = 0) sigma - std. Deviation for gaussian return from ideal surface. lambdaF - false positive rate lambdaS - missed rate d - distance to target on map s - measured distance from sonar

Bayes Rule p(x|d) =  p(d|x) p(x) p(x|d) =  p(d|x) p(x) p(x|d) is the probability of (the map) x being true given the (sensor) measurement d p(x|d) is the probability of (the map) x being true given the (sensor) measurement d p(d|x) is the probability of the (sensor) measurement being being d given (an object at) x p(d|x) is the probability of the (sensor) measurement being being d given (an object at) x p(x) is the prior probability (of the map) p(x) is the prior probability (of the map)

Bayes Rule in time Notation Notation s = pose of robot (x, y,  ) s = pose of robot (x, y,  ) u = command given to robot u = command given to robot z = sensor measurment z = sensor measurment m = map m = map All are functions of time All are functions of time z t = sensor measurements at time t z t = sensor measurements at time t z t = all sensor measurements up to time t z t = all sensor measurements up to time t (same for s, u, and m) (same for s, u, and m)

Bayes Filter Assume static world (map m constant) Assume static world (map m constant) p(z t |s t, m) is the sensor model p(z t |s t, m) is the sensor model p(s t |u t, s t-1 ) is the motion model p(s t |u t, s t-1 ) is the motion model p(s t-1, m|z t-1, u t-1 ) is the probability we were where we thought we were last time p(s t-1, m|z t-1, u t-1 ) is the probability we were where we thought we were last time Generally the sensor model and the motion model are static Generally the sensor model and the motion model are static

SLAM SLAM SLAM Simultaneous Localization And Mapping Simultaneous Localization And Mapping Figure out where we are and what our world looks like at the same time Figure out where we are and what our world looks like at the same time Localization Localization Where are we? Where are we? Position error accumulates with movement Position error accumulates with movement Mapping Mapping What does the environment look like? What does the environment look like? Sensor error (not independent of position error) Sensor error (not independent of position error)

Monte Carlo Localization Probabilistic Probabilistic 1. Start with a uniform distribution of possible poses (x, y,  ) 1. Start with a uniform distribution of possible poses (x, y,  ) 2. Compute the probability of each pose given current sensor data and a map 2. Compute the probability of each pose given current sensor data and a map 3. Normalize probabilities 3. Normalize probabilities Throw out low probability points Throw out low probability points Blur current points (we never know exactly where we are) Blur current points (we never know exactly where we are) Performance Performance Excellent in mapped environments Excellent in mapped environments Need non-symmetric geometries Need non-symmetric geometries

Monte Carlo Localization Thrun, Sebastian. “Animation of Monte Carlo Localization using laser range finders”

SLAM Example Thrun, Sebastian. “Animation of On-line mapping with Monte Carlo Localization”

Mapping Methods KalmanEM Occupancy Grids Dogma Representation Landmark Locations Point Obstacles Occupancy Grids IncrementalYESNOYESNO Requires Poses NONOYESYES Handles Correspondenc e NOYESYESYES Dynamic Environments limitedNOlimitedYES

Assume Gaussian noise Assume Gaussian noise Linear motion model: Linear motion model: x(t+1) = Ax(t) + Bu(t) + d Linear sensor model: Linear sensor model: y(t) = Cx(t) + w x includes robot and map states x includes robot and map states Kalman Filter (SLAM)

Kalman Filter Performance Pros: Pros: Full (Gaussian) posterior probabilities Full (Gaussian) posterior probabilities Incremental Incremental Good convergence Good convergence Cons: Cons: Limited model Limited model Correspondence problem Correspondence problem Limited map size Limited map size Improvements: Lu/Milios Improvements: Lu/Milios Improves correspondence Improves correspondence Non-incremental Non-incremental

Newman, Paul. “Navigating in a Building Site - Closed Loop CML”

Expectation Maximization (EM) Find most likely map (and poses) Find most likely map (and poses) Expectation step (E-step) Expectation step (E-step) Calculate probabilities of robot poses for current guess of map Calculate probabilities of robot poses for current guess of map Maximization step (M-step) Maximization step (M-step) Calculate single most likely map for distribution of robot poses Calculate single most likely map for distribution of robot poses Iterate Iterate

EM Performance Pros: Pros: Resolves correspondences Resolves correspondences Cons: Cons: Non-incremental Non-incremental No posterior probabilities for map No posterior probabilities for map Slow Slow Greedy Greedy Improvements: Hybrid approaches Improvements: Hybrid approaches Incremental computation Incremental computation Maintain a few possible robot poses Maintain a few possible robot poses

Occupancy Grids Impose grid on space to be mapped Impose grid on space to be mapped Find inverse sensor model Find inverse sensor model p(m x,y |z t,s t ) Update odds that grid cells are occupied Update odds that grid cells are occupied

Occupancy Grid Example Moravec, Hans. “Robust Navigation by Probabilistic Volumetric Sensing’’

Occupancy Grid Example Moravec, Hans. “Robust Navigation by Probabilistic Volumetric Sensing’’

Occupancy Grids Pros Pros Simple Simple Accurate Accurate Incremental Incremental Cons Require known poses Independence assumptions Extensions: Object Maps Extensions: Object Maps Reduced memory requirements Reduced memory requirements Better for dynamic environments Better for dynamic environments Limited by available object models Limited by available object models

Object Maps

Dynamic Environments Kalman filters Kalman filters Decaying occupancy grids Decaying occupancy grids Dogma Dogma Dynamic occupancy grid mapping algorithm Dynamic occupancy grid mapping algorithm