**1. Introduction**

Designing a trajectory tracking controller for torpedo-like autonomous underwater vehicles (AUVs) is challenging due to their underactuation characteristics. These vehicles have only three control inputs—surge force, pitch, and yaw moment—to control their 3D motion in space. The lack of control inputs leads to dissatisfaction of the matching condition, where certain uncertain terms in the state equation cannot be directly compensated for by the control inputs [1,2]. Additionally, the vehicles have nonlinear dynamics involving both rigid body dynamics and hydrodynamics [2]. In the development of AUVs and their control systems, it is crucial to verify their performance in experimental environments. During such verification, numerous issues can affect the system's performance, including sensor measurement noise, modeling errors in system dynamics, disturbances, and imperfections in control systems, such as jitter in the sampling time. As a result, developing

**Citation:** Cho, G.R.; Kang, H.; Kim, M.-G.; Lee, M.-J.; Li, J.-H.; Kim, H.; Lee, H.; Lee, G. An Experimental Study on Trajectory Tracking Control of Torpedo-like AUVs Using Coupled Error Dynamics. *J. Mar. Sci. Eng.* **2023**, *11*, 1334. https://doi.org/ 10.3390/jmse11071334

Academic Editors: Bing Li and Bowen Xing

Received: 3 May 2023 Revised: 26 June 2023 Accepted: 28 June 2023 Published: 30 June 2023

**Copyright:** © 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

a trajectory tracking controller for AUVs is challenging in two aspects: the design of the control algorithm and the experimental verification process.

Regarding the controller design manner, there have been several research works to propose trajectory tracking control scheme for AUVs. To overcome the matching condition issues of the vehicles, several research works have proposed control schemes based on back-stepping control (BC). BC using the vehicle dynamic model was proposed in [3–6]. BC with time delay estimation (BCTDE), an indirect estimator of the vehicle dynamics, has also been studied [2,7,8]. BC provides an excellent and systematic method to handle matching condition issues. However, it requires high-order derivatives of the state variables, which may result in instability in experimental environments due to the magnification of noise effects. There have been several studies on controlling the vehicles using other schemes. Hierarchical design of the controllers has been researched to address the underactuation characteristics [9,10]. Sliding mode control has been applied to gain robustness against model errors and disturbances [11–14]. Adaptive schemes have been employed to resolve model uncertainty [15,16]. Neural networks have been used for robust path following [17,18].

Regarding the experimental verification manner, however, it is hard to find previous research works proposing trajectory tracking algorithms with experimental results. For example, the aforementioned previous research works primarily demonstrate control performance with simulation results and lack experimental verification. The reasons for the absence of experiments in previous works are not explicitly mentioned, but this could be attributed to the need for further investigation to address practical issues such as sensor noises or modeling errors in AUV dynamics, including disturbances. For example, the authors have attempted to verify the performance of the BCTDE [2,7,8] and found it difficult to determine stable gains for the BCTDE. Figure 1 illustrates the experimental results for depth control using the BCTDE, which indicate unstable responses. This instability arises because the BCTDE requires high-order differentiation of the state variables to handle unmatched dynamics and disturbances, thereby amplifying the effects of noise in the state measurements. As another reason for the lack of experimentation, the difficulty of obtaining a suitable experimental platform can be considered, as AUVs are costly plaforms. In constrast to the trajectory tracking problem, however, there have been several research works that proposed via point tracking control of underactuated AUVs with experimental verification [19–21]. These research works utilize traditional approaches employing PID-type controllers for the forward velocity, pitch angle (or depth), and heading angle, combined with a desired heading angle planner such as the line of sight (LOS) [22–24]. Designing via point tracking controllers is relatively straightforward since each controller focuses only on stabilizing states with dynamics matched to the control inputs. However, they mainly focus on waypoint tracking and are unable to handle time-varying trajectory tracking problems. There have also been research works suggesting trajectory tracking controllers for underwater vehicles with full degree-of-freedom (DOF) actuation [25–29]. In such cases, the vehicle can generate the control actuations for every controlled state, eliminating issues arising from a lack of satisfaction of the matching condition.

In this paper, we propose a robust trajectory tracking controller for the 3D motion of underwater vehicles, along with experimental verification of its control performance. In terms of controller design, the proposed controller incorporates an appropriate design of the desired error dynamics and time delay estimation (TDE). To address the underactuation issues of the vehicle, the desired error dynamics is formulated in a coupled form between the state variables in body-fixed and world coordinates. By utilizing the TDE [2,30], the controller effectively compensates for the nonlinear dynamics and disturbances of the vehicle while maintaining a simple structure. The proposed controller only requires the state variables and their first derivatives, mitigating the issues of noise amplification due to differentiation. An initial version of the proposed controller was presented in [31], and in this paper, we extend the controller for motion control in a 3D space. In terms of experimental implementation, practical issues related to measurement noise and actuation limitations

are addressed. A moving average filter is employed to mitigate the effects of sensor noise on control performance, and actuation limitations combined with nonlinear dynamics are also considered. We verify the tracking performance of the proposed controller through experiments conducted on an AUV.

**Figure 1.** Experimental results for depth control using the BCTDE. The results indicate an almost unstable response due to the high−order differentiation of states required by the controller, which amplifies the noise effect in the state measurements.

#### **2. Controller Design for the AUV**

#### *2.1. AUV Systems and Motion-Governing Equations*

Figure 2 illustrates the AUV platform utilized in this research, which was developed by Hanwha Systems [32]. The AUV serves as a testbed for underwater docking tasks [33]. The linear velocities of the vehicle are measured using a Doppler velocity log (DVL), and the angular velocities are measured using an inertial measurement unit (IMU). The position of the vehicle in the world coordinate is estimated using an extended Kalman filter (EKF) that utilizes navigation sensor data from an IMU, a DVL, a depth sensor, a digital compass, and a global navigation satellite system (GNSS) [34–36]. The vehicle is equipped with a thruster for forward propulsion, as well as rudder fins and stern fins for lateral and vertical moments, respectively. The actuators are controlled by an ARM-based embedded system with a control sampling frequency of 10 Hz.

**Figure 2.** AUV used in the experiment. The vehicle was developed by Hanwha Systems [32]. The AUV serves as a testbed for underwater docking tasks [33].

To formulate the motion-governing equation, let us consider the control problem of the vehicle in a 3D space as shown in Figure 3. Assuming that the roll motion of the vehicle can be neglected, the governing equations for motion are given as follows [8,37]:

$$\begin{aligned} \dot{\eta} &= \mathbf{R}\nu \\ \dot{\theta} &= q\_{\prime} \\ \dot{\psi} &= r/c\theta, \quad and \,, \end{aligned} \tag{1}$$

$$\begin{aligned} m\_{11}\dot{u} - m\_{22}\upsilon r + m\_{33}wq + f\_{\mathfrak{u}}(u)u + \mathfrak{r}\_{\mathfrak{c}u} &= \mathfrak{r}\_{\mathfrak{u}}, \\ m\_{22}\dot{\upsilon} + m\_{11}\iota\upsilon + f\_{\mathfrak{v}}(\upsilon)\upsilon + m\_{22}\mathfrak{r}\_{\mathfrak{c}\upsilon} &= 0, \\ m\_{33}\dot{w} - m\_{11}\iota q + f\_{\mathfrak{w}}(w)w - d\_1 + \mathfrak{r}\_{\mathfrak{c}\upsilon} &= 0, \\ m\_{55}\dot{q} - (m\_{33} - m\_{11})\iota\upsilon v + f\_{\mathfrak{q}}(q)q + (d\_2 + \mathfrak{r}\_{\mathfrak{c}q}) &= \mathfrak{r}\_{\mathfrak{q}}, \\ m\_{66}\dot{r} - (m\_{11} - m\_{22})\iota\upsilon + f\_{\mathfrak{r}}(r)r + \mathfrak{r}\_{\mathfrak{c}r} &= \mathfrak{r}\_{\mathfrak{r}}. \end{aligned} \tag{2}$$

where *c*• and *s*• denote *cos*(•) and *sin*(•), respectively; *η* = [*x*, *y*, *z*] *<sup>T</sup>*; *ν* = [*u*, *v*, *w*] *<sup>T</sup>*; *x*, *y*, *z*, *θ*, and *ψ* are the positions and orientations of the vehicle in the world coordinate; *u*, *v*, *w*, *q*, and *r* are the translational velocities and angular velocities; *τu*, *τq*, and *τ<sup>r</sup>* are the control inputs; *τeu*, *τev*, *τew*, *τeq*, *τeu*, and *τer* are the bounded external disturbances, such as ocean currents and waves; *mii*(*i* = 1, 2, 3, 5, 6) represent the terms for the combined mass and intertia parameters; *d*<sup>1</sup> = (*W* − *B*)*cθ*; *d*<sup>2</sup> = (*zgW* − *zbB*)*sθ*; *W* is the gravity, *B* is the buoyancy of the vehicle; *fk*(*k*)(*k* = *u*, *v*, *w*, *q*,*r*) represents the hydrodynamic damping and friction terms; and **R** ≡ **R***z*(*ψ*)**R***y*(*θ*) is the rotation matrix of {*B*} with respect to {*W*}. From Equation (2), the dynamics of the controllable states are rearranged as follows:

$$\begin{aligned} \overline{m}\_{\mu}\dot{\imath} + h\_{\iota} &= \pi\_{\iota\nu} \\ \overline{m}\_{q}\dot{q} + h\_{q} &= \pi\_{q\iota} \\ \overline{m}\_{r}\dot{r} + h\_{r} &= \pi\_{r} \end{aligned} \tag{3}$$

where *mu*, *mq*, and *mr* are the positive constants which represent the known ranges of inertia and *hu*, *hq*, and *hr* are nonlinear terms, defined as

$$\begin{aligned} h\_{\underline{u}} & \equiv (m\_{11} - \overline{m}\_{\underline{u}})\dot{u} - m\_{22}vr + m\_{33}uvq + f\_{\underline{u}}(u)u + \mathfrak{r}\_{\underline{ru}}, \\ h\_{\underline{q}} & \equiv (m\_{55} - \overline{m}\_{\underline{q}})\dot{q} - (m\_{33} - m\_{11})uw + f\_{\underline{q}}(q)q + (d\_{2} + \mathfrak{r}\_{\underline{cq}}), \\ h\_{\underline{r}} & \equiv (m\_{66} - \overline{m}\_{\underline{r}})\dot{r} - (m\_{11} - m\_{22})uv + f\_{\underline{r}}(r)r + \mathfrak{r}\_{\underline{er}}. \end{aligned} \tag{4}$$

**Figure 3.** Definition of coordinates.

#### *2.2. Desired Trajectory*

Due to the underactuated nature, only three trajectory variables can be designed independently. Note that in Equation (2), there are only three independent control inputs to control five DOFs in the world coordinate. We can set the independent trajectory variables as *x*, *y*, and *z* in {*W*}. The trajectories can be represented by the following continuous time functions [8]:

$$\eta\_d = \begin{bmatrix} x\_d(t), y\_d(t), z\_d(t) \end{bmatrix}^T. \tag{5}$$

Note that, when taking into account Equation (1), the angular and velocity trajectories according to Equation (5) satisfy the following relationship [8]:

$$\begin{aligned} \theta\_d &= -\sin^{-1}\left(z\_d / \sqrt{\dot{x}\_d^2 + \dot{y}\_d^2 + \dot{z}\_d^2}\right), \\ \psi\_d &= \operatorname{atan2}(\dot{y}\_d, \dot{x}\_d)\_{\prime} \quad \text{and} \quad \\ u\_d &= \sqrt{\dot{x}\_d^2 + \dot{y}\_d^2 + \dot{z}\_d^2} \\ q\_d &= \dot{\theta}\_{d\prime} \\ r\_d &= \dot{\psi}\_d c \theta\_d. \end{aligned} \tag{6}$$

The goal of this paper is to design a controller for an AUV system represented by Equations (1) and (3) to track the desired trajectories defined in Equations (5) and (6). The controller is specifically designed to reduce the tracking error along *η<sup>d</sup>* by using control inputs.

#### *2.3. Dynamics of Tracking Error*

In this subsection, we arrange the tracking error dynamics of the vehicle by describing them in the desired trajectory coordinate {*D*}. This approach helps to minimize changes in the relationship between variables in different coordinates [38,39]. When there is no tracking error, *u* affects *Dx* for every attitude of the vehicle, and the transformation can be easily achieved as follows [40]:

$$\boldsymbol{\Omega}^{D}\boldsymbol{\eta} = \mathbf{R}\_{d}^{T}\boldsymbol{\eta} - \mathbf{R}\_{d}^{T}\boldsymbol{\eta}\_{d\prime} \tag{7}$$

where *<sup>D</sup>η* = '*Dx*, *Dy*, *Dz* (*<sup>T</sup>* denotes the translational position of the vehicle with respect to {*D*} and **R***<sup>d</sup>* ≡ **R***z*(*ψd*)**R***y*(*θd*). Using Equation (7), the desired trajectories in Equation (5) can be transformed into those in {*D*} as follows:

$$^D\boldsymbol{\eta}\_d = \mathbf{0}.\tag{8}$$

Subtracting Equation (7) from Equaiton (8) yields the following relationship:

$$\mathbf{^D}\boldsymbol{\eta}\_{\varepsilon} = \mathbf{R}\_d^T \boldsymbol{\eta}\_{\varepsilon} \tag{9}$$

where •*<sup>e</sup>* ≡ •*<sup>d</sup>* − •. Note that from Equation (9), the tracking problem in {*D*} is identical to that in {*W*}. Convergence of the tracking error in {*D*} guarantees convergence in {*W*}. This is because **R***<sup>d</sup>* is a rotation matrix and cannot be singular. By taking the derivatives of Equation (9) with Equations (1) and (5) and introducing positive constants *αu*, *αψ*, and *αθ*, the error dynamics of the state variable in {*D*} can be rearranged as follows [8]:

$$
\begin{bmatrix} {}^{D}\dot{\boldsymbol{x}}\_{\boldsymbol{\varepsilon}} \\ {}^{D}\dot{\boldsymbol{y}}\_{\boldsymbol{\varepsilon}} \\ {}^{D}\dot{\boldsymbol{z}}\_{\boldsymbol{\varepsilon}} \end{bmatrix} = \begin{bmatrix} \overline{\boldsymbol{\pi}}\_{\boldsymbol{u}}\boldsymbol{\mu}\_{\boldsymbol{\varepsilon}} \\ \overline{\boldsymbol{\pi}}\_{\boldsymbol{\Psi}}\boldsymbol{\Psi}\_{\boldsymbol{\varepsilon}} \\ -\overline{\boldsymbol{\pi}}\_{\boldsymbol{\theta}}\boldsymbol{\theta}\_{\boldsymbol{\varepsilon}} \end{bmatrix} + \begin{bmatrix} \boldsymbol{\lambda}\_{\boldsymbol{x}} \\ \boldsymbol{\lambda}\_{\boldsymbol{y}} \\ \boldsymbol{\lambda}\_{\boldsymbol{z}} \end{bmatrix}. \tag{10}
$$

Refer to [8] for a detailed derivation of Equation (10). The last term in the above equation represents the nonlinear terms defined as follows:

$$
\begin{bmatrix}
\lambda\_x\\\lambda\_y\\\lambda\_z
\end{bmatrix} = -\begin{bmatrix}
\overline{\mathfrak{a}}\_{\mathsf{u}}\mathsf{u}\_{\mathsf{c}}\\\ \overline{\mathfrak{a}}\_{\mathsf{V}}\psi\_{\mathsf{c}}\\\ -\overline{\mathfrak{a}}\_{\mathsf{f}}\theta\_{\mathsf{c}}
\end{bmatrix} + \mathsf{v}\_d - \mathsf{R}\_d^T \mathsf{R}\mathsf{v} - \mathsf{w}\_d^{\times D} \eta\_{\mathsf{c}\prime}
\tag{11}
$$

where *ν<sup>d</sup>* = [*ud*, 0, 0] *<sup>T</sup>* and *ω*<sup>×</sup> *<sup>d</sup>* is a skew-symmetric matrix of *ω<sup>d</sup>* ≡ [0, *qd*,*rd*] *<sup>T</sup>* [8]. Aside from that, from Equations (1) and (6), the attitude error is obtained as follows:

$$\begin{aligned} \theta\_{\varepsilon} &= q\_{\varepsilon \prime} \\ \dot{\psi}\_{\varepsilon} &= \overline{\pi}\_{r} r\_{\varepsilon} + \lambda\_{\psi \prime} \end{aligned} \tag{12}$$

where *α<sup>r</sup>* is a positive constant and

$$
\lambda\_{\Psi} = -\overline{\mathfrak{a}}\_{r} r\_{\mathfrak{c}} + r\_{\mathfrak{d}} / c\theta\_{\mathfrak{d}} - r / c\theta. \tag{13}
$$

As a result, the tracking error dynamics are expressed in Equations (10) and (12). The objective of this paper is to design a control input in Equation (3) to stabilize the error dynamics, particularly *Dxe*, *Dye*, and *Dze*.

#### *2.4. Controller Design Using the Coupled Error Dynamics and Time Delay Estimation*

In this paper, our goal is to design the desired error dynamics for *ue*, *re*, and *qe* that can asymptotically stabilize the tracking errors of *Dxe*, *Dye*, and *Dze*, respectively. Note that from Equation (3), one can directly control the variables in {*B*}, namely *u*, *q*, and *r*, by designing appropriate control inputs *τu*, *τq*, and *τr*, respectively. From Equations (10) and (12), *u* adjusts *Dxe*, *q* affects *θ<sup>e</sup>* and consequently *Dze*, and *r* determines *ψ<sup>e</sup>* and therefore *Dye*. Thus, coupled error dynamics between the variables in {*B*} and {*D*} can be designed to stabilize the variables in {*D*}. The desired error dynamics of *ue*, *re*, and *qe* are designed as follows:

$$\begin{aligned} \dot{u}\_{\varepsilon} + K\_{\mathfrak{u}} u\_{\varepsilon} + K\_{\mathfrak{x}} \prescript{D}{}{\mathfrak{x}}\_{\mathfrak{c}} &= 0, \\ \dot{q}\_{\varepsilon} + K\_{\mathfrak{q}} q\_{\varepsilon} + K\_{\mathfrak{o}} \theta\_{\varepsilon} - K\_{\mathfrak{z}} \prescript{D}{}{\mathfrak{z}}\_{\mathfrak{c}} &= 0, \\ \dot{r}\_{\varepsilon} + K\_{r} r\_{\mathfrak{c}} + K\_{\mathfrak{y}} \psi\_{\varepsilon} + K\_{\mathfrak{y}} \prescript{D}{}{\mathfrak{y}}\_{\mathfrak{c}} &= 0, \end{aligned} \tag{14}$$

where *K*• > 0 represents the control gains.

In the manner of the computed torque control, the controller for Equation (3) can be designed as follows:

$$\begin{aligned} \pi\_{\mathfrak{u}} &= \mathfrak{h}\_{\mathfrak{u}} + \overline{\mathfrak{m}}\_{\mathfrak{u}} \mu\_{\mathfrak{u}}, \\ \pi\_{\mathfrak{v}} &= \widehat{\mathfrak{h}}\_{\mathfrak{q}} + \overline{\mathfrak{m}}\_{\mathfrak{q}} \mu\_{\mathfrak{q}'} \\ \pi\_{\mathfrak{r}} &= \widehat{\mathfrak{h}}\_{\mathfrak{r}} + \overline{\mathfrak{m}}\_{\mathfrak{r}} \mu\_{\mathfrak{r}'} \end{aligned} \tag{15}$$

where <sup>5</sup>• denotes the estimate of • and *<sup>μ</sup>u*, *<sup>μ</sup>q*, and *<sup>μ</sup><sup>r</sup>* are the command inputs to insert the desired dynamics for *<sup>u</sup>*, *<sup>q</sup>*, and *<sup>r</sup>*, respectively. When <sup>5</sup>• <sup>=</sup> •, the controlled dynamics is obtained from Equations (3) and (15) as follows:

$$\begin{aligned} \mu\_{\rm u} - \dot{\imath} &= 0, \\ \mu\_{\rm q} - \dot{q} &= 0, \\ \mu\_{\rm r} - \dot{r} &= 0. \end{aligned} \tag{16}$$

To induce the desired error dynamics in Equations (14)–(16), the command inputs are designed as follows:

$$\begin{aligned} \mu\_{\rm u} &= \dot{\mu}\_{d} + \boldsymbol{K}\_{\rm u} \boldsymbol{u}\_{\rm c} + \boldsymbol{K}\_{\rm xp}^{\;D} \boldsymbol{x}\_{\rm c}, \\ \mu\_{q} &= \dot{q}\_{d} + \boldsymbol{K}\_{q} \boldsymbol{q}\_{\rm c} - \boldsymbol{K}\_{\theta} \boldsymbol{\theta}\_{\rm c} - \boldsymbol{K}\_{\rm zp}^{\;D} \boldsymbol{z}\_{\rm c}, \\ \mu\_{\rm r} &= \dot{r}\_{d} + \boldsymbol{K}\_{\rm r} \boldsymbol{r}\_{\rm c} + \boldsymbol{K}\_{\theta} \boldsymbol{\psi}\_{\rm c} + \boldsymbol{K}\_{\rm \forall p}^{\;D} \boldsymbol{y}\_{\rm c}. \end{aligned} \tag{17}$$

To implement the controller in Equation (15), it is necessary to obtain <sup>5</sup>*hu*, <sup>5</sup>*hq*, and <sup>5</sup>*hr*, the estimates of Equation (4). However, obtaining an exact dynamic model of Equation (4) is difficult and time-consuming. To address this, we employ the TDE [2,30,41,42] for robust and efficient estimation. The key idea behind TDE is that if the system dynamics are given as a continuous or piece-wise continuous function, then the variation in the dynamics during a very short time can be negligible. Thus, the value of the dynamics

at the current time can be estimated by using the value of the dynamics at a short time before. Based on this idea, the system dynamics can be estimated indirectly by utilizing previous information on the system input and output. From Equation (3), the dynamics can be estimated as follows:

$$\begin{aligned} h\_{\mathfrak{n}(t)} &= h\_{\mathfrak{n}(t-L)} = \mathfrak{r}\_{\mathfrak{n}(t-L)} - \overline{\mathfrak{m}}\_{\mathfrak{n}} \dot{\mathfrak{n}}\_{(t-L)}, \\ \widehat{h}\_{\mathfrak{q}(t)} &= h\_{\mathfrak{q}(t-L)} = \mathfrak{r}\_{\mathfrak{q}(t-L)} - \overline{\mathfrak{m}}\_{\mathfrak{q}} \dot{\mathfrak{q}}\_{(t-L)}, \\ \widehat{h}\_{\mathfrak{r}(t)} &= h\_{\mathfrak{r}(t-L)} = \mathfrak{r}\_{\mathfrak{r}(t-L)} - \overline{\mathfrak{m}}\_{\mathfrak{r}} \dot{\mathfrak{r}}\_{(t-L)}. \end{aligned} \tag{18}$$

where *L* denotes a short time delay which is commonly set as the sampling time of the control system. As a result, the final form of the proposed controller is Equation (15) with Equations (17) and (18).

It is noteworthy that the proposed controller in Equation (15) with Equations (17) and (18) only requires the first derivative of the state variables and the states themselves. The linear and angular velocities can be measured using IMU and DVL, while the vehicle's position can be obtained through a navigation algorithm such as a Kalman filter, utilizing sensors such as IMU, DVL, the depth sensor, and the digital compass [34]. The advantage of not requiring high-order differentiation of the states is that it helps stabilize the controller in experimental environments. This is because differentiating the states amplifies the noise effect present in the state measurements. In comparison, the BCTDE [2,7,8] necessitates third-order differentiation of the states. Therefore, one can expect that the proposed controller is relatively easier to stabilize in experimental environments. In addition, note that the TDE method does not require the entire vehicle dynamics model. One can design the proposed controller by only selecting the inertial gains, such as *mu*, *mq*, *mr*, *αu*, *αψ*, *αθ*, and *αr*, as well as the feedback gains, such as *Kx*, *Ku*, *Ky*, *Kψ*, *Kr*, *Kz*, *Kθ*, and *Kq*.

#### *2.5. Error Dynamics of the Proposed Controller*

The TDE provides an efficient way to estimate the nonlinear dynamics of the vehicle, but it cannot estimate the dynamics variation exactly during a sampling time *L*. Thus, an estimation error of the dynamics remains. Taking into account the estimation error of the TDE, one can rearrange the error dynamics in Equaiton (14) by utilizing Equations (3) and (15) with Equations (17) and (18) as follows:

$$\begin{aligned} \dot{u}\_{\varepsilon} + \mathcal{K}\_{\mathfrak{u}} \boldsymbol{u}\_{\varepsilon} + \mathcal{K}\_{\mathfrak{x}}^{\,D} \boldsymbol{x}\_{\varepsilon} &= \mathfrak{e}\_{\mathfrak{u}\prime} \\ \dot{q}\_{\varepsilon} + \mathcal{K}\_{\mathfrak{q}} q\_{\varepsilon} + \mathcal{K}\_{\mathfrak{o}} \theta\_{\mathfrak{c}} - \mathcal{K}\_{\mathfrak{z}}^{\,D} \boldsymbol{z}\_{\mathfrak{c}} &= \mathfrak{e}\_{\mathfrak{q}\prime} \\ \dot{r}\_{\varepsilon} + \mathcal{K}\_{r} r\_{\varepsilon} + \mathcal{K}\_{\mathfrak{y}} \psi\_{\varepsilon} + \mathcal{K}\_{\mathfrak{y}}^{\,D} \boldsymbol{y}\_{\varepsilon} &= \mathfrak{e}\_{r\prime} \end{aligned} \tag{19}$$

where • denotes the TDE errors, which are defined as follows:

$$\begin{aligned} \epsilon\_u &\equiv \overline{m}\_u^{-1} \left( h\_{u(t)} - h\_{u(t-L)} \right), \\ \epsilon\_q &\equiv \overline{m}\_q^{-1} \left( h\_{q(t)} - h\_{q(t-L)} \right), \\ \epsilon\_r &\equiv \overline{m}\_r^{-1} \left( h\_{r(t)} - h\_{r(t-L)} \right). \end{aligned} \tag{20}$$

From Equations (10), (12), and (19), the error dynamics of the controlled system for the forward, lateral, and vertical directions, respectively, are as follows:

$$
\begin{bmatrix} \,^D \dot{\boldsymbol{x}}\_{\mathcal{E}} \\ \,^D \boldsymbol{u}\_{\mathcal{E}} \end{bmatrix} = \underbrace{\begin{bmatrix} 0 & \overline{\boldsymbol{\pi}\_{\mathcal{U}}} \\ -\boldsymbol{K}\_{\mathcal{X}} & -\boldsymbol{K}\_{\mathcal{U}} \end{bmatrix}}\_{\mathbf{A}\_{\mathcal{X}}} \begin{bmatrix} \,^D \boldsymbol{x}\_{\mathcal{E}} \\ \boldsymbol{u}\_{\mathcal{E}} \end{bmatrix} + \underbrace{\begin{bmatrix} \boldsymbol{\lambda}\_{\mathcal{X}} \\ \boldsymbol{\epsilon}\_{\mathcal{U}} \end{bmatrix}}\_{\mathbf{B}\_{\mathcal{X}}} \,\tag{21a}
$$

$$
\begin{bmatrix} \stackrel{D}{\dot{\mathcal{Y}}\_{\mathcal{C}}} \\ \dot{\psi}\_{\mathcal{C}} \\ \dot{r}\_{\mathcal{C}} \end{bmatrix} = \underbrace{\begin{bmatrix} 0 & \overline{\alpha}\_{\emptyset} & 0 \\ 0 & 0 & \overline{\alpha}\_{r} \\ -K\_{\mathcal{Y}} & -K\_{\emptyset} & -K\_{r} \end{bmatrix}}\_{\mathbf{A}\_{\mathcal{Y}}} \begin{bmatrix} \stackrel{D}{\mathcal{Y}\_{\mathcal{C}}} \\ \psi\_{\mathcal{C}} \\ r\_{\mathcal{C}} \end{bmatrix} + \underbrace{\begin{bmatrix} \lambda\_{\mathcal{Y}} \\ \lambda\_{\emptyset} \\ \epsilon\_{r} \end{bmatrix}}\_{\mathbf{B}\_{\mathcal{Y}}},\tag{21b}
$$

$$
\begin{bmatrix} \prescript{D}{}{\dot{z}\_{\mathcal{E}}} \\ \theta\_{\mathcal{E}} \\ \dot{q}\_{\mathcal{E}} \end{bmatrix} = \underbrace{\begin{bmatrix} 0 & -\overline{\alpha}\_{\theta} & 0 \\ 0 & 0 & 1 \\ K\_{z} & -K\_{\theta} & -K\_{\theta} \end{bmatrix}}\_{\mathbf{A}\_{z}} \begin{bmatrix} \prescript{D}{}{z\_{\mathcal{E}}} \\ \theta\_{\mathcal{E}} \\ q\_{\mathcal{E}} \end{bmatrix} + \underbrace{\begin{bmatrix} \lambda\_{z} \\ 0 \\ \epsilon\_{q} \end{bmatrix}}\_{\mathbf{B}\_{z}}.\tag{21c}
$$

By taking the Laplace transform of Equations (21a)–(21c), one can examine the stability of the error dynamics and the influence of the forcing functions **B***x*, **B***y*, and **B***z*. The Laplacetransformed error dynamics can be obtained as follows:

$$
\begin{aligned}
\begin{bmatrix} \prescript{D}{}{\mathcal{X}\_{\mathcal{E}}} \\ \u{\mu}\_{\mathcal{E}} \end{bmatrix} &= (s\mathbf{I} - \mathbf{A}\_{\mathcal{X}})^{-1} \mathbf{B}\_{\mathcal{X}} = \frac{1}{|s\mathbf{I} - \mathbf{A}\_{\mathcal{X}}|} \begin{bmatrix} s + K\_{\mathcal{U}} & \overline{\pi}\_{\mathcal{U}} \\ -K\_{\mathcal{X}} & s \end{bmatrix} \begin{bmatrix} \lambda\_{\mathcal{X}} \\ \epsilon\_{\mathcal{U}} \end{bmatrix} \end{aligned} \tag{22a}
$$

$$
\begin{bmatrix} \prescript{D}{}{\mathcal{Y}}\_{\mathcal{E}} \end{bmatrix} \qquad \qquad \begin{bmatrix} s^2 + K\_{\mathcal{V}}s + \overline{\pi}\_{\mathcal{V}} K\_{\mathcal{V}} & \overline{\pi}\_{\mathcal{V}} s + \overline{\pi}\_{\mathcal{V}} K\_{\mathcal{V}} & \overline{\pi}\_{\mathcal{V}} \overline{\pi}\_{\mathcal{V}} \end{bmatrix} \begin{bmatrix} \end{bmatrix} \lambda\_{\mathcal{V}} \ \blacksquare
$$

$$
\begin{bmatrix} {}^{D}y\_{\varepsilon} \\ \psi\_{\varepsilon} \\ r\_{\varepsilon} \end{bmatrix} = \frac{1}{\left| {}^{S}\mathbf{I} - \mathbf{A}\_{\mathcal{Y}} \right|} \begin{bmatrix} s^{2} + K\_{\mathsf{F}}s + \overline{\mathfrak{a}}\_{\mathsf{F}}K\_{\mathsf{F}} & \overline{\mathfrak{a}}\_{\mathsf{F}}s + \overline{\mathfrak{a}}\_{\mathsf{F}}K\_{\mathsf{F}} & \overline{\mathfrak{a}}\_{\mathsf{F}}\overline{\mathfrak{a}}\_{\mathsf{F}} \\ -\overline{\mathfrak{a}}\_{\mathsf{F}}K\_{\mathsf{y}} & s^{2} + K\_{\mathsf{F}}s & \overline{\mathfrak{a}}\_{\mathsf{F}}s \\ K\_{\mathsf{y}}s & -K\_{\mathsf{F}}s - \overline{\mathfrak{a}}\_{\mathsf{F}}K\_{\mathsf{y}} & s^{2} \end{bmatrix} \begin{bmatrix} \lambda\_{\mathsf{y}} \\ \lambda\_{\mathsf{y}} \\ \epsilon\_{\mathsf{r}} \end{bmatrix},\tag{22b}
$$

$$
\begin{bmatrix} \ ^{D}\boldsymbol{z}\_{\varepsilon} \\ \ \boldsymbol{\theta}\_{\varepsilon} \\ \ \boldsymbol{q}\_{\varepsilon} \end{bmatrix} = \frac{1}{|\mathbf{s}\mathbf{I} - \mathbf{A}\_{z}|} \begin{bmatrix} \ \mathbf{s}^{2} + \mathbf{K}\_{q}\mathbf{s} + \mathbf{K}\_{\theta} & -\overline{\mathbf{a}}\_{\theta} \\ \ \mathbf{K}\_{z} & \mathbf{s} \\ \ \mathbf{K}\_{z}\mathbf{s} & \mathbf{s}^{2} \end{bmatrix} \begin{bmatrix} \ \boldsymbol{\lambda}\_{z} \\ \ \boldsymbol{\epsilon}\_{q} \end{bmatrix} \tag{22c}
$$

where *s* denotes the Laplace operator and

⎣

⎡ ⎣

$$|s\mathbf{I} - \mathbf{A}\_x| = s^2 + K\_u s + \overline{\mathfrak{a}}\_u K\_{\mathbf{x}}.\tag{23a}$$

$$\left|\mathbf{sI} - \mathbf{A}\_{\Psi}\right| = s^3 + K\_r s^2 + \overline{\mathfrak{a}}\_r K\_{\Psi} s + \overline{\mathfrak{a}}\_{\Psi} \overline{\mathfrak{a}}\_r K\_{\Psi} \tag{2.3b}$$

$$|s\mathbf{I} - \mathbf{A}\_{\overline{z}}| = s^3 + K\_{\theta}s^2 + K\_{\theta}s + \overline{a}\_{\theta}K\_{\overline{y}}.\tag{23c}$$

From Equations (22a)–(22c), the influence of each term of the forcing functions **B***x*, **B***y*, and **B***<sup>z</sup>* can be estimated. The tracking errors in a steady state can be analyzed by using the final value theorem of the Laplace transform: lim*t*→<sup>∞</sup> *x*(*t*) = lim*s*→<sup>0</sup> *sx*(*s*). For example, from Equations (22a) and (23a), *Dxe*(*s*)/*λx*(*s*)=(*s* + *Ku*)/(*s*<sup>2</sup> + *Kus* + *αuKx*). Assume that *<sup>λ</sup>x*(*s*) is given as a step function: *<sup>λ</sup>x*(*s*) = *<sup>l</sup>*/*<sup>s</sup>* with a constant *<sup>l</sup>*. Then, *Dxe*(*t*)|*t*→<sup>∞</sup> <sup>=</sup> *Kul*/(*αuKx*), and one can estimate that in the forward direction error, *Dxe*(*t*), there will be a steady state error dependent on the amount of disturbed dynamics *l* and the control gains *αu*, *Ku*, and *Kx*. The controller cannot perfectly compensate for the influence of the forcing function, but it can attenuate the influence by selecting appropriate control gains.

The characteristic equations in Equations (23a)–(23c) are useful for selecting appropriate control gains. In order to ensure stable error dynamics, the characteristic equations must satisfy the Hurwitz condition, and the gains *K*• must be chosen accordingly. Additionally, the inertial gains *mu*, *mq*, *mr*, *αu*, *αψ*, *αθ*, and *α<sup>r</sup>* can be obtained through tuning. Previous research works utilizing the TDE have suggested selecting inertial gains within a known range of the vehicle's inertial terms. If the vehicle model is unknown, however, then the inertial gains can be obtained through tuning [2,30].

#### **3. Practical Issues for the Experiments**

When setting up the controller for the experiment, practical issues such as the noise effects of the measurements and actuator limitations have to be considered. These issues will be discussed in the following subsections.

#### *3.1. Handling the Noise Effect in the TDE*

The TDE provides an effective and efficient method for estimating the nonlinear dynamics of vehicles. However, the use of state derivatives in the TDE amplifies the noise effect in the measurement of the state variables. In the case of underwater vehicles, the vehicle's position is usually estimated by Kalman filtering of the sensor data, such as acceleration from the IMU and velocity from the DVL, which have considerable measurement noise. The amplification of noise can undermine the stability conditions. One way to handle this is to use the low-pass filtering effects of the inertial gains of the TDE [30]. Decreasing the inertial gains shows a similar effect to low-pass filtering. However, we found experimentally that adjusting the inertial gains was not enough. Therefore, we devised a method to attenuate the noise effect of the TDE. The idea is quite simple: cut down the direct TDE value and supplement the remaining part with the averaged value of the TDE. Figure 4 shows the noise attenuation method in the TDE. Note that the use of an average filter in Figure 4 can attenuate the noise effect because the filter also averages the noise. However, the filter may slightly degrade the performance of the TDE because the filtered value of the TDE cannot estimate exactly any quick changes in vehicle dynamics. In the case of underwater vehicles, dynamic changes occur due to the vehicle dynamics and disturbance changes such as sea currents, which depend on the mission (or desired trajectory) and the environment. In the case of AUVs, dynamic changes may not be fast because they are commonly used for surveys of large areas, and disturbances such as sea currents change slowly according to tide variation.

**Figure 4.** Filtering the TDE to reduce the noise effect. The algorithm reduces the direct TDE value and supplements the remaining part with the averaged value of the TDE. This mitigates the noise present in the TDE thanks to the averaging effect.

#### *3.2. Handling Nonlinearity and the Limits of the Actuators*

When designing a controller, it is important to consider the actuator characteristics, such as nonlinearity and the actuation limits. For instance, the thruster of a vehicle exhibits nonlinear dynamics between the propulsion force and rotation speed of the thruster. Moreover, the thruster has limits on rotational velocity and acceleration because the thruster is a mechanical system. In this subsection, we address compensation methods for the actuator characteristics, focusing on the thrusters in particular and briefly touching on the rudder fins and stern fins. The thruster dynamics are as follows [23,43]:

$$\pi\_{\mathfrak{u}} = T\_{|\mathfrak{u}|n} |n| n + T\_{|n|u} |n| u\_{\prime} \tag{24}$$

where *n* denotes the rotation velocity of the thruster and *T*|*n*|*<sup>n</sup>* and *T*|*n*|*<sup>u</sup>* represent the actuator coefficients corresponding to the rotational speed of the actuator and fluid speed around the actuator, respectively. By ignoring *T*|*n*|*u*|*n*|*u* and *T*|*n*|*<sup>n</sup>* from Equation (24), we adopted a simple thruster model, which is as follows:

$$
\pi'\_{\mathfrak{u}} = |n|n.\tag{25}
$$

This is because the effect of *T*|*n*|*u*|*n*|*u*, the term included in the RHS of Equation (24), can be compensated for by the feedback loop of the controller, and the scale coefficient *T*|*n*|*<sup>n</sup>* in Equation (24) can be adjusted by tuning the controller gain. Note that when substituting Equation (24) into the first equation of Equation (3), *T*|*n*|*u*|*n*|*u* can be treated as part of the nonlinear term *hu* (i.e., *h <sup>u</sup>* = *hu* − *<sup>T</sup>*|*n*|*u*|*n*|*u*). The coefficient *<sup>T</sup>*|*n*|*<sup>n</sup>* simply scales the value of *mu* (i.e., *m <sup>u</sup>* = *mu*/*T*|*n*|*n*).

Regarding the actuation limit of the thrusting force, we considered the limits on the rotational velocity and acceleration of the thrusting propeller as follows:

$$\underline{u} = \begin{cases} n, & \text{when } |n| < n\_{\text{max}}, \, |\dot{n}| < \dot{n}\_{\text{max}}, n \ge 0, \\ f(n), & \text{when } any \, of \text{ above conditions is not satisfied}, \end{cases} \tag{26}$$

where *n* represents *n* with the actuation limit and *f*(*n*) is a limiting function that considers the limit of *n* and *n*˙ as well as the sign of *n*. Note that in Equation (26), the sign condition *n* ≥ 0 is included because only the forward thrusting force is available. In the case of the controllers using the TDE, handling the actuation limit to prevent the wind-up phenomenon is as straightforward as incorporating a limit block to ensure that the calculated control input for the TDE matches the actual value of the actuation applied to the vehicle [44]. Figure 5 shows the limiter block for handling the actuation limit of the thrusting force, while Figure 6 shows the structure of the limiter block, which is explained by Equation (26). In the case of the rudder fins and stern fins, one can handle the actuation limit in similar ways to the case of the thrusting force. The only differences are that (1) the actuation forces are linear with the fin motions [23] and (2) both positive and negative forces are available. By simply removing the condition *n* ≥ 0 in Equation (26) and eliminating the blocks of sqrt() and square() in Figures 5 and 6, the same limiting algorithm can be applied to the rudder fins and the stern fins.

**Figure 5.** TDE feedback block for *hu* of the controller. *Sgn*(•) denotes a signum function, and *Sqrt*(•) <sup>≡</sup> å. The 'Limiter' block is included to prevent the wind-up phenomenon due to the actuation limit [44]. The '*Sgn*(•)*Sqrt*(|•|)' block is for compensating for the actuation dynamics in Equation (25).

**Figure 6.** Limiter block of the thrusting force *τu*: The thruster has actuation limits on the rotation speed and acceleration. Therefore, before checking the limitation, the '*Sgn*(•)*Sqrt*(|•|)' block is included to convert the control force *τ<sup>u</sup>* into the rotation speed according to Equation (25).

#### **4. Experimental Study**

The tracking performance of the proposed controller was experimentally verified using the AUV platform depicted in Figure 2. The experiments were performed in the seawater at a port located in the South Sea of Korea. For the experiment, the control gains were set as follows. The inertial gains were set to *mu* = 3000, *mq* = 0.7, *mr* = 1.0, *α<sup>u</sup>* = 1.0, *αψ* = 1.5, *αθ* = 1.5, and *α<sup>r</sup>* = 1.5 by tuning, and the feedback gains *Kx* = 1.0, *Ku* = 2.0, *Ky* = 0.216, *K<sup>ψ</sup>* = 1.08, *Kr* = 1.8, *Kz* = 0.125, *K<sup>θ</sup>* = 0.75, and *Kq* = 1.5 were selected for the desired error dynamics having poles at *pdx* = −1.0 (double poles), *pdy* = −0.6 (triple poles), and *pdz* = −0.5 (triple poles). In this case, the characteristic equations in Equations (23a)–(23c) had poles at *pcx* = −1.0 (double poles), *pcy* = −0.502, −0.649 ± 0.740*i*, and *pcz* = −0.897, −0.302 ± 0.344*i*, which were placed in the LHP. Regarding the noise-handling algorithm in Figure 4, the window size for the average filter was set at *<sup>N</sup>* <sup>=</sup> 128, and the *<sup>β</sup>* values for <sup>5</sup>*hu*, <sup>5</sup>*hq*, and <sup>5</sup>*hr* in Equation (18) were *β<sup>u</sup>* = 0.7, *β<sup>q</sup>* = 0.5, and *β<sup>r</sup>* = 0.9, respectively.

#### *4.1. Experimental Verification of the Noise-Handling Issue*

In this subsection, the noise handling method described in Section 3.1 is experimentally verified. The experiments were conducted on the surface of the sea, with actuations in the XY plane. The thrusters and rudder fins were activated, while the stern fins were deactivated. The tracking performances were compared between the case where the noise-handling algorithm was not applied and the case where the algorithm was applied. A trajectory involving linear motion was used, as shown in Figure 7. The experimental results are presented in Figures 7–12. Figures 7–9 show the responses for the case without the noise-handling algorithm, while Figures 10–12 show the responses when the algorithm was applied. When comparing Figures 7 and 10, it may be difficult to recognize a significant difference in performance between the two cases. Aside from the initial errors in Figure 10, the error bounds appear to be similar in both cases. However, when comparing Figures 9 and 12, it is evident that the noise-handling algorithm was effective. In the case without the algorithm (Figure 9), the control input (rudder angle) switched frequently, resulting in erratic responses in *r*, *ψ*, and *Dy*. This behavior was due to the TDE in Equation (18), which included the first-order derivative of the velocity state and amplified the noise present in the state measurement. In contrast, when the noise-handling algorithm was applied (Figure 12), the control input (rudder angle) reacted smoothly to tracking errors, leading to smooth convergence in the velocity and position responses. From Figures 8 and 11, it can be observed that the chatterings in the forward direction responses were alleviated when the noise-handling algorithm was adopted.

**Figure 7.** XY plot of the responses when noise-handling algorithm was not applied. The responses exhibited chattering behaviors due to the influence of measurement noise on the TDE.

**Figure 8.** Forward direction responses when noise-handling algorithm was not applied. The responses were stable; however, there was some minor chattering in the control input.

**Figure 9.** Lateral direction responses when noise-handling algorithm was not applied. The control input switched frequently, leading to chattering responses in *r*, *ψ*, and *Dy*.

**Figure 10.** XY plot of the responses when noise-handling algorithm in Figure 4 was applied. The responses smoothly converged to the desired trajectories even in the presence of an initial angular error.

**Figure 12.** Lateral direction responses when noise-handling algorithm in Figure 4 was applied. The responses exhibited smoother convergence compared with the responses shown in Figure 9.

#### *4.2. Experimental Verification of Tracking Performance in 3D Space Motion*

The trajectory tracking performance of the proposed controller in 3D space motion was verified experimentally. As shown in Figure 13, the desired trajectory, drawing the shape of the number eight, was applied. The experimental results are presented in Figures 13–17. Figures 13 and 14 show the tracking responses in the world coordinate {*W*}, demonstrating that the controlled system had stable responses and followed the desired trajectory with bounded errors. The root mean square (RMS) errors in Table 1 indicate that the tracking performances were accurate enough to perform surveying missions requiring tracking errors of less than one meter. It can be observed from Table 1 that the RMS error in the vertical direction was slightly larger than those in the other directions due to buoyancy acting as a disturbance in the vertical direction. Figures 15–17 show the responses and control inputs for each direction. Note that in Figure 17, the response of *θ* exhibited a large tracking error induced by the controller to reduce the tracking error of *z*. In Figure 15, it can be observed that the tracking error of *Dx* bounced around at times *t* = 66 s, 87 s, and 141 s, which was caused by irregular DVL signals resulting from stiff changes in the seabed.

**Figure 13.** XYZ plot of the tracking responses.

**Figure 14.** The time responses of the positions in a Cartesian space.

**Figure 15.** The responses and actuation in the forward direction. *Dx* converged to zero because, as explained in Equation (8), the desired trajectory expressed in the desired trajectory coordinate {*D*} was zero. The responses of *Dx* and *u* followed their desired trajectories smoothly, demonstrating the effectiveness of the noise filtering depicted in Figure 4. That aside, the tracking response of *Dx* bounced around at times *t* = 66 s, 87 s, and 141 s, which was caused by irregular DVL signals resulting from stiff changes in the seabed.


**Figure 16.** The responses and actuation in the lateral direction. The responses of *Dy*, *ψ*, and *r* followed their desired trajectories smoothly, demonstrating the effectiveness of the noise filtering depicted in Figure 4. The responses did not exhibit any significant chattering, in contrast to the responses in Figure 9, which represents the case without noise filtering.

**Figure 17.** The responses and actuation in the vertical direction. The responses of *z*, *θ*, and *q* followed their desired trajectories smoothly. The response of *z* showed a steady state error because the buoyancy acted as disturbances in the vertical direction. The error of *θ* induced a reduction in the error of *z*, corresponding to the desired error dynamics in (14). The responses having nonzero errors were matched with the error dynamics analysis in Equations (22a–22c), which explains that the proposed controller may not converge to zero if there are non-zero disturbances on the vehicle dynamics.

#### **5. Conclusions**

In this paper, we proposed a trajectory tracking controller for AUVs in 3D space motion, along with experimental verification on the sea. The main concept of the proposed controller is to design the desired error dynamics that combine the state variables in the body-fixed coordinate and the world coordinate (i.e., the desired trajectory coordinate) to address the underactuated nature of the vehicle. The TDE, an indirect estimation method utilizing control inputs and vehicle outputs, was employed to estimate the nonlinear dynamics and disturbances of the vehicle. Consequently, the proposed controller is relatively easy to implement as it does not require the entire dynamic model of the vehicle. In terms of experimental implementation, the controller is relatively easy to stabilize since it only requires the first derivatives of the states and the states themselves, thereby potentially mitigating noise amplification arising from differentiation. Practical issues related to implementation in experimental environments were also addressed. A noise-filtering algorithm for the TDE was developed, and compensation methods for the mechanical limitations and nonlinear dynamics of the actuators were devised. The performance of the proposed controller was validated through experiments in seawater. The experimental results demonstrate the effectiveness of the noise-filtering algorithm in stabilizing the control performance. Through trajectory tracking control experiments in 3D space motion, it was verified that the proposed controller achieves accurate tracking performance, rendering it suitable for survey missions requiring precise tracking performance with errors of less than one meter.

**Author Contributions:** Conceptualization, G.R.C. and J.-H.L.; methodology, G.R.C.; software, G.R.C. and H.K. (Hyungjoo Kang); validation, G.R.C., H.K. (Hyungjoo Kang), M.-G.K., M.-J.L., H.K. (Hosung Kim), H.L. and G.L.; formal analysis, G.R.C.; investigation, G.R.C.; resources, J.-H.L.; data curation, G.R.C.; writing—original draft preparation, G.R.C.; writing—review and editing, G.R.C.; visualization, G.R.C.; supervision, G.R.C.; project administration, G.R.C.; funding acquisition, G.R.C. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was supported by the Korea Institute of Marine Science & Technology Promotion (KIMST) and funded by the Ministry of Oceans and Fisheries of Korea (20220567, Development of standard manufacturing technology for marine leisure vessels and safety support robots for underwater leisure activities).

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Data are contained within the article.

**Conflicts of Interest:** The authors declare no conflict of interest.

### **Abbreviations**

The following abbreviations are used in this manuscript:

