A Robust Reactive Static Obstacle Avoidance System for Surface Marine Vehicles

This paper is centered on the guidance systems used to increase the autonomy of unmanned surface vehicles (USVs). The new Robust Reactive Static Obstacle Avoidance System (RRSOAS) has been specifically designed for USVs. This algorithm is easily applicable, since previous knowledge of the USV mathematical model and its controllers is not needed. Instead, a new estimated closed-loop model (ECLM) is proposed and used to estimate possible future trajectories. Furthermore, the prediction errors (due to the uncertainty present in the ECLM) are taken into account by modeling the USV’s shape as a time-varying ellipse. Additionally, in order to decrease the computation time, we propose to use a variable prediction horizon and an exponential resolution to discretize the decision space. As environmental model an occupancy probability grid is used, which is updated with the measurements generated by a LIDAR sensor model. Finally, the new RRSOAS is compared with other SOA (static obstacle avoidance) methods. In addition, a robustness study was carried out over a set of random scenarios. The results obtained through numerical simulations indicate that RRSOAS is robust to unknown and congested scenarios in the presence of disturbances, while offering competitive performance with respect to other SOA methods.


Introduction
Nowadays, the application fields of unmanned surface vehicles (USVs) are very diverse [1], such as environmental control, scientific activities, commercial work, national security issues and surveillance. Consequently, the systems that provide the capacities required in order to consider a vessel as autonomous have become a very active field of research [1][2][3]. These systems, which are shown in Figure 1, must: estimate the vessel's state vector [4,5], control its course and velocity through the actuators [4,5], process the sensor measurements to generate a model of the environment surrounding the USV [6][7][8][9][10][11] and carry out safe guidance of the vehicle towards its goal [3][4][5]7,9,[12][13][14][15][16][17][18][19][20][21][22]. Therefore, the autonomy of a USV is determined by the level of development of the estimation, control, obstacle detection and guidance systems, and by their integration in a hardware platform [1][2][3]. More specifically, a USV's guidance system is formed by three main subsystems: path planning, path following and obstacle avoidance (reactive algorithms). First, planning algorithms [3,7,18,23,24] generate collision-free paths with known obstacles that, in turn, lead the vehicle to its goal. Once a path is established, the path following algorithms change the course and velocity of the USV to follow it [4,5,19,25]. Finally, due to the presence of unknown obstacles for the path planner, reactive algorithms use the information provided by the obstacle detection system (generated from sensors' measurements) to modify the course/velocity setpoints in order to avoid a collision [9,[12][13][14][15][16][26][27][28][29][30]. Of the systems shown in Figure 1, this work is focused on the obstacle avoidance (OA) systems applied to the USV.

Related Works
First, before reading this work, we recommended that the reader consults in detail the paper [31], where a new autotuning environment is proposed for static obstacle avoidance methods applied to USVs. Specifically, to develop and evaluate the RRSOAS, the numerical simulation environment proposed in [31] was used. Moreover, several reactive methods [30,35,41,42] were autotuned in that paper, and later used in this work to make a comparison with the RRSOAS.
Due to the intensive research on obstacle avoidance methods applied to mobile robots, there are reactive algorithms that can guarantee the safety of these systems [12,[20][21][22]26,27,30]. For instance, the approach proposed in [22] for an underwater robot is based on two behavioral modules: avoiding obstacles and seeking the goal, which are constituted by two ANFISs (adaptive neuro fuzzy inference systems) that enable the robot's motion in vertical and horizontal planes. Another important approach is proposed in [21], where from a tangent graph (that considers the robot's minimum turning radius) the authors define a probabilistic algorithm that ensures safe navigation to the goal in 100% of cases. In view of these results, the proposal of new reactive algorithms for USVs is justified due to the disturbances inherent to the marine environment [4], and the dynamics and establishment times characteristic of marine surface vehicles [5,[57][58][59][60]. For these reasons, the reactive algorithm proposed in this work, in line with the approach followed in [16,17,34,36,39,40,44,46], takes into account the USV's dynamics when it requests any change in the control setpoints. In case of a possible collision, OA systems study a set of alternative setpoints for the course and velocity for the vehicle [12,20]. This set, or decision space (DS), contains infinite course/velocity setpoints, so it can be discretized for study. In works such as [11,13,14,16,17,26,27,30,40,41,43], the discrete decision spaces (DDS) are obtained from fixed resolutions. As a novel contribution, we propose to discretize the SD by applying an exponential resolution for the course's setpoints. In this way, a variable resolution is achieved, high in the vicinity of the current course and low in the limits of DS, which reduces the number of alternative setpoints. Furthermore, to take into account the vessel's dynamics, it is common to make predictions of the possible paths that the USV would follow if the course/velocity setpoints were modified. For this purpose, in [16,17,34,36,39,40,44,46] it is necessary to know the mathematical modeling of the vessel and its controllers. In contrast with these methods, RRSOAS does not need these models. Instead, we propose a new estimated closed-loop system model (ECLM) to estimate possible future paths. This ECLM simplifies the dynamics of the closed-loop system under the hypothesis of a correct operation of the course/speed controllers, and in turn, considers the characteristic dynamics of marine surface vehicles [5,[57][58][59][60]. With respect to the prediction horizon that defines the limit of these future paths, the majority of the reactive algorithms for USVs [16,17,34,36,39,44,46] use a fixed horizon. As a result, depending mainly on the velocity setpoint, these paths cover different distances for the same prediction time. In order to reduce the runtimes of these predictions, this paper proposes to use a variable prediction horizon. In [61] the prediction horizon is defined as a variable that is optimized by a predictive controller designed for unmanned aerial vehicles [62]. Nevertheless, in our work the prediction horizon depends on each pair of alternative setpoints; thus, all possible future paths cover the same distance. Moreover, the uncertainty present in the mathematical model used to make the predictions is not taken into account in [16,17,34,36,39,40,44,46]. This uncertainty, due to the recursive calculation of the predictions, causes an error that increases with the prediction time. In order to make the RRSOAS robust to these prediction errors, we propose to model the USV contour as an ellipse whose perimeter varies with the prediction step. Thus, the shape associated with the vehicle increases with the prediction error. Finally, RRSOAS uses an occupation grid (OG) as a model of the environment [6], which must be generated by an obstacle detection system. OGs have been widely used in mobile robotics [6][7][8]29] and in guidance systems for USVs [23,24,33,37,47]. As a novel contribution, in contrast to the general approach in which the predictions are evaluated for each obstacle [16,17,34,36,39,40,44,46], we propose to translate the possible future paths to an occupancy probability grid. For this purpose, the concept of repulsive forces proposed in [29] is adapted and an estimated collision time based on the probability of occupation is proposed. In this way, taking into account the USV's dynamics, RRSOAS considers the measurement/estimation errors present in the environment model. In reactive algorithms, it is very common to use a heuristic to determine the control commands requested to the autonomous vehicles [11][12][13][14]16,17,20,26,27,30,33,40,41,44,46,47]. Therefore, once the alternative setpoints have been characterized according to a repulsive force and an estimated collision time, both associated with each future path, a heuristic is employed to calculate the course and velocity setpoints demanded by the USV controllers.
The organization of this paper is as follows: mathematical models used to evaluate the new RRSOAS by means of numerical simulations are described in the Section 2. As a simulation environment (USV and LIDAR sensor models), the one proposed in [31] is used. In addition, a Bayesian filter [8] is employed to generate the occupancy probability grids at each sample time of the reactive algorithm [63]. On the other hand, Section 3 presents in detail the four subsystems that form the RRSOAS. As results, the RRSOAS's performance is compared with those of other SOA methods [30,31,41] in Section 4. Furthermore, a study of the robustness of the algorithm was also carried out on nine-hundred obstacle avoidance scenarios, in which the USV navigates at different velocities and is affected by several levels of sea current. Finally, Section 5 contains a general discussion of the results, and in Section 6 the conclusions are presented.

