Keywords

1 Introduction

In last decades, autonomous surface vehicles (ASVs) have drawn more and more attention mainly due to important roles in military and civilian applications. However, suffering from a variety of external disturbance variations including winds, waves and currents, ASVs are highly nonlinear and the exact ASV model can hardly be known, which makes it much challenging and difficult when designing a controller for ASVs.

Traditionally, fuzzy logic systems (FLS) [1] and fuzzy neural networks (FNN) [2] are usually employed for tracking control of an ASV, which can explicitly take into account complicated unknowns including external disturbances and even unmodelled dynamics. As a result, the previous approximation-based methods can achieve many good properties including disturbance rejection capacity and high steady-state accuracy. However, it should be pointed out that only asymptotic or exponential convergence can be obtained in the previous works rather than finite-time convergence.

Recently, finite-time control theorems have been increasingly studied; for example, nonsingular terminal sliding mode (NTSM) technique [3], homogeneity [4] and adding a power integrator (API) [5] approaches. Note that fast convergence rate and high robustness can be achieved pertaining to the foregoing finite-time based methods. Motivated by the above observations, finite-time trajectory tracking and heading controller have been established by Wang in [6] and [7], respectively. However, finite-time control problems of an ASV in the presence of complicated unknowns is still largely open. It is mainly for this reason that finite-time convergence is pursued in this paper in order to achieve fast and precise tracking performance.

In this paper, a nonsingular terminal sliding mode (NTSM) based tracking control (NTSMTC) scheme is proposed. To be more specific, the NTSM technique and the designed finite-time unknown observer (FUO) are integrated to preserve the advantages of each method, i.e., fast convergence and high robustness. Moreover, rigorously proof has been given to ensure the overall closed-loop system to be finite-time stable and it has been proven that tracking errors can be stabilized to zero in a finite time, which as a result leads to accurate tracking performance.

2 Problem Formulation

The kinematics and dynamics of an ASV moving in a planar space can be expressed as follows:

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\pmb {\upeta }}={\mathbf {J}}(\psi )\pmb {\upnu } \\ {\mathbf {M}}\dot{\pmb {\upnu }}=\pmb {\mathcal {N}}(\pmb {\upeta },\pmb {\upnu })+\pmb {\uptau }+\pmb {\uptau }_{\updelta } \end{array} \right. \end{aligned}$$
(1)

where

$$\begin{aligned} \pmb {\mathcal {N}}(\pmb {\upeta },\pmb {\upnu })= -{\mathbf {C}}(\pmb {\upnu })\pmb {\upnu }-{\mathbf {D}}(\pmb {\upnu })\pmb {\upnu }-{\mathbf {g}}(\pmb {\upeta },\pmb {\upnu }) \end{aligned}$$
(2)

Here, \(\pmb {\upeta } = [x,y,\psi ]^{\mathrm {T}}\) is the 3-DOF position (xy) and heading angle \((\psi )\) of the ASV, \(\pmb {\upnu } = [u,v,r]^{\mathrm {T}}\) is the corresponding linear velocities (uv), i.e., surge and sway velocities, and angular rate (r), i.e., yaw, in the body-fixed frame, \(\pmb {\uptau }=[\tau _1,\tau _2,\tau _3]^{\mathrm {T}}\) and \(\pmb {\uptau }_{\updelta }:={\mathbf {M}}{\mathbf {R}}^{\mathrm {T}}(\psi )\pmb {\updelta }(t)\) with \(\pmb {\updelta }(t)=[\delta _1(t),\delta _2(t),\delta _3(t)]^{\mathrm {T}}\) denote control input and mixed external disturbance, and \({\mathbf {J}}(\psi )\) is a rotation matrix governed by

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

with the following properties:

$$\begin{aligned} {\mathbf {J}}^{\mathrm {T}}(\psi ){\mathbf {J}}(\psi )=&{\mathbf {I}},\;\mathrm {and}\;\Vert {\mathbf {J}}(\psi )\Vert =1,\;\forall \; \psi \in [0,2\pi ]\end{aligned}$$
(4a)
$$\begin{aligned} \dot{{\mathbf {J}}}(\psi )&={\mathbf {J}}(\psi ){\mathbf {S}}(r)\end{aligned}$$
(4b)
$$\begin{aligned} {\mathbf {J}}^{\mathrm {T}}(\psi ){\mathbf {S}}(r){\mathbf {J}}(\psi )&={\mathbf {J}}(\psi ){\mathbf {S}}(r){\mathbf {J}}^{\mathrm {T}}(\psi )={\mathbf {S}}(r) \end{aligned}$$
(4c)

