RRT*-Fuzzy Dynamic Window Approach (RRT*-FDWA) for Collision-Free Path Planning

: Path planning is an important aspect and component in the research of mobile-robot-related technologies. Many path planning algorithms are only applicable to static environments, while in practical tasks, the uncertainty in dynamic environments increases the difﬁculty of path planning and obstacle avoidance compared with static environments. To address this problem, this paper proposes an RRT*-FDWA algorithm. RRT* ﬁrst generates a global optimal path, and then, when obstacles exist nearby, an FDWA algorithm ﬁxes the local path in real time. Compared with other path planning algorithms, RRT*-FDWA can avoid local minima, rapidly perform path replanning, generate a smooth optimal route, and improve the robot’s maneuvering amplitude. In this paper, the effectiveness of the algorithm is veriﬁed through experiments in dynamic environments.


Introduction
In the field of automatic navigation of wheeled mobile robots, path planning is a frequently researched area. The main goal of a path planning algorithm is to plan a collision-free path from the initial state to the target in the constructed space of the robot [1]. Path planning is divided into global path planning and local path planning. Global planning [2][3][4] is able to accomplish the task in known static environments. However, environments and obstacles change dynamically in most navigation processes. When a mobile robot performs tasks according to global path planning, it must use various devices on board, such as lidar, depth cameras, and IMUs, to sense the surrounding environment and its own state and quickly plan local collision-free paths. For navigation, robots therefore usually use a combination of global path planning and local path planning [5][6][7].
The Rapid Exploration Randomized Tree [8] (RRT) has been shown to be a very effective global path planning algorithm; RRT can plan paths quickly and simply by generating a tree structure at high-speed increments in the construction space to find a goal. However, RRT algorithms also possess some constraints, such as not having asymptotic optimality [9,10] and an the inability to avoid dynamic obstacles; variants of improved RRT algorithms have, therefore, been proposed. Jin-Gukang [11] et al. proposed a "Post-Triangular Rewiring" method, which reduces the path planning time, improves efficiency, and creates an algorithm close to the global optimum. Moon C [12] et al. proposed a dual-tree fast exploration random tree (DT-RRT) algorithm to decrease the computational complexity of the RRT. In addition, DT-RRT reduces the length of the path and increases the coverage of the sampling points. Nasir J et al. proposed an RRT* [13] algorithm which can make the path asymptotically optimal. Chen L et al. [14] introduced the dual-tree structure into an RRT* algorithm, thereby creating separate extension and optimization processes and improving the convergence speed. In addition, some scholars have attempted to improve global path planning methods such as RRT* to avoid dynamic obstacles. Qi et al. [15] applied the RRT* algorithm to dynamic environments and introduced Pareto theory to propose a multi-objective dynamic fast exploration stochastic algorithm (MOD-RRT*), which improved the effective performance of the RRT* algorithm in avoiding unknown obstacles.
However, there are many limitations in global path planning and dynamic environments. Compared with static environments, there are many uncertainties, such as randomly moving obstacles. It is, therefore, very difficult to predict the movement path of obstacles. Thus, local path planning in dynamic environments is currently an area of great research interest.
In recent years, researchers have proposed many local path planning algorithms, such as the dynamic window approach [16] (DWA) and the artificial potential field method [17] (APF). Furthermore, Young-In Choi [18] et al. proposed a collision avoidance algorithm based on the D*Lite algorithm for mobile robots; this algorithm was applied to a logistics delivery scenario to effectively avoid collision and safely reset the robot's optimal movement route when the robot encounters a crossover situation at an intersection. Kumar [19] et al. proposed a combination of the sine cosine algorithm and ant colony algorithm for multiple environments such as static and dynamic, and applied the algorithm in multi-robot formations. Guo [20] et al. constructed a risk region of dynamic obstacles using the Kalman filter state estimation, combining it with a nonlinear model predictive control to achieve safe obstacle avoidance. DWA has been extensively applied because of its dynamic characteristics combined with those of the robot. Later, Zhong [21] et al. proposed an adaptive rolling window method based on the edges of obstacles and the target point, which has good safety and environmental applicability. Chang [22] et al. combined Q learning with the DWA algorithm and proposed two new evaluation functions. This demonstrated a high navigation efficiency and success rates in complex unknown environments, but incurred a higher time cost. Xiang [23] et al. implemented adaptive weight coefficients for the DWA algorithm for complex environments, making the path of the mobile robot smoother when avoiding obstacles. Many new and improved algorithms have been derived for obstacle avoidance in dynamic environments. Wu [24] et al. combined the A* algorithm and the DWA algorithm to produce an algorithm that was closer to the global optimal path but with less smoothness.
Nevertheless, the improved DWA algorithms are still unable to avoid the problem of local optimal solutions and may fail to complete the task due to the lack of global planning. An algorithm may get stuck at local minima during planning and consume more energy. A suitable path planning algorithm should be able to plan a complete collision-free path that satisfies the robot dynamics. Therefore, to resolve the path planning problem in a dynamic environment, this paper proposes an RRT*-FDWA algorithm. The contribution of the proposed algorithm to the path planning problem is as follows: • A fuzzy controller is added to the adaptive weight index of the DWA algorithm. This makes the weights adaptive, improves the safety of path planning, and enables timely avoidance of dynamic obstacles. • By combining the RRT* algorithm with the FDWA algorithm, local planning can avoid hitting local minima. The RRT*-based path re-planning is able to replan the global path after local path planning; this enhances the robot's maneuverability and improves target fit.
The manuscript is divided into the following parts: Section 2 explains the original algorithm, the dynamics required to move the robot, and the related work. Section 3 discusses the FDWA algorithm and the fuzzy control principle. Section 4 discusses the RRT*-FDWA algorithm. Section 5 provides experimental results to demonstrate the effectiveness of the RRT*-FDWA. Section 6 discusses the results and future work.

