Abstract
Complete coverage, which is integral to many robotic applications, aims to cover an area as quickly as possible. In such tasks, employing multiple robots can reduce the overall coverage time by appropriate task allocation. Several multi-robot coverage approaches divide the environment into balanced subareas and minimize the maximum subarea of all robots. However, balanced coverage in many situations, such as in the cases of robots with different velocities and heterogeneous multi-robot systems, may have inefficient results. This study addresses the unbalanced complete coverage problem of multiple robots with different velocities for a known environment. First, we propose a novel credit model to transform the unbalanced coverage problem into a set of single-objective optimization problems, which can find a combinational optimal solution by optimizing each separate objective function of the single-objective optimization problem to alleviate the computational complexity. Then, we propose a credit-based algorithm composed of a cyclic region growth algorithm and a region fine-tuning algorithm. The cyclic region growth algorithm finds an initial solution to the single-objective optimization problems set by a regional growth strategy with multiple restricts, whereas the region fine-tuning algorithm reallocates the tasks of the partitions with too many tasks to the partitions with too few tasks by constructing a search tree, thereby converging the initial solution to the optimal solution. Simulation results indicate that compared with conventional multi-robot complete coverage problem algorithms, the credit-based algorithm can obtain the optimal solution with the increased number of robots and enlarged size of the mission environment.
Introduction
Complete coverage problem (CCP) is the task of visiting all the points over the available space while avoiding obstacles and minimizing the coverage time. 1 This task is integral to many robotic applications, such as area exploration, 2,3,4,5 environment monitoring 6,7,8,9 oil pill cleaning, 10 searches and rescue, 11 and automation in agriculture 12,13 Utilizing multiple robots may reduce the overall coverage time by appropriate task allocation and enhance the robustness to the potential failures. 3 However, the collaboration within multiple robots increases the algorithmic complexity and logistic management. 11,14
This paper addresses the problem of covering a known environment with a group of mobile robots. The mission environment has been decomposed into regions, and each region has a known weight representing its area to cover it. 15 After decomposition, the mission environment can be abstracted as a node-weighted graph, where nodes represent regions and edges represent the common boundary between two regions. 2 Figure 1(a) illustrates a known environment decomposed into cells, whereas Figure 1(b) represents the abstract graph of the environment after cell decomposition. Each vertex in the abstract graph represents a task. Complete coverage requires that each task has been assigned to at least one robot. If there are no tasks been repeatedly assigned, it is called disjoint task allocation. Figure 1(c) illustrates a disjoint task allocation to two robots. Disjoint task allocation prevents tasks from being executed repeatedly to improve efficiency. 16 In addition, the tasks assigned to the same robot should be connected, thus avoiding the disasters of robot collisions. After task allocation, a single-robot coverage path planning approach is utilized to plan coverage paths individually for each robot. The implementation of single-robot coverage path planning is beyond the scope of this article, and reviews of such approaches are presented in the literature. 17,18,19

