robot mapping grid maps -...

54
1 Robot Mapping Grid Maps Cyrill Stachniss

Upload: others

Post on 14-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

1

Robot Mapping

Grid Maps

Cyrill Stachniss

Page 2: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

2

Features vs. Volumetric Maps

Courtesy by E. Nebot

Page 3: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

3

Features

§  So far, we only used feature maps §  Natural choice for Kalman filter-based

SLAM systems §  Compact representation §  Multiple feature observations improve

the landmark position estimate (EKF)

Page 4: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

4

Grid Maps

§  Discretize the world into cells §  Grid structure is rigid §  Each cell is assumed to be occupied or

free space §  Non-parametric model §  Large maps require substantial

memory resources §  Do not rely on a feature detector

Page 5: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

5

Example

Page 6: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

6

Assumption 1

§  The area that corresponds to a cell is either completely free or occupied

free space

occupied space

Page 7: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

7

Representation

§  Each cell is a binary random variable that models the occupancy

Page 8: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

8

Occupancy Probability

§  Each cell is a binary random variable that models the occupancy

§  Cell is occupied: §  Cell is not occupied: §  No knowledge:

Page 9: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

9

Assumption 2

§  The world is static (most mapping systems make this assumption)

always occupied

always free space

Page 10: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

10

Assumption 3

§  The cells (the random variables) are independent of each other

no dependency between the cells

Page 11: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

11

Representation

§  The probability distribution of the map is given by the product over the cells

cell map

Page 12: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

12

Representation

§  The probability distribution of the map is given by the product over the cells

example map (4-dim state)

4 individual cells

Page 13: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

13

Estimating a Map From Data

§  Given sensor data and the poses of the sensor, estimate the map

binary random variable

Binary Bayes filter (for a static state)

Page 14: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

14

Static State Binary Bayes Filter

Page 15: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

15

Static State Binary Bayes Filter

Page 16: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

16

Static State Binary Bayes Filter

Page 17: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

17

Static State Binary Bayes Filter

Page 18: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

18

Static State Binary Bayes Filter

Page 19: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

19

Static State Binary Bayes Filter

Do exactly the same for the opposite event:

Page 20: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

20

Static State Binary Bayes Filter

§  By computing the ratio of both probabilities, we obtain:

Page 21: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

21

Static State Binary Bayes Filter

§  By computing the ratio of both probabilities, we obtain:

Page 22: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

22

Static State Binary Bayes Filter

§  By computing the ratio of both probabilities, we obtain:

Page 23: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

23

From Ratio to Probability

§  We can easily turn the ration into the probability

Page 24: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

24

From Ratio to Probability

§  Using directly leads to

For reasons of efficiency, one performs the calculations in the log odds notation

Page 25: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

25

Log Odds Notation

§  The log odds notation computes the logarithm of the ratio of probabilities

Page 26: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

26

Log Odds Notation

§  Log odds ratio is defined as

§  and with the ability to retrieve

Page 27: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

27

Occupancy Mapping in Log Odds Form §  The product turns into a sum

§  or in short

Page 28: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

28

Occupancy Mapping Algorithm

highly efficient, we only have to compute sums

Page 29: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

29

Occupancy Grid Mapping

§  Moravec and Elfes proposed occupancy grid mapping in the mid 80’ies

§  Developed for noisy sonar sensors §  Also called “mapping with know poses”

Page 30: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

30

Inverse Sensor Model for Sonar Range Sensors

In the following, consider the cells along the optical axis (red line)

Page 31: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

31

Occupancy Value Depending on the Measured Distance

z+d1 z+d2

z+d3 z

z-d1

measured dist.

prior

distance between the cell and the sensor

Page 32: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

32

z+d1 z+d2

z+d3 z

z-d1

Occupancy Value Depending on the Measured Distance

measured dist.

prior “free”

distance between the cell and the sensor

Page 33: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

33

z+d1 z+d2

z+d3 z

z-d1

Occupancy Value Depending on the Measured Distance

distance between the cell and the sensor

measured dist.

prior

“occ”

Page 34: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

34

Occupancy Value Depending on the Measured Distance

z+d1 z+d2

z+d3 z

z-d1

measured dist.

prior “no info”

distance between the cell and the sensor

Page 35: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

35

Example: Incremental Updating of Occupancy Grids

Page 36: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

36

Resulting Map Obtained with 24 Sonar Range Sensors

Page 37: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

37

Resulting Occupancy and Maximum Likelihood Map

The maximum likelihood map is obtained by rounding the probability for each cell to 0 or 1.

Page 38: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

38

Inverse Sensor Model for Laser Range Finders

Page 39: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

39

Occupancy Grids From Laser Scans to Maps

Page 40: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

40

Example: MIT CSAIL 3rd Floor

Page 41: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

41

Uni Freiburg Building 106

Page 42: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

42

Occupancy Grid Map Summary

§  Occupancy grid maps discretize the space into independent cells

§  Each cell is a binary random variable estimating if the cell is occupied

§  Static state binary Bayes filter per cell §  Mapping with known poses is easy §  Log odds model is fast to compute §  No need for predefined features

Page 43: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

43

Grid Mapping Meets Reality…

Page 44: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

44

Mapping With Raw Odometry

Courtesy by D. Hähnel

Page 45: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

45

Incremental Scan Alignment

§  Motion is noisy, we cannot ignore it §  Assuming known poses fails! §  Often, the sensor is rather precise

§  Scan-matching tries to incrementally align two scans or a map to a scan, without revising the past/map

Page 46: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

46

Pose Correction Using Scan-Matching Maximize the likelihood of the current pose relative to the previous pose and map

robot motion current measurement

map constructed so far

Page 47: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

47

Incremental Alignment

Courtesy by E. Olson

Page 48: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

48

Incremental Alignment

Courtesy by E. Olson

Page 49: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

49

Various Different Ways to Realize Scan-Matching §  Iterative closest point (ICP) §  Scan-to-scan §  Scan-to-map §  Map-to-map §  Feature-based §  RANSAC for outlier rejection §  Correlative matching §  …

Page 50: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

50

Example: Aligning Two 3D Maps

Courtesy by P. Pfaff

Page 51: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

51

With and Without Scan- Matching

Courtesy by D. Hähnel

Page 52: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

52

Motion Model for Scan Matching

Raw Odometry Scan Matching

Courtesy by D. Hähnel

Page 53: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

53

Scan Matching Summary

§  Scan-matching improves the pose estimate (and thus mapping) substantially

§  Locally consistent estimates §  Often scan-matching is not sufficient

to build a (large) consistent map

Page 54: Robot Mapping Grid Maps - uni-freiburg.deais.informatik.uni-freiburg.de/.../ws13/mapping/pdf/slam10-gridmaps.… · Grid Maps ! Discretize the world into cells ! Grid structure is

54

Literature Static state binary Bayes filter §  Thrun et al.: “Probabilistic Robotics”,

Chapter 4.2 Occupancy Grid Mapping §  Thrun et al.: “Probabilistic Robotics”,

Chapter 9.1+9.2 Scan-Matching §  Besl and McKay. A method for Registration

of 3-D Shapes, 1992 §  Olson. Real-Time Correlative Scan Matching,

2009