where \({\mathbf {S}}(r)= \left[ \begin{array}{ccc} 0 &{} -r &{} 0 \\ r &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \end{array} \right] \), the inertia matrix \({\mathbf {M}}= {\mathbf {M}}^{\mathrm {T}} > 0\), the skew-symmetric matrix \({\mathbf {C}}(\pmb {\upnu })=-{\mathbf {C}}(\pmb {\upnu })^{\mathrm {T}}\), and the damping matrix \({\mathbf {D}}(\pmb {\upnu })\) can be written as follows:

$$\begin{aligned} {\mathbf {M}}&= \left[ \begin{array}{ccc} m_{11} &{} 0 &{} 0 \\ 0 &{} m_{22} &{} m_{23} \\ 0 &{} m_{32} &{} m_{33} \end{array} \right] \end{aligned}$$
(5a)
$$\begin{aligned} {\mathbf {C}}(\pmb {\upnu })&= \left[ \begin{array}{ccc} 0 &{} 0 &{} c_{13}(\pmb {\upnu }) \\ 0 &{} 0 &{} c_{23}(\pmb {\upnu }) \\ -c_{13}(\pmb {\upnu }) &{} -c_{23}(\pmb {\upnu }) &{} 0 \end{array} \right] \end{aligned}$$
(5b)
$$\begin{aligned} {\mathbf {D}}(\pmb {\upnu })&= \left[ \begin{array}{ccc} d_{11}(\pmb {\upnu }) &{} 0 &{} 0 \\ 0 &{} d_{22}(\pmb {\upnu }) &{} d_{23}(\pmb {\upnu }) \\ 0 &{} d_{32}(\pmb {\upnu }) &{} d_{33}(\pmb {\upnu }) \end{array} \right] \end{aligned}$$
(5c)

where \(m_{11}=m-X_{{\dot{u}}},\;m_{22}=m-Y_{{\dot{v}}},\;m_{23}=mx_g-Y_{{\dot{r}}},\;m_{32}=mx_g-N_{{\dot{v}}}\), \(m_{33}=I_z-N_{{\dot{r}}};\; c_{13}(\pmb {\upnu })=-m_{11}v-m_{23}r,\;c_{23}(\pmb {\upnu })=m_{11}u;\; d_{11}(\pmb {\upnu })=-X_u-X_{|u|u}|u|-X_{uuu}u^2\), \(d_{22}(\pmb {\upnu })=-Y_{v}-Y_{|v|v}|v|,\; d_{23}(\pmb {\upnu })=-Y_r-Y_{|v|r}|v|-Y_{|r|r}|r|,\; d_{32}(\pmb {\upnu })=-N_{v}-N_{|v|v}|v|-N_{|r|v}|r|\;\) and \(d_{33}(\pmb {\upnu })=-N_r-N_{|v|r}|v|-N_{|r|r}|r|\). Here, m is the mass of the ASV, \(I_z\) is the moment of inertia about the yaw rotation, \(Y_{{\dot{r}}}=N_{{\dot{v}}}\), and symbols \(X_{*},Y_{*},N_{*}\) represent corresponding hydrodynamic derivatives.

Consider the desired trajectory generated by

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\pmb {\upeta }}_d={\mathbf {J}}\left( {\psi }_d\right) \pmb {\upnu }_d \\ {\mathbf {M}}\dot{\pmb {\upnu }}_d=\pmb {\mathcal {N}}_d(\pmb {\upeta }_d,\pmb {\upnu }_d)+\pmb {\uptau }_d \end{array} \right. \end{aligned}$$
(6)

where

$$\begin{aligned} \pmb {\mathcal {N}}_d(\pmb {\upeta }_d,\pmb {\upnu }_d)=-{\mathbf {C}}(\pmb {\upnu }_d)\pmb {\upnu }_d-{\mathbf {D}}(\pmb {\upnu }_d)\pmb {\upnu }_d \end{aligned}$$
(7)

Here, \(\pmb {\upeta }_d = [x_d,y_d,\psi _d]^{\mathrm {T}}\) and \(\pmb {\upnu }_d = [u_d,v_d,r_d]^{\mathrm {T}}\) represent the desired position and velocity vectors.

The objective in this context is to design a control law such that the actual trajectory in (1)–(2) can track exactly the desired targets generated by (6)–(7) in a finite time \(0<T<\infty \), i.e., \(\pmb {\upeta }(t)\equiv \pmb {\upeta }_d(t)\) and \(\pmb {\upnu }(t)\equiv \pmb {\upnu }_d(t),\forall \; t>T\).

3 Controller Design and Stability Analysis

3.1 Controller Design

Consider the following transformations on \(\pmb {\upnu }\) and \(\pmb {\upnu }_d\):

$$\begin{aligned} \pmb {\upomega }&={\mathbf {J}}\pmb {\upnu } \end{aligned}$$
(8a)
$$\begin{aligned} \pmb {\upomega }_d&={\mathbf {J}}_d\pmb {\upnu }_d \end{aligned}$$
(8b)

where \(\pmb {\upomega }=[\upomega _1,\upomega _2,\upomega _3]^{\mathrm {T}}\), \(\pmb {\upomega }_d=[\upomega _{d1},\upomega _{d2},\upomega _{d3}]^{\mathrm {T}}\), \({\mathbf {J}}={\mathbf {J}}(\psi )\) and \({\mathbf {J}}_d={\mathbf {J}}(\psi _d)\).

Combining (1)–(2) with (8a) yields

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\pmb {\upeta }}=\pmb {\upomega }\\ \dot{\pmb {\upomega }}={\mathbf {J}}{\mathbf {M}}^{-1}\pmb {\uptau }+\pmb {\mathcal {H}}(\pmb {\upeta },\pmb {\upomega })+\pmb {\updelta }(t) \end{array} \right. \end{aligned}$$
(9)

where

$$\begin{aligned} \pmb {\mathcal {H}}(\pmb {\upeta },\pmb {\upomega })={\mathbf {S}}(\upomega _3)\pmb {\upomega }+{\mathbf {J}}{\mathbf {M}}^{-1}\pmb {\mathcal {N}}(\pmb {\upeta },{\mathbf {J}}^{\mathrm {T}}\pmb {\upomega }). \end{aligned}$$
(10)

From (6)–(7) and (8b) yields

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\pmb {\upeta }}_d=\pmb {\upomega }_d \\ \dot{\pmb {\upomega }}_d={\mathbf {J}}_d{\mathbf {M}}^{-1}\pmb {\uptau }_d+\pmb {\mathcal {H}}_d(\pmb {\upeta }_d,\pmb {\upomega }_d) \end{array} \right. \end{aligned}$$
(11)

where

$$\begin{aligned} \pmb {\mathcal {H}}_d(\pmb {\upeta }_d,\pmb {\upomega }_d)= & {} -{\mathbf {J}}_d{\mathbf {M}}^{-1} \left( {\mathbf {C}}\left( {\mathbf {J}}_d^{\mathrm {T}}\pmb {\upomega }_d\right) + {\mathbf {D}}\left( {\mathbf {J}}_d^{\mathrm {T}}\pmb {\upomega }_d\right) \right) {\mathbf {J}}_d^{\mathrm {T}}\pmb {\upomega }_d\nonumber \\&\,+{\mathbf {S}}(\upomega _{d3})\pmb {\upomega }_d. \end{aligned}$$
(12)

Using (9)–(10) and (11)–(12), we have

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\pmb \upeta }_e=\pmb {\upomega }_e\\ \dot{\pmb {\upomega }}_e={\mathbf {J}}{\mathbf {M}}^{-1}\pmb {\uptau }+ \pmb {\mathcal {H}}_e(\pmb {\upeta },\pmb {\upomega },\pmb {\upeta }_d,\pmb {\upomega }_d)+\pmb {f}_u(\pmb {\upeta },\pmb {\upomega },\pmb {\updelta },t) \end{array} \right. \end{aligned}$$
(13)

where

$$\begin{aligned} \pmb {\mathcal {H}}_e(\cdot )&=({\mathbf {J}}_d{\mathbf {M}}^{-1} ({\mathbf {C}}({\mathbf {J}}_d^{\mathrm {T}}\pmb {\upomega }_d) +{\mathbf {D}}({\mathbf {J}}_d^{\mathrm {T}}\pmb {\upomega }_d){)}{\mathbf {J}}_d^{\mathrm {T}}{)}\pmb {\upomega }_d\nonumber \\&\quad +{\mathbf {S}}\pmb {\upomega }-{\mathbf {S}}_d\pmb {\upomega }_d-{\mathbf {J}}_d{\mathbf {M}}^{-1}\pmb {\uptau }_d \end{aligned}$$
(14a)
$$\begin{aligned} \pmb {f}_u(\cdot )&=\pmb {\updelta }+{\mathbf {J}}{\mathbf {M}}^{-1}\pmb {\mathcal {N}}(\pmb {\upeta },{\mathbf {J}}^{\mathrm {T}}\pmb {\upomega }) \end{aligned}$$
(14b)