A task allocation solution for two robots that travel at 1.5 m/s and 0.5m/s. The tasks of multiple robots are disjoint, whereas tasks of a single robot are connected. The single-robot coverage path planning algorithm is applied to each robot’s tasks, generating the coverage path for a single robot. (a) The mission environment has been decomposed into multiple cells, in which blue cells and white cells represent obstacles and the area to be covered, respectively. (b) Environment abstraction. Vertices represent coverage cells, whereas edges between vertices refer to common borders. (c) Task allocation. The task set has been divided into two partitions. The large partition is assigned to the fast robot, whereas the small partition corresponds to the slow robot.
Several research approaches have been proposed in the past to perform multi-robot CCP. Most multi-robot CCP approaches divide the environment into balanced subareas and minimize the maximum subarea of overall robots. This min–max problem is usually modeled as the balanced, connected q partition (BCPq) problem. 2,20,21,22,23 While for some applications, utilizing BCPq for area coverage achieves higher efficiency in many situations, such as robots with different velocities and heterogeneous multi-robot systems, balanced task allocation may have inefficient results. With this consideration, multi-robot CCP algorithms can be categorized as either balanced or unbalanced. Balanced coverage algorithms ensure that the coverage task is divided into equal subtasks, whereas for an unbalanced approach, there is necessary to assign tasks to robots considering their relative capabilities. Figure 1(c) illustrates an example of unbalanced task allocation, in which two robots with different velocities are used for coverage. The fast robot deserves more tasks to improve the coverage efficiency, while the slow robot deserves few tasks. For such an unbalanced coverage approach, the challenge is developing a suitable optimization methodology to find the optimal solution with higher accuracy and a broader range.
This article proposes a credit-based algorithm based on a novel credit model to address the unbalanced task allocation problem for multiple robots. Unlike previous works, this article assumes that each robot’s velocity in a multi-robot system can be different. The credit-based algorithm divides the coverage tasks into several disjoint and interconnected subtasks according to robots’ velocities. Simulation results indicate that the proposed algorithm performs well in terms of precision and scalability. In summary, the contributions are as follows: We model the unbalance coverage problem into a multi-objective optimization problem (MOP) and propose a novel credit model to decouple the MOP into a set of single-objective optimization problems (SOP) to alleviate the computational complexity. We propose a credit-based algorithm composed of a cyclic region growth algorithm and a region fine-tuning algorithm. The cyclic region growth algorithm obtains an initial combinatorial solution for the set of SOPs by a multi-constrained task assignment strategy, whereas the region fine-tuning algorithm converges the initial solution to the optimal solution by reallocating the tasks of the partitions with too many tasks to the partitions with too few tasks. Experiments demonstrate that compared with conventional balanced multi-robot task allocation (MRTA) algorithms,
2,23
the credit-based algorithm can obtain the optimal solution with the increased number of robots and enlarged size of the mission environment. Besides, the credit-based algorithm can obtain the optimal unbalanced solution for 300 robots in the environment with a size of 300*300 cells.
The rest of the article is organized as follows. The second section presents the related work. In the third and fourth sections, we present the problem statement and outline the proposed algorithm. Then, experimental results are presented in the fifth section. Finally, the conclusion is presented in the sixth section.
Related work
Task allocation is one of the fundamental problems of multi-robot systems, which involves matching tasks and robots to optimize the overall system performance subject to specific constraints. 24 According to the requirements of tasks and the characteristics of multi-robot systems, MRTA can be divided into diverse categories. 25 Different from other approaches, this article studies the MRTA for the application of area coverage. We assume that the mission environment is already known and has been abstracted into a node-weighted graph. The robots have ideal execution capabilities, each robot can only perform one task simultaneously, and each task requires a robot to perform. The goal of the task allocation problem is to divide the graph into several partitions, which are connected with the optimal number of tasks.
The problem of balanced, connected, and disjoint partitions of known graphs are usually modeled as a min–max BCPq problem. Several approaches optimize the BCPq by tree partition, which generates a virtual tree based on the graph and then divides the tree in specific ways to obtain q partitions with the same weights. Hazon and Kaminka 20 first generated a spanning tree coverage path based on the graph and then assigned k portions of the path to different robots. The coverage time of work 20 was reduced by two times under the condition that no intersects tasks were generated. However, it cannot guarantee that task assignment is close to optimal as the number of robots grows. Zheng et al. 21 proposed a polynomial-time algorithm to find k (k = the number of robots) trees that covered all vertices and assigned an even set of tasks to k robots. Although this method guarantees that the coverage time is eight times the optimal coverage time, it assumes that trees can overlap.
Different from tree partition, graph partition has been proved to be an NP-hard problem, even when
Balanced task allocation is a particular case of unbalanced task allocation. For unbalanced task allocation, the most widely known method is the market-based method, especially auction algorithms. The core idea of auction algorithms is that each agent bids on a task and the winner is assigned to this task. Literature 28 found that simple auction-based allocation linearly increased the computational cost as the number of robots grew. The linear computational complexity effectively improves the algorithm’s scalability. However, its performance in a multi-agent environment is still an issue. ElGibreen and Youcef-Toumi 29 used the auction method to assign appropriate tasks to heterogeneous robots. Although this approach performs well, it is a time-extended assignment but not an instantaneous assignment. Liu and Shell 30 mixed centralized and distributed methods at different levels to improve the algorithm’s scalability. The allocation method is scalable, but it sacrifices the quality of the results.
The analysis of related works indicates that there is always a trade-off between scalability and accuracy. Exact methods take time to find the optimal solution, and thus they do not scale well. Although heuristic methods always find the solution quickly and effectively, it tends to be affected by a heuristic, which may lead to local optimal rather than global optimal. Therefore, there is room for contributions to improve the scalability and accuracy of task allocation approaches. According to this necessity, this work proposes a novel algorithm that considers both scalability and accuracy for the unbalanced MRTA problem.
Problem statement and formulation
In the following section, the MRTA of area coverage is formally presented together with relevant definitions. We assumed to have a multi-robot system
This article discusses the complete and optimal coverage problem for a multi-robot system. The complete coverage denotes that each vertex in the graph G has to be assigned to at least one robot, and the optimal coverage refers to dividing V into K disjoint partitions
Objective
s.t.
where
Remark 1. A partition
Because of the start points of robots and the distribution of obstacles, the optimal solution of the MOP may not exist. For example, if other robots completely surround a robot, it is impossible to find a solution that satisfies both condition 1 and condition 3 in Remark 1. Therefore, we focus on the case that there is at least one optimal solution in this article.
Proposed solution
To address the unbalanced task allocation problem of multi-robot systems, this article presents a credit model and a credit-based algorithm.
Credit model
Several models have been proposed to address the MRTA problem of area coverage. For example, a flow model 31 was proposed to address the balanced and connected task allocations for multi-robot systems. However, the flow model was designed for graphs of less than 200 nodes of two robots, which may not suit the large and complicated coverage applications. This article proposed a novel credit model to solve the unbalanced MRTA in a broader range and with higher accuracy. The credit model takes inspiration from the conventional market-based methods 32 and uses the concepts of traders and commodities. Robots in the credit model are set up as traders in a virtual economy, whereas coverage tasks are tradable commodities with measurable values. Unlike market-based methods, we introduce a virtual bank that opens a credit account for each robot and manages traders’ accounts and assets. Each account’s capital is initialized to the robot’s optimal number of tasks and can be changed with the transactions between traders. Two types of transactions may occur: (i) if a robot buys a task, its account balance decreases by one and (ii) if a robot sells a task, its account balance increases by one. If a trader wants to purchase a task but does not have any money in his account, he can get a loan from the virtual bank without interest and his account balance will be negative. Thus, each account’s balance is used to quantify the difference between actual assignment and optimal assignment. All accounts have a balance of zeros, indicating that K robots all have the optimal number of tasks, which means the first condition in Remark 1 is satisfied. In addition, if all partitions simultaneously meet the other conditions in Remark 1, the partitions are the optimal combinatorial solution of the MOP. Figure 2 illustrates an example of the credit model, in which four robots are assigned to cover the mission environment.

