1、课程导论与日志分析基础:为什么飞控调优离不开日志?
大家好,我是你们这门课的老朋友。在飞控这个行当里摸爬滚打了十来年,我踩过的坑,可能比你们飞过的航线还多。今天咱们开篇第一讲,不聊虚的,就聊聊那个最不起眼、但关键时刻能救命的东西——日志。
你想想看,一架无人机在天上飞,姿态不稳、偏航、甚至炸机。你落地后第一件事是什么?是拍大腿后悔?还是凭感觉瞎调参数?
都不是。真正专业的做法是——看日志。
核心观点:没有日志的飞控调优,就像蒙着眼睛开车。你只知道车在晃,但不知道是方向盘歪了、轮胎没气了、还是路不平。日志,就是你的行车记录仪和仪表盘。
1.1 为什么飞控调优离不开日志?
我个人习惯,每次试飞完,第一件事就是把日志拷出来。哪怕这次飞得很完美,我也要看一眼。为什么?因为飞控是一个复杂的实时系统,它内部的状态、传感器的原始数据、控制器的输出,这些信息在飞行过程中你是看不到的。
日志能告诉你三件事:
- 发生了什么:比如电机转速异常、GPS丢星、震动过大。
- 为什么发生:通过对比期望值和实际值,找到偏差来源。
- 怎么改:根据偏差趋势,调整对应的PID参数或滤波器设置。
我在项目中遇到过一架六轴,悬停时总是轻微左右晃动。肉眼看不出来,但飞起来就是不舒服。我看了半小时日志,发现是加速度计的Z轴噪声偏大,导致高度估计有波动。最后只是改了个低通滤波器的截止频率,问题就解决了。如果没有日志,我可能还在盲目调PID呢。
我的经验:调参不是玄学,是科学。日志就是你的实验数据。没有数据,你连问题在哪都不知道,更别提解决了。
1.2 日志文件结构解析:.bin / .log / .ulg
飞控日志的格式,说白了就三种主流。你用的飞控固件不同,日志后缀也不一样。别小看这个,搞错了工具打不开,白忙活。
| 格式 | 对应固件 | 特点 | 我常用的场景 |
|---|---|---|---|
| .bin | ArduPilot (APM/Pixhawk) | 二进制格式,体积小,解析快 | 长航时飞行、数据量大时首选 |
| .log | PX4 (旧版) / 部分APM | 文本格式,可读性好,但体积大 | 快速查看、小规模调试 |
| .ulg | PX4 (新版) | ULog格式,结构化,支持订阅 | PX4调优、需要精细分析时 |
嗯,这里要注意。很多人拿到一个.bin文件,直接用记事本打开,看到一堆乱码就懵了。其实.bin是二进制格式,必须用专用工具解析。而.log文件虽然是文本,但内容量巨大,手动翻找效率极低。所以,工具很重要。
1.3 常用日志分析工具介绍
工具选对了,事半功倍。我这些年用过不少工具,但真正好用的,也就下面这三个。咱们一个一个说。
1.3.1 Mission Planner (MP)
这是ArduPilot生态里的老大哥。功能非常全,从地面站控制到日志分析,一条龙服务。
- 优点:图形化界面,曲线绘制直观,支持多种数据回放。
- 缺点:界面略显臃肿,新手容易找不到功能入口。
- 我建议:如果你是ArduPilot用户,MP是必备工具。但别只盯着主界面,多看看“Flight Data”选项卡里的日志回放功能。
1.3.2 QGroundControl (QGC)
PX4的官方地面站,界面清爽,跨平台支持好。
- 优点:UI设计现代,操作逻辑清晰,支持.ulg日志直接拖拽分析。
- 缺点:日志分析功能相对MP弱一些,自定义程度不高。
- 我建议:PX4用户首选。特别是它的“Analyze”视图,可以快速查看传感器状态和控制器输出。
1.3.3 pyulog
这是一个Python库,专门用来解析.ulg文件。适合喜欢写脚本、做自动化分析的工程师。
- 优点:灵活,可以批量处理,能导出为CSV或直接生成图表。
- 缺点:需要编程基础,没有图形界面。
- 我建议:如果你需要做深度分析,比如对比多次飞行的数据,或者提取特定时间段的信息,pyulog是神器。
避坑指南:我曾经犯过一个低级错误——用MP打开PX4的.ulg日志,结果一堆数据解析错误。后来才发现,工具和日志格式必须匹配。MP只擅长解析.bin和.log,.ulg请交给QGC或pyulog。
1.4 本章知识体系总览
为了让大家对本章内容有个整体认识,我画了一张图。你可以把它当作一张地图,后面每讲一个知识点,都能在这张图上找到位置。
这张图把本章的核心逻辑串起来了。你看,日志分析不是孤立的一步,它连接了数据采集、工具使用和最终的调优决策。后面几章,我们会沿着这个逻辑,一步步深入。
1.5 小结
好了,第一讲就到这里。说白了,今天就是让大家明白一个道理:日志是飞控调优的基石。没有它,你就是在黑暗中摸索。有了它,你手里就有了地图和指南针。