Wheeled mobile robot path planning method fusing improved A* algorithm and enhanced DWA algorithm

By integrating the improved A* and enhanced DWA algorithms, and combining adaptive weights, direction-first expansion, obstacle perception, and path smoothing, the efficiency and smoothness issues of traditional algorithms are solved, enabling efficient autonomous navigation of differential-driven wheeled mobile robots in complex environments.

CN121857716APending Publication Date: 2026-04-14DALIAN UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-28
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Traditional A* algorithms suffer from low search efficiency and insufficient path smoothness, while DWA algorithms are prone to getting trapped in local minima, making it difficult to achieve efficient autonomous navigation in complex environments.

Method used

By integrating the improved A* algorithm and the enhanced DWA algorithm, and using an adaptive weight heuristic function, a direction-first expansion strategy, obstacle perception node selection, and path smoothing post-processing, combined with a look-ahead mechanism, a hierarchical global-local fusion path planning framework is constructed.

Benefits of technology

It improves the search efficiency and quality of path planning, avoids local minima, and enables robots to navigate autonomously in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121857716A_ABST
    Figure CN121857716A_ABST
Patent Text Reader

Abstract

The invention discloses a wheeled mobile robot path planning method integrating an improved A * algorithm and an enhanced DWA algorithm, and belongs to the technical field of mobile robot autonomous navigation. Firstly, in a global planning layer, based on a robot kinematics model, an A * algorithm is improved, and an adaptive weight heuristic function, a direction priority expansion strategy, an obstacle sensing node selection mechanism and a path smoothing post-processing method based on sight line detection are introduced. Then, in a local planning layer, an enhanced DWA algorithm is provided, and a look-ahead point from a global path is introduced as a local planning target to guide the robot to advance along a global optimal path. The problems that a traditional A * algorithm is low in search efficiency and insufficient in path smoothness and a traditional DWA algorithm is prone to falling into a local minimum value can be solved, the method is superior to a traditional method in the aspects of search efficiency, path smoothness, obstacle avoidance capacity and real-time performance, efficient, safe and stable navigation of the mobile robot in a complex environment can be achieved, and the method is suitable for popularization and application. And the method has high engineering application value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of autonomous navigation technology for mobile robots, specifically relating to a path planning method for wheeled mobile robots that integrates the improved A* algorithm and the enhanced Dynamic Window Approach (DWA) algorithm, applicable to autonomous navigation tasks of differential drive wheeled mobile robots in complex indoor environments. Background Technology

[0002] Autonomous navigation is a core capability for mobile robots in various application scenarios such as warehousing and logistics, service robots, and industrial automation. Path planning, as a key component of the autonomous navigation system, determines the robot's trajectory from its current position to its target position, while also avoiding collisions with obstacles. The quality of path planning directly affects the operational efficiency, safety performance, and energy consumption of the mobile robot system.

[0003] Path planning algorithms can be broadly categorized into global path planning and local path planning. Global path planning algorithms include Dijkstra's algorithm, A* algorithm, and Rapid Expanding Random Tree (RRT), which calculate the complete trajectory based on prior environmental map information. Among them, the A* algorithm, proposed by Hart et al. in 1968, has become one of the most widely used algorithms due to its ability to efficiently identify the optimal path through a heuristic search mechanism. However, the traditional A* algorithm has several inherent drawbacks: expanding too many unnecessary nodes leads to reduced search efficiency; the generated path contains a large number of turning points, resulting in insufficient smoothness; and it cannot handle dynamic obstacles in real time.

[0004] Local path planning algorithms include Dynamic Window (DWA), Artificial Potential Field (APF), and Model Predictive Control, focusing on real-time obstacle avoidance and trajectory generation. The DWA algorithm, proposed by Fox et al. in 1997, searches for the optimal velocity command within a dynamic window constrained by the robot's kinematics and dynamics. While DWA performs excellently in real-time obstacle avoidance, it inherently lacks global environmental awareness as a local planner and is prone to getting trapped in local minima in environments with complex obstacle configurations (such as U-shaped traps).

[0005] To address these limitations, researchers have explored various hybrid approaches combining global and local planning methods. The main challenge lies in effectively integrating the global optimality of path planning with the real-time responsiveness of local planning, while maintaining computational efficiency suitable for embedded platforms. Existing solutions cannot handle dynamic obstacles by relying solely on global planning, while relying solely on local planning is prone to dead zones. Therefore, a hybrid path planning method that can balance global optimality and real-time local responsiveness is urgently needed. Summary of the Invention

[0006] To address the issues of low search efficiency and insufficient path smoothness in traditional A* algorithms, as well as the tendency of traditional DWA algorithms to get trapped in local minima, this invention provides a path planning method for wheeled mobile robots that integrates an improved A* algorithm and an enhanced DWA algorithm. This method utilizes improved strategies such as adaptive weight heuristic functions, direction-first expansion strategies, obstacle perception node selection, and path smoothing post-processing, combined with enhanced DWA local planning based on a look-ahead mechanism. This solves the problems of low search efficiency, poor path smoothness, and susceptibility to local minima in traditional path planning algorithms, enabling efficient autonomous navigation of robots in complex environments.

[0007] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0008] A path planning method for wheeled mobile robots, integrating an improved A* algorithm and an enhanced DWA algorithm, is proposed, constructing a hierarchical global-local fusion path planning framework. First, in the global planning layer, based on the robot's kinematic model, the A* algorithm is improved by introducing an adaptive weight heuristic function, a direction-first expansion strategy, an obstacle-aware node selection mechanism, and a path smoothing post-processing method based on line-of-sight detection. This reduces the number of search nodes, improves search efficiency, and enhances path quality. Subsequently, in the local planning layer, an enhanced DWA algorithm is proposed. By introducing a look-ahead point derived from the global path as the local planning objective, the robot is guided to move along the globally optimal path, avoiding local traps such as U-shaped obstacles. The method includes the following steps:

[0009] Step S1: Establish a kinematic model of the differential-drive wheeled mobile robot to describe the motion constraints of the differential-drive wheeled mobile robot in a planar environment; specifically including the following sub-steps:

[0010] Step S1-1: Establish the coordinate system of the differential drive wheeled mobile robot and the world coordinate system;

[0011] Assume the origin of the local coordinate system of the differential-driven wheeled mobile robot is... Located at the geometric center of its two drive wheels. Its direction of motion is... Consistent, the distance between the two drive wheels is Assume the angular velocity of the revolver is... The linear velocity is The angular velocity of the right wheel is The linear velocity is The wheel radius is ; around The heading angle of the axis is . This is the turning radius of the differential-drive wheeled mobile robot. Meanwhile, the position and orientation of the differential-drive wheeled mobile robot in the global coordinate system can be defined as follows: .

[0012] Based on the motion model, the angular velocity of the left front drive wheel of the differential drive wheeled mobile robot is known to be... The angular velocity of the right front drive wheel is The angular velocity is measured by the motor's photoelectric encoder.

[0013] (1)

[0014] in, Indicates the angular velocity of the left front drive wheel; This indicates the angular velocity of the right front drive wheel.

[0015] Based on wheel radius The linear velocities of the left and right wheels can be obtained. , :

[0016] (2)

[0017] in, Indicates the linear velocity of the left front drive wheel; This indicates the linear velocity of the right front drive wheel.

[0018] Utilizing the linear velocity of the left and right wheels and The geometric center point of the differential-drive wheeled mobile robot can be calculated. Linear velocity and angular velocity:

[0019] (3)

[0020] The angular velocities of the left and right wheels in formula (1) and Substituting into formula (3), we get the following formula:

[0021] (4)

[0022] in, Indicates the distance between the two drive wheels; Indicates the radius of the wheel.

