Multi-AGV conflict solving scheduling method based on graph theory

By adopting a graph theory-based conflict resolution scheduling method in multi-AGV systems, the conflict graph is constructed and the AGV path is adjusted in real time, the problems of path conflict and deadlock in multi-AGV systems are solved, and the efficient operation and good scalability of the system are achieved.

CN119690067AActive Publication Date: 2025-03-25ZHUHAI MAKERWIT TECH CO LTD

Patent Information

Application Number
CN202411753593.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-02
Publication Date
2025-03-25
Estimated Expiration
2044-12-02

AI Technical Summary

Technical Problem

In multi-AGV systems, with the increase in the number of AGVs and the increase in task complexity, the problems of path conflict and deadlock are becoming increasingly prominent. The existing time-domain-based path search algorithm has high requirements for the real-time performance of AGVs, and traditional conflict detection and path planning methods are insufficient in dynamic and complex environments.

Method used

A multi-AGV conflict resolution scheduling method based on graph theory is used. By planning a path from the start point to the end point for each AGV and defining the conflict detection range, a conflict graph is constructed to represent the conflict relationship between AGVs. Identify deadlocks in the conflict graph and design unlock paths or conflict resolution strategies to adjust the paths of AGVs in real time to avoid conflicts.

Benefits of technology

It effectively solves the problem of path conflict and deadlock in multi-AGV systems, avoids deadlocks in advance, ensures efficient operation of the system, can handle complex conflict relationships, and has good scalability and robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690067A_ABST
    Figure CN119690067A_ABST
Patent Text Reader

Abstract

The invention provides a multi-AGV conflict solving scheduling method based on a graph theory, and the method comprises the steps: planning a planning path from a starting point to a terminal point for each AGV, and issuing an actual path to the AGV for execution; defining a conflict detection range in a planned path for each AGV, calculating a conflict relationship between each AGV and other AGVs in the range, and updating a graph structure representing the conflict relationship between the AGVs according to the conflict relationship; identifying whether a cyclic conflict which cannot be solved by simply adjusting a sequence or a path exists in the conflict graph, and designing and issuing a specific unlocking path or a conflict solving strategy according to the detected deadlock; and according to the conflict resolution strategy, the planned path of the related AGV is adjusted in real time, and the adjusted path is used as an issuing path to be sent to the AGV for execution so as to deal with dynamically occurring conflicts. The method is used for solving conflicts and deadlocks in the multi-AGV scheduling process, and deadlocks are prevented from being formed in advance under the condition that information is sufficient.
Need to check novelty before this filing date? Find Prior Art

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 using the method. Background Art

[0002] In modern logistics and warehousing scenarios, AGVs (automatic guided vehicles) are widely used in 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, there are usually dozens or even hundreds of AGVs performing task scheduling in the same space, and each AGV travels on a designated path according to instructions. Although this system has greatly improved the degree of automation in logistics and warehousing, with the increase in the number of AGVs and the increase in task complexity, path conflicts and deadlocks have become increasingly prominent.

[0003] In order to solve the path conflict problem in multi-AGV systems, a path search algorithm based on the time domain was proposed and applied to the scheduling process. This algorithm uses time as an important dimension of path planning to analyze and adjust the AGV's driving path in real time, thereby effectively avoiding path conflicts. However, this method has high requirements on the real-time performance of AGVs, otherwise the system must have strong computing power and fast response capabilities to ensure that re-planning requests after various emergencies can be handled in a timely manner.

[0004] Some traditional conflict detection and path planning methods are usually based on predefined rules and static models. These methods mainly focus on calculating the path in advance, usually generating the AGV's driving route through a deterministic algorithm, and predefining the interactions and priorities between AGVs. However, this approach has many shortcomings, especially 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 scheduling method based on graph theory, the method comprising the following steps:

[0008] Step S1: Plan a planned 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. According to the conflict relationship, update a graph structure representing the conflict relationship between AGVs, i.e., 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 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, wherein the shortest path is determined based on map information, obstacle locations, and the current location of the AGV;

