Probabilistic mapping - Probabilistic Robotics DT4051...

Post on 30-Jun-2020

9 views 0 download

Transcript of Probabilistic mapping - Probabilistic Robotics DT4051...

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.