Multi-robot conflict solving method and system based on topological map

By using a multi-strategy collaborative framework based on topology maps and dynamic priority adjustment, the real-time and global optimization problems of conflict resolution in multi-robot systems are solved, achieving efficient conflict resolution and system robustness, and enabling multi-robot collaborative operations to adapt to complex environments.

CN120949757APending Publication Date: 2025-11-14临沂临工智能信息科技有限公司 +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510852711.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-24
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

Existing multi-robot collaborative operation systems struggle to balance real-time conflict resolution with optimal global task time within limited spaces. Traditional methods lack dynamic adjustment mechanisms, leading to systemic blocking and deadlock.

Method used

A multi-strategy collaborative framework based on topology maps is adopted. By constructing topology maps, generating robot action sequences, predicting trajectories and detecting collisions, conflict resolution strategies are dynamically selected, including waiting, replanning and six-stage dynamic priority adjustment. Combined with branch detour and action sequence backtracking mechanisms, conflict resolution is optimized.

Benefits of technology

It achieves efficient global optimization of multi-robot systems, reduces task time span, lowers deadlock rate, improves system throughput, adapts to complex environments, and enhances conflict resolution capabilities in intelligent logistics and manufacturing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120949757A_ABST
    Figure CN120949757A_ABST
Patent Text Reader

Abstract

The invention relates to a multi-robot conflict resolution method and system based on a topological map, and belongs to the technical field of mobile robot cooperative control. Comprising the following steps that S1, a topological map is constructed, and the map comprises nodes, edges and node position information; s2, defining an action space of the robot, wherein the action space comprises a moving action and a waiting action; s3, an ordered action sequence of the robot is generated, and speed switching is controlled based on dynamic constraint; s4, identifying conflict actions through trajectory prediction and collision detection; s5, a multi-strategy cooperation framework is adopted, conflict solving strategies are dynamically selected according to conflict types, and the method has the multi-strategy cooperation framework and can dynamically adapt to the conflict types (path crossing / complete overlapping / narrow channel parallelism); a user is supported to flexibly select a conflict resolution mode according to scene requirements, and efficient global optimization is realized by taking an automatic decision scheme as a core. The problems in the prior art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a multi-robot conflict resolution method and system based on topology maps, belonging to the field of mobile robot cooperative control technology. Background Technology

[0002] With the increasing complexity of scenarios such as intelligent warehousing and logistics, intelligent manufacturing, and automated terminals, multi-robot collaborative operation systems need to efficiently schedule dozens to hundreds of mobile devices within limited spaces. In this context, multi-robot conflict resolution mechanisms have become a core technology for ensuring safe system operation and improving overall operational efficiency. Existing technologies are generally based on predefined rules (such as fixed priorities) or local obstacle avoidance strategies (such as single-robot waiting / detour), making it difficult to balance the real-time nature of conflict resolution with the optimal global task time. Especially in densely intersecting path areas or narrow passages, motion conflicts between robots can easily escalate into systemic blockages, leading to task delays or even deadlocks. Existing technologies suffer from the following bottlenecks:

[0003] 1. Limited Strategy: Traditional methods typically employ fixed priorities or global waiting strategies, and often focus on a single strategy (such as supporting only waiting or global replanning), failing to dynamically adjust the resolution method based on the type of conflict. For example, when robot paths completely overlap, simply waiting cannot avoid collisions, and most existing technologies lack intelligent decision-making mechanisms for branch selection, as well as "conflict resolution location optimization" mechanisms, failing to explore the potential of "taking the nearest detour branch to shorten recovery time".

[0004] 2. Lack of dynamic rollback mechanism: When the conflict cannot be resolved by the current action, the existing method often directly declares failure, without designing an action sequence backtracking mechanism to try to unlock the conflict from an earlier stage, resulting in poor system fault tolerance.

[0005] For example, the existing technology publication number CN113311831A discloses a multi-robot path conflict resolution method based on changes in wireless signal strength. This method is a global waiting strategy that dynamically adjusts the waiting time based on the communication signal strength. However, it lacks global optimization capabilities in distributed negotiation, has an insufficient success rate in resolving conflicts in narrow-channel parallel scenarios, and directly declares failure when the conflict cannot be resolved by the current action. It also lacks a backtracking mechanism and has a high deadlock rate. Summary of the Invention

[0006] The purpose of this invention is to propose a multi-robot conflict resolution method and system based on a topology map. This system features a multi-strategy collaborative framework, dynamically adapting to conflict types (path intersection / complete overlap / narrow-channel parallelism). It allows users to flexibly select conflict resolution modes according to scenario requirements and achieves efficient global optimization with an automatic decision-making scheme at its core. This addresses the problems existing in the prior art.

[0007] The multi-robot conflict resolution method based on topology maps described in this invention includes the following steps:

[0008] S1: Construct a topology map, which includes nodes, edges, and node location information;

[0009] S2: Define the robot's motion space, which includes movement actions and waiting actions;

[0010] S3: Generate an ordered sequence of robot actions and control speed switching based on dynamic constraints;

[0011] S4: Identify conflicting actions through trajectory prediction and collision detection;

[0012] S5: Employ a multi-strategy collaborative framework to dynamically select a conflict resolution strategy based on the conflict type. The strategy includes at least one of the following:

[0013] Strategy 1: The system autonomously selects the robot to wait for and outputs the waiting strategy for that robot;

[0014] Strategy 2: The system autonomously selects and executes a replanning robot, and outputs the replanning strategy for that robot;

[0015] Strategy 3: Define a custom robot for execution waiting and output the waiting strategy of that robot;

[0016] Strategy 4: Define a custom robot to perform replanning and output the replanning strategy for that robot;

[0017] Strategy 5: In automatic mode, a six-stage dynamic priority adjustment process is executed. The system autonomously selects the robot to perform the action and autonomously decides and outputs the waiting or replanning strategy for that robot.

[0018] Preferably, the six-stage process of strategy 5 includes:

[0019] Phase 1: Low-priority robots insert waiting actions, while high-priority robots maintain their original action sequences;

