### 1. Introduction

### 2. System Overview

### 2.1 General Specifications

### 2.2 Mechanical System

### 2.3 Surface Control Unit

### 3. Vehicle Design and Its Hydrodynamic Modeling

### 3.1 Devices Arrangement and Mechanical Design

*F*

_{max}, the maximum thrust on the horizontal plane is

*F*

_{max}. This was done with consideration to overcoming changes in the direction of the current by keeping a fixed thrust in all directions. The thruster vector control (TVC) algorithm that uses the four horizontal thrusters is discussed in detail in section 4.

### 3.2 Vehicle Modeling

#### 3.2.1 Vehicle’s horizontal kinematics and dynamics

*η*=[

*x*,

*y*,

*ψ*]

*is the vector of the robot’s horizontal plane position and attitude in the navigation coordinate system,*

^{T}*ν*=[

*u*,

*v*,

*r*]

*is the vector of linear and rotational speed in the horizontal plane in the robot body coordinate system, and*

^{T}*x*

_{0},

*y*

_{0})=(0,0) by performing repeated ballast operations on the assembled platform underwater. Based on the results, the platform’s rigid body inertial matrix

*M*and Coriolis and centrifugal force matrix

_{RB}*C*in Eq. (1) can be expressed as below.

_{RB}*m*is the rigid body mass, and

*I*is the rotation moment about the center axis on the horizontal plane, as shown in Table 3.

_{ZZ}*I*which is the rotational moment in the horizontal plane.

_{ZZ}*F*is the hydrodynamic damping;

_{drag}*F*is the added mass; and

_{added mass}*F*is the control input.

_{control}####
3.2.2 Hydrodynamic damping *F*_{drag}

_{drag}

*F*component can be simplified as follows.

_{drag}*ρ*is the liquid density, and

*c*,

_{d}*c*, and

_{dHT}*c*are drag coefficients that correspond to the platform’s ellipsoid, horizontal thrusters, and vertical thrusters. and are the major axis and minor axis in the ellipsoid’s horizontal plane.

_{dVT}*s*,

_{HT}*s*, and

_{VT}*s′*are the cross section areas that correspond to each thruster (Figs. A1,–A3). Table A2 in the appendix shows the cross sections for each thruster.

_{HT}####
3.2.3. Added mass *F*_{added mass}

_{added mass}

*F*= [

_{control}*F*,

_{u}*F*,

_{v}*F*]

_{r}*are the control inputs.*

^{T}### 4. TVC Algorithm

*U*and direction

_{cur}*ψ*of the current in real time as it flows in any direction. The main objective of the control algorithm in this study is to use the four horizontal thrusters to overcome this current while maintaining the robot’s given horizontal plane motion (

_{cur}*x*(

_{ref}*t*),

*y*(

_{ref}*t*),

*ψ*(

_{ref}*t*)) (Fig. 7).

### 4.1 Model-based Controller Design

**Step 1.**As mentioned before, the control objective here is to maintain the given motion (

*x*(

_{ref}*t*),

*y*(

_{ref}*t*),

*ψ*(

_{ref}*t*)). In addition, in this stage, the following Lyapunov function candidate is considered.

*x*=

_{e}*x*−

_{ref}*x*,

*y*=

_{e}*y*−

_{ref}*y*, 및

*ψ*=

_{e}*ψ*−

_{ref}*ψ*;

*γ*>0 is a design variable.

_{ψ}*U*,

_{x}*U*,

_{y}*r*) in Eq. (12) are seen as virtual control inputs, and (

*α*,

_{Ux}*α*,

_{Uy}*α*) is the corresponding stabilizing function (Kristic et al., 1995), Eq. (12) can be expanded as follows.

_{r}*e*=

_{Ux}*α*−

_{Ux}*U*,

_{x}*e*=

_{Uy}*α*−

_{Uy}*U*, and

_{y}*e*=

_{r}*α*−

_{r}*r*

*k*,

_{x}*k*,

_{y}*k*>0 is a design variable.

_{ψ}**Step 2**. In this step, a Lyapunov function candidate is selected, as shown below.

*e*=

_{u}*α*−

_{u}*u*,

*e*=

_{v}*α*−

_{v}*v*, and

*F*,

_{u}*F*,

_{v}*F*]

_{r}*can be designed as follows.*

^{T}**Lemma 1**. If the control rules are designed as in Eqs. (15) and (19) based on the model of the UUV’s motion and dynamics given in Eqs. (9) and (10), it can be guaranteed that the robot maintains a given motion (

*x*(

_{ref}*t*),

*y*(

_{ref}*t*),

*ψ*(

_{ref}*t*)) in a stable manner.

*V*

_{2}can be known to converge at 0 exponentially.

**Remark 1**. For the control input calculated in Eq. (19), the thrust corresponding to each thruster is calculated as follows based on the thruster arrangement shown in Fig. 7.

^{1)}vs. thrust provided by the thruster manufacturer based on the thrust of each thruster calculated in Eq. (21).

**Remark 2**. The controller design presented in this section is based on the premise that the model of the UUV’s motion and dynamics is accurate. However, in the case of an actual system that has strong nonlinear dynamic properties, such as a UUV, it is quite difficult to accurately derive hydrodynamic coefficients in advance. To handle the uncertainty in systems that include such a modeling error, a robust and adaptive controller design is needed (Li, 2016 and references therein).

### 4.2 Experimental Study-Based TVC Method

*HT*

_{1}and

*HT*

_{3}into one set and

*HT*

_{2}and

*HT*

_{4}into a separate set, and it applies the same control input to the two thrusters of each set. In this case, the thrust vector of the thruster set located in the

*l*

_{1,3}line is always placed at

*l*

_{2,4}; conversely, the thrust vector of the thruster set in the line is always located at

*l*

_{1,3}.

*C*=

_{input}*vel*2

*vol*(

*U*)

^{2)}was found by applying different control inputs to the

*HT*

_{1},

*HT*

_{3}set (it is possible to apply the same relational formula to the

*HT*

_{2},

*HT*

_{4}set) in a water tank environment and measuring the robot’s corresponding speed (Li et al. 2019a). Based on this empirical relational formula, the following control rule is proposed.

**Lemma 2.**For a given arbitrary current (

*U*,

_{cur}*ψ*), the current can be overcome if the following control rules are designed.

_{cur}**Proof**. Below is the speed vector

*U*, which is composed of

*U*

_{1,3}and

*U*

_{2,4}, which were calculated by Eq. (22) based on Fig. 7.

*δC*=

*K*(

_{P}*ψ*−

_{ref}*ψ*)+

*K*(

_{D}*ψ̇*−

_{ref}*r*), and

*K*and

_{P}*K*are design variables.

_{D}**Remark 3**. The core of the TVC algorithm proposed in this section involves finding the formula for the relationship between the control input and the speed

*C*=

_{input}*vel*2

*vol*(

*U*). In this study, the robot platform has both front/back and left/right symmetry, and it is possible to use the simple algorithm above when employing a method that divides the four horizontal thrusters into two sets, and applies the same control input to the two thrusters of each set. However, in the case of normal UUVs, it is very difficult to find formulas for the relationships between the control inputs for various situations and the corresponding speeds, and the use of the above control method will certainly be limited.

### 4.3 Simulation Study

#### 4.3.1 Maximum forward speed test

#### 4.3.2 Path tracking with rotating motion

*ẋ*

_{ref}_{,}

*ẏ*

_{ref}_{,}

*ψ̇*]=[1.5cos

_{ref}*θ*(

*t*), 1.5sin

*θ*(

*t*),2

*π*/15], and here

*x*(0)= 1 m,

_{ref}*y*(0)= 5 m,

_{ref}*ψ*(0)= 0, if

_{ref}*t*<0,

*θ*(

*t*)= 0; else

*θ*(

*t*)= 12°/s. The robot’s initial conditions are

*x*(0)= 15 m,

*y*(0)= 1 m,

*ψ*(0)= 30°,

*u*(0)=

*v*(0)=

*r*(0)= 0. For the control algorithm in the simulation, the technique introduced in section 4.1 was used, and the specific design variables are as follows.

### 5. Water Tank Experimental Studies

### 5.1 Basin Tests

#### 5.1.1 Depth and roll, pitch motion control

#### 5.1.2 Heading keeping while encountering variant current

*ψ*= 20°, and a time-varying current was simulated as follows:

_{ref}*U*= 0.5 m/s, if 0≤

_{cur}*t*<15 or

*t*≥45,

*ψ̇*(

_{cur}*t*)= 12°/s;

*else ψ̇*(

_{cur}*t*)= −12°/s; else,

*ψ*(0)= 120°.

_{cur}*ψ*=−

_{e}*ψ*−[

_{cur}*ψ*+

*atan*2(

*v*,

*u*)]. Here,

*ψ*=

_{U}*ψ*+

*atan*2(

*v*,

*u*)is the robot’s forward direction (Fig. 7). In Fig. 16, it can be seen that

*ψ*has an error of around 10°. This is believed to be due to the accuracy of the

_{e}*vel*2

*vol*(⋅)function mentioned in section 4.2, as well as the attitude angle error of the MEMS-based AHRS and the effect of drift.

### 5.2 Circulating Water Channel Tests

*ψ*that deviated from the current direction in the current environment, as well as the forward motion in the corresponding direction. As shown in Fig. 19, the robot converged to within ±5° of the given value of

_{ref}*ψ*. The current speed and the robot’s forward speed relative to the water tank floor that was measured at this time are shown in Fig. 20. It can be seen that the robot made forward progress as it overcame the current, and this was also confirmed visually.

_{ref}