Multi-AGV task allocation method in intelligent picking warehouse based on Hungary algorithm

By combining the Hungarian algorithm and the dynamic allocation method of the path planning framework RHCR, the problem of inconsistent calculation efficiency and actual cost of AGV task allocation in the prior art is solved, and the efficient operation of multi-AGV systems is achieved, which is suitable for task allocation in intelligent picking warehouses.

CN120258456APending Publication Date: 2025-07-04CHONGQING UNIV
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510414317.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-03
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The existing AGV task allocation method fails to fully consider the actual cost changes in path planning during the calculation process, resulting in the allocation method being only theoretically optimal or approximately optimal, and the solution time is too long, making it difficult to meet the efficient operation of large-scale AGV systems.

Method used

The dynamic allocation mechanism based on Hungarian algorithm is combined with the path planning framework RHCR. Through multiple rounds of reassignment of tasks, the AGV task execution sequence is dynamically adjusted using path planning information, and a periodic reassignment strategy is constructed to achieve in-depth coordination between task allocation and path planning.

Benefits of technology

It effectively improves the operation efficiency of the AGV system, shortens the task completion time, and is suitable for problem scenarios of different scales, especially in online and offline scenarios, significantly improving the quality of computing speed and solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120258456A_ABST
    Figure CN120258456A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-AGV task allocation method in an intelligent picking warehouse based on a Hungary algorithm. The method is fused with path planning framework rolling time domain conflict resolution (RHCR) for use. According to one method, a dynamic allocation mechanism is adopted, and the one-to-one correspondence relationship between the AGV and the task is not fixed before the AGV actually arrives at a pickup point; and 2, constructing a periodic redistribution strategy, and calling a Hungary algorithm to carry out redistribution after each RHCR planning cycle is ended. According to the method, a task allocation process is decomposed into a multi-round assignment problem, information brought by a planning process is fully utilized for allocation through a Hungary algorithm, an AGV task execution sequence is dynamically adjusted according to a staged allocation result, and deep collaboration of task allocation and path planning is realized. Compared with a traditional allocation method in which task allocation is regarded as an independent process, the method provided by the invention effectively improves the operation efficiency of the AGV system on the premise of ensuring that the calculation complexity is only the sum of multiple independent Hungary algorithms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of task allocation, and specifically refers to a multi-AGV task allocation method based on the Hungarian algorithm applicable to an intelligent order picking warehouse. Background Art

[0002] With the rapid development of Internet of Things and artificial intelligence technologies, intelligent order picking warehouses have gradually become a key link in improving logistics efficiency and reducing costs. As the core equipment in an intelligent order picking warehouse, AGV (Automated Guided Vehicle) can independently complete the tracking and driving of a predetermined route by installing various sensors and non-contact navigation devices, thus greatly reducing labor costs and improving operation efficiency. They can be applied not only in traditional manufacturing warehouses, e-commerce warehouses and other fields, but also extended to special fields such as cold chain logistics and dangerous goods warehouses. Therefore, in this context, it is particularly important to develop a system suitable for the efficient operation of AGVs.

[0003] Task allocation and path planning are key technologies in the AGV system. Task allocation is responsible for determining the order and destination of AGVs to execute tasks, solving the problem of "where to go" for AGVs; while path planning focuses on planning a driving route for AGVs from the current position to the destination, solving the problem of "how to go". In an intelligent order picking warehouse, each AGV needs to undertake a series of tasks, and each task is associated with a specific picking location and delivery location. To complete a task, an AGV must first move from the current position to the picking location to pick up goods, then go to the delivery location for delivery, while avoiding obstacles and collisions with other AGVs. Only by making the task allocation and path planning work in an orderly manner can the effective operation of the multi-AGV system be ensured, and then the efficient and stable operation of the intelligent order picking warehouse can be promoted to achieve the purpose of cost reduction and efficiency improvement.

[0004] The task allocation of multiple AGVs in an intelligent order picking warehouse often aims to minimize Makespan (completion time), that is, it is hoped that AGVs can complete all tasks as soon as possible. Most of the existing solutions regard task allocation and path planning as two completely independent processes, that is, first allocate the task sequence and then use the path planning algorithm to navigate the path. Such algorithms model task allocation as PDP (Pick and Delivery Problem) in VRP (Vehicle Routing Problem), and then use some intelligent optimization algorithms, such as genetic algorithms, large neighborhood search algorithms, etc. to solve the task allocation sequence. This method can consider from a global perspective and obtain an optimal or approximately optimal allocation method.

[0005] However, although the above methods consider the global optimality, the information they use in the calculation process is incorrect. Because they allocate tasks to AGVs based on the estimation of the actual path cost, this method assumes that the distance between the AGV and the task is fixed, and completely ignores the path changes caused by the AGV avoiding obstacles and collisions with other AGVs during the path planning process. This makes the obtained allocation method only numerically optimal or approximately optimal in theory. Another major drawback of this method is that the solution time may be too long. When the number of AGVs and tasks is large, solving such a large-scale combinatorial optimization problem may reduce the overall working efficiency of the system. Therefore, if the information brought by path planning can be coupled into the task allocation process for staged solution, it may have better improvement in both running time and solution quality. Summary of the Invention