Here, \({\mathbf {S}}={\mathbf {S}}(\upomega _3)\), \({\mathbf {S}}_d={\mathbf {S}}(\upomega _{d3})\), \(\pmb {\upeta }_e=\pmb {\upeta }-\pmb {\upeta }_d:=[\upeta _{e1},\upeta _{e2},\upeta _{e3}]^{\mathrm {T}}\) and \(\pmb {\upomega }_e=\pmb {\upomega }-\pmb {\upomega }_d:=[\upomega _{e1},\upomega _{e2},\upomega _{e3}]^{\mathrm {T}}\).

Assumption 1

The unknown term \(\pmb {f}_u\) in (13)–(14) satisfies

$$\begin{aligned} \left| \left| \ddot{\pmb {f}}_u\right| \right| \le L_{fu} \end{aligned}$$
(15)

for a bounded constant \(L_{fu}<\infty \).

In the light of (13)–(14), we define the nonsingular terminal sliding mode (NTSM) manifold as follows:

$$\begin{aligned} \pmb {{\upsigma }}(t)=\pmb {\upeta }_e(t)+\frac{1}{\upbeta }\pmb {\upomega }_e^{{p}/{q}}(t) \end{aligned}$$
(16)

where \(\pmb {\upsigma }(t)=\left[ \upsigma _1(t),\upsigma _2(t),\upsigma _3(t)\right] ^{\mathrm {T}}\).

Differentiating \(\pmb {{\upsigma }}(t)\) with respect to time, we obtain

$$\begin{aligned} \dot{\pmb {\upsigma }}=\pmb {\upomega }_e+\frac{p}{q\upbeta }\mathrm {diag}(\pmb {\upomega }_e^{({p}/{q})-1})\dot{\pmb {\upomega }}_e \end{aligned}$$
(17)

where \(\mathrm {diag}(\pmb {\upomega }_e^{({p}/{q})-1}):=\mathrm {diag}(\upomega _{e1}^{(p/q)-1},\upomega _{e2}^{(p/q)-1},\upomega _{e3}^{(p/q)-1})\) and \(\dot{\pmb {\upomega }}_e:=[{\dot{\upomega }}_{e1},{\dot{\upomega }}_{e2},{\dot{\upomega }}_{e3}]^{\mathrm {T}}\).

Fig. 1.
figure 1

Control system diagram.

Concerning the ASV tracking error dynamics (13)–(14) and sliding functions (16)–(17), the NTSM based tracking control (NTSMTC) scheme can be designed accordingly

$$\begin{aligned} \pmb {\uptau }= & {} -{\mathbf {M}}{\mathbf {J}}^{-1}\left( \upbeta \frac{q}{p}\left( {{\mathbf {J}}}\pmb {\upnu }-{\mathbf {J}}_d\pmb {\upnu }_d\right) ^{[2-({p}/{q})]} +{\pmb {\upkappa }}\mathrm {sgn}\left( \pmb {\upsigma }\right) \right) \nonumber \\&\, -{\mathbf {M}}{\mathbf {S}}\pmb {\upnu }+{\mathbf {M}}{\mathbf {J}}^{-1}\left( {\mathbf {S}}_d{\mathbf {J}}_d\pmb {\upnu }_d+{\mathbf {J}}_d{\mathbf {M}}^{-1}\pmb {\uptau }_d\right) \nonumber \\&\,+{\mathbf {M}}{\mathbf {J}}^{-1}\left( {\mathbf {J}}_d{\mathbf {M}}^{-1}\pmb {\mathcal {N}}_d(\pmb {\upeta }_d,\pmb {\upnu }_d)-\pmb {\theta }_1\right) \end{aligned}$$
(18)

Here, \(\upbeta>0, p>0\) and \(q>0\) are positive old integers satisfying \(1<p/q<2\), \(\pmb {\upkappa }=\mathrm {diag}(\upkappa _1,\upkappa _2,\upkappa _3)\) with positive constants \(\upkappa _j(j=1,2,3)\), and \(\mathrm {sgn}\left( \pmb {\upsigma }\right) =\left[ \mathrm {sgn}(\upsigma _1),\mathrm {sgn}(\upsigma _2),\mathrm {sgn}(\upsigma _3)\right] ^{\mathrm {T}}\), with \(\pmb {\theta }_1\) derived by the following finite-time unknown observer (FUO):

$$\begin{aligned} \dot{\pmb {\theta }}_0= & {} \pmb {\upzeta }_0 + {\mathbf {J}}{\mathbf {M}}^{ - 1} \pmb {\uptau } +\pmb {\mathcal {H}}_e(\cdot ) \nonumber \\ \pmb {\zeta }_0= & {} - \mathop {\uplambda }\nolimits _{1}{\pmb {\mathcal {L}}}^{1/3} \mathrm {sig}^{2/3} (\pmb {\theta }_0 - \pmb {\upomega }_e ) + \pmb {\theta }_1 \nonumber \\ \dot{\pmb {\theta }}_1= & {} \pmb {\upzeta }_1 \nonumber \\ \pmb {\zeta }_1= & {} - \mathop {\uplambda }\nolimits _{2}{\pmb {\mathcal {L}}}^{1/2} \mathrm {sig}^{1/2}(\pmb {\theta }_1 - \pmb {\upzeta }_0 ) + \pmb {\theta }_2 \nonumber \\ \dot{ \pmb {\theta }}_2= & {} - \mathop {\uplambda }\nolimits _{3}{\pmb {\mathcal {L}}}\mathrm {sgn} (\pmb {\theta }_2 - \pmb {\upzeta }_1 ) \end{aligned}$$
(19)

where \(\pmb {\theta }_i:=[\theta _{i1},\theta _{i2},\theta _{i3}]^{\mathrm {T}},i=0,1,2\), \(\pmb {\upzeta }_k:=[\upzeta _{k1},\upzeta _{k2},\upzeta _{k3}]^{\mathrm {T}},k=0,1\), \(\uplambda _j>0,j=1,2,3\) and \({\pmb {\mathcal {L}}}=\mathrm {diag}(\ell _1,\ell _2,\ell _3)\). The corresponding control system diagram are also illustrated in Fig. 1.

3.2 Stability Analysis

The key result ensuring finite-time stability of the closed-loop is now stated.

Theorem 1

(NTSMTC). Consider the closed-loop system composed of (13)–(14), (16)–(17) and (18)–(19), the actual trajectory and velocity of the ASV system (1)–(2) will converge to the desired signals generated by (6)–(7) in a finite time \(0<T<\infty \), i.e., \(\pmb {\upeta }(t)\equiv \pmb {\upeta }_d(t)\) and \(\pmb {\upnu }(t)\equiv \pmb {\upnu }_d(t),\forall \; t>T\).

Proof

Consider the Lyapunov function as follows:

$$\begin{aligned} V=\frac{1}{2}{\pmb {\upsigma }}^{\mathrm {T}}{\pmb {\upsigma }}. \end{aligned}$$
(20)

Differentiating V along (13)–(14) yields

$$\begin{aligned} {\dot{V}}&={\pmb {\upsigma }}^{\mathrm {T}}\dot{{\pmb {\upsigma }}}\nonumber \\&= {\pmb {\upsigma }}^{\mathrm {T}}\left( \pmb {\upomega }_e+\frac{p}{q\upbeta }\mathrm {diag}(\pmb {\upomega }_e^{({p}/{q})-1})\dot{\pmb {\upomega }_e}\right) \nonumber \\&= {\pmb {\upsigma }}^{\mathrm {T}}\left( \pmb {\upomega }_e+\frac{p}{q\upbeta }\mathrm {diag}(\pmb {\upomega }_e^{({p}/{q})-1})\left( {\mathbf {R}}{\mathbf {M}}^{-1}\pmb {\uptau }+\pmb {\mathcal {H}}_e(\cdot )+\pmb {f}_u\right) \right) . \end{aligned}$$
(21)

Substituting (18) into (21) yields

