Path planning method based on improved bidirectional A* algorithm for querying opposite node

By improving the bidirectional A* algorithm and combining the global evaluation function and the cost function, the problems of low search efficiency and node redundancy in the traditional A* algorithm are solved, and more efficient path planning and accurate path intersection are achieved.

CN116772875BActive Publication Date: 2026-04-14FUZHOU UNIV
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
FUZHOU UNIV
Filing Date
2023-02-27
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Traditional A* algorithms suffer from low search efficiency and node redundancy in path planning, especially in bidirectional search processes where node misalignment and inconsistent intermediate intersections are prone to occur.

Method used

An improved bidirectional A* algorithm based on reciprocal node queries is adopted to reduce the number of search nodes through bidirectional search. The optimal path is selected by combining a global evaluation function and a cost function, ensuring that the paths intersect in the middle.

Benefits of technology

It improves the search efficiency of path planning, reduces the number of search nodes, avoids node redundancy, and ensures accurate path intersection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116772875B_ABST
    Figure CN116772875B_ABST
Patent Text Reader

Abstract

The application relates to a path planning method based on improved bidirectional A* algorithm through opposite node query, which improves the traditional A* algorithm through the mode of bidirectional search and opposite node query, takes the starting point and the ending point as the algorithm origin in the global map, simultaneously carries out bidirectional path search, calculates a global evaluation function to determine the best path. Although the mode of bidirectional search improves the search efficiency, in the search process, the two paths are misaligned and do not intersect in the middle. In view of the situation, when the global evaluation function is the same, the opposite node is taken as the query information to further determine the search node, and a cost function of the current node and the latest node of the opposite search is constructed to ensure that the paths intersect in the middle point. Compared with the traditional A* algorithm, the method provided by the application reduces the number of search nodes and improves the search efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of path planning algorithm technology, specifically relating to a path planning method based on an improved bidirectional A* algorithm using peer node queries. Background Technology

[0002] As society enters the era of intelligent development, mobile robots are widely used in transportation, industrial production, and social services. Guiding mobile robots in path planning and target navigation has become a research hotspot. Among them, the A* algorithm can perform path planning on a global map in a static environment, and can conveniently obtain an effective optimal path. However, its unidirectional search mechanism suffers from the problem of continuously accumulating redundant nodes, reducing search efficiency. To address this, many researchers at home and abroad have improved the A* algorithm from multiple directions.

[0003] To address the low search efficiency of the traditional A* algorithm, researchers have proposed improving it by replacing the traditional unidirectional search mechanism with a bidirectional search mechanism. Patent CN110220528A, "A Bidirectional Dynamic Path Planning Method for Autonomous Vehicles Based on A* Algorithm," improves search efficiency by initializing a grid map, setting the starting and target point positions, and the vehicle's movement step size; and creating two open lists and two closed lists, one for searching from the starting point to the target point and the other from the target point to the starting point.

[0004] However, in the bidirectional search process, the conventional bidirectional A* algorithm often uses the opposite node directly as the target point for the search, which can lead to the problem of misaligned search nodes and failure to meet in the middle. It is necessary to ensure that the search paths meet in the middle.

[0005] Furthermore, existing technologies achieve a balance between pathfinding accuracy and efficiency by incorporating dynamically adjusted heuristic weights into the path evaluation function of the A* algorithm in real time. For details, please refer to patent CN114527788A, "Improved A* Algorithm Method, System, Device, and Medium Based on Dynamic Weights," etc. Summary of the Invention

[0006] To address the shortcomings of the traditional A* algorithm, such as high node redundancy and low search efficiency, this invention proposes a path planning method based on peer node queries to improve the bidirectional A* algorithm. This method uses bidirectional search to improve the A* algorithm, reducing the number of search nodes and increasing search efficiency. In bidirectional search, to avoid misaligned search nodes and failure to converge in the middle, conventional bidirectional A* algorithms often use peer nodes directly as target points. However, this often increases node traversal and reduces search efficiency. Analysis reveals that to ensure path convergence, when the evaluation functions are the same, it is necessary to further calculate the cost function of the current node and the peer node. Using the cost function as query information, the smaller value is selected as the search node. Using peer nodes as query information not only retains the advantage of simultaneous searching at both ends of the bidirectional A* algorithm but also avoids the node redundancy problems caused by non-converging intermediate paths or the need to ensure path convergence.