Mathematical Models
This section describes the mathematical models used to evaluate the RRSOAS by means of numerical simulations.
where η represents the position vector of the USV referring to Earth-axes, ν and ν r are the velocity and relative velocity vectors referring to body-axes, R(ψ) is the rotation matrix from body-axes to Earth-axes (see Figure 2) and τ act = (τ x τ y τ z ) T are the forces and moment applied by the actuators.
with V c as the module of the current velocity and β c as its direction.
where l x is the distance from the actuator to the vessel's center of gravity; n represents the propeller angular velocity; δ is the rudder angle; T act represents the thrust generated by the propeller; and finally, D act and L act are the drag and lift forces generated by the rudder, respectively. In addition, the dynamics of the actuator are considered as: where the time constants τ δ and τ n characterize rudder and propulsion dynamics, while δ c and n c represent the setpoints for rudder angle and propeller angular velocity, respectively. The respective discrete time control algorithms are given by where the USV course is defined as χ = ψ + β (see Figure 2), the sample time has been established as T c m = 0.1 s and c f = τ f /T c m . Moreover, due to the strong non-linearity of model (1), the authors in [31] use the gain scheduling technique [57,66] to make these PID structures adaptive.

Sensor Environment Modeling
In order to achieve a realistic simulation environment, this work uses a 2D model of the Ultra Puck LIDAR sensor proposed in [31]. This sensor model has a measurement range d range = 200 m and a horizontal field of view h range = 360 • . Furthermore, looking for the worst case [67], the lowest angular resolution (h res = 0.4 • ) and minimum rotation frequency ( f L m = 5 Hz) were fixed in the numerical simulations. As inputs, as stated in [31], the sensor model requires the USV position vector and a set of segments that define the obstacle scenario (S E ),  [31] the authors use the set of segments L B to model the LIDAR sensor as a set of beams referring to body-axes: 1B,2B and y i L 1B,2B represent the coordinates of each pair of points that form a beam and n L is the number of beams that compose L B (n L = h range /h res = 900).
In order to generate the distances measured by the sensor, in each sample time (T L m = 1/ f L m ) the set L B is rotated and translated to Earth-axes as a function of the USV position vector, resulting in set L E [31]. Then, the points of intersection between the sets of segments S E and L E are calculated. Of all the points of intersection obtained for each beam, only the one closest to the USV is considered, while the rest of the intersections with S E are ignored. Thus, obstacles that are hidden due to the perspective effect are not detected. In addition, a measurement error is added to the detected points depending on their distance to the vehicle. As output, sensor model delivers a vector that contains the measured distances (d i L m ) at each angular position (θ i L m ); see Equation (8). In this way, a difference with other works that also evaluate OA methods for USVs through numerical simulations [11,13,14,16,[33][34][35][36][37][38][39][40][41][42][43], measurement uncertainty is added to the environmental information used by the RRSOAS.
where f i L Inter = 1 represents that an intersection has occurred between the beam θ i L m and some segment of S E , d i L min is the minimum distance of each beam to the obstacles and η i L is the WGN that affects each measurement, whose variance depends on d i L min [31].

Obstacle Scenarios Used to Evaluate the New RRSOAS
This section presents the obstacle scenarios used to evaluate the RRSOAS. These scenarios have been established while taking into account the limitations of reactive obstacle avoidance methods [9,11,[13][14][15][16][27][28][29][30][34][35][36][37][38][39][40][41][42][43]49,51], which are designed to avoid unknown obstacles that have not been considered in the path planning [1][2][3]. To this end, these methods use the environmental information processed in real time from the sensor measurements. Due to measurement errors and the limited ranges of these sensors, reactive methods do not guarantee that the vehicle will reach the goal if there are local minimums [12]. For this reason, in order to provide a global solution to the problem of autonomous navigation [1][2][3], reactive methods are combined with path planning algorithms [7,18,32,55]. Since in this work the obstacle scenarios are used to evaluate the RRSOAS, without considering its integration with any global algorithm, these do not contain local minimums (as might happen in some marine environments). Instead, unknown scenarios are used, which the USV detects during navigation through the measurements provided by the LIDAR model (7). Specifically, each obstacle scenario is defined by S E (6), the ocean current (V c and β c ), a goal waypoint (P goal ), a goal velocity (U goal , speed over ground [4]) and the initial vectors of position and velocity of the USV (η 0 , ν 0 ). These scenarios are used to study two features of the RRSOAS: performance and robustness. First, in order to evaluate the performance of the RRSOAS, it is compared with other reactive SOA methods. For this purpose, the five obstacle scenarios proposed in [31] and shown in Figure 3 are used.
However, there are infinite geometric/environmental combinations that define the possible scenarios where a USV can be located. Hence, once the OA system has been adjusted over specific scenarios, it is necessary to study its robustness in other scenarios whose obstacle distributions and environmental conditions are different. To this end, we evaluated the robustness of the RRSOAS through a statistical study. This study was based on the success rate of the reactive algorithm when it guided a USV over a population of randomized scenarios. With respect to most OA systems for USV [13][14][15][16][17]25,[32][33][34][35][36][37][38][39][40][41][42][43]45,47] in which the results shown are limited to a number of specific scenarios, a more exhaustive robustness analysis was performed.  To carry out this study, a sample of scenarios (n E ) with a constant number of obstacles (n o ) was generated. These obstacles were randomly generated, as was the current direction, the initial position vector of the USV and the goal waypoint. In particular, the four points of the segments (6) were generated from a rectangle of random dimensions, position and orientation.
Each random rectangle (Obst place it on the scenario. These parameters are calculated as: where ζ i O 1···5 represents a uniformly distributed random number in the interval (0, 1); a max and b max define the maximum dimensions of the rectangle; and finally, R E is a radius that adjusts the dispersion of the obstacles, which defines the occupation zone of the scenario.
As a starting point for all scenarios, the USV is outside of the occupation zone and its heading is pointed towards the goal waypoint, while sailing at a velocity U goal . In this way, the reactive algorithm can always choose the most conservative solution: surround the scenario. In addition, the vessel is affected by a random direction current. Therefore, the initial position and velocity vectors of the USV, along with the β c angle, are defined as: where the variables (ζ η , ζ β c ) are random numbers uniformly distributed in the interval (0, 1) and the polar coordinates (R 0 , θ 0 ) define the initial location of the USV, whose initial heading (ψ 0 ) is oriented towards the occupation zone.
On the other hand, the goal waypoint is located in an obstacle-free zone [12]. Moreover, since the USV begins pointing to P goal , it is defined as: Finally, in line with most of the OA systems [11][12][13][14]16,17,26,27,30,33,40,41], it is necessary to define a goal course ( χ goal ) at each simulation instant (k). In this paper the USV's mission is to arrive at P goal , so the goal course is defined by the Equation (13). If the mission involves following a concrete path, χ goal must be calculated according to the kind of path [4,5,19,25].
In short, a sample of scenarios is defined by the vector Θ E = (n E n 0 R E a max b max ), where n E is the number of scenarios that form the sample; n 0 sets the number of obstacles; R E limits the zone of occupation; and finally, a max and b max define the maximum dimensions of the obstacles. In addition, each sample of scenarios can be parameterized in terms of U goal and V c . Thus, it is possible to study how the magnitudes of environmental disturbances affect the RRSOAS at different points of operation of the USV. As illustrative example, Figure 4 shows eight random scenarios generated by this procedure.

