1
Introduction to Mobile Robotics Mapping with Known Poses Wolfram - - PowerPoint PPT Presentation
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
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.
3
The General Problem of Mapping
What does the environment look like?
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
=
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.
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;…
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.
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
) ( ) , , , | ( ) ( …
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
−
=η
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
−
+
11
Typical Sensor Model for Occupancy Grid Maps
Combination of a linear function and a Gaussian:
12
Key Parameters of the Model
13
z+d1 z+d2 z+d3 z z-d1
Occupancy Value Depending on the Measured Distance
14
Deviation from the Prior Belief
(the sphere of influence of the sensors)
15
Calculating the Occupancy Probability Based on Single Observations
16
Incremental Updating
- f Occupancy Grids (Example)
17
Resulting Map Obtained with Ultrasound Sensors
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
19
Occupancy Grids: From scans to maps
20
Tech Museum, San Jose
CAD map
- ccupancy grid map
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
+ =
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
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 … …
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
,
) ) , , ( ( β
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)).
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
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.
28
Example Occupancy Map
29
Example Reflection Map
glass panes
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
⎟ ⎠ ⎞ ⎜ ⎝ ⎛ = ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ = ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛
−
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.