MAVLink日志基础:日志文件格式与查看工具

做飞控调试这些年,我见过太多人一上来就翻日志,结果连文件后缀都搞混。说实话,不懂日志格式,分析就是瞎忙活。这一章咱们就把基础打牢——日志长什么样、用什么工具看、怎么从飞控里倒出来。

核心要点:日志是飞控的“黑匣子”,记录着每一次传感器读数、控制指令和状态变化。解锁失败的原因,往往就藏在这些数据里。

2.1 日志文件格式:.bin 与 .log

ArduPilot 和 PX4 这两大主流固件,日志格式不太一样。我最早接触时也犯过糊涂,后来才摸清门道。

2.1.1 .bin 格式(ArduPilot 专用)

这是 ArduPilot 的默认日志格式。说白了,就是二进制文件,人眼直接看会是一堆乱码。但好处很明显:体积小、写入快、不丢数据。

  • 存储位置:飞控的 SD 卡或内部 Flash
  • 命名规则:XX_YYYY-MM-DD_HH-MM-SS.bin(XX 是序号)
  • 包含内容:GPS、IMU、RC 输入、电机输出、故障标志等

我的习惯:每次飞行后,我会把 .bin 文件按日期重命名,比如 2025-03-15_解锁失败.bin。这样找问题日志时,一眼就能定位。

2.1.2 .log 格式(PX4 专用)

PX4 用的是 ULog 格式,后缀是 .ulg。不过很多人习惯叫它 .log 文件。它也是二进制的,但结构跟 ArduPilot 不太一样。

  • 存储位置:SD 卡上的 /log 目录
  • 命名规则:session_YYYY-MM-DD_HH-MM-SS.ulg
  • 特点:自带订阅/发布模型,数据组织更灵活
对比项 .bin(ArduPilot) .ulg(PX4)
文件大小 较小(压缩率高) 中等
可读性 需专用工具解析 需专用工具解析
数据完整性 强(带 CRC 校验) 强(带时间戳同步)
常见问题 SD 卡损坏导致日志不全 日志文件未正常关闭

避坑指南:我曾经遇到过 SD 卡接触不良,飞了 10 分钟结果日志只记录了前 30 秒。后来我养成习惯——每次上电前检查 SD 卡是否插紧,格式化用 FAT32,簇大小选 32KB。

2.2 常用日志查看工具

工欲善其事,必先利其器。我常用的工具就两个:Mission Planner 和 QGroundControl。各有千秋,看场景选。

2.2.1 Mission Planner(MP)

MP 是 ArduPilot 生态的老牌工具。我个人觉得它的日志分析模块是同类里最成熟的。

  • 打开方式:菜单栏 → Flight Data → Log 标签页 → Download Log 或 Browse Log
  • 核心功能:
    • 曲线图查看(可叠加多个参数)
    • 数据导出为 CSV
    • 自动分析(如震动检测、解锁失败原因)
  • 我的用法:先让 MP 自动分析一遍,再看关键参数的曲线。比如解锁失败,我会直接看 ARMING_CHECK 和 MOTORS 状态。

2.2.2 QGroundControl(QGC)

QGC 是 PX4 的官方地面站,也支持 ArduPilot。它的日志查看器比较轻量,但3D 回放功能很赞。

  • 打开方式:菜单 → Analyze Tools → Log Download 或 Log Viewer
  • 核心功能:
    • 参数曲线查看
    • 3D 飞行轨迹回放
    • 消息列表(MAVLink 消息原文)
  • 注意:QGC 的日志分析不如 MP 深入,但胜在跨平台、界面简洁。

我的建议:如果你主要用 ArduPilot,优先学 MP;如果是 PX4,QGC 更顺手。但两个工具都装一下没坏处——有时候同一个日志,两个工具交叉验证能发现更多细节。

2.3 日志下载方法

日志在飞控里,得想办法弄到电脑上。常见方法有三种,我按推荐顺序列出来。

2.3.1 通过地面站下载(最常用)

这是最稳妥的方式。飞控通过 USB 或数传连接地面站,直接下载。

  1. 连接飞控:USB 线或数传模块,确保地面站显示“已连接”
  2. 进入日志管理:
    • MP:Flight Data → Log → Download Log
    • QGC:Analyze Tools → Log Download
  3. 选择日志:按时间或序号选择,支持批量下载
  4. 保存到本地:选个文件夹,等进度条走完

注意:下载过程中不要断开连接。我见过有人拔线太早,日志文件损坏,白忙一场。下载完成后,最好在飞控上格式化 SD 卡,腾出空间。

2.3.2 直接拔 SD 卡(最快)

如果飞控的 SD 卡容易取出来,这方法最快。但要注意静电和插拔次数。

  • 步骤:断电 → 取出 SD 卡 → 读卡器连电脑 → 复制日志文件
  • 优点:速度快,不受连接质量影响
  • 缺点:频繁插拔可能损坏卡槽或 SD 卡

2.3.3 通过 MAVLink FTP 协议(远程下载)

飞控在空中时,可以通过数传远程下载日志。这需要地面站支持 MAVLink FTP。

  • 适用场景:飞控已经装好,不方便拆机取卡
  • 操作:MP 或 QGC 都支持,在日志管理界面选择“远程下载”
  • 缺点:速度慢(取决于数传波特率),大日志可能超时

我的经验:远程下载只适合小日志(几 MB 以内)。大日志还是老老实实拔卡或 USB 直连。有一次我在户外用 915MHz 数传下载一个 50MB 的日志,等了 40 分钟……后来再也不这么干了。

2.4 本章知识体系

下面这张图帮你理清日志基础的核心脉络。我画图时习惯把文件格式和工具分开,这样思路更清晰。

MAVLink日志基础知识体系 MAVLink日志基础 日志文件格式 .bin (ArduPilot) .ulg (PX4) 日志查看工具 Mission Planner QGroundControl 日志下载方法 地面站下载 拔SD卡 核心:日志是解锁失败分析的“第一手证据” 掌握格式、工具、下载方法,才能高效定位问题

嗯,这张图把本章内容串起来了。你想想看——文件格式决定你怎么解析数据,工具决定你怎么看数据,下载方法决定你怎么拿到数据。三者缺一不可。

总结一下:.bin 和 .ulg 是两种主流格式,MP 和 QGC 是两大主力工具,地面站下载、拔卡、远程下载是三种获取方式。把这些基础打牢,后面分析解锁失败原因时,你才不会手忙脚乱。