Next Article in Journal
Reconstruction of High-Precision Semantic Map
Next Article in Special Issue
Autonomous Navigation of a Team of Unmanned Surface Vehicles for Intercepting Intruders on a Region Boundary
Previous Article in Journal
Deep Photometric Stereo Network with Multi-Scale Feature Aggregation
Previous Article in Special Issue
Q-LBR: Q-Learning Based Load Balancing Routing for UAV-Assisted VANET
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Robust Reactive Static Obstacle Avoidance System for Surface Marine Vehicles

by
Rafael Guardeño
1,*,
Manuel J. López
1,
Jesús Sánchez
2,
Alberto González
3 and
Agustín Consegliere
1
1
Escuela Superior de Ingeniería, Universidad de Cádiz, 11519 Puerto Real, Spain
2
Sistemas, Navantia, 11100 San Fernando, Spain
3
Smart Sustainment, Navantia, Sydneyn NSW 2000, Australia
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(21), 6262; https://doi.org/10.3390/s20216262
Submission received: 22 September 2020 / Revised: 29 October 2020 / Accepted: 30 October 2020 / Published: 3 November 2020

Abstract

:
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.

1. 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.

1.1. Overview of Reactive Algorithms Applied to USVs

Today there are many reactive methods that provide a vessel with the capacity to avoid obstacles [9,11,13,14,15,16,17,23,25,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]. To illustrate this diversity, while the great majority of these methods have been designed for propulsion vessels, the approach proposed in [48] uses a potential reactive field to take into account the kinematic limitations of a sailboat due to wind direction. In the case of propelled vessels, most of these works propose dynamic obstacle avoidance (DOA) systems for situations in open sea [9,13,14,15,16,17,23,33,34,35,36,37,38,39,40,44,45,46,47]. Although some of them also consider a specific approach for static obstacles [16,17,23,34,35,37,40,45,46], their performances and robustness have not been evaluated in depth. As a minor proportion, works such as [11,25,32,41,42,43], propose static obstacle avoidance (SOA) systems for USVs. In addition to the classification based on the kind of obstacle, AO systems for USVs can also be categorized depending on the used approach. Firstly, there is a wide variety of OA systems [11,13,14,32,35,38,40,41,42,43,45,48] that use or modify reactive methods proposed for mobile robots [26,27,28,30,49,50,51,52,53,54]. Specifically, in [32,35,38,42,45,48] OA systems are based on the potential fields approach [28,49,50]. Alternatively, in [11,40,41,43] the authors adapted the dynamic window [27] and the VFH+ (vector field histogram plus, [30,51]), which they used as SOA systems for USVs. In addition, a collision cone [54] was also used in [40] to avoid dynamic obstacles. One of the DOA methods from mobile robotics most applied to USVs [13,14,44] is velocity obstacles [26] (it has variants [52,53]). On the other hand, in works such as [23,33,37,47,55,56] the OA systems are based on modifications of path planning algorithms like A* [7]. Another important approach was used in [9,15], whose OA systems carried out the fuzzification of target vessel variables through membership functions. Finally, a commonly used approach is based on predicting the possible future paths that the USV could follow if a collision risk were to appear [16,17,34,36,39,40,44,46].

1.2. 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.

2. Mathematical Models

This section describes the mathematical models used to evaluate the RRSOAS by means of numerical simulations.

2.1. USV Model

As in most OA methods applied to USVs [14,15,16,17,25,33,34,35,38,39,40,41,43,44,45,46,47], the algorithm proposed in this work was evaluated through numerical simulations with a three-degrees of freedom vessel model. Furthermore, in line with the general approach followed in this field [11,13,14,16,33,34,35,36,37,38,39,41,42,43], the RRSOAS uses course and velocity controllers to govern the vessel. In particular, the modeling proposed in [31] for a USV of 9.2 m of length is used. Compared with other USV’s models [34,38,40,64,65], this modeling takes into account vessel model (1), current effect (2) in terms of relative velocity, actuator model (3) and course/velocity controllers (5). A complete description of these models and the numerical values of their parameters is available in [31].
u ˙ ( m X u ˙ ) = m v r + m x g r 2 Y v ˙ v r r + X u u r + X | u | u | u r | u r + τ x v ˙ ( m Y v ˙ ) + m x g r ˙ = m u r X u ˙ u r r + Y v v r + Y r r + Y | v | v v r | v r | + Y | r | v | r | v r + Y | v | r | v r | r + τ y r ˙ ( I z N r ˙ ) + m x g v ˙ = m x g u r N u v v r u r + N r r + N v v r + N | v | r | v r | r + N | r | v | r | v r + N | r | r | r | r + τ n x ˙ E y ˙ E ψ ˙ η ˙ = c o s ( ψ ) s i n ( ψ ) 0 s i n ( ψ ) c o s ( ψ ) 0 0 0 1 R ( ψ ) u v r ν
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.
ν r = ( u r v r r ) T = u V c c o s ( β c ψ ) v V c s i n ( β c ψ ) r T
with V c as the module of the current velocity and β c as its direction.
τ act = τ x τ y τ n = 1 0 0 1 0 l x T a c t D a c t L a c t , T a c t = T | n | n | n | n T | n | u | n | u r D a c t = D | δ | | δ | | u r | u r L a c t = ( L δ δ L | δ | δ | δ | δ ) | u r | u r
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 a c t represents the thrust generated by the propeller; and finally, D a c t and L a c t are the drag and lift forces generated by the rudder, respectively. In addition, the dynamics of the actuator are considered as:
δ ˙ = ( 1 / τ δ ) ( δ c δ ) , δ [ δ l i m , δ l i m ] , δ ˙ [ δ ˙ l i m , δ ˙ l i m ] n ˙ = ( 1 / τ n ) ( n c n ) , n [ n m i n , n m a x ]
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
δ c ( k ) = K P χ e χ ( k ) δ P ( k ) + T m c K I χ e χ ( k ) + δ I ( k 1 ) δ I ( k ) + K D χ T m c e f χ ( k ) e f χ ( k 1 ) δ D ( k ) n c ( k ) = K P U e U ( k ) n P ( k ) + T m c K I U e U ( k ) + n I ( k 1 ) n I ( k ) + K D U T m c e f U ( k ) e f U ( k 1 ) n D ( k ) e f i ( k ) = 1 c f + 1 e i ( k ) + c f e f i ( k 1 ) , e i ( k ) = s p i ( k ) i ( k ) , i { U , χ }
where the USV course is defined as χ = ψ + β (see Figure 2), the sample time has been established as T m c = 0.1 s and c f = τ f / T m c . 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.

