# Cooperative Path Planning for Multiple Mobile Robots via HAFSA and an Expansion Logic Strategy
## 4 Simulation Experiments  
In this section, to verify the superiority of the presented algorithm for a single mobile robot and 20 \(\times\) 20 grid-based environment maps, the path planning results under the presented hybrid artificial fish swarm algorithm and the traditional fish swarm algorithm are shown in Figure 3.  
Figure 3: **(a)** Artificial fish swarm algorithm; **(b)** the presented hybrid artificial fish swarm algorithm. Figure 2: **(a)** Local path planning and grid scores; **(b)** local path planning using the expansion logic strategy. For 20 \(\times\) 20 and 40 \(\times\) 40 grid-based environment maps, the path planning results based on the adaptive artificial fish swarm algorithm (AAFA) [21], fuzzy logic (FL) [22], the improved genetic algorithm (IGA) [23] and our method are shown in Table 1. As can be seen in Figure 3 and Table 1, optimization performance and iteration time can be improved by using the presented method. Furthermore, simulation results were performed on a group of mobile robots. A multiple mobile robot navigation system, which included three mobile robots labeled as Robot 0, Robot 1 and Robot 2, was designed using STDR (simple two dimensional robot simulator) and RVIZ (robot operating system visualizer) software. Each mobile robot was equipped with four ultrasonic sensors and a radar detector with laser detection capabilities. The environment map and obstacle information of the simulation experiments are shown in Figure 4a. If the size of the empirical fish swarm was \(N=50\), and the visual distance of an artificial fish was \(v=10\), the crowd factor was \(\delta=0.618\). As shown in Figure 4, the initial poses of the three mobile robots were (1, 1, 0), (1, 5, 0) and (1, 9, 0). The goal positions were (10, 14), (17, 1) and (18, 13). The global path planning trajectories of the three mobile robots are shown in Figure 5. As shown in Figure 5a, Robot 0 (initial pose was (1, 1, 0)), Robot 1 (initial pose was (1, 5, 0)) and Robot 2 (initial pose was (1, 9, 0)) started to move, and then they updated their motion paths using the expansion logic strategy to avoid mutual collision. Meanwhile, many feasible paths could be obtained by the presented EFSA. Therefore, we can see that the global path planning results for mobile robots were not unique (Figure 5b). Figure 6a illustrates the position information (the poses of the three mobile robots were (3, 10, 0), (9, 1, 0) and (10, 10, 0)) at a specific time in the simulation experiment. Local and global paths of multiple mobile robots are shown in Figure 6b. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Environment Map** & **Algorithms** & \begin{tabular}{c} **The Longest** \\ **Path Length** \\ \end{tabular} & \begin{tabular}{c} **The Optimal** \\ **Path Length** \\ \end{tabular} & \
\begin{tabular}{c} **The Average** \\ **Path Length** \\ \end{tabular} &
\begin{tabular}{c} **Iteration** \\ **Time/s** \\ \end{tabular} \\ \hline \multirow{4}{*}{\(20\times 20\) grids} & AAFA & 35.1283 & 30.0348 & 33.6231 & 16.5182 \\  & FL & 34.3848 & 29.7990 & 32.0919 & 12.2304 \\  & IGA & 32.3254 & 29.6325 & 30.8652 & 16.1826 \\  & Our method & 30.3848 & 29.2132 & 29.7990 & 9.3102 \\ \hline \multirow{4}{*}{\(40\times 40\) grids} & AAFA & 80.2372 & 73.7103 & 79.2293 & 98.5621 \\  & FL & 75.1838 & 69.4975 & 72.3407 & 90.4073 \\ \cline{1-1}  & IGA & 66.4723 & 62.9002 & 65.7213 & 97.7652 \\ \cline{1-1}  & Our method & 64.0833 & 61.4264 & 62.7549 & 74.5801 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Performance comparison of four algorithms. Figure 4: (a) The initial poses of the three mobile robots; (b) simulation visual interface of multiple mobile robots. The positions of Robot 0, Robot 1 and Robot 2 are shown in Figure 7a when the robots reached the target points. Figure 7b illustrates the final paths of the three mobile robots after reaching the target points. Figure 5: (**a**) The initial poses of the three mobile robots; (**b**) global path planning trajectories.