$$\begin{aligned} {\dot{V}}&=\pmb {\upsigma }^{\mathrm {T}}\bigg [\pmb {\upomega }_e+\frac{p}{q\upbeta }\mathrm {diag}(\pmb {\upomega }_e^{({p}/{q})-1})\bigg (-\upbeta {\frac{q}{p}}\pmb {\upomega }_e^{[2-({p}/{q})]}\nonumber \\&\quad -{\pmb {\upkappa }}\mathrm {sgn}\left( \pmb {\upsigma }\right) +\pmb {f}_u-\pmb {\uptheta }_1\bigg ) \bigg ]. \end{aligned}$$
(22)

Define unknown observation errors as follows:

$$\begin{aligned} {\mathbf {z}}_1=\pmb {\theta }_0-\pmb {\upomega }_e,\; {\mathbf {z}}_2=\pmb {\theta }_1-\pmb {f}_u,\; {\mathbf {z}}_3=\pmb {\theta }_2-\dot{\pmb {f}}_u \end{aligned}$$
(23)

Then the error dynamics can be derived as

$$\begin{aligned} \dot{{\mathbf {z}}}_1&=- \uplambda _1\pmb {\mathcal {L}}^{1/3} \mathrm {sig}^{2/3} ({\mathbf {z}}_1) + {\mathbf {z}}_2\nonumber \\ \dot{{\mathbf {z}}}_2&= - \uplambda _2\pmb {\mathcal {L}}^{1/2} \mathrm {sig}^{1/2}({\mathbf {z}}_2 - \dot{{\mathbf {z}}}_1) + {\mathbf {z}}_3\nonumber \\ \dot{{\mathbf {z}}}_3&= - \uplambda _3\pmb {\mathcal {L}}\mathrm {sgn} ({\mathbf {z}}_3 - \dot{{\mathbf {z}}}_2) -\ddot{\pmb {f}}_u \end{aligned}$$
(24)

i.e.,

$$\begin{aligned} \dot{\mathrm {z}}_{1j}&=- \uplambda _1\ell _j^{1/3} \mathrm {sig}^{2/3} (\mathrm {z}_{1j}) + \mathrm {z}_{2j}\nonumber \\ \dot{\mathrm {z}}_{2j}&= - \uplambda _2\ell _j^{1/2} \mathrm {sig}^{1/2}(\mathrm {z}_{2j} - \dot{\mathrm {z}}_{1j}) + \mathrm {z}_{3j}\nonumber \\ \dot{\mathrm {z}}_{3j}&\in - \uplambda _3\ell _j\mathrm {sgn} (\mathrm {z}_{3j} - \dot{\mathrm {z}}_{2j}) + [-L_{fu},L_{fu}]. \end{aligned}$$
(25)

According to [8], \(\pmb {\mathrm {z}}_1, \pmb {\mathrm {z}}_2\) and \(\pmb {\mathrm {z}}_3\) can be stabilized to zero in a finite time, and this yields

$$\begin{aligned} \pmb {\theta }_0\equiv \pmb {\upomega }_e,\; \pmb {\theta }_1\equiv \pmb {f}_u,\; \pmb {\theta }_2\equiv \dot{\pmb {f}}_u. \end{aligned}$$
(26)

Combining (22) and (26) we have

$$\begin{aligned} \dot{V}&=\pmb {\upsigma }^{\mathrm {T}}\left( \pmb {\upomega }_e+\frac{p}{q\upbeta }\mathrm {diag}(\pmb {\upomega }_e^{({p}/{q})-1})\left( -\upbeta {\frac{q}{p}}\pmb {\upomega }_e^{[2-({p}/{q})]} -{\pmb {\upkappa }}\mathrm {sgn}\left( \pmb {\upsigma }\right) \right) \right) \nonumber \\&\le - \mathop {\min }\limits _{j = 1,2,3} \left\{ {\frac{p}{q\upbeta }\upomega _{ej}^{({p}/{q})-1}}\upkappa _j \right\} \sum \limits _{j = 1}^3{|\upsigma _j|} \end{aligned}$$
(27)

Define

$$\begin{aligned} {\uprho }=\sqrt{2}\cdot \mathop {\min }\limits _{j = 1,2,3} \left\{ {\frac{p}{q\upbeta }\upomega _{ej}^{({p}/{q})-1}}\upkappa _j \right\} . \end{aligned}$$
(28)

Clearly, when \(\upomega _{ej}\ne 0\), since p and q are positive old integers and \(1<p/q<2\), we have \(\uprho >0\). Thus,

$$\begin{aligned} {\dot{V}}\le -\uprho V^{1/2}. \end{aligned}$$
(29)

Then finite-time stability can be ensured according to [9, Theorem 1].