An example of the credit model for four robots. Given that the velocities of robots are 1m/s, 1m/s, 2m/s, and 2m/s, their optimal numbers of tasks are set as 16, 16, 32, and 32 cells, respectively. (a) The mission environment after being decomposed. The white, black, green, blue, red, and yellow cells represent the coverage task, obstacle, and starting points of the four robots, respectively. (b) Task allocation. The task set has been divided into four partitions with 16, 16, 32, and 32 cells. Partitions’ tasks are disjoint, and the tasks of each partition are interconnected.
Based on the credit model, we set a specific objective function for each partition
where
The credit-based algorithm
We apply the credit model to the CCP application and propose a novel credit-based task allocation algorithm to find the combinational optimal solution of K partitions. The credit-based algorithm comprises the cyclic region growth algorithm and the region fine-tuning algorithm. The cyclic region growth algorithm obtains K initial partitions by a multi-constrained task assignment strategy, whereas the local task reassignment algorithm optimizes the K initial partitions based on a search tree.
Cyclic region growth algorithm
The certain environment has been decomposed by the grid-based decomposition methods 33,34 and been modeled as a binary map M. In M, the cell with a value of 0 represents the obstacle cell, whereas the cell with a value of 1 refers to the free space cell to be covered. Once a cell is allocated to one robot, the map updates this information in real time. Figure 3 demonstrates an example of map initializing and updating, in which cells allocated to r 1 are transited from “1” to “1.1,” whereas cells assigned to r 2 are marked from “1” to “1.2.”

