1 Introduction

During the last few decades, significant research works have been directed on control of AUVs owing to their interesting applications. The applications of AUV involve underwater surveillance and explosive device detection, oil and natural gas explorations, and other oceanographic applications that created an enormous impact on researchers to explore control strategies on AUVs. Challenges associated with the development of control strategies include parameter uncertainty, environmental disturbances (such as temperature and density of surrounding liquid), effect of ocean current, and wave disturbances which greatly influence the dynamics of AUV. Hence, these exhibit a significant challenge for control engineers to design appropriate control algorithms.

The recent research works that focus on control and guidance problems [1] associated with AUVs are path following [2], trajectory tracking [3], and way-point tracking [4, 5]. Many control strategies have reported in [6] employing linear and nonlinear control mechanisms. However, the problems associated with linear control schemes are the linearization of the nonlinear plant and bounded assumptions which limit the controller performance. Hence, in the recent years, many nonlinear control strategies were developed to handle the aforementioned problems so as to achieve the desired performances. In [7], nonlinear gain scheduling technique has been adopted by considering a set of linear finite static output feedback (SOF) controllers. Moreover, this is designed using linear matrix inequality (LMI) based technique with a constant forward speed for horizontal plane. In [8], a 3D path planning fuzzy logic control algorithm is designed using spline-imperialist competitive algorithm for unmanned underwater vehicle (UUV) in the presence of obstacle-rich environment. Some of the successfully implemented nonlinear control strategies are backstepping control, sliding mode control (SMC), and nonlinear model-based control. In [9], backstepping and Lyapunov direct method for path following in the presence of environmental disturbances (such as wave, wind, and ocean current) described for underactuated vehicles in steering plane. A robust nonlinear adaptive control algorithm [10] along with backstepping and Lyapunov-based techniques were proposed to drive the AUV in the horizontal plane for a desired path at a constant longitudinal speed. A nonlinear SMC control law [11] was proposed for the trajectory tracking of marine vessels with good tracking capability and global stability. Some of the recent works reported in research articles [12, 13] have developed robust control algorithms using feedback linearization and SMC control techniques for an UUV equipped with water jet propulsion technique. The experimental study shows a significant performance toward path tracking problem. However, the works reported in the existing literature using nonlinear control techniques were focused less attention toward the robustness and internal stability along with disturbance rejection. Hence, a nonlinear control algorithm has been developed using nonlinear \(\mathscr {H}_{\infty }\) control [14] considering robustness, internal stability as well as disturbance attenuation.

The development of \(\mathscr {H}_{\infty }\) control has proved to become a powerful robust control strategy for highly nonlinear systems using frequency domain optimization methods. The popularity of \(\mathscr {H}_{\infty }\) control increased when Doyle–Glover–Khargonekar–Francis (DGKF) [15] repo- rted state-space formulations of different \(\mathscr {H}_{\infty }\) control problems developed by several authors. In view of this, the development of nonlinear \(\mathscr {H}_{\infty }\) control was initiated in early 1990s by Ball-Helton [16], Isidori–Astolfi [17, 18], and Van der Schaft [19]. The improved features such as internal stability and robustness in the presence of external disturbances have proved this to become more popular over linear \(\mathscr {H}_{\infty }\) control. In [19], a time domain translation of \(\mathscr {H}_{\infty }\) norm commonly known as \(\mathscr {L}_{2}\)-gain was optimized to obtain the nonlinear control law using the dissipativity theory [20]. The control problem is obtained by solving the Hamilton–Jacobi inequality. The literature also suggests that if a \(\mathscr {H}_{\infty }\) control problem solved for the linear system, then locally one can yield a solution to the nonlinear \(\mathscr {H}_{\infty }\) control problem. In [17] and [18], solutions for the problems of disturbance attenuation with internal stability through measurement feedback were explored for affine nonlinear systems. In these, the Hamiltonian systems are associated with the two Hamilton–Jacobi–Isaacs (HJI) equations arising in the state feedback and output feedback design problems. Some important applications of nonlinear \(\mathscr {H}_{\infty }\) control on rigid body motion, flexible link manipulators, and other benchmark problems presented in [21,22,23,24]. Apart from the Hamiltonian approach, nonlinear matrix inequality (NLMI) approach [25] in the presence of model uncertainty was used to solve nonlinear \(\mathscr {H}_{\infty }\) control problem. A sum-of-square (SOS) approach was illustrated in [26] to obtain solutions for nonlinear \(\mathscr {H}_{\infty }\) control problems.

In view of achieving robust yaw control performance of an AUV, we focus on exploiting the \(\mathscr {H}_{\infty }\) control technique in the nonlinear framework. The control technique also guarantees satisfactory performances in tracking, disturbance rejection, internal stability, and robustness. Here, a 2-dimensional path following control is also reported using the robust nonlinear control technique in steering plane. The non linearity of the system increase by the effect of hydrodynamic parameters of AUV which is caused due to the attachment of additional sensors and actuators. Thus, an NHSF control algorithm is used to control the AUV. It is very well known that nature inspired metaheuristic algorithms are more efficient to optimize the objective function which was described in articles [27] and [28]. However, this research work utilizes a energy dissipative theory which is discussed in the subsequent section in order to obtain a static control law for the AUV to steer in the horizontal plane. Here, the nonlinear dynamics are transformed into an infinite sum of Taylor series (up to second order) so as to obtain a simplified form for designing the controller. If the order of the system is increased, subsequently robustness and internal stability will also improve. However, the system becomes computationally expensive. The reasons for using the NHSF control scheme are due to the features of attaining a strong internal stability and robustness, which has not been typically addressed by many control strategies. Furthermore, the closed-loop system is subjected to both Gaussian and non-Gaussian noises in order to verify the effectiveness of the nonlinear control algorithm. Research articles [29,30,31,32] have explored to identify different time-series models for a system in the presence of non-Gaussian noises which generally encountered in real time. The problem associated with \(\mathscr {H}_{\infty }\) control design is the selection of weighting functions for the penalty variable that may include control variables, states, and errors. In general, static and dynamic weighting functions used for the penalty variables. The static weighing functions [33] involve constant values. However, the dynamic weighting functions exploited in [34] contain static weights, frequency weighting functions such as filters and nonlinear weighting functions.

Fig. 1
figure 1

General AUV Structure with reference frames

Fig. 2
figure 2

Steering Motion

Table 1 Notations used for AUV in steering plane

In general, the dynamics of AUV involves 6-DOF nonlinear equations of motions with coupled and nonlinear terms including hydrodynamic damping, added mass along with environmental disturbances. Figure 1 displays the schematic diagram of an AUV in NED frame. The states involved in steering motion are shown in Fig. 2 which are used to formulate a nonlinear model. The modeling techniques for different AUVs such as flat-fish AUV and torpedo-shaped AUV proposed in [35, 36]. The detailed mathematical modeling of AUV explored in [1]. The model of the AUV is being simplified into a nonlinear state- space model for the designing of control law.

Hence, the contributions of this paper are the development of an NHSF control law for the AUV. As per the knowledge of the author, this control algorithm is used newly in the field of AUV which can be widely used on a disturbance affected environment. In view of this, the performance of the control algorithm is verified using Gaussian and non-Gaussian noises. A novel technique is used to design the control law using Taylor series expansion approach. Nevertheless, the AUV dynamics has been transformed into a Taylor series form to get a second-order NHSF controller. Consequently, the frequency response analysis of the closed-loop system is studied to meet the desired performance specifications. Simultaneously, a path following control has been implemented using NHSF control for tracking of different paths in steering plane. The developed path following control algorithms using NHSF controller is compared with an adaptive fuzzy PID (AFPID) controller [37] to ensure the efficaciousness of the developed algorithm through mean square error (MSE) analysis. Apart from that, a 3-dimensional (3D) path tracking using both NHSF and AFPID control algorithm is studied. The performance of attenuation level of the disturbances has been addressed during the sudden changes in the desired yaw angles which emphasize more on internal stability and robustness of the system.

