Next Article in Journal
Hyperspectral Image Classification Based on Transposed Convolutional Neural Network Transformer
Previous Article in Journal
Machine and Deep Learning Algorithms for COVID-19 Mortality Prediction Using Clinical and Radiomic Features
Previous Article in Special Issue
GR(1)-Guided Deep Reinforcement Learning for Multi-Task Motion Planning under a Stochastic Environment
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Distributed Conflict-Free Task Allocation Method for Multi-AGV Systems

1
Hangzhou Power Equipment Manufacturing Co., Ltd., Yuhang Qunli Complete Electrical Manufacturing Branch, Hangzhou 311100, China
2
School of Automation, Hangzhou Dianzi University, Hangzhou 310018, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(18), 3877; https://doi.org/10.3390/electronics12183877
Submission received: 23 August 2023 / Revised: 6 September 2023 / Accepted: 11 September 2023 / Published: 14 September 2023
(This article belongs to the Special Issue Recent Advances in Multi-Agent System)

Abstract

:
In the era of Industry 4.0, as the main force of intelligent logistics systems, multi-Automated Guided Vehicle (AGV) systems have developed rapidly. At present, multi-AGV systems are a research hotspot, where task allocation as a key technology is being paid much attention. In this study, a new task allocation scheme for multi-AGV systems is proposed based on a distributed framework. The AGVs can autonomously select tasks, plan paths, and communicate with its neighbors to ensure that all tasks are completed at a low cost and conflicts are avoided. While ensuring total connectivity, the proposed method can avoid the calculation pressure of task center surges when the number of AGVs increases sharply, and has the advantages of good flexibility and good real-time performance. In addition, some examples are provided to demonstrate the effectiveness of the connectivity maintainer and task allocation method.

1. Background Introduction

