Multi-agv dynamic cooperative scheduling method based on hierarchical space-time reservation network and conflict pre-dissipation

CN122902432APending Publication Date: 2026-10-13SHANGHAI SHANNAN ZHIXIANG PACKAGING EQUIP TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610847245.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-12
Publication Date
2026-10-13

AI Technical Summary

Technical Problem

全局规划方法计算复杂度高,实时性差;局部规划方法虽然实时性好,但容易陷入局部最优,全局最优性与实时性难以平衡

Benefits of technology

[0044]本发明基于分层时空预留网络与冲突预消解的多AGV动态协同调度方法的有益效果为:(1)采用分层调度架构,上层进行全局任务分配和初始路径规划,保证了全局最优性;下层采用动态时间窗滚动优化机制,将全局规划分解为一系列局部规划问题,大大降低了计算复杂度,提高了实时性;(2)时空预留网络模型和改进A *算法能够在路径规划阶段就主动避免冲突;同时,冲突预消解算法能够预测未来可能发生的冲突并提前消除,大大减少了AGV的等待时间,提高了调度效率;(3)动态时间窗滚动优化机制能够定期释放未来的预留标记并重新规划路径,充分利用了时空资源,提高了AGV的利用率;(4)基于梯度下降算法的参数自适应调整机制,能够根据车间的动态变化自动调整关键参数,使调度性能始终保持在最优水平;(5)能够有效应对车间内的动态障碍物、任务变更、AGV故障等突发情况,具有很强的鲁棒性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122902432A_ABST
    Figure CN122902432A_ABST
Patent Text Reader

Abstract

The application proposes a multi-AGV dynamic cooperative scheduling method based on hierarchical space-time reservation network and conflict pre-elimination, first constructs a hierarchical space-time reservation network model, sets a reservation mark for each space-time node; then performs task classification and global task allocation; then adopts an improved A* algorithm based on space-time reservation to perform initial path planning, introduces a space-time reservation penalty term in the evaluation function; then re-plans the path periodically through a dynamic time window rolling optimization mechanism; then executes a conflict pre-elimination algorithm, predicts and eliminates possible future conflicts; finally generates motion control instructions and sends them to the AGV for execution. The application effectively balances global optimality and real-time performance, realizes conflict pre-elimination, improves space-time resource utilization, has parameter self-adaptation capability, and is suitable for cooperative scheduling of large-scale AGV clusters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of intelligent factory automation technology, and in particular to a dynamic collaborative scheduling method for multiple AGVs based on a hierarchical spatiotemporal reservation network and conflict pre-resolution. Background Technology

[0002] Automated Guided Vehicles (AGVs) are core equipment for material transportation in smart factories, and their scheduling efficiency directly affects the overall production efficiency of the factory. As smart factories develop towards flexibility and intelligence, the number of AGVs in the workshop is constantly increasing, and tasks are changing frequently, posing a serious challenge to the coordinated scheduling of multiple AGVs.

[0003] In existing technologies, multi-AGV scheduling methods are mainly divided into rule-based, mathematical programming, heuristic algorithm, and spatiotemporal network-based scheduling methods. Rule-based scheduling methods, such as first-come-first-served and shortest path first, are computationally simple and have good real-time performance, but lack global optimization capabilities, easily leading to AGV congestion and deadlock, resulting in poor scheduling performance. Mathematical programming-based scheduling methods, such as integer linear programming and mixed integer programming, can obtain globally optimal solutions, but their computational complexity is high, and the solution time increases exponentially with the number of AGVs and tasks, making it difficult to meet the requirements of real-time scheduling. Heuristic algorithm-based scheduling methods, such as A* algorithm, Dijkstra's algorithm, and genetic algorithm, can obtain relatively optimal solutions in a short time, but traditional heuristic algorithms mostly only consider spatial factors and not temporal factors, easily leading to spatiotemporal conflicts. Spatiotemporal network-based scheduling methods unify time and space modeling, effectively avoiding spatiotemporal conflicts, but most existing technologies use static spatiotemporal networks, which cannot cope with dynamic changes within the workshop; or they use centralized dynamic programming, which still has high computational complexity.

[0004] Therefore, existing multi-AGV scheduling methods mainly have the following drawbacks: Global planning methods have high computational complexity and poor real-time performance; while local planning methods have good real-time performance, they are prone to getting trapped in local optima, making it difficult to balance global optimality and real-time performance.

[0005] Most methods employ a post-event conflict resolution strategy, which means that conflicts are dealt with only after they occur. This not only increases AGV waiting time but may also trigger a chain of conflicts.

[0006] In the path planning process, the time and space resources are not fully utilized, and too many time and space resources are often reserved, resulting in low utilization of AGVs. Summary of the Invention

[0007] To address the aforementioned technical issues, this application proposes a dynamic collaborative scheduling method for multiple AGVs based on a hierarchical spatiotemporal reservation network and conflict pre-resolution, comprising the following steps: S1: Construct a hierarchical spatiotemporal reserved network model for the workshop and obtain the initial reserved label matrix. .

[0008] The specific content of the hierarchical spatiotemporal reserved network model includes: discretizing the physical space of the workshop into an N×M set of grid nodes. Where x is the horizontal coordinate of the grid node and y is the vertical coordinate of the grid node; the size of each grid is determined according to the size of the AGV.