The organization of this paper is as follows: Sect. 2 describes the modeling of AUV in steering plane. The formulation of the kinematic model in terms of Serret–Frenet (S–F) frame is also highlighted. The development of control strategy is presented in Sect. 3. In Sect. 4, the control algorithm is analyzed numerically. Also, a path following control strategy has been designed to track a circular path in the horizontal plane. The efficacies of the control strategies have been illustrated in Sect. 5. At last, Sect. 6 presents concluding remarks withdrawn from the work addressed in the paper.

2 Problem formulation

This section illustrates the dynamics and kinematics of an AUV in steering plane. The notations for steering dynamics are reported in Table 1. Apart from that, a kinematic model of an AUV is formulated in terms of S–F frame for path following task. The kinematic models in the S–F frame are described in detail in [38, 39]. The modeling of the AUV is considered under the following assumptions

Assumption 1

The surge velocity is kept constant during the synthesis of the control algorithm.

Limitation 1

During trajectory tracking, assumption 1 is not desirable because of the time dependency while tracking the desired path within a certain time bound. This forces the AUV to regulate the forward speed to reach the desired profile.

Remark 1

In this work, a path following problem is considered which is not time restrictive, hence Limitation 1 will not effect during the tracking of the desired path. However, a separate control algorithm can be implemented to regulate the forward speed of the AUV.

Assumption 2

The roll motion of the AUV is neglected.

Limitation 2

Some 3D motions require an interaction between roll dynamics with both diving and heading motion where assumption 2 is not desirable.

Remark 2

Here, a flat-fish type of AUV is considered for path following control where the effect of roll motion is not significant. However, a separate control algorithm for roll stabilization can be considered.

2.1 AUV modeling: steering plane

The AUV dynamics in the horizontal plane is considered by neglecting the roll motion which involves the surge, sway, and yaw motion. It is defined as follows [36]: Surge motion:

$$\begin{aligned} m{{\dot{u}}_\mathrm{s}}= & {} {{C}_{{{X}_{uu}}}}u_\mathrm{s}^{2}+{{C}_{{{X}_{vv}}}}v_\mathrm{s}^{2}+{{C}_{{{X}_{rr}}}}r_\mathrm{s}^{2} +u_\mathrm{s}^{2}{{C}_{{{X}_{{{\delta }_\mathrm{r}}{{\delta }_\mathrm{r}}}}}}\delta _\mathrm{r}^{2}\nonumber \\&+\,{{C}_{{{X}_{{\dot{u}}}}}}{{\dot{u}}_\mathrm{s}}+{{T}_\mathrm{s}}, \end{aligned}$$
(1)
$$\begin{aligned} {{\dot{x}}_\mathrm{s}}= & {} {{u}_\mathrm{s}}\cos ({{\psi }_\mathrm{s}})-{{v}_\mathrm{s}}\sin ({{\psi }_\mathrm{s}}), \end{aligned}$$
(2)

Sway motion:

$$\begin{aligned} m({{\dot{v}}_\mathrm{s}}+{{u}_\mathrm{s}}{{r}_\mathrm{s}})= & {} {{C}_{{{Y}_{\delta \mathrm{r}}}}}u_\mathrm{s}^{2}{{\delta }_\mathrm{r}} +{{C}_{{{Y}_{{r}\left| r \right| }}}}{{r}_\mathrm{s}}\left| {{r}_\mathrm{s}} \right| +{{C}_{{{Y}_{v\left| v \right| }}}}{{v}_\mathrm{s}}\left| {{v}_\mathrm{s}} \right| \nonumber \\&+\,{{C}_{{{Y}_\mathrm{r}}}}{{u}_\mathrm{s}}{{r}_\mathrm{s}}+{{C}_{{{Y}_{v}}}}{\mathrm{u}_\mathrm{s}}{{v}_\mathrm{s}} +\,{{C}_{{{Y}_{{\dot{v}}}}}}{{\dot{v}}_\mathrm{s}}, \end{aligned}$$
(3)
$$\begin{aligned} {{\dot{y}}_\mathrm{s}}= & {} -{{u}_\mathrm{s}}\sin ({{\psi }_\mathrm{s}})+{{v}_\mathrm{s}}\cos ({{\psi }_\mathrm{s}}), \end{aligned}$$
(4)

Yaw motion:

$$\begin{aligned} {{I}_{z}}{{\dot{r}}_\mathrm{s}}= & {} {{C}_{{{N}_{v}}}}{\mathrm{u}_\mathrm{s}}{{v}_\mathrm{s}}+{{C}_{{{N}_\mathrm{r}}}}{{u}_\mathrm{s}}{{r}_\mathrm{s}} +{{C}_{{{N}_{r\left| r \right| }}}}{{r}_\mathrm{s}}\left| {{r}_\mathrm{s}} \right| \nonumber \\&+\,{{C}_{{{N}_{v\left| v \right| }}}}{{v}_\mathrm{s}}\left| {{v}_\mathrm{s}} \right| +{{C}_{{{N}_{{\dot{r}}}}}}{{\dot{r}}_\mathrm{s}} +{{C}_{{{N}_{\delta \mathrm{r}}}}}u_\mathrm{s}^{2}{{\delta }_\mathrm{r}}, \end{aligned}$$
(5)
$$\begin{aligned} {{\dot{\psi }}_\mathrm{s}}= & {} {{r}_\mathrm{s}}, \end{aligned}$$
(6)

where \(C_{(\star )}\) are the simplified model coefficients as reported in [36]. To develop a control law, the nominal forward speed is assumed to be constant, i.e., \(u_\mathrm{s}=u_0\). Hence, we can neglect the surge motion in body frame. If the controller is designed to track yaw angle, then the linear velocities in x- and y-direction in earth-fixed frame can also be neglected to obtain a simplified model for controller design.

Define a state vector \(x_{\mathrm{s},i}(t)\) and disturbance vector \(w_{\mathrm{s},i}(t)\) as

$$\begin{aligned} {{x}_{\mathrm{s},i}}(t)= & {} {{[{{v}_\mathrm{s}},{{r}_\mathrm{s}}, {{\psi }_\mathrm{s}}]}^{T}}={{[{{x}_{s,1}},{{x}_{s,2}},{{x}_{s,3}}]}^{T}}\\ {{w}_{\mathrm{s},i}}(t)= & {} {{\left[ {{w}_{\mathrm{s},1}}(t), {{w}_\mathrm{s,2}}(t) \right] }^{T}}, \end{aligned}$$

where \(w_\mathrm{s,1}(t)\) is the disturbance associated with the AUV dynamics and \(w_\mathrm{s,2}(t)\) is the measurement noise.

Hence, the nonlinear state-space model of AUV in the horizontal plane is given by

$$\begin{aligned} {{\dot{x}}_{\mathrm{s},i}}(t)={{f}_\mathrm{s}}(x_{\mathrm{s},i})+{{g}_{{\mathrm{s}_{1}}}}(x_{\mathrm{s},i}){{w}_{\mathrm{s},i}}(t) +{{g}_{{\mathrm{s}_{2}}}}(x_{\mathrm{s},i}){u_{\mathrm{s},i}(t)} \end{aligned}$$
(7)

where

