Multi-Robot_Coverage_with_Reeb_Graph_Clustering_and_Optimized_Sweeping_Patterns
Multi-Robot_Coverage_with_Reeb_Graph_Clustering_and_Optimized_Sweeping_Patterns
Jacek SZKLARSKI
In order to perform mapping, inspecting, searching, painting, cleaning, and other similar
tasks, mobile robots have to act according to a coverage plan. Finding a trajectory that
a robot should follow requires an appropriate coverage path planning (CPP) algorithm
and is a non-trivial problem, especially if a cooperating group of robots is considered. We
propose that the multi-robot CPP can be solved by: decomposing the input occupancy
grid map into cells, generating a corresponding Reeb graph, clustering the graph into
Nr clusters, and solving the associated equality generalized traveling salesman problem
in order to obtain optimal back-and-forth sweeping patterns on the clusters. This last
step has been proven to be one of the most efficient ways to find trajectories for a single
robot [5]. The discussed approach is motivated by a specific application: industrial cleaning
of large warehouses by Nr autonomic mobile cleaners (the cleaning radius of a robot is
much smaller than the area to be cleaned). The total time required for cleaning is to be
minimized. By means of statistical analysis, using an extensive, realistic set of synthetic
maps, it is shown that the proposed algorithm meets the criteria for applying it in the
production process.
Keywords: coverage path planning, motion planning, multi-robot.
Copyright © 2022 J. Szklarski
Published by IPPT PAN. This work is licensed under the Creative Commons Attribution License
CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/).
1. Introduction
challenging and even the simplest variants, such as the lawnmower problem, are
NP-hard.
In order to practically speed up the process of covering, a number Nr of robots
may be performing the task in a cooperative manner. This leads to a specific
version of the CPP problem: multi-robot CPP. There are many ways to approach
this task, depending on a specific application. For example, whether planning
is realized online or offline, if the environment map is available and known in
advance to all the robots, what are the means of communication between the
covering units, whether the environment dynamically changes during coverage.
Additionally, it is important to consider scales involved in a particular scenario:
the ratio of the area covered by a robot vs. the total area to be covered, and
time constraints on the path generation, etc.
In this paper, we focus on an N-robot CPP problem of relevant cleaning large
warehouses by a fleet of industrial cleaning robots. The main contribution of this
work is the CPP algorithm itself, consisting of graph clustering and sweeping
patterns optimization. The algorithm is designed for its real-world application
having in mind the specific characteristics of the environment: the area to be
cleaned is supposed to be much larger than the cleaning radius; the underlying
static map of the environment is known in advance (this is done by perform-
ing three-dimensional (3D) scan prior to deploying devices), sparse dynamical
obstacles are allowed (e.g., people moving in the warehouse), and real robots
Fig. 1. Photo of a prototype of the cleaning robot being developed by our industrial partner,
the United Robots company. The robot is equipped with sensors such as LIDARs and RGBD
cameras, which ensure that all safety measures are taken into account, and the accurate position
in the global frame is known. The photo is for illustrative purposes only, and the details
regarding robot control and navigation are outside of the scope of this work.
Multi-robot coverage with Reeb graph clustering. . . 381
can localize themselves and follow a given path with the accuracy of the order
of 10 cm. The details regarding sensors, robots and their navigation stack are
outside of the scope of this work and will be presented elsewhere.
The paper is organized as follows: first, the CPP problem is defined, including
its multi-robotic variant. Then it is discussed how it can be approached, bearing
in mind the particular problem of warehouse cleaning. Essentially, this is done
by decomposition of an environment grid map into polygons (cells), generating
an associated Reeb graph, clustering it and then generating Nr path plans by
one of the state-of-the-art methods [5]. Next, by means of numerical simulations,
the method is evaluated on an actual obstacle map and a large realistic synthetic
dataset [15]. It is demonstrated that the total coverage time tcov scales on average
as tcov ∝ Nr−0.86 which is satisfactory close to the theoretically perfect scaling
tcov ∝ Nr−1 . Finally, some conclusions are presented and directions for further
work are pointed out.
The CPP problem is defined as finding a path for a mobile robot, which
ensures that the device will visit/observe all points of a given area or volume.
The robot should also avoid obstacles and collisions. The usual requirement is
that the complete coverage is guaranteed and realized in the fastest possible way
(which often means minimizing any path overlapping). CPP is closely related to
other classical problems, such as the lawnmower problem, the watchman route
problem, the gallery problem, the covering salesman problem, or even a wide
class of search games on graphs such as cops & robber games [22]. Some of these
problems – in their simplest variations – can be solved in a polynomial time, but
generally, they are NP-hard (e.g., [2]).
CPP can be divided into two main classes: offline and online. This paper is
focused on offline tasks that rely on stationary information and where the envi-
ronment is assumed to be known in advance. Contrary to this, online tasks utilize
real-time measurements without any prior knowledge of the environment (such
a sensor-based coverage is closely related to the problem of simultaneous locali-
zation and mapping – SLAM – with exploration). There exist a large number
of exact, approximate and heuristic algorithms to solve many variations of both
types of CPP, see [7, 11, 21]. The vast majority of the research is focused on min-
imizing the time to complete coverage in deterministic systems with perfect in-
formation (for multi-robotic CPP this often comes down to the equal path-length
distribution). Examples of a non-standard optimization goal include: minimiz-
ing energy consumption during autonomous landmine detection [8], and mini-
mizing the coverage time by taking into account speed variations while turning
or by considering travel times instead of distances [17].
382 J. Szklarski
Using multiple robots in the CPP task has some obvious advantages [23]: de-
creased time to complete coverage, improved robustness, failure tolerance, and
possibly smaller localization errors. However, this comes at a cost: the need for
communication, synchronization, handling mutual observations or possibly het-
erogeneous devices, and specialized algorithms for CPP (updating poses, maps,
loop closing, etc). Possible applications range from two-dimensional (2D) bound-
ary inspections of rotor blades inside a turbine [9], through efficient surveillance
and mapping [19], to complex 3D coverage realized by a group of UAVs [20].
Bearing in mind the requirements outlined above, our CPP should meet the
following conditions:
1. The mobile robots move on a 2D surface and their state is defined by the
position and rotation, i.e., the vector x = (x, y, φ).
2. The number of robots involved in the cleaning process is assumed to be
between 1 and 5, 1 ≤ Nr ≤ 5.
3. The cleaning radius of the machines is rcov = 1 m.
4. The total area to be cleaned A is of the order of 105 m2 .
5. Each point of the area A must be covered by any robot at least once.
6. The robots move along preplanned plans, that is, trajectories being sets of
consecutive vectors x0 , ..., xn .
7. The maximum velocity, the maximum acceleration/deceleration and the
maximum angular velocity are given, vmax , |amax |, φ̇max , respectively.
8. Between any two consecutive points xi and xi+1 , a robot moves in a straight
line accelerating until it reaches vmax (or decelerating to 0 if a turning point
is being approached).
9. Should a robot account for an unexpected obstacle (static or dynamic),
that is, an obstacle not present on the static map, it should attempt to
avoid collision and go back to its trajectory as soon as possible.
10. If a robot should fail, all the remaining devices will be informed about this
by means of Wi-Fi communication and will be able to follow preplanned
path plans for smaller Nr .
11. Should the static environment change (rearrangements in a warehouse),
the map and planned trajectories will be updated for all the devices.
12. The cost metric to be minimized is the total cleaning time.
It is assumed that the probability of encountering expected obstacles is spa-
tially homogeneous for the entire environment. Therefore it is not taken into
account in the path planning process since the average expected delays are the
same for each robot and independent of its trajectories.
It should be noted that it is possible that the environmental circumstances
enforce overlapping of the planned paths for different robots. This can lead to
Multi-robot coverage with Reeb graph clustering. . . 383
a possible collision between the operating units. Such collisions are not taken into
account during the path-planning stage itself. Should such a collision occur, the
other robot is simply treated as any other dynamical obstacle, and the collision is
avoided by means of a variant of a virtual force field based avoidance navigation
algorithm (e.g., [24]).
Regarding communication, it is assumed that the units can communicate by
means of a centralized all-to-all channel (a single Wi-Fi network) and an addi-
tional central server is available. Should a unit stop responding or should it report
a failure, new path plans will be distributed among the units for the reduced num-
ber of robots. Such event is extraordinarily rare, therefore dynamic replanning
(i.e., replanning that takes into account the total area already covered in a clean-
ing cycle) is not considered and not taken into account in the CPP algorithm.
Fig. 2. An example of trapezoidal and boustrophedon decompositions into cells with their
Reeb graphs (bottom). The latter decomposition allows for a better sweeping pattern fit
(the dashed line).
simple zig-zag-like motions. This results in the better fitting of the zig-zag like
motions. It should be noted that more sophisticated decompositions have been
proposed, e.g., [16]. Nevertheless, since in the discussed case, the optimization
is done at a later stage, we use the straightforward trapezoidal or BCD. All the
results presented here are with BCD, and our research shows that it generally
performs slightly better than the trapezoidal decomposition. After decompo-
sition, a set of cells is obtained where the geometrical relation between them
may be represented by a graph (a Reeb graph, in particular). Consequently,
the problem may be solved with the help of existing solutions known from
graph theory.
In the literature, there exist a number of proposed solutions for multi-robot
CPP with cellular decomposition [1]. For example, [18] minimizes repeated cov-
erage by using a dedicated auctioning mechanism and utilizing communication
(restricted) between the units. The authors of [13] reformulate the CPP into
a problem of finding minimal flow in the network where nodes correspond to
trapezoids. Another solution was proposed by [4], where the domain is divided
into hexagons that are then assigned to each robot (UAVs in this case) and each
hexagon is covered by means of predefined patterns. In [3], the authors present
a two-stage coverage approach in which a graph, based on decomposition, is con-
structed together with associated sweeping patterns. Afterward, a vehicle routing
problem is solved in order to equally distribute the task between UAVs. How-
ever, this solution works only for maps without obstacles (i.e., grid maps that
correspond to a general polygon but without holes). Another load-distributing
solution with BCD was developed by [14]. The authors compare two distinct
approaches: 1) solving the min-max k-Chinese postman problem on the entire
(Reeb) graph with k = Nr , and 2) clustering the graph into Nr sets with equal
expected coverage times, then finding the Euler cycle for each cluster.
Multi-robot coverage with Reeb graph clustering. . . 385
The solution proposed here utilizes load balancing by clustering of the graph
into Nr sets C1,...,Nr of cells, and then searching for trajectories minimizing the
coverage time for each cluster, see Algorithm 1. The coverage time for each
cluster of cells depends on the order of cell visiting and entry point of the robot
into each cell. Minimizing the time is an NP-hard problem and the result is
found by solving the associated variant of a traveling salesman problem (TSP)
first proposed by [5] for a single UAV. This works for general maps that may be
represented as a general polygon with holes (PWH).
Algorithm 1. Outline of the path planning algorithm for coverage with Nr robots.
function findPlans(M, Nr ) . M is the 2D raster grid map of the environment
G ← decompose(M ) . Decompose map into cells (with BCD)
C1,...,Nr ← clusterize(G) . clusterize G into Nr disjoint sets of cells
for i ← 1, Nr do
Pi = findOptimumCoverage(Ci ) . Path for each cluster, minimize time
end for
return P
end function
a given threshold (here 0.1%). This accounts for necessary travel times between
the initial robot poses and travel times between non-adjacent edges. This simple
procedure quickly converges and makes the work-load more balanced between
the units.
It should be noted that the above procedure also modifies the Reeb graph by
dividing the cells in a way that makes the clustering better balanced in terms
of equal ti . Here, the expected times t(ei ) denote the theoretical time that is
Multi-robot coverage with Reeb graph clustering. . . 387
required to clean a square with an area equal to that of the cell associated with
the edge i.
Having a set set of Nr clusters, the trajectory for each robot is found by
solving a single robot i CPP on the set Ci . The union of all cells in Ci forms
a set of – possibly disjoint – general polygons with holes. If PWHs are disjoint
(i.e., there is more than one PWH for a single robot), trajectories between PWH
are connected by means of the shortest distance routes between them while
taking into account obstacles from the input map. While traveling between PWH,
trajectories of some robots might overlap. This, however, cannot be avoided in
a general case.
where
p
2 /a
4d/amax ,
for d < vmax max ,
t0i = 2 /a
d − vmax max 2 /a
2vmax /amax +
, for d ≥ vmax max ,
vmax
Fig. 3. For each cell, the coverage time is determined by sweeping direction and entry
point into the cell (i.e., start and end vertex). The figure depicts some possible entry/exit
points and directions for a sample trapezoid.
of the TSP, see [5]. E-GTSP is an NP-hard and exact solvers work only for
small problems [10]. In our case, in order to solve E-GTSP the memetic solver
proposed by [12] is used in accordance with the solution by [5] (the relevant
code is publicly available). This is an efficient solver and is considered to be the
state-of-the-art solution for E-GTSP.
4. Results
devices used for the cleaning tasks, see Fig. 1. A trajectory for a single robot is
shown at the bottom of Fig. 4.
y [m]
x [m]
N: 1 time: 2302 s
y [m]
x [m]
Fig. 4. Top: a gridmap representing an underground garage for robot motion planning and
navigation. The pixel size is 3 × 3 cm. Middle: the corresponding cellular decomposition. Bot-
tom: a trajectory for a single robot for the given decomposition and the E-GTSP optimization
as described in Subsec. 3.2.
Figures 5 and 6 depict trajectories for Nr = 2, 3, 5 for both: the area clustering
approach and the alternative one with simple single-path division. A typical
problem with the splitting approach can be seen for Nr = 3, 5. Even for this
simple map, clearly there are small separate areas to be covered by some robots.
While the coverage time is only slightly worse, such fragmented coverage plans
might be undesirable due to other practical means. This is even more evident
for complex maps.
In order to measure effectiveness, we use utilization U (T, Nr ) = t1 /(T ∗ Nr )
with T being the total coverage time for Nr robots involved. For the trajectories
in Figs. 5 and 6, the utilization is 0.94, 0.89, 0.81 and 0.85, 0.75, 0.72, respectively.
It should be stressed that in any non-trivial obstacle map, the utilization cannot
be perfect (i.e., equal to 1) since usually there are regions where trajectories
for different robots must overlap. On the other hand, for specific maps, it may
happen (although rarely) that the utilization is larger than 1. This is due to the
fact that a single robot trajectory overlaps with itself which, in turn, may be
avoided for the case with Nr > 1.
390 J. Szklarski
N: 2 time: 1224 s
y [m]
x [m]
N: 3 time: 865 s
y [m]
x [m]
N: 5 time: 568 s
y [m]
x [m]
Fig. 5. Trajectories for robots with Nr = 2, 3, 5 for the garage environment as in Fig. 4 for
the area clustering with the E-GTSP optimization approach. The total coverage time is also
shown.
N: 2 time: 1348 s
y [m]
x [m]
N: 3 time: 1022 s
y [m]
x [m]
N: 5 time: 642 s
y [m]
x [m]
Fig. 6. Similar as Fig. 5 but for the alternative method with single path splitting, Subsec. 3.3.
Multi-robot coverage with Reeb graph clustering. . . 391
Fig. 7. Samples from a large set of 60k realistic layouts for testing robotic algorithms, after [15].
In order to obtain some valuable insights, 103 maps were selected randomly
from the entire dataset and the multi-robot CPP run for Nr = 1, ..., 5 with the
area clustering and the path splitting approach. The results are summarized in
Table 1 and Figs. 8 and 9. The scales are chosen so that the cleaning time for
a single robot is of the order of hours (between 1 and 20).
Table 1. Statistical values for utilization for various Nr and the two discussed methods for
multi-robot CPP. Area decomposition gives better and more consistent (in the sense of lower σ)
results.
Additionally, a fitting of mean coverage time tcov (n) = nα has been per-
formed. This gives α = −0.87 for the area clustering method and α = −0.81
for the one with splitting. These results are quite good, bearing in mind that
with the larger number of robots, there must be some overlapping. Additionally,
392 J. Szklarski
N robots
Fig. 8. Times for full coverage using area decomposition, 1 being the time required to clean
by a single robot. The boxes show min, max, median and quartiles Q1 and Q3 for the tested
set. The line denotes the perfect 1/Nr scaling.
Cleaning time/cleaning time N = 1
N robots
all the units start from the same base station, which inevitably leads to time
inefficiency.
Considering the required CPU time to find the plans: it heavily depends
on the map, i.e., its shape, number of small elements, holes, and of course, the
number of cells after the decomposition. For the testing dataset, a typical desktop
computer with i5 requires between 10 seconds up to about 1 minute for a map
to complete the calculations.
In this paper, a novel method for efficient multi-robot coverage path planning
has been proposed. It is based on the clustering of the Reeb graph arising from
Multi-robot coverage with Reeb graph clustering. . . 393
the cellular decomposition of the input grid-map with obstacles. Afterward, the
optimization problem is solved, which looks for trajectories minimizing the total
coverage time by analyzing permutations of sweeping patterns consisting of back-
and-forth motions for all the cells from a set assigned to the robot i. This is
realized by means of a memetic solver for the equivalent problem, E-GTSP.
This approach has already been proven to be very reliable and efficient [5]. The
real-world application is currently being tested by our industrial partner with
real cleaning robots.
Future work will be focused on the inclusion of the possibility of multiple
covering of certain regions of the map. This feature is important for the practi-
cal cleaning process since some areas may require multiple passes of the cleaner.
Another extension that will be incorporated into the algorithms is a non-homoge-
neous fleet, i.e., robots with different covering radii and different kinematic prop-
erties.
Acknowledgements
The authors acknowledge the financial support of the National Centre for Re-
search and Development (Poland), project POIR.01.01.01-00-0206/17 “Designing
an autonomous platform which operates in an industrial production environ-
ment”.
References
1. R. Almadhoun, T. Taha, L. Seneviratne, Y. Zweiri, A survey on multi-robot coverage path
planning for model reconstruction and mapping, SN Applied Sciences, 1(8): 1–24, 2019,
doi: 10.1007/s42452-019-0872-y.
2. E.M. Arkin, S.P. Fekete, J.S.B. Mitchell, Approximation algorithms for lawn mow-
ing and milling, Computational Geometry, 17(1–2): 25–50, 2000, doi: 10.1016/S0925-
7721(00)00015-8.
3. G.S.C. Avellar, G.A.S. Pereira, L.C.A. Pimenta, P. Iscold, Multi-UAV routing for area
coverage and remote sensing with minimum time, Sensors, 15(11): 27783–27803, 2015,
doi: 10.3390/s151127783.
4. H. Azpúrua, G.M. Freitas, D.G. Macharet, M.F.M. Campos, Multi-robot coverage path
planning using hexagonal segmentation for geophysical surveys, Robotica, 36(8): 1144–
1166, 2018, doi: 10.1017/S0263574718000292.
5. R. Bähnemann, N. Lawrance, J.J. Chung, M. Pantic, R. Siegwart, J. Nieto, Revisiting
boustrophedon coverage path planning as a generalized traveling salesman problem, [in:]
Field and Service Robotics, pp. 277–290, Springer, 2021.
6. J. Bedkowski, K. Majek, P. Majek, P. Musialik, M. Pełka, A. Nüchter, Intelligent mobile
system for improving spatial design support and security inside buildings, Mobile Networks
and Applications, 21(2): 313–326, 2016, doi: 10.1007/s11036-015-0654-8.
394 J. Szklarski
7. H. Choset, Coverage for robotics – A survey of recent results, Annals of Mathematics and
Artificial Intelligence, 31(1): 113–126, 2001, doi: 10.1023/A:1016639210559.
10. M. Fischetti, J.J.S. González, P. Toth, A branch-and-cut algorithm for the symmetric
generalized traveling salesman problem, Operations Research, 45(3): 378–394, 1997, doi:
10.1287/opre.45.3.378.
11. E. Galceran, M. Carreras, A survey on coverage path planning for robotics, Robotics and
Autonomous Systems, 61(12): 1258–1276, 2013, doi: 10.1016/j.robot.2013.09.004.
12. G. Gutin, D. Karapetyan, A memetic algorithm for the generalized traveling salesman
problem, Natural Computing, 9(1): 47–60, 2010.
13. A. Janchiv, D. Batsaikhan, B. Kim, W.G. Lee, S.-G. Lee, Time-efficient and complete
coverage path planning based on ow networks for multi-robots, International Journal of
Control, Automation and Systems, 11(2): 369–376, 2013, doi: 10.1007/s12555-011-0184-5.
15. T. Li, D. Ho, C. Li, D. Zhu, C. Wang, M.Q.-H. Meng, HouseExpo: A large-scale 2D
indoor layout dataset for learning-based algorithms on mobile robots, [in:] 2020 IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS), pp. 5839–5846, IEEE,
2020.
16. L.D. Nielsen, I. Sung, P. Nielsen, Convex decomposition for a coverage path planning
for autonomous vehicles: Interior extension of edges, Sensors, 19(19): 4165, 2019, doi:
10.3390/s19194165.
17. M. Ozkan, A. Yazici, M. Kapanoglu, O. Parlaktuna, A genetic algorithm for task comple-
tion time minimization for multi-robot sensor-based coverage, [in:] Control Applications
(CCA) & Intelligent Control (ISIC), pp. 1164–1169, IEEE, 2009.
18. I. Rekleitis, A.P. New, E.S. Rankin, H. Choset, Efficient boustrophedon multi-robot cov-
erage: An algorithmic approach, Annals of Mathematics and Artificial Intelligence, 52(2):
109–142, 2008, doi: 10.1007/s10472-009-9120-2.
21. S. Saeedi, M. Trentini, M. Seto, H. Li, Multiple-robot simultaneous localization and map-
ping: A review, Journal of Field Robotics, 33(1): 3–46, 2016, doi: 10.1002/rob.21620.
22. J. Szklarski, Ł. Białek, A. Szałs, Paraconsistent reasoning in cops and robber game
with uncertain information: A simulation-based analysis, International Journal of
Uncertainty, Fuzziness and Knowledge-Based Systems, 27(03): 429–455, 2019, doi:
10.1142/S021848851950020X.
23. Z. Yan, N. Jouandeau, A.A. Cherif, A survey and analysis of multi-robot coordination,
International Journal of Advanced Robotic Systems, 10(12), 2013, doi: 10.5772/57313.
24. L. Zeng, G.M. Bone, Mobile robot collision avoidance in human environments, Interna-
tional Journal of Advanced Robotic Systems, 10(1): 41, 2013, doi: 10.5772/54933.