Bidirectional A star algorithm and dynamic window method fused path planning method and system

By combining the improved bidirectional A* algorithm with the dynamic window method, the problems of insufficient computational efficiency and path smoothness in path planning methods are solved, enabling autonomous mobile robots to navigate efficiently and avoid obstacles safely in dynamic environments.

CN120991876APending Publication Date: 2025-11-21CHANGSHA SOCIAL WORK COLLEGE
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511275999.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-08
Publication Date
2025-11-21

AI Technical Summary

Technical Problem

Existing path planning methods are insufficient in terms of computational efficiency and path smoothness, making it difficult to meet the navigation needs of autonomous mobile robots in dynamic environments. In particular, they are prone to getting trapped in local optima or generating redundant nodes in complex environments.

Method used

A fusion approach combining the bidirectional A* algorithm and the dynamic window method is adopted. The improved bidirectional A* algorithm is used to calculate the global path and remove redundant nodes, while the improved dynamic window method is used for local path planning. The trajectory evaluation is optimized by using obstacle density and dynamic obstacle prediction, thus achieving a smooth fusion of the global and local paths.

Benefits of technology

It improves the navigation capabilities of autonomous mobile robots in dynamic environments, enhances safety, motion efficiency, and real-time obstacle avoidance capabilities, and generates smoother and collision-free paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120991876A_ABST
    Figure CN120991876A_ABST
Patent Text Reader

Abstract

The invention discloses a two-way A star algorithm and dynamic window method fused path planning method and system. The method comprises the following steps: calculating a global path from a starting point to an end point by using a two-way A star algorithm; traversing the global path to remove redundant nodes in the global path; finding an initial current node in the global path from which the redundant nodes are removed; judging whether the current node is an end point, if the current node is the end point, fusing local paths among the nodes to obtain a final planned path from the starting point to the end point, otherwise, determining a next current node according to the current node and the global path; and calculating a local path from the current node to the next current node by using a dynamic window method, and returning the next current node as a new current node to continue iteration. The invention aims to solve the problems of calculation efficiency and path smoothness of the existing path planning method, improve the navigation capability in a dynamic environment, and improve the safety, movement efficiency and real-time obstacle avoidance capability of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention pertains to robot path planning technology, specifically relating to a path planning method and system that integrates the bidirectional A* algorithm with the dynamic window method. Background Technology

[0002] Robot path planning is a core technology in autonomous mobile robot navigation. Its task is to generate an optimal, collision-free trajectory from the starting point to the target point in a known, unknown, or partially known environment. In dynamic scenarios, effective path planning methods must possess environmental awareness and real-time response capabilities to meet constantly changing navigation requirements. Path planning methods are generally divided into two main categories: global path planning and local path planning. Global path planning operates in a completely known environment and typically employs optimization techniques, such as sampling-based algorithms—like Rapid Exploratory Random Trees (RRT), Probabilistic Route Graphs (PRM)—and graph search algorithms, including the A* algorithm, Dijkstra's algorithm, and depth-first search. Among these, the A* algorithm improves search efficiency by simultaneously performing heuristic searches from both the starting and target points. In contrast, local path planning methods focus on real-time obstacle avoidance in dynamic and unknown environments. Key methods include Dynamic Window (DWA), Model Predictive Control (MMCC), and Artificial Potential Field (APF). While these techniques excel in local obstacle avoidance, they often lack the global information necessary to achieve global optimality of the path. With the rapid development of robotics technology, mobile robots are being deployed in increasingly complex environments, which places higher demands on their path planning algorithms in terms of computational efficiency and adaptability to dynamic conditions. Traditional A* algorithms, limited by unidirectional heuristic strategies, often fail to meet these requirements, and DWA (Directed Path Wading) often leads to paths getting trapped in local optima (suboptimal). Summary of the Invention

[0003] The technical problem to be solved by this invention is to provide a path planning method and system that integrates the bidirectional A* algorithm and the dynamic window method, addressing the aforementioned problems in the existing path planning methods. This invention aims to solve the problems of computational efficiency and path smoothness in existing path planning methods, improve navigation capabilities in dynamic environments, and enhance robot safety, motion efficiency, and real-time obstacle avoidance capabilities.

[0004] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows: A path planning method integrating bidirectional A* algorithm and dynamic window method includes the following steps: S101 uses the bidirectional A* algorithm to calculate the global path from the starting point to the ending point; S102, Traverse the global path to remove redundant nodes in the global path; S103, find the initial current node in the global path after removing redundant nodes; S104, Determine if the current node is the endpoint. If it is the endpoint, proceed to step S107; otherwise, proceed to step S105. S105, determine the next current node based on the current node and the global path; S106, use the dynamic window method to calculate the local path from the current node to the next current node, take the next current node as the new current node, and jump to step S104; S107 merges the local paths between nodes to obtain the final planned path from the starting point to the end point.