[0006] In view of the above problems, the present invention discloses a multi-AGV task allocation method in an intelligent picking warehouse based on the Hungarian algorithm, which is used in combination with the path planning framework RHCR (Rolling-Horizon Collision Resolution). One is to adopt a dynamic allocation mechanism, and the one-to-one correspondence between the AGV and the task is not fixed before the AGV actually arrives at the picking point; the other is to construct a periodic reallocation strategy, and call the Hungarian algorithm for reallocation after the end of each RHCR planning cycle. This method decomposes the task allocation process into multiple rounds of assignment problems, makes full use of the information brought by the planning process for allocation through the Hungarian algorithm, and dynamically adjusts the AGV task execution sequence according to the staged allocation results, realizing the deep coordination of task allocation and path planning. Compared with the traditional allocation method that regards task allocation as a separate process, the method proposed by the present invention effectively improves the operating efficiency of the AGV system on the premise that the computational complexity is only the sum of multiple independent Hungarian algorithms.

[0007] To achieve the above object, the technical solution of the present invention is as follows:

[0008] A multi-AGV task allocation method based on the Hungarian algorithm in an intelligent picking warehouse, comprising the following steps:

[0009] S1: Construct a map model of the environment where the AGV is located, and obtain initial global information, including: obstacle information, task information, and AGV information;

[0010] S2: Based on the initial global information, construct a cost matrix, initialize tasks for the AGV, and update the global information;

[0011] S3: According to the updated global information, call the path planning algorithm to plan the path of the AGV to its target point. After the planning is completed, update the global information;

[0012] S4: According to the updated global information, construct a new cost matrix, call the Hungarian algorithm for reassignment, update the global information and loop through the entire process of S3 - S4 - S3 until all tasks are completed.

[0013] Further, the specific content of step S1 includes:

[0014] S1.1 Model the warehouse environment as a four - domain grid map;

[0015] S1.2 Obtain the global information, where the obstacle information is represented as the coordinates of the obstacles in the grid map;

[0016] The task information includes: the pick - up location coordinates, delivery location coordinates and task status of the task. The task status includes three types: "unassigned", "virtually assigned" and "truly assigned". "Unassigned" means that the task is not assigned to any AGV. "Virtually assigned" means that the task is "virtually" assigned to a certain AGV, but may be reassigned to other AGVs later. "Truly assigned" means that the task has been "truly" assigned to a certain AGV and will not be reassigned to other AGVs later. When the AGV passes through the pick - up location of its "virtually assigned" task and picks up the goods, the status of the task changes from "virtually assigned" to "truly assigned";

[0017] The AGV information includes: AGV position coordinates, AGV task list, AGV status and target point location list. The AGV position coordinates are the coordinates corresponding to the position of the AGV in the map at this time, and the AGV task list is the list of tasks that the AGV needs to complete in sequence;

[0018] The AGV status includes four types: "returning", "waiting", "not picked up" and "not delivered". "Returning" means that the AGV has no tasks to execute and needs to navigate back to the parking point. "Waiting" means that the AGV has no tasks to execute but has already returned to the parking point. "Not picked up" and "not delivered" correspond to "virtually assigned" and "truly assigned" of the task status respectively. Among them, "not picked up" means that the status of the task being executed by the AGV is "virtually assigned", and "not delivered" means that the status of the task being executed by the AGV is "truly assigned";

[0019] The AGV target point position list stores the target points that the AGV needs to reach in sequence to complete the tasks. It corresponds to the AGV status and the AGV task list. The last coordinate in this list is always the parking point coordinate corresponding to the AGV, ensuring that the AGV returns to the parking point after completing all tasks. When the AGV status is "returning" or "waiting", the AGV task list is empty, and only the parking point coordinate exists in the target point position list. When the AGV status is "not picked up", there is a task with the status of "virtually assigned" in the AGV task list, and the picking and delivery position coordinates of this task and the parking point coordinate exist in the target point position list. When the AGV status is "not delivered", there are two cases. One is that there may be two tasks in the task list, one with the status of "truly assigned" and one with the status of "virtually assigned", indicating that after the AGV reaches the delivery position and completes the "truly assigned" task, it needs to execute another "virtually assigned" task. At this time, the delivery position coordinate of the "truly assigned" task, the picking and delivery position coordinates of the "virtually assigned" task, and the parking point coordinate exist in the target point position list. The other is that there is only one task in the task list, that is, only one task with the status of "truly assigned", indicating that the AGV does not need to execute other tasks after reaching the delivery position and completing this task. At this time, only the delivery position coordinate of the "truly assigned" task and the parking point coordinate exist in the target point position list.

