Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Many of the existing FTC schemes in the literature are based on linear plant representations and are therefore only valid in the vicinity of the designed trim point . Therefore, one of the main challenges for practical implementation, especially for aircraft, is to ensure good performance for a wide range of operating conditions . Some of the linear based designs can be extended to handle variations in operating conditions, but direct nonlinear methods such as nonlinear dynamic inversion  (NDI) and backstepping provide equally viable alternatives—with many benefits compared to the extended linear cases. One obvious benefit is the direct exploitation of the well-known aircraft equations of motion , which provides good and consistent performance throughout the flight envelope. This chapter presents a nonlinear fault tolerant scheme for longitudinal control of an aircraft system, comprising an integral sliding mode control allocation scheme and a backstepping structure. In fault-free conditions, the closed-loop system is governed by the backstepping controller and the integral sliding mode control allocation scheme only influences the performance if faults/failures occur in the primary control surfaces . In this situation the allocation scheme redistributes the control signals to the secondary control surfaces and the scheme is able to tolerate total failures in the primary actuator . A backstepping scheme taken from the existing literature is designed for flight path angle tracking (based on the nonlinear equations of motion ) and this is used as the underlying baseline controller . The efficacy of the scheme is demonstrated using the RECOVER benchmark model .

7.1 Nonlinear Aircraft Model

In this chapter, the longitudinal motion of a rigid aircraft will be considered. Such a model is typically given by four differential equations

$$\begin{aligned} \dot{V}_{tas}= & {} \frac{1}{m} \left( -D + T_{n}\cos (\alpha +\sigma _{T}) - mg\sin \gamma \right) \end{aligned}$$
(7.1)
$$\begin{aligned} \dot{\alpha }= & {} \frac{1}{mV_{tas}} \left( -L - T_{n}\sin (\alpha +\sigma _{T}) + mg\cos \gamma \right) + q \end{aligned}$$
(7.2)
$$\begin{aligned} \dot{\theta }= & {} q \end{aligned}$$
(7.3)
$$\begin{aligned} \dot{q}= & {} \frac{1}{I_{y}} \left( M + T_{n} l_{tz}\cos \sigma _{T} \right) \end{aligned}$$
(7.4)

where \(V_{tas},\alpha ,\theta ,q,\gamma \) represent true air speed, angle of attack, pitch angle, pitch rate and flight path angle respectively. The parameters in (7.1)–(7.4) are \(m,g,I_{y},T_{n},l_{tz},\sigma _{T}\) which represent mass, gravity, the body axis moment of inertia, total engine thrust, the distance from the engine centre line to the fuselage reference line and the engine inclination angle respectively.

Define the state vector as \(x= \text{ col }(V_{tas}, \alpha , \theta , q)\), then the drag force, lift force and pitch moments (DLM) from (7.1) to (7.4) can be written as:

$$\begin{aligned} D= & {} \bar{q} S C_{D}(x,\delta ) \end{aligned}$$
(7.5)
$$\begin{aligned} L= & {} \bar{q} S C_{L}(x,\delta ) \end{aligned}$$
(7.6)
$$\begin{aligned} M= & {} \bar{q} S \bar{c} \left( C_{m}(x,\delta ) + \varDelta (x)\right) \end{aligned}$$
(7.7)

where the dynamic pressure

$$\begin{aligned} \bar{q}= & {} \frac{1}{2}\rho _{air} V_{tas}^{2} \end{aligned}$$
(7.8)

and \(S,\bar{c},\rho _{air}\) represent the wing area, wing mean aerodynamic chord and air density respectively. The dimensionless drag force, lift force and pitch moment coefficients \(C_{D}(x,\delta ), C_{L}(x,\delta )\) and \(C_{m}(x,\delta )\) are functions of the states and control surface deflections, and are usually obtained through wind tunnel and flight tests. This data is then used to create an aerodynamic database in the form of a lookup table . For the RECOVER model , this data is available. The term \(\varDelta (x)\) in (7.7) represents unmodelled dynamics which are not considered during the design, but which appear as part of the high fidelity model in RECOVER . This term is explicitly given by

$$\begin{aligned} \varDelta (x) = -\frac{1}{\bar{c}}\left( C_{D}\sin \alpha +C_{L}\cos \alpha \right) \bar{x}_{cg} + \frac{\bar{c}\dot{\alpha }}{V_{tas}} \left( C_{m_{\dot{\alpha }}}-\frac{\bar{x}_{cg}}{\bar{c}}C_{L_{\dot{\alpha }}}\cos \alpha \right) \end{aligned}$$
(7.9)

where \(\bar{x}_{cg}= x_{cg_{ref}} - x_{cg}\) represents the difference between the actual and the reference x-axis centre of gravity. In this chapter it is assumed that \(\varDelta (x)\) is unknown.

7.1.1 Strict Feedback Form

To design the ISM scheme and the baseline backstepping control law, approximations will be made to the longitudinal aircraft dynamics in (7.1)–(7.4) to create a representation in ‘strict feedback form’ .Footnote 1 Here, the following simplifications are introduced.

Assumption 7.1

It is assumed that \(V_{tas}\) remains constant: i.e. \(\dot{V}_{tas}\approx 0\).

Assumption 7.2

It is assumed that a change to the elevator mainly affects the pitch moment, and the effect on lift and drag can be neglected (i.e. \(C_{D}(\delta )=0, C_{L}(\delta )=0\)).

Remark 7.1

Assumption 7.1 can be achieved by introducing a separate feedback loop based on the measured speed and the auto throttle.

Remark 7.2

Assumption 7.2 is common in the flight dynamics literature.Footnote 2

Using Assumptions 7.1 and 7.2 together with (7.5)–(7.7), and replacing \(\dot{\alpha }\) with \(\gamma =\theta - \alpha \) (i.e. flight path angle) to remove the dependency on q, the longitudinal dynamics in (7.1)–(7.4), for controller design purposes, can be rewritten as

