Environmental Feature Exploration With a Single Autonomous Vehicle

In this paper, a sliding mode-based guidance strategy is proposed for the control of an autonomous vehicle. The aim of the autonomous vehicle deployment is the study of unknown environmental spatial features. The proposed approach allows the solution of both boundary tracking and source-seeking problems with a single autonomous vehicle capable of sensing the value of the spatial field at its position. The movement of the vehicle is controlled through the proposed guidance strategy, which is designed on the basis of the collected measurements without the necessity of preplanning or human intervention. Moreover, no a priori knowledge about the field and its gradient is required. The proposed strategy is based on the so-called suboptimal sliding mode controller. The guidance strategy is demonstrated by computer-based simulations and a set of boundary tracking experimental sea trials. The efficacy of the algorithm to autonomously steer the C-Enduro surface vehicle to follow a fixed depth contour in a dynamic coastal region is demonstrated by the results from the trial described in this paper.


I. INTRODUCTION
A UTONOMOUS vehicles have proven to be an effective tool for the study of environmental features and surveying areas characterized by hazardous phenomena [1]. Some of the possible applications of these technologies are: 1) the delineation of polluted regions, such as an ash cloud [2], an oil or chemical spill in the ocean [3], or the extent of a forest fire [4]; 2) the detection of the source of a spreading phenomenon, such as a tracer release [5] or an oil spill; and 3) the enhancement of scientific knowledge, such as the analysis of water properties in tidal mixing front areas [6] or the bathymetric analysis of the ocean seabed [7].
Autonomous vehicles are characterized by low-deployment and operational costs and high endurance, allowing long-term monitoring of the phenomena of interest without direct human intervention or supervision [8]. However, one of the main limitations of modern autonomous vehicle deployments is typically the dependence on preplanning. In most of the up-to-date applications, in fact, despite the availability of on-board computation capabilities, vehicles are operated in a preprogrammed way [9]. Consequently, autonomous vehicles are required to reach a predefined list of waypoints [10], which are fixed coordinate points, or to move along a preprogrammed trajectory. Moreover, in most cases, the preplanned motion is through a lawnmower or zig-zag trajectory [11]. While these environmental sampling strategies allow deep coverage of the considered area, they are associated with high costs in terms of vehicle operation and mission time. Consequently, the creation of improved guidance strategies is necessary for the optimization of sampling and monitoring applications. Two aspects of interest associated with spatial phenomena are the boundary and the source position, whose study can be translated into guidance objectives, when designing the vehicle control strategy. Boundary tracking requires the constant level-sets (boundary) determining the extent of the spatial field to be tracked, while, in source seeking, the point associated with the maximum/minimum of the measured quantity, and hence, the source of the spatial phenomenon, is sought. In both cases, knowledge of the spatial field gradient is highly desirable. For example, gradient information is exploited in the virtual body and artificial potential methods [12] and in gradient climbing studies [13]. Spatial derivatives, however, are usually not directly measurable through the vehicle's on-board sensors; consequently, most of the approaches in the literature are based on an estimation procedure. In [14], a formation of vehicles, connected through a communication network, is deployed in order to estimate the gradient of the field and achieve source seeking. Other approaches estimate the field gradient through extremum seeking control techniques [15], by imposing periodic forward-backward movements on the vehicle in order to collect sufficient spatially distributed measurements [16]. The precision of gradient estimates, however, is deteriorated by measurement noise. Moreover, when working with a single vehicle, the estimation of the gradient requires expensive and frequent additional maneuvers or complex hardware design, which results in higher operational costs. Consequently, gradient-free solutions are often preferred. Some of the gradient-free boundary tracking algorithms are the "bang-bang" inspired techniques [17], [18]. A single-vehicle gradient-free boundary tracking algorithm has also been proposed in [2], where the so-called suboptimal sliding mode controller is used to control the direction of movement of the vehicle, provided the initial position of the agent is sufficiently close to the boundary. In addition, This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ there exist gradient-free source-seeking algorithms based on sliding mode extremum seeking ideas, see [19], and reactive source-seeking navigation strategies [20].
In this paper, a gradient-free boundary tracking and source-seeking strategy are proposed. The approach is based on a suboptimal sliding mode guidance control strategy, aimed at steering the vehicle to move on the tracked boundary or toward a close neighborhood of the source. The approach makes use of an extremum seeking scheme to find a neighborhood of the maximum/minimum point in the source-seeking application; and a similar strategy is used in the boundary tracking application to find the required contour, in the case, when the vehicle is initially deployed far from it. In contrast to the extremum seeking approach in [19], a 2-D spatial field is considered here. In addition, the slope of the reference trajectory is defined as a function of the sliding variable, rendering it time-varying. A novel design of the reference trajectory is proposed according to the required control objective (boundary tracking or source seeking).
The proposed guidance strategy is initially validated in a synthetic environment through a set of simulations. Subsequently, an embedded unit, supported by a Robot Operating System (ROS) network, is described for testing the proposed approach in a set of field experiments. For the experimental validation, an instrumented autonomous surface vehicle (ASV) has been used with a mission to study an oceanic featurein this case, the seabed swath bathymetry. However, it should be emphasized that the proposed approach is generic and its application to the study of other environmental spatial features is possible.
The main contributions of this paper are: 1) formulating the problems of boundary tracking and source seeking in a framework that makes use of the so-called suboptimal sliding mode algorithm; 2) a nonlinear guidance strategy that relies only on local measurement of the feature and requires no a priori knowledge about the spatial field and its actual or estimated gradient; and 3) bridging the gap between theory and practice by physically implementing the proposed guidance strategy and carrying out an experimental validation of the boundary tracking algorithm at sea. This paper is organized as follows: the problem considered is formally defined in Section II. The proposed methodology is delineated in Section III, while the embedded system implementation details are overviewed in Section IV. The validation procedure is introduced in Section V: the results of computer-based simulations performed on a synthetic data set are presented in Section V-A, while the pretrials and the sea-trials results are described in Sections V-B and V-C, respectively. Section VI contains the authors' conclusions and some directions for future research.

