1. Introduction
With the opening of the Industry 4.0 era, AGV, IoT, cloud computing, AR, and other technologies continue to be put into practical application. In 2012, the application of Amazon Kiva was a successful example of the Industry 4.0 era. In the Kiva system, many AGVs carried shelves to pick-up stations, replacing the traditional manual pick-up using trolleys. This led to the massive use of AGVs in the warehousing sector. Multi-AGV systems in warehousing have been widely recognized as a practical means of improving productivity while significantly reducing operating costs [
1]. The AGV operation optimization problem has also gradually become a research hotspot, mainly including task assignment, path planning, and joint optimization [
2,
3], which will be categorized and reviewed below.
AGV task assignment problem refers to assigning multiple tasks to multiple AGVs and determining the order in which each AGV performs the tasks. As shown in
Table 1, most of the existing studies focus on multiple numbers and single types of AGVs, mainly using completion time, number of AGVs, and AGV utilization as the optimization objectives of task assignment and solving them with the targeted improvement of genetic algorithms and ant colony algorithms. A small portion of the literature also combines problems such as charging and picking station layout with AGV task assignments. With the increasing complexity of AGV application scenarios, a small portion of the literature has begun to research multiple types of AGVs. Zhou et al. [
4] divided the parts needed by automobile production lines into light materials and heavy materials and proposed and solved the material handling problem with a time window for two types of AGV; light materials were transported via multi-load AGV, and heavy materials were transported via single-load AGV. There are also a few studies on the joint optimization of AGVs and associated equipment. Aziez et al. [
5] modeled the dual optimization of AGVs and trolleys for the actual situation of using trolleys to move materials and AGVs to move trolleys in hospitals and proposed an adaptive large domain search algorithm for fast response to dynamic demands. Hu et al. [
6] studied the problem of task assignment for AGVs and automated crane trucks in automated container terminals.
AGV path planning is finding a path that allows AGV to reach the destination quickly without interference. The existing research can be divided into traditional and bionic intelligent path planning. Traditional path planning includes the artificial potential field method, Dijkstra’s algorithm, and the A-star algorithm. Khatib [
14] first proposed a real-time obstacle avoidance method for robotic arms based on the concept of artificial potential field, assuming that the robotic arms are in a virtual force field, in the attraction generated via the target point and the repulsion generated via the obstacle. However, the traditional artificial potential field method is easily limited to local information, resulting in congestion, locking, and so on. However, the traditional, artificial, potential field method is easily limited by the localization of information, which leads to congestion and lock up, etc. The subsequent studies focus on achieving conflict-free path planning for robots by improving the local minimum problem [
15,
16,
17]. Dijkstra algorithm is a classical path search algorithm for global path search in a static environment, which is fast and accurate in the case of a few nodes and is mainly used in topological maps. Kim et al. [
18] combine the Dijkstra algorithm and time window to realize the conflict-free shortest path of AGV in a bidirectional flow network. The A-star algorithm is a heuristic search algorithm that combines the advantages of the Dijkstra algorithm and Breadth First Search. Due to its high efficiency, the A-star algorithm is widely used in real-time systems, artificial intelligence, and other fields, mainly in grid-based maps. Chiddarwar et al. [
19] use the A-star algorithm to obtain the path without conflict between the robot and static obstacles, then dynamically adjust the robot sequence to resolve the conflict between multiple robots. Tang et al. [
20] propose an improved geometric A-star algorithm for path planning to form smoother paths. Fransen et al. [
21] improve the A-star algorithm to find the least-cost path with turn cost. The intelligent bionic algorithm mainly includes the genetic algorithm, ant colony algorithm, particle swarm algorithm, whale algorithm, and so on. Intelligent bionic algorithms are often appropriate for path planning when the operating environment is complex. Faridi et al. [
22] propose to combine improved artificial swarm neighborhood search planning with evolutionary planning to solve multi-robot, multi-objective navigation problems in unknown dynamic environments. There are also studies using the ant colony algorithm [
23] and the sheep flock heredity algorithm [
24] for multi-robot path planning. With the complexity of the operating environment, path planning is often combined with dynamic obstacle avoidance problems. Zhong et al. [
25] add time conflict-free constraints to the path planning model to obtain conflict-free scheduling of AGVs. In the field of intelligent vehicles, Gao et al. [
26,
27] predict the trajectories of potentially conflicting objects or intelligent vehicles, which also has some reference value for AGV dynamic obstacle avoidance.
Due to the importance and urgency of task assignment and path planning of AGVs, the joint optimization problem of the two is also a hot research topic. Most of the early research focused on exact algorithms. Krishnamurthy et al. [
28] construct a mixed integer programming model to describe the DCFRP (dispatching and conflict-free route problem) and solve it using a column generation algorithm. Desaulniers et al. [
29] developed exact methods combining column generation, greedy search heuristics, and branch-and-cut algorithms. As the solution size becomes larger, solution methods such as space–time networks, double-layer programming, and phased methods have been proposed one after another. Murakami [
30] and Nishida et al. [
31] solved the AGV path planning and task assignment problem by constructing space–time network models. Nishi et al. [
32], Yang et al. [
33], and Ji et al. [
34] solved the problem using a two-layer planning approach, with the upper layer solving for AGV task assignment and the lower layer solving for AGV path planning. Hu et al. [
35] and Liang et al. [
36] proposed three-staged methods of solving path planning, task assignment, and conflict resolution sequentially.
Existing literature shows fruitful research results on AGV task assignment, path planning, and joint optimization. However, they mainly focus on operation workshops or automated terminals. Scenarios are mostly abstracted as topological maps, often ignore fixed obstacles in operation scenarios, and need to consider AGV simulation paths, which are less applicable in warehouse environments with a high density of facilities and equipment. Most of the existing research focuses on single-type AGVs. With the strengthening of intelligent requirements of warehousing, the demand for mixed operations of multiple types of AGVs, such as latent AGVs and forklift AGVs, becomes more significant. It is necessary to combine the scenario characteristics of intelligent distribution warehouses, to make targeted expansion of the research on AGV path planning and task assignment, and to realize the integration and optimization of multiple types of AGVs.
To solve the path planning and task assignment problem of latent AGVs and forklift AGVs in an actual intelligent distribution warehouse to achieve warehouse operation efficiency improvement and warehouse operation cost reduction, a two-stage optimization method combining offline planning and online planning is proposed. The first stage is offline shortest path planning, constructing the determined warehouse layout as a grid map, using the A-star algorithm for shortest path planning, and storing the shortest path and distance between any two grids as offline data, which can directly call the offline data to determine the travel path when the tasks in different planning cycles change, which can greatly reduce the repeated planning in practical application. The second stage is online multi-type task assignment, obtaining real-time updated task data, using the genetic algorithm to solve the problem with the goal of minimum task completion time and energy consumption of AGVs, and assigning two types of handling tasks to corresponding types of AGVs.
The rest of this paper is organized as follows:
Section 2 performs the problem description;
Section 3 constructs the mathematical model;
Section 4 presents the proposed solution method;
Section 5 conducts a case study; Finally,
Section 6 concludes the paper.
4. Solution Algorithms
The grid-map-based multi-type AGV path planning and task assignment are essentially two problems, and we design two algorithms to solve them separately. In the first stage, we use the A-star algorithm combined with the cyclic rule to solve the path planning model to obtain the shortest path planning scheme for AGVs. In the second stage, we use the genetic algorithm to solve the task assignment model with the shortest path of the first stage as known information.
4.1. A-Star Algorithm for Path Planning Model
The A-star algorithm is the most effective heuristic search algorithm to solve the shortest path search problem. The basic idea is to use the evaluation function to determine the search direction. Starting from the starting point and expanding to the surrounding nodes, the cost value of each surrounding node is calculated using the evaluation function, and the least costly node is selected as the next expansion node. This process is repeated until the target point is reached and the final path is generated.
The A-star algorithm’s evaluation function
f(
n) is calculated, as shown in Equation (24).
g(n) indicates the actual distance moved from the starting point to node
n, and
h(n) indicates the estimated distance from node
n to the target point. Since the avoidance between AGV and fixed obstacles must be considered, AGV cannot travel along a straight line, the Manhattan distance is chosen as the heuristic function., as shown in Equation (25).
The existing A-star algorithm mainly solves the shortest path between known points A and B. In this paper, we improve the A-star algorithm by setting the cyclic rules to continuously solve the shortest path between any two points in the warehouse. Assuming that there are m elements in the set G of passable grids, the logic of the loop calls the A-star algorithm in this paper is shown in Algorithm 1.
Algorithm 1. Framework for recurring A-star algorithm |
- 1:
Initialize: Set of passable grids G, position of the starting grid in the set G o, position of the ending grid in the set G d, starting grid number G(o), ending grid number G(o) - 2:
for o = 1:(m−1) do - 3:
while d ≤ m do - 4:
Shortest path search from G(o) to G(d) using A-star algorithm - 5:
d = d + 1 - 6:
end while - 7:
end for - 8:
for o = 2:m do - 9:
while d > 0 do - 10:
Shortest path search from G(o) to G(d) using A-star algorithm - 11:
d = d − 1 - 12:
end while - 13:
end for
|
The steps for solving the shortest path with known starting and ending points using the A-star algorithm are:
Step 1: Add the starting point to the Open list (list of nodes to be examined).
Step 2: Check if the Open list is empty. If empty, the retrieval fails, and the input solution is not feasible; otherwise, execute Step 3.
Step 3: Examine the Open list, find the node n with the smallest value of f(n), and move it to the Close list (list of nodes that have been inspected).
Step 4: Determine whether node n is the target point. If yes, complete the shortest path search and execute Step 7; otherwise, execute Step 5
Step 5: Check the eight squares around node n. If it is not passable or already in the Close list, ignore it and return to Step 2; otherwise, execute Step 6.
Step 6: Determine if the eight squares around node n are in the Open list.
If not, add the surrounding squares to the Open list and set the current node as the parent node, record the values of f(n), g(n), and h(n) of the surrounding squares, and return Step 2.
If in, determine whether the path from the current node to the surrounding nodes already in the Open list is closer (judged via g(n), the smaller, the closer). If closer, set the current node as the parent node and recalculate the values of f(n) and g(n) of the surrounding squares and return Step 2; if not closer, return Step 2 directly.
Step 7: Complete the shortest path search, backtrack the Close list, and record the shortest path and distance of AGV from the starting point to the ending point.
Since the two-stage scheduling method proposed in this paper requires solving the shortest path between any two points in the warehouse first, the computational complexity of the path planning process is related to the number of grids. The number of times the A-star algorithm needs to be called during path planning for a map with
n grids is
n(
n−1)/2; the time complexity of the A-star algorithm is O(
nlog(
n)) [
37]. Therefore, the time complexity of the path planning algorithm proposed in this paper is O(
n3log(
n)). The time complexity of the path planning algorithm is verified using Matlab2021 on a laptop computer equipped with an AMD R5 5600H processor and 16 GB of RAM. The path planning time was 2.6 s and 70238.9 s for a grid size of 100 and 2500, respectively. As the map size (number of grids) increases, the path planning time increases rapidly. The A-star algorithm can be optimized in the future, thus further improving the path planning efficiency.
4.2. Genetic Algorithm for Task Assignment Model
4.2.1. Encoding Operation
We use the real number coding method to represent the chromosomes. The number position indicates the task number, and the number indicates the AGV number to which the task matches. To meet the time sequence constraint, the tasks are numbered according to the task generation time (the task number generated first is smaller), and the AGV executes the task with the smaller number first. The chromosome shown in
Figure 2 represents the AGV task assignment scheme as follows: AGV1 executes tasks 6 and 10 in order, AGV2 executes Task 7, AGV3 executes Tasks 1, 2, 4, and 9 in order, and AGV4 executes Tasks 3, 5 and 8 in order.
4.2.2. Population Initialization
The goal of population initialization is to generate a population number of individuals, and the feasible initial solution in this paper is affected by service relationship constraints, equipment selection constraints, and time window constraints. To generate a better initial population, the initial population is constructed in this paper by the following three steps:
Step 1: Generate the initial solution that satisfies the service relationship constraint and the equipment selection constraint. Firstly, form an all-zero array of task numbers. Secondly, assign vertical handling tasks to forklift AGVs. Thirdly, assign horizontal handling tasks to latent AGVs or forklift AGVs. As shown in
Figure 3, suppose there are four tasks in the warehouse, Tasks 1 and 3 are vertical handling tasks, Tasks 2 and 4 are horizontal handling tasks; there are 3 AGVs, in which AGV1 is a latent AGV, AGV2 and 3 are forklift AGVs.
Step 2: Generate the initial solution that satisfies the time window constraint. Determine whether the solution formed in the first step satisfies the time window constraint. If it satisfies, the solution is feasible; if not, it is discarded.
Step 3: Repeat Steps 1 and 2 until the initial solution for the number of populations is generated.
4.2.3. Fitness Function
Fitness is used to judge the quality of individuals in the population. The higher the fitness value, the better the corresponding optimization result. In this paper, to solve the minimum value problem, the inverse of the objective function can be used as the fitness function. The coding method used in this paper cannot ensure that the newly generated individuals meet the time window constraints after crossover and mutation. To solve the problem of violation of constraints simply, this paper uses the penalty function to improve the genetic algorithm.
Equation (26) is the formula for calculating the fitness function. Equation (27) indicates that the penalty function f takes a larger positive integer when the task assignment scheme exceeds the time limit, eliminating the scheme.
4.2.4. Selection Operation
The selection operation is selecting good individuals as parents to enter the next generation for genetic operation. In this paper, we choose the binary tournament method. Compare the parent population two by two, select the individuals with more excellent fitness, and put them into the offspring population. Assuming that the population size is N, N comparisons are required, and two individuals are randomly selected for comparison in each cycle. The one with more excellent fitness is selected. There may be duplicates among the newly selected individuals, and only one is retained.
4.2.5. Crossover Operation
In this paper, we use the two-point crossover. Choose the same two positions
X1 and
X2 of two individuals (A and B) at random, and exchange the parts of
X1 and
X2 of two individuals, as shown in
Figure 4.
4.2.6. Mutation Operation
The second step of changing individual genes is to perform a mutation operation. In this paper, we use positional mutation, that is, we randomly select one gene position
X1, and then randomly select one gene position
X2 (
X1 is not equal to
X2) from other genes corresponding to the same task type as
X1 to avoid getting individuals that do not satisfy the equipment selection constraint, and exchange the
X1 and
X2, as shown in
Figure 5.
4.2.7. Recombination Operation
The number of offspring individuals obtained after the above selection, crossover, and mutation may be less than the population number, and a certain number of offspring individuals need to be supplemented to complete the update of the parent population. In this paper, we adopt the idea of an elite retention strategy to rank the parent population according to fitness. If there are n individuals in the offspring, and the population number is N, then we select the top (N−n) individuals in the parent population and add them to the offspring population. A new parent population is formed using the above steps as the population for the next selection operation.