$$\begin{aligned} {{f}_{\mathrm{s},i}}(x_{\mathrm{s},i})= & {} \,{{\left[ \begin{matrix} {{f}_{{\mathrm{s}_{1}}}}(x_{\mathrm{s},i}), &{} {{f}_{{\mathrm{s}_{2}}}}(x_{\mathrm{s},i}), &{} {{f}_{{\mathrm{s}_{3}}}}(x_{\mathrm{s},i})\\ \end{matrix} \right] }^{T}},\\ {{f}_{{\mathrm{s}_{1}}}}(x_{\mathrm{s},i})= & {} {{C}_{v}}[{{C}_{{{Y}_\mathrm{r}}}}{{u}_\mathrm{s}}{{x}_{\mathrm{s},2}}+{{C}_{{{Y}_{v}}}}{{u}_\mathrm{s}}{{x}_{\mathrm{s},1}}\\&+\,{{C}_{{{Y}_{r\left| r \right| }}}}{{x}_{\mathrm{s},2}}\left| {{x}_{\mathrm{s},2}} \right| +{{C}_{{{Y}_{v\left| v \right| }}}}{{x}_{\mathrm{s},1}}\left| {{x}_{\mathrm{s},1}} \right| ],\\ {{f}_{{\mathrm{s}_{2}}}}(x_{\mathrm{s},i})= & {} {{C}_\mathrm{r}}[{{C}_{{{N}_{v}}}}{{u}_\mathrm{s}}{{x}_{\mathrm{s},1}}+{{C}_{{{N}_\mathrm{r}}}}{{u}_\mathrm{s}}{{x}_{\mathrm{s},2}}\\&+\,{{C}_{{{N}_{r\left| r \right| }}}}{{x}_{\mathrm{s},2}}\left| {{x}_{\mathrm{s},2}} \right| +{{C}_{{{N}_{v\left| v \right| }}}}{{x}_{\mathrm{s},1}}\left| {{x}_{\mathrm{s},1}} \right| ],\\ {{f}_{{\mathrm{s}_{3}}}}(x_{\mathrm{s},i})= & {} {{x}_{\mathrm{s},2}},\\ {{g}_{{\mathrm{s}_{1}}}}(x_{\mathrm{s},i})= & {} \left[ \begin{matrix} {{C}_{v}}{{C}_{\mathrm{s}1}} &{} 0 \\ {{C}_\mathrm{r}}{{C}_{\mathrm{s}2}} &{} 0 \\ 0 &{} 0 \\ \end{matrix} \right] , {{g}_{{\mathrm{s}_{2}}}}(x_{\mathrm{s},i})=\left[ \begin{matrix} {{C}_{v}}u_\mathrm{s}^{2}{{C}_{{{Y}_{{{\delta }_\mathrm{r}}}}}} \\ {{C}_\mathrm{r}}u_\mathrm{s}^{2}{{C}_{{{N}_{{{\delta }_\mathrm{r}}}}}} \\ 0 \\ \end{matrix} \right] ,\\ u_{\mathrm{s},i}(t)= & {} {{\delta }_\mathrm{r}},{{C}_{v}}{=}{{(m-{{C}_{{{Y}_{{\dot{v}}}}}})}^{-1}},{{C}_\mathrm{r}}{=}{{({{I}_{z}} -{{C}_{{{N}_{{\dot{r}}}}}})}^{-1}}, \end{aligned}$$

where \(C_{\mathrm{s}1}\) and \(C_{\mathrm{s}2}\) are the coefficients of internal disturbances involved in sway and yaw dynamics, respectively.

The corresponding penalty vector can be represented as

$$\begin{aligned} {{p}_{\mathrm{s},i}}(t)={{H}_{\mathrm{s},1}}{{x}_{\mathrm{s},i}}(t)+{{L}_{\mathrm{s},12}}u_{\mathrm{s},i}(t) \end{aligned}$$
(8)

where

$$\begin{aligned} {{H}_{\mathrm{s},1}}=\left[ \begin{matrix} {{W}_{\mathrm{s}1}} &{} 0 &{} 0 \\ 0 &{} {{W}_{\mathrm{s}2}} &{} 0 \\ 0 &{} 0 &{} {{W}_{\mathrm{s}3}} \\ 0 &{} 0 &{} 0 \\ \end{matrix} \right] ,{{L}_{s,12}}=\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ {{W}_{\mathrm{s},u}} \\ \end{matrix} \right] \end{aligned}$$

and the corresponding measurement vector is given by

$$\begin{aligned} {{y}_{\mathrm{s},i}}(t)={{H}_{\mathrm{s},2}}{{x}_{\mathrm{s},i}}(t)+{{L}_{\mathrm{s},21}}{{w}_{\mathrm{s},i}}(t) \end{aligned}$$
(9)

where

$$\begin{aligned} {{H}_{\mathrm{s},2}}=\left[ \begin{matrix} 0 &{} 0 &{} 1 \\ \end{matrix} \right] ,{{L}_{\mathrm{s},21}}=\left[ \begin{matrix} 0 &{} {{C}_{\mathrm{s}3}} \\ \end{matrix} \right] \end{aligned}$$

and \(C_{\mathrm{s}3}\) is the coefficient of sensor noise in yaw angle measurement. The penalty variable \(p_{\mathrm{s},i}(t)\) is weighted by the static weighting functions \(W_{\mathrm{s}1}, W_{\mathrm{s}2}, W_{\mathrm{s}3}\), and \(W_{\mathrm{s},u}\) which is associated with state variables \(x_{\mathrm{s},1}, x_{\mathrm{s},2}\), \(x_{\mathrm{s},3}\) and control input \(u_{\mathrm{s},i}(t)\), respectively.

Fig. 3
figure 3

Description of S–F frame in steering plane

2.2 Path kinematics: Serret–Frenet frame

The objective of the path following control of an AUV is to converge it to a specified path without any time constraint. This leads to the notion of designing a kinematic model for the AUV in terms of S–F frame which travels along a circular path in the horizontal plane as shown in Fig. 3. As the kinematic model of AUV in steering plane is 3-DOF structure, thus the differential kinematic model [39] in terms of S–F frame can be obtained as follows:

$$\begin{aligned} \left[ \begin{matrix} {{{\dot{x}}}_\mathrm{b/r}} \\ {{{\dot{y}}}_\mathrm{b/r}} \\ \end{matrix} \right]= & {} \left[ \begin{matrix} \cos ({{\psi }_\mathrm{rb}}) &{} -\sin ({{\psi }_\mathrm{rb}}) \\ \sin ({{\psi }_\mathrm{rb}}) &{} \cos ({{\psi }_\mathrm{rb}}) \\ \end{matrix} \right] \left[ \begin{matrix} {{u}_\mathrm{s}} \\ {{v}_\mathrm{s}} \\ \end{matrix} \right] -\left[ \begin{matrix} {{{\dot{s}}}_\mathrm{r}} \\ 0 \\ \end{matrix} \right] \nonumber \\&-{{\dot{s}}_\mathrm{r}}\left[ \begin{matrix} 0 &{} -{{p}_{c}}({{s}_\mathrm{r}}) \\ {{p}_{c}}({{s}_\mathrm{r}}) &{} 0 \\ \end{matrix} \right] \left[ \begin{matrix} {{x}_\mathrm{b/r}} \\ {{y}_\mathrm{b/r}} \\ \end{matrix} \right] \end{aligned}$$
(10)

where \(\psi _{rb}=\psi _s-\psi _\mathrm{r}\), is the steering angle of the body relative to the steering angle of S–F frame, \({p}_{c}({{s}_\mathrm{r}})\) is the path curvature along the circular path, and \([{x}_{b/r}, {y}_{b/r}]^T\) is the error space vector between the body and S–F frame along x- and y-axes.

2.3 Problem statement

Let the AUV model in steering plane be transformed into the standard generalized structure of nonlinear systems (7). With a constant longitudinal speed, the objective is to derive the AUV using NHSF control law for different desired yaw angles. As a consequence, the control law needs to be developed such that a strong internal stability is achieved while attenuating the disturbances. The kinematic model in terms of S–F frame is formulated to achieve the nonlinear path following control in steering plane.

3 Development of control algorithm

We first present the preliminaries used for the development of the nonlinear control algorithm. An HJI inequality is formulated to find out a solution for the \(\mathscr {H}_{\infty }\) control problem. Subsequently, the inequality is transformed into an infinite sum of Taylor series expansion to find out a higher-order nonlinear control law. The nonlinear \(\mathscr {H}_{\infty }\) state feedback controller structure for steering plane is shown in Fig. 4.

Fig. 4
figure 4

Nonlinear \(\mathscr {H}_{\infty }\) state feedback controller configuration for steering plane

3.1 HJI inequality formulation

The generalized structure of the nonlinear state-space system is described as follows:

$$\begin{aligned} \dot{x}= & {} f(x)+{{g}_{1}}(x)w+{{g}_{2}}(x)u \end{aligned}$$
(11)
$$\begin{aligned} p= & {} {{h}_{1}}(x)+{{l}_{11}}(x)w+{{l}_{12}}(x)u \end{aligned}$$
(12)
$$\begin{aligned} y= & {} {{h}_{2}}(x)+{{l}_{21}}(x)w \end{aligned}$$
(13)