Model of the Environment Surrounding the USV: Occupation Grid
In order to generate a model of the environment that surrounds the USV, the obstacle detection systems [6][7][8][9][10] process and fusion the information obtained from different sensors and data sources (see Figure 1). Thus, the guidance system can use all the information to carry out a path planning and avoid any unforeseen obstacle. In this work, the obstacle detection system generates an Occupation Probability Grid (OPG) [6,8,29] which is used by the RRSOAS. OPGs allow decoupling the OA system and the complexity of the scenario (shape and number of obstacles). For this purpose, it is necessary to fix a resolution (g res ) in order to discretize the space around the vehicle in cells, which quantify the uncertainty contained in the measurements as an occupancy probability. Hence, the environmental analysis carried out by the reactive method depends only on the grid dimensions (m g × n g ). In this work, OPG is centered on the USV and it moves with the vehicle [29,47]. Specifically, the reference system of the OPG matches with the vessel's local horizon reference system; see Figure 2. Furthermore, based on the numerical simulations carried out and in line with the cell size used in [47] for a vessel similar to the USV (1), the resolution has been set as g res = 1 m. Moreover, with the aim of using the maximum detection range of the sensor (7), the grid is set square and its dimension depends on d range .
where x represents the function floor(x) and (i g , j g ) are the indexes of the grid. Since this work is not focused on the development of a obstacle detection system, in the numerical simulations OPG was calculated using the MATLAB Navigation Toolbox [63]. In particular, the occupancyMap function was used to define OPG according to its dimensions and resolution. This function is based on a Bayesian filter, an approach widely used to generate OPGs [8]. Once the grid is defined, in each sample time T L m the measurements delivered by the LIDAR sensor (7) are translated to this grid. For this purpose, the insertRay function is used, whose inputs are directly compatible with the measured distances (8) and the position vector of the USV, η(k). Furthermore, in order to avoid possible truncation errors caused by the discretization of the space, function inflate is used to expand each occupied cell a radius equivalent to g res . Finally, the function occupancyMatrix is used to obtain the probability of occupation of all the cells (p ij ); see Equation (15). As a result, Figure 5 shows: the USV navigating over an obstacle scenario, the LIDAR sensor measurements and the OPG.
where f B represents the Bayesian filter used to generate the OPGs at each sample time k.

Robust Reactive Static Obstacle Avoidance System
This system has been designed from the synthesis of several basic concepts in the field of OA methods [12,27,29,30,51], taking into account general criteria used in USVs [16,17,34,40] and new contributions in this field in order to increase the robustness and applicability of SOA methods to vessels. A general scheme of this new method is shown in Figure 6. As inputs, the algorithm requires the state vector of the USV (x USV ), an OPG (g p ) and goal setpoints ( χ goal , U goal ). As outputs, the RRSOAS generates the course and velocity setpoints sp spχ, sp U for the USV controllers. Guidance and obstacle avoidance heuristic system. Finally, based on F R and T EC , and the goal setpoints ( χ goal , U goal ), a heuristic is used to restrict, weight and decide over DDS the setpoints that are demanded by the controllers; sp spχ, sp U .

Effective Discrete Decision Space System
When sailing in the presence of obstacles, a vessel's current velocity and course can lead to a collision. In order to avoid such possible collisions, it is necessary to study a set of alternative setpoints for the course (spχ) and velocity (sp U ) of the USV [11][12][13][14]16,17,41]. The combination of these alternative setpoints defines the decision space at each sample time (k): where ∆ χ max and U lim are adjustment parameters that define the maneuvering range of the USV, limiting the values of the alternative course/velocity setpoints. Since the set (16) is continuous, it can be discretized according to a resolution [13,14,16,17,26,27,30,40,41]. A disadvantage when a fixed resolution is used for the course setpoints and DS is centered on the current vehicle course, a standard approach followed in mobile robotics [12,26,27,30,51], is that the resolution must be increased to reduce the tracking error of the goal course [40]. Consequently, the calculation time increases with the number of alternative setpoints. An alternative approach is to center DS directly on the goal course [16,37]. In this way, the authors ensure that the guidance of the USV follows χ goal without the need to use high resolutions in the discretization of the course commands. Although, as a disadvantage, the symmetry (number of alternative setpoints to port and starboard) of space (16) depends on the angular distance between χ and χ goal . In order to reduce the tracking error with respect to χ goal without using high resolutions, while DS is centered around χ , we propose an exponential discretization for the course setpoints; see Equation (17). This discretization limits candidate courses to bring navigation more in line with COLREGS [68], carrying out minor corrections to compensate any course changes due to disturbances and applying significant course changes (easily perceived by other vessels [68]) if there is a risk of collision. Moreover, although the obstacles present in the environment force the RRSOAS to demand changes of course in only one direction, the symmetry of space (16) is not affected.
where τχ is a positive parameter that defines the variation of the resolution along the range ∆ χ max and nχ represents the even number of alternative courses (port/starboard symmetric).
On the other hand, the use of low resolutions to discretize velocity setpoints does not affect to the performances of OA systems for USVs [16,17]. For this reason, two fixed resolutions are used in this work: U + res and U − res , which define alternative velocities higher and lower than U goal , respectively. In addition, goal velocity and zero velocity (for unavoidable collision situations) are also considered as commands. Thus, the alternative setpoints for the velocity of navigation are given by: where n U is the even number of alternative velocities, while the sets SP + U and SP − U are defined as: where U gov is the minimum velocity at which the course controller can govern the vessel. As a result, using an exponential resolution (17) to discretize the courses and two fixed resolutions (18) for the velocities, the decision space (16) is discretized according to Equation (20). Figure 7 shows one of the possible discrete decision space (DDS) that defines the set of alternative setpoints (spχ, sp U ) evaluated by the RRSOAS.
where sp i c (spχ, sp U ) represents a pair of possible government setpoints and n c = (2nχ + 1)(2n U + 2) defines the total number of alternative government setpoints taken into account. Finally, it is necessary to consider the oscillations that external disturbances (wind, waves and current) cause in the vessel's course. These oscillations, although corrected by the autopilot in a finite time, may generate undesired changes in DDS (20), since these are not due to avoidance or following maneuvers. To reduce the variation of set (17) caused by these oscillations, in this work it is proposed to apply hysteresis (21) to the USV's course, so χ is replaced by χ hyst in Equations (16) and (17).
where κχ is the hysteresis range, set according to the sea state and the autopilot's performance.

Path Predictor System Based On Estimated Closed-Loop Model
This system estimates the possible future paths that the USV could take to avoid a collision. For this purpose, it does not need the mathematical modeling of the vessel or its controllers. Instead, it uses the new estimated closed-loop model proposed in this paper. Moreover, each prediction horizon is adjusted to ensure that all future paths associated with DDS (20) cover the same distance.