[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 spatial conflict-free delivery path is issued to each AGV. By default, if no conflict is detected or the conflict has been resolved, the delivery path is consistent with the planned path; if the conflict cannot be resolved or is required under special circumstances, the delivery path is a standby instruction.

[0017] According to a multi-AGV conflict resolution 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 turn. 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. Set other AGVs 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 issued 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 position of these key points;

[0021] This process continues until the conflict detection of all AGVs is completed and the complete conflict graph is updated.

[0022] According to a multi-AGV conflict resolution scheduling method based on graph theory provided by the present invention, step S3 includes:

[0023] Step 3.1: Detect the existing loops in the conflict graph and sort them according to the size of the loops;

[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 in turn, and generate an unlocking solution by adding or deleting edges in the ring;

[0025] Step 3.3: Search for avoidance points of all unlocking solutions at the same time; the conditions that the avoidance points need to meet include: the avoidance point is currently reachable, that is, the issued path to the avoidance point does not conflict with the currently issued paths of other AGVs; when the AGV stops at the avoidance point, it does not conflict with the planned path of the avoidance object;

[0026] Step 3.4: Comprehensively sort the avoidance paths according to factors such as the priority of the AGV and the index evaluation index of the avoidance point;

[0027] Step 3.5: If no unlocking path is found, skip the current loop and continue to try the unlocking solutions of other nodes; if there is a feasible unlocking path, select the first avoidance path after sorting as the unlocking path and send it down, concatenate the unlocking path and the shortest path from the unlocking point to the target point as the new planning path, and update the conflict graph;

[0028] Step 3.6: Recheck the loops in the conflict graph. If there are still loops in the conflict graph, return to step 3.1 and continue until there are no loops in the conflict graph, ensuring that all deadlocks are resolved.

[0029] According to a multi-AGV conflict resolution 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 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 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 send paths 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 there is no outgoing edge for the AGV in the conflict graph, the path is directly issued according to the planned path, the conflict graph is updated to reflect the new position and path status of the AGV, and the process returns to step 4.2 to continue processing the next AGV;

[0036] Step 4.4: If the AGV has an outgoing edge in the conflict graph, send the avoidance path, update the planned path, and update the conflict graph.

[0037] Step 4.5: Return to step 4.2.

[0038] According to a multi-AGV conflict resolution scheduling method based on graph theory provided by the present invention, in step 4.4, if the 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 path of the AGV in the set S;

[0042] Step 4.4.4: Sort the reachable nodes after screening according to 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 spliced ​​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 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 overlapping portion is detected, further analyzing whether the overlapping portion will cause a collision or conflict;

[0047] If it is determined that there is a risk of conflict, 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 scheduling method based on graph theory provided by the present invention, the following steps are also 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 scheduling method based on graph theory provided by the present invention, the following steps are also 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 spatially 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 characteristics of the conflict relationship in the conflict graph that can be transmitted. The conflict resolution mechanism can avoid the occurrence of 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 the 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. The method has strong versatility.

[0059] 4. The present invention ensures that there is no conflict in the sending path, 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 a new AGV or adjust the path of an existing AGV, 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 complex paths. 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 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.

[0063] 8. The present invention has a certain robustness against 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 is further described in detail below in conjunction with the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0065] Figure 1 It is a flow chart of an embodiment of a multi-AGV conflict resolution scheduling method based on graph theory of the present invention.

[0066] Figure 2 It is a flowchart about conflict resolution in an embodiment of a multi-AGV conflict resolution scheduling method based on graph theory of the present invention.

[0067] Figure 3 It is a flowchart of deadlock resolution in step S3 in an embodiment of a multi-AGV conflict resolution 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 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 multi-AGV conflict resolution scheduling method based on graph theory of the present invention, Figure 5 Schematic diagram of the first round of unlocking scheme for conflict generation.

[0071] Figure 7 In the embodiment of the multi-AGV conflict resolution scheduling method based on graph theory of the present invention, Figure 6 Schematic diagram of the second round of unlocking scheme for conflict generation.

[0072] Figure 8 In the embodiment of the multi-AGV conflict resolution scheduling method based on graph theory of the present invention, Figure 7 Schematic diagram of the scene after the two unlocking schemes are executed respectively.

[0073] Fig. 9 In the embodiment of the multi-AGV conflict resolution scheduling method based on graph theory of the present invention, Figure 8 Final scene schematic. DETAILED DESCRIPTION

[0074] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0075] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood 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 scheduling method based on graph theory, the method comprising the following steps:

[0077] Step S1: Plan a planned 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. According to the conflict relationship, update a graph structure representing the conflict relationship between AGVs, i.e., 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, wherein the shortest path is determined based on map information, obstacle locations, and the current location of the AGV;

