1. 通信基础与丢包现象

大家好,我是你们这期课程的主讲工程师。在正式开始之前,我想先聊聊一个很基础但也很要命的问题——通信丢包。

你可能觉得丢包不就是信号不好嘛,重启一下就好了。但说实话,我在无人机行业摸爬滚打这么多年,见过太多因为丢包引发的“炸机”事故了。有一次,一个飞手在山区执行测绘任务,图传突然卡了不到两秒,等他恢复画面时,飞机已经撞上了山体。嗯,这就是丢包带来的后果。

1.1 无人机通信链路概述

一架无人机在天上飞,它和地面站之间到底在传什么?说白了,就是三条链路:

  • 数传链路:传输飞行数据(GPS坐标、高度、电池电压、飞行模式等)。这是地面站和飞控之间的“对话通道”。
  • 图传链路:传输摄像头画面。飞手靠它来判断飞机前方有没有障碍物。
  • 遥控链路:传输飞手的操控指令(油门、俯仰、横滚、偏航)。这是最不能断的链路。

这三条链路通常使用不同的频段。数传和遥控常用 2.4GHz 或 900MHz,图传常用 5.8GHz。频率越高,带宽越大,但穿透力和绕射能力越差。你想想看,为什么图传在树林里容易卡?就是这个道理。

核心观点:三条链路中,遥控链路的优先级最高。数传丢了还能靠视觉返航,图传丢了还能靠姿态模式飞回来,但遥控丢了,飞机就变成“断线风筝”了。

我在项目中遇到过一种情况:飞手在楼宇间飞行,遥控信号被建筑物遮挡,导致飞机进入失控保护模式。幸好我们提前设置了返航高度,不然就撞楼了。所以,理解这三条链路的特性,是解决丢包问题的第一步。

1.2 丢包的定义与表现形式

丢包,专业术语叫 Packet Loss。简单说,就是发送方发出的数据包,接收方没收到。

为什么会丢包?原因很多:

  • 信号衰减:距离远了,信号强度不够。
  • 多径效应:信号反射、折射后互相干扰。
  • 同频干扰:附近有其他设备在用同一个频段。
  • 硬件问题:天线损坏、接口松动、射频模块故障。

丢包在QGC地面站上怎么看出来?我教你几个判断方法:

表现形式 QGC界面表现 飞手感受
数传丢包 地图上飞机位置卡顿、参数不更新、心跳灯闪烁异常 地面站显示的数据滞后,无法准确判断飞机状态
图传丢包 画面出现马赛克、花屏、黑屏、延迟增大 看不清前方障碍物,容易撞树撞楼
遥控丢包 遥控器信号强度指示条下降、触发失控保护 飞机不听使唤,自动执行返航或降落

我个人习惯在每次飞行前,先在地面站里观察一下“链路质量”这个参数。QGC里有个叫 radio.rssi 的字段,数值越低说明信号越差。如果低于 30%,我建议你今天就别飞了。

小技巧:在QGC的“飞行数据”页面,点击右上角的齿轮图标,可以调出“遥测状态”面板。里面会实时显示丢包率(Packet Loss Rate)和链路延迟(Latency)。这两个数值是判断通信质量的核心指标。

1.3 丢包对飞行安全的影响

丢包不是小事。它带来的影响是连锁反应:

  1. 控制指令丢失:飞手推了油门,但飞机没收到。结果就是飞机掉高。
  2. 状态信息滞后:地面站显示飞机还在 50 米高度,实际上它已经掉到 30 米了。你按着 50 米的高度去规划航线,不撞才怪。
  3. 触发失控保护:当遥控链路丢包超过一定阈值,飞控会自动执行预设的失控保护动作。如果保护逻辑设置不当(比如直接上锁),飞机就会自由落体。
  4. 图传卡顿导致误判:我记得有一次,飞手看到图传画面里有个电线杆,想绕过去。但因为图传延迟了 1 秒,等他打杆时飞机已经撞上去了。

所以,丢包率不是“能忍就忍”的问题。它直接决定了你的飞机能不能安全回来。

警告:千万不要在丢包率超过 20% 的情况下执行自动航线任务。我曾经见过一个案例,飞手在丢包率 30% 的情况下强行起飞,结果飞机在航线中途丢失数传信号,无法上传新的航点,最后飞到了禁飞区。后果很严重。

1.4 常见丢包率阈值与行业标准

行业内对丢包率是有明确要求的。我整理了一份参考标准,你可以对照着看:

丢包率范围 链路状态 建议操作
0% - 1% 优秀 正常飞行,无需担心
1% - 5% 良好 可以飞行,但注意观察
5% - 10% 一般 建议降低飞行高度或缩短距离
10% - 20% 较差 不建议飞行,排查干扰源
> 20% 极差 立即降落,检查硬件和天线

这个表不是我瞎编的。它参考了 MAVLink 协议 的推荐值,以及 FAA(美国联邦航空管理局) 对无人机通信链路的最低要求。说白了,丢包率超过 10%,你就得打起十二分精神了。

另外,不同链路的容忍度也不一样。遥控链路对丢包最敏感,因为它是实时控制。数传链路稍微好一点,因为飞控有缓存机制,可以重传丢失的数据包。图传链路最“皮实”,因为视频编码本身就有纠错能力,丢几个包画面还能看。

但别高兴太早。图传虽然能抗丢包,但代价是延迟增加。你想想看,如果图传延迟从 100ms 增加到 500ms,飞手打杆的反应时间就少了 400ms。在高速飞行时,这 400ms 可能就是生与死的距离。

我的建议:在QGC地面站里,把丢包率显示放在最显眼的位置。我习惯在“飞行数据”页面的左上角固定显示 Packet Loss: X%,这样一眼就能看到。如果数值突然跳变,我马上就能做出反应。

好了,这一章的内容就到这里。通信基础是解决丢包问题的地基,地基不牢,后面讲再多优化技巧也是白搭。下一章,我会带你深入 QGC 的通信架构,看看数据到底是怎么从飞机传到地面站的。

无人机通信链路与丢包影响关系图 无人机(飞控) 数传链路 图传链路 遥控链路 丢包发生 → 影响飞行安全 控制指令丢失 飞机不听使唤 状态信息滞后 地面站显示不准 触发失控保护 自动返航或降落 丢包率 > 10% → 建议停止飞行