Method for improving A* algorithm path planning based on power graph

By improving the A* algorithm and the Power graph environment model, combined with dynamic weighting and path smoothing optimization, the local minimum and computational complexity problems of the Power graph path planning algorithm in complex environments are solved, and efficient and safe path planning is achieved.

CN120702474APending Publication Date: 2025-09-26ANHUI HUICAI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510905114.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-02
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

The existing Power graph path planning algorithm has local minimum problems and high computational complexity in complex environments, which makes it difficult to meet the requirements of modern intelligent systems for high efficiency and strong real-time performance.

Method used

An improved A* algorithm based on Power graph is adopted to improve the efficiency and safety of path planning by generating a Power graph environment model, using dynamic weight coefficients and adaptive heuristic functions to optimize path search, and combining path smoothing optimization technology.

Benefits of technology

It reduces the risk of collision between robots or vehicles and obstacles, simplifies the path decision-making process, adapts to complex environments, reduces computational complexity, and improves the real-time and adaptability of path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120702474A_ABST
    Figure CN120702474A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of path planning, and discloses a power graph-based improved A * algorithm path planning method, which comprises the following steps of: firstly, generating a power graph environment model: determining all obstacles and target points in an environment, and generating a power graph by using the points; improving A * algorithm path searching; and path smoothing optimization. According to the improved A * algorithm path planning method based on the power graph, the collision risk is reduced, a robot or a vehicle can keep a safe distance from an obstacle by navigating between power polygons, and the collision risk is reduced; the decision-making process is simplified: the Power graph provides a clear structure, so that the path decision-making process is simpler and more visual; the Power graph can adapt to the complex and irregular environment, and can effectively work even in a polygon space with an irregular shape; compared with searching on a dense grid, the Power graph generally has fewer edges and vertexes, which is helpful for reducing the calculation complexity of path planning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of path planning, and in particular to a method for path planning using an improved A* algorithm based on a power graph. Background Art

[0002] With the rapid development of fields such as robotics, autonomous driving, and drones, the application of path planning technology in intelligent systems has become increasingly important. Path planning aims to provide these systems with a safe and efficient driving path in complex and changing environments. Power graph-based path planning algorithms play a key role, especially in complex environments and in improving the efficiency and safety of path planning for mobile robots. Path planning is a core issue in fields such as automation, robotics, and autonomous driving. Against this backdrop, Power graph algorithm technology has emerged, providing new perspectives and methods for path planning.

[0003] In path planning in complex environments, traditional algorithms such as Dijkstra and A* have gradually become unsuitable for the high efficiency and strong real-time requirements of modern intelligent systems due to their high computational burden and poor real-time performance. The Power graph algorithm makes the path planning process more efficient and adaptable by constructing a graph. The Power graph is a weighted Voronoi diagram. Based on the ordinary Voronoi diagram, a weight attribute is introduced for each site and the distance is redefined. This can obtain a regional division result with heterogeneous capacity. By optimizing the weight attribute, accurate capacity limit of the regional division can be achieved. To this end, during the movement of the robot, the Power graph is updated in real time to reflect environmental changes, ensuring the accuracy and real-time performance of path planning.

[0004] Power graph-based path planning algorithms offer advantages such as real-time performance, flexibility, and applicability, making them suitable for a wide range of mobile robots, including ground vehicles, drones, and underwater robots. However, these algorithms also face technical challenges, such as local minima and computational complexity. Despite this, Power graph-based path planning algorithms are significant in improving path planning efficiency, real-time performance, and adaptability, and represent an important research direction in the fields of mobile robotics and autonomous systems.

[0005] Therefore, a method of improving A* algorithm path planning based on power graph is proposed. Summary of the Invention

[0006] Technical problems solved