Since the third industrial revolution, traditional industrial technology has dominated the manufacturing industry and supported the development of the industry. However, with the progress of human science and technology, the drawbacks of its development mode have gradually emerged, such as its low production efficiency, waste of resources, and other problems. Therefore, the transformation and upgrading of the traditional manufacturing industry is imperative, and the fourth industrial revolution, “Industry 4.0”, is about to emerge. In the era of “Industry 4.0”, it is necessary to take intelligent manufacturing as a guide and use data information technology to continuously promote industrial change and upgrading.
As a kind of automatic guided transport device, AGVs are widely used in warehouse logistics dispatching systems. The first AGV was created in the 1950s and was mainly used as transport equipment. With the vigorous development of technology in the field of electronics and machinery manufacturing, as well as the continuous improvement of the AGV hardware performance and appearance design, AGVs are widely used in the logistics industry, tobacco manufacturing industry, post office express sorting industry, pharmaceutical industry, port cargo transportation industry, dangerous places, special industries, etc. In general, AGVs are widely employed in flexible manufacturing systems, automated material handling systems, and container handling systems.
With the continuous development of e-commerce, online shopping has prompted the logistics industry to face unprecedented challenges. A large number of online shopping orders renders the traditional warehousing and logistics system unable to meet the needs of fast delivery. There is an urgent need for newer and faster forms of warehousing and logistics operations. Therefore, the new concept of intelligent storage is put forward. The development of warehousing logistics technology requires transforming and upgrading in order to meet the real operation requirements. According to different requirements, warehousing AGVs can be freely configured with different types of AGVs to achieve the transportation of various objects. Warehousing AGVs can work uninterrupted, which can significantly improve the efficiency of cargo handling and reduce warehousing costs. Equipped with advanced high-resolution sensors, scanners, and other equipment, warehousing AGVs can ensure the accuracy of the delivery time, location, and other aspects.
The overall performance of the AGV system is dependent on the total number of AGVs and the input cost. A single AGV system, in which one AGV performs all tasks, is only suitable for workplaces with small workloads and relaxed time requirements. Under the real situation, the application of a single AGV system cannot keep up with the development pace of modern warehousing and logistics operations; therefore, it is necessary to emphasize the development multi-AGV systems. The task allocation of a multi-AGV system is the key to realizing automated transportation, that is, assigning tasks reasonably to AGVs to ensure that multiple AGVs can work in an orderly and standardized manner at the same time. Task allocation needs to consider the AGVs and the location of the tasks, estimate the time and energy consumption required by the AGVs to perform the tasks, and finally match the AGVs with tasks reasonably to reduce the cost. It can be initiated directly by a task center or by the AGVs themselves, which is referred to as centralized or distributed allocation, respectively.
Methods such as mathematical programming, queuing theory, and the network model are often used in small scale decision problems. By combining the heuristic function and differential evolution method, Kumar M et al. studied the allocation of machines and vehicles in the scheduling process with the goal of minimizing the completion time [1]. Rashidi H et al. extended the standard network simplex algorithm, decomposed the container terminal AGV scheduling problem into a minimum-cost flow model, and compared it with an incomplete greedy algorithm to solve a larger scale scheduling problem [2]. Jerald J et al. designed different allocation mechanisms, including the genetic algorithm, simulated annealing algorithm, meme algorithm, and particle swarm optimization algorithm, to study the optimal allocation problem of tasks, and compared different strategies with the goal of reducing the average machine waiting time and delay cost [3]. Udhayakumar P et al. aimed to minimize the total transportation completion time and balance the number of tasks assigned to each AGV and incorporated heuristic functions into the solving process of the genetic algorithm and ant colony algorithm to study task scheduling problems [4].
For these centralized methods, a centralized controller is responsible for the control decisions of the entire system. When something unexpected happens, such as an AGV breakdown, road congestion, and cyclic waiting among AGVs resulting from unreasonable task allocation, the centralized controller requires a lot of calculations to complete the task redistribution, which causes the AGV to stop running, thus resulting in deadlock. In this scenario, all computing operations are performed in the centralized controller, which places high requirements on the real-time processing ability of the centralized controller. With the expansion of the system scale, the bottleneck problem of centralized control systems will become more serious [5].
A distributed system differs significantly from a centralized system in that it has distributed individual controllers, and decisions are determined from the negotiations among the AGVs instead of a global center. Distributed control reduces the requirements on the controller performance, improves the ability to deal with risks, and has strong robustness, which has more obvious advantages in large-scale AGV applications [6,7,8].
A decentralized approach to accomplishing the estimation and control of the graph connectivity was proposed in [9,10]. The estimator allows each agent to track the algebraic connectivity of a time-varying graph and, based on this estimator, a decentralized gradient controller for each agent was designed to maintain global connectivity during motion. In [11], the authors summarized two types of methods for maintaining connectivity—local methods and global methods—and compared these approaches in different aspects: the freedom of movement and the workspace provided by global methods were challenged by the amount of data needed to be exchanged with the local methods. In [12], a distributed connectivity maintenance framework was proposed by considering the vulnerability of nodes and the robustness of a network. Based on a distributed neighbor selection rule to determine the neighbor set of each node, a distributed connectivity maintenance strategy was developed to evaluate the impact of the removal of a node. A decentralized bounded control law was developed to address the connectivity maintenance problem for a multi-robot system that moves according to a given bounded collective control objective in [13]. In [14], the authors focused on a multiple objective control problem for unicycle robots. By utilizing the gradients of connectivity potential fields in designing reference orientations, control laws were designed to make unicycle robots track reference trajectories with arbitrarily small errors, while ensuring that the communications among the agents were maintained. In [15], the problem of the flocking of second-order multi-agent systems with connectivity preservation was investigated. A new decentralized inverse power iteration scheme was formulated to estimate the algebraic connectivity as well as the corresponding eigenvector. Based on the estimation of the algebraic connectivity, a set of distributed gradient-based flocking control protocols was built with a new class of generalized hybrid potential fields, which could guarantee the desired distance stabilization and the connectivity of the underlying communication network simultaneously. In [16], the connectivity constraint was translated to place constrains on individual agent motion by considering the dynamics of the adjacency matrix and the related constructs using the algebraic graph theory. In [17], a market-based decision strategy was developed for decentralized task selection and a consensus routine based on local communication was used as the conflict resolution mechanism to achieve agreement on the winning bid values. Based on [17], an improved scheme was constructed in [18] to ensure that, for all deterministic objective functions, a conflict-free (which means every task can be uniquely assigned to one single AGV) task assignment result can be obtained.
In a distributed system, the time-varying connectivity of a dynamic network plays a profound role in accomplishing multi-agent cooperative tasks [19]. For a network, if two nodes can communicate with each other, it is said that there is an edge between the two nodes, and the path is a sequence of edges. If there is a path from node i to j , nodes i and j are said to be connected. If any two nodes in the network are connected, the network is said to be connected. Connectivity of a network represents the level of information exchange capability of the entire team. In cooperative missions, low connectivity may cause poor information sharing among agents, slower communication rates, and a higher rate of delays [20].
In this paper, a new task allocation method for maintaining connectivity for multi-AGV systems is proposed based on a distributed framework. By distributed framework, we mean that the whole multi-AGV system makes decisions through the negotiations among the AGVs and finally realizes the conflict-free task allocation. Compared with the centralized method that depends on a task center in [1,2,3,4], AGVs can autonomously select tasks, plan paths, and communicate with each other to ensure that all tasks are completed at a low cost and that conflicts are avoided. The proposed method can avoid the problem of the surging calculation pressure of the task center when the number of AGVs increases, and has the advantages of good flexibility and a good real-time performance. In [17,18], global connectivity is only a precondition, and there is no substantial way to maintain connectivity. Inspired by [9,10,11,12,13,14,15,16], a connectivity-preserving mechanism is added in this algorithm to maintain connectivity. In addition, a heuristic rule is given to solve the problem of how to assign tasks when the rewards are equal, which enables the tasks to be completed as early as possible.
The rest of the paper is organized as follows. We summarize the necessary graph theoretical background in Section 2.1, and the estimation and control of the graph connectivity is accomplished in Section 2.2. Next, a market-based decision strategy for distributed task selection and a consensus-based conflict resolution mechanism are elaborated in Section 3.1 and Section 3.2, respectively. The performance of the algorithm is verified in Section 4. Conclusions are drawn in Section 5.

2. Control Law for Maintaining Connectivity

2.1. Graph Theory Knowledge

Given n mobile AGVs, assume that they can exchange information over an undirected communication network and denote the network as an undirected graph G with the edge set as E = { ( i , j ) | j N i } . For AGV i , the set of its communication neighbors is given as N i . The adjacency matrix A R n × n associated with the graph is defined as:
A i j = e | | p i p j | | 2 2 / 2 σ 2 0 < | | p i p j | | 2 r , 0 o t h e r w i s e .
where p i represents the position of AGV i , r is the common communication radius. Choose the parameter σ to satisfy the threshold condition: e r 2 / 2 σ 2 = ε , with ε being a small, predefined threshold.
The degree of each node is d i = j = 1 n A i j or d = A 1 , where 1 is a column vector with all terms equal to 1. The degree matrix is defined as D = d i a g ( d ) , and the weighted Laplacian matrix of the graph is defined as L = D A . For the weighted Laplacian matrix L , as the weight A i j is positive, we can obtain the following properties [21]: (1) L 1 = 0 ; (2) Given { { λ i } | i = 1 , , n } as the spectrum of L , all the eigenvalues are real and satisfy 0 = λ 1 λ 2 λ n . λ 2 > 0 if, and only if, the graph is connected, and λ 2 is called the connectivity degree of graph G .
Based on the above properties, a controller is designed to make λ 2 > 0 and some related variables used are as follows: v i = ( v i 1 , , v i n ) T denotes the eigenvector corresponding to the eigenvalue λ i ; x = ( x 1 , , x n ) T represents the estimate of the eigenvector v 2 corresponding to λ 2 ; and λ 2 i denotes AGV i s estimate of λ 2 .
The dynamics of AGV k are described as follows:
p ˙ k = u k
where p k is the position of AGV k , u k denotes the controller of AGV k to be designed in the following.

