跳转至

QGroundControl


QGroundControl 是 RflySim 工具链默认采用的地面站软件,主要负责任务规划、状态监控、参数配置和飞行模式切换。在整套系统中,它连接的是“操作员”和“飞控”,而不是动力学解算或三维渲染本身。


软件定位

在 RflySim 的使用链路里,QGroundControl 最适合这样理解:

  • 它不是仿真器
  • 它不是三维显示软件
  • 它不是算法执行环境
  • 它是飞控配置、任务规划和飞行监控界面

如果 CopterSim 负责让飞行器“动起来”,RflySim3D 负责让你“看见它”,那么 QGC 负责让你“管住它”。


在 RflySim 中的角色

QGC 在 RflySim 里的典型职责包括:

职责 说明
状态监控 查看位置、姿态、速度、电池、模式等遥测信息
任务规划 航点规划、任务上传、任务执行
参数配置 PX4 参数调试与传感器校准
模式切换 Manual、Mission、Return、Offboard 等
固件相关操作 固件升级、设备识别、部分定制化刷写流程

对大多数用户而言,QGC 是“飞控侧入口”,而不是“整套仿真入口”。

核心软件界面预览


典型使用路径

SITL 链路

最常见的实验流程是:

  1. 启动 SimCreate 或 BAT
  2. 拉起 CopterSim + PX4 SITL + RflySim3D + QGC
  3. QGC 中查看遥测和模式
  4. 完成解锁、模式切换、任务上传等操作

HITL 链路

在硬件在环场景中,QGC 更像真实实验中的地面站:

  1. 通过串口或网络连接 Pixhawk
  2. 查看真实飞控状态
  3. 配置 SYS_ID、传感器、任务模式等
  4. 配合 CopterSim 完成虚实结合验证

核心功能

实时监控

QGC 可以持续显示:

  • 位置
  • 姿态
  • 速度
  • 电池
  • GPS 状态
  • 飞行模式

这一步在调试阶段极其重要,因为它往往是判断“问题在飞控侧还是在仿真侧”的第一观察面。

任务规划

对基于 PX4 的任务型实验来说,QGC 的核心价值之一就是地图航点规划。它适合:

  • 巡线飞行
  • 区域覆盖
  • 航拍测绘
  • 自动巡检
  • 返航与失效保护验证

参数调试

在仿真阶段提前把参数调顺,往往能明显降低后续 HITL 和实飞风险。

飞行模式管理

常用模式包括:

  • Manual
  • Altitude
  • Position
  • Hold
  • Mission
  • Return
  • Land
  • Offboard

其中 Offboard 是外部算法接管控制时最常用的入口模式。


任务规划与上传

从 RflySim 的使用视角看,任务规划主要分三步:

1. 在地图上定义任务

包括:

  • 起飞点
  • 航点序列
  • 高度与速度
  • 相机或载荷触发动作

地面站航迹规划任务

2. 上传给飞控

这一步通过 MAVLink 完成。对用户来说,不必记住全部消息细节,但要知道任务上传不是“画完就结束”,而是一个有确认和校验的过程。

3. 启动任务并观察执行

任务执行阶段要结合:

  • 当前模式
  • 安全约束
  • 返航与地理围栏
  • 实时遥测

对课程和验证型实验来说,这一步能很好地覆盖“任务系统是否按预期工作”。


通信链路

在 RflySim 里的典型关系

PX4 SITL / Pixhawk
    <-> MAVLink
QGroundControl
    <-> 用户

在完整工具链里,QGC 经常同时与以下对象形成协同:

  • PX4 SITL
  • Pixhawk
  • CopterSim
  • Python / ROS 外部控制程序

通信方式

常见方式包括:

  • UDP
  • TCP
  • 串口
  • MAVLink 消息流

QGC MAVLink 消息

如果是仿真环境,更多是 UDP 和 MAVLink;如果是 HITL,串口链路就更重要。

对用户最有用的理解

判断 QGC 是否工作正常,通常只需要先看三件事:

  1. 是否连接上了正确目标
  2. 是否持续收到心跳和遥测
  3. 当前模式切换和任务上传是否正常

多机配置

多机仿真里,QGC 主要承担的是“识别多架飞行器并分别管理”的角色。

最关键的参数

SYS_ID 必须唯一。

如果多台 Pixhawk 或多套飞控链路编号冲突,后续的:

  • 遥测显示
  • 任务分发
  • 模式切换
  • 参数修改

都会出现混乱。

使用建议

  • 多机前先规划好 ID 规则
  • 先让每架载具能被单独识别
  • 再考虑批量任务和集群显示

在 RflySim 中的使用建议

先分清责任边界

很多新手会把问题都归到 QGC 上,但实际上:

  • 看不到飞机通常不是 QGC 的问题
  • 没图像也不是 QGC 的问题
  • 动力学不稳定也通常不是 QGC 的问题

QGC 更适合用于确认:

  • 飞控是否在线
  • 当前模式是否正确
  • 参数是否配置成功
  • 任务是否上传和执行成功

对 Offboard 的理解

很多外部控制实验并不在 QGC 里直接控制,而是:

  1. QGC 解锁并切到合适模式
  2. 由 Python / ROS / Simulink 程序接管控制

这时 QGC 更像状态监控和安全入口,而不是主控制器。

定制版 QGC

RflySim 的 QGC 链路还包含若干定制能力,例如:

  • 共享内存图像相关功能
  • 固件下载与刷写定制项
  • 与 RflySim 工具链更紧密的接口协同

所以这里不能把它只当作“原版 QGroundControl 教程”来看。


常见问题

问题 更可能的原因 处理思路
QGC 连不上仿真 PX4 / MAVLink 链路没起来 先检查 SITL 或飞控端心跳
多机只识别一架 SYS_ID 冲突 先统一规划编号
任务传不上去 当前飞控状态或任务内容异常 先做简单任务上传验证
参数改了没效果 参数未真正下发或需重启生效 结合飞控状态确认
图像功能异常 不是普通 QGC 功能问题,可能是定制链路问题 回到对应例程或接口链路排查

相关例程