# Collision Avoidance Using Finite Control Set Model Predictive Control for Unmanned Surface Vehicle
## 4 Simulation Study and Results
### Collision Avoidance in a Real Environment
#### 4.2.3 Simulation Verification  
Due to open water not being suitable to verify the effectiveness of the algorithm, in order to make the environment more complex, we reduce the map by five times. In Figure 12, the static obstacles include islands and coastlines, which expand as circular obstacles required by the algorithm. The starting and ending (goal) points for USV are marked as red 'S' and 'G'markers. In order to better simulate the real situation, the starting point and ending area are on the coastline. With the same algorithm parameters of the first simulation experiment, the USV starts sailing in the static sea area and safely enters the ending area. Figure 12 is the final result. Figure 11: The expanded obstacle. Figure 12: The simulation final result in the static sea environment. Then, five dynamic obstacles are added into the environment, and their information is in Table 4. Compared to the simulation environment, the real environment is relatively simple. Therefore, we increase the number of dynamic obstacles with different velocities. In Figure 13, from 38 s-56 s, the USV continuously evades Dynamic Obstacles 1 and 2. At 83 s, by reducing its speed, the USV avoids collision with Dynamic Obstacle 3. When the time is 126 s, because the speed of the USV is far greater than Dynamic Obstacle 4, they form the overtaking situation, and the CAS takes the option of steering without slowing down. Then, at 149 s, Dynamic Obstacle 5 and USV form the head-on situation, and the USV continues to alter about its course and avoids the obstacle. After 159 s, the USV avoids all obstacles, and at 237 s, it successfully reaches the ending area. Figure 13k shows the comparison of the final trajectories in the two environments. The evaluation index and compared graph of the main parameters are shown in Table 5 and Figure 14. In the two environments, the evaluation index is almost the same, except for the propulsion angle and distance in Table 5. In the two environments, before encountering dynamic obstacles, the speeds of the USV and thruster are the same, and they can maintain a high speed, as in Figure 14a,c. From Figure 14d, the propulsion angles are also the same before collision avoidance, and as the ending area is in the rear side of the USV initial state, the propulsion angle reaches the maximum value of 20\({}^{\circ}\), which is the adjustment process of the algorithm. During the collision avoidance, the size of the command propulsion angle is less than 10\({}^{\circ}\), and the static environment is less than 7\({}^{\circ}\). Figure 14e displays the computing time of CAS. The maximum computing time is 0.21 s, which is far less than the update time of 1 s. Figure 14f displays the distance between the obstacles and USV in the distance range. Because the starting point and ending area are on the edge of the obstacles, the distance is smaller at the start and end of the simulation. When calculating the distance index, we exclude the start and end stage, that is 1-18 s and 150-217 s in the static environment and 1-18 s and 172-237 s in the static environment. During the collision avoidance, the minimum distances from the five dynamic obstacles are respectively 37.4 m, 19.2 m, 134.7 m, 99.4 m and 16.7 m, and sufficient security distance is guaranteed. In a real environment, the USV can avoid coastlines, islands and dynamic obstructions. This result is consistent with the simulation environment. The algorithm can guarantee the fast, stable and safe navigation of the USV in real time. \begin{table}
\begin{tabular}{l c c c c} \hline \hline \multicolumn{2}{c}{**Start Point (m)**} & **Start Time (s)** & **Velocity (m/s)** & **Speed (kn)** \\ \hline Dynamic Obstacle 1 & (600, 100) & 20 & \((-10,0)\) & 19.4 \\ Dynamic Obstacle 2 & (550, 250) & 40 & \((-5,-5)\) & 13.7 \\ Dynamic Obstacle 3 & (1000, 50) & 50 & \((-3,-10)\) & 20.3 \\ Dynamic Obstacle 4 & (1150, 700) & 100 & \((-1,3)\) & 6.1 \\ Dynamic Obstacle 5 & (1050, 1100) & 130 & \((5,-5)\) & 13.7 \\ \hline \hline \end{tabular}
\end{table}