2.2. Controller Design

The eigenvector estimator is designed as follows:
x ˙ = k 1 A v e ( { x i } ) 1 k 2 L x k 3 ( A v e ( { ( x i ) 2 } ) 1 ) x .
where A v e ( { x i } ) ( i x i ) / n , and k 1 , k 2 , k 3 are three positive gains.
When the initial condition satisfies x ( t 0 ) 0 and the gains satisfy
k 1 > k 2 λ 2 , k 3 > k 2 λ 2 ,
then x converges to the eigenvector v ˜ 2 corresponding to λ 2 and | | v ˜ 2 | | = n ( k 3 k 2 λ 2 k 3 ) . According to i = 1 n λ i = t r a c e ( L ) = A i j n ( n 1 ) max A i j and 0 A i j < 1 , we can choose k 1 , k 3 > n ( n 1 ) k 2 . In a distributed framework, it is necessary to design an estimator to estimate A v e ( { x i } ) and A v e ( { ( x i ) 2 } ) separately.
Average consensus estimators allow n agents, each of which measures some time-varying scalar α i ( t ) , to compute an approximation of z ( t ) = 1 n i α i ( t ) using only local communication. The estimator has the form:
z ˙ i = γ ( α i z i ) K P j N i [ z i z j ] + K I j N i [ ω i ω j ] ,
ω ˙ i = K I j N i [ z i z j ] .
where z i is the mean estimate, γ > 0 is the rate of new information replacing old information, α i is the current value, and K P , K I represent estimator gains. Substituting α i = x i and α i = ( x i ) 2 into the above equations, respectively, we can obtain z i , 1 and z i , 2 , that is, AGV i s estimation values of A v e ( { x i } ) and A v e ( { ( x i ) 2 } ) .
Furthermore, according to | | v ˜ 2 | | = n ( k 3 k 2 λ 2 k 3 ) , one obtains ( k 3 k 2 λ 2 k 3 ) = | | v ˜ 2 | | 2 n . Replacing v ˜ 2 with x , the right-hand side becomes | | x | | 2 n , which is z i , 2 . Finally, AGV i can compute λ 2 i = k 3 k 2 ( 1 z i , 2 ) .
The decentralized gradient controller for maintaining global connectivity is designed as follows:
u k = λ 2 p k .
When λ 2 > 0 initially, it can ensure that λ 2 is always greater than 0 during the whole process. According to d λ 2 = d ( v ^ 2 T L v ^ 2 ) = d v ^ 2 T L v ^ 2 + v ^ 2 T d L v ^ 2 + v ^ 2 T L d v ^ 2 and v ^ 2 T L d v ^ 2 = d v ^ 2 T L v ^ 2 = 0 , where | | v ^ 2 | | = 1 , one obtains:
u k = v ^ 2 T L p k v ^ 2 = ( i , j ) E A i j p k ( v ^ 2 i v ^ 2 j ) 2 .
Replace v ^ 2 with v ˜ 2 , which scales the control effort but does not change its direction:
u k = ( i , j ) E A i j p k ( v ˜ 2 i v ˜ 2 j ) 2 .
As A i j = e | | p i p j | | 2 2 / 2 σ 2 , one can obtain:
u k = ( k , j ) E A k j ( v ˜ 2 k v ˜ 2 j ) 2 p k p j σ 2 .
AGV k approximates the exact v ˜ 2 k , v ˜ 2 j with the estimates x k , x j , yielding the final control law for connectivity control as follows:
u k = ( k , j ) E A k j ( x k x j ) 2 p k p j σ 2 , x ˙ k = k 1 z k , 1 k 2 j N k A k j x j k 3 ( z k , 2 1 ) x k .

3. Task Allocation

The goal of task allocation is to find a conflict-free matching of tasks to AGVs that maximizes some global rewards based on the given set of tasks N t and a set of AGVs N u . Each AGV can be assigned a maximum of L t tasks, and the matching process is said to be completed once N min = min { | N t | , n L t } tasks have been assigned. Here, | N t | represents the total number of tasks, and | N u | denotes the total number of AGVs. The global objective function is assumed to be a sum of the local reward values, while each local reward is determined as a function of the tasks assigned to each AGV. An integer (possibly nonlinear) program is used to described the task allocation problem above:
max i = 1 n ( j = 1 | N t | c i j [ p i ] t i j )
Subject to:
c i j [ p i ] 0 , ( i , j ) N u × N t , j = 1 | N t | t i j L t , i N u , i = 1 n t i j 1 , j N t , i = 1 n j = 1 | N t | t i j = N min .
For AGV i , some related parameters are introduced. c i j denotes the reward for completing task j , and c i j [ p i ] represents the reward for completing task j after completing the task recorded by p i . t i is a | N t | -dimensional column vector, which records the assignment of tasks. t i j = 1 indicates that task j is assigned to AGV i , and t i j = 0 otherwise. p i denotes an ordered list, which records the execution order of the tasks assigned to AGV i . p i = means that no task is assigned to AGV i .

3.1. Task Bundles Construction

