Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof Richmond."— Presentation transcript:

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

2 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

3 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

4 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

5 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

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

7 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

8 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)

9 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)

10 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

11 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)

12 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

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

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

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

16 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)

17 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

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

19 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

20 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

21 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

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

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

24 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

25 Object Maps

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


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

Similar presentations


Ads by Google