2.2. 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 r a n g e = 200 m and a horizontal field of view h r a n g e = 360 . Furthermore, looking for the worst case [67], the lowest angular resolution ( h r e s = 0 . 4 ) and minimum rotation frequency ( f m L = 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 ),
S E = i O = 1 n O O b s t E i O , O b s t E i O = s e g 1 E i O = x 1 E i O , y 1 E i O , x 2 E i O , y 2 E i O , s e g 2 E i O = x 2 E i O , y 2 E i O , x 3 E i O , y 3 E i O , s e g 3 E i O = x 3 E i O , y 3 E i O , x 4 E i O , y 4 E i O , s e g 4 E i O = x 4 E i O , y 4 E i O , x 1 E i O , y 1 E i O
with n O as the number of obstacles that form a scenario, where each obstacle O b s t E i O is defined as four concatenated segments s e g 1 E 4 E i O of coordinates x 1 E 4 E i O and y 1 E 4 E i O referring to Earth-axes.
Next, in [31] the authors use the set of segments L B to model the LIDAR sensor as a set of beams referring to body-axes:
L B = s e g B i L x 1 B i L , y 1 B i L , x 2 B i L , y 2 B i L | x 1 B i L = y 1 B i L = 0 , x 2 B i L = c o s ( i L h r e s ) d r a n g e , y 2 B i L = s i n ( i L h r e s ) d r a n g e I L = i L | i L N , i L < n L , n L N
where x 1 B , 2 B i L and y 1 B , 2 B i L 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 r a n g e / h r e s = 900 ).
In order to generate the distances measured by the sensor, in each sample time ( T m L = 1 / f m L ) 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 m i L ) at each angular position ( θ m i L ); 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.
θ m L = θ m 0 θ m i L θ m n L 1 T , θ m i L = i L h r e s D m L = d m 0 d m i L d m n L 1 T , d m i L = d m i n i L + η i L if f I n t e r i L = 1 d r a n g e o t h e r w i s e
where f I n t e r i L = 1 represents that an intersection has occurred between the beam θ m i L and some segment of S E , d m i n i L 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 m i n i L [31].

2.3. 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 g o a l , 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.
Obst E i O = x 1 E i O y 1 E i O x 2 E i O y 2 E i O x 3 E i O y 3 E i O x 4 E i O y 4 E i O = 1 2 a i O b i O a i O b i O a i O b i O a i O b i O c o s ( ψ i O ) s i n ( ψ i O ) s i n ( ψ i O ) c o s ( ψ i O ) R e c t a n g l e D e f i n i t i o n + R i O 1 1 1 1 c o s ( θ i O ) s i n ( θ i O ) T R e c t a n g l e P l a c e m e n t
Each random rectangle ( Obst E i O ) is defined by its dimensions ( a i O , b i O ) and its orientation ψ i O , while its polar coordinates ( R i O , θ i O ) place it on the scenario. These parameters are calculated as:
a i O = a m a x ζ 1 i O , b i O = b m a x ζ 2 i O , ψ i O = π ζ 3 i O , R i O = R E ζ 4 i O , θ i O = π ( 2 ζ 5 i O 1 )
where ζ 1 5 i O represents a uniformly distributed random number in the interval ( 0 , 1 ) ; a m a x and b m a x 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 g o a l . 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:
η 0 = x 0 y 0 ψ 0 T = R 0 c o s ( θ 0 ) R 0 s i n ( θ 0 ) a t a n 2 ( y 0 , x 0 ) + π T , ν 0 = U g o a l 0 0 T θ 0 = π 2 ζ η 1 , R 0 = R E + 1 2 ( d r a n g e + a m a x ) , β c = π 2 ζ β c 1
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:
P goal = x g o a l y g o a l T = x 0 y 0 T + 2 R 0 c o s ( ψ 0 ) s i n ( ψ 0 ) T
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 ( χ g o a l ) 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, χ g o a l must be calculated according to the kind of path [4,5,19,25].
χ g o a l ( k ) = a t a n 2 y g o a l y E ( k ) , x g o a l x E ( k ) + ψ ( k )
In short, a sample of scenarios is defined by the vector Θ E = n E n 0 R E a m a x b m a x , 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 m a x and b m a x define the maximum dimensions of the obstacles. In addition, each sample of scenarios can be parameterized in terms of U g o a l 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.

2.4. 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 r e s ) 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 r e s = 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 r a n g e .
i g [ 1 , n g ] , j g [ 1 , m g ] , n g = m g = 2 d r a n g e / g r e s + 1
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 m L 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 r e s . Finally, the function occupancyMatrix is used to obtain the probability of occupation of all the cells ( p i j ); see Equation (15). As a result, Figure 5 shows: the USV navigating over an obstacle scenario, the LIDAR sensor measurements and the OPG.
g p ( k ) = p 11 p 12 p 1 m p 21 p 22 p 2 m p n 1 p n 2 p n m = f B θ m L ( k ) , D m L ( k ) , η ( k ) , g p ( k 1 )
where f B represents the Bayesian filter used to generate the OPGs at each sample time k.

3. 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 ( χ g o a l , U g o a l ). As outputs, the RRSOAS generates the course and velocity setpoints sp s p χ , s p U for the USV controllers.
In each sample time ( T m ) this reactive algorithm uses four subsystems:
  • Efective discrete decision space ( D D S ) System. With the objective of avoiding a possible collision, this block generates a set of alternative government setpoints.
  • Path predictor system based on estimated closed-loop model. Taking into account the USV’s state vector ( x USV ), D D S is used to make predictions of possible paths ( Z DDS ) that the USV could follow to avoid a collision.
  • Robust collision checking system through occupancy grid. The Z DDS paths are translated into the occupancy grid and characterized by a repulsive force ( F R ) and an estimated collision time ( T EC ).
  • Guidance and obstacle avoidance heuristic system. Finally, based on F R and T EC , and the goal setpoints ( χ g o a l , U g o a l ), a heuristic is used to restrict, weight and decide over D D S the setpoints that are demanded by the controllers; sp s p χ , s p U .

