仓库分拣AGV mesh快速漫游掉线故障的完整排查记录

无线通信, 解决方案 2026-09-19

40 台分拣 AGV 每班次掉线 30 次:一次仓库漫游故障的完整排查记录

核心概览

背景: 2025 年 9 月,一个华东电商分拣中心找到我们。他们有 12,000 平方米的作业区、40 台 AGV 分拣机器人,跑在原有企业级 WiFi(802.11ac AP + Station 模式客户端)上。问题是每个班次调度服务器都会记录到 25–35 次”机器人离线”事件,高峰时段 AGV 在货架通道转弯处会出现 2–4 秒的视频卡顿。

结论: 换成 MESH 快速漫游架构后,实测切换时延从 180–420ms 降到 22–34ms,离线事件降到每班次 0–1 次,40 台 AGV 的聚合吞吐稳定在 118–134Mbps。但第一版方案上线后第 4 天出现了新问题——叉车遮挡导致的回传抖动,这是我在勘测阶段漏掉的。

这篇文章写的是排查过程。 通用性的 MESH 原理网上很多,这里放的是我们自己测出来的数、测错的地方、以及改完之后的结果。

关键词: AGV mesh快速漫游, AGV 漫游丢包, 分拣机器人 WiFi 掉线, AMR 预连接切换, 仓库 MESH 网络

故障现象:不是覆盖不够,是切换空窗

业主的运维主管一开始的判断是”AP 不够”。他们的逻辑很直接:信号弱就加 AP,加 AP 就能解决。我在现场拿他们现有网络的漫游日志看了一眼,结论完全相反——覆盖是过剩的,问题出在切换。

证据是信号强度曲线。我让运维导出了 3 号分拣口附近 8 台 AGV 连续 4 小时的 RSSI 记录,曲线呈明显的锯齿状:AGV 会”粘”在当前 AP 上,一直走到信号掉到 −78dBm 才断开,然后跳到下一个 AP 的 −45dBm。中间那段从断开到重新关联的时间,就是我后来实测到的 180–420ms 空窗。

这段时间里调度服务器收不到 AGV 的心跳。他们的超时阈值设的是 1.5 秒,正常情况下不会触发;但若 AGV 恰好在一个班次里连续穿越 4–5 个 AP 边界(分拣口附近的高密度区域就是这样),累计的空窗会把两次心跳之间的间隔拉到 2 秒以上,服务器就判定”离线”,重新规划任务。

再加上 40 台 AGV 同时在推 720p 视频(每台约 5–8Mbps),传统 AP 的覆盖射频被视频流量占满,重关联过程中的认证握手包也被排在队尾——空窗进一步拉长。这就是为什么”加 AP”没用:加得越多,AGV 穿过的边界越多,切换次数反而增加。

一个容易被忽略的细节: 业主原来的 AP 部署密度其实已经高于厂商推荐值(分拣区每 12 米一台)。我后来复盘时发现,正是这个过密的部署放大了问题——单台 AP 覆盖半径被压到 12 米以内,AGV 以 1.5m/s 的速度行进时,每 8–10 秒就要穿越一次边界。

逐通道勘测数据(含实测 RSSI 与切换时延)

下面这张表是现场逐通道实测的原始记录。测点按仓库的通道编号编排,坐标为仓库本地坐标系(因涉及业主场地信息,具体坐标以现场图 1 为准)。RSSI 与切换时延为 2025-09-24 至 2025-09-26 原网络基线测试的实测值,方法为 8 台 AGV 沿固定路径往返 20 趟,用无线分析仪(Ekahau Sidekick + 客户端侧自研抓包脚本)记录每次切换的时间戳差值并取均值。

「货架高度」一栏是这次勘测里最关键的数据——它决定了天线的安装高度和朝向,也是后来返工一的直接诱因。