[0023] Step S1-2: Define the angular velocity parameters of the left and right drive wheels; when the linear velocity magnitude and direction of motion of the left and right wheels of the differential drive wheeled mobile robot are not exactly the same, its forward path will change. In theory, we can obtain the instantaneous turning radius at this time:

[0024] (5)

[0025] From formula (5), we can conclude that the turning radius of a differential-drive wheeled mobile robot is determined by the linear velocity of the left and right wheels. When the mobile robot moves in a straight line, at this time... , . when At this time, the differential-driven wheeled mobile robot moves along a curved trajectory with a turning radius of 𝑟. If the turning radius changes, the speed and angle of the differential-driven wheeled mobile robot will also change.

[0026] Steps S1-3: Determine the relationship between the guide wire velocity and angular velocity; obtain the geometric center point of the differential-driven wheeled mobile robot. Once the linear and angular velocities of the motion are determined, coordinate transformations can be used to represent the differential-driven wheeled mobile robot in the global coordinate system. The velocity vector in, i.e.:

[0027] (6)

[0028] in, This indicates that the differential drive wheeled mobile robot is in The velocity vector along the axial direction.

[0029] The local coordinate system of the differential-driven wheeled mobile robot can be obtained from formula (6). To the global coordinate system The mapping relationship, i.e., the rotation matrix :

[0030] (7)

[0031] Assume the initial position and orientation of the differential-driven wheeled mobile robot are as follows: Integrating equation (7) yields the position and orientation of the differential-driven wheeled mobile robot in the global coordinate system at any given time:

[0032] (8)

[0033] in, Indicates time.

[0034] Steps S1-4: Update the pose of the differential-driven wheeled mobile robot based on the kinematic model;

[0035] When the differential-driven wheeled mobile robot... When it begins to move, the differential-driven wheeled mobile robot is located at time t. Move to At that time, the time was ,lie in It can dynamically determine the instantaneous center of rotation. The coordinates are:

[0036] (9)

[0037] In addition, in time Position of differential drive wheeled mobile robot According to Position and angular velocity It is represented as shown in the following formula:

[0038] (10)

[0039] in, Indicates the instantaneous center of rotation at Coordinate components along the axis, Indicates the instantaneous center of rotation at Coordinate components along the axis, This indicates a differential-driven wheeled mobile robot from Move to The time difference.

[0040] Differential drive wheeled mobile robot from Point movement to Total distance and rotation angle We can obtain the following formula:

[0041] (11)

[0042] Using the above formulas (formula numbers 1-11), when the rotation radius, travel distance, and rotation angle of the differential-driven wheeled mobile robot are predetermined, the linear velocity required for the differential-driven wheeled mobile robot to move in a curved path can be dynamically obtained. , And angular velocity ω.

[0043] Step S2: Based on the kinematic model and feasible motion constraints of the differential-driven wheeled mobile robot obtained in Step S1, Step S2 designs an improved A* global path planning method to generate a global reference path in the grid map that satisfies the motion characteristics of the differential-driven wheeled mobile robot; specifically, it includes the following sub-steps:

[0044] S2-1: Design an adaptive weight heuristic function to enhance search efficiency while maintaining path quality;

[0045] To enhance search efficiency while maintaining path quality, an adaptive weight heuristic function is proposed, dynamically adjusting weights based on search progress. The basic idea is to increase heuristic weights in the early stages of the search to quickly approach the target region, and then decrease the weights in the later stages to ensure high-quality path discovery. The adaptive weight heuristic evaluation function is defined as follows:

[0046] (12)

[0047] in, For evaluation functions; From the starting node to the current node The actual cost; For weighting functions; For the node Heuristic cost estimation to the target node.

[0048] The weighting function Calculated based on the current search progress:

[0049] (13)

[0050] in, Indicates the maximum weight coefficient; Indicates the minimum weight coefficient; Indicates progress indicators; Represents a node;

[0051] The progress indicators Reflects the proximity of the currently found target:

[0052] (14)

[0053] in This represents a heuristic estimate of the distance from the starting point to the target.

[0054] Weighting function The value is limited to a preset minimum and maximum value, and is dynamically adjusted as the search progresses. As the search gradually approaches the target, Approaching 1, The value is gradually reduced to 1.0, causing the algorithm's behavior to approach the standard A* algorithm to ensure the discovery of the optimal path near the target region. The theoretical basis of this adaptive mechanism stems from research on the weighted A* algorithm, which shows that when... Sometimes, the algorithm may sacrifice some optimality for faster search, and the upper bound of the generated path cost is the cost of the optimal path. times.

[0055] S2-2: Direction-first expansion strategy. This strategy prioritizes expanding nodes in the same direction as the target to reduce unnecessary turns during the search process and improve search efficiency. Specifically:

[0056] The direction-first expansion strategy optimizes the expansion order of neighboring nodes by analyzing the relationship between the current direction of movement and the target direction. Let the current node be... The parent node is The target node is The current motion direction vector is calculated as follows:

[0057] (15)

[0058] in, Indicates the current node's position in the grid map. coordinate; Indicates the current node's position in the grid map. coordinate; This indicates the parent node of the current node in the grid map. coordinate; This indicates the parent node of the current node in the grid map. coordinate.

[0059] The ideal direction vector from the current node to the target for:

[0060] (16)

[0061] in, Indicates the target node in the grid map or global coordinate system coordinate; Indicates the target node in the grid map or global coordinate system coordinate; Indicates the current node's position in the grid map. coordinate; Indicates the current node's position in the grid map. coordinate.

[0062] For each candidate expansion direction For each candidate expansion direction, first calculate its corresponding current motion direction vector and the ideal direction vector pointing to the target node. The angle between these two direction vectors is used to measure the consistency between the current expansion direction and the target direction. The direction score is defined as the cosine of this angle; a larger cosine value indicates that the current expansion direction is closer to the target direction. Therefore, expansion directions with higher direction scores are prioritized to guide the search process towards the target direction. The cosine of the vector angle is:

[0063] (17)

[0064] in, Indicates the direction score; This represents the angle between vectors.

[0065] The direction score ranges from [-1, 1], with larger values ​​indicating a higher degree of consistency between the direction and the target direction. To encourage motion continuity and reduce unnecessary turning, an inertia factor is introduced. :

[0066] (18)

[0067] The overall score is calculated using a weighted combination:

[0068] (19)

[0069] in, This indicates the overall score; This represents the target direction weighting coefficient. This represents the inertia factor weighting coefficient.

[0070] and The value of the parameter prioritizes the target direction while also considering motion continuity. The eight directions (up, down, left, right, and four diagonal directions) are sorted by their overall score, with directions scoring higher being expanded first. This strategy effectively reduces ineffective expansion during the search process, focusing the search on promising regions while generating paths with better directional consistency.

[0071] S2-3: In step S2-2, the direction-first expansion strategy reduces invalid search directions, but there may still be cases where the path approaches obstacles too early or enters areas with dense obstacles. Therefore, step S2-3 further introduces an obstacle perception node selection strategy.

[0072] The obstacle-aware node selection strategy incorporates environmental information into node evaluation by considering the distribution of surrounding obstacles. The core idea is to prioritize nodes located in open areas, avoiding premature entry into densely obstacle-filled areas and effectively reducing ineffective exploration in narrow passages and dead ends. The improved node selection scoring function is defined as:

[0073] (20)

[0074] in Represents a node The distance to the nearest obstacle can be efficiently obtained through a pre-calculated distance field; This is the obstacle distance influencing factor.

[0075] After subtracting the obstacle distance term from the evaluation function, nodes farther from the obstacle receive lower scores (but have higher priority in the priority queue). Parameters The value should be adjusted according to the specific application scenario: use a smaller value for open maps and a larger value for environments with dense obstacles.

