agv系统的大脑是调度算法。同样是二十台潜伏顶升agv,用不同算法,吞吐量可能相差一倍。本文不写复杂公式,而是用白话解释几种核心算法的逻辑,以及如何调参获得最佳效果。
一、路径规划:Dijkstra与AStar怎么选
Dijkstra算法会计算起点到所有节点的最短路径,适合地图节点少、需要预先计算全路径的场景。优点是保证找到全局最优,缺点是大地图下计算量大。AStar算法加入了启发函数(比如当前点到终点的直线距离),只探索有希望的方向,速度快很多。对于有几百个节点的大型工厂地图,AStar比Dijkstra快五到十倍。2026年主流agv小车厂家的调度软件默认使用AStar,但在静态路径预计算时仍会调用Dijkstra。还有一个技巧是分层路径规划:先将地图划分为区域,先规划跨区域路径,再细化区域内路径,进一步降低计算时间。对于agv叉车这种长车身,路径规划还要考虑转弯半径和内轮差,算法需要增加一个“可通行性检查”步骤。
二、交通管制:时间窗与区域锁
多车运行时必须避免碰撞。时间窗法将路径按时间片段划分,每台AGV预约未来一段时间的空间占用。例如AGV一号预约从时间十秒到十五秒占用交叉口,AGV二号只能在十五秒后通过。时间窗法的优点是精确,但需要所有AGV时间同步(误差小于一百毫秒),且计算量大。区域锁法简单粗暴:将工厂划分为若干区域,每个区域同时只能有一台AGV进入。AGV进入前申请区域锁,驶出后释放。区域锁法牺牲一些效率但实现简单,适合中等密度场景。更高级的是动态优先级区域锁,高优先级AGV可以抢占低优先级AGV的区域锁,后者主动避让。某汽车总装厂将区域锁粒度从二十米调整为五米后,通道利用率提升了百分之三十。
三、任务分配:就近原则与负载均衡的矛盾
最简单的任务分配是最近车原则:哪个AGV离取货点最近就派给谁。这会导致某些热门区域的AGV永远在忙,远处的AGV闲置。负载均衡算法会考虑每台AGV的当前任务队列长度和电量,优先派给任务少且电量充足的车。2026年主流采用混合策略:先计算每个AGV的综合成本,成本等于距离乘以权重系数再加上当前任务时间乘以另一系数。权重系数需要根据现场调优。例如在仓库密集区,距离权重可以设为一,任务时间权重设为二;在稀疏区反过来。可以使用一个模拟退火或遗传算法离线寻优最佳权重组合。
四、死锁检测与恢复策略
死锁是指多台AGV相互等待,谁也动不了。典型场景是两台AGV在交叉口面对面堵住。检测方法:每隔五秒检查一次所有AGV的状态,如果连续三秒没有任何AGV的位置变化且没有任务完成,即判定死锁。恢复策略由简到繁:策略一,让其中一台AGV后退一段距离;策略二,随机选择一台AGV取消当前任务,改道去充电;策略三,通知人工干预。好的调度系统会提前预防死锁,例如在路径规划时加入“禁止U型转弯”规则,或设置单向车道。经验值:每天超过三次死锁说明路径设计或算法参数有问题,需要调整。
五、2026年算法趋势:多智能体强化学习
传统算法依赖人工设定的规则和权重,难以适应动态变化。多智能体强化学习让每台AGV作为一个智能体,在与环境交互中自主学习最优策略。某研究机构在仿真环境中让五十台AGV学习了两百万步后,平均搬运时间比传统A算法缩短百分之二十三。但目前该技术还不太稳定,偶尔会出现策略突变。成熟的商用系统仍以传统算法为主,但加入了机器学习模块来动态调整权重参数。建议用户在招标时询问厂家是否支持在线参数自整定,这是未来五年可以落地的方向。成都蓉希智能的调度系统提供可视化调参界面,可以直接修改算法权重并实时观察效果变化。