[0009] Discretize the scheduling time into continuous basic time slices. , The value is determined based on the AGV's response speed; each spatiotemporal node is represented as... Where x is the horizontal coordinate, y is the vertical coordinate, and k is the time slice number. =1,2,3,...

[0010] In addition, for each spatiotemporal node Allocate a binary reserved tag, and all binary reserved tags form the initial reserved tag matrix. .

[0011] in =1 indicates that this time-space node has been reserved and cannot be occupied by other AGVs. =0 indicates that the spatiotemporal node has not been reserved.

[0012] By discretizing time and space into quantifiable spatiotemporal nodes and introducing binary reserved markers, exclusive allocation of spatiotemporal resources is achieved, fundamentally avoiding spatiotemporal conflicts and deadlocks among multiple AGVs.

[0013] S2: Based on all tasks to be executed issued by the MES system, the tasks are divided into a high-priority task set TH and a low-priority task set TL according to their urgency.

[0014] MES (Manufacturing Execution System) is a production information management system for the shop floor execution layer of manufacturing enterprises, responsible for issuing production tasks and material transportation instructions; Each task to be executed Including the starting point ,end Earliest start time Latest completion time and urgency ; in, They are respectively The x and y coordinates of the starting point, They are respectively The x-coordinate and y-coordinate of the endpoint; , This is the preset maximum urgency level.

[0015] Better, when > / 2 o'clock, It will be included in the high-priority task set TH, otherwise it will be Include it in the low-priority task set TL.

[0016] By prioritizing tasks, we ensure that urgent material transport tasks that affect production rhythm are given priority.

[0017] S3: Based on the constructed hierarchical spatiotemporal reservation network model and the high-priority task set TH and the low-priority task set TL, the global task allocation algorithm with high priority is adopted to allocate the tasks to be executed to the idle AGVs, and the AGV-task allocation matrix A is obtained.

[0018] Where A(i,j)=1 represents the task to be executed. Assigned to A(i,j)=0 means Not assigned .

[0019] S4: Based on AGV-task allocation matrix A and initial reserved marker matrix Each assigned a task The improved A* algorithm based on spatiotemporal reservation is executed for initial path planning, and the initial reservation marker matrix is ​​updated in real time. The initial spatiotemporal paths of each AGV are obtained. and the updated global spacetime reservation marker .

[0020] in, ; for The x-coordinate of the m-th point on the initial spacetime path, for The ordinate of the m-th point on the initial spacetime path. for The time slice number of the m-th point on the initial spatiotemporal path; m = 1, 2, ..., n.

[0021] During path planning, the global spatiotemporal reserved markers are updated in real time. Specifically, this means marking all the binary reserved markers of all the spatiotemporal nodes traversed by the planned initial spatiotemporal path as reserved.

[0022] S5: Initial spatiotemporal path based on each AGV and the updated global spacetime reservation marker A dynamic time window rolling optimization mechanism is constructed to obtain the optimized spatiotemporal path. and the updated global spacetime reservation marker .

[0023] Set a rolling cycle. At the beginning of each rolling cycle, based on the current actual positions of all AGVs and the reserved spatiotemporal nodes, replan the paths for the next L time slices to obtain... and , where L is the prediction window length.

[0024] S6: Based on the optimized spatiotemporal path and the updated global spacetime reservation marker The conflict pre-resolution algorithm is executed to predict all possible spatiotemporal conflicts within the next L time slices, calculate the conflict cost Cc for each conflict, and pre-resolution is performed sequentially according to the conflict cost from high to low to obtain the final spatiotemporal path. .

[0025] S7: Final spacetime path The commands are converted into motion control instructions for the AGVs and sent to each AGV for execution.

[0026] S8: Based on the AGV operation data collected during the execution of each AGV, calculate the scheduling performance index, and dynamically adjust the key parameters in the path planning and conflict resolution process based on the gradient descent algorithm.

[0027] Furthermore, in step S3, the objective function of the global task allocation algorithm is: ; Where K is the total number of AGVs, and Q is the total number of tasks to be executed. for Current location Tasks to be executed starting point Manhattan distance, This is the maximum speed of the AGV. For the current time, and These are the driving time weight and the overtime penalty weight, respectively. > >0.

[0028] Introduce timeout penalty and set > This makes the algorithm more inclined to allocate tasks that can be completed on time, while the constraint of prioritizing the allocation of high-priority tasks ensures the timely execution of urgent tasks, thus achieving global optimization of task allocation.

[0029] Furthermore, in step S3, the constraints of the global task allocation algorithm include: Each task to be executed can only be assigned to one AGV, that is j=1,2,...,Q; Each AGV can be assigned a maximum of one task to be executed. , i=1,2,...,K; High-priority tasks are assigned first, that is, for any and If there is an idle AGV, then Must I was assigned before.

[0030] Furthermore, in step S4, the evaluation function of the improved A* algorithm based on spatiotemporal reservation is: ; The assigned tasks to be executed are express, From The starting point To the current spacetime node The actual cost is the number of time slices already traveled. From the current spatiotemporal node n to The End The heuristic cost, Reserving penalty items for spacetime; The heuristic cost The calculation formula is: ; for Assigned tasks to be executed The end point The spatial location of the current spatiotemporal node n from the endpoint Manhattan distance; The spacetime reservation penalty item The calculation formula is: ; in, Where L is the penalty coefficient, L is the prediction window length, and k is the time slice number of the current spatiotemporal node. The variable to be summed represents the time from the current time slice k to the (k+L)th future time slice.