The dynamic updating process of the map for two robots. 0 and 1 represent the obstacle cell and free space cell, respectively, whereas 1.1 and 1.2 refer to the cell that has been allocated to r 1 and r 2, respectively. (a) Obstacle layout and the initial map encoding. (b) Task allocation screenshots and map encoding updates.
The cyclic region growth algorithm works as follows: each partition alternately purchases tasks, and all partitions incrementally get larger and larger as the numbers of purchased cells increase. Partitions will stop growing once all tasks have been purchased and V has been divided into K partitions. Specifically, five restrictions are proposed to make all partitions meet the second to the fifth conditions in Remark 1.
Complete coverage restriction. To make K partitions meet condition 2 of Remark 1, we assume that the cyclic region growth algorithm ends if all coverage tasks are purchased, i.e. each task is allocated to at least one robot.
Disjoint restriction. To meet condition 3 of Remark 1 for K partitions, it is assumed that each partition can only buy the tasks which other partitions have not bought. This restriction enables that a coverage task would not be assigned to multiple robots.
Connective restriction. The connective restriction makes each partition meet the fourth condition in Remark 1. We call the task set adjacent to Vk
and have not yet been purchased by other partitions as the adjacent task set of Vk
, denoted as An example of the cyclic region growing algorithm. The optimal number of tasks for five partitions is 68, 136, 202, 67, and 67. (a) Initial map of the cyclic region growing algorithm. The colored cells represent the starting points of five robots, whereas the surrounding grey cells represent corresponding adjacent tasks. (b) Screenshot of the region’s growing process. Five partitions purchase adjacent tasks and grow around their starting point at a rate of 1:2:3:1:1. (c) The output of the cyclic region growing algorithm. The map has been divided into five connected partitions.
Starting point restriction. We assume that K partitions grow around their starting point to meet condition 5 of Remark 1.
Growth rate restriction. To make the number of tasks of each partition close to the optimal, we set that partitions alternately purchase tasks at specific rates. The partition with a large number of optimal tasks can purchase more tasks, whereas the partition with a small number of potimal tasks can buy only a few tasks. For example, in Figure 3, the optimal number of tasks for five partitions is 68, 136, 202, 67, and 67, indicating that the number of purchasing tasks at one time and the total number of tasks for five partitions have the ratio of 1:2:3:1:1.
Remark 2. Let
If the robot rk
purchases a cell during region growth, the corresponding objective function
The pseudo-code of the cyclic region growth algorithm is present in Algorithm 1. The given inputs are a binary matrix M, robots’ starting points
Computational complexity. The cyclic region growth algorithm trades N tasks. For each task, it performs nine operations, while four operations are for updating
Region fine-tuning algorithm
Because of the random starting positions of robots and complex obstacles, the number of tasks of K partitions obtained by the cyclic region growth algorithm may not be optimal. Therefore, a region fine-tuning algorithm is presented to eliminate the difference between the actual and optimal partitions. In the region fine-tuning algorithm, the objective function
Assume that start and dest are the two partitions that need to reassign tasks. Two possible cases can occur based on the positions of

An example of the search path in the region fine-tuning algorithm. The vertices represent partitions, whereas edges indicate that the two partitions are adjacent. The dotted line represents the task exchanging path, and all partitions in the path need to exchange tasks.