[0076] The obstacle distance mentioned above only considers the minimum distance between a node and the nearest obstacle. In complex environments, this metric is insufficient to fully reflect the accessibility around a node. Therefore, the obstacle distance metric can be extended to the proportion of accessible grid cells within the node's neighborhood or a weighted sum of distances to more comprehensively characterize the complexity of the local environment. The proportion of accessible cells within the neighborhood:

[0077] (twenty one)

[0078] S2-4: The path obtained in step S2-3 is a discrete grid node sequence. Although the path meets the feasibility requirements, there may still be jagged inflection points. Therefore, step S2-4 performs post-processing smoothing on the path to improve the path continuity and executability.

[0079] Path smoothing post-processing further improves path quality after the initial path is determined by the A* algorithm. The main objectives include: reducing unnecessary intermediate nodes, eliminating jagged turns, shortening the total path length, and making the path more suitable for actual motion execution. A greedy smoothing algorithm based on line-of-sight detection is employed, combined with the Bresenham line algorithm for efficient collision detection. The environment is represented using a grid map, discretizing the continuous environment into several grid cells, each marked as either passable or obstructed.

[0080] The Bresenham line algorithm is an efficient rasterization algorithm used to determine all raster cells traversed by a line segment between two points. Given a starting point... and the end point The algorithm uses only integer arithmetic iterations to calculate all points on the line. For lines with an absolute slope less than 1, the algorithm proceeds along... The axis is gradually advanced:

[0081] (twenty two)

[0082] (twenty three)

[0083] in, Indicates the starting and ending points of the straight line. The absolute distance difference in direction; Indicates the starting and ending points of the straight line. The absolute distance difference in direction; Indicates the starting point of the straight line in the grid map. coordinate; This indicates the endpoint of the straight line in the grid map. coordinate; Indicates the starting point of the straight line in the grid map. coordinate; This indicates the endpoint of the straight line in the grid map. coordinate; This represents the cumulative error variable in the Bresenham line algorithm.

[0084] During the execution of the Bresenham algorithm, an error variable is initialized, and the current raster coordinates are updated based on the error variable in each iteration. When the error exceeds a threshold, the row or column index is adjusted until all raster cells between the start and end points have been traversed. In each iteration, the decision is made based on the error term. Does the coordinate need adjustment? For the grid cell sequence generated by the Bresenham algorithm, query the occupancy status of each corresponding grid cell one by one; if any grid cell is marked as an obstacle, the straight path is determined to be impassable, otherwise it is determined to be passable.

[0085] Based on the reachability determination method of the Bresenham straight-line algorithm described above, a greedy strategy can be further adopted to prune path nodes, thereby reducing unnecessary intermediate nodes. The greedy smoothing algorithm executes as follows: Starting from the path's starting point, it attempts to establish direct connections with subsequent nodes as far as possible. The current anchor point is a key node in the path that has been confirmed to be retained, and the initial anchor point is set as the path's starting point; during the smoothing process, starting from the anchor point, it attempts to directly connect to more distant path nodes. Let the current anchor point be... Check each node in reverse order starting from the end of the path. ( from arrive ), using the Bresenham algorithm for detection and Are there any unobstructed straight lines between them? If so, delete them. and All intermediate nodes between them, and set Continue processing for the new anchor point; if it does not exist, then set... Set as the new anchor point. Repeat this process until the entire path has been processed.

[0086] Step S3: After obtaining a smooth global reference path in Step S2, Step S3 further designs an enhanced dynamic window (DWA) local path planning strategy to address the real-time obstacle avoidance requirements of the differential-driven wheeled mobile robot in a dynamic environment; specifically:

[0087] To address the inherent local minima problem in traditional DWA (Directed Navigation Path Analysis), this enhanced DWA algorithm employs look-ahead points derived from an improved A* global path to guide local navigation. The core idea is to decompose the path planning problem into two levels: first, the improved A* algorithm is used to plan a globally optimal path on the environment map; then, look-ahead points on the global path are used as temporary targets for local DWA planning, guiding the robot to move along the globally optimal trajectory.

[0088] The lookahead point (borrowing from the concept of pure tracking algorithm) calculation includes three steps: (1) in the global path point sequence The robot's current position is being identified. nearest point (2) Accumulate the arc length along the path from the nearest point until the accumulated distance exceeds the preset look-ahead distance. The first path point that meets the condition is the look-ahead point; (3) Perform boundary processing. When the robot approaches the end point and the remaining path length is less than the look-ahead distance, the end point is directly designated as the look-ahead point.

[0089] The modified heading evaluation function uses the look-ahead point instead of the final target as the target point:

[0090] (28)

[0091] (29)

[0092] (30)

[0093] in, Indicates the position of the lookahead; Indicates the pose of the predicted trajectory endpoint; This represents the target heading angle from the end of the predicted trajectory to the look-ahead point; This represents the minimum angle difference between the target heading angle and the heading angle at the end of the predicted trajectory. This indicates the robot's heading angle at the predicted trajectory endpoint; This represents the value of the heading evaluation function; This indicates the linear velocity of the current sample. This represents the angular velocity of the current sample.

[0094] Since the look-ahead point is located on the globally optimal path calculated by the improved A* algorithm, the heading evaluation function guides the robot to travel along the global path instead of blindly moving towards the final goal, thus effectively preventing the robot from entering local traps such as U-shaped obstacles.

[0095] Step S4: Based on offline global path planning and online local path planning, step S4 constructs a hierarchical fusion navigation framework, and achieves stable navigation by iteratively executing local planning and referring to the global path.

[0096] The fusion algorithm proposed in this invention adopts a hierarchical architecture, which includes an offline global planning stage and an online local planning stage.

[0097] In the offline global planning phase: First, a grid map is constructed based on prior map information, and obstacle inflation is performed to ensure the robot's safe passage. The inflation radius is set to the robot radius plus a safety margin. Then, the improved A* algorithm is executed to search for the globally optimal path. Finally, the path composed of grid nodes output by the improved A* algorithm is smoothed to generate a continuous global reference path.

[0098] During the online local planning phase, the algorithm continuously executes the following loop:

[0099] S4-1: Calculate the coordinates of the look-ahead point based on the robot's current pose and global path;

[0100] S4-2: Construct a dynamic window based on the current velocity state and kinematic / dynamic constraints;

[0101] S4-3: Sample the velocity at a specified resolution within a dynamic window and perform trajectory prediction;

[0102] S4-4: Calculate the heading, distance, and speed assessment values ​​for each predicted trajectory, and then normalize and perform a weighted summation;

[0103] S4-5: Perform safety filtering to eliminate trajectories that may cause collisions;

[0104] S4-6: Select the speed with the highest total evaluation score as the control command. If there is no feasible trajectory, execute the in-place rotation obstacle avoidance strategy.

[0105] S4-7: Sends the speed command to the underlying controller for execution, and calculates the desired rotational speed of the left and right wheels through inverse kinematics;

[0106] S4-8: Update the robot state estimate and determine whether the target has been reached. If the target has not been reached, return to step S4-1 to continue iterating.

[0107] The beneficial effects of this invention are as follows:

[0108] (1) The improved A* algorithm designed in this invention significantly improves search efficiency and path quality through four improvement strategies: adaptive weight heuristic function, direction-first expansion strategy, obstacle perception node selection and path smoothing post-processing.

[0109] (2) The enhanced DWA algorithm designed in this invention adopts a look-ahead mechanism derived from the global path to guide local navigation, effectively solving the local minima problem inherent in traditional DWA. The robot can successfully navigate in U-shaped obstacle environments where traditional DWA fails, and at the same time generate smoother and shorter paths in cluttered obstacle environments, significantly improving navigation efficiency.