Related Work
Collision-free path planning is usually divided into two stages. The first stage is global path planning-RRT* in this paper. The second stage is local path planning, for which this paper adopts the FDWA algorithm.

RRT* and DWA Algorithm
The RRT* algorithm is mainly improved by the RRT algorithm. The RRT* algorithm adds Rewire, by routing the algorithm to reselect the parent node, thereby achieving the global optimal. The RRT* algorithm, therefore, has probabilistic completeness and asymptotic optimality.
Path planning in the DWA first calculates the current sampled velocity range based on the mobile robot's own characteristics. The sampled acceleration and angular velocity are used to simulate the trajectory of the robot in a certain range, and the trajectory in the range is evaluated using an evaluation function with certain rules; after the trajectory in the range has been obtained, the optimal path is selected to enable the robot to move.

Kinematic Model
Mobile robots can be divided into omnidirectional and non-omnidirectional robots according to the kinematics of casters, and the robot used in this paper is a non-omnidirectional mobile robot. In Figure 1, XOY represents the global coordinate system. x 1 Py 1 is the local coordinate system, x 1 is the linear movement direction of the robot, y 1 is perpendicular to the x 1 axis, P is the center of the robot as the origin of the local coordinate system, and θ is the heading angle. Thus, the robot's global coordinates, position ε, can be obtained, as shown in Equation (1). To map the global coordinate system to the local coordinate system, the rotation matrix R θ is used. Equation (3) is converted from global coordinates to local coordinates Rε.   In a non-omnidirectional moving robot, the robot only has a linear velocity V in the x 1 direction and an angular velocity ω of rotation. Suppose the sampling time is ∆T, the distance the robot travels is ∆S, and the coordinates of the robot are ∆X, ∆Y.
According to the coordinates of the robot, X n, Y n , the current sampling time can be obtained by summing up its state and increment.
The DWA algorithm [25][26][27], in Equation (6), has three evaluation metrics. They are the azimuth evaluation function, heading(v, w), which denotes the angular difference between the robot and the target point. dist(v, w), which denotes the distance between the robot and the nearest detected obstacle, is the distance function. velocity(v, w) denotes the relative velocity magnitude of the robot trajectory. α, β, and γ denote the weight coefficients of the function and σ denotes the normalization required to obtain the evaluation function G(v, w).

