1 Introduction

Since the near-space vehicle (NSV) has larger flight envelope, rapid flight speed and time-varying aerodynamic characteristics, the efficient control schemes are very significant to improve its safety and reliability [1, 2]. However, the study of such aircraft is quite difficult. First of all, the NSV system has serious nonlinear characteristics and there exists a strong coupling relationship between different channels. At the same time, the aerodynamic parameters and the state variables always interact with each other which will further increase the control design difficulty for the NSV [3]. On the other hand, it is necessary to fully consider the parameter uncertainties and the external disturbances in the flight control design stage of the NSV. Although mostly important parameters are available from prototype testing and simulated flight conditions [4], the uncertainties caused by real flight environment cannot be entirely taken into account. In addition, the tracking control performance should be improved for the NSV to meet the various task requirements.

Recently, many modern control strategies have been applied to the control design of an NSV. In [57], an NSV attitude controller was presented by combining backstepping method with neural network and adaptive fuzzy control technology. The simulation result shows that the developed control scheme can inhibit the influence of the parameter uncertainties and the external disturbances. For the X-38 attitude control problem with uncertainties and disturbances, a robust dynamic inversion controller was designed to improve the robustness of the closed-loop system in [9]. In [10], a globally convergent Levenberg–Marquardt (LM) algorithm based on Takagi–Sugeno fuzzy training was proposed for the NSV. In [11], a terminal sliding mode controller combined with dynamic sliding mode was designed based on nonlinear disturbance observer. However, the desired tracking control performance needs to be further improved for the NSV in the presence of parameter uncertainties and external disturbances.

Sliding mode control has good adaptability and high robustness for system disturbances and parameter perturbation. It had been successfully applied to industrial control [12, 13], such as ships [14, 15], robotics [16]. At the same time, it is also widely used in the flight control design. In [17], a vertical posture sliding mode controller was successfully designed to improve the robustness of the craft. In [18], a sliding mode controller was designed for the helicopter vertical flight dynamic, which ensured the helicopter vertical movement and removed the chattering phenomenon. To further reduce the chattering phenomenon of the sliding mode control, the boundary layer technique will be employed in this paper [19, 20]. However, the boundary layer width and the control gain are usually chosen as the fixed values, which may lead to the degradation of tracking control performance.

In order to further improve the tracking control performance, the parameter uncertainties and unknown disturbances should be fully considered and many researches focus on this issue [2123]. The disturbance observer technology can be introduced to estimate the unknown disturbance in the system, which is easily applied to the practical engineering. The output of the disturbance observer can be used to design the control law to reject the effect of external disturbances. In [24], a robust adaptive trajectory linearization control (TLC) approach was developed to improve the performance of the current TLC by combining with a radial basis function neural network disturbance observer. The sliding mode disturbance observer (SMDO) was successfully used for motor control in [25, 26]. In [27], a sliding mode controller based on SMDO was proposed for the missile to improve the control robustness. In [28], a robust reconfigurable tracking control scheme based on SMDO was designed for the NSV. Thus, the SMDO can be introduced in the robust control design of the NSV to further enhance the disturbance rejection ability.

This work is motivated by the boundary layer adaptive sliding mode control scheme to follow the desired trajectories of NSVs with unknown external disturbance and system uncertainty. The main contributions of this paper are as follows:

  1. (i)

    To eliminate the chattering phenomenon for the NSV, the self-tuning laws of the boundary parameter and the control gain are designed using the gradient descent method.

  2. (ii)

    In order to improve the control performance and the system convergence speed, a SMDO is designed based on terminal sliding mode method.

  3. (iii)

    The boundary layer adaptive sliding mode control scheme is designed using outputs of the disturbance observer to guarantee the high-precision attitude control performance in the presence of unknown external disturbance and system uncertainty.

The organization of the paper is as follows. Section 2 details the problem formulation. In Sect. 3, the second-order sliding mode disturbance observer (SOSMDO) is designed. The boundary layer adaptive sliding mode control scheme is proposed in Sect. 4 based on the developed SOSMDO. Simulation studies are presented in Sect. 5 to demonstrate the effectiveness of the developed boundary layer adaptive sliding mode control scheme, followed by some concluding remarks in Sect. 6. For the description convenience of the control design, the following notations are required.

Notations: Throughout this paper, for a vector, \({( \bullet )^c}\) denotes that take power operation of each element of the vector (or only for a number); \({\mathrm{sgn}} (\bullet )\) stands for sign function; \(\left\| \bullet \right\| \) represents Euclidean norm (or Frobenius norm for a matrix); \({\mathrm{diag}}( \bullet )\) represents a diagonal matrix constructed by the vector’s elements; specifically, for \(\chi = {[\begin{array}{ccc} {{\chi _1}},&\ldots ,&{{\chi _n}} \end{array}]^\mathrm{T}}\) and \(W \in {R^{n \times m}}\), we have

$$\begin{aligned}&\begin{array}{l} {(\chi )^c} = {[\begin{array}{ccc} {{{({\chi _1})}^c}},&\ldots ,&{{{({\chi _n})}^c}} \end{array}]^\mathrm{T}}\end{array};\\&\begin{array}{l} {\mathrm{sgn}} (\chi ) = {[\begin{array}{ccc} {{\mathrm{sgn}} ({\chi _1})},&\ldots ,&{{\mathrm{sgn}} ({\chi _n})} \end{array}]^\mathrm{T}}\end{array}; \\&\begin{array}{l} \left\| \chi \right\| = \sqrt{\chi _1^2 + \chi _2^2 + \cdots + \chi _n^2} \end{array}; \\&\begin{array}{l} \left\| W \right\| = \sqrt{\sum \nolimits _{i = 1}^n {\sum \nolimits _{j = 1}^m {w_{ij}^2} } }\end{array}; \\&\begin{array}{l} \hbox {diag}(\chi ) = \left[ {\begin{array}{c@{\quad }c@{\quad }c} {{\chi _1}}&{} \cdots &{}0\\ \vdots &{} \ddots &{} \vdots \\ 0&{} \cdots &{}{{\chi _n}} \end{array}} \right] \end{array}. \end{aligned}$$

2 Problem description

The attitude motion of the NSV was given in [29], which can be described as the following general MIMO nonlinear system:

$$\begin{aligned} \left\{ \begin{array}{l} \dot{x} = F(x) + G(x)u + D(t,x,u)\\ y = x \end{array} \right. \end{aligned}$$
(1)

where \(x \in {R^n}\) is the system state vector, \(y \in {R^n}\) is the system output vector, \(F(x):{R^n}\rightarrow {R^n}\) is the system state function vector, \(G(x)=[{g_1}(x),{g_2}(x),\ldots ,{g_n}(x)]:{R^n}\rightarrow {R^{n\times n}}\) is the system control gain matrix, \(D(t,x,u)={\Delta } F(x,u)+d(t),\, D(t,x,u)\) is called as the compound disturbance vector of the MIMO nonlinear system (1), \(d(t)\in {R^n}\) is the external unknown disturbance vector, and \({\Delta } F(x,u)\in {R^n}\) is the system uncertainty. Each element of F(x) and \({g_1}(x),{g_2}(x),\ldots ,{g_n}(x)\) is sufficiently smooth functions.

In this paper, the control objective is that the output of the MIMO system (1) can track the bounded reference signal under the developed adaptive sliding mode controller. For the desired tracking signal \(x_{d}={[\begin{array}{cccc}{{x_{d1}},}&{{x_{d2}},}&{\ldots ,}&{{x_{dn}}} \end{array}]^\mathrm{T}}\), the tracking error is defined as

$$\begin{aligned} e= & {} y - {x_d} = x - {x_d} \nonumber \\ \quad= & {} {[\begin{array}{cccc} {{x_1} - {x_{d1}},}&{{x_2} - {x_{d2}},}&{\ldots ,}&{{x_n} - {x_{dn}}} \end{array}]^\mathrm{T}} \end{aligned}$$
(2)

Considering (1) and (2), we obtain

$$\begin{aligned} \dot{e} = \dot{x} - {\dot{x}_d} = F(x) + G(x)u + D(t,x,u) - {\dot{x}_d} \end{aligned}$$
(3)

In order to design a robust sliding mode adaptive controller, the sliding mode surface is chosen as

$$\begin{aligned} \sigma = Ce \end{aligned}$$
(4)

where \(C = \hbox {diag} \{c_1,c_2,\ldots ,c_n\}\) and \(c_i> 0\).

To proceed with the design of attitude control for the NSV described by the MIMO nonlinear system (1), the following assumptions are required:

Assumption 1

For the compound disturbance D in the MIMO nonlinear system (1), there exists an unknown positive constant L making \(\Vert \dot{D}(t,x,u)\Vert \le {L}\).

Assumption 2

All the states in the MIMO nonlinear system (1) are measurable, and \({(CG(x))^{-1}}\) is always existing.

Lemma 1

[3032] The high-order sliding mode differentiator (HOSMD) is defined as

(5)

where \(\vartheta _i\) and \(\varsigma _i\) are states of the high-order sliding mode differentiator (5) and \({\epsilon _i}\) are the design parameters. If the parameters are properly chosen, the conclusions \({{\vartheta }_{0}}=f(t)\) and \({{\vartheta }_{i}}={{\varsigma }_{i-1}}={{f}^{(i)}}(t),i=1,\ldots ,n\) are true in the absence of input noises after a finite time \(t_s\) of a transient process. Moreover, the corresponding solutions of the dynamic systems are Lyapunov stable, i.e., finite-time stable.

3 Design of adaptive sliding mode controller based on SMDO

3.1 Second-order sliding mode disturbance observer design

In order to improve the tracking control performance, the SMDO can be used to approximate the compound disturbance to fully explore the dynamic characteristics of the unknown disturbance. In [33, 34], the traditional SMDO method was used to reconstruct the disturbances. In [35], a super-twisting SMDO was designed to approximate the system disturbances. However, there are sign functions in the reconstructed items and the discontinuous disturbance compensations are bound to cause the chattering phenomenon. Therefore, based on terminal sliding mode technique, a SOSMDO by using the integral of sign in the reconstructed items instead of sign function, can eliminate the unexpected charting phenomenon. At the same time, the sliding mode variable and its derivative will converge to zero in finite time. In this paper, the SOSMDO is designed as

$$\begin{aligned} \left\{ \begin{array}{l} {s_0} = x - z\\ \dot{z} = F(x) + G(x)u + \hat{D}(t,x,u)\\ {s_1} = {s_0} + A{{\dot{s}}_0} + B\dot{s}_0^{\frac{p}{q}}\\ \dot{\hat{D}} = {\left[ A + \frac{p}{q}B\,\hbox {diag} \left( \dot{s}_0^{\frac{{p - q}}{q}}\right) \right] ^{ - 1}}\\ \quad [{{\dot{s}}_0} + {\lambda _1}{s_1} + {\lambda _2}\mathrm{sgn} ({s_1})] + (\hat{L} + \rho )\mathrm{sgn} ({s_1}) \end{array} \right. \end{aligned}$$
(6)

where \(A = \hbox {diag} \{ {a_1},\ldots ,{a_n}\}, {a_i} > 0\); \(B = \hbox {diag} \{ {b_1},\ldots ,{b_n}\}\), \({b_i} > 0\); \({\lambda _{1}} > 0;{\lambda _{2}} > 0;\rho > 0; 2q > p > q > 0\) and p, q are odd positive integers; and \(\hat{L}\) is the estimated value of L. \({\hat{D}}\) is the estimate output of the disturbance observer. The disturbance estimation error \(\tilde{D}\) is defined as \( \tilde{D} = D - \hat{D}\).

Considering (1) and (6), we obtain

$$\begin{aligned} \dot{s}_0= & {} \dot{x} - \dot{z} \nonumber \\= & {} F(x) + G(x)u + D(t,x,u) \nonumber \\&- (F(x) + G(x)u + \hat{D}(t,x,u)) \nonumber \\= & {} D(t,x,u) - \hat{D}(t,x,u) \end{aligned}$$
(7)

Invoking (7), one has

$$\begin{aligned} {\ddot{s}_0} = \dot{D}(t,x,u) - \dot{\hat{D}}(t,x,u) \end{aligned}$$
(8)

Taking into consideration (6), we have

$$\begin{aligned} {{\dot{s}}_1}= & {} {{\dot{s}}_0} + A{{\ddot{s}}_0} + B\left( \dot{s}_0^{\frac{p}{q}}\right) ' \nonumber \\= & {} {{\dot{s}}_0} + A{{\ddot{s}}_0} + \frac{p}{q}B\hbox {diag}\left( \dot{s}_0^{\frac{{p - q}}{q}}\right) {{\ddot{s}}_0} \nonumber \\= & {} {{\dot{s}}_0} + \left( A + \frac{p}{q}B\hbox {diag} \left( \dot{s}_0^{\frac{{p - q}}{q}}\right) \right) {{\ddot{s}}_0} \end{aligned}$$
(9)

Using the exponential reaching law to reach the sliding surface in finite time, we have

$$\begin{aligned} {\dot{s}_1} = - {\lambda _1}{s_1} - {\lambda _2}{\mathrm{sgn}} ({s_1}) \end{aligned}$$
(10)

Invoking (6) and (8), (9) can be written as

$$\begin{aligned} {{\dot{s}}_1}= & {} {{\dot{s}}_0} + \left[ A + \frac{p}{q}B\hbox {diag}\left( \dot{s}_0^{\frac{{p - q}}{q}}\right) \right] \nonumber \\&\left( \dot{D}(t,x,u) - \dot{\hat{D}}(t,x,u)\right) \nonumber \\= & {} - {\lambda _1}{s_1} - {\lambda _2}\mathrm{sgn} ({s_1})+ \left[ A + \frac{p}{q}B\,\hbox {diag}\left( \dot{s}_0^{\frac{{p - q}}{q}}\right) \right] \nonumber \\&\times (\dot{D}(t,x,u) - (\hat{L} + \rho )\mathrm{sgn} ({s_1})) \end{aligned}$$
(11)

In order to analyze the stability of the disturbance estimate error, the Lyapunov function candidate is chosen as

$$\begin{aligned} V_s = \frac{1}{2}{s_1}^\mathrm{T}{s_1}+ \frac{1}{{2{\gamma _d}}}{\tilde{L}^2} \end{aligned}$$
(12)

where \({\gamma _d}\) is a positive design parameter, \(\tilde{L} = L - \hat{L}\), and \(\dot{\tilde{L}} = \dot{L} - \dot{\hat{L}} = - \dot{\hat{L}}\).

Differentiating V and considering \({{\dot{s}}_{1}}\), we have

$$\begin{aligned} \dot{V}_s= & {} {s_1}^\mathrm{T}{{\dot{s}}_1} - \frac{1}{{{\gamma _d}}}\tilde{L} \dot{\hat{L}} \nonumber \\= & {} {s_1}^\mathrm{T} \left\{ - {\lambda _1}{s_1} - {\lambda _2}\mathrm{sgn} ({s_1}) + \left[ A + \frac{p}{q}B\,\hbox {diag}\left( \dot{s}_0^{\frac{{p - q}}{q}}\right) \right] \right. \nonumber \\&\left. \times (\dot{D}(t,x,u) - (\hat{L} + \rho )\mathrm{sgn} ({s_1}))\right\} - \frac{1}{{{\gamma _d}}}\tilde{L} \dot{\hat{L}} \nonumber \\= & {} - {\lambda _1}{s_1}^\mathrm{T}{s_1} - {\lambda _2}\sum \limits _{i = 1}^n {\left| {{s_{1i}}} \right| } + \sum \limits _{i = 1}^n {\left( {a_i} + \frac{p}{q}{b_i}\dot{s}_{0i}^{\frac{{p - q}}{q}}\right) } \nonumber \\&\times \left( {s_{1i}}{{\dot{D}}_i}(t,x,u) - (\hat{L} + \rho )\left| {{s_{1i}}} \right| \right) - \frac{1}{{{\gamma _d}}}\tilde{L} \dot{\hat{L}} \nonumber \\\le & {} - {\lambda _1}{s_1}^\mathrm{T}{s_1} - {\lambda _2}\sum \limits _{i = 1}^n {\left| {{s_{1i}}} \right| } + \sum \limits _{i = 1}^n {\left( {a_i} + \frac{p}{q}{b_i}\dot{s}_{0i}^{\frac{{p - q}}{q}}\right) } \nonumber \\&\times (L \left| {{s_{1i}}} \right| - (\hat{L} + \rho )\left| {{s_{1i}}} \right| )- \frac{1}{{{\gamma _d}}}\tilde{L} \dot{\hat{L}} \end{aligned}$$
(13)

The adaptive law of \({\hat{L}}\) is designed as

$$\begin{aligned} \dot{\hat{L}} = {\gamma _d}\left( \sum \limits _{i = 1}^n {\left( {a_i} + \frac{p}{q}{b_i}\dot{s}_{0i}^{\frac{{p - q}}{q}}\right) } \left| {{s_{1i}}} \right| \right) \end{aligned}$$
(14)

Substituting (14) into (13), we obtain

$$\begin{aligned}&\dot{V}_s \le - {\lambda _1}{s_1}^\mathrm{T}{s_1} - {\lambda _2}\sum \limits _{i = 1}^n {\left| {{s_{1i}}} \right| } \nonumber \\&\quad - \sum \limits _{i = 1}^n {\left( {a_i} + \frac{p}{q}{b_i}\dot{s}_{0i}^{\frac{{p - q}}{q}}\right) } \rho \left| {{s_{1i}}} \right| \end{aligned}$$
(15)

Since \(a_i>0,b_i>0,\rho >0,\, p\) and q are positive odds, we have

$$\begin{aligned} \dot{V}_s \le - {\lambda _1}{s_1}^\mathrm{T}{s_1} - {\lambda _2}\sum \limits _{i = 1}^n {\left| {{s_{1i}}} \right| } \end{aligned}$$
(16)

The differential term \({{\dot{s}}_0}\) in the designed SOSMDO (6) cannot be directly obtained by using derivative method. Thus, according to Lemma 1, the HOSMD is employed to produce the corresponding derivatives [3032]. Then, the states \(z_1\) converge to \({{\dot{s}}_0}\) in finite time \({t_s}\).

According to (10), we can conclude that if \({s_{1i}}(t_s) \ne 0\) at the time point \(t_s\), the system states will reach the sliding mode \({s_{1i}}= 0\) within the finite time \({t_{1i}}\), which satisfies

$$\begin{aligned} {t_{1i}} = \frac{1}{{{\lambda _1}}}\left[ \ln \left( \left| {{s_{1i}}(t_s)} \right| + \frac{{{\lambda _2}}}{{{\lambda _1}}}\right) - \ln \left( \frac{{{\lambda _2}}}{{{\lambda _1}}}\right) \right] \end{aligned}$$
(17)

From (17), we know that the system states will reach the sliding mode \({s_{1}}= 0\) within the finite time \({t_{r1}} = \max (t_{11},\ldots , t_{1n})\). When the sliding mode \({s_{1}}= 0\) is reached, the system dynamics is determined by the following terminal sliding mode equation:

$$\begin{aligned} {s_1} = {s_0} + A{{\dot{s}}_0} + B\dot{s}_0^{\frac{p}{q}} = 0 \end{aligned}$$
(18)

where \({s_{0i}=0}\) is the terminal attractor of the system (18). From the time point \(t_s+t_{r1}\) when \({s_{0i}}(t_s+t_{r1}) \ne 0\) transfer to the time point \(t_s+t_{r1}+t_{0i}\) when \({s_{0i}}(t_s+t_{r1}+t_{0i}) = 0\), the spending time \(t_{0i}\) satisfies the following condition:

$$\begin{aligned} {t_{0i}} \le {({b_i})^{\frac{q}{p}}}\frac{p}{{p - q}}{\left| {{s_{0i}}({t_s+t_{r1}})} \right| ^{1 - \frac{q}{p}}} \end{aligned}$$
(19)

Then, from the time point \(t_s+t_{r1}\) when \({s_{0}}(t_s+t_{r1}) \ne 0\) transfer to the time point \(t_s+t_{r1}+t_{r0}\) when \({s_{0}}(t_s+t_{r1}+t_{r0}) = 0\), the spending time \(t_{r0}\) is \({t_{r0}} = \max ({t_{01}},\ldots ,{t_{0n}})\) which is finite. The parameters need to be properly chosen to let the convergence time \(t_s\) of HOSMD smaller than the convergence time \(t_d =\max ({t_{r1}}, {t_{r0}})\) of SOSMDO.

Thus, we can obtain that the estimated value \(\hat{D}\) can completely approximate the external disturbance D in finite time and the disturbance estimation error \(\tilde{D}\) has the upper bound \(\Vert \tilde{D} \Vert \le {\beta _d}\) with \(\beta _d>0\).

Remark 1

Since \({a_i} > 0, {b_i} > 0\) and pq are odd positive integers, we have \(\nabla =(A + \frac{p}{q}B\,\hbox {diag}(\dot{s}_0^{\frac{{p - q}}{q}}))>0\). It is apparent that \(\nabla \) is nonsingular and \(\nabla ^{-1}\) always exists. Hence, the singular problem is avoided in the designed disturbance observer (6) and we can adjust the design parameters to improve the convergence speed.

3.2 Design of adaptive sliding mode controller based on SOSMDO

From the above analysis, we know that the estimate error of the designed SOSMDO is convergent. Using the output of the designed SMDO, the adaptive sliding mode controller is designed as

$$\begin{aligned} u= & {} - {(CG(x))^{ - 1}}[CF(x) - C{{\dot{x}}_d}+ C\hat{D} + \kappa \sigma \nonumber \\&+ \hat{\beta }_d \left\| C \right\| {\mathrm{sgn}} (\sigma )] \end{aligned}$$
(20)

where \(\kappa > 0\) and \(\hat{\beta }_d\) is the estimated value of \(\beta _d\).

The adaptive law is chosen as

$$\begin{aligned} {\dot{\hat{\beta }}} _d = {\gamma _D}\left\| C \right\| \left\| {\sigma } \right\| \end{aligned}$$
(21)

where \(\gamma _D>0\) is a design parameter.

To analyze the stability of the whole closed-loop system, consider a Lyapunov function candidate as

$$\begin{aligned} V = \frac{1}{2}{\sigma ^\mathrm{T}}\sigma + \frac{1}{{2\gamma _D }}{\tilde{\beta }_d}^2+ {V_s} \end{aligned}$$
(22)

where \({\tilde{\beta }_d} = {\beta _d} - {\hat{\beta }_d}\) and \({\dot{\tilde{\beta }}} _d = {\dot{\beta } }_d - {\dot{\hat{\beta }}}_d = - {\dot{\hat{\beta }}}_d\).

Differentiating V yields

$$\begin{aligned} \dot{V} = {\sigma ^\mathrm{T}}\dot{\sigma } - \frac{1}{{{\gamma _D}}}{\tilde{\beta }}_d{\dot{ \hat{\beta }}}_d+ {\dot{V}_s} \end{aligned}$$
(23)

Considering (3) and (4), we have

$$\begin{aligned} \dot{\sigma }= & {} C\dot{e} = C(\dot{x} - {{\dot{x}}_d}) \nonumber \\= & {} CF(x) + CG(x)u - C{{\dot{x}}_d} + CD(t,x,u) \end{aligned}$$
(24)

Substituting (20) into (24), we obtain

$$\begin{aligned} \dot{\sigma }= & {} CF(x) + CG(x)\{ - {(CG(x))^{ - 1}}[CF(x) - C{{\dot{x}}_d} \nonumber \\&+ C{\hat{D}} + \kappa \sigma + \hat{\beta }_d \left\| C \right\| {\mathrm{sgn}} (\sigma )]\} \nonumber \\&- C{{\dot{x}}_d} + CD(t,x,u) \nonumber \\= & {} C(D - \hat{D}) - \kappa \sigma - \hat{\beta }_d \left\| C \right\| {\mathrm{sgn}} (\sigma ) \nonumber \\= & {} C\tilde{D} - \kappa \sigma - \hat{\beta }_d\left\| C \right\| \mathrm{sgn} (\sigma ) \end{aligned}$$
(25)

Invoking (25), (23) can be written as

$$\begin{aligned} \dot{V}= & {} {\sigma ^\mathrm{T}}\dot{\sigma } - \frac{1}{{{\gamma _D}}}{{\tilde{\beta }}_d}{{\dot{\hat{\beta }}}_d} + {{\dot{V}}_s} \nonumber \\= & {} {\sigma ^\mathrm{T}}[C{\tilde{D} } - \kappa \sigma - {{\hat{\beta }}_d}\left\| C \right\| {\mathrm{sgn}} (\sigma )] \nonumber \\&- \frac{1}{{{\gamma _D}}}{{\dot{\hat{\beta }}}_d}{{\tilde{\beta }}_d} + {{\dot{V}}_{s\, }} \nonumber \\\le & {} \left\| C \right\| \left\| \sigma \right\| {\beta _d} - \kappa {\sigma ^\mathrm{T}}\sigma - {{\hat{\beta }}_d}\left\| C \right\| \sum \limits _i^n {\left| {{\sigma _i}} \right| } \nonumber \\&- \frac{1}{{{\gamma _D}}}{\gamma _D}\left\| C \right\| \left\| \sigma \right\| {{\tilde{\beta }}_d} + {{\dot{V}}_{s\, }} \nonumber \\\le & {} \left\| C \right\| \left\| \sigma \right\| ({\beta _d} - {{\hat{\beta }}_d} - {{\tilde{\beta }}_d}) - \kappa {\sigma ^\mathrm{T}}\sigma + {{\dot{V}}_{s\, }} \nonumber \\\le & {} - \kappa {\sigma ^\mathrm{T}}\sigma \end{aligned}$$
(26)

From (26), we have

$$\begin{aligned} \dot{V} \le - \kappa \sum \limits _{i=1}^{n}{\sigma _i}^2 \end{aligned}$$
(27)

Thus, \({\dot{V}}\) is negative semi-definite which means V is a nonincreasing function of time, that is, the sliding mode surface \({\sigma _i}\) is bounded and the tracking error \(e_{i}\) is also bounded. Thus, the control objective is achieved under the designed adaptive sliding mode controller based on SMDO.

4 Design of boundary layer adaptive sliding mode controller based on SOSMDO

Due to the existence of sign function in the adaptive sliding mode controller (20) based on SOSMDO, it will cause the chattering phenomenons. Boundary layer technique can be employed to eliminate the chattering phenomenons in traditional sliding mode control in [19, 20]. However, the boundary layer width and the control gain are usually chosen as the fixed values in [36], and they may not guarantee a desired tracking performance. Based on the gradient descent method, the self-tuning laws of \(\hat{\beta }_d\) and \(\hat{\lambda }\) are designed with the sliding mode surface \(\sigma \) which lead to the self-tuning of \(\hat{\beta }_d\) and \(\hat{\lambda }\) in order to reduce the tracking error e. The boundary layer adaptive sliding mode control law is designed as

$$\begin{aligned} u = - {(CG(x))^{ - 1}}u_{0} \end{aligned}$$
(28)

where \(u_0=CF(x) - C{{\dot{x}}_d} + C{\hat{D}} + \kappa \sigma + \left\| C \right\| \phi (\hat{\lambda },\sigma )\hat{\beta }_d\), \(\phi (\hat{\lambda },\sigma ) = {\left[ {{\phi _1}(\hat{\lambda },{\sigma _1}),{\phi _2}(\hat{\lambda },{\sigma _2}), \ldots ,{\phi _n}(\hat{\lambda },{\sigma _n})} \right] ^\mathrm{T}}\), and \( \kappa > 0\). \({\phi _i}(\hat{\lambda },{\sigma _i}) = \frac{{1 - \exp ( - \hat{\lambda }{\sigma _i})}}{{1 + \exp ( - \hat{\lambda }{\sigma _i})}}\) is a continuous function in \([-1,1]\). The parameter \(\hat{\lambda }\) determines the steepness of the continuous function \({\phi _i}(\hat{\lambda } ,{\sigma _i})\). Therefore, it eliminates the chattering and reduces the error effectively by using the time-varying boundary layer width and control gain. In order to stabilize the closed-loop system, the appropriate adaptive law should be chosen to make \({\sigma ^\mathrm{T}}\dot{\sigma }<0\). The new parameter adaptive laws are designed as

$$\begin{aligned} \dot{\hat{\beta _d}}= & {} \eta \phi {(\hat{\lambda } ,\sigma )^\mathrm{T}}{({(CG(x))^{ - 1}})^\mathrm{T}}{\left( \frac{{\partial x}}{{\partial u}}\right) ^\mathrm{T}}{C^\mathrm{T}}\sigma \end{aligned}$$
(29)
$$\begin{aligned} \dot{\hat{\lambda }}= & {} \gamma \hat{\beta }_d \varphi {(\hat{\lambda },\sigma )^\mathrm{T}}{({(CG(x))^{ - 1}})^\mathrm{T}}{\left( \frac{{\partial x}}{{\partial u}}\right) ^\mathrm{T}}{C^\mathrm{T}}\sigma \end{aligned}$$
(30)

where \(\varphi (\hat{\lambda },\sigma ) = \left[ \frac{{{\sigma _1}\exp ( - \hat{\lambda }{\sigma _1})}}{{{{(1 + \exp ( - \hat{\lambda }{\sigma _1}))}^2}}},\frac{{{\sigma _2}\exp ( - \hat{\lambda }{\sigma _2})}}{{{{(1 + \exp ( - \hat{\lambda }{\sigma _2}))}^2}}}, \ldots , \frac{{{\sigma _n}\exp ( - \hat{\lambda }{\sigma _n})}}{{{{(1 + \exp ( - \hat{\lambda }{\sigma _n}))}^2}}}\right] \). \(\gamma \) and \(\eta \) are positive design parameters. In practical application, if the sampling time is small, \(\frac{{\partial x}}{{\partial u}}\) can be replaced by \(\frac{{{\Delta } x}}{{{\Delta } u}}\).

In order to analyze the stability of the closed-loop system, consider the following Lyapunov function candidate:

$$\begin{aligned} V = \frac{1}{2}{\sigma ^T}\sigma \end{aligned}$$
(31)

Differentiating V, we have

$$\begin{aligned} \dot{V}= & {} \frac{{\partial V}}{{\partial \sigma }}\frac{{\partial \sigma }}{{\partial e}}\frac{{\partial e }}{{\partial x}}\frac{{\partial x}}{{\partial u}}\left( \frac{{\partial u}}{{\partial \hat{\beta }_d }}\frac{{\partial \hat{\beta }_d}}{{\partial t}} + \frac{{\partial u}}{{\partial \hat{\lambda }}}\frac{{\partial \hat{\lambda }}}{{\partial t}}\right) \nonumber \\= & {} \frac{{\partial V}}{{\partial \sigma }}\frac{{\partial \sigma }}{{\partial e}}\frac{{\partial e }}{{\partial x}}\frac{{\partial x}}{{\partial u}}\frac{{\partial u}}{{\partial \hat{\beta }_d }}\frac{{\partial \hat{\beta }_d }}{{\partial t}} + \frac{{\partial V}}{{\partial \sigma }}\frac{{\partial \sigma }}{{\partial e}}\frac{{\partial e }}{{\partial x}}\frac{{\partial x}}{{\partial u}}\frac{{\partial u}}{{\partial \hat{\lambda }}}\frac{{\partial \hat{\lambda }}}{{\partial t}} \nonumber \\ \end{aligned}$$
(32)

Let us define

$$\begin{aligned} {\dot{V}_1}= & {} \frac{{\partial V}}{{\partial \sigma }}\frac{{\partial \sigma }}{{\partial e}}\frac{{\partial e }}{{\partial x}}\frac{{\partial x}}{{\partial u}}\frac{{\partial u}}{{\partial \hat{\beta }_d }}\frac{{\partial \hat{\beta }_d }}{{\partial t}} \nonumber \\= & {} {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}\frac{\partial }{{\partial \hat{\beta }_d }}\left[ - {(CG(x))^{ - 1}}(CF(x) \right. \nonumber \\&\left. - C{{\dot{x}}_d} + C\hat{D} + \kappa \sigma + \left\| C \right\| \phi (\hat{\lambda },\sigma )\hat{\beta }_d )\right] \frac{{\partial \hat{\beta }_d }}{{\partial t}} \nonumber \\= & {} \left\| C \right\| {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}\left[ - {(CG(x))^{ - 1}}\phi (\hat{\lambda },\sigma )\right] \frac{{\partial \hat{\beta }_d }}{{\partial t}} \nonumber \\ \end{aligned}$$
(33)

Substituting \(\dot{\hat{\beta }}_d\) into (33), we obtain

$$\begin{aligned} {\dot{V}_1}= & {} \left\| C \right\| {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}} \left[ - {(CG(x))^{ - 1}}\phi (\hat{\lambda },\sigma ) \right] \nonumber \\&\times \left[ \eta \phi {(\hat{\lambda },\sigma )^\mathrm{T}}{({(CG(x))^{ - 1}})^\mathrm{T}}{\left( \frac{{\partial x}}{{\partial u}}\right) ^\mathrm{T}}{C^\mathrm{T}}\sigma \right] \nonumber \\= & {} - \eta \left\| C \right\| \left[ {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}{(CG(x))^{ - 1}}\phi (\hat{\lambda },\sigma )\right] \nonumber \\&\times {\left[ {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}{(CG(x))^{ - 1}}\phi (\hat{\lambda },\sigma )\right] ^\mathrm{T}} \nonumber \\= & {} - \eta \left\| C \right\| {\nu ^2} \le 0 \end{aligned}$$
(34)

where \({\nu _{1 \times 1}} = {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}{(CG(x))^{ - 1}}\phi (\hat{\lambda },\sigma )\).

And, we define

$$\begin{aligned} {\dot{V}_2}= & {} \frac{{\partial V}}{{\partial \sigma }}\frac{{\partial \sigma }}{{\partial e}}\frac{{\partial e }}{{\partial x}}\frac{{\partial x}}{{\partial u}}\frac{{\partial u}}{{\partial \hat{\lambda } }}\frac{{\partial \hat{\lambda }}}{{\partial t}} \nonumber \\= & {} {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}\frac{\partial }{{\partial \hat{\lambda }}} \left\{ - {(CG(x))^{ - 1}}[CF(x) \right. \nonumber \\&\left. - C{{\dot{x}}_d} + C\hat{D} + \kappa \sigma + \left\| C \right\| \phi (\hat{\lambda },\sigma )\hat{\beta }_d ]\right\} \frac{{\partial \hat{\lambda }}}{{\partial t}} \nonumber \\= & {} \left\| C \right\| {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}\left[ - 2{(CG(x))^{ - 1}}\varphi (\hat{\lambda },\sigma )\hat{\beta }_d \right] \frac{{\partial \hat{\lambda }}}{{\partial t}} \nonumber \\ \end{aligned}$$
(35)

Substituting \(\dot{\hat{\lambda }}\) into (35), we have

$$\begin{aligned} {\dot{V}_2}= & {} \left\| C \right\| {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}} \left[ - 2{(CG(x))^{ - 1}}\varphi (\hat{\lambda },\sigma )\hat{\beta }_d \right] \nonumber \\&\times \, \left[ \gamma \hat{\beta }_d \varphi {(\hat{\lambda },\sigma )^\mathrm{T}}{({(CG(x))^{ - 1}})^\mathrm{T}}{\left( \frac{{\partial x}}{{\partial u}}\right) ^\mathrm{T}}{C^\mathrm{T}}\sigma \right] \nonumber \\= & {} - 2\gamma \left\| C \right\| {{\hat{\beta }_d }^2}\left[ {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}{(CG(x))^{ - 1}}\varphi (\hat{\lambda },\sigma )\right] \nonumber \\&\times \, \, {\left[ {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}{(CG(x))^{ - 1}}\varphi (\hat{\lambda },\sigma )\right] ^\mathrm{T}} \nonumber \\= & {} - 2\gamma \left\| C \right\| {{\hat{\beta }_d }^2}{\upsilon ^2} \le 0 \end{aligned}$$
(36)