[0007] In response to the shortcomings of the existing technology, the present invention provides a method for improving the A* algorithm path planning based on the power graph. By navigating between Power polygons, the robot or vehicle can maintain a safe distance from obstacles, reducing the risk of collision. The Power graph provides a clear structure, making the path decision process simpler and more intuitive, and thus solving the above-mentioned problems.

[0008] Technical Solution

[0009] To achieve the above object, the present invention provides the following technical solution: a method for improving A* algorithm path planning based on power graph, comprising the following steps:

[0010] Step 1: First generate the Power diagram environment model:

[0011] Identify all obstacles and target points in the environment and use these points to generate a power map; each obstacle or target point corresponds to a power polygon, and all points within the polygon are closer to the generating point than to any other generating point;

[0012] Step 2: Improve the A* algorithm path search;

[0013] Step 3: Path smoothing optimization.

[0014] Preferably, in step 1: obstacle coordinate set: O = {O1, O2, ..., O m} means that the coordinate point of each obstacle is (x i ,y i ), these coordinates describe the location of the obstacle in the environment;

[0015] Target point coordinates: denoted as G(x g ,y g ), which clarifies the target location of path planning;

[0016] Weight set: W = {w1, w2, ..., wm+1}, where the first m weights correspond to each obstacle and are used to represent attributes such as the degree of danger of the obstacle, and the last weight corresponds to the target point.

[0017] Preferably, in step 1, for any site S i (x i ,y i ,w i ), whose Power unit is defined as Here, ||·|| is calculated using the Euclidean distance. When all weights are equal, the Power diagram degenerates into a Voronoi diagram.

[0018] Preferably, the Power graph generation step in step 1 is:

[0019] 1) Initialize an empty Power graph data structure to build a framework for subsequent data storage and processing;

[0020] 2) For each obstacle and target point, calculate its power polygon boundary according to the above mathematical definition and determine the influence range of each site;

[0021] 3) Merge adjacent power units to form a complete environmental partition, so that the entire environment is reasonably divided;

[0022] 4) Construct the topological structure of the Power graph and record the connection relationship between nodes to facilitate the use of subsequent path search algorithms.

[0023] 5. The method for improving A* algorithm path planning based on power graph according to claim 1 is characterized in that the dynamic weight coefficient in step 2 is ω=a×(1+RC / T), and the adaptive heuristic function h′(n)=w×[h(n)+h(n-1)], wherein a is the adjustment ratio coefficient, C represents the cost from the current node to the target node; T represents the cost from the starting node to the target node; ω represents the dynamic weight of the node; R represents the weight influence coefficient, and the influence coefficient R can flexibly adjust the algorithm's node retrieval speed in the early stage of operation, thereby improving the algorithm's operating efficiency.

[0024] Preferably, the dynamic weight coefficient in step 2 is ω=a×(1+RC / T), and the adaptive heuristic function h′(n)=w×[h(n)+h(n-1)], where a is the adjustment ratio coefficient, C represents the cost from the current node to the target node; T represents the cost from the starting node to the target node; ω represents the dynamic weight of the node; R represents the weight influence coefficient, and the influence coefficient R can flexibly adjust the algorithm's node retrieval speed in the early stage of operation, thereby improving the algorithm's operating efficiency.

[0025] Preferably, the specific steps of improving the A* algorithm path search in step 2 are:

[0026] 1) First, the starting point and the end point are initialized, and the starting point is placed in the OpenList; OpenList is a priority queue that stores the nodes that need to be expanded and sorted by their estimated total cost (f = g + h'), where g is the actual cost from the starting point to the current node, and h' is the corrected heuristic estimate (the estimated distance from the current node to the end point); the heuristic function h'(n) = ω × [h(n) + h(n-1)] is initialized, where h(n) is the estimated distance from the current node to the target node, and h(n-1) is the estimated distance from the previous node to the target node. The dynamic weight ω is adjusted based on the distance from the current node and the starting point to the target node;

[0027] 2) Search loop: The condition for the loop to execute is that OpenList is not empty and the target node has not been found. In each loop, the node with the lowest estimated cost (i.e., the current best node) is taken from OpenList. This node is called current;