FDWA Algorithm
The RRT* algorithm is able to perform global path planning in an already established map model environment or with static obstacles. However, in the real environment, there are many uncertainties, such as unknown obstacles. If global path planning alone is used, the robot will easily collide with obstacles in such unknown environments. Therefore, in order to achieve the dynamic obstacle avoidance capability of a mobile robot, this paper incorporates a local path planning algorithm-the FDWA-for local dynamic obstacle avoidance.

FDWA Fuzzy Distribution
In the DWA algorithm, the percentage of weights has a very strong influence on the results of the path planning algorithm. Therefore, in order to improve the efficiency of the algorithm and be better able to adapt to the complex environment, the fuzzy inference and DWA algorithm are combined, enabling adaption of the evaluation index weights. Fuzzy inference is performed on the azimuth evaluation function weights α and distance function weights β, (β, α ∈ [0, 0.5]), and a dual-input, dual-output fuzzy controller is designed. The angle θd at which the actual trajectory of the robot deviates from the predetermined trajectory and the distance Od to the nearest obstacle are used as dual inputs, and the azimuth evaluation function weight, α, and the distance function weight, β, are used as dual outputs. The membership function of the fuzzy system uses trigonometric functions, which are suitable for describing well-defined ranges and information precisely. The input membership functions θd and θd are shown in Equation (10) Figure 2a shows the input membership function and Figure 2b shows the output.

Fuzzy Rules and Clarification
First, the input and output variable domains of the fuzzy controller are defined 1], which is a continuous domain. The fuzzy sets are defined as 0, PS, PM, and PB zero, positive small, positive medium, and positive large. Tables 1 and 2 show the d method fuzzy rules, α and β, as follows. Figure 3, | − |,and should reduce the value of α and β so that the d ence between the current trajectory and the desired trajectory is reduced and the is smoother. This will make, the velocity function increase in weight and mak robot accelerate toward the target.

Fuzzy Rules and Clarification
First, the input and output variable domains of the fuzzy controller are defined as [0, 1], which is a continuous domain. The fuzzy sets are defined as 0, PS, PM, and PB, i.e., zero, positive small, positive medium, and positive large. Tables 1 and 2 show the design method fuzzy rules, α and β, as follows.

1.
When O d , θ d , ∈ PB. The mobile robot should reduce the value of θ d ,θ d as shown in Figure 3, θ d =|θ 1 − θ 2 |, and should reduce the value of α and β so that the difference between the current trajectory and the desired trajectory is reduced and the path is smoother. This will make, the velocity function increase in weight and make the robot accelerate toward the target.

2.
When θ d ∈ PB, O d ∈ PS. The robot will reduce the value of α to make the path smoother. The β value should be large to make the robot avoid the obstacle.

3.
When The value of α should be made moderate to maintain the smoothness. The value of β should be deceased; this will make the velocity function increase its share in the weight and make the robot accelerate toward the target. 4. When The value of α should be increased and the value of β should be increased to ensure that the robot passes the obstacle safely.

Fuzzy Rules and Clarification
First, the input and output variable domains of the fuzzy controller are defined as [0, 1], which is a continuous domain. The fuzzy sets are defined as 0, PS, PM, and PB, i.e., zero, positive small, positive medium, and positive large. Tables 1 and 2 show the design method fuzzy rules, α and β, as follows. Figure 3, | − |,and should reduce the value of α and β so that the difference between the current trajectory and the desired trajectory is reduced and the path is smoother. This will make, the velocity function increase in weight and make the robot accelerate toward the target.

When
The robot will reduce the value of α to make the path smoother. The β value should be large to make the robot avoid the obstacle.

When
The value of α should be made moderate to maintain the smoothness. The value of β should be deceased; this will make the velocity function increase its share in the weight and make the robot accelerate toward the target.

When
The value of α should be increased and the value of β should be increased to ensure that the robot passes the obstacle safely. The fuzzy logic inference uses the Mamdani inference method. The clarity value U is (α, β). The exact value of α, β at the current moment is obtained after defuzzification to prevent the FDWA algorithm from falling into local minima. The maximum membership averaging method can effectively eliminate extreme cases, so the maximum membership averaging method is used to solve the problem, as in Equation (12).