[0020] Phase 2: Low-priority robots maintain their original action sequence, while high-priority robots insert waiting actions;

[0021] Phase 3: Low-priority robots attempt to adjust their paths, while high-priority robots maintain their original action sequences;

[0022] Phase 4: High-priority robots maintain their original action sequence, while low-priority robots attempt to adjust their paths;

[0023] Phase 5: Low-priority robots adjust their paths while high-priority robots wait, and high-priority robots maintain their original action sequence;

[0024] Phase 6: High-priority robots adjust their paths while low-priority robots wait, and low-priority robots maintain their original action sequences;

[0025] If either stage is successful, the process terminates; otherwise, both robots move their current conflicting action back one action and attempt to resolve the conflict from an earlier action, repeating the cycle from stage 1 to stage 6 until the conflict is resolved.

[0026] Preferably, for any robot, its action space for:

[0027]

[0028] Among them, move(e i ,o i ) indicates along the edge e i Driving, driving mode is o i , This indicates that at node v b wait seconds, using This represents the i-th action chosen by the robot. The ordered sequence of actions of the robot during the entire motion process is represented as:

[0029]

[0030] in, Representing robot M respectively k The 1st, 2nd, and kth actions, each action is a motion space. One of the elements; the action execution logic of the dynamic constraints in step S3 includes:

[0031] S31: Change of motion direction: The robot is currently performing an action. Its subsequent actions are all to move along the edge while maintaining the direction o. i The direction remains unchanged until an action that requires a change in direction, move(e), is encountered. l =(v b ,v c ),o l ), o i ≠o l The robot needs to decelerate by a dec Decelerate to ensure you arrive at node v exactly at the destination. b linear velocity Reduced to zero;

[0032] S32: Execution Waiting: The robot is currently performing an action. If there is a subsequent waiting action Then with deceleration a decDecelerate to ensure arrival at node v b linear velocity It drops to exactly zero and remains at zero throughout the waiting process;

[0033] S33: Switching between straight lines and curves:

[0034] S331: Switch from straight line to curve: The robot is currently performing an action along a straight edge. And then it always moves along the straight side, in the direction of o. i Keep it unchanged until the edge of the curve is reached (move(e)) l =vb,vc,ol,oi≠ol, to smoothly enter the curve edge, the robot needs to gradually decelerate with deceleration adec, so that it reaches node v b linear velocity at time Just reduce to the maximum permissible speed at the edge of the curve.

[0035] S332: Curve to Straight Line: The robot is currently performing an action along the curve edge. And continue moving along the edge of the curve, in the direction of o. i Keep it unchanged until it reaches the straight edge move(e) l =(v b ,v c ),o l ), o i ≠o l Enter edge e l Then, the robot accelerates a acc accelerate;

[0036] S34: No follow-up action:

[0037] If the last action in a feasible ordered sequence of robots is an action that requires changing the direction of movement, move(e) l =(v b ,v c ),o l (or waiting action) Then the robot arrives at node v b At that time, its linear velocity It dropped exactly to zero.

[0038] Preferably, the low-priority robot is M. j High-priority robot M k Let the high-priority robot M be... k and low-priority robot M j The current conflict actions are respectively Phase 5: The low-priority robot adjusts its path while the high-priority robot waits, and the high-priority robot maintains its original action sequence. The specific process includes the following steps:

[0039] (1) Low-priority robot M j Inserting branch action

[0040] Low-priority robot M j In action sequence A j Current conflict actions Previously, we searched for a pair of edge-moving actions (move(e)). i ,o i ),move(e j ,o j )), where e i With e j They are the opposite edges of the same edge, and o i ≠o j This forms a branch path, inserting this pair of actions into action sequence A. j In this process, two subsequences are formed after splitting:

[0041] subsequence Includes the move(e) action from the currently executing action to the branch entry point. i ,o i );

[0042] subsequence Includes branch exit action move(e) j ,o j To the target action.

[0043] (2) High-priority robot M k Insert wait action:

[0044] High-priority robot M k In its action sequence A k In China, targeting and At potentially conflicting locations, attempt to insert a wait action. If the action sequence after insertion is A k and subsequence If there are no potential collisions, calculate the minimum waiting time. Add before conflicting actions If the conflict still exists, proceed to stage 6;

[0045] (3) Low-priority robot M j Optimization needed within the branch:

[0046] If step (2) is successful, the low-priority robot M... j Further ensure its subsequence With high-priority robot M k The adjusted action sequence has no conflicts, in the branch action (move(e)) i ,o i ),move(e j O j Insert waiting actions between )) It then verifies for conflicts; if no conflicts are found, it calculates the minimum waiting time. And update A j for:

[0047]

[0048] Otherwise, proceed to stage 6.

[0049] Preferably, stage 6: the high-priority robot adjusts its path while the low-priority robot waits, and the low-priority robot maintains its original action sequence. The specific process includes the following steps:

[0050] (1) High-priority robot M k Inserting a branch:

[0051] High-priority robot M k In action sequence A k Current conflict actions Previously, insert a pair of edge-moving actions (move(e)). p O p ),move(e q ,o q )), e p With e q For the reverse edge, O p ≠o q The action can be broken down as follows:

[0052] subsequence Includes the current action to the branch entry point move(e) p ,o p );

[0053] subsequence Includes branch road exit move(e) q ,o q To the target action;

[0054] (2) Low-priority robot M j Insert wait action:

[0055] Low-priority robot M j In its action sequence A j In, for subsequences Insert waiting action at potentially conflicting locations If there are no conflicts after insertion, calculate the minimum waiting time. And update action sequence A j Otherwise, if the conflict is deemed unresolved, the process will be terminated.

[0056] (3) High-priority robot M k Optimization needed within the branch:

[0057] If step (2) is successful, the high-priority robot M... k Waiting needs to be inserted between branch actions. verify With low-priority robot M j The compatibility of the adjusted sequence is assessed; if no conflicts are found, the minimum waiting time is calculated. And update A k for:

[0058]

[0059] Otherwise, it is determined to be an unsolvable conflict.

[0060] Preferably, the branch action must satisfy:

[0061] It includes forward movement actions to enter a branch and reverse movement actions to return to the original path;

[0062] The insertion position is preferentially selected from the node closest to the current conflicting action.

[0063] Preferably, strategy 1 and strategy 3 further include:

[0064] Set a maximum waiting time for the robot;

[0065] If a conflict still occurs after inserting the wait, the conflicting action is backtracked to the previous action.

[0066] Preferably, strategies 2 and 4 further include:

[0067] Set the state cost of the conflicting action to infinity;

[0068] Iterate and replan until the conflict is resolved or all feasible paths are traversed.

[0069] Preferably, it also includes an action sequence backtracking mechanism:

[0070] Update the conflicting action to the previous action in the action sequence;

[0071] Re-execute the selected conflict resolution strategy until the entire sequence of actions has been traversed.

[0072] The system for resolving multi-robot conflicts based on topology maps according to the present invention includes:

[0073] Map building module: used to generate a topology map, which includes nodes, edges and node location information;

[0074] Motion planning module: Generates an ordered sequence of motions for each robot and controls speed switching based on dynamic constraints;

[0075] Conflict detection module: Identifies conflict actions through trajectory prediction;

[0076] Strategy execution engine: includes five types of callable strategies:

[0077] ① Autonomous waiting strategy: Autonomously select a waiting robot and insert a waiting action;

[0078] ② Autonomous replanning strategy: Autonomously select a replanning robot and shield conflicting actions;

[0079] ③ Custom waiting strategy: Insert waiting actions into the robot according to user-specified settings;

[0080] ④ Custom replanning strategy: Replan the robot path according to the user-specified path;

[0081] ⑤ Automated decision-making strategy: Execute a six-stage dynamic priority adjustment process;

[0082] Communication interface: Receives user policy selection instructions and outputs the solution results.

[0083] Compared with existing technologies, the multi-robot conflict resolution method and system based on topology maps of the present invention have the following advantages:

[0084] 1. A Multi-Strategy Collaborative Conflict Resolution Framework: This paper proposes a hybrid decision-making framework comprising five configurable conflict resolution strategies (waiting, replanning, custom waiting, custom replanning, and automatic mode), covering different scenario requirements from fully autonomous system decision-making to user-customized intervention. This technology overcomes the limitations of traditional single-strategy approaches, dynamically adapting to complex conflict types (such as completely overlapping paths, intersecting paths, and narrow-channel parallelism) through strategy combinations, while preserving the user's flexible choice.

[0085] 2. Six-Stage Dynamic Priority Adjustment Mechanism (Automatic Mode): Based on a hierarchical progressive logic design, a six-stage conflict resolution process is implemented. Low-priority robots are prioritized for waiting or detours, and high-priority robots are only triggered for collaborative adjustment in case of failure, breaking the rigidity of fixed-priority strategies. This technology achieves global time optimization through staged decision-making (low-priority priority → high-priority collaboration → bidirectional path adjustment), avoiding system-level blocking that may result from traditional fixed-priority strategies.

[0086] 3. Action sequence backtracking and nearest branch optimization: When the current conflicting action cannot be resolved, the conflicting action is moved forward through the backtracking mechanism (i.e., updated to 'a').i-1 This technique involves retrying to unlock the conflict chain from an earlier action. It incorporates the principle of selecting the nearest branch, prioritizing inserting a branch to bypass or wait for the action at the path closest to the current conflict action, significantly reducing the time spent restoring the original path.

[0087] The invention achieves the following through three core technologies: a multi-strategy collaborative framework, a six-stage dynamic priority mechanism, and action backtracking and proximity optimization: efficiency breakthrough: task time span approaches minimum, system throughput approaches maximum; enhanced robustness: deadlock and failure rates are significantly reduced; scenario universality: covering complex dynamic environments such as warehousing and manufacturing; industry value: providing a highly adaptable conflict resolution engine for multi-robot systems, promoting the upgrading of intelligent logistics and manufacturing. Attached Figure Description

[0088] Figure 1 The absolute value of the robot's speed changes over time during the entire action execution process in this embodiment of the invention;

[0089] Figure 2 This is a diagram illustrating the first scenario of robot conflict actions in an embodiment of the present invention;

[0090] Figure 3 This is a diagram illustrating the second scenario of robot conflict actions in an embodiment of the present invention;

[0091] Figure 4 This is a diagram illustrating the third scenario of robot conflict actions in an embodiment of the present invention;

[0092] Figure 5 This is a diagram illustrating the fourth scenario of robot conflict actions in an embodiment of the present invention;

[0093] Figure 6 This is a flowchart illustrating the overall conflict resolution process of Strategy 5 in this embodiment of the invention.

[0094] Figure 7 The figures show the motion diagrams of the two robots in the present invention and the existing method in the embodiments of the present invention; in the figures, (a) is the motion diagram of the two robots in the present invention and (b) is the motion diagram of the two robots in the existing method.

[0095] Figure 8 The figures show the motion diagrams of five robots using the method of the present invention and the existing method in this embodiment of the invention; in the figures, (a) is a motion diagram of five robots using the method of the present invention, and (b) is a motion diagram of five robots using the existing method.

[0096] Figure 9 This is an architecture diagram of the system in Embodiment 2 of the present invention. Detailed Implementation

[0097] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0098] Example 1:

[0099] This embodiment discloses a multi-robot conflict resolution method based on a topology map, including the following steps:

[0100] S1: Construct a topology map in ε is the set of nodes; ε is the set of edges; It is the set of Euclidean coordinates of the nodes;

[0101] S2: Define the robot's motion space Includes the move(e) action i ,o i ) and waiting action Where e i ∈ε, o i Indicates the direction of travel;

[0102] S3: Generate an ordered sequence of robot actions in, Representing robot M respectively k The 1st, 2nd, and kth actions, each action is a motion space. One of the elements, and controls the speed switching based on dynamic constraints;

[0103] S4: Identify conflicting actions through trajectory prediction and collision detection.

[0104] robot Running on topology map Above, among which It is a collection of nodes, where each element is a node v. b ε is the set of edges, and its elements are edges e. i ; It is a set of Euclidean coordinates of nodes, where each element is a node v. i coordinates p(v) i )=(x i ,y i This is to ensure the precise position of each vertex is obtained. The robot's maximum acceleration and maximum deceleration are denoted as a. acc and a dec For safety reasons, the maximum speeds for the robot when traveling in a straight line and on a curved path are set as follows: and

[0105] For any robot M k Its action space for:

[0106]

[0107] Where move(e) i ,o i ) indicates along the edge e i Driving, driving mode is o i (Use 0 / 1 to distinguish between forward and reverse driving). This indicates that at node v b wait Seconds. Represents robot M k If the i-th action is selected, then robot M k The ordered sequence of actions throughout the entire motion process can be represented as:

[0108]

[0109] in, Representing robot M respectively k The 1st, 2nd, and kth actions, each action is a motion space. One of the elements; the execution logic of the action is as follows:

[0110] 1. Change of motion direction: The robot is currently performing an action. Its subsequent actions are all to move along the edge while maintaining the direction o. i The direction remains unchanged until an action that requires a change in direction, move(e), is encountered. l =(v b ,v c ),o l (i.e., o) i ≠o l The robot needs to use a dec Decelerate to ensure you arrive at node v exactly at the destination. b linear velocity Reduced to zero.

[0111] 2. Execution Waiting: The robot is currently performing an action. If there is a subsequent waiting action Then a deceleration a is required dec Decelerate to ensure arrival at node v b linear velocity It drops to zero exactly and remains at zero throughout the waiting process.

[0112] 3. Switching between straight lines and curves:

[0113] Switching from straight line to curve: The robot is currently performing an action along the edge of a straight line. And then it always moves along the straight side, in the direction of o. i Keep it unchanged until the edge of the curve is reached (move(e)) l =(v b ,v c ),o l (where o) i =o l To successfully enter the curve, the robot needs to decelerate by a. dec Gradually decelerate so that it reaches node v b linear velocity at time Just reduce to the maximum permissible speed at the edge of the curve.

[0114] Curve to straight line: The robot is currently performing an action along the edge of the curve. And continue moving along the edge of the curve, in the direction of o. i Keep it unchanged until it reaches the straight edge move(e) l =(v b ,v c ),o l (where o) i =o l Entering edge e) l Then, the robot accelerates a acc accelerate;

[0115] 4. No subsequent actions: If the last action in the robot's feasible ordered sequence is move(e l If we set = vb, vc, ol or waitvb, tvb, then when the robot reaches node vb, its linear velocity vMk drops to zero.

[0116] For example, robots There is such a feasible ordered sequence of actions:

[0117] A1={move(e1,0),move(e2,0),wait(v 10 ,5),move(e3,1),move(e4,1)}

[0118] So, how does the absolute value of the robot's speed change over time during the entire execution of the action? Figure 1 As shown.

[0119] Given robot Given that its motion trajectory has been planned, its feasible ordered sequence of actions can be represented as follows: By using trajectory prediction and collision detection, we can identify actions that may cause conflict between each robot and resolve the conflict between the robots.

[0120] For robot M that caused the conflict k Its current conflict action is recorded as This indicates that during collision detection with other robots, the collision occurs when the action is being performed. At a certain point on the trajectory during the period.

[0121] like Figure 2 As shown, the current conflicting actions of robots M1 and M2 are respectively and In this situation, a collision can be avoided simply by having any robot wait for a period of time before performing the action that would cause the current conflict.

[0122] exist Figure 3 In the scenario shown, if robot M1 chooses to wait before its current conflicting action, the conflict cannot be resolved regardless of the waiting time. The conflict can only be successfully resolved if M2 chooses to perform a waiting action.

[0123] like Figure 4 As shown, if two robots move in the same direction and occupy the same path, a collision cannot be avoided by simply waiting. One of the robots must choose a side path to resolve the conflict.

[0124] exist Figure 5 In such cases, even though the robots do not occupy the exact same path, a collision can still occur because they are moving in the same direction.

[0125] The optimization objective of this invention is to minimize the time span T for the entire system M to complete all tasks. M .by Figure 4 For example, if robot M1 chooses edge e2 as its branch to avoid a conflict, the time it takes to return to its original path after resolving the conflict with M2 will be longer than if M2 chooses edge e1. This is because edge e1 is closer to the edge where M1's current conflict action is located, allowing M2 to reach its branch without waiting for an extended period. Therefore, generally, the closer the conflict resolution location is to the current conflict action, the less time the entire system consumes.

[0126] When a conflict occurs, the robot chosen to resolve it is not fixed, and the position where the conflict resolution action is inserted is not unique. Based on this characteristic, to shorten the time span for completing all tasks, improve the algorithm's versatility, and meet the needs of different situations, this embodiment proposes five conflict resolution strategies to resolve conflicts; namely:

[0127] S5: Adopt a multi-strategy collaborative framework and dynamically select one of the following strategies according to the conflict type:

[0128] Strategy 1. Wait: The system autonomously selects the robot that executes the wait and outputs the wait strategy of this robot

[0129] Strategy 2. Re-planning: The system autonomously selects the robot that executes the re-planning and outputs the re-planning strategy of this robot

[0130] Strategy 3. Wait + Customize the robot that executes the wait: Customize the robot that executes the wait and output the wait strategy of this robot

[0131] Strategy 4. Re-planning + Customize the robot that executes the re-planning: Customize the robot that executes the re-planning and output the re-planning strategy of this robot

[0132] Strategy 5. Automatic mode: The system autonomously selects the robot that executes the action and autonomously decides and outputs the wait or re-planning strategy of this robot

[0133] The following takes robots M k and M j as examples for specific illustration:

[0134] We assume that k < j, and the lower the serial number, the higher the priority of the robot, that is, the priority of M k is higher than that of M j . Assume that the two robots have not started to execute the task, but potential collisions are found in their trajectories during the collision detection process. Let the current conflicting actions of M k and M j be respectively The robots corresponding to these two conflicting actions with different priorities will start to execute the conflict resolution mechanism:

[0135] Strategy 1 - Wait:

[0136] In this type, the system will autonomously select the robot that executes the wait and output the wait strategy of this robot. Since in some cases, conflicts cannot be avoided no matter how long the wait is, a upper limit of the wait time needs to be set That is, the wait time must satisfy:

[0137]

[0138] In this conflict resolution solution, a wait action is tried to be inserted before the current conflicting action j of robot M in the action sequence ​If there are no potential collisions between the agent trajectories after the insertion of the waiting action, the conflict is successfully resolved. At this point, the minimum waiting time required to resolve the conflict is calculated. And in robot M j Conflicting actions in action sequences Insert the wait action beforehand. If the conflict cannot be resolved successfully, then robot M j Maintaining the original action sequence, by robot M k The current conflicting action in the action sequence Previously, I tried inserting a wait action. If the conflict is successfully resolved after inserting the waiting action, then a similar operation is performed on robot M. k Conflicting actions in action sequences The waiting action with the shortest waiting time was previously inserted. If the conflict still cannot be resolved, it indicates that the key action that caused the conflict is missing. and Therefore, both robots move their current conflicting actions forward by one action:

[0139]

[0140] Try to resolve the conflict from an earlier action, repeating the above loop until the conflict is successfully resolved. If both robots have gone through all actions and still cannot resolve the conflict, then the conflict resolution has failed.

[0141] Strategy 2 – Replanning:

[0142] In this type of conflict resolution, the system autonomously selects and executes a replanning robot, and outputs the replanning strategy for that robot. In this type of conflict resolution, robot M... j It will include the currently conflicting actions in the action sequence. The corresponding state cost is set to infinity, meaning the action sequence is masked in the new trajectory planning, and the planning algorithm is called to replan the action sequence; if potential collisions still exist after replanning, then robot M... j Record

[0143] The planning algorithm replans the action sequence; if potential collisions still exist after replanning, the above loop continues until the conflict is resolved; if robot M j If replanning fails, meaning the conflict remains unresolved after trying all feasible paths, then robot M... j Restore to the original sequence of actions, and have robot M... k The currently conflicting action in the action sequence The corresponding state cost is set to infinity, and parallel planning is performed, repeating the above loop until the conflict is resolved; if robot M k If the replanning fails, then the conflict resolution has failed.

[0144] Strategy 3 – Waiting + Custom Execution Waiting Robot:

[0145] In this type, the user defines the robot that needs to perform the waiting action and outputs its waiting strategy. Meanwhile, the other robot that is in conflict with the first robot maintains its original action sequence. The overall process is similar to type 1. When the trajectories of the two robots potentially conflict, the selected robot will perform the currently conflicting action 'a' in its action sequence. conflict Previously, I tried inserting a wait action. And determine whether the potential conflict has been resolved; if the conflict has been resolved successfully, then find the shortest waiting time. And the conflicting action a in the robot's action sequence conflict Insert the wait action beforehand. If the conflict cannot be resolved successfully, the selected robot will move its current conflict action forward by one action: a conflict =a i-1 The process repeats in this loop until the conflict is successfully resolved. If the selected robot fails to resolve the conflict after going through all actions, the conflict resolution is declared a failure.

[0146] Strategy 4 – Replanning + Customizing the Machine to Perform Replanning:

[0147] In this type, the user defines the robot that needs to perform replanning and outputs its waiting strategy, while the other robot that is in conflict with it retains its original action sequence. The overall process is similar to type 2. When the trajectories of the two robots potentially conflict, the selected robot will change the current conflicting action 'a' in its action sequence. conflict The corresponding state cost is set to infinity, meaning that the action sequence is masked in the new trajectory planning, and the planning algorithm is called again to replan a feasible path, and it is determined whether the potential conflict is resolved; if it is not resolved successfully, the selected robot will mask the current conflicting action a in the new plan. conflict’ The above loop is repeated to try other feasible paths until the conflict is successfully resolved. If the selected robot fails to replan, meaning there are no other feasible paths and the conflict is still not resolved, then the conflict resolution is declared a failure.

[0148] Strategy 5 – Automatic Mode:

[0149] In this type of system, the robot autonomously selects the action to be performed and autonomously decides and outputs the robot's waiting or replanning strategy. The overall conflict resolution process is as follows: Figure 6 As shown:

[0150] The complete process is as follows:

[0151] Phase 1: Low-priority robots insert waiting actions, while high-priority robots maintain their original action sequences.

[0152] Robot M j The current conflicting action in the action sequence Previously, I tried inserting a wait action. If there are no potential collisions between the agent trajectories after the insertion of the waiting action, the conflict is successfully resolved. At this point, the minimum waiting time required to resolve the conflict is calculated. And in robot M j Conflicting actions in action sequences Insert the wait action beforehand. If the conflict cannot be resolved successfully, proceed to Phase 2.

[0153] Phase 2: Low-priority robots maintain their original action sequence, while high-priority robots insert waiting actions.

[0154] Robot M k The current conflicting action in the action sequence Previously, I tried inserting a wait action. If there are no potential collisions between the agent trajectories after the insertion of the waiting action, the conflict is successfully resolved. At this point, the minimum waiting time required to resolve the conflict is calculated. And in robot M k Conflicting actions in action sequences Insert the wait action beforehand. If the conflict cannot be resolved successfully, proceed to stage 3.

[0155] Phase 3: Low-priority robots attempt to adjust their paths, while high-priority robots maintain their original action sequences.

[0156] Robot M j Try the current conflicting action in the action sequence. Previously, we searched for a pair of edge-moving actions (move(e)). i ,o i ),(move(e j ,o j This action ensures that robot M j Entering a branch path and being able to return to the original path; where e i and e j It is the opposite side of the same path on the map, and o i ≠o j That is, robot M. j Entering branch road e iAfterwards, it can return to the original path. If there is no potential collision between the trajectories of the agents after inserting the edge-moving action, the conflict is successfully resolved; otherwise, robot M... j Try inserting another wait action between the inserted edge-moving actions. That is, robot M j Not only does it choose a side path, but it also waits briefly on that path to attempt to resolve the conflict. If no potential collision exists between the agent's trajectories after the waiting action is inserted, the conflict is successfully resolved. At this point, the minimum waiting time required to resolve the conflict is calculated. And in robot M j Conflicting actions in action sequences Previous insertion action: If the conflict cannot be resolved successfully, or if a suitable movement along the edge cannot be found, then proceed to stage 4.

[0157] Phase 4: High-priority robots maintain their original action sequence, while low-priority robots attempt to adjust their paths.

[0158] Robot M k Try the current conflicting action in the action sequence. Previously, we searched for a pair of edge-moving actions (move(e)). i ,o i ),(move(e j ,o j This action ensures that robot M k Entering a branch path and returning to the original path. If there are no potential collisions between the agent's trajectories after inserting the edge-moving action, the conflict is successfully resolved; otherwise, robot M... k Try inserting another wait action between the inserted edge-moving actions. If there are no potential collisions between the agent trajectories after the insertion of the waiting action, the conflict is successfully resolved. At this point, the minimum waiting time to resolve the conflict is calculated. And in robot M k Conflicting actions in action sequences Previous insertion action: If the conflict cannot be resolved successfully, or if a suitable movement along the edge cannot be found, then proceed to stage 5.

[0159] Phase 5: Low-priority robots adjust their paths while high-priority robots wait, and high-priority robots maintain their original action sequence.

[0160] If the conflict is not resolved in stages 1 through 4, the following situation may occur: Robot M j / M k When attempting to enter a branch, its adjusted sequence of actions is consistent with that of robot M. k / Mj The original sequence of actions still presents a potential collision near the branch entrance. At this point, it is necessary to coordinate the actions of both parties. The specific process is as follows:

[0161] 1. Low-priority robot insertion branch action

[0162] Robot M j In action sequence A j Current conflict actions Previously, we searched for a pair of edge-moving actions (move(e)). i ,o i ),move(e j ,o j (where e) i With e j They are the opposite edges of the same edge, and o i ≠o j This forms a branch path. Insert this pair of actions into A. j In this process, two subsequences are formed after splitting:

[0163] subsequence Includes the move(e) action from the currently executing action to the branch entry point. i ,o i );

[0164] subsequence Includes branch exit action move(e) j ,o j To the target action.

[0165] 2. High-priority robot insertion waiting action:

[0166] Robot M k In its action sequence A k In China, targeting and At potentially conflicting locations, attempt to insert a wait action. If A is inserted k and If there are no potential collisions, calculate the minimum waiting time. Add before conflicting actions If the conflict persists, proceed to stage 6.

[0167] 3. Low-priority robot branches awaiting optimization:

[0168] If step 2 is successful, robot M j Further assurance is needed regarding its subsequences With M k The adjusted action sequence is conflict-free. Therefore, in the branch action (move(e)... i ,o i ),move(ej ,o j Insert waiting actions between )) Then verify for conflicts. If no conflicts are found, calculate the minimum waiting time. And update A j for:

[0169]

[0170] Otherwise, proceed to stage 6.

[0171] Phase 6: High-priority robots adjust their paths while low-priority robots wait; low-priority robots maintain their original action sequence.

[0172] If the conflict cannot be resolved in phase 5, a priority swap strategy will be used for coordination:

[0173] 1. High-priority robot insertion branch action:

[0174] Robot M k In action sequence A k Current conflict actions Previously, insert a pair of edge-moving actions (move(e)). p ,o p ),move(e q ,o q ))(e p With e q For the reverse edge, o p ≠o q The action can be broken down as follows:

[0175] subsequence Includes the current action to the branch entry point move(e) p ,o p );

[0176] subsequence Includes branch road exit move(e) q ,o q To the target action.

[0177] 2. Low-priority robot insertion waiting action:

[0178] Robot M j In its action sequence A j In China, targeting and Insert waiting action at potentially conflicting locations If there are no conflicts after insertion, then calculate the minimum. And update A j Otherwise, if the conflict is deemed unresolved, the process is terminated.

[0179] 3. High-priority robot branches awaiting optimization:

[0180] If step 2 is successful, robot M k Waiting needs to be inserted between branch actions. verify With M j Compatibility of the adjusted sequence. If there are no conflicts, calculate the minimum. And update A k for:

[0181]

[0182] Otherwise, it is determined to be an unsolvable conflict.

[0183] If the above six stages still fail to resolve the conflict, it indicates that the key action that caused the conflict is missing. and Therefore, both robots move their current conflicting actions forward by one action:

[0184]

[0185] Attempt to resolve the conflict from an earlier action, i.e., repeat the cycle from stage 1 to stage 6 above until the conflict is successfully resolved. If both robots have gone through all actions and still cannot resolve the conflict, then the conflict resolution is declared a failure.

[0186] Application examples:

[0187] Two-robot scenario (high dynamic environment)

[0188] The method of this invention differs from conventional methods in the following ways: Figure 7 As shown. Because traditional methods cannot select branches, one robot can only proceed after another robot has passed before entering an overlapping section. Therefore, compared to traditional methods, the method of this invention reduces waiting time by utilizing branches, resulting in shorter total and average task times.

[0189] Table 1 compares the data of the method of the present invention and the traditional method in the above example (two robots).

[0190] method Total time (s) Average time (s) Average path length (m) Method of the present invention 56 28 47.13 Traditional methods 70 35 42.58

[0191] Technical effectiveness verification:

[0192] Task time optimization:

[0193] Total time decreased by 20% (70s→56s), and average time decreased by 20% (35s→28s);

[0194] By taking detours via nearby side roads, low-priority robots can avoid long waiting times.

[0195] Efficiency and path balance:

[0196] Although the path length increased by 10.7% (42.58m→47.13m), the overall efficiency was significantly improved due to the substantial reduction in waiting time.

[0197] Five robot scenarios:

[0198] like Figure 8 As shown, in the case of 5 robots, the traditional method requires more waiting time due to the long overlap of paths between robots, resulting in a significant increase in task completion time. However, the method of this invention effectively reduces the waiting time between robots by rationally selecting branches, significantly shortening the total task time compared to the traditional method. Although the average path length is still slightly longer, the overall efficiency advantage is more obvious.

[0199] Table 2 compares the data of the method of the present invention and the traditional method in the above example (five robots).

[0200] method Total time (s) Average time (s) Average path length (m) Method of the present invention 65 13 42.19 Traditional methods 91 18.2 38.7

[0201] Technical effectiveness verification:

[0202] Adaptability to dense scenes:

[0203] Total time decreased by 28.6% (91s→65s), and average time decreased by 28.6% (18.2s→13s);

[0204] By dynamically prioritizing (Strategy 5), the actions of multiple robots are coordinated to avoid systemic blockage.

[0205] Resource consumption is controllable:

[0206] The path length increased by only 8.9% (38.70m→42.19m), but the overall efficiency improved by 30% due to the reduction in waiting time.

[0207] Example 2:

[0208] Based on Example 1, such as Figure 9 As shown, the system for resolving multi-robot conflicts based on topology maps according to the present invention includes:

[0209] Map building module: used to generate a topology map, which includes nodes, edges and node location information;

[0210] Motion planning module: Generates an ordered sequence of motions for each robot and controls speed switching based on dynamic constraints;

[0211] Conflict detection module: Identifies conflict actions through trajectory prediction;

[0212] Strategy execution engine: includes five types of callable strategies:

[0213] ① Autonomous waiting strategy: Autonomously select a waiting robot and insert a waiting action;

[0214] ② Autonomous replanning strategy: Autonomously select a replanning robot and shield conflicting actions;

[0215] ③ Custom waiting strategy: Insert waiting actions into the robot according to user-specified settings;

[0216] ④ Custom replanning strategy: Replan the robot path according to the user-specified path;

[0217] ⑤ Automated decision-making strategy: Execute a six-stage dynamic priority adjustment process;

[0218] Communication interface: Receives user policy selection instructions and outputs the solution results.

[0219] The system of this invention includes a hybrid decision-making framework with five configurable conflict resolution strategies (waiting, replanning, custom waiting, custom replanning, and automatic mode), covering different scenario requirements from fully autonomous system decision-making to user-customized intervention. It breaks through the limitations of traditional single strategies, achieving dynamic adaptation to complex conflict types (such as completely overlapping paths, intersecting paths, and narrow-channel parallelism) through strategy combinations, while retaining the user's flexible choice.

[0220] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection of the present invention.

Claims

1. A multi-robot conflict resolution method based on topology maps, characterized in that, Includes the following steps: S1: Construct a topology map, which includes nodes, edges, and node location information; S2: Define the robot's motion space, which includes movement actions and waiting actions; S3: Generate an ordered sequence of robot actions and control speed switching based on dynamic constraints; S4: Identify conflicting actions through trajectory prediction and collision detection; S5: Employ a multi-strategy collaborative framework to dynamically select a conflict resolution strategy based on the conflict type. The strategy includes at least one of the following: Strategy 1: The system autonomously selects the robot to wait for and outputs the waiting strategy for that robot; Strategy 2: The system autonomously selects and executes a replanning robot, and outputs the replanning strategy for that robot; Strategy 3: Define a custom robot for execution waiting and output the waiting strategy of that robot; Strategy 4: Define a custom robot to perform replanning and output the replanning strategy for that robot; Strategy 5: In automatic mode, a six-stage dynamic priority adjustment process is executed. The system autonomously selects the robot to perform the action and autonomously decides and outputs the waiting or replanning strategy for that robot.

2. The multi-robot conflict resolution method based on topology maps according to claim 1, characterized in that, Strategy 5's six-stage process includes: Phase 1: Low-priority robots insert waiting actions, while high-priority robots maintain their original action sequences; Phase 2: Low-priority robots maintain their original action sequence, while high-priority robots insert waiting actions; Phase 3: Low-priority robots attempt to adjust their paths, while high-priority robots maintain their original action sequences; Phase 4: High-priority robots maintain their original action sequence, while low-priority robots attempt to adjust their paths; Phase 5: Low-priority robots adjust their paths while high-priority robots wait, and high-priority robots maintain their original action sequence; Phase 6: High-priority robots adjust their paths while low-priority robots wait, and low-priority robots maintain their original action sequences; If either stage is successful, the process terminates; otherwise, both robots move their current conflicting action back one action and attempt to resolve the conflict from an earlier action, repeating the cycle from stage 1 to stage 6 until the conflict is resolved.

3. The multi-robot conflict resolution method based on topology maps according to claim 1, characterized in that, For any robot, its action space for: Among them, move(e i ,o i ) indicates along the edge e i Driving, driving mode is o i , This indicates that at node v b wait seconds, using This represents the i-th action chosen by the robot. The ordered sequence of actions of the robot during the entire motion process is represented as: in, Representing robot M respectively k The 1st, 2nd, and kth actions, each action is a motion space. One of the elements; the action execution logic of the dynamic constraints in step S3 includes: S31: Change of motion direction: The robot is currently performing an action. Its subsequent actions are all to move along the edge while maintaining direction O. i The direction remains unchanged until an action that requires a change in direction, move(e), is encountered. l =(v b ,v c ),O l ), O i ≠o l The robot needs to decelerate by a dec Decelerate to ensure you arrive at node v exactly at the destination. b linear velocity Reduced to zero; S32: Execution Waiting: The robot is currently performing an action. If there is a subsequent waiting action Then with deceleration a dec Decelerate to ensure arrival at node v b linear velocity It drops to exactly zero and remains at zero throughout the waiting process; S33: Switching between straight lines and curves: S331: Switch from straight line to curve: The robot is currently performing an action along a straight edge. And then it always moves along the straight side, in the direction of o. i Keep it unchanged until the edge of the curve is reached (move(e)) l =(v b ,v c ),o l ), o i ≠o l To successfully enter the curve, the robot needs to decelerate by a. dec Gradually decelerate so that it reaches node v b linear velocity at time Just reduce to the maximum permissible speed at the edge of the curve. S332: Curve to Straight Line: The robot is currently performing an action along the curve edge. And continue moving along the edge of the curve, in the direction of o. i Keep it unchanged until it reaches the straight edge move(e) l =(v b v c ), o l ), o i ≠o l Entering the edge e l Then, the robot accelerates a acc accelerate; S34: No follow-up action: If the last action in a feasible ordered sequence of robots is an action that requires changing the direction of movement, move(e) l =(v b ,v c ),o l (or waiting action) Then the robot arrives at node v b At that time, its linear velocity It dropped exactly to zero.