In the first stage, each AGV continuously adds tasks to its own task bundle until no more tasks can be added. For AGV i , y i is a | N t | -dimensional column vector, and y i j represents the maximum reward for completing task j . z i is a | N t | -dimensional column vector, and z i j indicates the AGV that completes task j . h i is a | N t | -dimensional column vector, and h i j is used to determine whether a condition has been met. m denotes a counter indicating the order in which the tasks are to be executed.
Initially, c i j = 0 , t i = 0 , y i = 0 , p i = , z i = 0 , h i = 0 , m = 0 . For AGV i , tasks are added to the task bundle in the following way:
c i = 0 , h i = 0 , J i = 0 .
Calculate the reward c i j [ p i ] , j | N t | . If task j is already in the task bundle, c i j = 0 . When c i j > y i j , h i j = 1 .
Calculate c i j × h i j , j | N t | and use J i to record the task label corresponding to the maximum value.
m = m + 1 , t i , J i = 1 , p i m = J i ,
y i , J i = c i , J i m = 1 min ( c i , J i , y i , j k ) k { 1 , , | p i | }   otherwise , z i , J i = i
where  y i , j k is the reward for completing the k t h task in the task bundle.
Repeat ①, ②, ③, ④ until no more tasks can be added.
Remark 1.
The definition of  y i , J i ensures that the rewards for completing the tasks in the task bundle sequentially are non-increasing, which effectively guarantees the convergence of the algorithm.

3.2. Conflicts Resolution

In the second phase, each AGV communicates with its neighbors, and eventually each task is assigned to, at most, one AGV. For AGV i , the process is as follows:
Send the column vectors y i and z i to its neighbor AGVs, and receive the y k and z k , k N i .
Update y i j : y i j = max ( y i j , max y k j ) , j N t , and deposit the corresponding AGV label into z i j .
For j N t , if z i j i , set t i j = 0 , and if t i j changes from 1 to 0, task j and its subsequent tasks are cleared from the task bundle and update p i , t i and m at the same time; otherwise, if z i j = i and t i j 1 , set z i j = 0 and y i j = .
Repeat ①, ②, ③ until y i and z i no longer change.
Remark 2.
In ①, if the values are equal in the comparison, the label of the AGV that can perform the task first is assigned to z i j .
Remark 3.
In task bundles construction ②, if  y i j = , it means that  c i j y i j , but in conflicts resolution ②, ∅ represents a maximum.
When the task allocation result remains unchanged for a period of time or the specified waiting period passes, the task allocation process ends.

4. Examples

4.1. Task Allocation

4.1.1. Three AGVs

In order to better explain the method of this paper, the process of executing the tasks is simplified here: (1) AGVs can move freely without considering obstacle avoidance problems, and can communicate normally with other AGVs in their own communication range without considering communication interference. (2) Each AGV loads cargo at each task point and does not need to unload when the load does not exceed the AGV’s load bearing capacity. Here, it is assumed that the load-bearing capacity of the AGV is strong enough and the power is sufficient, so the unloading and charging process of the AGV is not considered.
Taking the scenario shown in Figure 1 as an example: given four tasks and three AGVs, each AGV can complete up to four tasks. Table 1 shows the distances between the AGVs and the task points. Assume that the reward for completing each task is E , the fuel penalty is k l , where k is a fixed coefficient, and l represents the distance between the starting point and the task point. Initially, set c i j = 0 , t i = 0 , y i = 0 , p i = , z i = 0 , h i = 0 , m = 0 .
The first stage is carried out as follows. For AGV 1, the task bundle construction process is as follows:
c 1 = 0 , h 1 = 0 , J 1 = 0 .
c 1 [ ] = ( E 5 k , E 6.265 k , E 7.433 k , E 6.403 k ) T , h 1 = 1 , J 1 = 1 , m = 1 , t 1 = ( 1 , 0 , 0 , 0 ) T , p 1 = 1 , y 1 = ( E 5 k , 0 , 0 , 0 ) T , z 1 = ( 1 , 0 , 0 , 0 ) T .
Continue to add tasks:
c 1 = 0 , h 1 = 0 , J 1 = 0 .
c 1 [ 1 ] = ( 0 , E 9.5 k , E 12.42 k , E 8 k ) T , h 1 = ( 0 , 1 , 1 , 1 ) T , J 1 = 4 , m = 2 , t 1 = ( 1 , 0 , 0 , 1 ) T , p 1 = ( 1 , 4 ) T , y 1 = ( E 5 k , 0 , 0 , E 8 k ) T , z 1 = ( 1 , 0 , 0 , 1 ) T .
Continue to add tasks:
c 1 = 0 , h 1 = 0 , J 1 = 0 .
c 1 [ 1 4 ] = ( 0 , E 12.42 k , E 9.5 k , 0 ) T , h 1 = ( 0 , 1 , 1 , 0 ) T , J 1 = 3 , m = 3 , t 1 = ( 1 , 0 , 1 , 1 ) T , p 1 = ( 1 , 4 , 3 ) T , y 1 = ( E 5 k , 0 , E 9.5 k , E 8 k ) T , z 1 = ( 1 , 0 , 1 , 1 ) T .
Continue to add tasks:
c 1 = 0 , h 1 = 0 , J 1 = 0 .
c 1 [ 1 4 3 ] = ( 0 , E 8 k , 0 , 0 ) T , h 1 = ( 0 , 1 , 0 , 0 ) T , J 1 = 2 , m = 4 , t 1 = ( 1 , 1 , 1 , 1 ) T , p 1 = ( 1 , 4 , 3 , 2 ) T , y 1 = ( E 5 k , E 8 k , E 9.5 k , E 8 k ) T , z 1 = ( 1 , 1 , 1 , 1 ) T .
As each AGV executes up to four tasks, the task bundle building process is complete. Using the same method for AGV 2 and AGV 3, the results are shown in Table 2a.
Then, the second stage is carried out as follows:
As y 11 > y 31 > y 21 , y 14 = y 24 > y 34 (but as, compared with AGV 2, AGV 1 can perform task 4 earlier), y 23 > y 33 > y 13 , y 32 > y 22 = y 12 ; thus, the task allocation is:
AGV 1 clears tasks 3 and 2 from its task bundle;
AGV 2 clears tasks 2, 1 and 4 from its task bundle;
AGV 3 clears tasks 3, 4, and 1 from its task bundle.
The results are shown in Table 2b.
Furthermore, repeat the first stage for the second time:
For AGV 1, as c 12 [ 1 4 ] = E 12.42 k < y 12 = E 5 k , c 13 [ 1 4 ] = E 9.5 k < y 13 = E 5 k , no tasks are added;
For AGV 2, as c 21 [ 3 ] = E 12.42 k < y 21 = E 5 k , c 22 [ 3 ] = E 8 k < y 22 = E 5 k , c 24 [ 3 ] = E 9.5 k < y 24 = E 8 k , no tasks are added;
For AGV 3, as c 31 [ 2 ] = E 9.5 k < y 31 = E 5 k , c 33 [ 2 ] = E 8 k < y 33 = E 5 k , c 34 [ 2 ] = E 12.42 k < y 34 = E 8 k , no tasks are added.
Enter the second phase. As no new tasks are added to any AGV in the previous stage, the results of the task allocation remain the same.
When the task allocation result remains unchanged for a period of time or the specified waiting period passes, the task allocation process ends. The results are shown in Table 3 and Figure 2. The total distance is 5 + 5 + 5 + 8 = 23 .
Remark 4.
If the rewards for completing the tasks in order are non-increasing, the algorithm may not converge. Take a simple case, as shown in Figure 3.
After the first phase, one obtains:
t 1 = ( 1 , 1 ) T , p 1 = ( 1 , 2 ) T , y 1 = ( E 8 k , E 6 k ) , z 1 = ( 1 , 1 ) T ; t 2 = ( 1 , 1 ) T , p 2 = ( 2 , 1 ) T , y 2 = ( E 6 k , E 8 k ) , z 2 = ( 2 , 2 ) T .
In the second stage, although y 12 > y 22 , AGV 1 clears task 1 and the subsequent task 2 due to y 11 < y 21 . Similarly, although y 21 > y 11 , AGV 2 clears task 2 and the subsequent task 1 due to y 22 < y 12 . This process is repeated, and the system becomes stuck in a deadlock.