[0005] Optionally, step S101 includes: S201, create queues OPEN_start and OPEN_goal, determine the coordinates of the start and end points, where queue OPEN_start is used to store nodes in the search process starting from the start point, and queue OPEN_goal is used to store nodes in the search process starting from the end point; S202, add the starting point to the queue OPEN_start, add the ending point to the queue OPEN_goal, set the cost function g of the starting point and the ending point to 0, calculate the value of the heuristic function h of the starting point and the ending point according to the preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. S203, check if the queues OPEN_start and OPEN_goal are both empty. If they are, it means that a global path from the start point to the end point cannot be found, so end and exit; otherwise, jump to step S204. S204: Retrieve node n1 with the smallest evaluation function f from queue OPEN_start. If node n1 is in queue OPEN_goal, a global path is found. Starting from node n1, backtrack towards the starting and ending points of the nodes recorded in queues OPEN_start and OPEN_goal, merging the nodes in both directions to form a complete global path, and proceed to step S102. If node n1 is not in queue OPEN_goal, expand the neighbors of node n1 by adding eligible neighbor nodes to queue OPEN_start. The cost function g of any added neighbor node n1' is the sum of the cost function g of node n1 and the distance cost cost(n1,n1') from node n1 to that neighbor node n1'. Calculate the heuristic function h of neighbor node n1' according to a preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. Retrieve node n1 from queue OPEN_goal. Find the node n2 with the smallest evaluation function f. If node n2 is in the queue OPEN_start, then a global path has been found. Starting from node n2, backtrack towards the starting point and the end point, merging the nodes recorded in the queues OPEN_start and OPEN_goal to form a complete global path, and proceed to step S102. If node n2 is not in the queue OPEN_start, then expand the neighbors of node n2 by adding eligible neighbor nodes to the queue OPEN_goal. The cost function g of any added neighbor node n2' is the sum of the cost function g of node n2 and the distance cost cost(n2,n2') from node n2 to that neighbor node n2'. Calculate the heuristic function h of the neighbor node n2' according to the preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. Proceed to step S203.

[0006] Optionally, the function expression of the heuristic function is: ; in, For nodes The value of the heuristic function h, For nodes The actual cost, The weighting factor is used to control the influence of obstacle density. For nodes The density of surrounding local obstacles node Euclidean distance to the destination, for any node Local obstacle density refers to the density of nodes. The ratio between the number of obstacle grids within a specified area and the total number of grids.

[0007] Optionally, when traversing the global path to remove redundant nodes in step S102, the redundant nodes refer to nodes that do not affect the feasibility of the path. A node that does not affect the feasibility of the path means that the connection line between the parent node of the node and the subsequent nodes on the global path of the node does not intersect with obstacles in the environment.

[0008] Optionally, when calculating the local path from the current node to the next current node using the dynamic window method in step S106, the function expression of the trajectory evaluation function used in the dynamic window method is: ; in, For trajectory evaluation function, For distance terms based on trajectory points, Let be the obstacle distance evaluation function, which is the reciprocal of the minimum distance between the robot and surrounding obstacles. Here is the speed evaluation function, whose value is the deviation between the robot's current speed and its maximum speed within the dynamic window. Let be the orientation angle evaluation function. The value of the orientation angle evaluation function is the angle difference between the robot's orientation at the predicted endpoint and the local target direction, and we have: ; in, Let the coordinates be the coordinates of the next current node. These are the coordinates of the current node.

[0009] Optionally, when calculating the local path from the current node to the next current node using the dynamic window method in step S106, the danger zone used to prevent robot collisions is defined as follows: S301 uses a prediction window of fixed time size to estimate the potential motion range of each obstacle; calculates the distance from each obstacle to the current node based on the potential motion range of the obstacle, thereby identifying the closest obstacle; and adds the intersection point of the potential motion range and the global path as a candidate collision point to the candidate collision point set, based on whether the potential motion range of the obstacle intersects with the global path. S302, for each candidate collision point in the candidate collision point set, calculate the time difference between the time it takes for the robot to reach the candidate collision point and the time it takes for the obstacle to reach the candidate collision point, and compare the time difference with a threshold to determine the collision risk between the robot and the obstacle. S303, for obstacles that pose a collision risk, determines the spatial division of the danger zone to prevent the robot from colliding with the obstacle based on the direction of the obstacle's movement.

[0010] Optionally, when calculating the local path from the current node to the next current node using the dynamic window method in step S106, the method further includes selecting the motion control parameters of the current node based on the obstacle distribution within the current window where the current node is located: obtaining the local obstacle density in the current environment, and determining the robot's motion control parameters in the current environment by querying the local obstacle density-motion control parameter association table through the local obstacle density. The local obstacle density-motion control parameter association table records the mapping relationship data between the local obstacle density and the robot's motion control parameters in the current environment, and the local obstacle density and the robot's motion control parameters in the current environment have an inverse relationship. The motion control parameters include some or all of the robot's velocity, acceleration, angular velocity, and braking distance, for any node. Local obstacle density refers to the density of nodes. The ratio between the number of obstacle grids within a specified area and the total number of grids.

[0011] Furthermore, this embodiment also provides a path planning system that integrates the bidirectional A* algorithm and the dynamic window method, including a microprocessor and a memory interconnected thereto, wherein the microprocessor is programmed or configured to execute the path planning method that integrates the bidirectional A* algorithm and the dynamic window method.