[0028] 3) Check the end point: Each time a node is taken from the OpenList, it will first be checked to see if it is the target node. If the current node is the target node, it means that a complete path has been found. Next, a function will be called to rebuild the path. The function will trace back from the target node along the recorded predecessor nodes until it returns to the starting point. The final path will be output;

[0029] 4) Expand neighbor nodes: If the current node is not the target node, the algorithm obtains all neighbor nodes of the current node. These neighbor nodes are valid nodes connected to the current node on the Voronoi diagram. For each neighbor node, the actual cost g from the starting point through the current node to the neighbor node is calculated. If this is a better path (that is, the new g value is smaller than the previously recorded one), then:

[0030] Update the predecessor node of the neighbor node to the current node so that the path can be rebuilt later.

[0031] Use the improved heuristic function to calculate the h' value of the neighbor node,

[0032] Update the f value of the neighbor node and add the neighbor node to the OpenList for subsequent expansion; the search process will continuously take nodes from the OpenList and expand until the target node is found or the OpenList is empty (indicating that no path can be found).

[0033] Preferably, the path smoothing optimization in step 3 is to use a moving average method to smooth the path when processing trajectory data or time series data, and to reduce noise and random fluctuations by moving average, so that the path or sequence is smoother, which specifically includes:

[0034] 1) Determine the window size: Determine an appropriate time window size (i.e., how many data points it contains) that will slide over the data to calculate the moving average. The window size depends on the characteristics of the data and the degree of smoothing required. Larger windows create smoother curves but may hide short-term variations.

[0035] 2) Select the moving average type: Choose between a simple moving average (SMA) or a weighted moving average (WMA) based on the characteristics of the data. If all data points are equally important, use an SMA; if some data points are more important than others, use a WMA.

[0036] 3) Calculate the moving average: For each window, calculate the average (for SMA) or weighted average (for WMA) of the data points in the window; for SMA, add up all the data values ​​in the window and then divide by the window size; for WMA, multiply each data value by its corresponding weight, then add up all the weighted values ​​and finally divide by the sum of all weights;

[0037] 4) Sliding window and repeated calculation: Move the window forward one data point along the data sequence and repeat the process of calculating the moving average until the entire data set is covered;

[0038] 5) Application results: The calculated moving average is used as the smoothed path points; these points can be used to draw a smooth curve, thereby replacing the original, possibly noisy path.

[0039] Compared with the prior art, the present invention provides a method for improving A* algorithm path planning based on power graph, which has the following beneficial effects:

[0040] 1. This improved A* algorithm path planning method based on power graphs reduces collision risks: By navigating between power polygons, the robot or vehicle can maintain a safe distance from obstacles, reducing the risk of collision;

[0041] Simplify the decision-making process: Power diagrams provide a clear structure, making the path decision process simpler and more intuitive.

[0042] 2. The improved A* algorithm path planning method based on power graph can adapt to complex environments: Power graph can adapt to complex and irregular environments and can work effectively even in spaces with irregular polygonal shapes.

[0043] Reduced computational complexity: Compared to searching on a dense grid, Power graphs typically have fewer edges and vertices, which helps reduce the computational complexity of path planning. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 Schematic diagram of the steps of the present invention;

[0045] Figure 2 This is a schematic diagram of the path search based on the power graph of the present invention. DETAILED DESCRIPTION

[0046] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0047] See also Figure 1-Figure 2 ;

[0048] Example:

[0049] A method for improving A* algorithm path planning based on power graph includes the following steps:

[0050] Step 1: First generate the Power diagram environment model:

[0051] Identify all obstacles and target points in the environment and use these points to generate a power map; each obstacle or target point corresponds to a power polygon, and all points within the polygon are closer to the generating point than to any other generating point;

