robot mapping grid maps - uni-freiburg.de
TRANSCRIPT
![Page 1: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/1.jpg)
1
Robot Mapping
Grid Maps
Gian Diego Tipaldi, Wolfram Burgard
![Page 2: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/2.jpg)
2
Features vs. Volumetric Maps
Courtesy: E. Nebot Courtesy: D. Hähnel
![Page 3: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/3.jpg)
3
Features
So far, we only used feature maps
Natural choice for Kalman filter-based SLAM systems
Compact representation
Multiple feature observations improve the landmark position estimate (EKF)
![Page 4: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/4.jpg)
4
Grid Maps
Discretize the world into cells
Grid structure is rigid
Each cell is assumed to be occupied or free space
Non-parametric model
Large maps require substantial memory resources
Do not rely on a feature detector
![Page 5: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/5.jpg)
5
Example
![Page 6: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/6.jpg)
6
Assumption 1
The area that corresponds to a cell is either completely free or occupied
free space
occupied space
![Page 7: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/7.jpg)
7
Representation
Each cell is a binary random variable that models the occupancy
![Page 8: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/8.jpg)
8
Occupancy Probability
Each cell is a binary random variable that models the occupancy
Cell is occupied:
Cell is not occupied:
No knowledge:
![Page 9: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/9.jpg)
9
Assumption 2
The world is static (most mapping systems make this assumption)
always occupied
always free space
![Page 10: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/10.jpg)
10
Assumption 3
The cells (the random variables) are independent of each other
no dependency between the cells
![Page 11: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/11.jpg)
11
Representation
The probability distribution of the map is given by the product over the cells
cell map
![Page 12: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/12.jpg)
12
Representation
The probability distribution of the map is given by the product over the cells
example map (4-dim state)
4 individual cells
![Page 13: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/13.jpg)
13
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 14: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/14.jpg)
14
Static State Binary Bayes Filter
![Page 15: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/15.jpg)
15
Static State Binary Bayes Filter
![Page 16: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/16.jpg)
16
Static State Binary Bayes Filter
![Page 17: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/17.jpg)
17
Static State Binary Bayes Filter
![Page 18: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/18.jpg)
18
Static State Binary Bayes Filter
![Page 19: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/19.jpg)
19
Static State Binary Bayes Filter
Do exactly the same for the opposite event:
![Page 20: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/20.jpg)
20
Static State Binary Bayes Filter
By computing the ratio of both probabilities, we obtain:
![Page 21: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/21.jpg)
21
Static State Binary Bayes Filter
By computing the ratio of both probabilities, we obtain:
![Page 22: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/22.jpg)
22
Static State Binary Bayes Filter
By computing the ratio of both probabilities, we obtain:
![Page 23: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/23.jpg)
23
From Ratio to Probability
We can easily turn the ration into the probability
![Page 24: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/24.jpg)
24
From Ratio to Probability
Using directly leads to
For reasons of efficiency, one performs the calculations in the log odds notation
![Page 25: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/25.jpg)
25
Log Odds Notation
The log odds notation computes the logarithm of the ratio of probabilities
![Page 26: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/26.jpg)
26
Log Odds Notation
Log odds ratio is defined as
and with the ability to retrieve
![Page 27: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/27.jpg)
27
Occupancy Mapping in Log Odds Form
The product turns into a sum
or in short
![Page 28: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/28.jpg)
28
Occupancy Mapping Algorithm
highly efficient, we only have to compute sums
![Page 29: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/29.jpg)
29
Inverse Sensor Model for Sonar Range Sensors
In the following, consider the cells along the optical axis (red line)
Courtesy: Thrun, Burgard, Fox
![Page 30: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/30.jpg)
30
Occupancy Value Depending on the Measured Distance
z+d1 z+d2
z+d3 z
z-d1
measured dist.
prior
distance between the cell and the sensor
![Page 31: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/31.jpg)
31
z+d1 z+d2
z+d3 z
z-d1
Occupancy Value Depending on the Measured Distance
measured dist.
prior
“free”
distance between the cell and the sensor
![Page 32: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/32.jpg)
32
z+d1 z+d2
z+d3 z
z-d1
Occupancy Value Depending on the Measured Distance
distance between the cell and the sensor
measured dist.
prior
“occ”
![Page 33: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/33.jpg)
33
Occupancy Value Depending on the Measured Distance
z+d1 z+d2
z+d3 z
z-d1
measured dist.
prior “no info”
distance between the cell and the sensor
![Page 34: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/34.jpg)
34
The Model in More Details
![Page 35: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/35.jpg)
35
Example: Incremental Updating of Occupancy Grids
![Page 36: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/36.jpg)
36
Resulting Map Obtained with 24 Sonar Range Sensors
![Page 37: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/37.jpg)
37
Inverse Sensor Model for Laser Range Finders
![Page 38: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/38.jpg)
38
Occupancy Grid Mapping
Moravec and Elfes proposed occupancy grid mapping in the mid 80’ies
Developed for noisy sonar sensors
Also called “mapping with know poses”
![Page 39: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/39.jpg)
39
Occupancy Grid Mapping
Moravec and Elfes proposed occupancy grid mapping in the mid 80’ies
Developed for noisy sonar sensors
Also called “mapping with know poses”
Lasers are coherent and precise
Approximate the beam as a “line”
![Page 40: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/40.jpg)
40
Maximum Likelihood Grid Maps
Compute values for m that maximize
The individual likelihood are Bernoulli
since independent and only depend on
![Page 41: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/41.jpg)
41
Maximum Likelihood Grid Maps
Collecting the terms for each cell:
where we have
![Page 42: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/42.jpg)
42
Maximum Likelihood Grid Maps
Collecting the terms for each cell:
where we have
Setting the gradient to zero we obtain
![Page 43: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/43.jpg)
43
Posterior Distribution of Cells
Maximum likelihood neglects the prior
We would like to compute
Likelihood is still Bernoulli
Conjugate prior: Beta distribution
![Page 44: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/44.jpg)
44
Posterior Distribution of Cells
How does the posterior look like?
Conjugate prior: Beta distribution
Likelihood Bernoulli
Posterior
?
![Page 45: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/45.jpg)
45
Posterior Distribution of Cells
How does the posterior look like?
Conjugate prior: Beta distribution
Likelihood Bernoulli
Posterior
![Page 46: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/46.jpg)
46
Posterior Estimates of Cells
Maximum a posteriori (mode of Beta)
Expected value (unbiased)
Maximum likelihood (revised)
Maximum a posteriori with uniform prior
Uniform prior for Beta
?
![Page 47: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/47.jpg)
47
Posterior Estimates of Cells
Maximum a posteriori (mode of Beta)
Expected value (unbiased)
Maximum likelihood (revised)
Maximum a posteriori with uniform prior
Uniform prior for Beta
?
![Page 48: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/48.jpg)
48
Posterior Estimates of Cells
Maximum a posteriori (mode of Beta)
Expected value (unbiased)
Maximum likelihood (revised)
Maximum a posteriori with uniform prior
Uniform prior for Beta
?
![Page 49: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/49.jpg)
49
Posterior Estimates of Cells
Maximum a posteriori (mode of Beta)
Expected value (unbiased)
Maximum likelihood (revised)
Maximum a posteriori with uniform prior
Uniform prior for Beta
![Page 50: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/50.jpg)
50
Occupancy Grids From Laser Scans to Maps
Courtesy: D. Hähnel
![Page 51: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/51.jpg)
51
Example: MIT CSAIL 3rd Floor
![Page 52: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/52.jpg)
52
Uni Freiburg Building 106
![Page 53: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/53.jpg)
53
Occupancy Grid Map Summary
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
No need for predefined features
![Page 54: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/54.jpg)
54
Literature
Static state binary Bayes filter
Thrun et al.: “Probabilistic Robotics”, Chapter 4.2
Occupancy Grid Mapping
Thrun et al.: “Probabilistic Robotics”, Chapter 9.1+9.2
![Page 55: Robot Mapping Grid Maps - uni-freiburg.de](https://reader030.vdocuments.us/reader030/viewer/2022012111/61dcbacbce57ac68b50aa84c/html5/thumbnails/55.jpg)
55
Slide Information
These slides have been created by Cyrill Stachniss as part of the robot mapping course taught in 2012/13 and 2013/14. I created this set of slides partially extending existing material of Edwin Olson, Pratik Agarwal, and myself.
I tried to acknowledge all people that contributed image or video material. In case I missed something, please let me know. If you adapt this course material, please make sure you keep the acknowledgements.
Feel free to use and change the slides. If you use them, I would appreciate an acknowledgement as well. To satisfy my own curiosity, I appreciate a short email notice in case you use the material in your course.
My video recordings are available through YouTube: http://www.youtube.com/playlist?list=PLgnQpQtFTOGQrZ4O5QzbIHgl3b1JHimN_&feature=g-list
Cyrill Stachniss, 2014 [email protected]
bonn.de