[0012] Furthermore, this embodiment also provides a computer-readable storage medium storing a computer program or instructions that are programmed or configured to execute the path planning method that combines the bidirectional A* algorithm with the dynamic window method via a processor.

[0013] Furthermore, this embodiment also provides a computer program product, including a computer program or instructions, which are programmed or configured to execute the path planning method that combines the bidirectional A* algorithm with the dynamic window method via a processor.

[0014] Compared with existing technologies, the present invention mainly achieves the following beneficial effects: The method of the present invention includes using a bidirectional A* algorithm to calculate the global path from the starting point to the ending point; traversing the global path to remove redundant nodes; finding the initial current node in the global path after removing redundant nodes; determining whether the current node is the ending point; if it is the ending point, merging the local paths between nodes to obtain the final planned path from the starting point to the ending point; otherwise, determining the next current node based on the current node and the global path; using a dynamic window method to calculate the local path from the current node to the next current node, and returning the next current node as the new current node to continue the iteration. The present invention combines the improved bidirectional A* algorithm (for global path planning) with the improved dynamic window method (for local real-time obstacle avoidance), which can solve the problems of computational efficiency and path smoothness of existing path planning methods, improve the navigation ability of autonomous mobile robots in dynamic environments, and enhance the safety, motion efficiency, and real-time obstacle avoidance capabilities of autonomous mobile robots. Attached Figure Description

[0015] Figure 1 This is a schematic diagram of the basic process of the method in an embodiment of the present invention.

[0016] Figure 2 This is a schematic diagram of the basic process of the bidirectional A-star algorithm in an embodiment of the present invention.

[0017] Figure 3 This is an example of a redundant node in an embodiment of the present invention.

[0018] Figure 4 This is an example of a candidate collision point in an embodiment of the present invention.

[0019] Figure 5 In this embodiment of the invention, time difference is used An example of assessing collision risk. Detailed Implementation

[0020] To enable those skilled in the art to better understand the technical solutions of the present invention, the technical solutions of the present invention will be further described in detail below with reference to the accompanying drawings of the embodiments of the present invention. Figure 1 As shown, the path planning method integrating the bidirectional A* algorithm and the dynamic window method in this embodiment includes the following steps: S101 uses the bidirectional A* algorithm to calculate the global path from the starting point to the ending point; S102, Traverse the global path to remove redundant nodes in the global path; S103, find the initial current node in the global path after removing redundant nodes; S104, Determine if the current node is the endpoint. If it is the endpoint, proceed to step S107; otherwise, proceed to step S105. S105, determine the next current node based on the current node and the global path; S106, use the dynamic window method to calculate the local path from the current node to the next current node, take the next current node as the new current node, and jump to step S104; S107 merges the local paths between nodes to obtain the final planned path from the starting point to the end point.

[0021] like Figure 2 As shown, step S101 in this embodiment includes: S201, create queues OPEN_start and OPEN_goal, determine the coordinates of the start and end points, where queue OPEN_start is used to store nodes in the search process starting from the start point, and queue OPEN_goal is used to store nodes in the search process starting from the end point; S202, add the starting point to the queue OPEN_start, add the ending point to the queue OPEN_goal, set the cost function g of the starting point and the ending point to 0, calculate the value of the heuristic function h of the starting point and the ending point according to the preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. S203, check if the queues OPEN_start and OPEN_goal are both empty. If they are, it means that a global path from the start point to the end point cannot be found, so end and exit; otherwise, jump to step S204. S204: Retrieve node n1 with the smallest evaluation function f from queue OPEN_start. If node n1 is in queue OPEN_goal, a global path is found. Starting from node n1, backtrack towards the starting and ending points of the nodes recorded in queues OPEN_start and OPEN_goal, merging the nodes in both directions to form a complete global path, and proceed to step S102. If node n1 is not in queue OPEN_goal, expand the neighbors of node n1 by adding eligible neighbor nodes to queue OPEN_start. The cost function g of any added neighbor node n1' is the sum of the cost function g of node n1 and the distance cost cost(n1,n1') from node n1 to that neighbor node n1'. Calculate the heuristic function h of neighbor node n1' according to a preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. Retrieve node n1 from queue OPEN_goal. Find the node n2 with the smallest evaluation function f. If node n2 is in the queue OPEN_start, a global path is found. Starting from node n2, backtrack towards the starting and ending points, merging the nodes recorded in the queues OPEN_start and OPEN_goal to form a complete global path. Proceed to step S102. If node n2 is not in the queue OPEN_start, expand the neighbors of node n2 by adding eligible neighbor nodes to the queue OPEN_goal. The cost function g of any added neighbor node n2' is the sum of the cost function g of node n2 and the distance cost cost (n2, n2') from node n2 to that neighbor node n2'. Calculate the heuristic function h of neighbor node n2' according to a preset heuristic function, and use the sum of the cost function g and the heuristic function h as the evaluation function f. Proceed to step S203. The distance cost is recorded as the distance between the two nodes.

