# An Automatic Navigation System for Unmanned Surface Vehicles in Realistic Sea Environments
## 1 Introduction  
In line with the growing interest in the ocean for civilian and military applications, there has been an increasing demand for the autonomy of unmanned surface vehicles (USVs) with advanced automatic navigation systems (ANSs) [1]. USVs are intelligent unmanned platforms which perform tasks independently in a variety of cluttered sea environments and have highly nonlinear dynamic characteristics [2]. The development of USVs has brought many advantages, such as improved personnel safety and reduced operation costs, as well as increased autonomy and flexibility in sophisticated environments [3,4]. However, now only semi-autonomous USVs are used rather than fully-autonomous USVs. This is due to the complex and hazardous sea environments [5]. The ANS in this paper is designed for fully-autonomous USVs in order to minimize both the need for human control and the effects due to human error. To ensure that a fully-autonomous USV travels in a realistic sea environment, the ANS is composed of a path planning subsystem (PPS) and a collision avoidance subsystem (CAS). The PPS can generate a shorter path according to the current environment in a collision-free and smooth manner. In the local environment, the CAS not only follows the reference path points, but also has the control capacity to avoid collision in a timely manner. In terms of USVs, there are an increasing number of algorithms in the research focusing on path planning as a fundamental aspect of ANSs. These include [PERSON]'s algorithm [6], A* [7,8], Theta* [9], the Voronoi diagram [10], particle swarm optimization (PSO) [11], ant colony optimization(ACO) [12; 13], the genetic algorithm (GA) [14], and so on. Recently, considering the turning capacity of USVs, [PERSON] and [PERSON] used the finite Angle A* algorithm (FAA*), which is used to determine safer and suboptimal paths for USVs on satellite thermal images [7]. [PERSON] put forward the angular rate-constrained Theta* algorithm with considerations of vehicle performance based on the Theta* algorithm [9]. However, all of these algorithms search the optimal path in a static environment. Hence, path re-planning (collision avoidance) is proposed to meet the demands of real-time planning or avoidance under dynamic environments. These algorithms include the rolling windows method [11], artificial potential field (APF) [6; 12], velocity obstacle (VO) [15; 16], local reactive obstacle avoidance [17], optimal reciprocal collision avoidance [18], dynamical virtual ship (DVS) [19], and so on. Although these algorithms have good real-time performance, they are difficult to use in complex and irregular environments. To solve this problem, some scholars use the hierarchical structure to combine global path planning and local path re-planning [6; 11; 12], and some try to improve the traditional path planning algorithm, using for example Rule-based Repairing A* [8]. [PERSON] et al. selected the fast marching method (FMM)-based path planning algorithm [20]. The advantage of the FMM is that it is capable of fast generating optimal and smooth trajectories in a complex environment, which enables it to be applied in dynamic and static environments. Hence, the PPS of this paper is based on the FMM algorithm. In addition, although many works in the literature (see e.g., [6; 7; 9]), use satellite maps for environmental information, this method is incomplete for describing the invisible sea environment, such as reefs, ocean depths, and so on. Thus in this paper, environmental information is obtained from the electronic chart, which can display this invisible information in detail. After planning the path, according to the guidance, navigation, and control (GNC) system structure [1] the next step is to control the USV following the path. Some works have discussed this problem after generating the path. The authors of [10; 20; 21], for instance, employed the line-of-sight (LOS) guidance algorithm to convert the path following the course control of USVs.