$$\begin{aligned} \dot{\gamma }= & {} \frac{1}{mV_{tas}} \left( \bar{q} S C_{L}(x) + T_{n}\sin (\theta -\gamma +\sigma _{T}) - mg\cos \gamma \right) \end{aligned}$$
(7.10)
$$\begin{aligned} \dot{\theta }= & {} q \end{aligned}$$
(7.11)
$$\begin{aligned} \dot{q}= & {} \frac{1}{I_{y}} \left( \bar{q} S \bar{c} \left( C_{m}(x,\delta )+\varDelta (x) \right) + T_{n} l_{tz}\cos \sigma _{T} \right) \end{aligned}$$
(7.12)

In (7.10)–(7.12), the control surface deflection \(\delta \) only appears in Eq. (7.12) and this allows many nonlinear schemes (e.g. backstepping and nonlinear dynamic inversion ) to be used for control law design.

Note that (7.10)–(7.12) are only used for controller design; in the simulations the original Eqs. (7.1)–(7.4), and in fact the more detailed RECOVER benchmark from Appendix A, are used to test the design.

The pitch moment coefficient can be written as a function of the states and control surfaces:

$$\begin{aligned} C_{m}(x,\delta )= & {} C_{m}(x) + \frac{dC_{m}}{d\delta _{e}}\delta _{e} + \frac{dC_{m}}{d\delta _{s}}\delta _{s} \end{aligned}$$
(7.13)

where \(\delta _{e},\delta _{s}\) are elevator and horizontal stabiliser deflections respectively. Combining Eq. (7.13) with Eqs. (7.10)–(7.12), simplified equations of motion can be written in the form

$$\begin{aligned} \underbrace{\left[ \begin{array}{c} \dot{\gamma } \\ \dot{\theta } \\ \dot{q} \\ \end{array} \right] }_{\dot{x}(t)}= & {} \underbrace{\left[ \begin{array}{cc} \frac{1}{mV_{tas}} \left( \bar{q} S C_{L}(x) + T_{n}\sin (\alpha +\sigma _{T}) - mg\cos \gamma \right) \\ q \\ \frac{1}{I_{y}} \left( \bar{q} S \bar{c} C_{m}(x) + T_{n} l_{tz}\cos \sigma _{T} \right) \end{array} \right] }_{f(x)} \nonumber \\&\left. \begin{array}{c} + \\ ~ \\ ~ \\ \end{array} \right. \underbrace{ \begin{array}{cc} {\left[ {\begin{array}{c|c} 0 &{} 0 \\ 0 &{} 0 \\ \frac{1}{I_{y}} \bar{q} S \bar{c} \frac{dC_{m}}{d\delta _{e}} &{} \frac{1}{I_{y}} \bar{q} S \bar{c} \frac{dC_{m}}{d\delta _{s}} \\ \end{array}} \right] } \\ {\begin{array}{cc} { \underbrace{~~~~~~~~~~~~~~~}_{g_{e}(x)} } &{} { \underbrace{~~~~~~~~~~~~~~~}_{g_{s}(x)} } \end{array}} \end{array} }_{g(x)} \begin{array}{c} \underbrace{\left[ {\begin{array}{c} \delta _{e} \\ \delta _{s} \\ \end{array}} \right] }_{u(t)} + \underbrace{\left[ \begin{array}{c} 0 \\ 0 \\ \frac{1}{I_{y}} \bar{q} S \bar{c} \\ \end{array} \right] }_{b(x)}\varDelta (x) \end{array} \end{aligned}$$
(7.14)

The vector \(g_{e}(x)\) is associated with the primary control surface (the elevator). Conversely the vector \(g_{s}(x)\) is the secondary control surface  (the stabiliser) which will be used when faults/failures occur on the primary control surface  (see Fig. A.2).

Remark 7.3

Note that the term \(\frac{dC_{m}}{d\delta _{e}}\) is assumed to be available either by online parameter estimation or from a lookup table . In this chapter the information is obtained from a lookup table. However imprecision in the knowledge of \(\frac{dC_{m}}{d \delta _{e}}\) will appear as matched uncertainty which will be suppressed by the sliding mode terms in the controller. The thrust \(T_{n}\) is also assumed to be available by converting engine pressure ratio  (which is the commanded signal from the speed controller) into thrust through a lookup table. (Recall it is assumed speed is controlled by a separate “auto-throttle” control loop .)

To simplify the subsequent analysis, Eq. (7.14) can be written as

$$\begin{aligned} \left[ \begin{array}{c} \dot{x}_{1} \\ \dot{x}_{2} \\ \end{array} \right] = \left[ \begin{array}{c} f_{1}(x) \\ f_{2}(x) \\ \end{array} \right] + g(x) u(t) + b(x)\varDelta (x) \end{aligned}$$
(7.15)

where the state sub-vector \(x_{1}=\text{ col }(\gamma ,\theta )\) and \(x_{2}=q\). The input distribution vector

$$\begin{aligned} g(x) = \left[ \begin{array}{c|c} g_{e}(x) &{} g_{s}(x) \\ \end{array} \right] = \left[ \begin{array}{c|c} 0_{2 \times 1} &{} 0_{2 \times 1} \\ g_{1}(x) &{} g_{2}(x) \\ \end{array} \right] \end{aligned}$$
(7.16)

where \(g_{1}(x)=\frac{1}{I_{y}} \bar{q} S \bar{c} \frac{dC_{m}}{d\delta _{e}}\) and \(g_{2}(x)=\frac{1}{I_{y}} \bar{q} S \bar{c} \frac{dC_{m}}{d\delta _{s}}\). The disturbance matrix b(x) in (7.14) can be written as

$$\begin{aligned} b(x) = \left[ \begin{array}{c} 0_{2 \times 1} \\ b_1(x) \\ \end{array} \right] \end{aligned}$$
(7.17)

where \(b_1(x) = \frac{1}{I_{y}} \bar{q} S \bar{c}\).

7.2 Control Law Development

Consider the effect of faults on each actuator modelled by

$$\begin{aligned} u_{i}^e(t) = w_i(t) u_i(t) + \xi (t) \qquad \text{ for } i=1,2 \end{aligned}$$
(7.18)

