Multistage backtracking unmanned aerial vehicle path planning method based on neighborhood expansion algorithm
By introducing a multi-level backtracking strategy based on neighborhood expansion algorithm in the UAV path planning, the problem of inefficient path planning in complex environments is solved, and efficient path planning and flight safety of UAVs in complex environments is realized.
Patent Information
- Application Number
- CN202510282700.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-11
- Publication Date
- 2025-06-13
AI Technical Summary
The path planning efficiency and accuracy of traditional A* algorithms are restricted in complex and changeable environments, especially when there are dead corners, the blind corner backtracking efficiency is inefficient.
A multi-stage backtracking drone path planning method based on neighborhood expansion algorithm is adopted. Through real-time perception of the environment, a blind spot multi-stage backtracking strategy is introduced, the priority of the backtracking path is dynamically adjusted, and a backtracking point is set at key locations to ensure that the drone can quickly escape from the dead spot area.
It significantly improves the efficiency of the path planning of the drone in complex environments, reduces the number of action steps and action time, and ensures flight safety and path optimization.
Smart Images

Figure CN120143845A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of autonomous navigation and environmental perception control of unmanned aerial vehicles, especially real-time path planning and obstacle avoidance technology, and a multi-level backtracking unmanned aerial vehicle path planning method based on a neighborhood expansion algorithm. Background Art
[0002] Regarding the continuous progress and innovation of intelligent unmanned aerial vehicle technology, unmanned aerial vehicles have shown extremely broad application potential in many fields. Especially during the process of unmanned aerial vehicles autonomously executing flight tasks, path planning technology plays a crucial role, which is directly related to whether the unmanned aerial vehicle can safely and efficiently reach the predetermined target position.
[0003] Traditionally, as a classic and effective path search method, the A* algorithm has demonstrated excellent performance and reliability when dealing with simple and static environmental conditions. However, with the continuous expansion of application scenarios, the flight environment faced by unmanned aerial vehicles has become increasingly complex and changeable. Against this background, the traditional A* algorithm has begun to expose its limitations. Especially in complex terrains with dead ends, its efficiency and accuracy are often greatly restricted.
[0004] In view of the above situation, how to specifically improve and optimize the traditional A* algorithm to enhance its path planning ability in complex and changeable environments has become the focus of common concern and a hot topic of research in the current academic and industrial circles. The research in this field not only helps to promote the further development of unmanned aerial vehicle technology but also provides strong technical support and guarantee for the application of unmanned aerial vehicles in more complex scenarios.
[0005] The present invention combines the real-time detection ability of the radar perception system for the environment and proposes a multi-level backtracking unmanned aerial vehicle path planning method based on a neighborhood expansion algorithm. By adopting a multi-level backtracking strategy for dead ends, the unmanned aerial vehicle can quickly and efficiently complete tasks in environments with dead ends, aiming to improve the path planning efficiency of the unmanned aerial vehicle in environments with dead ends and ensure the flight safety of the unmanned aerial vehicle and the optimization of the path.
[0006] The obstacle avoidance method proposed in Patent CN118760207A "An Unmanned Aerial Vehicle Dynamic Obstacle Avoidance Method Based on an Improved A* Algorithm" overly relies on the pre-scanning of the global path, greatly wasting the time for the unmanned aerial vehicle to execute tasks. The introduction of new variables into the A* algorithm results in complex calculations and a slower path update speed.
[0007] The path planning method in Patent CN114779788A "A Path Planning Method for an Improved A* Algorithm" introduces the concept of diagonal neighborhood expansion. Although it has good performance for simple grid maps, it is difficult to achieve good results for U-shaped grid maps and complex grid maps.
[0008] The concept of obstacle rate is introduced in the journal paper "UAV Autonomous Obstacle Avoidance Path Planning Based on Improved A* Algorithm" (hereinafter referred to as "Literature 1"). It can improve the search accuracy in an environment with many obstacles, but it will affect the search efficiency, especially obvious in a complex environment with dead ends. It has good performance in an actual environment with multiple large obstacles, but it is not applicable to a complex terrain with multiple small obstacles. Summary of the Invention
[0009] To solve the problems of long global path planning time, serious waste of computing power, and easy to fall into dead-end areas, the present invention provides a multi-level backtracking UAV path planning method based on the neighborhood expansion algorithm, especially proposes an innovative multi-path backtracking strategy, aiming to solve the problem of low dead-end backtracking efficiency in traditional path planning methods. By multi-dimensionally evaluating the backtracking path and presetting multiple backtracking points, the backtracking process becomes more intelligent and efficient. The core idea of this mechanism is to set backtracking points at key positions according to the current environmental conditions and path characteristics, dynamically adjust the priority of the backtracking path, ensure that the UAV can quickly break away from the dead-end area and maintain the continuity of path planning. At the same time, adopt the strategy of gradually exploring the map around the UAV, exploring and advancing at the same time, use the neighborhood expansion path algorithm to plan the currently considered feasible path, continuously detect obstacles, and continuously plan the path so that the UAV can finally reach the target point.
[0010] To achieve the above object, the present invention adopts the following specific technical solutions to solve:
[0011] S1: Construct a two-dimensional random grid map of the plane environment where the UAV is located, and mark the positions of the starting point and the target point therein;
[0012] S2: When the UAV performs real-time scanning, only consider the current position and its surrounding grid cells, and no longer perform pre-scanning on the global map;
[0013] S3: Use the neighborhood expansion path planning algorithm for the motion decision of the UAV, introduce diagonal motion, and avoid "detours";
[0014] S4: When the UAV falls into a dead end, execute the backtracking strategy and make dynamic adjustments;
[0015] S5: The UAV reaches the target point, backtracks along the parent node chain until the starting point, and forms the optimal path.
[0016] The technical solution features of this method are:
[0017] S1 specifically includes the following steps:
[0018] S11: Create a random binary matrix, where 1 represents a path that the drone can pass through, indicating that this position can be explored by the path planning algorithm, and 0 represents an obstacle, indicating that the drone cannot pass through this position. Set the grid size to an equilateral 1×1, so the matrix size is an equilateral 20×20;
[0019] S12: Expand the matrix to fully display the boundary color. Use the average value of four adjacent elements to define the color of the grid block, and adjust the color mapping to a three-value black-white-gray color scheme, where black represents an obstacle, white represents a passable area, and gray represents a path node;
[0020] S13: Introduce a grid coordinate system, set the lower left corner as the origin, and each grid cell is denoted as X(i,j), where i and j represent the row number and column number of the grid respectively. The row number i increases from left to right, and the column number j increases from bottom to top;
[0021] S14: The drone can rotate its fuselage by 90° during actual mission execution to pass through narrow areas. In this example, it is default that the drone can pass between diagonal obstacles;
[0022] S2 specifically includes the following steps:
[0023] S21: The drone senses the surrounding environment in real time and scans the eight neighboring nodes around the current node N current starting from the starting point. For each neighbor node N neighbor , if it is a passable node, add it to the open list and set the current node N current as its parent node;
[0024] Eight neighboring nodes: The eight surrounding grid cells within the nine-square grid centered on the current node N current ;
[0025] Current node N current : The grid cell where the drone is currently located;
[0026] Neighbor node N neighbor : The surrounding nodes within the 3×3 range centered on the current node;
[0027] Passable node: Not an obstacle and not in the closed list;
[0028] Open list: A set of nodes to be checked;
[0029] Closed list: A set of nodes that have been evaluated and processed;
[0030] S22: Set the current node N currentRemove it from the open list and add it to the closed list;
[0031] S23: Calculate the comprehensive cost of each neighbor node in the open list respectively. The specific formula is as follows:
[0032] F = G + H (1)
[0033] Where: F is the comprehensive cost;
[0034] G is the actual cost from the starting point to the neighbor node. For neighbor nodes in the horizontal or vertical direction of the parent node,
[0035] G = G parent + 1 (2)
[0036] Where: G parent is the actual cost from the starting point to the parent node;
[0037] For neighbor nodes in the diagonal direction of the parent node,
[0038]
[0039] Where: G parent is the actual cost from the starting point to the parent node;
[0040] H is the estimated cost from the neighbor node to the target point, calculated using the Manhattan method. The formula is as follows:
[0041] H = |x neighbor - x goal | + |y neighbor - y goal | (4)
[0042] Where: (x neighbor , y neighbor ) are the coordinates of the neighbor node, and (x goal , y goal ) are the coordinates of the target node;
[0043] S24: Specifically, if all neighbor nodes are non-traversable nodes and the UAV gets stuck in a dead end, then execute step S4;
[0044] S3 specifically includes the following steps:
[0045] S31: Select the neighbor node with the minimum combined cost in the open list as the preselected node. For the strategy of avoiding "detours", if the combined cost of a certain node is the same as that of another node, select the node with a smaller heuristic cost H as the current node. This can reduce unnecessary path deviation and ensure that the path is as close to the target point as possible. This strategy ensures that when the costs are equal, the path closest to the target is preferred, avoiding long paths;
[0046] S32: The UAV moves from the parent node to the preselected node. By changing its cost factor, the UAV is allowed to move diagonally when needed to improve its mobility and quickly avoid obstacles;
[0047] S33: Set the current position of the UAV as the current node;
[0048] S34: Determine whether the node where the current UAV is located is the target point. If it is the target point and the UAV arrives successfully and the task is completed, then execute S5; if it is not the target point, repeat step S2 from the current node;
[0049] S4 specifically includes the following steps:
[0050] S41: Set backtracking points at key path nodes, requiring that the number of candidate directions within the octagon neighborhood of the backtracking point is greater than 2 and less than 5. Add them to the backtrack list and dynamically adjust based on historical backtracking data;
[0051] Backtracking point: It has dynamic adaptability, the number is controlled within 3, and it has fast access to ensure backtracking efficiency;
[0052] Backtrack list (backtracklist): A set used to store backtracking points;
[0053] S42: Automatically adjust the backtracking points based on the obstacle distribution or path correction. Dynamically evaluate the effectiveness of the backtracking points to ensure that the backtracking path is as short and reliable as possible;
[0054] S43: Sort the backtracking points according to the target proximity, path length, and access times, select the backtracking point with the lowest score for backtracking, and automatically select the next alternative backtracking point when the backtracking point is not feasible. The score calculation formula is as follows:
[0055] Score = H + α * distance + β * visit_count (5)
[0056] Where: Score is the score of the candidate backtracking point; H is the estimated cost from the backtracking point to the target point; distance is the Manhattan distance between the candidate backtracking point and the current node; visit_count is the access times of the candidate backtracking point; α is the weight coefficient of the Manhattan distance; β is the weight coefficient of the access times;
[0057] When the access count of a single backtracking point reaches 3 times, this backtracking point is removed from the backtracking list and added to the closed list to prevent entering an infinite loop;
[0058] The Manhattan distance calculation formula is as follows:
[0059] distance = |x now - x backtrack | + |y now - y backtrack | (6)
[0060] where: (x now , y now ) is the coordinate of the current node, and (x backtrack , y backtrack ) is the coordinate of the candidate backtracking point;
[0061] S44: When encountering a dead-end area, the UAV directly backtracks to the backtracking point with the lowest score instead of gradually backing to the parent node, improving the backtracking efficiency;
[0062] S45: After backtracking is completed, the backtracking point is removed from the closed list and the backtracking list, and at the same time added to the open list, and then continue to execute step S2;
[0063] The present invention has the following beneficial effects:
[0064] 1. By introducing the lidar dynamic perception technology and the local scanning mechanism, the present invention replaces the traditional global pre-scanning method, enabling the UAV to perceive the surrounding environment in real time, only plan for the current location and its neighborhood, reducing the calculation scope, significantly reducing the calculation complexity and computing power consumption, and thus improving the path planning efficiency. Due to the adoption of the dynamic perception and local planning method, the present invention can update the path in real time according to the environment, making the path planning suitable for application in complex environments.
[0065] 2. The present invention introduces the eight-neighborhood expansion strategy, adding the diagonal movement ability on the basis of the up, down, left, and right linear movements supported by the traditional A* algorithm, significantly enhancing the mobility of the UAV in complex environments, enabling it to select shorter and more flexible paths to approach the target point. Experimental results show that in complex environments, this method reduces the number of action steps by 60.24% and shortens the action time by 60.53%.
[0066] 3. In view of the defect that the traditional A* algorithm is prone to getting stuck in dead ends in complex environments, the present invention designs a multi-level backtracking strategy. By evaluating path information in multiple dimensions and setting multiple backtracking points, when the drone detects path blockage, it can directly retreat from the dead end area to the backtracking point with the highest priority and re-plan the path, ensuring the continuity and reliability of path planning. Experimental results show that in a U-shaped environment, compared with the traditional A* algorithm, this method reduces the number of action steps by 40.35% and shortens the action time by 70.55%. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] Figure 1 is the overall technical flow chart;
[0068] Figure 2 is the radar scanning schematic diagram of the neighborhood expansion path planning algorithm;
[0069] Figure 3 is the detailed flow chart of the neighborhood expansion path planning algorithm;
[0070] Figure 4 is the roadmap of the basic backtracking mechanism in a U-shaped environment;
[0071] Figure 5 is the roadmap of the multi-level backtracking strategy in a U-shaped environment;
[0072] Figure 6 is the result graph of reproducing the A* algorithm in a U-shaped environment;
[0073] Figure 7 is the result graph of reproducing the algorithm in Document 1 in a U-shaped environment;
[0074] Figure 8 is the result graph of applying the neighborhood expansion path planning algorithm in a U-shaped environment;
[0075] Figure 9 is the experimental graph of the sub-optimal backtracking point in a U-shaped environment;
[0076] Figure 10 is the result graph of reproducing the A* algorithm in a complex environment;
[0077] Figure 11 is the result graph of applying the neighborhood expansion path planning algorithm in a complex environment. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0078] To make the above objects, features, and advantages of the present invention more obvious and understandable, a multi-level backtracking unmanned aerial vehicle path planning method based on a neighborhood expansion algorithm, as Figure 1 shown, includes the following steps:
[0079] S1: Construct a two-dimensional random grid map of the plane environment where the drone is located, determine and mark the positions of the starting point and the target point in it, which specifically includes the following sub-steps:
[0080] S11: Create a random binary matrix, where 1 represents the path that the drone can pass through, indicating that this position can be explored by the path planning algorithm, and 0 represents an obstacle, indicating that the drone cannot pass through this position. Set the grid size to an equilateral 1×1, then the matrix size is an equilateral 20×20;
[0081] S12: Expand the matrix to fully display the boundary color, use the average value of four adjacent elements to define the color of the grid block, and adjust the color mapping to a three-value black-white-gray color scheme, where black represents an obstacle, white represents a passable area, and gray represents a path node;
[0082] S13: Introduce a grid coordinate system, set the lower left corner as the origin, and each grid unit is denoted as X(i,j), where i and j represent the row number and column number of the grid respectively. The row number i increases from left to right, and the column number j increases from bottom to top;
[0083] S14: The drone can rotate its fuselage 90° during actual mission execution to pass through narrow areas, and by default, the drone can pass between diagonal obstacles.
[0084] S2: The drone starts from the starting point and scans the surrounding eight-neighborhood grids in real time. As Figure 2 shown, only consider the passable areas around the current position and do not perform a pre-scan of the global map, which specifically includes the following sub-steps:
[0085] S21: The drone explores the surrounding eight-neighborhood grids of the current node N current , and takes the current node N current as the parent node of the eight-neighborhood nodes. Ignore the obstacle nodes X(i,j)=0 and the nodes in the closed list (closelist), and add the remaining eight-neighborhood nodes as neighbor nodes N neighbor to the open list (openlist);
[0086] S22: Mark the node N current as a visited node and add it to the closed list (closelist);
[0087] S23: Define that within this grid map, the step size for moving one grid unit along the horizontal or vertical direction is 1, and calculate the comprehensive cost of the neighbor nodes N neighbor in the open list one by one. The specific formula is as follows:
[0088] F = G + H (7)
[0089] Among them: F is the comprehensive cost;
[0090] G is the actual cost from the starting point to the neighbor node. For the neighbor nodes in the horizontal or vertical direction of the parent node,
[0091] G=G parent +1 (8)
[0092] Where: G parent is the actual cost from the starting point to the parent node;
[0093] For neighbor nodes in the oblique direction of the parent node, there are
[0094]
[0095] H is the estimated cost from the neighbor node to the target point, calculated using the Manhattan method, and the formula is as follows:
[0096] H=|x neighbor -x goal |+|y neighbor -y goal | (10)
[0097] Where: (x neighbor ,y neighbor ) is the coordinate of the neighbor node, (x goal ,y goal ) are the coordinates of the target node;
[0098] S24: In particular, if all neighboring nodes are not traversable nodes and the drone is trapped in a blind spot, then step S4 is executed;
[0099] S3: The neighborhood expansion path planning algorithm is used to act on the UAV's motion decision, introducing oblique motion to avoid "detours". The process of the neighborhood expansion path planning algorithm is as follows Figure 3 As shown;
[0100] S31: Select the neighbor node n with the minimum comprehensive cost min As a pre-selected node, in particular, when there are neighboring nodes with the same comprehensive cost, the neighboring node with a small heuristic cost is preferably used as the pre-selected node.
[0101] S32: The drone moves from the parent node to the pre-selected node, introducing oblique motion in the path planning process by changing its cost factor. This allows the drone to move obliquely when needed to improve maneuverability and quickly avoid obstacles;
[0102] S33: Set the current location of the drone min is the current node;
[0103] S34: When n minWhen it is the target point, the task is completed, and step S5 is executed. When n min is not the target point, step S2 is repeated.
[0104] S4: If the currently planned path is blocked, that is, when encountering a new obstacle or dead end, perform dynamic adjustment to make the UAV backtrack from the closed list to the nearest passable point and re-plan the path;
[0105] S41: Set backtracking points at the key nodes of the path, requiring that the number of candidate directions within the eight-neighborhood of the backtracking point is greater than 2 and less than 5. Add them to the backtrack list and perform dynamic adjustment based on historical backtracking data;
[0106] Backtracking point: It has dynamic adaptability and the number is controlled within 3 to ensure backtracking efficiency;
[0107] Backtrack list (backtracklist): A set used to store backtracking points;
[0108] S42: Automatically adjust the backtracking points based on the obstacle distribution or path correction. Dynamically evaluate the effectiveness of the backtracking points to ensure that the backtracking path is as short and reliable as possible;
[0109] S43: Sort the backtracking points according to the target proximity, path length, and number of visits, select the backtracking point with the lowest score for backtracking, and automatically select the next alternative backtracking point when the backtracking point is not feasible. The score calculation formula is as follows:
[0110] Score = H + α * distance + β * visit_count (11)
[0111] Where: Score is the score of the candidate backtracking point; H is the estimated cost from the backtracking point to the target point; distance is the Manhattan distance between the candidate backtracking point and the current node; visit_count is the number of visits to the candidate backtracking point; α is the weight coefficient of the Manhattan distance; β is the weight coefficient of the number of visits;
[0112] When the number of visits to a single backtracking point reaches 3 times, remove this backtracking point from the backtrack list and add it to the closed list to prevent entering an infinite loop;
[0113] The Manhattan distance calculation formula is as follows:
[0114] distance = |x now -x backtrack | + |y now -y backtrack | (12)
[0115] Where: (x now ,y now() is the current node coordinate, (x backtrack , y backtrack ) is the candidate backtracking point coordinate;
[0116] S44: When encountering a dead-end area, the UAV directly backtracks to the preset backtracking point instead of gradually retreating to the parent node, improving the backtracking efficiency;
[0117] S45: After backtracking is completed, remove the backtracking point from the closed list and the backtracking list, and at the same time add it to the open list. Add the neighbor nodes in the dead-end direction to the closed list to avoid entering the dead-end area again, and execute S2;
[0118] S5: The UAV reaches the target point and backtracks along the parent node chain until the starting point to form the optimal path.
[0119] The following is a simulation of the U-shaped environment and the complex environment under three methods based on Matlab, and the action step length, scanning range, and action time data are statistically shown in Table 1.
[0120] Table 1 Efficiency comparison of different methods in U-shaped environment and complex environment
[0121]
[0122] 1. Advantage analysis in U-shaped environment
[0123] As Figure 4 shown, using the traditional A* algorithm or the algorithm in Document 1, the UAV will enter the dead-end area 3 times in the U-shaped environment. Each time, it needs to gradually retreat and re-explore the path to get out of the area, resulting in serious waste of time and computing resources. In contrast, with this method, when the UAV first enters the dead-end of the U-shaped environment, it can directly backtrack to the backtracking point preset outside the environment and then continue to execute the task, thus significantly improving the task execution efficiency. The path is as Figure 5 shown.
[0124] In the U-shaped environment, for the UAV path planning using the traditional A* algorithm, the path is as Figure 6 shown, and it takes 57 steps to reach the target. In the external U-shaped environment, because the heuristic function weight ratio is not added, it will cause multiple unnecessary upward movements; using the method in Document 1, the path is as Figure 7 shown, and it takes 44 steps to reach the target. When leaving the U-shaped area, it will choose to retreat to (6, 9) instead of (6, 10) because the diagonal movement after retreating to (6, 9) can reduce the step length by about 0.41; using this method, the path planning is reduced to 33.97 step lengths; the action time is shortened from 11.41 seconds to 3.36 seconds, and the path is as Figure 8As shown in the figure. According to the requirements of S41 and S43, the best backtracking point is (9, 13). Considering that (8, 12) can be regarded as having exited the U-shaped area, through comparative experiments, it is found that if the UAV forcibly backtracks to (8, 12), it will enter the U-shaped area again, increasing the walking step length and time. The effect is as Figure 9 shown. It shows that this method can enable the UAV to reach the target faster during path planning, saving time and computing resources. When encountering a dead-end area, it can react quickly and accurately and exit the dead-end, and can calculate the path more precisely, so as to achieve faster path planning within a smaller scanning range.
[0125] 2. Advantage analysis in complex environments
[0126] In a complex environment, using the traditional A* algorithm, the UAV path planning requires 72 steps, as Figure 10 shown. Using this method, the path planning is reduced to about 29 steps, reducing by about 43 steps, significantly reducing the number of action steps. The path is as Figure 11 shown. This shows that by adding diagonal movement, not only can obstacles be avoided, but also the path planning strategy can be used more effectively, reducing unnecessary detours and greatly improving the efficiency of path planning.
[0127] 3. Comprehensive analysis
[0128] The experimental results show that the neighborhood expansion path planning algorithm of the present invention has significant advantages in terms of path planning efficiency and environmental adaptability. In U-shaped and complex environments, this method can significantly reduce the number of action steps of the UAV, reducing by 40.35% and 60.24% respectively, optimizing the accuracy and execution efficiency of path planning; the scanning range is slightly reduced, effectively retaining the necessary environmental perception information, and significantly reducing the computational redundancy; the action time is greatly shortened, shortening by 70.55% and 60.53% respectively in U-shaped and complex environments, showing higher real-time performance and target arrival speed. This method performs particularly well in an environment with a dead-end area, further proving the innovation and application value of the present invention in UAV path planning.
[0129] The above-mentioned specific implementation solutions further illustrate the invention purpose, technical solutions and beneficial effects of the present invention. The above embodiments are only used to illustrate the technical solutions of the present invention, rather than limiting the protection scope of the present invention. Those of ordinary skill in the art should understand that any modification and equivalent replacement of the technical solutions of the present invention are included in the protection scope of the present invention.
Claims
1. A multi-level backtracking UAV path planning method based on neighborhood expansion algorithm, characterized in that: The following steps are involved: S1: Construct a two-dimensional random grid map of the plane environment where the drone is located, and mark the positions of the starting point and the target point; S11: Create a random binary matrix, where 1 represents a path that the drone can pass through, indicating that the location can be explored by the path planning algorithm, and 0 represents an obstacle, indicating that the drone cannot pass through the location. Set the grid size to equilateral 1×1, and the matrix size is equilateral 20×20; S12: Expand the matrix to fully display the boundary color, use the average of the four adjacent elements to define the color of the grid block, and adjust the color mapping to a three-value black, white and gray color scheme, where black represents obstacles, white represents traversable areas, and gray represents path nodes; S13: Introduce a grid coordinate system, set the lower left corner as the origin, and record each grid unit as X(i,j), where i and j represent the row and column numbers of the grid respectively, the row number i increases from left to right, and the column number j increases from bottom to top; S14: The drone can rotate 90° during actual missions to pass through narrow areas. By default, the drone can pass between oblique obstacles. S2: When the drone scans in real time, it only considers the grid cells at the current location and its surroundings, and no longer pre-scans the global map; S21: The drone perceives the environment around the current location in real time and scans the current node N from the starting point current The eight neighboring nodes around, for each neighbor node N neighbor If it is a traversable node, add it to the open list and set the current node N current is its parent node; S22: Set the current node N current Remove it from the open list and add it to the closed list; S23: Calculate the comprehensive cost of each neighbor node in the open list, define horizontal or vertical movement as 1 grid each time, and diagonal movement as Each step is one grid, and the formula is as follows: F=G+H (1) Among them: F is the comprehensive cost; G is the actual cost from the starting point to the neighboring node; H is the estimated cost from the neighboring node to the target point; S24: In particular, if all neighboring nodes are not traversable nodes, it is determined that the drone is trapped in a blind spot, and step S44 is executed; S3: Adopt the neighborhood expansion path planning algorithm to act on the UAV's motion decision, introduce oblique motion, and avoid "detours"; S31: Select the neighbor node with the smallest comprehensive cost in the open list as the current node to avoid "detours". If the comprehensive cost of a node is the same as that of another node, select the node with the smaller heuristic cost H as the pre-selected node; S32: The drone moves from the parent node to the pre-selected node, and the oblique motion is introduced in the path planning process by changing its cost factor; S33: Set the location of the drone as the current node; S34: Determine whether the current node is the target point. If it is the target point, the UAV arrives successfully and the mission is completed, then execute S5; if it is not the target point, repeat step S2 from the current node; S4: When the drone falls into a blind spot, it executes the backtracking strategy and makes dynamic adjustments; S41: setting a backtracking point at a key node of the path, requiring that the candidate directions in the eight neighborhoods of the backtracking point are greater than 2 and less than 5, adding the backtracking point to a backtracking list and dynamically adjusting it based on historical backtracking data; S42: Automatically adjust the backtracking point based on obstacle distribution or path correction, dynamically evaluate the effectiveness of the backtracking point, and ensure that the backtracking path is as short and reliable as possible; S43: Sort the backtracking points according to the target proximity, path length, and number of visits, select the backtracking point with the lowest score for backtracking, and automatically select the next candidate backtracking point when the backtracking point is not feasible. The score calculation formula is as follows: Score=H+α* distance+β* visit_count (2) Where: Score is the score of the candidate backtracking point; H is the estimated cost from the backtracking point to the target point; distance is the Manhattan distance between the candidate backtracking point and the current node; visit_count is the number of visits to the candidate backtracking point; α is the weight coefficient of the Manhattan distance; β is the weight coefficient of the number of visits; The Manhattan distance calculation formula is as follows: distance=|x now -x backtrack |+|and now -and backtrack | (3) Where: (x now ,y now ) is the current node coordinate, (x backtrack ,y backtrack ) are candidate backtracking point coordinates; S44: When encountering a blind spot, the drone directly backtracks to the preset backtracking point instead of gradually backtracking to the parent node, improving the backtracking efficiency; S45: After the backtracking is completed, continue to execute step S2; S5: The drone reaches the target point and traces back along the parent node chain to the starting point to form the optimal path.
Citation Information
Cited By
Autonomous navigation and obstacle avoidance system of fire-fighting robot
CN120949764A
An autonomous navigation and obstacle avoidance system for a fire-fighting robot
CN120949764B