[0020] The status of all tasks is initialized to "unassigned", and the status of all AGVs is initialized to "waiting".

[0021] Furthermore, the specific measures in step S2 include:

[0022] S2.1 Obtain the position coordinate of the AGV, the picking position coordinate of the task, and the delivery position coordinate of the task from the global information in S1.

[0023] S2.2 Construct a cost matrix, which stores the distances between each AGV and the tasks. Among them, the status of the tasks must be "unassigned" or "virtually assigned", and the tasks with the status of "truly assigned" do not participate in constructing the matrix.

[0024] When the AGV status is "not delivered", the distance between it and a certain task is expressed as the distance from the current position of the AGV to the next target point of the AGV plus the distance from the target point to the picking position of this task plus the distance from the picking position of the task to the delivery position. When the AGV status is not "not delivered", the distance between it and a certain task is uniformly expressed as the distance from the position of the AGV to the picking position of this task plus the distance from the picking position of the task to the delivery position.

[0025] The distance between any two coordinate points P(x1, y1) and Q(x2, y2) is expressed as the Manhattan distance, and the calculation formula is:

[0026] S2.3 According to the cost matrix, call the Hungarian algorithm for task allocation, and update the global information according to the allocation result. The update includes: the AGV task list, the AGV status, the AGV target point position list, and the task status.

[0027] Furthermore, the specific measures in step S3 include:

[0028] S3.1 Obtain the position coordinates of the AGV, the target point position list, and the obstacle information from the updated global information, and call RHCR to plan the path of the AGV to its target point;

[0029] S3.2 According to the planned path, update the global information. The update includes: the AGV position coordinates, the AGV task list, the AGV status, the AGV target point position list, and the task status;

[0030] Furthermore, the specific measures in step S4 include:

[0031] S4.1 According to the updated global information, construct a new cost matrix in the same way as S2.2;

[0032] S4.2 According to the cost matrix, call the Hungarian algorithm for task allocation, and update the global information according to the allocation result. The update includes: the AGV task list, the AGV status, the AGV target point position list, and the task status;

[0033] S4.3 Return to S3, and loop through the entire process of S3 - S4 - S3 until all tasks are completed, that is, the status of all AGVs becomes "returning" or "waiting".

[0034] Adopting the above technical solutions, the beneficial effects of the present invention are as follows:

[0035] 1. Convert the multi-AGV multi-task allocation problem into a multi-round assignment problem, and make better use of the path planning information through phased reallocation. Compared with the method of separately and independently processing allocation and planning, more consideration is given to the actual process, and tasks can be completed faster.

[0036] 2. The time required for the entire allocation process is extremely short, only the time-consuming of multiple executions of the Hungarian algorithm, which can effectively handle problems of different scales and is more in line with practical applications.

[0037] 3. Since only one task is assigned to the AGV in each round of allocation, rather than directly giving the task sequence of the AGV in an optimized way, it is applicable to both the offline scenario where all tasks are known at the beginning and the online scenario where tasks are added to the system over time. Description of the Drawings

[0038] Figure 1It is the grid map model of the warehouse;

[0039] Figure 2 It is the flow chart of the algorithm of a multi-AGV task allocation method based on the Hungarian algorithm in the intelligent picking warehouse of the present invention;

[0040] Figure 3 It is the comparison chart of the minimum completion time between the algorithm of a multi-AGV task allocation method based on the Hungarian algorithm and the OR-Tools solver in the intelligent picking warehouse of the present invention when there are different numbers of AGVs;

[0041] Figure 4 It is the comparison chart of the minimum completion time between the algorithm of a multi-AGV task allocation method based on the Hungarian algorithm and the OR-Tools solver in the intelligent picking warehouse of the present invention when there are different average numbers of tasks; Detailed implementation mode

[0042] The present invention will be further described in detail below with reference to the accompanying drawings.

[0043] As Figure 1 shown, it is the flow chart of a multi-AGV task allocation method based on the Hungarian algorithm in the intelligent picking warehouse of the present invention, including the following steps:

[0044] Step S1: Build a map model of the environment where the AGV is located, and obtain the initial global information, including: obstacle information, task information and AGV information. Specifically:

[0045] S1.1 Model the warehouse environment as a four-domain grid map. As Figure 2 shown, the black area is the obstacle area, which can also be regarded as the shelf area, the blue area is the possible pick-up position of the task, the orange area is the possible delivery position of the task, and the green area is the parking area of the AGV. The AGV can move in any non-black area;

[0046] S1.2 Obtain the global information, where the obstacle information is represented as a set φ, which stores the coordinates of all obstacles in the grid map;

[0047] The task information includes the pick-up and delivery positions of the task and the status of the task. Define all tasks as L = {m1, m2,..., m n}, where the pick-up position coordinates are represented as (x p , y p ), the delivery position coordinates are represented as (x d , y d ), and the task status is represented as S m , including three types: "unassigned", "virtually assigned" and "truly assigned", and the initial status is "unassigned";

