1 Introduction

It is well known that tremendous success has been obtained in controlling nonlinear systems based on the development of adaptive backstepping control (ABC) and feedback linearization (FBL) methods [1, 2]. The main idea of FBL consists in transforming a strict-feedback nonlinear system (SFNS) that satisfies some matching conditions into a linear one. That is to say, this method cannot deal with the nonlinear term directly. To overcome this limitation, the ABC method establishes a systematic framework for controlling SFNSs, whose main idea is using some intermediate variables recursively as pseudo-control signals. If the SFNSs have minimum phase and have known relative degrees, the stability of the closed-loop system can be guaranteed by using the backstepping design method. For ABC of an SFNS without parametric uncertainty or external disturbance, some control methods have been presented, for example, in [2,3,4,5]. Based on the main idea of the ABC approach, more complicated conditions are considered in designing ABC for SFNS in [2, 6,7,8]. However, the above literature did not consider parametric uncertainties and disturbance in the ABC design. Thus, the ABC design needs to be studied further to achieve better robust performance.

As is well known, most physical systems usually suffer from system uncertainty, for example, parametric uncertainty, modeling error, or external disturbance, which will decrease the control performance or even leads to instability of the controlled system [9,10,11,12,13,14,15,16,17,18,19,20,21]. Thus, the ABC method usually requires cancelation of the nonlinearities. Sometimes exact knowledge of the system nonlinearities is not available, or these terms change along with time. Therefore, we need to model the nonlinear uncertainties with parametric uncertainties. Some robust control methods have been given to handle these kinds of system uncertainties [19, 22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]. ABC methods have been studied recently in [40,41,42]. In [2], an ABC method combined with adaptive fuzzy control was investigated. A fuzzy ABC for SFNSs in the presence of both sampled and delayed measurements was studied in [40]. A command filtered ABC method for unknown SFNSs was proposed in [41], where a first-order filter was introduced to handle the virtual control input. However, in the above literature, external disturbance and/or parametric uncertainty was not considered.

The ABC method suffers from the “explosion of complexity” which is produced by repeatedly differentiating the virtual control input. Then, many control methods have been given to solve this problem. Among these, the adaptive dynamic surface control (ADSC) aims to enhance the drawback of ABC by driving the control input passing through a first-order filter [23, 43,44,45,46]. This method not only solve the problem of “explosion of complexity”, but also reduce the requirement of the system model as well as the referenced signal. In [23], by using the ADSC method, an ABC method was proposed for SFNSs with parametric uncertainties. Reference [47] provides a command filtered backstepping control for SFNSs, where the adaptive control method was not considered. Then, based on the work of [47], Ref. [22] provided an adaptive command filtered backstepping control method, and a compensated tracking error was also considered. The above method is based on procedures like nonlinear damping and variable structure as well as their variations, which commonly need prior knowledge of the system uncertainty, for example, utilizing some constant or nonlinear function known in advance as the bounds of the estimated nonlinearity. Consequently, the applications of these kinds of methods may be limited if there is no such prior knowledge.

In this paper, we address the ADSC method for SFNSs with mismatched parametric uncertainties and disturbances. The proposed method described herein needs only the signals \(x_{d}(t)\) and the state variables of the controlled system to be available. The dynamic surface idea is used to obtain a practical generalization of the conventional backstepping technique. A main motivation of this work is to simplify the process of determining the command derivatives required in the backstepping procedure. Our controller ensures the boundedness of all signals and the convergence of the tracking errors. The main contributions of this work can be presented as follows. (1) In this paper, an ADSC is proposed for SFNSs with parametric uncertainties and disturbances. Note that it is very difficult to obtain exact analytical expressions for the dynamic surface, the proposed ADSC method works well even in the presence of parametric uncertainty as well as of an external disturbance. An effective first-order dynamic surface, which is easy to use, has been proposed. (2) Based on the proposed dynamic surface, the conventional “explosion of complexity” will not occur in our work. The virtual control input’s derivative is replaced by an auxiliary variable which can track the virtual control input in arbitrary degree of accuracy. Compared with the method proposed in [48, 49], our method combined with adaptation laws has a more concise construction and is easier to implement.

2 Problem formulation

Consider the following nth parametric uncertain SFNSs:

$$ \textstyle\begin{cases} \dot{x}_{i}(t) = x_{i+1}(t)+ f_{i}(\bar{\pmb{x}}_{i}(t))+ \pmb{\varphi }_{i}^{T}(\bar{\pmb{x}}_{i}(t)) \pmb{\vartheta }, \quad i=1,2,\ldots, n-1,\\ \dot{x}_{n}(t) = f_{n}(\pmb{x}(t))+d(t)+u(t)+ \pmb{\varphi }_{n}^{T}(\bar{\pmb{x}}(t)) \pmb{\vartheta }, \end{cases} $$
(1)

where \(x_{1}(t)\in \mathcal{R}\) is the output variable, \(u(t)\in \mathcal{R}\) is the control input, \(\bar{\pmb{x}}_{i}(t)=[x_{1}(t),\ldots, x_{i}(t)]^{T} \in \mathcal{R}^{i}\) (note that \({\pmb{x}}(t)= \bar{\pmb{x}}_{n}(t)\in \mathcal{R}^{n}\)) represents the system state vector, \(f_{i}(\bar{\pmb{x}}_{i}(t))\): \(\mathcal{R}^{i} \mapsto \mathcal{R}\) is a nonlinear function, \(d(t)\in \mathcal{R}\) denotes the bounded unknown external disturbance, \(\pmb{\varphi }_{i}(\bar{ \pmb{x}}_{i}(t))\): \(\mathcal{R}^{i} \mapsto \mathcal{R}^{m}\) is a known basis function, and \(\pmb{\vartheta }=[\vartheta _{1},\ldots, \vartheta _{m}] \in \mathcal{R}^{m}\) represents an unknown constant vector.

