Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof...
-
date post
19-Dec-2015 -
Category
Documents
-
view
218 -
download
0
Transcript of Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof...
Robotic Mapping: A Robotic Mapping: A SurveySurvey
Sebastian Thrun, 2002Sebastian Thrun, 2002
Presentation by David Black-Schaffer and Kristof Presentation by David Black-Schaffer and Kristof RichmondRichmond
Historical OverviewHistorical Overview
Metric MappingMetric Mapping Geometric representationsGeometric representations Occupancy GridsOccupancy Grids Larger maps much more computationally Larger maps much more computationally
intensiveintensive
Topological MappingTopological Mapping Milestones with connectionsMilestones with connections Require navigation informationRequire navigation information Hard to scaleHard to scale
The ProblemsThe Problems
Measurement noiseMeasurement noise Sensor and Position noise is not independentSensor and Position noise is not independent
Map sizeMap size High resolution maps can be very largeHigh resolution maps can be very large
CorrespondenceCorrespondence Do multiple measurements at different times Do multiple measurements at different times
correspond to the same object?correspond to the same object?
Dynamic environmentsDynamic environments Most current algorithms assume a static Most current algorithms assume a static
environmentenvironment
Current State of Current State of MappingMapping
AlgorithmsAlgorithms Robust for static, structured, and limited-size Robust for static, structured, and limited-size
environmentsenvironments ProbabilisticProbabilistic Correspondence ProblemCorrespondence Problem Incremental vs. Multi-passIncremental vs. Multi-pass
Unsolved AreasUnsolved Areas Dynamic environmentsDynamic environments Planning exploration paths of unknown Planning exploration paths of unknown
environmentsenvironments
Command NoiseCommand Noise Odometry Errors: heading and distance Odometry Errors: heading and distance
measurements accumulate errors with timemeasurements accumulate errors with time
Sensor NoiseSensor Noise Sensor probability model depends on the Sensor probability model depends on the
characteristics of the sensor and the object being characteristics of the sensor and the object being sensedsensed Basic sonar probability Basic sonar probability
model for angle of model for angle of incidence = 0.incidence = 0.
Z-axis = P(s|d at angle = Z-axis = P(s|d at angle = 0)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 RuleBayes Rule
pp((xx||dd) = ) = pp((dd||xx) ) pp((xx))
pp((xx||dd) is the probability of (the map) ) is the probability of (the map) xx being being true given the (sensor) measurement true given the (sensor) measurement dd
pp((dd||xx) is the probability of the (sensor) ) is the probability of the (sensor) measurement being being measurement being being dd given (an object given (an object at) at) xx
pp((xx) is the prior probability (of the map)) is the prior probability (of the map)
Bayes Rule in timeBayes Rule in time NotationNotation
ss = pose of robot (x, y, = pose of robot (x, y, )) uu = command given to robot = command given to robot zz = sensor measurment = sensor measurment mm = map = map
All are functions of timeAll are functions of time zztt = sensor measurements at time = sensor measurements at time tt zztt = all sensor measurements up to time = all sensor measurements up to time tt (same for (same for ss, , uu, and , and mm))
Bayes FilterBayes Filter
Assume static world (map Assume static world (map mm constant) constant) pp((zztt||sstt, , mm) is the ) is the sensor modelsensor model
pp((sstt||uutt, , sst-1t-1) is the ) is the motion modelmotion model
pp((sst-1t-1,, m m||zzt-1t-1,, u ut-1t-1) is the probability we were ) is the probability we were
where we thought we were last timewhere we thought we were last time Generally the sensor model and the motion Generally the sensor model and the motion
model are staticmodel are static
SLAMSLAM SLAMSLAM
SSimultaneous imultaneous LLocalization ocalization AAnd nd MMappingapping Figure out where we are and what our world Figure out where we are and what our world
looks like at the same timelooks like at the same time
LocalizationLocalization Where are we?Where are we? Position error accumulates with movementPosition error accumulates with movement
MappingMapping 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)
SLAM ExampleSLAM Example
Thrun, Sebastian. “Animation of On-line mapping with Monte Carlo Localization”
Mapping MethodsMapping Methods
KalmanKalman EMEM OccupancOccupancy Gridsy Grids
DogmaDogma
RepresentatiRepresentationon
Landmark Landmark LocationsLocations
Point Point ObstaclesObstacles
Occupancy Occupancy GridsGrids
Occupancy Occupancy GridsGrids
IncrementalIncremental YESYES NONO YESYES NONO
Requires Requires PosesPoses
NONO NONO YESYES YESYES
Handles Handles CorrespondeCorresponde
ncenceNONO YESYES YESYES YESYES
Dynamic Dynamic EnvironmentEnvironment
sslimitedlimited NONO limitedlimited YESYES
Assume Gaussian noiseAssume Gaussian noise Linear motion model:Linear motion model:
x(t+1) = Ax(t) + Bu(t) + dx(t+1) = Ax(t) + Bu(t) + d
Linear sensor model:Linear sensor model:y(t) = Cx(t) + wy(t) = Cx(t) + w
xx includes robot and map states includes robot and map states
Kalman Filter (Kalman Filter (SLAM)SLAM)
Kalman Filter Kalman Filter PerformancePerformance
Pros:Pros: Full (Gaussian) posterior probabilitiesFull (Gaussian) posterior probabilities IncrementalIncremental Good convergenceGood convergence
Cons:Cons: Limited modelLimited model Correspondence problemCorrespondence problem Limited map sizeLimited map size
Improvements: Lu/MiliosImprovements: Lu/Milios Improves correspondenceImproves correspondence Non-incrementalNon-incremental
Expectation Maximization Expectation Maximization ((EMEM))
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 Calculate probabilities of robot poses for current guess of mapfor current guess of map
Maximization step (M-step)Maximization step (M-step) Calculate single most likely map for Calculate single most likely map for
distribution of robot posesdistribution of robot poses IterateIterate
EM PerformanceEM Performance Pros:Pros:
Resolves correspondencesResolves correspondences Cons:Cons:
Non-incrementalNon-incremental No posterior probabilities for mapNo posterior probabilities for map SlowSlow GreedyGreedy
Improvements: Hybrid approachesImprovements: Hybrid approaches Incremental computationIncremental computation Maintain a few possible robot posesMaintain a few possible robot poses
Occupancy GridsOccupancy Grids
Impose grid on space to be mappedImpose grid on space to be mapped Find Find inverse sensor modelinverse sensor model
p(mp(mx,yx,y|z|ztt,s,stt))
Update odds that grid cells are Update odds that grid cells are occupiedoccupied
Occupancy Grid ExampleOccupancy Grid Example
Moravec, Hans. “Robust Navigation by Probabilistic Volumetric Sensing’’
Occupancy Grid ExampleOccupancy Grid Example
Moravec, Hans. “Robust Navigation by Probabilistic Volumetric Sensing’’
Occupancy GridsOccupancy Grids
ProsPros SimpleSimple AccurateAccurate IncrementalIncremental
ConsCons Require known Require known
posesposes Independence Independence
assumptionsassumptions
Extensions: Object MapsExtensions: Object Maps Reduced memory requirementsReduced memory requirements
Better for dynamic environmentsBetter for dynamic environments
Limited by available object modelsLimited by available object models