where \({\upsilon _{1 \times 1}} = {\sigma ^\mathrm{T}}C\frac{{\partial x}}{{\partial u}}{(CG(x))^{ - 1}}\varphi (\hat{\lambda },\sigma )\).

Taking into consideration (34) and (36), we obtain

$$\begin{aligned} \dot{V} = {\dot{V}_1} + {\dot{V}_2}\le 0 \end{aligned}$$
(37)

Thus, V is a nonincreasing function of time. This gives the same stability result obtained in Sect. 3.2.

5 Simulation study

In this section, the proposed SOSMDO-based boundary layer adaptive sliding mode controller is used to the attitude control of the NSV and simulation results are given to illustrate the effectiveness. The nonlinear MIMO attitude motion equations of the NSV are given as follows [37]:

$$\begin{aligned} \dot{\alpha }= & {} q - \tan \beta (p\cos \alpha + r\sin \alpha ) + \frac{1}{{mV\cos \beta }} \nonumber \\&- L + mg\cos \gamma \cos \mu - {T_x}\sin \alpha + {T_z}\cos \alpha ) \end{aligned}$$
(38)
$$\begin{aligned} \dot{\beta }= & {} - r\cos \alpha + p\sin \alpha + \frac{1}{{mV}}(Y\cos \beta \nonumber \\&+ mg\cos \gamma \sin \mu - {T_x}\sin \beta \cos \alpha + {T_y}\cos \beta \nonumber \\&- {T_z}\sin \beta \sin \alpha ) \end{aligned}$$
(39)
$$\begin{aligned} \dot{\mu }= & {} \sec \beta (p\cos \alpha + r\sin \alpha ) + (Y + {T_y})\tan \gamma \cos \mu \nonumber \\&\cos \beta + ({T_x}\sin \alpha - {T_z}\cos \alpha )(\tan \gamma \sin \mu + \tan \beta ) \nonumber \\&- g\cos \gamma \cos \mu \tan \beta + \frac{1}{{mV}}\left[ {L(\tan \gamma \sin \mu + \tan \beta )} \right. \nonumber \\&\left. { - ({T_x}\cos \alpha - {T_z}\sin \alpha )\tan \gamma \cos \mu \sin \beta } \right] \end{aligned}$$
(40)
$$\begin{aligned} \dot{p}= & {} \frac{1}{{{I_x}{I_y}{I_z} - I_{xy}^2{I_z} - I_{xz}^2{I_y}}}\left[ {({l_A} + {l_T}){I_y}{I_z}} \right. \nonumber \\&\left. +\, ({m_A} + {m_T}){I_{xy}}{I_z} + ({n_A} + {n_T}){I_{xz}}{I_y} \right. \nonumber \\&\left. +\, \left( I_{xy}^2{I_z} - {I_y}I_z^2 + I_y^2{I_z} - I_{xz}^2{I_y}\right) qr \right. \nonumber \\&\left. +\, \left( {I_y}{I_z}{I_{xz}} - {I_{xz}}I_y^2 + {I_x}{I_y}{I_{xz}}\right) pq \right. \nonumber \\&\left. -\, {I_{xy}}{I_{xz}}{I_y}({q^2} - {p^2}) + \left( {I_y}{I_z}{I_{xy}} + {I_x}{I_z}{I_{xy}} \right. \right. \nonumber \\&\left. \left. -\, I_z^2{I_{xy}}\right) pr - {I_{xz}}{I_{xy}}{I_z}({p^2} - {r^2})\right] \end{aligned}$$
(41)
$$\begin{aligned} \dot{q}= & {} \frac{1}{{{I_x}I_y^2{I_z} - {I_z}{I_y}I_{xy}^2 - I_y^2I_{xz}^2}}\left\{ { - ({l_A} + {l_T}){I_{xy}}{I_y}{I_z}} \right. \nonumber \\&+\, ({m_A} + {m_T})\left( {I_x}{I_y}{I_z} - 2{I_z}I_{xy}^2 - {I_y}I_{xz}^2\right) \nonumber \\&-\, {I_{xy}}{I_y}{I_{xz}}({n_A} + {n_T}) - {I_{xy}}\left( {I_y}{I_z}{I_{xz}} + {I_x}{I_y}{I_{xz}} \right. \nonumber \\&\left. -\, I_y^2{I_{xz}}\right) pq - \left[ {I_{xy}} + {I_{xy}}\left( {I_{xy}}I_z{^2}- {I_x}{I_z}{I_{xy}} \right. \right. \nonumber \\&\left. \left. -\, {I_y}{I_z}{I_{xy}}\right) \right] qr + \left( {I_y}I_{xy}^2{I_{xz}} + {I_{xz}} - I_{xy}^2{I_z}\right) ({p^2} - {r^2}) \nonumber \\&\left. { +\, \left[ {{I_z} - {I_x} - {I_{xy}}\left( {I_{xy}}I_z^2 - {I_x}{I_z}{I_{xy}} - {I_y}{I_z}{I_{xy}}\right) } \right] pr} \right\} \nonumber \\\end{aligned}$$
(42)
$$\begin{aligned} \dot{r}= & {} \frac{1}{{{I_x}{I_y}{I_z} - I_{xy}^2{I_z} - I_{xz}^2{I_y}}}\left[ {({l_A} + {l_T}){I_y}{I_{xy}}} \right. \nonumber \\&+\, ({m_A} + {m_T}){I_{xy}}{I_{xz}} + \left( {I_x}{I_y} - I_{xy}^2\right) ({n_A} + {n_T}) \nonumber \\&+\, \left( {I_y}I_{xz}^2 + I_x^2{I_y} - {I_x}I_{xy}^2 - {I_x}I_y^2 - {I_y}I_{xy}^2\right) pq \nonumber \\&+\, \left( I_y^2{I_{xz}} - {I_y}{I_z}{I_{xz}} + I_{xy}^2{I_{xz}} - {I_x}{I_y}{I_{xz}} + {I_{xz}}I_{xy}^2\right) qr \nonumber \\&+\, {I_{xy}}I_{xz}^2({p^2} - {r^2}) + ({I_z}{I_{xy}}{I_{xz}} - {I_x}{I_{xy}}{I_{xz}} \nonumber \\&-\, {I_y}{I_{xy}}{I_{xz}})pr\left. { + \left( {I_x}{I_y}{I_{xy}} - I_{xy}^3\right) ({p^2} - {q^2})} \right] \end{aligned}$$
(43)