Define \(x_{d}(t) \in \mathcal{R}\) as a desired signal. The main objective of this paper is to design an ADSC such that the output variable \(x_{1}(t)\) follows the desired signal \(x_{d}(t)\). Let the tracking error be

$$ e_{1}(t)=x_{1}(t)-x_{d}(t). $$
(2)

Throughout this paper, \(\mathcal{R}\), \(\mathcal{R}^{i}\) represent the spaces of real numbers and real i-vectors, respectively. \(\Vert x(t) \Vert \) is the standard 2-norm of \(x(t)\), \(\operatorname{sgn}(\cdot )\) denotes the signum function, \(\mathcal{L}_{\infty }\) represents the space of the bounded variable, \(\varOmega _{c}\) is the ball of radius c, and \(\mathcal{C}^{i}\) is the space of functions for which all ith-order derivatives exist and are continuous.

To facilitate the controller design, we need the following assumptions.

Assumption 1

The nonlinear functions \(f_{i}(\bar{\pmb{x}}(t))\), \(\pmb{\varphi } _{n}(\bar{\pmb{x}}(t))\) are of \(\mathcal{C}^{1}\).

Assumption 2

The desired signal \(x_{d}(t)\) and its derivative are continuous functions of \(\mathcal{L}_{\infty }\).

Assumption 3

The external disturbance \(d(t)\) is bounded, i.e., there exists a positive constant \(d^{*}\) such that \(\vert d(t) \vert \leq d^{*}\).

Assumption 4

Assume that \(\varOmega _{c}\) is an open set which includes the referenced signal, the origin and the initial conditions of the system 1. Suppose that, for \(i=1,\ldots,n\), \(\frac{\partial ^{j} f _{i}(\bar{\pmb{x}}_{i}(t))}{\partial t^{j}}\), \(\frac{\partial ^{j} x _{d}(t)}{\partial t^{j}}\), where \(j=1,\ldots,n\), are all bounded on \(\bar{\varOmega }_{c}\).

Remark 1

It is worth mentioning that above four assumptions are in line with the practical situation. Firstly, the Assumption 1 is satisfied in most real-world systems. Secondly, in most literature, the referenced signal is a smooth function, that is to say, Assumption 2 is reasonable. Thirdly, in this paper, it is assumed that the unknown external disturbance \(d(t)\) is bounded. In fact, lots of common disturbance functions are bounded. In addition, the upper bound \(d^{*}\) is assumed to be unknown. Finally, Assumption 4 is needed in the stability analysis, and this assumption is common in much related literature, for example, [22, 23, 47].

3 Controller design and stability analysis

3.1 The ADSC design

For convenience, this section will design the controller based on the backstepping procedure which has n steps.

Step 1.

It follows from (1) and (2) that

$$ \begin{aligned}[b] \dot{e}_{1}(t) & = \dot{x}_{1}(t) -\dot{x}_{d}(t) \\ & =x_{2}(t)+ f _{1}\bigl(\bar{\pmb{x}}_{1}(t) \bigr)+ \pmb{\varphi }_{1}^{T}\bigl({ x}_{1}(t) \bigr) \pmb{\vartheta }-\dot{x}_{d}(t) \\ &=\nu _{1}(t)+x_{2}(t)-\nu _{1}(t)+ f _{1}\bigl(\bar{\pmb{x}}_{1}(t)\bigr)+ \pmb{\varphi }_{1}^{T}\bigl({ x}(t)\bigr) \pmb{\vartheta }- \dot{x}_{d}(t) \\ &=\nu _{1}(t)+x_{2}(t)-\nu _{1}^{c}(t)+ \nu _{1}^{c}(t)-\nu _{1}(t)+ f_{1}\bigl({ x}_{1}(t)\bigr)+ \pmb{\varphi }_{1}^{T}\bigl( { x}_{1}(t)\bigr) \pmb{\vartheta }-\dot{x}_{d}(t) \\ &=\nu _{1}(t)+e_{2}(t)+ \tilde{\nu }_{1}(t)+ f_{1}\bigl({ x}_{1}(t)\bigr)+ \pmb{\varphi }_{1}^{T}\bigl({ x} _{1}(t)\bigr) \pmb{\vartheta }- \dot{x}_{d}(t), \end{aligned} $$
(3)

where \(\nu _{1}(t)\) represents the virtual control input that will be defined later,

$$ e_{2}(t)=x_{2}(t)-\nu _{1}^{c}(t) $$
(4)

is the filtered tracking error of \(x_{2}(t)\), and \(\tilde{\nu }_{1}(t)= \nu _{1}^{c}(t)-\nu _{1}(t)\) denotes the virtual control input estimation error. Thus, the virtual control input \(\nu _{1}(t)\) can be given as

