Keywords

1 Introduction

As an effective equipment for the exploration and development of ocean resources, USVs are widely used in military and civil fields such as maritime battlefield reconnaissance, scientific experiments, salvage and lifesaving [1]. In recent years trajectory tracking control of USVs has attracted growing attention. However, for the trajectory tracking problem of USVs, there exists some significant challenges, which include

  1. 1)

    in order to reduce manufacturing costs, most of the deployed and developing USVs are underactuated, while most of the existing methods about trajectory tracking of USVs are designed for fullactuated USVs, which means these methods cannot be applied directly to underactuated USVs;

  2. 2)

    due to the existence of external disturbance induced by wind, waves, and ocean currents, the tracking performance of USVs is inevitably affected;

  3. 3)

    when carrying out tasks such as target tracking or stalking, USVs are usually needed to track the target as soon as possible, which results in a high requirement to the tracking speed and accurace of USVs.

Since the unknown external disturbance can severely affect the trajectory tracking performance of USVs, thus how to compensate the negative influences induced by disturbance is practically valuable and attractive. In order to solve this problem, the disturbance must be accurately estimated first. In [2], a disturbance observer was developed to estimate the external disturbance. However, this developed disturbance observer could only estimate slow time-varying disturbance. By taking into account the coexistence of slow time-varying disturbance and non-slow time-varying disturbance, a more capable disturbance observer was presented in [3]. Moreover, based on the presented disturbance observer in [3], an efficient trajectory tracking control strategy and a high-precision dynamic positioning control strategy were proposed in [4] and [5], respectively. Therefore, constructing a disturbance observer is an effective way to estimate the unknown external disturbance, which gives the first motivation of this paper.

As mentioned above, the trajectory tracking control of USVs has attracted growing attention. Accordingly, a number of notable results have been proposed in the literature. To name a few, under backstepping control methods, a trajectory tracking control strategy was proposed in [6] with double closed-loop structure. However, the introduction of backstepping technique will increase computation and decrease convergence speed. In order to solve these shortcomings, an adaptive dynamic surface control (DSC) method was presented in [7]. Moreover, this DSC method can effectively used to reduce the complexity of the controllers designed. Based on DSC technique, an adaptive updating law, which could effectively improve the computational efficiency of trajectory tracking control algorithms, was proposed in [8]. On the basis of [8], a adaptive control method was proposed in [9] by taking “explosion of complexity” problem into consideration. Consider the advantages of backstepping and DSC techniques synthetically, how to propose a rapid and effective trajectory tracking control scheme for USVs is important, which gives the second and main motivation of this paper.

In addition, by constraining state errors during the process of USV trajectory tracking controller design, the transient and steady-state performance of control system can be significantly improved. An effective way to constrain these errors is to construct a barrier Lyapunov function (BLF). For example, by maintaining the boundedness of a BLF in the closed loop system, the state constraint was implemented in [10]. Motivated by [10], an asymmetric BLF was proposed in [11]. To solve the problem of multiple output constraints in the tracking control, a symmetric BLF was established in [12]. Compared with traditional USV control schemes, constructing a time-varying tan-type BLF to constrain the position errors is more practically valuable and attractive. Thus, how to develop an appropriate error constrain function is the third motivation of this paper.

This paper aims to solve the trajectory tracking problem of underactuated USVs. The main contributions of this paper are highlighted as follows:

  1. 1)

    In order to avoid the “explosion of complexity” problem induced by virtual control variable differentiation, a first order filter and a time-varying tan-type BLF are constructed to reduce the complexity of calculation.

  2. 2)

    An appropriate trajectory tracking control scheme, which can guarantee tracking errors exponentially converge to a bounded region, are proposed for underactuated USV systems.

2 Problem Formulation and Preliminaries

2.1 Modeling for Underactuated USVs

Motivated by [13], the three degrees of freedom (surge-sway-yaw) dynamic model of an underactuated USV can be expressed as

