做仓储AMR,静态地图建好后在空仓库跑得很好,一到真实仓库全是问题:货架调整、工人走动、临时堆货、叉车穿行。分享我们的处理方案。

## 静态地图为什么不够用

SLAM建好的静态地图只反映建图那一刻。实际仓库:
- 货架位置会调整
- 工人随机走动
- 临时堆放货物
- 叉车、托盘车来回穿

地图一过期,全局规划就乱套。

## 我们的方案:静态层+动态层

**1. 多层地图**
- 静态层:货架、墙体等固定结构,定期更新
- 动态层:实时激光扫到的临时障碍,临时标记
- 规划时先绕静态,再避动态

**2. 局部代价地图动态更新**
不重新做全局建图,只在机器人周围局部更新代价地图,发现新障碍局部绕行,障碍消失地图自动清除。

**3. 动态障碍预测**
工人是移动的,只做局部避让会跟着人来回绕。我们按当前速度方向预测未来几秒位置,提前绕开,而不是走到跟前才躲。

## 踩过的坑

**坑1:障碍标记太久不清除**
一开始障碍标记后一直留在地图,结果走过一次的地方就不敢走了。加了过期机制,3秒没更新就清除。

**坑2:人靠近就停车**
一开始离人太近就等待,结果人站着聊天,机器人等十分钟过不去。改成缓慢绕行,实在绕不开再停。

**坑3:窄通道双向会车**
两台AMR在窄通道相遇谁都过不去。加会车逻辑:一方退到最近避让点,另一方先过。

## 效果

调整后,AMR在有人走动的仓库里:平均效率下降不到10%,不再卡死,会车成功率95%以上。

大家做AMR导航,动态环境怎么处理?局部避让还是预测绕行?