• No results found

follows the boundary. The length of the edge between node 2a and 3 is estimated by the number of strips it took the robot to arrive from the bottom to the top of the cell. As a result, it is not very accurate. The uncovered cell represented by node 4 is assumed to start at the position of node 3. Therefore, after the robot arrives at the approximate position of 3, it turns right again and starts moving towards the direction of the obstacle. The sweep position should be very close to, but underneath the obstacle. When the robot gets closer to the obstacle, it can adjust the sweep position accordingly and starts covering the chosen cell in the normal state of the topological coverage algorithm.

If route b is returned, the robot will follow the obstacle until it arrives at node 2b, which is at the bottom of the obstacle. It then turns around and moves towards the left boundary of the environment. When it arrives at the wall (node 3), it turns around again, switches execution of the algorithm to normal state and begins covering the cell.

4.5

Completeness

It is important to show that an online coverage algorithm is complete, that it can fully cover a given environment. This section attempts to prove the topological coverage algorithm can always find and cover all reachable surfaces in unknown environments.

Slice decomposition subdivides free space in the environment into a collection of disjoint cells. Two cells are said to be directly connected if they share a common cell boundary. Two cells are

indirectly connected if there is a series of directly connected cells that link the two. A robot can

always find a path between two directly or indirectly connected cells. Therefore, the reachable surface in an environment is the union of all cells directly or indirectly connected to the initial cell.

The topological coverage algorithm achieves complete coverage by creating a slice decomposi- tion of the environment and covering all cells in the decomposition. Since cells in slice decom- position can be covered by a robot following a zigzag path, the problem of proving complete coverage can be simplified to showing that all reachable cells are guaranteed to be discovered and visited. It is assumed that the robot has range sensing ability.

Lemma 4.5.1. All topology changes in the environment are always detected.

Proof. The inter-strip distancex is always set to ensure a robot following two consecutive

strips can fully cover all surfaces between the two strips. No surfaces are left uncovered between consecutive strips. Therefore, even robots equipped with only bump sensors can detect obstacles that appear within the length of the strips. In other words, all obstacles to the side of the robot

94 Topological Coverage Algorithm

will be detected by following a zigzag path.

For all the events in slice decomposition, on top of detection by range sensors, there is a fall back to simple detection by odometry. In split (Figure 4.8) and shorten (Figure 4.20(a)) events, an obstacle appears in the middle of the strip and blocks the path of the robot. This causes a sharp decrease in the strip length compared to the previous strip. In end (Figure 4.16) and shorten (Figure 4.22) events, the robot’s path is blocked while moving from one strip to the next. In merge and lengthen events, the obstacle appears on the side of the robot in the direction where it has already swept. The obstacle does not “block” the path of the robot, rather, it “opens” the area underneath. This creates an huge increase in the length of the current strip compared to the previous one. This increase is larger than can be attributed to sensor (odometry) error.

The only situation where the robot may not pass an obstacle by its side is when two events occur in the proximity of each other, creating a small opening. This is discussed in Section 4.2.6. Since the robot will only encounter the criticality on its front or back, there is no fall back to detection by odometry. In other words, detection has to be done purely via range sensing. If

the robot can pass through the gap, it must be at least of width 2dmin. (4.1) gives the maximum

value of∆x at 2r. (4.2) states that r is always smaller than dmin. Therefore, the step size∆x is

always smaller than the minimum gap width 2dmin. For this reason, part of the robot will always

pass in front of the gap independent of the sweep line positions. Therefore, a robot is capable

of detecting such a gap even with short range sensors.

The cell boundary where the robot enters a cell is called the opening cell boundary. The closing cell boundary is the boundary the robot reaches when it finishes covering a cell.

Lemma 4.5.2. The closing cell boundary of any visited cell is always found.

Proof. This follows directly from Lemma 4.5.1. A robot following the zigzag coverage path

will always be able to detect all topology changes happening in the cell.

When the robot arrives at the closing cell boundary, it is programmed to fully explore the bound- ary reached. This full exploration of cell boundary has two goals. First it completes the cov- erage of the current cell and removes all uncovered nodes associated. Secondly, it exposes all other cells that are connected to the same boundary. The following Lemma guarantees all cells sharing the closing cell boundary of a visited cell are added to the topological map.

Lemma 4.5.3. All cells that share the same cell boundary to the closing cell boundary of a visited cell are detected.

Proof. This also follows directly from Lemma 4.5.1. A robot moving along the strip of the