Robot global path planning method and system based on improved BugFlood algorithm

By introducing key points and morphological expansion processing into the BugFlood algorithm, the problem of waste of computing resources and unoptimized path planning time in complex environments is solved, and more efficient path planning and safer and more effective paths are achieved.

CN120066035APending Publication Date: 2025-05-30SHANDONG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510205327.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-24
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In an environment with a large number of obstacles, the existing BugFlood algorithm is prone to multiple loop iteration calculations and repeated redundant state transition condition detection, resulting in wasted computing resources and unoptimized path planning time. At the same time, the actual volume of the robot is not considered, resulting in reduced path effectiveness.

Method used

The concept of key points is introduced, and the obstacles are morphologically expanded, the key point information of the obstacles is extracted, the redundant state transfer condition detection is avoided, the path planning efficiency is improved, and the robot volume is considered, so that the path safety and effectiveness are ensured through expansion processing.

Benefits of technology

By extracting key point information of obstacles, the repeated redundant detection process is reduced, the efficiency and speed of path planning is improved, the planning time is shortened, and the effectiveness and safety of paths are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066035A_ABST
    Figure CN120066035A_ABST
Patent Text Reader

Abstract

The invention discloses a robot global path planning method and system based on an improved BugFlood algorithm. The method comprises the steps that parameters are initialized, and map information is loaded; performing morphological expansion processing on an obstacle area in the map image, and extracting key point information of each obstacle; whether the current planned path of the robot collides with an obstacle on a map or not is judged, and if yes, two alternative paths are formed in two opposite directions from a collision point; one path with a short path is selected to be inserted into the current path, and the other alternative path is stored or abandoned; continuously judging whether the current planned path of the robot collides with the obstacle on the map or not; if not, another alternative path which is not explored is selected as the current planning path until all alternative paths are explored; and trimming all the feasible paths, and outputting the shortest path. According to the method, the planned path can be more efficiently obtained, and the planning speed is greatly increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot path planning, and particularly to a robot global path planning method and system based on an improved BugFlood algorithm. Background Art

[0002] The statements in this part only provide background technical information related to the present invention, and do not necessarily constitute prior art.

[0003] Path planning technology is an important field in robot navigation research, with a wide range of application scenarios, such as autonomous driving of unmanned vehicles, search and rescue in unknown environments, etc. Its main task is to enable the robot to quickly pass through an environment full of obstacles and reach the set target point along the shortest possible path. Therefore, planning speed and path optimality are two core issues that need to be optimized in path planning. To solve these two problems, a large number of researchers have proposed different planning algorithms for different scenarios, such as: RRT (Rapidly-exploring Random Trees), RRT*, A*, and Bug algorithms; it should be noted that these algorithms are all relatively conventional path planning algorithms.

[0004] The Bug algorithm is widely used in environments with dense obstacles due to its simple principle and easy implementation. However, for environments with some specific-shaped obstacles, the Bug algorithm will fall into a loop and cannot obtain a feasible path. To address this issue, a large number of improved Bug algorithms have avoided this dead-loop situation by designing different state transition conditions. However, most of these algorithms are used for local path planning, and the spatial exploration rate is not high, and they cannot guarantee path optimality. The BugFlood algorithm can explore all feasible spaces by splitting virtual robots, can handle global path planning tasks, and effectively reduces the possibility of generating sub-optimal paths. However, the existing BugFlood algorithm still has the following deficiencies:

[0005] (1) For an environment with a large number of obstacles and complex obstacles, applying the BugFlood algorithm will face multiple loop iterations due to path splitting, including the calculation of each path to be explored in the straight-line stage, the calculation of each path to be explored in the detour stage, and the calculation of the final backtracking path stage, etc. At the same time, various collision detections and state transition condition detections will also occur during this process. The computing resources consumed by both will become increasingly huge as the number and complexity of obstacles increase, which is not conducive to the optimality of path planning in terms of time.

[0006] (2) The BugFlood algorithm regards the robot as a particle and does not consider its actual volume, resulting in a significant reduction in the effectiveness of the final path. Summary of the Invention

