Model-Free High-Order Sliding Mode Controller for Station-Keeping of an Autonomous Underwater Vehicle in Manipulation Task: Simulations and Experimental Validation

The use of autonomous underwater vehicles (AUVs) has expanded in recent years to include inspection, maintenance, and repair missions. For these tasks, the vehicle must maintain its position while inspections or manipulations are performed. Some station-keeping controllers for AUVs can be found in the literature that exhibits robust performance against external disturbances. However, they are either model-based or require an observer to deal with the disturbances. Moreover, most of them have been evaluated only by numerical simulations. In this paper, the feasibility of a model-free high-order sliding mode controller for the station-keeping problem is validated. The proposed controller was evaluated through numerical simulations and experiments in a semi-Olympic swimming pool, introducing external disturbances that remained unknown to the controller. Results have shown robust performance in terms of the root mean square error (RMSE) of the vehicle position. The simulation resulted in the outstanding station-keeping of the BlueROV2 vehicle, as the tracking errors were kept to zero throughout the simulation, even in the presence of strong ocean currents. The experimental results demonstrated the robustness of the controller, which was able to maintain the RMSE in the range of 1–4 cm for the depth of the vehicle, outperforming related work, even when the disturbance was large enough to produce thruster saturation.


Introduction
Autonomous underwater vehicles (AUVs) have been widely used in recent years as an alternative to extremely costly, time-consuming, and risky human underwater operations [1]. Most of the tasks performed by these vehicles are for data-gathering applications [2]. However, there is an increasing interest for their use in inspection, maintenance, and repair operations [3] that require manipulation and interaction with objects in the underwater environment. Nowadays, this is mainly performed by remotely operated vehicles (ROVs) equipped with sensors, actuators, or manipulators designed for these specific tasks. Human intervention to remotely control the manipulator enables these missions by allowing them to respond to changes caused by the unpredictable underwater environment. Nevertheless, recent research has addressed the full automation of such tasks [4][5][6][7], including the implementation of collaborative AUVs [8][9][10][11][12].
Regardless of whether the manipulation task is performed by humans or autonomously, fulfilling some operations, such as precise navigation and station-keeping, is a challenge for researchers. These operations are quite difficult to achieve due to unknown external model used in the simulations, the hardware and software configur vehicle, and the setup of the experiments performed in this work.

Underwater Vehicles Kinematics and Hydrodynamics
The kinematics of an underwater vehicle can be described by [24], as shown in Figure 1. The orthonormal axes are called x, y, an frame and , , and for the Body-fixed frame. The Society of Naval Architects and Marine Engineers (SNAM vention for notating the position, orientation, velocities, forces, and water vehicle, as shown in Table 1. The position and orientation of the vehicle in the Earth-fixed f , its velocities in the Body-fixed frame as , and the forces and m fixed frame as :  The Society of Naval Architects and Marine Engineers (SNAME) has defined a convention for notating the position, orientation, velocities, forces, and moments of an underwater vehicle, as shown in Table 1. The position and orientation of the vehicle in the Earth-fixed frame are described as η, its velocities in the Body-fixed frame as ν, and the forces and moments in the Body-fixed frame as τ: Fossen [24] describes the hydrodynamic model of underwater vehicles by Newton-Euler Equations as M . ν + C(ν)ν + D(ν)ν + g(η) = τ + ω, where M ∈ R 6×6 is the inertial and added mass matrix, C ∈ R 6×6 is the rigid body and added mass centripetal and Coriolis matrix, D ∈ R 6×6 is the hydrodynamic damping matrix, g ∈ R 6×1 is the restitution forces vector, B t ∈ R 6×6 is the thruster allocation matrix, u t ∈ R 6×1 is a vector containing the force generated by the thrusters, and ω ∈ R 6×1 represents external disturbances. η ∈ R n×p composed of known functions and a vector θ ∈ R p composed of dynamic parameters, that is, Y η, Property 5. Boundedness of dynamic terms. For constant β i > 0:

•
The inertia matrix M satisfies the following: with λ m and λ M denoting the minimum and maximum eigenvalue of M, respectively.

•
The Coriolis and centripetal matrix C(ν) satisfies the following: • The damping matrix D(ν) satisfies the following: • The vector of restoring forces g(η) ∈ R n satisfies the following: A series of kinematic transformations can be applied to Equation (4) to express the model of the vehicle in the Earth-fixed frame .. with and where J 1 (η 2 ) ∈ R 3×3 and J 2 (η 2 ) ∈ R 3×3 are the matrices relating the linear and angular velocity components, ν 1 and ν 2 , to the Earth-fixed frame. The symbols c angle , s angle , and t angle are abbreviations for cos(angle), sin(angle), and tan(angle), respectively.

Assumption 1.
To avoid a possible singularity problem in J(η), the pitch angle θ is bounded as where θ M stands for the upper bound of θ and it is a known positive constant.
Assumption 2. The Jacobian transformation matrix J(η) is bounded by a known positive constant J sup [25] so that Remark 1. The transformation in Equation (10) is ill-posed when θ = ±90 • . A quaternion approach might be considered to overcome this singularity. However, the vehicle is not required to operate at θ = ±90 • and it is completely stable in the pitch and roll angles.
Then, the hydrodynamic model of the underwater vehicle can be described as follows

BlueROV2
The vehicle used in this work is the BlueROV2 from Blue Robotics ® [26]. It has a vectored configuration with six thrusters arranged as shown in Figure 2.   The thruster allocation matrix B t for the BlueROV2 is defined as Remark 2. The thruster allocation of BlueROV2 does not allows active control of the pitch angle θ. However, the motion around this axis is considered self-regulated due to the vehicle's buoyant restoring moments.

BlueROV2 Simulator
All of the BlueROV2 hydrodynamics were compiled to create a BlueROV2 Matlab/ Simulink ® simulator in [15]. This simulator was used to perform the numerical simulations in this work. The block diagram of the Simulink workspace is shown in Figure 3. .

Remark 2.
The thruster allocation of BlueROV2 does not allows active control of the pitc . However, the motion around this axis is considered self-regulated due to the vehicle's b restoring moments.

BlueROV2 Simulator
All of the BlueROV2 hydrodynamics were compiled to create a Blue Matlab/Simulink ® simulator in [15]. This simulator was used to perform the num simulations in this work. The block diagram of the Simulink workspace is shown in 3.  Ocean currents can be included as external disturbances in the simulation by using relative velocity-the difference between the real velocity and the velocity of the ocean current-as described by Fossen [24]: where ν is the vehicle velocity and ν oc is the ocean current velocity. A generalized vector for an irrotational ocean current velocity is described by where u oc is the ocean current velocity from the north, v oc is the ocean current velocity from the east, and w oc is the ocean current velocity from below. Defining α oc as the angle of attack and β oc as the slide slip angle, every element of the velocity vector can be calculated as u oc = ν oc cosα oc cosβ oc ,v oc = ν oc sinβ oc , andw oc = ν oc sinα oc cosβ oc . (27) Then, the model given by Equation (4) can be modified as follows which is the model implemented in the Matlab/Simulink ® simulator.

Experimentatal Setup
The BlueROV2 platform had its hardware and software modified so that it could be programmed to perform some underwater tasks autonomously.

Hardware
The hardware configuration used in the experiments is shown in Figure 4. A laptop with an Intel ® CORE i7 processor and UBUNTU 16 as the operating system was used as the control station. A tethered cable and a Fathom-X interface from BlueRobotics were used to gain remote access to the Raspberry Pi ® 3 (RPi) onboard the BlueROV2. This RPi is the vehicle's processor that runs the control algorithm and manages the sensors and actuators. It runs Lubuntu as the operational system. A Bar-30 high-resolution pressure sensor by BlueRobotics was used to estimate the depth of the vehicle. It is wired to the Rpi via an Then, the model given by Equation (4) can be modified as follows which is the model implemented in the Matlab/Simulink ® simulator.

Experimentatal Setup
The BlueROV2 platform had its hardware and software modified so that it could be programmed to perform some underwater tasks autonomously.

Hardware
The hardware configuration used in the experiments is shown in Figure 4. A laptop with an Intel ® CORE i7 processor and UBUNTU 16 as the operating system was used as the control station. A tethered cable and a Fathom-X interface from BlueRobotics were used to gain remote access to the Raspberry Pi ® 3 (RPi) onboard the BlueROV2. This RPi is the vehicle's processor that runs the control algorithm and manages the sensors and actuators. It runs Lubuntu as the operational system. A Bar-30 high-resolution pressure sensor by BlueRobotics was used to estimate the depth of the vehicle. It is wired to the Rpi via an I 2 C interface. The velocities of the thrusters are controlled by Pulse Width Modulation (PWM) signals sent from the RPi to a set of 30A Electronic Speed Controllers (ESC). Finally, a 14.8 V, 18A Ah battery provides power for all the electronics. An additional thruster was added to the BlueROV2 configuration to act as an unknown external disturbance. This thruster was placed along the z-axis of the vehicle as shown in Figure 5. An additional thruster was added to the BlueROV2 configuration to known external disturbance. This thruster was placed along the z-axis of shown in Figure 5.

Software
The software was implemented using the robot operating system (RO version of ROS was installed on the RPi and five nodes were programme manage the system. A pressure sensor (1) node manages the Bar-30 sensor the depth of the robot. Then it publishes the position of the vehicle at a control algorithm (2) node reads the position, runs an exact differentia the velocity , contains the controller parameters, executes the control algor vides a simple user interface. This node works at a 100 Hz frequency and thruster's coefficient vector to a thruster management (3) node, which PWM signals to control the thrusters. The external disturbance (4) node unknown external disturbance into the system. It does not share the magn tion of the external disturbance with the controller. Finally, a manual contr programmed to manually move the vehicle to its initial position. This sof ration is shown in Figure 6.

Software
The software was implemented using the robot operating system (ROS). The kinetic version of ROS was installed on the RPi and five nodes were programmed in Python to manage the system. A pressure sensor (1) node manages the Bar-30 sensor and estimates the depth of the robot. Then it publishes the z position of the vehicle at a 100 Hz rate. A control algorithm (2) node reads the z position, runs an exact differentiator to estimate the velocity . z, contains the controller parameters, executes the control algorithm, and provides a simple user interface. This node works at a 100 Hz frequency and publishes the thruster's coefficient vector u to a thruster management (3) node, which generates the PWM signals to control the thrusters. The external disturbance (4) node introduces the unknown external disturbance into the system. It does not share the magnitude or direction of the external disturbance with the controller. Finally, a manual control (5) node was programmed to manually move the vehicle to its initial position. This software configuration is shown in Figure 6. An additional thruster was added to the BlueROV2 configuration to act as an unknown external disturbance. This thruster was placed along the z-axis of the vehicle as shown in Figure 5.

Software
The software was implemented using the robot operating system (ROS). The kinetic version of ROS was installed on the RPi and five nodes were programmed in Python to manage the system. A pressure sensor (1) node manages the Bar-30 sensor and estimates the depth of the robot. Then it publishes the position of the vehicle at a 100 Hz rate. A control algorithm (2) node reads the position, runs an exact differentiator to estimate the velocity , contains the controller parameters, executes the control algorithm, and provides a simple user interface. This node works at a 100 Hz frequency and publishes the thruster's coefficient vector to a thruster management (3) node, which generates the PWM signals to control the thrusters. The external disturbance (4) node introduces the unknown external disturbance into the system. It does not share the magnitude or direction of the external disturbance with the controller. Finally, a manual control (5) node was programmed to manually move the vehicle to its initial position. This software configuration is shown in Figure 6.

Model-Free High Order Sliding Mode Controller
The controller used in this work is a model-free high-order SMC with finite-time convergence in a predefined time [15]. According to Property 4, the Equation (18) is linearly parameterizable by the product of a regressor ( ,,) ∈ ℝ × , consisting of known nonlinear functions and a vector ∈ ℝ with constant parameters. This parametrization can be rewritten in terms of a nominal reference ̇ and its time derivative ̈ as where =̇−̇ is called the extended error. The nominal reference ̇ is defined in terms of the position and velocity paths as follows where ̃= − is the tracking error of the position, is the desired trajectory, is a diagonal positive definite × gain matrix, is a gain yet to be defined, ( ) is the of the vector , and with > 0.

Model-Free High Order Sliding Mode Controller
The controller used in this work is a model-free high-order SMC with finite-time convergence in a predefined time [15]. According to Property 4, the Equation (18)   ..
Subtracting Equation (29) from both sides of Equation (18) results in the open-loop error hydrodynamics expression: where S r = . η − . η r is called the extended error. The nominal reference . η r is defined in terms of the position and velocity paths as follows where η = η − η d is the tracking error of the position, η d is the desired trajectory, K i is a diagonal positive definite n × n gain matrix, α is a gain yet to be defined, sign(x) is the signum f unction of the vector x, and with k > 0.
The extended error S r can be rewritten as and its derivative as from which the model-free high-order SMC is obtained with the following control law: where K d is a diagonal definite positive n × n gain matrix.

Remark 3.
Note that the controller does not requires any knowledge of the hydrodynamics or parameters of the vehicle.

Time Parametrization of α Gain
When the α gain in Equation (32) is set to a constant value, the control law given in Equation (38) leads to an 2nd order SMC with asymptotic convergence, as reported in [27]. The controller proposed for this work achieves finite-time convergence by replacing α with a time-varying gain α(t). Simulation and experimental results for this controller have been reported in [15,23]. According to Parra-Vega [28], the α(t) gain can be defined as: where α 0 = 1 + ε, 0 < ε 1, 0 < δ 1, and α c > 0. A time base generator (TBG) ξ(t) is used to provide a smooth transition from 0 to 1, the duration of which can be controlled by the user with a time-base parameter (t b ). This TBG is given by and its derivative .
gives a bell-shaped velocity profile. For Equations (40) and (41), the following conditions hold: ξ(t b ) = 0, where t 0 represents the initial time. Finally, the solution of the differential equation in Equation (32) is Equation (42) represents a family of solutions converging smoothly to a small value. Since ξ(t b ) = 1 when t = t b , the solution becomes when the time base is reached.

Stability Analysis
Theorem 1. In a closed-loop system, the control law described by Equation (38) and the model described by Equation (30) lead to where finite-time tracking is guaranteed if K d and K i are large enough for small initial error conditions.
Proof of Theorem 1. The stability analysis has been divided into two parts: Part I proves the stability of tracking errors with all the closed-loop signals bounded. Part II proves that the velocity and position tracking errors converge to zero. Part I. Boundedness of the closed loop trajectories. Consider the following Lyapunov candidate function and its time derivative where the skew-symmetric property described in Property 2 was applied and the norm of Y η,  η r θ is also upper bounded [29]. If the initial error is small enough and K d is large enough, one can infer the negative definiteness of outside of the small sphere ε 0 = S r . V ≥ 0 centered at the origin . V(S r ) = 0. This boundedness in the L ∞ sense leads to the existence of the constant ε 1 > 0, so that . S r ≤ ε 1 .
At this point, the stability of the tracking errors has been proven. Part II. Existence of the second order sliding mode. Consider the second order dynamical system defined by the time derivative of the nominal reference described in Equation (37) as Now, consider the multiplication of Equation (48) by S T η : Apply Equation (47) to Equation (49), and considering µ = λ m (K i ) − ε 1 results in If λ m (K i ) > ε 1 , then µ > 0. This guarantees the sliding mode at S η = 0 and t g = S η (t 0 ) µ . Note that t g = 0 for any initial condition S η (t 0 ), implying the enforcement of the sliding mode at any time and Equation (51) implies the convergence of the tracking errors to a very small sphere centered in the origin η, in a finite-time (t b ), as described in Equations (42) and (43).

Remark 5.
Considering the solution in Equation (43) for t = t b , an α 0 parameter very close to 1 and a very small δ, the tracking errors are limited to a very small neighborhood, ε 2 , from the origin. In practice, this may represent required accuracy or a practical zero error. For t > t b , the time-varying gain α(t) must be reset to a constant value α c > 0. Since a sliding mode is induced at converges exponentially, which means that the tracking errors quickly tend to zero, leading to (53) Remark 6. A simple method for tuning α 0 and δ is to fix one of them in Equation (43). Given the initial condition η(t 0 ), the practical zero error η(t b ), and fixing δ, α 0 is calculated as follows: Fixing α 0 , δ is calculated as follows:

Reference Frame Transformation
The control signal τ η must be transformed from the Earth-fixed frame to the Bodyfixed frame to obtain the forces and moments needed in the vehicle. This is achieved by the following transformation: Then the coefficient vector u of the thrusters is calculated as where K T is a diagonal matrix containing the maximum force that each thruster can deliver.

Exact Differentiator
The tracking error . η of the vehicle's velocity is needed to calculate the control law defined in Equation (38). The sensors of BlueROV2 do not measure velocity, so the velocities of the vehicle must be estimated. A simple Euler differentiator can be used for this purpose. However, this differentiator is sensitive to noise and results in an inaccurate estimation of the vehicle velocities. This problem was addressed by programming an exact differentiator algorithm. This algorithm is based on the designed by Levant [30] and is given by: .
where f (t) is the original signal to be differentiated, sign(x) is the signum function for the argument x, and λ 1 = 1.5 λ 2 = 1.1 are constant gains. After a brief adjustment time, j 0 is considered as the original filtered signal and j 1 as its derivative.
Remark 7. The accuracy of the exact differentiator and its sensitivity to noise degrades as a function of an increase of its parameters and sampling time. However, the performance drop is expected for high-order differentiations (refer to [30]). Since the differentiator in this work considers only the first derivative, sensitivity to noise is not considered a problem.
The complete control scheme is shown in the block diagram in Figure 8.
R PEER REVIEW 13 of 23 where ( ) is the original signal to be differentiated, ( ) is the signum function for the argument , and 1 = 1.5 2 = 1.1 are constant gains. After a brief adjustment time, 0 is considered as the original filtered signal and 1 as its derivative.
Remark 7. The accuracy of the exact differentiator and its sensitivity to noise degrades as a function of an increase of its parameters and sampling time. However, the performance drop is expected for high-order differentiations (refer to [30]). Since the differentiator in this work considers only the first derivative, sensitivity to noise is not considered a problem.
The complete control scheme is shown in the block diagram in Figure 8.

Results and Discussion
This section contains the results of the numerical simulations and the experiments performed for the station-keeping problem. In both scenarios, there are two test phases: autonomous navigation to the desired position and the station-keeping for the BlueROV2 position. Since the performance and robustness of the controller have been evaluated in previous work for the trajectory tracking problem, the discussion in this paper focuses on

Results and Discussion
This section contains the results of the numerical simulations and the experiments performed for the station-keeping problem. In both scenarios, there are two test phases: autonomous navigation to the desired position and the station-keeping for the BlueROV2 position. Since the performance and robustness of the controller have been evaluated in previous work for the trajectory tracking problem, the discussion in this paper focuses on the station-keeping phase of the tests.

Numerical Simulations
For an initial validation of the ability model-free high-order SMC with finite-time convergence in a predefined time to achieve station-keeping, numerical simulations were performed. The controller parameters used in this work are the same as those used in the validation of the trajectory tracking problem in [15]. An initial set of parameters was established according to Section 3.3. Then simulations were performed to optimize them until the best results were obtained. The controller parameters are listed in Table 2. The sampling time for these simulations was set as variable with a maximum value of 0.01 s. The simulations consisted of the autonomous navigation of the BlueROV2 to reach the desired η d position in a predefined time-base, arbitrarily set to t b = 8 s. After the vehicle is in the reference, the station-keeping phase of the simulation begins. In the stationkeeping phase, the external disturbances u oc = 0.75 m s , v oc = 0.25 m s , and w oc = 0.25 m s were introduced at t = 10 s as ocean currents. Then they were removed at t = 18 s. The simulation results are shown in Figure 9 for the x, y, z positions and ψ orientation.

Numerical Simulations
For an initial validation of the ability model-free high-order SMC with finite-time convergence in a predefined time to achieve station-keeping, numerical simulations were performed. The controller parameters used in this work are the same as those used in the validation of the trajectory tracking problem in [15]. An initial set of parameters was established according to Section 3.3. Then simulations were performed to optimize them until the best results were obtained. The controller parameters are listed in Table 2. The sampling time for these simulations was set as variable with a maximum value of 0.01 s. The simulations consisted of the autonomous navigation of the BlueROV2 to reach the desired position in a predefined time-base, arbitrarily set to = 8 s. After the vehicle is in the reference, the station-keeping phase of the simulation begins. In the stationkeeping phase, the external disturbances were introduced at = 10 s as ocean currents. Then they were removed at = 18 s. The simulation results are shown in Figure 9 for the , , positions and orientation. It can be observed that the controller is able to keep the BlueROV2 in reference for all positions and orientations. Contrary to the simulation results reported in [20][21][22], there is no initial push on the positions when the disturbance is introduced and the tracking error It can be observed that the controller is able to keep the BlueROV2 in reference for all positions and orientations. Contrary to the simulation results reported in [20][21][22], there is no initial push on the positions when the disturbance is introduced and the tracking error remains zero for all simulations. This demonstrates the robustness of the controller to overcome external disturbances quickly and effectively.

Experimentation
The second validation of the proposed controller consisted of a series of experiments conducted in a semi-Olympic swimming pool. The controller parameters used in these experiments were the same as those used in the experimental validation for the trajectory tracking problem in [23]. The goal is to demonstrate that the controller can maintain the z position of the vehicle in the presence of unknown external disturbances without having to adjust its parameters in any way. The parameters for the depth control are defined in Table 3. The sampling time was set at 0.01 s. Table 3. Controller parameters for experimentation.

Parameter
Value Parameter Value The experiments consisted of the autonomous navigation of the BlueROV2 to reach the desired z position in a predefined time base, arbitrarily set to t b = 8 s. After the vehicle was in the reference, the station-keeping phase of the experiments began. To compare the performance of the controller in the station-keeping phase, an experiment was conducted in which no external disturbances were introduced. This experiment is referred to as the control test. The depth position and tracking error results of the control test are shown in Figure 10. remains zero for all simulations. This demonstrates the robustness of the controller to overcome external disturbances quickly and effectively.

Experimentation
The second validation of the proposed controller consisted of a series of experiments conducted in a semi-Olympic swimming pool. The controller parameters used in these experiments were the same as those used in the experimental validation for the trajectory tracking problem in [23]. The goal is to demonstrate that the controller can maintain the position of the vehicle in the presence of unknown external disturbances without having to adjust its parameters in any way. The parameters for the depth control are defined in Table 3. The sampling time was set at 0.01 s. The experiments consisted of the autonomous navigation of the BlueROV2 to reach the desired position in a predefined time base, arbitrarily set to = 8 s. After the vehicle was in the reference, the station-keeping phase of the experiments began. To compare the performance of the controller in the station-keeping phase, an experiment was conducted in which no external disturbances were introduced. This experiment is referred to as the control test. The depth position and tracking error results of the control test are shown in Figure 10. The control signal and the coefficients of the vertical thrusters 5 and 6 are shown in Figure 11. The control signal τ z and the coefficients of the vertical thrusters u 5 and u 6 are shown in Figure 11. The control signal and the coefficients of the vertical thrusters 5 and 6 are shown in Figure 11. Figure 11. Experimental results of the control test for depth station-keeping. Control signal τ z (left) and thruster coefficients u 5 , u 6 (right). No external disturbances were introduced.
In the following experiments, an external disturbance-unknown to the controllerwas introduced by setting the coefficient of the additional thruster to various values from −1 to +1, with a corresponding force along the z-axis in the range from −40 to +50 N. Some open-loop station-keeping tests were performed to demonstrate the effects of the proposed disturbance. The results of these tests are shown in Figure 12 In the following experiments, an external disturbance-unknown to the controllerwas introduced by setting the coefficient of the additional thruster to various values from −1 to +1, with a corresponding force along the z-axis in the range from −40 to +50 N. Some open-loop station-keeping tests were performed to demonstrate the effects of the proposed disturbance. The results of these tests are shown in Figure 12 Figure 13. The resulting RMSE was 1.26 cm, which is quite similar to the RMSE from the control test. This means that the controller can maintain its performance in the presence of unknown external disturbances of the same magnitude as in the simulations in related work [21].  Figure 13. The resulting RMSE was 1.26 cm, which is quite similar to the RMSE from the control test. This means that the controller can maintain its performance in the presence of unknown external disturbances of the same magnitude as in the simulations in related work [21].
A series of experiments were performed for station-keeping in the depth of BlueROV2. The results for the position and tracking error of the experiment with external disturbance of about −10 N (with an additional thruster coefficient of −0.25) shown in Figure 13. The resulting RMSE was 1.26 cm, which is quite similar to the RM from the control test. This means that the controller can maintain its performance in presence of unknown external disturbances of the same magnitude as in the simulati in related work [21]. The control signal τ z and the coefficients of the vertical thrusters u 5 and u 6 are shown in Figure 14. The control signal increased its mean value by 86% compared to the control test. This higher demand on the controller is evidence of the significance of the introduced external disturbance. The control signal and the coefficients of the vertical thrusters 5 and 6 shown in Figure 14. The control signal increased its mean value by 86% compared to control test. This higher demand on the controller is evidence of the significance of introduced external disturbance. The coefficient for the additional thruster is shown in Figure 15. The disturbanc introduced at = 13 s and maintained until = 25 s.  The coefficient for the additional thruster is shown in Figure 15. The disturbance is introduced at t = 13 s and maintained until t = 25 s. The control signal and the coefficients of the vertical thrusters 5 and shown in Figure 14. The control signal increased its mean value by 86% compared control test. This higher demand on the controller is evidence of the significance introduced external disturbance. The coefficient for the additional thruster is shown in Figure 15. The disturb introduced at = 13 s and maintained until = 25 s.  The results for the z position and tracking error of the experiment with an external disturbance of about −20 N (with an external thruster coefficient of −0.50) are shown in Figure 16. Note that this external disturbance force is twice that of the simulations in [21]. The tracking error increases during the period when the external disturbance is introduced. The RMSE is 2.4 cm for the station-keeping phase of the experiment, which is twice as high as the RMSE of the control test. Nevertheless, this indicator is still low compared to the experimental results reported in [22]. As can be seen in Figure 17, the control signal and thus the coefficients 5 a The control signal in this experiment is almost five times larger than the same sig in the control test. The thruster coefficients are almost three times as large as the thrus coefficients in the control test. The coefficient of the additional thruster for this experim is shown in Figure 18. As can be seen in Figure 17, the control signal τ z and thus the coefficients u 5 and u 6 increase their mean value. This is due to the controller requesting more power from the thrusters in order to overcome the unknown external disturbance trying to push the vehicle out of its reference. As can be seen in Figure 17, the control signal and thus the coefficients 5 6 increase their mean value. This is due to the controller requesting more power fr the thrusters in order to overcome the unknown external disturbance trying to push vehicle out of its reference. The control signal in this experiment is almost five times larger than the same sig in the control test. The thruster coefficients are almost three times as large as the thru coefficients in the control test. The coefficient of the additional thruster for this experim is shown in Figure 18. The control signal in this experiment is almost five times larger than the same signal in the control test. The thruster coefficients are almost three times as large as the thruster coefficients in the control test. The coefficient of the additional thruster for this experiment is shown in Figure 18. The control signal in this experiment is almost five times larger than the sam in the control test. The thruster coefficients are almost three times as large as the t coefficients in the control test. The coefficient of the additional thruster for this exp is shown in Figure 18. Some experiments were performed with time-varying external disturbances, the one shown in Figure 19. Some experiments were performed with time-varying external disturbances, such as the one shown in Figure 19. In these experiments, the external disturbance changed abruptly in magnitu direction. However, these changes did not significantly affect the performance of t troller, as shown in Figures 20 and 21.  In these experiments, the external disturbance changed abruptly in magnitude and direction. However, these changes did not significantly affect the performance of the controller, as shown in Figures 20 and 21. In these experiments, the external disturbance changed abruptly in magnitude a direction. However, these changes did not significantly affect the performance of the c troller, as shown in Figures 20 and 21.    Eighteen experiments were performed, including the ones mentioned earlier, compared with the control test. Results for the thrusters' coefficient and depth RMSE summarized in Table 4.  Eighteen experiments were performed, including the ones mentioned earlier, and compared with the control test. Results for the thrusters' coefficient and depth RMSE are summarized in Table 4.

Thrusters' Saturation
A comparison with the control signal in the control test is made in the third column (% vs. C-T). There, an increase of up to 853% in the energy demanded by the controller can be observed. This shows that the BlueROV2 is strongly demanded by the controller to overcome the unknown external disturbance, which it succeeds at.

Conclusions
It is critical to have a controller that can hold an AUV in position while performing manipulation tasks. In this work, a model-free high-order SMC with finite-time convergence in a predefined time, which has already been evaluated and validated for trajectory tracking, was evaluated for the station-keeping of the BlueROV2 AUV in the presence of unknown external disturbances. The external disturbance, in a range of about −40 to +50 N, was directly introduced in the z-axis of the BlueROV2. This external disturbance remained unknown to the controller, and the weight of the additional thruster also acts as an unknown disturbance. The controller maintained the same set of parameters and gains it had when evaluated for trajectory tracking to prove that there was no need for tuning to achieve a robust performance. Other controllers found in the literature are either model-based, require an observer for the external disturbances, need to adjust their gains online, etc., or do not perform as well as the controller proposed in this work in terms of position RMSE. Simulation results showed that the tracking error for the vehicle's position was maintained at zero throughout the station-keeping task. The position of the vehicle did not change when an external disturbance was introduced, as was the case with other station-keeping controllers reported in the literature. Eighteen experiments were conducted in a semi-Olympic swimming pool to evaluate the proposed controller. The results have shown the robustness of the controller in terms of RMSE, which was less than 2.7 cm in all cases where there was no saturation in the vertical thrusters. Even in cases where the external disturbance abruptly changed its magnitude and direction. This is an exceptional result compared with the up to 20 cm RMSE reported in a related work where experiments were also performed with an AUV. In the cases where the external disturbance was too large and caused the saturation of the vertical thrusters, the RMSE was kept below 4.5 cm. Future work will consist of adding a sensor to the BlueROV2 to extend the experiments to the x and y axes. The goal is to program a pair of BlueROV2 AUVs with the proposed controller to perform a coordinated manipulation task.