一个仓里 40 台 AMR 小车同时跑,路口相遇互相让行,窄道错车一次过,比早晚高峰的人类司机还守规矩。我第一次在亚利桑那的一个配送中心看到这个场面,站在二楼夹层看了足足二十分钟,脑子里只有一个问题:到底谁在指挥?后来跟他们的工程师聊了一下午才明白,指挥这支车队的不是某个"超级大脑"在掐秒表,而是一套叫多智能体调度的算法体系。今天这篇,把它的三块拼图拆开讲透:任务怎么分、路怎么走、撞上了怎么办,最后再说说,什么规模的仓库才值得碰它。
先摆两个数字,感受一下这个赛道的分量。2012 年,亚马逊花 7.75 亿美元收购了 Kiva Systems,把货架搬运机器人带进了自己的履约中心;到 2023 年,亚马逊宣布其仓库里部署的机器人超过了 75 万台。十几年时间,移动机器人从"试点项目"变成了大仓的标配。而这 75 万台背后,真正难的从来不是让一台小车跑起来,而是让几十台、上百台小车在一个屋顶下不打架、不堵死,还都忙得过来。这就是多智能体调度要解决的问题。
任务分配
调度系统的第一个活儿,是把"去 A 货架取一箱货送到 B 打包台"这样的任务,分给最合适的小车。听起来简单,做起来全是取舍。
主流做法有两派。一派是拍卖式:每个任务一出来,所有空闲小车各自"报价",报价依据是自己离货架多远、电量还剩多少、手头有没有顺路的活儿,价低者得。另一派是集中优化:中央服务器把全场任务和小车状态收拢起来,一次性算出全局最优的分配方案。
拍卖的好处是快,也扛得住单点故障,一台小车掉线不影响其他车继续接单;代价是只能做到局部最优,全场跑下来总里程比理论最优多一截。集中优化反过来,算出来的方案漂亮,但几十台车、每秒上百个新任务,优化模型的求解时间根本跟不上现场节奏,服务器一抖,全场跟着抖。
我的判断很直接:50 台以下的车队,拍卖加几条简单规则完全够用。别一上来就追求全局最优,省下来的那点里程,抵不过系统复杂度和调试时间挖的坑。我见过一个不到 3 万平方英尺的电商仓,12 台小车,硬上了一套带全局优化的调度,工程师调了三个月,旺季还是靠人工在平板上手动派单救的场。算法选型上,"够用"两个字值千金。
路径规划
任务分下去了,小车得知道怎么走。AMR 和人不一样,人认路牌,小车认的是地图。
仓库地面会被切成一张看不见的栅格网,每个格子要么能走、要么是障碍。调度系统用类似 A* 的寻路算法,给每台小车算出一条从起点到终点的路线。听起来跟手机导航差不多,但仓库版的导航多了一层"交通规则":主干道设成单行道,路口设让行点,充电区和人工操作区划成"慢行区",重载车和空车走不同的虚拟车道。

这里有个我踩过的坑,分享给你:有一回小车在某个拐角反复急停,日志里全是障碍物告警,我们把激光雷达换了、参数调了三遍都没用,最后发现是那个拐角上方新装了一台大功率 AP,无线信号把定位数据包冲掉了几毫秒,小车以为自己"失联"了,原地刹车等指令。教训是:路径规划出问题,先查 Wi-Fi 覆盖和地面平整度,再怀疑算法。算法救不了物理环境,这句话后面还会出现一次。
冲突消解
几十台车共用一张路网,路口相遇是家常便饭。冲突消解管的就是:谁先走,谁让路,怎么保证不出现两台车在窄巷里面对面、谁也不肯退的死局。
工程上最常用的办法叫预约表。每台小车不光规划自己的路线,还要把未来几秒会经过的路段提前"预订"下来,相当于在时间和空间两个维度上占座。后来的车规划路线时,看到某段路某个时间片已经被订了,就绕行或者在原地等一拍。优先级规则一般是先到先得,载货车优先于空车,电量告急赶去充电的车优先于一切——毕竟一台趴窝的小车,比堵路贵得多。
死锁是最要命的。两台车在只有一车宽的巷道里顶头相遇,各自的预约表都显示"我有权先走",那就僵住了。预防死锁靠的不是临场谈判,而是路网设计:主干道做成环路,窄巷全部单行,从根本上不给"面对面"的机会。验收调度系统时,我必看的一个指标就是死锁次数:连续跑一周,死锁超过个位数,这套路网设计就有问题,别拿"小概率事件"安慰自己。
规模分界
最后说选型分界,这是被问得最多的问题:我们仓库这个规模,要不要上多智能体调度?
我的分界线是这样的。10 台以下,别折腾集中调度,单车智能加固定路权,再配个人工干预的平板,足够了,这个规模上集中调度是杀鸡用牛刀,牛刀还不好使。20~50 台,集中式任务分配加路网交通规则,回报开始明显大于投入,这是多智能体调度最舒服的区间。上百台,就得分区分层了,中央只管跨区的任务流转,区内自治,不然中央服务器的算力和通信延迟会先撑不住。
有两类场景,我劝你别碰。一是地面和货架不规整的老仓,地面坑洼、货架间距不一,小车的定位天天漂移,调度算法在这种物理环境下只能疲于奔命。二是任务潮汐极大的仓,比如大促单量一天翻十倍,平时 20 台车够用,大促要 80 台——调度能解决"怎么跑",解决不了"车不够",这种场景先解决弹性运力,再谈智能。
三条建议,明天就能用:
第一,上 AMR 之前,先拿 WMS 里一周的任务数据做一张热力图,看任务在时间和空间上怎么分布,再定车队规模和调度策略。连自己的任务长什么样都不知道,就别谈算法选型。
第二,路网设计先行。单行道、环路、充电区位置,先画在纸上,拿最坏情况跑一遍:两台满载车在最窄的巷道相遇怎么办?充电高峰五台车同时要充电怎么办?纸上跑不通,现场一定跑不通。
第三,验收别只看"小车跑起来了",盯三个数:任务平均等待时间、每周死锁次数、充电排队时长。这三个数好看,调度系统才是真的健康。