[0022] To address the poor performance of traditional bidirectional A* algorithms in complex environments, this embodiment presents an improved bidirectional A* algorithm (IBA). The improvements include introducing a novel heuristic function based on obstacle density to enhance environmental adaptability, and shortening the final path by eliminating redundant nodes, aiming to improve path optimality and computational efficiency. Traditional heuristic functions typically only consider the spatial relationship between the robot's current position and the target point, ignoring the influence of the environment. Therefore, they may generate suboptimal paths or introduce redundant nodes, especially in complex environments. While Euclidean distance is an effective heuristic function in obstacle-free scenarios, it often leads to cost estimation problems in obstacle-dense environments. There is a significant difference between the actual path cost and the actual path cost. This is because the presence and distribution of obstacles violate the inherent linear assumption in Euclidean distance estimation. In this embodiment, the heuristic function is a heuristic function dynamically adjusted based on the local obstacle density, and its function expression is: ; in, For nodes The value of the heuristic function h, For nodes The actual cost (the cost from the starting point to that node). The weighting factor is used to control the influence of obstacle density. For nodes The density of surrounding local obstacles node The Euclidean distance to the destination (the heuristically estimated cost from this node to the destination), for any node. Local obstacle density refers to the density of nodes. The ratio of the number of obstacle meshes within a specified surrounding area to the total number of meshes. This formula adds a heuristic function to areas with high obstacle density. h(n) The influence of weight factors allows the algorithm to better approximate the actual traversal cost and tends to choose smoother, more efficient paths. K The selection criteria are as follows: On a 50x50 map, when K When the value is in the range [1, 3.5], the algorithm achieves a balance between path optimality and computational efficiency. For a 40×40 map, the planning time is [not specified]. K The value is relatively insensitive to changes, but K The shortest path can be obtained when the value is [2, 3]. On a 30×30 map, when... K When the value is in the range [0, 2], the generated path is close to optimal. Comprehensive analysis shows that... K A value of 2 provides the optimal trade-off between path length and planning time. It's worth noting that when... K When the value is greater than 5, the performance tends to stabilize because in regions with high obstacle density, the modified heuristic function begins to dominate the total cost. This weakens the actual cost. The influence of this. Therefore, the direction of node expansion is mainly determined by the heuristic part, further increasing... K The value has a negligible impact on the algorithm's behavior. Table 1 shows the method of this embodiment under different map sizes and weight factors. K Performance at this value is measured by path length and planning time.

[0023] Table 1: Under different weighting factorsK Performance comparison

[0024] Global path planning algorithms often generate paths containing redundant nodes—intermediate waypoints that can lead to unnecessary turns or deviations from the theoretically shortest trajectory. To improve path efficiency and reduce complexity, a redundant node elimination strategy based on obstacle constraints is introduced. This method can generate smoother, collision-free paths and reduce the number of intermediate nodes without sacrificing safety and feasibility. The redundant node elimination process includes the following steps: Iterative node checking: Starting from the second node in the planned path, each subsequent node is checked sequentially. If a node is determined to be redundant, it is removed from the final path. Redundancy evaluation: For each candidate node, the algorithm checks whether there is a direct connection (i.e., a straight line) between its parent node and subsequent nodes that intersects with obstacles in the environment. Figure 3 As shown, rectangles represent obstacles, circles represent nodes (C_1, C_2, P_1, P_2, N_1, and N_2), solid lines represent the original global path, and dashed lines represent the connecting lines between nodes. If a connecting line does not intersect any obstacle, the current node is considered redundant and removed (e.g., node C_1). If a connecting line intersects an obstacle, the node is retained because it is necessary for obstacle avoidance (e.g., node C_2). This process ensures that only necessary turning points are retained, thus generating a more direct and smoother trajectory. In step S102 of this embodiment, when traversing the global path to remove redundant nodes, the redundant node refers to a node that does not affect the feasibility of the path. A node that does not affect the feasibility of the path is one whose connecting line between its parent node and subsequent nodes on the global path does not intersect with obstacles in the environment. By integrating the redundant node elimination strategy, the optimality of the path and computational efficiency can be improved.

[0025] To overcome the inherent limitations of local optima in the traditional Dynamic Window Approach (DWA) and enhance the consistency between local and global paths, this embodiment proposes an improved Dynamic Window Approach (IDWA). The improvements mainly focus on the following three aspects: (1) Optimization of the trajectory evaluation function: The trajectory evaluation function in DWA is optimized to better select candidate trajectories, thereby improving the global consistency of the path. (2) Modeling of hazardous areas of dynamic obstacles: By modeling the future position of dynamic obstacles, potential hazardous areas are predicted, thereby adjusting the path in advance to avoid collisions. (3) Adaptive speed adjustment based on dynamic conditions: The robot's speed is adaptively adjusted according to the dynamic changes in the environment to improve navigation efficiency and safety in complex environments.

[0026] In this embodiment, the IBA method generates the optimal global path by eliminating redundant nodes, thereby reducing path complexity. In step S105 of this embodiment, when determining the next current node based on the current node and the global path, the next node of the current node can be directly found in the global path as the next current node. However, directly using sparsely distributed key nodes may lead to path deviations in actual robot motion. To maintain smooth and accurate tracking, as an optional implementation, a key point encryption strategy can be adopted: applying linear interpolation between adjacent key nodes in the optimal global path to generate additional intermediate points, which serve as local navigation targets for IDWA. This method ensures that the robot follows the globally optimal trajectory while dynamically adapting to obstacles in the real-time environment. For example, in step S105 of this embodiment, when determining the next current node based on the current node and the global path, additional intermediate points are generated by applying linear interpolation between the current node and the next node in the global path; these intermediate points serve as the next current node, thereby maintaining smooth and accurate tracking.

