Introduction to Mobile Robotics Mapping with Known Poses Wolfram - - PowerPoint PPT Presentation

introduction to mobile robotics mapping with known poses
SMART_READER_LITE
LIVE PREVIEW

Introduction to Mobile Robotics Mapping with Known Poses Wolfram - - PowerPoint PPT Presentation

Introduction to Mobile Robotics Mapping with Known Poses Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras 1 Why Mapping? Learning maps is one of the fundamental problems in mobile robotics Maps allow robots to


slide-1
SLIDE 1

1

Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras

Mapping with Known Poses Introduction to Mobile Robotics

slide-2
SLIDE 2

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.

slide-3
SLIDE 3

3

The General Problem of Mapping

What does the environment look like?

slide-4
SLIDE 4

4

The General Problem of Mapping

§ Formally, mapping involves, given the sensor data, to calculate the most likely map

} , , , , , , {

2 2 1 1 n n z

u z u z u d … = ) | ( max arg

*

d m P m

m

=

slide-5
SLIDE 5

5

Mapping as a Chicken and Egg Problem

§ So far we learned how to estimate the pose

  • f 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.

slide-6
SLIDE 6

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;…

slide-7
SLIDE 7

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.

slide-8
SLIDE 8

8

Occupancy Grid Maps

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

  • ccupied by an obstacle.

§ Key assumptions

§ Occupancy of individual cells (m[xy]) is independent § Robot positions are known!

= =

− y x xy t t t t t

m Bel z u z u m P m Bel

, ] [ 1 2 1

) ( ) , , , | ( ) ( …

slide-9
SLIDE 9

9

Updating Occupancy Grid Maps

] [ 1 ] [ 1 1 ] [ 1 ] [ ] [ ] [

) ( ) , | ( ) | ( ) (

xy t xy t t xy t xy t xy t t xy t

dm m Bel u m m p m z p m Bel

− − − −

§ Idea: Update each individual cell using a binary Bayes filter. § Additional assumption: Map is static.

) ( ) | ( ) (

] [ 1 ] [ ] [ xy t xy t t xy t

m Bel m z p m Bel

slide-10
SLIDE 10

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 ] [ ] [

1 1 , | 1 , | 1 1

− − − − −

⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − ⋅ − ⋅ − + − =

xy t xy t xy t xy t t t xy t t t xy t xy t

m Bel m Bel m P m P u z m P u z m P m Bel

( ) ( )

1 ] [ ] [

, | log

=

t t xy t xy t

u z m

  • dds

m B

( )

) ( log :

] [ ] [ xy t xy t

m

  • dds

m B =

( ) ( )⎟

⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − = x P x P x

  • dds

1 : ) (

( )

] [

log

xy t

m

  • dds

( )

] [ 1 xy t

m B

+

slide-11
SLIDE 11

11

Typical Sensor Model for Occupancy Grid Maps

Combination of a linear function and a Gaussian:

slide-12
SLIDE 12

12

Key Parameters of the Model

slide-13
SLIDE 13

13

z+d1 z+d2 z+d3 z z-d1

Occupancy Value Depending on the Measured Distance

slide-14
SLIDE 14

14

Deviation from the Prior Belief

(the sphere of influence of the sensors)

slide-15
SLIDE 15

15

Calculating the Occupancy Probability Based on Single Observations

slide-16
SLIDE 16

16

Incremental Updating

  • f Occupancy Grids (Example)
slide-17
SLIDE 17

17

Resulting Map Obtained with Ultrasound Sensors

slide-18
SLIDE 18

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

slide-19
SLIDE 19

19

Occupancy Grids: From scans to maps

slide-20
SLIDE 20

20

Tech Museum, San Jose

CAD map

  • ccupancy grid map
slide-21
SLIDE 21

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

] [

y x y x y x m Bel

xy

+ =

slide-22
SLIDE 22

22

The Measurement Model

⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ = − = − =

∏ ∏

− = − = 1 , ) , , ( ) , , ( 1 , ) , , ( ,

, , ,

if ) 1 ( 1 if ) 1 ( ) , | (

n t t n t t n t t

z k n t k n x f z n x f z k n t k n x f t n t

m m m m x z p ς ς

1

, = n t

ς

  • 1. pose at time t:
  • 2. beam n of scan t:
  • 3. maximum range reading:
  • 4. beam reflected by an object:

, = n t

ς

n t

z ,

t

x

n 1

) , , (

,n t t

z n x f

m

slide-23
SLIDE 23

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)

) , , , , , | ( max arg

1 1 * t t m

x x z z m P m … … =

∑ ∏

= =

= = =

T t t t m T t t t m t t m

x m z P x m z P x x m z z P m

1 1 1 1 *

) , | ( ln max arg ) , | ( max arg ) , , , | , , ( max arg … …

slide-24
SLIDE 24

24

Computing the Most Likely Map

(

)⎥

⎦ ⎤ − ⋅ = + ⋅ − ⋅ = ⎢ ⎣ ⎡ =

∑ ∑∑∑

− = = = = 1 , 1 1 1 , *

,

) 1 ( ln ) ) , , ( ( ln ) 1 ( ) ) , , ( ( max arg

n t

z k j t j n t J j T t N n n t t m

m j k n x f I m j z n x f I m ς

Suppose

∑∑

= =

− ⋅ = =

T t N n n t n t t j

j z n x f I

1 1 , ,

) 1 ( ) ) , , ( ( ς α

∑∑ ∑

= = − =

⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = =

T t N n z k t j

n t

j k n x f I

1 1 1

,

) ) , , ( ( β

slide-25
SLIDE 25

25

Meaning of αj and βj

∑∑

= =

− ⋅ = =

T t N n n t n t t j

j z n x f I

1 1 , ,

) 1 ( ) ) , , ( ( ς α

∑∑ ∑

= = − =

⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = =

T t N n z k t j

n t

j k n x f I

1 1 1

,

) ) , , ( ( β

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

slide-26
SLIDE 26

26

Computing the Most Likely Map

⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − + =

= J j j j j j m

m m m

1 *

) 1 ln( ln max arg β α

We assume that all cells mj are independent:

1 = − − = ∂ ∂

j j j j j

m m m m β α

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.

j j j j

m β α α + =

we obtain

slide-27
SLIDE 27

27

Difference between Occupancy Grid Maps and Counting

§ The counting model determines how often a cell reflects a beam. § The occupancy model represents whether

  • r not a cell is occupied by an object.

§ Although a cell might be occupied by an

  • bject, the reflection probability of this
  • bject might be very small.
slide-28
SLIDE 28

28

Example Occupancy Map

slide-29
SLIDE 29

29

Example Reflection Map

glass panes

slide-30
SLIDE 30

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 . * 4 . * 6 . * 4 . * 6 . *

9 11 9 11 * 9 11 55 . 45 . * 45 . 55 .

n n n n n

⎟ ⎠ ⎞ ⎜ ⎝ ⎛ = ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ = ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛

slide-31
SLIDE 31

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.