Gabriely and Rimon [57] proposed the Spiral-STC (Spanning Tree Coverage) algorithm, an on-line approach for mobile robots which consists in subdividing the workspace into a grid map and following a systematic spiral path. This systematic spiral path is generated by following a spanning tree of the partial grid map that the robot incrementally constructs using its onboard sensors. The robot is able to cover every grid cell precisely once, and travel a complete coverage path. They validate the proposal in simulation. The Spiral-STC algorithm works as follows. Two different grid cell sizes are used. Bigger cells (so called mega cells) are divided in four smaller cells, which are the same size as the robot. This is shown in Fig. 1(a). To perform coverage, the robot executes the following procedure. Starting at the current cell, the robot chooses a new travel direction by selecting the first new mega cell in the free space in anti-clockwise direction. Then, a new spanning-tree edge is grown from the current mega cell to the new one. The algorithm is called recursively. The recursion stops only when the current cell has no new neighbors (a mega cell is considered old if at least one of its four smaller cells is covered, it is considered new otherwise). As a result of this recursion, the robot moves along one side of the spanning tree until it reaches the end of the tree. At that point, the robot turns around to traverse the other side of the tree. It is worth noticing that, when coverage is completed, the robot returns to the start cell, facilitating its collection and storage. On the other hand, STC never visits any small cell twice and thus minimizes the cover time. Fig. 21(b) shows an example of a coverage path generated bythe Spiral-STC algorithm