# Fault Diagnosis and Prognosis of Satellites and Unmanned Aerial Vehicles: A Review
## 4 Diagnostics
### Model-Based Methods
The proposed CAUKF generally takes more time to diagnose faults compared with the AUKF while displaying 4%, 14%, 42%, and 90% less mean square errors for residuals of the RW model parameters under abrupt, transient, intermittent, and incipient malfunction scenarios, respectively. Moreover, [PERSON] et al. [14] built upon their work in [16] by proposing the binary Grid Covariance Adaptive Unscented Kalman Filter (GAUKF) methodology and a two-step hierarchical method for FDII of CMGs. The first step employs the adaptive thresholding approach, and the second step encapsulates fault isolation and identification by introducing an adaptive covariance-based binary grid search procedure. The GAUKF method was developed to address the high computational cost of the CAUKF and its suboptimal operation when the control system is closed-loop. GAUKF's fault isolation and identification performance surpasses both CAUKF and UKF methodologies in terms of precision. Additionally, the average execution time for the GAUKF is shorter than that of CAUKF and UKF when utilized in a closed-loop control system. However, the symmetry of the pyramid configuration poses problems in isolating the faults in RWs across from each other. Also, another drawback is the inaccurate estimation of one of the four wheels' fault parameters due to the system's lower dynamical sensitivity to the fourth RW's output [14; 95]. Later on, [PERSON] [96] proposed the Simplified Binary Grid Covariance Adaptive Unscented Kalman Filter (SGAUKF) methodology and further developed the isolation and identification modules presented in [14; 16]. The SGAUKF method updates only the even or odd rows or columns of the posterior estimate covariance matrix's diagonal elements, cutting the order of computations to its square root. The method also features either an increase or no change, as the name binary implies. The Monte Carlo simulation results show that SGAUKF adds to the GAUKF isolation accuracy by 1% while speeding up the process by about 27%, making it an even more viable approach to online monitoring. The SGAUKF also suffers from the issue of imprecise identification performance for the fourth flywheel, which could be addressed in future research. [PERSON] and [PERSON] [6] designed a nonlinear observer for fault detection of attitude and rate sensors onboard satellites and presented a fault recovery strategy. Fault detection is achieved using the satellite's measured angular velocities and attitude parameters. However, attitude parameters are described using Modified Rodriguez Parameters (MRP), which enables the fault detection of different attitude sensor types with different configurations using the same observer. [PERSON] et al. [74] presented a fault detection filter that incorporates both \(H_{\infty}\) and \(H_{2}\) simultaneously for Markovian Jump Linear System (MJLS). [PERSON] et al. 's proposed approach aims to make the filter robust to disturbances, noises, and applied inputs and sensitive to malfunction signals. The filter is then applied to a CMG to demonstrate its performance. A brief description of MJLSs is included below. A discretized dynamical Markovian jump linear system's state-space model is defined as follows [97]:  
\[X_{k+1}=A_{\theta(k)}X_{k}+B_{\theta(k)}u_{k} \tag{4}\]  
where \(X_{k}\in\mathbb{R}^{d}\) denotes the system's state at discrete time step \(k\), the initial state \(X_{0}\) follows a distribution of \(D\), \(u_{k}\in\mathbb{R}^{r}\) denotes the control command at time step \(k\), \(\theta(k)\) takes a value corresponding to a finite set of \(N=1,\ldots,n\) for each time step \(k\), where \(\theta(k)\) forms a discretized Markov process from \(N\). The probability of transition between two states for \(\theta(k)\) is defined as  
\[p_{ij}=P(\theta(k+1)=j\mid\theta(k)=i) \tag{5}\]  
where for each \(i\) the sum of all \(p_{ij}\) amounts to one. The initial distribution of \(\theta(k)\) is also represented as follows:  
\[\omega=[\omega_{1}\ldots\omega_{n}]^{T} \tag{6}\]  
where the sum of all \(\omega_{i}\) is one.