[0052] Obstacle coordinate set: O={O1,O2,...,O m} means that the coordinate point of each obstacle is (x i ,y i ), these coordinates describe the location of the obstacle in the environment;

[0053] Target point coordinates: denoted as G(x g ,y g ), which clarifies the target location of path planning;

[0054] Weight set: W = {w1, w2, ..., wm+1}, where the first m weights correspond to each obstacle and are used to represent the obstacle's dangerousness and other attributes, and the last weight corresponds to the target point;

[0055] For any site S i (x i ,y i ,w i ), whose Power unit is defined as Here, ||·|| is calculated using the Euclidean distance method; when all weights are equal, the Power diagram degenerates into a Voronoi diagram;

[0056] The steps to generate the Power graph are:

[0057] 1) Initialize an empty Power graph data structure to build a framework for subsequent data storage and processing;

[0058] 2) For each obstacle and target point, calculate its power polygon boundary according to the above mathematical definition and determine the influence range of each site;

[0059] 3) Merge adjacent power units to form a complete environmental partition, so that the entire environment is reasonably divided;

[0060] 4) Construct the topological structure of the Power graph and record the connection relationship between nodes to facilitate the use of subsequent path search algorithms;

[0061] Step 2: Improve the A* algorithm path search:

[0062] The dynamic weight coefficient is ω = a × (1 + RC / T), and the adaptive heuristic function h′(n) = w × [h(n) + h(n-1)], where a is the adjustment ratio coefficient, C represents the cost from the current node to the target node; T represents the cost from the starting node to the target node; ω represents the dynamic weight of the node; R represents the weight influence coefficient. The influence coefficient R can flexibly adjust the algorithm's node retrieval speed in the early stage of operation, thereby improving the algorithm's operating efficiency.

[0063] The specific steps are:

[0064] 1) First, the starting point and the end point are initialized, and the starting point is placed in the OpenList; OpenList is a priority queue that stores the nodes that need to be expanded and sorted by their estimated total cost (f = g + h'), where g is the actual cost from the starting point to the current node, and h' is the corrected heuristic estimate (the estimated distance from the current node to the end point); the heuristic function h'(n) = ω × [h(n) + h(n-1)] is initialized, where h(n) is the estimated distance from the current node to the target node, and h(n-1) is the estimated distance from the previous node to the target node. The dynamic weight ω is adjusted based on the distance from the current node and the starting point to the target node;

[0065] 2) Search loop: The condition for the loop to execute is that OpenList is not empty and the target node has not been found. In each loop, the node with the lowest estimated cost (i.e., the current best node) is taken from OpenList. This node is called current;

[0066] 3) Check the end point: Each time a node is taken from the OpenList, it will first be checked to see if it is the target node. If the current node is the target node, it means that a complete path has been found. Next, a function will be called to rebuild the path. The function will trace back from the target node along the recorded predecessor nodes until it returns to the starting point. The final path will be output;

[0067] 4) Expand neighbor nodes: If the current node is not the target node, the algorithm obtains all neighbor nodes of the current node. These neighbor nodes are valid nodes connected to the current node on the Voronoi diagram. For each neighbor node, the actual cost g from the starting point through the current node to the neighbor node is calculated. If this is a better path (that is, the new g value is smaller than the previously recorded one), then:

[0068] Update the predecessor node of the neighbor node to the current node so that the path can be rebuilt later.

[0069] Use the improved heuristic function to calculate the h' value of the neighbor node,

[0070] Update the f value of the neighbor node and add the neighbor node to the OpenList for subsequent expansion; the search process will continuously extract nodes from the OpenList and expand until the target node is found or the OpenList is empty (indicating that no path can be found);

[0071] Step 3: Path smoothing optimization:

[0072] When processing trajectory data or time series data, the moving average method is used to smooth the path. Moving average is used to reduce noise and random fluctuations, making the path or sequence smoother. Specifically, it includes:

[0073] 1) Determine the window size: Determine an appropriate time window size (i.e., how many data points it contains) that will slide over the data to calculate the moving average. The window size depends on the characteristics of the data and the degree of smoothing required. Larger windows create smoother curves but may hide short-term variations.

[0074] 2) Select the moving average type: Choose between a simple moving average (SMA) or a weighted moving average (WMA) based on the characteristics of the data. If all data points are equally important, use an SMA; if some data points are more important than others, use a WMA.

[0075] 3) Calculate the moving average: For each window, calculate the average (for SMA) or weighted average (for WMA) of the data points in the window; for SMA, add up all the data values ​​in the window and then divide by the window size; for WMA, multiply each data value by its corresponding weight, then add up all the weighted values ​​and finally divide by the sum of all weights;

[0076] 4) Sliding window and repeated calculation: Move the window forward one data point along the data sequence and repeat the process of calculating the moving average until the entire data set is covered;

[0077] 5) Application results: The calculated moving average is used as the smoothed path points; these points can be used to draw a smooth curve, thereby replacing the original, possibly noisy path.

[0078] algorithm Time (average time of 10 times) Improved A* algorithm (ω=(T+RC) / T) 0.02878618 This article (ω=a×(1+RC / T)) 0.02091724

[0079] Figure 2 The results of the path search are shown, where obstacles of different danger levels are distinguished by color depth, with darker colors indicating higher danger; the light gray path represents the optimal path after smoothing.

[0080] The beneficial effects of the present invention are: the improved A* algorithm path planning method based on the power graph reduces the risk of collision: by navigating between Power polygons, the robot or vehicle can maintain a safe distance from obstacles, reducing the risk of collision; simplifies the decision-making process: the Power graph provides a clear structure, making the path decision-making process simpler and more intuitive; adapts to complex environments: the Power graph can adapt to complex and irregular environments and can work effectively even in spaces with irregular polygonal shapes; reduces computational complexity: compared to searching on a dense grid, the Power graph usually has fewer edges and vertices, which helps to reduce the computational complexity of path planning.

[0081] Although the embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the invention, and that the scope of the invention is defined by the appended claims and their equivalents.

Claims

1. A method for improving A* algorithm path planning based on power graph, characterized in that: The following steps are involved: Step 1: First generate the Power diagram environment model: Identify all obstacles and target points in the environment and use these points to generate a power map; each obstacle or target point corresponds to a power polygon, and all points within the polygon are closer to the generating point than to any other generating point; Step 2: Improve the A* algorithm path search; Step 3: Path smoothing optimization.

2. The method for improved A* algorithm path planning based on power graph according to claim 1, characterized in that: In the step 1: obstacle coordinate set: O = {O1, O2, ..., O m } means that the coordinate point of each obstacle is (x i ,y i ), these coordinates describe the location of the obstacle in the environment; Target point coordinates: denoted as G(x g ,y g ), the target location of path planning is clarified; Weight set: W = {w1, w2, ..., wm+1}, where the first m weights correspond to each obstacle and are used to represent attributes such as the degree of danger of the obstacle, and the last weight corresponds to the target point.

3. The method for improved A* algorithm path planning based on power graph according to claim 1, characterized in that: In step 1, for any site S i (x i ,y i ,w i ), whose Power unit is defined as Here, ||·|| is calculated using the Euclidean distance. When all weights are equal, the Power diagram degenerates into a Voronoi diagram.

4. The method for improved A* algorithm path planning based on power graph according to claim 1, characterized in that: The steps for generating the Power graph in step 1 are as follows: 1) Initialize an empty Power graph data structure to build a framework for subsequent data storage and processing; 2) For each obstacle and target point, calculate its power polygon boundary according to the above mathematical definition and determine the influence range of each site; 3) Merge adjacent power units to form a complete environmental partition, so that the entire environment is reasonably divided; 4) Construct the topological structure of the Power graph and record the connection relationship between nodes to facilitate the use of subsequent path search algorithms.

