# Smooth Optimised A*-Guided DWA for Mobile Robot Path Planning
## 5 Simulation Experiments and Analyses
### Validation of Algorithm Effectiveness  
In order to comprehensively evaluate the effectiveness of the proposed SOA-DWA algorithm, this paper further employs Monte Carlo simulation based on the original example scenarios, conducts 30 independent experiments under each type of scenario, and statistically analyses the key performance indicators of each type of algorithm to enhance the statistical significance of the experimental results. The experiments are conducted in three typical scenarios: static known scenario, static unknown scenario, and dynamic unknown scenario. The traditional A*, traditional DWA and SOA-DWA algorithms were run in each scenario, and the obstacle layout and starting and stopping points were kept the same in each experiment, with only a small perturbation in the dynamic obstacle trajectory or initial conditions to simulate a more realistic random environment. For each experiment, we counted the key metrics such as path length, number of turning points, number of non-smooth turning points, and total turning angle, and calculated their mean and standard deviation. Figures 11-13 show some representative trajectory maps generated by the experiments in the three scenarios, and Table 5 further gives the comprehensive performance comparison of different algorithms under multiple simulations. The statistical results demonstrate that the proposed SOA-DWA algorithm consistently outperforms the traditional DWA and A* algorithms across all test scenarios. In the static known scenarios, SOA-DWA achieves significant reductions in both the number of turning points and the total turning angle compared to A* and DWA, especially in Scenario 2, where it reduces the total turning angle by approximately 10.6% compared to DWA and 32.7% compared to A*. Moreover, all non-smooth turning points are eliminated in the SOA-DWA results, indicating an effective smoothing capability that contributes to more feasible and comfortable trajectories for real-world navigation. \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Environment**} & \multirow{2}{*}{**Algorithm**} & **Time for Search** & **Total Turing** & **Path Length** \\  & & **(Mean \(\pm\)** & **Angle (Mean \(\pm\)** & **Mean \(\pm\)** \\  & & **Standard** & **Standard** & **Standard** \\  & & **Deviation)/s** & **Deviation)** & **Deviation)/m** \\ \hline \multirow{8}{*}{Dynamic Unknown Scenario} & Baseline DWA & 1.56 \(\pm\) 0.15 & 382.4 \(\pm\) 8.6 & 59.1 \(\pm\) 0.53 \\  & DWA with global path & 1.47 \(\pm\) 0.13 & 347.6 \(\pm\) 6.5 & 55.8 \(\pm\) 0.3 \\  & & DWA with optimisation of & & & \\  & & obstacle avoidance & 1.12 \(\pm\) 0.09 & 344.2 \(\pm\) 6 & 58.5 \(\pm\) 0.48 \\  & & efficiency & & & \\ Scenario & & Baseline DWA & 2.1 \(\pm\) 0.27 & 630.8 \(\pm\) 11.5 & 62.6 \(\pm\) 0.39 \\  & & DWA with global path & 1.89 \(\pm\) 0.21 & 583.7 \(\pm\) 9.75 & 60.1 \(\pm\) 0.25 \\  & & constraints & & & \\  & & DWA with optimisation of & & & \\  & & obstacle avoidance & 1.57 \(\pm\) 0.19 & 577.3 \(\pm\) 9.37 & 62 \(\pm\) 0.38 \\  & & efficiency & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Ablation experiments with improved DWA algorithm. Figure 11: Simulation results in static scenarios. (**a**) Traditional A* algorithm in scenario 1; (**b**) DWA algorithm in scenario 1; (**c**) SOA-DWA algorithm in scenario 1; (**d**) traditional A* algorithm in scenario 2; (**e**) DWA algorithm in scenario 2; (**f**) SOA-DWA algorithm in scenario 2. Figure 12: Simulation results in unknown static scenarios. (**a**) DWA algorithm in scenario 1; (**b**) SOA-DWA algorithm in scenario 1; (**c**) DWA algorithm in scenario 2; (**d**) SOA-DWA algorithm in scenario 2. Since the A* algorithm cannot achieve obstacle avoidance when dealing with unknown obstacles, the simulation results of the A* algorithm in an unknown scenario cannot be given. In the static unknown scenarios, although the obstacle layout is not fully known, the simulation results of the A* algorithm can be obtained by using the A* algorithm.