[0007] To solve the above problems, the present invention proposes a robot global path planning method and system based on an improved BugFlood algorithm. By introducing the concept of key points, it avoids the repetitive and redundant state transition condition detection process, can obtain the planned path more efficiently, and greatly speeds up the planning speed.

[0008] In some embodiments, the following technical solutions are adopted:

[0009] A robot global path planning method based on an improved BugFlood algorithm, comprising:

[0010] Initialize the robot structure, the starting point and the target point position information, and load the map information of the robot working environment;

[0011] Perform morphological dilation processing on the obstacle areas in the map image, and extract the key point information of each obstacle;

[0012] Starting from the starting point, determine whether the currently planned path of the robot collides with the obstacles on the map:

[0013] If so, starting from the collision point, sequentially obtain the edge points in two opposite directions until the nearest key point is found, forming two alternative paths; select the shorter one of the paths and insert it into the current path, and save or discard the other alternative path; continue to determine whether the currently planned path of the robot collides with the obstacles on the map;

[0014] If not, select another unexplored alternative path as the current planned path until all alternative paths are explored;

[0015] Perform pruning processing on all feasible paths and output the shortest path.

[0016] As an optional solution, performing morphological dilation processing on the obstacle areas in the map image specifically includes:

[0017] Expand the areas representing obstacles in the map image outward with a set dilation width, and the dilation width is specifically:

[0018]

[0019] Wherein, W and L respectively represent the width and length of the robot, C represents a positive constant, and is a set value.

[0020] As an optional solution, extracting the key point information of each obstacle, and the key points are the two end points located at the head and tail positions among the obstacle edge nodes that meet the line-of-sight wireless transmission conditions.

[0021] The method for determining whether an edge node of an obstacle meets the line-of-sight wireless transmission condition is as follows: Connect the edge node to the target point, and determine whether there is an intersection between the connecting line segment and the obstacle corresponding to the edge node. If there is no intersection, the edge node meets the line-of-sight wireless transmission condition; if there is an intersection, the edge node does not meet the line-of-sight wireless transmission condition.

[0022] As an optional solution, to determine whether the currently planned path of the robot collides with the obstacles on the map, the specific process is as follows: Connect the last node of the currently planned path to the target point, and detect whether there is an intersection between the connecting line segment and any obstacle. If there is an intersection, it means that the robot will collide with this obstacle, and record the collision point; otherwise, there is no collision.

[0023] As an optional solution, select one of the paths with a shorter length and insert it into the current path, and save or discard the other alternative path. Specifically: If the next obstacles of these two alternative paths are the same, discard the other alternative path; otherwise, retain the other alternative path.

[0024] As an optional solution, perform pruning processing on all feasible paths. Specifically:

[0025] Traverse each node and connect this node to other nodes. If the connected line segment does not intersect any obstacle, it means that the other nodes between these two nodes on this path are redundant nodes, and directly delete the redundant nodes;

[0026] Perform the above operations on all nodes on all feasible paths.

[0027] In some other embodiments, the following technical solutions are adopted:

[0028] A robot global path planning system based on an improved BugFlood algorithm, including:

[0029] An initialization module, used to initialize the robot structure, the starting point and the target point position information, and load the map information of the robot working environment;

[0030] A key point extraction module, used to perform morphological dilation processing on the obstacle areas in the map image and extract the key point information of each obstacle;

[0031] A path exploration module, used to start from the starting point and determine whether the currently planned path of the robot collides with the obstacles on the map:

[0032] If so, starting from the collision point, edge points are sequentially obtained in two opposite directions until the nearest key point is found, forming two alternative paths; select the shorter path and insert it into the current path; continue to determine whether the currently planned path of the robot collides with obstacles on the map;

[0033] If not, select another unexplored alternative path as the currently planned path until all alternative paths are explored;

[0034] A path pruning module is used to prune all feasible paths and output the shortest path.

[0035] In some other embodiments, the following technical solutions are adopted:

[0036] A terminal device includes a processor and a memory. The processor is used to implement instructions; the memory is used to store multiple instructions, and the instructions are suitable for being loaded and executed by the processor to perform the above-mentioned robot global path planning method based on the improved BugFlood algorithm.

[0037] In some other embodiments, the following technical solutions are adopted:

[0038] A computer-readable storage medium stores multiple instructions, and the instructions are suitable for being loaded and executed by the processor of the terminal device to perform the above-mentioned robot global path planning method based on the improved BugFlood algorithm.

[0039] Compared with the prior art, the beneficial effects of the present invention are:

[0040] (1) The method of the present invention introduces key points of obstacles, extracts the key point information of obstacles before formal planning, and can directly skip the repeated collision detection process in the planning process, obtain the planning path more efficiently, and greatly reduce the planning time.

[0041] (2) Aiming at the problem of a sharp increase in the amount of calculation caused by path splitting, the method of the present invention judges whether another alternative path is retained or deleted according to whether the next obstacle to be collided is the same for the two alternative paths formed by the same obstacle; this greatly reduces the number of effective alternative paths retained, thereby reducing the amount of calculation and accelerating the planning speed.

[0042] (3) The method of the present invention no longer considers the robot as a particle, but an object with a certain real volume. By performing morphological dilation processing on the map, the safety distance between the robot's planned path and obstacles is increased, which is sufficient to accommodate the volume of the robot itself, and the effectiveness of the final planned path is strengthened.

[0043] Other features and advantages of the present invention will be given in part in the following description, become apparent in part from the following description, or be learned through the practice of the present aspect. Description of the Drawings

[0044] Figure 1 It is a flowchart of a robot global path planning method based on an improved BugFlood algorithm in an embodiment of the present invention;

[0045] Figures 2(a)-(c) are respectively schematic diagrams of dilation operation and key point extraction, planning all feasible paths, and cropping operation in an embodiment of the present invention;

[0046] Figures 3(a) and 3(b) are respectively schematic diagrams of the effects without morphological dilation and with morphological dilation under ordinary terrain in an embodiment of the present invention;

[0047] Figures 4(a) and 4(b) are respectively schematic diagrams of the effects without morphological dilation and with morphological dilation under narrow terrain in an embodiment of the present invention;

[0048] Figure 5 It is a schematic diagram of the obstacle key point extraction operation in an embodiment of the present invention;

[0049] Figure 6 It is a comparison chart of the planned path results of different algorithms. Detailed Embodiment

[0050] It should be noted that the following detailed description is illustrative and is intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used in the present invention have the same meaning as commonly understood by those of ordinary skill in the technical field to which the present application belongs.

[0051] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.

[0052] Embodiment 1

[0053] Based on the problem of a sharp increase in computational complexity due to an increase in the number of obstacles in the prior art, in one or more embodiments, a robot global path planning method based on an improved BugFlood algorithm is disclosed, combined with Figure 1 , and the specific process is as follows:

[0054] S101: Initialize the position information of the robot structure, the starting point Start, and the target point Target, and load the map information of the robot's working environment.

[0055] In this embodiment, the working environment of the robot is modeled in Matlab software, where white represents the feasible area of the robot and black represents obstacles, that is, the areas where the robot cannot pass. During the robot's movement, the obstacles are in a static state and have a fixed size.

[0056] S102: Perform morphological dilation processing on the obstacle areas in the map image, and extract the key point information of each obstacle.

[0057] Since the existing methods consider the robot as a point mass, this may damage the safety of the planned path. Therefore, in this embodiment, morphological dilation processing in image processing technology is applied to the map to ensure the safety of the robot.

[0058] The dilation processing can expand the areas representing obstacles in the map image outward with a certain dilation width, ensuring that the robot can plan an effective path that is not too close to the obstacles, as shown in Figures 3(a) and 3(b); moreover, this operation also avoids the situation where the robot enters a narrow passage during exploration, resulting in insecurity, as shown in Figures 4(a) and 4(b).

