一台AMR在车间里跑,通常很安静。
两台,也还好。
车一多以后,事情开始接近城市管理。
谁先过路口?
谁在窄道外面等?
哪条路只能单向?
某台车带着大件货物,
能不能和小车走同一条线?
这些问题如果不提前管,
多车系统很快会从自动物流变成自动排队。
现在的AMR车队软件通常会通过交通规则、
队列、区域占用、限速区、单车区等方式管理车流。
成熟的车队管理系统,都会把交通控制当作核心能力之一。
人类开车不一样,路口堵了,
司机至少还会通过眼神、手势和偶尔不太文明的语言交换信息。
机器人普遍比较有修养,它们不会摇下窗户。
所以后台必须更有规则。
最麻烦的一类问题是死锁:
A在等B,
B在等C,
C需要的路又被A占着。
三个机器人都在做正确的事情,最后一起没做成事情。
这很像一些会议,每个人发言都很有道理。
项目就是没有往前走。
成熟的调度会尽量提前避免这种资源互相等待,
而不是等车都堵住以后再人工把某一台推开。
布局也会放大交通问题,
高频站点前没有等待区,车只能排在主路上。
仓库出口只有一条窄道,再加多少机器人,出口也不会突然长宽。
因此多车项目做规划时,高峰任务一定要拿出来看。
平时每小时十个任务,路线处处岁月静好。
集中补料时三十个任务一起出现,路口才开始说真话。
还有一点很现实:
所有任务都不能叫最高优先级。
如果七条线都说自己最急,调度系统面对的不是优先级。
是七个皇帝。
好的车队管理不会让人明显感觉后台在做很多事。
它只是让路口少堵,关键任务先走,充电和等待不互相打架。
如果大家每天都在围观机器人堵车,那交通规则大概率还需要再聊聊。
多车系统还要考虑充电和停车。
车越多,空闲时停哪、低电量时怎么去充、充电区会不会挤占主通道,
都开始变成交通问题的一部分。
这也是为什么车队扩容不能只看软件能不能再加十台。
地图上多十个图标很容易,现场要多十个移动物体、更多交叉口冲突和更多充电需求。
一个成熟的系统,扩车之前通常会先看任务量有没有增长到值得扩、
现有瓶颈在哪里、停车和充电有没有空间。
否则新增车辆可能只是在拥堵现场增加摄影机位。
多车调度最舒服的状态,其实挺无聊。
车来了就走,路口没戏看,充电也不抢。
这个时候现场没人讨论调度算法真厉害,因为大家根本没意识到它在工作。