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 丢包对飞行安全的影响
丢包不是小事。它带来的影响是连锁反应:
- 控制指令丢失:飞手推了油门,但飞机没收到。结果就是飞机掉高。
- 状态信息滞后:地面站显示飞机还在 50 米高度,实际上它已经掉到 30 米了。你按着 50 米的高度去规划航线,不撞才怪。
- 触发失控保护:当遥控链路丢包超过一定阈值,飞控会自动执行预设的失控保护动作。如果保护逻辑设置不当(比如直接上锁),飞机就会自由落体。
- 图传卡顿导致误判:我记得有一次,飞手看到图传画面里有个电线杆,想绕过去。但因为图传延迟了 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 的通信架构,看看数据到底是怎么从飞机传到地面站的。