[0007] In other words, this invention improves the traditional A* algorithm by using bidirectional search and reciprocal node query. In the global map, the starting point and the ending point are used as the origin of the algorithm. Bidirectional path search is performed simultaneously, and a global evaluation function is calculated to determine the optimal path.

[0008] While bidirectional search improves search efficiency, it can lead to situations where two paths are misaligned and fail to intersect. To address this, when the global evaluation function is the same, the search node is further determined using the peer node as query information. A cost function is constructed between the current node and the latest node in the peer search to ensure the paths intersect at an intermediate point. In a preferred embodiment, an OPEN table and a CLOSE table are created at the start and end points, respectively. Child nodes are placed in the OPEN table, and parent nodes are placed in the CLOSE table. New search nodes are determined based on the global evaluation function and the constructed cost function until the optimal path is found.

[0009] The method proposed in this invention reduces the number of search nodes and improves search efficiency compared to the traditional A* algorithm.

[0010] The specific technical solution adopted by this invention to solve its technical problem is as follows:

[0011] A path planning method based on an improved bidirectional A* algorithm using peer node queries, characterized by the following steps:

[0012] Step S1: Initialize the map and determine the start and end points in the global map;

[0013] Step S2: Using the start point and end point as parent nodes respectively, calculate the global evaluation function of the 8 child nodes surrounding the parent node;

[0014] Step S3: Compare the global evaluation functions of the 8 child nodes surrounding the parent node, and select the child node with the smallest value as the new parent node; when the global evaluation functions are the same, calculate the cost function between the child node and the latest parent node at the other end, and select the child node with the smaller cost function value as the new parent node.

[0015] Step S4: Repeat step S3 until the search nodes meet in the path, then end the search and determine the optimal path.

[0016] Further, in step S3, the evaluation function is:

[0017] f(n)=g(n)+h(n) (1)

[0018] f(n) is the global evaluation function from the current node to the target point, g(n) is the actual cost from the starting point to the current node, expressed as Euclidean distance, and h(n) represents the hypothetical cost from the current node to the target point, expressed as Manhattan distance, i.e., the sum of the absolute values ​​between two coordinate points. Let the starting point be A(x1,y1), the current node be B(x2,y2), and the ending point be C(x3,y3). The specific calculation method of the node global evaluation function is as follows:

[0019]

[0020] h(n)=|x3-x2|+|y3-y2| (3)

[0021]

[0022] Furthermore, the cost function is:

[0023]

[0024] f′(n)=h(n)+g(n)+k×g′(n) (6)

[0025] The latest parent node at the other end is D(x4,y4). First, calculate the cost function f(n) of this node, as shown in formula (4). When the f(n) calculated by it and other child nodes are the same, calculate the f'(n) values ​​of the two. Select the child node with the smaller cost function value as the new parent node, where k is the influence coefficient of the opposite search, and the value is in [0,1].

[0026] Furthermore, during the loop of step S3, the global evaluation function of the child node is calculated first, and the child node with the smaller value is selected as the parent node of the next step. If the global evaluation function values ​​are the same, the cost function is calculated further, and the child node with the smaller value is selected as the parent node of the next step to ensure that the search paths intersect in the middle.

[0027] Furthermore, OPEN and CLOSE tables are created at the start and end points respectively. Child nodes are placed in the OPEN table, and parent nodes are placed in the CLOSE table. New search nodes are determined based on the global evaluation function and the constructed cost function until the optimal path is found.

[0028] Compared with the prior art, the solution provided by the present invention and its preferred embodiment has the following advantages:

[0029] 1. The optimal path is found by using a bidirectional search method with both the starting point and the ending point. Compared with the traditional A* algorithm, this method reduces the number of search nodes, improves search efficiency, and saves search time.

[0030] 2. When performing path search, if the global search evaluation function is the same, the cost function calculation of the child node and the latest parent node at the other end is added. This not only retains the advantage of the bidirectional A* algorithm that searches at both ends simultaneously, but also avoids the problem of node redundancy caused by the intermediate paths not intersecting or in order to ensure that the paths intersect. Attached Figure Description

[0031] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments:

[0032] Figure 1 This is a schematic diagram of the overall workflow of an embodiment of the present invention;

[0033] Figure 2 This is a flowchart illustrating a preferred embodiment of the present invention;

