2026 年 8 月 12 号,周二,晚班。
晚上 21 点 40 分,我们仓正是出货高峰。B 区主干道和 C 巷交汇的那个十字路口,四台 AMR 在四个方向上同时停住了。谁也不走,谁都觉得自己该先走。监控屏上四个小点一动不动,整条 C 巷的车在后面排起了长队。
班组主管小李跑到路口看了半天,回来跟我说:"陈哥,这四台车像商量好的一样,就这么僵着。"
从僵住到我们的人把其中一台手动挪开,花了 8 分钟。8 分钟里,C 巷一辆车没动,补货车进不来,后面的波次全乱了。那一晚上我们的单小时出货从平时的 1,100 箱掉到了 800 出头。兄弟们,说句实在话,RCS 这东西,上线三个月都顺顺当当,谁能想到最后栽在一个十字路口上。
四台车,谁也不肯先走
我们的 RCS 出厂默认的优先级,是"先到先走"。听起来多合理啊,对吧?排队嘛,谁先到路口谁先过,公平。
但现实是这样的:旺季高峰,四台车在前后脚 1 秒之内同时到达四个方向,系统判不出来谁先谁后,四台车同时停,同时起步试探,又同时急停。安全激光一扫到对方就停,停了 3 秒再起步,又扫到,又停。死锁了。
更要命的是,死锁这东西会传染。十字路口一僵,后面排队的车也停了,后面的后面的车也停了。8 分钟后,B 区一半的车都在原地打转,RCS 的调度屏上一片红。那天夜班的老师傅老王在对讲机里喊:"陈经理,你们这机器人是来上班的还是来开会的?"
第二天开早会,我跟供应商的工程师掰扯了一上午。他的原话是:"陈经理,这是行业标准做法。" 我说:"标准做法把我们仓干停了 8 分钟,你给我换个不标准的。"
我们试过的两个错法
第一个想法很直观:让重的先走。我们设了"重载优先",满载的车优先级最高,空车让行。
结果三天后,夜班的老张带着两个新员工站在 C 区路口骂娘。空车去接货,连续让了七八趟重载,在路口硬生生等了 11 分钟。老张说:"陈经理,这车比我们人还欺生,空车就不是车了?" 更糟的是,重载优先之后,重载车开始"霸道"了——它知道别人会让,过路口都不减速,有两次差点把从支巷出来的空车顶到货架上。士气这东西,看不见摸不着,但那天交班会上,真有人提了一句:"要不晚上高峰还是人开叉车吧。" 听到这句,我后背都凉了。
第二个想法:主干道优先。主路上的车不停,支巷的车让。
结果更惨。支巷的车进不去主路,在巷道里越积越多,最长的一次,一条 40 米的支巷塞了 6 台车,补货员推着手动液压车都过不去。支巷堵了,补货跟不上,拣选区断货,等于把问题从路口搬到了巷子里,还更难解。
两次试错下来,我们发现了一个反常识的事:越想"公平",堵得越死。
先到先走,听起来最公平,死锁最多。重载优先,听起来最合理,空车被欺负到罢工。主干道优先,听起来最科学,把堵转移到了更难处理的地方。后来我琢磨明白了:路口这个东西,怕的不是慢,怕的是"谁都觉得自己该走"。要想不堵,就得人为制造"不平等",明明白白规定谁让谁,一点商量的余地都不留。
现在我们仓就是这么干的
折腾了一个月,现在固定下来的做法有三条,我们仓现在就是这么干的。
第一条:分时段定规则,不搞一刀切。
白天波次少、车少的时候,用"先到先走",简单省事。晚上 19 点到 23 点的高峰时段,自动切到"任务等级优先"——我们给每个任务打了分, cutoff 时间近的出库任务最高,补货任务次之,空车回充电最低。注意,不是按"重不重"分,是按"急不急"分。空车去接一个马上要截单的波次,优先级比一台慢悠悠的重载车还高。老张再也没骂过娘。
| 策略 | 堵死概率 | 空车最长等待 | 高峰吞吐 | 我们什么时候用 |
|---|---|---|---|---|
| 先到先走 | 高(高峰时几乎天天见) | 约 5 分钟 | 基准 | 白天低峰,车少好使 |
| 重载优先 | 中 | 超过 10 分钟 | 比基准低一成 | 试过三天,弃了 |
| 主干道优先 | 中 | 支巷车排长队 | 巷道堵了更惨 | 试过两天,弃了 |
| 分时段任务等级 | 低(三个月没再死锁) | 3 分钟以内 | 比基准高约 15% | 现在全天在用 |
(以上是我们仓 40 台车的现场实测数,别家仓车型、路网不一样,数字仅供参考。)

第二条:给死锁高发路口画"禁区"。
我们把全仓 6 个十字路口做了统计,B 区那个主干道路口占了七成以上的死锁。做法很简单:在这个路口四个方向各往外 15 米,画电子围栏。任何车进入围栏之前,RCS 必须提前算好"我进去之后能不能一口气通过",算不出来就老老实实在外面等,绝不许"先进去再说"。说白了,就是把"路口内不许停车"这条交规,写进系统里。画完禁区那天起,这个路口再没僵过。
第三条:老员工带新人,先看三天路口。
这是人的事。RCS 切了新规则,前两周夜班的老员工天天盯着监控屏,有不对劲的苗头直接对讲机喊。现在每个新来的调度员,上岗前先跟着老王看三天路口监控,专门看"哪两台车快要顶上了"。机器管规则,人管例外。这条听起来最土,但最管用——上个月有一次系统升级,优先级参数被重置回了默认,是老王第一个发现"路口的车让得不对劲",比系统报警还早 10 分钟。
算一笔账:之前死锁最严重的那周,平均每天堵 3 次,每次 5 到 8 分钟,单小时出货掉两三百箱,一周下来少出了将近 4,000 箱。旺季要是这么搞,客户罚款都够我们喝一壶。现在这套做法跑了三个月,死锁归零,夜班出货还比之前高了一截。说句实在话,RCS 供应商的工程师一开始觉得我们"土",现在他们把我们的分时段规则写进了给别家仓的推荐配置里。
最后给同行提个醒:RCS 上线,别光看调度算法多聪明,先去你们仓的十字路口站一个高峰时段。路口配错了,40 台车就是 40 个堵点;路口配对了,人才是多出来的。另外,改规则之前,先跟夜班的老师傅们通个气——车是机器开的,班是人排的,人要是不服,什么规则都白搭。
作者:陈峰|一线仓库经理,管过 200 人大仓






