Hi everyone,
I’m building PAMIR, an offline forensic analysis engine for PX4 ULogs.
The goal is not simply to flag anomalies, but to reconstruct an incident timeline and identify the earliest material root event, together with timestamped evidence showing what happened next.
PAMIR v0.1 has now passed a reproducible validation gate using:
- 5 public PX4 incident logs
- 3 healthy/control logs
- timestamp-based causal validation
- SHA256-pinned benchmark inputs
- no material root detections on the control set
The current focus is on:
- root-event detection
- causal ordering
- false-positive control
- evidence-backed incident reconstruction
One important part of the validation work was deliberately rejecting a case that initially looked like a motor-output failure, because closer inspection showed that the output change could be expected controller behaviour rather than a true failure. We chose not to tune the detector just to make the benchmark pass.
I’d really value feedback from the PX4 community on the methodology, especially around root-event detection, causal ordering, and additional public ULogs that could strengthen the validation set.
GitHub: https://github.com/yigitcan-ozturk/pamir
Feedback, criticism, and additional test cases are very welcome.