$$ \nu _{1}(t)=-k_{1}e_{1}(t)-f_{1} \bigl({ x}_{1}(t)\bigr)-\pmb{\varphi }_{1}^{T}\bigl( { x}_{1}(t)\bigr) \hat{\pmb{\vartheta }}(t) +\dot{x}_{d}(t), $$
(5)

where \(k_{1}>0\) is a design parameter, and \(\hat{\pmb{\vartheta }}(t)\) is the estimation of the unknown constant vector \(\pmb{\vartheta }\).

The auxiliary variable \(\nu _{1}^{c}(t)\) is updated by

$$ \dot{\nu }_{1}^{c}(t)=-\sigma _{1} \nu _{1}^{c}(t)+ \sigma _{1} \nu _{1}(t),\quad\quad \nu _{1}^{c}(0)=\nu _{1}(0), $$
(6)

where \(\sigma _{1}>1\) is a design parameter.

Substituting (5) into (3) gives

$$ \begin{aligned}[b] \dot{e}_{1}(t) &=-k_{1}e_{1}(t)+e_{2}(t)+\tilde{\nu }_{1}(t)+ \pmb{\varphi }_{1}^{T}\bigl({ x}_{1}(t)\bigr) \pmb{\vartheta }-\pmb{\varphi } _{1}^{T} \bigl({ x}_{1}(t)\bigr) \hat{\pmb{\vartheta }}(t) \\ &=-k_{1}e_{1}(t)+e _{2}(t)+\tilde{\nu }_{1}(t) -\pmb{\varphi }_{1}^{T}\bigl({ x}_{1}(t)\bigr) \tilde{\pmb{\vartheta }}(t), \end{aligned} $$
(7)

where \(\tilde{\pmb{\vartheta }}(t)= \hat{\pmb{\vartheta }}(t)\)- \(\pmb{\vartheta }\) is the estimation error.

Step 2.

It follows from (1) and (4) that

$$ \begin{aligned}[b] \dot{e}_{2}(t) & = \dot{x}_{2}(t) -\dot{\nu }_{1}^{c}(t) \\ & =x_{3}(t)+ f_{2}\bigl(\bar{\pmb{x}}_{2}(t) \bigr)+ \pmb{\varphi }_{2}^{T}\bigl(\bar{ \pmb{x}}_{2}(t)\bigr) \pmb{\vartheta }- \dot{\nu }_{1}^{c}(t) \\ &=\nu _{2}(t)+x_{3}(t)-\nu _{2}^{c}(t)+ \nu _{2} ^{c}(t)-\nu _{2}(t)+ f_{2} \bigl(\bar{\pmb{x}}_{2}(t)\bigr)+ \pmb{\varphi }_{2} ^{T}\bigl(\bar{\pmb{x}}_{2}(t)\bigr) \pmb{\vartheta }-\dot{ \nu }_{1}^{c}(t) \\ &= \nu _{2}(t)+e_{3}(t)+\tilde{\nu }_{2}(t)+ f_{2}\bigl(\bar{\pmb{x}}_{2}(t)\bigr)+ \pmb{\varphi }_{2}^{T}\bigl(\bar{\pmb{x}}_{2}(t)\bigr) \pmb{ \vartheta }- \dot{\nu }_{1}^{c}(t), \end{aligned} $$
(8)

where \(e_{3}(t)=x_{3}(t)-\nu _{2}^{c}(t)\), \(\tilde{\nu }_{2}(t)=\nu _{2}^{c}(t)-\nu _{2}(t)\),

$$ \dot{\nu }_{2}^{c}(t)=-\sigma _{2} \nu _{2}^{c}(t)+ \sigma _{2} \nu _{2}(t), \quad\quad \nu _{2}^{c}(0)=\nu _{2}(0) $$
(9)

and the virtual control input \(\nu _{2}(t)\) can be constructed as

$$ \nu _{2}(t)=-k_{2}e_{2}(t)-e_{1}(t)-f_{2} \bigl(\bar{\pmb{x}}_{2}(t)\bigr)- \pmb{\varphi }_{2}^{T} \bigl(\bar{\pmb{x}}_{2}(t)\bigr) \hat{\pmb{\vartheta }}(t)+ \dot{\nu }_{1}^{c}(t), $$
(10)

where \(k_{2}>0\) and \(\sigma _{2}>1\) are two design parameters.

Substituting (10) into (8) yields

$$ \dot{e}_{2}(t) =-k_{2}e_{2}(t) +e_{3}(t)-e_{1}(t)+\tilde{\nu }_{2}(t)- \pmb{ \varphi }_{2}^{T}\bigl(\bar{\pmb{x}}_{2}(t)\bigr) \tilde{\pmb{\vartheta }}(t). $$
(11)

Step i, \(3\leq i\leq n-1\).

These steps are very similar to Step 2. It is easy to see that