[0059] In this embodiment, the calculation formula for the dilation width is:

[0060]

[0061] where W and L respectively represent the width and length of the robot, and C represents a set normal constant.

[0062] Then, extract the key point information of each obstacle in the map; the key points of the obstacle refer to the two end points located at the head and tail positions among the points on the obstacle edge nodes that meet the Line-of-Sight (LOS) condition, as Figure 5 shown.

[0063] Two key points can be extracted for each obstacle, which is used to quickly obtain a feasible local path and avoid a large number of repeated collision detection processes.

[0064] Whether a certain edge node of a specific obstacle meets the LOS condition needs to complete the following determination: Connect this node to the target point, and detect whether the connecting line segment intersects with the area of this specific obstacle. If there is no intersection, it indicates that this node meets the LOS condition; otherwise, it does not meet the LOS condition.

[0065] It should be noted that when determining whether a node of an obstacle meets the LOS condition, only the intersection of the obstacle and the generated line segment is concerned, and the existence of other obstacles is not considered. If the current obstacle does not intersect the generated line segment, the point meets the LOS condition.

[0066] For an obstacle, its key point is actually the state transition condition for judging whether the robot has avoided this obstacle at this time. That is to say, when the robot reaches the key point, the robot can continue to move towards the target point; therefore, the key point can be used as the critical condition for the robot to avoid this obstacle, which can avoid the repeated collision detection process and improve the path planning efficiency.

[0067] The morphological dilation processing and key point extraction operations of this embodiment are both applied before the formal path planning and are preprocessing steps. The usage effect is shown in Fig. 2(a), where the gray area surrounding the obstacle represents the dilated area, and the yellow dots represent the extracted key points.

[0068] S103: Starting from the starting point, judge whether the currently planned path of the robot collides with the obstacles on the map.

[0069] Specifically, judging whether the currently planned path collides with the obstacles on the map, the judgment process is similar to the judgment of the LOS condition: connect the last node of the currently planned path with the target point, and directly detect whether there is an intersection between the generated line segment and any obstacle on the image. If there is an intersection, it means that the robot will collide with this obstacle and record the collision point Hit-Point at the same time. Otherwise, there is no collision.

[0070] It should be noted that under the initial conditions, there is only one unexplored path, and this path is only composed of the starting point Start. At this time, connect the starting point and the target point, and judge whether there is an intersection between the connecting line segment and any obstacle on the image, so as to judge whether a collision occurs.

[0071] ① If a collision occurs, starting from the collision point Hit-Point, sequentially obtain the edge nodes of the obstacle in a certain direction until the nearest key point of the obstacle is found, and form an alternative path from Hit-Point to the key point. And starting from Hit-Point, two alternative paths can be obtained in two opposite directions.

[0072] Insert the shorter one of the two alternative paths directly into the current path to achieve the effect of obstacle avoidance. Whether to save the other path depends on whether the next colliding obstacle of the two paths is the same, that is, the above-mentioned method of collision detection is used for the two alternative paths respectively, that is, a line is connected between the key point and the target point, and it is judged whether the obstacle where the connecting line segment first intersects on the image is the same obstacle. If it is the same obstacle, it means that the subsequent exploration paths will highly coincide, and this path will not be saved, such as the blue and orange paths in Figure 2(b); otherwise, save this alternative path and process it in the subsequent process, such as the green dotted path in Figure 2(b).

[0073] ②If there is no collision, it means that this path is already a feasible path. Then it is judged whether all alternative paths have been explored. If there are still unexplored alternative paths, select one of the unexplored alternative paths as the current path to be planned, and repeat the above process until all alternative paths have been explored.

[0074] S104: Prune all feasible paths and output the shortest path.

[0075] For pruning operations on all feasible paths, each node needs to be traversed and tried to be connected to other nodes. If the connected line segment does not intersect any obstacle, it means that the other nodes between these two nodes on this path are redundant nodes, and these nodes are directly deleted. The above operations are performed on all nodes on all feasible routes. The pruned feasible paths are shown as the orange and green paths in Figure 2(c). Finally, compare the lengths of all feasible paths after pruning, and select the shortest one as the final optimized path.

