CoolFace
Datasetpublic

SM-Bello/PHI-CTRL-F16-Fault-Recovery-Telemetry

PHI-CTRL F-16 Actuator Fault Recovery Dataset High-Fidelity JSBSim 6-DOF Telemetry for Physics-Hybrid Self-Healing Flight Control Official verification artifacts of the PHI-CTRL (Physics-Hybrid Integrity Control) architecture — a digital-twin-driven, self-healing flight control framework that actively compensates actuator degradation in real time. Author: Mohammed Bello Sani (SM-Bello) Affiliation: Air Force Institute of Technology (AFIT), Kaduna · Penelope Inc. / PHI Lab… See the full description on the dataset page: https://huggingface.co/datasets/SM-Bello/PHI-CTRL-F16-Fault-Recovery-Telemetry.

sourceHugging Facecc-by-4.0updated 15d agoView on Hugging Face
0likes113downloads
Dataset Card

arc

PHI-CTRL F-16 Actuator Fault Recovery Dataset

High-Fidelity JSBSim 6-DOF Telemetry for Physics-Hybrid Self-Healing Flight Control

![GitHub](https://github.com/Sm-bello/PHI-CTRL) ![Model Weights](https://huggingface.co/SM-Bello/PHI-CTRL-F16-Models) ![DOI](https://doi.org/10.5281/zenodo.22218809) ![License: CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)

Official verification artifacts of the PHI-CTRL (Physics-Hybrid Integrity Control) architecture — a digital-twin-driven, self-healing flight control framework that actively compensates actuator degradation in real time.

Author: Mohammed Bello Sani (SM-Bello) Affiliation: Air Force Institute of Technology (AFIT), Kaduna · Penelope Inc. / PHI Lab Source code (canonical): github.com/Sm-bello/PHI-CTRL Archived release (citable): DOI 10.5281/zenodo.22218809 Related Dataset: ZeroTwin-UAV Synthetic Physics-Informed Multi-UAV Fault Telemetry


0. Where this fits in the PHI-CTRL project

This Hugging Face repo holds telemetry only. It is one node in a small graph of repos that together make up PHI-CTRL — start here for whichever one you actually need:

RepositoryRoleLink
Source codeControl laws, plant interface, training/eval scripts, full docs — the canonical, actively maintained repogithub.com/Sm-bello/PHI-CTRL
This datasetRaw JSBSim F-16A telemetry (baseline gate below)you are here
Trained weightsResidual PPO policy + CNN-BiLSTM effectiveness twin, trained on this dataSM-Bello/PHI-CTRL-F16-Models
c172p negative resultWhy the project isn't built on JSBSim's c172p — documented failure, open to contributionSM-Bello/C172P-Grounded-JSBSim-Airborne-Trim-Failure-Negative-Result
Archival recordFrozen, DOI-citable snapshot of the GitHub releasedoi.org/10.5281/zenodo.22218809

If you're evaluating whether to build on top of PHI-CTRL, star/watch the GitHub repo — that's where new releases, verification scripts, and architecture changes land first, before being mirrored out to the dataset/model repos here.


1. Why this dataset exists (Project Context Map)

Project ComponentStatusLocation / Notes
PHI-CTRL ArchitectureDefinedCascaded PID baseline + exact \(1/\gamma\) physics compensation + MRAC + Luenberger observer + RL residual
Plant DecisionF-16 (mature)Upstream JSBSim c172p is BETA and cannot produce reliable airborne trim
Classical Baseline GatePASSHold-trim, no-fault, and 20 % elevator effectiveness loss all pass strict criteria
Adaptive Layers (MRAC / Observer / Residual)In progressReady for integration on the proven F-16 plant — see source repo for current state
Negative Result (c172p)PublishedFull public writeup — six failed trim strategies, open call for anyone who can fix it
Target PaperQ1 JournalArchitecture + verification pyramid + physics-informed reconfiguration

This dataset is the public, citable foundation of the successful classical baseline on the F-16. All future full-stack (Cases B–E) runs will be added as new configurations.


2. Dataset Summary

High-rate (120 Hz) 6-DOF flight telemetry generated with the mature JSBSim F-16A model under three controlled conditions:

ConfigurationDescriptionFaultDurationPass Status
no-faultNominal closed-loop altitude/speed holdNone60 sPASS
hold-trimOpen-loop trim hold validationNone60 sPASS
20pct-elev20 % elevator effectiveness loss (γ = 0.80) injected at t ≈ 15 sElevator60 sPASS

Initial Condition (all runs)

  • Altitude: 15 000 ft
  • Airspeed target: 400 kts (soft)
  • Aircraft: General Dynamics F-16A (JSBSim PRODUCTION model)

Pass Criteria Applied

  1. 1.Pre-fault |Δh| < 120 ft
  2. 2.Full 60 s duration (no bailout)
  3. 3.Minimum airspeed ≥ 55 % of target
  4. 4.Pitch within ±40°

3. File Structure & Contents

phi-ctrl-f16-fault-recovery/
├── no-fault/
│   ├── baseline_recovery_log.csv      # 7200 rows × 18 channels
│   ├── baseline_recovery.png
│   └── console_log.txt
├── hold-trim/
│   ├── baseline_recovery_log.csv
│   ├── baseline_recovery.png
│   └── console_log.txt
├── 20pct-elev/
│   ├── baseline_recovery_log.csv      # Primary fault case
│   ├── baseline_recovery.png
│   └── console_log.txt
└── README.md                          # This file

Telemetry Channels (CSV columns)

ColumnUnitDescription
time_ssSimulation time
alt_ftftGeodetic altitude
vc_ktsktsCalibrated airspeed
theta_degdegPitch attitude
phi_degdegBank angle
alpha_degdegAngle of attack
hdot_fpsft/sVertical speed
q_dpsdeg/sPitch rate
throttleThrottle command [0–1]
elev_cmdElevator command (pre-plant)
elev_plantElevator position after fault scaling
pitch_trimPitch trim command
speedbrakeSpeedbrake command
pitch_cmd_degdegInner-loop pitch command
alt_errftAltitude tracking error
vel_errktsAirspeed tracking error
fault_active0/1Fault injection flag
eff_gammaActuator effectiveness (1.00.8)

4. How the data was generated

  • Simulator: JSBSim v1.3.1 (GitHub build)
  • Aircraft model: f16 (PRODUCTION release by Erik Hofman)
  • Control law: Classical cascaded altitude → pitch + auto-throttle (PHI-CTRL Layer 1 baseline, V19)
  • Fault model: Multiplicative elevator effectiveness loss \(\gamma = 0.80\) applied after settle
  • Settle strategy: Path-first (altitude-rate & pitch), frozen elevator/throttle during settle, hard rate limits
  • Logging rate: 120 Hz

Full generation scripts and the complete PHI-CTRL workspace — including the larger 160-episode multi-γ fault dataset this baseline gate feeds into — live in the source repo.


5. Intended Use Cases

  • Benchmarking classical vs. adaptive / fault-tolerant controllers
  • Training residual RL policies (PPO / SAC) on realistic actuator degradation
  • Validating digital-twin health estimators and \(\gamma\) identification algorithms
  • Studying energy management (TECS) under control-surface loss
  • Reproducing the PHI-CTRL baseline gate before adding MRAC / observer / residual layers
  • Negative-result research: understanding why the JSBSim c172p model fails airborne trim

6. Negative Result – JSBSim c172p (Important Warning)

The upstream JSBSim c172p model is marked BETA. Extensive attempts (grid trim, forced IC, engine spool-up windows, gain retuning, TECS, rate limiting) produced:

  • Persistent gear-ground contact on every initial condition
  • Native / grid trim returning near-zero throttle or sustained descent
  • Unusable airborne equilibrium before any fault injection

Conclusion: Do not use c172p as a research plant for adaptive or fault-tolerant control work that requires a reliable classical baseline. Switch to mature models (F-16, etc.).

The full negative-result dataset — all six attempts, telemetry, plots, and an open call for anyone who can actually fix c172p trim — is published separately: [c172p Grounded (negative result)](https://huggingface.co/datasets/SM-Bello/C172P-Grounded-JSBSim-Airborne-Trim-Failure-Negative-Result).


7. Quickstart

python
from datasets import load_dataset
import pandas as pd

# Load the 20 % elevator fault case
ds = load_dataset("SM-Bello/PHI-CTRL-F16-Fault-Recovery-Telemetry", data_files="20pct-elev/baseline_recovery_log.csv")
df = pd.DataFrame(ds["train"])

print(df[["time_s", "alt_ft", "vc_kts", "eff_gamma", "fault_active"]].describe())

8. Try it, cite it, help build it

PHI-CTRL is an active, evolving project — this dataset is a snapshot of one verification layer, not a finished product. A few ways to get involved:

  • Reproduce the baseline gate using the scripts and control law in the source repo, and compare against the PASS telemetry here.
  • Try the archived release directly via the citable Zenodo DOI (10.5281/zenodo.22218809) if you want a frozen, versioned snapshot instead of tracking main.
  • Extend the fault set — asymmetric faults, high-AoA regimes, multi-surface failures, or sensor-bias-only cases are all open. Open an issue or PR on GitHub, or use this dataset's Community tab here on Hugging Face.
  • Take on the c172p negative result — if you have flight-dynamics or JSBSim expertise and want to figure out why c172p won't trim, that's an open, documented problem waiting for a fix or a better explanation.

New releases (and their DOIs) are announced on the GitHub Releases page first — that's the best place to watch if you want to stay current with the project.


9. Citation

bibtex
@misc{bello2026phictrl-f16,
  author       = {Mohammed Bello Sani},
  title        = {PHI-CTRL F-16 Actuator Fault Recovery Dataset: High-Fidelity JSBSim 6-DOF Telemetry for Physics-Hybrid Self-Healing Flight Control},
  year         = {2026},
  publisher    = {Hugging Face},
  howpublished = {\url{https://huggingface.co/datasets/SM-Bello/PHI-CTRL-F16-Fault-Recovery-Telemetry}},
  doi          = {10.5281/zenodo.22218809},
  note         = {Part of the PHI-CTRL (Physics-Hybrid Integrity Control) research program. Source: https://github.com/Sm-bello/PHI-CTRL}
}

10. License & Contact

For questions, collaboration, or to contribute additional fault cases (asymmetric, high-AoA, multi-surface), open an issue on GitHub or use this dataset's Community tab.