$$ \begin{aligned}[b] \dot{e}_{i}(t) & = \dot{x}_{i}(t) -\dot{\nu }_{i-1}^{c}(t) \\ & =x_{i+1}(t)+ f_{i}\bigl(\bar{\pmb{x}}_{i}(t) \bigr)+ \pmb{\varphi }_{i}^{T}\bigl(\bar{ \pmb{x}}_{i}(t)\bigr) \pmb{\vartheta }-\dot{\nu }_{i-1}^{c}(t) \\ &=\nu _{i}(t)+x _{i+1}(t)-\nu _{i}^{c}(t)+ \nu _{i}^{c}(t)-\nu _{i}(t)+ f_{i}\bigl( \bar{ \pmb{x}}_{i}(t)\bigr)+ \pmb{\varphi }_{i}^{T} \bigl(\bar{\pmb{x}}_{i}(t)\bigr) \pmb{\vartheta }-\dot{\nu }_{i-1}^{c}(t) \\ &=\nu _{i}(t)+e_{i+1}(t)+ \tilde{\nu }_{i}(t)+ f_{i}\bigl(\bar{\pmb{x}}_{i}(t)\bigr)+ \pmb{\varphi }_{i} ^{T}\bigl(\bar{\pmb{x}}_{i}(t)\bigr) \pmb{ \vartheta }-\dot{\nu }_{i-1}^{c}(t), \end{aligned} $$
(12)

where \(e_{i+1}(t)=x_{i+1}(t)-\nu _{i}^{c}(t)\), \(\tilde{\nu }_{i}(t)=\nu _{i}^{c}(t)-\nu _{i}(t)\),

$$ \dot{\nu }_{i}^{c}(t)=-\sigma _{i} \nu _{i}^{c}(t)+ \sigma _{i} \nu _{2}(t),\quad\quad \nu _{i}^{c}(0)=\nu _{i}(0) $$
(13)

and the virtual control input \(\nu _{i}(t)\) can be constructed as

$$ \nu _{i}(t)=-k_{i}e_{i}(t)-e_{i-1}(t)-f_{i} \bigl(\bar{\pmb{x}}_{i}(t)\bigr)- \pmb{\varphi }_{i}^{T} \bigl(\bar{\pmb{x}}_{i}(t)\bigr) \hat{\pmb{\vartheta }}(t)+ \dot{\nu }_{i-1}^{c}(t), $$
(14)

where \(k_{i}>0\) and \(\sigma _{i}>1\) are two design parameters.

Substituting (14) into (12) yields

$$ \dot{e}_{i}(t) =-k_{i}e_{i}(t) +e_{i+1}(t)-e_{i-1}(t)+\tilde{\nu } _{i}(t)- \pmb{ \varphi }_{i}^{T}\bigl(\bar{\pmb{x}}_{i}(t)\bigr) \tilde{\pmb{\vartheta }}(t). $$
(15)

Step n.

In the final step, the control input \(u(t)\) will be constructed. Based on the discussion in Step \({n-1}\), we have

$$ \begin{aligned}[b] \dot{e}_{n}(t) & = \dot{x}_{n}(t)-\dot{\nu }_{n-1}^{c}(t) \\ & =f_{n}\bigl( \pmb{x}(t)\bigr)+d(t)+u(t)+\pmb{\varphi }_{n}^{T}\bigl(\bar{\pmb{x}}(t)\bigr) \pmb{\vartheta }-\dot{ \nu }_{n-1}^{c}(t). \end{aligned} $$
(16)

Then the control input can be given as

$$ u(t)=-k_{n}e_{n}(t)-f_{n}\bigl( \pmb{x}(t)\bigr)-\pmb{\varphi }_{n}^{T}\bigl(\bar{ \pmb{x}}(t) \bigr) \hat{\pmb{\vartheta }}(t)+\dot{\nu }_{n-1}^{c}(t)- \hat{d}^{*}(t) \operatorname{sign}\bigl(e_{n}(t) \bigr)-e_{n-1}, $$
(17)

where \(k_{n}>0\) is a design parameter, \(\hat{d}^{*}(t)\) is the estimation of the unknown positive constant \(d^{*}\). Then, (16) and (17) implies

$$ \dot{e}_{n}(t) =-k_{n}e_{n}(t)+d(t)- \hat{d}^{*}(t) \operatorname{sign}\bigl(e _{n}(t)\bigr)-\pmb{\varphi }_{n}^{T}\bigl(\bar{\pmb{x}}(t)\bigr) \tilde{\pmb{\vartheta }}(t)-e_{n-1}. $$
(18)

3.2 Stability analysis

The proposed filters, i.e., (6), (9), (13) can guarantee that \(\tilde{\nu }_{i}(t)\) is sufficiently small eventually. To prove this result, we give the following lemma first.

Lemma 1

Suppose that \(z(t)\) satisfies \(\vert z(t) \vert \leq \beta \), \(\vert \dot{z}(t) \vert \leq \gamma \) and

$$ \dot{y}(t)=-w\bigl(y(t)-z(t)\bigr), \quad\quad y(0)=z(0), $$
(19)

where \(w>0\). Then we have \(\vert y(t)-z(t) \vert \leq \frac{\gamma }{w}\).

Proof

Denote \(\tilde{y}(t)=y(t)-z(t)\). It is easy to see that \(\varpi (0)=0\). Then we have

$$ \dot{\tilde{y}}(t)=-w \tilde{y}(t)-\dot{z}(t). $$
(20)

The solution of (20) can be given as

$$ \tilde{y}(t)=- \int _{0}^{t} \dot{z}(t) e^{-w(\tau -t)}\,d\tau . $$
(21)

Thus, we have

$$ \begin{aligned}[b] \bigl\vert \tilde{y}(t) \bigr\vert &= \biggl\vert \int _{0}^{t} \dot{z}(t) e^{-w(\tau -t)}\,d\tau \biggr\vert \\ &\leq \int _{0}^{t} \bigl\vert \dot{z}(t) \bigr\vert e^{-w(\tau -t)}\,d\tau \\ & \leq \gamma \int _{0}^{t} e^{-w(\tau -t)}\,d\tau \\ & = \frac{\gamma }{w}\bigl(1-e ^{-wt}\bigr). \end{aligned} $$
(22)