[0076] Figure 6 The schematic diagrams of the running results of different optimization algorithms are given. It can be seen that compared with other algorithms, the method of this embodiment plans an optimal path on the premise of ensuring safety.

[0077] Table 1 and Table 2 respectively give the comparison of the path lengths (m) and planning times (ms) of different algorithms on a 500m * 500m map under different numbers of obstacles.

[0078] Table 1 Comparison of path lengths (m)

[0079] Number of obstacles RRT RRT* A* BugFlood Proposed method 10 471 304 305 294 393 20 477 312 309 302 301 50 492 319 317 307 306 100 493 324 317 309 313

[0080] Table 2 Comparison of planning times (ms)

[0081] Number of obstacles RRT RRT* A* BugFlood Proposed method 10 155.1 253.9 50146.6 44.9 14.2 20 121.5 390.7 56408.7 95.8 20.3 50 149.1 336.2 14727.6 187.0 28.5 100 146.6 427.3 44342.9 478.4 44.4

[0082] As can be seen from the tabular data, the planned speed of the method proposed in this embodiment is at least 2.1 times faster than that of the conventional BugFlood, and as the number of obstacles increases, this performance improvement becomes more obvious. Moreover, considering the volume of the robot will result in a longer planned path. However, compared with the conventional BugFlood, the planned path of the method in this embodiment is almost the same, and even better in some scenarios.

[0083] Embodiment 2

[0084] In one or more embodiments, a robot global path planning system based on an improved BugFlood algorithm is disclosed, specifically including:

[0085] An initialization module, used to initialize the robot structure, the starting point and the target point position information, and load the map information of the robot working environment;

[0086] A key point extraction module, used to perform morphological dilation processing on the obstacle area in the map image and extract the key point information of each obstacle;

[0087] A path exploration module, used to start from the starting point and determine whether the currently planned path of the robot collides with the obstacles on the map:

[0088] If so, starting from the collision point, obtain edge points in two opposite directions in turn until the nearest key point is found, forming two alternative paths; select the shorter path and insert it into the current path; continue to determine whether the currently planned path of the robot collides with the obstacles on the map;

[0089] If not, select another unexplored alternative path as the current planned path until all alternative paths are explored;

[0090] A path pruning module, used to prune all feasible paths and output the shortest path.

[0091] It should be noted that the specific implementation methods of the above modules are the same as those in Embodiment 1 and will not be elaborated here.

[0092] Embodiment 3

[0093] In one or more embodiments, a terminal device is disclosed, which includes a processor and a memory. The processor is used to implement instructions; the memory is used to store multiple instructions, and the instructions are suitable for being loaded and executed by the processor to perform the robot global path planning method based on the improved BugFlood algorithm described in Embodiment 1.

[0094] It should be understood that in this embodiment, the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0095] The memory may include a read-only memory and a random access memory, and provide instructions and data to the processor. A part of the memory may also include a non-volatile random access memory. For example, the memory may also store information about the device type.

[0096] In the implementation process, each step of the above method may be completed by the integrated logic circuit in the hardware of the processor or the instructions in the form of software.

[0097] Embodiment 4

[0098] In one or more embodiments, a computer-readable storage medium is disclosed, in which multiple instructions are stored, and the instructions are adapted to be loaded and executed by the processor of the terminal device to perform the robot global path planning method based on the improved BugFlood algorithm described in Embodiment 1.

[0099] Although the specific embodiments of the present invention have been described above in conjunction with the accompanying drawings, it is not a limitation on the protection scope of the present invention. Those skilled in the art should understand that on the basis of the technical solution of the present invention, various modifications or deformations that can be made by those skilled in the art without creative labor are still within the protection scope of the present invention.

Claims