[0048] The AGV information includes the AGV position coordinates, the AGV task list, the AGV status, and the target point position list. All AGVs are defined as T = {t1, t2,..., t k}, where its position coordinates are represented as (x l , y l ), the task list is represented as T_m, the target point position list is T_g, and the AGV status is represented as S t , including four types: "returning", "waiting", "not picked up", and "not delivered", and the initial status is "waiting".

[0049] The following is the pseudocode for the subsequent steps. The comments after the pseudocode represent the specific implementation steps corresponding to it, specifically:

[0050] Step S2: Based on the initial global information, construct a cost matrix, initialize tasks for the AGV, and update the global information, corresponding to Lines 1 - 3 in the pseudocode, specifically:

[0051] S2.1 Obtain the position coordinates (x l , y l ), the task status S m , the pick-up position coordinates (x p , y p ) and the delivery position coordinates (x d , y d ) of the AGV from the global information of S1;

[0052] S2.2 Construct a cost matrix. The matrix stores the distances between each AGV and each task. Among them, the status of the task must be "unassigned" or "virtually assigned", and tasks with the status of "truly assigned" do not participate in constructing the matrix. When the AGV status is "not delivered", the distance between it and a certain task is expressed as the distance from the current AGV position to the next target point of the AGV plus the distance from the target point to the pick-up position of this task plus the distance from the pick-up position to the delivery position, expressed as d i,j = Man((x l , y l ), (x d1 , y d1 ) + Man((x d1 , y d1 ), (x p2 , y p2 )) + Man((x p2 , y p2 ), (x d2, y d2 )); When the AGV status is not "undelivered", its distance from a certain task is uniformly expressed as the distance from the position of the AGV to the pick-up position of this task plus the distance from the pick-up position of the task to the delivery position, denoted as d i,j = Man((x l , y l ), (x p , y p ) + Man((x p , y p ), (x d , y d )) where Man(point1, point2) represents the Manhattan distance between two points;

[0053] The final cost matrix is expressed as

[0054] S2.3 According to the cost matrix C, call the Hungarian algorithm for task allocation. At this time, the allocation is regarded as an assignment problem;

[0055] Among them, the assignment problem is to match the elements in one set with the elements in another set one by one, and each match has a corresponding cost. The goal is to find a matching method with the lowest total cost; in the present invention, one set represents the AGV, the other set represents the task, and the cost of their matching is expressed as the cost matrix C;

[0056] Update the global information according to the assignment result. Assume that the initial number of tasks is more than the number of AGVs. Therefore, all AGVs will be assigned a task. Update the task list T_m and the target point position list T_g according to the assigned task, and the AGV status S t is updated to "undelivered", and the status S of all tasks assigned to the AGV m is updated to "virtually assigned".

[0057] Step S3: According to the updated global information, call the path planning algorithm to plan the path of the AGV to its target point. After the planning is completed, update the global information, corresponding to Lines 4 - 7 in the pseudocode, specifically:

[0058] S3.1 Obtain the position coordinates (x l , y l ) of the AGV, the status S of the AGV t , the target point position list T_g and the obstacle information φ from the updated global information, and call RHCR to plan the path of the AGV to its target point. Among them, the AGV with the status of "waiting" does not need to be planned;

[0059] Among them, RHCR is a framework for lifelong multi-agent path planning, which can be used in conjunction with various path planning solvers. In this invention, ECBS (Enhanced Conflict-Based Search) is selected to cooperate with it. Using the RHCR framework for planning no longer directly plans a collision-free path for the AGV from the starting point to the target point, but splits the entire planning process into multiple window planning processes, and then uses ECBS to solve in each window. The user needs to specify two parameters, including the time range w and the replanning period h. In each window, ECBS only needs to resolve conflicts in the first w time steps, and then all AGVs move forward along the path for h time steps, and then plan again until the target point is reached. In RHCR, w must be greater than or equal to h, and in this invention, w = h = 7.

[0060] S3.2 Update the global information according to the planned path. Assume AGVt i The path it plans is represented as P = {(x l , y l ), (x1, y1),..., (x7, y7),...}, then the position coordinates of the AGV are updated to (x7, y7); if the path in the first 7 time steps does not pass through the target point of the AGV, then there is no need to update other global information; if the path passes through the target point of the AGV, it means that the AGV has reached the pick-up position or delivery position of a certain task or returned to the parking point. Then if the state S t of the AGV is "not picked up", then it should be updated to "not delivered", and the corresponding passed target point should also be deleted from the target position list T_g of the AGV, and the state S m of the corresponding task is also updated from "virtual allocation" to "real allocation", and the AGV task list is not updated; if the state S t of the AGV is "not delivered", and there is only one task in the task list T_m, then delete the corresponding task, update the AGV state S t to "returning", and the corresponding passed target point is also deleted from the target position list T_g of the AGV, and the state of the task is not updated; if the state S t of the AGV is "not delivered", but there are two tasks in the task list T_m, then delete the first task, update the AGV state S t to "not picked up", and the corresponding passed target point is also deleted from the target position list T_g of the AGV, and the state S m of the task is not updated; if the state S t of the AGV is "returning", then update it to "waiting", and the rest of the information is not updated.

[0061] Step S4: Based on the updated global information, construct a new cost matrix, call the Hungarian algorithm for reassignment, update the global information, and loop through the entire process of S3 - S4 - S3 until all tasks are completed, corresponding to Line8 - Line9 in the pseudocode. Specifically:

[0062] S4.1 Based on the updated global information, obtain the position coordinates (x l , y l ) of the AGV, the status S t of the AGV, the task status S m , and the pick-up position coordinates (x p , y p ) and delivery position coordinates (x d , y d ) of the task, and construct a new cost matrix in the same way as S2.2;

[0063] S4.2 Based on the cost matrix, call the Hungarian algorithm for task reassignment, and update the global information according to the assignment result. For all reassigned tasks, their status S m is uniformly updated to "virtually assigned"; for AGVs without reassigned tasks, all their information remains unchanged; for AGVs reassigned to tasks, if their status S t is "returning" or "waiting", it is updated to "not picked up", the task is added to the task list T_m, and the target position list T_g is updated accordingly; if the status S t of the AGV reassigned to the task is "not picked up", there are two cases. One is that if the reassigned task is the same as the existing task, no update is made. The other is that if the reassigned task is different from the existing task, the existing task is replaced with the reassigned task, the task list T_m and the target position list T_g are updated. At the same time, if the original task was assigned to another AGV, the status of this task is not updated. If it was not assigned to another AGV, the task status S m is updated to "not assigned"; if the status S t of the AGV reassigned to the task is "not delivered", there are also two cases. One is that when there is only one task in the AGV task list, the reassigned task is added to T_m and the target position list T_g is updated. The other is that when there are two tasks in the AGV task list, if the reassigned task is the same as the second task, no update is made. If it is different, the second task is replaced with the reassigned task, the task list T_m and the target position list T_g are updated. At the same time, if the original second task was assigned to another AGV, the status of this task is not updated. If it was not assigned to another AGV, the task status S m is updated to "not assigned";

[0064] S4.3 Return to S3 and loop through the entire process of S3 - S4 - S3 until all tasks are completed, that is, the status S of all AGVs t both change to "returning" or "waiting".

[0065] Example 1:

[0066] This example is carried out in the grid map as Figure 1 shown. In the experiment, the number of AGVs gradually increases, but the average number of tasks to be completed by the AGVs remains unchanged. The pick-up locations and delivery locations corresponding to the tasks are randomly generated, and each group of experiments runs 10 instances. The experiment selects Google's OR-Tools solver to represent the independent allocation method for comparison. Among them, OR-Tools (ideal) represents the theoretically minimum completion time of the task sequence, and OR-Tools represents the actual minimum completion time after the AGV executes this task sequence. RHTA (Rolling-Horizon Task Assignment) represents the algorithm proposed by the present invention. Table 1 shows the running time of RHTA when the number of AGVs is different, Figure 3 and what is shown in

[0067] Table 1 RHTA running time

[0068] As can be seen from the above table, as the number of AGVs increases, the running time of RHTA also increases, but the required time is extremely short and can almost be ignored. From Figure 3 it can also be seen that using RHTA for task allocation can always obtain a smaller completion time than OR-Tools, that is, the tasks can always be completed faster. Moreover, as the number of AGVs increases, the probability of path changes for AGVs to avoid conflicts is greater, which makes the advantage of this allocation method (RHTA) that combines the path planning process more obvious compared to the independent method (OR-Tools), and the gap in the quality of the solutions gradually increases. In addition, since the solution quality of OR-Tools is extremely poor when its solving time is set to be the same as the running time of RHTA, the time dimension of OR-Tools is not considered in the experiment, and its solving time is set as long as possible to find the theoretically global optimum, which are 600s, 1800s, 3600s, and 5400s respectively. Therefore, overall, RHTA is superior to OR-Tools in terms of running time and solution quality. Although the minimum completion time shown by OR-Tools (ideal) is shorter, it is only theoretical data and has no practical significance, and this also further illustrates the practical significance of the algorithm proposed by the present invention in combining path planning. The theoretical optimum is not necessarily the practical optimum.

[0069] Example 2:

[0070] This example is basically the same as that of Example 1, except that the number of AGVs remains unchanged in this example while the average number of tasks that the AGVs need to complete gradually increases. Similarly, Table 2 shows the running time of RHTA for different average numbers of tasks, Figure 3 and what is shown is the makespan for different methods at different average numbers of tasks.

[0071] Table 2 Running Time of RHTA

[0072] As shown in Table 2, the running of RHTA also increases as the number of tasks increases, but the time required is extremely short and can also be almost ignored. As Figure 4 shown, in terms of makespan, RHTA is still always superior to OR-Tools. However, the gap between the two does not increase as the average number of tasks increases and does not show an obvious regularity. This is mainly because the increase in the average number of tasks highlights the advantages of methods such as OR-Tools to a certain extent. Although they do not consider the actual planning process and only allocate based on the estimated distance, they obtain the global optimal or approximate global optimal, while RHTA is the superposition of local optima in multiple rounds. Therefore, if only considered theoretically, the more the average number of tasks, the more advantageous methods such as OR-Tools may be, as shown by the corresponding curve of OR-Tools(ideal), and the gap between it and RHTA becomes larger as the average number of tasks increases. However, when considering the actual situation, that is, considering the actual process of AGV task execution and the time required for task allocation, RHTA is still significantly superior to OR-Tools.

[0073] In summary, the present invention proposes a multi-AGV task allocation method based on the Hungarian algorithm. This method converts the multi-AGV task allocation into a multi-round assignment problem through the cyclic process of initial allocation, path planning, and reallocation. It deeply couples the path planning process, can make full use of the information brought by the planning process, and the time required is only the time-consuming of multiple Hungarian algorithms. Experiments prove that compared with the traditional allocation method that regards task allocation as a separate process, the method disclosed in the present invention can improve the quality of the solution while significantly shortening the running time, effectively improving the working efficiency of the AGV system.

Claims

1. An intelligent picking warehouse multi-AGV task allocation method based on the Hungarian algorithm, characterized in that, It includes the following steps: S1: Build a map model of the environment where the AGV is located, and obtain initial global information, including: obstacle information, task information, and AGV information; S2: Based on the initial global information, build a cost matrix, initialize tasks for the AGV, and update the global information; S3: According to the updated global information, call the path planning algorithm to plan the path of the AGV to its target point. After the planning is completed, update the global information; S4: According to the updated global information, build a new cost matrix, call the Hungarian algorithm for reassignment, update the global information, and loop through the entire process of S3 - S4 - S3 until all tasks are completed.

2. The multi-AGV task allocation method in an intelligent picking warehouse based on the Hungarian algorithm according to claim 1, wherein, The specific content of step S1 includes: S1.1 Model the warehouse environment as a four - domain grid map; S1.2 Obtain global information, where the obstacle information is represented as the coordinates of the obstacles in the grid map; The task information includes: the pick - up location coordinates, delivery location coordinates, and task status of the task. The task status includes three types: "unassigned", "virtually assigned", and "truly assigned". "Unassigned" means that the task is not assigned to any AGV. "Virtually assigned" means that the task is "virtually" assigned to a certain AGV, but may be reassigned to other AGVs later. "Truly assigned" means that the task has been "truly" assigned to a certain AGV and will not be reassigned to other AGVs later. When the AGV passes through the pick - up location of its "virtually assigned" task and picks up the goods, the task status changes from "virtually assigned" to "truly assigned"; The AGV information includes: AGV position coordinates, AGV task list, AGV status, and target point location list. The AGV position coordinates are the coordinates corresponding to the position of the AGV in the map at this time, and the AGV task list is the list of tasks that the AGV needs to complete in sequence; The AGV status includes four types: "returning", "waiting", "not picked up", and "not delivered". "Returning" means that the AGV has no tasks to execute and needs to navigate back to the parking point. "Waiting" means that the AGV has no tasks to execute but has returned to the parking point. "Not picked up" and "not delivered" correspond to "virtually assigned" and "truly assigned" of the task status. Among them, "not picked up" means that the status of the task being executed by the AGV is "virtually assigned", and "not delivered" means that the status of the task being executed by the AGV is "truly assigned"; The AGV target point location list stores the target points that the AGV needs to reach in sequence to complete the tasks, which corresponds to the AGV status and the AGV task list. The last coordinate in this list is always the parking point coordinate corresponding to the AGV, ensuring that the AGV returns to the parking point after completing all tasks; when the AGV status is "returning" or "waiting", the AGV task list is empty, and only the parking point coordinate exists in the target point location list; when the AGV status is "not picked up", there is a task with the status of "virtually assigned" in the AGV task list, and the picking and delivery location coordinates of this task and the parking point coordinate exist in the target point location list; when the AGV status is "not delivered", there are two cases. One is that there may be two tasks in the task list, one with the status of "truly assigned" and one with the status of "virtually assigned", indicating that the AGV needs to execute another "virtually assigned" task after reaching the delivery location and completing the "truly assigned" task. At this time, the delivery location coordinate of the "truly assigned" task, the picking and delivery location coordinates of the "virtually assigned" task, and the parking point coordinate exist in the target point location list; the other is that there is only one task in the task list, that is, only one task with the status of "truly assigned", indicating that the AGV does not need to execute other tasks after reaching the delivery location and completing this task. At this time, only the delivery location coordinate of the "truly assigned" task and the parking point coordinate exist in the target point location list; The status of all tasks is initialized to "not assigned", and the status of all AGVs is initialized to "waiting".

3. The multi-AGV task allocation method in an intelligent picking warehouse based on the Hungarian algorithm according to claim 1, characterized in that, The specific measures in step S2 include: S2.1 Obtain the position coordinate of the AGV, the picking position coordinate of the task, and the delivery position coordinate of the task from the global information in S1; S2.2 Construct a cost matrix, which stores the distances between each AGV and the tasks. Among them, the status of the tasks must be "not assigned" or "virtually assigned", and the tasks with the status of "truly assigned" do not participate in constructing the matrix; When the AGV status is "not delivered", the distance between it and a certain task is expressed as the distance from the current position of the AGV to the next target point of the AGV plus the distance from the target point to the picking position of this task plus the distance from the picking position of the task to the delivery position; when the AGV status is not "not delivered", the distance between it and a certain task is uniformly expressed as the distance from the position of the AGV to the picking position of this task plus the distance from the picking position of the task to the delivery position; The distance between any two coordinate points P(x1, y1) and Q(x2, y2) is expressed as the Manhattan distance, and the calculation formula is: S2.3 According to the cost matrix, call the Hungarian algorithm for task allocation, and update the global information according to the allocation result. The update includes: the AGV task list, the AGV status, the AGV target point location list, and the task status.

4. The multi-AGV task allocation method in an intelligent picking warehouse based on the Hungarian algorithm according to claim 1, wherein, The specific measures in step S3 include: S3.1 Obtain the position coordinate of the AGV, the target point location list, and the obstacle information from the updated global information, and call RHCR to plan the path of the AGV to its target point; S3.2 According to the planned path, update the global information. The update includes: the AGV position coordinate, the AGV task list, the AGV status, the AGV target point location list, and the task status.

5. The multi-AGV task allocation method in an intelligent picking warehouse based on the Hungarian algorithm according to claim 1, characterized in that The specific measures in step S4 include: S4.1 Construct a new cost matrix based on the updated global information; S4.2 Based on the cost matrix, call the Hungarian algorithm for task assignment, and update the global information according to the assignment result. The update includes: the AGV task list, the AGV status, the AGV target point location list, and the task status; S4.3 Return to S3 and loop through the entire process of S3 - S4 - S3 until all tasks are completed, that is, the status of all AGVs becomes "returning" or "waiting".

6. The multi-AGV task allocation method in an intelligent picking warehouse based on the Hungarian algorithm according to claim 2, characterized in that, In S1.2, obtain the global information, where the obstacle information is represented as a set φ, storing the coordinates of all obstacles in the grid map; The task information includes the task pick-up and delivery locations and the status of the task. Defining all tasks is expressed as L = {m1, m2,..., m n}, where the coordinates of its pick-up location are expressed as (x p , y p ), the coordinates of the delivery location are expressed as (x d , y d ), and the task status is expressed as S m , including three types: "unassigned", "virtually assigned", and "truly assigned", and the initial status is "unassigned"; [0048]AGV information includes the AGV position coordinates, the AGV task list, the AGV status, and the target point position list. All AGVs are defined as T = {t1, t2,..., t k}, where its position coordinates are represented as (x l , y l ), the task list is represented as T_m, the target point position list is T_g, and the AGV status is represented as S t , including four types: "returning", "waiting", "not picked up", and "not delivered", and the initial status is "waiting".

7. The multi-AGV task allocation method in an intelligent order picking warehouse based on the Hungarian algorithm according to claim 2, wherein Step S2: Based on the initial global information, construct a cost matrix, initialize tasks for AGVs, and update the global information. Specifically: S2.1 Obtain the position coordinates (x l , y l ) of the AGV, the task status S m , the pick-up position coordinates (x p , y p ) of the task, and the delivery position coordinates (x d , y d ) of the task from the global information of S1; S2.2 Construct a cost matrix that stores the distances between each AGV and each task. The status of the task must be "unassigned" or "virtually assigned", and tasks with the status of "truly assigned" do not participate in matrix construction. When the AGV status is "undelivered", the distance between it and a certain task is expressed as the distance from the current position of the AGV to the next target point of the AGV, plus the distance from the target point to the pick-up position of this task, plus the distance from the pick-up position of the task to the delivery position, denoted as d i,j = Man((x l , y l ), (x d1 , y d1 )) + Man((x d1 , y d1 ), (x p2 , y p2 )) + Man((x p2 , y p2 ), (x d2 , y d2 )); When the AGV status is not "undelivered", the distance between it and a certain task is uniformly expressed as the distance from the position of the AGV to the pick-up position of this task, plus the distance from the pick-up position of the task to the delivery position, denoted as d i,j = Man((x l , y l ), (x p , y p )) + Man((x p , y p ), (x d , y d ) where Man(point1, point2) represents the Manhattan distance between two points; The final cost matrix is expressed as S2.3 Based on the cost matrix C, call the Hungarian algorithm for task assignment. At this time, the task assignment is regarded as an assignment problem; the assignment problem is to match the elements in one set with the elements in another set one by one, and each match has a corresponding cost. The goal is to find a matching method with the lowest total cost; one set represents AGVs, the other set represents tasks, and the cost of their matching is represented as the cost matrix C; Update the global information according to the assignment result. Assume that the initial number of tasks is more than the number of AGVs, so all AGVs will be assigned a task. Update the task list T_m and the target point location list T_g according to the assigned tasks, and the AGV status S t is updated to "undelivered", and the status S of all tasks assigned to AGVs m is updated to "virtually assigned".

8. The multi-AGV task allocation method in an intelligent order picking warehouse based on the Hungarian algorithm according to claim 1, characterized in that, In S3, based on the updated global information, call the path planning algorithm to plan the path of the AGV to its target point. After the planning is completed, update the global information. Specifically: S3.1 Obtain the position coordinates (x l , y l ) of the AGV, the status S t of the AGV, the target point position list T_g, and the obstacle information φ, and call RHCR to plan the path of the AGV to its target point. Among them, the AGV with the status of "waiting" does not need to be planned; S3.2 Update the global information according to the planned path; AGV t i The planned path is represented as P = {(x l , y l ), (x1, y1),..., (x7, y7),...}, then the position coordinates of the AGV are updated to (x7, y7); if the path in the previous 7 time steps does not pass through the target point of the AGV, then there is no need to update other global information; if the path passes through the target point of the AGV, it means that the AGV has reached the pick-up position or delivery position of a certain task or returned to the parking point; then if the state S t of the AGV is "not picked up", it should be updated to "not delivered", and the corresponding passed target point should also be deleted from the target position list T_g of the AGV, and the state S m of the corresponding task is also updated from "virtual allocation" to "real allocation", and the AGV task list is not updated; if the state S t of the AGV is "not delivered", and there is only one task in the task list T_m, then delete the corresponding task, update the AGV state S t to "returning", and the corresponding passed target point is also deleted from the target position list T_g of the AGV, and the state of the task is not updated; if the state S t of the AGV is "not delivered", but there are two tasks in the task list T_m, then delete the first task, update the AGV state S t to "not picked up", and the corresponding passed target point is also deleted from the target position list T_g of the AGV, and the state S m of the task is not updated; if the state S t of the AGV is "returning", then update it to "waiting", and the rest of the information is not updated.

9. The multi-AGV task allocation method in an intelligent order picking warehouse based on the Hungarian algorithm according to claim 1, wherein, Step S4: Based on the updated global information, construct a new cost matrix, call the Hungarian algorithm for re - assignment, update the global information, and loop through the entire process of S3 - S4 - S3 until all tasks are completed. Specifically: S4.1 Obtain the position coordinates (x l , y l ) of the AGV, the status S t of the AGV, the status S m of the task, and the pick-up position coordinates (x p , y p ) and delivery position coordinates (x d , y d ) of the task, and construct a new cost matrix in the same way as in S2.2; S4.2 Call the Hungarian algorithm for task reassignment based on the cost matrix, and update the global information according to the assignment result; for all the reassigned tasks, update their status S m to "virtual assignment" uniformly; for the AGVs without reassigned tasks, do not update any of their information; for the AGVs reassigned to tasks, if their status S t is "returning" or "waiting", then update it to "not picking up goods", add this task to the task list T_m and update the target location list T_g at the same time; if the status S t of the AGV reassigned to the task is "not picking up goods", then there are two cases. One is that the reassigned task is the same as the existing task, then do not make any update. The other is that if the reassigned task is different from the existing task, then replace the existing task with the reassigned task, update the task list T_m and the target location list T_g. At the same time, if the original task has been assigned to other AGVs, do not update the status of this task. If it has not been assigned to other AGVs, then update the task status S m to "unassigned"; if the status S t of the AGV reassigned to the task is "not delivered", there are also two cases at this time. One is that when there is only one task in the AGV task list, then add the reassigned task to T_m and update the target location list T_g at the same time. The other is that when there are two tasks in the AGV task list, if the reassigned task is the same as the second task, then do not make any update. If they are different, then replace the second task with the reassigned task, update the task list T_m and the target location list T_g. At the same time, if the original second task has been assigned to other AGVs, do not update the status of this task. If it has not been assigned to other AGVs, then update the task status S m to "unassigned"; S4.3 Return to S3 and loop through the entire process of S3 - S4 - S3 until all tasks are completed, that is, the status S of all AGVs t becomes "returning" or "waiting".

Citation Information

Cited By

  • Distributed cooperative perception response adaptive navigation method and device and storage medium

    CN121632186A