Estimated Closed-Loop Model
In the first place, the closed-loop system formed by the vessel and the course/velocity controllers is modeled as two second-order differential equations with delay; see expressions (22) and (23). Each of these models relates the setpoints (spχ, sp U ) with a linear estimation of the controlled variables (χ l ,Ũ l ). Both models are defined by: effective time constants (τχ, τ U ), effective delay times (dχ, d U ), damping coefficients (ζχ, ζ U ) and stationary gains (Kχ, K U ). These last ones, due to the error compensation made by the controllers to ensure that the USV follows the setpoints, are taken as wherer l andã l are estimates of the angular velocity and linear acceleration of the USV, respectively. Taking into account the non-linear dynamics characteristic of marine surface vehicles and the strong coupling between their state variables [5,[57][58][59][60], it is necessary to consider additional effects on the linear dynamics represented by models (22) and (23). First, speed falls due to changes of course are considered. Physically, this is caused by the coupling that exists between the components of the vessel's velocity vector (ν) [5,[57][58][59][60]69] and the drag forces generated by the action of the actuators; see Equations (1) and (3). To model this effect, the estimated linear velocity is redefined and depends on the estimated angular velocity: where (c 1 , c 2 , c 3 ) are positive coefficients that model the loss of velocity experienced by the vessel during a change of course, T p is the integration step andŨ is limited to the USV navigation range. Secondly, it is necessary to take into account the non-linear dynamics of the vehicle's rotational rate. According to [5,[57][58][59][60], in vessels the dynamics of r becomes faster when the forward velocity increases. Therefore, the parameters of the model (22) that define the rapidity of the course dynamics become non-linear and variable depending onŨ, where the coefficients (c 4 , c 5 , c 6 , c 7 , c 8 ) are defined positive to ensure the stability of the ECLM and model how τχ(t) and dχ(t) decrease when the velocity of the vessel increases. Thus, the angular velocity and course of the new ECLM is defined as: with r max as the maximum rotation rate of the vessel. Finally, the positions (x E ,ỹ E ) are estimated according to: Then, Equations (23)- (27) are discretized using the forward Euler method with the aim of predicting possible future paths. As a pre-tuning value, the integration step T p is established equal to the sample time of the Controllers (5). By regrouping terms, the new ECLM is obtained, a non-linear and time-varying model: where x represents the function floor(x), b 32 = −a 45 and b 11 = −a 12 . As can be seen, the dynamics of the ECLM is defined by the parameter vector (29). To identify this vector, in a real vehicle, time series would be recorded in which an experienced captain performs obstacle avoidance maneuvers with the USV (logging the vessel's course, linear and angular velocities). Thus, the ECLM takes into account the dynamics of the USV during collision risk situations.
Since we do not have a real vessel, the RRSOAS algorithm itself has been used as an experienced pattern to generate the time series that will be used in order to identify the model (28). In these simulations, the predictions used by the RRSOAS are made from the models (1), (3) and (5), which have been discretized with the forward Euler method and an integration step T p = 0.1 s.
Moreover, as the ECLM is a system with delays, in line with the work carried out in [70][71][72], a numerical optimization method based on a genetic algorithm (GA, [73]) is used for the identification of the vector (29). In this way, each Θ ECLM is considered as an individual of a population, and consequently, each parameter represents a gene. In addition, to quantify the fit of the model (28) to the time series, the SAE (sum absolute errors) indicators are used: where n ts = T t /T p is an integer that represents the length of the time series, which are obtained in navigation trials, and T t is its duration. Accordingly, the cost function used by the GA to calculate the fit of each individual is defined as: Due to the random nature of evolutionary algorithms [73], the identification for the same time series has been repeated 32 times, and from the parameter vectors obtained, the one that best fits a second validation time series was chosen; see Figure 8. To implement the GA, Toolbox within Matlab was used [74]. In order to ensure the stability of the model and to limit the search space, the parameters of the vector Θ ECLM were restricted while taking into account its physical meaning and the USV's behavior. Consequently, the option mutationadaptfeasible was set as a mutation function [74] and the initial population was also limited. In addition, we allowed: a population of 200 individuals, a maximum of 100 generations and the parameter MaxStallGenerations was established as 15% of the maximum of generations. Finally, to avoid early convergence [73,74], elite individuals were limited to 2% of the population and the crossover factor was reduced (increasing the mutation factor) to 0.7. The other parameters were the ones established by default in [74]. As a result, the parameters identified for the ECLM, which estimates the dynamics of the closed-loop system formed by Equations (1)

Path Predictor with Variable Prediction Horizon
The path predictor proposed in this work uses a variable prediction horizon M i c to ensure that all future paths cover the same prediction distance (D p ). In this way, the prediction time is adapted to each pair of sp i c setpoints as a function of USV's dynamics. In particular, we propose to set D p according to the measurement range of the sensors (d range ). Furthermore, if this measurement range is oversized due to the maneuverability of the USV to avoid static obstacles, the distance D p can be reduced as long as it ensures that the course and speed of the ECLM (28) reaches the stationary regime.
From the current state of the vessel, the ECLM status vector is obtained to initialize the predictions: whereŨ l (k) is obtained according to the Equation (24) andã l (k) is calculated using Euler's forward approximation: In addition, due to the delays defined in the ECLM (28), the control setpoints demanded by the controllers in previous periods are recorded: where γ b 2 is the maximum delay taken into account for the estimation of course dynamics. This delay is obtained at the minimum government velocity U gov ; see Equations (24) and (25).
With the initial state (33) and previous ECLM entries (35) established, each pair of alternative government setpoints is held for the entire prediction horizon. As a result, by carrying out iterative calculations with the ECLM (28), an estimated future path is obtained for each pair of sp i c , According to Equation (37), each horizon M i c must ensure that the path reaches the prediction distance D p , which has been set equal to the measurement range of the LIDAR sensor (7). As an exception, if a zero velocity setpoint is evaluated, M i c is truncated when U gov is reached. In a real hazardous situation, when a stop command is demanded, it will be necessary to switch the USV to dynamic positioning mode, or if it is not available, manual/emergency mode.
whered(k + m i c ) is the distance traveled in each prediction step and M max represents the maximum prediction horizon allowed.
With the aim of characterizing each possible future path, the distance traveledd(k + m i c ) and the prediction timet(k + m i c ) are calculated. For that purpose, the vector (36) was extended: By grouping the vectors Z i c , the possible future paths for the entire DDS (20) are obtained:

Robust Collision Checking System through Occupancy Grid
In this work, two novel contributions have been developed to increase the robustness of OA methods applied to USVs [16,17,34,36,39,40,44,46]. The first one takes into account the uncertainty present in the mathematical modeling of the USV that is used to make predictions. The second contribution deals with the measurement/estimation errors contained in the environmental model.

Variable Shape as a Function of the Prediction Step
Due to the recursive character of the predictions, parametric and structural uncertainties present in mathematical modeling [66] cause prediction errors that increase with each step (m i c ). In order to take into account these errors, as well as the shape of the vessel, we propose to model the USV's contour as an ellipse whose perimeter varies as a function of m i c . For this purpose, the shape of the vessel is approximated to a discrete ellipse referenced to body-axis system; see Equation (40). In this ellipse, the major and minor diagonals are sized according to the length and the beam of the USV (L USV and M USV ). On the other hand, the number of points used to discretize the ellipse, n , can be calculated according to an approximation of its perimeter (Ramanujan II-Cantrell, [75]) and the resolution of the occupation grid (g res ). However, with the aim of reducing the algorithm's run time, n can be tuned based on the computational capacity of the hardware employed.
where γ L and γ M are safety factors used to oversize the vessel's shape. The points B are translated to the reference system of the occupancy grid or local-axis system, where M ones represents a unit matrix of dimension n × 2, while d L is defined as: To consider the prediction errors due to the uncertainty present in the model, the constant dimension ellipse used in Equation (41) is replaced by an ellipse whose perimeter increases with m i c ; see Equation (43). Moreover, to model and limit the growth of this ellipse, it is proposed to use a hyperbolic tangent (function with continuous bounds). As a visual example, Figure 9 shows a comparative of the ellipses v B obtained when γ v is modified.
where γ v is defined positive and represents a variable oversize factor, which is established according to the degree of fit between the prediction model and the real behavior of the USV.

New Repulsive Forces and Estimated Collision Times Method
In order to translate the possible future paths to the occupancy probability grid (g p ), at each prediction step, the points of the discrete ellipse (41) are expressed as cells: (44) where x represents the function round(x) and b g = (1 + n g )/2. From the probability of occupation stored in the cells of ij and p , the maximum probability is obtained for each step of the prediction (p max ); see Equation (45). Then, by grouping p max (k + m i c ) for the entire prediction horizon, the vector that contains the maximum occupancy probabilities is formed for each possible future path; see Equation (46).
Now, the concept of repulsive forces ( f r ) from the VFF (virtual force field, [29]) method is used. In this method, all cells of the grid produce a f r depending on their current distance to the vehicle and their probability of occupancy. Then, these repulsive forces are added, together with a attraction force, to obtain a resultant guidance force. As a novel contribution, in this work the repulsive forces (47) are used to characterize each possible future path Z i c . For this purpose, at each prediction step m i c , the force f r (k + m i c ) is calculated as a function of the future distanced(k + m i c ) and the maximum probability of the cells crossed by the discrete ellipse (44); p max (k + m i c ).
where n d defines the variation of the repulsive force as a function of the future distance. In the VFF method [29], the authors set n d = 2. Specifically, they carry out the autonomous guidance of the CARMEL mobile robot, which is equipped with 24 ultrasounds whose detection range covers 3 m. Since this measurement range is much lower than the one used in USVs [1][2][3]13,31,41,67], it is necessary to study the variation of repulsive forces as a function of the parameter n d . To this end, Figure 10 shows the repulsive forces obtained, over the measurement range used in this work (d range = 200 m), for three different values of n d . Due to the variation shown in this figure, and with the reason that all obstacles located within d range produce a significant repulsive force, in this work n d = 0.5 has been set. On the other hand, in order to constrain the setpoints sp i c that would lead to an immediate collision, we propose to estimate the collision times for each possible future path; T i c ec . For this purpose, at each prediction step m i c , t ec (k + m i c ) is calculated as a function of the prediction timet(k + m i c ) and the maximum probability p max (k + m i c ); see Equation (48). Then, by grouping t ec (k + m i c ) for the entire prediction horizon M i c , the vector (49) is formed.
where n t is an parameter used to oversize the occupancy probability, and consequently, decrease the estimated collision time.
Finally, looking for the worst case, each sp i c is defined by the highest repulsive force (F i c R ) and the lowest estimated collision time (T i c EC ). Thus, once all alternative government setpoints have been evaluated, the DDS (20) is characterized by the prediction model and the occupancy probability grid:

Guidance and Obstacle Avoidance Heuristic System
In line with most reactive obstacles avoidance methods [12], a heuristic is minimized to decide the setpoints sp(spχ, sp U ) demanded by the controllers at each sample time (k). In particular, this heuristic is a modification of the one proposed for the dynamic windows method [27], with the purpose of improving its performance in USVs.
where α i , for i ∈ {1, 2, 3, 4}, represent the tuning parameters used in the heuristic weighting, M ones is a unit matrix of dimension 1 × n c , and as in [27], T mac is a parameter used to restrict the setpoints sp i c according to their estimated collision times. In addition, in order to facilitate the tuning of the algorithm, the indeces taken into account in the heuristics are normalized. First, based on the proposal made in [27], the indices J Heading and J Velocity are obtained, which define the alignment of the DDS (20) with the goal course and velocity. Moreover, in line with the proposal initially made in [30], and later, used in other OA systems for USVs [16,17], the index J Past is added to take into account the alignment of each sp i c χ (k) with the previous course setpoints sp i c χ (k − 1). In this way, the algorithm has a memory effect that reduces commutations in the course setpoints. These commutations, due to small variations in the heuristics between different execution periods, cause indecisive behavior in the USV's guidance that can lead to a collision [30]. In particular, by expressing sets (17) and (18) in vector form: From the vectors (52), the previous course setpoint spχ(k − 1) and the goal setpoints ( χ goal , U goal ), the indices J Heading , J Past and J Velocity are obtained: where ∆ and | | calculate the absolute angular distance and the absolute value, respectively. On the other hand, instead of weighting the collision distances [16,17,27,40], in this work the index J FR (54) is employed. Thus, when weighting the DDS (20), the occupancy probability of the space is considered through the repulsive forces that characterize each possible future path.
Finally, if the DDS (20) is empty, which means that all alternative government setpoints have been restricted by the heuristics (51), the RRSOAS will demand a stop command. Consequently, the USV will switch to manual/emergency mode or, if a dynamic positioning control is available [4,5], the yaw of the vessel could be modified to restart the mission in a safe manner.

Simulation Results
In this first stage of development, like other reactive algorithms designed for USVs [14,16,[35][36][37]45,47], the RRSOAS was evaluated by means of numerical simulations. The Runge-Kutta numerical integration method of fourth order was used with an integration step T s = 0.01 s. As USV, the set formed by the following models has been used: vessel (1), actuators (3) and course/velocity controllers (5). In addition, the information of the environment that surrounds the USV was generated by the LIDAR sensor model (7) and translated to an occupancy probability grid by the Bayesian filter (15). In turn, the reactive algorithm ran with a sample time T m = 1 s. As a visual support, Figure 11 shows an instant during RRSOAS execution. On the other hand, each parameter of the algorithm has been adjusted, taking into account its physical meaning, in an iterative process in scenario 3; see Figure 3. As a result, Table 1 was obtained. Scenario 3 was chosen to tune the RRSOAS due to the work previously done in [31], where several SOA methods were tuned on this scenario; and we used the guidance of the USV (1) based on the same environmental information (8). Thus, the RRSOAS can be compared with other SOA methods [11,30,31,41] under the same conditions. Table 1. RRSOAS parameters in international units, which have been tuned in scenario 3 of Figure 3. Figure 11. A RRSOAS execution period: evolution of the course/velocity setpoints, USV path, translation of the predictions to the occupancy probability grid (estimated future collisions (EFC) and selected future path (SFP)) and Heuristics (51).

Performances Analysis
First, the performance of the RRSOAS was evaluated when it used the new ECLM (28) as an estimator of future paths. To that end, this performance was compared with the one that would be obtained if, when making the predictions, the USV's dynamics was fully known. This analysis would not be possible in real sea trials, since all mathematical modeling presents different kinds of uncertainties that deviate it from the real system's behavior [66]. However, in numerical simulations, it is possible to use the same dynamic model that represents the behavior of the USV as a prediction model. This approach was used in [16,17,34,36,39,40,44,46], where the authors also validated OA systems through numerical simulations and the only uncertainties considered in the prediction model were the ones associated with the effects that external disturbances caused on the vessel. In line with these works, the USV model (Equations (1) and (3)-(5), USVM) was discretized by using the Euler forward method. Thus, the performance of the RRSOAS was compared with two different prediction models: the USVM and the ECLM; in other words, two reactive algorithms were compared: RRSOAS USVM and RRSOAS ECLM . Specifically, this comparative was carried out over the five scenarios defined in [31], in which the vehicle started moving at the goal velocity U goal = u = 7 m/s and the ocean current was set as V c = 1 kn with direction β c = 0º. As tuning parameters, in both cases the ones listed in Table 1 were used. As a result, Figure 12 shows the paths obtained with the USV's guidance being carried out by the RRSOAS algorithm with each prediction model. As can be seen, in both cases the algorithm successfully guided the USV to P goal in the presence of disturbances. Furthermore, with the exception of scenario 1, wherein heuristics (51) generated a different initial decision, the paths followed by the USV did not present significant changes. This is due to the fact that, independently of the fit between the prediction model and the behavior of the USV, RRSOAS takes into account that predictions of future paths will always contain accumulative errors caused by the uncertainty. This feature is modeled through the variable ellipse (43), whose perimeter represents the shape of the vessel; see Figure 9.  4) and (5). The adjustment parameters used can be found in Table 1.
In addition to the vessel's paths, this work quantitatively evaluated the performances in the guidance of the USV. These performances, in line with the approach followed in [31], are defined according to the following indicators: mission duration (t m ), distance covered during the mission (d m ) and control effort required (∆c); see Equation (55).
These indicators have been obtained for the paths shown in Figure 12 and are collected in Table 2. As can be seen, the RRSOAS presents very similar indicators when guiding the USV with both prediction models. Therefore, given the combination of the ECLM (28) with the variable ellipse (43), both novel proposals of this work can be used to carry out the autonomous guidance of vessels, whose mathematical models, and those of their controllers, are unknown. Hence, in all the results shown below, the ECLM was used as a prediction model (RRSOAS = RRSOAS ECLM ). Moreover, ECLM presents two advantages over the general approach [16,17,34,36,39,40,44,46]. Firstly, it does not depend on previous mathematical modeling of the vessel or its controllers. Secondly, it makes the simulation environment more realistic, since the dynamic model that represents the USV's behavior is not used as predictive model. Consequently, as would happen on a real USV, the estimation of future paths contemplates prediction errors. Table 2. Indicators (55) achieved by RRSOAS algorithm with each prediction model in the scenarios proposed in [31]. These indicators characterize the paths shown in Figure 12. Additionally, here the RRSOAS is compared with two SOA methods. The first method is the LROABRA (local reactive obstacle avoidance based on region analysis) algorithm, which has been specifically designed to provide vessels with the capacity to avoid static obstacles at high navigation velocities [41]. The second SOA method considered is the VFH+, which was proposed in [30] as an improvement of the VFH [51], and later used as an OA system for a USV [11]. Specifically, to carry out the comparison, the results obtained in [31] are used, where both methods were autotuning with a genetic algorithm on scenario 3, and in turn, evaluated over the scenarios shown in Figure 3. These results, which are directly related to the indicators (55), have been included in Table 3 together with the performances obtained by the RRSOAS. Note that, according to the results obtained in [31], the LROABRA algorithm, automatically tuned for scenario 3, does not pass scenario 4. In particular, it can be seen how RRSOAS, with respect to the LROABRA and VFH+ methods, achieves improved mission times and reduced distances covered in most scenarios. As an exception, in scenario 4 the VFH+ method achieves slightly higher performance (it reduces mission time and distance by 1.32% and 3.23%, respectively). Therefore, for the USV (1), using the measurements provided by the LIDAR model (8), the new RRSOAS proposed in this paper offers competitive performance in autonomous guidance with respect to other SOA methods applied to USVs [11,30,41]. Table 3. Indicators (55) achieved by each obstacle avoidance method in the scenarios proposed in [31]. The results of the VHF+ [30,76] and LROABRA [41] methods have been obtained in [31]. Continuing with the analysis of the RRSOAS, two new proposals have been presented in this paper with respect to the algorithm's runtime. The first one is focused on the effective discretization of the decision space (16), by using an exponential resolution (17) in the course setpoints. In addition, the prediction horizon (37) for each possible future path that the USV could follow is variable. Since the final objective of an OA system is its implementation in a real vehicle, it is necessary to ensure that its computation is feasible between periods of execution of the same one. Due to the establishment times associated with the marine surface vehicle [5,[57][58][59][60], sample times in reactive algorithms applied to USVs are generally higher than those used for other kinds autonomous vehicles [20,21,61,62]. As an example, the authors in [13,15,17,56] established sample times between 1 and 2.5 seconds for their reactive algorithms, which were evaluated with vessels similar to the USV (1) by means of numerical simulations in [13,15,17,56] and on real vessels in [13,17]. In other works [16,34], where the reactive algorithms were evaluated through numerical simulations, the sample times were 5 seconds (for a 32-meter vessel [34]). With regard to the RRSOAS, Figure 13 shows how the algorithm's runtime varies (average of 100 iterations) depending on the number of alternative government setpoints (n c ) and the number of points (n ) used to discretize ellipse (40). These times have been measured from MATLAB's Tic-Toc functions [77], while the algorithm is running in Simulink on a laptop model msi GT60 2PC Dominator [78]. As can be seen, for the nominal adjustment shown in Table 1 (n c = 76 and n = 32), the average runtime is 0.092 s. Moreover, for the limits considered in this work to implement the algorithm (n c = 230 and n = 128), an average runtime lower than the sample (T m = 1 s) time is obtained (0.771 s). Therefore, if a hardware platform with similar computing power is used, it would be feasible to implement the new RRSOAS in a real vessel. In addition, it should be noted that these times could be improved if the algorithm ran on a hardware platform completely dedicated to it.

Robustness Analysis
Obstacle avoidance methods are adjusted on specific scenarios [12], which does not ensure that the OA system can overcome all situations [31]. This is due to the infinite geometric and environmental combinations that define the possible scenarios in which a USV could navigate. In this sense, as a novel contribution of this work, we propose to evaluate the robustness of the reactive algorithm on a sample of random scenarios. To this end, a sample of one-hundred scenarios has been generated following the procedure described in Section 2.3. Θ E = (100 20 300 60 20) has been set as the characteristic vector of the sample. In addition, this sample is parameterized in terms of the goal velocity (U goal ) and the current velocity (V c ). Thus, it is possible to study the reactive algorithm in several USV's operation points, under the effect of different levels of environmental disturbances and the presence of random distributions of obstacles. Specifically, the sample of random scenarios is parameterized for nine different situations, which are obtained from the combination of U goal = {5 7 9} m/s and V c = {0.5 1 2} kn. Note that, by combining the above sets with the sample of one-hundred scenarios, the RRSOAS is evaluated over nine-hundred different scenarios. This study includes the following performance indicators: success rate, stop rate, collision rate, average mission time (t m ), average distance traveled (d m ) and average control effort (∆c). In the success rate, the guidance is correct if the vehicle reaches P goal without suffering any collision. During the simulations, the collision situation will occur if the distance between the USV and an obstacle is less than L USV /2. On the other hand, the stop condition will occur if the reactive algorithm holds a zero velocity setpoint for a time t stop = 10 s, whenever a collision situation has not previously occurred. This time has been set based on the braking response of the USV (1) in closed-loop (5). Finally, from the arithmetic mean of the indicators (55), the values (t m , d m , ∆c) are calculated for those scenarios where the USV is successfully guided to P goal . In addition, as a complementary result of this work, a more conservative tuning of the RRSOAS has been done in order to show its capacity to increase the USV's safety. Therefore, the RRSOAS was studied with the performance tuning of Table 1; RRSOAS PT , and with the conservative tuning; RRSOAS CT . In this conservative tuning, with respect to the parameters listed in Table 1, the safety factors that oversize the vessel have been increased (γ L = 1.5, γ M = 3, γ v = 4.5), the algorithm's behavior has been modified to avoid leading the USV towards occupied zones (T mac = 30, α 1 = 0.4, α 3 = 1, α 4 = 0.2) and the number of alternative velocity setpoints has been increased (n u = 2). Note that, in both adjustments, the RRSOAS uses the ECLM (28) as the prediction model. Finally, in order to compare the robustness of RRSOAS with another reactive method, VFH+ is also evaluated in the same random scenarios. In particular, the VFH+ (version available in Simulink [76]) is chosen because it is the most robust of the SOA methods [30,35,41,42] studied in [31].
As results, Table 4 presents the indicators obtained by the reactive algorithms for each sample of scenarios parameterized in terms of U goal and V c . First, a comparative between VFH+ and RRSOAS PT is made, taking into account that both have been adjusted on the same scenario. As can be seen, the two algorithms present similar success rates for U goal = 5 m/s. However, as an advantage of the RRSOAS PT , its collision rate is much lower (0.67% versus 12%). On the other hand, for U goal = 7 m/s and U goal = 9 m/s, the RRSOAS PT success rate is much higher than VFH+ (92.83% versus 83.17%), as is its capacity to avoid collisions (99% versus 91%). Moreover, in terms of average performance indicators, RRSOAS PT outperforms VFH+ in most scenarios. As an exception, in scenarios where U goal = 9 m/s, the distance traveled by the USV is less under the government of the VFH+. With regard to the RRSOAS PT and RRSOAS CT adjustments, a more conservative tuning increases the robustness of the algorithm and USV's safety, but causes a loss of performance in most cases.  As a summary, Table 5 shows the average of all the indicators listed in Table 4. As can be seen, the RRSOAS outperforms all the average performances obtained by the VFH+. Furthermore, with a more conservative tuning, the success rate of the RRSOAS has been significantly increased (94.33% versus 86.78%), and over the nine-hundred scenarios analyzed, the vessel did not suffer any collisions. It should be noted that these results do not guarantee that the RRSOAS can overcome any static obstacle scenario. Although, these results demonstrate the viability of implementing and evaluating the new RRSOAS on a real USV. Finally, as a visual report, Figure 14 shows the paths followed by the USV in sixteen of the nine-hundred scenarios analyzed in this paper. In these scenarios the USV was guided by the VFH+ and RRSOAS algorithms, where the RRSOAS was tuned in two different ways: conservative tuning and performance tuning.  (1), in sixteen of the nine-hundred scenarios studied in this work, when it is guided autonomously by the algorithms RRSOAS and VFH+ [30,76].

General Discussion
Due to the current interest in the field of USVs, this paper proposes the new Robust Reactive Static Obstacle Avoidance System (RRSOAS) and used computing simulations to test our proposal. In terms of performance, a comparison of the new RRSOAS with other SOA methods applied to the USV has been carried out (VFH+ [11,30] and LROABRA [41]). The obtained results show how, in most cases, the RRSOAS outperforms these reactive algorithms. Furthermore, for several points of operation of the USV, a robustness study of the RRSOAS has been carried out on nine-hundred random scenarios in the presence of different current levels. In this aspect, the RRSOAS is significantly more robust than the VFH+, and with a conservative tuning, it guarantees the safety of the USV. In addition, the algorithm's runtime is considerably less than its sample time. Therefore, its implementation and evaluation in a real USV are feasible and proposed as future work. Moreover, taking into account these results, several of RRSOAS's contributions could be integrated into other reactive algorithms applied to USVs. Firstly, RRSOAS does not depend on a priori knowledge of a mathematical model of the vessel and its controllers for velocity and course. Instead, we propose to use an estimated closed-loop model (ECLM) of the USV, which is identified from time series in which an experienced pilot carries out obstacle avoidance maneuvers. This ECLM could also be used by other reactive methods that make predictions of possible future paths of the vehicle [16,17,20,34,36,39,40,44,46], thus eliminating the dependence on USV's mathematical modeling that the use of such methods implies. In addition, with the aim of considering the prediction errors due to uncertainty, these works could integrate the variable ellipse with the prediction step proposed in this paper to model the USV's shape. On the other hand, an occupancy probability grid is used by RRSOAS. In this way, the reactive algorithm contemplates the errors and measurement uncertainty of the sensors. Another novel contribution has been made in this aspect; the repulsive forces proposed in [29] have been adapted in order to consider the USV's dynamics and the probability of occupation. These repulsive forces can also be applied to other OA systems for USVs based on potential fields [32,35,38,42,45]. Furthermore, in order to limit the algorithm's runtime, a variable horizon is proposed for the future path predictions, along with an exponential discretization to generate the alternative course setpoints. This last contribution of our method, given the successful results obtained in the numerical simulations, could be applied to other reactive algorithms which require discrete direction commands [13,14,16,17,26,27,30,41]. Finally, in order to take into account dynamic obstacles, the RRSOAS could easily be combined (since it does not need to know the model of the vessel or its controllers) with reactive algorithms designed to avoid dynamic obstacles according to the COLREGS regulation [13,14,16,36,39,40,46].

Conclusions
According to the results obtained in the numerical simulations carried out in this work, it is possible to conclude that the new RRSOAS is robust to unknown and congested scenarios in the presence of disturbances, while offering very competitive performance with respect to other reactive algorithms previously applied to USVs. In addition, based on the RRSOAS's runtimes, it could be implemented and evaluated in a real USV as a static obstacle avoidance system. Moreover, for its operation, this reactive algorithm only needs as inputs: the state vector of the USV, an occupancy probability grid and goal setpoints. In particular, the RRSOAS is the result of the integration of several novel contributions with regard to the current state-of-the-art of USVs that we proposed in this work. Firstly, the algorithm generates a new effective discrete decision space from an exponential resolution applied to the course setpoints; this resolution is proposed in our work. Secondly, a new estimated closed-loop model is proposed in this paper, which is used to make predictions of the possible future paths that the USV could follow if a collision risk were to arise. Thirdly, these paths are translated into an occupancy probability grid, where each path is characterized by taking into account the USV's dynamics, the uncertainty present in the prediction model and the occupancy probability. Finally, a heuristic system designed specifically for USVs is used to calculate the course and velociy setpoints. These setpoints are the RRSOAS's outputs, which are demanded by the USV's controllers.
Author Contributions: R.G. proposed most of the new contributions made in this article. Furthermore, he was responsible for implementing the simulation environment and the obstacle avoidance algorithms, and for carrying out the performance and robustness studies presented in the paper. In addition, R.G. wrote most of the work. M.J.L., J.S., A.G. and A.C. participated from the beginning in the work related to this article, in the proposals, analysis and discussion of results, in the approach followed, in the review and by way of contributions to the writing of the text. In addition, M.J.L. and J.S. wrote part of the paper and reviewed all its contents in depth. Finally, A.G. and A.C. reviewed the entire article and contributed to its translation. All authors have read and agreed to the published version of the manuscript.
Funding: This research was carried out within the collaborative framework of an industrial doctoral thesis, which is financed by the Universidad de Cádiz and the shipbuilding company Navantia.