[0031] By introducing a time-space reservation penalty term into the evaluation function of the traditional A* algorithm, we can proactively avoid time-space nodes that have been reserved by other AGVs during the path planning stage. This reduces the probability of conflicts from the source, greatly reduces the workload of subsequent conflict resolution, and effectively avoids the problem of excessive AGV waiting time caused by post-conflict resolution.

[0032] Furthermore, step S4 specifically includes the following steps: S41: Initialize the open list O and the closed list C, and set the starting spacetime node. Add to list O, where They are respectively Assigned tasks to be executed The x and y coordinates of the starting point; ,for Earliest start time The corresponding time slice number; S42: If the O list is empty, path planning fails, return to step S3 to reassign tasks; otherwise, retrieve the task from the O list. The spatiotemporal node n with the smallest value; S43: If spacetime node n is the endpoint spacetime node Then the initial spacetime path is obtained by backtracking. and will Reserved markers for all spatiotemporal nodes Set to 1 to end the algorithm; otherwise, add the spatiotemporal node n to list C. in They are respectively Assigned tasks to be executed The x-coordinate and y-coordinate of the endpoint; ,for Latest completion time The corresponding time slice number; S44: Generate all successor nodes m of spatiotemporal node n, including: Successor nodes after driving: , , and ; Waiting for successor node: ; S45: For each successor node If m is not in the C list and Then calculate the g, h, and p values ​​of m, and then calculate the f value; S46: If m is not in list O, add m to list O and record its parent node as n; if m is already in list O and the new f value is smaller, update the f value and parent node of m. S47: Return to step S42.

[0033] Furthermore, step S5 specifically includes the following steps: S51: At the start of each rolling cycle, obtain the current time. Calculate the current time slice number ; S52: For each To obtain its current actual location and planned future path. ; S53: Release the reserved markers for all AGVs in the next L time slices, i.e., for all +1 to +L sets all reserved markers to 0; S54: Based on the AGV priority from high to low, replan the path for each AGV over the next L time slices to obtain the optimized path. ; S55: Optimize the path Reserved markers for all spatiotemporal nodes Set it to 1, and leave the rest unchanged to obtain the updated global spacetime reservation flag. ; S56: Update the spatiotemporal paths of each AGV, The portion of the L future time slices is replaced with The optimized spatiotemporal path is obtained. , .

[0034] By decomposing global planning into a series of rolling local planning problems, the system effectively balances global optimality and real-time performance, enabling it to respond in real time to dynamic changes within the workshop, such as AGV position deviations and dynamic obstacles. At the same time, by periodically releasing and reallocating future spatiotemporal resources, the system significantly improves the utilization rate of spatiotemporal resources and reduces resource waste caused by static path planning.

[0035] Furthermore, step S6 specifically includes the following steps: S61: Optimized time-space path for traversing all AGVs Identify all possible spatiotemporal conflicts within the next L time slices and classify the conflicts into node conflicts and edge conflicts. Node conflict refers to two or more AGVs occupying the same grid node in the same time slice; edge conflict refers to two AGVs occupying the same edge in the same time slice, that is, traveling towards each other from two adjacent nodes. S62: For each conflict c, calculate its conflict cost. ; ; in, Let c be the set of AGVs involved in the conflict. Assigning weights based on urgency, for Assigned tasks to be executed The degree of urgency; S63: Sort all conflicts in descending order of conflict cost Cc; S64: Process each conflict c in the order arranged in S63; For node conflicts, calculate the temporary priority of each AGV involved in the conflict. The AGV with the highest temporary priority retains its original path, while other AGVs replan their paths to avoid the conflicting nodes. For edge conflicts, calculate the temporary priority of each AGV involved in the conflict. The AGV with the highest temporary priority retains the original path, while other AGVs either wait for a time slice or replan their paths to avoid the conflicting edge. S65: Update the global spacetime reservation marker after the latest update. To obtain the final spacetime path ; For AGVs that retain their original paths, in The reserved marks that have already been reserved in the system remain unchanged.

[0036] For AGVs that need to replan their routes to avoid conflicts, perform the following updates: First, the optimized spatiotemporal path of the AGV. In the middle, the reserved markers of all spatiotemporal nodes between the time slice where the conflict occurs and the time slice where the path ends are set to 0; Then, the reserved markers of all time-space nodes in the new path obtained by replanning the AGV are set to 1.

[0037] For AGVs that choose to wait for one time slice due to edge conflicts, perform the following update: First, optimize the spatiotemporal path of the AGV. The reserved marker of the spatiotemporal node corresponding to the time slice in which the conflict occurs is set to 0; Then, the optimized spatiotemporal path of the AGV is compared. For all spatiotemporal nodes whose time slice number is greater than or equal to the time slice number where the conflict occurred, increment the time slice number of these spatiotemporal nodes by 1, and set the reserved flag of these adjusted spatiotemporal nodes to 1.

[0038] Furthermore, in step S64, the formula for calculating the temporary priority of the AGV is: ; in, for The corresponding temporary priority, for The remaining distance not traveled, for The total driving distance of the assigned tasks to be performed. The weight is the remaining distance.