[0110] (3) The hierarchical fusion framework constructed in this invention successfully combines the global optimality of A* planning and the real-time responsiveness of DWA, enabling the robot to maintain the correct navigation direction while flexibly responding to local environmental changes, including dynamic obstacles.

[0111] (4) The method of the present invention is applicable to differential drive wheeled mobile robots. Based on the accurate kinematic model, the control basis is established. The pose can be estimated by odometer and the speed command can be converted into wheel speed control by inverse kinematics, so as to realize a complete planning and execution closed loop. Attached Figure Description

[0112] Figure 1 This is a schematic diagram of the kinematic model of the differential-driven wheeled mobile robot in this invention;

[0113] Figure 2 This is a comparison image before and after path smoothing; Figure 2 (a) in the diagram is the overall path diagram; Figure 2 (b) in the image is the smoothed overall path diagram; Figure 2 (c) in the image represents the magnified portion without smoothing. Figure 1 ; Figure 2 (d) in the image represents the magnified portion without smoothing. Figure 2 ; Figure 2 (e) in the image represents the enlarged portion after smoothing. Figure 1 ; Figure 2 (f) in the figure represents the magnified portion after smoothing. Figure 2 ;

[0114] Figure 3 To improve the flowchart of the A* algorithm;

[0115] Figure 4 Comparison of paths on a 35x35 map: Figure 4 (a) in the text represents the traditional A* algorithm; Figure 4 (b) in the diagram represents the optimization of the A* algorithm;

[0116] Figure 5 Here is a comparison chart of paths on a 50x50 map: Figure 5 (a) in the text represents the traditional A* algorithm; Figure 5 (b) in the diagram represents the optimization of the A* algorithm;

[0117] Figure 6 Comparison diagram of environmental paths with U-shaped obstacles: Figure 6 (a) in the text represents the traditional DWA (failure). Figure 6 (b) in the text represents the enhancement of DWA (successful);

[0118] Figure 7 Comparison diagram of paths in cluttered obstacle environments: Figure 7 In the diagram, (a) represents the traditional DWA algorithm.Figure 7 (b) in the diagram represents the enhanced DWA algorithm;

[0119] Figure 8 The flowchart for the fusion path planning algorithm. Detailed Implementation

[0120] The following detailed description, in conjunction with the accompanying drawings and specific embodiments, illustrates a path planning method for wheeled mobile robots that integrates the improved A* algorithm and the enhanced DWA algorithm.

[0121] Comparative Example 1 (Traditional A* Algorithm vs. Traditional DWA Algorithm)

[0122] The A* algorithm is a heuristic search algorithm that evaluates a function... First, expand the nodes to find the shortest path from the starting node to the target node. This represents the distance from the starting node to the current node. The actual cost, Indicates from node The heuristic cost estimation to the target node. Algorithm execution relies on two main data structures: an open list storing candidate nodes to be evaluated, typically implemented as a priority queue for efficient retrieval of minimum values. Value nodes; a closed list stores evaluated nodes to prevent duplicate expansion, typically implemented as a hash table. Search operation.

[0123] The Direct Path Waving (DWA) algorithm is a classic method for local path planning of mobile robots. Starting from the robot's current motion state, and under the premise of satisfying kinematic and dynamic constraints, the algorithm constructs a feasible search region (i.e., a dynamic window) in velocity space. It then scores the predicted trajectories corresponding to different velocity combinations using an evaluation function, selecting the velocity with the best evaluation result as the current control input.

[0124] Example 1 (The Improved Method of the Invention)

[0125] A path planning method for wheeled mobile robots that integrates the improved A* algorithm and the enhanced DWA algorithm includes the following steps:

[0126] Step S1: Establish a kinematic model of the differential-drive wheeled mobile robot to describe the motion constraints of the differential-drive wheeled mobile robot in a planar environment; specifically including the following sub-steps:

[0127] Step S1-1: Establish the coordinate system of the differential drive wheeled mobile robot and the world coordinate system;

[0128] Kinematic model of differential drive wheeled mobile robot as follows Figure 1As shown, assume the origin of the local coordinate system of the differential-driven wheeled mobile robot is... Located at the geometric center of its two drive wheels. Its direction of motion is... The distance between the two drive wheels is l. Assume the angular velocity of the left wheel is... The linear velocity is The angular velocity of the right wheel is The linear velocity is The wheel radius is The heading angle about the 𝑍 axis is . This is the turning radius of the differential-drive wheeled mobile robot. Meanwhile, the position and orientation of the differential-drive wheeled mobile robot in the global coordinate system can be defined as follows: .

[0129] Based on the motion model, the angular velocity of the left front drive wheel of the differential drive wheeled mobile robot is known to be... The angular velocity of the right front drive wheel is The angular velocity is measured by the motor's photoelectric encoder.

[0130] (1)

[0131] in, Indicates the angular velocity of the left front drive wheel; This indicates the angular velocity of the right front drive wheel.

[0132] Based on wheel radius The linear velocities of the left and right wheels can be obtained. , :

[0133] (2)

[0134] in, Indicates the linear velocity of the left front drive wheel; This indicates the linear velocity of the right front drive wheel.

[0135] Utilizing the linear velocity of the left and right wheels and The geometric center point of the differential-drive wheeled mobile robot can be calculated. Linear velocity and angular velocity:

[0136] (3)

[0137] The angular velocities of the left and right wheels in formula (1) and Substituting into formula (3), we get the following formula:

[0138] (4)

[0139] in, Indicates the distance between the two drive wheels; Indicates the radius of the wheel.

[0140] Step S1-2: Define the angular velocity parameters of the left and right drive wheels; when the linear velocity magnitude and direction of motion of the left and right wheels of the differential drive wheeled mobile robot are not exactly the same, its forward path will change. In theory, we can obtain the instantaneous turning radius at this time:

[0141] (5)

[0142] From formula (5), we can conclude that the turning radius of a differential-drive wheeled mobile robot is determined by the linear velocity of the left and right wheels. When the mobile robot moves in a straight line, at this time... , . when At this time, the differential-driven wheeled mobile robot moves along a curved trajectory with a turning radius of 𝑟. If the turning radius changes, the speed and angle of the differential-driven wheeled mobile robot will also change.

[0143] Steps S1-3: Determine the relationship between the guide wire velocity and angular velocity; obtain the geometric center point of the differential-driven wheeled mobile robot. Once the linear and angular velocities of the motion are determined, coordinate transformations can be used to represent the differential-driven wheeled mobile robot in the global coordinate system. The velocity vector in, i.e.:

[0144] (6)

[0145] in, This indicates that the differential drive wheeled mobile robot is in The velocity vector along the axial direction.

[0146] The local coordinate system of the differential-driven wheeled mobile robot can be obtained from formula (6). To the global coordinate system The mapping relationship, i.e., the rotation matrix :

[0147] (7)

[0148] Assume the initial position and orientation of the differential-driven wheeled mobile robot are as follows: Integrating equation (7) yields the position and orientation of the differential-driven wheeled mobile robot in the global coordinate system at any given time:

[0149] (8)

[0150] in, Indicates time.

[0151] Steps S1-4: Update the pose of the differential-driven wheeled mobile robot based on the kinematic model;

[0152] When the differential-driven wheeled mobile robot... When it begins to move, the differential-driven wheeled mobile robot in time Located at Move to At that time, the time was ,lie in It can dynamically determine the instantaneous center of rotation. The coordinates are:

[0153] (9)

[0154] In addition, in time Position of differential drive wheeled mobile robot According to Position and angular velocity It is represented as shown in the following formula:

[0155] (10)

[0156] in, Indicates the instantaneous center of rotation at Coordinate components along the axis, Indicates the instantaneous center of rotation at Coordinate components along the axis, This indicates a differential-driven wheeled mobile robot from Move to The time difference.