RRT*-FDWA Algorithm Flow
The RRT*-FDWA path planning algorithm uses both the RRT* and FDWA algorithms. When the global optimal path is completed according to the RRT* algorithm, a path replanning judgment is performed. When a moving obstacle is encountered, the FDWA algorithm is used for local path planning; after successfully avoiding the obstacle, the RRT* algorithm plans a new global path for the mobile robot to continue driving. The RRT*-FDWA process algorithm is shown in Figure 4  The algorithm flows as follows: Step 1: Create a map of the known environment and set target points.
Step 2: The RRT* algorithm plans a collision-free global optimal path based on the already established map environment and its own sensors, such as lidar.
Step 3: Determine whether the robot can reach the target point according to the end condition of the algorithm; if so, end the algorithm; if not, continue the execution.
Step 4: Determine whether there is an environment or moving obstacle in the established map; if the lidar determines that the moving obstacle is dangerous, jump to the FDWA algorithm for local path planning to avoid the obstacle. The algorithm flows as follows: Step 1: Create a map of the known environment and set target points.
Step 2: The RRT* algorithm plans a collision-free global optimal path based on the already established map environment and its own sensors, such as lidar.
Step 3: Determine whether the robot can reach the target point according to the end condition of the algorithm; if so, end the algorithm; if not, continue the execution.
Step 4: Determine whether there is an environment or moving obstacle in the established map; if the lidar determines that the moving obstacle is dangerous, jump to the FDWA algorithm for local path planning to avoid the obstacle.
Step 5: Perform a new global path plan, determine the optimal path, and continue driving along the global path. Judge whether it is possible to reach the target point: if 'No', jump to the Step 3 loop; if 'Yes', end the algorithm. Figure 5 represents the global path planning, encountering moving obstacles in the path replanning process.
Appl. Sci. 2023, 13, 5234 9 of 19 Step 5: Perform a new global path plan, determine the optimal path, and continue driving along the global path. Judge whether it is possible to reach the target point: if 'No', jump to the Step 3 loop; if 'Yes', end the algorithm. Figure 5 represents the global path planning, encountering moving obstacles in the path replanning process.

RRT*-FDWA Local Minima and Pseudocode
In the DWA algorithm, the overall generation value increases as the value of its weight coefficient increases the closer it gets to the obstacle. This will cause the robot to fall into local minima during local path planning. In the RRT*-FDWA algorithm, to avoid local minima, the robot can quickly enter global path planning once it has successfully avoided an obstacle, as shown in Equation (13). K is the reward and punishment function of the DWA algorithm.
In Equation (14), ( , ) t v ω Δ is the time function with the obstacle. In Equation (15), a and b represent the reward and punishment function K, where a < 1 < b. When the value of t is less than 0.5, it is not caught in the local minimum; when t is greater than 0.5, it is regarded that the robot is caught in the local minimum. Global path planning uses the RRT* [25] algorithm, while local path planning uses the FDWA algorithm. The pseudo code of the RRT*-FDWA algorithm is shown in Algorithm 1; Algorithm 2 is the Rewire in Algorithm 1.

RRT*-FDWA Local Minima and Pseudocode
In the DWA algorithm, the overall generation value increases as the value of its weight coefficient increases the closer it gets to the obstacle. This will cause the robot to fall into local minima during local path planning. In the RRT*-FDWA algorithm, to avoid local minima, the robot can quickly enter global path planning once it has successfully avoided an obstacle, as shown in Equation (13). K is the reward and punishment function of the DWA algorithm.
∆t(ν, ω) = ∆S/∆V In Equation (14), ∆t(v, ω) is the time function with the obstacle. In Equation (15), a and b represent the reward and punishment function K, where a < 1 < b. When the value of t is less than 0.5, it is not caught in the local minimum; when t is greater than 0.5, it is regarded that the robot is caught in the local minimum. Global path planning uses the RRT* [25] algorithm, while local path planning uses the FDWA algorithm. The pseudo code of the RRT*-FDWA algorithm is shown in Algorithm 1; Algorithm 2 is the Rewire in Algorithm 1.