[0039] By predicting potential future conflicts and resolving them in advance, AGV waiting and production line stoppages caused by dealing with conflicts after they occur are avoided. At the same time, by introducing conflict cost and temporary priority mechanisms, conflicts with greater impact are dealt with first, ensuring the optimization of overall scheduling performance, effectively preventing chain conflicts and improving conflict resolution efficiency.

[0040] Furthermore, step S7 specifically includes the following steps: S71: Regarding The final spacetime path Transform it into a series of motion segments ; in, ; ; ,for The time to reach the m-th point; ,for The time to reach the (m+1)th point; n is The final spacetime path The total number of spatiotemporal nodes included, where m is the index of the spatiotemporal node in the path. Let x and y be the x and y coordinates of the m-th spatiotemporal node, respectively. This is the time slice number for reaching the m-th spatiotemporal node; S72: For each motion segment Based on the kinematic model of the AGV, its velocity curve is calculated. ; satisfy 0, 0, and , ,in ,for In the movement segment The acceleration function on; This is the maximum acceleration of the AGV; S73: Speed ​​curve Converted into a pulse sequence that the AGV servo controller can recognize, and sent to... implement.

[0041] By converting abstract spatiotemporal paths into precise motion control commands, the AGV is guaranteed to travel strictly according to the planned time and position, ensuring the effectiveness of the spatiotemporal reservation mechanism. At the same time, by considering the kinematic constraints of the AGV, rapid acceleration and deceleration are avoided, extending the service life of the AGV.

[0042] Furthermore, step S8 specifically includes the following steps: S81: Define the scheduling performance metric J as: ; in, This represents the average task completion time. For reference, average task completion time, This represents the average waiting time. For reference, average waiting time For the number of conflicts, For reference, the number of conflicts, , , Weights for performance metrics; S82: Collect runtime data from the most recent W rolling cycles and calculate the average scheduling performance index over the W rolling cycles. ; S83: Calculate scheduling performance index J for key parameters gradient ; The key parameters It includes the weights in the global task allocation algorithm and the weights in the conflict pre-resolution algorithm. ; S84: Update key parameters based on gradient descent algorithm: ; in, This is the learning rate.

[0043] By using a parameter adaptive adjustment mechanism based on the gradient descent algorithm, the scheduling system can automatically optimize key parameters according to the actual operation of the workshop, always maintaining optimal scheduling performance and effectively avoiding the problems of unstable scheduling performance and inability to adapt to dynamic changes in the workshop caused by using fixed parameter settings.

[0044] The beneficial effects of the multi-AGV dynamic collaborative scheduling method based on hierarchical spatiotemporal reservation network and conflict pre-resolution of the present invention are as follows: (1) The hierarchical scheduling architecture is adopted. The upper layer performs global task allocation and initial path planning, which ensures global optimality. The lower layer adopts dynamic time window rolling optimization mechanism to decompose the global planning into a series of local planning problems, which greatly reduces the computational complexity and improves the real-time performance. (2) The spatiotemporal reservation network model and the improved A* algorithm can actively avoid conflicts in the path planning stage. At the same time, the conflict pre-resolution algorithm can predict the possible future conflicts and eliminate them in advance, which greatly reduces the waiting time of AGVs and improves the scheduling efficiency. (3) The dynamic time window rolling optimization mechanism can periodically release the future reservation markers and re-plan the path, making full use of spatiotemporal resources and improving the utilization rate of AGVs. (4) The parameter adaptive adjustment mechanism based on gradient descent algorithm can automatically adjust key parameters according to the dynamic changes in the workshop, so that the scheduling performance is always kept at the optimal level. (5) It can effectively deal with sudden situations such as dynamic obstacles, task changes, and AGV failures in the workshop and has strong robustness. Attached Figure Description

[0045] Figure 1 This is a schematic diagram of the overall workflow of the multi-AGV dynamic collaborative scheduling method based on hierarchical spatiotemporal reservation network and conflict pre-resolution of the present invention. Detailed Implementation

[0046] To provide a further understanding of the purpose, structure, features, and functions of the present invention, detailed descriptions are provided below with reference to specific embodiments.

[0047] like Figure 1 As shown, this invention proposes a dynamic collaborative scheduling method for multiple AGVs based on a hierarchical spatiotemporal reservation network and conflict pre-resolution, including the following steps: S1: Construct a hierarchical spatiotemporal reserved network model for the workshop and obtain the initial reserved label matrix. ; S2: Based on all tasks to be executed issued by the MES system, the tasks are divided into a high-priority task set TH and a low-priority task set TL according to their urgency. S3: Based on the constructed hierarchical spatiotemporal reservation network model and the high-priority task set TH and the low-priority task set TL, the global task allocation algorithm with high priority is adopted to allocate the tasks to be executed to the idle AGVs, and the AGV-task allocation matrix A is obtained. S4: Based on AGV-task allocation matrix A and initial reserved marker matrix Each assigned a task The improved A* algorithm based on spatiotemporal reservation is executed for initial path planning and the global spatiotemporal reservation markers are updated in real time. The initial spatiotemporal paths of each AGV are obtained. and the updated global spacetime reservation marker ; S5: Initial spatiotemporal path based on each AGV and the updated global spacetime reservation marker A dynamic time window rolling optimization mechanism is constructed to obtain the optimized spatiotemporal path. and the updated global spacetime reservation marker ; S6: Based on the optimized spatiotemporal path and the updated global spacetime reservation marker The conflict pre-resolution algorithm is executed to predict all possible spatiotemporal conflicts within the next L time slices, calculate the conflict cost Cc for each conflict, and pre-resolution is performed sequentially according to the conflict cost from high to low to obtain the final spatiotemporal path. and the final updated global spacetime reservation marker ; S7: Final spacetime path The commands are converted into motion control instructions for the AGVs and sent to each AGV for execution. S8: Based on the AGV operation data collected during the execution of each AGV, calculate the scheduling performance index, and dynamically adjust the key parameters in the path planning and conflict resolution process based on the gradient descent algorithm.