where \(\alpha \) is the angle of attack; \(\beta \) is the side slip angle; \(\mu \) is the roll angle; p is the roll angular rate; q is the pitch angular rate; r is the yaw angular rate; L is the lift; Y is the lateral force; V is the flight speed; m is the mass of the NSV; g is the acceleration of gravity; \(\gamma \) is the flight path angle; \({I_x},{I_y}\) and \({I_z}\) are the moments of inertia around the body axis; \({I_{xy}},{I_{yz}}\) and \({I_{zx}}\) are the products of inertia; T is the engine thrust, with \({T_x},{T_y}\) and \({T_z}\) being the components of T in body coordinates; \({l_\mathrm{{A}}},{m_\mathrm{{A}}}\) and \({n_\mathrm{{A}}}\) are the components of the air torque in body coordinates; and \({l_{{T}}},{m_{{T}}}\) and \({n_{{T}}}\) are the components of the thrust moments in body coordinates.

Based on the singular perturbation theory, the attitude motion dynamic (3843) of the NSV is divided into the slow loop (\({\varOmega }\)) and the fast loop (\(\omega \)). Then, we obtain the following affine nonlinear equations:

$$\begin{aligned}&\dot{{\varOmega } }=f_{s}({\varOmega }) + g_{s}({\varOmega } )\omega + D_{s}(t,{\varOmega } ) \nonumber \\&y = {\varOmega } \end{aligned}$$
(44)
$$\begin{aligned}&\begin{array}{l} \dot{\omega } = {f_{{f}}}\left( \omega \right) + {g_{{f}}\left( \omega \right) }M + {D_{{f}}}\left( {t,\omega } \right) \\ y = \omega \\ \end{array} \end{aligned}$$
(45)