4.1.2. Multiple AGVs

Taking the scenario shown in Figure 4 as an example: Given eight tasks and four AGVs, each AGV can complete up to two tasks (or more). Table 4 shows the distances between the AGVs as well as between the AGVs and the task points. The other conditions are the same as these in Section 4.1.1. Figure 5 shows the task allocation process.
After the completion of the third task bundle construction, and the subsequent conflict resolution, the result remains the same even if the task assignment continues. When the task allocation result remains unchanged for a period of time or the specified waiting period passes, the task allocation process ends. The total distance is 1.26 + 7.72 + 3.58 + 4.60 + 3.45 + 9.35 + 10.13 + 5.10 = 45.19 .

4.2. Task Execution

4.2.1. Three AGVs

At the end of task allocation, each AGV executes the tasks in its own task bundle. The communication radius is R = 10 and set the threshold ε = 1 16 R 2 . The gains for the two average consensus estimators are γ = 100 , K P = 100 , K I = 200 , and the gains for the eigenvector estimator are k 1 = 18 , k 2 = 8 , k 2 = 20 . Each AGV travels at a constant speed of v = 2 , and the time spent at the task point is ignored. Figure 6 shows the motion of multiple AGVs without connectivity preservation. To be specific, the connectivity degree λ 2 of the AGVs’ interaction topology, the change of the distance between the AGVs, and the motion trajectory of the AGVs are illustrated in Figure 6a–c, respectively. Figure 7 indicates the dynamic motion of the AGVs when a connectivity maintaining scheme (7) is carried out. Figure 7a–c exhibit the connectivity, distance variation between the AGVs, and moving trajectories of each agent, respectively.
As can be seen from Figure 6a,b, the AGVs’ interaction topology is disconnected ( λ 2 = 0 ) for a period of time as AGV 1 is disconnected from AGV 3 and does not establish communication with AGV 2 in time. Note that global connectivity is only an assumption in [17,18], the interaction topology connectivity cannot always be kept in real applications if no specialized strategies are designed for the AGVs, as shown in Figure 6. Hence, employing a connectivity maintaining scheme is very necessary. According to Figure 7a,b, after adding the connectivity maintainer (7), AGV 1 establishes interactions with AGV 2 in time, before disconnecting with AGV 3, to ensure the global connectivity, which verifies the effectiveness of the controller (7) proposed in this study.
Then, we verify the performance of the connectivity maintainer (7) in a more stringent communication configuration, which can be simulated by reducing the communication radius of the AGV. In this simplified scenario, when an AGV completes all the tasks in its task bundle, it docks at the location of the last task it performed if no new tasks are assigned to it. According to Figure 2, AGV 1, AGV 2, and AGV 3 finally stop at the locations of task 4, task 3, and task 2, respectively. According to Figure 1, the nearest to AGV 1 is AGV 2, and the distance between them is 9.5. In order to maintain connectivity for the AGVs network, the communication radius of the AGV must be greater than 9.5. Here, R is set as 9.6, 9.7, 9.8, and 9.9, respectively (other communication radii greater than 9.5 and less than 10 can also be selected), and the other conditions remain unchanged. As shown in Figure 8, Figure 9, Figure 10 and Figure 11, as the communication radius decreases, the connectivity maintainer (7) can still maintain the connectivity of the AGVs network.
In a more relaxed communication configuration—that is, when the AGV has a larger communication radius—the connectivity maintainer (7) can of course also maintain the connectivity of the AGVs network. Here, R is set as 10.2 and 10.4, respectively (other larger communication radii greater than 10 can be selected), and the other conditions remain unchanged. As can be seen from Figure 12 and Figure 13, the connectivity maintainer (7) performs the desired function.