[0027] In step S106 of this embodiment, when calculating the local path from the current node to the next current node using the dynamic window method, an improved dynamic window algorithm (IDWA) is employed. To enhance local path planning performance, local target point guidance is introduced into the trajectory evaluation function of the dynamic window method. Furthermore, this method predicts hazardous areas based on the motion patterns of dynamic obstacles and employs a speed adjustment mechanism based on obstacle density to improve responsiveness in congested environments. The trajectory evaluation function is a core component of the dynamic window method (DWA), responsible for evaluating candidate trajectories and selecting the most suitable one for execution. In traditional DWA, the evaluation function consists of components with fixed weights, which limits its adaptability to complex and changing environments. To address this issue, this embodiment introduces a distance term based on trajectory points, denoted as... Used to measure time t Predicted trajectory endpoint With local target point The Euclidean distance between them. In step S106 of this embodiment, when calculating the local path from the current node to the next current node using the dynamic window method, the function expression of the trajectory evaluation function used by the dynamic window method is: ; in, For trajectory evaluation function, For distance terms based on trajectory points, Here is the obstacle distance evaluation function, which is the reciprocal of the minimum distance between the robot and surrounding obstacles (this reciprocal form aligns the goal of maximizing obstacle avoidance distance with the cost structure of minimizing the function). Here is the speed evaluation function, whose value is the deviation between the robot's current speed and its maximum speed within the dynamic window. Let be the orientation angle evaluation function. The value of the orientation angle evaluation function is the angle difference between the robot's orientation at the predicted endpoint and the local target direction, and we have: ; in, Let the coordinates be the coordinates of the next current node. These are the coordinates of the current node.

[0028] Traditional Dynamic Window (DWA) algorithms primarily target static obstacles at the current time step, lacking the ability to predict high-speed dynamic environments. To overcome this limitation, a predictive hazard assessment mechanism is proposed. This mechanism simulates the future positions of dynamic obstacles and defines hazard zones accordingly. At each time step, the system predicts the trajectory of the dynamic obstacle based on its current velocity, thereby enabling proactive path adjustment and continuous avoidance of potential collisions. In step S106 of this embodiment, when using the DWA to calculate the local path from the current node to the next current node, the hazard zone used to prevent robot collisions is defined as follows: S301, using a prediction window of a fixed time size (e.g., 1 second), estimates the potential motion range of each obstacle; calculates the distance from each obstacle to the current node based on its potential motion range, thereby identifying the closest obstacle; and adds the intersection points of the potential motion range and the global path as candidate collision points to the candidate collision point set, based on whether the obstacle's potential motion range intersects with the global path; an example of a candidate collision point is shown below. Figure 4 As shown, t1 to t4 represent different time steps. The solid line represents the robot's global path, the dashed line represents the obstacle's movement direction, the black dashed line represents the obstacle, and the red dashed line represents the danger zone. After obstacle S1 moves to S'1, it does not intersect the global path. After obstacle S2 moves to S'2, it intersects the global path. After obstacle S3 moves to S'3, it intersects the global path. The positions corresponding to S'2 and S'3 are candidate collision points. S302, for each candidate collision point in the candidate collision point set, calculate the time difference between the time it takes for the robot to reach the candidate collision point and the time it takes for the obstacle to reach the candidate collision point, taking into account the speeds of the robot and the obstacle. Time difference Compare with a threshold to determine the risk of collision between the robot and obstacles; Figure 5In this embodiment of the invention, time difference is used An example of assessing collision risk using time difference Assessing collision risk includes defining the following key parameters: The time it takes for the obstacle to reach the predicted collision point. The time it takes for the robots to reach the same collision point. =| |: The absolute value of the time difference. According to... Risk assessment: Safe zone: If The robot and obstacles are unlikely to collide, so there is no need to adjust the path immediately. For example, in Figure 5 middle S 1 From S 1 to S′ The motion of 1 will not intersect with the robot's path. Collision risk: If There is a significant risk of collision. For example, in Figure 2 middle, S 2 (close to) S′ 2) and S 3 (close to) S′ 3) There is a risk of collision when the robots reach the same location; S303, For obstacles posing a collision risk, determine the spatial division of a danger zone to prevent robot collisions based on the obstacle's direction of motion. If the predicted path of the obstacle intersects with the robot's future trajectory, and candidate collision points are assessed as posing a collision risk, then the spatial division of the danger zone is determined based on the obstacle's direction of motion. For example: Upward movement: The danger zone is defined above the global path (e.g., S 2 to S′ 2). Downward movement: The danger zone is defined below the global path (e.g., S 3 to S′ 3) This motion vector-based spatial partitioning method simplifies obstacle avoidance analysis by focusing only on dynamically defined danger zones. Compared to analyzing the entire motion boundary of each obstacle, this method reduces path length and planning time while maintaining safety and responsiveness in dynamic environments.