Thus, \(\vert y(t)-z(t) \vert \leq \frac{\gamma }{w}\), and this ends the proof of Lemma 1. □

Based on above result, we can easily obtain the following theorem.

Theorem 1

Under Assumptions 3 and 4, we see that, for any \(\mu _{i}>0\), there exists a constant \(T>0\), for all \(t>T\), \(\vert \tilde{\nu }_{i}(t) \vert \leq \mu _{i}\) if sufficiently large parameters \(\sigma _{i}\) are chosen.

Proof

Based on (6), (9), (13), Assumptions 3 and 4, and Lemma 1, we know that for \(i=1,\ldots,n\) and any \(\mu _{i}>0\)

$$ \bigl\vert \tilde{\nu }_{i}(t) \bigr\vert = \bigl\vert \nu _{i}^{c}(t)-\nu _{i}(t) \bigr\vert \leq \mu _{i} $$
(23)

if sufficiently large \(\sigma _{i}\) is chosen. □

Now, let us give the following main results.

Theorem 2

Consider system (1) based on Assumptions 14. Let the virtual control inputs be (5), (10) and (14), the dynamic surface be (6), (9), and (13). If the adaptation laws are designed as

$$ \dot{\hat{\pmb{\vartheta }}}(t)= \lambda _{11} \sum _{i=1}^{n} e_{i}(t) \pmb{\varphi }_{i}\bigl(\bar{\pmb{x}}_{i}(t)\bigr)- \lambda _{11}\lambda _{12} {\hat{\pmb{\vartheta }}}(t) $$
(24)

and

$$ \dot{\hat{d}}^{*}(t)=\lambda _{21} \bigl\vert e_{i}(t) \bigr\vert -\lambda _{21}\lambda _{22} {\hat{d}}^{*}(t), $$
(25)

where \(\lambda _{11}\), \(\lambda _{12}\), \(\lambda _{21}\), \(\lambda _{22}\) are positive design parameters, then the proposed controller (17) guarantees that: (1) all signals in the closed-loop system keep bounded and (2) \(e_{i}(t)\) and \(\tilde{\nu }_{i}(t)\), \(i=1,2, \ldots , n\), converge to a sufficiently small region under proper controller design parameters.

Proof

It follows from (7) that

$$ e_{1}(t)\dot{e}_{1}(t) =-k_{1}e_{1}^{2}(t)+e_{1}(t)e_{2}(t)+e_{1}(t) \tilde{\nu }_{1}(t) -e_{1}(t)\pmb{\varphi }_{1}^{T}\bigl({ x}_{1}(t)\bigr)\tilde{\pmb{ \vartheta }}(t). $$
(26)

Based on (11) and (15), we know that, for \(i=2,3,\ldots,n\),

$$ e_{i}(t)\dot{e}_{i}(t) =-k_{i}e_{i}^{2}(t) +e_{i}(t)e_{i+1}(t)-e_{i-1}(t)e _{i}(t)+e_{i}(t) \tilde{\nu }_{i}(t)- e_{i}(t)\pmb{\varphi }_{i}^{T} \bigl(\bar{ \pmb{x}}_{i}(t)\bigr) \tilde{\pmb{\vartheta }}(t). $$
(27)

On the other hand, (18) implies

$$ e_{n}(t)\dot{e}_{n}(t) =-k_{n}e_{n}^{2}(t)+e_{n}(t)d(t)- \hat{d}^{*}(t) \bigl\vert e_{n}(t) \bigr\vert -e_{n}(t)\pmb{\varphi }_{n}^{T}\bigl({\pmb{x}}(t) \bigr) \tilde{\pmb{\vartheta }}(t)-e_{n-1}(t)e_{n}(t). $$
(28)

Thus, it follows from (26), (27), (28) and Assumption 3 that