where \(x\in {{\mathfrak {R}}^{n\times 1}}\) is the state vector, \(u\in {{\mathfrak {R}}^{m\times 1}}\) is the control input, \(w\in {{\mathfrak {R}}^{r\times 1}}\) is the exogenous input which involves perturbations (which are to be rejected) and/or desired references (which are to be tracked), \(p\in {{\mathfrak {R}}^{s\times 1}}\) is the penalty variable and \(y\in {{\mathfrak {R}}^{p\times 1}}\) is the measured variables. The mappings f(x), \(g_1(x)\), \(g_2(x)\), \(h_1(x)\), \(h_2(x)\), \(l_{11}(x)\), \(l_{12}(x)\), and \(l_{21}(x)\) are smooth mappings of class \(C^i\), i should be as large as possible defined in a neighborhood of the origin in \({\mathfrak {R}}^{n}\). The assumptions that are to be considered are followed as \(f(0) = 0,\quad h_1(0) = 0\),   and \(h_2(0) = 0\).

The objective here is to find out a state feedback controller that satisfies the \(\mathscr {L}_2\)-gain inequality. In \(\mathscr {L}_2\)-gain analysis, the energy of the penalty vector p is kept bounded and smaller than the energy of the disturbance input w and is represented as

$$\begin{aligned} \int \limits _{0}^{T}{{{\left\| p(t)\right\| }^{2}}}\mathrm{d}t\le {{\gamma }^{2}}\int \limits _{0}^{T}{{{\left\| w(t) \right\| }^{2}}}\mathrm{d}t,\quad 0<\gamma \le 1 \end{aligned}$$
(14)

The energy of the penalty vector p is bounded that adopts the concept of dissipativity and storage function. With a real number \(0<\gamma \le 1\), the system is said to be \(\gamma \)-dissipative if there exists a nonnegative energy storage function \(\zeta (x)\) with \(\zeta (x(0)) = 0\), such that for all w and T, it satisfies the HJI inequality as follows

$$\begin{aligned} {{\zeta }_{x}}{{(x)}^{T}}\dot{x}+{{p}^{T}}p-{{\gamma }^{2}}{{w}^{T}}w\le 0 \end{aligned}$$
(15)

where \({{\zeta }_{x}}{{(x)}^{T}}=\partial \zeta (x(t))/\partial x(t)\).

Hence, we can solve the \(\mathscr {L}_2\)-performance criterion design problem by constructing a positive semidefinite storage function \({\zeta }(x)\) that satisfies (15). The left side of (15) is called Hamiltonian function and is expressed with \(\varGamma _\star [x, {{\zeta }_{x}}(x), w, u]\). The controller is intended to achieve closed-loop stability and to attenuate the influence of the exogenous input w on the penalty variable p with internal stability.

3.2 Nonlinear state feedback \(\mathscr {H}_{\infty }\) controller

The nonlinear \(\mathscr {H}_{\infty }\) controller is designed by solving the HJI inequality (15). The purpose of this analytical derivation is to find out a saddle point (\(w_\uparrow \), \(u_\downarrow \)) in the Hamiltonian function such that

$$\begin{aligned} \varGamma _\star [x,{{\zeta }_{x}}(x),w,{{u}_{\downarrow }}]\le & {} \varGamma _\star [x,{{\zeta }_{x}}(x),{{w}_{\uparrow }}, {{u}_{\downarrow }}]\nonumber \\\le & {} \varGamma _\star [x,{{\zeta }_{x}}(x),{{w}_{\uparrow }},u] \end{aligned}$$
(16)

where \(w_\uparrow \) is the worst-case disturbance that will maximize \(\varGamma _\star [\sim ]\) and \(u_\downarrow \) is the control law which will minimize \(\varGamma _\star [\sim ]\). The symbol \(\uparrow \) indicates maximization of \(\varGamma _\star [\sim ]\) and \(\downarrow \) indicates minimization of \(\varGamma _\star [\sim ]\).

With the standard assumptions described in DGKF [15] such that

$$\begin{aligned}&{{l}_{11}}(x)=0, l_{12}^{T}(x) {{l}_{12}}(x)={\chi }\,(\text {a constant})\\&h_{1}^{T}(x){{l}_{12}}(x)=0, \end{aligned}$$

the solutions for control variable and worst-case disturbance could be obtained by taking partial derivative of Hamiltonian function \(\varGamma _\star [x,{{\zeta }_{x}}(x), {{w}_{\uparrow }},{{u}_{\downarrow }}]\), which are given as follows [18],

$$\begin{aligned} {{u}_{\downarrow }}= & {} {{u}_{\downarrow }}[x,{{\zeta }_{x}}(x)]=-\frac{1}{2}\chi ^{-1}{{g}_{2}}{{(x)}^{T}} {{\zeta }_{x}}(x)\end{aligned}$$
(17)
$$\begin{aligned} {{w}_{\uparrow }}= & {} {{w}_{\uparrow }}[x,{{\zeta }_{x}}(x)]=\frac{1}{2}{{\gamma }^{-2}}{{g}_{1}}{{(x)}^{T}} {{\zeta }_{x}}(x) \end{aligned}$$
(18)

The unknown storage function \({\zeta }(x)\) that satisfies the above saddle point condition can be found by substituting (\(w_\uparrow \), \(u_\downarrow \)) into the equation (15) results

$$\begin{aligned} \varGamma _\star [x,{{\zeta }_{x}}(x)]= & {} {{\zeta }_{x}}{{(x)}^{T}}f(x)-u_{\downarrow }^{T}{\chi } {{u}_{\downarrow }}+h_{1}^{T}(x){{h}_{1}}(x)\nonumber \\&+\,{{\gamma }^{2}}w_{\uparrow }^{T}{{w}_{\uparrow }}\le 0 \end{aligned}$$
(19)
Fig. 5
figure 5

Path following control structure using NHSF control

In view of obtaining the analytical solution of (19), we can transform this inequality into an infinite sum of Taylor series (formerly explained in [40]) with \(q^{th}\) power term.

$$\begin{aligned}&{{\zeta }_{x}}{{(x)}^{[2]T}}f{{(x)}^{[q]}}+\cdots +{{\zeta }_{x}}{{(x)}^{[q+1]T}}F{{x}^{[1]}}\nonumber \\&\quad -\,\left[ u_{\downarrow }^{[1]T}{\chi }u_{\downarrow }^{[q]}+\cdots +u_{\downarrow }^{[q]T}{\chi }u_{\downarrow }^{[1]} \right] +h_{1}^{T}(x){{h}_{1}}(x)\nonumber \\&\quad +\,{{\gamma }^{2}}\left[ w_{\uparrow }^{[1]T}w_{\uparrow }^{[q]}+\cdots +w_{\uparrow }^{[q]T}w_{\uparrow }^{[1]} \right] \le 0 \end{aligned}$$
(20)

where

$$\begin{aligned} u_{\downarrow }^{[q]}= & {} -\frac{1}{2}\chi ^{-1}[{{g}_{2}}{{(x)}^{[1]T}}{{\zeta }_{x}}{{(x)}^{[q+1]}}+\cdots \nonumber \\&+\,{{g}_{2}}{{(x)}^{[q]T}}{{\zeta }_{x}}{{(x)}^{[2]}}] \end{aligned}$$
(21a)
$$\begin{aligned} w_{\uparrow }^{[q]}= & {} \frac{1}{2}{{\gamma }^{-2}}[{{g}_{1}}{{(x)}^{[1]T}}{{\zeta }_{x}}{{(x)}^{[q+1]}}+\cdots \nonumber \\&+\,{{g}_{1}}{{(x)}^{[q]T}}{{\zeta }_{x}}{{(x)}^{[2]}}] \end{aligned}$$
(21b)
$$\begin{aligned} {\zeta }(x)= & {} {\zeta }{{(x)}^{[2]}}+{\zeta }{{(x)}^{[3]}}+\cdots +{\zeta }{{(x)}^{[q+1]}} \end{aligned}$$
(21c)

