A multi-agv conflict resolution scheduling method based on graph theory
By constructing conflict graphs and unlocking paths through graph theory, path conflicts and deadlock problems in multi-AGV systems are solved, achieving efficient and stable operation and dynamic adaptability of the AGV system.
Patent Information
- Application Number
- CN202411753593.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-02
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2044-12-02
AI Technical Summary
In multi-AGV systems, path conflict and deadlock problems are becoming increasingly prominent. Existing time-domain-based path search algorithms have high real-time requirements, and traditional methods are not effective in dynamic and complex environments.
A multi-AGV conflict resolution and scheduling method based on graph theory is adopted to plan the path for each AGV, build a conflict graph, identify deadlocks, design the unlocking path and make real-time adjustments to ensure that the path is conflict-free.
It effectively avoids deadlocks, ensures efficient operation of AGV, has good scalability and robustness, can respond to dynamic conflicts in a timely manner, and ensures the stability and efficiency of AGV.
Smart Images

Figure CN119690067B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of logistics and warehousing industry application technology, and in particular to a multi-AGV conflict resolution scheduling method based on graph theory and a multi-agent conflict-free path planning system applying the method. Background Art
[0002] In modern logistics and warehousing scenarios, AGVs (automated guided vehicles) are widely used for cargo transportation and sorting tasks to improve overall operational efficiency and reduce labor costs. The introduction of AGVs enables automated transportation of goods between different areas, reducing the need for traditional forklifts and manual operations. In a multi-AGV system, dozens or even hundreds of AGVs are typically dispatched within the same space, with each AGV traveling along a designated path according to instructions. Although this system has greatly improved the level of automation in logistics and warehousing, as the number of AGVs increases and the complexity of tasks increases, path conflicts and deadlocks are becoming increasingly prominent.
[0003] To address path conflicts in multi-AGV systems, a time-domain path search algorithm has been proposed and applied to the scheduling process. This algorithm uses time as a key dimension in path planning, analyzing and adjusting AGV routes in real time to effectively avoid path conflicts. However, this approach places high demands on the real-time performance of the AGVs. Otherwise, the system must possess powerful computing power and rapid response capabilities to ensure timely processing of re-planning requests following various emergencies.
[0004] Traditional conflict detection and path planning methods are often based on predefined rules and static models. These methods primarily focus on precalculating paths, typically generating AGV routes through deterministic algorithms and predefining interactions and priorities between AGVs. However, this approach has several drawbacks, particularly in dynamic and complex environments. Summary of the Invention
[0005] In order to solve the above problems existing in the prior art, the purpose of the present invention is to provide a multi-AGV conflict resolution scheduling method based on graph theory, which is used to resolve conflicts and deadlocks in the multi-AGV scheduling process and avoid the formation of deadlocks in advance when sufficient information is available.
[0006] The present invention achieves the above-mentioned purpose through the following technical solutions:
[0007] A multi-AGV conflict resolution and scheduling method based on graph theory, the method comprising the following steps:
[0008] Step S1: Plan a path from the starting point to the end point for each AGV, and send the actual path to the AGV for execution;
[0009] Step S2: Define a conflict detection range in the planned path for each AGV, and calculate the conflict relationship between each AGV and other AGVs within the range. Based on the conflict relationship, update a graph structure representing the conflict relationship between AGVs, namely the conflict graph;
[0010] Step S3: Identify in the conflict graph whether there is a cyclic conflict that cannot be resolved by simply adjusting the order or path, i.e., a deadlock. For the detected deadlock, design and issue a specific unlocking path or conflict resolution strategy;
[0011] Step S4: According to the conflict resolution strategy, the planned paths of the involved AGVs are adjusted in real time, and the adjusted paths are sent to the AGVs as the issued paths for execution to deal with the dynamically occurring conflicts.
[0012] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, step S1 specifically includes:
[0013] Planning a shortest path for each AGV to its respective destination, where the shortest path is determined based on map information, obstacle locations, and the AGV's current location;
[0014] Detect whether there is spatial conflict between the planned paths of different AGVs;
[0015] If a spatial conflict is detected between the planned paths, the planned path of at least one AGV is adjusted to eliminate the conflict while ensuring that the adjusted path still meets the requirements for reaching the target point;
[0016] A conflict-free path is issued to each AGV. By default, if no conflict is detected or the conflict has been resolved, the issued path is consistent with the planned path. If the conflict cannot be resolved or is required under special circumstances, the issued path is a standby instruction.
[0017] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, step S2 includes:
[0018] When defining the conflict detection range, traverse all AGVs in sequence. For each AGV that needs to issue a path, set it as A. Starting from the head of A's planned path, intercept a certain length of path segment for conflict detection. Check whether the planned path segment intercepted by A has spatial conflicts with the current issued paths of other AGVs. Other AGVs are set as B.
[0019] If a conflict is detected, a directed edge from A to B is added to the conflict graph, indicating that there is a conflict between A's planned path and B's current delivered path;
[0020] When intercepting the planned path for conflict checking, if there are avoidance points or target points in the path, ensure that the intercepted path segment does not exceed the positions of these key points;
[0021] This process continues until all AGVs’ conflict detection is completed and a complete conflict graph is updated.
[0022] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, step S3 includes:
[0023] Step 3.1: Detect existing cycles in the conflict graph and sort them according to the size of the cycles;
[0024] Step 3.2: Select the largest ring in the conflict graph, select the movable node a in the ring as the avoidance action executor, and generate an unlocking solution by adding or deleting edges in the ring;
[0025] Step 3.3: Simultaneously search for avoidance points for all unlocking solutions. The avoidance points must meet the following conditions: the avoidance point is currently reachable, meaning the route to the avoidance point does not conflict with the routes currently issued by other AGVs; and the AGV does not conflict with the planned path of the avoidance object when it stops at the avoidance point.
[0026] Step 3.4: Comprehensively sort the avoidance paths based on factors such as the AGV priority and the avoidance point evaluation index;
[0027] Step 3.5: If no unlocking path is found, skip the current loop and continue to try unlocking solutions for other nodes. If a feasible unlocking path exists, select the first avoidance path after sorting as the unlocking path and send it down. The unlocking path and the shortest path from the unlocking point to the target point are concatenated as the new planned path, and the conflict graph is updated.
[0028] Step 3.6: Recheck the cycles in the conflict graph. If cycles still exist in the conflict graph, return to step 3.1 and continue until there are no cycles in the conflict graph, ensuring that all deadlocks are resolved.
[0029] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, for each selected node a, the following operations are performed to generate an unlocking solution:
[0030] Step 3.2.1: Traverse the incoming edges of node a. If there is a path from node a to the source node of the incoming edge, reverse the incoming edge, that is, delete the original incoming edge and add the corresponding outgoing edge.
[0031] Step 3.2.2: Determine that the nodes pointed to by the outgoing edge of node a are in set S, and traverse the outgoing edges of node a. If there is a path from the node pointed to by the outgoing edge to any node in set S, delete the outgoing edge and remove the corresponding element from set S.
[0032] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, step S4 specifically includes:
[0033] Step 4.1: Sort the remaining AGVs that need to be routed to determine the processing order;
[0034] Step 4.2: Take out the AGVs of the path to be issued one by one and check whether there is an outgoing edge in the conflict graph;
[0035] Step 4.3: If the AGV does not have an outgoing edge in the conflict graph, the planned path is issued directly, and the conflict graph is updated to reflect the new position and path status of the AGV. Return to step 4.2 and continue processing the next AGV.
[0036] Step 4.4: If the AGV has an outgoing edge in the conflict graph, the avoidance path is issued, the planned path is updated, and the conflict graph is updated.
[0037] Step 4.5: Return to step 4.2.
[0038] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, in step 4.4, if an AGV has an outgoing edge in the conflict graph, the following sub-steps are executed to find and issue an avoidance path:
[0039] Step 4.4.1: Record all reachable nodes of the current AGV in the conflict graph as the avoidance object set S;
[0040] Step 4.4.2: Search for all reachable nodes and corresponding paths within a certain range of the map for the AGV;
[0041] Step 4.4.3: Filter the searched AGV-reachable nodes: ensure that when the AGV stops at the node for avoidance, it does not conflict with the planned paths of the AGVs in the set S;
[0042] Step 4.4.4: Sort the reachable nodes after screening based on node distance, path length or other evaluation indicators, and select the best node as the avoidance point;
[0043] Step 4.4.5: If the avoidance point is found, the avoidance path is sent to the AGV, and the avoidance path is combined with the shortest path from the avoidance point to the target point as the new planned path; at the same time, the conflict graph is updated to reflect the new path and position status of the AGV.
[0044] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, when detecting whether there is a spatial conflict between the planned paths of different AGVs, the following conflict detection steps are performed for the planned paths of any two AGVs:
[0045] Determine whether there is a temporal or spatial overlap between two paths by comparing whether the stations or nodes on the two paths appear at the same or similar locations within the same time period;
[0046] If an overlap is detected, further analysis is performed to determine whether the overlap will result in a collision or conflict.
[0047] If a conflict risk is determined, the conflict point is marked and the relevant AGV and path information is recorded;
[0048] According to the detected conflict information, the corresponding conflict handling strategy is executed.
[0049] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, the following steps are further performed:
[0050] During the operation of the system, the real-time status of each AGV is monitored and recorded; during the operation of the AGV, the changes in the conflict graph are monitored in real time. Once a new conflict point or deadlock is found, the conflict resolution strategy is immediately triggered and the AGV paths involved are adjusted in real time.
[0051] According to a multi-AGV conflict resolution and scheduling method based on graph theory provided by the present invention, the following steps are further performed:
[0052] Perform spatial analysis on the occupied area and obstacle avoidance area of each AGV;
[0053] If the obstacle avoidance area of one path overlaps with the occupied area of another path, an edge is added to the conflict graph to connect the two AGV nodes;
[0054] The conflict graph is updated in real time to reflect the dynamic position and path changes of the AGV.
[0055] It can be seen that the present invention has the following beneficial effects:
[0056] 1. The present invention uses a directed conflict graph to represent the conflict relationship between AGVs: the directed graph can clearly represent the priority relationship and conflict direction between AGVs, making the conflict status of the entire system clear at a glance, which helps to comprehensively and accurately identify and resolve conflicts.
[0057] 2. The present invention sets a reasonable conflict detection range and utilizes the transmission characteristics of conflict relations in the conflict graph. The conflict resolution mechanism can avoid deadlock in advance and keep the system running efficiently.
[0058] 3. The present invention has no limit on the number of AGVs in the conflict that needs to be resolved through this representation of the conflict graph. The deadlock is abstracted as a ring in the conflict graph, and the unlocking solution is generated by operating the graph to resolve the conflict. The method is highly universal.
[0059] 4. The present invention ensures that there is no conflict in the sent paths, so that even if the network suddenly fails, it can ensure that there will be no collision between AGVs.
[0060] 5. The graph theory-based method of the present invention has good scalability. When it is necessary to add new AGVs or adjust the paths of existing AGVs, it is only necessary to update the conflict graph and re-perform conflict detection and resolution without making major modifications to the entire method.
[0061] 6. The present invention can efficiently handle complex conflict relationships, especially when there are a large number of AGVs and the paths are complex. Through the conflict graph, conflicts such as deadlocks that are difficult to resolve through simple adjustments can be quickly identified, and corresponding resolution strategies can be designed.
[0062] 7. The conflict graph is dynamically updated and can reflect the changes in the conflict relationships between AGVs in real time, enabling the system to respond to dynamic conflicts in a timely manner and ensure the stability and efficiency of AGV operation.
[0063] 8. The present invention is robust to abnormal situations such as AGV failures and path changes. By updating the conflict graph and adjusting the path planning in real time, the system can quickly adapt to these changes and ensure the continuous and stable operation of the AGV.
[0064] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] Figure 1 This is a flowchart of an embodiment of a multi-AGV conflict resolution and scheduling method based on graph theory of the present invention.
[0066] Figure 2 This is a flowchart of a multi-AGV conflict resolution scheduling method embodiment based on graph theory of the present invention.
[0067] Figure 3 This is a flowchart of step S3 deadlock resolution in an embodiment of a multi-AGV conflict resolution and scheduling method based on graph theory of the present invention.
[0068] Figure 4 A flowchart of step S4 generating an unlocking solution in an embodiment of a multi-AGV conflict resolution and scheduling method based on graph theory of the present invention.
[0069] Figure 5 This is a schematic diagram of a multi-AGV conflict resolution and scheduling method based on graph theory in an embodiment of the present invention regarding conflicts between the planned paths of three AGVs in a topological map.
[0070] Figure 6In the embodiment of the present invention, a multi-AGV conflict resolution scheduling method based on graph theory is aimed at Figure 5 Schematic diagram of the first round of unlocking scheme for conflict generation.
[0071] Figure 7 In the embodiment of the present invention, a multi-AGV conflict resolution scheduling method based on graph theory is aimed at Figure 6 Schematic diagram of the second round of unlocking scheme for conflict generation.
[0072] Figure 8 In the embodiment of the present invention, a multi-AGV conflict resolution scheduling method based on graph theory is described. Figure 7 Schematic diagram of the scene after the two unlocking schemes are executed respectively.
[0073] Figure 9 In the embodiment of the present invention, a multi-AGV conflict resolution scheduling method based on graph theory is described. Figure 8 Final scene schematic. DETAILED DESCRIPTION
[0074] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only some of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.
[0075] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0076] See also Figures 1 to 9 This embodiment provides a multi-AGV conflict resolution and scheduling method based on graph theory, which includes the following steps:
[0077] Step S1: Plan a path from the starting point to the end point for each AGV, and send the actual path to the AGV for execution;
[0078] Step S2: Define a conflict detection range in the planned path for each AGV, and calculate the conflict relationship between each AGV and other AGVs within the range. Based on the conflict relationship, update a graph structure representing the conflict relationship between AGVs, namely the conflict graph;
[0079] Step S3: Identify in the conflict graph whether there is a cyclic conflict that cannot be resolved by simply adjusting the order or path, i.e., a deadlock. For the detected deadlock, design and issue a specific unlocking path or conflict resolution strategy;
[0080] Step S4: According to the conflict resolution strategy, the planned paths of the involved AGVs are adjusted in real time, and the adjusted paths are sent to the AGVs as the issued paths for execution to deal with the dynamically occurring conflicts.
[0081] The above step S1 specifically includes:
[0082] Planning a shortest path for each AGV to its respective destination, where the shortest path is determined based on map information, obstacle locations, and the AGV's current location;
[0083] Detect whether there is spatial conflict between the planned paths of different AGVs;
[0084] If a spatial conflict is detected between the planned paths, the planned path of at least one AGV is adjusted to eliminate the conflict while ensuring that the adjusted path still meets the requirements for reaching the target point;
[0085] A conflict-free path is issued to each AGV. By default, if no conflict is detected or the conflict has been resolved, the issued path is consistent with the planned path. If the conflict cannot be resolved or is required under special circumstances, the issued path is a standby instruction.
[0086] As can be seen, in step S1 above, the planned path is initially the shortest path to the destination, and the default path sent is to wait in place. Spatial conflicts between the planned paths of different AGVs are allowed; spatial conflicts between the sent paths of different AGVs are not allowed.
[0087] The above step S2 specifically includes:
[0088] When defining the conflict detection range, traverse all AGVs in sequence. For each AGV that needs to issue a path, set it as A. Starting from the head of A's planned path, intercept a certain length of path segment for conflict detection. Check whether the planned path segment intercepted by A has spatial conflicts with the current issued paths of other AGVs. Other AGVs are set as B.
[0089] If a conflict is detected, a directed edge from A to B is added to the conflict graph, indicating that there is a conflict between A's planned path and B's current delivered path;
[0090] When intercepting the planned path for conflict checking, if there are avoidance points or target points in the path, ensure that the intercepted path segment does not exceed the positions of these key points;
[0091] This process continues until all AGVs’ conflict detection is completed and a complete conflict graph is updated.
[0092] like Figure 3 As shown, the above step S3 specifically includes:
[0093] Step 3.1: Detect existing cycles in the conflict graph and sort them according to the size of the cycles;
[0094] Step 3.2: Select the largest ring in the conflict graph, select the movable node a in the ring as the avoidance action executor, and generate an unlocking solution by adding or deleting edges in the ring;
[0095] Step 3.3: Simultaneously search for avoidance points for all unlocking solutions. The avoidance points must meet the following conditions: the avoidance point is currently reachable, meaning the route to the avoidance point does not conflict with the routes currently issued by other AGVs; and the AGV does not conflict with the planned path of the avoidance object when it stops at the avoidance point.
[0096] Step 3.4: Comprehensively sort the avoidance paths based on factors such as the AGV priority and the avoidance point evaluation index;
[0097] Step 3.5: If no unlocking path is found, skip the current loop and continue to try unlocking solutions for other nodes. If a feasible unlocking path exists, select the first avoidance path after sorting as the unlocking path and send it down. The unlocking path and the shortest path from the unlocking point to the target point are concatenated as the new planned path, and the conflict graph is updated.
[0098] Step 3.6: Recheck the cycles in the conflict graph. If cycles still exist in the conflict graph, return to step 3.1 and continue until there are no cycles in the conflict graph, ensuring that all deadlocks are resolved.
[0099] In this embodiment, for each selected node a, the following operations are performed to generate an unlocking solution:
[0100] Step 3.2.1: Traverse the incoming edges of node a. If there is a path from node a to the source node of the incoming edge, reverse the incoming edge, that is, delete the original incoming edge and add the corresponding outgoing edge.
[0101] Step 3.2.2: Determine that the nodes pointed to by the outgoing edge of node a are in set S, and traverse the outgoing edges of node a. If there is a path from the node pointed to by the outgoing edge to any node in set S, delete the outgoing edge and remove the corresponding element from set S.
[0102] like Figure 4 As shown, step S4 specifically includes:
[0103] Step 4.1: Sort the remaining AGVs that need to be routed to determine the processing order;
[0104] Step 4.2: Take out the AGVs of the path to be issued one by one and check whether there is an outgoing edge in the conflict graph;
[0105] Step 4.3: If the AGV does not have an outgoing edge in the conflict graph, the planned path is issued directly, and the conflict graph is updated to reflect the new position and path status of the AGV. Return to step 4.2 and continue processing the next AGV.
[0106] Step 4.4: If the AGV has an outgoing edge in the conflict graph, the avoidance path is issued, the planned path is updated, and the conflict graph is updated.
[0107] Step 4.5: Return to step 4.2.
[0108] In step 4.4 above, if the AGV has an outgoing edge in the conflict graph, perform the following substeps to find and issue an avoidance path:
[0109] Step 4.4.1: Record all reachable nodes of the current AGV in the conflict graph as the avoidance object set S;
[0110] The purpose of using all reachable nodes in the conflict graph as avoidance targets is to enable conflict relationships to be transferred, allowing the AGV to avoid deadlocks in advance and improve overall efficiency. For the selection of avoidance targets, some screening mechanisms can also be added.
[0111] Step 4.4.2: Search for all reachable nodes and corresponding paths within a certain range of the map for the AGV;
[0112] Step 4.4.3: Filter the searched AGV-reachable nodes: ensure that when the AGV stops at the node for avoidance, it does not conflict with the planned paths of the AGVs in the set S;
[0113] Step 4.4.4: Sort the reachable nodes after screening based on node distance, path length or other evaluation indicators, and select the best node as the avoidance point;
[0114] Step 4.4.5: If the avoidance point is found, the avoidance path is sent to the AGV, and the avoidance path is combined with the shortest path from the avoidance point to the target point as the new planned path; at the same time, the conflict graph is updated to reflect the new path and position status of the AGV.
[0115] In this embodiment, when detecting whether there is a spatial conflict between the planned paths of different AGVs, the following conflict detection steps are performed for the planned paths of any two AGVs:
[0116] Determine whether there is a temporal or spatial overlap between two paths by comparing whether the stations or nodes on the two paths appear at the same or similar locations within the same time period;
[0117] If an overlap is detected, further analysis is performed to determine whether the overlap will result in a collision or conflict.
[0118] If a conflict risk is determined, the conflict point is marked and the relevant AGV and path information is recorded;
[0119] According to the detected conflict information, the corresponding conflict handling strategy is executed.
[0120] In this embodiment, the following is also performed:
[0121] During the operation of the system, the real-time status of each AGV is monitored and recorded; during the operation of the AGV, the changes in the conflict graph are monitored in real time. Once a new conflict point or deadlock is found, the conflict resolution strategy is immediately triggered and the AGV paths involved are adjusted in real time.
[0122] In this embodiment, the following is also performed:
[0123] Perform spatial analysis on the occupied area and obstacle avoidance area of each AGV;
[0124] If the obstacle avoidance area of one path overlaps with the occupied area of another path, an edge is added to the conflict graph to connect the two AGV nodes;
[0125] The conflict graph is updated in real time to reflect the dynamic position and path changes of the AGV.
[0126] Specifically, each AGV in this embodiment maintains two paths: a planned path and a dispatched path. The planned path is initially the shortest path from the AGV to the destination, representing the AGV's intention. Spatial conflicts between planned paths of different AGVs are permitted. The dispatched path is the path that the AGV is allowed to execute or is currently executing. Spatial conflicts between dispatched paths of different AGVs are not permitted.
[0127] Each path has two areas: an occupied area and an obstacle avoidance area. The occupied area is the area covered by the AGV while executing the path, and the obstacle avoidance area is the area covered by the AGV's obstacle avoidance range while executing the path. If the obstacle avoidance area of one path overlaps with the occupied area of another path, it means that the two paths are spatially conflicting.
[0128] Based on graph theory, a conflict graph is used to represent the conflict relationships between AGVs. Deadlock resolution and conflict resolution paths are then calculated based on the conflict graph. Each node in the conflict graph represents an AGV. A directed edge from node A to node B indicates that B's dispatched path obstructs A's planned path within A's conflict detection range.
[0129] If there is an outgoing edge from node A, it means that the planned path of A conflicts with the paths issued by other AGVs. If there is a cycle in the conflict graph, it means that a deadlock has occurred.
[0130] like Figure 5 As shown in the figure, there are three AGVs, A006, A007, and A008, in the topology map. Their planned paths conflict with each other. A006's planned path conflicts with A007's current occupancy; A007's planned path conflicts with both A006 and A008's current occupancy; and A008's planned path conflicts with A006's current occupancy.
[0131] The conflict graph formed by the three AGV planning paths and the loops in the conflict graph are as follows: Figure 5 As shown in the figure, there are two cycles in the conflict graph: a large cycle consisting of A006, A007, and A008, and a small cycle consisting of A006 and A007.
[0132] Sort the rings from largest to smallest and process the large ring consisting of A006, A007, and A008.
[0133] like Figure 6 As shown, A008, A006, and A007 are taken as action objects in turn to generate the following three unlocking schemes.
[0134] ① Unlocking solution for A008 to avoid: A008 has an incoming edge from A007, and there is a path from A008 to A007, that is, reverse the edge (delete the incoming edge and add an outgoing edge from A008 to A007).
[0135] ② Unlocking plan for A006's avoidance: A006 has two incoming edges, originating from A007 and A008, and A006 has paths to A007 and A008, so these two edges are reversed. Now A006 has two outgoing edges, pointing to A007 and A008, respectively. A007 has a path to A008, but A008 has no path to A007, so the edge from A006 pointing to A007 is deleted.
[0136] ③ Unlocking plan for A007's avoidance: A007 has an incoming edge from A006 and a path to A006, so this incoming edge is reversed. Now, A007 has two outgoing edges pointing to A006 and A008, respectively. A008 has a path to A006, but A006 does not, so the outgoing edge from A007 to A008 is deleted.
[0137] At the same time, search for the avoidance points of the AGVs in the three unlocking schemes. The avoidance points need to meet two conditions: 1. The avoidance point is currently reachable, that is, the path issued to the avoidance point does not conflict with the paths currently issued by other AGVs; 2. When the AGV stops at the avoidance point, it does not conflict with the planned path of the avoidance object (the AGV node pointed to by the outgoing edge of the AGV node in the unlocking scheme). Figure 6 As shown in the figure. In solution 1, the avoidance point is above A008. A008's avoidance at this point does not conflict with the planned paths of the avoidance targets (A006 and A007). In solution 2, A006 does not find an avoidance point. All of A006's reachable nodes do not meet the conditions, and the planned path of A008 conflicts with the avoidance target. In solution 3, the avoidance point is found to the upper right of A006. When A006 avoids at this point, it does not conflict with the planned path of the avoidance target (A006).
[0138] The searched avoidance points are sorted in the order of f value + h value, and the avoidance point with the smallest value is selected as the unlocking point. The unlocking path is issued, and the unlocking solution corresponding to the avoidance point is used to update the conflict graph.
[0139] The f value is the total cost from the avoidance point to the target point, and the h value is the cost from the avoidance point to the target point. This design can automatically select whether the f value or the h value should dominate the avoidance point sorting in different situations.
[0140] like Figure 7 As shown in the deadlock loop, Figure 7 In the conflict graph represented by unlocking solution ① above, the unlocking path for A008, which has already been issued, is upward. However, a loop between A006 and A007 still exists in the conflict graph, necessitating a second round of deadlock resolution. This case can also be considered an independent implementation of the algorithm in this embodiment.
[0141] Similarly, using A006 and A007 as action objects, the following two unlocking solutions are generated.
[0142] ① Unlocking solution for A006 to avoid: A006 has two incoming edges starting from A007 and A008, but A006 only has a path to A007. Therefore, only the incoming edge from A007 to A006 is reversed (delete the incoming edge, the outgoing edge already exists).
[0143] ② Unlocking plan for A007 to avoid: A007 has two incoming edges, one from A006 and the other from A008, but A007 only has a path to A006. Therefore, only the incoming edge from A006 to A007 is reversed (delete the incoming edge, the outgoing edge already exists).
[0144] Search for the avoidance points of the two unlocking solutions at the same time. Figure 7As shown in Figure 1, the optimal avoidance point in solution ① is on the right side of A006, and the optimal avoidance point in solution ② is on the upper right side of A007.
[0145] Sort the avoidance points found by the two unlocking schemes, select the avoidance point with the smallest f value + h value as the unlocking point, issue the unlocking path, and use the unlocking scheme corresponding to the avoidance point to update the conflict graph. The execution results of the avoidance paths of the two schemes are as follows: Figure 7 shown.
[0146] like Figure 8 As shown, Figure 7 The scenarios after the two unlocking schemes are respectively executed (which can be regarded as two independent scenarios for the application of the method of this embodiment).
[0147] exist Figure 8 In the scenario above, the outgoing edges of A007, A006, and A008 are 0, 1, and 1, respectively. Therefore, A007 is prioritized for path delivery, in descending order of number of conflicts. A007 has no conflicts, so the route is delivered according to the planned path. The only object A006 needs to avoid (reachable nodes in the conflict graph) is A007. The avoidance points cannot conflict with A007's planned path and are sorted by f value + h value. Therefore, the optimal avoidance point is the current point, so it waits in place. The objects A008 needs to avoid (reachable nodes in the conflict graph) are A006 and A007, so the optimal avoidance point is the current point.
[0148] exist Figure 8 In the scenario below, the outgoing edges of A006, A007, and A008 are 0, 1, and 2, respectively. Therefore, in descending order of conflicts, a path is assigned to A006 first, followed by A007, and finally A008. A006 has no avoidance targets and is assigned the planned path directly. A007 avoids A006, and A008 avoids both A006 and A007. The avoidance points for A007 and A008 are both the current point.
[0149] The scenarios after the execution of the dispatch path in the two scenarios are as follows: Figure 8 As shown in the figure on the right.
[0150] like Figure 9 As shown, Figure 9 for Figure 8 The final scenario in (can also be seen as two independent scenarios for the application of the method of this embodiment).
[0151] exist Figure 9In the scenario above, A008's planned path conflicts with A006's current location, while A006's planned path does not conflict. Therefore, the only edge in the conflict graph is the one from A008 to A006. At this point, A006 sends the path according to the planned path; A008 searches for an avoidance point from the reachable points. The node that does not conflict with A006 and has the smallest f value + h value is the point to the lower right of A008.
[0152] exist Figure 9 In the scenario below, A008's planned path conflicts with A007's current location, while A007's planned path does not conflict. Therefore, the conflict graph only contains the edge from A008 to A007. At this point, A007 issues a path based on the planned path. A008 searches for an avoidance point among the reachable points, and the node that does not conflict with A006 and has the smallest f + h value becomes A008's current location.
[0153] Among them, the scenarios after the execution of the dispatch path in the two scenarios are as follows: Figure 9 As shown in the figure on the right.
[0154] In summary, the present invention uses a directed conflict graph to represent the conflict relationship between AGVs: the directed graph can clearly represent the priority relationship and conflict direction between AGVs, making the conflict status of the entire system clear at a glance, which helps to comprehensively and accurately identify and resolve conflicts.
[0155] Furthermore, the present invention sets a reasonable conflict detection range and utilizes the transferability of conflict relationships in the conflict graph. The conflict resolution mechanism can avoid deadlocks in advance, thus keeping the system running efficiently.
[0156] Furthermore, the present invention has no limit on the number of AGVs in the conflict that needs to be resolved through this representation of the conflict graph, abstracts the deadlock as a ring in the conflict graph, and generates an unlocking solution by operating the graph to resolve the conflict, which is highly versatile.
[0157] Furthermore, the present invention ensures that there is no conflict in the sent paths, and thus can ensure that no collision occurs between AGVs even if the network suddenly fails.
[0158] Furthermore, the graph theory-based method of the present invention has good scalability. When it is necessary to add new AGVs or adjust the paths of existing AGVs, it is only necessary to update the conflict graph and re-perform conflict detection and resolution without making major modifications to the entire method.
[0159] Furthermore, the present invention can efficiently handle complex conflict relationships, especially when there are a large number of AGVs and the paths are complex. Through the conflict graph, conflicts such as deadlocks that are difficult to resolve through simple adjustments can be quickly identified, and corresponding resolution strategies can be designed.
[0160] Furthermore, the conflict graph is dynamically updated and can reflect the changes in conflict relationships between AGVs in real time, enabling the system to respond to dynamically occurring conflicts in a timely manner and ensure the stability and efficiency of AGV operation.
[0161] Furthermore, the present invention is robust to abnormal situations such as AGV failures and path changes. By updating the conflict graph and adjusting the path planning in real time, the system can quickly adapt to these changes and ensure the continuous and stable operation of the AGV.
[0162] The above embodiments are only preferred embodiments of the present invention and cannot be used to limit the scope of protection of the present invention. Any non-substantial changes and replacements made by technicians in this field on the basis of the present invention fall within the scope of protection required by the present invention.
Claims
1. A multi-AGV conflict resolution and scheduling method based on graph theory, characterized in that: The method comprises the following steps: Step S1: Plan a path from the starting point to the end point for each AGV, and send the actual path to the AGV for execution; Step S2: Define a conflict detection range in the planned path for each AGV, and calculate the conflict relationship between each AGV and other AGVs within the range. Based on the conflict relationship, update a graph structure representing the conflict relationship between AGVs, namely the conflict graph; Step S3: Identify in the conflict graph whether there is a cyclic conflict that cannot be resolved by simply adjusting the order or path, i.e., a deadlock. For the detected deadlock, design and issue an unlocking path or conflict resolution strategy; Step S4: According to the conflict resolution strategy, the planned paths of the involved AGVs are adjusted in real time, and the adjusted paths are sent to the AGVs as the issued paths to deal with the conflicts that arise dynamically. The step S3 comprises: Step 3.1: Detect existing cycles in the conflict graph and sort them according to the size of the cycles; Step 3.2: Select the largest ring in the conflict graph, select the movable node a in the ring as the avoidance action executor, and generate an unlocking solution by adding or deleting edges in the ring; Step 3.3: Simultaneously search for avoidance points for all unlocking solutions. The avoidance points must meet the following conditions: the avoidance point is currently reachable, meaning the route to the avoidance point does not conflict with the routes currently issued by other AGVs; and the AGV does not conflict with the planned path of the avoidance object when it stops at the avoidance point. Step 3.4: Comprehensively sort the avoidance paths based on the AGV priority and the evaluation index factors of the avoidance points; Step 3.5: If no unlocking path is found, skip the current loop and continue to try unlocking solutions for other nodes. If a feasible unlocking path exists, select the first avoidance path after sorting as the unlocking path and send it down. The unlocking path and the shortest path from the unlocking point to the target point are concatenated as the new planned path, and the conflict graph is updated. Step 3.6: Recheck the cycles in the conflict graph. If cycles still exist, return to step 3.1 and continue until there are no cycles in the conflict graph. This ensures that all deadlocks are resolved. For each selected node a, perform the following operations to generate an unlocking solution: Step 3.2.1: Traverse the incoming edges of node a. If there is a path from node a to the source node of the incoming edge, reverse the incoming edge, that is, delete the original incoming edge and add the corresponding outgoing edge. Step 3.2.2: Determine that the nodes pointed to by the outgoing edge of node a are in set S, and traverse the outgoing edges of node a. If there is a path from the node pointed to by the outgoing edge to any node in set S, delete the outgoing edge and remove the corresponding element from set S.
2. The method according to claim 1, characterized in that The step S1 specifically includes: Planning a shortest path for each AGV to its respective destination, where the shortest path is determined based on map information, obstacle locations, and the AGV's current location; Detect whether there is spatial conflict between the planned paths of different AGVs; If a spatial conflict is detected between the planned paths, the planned path of at least one AGV is adjusted to eliminate the conflict while ensuring that the adjusted path still meets the requirements for reaching the target point; A conflict-free path is issued to each AGV. By default, if no conflict is detected or the conflict has been resolved, the issued path is consistent with the planned path. If the conflict cannot be resolved or is required under special circumstances, the issued path is a standby instruction.
3. The method according to claim 1, characterized in that The step S2 comprises: When defining the conflict detection range, traverse all AGVs in sequence. For each AGV that needs to issue a path, set it as A. Starting from the head of A's planned path, intercept a certain length of path segment for conflict detection. Check whether the planned path segment intercepted by A has spatial conflicts with the current issued paths of other AGVs. Other AGVs are set as B. If a conflict is detected, a directed edge from A to B is added to the conflict graph, indicating that there is a conflict between A's planned path and B's current delivered path; When intercepting the planned path for conflict checking, if there are avoidance points or target points in the path, ensure that the intercepted path segment does not exceed the positions of these key points; This process continues until all AGVs’ conflict detection is completed and a complete conflict graph is updated.
4. The method according to claim 1, wherein The step S4 specifically includes: Step 4.1: Sort the remaining AGVs that need to be issued routes to determine the processing order; Step 4.2: Take out the AGVs of the path to be issued one by one and check whether there is an outgoing edge in the conflict graph; Step 4.3: If the AGV does not have an outgoing edge in the conflict graph, the planned path is issued directly, and the conflict graph is updated to reflect the new position and path status of the AGV. Return to step 4.2 and continue processing the next AGV. Step 4.4: If the AGV has an outgoing edge in the conflict graph, issue an avoidance path, update the planned path, and update the conflict graph; Step 4.5: Return to step 4.
2.
5. The method according to claim 4, characterized in that: In step 4.4, if the AGV has an outgoing edge in the conflict graph, the following sub-steps are performed to find and issue an avoidance path: Step 4.4.1: Record all reachable nodes of the current AGV in the conflict graph as the avoidance object set S; Step 4.4.2: Search for all reachable nodes and corresponding paths within a certain range of the map for the AGV; Step 4.4.3: Filter the searched AGV-reachable nodes: ensure that when the AGV stops at the node for avoidance, it does not conflict with the planned paths of the AGVs in the set S; Step 4.4.4: Sort the reachable nodes after screening based on node distance, path length or other evaluation indicators, and select the best node as the avoidance point; Step 4.4.5: If the avoidance point is found, the avoidance path is sent to the AGV, and the avoidance path is combined with the shortest path from the avoidance point to the target point as the new planned path; at the same time, the conflict graph is updated to reflect the new path and position status of the AGV.
6. The method according to any one of claims 1 to 5, characterized in that: When detecting whether there is a spatial conflict between the planned paths of different AGVs, the following conflict detection steps are performed for the planned paths of any two AGVs: Determine whether there is a temporal or spatial overlap between two paths by comparing whether the stations or nodes on the two paths appear at the same or similar locations within the same time period; If an overlap is detected, further analysis is performed to determine whether the overlap will result in a collision or conflict. If a conflict risk is determined, the conflict point is marked and the relevant AGV and path information is recorded; According to the detected conflict information, the corresponding conflict handling strategy is executed.
7. The method according to any one of claims 1 to 5, characterized in that Also execute: During the operation of the system, the real-time status of each AGV is monitored and recorded; during the operation of the AGV, the changes in the conflict graph are monitored in real time. Once a new conflict point or deadlock is found, the conflict resolution strategy is immediately triggered and the AGV paths involved are adjusted in real time.
8. The method according to any one of claims 1 to 5, characterized in that Also execute: Perform spatial analysis on the occupied area and obstacle avoidance area of each AGV; If the obstacle avoidance area of one path overlaps with the occupied area of another path, an edge is added to the conflict graph to connect the two AGV nodes; The conflict graph is updated in real time to reflect the dynamic position and path changes of the AGV.
Citation Information
Patent Citations
Time window-based AGV task scheduling method
CN110530369A
Roadmap annotation for deadlock-free multi-agent navigation
CN110730931A