多车调度,为什么不会“撞车”?
从“时间窗、路径规划、交通管制”三招保平安,一路讲到任务派发、充电调度、车辆协同与异常恢复,最后给一张能现场挑刺的“调度能力自检表”。
很多客户第一次看到多台 AGV 同时在地图上跑,都会问:它们为什么不会撞在一起?简单说,调度系统靠三件事保平安——时间窗、路径规划、交通管制。这篇把这三件事讲透,再往深一层聊聊任务怎么派、电怎么充、两车怎么协同、出了事怎么恢复,最后给你一张“怎么判断一套调度系统行不行”的自检表,让你既听得懂,也能在选型时问对问题。
0. 一句话理解调度系统
调度的本质,是“一个全局大脑,统一给所有车派活、让路、纠错”,而不是靠每台车自己东张西望。这个大脑能看到整张地图——谁在哪、要去哪、哪条路堵,都装在心里。下面所有机制,都建立在“有这样一个全局大脑”之上。
先把最重要的判断标准放这儿:一台车“聪明”,不等于一套系统“聪明”。要看的是——多台车同时跑、堵点叠加、异常发生时,系统能不能自动化解。
1. 时间窗:谁先过、谁等着
调度系统为地图上的每条边(路段)和每个节点(路口/工位)维护一张“占用时间表”——哪台车、什么时间段内占用。这相当于给整张地图上了一套“路权登记簿”。
- 车辆申请通行某段路时,系统先查“未来时间段是否冲突”。
- 有冲突就在上游停车等待,等前车通过释放时间窗再走。
- 等待超时会触发“避堵重选路”,绕开拥堵点而不是干等。
- 时间窗是“预约制”:车还没到,系统就已经为它预留好放行时段,减少临场争抢。
这就好比红绿灯巡航:不是靠每台车自己“看路”,而是靠一个全局视角统一发号施令,保证同一路段、同一时间只有一台车通过。
注意:时间窗解决的是“谁先过”,不解决“走哪条路更省”。它要和路径规划配合,才能既安全又不拥堵。
2. 路径规划:不只“一条最近路”
如果所有车都抢最近的一条路,再好的时间窗也会挤爆。调度会结合全图负荷做动态路径规划:
- 优先“负载均衡”:车流分散在不同路线上,避免单点拥挤。
- 代价函数综合距离、拥堵度、转弯次数,选“整体最优”而非“单车最近”。
- 当检测到某路段持续过载,自动把后续任务引到备用路径。
- 路径会随任务动态调整:前面堵了就现场绕,而不是死守预排的路线。
这也解释了为什么“同一张图,不同车流”表现会差别很大——关键看调度算法能不能跟你真实的搬运流匹配。车流规律和算法设计合拍,才跑得顺。
一句话:好调度选的是“整体最快”,坏调度只图“单车最近”——后者一到高峰期就会把几条路挤成死结。
3. 交通管制与死锁规避
死锁是最需要防的工程问题:几台车互相占着对方想走的路,谁也动不了。成熟的调度系统有整套防死锁机制,分“事前避免”和“事后化解”两层:
| 层面 | 手段 | 作用 |
|---|---|---|
| 事前避免 | 空闲车让行,不占关键节点 | 避免“静态死锁” |
| 事前避免 | 保留充电桩位与其周边路权 | 防被挤占/占着茅坑 |
| 事前避免 | 环形路网 + 单向通行规则 | 从结构上切断死锁回路 |
| 事后化解 | 检测到死锁自动“倒车/让位” | 让整线不因个别死锁瘫痪 |
死锁好不好解,是调度系统成熟度的试金石。一个只知道“排先来后到”的调度,遇到死锁往往只能人工介入;成熟的系统能自动恢复,才谈得上 7×24 连续运行。
4. 任务编排与动态派发
除了“让车不撞”,调度更重要的职责是“把活派得又快又合理”。这取决于任务编排策略:
- 就近派发:把新任务派给离工位最近、且预计先空闲的车,减少空跑。
- 优先级调度:急料、产线缺料任务插队,普通补库让后。
- 任务合并与顺路:同一台车一次多拉、顺路捎带,提升每趟的有效载荷。
- 节拍对齐:按产线节拍提前备料到位,避免“车等料”或“料等车”。
调度好不好用,最终看的是“系统有没有把合适的车,在合适的时间,派到合适的地方”。你可以观察它对待急料和闲时任务的取舍是否聪明。
一个值得问供应商的问题:“我有一批急单要插队,系统是让它们插,还是按顺序硬排?”答案直接反映派发策略的成熟度。
5. 充电与低电调度
多车系统里,充电不是“没电了再去充”,而是由调度提前规划,避免运力在交班时集体掉线:
- 低电量预警:电量低于阈值就标记,不再派长任务。
- 错峰充电:让车辆分批去充,避免集中离岗导致运力骤降。
- 动态换班:一辆去充电的同时,调度把它的待执行任务平滑转移给其他车。
充电策略直接影响“有效运力”。调度好的系统,能让一批车边工作边轮流补电,全天吞吐稳定;调度差的车队,会出现“一到交班就集体没电停摆”。
6. 车辆协同:对接、合流与排队
车与车、车与设备的“握手”比想象中复杂,也是多车稳定运行的关键:
- 工位对接:到站后与升降台/输送线做“到位确认”,对不好就重试,不硬怼。
- 合流交汇:多车在同一路口汇合时,按“谁先到谁先走 + 让主干”的规则排队。
- 装卸协同:与产线设备信号联动,料到位才放行,避免误动作。
- 路径让行:对向相遇时,进可进、让可让,系统判断谁让更优。
这些“点对点”的协同往往最考验工程细节——做得好的系统,多车像一支默契的团队;做得糙的,车一多就到处“你等我、我等你”。
7. 异常恢复与人工接管
再成熟的系统也会有意外(对接偏差、人为挡路、网络抖动)。关键是出事后怎么恢复,而不是“没出事时有多顺”:
- 友好告警:把“哪台车、卡在哪、为什么”讲清楚,而不是一串看不出含义的故障码。
- 自动重试:对偶发性的对接失败、挡路,先自动重试一次再上报。
- 一键接管:必要时人工拖走/驳离故障车,剩余车辆自动重新规划,不影响整线。
- 故障隔离:坏一辆不牵连全队,其余车绕行继续跑。
验收实测:在方案验收时,要求供应商现场演示“人为挡住一辆车 / 关闭一台车”的恢复过程。这一步最能看出系统是否真的成熟,别只听演示视频。
8. 用数据判断一套系统跑得好不好
与其听宣传,不如看现场能拿到的几个运行数据。下面这张表帮你在验收/运营阶段客观判断:
| 指标 | 看什么 | 怎么判断 |
|---|---|---|
| 系统吞吐量 | 每小时完成的任务数 | 是否稳定达成节拍目标 |
| 车辆利用率 | 有效搬运时间占比 | 长期过低=买多了/派法低效 |
| 任务平均等待时长 | 任务发起→开始搬运的间隔 | 过长=排队吃紧 |
| 掉线/重连频次 | 通讯稳定性 | 频繁=信号覆盖或漫游问题 |
| 异常/死锁次数 | 发生率与恢复耗时 | 应趋近零、且能自动恢复 |
| 空跑里程占比 | 没装卸货的无效行驶 | 居高=派发与收货节奏不匹配 |
这些指标在好好做系统的厂商那里,通常能从运维后台直接拉到。拉得出来、且数值健康,比任何“演示很顺”都更有说服力。
建议:把“验收期跑一周,日均吞吐达标、异常自动恢复率 100%”写进验收条款,用数据收货,而不是用感觉收货。
9. 怎么判断一套调度系统行不行
把上面的机制收成一份可逐条打勾的自检清单,选型或验收时对照:
| 检查项 | 行(合格) | 不行(危险) |
|---|---|---|
| 多车同行 | 时间窗 + 负载均衡,同路段不同时占 | 只按先来后到排队 |
| 死锁处理 | 自动倒车让位、环形路网防死锁 | 死锁只能人工介入 |
| 任务派发 | 就近 + 优先级 + 顺路合并 | 排队硬派、不合并 |
| 充电策略 | 低电预警 + 错峰充电 + 平滑交接 | 快没电才去充,运力骤降 |
| 异常恢复 | 自动重试 + 一键接管 + 故障隔离 | 一出事全队停摆 |
| 产能识别 | 能标记“吞吐跟不上节拍” | 只能堆车,无法量化 |
| 数据透明 | 能拉出吞吐/利用率/等待时长 | 只有一张漂亮大屏 |
这套表不是看“宣传页写了没有”,而是到现场让供应商演示、或看真实项目运行日志,逐项验证。
白话总结
一句话:调度系统的核心是“全局红绿灯 + 动态绕路 + 防死锁”,再往上叠的是派发、充电、车辆协同与异常恢复的成熟度,最后用运行数据说了算。你只需关心一件事——它能不能匹配你真实的搬运流,这交给方案仿真来验证。
成熟调度靠时间窗、负载均衡、防死锁,加动态派发、错峰充电与异常恢复,让多车同行既不相撞又高效;你的场地能否流畅,取决于车流是否与真实节拍匹配,可用仿真先验证再下单。