[0157] Differential drive wheeled mobile robot from Point movement to Total distance and rotation angle We can obtain the following formula:

[0158] (11)

[0159] Using the above formulas (formula numbers 1-11), when the rotation radius, travel distance, and rotation angle of the differential-driven wheeled mobile robot are predetermined, the linear velocity required for the differential-driven wheeled mobile robot to move in a curved path can be dynamically obtained. , and angular velocity .

[0160] Step S2: Based on the kinematic model and feasible motion constraints of the differential-driven wheeled mobile robot obtained in step S1, step S2 designs an improved A* global path planning method to generate a global reference path in the grid map that satisfies the motion characteristics of the differential-driven wheeled mobile robot.

[0161] S2-1: Design an adaptive weight heuristic function to enhance search efficiency while maintaining path quality;

[0162] To enhance search efficiency while maintaining path quality, an adaptive weight heuristic function is proposed, dynamically adjusting weights based on search progress. The basic idea is to increase heuristic weights in the early stages of the search to quickly approach the target region, and then decrease the weights in the later stages to ensure high-quality path discovery. The adaptive weight heuristic evaluation function is defined as follows:

[0163] (12)

[0164] in, For evaluation functions; From the starting node to the current node The actual cost; For weighting functions; For the node Heuristic cost estimation to the target node.

[0165] The weighting function Calculated based on the current search progress:

[0166] (13)

[0167] in, Indicates the maximum weight coefficient; Indicates the minimum weight coefficient; Indicates progress indicators; Represents a node.

[0168] The progress indicators Reflects the proximity of the currently found target:

[0169] (14)

[0170] in This represents a heuristic estimate of the distance from the starting point to the target.

[0171] Weighting function The value is limited to a preset minimum and maximum value, and is dynamically adjusted as the search progresses. This implementation uses... and At the start of the search Weight This amplifies the heuristic effect, driving the search rapidly toward the target. As the search gradually approaches the target, Approaching 1, The value is gradually reduced to 1.0, causing the algorithm's behavior to approach the standard A* algorithm to ensure the discovery of the optimal path near the target region. The theoretical basis of this adaptive mechanism stems from research on the weighted A* algorithm, which shows that when... Sometimes, the algorithm may sacrifice some optimality for faster search, and the upper bound of the generated path cost is the cost of the optimal path. times.

[0172] S2-2: Direction-first expansion strategy. This strategy prioritizes expanding nodes in the same direction as the target to reduce unnecessary turns during the search process and improve search efficiency. Specifically:

[0173] The direction-first expansion strategy optimizes the expansion order of neighboring nodes by analyzing the relationship between the current direction of movement and the target direction. Let the current node be... The parent node is The target node is The current motion direction vector is calculated as follows:

[0174] (15)

[0175] in, Indicates the current node's position in the grid map. coordinate; Indicates the current node's position in the grid map. coordinate; This indicates the parent node of the current node in the grid map. coordinate; This indicates the parent node of the current node in the grid map. coordinate.

[0176] The ideal direction vector from the current node to the target for:

[0177] (16)

[0178] in, Indicates the target node in the grid map or global coordinate system coordinate; Indicates the target node in the grid map or global coordinate system coordinate; Indicates the current node's position in the grid map. coordinate; Indicates the current node's position in the grid map. coordinate.

[0179] For each candidate expansion direction For each candidate expansion direction, first calculate its corresponding current motion direction vector and the ideal direction vector pointing to the target node. The angle between these two direction vectors is used to measure the consistency between the current expansion direction and the target direction. The direction score is defined as the cosine of this angle; a larger cosine value indicates that the current expansion direction is closer to the target direction. Therefore, expansion directions with higher direction scores are prioritized to guide the search process towards the target direction. The cosine of the vector angle is:

[0180] (17)

[0181] in, Indicates the direction score; This represents the angle between vectors.

[0182] The directional score range is within Within this range, a larger value indicates a higher degree of alignment between the direction and the target direction. To encourage motion continuity and reduce unnecessary turning, an inertia factor is introduced. :

[0183] (18)

[0184] The overall score is calculated using a weighted combination:

[0185] (19)

[0186] in, This indicates the overall score; This represents the target direction weighting coefficient. This represents the inertia factor weighting coefficient.

[0187] and The value of the parameter prioritizes the target direction while also considering motion continuity. The eight directions (up, down, left, right, and four diagonal directions) are sorted by their overall score, with directions scoring higher being expanded first. This strategy effectively reduces ineffective expansion during the search process, focusing the search on promising regions while generating paths with better directional consistency.

[0188] S2-3: In step S2-2, the direction-first expansion strategy reduces invalid search directions, but there may still be cases where the path approaches obstacles too early or enters areas with dense obstacles. Therefore, step S2-3 further introduces an obstacle perception node selection strategy.

[0189] The obstacle-aware node selection strategy incorporates environmental information into node evaluation by considering the distribution of surrounding obstacles. The core idea is to prioritize nodes located in open areas, avoiding premature entry into densely obstacle-filled areas and effectively reducing ineffective exploration in narrow passages and dead ends. The improved node selection scoring function is defined as:

[0190] (20)

[0191] in Represents a node The distance to the nearest obstacle can be efficiently obtained through a pre-calculated distance field; This is the obstacle distance influencing factor.

[0192] After subtracting the obstacle distance term from the evaluation function, nodes farther from the obstacle receive lower scores (but have higher priority in the priority queue). Parameters The value should be adjusted according to the specific application scenario: use a smaller value for open maps and a larger value for environments with dense obstacles.

[0193] The obstacle distance mentioned above only considers the minimum distance between a node and the nearest obstacle. In complex environments, this metric is insufficient to fully reflect the accessibility around a node. Therefore, the obstacle distance metric can be extended to the proportion of accessible grid cells within the node's neighborhood or a weighted sum of distances to more comprehensively characterize the complexity of the local environment. The proportion of accessible cells within the neighborhood:

[0194] (twenty one)

[0195] S2-4: The path obtained in step S2-3 is a discrete grid node sequence. Although the path meets the feasibility requirements, there may still be jagged inflection points. Therefore, step S2-4 performs post-processing smoothing on the path to improve the path continuity and executability.

[0196] Path smoothing post-processing further improves path quality after the initial path is determined by the A* algorithm. The main objectives include: reducing unnecessary intermediate nodes, eliminating jagged turns, shortening the total path length, and making the path more suitable for actual motion execution. A greedy smoothing algorithm based on line-of-sight detection is employed, combined with the Bresenham line algorithm for efficient collision detection. The environment is represented using a grid map, discretizing the continuous environment into several grid cells, each marked as either passable or obstructed.

[0197] The Bresenham line algorithm is an efficient rasterization algorithm used to determine all raster cells traversed by a line segment between two points. Given a starting point... and the end point The algorithm uses only integer arithmetic iterations to calculate all points on the line. For lines with an absolute slope less than 1, the algorithm proceeds along... The axis is gradually advanced:

[0198] (twenty two)

[0199] (twenty three)

[0200] in, Indicates the starting and ending points of the straight line. The absolute distance difference in direction; Indicates the starting and ending points of the straight line. The absolute distance difference in direction; Indicates the starting point of the straight line in the grid map. coordinate; This indicates the endpoint of the straight line in the grid map. coordinate; Indicates the starting point of the straight line in the grid map. coordinate; This indicates the endpoint of the straight line in the grid map. coordinate; This represents the cumulative error variable in the Bresenham line algorithm.

[0201] During the execution of the Bresenham algorithm, an error variable is initialized, and the current raster coordinates are updated based on the error variable in each iteration. When the error exceeds a threshold, the row or column index is adjusted until all raster cells between the start and end points have been traversed. In each iteration, the decision is made based on the error term. Does the coordinate need adjustment? For the grid cell sequence generated by the Bresenham algorithm, query the occupancy status of each corresponding grid cell one by one; if any grid cell is marked as an obstacle, the straight path is determined to be impassable, otherwise it is determined to be passable.