3.1. 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 ( s p χ ) and velocity ( s p 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):
D S ( k ) = sp ( s p χ , s p U ) | s p χ χ ( k ) Δ χ m a x , χ ( k ) + Δ χ m a x , s p U 0 , U l i m
where Δ χ m a x and U l i m 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 χ g o a l 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 χ g o a l . In order to reduce the tracking error with respect to χ g o a l 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.
S P χ ( k ) = s p χ | s p χ = χ ( k ) ± Δ χ m a x e ( i χ / τ χ ) , i χ 0 , n χ
where τ χ is a positive parameter that defines the variation of the resolution along the range Δ χ m a x 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 r e s + and U r e s , which define alternative velocities higher and lower than U g o a l , 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:
S P U ( k ) = 0 , U g o a l ( k ) if n U = 0 0 , U g o a l ( k ) S P U + S P U otherwise
where n U is the even number of alternative velocities, while the sets S P U + and S P U are defined as:
S P U + = s p U | s p U = U g o a l ( k ) + i U U r e s + ( k ) , U r e s + ( k ) = U l i m U g o a l ( k ) / n U S P U = s p U | s p U = U g o a l ( k ) + i U U r e s ( k ) , U r e s ( k ) = U g o v U g o a l ( k ) / n U , i U 1 , n U
where U g o v 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 ( s p χ , s p U ) evaluated by the RRSOAS.
D D S ( k ) = sp i c ( s p χ , s p U ) | s p χ S P χ ( k ) , s p U S P U ( k ) , i c 1 , n c N
where sp i c ( s p χ , s p U ) represents a pair of possible government setpoints and n c = ( 2 n χ + 1 ) ( 2 n 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 χ h y s t in Equations (16) and (17).
χ h y s t ( k ) = χ ( k ) if | χ ( k ) χ h y s t ( k 1 ) | κ χ χ h y s t ( k 1 ) otherwise
where κ χ is the hysteresis range, set according to the sea state and the autopilot’s performance.

3.2. 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.

3.2.1. 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 ( s p χ , s p U ) with a linear estimation of the controlled variables ( χ ˜ l , U ˜ 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 K χ = K U = 1 .
d χ ˜ l ( t ) d t = r ˜ l ( t ) , d r ˜ l ( t ) d t = 1 τ χ 2 K χ s p χ t d χ 2 ζ χ τ χ r ˜ l ( t ) χ ˜ l ( t )
d U ˜ l ( t ) d t = a ˜ l ( t ) , d a ˜ l ( t ) d t = 1 τ U 2 K U s p U t d U 2 ζ U τ U a ˜ l ( t ) U ˜ l ( t )
where r ˜ l and a ˜ 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:
U ˜ ( t ) = U ˜ l ( t T p ) | r ˜ ( t T p ) | c 1 U ˜ 2 ( t T p ) + c 2 U ˜ ( t T p ) + c 3 , U ˜ ( t ) U g o v , U l i m
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 U ˜ 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 U ˜ ,
τ χ ( t ) = c 4 + c 5 / U ˜ ( t T p ) + c 6 / U ˜ 2 ( t T p ) , d χ ( t ) = c 7 + c 8 / U ˜ ( t T p )
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:
χ ˜ ( t ) = r ˜ ( t ) d t , r ˜ ( t ) = 1 τ χ 2 ( t ) s p χ t d χ ( t ) 2 ζ χ τ χ ( t ) r ˜ ( t ) χ ˜ ( t ) d t , r ˜ ( t ) r m a x , r m a x
with r m a x as the maximum rotation rate of the vessel.
Finally, the positions ( x ˜ E , y ˜ E ) are estimated according to:
x ˜ E ( t ) = U ˜ ( t ) c o s χ ˜ ( t ) d t , y ˜ E ( t ) = U ˜ ( t ) s i n χ ˜ ( t ) d t
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:
a ˜ l ( k ) U ˜ l ( k ) U ˜ ( k ) r ˜ ( k ) χ ˜ ( k ) x ˜ E ( k ) y ˜ E ( k ) x ECLM ( k ) = a 11 a 12 0 0 0 0 0 T p 1 0 0 0 0 0 0 1 a 33 0 0 0 0 0 0 0 a 44 a 45 0 0 0 0 0 T p 1 0 0 0 0 a 63 0 0 1 0 0 0 a 73 0 0 0 1 A ECLM ( k 1 ) a ˜ l ( k 1 ) U ˜ l ( k 1 ) U ˜ ( k 1 ) r ˜ ( k 1 ) χ ˜ ( k 1 ) x ˜ E ( k 1 ) y ˜ E ( k 1 ) x ECLM ( k 1 ) + b 11 0 0 0 0 0 0 b 32 0 0 0 0 0 0 B ECLM ( k 1 ) s p U k γ 1 s p χ k γ 2 u ECLM ( k 1 ) χ ˜ ( k ) x ˜ E ( k ) y ˜ E ( k ) y ECLM ( k ) = 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 C ECLM x ECLM ( k ) , a 11 a 12 γ 1 = 1 ( 2 ζ U T p ) / τ U T p / τ U 2 1 + d U / T p N o n - T i m e D e p e n d e n t P a r a m e t e r s a 33 a 44 a 45 a 63 a 73 γ 2 = c 1 c 3 0 0 0 0 0 0 2 ζ χ 0 0 0 0 0 1 / τ χ 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 | r ˜ | U ˜ | r ˜ | / U ˜ T p / τ χ T p c o s ( χ ˜ ) T p s i n ( χ ˜ ) d χ / T p | r ˜ | c 2 1 0 0 0 1 , τ χ d χ = c 4 c 5 c 6 c 7 c 8 0 1 1 / U ˜ 1 / U ˜ 2 T i m e D e p e n d e n t P a r a m e t e r s ( k 1 )
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.
Θ ECLM = τ U d U ζ U ζ χ c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8
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:
S A E χ = k = 1 n t s χ ( k ) χ ˜ ( k ) , S A E r = k = 1 n t s r ( k ) r ˜ ( k ) , S A E U = k = 1 n t s U ( k ) U ˜ ( k )
where n t s = 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:
J E C L M = S A E χ / π + S A E r / r m a x + S A E U / U l i m
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), (3) and (5), were as follows:
Θ ˜ ECLM = 0.7 0.2 0.9 0.6 0.0002 0.0003 0.015 0.1 15.6 49 0.8 5.7

3.2.2. 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 r a n g e ). 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:
x ECLM ( k ) = a ˜ l ( k ) U ˜ l ( k ) U ( k ) r ( k ) χ ( k ) x E ( k ) y E ( k ) T
where U ˜ l ( k ) is obtained according to the Equation (24) and a ˜ l ( k ) is calculated using Euler’s forward approximation:
U ˜ l ( k ) = U ( k ) + r ( k ) c 1 U 2 ( k ) + c 2 U ( k ) + c 3 , a ˜ l ( k ) = U ( k ) U ( k 1 ) T m
In addition, due to the delays defined in the ECLM (28), the control setpoints demanded by the controllers in previous periods are recorded:
sp χ past = s p χ ( k 1 ) s p χ ( k γ 2 b ) sp U past = s p U ( k 1 ) s p U ( k γ 1 ) , γ 2 b = c 7 + c 8 / U g o v T p + 1
where γ 2 b is the maximum delay taken into account for the estimation of course dynamics. This delay is obtained at the minimum government velocity U g o v ; 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 ,
Y i c ( k ) = y ECLM ( k + 1 ) y ECLM ( k + m i c ) y ECLM ( k + M i c ) , m i c [ 1 , M 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 g o v 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.
M i c = m i c if d ˜ ( k + m i c ) D p M m a x otherwise
where d ˜ ( k + m i c ) is the distance traveled in each prediction step and M m a x represents the maximum prediction horizon allowed.
With the aim of characterizing each possible future path, the distance traveled d ˜ ( k + m i c ) and the prediction time t ˜ ( k + m i c ) are calculated. For that purpose, the vector (36) was extended:
Z i c ( k ) = Y i c ( k ) D i c ( k ) T i c ( k ) , D i c ( k ) = d ˜ ( k + 1 ) d ˜ ( k + m i c ) d ˜ ( k + M i c ) T i c ( k ) = t ˜ ( k + 1 ) t ˜ ( k + m i c ) t ˜ ( k + M i c )
By grouping the vectors Z i c , the possible future paths for the entire DDS (20) are obtained:
Z DDS ( k ) = Z 1 ( k ) Z i c ( k ) Z n c ( k )

3.3. 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.

3.3.1. 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 U S V and M U S V ). 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 r e s ). However, with the aim of reducing the algorithm’s run time, n ϵ can be tuned based on the computational capacity of the hardware employed.
ϵ B = x ϵ B 1 y ϵ B 1 x ϵ B i ϵ y ϵ B i ϵ x ϵ B n ϵ y ϵ B n ϵ = 1 2 c o s r e s ϵ s i n r e s ϵ c o s i ϵ r e s ϵ s i n i ϵ r e s ϵ c o s n ϵ r e s ϵ s i n n ϵ r e s ϵ γ L L U S V 0 0 γ M M U S V , i ϵ 1 , n ϵ r e s ϵ = 2 π / n ϵ
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,
ϵ L ( k + m i c ) = ϵ B c o s χ ˜ ( k + m i c ) s i n χ ˜ ( k + m i c ) s i n χ ˜ ( k + m i c ) c o s χ ˜ ( k + m i c ) + M ones d L ( k + m i c )
where M ones represents a unit matrix of dimension n ϵ × 2 , while d L is defined as:
d L ( k + m i c ) = diag x ˜ E ( k + m i c ) x E ( k ) , y ˜ E ( k + m i c ) y E ( k )
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 ϵ B v obtained when γ v is modified.
ϵ B v ( k + m i c ) = ϵ B 1 + t a n h m i c M i c γ v
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.

