QGroundControl¶
QGroundControl 是 RflySim 工具链默认采用的地面站软件,主要负责任务规划、状态监控、参数配置和飞行模式切换。在整套系统中,它连接的是“操作员”和“飞控”,而不是动力学解算或三维渲染本身。
软件定位¶
在 RflySim 的使用链路里,QGroundControl 最适合这样理解:
- 它不是仿真器
- 它不是三维显示软件
- 它不是算法执行环境
- 它是飞控配置、任务规划和飞行监控界面
如果 CopterSim 负责让飞行器“动起来”,RflySim3D 负责让你“看见它”,那么 QGC 负责让你“管住它”。
在 RflySim 中的角色¶
QGC 在 RflySim 里的典型职责包括:
| 职责 | 说明 |
|---|---|
| 状态监控 | 查看位置、姿态、速度、电池、模式等遥测信息 |
| 任务规划 | 航点规划、任务上传、任务执行 |
| 参数配置 | PX4 参数调试与传感器校准 |
| 模式切换 | Manual、Mission、Return、Offboard 等 |
| 固件相关操作 | 固件升级、设备识别、部分定制化刷写流程 |
对大多数用户而言,QGC 是“飞控侧入口”,而不是“整套仿真入口”。
典型使用路径¶
SITL 链路¶
最常见的实验流程是:
- 启动
SimCreate或 BAT - 拉起
CopterSim + PX4 SITL + RflySim3D + QGC - 在
QGC中查看遥测和模式 - 完成解锁、模式切换、任务上传等操作
HITL 链路¶
在硬件在环场景中,QGC 更像真实实验中的地面站:
- 通过串口或网络连接 Pixhawk
- 查看真实飞控状态
- 配置
SYS_ID、传感器、任务模式等 - 配合
CopterSim完成虚实结合验证
核心功能¶
实时监控¶
QGC 可以持续显示:
- 位置
- 姿态
- 速度
- 电池
- GPS 状态
- 飞行模式
这一步在调试阶段极其重要,因为它往往是判断“问题在飞控侧还是在仿真侧”的第一观察面。
任务规划¶
对基于 PX4 的任务型实验来说,QGC 的核心价值之一就是地图航点规划。它适合:
- 巡线飞行
- 区域覆盖
- 航拍测绘
- 自动巡检
- 返航与失效保护验证
参数调试¶
在仿真阶段提前把参数调顺,往往能明显降低后续 HITL 和实飞风险。
飞行模式管理¶
常用模式包括:
ManualAltitudePositionHoldMissionReturnLandOffboard
其中 Offboard 是外部算法接管控制时最常用的入口模式。
任务规划与上传¶
从 RflySim 的使用视角看,任务规划主要分三步:
1. 在地图上定义任务¶
包括:
- 起飞点
- 航点序列
- 高度与速度
- 相机或载荷触发动作
2. 上传给飞控¶
这一步通过 MAVLink 完成。对用户来说,不必记住全部消息细节,但要知道任务上传不是“画完就结束”,而是一个有确认和校验的过程。
3. 启动任务并观察执行¶
任务执行阶段要结合:
- 当前模式
- 安全约束
- 返航与地理围栏
- 实时遥测
对课程和验证型实验来说,这一步能很好地覆盖“任务系统是否按预期工作”。
通信链路¶
在 RflySim 里的典型关系¶
在完整工具链里,QGC 经常同时与以下对象形成协同:
PX4 SITLPixhawkCopterSim- Python / ROS 外部控制程序
通信方式¶
常见方式包括:
- UDP
- TCP
- 串口
- MAVLink 消息流

如果是仿真环境,更多是 UDP 和 MAVLink;如果是 HITL,串口链路就更重要。
对用户最有用的理解¶
判断 QGC 是否工作正常,通常只需要先看三件事:
- 是否连接上了正确目标
- 是否持续收到心跳和遥测
- 当前模式切换和任务上传是否正常
多机配置¶
多机仿真里,QGC 主要承担的是“识别多架飞行器并分别管理”的角色。
最关键的参数¶
SYS_ID 必须唯一。
如果多台 Pixhawk 或多套飞控链路编号冲突,后续的:
- 遥测显示
- 任务分发
- 模式切换
- 参数修改
都会出现混乱。
使用建议¶
- 多机前先规划好 ID 规则
- 先让每架载具能被单独识别
- 再考虑批量任务和集群显示
在 RflySim 中的使用建议¶
先分清责任边界¶
很多新手会把问题都归到 QGC 上,但实际上:
- 看不到飞机通常不是
QGC的问题 - 没图像也不是
QGC的问题 - 动力学不稳定也通常不是
QGC的问题
QGC 更适合用于确认:
- 飞控是否在线
- 当前模式是否正确
- 参数是否配置成功
- 任务是否上传和执行成功
对 Offboard 的理解¶
很多外部控制实验并不在 QGC 里直接控制,而是:
- 用
QGC解锁并切到合适模式 - 由 Python / ROS / Simulink 程序接管控制
这时 QGC 更像状态监控和安全入口,而不是主控制器。
定制版 QGC¶
RflySim 的 QGC 链路还包含若干定制能力,例如:
- 共享内存图像相关功能
- 固件下载与刷写定制项
- 与 RflySim 工具链更紧密的接口协同
所以这里不能把它只当作“原版 QGroundControl 教程”来看。
常见问题¶
| 问题 | 更可能的原因 | 处理思路 |
|---|---|---|
| QGC 连不上仿真 | PX4 / MAVLink 链路没起来 | 先检查 SITL 或飞控端心跳 |
| 多机只识别一架 | SYS_ID 冲突 |
先统一规划编号 |
| 任务传不上去 | 当前飞控状态或任务内容异常 | 先做简单任务上传验证 |
| 参数改了没效果 | 参数未真正下发或需重启生效 | 结合飞控状态确认 |
| 图像功能异常 | 不是普通 QGC 功能问题,可能是定制链路问题 | 回到对应例程或接口链路排查 |
相关例程¶
- QGroundControl 软件说明:[RflySim安装路径]\RflySimAPIs\2.RflySimUsage\0.ApiExps\e1_RflySimSoftwareReadme\QGroundControl
- QGC 机载图像获取:[RflySim安装路径]\RflySimAPIs\2.RflySimUsage\2.AdvExps\e1_QGCLoadimage
- RflySimSDK 使用参考:[RflySim安装路径]\RflySimAPIs\2.RflySimUsage\2.AdvExps\e2_RflySimAPIUsage
- QGC 二次开发环境部署:[RflySim安装路径]\RflySimAPIs\2.RflySimUsage\2.AdvExps\e3_QGCDevEnvDep