[0202] Based on the reachability determination method of the Bresenham straight-line algorithm described above, a greedy strategy can be further adopted to prune path nodes, thereby reducing unnecessary intermediate nodes. The greedy smoothing algorithm executes as follows: Starting from the path's starting point, it attempts to establish direct connections with subsequent nodes as far as possible. The current anchor point is a key node in the path that has been confirmed to be retained, and the initial anchor point is set as the path's starting point; during the smoothing process, starting from the anchor point, it attempts to directly connect to more distant path nodes. Let the current anchor point be... Check each node in reverse order starting from the end of the path. ( from arrive ), using the Bresenham algorithm for detection and Are there any unobstructed straight lines between them? If so, delete them. and All intermediate nodes between them, and set Continue processing for the new anchor point; if it does not exist, then set... Set as the new anchor point. Repeat this process until the entire path has been processed.

[0203] Figure 2 The image shows a comparison before and after path smoothing. It can be observed that after smoothing, the number of waypoints in the path is significantly reduced, the overall transitions are smoother, and the path shape becomes more natural. Under experimental conditions, the number of waypoints is reduced by approximately 60%-80%, and the total path length is shortened by approximately 5%-15%, indicating that this post-processing step has a positive effect on path quality without introducing additional search overhead.

[0204] Figure 3 To optimize the A* algorithm flowchart. Figure 4 This demonstrates the differences between the traditional A* algorithm and the optimized A* algorithm. The results of the path planning comparison on the map are shown. In the graph, green dots represent the starting point, red dots represent the ending point, black squares represent obstacles, and the light blue area represents the expanded node range during the algorithm's search. It is clearly visible from the graph that the search range of the traditional A* algorithm (light blue area) is significantly larger than that of the optimized A* algorithm. This indicates that the optimized algorithm effectively reduces unnecessary node exploration through its adaptive weight heuristic function and direction-first expansion strategy. Furthermore, after path smoothing, the path generated by the optimized A* algorithm is more concise and fluid, with a significantly reduced number of waypoints. Experimental results show that the optimized A* algorithm achieves a significant improvement in search efficiency. The traditional A* algorithm requires expanding 472 nodes, while the optimized A* algorithm only requires expanding 56 nodes, reducing the number of search nodes by 88.1%. This improvement is mainly due to the synergistic effect of the adaptive weight heuristic function and the direction-first expansion strategy, which makes the search process more focused on the target direction. In terms of runtime, the optimized A* algorithm's runtime for the original path is 0.0050 seconds, a 19.4% reduction compared to the traditional A* algorithm's 0.0062 seconds.

[0205] Figure 5 Showing Comparison of route planning results on the map. Compared to other maps, larger maps make the performance differences between algorithms more pronounced. The traditional A* algorithm's search area covers most of the map space, while the optimized A* algorithm's search area is concentrated in the narrow passage between the start and end points, demonstrating the advantage of optimization strategies in large-scale search spaces. In even larger maps, the advantages of the optimized A* algorithm become even more apparent. Regarding the number of search nodes, the traditional A* algorithm expands by 703 nodes, while the optimized A* algorithm expands by only 93 nodes, a reduction of 86.8%. In terms of runtime, the original path runtimes of the two algorithms are similar, at 0.0219 seconds and 0.0222 seconds respectively. This is because as the map size increases, the proportion of the cost of a single node processing operation in the total time decreases relatively.

[0206] Step S3: After obtaining a smooth global reference path in Step S2, Step S3 further designs an enhanced dynamic window (DWA) local path planning strategy to address the real-time obstacle avoidance requirements of the differential-driven wheeled mobile robot in a dynamic environment; specifically:

[0207] To address the inherent local minima problem in traditional DWA (Directed Navigation Path Analysis), this enhanced DWA algorithm employs look-ahead points derived from an improved A* global path to guide local navigation. The core idea is to decompose the path planning problem into two levels: first, the improved A* algorithm is used to plan a globally optimal path on the environment map; then, look-ahead points on the global path are used as temporary targets for local DWA planning, guiding the robot to move along the globally optimal trajectory.

[0208] The lookahead point (borrowing from the concept of pure tracking algorithm) calculation includes three steps: (1) in the global path point sequence The robot's current position is being identified. nearest point (2) Accumulate the arc length along the path from the nearest point until the accumulated distance exceeds the preset look-ahead distance. The first path point that meets the condition is the look-ahead point; (3) Perform boundary processing. When the robot approaches the end point and the remaining path length is less than the look-ahead distance, the end point is directly designated as the look-ahead point.

[0209] The modified heading evaluation function uses the look-ahead point instead of the final target as the target point:

[0210] (28)

[0211] (29)

[0212] (30)

[0213] in, Indicates the position of the lookahead; Indicates the pose of the predicted trajectory endpoint; This represents the target heading angle from the end of the predicted trajectory to the look-ahead point; This represents the minimum angle difference between the target heading angle and the heading angle at the end of the predicted trajectory. This indicates the robot's heading angle at the predicted trajectory endpoint; This represents the value of the heading evaluation function; This indicates the linear velocity of the current sample. This represents the angular velocity of the current sample.

[0214] Since the look-ahead point is located on the globally optimal path calculated by the improved A* algorithm, the heading evaluation function guides the robot to travel along the global path instead of blindly moving towards the final goal, thus effectively preventing the robot from entering local traps such as U-shaped obstacles.

[0215] To verify the effectiveness of the enhanced DWA algorithm, comparative experiments were conducted in two test environments, using both the traditional DWA and enhanced DWA algorithms, with the same robot parameters and weight settings. Two typical obstacle environments were designed:

[0216] The first type is a U-shaped obstacle environment, simulating a typical local trap scenario to test the algorithm's ability to resist local minima. In this environment, the obstacles form a U-shaped groove, and the robot needs to either back up or go around it to reach the target point located on the other side of the U-shaped opening.

[0217] The second type is a cluttered obstacle environment, where multiple irregular obstacles are diagonally distributed between the starting point and the target point, used to test path optimization capabilities. This environment requires the robot to find a relatively optimal path among multiple obstacles.

[0218] In the U-shaped obstacle scenario, the experimental results are as follows: Figure 6 As shown, the traditional DWA algorithm fails completely; the robot gets trapped by the U-shaped obstacle and cannot escape the local minimum. This is because the traditional DWA's heading evaluation function directly points to the final goal, which is obscured by the U-shaped obstacle, causing the robot to continuously move into the U-shape and eventually get stuck in a dead zone. In contrast, the augmented DWA algorithm successfully bypasses the U-shaped obstacle and reaches the goal under the guidance of the A* global path. The global path has been pre-planned to bypass the U-shaped obstacle, and the look-ahead point is located on the global path, guiding the robot to move in the correct direction. This result fully verifies the augmented algorithm's ability to avoid local traps.

[0219] In a cluttered obstacle scenario, the experimental results are as follows: Figure 7As shown, both algorithms successfully reached the target, but their performance differed significantly. Traditional DWA lacks global information, meandering among obstacles with a winding path. Enhanced DWA, on the other hand, travels along the optimal corridor planned by A*, producing a smoother path that is closer to a straight line. Quantitative analysis shows that enhanced DWA reduces path length by approximately 15-20% and navigation time by approximately 10-15%, significantly improving navigation efficiency.

[0220] Step S4: Based on offline global path planning and online local path planning, step S4 constructs a hierarchical fusion navigation framework, and achieves stable navigation by iteratively executing local planning and referring to the global path.

