Robot Path Planning Research Incorporating Improved A* Algorithm and DWA Algorithm

For the traditional A* algorithm has problems such as long paths, large number of nodes, and the demand for dynamic obstacle cannot be avoided in complex environment. A mobile robot dynamic path avoidance method will be improved to improve the A* algorithm and improve DWA algorithm Two map environments are used for simulation verification. First, the evaluation function and key node selection strategy are optimized for the A* algorithm, and redundant nodes are deleted; then the dynamic obstacle distance evaluation function is added to the DWA algorithm which for the purpose of the obstacle avoidance performance can be enhanced. The results about the improved A* algorithm reduces 12.20% and 58.33% in path length and number of turning points respectively compared with the traditional A* algorithm can be obviously grasped by the simulation experiment; by using the fusion algorithm whose purpose of using arcs instead of the straight lines is to turn more smoothly, and can be closest to the global optimum while avoiding dynamic obstacles to complete the search.


Introduction
In the area of research on multi-robot autonomous navigation, path planning occupies a significant place.For illustration, the Dynamic windowing approach (DWA), artificial potential field method, genetic algo-rithm, etc.Based on local path planning, greedy algorithm, A* algorithm, Dijkstra algorithm, D* algorithm (a variant of Dijkstra algorithm), etc. [1][2][3][4][5].Based on global planning.Numerous clever algorithms exist as well, such as the Tenebrae whisker and Ant colony algorithms [6].A* algorithm is the most widely used because of its simplicity, high efficiency, fast response, and high accuracy.Bai et al. [1] introduced the artificial potential field method into the A* algorithm, the sharp nodes in the path are smoothed by three uniform B spline curves and the tracking control strategy is designed based on the model predictive control theory to achieve accurate tracking of the planned path [7].Liu et al. [11] used the jump point search method to optimize the A* algorithm, which integrated the DWA algorithm to enhance path smoothness and avoid unknown dynamic obstacles, but the path length is still too long.In Erke et al. [4], to strengthen the method's stability, a variable step size A* algorithm was recommended.Sa et al. [16] introduced the cosine function and added the exponential distance adjustment factor and the information of the node heuristic function of the parent node to the heuristic function and designed a rotation prediction method to optimize the bidirectional smoothing of the path.
The dynamic window algorithm is applied considering the situation where there is an unknown obstacle when the robot is work in [7].This algorithm for path planning can improve the obstacle avoidance ability of the robot, and the path is smoother [9][10].However, it is easy to fall into the optimal local solution and cannot reach the specified goal along the global optimum.Niu et al. [14] Improved evaluation function of A* combined with the DWA algorithm, the car could perform dynamic obstacle avoidance.However, the path is still too long.Liu et al. [9] Smoother trajectories and more timely collision avoidance by introducing evaluation factors on orientation change into the DWA algorithm path evaluation function.
For the issues of poor planning efficiency, numerous redundancy points, and turns in the traditional A* and the Dynamic windowing approach algorithms, which can lead to local optimum and lengthy paths.In practice, due to the complexity and variability of the scenario, it is difficult to meet the requirements of real-time and completeness by using global path planning or local path planning alone.Therefore, a better path planning result can be achieved by improving and integrating the two algorithms [10].This paper proposes to optimize the two algorithms and fuse them so that the obtained path can ensure global optimization and avoid random dynamic obstacles.

Environment Description
The 2D map environment described in this paper uses the raster method, and the search direction chosen is an 8-neighborhood search, in which the algorithm searches the eight neighboring nodes of the current node each time, as shown in Figure 1.

Traditional A* Algorithm
The A* algorithm is calculated by evaluating the function selected to reach the endpoint by searching the surrounding fields starting point [9,12,13].The conventional A* algorithm evaluation function formula is: bined with the DWA algorithm, the car could perform dynamic obstacle avoidance.However, the path is still too long.Liu et al. [9] Smoother trajectories and more timely collision avoidance by introducing evaluation factors on orientation change into the DWA algorithm path evaluation function.
For the issues of poor planning efficiency, numerous redundancy points, and turns in the traditional A* and the Dynamic windowing approach algorithms, which can lead to local optimum and lengthy paths.In practice, due to the complexity and variability of the scenario, it is difficult to meet the requirements of real-time and completeness by using global path planning or local path planning alone.Therefore, a better path planning result can be achieved by improving and integrating the two algorithms [10].This paper proposes to optimize the two algorithms and fuse them so that the obtained path can ensure global optimization and avoid random dynamic obstacles.

Global Planning 2.1 Environment Description
The 2D map environment described in this paper uses the raster method, and the search direction chosen is an 8neighborhood search, in which the algorithm searches the eight neighboring nodes of the current node each time, as shown in Figure 1.

Node search direction
The A* algorithm is calculated by evaluating the function selected to reach the endpoint by searching the surrounding fields starting point [9,12,13].The conventional A* algorithm evaluation function formula is: where: n means the current node; ( ) F n denotes the evaluation function from the starting point to the target point bypass the node; ( ) G n denotes the actual cost of reaching cause the resultin which is given by: 3 Improving the

Optimization
The A* algorithm [13] whose perfor fected by heuristic When the estimate the actual cost, th the computation is can be obtained; heuristic function search nodes, and tained; when the function= the actua optimal.In order t immense and falli weight α of shou summary, this pap where, d is the dis and the starting pla current node and t between the startin

