1 Introduction

Despite significant strides made in the past decades, aircraft safety still remains an important issue. As a result, researchers have developed guidance, navigation, and control technology to make aircraft more dependable. Civil aircraft are generally more susceptible to failures and faults. Loss of control (LoC) is especially a dominant factor in aircraft accidents over the past two decades [1]. Therefore, fault-tolerant control (FTC) is essential for the aircraft system to cope with emergency situations. Aircraft faults may originate from sensors, actuators, and structural damage.

A statistical method for detecting abrupt faults in aircraft systems was proposed by Samara et al. [2]. Sercekman et al. [3] presented an observer-based fault detection method with low complexity and computational load. Yoon et al. [4] suggested a hybrid fault detection and isolation scheme whereby skew-configured inertial sensors. A fault-tolerant control scheme based on self-constructing fuzzy neural networks and sliding mode control under actuator faults was presented by Yu et al. [5]. Reconfigurable methods such as adaptive sliding mode control [6] and direct adaptive method [7] have also been proposed to compensate for actuator fault problem. Ahmadi et al. [8] proposed active fault-tolerant control with a nonlinear disturbance observer to cope with the actuator fault. To overcome fault situations, redundant hardware design, which uses the same functional product in parallel to keep the system stable, is applied to the sensor and actuator system. However, structural damage faults are unpredictable and cannot be used in the redundant design approach because of the limited volume and weight of the aircraft. In addition, most literature about FTC for aircraft has been studied to handle only the sensor and actuator faults [9]. Therefore, we focus on the FTC for aircraft with structural damage to recover stable flight.

Structural damage can manifest as a tail tip or wing loss, and these faults can alter the aerodynamic characteristics that affect flight stability and performance. When control surfaces such as ailerons, rudder, and elevator are damaged, it can change the effectiveness of control inputs. To study the effects of aerodynamics of aircraft with structural damage, wind tunnel tests [10, 11] and computational fluid dynamics (CFD) [12, 13] have been conducted. Moreover, structural damage can also affect mass properties such as mass, moment of inertia (MoI) and center of gravity (CoG), and these abrupt changes in mass properties can negatively impact the flight control performance of a model-based controller. To maintain nominal flight behavior, it is essential for an aircraft to have a novel controller that can compensate for various uncertainties that include not only aerodynamic effects but also changes in mass properties due to structural damage.

In the literature, various nonlinear control methods have been proposed to compensate for uncertainties due to aircraft damage. Sliding Mode Control (SMC) has been widely used to compensate for uncertainty and external disturbance using the discontinuous control signal. SMC design in the frequency domain is applied by Ronald [14] to aircraft with airframe and actuator faults. Wang et al. [15] proposed the SMC for longitudinal control of Boeing 747 with partial wing loss. Recently, to enhance robustness, an adaptive law is applied to SMC so that the upper bound of uncertainty and disturbance is not required in advance. Zhao et al. [16] proposed Adaptive Sliding Mode Control (ASMC) to maintain flight performance under vertical tail damage. Nonlinear robust adaptive control using ASMC was suggested for an airplane with left-wing damage implementing the state predictor to enhance robustness [17]. Asadi et al. [18] investigated a dual-timescale autopilot for a wing-damaged aircraft applying a nonlinear adaptive sliding mode controller. However, both SMC and ASMC suffer from chattering, which is a common challenge in SMC applications [19].

Researchers have proposed a disturbance observer-based controller that estimates uncertain model parameters using observers. He et al. [20] introduced a nonlinear disturbance observer-based reconfigurable nonlinear dynamic inversion controller for attitude control of a structurally damaged aircraft to satisfy a control performance. Zuo et al. [21] suggested a nonlinear extended state observer based on nonlinear dynamic inversion for a generic transport model with asymmetric structural damage. The sliding mode disturbance observer-based (SMDO) adaptive dynamic inversion designed by Dong et al. [22] combines a real-time aerodynamic model identification method with recursive least square. Yang et al. [23] proposed bi-bandwidth extended state observer to achieve fast disturbance tracking and satisfactory noise suppression. However, most disturbance observer controller research fails to provide guidance on appropriately choosing the observer gain, which determines the response of the disturbance error dynamics [24]. Furthermore, observer-based methods may be sensitive to the selection of Q-filter and observer gains [25].

Adaptive Control (AC) has also been widely used to improve the handling quality and tracking performance of damaged aircraft. Ahmadi et al. [26] presented the \(\mathcal {L}_{1}\) adaptive control architecture to stabilize and control an aircraft with wing and vertical tail damage. A novel virtual-command-based model reference adaptive control (VC-MRAC) scheme for abrupt structurally damaged aircraft was proposed by Zhang [27] to enhance the transient response. Stepanyan et al. [28] recommended a modified model reference adaptive control for damaged aircraft to improve the transient response. Nguyen et al. [29] developed a neural network-based hybrid direct–indirect adaptive control for damaged aircraft to compensate the modeling error and uncertainty. Kim et al. [30] investigated an experimental test for implementing adaptive neural network controller to an aircraft experiencing partial wing loss. However, parametric adaptive control needs the uncertainty structure and non-parametric adaptive control with radial basis function is sensitive to the operation domain.

Faults due to structural damage are highly complex and nonlinear uncertainties that are difficult to predict in advance. Furthermore, these faults can occur abruptly, which means that high feedback and update gains can lead to unstable behavior. In the present work, we propose a data-driven FTC approach that only requires input and output data sets to compensate for uncertainties that arise due to aircraft damage.

Kim et al. [31] presented a Gaussian process-based disturbance compensation to estimate the unknown disturbance term and compensate for the disturbance online. Lee et al. [32] proposed Gaussian process-based feedback linearization control for a tilt-rotor UAV that experiences abrupt aerodynamic forces and moments. Ignatyev et al. [33] proposed a sparse online Gaussian process adaptive augmentation for incremental backstepping flight control to solve the control problem in the face of multiple control surface failures and unmodeled actuator effects. A modified Gaussian process regression-based adaptive control was presented by Cen et al. [34] to estimate the aerodynamic moment and external disturbance. Chowdhary et al. [35] proposed a Gaussian process model reference adaptive control to guarantee good closed-loop performance with minimal prior domain knowledge of uncertainty through stochastic stability. Knutsen [36] suggested a sparse online Gaussian process model reference adaptive control to estimate the model error between the nominal model of the quadrotor and the observed dynamics.

Fig. 1
figure 1

Left-wing-damaged generic transport model

In this paper, we present a model for a left-wing-damaged aircraft and propose a Gaussian process-based nonlinear dynamic inversion (GP-NDI) to ensure stable and accurate flight performance under nominal and damage-induced fault conditions. The paper makes the following contributions:

First, we introduce a novel data-driven fault-tolerant control method that employs Gaussian Process Regression (GPR) to enhance the angular rate tracking performance. Unlike robust and adaptive control approaches, GP-NDI can handle uncertainty without requiring a predetermined structure or magnitude of uncertainty. To the best of our knowledge, this is the first application of a nonlinear dynamic inversion controller augmented with a SOGPR for an aircraft with structural damage.

Second, our proposed method incorporates SOGPR, a recursive calculation of the mean and variance of uncertainty. This approach reduces computational time and memory requirements, making it suitable for practical applications in aircraft. The calculated variance is used to formulate a robust control input that compensates for the error in the estimated uncertainty. To quickly compensate for the structural fault, a time-variant weight is implemented to give a high weight to the latest data in the SOGPR.

Third, we prove the uniform ultimate boundedness of the closed-loop system using Lyapunov theory.

The remaining sections of the paper are organized as follows: First, we illustrate a model for an aircraft with structural damage that incorporates variations of mass, MoI, CoG and aerodynamic coefficients. Second, we propose a GP-NDI controller that estimates the uncertainties using SOGPR. Moreover, a robust control input is designed based on a prescribed confidence interval through the SOGPR. Finally, we compare a numerical simulation results of the proposed method with MRAC and NDO to analyze a tracking performance and robustness.

2 Modeling of Aircraft with Structural Damage

In this section, we formulate the mathematical model of twin-engine commercial transport airplane called GTM [37]. When an aircraft is damaged, the change of mass, MoI, CoG and aerodynamic coefficients change. Especially, the variation of CoG creates an offset between the assumed CoG point and the shifted point. This requires a dynamic mathematical model that considers the offset of CoG and the assumed point. According to reference [29], we derive the nonlinear model of an aircraft with structural damage.

2.1 Kinematics of an Aircraft with Structural Damage

The inertial frame \(\left\{ I\right\} \) should be located on the ground. The x-axis points north, the y-axis points east, and the z-axis pointing to center of the earth. The body-fixed frame \(\left\{ B\right\} \) is located at the geometric center of the aircraft. The x-axis of the aircraft body-fixed frame points the nose of the aircraft, the y-axis points to the right wing and z-axis points to the bottom of the aircraft, as shown in Fig. 1. The following variables are used to represent the kinematics and dynamics of the aircraft. \({\varvec{\eta }} = \left[ x, y, z \right] ^\textrm{T}\) and \({\varvec{\Omega }} = \left[ \phi , \theta , \psi \right] ^\textrm{T}\) represent the position and Euler angles measured in the \(\left\{ I\right\} \) frame, \( {\varvec{\varsigma }} = \left[ u, v, w \right] ^\textrm{T}\) and \( {\varvec{\omega }} = \left[ p, q, r \right] ^\textrm{T}\) represent the velocity vector and angular rate, both defined in the \(\left\{ B\right\} \) frame. To derive aircraft kinematics, a rotation matrix that transforms any vector expressed in the inertial frame to the body-fixed frame is derived. For simplicity, the following notations are used: \(\sin (x) \rightarrow {s_x}\mathrm{{ }},\,\, \cos (x) \rightarrow {c_x}\mathrm{{ }},\,\, \tan (x) \rightarrow {t_x}\mathrm{{ }}\).

$$\begin{aligned} \begin{aligned} {\varvec{R}_{I}^{B}}&= \left[ {\begin{array}{*{20}{c}} {{c_\psi }{c_\theta }}&{}{{c_\theta }{s_\psi }}&{}{ - {s_{\theta }}}\\ {{c_\psi }{s_\phi }{s_{ \theta }} - {c_\phi }{s_{ \psi }}}&{}{{c_\phi }{c_\psi } + {s_\phi }{s_{ \psi }}{s_{\theta }}}&{}{{c_\theta }{s_\phi }}\\ {{s_\phi }{s_\psi } + {c_\phi }{c_\psi }{s_{ \theta }}}&{}{{c_\phi }{s_\psi }{s_{ \theta }} - {c_{\psi }}{s_\phi }}&{}{{c_\phi }{c_\theta }} \end{array}} \right] .\\ \end{aligned} \end{aligned}$$
(1)

The velocity in the inertial frame and body-fixed frame have the following relationship:

$$\begin{aligned} \begin{aligned} \dot{\varvec{\eta }} = {\varvec{R}_{B}^{I}} \mathrm{{ }}\,\varvec{\varsigma } . \end{aligned} \end{aligned}$$
(2)

The time derivative of Euler angle in the inertial frame and angular rate measured in body-fixed frame satisfy the following relationship:

$$\begin{aligned} \begin{aligned} \dot{\varvec{\Omega }}&= \varvec{S}(\varvec{\Omega })\,\varvec{\omega }, \end{aligned} \end{aligned}$$
(3)

where

$$\begin{aligned} \begin{aligned} \varvec{S}(\varvec{\Omega })&= \left[ {\begin{array}{*{20}{c}} 1&{}{{{\mathop \textrm{s}\nolimits } _\phi }{t_\theta }}&{}{{{\mathop \textrm{c}\nolimits } _\phi }{t_\theta }}\\ 0&{}{{{\mathop \textrm{c}\nolimits } _\phi }}&{}{ - {{\mathop \textrm{s}\nolimits } _\phi }}\\ 0&{}{\frac{{{{\mathop \textrm{s}\nolimits } _\phi }}}{{{{\mathop \textrm{c}\nolimits } _\theta }}}}&{}{\frac{{{{\mathop \textrm{c}\nolimits } _\phi }}}{{{{\mathop \textrm{c}\nolimits } _\theta }}}} \end{array}} \right] . \end{aligned} \end{aligned}$$
(4)

2.2 Dynamics of an Aircraft with Structural Damage

Before deriving the dynamics of the aircraft with structural damage, the total mass \(m_t\) and MoI \(\varvec{I_t}\) should be defined. These quantities are reduced due to loss of structural part.

$$\begin{aligned} \begin{aligned}&m_t = m + \Delta m,\\&\varvec{I_t} = \varvec{I} + \Delta \varvec{I}, \end{aligned} \end{aligned}$$
(5)

where m and \(\varvec{I}\) are the original mass and MoI and \(\Delta m\) and \(\Delta \varvec{I}\) are the corresponding changes due to loss of structure.

To consider the CoG effect, the vector from actual CoG to the origin of the body-fixed frame is expressed as \(\varvec{r}_{G} = [ x_{G},y_{G},z_{G} ].\) \(\varvec{r}_{c}\) is vector from inertial frame origin to the actual CoG that is defined as the sum of a \(\varvec{r}_{b}\), vector from the inertial frame origin to the body-fixed frame origin, and \(\varvec{r}_{G}\)

$$\begin{aligned} \begin{aligned} {\varvec{r}_c}&= {\varvec{r}_b} + {\varvec{r}_G}. \end{aligned} \end{aligned}$$
(6)

Using the linear momentum equation, the translation dynamic model is obtained such that

$$\begin{aligned} \begin{aligned} \varvec{F}&= m_t\left( {\dot{\varvec{\nu }}_b + \dot{\varvec{\omega }} \times \varvec{r}_G + \varvec{\omega } \times \dot{\varvec{r}}_G } + \varvec{\omega } \times {\varvec{\nu }_b} +\left. \varvec{\omega } \times (\varvec{\omega } \times \varvec{r}_G) \right) \right. \\&\quad + {{\dot{m}}_t}\left( {{\varvec{\nu }_b} + \varvec{\omega } \times {\varvec{r}_G}} \right) - \varvec{W}. \end{aligned} \end{aligned}$$
(7)

where \(\varvec{\nu }_b\) is the time derivative of \(\varvec{r}_b\) that represents a velocity value and \(\varvec{W} = mg \left[ -s_\theta ,c_\theta s_\phi ,c_\theta c_\phi \right] ^\text {T}\) is the gravitational force vector.

Through the angular momentum equation, the rotational dynamic model is derived as follows:

$$\begin{aligned} \begin{aligned} {\varvec{M}}&= \dot{\varvec{I}}_{t} \varvec{\omega }+ {\varvec{I}}_{t} \dot{\varvec{\omega }} + {{\dot{m}}_t} \varvec{r}_{G} \times {\varvec{\nu }_b} + m_{t} \dot{\varvec{r}}_{G} \times {\varvec{\nu }_b} + m_t \varvec{r}_{G} \times \dot{\varvec{\nu }}_b \\&\quad + \varvec{\omega } \times ({\varvec{I}}_{t} \varvec{\omega }) + m_t \varvec{\omega } \times ({\varvec{r}}_G \times {\varvec{\nu }_b} ) + m_t {\varvec{\nu }}_b \times (\varvec{\omega } \times {\varvec{r}}_{G}) - {\varvec{r}}_{G} \times \varvec{W} \\ \end{aligned} \end{aligned}$$
(8)

where \({\varvec{F}} = \left[ F_{x},F_{y},F_{z}\right] ^T\) and \({{\varvec{M}}} = \left[ M_{x},M_{y},M_{z}\right] ^T\) are force and moment exerted at the body-fixed frame.

Using the assumption: \(\ddot{\varvec{r}}_G, \dot{\varvec{r}}_G, \dot{m}_t,\) are assumed to zero because the mass, MoI, and CoG are time-invariant after a fault situation. Equations 7 and 8 can be expanded into the following equations:

$$\begin{aligned}{} & {} \begin{aligned}&F_x = {m_t}[\dot{u} + wq - vr - {x_{G}}({q^2} + {r^2}) + {y_{G}}(pq - \dot{r}) + {z_{G}}(pr + \dot{q}) + g s_{\theta }],\\&F_y = {m_t}[\dot{v} + ur - wp + {x_{G}}(pq + \dot{r}) - {y_{G}}({p^2} + {r^2}) + {z_{G}}(qr - \dot{p}) - g s_{\phi }c_{\theta }],\\&F_z = {m_t}[\dot{w} + vp - uq + {x_{G}}(pr - \dot{q}) + {y_{G}}(qr + \dot{p}) - {z_{G}}({p^2} + {q^2}) - g c_{\phi }c_{\theta } ].\\ \end{aligned}\nonumber \\ \end{aligned}$$
(9)
$$\begin{aligned}{} & {} \begin{aligned}&M_x = I_{t,xx}\dot{p} - I_{t,xy}\dot{q} - I_{t,xz}\dot{r} + I_{t,xy} pr + (I_{t,zz} - I_{t,yy})qr + I_{t,yz}(r^2 - q^2)\\&\quad - I_{t,xz}pq + m_t y_{G}(\dot{w} - uq + vp - g c_{\phi } c_{\theta }) - m_t {z_{G}}(\dot{v} - wp + ur - g s_{\phi } c_{\theta }),\\&M_y = -I_{t,xy}\dot{p} + I_{t,yy}\dot{q} - I_{t,yz}\dot{r} - I_{t,xy} qr + (I_{t,xx} - I_{t,zz})pr + I_{t,yz}pq \\&\quad + I_{t,xz}(p^2 - r^2) - m_t x_{G}(\dot{w} - uq + vp - g c_{\phi } c_{\theta }) + m_t {z_{G}}(\dot{u} - vr + wq + g s_{\theta }),\\&M_z = -I_{t,xz}\dot{p} - I_{t,yz}\dot{q} + I_{t,zz}\dot{r} + I_{t,xz} qr + (I_{t,yy} - I_{t,xx})pq + I_{t,xy}(q^2 - p^2)\\&\quad - I_{t,yz}pr + m_t x_{G}(\dot{v} - wp + ur - g s_{\phi } c_{\theta } ) - m_t {y_{G}}(\dot{u} - vr + wq + g s_{\theta } ).\\ \end{aligned} \end{aligned}$$
(10)
Fig. 2
figure 2

Change in mass as a function of level of damage to the left-wing

2.3 Mass and Aerodynamic Model of an Aircraft with Structural Damage

To construct the simulator, we need accurate aircraft damage parameters. The GTM model is a 5.5-scale notional twin-engine transport class aircraft developed by NASA. To understand dynamic characteristic after damage occurs, the analysis of the variation of mass, MoI, CoG and aerodynamic coefficients has been performed by several researchers. In this paper, we use mass properties such as mass, MoI, and CoG in reference [38] to represent the left-wing damage effect. The changes in mass, MoI, and CoG with respect to left-wing losses are illustrated in Figs. 2, 3 and 4. The change in mass decreases linearly as the percentage of left-wing loss increases in Fig. 2. As the mass decreases, the moment of inertia also decreases according to the percentage of left-wing loss, and the center of gravity also increases on the xy,  and z axes because the loss of wings occurs on the left side in Figs. 2, 3 and 4. In this paper, the nonlinear second-order aerodynamic model is used to represent the effect of aircraft damage on aerodynamics in Eq. 11. The aerodynamic coefficient is obtained by linear interpolation from a model of an aircraft with a \(33 \%\) wing damage [12]. The change in aerodynamic coefficients for different levels of left-wing losses with respect to the angle of attack is illustrated in Figs. 5 and 6. The aerodynamic moment coefficient \(C_n\) reduces as the percentage of left-wing loss increases in Fig. 5. The aerodynamic moment coefficient \(C_m\) increases due to left-wing loss in Fig. 6 because the effectiveness of the aileron is reduced as the percentage of left-wing loss increases.

Fig. 3
figure 3

Change in MoI as a function of level of damage to the left-wing

Fig. 4
figure 4

Change in CoG as a function of level of damage to the left-wing

Fig. 5
figure 5

Aerodynamic coefficient of damaged aircraft change graph

Fig. 6
figure 6

Aerodynamic coefficient of damaged aircraft change graph

Fig. 7
figure 7

Structure of Gaussian process regression-based nonlinear dynamic inversion control

$$\begin{aligned} \begin{aligned} C_m&= C_{m_0} + C_{m_\alpha }\alpha + C_{m_{\alpha ^2}}\alpha ^2 + C_{m_\beta }\beta + C_{m_{\beta ^2}}\beta ^2 \\&\,\,\,\,\,\,+ C_{m_{{p}}} \bar{p} + C_{m_{{p^2}}}{\bar{p}}^2 +C_{m_{{q}} } \bar{q} +C_{m_{{q}^2}}{\bar{q}}^2 + C_{m_{{r}}}\bar{r}\\&\,\,\,\,\,\, +C_{m_{{r}^2}}{\bar{r}}^2 + C_{m_{\delta _{a}}}\delta _{a}+ C_{m_{\delta _{e}}}\delta _{e}+ C_{m_{\delta _{r}}}\delta _{r}.\\ \end{aligned} \end{aligned}$$
(11)

where \(\bar{p} = \frac{bp}{2V_T}, \bar{q} = \frac{cq}{2V_T}\) and \(\bar{r} = \frac{br}{2V_T}\) are normalized angular rates, respectively.

Unlike nominal operation, wing loss results in a reduction in lift and an asymmetric aerodynamic distribution. These effects make that the aileron makes an unwanted pitch moment that should be compensated to obtain stable flight. And new aerodynamic coefficients such as \(C_{l_{q}},C_{m_{p}},C_{m_{r}},C_{n_{q}}\) are used to represent the damaged effect.

The total velocity, angle of attack, and sideslip angle are obtained as:

$$\begin{aligned} \begin{aligned} {V_T} = \sqrt{{u^2} + {v^2} + {w^2}} ,\mathrm{{ }}\alpha \mathrm{{ = ta}}{\mathrm{{n}}^{ - 1}}\left( {\frac{w}{u}} \right) ,\mathrm{{ }}\beta \mathrm{{ = ta}}{\mathrm{{n}}^{ - 1}}\left( {\frac{v}{{{V^\textrm{T}}}}} \right) . \end{aligned} \end{aligned}$$
(12)

The aerodynamic force and moment exerted on the body-fixed frame is defined as follows:

$$\begin{aligned} \begin{aligned} \begin{aligned} \begin{array}{l} {{\mathbf {F_a}}_{}} = \left[ {\begin{array}{*{20}{c}} {{c_\alpha }{c_\beta }}&{}{-{c_\alpha s_\beta }}&{}{ - {s_{\alpha }}}\\ {{s_\beta }}&{}{{c_\beta }}&{}{0}\\ {s_\alpha c_\beta }&{}{-s_\alpha c_\beta }&{}{{c_\alpha }} \end{array}} \right] \left[ {\begin{array}{*{20}{c}}{-\frac{1}{2}\rho {V_T}^2S{C_D}} \\ {\frac{1}{2}\rho {V_T}^2S{C_Y}} \\ {-\frac{1}{2}\rho {V_T}^2S{C_L}} \\ \end{array}} \right] , \\ \\ {\mathbf{{M_a}}} = \left[ {\begin{array}{*{20}{c}} {\frac{1}{2}\rho {V_T}^2S b{C_l}} \\ {\frac{1}{2}\rho {V_T}^2S c{C_m}} \\ {\frac{1}{2}\rho {V_T}^2S b{C_n}} \\ \end{array}} \right] , \\ \\ \end{array} \end{aligned} \end{aligned} \end{aligned}$$
(13)

where \(\rho \) is the air density, S is the wing area, b is the span of the GTM, and c is the main wing length at the aerodynamic center.

3 Nonlinear Dynamic Inversion Control

The Nonlinear Dynamic Inversion (NDI) approach is used as the baseline controller to track the desired command. Using nonlinear dynamic inversion, we can use the linear control design method and compensate for highly coupled nonlinear terms. This advantage compensates the trim term in various operating conditions with respect to altitudes and Mach number. The proposed controller consists of a baseline controller and a GPR controller to compensate for the uncertainties caused by structural damage. In the design process, we do not consider the uncertainty of the model parameter because the GPR will cancel this effect. To estimate the uncertainty, we collect and store data in a replay buffer. The structure of GP-NDI, is composed of an NDI, GPR and data budget and is shown in Fig. 7.

The rate controller has an input of angular rate commands, \({p_c},{q_c},{r_c}\), and an output of desired moments, \(M_{x},M_{y},M_{z}\). When structural damage occurs, the mass and MoI that constitute the control matrix change so that this effect needs to be compensated for to guarantee the stable flight. In the next section, the GPR controller is used for this problem. Usually, second-order system models are used as the desired angular rate model to reject model uncertainties or disturbances, which sometimes can cause instability because the phase margin is overly reduced if an appropriate gain is not used [33]. Hence, first-order system models are used for the rate controllers designed in this work.

$$\begin{aligned} \begin{aligned} \frac{p}{{{p_c}}}&= \frac{1}{{{\tau _p}s + 1}} \rightarrow \dot{p} = \frac{1}{{{\tau _p}}}({p_c} - p),\\ \frac{q}{{{q_c}}}&= \frac{1}{{{\tau _q}s + 1}} \rightarrow \dot{q} = \frac{1}{{{\tau _q}}}({q_c} - q),\\ \frac{r}{{{r_c}}}&= \frac{1}{{{\tau _r}s + 1}} \rightarrow \dot{r} = \frac{1}{{{\tau _r}}}({r_c} - r), \end{aligned} \end{aligned}$$
(14)

where \(\tau _{p},\tau _{q},\tau _{r}\) are time-constants of angular rate.

If structural damage does not occur in the aircraft, the aerodynamic moments are defined as:

$$\begin{aligned} \begin{aligned} \left[ {\begin{array}{*{20}{c}} {{C_l}} \\ {{C_m}} \\ {{C_n}} \\ \end{array}} \right]&= \left[ {\begin{array}{*{20}{c}} {{C_{l_0}} + {C_{l_{\beta } }}\beta + {C_{l_{{p}}}}\bar{p} + {C_{l_{{r}}}}\bar{r}} \\ {{C_{m_0}} + {C_{m_\alpha }}\alpha + {C_{m_{{q}}}}{\bar{q}}} \\ {{C_{n_0}} + {C_{n_\beta }}\beta + {C_{n_{{p}}}}{\bar{p}} + {C_{n_{{r}}}}{\bar{r}}} \\ \end{array}} \right] \\&\quad + \left[ {\begin{array}{*{20}{c}} {{C_{l_{\delta _a}}}} &{} 0 &{} {{C_{l_{\delta _r}}}} \\ 0 &{} {{C_{m_{\delta _e}}}} &{} 0 \\ {{C_{n_{\delta _a}}}} &{} 0 &{} {{C_{n_{\delta _r}}}} \\ \end{array}} \right] \left[ {\begin{array}{*{20}{c}} {{\delta _a}} \\ {{\delta _e}} \\ {{\delta _r}} \\ \end{array}} \right] . \end{aligned} \end{aligned}$$
(15)

The desired control surface, \({\delta _p},{\delta _q},{\delta _r}\),are obtained based on Eqs. 14 and 15. The off-diagonal inertia tensor, CoG, asymmetric aerodynamic terms are neglected when designing the baseline controller. And, this effect will be compensated by the GPR.

$$\begin{aligned} \begin{aligned} \left[ {\begin{array}{*{20}{c}}{{\delta _a}} \\ {{\delta _e}} \\ {{\delta _r}} \\ \end{array}} \right]&= \left[ {\begin{array}{*{20}{c}}{{bC_{l_{\delta _a}}}} &{} 0 &{} {{bC_{l_{\delta _r}}}} \\ 0 &{} {{cC_{m_{\delta _e}}}} &{} 0 \\ {{bC_{n_{\delta _a}}}} &{} 0 &{} {{bC_{n_{\delta _r}}}} \\ \end{array}} \right] ^{-1}\\ {}&\Bigg \{ \frac{1}{\bar{q}S} \Bigg ( \left[ {\begin{array}{*{20}{c}}I_{t,xx} &{} 0 &{} -I_{t,xz} \\ 0 &{} I_{t,yy} &{} 0 \\ -I_{t,zx} &{} 0 &{} I_{t,zz} \\ \end{array}} \right] \left[ {\begin{array}{*{20}{c}}{\frac{1}{{{\tau _p}}}({p_d} - p)} \\ {\frac{1}{{{\tau _q}}}({q_d} - q)} \\ {\frac{1}{{{\tau _r}}}({p_r} - r)} \\ \end{array}} \right] \\ \\ {}&- \left[ {\begin{array}{*{20}{c}}{(pq) I_{t,zx} + qr(I_{t,yy} - I_{t,zz})} \\ {(r^2-p^2)I_{t,xz} + pr(I_{t,zz}-I_{t,xx})} \\ {- (qr)I_{t,xz} + pq(I_{t,xx}-I_{t,yy})} \\ \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} {{l _T}} \\ {{m _T}} \\ {{n _T}} \\ \end{array}} \right] \Bigg )\\&- \left[ {\begin{array}{*{20}{c}} {{C_{l_0}} + {C_{l_{\beta } }}\beta + {C_{l_{{p}}}}\bar{p} + {C_{l_{{r}}}}\bar{r}} \\ {{C_{m_0}} + {C_{m_\alpha }}\alpha + {C_{m_{{q}}}}{\bar{q}}} \\ {{C_{n_0}} + {C_{n_\beta }}\beta + {C_{n_{{p}}}}{\bar{p}} + {C_{n_{{r}}}}{\bar{r}}} \\ \end{array}} \right] \Bigg \},\\ \end{aligned} \end{aligned}$$
(16)

where \(\bar{q} = \frac{1}{2}\rho {V_T}^2 \) is the dynamic pressure and \(l_T, m_T, n_T\) are the moment by the thruster.

4 Gaussian Process Regression-Based Nonlinear Dynamic Inversion Control

A Gaussian Process (GP) is a collection of random variables, any finite number of which has a joint Gaussian distribution [39]. The GPR is used to approximate a nonlinear mapping from the input datasets to output datasets. Through the GPR method, the uncertainty caused by the structural fault that is complex and highly coupled nonlinear is derived from a Gaussian joint distribution relation between input data sets and output data sets that are collected during flight. Unlike parametric adaptive control approaches, GPR can estimate without the need for parametric basis function the uncertainty because GPR is a non-parametric method that does not need prior information about the uncertainty structure. GPR calculates the variance of the estimates so that we can guarantee the fidelity of the estimated uncertainties using the confidence region approach. we perform three independent GPR procedures to estimate the uncertainty in each axis. Hence, we can predict the upper bound of uncertainty using the mean and variance information provided by GPR, which can be effective in designing the fault-tolerant controller. Through the conditional joint distribution on the training data sets, mean and covariance of estimated uncertainty \(\hat{\Delta }\) are defined as follows:

$$\begin{aligned} \begin{aligned} \hat{\Delta }&= GP(m(z), k\left( {z,z'} \right) ),\\ \end{aligned} \end{aligned}$$
(17)

where

$$\begin{aligned} \begin{aligned} \begin{aligned}&m(z) = E\left[ {\Delta (z)} \right] , \\ {}&k\left( {z,z'} \right) = E\left[ {\left( {\Delta (z) - m(z)} \right) \left( {\Delta (z') - m(z')} \right) } \right] , \\ \end{aligned} \end{aligned} \end{aligned}$$
(18)

where \(z,z'\) are different input data, m(z) is the mean function and \(k(z,z')\) is the covariance function.

Before prediction, we need enough learning data \(D_N = \{{Z_{n}, Y_{n}}\}^{N}_n\) including the input data set \(Z \in \mathbb {R}^{\,n \times k}\) and output data set \(Y \in \mathbb {R}^{\,m \times k}\). There is an observed output \(y(z_i) = m(z_i) + \omega _n\), where a noise \(\omega _n \sim N(0,\sigma _n ^2)\). And, subscripts t denote time step. The Euler angles, normalized angular rate, angle of attack, sideslip angle, and control input are defined as input dataset because they are directly related to the uncertainty from structural fault. Therefore, the input data can be obtained as follows:

$$\begin{aligned}{} & {} \begin{aligned}{}&{} \begin{aligned} z_{l,t+1} = \left[ {\begin{array}{*{20}{c}} \bar{p}, \bar{q}, \bar{r}, \alpha , \alpha ^2, \beta , \beta ^2, \delta _a, \delta _e, \delta _r \end{array}} \right] ^\text {T},\\ z_{m,t+1} = \left[ {\begin{array}{*{20}{c}} \bar{p}, \bar{q}, \bar{r}, \alpha , \alpha ^2, \beta , \beta ^2, \delta _a, \delta _e, \delta _r \end{array}} \right] ^\text {T},\\ z_{n,t+1} = \left[ {\begin{array}{*{20}{c}} \bar{p}, \bar{q}, \bar{r}, \alpha , \alpha ^2, \beta , \beta ^2, \delta _a, \delta _e, \delta _r \end{array}} \right] ^\text {T},\\ \end{aligned} \end{aligned} \end{aligned}$$
(19)
$$\begin{aligned}{} & {} \begin{aligned} \textbf{Z}_{l,t}&= \left[ {\begin{array}{*{20}{c}} z_{l,1} \,\, z_{l,2} \,\, \ldots \,\, z_{l,k-1}\,\, z_{l,k} \end{array}} \right] ,\\ \textbf{Z}_{m,t}&= \left[ {\begin{array}{*{20}{c}} z_{m,1} \,\, z_{m,2}\,\, \ldots \,\, z_{m,k-1} \,\, z_{m,k} \end{array}} \right] ,\\ \textbf{Z}_{n,t}&= \left[ {\begin{array}{*{20}{c}} z_{n,1} \,\,z_{n,2} \,\, \ldots \,\, z_{n,k-1} \,\, z_{n,k} \end{array}} \right] .\\ \end{aligned} \end{aligned}$$
(20)

The true uncertainty \(\Delta \) is obtained as Eq. 21. And, subscripts lmn denote the roll, pitch, and yaw axis. Since time derivative of angular rate is not available in onboard sensors, these values are obtained from the fixed-point smoother method as the following references [34, 35].

$$\begin{aligned} \begin{aligned} \begin{aligned} \left[ {\begin{array}{*{20}{c}} {{\hat{\Delta }_l}} \\ {{\hat{\Delta }_m}} \\ {{\hat{\Delta }_n}} \\ \end{array}} \right]&= \left[ {\begin{array}{*{20}{c}} I_{xx} &{} 0 &{} -I_{xz} \\ 0 &{} I_{yy} &{} 0 \\ -I_{zx} &{} 0 &{} I_{zz} \\ \end{array}} \right] \left[ {\begin{array}{*{20}{c}} {\dot{p}} \\ {\dot{q}} \\ {\dot{r}} \\ \end{array}} \right] -\left[ {\begin{array}{*{20}{c}} {\frac{1}{2}\rho {V_T}^2S b{C_l}} \\ {\frac{1}{2}\rho {V_T}^2S c{C_m}} \\ {\frac{1}{2}\rho {V_T}^2S b{C_n}} \\ \end{array}} \right] \\ {}&- \left[ {\begin{array}{*{20}{c}} {(pq) I_{t,zx} + qr(I_{t,yy} - I_{t,zz})} \\ {(r^2-p^2)I_{t,xz} + pr(I_{t,zz}-I_{t,xx})} \\ {- (qr)I_{t,xz} + pq(I_{t,xx}-I_{t,yy})} \\ \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} {{l _T}} \\ {{m _T}} \\ {{n _T}} \\ \end{array}} \right] .\end{aligned} \end{aligned} \end{aligned}$$
(21)

Then, the output datasets can also be obtained:

$$\begin{aligned} \begin{aligned} \textbf{Y}_{l,t}&= \left[ {\begin{array}{*{20}{c}} \hat{\Delta }_{l,1}, \hat{\Delta }_{l,2}, \ldots , \hat{\Delta }_{l,k-1}, \hat{\Delta }_{l,k} \end{array}} \right] ^\textrm{T},\\ \textbf{Y}_{m,t}&= \left[ {\begin{array}{*{20}{c}} \hat{\Delta }_{m,1}, \hat{\Delta }_{m,2}, \ldots , \hat{\Delta }_{m,k-1}, \hat{\Delta }_{m,k} \end{array}} \right] ^\textrm{T},\\ \textbf{Y}_{n,t}&= \left[ {\begin{array}{*{20}{c}} \hat{\Delta }_{n,1}, \hat{\Delta }_{n,2}, \ldots , \hat{\Delta }_{n,k-1}, \hat{\Delta }_{n,k} \end{array}} \right] ^\textrm{T}.\\ \end{aligned} \end{aligned}$$
(22)

The uncertainty can be expressed GP with finite data sets. Selecting the mean function and kernel function is essential because these can effect the nonlinear mapping performance. In this research, we use the zero mean function and squared exponential covariance function.

$$\begin{aligned} \begin{aligned} \left[ {\begin{array}{*{20}{c}} {{\Delta _{t}}}\\ {{\Delta _{t+1}}}\\ \end{array}} \right] \sim N\left( {0,\left[ {\begin{array}{*{20}{c}} {k({\textbf{Z}_{t}},{\textbf{Z}_{t}}) + {\sigma _n}^2\textbf{I}} &{} {k({z_{t+1}},{\textbf{Z}_{t}})} \\ {k({\textbf{Z}_{t}},{z_{t+1}})} &{} {k({z_{t+1}},{z_{t+1}})} \\ \end{array}} \right] } \right) , \end{aligned} \end{aligned}$$
(23)

where

$$\begin{aligned} \begin{aligned} k(z,z') = {\sigma _f}\exp \left( { - {{\frac{{\left\| {z - z'} \right\| }}{{2{\ell ^2}}}}^2}} \right) , \end{aligned} \end{aligned}$$
(24)

\(\sigma _f\) is the signal standard deviation and \(\ell \) is the diagonal length scale matrix.

Then, the uncertainty of mean and variance at new input data is given as

$$\begin{aligned} \begin{aligned} m_{t}&= k(z_{t+1},\textbf{Z}_t)k{(\textbf{Z}_t,\textbf{Z}_t)^{ - 1}}\textbf{Y}_t, \\ \Sigma _{t}&= k(z_{t+1},z_{t+1}) - k(z_{t+1},\textbf{Z}_t)k{(\textbf{Z}_t,\textbf{Z}_t)^{ - 1}}k(\textbf{Z}_t,z_{t+1}). \\ \end{aligned} \end{aligned}$$
(25)

The GP inference introduced above is designed for batch data with all data points. This algorithm includes the calculation of an inverse matrix that has complexity \(O(n^3)\). Therefore, using the GP inference online becomes infeasible except for the very small batch size. Also, the control algorithm requires a low computation time to maintain the control frequency \(200 \sim 500 Hz\). There exist several methods to reduce the computational complexity in GPR [40, 41]. Especially, Csató and Opper [42] propose the Sparse Online Gaussian Process (SOGP) using a recursive update and sparse budget approach. The sparse budget presents that new data carefully enter the restricted set of selected elements, called the basis vector set, which is denoted by \(\mathcal{B}\mathcal{V}\). Unlike other alternative GP methods, SOGP use themselves as representing observation data and carefully choose the basis vector set to enhance the richness of datasets.

The uncertainty of mean and variance using SOGP is represented as:

$$\begin{aligned} \begin{aligned} m_{t}&= \varvec{\alpha }_t ^T k(z_{t+1},\textbf{Z}_{t}), \\ \Sigma _{t}&= k(z_{t+1},z_{t+1}) - k(z_{t+1},\textbf{Z}_{t})k{(\textbf{Z}_{t},\textbf{Z}_{t})^{-1}}k(\textbf{Z}_{t},z_{t+1}). \\ \end{aligned} \end{aligned}$$
(26)

To update the iteratively learned SOGP parameters such as \(\mathbf {\alpha }_{\mathbf {t+1}}\) and \(\mathbf {C_{t+1}}\), a recursive update can be performed through the following equations:

$$\begin{aligned} \begin{aligned} \varvec{{\alpha }}_{t+1}=&T_{t+1}\left( \varvec{{\alpha }}_t \right) + q_{t+1} \textbf{s}_{s+1},\\ \textbf{C}_{t+1}=&U_{t+1}\left( \textbf{C}_t \right) +r_{t+1} \textbf{s}_{s+1}\textbf{s}_{s+1}^T ,\\ \textbf{s}_{t+1}=&T_{t+1}\left( \textbf{C}_t {\textbf {k}}_{t+1} \right) +e_{t+1},\\ e_{t+1} =&\textbf{Q}_t {\textbf {k}}_{t+1},\\ \textbf{Q}_t =&\textbf{K}_{\textbf{Z}_t} ^{-1},\\ \end{aligned} \end{aligned}$$
(27)

where \({\textbf {k}}_{t+1} = {\textbf {k}}_{z_{t+1}}\) and \(\textbf{K}_{\textbf{Z}_t} = k(\textbf{Z}_t, \textbf{Z}_t)\), \(T_{t+1}(\cdot )\) is an operator that extends a vector with dimension of the \({(t \times 1)}\) to a dimension of \({(t+1 \times 1)}\) by adding a zeros at the end of the vector. \(U_{t+1}(\cdot )\) is an operators that increases the size of a matrix \({(t \times t)}\) to \({(t+1 \times t+1)}\) matrix by appending the zeros at the last low and column.

When new data \(\textbf{z}_{t+1}\) is measured at time \(t+1\), SOGP obtains \(q^{t+1}\) and \( r^{t+1}\) scalar variables as follows:

$$\begin{aligned} \begin{aligned} q_{t+1} =&\left( y_{t+1} - \varvec{\alpha }_t^\textrm{T}\textbf{k}_z \right) /\sigma _x ^2 ,\\ r_{t+1} =&-1/\sigma _x ^2 ,\\ \end{aligned} \end{aligned}$$
(28)

where \(\textbf{k}_z = k(z_{t+1},\textbf{Z}_{t})\) and \(\sigma _x^2=\sigma _n^2+k({z}_{t+1},\textbf{Z}_t)\textbf{C}_{t}k({z}_{t+1},\textbf{Z}_t)+k({z}_{t+1},{z}_{t+1})\). The linear independence test is used to determine whether the new sample data is suitable for the budget of basis vector set. The linear independence test is as follows:

$$\begin{aligned} \begin{aligned} \gamma _{t+1}=\displaystyle \min _{ \alpha _i}\left\| \sum _{i=1}^{t} \alpha _i k(\cdot ,z_i ) - k(\cdot ,z_{t+1} ) \right\| ^2_{\mathcal {H}}, \end{aligned} \end{aligned}$$
(29)

where and \(\mathcal {H}\) represents the reproducing kernel Hilbert space norm.

The above equation leads to the following expression for \(\gamma _{t+1}\)

$$\begin{aligned} \gamma _{t+1} = k({z}_{t+1},{z}_{t+1})-k({z}_{t+1},\textbf{Z}_{t})^\textrm{T}\varvec{\alpha }_t. \end{aligned}$$
(30)

When \(\gamma _{t+1} > \beta _{tol}\) with user-defined threshold \(\beta _{tol}\), the new data enter the \(\mathcal{B}\mathcal{V}\) and delete one basis vector.

$$\begin{aligned} \begin{aligned} \varvec{\alpha }_{t+1} = \begin{bmatrix} \varvec{\alpha }^l_t \\ {\alpha }^r \end{bmatrix}, \textbf{C}_{t+1} = \begin{bmatrix} \textbf{C}^l_t &{} \textbf{c}^r \\ \textbf{c}^{rT} &{} {c}^r \\ \end{bmatrix}, \textbf{Q}_{t+1} = \begin{bmatrix} \textbf{Q}^l_t &{} \textbf{q}^r \\ \textbf{q}^{rT} &{} {q}^r \\ \end{bmatrix}, \end{aligned} \end{aligned}$$
(31)

where \(\varvec{\alpha }^l_t\) has \((t \times 1)\) sub-vector from \(\varvec{\alpha }_{t+1}\), \(\textbf{C}^l_t\) and \(\textbf{Q}^l_t\) are \((t \times t)\) sub-matrices from \(\textbf{C}_{t+1}\) and \(\textbf{Q}_{t+1}\).

Equation 31 shows a deletion of the last sample for simplicity. We follow a similar procedure if we wish to delete another sample. The deleting basis vector process is formulated as follows:

$$\begin{aligned} \begin{aligned} \hat{\varvec{\alpha }}=&\varvec{\alpha }_t^{l}+\alpha ^r\frac{\textbf{q}^r}{q^r},\\ \hat{\textbf{C}}=&\textbf{C}_t^l+c^r\frac{\textbf{q}^r\textbf{q}^{rT}}{{q^r}^2} - \frac{1}{q^{r}}\left( \textbf{q}^r\textbf{c}^{rT} + \textbf{c}^{r}\textbf{q}^{rT} \right) ,\\ \hat{\textbf{Q}}=&\textbf{Q}_t^l - \frac{\textbf{q}^{r}\textbf{q}^{rT}}{q^{r}},\\ \end{aligned} \end{aligned}$$
(32)

where \(\hat{\varvec{\alpha }}, \hat{\textbf{C}}, \hat{\textbf{Q}}\) are the parameters after deleting last basis vector.

When the number of bases in \(\mathcal{B}\mathcal{V}\) exceeds the budget size \(N_{\mathcal{B}\mathcal{V}}\), one basis vector will be deleted to maintain the basis vectors enhancing the prediction performance. Generally, there are two main methods for removing basis vectors. The first method involves adding new data and removing the oldest data. The second method aims to improve the richness of the basis vectors by measuring scores and removing data with low scores. The score proposed in this method called a delete score is given by:

$$\begin{aligned} \begin{aligned} \varepsilon _i = \frac{\left| \varvec{\alpha }_{t+1}(i)\right| }{\textbf{Q}_{t+1}(i,i)}. \end{aligned} \end{aligned}$$
(33)

However, \(\varepsilon _i\) is based on the Kullback–Leibler divergence between the current GP and the GPs with the deleted basis vectors. Therefore, when the system is time-varying, this deleting method is not appropriate. Therefore, an enhanced delete score [43] is used to consider the time information using a time-variant weight in the delete score.

$$\begin{aligned} \begin{aligned} \bar{\varepsilon }_i = exp\left( -\frac{t-t_i}{2h}\right) \varepsilon _i. \end{aligned} \end{aligned}$$
(34)

The probabilistic upper bound of error is obtained to consider the possible error by a robust control input [44].

$$\begin{aligned} \begin{aligned} \beta = \sqrt{\big (2B + 300\gamma _{n+1} log^3(\frac{n+1}{\delta })\big )} \end{aligned} \end{aligned}$$
(35)

then,

$$\begin{aligned} \begin{aligned} \Pr = \left\{ {\left| {\mu (z) - \Delta _{i}} \right| \le \beta \sigma (z),\mathrm{{ }}\forall z \in \tilde{Z}} \right\} \ge 1 - \delta , \end{aligned} \end{aligned}$$
(36)

where \(B = \left\{ \Delta \right\} _{i}\) is the bounded reproducing kernel Hilbert space norm on a closed set D, \(\tilde{Z} \subset R^{n}\), \(\delta \in (0,1)\), and \(\chi _{n+1}\) is the maximum mutual information given by

$$\begin{aligned} \chi _{n+1} =\underset{ \left\{ z_1,...z_{n+1}\right\} \in D}{\text {max}}log\left( {det}\left( I_{t+1 \times t+1}+\frac{{\textbf {k}}_{t+1}}{\bar{\sigma }_n^2} \right) \right) , \end{aligned}$$
(37)

where \(\bar{\sigma }_n\) is the upper bound of noise w.

The robust control input \(u_{rob}\) can compensate for the error of GPR estimation based on the upper bound information. We can construct a robust term similar to the sliding mode control approach.

$$\begin{aligned} \begin{aligned} \varvec{u_{rob}}= - \varvec{\beta } \varvec{\mathop \textrm{sgn} (e) }. \end{aligned} \end{aligned}$$
(38)

To avoid the chattering phenomenon, we design a thin boundary layer neighboring the sliding surface using the saturation function.

$$\begin{aligned}{} & {} \varvec{{u_{rob}}} = -\varvec{\beta } \varvec{sat(e/ \phi _{bl})} \end{aligned}$$
(39)
$$\begin{aligned}{} & {} \text {sat}\left( \frac{x}{\phi _{bl}}\right) = {\left\{ \begin{array}{ll} \frac{x}{\phi _{bl}} &{} \text {if } \left| \frac{x}{\phi _{bl}} \right| \le 1 \\ \text {sgn}\left( \frac{x}{\phi _{bl}}\right) &{} \text {if } \left| \frac{x}{\phi _{bl}} \right| > 1, \end{array}\right. } \end{aligned}$$
(40)

where \(\phi _{bl}\) is the boundary layer around the sliding surface.

To prove stability, we formulate the nonlinear equation:

$$\begin{aligned} \begin{aligned} \varvec{\dot{x}} = \varvec{f(x)} + \varvec{g(x)u}. \end{aligned} \end{aligned}$$
(41)

where \(\varvec{x} = [p,q,r]^\textrm{T} \)is the angular rates, \(\varvec{x_{d}} = [p_d,q_d,r_d]^\textrm{T} \) is the angular rates and \(\varvec{u} = [\delta _a,\delta _e,\delta _r]^\textrm{T}\).

Therefore, the proposed structure of control input, which consists of virtual control inputs \(\varvec{\nu }_{(\cdot )}\) is defined as follows:

$$\begin{aligned} \begin{aligned} \varvec{u = \hat{g}(x)^{-1} \nu }, \end{aligned} \end{aligned}$$
(42)

where

$$\begin{aligned} \begin{aligned} \varvec{\nu }&= \varvec{\dot{x}_{d} + v_{pd} + v_{ad} + v_{rob}} \\&= \varvec{\dot{x}_{d} + A(x_{d} - x) - \hat{\Delta }} - \beta \varvec{sat(e/ \phi _{bl})}, \end{aligned} \end{aligned}$$
(43)

where A is the inverse time constant of angular rate matrix.

Applying Eqs. 41 and 42,

$$\begin{aligned} \begin{aligned} \varvec{\dot{x}}&= \varvec{{f}(x)} + \varvec{g(x)\hat{g}(x)^{-1}{(\nu - \hat{f}(x))}}\\&= \varvec{f(x)} - \hat{\varvec{{f}}}(x) + \varvec{(g(x)-\hat{g}(x))\hat{g}(x)^{-1}} \\&\quad \times \varvec{(\nu - \hat{f}(x)) + \nu - \hat{f}} \\&= \varvec{f(x)} - \hat{\varvec{{f}}}(x) + \varvec{(g(x)-\hat{g}(x))u + \nu } \\&= \varvec{\Delta + \nu }. \end{aligned} \end{aligned}$$
(44)

To follow the desired command, we define the tracking error as follows:

$$\begin{aligned} \begin{aligned} \varvec{ e}&= \varvec{x_{d} - x}. \end{aligned} \end{aligned}$$
(45)

Using Eqs. 43 and 44, error dynamics is defined as

$$\begin{aligned} \begin{aligned} \varvec{\dot{e}}&= \varvec{Ae + (\Delta - \hat{\Delta }} - \varvec{\beta }\varvec{sat(e/ \phi _{bl}) )} \\&= \varvec{Ae + (\varvec{\epsilon }} -\varvec{\beta }\varvec{sat(e/ \phi _{bl}) )}, \end{aligned} \end{aligned}$$
(46)

where \(\varvec{\epsilon }\) is residual between the true uncertainty and the estimated uncertainty by GPR.

Then, let us define an Lyapunov candidate function as follows:

$$\begin{aligned} \begin{aligned} V(\varvec{e}) = {\varvec{e}^\textrm{T}}{\varvec{P}}\varvec{e}, \end{aligned} \end{aligned}$$
(47)

where \(\varvec{{P=P^\textrm{T}}}\) is positive definite matrix by obtained using the algebraic Ricatti equation \(\varvec{{PA + A^\textrm{T}P = -Q}}\).

The time derivative of the Lyapunov candidate function becomes as:

$$\begin{aligned} \begin{aligned} \dot{V}(\varvec{e})&= {\varvec{e}^\textrm{T}}({\varvec{P}}{\varvec{A}} + {\varvec{A}}^\textrm{T}{\varvec{P}})\varvec{e} + 2{\varvec{e}^\textrm{T}}{\varvec{P}} (\varvec{\epsilon } - \varvec{\beta } \varvec{sat(e/ \phi _{bl})}. \end{aligned} \end{aligned}$$
(48)

Hence, \(\dot{V}(\varvec{e}) \le -{\varvec{e}^\textrm{T}}(Q)\varvec{e}\), if

$$\begin{aligned} \begin{aligned} \beta _i > \epsilon _i. \end{aligned} \end{aligned}$$
(49)

The time derivative of the Lyapunov candidate function then becomes negative semi-definite with a probability \((1-\delta )^3\).

5 Simulation Results

In this section, simulation studies are discussed to show the advantages of the proposed GP-NDI under several damage scenarios. The simulations are performed using MATLAB software. In this paper, the GTM model is used as the damaged aircraft model to validate the proposed control method, which is a 5.5% scale model with a twin-engine commercial transport airplane developed by NASA. The proposed controller is compared with an MRAC and NDO to verify the stabilizing and tracking performance during structural damage situations [20, 26].

5.1 Damage Cases

In Case 1, a configuration with \(30 \%\) left-wing damage is induced on the GTM model at \(t = 15\) s and the controller tries to recover the entire angular rate to zero. In Case 2, a configuration with \(30 \%\) left-wing damage is induced on the aircraft model at \(t = 15\) s and the controller attempts to track the desired pitch rate doublet command and stabilize the roll and yaw rates. In Case 3, the controller attempts to track the desired roll, pitch and yaw rate doublet command in the GTM model with \(30 \%\) left-wing damage. The simulation results for each case are compared with two other control methods: MRAC and NDO. Using the angular rate tracking error, GP-NDI is capable of compensating for the sudden left-wing damage effect and provides better angular rate stabilizing and tracking performance.

5.2 Flight Condition and Initial Parameters

The initial conditions of total speed and altitude are 50 m/s and 100 m, respectively. Also, \(\varvec{\Omega } = \left[ 0, 0, 0 \right] ^\textrm{T}\) and \(\varvec{\omega } = \left[ 0, 0, 0 \right] ^\textrm{T}\). The actuator model of GTM that is applied to the control surface is assumed to be a second-order system with a natural frequency and damping ratio. Also, the saturation limit of actuator and rate limit are defined as [30 deg, − 30 deg] and [90 deg/s, − 90 deg/s], respectively. The engine model is assumed to be a second-order system with natural frequency and damping ratio are 50 rad/s and 0.707, respectively. The total speed controller is also considered in the simulation [45]. The control parameters used in this paper are also listed in Table 1. Table 2 represents the maximum magnitude of Euclidean norm of the sensor noise.

Table 1 Controller parameters
Table 2 Norm of sensor noise
Fig. 8
figure 8

Angular rate response using MRAC, NDO and GP-NDI in Case 1

Fig. 9
figure 9

True uncertainties and estimated uncertainties using GP-NDI in Case 1

Fig. 10
figure 10

True uncertainties and estimated uncertainties using NDO in Case 1

Fig. 11
figure 11

True uncertainties and estimated uncertainties using MRAC in Case 1

Fig. 12
figure 12

Control surface deflections using GP-NDI in Case 1

Fig. 13
figure 13

Control surface deflections using NDO in Case 1

Fig. 14
figure 14

Control surface deflections using MRAC in Case 1

Fig. 15
figure 15

Angular rate tracking errors using MRAC, NDO and GP-NDI in Case 1

Fig. 16
figure 16

Angular rate response using MRAC, NDO and GP-NDI in Case 2

Fig. 17
figure 17

True uncertainties and estimated uncertainties using GP-NDI in Case 2

Fig. 18
figure 18

True uncertainties and estimated uncertainties using NDO in Case 2

Fig. 19
figure 19

True uncertainties and estimated uncertainties using MRAC in Case 2

Fig. 20
figure 20

Control surface deflections using GP-NDI in Case 2

Fig. 21
figure 21

Control surface deflections using NDO in Case 2

Fig. 22
figure 22

Control surface deflections using MRAC in Case 2

Fig. 23
figure 23

Angular rate tracking errors using MRAC, NDO and GP-NDI in Case 2

5.3 Case 1: Stabilize Roll, Pitch and Yaw Rates

In Case 1, the controllers stabilize the roll, pitch and yaw rates under damage incident at \( t = 15\) s. Figure 8 illustrates the stabilizing performance of the angular rate of the aircraft when it experiences \(30 \%\) left-wing damage using the GP-NDI, MRAC and NDO. When an incident occurs, MRAC shows a slow settling time conveying a higher sensitivity to noise and NDO stabilizes the angular rate faster than MRAC but appears to have undergone significant degradation due to damage effects. However, the proposed GP-NDI shows better stabilizing performance by quickly compensating for the uncertainty caused by the structural damage. These characteristics can be again checked through Figs. 9, 10 and 11 showing the true and estimated uncertainties. \(\Delta _L\), \(\Delta _M\) and \(\Delta _N\) present the uncertainty in the roll axis, uncertainty in the pitch axis, and uncertainty in the yaw axis, respectively. And, the true uncertainties are bounded in the confidence interval of GP in Fig. 9. Figures 12, 13 and 14 show the control surface deflections such as aileron, elevator and rudder using the proposed method as well as MRAC and NDO. At \(t = 15\) s, the aileron graph that shows greater change compared to other rudder or elevator illustrates that the left-wing damage induces the rolling moment by the asymmetric lift distribution. The control surface deflections of all methods do not exceed limitations of the actuators. And, through Fig. 15 and Table 3, GP-NDI yields a considerably smaller tracking error than MRAC and NDO.

Table 3 Angular rate tracking errors of GP-NDI, NDO and MRAC

5.4 Case 2: Pitch Rate Doublet Maneuver

In Case 2, the controllers track the doublet maneuver pitch rate and stabilize the roll and yaw rate under the same damage scenario. Figure 16 presents the angular rate response under the 30\(\%\) left-wing damage using the GP-NDI, MRAC and NDO.

Before damage occurs, NDO and GP-NDI show better tracking performance than MRAC. The results of NDO and MRAC exhibit an overshoot during the doublet maneuver at \(t = 22{-}23.5\) s unlike GP-NDI. Figure 17, 18 and 19 demonstrate the true and estimated uncertainties using GP-NDI, NDO and MRAC in Case 2. Through the graphs, GP-NDI accurately estimates the varying uncertainties caused by the pitch rate doublet maneuver, compared to other methods such as NDO and MRAC. Figure 20, 21 and 22 illustrate the control surface deflections during Case 2. And, Fig. 23 and Table 4 show the successful tracking performance of the proposed method.

5.5 Case 3: Roll, Pitch, Yaw Rates Doublet Maneuver

Table 4 Angular rate errors of GP-NDI, NDO and MRAC in Case2

In Case 3, the controllers track the roll, pitch and yaw rate doublet maneuver with different timing during the same damage scenario. The tracking performances of the GP-NDI, MRAC and NDO in this case are shown in Fig. 24. Prior to the occurrence of damage, NDO and MRAC are capable of correctly rejecting coupling effects. However, in \(t = 22{-}23.5\) s, NDO and MRAC have worse tracking performance than GP-NDI. The true and estimated uncertainties are shown in Figs. 25, 26 and 27. The control surface deflections of GP-NDI, NDO and MRAC are illustrated in Fig. 28, 29 and 30, respectively. As shown in Fig. 31 and Table 5, the suggested GP-NDI results in better angular rate tracking performance than NDO and MRAC. Through all three cases, it was confirmed that the proposed GP-NDI exhibits successful compensation for uncertainties, leading to superior tracking performance in the face of structural damage to an aircraft.

Fig. 24
figure 24

Angular rate response using MRAC, NDO and GP-NDI in Case 3

Fig. 25
figure 25

True uncertainties and estimated uncertainties using GP-NDI in Case 3

Fig. 26
figure 26

True uncertainties and estimated uncertainties using NDO in Case 3

Fig. 27
figure 27

True uncertainties and estimated uncertainties using MRAC in Case 3

Fig. 28
figure 28

Control surface deflections using GP-NDI in Case 3

Fig. 29
figure 29

Control surface deflections using NDO in Case 3

Fig. 30
figure 30

Control surface deflections using MRAC in Case 3

Fig. 31
figure 31

Angular rate tracking errors using MRAC, NDO and GP-NDI in Case 3

6 Conclusion

This paper proposed a data-driven fault-tolerant control for left-wing-damaged aircraft to compensate for uncertainties that arise from the variation of mass parameters and aerodynamic coefficients. The GTM model considering the variation of CoG, mass, MoI and aerodynamic coefficient is used to analyze the proposed controller. The GP-NDI controller is composed of a NDI as a baseline controller and a GPR controller, which compensates for the uncertainties from left-wing damage and an unmodeled actuator online. The proposed Gaussian process-based nonlinear dynamic inversion enhances angular rate tracking performance using a robust control input that can estimate the error of GPR prediction based on the probabilistic upper bound of error. And, the SOGP algorithm with the weighted delete score for the online estimation of the uncertainties shows the possibility of using data-driven methods in commercial aircraft autopilot for angular rate. In addition, the stability of GP-NDI is proved using the Lyapunov candidate function.

The simulation results are carried out by comparing the proposed method with NDO and MRAC to demonstrate the effectiveness of the proposed control method. The simulation results show that the proposed method is capable of compensating for sudden left-wing damage and also provides better angular rate stabilizing and tracking performance than NDO and MRAC.

Table 5 Angular rate errors of GP-NDI, NDO and MRAC in Case 3

Our future work will extend the attitude controller to angle of attack, sideslip, and yaw angle because structural damage also affects the aerodynamic forces. In addition, the proposed controller will be used to perform trajectory planning and tracking for safe landing in emergency situations. Verification of the robustness of GP-NDI through actual flight tests will also be considered using hardware-in-the-loop simulation.