When \(\upomega _{ej}=0\), substituting control law (18) into (13)–(14), we have

$$\begin{aligned} \dot{\pmb {\upomega }}_e=-\upbeta \frac{q}{p}\pmb {\upomega }_e^{[2-(p/q)]}-\pmb {\upkappa }\mathrm {sgn}(\pmb {\upsigma })+\pmb {f}_u-\pmb {\theta }_1 \end{aligned}$$
(30)

Hence,

$$\begin{aligned} \dot{{\upomega }}_{ej}=- \upbeta \frac{q}{p}{\upomega } _{ej}^{[2 - ({p}/{q})]} - \upkappa _j{\mathrm {sgn}} ({\upsigma _j}) \end{aligned}$$
(31)

And this yields

$$\begin{aligned} \dot{{\upomega }}_{ej}=- \upkappa _j{\mathrm {sgn}} ({\upsigma }_{j}) \end{aligned}$$
(32)

with \(j=1,2,3\).

Therefore, \(\dot{\upomega }_{ej}<0\) when \(\upsigma _j>0\), and \(\dot{\upomega }_{ej}>0\) when \(\upsigma _j<0\). Clearly, \(\dot{\upomega }_{ej}=0\) is not an attractor. It can be concluded that manifold (16) can be reached in a finite time \(t_1^*>0\).

Next, we will prove that once the manifold is reached, tracking errors \(\pmb {\upeta }_{e}\) and \(\pmb {{\upomega }}_{e}\) will converge to zero along the manifold in a finite time.

When \(\pmb {\upsigma }={0}\), from (16), we have

$$\begin{aligned} \pmb {\upeta }_{e}+\frac{1}{\upbeta }\pmb {\upomega }_{e}^{{p}/{q}}=0 \end{aligned}$$
(33)

i.e.,

$$\begin{aligned} {\upeta }_{ej}+\frac{1}{\upbeta }\dot{{\upeta }}_{ej}^{{p}/{q}}=0,\;j=1,2,3. \end{aligned}$$
(34)

It follows that tracking errors \(\upeta _{ej}\) and \(\upomega _{ej}\) can be stabilized to zero along \(\upsigma _j=0\) at time \(t_2^*={p\upbeta ^{(-{q}/{p})}}\cdot \upeta _{ej}^{[1-({q}/{p})]}(t_1^*)/({p-q})+t_1^*\).

Now we can get the conclusion that the closed-loop system (13)–(14), (16)–(17) and (18)–(19) is finite-time stable. This completes the proof.

Remark 1

If \(p=q=1\), the NTSMTC scheme (18) will degrade to a sliding mode control SMC scheme (\(\pmb {\uptau }_{\mathrm {SMC}}\)) accordingly

$$\begin{aligned} \pmb {\uptau }_{\mathrm {SMC}}=&-{\mathbf {M}}{\mathbf {J}}^{-1}\left( \upbeta \left( {{\mathbf {J}}}\pmb {\upnu }-{\mathbf {J}}_d\pmb {\upnu }_d\right) +{\pmb {\upkappa }}\mathrm {sgn}\left( \pmb {\upsigma }\right) \right) \nonumber \\&-{\mathbf {M}}{\mathbf {S}}\pmb {\upnu }+{\mathbf {M}}{\mathbf {J}}^{-1}\left( {\mathbf {S}}_d{\mathbf {J}}_d\pmb {\upnu }_d+{\mathbf {J}}_d{\mathbf {M}}^{-1}\pmb {\uptau }_d\right) \nonumber \\&+{\mathbf {M}}{\mathbf {J}}^{-1}\left( {\mathbf {J}}_d{\mathbf {M}}^{-1}\pmb {\mathcal {N}}_d(\pmb {\upeta }_d,\pmb {\upnu }_d)-\pmb {\theta }_1\right) \end{aligned}$$
(35)

with \(\pmb {\theta }_1\) derived by (19).

Remark 2

The chattering can be reduced by replacing the \(\mathrm {sgn}(\upsigma _j)\) function with a saturation function described by