$$\begin{aligned} \begin{array}{*{35}{l}} \left\{ \begin{array}{*{35}{l}} \dot{x}=u\cos \varphi -v\sin \varphi \\ \dot{y}=u\sin \varphi +v\cos \varphi \\ \dot{\varphi }=r \\ \end{array} \right. ~\left\{ \begin{array}{*{35}{l}} \dot{u}={{f}_{u}(\nu )}+\frac{1}{{{m}_{u}}}{{\tau }_{u}}+\frac{1}{{{m}_{u}}}{{\tau }_{wu}} \\ \dot{v}={{f}_{v}(\nu )}+\frac{1}{{{m}_{v}}}{{\tau }_{wv}} \\ \dot{r}={{f}_{r}(\nu )}+\frac{1}{{{m}_{r}}}{{\tau }_{r}}+\frac{1}{{{m}_{r}}}{{\tau }_{wr}} \\ \end{array} \right. \\ \end{array} \end{aligned}$$
(1)

with

$$\begin{aligned} \left\{ \begin{array}{*{35}{l}} {{f}_{u}(\nu )}=\frac{{{m}_{v}}}{{{m}_{u}}}vr-\frac{{{d}_{u}}}{{{m}_{u}}}u-\frac{{{d}_{u2}}}{{{m}_{u}}}\left| u \right| u-\frac{{{d}_{u3}}}{{{m}_{u}}}{{u}^{3}} \\ {{f}_{v}(\nu )}=-\frac{{{m}_{u}}}{{{m}_{v}}}ur-\frac{{{d}_{v}}}{{{m}_{v}}}v-\frac{{{d}_{v2}}}{{{m}_{v}}}\left| v \right| v-\frac{{{d}_{v3}}}{{{m}_{v}}}{{v}^{3}} \\ {{f}_{r}(\nu )}=\frac{({{m}_{u}}-{{m}_{v}})}{{{m}_{r}}}uv-\frac{{{d}_{r}}}{{{m}_{r}}}r-\frac{{{d}_{r2}}}{{{m}_{r}}}\left| r \right| r-\frac{{{d}_{r3}}}{{{m}_{r}}}{{r}^{3}} \\ \end{array} \right. \end{aligned}$$
(2)

All the parameters in (1) and (2) can be found in [13].

The reference trajectory of the USV is generated by a virtual leader with the dynamic form as \(\eta _d=[x_d,~y_d,~\varphi _d]^T\). Without loss of generality, the following assumption is introduced. It is assumed that the reference trajectory \({{\eta }_{d}}\) and the external disturbance \(\tau _w\) are bounded.

2.2 Error Constraint Function

By improving the constant BLF proposed in [10], a time-varying tan-type BLF is developed in this paper, which can be expressed as \({{V}_{b}}=\frac{k_{b}^{2}}{\pi }\tan \left( \frac{\pi z_{1}^{T}{{z}_{1}}}{2k_{b}^{2}} \right) \), where \(k_b\) is a time-varying upper bound function of \(|z_1|\) with \(|z_1(0)|\le k_b(0)\).

Remark 1. Note that the initial value of \( \left\| {{z}_{1}} \right\| \) satisfies \( \left\| {{z}_{1}}(0) \right\| \le {{k}_{b}}(0) \) and \( V_{b} \) is bounded. If there exist \({{\lim }_{\left\| {{z}_{1}} \right\| \rightarrow {{k}_{b}}}}\frac{k_{b}^{2}}{\pi }\tan \left( \frac{\pi z_{1}^{T}{{z}_{1}}}{2k_{b}^{2}} \right) =\infty \), one can conclude that \(|z_1|\) will not exceed \(k_b\). Moreover, If \( \left\| {{z}_{1}} \right\| \) is not required to be constrained. Then the following equation \({{\lim }_{{{k}_{b}}\rightarrow \infty }}\frac{k_{b}^{2}}{\pi }\tan \left( \frac{\pi z_{1}^{T}{{z}_{1}}}{2k_{b}^{2}} \right) =\frac{1}{2}z_{1}^{T}{{z}_{1}}\) is obtained. It means that when there is no constraint function or the constraint function is infinite, the time-varying BLF will degrade to the commonly form, i.e., \( V_b=\frac{1}{2}z_{1}^{T}{{z}_{1}} \).

3 Design of Control Scheme

In order to solve the trajectory tracking problem of the underactuated USV, an appropriate trajectory tracking control scheme is proposed in this section by taking into account error constraints.

The position and heading angle errors in the earth-fixed frame are defined as \(x_e\), \(y_e\), and \(\varphi _e\). Meanwhile, these errors in the body-fixed frame are defined as \(e_x\), \(e_y\), and \(e_\varphi \). The conversion relationship between the errors in two different frames is:

$$\begin{aligned} \left[ \begin{array}{c} {{e}_{x}} \\ {{e}_{y}} \\ {{e}_{\varphi }} \\ \end{array} \right] =\left[ \begin{array}{ccc} \cos \varphi &{} \sin \varphi &{} 0 \\ -\sin \varphi &{} \cos \varphi &{} 0 \\ 0 &{} 0 &{} 1 \\ \end{array}\right] \left[ \begin{array}{c} {{x}_{e}} \\ {{y}_{e}} \\ {{\varphi }_{e}} \\ \end{array} \right] \end{aligned}$$
(3)

Taking the time derivative of (3), one has

$$\begin{aligned} \left[ \begin{array}{c} {{{\dot{e}}}_{x}} \\ {{{\dot{e}}}_{y}} \\ {{{\dot{e}}}_{\varphi }} \\ \end{array} \right] =\left[ \begin{array}{c} u+r{{e}_{y}}-{{v}_{p}}\cos {{e}_{\varphi }} \\ v-r{{e}_{x}}+{{v}_{p}}\sin {{e}_{\varphi }} \\ r-{{{\dot{\varphi }}}_{d}} \\ \end{array} \right] \end{aligned}$$
(4)

where \( {{v}_{p}}=\sqrt{{{{\dot{x}}}_{d}}^{2}+{{{\dot{y}}}_{d}}^{2}} \) and \({{\varphi }_{d}}=\arctan (\frac{{{{\dot{y}}}_{d}}}{{{{\dot{x}}}_{d}}}) \).

To guarantee the convergence of position errors \( e_{x} \) and \( e_{y} \), a time-varying tan-type BLF function is constructed as follows:

$$\begin{aligned} {{V}_{1}}=\frac{k_{b1}^{2}}{\pi }\tan \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) +\frac{k_{b2}^{2}}{\pi }\tan \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) \end{aligned}$$
(5)

where \( {k_{b1}} \) and \({k_{b2}} \) are time-varying parameters to be designed later.

Taking the time derivative of \( V_{1} \) in (5), we have

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{1}}=&{}\frac{2{{k}_{b1}}{{{\dot{k}}}_{b1}}}{\pi }\tan \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) +\frac{{2}{{k}_{b2}}{{{\dot{k}}}_{b2}}}{\pi }\tan \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) -\frac{{{{\dot{k}}}_{b1}}}{{{k}_{b1}}}\frac{e_{x}^{2}}{{{\cos }^{2}}\left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) } \\ &{}-\frac{{{{\dot{k}}}_{b2}}}{{{k}_{b2}}}\frac{e_{y}^{2}}{{{\cos }^{2}}\left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) }+\frac{{{e}_{x}}{{{\dot{e}}}_{x}}}{{{\cos }^{2}}\left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) }+\frac{{{e}_{y}}{{{\dot{e}}}_{y}}}{{{\cos }^{2}}\left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) } \\ \end{array} \end{aligned}$$
(6)