Algorithm 1 RRT*-FDWA Algorithm.
input: p ini , p goal , Map, v, w, K output: p ini→ p goal path WHILE Target_not_reach DO FOR i in range(n): p rand ← Sample(Map p nearest ← Node list ( p rand , p ini ) In Algorithms 1 and 2 in this paper, the following terms are used: Sample (Map): The number of sampling points generated randomly on the map towards the target node is in the range [0, 100].
Node_list (p 1 , p 2 ): The set of Euclidean distances between the sampling point and the parent node, where the coordinates of the random sampling point and the parent node are p s (x 1 , y 2 ) and p p (x 2 , y 2 ), respectively. p nearest : Minimum of Node_list (p 1 , p 2 ) min (Node_list) Steer (p 1 , p 2 ): The angle between p 1 and the line connecting p 1 and p 2 of its parent node; multiply the steering angle by the step size β to get p new . Let the steering angle be θ; p new is obtained by the following Equations (16) and (17). Cost(x): Return along the total path length of the target node from node p.
find near_nodes (p 1 ): Find a new parent node near node p again at random. C_parent (p 1 , p 2 ): Add a new optional parent node and define its length, angle, and generation value. D (p 1 , p 2 ): Denotes the Euclidean distance between nodes p 1 and p 2. Rewire (p 1 , p 2 ): Determine whether p 2 can replace p 1 as the new parent node. Collision_free (p 1 , p 2 ): Check whether it is feasible and that there are no obstacles between node p 1 and node p 2 .
G' (v, ω): Evaluation function of the DWA algorithm with local minimum judgment added.

Experimental Results
In this paper, the algorithm was simulated in an AMD Ryzen 7 5800H 3.2 GHz and 16 G RAM computer, and a Matlab simulation was used (Matlab version 2019b). A two-wheel differential speed mobile robot with a universal wheel-manipulable wheel in the front was used.

RRT*-FDWA Global Path Planning
First, RRT* was used to simulate the global planning path. As shown in Figure 6, for the random moving obstacle environment, dashed and solid lines represent the global path. The dashed line shows the process of the RRT* algorithm rewiring and selecting a new node for the first time; the blue circle represents p new and the black objects represent the moving obstacles. A size [10,10] map with a start point of [1.2,1.2] and a target point of [9,9] was used. Appl. Sci. 2023, 13, 5234 11 of 19 Cost(x): Return along the total path length of the target node from node p. find near_nodes (p1): Find a new parent node near node p again at random. C_parent (p1, p2): Add a new optional parent node and define its length, angle, and generation value.
D (p1, p2): Denotes the Euclidean distance between nodes p1 and p2. Rewire (p1, p2): Determine whether p2 can replace p1 as the new parent node. Collision_free (p1, p2): Check whether it is feasible and that there are no obstacles between node p1 and node p2.
G' (v, ω): Evaluation function of the DWA algorithm with local minimum judgment added.

Experimental Results
In this paper, the algorithm was simulated in an AMD Ryzen 7 5800H 3.2GHz and 16G RAM computer, and a Matlab simulation was used (Matlab version 2019b). A twowheel differential speed mobile robot with a universal wheel-manipulable wheel in the front was used.

RRT*-FDWA Global Path Planning
First, RRT* was used to simulate the global planning path. As shown in Figure 6, for the random moving obstacle environment, dashed and solid lines represent the global path. The dashed line shows the process of the RRT* algorithm rewiring and selecting a new node for the first time; the blue circle represents new p and the black objects represent the moving obstacles. A size [10,10] map with a start point of [1.2,1.2] and a target point of [9,9] was used.

FDWA Lobal Path Planning
In order to verify its effectiveness, the FDWA algorithm was simulated. First, the initial values of the weight coefficients in the evaluation function were set at α = 0.

FDWA Lobal Path Planning
In order to verify its effectiveness, the FDWA algorithm was simulated. First, the initial values of the weight coefficients in the evaluation function were set at α = 0.2, β = 0.4, and γ = 0.4; the maximum linear and angular velocities were also set to v = 0.5 m/s and ω = 0.3 rad/s. a and b represent the reward and punishment function K: a = 0.5 and b = 1.5. The time for forward simulation was 3 s and dt = 0.1. Figure 7 shows the FDWA algorithm planning diagram and demonstrates the effectiveness of the algorithm in the presence of unknown obstacles. The solid purple line indicates the path simulated by the FDWA algorithm in the constant forward direction, and the dashed line indicates the final completed trajectory. The blue solid circles indicate stationary obstacles; the blue solid hollow circles indicate the current position of the moving obstacle; and the blue dashed circles indicate the position of the moving obstacle at the previous moment. When the mobile robot simulates the path forward, an optimal local path is found according to the evaluation function and the local minimum problem can be successfully avoided. Figure 7 shows the FDWA algorithm planning diagram and demonstrates the effectiveness of the algorithm in the presence of unknown obstacles. The solid purple line indicates the path simulated by the FDWA algorithm in the constant forward direction, and the dashed line indicates the final completed trajectory. The blue solid circles indicate stationary obstacles; the blue solid hollow circles indicate the current position of the moving obstacle; and the blue dashed circles indicate the position of the moving obstacle at the previous moment. When the mobile robot simulates the path forward, an optimal local path is found according to the evaluation function and the local minimum problem can be successfully avoided. To further verify the effectiveness of the FDWA, this paper is validated by a real robot. Figure 8a shows the experimental robot tianbot_mini, a two-wheel differential drive robot with a drive wheel at the rear and a gimbal at the front, and with classic PD control for the drive wheel. It has a ydlidar x2 LIDAR for obstacle detection. The linear velocity is constrained, v ∈ (0, 0.5 m/s), and the FDWA algorithm is encapsulated as a local path planner for the ROS navigation package. The experimental environment is the same as the simulation environment, and the white mobile robot in Figure 8b is regarded as a moving To further verify the effectiveness of the FDWA, this paper is validated by a real robot. Figure 8a shows the experimental robot tianbot_mini, a two-wheel differential drive robot with a drive wheel at the rear and a gimbal at the front, and with classic PD control for the drive wheel. It has a ydlidar x2 LIDAR for obstacle detection. The linear velocity is constrained, v ∈ (0, 0.5 m/s), and the FDWA algorithm is encapsulated as a local path planner for the ROS navigation package. The experimental environment is the same as the simulation environment, and the white mobile robot in Figure 8b is regarded as a moving obstacle with a handle control and a speed of 0.10 m/s. Figure 8b-f shows the FDWA path planning process, and the experimental results better validate the effectiveness of the algorithm. obstacle with a handle control and a speed of 0.10 m/s. Figure 8b-f shows the FDWA path planning process, and the experimental results better validate the effectiveness of the algorithm.

Experimental Comparison
In this paper, we used a two-wheel differential speed robot for the simulation. The maneuverability degree, δ m , of this mobile robot can, therefore, be obtained as two, and according to Equation (18), rank[C α (β α )] is the number of maneuverable wheels.
In dynamic obstacle avoidance, robot behavior includes deceleration or acceleration to avoid obstacles when it encounters them, but such behaviors may cause damage to safety. In this paper, the behavior of avoiding obstacles is proposed as the standard deviation formula for speed, the smaller value of which represents higher safety, as shown in Equation (19), where v i indicates the line speed at the current moment. The integrated speed difference formula presents the maneuvering magnitude, which indicates the robot's evasion ability when encountering obstacles, and the higher its value, the better the evasion ability, as shown by Equation (20). Figure 9 shows the RRT*-FDWA path planning process; the solid red circles indicate the current position and solid blue circles indicate p new . Hollow circles indicate the previous moment position and the planned route and dashed hollow circles indicate the moving obstacle at the previous moment. Appl. Sci. 2023, 13, 5234 14 of 19 In this paper, we used a two-wheel differential speed robot for the simulation. The maneuverability degree, δm, of this mobile robot can, therefore, be obtained as two, and according to Equation (18), rank [Cα(βα)] is the number of maneuverable wheels.

3
[ In dynamic obstacle avoidance, robot behavior includes deceleration or acceleration to avoid obstacles when it encounters them, but such behaviors may cause damage to safety. In this paper, the behavior of avoiding obstacles is proposed as the standard deviation formula for speed, the smaller value of which represents higher safety, as shown in Formula (19), where i v indicates the line speed at the current moment. The integrated speed difference formula presents the maneuvering magnitude, which indicates the robot's evasion ability when encountering obstacles, and the higher its value, the better the evasion ability, as shown by Equation (20).   Figure 10 shows the RRT*-FDWA experimental path planning diagram, and the experimental results show that the algorithm is effective in practical applications. The RRT*-FDWA algorithm was packaged into the path planner in the ROS navigation package before experimental validation. In the figure, the basketball and the white mobile robots are treated as moving obstacles and the experimental environment was the same as the simulation experiment. In the real experimental process, there was an error in the path planning process due to the robot control drive factor.  Figure 10 shows the RRT*-FDWA experimental path planning diagram, and the experimental results show that the algorithm is effective in practical applications. The RRT*-FDWA algorithm was packaged into the path planner in the ROS navigation package before experimental validation. In the figure, the basketball and the white mobile robots are treated as moving obstacles and the experimental environment was the same as the simulation experiment. In the real experimental process, there was an error in the path planning process due to the robot control drive factor.
(c) (d)  Figure 10 shows the RRT*-FDWA experimental path planning diagram, and the experimental results show that the algorithm is effective in practical applications. The RRT*-FDWA algorithm was packaged into the path planner in the ROS navigation package before experimental validation. In the figure, the basketball and the white mobile robots are treated as moving obstacles and the experimental environment was the same as the simulation experiment. In the real experimental process, there was an error in the path planning process due to the robot control drive factor. The RRT*-FDWA algorithm proposed in this paper was compared to the hybrid A*an improved DWA algorithm-the hybrid algorithm being SOTA. Figure 11 shows the final completed path planning graph for both algorithms, the red dot [1,1] is the starting point and the green dot [9,9] is the target point; it can be seen that the A*-DWA algorithm The RRT*-FDWA algorithm proposed in this paper was compared to the hybrid A*-an improved DWA algorithm-the hybrid algorithm being SOTA. Figure 11 shows the final completed path planning graph for both algorithms, the red dot [1,1] is the starting point and the green dot [9,9] is the target point; it can be seen that the A*-DWA algorithm still falls into local minima, while the RRT*-FDWA algorithm can complete the path planning more smoothly. still falls into local minima, while the RRT*-FDWA algorithm can complete the path planning more smoothly.
It can be seen from Table 3 that the 2 w σ of the RRT*-FDWA algorithm is smaller and r δ is 12% higher than those of the A*-DWA algorithm, and it takes less time to complete.
This indicates that the RRT*-FDWA algorithm is safer, fits better, and plans faster.  The general comparison of the four algorithms is given in Table 4. The RRT*-FDWA algorithm proposed in this paper considers both global and local optimality and can successfully plan a collision-free optimal path in both dynamic and static environments. In Table 4, E means Exist, N means None, L means Low, and H means High.  It can be seen from Table 3 that the σ 2 w of the RRT*-FDWA algorithm is smaller and δ r is 12% higher than those of the A*-DWA algorithm, and it takes less time to complete. This indicates that the RRT*-FDWA algorithm is safer, fits better, and plans faster. The general comparison of the four algorithms is given in Table 4. The RRT*-FDWA algorithm proposed in this paper considers both global and local optimality and can successfully plan a collision-free optimal path in both dynamic and static environments. In Table 4, E means Exist, N means None, L means Low, and H means High.

Conclusions and Future Work
In this paper, mobile robot path planning in a dynamic environment was studied and an RRT*-FDWA algorithm was proposed. First, the RRT* algorithm was used for global path planning to obtain a global optimal route. The uncertainty of moving obstacles increases the difficulty of obstacle avoidance in the path planning process. When obstacles are encountered, the FDWA algorithm is added to improve robot adaptability in the face of a dynamic environment. The combination of the algorithms enables better avoidance of local minima and global replanning according to the new environment after the local planning has been completed. As a result, the robot has good maneuvering magnitude and safety and can complete the task in a shorter time.
The future goal is to apply this algorithm in multi-robot formation path planning to enable multi-robot formations with dynamic obstacle avoidance.