Fault Diagnosis for Quadcopter UAVs Based on Fault Occurrence Degree

In recent years, quadcopter unmanned aerial vehicles (UAVs) have gained significant attention due to their versatility in applications such as surveillance, search and rescue, and environmental monitoring. As a researcher focused on control systems and fault diagnosis, I have been particularly interested in addressing the challenges associated with actuator failures in quadcopter systems. Actuator faults, such as partial performance degradation, can lead to catastrophic outcomes if not detected and compensated for in a timely manner. In this work, we explore a multi-stage joint fault observer approach to accurately estimate fault coefficients and the original system states, enabling robust fault diagnosis for quadcopter UAVs. The quadcopter’s inherent instability and underactuated nature make it a compelling platform for developing and testing advanced fault diagnosis techniques.

The quadcopter is a six-degree-of-freedom system that relies on four rotors for lift and control. Each rotor is driven by a motor, and the thrust generated by each motor is linearly related to the PWM input. The transfer function for the i-th motor can be expressed as:

$$ T_i = \frac{K \omega}{s + \omega} u_i, \quad i = 1, 2, 3, 4 $$

where \( K \) is a positive gain, \( \omega \) is the motor bandwidth, and \( u_i \) is the input signal. When \( u_i = 0 \), the motor produces zero thrust. The overall dynamics of the quadcopter can be decomposed into four channels: roll, pitch, yaw, and heave. For fault diagnosis purposes, we focus on a single-channel simplified state-space model to reduce complexity while capturing the essential dynamics. The discrete-time linear time-varying state-space model for one channel is given by:

$$ x_{k+1} = A_k x_k + B_k u_k + w^x_k $$
$$ y_{k+1} = C_k x_{k+1} + v_{k+1} $$

Here, \( x_k \) represents the state vector, \( u_k \) is the control input, \( y_k \) is the output measurement, and \( w^x_k \) and \( v_k \) are uncorrelated Gaussian white noise processes with covariance matrices \( Q^x_k \) and \( R_k \), respectively. To visualize the structure of a typical quadcopter, consider the following illustration:

The forces and torques generated by the rotors are related to the thrusts as follows:

$$ u_z = T_1 + T_2 + T_3 + T_4 $$
$$ u_\theta = L(T_1 – T_2) $$
$$ u_\phi = L(T_3 – T_4) $$
$$ u_\psi = \tau_1 + \tau_2 – \tau_3 – \tau_4 $$

where \( L \) is the distance from the center of mass to each motor, and \( \tau_i = K_\psi T_i \) represents the torque generated by the i-th motor, with \( K_\psi \) being the thrust-to-torque coefficient. Assuming \( T_i \approx K u_i \), the relationship can be rewritten in matrix form:

$$ \begin{bmatrix} u_z \\ u_\theta \\ u_\phi \\ u_\psi \end{bmatrix} = \begin{bmatrix} K & K & K & K \\ K L & -K L & 0 & 0 \\ 0 & 0 & K L & -K L \\ K K_\psi & K K_\psi & -K K_\psi & -K K_\psi \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \\ u_3 \\ u_4 \end{bmatrix} $$

This model serves as the foundation for developing fault diagnosis strategies. In practice, actuator faults in a quadcopter can manifest as partial loss of effectiveness, which we model using a fault coefficient \( \gamma_k \). When \( \gamma_k = 0 \), the actuator is healthy, and when \( \gamma_k = 1 \), it is completely failed. The state-space equations incorporating the fault coefficient are:

$$ x_{k+1} = A_k x_k + B_k u_k – B_k u_k \gamma_k + w^x_k $$
$$ \gamma_{k+1} = \gamma_k + w^\gamma_k $$
$$ y_{k+1} = C_k x_{k+1} + v_{k+1} $$

where \( w^\gamma_k \) is zero-mean Gaussian white noise with covariance \( Q^\gamma_k \). This formulation allows us to treat the fault diagnosis problem as a joint estimation of the system states and the fault coefficient.

Traditional approaches to fault diagnosis for quadcopter systems often rely on augmented state Kalman filters (ASKF). In ASKF, the system state and fault coefficient are combined into an augmented state vector \( X_k = [x_k^T, \gamma_k]^T \), leading to the following augmented state-space model:

$$ X_{k+1} = A^1_{k+1,k} X_k + w_k $$
$$ y_k = C^1_k X_k + v_k $$

where

$$ A^1_{k+1,k} = \begin{bmatrix} A_{k+1,k} & B_{k+1,k} \\ 0 & 1 \end{bmatrix}, \quad C^1_k = \begin{bmatrix} C_k & D_k \end{bmatrix} $$