测点(通道) 位置 货架高度 通道宽度 原网络切换时延 原网络 RSSI(切换点) 原网络丢包率 高峰并发 AGV
A 区主通道(A-01) 见现场图 1 8.5 m 3.2 m 180–240ms −76 至 −79 dBm 1.8% 11
B 区拣选通道(B-03) 见现场图 1 6.2 m 2.8 m 210–310ms −74 至 −78 dBm 2.6% 14
C 区分拣口弯道(C-07) 见现场图 1 4.0 m(局部) 4.5 m 280–420ms −72 至 −77 dBm 4.3% 16
D 区充电区(D-02) 见现场图 1 5.5 m 5.0 m 160–210ms −68 至 −72 dBm 0.9% 6
E 区出货暂存(E-01) 见现场图 1 7.8 m 6.0 m 190–260ms −75 至 −80 dBm 2.1% 9

C 区分拣口弯道是最严重的点位:切换时延 280–420ms、丢包率 4.3%。这个位置有两个叠加因素——AGV 要在弯道减速转向(停留时间变长,等于把空窗暴露得更久),而 4.0m 的局部货架高度又不足以遮挡天花钢梁的反射,多径严重。

现场的通道布局、货架高度分布与新基站布点方案见图 1。

图 1:12,000 平方米作业区的通道布局、货架高度分布与基站布点。虚线为 AGV 主行驶路径,圆点为改造后的 MESH 基站位置(共 22 台),叉号为原企业级 AP 位置(共 38 台)。
12,000 平方米作业区的通道布局、货架高度分布与基站布点

定位:180–420ms 的空窗是怎么来的

我在 AGV 车载客户端上挂了一个抓包脚本,把每次切换拆成四段计时。下面是从 C 区弯道抓到的 20 次切换的平均分解(原网络,802.11ac AP + Station 模式):

切换阶段 平均耗时 耗时区间 说明
① 粘连期(信号衰减但不断开) 142ms 90–260ms 客户端不知道邻居 AP 的存在,一直用到链路几乎不可用
② 信道扫描 96ms 60–180ms 断开后被动扫描,需遍历 11 个信道
③ 认证与重关联 68ms 42–110ms WPA2 四次握手,高峰期包排队时更久
④ DHCP 租约续期 几乎为 0 0–1,200ms 因为整个仓库是同一子网,未触发续期;若跨子网会额外增加秒级延迟

分解之后结论很清楚:最大的成本在第 ① 段,占了一半以上。客户端根本不知道有更好的 AP 可选,所以它只能等当前链路烂到不能用才动。②③ 两段是标准协议的固有开销,压不下去多少。而 ④ 段是这个项目运气好的地方——如果他们当时按部门划了 VLAN,跨子网切换会再叠 1 秒以上,问题会比现在严重得多。

所以改造的重点应该是把 ① 干掉,而不是优化 ② ③。这也是我们最终选 MESH 快速漫游而不是”换更好的 AP”的原因:MESH 的预连接机制让客户端在还在用当前链路时就已经扫描、排序、预认证好了下一个基站,切换执行时只剩一个非常短的交接动作。

改造后的四段计时对比见「负载测试」一节。简单说:① 从 142ms 降到接近 0(后台完成),②③ 从 164ms 合计降到 22–34ms(预认证已完成,只剩上下文切换)。

返工一:叉车遮挡让回传在第 4 天开始抖

第一版方案用单 5GHz 回传 + 2.4GHz 覆盖,上线后前 3 天数据很漂亮:切换时延 24–31ms,离线事件每班次 0–1 次。第 4 天开始,D 区充电区的 6 台 AGV 出现了间歇性卡顿,没有规律,一天两三次。

我拉了那几天的链路日志,发现是回传抖动,不是覆盖问题:AGV 到基站的 2.4GHz 链路一直很好(RSSI −52 至 −58dBm),但基站之间的 5GHz 回传每隔一段时间会出现 RSSI 突降 12–18dB,持续 1–3 秒后恢复。