$$\begin{aligned} \sum_{i=1}^{n} e_{i}(t)\dot{e}_{i}(t) &=-k_{1}e_{1}^{2}(t)+e_{1}(t)e _{2}(t)+e_{1}(t)\tilde{\nu }_{1}(t) -e_{1}(t)\pmb{\varphi }_{1}^{T}\bigl( { x}_{1}(t)\bigr) \tilde{\pmb{\vartheta }}(t) \\ & \quad {} + \sum_{i=2}^{n-1} \bigl[ -k_{i}e_{i}^{2}(t) +e_{i}(t)\tilde{\nu }_{i}(t)+e_{i}(t)e_{i+1}(t)- e_{i}(t) \pmb{\varphi }_{i}^{T}\bigl(\bar{\pmb{x}}_{i}(t) \bigr) \tilde{\pmb{\vartheta }}(t) \bigr] \\ &\quad {} -k_{n}e_{n}^{2}(t)+e_{n}(t)d(t)-e_{n}(t) \hat{d}^{*}(t) \operatorname{sign}\bigl(e_{n}(t) \bigr)-e_{n}(t)\pmb{\varphi }_{n}^{T}\bigl(\bar{ \pmb{x}}(t)\bigr) \tilde{\pmb{\vartheta }}(t) \\ & \quad {} -\sum_{i=1}^{n} e_{i-1}(t)e_{i}(t)-e _{n-1}e_{n}(t) \\ &= -\sum_{i=1}^{n} k_{i} e_{i}^{2}(t) + \sum_{i=1} ^{n} e_{i}(t)\tilde{\nu }_{i}(t)+e_{n}(t)d(t) -\hat{d}^{*}(t) \bigl\vert e_{n}(t) \bigr\vert \\ & \quad {} - \sum_{i=1}^{n}e_{i}(t) \pmb{\varphi }_{i}^{T}\bigl(\bar{ \pmb{x}}_{i}(t) \bigr) \tilde{\pmb{\vartheta }}(t) \\ &\leq -\sum_{i=1}^{n} k _{i} e_{i}^{2}(t) + \sum_{i=1}^{n} e_{i}(t)\tilde{\nu }_{i}(t)+d^{*} \bigl\vert e _{n}(t) \bigr\vert -\hat{d}^{*}(t) \bigl\vert e_{n}(t) \bigr\vert \\ &\quad {} - \sum_{i=1}^{n}e_{i}(t) \pmb{\varphi }_{i}^{T}\bigl(\bar{\pmb{x}}_{i}(t) \bigr) \tilde{\pmb{\vartheta }}(t) \\ &= - \sum_{i=1}^{n} k_{i} e_{i}^{2}(t) + \sum_{i=1}^{n} e_{i}(t) \tilde{\nu }_{i}(t)-\tilde{d}^{*}(t) \bigl\vert e_{n}(t) \bigr\vert - \sum_{i=1}^{n}e_{i}(t) \pmb{\varphi }_{i}^{T}\bigl(\bar{\pmb{x}}_{i}(t) \bigr) \tilde{\pmb{\vartheta }}(t), \end{aligned}$$
(29)

where \(\tilde{d}^{*}(t)= \hat{d}^{*}(t)-d^{*}\) is the estimation error of the unknown constant \(d^{*}\).

The Lyapunov function is defined as

$$ V(t)=\frac{1}{2}\sum_{i=1}^{n} e_{i}^{2}(t)+ \frac{1}{2 \lambda _{11}} \tilde{\pmb{\vartheta }}_{i}^{T}(t)\tilde{\pmb{\vartheta }}_{i}(t)+ \frac{1}{2 \lambda _{21}} \tilde{d}^{*2}(t). $$
(30)

By using (24), (25), (29) and Theorem 1, the derivative of (30) with respect to time can be given as

$$ \begin{aligned}[b] \dot{V}(t) &=\sum _{i=1}^{n} e_{i}(t)\dot{e}_{i}(t)+ \frac{1}{ \lambda _{11}}\tilde{\pmb{\vartheta }}_{i}^{T}(t) { \dot{\tilde{\pmb{\vartheta }}}} _{i}(t)+ \frac{1}{\lambda _{21}} \tilde{d}^{*}(t) \dot{\tilde{d}}^{*}(t) \\ &= - \sum_{i=1}^{n} k_{i} e_{i}^{2}(t) + \sum_{i=1}^{n} e_{i}(t) \tilde{\nu }_{i}(t)-\tilde{d}^{*}(t) \bigl\vert e_{n}(t) \bigr\vert - \sum_{i=1}^{n}e_{i}(t) \pmb{\varphi }_{i}^{T}\bigl(\bar{\pmb{x}}_{i}(t) \bigr) \tilde{\pmb{\vartheta }}(t) \\ & \quad {} + \frac{1}{ \lambda _{11}}\tilde{\pmb{\vartheta }}_{i}^{T}(t) {\dot{\hat{\pmb{\vartheta }}}}_{i}(t)+ \frac{1}{\lambda _{21}} \tilde{d}^{*}(t) \dot{\hat{d}}^{*}(t) \\ &=- \sum_{i=1}^{n} k_{i} e _{i}^{2}(t) + \sum_{i=1}^{n} e_{i}(t)\tilde{\nu }_{i}(t)- \lambda _{12} \tilde{\pmb{\vartheta }}_{i}^{T}(t) {\hat{\pmb{\vartheta }}}_{i}(t)- {\lambda _{22}} \tilde{d}^{*}(t) { \hat{d}}^{*}(t) \\ & \leq - \sum_{i=1} ^{n} k_{i} e_{i}^{2}(t) + \sum_{i=1}^{n} \sqrt{k_{i}} \bigl\vert e_{i}(t) \bigr\vert \frac{ \mu _{i}}{\sqrt{k_{i}}}- \lambda _{12}\tilde{\pmb{\vartheta }}_{i} ^{T}(t) {\hat{\pmb{{\vartheta }}}}_{i}(t)-{\lambda _{22}} \tilde{d} ^{*}(t) {\hat{d}}^{*}(t) \\ &\leq - \sum_{i=1}^{n} \frac{k_{i}}{2} e _{i}^{2}(t) + \sum_{i=1}^{n} \frac{\mu _{i}^{2}}{2{k_{i}}}- \lambda _{12}\tilde{\pmb{\vartheta }}_{i}^{T}(t) {\hat{\pmb{\vartheta }}} _{i}(t)-{ \lambda _{22}} \tilde{d}^{*}(t) {\hat{d}}^{*}(t) \\ &=- \sum_{i=1}^{n} \frac{k_{i}}{2} e_{i}^{2}(t) + \sum_{i=1}^{n} \frac{\mu _{i}^{2}}{2{k_{i}}}- \lambda _{12}\tilde{\pmb{\vartheta }}_{i}^{T}(t) \bigl( {\tilde{\pmb{\vartheta }}}_{i}(t)+\pmb{\vartheta }\bigr)-{\lambda _{22}} \tilde{d}^{*}(t) \bigl( {\tilde{d}}^{*}(t)+ d^{*} \bigr) \\ & \leq - \sum_{i=1} ^{n} \frac{k_{i}}{2} e_{i}^{2}(t) + \sum_{i=1}^{n} \frac{\mu _{i}^{2}}{2 {k_{i}}} - \frac{\lambda _{12}}{2}\tilde{\pmb{\vartheta }}_{i}^{T}(t) \tilde{\pmb{\vartheta }}_{i}(t) -\frac{{\lambda _{22}}}{2} \tilde{d} ^{*2}(t)+ \frac{\lambda _{12}}{2} \Vert \pmb{\vartheta } \Vert ^{2} +\frac{ \lambda _{22}}{2} d^{*2} \\ &\leq -\frac{k}{2} \sum_{i=1}^{n} e_{i}^{2}(t)- \lambda _{12}\lambda _{11} \frac{1}{2\lambda _{11}} \tilde{\pmb{\vartheta }}_{i}^{T}(t) \tilde{\pmb{\vartheta }}_{i}(t)- \lambda _{21}\lambda _{22}\frac{1}{2\lambda _{21}} \tilde{d}^{*2}(t)+ \alpha, \end{aligned} $$
(31)