[0029] In this embodiment, when calculating the local path from the current node to the next current node using the dynamic window method in step S106, the method further includes selecting the motion control parameters of the current node based on the obstacle distribution within the current window where the current node is located: obtaining the local obstacle density in the current environment, and determining the robot's motion control parameters in the current environment by querying the local obstacle density-motion control parameter association table. The local obstacle density-motion control parameter association table records the mapping relationship data between the local obstacle density and the robot's motion control parameters in the current environment, and the local obstacle density and the robot's motion control parameters in the current environment have an inverse relationship. The motion control parameters include some or all of the robot's speed, acceleration, angular velocity, and braking distance. Any node... Local obstacle density refers to the density of nodes. The ratio between the number of obstacle grids within a specified surrounding area and the total number of grids. As an optional implementation, to achieve safe and efficient navigation in complex environments, this embodiment proposes an adaptive speed adjustment strategy that quantitatively correlates the robot's speed with the density of surrounding local obstacles. This method adjusts the linear and angular velocities according to real-time environmental conditions, specifically by dividing the local obstacle density into multiple levels: low density (…). <0.1): In a sparse environment, the robot increased its maximum linear and angular velocities to 1.5 times the baseline values. Experiments confirmed that this setup provided sufficient reaction time and maneuverability. (0.1) 0.2): To account for potential dynamic obstacles, the speed was set to 1.3 times the baseline value. Path safety was verified through Dijkstra-based simulations, while maintaining a safety index. ,in d obs It is the distance to the nearest obstacle. v This is the current velocity. Medium density (0.2) 0.4): The speed is reduced to 0.9 times the baseline value to enhance motion stability. Experiments show that this setting improves smoothness and controllability. High density ( 0.4): The algorithm activates a safety mode, limiting the speed to 0.8 times the baseline value. Based on collision theory, the robot's braking distance... Must meet: , in, Ground friction coefficient, g It is gravitational acceleration.d min It is the minimum safe distance from obstacles.

[0030] In this embodiment, step S107 fuses the local paths between nodes to obtain the final planned path from the starting point to the ending point. Traditional global path planning algorithms (such as A* algorithm) typically ignore dynamic obstacles, which may lead to potential collisions during navigation. Conversely, local path planning methods (such as Dynamic Window Method, DWA) lack awareness of the global path, which may lead to getting trapped in local optima. To overcome these complementary limitations, a fused IBA-IDWA algorithm is proposed. This algorithm uses an improved bidirectional A* algorithm for global planning to obtain a global path, and an improved Dynamic Window Method (IDWA) for real-time local obstacle avoidance to obtain a local path.

[0031] To verify the performance of the path planning method combining the bidirectional A* algorithm and the dynamic window method described herein, simulation experiments were conducted in this embodiment. All experiments were performed in a Python 3.9.12 environment using an Intel i5-8250U CPU. Performance evaluation metrics included: planning time (seconds), path length (meters), success rate (percentage of trials reaching the target), and maximum path deviation. p The calculation formula is as follows: ; in, n Indicates the number of experiments. L i For the first i The actual path length of this experiment. L The shortest path length is represented by the theoretical shortest path length (approximately obtained by the Euclidean distance between the starting point and the ending point). The experimental setup mainly consists of two parts: Ablation experiments: separating and evaluating the impact of each improvement measure. Ablation experiments were conducted to evaluate the contributions of the improved dynamic window method (IDWA) and the improved bidirectional A-star algorithm (IBA). The experiments included: (1) A-star + DWA; (2) Bidirectional A-star (BA-star) + DWA; (3) Improved Bidirectional A-star (IBA) + DWA; (4) A-star + IDWA; (5) BA-star + IDWA; (6) IBA + IDWA; the results are shown in Table 2. Comparative experiments: the performance was compared with the traditional method, and the results are shown in Tables 3 and 4.

[0032] Table 2: Average data of the six methods running on 1000 maps

[0033] The results analysis shown in Table 2 indicate that the traditional Dynamic Window Method (DWA) approach (i.e., A-Star + DWA, BA-Star + DWA, IBA + DWA) performs poorly in terms of planning time, path length, and success rate, and is significantly worse than the improved Dynamic Window Method (IDWA). In particular, the IBA + IDWA combination proposed in this embodiment achieves the best overall performance, demonstrating higher planning efficiency, shorter path length, and a higher success rate, thus validating the effectiveness of the integrated improvement.

[0034] Table 3: Performance Comparison of Global Planning Methods

[0035] Table 3 shows the experimental data comparison of the global planning algorithm in a static environment. As can be seen from Table 3, in the comparative experiment of the A* algorithm, in terms of path length, the improved bidirectional A* algorithm in this paper reduces the path length by 7.01m compared with the traditional A* algorithm; in terms of the number of nodes, compared with A*1 and A*2, the method in this embodiment reduces the number of nodes by 43 and 5 respectively; in terms of shortest path deviation, compared with A*1 and A*2, the method in this embodiment reduces the deviation by 3.42 and 4.07 respectively. The experimental results verify the stability of the improved algorithm (IBA) in terms of path length, number of nodes, and shortest path length deviation; in terms of success rate, compared with the traditional A* algorithm, the method in this embodiment increases from 85.65% to 97.70%, an improvement of 14.07%.

