Online actions are time critical and must be taken in real-time [22]. Online prognostics systems give the required information to the mission commander about the anticipated failure time. The decision maker should do the required counteractions to avoid failures and assure safe operation. Online prognostics systems must be robust, simple, work in real-time, implemented onboard, and do not consume too much computational resources.
To that end, we designed and developed an online prognostics system based on data-driven approach. In addition, we implemented this system on a single board computer to make sure of its online applicability.
The data used for system training and testing is the training dataset set from PCoE data [14]. The training dataset is subdivided into two subsets; one for system training (150 engines) and one for testing (68 engines).
System description
The online prognostics system Fig. 10. Is composed of two main modules offline and online modules. The offline module concerns about heavy computational tasks that cannot be performed onboard such as data preprocessing and system training. These tasks are not needed onboard because there is no online system training. The online part runs onboard and uses the trained techniques for RUL estimation in real-time. The online module is implemented on the single board computer.
As long as the decision is made for the system to be implemented onboard and run in real-time, the used techniques must be selected carefully and connected together in a way to achieve this goal.
To this end, the following is performed:
Static neural network is used instead of dynamic network for HI prediction with added HERIs to boost the computational process.
In the online system we do not use curve fitting and extrapolation as we did in offline system because they require storage of huge amount of data. In the same time, they are computationally intensive which cannot be done each cycle or few cycles as needed in online prognostics. Instead, we apply the projection concept using another static neural network which requires only 10 HI points to forecast the subsequent HI.
We replaced the HI smoothing method used in the offline system (simple moving average) by the recursive Kalman filter (KF) estimator [23]. KF is recommended for online applications because it’s recursive nature that does not require to save historical data in memory [24, 25]. We also benefit from KF to combine the HI prediction output from MLPNN with the KF model output and achieve more accurate HI prediction as we will discuss latter.
Offline (offboard) module
As mentioned above, in this module the heavy computational training tasks are performed. The output from this module is two static neural networks. We named these networks as MLPNN_I and MLPNN_P. The MLPNN_I is trained to infer the current health state from aggregation of operational and performance parameters as well as HERIs based on the operating regime. The MLPNN_P is intended to use the last inferred HIs by MLPNN_I combined with KF (specifically last 10 HIs) and project them into future to forecast the subsequent HI.
To benefit from the predeveloped offline prognostics system, some of the used data preprocessing steps are applied to the training data. These steps are feature extraction, performance assessment, and operating regime partitioning as well as regression models development to calculate the HI ground truth data. Additionally, we applied KF to smooth the calculated HIs Fig. 11.
The final smoothed HI is used as follow:
After data preparation MLPNN_I and MLPNN_P are trained using “Levenberg–Marquardt” back propagation method.
The training results are shown in Table 1.
Table 1 Neural networks training results
Online (onboard) module
This module is the system part (algorithm) that will be implemented onboard and should work in real-time. This module takes the sensor readings about engine performance and operating conditions from the data acquisition system. Based on the operational settings, the algorithm identified the operating regime. The HERI for the detected regime is increased by one. The operational and performance parameters as well as the six HERIs are imputed to the trained MLPNN_I. The MLPNN_I predicts the current system health state HI. In the same time, the KF predicts current HI based on its state estimation model. In the KF update step, it uses the HI calculated by MLPNN_I as a measurement to update the HI predicted by its model. Then, a corrected version of HI is calculated. This corrected HI has higher accuracy and precession than either HI calculated by KF state estimation model or MLPNN_I.
In the early part of system life, there is no need to do RUL estimation because the system does not suffer from any degradation. As degradation starts the RUL estimation process must be instantly executed. In this study an arbitrary time point t = 100 is set at which RUL estimation starts. The selection of t = 100 is obtained from data analysis. Data analysis showed that most of engines starts to degrades in a point near t = 100.
When the system reaches the specified time point (t = 100), the RUL estimation starts. The MLPNN_P takes the last ten HIs to forecast the subsequent HI then get rid of the first HI from the previous ten. The MLPNN_P uses the new ten HIs to forecast the subsequent HI and again get rid of the first point. The process is repeated until HI reaches the failure criteria. The failure criteria in this case are HI < 0.15. The RUL is calculated by subtracting the time index at the prediction point from the time index when the engine fails and reaches the failure criteria.
To achieve real-time performance, the process from sensors data acquisition to RUL estimation must be completed before the next readings are acquired, i.e., in a time smaller than sensors polling time.
After RUL estimation, the system takes the new sensor readings and repeats the whole process to update the RUL estimation.
In this study engines are only monitored and RUL estimation is performed till EoL to test the prognostics system performance. In real settings, the decision maker should take the prognostics information (HI and RUL) to perform the required adjustment to avoid engine failure.
Figure 12 shows step by step operation of the online part of the system described above.
To prove that the system can work online on aircraft onboard computer, the online module should be implemented on a computer similar in specifications to the existing onboard computers. To this end, the online part is implemented on Raspberry Pi single board computer [26].
We consider our implementation to be platform independent and benefit from the internet of things (IoT) technology in the same time. So, the system is implemented as a universal windows platform (UWP) application.
Implementation of the prognostics system as a UWP application makes it easy to move across many devices such as tablets, PCs, mobiles, and single board computers.
The implementation is performed using Microsoft visual studio 2015 and coded in C ++. The operating environment is Windows 10 IoT core which is a UWP used specifically for smaller and lower cost industry devices.