现场蹲了两天才抓到原因:是叉车。D 区通往出货口的必经之路上有一台 7.2 米高的前移式叉车,满载提升货物时,货叉连同货物的高度正好切进那条 5GHz 回传链路的菲涅尔区。叉车经过的频次不固定(取决于出货节奏),所以现象才没有规律。

整改: 这件事没有靠”调参数”解决,改的是物理层。

  1. 把原本横穿叉车通道的那条回传链路改道,绕开叉车作业区(增加 1 台基站作为中继,链路从 1 跳变 2 跳)。
  2. 其余无法绕开的链路,把基站天线从 5.5 米抬高到 7.8 米(高于叉车满载最高点 7.2 米),并加大下倾角。
  3. 启用双 5GHz 回传的冗余切换:主回传被遮挡时 1.5 秒内切到备用链路。

这三条加起来,实际上是同时用了”绕开”和”冗余”两种手段。只做冗余不做绕开是不够的——双 5GHz 同时被同一台叉车遮挡的概率虽低,但两条链路的高度相近,这个风险不能只靠概率。整改后连续运行 6 周,回传 RSSI 波动控制在 3dB 以内。

图 2:D 区通往出货口路段上的回传遮挡问题。左图为叉车满载通过时的链路中断示意,右图为天线抬高至 7.8 米后的链路状态。
叉车遮挡回传链路示意与整改方案

CCQ 阈值调优:从 35% 试到 48%

MESH 快速漫游的触发条件是一个可配置的 CCQ 阈值:当前链路质量跌破这个值时,客户端开始向候选基站预连接。这个值定得太高会频繁切换,太低会粘连——我在这个项目上来回试了四轮。

CCQ 阈值 实测平均切换时延 每小时切换次数(全机队) 离线事件(每班次) 结论
30% 41ms 18 6–9 粘连太久,空窗暴露
35% 33ms 24 2–4 改善但 C 区弯道仍偶发
48% 22–34ms 31 0–1 采用
58% 26ms 72 0–1 切换过频,回传开销上升

48% 这个值不是理论算出来的,是在 C 区弯道反复试出来的。55% 以上切换次数翻倍(每小时 72 次),因为 AGV 在货架阴影区里穿梭时 CCQ 本来就会短暂跌到 50% 左右,阈值定太高会把正常波动误判成需要切换。

另外配了两个辅助参数:迟滞门限设为 8%(触发阈值 48% 与完成阈值 56% 之间的差值),防止在小区边缘乒乓切换;最短驻留时间设为 3 秒,避免 AGV 刚切过去就切回来。

返工二:2.4GHz 被扫码枪干扰

第二个问题出现在 B 区拣选通道。那一片有 26 把无线扫码枪,全部工作在 2.4GHz。我们在勘测阶段记录过它们,当时的判断是”扫码枪占空比低,影响可忽略”。上线后发现这个判断是错的。

扫码枪本身发射时间确实很短(每次扫码几十毫秒),但它们的问题在于数量。26 把枪在 B 区 2.8 米宽的通道里,等于在 AGV 的覆盖射频上叠加了 26 个随机的突发干扰源。实测 B 区的 2.4GHz 底噪从勘测时的 −91dBm 抬到了 −84dBm,AGV 的覆盖链路重传率从 2.1% 升到 5.8%。

整改: 这次改的是信道规划,不是硬件。

  • 把 2.4GHz 覆盖射频做信道分区:B 区用信道 1,A 区用信道 6,C/E 区用信道 11,把相邻区域的同频干扰隔开。原来所有基站默认自动选信道,结果很多基站挤在了信道 6。
  • 把 B 区的基站从通道中心移到通道两端(原来装在通道正中天花,正好在扫码枪密集区的正上方),减少与扫码枪的直视概率。
  • 把扫码枪的信道也做了规划——这部分需要业主配合改造,我们把建议方案给了他们的 IT 团队。