[0048] Example: This example illustrates the dynamic collaborative scheduling process of multiple AGVs under normal production conditions in a smart workshop.

[0049] K AGVs are deployed in the workshop. The maximum travel speed of the AGVs is The maximum acceleration is The positioning system uses UWB technology. The MES system issues Q transportation tasks to be executed, each task containing the origin. ,end Earliest start time Latest completion time and urgency The preset maximum urgency level is .

[0050] Perform step S1 to discretize the physical space of the workshop into an N×M set of grid nodes. The size of each grid is determined based on the size of the AGV, ensuring that a single grid can only accommodate one AGV; Discretize the scheduling time into continuous basic time slices. , The value is determined based on the response cycle of the AGV servo controller; a binary reserved tag R(x,y,k) is assigned to each spatiotemporal node ST(x,y,k), where x is the horizontal coordinate of the grid, y is the vertical coordinate of the grid, and k is the time slice number. Initially, all reserved tags are set to 0, resulting in the initial reserved tag matrix.

[0051] In step S2, the MES system assigns an urgency level to each task based on the production cycle urgency, remaining material quantity at the workstation, and order delivery priority. , The range of values ​​is ;when > When the priority is 2, the task is included in the high-priority task set TH; otherwise, it is included in the low-priority task set TL. A task index table is created to record the complete parameter information of each task and the set to which it belongs.

[0052] Step S3 involves using a high-priority global task allocation algorithm to assign tasks to idle AGVs, resulting in the AGV-task allocation matrix A, which includes: S31: Traverse the high-priority task set TH, sorting tasks by urgency. Sort from highest to lowest; S32: For each sorted task TH, iterate through all idle AGVs and calculate Execute the task objective function value ; S33: Select the AGV with the smallest objective function value and assign the task... Assigned to Update the AGV-task assignment matrix A(i,j)=1; S34: After the high-priority tasks are assigned, the same method is used to assign tasks in the low-priority task set TL; S35: Verify whether the allocation result meets the constraints. If not, reallocate.

[0053] By solving the objective function

[0054] The final AGV-task allocation matrix A is obtained, where = for The current location.

[0055] Execute step S4 to assign tasks to each person. The improved A* algorithm based on spatiotemporal reservation is executed sequentially for initial path planning, specifically including: S41: Initialize open list O and closed list C, Assigned tasks The starting point of spacetime Add to list O, where ,for Earliest start time The corresponding time slice number, and also records that the parent node of this spatiotemporal node is empty; S42: If the O list is empty, the path planning is determined to have failed, and the process returns to step S3 to reassign the AGV to the task; otherwise, the spatiotemporal node n=ST(x,y,k) with the smallest evaluation function value f(n) is taken from the O list. S43: Determine if the spacetime node n is... End point in spacetime ,in ,for Latest completion time The corresponding time slice number; if it is, execute S431; otherwise, execute S44. S431: Starting from node n, backtrack to the parent node to obtain the initial spacetime path. ; S432: Traverse the initial spacetime path For all spatiotemporal nodes, set the corresponding reserved marker R(x,y,k) to 1 to obtain the updated global spatiotemporal reserved marker R'(x,y,k), and end the current path planning. S44: Add the spatiotemporal node n to the closing list C, and generate all successor nodes m of the spatiotemporal node n, including successor nodes for travel in the four directions. , and a waiting successor node ; S45: For each successor node Determine if m satisfies the condition that m is not in list C and If satisfied, calculate its actual cost g(m) = g(n) + 1, and its heuristic cost. and time-space reserved penalty items ; This leads to the valuation function value f(m) = g(m) + h(m) + p(m), where the penalty coefficient is... The prediction window length is L; Otherwise, if the condition is not met, skip the successor node m; S46: If m is not in the open list O, add it to the O list and record its parent node as n; if m is already in the O list and the newly calculated f(m) value is less than the original f value, update its f value and its parent node as n. S47: Return to step S42.

[0056] Execute step S5 to construct a dynamic time window rolling optimization mechanism and obtain the optimized spatiotemporal path. Specifically, this includes: S51: Set the rolling period Where m is a positive integer and m≥5, and the prediction window length is L; at the beginning of each rolling cycle, the current time is obtained. Calculate the current time slice number ; S52: Obtain each via UWB positioning system Given the current actual position pos_i=(x_{pos,i},y_{pos,i}), extract its planned future path. ; S53: Release the reserved markers for all AGVs in the next L time slices, i.e., for all +1 to +L sets all reserved markers to 0; S54: Calculate the global priority of each AGV based on the urgency of its assigned task and the remaining completion time, and sort them from highest to lowest priority. Following this sorting order, replan the path for each AGV over the next L time slices, using the improved A* algorithm from step S4, to obtain the optimized future path. ; S56: Traverse all optimized future paths Set the reserved flag of all spatiotemporal nodes to 1 to obtain the updated global spatiotemporal reserved flag. ; S57: Update the spatiotemporal path of each AGV, replacing the portion of the original path for the next L time slices with... The optimized spatiotemporal path is obtained. , .

