Research · Sensor integrity

CSIA trust layer

Real-time cross-sensor validation that gives every sensor on an autonomous aircraft a continuously updated trust coefficient, and reports anomalies as a probability over causes instead of a pass/fail flag.

Held-out tested; runs on the STM32H743Source on GitHub
Two-detector coverage map from the CSIA systems paper

The Cross-Sensor Intelligence Architecture (CSIA) is a working demonstration built at SWORT. It replaces naive weighted-average sensor fusion with a Dynamic Trust Graph: each node is a sensor, each edge encodes a physical relationship between two sensors, and every sensor carries a Trust Coefficient that is updated continuously as the aircraft flies.

When something goes wrong, CSIA does not raise a single fault flag. Its output is a probability distribution over likely causes, so an operator sees which channel is probably lying, not only that something is.

How it runs

The deployable path is a 25 Hz causal runtime:

SourcePlugin → OnlineTrustLayer → FailsafePolicy → Actuators
(MAVLink | simulator)  (trust + diagnosis)  (state machine)  (log | MAVLink)
  • OnlineTrustLayer ingests one sample at a time and emits eight trust coefficients, evidence sub-scores and the diagnosis posterior every tick.
  • FailsafePolicy is a deterministic state machine, NORMAL → CAUTION → CRITICAL → EMERGENCY, with dwell times and hysteresis so it never flaps on a single tick.
  • Raw-sensor monitoring. The GPS node reads the raw receiver stream, not the autopilot's fused estimate. In SITL a GPS glitch was invisible in the fused output and caught from the raw stream.
  • Every failsafe output is advisory by default; nothing commands the vehicle unless that is separately enabled.

The same logic also runs as a zero-allocation C runtime on the STM32H743, with under 100 µs maximum observed execution time.

Evidence

Test Result
ArduPilot SITL, full autonomous mission over live MAVLink Pass: 6 sensors monitored, minimum trust 0.78, zero false alarms, landed
SITL fault injection into the real autopilot mid-flight Pass: GPS glitch and fix loss detected live (GPS trust 0.99 → 0.70)
Held-out tests 95% fault-event detection; fewer than 1 false alert per 10 nominal hours
Log evaluation 1,500 logs, 60 hours
STM32H743 target Under 100 µs maximum observed execution time
Soak test through the reset path 277,500 ticks over 3.1 flight-equivalent hours, 0 errors
C runtime against the Python reference Zero-allocation; agrees within 1e-12

Status and limits

Deployable advisory software. It has been validated in simulation, against a live SITL autopilot, on held-out logs and on STM32H743 hardware. It is not certified flight-critical software, and it is given no command authority until that is separately enabled and validated.

Learn avionics

Go deeper at SWORT Learn.

A free, seven-stage practice program in aerospace sensors and flight data. Follow one number from the instrument that made it to the surface it moves, investigate a flight nobody has explained to you, then defend what you concluded. It runs in your browser: no account, nothing sent.

Open swort.net/learn