where \(k=\min \{k_{1},\ldots,k_{n}\}\), and \(\alpha = \sum_{i=1}^{n} \frac{\mu _{i}^{2}}{2{k_{i}}}+ \frac{\lambda _{12}}{2} \Vert \pmb{\vartheta } \Vert ^{2} +\frac{\lambda _{22}}{2} d^{*2}\) is a positive constant. According to the Lyapunov stability criterion, we know that (31) implied that \(\Vert \pmb{e}(t) \Vert \leq \sqrt{ \frac{2\alpha }{k}}\), \(\Vert \tilde{\pmb{\vartheta }}(t) \Vert \leq \sqrt{\frac{ \alpha }{\lambda _{11}\lambda _{12}}}\), and \(\Vert \tilde{d}^{*}(t) \Vert \leq \sqrt{\frac{ \alpha }{\lambda _{21}\lambda _{22}}}\). That is to say, \(e_{i}(t)\), \(\tilde{\pmb{\vartheta }}(t)\), \(\tilde{d}^{*}(t)\) are bounded. Further, we know that \(x_{i}(t)\), \(\hat{\pmb{\vartheta }}(t)\), \(\hat{d}^{*}(t)\), \(\nu _{i}(t)\), \(u(t)\) are all bounded. As a result, we know that all signals are bounded.

On the other hand, we know that if \(\mu _{i}\), \(\lambda _{12}\) and \(\lambda _{22}\) are small enough, then α will be small enough, too. Thus, the tracking errors \(e_{i}(t)\) will eventually converge to a small region at zero if α is small enough. □

Remark 2

From the results of Theorem 2 we know that to drive the tracking errors \(e_{i}(t)\) small enough, we should choose small enough \(\mu _{i}\), \(\lambda _{12}\) and \(\lambda _{22}\). We know that \(\mu _{i}\) will be arbitrarily small if \(\sigma _{i}\) are chosen large enough. With respect to \(\lambda _{12}\) and \(\lambda _{22}\), in some literature, these parameters are set to be zero, for example, in [50,51,52,53,54]. However, we know in this case that the boundedness of the updated parameters cannot be guaranteed. Thus, in our method, these parameters are introduced for the purpose to guarantee the boundedness of all signals in the closed-loop system. In the simulation, to achieve good control performance, we can set these parameters sufficiently small.

Remark 3

In this paper, the dynamic surfaces (6), (10) and (14) are used to get the estimation of the virtual control inputs and their derivatives. It should be mentioned that the proposed Lemma 1 plays an important role in the stability analysis, which can guarantee the estimation error to be as small as possible. The estimation error can be adjusted by the design parameter \(\sigma _{i}\). In fact, in practical applications, one does not to select too large \(\sigma _{i}\), which is indicated by the following simulation results.

Remark 4

In the conventional ABC method, every middle variable is treated as an input, and by using Lyapunov stability theorems, a virtual control input is designed. In the next step, the derivative of the virtual input is needed. However, as the order increases, it is more and more difficult to get the exact value of the derivative of the virtual input. Thus, the “explosion of complexity” occurs. To overcome this problem, in [2, 40,41,42], the derivative of the virtual input was estimated by using a fuzzy logic system, however, more control energy is needed and more computational burden will be added to the control system. In this paper, the ADSC method was proposed for SFNS with parametric uncertainty. The ADSC is an extension of the ABC, which is effective for handling SFNS. By using the proposed dynamical surface, i.e. (6), (10) and (14), the estimation of the derivatives of the virtual inputs is easy to obtain. As a result, the “explosion of complexity” problem can be solved effectively.

4 Simulation example

To indicate the effectiveness of the proposed control method, the well-known Chua chaotic system will be used in the simulation, which can be described as [20]

