introduction to mobile robotics mapping with known...

31
1 Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras Mapping with Known Poses Introduction to Mobile Robotics

Upload: ngonhan

Post on 03-Jul-2018

229 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

1

Wolfram Burgard, Cyrill Stachniss,

Maren Bennewitz, Kai Arras

Mapping with Known Poses

Introduction to Mobile Robotics

Page 2: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

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: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

3

The General Problem of Mapping

What does the environment look like?

Page 4: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

4

The General Problem of Mapping §  Formally, mapping involves, given the

sensor data,

to calculate the most likely map

},,,,,,{ 2211 nn zuzuzud …=

)|(maxarg* dmPmm

=

Page 5: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

5

Mapping as a Chicken and Egg Problem §  So far we learned how to estimate the pose

of the vehicle given the data and the map. §  Mapping, however, involves to

simultaneously estimate the pose of the vehicle and the map.

§  The general problem is therefore denoted as the simultaneous localization and mapping problem (SLAM).

§  Throughout this section we will describe how to calculate a map given we know the pose of the vehicle.

Page 6: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

6

Types of SLAM-Problems §  Grid maps or scans

[Lu & Milios, 97; Gutmann, 98: Thrun 98; Burgard, 99; Konolige & Gutmann, 00; Thrun, 00; Arras, 99; Haehnel, 01;…]

§  Landmark-based

[Leonard et al., 98; Castelanos et al., 99: Dissanayake et al., 2001; Montemerlo et al., 2002;…

Page 7: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

7

Problems in Mapping

§  Sensor interpretation § How do we extract relevant information

from raw sensor data? § How do we represent and integrate this

information over time?

§  Robot locations have to be estimated § How can we identify that we are at a

previously visited place? §  This problem is the so-called data

association problem.

Page 8: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

8

Occupancy Grid Maps §  Introduced by Moravec and Elfes in 1985 §  Represent environment by a grid. §  Estimate the probability that a location is

occupied by an obstacle. §  Key assumptions

§  Occupancy of individual cells (m[xy]) is independent

§  Robot positions are known!

∏== −

yx

xyt

tttt

mBelzuzumPmBel

,

][121

)(

),,,|()( …

Page 9: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

9

Updating Occupancy Grid Maps

][1

][11

][1

][][][ )(),|()|()( xyt

xytt

xyt

xyt

xytt

xyt dmmBelummpmzpmBel −−−−∫=η

§  Idea: Update each individual cell using a binary Bayes filter.

§  Additional assumption: Map is static.

)()|()( ][1

][][ xyt

xytt

xyt mBelmzpmBel −=η

Page 10: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

10

Updating Occupancy Grid Maps §  Update the map cells using the inverse

sensor model

§  Or use the log-odds representation

( ) ( )( )

( )( )

( )( )

1

][1

][1

][

][

1][

1][

][

11

,|1,|11

−⎟⎟⎠

⎞⎜⎜⎝

−⋅

−⋅

−+−= xy

t

xyt

xyt

xyt

ttxyt

ttxytxy

t mBelmBel

mPmP

uzmPuzmPmBel

( ) ( )1][][ ,|log −= ttxyt

xyt uzmoddsmB ( ) )(log: ][][ xy

txyt moddsmB =

( )( )⎟

⎟⎠

⎞⎜⎜⎝

−=

xPxPxodds

1:)(( )][log xy

tmodds−( )][

1xytmB −+

Page 11: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

11

Typical Sensor Model for Occupancy Grid Maps

Combination of a linear function and a Gaussian:

Page 12: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

12

Key Parameters of the Model

Page 13: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

13

z+d1 z+d2

z+d3 z

z-d1

Occupancy Value Depending on the Measured Distance

Page 14: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

14

Deviation from the Prior Belief (the sphere of influence of the sensors)

Page 15: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

15

Calculating the Occupancy Probability Based on Single Observations

Page 16: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

16

Incremental Updating of Occupancy Grids (Example)

Page 17: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

17

Resulting Map Obtained with Ultrasound Sensors

Page 18: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

18

Resulting Occupancy and Maximum Likelihood Map

The maximum likelihood map is obtained by clipping the occupancy grid map at a threshold of 0.5

Page 19: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

19

Occupancy Grids: From scans to maps

Page 20: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

20

Tech Museum, San Jose

CAD map occupancy grid map

Page 21: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

21

Alternative: Simple Counting

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

),misses(),hits(),hits()( ][

yxyxyxmBel xy

+=

Page 22: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

22

The Measurement Model

⎪⎪⎩

⎪⎪⎨

=−

=−=

∏−

=

=1

0,),,(),,(

1

0,),,(

, ,

,

,

0 if)1(

1 if)1(),|(

nt

tntt

nt

t

z

kntknxfznxf

z

kntknxf

tnt

mm

mmxzp

ς

ς

1, =ntς

1.  pose at time t: 2.  beam n of scan t: 3.  maximum range reading: 4.  beam reflected by an object: 0, =ntς

ntz ,tx

0 n 1

),,( ,ntt znxfm

Page 23: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

23

Computing the Most Likely Map §  Compute values for m that maximize

§  Assuming a uniform prior probability for p(m), this is equivalent to maximizing (applic. of Bayes rule)

),,,,,|(maxarg 11*

ttm

xxzzmPm ……=

=

=

=

=

=

T

ttt

m

T

ttt

m

ttm

xmzP

xmzP

xxmzzPm

1

1

11*

),|(lnmaxarg

),|(maxarg

),,,|,,(maxarg ……

Page 24: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

24

Computing the Most Likely Map

(

)⎥⎦

⎤−⋅=+

⋅−⋅=⎢⎣

⎡=

∑∑∑−

=

= = =

1

0

,1 1 1

,*

,

)1(ln)),,((

ln)1()),,((maxarg

ntz

kjt

jnt

J

j

T

t

N

nntt

m

mjknxfI

mjznxfIm ς

Suppose

∑∑= =

−⋅==T

t

N

nntnttj jznxfI

1 1,, )1()),,(( ςα

∑∑ ∑= =

=⎥⎦

⎤⎢⎣

⎡==

T

t

N

n

z

ktj

nt

jknxfI1 1

1

0

,

)),,((β

Page 25: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

25

Meaning of αj and βj

∑∑= =

−⋅==T

t

N

nntnttj jznxfI

1 1,, )1()),,(( ςα

∑∑ ∑= =

=⎥⎦

⎤⎢⎣

⎡==

T

t

N

n

z

ktj

nt

jknxfI1 1

1

0

,

)),,((β

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

corresponds to the umber of times a beam intercepted cell j without ending in it (misses(j)).

Page 26: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

26

Computing the Most Likely Map

⎟⎟⎠

⎞⎜⎜⎝

⎛−+= ∑

=

J

jjjjj

mmmm

1

* )1ln(lnmaxarg βα

We assume that all cells mj are independent:

01

=−

−=∂

j

j

j

j

j mmmm βα

If we set

Computing the most likely map amounts to counting how often a cell has reflected a measurement and how often it was intercepted.

jj

jjm βα

α

+=

we obtain

Page 27: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

27

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 28: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

28

Example Occupancy Map

Page 29: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

29

Example Reflection Map

glass panes

Page 30: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

30

Example §  Out of 1000 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 cell is intercepted by a beam that does not end 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.

2.0*4.0*6.0*4.0*6.0*

911

911*

911

55.045.0*

45.055.0 nnnnn

⎟⎠

⎞⎜⎝

⎛=⎟⎠

⎞⎜⎝

⎛⎟⎠

⎞⎜⎝

⎛=⎟⎠

⎞⎜⎝

⎛⎟⎠

⎞⎜⎝

⎛−

Page 31: Introduction to Mobile Robotics Mapping with Known Posesais.informatik.uni-freiburg.de/.../slides/08-occupancy-mapping.ppt.pdf · Introduction to Mobile Robotics . 2 ... Maps allow

31

Summary §  Occupancy grid maps are a popular approach to represent

the environment of a mobile robot given known poses. §  In this approach each cell is considered independently from

all others. §  It stores the posterior probability that the corresponding

area in the environment is occupied. §  Occupancy grid maps can be learned efficiently using a

probabilistic approach. §  Reflection maps are an alternative representation. §  They store in each cell the probability that a beam is

reflected by this cell. §  We provided a sensor model for computing the likelihood of

measurements and showed that the counting procedure underlying reflection maps yield the optimal map.