where \({\varOmega } = {\left[ {\alpha ,\beta ,\mu } \right] ^\mathrm{T}}\) is the vector of the attitude angles; \(\omega = {\left[ {p,q,r} \right] ^\mathrm{T}}\) is the vector of the attitude angular rates; y is the output of the NSV; M is the designed actual control input vector; \({f_{{s}}}\left( {\varOmega } \right) \) and \({f_{{f}}}\left( \omega \right) \) are the state function vectors; \({{{g}}_s}\left( {\varOmega } \right) \) and \({{{g}}_{{f}}}\left( \omega \right) \) are the system matrices; \({D_{{s}}}\left( {t,{\varOmega } } \right) = {\Delta } {f_{{s}}}\left( {\varOmega } \right) + {d_{{s}}}\left( t \right) \) and \({D_{{f}}}\left( {t,\omega } \right) = {\Delta } {f_{{f}}}\left( \omega \right) + {d_{{f}}}\left( t \right) \) are the compound disturbances, with \({\Delta } {f_{{s}}}\left( {\varOmega } \right) \) and \({\Delta } {f_{{f}}}\left( \omega \right) \) being the modeling errors, and \({d_{{s}}}\left( t \right) \) and \({d_{{f}}}\left( t \right) \) being the unknown external disturbances. The specific expressions of \({{{{f}}_s}\left( {{{\varOmega } }} \right) = {\left[ {{f_\alpha },{f_\beta },{f_\mu }} \right] ^\mathrm{T}}},{{{{f}}_f}\left( {{{\varOmega } }} \right) = {\left[ {{f_p},{f_q},{f_r}} \right] ^\mathrm{T}}}\), \({{{g}}_{{s}}},{{{g}}_{{f}}}\) are [37]:

$$\begin{aligned} {f_\alpha }= & {} \frac{1}{{MV\cos \beta }}\left( { - L + Mg\cos \gamma \cos \mu - {T_x}\sin \alpha } \right) \,\, \nonumber \\\end{aligned}$$
(46)
$$\begin{aligned} {f_\beta }= & {} \frac{1}{{MV}}( - {T_x}\sin \beta \cos \alpha + Y\cos \beta \nonumber \\&+ Mg\cos \gamma \sin \mu ) \end{aligned}$$
(47)
$$\begin{aligned} {f_\mu }= & {} \frac{1}{{MV}}\left( {{T_x}\sin \alpha } \right. \tan \gamma \sin \mu + {T_x}\sin \alpha \tan \beta \nonumber \\&- {T_x}\cos \alpha \tan \gamma \cos \mu \sin \beta + L\tan \gamma \sin \mu \nonumber \\&+ L\tan \beta + Y\tan \gamma \cos \mu \cos \beta \nonumber \\&- Mg\cos \gamma \cos \mu \tan \beta )\;\, \end{aligned}$$
(48)
$$\begin{aligned} {f_p}= & {} \frac{{({I_{y}} - {I_{z}})}}{{{I_{x}}}}qr + \frac{1}{{{I_{x}}}}( - {\dot{I}_{x}}p + {l_b}) \end{aligned}$$
(49)
$$\begin{aligned} {f_q}= & {} \frac{{({I_{z}} - {I_{x}})}}{{{I_{y}}}}pr + \frac{1}{{{I_{y}}}}( - {\dot{I}_{y}}q + {m_b})\, \end{aligned}$$
(50)
$$\begin{aligned} {f_r}= & {} \frac{{({I_{y}} - {I_{x}})}}{{{I_{z}}}}pq + \frac{1}{{{I_{z}}}}( - {\dot{I}_{z}}q + {n_b})\,\, \end{aligned}$$
(51)
$$\begin{aligned} {{{g}}_s}= & {} \left[ {\begin{array}{c@{\quad }c@{\quad }c} { - \tan \beta \cos \alpha } &{}\quad 1 &{} \quad {\tan \beta \sin \alpha } \\ {\sin \alpha } &{} \quad 0 &{}\quad { - \cos \alpha } \\ {\sec \beta \cos \alpha } &{}\quad 0 &{}\quad {\sec \beta \sin \alpha } \\ \end{array}} \right] \;\, \end{aligned}$$
(52)
$$\begin{aligned} {{{g}}_f}= & {} {\left[ {\begin{array}{c@{\quad }c@{\quad }c} {{I_{x}}} &{} 0 &{} 0 \\ 0 &{} {{I_{y}}} &{} 0 \\ 0 &{} 0 &{} {{I_{z}}} \\ \end{array}} \right] ^{ - 1}}\, \end{aligned}$$
(53)

