4.3 Topological Map
4.3.3 Map updates
This subsection is arranged into four examples explaining how the topological map is updated. It also explains the functions and properties of the various types of nodes and edges. Figure 4.26 shows the symbols used in the diagrams in this subsection.
Example 1
The first example uses the obstacle seen in the examples in Chapter 3. This is shown in Fig- ure 4.27 and there is only one obstacle in the environment. Cells that are detected but uncovered
are represented on the topological map as a pair of uncovered nodes (×). Therefore, the map in
Figure 4.27 contains only the uncovered free space cell at the top.
In Figure 4.28, the robot has covered the top free space cell and has arrived at the cell boundary.
82 Topological Coverage Algorithm
Figure 4.28: Detects a split event.
Since the obstacle node () is located in the middle of a strip, a joint node (•) is added to
connect the obstacle node () to the rest of the map. Also, uncovered nodes (×) are connected
to both the obstacle node () and the joint node (•). This is because the two nodes lead to the
two side boundaries of the new free space cell underneath. Note that the newly found uncovered cell is also represented by a pair of uncovered nodes (×).
The type of edge used depends on the situation between the two nodes it connects. For example,
in Figure 4.28, an open edge is used between the obstacle node () and the joint node (•)
because there are no obstacles on either side of the edge. Vertical edges are used to connect the
new uncovered nodes (×) as these edges are the side boundaries of the uncovered cell.
As the robot moves along the the cell boundary and reaches the point where the distance to the obstacle rises above the threshold, the map is updated as shown in Figure 4.29. Note that
a south edge is used to connect the new obstacle node () to the existing map because of the
obstacle below the edge. When the robot reaches the end of the strip, the uncovered node (×)
representing the right boundary of the top free space cell is converted to a joint node (•) to
complete the cell boundary. This is shown in Figure 4.30. It can be seen from the diagram that cell boundaries are represented as a horizontally connected series of nodes and edges. Also, the map updates that occur during the boundary exploration have converted the two uncovered
nodes (×) in Figure 4.27. Now the nodes surrounding the boundaries of the top free space cell
form a cycle5in the topological map.
5A cycle in a graph has positive length, its origin and terminus are the same, and its origin and internal nodes
4.3 Topological Map 83
Figure 4.29: Reaching the other end of the obstacle segment in a split event.
Figure 4.30: Finishing the cell boundary exploration. The nodes representing the top and bottom boundaries of the first free space cell form a cycle in the map.
84 Topological Coverage Algorithm
Figure 4.31: Covering another cell in the environment.
Assume that the robot now chooses to cover the cell to the left of the obstacle, as shown in Figure 4.31. It can be seen that this uncovered cell is represented by a pair of uncovered nodes (×). This pair of nodes are connected via a horizontal edge that is the top boundary of this cell. This arrangement is similar to the one shown in Figure 4.27. It is this configuration of nodes and edges that indicates the existence of an uncovered cell in the topological map.
When the robot reaches the bottom of this cell, the two uncovered nodes are converted into other types of nodes, as shown in Figure 4.32. The status of the current cell is now changed from uncovered to covered, since the nodes representing it now forms a cycle in the map. As the robot explores the cell boundary, it will discover the other end of the disappearing obstacle
segment that causes the merge event (Figure 4.33). An obstacle node () is added for this
landmark. An uncovered node (×) is also added for the new free space cell above the cell
boundary. Figure 4.34 shows the robot completing the exploration and map updating for this cell boundary. At this moment, there are three uncovered cells in the topological map.
Figure 4.35 shows the robot reaching the top boundary of the free space cell. A free space node
() is added here because the landmark is surrounded by obstacles on two adjacent sides. Since
free space nodes are corners by definition, it is therefore always located at ends of cell bound- aries. This is in contrast to obstacle nodes, which are always in the middle of cell boundaries. As a result of this, free space nodes are only incident to two edges, while obstacle nodes are incident to three.
When the robot reaches the other end of this cell boundary, the map is updated to indicate this cell is completely covered. This is shown in Figure 4.36.
4.3 Topological Map 85
Figure 4.32: When the coverage of the current cell is finished, the uncovered nodes are converted to other types of nodes.
86 Topological Coverage Algorithm
Figure 4.34: Just finished exploring the cell boundary.
Figure 4.35: A free space node () is used here because the landmark is surrounded by obstacles on two adjacent sides.
4.3 Topological Map 87
Figure 4.36: Completing the free space cell.
Example 2
Sometimes both the top and bottom boundaries of an uncovered cell have been exposed during
two different boundary explorations. This happens around a free standing obstacle, when one
side of the obstacles has been covered. Figure 4.37 shows a robot covering a cell where both
top and bottom boundaries are known. Note that there are two sets of uncovered nodes (×),
one for the top boundary, one for the bottom. This duplication of uncovered nodes (×) occurs
because boundary exploration of both the top and bottom borders classify the cell as uncovered. The robot does not know that both borders belong to the same cell during the earlier boundary
explorations. When the robot reaches the top border and arrives at the obstacle node (), it is
recognised as previously visited. The two sets of unexplored edges are merged to form a single cell as shown in Figure 4.38.
Landmark matching is done both metrically and topologically [64]. A list of possible matches is found by selecting nodes that are metrically close to the robot’s position. Closeness is defined loosely as a region two to three times larger than the robot. If there is more than one possible candidate, a topological matching procedure is initiated. This involves comparing directions of obstacles around candidate nodes with the robot’s current situation. Using the situation shown in Figures 4.37 and 4.38 as an example, lets assume the metrical match procedure returns the
two obstacle nodes () above the obstacle. Using the knowledge that there are no obstacles on
either side of the strip previously, it can be concluded that the obstacle node on the right is a match by analysing the topology around the two nodes. The node on the right is connected to an open edge in the direction behind the robot, while the one on the left is connected to a south
88 Topological Coverage Algorithm
Figure 4.37: An uncovered cell where both top and bottom boundaries are known.
Figure 4.38: The obstacle node () is identified as the current landmark by matching metrically and topologically.
4.3 Topological Map 89
Figure 4.39: Two obstacle nodes () are added for the merge and split events. Because the two events occur at the same sweep position, the “cell” between the events is considered covered already.
Figure 4.40: Completed topological map for this example.
edge.
Example 3
Section 4.2.6 discussed the situation where a merge and a split event happens in the proximity of one another. Figure 4.39 shows a robot encountering such a situation. Here, the gap between the top and the bottom obstacle is quite small, and the robot can just pass through. Since the
robot detected both a split and a merge event, two obstacle nodes () are added. However,
uncovered nodes (×) are added only for the lower set of joint (•) and obstacle () nodes. This is because the two events actually occur at the same sweep position (there is only one sweep position through the gap), and therefore the “cell” between the two events is already covered. Figure 4.40 shows the completed topological map for this example.
90 Topological Coverage Algorithm
Figure 4.41: Reaching a new node that does not lead to any uncovered cells.
Figure 4.42: The uncovered node (×) is converted to a free space node ().
Example 4
In the previous examples, all the free space nodes () share cell boundaries with only free space
nodes (). This example shows a situation where a free space node () shares a cell boundary
with other types of nodes. This occurs in shorten and lengthen events. Figure 4.41 shows a
robot arriving at a new free space node (). The uncovered node (×) is converted to a free
space node (), as shown in Figure 4.41. No uncovered node (×) is added to the free space
node () because it does not lead to any free space cell underneath. This is because the free
space segment at that end becomes an obstacle segment in the next sweep line position. The obstacle segment ends and free space segment from the new uncovered cell underneath starts at the position shown in Figure 4.43. The representation of the completed cell boundary is shown in Figure 4.44.