A. Spatial Phenomenon
In this paper, a spatial phenomenon over a compact 2- is considered. The spatial map γ (x, y) associates a measured numerical value of the spatial phenomenon with every position (x, y) ∈ D. It is assumed that the map has an isolated local maximum located at (x s , y s ) in the domain D, as shown in Fig. 1, where neither the location of (x s , y s ) nor the value γ s (·) is known. The boundary of the spatial phenomenon is assumed to be a smooth simple contour, defined as the compact level set where γ * > 0 is a chosen threshold for the spatial phenomena, representing, for instance, the "safe" contamination level associated with mixing of pollutants in a medium [21]. The temporal evolution of the spatial phenomenon is assumed to be sufficiently slow such that the scenario can be considered static. In contrast to the assumptions in [16] and [22], neither global knowledge of the spatial phenomenon nor the local instantaneous spatial gradient information is assumed to be available or estimated. In addition, the effects of wind profiles or Lagrangian drift terms are not considered in this paper during the design of the control law. However, their effect is commented on and indeed is present during the sea-trials conducted for the experimental validation of the proposed scheme.

B. Agent Kinematics
A single vehicle is considered and it is assumed to satisfy the nonholonomic kinematics [23] ⎧ ⎪ ⎨ ⎪ ⎩ẋ where x(t) and y(t) represent the x-axis and y-axis positions of the agent (e.g., latitude and longitude), and θ(t) represents the commanded heading angle. The velocity of the vehicle V is assumed constant, while the rate of change of the heading, i.e., the angular velocity, can be directly manipulated through the control law u(t). Assumption 1: It is assumed that there exists a low-level inner-loop control scheme for the autonomous vehicle, which addresses the motion constraints emanating from the vehicle's dynamics (which have not been precisely accounted for in the proposed approach).
Despite not being an accurate model of the vehicle, the unicycle model is an effective and simple representation of its movement and can be used at the guidance level. For example, in [24], a path following guidance strategy is developed based on the kinematic model in (4) and experimentally validated using a small catamaran-like ASV. Similarly, (4) has been used in [2] and [25], for proposing steering laws for an unmanned aerial vehicle moving at a constant height and to design a formation navigation strategy for unmanned ground vehicles (UGVs). A "process plant model" (see [26] for a definition), which encompasses several other aspects of the vehicle dynamics and disturbances present, has been used for validation.
A schematic of the use of the kinematic model in (4) is shown in Fig. 2. The "process plant model" loop is assumed to be a fast internal loop. The aim of this loop is to guarantee, through the low-level controllers, that the actual vehicle's heading coincides with the commanded heading. If the internal loop is fast enough, the commanded and actual heading of the vehicle coincide and the vehicle can be represented by the kinematic unicycle model for designing guidance laws. The commanded heading is obtained by integrating the outer-loop guidance control u(t) in (4). The prime purpose of this paper is to design and validate the guidance control u(t) to meet the objectives listed: O1 To design a guidance law so that the agent modeled as in (4) identifies and tracks the boundary set .
O2 To design a suitable guidance law so that the agent modeled in (4) climbs the spatial gradient of the feature and reaches a neighborhood of the isolated local maximum in (2) defined as where γ * = γ (x * , y * ) is the local maximum, and is a positive constant defining the radius of the neighborhood. If t s is the time when the vehicle first enters the neighborhood of the source, the vehicle is required to remain inside the neighborhood ∀t ≥ t s . In practice, the radius of the neighborhood is a function of the velocity of the vehicle V and of the nonholonomic constraint, such as the possible minimum turning radius of the vehicle.