1. A robot global path planning method based on an improved BugFlood algorithm, characterized in that: include: Initialize the robot structure, starting point and target point position information, and load the map information of the robot's working environment; Perform morphological dilation processing on the obstacle area in the map image to extract the key point information of each obstacle; Starting from the starting point, determine whether the robot's current planned path collides with obstacles on the map: If yes, then starting from the collision point, edge points are acquired in two opposite directions in turn until the nearest key point is found, forming two alternative paths; the shorter path is selected and inserted into the current path, and the other alternative path is saved or discarded; and the robot's current planned path is continued to be judged whether it collides with obstacles on the map; If not, select another unexplored alternative path as the current planned path until all alternative paths are explored; Prune all feasible paths and output the shortest path.

2. A robot global path planning method based on an improved BugFlood algorithm as claimed in claim 1, characterized in that: The obstacle area in the map image is subjected to morphological dilation processing, specifically: The area representing obstacles in the map image is expanded outward by a set expansion width, wherein the expansion width is specifically: Where W and L represent the width and length of the robot respectively, and C represents a positive constant, which is the set value.

3. A robot global path planning method based on an improved BugFlood algorithm as claimed in claim 1, characterized in that: The key point information of each obstacle is extracted, where the key points are two endpoints located at the head and tail positions of the obstacle edge nodes that meet the line-of-sight wireless transmission condition.

4. A robot global path planning method based on an improved BugFlood algorithm as claimed in claim 3, characterized in that: The method for determining whether a certain edge node of an obstacle meets the line-of-sight wireless transmission condition is as follows: connecting the edge node and the target point, determining whether there is an intersection between the connecting line segment and the obstacle corresponding to the edge node; if there is no intersection, the edge node meets the line-of-sight wireless transmission condition; if there is an intersection, the edge node does not meet the line-of-sight wireless transmission condition.

5. A robot global path planning method based on an improved BugFlood algorithm as claimed in claim 1, characterized in that: Determine whether the robot's currently planned path collides with an obstacle on the map. The specific process is: connect the last node of the currently planned path with the target point, and check whether the connecting line segment intersects with any obstacle. If there is an intersection, it means that the robot will collide with this obstacle and record the collision point; otherwise, there is no collision.

6. A robot global path planning method based on an improved BugFlood algorithm as claimed in claim 1, characterized in that: The shorter path is selected and inserted into the current path, and the other alternative path is saved or discarded. Specifically, if the next obstacle of the two alternative paths is the same, the other alternative path is discarded; otherwise, the other alternative path is retained.

7. A robot global path planning method based on an improved BugFlood algorithm as claimed in claim 1, characterized in that: All feasible paths are pruned as follows: Traverse each node and connect it to other nodes. If the connected line segment does not intersect with any obstacles, it means that the other nodes between the two nodes on the path are redundant nodes. Delete the redundant nodes directly. Repeat the above operation for all nodes on all feasible paths.

8. A robot global path planning system based on an improved BugFlood algorithm, characterized in that: include: Initialization module, used to initialize the robot structure, starting point and target point position information, and load the map information of the robot's working environment; The key point extraction module is used to perform morphological dilation processing on the obstacle area in the map image and extract the key point information of each obstacle; The path exploration module is used to determine whether the robot's current planned path collides with obstacles on the map, starting from the starting point: If yes, then starting from the collision point, edge points are acquired in two opposite directions in turn until the nearest key point is found, forming two alternative paths; the shorter path is selected and inserted into the current path; and the robot's current planned path is further judged to see whether it collides with obstacles on the map; If not, select another unexplored alternative path as the current planned path until all alternative paths are explored; The path pruning module is used to prune all feasible paths and output the shortest path.

9. A terminal device, comprising a processor and a memory, wherein the processor is used to implement instructions; and the memory is used to store multiple instructions, characterized in that: The instructions are suitable for being loaded by a processor and executing the robot global path planning method based on the improved BugFlood algorithm as described in any one of claims 1-7.

10. A computer-readable storage medium storing a plurality of instructions, characterized in that: The instructions are suitable for being loaded by a processor of a terminal device and executing the robot global path planning method based on the improved BugFlood algorithm as described in any one of claims 1-7.