第三章:通信链路设计——4G/5G组网、数传与图传链路、RTK高精度定位方案
各位同学,今天我们来聊聊通信链路。说实话,这是整个多机协同巡检系统里最让我头疼,也最有成就感的部分。为什么?因为无人机在天上飞,你在地上看,中间全靠这条看不见的线连着。线断了,飞机就丢了。
我刚开始做风电巡检那会儿,用的是最传统的数传电台,距离短、带宽低,飞个两三公里就得提心吊胆。后来4G普及了,再后来5G来了,RTK也便宜了,整个通信架构才算是真正能打。今天我就把这几年的实战经验掰开揉碎讲给你听。
一、4G/5G组网:从单机到集群的通信底座
先说说4G/5G组网。你可能觉得,不就是插张SIM卡吗?没那么简单。在风电场这种偏远场景,信号覆盖是个大问题。
我个人习惯把组网方案分成三种:
- 公网4G/5G方案:直接用运营商基站,成本低,但信号不稳定。我在江苏一个海上风电场遇到过,离岸10公里,4G信号断断续续,无人机差点失联。
- 专网LTE方案:自己搭基站,覆盖半径3-5公里,带宽50-100Mbps。适合固定场站,但设备贵,一套下来十几万。
- 混合组网方案:公网+专网双链路,自动切换。这是我现在最推荐的做法。
核心要点:多机协同场景下,建议采用4G/5G公网为主、数传电台为备份的双链路方案。主链路负责图传和指令,备份链路只传心跳和GPS,带宽占用极低。
为什么会这样?你想想看,三架飞机同时传1080p视频,带宽需求至少30Mbps。4G上行理论50Mbps,实际能有20Mbps就不错了。所以图传必须做H.265编码,码率压到4-6Mbps每路。
二、数传与图传链路:数据通道的分工与融合
数传和图传,很多人混为一谈。其实分工很明确:
| 链路类型 | 传输内容 | 带宽需求 | 实时性要求 |
|---|---|---|---|
| 数传链路 | 飞行状态、控制指令、任务数据 | 10-100 kbps | < 50ms |
| 图传链路 | 可见光/红外视频流 | 4-20 Mbps | < 200ms |
| 遥测链路 | RTK差分数据、传感器状态 | 1-10 kbps | < 100ms |
我记得有一次在内蒙古的风电场,图传卡得不行,但数传一直正常。排查了半天,发现是数传和图传共用同一个频段,互相干扰。后来我把数传放在900MHz,图传用2.4GHz,问题就解决了。
实战技巧:数传链路建议使用MAVLink协议,心跳包频率设为5Hz。图传链路用RTSP或SRT协议,支持丢包重传。我一般把数传的优先级设得比图传高,这样就算带宽不够,飞机也不会失控。
这里有个避坑指南:千万不要让图传占用超过70%的带宽。我曾经吃过这个亏,图传占满了带宽,数传的心跳包发不出去,飞控判断链路断开直接触发返航,三架飞机同时往回飞,差点撞上。
三、RTK高精度定位方案:厘米级定位的实现
RTK,全称实时动态差分定位。说白了就是:地面放一个基准站,天上飞机当流动站,两个一起算,把GPS的误差消掉。
普通GPS精度3-5米,RTK能做到2-5厘米。在风电巡检里,这差别太大了。你想,风机叶片长度60-80米,你要拍叶片前缘的裂纹,误差3米的话,可能拍到的是塔筒。
RTK方案我分三种:
- 自建基站方案:在风电场中心架设基准站,覆盖半径10-15公里。精度最高,但需要专人维护。
- 网络RTK方案:用千寻位置、中国移动这类服务商,通过4G/5G播发差分数据。方便,但每年要交服务费。
- PPK后处理方案:飞行时不传差分数据,降落后再解算。精度和RTK一样,但不能实时定位。
重要提醒:多机协同场景下,所有无人机必须使用同一个差分源。如果A飞机用自建基站,B飞机用网络RTK,两架飞机的坐标系会有偏差,协同作业时可能发生碰撞。我见过最夸张的一次,两架飞机坐标差了30厘米,差点在风机旁边撞上。
实际部署时,我建议这样配置:
# RTK配置示例(基于Ublox F9P模块)
# 基准站配置
CFG-TMODE-MODE: 1 # 固定基站模式
CFG-TMODE-POS_TYPE: 1 # 已知位置
CFG-TMODE-LAT: 40.123456 # 基站纬度
CFG-TMODE-LON: 116.654321 # 基站经度
CFG-TMODE-HEIGHT: 50.0 # 基站海拔
# 流动站配置
CFG-RATE-MEAS: 10 # 10Hz定位频率
CFG-RATE-NAV: 10 # 10Hz导航频率
CFG-MSGOUT-RTCM_3X_TYPE1074: 1 # GPS差分输出
CFG-MSGOUT-RTCM_3X_TYPE1084: 1 # GLONASS差分输出
CFG-MSGOUT-RTCM_3X_TYPE1124: 1 # BeiDou差分输出
嗯,这里要注意:RTK的初始化时间。冷启动大概30-60秒,热启动10秒以内。我一般让飞机起飞前先在地面等RTK Fix,Fix了再起飞。别急着飞,否则定位精度只有米级。
四、链路冗余与故障切换
通信链路最怕什么?单点故障。我设计系统时,一定会做三重冗余:
- 链路层冗余:4G/5G + 数传电台 + WiFi(近距离),三条链路同时在线
- 协议层冗余:心跳超时1秒切换,丢包率超过20%自动切
- 应用层冗余:地面站双机热备,一台挂了另一台秒接管
我的经验:链路切换时间控制在500ms以内,人眼基本无感。超过1秒,飞控就会触发保护动作。我写过一段链路切换的Python代码,核心逻辑就是:
def check_link_health():
# 检查主链路(4G)
if ping("4g_gateway", timeout=0.5):
return "primary"
# 检查备份链路(数传)
if check_radio_link():
return "backup"
# 都挂了,触发紧急降落
return "emergency_land"
说白了,通信链路设计就是一场平衡游戏。你要在成本、带宽、延迟、可靠性之间找最优解。没有完美的方案,只有最适合你场景的方案。
好了,这一章的内容就到这里。记住一句话:通信链路是无人机系统的生命线。设计时多花一分心思,现场就少十分麻烦。
公众号:蓝海资料掘金营,微信deep3321