III. METHODOLOGY
A second-order sliding mode control approach is adopted in this paper to realize O1 and O2. The underlying philosophy of sliding mode control, a popular nonlinear robust control methodology [27], [28], is to first define a manifold, the socalled sliding surface [27], and to drive the states of the dynamical system onto the manifold, using an external forcing function (reaching phase). Once the states of the system reach the sliding manifold, they are constrained to remain on the sliding surface (sliding phase). The sliding surface, representing the desired behavior for the states of the dynamical system, is a function of a sliding variable. During the sliding phase, the system shows robustness with respect to the so-called matched uncertainties that are uncertainties entering the input channel [27].
Here, the sliding variable is defined as where γ (x(t), y(t)) is the point measurement of the spatial phenomenon at position (x(t), y(t)) as the vehicle traverses within the region D, and γ ref (t) is a (potentially) time-varying reference trajectory. The sliding surface is defined as The time-varying reference γ ref (t) depends on the mission objective (O1 or O2).

A. Boundary Tracking
If the mission objective is to identify and track a level set of the spatial phenomenon defined in (3), and represented by γ * , the choice γ ref (t) = γ * is a possible reference signal. A schematic representation of the proposed guidance law is given in Fig. 2. The vehicle guidance/steering law u(t) in (4) aims to induce a sliding motion on σ (t) = 0 in finite time.
Differentiating σ (t) in (6) along the system trajectory (4) yieldsσ where ∇γ is the magnitude of the spatial gradient defined as ∇γ = [(∂γ /∂ x), (∂γ /∂y)], and φ is the angle between the tangent line to the tracked contour and the x-axis, as shown in Fig. 1. The projection of the spatial field gradient onto the x-and y-axes yields (∂γ /∂ x) = − ∇γ sin(φ) and (∂γ /∂y) = ∇γ cos(φ). Since u(t) does not appear explicitly in (8), differentiating once more along the system's trajectory yields Equation (9) involves a term depending on the vehicle steering law u(t) =θ(t). Consequently, the system between the sliding variable and the control action is relative degree 2 [29]. However, crucially, in (9), the term ∇γ is unknown. The expression in (9) can be written in the following generic form: where ξ(t) and b(t) are the uncertain time-varying drift and gain terms andφ(t) is treated as matched uncertainty. This has an identical structure to the system considered in [28].
To enforce a two-sliding motion [28] in (10), the suboptimal sliding mode steering law is employed where the controller gains r 1 and r 2 are the positive design constants, and σ * is the value of the sliding variable when the conditionσ (t) = 0 was last verified [30]. Note that the first derivative of the sliding variableσ (t) is unknown, as it depends on ∇γ [see (8)]. Hence, the occurrence of a zero-crossing forσ (t) is determined using a digital peak detector as in [31]. The control law in (11) does not require knowledge (or an estimate) of the gradient of the spatial field at the vehicle position. The only necessary information is the field point measurement at the location of the vehicle γ (x(t), y(t)). According to [28] (among other design constraints), the gains r 1 and r 2 must be chosen so that r 1 > r 2 > 0. In particular, it does not require the knowledge ofσ (t).
From the suboptimal sliding mode controller structure in (11), at any point in time During sliding, the control signal will switch at high frequency between these four values [28]. However, if sliding does not occur, then on some time interval [t 0 , t 1 ], u(t) = r where r ∈ R is a constant. Then, during the time interval [t 0 , t 1 ], the trajectory of (x(t), y(t)) will form part of a circle of radius V /r . This can be justified as follows: for t ∈ [t 0 , t 1 ], sincė θ(t) = u(t) = r takes a constant value, it follows from (4) thatẋ(t) = V cos(rt + θ 0 ) andẏ(t) = V sin(rt + θ 0 ) where rt 0 + θ 0 corresponds to the heading angle of vehicle at time t 0 . It follows by further integration: where x 0 and y 0 represent the "constants of integration" and depend on ( , which corresponds to circular motion. If the interval [t 0 , t 1 ] is sufficiently long, complete circular motion occurs and a periodic solution emerges. Suppose, in the subdomainD ⊂ D in which the system operates, that 0 < γ 0 < ∇γ < γ 1 and max tφ (t) ≤φ where γ 0 , γ 1 , andφ are the positive constants. This implies that there is no local maxima or minima of γ (x, y) insideD. In this case, the following proposition suggests a choice of gains for r 1 and r 2 and associated conditions under which a two-sliding motion can be attained in (10). [This, in turn, ensures tracking of the contour in (3).] Define three gains C, K m , and K M according to the following: Proposition 1: Suppose during the motion of the vehicle in D, the "deviation error angle" |θ(t) − φ(t)| < 3/2 (rads) for all time t, and the controller gains r 1 and r 2 in (11) are chosen so that then a two-sliding motion is induced in (10) in finite time and the vehicle tracks the contour in (3).
and it is easy to verify from the definitions of ξ(t) and b(t) in (9) and the definition of the scalars C, K m and K M in (15)- (17) that Furthermore and Exploiting the conditions 0 < K m < b(t) < K M , and the norm bound |ξ(t)| < C, using the result from [28, Th. 4.2, p. 152], it follows σ =σ = 0, i.e., a two-sliding motion, is attained in finite time.
is an assumption, which results in a "local" result. However, it is easy to see from (8) thatσ = 0 is equivalent to θ(t) = φ(t), and so in a "tube" around the sliding surface when sliding is almost maintained, the deviation error angle condition is intrinsically satisfied.
The most difficult period to ensure |θ(t) − φ(t)| < 3/2 is in the presliding (reaching) phase, particularly, if γ (0) is well away from γ * at t = 0, or if the vehicle is badly misaligned from the required contour. Some simulation examples of these scenarios are shown below on a simple pedagogical example.

B. Pedagogical Example
Consider a Gaussian distribution over a domain D defined as centered at (μ x , μ y ) = (5, 4). The simulations have been run in a MATLAB/Simulink environment (version R 2016b), using a fixed-step Euler integration method, with a step size of 0.1 s. The kinematics of the vehicle with a fixed forward velocity 0.5 m/s ≈ 1.8 km/h has been modeled using (4). The angular velocity of (4) has been controlled with the suboptimal sliding mode controller in (11) with gains of r 1 = 10 and r 2 = 0.1, satisfying (18) and (19). Case 1: The initial location and orientation for the model in (4), at time t = 0, are (x(0), y(0)) = (4, 2.2) and θ(0) = 0. The location is in the vicinity of in (3) where γ * = 0.075, which is shown as a red contour in the first subplot of Fig. 3. The occurrence of a typical two-sliding motion, as claimed in [28], can be seen in the σ (t) subplot in Fig. 3. At any instant of time, the control input u(t) assumes one of the four values from the set R in (12). The critical switch (changing polarity in the signal u(t)) occurs when the sign of (σ −σ * /2) changes and can be seen in the appropriate subplot in Fig. 3. For example, the sign of (σ − σ * /2) switches from "negative" to "positive" at 0.1 s. Satisfaction of the "deviation error angle" constraint in Proposition 1, and the resulting positivity of the signal b(t) can be observed, respectively, in the subplots of |θ(t) − φ(t)| and b(t).
Case 2: Here, compared to Case 1, a different initial location (x(0), y(0)) = (3.5, 2.1) is considered. All the remaining configurations in the simulation set up are the same as that of Case1. In Case 2, it can be seen that the sign of (σ (t) − σ * /2) is negative for the entire simulation period (Fig. 4). Hence, the control u(t) remains unaltered at r := r 1 − r 2 = 9.9 and as a consequence, during [0, 2], the trajectory (x(t), y(t)), induced by the kinematics in (4), is a circular motion of radius V /r , with the initial deployed location (x(0), y(0)) = (3.5, 2.1) as part of the locus. A two-sliding motion does not occur and the "deviation error angle" condition is periodically violated as shown in the |θ − φ| subplot. As a consequence of the variation in (θ − φ), the term b(t) changes polarity (and is less than γ 0 V /15 for a predominant time). In this situation where the polarity of b(t) cannot be maintained positive for a long enough time, all the theoretical developments are no longer valid.
Case 3: This case demonstrates a circular motion followed by the establishment of a two-sliding motion (enabling tracking of the contour). The initial deployment is at (x(0), y(0)) = (3.473, 2.2). Until 0.85 s (see Fig. 5), the scenario identical to that discussed in Case 2 persists, i.e., the vehicle has a circular motion of radius V /(r 1 −r 2 ). The sign of (σ −σ * /2) is negative during the time interval (0, 0.85). At 0.85 s, the sign of (σ − σ * /2) changes and the value of u(t) switches from r 1 − r 2 (9.9) to −r 1 − r 2 (−10.1) [shown in the u(t) subplot], which instigates a prephase of the two-sliding motion. At 1 s, the system enters a regime in which |θ(t) − φ(t)| < 3/2 rads and consequently b(t) remains positive for the remainder of the simulation and a two-sliding motion is achieved.
Remark 2: Note in Case 3, although the "deviation error angle" condition (which is only a sufficient condition for the establishment of a two-sliding motion) is violated a couple of times, the vehicle recovers and tracks the contour.

C. Modified Reference Profile
To address the problem of initialization and to help to enforce the |θ(t) − φ(t)| < 3/2 rads "directional error" condition, a modification to the reference signal is proposed.
where a 0 is a user-defined positive scalar. In this situation, it can be easily shown that (8) becomeṡ and Note from (26), to guarantee a two-sliding motion (in whicḣ σ = 0), the condition a 0 < V γ 0 must hold. This is a design limitation on the choice of a 0 . The advantage of this choice of γ ref (0) reference signal is that σ (0) = 0 and so the evolution starts on the sliding surface [although if sin(φ(0) − θ(0)) = a 0 / ∇γ (0) a two-sliding motion, σ (t) =σ (t) = 0, will not occur immediately]. The efficacy of this time-varying reference signal can be seen in the following simulations using the pedagogical example.    inherent circular motion behavior which existed previously in both Cases 2 and 3 have been obviated here and the two-sliding motion occurs at 0.66 and 0.63 s, respectively, in Figs. 7 and 8. It should be noted that the "deviation error angle" condition is respected all the time during the simulation and the unknown gain term b(t) is positive and above the bound K m throughout the simulation.

D. Source Seeking
In this section, it is assumed that a local maximum (source) of γ (.) is sought (although the scheme can easily be modified to search for local minima). Now, supposė where δ is a small positive scalar chosen to represent sufficiently close behavior to ideal sliding, and the initial condition γ ref (0) = γ (0) is applied. SupposeD ⊂ D is a proper subdomain containing a single isolated local maxima and the motion of the vehicle is restricted toD. Let N represent the neighborhood of the local maxima as defined in (5) and consider the motion of the vehicle inD \N . Let C, K m , and K M be defined as before in (15)-(17), but now with respect to the domainD \ N . Note that because the isolated local maxima does not lie inD \ N , ∇γ > γ 0 > 0 (although the γ 0 associated withD may be different from the γ 0 associated with D).
Proposition 2: Suppose during the motion of the vehicle inD \ N , |θ(t) − φ(t)| < 3/2 (rad) for all time, and the gains are chosen as in (18) and (19), then the vehicle enters N (in finite time). Inside N the two-sliding motion cannot be sustained and the vehicle executes a circular motion in the set N = (x,y)∈N D xy where D xy is a disk of radius V /(r 1 −r 2 ) centered at (x, y).
Proof: As in the proof of Proposition 1, it can be shown Here, it is assumed,γ ref (t) = 0 almost everywhere. 1 Then, as in the proof of Proposition 1, if r 1 and r 2 are chosen such that conditions (18) and (19) Once sliding is broken the trajectories x(t), y(t) follow a circular path centered inside N and the vehicle "loiters" in a region of the point in which the local maximum γ * occurscertainly inside the setN = (x,y)∈N D xy .

IV. IMPLEMENTATION DETAILS
The suboptimal sliding mode-based approach and the reference trajectory generation discussed in Section III have been implemented in an embedded unit-an ECW 281B computer with Intel Celeron J1900 Processor and an Ubuntu 14.04 operating system which could be placed on the ASV. However, for the first level of experiments, the third party platform was not modified, and the efficacy of the unit was verified in a high-speed Wi-Fi environment. The communication infrastructure makes use of an ROS network [32], which is described in Section IV-A. The algorithms and the ROS network have been developed in C++ and the roscpp package [33], respectively.

A. ROS Network
The ROS network that was developed is shown in Fig. 9, which comprises the nodes, "UoE Node," "ASVPilot," "Depth Sensor," "Initialization Server," and "ROS Master." The ROS Master is the main node of the network, to which the remaining nodes need to register in order to be identified in the network with a unique name and to be able to communicate with other registered nodes. The "UoE Node" represents the embedded unit where the guidance calculations (25), (28), and (11) are carried out to generate the desired steering control command. The "ASVPilot" node is the virtual pilot interface machine between the "UoE Node" and the physical vehicle. The "Depth Sensor" node represents a depth sensor and the "Initialization Server" node allows the user to initialize the control gains r 1 , r 2 , the trial length and the vehicle's level of thrust.
A node may require to communicate with other nodes to offer its designated functionality. Nodes exchange information through structured data types: ROS messages. The communication of an ROS message happens over a topic, which is a named bus used for the exchange of a specific type of message. In order to communicate a message, nodes need to publish/subscribe to the corresponding topic. When the node is a publisher to a specific topic, it can communicate information, while it can access any required information by subscribing to the corresponding topic. It is possible to have multiple publishers and/or subscribers for a single topic, and a single node can publish and/or subscribe to multiple topics. The loose coupling inherent in the publisher/subscriber design pattern ensures that the various nodes of the system can be individually developed. It allows quick reconfiguration of the system, as well as the easy implementation of several distributed algorithms [33].
The scheme in Fig. 9 also shows the ROS topics, the ROS services and the role of each node. The "Depth Sensor" node publishes the depth measurement on the corresponding topic. The "ASVPilot" node publishes on the topics relating to the on-board sensors, and in particular, it publishes the position stamp measured through a localization system, the heading, measured through a compass sensor, and the vehicle state (active or paused). The "UoENode" subscribes to a set of topics, in order to access information about the vehicle's position and heading, the vehicle status, and the measured depth. Based on this information, the "UoENode" computes the commanded heading [using (11)] and publishes on the topic corresponding to the manipulated variable. The "ASVPilot" node subscribes to the topic corresponding to the commanded heading, which is made available to the vehicle for use. Every time a new reading is obtained from a sensor, the corresponding message is updated. Despite this fast information update procedure, the "UoE Node" subscription to the topics has been regulated through an ROS Timer. Consequently, messages are only read at the timer interrupt instants (every 5 s). Similarly, the "UoE Node" publishes the commanded heading every 5 s, even if the output of the decision-making module is updated less frequently.

V. RESULTS
The proposed methodology has been validated using: 1) a virtual step; 2) a set of hardware in the loop pretrials; and 3) the final sea-trials.

