4. 多机通信组网

通信组网这事儿,说白了就是让几架无人机能互相说话。我刚开始做多机协同的时候,以为只要把数传模块对上频就行,结果第一次试飞就出了大问题——两架飞机同时发指令,地面站直接懵了。嗯,从那以后我才认真研究起组网方案来。

4.1 点对点通信

最简单的组网方式,就是一对一。一架无人机和一个地面站直接通信,像打电话一样。

我在项目中遇到过这种情况:用点对点做编队飞行,长机发指令给僚机。好处是延迟低,坏处是——你想想看,如果长机掉线了,整个编队就散了。

适用场景:双机编队、中继链路、简单遥控

典型参数:波特率115200,通信距离3-5km(视距内)

4.2 星型网络

星型网络就是所有无人机都跟地面站通信,无人机之间不直接说话。地面站是中心节点,负责转发所有消息。

我个人习惯在10架以下的编队里用星型网络。为什么?因为实现简单,地面站做路由就行了。但有个坑——我曾经遇到过地面站天线被遮挡,整个网络瞬间瘫痪的情况。

特性 星型网络 点对点
节点数量 2-20 2
延迟 低(中心转发) 极低
可靠性 依赖中心节点 高
部署难度 简单 最简单

4.3 Mesh自组网

Mesh网络是我现在最常用的方案。每个无人机都能当路由器,消息可以跳来跳去。说白了,就是每个节点都能转发数据。

我记得有一次做20架集群表演,用的就是Mesh。有一架飞机飞到了楼后面,信号断了。但其他飞机自动帮它中继,整个网络没掉线。这就是Mesh的魅力。

避坑指南:我曾经在Mesh网络里忘记设置最大跳数,结果消息在网络里无限循环,把带宽全吃光了。一定要设跳数上限,一般3-5跳就够了。

Mesh的缺点也很明显——节点越多,路由开销越大。我建议20架以内用全连接Mesh,超过20架用分层Mesh。

4.4 通信频段选择

频段选择这事儿,说白了就是权衡距离、带宽和抗干扰能力。

  • 2.4G:穿透性好,距离远,但干扰多(WiFi、蓝牙都在这个频段)。我一般用在远距离巡检场景。
  • 5.8G:带宽大,延迟低,但穿透差。适合图传和近距离编队。
  • 4G:不受距离限制,但依赖基站,延迟不稳定。我做过一个跨城市巡检项目,用的就是4G。

注意:2.4G和5.8G在市区干扰严重。我曾经在CBD试飞,2.4G信道全被占满,最后被迫切到5.8G。建议飞前先扫频。

4.5 链路预算

链路预算就是算算信号能传多远。公式很简单:

接收功率 = 发射功率 + 天线增益 - 路径损耗 - 其他损耗

路径损耗用自由空间模型估算:

L = 32.4 + 20log10(f) + 20log10(d)
其中f是频率(MHz),d是距离(km)

举个例子:2.4G,5km距离,路径损耗大约是:

L = 32.4 + 20log10(2400) + 20log10(5)
  = 32.4 + 67.6 + 14.0
  = 114 dB

如果发射功率20dBm,天线增益3dBi,接收灵敏度-95dBm,那链路余量就是:

余量 = 20 + 3 - 114 - (-95) = 4 dB

4dB的余量其实很危险。我一般要求至少10dB余量,不然遇到雨衰或遮挡就掉线了。

4.6 丢包处理

丢包是无线通信的家常便饭。我处理丢包的策略分三层:

  1. 物理层:用跳频和重传。我习惯用FHSS(跳频扩频),每秒跳50次以上,抗干扰效果很好。
  2. 链路层:用ACK确认机制。发一个包等ACK,超时重传。重传次数设3次,再多就丢包了。
  3. 应用层:用冗余编码。比如发关键指令时,连续发3次同样的内容。接收端用多数表决。

我的经验:丢包率超过10%时,先别急着加重传。先检查天线安装位置——我遇到过好几次,丢包是因为天线被碳纤维机身挡住了。

4.7 知识体系总览

下面这张图是我自己整理的组网知识结构,你一看就明白了:

多机通信组网 组网拓扑 频段选择 链路预算 丢包处理 点对点 星型 Mesh 2.4G 5.8G 4G 发射功率 路径损耗 接收灵敏度 跳频重传 ACK确认 冗余编码 核心原则: 可靠 > 带宽 > 延迟

这张图把本章的核心内容串起来了。你从组网拓扑开始选型,然后定频段,算链路预算,最后处理丢包。每一步都有坑,但按这个流程走,基本不会出大问题。