[0036] Table 4: Performance Comparison of Fusion Algorithms

[0037] Table 4 shows the experimental data comparison of the fusion algorithm under dynamic environment. As can be seen from Table 4, compared with Fusion Algorithm 1 and Fusion Algorithm 2, the method in this embodiment (IBA-IDWA) reduces path length by 2.07m and 1.28m respectively; reduces shortest path deviation by 3.91 and 4.87 respectively; reduces planning time by 22.63s and 11.34s respectively; and increases success rate from 85.92% and 88.73% to 94.75%, representing improvements of 10.28% and 6.78% respectively. The overall performance of the method in this embodiment (IBA-IDWA) is superior to existing algorithms.

[0038] In summary, this embodiment presents a path planning method that integrates the improved Bidirectional A* algorithm (IBA) with the improved Dynamic Window Method (IDWA), aiming to address the challenges of autonomous mobile robots navigating in dynamic environments. The proposed IBA introduces two key improvements over the traditional IBA algorithm: first, it incorporates a heuristic function weighted by obstacle density to better approximate the actual path cost; second, it employs a redundant node elimination strategy to optimize the path and reduce computational overhead. In terms of local planning, the IDWA algorithm extends the traditional Dynamic Window Method by: improving path endpoint selection through trajectory point evaluation; dynamically adjusting the robot speed based on local obstacle density to enhance safety and motion efficiency; and implementing a time-window-based danger zone prediction mechanism to significantly improve real-time obstacle avoidance capabilities. Comprehensive comparative and ablation experiments validate the effectiveness of the IBA-IDWA framework.

[0039] Furthermore, this embodiment also provides a path planning system integrating the bidirectional A* algorithm and the dynamic window method, including a microprocessor and a memory interconnected thereon. The microprocessor is programmed or configured to execute the path planning method integrating the bidirectional A* algorithm and the dynamic window method. Additionally, this embodiment provides a computer-readable storage medium storing a computer program or instructions programmed or configured to execute the path planning method integrating the bidirectional A* algorithm and the dynamic window method via a processor. Furthermore, this embodiment also provides a computer program product including a computer program or instructions programmed or configured to execute the path planning method integrating the bidirectional A* algorithm and the dynamic window method via a processor.

[0040] Those skilled in the art will understand that the technical solutions provided by this invention may take the form of a method, system, or computer program product. Therefore, this invention may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this invention may take the form of a computer program product embodied on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. 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, produce an implementation of the flowchart... Figure 1One or more processes and / or boxes Figure 1 The 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 functions specified in one or more boxes. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus 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.

[0041] The above description is merely a preferred embodiment of the present invention. The scope of protection of the present invention is not limited to the above embodiments. All technical solutions falling within the scope of the present invention's concept are within the scope of protection of the present invention. It should be noted that for those skilled in the art, any improvements and modifications made without departing from the principles of the present invention should also be considered within the scope of protection of the present invention.

Claims

1. A path planning method integrating the bidirectional A* algorithm and the dynamic window method, characterized in that... Includes the following steps: S101 uses the bidirectional A* algorithm to calculate the global path from the starting point to the ending point; S102, Traverse the global path to remove redundant nodes in the global path; S103, find the initial current node in the global path after removing redundant nodes; S104, Determine if the current node is the endpoint; if it is the endpoint, proceed to step S107. Otherwise, proceed to step S105; S105, determine the next current node based on the current node and the global path; S106, use the dynamic window method to calculate the local path from the current node to the next current node, take the next current node as the new current node, and jump to step S104; S107 merges the local paths between nodes to obtain the final planned path from the starting point to the end point.

2. The path planning method integrating the bidirectional A* algorithm and the dynamic window method according to claim 1, characterized in that, Step S101 includes: S201, create queues OPEN_start and OPEN_goal, determine the coordinates of the start and end points, where queue OPEN_start is used to store nodes in the search process starting from the start point, and queue OPEN_goal is used to store nodes in the search process starting from the end point; S202, add the starting point to the queue OPEN_start, add the ending point to the queue OPEN_goal, set the cost function g of the starting point and the ending point to 0, calculate the value of the heuristic function h of the starting point and the ending point according to the preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. S203, check if the queues OPEN_start and OPEN_goal are both empty. If they are, it means that a global path from the start point to the end point cannot be found, so end and exit; otherwise, jump to step S204. S204: Retrieve node n1 with the smallest evaluation function f from queue OPEN_start. If node n1 is in queue OPEN_goal, a global path is found. Starting from node n1, backtrack towards the starting and ending points of the nodes recorded in queues OPEN_start and OPEN_goal, merging the nodes in both directions to form a complete global path, and proceed to step S102. If node n1 is not in queue OPEN_goal, expand the neighbors of node n1 by adding eligible neighbor nodes to queue OPEN_start. The cost function g of any added neighbor node n1' is the sum of the cost function g of node n1 and the distance cost cost(n1,n1') from node n1 to that neighbor node n1'. Calculate the heuristic function h of neighbor node n1' according to a preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. Retrieve node n1 from queue OPEN_goal. Find the node n2 with the smallest evaluation function f. If node n2 is in the queue OPEN_start, then a global path has been found. Starting from node n2, backtrack towards the starting point and the end point, merging the nodes recorded in the queues OPEN_start and OPEN_goal to form a complete global path, and proceed to step S102. If node n2 is not in the queue OPEN_start, then expand the neighbors of node n2 by adding eligible neighbor nodes to the queue OPEN_goal. The cost function g of any added neighbor node n2' is the sum of the cost function g of node n2 and the distance cost cost(n2,n2') from node n2 to that neighbor node n2'. Calculate the heuristic function h of the neighbor node n2' according to the preset heuristic function, and use the sum of the cost function g and the heuristic function h as the value of the evaluation function f. Proceed to step S203.

