基于时间窗算法的多AGV调度路径规划黄洮年
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于时间窗算法的多AGV调度路径规划黄洮年
发布时间:2021-09-09T06:54:02.707Z 来源:《防护工程》2021年16期作者:黄洮年
[导读] 本文结合理论与实际对AGV调度系统的路径规划进行研究。
针对多AGV调度系统的问题,研究了多AGV调度系统的冲突和死锁问题。
研究基于时间窗方法,来进行多AGV调度路径规划的研究。
经研究基于时间窗算法的效果良好,能在大部分的情况下解决多AGV路径冲突和死锁的问题。
黄洮年
南宁富桂精密工业有限公司广西南宁 530000
摘要:本文结合理论与实际对AGV调度系统的路径规划进行研究。
针对多AGV调度系统的问题,研究了多AGV调度系统的冲突和死锁问题。
研究基于时间窗方法,来进行多AGV调度路径规划的研究。
经研究基于时间窗算法的效果良好,能在大部分的情况下解决多AGV路径冲突和死锁的问题。
关键词:AGV;时间窗算法;路径规划
1 前言
AGV具有灵活性、智能化等显著特点,可以方便的重组系统,达到生产制造业柔性化运输的需求。
与传统的人工或半人工的物料运输方式相比,AGV调度系统降低了劳动强度,减小了物料运输时的潜在危险性,极大的提高了生产效率,在各行各业发挥着重要的作用。
2、AGV核心技术研究目的
2.1 路径规划技术
路径规划技术是解决AGV从起点到目标点的路径问题,是解决“如何去”的问题。
针对已知环境、未知环境和动态环境等不同的环境因素,需要应用不同的路径规划算法。
路径规划一直是机器人研究领域的热点和难点问题,已经有大量的算法用于AGV调度系统路径规划。
常用的全局路径规划算法有图论算法、蚁群算法,遗传算法,神经网络等;常用的局部路径规划算法有虚拟力法,模糊路径规划等算法。
针对不同的系统要求和性能指标的不同,为多AGV调度系统选取恰当的路径规划算法,并对算法改进,使其适合系统的要求,是一个理论应用于实践的问题。
2.2 多AGV协调控制技术
对于一个AGV调度系统来说,单AGV工作能力和完成的功能是有限的,许多复杂的任务需要多个AGV共同完成,多AGV调度系统具有单AGV调度系统无法比拟的优势。
然而,多AGV调度系统并不是单纯的将多个AGV 放到一个系统中,多AGV调度系统会伴随有路径冲突,资源分配,死锁等一系列问题。
如果不能解决多AGV调度的协调问题,系统性能会非常低下,甚至出现系统崩溃。
对多AGV调度,最主要的是为每个AGV规划出一条无碰撞,无冲突的路径。
现在许多学者都在研究多机器人协调控制的方法,如交通规则法,分布式协调控制法,多智能体理论,基于Petri网理论的多机器人控制。
至今,多机器人控制的方法仍然不成熟,有很多问题需要进一步优化研究。
3、多AGV调度路径规划算法的研究
在生产加工型企业中,一个AGV系统不可能只有一台AGV在车间中工作,这就需要多台AGV共同工作。
多AGV调度系统的问题实质上就是现在最热点的多机器人问题。
目前,多机器人系统的研究领域主要包括体系结构、多机器人避碰问题、编队队形问题以及信息共享与信息融合环境构建等问题。
这些研究的根本目的是促进多机器人之间的协作,充分发挥多机器人的能力,使系统性能最优。
3.1多AGV系统路径规划问题
多AGV调度系统虽然在功能、结构以及执行任务方面比单AGV有明显的优势,但是随着AGV数量的增多,系统将不可避免地出现以下问题:
1)分布式的结构使得多AGV调度系统在全局优化时存在很多困难,大部分情况下,无法得到最优解。
2)多AGV调度系统中各个AGV之间由于资源的分配和使用的不合理可能发生路径冲突或死锁现象。
3)随着多 AGV系统中AGV数量的增加,多个AGV进行组织和协调的计算量会随之以指数倍数增长,增加计算机的运算负担。
在多AGV调度系统中,主要需要解决的问题是,多AGV之间的避碰和冲突死锁问题。
对于一些需要多AGV协作完成任务的系统,还需要研究多AGV的协调配合以及队形问题。
本文将把多AGV之间的路径冲突和死锁作为研究重点。
本文研究的基于时间窗的多AGV路径规划
算法属于预测式防冲突算法。
3.2 多AGV系统冲突的类型
根据多AGV执行任务的情况,大致有三种冲突类型,即路口冲突,赶超冲突和相向冲突。
要解决多AGV运行中的冲突问题,首先就必须解决好这三类最基本的冲突类型,进而保证多AGV调度系统安全顺畅的运行。
如果冲突不能有效解决,将会导致系统停在冲突的状态无法继续下去,进而会形成死锁。
3.3 基于时间窗算法的路径规划
时间窗方法由KIM和Tanchoco最早提出,最初就是根据系统交通状况,在双向有向图中为AGV搜索无冲突最优路径。
时间窗算法作为预测式防冲突算法,被许多研究人员进行研究,并通过仿真和部分实践应用被证明是高效的。
本文采用Dijkstra的时间窗算法,并结合实际AGV工作环境,对算法进行应用。
(1)时间窗
假设系统有多辆AGV,有很多的任务需要多辆AGV去执行,每个任务都有各自的优先级,并且对于每一段任务都有一个运输路径与之相关。
对于每个任务,起始位置,目标位置和分配的AGV都不随时间变化。
如果在任务执行过程中,有需要改变路径才能解决的冲突,则动态改变路径。
每辆AGV在初始分配任务的时候指定一个优先级,在任务执行过程中,随着任务执行时间越长,该任务的优先级逐渐变高。
当AGV执行任务时,不断的进入并驶出路径中的有序路段,在AGV驶入和驶出的这段时间内,该路径被此AGV占领,其他AGV不得进入。
AGV的进入时间和驶出时间即定义了该运输路径的时间窗,其中,该运输路径被占用的时间定义为保留时间窗,没有被占用的时间定义为自由时间窗。
在保留时间窗里,该运输路径已经被固定的AGV占用,其他AGV不能进入;在自由时间窗内,其他AGV可以驶入,不会发生冲突。
假设AGV在执行任务过程中,可根据AGV的速度及路上的转弯情况,可以计算出此AGV进入和驶出所有运输路径的时间窗。
这样,每个路段的时间窗都可以通过计算得到。
(2)算法步骤
对于系统分配的m个任务,对任务按优先级进行排序,然后采用基于优先级的调度策略进行任务调度。
首先,选择最高优先级的任务,选择一辆空闲AGV,并使用Dijkstra算法规划出该任务的最短路径,并计算出该任务中所有占用路径的进入和驶出时间,初始化各个路段的时间窗向量表。
然后为次优任务进行路径规划,检查是否有空闲AGV,如果没有,则进入等待状态;如果有,则调用Dijkstra路径规划算法,并计算出该任务所有占用路径的进入和驶出时间,更新各个路段的时间窗向量表。
然后,计算各个路段的时间窗向量表中是否存在冲突,如果不存在冲突,路径规划完成。
如果存在冲突,则在路径规划算法中将第一个冲突路段标记为不可用,再次调用最短路径算法进行路径规划,重复上述过程,直到不存在冲突。
如果不能规划出最短路径,则暂停对该任务的调度,调度接下来的任务。
接下来,对剩余任务中优先级最高的任务进行AGV分配和路径规划,在路径规划后,更新系统的时间窗向量表,并检查是否存在冲突,重复上述过程。
这样,经过以上的计算过程,即可对多个任务进行调度并为多个AGV规划出无冲突的路径。
算法执行流程图如图4所示:
图1 基于时间窗算法的多AGV调度路径规划流程图
4、结束语
时间窗算法作为预测式防冲突算法,可以为多AGV调度系统规划出从起始点到目标点的无冲突路径。
该算法具有冲突检测准确、算法易于实现,对环境变化响应速度快,能进行全局优化等优点。
但该算法复杂度会随着环境中任务和AGV数量增多,系统计算量迅速增加,而且会导致所搜索到的路径变得不够优化,甚至搜索不到合适的路径,不适合AGV数量过多的系统。
参考文献:
[1]张丹丹,张志龙. 基于AGV的智能停车库调度系统设计[J]. 计算机测量与控制,2019,027(007):184-189.
[2]郑海丽,谢宏.基于AGV的智能停车场路径规划与调度算法研究[J]. 现代计算机(专业版),2018,000(017):23-27.
[3]徐庆.基于嵌入式控制系统的AGV结构设计及控制方法研究[J].南京航空航天大学,2018.47(5):11-12。