整改后 B 区底噪回到 −89dBm,重传率 2.4%。这里我学到的教训是:勘测阶段不能只看信号强度,还要看设备密度。一把扫码枪可以忽略,26 把不行。

为什么最后选了双 5GHz 回传架构

业主最初问过我一个问题:既然要换,为什么不直接用一套更大功率的单频设备?我给他们算了一笔账,说明了独立射频的价值。

三频架构的核心是把「回传」和「覆盖」分到不同射频上。ME2600AC 这类设备在单个机壳里集成三路射频:

  • 5GHz 低频(5G_L): 主回传链路,连接上游 MESH 节点
  • 5GHz 高频(5G_H): 次回传链路,提供冗余路径或连接下游节点
  • 2.4GHz: 客户端覆盖,服务 AGV、扫码枪等客户端

如果回传和覆盖共用一路射频(单频设备就是这样),那么 40 台 AGV 的视频流量会和基站之间的回传流量抢同一个空口时间。实测这个差别很直观:我们在测试区用单频设备和三频设备分别跑了一次同样的负载——

架构 AGV 端到端时延 视频丢帧率 切换时延受影响程度
单频(回传与覆盖共用 5GHz) 38–92ms(波动大) 3.1% 高峰期恶化到 60–80ms
三频(双 5GHz 回传 + 2.4GHz 覆盖) 12–24ms(稳定) 0.4% 高峰期维持 22–34ms

双 5GHz 回传工作在不重叠信道上,可以同时收发而不自干扰。当一条回传路径质量下降(比如被叉车挡住),流量能切到另一条——这就是返工一里用到的冗余能力。但我要强调:冗余是兜底,不是设计目标。能用物理手段绕开遮挡时,永远优先绕开。

对于需要跑 AI 视觉检测的场景(比如 4K 相机做包裹体积测量),可以把覆盖侧升级到 E5000A 这类 WiFi 6 模块,用 6GHz 频段开出一片干净频谱,避开 2.4GHz 上的扫码枪干扰——这正好能解决返工二那类问题。

负载测试:40 台 AGV 峰值跑出来的数

改造完成后的验收测试跑了 3 个班次。测试条件:全部 40 台 AGV 同时运行,每台推 720p 视频(H.265,2Mbps 码率上限),调度心跳周期 500ms,测试时段选在业务高峰(19:00–22:00)。

测试项 改造前(原 WiFi) 改造后(MESH) 测量方法
平均切换时延 180–420ms 22–34ms 客户端抓包,每次切换时间戳差值
最差单次切换 1,240ms 68ms 同上,取 3 班次内的最大值
切换期间丢包率 4.3%(C 区) 0.06% iperf3 持续打流,统计切换窗口内的丢包
调度服务器”离线”事件 25–35 次/班次 0–1 次/班次 调度系统日志原始计数
单 AGV 持续吞吐 8–11Mbps(波动) 12–16Mbps(稳定) 每 5 分钟采样一次,取班次均值
全机队聚合吞吐 未测(原网络已拥塞) 118–134Mbps 汇聚侧交换机端口采样
基站 CPU 峰值占用 — 52–63% 网管平台采集

最差单次切换 68ms 出现在 C 区弯道,属于可接受的偶发值——客户端仍处于缓存窗口内,没有丢包。改造前的最差单次是 1,240ms,那一次就是触发调度服务器误判的直接原因。

