多机器人调度:先解死锁,再排充电
车队规模增加后,单车路径都可行也不代表系统能持续吞吐。多机器人调度最容易被两类耦合拖住:窄通道里的循环等待,以及低电量车辆集中到站造成的补能拥塞。
死锁并不等同于简单堵车。四台车分别占住一个资源段、又等待下一段路权时,每台局部决策都合理,整体却形成不可打破的等待环。若调度器只在车辆停止后重新规划,新的路径仍可能依赖被其他车辆占用的出口。窄巷、双向门和电梯前室尤其危险,因为车辆无法原地错身,后退又可能侵入后方已承诺给别车的时间窗。
预防方法是把无停车区作为原子资源预占。车辆进入窄段前,必须同时获得入口、内部关键冲突点和可退出位置,而不是走到一半再逐格申请。这样会降低局部资源利用率,却切断了占有并等待的条件。对于较长通道,可分成允许会车的安全段,但分段边界必须真的容得下车体和定位误差;只按地图中心线判断,会让理论可退的节点在现场无法完成转向。
优先级还要防止饥饿。固定让高优先任务抢占,低优先车辆可能长期拿不到出口,最终电量和任务时限同时恶化。调度器可按等待时间提升优先级,并在形成等待环前选择代价最小的车辆撤销预订。车辆执行撤退时必须拿到完整反向路权,不能把解除一个环的动作变成新的迎面冲突。验收应主动构造闭环占用,而不是只跑随机订单看是否偶发卡死。资源图还要包含车体外廓和载荷伸出量,空车能退入的避让位,带长料时未必仍可用。
充电拥塞是另一种时间尺度更长的资源冲突。若所有车辆都在同一低电量阈值触发返航,班次高峰后会集中占用充电桩;排队期间仍在耗电的车辆可能降到安全下限,原本可完成的任务也被迫中断。仅按当前荷电状态排序还不够,因为电池估算误差、载荷和到站路径不同,同样显示百分之二十的两台车,其可用续航并不相等。
队列预测应把未来任务能耗、到站时间、充电曲线和桩功率上限一起计算。锂电池在高荷电区充电功率会逐步收窄,让一台车充到满电再离开未必最优;在任务密集期,补到足以覆盖下一轮加安全余量,可能带来更高车队可用率。机器人若支持机会充电,也要计入频繁对接的时间损失和连接器寿命,不能把每次短暂停靠都当作免费能量。
死锁与充电不能由两个独立模块各自优化。调度器把低电量车辆引向最近充电站时,可能同时让它穿过最拥挤的窄通道;为避堵绕行又会消耗额外电量。更合理的目标函数应给不可退出区域、最低到站电量和任务逾期分别设硬边界,再在其内优化总行驶时间。压力测试要覆盖充电桩离线、车辆估算偏差和临时封路,观察系统能否提前削峰,而非等队列形成后被动改派。仿真还应使用真实到站和对接时间分布,若把每次对接都设成固定时长,队列尾部风险会被系统性低估。异常车辆占住桩位时,调度器也要有隔离与人工拖离路径。换班与订单突发高峰应单独建模,并保留人工清场通道。极端工况还需复跑。
因此,车队吞吐不是最短路径的简单叠加。先从资源图上消除循环等待,再让补能需求错峰进入剩余路权,多机器人系统才能在高负载下保持连续运行。