[0221] Figure 8 To integrate the path planning algorithm process framework, the fusion algorithm proposed in this invention adopts a layered architecture, which includes an offline global planning stage and an online local planning stage.

[0222] In the offline global planning phase: First, a grid map is constructed based on prior map information, and obstacle inflation is performed to ensure the robot's safe passage. The inflation radius is set to the robot radius plus a safety margin. Then, the improved A* algorithm is executed to search for the globally optimal path. Finally, the path composed of grid nodes output by the improved A* algorithm is smoothed to generate a continuous global reference path.

[0223] During the online local planning phase, the algorithm continuously executes the following loop:

[0224] S4-1: Calculate the coordinates of the look-ahead point based on the robot's current pose and global path;

[0225] S4-2: Construct a dynamic window based on the current velocity state and kinematic / dynamic constraints;

[0226] S4-3: Sample the velocity at a specified resolution within a dynamic window and perform trajectory prediction;

[0227] S4-4: Calculate the heading, distance, and speed assessment values ​​for each predicted trajectory, and then normalize and perform a weighted summation;

[0228] S4-5: Perform safety filtering to eliminate trajectories that may cause collisions;

[0229] S4-6: Select the speed with the highest total evaluation score as the control command. If there is no feasible trajectory, execute the in-place rotation obstacle avoidance strategy.

[0230] S4-7: Sends the speed command to the underlying controller for execution, and calculates the desired rotational speed of the left and right wheels through inverse kinematics;

[0231] S4-8: Update the robot state estimate and determine whether the target has been reached. If the target has not been reached, return to step S4-1 to continue iterating.

[0232] Matters not covered in this invention are common knowledge.

[0233] The above embodiments are only for illustrating the technical concept and features of the present invention, and are intended to enable those skilled in the art to understand the content of the present invention and implement it accordingly. They should not be construed as limiting the scope of protection of the present invention. All equivalent changes or modifications made in accordance with the spirit and essence of the present invention should be covered within the scope of protection of the present invention.

Claims

1. A path planning method for wheeled mobile robots that integrates the improved A* algorithm and the enhanced DWA algorithm is characterized by, The path planning method for the wheeled mobile robot includes the following steps: Step S1: Establish a kinematic model of the differential drive wheeled mobile robot to describe the motion constraints of the differential drive wheeled mobile robot in a planar environment; Step S2: Based on the kinematic model and feasible motion constraints of the differential-driven wheeled mobile robot obtained in Step S1, an improved A* global path planning method is designed to generate a global reference path in the grid map that satisfies the motion characteristics of the differential-driven wheeled mobile robot; specifically: S2-1: Design an adaptive weight heuristic function to dynamically adjust weights according to the search progress, thereby enhancing search efficiency while maintaining path quality; S2-2: Direction-first expansion strategy, which reduces invalid turns during the search process by prioritizing the expansion of nodes that are consistent with the target direction; S2-3: Introduce an obstacle perception node selection strategy; The obstacle perception node selection strategy incorporates environmental information into node evaluation by designing an improved node selection scoring function that takes into account the distribution of surrounding obstacles. S2-4: After the A* algorithm determines the initial path, post-processing is performed to smooth the path, improving path continuity and executability; A greedy smoothing algorithm based on line-of-sight detection is adopted, combined with the Bresenham line algorithm for efficient collision detection; the environment is represented by a grid map, which discretizes the continuous environment into several grid cells, and each grid cell is marked as passable or obstacle state; Step S3: After obtaining a smooth global reference path in step S2, an enhanced dynamic window method (DWA) local path planning strategy is designed to further address the real-time obstacle avoidance requirements of differential drive wheeled mobile robots in dynamic environments. The path planning problem is decomposed into two levels: first, the improved A* algorithm is used to plan the globally optimal path on the environment map, and then the look-ahead points on the global path are used as temporary targets for local planning of DWA to guide the robot to move along the globally optimal trajectory. Step S4: Based on offline global path planning and online local path planning, construct a hierarchical fusion navigation framework. The hierarchical fusion navigation framework includes an offline global planning stage and an online local planning stage. Stable navigation is achieved by iteratively executing local planning and referring to the global path.

2. The path planning method for a wheeled mobile robot integrating the improved A* algorithm and the enhanced DWA algorithm according to claim 1, characterized in that, Step S1 specifically involves: Step S1-1: Establish the coordinate system of the differential drive wheeled mobile robot and the world coordinate system; Assume the origin of the local coordinate system of the differential-driven wheeled mobile robot is... Located at the geometric center of its two drive wheels; its direction of motion is... Consistent, the distance between the two drive wheels is Assume the angular velocity of the revolver is... The linear velocity is The angular velocity of the right wheel is The linear velocity is The wheel radius is ; around The heading angle of the axis is ; This is the turning radius of the differential-drive wheeled mobile robot, while the position and orientation of the differential-drive wheeled mobile robot in the global coordinate system are defined as follows: ; Based on the motion model, the angular velocity of the left front drive wheel of the differential drive wheeled mobile robot is known to be... The angular velocity of the right front drive wheel is The angular velocity is measured by the motor's photoelectric encoder. (1) in, Indicates the angular velocity of the left front drive wheel; Indicates the angular velocity of the right front drive wheel; The linear velocities of the left and right wheels are obtained from the wheel radius R. , : (2) in, Indicates the linear velocity of the left front drive wheel; Indicates the linear velocity of the right front drive wheel; Utilizing the linear velocity of the left and right wheels and Calculate the geometric center point of the differential drive wheeled mobile robot. Linear velocity and angular velocity: (3) The angular velocities of the left and right wheels in formula (1) and Substituting into formula (3), we get the following formula: (4) in, Indicates the distance between the two drive wheels; Indicates the wheel radius; Step S1-2: Define the angular velocity parameters of the left and right drive wheels to obtain the instantaneous turning radius: (5) Steps S1-3: Derive the relationship between the traverse velocity and angular velocity; use coordinate transformation to represent the differential-driven wheeled mobile robot in the global coordinate system. The velocity vector in, i.e.: (6) in, This indicates that the differential drive wheeled mobile robot is in The velocity vector along the axial direction; The local coordinate system of the differential-driven wheeled mobile robot is obtained from formula (6). To the global coordinate system The mapping relationship, i.e., the rotation matrix : (7) Assume the initial position and orientation of the differential-driven wheeled mobile robot are as follows: Integrating equation (7) yields the position and orientation of the differential-driven wheeled mobile robot in the global coordinate system at any given time: (8) in, Indicates time; Steps S1-4: Update the pose of the differential-driven wheeled mobile robot based on the kinematic model; When the differential-driven wheeled mobile robot... When it begins to move, the differential-driven wheeled mobile robot is located at time t. Move to At that time, the time was ,lie in Dynamically determine the instantaneous center of rotation The coordinates are: (9) In addition, in time Position of differential drive wheeled mobile robot according to Position and angular velocity It is represented as shown in the following formula: (10) in, Indicates the instantaneous center of rotation at Coordinate components along the axis, Indicates the instantaneous center of rotation at Coordinate components along the axis, This indicates a differential-driven wheeled mobile robot from Move to Time difference; Differential drive wheeled mobile robot from Point movement to Total distance and rotation angle We obtain the following formula: (11) Using formulas (1) to (11), when the rotation radius, movement distance, and rotation angle of the differential-driven wheeled mobile robot are predetermined, the linear velocity φ required for the differential-driven wheeled mobile robot to move in a curved path can be dynamically obtained. 𝐿 , 𝑅 And angular velocity ω.

