probabilistic mapping - probabilistic robotics dt4051...

38
Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin Magnusson January 27, 2015

Upload: others

Post on 30-Jun-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Probabilistic mappingProbabilistic Robotics DT4051,spring 2015

Martin MagnussonJanuary 27, 2015

Page 2: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 3: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 4: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Overview

Using maps (example)

Page 5: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 6: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Overview

Mapping with known poses

xtxt−1 xt+1

ztzt−1 zt+1

m

=given

=estimated

Page 7: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 8: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Overview

How to represent and integrate sensor information?

Page 9: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 10: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 11: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 12: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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)

Page 13: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 14: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 15: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 16: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Evidence grids

Occupancy vs distance measurement

Page 17: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 18: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Evidence grids

From scans to maps

Page 19: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Evidence grids

Example

Page 20: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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)

Page 21: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 22: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 23: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

NDT

NDT: the normal-distributions transform

Page 24: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

NDT

NDT with interpolation

Page 25: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

NDT

NDT for one cell

Page 26: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 27: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 28: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Mapping dynamics

“Dynamic maps” vs. “dynamics maps”

Maps that change, vs mapping the dynamics (as opposed tometric occupancy information)

Page 29: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 30: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 31: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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′.

Page 32: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

Intro Map representations Registration Outro

Scan registration

Page 33: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 34: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 35: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 36: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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

Page 37: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.

Page 38: Probabilistic mapping - Probabilistic Robotics DT4051 ...130.243.105.49/Research/Learning/courses/probrob/... · Probabilistic mapping Probabilistic Robotics DT4051, spring 2015 Martin

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.