and \( w_k = [w^x_k, w^\gamma_k]^T \) with covariance matrix \( \begin{bmatrix} Q^x_k & 0 \\ 0 & Q^\gamma_k \end{bmatrix} \). The ASKF algorithm involves the following steps:

  • Augmented state prediction: \( X_{k+1|k} = A^1_{k+1,k} X_{k|k} \)
  • Prediction error covariance: \( P^X_{k+1|k} = A^1_{k+1,k} P^X_{k|k} (A^1_{k+1,k})^T + Q^k \)
  • Filter gain: \( K^X_{k+1} = P^X_{k+1|k} (C^1_{k+1})^T [C^1_{k+1} P^X_{k+1|k} (C^1_{k+1})^T + R_{k+1}]^{-1} \)
  • State update: \( X_{k+1|k+1} = X_{k+1|k} + K^X_{k+1} [y_{k+1} – C^1_{k+1} X_{k+1|k}] \)
  • Covariance update: \( (P^X_{k+1|k+1})^{-1} = (P^X_{k+1|k})^{-1} + (C^1_{k+1})^T R^{-1}_{k+1} C^1_{k+1} \)

However, ASKF has significant drawbacks, primarily due to the need to compute cross-covariance matrices between the system states and the fault coefficient, which increases computational complexity and reduces efficiency. For a quadcopter operating in real-time, this can be prohibitive. To address this, we propose a multi-stage joint fault observer that decouples the estimation of the fault coefficient from the system states, thereby reducing complexity while maintaining accuracy.

The multi-stage joint fault observer operates in several phases: optimal bias estimation, bias-free state estimation, residual generation, and error compensation. The algorithm is designed to simultaneously estimate the fault coefficient \( \gamma_k \) and the original system states \( x_k \) without the computational burden of cross-covariance terms. The key steps are outlined below:

Optimal Bias Estimation:
This phase focuses on estimating the fault coefficient \( \gamma_k \):

$$ \hat{\gamma}_{k+1|k} = \hat{\gamma}_{k|k} $$
$$ P^\gamma_{k+1|k} = P^\gamma_{k|k} + Q^\gamma_k $$
$$ \hat{\gamma}_{k+1|k+1} = \hat{\gamma}_{k+1|k} + K^\gamma_{k+1} ( \tilde{r}_{k+1} – H_{k+1|k} \hat{\gamma}_{k|k} ) $$
$$ K^\gamma_{k+1} = P^\gamma_{k+1|k} H^T_{k+1|k} ( H_{k+1|k} P^\gamma_{k+1|k} H^T_{k+1|k} + \tilde{S}_{k+1} )^{-1} $$
$$ P^\gamma_{k+1|k+1} = ( I – K^\gamma_{k+1} H_{k+1|k} ) P^\gamma_{k+1|k} $$

Bias-Free State Estimation:
Here, we estimate the system states without the fault bias:

$$ \tilde{x}_{k+1|k} = A_k \tilde{x}_{k|k} + B_k u_k + W_k \hat{\gamma}_{k|k} – V_{k+1|k} \hat{\gamma}_{k|k} $$
$$ P^{\tilde{x}}_{k+1|k} = A_k P^{\tilde{x}}_{k|k} A^T_k + Q^x_k + W_k P^\gamma_{k|k} W^T_k – V_{k+1|k} P^\gamma_{k+1|k} V^T_{k+1|k} $$
$$ \tilde{x}_{k+1|k+1} = \tilde{x}_{k+1|k} + K^{\tilde{x}}_{k+1} ( y_{k+1} – C_{k+1} \tilde{x}_{k+1|k} ) $$
$$ K^{\tilde{x}}_{k+1} = P^{\tilde{x}}_{k+1|k} C^T_{k+1} ( C_{k+1} P^{\tilde{x}}_{k+1|k} C^T_{k+1} + R_{k+1} )^{-1} $$
$$ P^{\tilde{x}}_{k+1|k+1} = ( I – K^{\tilde{x}}_{k+1} C_{k+1} ) P^{\tilde{x}}_{k+1|k} $$

Residual Generation and Covariance:
The residual and its covariance are computed as:

$$ \tilde{r}_{k+1} = y_{k+1} – C_{k+1} \tilde{x}_{k+1|k} $$
$$ \tilde{S}_{k+1} = C_{k+1} P^{\tilde{x}}_{k+1|k} C^T_{k+1} + R_{k+1} $$

Coupling Relationships:
The coupling terms are updated using:

$$ W_k = A_k V_{k|k} – B_k U_k $$
$$ V_{k+1|k} = W_k P^\gamma_{k|k} (P^\gamma_{k+1|k})^{-1} $$
$$ H_{k+1|k} = C_{k+1} V_{k+1|k} $$
$$ V_{k+1|k+1} = V_{k+1|k} – K^{\tilde{x}}_{k+1} H_{k+1|k} $$

Error Compensation and Covariance Update:
Finally, the compensated state estimate and its covariance are:

$$ \hat{x}_{k+1|k+1} = \tilde{x}_{k+1|k+1} + V_{k+1|k+1} \hat{\gamma}_{k+1|k+1} $$
$$ P_{k+1|k+1} = P^{\tilde{x}}_{k+1|k+1} + V_{k+1|k+1} P^\gamma_{k+1|k+1} V^T_{k+1|k+1} $$

This multi-stage approach efficiently decouples the estimation processes, reducing computational load while providing accurate fault diagnosis for the quadcopter. The observer leverages the structure of the quadcopter dynamics to ensure robust performance even in the presence of noise and uncertainties.

To validate the effectiveness of the multi-stage joint fault observer, we conducted extensive simulations under various fault scenarios. The quadcopter model parameters were set based on typical values, and the fault coefficient was introduced to simulate actuator degradation. We considered three main cases: consistent faults across all channels, inconsistent faults, and abrupt fault changes. The simulation settings are summarized in the table below:

Parameter Value Description
\( K \) 1.0 Motor gain
\( \omega \) 10 rad/s Motor bandwidth
\( L \) 0.2 m Distance from center
\( K_\psi \) 0.1 Thrust-to-torque coefficient
\( Q^x_k \) 0.01I Process noise covariance
\( R_k \) 0.1I Measurement noise covariance
\( Q^\gamma_k \) 0.0001 Fault process noise covariance

In the first scenario, we assumed consistent fault coefficients across all four channels of the quadcopter, with \( \gamma = [0.2, 0.2, 0.2, 0.2] \) and \( Q^\gamma = 0 \). The multi-stage observer quickly converged to the true fault coefficients within a few iterations, as shown in the estimation results. The state estimation errors were significantly reduced after fault compensation, demonstrating the observer’s ability to accurately track both the fault and the system states. For instance, the maximum estimation error for the states was around 0.007, which is acceptable for practical quadcopter applications.

In the second scenario, we tested inconsistent faults with \( \gamma = [0.2, 0.3, 0.4, 0.5] \) and \( Q^\gamma = 0.0001 \), introducing minor variations over time. The observer successfully estimated all four fault coefficients simultaneously, with estimates closely following the true values. The table below summarizes the average estimation errors for each channel:

Channel True Fault Coefficient Average Estimation Error
1 0.2 0.005
2 0.3 0.006
3 0.4 0.007
4 0.5 0.008

The filtering errors remained lower than the measurement errors, indicating effective fault compensation. This highlights the observer’s robustness in handling diverse fault conditions in a quadcopter.

In the third scenario, we simulated an abrupt fault change at the 200th sample, where the fault coefficients jumped from \( \gamma = [0, 0, 0, 0] \) to \( \gamma = [0.2, 0.3, 0.4, 0.5] \) with \( Q^\gamma = 0.0001 \). The multi-stage observer rapidly adapted to the new fault values, achieving accurate estimates within a short time frame. The state estimation errors post-compensation were minimal, with a maximum error of approximately 0.0014, underscoring the observer’s responsiveness to sudden changes in quadcopter actuator health.

The simulation results consistently demonstrate that the multi-stage joint fault observer outperforms traditional methods like ASKF in terms of computational efficiency and estimation accuracy. By avoiding the calculation of cross-covariance matrices, the observer reduces the computational load by approximately 30% in our tests, making it suitable for real-time quadcopter applications. Moreover, the ability to estimate both the fault coefficients and the original states provides a comprehensive solution for fault diagnosis, enabling proactive maintenance and control adjustments.

In conclusion, our work presents a novel approach to fault diagnosis for quadcopter UAVs, leveraging a multi-stage joint fault observer to address the limitations of traditional Kalman filter-based methods. The proposed method efficiently estimates actuator fault coefficients and system states, even under varying and abrupt fault conditions. This contributes to the reliability and safety of quadcopter operations in critical applications. Future research will focus on extending this approach to multi-quadcopter systems and integrating it with fault-tolerant control strategies to enhance overall system resilience. The quadcopter platform continues to be an excellent testbed for advancing fault diagnosis techniques, and we believe this work lays a foundation for more robust autonomous systems.

Scroll to Top