4.2.2. Multiple AGVs

The gains for the eigenvector estimator are k 1 = 34 , k 2 = 8 , k 2 = 36 . Each AGV travels at a speed of no more than v = 2 (not a constant speed). According to Figure 5c, AGV 1, AGV 2, AGV 3, and AGV 4 finally stop at the locations of task 6, task 5, task 7, and task 8. In order to maintain the connectivity for the AGVs network, AGV 4 must be able to maintain communication with AGV 1 and AGV 2. According to Table 4b, the communication radius of the AGV must be greater than 11.67. Here, R is set as 20, 18, 16, 14, and 12, respectively, and the other conditions are the same as in Section 4.2.1. Figure 14, Figure 15, Figure 16, Figure 17 and Figure 18 show the connectivity and movement trajectory of the AGVs with the corresponding radius.
It can be observed that, compared with the movement of the AGVs in Section 4.2.1, the route of the AGVs to the destination in this section is more concise. This is because by using the maximum speed as a limit rather than a constant speed, the AGVs have more freedom of movement; thus, the AGVs can choose a more concise route to reach their destination while maintaining connectivity.
Figure 19 shows the connectivity changes when R is, respectively, set as 14 and 12 without connectivity preservation. By contrast, it can be found that connectivity maintainer (7) plays a role in maintaining the connectivity of the AGVs network. As the communication radius decreases, it can be observed that the AGVs network will stay longer at the lower connectivity.

5. Conclusions

In this paper, a new task allocation method for a multi-AGV system is proposed based on a distributed framework. The connectivity of the AGVs network is the basis for mutual negotiation between the AGVs. Through the addition of a connectivity maintainer, the construction of task bundles, and the application of a conflict resolution mechanism, the AGVs can autonomously select tasks, plan paths, communicate with each other to ensure that all tasks are completed at a lower cost and that conflicts are avoided. The effectiveness of the proposed method is verified through numerical examples, and the necessity of maintaining connectivity and the performance of the connectivity maintainer are verified through comparison experiments. In the example of this paper, the task assignment process only takes the cost of the distance into account. In future work, the task priority, the AGV’s power, the load and no-load distance (the distance traveled when the AGV is loaded and unloaded), and other factors will be considered further. In addition, we intend to extend the algorithm of connectivity control from an undirected graph to a directed graph and to consider the influence of communication delays on the connectivity estimation algorithm and the task allocation algorithm.

Author Contributions