3. The path planning method integrating the bidirectional A* algorithm and the dynamic window method according to claim 2, characterized in that, The function expression of the heuristic function is: ; in, For nodes The value of the heuristic function h, For nodes The actual cost, The weighting factor is used to control the influence of obstacle density. For nodes The density of surrounding local obstacles node Euclidean distance to the destination, for any node Local obstacle density refers to the density of nodes. The ratio between the number of obstacle grids within a specified area and the total number of grids.

4. The path planning method integrating the bidirectional A* algorithm and the dynamic window method according to claim 1, characterized in that, In step S102, when traversing the global path to remove redundant nodes, the redundant nodes refer to nodes that do not affect the feasibility of the path. A node that does not affect the feasibility of the path means that the connection line between the parent node of the node and the subsequent nodes on the global path of the node does not intersect with obstacles in the environment.

5. The path planning method integrating the bidirectional A* algorithm and the dynamic window method according to claim 1, characterized in that, When calculating the local path from the current node to the next current node using the dynamic window method in step S106, the function expression of the trajectory evaluation function used by the dynamic window method is as follows: ; in, For trajectory evaluation function, For distance terms based on trajectory points, Let be the obstacle distance evaluation function, which is the reciprocal of the minimum distance between the robot and surrounding obstacles. Here is the speed evaluation function, whose value is the deviation between the robot's current speed and its maximum speed within the dynamic window. Let be the orientation angle evaluation function. The value of the orientation angle evaluation function is the angle difference between the robot's orientation at the predicted endpoint and the local target direction, and we have: ; in, Let the coordinates be the coordinates of the next current node. These are the coordinates of the current node.

6. The path planning method integrating the bidirectional A* algorithm and the dynamic window method according to claim 1, characterized in that, When calculating the local path from the current node to the next current node using the dynamic window method in step S106, the danger zone used to prevent robot collisions is defined as follows: S301 uses a prediction window of fixed time size to estimate the potential motion range of each obstacle; calculates the distance from each obstacle to the current node based on the potential motion range of the obstacle, thereby identifying the nearest obstacle; Furthermore, based on whether the potential range of motion of the obstacle intersects with the global path, the intersection point of the potential range of motion and the global path is regarded as a candidate collision point and added to the candidate collision point set; S302, for each candidate collision point in the candidate collision point set, calculate the time difference between the time it takes for the robot to reach the candidate collision point and the time it takes for the obstacle to reach the candidate collision point, and compare the time difference with a threshold to determine the collision risk between the robot and the obstacle. S303, for obstacles that pose a collision risk, determines the spatial division of the danger zone to prevent the robot from colliding with the obstacle based on the direction of the obstacle's movement.

7. The path planning method integrating the bidirectional A* algorithm and the dynamic window method according to claim 1, characterized in that, Step S106, when calculating the local path from the current node to the next current node using the dynamic window method, also includes selecting the motion control parameters of the current node based on the obstacle distribution within the current window where the current node is located: obtaining the local obstacle density in the current environment, and determining the robot's motion control parameters in the current environment by querying the local obstacle density-motion control parameter association table. The local obstacle density-motion control parameter association table records the mapping relationship data between local obstacle density and the robot's motion control parameters in the current environment, and the local obstacle density and the robot's motion control parameters in the current environment have an inverse relationship. The motion control parameters include some or all of the robot's velocity, acceleration, angular velocity, and braking distance, for any node. Local obstacle density refers to the density of nodes. The ratio between the number of obstacle grids within a specified area and the total number of grids.

8. A path planning system integrating the bidirectional A* algorithm and the dynamic window method, comprising a microprocessor and a memory interconnected thereon, characterized in that, The microprocessor is programmed or configured to execute the path planning method that combines the bidirectional A* algorithm with the dynamic window method as described in any one of claims 1 to 7.

9. A computer-readable storage medium storing a computer program or instructions, characterized in that, The computer program or instructions are programmed or configured to execute, via a processor, the path planning method that combines the bidirectional A* algorithm with the dynamic window method as described in any one of claims 1 to 7.

10. A computer program product, comprising a computer program or instructions, characterized in that, The computer program or instructions are programmed or configured to execute, via a processor, the path planning method that combines the bidirectional A* algorithm with the dynamic window method as described in any one of claims 1 to 7.

Citation Information

Cited By

  • Intelligent ship auxiliary berthing system and method based on UE4 engine

    CN121900423A