Key Node Sel
To address the pro A* algorithm have ing points, which c robot while worki key node selection redundant points a of the path [12].T lection are as follo Let the set of path the position of eac starting point and ( ) where: n means the current node; F(n) denotes the evaluation function from the starting point to the target point bypass the node; G(n) denotes the actual cost of reaching the node from the starting point; H(n) is the estimated value, which denotes the estimated cost from the node to the target point, called heuristic function too.The distance between any two points is calculated using the Euclidean distance formula because the resulting estimate is the smallest [14], which is given by: for path planning can improve the obstacle avoidance ability of the robot, and the path is smoother [9][10].However, it is easy to fall into the optimal local solution and cannot reach the specified goal along the global optimum.Niu et al. [14] Improved evaluation function of A* combined with the DWA algorithm, the car could perform dynamic obstacle avoidance.However, the path is still too long.Liu et al. [9] Smoother trajectories and more timely collision avoidance by introducing evaluation factors on orientation change into the DWA algorithm path evaluation function.
For the issues of poor planning efficiency, numerous redundancy points, and turns in the traditional A* and the Dynamic windowing approach algorithms, which can lead to local optimum and lengthy paths.In practice, due to the complexity and variability of the scenario, it is difficult to meet the requirements of real-time and completeness by using global path planning or local path planning alone.Therefore, a better path planning result can be achieved by improving and integrating the two algorithms [10].This paper proposes to optimize the two al-the node from the starting point; ( ) H n is the estimated value, which denotes the estimated cost from the node to the target point, called heuristic function too.The distance between any two points is calculated using the Euclidean distance formula because the resulting estimate is the smallest [14], which is given by: ( ) ( ) ( ) 2.3 Improving the A* Algorithm

Optimization Heuristic Function
The A* algorithm is a heuristic search algorithm [13] whose performance is primarily directly affected by heuristic functions.
When the estimated cost of the heuristic function< the actual cost, there are many search nodes, and the computation is extensive, but the optimal path can be obtained; when the estimated cost of the Information Technology and Control 2023/3/52 596

Optimization Heuristic Function
The A* algorithm is a heuristic search algorithm [13] whose performance is primarily directly affected by heuristic functions.
When the estimated cost of the heuristic function< the actual cost, there are many search nodes, and the computation is extensive, but the optimal path can be obtained; when the estimated cost of the heuristic function > the actual cost, there are few search nodes, and the optimal path cannot be obtained; when the estimated cost of the heuristic function= the actual cost, the search performance is optimal.In order to prevent the estimation value is immense and falling into the local optimum, the weight α of should be ap- propriately adjusted.In summary, this paper designs a heuristic function: H n is the estimated value, which denotes the estimated cost from the node to the target point, called heuristic function too.The distance between any two points is calculated using the Euclidean distance formula because the resulting estimate is the smallest [14], which is given by: ( ) ( ) ( ) 2.3 Improving the A* Algorithm

Optimization Heuristic Function
The A* algorithm is a heuristic search algorithm [13] whose performance is primarily directly affected by heuristic functions.
When the estimated cost of the heuristic function< the actual cost, there are many search nodes, and the computation is extensive, but the optimal path can be obtained; when the estimated cost of the heuristic function > the actual cost, there are few search nodes, and the optimal path cannot be obtained; when the estimated cost of the heuristic function= the actual cost, the search performance is optimal.In order to prevent the estimation value is immense and falling into the local optimum, the weight α of should be appropriately adjusted.In summary, this paper designs a heuristic function: ( ) ( ) ( ) where, d is the distance between the current node and the starting place; l is the distance between the current node and the destination; L is the distance between the starting place and the destination.

Key Node Selection Strategy
To address the problem, the paths planned by the A* algorithm have more redundant points and turning points, which can lead to lower efficiency of the robot while working.In this paper, an optimized key node selection strategy is designed to remove redundant points and improve the search efficiency of the path [12].The specific steps of key node selection are as follows: Let the set of path nodes be , and the position of each node is known.where 1 S is the starting point and n S is the end point [10].Set ( ) , S x y , ( )  H n is the estimated value, which denotes the estimated cost from the node to the target point, called heuristic function too.The distance between any two points is calculated using the Euclidean distance formula because the resulting estimate is the smallest [14], which is given by: ( ) ( ) ( ) 2.3 Improving the A* Algorithm

Optimization Heuristic Function
The A* algorithm is a heuristic search algorithm [13] whose performance is primarily directly affected by heuristic functions.
When the estimated cost of the heuristic function< the actual cost, there are many search nodes, and the computation is extensive, but the optimal path can be obtained; when the estimated cost of the heuristic function > the actual cost, there are few search nodes, and the optimal path cannot be obtained; when the estimated cost of the heuristic function= the actual cost, the search performance is optimal.In order to prevent the estimation value is immense and falling into the local optimum, the weight α of should be appropriately adjusted.In summary, this paper designs a heuristic function: ( ) ( ) ( ) where, d is the distance between the current node and the starting place; l is the distance between the current node and the destination; L is the distance between the starting place and the destination.

Key Node Selection Strategy
To address the problem, the paths planned by the A* algorithm have more redundant points and turning points, which can lead to lower efficiency of the robot while working.In this paper, an optimized key node selection strategy is designed to remove redundant points and improve the search efficiency of the path [12].The specific steps of key node selection are as follows: Let the set of path nodes be , and the position of each node is known.where 1 S is the starting point and n S is the end point [10].Set ( ) , S x y , ( ) where, d is the distance between the current node and the starting place; l is the distance between the current node and the destination; L is the distance between the starting place and the destination.