$$ \textstyle\begin{cases} \dot{x}_{1}(t) = 11.25 x_{2}(t) -11.25 x_{1}(t) -f(x_{1}(t)),\\ \dot{x}_{2}(t) = x_{3}(t) + x_{1}(t) -x_{2}(t)+ \pmb{\varphi }_{2} ^{T}(\bar{\pmb{x}}_{2}(t)) \pmb{\vartheta },\\ \dot{x}_{3}(t) = 18.6x _{2}(t)+d(t)+u(t), \end{cases} $$
(32)

with

$$ f\bigl(x_{1}(t)\bigr)=-0.68x_{1}(t)-0.545\bigl( \bigl\vert x_{1}(t)+1 \bigr\vert - \bigl\vert x_{1}(t)-1 \bigr\vert \bigr). $$

In system (32), \(\pmb{\varphi }_{1}({ x}_{1}(t))= \pmb{\varphi }_{3}({\pmb{x}}(t))\equiv 0\). The uncontrolled and undisturbed system (32) (i.e., \(u(t)=d(t)=0\), \(\pmb{\varphi }_{2}(\bar{\pmb{x}}_{2}(t))= \pmb{0}\)) shows chaotic behavior, which is depicted in Fig. 1.

Figure 1
figure 1

Chaotic behavior of system (32) under initial condition \(\pmb{x}(0)=[1.6, -1.1, 0.7]\)

In the simulation, let \(\pmb{\vartheta }=[1.5, 2.1, -1.5]^{T}\), \(\pmb{\varphi }_{2}(\bar{\pmb{x}}_{2}(t))=[x_{1}(t), x_{2}(t), x_{1}(t) \sin x_{2}(t)]^{T}\), and the disturbance is set as \(d(t)=0.5\sin t\). The referenced signal \(x_{d}(t)\) and its first-order derivative is produced by the following differential equation:

(33)

where \(\pmb{\zeta }(0)=[0, 0]^{T}\), \(\zeta _{c}(t)=\pi /6\) for \(t\in [0, 5]\) and \(\zeta _{c}(t)=0\) for \(t>5\) with \(x_{d}(t)= \zeta _{1}(t)\) and \(\dot{x}_{d}(t)= \zeta _{2}(t)\).

The controller design parameters are chosen as \(k_{1}=k_{2}=k_{3}=1.5\), \(\sigma _{1}=\sigma _{2}=\sigma _{3}=20\), \(\lambda _{11}=\lambda _{21}=10\), \(\lambda _{21}=\lambda _{22}=0.05\). The true value of \(\pmb{\vartheta }\) is \(\pmb{\vartheta }=[-0.5, 0.1, 0.5]^{T}\). The initial conditions for \(\hat{\pmb{\vartheta }}(t) \) and \(\hat{d}^{*}(t)\) are \(\hat{\pmb{\vartheta }}(0)=\pmb{0}\) and \(\hat{d}^{*}(0)=0\), respectively.

Figures 26 depict the simulation results. The tracking performance is indicated in Fig. 2, from which we can see that the output variable \(x_{1}(t)\) of system (32) follows the desired signal \(x_{d}(t)\) generated from system (33) in a very short time, i.e., the proposed method guarantee a fast convergence of the tracking error. The time response of the control input \(u(t)\) is shown in Fig. 3. It should be pointed out that the chattering phenomenon can be seen in Fig. 3 because the sign function is included in the proposed controller (17). In fact, to cancel the chattering, we can replace the sign function with some continuous function, such as the arctan function. The updated parameters \(\hat{\vartheta }_{1}(t)\), \(\hat{\vartheta }_{2}(t)\), \(\hat{\vartheta }_{3}(t)\) and \(\hat{d}^{*}(t)\) are presented in Fig. 4, from which we can see that the boundedness of these parameters can be guaranteed. Finally, the tracking performance between \(\nu _{1}(t)(t)\) and \(\nu _{1}^{c}(t)\), and \(\nu _{2}(t)(t)\) and \(\nu _{2}^{c}(t)\) is given in Fig. 5 and Fig. 6, respectively. It is indicated that the proposed dynamic surfaces have very good estimation ability.

Figure 2
figure 2

\(x_{1}(t)\) and \(x_{d}(t)\)

Figure 3
figure 3

Control input \(u(t)\)

Figure 4
figure 4

The updated parameters

Figure 5
figure 5

Virtual control input \(\nu _{1}(t)\) and its estimation \(\nu _{1}^{c}(t)\)

Figure 6
figure 6

Virtual control input \(\nu _{2}(t)\) and its estimation \(\nu _{2}^{c}(t)\)

5 Conclusions

In this paper, we present a strict stability analysis for a practical generalization of the conventional ABC method. Our main idea consists in designing a backstepping controller by using an auxiliary variable, i.e., out of a dynamic surface, whose derivative is easy to obtain to approximate the virtual controller. The proposed method is feasible even when the controlled system suffers from parametric uncertainty and external disturbances. It has been proven that our method is feasible for a wider range of SFNSs than conventional ABC and the dynamic surface can also be utilized to enhance constraints on the state trajectories. The proposed ADSC guarantees that all signals in the closed-loop system keep bounded and tracking errors converge to a sufficiently small region. The effectiveness of our method has been verified by a simulation results. Our future research direction include: (1) Design an extended controller consider how to deduce the requirement of the system model; (2) Combined our method with some robust control approach, for example, adaptive fuzzy control, adaptive neural network control, sliding mode control.