where {\(Fx^{[1]}\), \(g_1(x)^{[1]}\), \(g_2(x)^{[1]}\), \({\zeta }(x)^{[2]}\), \(w_\uparrow ^{[1]}\), \(u_\downarrow ^{[1]}\)}, {\(f(x)^{[2]}\), \(g_1(x)^{[2]}\), \(g_2(x)^{[2]}\), \({\zeta }(x)^{[3]}\), \(w_\uparrow ^{[2]}\), \(u_\downarrow ^{[2]}\)}, \(\ldots \) {\(f(x)^{[q]}\), \(g_1(x)^{[q]}\), \(g_2(x)^{[q]}\), \({\zeta }(x)^{[q+1]}\), \(w_\uparrow ^{[q]}\), \(u_\downarrow ^{[q]}\)} are the first, second , \(\ldots \) \(q^\mathrm{th}\) terms of Taylor series expansion of {f(x), \(g_1(x)\), \(g_2(x)\), \({\zeta }(x)\), \(w_\uparrow \), \(u_\downarrow \)}, respectively. The universal possessions of these power series offer a mechanism to construct higher-order controllers cumulatively which will lead to design a nonlinear controller. The algorithms for designing the first and second-order nonlinear \(\mathscr {H}_{\infty }\) controller are as follows

Algorithm 1

Second-order nonlinear \(\mathscr {H}_{\infty }\) controller

Step 1: :

Apply the Taylor series expansion of each term in the system (9) and consider up to second order.

Step 2: :

For designing a first-order controller, take \(q=1\), then the control input becomes \(u_\downarrow =u_{\downarrow }^{[1]}\) and worst-case disturbance becomes \(w_\uparrow =w_{\uparrow }^{[1]}\). The HJI inequality can be written as:

$$\begin{aligned}&{{\zeta }_{x}}{{(x)}^{[2]T}}F{{x}^{[1]}}-2u_{\downarrow }^{[1]T}{\chi }u_{\downarrow }^{[1]} +2{{\gamma }^{2}}w_{\uparrow }^{[1]T}w_{\uparrow }^{[1]}\nonumber \\&+\,{{h}_{1}}{{(x)}^{T}}{{h}_{1}}(x)\le 0 \end{aligned}$$
(22)

where

$$\begin{aligned}&u_{\downarrow }^{[1]} = -\frac{1}{2}\chi ^{-1}{{g}_{2}}{{(x)}^{[1]T}}{{\zeta }_{x}}{{(x)}^{[2]}}\end{aligned}$$
(23a)
$$\begin{aligned}&w_{\uparrow }^{[1]} = \frac{1}{2}{{\gamma }^{-2}}{{g}_{1}}{{(x)}^{[1]T}}{{\zeta }_{x}}{{(x)}^{[2]}} \end{aligned}$$
(23b)

and \({\zeta }{{(x)}^{[2]}}\) is the quadratic polynomial type storage function.

Step 3: :

Similarly a second-order controller is designed by taking \(q=2\); then, control input becomes \(u_\downarrow =u_{\downarrow }^{[1]}+u_{\downarrow }^{[2]}\) and worst-case disturbance becomes \({{w}_{\uparrow }}=w_{\uparrow }^{[1]}+w_{\uparrow }^{[2]}\). The HJI inequality will become

$$\begin{aligned}&{{\zeta }_{x}}{{(x)}^{[2]T}}f{{(x)}^{[2]}}+{{\zeta }_{x}}{{(x)}^{[3]T}}F{{x}^{[1]}} -u_{\downarrow }^{[1]T}{\chi }u_{\downarrow }^{[2]}\nonumber \\&\quad -u_{\downarrow }^{[2]T}{\chi }u_{\downarrow }^{[1]} +{{\gamma }^{2}}\left( w_{\uparrow }^{[1]T}w_{\uparrow }^{[2]} +w_{\uparrow }^{[2]T}w_{\uparrow }^{[1]} \right) \le 0\nonumber \\ \end{aligned}$$
(24)

where

$$\begin{aligned}&u_{\downarrow }^{[2]} = -\frac{1}{2}\chi ^{-1}\left[ {{g}_{2}}{{(x)}^{[1]T}}{{\zeta }_{x}}{{(x)}^{[3]}}\right. \nonumber \\&\left. +{{g}_{2}}{{(x)}^{[2]T}}{{\zeta }_{x}}{{(x)}^{[2]}}\right] \end{aligned}$$
(25a)
$$\begin{aligned}&w_{\uparrow }^{[2]} = \frac{1}{2}{{\gamma }^{-2}}\left[ {{g}_{1}}{{(x)}^{[1]T}}{{\zeta }_{x}}{{(x)}^{[3]}}\right. \nonumber \\&\quad \left. +{{g}_{1}}{{(x)}^{[2]T}}{{\zeta }_{x}}{{(x)}^{[2]}}\right] \end{aligned}$$
(25b)

and \({\zeta }{{(x)}^{[3]}}\) is the cubic polynomial type storage function.

The first- and second-order nonlinear \(\mathscr {H}_{\infty }\) controllers are obtained for steering control.

3.3 Guidance law for path following

The control strategy associated with path following is shown in Fig. 5. It is intended to find out the appropriate desired yaw angle for AUV to track S–F frame on the circular path. The error coordinates between body and S–F frames which are intended to minimize for the convergence of AUV into the path can be described as:

$$\begin{aligned} \underset{t\rightarrow \infty }{\mathop {\lim }}\,{x}_\mathrm{b/r}=0, \underset{t\rightarrow \infty }{\mathop {\lim }}\,{y}_\mathrm{b/r}=0. \end{aligned}$$

To realize the path following problem, a guidance and an update law [39] are given as

$$\begin{aligned} {{\psi }_\mathrm{D}}={{\psi }_\mathrm{r}}-{{\tan }^{-1}}\left( \frac{{{v}_\mathrm{s}}}{{{u}_\mathrm{s}}} \right) -{{\tan }^{-1}}\left( \frac{{{y}_\mathrm{b/r}}}{\sqrt{{{\Xi }^{2}}+{{\left( {{x}_\mathrm{b/r}} \right) }^{2}}}} \right) \end{aligned}$$
(26)
$$\begin{aligned} {{\dot{s}}_\mathrm{r}}=\sqrt{u_\mathrm{s}^{2}+v_\mathrm{s}^{2}}\left( \frac{\sqrt{{{\Xi }^{2}} +{{\left( {{x}_\mathrm{b/r}} \right) }^{2}}}+{{x}_\mathrm{b/r}}}{\sqrt{{{\Xi }^{2}}+{{\left( {{x}_\mathrm{b/r}} \right) }^{2}} +{{\left( {{y}_\mathrm{b/r}} \right) }^{2}}}} \right) \end{aligned}$$
(27)

where \(\Xi \) is a positive design parameter called as lookahead distance. It may be considered as a constant, function of time, error coordinates, or any other parameters. Here it is assumed as a constant. The nonlinear \(\mathscr {H}_{\infty }\) control algorithm is employed to track the desired circular path.

4 Implementation aspects of \(\mathscr {H}_{\infty }\) control algorithm

This section evaluates the nonlinear control law numerically as per the control strategy developed in Sect. 3. Thus, the obtained control law is implemented as shown in Fig. 4. On the contrary, an NHSF controller for AUV is analyzed using Algorithm 1. With a nominal forward velocity \(u_\mathrm{s} = 2\) ms\(^{-1}\), the Taylor series expansion (up to second order) for each term in (7) is derived for a nominal operating point \([v_{\mathrm{s}_0}, r_{\mathrm{s}_0}, \psi _{\mathrm{s}_0}]^T = [0.01, 0.01, 0]^T\) and \(\delta _\mathrm{r}=0\) as:

$$\begin{aligned}&{{f}_\mathrm{s}}({{x}_{\mathrm{s},i}})={{F}_\mathrm{s}}x_{\mathrm{s},i}^{[1]}+{{f}_\mathrm{s}}{{({{x}_{\mathrm{s},i}})}^{[2]}},\\&{{g}_{{\mathrm{s}_{1}}}}({{x}_{\mathrm{s},i}})=G_{\mathrm{s}_1}^{[1]}+G_{\mathrm{s}_1}^{[2]},\\&{{g}_{\mathrm{s}_2}}({{x}_{\mathrm{s},i}})=G_{\mathrm{s}_2}^{[1]}+G_{\mathrm{s}_2}^{[2]}. \end{aligned}$$

