+ All Categories
Home > Documents > Grid Maps and Mapping With Known Poses -...

Grid Maps and Mapping With Known Poses -...

Date post: 19-Mar-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
62
1 Grid Maps and Mapping With Known Poses Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello Introduction to Mobile Robotics
Transcript
Page 1: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

1

Robot Mapping

Grid Maps and Mapping With Known Poses

Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Introduction toMobile Robotics

Page 2: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

2

Why Mapping?

Learning maps is one of the fundamental problems in mobile robotics

Maps allow robots to efficiently carry out their tasks, allow localization …

Successful robot systems rely on maps for localization, path planning, activity planning etc.

Page 3: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

3

The General Problem of Mapping

What does the environment look like?

Page 4: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

4

The General Problem of Mapping

Formally, mapping involves, given the sensor data

to calculate the most likely map

Page 5: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

5

The General Problem of Mapping

Formally, mapping involves, given the sensor data

to calculate the most likely map

Today we describe how to calculate a map given the robot’s pose

Page 6: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

6

Features vs. Volumetric Maps

Courtesy by E. Nebot

Page 7: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

7

Grid Maps

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

free space Non-parametric model Require substantial memory resources Does not rely on a feature detector

Page 8: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

8

Example

Page 9: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

9

Assumption 1

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

free space

occupiedspace

Page 10: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

10

Representation

Each cell is a binary random variable that models the occupancy

Page 11: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

11

Occupancy Probability

Each cell is a binary random variable that models the occupancy

Cell is occupied Cell is not occupied No knowledge The state is assumed to be static

Page 12: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

12

Assumption 2

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

no dependencybetween the cells

Page 13: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

13

Representation

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

cellmap

Page 14: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

14

Representation

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

example map(4-dim vector)

4 individual cells

Page 15: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

15

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 16: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

16

Static State Binary Bayes Filter

Page 17: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

17

Static State Binary Bayes Filter

Page 18: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

18

Static State Binary Bayes Filter

Page 19: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

19

Static State Binary Bayes Filter

Page 20: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

20

Static State Binary Bayes Filter

Page 21: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

21

Static State Binary Bayes Filter

Do exactly the same for the opposite event:

Page 22: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

22

Static State Binary Bayes Filter

By computing the ratio of both probabilities, we obtain:

Page 23: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

23

Static State Binary Bayes Filter

By computing the ratio of both probabilities, we obtain:

Page 24: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

24

Static State Binary Bayes Filter

By computing the ratio of both probabilities, we obtain:

Page 25: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

25

Occupancy Update Rule

Recursive rule

Page 26: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

26

Occupancy Update Rule

Recursive rule

Often written as

Page 27: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

27

Log Odds Notation

Log odds ratio is defined as

and with the ability to retrieve

Page 28: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

28

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

or in short

Page 29: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

29

Occupancy Mapping Algorithm

highly efficient, only requires to compute sums

Page 30: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

30

Occupancy Grid Mapping

Developed in the mid 80’s by Moravec and Elfes

Originally developed for noisy sonars Also called “mapping with know

poses”

Page 31: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

31

Inverse Sensor Model for Sonars Range Sensors

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

Page 32: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

32

Occupancy Value Depending on the Measured Distance

z+d1 z+d2

z+d3z

z-d1

measured dist.

prior

distance between the cell and the sensor

Page 33: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

33

z+d1 z+d2

z+d3z

z-d1

Occupancy Value Depending on the Measured Distance

measured dist.

prior

“free”

distance between the cell and the sensor

Page 34: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

34

z+d1 z+d2

z+d3z

z-d1

Occupancy Value Depending on the Measured Distance

distance between the cell and the sensor

measured dist.

prior

“occ”

Page 35: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

35

Occupancy Value Depending on the Measured Distance

z+d1 z+d2

z+d3z

z-d1

measured dist.

prior“no info”

distance between the cell and the sensor

Page 36: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

36

Update depends on the Measured Distance and Deviation from the Optical Axis

cell l

Linear in

Gaussian in

Page 37: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

37

Intensity of the Update

Page 38: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

38

Resulting Model

Page 39: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

39

Example: Incremental Updating of Occupancy Grids

Page 40: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

40

Resulting Map Obtained with Ultrasound Sensors

Page 41: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

41

Resulting Occupancy and Maximum Likelihood Map

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

Page 42: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

42

Inverse Sensor Model for Laser Range Finders

Page 43: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

43

Occupancy GridsFrom Laser Scans to Maps

Page 44: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

44

Example: MIT CSAIL 3rd Floor

Page 45: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

45

Uni Freiburg Building 106

Page 46: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

46

Alternative: Counting Model

For every cell count hits(x,y): number of cases where a beam

ended at <x,y> misses(x,y): number of cases where a

beam passed through <x,y>

Value of interest: P(reflects(x,y))

Page 47: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

47

The Measurement Model

Pose at time t: Beam n of scan at time t: Maximum range reading:

Beam reflected by an object:

0 1

measured dist. in #cells

Page 48: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

48

The Measurement Model

Pose at time t: Beam n of scan at time t: Maximum range reading:

Beam reflected by an object:

0 1

max range: “first zt,n-1 cells covered by the beam must be free”

Page 49: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

49

The Measurement Model

Pose at time t: Beam n of scan at time t: Maximum range reading:

Beam reflected by an object:

0 1

otherwise: “last cell reflected beam, all others free”

max range: “first zt,n-1 cells covered by the beam must be free”

Page 50: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

50

Computing the Most Likely Map

Compute values for m that maximize

Assuming a uniform prior probability for P(m), this is equivalent to maximizing:

since independentand only depend on

Page 51: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

51

Computing the Most Likely Mapcells beams

Page 52: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

52

Computing the Most Likely Map“beam n ends in cell j”

Page 53: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

53

Computing the Most Likely Map“beam n ends in cell j”

“beam n traversed cell j”

Page 54: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

54

Computing the Most Likely Map

Define

“beam n ends in cell j”

“beam n traversed cell j”

Page 55: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

55

Meaning of αj and β j

Corresponds to the number of times a beam that is not a maximum range beam ended in cell j ( )

Corresponds to the number of times a beam traversed cell j without ending in it ( )

Page 56: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

56

Computing the Most Likely MapAccordingly, we get

If we set

Computing the most likely map reduces to counting how often a cell has reflected a measurement and how often the cell was traversed by a beam.

we obtain

As the mj’s are independent we can maximize this sum by maximizing it for every j

Page 57: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

57

Difference between Occupancy Grid Maps and Counting

The counting model determines how often a cell reflects a beam.

The occupancy model represents whether or not a cell is occupied by an object.

Although a cell might be occupied by an object, the reflection probability of this object might be very small.

Page 58: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

58

Example Occupancy Map

Page 59: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

59

Example Reflection Map

glass panes

Page 60: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

60

Example Out of n beams only 60% are reflected from a cell

and 40% intercept it without ending in it.

Accordingly, the reflection probability will be 0.6.

Suppose p(occ | z) = 0.55 when a beam ends in a cell and p(occ | z) = 0.45 when a beam traverses a cell without ending in it.

Accordingly, after n measurements we will have

Whereas the reflection map yields a value of 0.6, the occupancy grid value converges to 1 as n increases.

2.0*4.0*6.0*4.0*6.0*

9

11

9

11*

9

11

55.0

45.0*

45.0

55.0nnnnn

=

=

Page 61: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

61

Summary (1)

Grid maps are a popular environment model

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

Page 62: Grid Maps and Mapping With Known Poses - uni-freiburg.deais.informatik.uni-freiburg.de/.../ss14/robotics/slides/...known-poses.pdf · 1 Robot Mapping Grid Maps and Mapping With Known

62

Summary (2)

Reflection probability maps are an alternative representation

They store in each cell the probability that a beam is reflected by this cell

Given the described sensor model, counting yields the maximum likelihood model


Recommended