1 Introduction

With a series of successful experiments like X-43A and X-51A, the research of hypersonic flight vehicles (HFVs) is becoming more and more attractive in both military and civil fields, which owes much to the cutting-edge scramjet. The dynamics of HFVs have strong nonlinearities, uncertainties and couplings that are introduced by the unique integration of scramjet and fuselage [1]. Moreover, due to the extreme flight environment and the rigid working condition of the scramjet, the permissible flight envelope of HFVs is very narrow [2], which in turn requires the flight states to be regulated within some specific ranges. All these facts bring huge difficulties and challenges to hypersonic flight.

In the literature, abundant methods have been applied to the control of HFVs [3], mainly focusing on the longitudinal maneuvering flight. A control-oriented model (COM) was derived in [4], which has been the commonest model in the state of the art of HFV control. [5] utilized the linear parameter varying version of COM to develop a nonfragile tracking controller robustly to uncertain perturbations. [6] designed a sliding mode observer and an adaptive sliding mode controller to handle unavailable states and parametric uncertainties. Furthermore, [7] employed the high-order dynamic sliding mode control to achieve finite-time stability for flexible HFVs without the upper bound information of uncertainties. [8] and [9] also realized finite-time output tracking for HFVs via the technique of terminal sliding mode control. [10] proposed a feedback linearization-based anti-windup controller for HFVs suffering from input saturations and external disturbances. [11] utilized adaptive dynamic surface control to handle input saturations and parametric uncertainties. In [12], trajectory linearization control was combined with a time-varying notch filter to protect the rigid-body dynamics from being disturbed by the excited flexmodes. Trajectory linearization control was also enhanced by the extended state observer to compensate for four categories of uncertainties in COM [13]. [14] presented a fault-tolerant controller for HFVs by employing disturbance observers and auxiliary dynamics. The sliding mode observer was employed to tackle faulty actuators with partial state information [15]. [16] proposed a Takagi-Sugeno fuzzy control strategy to accommodate actuator faults and then applied the proposed method to HFVs. Later, [17] derived a Takagi-Sugeno fuzzy model for HFVs with flexible dynamics, based on which an adaptive sliding mode controller was designed in spite of input nonlinearities. Flexible dynamics of HFVs were also considered in [18] and [19]. Most recent, neural network control also has applications in hypersonic flight control [20,21,22,23].

From a practical viewpoint, one of the greatest challenges in HFV control is the unavoidable uncertain parameters due to the unclear mechanisms of hypersonic aerodynamics and the curve fits made for design purpose. On the other hand, the adaptive control, which essentially focuses on the system uncertainty, especially the parametric uncertainty [24], is a potential solution for HFV control. In addition, because of the extreme operation environment of high dynamic pressure and high thermal flow, the scramjet and aerodynamic control surfaces may become faulty. The adaptive control is able to deal with a wide class of faults for its strong ability of online estimation [25]. Some representative adaptive controls for HFVs have come out, for example, [26] utilized the adaptive back-stepping to design a robust controller for HFVs proceed by uncertain aerodynamic parameters and flexible dynamics. In that study, it has been proved that the flexible modes could be suppressed if specific conditions on design parameters were satisfied. [27] further considered the non-minimum phase problem in hypersonic control by utilizing the small-gain argument in the baseline adaptive back-stepping design. Notice that all the above cited control strategies only regulate the steady state of the tracking error to zero or within a small neighborhood of zero, while the transient performance is not guaranteed. Moreover, flight states should also be strictly limited within some admissible ranges during hypersonic flight. For example, just as stated in [2], angle of attack needs to be kept inside the so-called hypersonic corridor in case of scramjet inlet unstart and thermal choking. Also in that work, a recovery mechanism of the inlet unstart is developed for HFVs, whose working condition is beyond the permissible set. The proposed mechanism maximizes the flight time spent in the “hypersonic corridor”, so that HFVs have enough time to recover from the inlet unstart. From another perspective, if the flight states are constrained within some permissible ranges during control, the additional components like the recovery mechanism proposed in [2] can be removed to further simplify the control scheme. To the best knowledge of the authors, the problem of state-constrained high-performance tracking for HFVs with uncertain parameters and faulty actuators has not been systematically solved, which is the main motivation of this study.

In fact, as reported in [24], the standard adaptive back-stepping design can provide a possible way of transient performance improvement by properly adjusting the gains in control and adaption laws. However, the performance is evaluated only by \({\mathcal {L}}_2\) norm, which is somewhat inconvenient for practical application. Although this defect has been overcome with the aid of the so-called prescribed performance control [23, 28], state constraints are still hard to be ensured in theory. One alternative solution is the recently developed barrier Lyapunov function (BLF)-based design, which is also the main tool of this study to guarantee the prescribed tracking performances and the constrained flight states. BLF is a special class of Lyapunov functions, whose value approaches infinity as the state approaches the boundary of its permissible set [29]. So far, BLF has theoretical applications on the back-stepping design for systems with constrained outputs [29, 30] or constrained states [31, 32], and practical applications on the electrostatic microactuator [33] or the robot manipulator [34]. But due to the special expression of BLF that contains logarithmic function (see, e.g., [29, 31, 33]) or tangent function (see, e.g., [30, 32, 34]), the designed control law is usually very complicated, especially in the adaptive back-stepping design for altitude subsystem of HFVs. In this study, this drawback will be circumvented with the idea of command filters [32, 35, 36], where the nominal virtual control is replaced by a filtered virtual control. Nevertheless, the resulting discrepancy between the nominal and the filtered virtual controls should be further analyzed and compensated by designing some novel auxiliary systems.

Another beneficial research is to handle actuator nonlinearities of HFVs. Among the fruitful studies like [10, 11, 14, 17, 21, 22], the dead-zone nonlinearity in elevator, which is inevitable due to the insensitivity of servomechanism with respect to small control signals, does not get considerable concerns. Although a few outstanding works have come out, the dead-zone nonlinearity has not been fully analyzed and compensated. For example, [17] considered the dead-zone nonlinearity for HFVs via Takagi-Sugeno fuzzy approach. In that work, a sufficient condition of the existence of controller was given in a form of linear matrix inequalities, which could be robust to the dead-zone nonlinearity but somewhat conservative to the control performance. Recently, [22] utilized neural network to effectively estimate a compound disturbance that contains the effects of dead-zone nonlinearity in elevator. Further considering the baseline adaptive control scheme and the poor knowledge of the dead-zone nonlinearity in engineering, the adaptive inverse compensation proposed in [37] could be a better choice or a complement to the existing works for the purpose of high-performance hypersonic flight control. It should be pointed out that this idea, which constructs the inverse for compensation purpose, also has wide applications in other types of actuator nonlinearities, such as the unknown backlash nonlinearity considered in [38] and [39].

Motivated by the above investigations, this paper develops a BLF-based adaptive control strategy for HFVs. Compared with the existing works, the novelties of this study are briefly listed as

  • A parameterized model is derived for HFVs with faulty actuators. With the utilization of adaptive (back-stepping) design, uncertain parameters, external disturbances and faulty actuators are well handled;

  • By constructing BLFs in design, the prescribed tracking performances and state constraints can be guaranteed in theory. Hence, the controlled HFVs well meet the rigid limitations, such as the bounded angle of attack required by the scramjet, which makes the designed controller more practicable;

  • In the back-stepping design for altitude subsystem, command filters are employed to ensure the required bounds of virtual controls, as well as to directly generate the time derivatives of the filtered virtual controls, which largely simplify the final control algorithms. Additionally, novel auxiliary systems are designed to remove the effects that are introduced by command filters;

  • An adaptive inverse is constructed to effectively accommodate the dead-zone nonlinearity in elevator.

The rest of this paper is organized as follows. Model formulation and control objective are stated in Sect. 2. Adaptive control designs for both velocity and altitude subsystems are presented in Sect. 3 and 4, respectively. Simulation studies are provided in Sect. 5 to show the effectiveness of the proposed controller. This study is concluded in Sect. 6.

Notations The Euclidean norm and the \(\varvec{\varGamma }\)-weighted Euclidean norm of a vector \(\varvec{a} \in {\mathcal {R}}^n\) are, respectively, denoted by \(||\varvec{a}|| = \sqrt{\varvec{a}^\text {T} \varvec{a}}\) and \(||\varvec{a}||_{\varvec{\varGamma }} = \sqrt{\varvec{a}^\text {T} \varvec{\varGamma } \varvec{a}}\) with the positive definite matrix \(\varvec{\varGamma } \in {\mathcal {R}}^{n \times n}\); the estimate error of an unknown parametric vector \(\varvec{p} \in {\mathcal {R}}^m\) is defined as \(\tilde{\varvec{p}} = \varvec{p}-\hat{\varvec{p}}\); \(A_x > 0\) presents the magnitude constraint of a variable \(x \in {\mathcal {R}}\), that is, \(|x| < A_x\); \(\log \{\bullet \}\) is the natural logarithm function; \(\tanh \{\bullet \}\) is the hyperbolic tangent function; \(\text {sgn}\{\bullet \}\) is the standard sign function; \(\text {Proj}\{\bullet \}\) is the projection function [24].

2 Model formulation and control objective

This paper considers a control-oriented model (COM) for the longitudinal motion of HFVs described as Fig. 1, which was derived by Parker et al. [4]. This COM is formulated by the following kinematic and dynamic equations:

$$\begin{aligned} \left\{ \begin{array}{rcl} {\dot{V}} &{}=&{} \dfrac{T\cos {\alpha }-D}{m} - g\sin {\gamma }, \\ {\dot{h}} &{}=&{} V\sin {\gamma }, \\ {\dot{\gamma }} &{}=&{} \dfrac{T\sin {\alpha }+L}{mV} - \dfrac{g\cos {\gamma }}{V}, \\ {\dot{\theta }} &{}=&{} Q, \\ {\dot{Q}} &{}=&{} \dfrac{M_\text {yy}}{I_\text {yy}}, \end{array} \right. \end{aligned}$$
(1)

and the curve-fitted expressions of lift L, drag D, thrust T, pitch moment \(M_\text {yy}\):

$$\begin{aligned} \left\{ \begin{array}{rcl} L &{}=&{} \bar{q} S \big [ C_L^\alpha \alpha +C_L^{\delta _\text {e}}\delta _{\text {e}}+C_{L}^0 \big ], \\ D &{}=&{} \bar{q} S \big [ C_D^{\alpha ^2}\alpha ^2+C_{D}^{\alpha }\alpha +C_{D}^{\delta _\text {e}^2}\delta _\text {e}^2 +C_{D}^{\delta _{\text {e}}}\delta _{\text {e}}+C_{D}^0 \big ], \\ T &{}=&{} \bar{q} S \big [ (C_{T,\varPhi }^3{\alpha ^3}+C_{T,\varPhi }^2{\alpha ^2}+C_{T,\varPhi }^1\alpha +C_{T,\varPhi }^0) \varPhi \\ &{} &{} + (C_T^3{\alpha ^3}+C_T^2{\alpha ^2}+C_T^1\alpha +C_T^0) \big ], \\ M_\text {yy} &{}=&{} z_{T}T+\bar{q}\bar{c}S \big [ C_M^{\alpha ^2} \alpha ^2 + C_M^\alpha \alpha + C_M^{\delta _\text {e}} \delta _\text {e} + C_M^0 \big ]. \end{array} \right. \end{aligned}$$
(2)

The above COM has five flight states: velocity V, altitude h, flight path angle (FPA) \(\gamma \), pitch angle (PA) \(\theta \), pitch angle rate (PAR) Q, and two control actuators: scramjet fuel equivalency ratio (FER) \(\varPhi \), elevator \(\delta _\text {e}\). \(\alpha = \theta - \gamma \) denotes the angle of attack (AOA), m denotes the mass, \(I_\text {yy}\) denotes the moment of inertia, g denotes the gravitational acceleration, \({\overline{q}}\) denotes the dynamic pressure, \({\overline{c}}\), \(z_T\), S denote the constants decided by the aerodynamic shape, \(C_{*}^{*}\) denotes the curve-fitted coefficient.

Fig. 1
figure 1

Geometry of the scramjet-powered hypersonic flight vehicle

In this study, we assume that \({\overline{c}}\), \(z_T\), S and \(C_{*}^{*}\) are constants but unknown; the dynamic equations (i.e., the first, third and fifth equations in COM) are affected by bounded external disturbances (denoted by \(d_V\), \(d_\gamma \) and \(d_Q\), respectively); the control actuators suffer from faults of partial effectiveness loss and bias, as well as the dead-zone nonlinearity in elevator:

$$\begin{aligned} \left\{ \begin{array}{rcl} \varPhi &{}=&{} \zeta _{\varPhi } \varPhi _\text {c} + \varrho _{\varPhi },\\ \delta _\text {e}&{}=&{} \zeta _\text {e} {\mathcal {D}}(\delta _\text {e,c}) + \varrho _\text {e}, \end{array} \right. \end{aligned}$$
(3)

where \(\varPhi _\text {c}\), \(\delta _\text {e,c}\) denote the nominal commands of FER and elevator, respectively, \(\zeta _{\varPhi }\), \(\zeta _\text {e}\), \(\varrho _{\varPhi }\), \(\varrho _\text {e}\) are unknown constants satisfying \(\zeta _{\varPhi }, \zeta _\text {e} \in (0, 1]\), \({\mathcal {D}}(\bullet )\) is the dead-zone nonlinearity formulated by

$$\begin{aligned} {\mathcal {D}}(\delta _\text {e,c}) = \left\{ \begin{array}{ll} m_\text {r} \big ( \delta _\text {e,c} - n_\text {r} \big ), &{} \delta _\text {e,c} > n_\text {r}, \\ m_\text {l} \big ( \delta _\text {e,c} - n_\text {l} \big ), &{} \delta _\text {e,c} < n_\text {l}, \\ 0, &{} \text {otherwise}, \\ \end{array} \right. \end{aligned}$$
(4)

where \(m_\text {r}>0\), \(m_\text {l}>0\), \(n_\text {r} \ge 0\), \(n_\text {l} \le 0\) are unknown constants. Furthermore, the above dead-zone nonlinearity (4) is parameterized as

$$\begin{aligned} {\bar{\delta }}_\text {e,c} =&\, {\mathcal {D}}(\delta _\text {e,c}) = \rho _\text {r} m_\text {r} \big ( \delta _\text {e,c} - n_\text {r} \big ) + \rho _\text {l} m_\text {l} \big ( \delta _\text {e,c} - n_\text {l} \big )\nonumber \\ =&\, \varvec{\vartheta }_{{\mathcal {D}}}^\text {T} \varvec{\varphi }_{{\mathcal {D}}}, \end{aligned}$$
(5)

where \({\bar{\delta }}_\text {e,c}\) denotes the output of dead-zone nonlinearity with respect to the input \(\delta _\text {e,c}\), and

$$\begin{aligned}&\varvec{\vartheta }_{{\mathcal {D}}} = \big [ m_\text {r},~m_\text {r}n_\text {r},~m_\text {l},~m_\text {l}n_\text {l} \big ]^\text {T},\\&\varvec{\varphi }_{{\mathcal {D}}} = \big [ \rho _\text {r} \delta _\text {e,c},~-\rho _\text {r},~\rho _\text {l} \delta _\text {e,c},-\rho _\text {l} \big ]^\text {T},\\&\rho _\text {r} = \left\{ \begin{array}{ll} 1, &{} \delta _\text {e,c} > n_\text {r}, \\ 0, &{} \text {otherwise}, \end{array} \right. \text {and}~ \rho _\text {l} = \left\{ \begin{array}{ll} 1, &{} \delta _\text {e,c} < n_\text {l}, \\ 0, &{} \text {otherwise}. \end{array} \right. \end{aligned}$$

Remark 1

Notice that we cannot get the exact inverse of the dead-zone nonlinearity (4) or (5) directly for compensation purpose due to the discontinuous \(\rho _\text {r}\) and \(\rho _\text {l}\) as well as the uncertain \(\varvec{\vartheta }_{{\mathcal {D}}}\). Also, \(\varvec{\varphi }_{{\mathcal {D}}}\) is not exactly known because the expressions of \(\rho _\text {r}\) and \(\rho _\text {l}\) involve uncertain parameters \(n_\text {l}\) and \(n_\text {r}\). To handle this problem, we shall approximate \(\rho _\text {r}\) and \(\rho _\text {l}\) with the help of some specific smooth functions \({\bar{\rho }}_\text {r}\) and \({\bar{\rho }}_\text {l}\), while \(\varvec{\vartheta }_{{\mathcal {D}}}\) will be estimated online. As a result, we can construct an adaptive inverse for (5) but with an estimate error introduced by the imprecisely known parameters and an approximate error introduced by the employed smooth functions. In the following design, the effect of this estimate error will be removed by an adaptive law; meanwhile, the introduced approximate error will be suppressed via estimating its upper bound. More details are given by the design process of Step 4 in Sect. 4.1.

Then, COM with external disturbances and faulty actuators can be parameterized into the following model:

$$\begin{aligned} \left\{ \begin{array}{rcl} {\dot{V}} &{}=&{} f_V + \varvec{\vartheta }_{V,1}^\text {T} \varvec{\varphi }_{V,1} + \varvec{\vartheta }_{V,2}^\text {T} \varvec{\varphi }_{V,2} \varPhi _\text {c} + d_V,\\ {\dot{h}} &{}\approx &{} V \gamma ,\\ {\dot{\gamma }} &{}=&{} f_\gamma + \varvec{\vartheta }_{\gamma ,1}^\text {T} \varvec{\varphi }_{\gamma ,1} + \vartheta _{\gamma ,2} \varphi _{\gamma ,2} \theta + d_\gamma ,\\ {\dot{\theta }} &{}=&{} Q,\\ {\dot{Q}} &{}=&{} \varvec{\vartheta }_{Q,1}^\text {T} \varvec{\varphi }_{Q,1} + \vartheta _{Q,2} \varphi _{Q,2} {\bar{\delta }}_\text {e,c} + d_Q, \end{array} \right. \end{aligned}$$
(6)

where the small angle approximation \(\sin \gamma \approx \gamma \) has been applied [26], and \(|d_V| \le D_V\), \(|d_\gamma | \le D_\gamma \), \(|d_Q| \le D_Q\) with unknown nonnegative constants \(D_V\), \(D_\gamma \), \(D_Q\). Detailed expressions of the undefined parameters and functions in parameterized model (6) are given in Appendix.

Suppose that \(V_\text {c}\) and \(h_\text {c}\) are some predesigned velocity and altitude references whose time derivatives are bounded. Our task is to realize the tracking control of HFVs suffering from the above uncertain parameters, external disturbances and faulty actuators, along with the prescribed tracking performances: \(|z_V| = |V-V_\text {c}| < A_{z_V}\), \(|z_h| = |h-h_\text {c}| < A_{z_h}\), and state constraints: \(|\gamma | < A_\gamma \), \(|\theta | < A_\theta \), \(|Q| < A_Q\). The following two assumptions are necessary for the solvability of this control problem.

Assumption 1

The initial flight conditions of HFVs satisfy the prescribed performances and constraints, that is, \(|z_V(0)| < A_{z_V}\), \(|z_h(0)| < A_{z_h}\), \(|\gamma (0)| < A_\gamma \), \(|\theta (0)| < A_\theta \), \(|Q(0)| < A_Q\).

Assumption 2

Within the permissible flight envelope decided by the prescribed references, tracking performances and state constraints, there exists a compact convex set \({\mathcal {S}} = {\mathcal {S}}_V \times {\mathcal {S}}_\gamma \times {\mathcal {S}}_Q\) such that the control gains \(g_V = \hat{\varvec{\vartheta }}_{V,2}^\text {T} \varvec{\varphi }_{V,2}\), \(g_\gamma = {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2}\), \(g_Q = {\hat{\vartheta }}_{Q,2} \varphi _{Q,2}\) are nonsingular if \((\hat{\varvec{\theta }}_{V,2}, {\hat{\theta }}_{\gamma ,2}, {\hat{\theta }}_{Q,2}) \in {\mathcal {S}}\). In addition, the sign of \(\vartheta _{Q,2} \in {\mathcal {S}}_Q\) is known a priori.

To facilitate the design process in the sequel, three useful inequalities are reviewed without proof:

  1. (i)

    \(\log x \le x-1\), for \(x \in [1, \infty )\), and “\(=\)” is achieved at \(x = 1\);

  2. (ii)

    \(2\tilde{\varvec{p}}^\text {T} \hat{\varvec{p}} \le ||\varvec{p}||^2 - ||\tilde{\varvec{p}}||^2\), for \(\varvec{p} \in {\mathcal {R}}^m\);

  3. (iii)

    \(0 \le |\tau | - \tau \tanh ({\tau }/{\sigma }) \le 0.2785 \sigma \), for \(\tau \in {\mathcal {R}}\) and \(\sigma > 0\).

3 Design for velocity subsystem

The parameterized model (6) can be divided into velocity subsystem (i.e., the first equation) and altitude subsystem (i.e., the last four equations) as [26]. In this section, an adaptive controller will be designed first for velocity subsystem with the magnitude requirement on tracking error. Then, both transient and steady-state performances of velocity tracking are derived, which can provide a guide for further performance improvement.

3.1 Controller design

The dynamics of the velocity tracking error \(z_V\) is formulated by

$$\begin{aligned} {\dot{z}}_V = f_V - {\dot{V}}_\text {c} + \varvec{\vartheta }_{V,1}^\text {T} \varvec{\varphi }_{V,1} + \varvec{\vartheta }_{V,2}^\text {T} \varvec{\varphi }_{V,2} \varPhi _\text {c} + d_V. \end{aligned}$$
(7)

To guarantee the prescribed tracking performance: \(|z_V| < A_{z_V}\), a logarithmic barrier function [29] is defined as

$$\begin{aligned} {\mathfrak {B}}_V = \frac{1}{2} \log \frac{A_{z_V}^2}{A_{z_V}^2-z_V^2}, \end{aligned}$$
(8)

which satisfies that \({\mathfrak {B}}_V \ge 0\) for any \(|z_V| < A_{z_V}\), and \({\mathfrak {B}}_V = 0\) if and only if \(z_V = 0\). The time derivative of \({\mathfrak {B}}_V\) is calculated as

$$\begin{aligned} \dot{{\mathfrak {B}}}_V = \tau _V {\dot{z}}_V, \end{aligned}$$
(9)

with \(\tau _V = z_V/(A_{z_V}^2-z_V^2)\).

Remark 2

The above analysis indicates that the selected \({\mathfrak {B}}_V\) is a valid Lyapunov function candidate with respect to all the \(z_V\) satisfying \(|z_V| < A_{z_V}\), and that \(\lim _{|z_V| \rightarrow A_{z_V}^{-}} {\mathfrak {B}}_V = + \infty \). Therefore, if we can guarantee the boundedness of \({\mathfrak {B}}_V\) during control, the limitation \(|z_V| < A_{z_V}\) will not be violated.

Next, we design the control law of FER for (7) as

(10)

where \(k_V > 0\), \(\sigma _V > 0\), the variables \(\hat{\varvec{\vartheta }}_{V,1}\), \(\hat{\varvec{\vartheta }}_{V,2}\), \({\hat{D}}_V\) are generated by the adaptive laws:

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\hat{\varvec{\vartheta }}}_{V,1} = \varvec{\varGamma }_{V,1}^{-1} \big (\varvec{\varphi }_{V,1} \tau _V - l_{V,1} \hat{\varvec{\vartheta }}_{V,1}\big ), \\ \dot{\hat{\varvec{\vartheta }}}_{V,2} =\!\mathop {\mathrm{Proj}}\limits _{\hat{\varvec{\vartheta }}_{V,2} \in {\mathcal {S}}_V}\!\Big \{\varvec{\varGamma }_{V,2}^{-1} \big ( \varvec{\varphi }_{V,2} \varPhi _\text {c} \tau _V - l_{V,2} \hat{\varvec{\vartheta }}_{V,2} \big ) \Big \}, \\ \;\;\dot{{\hat{D}}}_{V}\!= \varGamma _{V,3}^{-1} \Big [ \tau _V \tanh \Big ( \dfrac{\tau _V}{\sigma _V} \Big ) - l_{V,3} {\hat{D}}_V \Big ], \end{array} \right. \end{aligned}$$
(11)

with \(\varvec{\varGamma }_{V,1} > 0\), \(\varvec{\varGamma }_{V,2} > 0\), \(\varGamma _{V,3} > 0\), \(l_{V,1} > 0\), \(l_{V,2} > 0\), \(l_{V,3} > 0\).

Remark 3

Notice that the designed control algorithms (10) and (11) contain the function \(\tau _V\). From the analysis in next subsection, the nonsingularity of \(\tau _V\) can be guaranteed, which in turn ensures the well definition of the control algorithms. It should also be pointed out that the adaptive law of \(\hat{\varvec{\vartheta }}_{V,2}\) contains \(\varPhi _\text {c}\). After substituting the expression of \(\varPhi _\text {c}\) into the adaptive law of \(\hat{\varvec{\vartheta }}_{V,2}\), we observe that the adaptive laws (11) are self-contained. This implies that our designed control law and adaptive laws can be implemented in practice.

3.2 Performance analysis

For analysis purpose, the following barrier Lyapunov function (BLF) is constructed for velocity subsystem:

$$\begin{aligned} L_V =\,&{\mathfrak {B}}_V + \frac{1}{2} ||\tilde{\varvec{\vartheta }}_{V,1}||_{\varvec{\varGamma }_{V,1}}^2 \nonumber \\&+\,\frac{1}{2}||\tilde{\varvec{\vartheta }}_{V,2}||_{\varvec{\varGamma }_{V,2}}^2 + \frac{1}{2}||{\tilde{D}}_V||_{\varGamma _{V,3}}^2. \end{aligned}$$
(12)

For the constant \(\varvec{\vartheta }_{V,1}\), \(\varvec{\vartheta }_{V,2}\) and \(D_V\), we have \(\dot{\tilde{\varvec{\vartheta }}}_{V,1} = -\dot{\hat{\varvec{\vartheta }}}_{V,1}\), \(\dot{\tilde{\varvec{\vartheta }}}_{V,2} = -\dot{\hat{\varvec{\vartheta }}}_{V,2}\) and \(\dot{{\tilde{D}}}_V = -\dot{{\hat{D}}}_V\). Moreover, utilizing (7)–(11) and the properties of the projection function [24], the time derivative of \(L_V\) satisfies that

$$\begin{aligned} {\dot{L}}_{V} =\,&\tau _V {\dot{z}}_V - \tilde{\varvec{\vartheta }}_{V,1}^\text {T} \varvec{\varGamma }_{V,1} \dot{\hat{\varvec{\vartheta }}}_{V,1} - \tilde{\varvec{\vartheta }}_{V,2}^\text {T} \varvec{\varGamma }_{V,2} \dot{\hat{\varvec{\vartheta }}}_{V,2}\nonumber \\&- {\tilde{D}}_{V} \varGamma _{V,3} \dot{{\hat{D}}}_{V}\nonumber \\ \le&{-}k_h \dfrac{z_h^2}{A_{z_h}^2-z_h^2} + l_{V,1} \tilde{\varvec{\vartheta }}_{V,1}^\text {T} \hat{\varvec{\vartheta }}_{V,1} + l_{V,2} \tilde{\varvec{\vartheta }}_{V,2}^\text {T} \hat{\varvec{\vartheta }}_{V,2}\nonumber \\&+ l_{V,3} {\tilde{D}}_{V} {\hat{D}}_{V} + D_V \Big [ |\tau _V| - \tau _V \tanh \Big ( \dfrac{\tau _V}{\sigma _V} \Big ) \Big ]. \end{aligned}$$
(13)

Applying the inequalities (i)–(iii) to (13), we can obtain that

$$\begin{aligned} {\dot{L}}_{V} \le&- k_h \log \dfrac{A_{z_V}^2}{A_{z_V}^2-z_V^2} - \dfrac{l_{V,1}}{2} ||\tilde{\varvec{\vartheta }}_{V,1}||^2\nonumber \\&- \dfrac{l_{V,2}}{2} ||\tilde{\varvec{\vartheta }}_{V,2}||^2- \dfrac{l_{V,3}}{2} {\tilde{D}}_{V}^2 + \dfrac{l_{V,1}}{2} ||\varvec{\vartheta }_{V,1}||^2\nonumber \\&+ \dfrac{l_{V,2}}{2} ||\varvec{\vartheta }_{V,2}||^2+ \dfrac{l_{V,3}}{2} D_{V}^2 + 0.2875 \sigma _V D_V\nonumber \\ \le&{-}\kappa _V L_V + \varsigma _V, \end{aligned}$$
(14)

where \(\kappa _V\) and \(\varsigma _V\) are constants defined by

$$\begin{aligned} \kappa _V= & {} \min \left\{ 2k_h, \frac{l_{V,1}}{\lambda _{\max }(\varvec{\varGamma }_{V,1})}, \frac{l_{V,2}}{\lambda _{\max }(\varvec{\varGamma }_{V,2})}, \frac{l_{V,3}}{\varGamma _{V,3}} \right\} ,\\ \varsigma _V= & {} \frac{l_{V,1}}{2} ||\varvec{\vartheta }_{V,1}||^2 + \frac{l_{V,2}}{2} ||\varvec{\vartheta }_{V,2}||^2\\&+\, \frac{l_{V,3}}{2} D_{V}^2 + 0.2875 \sigma _V D_V. \end{aligned}$$

Recalling the initial condition \(|z_V(0)| < A_{z_V}\) in Assumption 1, the constructed BLF \(L_V\) satisfies the following inequality (see Lemma B.5 in [24]):

$$\begin{aligned} L_V (t) \le M(t) = \frac{\varsigma _V}{\kappa _V} + \Big [ L_V(0) - \frac{\varsigma _V}{\kappa _V} \Big ] e^{-\kappa _V t} < +\infty , \end{aligned}$$
(15)

which indicates that the prescribed tracking performance: \(|z_V(t)| < A_{z_V}\) is not violated during control (otherwise, \(L_V(t)\) should achieve infinity at some time instants), and that \(L_V(t)\) is uniformly ultimately bounded (UUB) [40]:

$$\begin{aligned} \lim _{t \rightarrow \infty } L_V(t) \le \lim _{t \rightarrow \infty } M(t) = \frac{\varsigma _V}{\kappa _V}. \end{aligned}$$
(16)

Further noting \(|z_V| < A_{z_V}\) and

$$\begin{aligned} {\mathfrak {B}}_V(t) = \frac{1}{2} \log \frac{A_{z_V}^2}{A_{z_V}^2-z_V^2(t)} \le L_V(t) \le M(t), \end{aligned}$$
(17)

the transient and steady-state tracking performances of velocity subsystem are derived from (15)–(17) as

$$\begin{aligned}&|z_V(t)| \le \sqrt{1-e^{-2M(t)}} A_{z_V}, \end{aligned}$$
(18)
$$\begin{aligned}&\lim _{t \rightarrow \infty }|z_V(t)| \le \sqrt{1-e^{-2\frac{\varsigma _V}{\kappa _V}}} A_{z_V}. \end{aligned}$$
(19)

Remark 4

It is easily seen from (18) and (19) that the velocity tracking error \(z_V\) exponentially converges into the set:

$$\begin{aligned} {\mathcal {S}}_{z_V} =\,&\{ z_V : |z_V| \le \sqrt{1-e^{-2{\varsigma _V}/{\kappa _V}}} A_{z_V} \}\nonumber \\ \subset&\, \{ z_V : |z_V| < A_{z_V} \}, \end{aligned}$$
(20)

and thus \(\frac{\varsigma _V}{\kappa _V}\) should be as small as possible to ensure some better transient and steady-state performances. Further noting the expressions of \(\varsigma _V\) and \(\kappa _V\), we conclude that large \(k_h\) and small \(l_{V,1}\), \(l_{V,2}\), \(l_{V,3}\), \(\sigma _V\) should be chosen, while the values of \(\lambda _{\max }(\varvec{\varGamma }_{V,1})\), \(\lambda _{\max }(\varvec{\varGamma }_{V,2})\), \(\varGamma _{V,3}\) need to be sufficiently small to obtain large \(\frac{l_{V,1}}{\lambda _{\max }(\varvec{\varGamma }_{V,1})}\), \(\frac{l_{V,2}}{\lambda _{\max }(\varvec{\varGamma }_{V,2})}\), \(\frac{l_{V,3}}{\varGamma _{V,3}}\).

4 Design for altitude subsystem

In this section, we shall develop a controller for altitude subsystem via the BLF-based adaptive back-stepping design. In addition to the prescribed tracking performance: \(|z_h| < A_{z_h}\), the state constraints: \(|\gamma | < A_\gamma \), \(|\theta | < A_\theta \), \(|Q| < A_Q\) should be guaranteed at the same time. Here, we define the virtual controls for the dynamics of altitude, FPA, PA as \(v_\gamma \), \(v_\theta \), \(v_Q\), respectively, and suppose that

$$\begin{aligned} \left\{ \begin{array}{rcl} |v_\gamma |<&{} A_{v_\gamma }< A_\gamma ,\\ |v_\theta |<&{} A_{v_\theta }< A_\theta ,\\ |v_Q|<&{} A_{v_Q} < A_Q. \end{array} \right. \end{aligned}$$
(21)

Therefore, the corresponding virtual tracking errors are \(z_\gamma = \gamma -v_\gamma \), \(z_\theta = \theta -v_\theta \), \(z_Q = Q-v_Q\). If we can design a controller such that \(|z_\gamma | < A_{z_\gamma } \le A_\gamma - A_{v_\gamma }\), \(|z_\theta | < A_{z_\theta } \le A_\theta - A_{v_\theta }\), \(|z_Q| < A_{z_Q} \le A_Q - A_{v_Q}\), the state constraints on FPA, PA and PAR are guaranteed.

For a common adaptive back-stepping design presented in [24], there is no effective mechanism to ensure condition (21). Here we employ the command filter described in Fig. 2 to generate the constrained virtual controls and their time derivatives. The additional benefit of using this command filter is to avoid the complicated analytical calculations on the time derivatives of virtual controls, so that the final control algorithms will be largely simplified. However, one further task is to handle the discrepancies between the nominal and the constrained virtual controls, denoted here by \(\varDelta v_\gamma = v_\gamma -v_{\gamma , \text {c}}\), \(\varDelta v_\theta = v_\theta -v_{\theta , \text {c}}\), \(\varDelta v_Q = v_Q-v_{Q, \text {c}}\). In this study, we resort to the ideas in [32] and [41] to compensate for the effects of \(\varDelta v_\gamma \), \(\varDelta v_\theta \), \(\varDelta v_Q\) by introducing specific auxiliary systems.

Fig. 2
figure 2

Realization of the command filter: \(\xi _v \in (0, 1]\), \(\omega _v > 0\), \(A_v > 0\), “\(\int \)” denotes the integrator; \(\varvec{v}_\text {c}\) denotes the vector of the nominal virtual controls to be designed, \(\varvec{v}\) and \(\dot{\varvec{v}}\) denote the vectors of the constrained virtual controls and their time derivatives

Remark 5

In hypersonic flight, the constraints on AOA are particularly concerned by engineers because the working condition of the scramjet is mainly decided by AOA. Unsuitable AOA may cause the fatal inlet unstart or thermal choking of the scramjet [1]. Considering the fact \(|\alpha | = |\theta - \gamma | \le |\theta | + |\gamma | < A_{\theta } + A_{\gamma }\), the magnitude constraint \(|\alpha | < A_{\alpha }\) can be guaranteed if proper \(A_{\theta }\) and \(A_{\gamma }\) are selected such that \(A_{\theta } + A_{\gamma } \le A_{\alpha }\).

4.1 Controller design

4.1.1 Step 1:

The dynamics of the altitude tracking error \(z_h\) is formulated by

$$\begin{aligned} {\dot{z}}_h \approx V \gamma - {\dot{h}}_\text {c} = V \big ( z_\gamma + v_{\gamma , \text {c}} + \varDelta v_\gamma \big ) - {\dot{h}}_\text {c}. \end{aligned}$$
(22)

Similar to the design in the previous section, a logarithmic barrier function is selected for \(z_h\) as

$$\begin{aligned} {\mathfrak {B}}_h = \frac{1}{2} \log \frac{A_{z_h}^2}{A_{z_h}^2-z_h^2}, \end{aligned}$$
(23)

whose time derivative is calculated as \(\dot{{\mathfrak {B}}}_h = \tau _h {\dot{z}}_h\) with \(\tau _h = z_h/(A_{z_h}^2-z_h^2)\).

The nominal virtual control for (22) is designed as

$$\begin{aligned} v_{\gamma , \text {c}} = \frac{1}{V} \bigg ( -k_h z_h + {\dot{h}}_\text {c} + c_h \xi _h - \frac{c_h^2}{2} \tau _h \bigg ), \end{aligned}$$
(24)

where \(k_h >0\), \(c_h>0\), \(\xi _h\) is an auxiliary state to compensate for the effect of \(\varDelta v_\gamma \) in (22), generated by the following auxiliary system:

$$\begin{aligned} {\dot{\xi }}_h = \left\{ \begin{array}{ll} 0, &{} |\xi _h| \le \xi _h^{*}, \\ -a_h \xi _h + b_h \varDelta v_\gamma &{}\\ - \Big ( |V \varDelta v_\gamma \tau _h| + \dfrac{1}{2} b_h^2 \varDelta v_\gamma ^2 \Big ) \xi _h^{-1}, &{} |\xi _h| > \xi _h^{*}, \end{array} \right. \end{aligned}$$
(25)

with \(a_h>1\), \(b_h>0\), \(\xi _h^{*}\) is a sufficiently small constant in accordance with the performance requirement.

Remark 6

This auxiliary system (25) is inspired by the ideas in [32] and [41], which can be regarded as the scalar version of that in [32]. It is seen that \(\xi _h\) will exponentially converge into a small set of \({\mathcal {S}}_{\xi _h} = \{\xi _h : |\xi _h| \le \xi _h^{*}\}\) if \(\varDelta v_\gamma =0\). Proper reset mechanism for the initial value of auxiliary system (25) should be implemented to effectively respond the possible \(\varDelta v_\gamma \ne 0\) (see Remark 10 in [32]). By selecting an appropriate \(\xi _h^{*}\), if the state of auxiliary system (25) satisfies \(|\xi _h| > \xi _h^{*}\), saturation on virtual control happens, that is, \(\varDelta v_\gamma \ne 0\); otherwise, there exists no saturation, that is, \(\varDelta v_\gamma = 0\) [41].

Next, we choose a Lyapunov-like function for this step:

$$\begin{aligned} L_h = {\mathfrak {B}}_h + \frac{1}{2} \xi _h^2. \end{aligned}$$
(26)

Combining (22)–(25) and applying the inequality (i), the time derivative of \(L_h\) satisfies that

$$\begin{aligned} {\dot{L}}_h =&\,\tau _h {\dot{z}}_h + \xi _h {\dot{\xi }}_h\nonumber \\ =&- k_h \dfrac{z_h^2}{A_{z_h}^2-z_h^2} + V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2}\nonumber \\&+ V \varDelta v_\gamma \tau _h + c_h \xi _h \tau _h \nonumber \\&- \dfrac{1}{2} c_h^2 \tau _h^2 - a_h \xi _h^2 - |V \varDelta v_\gamma \tau _h|\nonumber \\&- \dfrac{1}{2} b_h^2 \varDelta v_\gamma ^2 + b_h \varDelta v_\gamma \xi _h\nonumber \\ \le&- k_h \dfrac{z_h^2}{A_{z_h}^2-z_h^2} + V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2} - \big ( a_h - 1 \big ) \xi _h^2 \nonumber \\&- \dfrac{1}{2} \big ( \xi _h - c_h \tau _h \big )^2 - \dfrac{1}{2} \big ( \xi _h - b_h \varDelta v_\gamma \big )^2 \nonumber \\&\le - \kappa _h L_h + V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2}, \end{aligned}$$
(27)

where \(\kappa _h = \min \{ 2 k_h, 2(a_h - 1) \}\).

It should be pointed out that similar to [32] and [41], the above derivation only considers the case of \(|\xi _h| > \xi _h^{*}\), that is, there exists saturation. In the absence of saturation, which also means \(|\xi _h| \le \xi _h^{*}\), \({\dot{\xi }}_h = 0\) and \(\varDelta v_\gamma = 0\), a similar result can be readily obtained by the same process. For example, the time derivative of \(L_h\) in the unsaturation case is derived as

$$\begin{aligned} {\dot{L}}_h \le&- k_h \dfrac{z_h^2}{A_{z_h}^2-z_h^2} + V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2} + \dfrac{1}{2} {\xi ^{*}_h}^2\nonumber \\&- \dfrac{1}{2} \big ( \xi _h - c_h \tau _h \big )^2 \nonumber \\ \le&- \kappa '_h L_h + \varsigma '_h + V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2}, \end{aligned}$$
(28)

where \(\kappa '_h = \min \{ 2 k'_h, 2(a'_h - 1) \}\), \(\varsigma '_h = \big (a'_h - \frac{1}{2}\big ) {\xi ^{*}_h}^2\), and \(a'_h>1\) is a constant for analytical purpose. It is seen that the additional \(\varsigma '_h\) is a small constant due to the sufficiently small \(\xi ^{*}_h\), which can be readily handled according to the later analysis in Sect. 4.2. Similar actions will be taken in the following steps.

4.1.2 Step 2:

For the dynamics of virtual tracking error \(z_\gamma \):

$$\begin{aligned} {\dot{z}}_\gamma =&f_\gamma - {\dot{v}}_\gamma + \varvec{\vartheta }_{\gamma ,1}^\text {T} \varvec{\varphi }_{\gamma ,1}\nonumber \\&+ \vartheta _{\gamma ,2} \varphi _{\gamma ,2} \big ( z_\theta + v_{\theta , \text {c}} + \varDelta v_\theta \big ) + d_\gamma , \end{aligned}$$
(29)

we select a logarithmic barrier function:

$$\begin{aligned} {\mathfrak {B}}_\gamma = \frac{1}{2} \log \frac{A_{z_\gamma }^2}{A_{z_\gamma }^2-z_\gamma ^2}, \end{aligned}$$
(30)

where \(\dot{{\mathfrak {B}}}_\gamma = \tau _\gamma {\dot{z}}_\gamma \) with \(\tau _\gamma = z_\gamma /(A_{z_\gamma }^2-z_\gamma ^2)\).

The nominal virtual control for (29) is designed as

$$\begin{aligned} v_{\theta , \text {c}} =&\dfrac{1}{{\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2}} \bigg [ -k_\gamma z_\gamma - f_\gamma + {\dot{v}}_\gamma \nonumber \\&- V \dfrac{(A_{z_\gamma }^2-z_\gamma ^2) z_h}{A_{z_h}^2-z_h^2}- \hat{\varvec{\vartheta }}_{\gamma ,1}^\text {T} \varvec{\varphi }_{\gamma ,1}\nonumber \\&- {\hat{D}}_\gamma \tanh \Big ( \dfrac{\tau _\gamma }{\sigma _\gamma } \Big ) + c_\gamma \xi _\gamma - \dfrac{c_\gamma ^2}{2} \tau _\gamma \bigg ], \end{aligned}$$
(31)

where \(k_\gamma >0\), \(\sigma _\gamma >0\), \(c_\gamma >0\), \({\dot{v}}_\gamma \) is directly obtained from the command filter, the variables \(\hat{\varvec{\vartheta }}_{\gamma ,1}\), \({\hat{\vartheta }}_{\gamma ,2}\), \({\hat{D}}_\gamma \) and \(\xi _\gamma \) are generated by the adaptive laws:

$$\begin{aligned} \left\{ \begin{array}{rcl} \dot{\hat{\varvec{\vartheta }}}_{\gamma ,1} &{}=&{} \varvec{\varGamma }_{\gamma ,1}^{-1} \big ( \varvec{\varphi }_{\gamma ,1} \tau _\gamma - l_{\gamma ,1} \hat{\varvec{\vartheta }}_{\gamma ,1} \big ), \\ \dot{{\hat{\vartheta }}}_{\gamma ,2} &{}=&{} \mathop {\text {Proj}}\limits _{{\hat{\vartheta }}_{\gamma ,2} \in \mathcal {S_\gamma }} \Big \{\varGamma _{\gamma ,2}^{-1} \big ( \varphi _{\gamma ,2} \theta \tau _\gamma - l_{\gamma ,2} {\hat{\vartheta }}_{\gamma ,2} \big ) \Big \}, \\ \dot{{\hat{D}}}_{\gamma }&{} =&{} \varGamma _{\gamma ,3}^{-1} \Big [ \tau _\gamma \tanh \Big ( \dfrac{\tau _\gamma }{\sigma _\gamma } \Big ) - l_{\gamma ,3} {\hat{D}}_\gamma \Big ], \end{array} \right. \end{aligned}$$
(32)

and the auxiliary system:

$$\begin{aligned} {\dot{\xi }}_\gamma = \left\{ \begin{array}{ll} 0, &{} |\xi _\gamma | \le \xi _\gamma ^{*}, \\ -a_\gamma \xi _\gamma + b_\gamma \varDelta v_\theta &{} \\ - \Big ( |{\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \varDelta v_\theta \tau _\gamma | + \dfrac{1}{2} b_\gamma ^2 \varDelta v_\theta ^2 \Big ) \xi _\gamma ^{-1}, &{} |\xi _\gamma | > \xi _\gamma ^{*}, \end{array} \right. \end{aligned}$$
(33)

with \(\varvec{\varGamma }_{\gamma ,1} > 0\), \(\varGamma _{\gamma ,2} > 0\), \(\varGamma _{\gamma ,3} > 0\), \(l_{\gamma ,1} > 0\), \(l_{\gamma ,2} > 0\), \(l_{\gamma ,3} > 0\), \(a_\gamma > 1\), \(b_\gamma > 0\), \(\xi _\gamma ^{*}\) is a sufficiently small constant.

Next, we choose a Lyapunov-like function for this step:

$$\begin{aligned} L_\gamma =&{\mathfrak {B}}_\gamma + \dfrac{1}{2} ||\tilde{\varvec{\vartheta }}_{\gamma ,1}||_{\varvec{\varGamma }_{\gamma ,1}}^2 + \dfrac{1}{2}||{\tilde{\vartheta }}_{\gamma ,2}||_{\varGamma _{\gamma ,2}}^2\nonumber \\&+ \dfrac{1}{2}||{\tilde{D}}_\gamma ||_{\varGamma _{\gamma ,3}}^2 + \dfrac{1}{2} \xi _\gamma ^2. \end{aligned}$$
(34)

Combining (29)–(33) and the properties of the projection function, the time derivative of \(L_\gamma \) satisfies that

$$\begin{aligned} {\dot{L}}_{\gamma } =&\, \tau _\gamma {\dot{z}}_\gamma - \tilde{\varvec{\vartheta }}_{\gamma ,1}^\text {T} \varvec{\varGamma }_{\gamma ,1} \dot{\hat{\varvec{\vartheta }}}_{\gamma ,1} - {\tilde{\vartheta }}_{\gamma ,2}^\text {T} \varGamma _{\gamma ,2} \dot{{\hat{\vartheta }}}_{\gamma ,2} - {\tilde{D}}_{\gamma } \varGamma _{\gamma ,3} \dot{{\hat{D}}}_{\gamma }\nonumber \\ {}&+ \xi _\gamma {\dot{\xi }}_\gamma \nonumber \\ \le&- k_\gamma \dfrac{z_\gamma ^2}{A_{z_\gamma }^2-z_\gamma ^2} - V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2} + {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \dfrac{z_\gamma z_\theta }{A_{z_\gamma }^2-z_\gamma ^2}\nonumber \\&+ {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \varDelta v_\theta \tau _\gamma + c_\gamma \xi _\gamma \tau _\gamma - \dfrac{1}{2} c_\gamma ^2 \tau _\gamma ^2 - a_\gamma \xi _\gamma ^2\nonumber \\&- |{\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \varDelta v_\theta \tau _\gamma | - \dfrac{1}{2} b_\gamma ^2 \varDelta v_\theta ^2 + b_\gamma \varDelta v_\theta \xi _\gamma \nonumber \\&+ l_{\gamma ,1} \tilde{\varvec{\vartheta }}_{\gamma ,1}^\text {T} \hat{\varvec{\vartheta }}_{\gamma ,1} + l_{\gamma ,2} {\tilde{\vartheta }}_{\gamma ,2}^\text {T} {\hat{\vartheta }}_{\gamma ,2} + l_{\gamma ,3} {\tilde{D}}_{\gamma } {\hat{D}}_{\gamma }\nonumber \\&+ D_\gamma \Big [ |\tau _\gamma | - \tau _\gamma \tanh \Big ( \dfrac{\tau _\gamma }{\sigma _\gamma } \Big ) \Big ]. \end{aligned}$$
(35)

Further applying inequalities (i)–(iii) to (35), it is derived that

$$\begin{aligned} {\dot{L}}_{\gamma } \le&- k_\gamma \log \dfrac{A_{z_\gamma }^2}{A_{z_\gamma }^2-z_\gamma ^2} - V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2}\nonumber \\&+ {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \dfrac{z_\gamma z_\theta }{A_{z_\gamma }^2-z_\gamma ^2}\nonumber \\&- \dfrac{l_{\gamma ,1}}{2} ||\tilde{\varvec{\vartheta }}_{\gamma ,1}||^2 - \dfrac{l_{\gamma ,2}}{2} {\tilde{\vartheta }}_{\gamma ,2}^2 - \dfrac{l_{\gamma ,3}}{2} {\tilde{D}}_{\gamma }^2 \nonumber \\&- \big ( a_\gamma - 1 \big ) \xi _\gamma ^2+ \dfrac{l_{\gamma ,1}}{2} ||\varvec{\vartheta }_{\gamma ,1}||^2 + \dfrac{l_{\gamma ,2}}{2} \vartheta _{\gamma ,2}^2\nonumber \\&+ \dfrac{l_{\gamma ,3}}{2} D_{\gamma }^2 + 0.2875 \sigma _\gamma D_\gamma \nonumber \\ \le&- \kappa _\gamma L_\gamma + \varsigma _\gamma - V \dfrac{z_h z_\gamma }{A_{z_h}^2-z_h^2}\nonumber \\&+ {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \dfrac{z_\gamma z_\theta }{A_{z_\gamma }^2-z_\gamma ^2}, \end{aligned}$$
(36)

where \(\kappa _\gamma {=} \min \big \{ 2 k_\gamma , \frac{l_{\gamma ,1}}{\lambda _{\max }(\varvec{\varGamma }_{\gamma ,1})}, \frac{l_{\gamma ,2}}{\varGamma _{\gamma ,2}}, \frac{l_{\gamma ,3}}{\varGamma _{\gamma ,3}}, 2(a_\gamma - 1) \big \}\), \(\varsigma _\gamma = \frac{l_{\gamma ,1}}{2} ||\varvec{\vartheta }_{\gamma ,1}||^2 + \frac{l_{\gamma ,2}}{2} \vartheta _{\gamma ,2}^2 + \frac{l_{\gamma ,3}}{2} D_{\gamma }^2 + 0.2875 \sigma _\gamma D_\gamma \).

4.1.3 Step 3:

For the dynamics of virtual tracking error \(z_\theta \):

$$\begin{aligned} {\dot{z}}_\theta = Q - {\dot{v}}_{\theta } = z_Q + v_{Q, \text {c}} + \varDelta v_Q - {\dot{v}}_{\theta }, \end{aligned}$$
(37)

we select a logarithmic barrier function:

$$\begin{aligned} {\mathfrak {B}}_\theta = \frac{1}{2} \log \frac{A_{z_\theta }^2}{A_{z_\theta }^2-z_\theta ^2}, \end{aligned}$$
(38)

where \(\dot{{\mathfrak {B}}}_\theta = \tau _\theta {\dot{z}}_\theta \) with \(\tau _\theta = z_\theta /(A_{z_\theta }^2-z_\theta ^2)\).

The nominal virtual control for (37) is designed as

$$\begin{aligned} v_{Q, \text {c}}=&-k_\theta z_\theta + {\dot{v}}_{\theta } - {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \dfrac{(A_{z_\theta }^2-z_\theta ^2) z_\gamma }{A_{z_\gamma }^2-z_\gamma ^2}\nonumber \\&+ c_\theta \xi _\theta - \dfrac{c_\theta ^2}{2} \tau _\theta , \end{aligned}$$
(39)

where \(k_\theta >0\), \(c_\theta >0\), \({\dot{v}}_{\theta }\) is directly obtained from the command filter and \(\xi _\theta \) is generated by the auxiliary system:

$$\begin{aligned} {\dot{\xi }}_\theta = \left\{ \begin{array}{ll} 0, &{} |\xi _\theta | \le \xi _\theta ^{*}, \\ -a_\theta \xi _\theta + b_\theta \varDelta v_Q &{} \\ - \Big ( |\varDelta v_Q \tau _\theta | + \dfrac{1}{2} b_\theta ^2 \varDelta v_Q^2 \Big ) \xi _\theta ^{-1}, &{} |\xi _\theta | > \xi _\theta ^{*}, \end{array} \right. \end{aligned}$$
(40)

with \(a_\theta >1\), \(b_\theta >0\), \(\xi _\theta ^{*}\) is a sufficiently small constant.

Next, we choose a Lyapunov-like function for this step:

$$\begin{aligned} L_\theta = {\mathfrak {B}}_\theta + \frac{1}{2} \xi _\theta ^2. \end{aligned}$$
(41)

Combining (37)–(40) and applying the inequality (i), the time derivative of \(L_\theta \) satisfies that

$$\begin{aligned} {\dot{L}}_\theta =&\tau _\theta {\dot{z}}_\theta + \xi _\theta {\dot{\xi }}_\theta \nonumber \\ =&- k_\theta \dfrac{z_\theta ^2}{A_{z_\theta }^2-z_\theta ^2} - {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \dfrac{z_\gamma z_\theta }{A_{z_\gamma }^2-z_\gamma ^2} + \dfrac{z_\theta z_Q}{A_{z_\theta }^2-z_\theta ^2}\nonumber \\&+ \varDelta v_Q \tau _\theta + c_\theta \xi _\theta \tau _\theta - \dfrac{1}{2} c_\theta ^2 \tau _\theta ^2 - a_\theta \xi _\theta ^2 - |\varDelta v_Q \tau _\theta |\nonumber \\&- \dfrac{1}{2} b_\theta ^2 \varDelta \theta _Q^2 + b_\theta \varDelta v_Q \xi _\theta \nonumber \\ \le&- \kappa _\theta L_\theta - {\hat{\vartheta }}_{\gamma ,2} \varphi _{\gamma ,2} \dfrac{z_\gamma z_\theta }{A_{z_\gamma }^2-z_\gamma ^2} + \dfrac{z_\theta z_Q}{A_{z_\theta }^2-z_\theta ^2}, \end{aligned}$$
(42)

where \(\kappa _\theta = \min \{ 2 k_\theta , 2(a_\theta - 1) \}\).

4.1.4 Step 4:

For the dynamics of the virtual tracking error \(z_Q\):

$$\begin{aligned} {\dot{z}}_Q = - {\dot{v}}_Q + \varvec{\vartheta }_{Q,1}^\text {T} \varvec{\varphi }_{Q,1} + \vartheta _{Q,2} \varphi _{Q,2} {\bar{\delta }}_\text {e,c} + d_Q, \end{aligned}$$
(43)

we select a logarithmic barrier function:

$$\begin{aligned} {\mathfrak {B}}_Q = \frac{1}{2} \log \frac{A_{z_Q}^2}{A_{z_Q}^2-z_Q^2}, \end{aligned}$$
(44)

where \(\dot{{\mathfrak {B}}}_Q = \tau _Q {\dot{z}}_Q\) with \(\tau _Q = z_Q/(A_{z_Q}^2-z_Q^2)\).

Unlike the existing solutions to the dead-zone nonlinearity \({\bar{\delta }}_\text {e,c} = {\mathcal {D}}(\delta _\text {e,c})\) via fuzzy control [17] or neural network control [22], we shall employ a more effective method of dynamic compensation by constructing the smooth dead-zone inverse:

$$\begin{aligned} \delta _\text {e,c} =\,&{\mathcal {I}}({\bar{\delta }}_\text {e,c,d})\nonumber \\ =\,&\dfrac{{\bar{\delta }}_\text {e,c,d} + \widehat{m_\text {r} n_\text {r}}}{\widehat{m_\text {r}}} {\bar{\rho }}_\text {r}({\bar{\delta }}_\text {e,c,d}) + \dfrac{{\bar{\delta }}_\text {e,c,d} + \widehat{m_\text {l} n_\text {l}}}{\widehat{m_\text {l}}} {\bar{\rho }}_\text {l}({\bar{\delta }}_\text {e,c,d}), \end{aligned}$$
(45)

where \({\bar{\delta }}_\text {e,c,d}\) is the desired value of \({\bar{\delta }}_\text {e,c}\) to be designed, \(\hat{\varvec{\vartheta }}_{{\mathcal {D}}} = \big [ \widehat{m_\text {r}},~\widehat{m_\text {r}n_\text {r}},~\widehat{m_\text {l}},~\widehat{m_\text {l}n_\text {l}} \big ]^\text {T}\) is the estimate of \(\varvec{\vartheta }_{{\mathcal {D}}}\), the functions \({\bar{\rho }}_\text {r}(\bullet )\) and \({\bar{\rho }}_\text {l}(\bullet )\) are defined as

$$\begin{aligned} {\bar{\rho }}_\text {r}(x) = \frac{e^{\varepsilon x}}{e^{\varepsilon x}+e^{-\varepsilon x}}, \quad {\bar{\rho }}_\text {l}(x) = \frac{e^{-\varepsilon x}}{e^{\varepsilon x}+e^{-\varepsilon x}}, \end{aligned}$$
(46)

with \(\varepsilon >0\) a large constant. It has been proved by [37] that if the command of elevator is selected as (45), the actual output of the real dead-zone nonlinearity (5) can be expressed as

$$\begin{aligned} {\bar{\delta }}_\text {e,c} = {\bar{\delta }}_\text {e,c,d} + \tilde{\varvec{\vartheta }}_{{\mathcal {D}}}^\text {T} \bar{\varvec{\varphi }}_{{\mathcal {D}}} + d_{{\mathcal {D}}}, \end{aligned}$$
(47)

where \(\bar{\varvec{\varphi }}_{{\mathcal {D}}} = \big [ {\bar{\rho }}_\text {r}(\delta _\text {e,c}) \delta _\text {e,c},~-{\bar{\rho }}_\text {r}(\delta _\text {e,c}),~{\bar{\rho }}_\text {l}(\delta _\text {e,c}) \delta _\text {e,c},-{\bar{\rho }}_\text {l} (\delta _\text {e,c}) \big ]^\text {T}\) is exactly known, \(d_{{\mathcal {D}}}\) satisfies \(|d_{{\mathcal {D}}}| \le D_{{\mathcal {D}}}\) with \(D_{{\mathcal {D}}}\) a unknown positive constant. We can see from (47) that after applying inverse (45), the output of the dead-zone nonlinearity has been expressed as the sum of a design single \({\bar{\delta }}_\text {e,c,d}\), a term due to the estimate error \(\tilde{\varvec{\vartheta }}_{{\mathcal {D}}}^\text {T} \bar{\varvec{\varphi }}_{{\mathcal {D}}}\) and a bounded approximate error \(d_{{\mathcal {D}}}\). As a result, (43) is rewritten as

$$\begin{aligned} {\dot{z}}_Q =&- {\dot{v}}_Q + \varvec{\vartheta }_{Q,1}^\text {T} \varvec{\varphi }_{Q,1} + \vartheta _{Q,2} \varphi _{Q,2} {\bar{\delta }}_\text {e,c,d}\nonumber \\&+ \vartheta _{Q,2} \varphi _{Q,2} \tilde{\varvec{\vartheta }}_{{\mathcal {D}}}^\text {T} \bar{\varvec{\varphi }}_{{\mathcal {D}}} + {\bar{d}}_Q, \end{aligned}$$
(48)

with \({\bar{d}}_Q = \vartheta _{Q,2} \varphi _{Q,2} d_{{\mathcal {D}}} + d_Q\) satisfying that

$$\begin{aligned} |{\bar{d}}_Q| \le&\, |\vartheta _{Q,2} \varphi _{Q,2} d_{{\mathcal {D}}}| + |d_Q|\nonumber \\ \le&\, \vartheta _{Q,2}^2 \varphi _{Q,2}^2 + \dfrac{1}{4} d_{{\mathcal {D}}}^2 + |d_Q|\nonumber \\ \triangleq&\, \vartheta _{Q,3} \varphi _{Q,3} + {\bar{d}}_Q, \end{aligned}$$
(49)

where \(\vartheta _{Q,3} = \vartheta _{Q,2}^2\) is an unknown constant, \(\varphi _{Q,3} = \varphi _{Q,2}^2\) is a known function, \({\bar{d}}_Q = d_{{\mathcal {D}}}^2/4 + |d_Q|\) is bounded by \({\bar{D}}_Q = D_{\mathcal {D}}^2/4+D_Q\).

Fig. 3
figure 3

Adaptive back-stepping control structure of altitude subsystem. Notice that the state feedback signals have been omitted in this figure for clarity

Here, we design the control law for (48) as

$$\begin{aligned} {\bar{\delta }}_{\text {e,c,d}}&= \dfrac{1}{{\hat{\vartheta }}_{Q,2} \varphi _{Q,2}} \bigg [ -k_Q z_Q + {\dot{v}}_Q - \dfrac{(A_{z_Q}^2-z_Q^2) z_\theta }{A_{z_\theta }^2-z_\theta ^2}\nonumber \\&\quad \, - \hat{\varvec{\vartheta }}_{Q,1}^\text {T} \varvec{\varphi }_{Q,1} - \big ( {\hat{\vartheta }}_{Q,3} \varphi _{Q,3} + \hat{{\bar{D}}}_Q \big ) \text {sgn} \big ( \tau _Q \big ) \bigg ], \end{aligned}$$
(50)

where \(k_Q>0\), \({\dot{v}}_Q\) is directly obtained from the command filter, the variables \(\hat{\varvec{\vartheta }}_{Q,1}\), \({\hat{\vartheta }}_{Q,2}\), \({\hat{\vartheta }}_{Q,3}\), \(\hat{{\bar{D}}}_Q\) and \(\hat{\varvec{\vartheta }}_{{\mathcal {D}}}\) are generated by the adaptive laws:

$$\begin{aligned} \left\{ \begin{array}{rcl} \dot{\hat{\varvec{\vartheta }}}_{Q,1} &{}=&{} \varvec{\varGamma }_{Q,1}^{-1} \big ( \varvec{\varphi }_{Q,1} \tau _Q - l_{Q,1} \hat{\varvec{\vartheta }}_{Q,1} \big ), \\ \dot{{\hat{\vartheta }}}_{Q,2} &{}=&{} \mathop {\text {Proj}}\limits _{{\hat{\vartheta }}_{Q,2} \in \mathcal {S_Q}} \Big \{\varGamma _{Q,2}^{-1} \big ( \varphi _{Q,2} {\bar{\delta }}_\text {e,c,d} \tau _Q - l_{Q,2} {\hat{\vartheta }}_{Q,2} \big ) \Big \}, \\ \dot{{\hat{\vartheta }}}_{Q,3} &{}=&{} \varGamma _{Q,3}^{-1} \big ( \varphi _{Q,3} |\tau _Q| - l_{Q,3} {\hat{\vartheta }}_{Q,3} \big ), \\ \dot{\hat{{\bar{D}}}}_{Q} &{}=&{} \varGamma _{Q,4}^{-1} \big ( |\tau _Q| - l_{Q,4} \hat{{\bar{D}}}_Q \big ), \\ \dot{\hat{\varvec{\vartheta }}}_{{\mathcal {D}}} &{}=&{} \varvec{\varGamma }_{Q,5}^{-1} \Big [ \varphi _{Q,2} \tau _Q \bar{\varvec{\varphi }}_{{\mathcal {D}}} \text {sgn}\big ( \vartheta _{Q,2} \big ) - l_{Q,5} \hat{\varvec{\vartheta }}_{{\mathcal {D}}} \Big ], \end{array} \right. \end{aligned}$$
(51)

with \(\varvec{\varGamma }_{Q,1} > 0\), \(\varGamma _{Q,2} > 0\), \(\varGamma _{Q,3} > 0\), \(\varGamma _{Q,4} > 0\), \(\varvec{\varGamma }_{Q,5} > 0\), \(l_{Q,1} > 0\), \(l_{Q,2} > 0\), \(l_{Q,3} > 0\), \(l_{Q,4} > 0\), \(l_{Q,5} > 0\),.

Next, we choose a Lyapunov-like function for this step:

$$\begin{aligned} L_Q&= {\mathfrak {B}}_Q + \dfrac{1}{2} ||\tilde{\varvec{\vartheta }}_{Q,1}||_{\varvec{\varGamma }_{Q,1}}^2 + \dfrac{1}{2} ||{\tilde{\vartheta }}_{Q,2}||_{\varGamma _{Q,2}}^2\nonumber \\&\quad +\, \dfrac{1}{2} ||{\tilde{\vartheta }}_{Q,3}||_{\varGamma _{Q,3}}^2 + \dfrac{1}{2} ||\tilde{{\bar{D}}}_Q||_{\varGamma _{Q,4}}^2\nonumber \\&\quad +\, \dfrac{|\vartheta _{Q,2}|}{2} ||\tilde{\varvec{\vartheta }}_{\mathcal {D}}||_{\varvec{\varGamma }_{Q,5}}^2. \end{aligned}$$
(52)

Combining (48)–(51) and applying the properties of the projection function, the time derivative of \(L_Q\) satisfies that

$$\begin{aligned} {\dot{L}}_Q=&\,\tau _Q {\dot{z}}_Q - \tilde{\varvec{\vartheta }}_{Q,1}^\text {T} \varvec{\varGamma }_{Q,1} \dot{\hat{\varvec{\vartheta }}}_{Q,1} - {\tilde{\vartheta }}_{Q,2}^\text {T} \varGamma _{Q,2} \dot{{\hat{\vartheta }}}_{Q,2} \nonumber \\&- {\tilde{\vartheta }}_{Q,3}^\text {T} \varGamma _{Q,3} \dot{{\hat{\vartheta }}}_{Q,3} - \tilde{{\bar{D}}}_Q \varGamma _{Q,4} \dot{\hat{{\bar{D}}}}_Q\nonumber \\&- |\vartheta _{Q,2}| \tilde{\varvec{\vartheta }}_{\mathcal {D}}^\text {T} \varvec{\varGamma }_{Q,5} \dot{\hat{\varvec{\vartheta }}}_{\mathcal {D}} \nonumber \\ \le&- k_Q \dfrac{z_Q^2}{A_{z_Q}^2-z_Q^2} - \dfrac{z_\theta z_Q}{A_{z_\theta }^2-z_\theta ^2} + l_{Q,1} \tilde{\varvec{\vartheta }}_{Q,1}^\text {T} \hat{\varvec{\vartheta }}_{Q,1}\nonumber \\&+\, l_{Q,2} {\tilde{\vartheta }}_{Q,2}^\text {T} {\hat{\vartheta }}_{Q,2} + l_{Q,3} {\tilde{\vartheta }}_{Q,3}^\text {T} {\hat{\vartheta }}_{Q,3} + l_{Q,4} \tilde{{\bar{D}}}_{Q} \hat{{\bar{D}}}_{Q}\nonumber \\&+\, l_{Q,5} |\vartheta _{Q,2}| \tilde{\varvec{\vartheta }}_{\mathcal {D}}^\text {T} \hat{\varvec{\vartheta }}_{\mathcal {D}} - \big ( {\bar{D}}_Q - {\bar{d}}_Q \big ) |\tau _Q| \nonumber \\ \le&- \kappa _Q L_Q + \varsigma _Q - \dfrac{z_\theta z_Q}{A_{z_\theta }^2-z_\theta ^2}, \end{aligned}$$
(53)

where \(\kappa _Q = \min \big \{ 2 k_Q, \frac{l_{Q,1}}{\lambda _{\max }(\varvec{\varGamma }_{Q,1})}, \frac{l_{Q,2}}{\varGamma _{Q,2}}, \frac{l_{Q,3}}{\varGamma _{Q,3}}, \frac{l_{Q,4}}{\varGamma _{Q,4}}, \frac{l_{Q,5}}{\lambda _{\max }(\varvec{\varGamma }_{Q,5})} \big \}\), \(\varsigma _Q = \frac{l_{Q,1}}{2} ||\varvec{\vartheta }_{Q,1}||^2 + \frac{l_{Q,2}}{2} \vartheta _{Q,2}^2 + \frac{l_{Q,3}}{2} \vartheta _{Q,3}^2 + \frac{l_{Q,4}}{2} {\bar{D}}_{Q}^2 + \frac{l_{Q,5}}{2} |\vartheta _{Q,2}| ||\varvec{\vartheta }_{\mathcal {D}}||^2\).

The overall control structure of altitude subsystem is illustrated in Fig. 3. In the realization of this control, adaptive laws (32) and (51) can be combined into a single block, so as to obtain a simpler form and an easier adjustment on design parameters. Similar handling is also applied on auxiliary systems (25), (33) and (40).

4.2 Performance analysis

A BLF for the performance analysis of altitude subsystem is constructed as the sum of Lyapunov-like functions (26), (34), (41), (52):

$$\begin{aligned} L_H = L_h + L_\gamma + L_\theta + L_Q. \end{aligned}$$
(54)

By adding (27), (35), (42) and (53), the time derivative of \(L_H\) satisfies that

$$\begin{aligned} {\dot{L}}_H =&\, {\dot{L}}_h + {\dot{L}}_\gamma + {\dot{L}}_\theta + {\dot{L}}_Q\nonumber \\ \le&- \kappa _h L_h - \kappa _\gamma L_\gamma - \kappa _\theta L_\theta - \kappa _Q L_Q + \varsigma _\gamma + \varsigma _Q\nonumber \\ \le&- \kappa _H L_H + \varsigma _H, \end{aligned}$$
(55)

where \(\kappa _H = \min \{ \kappa _h, \kappa _\gamma , \kappa _\theta , \kappa _Q \}\), \(\varsigma _H = \varsigma _\gamma + \varsigma _Q\).

Similar to the analysis of velocity subsystem, if the initial tracking errors satisfy \(|z_h(0)| < A_{z_h}\), \(|z_\gamma (0)| < A_{z_\gamma }\), \(|z_\theta (0)| < A_{z_\theta }\), \(|z_Q(0)| < A_{z_Q}\), the following inequality can be derived from (55) as

$$\begin{aligned} L_H (t) \le N(t) = \frac{\varsigma _H}{\kappa _H} + \Big [ L_H(0) - \frac{\varsigma _H}{\kappa _H} \Big ] e^{-\kappa _H t} < +\infty , \end{aligned}$$
(56)

which indicates that the prescribed tracking performance: \(|z_h(t)| < A_{z_h}\) and state constraints: \(|z_\gamma (t)| < A_{z_\gamma }\), \(|z_\theta (t)| < A_{z_\theta }\), \(|z_Q(t)| < A_{z_Q}\) are not violated. Moreover, \(L_H(t)\) is also UUB:

$$\begin{aligned} \lim _{t \rightarrow \infty } L_H(t) \le \lim _{t \rightarrow \infty } N(t) = \frac{\varsigma _H}{\kappa _H}. \end{aligned}$$
(57)

Further considering the inequality:

$$\begin{aligned} {\mathfrak {B}}_h(t) = \frac{1}{2} \log \frac{A_{z_h}^2}{A_{z_h}^2-z_h^2(t)} \le L_H(t) \le N(t), \end{aligned}$$
(58)

the transient and steady-state tracking performances of altitude subsystem are derived from (57) and (58) as

$$\begin{aligned}&|z_h(t)| \le \, \sqrt{1-e^{-2N(t)}} A_{z_h}, \end{aligned}$$
(59)
$$\begin{aligned}&\lim _{t \rightarrow \infty }|z_h(t)| \le \, \sqrt{1-e^{-2\frac{\varsigma _H}{\kappa _H}}} A_{z_h}. \end{aligned}$$
(60)

Remark 7

Similar to the analysis in velocity subsystem, the altitude tracking error exponentially converges into the set:

$$\begin{aligned} {\mathcal {S}}_{z_h}= & {} \{ z_h : |z_h| \le \sqrt{1-e^{-2{\varsigma _h}/{\kappa _h}}} A_{z_h} \}\nonumber \\\subset & {} \{ z_h : |z_h| \le A_{z_h} \}, \end{aligned}$$
(61)

with the desired performance and no violation of the state constraints. In order to get a small \(\frac{\varsigma _H}{\kappa _H}\), large \(k_h\), \(k_\gamma \), \(k_\theta \), \(k_Q\), \(a_h\), \(a_\gamma \), \(a_\theta \) and small \(l_{\gamma ,1}\), \(l_{\gamma ,2}\), \(l_{\gamma ,3}\), \(l_{Q,1}\), \(l_{Q,2}\), \(l_{Q,3}\), \(l_{Q,4}\), \(l_{Q,5}\), \(\sigma _\gamma \) should be chosen. Also, the values of \(\lambda _{\max }(\varvec{\varGamma }_{\gamma ,1})\), \(\varGamma _{\gamma ,2}\), \(\varGamma _{\gamma ,3}\), \(\lambda _{\max }(\varvec{\varGamma }_{Q,1})\), \(\varGamma _{Q,2}\), \(\varGamma _{Q,3}\), \(\varGamma _{Q,4}\), \(\lambda _{\max }(\varvec{\varGamma }_{Q,5})\) need to be sufficiently small to ensure large \(\frac{l_{\gamma ,1}}{\lambda _{\max }(\varvec{\varGamma }_{\gamma ,1})}\), \(\frac{l_{\gamma ,2}}{\varGamma _{\gamma ,2}}\), \(\frac{l_{\gamma ,3}}{\varGamma _{\gamma ,3}}\), \(\frac{l_{Q,1}}{\lambda _{\max }(\varvec{\varGamma }_{Q,1})}\), \(\frac{l_{Q,2}}{\varGamma _{Q,2}}\), \(\frac{l_{Q,3}}{\varGamma _{Q,3}}\), \(\frac{l_{Q,4}}{\varGamma _{Q,4}}\), \(\frac{l_{Q,5}}{\lambda _{\max }(\varvec{\varGamma }_{Q,5})}\).

Remark 8

It is readily observed from the design and analysis of altitude subsystem that the estimate error of the uncertain parameter in adaptive dead-zone inverse, whose effect is reflected by the term \(\frac{1}{2} |\vartheta _{Q,2}| ||\tilde{\varvec{\vartheta }}_{\mathcal {D}}||_{\varvec{\varGamma }_{Q,5}}^2\) in (52), is handled by the adaptive law of \(\hat{\varvec{\vartheta }}_{{\mathcal {D}}}\). Additionally, the approximate error of the dead-zone inverse, which is included in the expression of \({\bar{d}}_Q\), is suppressed by the control law of \({\bar{\delta }}_{\text {e,c,d}}\) and the adaptive law of \(\hat{{\bar{D}}}_Q\). As a result, the dead-zone nonlinearity in elevator has been effectively accommodated by the adaptive inverse.

Remark 9

Just as discussed by Step 1 in Sect. 4.1, similar performance analysis for altitude subsystem can be implemented for the unsaturated case. The only difference compared with the saturated case is the \(\varsigma _H\) in (55), whereas the tracking performance can also be guaranteed by selecting sufficiently small \(\xi _h^{*}\), \(\xi _\gamma ^{*}\) and \(\xi _\theta ^{*}\).

Table 1 Nominal values of the uncertain parameters in simulation
Table 2 Conditions in the comparative simulation
Table 3 Results of the comparative simulation
Table 4 Operating conditions in the verifying simulation

5 Simulation

This section will implement two simulation studies to show the superiority and effectiveness of our designed controller, namely the comparative simulation and the verifying simulation. In both simulations, uncertain parameters in COM, including \({\overline{c}}\), \(z_T\), S and \(C_{*}^{*}\), have relative uncertainties up to 0.2 with respect to the nominal values in Table 1. In other words, for an uncertain parameter p whose nominal value is \(p_\text {n}\), its real value is randomly selected within the compact convex set: \(S_p = \{ p : 0.8 p_\text {n} \le p \le 1.2 p_\text {n} \}\). Coefficients in the actuator fault (3) and dead-zone (4) are assumed as \(\zeta _{\varPhi } = \zeta _\text {e} = 0.7\), \(\varrho _{\varPhi } = -0.05\), \(\varrho _\text {e} = 2~\mathrm {deg}\), \(m_\text {r} = 0.9\), \(m_\text {l} = 0.8\), \(n_\text {r} = 0.5~\text {deg}\), \(n_\text {l} = -0.3~\text {deg}\). The external disturbances in (6), which may be aroused by the time-varying environment and the flexible fuselage, are selected as the periodic functions: \(d_V = 2 \times \sin (\omega _V t) - 2~[\mathrm {ft/s^2}]\), \(d_\gamma = 0.005 \times \sin (\omega _\gamma t)~[\mathrm {rad/s}]\), \(d_Q = 0.01 \times \sin (\omega _Q t)~[\mathrm {rad/s^2}]\), with \(\omega _V = \pi /10\), \(\omega _\gamma = \omega _Q = \pi /5\).

Relevant conditions in the comparative simulation are briefly listed in Table 2. To be specific, our task is to steer a cruising HFV to track the filtered velocity and altitude references [4], which start at the speed of \(6500~\mathrm {ft/s}\) with the altitude of \(80,500~\mathrm {ft}\) and end at the speed of \(9000~\mathrm {ft/s}\) with altitude of \(90,000~\mathrm {ft}\), as well as to guarantee the prescribed tracking performances: \(|z_V| < 30~\mathrm {ft/s}\), \(|z_h| < 40~\mathrm {ft}\), and state constraints: \(|\gamma | < 1.5~\mathrm {deg}\), \(|\theta | < 3~\mathrm {deg}\), \(|Q| < 3~\mathrm {deg/s}\). As a result, AOA can be limited by \(|\alpha | \le |\gamma | + |\theta | < 4.5~\mathrm {deg}\). Due to the possible measurement errors, the real velocity and altitude are supposed to be \(6480~\mathrm {ft/s}\) and \(80,470~\mathrm {ft}\), respectively, which indicates the initial tracking errors: \(z_V(0) = -20~\mathrm {ft/s}\), \(z_h(0) = -30~\mathrm {ft}\). For the above flight task and control objective, relevant design parameters of both velocity and altitude subsystems are also given in Table 2. Besides the proposed controller, we also simulate the flight case under another adaptive controller for comparison purpose (hereafter referred to as the compared controller), whose design follows the strategy proposed in [26]. Because this compared controller is based on quadratic Lyapunov functions rather than BLFs, constraints on flight states cannot be guaranteed in theory. Additionally, there exists no specific mechanism to handle faulty actuators, external disturbances and the dead-zone nonlinearity in elevator. Hence, relevant design parameters should be carefully selected to approach the control objective in Table 2 at best.

Simulation results are shown in Figs. 4, 5, 6, 7, 8 and 9 and listed in Table 3. Figures 4 and 5 demonstrate the tracking performances under the two controllers, from which we can see that the proposed controller performs better than the compared controller in both transient and steady-state performances. Under the compared controller, some oscillations are aroused by the dead-zone nonlinearity in elevator (also see the enlarged view in Fig. 8b); meanwhile, the altitude tracking error has a large steady-state error. Under the proposed controller, it is as expected that the HFV is regulated with faster convergence rates and smaller steady-state errors.

Other flight states of FPA, PA and PAR, AOA are shown in Figs. 6 and 7, respectively. Under the proposed controller, the virtual controls \(v_\gamma \), \(v_\theta \) and \(v_Q\) are limited by the command filters, while the virtual tracking errors \(z_\gamma \), \(z_\theta \) and \(z_Q\) are regulated within the desired ranges. As a result, the prescribed constraints on FPA, PA and PAR in Table 2 are successfully guaranteed, also leading to the permissible AOA. However, under the compared controller, the prescribed constraints specifically on PA, AOA and PAR cannot be kept, which is also clearly seen from Table 3. At the same time, the dead-zone nonlinearity in elevator also affects flight states like AOA, probably leading to an unsteady working condition of the scramjet. Relevant control inputs under the two controllers are shown in Fig. 8. With the help of the adaptive inverse for dead-zone nonlinearity, the elevator under the proposed controller suffers from less influence than that under the compared controller.

Some important estimates under the proposed controller are given in Fig. 9. Figure 9a, b indicates that the gains \(g_V = \hat{\varvec{\vartheta }}_{V,2}^\text {T} \varvec{\varphi }_{V,2}\) and \(g_Q = {\hat{\vartheta }}_{Q,2} \varphi _{Q,2}\) in control laws (10) and (50) are nonsingular, which in turn ensures the well definition of the designed control laws for FER and elevator. It is observed from Fig. 9c–e that the estimate values of \({\hat{D}}_V\), \({\hat{D}}_\gamma \) and \(\hat{{\bar{D}}}_Q\) do not converge to their true values. This is reasonable in adaptive control [24], because, taking \({\hat{D}}_V\) for example, the adaptive law of \({\hat{D}}_V\) in (11) would be dominated by the term \(- l_{V,3} {\hat{D}}_V\) in the case of small velocity tracking error \(z_V\) (and thus small \(\tau _V\)).

Finally, we implement a verifying simulation to test the effectiveness of the proposed controller in different operating conditions given in Table 4. The control objective and control parameter are chosen the same as those in Table 2. For page limitation, only the resulting tracking errors of velocity and altitude as well as flight states of FPA and AOA are illustrated in Figs. 10 and 11, respectively. We can see that the HFV under the proposed controller can effectively track the given references, along with the states being strictly constrained in the desired ranges. Therefore, the controller is applicable to a wide flight envelope. It should be pointed out that the design parameters of the compared controller are fragile, that is to say, a given controller, whose design parameters are selected to satisfy the prescribed tracking performances and state constraints for a specific operating condition, could be ineffective in other operating conditions. However, just as proved and analyzed in previous sections, the developed BLF-based controller can achieve all the control objectives provided that the initial errors are within the prescribed bounds.

6 Conclusion

A fault-tolerant adaptive controller for HFVs has been proposed in this paper. The main novelty of our designed controller is to strictly guarantee the prescribed tracking performances and state constraints during hypersonic flight, which benefits from the utilization of BLFs. In the back-stepping design of altitude subsystem, command filters are applied to bound virtual controls and to simplify control algorithms, while an adaptive inverse is developed to effectively compensate for the dead-zone nonlinearity in elevator. Analysis results show that the tracking errors of velocity and altitude are regulated to sufficiently small values decided by design parameters, with no violation of the desired state constraints. Simulation results indicate the superiority and effectiveness of the proposed controller. Future study will consider some more complex state constraints of HFVs, which are time-varying or even related to flight states.