An example of the region fine-tuning algorithm. Partitions with too many tasks reallocate tasks to the partitions with too few tasks. The reallocated cells between partitions are marked by white lines. (a) Initial task allocation obtained by the cyclic region growth algorithm. The task numbers of five partitions deviate from the optimum by {−2, 3, −3, −10, 12}. (b) Snapshot of the region fine-tuning algorithm. The partition in the lower right corner reassigns six tasks to the partition in the lower-left corner and four tasks to the partition in the upper right corner. (c) An optimal task allocation obtained by the region fine-tuning algorithm after multiple task reassignments.
The pseudo-code of the region fine-tuning algorithm is present in Algorithm 2. The inputs are the output of Algorithm 1 (
Computational complexity. Suppose that
Experiment
The computational experiments are carried out on a PC with Intel(R) Core(TM) CPU i7-8565U, 1.8 GHz processor, 16 GB RAM, WIN10. We present three sets of simulations in MATLAB 2018a. The first set shows the validation of the proposed algorithm in different environments. In the second set, the credit-based algorithm was compared with the state-of-art balanced MRTA algorithms. 2,23 The third set shows the scalability of the credit-based algorithm for multi-robot systems with unbalanced optimal tasks (the simulation results are available online https://github.com/lilin-ll/Complete-Coverage-Problem-of-Multiple-Robots-with-Different-Velocities.git).
Experimental validation in different environments
For validating the credit-based algorithm, different environments were used. In Figure 7, the top row presents the indoor environment, cave environment, and random environment, whereas the second row shows the respective task allocations obtained by the credit-based algorithm. Four robots with different velocities are assigned to perform the coverage. The second row of Figure 7 shows that the credit-based algorithm could assign coverage tasks according to robots’ velocities in different environments.

Task allocations of the credit-based algorithm in different mission environments. Four robots assigned to the coverage task can travel at 0.5m/s, 0.5m/s, 1m/s, and 1m/s. (a) Indoor environment. (b) Random environment. (c) Cave environment. (d) Task allocation. Four partitions with 52, 52, 104, and 104 cells are obtained. (e) Task allocation. Four partitions with 57, 57, 112, and 112 cells are obtained. (f) Task allocation. Four partitions with 55, 55, 110, and 109 cells are obtained.
Comparison experiments with balanced MRTA algorithms 2,23
This section presents a comparison study between the proposed credit-based algorithm and the state-of-art Mofint 2 algorithm, and Darp 23 algorithm. Mofint 2 algorithm was proposed to partition a graph with k tress, and the maximum weight of these trees should be minimized. Darp 23 algorithm utilized a cyclic coordinate descent approach to assign balanced tasks to multiple robots.
Simulation setup. To generate comparable results, we adopt a similar simulation setup in Kapoutsis et al.
23
A set of 20 mission environments is randomly generated and modeled into binary images according to the approach in Gabriely and Rimon.
34
More precisely, The size of the mission environment includes two classes: Small ([ROW, COL] = 55 The number of obstacles includes two levels: 10% and 20% of the total number of cells in the mission environment. A random function automatically generates the row and column coordinates of every obstacle. The number of robots varies from 10, 20, 30, 40, 50, 80 to 100 robots. Random robots’ starting positions.
To produce comparable results, we randomly generated 10 sets of robot starting points for each environment and applied the credit-based algorithm in environments with different starting points. As shown in Figure 8, for each combination of the coverage methods and scenario, the maximum number of tasks of all partitions for the credit-based algorithm, Mofint, 2 and Darp 23 are presented. Additionally, the optimal number of cells [Optimum], which represents the optimal solution, is shown in each scenario. The closer to the Optimum, the better the algorithm is. Mofint and Darp could not produce valid results in some scenarios, and we presented this case with a blank on the graph.

Results. The results for each combination of different scenarios are illustrated in Figure 8. As shown in Figure 8(a), on the premise of 10% obstacle density and a mission environment with a size of 55

Simulation results of the credit-based algorithm in the scenario with small sizes and 10 robots. (a) to (e) and (k) to (o) show the mission environment with 10% and 20% obstacle density and different starting points of robots (marked in red), while (f) to (j) and (p) to (t) show corresponding task allocations.
Comparison experiment with unbalanced optimal MRTA
In this subsection, we study the applicability of the credit-based algorithm in multi-robot systems with unbalanced optimal tasks and discuss its performance for the size of the mission environment, the number of robots, and the density of the obstacles.
Simulation setup. A set of sixteen target areas are randomly generated and have been modeled into binary images according to the grid decomposition approach.
34
More precisely, The size of mission environment includes four classes: small ([ROW, COL] = 55 The number of obstacles includes two levels: 10% and 20% of the total number of cells in the mission environment. A random function automatically generates the row and column coordinates of every obstacle. The number of robots varies from 10, 30, 40, 50, 100, 150, 200 to 300 robots. A random function automatically generates the row and column coordinates of robots’ starting positions. We generate an integer array by a random function and normalize it to a float array. The optimal task numbers for a multi-robot system are obtained by multiplying the total number of tasks and the normalized array.
The optimal number of tasks for each robot is different. Therefore, to visually demonstrate the performance of the credit-based algorithm, the ratio of the actual number of cells to the optimal number of cells is present. Denote the robot, which has the maximum ratio or minimum ratio, as the specific robot. As shown in Figure 10, the maximum ratio represents the worst case, where the actual number of cells of the specific robot is higher than its optimal number. The minimum ratio represents the worst case, where the actual number of cells of the specific robot is less than its idealized number. Additionally, the idealized ratio 1 [Optimum], which represents the optimal solution, is presented in each scenario. The smaller the deviation from the idealism is, the closer the result is to the optimal solution. The Optimum is only an upper bound since the optimal number of cells may have the decimal, while the actual number of cells can only be an integer.

The minimum/maximum ratio results of the credit-based algorithm compared to the optimum for a variable number of robots and a variable size of the target area. The smaller the deviations from optimum 1, the closer the result is to the optimal solution. (a) Small, (b) medium, (c) large, and (d) verylarge.
Results. The results for each combination of different scenarios are illustrated in Figure 10. As shown in Figure 10(a), on the premise of 10% obstacle density, mission environment with a size of 55
It should be noted that there are slight differences between the Optimum and the minimum/maximum ratio. The quantization operation introduces these differences in the transformation of the normalized float array to the optimal numbers of robots, and these differences are no more than one cell. For example, Figure 11(a) is the experiment scenario with a mission environment size of small and 10 robots, while Figure 11(b) is the corresponding task allocation. In Figure 11(b), the minimum ratio is 0.989732, whereas the maximum ratio is 1.002574. For the maximum ratio, the optimal number of tasks for the robot with the maximum ratio is 233.399222, while the actual number of tasks allocated is 234. For the minimum ratio, the optimal number of tasks for the robot with the smallest ratio is 77.798833, while the actual assigned tasks are 77. Therefore, the ratio of optimal to actual is 0.989732.

The task allocation for the scenario with small size and 10 robots. The ratio of the number of tasks in the 10 subregions is 2:5:3:3:5:1:2:4:5:5. (a) The scenario with small size and 10 robots. The black, white, and red cells represent the obstacle, covered tasks, and the starting point of robots. (b) Task allocation. The credit-based algorithm partitions the mission environment into 10 subregions with 2:5:3:3:5:1:2:4:5:5 sizes.
Conclusion
In this article, the unbalanced MRTA problem of area coverage is investigated. We formulate this problem into a MOP and propose a novel credit model to decompose the MOP into a series of SOPs. Then, the credit-based task allocation algorithm based on the credit model is presented to find the combined optimal solution of the SOPs. The credit-based algorithm includes the cyclic region growth algorithm and the region fine-tuning algorithm. The former generates multiple partitions of the task set by a multi-constrained region growing strategy, and the latter adopts a local task exchange strategy based on a search tree to eliminate the local optimum and optimum differences. Simulation experiments show that the credit-based algorithm can obtain the optimal solution with the increased number of robots and enlarged size of the mission environment in both balanced assignment and unbalanced assignment scenarios.
However, the credit-based algorithm still suffers from some limitations. First, the credit-based algorithm applies to the mission environment abstracted as a binary node-weight graph but not the general graph, limiting its scope of application. Second, the credit-based task allocation algorithm only addresses the task allocation problem and does not consider the path planning problem. In the future, we will further study the CCP method suitable for general graphs and practical coverage path planning.
Footnotes
Acknowledgments
The authors are grateful to the colleagues who are not on the author list for their valuable suggestions.
Authors’ contributions
Conceptualization: Lin Li, Dianxi Shi, Hengzhu Liu, and Songchang Jin; Methodology: Lin Li, and Dianxi Shi; Formal analysis and investigation: Lin Li and Xing Zhou; Writing—original draft preparation: Lin Li; and Writing — review and editing: Songchang Jin, Chao Xue, Ying Kang, XiaoXiao Yu, and Dianxi Shi.
Authors Note
The author Chao Xue is now affiliated with Tianjin Artificial Intelligence Innovation Center (TAIIC), Tianjin, China.
Code availability
The data and code that support the findings of this study are available from the corresponding author upon reasonable request.
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China (Grant No. 91948303).