3. The path planning method for a wheeled mobile robot integrating the improved A* algorithm and the enhanced DWA algorithm according to claim 2, characterized in that, In step S2: Specifically, S2-1 is: The adaptive weight heuristic evaluation function is defined as follows: (12) in, For evaluation functions; From the starting node to the current node The actual cost; For weighting functions; For the node Heuristic cost estimation to the target node; Weighting function The value is limited to a preset minimum and maximum value, and is dynamically adjusted as the search progresses; Specifically, S2-2 is: The direction-first expansion strategy optimizes the expansion order of neighboring nodes by analyzing the relationship between the current direction of movement and the target direction; let the current node be... The parent node is The target node is The current motion direction vector is calculated as follows: (15) in, Indicates the current node's position in the grid map. coordinate; Indicates the current node's position in the grid map. coordinate; This indicates the parent node of the current node in the grid map. coordinate; This indicates the parent node of the current node in the grid map. coordinate; The ideal direction vector from the current node to the target for: (16) in, Indicates the target node in the grid map or global coordinate system coordinate; Indicates the target node in the grid map or global coordinate system coordinate; Indicates the current node's position in the grid map. coordinate; Indicates the current node's position in the grid map. coordinate; For each candidate expansion direction For each candidate expansion direction, firstly calculate its corresponding current motion direction vector and ideal direction vector pointing to the target node; by calculating the angle between the two direction vectors, measure the consistency between the current expansion direction and the target direction; the direction score is defined as the cosine of the angle, and the larger the cosine value, the closer the current expansion direction is to the target direction; therefore, the expansion direction with a higher direction score is selected first to guide the search process toward the target direction. The directional score range is within Internally, and introduce an inertia factor. : (18) The overall score is calculated using a weighted combination: (19) in, This indicates the overall score; This represents the target direction weighting coefficient. This represents the inertia factor weighting coefficient; Specifically, S2-3 is as follows: The improved node selection scoring function is defined as follows: (20) in Represents a node The distance to the nearest obstacle can be efficiently obtained through a pre-calculated distance field; The distance to obstacles is an influencing factor; After subtracting the obstacle distance term from the evaluation function, nodes farther from the obstacle receive lower scores and have higher priority in the priority queue; parameters Adjust according to specific application scenarios; The obstacle distance index is expanded to the proportion of passable grid cells in the node's neighborhood or the weighted sum of distances, comprehensively characterizing the complexity of the local environment; Specifically, S2-4 is: The Bresenham line algorithm is an efficient rasterization algorithm used to determine all raster cells traversed by a line segment between two points; given a starting point... and the end point The algorithm uses only integer arithmetic iterations to calculate all points on the line; for lines with an absolute slope less than 1, the algorithm proceeds along... The axis is gradually advanced: (22) (23) in, Indicates the starting and ending points of the straight line. The absolute distance difference in direction; Indicates the starting and ending points of the straight line. The absolute distance difference in direction; Indicates the starting point of the straight line in the grid map. coordinate; This indicates the endpoint of the straight line in the grid map. coordinate; Indicates the starting point of the straight line in the grid map. coordinate; This indicates the endpoint of the straight line in the grid map. coordinate; This represents the cumulative error variable in the Bresenham line algorithm; During the execution of the Bresenham algorithm, the error variable is initialized, and the current raster coordinates are updated based on the error variable in each iteration. When the error exceeds a threshold, the row or column index is adjusted until all raster cells between the start and end points are traversed. In each iteration, the algorithm determines the next step based on the error term. Does the coordinate need to be adjusted? For the grid cell sequence generated by the Bresenham algorithm, query the occupancy status of the corresponding grid cell one by one. If any grid cell is marked as an obstacle, the straight path is determined to be impassable; otherwise, it is determined to be passable. Based on the reachability determination method of Bresenham's straight-line algorithm, a greedy strategy is further adopted to prune the path nodes.

4. The path planning method for a wheeled mobile robot integrating the improved A* algorithm and the enhanced DWA algorithm according to claim 3, characterized in that, In S2-1: weighting function Calculated based on the current search progress: (13) in, Indicates the maximum weight coefficient; Indicates the minimum weight coefficient; Indicates progress indicators; Represents a node; The progress indicators Reflects the proximity of the currently found target: (14) in Represents a heuristic estimate from the starting point to the target; As the search gradually approaches the target... Approaching 1, Gradually reduce it to 1.0 to ensure that the optimal path is found near the target area.

5. The path planning method for a wheeled mobile robot integrating the improved A* algorithm and the enhanced DWA algorithm according to claim 4, characterized in that, In S2-2: the cosine value of the angle between the direction vectors is: (17) in, Indicates the direction score; This represents the angle between vectors.

6. The path planning method for a wheeled mobile robot integrating the improved A* algorithm and the enhanced DWA algorithm according to claim 4, characterized in that, In S2-4, the greedy smoothing algorithm executes as follows: Starting from the path's origin, it attempts to establish direct connections with subsequent nodes as far as possible; the current anchor point is a key node in the path that has been confirmed to be retained, and the initial anchor point is set as the path's origin; during the smoothing process, using the anchor point as the starting point, it attempts to directly connect to more distant path nodes; let the current anchor point be... Check each node in reverse order starting from the end of the path. ( from arrive ), using the Bresenham algorithm for detection and Are there any unobstructed straight lines between them? If so, delete them. and All intermediate nodes between them, and set Continue processing for the new anchor point; if it does not exist, then set... Set a new anchor point; repeat this process until the entire path is processed.

7. A path planning method for a wheeled mobile robot integrating an improved A* algorithm and an enhanced DWA algorithm as described in claim 6, characterized in that, Step S3 specifically involves: The lookahead calculation involves three steps: (1) in the global path point sequence The robot's current position is being identified. nearest point (2) Accumulate the arc length along the path from the nearest point until the accumulated distance exceeds the preset look-ahead distance. The first path point that meets this condition is the look-ahead point; (3) Perform boundary processing. When the robot approaches the end point and the remaining path length is less than the look-ahead distance, the end point is directly designated as the look-ahead point. The modified heading evaluation function uses the look-ahead point instead of the final target as the target point: (28) (29) (30) in, Indicates the position of the lookahead; Indicates the pose of the predicted trajectory endpoint; This represents the target heading angle from the end of the predicted trajectory to the look-ahead point; This represents the minimum angle difference between the target heading angle and the heading angle at the end of the predicted trajectory. This indicates the robot's heading angle at the predicted trajectory endpoint; This represents the value of the heading evaluation function; This indicates the linear velocity of the current sample. This represents the angular velocity of the current sample.

8. A path planning method for a wheeled mobile robot integrating an improved A* algorithm and an enhanced DWA algorithm as described in claim 7, characterized in that, Step S4 specifically involves: In the offline global planning phase: First, a grid map is constructed based on prior map information, and obstacle inflation is performed to ensure the robot's safe passage. The inflation radius is set to the robot radius plus a safety margin. Then, the improved A* algorithm is executed to search for the globally optimal path. Finally, the path composed of grid nodes output by the improved A* algorithm is smoothed to generate a continuous global reference path. During the online partial planning phase, the following loop is continuously executed: S4-1: Calculate the coordinates of the look-ahead point based on the robot's current pose and global path; S4-2: Construct a dynamic window based on the current velocity state and kinematic / dynamic constraints; S4-3: Sample the velocity at a specified resolution within a dynamic window and perform trajectory prediction; S4-4: Calculate the heading, distance, and speed assessment values ​​for each predicted trajectory, and then normalize and perform a weighted summation; S4-5: Perform safety filtering to eliminate trajectories that may cause collisions; S4-6: Select the speed with the highest total evaluation score as the control command. If there is no feasible trajectory, execute the in-place rotation obstacle avoidance strategy. S4-7: Sends the speed command to the underlying controller for execution, and calculates the desired rotational speed of the left and right wheels through inverse kinematics; S4-8: Update the robot state estimate and determine whether the target has been reached. If the target has not been reached, return to step S4-1 to continue iterating.