[0057] Execute step S6, perform the conflict pre-resolution algorithm, predict all possible spatiotemporal conflicts within the next L time slices, and obtain the final spatiotemporal path. Specifically, it includes: S61: Optimized time-space path for traversing all AGVs Check the spatiotemporal node occupancy status of the next L time slices one by one; if two or more AGVs occupy the same grid node in the same time slice, it is determined to be a node conflict; if two AGVs occupy the same edge in the same time slice and travel in opposite directions, it is determined to be an edge conflict; establish a conflict set to record all conflict information. S62: For each conflict c in the conflict set, calculate its conflict cost. ;,in For the set of AGV numbers involving conflict c, Tasks assigned to the corresponding AGV The latest completion time, To determine the urgency level of the corresponding task, the urgency level weight is... ; S63: Sort all conflicts in the conflict set from high to low according to the conflict cost Cc to obtain the conflict processing order; S64: Process each conflict in the sorted order c: S641: For node conflicts, calculate the temporary priority of each AGV involved in the conflict. ; in for Remaining distance not traveled for The total driving distance of the assigned tasks to be performed. Weight the remaining distance; select the AGV with the highest temporary priority to retain its original path, and replan the paths of other AGVs to avoid conflict nodes; S642: For edge conflicts, calculate the temporary priority of each AGV. The AGV with the highest temporary priority retains the original path, while other AGVs choose to wait for a time slice or replan their paths to avoid conflicting edges. S65: Update the global spacetime reservation marker after the latest update. To obtain the final spacetime path ; For AGVs that retain their original paths, in The reserved marks that have already been reserved in the system remain unchanged.

[0058] For AGVs that need to replan their routes to avoid conflicts, perform the following updates: First, the optimized spatiotemporal path of the AGV. In the middle, the reserved markers of all spatiotemporal nodes between the time slice where the conflict occurs and the time slice where the path ends are set to 0; Then, the reserved markers of all time-space nodes in the new path obtained by replanning the AGV are set to 1.

[0059] For AGVs that choose to wait for one time slice due to edge conflicts, perform the following update: First, optimize the spatiotemporal path of the AGV. The reserved marker of the spatiotemporal node corresponding to the time slice in which the conflict occurs is set to 0; Then, the optimized spatiotemporal path of the AGV is compared. For all spatiotemporal nodes whose time slice number is greater than or equal to the time slice number where the conflict occurred, increment the time slice number of these spatiotemporal nodes by 1, and set the reserved flag of these adjusted spatiotemporal nodes to 1.

[0060] Execute step S7 to determine the final spacetime path. The motion control commands converted into AGV instructions specifically include: S71: For each The final spacetime path Convert it into n-1 motion segments ; in ,for The time to reach the m-th point; ,for The time to reach the (m+1)th point.

[0061] S72: For each motion segment Calculate the trapezoidal velocity curve based on the kinematic model of the AGV. Calculate the acceleration time when the distance of the motion segment is d. Acceleration distance = ; If d ≥ 2 The velocity curve is divided into three stages: acceleration, constant speed, and deceleration; if d < 2 The speed curve is divided into two stages: acceleration and deceleration; ensuring the speed curve meets the requirements... 0, 0 and , ; S73: Speed ​​curve The pulse sequence is converted into a pulse sequence that the AGV servo controller can recognize, with each pulse corresponding to a fixed distance traveled by the AGV. The AGV's speed is controlled according to the frequency of the pulse sequence, and the pulse sequence is sent sequentially in time. The servo controller executes.

[0062] Step S8 involves dynamically adjusting key parameters in the path planning and conflict resolution processes based on the gradient descent algorithm. This includes: S81: Define the scheduling performance metric J as: ; in This represents the average task completion time. For reference, average task completion time, This represents the average waiting time. For reference, average waiting time For the number of conflicts, For reference, the number of conflicts, , , Weights for performance metrics; S82: Collects real-time operating data for each AGV, including task completion time, waiting time, number of conflicts, and travel distance; after collecting data for W rolling cycles, it calculates the average scheduling performance index within those W rolling cycles. ; S83: Using numerical differentiation to calculate scheduling performance index J for key parameters gradient ; S84: Update key parameters based on gradient descent algorithm: ,in The updated parameters are applied to the next scheduling cycle as the learning rate.

[0063] This embodiment realizes the full-process dynamic collaborative scheduling of multiple AGVs under normal production conditions in the smart workshop. It forms a complete closed loop from the pre-allocation of spatiotemporal resources and global path planning to dynamic rolling optimization and conflict pre-resolution, which significantly reduces the occurrence rate of spatiotemporal conflicts, improves AGV utilization and material transportation efficiency, and ensures stable production operation.

