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

23
Robotic Mapping: A Robotic Mapping: A Survey Survey Sebastian Thrun, 2002 Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Presentation by David Black-Schaffer and Kristof Richmond Kristof Richmond
  • 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

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

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

Object MapsObject Maps

Dynamic EnvironmentsDynamic Environments

Kalman filtersKalman filters Decaying occupancy gridsDecaying occupancy grids DogmaDogma

DDynamic ynamic ooccupancy ccupancy ggrid rid mmapping apping aalgorithmlgorithm