Ann Math Artif Intell (2008) 52:109–142
DOI 10.1007/s10472-009-9120-2
Efficient Boustrophedon Multi-Robot Coverage:
an algorithmic approach
Ioannis Rekleitis · Ai Peng New · Edward Samuel
Rankin · Howie Choset
Published online: 17 March 2009
© Springer Science + Business Media B.V. 2009
Abstract This paper presents algorithmic solutions for the complete coverage path
planning problem using a team of mobile robots. Multiple robots decrease the time
to complete the coverage, but maximal efficiency is only achieved if the number of regions covered multiple times is minimized. A set of multi-robot coverage algorithms
is presented that minimize repeat coverage. The algorithms use the same planar cellbased decomposition as the Boustrophedon single robot coverage algorithm, but
provide extensions to handle how robots cover a single cell, and how robots are
allocated among cells. Specifically, for the coverage task our choice of multi-robot
policy strongly depends on the type of communication that exists between the robots.
When the robots operate under the line-of-sight communication restriction, keeping
them as a team helps to minimize repeat coverage. When communication between
the robots is available without any restrictions, the robots are initially distributed
through space, and each one is allocated a virtually-bounded area to cover. A greedy
auction mechanism is used for task/cell allocation among the robots. Experimental
results from different simulated and real environments that illustrate our approach
for different communication conditions are presented.
I. Rekleitis (B)
School of Computer Science, McGill University, Montreal, Canada
e-mail:
[email protected]
A. P. New · E. S. Rankin
DSO National Laboratories, Singapore, Singapore
e-mail:
[email protected]
E. S. Rankin
e-mail:
[email protected]
H. Choset
Robotics Institute, Carnegie Mellon University, Pittsburgh, USA
e-mail:
[email protected]
110
I. Rekleitis et al.
Keywords Coverage · Multi-robot · Algorithmic robotics
Mathematics Subject Classifications (2000) 68T40 · 11Y16
1 Introduction
The task of covering an unknown environment, common in many applications, is
of great interest in a number of industries like automated vacuum-cleaner, carpetcleaner, or lawn-mower manufacturing; chemical or radioactive spill detection and
cleanup; and humanitarian de-mining. Many of those applications require complete
coverage. The goal of complete coverage is to plan a path that will be used to guide
one or more robots to pass an end-effector, in our case equivalent to the footprint of
the robot, over every accessible area of the target environment. Complete coverage
guarantees that no accessible area is left uncovered. In all cases we assume that
the target area is of known dimensions and for simplicity’s sake, we assume it is a
rectangle. The interior of the area to be covered is unknown and partially occupied
by obstacles.
In the single robot case, previous work has produced algorithms that guarantee
complete coverage of an arbitrary unknown environment [1]. Introducing multiple
robots provides advantages in terms of efficiency and robustness but increases
the algorithmic complexity. Central in the multi-robot approach is the issue of
communication. When communication is restricted to close proximity [2] or line of
sight1 [3], the robots have to remain together in order to avoid covering the same
area multiple times. When unrestricted communication is available then the robots
can disperse through the environment and can proceed to cover different areas
in parallel, constantly updating each other on their progress. In this paper, three
different algorithms for the two different modes of communication, restricted and
global, are presented. For limited communication, we outline an algorithm called
team-based coverage. For unlimited communication, we present two algorithms that
go under the name of distributed coverage, which differ in the area-size each robot
covers at a single step.
Firstly, we examine the problem of multi-robot coverage path planning for a team
of robots with limited communication. Information sharing between the robots is
restricted to line-of-sight communication (Fig. 1b). When communication is limited,
the robots that drop out of communication cannot stay up-to-date on where the
other robots have been, and end up covering again areas already covered; see [3].
It is easy to construct environments where lack of communication can result in the
majority of space being covered repeatedly, thus, resulting in very little improvement
in efficiency compared to a single-robot approach. To avoid repeat coverage and
thus improve efficiency, we propose a multi-robot algorithm where the robots stay
together as a team. Thus, the robots start together at an entry position in the area to
be covered as a team, and the complete team can split into two sub-teams to cover
around a single obstacle, with no further splitting of the sub-teams. When the area
1 Line-of-sight restriction: communication is available iff two robots have an unobstructed line of
sight between them.
Efficient Boustrophedon Multi-Robot Coverage
(a)
111
(b)
Fig. 1 a Two Pioneer robots performing coverage. b Seven robots in two teams covering around an
obstacle
around the obstacle that caused the split is covered, the two sub-teams join again
into a single team. Only after the two sub-teams re-unite, the team can split again.
This approach can be considered “conservative”; however, when communication is
limited, a conservative approach works best at reducing repeat coverage for a wide
variety of environments.
Next, we examine the problem of complete coverage when unrestricted communication is available. In this case, the team of robots is deployed at regular intervals
along one side of the field to be covered, as in Fig. 2. Thus, the environment is
divided into a number of virtual stripes equal to the number of robots. Each robot
is allocated initially the responsibility of the stripe it is placed at, and the coverage
starts. The challenge is to allocate different uncovered areas to each robot such that
no robot stays idle, thus, all finish covering around the same time, and the amount of
time spent commuting among different regions is minimized. Providing an optimal
solution for minimizing the travel time is an NP-hard problem;2 see Section 6 for
the proof. As such, an auction mechanism is used in order to reallocate regions to
be covered between robots in such a way that the path travelled between regions is
reduced. The auction mechanism is a greedy heuristic based on the general market
approach [4]. The size of the tasks auctioned or negotiated among the covering robots
is another parameter that can be changed: a variation of the second algorithm (full
communication) has been implemented with real robots using smaller tasks and a
simple negotiation protocol, instead of an auction; see Fig. 1a.
The proposed algorithms are based on prior single-robot coverage methods that
guarantee complete coverage. To achieve provable completeness, most single robot
coverage planners use a cellular decomposition of the environment. Exact cellular
decompositions represent the free configuration space by dividing it into nonoverlapping cells such that adjacent cells share a common boundary; the interior of
2 In
other words, finding an optimal path would require computation time exponential to the number
of cells to be covered.
112
I. Rekleitis et al.
Fig. 2 A large unknown area
is divided up in vertical stripes.
Each covering robot is
assigned a stripe to cover. A
deployment vehicle is utilized
that distributes the robots at
the beginning of the stripes.
The robots do not know the
layout at the interior of each
stripe. The union of all the
stripes represents the area to
be covered
stripe
boundaries
Robots
(not in scale)
Deployment
vehicle
each cell intersects no other cell; and the union of all the cells covers the free space.
Covering each cell is simple, and complete coverage provably results from ensuring
that the robot visits every cell.
Our algorithms are based on the sensor-based approach which covers the unknown space while simultaneously constructing a cellular decomposition, which, in
turn is used to guarantee complete coverage. In the case of team-based coverage, a
robot team consists of all robots within line-of-sight to each other. Each distinct team
maintains its own internal representation of the world, which is shared and updated
whenever two teams come within line-of-sight of each other and join again into one
team. In the case of distributed coverage, each robot autonomously covers the area
(stripe) it is assigned, keeping track of all the covered, uncovered, and unknown
space by communicating with the other robots. In the second algorithm of distributed
coverage, the granularity of each covering task is much finer. Each robot covers one
thin stripe with width equal to twice the footprint of the sensor and, when done,
selects the uncovered stripe that is closest to it.
Regardless of the communication capabilities, we assume that the robots know
their position and orientation with respect to a global reference frame. For our
hardware implementation, the localization problem is abstracted by allowing the
robots to localize themselves using a laser range finder and retro-reflective targets
placed in the environment. In all cases, the robot sensors are able to detect both
static obstacles and mobile robots, and differentiate between the two. The sensors
have limited range and good angular resolution.
This paper is divided into the following sections: Section 2 discusses related work
on multi-robot coverage and market-based mechanisms; it also presents some necessary terminology related to the Boustrophedon cellular decomposition. Section 3
describes the limited communication multi-robot coverage algorithm. The global
communication, auction-based algorithm is presented in Section 4. A variant of the
full communication algorithm is outlined in Section 5; the proposed algorithm divides
the coverage problem to finer granularity tasks. Section 6 contains the proof that
solving optimally the multi-robot coverage problem is NP-hard. Section 7 contains
qualitative experimental results from a variety of environments for the different
Efficient Boustrophedon Multi-Robot Coverage
113
algorithms. Finally, Section 8 presents our conclusions and the directions of ongoing
and future research.
2 Related work
This work employs the fundamental principles of a single-robot coverage algorithm
for each individual robot. When global communication is available, an auction
mechanism is used to negotiate among robots which areas each robot would cover.
Firstly, we will examine relevant background on multi-robot coverage. Then, we will
discuss related work on market-based mechanisms in mobile robotics. Finally, we
present a brief overview of relevant terminology used in coverage and exact cellulardecomposition literature.
2.1 Multi-robot coverage
Previous work can be grouped using two different criteria: determinism and communication ability. First, we examine deterministic approaches, which guarantee
complete coverage; then, we present a brief overview of a variety of techniques which
use a stochastic approach—sometimes referred to as swarm, biologically inspired, or
behavior-based techniques—to solve the multi-coverage problem.
Our work takes root in the Boustrophedon decomposition [5], which is an exact
cellular decomposition whereby each cell can be covered with simple back-andforth motions. The cells are defined by sweeping a slice [6, 7] (a one-dimensional
line) through the configuration space and noting where the connectivity of the slice
changes in the free configuration space. These connectivity changes occur at critical
points. A method that uses simple sonar range sensors to detect critical points was
introduced in [8]. Using this method, the robot can simultaneously cover an unknown
space while looking for critical points to ensure complete coverage. An alternative
approach based on a triangular tiling of the free space was presented in [9].
Butler et al. [10] achieved complete coverage of unknown rectilinear environments using a square robot with contact sensing. They performed an on-line decomposition where each cell, in the shape of a rectangle, was formed such that it
could be covered completely by back-and-forth motions performed parallel to one
of the walls of the environment. They have also extended their work to multiple
robots [11]. The basic concept of the multi-robot algorithm is that cooperation and
coverage are algorithmically decoupled. This means that a coverage algorithm for
a single robot can be extended to a cooperative setting. To produce cooperative
coverage, an overseer algorithm is added to the single robot algorithm, which takes
incoming data from other robots and integrates it into the cellular decomposition. In
their approach, unrestricted communication is assumed among the robots. It can be
shown that the overseer indeed performs this operation in such a way that coverage
can continue under the direction of the single robot algorithm without the algorithm
even knowing that cooperation occurred.
Early work by Kurabayashi et al. proposed an off-line planning algorithm for
sweeping a known area with the ability to plan for relocating objects. The algorithm
acts in two stages: first the complete path is planned off-line, and the area is divided
114
I. Rekleitis et al.
among robots [12]; then, the location of the movable object is examined, and the
optimal relocation path is estimated [13]. Experimental results showed an improvement in the efficiency due to smart relocation of movable objects. Recently, Latimer
et al. [2] employed an algorithm based on the single robot cellular decomposition
approach. Dispersing the robots through the environment was emphasized and
encouraged to allow parallel coverage with finer granularity [2]. However, because
this approach only allowed communication between robots in physical contact with
each other, many robots ended up covering the same space.
Tao and How [14] used a decentralized approach to select cells in a grid world
to be covered. They used a limited motion and sensor model and assumed global
communication. Negotiation between agents was used in order to facilitate cooperation. More recently, Luo and Yang [15, 16] employed a neural network to represent
the environment. Each cell/neuron corresponds to a cell in the occupancy grid, and
the activity in each neuron represents the belief that the cell is occupied, unknown,
or covered. They have demonstrated their approach for two [15] and four [16]
collaborating robots covering an environment in simulation.
Ichikawa and Hara [17] proposed a multi-robot coverage behavior that emerges
from simple obstacle avoidance for large number of robots. Their approach is simple,
does not guarantee full coverage, and the same area is covered multiple times.
Wagner et al. [18] use robots that employ traces to mark the covered areas in a
biologically inspired approach termed ant-robotics. The environment is represented
as a graph where each node is a cell in a grid-world. Communication among agents
is done implicitly via the trace of pheromones each robot leaves. In later work [19],
both deterministic and probabilistic approaches where discussed. The deterministic
case used a depth-first-search algorithm and as such every place was covered twice
on average. Finally, the existence, or not of dirt was used as an implicit method of
communication in [20]. Menezes et al. [21] use pheromones simulations to disperse
the robots in a random fashion, thus achieving good coverage in the probabilistic
sense. Ant like robots were also used in [22]. Ge and Fua [23] proposed an algorithm
that reduces repeat coverage by ensuring that each robot leaves paths around the
obstacles and the area they cover. Another biologically inspired approach was used
by Bruemmer et al. [24] for covering an area using a swarm of small robots. The
complete coverage was determined by a human observer for different swarm sizes.
More recently, Batalin and Sukhatme [25] proposed two behavior based algorithms
for multi-robot coverage. The communication is limited to visual contact and the
robots disperse through the environment to ensure maximum coverage with no
guarantee for completeness. A physics base approach was introduced by Spears et al.
[26], where a swarm was modelled like a gas in order to sweep through a corridor.
Kaminka et al. [27–29] proposed a variety of algorithms for covering a grid-like
environment using a spanning tree in order to traverse the connectivity graph of a
grid representation of the free space. In their work, the issues of redundancy and robustness to robot attrition were considered. The environment to be covered could be
either known [27] or unknown [28]. Solanas and Garcia [30] addressed the problem
of first exploring an unknown space and then dividing the area to a number of cells
equal to the number of robots. A different version of the coverage problem involves
the coverage of the boundaries of free space. Williams and Burdick [31] proposed
an algorithm for solving the boundary-coverage problem using a graph structure.
Efficient Boustrophedon Multi-Robot Coverage
115
Finally, when the terrain is known, existing algorithms guarantee a performance of
at most eight times the optimal cost [32].
2.2 Market-based approach in robotics
Cooperation and task allocation among mobile robots is crucial in multi-robot
applications. To facilitate task re-allocation, a new methodology based on a market
economy has gained popularity. The main goal of this technique is to provide an
efficient mechanism for utilizing a variety of resources that are distributed among
multiple robots. There have been different variations of market-based schemes; for
a comprehensive survey, please refer to [4, 33]. The main idea behind most of them
is for one agent, either a robot or an operator, to put a task up for an auction. Then,
each of the robots “bids” with a value that can represent, in different cases, a cost or
an utility gain for that robot. The auctioneer collects all the bids and then awards the
task to the robot that had the “best” bid. In our case, we are using the estimated cost
for moving to a cell and covering it; the auctioneer thus is awarding the task to the
robots with the least cost, see Section 4.3. Different variations exist with respect to
the number of tasks that an agent can bid for, combinations of tasks or one task per
robot, or the ability to incorporate constrains, such as sequencing requirements, into
the bids.
Market-based approaches have been used to solve the multi-robot task allocation
problem [34] in the domains of exploration [35, 36], failure/malfunction detection
and recovery [37], box pushing [38], and also for more complex tasks [39].
2.3 Boustrophedon/Morse decomposition
To better describe the multi-robot coverage task, the following terms from single
robot coverage: slice, cell, sweep direction, and critical point [40, 41] are borrowed;
see Fig. 3. The Boustrophedon decomposition [5] is a type of Morse decomposition
where the slice is a line; the robot follows the intersection of the slice and the area
to be covered, thus allowing the robot to cover the area with vertical back and forth
motions. A cell is a region defined by the Boustrophedon decomposition where slice
connectivity is constant. Sweep direction refers to the direction in which the slice is
swept. Lastly, a critical point represents a point on an obstacle, which causes a change
in the slice connectivity. Thus, the free space is divided into regions (cells) of constant
connectivity, each of which can be covered with a vertical back and forth motion.
Critical points are further divided into four categories (as in Fig. 4a) based on
sweep direction and convexity/concavity of the critical points. The sweep direction is
relative to a robot, and can change during the process of coverage. A critical point is
characterized as convex/concave if it is introduced by the convex/concave region of
an obstacle, i.e., the convexity of the point where the slice contacts the obstacle; see
Fig. 4a for an illustration of convex and concave critical points. It is worth noting that,
if the sweep direction reverses, a forward convex critical point (FCV) would become
a reverse convex critical point (RCV). Concave critical points are also referred to as
terminating critical points. No forward concave critical points are ever encountered,
as by definition the sweep direction guides robots away from them.
116
I. Rekleitis et al.
Sweep Direction
Cell Boundary
Cell
slice
Obstacle
Critical Point
Fig. 3 Illustration of the terms borrowed from single robot coverage with a single robot and one
obstacle in the target environment. The robot is performing coverage with simple back-and-forth
motions
Another concept used here is the concept of a Reeb graph [41, 42]. A Reeb graph
is a graph representation of the target environment where the nodes represent the
critical points and the edges represent the cells; see Fig. 4b. Due to the nature of the
Boustrophedon decomposition, all concave critical points are connected to exactly
one cell, i.e., a node of degree one in the Reeb graph. Similarly, all convex critical
points are connected to exactly three cells, i.e., a node of degree three in the Reeb
graph.
(a)
(b)
C2
Sweep Direction
Reverse
Forward
C4
P2
P1
Convex
E2
C1
P3
E1
P4
E4
E3
Concave
C3
Cell Boundaries
Fig. 4 a Depiction of the four types of critical points, based on concavity and the surface normal
vector parallel to the sweep direction. ‘Forward’ indicates parallel sweep and normal vector directions, whereas ‘Reverse’ indicates opposite directions. Note that the shaded areas are obstacles and
the arrows represent the normal vectors. b Here a simple Reeb graph is overlaid on top of a simple
elliptical world with one obstacle. P1–P4 are critical points which represent graph nodes. E1–E4
represent edges which directly map to cells C1–C4
Efficient Boustrophedon Multi-Robot Coverage
117
Next, the multi-robot coverage algorithm for the restricted communication case is
presented.
3 Team-based multi-robot coverage algorithm
As mentioned earlier, all robots start in a horizontal formation; see for example the
five robots that started at the upper left corner of Fig. 5. Although the world is not
known a priori, we do assume a static environment of bounded dimensions.
The proposed algorithm is based on two main ideas. First, during the coverage
of a single cell, the boundaries of the cell are covered by two robots. These robots
follow the top and the bottom boundary, with the same lateral speed, until they are
either no longer within line of sight of each other, or their distance becomes less
than a safety threshold. We refer to these two robots as explorers to distinguish them
from the rest of the team, termed coverers, which just cover the free space. The two
explorers use any break in the line of sight to detect critical points and thus determine
the termination of the cell. The line of sight has already been successfully used as an
extended sensor by a number of different authors [43–45]. It is worth noting that
prior work in single robot coverage actually had to rely on sophisticated obstacle
detecting motion strategies to determine the location of critical points; now because
multiple robots are used, simple wall following allows for critical point detection.
Second, in order to maintain the cohesiveness of the team and to avoid redundant
coverage, our approach allows the team of robots to divide in two sub-teams only
once. When an obstacle induces a convex critical point that terminates the current
cell and introduces two new cells, for example, the point P2 in Fig. 4b, then, the
team of robots is allowed to split into two sub-teams. The two sub-teams cover only
the cells adjacent to the obstacle that caused the split until the two sub-teams meet
again and rejoin into a single team. Each of the two sub-teams requires at least two
robots for top and bottom cell-boundary exploration. Thus, the algorithm we present
requires a minimum of four robots. After the two sub-teams have rejoined into a
single team, if they encounter another convex critical point with two uncovered cells
attached, then the team will split again.
For the team-based coverage algorithm, the following terminology is also used:
union cell, top cell, bottom cell, and complete and incomplete critical points; Fig. 6
illustrates these definitions. The union cell is defined as the cell pointed to by the
normal vector at a convex critical point. Without loss of generality, we consider a
horizontal, from left to right, sweep direction. The other two cells associated with a
convex critical point are relative to the global reference frame and are defined as the
Fig. 5 Illustrates the
explorer/coverer approach,
where two robots explorers
outline the top and bottom
boundaries while the
remaining robots (coverers)
execute simple back-and-forth
coverage
Explorer Top
Coverers
Target Cell
Explorer Bottom
118
Fig. 6 Depicts cell naming
adjacent to two forward
convex critical points (FCV1,
FCV2). The union cell is
pointed at by the critical point
normal and the top cell and
bottom cell are above and
below the critical point
respectively. The dashed lines
represent cell boundaries.
Note that Cell C is both the
union cell of FCV1 and the top
cell of FCV2
I. Rekleitis et al.
Top
Cell
FCV1
Bottom
Cell
Cell C
Union
Cell
Top
Cell
FCV2
Union
Cell
Bottom
Cell
top (higher y-coordinate) and bottom (lower y-coordinate) cells respectively. Note
that cell naming is relative to a critical point; therefore, a cell may have different
names with respect to different critical points. A critical point is characterized as
complete if all of the cells adjacent to it are completely covered; otherwise, the critical
point is referred as incomplete.
The team, or the divided sub-teams, covers the cells, one cell at a time, and the
Reeb graph determines which cell to cover next. The overall algorithm is depicted
in Fig. 7a and described in detail in the following sub-sections. Initially, the robots
cover the starting cell as one large team, using the “Cover a Single Cell” algorithm;
see Fig. 7a, simultaneously creating a cellular decomposition and the corresponding
Reeb graph. After a cell is covered, the team proceeds to the closest critical point
with uncovered cells, the “Go to Closest Incomplete Critical Point” block in Fig. 7a.
We call that goal critical-point “target critical point”. If no such critical point exists,
the space has been fully covered and the algorithm terminates.
As we saw earlier, the number of cells connected to a critical point must be exactly
one (concave) or three (convex). Also, every known critical point is adjacent to at
least one covered cell, namely, the cell at the end of which the critical point was
discovered. Therefore, the target critical point, which is incomplete, has to be convex
and has one or two uncovered cells attached to it. If the number of uncovered cells
at a target critical point is one, the team invokes the procedure to cover a single cell,
“Cover Single Cell”.
If the target critical point is forward convex (FCV), the entire team proceeds to
cover the union cell; see Fig. 6. However, if the target critical point is reverse convex
(RCV), the team splits into two sub-teams and starts covering the cells adjacent to the
obstacle that introduced the critical point. One sub-team covers cells in a clockwise
fashion around the obstacle. Conversely, the other sub-team covers cells in a counterclockwise fashion. This is the only case where a robot team splits into sub-teams. The
encircling process further guarantees that the two sub-teams will meet again; see
Fig. 7b. After the two sub-teams have rejoined, if they encounter another RCV, they
would split again. The main constraint in the proposed algorithm is that a sub-team
would never split.
After rejoining, the two sub-teams update their internal representations (Reeb
graphs). Then, the unified team travels to the closest incomplete critical point according to their merged Reeb graphs. This continues until no incomplete critical points
Efficient Boustrophedon Multi-Robot Coverage
119
Start
Cover a
Single Cell
(with
explorers)
Legend:
TCW : Team Clockwise
TCCW: Team CounterClockWise
TCP : Target Critical Point
Encircle
Start
Go to Closest
Incomplete
Critical
Point
No more incomplete
critical points
TCCW
Go to
Other
Critical
Point
1
Go Counter
ClockWise
Cover
Done
# of
Uncovered
Cells
Concave
TCP?
Yes
TCW/
TCCW?
TCW
Go
ClockWise
No
TCCW
TCW/
TCCW?
Go Counter
ClockWise
Rejoin
2
Yes
TCW
Done
Go to
Union
Cell
FCV
Rev/Fwd
Convex?
(a)
RCV
Encircle
(and Rejoin)
No
Target Cell
Covered?
Go
ClockWise
(b)
Fig. 7 a Illustrates the top level of our algorithm. Team splitting and rejoining only occurs in the
Encircle state, which is delineated with a thick border to show that is has its own sub-diagram.
b Illustrates the Encircle procedure. While travelling if a sub-team encounters, either a concave
critical point, or the other sub-team, then the two sub-teams exchange information and rejoin into a
single team
exist, which implies all cells have been covered. The following sections describe the
major parts of the team-based algorithm.
3.1 Cover a single cell
Cover a Single Cell is the fundamental primitive behavior of our algorithm. As we
saw earlier the robots act as explorers or, as coverers. The first two robots to enter
the cell are designating as explorers. The roles of the explorers are to detect critical
points, to cover the boundaries of the cell, and to facilitate rejoining. The coverers
extend the normal back-and-forth sweeping technique, see Fig. 3, from single robot
coverage into a group behavior.
First, we present some terminology; see Fig. 5. Target cell refers to the current cell
being covered. Top explorer refers to the first robot to enter the target cell, which
explores the top boundary of the cell; bottom explorer refers to the second robot
which explores the bottom boundary. Coverers is the collective term that addresses
any remaining robots.
Upon entering the target cell, the two explorers wall-follow along the top and
bottom cell boundaries respectively maintaining the same lateral speed thus guaranteeing line-of-sight communication within the cell. Simultaneously, the coverers
120
I. Rekleitis et al.
move in the target cell, as space permits, and begin simple back-and-forth covering;
see top of Fig. 5. Figure 8 presents examples of the different types of critical point
detection by the explorers. In all cases, the simulation package Player/Stage [46]
was used to illustrate the different scenarios. The explorers continue wall-following
until one of these two situations occurs: either the line-of-sight is broken—thus a
convex critical point is detected; see Fig. 8a, d, and Fig. 8b, e—or the explorers
approach each other, resulting in the detection of a reverse concave critical point; see
Fig. 8c, f.
When the line of sight is interrupted then a critical point is detected. If just prior to
the interruption one of the robots travelled opposite to the sweep direction, a forward
convex critical point was detected, as in Fig. 8a, d; otherwise, a reverse convex critical
point was detected, as in Fig. 8b, e. In both situations, the explorers retrace their steps
until the line of sight is once again restored. The bottom explorer then proceeds
to travel vertically upwards until it joins with the top explorer. Note that in both
situations a robot will pass by the detected critical point, allowing its position to be
recorded.
When the bottom explorer is next to the top explorer, the explorers proceed to
cover the cell with simple back-and-forth motions, sweeping opposite to the sweep
direction; see Fig. 9a. In this manner, the coverers and explorers are moving toward
each other, ensuring they will meet.
In the second situation, where the two explorers approach each other
(Fig. 8c, f), the top explorer backs off and allows the bottom explorer to wallfollow the remaining unknown surface. If a reverse concave critical point is found,
(a)
(b)
(c)
(d)
(e)
(f)
Fig. 8 Illustrates all the environmental possibilities explorers encounter. The top row (a, b, c)
presents the environment in the Stage simulation package with the robots at their starting positions;
the bottom row (d, e, f) presents the robot traces. a, d, b, e For convex critical points, losing line-ofsight signals the end of a cell. c, f Two explorers approaching each other marks a reverse concave
critical point
Efficient Boustrophedon Multi-Robot Coverage
121
Etop
Coverers
Explorers
(a)
Ebottom
(b)
Fig. 9 a Shows explorers covering opposite the sweep direction after encountering a critical point.
b Illustrates the second situation, when the remaining surface reveals a corridor where only one
explorer can fit
it is recorded and the explorers pair up to cover in the opposite direction as in the
previous situation.3
3.2 Encircle
Every time an obstacle introduces a reverse convex critical point, there are exactly
two cells to be covered. For example, in Fig. 10a, seven robots cover Cell A;
they encounter a reverse convex critical point; thus, two new cells, B and C, are
introduced. Our algorithm covers the cells that are adjacent to that obstacle by
splitting the team of robots into two sub-teams. The overall goal of the encircle
stage is to take advantage of the finer granularity of smaller teams by splitting a
larger team while ensuring that no cell is going to be covered twice due to the lack of
communication/coordination between sub-teams (line-of-sight limitation).
Executing an encircle action splits the team into two sub-teams (Fig. 10a). Provided that each sub-team has a minimum of two robots, any partition is acceptable.
A reasonable heuristic is to allocate robots proportional to the distance from the
critical point to the top and bottom boundaries. As mentioned earlier, our team of
robots splits only once; when the two sub-teams rejoin, they continue coverage as a
single team, and only then they can split again. Thus, a sub-team never splits.
We name the two sub-teams team-clockwise and team-counter-clockwise because
the sub-teams cover the cells around the obstacle in opposite directions. For both
sub-teams, if the target cell is already covered, sub-teams travel to the opposite
critical point4 without covering, executing the procedure Go to Other Critical Point,
and the algorithm continues. The two sub-teams cover around the obstacle in
opposite directions until one of the following two terminating conditions are met:
•
Case 1: The two sub-teams encounter each other, i.e., establish line-of-sight
communication, within a cell. The two sub-team rejoin and then proceed to
jointly finish covering the remainder of the cell in which they found each other.
3 It
is worth noting that there is special case when the remaining surface revealed an opening to a
traversable corridor; see Fig. 9b. In such case, both robots would move inside the narrow corridor
one after the other and continue exploring as soon as the space is wide enough, or find a terminating
critical point.
4 Note
that all cells have exactly two bounding critical points by the nature of the Boustrophedon
decomposition.
122
I. Rekleitis et al.
A
RCV
Coverers
FCV
Explorers
B
A
B
C
CW
FCV
CCW
FCV
F
E
D
FCV
C
Coverer
(a)
Explorers
RCV
(b)
Fig. 10 a Shows two sub-teams encircling an obstacle. The thick dashed lines represent cell boundaries and the thin dashed lines represent slice boundaries. b Illustrates the clockwise and counterclockwise paths taken during the encircle action. The double-headed arrows represent the sweep
direction, white for clockwise, black for counter-clockwise. The single black arrows represent critical
point normal vectors and forward convex (FCV) / reverse convex (RCV) critical points are labelled
appropriately for a clockwise path. Cell boundaries are represented by vertical dashed lines. A
clockwise path would travel through the cells A through F alphabetically, while a counter-clockwise
path would travel through the cells in the reverse order [F,. . . , A]
•
Case 2: One sub-team encounters a concave (terminating) critical point. This
terminates one branch of the Reeb graph and the sub-team backtracks. The
robots of this sub-team travel through the cell(s) they had already covered, in
the direction opposite to the original direction (clockwise if counter-clockwise
and vice versa), counting all encountered cells as covered, until they reach the
other sub-team. We call this sub-team terminated.
It is important to note that the terminated sub-team does not cover before
rejoining the other sub-team. Instead it follows the boundary of the obstacle being
encircled. Similar to Case 1, once the line of sight is established and the two subteams rejoin, they cooperatively cover the target cell and conclude the encircle
process. Next we briefly discuss the two procedures, Go Clockwise (GCW)/ Go
Counterclockwise (GCCW), which guide the two sub-teams around the obstacle.
The two procedures GCW and GCCW are deterministic algorithms that guide the
two sub-teams to cover the cells adjacent to a single obstacle. That obstacle is the one
that introduced the critical point that forced the split. The team moving clockwise
(GCW) follows a right-hand rule and every time selects the adjacent cell that has
the obstacle to the right, when facing toward the sweep direction. For example,
in Fig. 10b, the team going clockwise after covering cell A proceeds to cover cell
B, which is the cell that keeps the obstacle at the right side with respect to the
sweep direction. If the team continues and has to cover the cells below the obstacle,
for example cell D, the sweep direction is now from right to left thus the obstacle
remaining on the right-hand side. Ignoring the terminating conditions, the team
moving clockwise in Fig. 14 would cover the cells A,. . . , F in order. The team moving
counterclockwise follows a left-hand rule. The two sub-teams continue covering cells
until one of the terminating conditions that we discussed earlier occurs. When the
two teams establish line of sight they rejoin to a single team.
Efficient Boustrophedon Multi-Robot Coverage
123
Next we examine the advantages and disadvantages of the use of explorers during
team-based coverage.
3.3 Explorer/coverer discussion
In the case of restricted communication, there are clear benefits to an explorer/
coverer split approach within a cell. Covering both the top and bottom boundaries
simultaneously ensures complete coverage of the boundaries without the need for
elaborate motion strategies such as the reverse wall-following Acar and Choset
proposed in [41]. Line-of-sight communication enables the robots to detect critical
points at a distance. Furthermore, in the case of two sub-teams covering from
different ends of the same cell, the explorers enable both sub-teams to rejoin earlier,
and simplify coordination.
Outlining the region also leaves coverers more space to turn. This space permits
robots to take wider, more gradual turns, thus increasing the maximum acceptable
speed. In other words, a wider turn can be executed safely at a higher speed than
a sharp turn. An appropriate analogy would be outlining before filling regions in a
coloring book.
Additional savings may be possible depending on robot configuration. For example, with homogeneous circular robots and the explorer/coverer technique, the
coverer robots need not even touch the obstacle to guarantee complete coverage.
They only need to come within a robot radius of the obstacle to wall-follow.
As for disadvantages, coverers will still generate repeat coverage by overlapping with some regions previously covered by the explorers. Furthermore, the
explorer/coverer approach requires line-of-sight communication and introduces a
considerable amount of complexity. However, we believe the advantages are well
worth the cost of such complexity.
Finally, when the cells are small, and the whole team does not fit inside them, the
robots have to wait, thus reducing the efficiency. Such disadvantages disappear when
unrestricted communication is available.
3.4 Completeness
From the described algorithm. Any environment is decomposed into exact cells
using the Boustrophedon cellular decomposition. There are a finite number of cell,
encoded as edges of the Reeb graph. Every cell is accessible by any other cell by
following the Reeb graph. The team of robots never covers a cell twice. The team of
robots continues covering on cell at a time until all cells are covered.
Lemma 3.1 The proposed algorithm always terminates.
Proof Let us assume that the algorithm does not terminate.
Then, the team of robots after finishing (in finite time) covering some cells, they
will have to attempt to cover an already covered cell. A contradiction with the
algorithm description.
⊓
⊔
Lemma 3.2 The proposed algorithm performs complete coverage.
124
I. Rekleitis et al.
Proof Let us assume that the algorithm terminates without covering an accessible
area.
The not-covered area is either part of a cell, or a complete cell.
If the not-covered area is part of a cell then that means that the team of robots
interrupted coverage, a contradiction to the description of the algorithm.
If the not-covered area is a complete cell, then the robots would move, via the
Reeb graph, to cover it next, as it is accessible and marked as not covered in the
Reeb graph.
⊓
⊔
4 Distributed multi-robot coverage algorithm
In this section, we present the first efficient algorithm for guiding a group of
robots performing complete coverage of an unknown environment with exact celldecomposition with set boundaries. The robots do not alter the environment and
communication among them is unrestricted. The robots spread out, and each one
is assigned an area to cover; this area is called a stripe; see Fig. 11b. The proposed
algorithm operates under the assumption that the team of N robots has to cover
a bounded area of known dimensions. The height h and the width w of the area
to be explored are provided to the robots. Consequently, each stripe has height
h and width ws = w/N. Our approach consists of two behaviors: exploration and
coverage. The robots initially try to trace the outline of the areas assigned to them
in order to become more knowledgeable about the general layout of the free space.
The connectivity of the free space is recorded in a graph that consists of the Reeb
graph augmented with extra vertices, termed Steiner points.5 The Steiner points
are introduced to the Reeb graph at the beginning, and they are placed at the
boundaries of the assigned stripes for each robot. The edges of the graph represent
areas of accessible, unexplored space, and each edge belongs to a robot. During the
exploration phase, the robots exchange information; if the stripe a robot was assigned
is not fully explored, then that robot calls an auction for the task of exploring the
remaining area of that stripe. When an area is explored, the robot that owns it,
proceeds to cover it using a single-robot coverage algorithm [41].
4.1 Cooperative exploration
During the exploration of the stripe boundary, the robot uses the cycle algorithm
developed in single-robot Morse Decomposition [41]. The cycle path is a simple
closed path, which mean that, when executing the cycle algorithm, the robot always
comes back to the point where it started. This same cycle algorithm is used for both
exploration and coverage. Before describing the cycle algorithm, we need to define
two terms: lapping and wall following. Lapping is the motion along the slices while
wall following is the motion along obstacle boundaries. A simple cycle algorithm
execution will consist of forward lapping, forward wall following, reverse lapping,
5A
point that is not part of the input set of points is called a Steiner point (http://www.nist.gov/dads/
HTML/steinerpoint.html).
Efficient Boustrophedon Multi-Robot Coverage
125
stripe boundaries
critical point
steiner point
Forward wall
Following
Reverse
Lapping
Forward
Lapping
Reverse wall
Following
S
Initial Augmented Reeb Graph
(a)
E
(b)
stripe boundaries
stripe boundaries
critical point
critical point
steiner point
6
2
4
4
3
3
5
5
1
1
2
S
steiner point
6
2
6
1
2
S
E
Augmented Reeb Graph After Initial Exploration
(c)
1
3
6
4
5
E
Final Reeb Graph After Exploration is Complete
(d)
Fig. 11 a A simple cycle path consisting of forward lapping, forward wall following, reverse lapping
and reverse wall following. b Simple environment with initial Augmented Reeb Graph. c Initial
exploration of stripes. d The final Reeb Graph after exploration is complete
and reverse wall following, as shown in Fig. 11a. This is sufficient for exploring the
stripe boundary.
To explain the cooperative exploration algorithm, we will look at an example.
Figure 11b shows an unknown space with a single obstacle divided into six stripes.
The Reeb graph of each robot is initialized with two critical points, labelled as Start
and End, and five Steiner points representing stripe boundaries.
The robots access their respective stripes and perform initial exploration using
the cycle algorithm. During exploration, the robots modify their knowledge of the
environment by updating the Reeb graph as they discover critical points and new
information about Steiner points. After completing a cycle, each robot shares its
updated partial Reeb graph with the rest of the robots. At the end of the initial
exploration, the updated global Reeb graph is as shown in Fig. 11c.
During the exploration phase, some robots will detect that there are spaces in
their stripe that they are not able to reach by moving only inside their stripe. These
robots will formulate the unreachable portion of the stripe as an auction task and
then call an auction to re-allocate the unreachable part of their stripe to other
robots. In this manner, cooperative exploration is achieved. Figure 11d shows the
completed Reeb Graph after exploration is complete. When the boundaries of a
126
I. Rekleitis et al.
stripe are fully explored, the Steiner points are replaced with the actual critical points
and edges that represent the current knowledge of free space. Robots that do not
have any exploration task can start performing partial coverage of known stripes
in order not to waste time. Coverage of a cell is considered an atomic task; thus, a
robot that has started covering a cell would finish covering it before starting another
task. The global Reeb graph is updated to represent the increased knowledge of the
environment.
4.2 Cooperative coverage
After all the stripe boundaries are completely explored, the Reeb graph is updated
to represent the connectivity of free space. Even though the inside of each stripe
is unknown, the cell connectivity across the stripes is known. Cells that span across
the stripe boundaries are divided into two or more, and each cell or partial cell is
owned by the robot that explored it or to the robot that won an auction for covering
that cell. Therefore, no two robots can start covering the same cell, thus avoiding
repeat coverage. The environment is fully represented by the Reeb graph; hence, it
is decomposed into a set of connected cells, the union of all cells will represent the
free space, and all free space is allocated to the robots. Next, the robots proceed to
cover the cells under their charge. Coverage of a single cell is performed using the
single robot Morse Decomposition algorithm. While a robot covers an area which
is considered a single cell, with the current level of information, obstacles can be
discovered. The discovery of obstacles in what was considered a single cell is treated
as a single robot coverage task, and the robot responsible for that area, now no more
a cell, continues the coverage updating on the fly the Reeb graph and broadcasting
the information to the other robots. If there is a robot that is without a task or has
completed its coverage task, it calls an auction to offer its service to the other robots.
If all the robots have completed their cell coverage, and there are no uncovered cells
in the Reeb graph, then the robots return to their starting positions and declare the
environment covered.
4.3 Auctioning tasks
A simple auction mechanism is used to investigate the feasibility of auction to enable
cooperation among robots. At any auction, a single task is auctioned out. In general,
the auction mechanism operates as follows: (a) A robot discovers a new task—e.g. an
unexplored part of its stripe or a cell far from the robots current position that needs
to be covered. (b) The robot calls an auction for that task with an initial estimated
cost; the robot calling the auction is called the auctioneer. (c) Other robots that are
free to perform the task at a lower estimated cost, bid for the task. (d) When the
auction time ends, the auctioneer selects the robot with the lowest bid and assigns
the task. The winning robot adds the task into its task list and confirms that it accepts
the task by sending an accept-task message back to the auctioneer. The auctioneer
deletes the auction task, and the task auction process concludes. As stated in the
previous sections, auction is used in two separate ways: for cooperative exploration
and for cooperative coverage.
During exploration, a robot can encounter a situation where the stripe it is
exploring is divided into two (or more) disconnected parts because of an obstacle;
Efficient Boustrophedon Multi-Robot Coverage
127
see for example the second stripe from left in Fig. 16c. The robot starts with forward
lapping, encounters the obstacle, and performs wall following. The wall following
behavior brings it to the stripe boundary associated with reverse lapping. As a result,
the robot infers that there is an unreachable part of the stripe from the obstacle
to the top boundary, which was given to the robot at the beginning. At this point,
it will formulate a new stripe-to-be-explored task and calls an auction for this new
exploration task.
Please note that the robots generally do not have sufficient information to know
accurately the cost of performing the exploration task. It can only estimate the cost
based on the available information. Cost is the only parameter that decides the
winning robot, and it is thus the factor that determines the quality of cooperation.
The estimation of the cost can be potentially a complex function of many variables
such as the time spent, fuel expended, priorities of the task, and the capabilities of
the robot.
For this investigation, the task cost for the bidder is estimated based on two components: (a) access cost, based on the bidder’s estimated current end-point—
the point where its currently executing atomic task will end—which is the shortest
Manhattan distance to access the new stripe; (b) exploration cost, assuming that the
robot can access the desired point in the stripe, exploration cost is the minimum
distance that the robot needs to travel in order to explore the stripe completely;
as parts of the stripe could have already been explored, the starting point of the
exploration could result in different costs for different robots.
When an initial estimate of the cells is available, i.e., exploration is complete, the
robot that has explored a cell is initially responsible for covering it. A robot without
any tasks will also offer its service by calling an auction. Any robot that has extra
cells, less the cell that it is currently covering, will offer one of the cells, based on the
auctioneer’s position. The robot auctioning its services will use the estimated distance
to access each cell as a selection criteria if there are more than one cell on offer.
It is worth noting that, depending on the environment, tasks obtained from Morse
Decomposition can be quite coarse. As such, while one robot covers a large cell,
other robots, after finishing their tasks, could be idling. The performance of the multirobot system will be improved if the idling period can be reduced or eliminated. In
the next section, we examine an alternative algorithm that decomposes the covering
problem to smaller tasks shared among the robots; each task corresponds to a smaller
coverage area (two slices).
5 Finer granularity distributed coverage algorithm
When communication is unlimited and the robots are distributed in space, the size
of the area each robot covers, in an atomic action, defines the granularity of the
algorithm. In the previous section, we presented an algorithm that uses the cells
resulting from the Boustrophedon decomposition [8, 41], to assign tasks to the robots.
At the other extreme, one can decompose the area using a grid-based decomposition
and thus represent the area using a fine resolution occupancy grid. In this case, the
task would be for the robots to move over all the unoccupied grids [27, 32]. One
logical grid resolution will be size of the robot, as reaching the centroid of the grid cell
implies the coverage of that cell. However, besides the problem of partially occupied
128
I. Rekleitis et al.
grid cells, the coverage paths of multiple robots are also difficult to coordinate and
optimize. We believe that using such a fine grid granularity is not an efficient way to
decompose the coverage task for multi-robot systems.
In this section, we present a new algorithm, which decomposes the coverage
problem into finer resolution tasks than the algorithm described in the previous
section. These tasks are “big” enough for a robot to perform uninterrupted for a
period of time, yet “small” enough so no robot remains idle while other robots are
busy covering a large area. In particular the area is decomposed into fixed width cells;
the height of each cell is determined by the boundaries of the area to be covered or by
obstacles, and the width of each cell is twice the width of the robots footprint. Thus
each cell can be covered by an atomic “cycle algorithm” behavior. This algorithm
was used in the previous section during exploration and is illustrated in Fig. 12a, it
consists of a simple up and down motion. The robots again are distributed as in Fig. 2,
but each robot is just assigned a single cell and not a full stripe. The adjacency graph
is used to represent the decomposition of free space. The adjacency graph is of finer
resolution than the Reeb graph, and it is conceptually its dual. As such, the nodes in
the adjacency graph represent the small two-slice cells, and the edges represent the
connectivity. At each node the coordinates of the four corners of the cell are being
stored together with a label indicating if the cell is covered or not. In general, each
robot after covering a cell updates its internal representation of the adjacency graph,
broadcasts the information to the other robots, then, selects the closest uncovered
cell relative to its current position and inform the other robots for the selection.
Consequently, the robot moves to the selected cell and starts covering again. Please
note, in this section the term cell is used as defined above and is different from the
definition of the previous sections.
5.1 Cycle algorithm—coverage and detecting changes in connectivity
As we saw in Section 4 the cycle algorithm, proposed by Acar and Choset in [41],
consists of lapping and wall following. The difference between [41] and the proposed
algorithm is that the robot will not look for Critical Points. Instead, each robot will
determine, by the presence of obstacles, if the cell being covered is divided into
C
A
A
E
B
B
G
G
D
F
C
E
G
H
H
I
J
K
A
D
E
B
I
J
K
A
D
E
B
C
I
A
(a)
E
H
B
C
I
K
I
K
G
G
A
F
D
F
H
D
J
G
H
F
C
D
E
B
J
H
I
C
F
F
(b)
(c)
Fig. 12 a Cellular Decomposition with fixed size cell width. The arrow line shows the path that the
robot will take to cover the next cell. On top is the Adjacency Graph representation. b A different
environment, adding new cells to the model after completing the coverage of cells (A), (B) and (C).
c The model of the entire area of b when the algorithm completes
Efficient Boustrophedon Multi-Robot Coverage
129
disconnected parts. There are 3 possible scenarios, as can be seen in Fig. 12b, that
can occur while the robot is executing the cycle algorithm:
•
•
•
Cell with no obstacles The robot performs the forward and reverse phases
without meeting any obstacle. Therefore the robot concludes that the current
cell coordinates are correct and updates the graph to indicate that the cell is
covered, e.g. cell (A) in Fig. 12b. In addition, the covering robot can also infer
that the adjacent cells will have the same height as the current cell. As such, if
the new cells are within the area to be covered, and they are not already in the
graph, they can be added to the adjacency graph. For example, in Fig. 12b, the
cell (D) is added to the right of cell A by the first robot. The current cell (A) and
the new cell (D) are connected on the graph. The updated graph is shared with
the other robots in the team.
Cell with obstacles blocking part of the cell’s width The robot encounters
an obstacle partially obstructing its lapping path while performing forward or
reverse phase. At the obstacle’s location, the robot uses its sensor to determine
that the obstacle is blocking only part of the cell’s width, e.g., cell (B) in Fig. 12b.
After passing the obstacle, the robot will record its location. Then, the obstacle’s
location will be used as the starting point of the adjacent cell to be added later.
The robot continues the coverage of the cell. At the boundary of the bounded
area, the robot updates the state of cell (B) to covered, and adds cells (E), (F),
and (G) to the graph.
Cell divided by obstacle The robot encounters the obstacle during the forward
phase. By following the obstacles boundary, the robot moves laterally one cell
width. This means that there is an obstacle dividing the cell into two disconnected
parts. At the end of the cycle algorithm, the robot updates the state and the size
of the current cell, and adds one or two new cells to the adjacency graph. For
example, in Fig. 12b, the new cells (H) and (I) added are assumed to have the
same height as the current cell (C).
After covering their current cell, each robot will select the closest uncovered cell
from the adjacency graph, and will continue coverage. If the closest uncovered cell is
not adjacent, the robot would move through the covered space via the shortest path.
When a new cell is added to the adjacency graph, the dimensions of the new cell
are assumed to be similar to the current cell if no obstacles are detected. If obstacles
are present, the dimensions of the new cell are considered to be limited by the robot’s
perception of the obstacle’s location and size. For example, in Fig. 12c, the heights of
cells (H) and (I) are considered to be the same as cell (C) from the second robot’s
point of view. Therefore, the robot must be able to rectify any wrong assumptions
that were made when the cells were first added to the graph. More analytically, after
the complete coverage of cell (C), cell (I) is added with a smaller height than actual.
Let us assume that the robot moved then to cover cell (I). When the robot reaches
the obstacle at cell I, the robot is able to detect that the obstacle is only covering part
of cell (I)’s width. The Cycle Algorithm will bring the robot to the upper boundary
of the region, and, when the coverage is completed, the robot will be able to correct
the height of cell (I) and update the adjacency graph.
Furthermore, when adding a new cell, the robot may find that the cell was already
added. In that case, the position and dimensions of the current new cell may be
130
I. Rekleitis et al.
different from the ones already in the graph. The merging of information about the
versions of the same cell is handled as follows:
1. Information of a COVERED cell will be considered as accurate and final.
Therefore, information on a COVERED cell will take precedence.
2. If both the cells are in the UNKNOWN state, the information from the two cell
versions will be combined, and the final cell in the model will cover the same size
as the two cells. An example can be seen for cell (H) of Fig. 12c. The robot that
covered cell (C) will insert a new cell that is of the same size as cell (C), and the
robot covering cell (G) will insert a new cell that is of the same size as cell (G).
The final combined cell in the model will be the union of (C) and (G).
5.2 The cooperation mechanism of the robots
When a robot completes the coverage of a cell, the robot will broadcast the new
graph information to the rest of the team. Upon receiving the new graph information,
the robots will synchronize their own graphs with the new information. Therefore,
all members of the team have a common global picture of the state of the world.
Thus, they are able to coordinate their effort to complete the coverage in the shortest
possible time. In the event of attrition, the remaining team is able to continue with
the coverage without been affected. The loss of communication, however, will result
in repeat coverage.
6 Complexity for multi-robot coverage solutions
The task of multi-robot coverage of an unknown environment can be divided into
two stages: first, the exploration and partial coverage of the unknown environment
that results in the construction of the Reeb graph, and second, the collaborative
coverage of the remaining area that corresponds to the uncovered cells in the Reeb
graph. Even if there exists an efficient algorithm that provides the Reeb graph
required for the second stage, in polynomial time, or the Reeb graph is known, the
complexity of computing an optimal solution for the second stage is at least NPhard. In order to prove that the distributed coverage is at least an NP-hard problem
we show that a special case with reduced complexity is equivalent to the multiple
Traveling Salesman Problem (mTSP). First, two necessary definition and two lemmas
are presented. The TSP is defined using a set of points on a plane and the distances
between points, that is the traveling salesman can go from any point to any other
point. The equivalent notation of a complete weighted graph is used where the points
are vertices and the weight on an edge is equivalent to the distance between the two
points connected by the edge.
Definition 6.1 Traveling Salesman Path Problem (TSPP). Given a fully connected
weighted graph6 we want to find the shortest path that visits every vertex in the graph
exactly once.7
6A
fully connected graph is a graph for which every vertex is adjacent to every other vertex.
7 The TSPP differs from the classical TSP because the resulting path finishes at a different vertex than
the starting vertex.
Efficient Boustrophedon Multi-Robot Coverage
131
Lemma 6.2 The TSPP is NP-hard.
Proof We show that the Traveling Salesman Problem (TSP), a classic NP-complete
problem, can be reduced to TSPP using a polynomial transformation. Given a fully
connected weighted graph G =< V, E > of N vertices (see Fig. 13a for an example
of a five vertex graph), the TSP is defined as finding a minimal cost cycle that starts
at an arbitrary vertex vs , visits every vertex in the graph exactly once, and returns to
vs . To show the reduction, we create a new graph:
G′ =< V − vs , E − {es, j} : j = 1 . . . N, j = s >
that has the same vertices except of the starting vertex vs and it is still fully connected
(see Fig. 13b for an example where vs = V1). Then we calculate the TSPP in the
G′ N − 1 times starting at a different vertex every time. Let Pb e = [vb , . . . ve ] denote
the TSPP starting at vertex vb and ending at vertex ve (see Fig. 13c where P5 3 =
[V5, V4, V2, V3]) and wb e denote the total cost of Pb e . For every TSPP Pb e create a
new cost:
wb′ e = wb e + C(es,b ) + C(ee,s )
where C(ei, j) is the cost of traversing the edge ei, j (see Fig. 13d where C(e1,5 ) = C15
and C(e3,1 = C31)). From the N − 1 paths Pb e we select the one Pgl with the minimal
′
′
cost wgl
. The cycle [vs , vg , . . . , vl , vs ] has total cost wss = wgl
and is the solution to the
TSP in G.
If we could solve the TSPP in polynomial time, then for every start vertex vi in
′
G′ the TSPP solution Pik and the cost wik
for every cycle [vs , Pik , vs ] can be also
calculated in polynomial time. Thus the TSP is reduced to the TSPP in polynomial
time. As no polynomial solution to the TSP is known, the TSPP must also be
NP-hard.
⊓
⊔
Fig. 13 a A fully connected
graph with five vertices. b Let
the starting vertex be V1 . We
remove V1 and all the edges
the connect V1 with the rest of
the vertices in the graph. c
Estimate the TSPP starting at
vertex V5 (thick line) and the
cost from V1 to every other
vertex (V12,. . .,V15). d A
complete TSP tour
[V1,V5,V4,V2,V3,V1]
V1
V1
V5
V2
V5
V3
V4
V2
V3
V4
(a)
(b)
V1
C15
C14 C13
V5
V1
C15
C12
V2
V3
V4
(c)
C13
V5
V2
V3
V4
(d)
132
I. Rekleitis et al.
e2
V2
e’5
e1
e3
V1
e’2
e8
V8
V9
e11
V3
e6
e12
V’4
V’3 e’8
e’6
V10
e9
V’5
e’7
V’10
e’4
e10
e4
e5
e’3
V’7
V’1
V7
e7
V4
V’2
e’1
V5
e’11
V’8
e’9
e’16
e’19
e’15
e’13
V’9
e’17
e’18
e’10 e’12 e’14
V6
V’12
e’20
V’11
V’6
(a)
(b)
(c)
Fig. 14 a The cellular decomposition of an environment. b The corresponding Reeb Graph G =<
V, E >. c The line graph of the graph G (L(G) =< V ′ E′ >)
Definition 6.3 Multiple Traveling Salesman Path Problem (mTSPP). Given a fully
connected graph with N vertices and k starting vertices (k ≤ N) we want to find k
paths such that every vertex in the graph appears in only one of the paths exactly
once and the highest cost is minimized.
Lemma 6.4 The mTSPP is NP-hard.
Proof We show that the Traveling Salesman Path Problem (TSPP) can be reduced
to mTSPP using a polynomial transformation. Given a fully connected graph G =<
V, E > of N vertices with a cost function C(vi , v j) for every edge ei, j and a starting
vertex vs , we create first a new graph G′ =< V ′ , E′ > that contains k copies of G.
j
V ′ = [V1 , . . . , Vk ] and Vi : i = 1 . . . k is a copy of V. Every vertex vi ∈ Vi is a copy
′
of the j th vertex of V. E = [E1 , . . . , Ek , Ebr where Ei : i = 1 . . . k is a copy of E,
j
and Ebr is a set of bridging edges that connect every vertex vi ∈ Vi with every vertex
q
vl ∈ Vl for i = l. More formally:
e jq ∈ E if i = l
′
i
l
e = [v j, vq ] = il
e jq ∈ Ebr if i = l
The new graph G′ is fully connected. The edges between vertices of the same subgraph Gi maintain the cost they had in G and the cost of the bridging edges is a very
large number Cmax The cost function C′ (vi , v j) is then:
C(e jq ) if i = l
′ j q
C [vi , vl ] =
Cmax if i = l
G′ is then a fully connected graph whose construction is done in polynomial time.
Let the set of starting vertices for the mTSPP be vsi : i = 1 . . . k. Due to the
extremely high cost Cmax of the bridging edges between sub-graphs, the bridging
edges would never be selected in the minimum-cost path; thus, each one of the
k TSPP solution paths Pik : i = 1 . . . k would contain only edges and vertices that
belong to the same sub-graph as the starting vertex. If there was an optimal solution
of polynomial complexity to the mTSPP then the optimal path of a single sub-graph
would be the optimal solution to the TSPP. From Lemma 6.2, TSPP is NP-hard thus
mTSPP must also be NP-hard.
⊓
⊔
Efficient Boustrophedon Multi-Robot Coverage
133
Theorem 6.5 Finding a minimum-cost path solution to the distributed multi-robot
coverage problem as stated is at least NP-hard.
Proof Let us assume that every cell has the same size; therefore, only the path
travelled to visit each cell is affecting the cost. The problem then is reduced to finding
the minimum cost (shortest) path each robot must follow in order for all the cells to
be visited exactly once.
Given a Reeb graph G =< V, E >, let G′ = L(G) be the line graph8 where every
cell corresponds to a vertex vi′ : i = 1 . . . M. Without loss of generality we consider the
upper left point of each cell as the location of the corresponding vertex of the line
graph. We augment the line graph G′ =< V ′ , E′ > with extra edges such that every
vertex is connected with every other vertex; thus G′ becomes fully connected. Each
edge ei′ = vk′ vl′ is assigned a weight wi that is proportional to the shortest path through
free space that connects the corresponding vertices (vk′ , vl′ ). The complexity of
assigning the shortest path weights is at worst O(N 2 MlogM)9 where N is the number
of graph vertices and M is the number of vertices in a polygonal approximation
of the obstacles. Therefore, the complexity of computing all the pairwise shortest
paths is polynomial. Finding the minimum-cost path in the fully connected graph for
N robots involves solving the multiple Traveling Salesman Path Problem discussed
above, which is NP-hard. Therefore, finding an optimal solution to the multi-robot
coverage problem is NP-hard.
⊓
⊔
In the next section, we present experimental results from different real and
simulated environments employing the different algorithms described in this paper.
7 Experimental results
Numerous experiments were conducted for a variety of environments using the
robotic simulation package Player/Stage [46, 49] and for different number of robots. Moreover, experiments were conducted using two Pioneer 3AT robots in an
underground garage. Next, we briefly present the software architecture used for our
implementation; then, we discuss the results from the different algorithms.
7.1 Architecture
For our implementation we adopted a highly distributed system architecture because
it can quickly respond to problems involving one or several robots, and it is more
robust to point failures and also to the changing dynamics of the system. Our
architecture is based on the layered approach that has been used for many singleagent autonomous systems [50, 51]. We are employing two layers for each robot
instead of the traditional three layers: planning and behavior. The upper layer
8 A line graph G′ = L(G) =< V ′ , E′ > of another graph G =< V, E > is a graph with a vertex v ′ for
i
every edge ei of G, and two vertices vi′ , v ′j are connected iff ei , e j are adjacent [47] (see Fig. 14b, c).
9 During
the exploration, the boundaries of the obstacles could be mapped using a polygonal
approximation with M vertices. The complexity of finding the shortest path for any two points in
the free space is O(MlogM) [48] and there are N(N − 1)/2 paths to be calculated.
134
I. Rekleitis et al.
consists of the processes Planner and Model and the lower layer of the process Behavior. The process Model maintains the Reeb graph and any other data-structures,
e.g. local maps that model the environment. The Planner process implements the
Morse Decomposition, auction mechanism, task scheduling, and task monitoring
algorithms. The Behavior process serves the same function as in traditional layered
architectures, i.e., controlling the robots to perform atomic tasks such as goto, wall
following, and forward motion (Lapping).
Inter-process communication is facilitated by the Real Time Communication
(RTC) package [52]. Finally, the GTL package [53] was used as a base for the Reeb
Graph implementation.
7.2 Limited communication experiments in simulated environments
Next, we present an illustrative example for the limited-communication completecoverage algorithm. Seven robots start together at the lower left corner of an environment, two of them start exploring while the remaining five start covering
the free space; see Fig. 15a. When the first obstacle interrupts the line of sight
between the two explorers, the existence of a critical point is deduced, see Fig. 15b,
and the bottom explorer moves toward the top explorer in order to accurately record
the position of the critical point; see Fig. 15c. After the first cell is fully covered, the
robots split into two teams. The top cell is covered by a team of three robots, two
explorers and one coverer, while the bottom cell is assigned to a team of four robots,
two explorers and two coverers; see Fig. 15d, e. While the bottom explorer follows
the bottom boundary of the top cell the direction of motion is reversed due to a
forward convex critical point. The two explorers mark the end of the top cell and
join the one coverer in covering the remaining area; see Fig. 15e. Next, the top team
moves in the bottom cell where they rejoin with the bottom team and complete the
coverage of the bottom cell; see Fig. 15f. Finally, the unified team proceeds to cover
the final cell. It is worth noting that, as the two explorers meet, they detect the final
critical point, reverse concave, in Fig. 15h. Figure 15i presents the final step of the
completely covered environment.
7.3 Auction-based global-communication experiments in simulated environments
The distributed coverage algorithm was tested in a variety of simulated environments
for two to five robots. Next, we are going to examine experimental results for the
unrestricted communication scenario with four robots. A sample environment for
testing the multi-robot coverage algorithm with unrestricted communication is shown
in Fig. 16a. Each of the four robots is allocated a stripe and the planner of each
robot receives the stripe information. The planner determines the point where the
robots should access the stripe and sends the target-point to the Behavior process
for execution. After accessing the stripe, the Behavior process sends a message to
the Planner informing the Planner that access to the stripe is completed. Based on
the stripe information and the robot pose, the Planner starts the exploration phase
and plans for Forward Lapping, then sending this task to the Behavior where it is
executed; see Fig. 16c. For this task, the four robots experience different terminating
conditions due to the obstacle location in the environment: The left and the two
right robots complete the exploration of their stripes without any problems. The
Efficient Boustrophedon Multi-Robot Coverage
135
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Fig. 15 Formation based coverage of an unknown/unstructured environment: Top figure: the
complete environment. a The robots start covering and exploring. b The two explorers just before
line of sight is interrupted. c Bottom explorer discovers the reverse convex critical point. d Top team
has three robots, bottom has four (only three visible). e Bottom explorer of the top team discovers
forward convex critical point (reversal of x direction) and joins top explorer in coverage task.
f Rejoining of the two teams to finish covering the bottom cell. g One team, explorers and coverers
are covering the final cell. h The two explorers meet, thus discovering a reverse concave critical point;
no more cells to be covered. i Completed coverage
136
I. Rekleitis et al.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Fig. 16 a The environment and the four robots at the starting position in Stage. b The augmented
Reeb graph with the critical points (circles) and the Steiner points (crosses). c–h The traces of the
four robots (marked as circles which are smaller than the footprint) exploring and covering the
environment, and the critical points encountered
middle robot realizes that it can not complete the exploration of its stripe and calls
an auction. The robot to its right wins the auction and proceeds to explore the
remaining part of the middle stripe. In the mean time, the second left robot starts
Efficient Boustrophedon Multi-Robot Coverage
137
partial coverage. Finally, when exploration is completed, the robots exchange cells
via auctions and proceed to completely cover the environment. Figure 16b shows the
Reeb graph after exploration is completed. Figure 16c–h shows the trace of the four
robots plotted as circles. The trace is smaller than the robot footprint for illustration
purposes.
The same environment was used for experiments with three, four and five robots,
the respective times to complete coverage were 30, 25.8 and 23.3 min. During our
experiments, the robots continuously explored and covered the environment. After
a few auctions, it was impossible to predict which task was scheduled next by each
robot. It is worth noting, however, that the distance travelled by each robot was
approximately the same, thus showing that the workload was distributed evenly.
7.4 Global communication experiments in a real environment
The finer granularity algorithm was tested in simulated environments and with
real robots. Two Pioneer 3AT robots equipped with a SICK Laser range finder
were used to cover an unknown environment. The laser range finder performed
obstacle detection and localization via retro-reflective targets placed in the operating
environment.
A series of experiments in a basement parking space were set-up; see Fig. 17a, and
[54]. Localization beacons were placed three meters apart around the perimeter of
the area to be covered. The area covered by the robot was rectangle 12 m by 9 m.
There were three obstacles in the environment, two of which were concrete pillars,
and the other one was an artificially added obstacle.
For comparison purposes, a single-robot experiment was performed first. A single
Pioneer 3AT robot covered the environment presented in Fig. 17a in 25 min; the path
can be seen in Fig. 17b. Then, the multi-robot coverage experiment was conducted
using two robots in the same environment, shown in Fig. 17a. Figures 18a–f show
a sequence of screen-shots taken during the experiment. In the figures, both the
adjacency graph and the coverage trace are shown. The ones on the left of the image
belong to Robot 1 while those on the right belong to Robot 2. The robots covered
the same area in 13 min and 55 s, with one robot idling for 20 s.
(a)
(b)
Fig. 17 a The testing environment used for single and multi-robot experiments. b The coverage trace
and the adjacency graph from a single-robot experiment
138
I. Rekleitis et al.
(a)
(b)
(c)
(d)
(e)
(f)
Fig. 18 a–f Screen captures from the two robot experiment using the Pioneer 3AT robots. Each
screen-shot contains the paths of both robots and their model of the environment in the form of the
Reeb Graph. The legend appears only in a
Figure 18a shows Robot 1 completing its first cell as Robot 2 completed the two
cells below the large obstacle. While covering the second cell, Robot 2 passed by
the end of the obstacle and introduced a new cell to the top of the large obstacle,
Fig. 18a, b. Then, Robot 2 continues exploring to the right encountering a new
obstacle, Fig. 18c. Figure 18d illustrates how the graph for both robots is updated,
and the two disconnected branches join when Robot 1 reached the area Robot 2
started covering. In addition, Robot 2 has reached the right boundary of the area
and is moving back to the next nearest uncovered cell which was discovered earlier.
Efficient Boustrophedon Multi-Robot Coverage
139
Figure 18f shows that Robot 2 completed the last cell, while Robot 1 remained idle
for a short period of time.
8 Conclusions
In this paper, we described three new multi-robot coverage algorithms. Our approach
employs the Boustrophedon decomposition thus guaranteeing complete coverage.
When information sharing is restricted to line-of-sight communication in an unknown environment the robots stay together in teams and cover the free space.
Under these communication constraints, we contributed algorithmic multi-robot
solutions for both single-cell coverage and Reeb-graph traversal, while trying to minimize repeat coverage. Under the assumption of global communication among the
robots, each robot is allocated a bounded area of the unknown environment to cover.
An auction mechanism is employed in order to facilitate cooperative behavior among
the robots, thus improving their performance. In our approach no robot remains idle
while there are areas to be covered. Finally, when unrestricted communication is
available, a third algorithm which decomposed the coverage problem to smaller tasks
was presented.
The communication ability is central in multi-robot collaboration tasks. In multirobot coverage, the lack of communication traditionally resulted in repeat coverage
that reduced the efficiency of the approach. Maintaining the cohesiveness of the
team by allowing only minimal splitting, greatly reduced repeat coverage. The
performance of the proposed algorithm depends on the average cell length; if, in most
cells, the team does not “fit” then the remaining robots idle, a form of dynamic repeat
coverage. When unrestricted communication is available, the robots spread through
the environment and coordinate with each other, using an auction mechanism or a
simple negotiation protocol. Repeat coverage is thus minimized and all robots are
kept occupied. Even though no robot idled for any significant amount of time, in all
cases the robots had to travel through covered space in order to reach uncovered
areas. This can be seen as a form of repeat coverage, but it differs in two ways: First,
a robot can travel through free, known, space in higher speeds than the ones used
during coverage; and second, the path travelled through a cell is shorter, to the order
of the square root, than the path to cover the same cell.
For future work, we would like to compare the performance between the distributed approach [55] with the team-based approach with limited communication [3].
Also, when there are no communication restrictions, we would like to improve
the performance of the auction mechanism. Augmenting the cost function to take
into account individual robot capabilities, especially in heterogeneous teams, is an
important extension. Accurate localization is a major challenge in mobile robotics;
we would like to take advantage of the meeting of the robots in order to improve
the localization quality via cooperative localization [56]. Finally, developing more
accurate cost estimates for the different tasks is one of the immediate objectives.
Coverage is among the most pragmatically significant tasks in mobile robotics.
The sale of over two million ROOMBAS, a vacuum cleaning robot developed
by iRobot, as well as the interest in humanitarian de-mining clearly highlight the
importance of coverage. Our algorithms provide a first principled approach for an
efficient and robust solution to the multi-robot complete-coverage problem with
140
I. Rekleitis et al.
exact cell-decomposition, and open the field for realistic multi-robot applications in
the coverage domain.
Acknowledgements We would like to thank Sze Kong Chan for his crucial help in the implementation of the full communication algorithms. Vincent Lee-Shue, Sam Sonne, and Ben Hollis for their
valuable input during the early stages of this project. Bernadine Dias, Danni Goldberg, Rob Zlot, and
Marc Zink for their help with the Market based approach and the multi-process architecture. Finally,
Luiza Solomon provided valuable insights on the software design and an implementation of the
graph class. Furthermore, we would like to acknowledge the generous support of the DSO National
Laboratories, Singapore; the Office of Naval Research; and the National Science Foundation.
References
1. Choset, H.: Coverage for robotics—a survey of recent results. Ann. Math. Artif. Intell. 31, 113–
126 (2001)
2. Latimer-IV, D., Srinivasa, S., Lee-Shue, V., Sonne, S.S., Choset, H., Hurst, A.: Toward sensor
based coverage with robot teams. In: Proc. 2002 IEEE International Conference on Robotics &
Automation (2002)
3. Rekleitis, I., Lee-Shue, V., New, A.P., Choset, H.: Limited communication, multi-robot team
based coverage. In: IEEE International Conference on Robotics and Automation, pp. 3462–
3468. New Orleasn, LA (2004)
4. Dias, M.B., Stentz, A.T.: A market approach to multirobot coordination. Robotics Institute,
Carnegie Mellon University, Pittsburgh, PA, Tech. Rep. CMU-RI -TR-01-26 (2001)
5. Choset, H., Pignon, P.: Coverage path planning: the Boustrophedon cellular decomposition. In:
International Conference on Field and Service Robotics, Canberra, Australia (1997)
6. Canny, J.: Constructing roadmaps of semi-algebraic sets i : completeness. Artif. Intell. 37, 203–
222 (1988)
7. Canny, J., Lin, M.: An opportunistic global path planner. Algorithmica 10, 102–120 (1993)
8. Acar, E.U., Choset, H.: Critical point sensing in unknown environments. In: Proc. of the IEEE
International Conference on Robotics & Automation (2000)
9. Oh, J.S., Park, J.B., Choi, Y.H.: Complete coverage navigation of clean robot based on triangularcell map. In: IEEE International Symposium on Industrial Electronics, vol. 3, pp. 2089–2093.
Pusan, South Korea (2001)
10. Butler, Z.: CC R: a complete algorithm for contact-sensor based coverage of rectilinear environments. The Robotics Institute, Carnegie Mellon University, Tech. Rep. CMU-RI-TR-98-27
(1998)
11. Butler, Z., Rizzi, A., Hollis, R.: Distributed coverage of rectilinear environments. In: Proc. of the
Workshop on the Algorithmic Foundations of Robotics (2001)
12. Kurabayashi, D., Ota, J., Arai, T., Yoshida, E.: An algorithm of dividing a work area to multiple
mobile robots. In: 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems,
5–9 Aug 1995, vol. 2, pp. 286–291 (1995)
13. Kurabayashi, D., Ota, J., Arai, T., Yoshida, E.: Cooperative sweeping by multiple mobile robots.
In: 1996 IEEE International Conference on Robotics and Automation, 22–28 April 1996, vol. 2,
pp. 1744–1749 (1996)
14. Min, T.W., Yin, H.K.: A decentralized approach for cooperative sweeping by multiple mobile
robots. In: 1998 IEEE/RSJ International Conference on Intelligent Robots and Systems, 13–17
Oct. 1998, vol. 1, pp. 380–385 (1998)
15. Luo, C., Yang, S.: A real-time cooperative sweeping strategy for multiple cleaning robots. In:
IEEE Internatinal Symposium on Intelligent Control, pp. 660–665 (2002)
16. Luo, C., Yang, S., Stacey, D.: Real-time path planning with deadlock avoidance of multiple cleaning robots. In: Proceedings 2003 IEEE International Conference on Robotics and Automation
(ICRA), 14–19 Sept. 2003, vol. 3, pp. 4080–4085 (2003)
17. Ichikawa, S., Hara, F.: Characteristics of object-searching and object-fetching behaviors of multirobot system using local communication. In: IEEE International Conference on Systems, Man,
and Cybernetics, (IEEE SMC ’99), vol. 4, pp. 775–781 (1999)
18. Wagner, I., Lindenbaum, M., Bruckstein, A.: Distributed covering by ant-robots using evaporating traces. IEEE Trans. Robot. Autom. 15(5), 918–933 (1999)
Efficient Boustrophedon Multi-Robot Coverage
141
19. Wagner, I.A., Lindenbaum, M., Bruckstein, A.M.: Mac vs. pc—determinism and randomness as
complementary approaches to robotic exploration of continuous unknown domains. Int. J. Rob.
Res. 19(1), 12–31 (2000)
20. Wagner, I.A., Altshuler, Y., Yanovski, V., Bruckstein, A.M.: Cooperative cleaners: a study in ant
robotics. Int. J. Rob. Res. 27(1), 127–151 (2008)
21. Menezes, R., Martins, F., Vieira, F.E., Silva, R., Braga, M.: A model for terrain coverage inspired
by ant’s alarm pheromones. In: Proceedings of the 2007 ACM symposium on Applied computing
(SAC07), pp. 728–732. New York, NY, USA: ACM (2007)
22. Koenig, S., Szymanski, B.K., Liu, Y.: Efficient and inefficient ant coverage methods. Ann. Math.
Artif. Intell. 31(1–4), 41–76 (2001). [Online]. Available: citeseer.ist.psu.edu/553035.html
23. Ge, S.S., Fua, C.: Complete multi-robot coverage of unknown environments with minimum
repeated coverage. In: Proceedings of the 2005 IEEE International Conference on Robotics and
Automation (ICRA), 18–22 April 2005, pp. 715–720 (2005)
24. Bruemmer, D.J., Dudenhoeffer, D.D., Anderson, M.O., McKay, M.D.: A robotic swarm for spill
finding and perimeter formation. International Conference on Nuclear and Hazardous Waste
Management, Spectrum (2002)
25. Batalin, M.A., Sukhatme, G.S.: Spreading out: a local approach to multi-robot coverage. In:
6th International Symposium on Distributed Autonomous Robotics Systems, Fukuoka, Japan
(2002), June
26. Spears, D., Kerr, W., Spears, W.: Physics-based robot swarms for coverage problems. Int. J. Intell.
Control Syst. 11(3), 124–140 (2006)
27. Hazon, N., Kaminka, G.: Redundancy, efficiency and robustness in multi-robot coverage. In:
Proceedings of the 2005 IEEE International Conference on Robotics and Automation (ICRA),
18–22 April 2005, pp. 735–741 (2005)
28. Hazon, N., Mieli, F., Kaminka, G.: Towards robust on-line multi-robot coverage. In: Proceedings
2006 IEEE International Conference on Robotics and Automation (ICRA), 15–19 May 2006,
pp. 1710–1715 (2006)
29. Agmon, N., Hazon, N., Kaminka, G.: Constructing spanning trees for efficient multi-robot coverage. In: Proceedings 2006 IEEE International Conference on Robotics and Automation (ICRA),
15–19 May 2006, pp. 1698–1703 (2006)
30. Solanas, A., Garcia, M.: Coordinated multi-robot exploration through unsupervised clustering of
unknown space. In: Proceedings 2004 IEEE/RSJ International Conference on Intelligent Robots
and Systems, vol. 1, 28 Sept–2 Oct. 2004, pp. 717–721 (2004)
31. Williams, K., Burdick, J.: Multi-robot boundary coverage with plan revision. In: Proceedings
2006 IEEE International Conference on Robotics and Automation (ICRA), 15–19 May 2006,
pp. 1716–1723 (2006)
32. Zheng, X., Jain, S., Koenig, S., Kempe, D.: Multi-robot forest coverage. In: Proceedings of
the IEEE International Conference on Intelligent Robots and Systems (IROS), pp. 3852–3857.
Edmonton Alberta, Canada (2005)
33. Dias, M.B., Zlot, R., Kalra, N., Stentz, A.: Market-based multirobot coordination: a survey and
analysis. Robotics Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania 15213, Tech.
Rep. CMU-RI-TR-05-13 (2005)
34. Goldberg, D., Cicirello, V., Dias, M.B., Simmons, R., Smith, S.F., Stenz, A.: Market-based multirobot planning in a distributed layered architecture. In: Multi-Robot Systems: From Swarms
to Intelligent Automata: Proceedings from the 2003 International Workshop on Multi-Robot
Systems, vol. 2, pp. 27–38. Kluwer Academic, Boston (2003)
35. Berhault, M., Huang, H., Keskinocak, P., Koenig, S., Elmaghraby, W., Griffin, P., Kleywegt, A.:
Robot exploration with combinatorial auctions. In: IEEE/RSJ Int. Conference on Intelligent
Robots and Systems, vol. 2, pp. 1957–1962 (2003)
36. Dias, M.B., Stentz, A.T.: Traderbots: a market-based approach for resource, role, and task allocation in multirobot coordination. Robotics Institute, Carnegie Mellon University, Pittsburgh,
PA, Tech. Rep. CMU-RI-TR-03-19 (2003)
37. Dias, M.B., Zinck, M., Zlot, R., Stentz, A.T.: Robust multirobot coordination in dynamic
environments. In: International Conference on Robotics & Automation, pp. 3435–3442. New
Orleans, LA (2004)
38. Gerkey, B., Mataric, M.: Sold!: auction methods for multirobot coordination. IEEE Trans.
Robot. Autom. 18(5), 758–768 (2002)
39. Zlot, R., Stentz, A.: Market-based multirobot coordination for complex tasks. International
Journal of Robotics Research Special Issue on the 5th International Conference on Field and
Service Robotics, vol. 25, no. 1, (2006)
142
I. Rekleitis et al.
40. Acar, E.U., Choset, H., Rizzi, A.A., Atkar, P.N., Hull, D.: Morse decompositions for coverage
tasks. Int. J. Rob. Res. 21(4), 331–344 (2002)
41. Acar, E.U., Choset, H.: Sensor-based coverage of unknown environments: Incremental construction of morse decompositions. Int. J. Rob. Res. 21(4), 345–366 (2002)
42. Fomenko, A., Kunii, T.L.: Topological Modeling for Visualization. Tokio: Springer, New York
(1997)
43. Rekleitis, I.M., Dudek, G., Milios, E.: Multi-robot collaboration for robust exploration. Ann.
Math. Artif. Intell. 31(1–4), 7–40 (2001)
44. Dellaert, F., Alegre, F., Martinson, E.B.: Intrinsic localization and mapping with 2 applications:
diffusion mapping and marco polo localization. In: Proceedings of the 2003 IEEE International
Conference on Robotics & Automation, Taipei, Taiwan, 14–19 September 2003, pp. 2344–2349
(2003)
45. Grabowski, R., P.Khosla, Choset, H.: Autonomous exploration via regions of interest. In:
IEEE/RSJ Int. Conference on Intelligent Robots and Systems, vol. 1 (2003)
46. Vaughan, R.T.: Stage: a multiple robot simulator. Institute for Robotics and Intelligent Systems,
School of Engineering, University of Southern California, Tech. Rep. IRIS-00-394 (2000)
47. Beineke, L.W., Wilson, R.J.: Selected Topics in Graph Theory 3. Academic, Boston (1988)
48. Hershberger, J., Suri, S.: An optimal algorithm for Euclidean shortest paths in the plane. SIAM
J. Comput. 28(6), 2215–2256 (1999)
49. Gerkey, B.P., Vaughan, R.T., Sty, K., Howard, A., Sukhatme, G.S., Mataric, M.J.: Most valuable
player: a robot device server for distributed control. In: IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS 2001), October 29–November 3 2001, pp. 1226–1231.
Wailea, Hawaii (2001)
50. Schreckenghost, D., Bonasso, P., Kortenkamp, D., Ryan, D.: Three tier architecture for controlling space life support systems. In: IEEE Int. Joint Symposia on Intelligence and Systems, 21–23
May 1998, pp. 195–201 (1998)
51. Wagner, M., Apostolopoulos, D., Shillcutt, K., Shamah, B., Simmons, R., Whittaker, W.: The
science autonomy system of the nomad robot. In: IEEE International Conference on Robotics
and Automation, vol. 2, pp. 1742–1749 (2001)
52. Rtc, RTC, CMU, Pittsburgh, Pa (2000)
53. Raitner, M.: GTL—Graph Template Library Documentation, 1st edn. University of Passau–
FMI–Theoretical Computer Science (2002)
54. Kong, C.S., New, A.P., Rekleitis, I.: Distributed coverage with multi-robot system. in Proc. of the
IEEE International Conference on Robotics and Automation, pp. 2423–2429. Orlando, Florida
(2006)
55. Rekleitis, I.M., New, A.P., Choset, H.: Distributed coverage of unknown/unstructured environments by mobile sensor networks. In: Schultz, A.C., Parker, L.E., Schneider, F. (eds.) 3rd
International NRL Workshop on Multi-Robot Systems, 14–16 March 2005, pp. 145–155. Kluwer,
Washington, D.C. (2005)
56. Roumeliotis, S.I., Rekleitis, I.M.: Propagation of uncertainty in cooperative multirobot localization: analysis and experimental results. Auton. Robots 17(1), 41–54 (2004)