[0064] The present invention has been described in the above-described embodiments; however, these embodiments are merely examples for implementing the present invention. It must be noted that the disclosed embodiments do not limit the scope of the present invention. Conversely, any modifications and refinements made without departing from the spirit and scope of the present invention are within the scope of patent protection of the present invention.

[0065] The contents of this invention not described in detail are existing technologies known to those skilled in the art.

Claims

1. A dynamic collaborative scheduling method for multiple AGVs based on a hierarchical spatiotemporal reservation network and conflict pre-resolution, characterized in that, Includes the following steps: S1: Construct a hierarchical spatiotemporal reserved network model for the workshop and obtain the initial reserved label matrix. ; The physical space of the workshop is discretized into an N×M set of grid nodes. x and y are the x and y coordinates of the grid node, respectively; Discretize the scheduling time into continuous basic time slices. Each spatiotemporal node is represented as Where k is the time slice number, =1,2,3,...; For each spatiotemporal node Allocate a binary reserved tag, and all binary reserved tags form the initial reserved tag matrix. ; S2: Based on all tasks to be executed issued by the MES system, the tasks to be executed are divided into a high-priority task set TH and a low-priority task set TL according to their urgency. Each task to be executed Including the starting point ,end Earliest start time Latest completion time and urgency ; in, They are respectively The x and y coordinates of the starting point, They are respectively The x and y coordinates of the endpoint; , This is the preset maximum urgency level value; S3: Based on the constructed hierarchical spatiotemporal reservation network model and the high-priority task set TH and the low-priority task set TL, the global task allocation algorithm with high priority is adopted to allocate the tasks to be executed to the idle AGVs, and the AGV-task allocation matrix A is obtained. S4: Based on AGV-task allocation matrix A and initial reserved marker matrix Each assigned a task The improved A* algorithm based on spatiotemporal reservation is executed for initial path planning, and the initial reservation marker matrix is ​​updated in real time. The initial spatiotemporal paths of each AGV are obtained. and the updated global spacetime reservation marker ; in, ; for The x-coordinate of the m-th point on the initial spacetime path, for The ordinate of the m-th point on the initial spacetime path. for The time slice number of the m-th point on the initial spatiotemporal path; m = 1, 2, ..., n; It also refers to marking all the binary reserved markers of all the spatiotemporal nodes traversed by the planned initial spatiotemporal path as reserved; S5: Initial spatiotemporal path based on each AGV and the updated global spacetime reservation marker A dynamic time window rolling optimization mechanism is constructed to obtain the optimized spatiotemporal path. and the updated global spacetime reservation marker ; Set a rolling cycle. At the beginning of each rolling cycle, based on the actual positions of all AGVs and the reserved spatiotemporal nodes, replan the paths for the next L time slices to obtain and , where L is the prediction window length; S6: Based on the optimized spatiotemporal path and the updated global spacetime reservation marker The conflict pre-resolution algorithm is executed to predict all possible spatiotemporal conflicts within the next L time slices, calculate the conflict cost Cc for each conflict, and pre-resolution is performed sequentially according to the conflict cost from high to low to obtain the final spatiotemporal path. ; S7: Final spacetime path The commands are converted into motion control instructions for the AGVs and sent to each AGV for execution. S8: Based on the AGV operation data collected during the execution of each AGV, calculate the scheduling performance index, and dynamically adjust the key parameters in the path planning and conflict resolution process based on the gradient descent algorithm.

2. The method according to claim 1, characterized in that, In step S3, the objective function of the global task allocation algorithm is: ; Where K is the total number of AGVs, and Q is the total number of tasks to be executed. for Current location Tasks to be executed starting point Manhattan distance, This is the maximum speed of the AGV. For the current time, and These are the driving time weight and the overtime penalty weight, respectively. > >

0.

3. The method according to claim 2, characterized in that, In step S3, the constraints of the global task allocation algorithm include: Each task to be executed can only be assigned to one AGV, that is j=1,2,...,Q; Each AGV can be assigned a maximum of one task to be executed. , i=1,2,...,K; High-priority tasks are assigned first, that is, for any and If there is an idle AGV, then Must I was assigned before.

4. The method according to claim 2, characterized in that, In step S4, the evaluation function of the improved A* algorithm based on spatiotemporal reservation is: ; The assigned tasks to be executed are express, From The starting point To the current spacetime node The actual cost is the number of time slices already traveled. From the current spatiotemporal node n to The End The heuristic cost, Reserving penalty items for spacetime; The heuristic cost The calculation formula is: ; for Assigned tasks to be executed The end point The spatial location of the current spatiotemporal node n from the endpoint Manhattan distance; The spacetime reservation penalty item The calculation formula is: ; in, Where L is the penalty coefficient, L is the prediction window length, and k is the time slice number of the current spatiotemporal node. The variable to be summed represents the time from the current time slice k to the (k+L)th future time slice.