Conceptualization, H.Y. and Y.L.; methodology, H.Y. and Q.G.; formal analysis, Z.T. and X.Z.; investigation, Y.L.; resources, H.Y.; writing—original draft preparation, Q.G.; writing—review and editing, N.L.; supervision, Y.L.; project administration, Y.L. and Q.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the “Research and development of distributed AGV scheduling system for electrical assembly” project. Funding Number: 2022330001001958.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kumar, M.V.S.; Janardhana, R.; Rao, C.S.P. Simultaneous scheduling of machines and vehicles in an FMS environment with alternative routing. Int. J. Adv. Manuf. Technol. 2011, 53, 339–351. [Google Scholar] [CrossRef]
  2. Rashidi, H.; Tsang, E.P.K. A complete and an incomplete algorithm for automated guided vehicle scheduling in container terminals. Comput. Math. Appl. 2011, 61, 630–641. [Google Scholar] [CrossRef]
  3. Jerald, J.; Asokan, P.; Prabaharan, G.; Saravanan, R. Allocation optimisation of flexible manufacturing systems using particle swarm optimisation algorithm. Int. J. Adv. Manuf. Technol. 2005, 25, 964–971. [Google Scholar] [CrossRef]
  4. Udhayakumar, P.; Kumanan, S. Task scheduling of AGV in FMS using non-traditional optimization techniques. Int. J. Simul. Model. 2010, 9, 28–39. [Google Scholar] [CrossRef]
  5. Liu, Y.; Ji, S.; Su, Z.; Guo, D. Multi-objective AGV scheduling in an automatic sorting system of an unmanned (intelligent) warehouse by using two adaptive genetic algorithms and a multi-adaptive genetic algorithm. PLoS ONE 2019, 14, e0226161. [Google Scholar] [CrossRef] [PubMed]
  6. Michael, N.; Zavlanos, M.M.; Kumar, V.; Pappas, G.J. Distributed multi-robot task assignment and formation control. In Proceedings of the 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008; pp. 128–133. [Google Scholar]
  7. Maoudj, A.; Bouzouia, B.; Hentout, A.; Kouider, A.; Toumi, R. Distributed multi-agent approach based on priority rules and genetic algorithm for tasks scheduling in multi-robot cells. In Proceedings of the IECON 2016—42nd Annual Conference of the IEEE Industrial Electronics Society, Florence, Italy, 23–26 October 2016; pp. 692–697. [Google Scholar]
  8. Housseyni, W.; Mosbahi, O.; Khalgui, M.; Li, Z.; Yin, L.; Chetto, M. Multiagent architecture for distributed adaptive scheduling of reconfigurable real-time tasks with energy harvesting constraints. IEEE Access 2018, 6, 2068–2084. [Google Scholar] [CrossRef]
  9. Sabattini, L.; Chopra, N.; Secchi, C. Decentralized connectivity maintenance for cooperative control of mobile robotic systems. Int. J. Robot. Res. 2013, 32, 1411–1423. [Google Scholar] [CrossRef]
  10. Yang, P.; Freeman, R.A.; Gordon, G.J.; Lynch, K.M.; Srinivasa, S.S.; Sukthankar, R. Decentralized estimation and control of graph connectivity for mobile sensor networks. Automatic 2010, 46, 390–396. [Google Scholar] [CrossRef]
  11. Khateri, K.; Pourgholi, M.; Montazeri, M.; Sabattini, L. A Comparison between decentralized local and global methods for connectivity maintenance of multi-robot networks. IEEE Rob. Autom. Lett. 2019, 4, 633–640. [Google Scholar] [CrossRef]
  12. Liu, C.; Zhang, Z. Towards a robust FANET: Distributed node importance estimation-based connectivity maintenance for UAV swarms. Ad. Hoc. Netw. 2022, 125, 102734. [Google Scholar] [CrossRef]
  13. Gasparri, A.; Sabattini, L.; Ulivi, G. Bounded control law for global connectivity maintenance in cooperative multirobot systems. IEEE Trans. Robot. 2017, 33, 700–717. [Google Scholar] [CrossRef]
  14. Karkoub, M.; Atinc, G.; Stipanovic, D.; Voulgaris, P.; Hwang, A. Trajectory tracking control of unicycle robots with collision avoidance and connectivity maintenance. J. Intell. Robot. Syst. 2019, 96, 331–343. [Google Scholar] [CrossRef]
  15. Fang, H.; Wei, Y.; Chen, J.; Xin, B. Flocking of second-order multiagent systems with connectivity preservation based on algebraic connectivity estimation. IEEE Trans. Cybern. 2017, 47, 1067–1077. [Google Scholar] [CrossRef] [PubMed]
  16. Zavlanos, M.M.; Pappas, G.J. Controlling connectivity of dynamic graphs. In Proceedings of the 44th IEEE Conference on Decision and Control, Seville, Spain, 15 December 2005; pp. 6388–6393. [Google Scholar]
  17. Choi, H.-L.; Brunet, L.; How, J.P. Consensus-based decentralized auctions for robust task allocation. IEEE Trans. Robot. 2009, 25, 912–926. [Google Scholar] [CrossRef]
  18. Johnson, L.B.; Choi, H.L.; Ponda, S.S.; How, J.P. Decentralized task allocation using local information consistency assumptions. J. Aerosp. Comput. Inf. Commun. 2017, 14, 103–122. [Google Scholar] [CrossRef]
  19. Kawakami, H.; Namerikawa, T. Cooperative target-capturing strategy for multi-vehicle systems with dynamic network topology. In Proceedings of the American Control Conference, St. Louis, MI, USA, 10–12 June 2009; pp. 635–640. [Google Scholar]
  20. Rafiee, M.; Bayen, A. Optimal network topology design in multi-agent systems for efficient average consensus. In Proceedings of the IEEE Conference on Decision and Control, Atlanta, GE, USA, 15–17 December 2010; pp. 3877–3883. [Google Scholar]
  21. Zavlanos, M.M.; Egerstedt, M.B.; Pappas, G.J. Graph-theoretic connectivity control of mobile robot networks. Proc. IEEE 2011, 99, 1525–1540. [Google Scholar] [CrossRef]
