4. 地面站软件架构:QGroundControl 与 Mission Planner
说到地面站软件,圈子里最常用的就是两套:QGroundControl(简称 QGC)和 Mission Planner(简称 MP)。
我入行那会儿,MP 还是绝对的主流。后来 QGC 慢慢起来了,尤其是配合 PX4 飞控,体验确实不错。到现在,我电脑里两个都装着。为什么?因为各有各的脾气,也各有各的绝活。
这一节,我就带你把这两款软件的界面布局和功能模块拆开看看。你搞清楚它们的架构,以后用起来心里才有底。
4.1 两大主流地面站:定位与差异
先给个总体的印象。MP 和 QGC 虽然都是地面站,但设计哲学不太一样。
| 对比维度 | Mission Planner (MP) | QGroundControl (QGC) |
|---|---|---|
| 主要支持飞控 | ArduPilot 系列(APM、Pixhawk) | PX4、ArduPilot |
| 开发语言 | C# (.NET Framework) | C++ (Qt / QML) |
| 跨平台 | 仅 Windows | Windows / macOS / iOS / Android |
| 界面风格 | 传统桌面软件,功能密集 | 现代扁平化,触屏友好 |
| 核心优势 | 参数调参极细,日志分析强大 | 跨平台,UI 清爽,上手快 |
我的建议:如果你主要飞 ArduPilot,而且喜欢把所有参数都攥在手里,MP 是首选。如果你飞 PX4,或者需要在平板/手机上用,那 QGC 更合适。我个人是两台电脑,一台跑 MP 做深度调参,一台跑 QGC 做外场快速部署。
4.2 软件界面布局:从外到内看门道
不管哪款软件,地面站的界面布局都有共通之处。说白了,就是 数据仪表盘 + 地图 + 控制面板 这三块。
4.2.1 Mission Planner 界面布局
MP 的界面,第一眼看上去会觉得有点「满」。但用久了你会发现,这种布局效率很高。
- 顶部菜单栏:飞行数据、飞行计划、初始设置、配置/调参、模拟、终端。这是 MP 的功能总入口。
- 左侧仪表板:姿态指示器、高度、空速、地速、GPS 状态、电池电压电流。这是飞行时的核心数据区。
- 中央地图区:显示飞机位置、航点、飞行轨迹。支持 Google 地图、Bing 地图等。
- 右侧动作面板:连接/断开、解锁/上锁、飞行模式切换、ARM 状态、遥控器信号强度。
- 底部状态栏:串口/网络连接状态、心跳包计数、GPS 锁定颗数、系统时间。
避坑指南:我曾经在野外调试时,MP 突然卡死。后来发现是左侧仪表板的某个插件崩溃了。从那以后,我养成了一个习惯——外场飞行时,把不用的仪表插件关掉,只保留核心数据。这能大大降低软件崩溃的概率。
4.2.2 QGroundControl 界面布局
QGC 的界面就清爽多了。它采用 侧边栏 + 堆叠视图 的设计,很适合触屏操作。
- 左侧工具栏:从上到下依次是:软件设置、飞机设置、计划、飞行、分析。每个图标对应一个主视图。
- 中央主视图:根据左侧选择的模式切换。飞行模式下是地图 + HUD 叠加;计划模式下是航点编辑器。
- 顶部状态栏:GPS 状态、电池电量、飞行模式、ARM 状态、遥测信号 RSSI。非常精简。
- 底部/浮动面板:根据上下文弹出,比如点击地图上的飞机,会弹出详细的遥测数据卡片。
嗯,这里要注意。QGC 的 HUD(平视显示器)是直接叠加在地图上的,不像 MP 是独立的仪表板。这种设计在手机或平板上很舒服,但在大屏显示器上,我个人觉得信息密度有点低。
4.3 主要功能模块划分
我把两个软件的功能模块做了个对照。你理解了这些模块,就知道遇到问题该去哪个界面找答案了。
4.3.1 通信与连接模块
这是地面站的「血管」。没有它,飞机就是聋子瞎子。
- MP:通过「连接」按钮选择串口、波特率、TCP/UDP 端口。支持 MAVLink 1 和 2 协议。
- QGC:自动扫描串口和网络设备。支持 USB、WiFi(UDP)、蓝牙、串口转 Ethernet。
重要提醒:连接不上时,先检查波特率。MP 默认 115200,QGC 默认 57600。我遇到过好几次,飞控参数没改,地面站波特率没对上,折腾了半天。先看波特率,再看串口号,最后看驱动。
4.3.2 飞行数据监控模块
这是地面站的「眼睛」。
- MP:提供「飞行数据」界面,包含姿态表、垂直速度表、GPS 信息、电池状态、传感器原始值。支持自定义仪表板布局。
- QGC:提供「飞行」界面,HUD 叠加在地图上,显示空速、高度、垂直速度、航向。点击飞机图标可查看详细遥测。
4.3.3 任务规划模块
这是地面站的「大脑」。
- MP:「飞行计划」界面。支持航点、区域测绘、兴趣点环绕。可以导入 KML 文件生成航线。支持多任务文件保存。
- QGC:「计划」界面。支持航点、测绘模式(栅格、多边形)。操作更直观,拖拽即可调整航点。支持离线地图缓存。
4.3.4 参数调参与配置模块
这是地面站的「手术刀」。
- MP:「配置/调参」界面。这是 MP 的杀手锏。你可以搜索、修改、保存/加载全部参数。支持 PID 调参、扩展卡尔曼滤波配置、传感器校准。
- QGC:「飞机设置」界面。参数以分类形式展示,比如「安全」、「电池」、「电机」。支持参数搜索,但不如 MP 那么细。
我的经验:做深度调参时,我必用 MP。它的参数搜索功能太强了。比如你想找所有跟「罗盘」相关的参数,输入 "compass",瞬间列出几十个。QGC 虽然也有搜索,但分类逻辑有时候让我找不到北。
4.3.5 日志与数据分析模块
这是地面站的「记忆」。
- MP:「飞行数据」界面内置日志回放功能。可以加载 .bin 或 .log 文件,回放飞行过程,查看任意参数曲线。支持导出为 CSV。
- QGC:「分析」界面。支持加载 .ulog 文件(PX4 格式)。可以查看日志中的消息列表、参数变化、传感器数据。但曲线分析功能不如 MP 强大。
4.3.6 模拟与仿真模块
这是地面站的「训练场」。
- MP:内置 SITL(软件在环)模拟器。可以模拟 ArduPilot 飞控,配合 Mission Planner 进行完整的飞行测试。
- QGC:支持与 Gazebo、AirSim 等外部仿真器连接。本身不内置模拟器,但通过 MAVLink 协议与外部仿真器通信。
4.4 知识体系总览:地面站软件架构图
下面这张图,是我自己梳理的。它把 MP 和 QGC 的共性架构抽象了出来。你把这个图记在脑子里,以后不管用哪款地面站,都能快速定位功能。
4.5 如何选择与切换
最后,说说我的实际选择策略。
- 外场快速作业:用 QGC。启动快,界面干净,触屏操作方便。配合平板电脑,站在飞机旁边就能改航点。
- 内场深度调参:用 MP。参数搜索、日志分析、PID 调参,MP 的深度是 QGC 比不了的。
- 故障排查:两个都用。先用 QGC 快速查看当前状态和错误消息。如果问题复杂,再用 MP 下载完整日志,做逐帧分析。
核心观点:不要纠结于「哪个更好」。工具是拿来用的,不是拿来比的。MP 和 QGC 是互补关系,不是替代关系。我建议你两个都装,都学会。遇到不同场景,用不同的刀。