Here, the higher-order terms have been neglected so as to avoid the complexities to solve the control problem. Hence, by considering the model coefficients from [36], the above terms \({F}_\mathrm{s}\), \({f}_\mathrm{s}{({{x}_{\mathrm{s},i}})}^{[2]}\), \(G_{\mathrm{s}_1}^{[1]}\), \(G_{\mathrm{s}_1}^{[2]}\), \(G_{\mathrm{s}_2}^{[1]}\), \(G_{\mathrm{s}_2}^{[2]}\) can be calculated as follows:

$$\begin{aligned}&{{F}_\mathrm{s}}=\left[ \begin{matrix} -0.1790 &{}\quad -0.9091 &{}\quad 0 \\ -0.4070 &{}\quad -0.8526 &{}\quad 0 \\ 0 &{}\quad 1.0000 &{}\quad 0 \\ \end{matrix} \right] ,\\&{{f}_\mathrm{s}}{{({{x}_{\mathrm{s},i}})}^{[2]}}=\left[ \begin{matrix} 0.177x_{\mathrm{s},2}^{2}-0.169x_{\mathrm{s},1}^{2} \\ 0.13x_{\mathrm{s},1}^{2}-0.0479x_{\mathrm{s},2}^{2} \\ 0 \\ \end{matrix} \right] ,\\&G_{\mathrm{s}_1}^{[1]}=\left[ \begin{matrix} 0.2532\times {{10}^{-3}} &{} 0 \\ 0.2985\times {{10}^{-3}} &{} 0 \\ 0 &{} 0 \\ \end{matrix} \right] , G_{\mathrm{s}_1}^{[2]}=\left[ \begin{matrix} 0 &{} 0 \\ 0 &{} 0 \\ 0 &{} 0 \\ \end{matrix} \right] ,\\&G_{\mathrm{s}_2}^{[1]}=\left[ \begin{matrix} \quad 0.1187 \\ -0.3178 \\ 0 \\ \end{matrix} \right] , G_{\mathrm{s}_2}^{[2]}=\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ \end{matrix} \right] ,\\&{\chi _{\mathrm{s},1}}=L_{\mathrm{s},12}^{T}{{L}_{\mathrm{s},12}}=W_{\mathrm{s},u}^{2}.\\ \end{aligned}$$
Table 2 Simulation Parameters for numerical implications

A quadratic storage function has been chosen which is having the characteristics as like Lyapunov function with a local minimum at the equilibrium point. Assign \({\zeta }(x_{\mathrm{s},i})^{[2]}={x_{\mathrm{s},i}}^T{{ \Theta }_\mathrm{s}}{x_{\mathrm{s},i}}\), where \({ \Theta }_\mathrm{s} > 0\), then the HJI inequality holds good if \({ \Theta }_\mathrm{s}\) satisfies the Riccati equation (22) which is rewritten as

$$\begin{aligned}&F_\mathrm{s}^{[1]T}{{ \Theta }_\mathrm{s}}+{{ \Theta }_\mathrm{s}}F_\mathrm{s}^{[1]}\nonumber \\&\quad +\,{{ \Theta }_\mathrm{s}}({{\gamma }^{-2}}G_{{\mathrm{s}_{1}}}^{[1]}G_{{\mathrm{s}_{1}}}^{[1]T} -G_{{\mathrm{s}_{2}}}^{[1]}\chi _{\mathrm{s},1}^{-1}G_{{\mathrm{s}_{2}}}^{[1]T}){{ \Theta }_\mathrm{s}}\nonumber \\&\quad +\, H_{\mathrm{s},1}^{T}{{H}_{\mathrm{s},1}}=0 \end{aligned}$$
(28)

The above Riccati equation is solved using MATLAB toolbox by considering the simulation parameters from Table 2. The obtained solution is

$$\begin{aligned} {{\varTheta }_\mathrm{s}}=\left[ \begin{matrix} 3.9818 &{} -2.7643 &{} 0.2115 \\ -2.7643 &{} 5.0947 &{} 3.2261 \\ 0.2115 &{} 3.2261 &{} 4.8898 \\ \end{matrix} \right] . \end{aligned}$$

The corresponding first-order nonlinear \(\mathscr {H}_{\infty }\) control law and worst-case disturbance are derived from (23a) and (23b), respectively, as follows

$$\begin{aligned} u_{\mathrm{s}\downarrow }^{[1]}= & {} -1.35{{x}_{\mathrm{s},1}}+1.95{{x}_{\mathrm{s},2}}+1.0{{x}_{\mathrm{s},3}} \end{aligned}$$
(29a)
$$\begin{aligned} w_{\mathrm{s}\uparrow }^{[1]}= & {} {{[\begin{matrix} w_{{\mathrm{s}_{1}}\uparrow }^{[1]} &{} w_{{\mathrm{s}_{2}}\uparrow }^{[1]} \\ \end{matrix}]}^{T}}\nonumber \\= & {} \left[ \begin{matrix} (1.83\times {{10}^{-4}}{{x}_{\mathrm{s},1}}+8.21\times {{10}^{-4}}{{x}_{\mathrm{s},2}}\\ +\,0.00102{{x}_{\mathrm{s},3}}) \\ 0 \\ \end{matrix} \right] \end{aligned}$$
(29b)

Eventually, a cubic polynomial function is chosen for designing a second -order controller \(u_{\mathrm{s}\downarrow }={{u}_{\mathrm{s}\downarrow }^{[1]}}+u_{\mathrm{s}\downarrow }^{[2]}\) and is given as

$$\begin{aligned} \zeta (x_{\mathrm{s},i})^{[3]}= & {} {{q}_{\mathrm{s},1}}x_{\mathrm{s},1}^{3}+{{q}_{\mathrm{s},2}}x_{\mathrm{s},1}^{2}{{x}_{\mathrm{s},2}}+{{q}_{\mathrm{s},3}}x_{\mathrm{s},1}^{2}{{x}_{\mathrm{s},3}}+\cdots \\&+\,{{s}_{\mathrm{d},10}}x_{\mathrm{s},3}^{3}, \end{aligned}$$

where the unknown coefficients \(q_{\mathrm{s},j}, j= 1, 2, \cdots 10\), are evaluated from the second-order HJI equation (24), rewritten as (30) with \(\zeta (x_{\mathrm{s},i})^{[2]}\), \({{u}_{\mathrm{s}\downarrow }^{[1]}}\) and \({{w}_{\mathrm{s}\uparrow }^{[1]}}\) are being taken from the first-order controller.

$$\begin{aligned}&{{\zeta }_{{{x}_{\mathrm{s},i}}}}{{({{x}_{\mathrm{s},i}})}^{[3]}}\left( {{F}_\mathrm{s}}x_{\mathrm{s},i}^{[1]} +G_{{\mathrm{s}_{1}}}^{[1]T}w_{\mathrm{s}\uparrow }^{[1]}+G_{{\mathrm{s}_{2}}}^{[1]T}u_{\mathrm{s}\downarrow }^{[1]} \right) \nonumber \\&\qquad +\,{{\zeta }_{{{x}_{\mathrm{s},i}}}}{{({{x}_{\mathrm{s},i}})}^{[2]}}\left( {{f}_\mathrm{s}}{{({{x}_{\mathrm{s},i}})}^{[2]}} +G_{{\mathrm{s}_{1}}}^{[2]T}w_{\mathrm{s}\uparrow }^{[1]}\right. \nonumber \\&\qquad \left. +\,G_{{\mathrm{s}_{2}}}^{[2]T}u_{\mathrm{s}\downarrow }^{[1]} \right) =0 \end{aligned}$$
(30)
Fig. 6
figure 6

For \(W_{\mathrm{s},u}=1\): a tracking of desired yaw angle, b the corresponding controller output, c yaw rate and d disturbance attenuation

Fig. 7
figure 7

For \(W_{\mathrm{s},u}=2\): a tracking of desired yaw angle, b the corresponding controller output, c yaw rate and d disturbance attenuation

A set of ten equations are obtained by equating the terms with equal powers in (30). The unknown coefficients \(q_{\mathrm{s},j}\) are calculated by solving all the ten equations using MUPAD toolbox in MATLAB and hence the storage function \(\zeta (x_{\mathrm{s},i})^{[3]}\). Thus, the second-order nonlinear \(\mathscr {H}_{\infty }\) control law and the worst-case disturbance are obtained as follows

$$\begin{aligned} {{u}_{s\downarrow }}= & {} u_{\mathrm{s}\downarrow }^{[1]}+u_{\mathrm{s}\downarrow }^{[2]}\nonumber \\= & {} -1.35{{x}_{\mathrm{s},1}}+1.95{{x}_{\mathrm{s},2}}+1.0{{x}_{\mathrm{s},3}}+0.736x_{\mathrm{s},1}^{2}\nonumber \\&-0.426{{x}_{\mathrm{s},1}}{{x}_{\mathrm{s},2}}+0.155{{x}_{\mathrm{s},1}}{{x}_{\mathrm{s},3}}-0.131x_{\mathrm{s},2}^{2}\nonumber \\&-0.0997{{x}_{\mathrm{s},2}}{{x}_{\mathrm{s},3}}-1.74\times {{10}^{-7}}x_{\mathrm{s},3}^{2} \end{aligned}$$
(31a)
$$\begin{aligned} {{w}_{\mathrm{s}\uparrow }}= & {} w_{\mathrm{s}\uparrow }^{[1]}+w_{\mathrm{s}\uparrow }^{[2]}\nonumber \\= & {} {{[\begin{matrix} {w}_{\mathrm{s}1\uparrow } &{} {w}_{\mathrm{s}2\uparrow } \\ \end{matrix}]}^{T}} \end{aligned}$$
(31b)

where

$$\begin{aligned} {w}_{\mathrm{s}1\uparrow }= & {} 1.83\times {{10}^{-4}}{{x}_{\mathrm{s},1}}+8.21\times {{10}^{-4}}{{x}_{\mathrm{s},2}}\\&+\,0.00102{{x}_{\mathrm{s},3}}-3.87\times {{10}^{-4}}x_{\mathrm{s},1}^{2}\\&+\,4.84\times {{10}^{-4}}{{x}_{\mathrm{s},1}}{{x}_{\mathrm{s},2}}-2.32\times {{10}^{-4}}{{x}_{\mathrm{s},1}}{{x}_{\mathrm{s},3}}\\&-\,2.02\times {{10}^{-4}}x_{\mathrm{s},2}^{2}-5.66\times {{10}^{-5}}{{x}_{\mathrm{s},2}}{{x}_{\mathrm{s},3}}\\&-\,1.71\times {{10}^{-4}}x_{\mathrm{s},3}^{2}\\ {w}_{\mathrm{s}2\uparrow }= & {} 0 \end{aligned}$$

The above control law is implemented as shown in Fig. 4 by attenuating the internal disturbances as well as sensor noise associated with depth measurement.

5 Results and discussion

This section presents the performances exhibited by the proposed nonlinear \(\mathscr {H}_{\infty }\) control strategies for steering plane as well as for path following. In this paper, the parameters of INFANTE AUV [36] are used to simulate the control algorithm.

Fig. 8
figure 8

For \(W_\mathrm{s,u}=5\): a tracking of desired yaw angle, b the corresponding controller output, c yaw rate and d disturbance attenuation

Fig. 9
figure 9

For \(W_\mathrm{s,u}=10\): a tracking of desired yaw angle, b the corresponding controller output, c yaw rate and d disturbance attenuation

5.1 Steering control

Dynamic response study The simulation studies have been realized by choosing three desired yaw angles in every 200 seconds as shown in Figs. 678 and 9. Here, the fin angle is imposed with a constraint:

$$\begin{aligned} \left| {{\delta }_\mathrm{r}} \right| \le {{\left( {{\delta }_\mathrm{r}} \right) }_\mathrm{MAX}}, \end{aligned}$$

where \({\left( {{\delta }_\mathrm{r}} \right) }_\mathrm{MAX}\) is the maximum allowable fin angle. Four different cases have been studied by considering the value of \(W_{\mathrm{s},u}=1,2,5\) and 10, considering \({\left( {{\delta }_\mathrm{r}} \right) }_\mathrm{MAX}=45^\circ \) in order to analyze the dynamic response of the closed-loop system. Hence, it is observed during the analysis that the performance of the second-order NHSF controller is effective in tracking of the desired value by attenuating the disturbance. The design of control algorithm is depending on the selection of appropriate penalty vector, and the construction of penalty vector is related to the selection of scaling matrix \(H_{\mathrm{s},1}\), which directly influences the state variables. The transient response of the steering control becomes faster if \(W_{\mathrm{s},u}\) is small which puts penalty on the control variable \(u_{\mathrm{s},i}(t)\) which is clearly shown in Figs. 6a, 7a, 8a and 9a. The higher- order terms in the control law (31a) will improve to attenuate external disturbances encountered by sustaining a better internal stability.

Closed-loop frequency response The frequency response of the closed-loop system is studied to show the fulfillment of bandwidth requirement. Here the parameters of AUV considered from [7]; hence, the bandwidth should be within 0.1 rad/sec to drive the system to its normal actuation bandwidth. From Fig. 10, the Bode diagrams show that performance requirements for all different cases are satisfied for the closed-loop system.

Disturbance attenuation The configuration of the \(\mathscr {H}_{\infty }\) control law suggests that the control engineer must have to introduce the disturbances such as internal disturbances and sensor noises that eventually occur during trials in real time. The signals \(w_{s,1}(t)\) and \(w_{\mathrm{s},2}(t)\) are driven by random disturbances with power spectral densities (PSDs) 10 and \(1\times 10^{-5}\) respectively. From the results obtained, it is observed that NHSF control algorithm guarantees better performance toward the attenuation of disturbances with strong internal stability. We have observed during the analysis that if the PSD values increased further to a certain level, there is no significant change occurs during the tracking of desired values which ensures the better performance toward the disturbance attenuation. Consequently, the disturbance attenuation improved further by increasing the order of the Taylor series, but the problem is with the computation of control algorithm as well as worst-case disturbance. Therefore, it is required to consider less number of states so as to increase the order of Taylor series to avoid the computational burden. For further analysis, let the attenuation ratio be defined as

$$\begin{aligned} \text {Attenuation ratio} (R_\mathrm{a})= \frac{\int \limits _{0}^{T}{{{\left\| p(t) \right\| }^{2}}\mathrm{d}t}}{\int \limits _{0}^{T}{{{\left\| w(t) \right\| }^{2}}\mathrm{d}t}}\le {{\gamma }^{2}}. \end{aligned}$$
(32)
Fig. 10
figure 10

Closed-loop frequency response

According to \({\mathscr {L}_{2}}\)-gain analysis, if \({\mathscr {L}_{2}}\)-gain \(\le \gamma \) then with \(\gamma =1\), the attenuation ratio \(R_a\) must be less than or equal to 1. Hence, the analysis of disturbance attenuation is performed as shown in Figs. 6d, 7d, 8d and 9d. Thus, it can be observed that the attenuation ratio \(R_\mathrm{a}\) is always less than 1 for all cases. Hence, it is possible to solve the \(\mathscr {H}_{\infty }\) control problem for any desired yaw values. During the sudden variations in desired values, the nonlinear \(\mathscr {H}_{\infty }\) second-order control has shown a better tracking capability by ensuring stability and robustness. The variations in the yaw rate (in Figs. 6c, 7c, 8c and 9c) are smoothly driven due to the bounded value of \(\gamma \).

Robustness Analysis The robust behavior of the control algorithm is verified by providing Gaussian and non-Gaussian noises to the closed-loop system. Two different case studies are discussed in order to explore the efficacies of the control algorithm. The process noise (i.e., \(w_{\mathrm{s},1}\)) in both the cases are Gaussian in nature. However, the measurement noise (i.e., \(w_{\mathrm{s},2}\)) is subjected with Gaussian and non-Gaussian noises. The non-Gaussian noise is generated by changing the kurtosis (defines the shape of the probability distribution) and skewness (defines the asymmetry of probability distribution of a real-valued random signal about its mean value) of the probability density function (PDF) for a Gaussian noise as given in [41]. In general, the kurtosis and skewness of normal distribution (i.e., for Gaussian noise) are 3 and 0, respectively. The generated Gaussian and non-Gaussian noise signals are shown in Fig. 11. The two cases are given as follows:

Case I::