3.3.2. 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:
ϵ ij ( k + m i c ) = i g 1 i g i ϵ i g n ϵ j g 1 j g i ϵ j g n ϵ T = ϵ L ( k + m i c ) 1 / g r e s 0 0 1 / g r e s + b g M ones
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 m a x ); see Equation (45). Then, by grouping p m a x ( 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).
p m a x ( k + m i c ) = m a x p ϵ ( k + m i c ) , p ϵ ( k + m i c ) = p i j 1 p i j i ϵ p i j n ϵ
P max i c ( k ) = p m a x ( k + 1 ) p m a x ( k + m i c ) p m a x ( k + M i c )
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 distance d ˜ ( k + m i c ) and the maximum probability of the cells crossed by the discrete ellipse (44); p m a x ( k + m i c ) .
f r i c ( k ) = f r ( k + 1 ) f r ( k + m i c ) f r ( k + M i c ) , f r ( k + m i c ) = p m a x ( k + m i c ) d ˜ n d ( 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 r a n g e = 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 r a n g e 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 e c i c . For this purpose, at each prediction step m i c , t e c ( k + m i c ) is calculated as a function of the prediction time t ˜ ( k + m i c ) and the maximum probability p m a x ( k + m i c ) ; see Equation (48). Then, by grouping t e c ( k + m i c ) for the entire prediction horizon M i c , the vector (49) is formed.
t e c ( k + m i c ) = t ˜ ( k + m i c ) p m a x n t ( k + m i c ) if p m a x ( k + m i c ) > 0 M m a x T P o t h e r w i s e , n t ( 0 , 1 ]
where n t is an parameter used to oversize the occupancy probability, and consequently, decrease the estimated collision time.
t ec i c ( k ) = t e c ( k + 1 ) t e c ( k + m i c ) t e c ( k + M i c )
Finally, looking for the worst case, each sp i c is defined by the highest repulsive force ( F R i c ) and the lowest estimated collision time ( T E C i c ). Thus, once all alternative government setpoints have been evaluated, the DDS (20) is characterized by the prediction model and the occupancy probability grid:
F R DDS ( k ) = F R 1 ( k ) F R i c ( k ) F R n c ( k ) , F R i c ( k ) = m a x f r i c ( k ) T EC DDS ( k ) = T E C 1 ( k ) T E C i c ( k ) T E C n c ( k ) , T E C i c ( k ) = m i n t ec i c ( k )

3.4. Guidance and Obstacle Avoidance Heuristic System

In line with most reactive obstacles avoidance methods [12], a heuristic is minimized to decide the setpoints sp ( s p χ , s p 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.
J RRSOAS ( k ) = α 1 J Heading ( k ) + α 2 J Velocity ( k ) + α 3 J FR ( k ) + α 4 J Past ( k ) T m a c M ones T EC DDS ( k )
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 m a c 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 s p χ i c ( k ) with the previous course setpoints s p χ 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:
SP χ DDS ( k ) = s p χ 1 ( k ) s p χ i c ( k ) s p χ n c ( k ) SP U DDS ( k ) = s p U 1 ( k ) s p U i c ( k ) s p U n c ( k )
From the vectors (52), the previous course setpoint s p χ ( k 1 ) and the goal setpoints ( χ g o a l , U g o a l ) , the indices J H e a d i n g , J P a s t and J V e l o c i t y are obtained:
J Heading ( k ) = 1 π Δ SP χ DDS ( k ) , χ g o a l ( k ) M ones , J Past ( k ) = 1 π Δ SP χ DDS ( k ) , s p χ ( k 1 ) M ones J Velocity ( k ) = 1 Υ U m a x ( k ) Υ U ( k ) , Υ U m a x ( k ) = m a x Υ U ( k ) , Υ U ( k ) = | SP U DDS ( k ) U g o a l ( k ) M ones |
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.
J FR ( k ) = 1 F R m a x ( k ) F R DDS ( k ) , F R m a x ( k ) = m a x F R DDS ( k )
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.

4. 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.

4.1. 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: RRSOASUSVM and RRSOASECLM. Specifically, this comparative was carried out over the five scenarios defined in [31], in which the vehicle started moving at the goal velocity U g o a l = 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.
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).
t m ( k ) = k T m d m ( k ) = η l ( k ) η l ( k 1 ) + d m ( k 1 ) , η l ( k ) = x E ( k ) , y E ( k ) Δ c ( k ) = | s p χ ( k ) s p χ ( k 1 ) | π + | s p U ( k ) s p U ( k 1 ) | U l i m + Δ c ( k 1 )
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 = RRSOASECLM). 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.
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].
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.

4.2. 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 g o a l ) 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 g o a l = 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 U S V / 2 . On the other hand, the stop condition will occur if the reactive algorithm holds a zero velocity setpoint for a time t s t o p = 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; RRSOASPT, and with the conservative tuning; RRSOASCT. 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 m a c = 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 g o a l and V c . First, a comparative between VFH+ and RRSOASPT 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 g o a l = 5 m/s. However, as an advantage of the RRSOASPT, its collision rate is much lower (0.67% versus 12%). On the other hand, for U g o a l = 7 m/s and U g o a l = 9 m/s, the RRSOASPT 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, RRSOASPT outperforms VFH+ in most scenarios. As an exception, in scenarios where U g o a l = 9 m/s, the distance traveled by the USV is less under the government of the VFH+. With regard to the RRSOASPT and RRSOASCT 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.

5. 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].

6. 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.

Acknowledgments