where the scalars \(0\le w_i(t) \le 1\), and \(\xi (t)\) is an exogenous signal. Here \(u_{i}^e(t)\) represents the effective control signal which influences the aircraft dynamics, taking into account the detrimental impact of the fault. The scalars \(w_{1}(t)\) and \(w_{2}(t)\) are the so-called control surface effectiveness gains associated with the primary  (elevator) and secondary  (stabiliser) control surfaces respectively. If \(w_{i}(t)=1\), the corresponding ith control surface is working perfectly, while \(w_{i}(t)=0\) indicates a total failure. If \(0<w_{i}(t)<1\), a partial fault is present in the ith control surface. Ignoring the term \(\xi (t)\) which does not affect stability,Footnote 3 the system in (7.15) subject to potentially faulty actuators can be written in the form

$$\begin{aligned} \left[ \begin{array}{c} \dot{x}_{1} \\ \dot{x}_{2} \\ \end{array} \right] = \left[ \begin{array}{c} f_{1}(x) \\ f_{2}(x) \\ \end{array} \right] + \left[ \begin{array}{cc} 0_{2 \times 1} &{} 0_{2 \times 1} \\ g_{1}(x) &{} g_{2}(x) \\ \end{array} \right] W(t) u(t) + b(x)\varDelta (x) \end{aligned}$$
(7.19)

where the matrix \(W(t)=\text{ diag }(w_{1}(t), w_{2}(t))\).

For simplicity, factorise g(x) so that (7.15) can be written as

$$\begin{aligned} \left[ \begin{array}{c} \dot{x}_{1} \\ \dot{x}_{2} \\ \end{array} \right] = \left[ \begin{array}{c} f_{1}(x) \\ f_{2}(x) \\ \end{array} \right] + g_{1}(x)\left[ \begin{array}{cc} 0_{2 \times 1} &{} 0_{2 \times 1} \\ 1 &{} g_{2}^{s}(x) \\ \end{array} \right] W(t) u(t) + b(x)\varDelta (x) \end{aligned}$$
(7.20)

where

$$\begin{aligned} g_{2}^{s}(x) = \frac{ g_{2}(x) }{ g_{1}(x) } \end{aligned}$$
(7.21)

For the aircraft example considered here, \(g_{1}(x)\) and \(g_2(x)\) are both nonzero since \(\frac{dC_{m}}{d\delta _{e}}\ne 0\) and \(\frac{dC_{m}}{d\delta _{s}}\ne 0\) for typical regions in the flight envelope as shown in Fig. 7.1a, b. This guarantees the inverse in (7.21) exists and the system (7.20) is controllable when faults/failures occur on the elevator. (Note that the maximum ceiling is 45,000 ft and maximum level speed is Mach 0.895 at 30,000 ft).

Fig. 7.1
figure 1

Pitching moment coefficient due to elevator and stabiliser deflections [3, 4]. a Elevator. b Stabiliser

7.2.1 Nominal Backstepping Control Law

Assume that for the nominal system

$$\begin{aligned} \dot{x}(t)=f(x)+g_{e}(x)u_{0}(t) \end{aligned}$$
(7.22)

a controller

$$\begin{aligned} u_{0}(x)={\mathscr {K}}(x) \end{aligned}$$
(7.23)

has been designed using the primary control surface such that the nominal closed-loop system

$$\begin{aligned} \dot{x}(t)=f(x)+g_{e}(x){\mathscr {K}}(x) \end{aligned}$$
(7.24)

is stable. In this chapter, the baseline controller for the elevator is given by a backstepping control scheme

$$\begin{aligned} u_{0}(t) = {\mathscr {K}}(x) = \left( \frac{dC_{m}}{d \delta _{e}} \right) ^{-1} \left( \frac{ I_{y}\dot{q}_{des} -\bar{q}S \bar{c}C_{m}(x) - T_{n}l_{tz}\cos \sigma _{T} }{ \bar{q} S \bar{c} } \right) \end{aligned}$$
(7.25)

where

$$\begin{aligned} \dot{q}_{des} = -\left[ \begin{array}{ccc} \kappa _{1}\kappa _{2}\kappa _{3}~ &{} \kappa _{2}\kappa _{3}~ &{} \kappa _{3} \\ \end{array} \right] \left[ \begin{array}{c} \gamma -\gamma _{ref} \\ \theta -\gamma _{ref}-\alpha _{0} \\ q \\ \end{array} \right] \end{aligned}$$
(7.26)

where \(\alpha _{0}\) is the angle of attack at a steady state condition. The gains \(\kappa _{1},\kappa _{2},\kappa _{3}\) must be chosen to satisfy

