
How LogHat AI Analyses a Drone Crash Log Automatically
Key Takeaway
LogHat analyses an ArduPilot .bin or PX4 .ulg in under a minute. The pipeline normalises the log, runs four parallel parsers, cross-references against a Qdrant knowledge base of ArduPilot/PX4 community threads, and ranks root-cause hypotheses with the supporting ERR Subsys/ECode evidence. Output is a downloadable PDF plus an interactive 3D replay.
TL;DR: Drop a .bin, .tlog, .log, or .ulg into LogHat and the analysis pipeline returns a crash diagnosis in under a minute. The Vector AI copilot reads every ERR and MSG line, identifies failsafe chains, and surfaces the three or four signals most likely to be the root cause. It won't replace the screwdriver work, but it compresses the first hour of forensic analysis into 60 seconds you can act on.
What happens to your log in those 60 seconds
- Upload. The file lands in Azure Blob via a 1-hour SAS write URL. The log never sits on a public endpoint.
- Format detection.
.binand.logroute through the ArduPilot DATAFLASH parser;.ulgthrough the PX4 ULog adapter;.tlogthrough the MAVLink telemetry adapter. All three normalise into the same internal schema so the downstream analysis is identical. - Four parallel parsers. A demuxer reads the file once and fans each MAVLink message to four concurrent cursors: deep flight analysis, sim-core extraction, AI digest, and telemetry graphs. The slowest stage is the bottleneck, not the I/O.
- Vector AI digest. Your log is cross-referenced against a Qdrant knowledge base of ArduPilot and PX4 forum threads, official docs, and prior LogHat analyses. The pipeline surfaces the specific
ERR SubsysandECodevalues your log produced, the failsafe sequence, and the parameters most likely to be misconfigured. - 3D replay + PDF. The complete report lands as a downloadable PDF plus an interactive 3D replay you can scrub through frame by frame.
What the copilot tells you that grep can't
A raw messages ERR dump in MAVExplorer lists every error code in the log. What it doesn't do is order them by causal probability. The Vector AI weights events — an isolated ERR Subsys=11 ECode=2 GPS glitch is information, but a Subsys=11 ECode=2 followed within 500 ms by Subsys=17 ECode=1 (EKF failsafe) followed by Subsys=12 ECode=1 (crash check) is a causal chain that points at the GPS as the originating cause. The chain matters more than any single error.
An example workflow
Suppose your hex went down ten minutes into a survey mission. You upload the .bin.
- Within 45 seconds you see the "Root Cause Hypotheses" section in the PDF. Top hypothesis: GPS-induced position drift triggering EKF failsafe. Confidence: high.
- The supporting evidence:
GPS.HDopclimbed from 0.9 to 2.4 over 8 seconds,GPS.NSatsdropped from 18 to 7,XKF4.SPcrossed 1.0 four times in the next 3 seconds, and anERR Subsys=17 ECode=1wrote atTimeUS=614223110. - You click "Show in 3D replay" and the timeline scrubs to that timestamp. You watch the drone's track drift north over an industrial roof — structures that suggest multipath.
- Recommended actions appear: elevate the GPS antenna, enable
GPS_GNSS_MODE = 65for multi-constellation, and gate arming onHDop < 1.2. Each links to our deeper post on the topic.
Total time from upload to actionable plan: under a minute.
What it won't do for you
- It won't replay your decisions. The pilot's stick history is in
RCIN. The copilot reports the inputs but won't tell you that switching to STABILIZE during a position glitch was the wrong call — that judgement is yours. - It won't see what the log can't see. Direct sun on the barometer, a loose servo cable, a fuel tap that wasn't fully open, prop damage from a hard landing the day before — these only show up as downstream symptoms.
- It won't replace tuning. If the log shows oscillations at 40 Hz, we can flag them and link to our VIBE and harmonic notch posts. The actual
INS_HNTCH_*configuration is something you decide based on your airframe. - It won't certify your operation. The PDF report is a forensic narrative; it isn't a substitute for an airworthiness investigation, an insurance assessor's report, or a regulator-compliant audit.
The artefacts you can integrate
Every output we generate is also available as a JSON blob. vector_analysis.json contains the normalised event timeline; flight_metadata.json carries the flight envelope summary; report_digest.json is the text the Vector chat references. If you want to integrate LogHat into your own dashboard or maintenance-ticket system, those three files are the contract — the PDF and 3D replay are surfaces built on top.
How to make the AI sharper for your fleet
Every hypothesis carries a thumbs-up/down. Down-votes are the highest-value feedback we get — each correction sharpens the next analysis for the next engineer with a similar crash. Use them generously.
About the author
LogHat Engineering Team
The LogHat engineering team — drone-systems engineers who build and operate the LogHat flight analytics platform. Posts in this byline are written and reviewed by team members working on the parsers, analysis engine, and Vector AI that the post describes.
Tagged
Try LogHat
Analyze your flight logs in seconds
Upload a .bin, .tlog, .log, or .ulg file. Get AI crash analysis, 3D replay, and forensic PDF reports instantly.
Try LogHat Free