1 Introduction

Nowadays, USVs have been widely used for their small size, high speed, and autonomous navigation capability [1]. Both in the military field of anti-submarine, military strike, and other operational tasks, and in the civilian field of search and rescue, environmental investigation, and other operations, have a broad application prospect. In recent years, researchers from various countries have made some achievements in the research of USVs. But overall, the global development of unmanned surface vehicles is still in the exploratory stage. Among them, the research on the path following control of USVs is a crucial part of the intelligent control of unmanned surface vehicles, which emphasizes the path fitting and relaxes the time requirement [2], to obtain better control effect and wider application in tasks, such as regional detection and terrain tracking. However, in the actual navigation control process, problems, such as unknown environment interference and dynamic uncertainty, are still challenges to the accurate tracking of USVs.

In the aspect of the guidance system, most of the current effective guidance schemes are based on the guidance methods derived from the line of sight (LOS). LOS guidance law has been used many times in ship control systems because of its advantages of simplicity and efficiency. LOS guidance was initially proposed by Fossen et al. [3] to track straight paths, and then Breivik et al. [4] improved it to track curve paths. To consider the situation more consistent with the actual sea navigation, such as the existence of wind, wave, and current environmental disturbance and sideslip angle, [5, 6] designed an integral term to eliminate the influence of sideslip angle, and proposed the guidance method of integral LOS (ILOS). In [7], it is presumed that the sideslip angle is a constant value, which can be estimated and compensated by establishing an adaptive term, and an adaptive LOS (ALOS) is proposed. Nonetheless, the two guidance methods have certain defects. The integral term of ILOS is easy to produce phase lag and integral saturation, while the adaptive term of the ALOS guidance method will produce an oscillation at the initial control stage because it depends too much on tracking error. To compensate for time-varying ocean current velocity, the error of parameterized flow estimation can converge exponentially by combining nonlinear path following controller with adaptive integral LOS in [8]. Although the influence of ocean currents has been compensated to different degrees in the above literature, the influence of sideslip angles on navigation cannot be completely compensated. Compared with large merchant ships, USVs lack lateral thrusters to directly compensate for sideslip angles. Paper [9] proposed ELOS based on extended state observer (ESO), estimated time-varying sideslip angle through reduced order ESO and compensated the sideslip angle directly in the LOS method. Meanwhile, it was assumed that the sideslip angle was less than \(5^{\circ }\) and simplified the calculation. Then, Predictor-based LOS is designed in [10] to solve the oscillation problem caused by large errors in the initial stage of ALOS control. To sum up, in the above literature, the visual distance appears as a constant. The visual distance has different effects when it is farther from the desired path than when it is closer. The model prediction is used in [11] to update the visual distance. In [12], a new radius switching law was designed so that the USV could track the specified route with the optimal LOS radius all the time. The parameters of LOS based on fuzzy control and the convergence speed of guidance law are optimized in [13]. Guidance law is responsible for providing the desired course required by the path following. Based on the research of relevant researchers, this paper mainly optimized two parts, one is to compensate for the sideslip angle caused by environmental interference, for the other is to transform the LOS error function to constrain the control effect under certain conditions. The combination of path tracking and deep learning is considered in [14] to improve usability and generality.

The dynamic control subsystem of USV plays a key role in the whole system, which is responsible for calculating the longitudinal thrust and turning moment required by the path following. In practice, the dominant autopilot is based on the PID algorithm. However, the unmanned vehicle model has some problems, such as strong coupling, serious nonlinearity, and parameter perturbation, and the ocean environment is complex and changeable, and the actuator is easy to fall into input saturation. These problems are difficult to be solved perfectly with the traditional PID algorithm. In the design of the USV controller, sliding mode control [15, 16] is widely used as a special nonlinear control method. In [17], a path following sliding mode controller is designed based on the first and second-order sliding mode surfaces, which can limit the rotation angle of the USV when following the desired path. Sliding mode control has strong robustness, but the chattering phenomenon also exists, which will cause wear to the actuator, and affect the equipment’s life and service effect. A Sigmoid function is introduced in [18] to alleviate the chattering problem, and the discrete Kalman filter is introduced to remove noise. The algorithm is verified in simulation and real-ship experiments. A path-following controller based on fast non-singular terminal sliding mode is proposed in [19], and the sliding mode chattering is reduced by using ESO and active disturbance rejection control technology. Linear ESO is considered in [20] to be applied to the dynamic positioning control system to estimate the motion state of the surface vehicles online. In [21], a fixed-time extended state observer (FXESO) is designed to observe unknown lumped disturbances, based on this, a novel fixed-time velocity-free fault-tolerant control law is considered to be applied to trajectory tracking. In the presence of external disturbances and thruster faults, the sliding mode technology is used in [22] to quantize output feedback control of unmanned marine vehicles, and the augmented sliding surface is constructed to improve navigation stability. In [23], a fast non-singular terminal sliding mode control with adaptive terms was designed for an unmanned vehicle system with time-varying large sideslip angle and actuator saturation. Simulation experiments verified the effectiveness of the proposed control method.

Fig. 1
figure 1

The diagram of a prescribed performance path following control system

Some practical navigation conditions in complex sea conditions, such as safety control and actuator saturation, also deserve attention. For the nonlinear control system of USVs, steady-state performance is crucial, but most of the control studies ignore the constraint of transient performance. The traditional dynamic performance control method cannot realize the real-time constraints of ship motion under strong interference and a special environment. From this, the preset performance control method [24] realizes the constraint control of transient performance by setting the boundary control function in advance and performing performance constraints on the state variable errors generated during the process. The core to solving the system control problem lies in the reasonable design of the controller, and the main advantage of preset performance lies in that it does not need to consider the problem of controllability deficiency [25]. The combination of preset performance constraint function and nonlinear disturbance controller is introduced in [26] to improve the robustness of the sailing process of the unmanned vehicle based on the realization of predetermined constraints. In [27], it introduces the integration of preset performance constraint function and anti-saturation fault-tolerant method to achieve predetermined time constraint control in the case of actuator failure. To solve the problem that the thrusters of surface vessels have saturation constraints, an auxiliary dynamic filter with control deviation as input is considered to reduce the saturation effects of the thruster in [28]. The smoothness of the Gaussian error function is considered in [29] and [30], and a novel saturation function is introduced to replace the saturation nonlinearity of each non-smooth actuator, then its effectiveness is proved by simulations results.

Based on the above considerations, state constrained path following control of USVs subjected to dynamic unknowns and environmental disturbances are proposed in this paper, which can realize path following within the constraint range while ensuring position error, and solve the problems of model uncertainty, partial state quantity unknown, thrust limitation and unknown interference of USV. At the same time, fixed-time ESO and finite-time saturation compensation systems are introduced into the dynamic control subsystem to improve the correlation speed. The main contributions of this paper are summarized in the following:

  1. 1.

    A novel LOS guidance law with preset performance is proposed based on adaptive ESO. The preset performance LOS guidance law is designed to constrain the expected path position error, and the USV can track the target path safely and quickly by error conversion. This algorithm not only improves the safety performance of the system effectively but also improves the anti-jamming ability of USV, which can be applied to more complex sea conditions.

  2. 2.

    To effectively improve the performance of the system, an integral sliding mode controller is designed based on the fixed-time ESO. The proposed algorithm is superior to the conventional controller in navigation speed estimation and lumped interference, and improves the convergence speed and tracking accuracy of USV in the course of path tracking.

  3. 3.

    Given the actual sailing conditions under complex sea conditions, this paper considers the problem of actuator saturation caused by the instability of the system and introduces the finite-time saturation compensator for real-time compensation. By selecting appropriate design parameters, the upper output limits of the actual thruster and servo system are optimized to avoid excessive control, which is more realistic.

The remainder of this paper is organized as follows—Problem formulation and preliminaries are shown in Sect. 2. Section 3 is formulated by elaborating on the design of the path following controller for USV. The stability of the control algorithm is proved in Sect. 4. Then in Sect. 5, the simulation verification and comparison are given to explain the effectiveness of the correlation control algorithm, that is, the state-constrained control strategy is realized. Finally, the conclusion is contained in Sect. 6.

2 Problem formulation and preliminaries

2.1 Problem formulation

Generally, to simplify the analysis, USV is considered to ignore the motions in the direction of heave, roll, and pitch, and the kinematic and dynamic model with three degrees of freedom is introduced as follows [31]:

$$\begin{aligned} \left\{ \begin{array}{l} \dot{x} = u\cos (\psi ) - v\sin (\psi )\\ \dot{y} = u\sin (\psi ) + v\cos (\psi )\\ \dot{\psi } = r \end{array} \right. \end{aligned}$$
(1)

The equation above can be simplified to the following form:

$$\begin{aligned} {{\varvec{\dot{\eta } }} = {\varvec{J}}(\psi ){\varvec{\upsilon }}} \end{aligned}$$
(2)

where \({\varvec{\eta }} = {[x,y,\psi ]^T}\). (xy) and \(\psi\) respectively represent position to coordinate and yaw angle in the earth-fixed inertial frame; \({\varvec{\upsilon }} = {[u,v,r]^T}\) denotes the relative surge velocity, sway velocity and yaw velocity in the body-fixed frame. \({{\varvec{J}}(\psi )} \in {{\mathbb {R}}^3}\) represents the rotation matrix from the carrier coordinate system to the inertial coordinate system, and the transfer matrix is expressed as follows:

$$\begin{aligned} {\varvec{J}(\psi )} = \left[ {\begin{array}{*{20}{c}} {\cos \psi }&{}{ - \sin \psi }&{}0\\ {\sin \psi }&{}{\cos \psi }&{}0\\ 0&{}0&{}1 \end{array}} \right] \end{aligned}$$
(3)

Refer to [32], the dynamics model of USV can be obtained:

$$\begin{aligned} {\varvec{M\dot{\upsilon } + C}}({\varvec{\upsilon }}){\varvec{\upsilon + D\upsilon }} = {\varvec{\tau }} + {{\varvec{d}}_{{w}}} \end{aligned}$$
(4)

where \({\varvec{M}} = \left[ {\begin{array}{*{20}{c}} {{m_{11}}}&{}0&{}0\\ 0&{}{{m_{22}}}&{}{{m_{23}}}\\ 0&{}{{m_{23}}}&{}{{m_{33}}} \end{array}} \right]\) represents a positive definite symmetric inertial matrix containing additional masses, \({\varvec{C}}({\varvec{\upsilon }}) = \left[ {\begin{array}{*{20}{c}} 0&{}0&{}{{c_{13}}}\\ 0&{}0&{}{{c_{23}}}\\ {{c_{31}}}&{}{{c_{32}}}&{}0 \end{array}} \right]\) represents Coriolis matrix, \({\varvec{D}} = \left[ {\begin{array}{*{20}{c}} {{d_{11}}}&{}0&{}0\\ 0&{}{{d_{22}}}&{}{{d_{23}}}\\ 0&{}{{d_{32}}}&{}{{d_{33}}} \end{array}} \right]\) denotes linear damping, \({\varvec{\tau }} = {[{\tau _u},0,{\tau _r}]^{T}}\) represents input force and torque of the controller, and \({{\varvec{d}}_w} = {[{d_u},{d_v},{d_r}]^{T}}\) denotes the resultant force and moment of interference caused by environmental impact. In addition, the elements of the Coriolis force and centripetal force matrix satisfy \({c_{13}} = - {c_{31}} = - {m_{22}}v - {m_{23}}r\), \({c_{23}} = - {c_{32}} = {m_{11}}u\).

The above formula can be expanded as

$$\begin{aligned} \left\{ \begin{array}{l} \dot{u} = {f_u}(u,v,r) + \frac{1}{{{m_{11}}}}{\tau _u} + \frac{1}{{{m_{11}}}}{d_u}\\ \dot{v} = {f_v}(u,v,r) + \frac{1}{{{m_{22}}}}{d_v}\\ \dot{r} = {f_r}(u,v,r) + \frac{1}{{{m_{33}}}}{\tau _r} + \frac{1}{{{m_{33}}}}{d_r} \end{array} \right. \end{aligned}$$
(5)

where \({f_u}(u,v,r)\mathrm{{ = }}\frac{{{m_{22}}}}{{{m_{11}}}}vr - \frac{{{d_{11}}}}{{{m_{11}}}}u\), \({f_v}(u,v,r) = - \frac{{{m_{11}}}}{{{m_{22}}}}ur - \frac{{{d_{22}}}}{{{m_{22}}}}v\), \({f_r}(u,v,r) = \frac{{{m_{11}} - {m_{22}}}}{{{m_{33}}}}uv - \frac{{{d_{33}}}}{{{m_{33}}}}r\).

Assumption 1

The actual heading angle of the USV can accurately follow the desired heading angle, satisfying \(\psi \mathrm{{ = }}{\psi _d}\).

Assumption 2

The position (xy) and attitude \(\psi\) are measurable, while the dynamics model parameters \({\varvec{C}}\) and \({\varvec{D}}\), heading angle velocity r and derivative of velocity are unknown.

Considering the unknown amount of information in the hypothesis, first design an auxiliary variable:

$$\begin{aligned} { \varvec{\xi } = \varvec{J}(\psi ){\varvec{\upsilon }}} \end{aligned}$$
(6)

where \({\varvec{\xi }} = {\left[ {{\xi _1},{\xi _2},{\xi _3}} \right] ^T}\).

Then the kinematics and dynamics model of the USV can be rewritten as:

$$\begin{aligned} {\left\{ {\begin{array}{l} {{\varvec{\dot{\eta }}} = {\varvec{\xi }}}\\ {{\varvec{\dot{\xi } }} = {\varvec{J}}(\psi ){{\varvec{M}}^{{\varvec{ - 1}}}}{{\varvec{\tau }}_{\varvec{c}}} + {\varvec{\varLambda }}} \end{array}} \right. } \end{aligned}$$
(7)

where \({{\varvec{\tau }}_{\varvec{c}}} = {\left[ {{\tau _{cu}},0,{\tau _{cr}}} \right] ^T}\) denotes the rewritten control input, and \({\varvec{\varLambda }} = {\left[ {{\varLambda _1},{\varLambda _2},{\varLambda _3}} \right] ^T}\) is the lumped disturbance caused by uncertainty and external disturbance caused by model parameter perturbation. Lumped disturbance is given by the following equation:

$$\begin{aligned} {\varvec{\varLambda }}&= {\varvec{J}}(\psi ){\varvec{S}}(\varepsilon ){\varvec{\upsilon }} - {\varvec{J}}(\psi ){{\varvec{M}}^{{\varvec{ - 1}}}}{\varvec{C}}({\varvec{\upsilon }}){\varvec{\upsilon J}}(\psi ){{\varvec{M}}^{{\varvec{ - 1}}}}{\varvec{D}}({\varvec{\upsilon }}){\varvec{\upsilon }}+ {\varvec{J}}(\psi ){{\varvec{M}}^{{\varvec{ - 1}}}}{{\varvec{\tau }}_{\varvec{w}}} \end{aligned}$$
(8)

At this point, the USV dynamic model can be rewritten as:

$$\begin{aligned} \left\{ {\begin{array}{l} {\dot{u} = {\varLambda _1}\cos \psi + {\varLambda _2}\sin \psi + \frac{{{\tau _{u,c}}}}{{{m_{11}}}} + rv}\\ {\dot{v} = - {\varLambda _1}\sin \psi + {\varLambda _2}\cos \psi - ru}\\ {\dot{r} = {\varLambda _3} + \frac{{{\tau _{r,c}}}}{{{m_{33}}}}} \end{array}} \right. \end{aligned}$$
(9)

For the USV model proposed by Equation (6), lumped disturbance and its change rate are bounded, satisfying:

$$\begin{aligned} \left\| {{\varvec{\dot{\varLambda }}}} \right\| \le {\varLambda _{\mathrm{{constan}}}} \end{aligned}$$
(10)

where \({\varLambda _{\mathrm{{constan}}}}\) is a bounded constant.

Assumption 3

There are physical limitations on the actuator of USV, and the saturation function \(sat({\tau _{i0}}), (i = u,r)\) is described as follows:

$$\begin{aligned} sat({\tau _{i0}}) = \left\{ \begin{array}{l} {\tau _{i\max }},{\tau _{i0}} > {\tau _{i\max }}\\ {\tau _{i0}},{\tau _{i\min }} \le {\tau _{i0}} \le {\tau _{i\max }}\\ {\tau _{i\min }},{\tau _{i0}} < {\tau _{i\min }} \end{array} \right. \end{aligned}$$
(11)

where \({\tau _{i0}}\) denotes the command signal of the control law; \({\tau _{i\max }}\) and \({\tau _{i\min }}\) are the limits of the propulsion system of the USV.

3 Design of path following controller for USV

In this section, a path-following controller with preset performance is designed for (7) and (9) in the presence of unknown complex disturbances, model uncertainties, and thrust constraints, as shown in Fig. 1. Therefore, the USV can keep a constant expected speed \({u_d}\) to follow a parameterized path \({S_d} = {\left[ {{x_d}(\theta ),{y_d}(\theta )} \right] ^T}\) independent of time.

Fig. 2
figure 2

Geometrical guidance information of the USV path following system

3.1 Guidance subsystem design

As shown in Fig. 2, the local path parallel reference coordinate system \(AX_pY_p\) is also defined in the path tracking guidance diagram. For the USV located at the coordinate point (xy), its position error \({[{x_e},{y_e}]^T}\) can be expressed as

$$\begin{aligned} \left[ {\begin{array}{*{20}{c}} {{x_e}}\\ {{y_e}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\cos {\psi _F}}&{}{\sin {\psi _F}}\\ { - \sin {\psi _F}}&{}{\cos {\psi _F}} \end{array}} \right] \left[ {\begin{array}{*{20}{c}} {x - {x_\mathrm{{d}}}(\theta )}\\ {y - {y_d}(\theta )} \end{array}} \right] \end{aligned}$$
(12)

where \({\psi _F} = \arctan 2( {{y_d}^{'}(\theta ),{x_d}^{'}(\theta )})\) represents the rotation angle, namely the Euler angle obtained from the rotation from the inertial coordinate system to the local parallel coordinate system. \({x_d}^{'} = d{x_d}(\theta )/d\theta\), \({y_d}^{'} = d{y_d}(\theta )/d\theta\)

Derivation of the above formula can be obtained,

$$\begin{aligned} \left\{ {\begin{array}{l} {{\dot{x}}_e} = u\cos \left( {\psi - {\psi _F}} \right) - u\sin \left( {\psi - {\psi _F}} \right) \tan \beta + {{\dot{\psi } }_F}{y_e} - {u_p}\\ {{{\dot{y}}_e} = u\sin \left( {\psi - {\psi _F}} \right) + u\cos \left( {\psi - {\psi _F}} \right) \tan \beta - {{\dot{\psi } }_F}{x_e}} \end{array}}\right. \end{aligned}$$
(13)

where the sideslip angel is \(\beta = \arctan 2(v,u)\) and the speed of the virtual reference point is \({u_p} = \dot{\theta } \sqrt{y{{_d^{'}}^2}(\theta ) + x{{_d^{'}}^2}(\theta )}\), which can be regarded as the control input to control the convergence of longitudinal tracking error \(x_e\).

In order to impose some preset performance on path following control, constraint conditions for position errors are designed. According to references [25] and [26], the constraint conditions of horizontal and vertical position errors are as follows:

$$\begin{aligned} \left\{ \begin{array}{l} - {\alpha _a}\varpi (t)< {x_e}(t)< {\alpha _a}\varpi (t)\\ - {\beta _a}\varpi (t)< {y_e}(t) < {\beta _a}\varpi (t) \end{array} \right. \end{aligned}$$
(14)

where \({\alpha _a},{\alpha _b},{\beta _a},{\beta _b}\) are the positive design constants. \(\varpi (t) = ({\varpi _0} - {\varpi _\infty }){e^{ - at}} + {\varpi _\infty }\) is a smooth strictly decreasing function, which simultaneously satisfies \(\varpi :{\mathbb {R}_ + } \rightarrow {\mathbb {R}_ + }\backslash \{ 0\}\) and \(\mathop {\lim }\limits _{t \rightarrow \infty } \varpi (t) = {\varpi _\infty } > 0\). \({\varpi _0}\), \({\varpi _\infty }\) and a are positive constants. The lower bound of the error convergence speeds can be changed by adjusting the value a.

According to the monotonically decreasing property of \(\varpi (t)\), the position tracking error can meet the constraint condition when \({\alpha _a}\varpi (0)\),\({\alpha _b}\varpi (0)\),\({\beta _a}\varpi (0)\),\({\beta _b}\varpi (0)\) are selected as appropriate parameters, and the position tracking errors can meet the preset overshoot, steady-state errors and convergence speeds when the reasonable design parameters are selected.

Then, the conversion function is designed as:

$$\begin{aligned} \left\{ \begin{array}{l} {\textrm{M}_x}({\chi _x}) = \ln ({\alpha _a} + {\chi _x}) - \ln ({\alpha _b} - {\chi _x})\\ {\textrm{M}_y}({\chi _y}) = \ln ({\beta _a} + {\chi _y}) - \ln ({\beta _b} - {\chi _y}) \end{array} \right. \end{aligned}$$
(15)

where \({\chi _x} = \frac{{{x_e}}}{\varpi },{\chi _y} = \frac{{{y_e}}}{\varpi }\), and \({\textrm{M}_x}\) denotes a smooth strictly increasing function and satisfies \({\textrm{M}_x}(\bullet ):({\alpha _a},{\alpha _b}) \rightarrow ( - \infty ,\infty ), \mathop {\lim }\limits _{{\chi _x} \rightarrow - {\alpha _a}} {\textrm{M}_x}({\chi _x}) \rightarrow - \infty ,\mathop {\lim }\limits _{{\chi _x} \rightarrow {\alpha _b}} {\textrm{M}_x}({\chi _x}) \rightarrow + \infty\), which the same as \({\textrm{M}_y}\).

Therefore, the inequality constraint of Eq. 14 can be transformed into:

$$\begin{aligned} \left\{ \begin{array}{l} {\delta _x} = {\textrm{M}_x}({\chi _x}) = \ln ({\alpha _a} + {\chi _x}) - \ln ({\alpha _b} - {\chi _x})\\ {\delta _y} = {\textrm{M}_y}({\chi _y}) = \ln ({\beta _a} + {\chi _y}) - \ln ({\beta _b} - {\chi _y}) \end{array} \right. \end{aligned}$$
(16)

where \({\delta _x}\) and \({\delta _y}\) are the tracking errors after transformation. Then the derivative of Eq. 16 can be obtained:

$$\begin{aligned} \left\{ \begin{array}{l} {{\dot{\delta } }_x} = {\phi _x}({{\dot{x}}_e} - \frac{{{x_e}\dot{\varpi } }}{\varpi })\\ {{\dot{\delta } }_y} = {\phi _y}({{\dot{y}}_e} - \frac{{{y_e}\dot{\varpi } }}{\varpi }) \end{array} \right. \end{aligned}$$
(17)

where \({\phi _x} = \frac{{\partial {\textrm{M}_x}}}{{\partial {\chi _x}}}\frac{1}{\varpi },{\phi _y} = \frac{{\partial {\textrm{M}_y}}}{{\partial {\chi _y}}}\frac{1}{\varpi }\).

The guidance rate can be designed:

$$\begin{aligned} {\psi _d} = {\psi _F} - \hat{\beta } + \arcsin (\frac{\mu }{U}) \end{aligned}$$
(18)

where \(\mu\) is a restricted variable, and satisfies \(\left| \mu \right| < U\), \(U = \sqrt{{v^2} + {u^2}}\), \({\hat{\beta }}\) is expressed as an estimate of the sideslip angle.

The nominal input \({\mu _0}\) is designed as:

$$\begin{aligned} {\mu _0} = \frac{{{\varsigma _\mu }{k_\varsigma }}}{{{\phi _y}}} + \frac{{{y_e}\dot{\varpi } }}{\varpi } - \frac{{{k_y}{{\dot{\delta } }_y}}}{{{\phi _y}}} \end{aligned}$$
(19)

where \({k_\varsigma }\) and \(k_y\) are positive parameters, and \({\varsigma _\mu }\) is the auxiliary variable satisfied \({\dot{\varsigma }_\mu } = - {m_\varsigma }{\varsigma _\mu } + \mu - {\mu _0}\), \(m_\varsigma\) is a positive parameter.

For \(g = u\cos (\psi - {\psi _F})\tan \beta\), the adaptive ESO estimation designed aiming at \({\hat{\beta }}\) contains g in the unknown term \(\beta\). First, extend the model as

$$\begin{aligned} \left\{ \begin{array}{l} {\varvec{\dot{\Xi } }}\mathrm\,{{ = }}\,{\varvec{A\Xi }} + {\varvec{B}}\varTheta [u\sin (\psi - {\psi _F}) - {{\dot{\psi } }_F}{x_e}]\\ {\varvec{\varGamma }} = {\varvec{C\Xi }} \end{array} \right. \end{aligned}$$
(20)

where \({\varvec{\Xi }} = {\left[ {u\sin (\psi - {\psi _F}) - {{\dot{\psi } }_F}{x_e} + g,\dot{g}} \right] ^T}\) represents the auxiliary state of the observer, \({\varvec{A}} = \left[ {\begin{array}{*{20}{c}} 0&{}1\\ 0&{}0 \end{array}} \right]\), \({\varvec{B}} = \left[ {\begin{array}{*{20}{c}} 1&0 \end{array}} \right]\) and \({\varvec{C}} = \left[ {\begin{array}{*{20}{c}} 1&0 \end{array}} \right]\) are the parameters of the observer. \(\varTheta\) denotes the observer parameter.

Then the following adaptive ESO can be designed:

$$\begin{aligned} {{\varvec{\dot{\hat{\Xi }} }}\mathrm{{ = }}{\varvec{A\hat{\Xi } }} + \mathbf{{B}}\hat{\varTheta } [u\sin (\psi - {\psi _F}) - {\dot{\psi }_F}{x_e}] + \mathbf{{H}}({\varvec{\varGamma }} - {\varvec{C\hat{\Xi } }})} \end{aligned}$$
(21)

where \(\varvec{H} = {\left[ {\frac{{{\alpha _{h1}}}}{\varepsilon }\mathrm{{ }}\frac{{{\alpha _{h2}}}}{\varepsilon }} \right] ^T}\) is the gain matrix of the observer. The parameters of the gain matrix are satisfied \({\alpha _{h1}} > 0\), \({\alpha _{h2}} > 0\), \(0< {\varepsilon _h} < 1\). \(\varTheta _0\) is the initial value of \(\varTheta\), and its adaptive updating law design is \(\dot{\hat{\varTheta }} = \frac{{{a_\varTheta }}}{\varepsilon }[u\sin (\psi - {\psi _F}) - {\dot{\psi }_F}{x_e}]{\varvec{Cz}} - {a_\varTheta }{\sigma _\varTheta }(\hat{\varTheta } - {\varTheta _0})\).

Define the observer error \({\varvec{\tilde{\Xi } }} = {\varvec{\Xi }} - {\varvec{\hat{\Xi } }}\), then define a new error vector \({\varvec{z}}\mathrm{{ = }}{\left[ {\begin{array}{*{20}{c}} {\frac{{{{\tilde{\Xi } }_1}}}{\varepsilon }}&{{{\tilde{\Xi } }_2}} \end{array}} \right] ^T}\), the following error equation can be obtained:

$$\begin{aligned} {\varvec{\dot{z}}}\mathrm{{ = }}\frac{1}{\varepsilon }{{\varvec{A}}_{\eta }}{\varvec{z}} + \frac{{{\varvec{B}}\tilde{\varTheta } [u\sin (\psi - {\psi _F}) - {{\dot{\psi }}_F}{x_e}]}}{\varepsilon } \end{aligned}$$
(22)

where \({{\varvec{A}}_{\eta }} = \left[ {\begin{array}{*{20}{c}} { - {\alpha _1}}&{}1\\ { - {\alpha _2}}&{}0 \end{array}} \right]\), the parameters \(\alpha _1\) and \(\alpha _2\) satisfy matrix \({{\varvec{A}}_{\eta }}\) to be a Hurwitz matrix.

At this point, the parameter adaptive refresh law can be designed as

$$\begin{aligned} \dot{\theta }\mathrm{{ = }}\frac{{U\cos (\psi - {\psi _F} + {\hat{\beta }} )}}{{{C_1}}}\mathrm{{ + }}\frac{{{k_x}{\delta _x}}}{{{C_1}{\phi _x}}} - \frac{{{x_e}\dot{\varpi }}}{{{C_1}\varpi }} \end{aligned}$$
(23)

where \({k_x}\) is a positive parameter, and \({C_1}\mathrm{{ = }}\sqrt{{x{{_d^{'}}^2}} + {y{{_d^{'}}^2}}}- ({y_e} - \frac{{{\delta _y}{\phi _y}{x_e}}}{{{\delta _x}{\phi _x}}})\frac{{y_d^{''}x_d^{'} - x_d^{''}y_d^{'}}}{{x{{_d^{'}}^2} + y{{_d^{'}}^2}}}\).

Theorem 1

Under Assumption 1, the designed preset performance LOS guidance law (18) based on adaptive ESO (20) can make the position error (17) uniformly final bounded while satisfying the constraint (14).

Proof

The Lyapunov function is established for the errors of guidance law conversion and the observer error of adaptive ESO as follows:

$$\begin{aligned} {V_\mathrm{{1}}} = \frac{1}{2}(\delta _x^2 + \delta _y^2 + \varsigma _\mu ^2\mathrm{{ + }}{{\varvec{z}}^{\varvec{T}}}{\varvec{Pz}}) + \frac{1}{{{a_\varTheta }}}{\tilde{\varTheta } ^2} \end{aligned}$$
(24)

where the observer parameter error \(\tilde{\varTheta } = \varTheta -\hat{\varTheta }\).

Take the derivative of Equation (24) and substitute (17), (19), and (23) into it, then

$$\begin{aligned} {{\dot{V}}_1}&= {\delta _x}{\phi _x}({{\dot{x}}_e} - {x_e}\frac{{\dot{\varpi }}}{\varpi }) + {\delta _y}{\phi _y}({{\dot{y}}_e} - {y_e}\frac{{\dot{\varpi }}}{\varpi }) + {\varsigma _\mu }( - {m_\varsigma }{\varsigma _\mu } + \Delta \mu )&\nonumber \\&+ {{{\varvec{\dot{z}}}}^T}{\varvec{Pz}} + {{\varvec{z}}^T}{\varvec{P\dot{z}}} + \frac{2}{{{a_\varTheta }}}\tilde{\varTheta } \dot{\tilde{{\varTheta }}}&\nonumber \\&\le - {k_x}\delta _x^2 - {k_y}\delta _y^2 - {m_\varsigma }\varsigma _\mu ^2 + {k_\varsigma }{\delta _y}{\varsigma _\mu } + {\varsigma _\mu }\Delta \mu + \frac{1}{\varepsilon }{{\varvec{z}}^T}({\varvec{A}}_z^T{\varvec{P}}&\nonumber \\&+ {\varvec{P}}{{\varvec{A}}_z})z + \frac{2}{\varepsilon }\tilde{\varTheta } [u\sin (\psi - {\psi _F}) - {{\dot{\psi } }_F}{x_e}]{\varvec{PB}} + \frac{2}{{{a_\varTheta }}}\tilde{\varTheta } \dot{\tilde{\varTheta }}&\nonumber \\&\le - {k_x}\delta _x^2 - {k_y}\delta _y^2 - {m_\varsigma }\varsigma _\mu ^2 + {k_\varsigma }{\delta _y}{\varsigma _\mu } + {\varsigma _\mu }\Delta \mu - \frac{1}{\varepsilon }{\left\| {\varvec{z}} \right\| ^2}&\nonumber \\&+ \frac{2}{\varepsilon }\tilde{\varTheta } [u\sin (\psi - {\psi _F}) - {{\dot{\psi }}_F}{x_e}]{{\varvec{z}}^T}{{\varvec{C}}^T} + \frac{2}{{{a_\varTheta }}}\tilde{\varTheta } \dot{{\tilde{\varTheta }}} \end{aligned}$$
(25)

Consider the following inequality

$$\begin{aligned} {\sigma _\varTheta }\tilde{\varTheta } (\hat{\varTheta } - {\varTheta _0})&= {\sigma _\varTheta }\tilde{\varTheta } (\varTheta - {\varTheta _0} - \tilde{\varTheta })&\nonumber \\&\le \frac{1}{2}{\sigma _\varTheta }{{\tilde{\varTheta } }^2} + \frac{1}{2}{\sigma _\varTheta }{(\varTheta - {\varTheta _0})^2} - {\sigma _\varTheta }{{\tilde{\varTheta } }^2}&\nonumber \\&= - \frac{1}{2}{\sigma _\varTheta }{{\tilde{\varTheta } }^2} + \frac{1}{2}{\sigma _\varTheta }{(\varTheta - {\varTheta _0})^2} \end{aligned}$$
(26)

According to Young’s inequality, then

$$\begin{aligned} {k_\varsigma }{\delta _y}{\varsigma _\mu } \le \frac{1}{2}{k_\varsigma }\delta _y^2 + \frac{1}{2}{k_\varsigma }\varsigma _\mu ^2, {\varsigma _\mu }\Delta \mu \le \frac{1}{2}\varsigma _\mu ^2 + \frac{1}{2}\Delta {\mu ^2} \end{aligned}$$
(27)

Substituting (27) and \(\dot{ \hat{\varTheta }}\) into (25) to obtain

$$\begin{aligned} {{\dot{V}}_1}&\le - {k_x}\delta _x^2 - ({k_y} - \frac{1}{2}{k_\varsigma })\delta _y^2 - ({m_\varsigma } - \frac{1}{2}{k_\varsigma } - \frac{1}{2})\varsigma _\mu ^2 - \frac{1}{\varepsilon }{\left\| {\varvec{z}} \right\| ^2}&\nonumber \\&- {\sigma _\varTheta }{{\tilde{\varTheta } }^2}\mathrm{{ + }}{\sigma _\varTheta }{(\varTheta - {\varTheta _0})^2} + \frac{1}{2}\Delta {\mu ^2}&\nonumber \\&\le - 2\gamma {V_1} + {\Upsilon _1} \end{aligned}$$
(28)

where \({\gamma _1} = \min \{ {k_x},{k_y} - \frac{1}{2}{k_\varsigma },{m_\varsigma } - \frac{1}{2}{k_\varsigma } - \frac{1}{2},\frac{1}{\varepsilon },{\sigma _\varTheta }\}\), \({\Upsilon _1} = \{ {\sigma _\varTheta }{(\varTheta - {\varTheta _0})^2},\frac{1}{2}\Delta {\mu ^2}\}\). Then, the formula above can be solved

$$\begin{aligned} {V_1} \le \left( {{V_1}(0) - \frac{{{\Upsilon _1}}}{{2{\gamma _1}}}} \right) {e^{ - 2{\gamma _1}t}} + \frac{{{\Upsilon _1}}}{{2{\gamma _1}}} \end{aligned}$$
(29)

To sum up, the error variables are bounded, and the constraint conditions designed in (14) can be satisfied if appropriate parameters are selected. In conclusion, Theorem 1 is proven.

3.2 Design of dynamic control subsystem

In this part, the fixed time extended state observer is designed to estimate the external complex disturbance and the lumped disturbance of the model uncertainty. Then, to follow the yaw angle and expected speed, a course-following controller and a speed-following controller are designed based on integral sliding mode. The finite-time auxiliary dynamic system is introduced to solve the problem of thrust limitation in practical navigation.

3.2.1 Design of fixed time extended state observer

Considering the USV model with lumped disturbance (7), the fixed-time extended state observer is designed by referring to [21, 33] as follows:

$$\begin{aligned} \left\{ {\begin{array}{l} {\varvec{\dot{{\hat{\eta }} }} = {\varvec{{\hat{\xi }} }} + {\lambda _1}si{g^{{p_1}}}(\varvec{\eta } - \varvec{{\hat{\eta }} }) + {\delta _1}si{g^{{q_1}}}(\varvec{\eta } - \varvec{{\hat{\eta }} })}\\ {{\varvec{\dot{{\hat{\xi }}} }} = {\varvec{J}}(\psi ){\varvec{M}^{ - 1}}{\tau _c} + \varvec{{\hat{\varLambda }} } + {\lambda _2}si{g^{{p_2}}}(\varvec{\eta } - \varvec{{\hat{\eta }} }) + {\delta _2}si{g^{{q_2}}}(\varvec{\eta } - \varvec{{\hat{\eta }} })}\\ {\varvec{{\hat{\varLambda }} } = {\lambda _3}si{g^{{p_3}}}(\varvec{\eta } - \varvec{{\hat{\eta }} }) + {\delta _3}si{g^{{q_3}}}(\varvec{\eta } - \varvec{{\hat{\eta }} }) + \textrm{Z}{\mathop \textrm{sgn}} (\varvec{\eta } - \varvec{{\hat{\eta }} })} \end{array}} \right. \end{aligned}$$
(30)

where \(\textrm{Z} > {\varLambda _1}\), \(\varvec{{\hat{\eta }} }\), \({\varvec{{\hat{\xi }} }}\) and \({\hat{\varLambda }}\) represent the estimation of \({\varvec{\eta }}\), \({\varvec{\xi }}\) and \(\varvec{\varLambda }\) respectively. For parameters \({p_i},{q_i}(i = 1,2,3)\) with \(0< {p_i} < 1,{q_i} > 1\), and simultaneously satisfy

$$\begin{aligned} \left\{ \begin{array}{l} {p_i} = i{p_0} - (i - 1)\\ {q_i} = i{q_0} - (i - 1) \end{array} \right. \end{aligned}$$
(31)

where \({p_0} \in (1 - \bar{p},1),{q_0} \in (1 + \bar{q}, + \infty )\), \(\bar{p}\) and \(\bar{q}\) are small positive constants.

The gains \({\lambda _i},{\delta _i}(i = 1,2,3)\) of the observer need to satisfy the following matrix items by Hurwitz:

$$\begin{aligned} {\varvec{A}_{\varvec{\lambda }}} = \left[ {\begin{array}{*{20}{c}} { - {\lambda _1}}&{}1&{}0\\ { - {\lambda _2}}&{}0&{}1\\ { - {\lambda _3}}&{}0&{}0 \end{array}} \right] \end{aligned}$$
(32)
$$\begin{aligned} {\varvec{A}_{\varvec{\delta }}} = \left[ {\begin{array}{*{20}{c}} { - {\delta _1}}&{}1&{}0\\ { - {\delta _2}}&{}0&{}1\\ { - {\delta _3}}&{}0&{}0 \end{array}} \right] \end{aligned}$$
(33)

Lemma 1

Consider the following system [34, 35]:

$$\begin{aligned} \left\{ \begin{array}{l} {{\dot{z}}_1} = {z_2} - {k_1}si{g^{{\alpha _1}}}({z_1}) - {\kappa _1}si{g^{{\beta _1}}}({z_1})\\ {{\dot{z}}_2} = {z_3} - {k_2}si{g^{{\alpha _2}}}({z_1}) - {\kappa _2}si{g^{{\beta _2}}}({z_1})\\ \vdots \\ {{\dot{z}}_{n - 1}} = {z_n} - {k_{n - 1}}si{g^{{\alpha _{n - 1}}}}({z_1}) - {\kappa _{n - 1}}si{g^{{\beta _{n - 1}}}}({z_1})\\ {{\dot{z}}_n} = - {k_n}si{g^{{\alpha _n}}}({z_1}) - {\kappa _n}si{g^{{\beta _n}}}({z_1}) \end{array} \right. \end{aligned}$$
(34)

where \({\alpha _i} \in (0,1)\), \({\beta _i} > 1\) \((i = 1, \cdots ,n)\), and satisfies \({\alpha _i} = i\alpha - (i - 1)\), \({\beta _i} = i\beta - (i - 1)\), \((i = 1, \cdots ,n)\). \(\alpha \in (1 - \varepsilon ,1)\), \(\beta \in (1,1 + \upsilon )\), \(\varepsilon\) and \(\upsilon\) are constants small enough. Observer gain \({k_i}\), \({\kappa _i}\), \((i = 1, \cdots ,n)\), then the matrix is:

$$\begin{aligned} {{\varvec{A}}_1}= & {} \left[ {\begin{array}{*{20}{c}} { - {k_1}}&{}1&{}0&{} \cdots &{}0\\ { - {k_2}}&{}0&{}1&{} \cdots &{}0\\ \vdots &{}{}&{}{}&{}{}&{}{}\\ { - {k_{n - 1}}}&{}0&{}0&{} \cdots &{}1\\ { - {k_n}}&{}0&{}0&{} \cdots &{}0 \end{array}} \right] \end{aligned}$$
(35)
$$\begin{aligned} {{\varvec{A}}_2}= & {} \left[ {\begin{array}{*{20}{c}} { - {\kappa _1}}&{}1&{}0&{} \cdots &{}0\\ { - {\kappa _2}}&{}0&{}1&{} \cdots &{}0\\ \vdots &{}{}&{}{}&{}{}&{}{}\\ { - {\kappa _{n - 1}}}&{}0&{}0&{} \cdots &{}1\\ { - {\kappa _n}}&{}0&{}0&{} \cdots &{}0 \end{array}} \right] \end{aligned}$$
(36)

where are all Hurwitz matrices. The system is stable at a fixed time, and the stability time T is:

$$\begin{aligned} T \le \frac{{\lambda _{\max }^\rho ({{\varvec{P}}_1})}}{{{r_1}\rho }} + \frac{1}{{{r_2}\sigma {\Upsilon ^\sigma }}} \end{aligned}$$
(37)

where \(\rho = 1 - \alpha\), \(\sigma = \beta - 1\), \({r_1} = {{{\lambda _{\min }}({\mathbf{{Q}}_1})} \big /{{\lambda _{\max }}({\mathbf{{P}}_1})}}\), \({r_2} = {{{\lambda _{\min }}({\mathbf{{Q}}_2})}\big / {{\lambda _{\max }}({{\varvec{P}}_2})}}\), \(0 < \Upsilon \le {\lambda _{\min }}({{\varvec{P}}_2})\). \({{\varvec{P}}_1}\), \({{\varvec{Q}}_1}\), \({{\varvec{P}}_2}\) and \({{\varvec{Q}}_2}\) are all positive definite non-singular matrices, and satisfy \({{\varvec{P}}_1}{{\varvec{A}}_1} + {\varvec{A}}_1^\mathrm{{T}}{{\varvec{P}}_1} = - {{\varvec{Q}}_1}\), \({{\varvec{P}}_2}{{\varvec{A}}_2} + {\varvec{A}}_2^\mathrm{{T}}{{\varvec{P}}_2} = - {{\varvec{Q}}_2}\).

Theorem 2

Under assumptions 1 to 3, the designed fixed time ESO (30) converges the estimation error to zero in fixed time. Meanwhile, the convergence time satisfies:

$$\begin{aligned} {T_{\mathrm{{Convergence}}}} \le \frac{{\lambda _{max}^{{a_0}}({{\varvec{P}}_1})}}{{\frac{{{\lambda _{min}}({{\varvec{Q}}_1})}}{{{\lambda _{max}}({{\varvec{P}}_1})}}{a_0}}} + \frac{1}{{\frac{{{\lambda _{min}}({{\varvec{Q}}_2})}}{{{\lambda _{max}}({{\varvec{P}}_2})}}{b_0}{\chi ^{{b_0}}}}} \end{aligned}$$
(38)

where \({\lambda _{min}}( \cdot )\) and \({\lambda _{max}}( \cdot )\) indicate the minimum and maximum eigenvalues of their matrices respectively, and the other parameters satisfy \({a_0} = 1 - {p_0}\), \({b_0} = {q_0} - 1\) and \(0< \chi < {\lambda _{min}}({{\varvec{P}}_2})\). The matrices including \({{\varvec{P}}_{1}},{{\varvec{P}}_{2}},{{\varvec{Q}}_1},{{\varvec{Q}}_2}\) are nonsingular symmetric positive definite and simultaneously satisfy \({{\varvec{P}}_i}{{\varvec{A}}_i} + {\varvec{A}}_i^{T}{{\varvec{P}}_i} = - {{\varvec{Q}}_i}(i = 1,2)\).

Proof

the observer error system is designed as follows:

$$\begin{aligned} \left\{ \begin{array}{l} \varvec{\tilde{\eta } } = \varvec{\eta } - \varvec{{\hat{\eta }} }\\ {\varvec{\tilde{\xi } }} = {\varvec{\xi }} - {\varvec{{\hat{\xi }} }}\\ \varvec{\tilde{\varLambda } } = \varvec{\varLambda } - \varvec{{\hat{\varLambda }} } \end{array} \right. \end{aligned}$$
(39)

The derivation of the above formula can be obtained,

$$\begin{aligned} \left\{ {\begin{array}{l} {\varvec{\dot{\tilde{\eta }} } = \varvec{\tilde{\xi } } - {\lambda _1}si{g^{{p_1}}}(\varvec{\tilde{\eta } }) - {\delta _1}si{g^{{q_1}}}(\varvec{\tilde{\eta } })}\\ {\varvec{\dot{\tilde{\xi } }} = \varvec{\tilde{\varLambda } } - {\lambda _2}si{g^{{p_2}}}(\varvec{\tilde{\eta } }) - {\delta _2}si{g^{{q_2}}}(\varvec{\tilde{\eta } })}\\ {\varvec{\dot{\tilde{\varLambda } }} = \varvec{\dot{\varLambda }} - {\lambda _3}si{g^{{p_3}}}(\varvec{\tilde{\eta } }) - {\delta _3}si{g^{{q_3}}}(\varvec{\tilde{\eta } }) - Xsgn(\varvec{\tilde{\eta } })} \end{array}} \right. \end{aligned}$$
(40)

According to Lemma 1, the observer estimation error \({\left[ {{\varvec{\tilde{\eta } }},{\varvec{\tilde{\xi } }},{\varvec{\tilde{\varLambda }}}} \right] ^T}\) achieves fixed time convergence within the time of Eq. 38.

Remark 1

The introduction of the fixed-time ESO has two advantages. First, compared with the fixed-time disturbance observer and fixed-time differentiator designed in [36], the fixed-time ESO designed above can realize the centralized estimation of sailing speed and external disturbances. Second, compared with the finite-time ESO designed by [37], the proposed state observer can make the error converge to the origin in a fixed time. In this paper, the fixed-time ESO is introduced into the design of an integral synovial control algorithm, which greatly improves the speed of error convergence and actual sailing accuracy of the USV in the course of path tracking.

3.2.2 Design of course controller

First, define the following error \({\psi _e}\):

$$\begin{aligned} {\psi _e} = \psi - {\psi _d} \end{aligned}$$
(41)

The derivative of \({\psi _e}\) can be obtained

$$\begin{aligned} {\dot{\psi }_e} = r - {\dot{\psi }_d} \end{aligned}$$
(42)

Then, the Lyapunov function for the heading tracking error is proposed as follows:

$$\begin{aligned} {V_2} = \frac{1}{2}\psi _e^2 \end{aligned}$$
(43)

The derivative of \(V_2\) can be obtained:

$$\begin{aligned} {\dot{V}_2} = {\psi _e}{\dot{\psi }_e} = {\psi _e}(r - {\dot{\psi }_d}) \end{aligned}$$
(44)

To realize the convergence of the heading following error, the following virtual control law is designed

$$\begin{aligned} {\alpha _r} = - {k_d}(\psi - {\psi _d}) + {\dot{\psi }_d} \end{aligned}$$
(45)

where \({k_d}\) is a positive design parameter.

Define the yaw velocity following error \({r_e} = r - {\alpha _r}\). Substituting the above into Eq. 44 to obtain:

$$\begin{aligned} {\dot{V}_2} = - {k_d}\psi _e^2 + {\psi _e}{r_e} \end{aligned}$$
(46)

Design the integral sliding surface \({s_\psi }\):

$$\begin{aligned} {s_\psi } = {\lambda _\psi }\int {{r_e}dt} + {r_e} \end{aligned}$$
(47)

where \({\lambda _\psi } > 0\).

Then the derivative of \({s_\psi }\) can be obtained:

$$\begin{aligned} {\dot{s}_\psi } = {\lambda _\psi }{r_e} + {\varLambda _3} + \frac{{{\tau _{r,c}}}}{{{m_{33}}}} - {\dot{{\alpha } _r}} \end{aligned}$$
(48)

Based on the above analysis, the adaptive sliding mode heading following control law \({\tau _r}\) can be designed:

$$\begin{aligned} {\tau _r} = {m_{33}}{\dot{{\alpha } _r}} - {m_{33}}{{\hat{\varLambda }} _3} - {m_{33}}{\lambda _\psi }{r_e} - {k_r}{s_\psi } \end{aligned}$$
(49)

Considering the limited yaw moment in actual navigation, the finite time saturation compensator is designed as follows by referring to [38]:

$$\begin{aligned} {\dot{e}_r} = - {k_{er1}}{e_r} - {k_{er0}}{E_r} + \Delta {\tau _r} \end{aligned}$$
(50)

where \({k_{er0}} > 0\) and \({k_{er1}} > 0\) are the design parameters, \(\Delta {\tau _r} = {\tau _r} - {\tau _{r0}}\) and \({E_r}\) is shown by the following formula:

$$\begin{aligned} {E_r} = \left\{ \begin{array}{l} {\left| {{e_r}} \right| ^{\frac{\mathrm{{1}}}{\mathrm{{2}}}}}{\mathop \textrm{sgn}} ({e_r}),{~~~~~~~~~~~~~~~~}if\mathrm{{ }}\left| {{e_r}} \right| \ge {\varepsilon _{er}}\\ \frac{3}{2}\varepsilon _{er}^{ - \frac{1}{2}}{e_r} - \frac{1}{2}\varepsilon _{er}^{ - \frac{3}{2}}e_r^2,{~~~~~~~}else \end{array} \right. \end{aligned}$$
(51)

Based on the finite time saturation compensation system, the course control law is designed:

$$\begin{aligned} {\tau _{r0}} = {m_{33}}{\dot{{\alpha }_r}} - {m_{33}}{{\hat{\varLambda }} _3} - {m_{33}}{\lambda _\psi }{r_e} - {k_r}{s_\psi } + {K_{er}}{e_r} \end{aligned}$$
(52)

The Lyapunov function is designed as follows:

$$\begin{aligned} {V_\psi } = \frac{{{m_{33}}}}{2}s_\psi ^2 + \frac{1}{2}e_r^2 \end{aligned}$$
(53)

Take the derivative of \({V_\psi }\), and substitute (48), (50), and (52) into the above

$$\begin{aligned} {{\dot{V}}_\psi }&= {\mathrm{{m}}_{33}}{s_\psi }{{\dot{s}}_\psi } + {e_r}{{\dot{e}}_r}&\nonumber \\&= {\mathrm{{m}}_{33}}{s_\psi }({\lambda _\psi }{r_e} + {m_{33}}{\varLambda _3} + \frac{{{\tau _{r,c}}}}{{{m_{33}}}} - {\dot{{\alpha }_r}}) + {e_r}( - {k_{er1}}{e_r}&\nonumber \\&- {k_{er0}}{E_r} + \Delta {\tau _r})&\nonumber \\&= {\mathrm{{m}}_{33}}{s_\psi }\frac{1}{{{m_{33}}}}\left( {{\tau _r} + \Delta {\tau _r}} \right) + {\lambda _\psi }{r_e} + {m_{33}}{\varLambda _3} -{\dot{{\alpha }_r}} - {k_{er1}}e_r^2&\nonumber \\&- {k_{er0}}{E_r}{e_r} + {e_r}\Delta {\tau _r}&\nonumber \\&= {\mathrm{{m}}_{33}}{s_\psi }[\frac{1}{{{m_{33}}}}({m_{33}}{\dot{{\alpha }_r}} - {m_{33}}{{{\hat{\varLambda }} }_3} - {m_{33}}{\lambda _\psi }{r_e} - {k_r}{s_\psi } + {K_{er}}{e_r}&\nonumber \\&+ \Delta {\tau _r}) + {\lambda _\psi }{r_e} + {\varLambda _3} - {\dot{{\alpha }_r}}]\mathrm{{ }} - {k_{er1}}e_r^2 - {k_{er0}}{E_r}{e_r} + {e_r}\Delta {\tau _r}&\nonumber \\&= - {k_r}s_\psi ^2 + {K_{er}}{s_\psi }{e_r} + {s_\psi }\Delta {\tau _r} - {k_{er1}}e_r^2 - {k_{er0}}{\left| {{e_r}} \right| ^{\frac{3}{2}}} + {e_r}\Delta {\tau _r} \end{aligned}$$
(54)

According to Young’s inequality, then:

$$\begin{aligned} {K_{er}}{s_\psi }{e_r}&\le \frac{1}{2}{K_{er}}{s_\psi }^2 + \frac{1}{2}{K_{er}}{e_r}^2,&\nonumber \\ {e_r}\Delta {\tau _r},&\le \frac{1}{2}{e_r}^2 + \frac{1}{2}\Delta {\tau _r}^2,&\nonumber \\ {s_\psi }\Delta {\tau _r}&\le \frac{1}{2}{s_\psi }^2 + \frac{1}{2}\Delta {\tau _r}^2. \end{aligned}$$
(55)

Substituting the above inequality, Eq. 54 becomes:

$$\begin{aligned} {{\dot{V}}_\psi }&\le - {k_r}s_\psi ^2 + \frac{1}{2}{K_{er}}{s_\psi }^2 + \frac{1}{2}{K_{er}}{e_r}^2 + \frac{1}{2}{s_\psi }^2 + \frac{1}{2}\Delta {\tau _r}^2&\nonumber \\&- {k_{er1}}e_r^2 - {k_{er0}}{\left| {{e_r}} \right| ^{\frac{3}{2}}} + \frac{1}{2}{e_r}^2 + \frac{1}{2}\Delta {\tau _r}^2&\nonumber \\&\le - \left( {{k_r} - \frac{1}{2}{K_{er}} - \frac{1}{2}} \right) {s_\psi }^2 - \left( {{k_{er1}} - \frac{1}{2}{K_{er}} - \frac{1}{2}} \right) {e_r}^2&\nonumber \\&- {k_{er0}}{\left| {{e_r}} \right| ^{\frac{3}{2}}} + \Delta {\tau _r}^2 \end{aligned}$$
(56)

3.2.3 Design of speed controller

The expected speed is defined as \({u_d}\), so the forward speed following error \({u_e}\) can be obtained as:

$$\begin{aligned} {u_e} = u - {u_d} \end{aligned}$$
(57)

The derivative of the above formula is

$$\begin{aligned} {\dot{u}_e} = \dot{u} - {\dot{u}_d} \end{aligned}$$
(58)

Design integral sliding mode surface \({s_u}\) for speed following error

$$\begin{aligned} {s_u} = {u_e} + {\lambda _u}\int {{u_e}dt} \end{aligned}$$
(59)

where \({\lambda _u} > 0\). Then, the derivative of \({s_u}\) is shown as follows:

$$\begin{aligned} {\dot{s}_u} = {\dot{u}_e} + {\lambda _u}{u_e} \end{aligned}$$
(60)

Based on the above analysis, the integral sliding mode heading following control law \({\tau _u}\) can be obtained

$$\begin{aligned} {\tau _u} = {m_{11}}({\dot{u}_d} - {\lambda _u}{u_e} - \hat{r}\hat{v} - {{\hat{\varLambda }} _1}\cos \psi - {{\hat{\varLambda }} _2}\sin \psi ) - {k_u}{s_u} \end{aligned}$$
(61)

Meanwhile, the finite time saturation compensation system of the following form is introduced:

$$\begin{aligned} {\dot{e}_u} = - {k_{eu1}}{e_u} - {k_{eu0}}{E_u} + \Delta {\tau _u} \end{aligned}$$
(62)

where \({k_{eu0}}\) and \({k_{eu1}}\) are positive design parameters, \(\Delta {\tau _u} = {\tau _u} - {\tau _{u0}}\) and \({E_u}\) is given by the following formula:

$$\begin{aligned} {E_u} = \left\{ \begin{array}{l} {\left| {{e_u}} \right| ^{\frac{\mathrm{{1}}}{\mathrm{{2}}}}}{\mathop \textrm{sgn}} ({e_u}),{~~~~~~~~~~~~~~~~}if\mathrm{{ }}\left| {{e_u}} \right| \ge {\varepsilon _{eu}}\\ \frac{3}{2}\varepsilon _{eu}^{ - \frac{1}{2}}{e_u} - \frac{1}{2}\varepsilon _{eu}^{ - \frac{3}{2}}e_u^2,{~~~~~~~}else \end{array} \right. \end{aligned}$$
(63)

The thrust control input for longitudinal velocity can be designed as:

$$\begin{aligned} {\tau _{u0}}&= {m_{11}}({\dot{u}_d} - {\lambda _u}{u_e} - \hat{r}\hat{v} - {{\hat{\varLambda }} _1}\cos \psi - {{\hat{\varLambda }} _2}\sin \psi ) - {k_u}{s_u}&\nonumber \\&+{K_{eu}}{e_u} \end{aligned}$$
(64)

Lyapunov function for the design of speed sliding surface is as follows:

$$\begin{aligned} {V_u} = \frac{{{m_{11}}}}{2}s_u^2 + \frac{1}{2}e_u^2 \end{aligned}$$
(65)

Take the derivative of \({V_u}\), and substitute (60), (62), and (64) into (65)

$$\begin{aligned} {{\dot{V}}_u}&= \mathrm{{ }}{\mathrm{{m}}_{11}}{s_u}{{\dot{s}}_u} + {e_u}{{\dot{e}}_u}&\nonumber \\&= {\mathrm{{m}}_{11}}{s_u}( {{\varLambda _1}\cos \psi + {\varLambda _2}\sin \psi + \frac{{{\tau _u} + \Delta {\tau _u}}}{{{m_{11}}}} + rv - {{\dot{u}}_d} + {\lambda _u}{u_e}} )&\nonumber \\&\mathrm{{ }} + {e_u}\left( { - {k_{eu1}}{e_u} - {k_{eu0}}{E_u} + \Delta {\tau _u}} \right)&\nonumber \\&= - {k_u}s_u^2\mathrm{{ + }}{s_u}\Delta {\tau _u}\mathrm{{ + }}{K_{eu}}{e_u}{s_u} - {k_{eu1}}e_u^2 - {k_{eu0}}{\left| {{e_u}} \right| ^{\frac{3}{2}}} + {e_u}\Delta {\tau _u} \end{aligned}$$
(66)

According to Young’s inequality, then

$$\begin{aligned} {K_{eu}}{s_u}{e_u}&\le \frac{1}{2}{K_{eu}}{s_u}^2 + \frac{1}{2}{K_{eu}}{e_u}^2,&\nonumber \\ {e_u}\Delta {\tau _u}&\le \frac{1}{2}{e_u}^2 + \frac{1}{2}\Delta {\tau _u}^2,&\nonumber \\ {s_u}\Delta {\tau _u}&\le \frac{1}{2}{s_u}^2 + \frac{1}{2}\Delta {\tau _u}^2. \end{aligned}$$
(67)

Applying the above inequality, equation (66) simplifies to:

$$\begin{aligned} {\dot{V}_u}&\le - ( {{k_u} - \frac{1}{2}{K_{eu}} - \frac{1}{2}} )s_u^2 - ( {{k_{eu1}} - \frac{1}{2}{K_{eu}} - \frac{1}{2}} ){e_u}^2&\nonumber \\&- {k_{eu0}}{\left| {{e_u}} \right| ^{\frac{3}{2}}} + \Delta {\tau _u}^2 \end{aligned}$$
(68)
Fig. 3
figure 3

Preset performance path following effect (straight line)

Fig. 4
figure 4

Path following position error (straight line)

Fig. 5
figure 5

Estimated value of unknown sideslip angle (straight line)

Fig. 6
figure 6

Estimated value of velocity (straight line)

4 Stability analysis

Theorem 3

For the USV mathematical model (7) and (9), the preset performance LOS guidance law (18) based on adaptive ESO (21) is designed for the uncertain model parameters and thrust constraints. The integrated sliding mode control laws (52) and (64) based on fixed time extended state observer (30) and finite time saturation compensation systems (50) and (62) are designed. By selecting appropriate parameters, all signals of the path following a closed-loop control system can be uniformly and ultimately bounded.

Proof

Design Lyapunov function for the whole control system:

$$\begin{aligned} V = {V_1}\mathrm{{ + }}{V_2} + {V_\psi } + {V_u} \end{aligned}$$
(69)

The derivative of (69) can be obtained:

$$\begin{aligned} \dot{V} =&{{\dot{V}}_1} + {{\dot{V}}_2} + {{\dot{V}}_\psi } + {{\dot{V}}_u}\nonumber \\ =&- {k_x}\delta _x^2 - ({k_y} - \frac{1}{2}{k_\varsigma })\delta _y^2 - ({m_\varsigma } - \frac{1}{2}{k_\varsigma } - \frac{1}{2})\varsigma _\mu ^2 - \frac{1}{\varepsilon }{\left\| {\varvec{z}} \right\| ^2} \nonumber \\ \mathrm{{ }}&- {\sigma _\varTheta }{{\tilde{\varTheta } }^2}- {k_d}\psi _e^2 - ( {{k_r} - \frac{1}{2}{K_{er}} - \frac{1}{2}} ){s_\psi }^2 - ( {{k_{er1}} - \frac{1}{2}{K_{er}}} \nonumber \\ \mathrm{{ }}&- {\frac{1}{2}} ){e^2}_r - {k_{er0}}{\left| {{e_r}} \right| ^{\frac{3}{2}}}- ( {{k_u} - \frac{1}{2}{K_{eu}} - \frac{1}{2}} )s_u^2 - ( {{k_{eu1}} - \frac{1}{2}{K_{eu}}} \nonumber \\ \mathrm{{ }}&-{ \frac{1}{2}} ){e_u}^2- {k_{eu0}}{\left| {{e_u}} \right| ^{\frac{3}{2}}}\mathrm{{ + }}{\sigma _\varTheta }{(\varTheta - {\varTheta _0})^2}+ \frac{1}{2}\Delta {\mu ^2} + \frac{1}{2}\psi _e^2 + \frac{1}{2}r_e^2 \nonumber \\&+ \Delta {\tau _r}^2 + \Delta {\tau _u}^2\nonumber \\ \mathrm{{ }}&\le - 2\gamma V + \Upsilon \end{aligned}$$
(70)

where

$$\begin{aligned} \gamma = \min \left\{ \begin{array}{l} {k_x},{k_y} - \frac{1}{2}{k_\varsigma },{m_\varsigma } - \frac{1}{2}{k_\varsigma } - \frac{1}{2},\frac{1}{\varepsilon },{\sigma _\varTheta },{k_{eu0}},\\ {k_r} - \frac{1}{2}{K_{er}}- \frac{1}{2}{k_{er1}} - \frac{1}{2}{K_{er}} - \frac{1}{2},{k_{er0}},{k_u} - \frac{1}{2}{K_{eu}} - \frac{1}{2},\\ {k_{eu1}} - \frac{1}{2}{K_{eu}} - \frac{1}{2},{k_d} \end{array} \right\} , \end{aligned}$$

\(\Upsilon = {\sigma _\varTheta }{(\varTheta - {\varTheta _0})^2}\mathrm{{ + }}\frac{1}{2}\Delta {\mu ^2} + \frac{1}{2}\psi _e^2 + \frac{1}{2}r_e^2 + \Delta {\tau _r}^2 + \Delta {\tau _u}^2.\)

By simplifying Eq. 70, then:

$$\begin{aligned} 0 \le V \le \left( {V(0) - \frac{{{\Upsilon _2}}}{{2{\gamma _2}}}} \right) {e^{ - 2{\gamma _2}t}} + \frac{{{\Upsilon _2}}}{{2{\gamma _2}}} \end{aligned}$$
(71)
Fig. 7
figure 7

Estimations of lumped disturbances (straight line)

It follows that V(t) is uniformly and ultimately bounded in bounded closed set \({\Omega _0}: = \left\{ {V \le \frac{{{\Upsilon _2}}}{{{\gamma _2}}}} \right\}\). According to the formula above, \({\delta _x},{\delta _y},{\varsigma _\mu },\tilde{\varTheta },{\psi _e},{s_u},{s_\psi },{e_r},{e_u}\) are all bounded. At the same time, the entire control system is uniform and ultimately bounded. The control objective of this paper is satisfied by selecting the design parameter \({k_s},k,{\eta _r},{K_r},{K_{er}},{\eta _u}, {K_u},{K_{eu}}\). Therefore, Theorem 3 can be proved.

Table 1 USV path following control scheme-related parameters

5 Simulation verification

For the sake of verifying the designed path following control law based on preset performance LOS, “Lanxin” USV of Dalian Maritime University is chosen to be used as the simulation research object. The simulation verifies the constraint effect of the proposed preset performance LOS under two paths of straight line and curve. The model parameters of the USV are given as follows: \({m_{11}} = 2652.52\), \({m_{22}} = 2825.57\), \({m_{33}} = 4201.68\), \({d_{11}} = 848.13\), \({d_{22}} = 10162.44\), \({d_{33}} = 22721.63\). The relevant design parameters of guidance subsystem and control subsystem are shown in Table 1.

The initial position coordinates of USV are set as \({[x(0),y(0)]^T} = {[0\,m,50\,m]^T}\), the expected speed is designed as \(5\,m/s\), and other initial states are set as 0. The saturations of the actuator are designed as follows: \({\tau _{r\max }} = 6000,{\tau _{r\min }} = - 6000,{\tau _{u\max }} = 10000,{\tau _{u\min }} = - 10000\),

In order to illustrate the superiority of the algorithm, the path tracking control law based on preset performance LOS (PPLOS) proposed in this paper is compared with AILOS guidance method in [7] in the guidance part. In the controller part, the integrated synovial control algorithm of fixed time ESO is simulated and compared with the integrated synovial control algorithm using only finite time ESO (FESO).

Fig. 8
figure 8

Surge and heading angle following error (straight line)

Fig. 9
figure 9

Control system output (straight line)

Fig. 10
figure 10

Preset performance path following effect (curve)

Fig. 11
figure 11

Path following position error (curves)

Fig. 12
figure 12

Estimated value of unknown sideslip angle (curves)

Fig. 13
figure 13

Estimated value of velocity (curves)

Fig. 14
figure 14

Estimations of lumped disturbances (curves)

Fig. 15
figure 15

Surge and heading angle following error (curves)

Fig. 16
figure 16

Control system output (curves)

The interferences used in the simulation are designed as

$$\begin{aligned} \left\{ \begin{array}{l} \mathrm{{du = 2000 + 500sin(0}}\mathrm{{.8t + 0}}\mathrm{{.3}}\pi \mathrm{{) + 500cos(0}}\mathrm{{.5t)}}\\ \mathrm{{dr = 2000 + 500cos(0}}\mathrm{{.4t + 0}}\mathrm{{.2}}\pi \mathrm{{) + 500sin(0}}\mathrm{{.4t)}}\\ \mathrm{{dv = 4000 + 250sin(0}}\mathrm{{.8t + 0}}\mathrm{{.2}}\pi \mathrm{{) + 250cos(0}}\mathrm{{.3t)}} \end{array} \right. \end{aligned}$$
(72)

5.1 Straight line path following

Parameterized path is designed as \({S_d} = {\left[ {\theta ,\theta } \right] ^T}\). The constraint function of the straight line is:

$$\begin{aligned} \left\{ \begin{array}{l} \left| {{x_e}(t)} \right|< (2 - 0.2){e^{ - 0.1t}} + 0.2\\ \left| {{y_e}(t)} \right| < (2 - 0.2){e^{ - 0.1t}} + 0.2 \end{array} \right. \end{aligned}$$
(73)

The simulation results at 5m/s are shown in Figs. 345678 and  9. Figure 3 shows the effect of overall path following. Compared with AILOS guidance law, the preset performance LOS proposed in this section has a slower convergence speed but less overshoot. Figure 4 can make a more intuitive comparison between the two guidance strategies. In terms of longitudinal error \({x_e}\), AILOS guidance law has a faster convergence speed, while the guidance strategy proposed in this section can also converge internally. Nevertheless, AILOS breaks the constraint condition of position error in terms of convergence effect of lateral error \({\mathrm{{y}}_e}\), while the preset performance LOS proposed in this section can be maintained within the given constraint condition. Figure 5 shows estimated value of unknown sideslip angle, and the simulation results show that the estimated effect is good. Figures 6 and  7 show the estimation effect of ESO at fixed time respectively. The estimation of speeds and lumping disturbances can realize convergence within 1s. The integrated synovial controller based on the fixed-time ESO and finite-time saturation compensator can not only achieve accurate and fast estimation of velocity variable and lumped disturbance, but also quickly compensate the saturation when thrust is limited. Compared with the finite-time interference estimation strategy, the proposed method has better simulation effect both in convergence rate and stability.

Figure 8 and Fig. 9 show the control effect of the control subsystem. The forward velocity error converges within, the heading Angle error appears a 2-second fluctuation at 5s, but it quickly converges smoothly. Thrust and torque are briefly restricted at the initial stage of control, but the output signal remained in the appropriate range after 2s.

5.2 Curve path following

The desired curve path is designed as \({S_d} = {\left[ {30\sin \left( {\frac{\theta }{{30}}} \right) + \theta ,\theta } \right] ^T}\), and the constraint function shown in Equation (64).

As can be seen from Figs. 1011 and  12, preset performance LOS has a smaller fluctuation range no matter at the initial control stage or the inflection point of the curve path, and always meets the constraint conditions. The fixed-time ESO of Figs. 13 and  14 can estimate lumped disturbances and velocity variables well. It can be clearly seen from the figure that fixed-time ESO is better than finite-time ESO (FESO) for velocity and lumped disturbance estimation speed and accuracy. In Fig. 15, the heading angle following the error fluctuates slightly at the initial stage but converges steadily at 8s. Combined with Figs. 15 and  16, the control effect when the inflection point is reached in 30s is analyzed. The actuator falls into the thrust limitation problem, and the control output returns to a reasonable range within about 8s through the action of the saturation compensation system of finite time.

6 Conclusion

In this paper, an integral sliding mode control algorithm based on preset performance LOS and fixed time ESO is designed for the path following control of USV with preset performance, considering the problems of unknown disturbances, model uncertainties, and thrust constraints. In the guidance subsystem, the position errors of USV meet the preset constraint condition through error conversion, and the effect of sideslip Angle is observed and compensated by adaptive ESO. In the control subsystem, an integral sliding mode controller is designed based on the fixed time ESO and finite time saturation compensator, which can accurately estimate the velocity variable and lumped disturbance, and can compensate for the saturation of thrust constrained quickly. Finally, the stability analysis proves that the preset performance control strategy of the USV path following proposed in this paper can satisfy the constraint conditions and ensure that all signals of the USV control system are consistent and finally bounded by selecting appropriate parameters. Simulation experiments verify the effectiveness of the algorithm by two different paths.

There are still some deficiencies in the research of this paper, which can be improved in the following aspects in future work. One is to take into account more real-world sailing conditions, such as ocean currents. The second is to improve system performance, such as continuous improvement of fixed-time ESO algorithm to achieve faster convergence and tracking accuracy. Third, the single-ship path following algorithm is extended to the multi-ship formation control algorithm.