5. The method according to claim 4, characterized in that, Step S4 specifically includes the following steps: S41: Initialize the open list O and the closed list C, and set the starting spacetime node. Add to list O, where They are respectively Assigned tasks to be executed The x and y coordinates of the starting point; ,for Earliest start time The corresponding time slice number; S42: If the O list is empty, path planning fails, return to step S3 to reassign tasks; otherwise, retrieve the task from the O list. The spatiotemporal node n with the smallest value; S43: If spacetime node n is the endpoint spacetime node Then the initial spacetime path is obtained by backtracking. and will Reserved markers for all spatiotemporal nodes Set to 1 to end the algorithm; Otherwise, add the spacetime node n to list C; in They are respectively Assigned tasks to be executed The x and y coordinates of the endpoint; ,for Latest completion time The corresponding time slice number; S44: Generate all successor nodes m of spatiotemporal node n, including: Successor nodes after driving: , , and ; Waiting for successor node: ; S45: For each successor node If m is not in the C list and Then calculate the g, h, and p values ​​of m, and then calculate the f value; S46: If m is not in list O, add m to list O and record its parent node as n; if m is already in list O and the new f value is smaller, update the f value and parent node of m. S47: Return to step S42.

6. The method according to claim 1, characterized in that, Step S5 specifically includes the following steps: S51: At the start of each rolling cycle, obtain the current time. Calculate the current time slice number ; S52: For each To obtain its current actual location and planned future path. ; S53: Release the reserved markers for all AGVs in the next L time slices, i.e., for all +1 to +L, will Set to 0; S54: Based on the AGV priority from high to low, replan the path for each AGV over the next L time slices to obtain the optimized path. ; S55: Optimize the path Reserved markers for all spatiotemporal nodes Set it to 1, and leave the rest unchanged to obtain the updated global spacetime reservation flag. ; S56: Update the spatiotemporal paths of each AGV, The portion of the L future time slices is replaced with The optimized spatiotemporal path is obtained. .

7. The method according to claim 4, characterized in that, Step S6 specifically includes the following steps: S61: Optimized time-space path for traversing all AGVs Identify all possible spatiotemporal conflicts within the next L time slices and classify the conflicts into node conflicts and edge conflicts. Node conflict refers to two or more AGVs occupying the same grid node in the same time slice; edge conflict refers to two AGVs occupying the same edge in the same time slice, that is, traveling towards each other from two adjacent nodes. S62: For each conflict c, calculate its conflict cost. ; ; in, Let c be the set of AGVs involved in the conflict. Assigning weights based on urgency, for Assigned tasks to be executed The degree of urgency; S63: Sort all conflicts in descending order of conflict cost Cc; S64: Process each conflict c in the order arranged in S63; For node conflicts, calculate the temporary priority of each AGV involved in the conflict. The AGV with the highest temporary priority retains its original path, while other AGVs replan their paths to avoid the conflicting node. For edge conflicts, calculate the temporary priority of each AGV involved in the conflict. The AGV with the highest temporary priority retains the original path, while other AGVs either wait for a time slice or replan their paths to avoid the conflicting edge. S65: Update the global spacetime reservation marker after the latest update. To obtain the final spacetime path ; For AGVs that retain their original paths, in The reserved marks already reserved in the system remain unchanged; For AGVs that need to replan their routes to avoid conflicts, perform the following updates: First, the optimized spatiotemporal path of the AGV. In the middle, the reserved markers of all spatiotemporal nodes between the time slice where the conflict occurs and the time slice where the path ends are set to 0; Then, the reserved markers of all time-space nodes in the new path obtained by replanning the AGV are set to 1; For AGVs that choose to wait for one time slice due to edge conflicts, perform the following update: First, optimize the spatiotemporal path of the AGV. The reserved marker of the spatiotemporal node corresponding to the time slice in which the conflict occurs is set to 0; Then, the optimized spatiotemporal path of the AGV is compared. For all spatiotemporal nodes whose time slice number is greater than or equal to the time slice number where the conflict occurred, increment the time slice number of these spatiotemporal nodes by 1, and set the reserved flag of these adjusted spatiotemporal nodes to 1.

8. The method according to claim 7, characterized in that, In step S64, the temporary priority calculation formula for the AGV is as follows: ; in, for The corresponding temporary priority, for The remaining distance not traveled, for The total driving distance of the assigned tasks to be performed. The weight is the remaining distance.

9. The method according to claim 1, characterized in that, Step S7 specifically includes the following steps: S71: Regarding The final spacetime path Transform it into a series of motion segments ; in, ; ; ,for The time to reach the m-th point; ,for The time to reach the (m+1)th point; n is The final spacetime path The total number of spatiotemporal nodes included, where m is the index of the spatiotemporal node in the path. Let x and y be the x and y coordinates of the m-th spatiotemporal node, respectively. This is the time slice number for reaching the m-th spatiotemporal node; S72: For each motion segment Based on the kinematic model of the AGV, its velocity curve is calculated. ; satisfy 0, 0, and , ,in ,for In the movement segment The acceleration function on; This is the maximum acceleration of the AGV; S73: Speed ​​curve Converted into a pulse sequence that the AGV servo controller can recognize, and sent to... implement.

10. The method according to claim 1, characterized in that, Step S8 specifically includes the following steps: S81: Define the scheduling performance metric J as: ; in, This represents the average task completion time. For reference, average task completion time, This represents the average waiting time. For reference, average waiting time For the number of conflicts, For reference, the number of conflicts, , , Weights for performance metrics; S82: Collect runtime data from the most recent W rolling cycles and calculate the average scheduling performance index over the W rolling cycles. ; S83: Calculate scheduling performance index J for key parameters gradient ; The key parameters It includes the weights in the global task allocation algorithm and the weights in the conflict pre-resolution algorithm; S84: Update key parameters based on gradient descent algorithm: ; in, This is the learning rate.