A. Virtual Step
Computer simulations, in a synthetic data-based environment, have been used to test the efficacy of the suboptimal sliding mode guidance approach in (11) for achieving boundary tracking (O1) and source seeking (O2). The synthetic data results used are shown in Figs. 10 and 11 and have been obtained from an available bathymetric image of Ardmucknish Bay, Argyll and Bute, Scotland (56 • 28 58.1 N − 5 • 25 54.5 W). Here, the contours correspond to the grayscale color levels representing scaled bathymetric depth.
1) Boundary Tracking Objective: Case 1: An initial position (t = 0) for the agent kinematics in (4) has been chosen as (x(0), y(0)) = (−5.4169, 56.4851). The initial heading of the vehicle has been fixed to θ(0) = π/4, π/2, and 3/4π, respectively, for three different simulations. The vehicle is assumed to move at constant speed V = 0.5 m/s. A large minimum turning radius of value R min = 60 m for the vehicle has been assumed.
For determining the gains in (11), the bounds of the uncertainties are assumed to be C = 25, K m = 10, and K M = 30. In (11), the gains are set as r 1 = 28 and r 2 = 2, respectively. The choice of r 1 , r 2 respects the assumed minimum turning radius of the vehicle. The parameters relating to the reference trajectory in (25) have been set to K = 20, δ = 2, and γ * = 28, respectively. The choice of δ fixes the "accepted" tracking error to ±2, while the chosen slope K determines a slow varying reference trajectory. The vehicle, consequently, is required to find points where the measurements slowly vary from γ (x(0), y(0)) to γ * . Fig. 10(a) (Case 1 result) shows the trajectories of the vehicle corresponding to the different initial headings π/2, π/4, and 3π/4 in blue, black, and purple, respectively, the initial position of the vehicle as a black star, and the desired contour, characterized by γ (x, y) = 28, in red. The vehicle successfully reaches the desired contour in finite time and then starts tracking it. Tracking is temporarily lost on two occasions, as highlighted in Fig. 12, where the time evolution of the collected measurements corresponding to the initial condition θ(0) = π/2 is shown. The achievable minimum turning radius of the vehicle is higher than the required turning radius for the desired contour as a consequence of the control gains r 1 and r 2 .
a) Tuning of the Gains Case 2: Here, the controller gains are increased to r 1 = 68, r 2 = 3 while keeping the remaining parameters and configuration unchanged. The tracking results are shown in Fig. 11(a). This choice of controller gains reduces the minimum turning radius of the vehicle to R min = 25 m; consequently, as can be seen in Fig. 11(a), the tracking of the contour is improved when compared to that in Fig. 10(a) (especially with regard to the two sharp turns). It can be seen in    b) Tuning of the Gains Case 3: To speed up the convergence to the tracked contour from the vehicle's initial position, the slope parameter of the reference trajectory K is increased to K = 50, while r 1 = 68 and r 2 = 3. As observed in Fig. 11(b), the vehicle quickly moves toward the tracked contour and tight tracking is achieved. The time evolution of the collected measurements in all the cases is shown in Fig. 12 for comparison. It demonstrates how increasing the gains in 2) Source-Seeking Objective: Now the vehicle is required to determine the position of the point of maximum depth. The simulation parameters, such as the vehicle speed, the simulation time, the drift terms, and the control update frequency have been maintained unchanged. To enable the vehicle to undertake a much smaller minimum turning radius, the controller parameters in (11) have been modified as r 1 = 68, r 2 = 3. Consequently, it is possible for the vehicle to attain a close neighborhood of the source with a small value of the order of R min = 25 m. The parameters in (28) have been set to K = 50 and δ = 2. The slope of the reference trajectory has been set to a greater value, in this case, in order to reduce the time required for the vehicle to reach the neighborhood of the source. The results obtained are shown in Fig. 10(b), where the local maximum is highlighted with a red star. The vehicle successfully moves from its initial position into a neighborhood of the point of maximum depth. Once the neighborhood is entered, it is never left and circling behavior, visible in Fig. 10(b), is obtained. The efficacy of the proposed approach and the robustness of the design in the presence of drift terms are evident from the results. The evolution of the measurements collected during the circling motion around the sought source in O2 and γ ref (t) is shown in Fig. 12.

B. Hardware in the Loop Pretrials
The pretrials had two main motivations: 1) to verify the functionality of the ROS network and the Wi-Fi communication link at sea and 2) to test the performance of the proposed approach in a safe environment, where environmental forces are negligible. The ASV used in the pretrials as well as in the sea trials, shown in Fig. 13, is C-Enduro, developed by ASV Ltd., Portchester, U.K. The vehicle can reach speeds of up to seven knots (approximately 3.5 m/s). A fixed-thrust mode, in which the thrust is kept at a constant level independently of the measured speed over ground, is chosen. The vehicle is equipped with an Airmar 200WX and can measure its position through a global navigation satellite system (GNSS), its course over ground, its speed over ground, as well as its roll, pitch, and yaw angles and the wind speed direction. A single beam acoustic depth sensor, characterized by an accuracy of 5  In the pretrials, the vehicle has been commanded to track a circular contour. In this case, the sliding variable was defined as where R is the radius of the tracked circular contour, set to 200 m, and is the distance from the current position of vehicle (x(t), y(t)) (measured through the GNSS sensor) to the center of the tracked circumference (x c , y c ) = (−0.2, −0.05). The distance r (t), which is computed onboard, is considered as a virtual range measurement with respect to (x c , y c ). In order to simplify the task, the vehicle initial position has been considered to be on the tracked circumference. The thrust of the vehicle has been set equal to 30%, which corresponds to a velocity of approximately 1 m/s. The control gains in (11) have been set to r 1 = 28, r 2 = 2. With this choice, the vehicle can track contours having a radius of curvature R > R min ≈ 120 m, which is significantly bigger than the practical minimum turning radius of C-Enduro, which is of 7 m. Although the "UoE Node" publishes the commanded heading every 5 s, in the pretrials, a new commanded heading is computed and updated only every 30 s. This choice was aimed at assessing the worst case tracking performance.
The results obtained from the pretrials are shown in Fig. 14. The vehicle's trajectory is shown in Fig. 14(a) (blue). The trajectory obtained from a MATLAB-based simulation with an  identical set up is shown in red for comparison. The tracking errors are depicted in Fig. 14(b). With the chosen control gains and heading update rate, the tracking is reasonable in both the simulated and trial cases. The tracking error is due to the upper bound on the guidance law, due to the gains r 1 , r 2 , which limit the turning capability of the vehicle as expected. In addition, the deliberate choice of slow update rate (30 s) contributes to the tracking error. The tracking error obtained in the pretrial is comparable, in order of magnitude, to the tracking error obtained from the pure simulation. This shows the effectiveness of the approach and the fidelity of the implementation.  This is an area which benefits from low sea traffic, depth contours in the range of 5-30 m all along the bay, and access to available support facilities including a slipway for the launch and recovery of the vehicle. The Ground Control Station (GCS), indicated in Fig. 15(a) as an encircled black cross, is the on-shore location, where the embedded computer, During the sea trials, the vehicle has been operated in the fixed thrust mode, with the level of thrust fixed at the 20%. This corresponds to a speed of approximately 0.7 m/s. The controller gains in (11) have been kept the same as in the pretrials, r 1 = 28, r 2 = 2. Because of the lower speed, this configuration allows the vehicle to track contours having a radius of curvature R > R min ≈ 90 m. The commanded heading for the actuators of the vehicle has been updated at fixed intervals of 15 s.

1) Trial Result 1:
In the sea trial shown in the bathymetric image in Fig. 15, the vehicle was commanded to track a depth contour of γ * = 12 m. The trajectory of the C-Enduro on the bathymetry image of Ardmucknish Bay is shown in Fig. 15(a). The initial position is indicated as a black star. In the bathymetric image, the color scale represents the water depth, and the full range of the scale is between 0 and 50 m. Fig. 15(b) shows the tracking error, defined as the difference between the depth measurements collected at the vehicle position over time and the tracked depth (12 m), i.e., the value of the switching function σ (t). The tracking error is, in absolute value, smaller than 0.5 m for the entire duration of the trial, showing the effectiveness of the proposed approach.
2) Trial Result 2: In this case, the C-Enduro vehicle was commanded to track a contour of depth 20 m, i.e., γ * = 20 m. The configuration, the values of controller gains and the thrust level, is identical to Trial 1. The trajectory that the vehicle followed is indicated in Fig. 16(a). The heading-hold command (in degree) at fixed intervals of 15 s is given in Fig. 17, enabling the vehicle to follow the trajectory shown in Fig. 16(a). The depth variations in the seabed along the trajectory are evident from the variations in the color scale of the bathymetric image in Fig. 16(a). Considering the steepness of the seabed in the area of the tracked contour, the tracking error, shown in Fig. 16(b), is very satisfactory, being less than 1 m in absolute value for most of the duration of the trial (up to 45 min) with the exception of a few peaks, in which it is still less than 4 m. These excursions occur for two main reasons: 1) the curvature of the tracked contour and 2) Wi-Fi dropouts. The Wi-Fi health signal is shown in Fig. 16

3) Trial Result 3:
A final set of sea trials results is shown in Fig. 18. In this trial, the vehicle was required to track a closed contour, characterized by γ * = 32 m. The vehicle's trajectory, in Fig. 18(a), shows how the vehicle successfully tracks the complete closed contour in an anticlockwise direction. The tracking error is shown in Fig. 18(b). After approximatively 10 min, the tracking error shows some oscillations: these are due to the abrupt change in the direction of the contour as it approaches the end of the "canyon." The vehicle loses tracking temporarily and it has to turn back in order to recover. This causes an almost 90 • cross cut of the tracked contour, and a consequent second overshoot. The succession of overshoots is continuously reduced in amplitude, until tracking of the contour is regained. In fact, such behavior is a feature of the suboptimal algorithm [28].
The second difficulty encountered during this trial is due to the absence of many points in which the water was 32 m deep in the bottom-right part of the trajectory. After approximately 50 min, the vehicle starts oscillating around the contour again, but every time that the contour is lost, it is successfully regained after a few oscillations. This highlights the capability of the algorithm to successfully recover tracking. The overall tracking error is smaller than 5 m in absolute value for the whole duration of the trial and this has been judged to be satisfactory, especially considering the difficulty level of this trial. The presence of external environmental forces, such as wind, water currents, and tides, needs to be accounted for in each of the trials. The results obtained prove that high performance is obtainable with the proposed guidance strategy and highlight the robustness of the approach to (a certain level) of external disturbances.

VI. CONCLUSION
The sea trials results presented in this paper demonstrate the effectiveness of a suboptimal sliding mode-based guidance strategy. Novel reference trajectory generation is employed in the proposed guidance scheme to tackle two distinct autonomous behaviors such as boundary tracking and source seeking. The methodology was implemented in an embedded unit supported by the ROS, which is a metaoperating system. The framework has been tested in a Wi-Fi-enabled experiment. The application described in the paper represents a step toward the use of autonomous vehicles equipped with on-board intelligence, which do not require a preplanned trajectory but are able to determine their trajectories autonomously and efficiently learn about the oceanic features. In future, the implementation will be developed further to integrate with third-party autonomous vehicles in a plug-and-play manner.
[34] C. Mellucci, P. P. Menon, C. Edwards, and P. Challenor, "Experimental validation of boundary tracking using the suboptimal sliding mode algorithm," in Proc. Peter G. Challenor is currently a Professor of statistics with the College of Engineering, Mathematics and Physical Sciences, University of Exeter, Exeter, U.K. His current research interests include uncertainty in the natural world. These range from the statistical analysis of complex numerical models (such as those used to simulate climate) to the interpolation of noisy data and the estimation of the amount of renewable energy in the ocean. He has authored 200 refereed papers in these areas.