Both \(w_{\mathrm{s},1}\) and \(w_{\mathrm{s},2}\) are subjected to Gaussian noises with mean \(=\) 0.1, variance \(=\) 0.2, kurtosis \(=\) 3. and skewness \(=\) 0.

Case II::

\(w_{\mathrm{s},1}\) is perturbed with a Gaussian noise with mean \(=\) 0.1, variance \(=\) 0.2, kurtosis \(=\) 3, and skewness \(=\) 0, whereas \({w_{\mathrm{s},2}}\) is perturbed with non-Gaussian noise with mean \(=\) 0.1, variance \(=\) 0.2, kurtosis \(=\) 5, and skewness \(=\) 0.5.

The tracking of the desired yaw orientation for both the cases is shown in Fig. 12. For case I, the rudder movement is around \(\pm 2.5^\circ \) with MSE of 0.0038. However, the rudder movement is \(\pm 6^\circ \) for case II and the corresponding MSE is 0.0129. Thus, the control algorithm is effective in tracking the desired yaw profile by attenuating both Gaussian and non-Gaussian noises.

Fig. 11
figure 11

a Gaussian noise signal, b normalized PDF for Gaussian noise, c non-Gaussian noise signal, d normalized PDF for non-Gaussian noise

Fig. 12
figure 12

a Yaw angle tracking in the presence of Gaussian noise signal, b corresponding control signal, c yaw angle tracking in the presence of non-Gaussian noise signal, d corresponding control signal

Fig. 13
figure 13

a Path following in steering plane, b corresponding controller output, c path error in x-axis, d path error in y-axis during straight path following

Fig. 14
figure 14

a Path following in steering plane, b corresponding controller output, c path error in x-axis, d path error in y-axis during a spline path following

5.2 Path following control

For a desired path with path coordinates \(x_\mathrm{D}(s_\mathrm{r})\) and \(y_\mathrm{D}(s_\mathrm{r})\) and with an assumption for given \(s_\mathrm{r}\), the following parameters can be evaluated as

$$\begin{aligned}&{{\psi }_\mathrm{r}}({{s}_\mathrm{r}})= \arctan \frac{({{y}_\mathrm{D}}{)}\prime }{({{x}_\mathrm{D}}{)}\prime },\\&{{p}_{c}}({{s}_\mathrm{r}})= \frac{\mathrm{d}{{\psi }_\mathrm{r}}({{s}_\mathrm{r}})}{\mathrm{d}{{s}_\mathrm{r}}},\\&{{\dot{\psi }}_\mathrm{r}}={{p}_{c}}({{s}_{r}}){{\dot{s}}_\mathrm{r}}, \end{aligned}$$

where \(({{x}_\mathrm{D}}{)}\prime ={d{{x}_\mathrm{D}}}/{\mathrm{d}{{s}_\mathrm{r}}}\) and \(({{y}_\mathrm{D}}{)}^\prime ={\mathrm{d}{{y}_\mathrm{D}}}/{\mathrm{d}{{s}_\mathrm{r}}}\).

The simulation for path following control is performed by considering \(u_\mathrm{s}=2ms^{-1}\), \(\Xi =10\). Two different 2-dimensional (2D) paths and a circular 3D path are considered to verify the NHSF control algorithm. The results of NHSF control algorithm are compared with AFPID algorithm in order to exhibit the potential of nonlinear \(\mathscr {H}_{\infty }\) control algorithm.

5.2.1 Straight path

The coordinates of the desired straight path are considered as

$$\begin{aligned} x_\mathrm{D}(s_\mathrm{r})={s_\mathrm{r}}{\cos ({\psi }_\mathrm{r})},\quad y_\mathrm{D}(s_\mathrm{r})={s_\mathrm{r}}{\sin ({\psi }_\mathrm{r})} \end{aligned}$$

The simulation is achieved by considering an initial condition of \([x_\mathrm{s}(0), y_\mathrm{s}(0)] = [-30, 30]\) for both AFPID and NHSF control algorithms as shown in Fig. 13. From Fig.13a, it is observed that the performance of AFPID controller is better than NHSF controller up to 100 seconds. However, the performance of AFPID control algorithm deteriorates after 100 seconds compared to NHSF controller. The MSE analysis given in Table 4 for straight path suggests that the MSE for AFPID controller along y-axis is better than NHSF controller. Nevertheless, Fig. 13c, d clearly indicates that the approaching of path error coordinates (i.e., \(x_\mathrm{b/r}\) and \(y_\mathrm{b/r}\) toward zero) is faster in case of NHSF controller as compared to AFPID control algorithm.

5.2.2 Spline path

The spline path is designed using the Cartesian space coordinates with polynomial parameterization which is given as

$$\begin{aligned} {{x}_\mathrm{D}}({{s}_\mathrm{r}})=\sum \limits _{k=0}^{m}{{{c}_{k}}}s_\mathrm{r}^{k},\quad {{y}_\mathrm{D}}({{s}_\mathrm{r}})=\sum \limits _{k=0}^{m}{{{d}_{k}}s_\mathrm{r}^{k}} \end{aligned}$$
Table 3 Spline path parameters
Table 4 Comparisons of MSE analysis between AFPID and NHSF control algorithms for different paths
Fig. 15
figure 15

a Path following in 3D plane, b rudder angle, c stern angle, d path error in x-axis, e path error in y-axis, f path error in z-axis during path following

where \(c_k\) and \(d_k\) are the path parameters represented in polynomial functions along x- and y-coordinates, respectively. The path parameters are given in Table 3. The initial conditions are considered as \([x_\mathrm{s}(0), y_\mathrm{s}(0)] = [20, -10]\). From Fig. 14a, it is noticed that the tracking of the spline path is faster for NHSF controller as compared to AFPID controller. The MSE analysis for NHSF control algorithm is better than AFPID controller as given in Table 4. Similarly, the approaching of error coordinates shown in Fig. 14c, d is also faster for NHSF controller.

5.2.3 Circular path

A circular path is considered at a desired depth of \(z_\mathrm{D}=30m\) in order to verify the 3D path tracking by both AFPID and NHSF control algorithms. The desired path coordinates are given by

$$\begin{aligned} x_\mathrm{D}(s_\mathrm{r})=100\cos (0.01{s_\mathrm{r}}),\quad y_\mathrm{D}(s_\mathrm{r})=100\sin (0.01{s_\mathrm{r}}) \end{aligned}$$

The performance of the path following controller is shown in Fig. 15 considering an initial condition \([x_\mathrm{s}(0), y_\mathrm{s}(0), z(0)] = [0, 0, 30]\). The coupling between heading and diving motion is not considered owing to the negligence of the roll motion of AUV. In view of this, a separate depth controller is designed using both AFPID and NHSF control algorithms.

The tracking of the desired path by NHSF control algorithm produces an excellent result compared to AFPID controller as shown in Fig. 15a. From Fig. 15b, c, it is noticed that the control action yielded by NHSF control algorithm is faster than the AFPID controller. The error profiles during the 3D path tracking (shown in Fig. 15d–f) are analyzed by MSE analysis given in Table 4 which ensures that the NHSF control algorithm is more effective in tracking the desired profile compared to AFPID control algorithm.

6 Conclusion

In this paper, the design of a nonlinear control scheme using \(\mathscr {L}_2\)-gain analysis is proposed for controlling the AUV in the horizontal plane. A second-order polynomial-based NHSF control scheme has been adopted to achieve the desired performance by solving the HJI inequality. The resulting control law is simple in structure and computationally less expensive, albeit it needed a lot of mathematical computation. The computation of the control algorithm may increase if the number of states of the system increased. The productiveness of the developed nonlinear control algorithm is verified by subjecting the system with Gaussian and non-Gaussian noises. The control law provides an excellent performance in tracking as well as disturbance rejection with improved internal stability and robustness. Furthermore, the nonlinear path following controller using the nonlinear \(\mathscr {H}_{\infty }\) control is implemented for different paths in horizontal and 3D planes. A comparison is carried out between the NHSF and AFPID control algorithm in order to highlight the benefits of the developed control algorithm. The tracking of the path is achieved by minimizing the path error coordinates obtained from the difference between the body and Serret–Frenet frame to zero asymptotically.