The development ofthis work was possible thanks to the industrial doctoral thesis program of the University of Cadiz with the shipbuilding company Navantia. In addition, it is also necessary to thank the University of Cadiz for the funds to publish this paper; the research group GAPSIS (Grupo de Automática, Procesamiento de Señales e Ingeniería de Sistemas); and the Systems Engineering Department of Navantia, whose previous work allowed the formulation of the framework in which this work esd carried out.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Liu, Z.; Zhang, Y.; Yu, X.; Yuan, C. Unmanned surface vehicles: An overview of developments and challenges. Annu. Rev. Control 2016, 41, 71–93. [Google Scholar] [CrossRef]
  2. Campbell, S.; Naeem, W.; Irwin, G.W. A review on improving the autonomy of unmanned surface vehicles through intelligent collision avoidance manoeuvres. Annu. Rev. Control 2012, 36, 267–283. [Google Scholar] [CrossRef] [Green Version]
  3. González, D.; Joshué, P.; Milanés, V.; Nashashibi, F. A Review of Motion Planning Techniques for Automated Vehicles. IEEE Trans. Intell. Transp. Syst. 2016, 17, 1135–1145. [Google Scholar] [CrossRef]
  4. Fossen, T.I. Handbook of Marine Craft Hydrodynamics and Motion Control; John Wiley & Sons: Trondheim, Norway, 2011; ISBN 9781119991496. [Google Scholar]
  5. Fossen, T.I. Marine Control Systems; John Wiley & Sons: Trondheim, Norway, 2002; ISBN 8292356002. [Google Scholar]
  6. Elfes, A. Using Occupancy Grids for Mobile Robot Perception and Navigation. Computer 1989, 22, 46–57. [Google Scholar] [CrossRef]
  7. Lavalle, S. Planning Algorithms; Cambridge University Press: New York, NY, USA, 2006; ISBN 978-0-521-86205-9. [Google Scholar]
  8. Saval-Calvo, M.; Medina-Valdés, L.; Castillo-Secilla, J.M.; Cuenca-Asensi, S.; Martínez-Álvarez, A.; Villagrá, J. A review of the bayesian occupancy filter. Sensors 2017, 17, 344. [Google Scholar] [CrossRef] [PubMed]
  9. Perera, L.P.; Ferrari, V.; Santos, F.P.; Hinostroza, M.A.; Guedes Soares, C. Experimental Evaluations on Ship Autonomous Navigation and Collision Avoidance by Intelligent Guidance. IEEE J. Ocean. Eng. 2015, 40, 374–387. [Google Scholar] [CrossRef]
  10. Perera, L.P.; Oliveira, P.; Guedes Soares, C. Maritime Traffic Monitoring Based on Vessel Detection, Tracking, State Estimation, and Trajectory Prediction. IEEE Trans. Intell. Transp. Syst. 2012, 13, 1188–1200. [Google Scholar] [CrossRef]
  11. Kim, T.; Choi, J.; Lee, Y.; Choi, H.-T. VFH+ based Obstacle Avoidance using Monocular Vision of Unmanned Surface Vehicle. J. Ocean Eng. Technol. 2016, 30, 426–430. [Google Scholar] [CrossRef]
  12. Minguez, J.; Lamiraux, F.; Laumond, J.-P. Motion Planning and Obstacle Avoidance. In Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2008; Volume E, pp. 827–852. ISBN 9783540303015. [Google Scholar]
  13. Kuwata, Y.; Wolf, M.T.; Zarzhitsky, D.; Huntsberger, T.L. Safe maritime autonomous navigation with COLREGS, using velocity obstacles. IEEE J. Ocean. Eng. 2014, 39, 110–119. [Google Scholar] [CrossRef]
  14. Zhao, Y.; Li, W.; Shi, P. A real-time collision avoidance learning system for Unmanned Surface Vessels. Neurocomputing 2016, 182, 255–266. [Google Scholar] [CrossRef]
  15. Perera, L.P.; Carvalho, J.P.; Guedes Soares, C. Intelligent ocean navigation and fuzzy-Bayesian decision/action formulation. IEEE J. Ocean. Eng. 2012, 37, 204–219. [Google Scholar] [CrossRef]
  16. Johansen, T.A.; Perez, T.; Cristofaro, A. Ship collision avoidance and COLREGS compliance using simulation-based control behavior selection with predictive hazard assessment. IEEE Trans. Intell. Transp. Syst. 2016, 17, 3407–3422. [Google Scholar] [CrossRef] [Green Version]
  17. Sun, X.; Wang, G.; Fan, Y.; Mu, D.; Qiu, B. Collision avoidance using finite control set model predictive control for unmanned surface vehicle. Appl. Sci. 2018, 8, 18. [Google Scholar] [CrossRef] [Green Version]
  18. Da Silva Junior, A.G.; dos Santos, D.H.; de Negreiros, A.P.F.; de Souza Silva Silva, J.M.V.B.; Gonçalves, L.M.G. High-Level Path Planning for an Autonomous. Sensors 2020, 20, 1550. [Google Scholar] [CrossRef] [Green Version]
  19. Gonzalez Cantos, A. Aplicación de la Teoría Cualitativa de Sistemas Dinámicos para el Guiado Autónomo de Vehículos; Universidad de Cádiz: Cádiz, Spain, 2017. [Google Scholar]
  20. Blanco, J.L.; González, J.; Fernández-Madrigal, J.A. Extending obstacle avoidance methods through multiple parameter-space transformations. Auton. Robot. 2008, 24, 29–48. [Google Scholar]
  21. Savkin, A.V.; Hoy, M. Reactive and the shortest path navigation of a wheeled mobile robot in cluttered environments. Robotica 2013, 31, 323–330. [Google Scholar] [CrossRef]
  22. Kundu, S.; Parhi, D.R. Reactive navigation of underwater mobile robot using ANFIS approach in a manifold manner. Int. J. Autom. Comput. 2017, 14, 307–320. [Google Scholar] [CrossRef]
  23. Blaich, M.; Rosenfelder, M.; Schuster, M.; Bittel, O.; Reuter, J. Extended grid based collision avoidance considering COLREGs for vessels. In Proceedings of the 9th IFAC Conference on Manoeuvring and Control of Marine Craft, Arenzano Italy, 19–21 September 2012; Volume 9, pp. 416–421. [Google Scholar]
  24. Singh, Y.; Sharma, S.; Sutton, R.; Hatton, D. Path Planning of an Autonomous Surface Vehicle based on Artificial Potential Fields in a Real Time Marine Environment. In Proceedings of the 16 International Conference on Computer and IT Applications in the Maritime Industries, Cardiff, Gales, UK, 15–17 May 2017; pp. 48–54. [Google Scholar]
  25. Zhang, G.; Deng, Y.; Zhang, W. Robust neural path-following control for underactuated ships with the DVS obstacles avoidance guidance. Ocean Eng. 2017, 143, 198–208. [Google Scholar] [CrossRef]
  26. Fiorini, P.; Shiller, Z. Motion Planning in Dynamic Environments Using Velocity Obstacles. Int. J. Rob. Res. 1998, 17, 760–772. [Google Scholar] [CrossRef]
  27. Fox, D.; Burgard, W.; Thrun, S. The Dynamic Window Approach to Collision Avoidance. IEEE Robot. Autom. Mag. 1997, 4, 23–33. [Google Scholar] [CrossRef] [Green Version]
  28. Khatib, O. Real-Time Obstacle Avoidance For Manipulators Additionally, Mobile Robots. In Proceedings of the IEEE International Conference on Robotics and Automation, St. Louis, MO, USA, 25–28 March 1985; pp. 500–505. [Google Scholar]
  29. Borenstein, J.; Koren, Y. Real-Time Obstacle Avoidance for Fast Mobile Robots. IEEE Trans. Syst. Man Cybern. 1989, 19, 1179–1187. [Google Scholar] [CrossRef] [Green Version]
  30. Ulrich, I.; Borenstein, J. VFH+: Reliable Obstacle Avoidance for Fast Mobile Robots. In Proceedings of the 1998 IEEE International Conference on Robotics & Automation, Leuven, Belgium, 16–20 May 1998; pp. 1572–1577. [Google Scholar]
  31. Guardeño, R.; López, M.J.; Sánchez, J.; Consegliere, A. AutoTuning Environment for Static Obstacle Avoidance Methods Applied to USVs. J. Mar. Sci. Eng. 2020, 8, 300. [Google Scholar] [CrossRef]
  32. Singh, Y.; Sharma, S.; Sutton, R.; Hatton, D. Towards use of Dijkstra Algorithm for Optimal Navigation of an Unmanned Surface Vehicle in a Real-Time Marine Environment with results from Artificial Potential Field. TransNav Int. J. Mar. Navig. Saf. Sea Transp. 2018, 12, 125–131. [Google Scholar] [CrossRef]
  33. Agrawal, P.; Dolan, J.M. COLREGS-compliant target following for an Unmanned Surface Vehicle in dynamic environments. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; pp. 1065–1070. [Google Scholar]
  34. Abdelaal, M.; Fränzle, M.; Hahn, A. Nonlinear Model Predictive Control for trajectory tracking and collision avoidance of underactuated vessels with disturbances. Ocean Eng. 2018, 160, 168–180. [Google Scholar] [CrossRef]
  35. Xue, Y.; Lee, B.S.; Han, D. Automatic collision avoidance of ships. Proc. Inst. Mech. Eng. Part M J. Eng. Marit. Environ. 2009, 223, 33–46. [Google Scholar] [CrossRef] [Green Version]
  36. Zhang, J.; Zhang, D.; Yan, X.; Haugen, S.; Guedes Soares, C. A distributed anti-collision decision support formulation in multi-ship encounter situations under COLREGs. Ocean Eng. 2015, 105, 336–348. [Google Scholar] [CrossRef]
  37. Naeem, W.; Irwin, G.W.; Yang, A. COLREGs-based collision avoidance strategies for unmanned surface vehicles. Mechatronics 2012, 22, 669–678. [Google Scholar] [CrossRef]
  38. Mousazadeh, H.; Jafarbiglu, H.; Abdolmaleki, H.; Omrani, E.; Monhaseri, F.; Abdollahzadeh, M.; Mohammadi-Aghdam, A.; Kiapei, A.; Salmani-Zakaria, Y.; Makhsoos, A. Developing a navigation, guidance and obstacle avoidance algorithm for an Unmanned Surface Vehicle (USV) by algorithms fusion. Ocean Eng. 2018, 159, 56–65. [Google Scholar] [CrossRef]
  39. Wang, X.; Liu, Z.; Cai, Y. The ship maneuverability based collision avoidance dynamic support system in close-quarters situation. Ocean Eng. 2017, 146, 486–497. [Google Scholar] [CrossRef]
  40. Loe, Ø.A.G. Collision Avoidance for Unmanned Surface Vehicles; Norwegian University of Science and Technology: Trondheim, Norway, 2008. [Google Scholar]
  41. Tang, P.; Zhang, R.; Liu, D.; Huang, L.; Liu, G.; Deng, T. Local reactive obstacle avoidance approach for high-speed unmanned surface vehicle. Ocean Eng. 2015, 106, 128–140. [Google Scholar] [CrossRef]
  42. Xie, S.; Wu, P.; Peng, Y.; Luo, J.; Qu, D.; Li, Q.; Gu, J. The obstacle avoidance planning of USV based on improved artificial potential field. In Proceedings of the 2014 IEEE International Conference on Information and Automation (ICIA), Hailar, China, 28–30 July 2014; pp. 746–751. [Google Scholar]
  43. Tang, P.; Zhang, R.; Liu, D.; Zou, Q.; Shi, C. Research on near-field obstacle avoidance for unmanned surface vehicle based on heading window. In Proceedings of the 2012 24th Chinese Control and Decision Conference, Taiyuan, China, 23–25 May 2012; pp. 1262–1267. [Google Scholar]
  44. Bertaska, I.R.; Shah, B.; Von Ellenrieder, K.; Švec, P.; Klinger, W.; Sinisterra, A.J.; Dhanak, M.; Gupta, S.K. Experimental evaluation of automatically-generated behaviors for USV operations. Ocean Eng. 2015, 106, 496–514. [Google Scholar] [CrossRef]
  45. Mei, J.H.; Arshad, M.R. COLREGs based navigation of riverine Autonomous Surface Vehicle. In Proceedings of the 2016 IEEE 6th International Conference on Underwater System Technology: Theory and Applications, Penang, Malaysia, 13–14 December 2016; pp. 145–149. [Google Scholar]
  46. Shah, B.C.; Bertaska, I.R.; Alvarez, J.; Sinisterra, A.J.; Von Ellenrieder, K.; Dhanak, M.; Gupta, S.K.; Member, S.; Svec, P.; Shah, B.C.; et al. Dynamics-Aware Target Following for an Autonomous Surface Vehicle Operating under COLREGs in Civilian Traffic. In Proceedings of the IEEE International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; pp. 3871–3878. [Google Scholar]
  47. Blaich, M.; Köhler, S.; Reuter, J.; Hahn, A. Probabilistic collision avoidance for vessels. IFAC-PapersOnLine 2015, 28, 69–74. [Google Scholar] [CrossRef]
  48. Pêtrès, C.; Romero-Ramirez, M.A.; Plumet, F. A potential field approach for reactive navigation of autonomous sailboats. Rob. Auton. Syst. 2012, 60, 1520–1527. [Google Scholar] [CrossRef]
  49. Krogh, B.H. A Generalized Potential Field Approach to Obstacle Avoidance Control. In Robotics Research: The Next Five Years and Beyond; RI/SME: Bethlehem, PA, USA, 1984. [Google Scholar]
  50. Tilove, R.B. Local obstacle avoidance for mobile robots based on the method of artificial potentials. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Cincinnati, OH, USA, 13–18 May 1990; pp. 566–571. [Google Scholar]
  51. Borenstein, J.; Koren, Y. The vector field histogram—Fast obstacle avoidance for mobile robots. IEEE Trans. Robot. Autom 1991, 7, 278–288. [Google Scholar] [CrossRef] [Green Version]
  52. Snape, J.; Van Den Berg, J.; Guy, S.J.; Manocha, D. The hybrid reciprocal velocity obstacle. IEEE Trans. Robot. 2011, 27, 696–706. [Google Scholar] [CrossRef] [Green Version]
  53. Guy, S.J.; Lin, M.; Manocha, D. Reciprocal n -body Collision Avoidance. In Robotics Research; Springer: Berlin/Heidelberg, Germany, 2011; pp. 1–16. ISBN 978-3-642-19456-6. [Google Scholar]
  54. Chakravarthy, A.; Ghose, D. Obstacle avoidance in a dynamic environment: A collision cone approach. IEEE Trans. Syst. Man Cybern. 1998, 28, 562–574. [Google Scholar] [CrossRef] [Green Version]
  55. Bibuli, M.; Singh, Y.; Sharma, S.; Sutton, R.; Hatton, D.; Khan, A. A Two Layered Optimal Approach towards Cooperative Motion Planning of Unmanned Surface Vehicles in a Constrained Maritime Environment. IFAC-PapersOnLine 2018, 29, 378–383. [Google Scholar] [CrossRef]
  56. Blaich, M.; Rosenfelder, M.; Schuster, M.; Bittel, O.; Reuter, J. Fast grid based collision avoidance for vessels using A* search algorithm. In Proceedings of the 17th International Conference on Methods & Models in Automation & Robotics, Miedzyzdrojie, Poland, 27–30 August 2012; pp. 385–390. [Google Scholar]
  57. Astrom, K.J.; Wittenmark, B. Adaptive Control; Addison Whesley: Boston, MA, USA, 1989; ISBN 0201097206. [Google Scholar]
  58. Kallstrom, C.G. Identification and Adaptive Control Applied to Ship Steering; Department of Automatic Control, Lund University: Lund, Sweden, 1979. [Google Scholar]
  59. Lewis, E.V. Principles of Naval Architecture, Vol III—Motions in Waves and Controllability; SNAME (The Society of Naval Architects and Marine Engineers): Jersey City, NJ, USA, 1989; ISBN 0939773023. [Google Scholar]
  60. López, M.J.; Consegliere, A.; Terrón, J. Modelado y Simulación de Sistemas. Aplicación al Buque; Universidad de Cádiz: Cádiz, España, 1997. [Google Scholar] [CrossRef]
  61. Richards, A.; How, J.P. Robust variable horizon model predictive control for vehicle maneuvering. Int. J. Robust Nonlinear Control 2006, 16, 333–351. [Google Scholar] [CrossRef]
  62. Guardeño, R.; López, M.J.; Sánchez, V.M. MIMO PID Controller Tuning Method for Quadrotor Based on LQR/LQG Theory. Robotics 2019, 8, 36. [Google Scholar] [CrossRef] [Green Version]
  63. MathWorks. Navigation Toolbox. Available online: https://es.mathworks.com/products/navigation.html (accessed on 4 April 2020).
  64. Do, K.D.; Jiang, Z.P.; Pan, J. Robust adaptive path following of underactuated ships. Automatica 2004, 40, 929–944. [Google Scholar] [CrossRef]
  65. Han, J.; Xiong, J.; He, Y.; Gu, F.; Li, D. Nonlinear Modeling for a Water-Jet Propulsion USV: An Experimental Study. IEEE Trans. Ind. Electron. 2017, 64, 3348–3358. [Google Scholar] [CrossRef]
  66. Rubio, F.R.; López, M.J. Control Adaptativo y Robusto, 1st ed.; Universidad de Sevilla: Sevilla, Spain, 1996; ISBN 84-472-0319-0. [Google Scholar]
  67. Velodyne Lidar. UltraPuck Data Sheet; Velodyne: Hellyer Ave, SJ, USA, 2019. [Google Scholar]
  68. Government of Spain. Reglamento Internacional para Prevenir los Abordajes, 1972. Boletín del Estado 1977, 17, 15421–15432. [Google Scholar]
  69. Sørensen, A.J. Marine Control Systems. Propulsion and Motion Control of Ships and Ocean Structures; Norwegian University of Science and Technology: Trondheim, Norway, 2012. [Google Scholar]
  70. Yang, Z.; Seested, G.T. Time-delay system identification using genetic algorithm—Part one: Precise FOPDT model estimation. In IFAC Proceedings Volumes (IFAC-PapersOnline); IFAC: Chengdu, China, 2013; Volume 3, pp. 561–567. [Google Scholar]
  71. Kristinsson, K.; Dumont, G.A. System Identification and Control Using Genetic Algorithms. IEEE Trans. Syst. MAN Cybern. 1992, 22, 1033–1046. [Google Scholar] [CrossRef]
  72. Nyarko, E.K.; Scitovski, R. Solving the parameter identification problem of mathematical models using genetic algorithms. Appl. Math. Comput. 2004, 153, 651–658. [Google Scholar] [CrossRef]
  73. Simon, D. Evolutionary Optimization Algortithms; John Wiley & Sons: Hoboken, NJ, USA, 2013; ISBN 978-0-470-93741-9. [Google Scholar]
  74. MathWorks. Genetic Algorithm. Available online: https://es.mathworks.com/help/gads/genetic-algorithm.html (accessed on 5 July 2019).
  75. Berndt, B.C. Ramanujan’s Notebooks: Part III, 1st ed.; Springer: New York, NY, USA, 1991; ISBN 978-1-4612-0965-2. [Google Scholar]
  76. MathWorks. Vector Field Histogram. Available online: https://es.mathworks.com/help/nav/ug/vector-field-histograms.html (accessed on 23 May 2019).
  77. MathWorks. Measure the Performance of Your Code. Available online: https://es.mathworks.com/help/matlab/matlab_prog/measure-performance-of-your-program.html (accessed on 4 June 2020).
  78. MSI. GT60 2PC Dominator. Available online: https://www.msi.com/Laptop/GT60-2PC-Dominator/Specification (accessed on 10 May 2020).
