Connecting Features
Features correspond to artefacts in the environment.:
- These may be obstacles that we need to avoid.
- Can also be beacons that aid in localisation.
There are several formas a feature might take but it will depend on:
- What sensors the robot has.
- What features can be extracted.
Map
Once we have a set of features we can build a map:
- A map states how features sit relative to one another.
Types of Map
Metric Maps
- Gives the precise location of the features:
- Frequently expressed as a pose $\langle x, y,\theta\rangle$.
- Most implementation assume a 2D representation to avoid computational explosion.
-
Typically make a closed world assumption:
If a feature is not specified then there is nothing there.
The total storage required is proportional to the density of objects in the environment.
Representing Metric Maps
Formally, a map is a list of objects and their properties:
\[m = \{m_1,\ldots,m_N\}\]where each $m_n$ with $1\leq n\leq N$ specifies a property.
Cell/Grid Based Maps
Another way to create a map is to decompose the map into cells within a grid.
Exact Cell Decomposition
We can segment the space based on the features of the objects.
The map representation tessellates the area into free space:
Each numbered box is a cell of free space.
Fixed Cell Decomposition
This is also known as the graph paper approach. features a plotted on a 2D array:
- Empty cells represent space where the robot can navigate.
- Filled cells represent obstacles.
If the cell size is too large, then objects can merge.
Adaptive Cell Decomposition
Each rectangle bounding a free space is only recursively decomposed if some obstacle lies within it:
- This continues until some predefined resolution is reaches.
This results in:
- Larger cells where there is free space.
- Smaller cells around obstacles.