Key Node Selection Strategy
To address the problem, the paths planned by the A* algorithm have more redundant points and turning points, which can lead to lower efficiency of the robot while working.In this paper, an optimized key node selection strategy is designed to remove redundant points and improve the search efficiency of the path [12].The specific steps of key node selection are as follows: Let the set of path nodes be , and the position of each node is known.where 1 S is the starting point and n S is the end point [10].Set ( ) , S x y , ( )   If the slope and are not equal, it means that S 1 , S 2 , S 3 three points are not on the same line, solve the equation of the line, determine whether there is an obstacle within a predetermined safe distance between the line and the obstacle, if there is no obstacle, it is determined to be a redundant turning point, delete, as shown in Figure 3a; if there is an obstacle, it is a necessary turning point, need to be retained, as shown in Figure 3b.
Next, the above steps are repeated from the beginning, and the set of nodes on the path after eliminating the redundant nodes must be updated continuously until all nodes are finished operating according to the above steps.Eliminating redundant points using the key node selection strategy makes the ideal path identified by the enhanced A* algorithm planning contain only the starting point, necessary nodes, and target points, effectively reducing the robot's path length.The procedure of the improved A* algorithm is given in Algorithm 1.

Local Planning
The DWA algorithm belongs to the category of robot local path planning.The dynamic window method samples multiple sets of velocities in a velocity vector space consisting of velocities and accelerations [11], taking into account the constraints of velocity and acceleration/deceleration performance.Then, the motion model of the robot is used to simulate the trajectory of these speeds over a while.Then the obtained trajectory is evaluated according to the evaluation index [11].
The trajectory with the highest score is finally selected, and the corresponding velocities and accelerations are used as the travel speed parameters of the robot.

Robot Motion Model
It is supposed that the linear velocity of the mobile robot and its angular velocity at the time are denoted as v(t), w(t), and the heading angle of the robot is denoted as ( ) t θ .The sampling period is t ∆ , then the mathematical expression of the motion model of the robot is [22]: with the highest score is finally selected, and the corresponding velocities and accelerations are used as the travel speed parameters of the robot.

Robot Motion Model
It is supposed that the linear velocity of the mobile robot and its angular velocity at the time are denoted as ( ) v t , ( ) w t , and the heading angle of the robot is denoted as ( ) t θ .The sampling period is t ∆ , then the mathemati- cal expression of the motion model of the robot is [22]:

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is The speed of the fin bot is the intersection so the DWA algor equation:

Optimization of th
For the traditional D ance will fall into the be static obstacles an that interfere with e cline of dynamic o problems [20].The

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
1 own maximum velocity, minimum velocity constraints [7]: In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is where, t v is the linear velocity at the moment; t w is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; (3) Binding of braking distance.
Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: ( , ) dist v w denotes the distance between the ro- bot and the nearest obstacle at the speed ( , ) of the specific evaluation function is: where, α , β , γ are the weighting coefficients, ( , ) Head v w is the azimuth evaluation function ( , ) 180 Head v w θ = − ; ( , ) Dist v w is the distance evaluation function; ( , ) Vel v w is the speed evalua- tion function [19].

Optimization of the Evaluation Function
For the traditional DWA algorithm, obstacle avoidance will fall into the local optimum, and there will be static obstacles and unknown dynamic obstacles that interfere with each other, resulting in the decline of dynamic obstacle avoidance and other problems [20].The evaluation function is divided into and denotes the minimum distance between the simulated target point and the known static obstacle and the unknown dynamic obstacle, respectively.
Let the coordinates of the static obstacles are ( , ) s s x y and the coordinates of the predicted trajectory point at the time is ( , )   t t x y .The minimum distance between the simulated trajectory point and the static obstacle at the time is s D .R is the radius of the bottom wheel of the robot, but in practice its not necessarily a true circle, so expand to1.2R on the basis [17].The formula of the function ( , ) x y , and the coordinates of the trajectory point predicted by the algorithm at the time are (6) 2 Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot V d is

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is where, t v is the linear velocity at the moment; t w is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; (3) Binding of braking distance.
Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: where, ( , ) dist v w denotes the distance between the ro- bot and the nearest obstacle at the speed ( , ) of the specific evaluation function is: where, α , β , γ are the weighting coefficients, ( , ) Vel v w is the speed evalua- tion function [19].

Optimization of the Evaluation Function
For the traditional DWA algorithm, obstacle avoidance will fall into the local optimum, and there will be static obstacles and unknown dynamic obstacles that interfere with each other, resulting in the decline of dynamic obstacle avoidance and other problems [20].The evaluation function is divided into and denotes the minimum distance between the simulated target point and the known static obstacle and the unknown dynamic obstacle, respectively.
Let the coordinates of the static obstacles are ( , ) s s x y and the coordinates of the predicted trajectory point at the time is ( , )   t t x y .The minimum distance between the simulated trajectory point and the static obstacle at the time is s D .R is the radius of the bottom wheel of the robot, but in practice its not necessarily a true circle, so expand to1.2R on the basis [17].The formula of the function _ ( , ) Dist S v w is: ( , ) x y , and the coordinates of the trajectory point predicted by the algorithm at the time are (7) where, t v is the linear velocity at the moment; is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: and its angular velocity at the time are denoted as ( ) v t , ( ) w t , and the heading angle of the robot is denoted as ( ) t θ .The sampling period is t ∆ , then the mathemati- cal expression of the motion model of the robot is [22]: (5)

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is where, t v is the linear velocity at the moment; t w is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; (3) Binding of braking distance.
Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: where, ( , ) dist v w denotes the distance between the ro- bot and the nearest obstacle at the speed ( , ) After obtaining the velocity group through the above velocity sampling and simulating multiple trajectories according to the robot motion model, the optimal path still needs to be selected based on a comprehensive evaluation function.The evaluation function of the conventional DWA algorithm includes three aspects: the robot's orientation, safety distance, and velocity [13], and the formula of the specific evaluation function is: where, α , β , γ are the weighting coefficients, ( , ) Vel v w is the speed evalua- tion function [19].

Optimization of the Evaluation Function
For the traditional DWA algorithm, obstacle avoidance will fall into the local optimum, and there will be static obstacles and unknown dynamic obstacles that interfere with each other, resulting in the decline of dynamic obstacle avoidance and other problems [20].The evaluation function is divided into and denotes the minimum distance between the simulated target point and the known static obstacle and the unknown dynamic obstacle, respectively.
Let the coordinates of the static obstacles are ( , ) s s x y and the coordinates of the predicted trajectory point at the time is ( , )   t t x y .The minimum distance between the simulated trajectory point and the static obstacle at the time is s D .R is the radius of the bottom wheel of the robot, but in practice its not necessarily a true circle, so expand to1.2R on the basis [17].The formula of the function _ ( , ) Dist S v w is: ( , ) x y , and the coordinates of the trajectory point predicted by the algorithm at the time are (8) where, ( , ) dist v w denotes the distance between the robot and the nearest obstacle at the speed ( , ) The speed of the final DWA algorithm mobile robot is the intersection of the above three constraints, so the DWA algorithm speed satisfies W V the equation: ) w , there the robot city con- The speed of the final DWA algorithm mobile robot is the intersection of the above three constraints, so the DWA algorithm speed satisfies W V the equation:

Traditional Evaluation Function of DWA Algorithm
After obtaining the velocity group through the above velocity sampling and simulating multiple trajectories according to the robot motion model, the optimal path still needs to be selected based on a comprehensive evaluation function.The evaluation function of the conventional DWA algorithm includes three aspects: the robot's orientation, safety distance, and velocity [13], and the formula of the specific evaluation function is: where, α , β , γ are the weighting coefficients, ( , ) Head v w is the azimuth evaluation function

Traditional Evaluation Function of DWA Algorithm
After obtaining the velocity group through the above velocity sampling and simulating multiple trajectories according to the robot motion model, the optimal path still needs to be selected based on a comprehensive evaluation function.The evaluation function of the conventional DWA algorithm includes three aspects: the robot's orientation, safety distance, and velocity [13], and the formula of the specific evaluation function is: It is supposed that the linear velocity of the mobile robot and its angular velocity at the time are denoted as ( ) v t , ( ) w t , and the heading angle of the robot is denoted as ( ) t θ .The sampling period is t ∆ , then the mathemati- cal expression of the motion model of the robot is [22]:

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is where, t v is the linear velocity at the moment; t w is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; (3) Binding of braking distance.
Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: where, ( , ) After obtaining the velocity group through the above velocity sampling and simulating multiple trajectories according to the robot motion model, the optimal path still needs to be selected based on a comprehensive evaluation function.The evaluation function of the conventional DWA algorithm includes three aspects: the robot's orientation, safety distance, and velocity [13], and the formula of the specific evaluation function is: where, α , β , γ are the weighting coefficients, ( , ) Vel v w is the speed evalua- tion function [19].