Let \({{l}_{1}}=\frac{1}{{{\cos }^{2}}\left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) }\), \({{l}_{2}}=\frac{1}{{{\cos }^{2}}\left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) }\), \({{k}_{11}}={{\sup }_{t}}\sqrt{(\frac{{{{\dot{k}}}_{b1}}}{{{k}_{b1}}})^{2}+{{\sigma }_{1}}}, {{k}_{22}}={{\sup }_{t}} \sqrt{(\frac{{{{\dot{k}}}_{b2}}}{{{k}_{b2}}})^{2}+{{\sigma }_{2}}}\), where \({{\sigma }_{1}}>0\) and \( {{\sigma }_{2}}>0 \) are two predefined scalar. Substituting (4) into (6) yields

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{1}}<&{}2{{k}_{11}}\frac{k_{b1}^{2}}{\pi }\tan \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) +2{{k}_{22}}\frac{k_{b2}^{2}}{\pi }\tan \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) +{{k}_{11}}{{l}_{1}}e_{x}^{2}+{{k}_{22}}{{l}_{2}}e_{y}^{2}\\ &{}+\, {{l}_{1}}{{e}_{x}}(u+r{{e}_{y}}-{{v}_{p}}\cos {{e}_{\varphi }})+{{l}_{2}}{{e}_{y}}(v-r{{e}_{x}}+{{v}_{p}}\sin {{e}_{\varphi }}) \end{array} \end{aligned}$$
(7)

To guarantee the convergence of yaw velocity error, an auxiliary variable \(h={{v}_{p}}\sin {{\varphi }_{e}} \) is introduced. Meanwhile, a virtual control laws are designed as:

$$\begin{aligned} \begin{array}{*{35}{l}} {{u}_{\kappa }}&{}=-(2{{k}_{11}}+{{k}_{1}})\frac{k_{b1}^{2}}{\pi }\frac{1}{{{e}_{x}}}\sin \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) \cos \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) -{{k}_{11}}{{e}_{x}}-r{{e}_{y}}+{{v}_{p}}\cos {{e}_{\varphi }}\\ {{h}_{\kappa }}&{}=-(2{{k}_{22}}+{{k}_{2}})\frac{k_{b2}^{2}}{\pi }\frac{1}{{{e}_{y}}}\sin \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) \cos \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) -{{k}_{22}}{{e}_{y}}-v+r{{e}_{y}} \end{array} \end{aligned}$$
(8)

where \( u_{k} \) and \( h_{k} \) are the virtual control signals of u and h, respectively; \( k_{1}\), \(k_{2}\), \(k_{11}\), and \(k_{22} \) are positive parameters to be designed later; \( k_{b1} \) and \( k_{b2} \) are the time-varying bound values of \( \left\| {{e}_{x}} \right\| \) and \( \left\| {{e}_{y}} \right\| \), respectively. To avoid the derivative of the virtual control signals \(u_k\) and \(h_k\), the DSC technique is adopted in the following analysis.

Let \( u_{k} \) and \( h_{k} \) pass through two first-order low-pass filters with the filter time constants \( {{\lambda }_{1}} \) and \( {{\lambda }_{2}} \) to obtain \( u_{f} \) and \( h_{f} \), respectively. There are