$$\begin{aligned} {fsat}({\upsigma _j};\upvarepsilon ,\upvartheta ) =\left\{ \begin{array}{l} \mathrm {sgn}({\upsigma _j}) ,\left| {\upsigma _j}\right| >\upvarepsilon \\ \frac{{ \mathrm {sig}^\upvartheta ({\upsigma _j})}}{{\upvarepsilon ^\upvartheta }}, \left| {\upsigma _j}\right| \le \upvarepsilon \\ \end{array} \right. \end{aligned}$$
(36)

with \(\upvarepsilon >0\) and \(0<\upvartheta <1\).

4 Simulation Studies

This section assesses the control performance of the proposed NTSMTC law in terms of trajectory tracking of an ASV. Simulations studies are conducted on a well-known ASV named CyberShip II [10].

Assume external disturbances in (1) are governed by

$$\begin{aligned} \pmb {\updelta }(t) = \left[ \begin{array}{l} 3\cos (0.1\pi t - \pi /3) \\ 4\cos (0.2\pi t + \pi /4) \\ 6\cos (0.3\pi t + \pi /6) \\ \end{array} \right] . \end{aligned}$$
(37)

Consider the desired trajectory generated by (6)–(7), assume \(\pmb {\uptau }_d=[4, 3\cos ^2 (0.1\pi t),\sin ^2(0.1\pi t)]^{\mathrm {T}}\), the initial conditions are \(\pmb {\upeta }(0)=\left[ 15.5, 8,\pi /4\right] ^{\mathrm {T}}\), \(\pmb {\upnu }(0)=[0,0,0]^{\mathrm {T}}\), \(\pmb {\upeta }_d(0)=[16,7.8,\pi /3]^{\mathrm {T}}\) and \(\pmb {\upnu }_d(0)=[1,0,0]^{\mathrm {T}}\).

Correspondingly, parameters of the FUO are: \(\uplambda _1=2.2\), \(\uplambda _2=1.1\), \(\uplambda _3=0.8\), \(\pmb {\mathcal {L}}=\mathrm {diag}(30,30,30)\); and parameters of the NTSMTC scheme are: \(\upbeta =1\), \(p=5\), \(q=3\), \(\pmb {\upkappa }=\mathrm {diag}(3.6,3.6,3.6)\), \(\upvarepsilon =6.8\), \(\upvartheta =0.58\).

Fig. 2.
figure 2

Desired and actual trajectories.

Fig. 3.
figure 3

Curves of position tracking.

Fig. 4.
figure 4

Curves of velocity tracking.

Fig. 5.
figure 5

Curves of unknown estimation.

Fig. 6.
figure 6

Curves of zero tracking errors.

Fig. 7.
figure 7

Curves of smooth control inputs.

In comparison with the traditional SMC approach \(\pmb {\uptau }_{\mathrm {SMC}}\) in (35), it can be clearly seen from Fig. 2 that the actual trajectory (solid line) can track the desired (dashed line) one with faster convergence rate. Correspondingly, the actual position \(\pmb {\upeta }=[x,y,\psi ]^{\mathrm {T}}\) and the desired signal \(\pmb {\upeta }_d=[x_d,y_d,\psi _d]^{\mathrm { T}}\) are shown in Fig. 3, which exhibits the higher tracking accuracy. In addition to precise position tracking, actual velocity vector \(\pmb {\upnu }=[u,v,r]^{\mathrm {T}}\) can track the desired target \(\pmb {\upnu }_d=[u_d,v_d,r_d]^{\mathrm {T}}\) very quickly, as shown in Fig. 4. The time-varying unknowns \(\pmb {f}_{u}=[f_{u1},f_{u2},f_{u3}]^{\mathrm {T}}\) and the finite-time identification results \( {\pmb {\theta }}_1=[\theta _{11},\theta _{12},\theta _{13}]^{\mathrm {T}}\) are shown in Fig. 5, which shows the remarkable unknown estimation ability associated with the proposed FUO. It should be noted that trajectory tracking errors can be rendered to zero in a finite time, as shown in Fig. 6. Moreover, control inputs of the NTSMTC scheme are plotted in Fig. 7, which shows the smooth control actions dynamically.

5 Conclusion

In this paper, to pursue finite-time control of an autonomous surface vehicle (ASV) in the presence of unmodelled dynamics and external disturbances, a nonsingular terminal sliding mode (NTSM) based tracking control (NTSMTC) scheme has been proposed. Under the NTSMTC scheme, not only that unmodelled dynamics and unknown disturbances can be completely identified but also finite-time convergence property can be achieved, and thereby contributing to fast convergence rate and high robustness. In addition, comprehensive simulation studies have also been presented to confirm not only the closed-loop control performance but also the effectiveness of the NTSMTC scheme in terms of exact unknown observation.