Live autopilot firmware (PX4 & ArduPilot) in simulation, driven over MAVLink. Each curve is real
recorded telemetry sampled at 4 Hz through the run; numbered markers are the phase
transitions the scenario asserts on.
altitude (m)distance from home (m)
↪ hover (or tap) anywhere on a chart to read the exact telemetry at that moment.
1ARM · 0s2Takeoff · 0s3At altitude · 13s4Control: command 80 m (no fence) · 13s5Free flight reached ~80 m · 30s6Back home · 48s7Fence armed: command 80 m -> blocked · 48s8Contained near home · 70s9Fence armed around drone (60 m out) -> breach · 84s10Auto-Return home · 115s
Mission profile
PASS · 7 / 7
1ARM · 1s2Takeoff · 1s3At altitude · 10s4Run to ingress turn · 10s5ingress turn reached · 18s6Run to target · 18s7target reached · 27s8Terminal hold · 31s9GPS JAMMED at target · 31s10Failsafe: LAND · 53s
EW: GPS jamming
PASS · 6 / 6
1ARM · 1s2Takeoff · 1s3At altitude · 9s4Fly to target 40 m (GPS on) · 10s5Target reached · 16s6GPS JAMMED · 16s7Failsafe: LAND · 41s
PX4 / ArduPilot SITL · MAVLink · MAVSDK 3.15 — no physical hardware. Nominal & geofence run
on PX4; the two EW runs are real ArduPilot SITL (verified in E2B). The geofence run shows distance
staying flat near zero even after a 120 m command; the EW runs show the altitude dropping into a
GPS-loss LAND, and the optical-flow run holding altitude far longer before it lands.