Figure 1. Spatial distribution of AGVs and task points.
Figure 1. Spatial distribution of AGVs and task points.
Electronics 12 03877 g001
Figure 2. A simple configuration used to demonstrate the non-incremental rewards.
Figure 2. A simple configuration used to demonstrate the non-incremental rewards.
Electronics 12 03877 g002
Figure 3. A simple configuration used to demonstrate the non-incremental rewards.
Figure 3. A simple configuration used to demonstrate the non-incremental rewards.
Electronics 12 03877 g003
Figure 4. Spatial distribution of AGVs and task points.
Figure 4. Spatial distribution of AGVs and task points.
Electronics 12 03877 g004
Figure 5. The process of task allocation. (a) The left side shows the result after the completion of the first task bundle construction, and the right side shows the result after subsequent conflict resolution. (b) The left side shows the result after the completion of the second task bundle construction, and the right side shows the result after conflict resolution. (c) The left side shows the result after the completion of the third task bundle construction, and the right side shows the result after subsequent conflict resolution.
Figure 5. The process of task allocation. (a) The left side shows the result after the completion of the first task bundle construction, and the right side shows the result after subsequent conflict resolution. (b) The left side shows the result after the completion of the second task bundle construction, and the right side shows the result after conflict resolution. (c) The left side shows the result after the completion of the third task bundle construction, and the right side shows the result after subsequent conflict resolution.
Electronics 12 03877 g005aElectronics 12 03877 g005b
Figure 6. The dynamic behavior of the AGVs without connectivity preservation. (a) The connectivity degree λ 2 . (b) The distance s i j between AGV i and AGV j . (c) The motion trajectory.
Figure 6. The dynamic behavior of the AGVs without connectivity preservation. (a) The connectivity degree λ 2 . (b) The distance s i j between AGV i and AGV j . (c) The motion trajectory.
Electronics 12 03877 g006
Figure 7. The dynamic behavior of the AGVs with the connectivity maintainer (7). (a) The connectivity degree λ 2 . (b) The distance s i j between AGV i and AGV j . (c) The motion trajectory.
Figure 7. The dynamic behavior of the AGVs with the connectivity maintainer (7). (a) The connectivity degree λ 2 . (b) The distance s i j between AGV i and AGV j . (c) The motion trajectory.
Electronics 12 03877 g007
Figure 8. The dynamic behavior of the AGVs with a connectivity maintainer (7) when R = 9.6 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 8. The dynamic behavior of the AGVs with a connectivity maintainer (7) when R = 9.6 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g008
Figure 9. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 9.7 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 9. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 9.7 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g009
Figure 10. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 9.8 . (a) The connectivity degree. (b) The motion trajectory.
Figure 10. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 9.8 . (a) The connectivity degree. (b) The motion trajectory.
Electronics 12 03877 g010
Figure 11. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 9.9 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 11. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 9.9 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g011
Figure 12. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 10.2 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 12. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 10.2 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g012
Figure 13. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 10.4 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 13. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 10.4 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g013
Figure 14. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 20 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 14. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 20 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g014
Figure 15. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 18 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 15. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 18 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g015
Figure 16. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 16 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 16. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 16 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g016
Figure 17. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 14 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 17. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 14 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g017
Figure 18. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 12 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Figure 18. The dynamic behavior of the AGVs with the connectivity maintainer (7) when R = 12 . (a) The connectivity degree λ 2 . (b) The motion trajectory.
Electronics 12 03877 g018
Figure 19. The connectivity degree λ 2 without connectivity preservation. (a) R = 14 . (b) R = 12 .
Figure 19. The connectivity degree λ 2 without connectivity preservation. (a) R = 14 . (b) R = 12 .
Electronics 12 03877 g019
Table 1. Distance between each AGV and each task point.
Table 1. Distance between each AGV and each task point.
Task 1Task 2Task 3Task 4
AGV 156.2657.4336.403
AGV 27.4336.40356.265
AGV 36.26556.4037.433
The data in each row indicates that the length of the shortest passable path for the corresponding AGV to reach task points 1, 2, 3, and 4.
Table 2. The results after experiencing stages one and two for the first time.
Table 2. The results after experiencing stages one and two for the first time.
(a) The results after stage one ends.
y i z i t i p i
AGV 1 ( E 5 k , E 8 k , E 9.5 k , E 8 k ) T ( 1 , 1 , 1 , 1 ) T ( 1 , 1 , 1 , 1 ) T ( 1 , 4 , 3 , 2 ) T
AGV 2 ( E 9.5 k , E 8 k , E 5 k , E 8 k ) T ( 2 , 2 , 2 , 2 ) T ( 1 , 1 , 1 , 1 ) T ( 3 , 2 , 1 , 4 ) T
AGV 3 ( E 8 k , E 5 k , E 8 k , E 9.5 k ) T ( 3 , 3 , 3 , 3 ) T ( 1 , 1 , 1 , 1 ) T ( 2 , 3 , 4 , 1 ) T
(b) The results after stage two ends.
y i z i t i p i
AGV 1 ( E 5 k , E 5 k , E 5 k , E 8 k ) T ( 1 , 3 , 2 , 1 ) T ( 1 , 0 , 0 , 1 ) T ( 1 , 4 ) T
AGV 2 ( E 5 k , E 5 k , E 5 k , E 8 k ) T ( 1 , 3 , 2 , 1 ) T ( 0 , 0 , 1 , 0 ) T 3
AGV 3 ( E 5 k , E 5 k , E 5 k , E 8 k ) T ( 1 , 3 , 2 , 1 ) T ( 0 , 1 , 0 , 0 ) T 2
Table 3. The values of the corresponding variables after the task allocation ends.
Table 3. The values of the corresponding variables after the task allocation ends.
y i z i t i p i
AGV 1 ( E 5 k , E 8.5 k , E 5 k , E 13 k ) T ( 1 , 3 , 2 , 3 ) T ( 1 , 0 , 0 , 0 ) T 1
AGV 2 ( E 5 k , E 8.5 k , E 5 k , E 13 k ) T ( 1 , 3 , 2 , 3 ) T ( 0 , 0 , 1 , 0 ) T 3
AGV 3 ( E 5 k , E 8.5 k , E 5 k , E 13 k ) T ( 1 , 3 , 2 , 3 ) T ( 0 , 1 , 0 , 1 ) T ( 2 , 4 ) T
Table 4. The distances between the task points and between the AGVs and the task points.
Table 4. The distances between the task points and between the AGVs and the task points.
(a) The distances between AGVs and task points.
AGV/TASK12345678
16.948.397.521.264.948.5411.648.23
23.9112.983.586.826.6213.6013.1614.74
33.4511.624.334.665.6111.6211.9212.86
44.5910.135.632.474.929.8811.3310.79
(b) The distances between AGVs.
TASK/TASK12345678
1\14.707.326.078.9910.919.3515.16
214.70\10.909.636.4414.9419.715.10
37.3210.90\7.924.6015.5116.2413.79
46.079.637.92\5.977.7210.399.15
58.996.444.605.97\13.4616.129.28
610.9114.9415.517.7213.46\6.8311.67
79.3519.7116.2410.3916.126.83\17.59
815.165.1013.799.159.2811.6717.59\
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Guo, Q.; Yao, H.; Liu, Y.; Tang, Z.; Zhang, X.; Li, N. A Distributed Conflict-Free Task Allocation Method for Multi-AGV Systems. Electronics 2023, 12, 3877. https://doi.org/10.3390/electronics12183877

AMA Style

Guo Q, Yao H, Liu Y, Tang Z, Zhang X, Li N. A Distributed Conflict-Free Task Allocation Method for Multi-AGV Systems. Electronics. 2023; 12(18):3877. https://doi.org/10.3390/electronics12183877

Chicago/Turabian Style

Guo, Qiang, Haiyan Yao, Yi Liu, Zhipeng Tang, Xufeng Zhang, and Ning Li. 2023. "A Distributed Conflict-Free Task Allocation Method for Multi-AGV Systems" Electronics 12, no. 18: 3877. https://doi.org/10.3390/electronics12183877

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop