A multi-robot pursuit-evasion obstacle avoidance method based on A-star search and CBS algorithm
By combining A-Star Search and CBS algorithm, and utilizing Thiessen polygons to divide space and plan paths, the problems of high training cost and poor environmental adaptability in multi-robot pursuit and obstacle avoidance methods are solved, achieving efficient pursuit and obstacle avoidance effects.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUN YAT SEN UNIV
- Filing Date
- 2023-12-06
- Publication Date
- 2026-08-04
AI Technical Summary
Existing multi-robot obstacle avoidance methods rely on training with a large number of samples, resulting in high training costs and difficulty in implementation under limited resources. Furthermore, existing methods are inadequate for matching problems in complex environments.
By combining A-Star Search and CBS algorithms, the space is divided using Thiessen polygons to generate a safe map and plan the pursuit path. The A-Star Search and CBS algorithms are combined to resolve conflicts and generate the robot's pursuit path.
It reduces training costs, improves pursuit success rate and obstacle avoidance performance, adapts to various types of obstacles, and reduces the problem of mismatch between simulation environment and reality.
Smart Images

Figure CN117516578B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot collaboration, and in particular to a multi-robot obstacle avoidance method based on A* search and CBS algorithm. Background Technology
[0002] With the rapid development of artificial intelligence technology, robots are being applied in an increasing number of fields. In practical applications such as rescue, exploration, reconnaissance, and aircraft formation warfare, robots need to cooperate to complete tasks, leading to the multi-robot pursuit problem. Currently, most pursuit algorithms for solving the multi-robot pursuit problem employ reinforcement learning methods. Although reinforcement learning can theoretically be used in unknown environments, its generality also brings the problem of high sample requirements. This means that a large number of samples are needed to train the pursuit strategy, resulting in a significant increase in training costs. Therefore, in practical applications, if resources are limited, these algorithms may be difficult to implement. Summary of the Invention
[0003] In view of this, in order to solve the problem that existing multi-robot obstacle avoidance methods rely on a large number of samples to train the pursuit strategy, making it difficult to complete the planning under limited resources, the present invention proposes a multi-robot obstacle avoidance method based on A* search and CBS algorithm, the method comprising the following steps:
[0004] Initialize the spatial positions of multiple robots and define the pursuer and the escapee;
[0005] Generate random points in space and combine them with the pursuers and the escapees to draw Tyson polygons;
[0006] Based on the aforementioned Thiessen polygons, an accessible area is designed with obstacle avoidance as a condition, resulting in a safe map;
[0007] Based on the security map, a pursuit path is generated by combining the search algorithm and the CBS algorithm;
[0008] The movement of the pursuer is controlled based on the pursuit path.
[0009] In some embodiments, it also includes:
[0010] When the pursuer reaches the designated location, return to the Thiessen polygon drawing step and regenerate the pursuit path.
[0011] This optimized procedure allows for the re-searching of the pursuit route at regular intervals or distances to accommodate the rapid movement of escapees.
[0012] In some embodiments, the step of generating random points in space and combining the pursuer and the escapee to draw a Tyson polygon specifically includes:
[0013] Based on the location of obstacles in space, define barrier-free areas and obstacle areas;
[0014] Sparse random points are generated in the barrier-free area;
[0015] Dense random points are generated in the obstacle area;
[0016] The Tyson polygon is drawn based on the random point, the pursuer, and the escapee.
[0017] This optimization step generates Thiessen polygons with varying density based on random points. The density of the generated random points can be adjusted to control the density of the Thiessen polygons, thereby achieving more precise obstacle avoidance functionality.
[0018] In some embodiments, the step of designing an accessible area based on the Thiessen polygon with obstacle avoidance as a condition to obtain a safe map specifically includes:
[0019] Based on the location of obstacles in space, the obstacles are extended outward by a preset distance to obtain an extended polygon;
[0020] Delete the Thiessen polygons within the extended polygons to obtain the security map.
[0021] This preferred step removes the Tyson polygons generated by random points within the outer polygon, providing the robot with a safe obstacle avoidance zone to accommodate obstacles of various types and shapes, including various convex and concave polygons.
[0022] In some embodiments, the step of generating a pursuit path based on the security map through a combination of a search algorithm and a CBS algorithm specifically includes:
[0023] Based on the security map, an initial path is generated using the A* search algorithm;
[0024] The CBS algorithm is used to determine whether there is a conflict in the initial paths of all pursuers. If there is a conflict, new constraints are established and the A* search algorithm is re-executed until there is no conflict in the initial paths of all pursuers, and the pursuit path is obtained.
[0025] Through this optimization step, a typical heuristic search algorithm is selected as the initial path search; further combined with the CBS algorithm, by considering the conflicts between agents and their individual goals, a set of optimal paths that do not interfere with each other is found.
[0026] In some embodiments, the conflict specifically refers to a situation where, at a certain moment in the initial path planning, the distance between at least two of the pursuers is less than a preset value.
[0027] In some embodiments, the step of generating a pursuit path based on the security map through a combination of a search algorithm and a CBS algorithm specifically includes:
[0028] Based on the security map, an initial path is generated using the A* search algorithm;
[0029] The CBS algorithm is used to determine whether there is a conflict between the next target point of all pursuers in the initial path. If there is a conflict, the conflict is resolved in order of increasing path cost. The A* search algorithm is reapplied to pursuers with high cost until all pursuers have a non-conflicting next target point.
[0030] This optimization process takes into account that the escapee is mobile. Therefore, after each move of the pursuer, the target point for the next move is determined by searching A-Star again, and the CBS senior management judges whether there are any conflicts between the target points of all pursuers.
[0031] Secondly, this invention also proposes a multi-robot obstacle avoidance system based on A-Star Search and CBS algorithm, the system comprising:
[0032] The initialization module is used to initialize the spatial positions of multiple robots and define the pursuer and the escapee.
[0033] The Tyson polygon drawing module is used to generate random points in space and combine the pursuer and the escapee to draw Tyson polygons;
[0034] The safety map construction module, based on the Thiessen polygons, designs reachable areas with obstacle avoidance as a condition, and obtains a safety map;
[0035] The path generation module generates a pursuit path based on the security map by combining a search algorithm and a CBS algorithm.
[0036] The motion control module controls the movement of the pursuer based on the pursuit path.
[0037] Based on the above scheme, this invention provides a multi-robot pursuit and obstacle avoidance method based on A-Star Search and CBS algorithm. By using Thiessen polygons to divide the space and planning the path based on the A-Star Search algorithm, this invention does not rely on large-scale reinforcement learning samples, thus reducing training costs. Furthermore, by combining CBS and A-Star Search, conflicts are resolved cyclically within bounded regions to help the robot design a better pursuit route. Attached Figure Description
[0038] Figure 1 This is a flowchart of the steps of a multi-robot obstacle avoidance method based on A-Star search and CBS algorithm according to the present invention;
[0039] Figure 2This is a schematic diagram illustrating the effect of generating random points in a specific embodiment of the present invention;
[0040] Figure 3 This is a schematic diagram of the Thiessen polygon division for obstacle avoidance in a specific embodiment of the present invention;
[0041] Figure 4 This is a schematic diagram of the path of a pursuer obtained through A-Star search in a specific embodiment of the present invention;
[0042] Figure 5 This is a structural block diagram of a multi-robot obstacle avoidance system based on A-Star search and CBS algorithm according to the present invention. Detailed Implementation
[0043] In addition to the problem mentioned in the background technology that using reinforcement learning for multi-robot pursuit and obstacle avoidance design requires a large number of training samples, resulting in a large resource requirement, there is also the problem that the simulation environment does not match the actual environment, and existing methods are difficult to cope with complex environments.
[0044] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0045] It should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described in this application can be combined with each other.
[0046] It should be understood that the terms "system," "apparatus," "unit," and / or "module" used in this application are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.
[0047] As indicated in this application and claims, unless the context clearly indicates otherwise, the words "a," "an," "a," and / or "the" are not specifically singular and may include the plural. Generally, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements. An element defined by the phrase "comprising an..." does not exclude the presence of other identical elements in the process, method, product, or apparatus that includes the element.
[0048] In the description of the embodiments of this application, "a plurality of" refers to two or more. The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.
[0049] Furthermore, flowcharts are used in this application to illustrate the operations performed by the system according to embodiments of this application. It should be understood that the preceding or following operations are not necessarily performed precisely in sequence. Instead, the steps can be processed in reverse order or simultaneously. Additionally, other operations can be added to these processes, or one or more steps can be removed from them.
[0050] Reference Figure 1 This is a flowchart illustrating an optional example of the multi-robot obstacle avoidance method based on A-Star search and CBS algorithm proposed in this invention. This method can be applied to computer devices, and the imaging method proposed in this embodiment may include, but is not limited to, the following steps:
[0051] Step S1: Initialize the spatial positions of the multiple robots and define the pursuer and the escapee;
[0052] In this step, the spatial positions of multiple robots are initialized, and each robot's spatial position is assigned as known knowledge. During the pursuit, the position information of each robot is updated through real-time communication between the robots, thereby ensuring information sharing and synchronization among the robots and improving pursuit efficiency and coordination.
[0053] Step S2: Generate random points in space and combine them with the pursuer and the escapee to draw a Tyson polygon;
[0054] Step S3: Based on the Thiessen polygon, design an accessible area with obstacle avoidance as a condition to obtain a safe map;
[0055] Step S4: Based on the security map, a pursuit path is generated by combining the search algorithm and the CBS algorithm;
[0056] Step S5: Based on the pursuit path, control the movement of the pursuer.
[0057] Step S6: When the pursuer reaches the designated location, return to the Thiessen polygon drawing step and regenerate the pursuit path.
[0058] In this embodiment, the application of Thiessen polygons eliminates the need for large-scale reinforcement learning training, thereby significantly reducing the number of samples required for learning. This not only reduces training costs but also shortens the development cycle, making the technology easier to apply in real-world scenarios.
[0059] Furthermore, by combining Thiessen polygon control, search algorithms, and CBS, a more precise pursuit strategy is provided for the robot. This means the robot can better respond to changes in the escapee's strategy, improving the success rate of the pursuit. This is particularly important for scenarios that require consideration of the escapee's strategy;
[0060] It can adapt to various types of obstacles, including convex and concave polygons of different shapes. By marking the sub-regions containing obstacles as no-entry zones, the robot can effectively avoid obstacles, improving obstacle avoidance performance and ensuring safety.
[0061] In some feasible embodiments, step S2 specifically includes:
[0062] S2.1 Based on the location of obstacles in space, define the barrier-free area and the obstacle area;
[0063] S2.2 Generate sparse random points in the barrier-free area;
[0064] S2.3, Generate dense random points in the obstacle area;
[0065] Specifically, random points are generated by adjusting parameters in space, and then Thiessen polygons with varying density are generated based on these random points. The density of the Thiessen polygons can be controlled by adjusting the density of the generated random points, achieving more precise obstacle avoidance. Sparse Thiessen polygons are used in obstacle-free areas, while dense Thiessen polygons are used near obstacles, achieving a balance between saving computational resources in the A* search algorithm and accurate obstacle avoidance.
[0066] In this embodiment, the random points are generated using the Student's t-distribution. Compared to the normal distribution, it provides more controllable distribution of random points, allowing for control over the concentration of random points at the distribution center. The distribution center of the random points is the location of the obstacle, meaning the random points are concentrated near the obstacle. Random points are also concentrated near the obstacle boundary, while their distribution is sparser in obstacle-free areas. This map partitioning method allows for higher spatial subdivision around obstacles. By associating areas with higher spatial subdivision with obstacles, the robot can more accurately perceive and avoid obstacles; the sparse distribution of random points in obstacle-free areas allows the robot to move more efficiently in straight lines in open areas. The effect of generating random points is shown in the image below. Figure 2 .
[0067] S2.4 Draw the Tyson polygon based on the random point, the pursuer, and the escapee.
[0068] Note that within a circle centered at the pursuer's coordinates and with a radius of 2r, all random points distributed within this area will be temporarily covered until the pursuer's coordinates move and the covered points leave the robot's circular area, at which point they will be released again. This operation is called "robot expansion 2r".
[0069] In some feasible embodiments, step S3 specifically includes:
[0070] S3.1. Based on the position of the obstacle in space, extend the obstacle outward by a preset distance to obtain the extended polygon;
[0071] S3.2 Delete the Thiessen polygons within the extended polygons to obtain a safe map.
[0072] In this embodiment, an reachable area is designed to avoid potential obstacles, providing a collision-free safe map for the A* search algorithm. Specifically, obstacles are expanded outwards by a radius of r, and Thiessen polygons generated from random points within the expanded polygon are deleted, providing the robot with a safe obstacle avoidance zone. This technique can adapt to various types and shapes of obstacles, including various convex and concave polygons. The sub-regions containing obstacles are marked as no-entry zones using Thiessen polygons and excluded from the A* search algorithm. In this way, the robot can effectively avoid obstacles and will not enter hostile or sensitive areas. The final Thiessen polygon partitioning diagram is shown below. Figure 3 As shown.
[0073] In some feasible embodiments, step S4 specifically includes:
[0074] S4.1. Based on the security map, generate an initial path using the A* search algorithm;
[0075] In this embodiment, the A* search algorithm is used to search for the optimal next feasible point for the pursuer. It can be further replaced with other algorithms such as the D* search algorithm, and the heuristic function can be optimized to achieve more functions such as visualization and obstacle avoidance.
[0076] By using A-star search, we can obtain the path each pursuer takes to reach the escapee, such as... Figure 4 As shown.
[0077] S4.2. Based on the CBS algorithm, determine whether there is a conflict in the initial paths of all pursuers. If there is a conflict, establish new constraints and re-execute the A* search algorithm until there is no conflict in the initial paths of all pursuers, and obtain the pursuit path.
[0078] Conflict-based searching (CBS) based on the A* algorithm is a commonly used technique in path planning, designed to solve path conflict problems in multi-agent systems. The CBS algorithm finds a set of optimal, non-interfering paths by considering the conflicts between agents and their individual goals.
[0079] The basic idea of the CBS algorithm is to first independently compute an initial path for each agent at a low level, then detect conflicts between these paths, and optimize the paths by resolving conflicts at a high level. Conflicts are generally location conflicts (the distance between two pursuers is less than 2r, where r is the safety radius) or time conflicts (the distance between the locations where two agents enter simultaneously is less than 2r). Once a conflict is detected, the CBS algorithm attempts to replan the path to minimize the occurrence of conflicts and find a set of optimal path solutions.
[0080] In some feasible embodiments, step S4 specifically includes:
[0081] S4.1. Based on the security map, generate an initial path using the A* search algorithm;
[0082] S4.2. Based on the CBS algorithm, determine whether there is a conflict between the next target point of all pursuers in the initial path. If there is a conflict, resolve the conflict in order of path cost from small to large. For pursuers with high cost, re-examine the A* search algorithm until all pursuers have a non-conflicting next target point.
[0083] In this embodiment, considering that the runners are moving, the A* algorithm is used to determine the next target point after each move of the pursuer. The CBS higher layer checks whether there are any conflicts between the target points of all pursuers. If there are conflicts, the paths are sorted according to their costs and the conflicts are resolved in order of increasing cost. That is, the lower cost is prioritized, and the target point with the lower cost is placed in the infeasible point of the pursuer with the higher cost. The A* search is performed again for the pursuers with the higher cost until all pursuers have a target point for the next move and there are no conflicts.
[0084] Additionally, here's a brief description of the A* search process:
[0085] (1) The first step is initialization. Initialize the two lists mentioned above (Open list and Closed list) and get a starting node to put into the Open list.
[0086] (2) Then, a specific search is performed, and the best search node (denoted as cur_node) is taken from the priority queue. The best search node is the node with the smallest f, calculated according to Formula 1. Since the open list is a priority queue, it is easy to take out the optimal node.
[0087] (3) If the extracted cur_node is the target, which is the result we want, then the algorithm ends.
[0088] (4) Save cur_node in the closed list. This indicates that we have visited this node.
[0089] (5) Expand all adjacent nodes of cur_node and traverse (adj_node).
[0090] (6) If adj_node already exists in the closed list, it means we have already visited adj_node. Take the next adjacent node and continue (6).
[0091] (7) If the node already exists in the open list, and cur_node is better than the node in the open list, that is, the g of cur_node is less than that node, then calculate the f of cur_node and replace it.
[0092] (8) If cur_node does not exist in the open list, then calculate f of cur_node and insert it into the open list.
[0093] like Figure 5 As shown, a multi-robot obstacle avoidance system based on A* search and CBS algorithm includes:
[0094] Initialize the spatial positions of multiple robots and define the pursuer and the escapee;
[0095] Generate random points in space and combine them with the pursuers and the escapees to draw Tyson polygons;
[0096] Based on the aforementioned Thiessen polygons, an accessible area is designed with obstacle avoidance as a condition, resulting in a safe map;
[0097] Based on the security map, a pursuit path is generated by combining the search algorithm and the CBS algorithm;
[0098] The movement of the pursuer is controlled based on the pursuit path.
[0099] The content of the above method embodiments is applicable to this system embodiment. The specific functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0100] A multi-robot obstacle avoidance device based on A-Star search and CBS algorithm:
[0101] At least one processor;
[0102] At least one memory for storing at least one program;
[0103] When the at least one program is executed by the at least one processor, the at least one processor implements the multi-robot obstacle avoidance method based on A* search and CBS algorithm as described above.
[0104] The content of the above method embodiments is applicable to the device embodiments. The specific functions implemented by the device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0105] A storage medium storing processor-executable instructions, which, when executed by a processor, are used to implement a multi-robot obstacle avoidance method based on A* search and CBS algorithm as described above.
[0106] The content of the above method embodiments is applicable to this storage medium embodiment. The specific functions implemented in this storage medium embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0107] The above is a detailed description of the preferred embodiments of the present invention. However, the present invention is not limited to the embodiments described. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.
Claims
1. A multi-robot obstacle avoidance method based on A* search and CBS algorithm, characterized in that, Includes the following steps: Initialize the spatial positions of multiple robots and define the pursuer and the escapee; Generate random points in space and combine them with the pursuers and the escapees to draw Tyson polygons; Based on the aforementioned Thiessen polygons, an accessible area is designed with obstacle avoidance as a condition, resulting in a safe map; Based on the security map, a pursuit path is generated by combining the search algorithm and the CBS algorithm; Based on the pursuit path, control the movement of the pursuer; The step of generating random points in space and combining them with the pursuer and the escapee to draw the Tyson polygon specifically includes: Based on the location of obstacles in space, define barrier-free areas and obstacle areas; Sparse random points are generated in the barrier-free area; Dense random points are generated in the obstacle area; The Tyson polygon is drawn based on the random point, the pursuer, and the escapee.
2. The multi-robot obstacle avoidance method based on A* search and CBS algorithm according to claim 1, characterized in that, Also includes: When the pursuer reaches the designated location, return to the Thiessen polygon drawing step and regenerate the pursuit path.
3. The multi-robot obstacle avoidance method based on A* search and CBS algorithm according to claim 1, characterized in that, The step of designing an accessible area based on the Thiessen polygons, with obstacle avoidance as a condition, to obtain a safe map specifically includes: Based on the location of obstacles in space, the obstacles are extended outward by a preset distance to obtain an extended polygon; Delete the Thiessen polygons within the extended polygons to obtain the security map.
4. The multi-robot obstacle avoidance method based on A* search and CBS algorithm according to claim 1, characterized in that, The step of generating a pursuit path based on the security map, through a combination of search and CBS algorithms, specifically includes: Based on the security map, an initial path is generated using the A* search algorithm; The CBS algorithm is used to determine whether there is a conflict in the initial paths of all pursuers. If there is a conflict, new constraints are established and the A* search algorithm is re-executed until there is no conflict in the initial paths of all pursuers, and the pursuit path is obtained.
5. The multi-robot obstacle avoidance method based on A* search and CBS algorithm according to claim 4, characterized in that, The conflict specifically refers to the situation where, at a certain moment in the initial path planning, the distance between at least two of the pursuers is less than a preset value.
6. The multi-robot obstacle avoidance method based on A* search and CBS algorithm according to claim 1, characterized in that, The step of generating a pursuit path based on the security map, through a combination of search and CBS algorithms, specifically includes: Based on the security map, an initial path is generated using the A* search algorithm; The CBS algorithm is used to determine whether there is a conflict between the next target point of all pursuers in the initial path. If there is a conflict, the conflict is resolved in order of increasing path cost. The A* search algorithm is reapplied to pursuers with high cost until all pursuers have a non-conflicting next target point.
7. A multi-robot pursuit and obstacle avoidance system, characterized in that, The method for multi-robot obstacle avoidance based on A* search and CBS algorithm as described in claim 1 includes: The initialization module is used to initialize the spatial positions of multiple robots and define the pursuer and the escapee. The Tyson polygon drawing module is used to generate random points in space and combine the pursuer and the escapee to draw Tyson polygons; The safety map construction module, based on the Thiessen polygons, designs reachable areas with obstacle avoidance as a condition, and obtains a safety map; The path generation module generates a pursuit path based on the security map by combining a search algorithm and a CBS algorithm. The motion control module controls the movement of the pursuer based on the pursuit path.