Optimization of the Evaluation Function
For the traditional DWA algorithm, obstacle avoidance will fall into the local optimum, and there will be static obstacles and unknown dynamic obstacles that interfere with each other, resulting in the decline of dynamic obstacle avoidance and other problems [20].The evaluation function is divided into and denotes the minimum distance between the simulated target point and the known static obstacle and the unknown dynamic obstacle, respectively.
Let the coordinates of the static obstacles are ( , ) s s x y and the coordinates of the predicted trajectory point at the time is ( , )   t t x y .The minimum distance between the simulated trajectory point and the static obstacle at the time is s D .R is the radius of the bottom wheel of the robot, but in practice its not necessarily a true circle, so expand to1.2R on the basis [17].The formula of the function _ ( , ) Dist S v w is: ( , ) x y , and the coordinates of the trajectory point predicted by the algorithm at the time are and its angular velocity at the time are denoted as ( ) v t , ( ) w t , and the heading angle of the robot is denoted as ( ) t θ .The sampling period is t ∆ , then the mathemati- cal expression of the motion model of the robot is [22]: ( ) (5)

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is where, t v is the linear velocity at the moment; t w is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; (3) Binding of braking distance.
Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: where, ( , ) ( , Vel v w tion function [19].

Optimization of the Evalua
For the traditional DWA algo ance will fall into the local op be static obstacles and unkno that interfere with each othe cline of dynamic obstacle problems [20].The evaluatio into and denotes the minimum simulated target point and the and the unknown dynamic ob Let the coordinates of the ( , ) s s x y and the coordinates o tory point at the time is ( , x y tance between the simulated the static obstacle at the time of the bottom wheel of the ro not necessarily a true circle, the basis [17].The form _ ( , ) Dist S v w is: x y , and the coo tory point predicted by the alg , (10) where,α, β , γ are the weighting coefficients, ( , ) Head v w is the azimuth evaluation function ( , ) Vel v w is the speed evaluation function [19].

Optimization of the Evaluation Function
For the traditional DWA algorithm, obstacle avoidance will fall into the local optimum, and there will be static obstacles and unknown dynamic obstacles that interfere with each other, resulting in the decline of dynamic obstacle avoidance and other problems [20].The evaluation function is divided into and denotes the minimum distance between the simulated target point and the known static obstacle and the unknown dynamic obstacle, respectively.
Let the coordinates of the static obstacles are ( , )   s s x y and the coordinates of the predicted trajectory point at the time is ( , )   t t x y .The minimum distance between the simulated trajectory point and the static obstacle at the time is s D .R is the radius of the bottom wheel of the robot, but in practice its not necessarily a true circle, so expand to 1.2R on the basis [17].The formula of the function

_ ( , ) Dist S v w is:
It is supposed that the linear velocity of the mobile robot and its angular velocity at the time are denoted as ( ) v t , ( ) w t , and the heading angle of the robot is denoted as ( ) t θ .The sampling period is t ∆ , then the mathemati- cal expression of the motion model of the robot is [22]: ( ) (5)

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is where, t v is the linear velocity at the moment; t w is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; (3) Binding of braking distance.
Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: where, ( , ) dist v w denotes the distance between the ro- bot and the nearest obstacle at the speed ( , )

Traditional Evaluation Function of DWA Algorithm
After obtaining the velocity group through the above velocity sampling and simulating multiple trajectories according to the robot motion model, the optimal path still needs to be selected based on a comprehensive evaluation function.The evaluation function of the conventional DWA algorithm includes three aspects: the robot's orientation, safety distance, and velocity [13], and the formula of the specific evaluation function is: where, α , β , γ are the weighting coefficients, ( , ) Vel v w is the speed evalua- tion function [19].

Optimization of the Evaluation Function
For the traditional DWA algorithm, obstacle avoidance will fall into the local optimum, and there will be static obstacles and unknown dynamic obstacles that interfere with each other, resulting in the decline of dynamic obstacle avoidance and other problems [20].The evaluation function is divided into and denotes the minimum distance between the simulated target point and the known static obstacle and the unknown dynamic obstacle, respectively.
Let the coordinates of the static obstacles are ( , ) s s x y and the coordinates of the predicted trajectory point at the time is ( , )   t t x y .The minimum distance between the simulated trajectory point and the static obstacle at the time is s D .R is the radius of the bottom wheel of the robot, but in practice its not necessarily a true circle, so expand to1.2R on the basis [17].The formula of the function _ ( , ) Dist S v w is: ( , ) x y , and the coordinates of the trajectory point predicted by the algorithm at the time are (11) It is supposed that the linear velocity of the mobile robot and its angular velocity at the time are denoted as ( ) v t , ( ) w t , and the heading angle of the robot is denoted as ( ) t θ .The sampling period is t ∆ , then the mathemati- cal expression of the motion model of the robot is [22]: (5)

Speed Sampling
In the two-dimensional space of velocities ( , ) v w , there are a large number of velocity groups [14], but the robot is constrained in its motion.
(1) own maximum velocity, minimum velocity constraints [7]: (2) Constraints on acceleration and deceleration: The acceleration of the mobile robot is limited by the output torque of the motor [15], and there exists a maximum acceleration and deceleration, and the actual speed achieved by the robot d V is where, t v is the linear velocity at the moment; t w is the angular velocity at the moment; max vd a denotes the maximum deceleration in the linear velocity [16][17]; (3) Binding of braking distance.
Braking distance is a certain distance before hitting an obstacle to start decelerating the final speed to 0 to ensure it will not hit the obstacle [18].The constraint formula is: where, ( , ) dist v w denotes the distance between the ro- bot and the nearest obstacle at the speed ( , )

Traditional Evaluation Function of DWA Algorithm
After obtaining the velocity group through the above velocity sampling and simulating multiple trajectories according to the robot motion model, the optimal path still needs to be selected based on a comprehensive evaluation function.The evaluation function of the conventional DWA algorithm includes three aspects: the robot's orientation, safety distance, and velocity [13], and the formula of the specific evaluation function is: ,w) where, α , β , γ are the weighting coefficients, ( , ) Vel v w is the speed evalua- tion function [19].

Optimization of the Evaluation Function
For the traditional DWA algorithm, obstacle avoidance will fall into the local optimum, and there will be static obstacles and unknown dynamic obstacles that interfere with each other, resulting in the decline of dynamic obstacle avoidance and other problems [20].The evaluation function is divided into and denotes the minimum distance between the simulated target point and the known static obstacle and the unknown dynamic obstacle, respectively.
Let the coordinates of the static obstacles are ( , ) s s x y and the coordinates of the predicted trajectory point at the time is ( , )   t t x y .The minimum distance between the simulated trajectory point and the static obstacle at the time is s D .R is the radius of the bottom wheel of the robot, but in practice its not necessarily a true circle, so expand to1.2R on the basis [17].The formula of the function _ ( , ) Dist S v w is: ( , ) x y , and the coordinates of the trajectory point predicted by the algorithm at the time are (12) Let the coordinates of the unknown dynamic obstacle be ( , ) x y , and the coordinates of the trajectory point predicted by the algorithm at the time are ( , ) t t x y .The closest distance between the simulated trajectory point and dynamic obstacle at the moment is D d [8].V t is the velocity of the robot at the moment of time [25].L is the motion path of the mobile robot in time t ∆ , and considering that the robot will appear to change acceleration and deceleration in practical applications, so expand to 1.2L on the basis [22].The formula of the function V is the velocity of the robot at the moment of time [25].L is the motion path of the mobile robot in time t ∆ , and considering that the robot will appear to change acceleration and deceleration in practical applications, so expand to 1.2L on the basis [22].The formula of the function _ ( , ) ( ) ( ) In summary, the improved DWA evaluation function is [10]: ( , ) _ ( , ) where, η is the weighting coefficient the ( , ) P v w repre- sents the maximum speed of the robot at a guaranteed safe distance from the obstacle [26].The procedure of the improved dynamic window approach algorithm is given in Algorithm 2.

Algorithm Fusion
In this paper, the traditional A* algorithm and DWA algorithm are improved, respectively.However, it is still evident that there are twists and turns in the improved A* algorithm path.The improved A* algorithm cannot avoid obstacles in time for the unknown dynamic obstacles in the complex environment [18].The improved DWA algorithm is still prone to the optimum local situation in a complex environment.According to the above problems, it is proposed to fuse the two improved algorithms, i.e., to extract the key points on the path of the improved A* algorithm as the intermediate target points of the DWA algorithm for path planning.The process is shown in Figure 4.

Figure 4
Algorithm flow chart.

Simulation Experiments 5.1 Simulation Experimental Environment
To verify the optimisation of the algorithm proposed in this paper.MATLAB2016a experimental platform was used to simulate and verify the traditional A* algorithm, the improved A* algorithm, and the fusion algorithm [19].The experimental environment was run on a CPU with 8GB memory and a 64-bit WIN10 system, and two different 2D raster map environments were designed for simulation.In the 21×21 simple environment map 1, the starting point S (5,16) and the ending point T (19,3); in the 21×21 maze environment map 2, the starting point S (2,20) and the ending point T (19,3).The coefficients involved in the improved DWA algorithm are =0.2,=0.1, =0.3, and =0.4.The motion parameters of the simulated experimental robot are shown in Table 1.In two raster map contexts, the traditional A* method and the enhanced A* algorithm are simulated, as shown in Figure 5.The simulation data and performance comparison of the algorithms are shown in Table 2.
( , ) V is the velocity of the robot at the moment of time [25].L is the motion path of the mobile robot in time t ∆ , and considering that the robot will appear to change acceleration and deceleration in practical applications, so expand to 1.2L on the basis [22].The formula of the function _ ( , ) where, η is the weighting coefficient the ( , ) P v w repre- sents the maximum speed of the robot at a guaranteed safe distance from the obstacle [26].The procedure of the improved dynamic window approach algorithm is given in Algorithm 2.

Algorithm Fusion
In this paper, the traditional A* algorithm and DWA algorithm are improved, respectively.However, it is still evident that there are twists and turns in the improved A* algorithm path.The improved A* algorithm cannot avoid obstacles in time for the unknown dynamic obstacles in the complex environment [18].The improved DWA algorithm is still prone to the optimum local situation in a complex environment.According to the above problems, it is proposed to fuse the two improved algorithms, i.e., to extract the key points on the path of the improved A* algorithm as the intermediate target points of the DWA algorithm for path planning.The process is shown in Figure 4.

Figure 4
Algorithm flow chart.

Simulation Experiments 5.1 Simulation Experimental Environment
To verify the optimisation of the algorithm proposed in this paper.MATLAB2016a experimental platform was used to simulate and verify the traditional A* algorithm, the improved A* algorithm, and the fusion algorithm [19].The experimental environment was run on a CPU with 8GB memory and a 64-bit WIN10 system, and two different 2D raster map environments were designed for simulation.In the 21×21 simple environment map 1, the starting point S (5,16) and the ending point T (19,3); in the 21×21 maze environment map 2, the starting point S (2,20) and the ending point T (19,3).The coefficients involved in the improved DWA algorithm are =0.2,=0.1, =0.3, and =0.4.The motion parameters of the simulated experimental robot are shown in Table 1.In two raster map contexts, the traditional A* method and the enhanced A* algorithm are simulated, as shown in Figure 5.The simulation data and performance comparison of the algorithms are shown in Table 2. ( ( , ) V is the velocity of the robot at the moment of time [25].L is the motion path of the mobile robot in time t ∆ , and considering that the robot will appear to change acceleration and deceleration in practical applications, so expand to 1.2L on the basis [22].The formula of the function _ ( , ) where, η is the weighting coefficient the ( , ) P v w repre- sents the maximum speed of the robot at a guaranteed safe distance from the obstacle [26].The procedure of the improved dynamic window approach algorithm is given in Algorithm 2.

Algorithm Fusion
In this paper, the traditional A* algorithm and DWA algorithm are improved, respectively.However, it is still evident that there are twists and turns in the improved A* algorithm The improved A* algorithm cannot avoid obstacles in time for the unknown dynamic obstacles in the complex environment [18].The improved DWA algorithm is still prone to the optimum local situation in a complex environment.According to the above problems, it is proposed to fuse the two improved algorithms, i.e., to extract the key points on the path of the improved A* algorithm as the intermediate target points of the DWA algorithm for path planning.The process is shown in Figure 4.

Figure 4
Algorithm flow chart.

Simulation Experiments 5.1 Simulation Experimental Environment
To verify the optimisation of the algorithm proposed in this paper.MATLAB2016a experimental platform was used to simulate and verify the traditional A* algorithm, the improved A* algorithm, and the fusion algorithm [19].The experimental environment was run on a CPU with 8GB memory and a 64-bit WIN10 system, and two different 2D raster map environments were designed for simulation.In the 21×21 simple environment map 1, the starting point S (5,16) and the ending point T (19,3); in the 21×21 maze environment map 2, the starting point S (2,20) and the ending point T (19,3).The coefficients involved in the improved DWA algorithm are =0.2,=0.1, =0.3, and =0.4.The motion parameters of the simulated experimental robot are shown in Table 1.In two raster map contexts, the traditional A* method and the enhanced A* algorithm are simulated, as shown in Figure 5.The simulation data and performance comparison of the algorithms are shown in Table 2. ( In summary, the improved DWA evaluation function is [10]: ( , ) V is the velocity of the robot at the moment of time [25].L is the motion path of the mobile robot in time t ∆ , and considering that the robot will appear to change acceleration and deceleration in practical applications, so expand to 1.2L on the basis [22].The formula of the function _ ( , ) In summary, the improved DWA evaluation function is [10] ( , ) _ ( , ) where, η is the weighting coefficient the ( , ) P v w repre- sents the maximum speed of the robot at a guaranteed safe distance from the obstacle [26].The procedure of the improved dynamic window approach algorithm is given in Algorithm 2.

Algorithm Fusion
In this paper, the traditional A* algorithm and DWA algorithm are improved, respectively.However, it is still evident that there are twists and turns in the improved A* algorithm path.The improved A* algorithm cannot avoid obstacles in time for the unknown dynamic obstacles in the complex environment [18].The improved DWA algorithm is still prone to the optimum local situation in a complex environment.According to the above problems, it is proposed to fuse the two improved algorithms, i.e., to extract the key points on the path of the improved A* algorithm as the intermediate target points of the DWA algorithm for path planning.The process is shown in Figure 4.

Figure 4
Algorithm flow chart.

Simulation Experiments 5.1 Simulation Experimental Environment
To verify the optimisation of the algorithm proposed in this paper.MATLAB2016a experimental platform was used to simulate and verify the traditional A* algorithm, the improved A* algorithm, and the fusion algorithm [19].The experimental environment was run on a CPU with 8GB memory and a 64-bit WIN10 system, and two different 2D raster map environments were designed for simulation.In the 21×21 simple environment map 1, the starting point S (5,16) and the ending point T (19,3); in the 21×21 maze environment map 2, the starting point S (2,20) and the ending point T (19,3).The coefficients involved in the improved DWA algorithm are =0.2,=0.1, =0.3, and =0.4.The motion parameters of the simulated experimental robot are shown in Table 1.In two raster map contexts, the traditional A* method and the enhanced A* algorithm are simulated, as shown in Figure 5.The simulation data and performance comparison of the algorithms are shown in Table 2. ( where, η is the weighting coefficient the ( , ) P v w represents the maximum speed of the robot at a guaranteed safe distance from the obstacle [26].The procedure of the improved dynamic window approach algorithm is given in Algorithm 2.
improved A* algorithm path.The improved A* algorithm cannot avoid obstacles in time for the unknown dynamic obstacles in the complex environment [18].The improved DWA algorithm is still prone to the optimum local situation in a complex environment.According to the above problems, it is proposed to fuse the two improved algorithms, i.e., to extract the key points on the path of the improved A* algorithm as the intermediate target points of the DWA algorithm for path planning.The process is shown in Figure 4.

Algorithm Fusion
In this paper, the traditional A* algorithm and DWA algorithm are improved, respectively.However, it is still evident that there are twists and turns in the

Simulation Experimental Environment
To verify the optimisation of the algorithm proposed in this paper.MATLAB2016a experimental platform was used to simulate and verify the traditional A* algorithm, the improved A* algorithm, and the fusion algorithm [19].The experimental environment was run on a CPU with 8GB memory and a 64-bit WIN10 system, and two different 2D raster map environments were designed for simulation.In the 21×21 simple environment map 1, the starting point S (5,16) and the ending point T (19,3); in the 21×21 maze environment map 2, the starting point S (2,20) and the ending point T (19,3).The coefficients involved in the improved DWA algorithm are =0.2,=0.1, =0.3, and =0.4.The motion parameters of the simulated experimental robot are shown in Table 1.

Improved A* Algorithm Simulation Experiments
In two raster map contexts, the traditional A* method and the enhanced A* algorithm are simulated, as shown in Figure 5.The simulation data and performance comparison of the algorithms are shown in Table 2.
From Figure 5 and Table 2, we can see that the global paths planned by the improved A* algorithm are better than the traditional A* algorithm, mainly optimizing the number of turning points and path length.In the simple environment map 1, the improved A* algorithm turning points are optimized by 75% on average over the traditional A* algorithm, moreover, the route length of the enhanced A* algorithm is 15.48% shorter than that of the traditional A* algorithm [25].
For the complex maze environment Map 2, the number of turning points and path length of the [2] im-  proved algorithm is optimized on average 58.33% and 17.18%, respectively, compared to the traditional algorithm.In addition, the path planned by the conventional A* algorithm is closer to the obstacle [23], and the improved algorithm path is safer.Therefore, it can be shown that applying the revised approach presented in this work shortens the path and improves its smoothness and safety.

Simulation Experiment of the Fusion Algorithm
The fusion algorithm is based on the improved A* algorithm [25], adding one unknown dynamic obstacle and two unknown dynamic obstacles in both map environments for experimental comparison, as show in Figures 6-7.The path velocity variation curve with the bit pose shown in Figure 8.As can be seen from Table 3, the path lengths planned by the fusion algorithm [21] Changes in robot line speed 12.20%.As shown in Figure 8, when the robot motion is performed with two dynamic random obstacles avoidance that the number of control nodes ranges from 400-600, there is a significant decrease in the linear and angular velocities of the robot, which will increase the algorithm search time.However, over all the improved fusion of the two algorithms is good at avoiding the random dynamic obstacles obtaining the global optimal route during path planning.The achievement of a more effective global path planning for real-time obstacle avoidance [24].

Conclusion
In this paper, an improved method is proposed for the traditional A* algorithm and DWA algorithm, and the fusion method is designed and the calculation flow of the algorithm is developed.By designing two map environments, the traditional A* algorithm and the improved A* algorithm are simulated experimentally.The improved fusion algorithm is also simulated by adding a different number of dynamic obstacles.The simulated experimental data shows that the improved A* algorithm and the fused algorithm optimize the path length by 15.48%, 15.46% (map1), 17.18%, 13.79% (map2) turning points by 75% (map1), 58.33% (map2) compared to the traditional path length.In addition, the fused improved algorithm can avoid dynamic obstacles completely.Experiments verify the superiority and timeliness of the improved A* algorithm and DWA algorithm, and the obtained path reaches the end point safely while the length is shorter and the number of turning points is reduced, which achieves the expected effect.It can fuse algorithms to optimize robot path length, safety performance and smoothness to meet the optimization of robots in complex dynamic environments, and fuse algorithms to optimize robot path length, safety performance and smoothness to meet the requirements of robot path planning in complex dynamic environments.

Figure 1
Figure 1 Node search direction

of the line and the line 1 3 S
S , then determine the magnitude of the slope of the two lines.Discuss the following two the starting point;( )

of the line and the line 1 3 S
S , then determine the magnitude of the slope of the two lines.Discuss the following two ,

S 1 ,
of the line and the line1 3   S S , then deter-mine the magnitude of the slope of the two lines.Discuss the following two cases: S 2 , S 3 three points are on the same line and the S 2 is a redundant common line node, delete the node, as shown in Figure2.

Figure 3
Figure 3 Key points do not share a line.(a) Point can be removed.(b) point must be retained max vi a denotes the maximum acceleration in the linear velocity; max wd a denotes the maximum deceleration in the angular velocity; and max wi a is the maximum acceleration in the angular velocity.
max vi a denotes the maximum acceleration in the linear velocity; max wd a denotes the maximum deceleration in the angular velocity; and max wi a is the maximum acceleration in the angular velocity.
Dist v w is the distance evaluation function;

3
max vi a denotes the maximum acceleration in the linear velocity; max wd a denotes the maximum deceleration in the angular velocity; and max wi a is the maximum acceleration in the angular velocity.Binding of braking distance.
max vi a denotes the maximum acceleration in the linear velocity; max wd a denotes the maximum deceleration in the angular velocity; and max wi a is the maximum acceleration in the angular velocity.
max vi a denotes the maximum acceleration in the linear velocity; max wd a denotes the maximum deceleration in the angular velocity; and max wi a is the maximum acceleration in the angular velocity.

2
Dist v w is the distance evaluation function; max vi a denotes the maximum acceleration in the linear velocity; max wd a denotes the maximum deceleration in the angular velocity; and max wi a is the maximum acceleration in the angular velocity.
max vi a denotes the maximum acceleration in the linear velocity; max wd a denotes the maximum deceleration in the angular velocity; and max wi a is the maximum acceleration in the angular velocity.
function improved by the global[11]; 8 path information obtained by the improving the A * algorithm to; 9 select the optimal trajectory; 10 Robot follows the optimal trajectory to move; 11 } 12 Get the optimal path; function improved by the global[11]; 8 path information obtained by the improving the A * algorithm to; 9 select the optimal trajectory; 10 Robot follows the optimal trajectory to move; 11 } 12 Get the optimal path; function improved by the global[11]; 8 path information obtained by the improving the A * algorithm to; 9 select the optimal trajectory; 10 Robot follows the optimal trajectory to move; 11 } 12 Get the optimal path; function improved by the global[11]; 8 path information obtained by the improving the A * algorithm to; 9 select the optimal trajectory; 10 Robot follows the optimal trajectory to move; 11 } 12 Get the optimal path;

Algorithm: DWA algorithm 1
Initialization; 2 Obtain the kinematics model of the robot; 3 While not reach the target location 4 { 5 Speed sampling of robot 6 Simulate motion trajectories; 7 Use the evaluation function improved by the global [11] ; 8 path information obtained by the improving the A * algorithm to; 9 select the optimal trajectory; 10 Robot follows the optimal trajectory to move; 11 } 12 Get the optimal path; Algorithm 2

Figure 4
Figure 4 Algorithm flow chart

Figure 5
Figure 5 Comparison of two kinds of map simulation experiments.(a) Map 1 traditional A* algorithm.(b) Map 1 improved A* algorithm.(c) Map 2 traditional A* algorithm.(d) Map 2 improved A* algorithm

Figure 6
Figure 6 Map 1 fusion algorithm dynamic obstacle avoidance path simulation results.(a) Obstacles being avoided.(b) Single dynamic obstacle.(c) Second dynamic obstacle being avoided.(d) Dual dynamic obstacles are 21.0337m and 21.5279m in the simple environment of Map 1, which are 15.46% and 13.47% less than the traditional A* algorithm path lengths, respectively.The path lengths planned by the fusion algorithm are 26.1942m and 26.6783m in the complex environment of Map 2, which are 13.79% and 12.20% optimized.26.6783m, optimized by 13.79% and

Figure 7
Figure 7 Map 2 fusion algorithm dynamic obstacle avoidance path simulation results.(a)Positive avoidance of a single obstacle.(b)Single dynamic obstacle.(c)Second dynamic obstacle being avoided.(d)Dual dynamic obstacles

Table 1
Values of robot motion parameters

Table 1
Values of robot motion parameters

Table 1
Values of robot motion parameters

Table 1
Values of robot motion parameters

Table 1
Values of robot motion parameters

Table 2
Experimental results of two kinds of maps

Table 3
Fusion algorithm path data of maps