[0034] Figure 3 This is a simulation path diagram for an embodiment of the present invention. Detailed Implementation

[0035] To make the features and advantages of this patent more apparent and understandable, specific embodiments are provided below for detailed explanation:

[0036] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used in this specification have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.

[0037] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments according to this application. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, 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.

[0038] like Figure 1As shown, the path planning method based on the improved bidirectional A* algorithm using peer node queries provided by this invention specifically includes the following steps:

[0039] Initialize the map, using a raster map, and determine the start and end points in the global map;

[0040] The optimal path is found through a bidirectional search between the start and end points. Using the start and end points as parent nodes, the global evaluation function for their eight surrounding child nodes is calculated. The evaluation function is as follows:

[0041] f(n)=g(n)+h(n) (1)

[0042] f(n) is the global evaluation function from the current node to the target point, g(n) is the actual cost from the starting point to the current node, which we represent using Euclidean distance, and h(n) represents the hypothetical cost from the current node to the target point, usually represented by Manhattan distance, which is the sum of the absolute values ​​between two coordinate points. Let the starting point be A(x1,y1), the current node be B(x2,y2), and the ending point be C(x3,y3). The specific calculation method of the global evaluation function for this node is as follows:

[0043]

[0044] h(n)=|x3-x2|+|y3-y2| (3)

[0045]

[0046] Compare the global evaluation functions of the surrounding 8 child nodes, and select the child node with the smallest value as the new parent node. When the global evaluation functions are the same, calculate the cost function between the child node and the latest parent node at the other end. The cost function is as follows:

[0047]

[0048] f′(n)=h(n)+g(n)+k×g′(n) (6)

[0049] The latest parent node at the other end is D(x4,y4). First, calculate the cost function f(n) of this node, as shown in formula (4). When its f(n) is the same as that of other child nodes, calculate the f'(n) values ​​of the two nodes. Select the child node with the smaller cost function value as the new parent node, where k is the influence coefficient of the opposite search, and the value is in [0,1]. Select the child node with the smaller cost function value as the new parent node.

[0050] The process iterates through the previous step, ending the search when the search nodes meet in the middle of the path, thus determining the optimal path. The iterative process first calculates the global evaluation function of the child nodes, selecting the child node with the smaller value as the parent node for the next step. If the global evaluation function values ​​are the same, the cost function is further calculated, selecting the child node with the smaller value as the parent node for the next step, ensuring that the search paths intersect in the middle.

[0051] In practice, an OPEN table and a CLOSE table are typically created at the start and end points, respectively. Child nodes are placed in the OPEN table, and parent nodes are placed in the CLOSE table. New search nodes are determined based on the global evaluation function and the constructed cost function until the optimal path is found.

[0052] Therefore, in actual work processes, the following can be adopted: Figure 2 The specific implementation methods shown are as follows:

[0053] The specific process of the path planning method based on the improved bidirectional A* algorithm using peer node queries is as follows:

[0054] (1) Initialize the map, set the starting point and the ending point, create OPEN table 1 and CLOSE table 1 with the starting point and initialize them, and create OPEN table 2 and CLOSE table 2 with the ending point and initialize them.

[0055] (2) Set the starting point as parent node 1 and add it to CLOSE table 1. List the eight points around parent node 1 and add them to OPEN table 1 according to the conditions. The conditions include whether it is outside the map range, whether it is an obstacle, and whether it has been added to CLOSE table 1.

[0056] (3) Set the endpoint as parent node 2 and add it to CLOSE table 2. List the eight points around parent node 2 and add them to OPEN table 2 according to the conditions. The conditions include whether it is outside the map range, whether it is an obstacle, and whether it has been added to CLOSE table 2.

[0057] (4) We define the points around the parent node 1 of the condition as child node 1, calculate the f(n) value of child node 1, and determine whether child node 1 is already in OPEN table 1. If it is, we need to consider updating it. If the cost function of the new path is lower, we update it to the new path. If it is not in OPEN table 1, we directly add it to OPEN table 1.

[0058] (5) We define the points around the parent node 2 of the condition as child node 2, calculate the f(n) value of child node 2, and determine whether child node 2 is already in OPEN table 2. If it is, we need to consider updating it. If the cost function of the new path is lower, we update it to the new path. If it is not in OPEN table 2, we directly add it to OPEN table 2.

