随着柔性制造系统的广泛应用, 海内对自动扶引车的需求量也渐渐增长。在整个自动化仓储物流中, AGV运输本钱占总本钱比重较高, 仓储任务的精准调理以及AGV良好的路径计划战略, 对提高物流作业效率、降低运输本钱有重要意义。
针对多AGV的路径寻优问题, 刘国栋等
对AGV路径计划中路径本钱最优化以及调理效率问题, 提出一种基于优先级行列和时间窗动态排序的路径计划要领。首先构建任务优先级行列, 然后用A-Star算法启发式搜索路径, 通过对节点时间窗进行精确盘算和加锁, 实现了多AGV的路径实时计划和动态调优, 在无碰撞冲突条件下包管了仓储物流路径本钱最低, 并且提高了系统运行效率。
本文所考虑的是自动化仓储物流中AGV群体运动规则问题, 凭据其所在的仓储情况接纳拓扑建模法构建地图, 并作以下假设:
(1) 相邻节点间的路线为单行道可双向行驶。
(2) AGV在4个偏向上以同一速度匀速行驶, 且转向速度牢固;
(3) AGV间宁静制动距离为0.8m;
(4) AGV共有4种状态:无任务静止状态 (包括充电状态) , 有任务待负载行驶状态, 负载搬运状态, 临时期待状态。
针对AGV仓储物流情况, 建立拓扑地图, 如图1所示, 在有向连接网络G=<V, E>中, V代表网络中节点的荟萃V={v1, v2, …, vn}, E代表网络中边的荟萃E={e1, e2, …, em}, 且每条边可以用相邻节点有序对来体现:
多AGV路径计划的目的是计划出一条时间价钱最小的路径。AGV在仓储情况中的耗时分为抵达装载点时间, 搬运状态时间和避障期待时间, 划分设为的tk、carrytk和Ωk。因此所有AGV的时间价钱之和可由以下公式获得:
其中, k为仓储任务的编号。
(1) 亟待充电且携带任务, 将已分派的任务作为高优先级重新分派, 然后将充电任务作为中优先级重新分派;
(2) 亟待充电且无任务无负载, 将充电任务作为中优先级重新分派;
(3) 一般性实时任务作为低优先级分派;
(4) 同一优先级凭据FCFS要领分派。
(1) 相向相遇冲突。如图2所示, 相向行驶的两辆车相遇;
图2 相向冲突示意图
(2) 笔直相遇冲突。如图3所示, 笔直偏向的两辆车在节点相遇;
图3 笔直相遇冲突示意图
(3) 占位冲突 (车辆空闲) 。如图4所示, 前方因AGV空闲停车阻止了其他车的前进。
(4) 占位冲突 (故障) 。如图5所示, 前方因故障停车阻止了其他车的前进。
(5) 追尾冲突 (超速) 。如图6所示, 即将赶超。
图6 追尾冲突示意图
如图1所示, 在有向连接网络G= (V, E) 中, 假设有x辆车加入任务执行, 那么任务的AGV荟萃为A={a1, a2, …, ax}。所有任务的起点、终点都差别, 那么任务的起点荟萃和终点的荟萃划分记为S和D, 且SV, DV。那么自动扶引车所经过节点的时间窗可以界说为:
式中, tiin体现自动扶引车保存节点i的时间, tiout体现自动扶引车释放节点i的时间, i∈V。如图7时间窗模型图所示, 一个任务Wk的时间窗可以描述为Wk={w1, w2, w3, w4}={[t1, t2], [t3, t4], [t5, t6], [t7, t8]}。
为了包管仓储物流历程的宁静性, 需要对时间窗进行精准盘算, 如图7所示。设AGV抵达节点i的时间为ti, 则有公式:
其中, tb为车辆宁静制动时间, te为允许最大误差时间, 包括在节点处突发断电及故障引起的制动误差。
如图8所示, 设AGV车身的长度为l, AGV直行通过节点时, 则有公式:
其中, vst是小车统一默认的直行速度。
如图9所示, 当AGV在节点处转弯时, 则有:
其中, vtu是小车转弯通过节点的速度。
图9 自动扶引车转弯通过节点i示意图
在进行多AGV路径寻优时, 接纳拓扑建模法构建仓储电子地图, 且携带任务的AGV在运行历程中可双向行驶。将一个仓储搬运任务界说为:
其中, PQk体现第k个任务的实时优先级, 参数越大优先级越低;btk体现第k个任务的开始时间;Sk和Dk划分体现第k个任务的装载点和卸载点, 且Sk∈V、Dk∈V;枚举类型的参数LBk (t) 体现第k个任务的搬运状态, 如公式 (8) 所示。
给任务分派差别的优先级PQ:如图10所示, 将任务行列划分为高中低三个优先级行列, 划分用PQh、PQm和PQl来体现。
(1) 当LBk (t) =0时, 小趁魅正在去装载点的路途中, 即当有任务无负载的AGV小车亟待充电或突发断电等故障时, 已安排的任务的需要重新分派, 将该任务carryk (t) 放入高优先级行列, 将充电或维修任务放入中优先级行列;
(2) 当LBk (t) =1时, AGV在装载点Sk和目的地Dk之间, 即有任务有负载的AGV亟待充电或突发断电等故障时, 已安排的任务的需要重新初始化, 因为装载点Sk已经改变, 然后将新任务carryk (t) 放入高优先级行列, 将充电或维修任务放入中优先级行列;
(3) 把一般性实时任务放入低优先级行列。
首先我们用A-Star算法
体现在冲突一:后续的长任务需要不绝地寻找次优路线;体现在冲突二:后续的长任务需要不绝地负载期待。二者都容易造成任务饥饿, 会降低调理系统的效率。
我们有了任务的优先级分派和时间窗的盘算, 下面来介绍路径计划算法的具体实现办法, 如图11所示。
(1) 凭据上位机系统治理员输入仓储物流参数, 将任务划分优先级, 插入优先级行列, 并初始化多个运输任务, carryk (t) ={PQk (t) , btk, Sk, Dk, LBk (t) }。
(2) 凭据任务的优先级顺序进行车辆调理:选用离装载点
(3) 用A-Star算法对路径进行启发式搜索, 得惠临时的最短行驶路径。
(4) 盘算小车抵达每个路径节点的时间ti, 然后凭据公式 (4) ~式 (6) 盘算出自动扶引车保存节点i的时间tiin和自动扶引车释放节点i的时间tiout。
(5) 初始化节点时间窗Wk, 如果保存任务p和q使Wp∩Wq≠?, 说明节点时间窗因尚未加锁而泛起重叠现象, 即在的某个保存时间窗内泛起了其他车辆[
(6) 凭据重叠时间窗和拓扑地图, 来确定将会爆发哪种节点冲突, 然后对每个节点的时间窗加锁。如果保存如图2所示的冲突一相向相遇冲突
(7) 生成可执行任务 (指定AGV, 明确路线) , AGV执行完任务空闲后, 由于该AGV可能成为其他任务的障碍, 所以要优先派发该车辆。重复执行办法 (1) 期待治理员动态分发新需求。
图1 1 AGV路径计划算法流程图
考虑其他三种冲突, 任务执行历程中, 关于冲突三, 那么将更改此空闲AGV所占有的节点周围四条边的权重为无穷大, 修改任务的起始点, 执行算法中的办法 (3) ;关于冲突四, 可能为突发断电 (非亟待充电提醒) 或机械老化等故障, 需要人工维修或清除, 然后更新可用AGV信息;关于冲突五, 由于情况中假设AGV速度相同, 所以不会泛起赶超冲突, 纵然在前面的AGV制动减速的时候也不会泛起赶超冲突, 因为在盘算时间窗时, AGV制动时间tb已经被保保存时间窗内。
使用Visual Studio 2015作为仿真开发平台, 编写调理程序对提出的路径寻优算法进行验证。选取某仓储物流中心如图1拓扑地图所示, 仓储区域长30m, 宽30m, 仓储节点36 (不包括充电区域) , 144个货架, 14条车道纵横交错, AGV直行速度为0.5m/s。转向时间牢固为2s。
设计两组仿真比照实验:一组是无时间窗加锁和有时间窗加锁的路径寻优结果, 另一组是不含优先级行列和含优先级行列的路径寻优结果。从两个维度来验证所提出算法的可行性和高效性。
(1) 针对第一种仿真比照实验, 我们划分初始化三个任务:
首先凭据任务的预估时间来初始化优先级, 时间越长, PQk (t) 数字越小, 优先级越高。
无时间窗加锁的情况如图12所示, 执行任务carry1 (t) 的车辆将会与执行carry3 (t) 的车辆在b1到c1路段爆发相向相遇冲突, 执行任务carry1 (t) 的车辆将会与执行carry2 (t) 的车辆在c3节点爆发笔直
含时间窗加锁的情况如图13所示, 由于经过时间窗的重新排布, 任务carry3 (t) 已经重新计划路线, 有效制止与任务carry1 (t) 相向相遇冲突, 且在节点c2进行期待规避, 制止笔直相遇冲突, 任务carry3 (t) 将会在节点c3处进行规避期待, 有效制止死锁和碰撞
(2) 针对第二种仿真比照实验, 在不含优先级的算法中我们划分初始化三个任务, 这里PQk (t) 均为1, 即:
算法执行历程如图14所示。
图1 4 含时间窗加锁不含优先级路径寻优结果
考虑图13和图14所示的两种仿真执行历程, 对不含优先级和含优先级的两种调理算法进行路径价钱比照, 如表1和表2所示。凭据目标函数公式盘算出:含优先级的调理算法路径本钱Cost小于不含优先级的调理算法。
表2 含优先级行列的调理算法执行剖析
对多AGV路径寻优和调理效率问题, 提出基于优先级行列和时间窗模型的调理算法。在多AGV动态路径寻优中, 解决了多AGV的碰撞冲突问题, 并且通过构建任务优先级行列优先级优化了调理顺序, 不但包管了路径最优, 并且可以制止任务饥饿与死锁。最后通过仿真实验得出, 算法在包管车辆无碰撞的条件下可使AGV路径本钱最低, 同时提高了任务和车辆调理的效率。
【本文标签】
【责任编辑】yd2333云顶电子游戏云仓