Figure 1. Interaction between the systems of an unmanned surface marine vehicle [31].
Figure 1. Interaction between the systems of an unmanned surface marine vehicle [31].
Sensors 20 06262 g001
Figure 2. Earth, local and body axis reference systems adopted in this work, where β is the slip angle.
Figure 2. Earth, local and body axis reference systems adopted in this work, where β is the slip angle.
Sensors 20 06262 g002
Figure 3. Obstacle scenarios used to evaluate the performances of SOA methods: (a) scenario 1, (b) scenario 2, (c) scenario 3, (d) scenario 4 and (e) scenario 5. Scenarios’ descriptions are available in [31].
Figure 3. Obstacle scenarios used to evaluate the performances of SOA methods: (a) scenario 1, (b) scenario 2, (c) scenario 3, (d) scenario 4 and (e) scenario 5. Scenarios’ descriptions are available in [31].
Sensors 20 06262 g003
Figure 4. Random sample of obstacle scenarios, where Θ E = 8 20 300 75 25 .
Figure 4. Random sample of obstacle scenarios, where Θ E = 8 20 300 75 25 .
Sensors 20 06262 g004
Figure 5. (a) Obstacle scenario. (b) LIDAR sensor measurements. (c) Occupancy probability grid.
Figure 5. (a) Obstacle scenario. (b) LIDAR sensor measurements. (c) Occupancy probability grid.
Sensors 20 06262 g005
Figure 6. Functional diagram of the RRSOAS: inputs/outputs and the main subsystems.
Figure 6. Functional diagram of the RRSOAS: inputs/outputs and the main subsystems.
Sensors 20 06262 g006
Figure 7. Discretization of space (16). Settings: χ ( k ) = 0 , n χ = 9 , τ χ = 1.7 and n U = 2 .
Figure 7. Discretization of space (16). Settings: χ ( k ) = 0 , n χ = 9 , τ χ = 1.7 and n U = 2 .
Sensors 20 06262 g007
Figure 8. Time series obtained through numerical simulations with the unmanned surface vehicle (USV), Equations (1), (3) and (5), versus ECLM (28). Two time series: identification and validation.
Figure 8. Time series obtained through numerical simulations with the unmanned surface vehicle (USV), Equations (1), (3) and (5), versus ECLM (28). Two time series: identification and validation.
Sensors 20 06262 g008
Figure 9. Variable ellipses obtained for a prediction horizon M i c ; n ϵ = 32 has been set.
Figure 9. Variable ellipses obtained for a prediction horizon M i c ; n ϵ = 32 has been set.
Sensors 20 06262 g009
Figure 10. Repulsive forces as a function of possible future distance, maximum probability of occupancy and different values of n d ; (a) n d = 0.5 , (b) n d = 1.25 and (c) n d = 2 .
Figure 10. Repulsive forces as a function of possible future distance, maximum probability of occupancy and different values of n d ; (a) n d = 0.5 , (b) n d = 1.25 and (c) n d = 2 .
Sensors 20 06262 g010
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).
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).
Sensors 20 06262 g011
Figure 12. A comparative of the RRSOAS operating with two prediction models: ECLM (28) and USVM—(1), (3), (4) and (5). The adjustment parameters used can be found in Table 1.
Figure 12. A comparative of the RRSOAS operating with two prediction models: ECLM (28) and USVM—(1), (3), (4) and (5). The adjustment parameters used can be found in Table 1.
Sensors 20 06262 g012
Figure 13. Variation of average RRSOAS runtimes as a function of the number of alternative government setpoints ( n c ) and the number of points that model the shape of the USV ( n ϵ ).
Figure 13. Variation of average RRSOAS runtimes as a function of the number of alternative government setpoints ( n c ) and the number of points that model the shape of the USV ( n ϵ ).
Sensors 20 06262 g013
Figure 14. Paths of the vessel (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].
Figure 14. Paths of the vessel (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].
Sensors 20 06262 g014
Table 1. RRSOAS parameters in international units, which have been tuned in scenario 3 of Figure 3.
Table 1. RRSOAS parameters in international units, which have been tuned in scenario 3 of Figure 3.
Navigation BehaviourSafety and SizingPath PredictorDiscrete Decision Space
α 1 = 0.5
α 3 = 0.7
α 2 = 0.3
α 4 = 0.25
T m a c = 20 γ L = 1.25 D p = 200 n U = 1 U l i m = 10
γ v = 3.4 γ M = 2.45 T p = 0.1 n χ = 9 Δ χ m a x = π / 2
n t = 0.75 n ϵ = 32 M m a x = 1100 τ χ = 2.2 κ χ = 0.1
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.
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.
MethodsScenario 1Scenario 2Scenario 3Scenario 4Scenario 5
t m d m Δ c t m d m Δ c t m d m Δ c t m d m Δ c t m d m Δ c
RRSOASECLM382390.9737331.11238901.8767761.0797462.3
RRSOASMUSV392460.9727290.61259042.0767701.2797531.7
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].
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].
MethodsScenario 1Scenario 2Scenario 3Scenario 4Scenario 5
t m d m Δ c t m d m Δ c t m d m Δ c t m d m Δ c t m d m Δ c
RRSOASECLM382390.9737331.11238901.8767761.0797462.3
LROABRA [41]693462.4827520.91459292.2887581.5
VFH+ [30,76]472681.4787440.81489502.6757511.0927941.8
Table 4. Indicators obtained by the reactive algorithms for each sample of one-hundred random scenarios parameterized in terms of U g o a l and V c .
Table 4. Indicators obtained by the reactive algorithms for each sample of one-hundred random scenarios parameterized in terms of U g o a l and V c .
Characterization of
Random Scenarios
AlgorithmSuccess [%]Stop [%]Collision [%] t m ¯ [s] d m ¯ [m] Δ c ¯
U g o a l = 5 m/s
V c = 0.5 kn
V H F +
R R S O A S P T
R R S O A S C T
79
79
95
11
20
05
10
01
00
181.3
174.3
178.6
1247
1234
1252
2.36
1.93
1.97
U g o a l = 5 m/s
V c = 1 kn
V H F +
R R S O A S P T
R R S O A S C T
72
73
92
13
26
08
15
01
00
181.2
173.6
177.6
1247
1231
1248
2.24
1.90
1.92
U g o a l = 5 m/s
V c = 2 kn
V H F +
R R S O A S P T
R R S O A S C T
76
72
88
13
28
22
11
00
00
182.1
173.7
178.1
1249
1231
1251
2.30
1.90
1.94
U g o a l = 7 m/s
V c = 0.5 kn
V H F +
R R S O A S P T
R R S O A S C T
85
91
95
08
18
05
07
01
00
131.7
128.1
130.0
1232
1231
1235
2.31
1.94
1.84
U g o a l = 7 m/s
V c = 1 kn
V H F +
R R S O A S P T
R R S O A S C T
82
90
97
11
09
03
07
01
00
131.4
128.1
131.1
1231
1231
1241
2.30
1.96
1.88
U g o a l = 7 m/s
V c = 2 kn
V H F +
R R S O A S P T
R R S O A S C T
86
90
94
10
09
06
04
01
00
132.1
127.5
130.5
1233
1229
1241
2.39
1.93
1.88
U g o a l = 9 m/s
V c = 0.5 kn
V H F +
R R S O A S P T
R R S O A S C T
81
96
96
07
03
04
12
01
00
103.0
101.3
103.8
1209
1221
1234
2.29
1.82
1.92
U g o a l = 9 m/s
V c = 1 kn
V H F +
R R S O A S P T
R R S O A S C T
82
95
97
06
04
03
12
01
00
103.4
101.5
104.6
1212
1220
1239
2.27
1.84
1.96
U g o a l = 9 m/s
V c = 2 kn
V H F +
R R S O A S P T
R R S O A S C T
83
95
95
05
04
05
12
01
00
103.5
101.0
105.1
1211
1221
1242
2.32
1.82
2.00
Table 5. Average indicators for the nine-hundred scenarios shown in Table 4.
Table 5. Average indicators for the nine-hundred scenarios shown in Table 4.
AlgorithmSuccess [%]Stop [%]Collision [%] t m ¯ [s] d m ¯ [m] Δ c ¯
V H F +
R R S O A S P T
R R S O A S C T
80.67
86.78
94.33
09.33
12.33
05.67
10.00
00.89
00.00
138.9
134.4
137.7
1230
1228
1243
2.31
1.89
1.92
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Guardeño, R.; López, M.J.; Sánchez, J.; González, A.; Consegliere, A. A Robust Reactive Static Obstacle Avoidance System for Surface Marine Vehicles. Sensors 2020, 20, 6262. https://doi.org/10.3390/s20216262

AMA Style

Guardeño R, López MJ, Sánchez J, González A, Consegliere A. A Robust Reactive Static Obstacle Avoidance System for Surface Marine Vehicles. Sensors. 2020; 20(21):6262. https://doi.org/10.3390/s20216262

Chicago/Turabian Style

Guardeño, Rafael, Manuel J. López, Jesús Sánchez, Alberto González, and Agustín Consegliere. 2020. "A Robust Reactive Static Obstacle Avoidance System for Surface Marine Vehicles" Sensors 20, no. 21: 6262. https://doi.org/10.3390/s20216262

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop