Discrete-Time Fault-Tolerant Control for Quadrotor Drones Based on a Disturbance Observer: A Comprehensive Approach

The advent of advanced microprocessor technology has fundamentally transformed control system implementation, shifting paradigms from analog to predominantly digital platforms. This digital revolution necessitates control strategies that are inherently discrete in nature, as continuous-time control laws require approximation during digital implementation, potentially degrading performance and robustness. For complex dynamical systems like the quadrotor drone, whose agile flight and autonomous operation are paramount in both civilian and military applications, designing controllers directly in the discrete-time domain offers significant advantages. It facilitates seamless computer implementation and can yield superior performance by accurately accounting for the sampled-data nature of the system. However, the reliable operation of a quadrotor drone is perpetually threatened by real-world adversities, primarily external disturbances (e.g., wind gusts) and actuator faults (e.g., motor efficiency loss or control surface impairment). These factors can severely degrade tracking performance and even lead to catastrophic system instability. Therefore, developing a discrete-time control framework that explicitly addresses and tolerates these issues is a critical research endeavor. This article presents a comprehensive methodology for discrete-time fault-tolerant tracking control of a quadrotor drone, leveraging a novel discrete-time disturbance observer (DTDO) to actively estimate and compensate for the composite effects of external disturbances and actuator additive faults.

Mathematical Modeling of the Quadrotor Drone Dynamics

The foundation of any model-based control design is an accurate dynamical representation. We consider the attitude (orientation) dynamics of a quadrotor drone, which are derived from Newton-Euler equations. The rotational motion is governed by the following set of nonlinear differential equations:

$$
\begin{aligned}
I_{xx} \ddot{\phi} &= \dot{\theta} \dot{\psi} (I_{yy} – I_{zz}) + l U_1 \\
I_{yy} \ddot{\theta} &= \dot{\phi} \dot{\psi} (I_{zz} – I_{xx}) + l U_2 \\
I_{zz} \ddot{\psi} &= \dot{\phi} \dot{\theta} (I_{xx} – I_{yy}) + U_3
\end{aligned}
$$

Where \(\phi\), \(\theta\), and \(\psi\) represent the roll, pitch, and yaw angles, respectively. \(I_{xx}\), \(I_{yy}\), and \(I_{zz}\) are the moments of inertia about the body-frame axes. \(l\) is the distance from the center of mass to each motor. The control inputs \(U_1\), \(U_2\), and \(U_3\) are combinations of the thrust forces \(T_i\) generated by the four rotors: \(U_1 = T_4 – T_2\), \(U_2 = T_3 – T_1\), and \(U_3 = K_d (u_1 – u_2 + u_3 – u_4)\), where \(K_d\) is a drag coefficient and \(u_i\) are motor PWM signals.

To formulate a state-space model amenable to control design, we define the state vector. Furthermore, we incorporate the real-world effects of external disturbances \(d_{1j}, d_{2j}\) and additive actuator faults \(\mu_j\) into the model. The resulting continuous-time nonlinear model is:

$$
\begin{aligned}
\dot{x}_1 &= x_2 + d_{11}, \quad & \dot{x}_2 &= \alpha_1 x_4 x_6 + \beta_1 (U_1 + \mu_1) + d_{21} \\
\dot{x}_3 &= x_4 + d_{12}, \quad & \dot{x}_4 &= \alpha_2 x_2 x_6 + \beta_2 (U_2 + \mu_2) + d_{22} \\
\dot{x}_5 &= x_6 + d_{13}, \quad & \dot{x}_6 &= \alpha_3 x_2 x_4 + \beta_3 (U_3 + \mu_3) + d_{23}
\end{aligned}
$$

with \(x_1 = \phi, x_2 = \dot{\phi}, x_3 = \theta, x_4 = \dot{\theta}, x_5 = \psi, x_6 = \dot{\psi}\), and constants \(\alpha_1 = (I_{yy}-I_{zz})/I_{xx}\), \(\alpha_2 = (I_{zz}-I_{xx})/I_{yy}\), \(\alpha_3 = (I_{xx}-I_{yy})/I_{zz}\), \(\beta_1 = l/I_{xx}\), \(\beta_2 = l/I_{yy}\), \(\beta_3 = 1/I_{zz}\).

For digital control implementation, we transform this continuous-time model into an equivalent discrete-time representation using the Euler approximation method with a fixed sampling period \(T_0\). This yields the discrete-time model of the quadrotor drone:

$$
\begin{aligned}
X_1(k+1) &= T_0 X_2(k) + X_1(k) + D_1(k) \\
X_2(k+1) &= T_0 F(k) + X_2(k) + T_0 \beta U(k) + D_2(k)
\end{aligned}
$$

where
\(X_1(k) = [x_1(k), x_3(k), x_5(k)]^T\),
\(X_2(k) = [x_2(k), x_4(k), x_6(k)]^T\),
\(F(k) = [\alpha_1 x_4(k)x_6(k), \alpha_2 x_2(k)x_6(k), \alpha_3 x_2(k)x_4(k)]^T\),
\(\beta = \text{diag}(\beta_1, \beta_2, \beta_3)\),
\(U(k) = [U_1(k), U_2(k), U_3(k)]^T\).
The terms \(D_1(k) = T_0 d_1(k)\) and \(D_2(k) = T_0 \beta \mu + T_0 d_2(k)\) represent the lumped discrete-time effects of external disturbances and actuator faults on the positional and velocity dynamics, respectively. This composite disturbance vector is central to our observer design. The control objective is to design a discrete-time control law \(U(k)\) such that the attitude vector \(X_1(k)\) tracks a predefined desired trajectory \(X_{1d}(k) = [\phi_d(k), \theta_d(k), \psi_d(k)]^T\) with bounded errors, despite the presence of \(D_1(k)\) and \(D_2(k)\).

Table 1: Typical Parameters for a Quadrotor Drone Model
Parameter Symbol Typical Value/Unit
Arm Length \(l\) 0.2 m
Roll Inertia \(I_{xx}\) 0.03 kg·m²
Pitch Inertia \(I_{yy}\) 0.03 kg·m²
Yaw Inertia \(I_{zz}\) 0.04 kg·m²
Drag Coefficient \(K_d\) 0.4 N·m
Sampling Period \(T_0\) 0.01 s

Design of the Discrete-Time Disturbance Observer (DTDO)

The core innovation of this approach lies in the design of a discrete-time disturbance observer. The observer’s purpose is to estimate the lumped disturbance terms \(D_1(k)\) and \(D_2(k)\) in real-time without requiring direct measurement. The estimate \(\hat{D}(k)\) is then fed forward into the controller to actively cancel the disturbance’s effect. We design two observers in a cascaded structure, corresponding to the two subsystems of the quadrotor drone model.

DTDO for the First Subsystem (Position Dynamics)

For the subsystem described by \(X_1(k+1) = T_0 X_2(k) + X_1(k) + D_1(k)\), we define an auxiliary variable \(\eta_1(k)\) as:

$$
\eta_1(k) = \rho D_1(k) – \rho X_1(k)
$$

where \(\rho > 0\) is a designer-chosen gain. From the system dynamics, we have:

$$
\eta_1(k+1) = \rho (D_1(k+1) – D_1(k)) – \rho (T_0 X_2(k) + X_1(k))
$$

Under the practical assumption that the change in disturbance between consecutive sampling instants is bounded (i.e., \(D_1(k+1) – D_1(k)\) is bounded), we construct the estimate of the auxiliary variable:

$$
\hat{\eta}_1(k+1) = -\rho (T_0 X_2(k) + X_1(k))
$$

The disturbance estimate for the first subsystem of the quadrotor drone is then obtained as:

$$
\hat{D}_1(k) = \frac{1}{\rho} \hat{\eta}_1(k) + X_1(k)
$$

Defining the estimation errors as \(\tilde{D}_1(k) = D_1(k) – \hat{D}_1(k)\) and \(\tilde{\eta}_1(k) = \eta_1(k) – \hat{\eta}_1(k)\), their relationship is simply \(\tilde{D}_1(k) = \frac{1}{\rho} \tilde{\eta}_1(k)\). Stability analysis using a Lyapunov function \(V_{D1}(k) = \frac{\rho^2}{2} \tilde{D}_1^T(k) \tilde{D}_1(k)\) shows that the estimation error \(\tilde{D}_1(k)\) is uniformly ultimately bounded (UUB).

DTDO for the Second Subsystem (Velocity Dynamics)

The dynamics for the second subsystem are \(X_2(k+1) = T_0 F(k) + X_2(k) + T_0 \beta U(k) + D_2(k)\). We follow a similar procedure. Define the auxiliary variable:

$$
\eta_2(k) = \rho_2 D_2(k) – \rho_2 X_2(k)
$$

with gain \(\rho_2 > 0\). Its dynamics are:

$$
\eta_2(k+1) = \rho_2 (D_2(k+1) – D_2(k)) – \rho_2 (T_0 F(k) + X_2(k) + T_0 \beta U(k))
$$

Again, assuming bounded change in \(D_2(k)\), the estimate is:

$$
\hat{\eta}_2(k+1) = -\rho_2 (T_0 F(k) + X_2(k) + T_0 \beta U(k))
$$

The critical disturbance estimate for the force/torque input channel of the quadrotor drone is:

$$
\hat{D}_2(k) = \frac{1}{\rho_2} \hat{\eta}_2(k) + X_2(k)
$$

Similarly, defining errors \(\tilde{D}_2(k) = D_2(k) – \hat{D}_2(k)\) and \(\tilde{\eta}_2(k) = \eta_2(k) – \hat{\eta}_2(k)\), we have \(\tilde{D}_2(k) = \frac{1}{\rho_2} \tilde{\eta}_2(k)\). Lyapunov analysis with \(V_{D2}(k) = \frac{\rho_2^2}{2} \tilde{D}_2^T(k) \tilde{D}_2(k)\) proves that \(\tilde{D}_2(k)\) is also UUB. The boundedness of these estimation errors is crucial for the stability of the overall closed-loop system.

Table 2: Disturbance Observer Structure and Properties
Subsystem Auxiliary Variable Update Law Disturbance Estimate Error Dynamics
Position (\(X_1\)) \(\eta_1(k)=\rho D_1(k)-\rho X_1(k)\) \(\hat{\eta}_1(k+1)=-\rho (T_0 X_2(k)+X_1(k))\) \(\hat{D}_1(k)=\frac{1}{\rho}\hat{\eta}_1(k)+X_1(k)\) \(\tilde{D}_1(k)=\frac{1}{\rho}\tilde{\eta}_1(k)\)
Velocity (\(X_2\)) \(\eta_2(k)=\rho_2 D_2(k)-\rho_2 X_2(k)\) \(\hat{\eta}_2(k+1)=-\rho_2 (F_0(k)+T_0\beta U(k))\)* \(\hat{D}_2(k)=\frac{1}{\rho_2}\hat{\eta}_2(k)+X_2(k)\) \(\tilde{D}_2(k)=\frac{1}{\rho_2}\tilde{\eta}_2(k)\)

* \(F_0(k) = T_0 F(k) + X_2(k)\)

Discrete-Time Fault-Tolerant Controller Design via Backstepping

With the disturbance estimates from the DTDO available, we now design the discrete-time tracking controller using the backstepping technique. This recursive method systematically constructs a control law and a Lyapunov function to guarantee stability. We define tracking errors for the quadrotor drone:

$$
e_1(k) = X_1(k) – X_{1d}(k), \quad e_2(k) = X_2(k) – v_1(k)
$$

where \(v_1(k)\) is a virtual control law designed for the first subsystem.

Step 1: Virtual Control Law Design

From the dynamics of \(e_1(k)\):
$$ e_1(k+1) = T_0 (e_2(k) + v_1(k)) + X_1(k) + D_1(k) – X_{1d}(k+1) $$
To stabilize \(e_1(k)\), we design the virtual control law \(v_1(k)\) using the disturbance estimate \(\hat{D}_1(k)\):

$$
v_1(k) = -\frac{1}{T_0} \left( X_1(k) + \hat{D}_1(k) – X_{1d}(k+1) + A_1 e_1(k) \right)
$$

where \(A_1 = \text{diag}(a_{11}, a_{12}, a_{13})\) is a positive definite diagonal matrix of design parameters. Substituting \(v_1(k)\) yields the closed-loop error dynamics for the first step:
$$ e_1(k+1) = T_0 e_2(k) – A_1 e_1(k) + \tilde{D}_1(k) $$
This shows that the error \(e_1(k)\) is driven by the next step’s error \(e_2(k)\) and the bounded disturbance estimation error \(\tilde{D}_1(k)\).

Step 2: Actual Control Law Design

The dynamics of \(e_2(k)\) are more complex:
$$ e_2(k+1) = T_0 F(k) + X_2(k) + T_0 \beta U(k) + D_2(k) – v_1(k+1) $$
A challenge arises because \(v_1(k+1)\) depends on \(D_1(k)\), which is unknown. However, using the estimate \(\hat{D}_1(k)\), we can construct an estimate \(\hat{v}_1(k+1)\). The mismatch \(\tilde{v}_1(k+1) = v_1(k+1) – \hat{v}_1(k+1)\) can be shown to be proportional to \(\tilde{D}_1(k)\), and hence is bounded. Therefore, we can write \(v_1(k+1) = \chi(k) + \tilde{\chi}(k)\), where \(\chi(k) = \hat{v}_1(k+1)\) is known and \(\tilde{\chi}(k)\) is bounded.

The actual control law \(U(k)\) for the quadrotor drone is now designed to stabilize \(e_2(k)\), utilizing the disturbance estimate \(\hat{D}_2(k)\) from the second DTDO:

$$
U_j(k) = -\frac{1}{T_0 \beta_j} \left( F_{0j}(k) + \hat{D}_{2j}(k) – \chi_j(k) + \zeta_j e_{2j}(k) \right)
$$

for \(j=1,2,3\), where \(F_{0j}(k) = T_0 F_j(k) + X_{2j}(k)\), and \(\zeta_j > 0\) are controller gains. Substituting this control law gives the closed-loop error dynamics for the second step:
$$ e_2(k+1) = -\zeta e_2(k) + \tilde{D}_2(k) – \tilde{\chi}(k) $$
where \(\zeta = \text{diag}(\zeta_1, \zeta_2, \zeta_3)\). This is a stable linear system perturbed by bounded estimation errors \(\tilde{D}_2(k)\) and \(\tilde{\chi}(k)\).

Stability Analysis

The overall stability of the closed-loop quadrotor drone system is analyzed using a composite Lyapunov function candidate:
$$ V(k) = \frac{1}{2} e_1^T(k) e_1(k) + \frac{1}{2} e_2^T(k) e_2(k) + V_{D1}(k) + V_{D2}(k) $$
Calculating the forward difference \(\Delta V(k) = V(k+1) – V(k)\) and substituting the error dynamics and the properties of the DTDOs yields an expression of the form:

$$
\Delta V(k) \leq -\lambda_{min}(Q) \|e(k)\|^2 + \Gamma
$$

where \(e(k) = [e_1^T(k), e_2^T(k)]^T\), \(Q\) is a positive definite matrix formed by the controller parameters \(A_1\) and \(\zeta\), and \(\Gamma\) is a positive constant that depends on the bounds of the disturbance estimation errors \(\tilde{D}_1(k)\), \(\tilde{D}_2(k)\), and \(\tilde{\chi}(k)\). According to standard discrete-time Lyapunov theory, this inequality proves that all signals in the closed-loop system, specifically the tracking errors \(e_1(k)\) and \(e_2(k)\) for the quadrotor drone, are uniformly ultimately bounded. The size of the ultimate bound can be reduced by appropriately tuning the observer gains \(\rho, \rho_2\) and controller gains \(A_1, \zeta\).

Table 3: Summary of Controller Design Equations
Component Design Equation Purpose
Tracking Errors \(e_1(k)=X_1(k)-X_{1d}(k),\ e_2(k)=X_2(k)-v_1(k)\) Define control objective
Virtual Control \(v_1(k)=-\frac{1}{T_0}\left(X_1(k)+\hat{D}_1(k)-X_{1d}(k+1)+A_1 e_1(k)\right)\) Stabilize position/orientation error \(e_1(k)\)
Actual Control \(U_j(k)=-\frac{1}{T_0\beta_j}\left(F_{0j}(k)+\hat{D}_{2j}(k)-\chi_j(k)+\zeta_j e_{2j}(k)\right)\) Stabilize velocity error \(e_2(k)\), generate motor commands
Closed-Loop Error Dynamics \(e_1(k+1)=T_0 e_2(k)-A_1 e_1(k)+\tilde{D}_1(k)\)
\(e_2(k+1)=-\zeta e_2(k)+\tilde{D}_2(k)-\tilde{\chi}(k)\)
Describe stabilized system with bounded perturbation

Simulation Results and Performance Evaluation

To validate the proposed discrete-time fault-tolerant control scheme, numerical simulations were conducted using the parameters of a standard quadrotor drone model (see Table 1). The desired trajectories were chosen as smooth reference commands: \(\phi_d(k) = 1.5 \cdot \text{erf}(0.3 t_k)\), \(\theta_d(k) = 2.0 \cdot \text{erf}(0.3 t_k)\), and \(\psi_d(k) = 0\). External disturbances were modeled as time-varying signals: \(d_{1j}(k), d_{2j}(k) \sim 0.002\sin(\pi t_k) + 0.002\sin(10\pi t_k)\). An additive actuator fault was injected into all three control channels at \(t = 10\) seconds, modeled as a first-order process \(\mu(k+1) = \mu(k) + T_0(-\mu(k) + \Delta \mu)\) with \(\Delta \mu = [5, 5, 5]^T\).

The controller and observer parameters were selected as follows: \(A_1 = \text{diag}(0.02, 0.02, 0.02)\), \(\zeta = \text{diag}(0.2, 0.2, 0.2)\), \(\rho = 0.1\), and \(\rho_2 = 0.1\). The sampling time was \(T_0 = 0.01\) s. For comparison, the control law was also implemented without the disturbance observer (i.e., setting \(\hat{D}_1(k)=0\) and \(\hat{D}_2(k)=0\) in the controller), to isolate the contribution of the DTDO.

Table 4: Simulation Parameters and Conditions
Category Parameter / Condition Value / Description
Reference Signals Roll (\(\phi_d\)) \(1.5 \cdot \text{erf}(0.3 t)\)
Pitch (\(\theta_d\)) \(2.0 \cdot \text{erf}(0.3 t)\)
Yaw (\(\psi_d\)) \(0\) rad
Disturbances \(d_{1j}(k), d_{2j}(k)\) \(0.002\sin(\pi t_k) + 0.002\sin(10\pi t_k)\)
Nature High & low frequency, time-varying
Actuator Fault Type Additive, bias fault
Onset Time \(t = 10\) s
Fault Vector \(\Delta \mu\) \([5, 5, 5]^T\) (in control input units)
Controller Gains \(A_1\) \(\text{diag}(0.02, 0.02, 0.02)\)
\(\zeta\) \(\text{diag}(0.2, 0.2, 0.2)\)
\(\rho\) \(0.1\)
\(\rho_2\) \(0.1\)

The simulation results demonstrated the effectiveness of the proposed integrated scheme. The quadrotor drone equipped with the DTDO-based controller accurately tracked the desired roll, pitch, and yaw angle trajectories. At the moment of the actuator fault injection (t=10s), a small transient deviation was observed, but the controller, aided by the rapidly adapting disturbance observer, recovered quickly and maintained precise tracking thereafter. In contrast, the controller without the DTDO exhibited significantly larger and persistent tracking errors following the fault, clearly showcasing the fault-tolerant capability endowed by the observer. The DTDO successfully estimated the composite lumped disturbance \(D_2(k)\), which encapsulated both the external disturbances and the effect of the actuator faults. The estimates \(\hat{D}_{21}(k), \hat{D}_{22}(k), \hat{D}_{23}(k)\) closely followed the true (simulated) disturbance profiles, confirming the observer’s accurate real-time estimation capability. This accurate estimation is the key mechanism that allows the controller to preemptively cancel the adverse effects, ensuring the robustness and fault tolerance of the overall quadrotor drone control system.

Discussion and Comparative Analysis

The proposed method offers several distinct advantages for quadrotor drone control. First, by designing both the observer and the controller directly in the discrete-time domain, it avoids the performance loss associated with discretizing a continuous-time controller. This leads to more predictable behavior when implemented on a digital flight control computer. Second, the disturbance observer provides a unified framework to handle both external disturbances and actuator faults by treating them as a composite lumped disturbance. This simplifies the control architecture compared to methods that require separate fault detection and isolation (FDI) modules. The backstepping control structure provides a systematic way to handle the nonlinearities inherent in the quadrotor drone dynamics.

However, certain considerations and potential extensions exist. The stability and ultimate bound of errors are guaranteed under the assumption that the change in disturbances between samples is bounded. This is a mild and generally valid assumption for physical systems. The performance of the controller depends on the tuning of several parameters (\(A_1, \zeta, \rho, \rho_2\)). While guidelines exist (e.g., \(A_1\) and \(\zeta\) affect convergence rate, \(\rho\) and \(\rho_2\) affect observer bandwidth and noise sensitivity), an optimal tuning strategy could be explored further. The current design focuses on additive actuator faults. Extending the DTDO framework to handle multiplicative faults (e.g., partial loss of effectiveness) or coupled sensor faults would increase its practicality. Future work could also investigate the integration of this discrete-time fault-tolerant control scheme with trajectory planning algorithms and higher-level mission control systems for fully autonomous quadrotor drone operations in complex, uncertain environments.

Conclusion

This article has presented a comprehensive and effective solution for the challenging problem of reliable attitude control for a quadrotor drone operating under simultaneous external disturbances and actuator faults. The core of the solution is a novel discrete-time disturbance observer designed to estimate the aggregated effect of these adverse factors in real-time. By seamlessly integrating this observer with a discrete-time backstepping controller, a fault-tolerant tracking control scheme is constructed. Rigorous stability analysis proves that all signals in the resulting closed-loop system are uniformly ultimately bounded. Numerical simulations validate the theoretical findings, demonstrating that the proposed controller maintains excellent tracking performance even when significant actuator faults occur abruptly, outperforming a standard controller lacking the disturbance estimation mechanism. The methodology is directly implementable on digital hardware, making it a practical and powerful approach for enhancing the robustness, reliability, and autonomy of quadrotor drone systems in real-world applications.

Scroll to Top