$$\begin{aligned} \left\{ \begin{array}{*{35}{l}} {{\lambda }_{1}}{{u}_{f}}+{{u}_{f}}={{u}_{\kappa }} \\ {{u}_{f}}(0)={{u}_{\kappa }}(0) \\ \end{array} \right. ~\left\{ \begin{array}{*{35}{l}} {{\lambda }_{2}}{{h}_{f}}+{{h}_{f}}={{h}_{\kappa }} \\ {{h}_{f}}(0)={{h}_{\kappa }}(0) \\ \end{array} \right. \end{aligned}$$
(9)

Then, define the following new error functions:

$$\begin{aligned} {{z}_{u}}={{u}_{f}}-{{u}_{\kappa }},~{{e}_{u}}=u-{{u}_{f}},~{{z}_{h}}={{h}_{f}}-{{h}_{\kappa }},~{{e}_{h}}=h-{{h}_{f}} \end{aligned}$$
(10)

Taking the time derivative of \( e_{h} \) in (10), one has

$$\begin{aligned} {{\dot{e}}_{h}}={{\dot{v}}_{p}}\sin {{e}_{\varphi }}+{{v}_{p}}\cos {{e}_{\varphi }}(r-{{\dot{\varphi }}_{d}})+\frac{1}{{{\lambda }_{2}}}{{z}_{h}} \end{aligned}$$
(11)

Obviously, (7) is converted to

$$\begin{aligned} {{\dot{V}}_{1}}<-{{k}_{1}}\frac{k_{b1}^{2}}{\pi }\tan \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) -{{k}_{2}}\frac{k_{b2}^{2}}{\pi }\tan \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) +{{l}_{1}}{{e}_{x}}({{e}_{u}}+{{z}_{u}})+{{l}_{2}}{{e}_{y}}({{e}_{h}}+{{z}_{h}}) \end{aligned}$$
(12)

Let \( T=-{{k}_{1}}\frac{k_{b1}^{2}}{\pi }\tan \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) -{{k}_{2}}\frac{k_{b2}^{2}}{\pi }\tan \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) \), then (12) can be rewritten as

$$\begin{aligned} {{\dot{V}}_{1}}<T+{{l}_{1}}{{e}_{x}}({{e}_{u}}+{{z}_{u}})+{{l}_{2}}{{e}_{y}}({{e}_{h}}+{{z}_{h}}) \end{aligned}$$
(13)

Consider the following Lyapunov function candidate:

$$\begin{aligned} {{V}_{{2}}}={{V}_{{1}}}+\frac{{1}}{{2}}e_{h}^{2}+\frac{{1}}{{2}}e_{\varphi }^{2} \end{aligned}$$
(14)

Taking the time derivative of (14), one obtains

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{2}}={{{\dot{V}}}_{1}}+{{e}_{h}}({{{\dot{v}}}_{p}}\sin {{e}_{\varphi }}+{{v}_{p}}\cos {{e}_{\varphi }}(r-{{{\dot{\varphi }}}_{d}})+\frac{1}{{{\lambda }_{2}}}{{z}_{h}})+{{e}_{\varphi }}(r-{{{\dot{\varphi }}}_{d}}) \end{array} \end{aligned}$$
(15)

Let \( r_{k} \) be the virtual control signal of yaw velocity r. Then, design the following virtual control law:

$$\begin{aligned} {{r}_{\kappa }}={{k}_{3}}({{e}_{\varphi }}+{{e}_{h}}{{v}_{p}}\cos {{e}_{\varphi }})+{{\dot{\varphi }}_{d}} \end{aligned}$$
(16)

Similar to (9), let \( r_{k} \) pass through a first-order low-pass filter with the filter time constant \( {{\lambda }_{3}} \) to obtain \( r_{f} \), that is

$$\begin{aligned} {{\lambda }_{3}}{{r}_{f}}+{{r}_{f}}={{r}_{\kappa }}, ~{{r}_{f}}(0)={{r}_{\kappa }}(0) \end{aligned}$$
(17)

Similarly, construct the following new error functions:

$$\begin{aligned} {{z}_{r}}={{r}_{f}}-{{r}_{\kappa }},~{{e}_{r}}=r-{{r}_{f}} \end{aligned}$$
(18)

Substituting (16), (17), and (18) into (15) yields

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{2}}<&{}T-{{k}_{3}}{{({{e}_{\varphi }}+{{e}_{h}}{{v}_{p}}\cos {{e}_{\varphi }})}^{2}}+{{l}_{1}}{{e}_{x}}({{e}_{u}}+{{z}_{u}})+{{l}_{2}}{{e}_{y}}({{e}_{h}}+{{z}_{h}}) \\ &{}+\, {{e}_{h}}({{{\dot{v}}}_{p}}\sin {{e}_{\varphi }}+\frac{1}{{{\lambda }_{2}}}{{z}_{h}})+({{e}_{r}}+{{z}_{r}})({{e}_{\varphi }}+{{e}_{h}}{{v}_{p}}\cos {{e}_{\varphi }}) \\ \end{array} \end{aligned}$$
(19)

According to (10) and (18), one has

$$\begin{aligned} {{{\dot{e}}}_{u}}={{f}_{u}(\nu )}+\frac{1}{{{m}_{u}}}{{\tau }_{u}}+\frac{1}{{{m}_{u}}}{{\tau }_{wu}}+\frac{1}{{{\lambda }_{1}}}{{z}_{u}}, ~{{{\dot{e}}}_{r}}={{f}_{r}(\nu )}+\frac{1}{{{m}_{r}}}{{\tau }_{r}}+\frac{1}{{{m}_{r}}}{{\tau }_{wr}}+\frac{1}{{{\lambda }_{3}}}{{z}_{r}} \end{aligned}$$
(20)

Consider the following Lyapunov function candidate:

$$\begin{aligned} {{V}_{3}}={{V}_{2}}+\frac{{1}}{{2}}{{m}_{u}}e_{u}^{2}+\frac{{1}}{{2}}{{m}_{r}}e_{r}^{2} \end{aligned}$$
(21)

Taking the time derivative of (21), we have

