probabilistic mapping - probabilistic robotics dt4051...
TRANSCRIPT
Probabilistic mappingProbabilistic Robotics DT4051,spring 2015
Martin MagnussonJanuary 27, 2015
Intro Map representations Registration Outro
Today’s lecture
Occupancy grids
Scaling to 3D
Registration
Slides that contain supplementary (optional) material are markedwith a grey/black title.
Intro Map representations Registration Outro
Overview
Mapping for mobile robots
Definition (IEEE)
“A map (or robot map) represents the robot’s knowledge aboutits workspace and surrounding environment as well as objectscontained therein.”
—The IEEE P1873™/D1 Draft Standardfor Robot Map Data Representation for Navigation
Intro Map representations Registration Outro
Overview
Using maps (example)
Intro Map representations Registration Outro
Overview
Mapping from a probabilistic perspective
Given datad = {u1, z1,u2, z2, . . . ,un, zn},
calculate the most likely map
m∗ = arg maxm
p(m | d).
Intro Map representations Registration Outro
Overview
Mapping with known poses
xtxt−1 xt+1
ztzt−1 zt+1
m
=given
=estimated
Intro Map representations Registration Outro
Overview
Mapping with unknown poses
xtxt−1 xt+1
ztzt−1 zt+1
utut−1 ut+1
m
given
estimated
Estimate both pose and map: SLAM.
Intro Map representations Registration Outro
Overview
How to represent and integrate sensor information?
Intro Map representations Registration Outro
Evidence grids
Evidence grids
Zul
qarn
ain
Hai
der
Occupancy (and temperature)
Jari
Saar
inen
etal
.201
2
Short- and long-term activity
Intro Map representations Registration Outro
Evidence grids
Evidence grids: details
Essentially one binary randomvariable per pixel.
Map with n×m cells:
m = {m0,0,m0,2, . . . ,mn,m}
Assume independent cells
bel(mt) = p(mt | x1:t, z1:t) =∏x,y
p(mx,yt | x1:t, z1:t)
Means: state (occupancy) in cell mn doesn’t tell us anythingabout its neighbours.
Intro Map representations Registration Outro
Evidence grids
Occupancy grids: assumptions
1 Cells are independent.
2 Cells are either fully occupied, or fully free.
3 Map is static.
Intro Map representations Registration Outro
Evidence grids
Updating occupancy grids
Each cell is a binary random variable that models theoccupancy (or evidence) bel(mx,y
t ) = p(mt | x1:t, z1:t)
Assume z includes x (for simplicity of notation). ApplyingBayes rule, and exploiting static map assumption (so we canskip prediction step), we get the static-state Bayes filter
p(mt | z1:t) =p(mt | zt)p(zt)p(mt | z1:t−1)
p(mt)p(zt | z1:t−1)
Binary state: so p(¬mt | z1:t) = 1− p(mt | z1:t)
Intro Map representations Registration Outro
Evidence grids
Log odds formulationOdds for occupancy:
o(x) =p(x)
1− p(x)
o(mt | z1:t) =p(mt | z1:t)
1− p(mt | z1:t)=
p(mt | z1:t)
p(¬mt | z1:t)
=p(mt | zt) · p(¬mt) · p(mt | z1:t−1)
p(¬mt | zt) · p(mt) · p(¬mt | z1:t−1)
= inverse sensor model · prior · recursive term
Apply logarithm:
log(o(mt|z1:t)) = log(o(mt|zt))+log(o(mt|zt−1))−log(o(mt))
So we can just add new measurements.
Intro Map representations Registration Outro
Evidence grids
From ratio to probability
How to get probability p(x) from odds formulation p(x)1−p(x)?
p(x)1− p(x)
= Y
p(x) = Y − Y p(x)
p(x)(1 + Y) = Y
p(x) =Y
1 + Y
p(x) =1
1 + 1Y
Intro Map representations Registration Outro
Evidence grids
Sensor models for evidence grids
Forward sensor model p(z | m)(from yesterday)
likelihood of measurement,given map.
Inverse sensor model p(m | z), orlog(o(m | zt))
likelihood of m being occupied,given measurement.
Intro Map representations Registration Outro
Evidence grids
Occupancy vs distance measurement
Intro Map representations Registration Outro
Evidence grids
Occupancy map and maximum-likelihood map
The maximum likelihood map is obtained by rounding theprobability for each cell (to 0 or 1).
Intro Map representations Registration Outro
Evidence grids
From scans to maps
Intro Map representations Registration Outro
Evidence grids
Example
Intro Map representations Registration Outro
Evidence grids
Multi-sensor fusion
Combine different sensor modalities as separate maps(layers).Bayes filtering is ill-defined if different sensors detectdifferent obstacles.
Final occupancy state will depend only on frequency ofobservation, which may be unfair for some types of sensors.
We can rather compute separate maps per sensor, and thencombine them somehow.
For example, compute the maximum (final occupancy is trueif any sensor detects it as ocupied)
Intro Map representations Registration Outro
Evidence grids
Scaling to 3D
Ale
xand
erK
lein
er
Elevation maps
Küm
mer
leet
al.2
008
Multi-level surface maps
AIS
,Fre
ibur
gU
nive
rsit
y
Octrees
Mag
nuss
onet
al.2
007
NDT
Intro Map representations Registration Outro
NDT
NDT maps
Idea: represent occupancy using a normal distribution ineach cell, instead of a scalar.Advantages:
Can have bigger cells than with occupancy grids.Piecewise differentiable surface function is beneficial for scanmatching.
Intro Map representations Registration Outro
NDT
NDT: the normal-distributions transform
Intro Map representations Registration Outro
NDT
NDT with interpolation
Intro Map representations Registration Outro
NDT
NDT for one cell
Intro Map representations Registration Outro
NDT
Modelling outliers
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
-4 -2 0 2 4
Likelihood
GaussMix
0
1
2
3
4
5
-4 -2 0 2 4
Negative log-likelihood
GaussMix
Intro Map representations Registration Outro
NDT
NDT-OM maps
NDT does not model free space.
Idea: combine NDT with occupancy grid.
J.Sa
arin
enet
al.2
013
Intro Map representations Registration Outro
Mapping dynamics
“Dynamic maps” vs. “dynamics maps”
Maps that change, vs mapping the dynamics (as opposed tometric occupancy information)
Intro Map representations Registration Outro
Mapping dynamics
Independent Markov chains for modelling dynamics
Idea: count events
λexit =#events: occupied to free + 1#observations occupied + 1
∝ p(m = 0 | m = 1)
λentry =#events: free to occupied + 1#observations occupied + 1
∝ p(m = 1 | m = 0)
occfreepexit
pentry1−pentry
1−pexit
Jari
Saar
inen
etal
.201
2
Intro Map representations Registration Outro
Mapping dynamics
Conditional transition maps
Model dependencies of state changes between neighbouringcells.
Model p(exit direction | entry direction).
Can be used to learn typical movement patterns.
Kuc
ner
etal
.201
3
Intro Map representations Registration Outro
Scan registration
Goal: find the transformation T′ that best aligns two scans Xand Y.
Point clouds X and Y, with Ytransformed by T (as observed from the
pose of X ).
X and Y, with Y transformed by T′.
Intro Map representations Registration Outro
Scan registration
⇓
Intro Map representations Registration Outro
ICP
ICP: iterative closest point
Outline:1 look for corresponding (closest)
point pairs2 minimise point-to-point distance
(e.g.)3 repeat
Many “flavours” have beenproposed.Issues:
How to find correspondingpoints?Expensive nearest-neighboursearch.Non-overlapping regions.
Intro Map representations Registration Outro
NDT
NDT for scan registration
Outline:1 Create NDT map of one scan.2 Compute likelihood of having
recorded other scan at pose T,given map (sum uplog-likelihood for all points).
3 Find T that maximiseslog-likelihood (Newton search).
Issues:Discontinuities at cell edges.Cell size trade-off.
Extensions:NDT-to-NDT registration.Octrees.Multi-resolution matching.
Intro Map representations Registration Outro
Summary
Occupancy grids combine map evidence, given knownposes.
Independent cells store posterior probability that (any partof) the area is occupied.
Using log-odds formulation, maps can be learned efficiently.
NDT maps contain a normal distribution in each cell,modelling local surface shape.
Scan registration can be used to fuse unaligned scans.
ICP uses point-to-point correspondences.
NDT registration can use gradient-based search techniques.
Intro Map representations Registration Outro
Next lecture: non-parametric filters
Time and space
Monday Feb 2, 13.15–15.00T-103
Reading material
Thrun et al., Chapters 4 and 8
Intro Map representations Registration Outro
References I
[1] Tomasz Kucner et al. “Conditional Transition Maps: Learning MotionPatterns in Dynamic Environments”. In: Proceedings of the IEEEInternational Conference on Intelligent Robots and Systems (IROS).Nov. 2013, pp. 1196–1201.
[2] Rainer Kümmerle et al. “Monte Carlo Localization in Outdoor TerrainsUsing Multi-Level Surface Maps”. In: Field and Service Robotics. Ed. byChristian Laugier et al. Vol. 42. Springer Tracts in Advanced Robotics.Springer Berlin Heidelberg, 2008, pp. 213–222. isbn:978-3-540-75403-9.
[3] Martin Magnusson et al. “Scan Registration for Autonomous MiningVehicles Using 3D-NDT”. In: Journal of Field Robotics 24.10 (Oct.2007), pp. 803–827.
[4] Jari Saarinen et al. “Independent Markov Chain Occupancy Grid Mapsfor Representation of Dynamic Environments”. In: Proc. IEEE/RSJ Int.Conf. on Intelligent Robots and Systems. 2012.
Intro Map representations Registration Outro
References II
[5] J. Saarinen et al. “Normal Distributions Transform Occupancy Maps:Application to large-scale online 3D mapping”. In: Robotics andAutomation (ICRA), 2013 IEEE International Conference on. May2013, pp. 2233–2238.