This repository contains the official implementation of the CNN-BiLSTM-Attention prognostic framework described in:
"From Benchmark Failure to Real-Time Digital Twin: An AGTF30-Native CNN-BiLSTM-Attention Framework for Turbofan Turbine Blade Prognostics with Flight-Simulator Validation" (Bello Sani, Ene, et al., 2026).
📊 Model Performance (Test Set)
Metric
Value
Test RMSE
3.352 cycles
R² Score
0.993
NASA Score
346.38
Inference Latency
80–120ms (CPU)
🛠 Getting Started
1. Prerequisites
FlightGear 2024.1+
Python 3.x (torch, numpy, matplotlib, tkinter)
MATLAB R2023a (for AGTF30 simulation, if generating new datasets)
2. FlightGear Setup
Install the A320neo (CFM LEAP-1A) via the FlightGear Hangar.
Copy a320neo_protocol.xml to your FlightGear Protocol directory:
C:\Users\<User>\FlightGear\Downloads\fgdata_2024_1\Protocol\
We utilize a Hub-and-Spoke Relay Architecture to ensure reliable data logging without blocking the real-time UI.
Step A: Start the Data Logger (Hub)
This binds to port 5500, logs raw telemetry to flightgear_phm_log.csv, and forwards packets to the Dashboard.
Bash
python data_logger.py
Step B: Start the Dashboard (Viewer)
This listens on port 5501 for relayed telemetry.
Bash
python flightgear_phm_dashboard.py
🔬 Reproducing Results (Figure 9)
The flightgear_phm_log.csv generated during your flight contains the telemetry needed to reproduce the diagnostic plots.
Run the live dashboard, wait for calibration, and allow the Fault Injector to trigger at frame 1800.
Close the dashboard to finalize the CSV file.
Run the visualization script:
Bash
python plot_fig9.py
This generates fig9_health_timeseries.pdf, showing the RUL and Health % response to the injected HPT degradation.