4. The multi-robot conflict resolution method based on topology maps according to claim 3, characterized in that, Low priority robot is M j The high-priority robot is M. k Let the high-priority robot M be... k and low-priority robot M j The current conflict actions are respectively Phase 5: The low-priority robot adjusts its path while the high-priority robot waits, and the high-priority robot maintains its original action sequence. The specific process includes the following steps: (1) Low-priority robot M j Inserting branch action Low-priority robot M j In action sequence A j Current conflict actions Previously, we searched for a pair of edge-moving actions (move(e)). i ,o i ),move(e j O j )), where e i With e j They are the opposite edges of the same edge, and o i ≠o j This forms a branch path, inserting this pair of actions into action sequence A. j In this process, two subsequences are formed after splitting: subsequence Includes the move(e) action from the currently executing action to the branch entry point. i ,o i ); subsequence Includes branch exit action move(e) j ,o j To the target action. (2) High-priority robot M k Insert wait action: High-priority robot M k In its action sequence A k In China, targeting and At potentially conflicting locations, attempt to insert a wait action. If the action sequence after insertion is A k and subsequence If there are no potential collisions, calculate the minimum waiting time. Add before conflicting actions If the conflict still exists, proceed to stage 6; (3) Low-priority robot M j Optimization needed within the branch: If step (2) is successful, the low-priority robot M... j Further ensure its subsequence With high-priority robot M k The adjusted action sequence has no conflicts, in the branch action (move(e)) i ,o i ),move(e j ,o j Insert waiting actions between )) It then verifies for conflicts; if no conflicts are found, it calculates the minimum waiting time. And update A j for: Otherwise, proceed to stage 6.

5. The multi-robot conflict resolution method based on topology maps according to claim 4, characterized in that, Phase 6: High-priority robots adjust their paths while low-priority robots wait, and low-priority robots maintain their original action sequences. The specific process includes the following steps: (1) High-priority robot M k Inserting a branch: High-priority robot M k In action sequence A k Current conflict actions Previously, insert a pair of edge-moving actions (move(e)). p ,o p ),move(e q ,o q )), e p With e q For the reverse edge, o p ≠o q The action can be broken down as follows: subsequence Includes the current action to the branch entry point move(e) p ,o p ); subsequence Includes branch road exit move(e) q ,o q To the target action; (2) Low-priority robot M j Insert wait action: Low-priority robot M j In its action sequence A j In, for subsequences Insert waiting action at potentially conflicting locations If there are no conflicts after insertion, calculate the minimum waiting time. And update action sequence A j Otherwise, if the conflict is deemed unresolved, the process will be terminated. (3) High-priority robot M k Optimization needed within the branch: If step (2) is successful, the high-priority robot M... k Waiting needs to be inserted between branch actions. verify With low-priority robot M j The compatibility of the adjusted sequence is assessed; if no conflicts are found, the minimum waiting time is calculated. And update A k for: Otherwise, it is determined to be an unsolvable conflict.

6. The multi-robot conflict resolution method based on a topology map according to claim 4 or 5, characterized in that, The branch actions mentioned above must satisfy: It includes forward movement actions to enter a branch and reverse movement actions to return to the original path; The insertion position is preferentially selected from the node closest to the current conflicting action.

7. The multi-robot conflict resolution method based on topology maps according to claim 1, characterized in that, The aforementioned strategies 1 and 3 also include: Set a maximum waiting time for the robot; If a conflict still occurs after inserting the wait, the conflicting action is backtracked to the previous action.

8. The multi-robot conflict resolution method based on topology maps according to claim 1, characterized in that, Strategy 2 and Strategy 4 also include: Set the state cost of the conflicting action to infinity; Iterate and replan until the conflict is resolved or all feasible paths are traversed.

9. The multi-robot conflict resolution method based on topology maps according to claim 1, characterized in that, It also includes an action sequence backtracking mechanism: Update the conflicting action to the previous action in the action sequence; Re-execute the selected conflict resolution strategy until the entire sequence of actions has been traversed.

10. A system for resolving multi-robot conflicts based on a topology map according to any one of claims 1-9, characterized in that, include: Map building module: used to generate a topology map, which includes nodes, edges and node location information; Motion planning module: Generates an ordered sequence of motions for each robot and controls speed switching based on dynamic constraints; Conflict detection module: Identifies conflict actions through trajectory prediction; Strategy execution engine: includes five types of callable strategies: ① Autonomous waiting strategy: Autonomously select a waiting robot and insert a waiting action; ② Autonomous replanning strategy: Autonomously select a replanning robot and shield conflicting actions; ③ Custom waiting strategy: Insert waiting actions into the robot according to user-specified settings; ④ Custom replanning strategy: Replan the robot path according to the user-specified path; ⑤ Automated decision-making strategy: Execute a six-stage dynamic priority adjustment process; Communication interface: Receives user policy selection instructions and outputs the solution results.

Citation Information

Patent Citations

  • Multi-robot path conflict solving method based on wireless signal intensity change

    CN113311831A

  • Multi-agricultural machine cooperative global path conflict detection method based on topological map and time window

    CN114705194A

  • Centralized multi-AGV multipath channel changing decision planning method based on priority

    CN115657676A

  • Intelligent airport sliding scheduling method based on multi-agent reinforcement learning

    CN116402273A

  • Multi-robot layered space-time optimization path planning method based on conflict resolution

    CN119533512A