where \({l_b}, {m_b}, {n_b}\) are the basic moment variables.

The control schematic of the developed boundary layer adaptive sliding mode control scheme for the NSV is shown in Fig. 1.

Fig. 1
figure 1

Control schematic of the NSV

In order to verify the effectiveness and superiority, the proposed control schemes are used in the attitude control simulation for the NSV. In addition, we compare our developed control scheme with the boundary layer adaptive sliding mode controller without SMDO as well.

The initial values of the simulation study are chosen as \({V_0} = 2200\,\hbox {m}/\hbox {s}, {H_0} = 21{,}000\,\hbox {m}, {\alpha } = {1^ \circ },{\beta } = {1^ \circ },\, {\mu } = - {1^ \circ },\, {p} = {q} = {r} = 0\,\hbox {rad}/\hbox {s}\), and \(\hat{\lambda } (0) = \hat{\beta }_d (0) = 1\). The desired flight attitudes are chosen as \(\alpha _N = \left\{ {\begin{array}{cc} 2&{}{t \le 5}\\ 5&{}{t > 5} \end{array}} \right. \), \(\mu _N = 0.5\sin (5t)+3\sin (t)\), \(\beta _N = \left\{ {\begin{array}{cc} 0&{}{8k \le t \le 4(2k + 1)}\\ 2&{}{4(2k + 1) \le t \le 8(k + 1)} \end{array}} \right. ,\;\; k = 0,1,2,\ldots ..\).

Suppose that there are +20 % and \(-\)20 % uncertainties on aerodynamic coefficients and aerodynamic moment coefficients, respectively. On the other hand, the unknown external disturbance moment vector \({\Delta } M=[{\Delta } M_1,{\Delta } M_2,{\Delta } M_3]^\mathrm{T}\) is given by

$$\begin{aligned} {\Delta } {M_1}= & {} 3 \times {10^6}\,\hbox {Nm}, {\Delta } {M_2} = (\sin (t) + 2)\times {10^6}\,\hbox {Nm}, \\ {\Delta } {M_3}= & {} \left\{ {\begin{array}{cc} 2\times {10^6}\,\hbox {Nm} &{} \quad {0 \le t \le 10} \\ 4\times {10^6}\,\hbox {Nm} &{} \quad {10 \le t \le 20} \\ \end{array}}. \right. \\ \end{aligned}$$

The design parameters of the attitude controller are chosen as \(\gamma = \eta = 2,r = 1.5,\kappa =5,C = \hbox {diag}\{2,4,3\}\), \(\epsilon _0=3,\epsilon _1=5,\, K = \hbox {diag}\{ 4,4,4\}\), \(A = 30\,\hbox {diag}\{ 2,2,2\}\), \(B = 20\,\hbox {diag}\{ 4,4,4\},\, {\lambda _1} = 3\), \({\lambda _2} = 2\), \(\gamma _d =\gamma _D= 0.4,\, \rho = 0.1\), \(p=5,q=3\).

The simulation results of the attitude control are shown in Fig. 2 for the NSV under the traditional adaptive sliding mode controller based on SOSMDO. Due to the existence of sign function in the traditional adaptive sliding mode controller, there is a serious chattering in the control plots that leads to the degradation of the control precision form Fig. 2. Through Fig. 3, we can note that the chattering phenomenon is suppressed by using the developed boundary layer adaptive sliding mode controller. However, there is a tracking error as well and it will affect the flying qualities of the NSV. With the boundary layer adaptive sliding mode control based on SOSMDO designed in this paper, the attitude control simulation results of the NSV are shown in Fig. 4. Compared with Fig. 2, it eliminates the chattering phenomenon in the traditional sliding mode controller, while improving the control precision and forcing the tracking error to approach zero. Furthermore, according to Figs. 5 and 6, the real-time online compensation for the compound disturbance could effectively improve the control precision and the disturbance estimation error is relatively small compared with the input moment. The tracking errors are also close to zero. Simulation results show that in the case of disturbance, SOSMDO can effectively compensate for the compound disturbances and the system control performance and robustness are further enhanced with the boundary layer adaptive sliding mode controller based on SOSMDO.

Fig. 2
figure 2

Curves of attitude angles, attitude angular rates and torques with the adaptive sliding mode controller based on SOSMDO

Fig. 3
figure 3

Curves of attitude angles, attitude angular rates and torques with boundary layer adaptive sliding mode controller

Fig. 4
figure 4

Curves of attitude angles, attitude angular rates and torques with boundary layer adaptive sliding mode controller based on SOSMDO

Fig. 5
figure 5

Curves of external disturbance and the estimation of external disturbance

Fig. 6
figure 6

Curves of disturbance estimation error

6 Conclusion

In this paper, a boundary layer adaptive sliding mode controller based on SOSMDO has been derived to achieve high-precision attitude control for the NSV. The traditional large-gain adaptive method is difficult to balance the system robustness and control precision. The SOSMDO can effectively compensate the compound disturbances, and the developed boundary layer adaptive sliding mode controllers can eliminate the chattering phenomenon and force the tracking error to zero. Finally, simulation results illustrate that the proposed control scheme can achieve satisfactory performance under the disturbance environment.