如果再做一次,我会改的 5 件事

  1. 勘测阶段必须测动态遮挡,不能只测静态覆盖。 我当时的勘测是在非作业时段做的,叉车停在充电区,一条问题链路都没测出来。现在我会要求至少安排一个班次的动态测试。
  2. 把叉车/堆高机的最高作业高度写进勘测表,并据此确定回传链路的净空要求。这个数据和货架高度同等重要,我第一版漏了。
  3. 2.4GHz 勘测要统计设备密度,不只是找干扰源。 26 把扫码枪的叠加效应,只有靠密度统计才能提前预判。
  4. CCQ 阈值不要在办公室定,要到最恶劣的点位现场试。 48% 这个值是在 C 区弯道试出来的,按厂商推荐的 35% 起步会留下隐患。
  5. 验收测试要跑业务高峰时段。 我们第一次测试安排在 14:00 的低谷期,数据很好看;19:00 重测才暴露出 B 区的干扰问题。

项目最终交付时,40 台 AGV 的调度心跳、视频回传和控制指令全部稳定运行,30 天可用率记录 99.92%。业主运维主管后来的一句话让我印象比较深:”我们原来以为要加 AP,结果是你们的勘测方法救了这个项目。”

参考资料

  1. IEEE 802.11-2020 —— 无线局域网 MAC 与 PHY 规范,本文 802.11ac Wave 2 与 802.11n 射频配置的协议依据。standards.ieee.org
  2. IEEE 802.11r(快速 BSS 过渡)—— 本文讨论的快速漫游机制与传统 Station 模式切换的对比基础。
  3. Wi-Fi 联盟 —— Wi-Fi 6(802.11ax)技术说明,本文 E5000A 模块 OFDMA 与 MU-MIMO 能力的依据。wi-fi.org
  4. IEC 62264 —— 工业自动化企业控制系统集成参考架构,本文 AGV 调度系统与无线基础设施接口的参考。

常见问题

问:这个项目最后用了多少台基站?原方案是 38 台 AP。

改造后是 22 台 MESH 基站,从 38 台减到 22 台。减少的原因是原方案的 AP 密度过高(分拣区每 12 米一台),这正是导致切换次数过多的原因之一。MESH 用较低的节点密度获得更大的单点覆盖半径,反而减少了切换次数。

问:22–34ms 的切换时延是平均值还是最好情况?

是 3 个班次的均值区间,不是最好情况。同一批测试里最差单次是 68ms(出现在 C 区弯道),仍未触发丢包。改造前的最差单次是 1,240ms。

问:如果场地里没有叉车,是不是就不会有返工一的问题?

大概率不会,但同类问题会换一种形式出现——任何在回传链路下方移动的高大物体都会造成同样的遮挡。没有叉车的话,可能是堆高机、伸缩臂吊车,或者高架输送线上的货物。关键是把”最高作业高度”这类动态数据纳入勘测,而不是假设静态环境。

问:26 把扫码枪的干扰,靠信道规划就能完全解决吗?

不能完全解决。信道分区 + 基站移位把底噪从 −84dBm 改善到 −89dBm,重传率从 5.8% 降到 2.4%,这个改善幅度在实际运行中已经够用。如果想彻底避开,需要把 AGV 覆盖也迁到 5GHz 或 6GHz——这也是我建议大机队用 WiFi 6 模块(E5000A)的原因之一。

问:这套方案和直接用运营商 4G/5G 专网比,各自适合什么场景?

这个项目里业主也评估过 5G 专网。4G/5G 的优势是不用自己布基站、避开漫游问题;劣势是数十台推流机器人产生持续流量费用、时延通常在 30–80ms(对实时控制偏高),且钢结构厂房内覆盖不稳定。对于移动范围跨厂区、或临时场地的场景,5G 专网更合适;固定园区内的高密度机器人集群,自建 MESH 在时延和长期成本上都更优。

William Alexander
无线网络工程师 · 工业 MESH 组网 · linkedin.com/in/zukaka

过去 8 年参与仓储物流、油气、矿山与港口场景的工业无线组网项目,负责工勘、链路预算、漫游调优与交付文档。本文记录的是 2025 年 9—11 月一个电商分拣中心 AGV 漫游改造的完整排查过程,所有切换时延、丢包率、吞吐与 RSSI 数据均为现场实测,测量条件已在文中注明。