mapping with known poses pieter abbeel uc berkeley eecs many slides adapted from thrun, burgard and...
TRANSCRIPT
![Page 1: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/1.jpg)
Mapping with Known Poses
Pieter AbbeelUC Berkeley EECS
Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics
![Page 2: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/2.jpg)
2
Why Mapping?
Learning maps is one of the fundamental problems in mobile robotics
Successful robot systems rely on maps for localization, path planning, activity planning etc.
![Page 3: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/3.jpg)
3
The General Problem of Mapping
Formally, mapping involves, given the control inputs and sensor data,
to calculate the most likely map
},,,,,,{ 2211 nn zuzuzud
)|(maxarg* dmPmm
![Page 4: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/4.jpg)
4
Mapping as a Chicken and Egg Problem
So far we learned how to estimate the pose of a robot 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 set of slides we will describe how to calculate a map given we know the pose of the robot. In future lectures we’ll build on top of this
to achieve SLAM.
![Page 5: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/5.jpg)
5
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;…
This Lecture
![Page 6: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/6.jpg)
Occupancy grid maps For each grid cell represent whether occupied
or not
Reflection maps For each grid cell represent probability of
reflecting a sensor beam
Grid Maps
![Page 7: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/7.jpg)
8
Occupancy Grid Maps Introduced by Moravec and Elfes in 1985 Represent environment by a grid. Each
cell can be empty or occupied. E.g., 10m by 20m space, 5cm resolution
80,000 cells 280,000 possible maps. Can’t efficiently compute with general
posterior over maps Key assumption:
Occupancy of individual cells (m[xy]) is independent
![Page 8: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/8.jpg)
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 9: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/9.jpg)
12
Updating Occupancy Grid Maps
Per grid-cell update:
BUT: how to obtain p(zt | mt[xy] = v) ?
=
This would require summation over all maps Heuristic approximation to update that
works well in practice
![Page 10: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/10.jpg)
13
Key Parameters of the Model
![Page 11: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/11.jpg)
14
z+d1 z+d2
z+d3z
z-d1
Occupancy Value Depending on the Measured Distance
![Page 12: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/12.jpg)
Recursive UpdateAssumption: measurements independent
![Page 13: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/13.jpg)
18
Incremental Updating of Occupancy Grids (Example)
![Page 14: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/14.jpg)
19
Resulting Map Obtainedwith Ultrasound Sensors
![Page 15: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/15.jpg)
20
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 16: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/16.jpg)
21
Occupancy Grids: From scans to maps
![Page 17: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/17.jpg)
22
Tech Museum, San Jose
CAD map occupancy grid map
![Page 18: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/18.jpg)
Occupancy grid maps For each grid cell represent whether occupied
or not
Reflection maps For each grid cell represent probability of
reflecting a sensor beam
Grid Maps
![Page 19: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/19.jpg)
24
Reflection Maps: 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)) Turns out we can give a formal Bayesian
justification for this counting approach
),misses(),hits(
),hits()( ][
yxyx
yxmBel xy
![Page 20: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/20.jpg)
25
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 ,
tx0 n1
),,( ,ntt znxfm
![Page 21: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/21.jpg)
26
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 22: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/22.jpg)
27
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 23: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/23.jpg)
28
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 number of times a beam intercepted cell j without ending in it (misses(j)).
![Page 24: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/24.jpg)
29
Computing the Most Likely Reflection Map
J
jjjjj
mmmm
1
* )1ln(lnmaxarg
We assume that all cells mj are independent:
01
j
j
j
j
j mmm
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.
jj
jjm
we obtain
![Page 25: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/25.jpg)
30
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 26: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/26.jpg)
31
Example Occupancy Map
![Page 27: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/27.jpg)
32
Example Reflection Map
glass panes
![Page 28: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/28.jpg)
33
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*
9
11
9
11*
9
11
55.0
45.0*
45.0
55.0nnnnn
![Page 29: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/29.jpg)
34
Summary 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. Occupancy grid maps
store the posterior probability that the corresponding area in the environment is occupied.
can be estimated efficiently using a probabilistic approach.
Reflection maps are an alternative representation. store in each cell the probability that a beam is reflected
by this cell. the counting procedure underlying reflection maps yield
the optimal reflection map.
![Page 30: Mapping with Known Poses Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in](https://reader030.vdocuments.mx/reader030/viewer/2022032722/56649cf45503460f949c198b/html5/thumbnails/30.jpg)
Inverse_range_sensor_model(mi, xt, zt)
®: thickness of obstacles
¯: width of the sensor beam [Probabilistic Robotics, Table
9.2]