In (Kegeleirs et al., 2019), several variations on
random walks are compared including Brownian mo-
tion, L
´
evy Walk, and RBW. In RBW, the straight
movement continues until the agent collides with ei-
ther an obstacle or another agent. According to
(Kegeleirs et al., 2019) RBW produce the best results
for coverage and mapping of unknown environments,
and thus RBW was selected as the baseline for the
comparison with more sophisticated algorithms.
2.2.2 Spiraling and Selective Backtracking
In the SSB (Gautam et al., 2018) algorithm, the agents
perform coverage by traversing sections of the map
following inward spiral patterns.
The SSB algorithm is designed for a grid space,
and movement is modelled as discrete steps between
cells. SSB also assumes that agents can communicate
globally. Finally, the algorithm design is rooted in the
assumption that agents are able to accurately build a
map of their environment and continually synchronize
this map across all agents. These two requirements
reduces the usability in real world scenarios.
In the SSB algorithm agents alternate between two
states: spiraling and backtracking. In the spiraling
state, agents follow a simple set of rules to traverse an
area in the pattern of an inward spiral. While spiral-
ing, the agents make note of neighbouring unexplored
cells as potential back-tracking points. Once spiraling
is completed the agent broadcasts its collected back-
tracking points to all other agents. Then, the agent
determines which backtracking point to choose as its
target by performing an auction where agents bid on
available backtracking points. Each agent calculates a
bid based on its distance from the backtracking point.
If an agent is in spiraling mode during an auction, its
bid values will also depend on the estimated number
of steps required to finish the ongoing spiral. If the
agents wins a backtracking point, it will travel to that
point and then begin the spiraling phase again. If the
agent does not win any backtracking points it will still
travel to the closest candidate to avoid being idle.
2.2.3 Local Voronoi Decomposition
The idea behind LVD (Fu et al., 2009) is to achieve
task allocation using only indirect communication in
the form of the position of visible agents and obsta-
cles.
Each agent computes Voronoi regions from the ar-
eas of the map within line of sight (usually 360 de-
grees around the agent) at a given time, using other
agents’ location and walls/obstacles within line of
sight. The visibility range is not mentioned in the
original paper, but the illustrations in (Fu et al., 2009)
seem to indicate that it is infinite, so we will in this
paper assume infinite visibility range for LVD.
In LVD, an occlusion point is defined as a corner
or obstacle where the line of sight is broken. All LVD
agents employ local SLAM to detect areas that they
have themselves previously covered, as well as previ-
ously covered occlusion points.
Pseudo code of the LVD algorithm can be seen in
Listings 1 and 2. The agents see the map as a grid
of tiles, which are explored when an agent has visited
it
2
. A tile can be within view but not explored yet.
Listing 1: LVD Algorithm 1 - Divide and Conquer.
1 // Divide part
2 For each cell in view
3 if the cell is closer to agent than to other agents
4 mark the cell as within region
5 end if
6 end for
7 // Conquer part
8 if there is just one unexplored cell within region
9 move to it
10 else if there are more than one unexplored cell
11 move in an ordered list, e.g. [North, East, South, West]
12 else
13 Enter Search Mode
14 end if
15 go to 1
Listing 2: LVD Algorithm 2 - Search Mode.
1 // Consider all occlusion points within view.
2 if at any time an unexplored cell appears within region then
3 exit Search Mode and go back to Algorithm 1
4 end if
5 if there is at least one occlusion point which has not been
visited during the Search Mode→
6 move to the nearest occlusion point which has not been
visited→
7 else if all occlusion points have already been visited
8 move to the least recently visited occlusion point
9 else if there are no occlusion points or if the only occlusion
point has just been visited→
10 move to the nearest Voronoi boundary which does not
11 coincide with any obstacle
12 end if
In its Divide and Conquer Mode, the algorithm
considers that agents sense other agents close by and
then use this information to divide the currently visi-
ble tiles into Voronoi regions, i.e. always delegating
a given tile to the agent closest to it. Each division
is computed independently by the agent. If any tiles
within a given agent’s Voronoi region are unexplored,
the agent will move to them in a configurable order,
e.g. first north, then east, south and west. If no tile is
unexplored, the agent enters the Search Mode.
In the Search Mode the agent considers occlusion
points within line of sight, and it moves to an occlu-
2
Thus, LVN definition of explored correspond to what
this paper defines as covered.
Comparison of Online Exploration and Coverage Algorithms in Continuous Space
529