5. The method for improved A* algorithm path planning based on power graph according to claim 1, characterized in that: The dynamic weight coefficient in step 2 is ω=a×(1+RC / T), and the adaptive heuristic function h′(n)=w×[h(n)+h(n-1)], where a is the adjustment scale coefficient and C represents the cost from the current node to the target node; T represents the cost from the starting node to the target node; ω represents the dynamic weight of the node; R represents the weight influence coefficient. The influence coefficient R can flexibly adjust the algorithm's node retrieval speed in the early stage of operation, thereby improving the algorithm's operating efficiency.

6. The method for improved A* algorithm path planning based on power graph according to claim 1, characterized in that: The specific steps of improving the A* algorithm path search in step 2 are: 1) First, the starting point and the end point are initialized, and the starting point is placed in the OpenList; OpenList is a priority queue that stores the nodes that need to be expanded and sorted by their estimated total cost (f = g + h'), where g is the actual cost from the starting point to the current node, and h' is the corrected heuristic estimate (the estimated distance from the current node to the end point); the heuristic function h'(n) = ω × [h(n) + h(n-1)] is initialized, where h(n) is the estimated distance from the current node to the target node, and h(n-1) is the estimated distance from the previous node to the target node. The dynamic weight ω is adjusted based on the distance from the current node and the starting point to the target node; 2) Search loop: The condition for the loop to execute is that OpenList is not empty and the target node has not been found. In each loop, the node with the lowest estimated cost (i.e., the current best node) is taken from OpenList. This node is called current; 3) Check the end point: Each time a node is taken from the OpenList, it will first be checked to see if it is the target node. If the current node is the target node, it means that a complete path has been found. Next, a function will be called to rebuild the path. The function will trace back from the target node along the recorded predecessor nodes until it returns to the starting point. The final path will be output; 4) Expand neighbor nodes: If the current node is not the target node, the algorithm obtains all neighbor nodes of the current node. These neighbor nodes are valid nodes connected to the current node on the Voronoi diagram. For each neighbor node, the actual cost g from the starting point through the current node to the neighbor node is calculated. If this is a better path (that is, the new g value is smaller than the previously recorded one), then: Update the predecessor node of the neighbor node to the current node so that the path can be rebuilt later. Use the improved heuristic function to calculate the h' value of the neighbor node, Update the f value of the neighbor node and add the neighbor node to the OpenList for subsequent expansion; the search process will continuously take nodes from the OpenList and expand until the target node is found or the OpenList is empty (indicating that no path can be found).

7. The method for improved A* algorithm path planning based on power graph according to claim 1, characterized in that: The path smoothing optimization in step 3 is to use the moving average method to smooth the path when processing trajectory data or time series data, and to reduce noise and random fluctuations by moving average, so that the path or sequence is smoother. Specifically, it includes: 1) Determine the window size: Determine an appropriate time window size (i.e., how many data points it contains) that will slide over the data to calculate the moving average. The window size depends on the characteristics of the data and the degree of smoothing required. Larger windows create smoother curves but may hide short-term variations. 2) Select the moving average type: Choose between a simple moving average (SMA) or a weighted moving average (WMA) based on the characteristics of the data. If all data points are equally important, use an SMA; if some data points are more important than others, use a WMA. 3) Calculate the moving average: For each window, calculate the average (for SMA) or weighted average (for WMA) of the data points in the window; for SMA, add up all the data values ​​in the window and then divide by the window size; for WMA, multiply each data value by its corresponding weight, then add up all the weighted values ​​and finally divide by the sum of all weights; 4) Sliding window and repeated calculation: Move the window forward one data point along the data sequence and repeat the process of calculating the moving average until the entire data set is covered; 5) Application results: The calculated moving average is used as the smoothed path point; These points can be used to draw a smooth curve, replacing the original, possibly noisy path.