[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 spatial conflict-free delivery path is issued to each AGV. By default, if no conflict is detected or the conflict has been resolved, the delivery path is consistent with the planned path; if the conflict cannot be resolved or is required under special circumstances, the delivery path is a standby instruction.

[0086] It can be seen that in the above step S1, the planned path is initially the shortest path to the target point, and the issued path defaults to waiting at the original location. Spatial conflicts are allowed between the planned paths of different AGVs; spatial conflicts are not allowed between the issued paths of different AGVs.

[0087] The above step S2 specifically includes:

[0088] When defining the conflict detection range, traverse all AGVs in turn. 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. Set other AGVs 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 issued 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 position of these key points;

[0091] This process continues until the conflict detection of all AGVs is completed and the complete conflict graph is updated.

[0092] like Figure 3 As shown, the above step S3 specifically includes:

[0093] Step 3.1: Detect the existing loops in the conflict graph and sort them according to the size of the loops;

[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 in turn, and generate an unlocking solution by adding or deleting edges in the ring;

[0095] Step 3.3: Search for avoidance points of all unlocking solutions at the same time; the conditions that the avoidance points need to meet include: the avoidance point is currently reachable, that is, the issued path to the avoidance point does not conflict with the currently issued paths of other AGVs; when the AGV stops at the avoidance point, it does not conflict with the planned path of the avoidance object;

[0096] Step 3.4: Comprehensively sort the avoidance paths according to factors such as the priority of the AGV and the index evaluation index of the avoidance point;

[0097] Step 3.5: If no unlocking path is found, skip the current loop and continue to try the unlocking solutions of other nodes; if there is a feasible unlocking path, select the first avoidance path after sorting as the unlocking path and send it down, concatenate the unlocking path and the shortest path from the unlocking point to the target point as the new planning path, and update the conflict graph;

[0098] Step 3.6: Recheck the loops in the conflict graph. If there are still loops in the conflict graph, return to step 3.1 and continue until there are no loops 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 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 send paths 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 there is no outgoing edge for the AGV in the conflict graph, the path is directly issued according to the planned path, the conflict graph is updated to reflect the new position and path status of the AGV, and the process returns to step 4.2 to continue processing the next AGV;

[0106] Step 4.4: If the AGV has an outgoing edge in the conflict graph, send the avoidance path, update the planned path, and update the conflict graph.

[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, the following sub-steps are performed 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 taking all reachable nodes of the current AGV in the conflict graph as avoidance objects is to enable the conflict relationship to be transferred, so that the AGV can avoid the formation of deadlock in advance, thereby improving the overall efficiency. For the selection of avoidance objects, some mechanisms can also be added for screening.

[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 path of the AGV in the set S;

[0113] Step 4.4.4: Sort the reachable nodes after screening according to 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 spliced ​​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 overlapping portion is detected, further analyzing whether the overlapping portion will cause a collision or conflict;

[0118] If it is determined that there is a risk of conflict, 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 spatially 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 sent path. The planned path is initially the shortest path from the AGV to the target point, indicating the intention of the AGV. Spatial conflicts are allowed between the planned paths of different AGVs. The sent path is the path that the AGV is allowed to execute or is executing. Spatial conflicts are not allowed between the sent paths of different AGVs.

[0127] Each path has two areas: occupied area and obstacle avoidance area. The occupied area is the area swept by the AGV when executing the path, and the obstacle avoidance area is the area swept by the obstacle avoidance range when the AGV executes the path. If the obstacle avoidance area of ​​one path overlaps with the occupied area of ​​another path in space, it means that there is a spatial conflict between the two paths.

[0128] Based on graph theory, a conflict graph is used to represent the conflict relationship between AGVs, and the deadlock resolution path and conflict resolution path are calculated based on the conflict graph. Each node in the conflict graph represents an AGV, and the directed edge from node A to node B indicates that B's dispatched path has an obstacle to A's planned path within A's conflict detection range.

[0129] If there is an outgoing edge on node A, it means that the planned path of A conflicts with the sent paths of other AGVs. If there is a loop in the conflict graph, it means 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, and there are conflicts between their planned paths. Among them, the planned path of A006 conflicts with the current occupation of A007; the planned path of A007 conflicts with the current occupation of A006 and A008; and the planned path of A008 conflicts with the current occupation of A006.

[0131] The conflict graph formed by the three AGVs’ planned paths and the loops in the conflict graph are as follows: Figure 5 As shown in the figure, there are two loops in the conflict graph: the large loop formed by A006, A007, and A008, and the small loop formed by A006 and A007.

[0132] Sort the rings from large to small, and process the large ring formed by 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 to avoid: A006 has two incoming edges, starting from A007 and A008 respectively, and A006 has a path to A007 and A008, so reverse these two edges. At this time, 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 delete the edge from A006 to A007.

[0136] ③ Unlocking plan for A007 to avoid: A007 has an incoming edge from A006, and there is a path to A006, so the incoming edge is reversed. At this time, A007 has two outgoing edges pointing to A006 and A008 respectively. A008 has a path to A006, but A006 does not have a path to A008, 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 sent to the avoidance point does not conflict with the paths currently sent 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. The avoidance point in solution ① is above A008, and A008's avoidance at this point does not conflict with the planned path of the avoidance object (A006 and A007). In solution ②, A006 did not find the avoidance point, and all the reachable nodes of A006 did not meet the conditions, and they all conflicted with the planned path of the avoidance object A008. The avoidance point found in solution ③ is above and to the right of A006. When A006 avoids at this point, it does not conflict with the planned path of the avoidance object (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 scheme corresponding to the avoidance point is used to update the conflict graph.

[0139] Among them, 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 to dominate the sorting of avoidance points in different situations to a certain extent.

[0140] like Figure 7 As shown in the deadlock loop in Figure 7 The above-mentioned conflict graph of unlocking solution ① shows that the unlocking path of A008 has been issued at this time, which is to move upward. However, there is still a loop formed by A006 and A007 in the conflict graph, so a second round of deadlock resolution is required. This case can also be regarded as the implementation of the algorithm of this embodiment in an independent scenario.

[0141] Similarly, taking A006 and A007 as action objects respectively, the following two unlocking schemes are generated.

[0142] ① Unlocking solution for A006 to avoid: A006 has two incoming edges starting from A007 and A008 respectively, but A006 only has a path to A007, so only reverse the incoming edge from A007 to A006 (delete the incoming edge, the outgoing edge already exists)

[0143] ② Unlocking solution for A007 to avoid: A007 has two incoming edges starting from A006 and A008 respectively, but A007 only has a path to A006, so only reverse the incoming edge from A006 to A007 (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, 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 shown in Figure 2. Figure 7 shown.

[0146] like Figure 8 As shown, Figure 7 The scenes after the two unlocking schemes are respectively executed (which can be regarded as two independent scenes for the application of the method of this embodiment).

[0147] exist Figure 8 In the scene above, the outgoing edges of A007, A006, and A008 are 0, 1, and 1 respectively, so A007 is given priority in terms of the number of conflicts from small to large. A007 has no conflicting objects, that is, the path is issued according to the planned path; the object that A006 needs to avoid (the reachable node in the conflict graph) is only A007, and the avoidance point cannot conflict with the planned path of A007 and is sorted according to the f value + h value, so the optimal avoidance point is the current point, so wait in place; the objects that A008 needs to avoid (the reachable nodes in the conflict graph) are A006 and A007, and the optimal avoidance point is the current point.

[0148] exist Figure 8 In the scene below, the outgoing edges of A006, A007, and A008 are 0, 1, and 2 respectively. Therefore, according to the number of conflicts from small to large, the path is sent to A006 first, followed by A007, and finally A008. Among them, A006 has no avoidance object and is directly sent according to the planned path; A007 avoids A006; A008 avoids A006 and A007. The avoidance points of A007 and A008 are both the current points.

[0149] The following are the scenarios after the execution of the dispatch path in the two scenarios: Figure 8 As shown in the figure on the right.

[0150] like Fig. 9 As shown, Fig. 9 for Figure 8 The final scene in (can also be seen as the application of the method of this embodiment to two independent scenes).

[0151] exist Fig. 9In the scenario above, A008's planned path conflicts with A006's current occupancy, while A006's planned path does not conflict. Therefore, in the conflict graph, there is only the edge from A008 to A006. At this time, A006 sends the path according to the planned path; A008 searches for an avoidance point from the reachable points, and the node that does not conflict with A006 and has the smallest f value + h value is the point on the lower right side of A008.

[0152] exist Fig. 9 In the scenario below, the planned path of A008 conflicts with the current occupied point of A007, while the planned path of A007 does not conflict. Therefore, in the conflict graph, there is only the edge from A008 to A007. At this time, A007 sends the path according to the planned path; A008 searches for an avoidance point from the reachable points, and the node that does not conflict with A006 and has the smallest f value + h value is the current point of A008.

[0153] Among them, the scenarios after the execution of the sent path in the two scenarios are as follows: Fig. 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 characteristics of the conflict relationship in the conflict graph that can be transmitted. The conflict resolution mechanism can avoid the occurrence of deadlock in advance, so that the system can maintain efficient operation.

[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 sending path, so that even if the network suddenly fails, it can ensure that there will be no collision between AGVs.

[0158] Furthermore, the graph theory-based method of the present invention has good scalability. When it is necessary to add a new AGV or adjust the path of an existing AGV, 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 complex paths. 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, so that the system can respond to dynamically occurring conflicts in a timely manner and ensure the stability and efficiency of AGV operation.

[0161] Furthermore, the present invention has certain robustness against 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-mentioned 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 substitutions made by technicians in this field on the basis of the present invention shall fall within the scope of protection required by the present invention.

Claims

1. A multi-AGV conflict resolution scheduling method based on graph theory, characterized in that: The method comprises the following steps: Step S1: Plan a planned 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. According to the conflict relationship, update a graph structure representing the conflict relationship between AGVs, i.e., 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 a specific 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 for execution to deal with the dynamically occurring conflicts.

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, wherein the shortest path is determined based on map information, obstacle locations, and the current location of the AGV; 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 spatial conflict-free delivery path is issued to each AGV. By default, if no conflict is detected or the conflict has been resolved, the delivery path is consistent with the planned path; if the conflict cannot be resolved or is required under special circumstances, the delivery 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 turn. 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. Set other AGVs 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 issued 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 position of these key points; This process continues until the conflict detection of all AGVs is completed and the complete conflict graph is updated.

4. The method according to claim 1, characterized in that: The step S3 comprises: Step 3.1: Detect the existing loops in the conflict graph and sort them according to the size of the loops; Step 3.2: Select the largest ring in the conflict graph, select the movable node a in the ring as the avoidance action executor in turn, and generate an unlocking solution by adding or deleting edges in the ring; Step 3.3: Search for avoidance points of all unlocking solutions at the same time; the conditions that the avoidance points need to meet include: the avoidance point is currently reachable, that is, the issued path to the avoidance point does not conflict with the currently issued paths of other AGVs; when the AGV stops at the avoidance point, it does not conflict with the planned path of the avoidance object; Step 3.4: Comprehensively sort the avoidance paths according to factors such as the priority of the AGV and the index evaluation index of the avoidance point; Step 3.5: If no unlocking path is found, skip the current loop and continue to try the unlocking solutions of other nodes; if there is a feasible unlocking path, select the first avoidance path after sorting as the unlocking path and send it down, concatenate the unlocking path and the shortest path from the unlocking point to the target point as the new planning path, and update the conflict graph; Step 3.6: Recheck the loops in the conflict graph. If there are still loops in the conflict graph, return to step 3.1 and continue until there are no loops in the conflict graph, ensuring that all deadlocks are resolved.

5. The method according to claim 4, characterized in that: 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 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.

6. The method according to claim 1, characterized in that The step S4 specifically includes: Step 4.1: Sort the remaining AGVs that need to send paths 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 there is no outgoing edge for the AGV in the conflict graph, the path is directly issued according to the planned path, the conflict graph is updated to reflect the new position and path status of the AGV, and the process returns to step 4.2 to continue processing the next AGV; Step 4.4: If the AGV has an outgoing edge in the conflict graph, send the avoidance path, update the planned path, and update the conflict graph. Step 4.5: Return to step 4.

2.

7. The method according to claim 6, 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 path of the AGV in the set S; Step 4.4.4: Sort the reachable nodes after screening according to 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 spliced ​​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.

8. The method according to any one of claims 1 to 7, characterized in that: When detecting whether there is a spatial conflict between the planned paths of different AGVs, for the planned paths of any two AGVs, the following conflict detection steps are performed: 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 overlapping portion is detected, further analyzing whether the overlapping portion will cause a collision or conflict; If it is determined that there is a risk of conflict, 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.

9. The method according to any one of claims 1 to 7, 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.

10. The method according to any one of claims 1 to 7, 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 spatially 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

  • Multi-unmanned-vehicle path finding method based on topological map and conflict elimination strategy

    CN111238519A

  • Multi-AGV unlocking method based on turn-back avoidance in one-way street scene

    CN116719312A

  • Logistics warehouse transportation planning method

    CN117078129A

Cited By

  • AGV conflict determination method and system

    CN120121058A

  • AGV path re-planning method and system based on conflict relation

    CN121898438A