$$\begin{aligned} \begin{array}{*{35}{l}} \dot{V}_3=&\dot{V}_2+e_u(m_u f_u(\nu )+\tau _u+\tau _{wu}+\frac{m}{u}\lambda _1 z_u) +{{e}_{r}}({{m}_{r}}{{f}_{r}(\nu )}+{{\tau }_{r}}+{{\tau }_{wr}}+\frac{{{m}_{r}}}{{{\lambda }_{3}}}{{z}_{r}}) \end{array} \end{aligned}$$
(22)

Substituting (20) into (22) yields

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{3}}<&{}T-{{k}_{3}}{{({{e}_{\varphi }}+{{e}_{h}}{{v}_{p}}\cos {{e}_{\varphi }})}^{2}}+{{e}_{u}}({{l}_{1}}{{e}_{x}}+{{m}_{u}}{{f}_{u}(\nu )}+{{\tau }_{u}}+{{\tau }_{wu}}+\frac{{{m}_{u}}}{{{\lambda }_{1}}}{{z}_{u}})\\ &{}+\, {{e}_{r}}({{e}_{\varphi }}+{{m}_{r}}{{f}_{r}(\nu )} +{{\tau }_{r}}+{{\tau }_{wr}}+\frac{{{m}_{r}}}{{{\lambda }_{3}}}{{z}_{r}})+{{l}_{1}}{{e}_{x}}{{z}_{u}}+{{l}_{2}}{{e}_{y}}{{z}_{h}} \\ &{}+\, {{e}_{h}}({{l}_{2}}{{e}_{y}}+{{{\dot{v}}}_{p}}\sin {{e}_{\varphi }}+\frac{1}{{{\lambda }_{2}}}{{z}_{h}})+{{z}_{r}}({{e}_{\varphi }}+{{e}_{h}}{{v}_{p}}\cos {{e}_{\varphi }}) \\ \end{array} \end{aligned}$$
(23)

Then, the actual feedback control laws \({{\tau }_{u}} \) and \({{\tau }_{r}} \) can be designed as

$$\begin{aligned} {{\tau }_{u}}=-{{k}_{4}}{{e}_{u}}-{{l}_{1}}{{e}_{x}}-{{m}_{u}}{{f}_{u}(\nu )}-\tau _{wu}-\frac{{{m}_{u}}}{{{\lambda }_{1}}}{{z}_{u}} \end{aligned}$$
(24)
$$\begin{aligned} {{\tau }_{r}}=-{{k}_{5}}{{e}_{r}}-{{e}_{\varphi }}-{{m}_{r}}{{f}_{r}(\nu )}-\tau _{wr}-\frac{{{m}_{r}}}{{{\lambda }_{3}}}{{z}_{r}} \end{aligned}$$
(25)

Since the unmeasurable disturbance \(\tau _{wu}\) and \(\tau _{wr}\) in (24) and (25) are unavailable for the control law design. To compensate the negative influences induced by external disturbance, the following disturbance observers are established

$$\begin{aligned} {{{\hat{\tau }}}_{wu}}={{\beta }_{1}}{+}{{k}_{wu}}{{m}_{u}}u, ~{{{\dot{\beta }}}_{1}}=-{{k}_{wu}}{{\beta }_{1}}-{{k}_{wu}}({{m}_{u}}{{f}_{v}}\left( \nu \right) +{{\tau }_{u}}{+}{{k}_{wu}}{{m}_{u}}u) \end{aligned}$$
(26)
$$\begin{aligned} {{{\hat{\tau }}}_{wr}}={{\beta }_{2}}{+}{{k}_{wr}}{{m}_{r}}r, ~{{{\dot{\beta }}}_{2}}=-{{k}_{wr}}{{\beta }_{2}}-{{k}_{wr}}({{m}_{r}}{{f}_{r}}\left( \nu \right) +{{\tau }_{r}}{+}{{k}_{wr}}{{m}_{r}}r) \end{aligned}$$
(27)

where \(\beta _1\) and \(\beta _2\) are the observers state; \(k_{wu}\) and \(k_{wr}\) are positive parameters to be designed later; \(\hat{\tau }_{wu}\) and \(\hat{\tau }_{wr}\) are the estimated values of \(\tau _{wu}\) and \(\tau _{wr}\), respectively; Define the observer errors as \(\tilde{\tau }_{wu}=\hat{\tau }_{wu}-\tau _{wu}\) and \(\tilde{\tau }_{wr}=\hat{\tau }_{wr}-\tau _{wr}\). Then, (24) and (25) can be rewritten as

$$\begin{aligned} {{\tau }_{u}}=-{{k}_{4}}{{e}_{u}}-{{l}_{1}}{{e}_{x}}-{{m}_{u}}{{f}_{u}(\nu )}-\hat{\tau }_{wu}-\frac{{{m}_{u}}}{{{\lambda }_{1}}}{{z}_{u}} \end{aligned}$$
(28)
$$\begin{aligned} {{\tau }_{r}}=-{{k}_{5}}{{e}_{r}}-{{e}_{\varphi }}-{{m}_{r}}{{f}_{r}(\nu )}-\hat{\tau }_{wr}-\frac{{{m}_{r}}}{{{\lambda }_{3}}}{{z}_{r}} \end{aligned}$$
(29)

Consider the following Lyapunov function candidate:

$$\begin{aligned} V_4=V_3+\frac{1}{2}\tilde{\tau }^2_{wu}+\frac{1}{2}\tilde{\tau }^2_{wr} \end{aligned}$$
(30)

whose derivative is

$$\begin{aligned} \dot{V}_4=\dot{V}_3+\tilde{\tau }_{wu}({{{\dot{\tau }}}_{wu}}-{{k}_{wu}}{{{\tilde{\tau }}}_{wu}})+\tilde{\tau }_{wr}({{{\dot{\tau }}}_{wr}}-{{k}_{wr}}{{{\tilde{\tau }}}_{wr}}) \end{aligned}$$
(31)

Substituting (28) and (29) into (30) yields

$$\begin{aligned} {{\dot{V}}_{4}}<T-{{k}_{3}}{{({{e}_{\varphi }}+{{e}_{h}}{{v}_{p}}\cos {{e}_{\varphi }})}^{2}}-{{k}_{4}}e_{u}^{2}-{{k}_{5}}e_{r}^{2}-k_{wu}\tilde{\tau }^2_{wu}-k_{wr}\tilde{\tau }^2_{wr}+\delta \end{aligned}$$
(32)

where \( \delta ={{l}_{1}}{{e}_{x}}{{z}_{u}}+{{l}_{2}}{{e}_{y}}{{z}_{h}}+{{e}_{h}}({{l}_{2}}{{e}_{y}}+{{\dot{v}}_{p}}\sin {{e}_{\varphi }}+\frac{1}{{{\lambda }_{2}}}{{z}_{h}})+{{z}_{r}}({{e}_{\varphi }}+{{e}_{h}}{{v}_{p}}\cos {{e}_{\varphi }})+{{e}_{u}}{{\tilde{\tau }}_{wu}}+{{e}_{r}}{{\tilde{\tau }}_{wr}}-\tilde{\tau }_{wu}\dot{\tau }_{wu}-\tilde{\tau }_{wu}\dot{\tau }_{wu}\).

4 Stability Analysis

In this section, we analyze the stability of the designed trajectory tracking control system. Consider a Lyapunov function candidate as

$$\begin{aligned} {{V}_{5}}={{V}_{4}}+\frac{{1}}{{2}}(z_{u}^{2}+z_{h}^{2}+z_{r}^{2}) \end{aligned}$$
(33)

whose derivative is

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{5}}={{{\dot{V}}}_{4}}-\frac{1}{{{\lambda }_{1}}}z_{u}^{2}-\frac{1}{{{\lambda }_{2}}}z_{h}^{2}-\frac{1}{{{\lambda }_{3}}}z_{r}^{2}-{{z}_{u}}{{\varPsi }_{1}}-{{z}_{h}}{{\varPsi }_{2}}-{{z}_{r}}{{\varPsi }_{3}} \\ \end{array} \end{aligned}$$
(34)

where \( {{\dot{z}}_{u}}={{\dot{u}}_{f}}-{{\dot{u}}_{\kappa }}=-\frac{1}{{{\gamma }_{1}}}{{z}_{u}}-{{\varPsi }_{1}}, {{\dot{z}}_{h}}={{\dot{h}}_{f}}-{{\dot{h}}_{\kappa }}=-\frac{1}{{{\lambda }_{2}}}{{z}_{h}}-{{\varPsi }_{2}},{{\dot{z}}_{r}}={{\dot{r}}_{f}}-{{\dot{r}}_{\kappa }}=-\frac{1}{{{\gamma }_{3}}}{{z}_{r}}-{{\varPsi }_{3}} \).

It is assumed that \( {{\varPsi }_{1}} \), \( {{\varPsi }_{2}} \), and \({{\varPsi }_{3}} \) are continuous functions with maximum \( {{\bar{\varPsi }}_{1}} \), \( {{\bar{\varPsi }}_{2}} \), and \( {{\bar{\varPsi }}_{3}} \). Then, substituting (32) into (34) yields

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{5}}<&{}T-{{k}_{3}}e_{\varphi }^{2}-{{k}_{3}}{{({{v}_{p}}\cos {{e}_{\varphi }})}^{2}}e_{h}^{2}-{{k}_{4}}e_{u}^{2}-{{k}_{5}}e_{r}^{2}-2{{k}_{3}}{{e}_{h}}{{e}_{\varphi }}{{v}_{p}}\cos {{e}_{\varphi }} \\ &{}-\,k_{wu}\tilde{\tau }^2_{wu}-k_{wr}\tilde{\tau }^2_{wr}-\frac{1}{{{\lambda }_{1}}}z_{u}^{2}-\frac{1}{{{\lambda }_{2}}}z_{h}^{2}-\frac{1}{{{\lambda }_{3}}}z_{r}^{2}-{{z}_{u}}{{\varPsi }_{1}}-{{z}_{h}}{{\varPsi }_{2}}-{{z}_{r}}{{\varPsi }_{3}}+\delta \\ \end{array} \end{aligned}$$
(35)

