A multi-mobile robot arbitrary angle path planning method and system based on conflict search
By constructing a search tree and performing conflict detection and constraint creation for a multi-mobile robot arbitrary angle path planning method based on conflict search, the problems of insufficient robot flexibility and low path solution quality are solved, and efficient path planning for robot movement at arbitrary angles in a static environment is realized.
Patent Information
- Application Number
- CN202511670849.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-14
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2045-11-14
AI Technical Summary
Existing multi-robot path planning methods limit the flexibility of robots, cannot effectively solve the inefficiency caused by priority allocation and the deadlock problem of priority architecture, and traditional methods still limit the robot to move in a fixed direction when improving the quality of path solutions.
A conflict-search-based path planning method for multi-mobile robots with arbitrary angles is adopted. By constructing a search tree structure, initializing the root node, performing conflict detection and constraint creation, and combining the underlying path planning algorithm, the robot replans its path for the robot affected by the new constraints, ensuring that the robot can move in any direction.
It improves the flexibility and quality of multi-robot path planning, resolves conflicts between robots, and is suitable for logistics warehousing and multi-mobile robot collaborative operation scenarios.
Smart Images

Figure CN121119343B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of global path planning of mobile robots, and particularly relates to a multi-mobile robot arbitrary angle path planning method and system based on conflict search. BACKGROUND
[0002] In the scenarios of logistics storage and multi-mobile robot cooperative processing, the search type planning method has been a path planning method for ensuring stable operation of the system.
[0003] The traditional multi-angle path planning method limits the movement mode of the robot to discrete time steps and the connectivity of the grid, and the robot can only move in a limited direction at a limited time, which limits the flexibility of the robot, such as A*, 2 k The existing multi-robot arbitrary angle path planning method adopts a priority scheme as the main collision avoidance strategy, which cannot solve the low efficiency problem caused by priority allocation and the deadlock problem existing in the priority architecture, such as AA-SIPP (Any-Angle Safe Interval Path Planning) algorithm. The existing global path planning method for multiple robots based on conflict search can improve the quality of the solution, but still limits the movement of the robot along a fixed direction, such as CBS (Conflict-Based Search) and CCBS (Continuous Conflict-Based Search) algorithm. The application combines conflict search with arbitrary angle path planning, effectively improving the quality of the solution of the path planning. SUMMARY
[0004] The application provides a multi-mobile robot arbitrary angle path planning method and system based on conflict search, aiming to solve the following problems in global path planning for multiple robots in static environment: 1) the flexibility of the robot is insufficient due to the limitation of movement mode and time discretization; 2) the difficulty in expanding the arbitrary angle path planning to the multi-robot scene; 3) while improving the quality of the overall path solution, the robot can still move in any direction.
[0005] The technical solution adopted by the application to solve the technical problems is:
[0006] A multi-mobile robot arbitrary angle path planning method based on conflict search, the method comprising the following steps:
[0007] S100: Construct a search tree structure containing a constraint set, a path set, and evaluation values, where each node represents a candidate solution;
[0008] S200: Initialize the root node, set the constraint set to empty, and use the arbitrary angle path planning algorithm to calculate the initial path for each robot, ignoring other robots. The initial path set is then obtained by summarizing the results, and the total cost of the initial path set is calculated as the evaluation value of the root node.
[0009] S300: In the main loop, select the node with the smallest evaluation value from all nodes that have failed the validity verification for conflict detection; conflict detection includes: extracting all robot state transition times in the path set of the node, merging them to generate a unified time axis, and extracting the minimum time interval in sequence; for each time interval, traverse all robot pairs, analyze their positional relationship of path segments in the current time interval, and determine whether a conflict has occurred.
[0010] S400: If a conflict is detected, corresponding constraint terms are generated for the robot pair that is in conflict, and new child nodes are created based on the constraint terms. The child nodes inherit the constraint set of the parent node and add the newly generated constraints.
[0011] S500: For each newly created child node, call the underlying path planning algorithm to replan the path for the robot affected by the new constraints, update the path set and evaluation value, add the new node to the search tree, and return to S300 to execute the loop; if no conflict is detected in the selected node, the node is determined to be valid, and its path set is output as the final solution; if no valid solution is found after all nodes have been processed, the problem is determined to be unsolvable.
[0012] Preferably, in S200, the robot's path is represented by multiple cells, where each cell is represented as... Its meaning is that the robot is at all times Located at coordinates And the orientation is The path is described by multiple consecutive cells, representing a sequence of continuous robot actions; where the model of all robots is simplified to a radius of... For a circular disk, during path planning for the robot, the robot's motion states include: moving from one vertex to another... Proceed at a certain speed, and at a certain vertex or The speed at which it rotates in place and stops and waits at any point is as follows:
[0013] .
[0014] Preferably, collision detection in S300 includes:
[0015] If, within a certain time interval, one robot is in a straight-line motion state while another robot is in a stationary or rotating state, calculate the shortest distance between the motion path segments of the stationary or rotating robot and the robot in a straight-line motion state. If the shortest distance is less than the sum of the radii of the two robots, a conflict is determined to have occurred.
[0016] Preferably, collision detection in S300 further includes:
[0017] If both robots are moving in a straight line within a certain time interval, the judgment is made based on the positional relationship between the two movement path segments.
[0018] When the movement paths of two robots are parallel and their directions are the same, they are considered to be without conflict.
[0019] When two robots move along parallel paths in opposite directions, a conflict is determined by comparing the distance between the two parallel path segments and the shortest distance between the start and end points of each segment. A conflict occurs when the distance between the two path segments is greater than or equal to twice the robot's radius. When the distance between two path segments is less than twice the robot radius, it is determined to be conflict-free; when the distance between two path segments is less than twice the robot radius, it is determined to be conflict-free by judging whether the shortest distance between the starting point and the ending point meets the following conditions:
[0020] ;
[0021] in, The point representing the shortest distance from the first path segment to the second path segment. For the robot radius, , These are the starting and ending points of the first robot, respectively. , These are the starting and ending points of the second robot, respectively;
[0022] When path segments are not parallel, a conflict is determined by calculating the intersection point parameters of the two path segments and the positional relationship of the two robots relative to that intersection point: Let the two path segments intersect at point... Then let , ,in, The length of the path segment is the angle formed by the intersection of the two straight lines and the respective directions of movement of the two path segments. The following relationship exists: Two robots will not collide when the following conditions are met:
[0023] .
[0024] Preferably, S400 includes:
[0025] S410: If a conflict is detected, this node becomes invalid, and the current motion states of the two robots involved in the conflict are extracted and used as constraints for the other robot. The constraint terms are in the form of... This indicates that the restricted robot must not occupy the space during this time period;
[0026] S420: Based on two different constraints, create two new child nodes respectively, and each child node adds a constraint on top of inheriting the constraints of the parent node;
[0027] The S400 also includes:
[0028] S430: If no conflict occurs, continue to detect conflicts between other robot pairs or proceed to the next time interval; if no conflict is found after traversing all time intervals, the node is valid and the current node is returned as the path solution set.
[0029] Preferably, the underlying path planning algorithm is invoked in S500, including:
[0030] A constraint-based search framework is adopted, and a low-level path planning algorithm searches for a path for a single robot under given constraints. When expanding the search nodes, the TP algorithm generates child nodes that can: move from the parent node to an adjacent grid point after rotating in place, stop at the current position and wait for one unit of time, or move directly from the parent node to an adjacent grid point. The validity of the expanded path is verified, including checking whether the path will collide with static obstacles and whether it will conflict with the dynamic obstacle constraints representing other robots. The dynamic obstacle conflict determination logic is consistent with the top-level conflict detection logic.
[0031] Preferably, the updated evaluation value in S500 includes: using the minimization of the total cost as the evaluation objective of the path solution set, where the total cost is the sum of the path costs of all robots, and the path cost includes motion cost, rotation cost and waiting cost, wherein the waiting after the robot reaches the destination does not incur a cost.
[0032] A multi-mobile robot arbitrary angle path planning system based on conflict search includes:
[0033] The search tree construction module is used to build a search tree structure that includes a set of constraints, a set of paths, and an evaluation value, where each node represents a candidate solution.
[0034] The initialization module is used to initialize the root node, set the constraint set to empty, and use an arbitrary angle path planning algorithm to calculate the initial path for each robot, ignoring other robots. The initial path set is then obtained by summarizing the paths, and the total cost of the initial path set is calculated as the evaluation value of the root node.
[0035] The conflict detection module is used to select the node with the smallest evaluation value from all nodes that have failed the validity verification in the main loop for conflict detection. Conflict detection includes: extracting all robot state transition times in the path set of the node, merging them to generate a unified time axis, and extracting the minimum time interval in sequence; for each time interval, traversing all robot pairs, analyzing the positional relationship of their path segments in the current time interval, and determining whether a conflict has occurred.
[0036] The new child node creation module is used to generate corresponding constraint terms for the conflicting robot pair if a conflict is detected, and to create new child nodes based on the constraint terms. The child nodes inherit the constraint set of the parent node and add the newly generated constraints.
[0037] The replanning module is used for each newly created child node. It calls the underlying path planning algorithm to replan the path for the robot affected by the new constraints, updates the path set and evaluation value, adds the new node to the search tree, and returns to S300 to execute the loop. If no conflict is detected in the selected node, the node is determined to be valid, and its path set is output as the final solution. If no valid solution is found after all nodes have been processed, the problem is determined to be unsolvable.
[0038] A computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of a method for arbitrary angle path planning for multiple mobile robots based on conflict search.
[0039] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of a method for arbitrary angle path planning for multiple mobile robots based on conflict search.
[0040] Therefore, this invention proposes a conflict-based search method for arbitrary-angle path planning of multiple mobile robots (CBS-TP). The aim is to use the CBS algorithm as the top-level architecture for multi-robot path planning, while employing the TP algorithm at the bottom layer. During the solution process, conflicts are continuously discovered, constraints are created, and constraints are solved to obtain safe and conflict-free multi-robot path solutions. This method enables arbitrary-angle path planning for multiple mobile robots in static environments, improving robot flexibility and enhancing the quality of path solutions compared to traditional methods, thus increasing overall efficiency. It is particularly suitable for applications such as logistics warehousing and collaborative operations of multiple mobile robots. Attached Figure Description
[0041] Figure 1 This is a flowchart of a multi-mobile robot arbitrary angle path planning method based on conflict search in one embodiment of the present invention;
[0042] Figure 2 This is a real-world scenario verification diagram from one embodiment of the present invention;
[0043] Figure 3 This is a simulation scene diagram corresponding to a real-world scenario in one embodiment of the present invention;
[0044] Figure 4 This is a simplified robot model schematic diagram according to one embodiment of the present invention;
[0045] Figure 5 This is an example diagram illustrating the movement of a single robot following a path in one embodiment of the present invention;
[0046] Figure 6 This is an example diagram illustrating the relationship between a single CBS node and its parent-child nodes in one embodiment of the present invention;
[0047] Figure 7 This is an example diagram illustrating how the paths of each robot are merged onto a single time axis and the minimum time interval is extracted in one embodiment of the present invention.
[0048] Figure 8 This is a schematic diagram of one robot being stationary or rotating and another robot being in linear motion, according to an embodiment of the present invention; wherein, (a) is the stationary robot in the vertical space of the moving robot's path, and (b) is the stationary robot outside the vertical space of the moving robot's path.
[0049] Figure 9 This is a schematic diagram of two robots moving simultaneously and on parallel paths in one embodiment of the present invention; wherein, (a) is a schematic diagram of two robots moving in the same direction but too close to each other causing a conflict, (b) is a schematic diagram of two robots moving in the same direction with sufficient distance to avoid a conflict, (c) is a schematic diagram of two robots moving towards each other causing a conflict, and (d) is a schematic diagram of two robots moving in opposite directions without a conflict.
[0050] Figure 10 This is a schematic diagram of two robots in motion simultaneously in one embodiment of the present invention, and the straight lines containing the path segments intersect; wherein (a), (b), and (c) show schematic diagrams of the corresponding path angles and intersection positions generated according to different path distributions;
[0051] Figure 11 This is an example diagram illustrating how a robot generates a conflict and converts it into a constraint in one embodiment of the present invention;
[0052] Figure 12 This is an example diagram of child nodes extended by the underlying TP algorithm in one embodiment of the present invention; wherein, (a) shows the child nodes extended by the current node. Departure Arrival A ,B , C , D (a) shows the child nodes; (b) shows the path to the current node. (c) Displays the child nodes that perform the stop action; The parent node of the node Direct arrival A , B , C , D child nodes;
[0053] Figure 13 This is an example diagram illustrating how the grid points covered by the robot during movement are determined by the path and robot radius in one embodiment of the present invention.
[0054] Figure 14 This is a flowchart of a multi-mobile robot arbitrary angle path planning method based on conflict search in another embodiment of the present invention. Detailed Implementation
[0055] To enable those skilled in the art to better understand the technical solution of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings.
[0056] In one embodiment, such as Figure 1 As shown, a method for arbitrary angle path planning of multiple mobile robots based on conflict search is presented. The method includes the following steps:
[0057] S100: Construct a search tree structure containing a constraint set, a path set, and evaluation values, where each node represents a candidate solution;
[0058] S200: Initialize the root node, set the constraint set to empty, and use the arbitrary angle path planning algorithm to calculate the initial path for each robot, ignoring other robots. The initial path set is then obtained by summarizing the results, and the total cost of the initial path set is calculated as the evaluation value of the root node.
[0059] S300: In the main loop, select the node with the smallest evaluation value from all nodes that have failed the validity verification for conflict detection; conflict detection includes: extracting all robot state transition times in the path set of the node, merging them to generate a unified time axis, and extracting the minimum time interval in sequence; for each time interval, traverse all robot pairs, analyze their positional relationship of path segments in the current time interval, and determine whether a conflict has occurred.
[0060] S400: If a conflict is detected, corresponding constraint terms are generated for the robot pair that is in conflict, and new child nodes are created based on the constraint terms. The child nodes inherit the constraint set of the parent node and add the newly generated constraints.
[0061] S500: For each newly created child node, call the underlying path planning algorithm to replan the path for the robot affected by the new constraints, update the path set and evaluation value, add the new node to the search tree, and return to S300 to execute the loop; if no conflict is detected in the selected node, the node is determined to be valid, and its path set is output as the final solution; if no valid solution is found after all nodes have been processed, the problem is determined to be unsolvable.
[0062] Specifically, real-world path planning scenarios include... Figure 2 As shown, in the grid map, each robot starts from its current position and has its own destination. Cardboard boxes represent obstacles that no robot can collide with. This can be abstracted into a simulation scenario, such as... Figure 3 The disk represents a single robot, which has a corresponding number. The horizontal line inside the robot indicates the current direction. The horizontal and diagonal striped grids represent the start and end points, respectively, and the numbers correspond to the robots. For example, S1 and G1 are the start and end points of robot number 1. The gray grids represent obstacles. In reality, obstacles have expanded in volume and occupy the entire grid they occupy.
[0063] In one embodiment, in S200, the robot's path is represented by multiple cells, where each cell is represented as... Its meaning is that the robot is at all times Located at coordinates And the orientation is The path is described by multiple consecutive cells, representing a sequence of continuous robot actions; where the model of all robots is simplified to a radius of... For a circular disk, during path planning for the robot, the robot's motion states include: moving from one vertex to another... Proceed at a certain speed, and at a certain vertex or The speed at which it rotates in place and stops and waits at any point is as follows:
[0064] .
[0065] Specifically, firstly, this invention makes several fundamental assumptions in the solution process. (I) The chassis of all robots are isomorphic, and their acceleration and deceleration processes are neglected. For example... Figure 4 From a top-down perspective, the robot's model is simplified to a radius of... (I) The robot has only three actions: linear movement, rotation in place, and stopping. (II) Rotation does not change the robot's coordinates. During linear movement or rotation, the speed remains constant. (IV) The robot can only change its state of motion after reaching the apex. (V) The robot does not disappear after reaching the endpoint.
[0066] Based on the above basic assumptions, the following conclusion can be drawn: For any robot, it has only three states during motion, as shown in equation (1), namely ① starting from a certain vertex and moving towards another vertex. ① Moving forward at a certain speed; ② At a certain vertex at or ③ To rotate in place at a certain speed; ③ To stop and wait at a certain point.
[0067] (1)
[0068] The state of a robot at a certain moment is represented by a cell of "pose" + "time", as shown in Equation (2), which represents the state of the robot at a certain moment. Time is located , towards .
[0069] (2)
[0070] Based on this inference, the robot's path can be represented using multiple cells. Figure 5 For example, robots from Self-click Along a straight line towards Towards Move, and The moment has arrived. Then, through rotation, in... Rotate to face Then move along a straight line, in Time of arrival The path of the robot is expressed as shown in equation (3).
[0071] (3)
[0072] For this multi-robot path planning problem, the solution can be used To indicate, among which, .
[0073] Specifically, according to assumption (III), since rotational and stopping actions do not change the robot's coordinates, the constraint terms may not contain orientation information. The constraint terms are represented by equation (4), which represents the robot's position in... to From point within the time period Move to point The restrained robot cannot collide with it.
[0074] (4)
[0075] In one embodiment, updating the evaluation value in S500 includes: using the minimization of the total cost as the evaluation objective of the path solution set, where the total cost is the sum of the path costs of all robots, and the path cost includes motion cost, rotation cost, and waiting cost, wherein waiting after the robot reaches the destination does not incur a cost.
[0076] This invention uses minimizing the total cost (SOC) as the evaluation method for path sets, as shown in Equation (5). It calculates the total cost required to create a path solution set. This includes the sum of motion cost, rotation cost, and waiting cost. Specifically, if a robot reaches the destination while other robots have not, its waiting behavior incurs no cost if it does not leave the destination. Taking equation (3) as an example, the evaluation value of this path is... .
[0077] (5)
[0078] The CBS-TP algorithm structure proposed in this invention retains the main structure of the CBS algorithm and several principles in its iterative process. In the CBS-TP algorithm, each node contains the following parts: constraint set, path set, node name, and evaluation value, such as... Figure 6 For child nodes, they are connected to their parent nodes by lines, with the parent-child relationship shown from top to bottom. The initial root node has an empty constraint set. For child nodes, their constraint sets are inherited from the parent node and supplemented with constraints created to address conflicts found in the parent node. After obtaining their constraint sets, child nodes can perform path searching. During the search, each robot only needs to focus on and plan its associated constraints; if no related constraints are updated, path planning does not need to be redone. After planning for each robot, if a robot has no path solution, that node is discarded as invalid; if every robot has a solution, its evaluation value can be obtained using the evaluation function. In the next iteration, among all nodes whose validity has not been checked, the node with the lowest evaluation value is selected, and its path set is checked for validity, i.e., whether there are conflicts between robots. If no node can be selected, the path planning problem returns no solution.
[0079] At the start of the planning process, a root node is created. The constraint set in the root node is empty, meaning there are no constraints for any robot. Since there are no constraints, this process is equivalent to ignoring all other robots and directly calling the Theta* algorithm on the robot being planned in a static environment to perform path planning at arbitrary angles. At this stage, robots with no feasible path solutions are identified, and the path planning problem is returned as unsolvable; if all robots have path solutions, the path set under that node is obtained, and the evaluation value of this path set is obtained through an evaluation function. At this point, the root node of the top-level CBS algorithm is created.
[0080] Entering the main loop of the program, the node with the lowest evaluation value is selected from all unconfirmed CBS nodes, and its validity is checked. Under this condition, the root node is selected to confirm whether a conflict occurs for each robot in a static environment. This requires conflict checking for each robot in sequence. First, since the motion state of a robot remains unchanged in the same state, the times when each robot switches motion states can be statistically analyzed and placed on the same timeline to obtain the minimum time interval, such as... Figure 7 .
[0081] By sequentially extracting the minimum time interval, since the motion state of each robot remains unchanged within the same time interval, the coordinates of the robot at any given moment are known, and thus it is possible to determine whether a conflict occurs between any two robots.
[0082] In one embodiment, collision detection in S300 includes:
[0083] If, within a certain time interval, one robot is in a straight-line motion state while another robot is in a stationary or rotating state, calculate the shortest distance between the motion path segments of the stationary or rotating robot and the robot in a straight-line motion state. If the shortest distance is less than the sum of the radii of the two robots, a conflict is determined to have occurred.
[0084] In one embodiment, collision detection in S300 further includes:
[0085] If both robots are moving in a straight line within a certain time interval, the judgment is made based on the positional relationship between the two movement path segments.
[0086] When the movement paths of two robots are parallel and their directions are the same, they are considered to be without conflict.
[0087] When two robots move along parallel paths in opposite directions, a conflict is determined by comparing the distance between the two parallel path segments and the shortest distance between the start and end points of each segment. A conflict occurs when the distance between the two path segments is greater than or equal to twice the robot's radius. When the distance between two path segments is less than twice the robot radius, it is determined to be conflict-free; when the distance between two path segments is less than twice the robot radius, it is determined to be conflict-free by judging whether the shortest distance between the starting point and the ending point meets the following conditions:
[0088] ;
[0089] in, The point representing the shortest distance from the first path segment to the second path segment. For the robot radius, , These are the starting and ending points of the first robot, respectively. , These are the starting and ending points of the second robot, respectively;
[0090] When path segments are not parallel, a conflict is determined by calculating the intersection point parameters of the two path segments and the positional relationship of the two robots relative to that intersection point: Let the two path segments intersect at point... Then let , ,in, The length of the path segment is the angle formed by the intersection of the two straight lines and the respective directions of movement of the two path segments. The following relationship exists: Two robots will not collide when the following conditions are met:
[0091] .
[0092] Specifically, a conflict can only occur when (A) one robot is moving in a straight line while the other is either rotating in place or stationary; or (B) both robots are simultaneously moving in a straight line; it will not occur when both robots are simultaneously stationary or rotating in place. The reason is that in the initial state of a path planning problem, there can be no conflict between robots; and after the movement begins, if two robots that are stationary or rotating in place collide, then the conflict occurred before they even performed that action. Therefore, there is no possibility of two robots that are stationary or rotating in place colliding.
[0093] For scenario (A), since rotating in place or stopping does not change the robot's coordinates, whether the two robots collide becomes a problem of finding the shortest distance between a point and a line segment. Assume a robot is at point... While the robot is stationary or rotating, another robot starts from the point... Movement to point .like Figure 8As shown, there are two ways in which points and lines are distributed: (a) When the stationary robot is within the vertical range of the moving robot's path, the shortest distance is a line segment. The length, in To indicate. When (a) When the two robots are in motion, no conflict will occur between them; otherwise, a collision will occur. (b) When outside the interval, the shortest distance is the minimum distance between the start and end points of the current path segment from the stationary or rotating robot to the moving robot, i.e. When the shortest distance between the two robots, i.e. When the two robots are in a certain state, there will be no conflict; otherwise, a collision will occur, and the path will be invalid.
[0094] In case (B), since the robots move at the same speed, the lengths of the path segments selected by the minimum time interval are consistent. Assume a robot starts from point... Movement to point Meanwhile, another robot from point Movement to point First, based on the positional relationship between the two paths, they can be divided into: parallel paths and non-parallel paths. (B-1) When the two paths are parallel, if the two robots move in the same direction, they will not collide; if they move in opposite directions, they will not collide when certain conditions are met. (B-2) When the two paths are non-parallel, they will not collide when certain conditions are met.
[0095] In scenario (B-1), if two robots move in the same direction and collide, since the robots move at the same speed and their direction remains unchanged while moving in a straight line, they will continue to collide throughout this process, including in the initial state. This behavior will be discarded in the previous stage of the path expansion process. Figure 9 Case (a) does not exist. Therefore, when the two robots move in the same direction, they will not collide, as... Figure 9 As shown in (b), when two robots move in opposite directions, whether a collision occurs can be determined by the distance between the two paths and the shortest distance between the starting and ending points. The distance between the two paths... When there is a distance, the robots will not conflict; when the distance is... At times, such as Figure 9 (c) and Figure 9 As shown in (d), when equation (6) is satisfied, there will be no conflict between the robots.
[0096] (6)
[0097] In case (B-2), the two robots' directions of motion are not parallel, so the straight lines containing the two path segments intersect. By combining the robot's path segment with its positional relationship to the intersection point, we can quickly determine whether a conflict exists between the robots. Assume a robot starts from point... Movement to point Meanwhile, another robot from point Movement to point .in, The straight lines containing the two path segments are relative to the point. Then let , The angle formed by the intersection of the two straight lines and the respective directions of motion of the two path segments. The following relationship exists: An example of the positional distribution of the two robots is shown below. Figure 10 As shown. By calculating the positional relationship of the robots at any time in the path segment, it can be obtained that when equation (7) is satisfied, the two robots will not collide.
[0098] (7)
[0099] In one embodiment, S400 includes:
[0100] S410: If a conflict is detected, this node becomes invalid, and the current motion states of the two robots involved in the conflict are extracted and used as constraints for the other robot. The constraint terms are in the form of... This indicates that the restricted robot must not occupy the space during this time period;
[0101] S420: Based on two different constraints, create two new child nodes respectively, and each child node adds a constraint on top of inheriting the constraints of the parent node;
[0102] The S400 also includes:
[0103] S430: If no conflict occurs, continue to detect conflicts between other robot pairs or proceed to the next time interval; if no conflict is found after traversing all time intervals, the node is valid and the current node is returned as the path solution set.
[0104] Specifically, if a conflict is detected, the node is invalid. The current motion states of the two robots involved in the conflict need to be extracted and used as constraints for the other. For example... Figure 11 As shown, the robot and The path expression is shown in equation (8). If two robots collide at a certain moment, the constraint created from the path segment where the collision occurs is shown in equation (9), meaning the constraint originates from the path segment of the other party in the collision. Based on the two different constraints, two new child nodes are created respectively. Each child node inherits the constraints of its parent node and also acquires one of the constraints. If no collision occurs, the path of the two robots in the time interval is considered valid. Then, collision detection is performed between other robots until no collision occurs among all robots. Then, the detection of the next time interval is performed. When no collision is found after traversing all time intervals, the node is considered valid, and the current node is returned as the path solution set.
[0105] (8)
[0106] (9)
[0107] In one embodiment, the underlying path planning algorithm is invoked in S500, including:
[0108] A constraint-based search framework is adopted, and a low-level path planning algorithm searches for a path for a single robot under given constraints. When expanding the search nodes, the TP algorithm generates child nodes that can: move from the parent node to an adjacent grid point after rotating in place, stop at the current position and wait for one unit of time, or move directly from the parent node to an adjacent grid point. The validity of the expanded path is verified, including checking whether the path will collide with static obstacles and whether it will conflict with the dynamic obstacle constraints representing other robots. The dynamic obstacle conflict determination logic is consistent with the top-level conflict detection logic.
[0109] Specifically, after obtaining the constraints created through conflict detection and creating child nodes, the path sets of the two child nodes are not yet determined. Therefore, the underlying algorithm TP in the CBS-TP algorithm needs to be called to solve the path for each robot. The TP algorithm expands upon the original Theta* algorithm by adding access to child nodes and determining their validity. For example... Figure 12 As shown, the currently searched path is ,Depend on parent node point to And further expand the prepared node. If the current search method is 4-connection search, the child nodes obtained by expanding the current node include the following parts: ① From and , , and The combination of the four paths (up, left, down, and right), that is, the points it passes through. Then, rotate in place and move to four adjacent points; ② From Arrival point After that, at the point The child node obtained by stopping for 1 unit time step; ③ The point Paths that directly reach 4 adjacent child nodes , , , .
[0110] For the expanded child nodes, it's necessary to verify the path's validity, i.e., whether it will encounter static obstacles. This is determined through a line of sight check. By combining the start and end point positions with the robot's radius, the grid points covered by the robot during movement can be determined, thus confirming whether collisions with static obstacles will occur. Figure 13 As shown. Besides static obstacles, it's also necessary to consider whether the robot will conflict with dynamic obstacles during movement, i.e., the constraints imposed when the node is created. These constraints prevent the robot from traversing a specified spatial range within a given time period. The rules for determining this are consistent with the logic used in path set conflict detection. Therefore, TP can search for a safe path for the robot that satisfies the given constraints.
[0111] Once a new CBS node finds a path set under constraints, its evaluation value can be determined using this path set. In the next iteration, the node with the lowest evaluation value among all CBS nodes whose validity has not yet been determined is selected for validity checks. Constraints are continuously created to avoid conflicts between robots, and new paths are sought using these constraints. Finally, no solution is returned, or, if a solution exists, a set of collision-free paths at arbitrary angles between multiple robots is returned.
[0112] This invention proposes a global arbitrary angle path planning method (CBS-TP) for multiple mobile robots, and the overall flowchart is as follows: Figure 14 As shown, breakthroughs have been achieved over existing technologies in the following three aspects:
[0113] First, existing arbitrary-angle path planning methods fail to consider overall efficiency. Priority-based planning methods are hampered by varying robot priorities and the increasing number of robots, leading to a rapid decline in path solution quality. The CBS (Computer-Based Path Planning) architecture can provide a balanced solution to robot conflicts.
[0114] Second, by analyzing the results of traditional discretization solution algorithms and single-robot arbitrary angle path planning algorithms, a strategy for path conflict detection by selecting the minimum time interval under CBS is proposed. This strategy breaks away from the traditional discretization detection steps and directly performs conflict detection on the path segments of multiple robots in the spatiotemporal dimension.
[0115] Third, the validity determination and constraint creation methods for single-robot arbitrary angle path planning algorithms under the CBS architecture were improved. Furthermore, a reasonable constraint creation strategy was proposed for the CBS architecture, adaptable to the path expression of a single robot under arbitrary angle path planning, and compatible with the conflict detection strategy in the CBS algorithm.
[0116] In one embodiment, a multi-mobile robot arbitrary angle path planning system based on conflict search is also provided, comprising:
[0117] The search tree construction module is used to build a search tree structure that includes a set of constraints, a set of paths, and an evaluation value, where each node represents a candidate solution.
[0118] The initialization module is used to initialize the root node, set the constraint set to empty, and use an arbitrary angle path planning algorithm to calculate the initial path for each robot, ignoring other robots. The initial path set is then obtained by summarizing the paths, and the total cost of the initial path set is calculated as the evaluation value of the root node.
[0119] The conflict detection module is used to select the node with the smallest evaluation value from all nodes that have failed the validity verification in the main loop for conflict detection. Conflict detection includes: extracting all robot state transition times in the path set of the node, merging them to generate a unified time axis, and extracting the minimum time interval in sequence; for each time interval, traversing all robot pairs, analyzing the positional relationship of their path segments in the current time interval, and determining whether a conflict has occurred.
[0120] The new child node creation module is used to generate corresponding constraint terms for the conflicting robot pair if a conflict is detected, and to create new child nodes based on the constraint terms. The child nodes inherit the constraint set of the parent node and add the newly generated constraints.
[0121] The replanning module is used for each newly created child node. It calls the underlying path planning algorithm to replan the path for the robot affected by the new constraints, updates the path set and evaluation value, adds the new node to the search tree, and returns to S300 to execute the loop. If no conflict is detected in the selected node, the node is determined to be valid, and its path set is output as the final solution. If no valid solution is found after all nodes have been processed, the problem is determined to be unsolvable.
[0122] Specific limitations regarding the conflict-search-based multi-robot arbitrary angle path planning system can be found in the limitations of the conflict-search-based multi-robot arbitrary angle path planning method described above, and will not be repeated here. Each module in the aforementioned conflict-search-based multi-robot arbitrary angle path planning system can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the corresponding operations of each module.
[0123] A computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of a method for arbitrary angle path planning for multiple mobile robots based on conflict search.
[0124] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of a method for arbitrary angle path planning for multiple mobile robots based on conflict search.
[0125] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical storage, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0126] The present invention provides a detailed description of a method and system for arbitrary angle path planning of multiple mobile robots based on conflict search. Specific examples have been used to illustrate the principles and implementation methods of the invention. The descriptions of these embodiments are merely for the purpose of helping to understand the core ideas of the invention. It should be noted that those skilled in the art can make various improvements and modifications to the invention without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of the present invention.
Claims
1. A method for arbitrary angle path planning of multiple mobile robots based on conflict search, characterized in that, The method includes the following steps: S100: Construct a search tree structure containing a constraint set, a path set, and evaluation values, where each node represents a candidate solution; S200: Initialize the root node, set the constraint set to empty, and use the arbitrary angle path planning algorithm to calculate the initial path for each robot, ignoring other robots. The initial path set is then obtained by summarizing the results, and the total cost of the initial path set is calculated as the evaluation value of the root node. S300: In the main loop, select the node with the smallest evaluation value from all nodes that have failed the validity verification for conflict detection; conflict detection includes: extracting all robot state transition times in the path set of the node, merging them to generate a unified time axis, and extracting the minimum time interval in sequence; for each time interval, traverse all robot pairs, analyze their positional relationship of path segments in the current time interval, and determine whether a conflict has occurred. S400: If a conflict is detected, corresponding constraint terms are generated for the conflicting robot pair, and new child nodes are created based on these constraint terms. The child nodes inherit the constraint set of their parent nodes and add the newly generated constraints. S400 includes: S410: If a conflict is detected, this node becomes invalid, and the current motion states of the two robots involved in the conflict are extracted and used as constraints for the other robot. The constraint terms are in the form of... This indicates that the restricted robot must not occupy the space during this time period; S420: Based on two different constraints, create two new child nodes respectively, and each child node adds a constraint on top of inheriting the constraints of the parent node; The S400 also includes: S430: If no conflict occurs, continue to detect conflicts for other robot pairs, or proceed to the next time interval; if no conflict is found after traversing all time intervals, the node is valid, and the current node is returned as the path solution set; S500: For each newly created child node, call the underlying path planning algorithm to replan the path for the robot affected by the new constraints, update the path set and evaluation value, add the new node to the search tree, and return to S300 to execute the loop; if no conflict is detected in the selected node, the node is determined to be valid, and its path set is output as the final solution; if no valid solution is found after all nodes have been processed, the problem is determined to be unsolvable.
2. The method according to claim 1, characterized in that, In S200, the robot's path is represented by multiple cells, where each cell is represented as... Its meaning is that the robot is at all times Located at coordinates And the orientation is The path is described by multiple consecutive cells, representing a sequence of continuous robot actions; where the model of all robots is simplified to a radius of... For a circular disk, during path planning for the robot, the robot's motion states include: moving from one vertex to another... Proceed at a certain speed, and at a certain vertex or The speed at which it rotates in place and stops and waits at any point is as follows: 。 3. The method according to claim 2, characterized in that, Collision detection in S300 includes: If, within a certain time interval, one robot is in a straight-line motion state while another robot is in a stationary or rotating state, calculate the shortest distance between the motion path segments of the stationary or rotating robot and the robot in a straight-line motion state. If the shortest distance is less than the sum of the radii of the two robots, a conflict is determined to have occurred.
4. The method according to claim 3, characterized in that, Collision detection in S300 also includes: If both robots are moving in a straight line within a certain time interval, the judgment is made based on the positional relationship between the two movement path segments. When the movement paths of two robots are parallel and their directions are the same, they are considered to be without conflict. When two robots move along parallel paths in opposite directions, a conflict is determined by comparing the distance between the two parallel path segments and the shortest distance between the start and end points of each segment. A conflict occurs when the distance between the two path segments is greater than or equal to twice the robot's radius. When the distance between two path segments is less than twice the robot radius, it is determined to be conflict-free; when the distance between two path segments is less than twice the robot radius, it is determined to be conflict-free by judging whether the shortest distance between the starting point and the ending point meets the following conditions: ; in, The point representing the shortest distance from the first path segment to the second path segment. For the robot radius, , These are the starting and ending points of the first robot, respectively. , These are the starting and ending points of the second robot, respectively; When path segments are not parallel, a conflict is determined by calculating the intersection point parameters of the two path segments and the positional relationship of the two robots relative to that intersection point: Let the two path segments intersect at point... Then let , ,in, The length of the path segment is the angle formed by the intersection of the two straight lines and the respective directions of movement of the two path segments. The following relationship exists: Two robots will not collide when the following conditions are met: 。 5. The method according to claim 4, characterized in that, The S500 calls the underlying path planning algorithm, including: A constraint-based search framework is adopted, and a low-level path planning algorithm searches for a path for a single robot under given constraints. When expanding the search nodes, the TP algorithm generates child nodes that can: move from the parent node to an adjacent grid point after rotating in place, stop at the current position and wait for one unit of time, or move directly from the parent node to an adjacent grid point. The validity of the expanded path is verified, including checking whether the path will collide with static obstacles and whether it will conflict with the dynamic obstacle constraints representing other robots. The dynamic obstacle conflict determination logic is consistent with the top-level conflict detection logic.
6. The method according to claim 5, characterized in that, The updated evaluation values in S500 include: using the minimization of total cost as the evaluation objective of the path solution set. The total cost is the sum of the path costs of all robots. The path cost includes motion cost, rotation cost, and waiting cost, where waiting after the robot reaches the destination does not incur a cost.
7. A multi-mobile robot arbitrary angle path planning system based on conflict search, performing the method as described in any one of claims 1 to 6, characterized in that, include: The search tree construction module is used to build a search tree structure that includes a set of constraints, a set of paths, and an evaluation value, where each node represents a candidate solution. The initialization module is used to initialize the root node, set the constraint set to empty, and use an arbitrary angle path planning algorithm to calculate the initial path for each robot, ignoring other robots. The initial path set is then obtained by summarizing the paths, and the total cost of the initial path set is calculated as the evaluation value of the root node. The conflict detection module is used to select the node with the smallest evaluation value from all nodes that have failed the validity verification in the main loop for conflict detection. Conflict detection includes: extracting all robot state transition times in the path set of the node, merging them to generate a unified time axis, and extracting the minimum time interval in sequence; for each time interval, traversing all robot pairs, analyzing the positional relationship of their path segments in the current time interval, and determining whether a conflict has occurred. The new child node creation module is used to generate corresponding constraint terms for the conflicting robot pair if a conflict is detected, and to create new child nodes based on the constraint terms. The child nodes inherit the constraint set of the parent node and add the newly generated constraints. The replanning module is used for each newly created child node. It calls the underlying path planning algorithm to replan the path for the robot affected by the new constraints, updates the path set and evaluation value, adds the new node to the search tree, and returns to S300 to execute the loop. If no conflict is detected in the selected node, the node is determined to be valid, and its path set is output as the final solution. If no valid solution is found after all nodes have been processed, the problem is determined to be unsolvable.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Single-robot and multi-robot driving path navigation method
CN115507858A
Target point distribution and cooperative path planning method for multiple unmanned vehicles
CN117420838A