Jets, drones and ground robots
Built for the machines
you actually field.
Jet-powered UAS, multirotor drones and tracked or wheeled ground robots, rebuilt from the logs each part already writes.
Jet-powered UAS
Only the recorder saw the aircraft decide.
In a 5 g reversal 110 km from the ground site, the airframe hid its own belly antennas. The lost-link timer fired while the ground was blind, and the reconstruction shows it fired exactly on time.
- Aircraft
- Turbojet target-class UAS, 640 kg at the event, 4.2 m span
- Test point
- TP-7: 5.0 g level turn left, 180° reversal, FL150, M0.70, 110 km due east of the ground site
- Lost-link logic
- No valid uplink frame for 3.0 s: abort the test point, roll wings level, climb to FL160 and fly to the lost-link orbit
- Sources read
- The onboard IRIG 106 Chapter 10 recording (time, PCM, 1553, ARINC 429 and Ethernet channels), the ground telemetry recording and receiver log, the C2 ground station log, radar TSPI and the flight termination console log
| Event | Vehicle time, UTC | Source | What it shows |
|---|---|---|---|
| A1 | 17:42:03.000 | Recorder, 1553 FCC status | FCC starts TP-7: roll into a 5 g left reversal at 60°/s |
| A2 | 17:42:03.580 | Recorder, C2 modem valid-frame counter | Last valid uplink frame |
| A3 | 17:42:03.779 | Ground Chapter 10 PCM, LOCKST | Decommutator loses frame lock |
| A4 | 17:42:06.580 | Recorder, 1553 FCC status | LOST LINK, 3.000 s after the last valid frame; roll-out begins |
| A5 | 17:42:06.861 | Ground Chapter 10 PCM, LOCKST | Frame lock regained; the first frames already carry LOST LINK |
| A6 | 17:42:07.140 | Recorder, C2 modem valid-frame counter | First valid uplink frame; the FCC stays in LOST LINK, as designed |
| A7 | 17:42:07.888 | Recorder, EGI attitude; radar TSPI | Wings level on 324.6°, then a 30° right turn toward the lost-link orbit |
| A8 | 17:42:10.228 | PCM FTS ARM discrete; FTS console log | Flight termination armed as a precaution, 12.0 ms after the console command |
| A9 | 17:42:12.941 | Recorder, 1553 FCC status; C2 ground log | Operator RESUME clears LOST LINK 37 ms after it was sent |
Finding: the test card, not the aircraft
Here the clocks are not the problem
What the evidence shows
- The uplink and telemetry losses start 46 ms and 138 ms after the line of sight climbs past 30° above the belly plane, and end as it falls back in the roll-out.
- LOST LINK engaged 3.000 s after the last valid uplink frame, exactly as configured, and the aircraft flew the lost-link route.
- The flight termination link never came near its margin: its lowest reading was 3.42 V against a 1.66 V line.
What it does not
- That the airframe caused the shadowing. It is correlated, and the 15° knee and 1 dB per degree slope stay a hypothesis until an antenna pattern measurement confirms them.
- The exact instant the flight computer set LOST LINK. Status words ride a 20 ms bus schedule, so the report places it to ±20 ms.
- Why termination was armed. The console log records the command; the rule behind it lives in the range’s procedures.
Multirotor drones
The flight controller was fine. The companion computer wasn’t.
Telemetry stopped within a second of the kernel killing a service that had run out of memory. Nothing points at the radio: the MAVLink router stopped 19 ms after the service exited, and telemetry came back when the router did.
- 114:32:01.204perception_node memory above 6,144 MiB for 3 samplesProcesses
- 214:32:04.079Last obstacle_distance sample before a 7.5 s stallFlight log
- 314:32:04.118Kernel killed perception_node (out of memory)Journal
- 414:32:04.133perception.service main process exited, status 9/KILLJournal
- 514:32:04.152mavlink-router.service stoppedJournal
- 614:32:04.912Heartbeat due and not received. Nothing for 6.96 sReceive
- 714:32:09.214perception.service startedJournal
- 814:32:10.874Telemetry received againReceive
- Example incident INC-0142
- Companion journal (systemd)
- Process memory, CPU and restarts
Ground robots
Vibration, a USB radio and a 10 second timer.
In the obstacle belt, the mesh radio dropped off the companion computer’s USB bus 1.69 s after vibration crossed 24 m/s². PX4 held the vehicle 11.9 s after the last ground heartbeat reached it, not 10: its timer counts from the last status report that still carried the heartbeat.
- 115:41:00.912Vibration above 24 m/s² for 1 s in the obstacle belt
- 215:41:02.604Kernel: USB device 1-2.3 disconnected (mesh radio)
- 315:41:02.790mavlink-routerd cannot reach range control
- 415:41:03.713Heartbeat due and not received. Nothing for 31.0 s
- 515:41:05.286No ground station heartbeat on TELEM2
- 615:41:14.293GCS connection loss: switching to Hold
- 715:41:32.214Kernel: usb0 registered again
- 815:42:10.511Mission resumed from range control
- Example incident INC-0143
- Kernel and service events from the journal
- PX4 Hold traced to COM_DL_LOSS_T
What we need from your vehicle
The more sources, the tighter the ordering.
A flight log alone is enough to start. Each source you add pins more events to UTC and closes more of the gaps between them.
| Source | What to send | Need | Why |
|---|---|---|---|
| PX4 flight log | .ulg | Required | The completed ULog from the flight controller’s SD card. |
| Companion journal | journalctl -o json --since … --until … | Recommended | The systemd journal export covering the flight, with its boot ID. |
| Ground receive log | .jsonl | Recommended | What range control heard from the vehicle, and when. |
| Collector samples | .jsonl | Optional | Process memory, CPU and restarts, if the collector was installed. |
A pilot on your own data
Bring your hardest incident.
Send one failure you have already investigated. We rebuild it on your data, beside your current tools, and show where the evidence agrees with your conclusion and where it doesn’t.
- 1Send one incidentA failure you have already investigated, with the flight log and whatever companion or ground evidence you kept.
- 2We reconstruct itBeside your current tools, on your data, with every claim traced to its source.
- 3Compare the answersWhere the evidence agrees with your conclusion, where it does not, and what it cannot decide.