$$\begin{aligned} \kappa _{1}>&-1 \nonumber \\ \kappa _{2}>&0 \nonumber \\ \kappa _{3}>&\left\{ \begin{array}{cc} \kappa _{2} &{} \quad \text{ if } \kappa _{1} \le 0\\ \kappa _{2}(1+k_{1}) &{} \quad \text{ if } \kappa _{1}>0 \end{array} \right. \end{aligned}$$
(7.27)

7.2.2 Control Allocation

Consider the situation when the actuator effectiveness gains  \(w_1(t)\) and \(w_2(t)\) are not perfectly known. Their estimates \(\hat{w}_1(t)\) and \(\hat{w}_2(t)\) are assumed to be computed by an FDI scheme  (which is required for the approach presented in this chapter). Consequently, as part of the estimation process, and by ‘clipping’ the estimates arising from the calculations if necessary, it can be assumed that they satisfy \(0 \le \hat{w}_1(t) \le 1\) and \(0 < \hat{w}_2(t) \le 1\) if they are to represent realistic effectiveness levels . However, these estimates may not be perfect, and so for analysis purposes

Assumption 7.3

It is assumed that \(\hat{w}_1(t)\) and \(\hat{w}_2(t)\) are related to the real values \(w_1(t)\) and \(w_2(t)\) according to:

$$\begin{aligned} \underbrace{\left[ \begin{array}{cc} w_1(t) &{} 0 \\ 0 &{} w_2(t) \\ \end{array} \right] }_{W(t)}= & {} \underbrace{ \left[ \begin{array}{cc} \hat{w}_1(t) &{} 0 \\ 0 &{} \hat{w}_2(t) \\ \end{array} \right] }_{\widehat{W}(t)} \left[ \begin{array}{cc} 1+\delta _1(t) &{} 0 \\ 0 &{} 1+\delta _2(t) \\ \end{array} \right] \end{aligned}$$
(7.28)

In (7.28) the scalars \(\delta _1(t)\) and \(\delta _2(t)\) represent imperfections in the estimates and are assumed to satisfy

$$\begin{aligned} \delta _{\min } \le \delta _1(t), \quad \delta _2(t) \le \delta _{\max } \end{aligned}$$
(7.29)

where \(\delta _{\min }, \delta _{\max }\) are known scalars and \(\max \{ |\delta _{\min }|,|\delta _{\max }| \}<1\).

The expressions in (7.28) ensure that the true values of the effectiveness levels

$$\begin{aligned} w_i(t) \in \left[ \begin{array}{cc} \hat{w}_i(t)+ \delta _{min} \hat{w}_i(t),&\hat{w}_i(t)+ \delta _{max}\hat{w}_i(t) \end{array} \right] \end{aligned}$$
(7.30)

and importantly, since \(\delta _{min}>-1\), the expression in (7.30) guarantees \(w_i(t) \ge 0\). Based on (7.28), Eq. (7.20) can be written as

$$\begin{aligned} \left[ \begin{array}{c} \dot{x}_{1}(t) \\ \dot{x}_{2}(t) \\ \end{array} \right] =\left[ \begin{array}{c} f_{1}(x) \\ f_{2}(x) \\ \end{array} \right] +g_{1}(x) \left[ \begin{array}{cc} 0_{2 \times 1} &{}0_{2 \times 1} \\ 1 &{}g_{2}^{s}(x) \\ \end{array} \right] \left[ \begin{array}{cc} \hat{w}_1(t) (1+\delta _1) &{} 0 \\ 0 &{} \hat{w}_2(t) (1+\delta _2) \\ \end{array} \right] u(t) +b(x)\varDelta (x) \end{aligned}$$
(7.31)

For the potentially faulty system in (7.31), consider as a control law

$$\begin{aligned} u(t)= N(x)\underbrace{({\mathscr {K}}(x)+ \nu _{n}(t))}_{\nu (t)} \end{aligned}$$
(7.32)

where the signal \(\nu _{n}(t)\) is associated with the sliding mode component of the control law, and will be defined formally later in the chapter. The ‘control allocation matrix’ N(x) is given by

$$\begin{aligned} N(x)= \left[ \begin{array}{c} 1 \\ \frac{1-\hat{w}_{1}(t)}{\hat{w}_{2}(t) g_{2}^{s}(x)} \\ \end{array} \right] \end{aligned}$$
(7.33)

assuming \(\hat{w}_{2}(t) \ne 0\) (i.e. assuming that the secondary control surface is failure-free) and exploiting the fact that \(g_2^s(x) \ne 0\).

Remark 7.4

Note that the control allocation matrix in (7.33) is different to the ones used in the earlier chapters (although it is related to the retro-fit scheme in Chap. 6). Here the control allocation matrix is very bespoke and utilises the specific aircraft equations of motion—especially the strict feedback form in (7.14).

Substituting (7.28) and (7.32)–(7.33) into (7.31) yields (after some straightforward algebra)

$$\begin{aligned} \underbrace{\left[ \begin{array}{c} \dot{x}_{1} \\ \dot{x}_{2} \\ \end{array} \right] }_{\dot{x}(t)} = \underbrace{\left[ \begin{array}{c} f_{1}(x) \\ f_{2}(x) \\ \end{array} \right] }_{f(x)} + \left( \underbrace{\left[ \begin{array}{cc} 0_{2 \times 1} \\ g_{1}(x) \\ \end{array} \right] }_{g_{e}(x)} + \underbrace{\left[ \begin{array}{cc} 0_{2 \times 1} \\ g_{1}(x)\hat{\delta }(t) \\ \end{array} \right] }_{\hat{g}_{e}(x)} \right) \underbrace{({\mathscr {K}}(x)+\nu _{n}(t))}_{u(t)} + \underbrace{\left[ \begin{array}{c} 0_{2 \times 1} \\ b_{1}(x) \\ \end{array} \right] }_{b(x)} \varDelta (x) \end{aligned}$$
(7.34)

where

$$\begin{aligned} \hat{\delta }(t) := \left( \hat{w}_{1}(t)\delta _{1}(t) + (1-\hat{w}_{1}(t))\delta _{2}(t) \right) \end{aligned}$$
(7.35)

Since by assumption \(0 \le \hat{w}_1(t) \le 1\), it follows that \(\hat{\delta }(t) \in \left[ \begin{array}{cc} \delta _1(t) &{} \delta _2(t) \\ \end{array} \right] \) (i.e. it belongs to the line segment between \(\delta _1\) and \(\delta _2\)), and therefore \(\delta _{\min } \le \hat{\delta }(t) \le \delta _{\max }\).

Remark 7.5

Notice from Eq. (7.33) that during fault-free conditions and when the actuator effectiveness estimate is perfect, (i.e. when \(\widehat{W}(t) = W(t) = I_{2}\), and therefore \(\hat{w}_1 (t) = 1\)) the control signal u(t) becomes

$$\begin{aligned} u(t)= \left[ \begin{array}{c} {\mathscr {K}}(x) +\nu _{n}(t) \\ 0 \\ \end{array} \right] \end{aligned}$$
(7.36)

Equation (7.36) shows only the primary control surfaces are used. In general if \( \widehat{W}(t) \ne I\), then the lower component in (7.33) is nonzero and a control signal is sent to the secondary actuator .

7.2.3 Integral Sliding Mode Design

In this section, an expression for the control law component \(\nu _n(t)\) in (7.32) will be developed. In particular this term will add robustness to the control allocation scheme presented in Sect. 7.2.

Define a time-varying sliding surface as

$$\begin{aligned} {\mathscr {S}} = \{ x \in \mathop {{\text {I}\!\text {R}}}\nolimits ^{3}: \quad \sigma (t)=0 \} \end{aligned}$$
(7.37)

where

$$\begin{aligned} \sigma (t) := Gx(t) - Gx(0) - G \int _{0}^{t} (f(x) + g_{e}(x){\mathscr {K}}(x)) d\tau \end{aligned}$$
(7.38)

and \(G \in \mathop {{\text {I}\!\text {R}}}\nolimits ^{1 \times 3}\) is the design freedom. In this chapter the gain will be chosen as

$$\begin{aligned} G:=\left[ \begin{array}{ccc} 0 &{} 0 &{} 1 \\ \end{array} \right] \end{aligned}$$
(7.39)

First it will be demonstrated that if a sliding motion occurs on \({\mathscr {S}}\) given in (7.37)–(7.38), then fault tolerance is achieved. Subsequently a control law \(\nu (t)\), to achieve and maintain sliding will be presented.

Proposition 7.1

If a sliding mode is maintained on \({\mathscr {S}}\) given by (7.37)–(7.38), then the associated sliding motion is governed by the stable system (7.24)–(7.25).

Proof

From the definition of G in (7.39), it follows that the scalar

$$\begin{aligned} Gg_{e}(x)= g_{1}(x) \ne 0,\quad G \hat{g}_{e}(x)= g_{1}(x)\hat{\delta }(t),\quad Gb(x) = b_{1}(x) \end{aligned}$$
(7.40)

The fact that \(Gg_e(x) \ne 0\) guarantees the existence of an unique equivalent control , and so the sliding mode control problem is well-posed. Taking the derivative of (7.38) along the trajectory of (7.31) and substituting from (7.34) yields

$$\begin{aligned} \dot{\sigma }(t)= & {} G\dot{x}(t) - G(f(x)+g_{e}(x){\mathscr {K}}(x)) \nonumber \\= & {} Gg_{e}(x) \nu _n(t) +G\hat{g}_{e}(x)({\mathscr {K}}(x)+\nu _{n}(t)) + Gb(x)\varDelta (x) \nonumber \\= & {} g_{1}(x)(1 +\hat{\delta }(t)) \nu _n(t) + g_{1}(x)\hat{\delta }(t){\mathscr {K}}(x) + b_{1}(x) \varDelta (x) \end{aligned}$$
(7.41)

where \(\nu _n(t)\) from (7.32) will be defined shortly to ensure a sliding motion on \({\mathscr {S}}\) can be maintained. During sliding \(\dot{\sigma }(t)=\sigma (t)=0\), and therefore since \(g_{1}(x)\ne 0\) the ‘equivalent control’ necessary to maintain sliding, is given by equating the left hand side of (7.41) to zero and solving the resulting algebraic equation to yield

$$\begin{aligned} \nu _{eq}(t) = - \left( g_{1}(x) \left( 1 + \hat{\delta }(t)\right) \right) ^{-1} \left( g_{1}(x) \hat{\delta }(t) {\mathscr {K}}(x) + b_{1}(x)\varDelta (x) \right) \end{aligned}$$
(7.42)

The equations of motion during the sliding mode can be obtained by substituting (7.42) into (7.34) to yield

$$\begin{aligned} \dot{x}(t) = f(x)+g_{e}(x){\mathscr {K}}(x) \end{aligned}$$
(7.43)

   \(\blacksquare \)

Remark 7.6

Note that Eq. (7.43) is the closed-loop system associated with the baseline controller in (7.23), and that the unknown term \(\varDelta (x)\) does not appear. This is because \(\varDelta (x)\) is ‘matched’ uncertainty and is therefore rejected by the sliding mode controller. Note that the choice of G in (7.39) means that the matrix G is fixed which simplifies the analysis. Furthermore since \((I - g_{e}(G g_{e})^{-1}G) = \text{ diag }(1,1,0)\), the contraction properties discussed in Sect. 2.7.4 are still obtained since

$$ \Vert I - g_{e}(G g_{e})^{-1}G\Vert =1 $$

(which is the minimum achievable value of the norm over all possible values of G).

The remainder of this section presents a controller to ensure sliding can be achieved and maintained in the presence of faults, and formally demonstrates this is indeed the case.

Here, the sliding mode nonlinear term \(\nu _{n}(t)\) is defined as

$$\begin{aligned} \nu _{n}(t) = -\rho (t,x) g_{1}(x)^{-1} \text{ sign }\left( \sigma (t)\right) \quad \text{ for } \sigma (t)\ne 0 \end{aligned}$$
(7.44)

where the modulation gain  \(\rho (t,x)\) is any function satisfying

$$\begin{aligned} \rho (t,x) > \frac{|g_{1}(x)| \, \bar{\delta } \, |{\mathscr {K}}(x)| + | b_{1}(x) | |\varDelta (x)| + \eta _{0}}{(1- \bar{\delta })} \end{aligned}$$
(7.45)

where \(\bar{\delta } = \max \{ |\delta _{\min }|, |\delta _{\max }| \} < 1\) and \(\eta _{0}\) is small positive scalar. Note: here \(\bar{\delta }\) will be used as an user defined parameter employed to select the level of tolerance to the error in estimation of the effectiveness gains that the controller can tolerate.

Proposition 7.2

The control law given in (7.32), with the allocation matrix in (7.33), and the nonlinear injection term from (7.44) to (7.45), maintains a sliding motion provided \(\bar{\delta }<1\) and \(w_2(t)\ne 0\).

Proof

Substituting from (7.44) into (7.41) yields

$$\begin{aligned} \dot{\sigma }(t) = -\rho (t,x) (1+ \hat{\delta }(t)) \text{ sign }\left( \sigma (t) \right) + g_{1}(x)\hat{\delta }(t){\mathscr {K}}(x) + b_{1}(x) \varDelta (x) \end{aligned}$$
(7.46)

To show that sliding is maintained, consider a positive definite candidate Lyapunov function

$$\begin{aligned} V(t)= & {} \frac{1}{2} \sigma ^{2}(t) \end{aligned}$$
(7.47)

It follows from (7.46) to (7.47) that

$$\begin{aligned} \dot{V}(t) = -\rho (t,x) (1+\hat{\delta }(t)) | \sigma (t) | + \sigma (t) g_{1}(x)\hat{\delta }(t){\mathscr {K}}(x) + \sigma (t) b_{1}(x) \varDelta (x) \end{aligned}$$
(7.48)

Since

$$\begin{aligned} |\hat{\delta }(t)|< \bar{\delta } < 1 \end{aligned}$$
(7.49)

using (7.49) and (7.45), Eq. (7.48) becomes

$$\begin{aligned} \dot{V}(t)\le & {} |\sigma (t)| \left( -\rho (t,x) (1-|\hat{\delta }(t)|) + |g_{1}(x)| \, |\hat{\delta }(t)| \, |{\mathscr {K}}(x)| + |b_{1}(x)| \, |\varDelta (x)| \right) \nonumber \\\le & {} |\sigma (t)| \left( -\rho (t,x) (1-\bar{\delta }) + |g_{1}(x)| \, \bar{\delta } \, |{\mathscr {K}}(x)| + |b_{1}(x)| \, |\varDelta (x)| \right) \nonumber \\\le & {} -\eta _{0} | \sigma (t) | = -\eta _{0} \sqrt{2V(t)} \end{aligned}$$
(7.50)

This is sufficient to show that the ‘reachability condition’ is satisfied and sliding is maintained.    \(\blacksquare \)

The final control signal u(t) which is supplied to all the available control surfaces  (primary and secondary ) is given by substituting (7.44) into (7.32) to yield

$$\begin{aligned} u(t)= \underbrace{\left[ \begin{array}{c} 1 \\ \frac{1- \hat{w}_{1}(t)}{ \hat{w}_{2}(t) g_{2}^{s}(x)} \\ \end{array} \right] }_{N(x)} \underbrace{\left( {\mathscr {K}}(x) - \rho (t,x) g_{1}(x)^{-1} \text{ sign }\left( \sigma (t) \right) \right) }_{\nu _{n}(t)} \end{aligned}$$
(7.51)

Remark 7.7

Note that (7.51) requires the estimates of actuator efficiency  \(\hat{w}_{1}(t)\) and \(\hat{w}_{2}(t)\), but does not require knowledge of \(\delta _1, \delta _2\) or \(\varDelta (x)\). The errors \(\delta _1, \delta _2\) are only used in conjunction with \(\hat{\delta }\) to prove sliding is maintained.

7.3 Simulations

7.3.1 RECOVER Benchmark Model

All the simulations that follow are based on the RECOVER model at a trim altitude of 2000 m, a mass of 263 tonnes, c.g. at 25 % MAC, a speed of 92.6 m/s and flap settings of \(20\,{\deg }\). The modulation gain  \(\rho (t,x)\) can be chosen based on worst case estimates of \(|g_1(x)|\) and \(|b_1(x)|\) in (7.45), obtained from graphs similar to those presented in Fig. 7.1, together with bounds on \(\varDelta (t)\) in (7.9) using worst case bounds/estimates of the drag and lift coefficients \(C_D\) and \(C_L\), together with the aerodynamic coefficients related to \(\dot{\alpha }\). A possible structure for the modulation gain to satisfy (7.45) is

$$\begin{aligned} \rho (t,x)= \rho _2 | {\mathscr {K}}(x) | + \rho _1 \Vert x \Vert + \rho _0 \end{aligned}$$
(7.52)

where the \(\rho _i\) are positive constants. Here the gain from (7.44) has been simply chosen as \(\rho =0.65\). This is very easy to implement and is shown to work well in simulation. This is in fact an aggressive choice for \(\rho (t,x)\) because the nonlinear term in (7.44) can contribute a signal in the range \(\left[ \begin{array}{cc} -0.65 &{} 0.65 \\ \end{array} \right] \) rad, to the value of the overall virtual control signal because of the signum term. The units of the control signal are radiansFootnote 4 and so this range represents a significant portion of the available/allowable control signal variation.

Remark 7.8

Although the term \(\varDelta (x)\) from (7.9) has been excluded from the design process, it appears in the high fidelity full nonlinear model used for simulation. As discussed in Sect. 7.2.3, this will appear as matched uncertainty which will be suppressed by the sliding mode.

Remark 7.9

Note that an estimate of W(t) from (7.15) can be obtained from any FDI scheme of choice. In large passenger aircraft , it is common to measure the actual control surface deflection for monitoring purposes. Consequently, in this chapter, it is assumed that W(t) is estimated by comparing the measured control surface deflection and the command from the flight control system.Footnote 5 In particular since any mismatch resulting from errors in the estimate of W(t) used in the controller appears as matched uncertainty , the controller is able to compensate.

7.3.2 Outer-Loop Control

In order to maintain \(V_{tas}\) at a setpoint during the simulations, a PD based auto-throttle has been implemented as a separate loop. The corresponding proportional and derivative gains have been chosen as \(K_{p_{Vtas}}=1\) and \(K_{d_{Vtas}}=0.5\). An outer-loop altitude control loop is also implemented as shown in Fig. 7.2, to provide a flight path reference signal to the inner-loop sliding mode-backstepping controller. This is based on a PID structure with gains \(K_{p_{he}}=0.001\), \(K_{i_{he}}=4\times 10^{-5}\) and \(K_{d_{he}}=0.02\). Finally an Instrument Landing System (ILS) glide slope intercept and tracking facility is also included to create an automatic landing mode for the aircraft. This takes the form of a simple scalar feedback loop with proportional gain \(K_{P_{GS}}=7\).

Fig. 7.2
figure 2

Controller interconnection

In this chapter, since only the longitudinal axis is considered, the Instrument Landing System (ILS) switches between an altitude/FPA command and glide slopeFootnote 6 (GS) tracking (as shown in Fig. 7.2). Specifically it changes the outer-loop control from being pilot commanded (i.e. altitude demand tracking), to an automated landing mode using the GS signal. When the aircraft is inside the GS coverage zone, the GS controller will become active and provides the inner-loop FPA command to the core longitudinal ISM controller, and no pilot input is required. This configuration can be found in all current large commercial aircraft in service (although the specific details of the outer-loop and inner-loop controller may differFootnote 7).

7.3.3 Results

The fault/failure cases and manoeuvres that are considered here are associated with the GARTEUR FM-AG16 benchmark scenarios: specifically concerning the elevator. The simulation begins at a low speed and a low altitude (92.6 m/s and 2000 m). The aircraft starts to descend to 900 m at 50 s and maintains altitude to intercept the ILS glide slope signal. Once the glide slope is intercepted, the aircraft descends at a commanded flight path angle of \(-3\,{\deg }\) towards the runway. The flare (the last manoeuvre before touchdown) is not implemented in RECOVER and therefore the aircraft altitude is held at 50 m above the runway. For consistency and for comparison, the actuator failures are set to occur at 100 s.

For the simulations which follow, the gains in the backstepping control law have been chosen as \(\kappa _{1}=1\), \(\kappa _{2}=0.6\) and \(\kappa _{3}=3\). The control law (7.51) requires the estimates of actuator efficiency  \(\hat{w}_{1}(t)\) and \(\hat{w}_{2}(t)\) which can be provided by a FDI scheme , or, more specifically by a fault estimation scheme. In this chapter, it will be assumed that a measurement of the actual actuator deflection is available.

Fig. 7.3
figure 3

Fault-free performances. a States. b Altitude and ILS glide slope deviation. c Control surface deflections. d Switching function \(\sigma (t)\)

Fig. 7.4
figure 4

Elevator loss of effectiveness performances. a States. b Altitude and ILS slope deviation. c Control surface deflections. d Switching function \(\sigma (t)\) and actuator effectiveness W(t)

Fig. 7.5
figure 5

Elevator float performances. a States. b Altitude and ILS slope deviation. c Control surface deflections. d Switching function \(\sigma (t)\) and actuator effectiveness W(t)

7.3.3.1 Fault-Free

Figure 7.3a shows good flight path tracking while the outer-loop PID controller maintains tight control of speed. Figure 7.3b shows good altitude and glide slope tracking performance . Figure 7.3b shows the first demanded change of altitude to 900 m at 50 s. The second change in altitude is due to the tracking of the ILS glide slope—which is activated when the aircraft is within the range and altitude of the ILS signal. This activation is shown in Fig. 7.3b as a boolean signal; where 1 indicates GS capture. Once the ILS glide slope is activated at 448 s, the outer-loop ILS controller provides a flight path command (of about \(-3\,{\deg }\) in Fig. 7.3a) and forces the glide slope deviation error to zero as shown in Fig. 7.3b. Figure 7.3d shows that since there are no faults present, there is no control signal command to the stabiliser as shown in Fig. 7.3c.

7.3.3.2 Elevator Loss of Effectiveness

Figure 7.4 shows the results when a fault occurs which renders the elevator only 50 % effective. The same manoeuvre as in the previous fault-free test is considered. The fault is set to occur at 100 s. Figure 7.4a, b show no degradation of flight path angle, altitude and glide slope tracking in comparison to the fault-free case. Figure 7.4d confirms the decrease in the elevator effectiveness to 50 %. Figure 7.4d also shows that sliding is still maintained despite the uncertainty and the faults in the system. Figure 7.4c shows the effect of loss of effectiveness on elevator deflection. Now, the stabiliser has become active as the control signal is partially redistributed to compensate for the reduction of elevator effectiveness.

7.3.3.3 Elevator Float

Figure 7.5 shows the effect of an elevator float failure in which the control surface is unable to produce any moment, and moves freely in the direction of the airflow. This can occur due to the loss of hydraulics for example. Once the failure occurs at 100 s, as shown in Fig. 7.5c, the surface deflection becomes equal to the angle of attack of the aircraft as shown in Fig. 7.5a. After the failure, the stabiliser becomes active and tries to compensate for the failed elevator. Figure 7.5a, b show that no degradation in the flight path angle, altitude and glide slope tracking performance occurs despite the failure of the primary control surface . Finally Fig. 7.5d shows the actuator effectiveness level and also shows no degradation in the sliding mode performance.

Fig. 7.6
figure 6

Elevator float performances—imperfect \(\widehat{W}(t)\). a States. b Altitude and ILS slope deviation. c Control surface deflections. d Switching function \(\sigma (t)\) and actuator effectiveness W(t)

Fig. 7.7
figure 7

Elevator lock in place performances. a States. b Altitude and ILS slope deviation. c Control surface deflections. d Switching function \(\sigma (t)\) and actuator effectiveness W(t)

7.3.3.4 Elevator Float–Imperfect \(\widehat{W}(t)\)

Figure 7.6 shows a comparison between the fault-free and the case when the elevator suffers a float failure with imperfect estimation of the actuator effectiveness level  \(\widehat{W}(t)\). A float failure corresponds to the control surface ‘floating’ about its zero moment position, thus becoming ineffective. In the simulation, an elevator float is simulated by replacing the control signal by the angle of attack of the aircraft. In terms of Eq. (7.18), this can be modelled as

$$\begin{aligned} u_{1}^e(t)=0+\alpha (t) \end{aligned}$$
(7.53)

which in terms of (7.18) equates to \(w_1(t)=0\) and \(\xi (t)=\alpha (t)\). As a consequence the effective control signal \(u_{1}^e(t)\) is completely disconnected from the command signal \(u_1(t)\) generated by the control law. Figure 7.6a, b show that no degradation in the flight path angle, altitude and glide slope tracking performance occurs (all lines overlap) compared to the fault-free case, despite the failure of the primary control surface and imperfect estimation of the actuator effectiveness level  \(\widehat{W}(t)\). Figure 7.6b shows an altitude change command of 900 m at 50 s. A further altitude change to initiate tracking of the ILS glide slope is activated when the aircraft is within range of the ILS signal. Figure 7.6b shows the glide-slope-capture boolean signal equals 1 to indicate GS capture. Once the ILS glide slope is activated at 448 s, the outer-loop ILS controller provides the flight path command (of about \(-3\,{\deg }\) in Fig. 7.6a) forcing the glide slope deviation error to zero (Fig. 7.6b). Figure 7.6c indicates the effect of an elevator float failure in which the control surface is unable to produce any pitching moment, and moves freely in the direction of the airflow. This can occur due to the loss of hydraulics for example. Once the failure occurs at 100 s, as shown in Fig. 7.6c, the surface deflection becomes equal to the angle of attack of the aircraft as shown in Fig. 7.6a. After the failure, the stabiliser becomes active and tries to compensate for the failed elevator. The effect of imperfect estimation can be seen in Fig. 7.6d, where even though the elevator has totally failed, the elevator effectiveness estimation \(\hat{w}_1(t)\) wrongly shows 50 % effectiveness. Note that in the fault-free case \(w_1(t)=w_2(t)=1\), but for simplicity, the lines are not labelled in Fig. 7.6d. Finally, Fig. 7.6d also shows no visible degradation in the sliding mode performance when compared to the fault-free case.

7.3.3.5 Elevator Lock in Place

Figure 7.7 shows the results of an elevator jammed in a non-trim position at 100 s. The non-trim jam position creates an extra moment which needs to be compensated for. As before, Fig. 7.7a, b show no visible degradation of flight path angle, altitude or glide slope tracking. Figure 7.7c shows that once the elevator jams at 100 s, the stabiliser becomes active as the control signal is reallocated.

7.3.3.6 Elevator Lock in Place—Imperfect \(\widehat{W}(t)\)

Figure 7.8 shows the comparison between fault-free and the case when an elevator jams at a non-trim position (at 100 s), and in the presence of imperfect actuator effectiveness estimation \(\widehat{W}(t)\). The non-trim jam position creates an extra moment which needs to be compensated for. Note that the elevator jam is represented by

$$\begin{aligned} u_1^e(t)=0+u_{1}(t_f) \end{aligned}$$
(7.54)

which in terms of (7.18) is associated with \(w_1(t)=0\) for all \(t \ge t_f\) and \(\xi (t)=u_{1}(t_f)\), where \(t_f\) is the time when the elevator failure occurs. Again this means for all \(t \ge t_f\) the effective control signal \(u_1^e(t)\) is decoupled from the command \(u_1(t)\) determined by the control law. Figure 7.8c shows that once the elevator jams at 100 s, the stabiliser becomes active as the control signal is reallocated. The effect of the imperfect estimation can be seen in Fig. 7.8d. Here, although the elevator has totally failed due to the lock in place failure, the elevator effectiveness estimation \(\hat{w}_1(t)\) wrongly shows 50 % effectiveness. Again, as in Fig. 7.6, despite the elevator jamming at a non-trim position, and imperfect estimation associated with \(\hat{w}_1(t)\), Fig. 7.6a, b show no degradation in terms of all the tracking performance measures, compared to the fault-free case.

7.3.3.7 Elevator Float : Backstepping control only—Imperfect \(\widehat{W}(t)\)

Figure 7.9 shows a comparison between the fault-free case and when the elevator floats, using only the baseline backstepping controller, in the presence of imperfect actuator effectiveness estimation \(\widehat{W}(t)\). The same control allocation scheme as in Figs. 7.6, 7.7 and 7.8 has been considered to redistribute the control signal to the stabiliser. In comparison to the fault-free condition, Fig. 7.9a shows that the unmodelled term \(\varDelta (x)\) from (7.9) causes imperfect tracking of the flight path angle. When compared with the fault-free condition, Fig. 7.9b shows a small difference in terms of altitude tracking as the imperfect flight path angle tracking has been compensated by the outer-loop altitude control. Whereas in Fig. 7.6a, b, the effect of the elevator failure and uncertainty has been totally compensated by the sliding mode, thus maintaining the same tracking performance as in the fault-free case.

Fig. 7.8
figure 8

Elevator lock in place performances—imperfect \(\widehat{W}(t)\). a States. b Altitude and ILS slope deviation. c Control surface deflections. d Switching function \(\sigma (t)\) and actuator effectiveness W(t)

Fig. 7.9
figure 9

Backstepping control only: elevator float performances—imperfect \(\widehat{W}(t)\). a States. b Altitude and ILS slope deviation. c Control surface deflections. d Actuator effectiveness W(t)

7.4 Summary

This chapter has presented a nonlinear fault tolerant scheme for longitudinal aircraft control. The scheme is designed directly from the nonlinear longitudinal equations of motion and incorporates an integral sliding mode control allocation scheme together with a baseline backstepping control law for flight path angle tracking. In fault-free conditions only the primary control surface  (the elevator) is used. However, when faults/failures occur, the integral sliding mode control allocation scheme is able to automatically provide robustness , and the control signals are redistributed to the redundant secondary control surface  (the horizontal stabiliser). The control law has been tested on the RECOVER benchmark model . The simulations show that even in the presence of unmodelled dynamics (which have not been considered during the design process) excellent results are obtained for both nominal fault-free and fault/failure scenarios. Although the scheme in this chapter is described specifically in terms of the longitudinal equations of motion of an aircraft, in principle, the underlying methodology can be applied to other systems controlled by a backstepping structure, provided redundancy in the controls exists.

7.5 Notes and References

A number of authors have applied sliding mode techniques to the design of flight control laws: see for example [912]. However many of these papers do not consider fault tolerant control aspects and focus instead on the robustness properties introduced by the sliding modes. Some notable exceptions are [13, 14]; however these schemes (including [14]) can only deal with partial actuator faults and cannot cope with the problem of total actuator failure. Recent work on aircraft FTC using sliding modes (for example [6, 15, 16]) used a passive type of FTC control where the same controller is used for both the nominal fault-free case and in the event of faults/failures occurring. Despite the potential of these controllers, they are still based on linearisations of the plant dynamics about a specific operating condition [16, 17]. The combination of the backstepping ISM structure with control allocation presented in this chapter, allows the same controller to be used in both nominal fault-free and faulty situations, and distinguishes the ideas in this chapter from existing backstepping based SMC/ISM schemes for nonlinear systems (see for example [1820]). Note that the choice of allocation matrix in Sect. 7.2.2 is different compared to the one in [16, 17], and takes into account the structure of the aircraft equations of motion considered in this chapter. For further details about the backstepping controller described in Sect. 7.2.1, see [1, 21]. Compared with the existing schemes designed from linear models, the underlying nonlinear backstepping controller has guaranteed levels of stability and performance for a wide range of flight conditions. Furthermore, the backstepping design from [1, 21] has a simple structure and does not require exact knowledge of the aircraft dynamics (e.g. the coefficient of forces and moments). Some of the aerodynamic arguments used to justify the simplifications in the nonlinear equations of motion described in Sect. 7.1.1 are taken from [2].