1. Introduction
The applications for heterogeneous multi-robot systems (MRS) are increasing thanks to the fast advances in autonomy and artificial intelligence in recent decades [
1,
2,
3,
4,
5,
6]. However, it is still difficult to overcome some of the limitations of current technologies due to the dynamic and unpredictable nature of the world. For the systematic operations of MRS to accomplish complex tasks, four main topics should be resolved: (1) task decomposition, (2) coalition formation, (3) task allocation, and (4) task execution/planning and control [
7]. These topics are correlated to each other, which makes the problems even more challenging to solve. The heterogeneity of MRS significantly increases the complexity while causing more layers to the operating system with respect to task decompositions and allocations [
8].
Generally, heterogeneity is categorized into either structural or functional heterogeneity. Structural heterogeneity typically includes differences in the robot designs, for instance, differences in motion constraints, running speed, yaw rate, and fuel capacity. On the other hand, functional heterogeneity includes differences in the functions, such as different types of data coming from various sensors, maximum payloads, and the ability to collect samples. Sensor-related issues on each robot are one of the factors that make task allocation and planning more challenging, and there are several active ongoing research inquiries into this [
9,
10,
11,
12]. The more heterogeneity factors, the greater the computational load to find an efficient operational strategy for MRS.
This paper focuses on solving a task allocation and planning problem for an MRS with structural heterogeneity. Although it is desirable to consider various heterogeneity factors, we deal with a problem that includes the structural heterogeneity of MRS at this time. Specifically, we assume that the system has heterogeneous mobile robots in a 2D space, such as autonomous surface vessels or ground robots, with different motion constraints and running velocities. We are interested in finding paths for the robots that complete all of the given tasks within the minimum period with a given system. When the robots depart from distinctive locations, and the travel costs do not guarantee symmetricity, we call the problem a min–max multiple depot heterogeneous asymmetric traveling salesperson problem (MDHATSP). This problem is a generalized TSP, which means that it is an NP-hard problem [
13]. As preliminary research, two robot problems (2DHTSP, 2DHATSP) were studied in [
14], and the problem for multiple structurally heterogeneous robots with symmetric travel costs (MDHTSP) was studied in [
15]. At this time, we relax the symmetric travel cost condition by assuming the robots to be Dubin’s vehicles [
16] with different minimum turning radii. To focus on the practical aspects of the approach, we put our efforts into lightening the computational loads for large problems while maintaining good solution qualities.
As research on the task allocation of MRS has become more active than in previous years, some publications are dealing with similar problems. However, as is characteristic of MRS operational research, each publication deals with its specific scenario, which makes it difficult to deploy to other scenarios. In a recent publication, Sun and Escamilla proposed an unscented transform-based approach for a task allocation process with uncertainty in situational awareness in [
17]. While dealing with functional heterogeneity, they proposed a Hungarian algorithm by focusing on handling uncertainties. Li et al. presented a hybrid large-neighborhood search algorithm that solves a multiple depot autonomous aerial vehicle (AAV) routing problem [
18]. The article is focused on addressing an open constraint on return depots without considering heterogeneity. Similarly, Cho et al. presented a sampling-based tour generation algorithm for multiple AAVs by formulating the problem into a generalized MDHATSP [
19]. While [
19] dealt with the most similar problem to that of this paper, their objective is min-sum, and there is a constraint that the robots must return to one of the terminal nodes. A decentralized auction algorithm for the task allocation of MRS under a limited communication range with a min-sum objective has been proposed in [
20]. The task allocation problem of autonomous underwater vehicles’ problems with time and resource constraints and a min–max objective is dealt with in [
21]. In [
22], an ant colony algorithm for a min–max MDTSP without heterogeneity is proposed, and the results are compared with those of a linear program (LP)-based algorithm. While these approaches deal with the task allocation for MRS, they have distinct objectives and constraints, and none deal with the same problem as that of this paper. This paper aims to fill this gap by targeting the production of reasonable solutions within a short time for a generalized problem.
This paper has several unique contributions as an extension of the preliminary work presented in [
15]. The heuristic in [
15] is developed for a min–max MDHTSP, which only solves problems with symmetric costs. This paper’s novelty is based on the following contributions: First, we present a new approach in Algorithm 1 for deciding on the dual variables
, which play a role as the weights on travel costs for each robot. Due to generalized travel costs, the algorithm is designed to embrace the asymmetricity of the costs. In addition, new pruning steps for the primal–dual heuristic were developed in Algorithm 2 to enhance the task distribution between the robots. The algorithms are implemented and compared with LP solutions with relaxed integer constraints, the LP rounding method, and our work on a min-sum MDHATSP [
23] to verify the effectiveness of the proposed algorithm from the perspective of workload balancing. Lastly, the real-world experimental results are added to verify the feasibility of the algorithm in the field.
The remainder of this paper is structured as follows: In
Section 2, we specify the problem and present the formulations.
Section 3 presents the primal–dual heuristic approach for a min–max MDHATSP. We present the computational results in
Section 4 and, finally, conclude in
Section 5.
2. Problem Description and Formulation
This section specifies the problem of allocating tasks between robots in a given heterogeneous MRS visiting a given set of targets. In the end, we aim to find a path for each robot that satisfies its motion constraints and completes all of the given tasks by the MRS while minimizing the maximum travel cost among the agents. We assume that the travel costs are asymmetric but still satisfy triangle inequalities. The robots depart from distinct locations and return to their depots once they have completed the assigned tasks. We assume that the robots have different running velocities and minimum turning radii, as briefly introduced earlier. The travel cost is defined as the travel time of the robot and is calculated by , where represents the distance of the shortest path from vertex i to j for robot k, and represents the average running velocity of robot k. We also assume that each robot is labeled as their running velocities decrease and the minimum turning radius increases as their indices increase. Under this assumption, all travel costs will monotonically increase based on their indices, i.e., .
Given a set of
m robots and
n targets, the parameters and decision variables used in the formulation are described as follows:
Parameters: | |
| A set of depots |
| A set of targets |
| A set of vertices for the kth robot |
| A set of edges that connect all vertices in |
| The travel cost of the edge from vertex i to vertex j for the kth robot |
| The subset of the edges of that enter S from |
Decision variables: | |
| the decision variable that represents whether the edge is used for the tour of the kth robot |
| |
| the decision variable that represents the assignment of targets in T for the kth robot |
| |
q | the maximum travel cost among the given m robots |
Based on the provided parameters and decision variables, the formulation for a linear program (LP) relaxation of the problem is shown below:
To have the formulation in an LP form, we made the objective to be minimizing
q as presented in (
1), and
q represents the maximum travel cost, as shown in (
5). As the travel costs can be asymmetric, we focused on finding a heterogeneous directed spanning tree by relaxing the outgoing degree constraints while keeping the entering degree constraints in (
2)–(
4). The non-negativity constraints for the decision variables are (
6)–(
8). The dual problem of the LP relaxation is derived as follows to develop a primal–dual heuristic:
In this formulation, can be interpreted as the weights that prioritize the robots based on their capabilities, and can be considered the price that the vertices in set S are willing to pay to be connected to the depot .
3. A Heuristic for Min–Max MDHATSP
The heuristic for a min–max MDHATSP consists of two main procedures, which are presented in Algorithms 1 and 2. While Algorithm 1 focuses on determining the
values for each robot to improve the workload distribution, Algorithm 2 produces a feasible task allocation and path planning solution for the fixed
values. In Algorithm 1, we try to transfer the workloads from the robot with the maximum travel cost to other robots to reduce the maximum travel cost in each iteration. In the heuristic presented in Algorithm 2, we used the dual problem (
9)–(
14) to find a heterogeneous directed spanning forest (HDSF). The resulting forest will become the allocation of the tasks. As we have mentioned, the algorithms treat
similarly to the weights on robots to prioritize based on their capabilities.
is treated as the prices that all targets in
S are willing to pay to become reachable from
. The weighted costs should satisfy the monotonic increase inequalities,
, all of the time in order to guarantee the feasibility of the algorithm. The notations below are utilized to present the algorithm’s details.
Algorithm Notations: | |
| A set of edges added to the graph for the kth robot |
| A collection of vertex sets in the graph for the kth robot |
| The dual variable of set S for the kth robot |
| The variable that represents the status of |
| |
| A set of costs for all robots |
| A set of all |
| A set of assigned paths |
| A set of travel costs of |
The algorithm starts with setting the
values to an equally distribution. This step ensures that at least one feasible solution is produced for the problem as it should satisfy the monotonically increasing inequalities in the default. Once the algorithm finds a feasible solution, it iteratively runs a primal–dual heuristic (Algorithm 2) while changing the
values to reduce the maximum travel cost. To satisfy the monotonically increasing inequalities of the weighted costs, we designed the algorithm such that the
also satisfies the monotonically increasing inequalities, i.e.,
.
is adjusted with a small amount
(heuristically determined by the user) to share the overloaded work with other robots while remaining tight (
12).
Algorithm 1 A Heuristic for a Min–Max MDHATSP |
- 1:
for ; - 2:
- 3:
- 4:
while there is no improvement in G do - 5:
- 6:
if then - 7:
for j = 1: do - 8:
- 9:
end for - 10:
for j= k:v do - 11:
- 12:
end for - 13:
else - 14:
break, - 15:
end if - 16:
for - 17:
- 18:
if then - 19:
- 20:
end if - 21:
end while - 22:
return
|
With every fixed
value, the task assignment is determined by Algorithm 2. Each robot has its own graph, with all targets and a depot as the vertices. Initially, each vertex is in its own set, all dual variables are zero, and the edge set
is empty. For every iteration, the algorithm search for the dual variable that can make one of the constraints (
10) tight with the smallest increment. Add the corresponding edge
to
. Then, we look into the graph for this robot and check if any valuable changes have been made. First, if a new strongly connected component is formed, but the new component is not reachable from
, then let the new component be an active set. Second, if any set became newly connected to
, then let
and all reachable sets from
be a new inactive set. This new component’s subsets should also all be deactivated, while supersets should all be marked. Lastly, if neither the first nor the second happened, deactivate the component. When the algorithm proceeds further, there may be a phase in which there is no active set without entering edges, but some sets are still not connected to the depot. Then, the algorithm generates a new active component for each graph by combining some connected sets with at least one that is marked. The iteration will stop when all sets in the graphs are inactive.
Algorithm 2 [TourCost, Tour] = GetPartition() |
- 1:
Initialization - 2:
, , for - 3:
All vertices are unmarked. - 4:
All dual variables are set to zero. - 5:
, , for - 6:
, for - 7:
Main loop - 8:
while there exists any active component in do - 9:
for do - 10:
Find an edge with where that minimizes . - 11:
end for - 12:
Let the corresponding be while satisfies and all are active. - 13:
- 14:
Increase the dual variables of with the amount of - 15:
if forms a new strongly connected component, and the component is not reachable from , then - 16:
Let the new strongly connected component be a new active component. - 17:
else if makes any vertex reachable from , - 18:
Let and the all the reachable vertices from be a new inactive component. - 19:
if then - 20:
Deactivate all subsets of this component in . - 21:
end if - 22:
if then - 23:
Mark all the vertices in the supersets of this component in . Deactivate them if the corresponding components consist of all marked vertices. - 24:
end if - 25:
else - 26:
Deactivate . - 27:
end if - 28:
if there exists any inactive set without an entering edge that is not connected to the depot, and there exists no that can be chosen to satisfy the given conditions for any , then - 29:
Pick an inactive component for each k consisting of marked vertices with entering or outgoing edges. Combine the connected components until the new component does not have any entering edges. Let the new component be active. - 30:
end if - 31:
end while - 32:
Pruning - 33:
Let be the resulting forest after performing reverse-deleting steps to remove all unnecessary edges. - 34:
Let be the vertices in for - 35:
Let be the vertices that are only connected to for . - 36:
if there exist any that do not belong to any for then - 37:
Let be a set of such vertices. - 38:
while do - 39:
Find the closest distances to the depots for all vertices in . - 40:
Find the shortest distance. Let be the corresponding vertex, and be the closest depot. - 41:
; - 42:
end while - 43:
else - 44:
= - 45:
end if - 46:
Find the shortest tour for for . - 47:
return =0
|
Lemma 1. The proposed heuristic produces a feasible plan for the given set of robots such that every given target is visited only once by one of the robots.
Proof. In Algorithm 2, the main loop terminates when all of the components are inactive. There are only three cases in which the components can be deactivated. First, the component is not any part of the strongly connected components that do not have entering edges, and none of the components’ vertices are reachable from the depots. Second, the component becomes reachable from its depot. Third, one of its supersets/subsets becomes reachable from its depots. As the first condition can deactivate only one component within S, the termination condition cannot be met by only the first condition. That means that the second or third condition should meet at least one in order to terminate the main loop, thereby implying that all components should be connected to at least one depot. The pruning steps ensure that each target is connected to only one depot if there exists any target that is connected to multiple depots. Thus, Algorithm 2 produces a feasible solution for the given set of robots such that every given target is visited only once by one of the robots. As Algorithm 1 updates the values while maintaining the monotonically increasing inequalities, the proposed heuristic produces a feasible solution to the problem. □