In the previous two chapters, we assumed that the robot was given a map in advance. This assumption is legitimate in quite a few real-world applications.
Acquiring maps with mobile robots is a challenging problem for a number of reasons:
- The hypothesis space, which is the space of all possible maps, is huge. The larger the environment relative to the robot's perceptual range, the more difficult it is to acquire a map.
- Learning maps is a "chicken-and-egg" problem, for which reason it is often referred to as the simultaneous localization and mapping (SLAM).
The hardness of the mapping problem is the result of collection of factors, the most important of which are:
- Size
- Noise in perception and actuation
- Perceptual ambiguity: The more frequently different places look alike, the more difficult it is to establish correspondence between different locations traversed at different points in time.
- Cycles: Cycles make robots return via different paths, and when closing a cycle the accumulated odometric error can be huge.
In this chapter, we first study the mapping problem under the restrictive assumption that the robot pose are known.
The algorithm is under the assumption that the robot pose is known. The basic idea of the occupancy grids is to represent the map as a field of random variables, arranged in an evenly spaced grid. Each random variable is binary and corresponds to the occupancy of the location it covers.
The gold standard of any occupancy grid mapping algorithm is to calculate the posterior over maps given the data
$$
p(m|z_{1:t},x_{1:t})
$$
The algorithm divide the map to many grid cells
$$
m = {\mathbf{m}_i}
$$
Each
The problem of calculating the posterior
The standard occupancy grid approach breaks down the problem of estimating the map into a collection of separate problems, namely that of estimating $$ p(m|z_{1:t},x_{1:t})=\prod_{i} p(\mathbf{m}i|z{1:t},x_{1:t}) $$ It is convenient but it does not enable us to represent dependencies among neighboring cells.
For binary Bayes filter, you can refer to ch4_Nonparametric_Filters
Here,the
We assume that the robot pose is given by
Robots are often equipped with more than one type of sensor. Hence a natural objective is to integrate information from more than one sensor into a single map. This question as to how to best integrate from multiple sensors is particularly interesting if the sensors have different characteristics. For example, if different sensors detect different types of obstacles, the result of Bayes filtering is ill-defined. Assume that an obstacle can be recognized by one sensor type but not by another. Then these two sensor types will generate conflicting information. and the resulting map will depend on the amount of evidence brought by every sensor system.
A popular approach to integrating information from multiple sensors is to build separate maps for each sensor type, and integrate them using an appropriate combination function.
Let
In the previous sections, we assumed that we can safely decompose the map inference problem defined over high-dimensional space of all maps, into a collection of single-cell mapping problems. $$ p(m|z_{1:t},x_{1:t})=\prod_i p(\mathbf{m}i|z{1:t},x_{1:t}) $$ Such a strong decomposition may cause some problems. Looking at the following example. (Notice that a cone is one beam and the range sensor predicts an object along the entire arc at the measured range since the range sensor's prediction unit is beam)
These dependencies are incorporated by an algorithm that outputs the mode of the posterior, instead of the full posterior. The mode is defined as the maximum of the logarithm of the map posterior.
$$
m^* =\arg\max_{m} \log p(m|z_{1:t},x_{1:t})
$$
using Bayes equation
$$
p(m|z_{1:t},x_{1:t})=\frac{p(z_{1:t}|x_{1:t},m)p(m|x_{1:t})}{p(z_{1:t}|x_{1:t})}=\eta p(z_{1:t}|x_{1:t},m)p(m|x_{1:t})
$$
we have
- The algorithm is a maximum a posteriori approach, and as such returns no notion of uncertainty in toe residual map
- The algorithm is a batch algorithm and cannot be executed incrementally
- The MAP algorithm requires that all data is kept in memory