[0059] (6) Determine whether the point in CLOSE table 2 appears in OPEN table 1 or whether the point in CLOSE table 1 appears in OPEN table 2. If it appears, the search is complete and the target point has been found.

[0060] (7) Determine whether OPEN table 1 and OPEN table 2 are empty. If they are empty, it means that no path was found because there is no path from the starting point to the end point in the map.

[0061] (8) Compare the f(n) values ​​of each child node 1, and select the child node 1 with the smallest value. If the values ​​are the same, calculate the f(n) value of the target point using the latest value added to the CLOSE table 2 for child node 1, and select the child node 1 with the smaller value. Add this child node 1 to the CLOSE table 1 and delete it from the OPEN table 1. Set this child node 1 as the parent node 1, and then repeat the parent node 1 operation in step (2) until a path is found or it is determined that no path exists.

[0062] (9) Compare the f(n) values ​​of each child node 2, and select the child node 2 with the smallest value. If there are cases where the values ​​are the same, calculate the f'(n) value of the target point of child node 2 with the latest value added in CLOSE table 1. Use this as the query information, select the child node 2 with the smaller value, add the child node 2 to CLOSE table 2 and delete it from OPEN table 2. Set the child node 2 as the parent node 2, and then repeat the parent node 2 operation in step (2) until a path is found or it is determined that no path exists.

[0063] Figure 3 This is a path diagram of a simulation experiment conducted according to the scheme of this embodiment, which proves the feasibility and efficiency of the algorithm.

[0064] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0065] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0066] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0067] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0068] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.

[0069] This patent is not limited to the above-described preferred implementation method. Anyone can derive other forms of path planning methods based on the improved bidirectional A* algorithm using the opposite node query method under the guidance of this patent. All equivalent changes and modifications made within the scope of this patent application shall fall within the scope of this patent.

Claims

1. A path planning method based on an improved bidirectional A* algorithm using peer node queries, characterized in that... Includes the following steps: Step S1: Initialize the map and determine the start and end points in the global map; Step S2: Using the start point and end point as parent nodes respectively, calculate the global evaluation function of the 8 child nodes surrounding the parent node; Step S3: Compare the global evaluation functions of the 8 child nodes surrounding the parent node, and select the child node with the smallest value as the new parent node; When the global evaluation function values ​​are the same, calculate the cost function between the child node and the latest parent node at the other end, and select the child node with the smallest cost function value as the new parent node; Step S4: Repeat step S3 until the search nodes meet in the path, then end the search and determine the optimal path; The global evaluation function is: (1) f(n) is the global evaluation function from the current node to the destination, g(n) is the actual cost from the starting point to the current node, expressed as Euclidean distance, and h(n) represents the cost from the current node to the destination, expressed as Manhattan distance, which is the sum of the absolute values ​​between two coordinate points. Let the starting point be A(x1,y1), the current node be B(x2,y2), and the destination be C(x3,y3). The specific calculation method of the node global evaluation function is as follows: (2) (3) (4) The calculation process of the cost function f'(n) is as follows: (5) (6) The latest parent node at the other end is D(x4,y4). First, calculate the global evaluation function f(n) of the current child node according to formula (4). When it is the same as the f(n) calculated by other child nodes, calculate their respective f'(n) values. Select the child node with the smallest cost function value as the new parent node, where k is the opposite search influence coefficient, and the value is in [0,1].

2. The path planning method based on the improved bidirectional A* algorithm using peer node queries as described in claim 1, characterized in that, During the loop of step S3, the global evaluation function of the child nodes is calculated first, and the child node with the smallest value is selected as the parent node of the next step. If the global evaluation function values ​​are the same, the cost function is calculated further, and the child node with the smallest cost function value is selected as the parent node of the next step to ensure that the search paths intersect in the middle.

3. The path planning method based on the improved bidirectional A* algorithm using peer node queries as described in claim 1, characterized in that, Create an OPEN table and a CLOSE table at the start and end points respectively. Place child nodes in the OPEN table and parent nodes in the CLOSE table. Determine new search nodes based on the global evaluation function and the constructed cost function until the optimal path is found.

Citation Information

Patent Citations

  • Automatic driving unmanned vehicle bidirectional dynamic path planning method based on A-star algorithm

    CN110220528A

  • Mobile robot path planning method based on improved jump point search algorithm

    CN111309004A

  • Workshop dual-resource integrated scheduling method and system in intelligent manufacturing environment

    CN111598332A