第二章:飞控固件与地面站
做飞控调试,说白了就是跟两样东西打交道:固件和地面站。
固件是飞控的大脑,地面站是你跟大脑对话的窗口。这两样选不对、装不好,后面所有调试都是空中楼阁。今天我就把这两块掰开了讲清楚。
2.1 两大主流固件:ArduPilot 与 PX4
目前开源飞控圈子里,能打的就两个:ArduPilot 和 PX4。我两个都用过,各有各的脾气。
2.1.1 ArduPilot
ArduPilot 是老牌劲旅,2007年就诞生了。它的代码用 C++ 写的,支持载具类型极多——四轴、固定翼、无人船、潜水器,甚至地面车辆都能跑。
我个人习惯用 ArduPilot 做测绘和农业无人机。为什么?因为它的任务规划器(Mission Planner)太成熟了,航线规划、地理围栏、日志分析,一套下来行云流水。
- 支持载具类型:多旋翼、固定翼、直升机、无人车、无人船、潜水器
- 代码语言:C++(ArduPilot 库)
- 地面站:Mission Planner(Windows)、QGroundControl(跨平台)
- 参数数量:约 2000+ 个可调参数
- 社区活跃度:极高,文档齐全
2.1.2 PX4
PX4 是后起之秀,2012年从苏黎世联邦理工学院孵化出来。它的架构更现代,代码用 C++ 和 Python 混合,模块化做得很好。
我建议做科研或者需要深度定制飞控的朋友优先考虑 PX4。为什么?因为它的内部状态估计器(如 LPE、EKF2)设计得更清晰,方便你改算法。
- 支持载具类型:多旋翼、固定翼、VTOL、无人车
- 代码语言:C++(PX4 Firmware)、Python(辅助工具)
- 地面站:QGroundControl(官方推荐)
- 参数数量:约 1500+ 个可调参数
- 社区活跃度:高,学术圈用得较多
2.1.3 两者对比
| 对比项 | ArduPilot | PX4 |
|---|---|---|
| 诞生时间 | 2007年 | 2012年 |
| 代码架构 | 整体式(Monolithic) | 模块化(Modular) |
| 地面站首选 | Mission Planner | QGroundControl |
| 参数数量 | 约 2000+ | 约 1500+ |
| VTOL 支持 | 一般 | 优秀 |
| 学术圈使用 | 较少 | 较多 |
| 日志分析工具 | Mission Planner 内置 | Flight Review(网页) |
嗯,这里要注意:选固件不是选美,得看你的硬件平台。比如 Pixhawk 1 跑 ArduPilot 很稳,但跑 PX4 就有点吃力。反过来,Pixhawk 4 跑 PX4 是绝配。
2.2 地面站安装与基本使用
地面站就是你的遥控器升级版。没有它,你连飞控参数都看不到。
2.2.1 Mission Planner 安装
Mission Planner 是 ArduPilot 的官方地面站,只支持 Windows。安装很简单:
- 去 ArduPilot 官网下载最新版安装包(约 200MB)
- 双击安装,一路 Next 就行
- 安装完成后,打开软件会自动检测固件版本
基本使用流程:
- 连接飞控:用 USB 线连接飞控和电脑,在 Mission Planner 右上角选择 COM 口,波特率选 115200(大部分飞控默认)
- 刷写固件:点击「初始设置」→「安装固件」,选择你的飞控型号和固件版本
- 查看参数:点击「配置/调试」→「全部参数表」,这里能看到所有可调参数
- 日志下载:飞行结束后,点击「飞行数据」→「下载日志」,分析飞行数据
2.2.2 QGroundControl 安装
QGroundControl(简称 QGC)是 PX4 的官方地面站,跨平台支持 Windows、macOS、Linux、iOS、Android。
安装方式:
- Windows/macOS/Linux:去官网下载对应版本,解压即用(绿色软件)
- iOS/Android:App Store 或 Google Play 搜索 QGroundControl 安装
- 界面比 Mission Planner 更现代,触屏友好
- 内置飞行地图(支持离线地图)
- 参数搜索功能很强大,输入关键词就能找到
- 支持多语言(包括中文)
基本使用流程:
- 连接飞控:同样用 USB 连接,QGC 会自动识别飞控(不需要手动选 COM 口)
- 刷写固件:点击左上角齿轮图标 →「固件」,选择飞控型号和固件版本
- 查看参数:点击「参数」→ 搜索或浏览参数列表
- 日志分析:飞行结束后,点击「分析」→ 选择日志文件,QGC 会生成飞行轨迹和传感器数据图表
2.3 知识体系结构图
下面这张图帮你理清固件和地面站的关系:
这张图你看懂了吗?固件和地面站通过 MAVLink 协议通信。你在地面站上改一个参数,飞控就会立刻响应。说白了,地面站就是飞控的「仪表盘」和「方向盘」。
2.4 我的选择建议
如果你问我怎么选,我的建议是:
- 新手入门:选 ArduPilot + Mission Planner。文档多、社区大、遇到问题容易搜到答案
- 科研/深度定制:选 PX4 + QGroundControl。模块化架构方便你改代码、加算法
- VTOL 项目:优先 PX4,它的 VTOL 支持更成熟
- 测绘/农业:ArduPilot 更合适,任务规划功能更强大
好了,固件和地面站就讲到这里。记住一句话:选对工具,调试就成功了一半。下一章我们开始实战——连接飞控、刷固件、做校准。到时候我会手把手带你走一遍。