It is assumed that \( {\bar{\gamma }} \), \({{{\bar{\tau }}}_{wu}} \), \({{{\bar{\tau }}}_{wr}}\), \({{{\bar{k}}}_{b1}} \) and \({{{\bar{k}}}_{b2}} \) are continuous functions with maximum \( {\gamma } \), \( {{{\dot{\tau }}}_{wu}} \), \({{{\dot{\tau }}}_{wr}} \), \( e_{x} \) and \( e_{y} \), where \( \gamma ={{\dot{v}}_{p}}\sin {{e}_{\varphi }}+\frac{{{z}_{h}}}{{{\lambda }_{2}}} \). According to Young’s inequality, by expanding \(\delta \), we have

$$\begin{aligned} \begin{array}{*{35}{l}} \delta \le &{} \frac{l_{1}}{2}z_{u}^{2}+\frac{{{l}_{1}}}{2}{{{\bar{k}}}^{2}}_{b1}+\frac{l_{2}}{2}z_{h}^{2}+\frac{l_{2}}{2}{{{\bar{k}}}^{2}}_{b2}+\frac{l_{2}}{2}e_{h}^{2}+\frac{l_{2}}{2}{{{\bar{k}}}^{2}}_{b2}+\frac{v_{p}}{2}e_{h}^{2}+\frac{v_{p}}{2}z_{r}^{2}+\frac{1}{2}e_{\varphi }^{2}+\frac{1}{2}z_{r}^{2} \\ &{}+\,\frac{1}{2}e_{h}^{2}+\frac{1}{2}{{\bar{\gamma }}^{2}}+\frac{1}{2}e_{u}^{2}+\frac{1}{2}{{{\tilde{\tau }}}_{wu}}^{2}+\frac{1}{2}e_{r}^{2}+\frac{1}{2}{{{\tilde{\tau }}}_{wr}}^{2} +\frac{1}{2}{{{\tilde{\tau }}}^{2}}_{wu}+\frac{{1}}{2}{{{\bar{\tau }}}^{2}}_{wu} +\frac{{1}}{2}{{{\tilde{\tau }}}^{2}}_{wr}+\frac{{1}}{2}{{{\bar{\tau }}}^{2}}_{wr}\\ \end{array} \end{aligned}$$
(36)

Then, by sorting out the above equation, one can have

$$\begin{aligned} \begin{array}{*{35}{l}} {{{\dot{V}}}_{5}}<&{}-\,a_1\frac{k_{b1}^{2}}{\pi }\tan \left( \frac{\pi e_{x}^{2}}{2k_{b1}^{2}} \right) -a_2\frac{k_{b2}^{2}}{\pi }\tan \left( \frac{\pi e_{y}^{2}}{2k_{b2}^{2}} \right) -a_3e_{\varphi }^{2} \\ &{} -\, a_4e_{u}^{2}-a_5e_{r}^{2}-a_6e_{h}^{2} -a_7z_{u}^{2}-a_8z_{h}^{2}-a_9z_{r}^{2}-a_{10}\tilde{\tau }^2_{wu}-a_{11}\tilde{\tau }^2_{wr}+\varDelta \\ \end{array} \end{aligned}$$
(37)

where \( {{a}_{1}}={{k}_{1}}\), \({{a}_{2}}={{k}_{2}}\), \({{a}_{3}}={{k}_{3}}-{{k}_{3}{v}_{p}}-\frac{1}{2}\), \({{a}_{4}}={{k}_{4}}-\frac{1}{2}\), \({{a}_{5}}={{k}_{5}}-\frac{1}{2}\), \({{a}_{6}}={{k}_{3}}{{{{v}_{p}}}}-\frac{l_{2}}{2}-\frac{1}{2}\), \({{a}_{7}}=\frac{1}{{{\lambda }_{1}}}-\frac{l_{1}}{2}-\frac{1}{2}\), \({{a}_{8}}=\frac{1}{{{\lambda }_{2}}}-\frac{l_{2}}{2}-\frac{1}{2}\), \({{a}_{9}}=\frac{1}{{{\lambda }_{3}}}-\frac{{v}_{p}}{2}-{1}\), \(a_{10}=k_{wu}-1\), \(a_{11}=k_{wr}-1\), and \( \varDelta =\frac{1}{2}\bar{\varPsi }_{1}^{2}+\frac{1}{2}\bar{\varPsi }_{2}^{2}+\frac{1}{2}\bar{\varPsi }_{3}^{2}+\frac{1}{2}{{\bar{\gamma }}^{2}}+\frac{{{l}_{1}}}{2}{{{\bar{k}}}^{2}}_{b1}+{{l}_{2}}{{{\bar{k}}}^{2}}_{b2}+\frac{1}{2}{{{\bar{\tau }}}_{wu}}^{2}+\frac{1}{2}{{{\bar{\tau }}}_{wr}}^{2}\).

Theorem 1

Consider underactuated USV (1) satisfying Assumption 1, control laws \(\tau _u\) in (28) and \(\tau _r\) in (29), disturbance observers (26) and (27). If given any \(\varsigma \) for all initial conditions satisfying \(V(0)\le \varsigma \) with the preselected error constrains satisfying \( \left\| {{e}_{x}} \right\| \le {{k}_{b1}} \) and \( \left\| {{e}_{y}} \right\| \le {{k}_{b2}} \), and the design parameters satisfying \( a_{i}>0 \). Then we have the observer errors \(\tilde{\tau }_{wu}\) and \(\tilde{\tau }_{wu}\) converge to an adjustable neighborhood of the origin by appropriately choosing the design parameters.

Proof

Let \(a=\min \{{{a}_{1}},{{a}_{2}}...{{a}_{{11}}}\} \), then (37) can be simplified to \({{\dot{V}}_{5}}\le -a{{V}_{5}}+\varDelta \).

Solving the above inequality, we have

$$\begin{aligned} {{V}_{5}}\le \left( {{V}_{5}}(0)-\frac{\varDelta }{a} \right) {{e}^{-at}}+\frac{\varDelta }{a}, \forall t>0 \end{aligned}$$
(38)

Based on the above analysis, by adjusting parameters \(k_{11}\), \(k_{22}\), \(k_{b1}\), \( k_{b2}\), \( k_{wu} \), \( k_{wr}\) and \( k_{j} (j=1,2,...5) \), we can obtain a larger a. When satisfied \( a>\frac{\varDelta }{V_{5}} \), we have \( {{\dot{V}}_{5}}<0 \). Hence, it is observed from (38) that \(V_{4}\) is eventually bounded by \( \frac{\varDelta }{a} \). \( e_{x} \), \( e_{y} \), \( {{e}_{\varphi }} \), \( {{e}_{u }} \), \( {{e}_{h}} \) and \( {{e}_{r}} \) are globally uniformly bounded. Theorem 1 is proved.

5 Simulation Results and Discussion

In this section, the effectiveness of the proposed tracking control scheme is verified by a simulation example.

The model parameters in (1) are given as \( m_{u}=1.956\), \(m_{v}=2.045\), \(m_{r}=0.043\), \(d_{u}=0.0358\), \(d_{u2}=0.0179\), \(d_{u3}=0.0089\), \(d_{v}=0.1183\), \(d_{v2}=0.0591\), \(d_{v3}=0.0295\), \(d_{r}=0.0308\), \(d_{r2}=0.0154\), and \(d_{r3}=0.0077\). The design parameters are selected as \(k_{1}=k_{2}=1\), \(k_{3}=3\), \(k_{4}=5\), \(k_{5}=6\), \( k_{wu}=2 \), \( k_{wr}=2 \) and \({{\lambda }_{1}}={{\lambda }_{2}}={{\lambda }_{3}}=0.1 \). \(k_{b1}\) and \(k_{b2}\) are constructed as \({{k}_{b1}}{=0}{.43+6}{.35}{{e}^{-t}}\), \({{k}_{b2}}=0.43+3.55{{e}^{-t}}\). In addition, the external disturbance are given by \( {{\tau }_{wu}}={1+0}{.1sin(0}{.2t)+0}{.2cos(0}{.5t)}\), \({{\tau }_{wr}}={1+0}{.2sin(0}{.1t)+0}{.1cos(0}{.2t)}\). The initial states of the USV are \( {{[x,y,\varphi ]}^{T}}={{[0m,5m,0rad]}^{T}}\). The initial states of the virtual leader are \( {{[{{x}_{d}},{{y}_{d},}{{\varphi }_{d}}]}^{T}}={{[0m,0m,0rad]}^{T}}\). The surge reference velocity \( {{u}_{d}}\) is chosen as \( u_{d}=2m/s \), while the yaw reference velocity \({{r}_{d}}\) is designed as \(r_d=\frac{\pi }{160 }rad/s\) in the first 40s, \(r_d=\frac{\pi }{165}rad/s\) for \( 40s\le t<80s \), \(r_d=\frac{\pi }{170}rad/s\) for \( 80s\le t<130s \), and \(r_d=0rad/s\) for \( 130s\le t \le 200s \). The observed and actual external disturbance are shown in Fig. 1.

Fig. 1.
figure 1

Estimated and actual disturbance.

Fig. 2.
figure 2

Trajectory tracking performance.

Fig. 3.
figure 3

Tracking errors of position and heading angle.

Fig. 4.
figure 4

Tracking errors of velocities.

Fig. 5.
figure 5

Control inputs of the USV.

The real-time tracking performance is shown in Fig. 2. The tracking errors of position and heading angle are depicted in Fig. 3. Meanwhile, the tracking errors of velocities are shown in Fig. 4. The control inputs of the USV are depicted in Fig. 5. From Fig. 3 and Fig. 4, it can be seen that the proposed trajectory tracking control scheme can guarantee satisfying performance for the underactuated USV. Since the heading angle changes constantly during the process of trajectory tracking, thus the control input \( {\tau }_{r} \) fluctuates in a bounded region. The above simulation results prove the effectiveness of the proposed scheme.

6 Conclusion

In this paper, a trajectory tracking control scheme for underactuated USVs has been proposed. By constructing a disturbance observer, the external disturbance has been estimated effectively. To avoid the problem of “explosion of complexity” induced by the derivation of the virtual control variables, a first order filter and a time-varying tan-type BLF have been established. By introducing the backstepping and dynamic surface control techniques, the trajectory tracking control laws have been designed. Under the designed control laws, the trajectory tracking of underactuated USVs has been achieved. Finally, a simulation example has been presented to verify the applicability of the results derived in this paper.