一种基于多维数据的AGV路线规划调度方法及系统与流程

文档序号:24344300发布日期:2021-03-19 12:27阅读:129来源:国知局
一种基于多维数据的AGV路线规划调度方法及系统与流程

本公开涉及agv路径规划及智能调度技术领域,特别涉及一种基于多维数据的agv路线规划调度方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术,并不必然构成现有技术。

先进制造技术、工厂物流自动化是目前国内外极受重视的新技术应用领域。柔性加工、柔性装配、仓储物流自动化是其中的重要组成部分。在加工制造生产线、装配(例如汽车及其部件)生产线、仓库存取输送线越来越多的采用agv设备来实现物料的运输和配送,但随着agv设备的增多,agv车辆的调度、使用效率的优化成为越来越重要的问题。如何对agv的运行路线进行规划和优化,对车辆合理的安排和调度成为各厂商不断追求的目标。

本公开发明人发现,目前求agv的最优路线算法已很成熟,如常用的dijkstra算法、floyd算法、a*算法以及这些算法的优化和变型。使用这些算法很方便的计算出车辆运行的最优路线。然而多agv的运行是一个复杂且需要协调的过程,同一路线多台车辆共用时,会存在路线占用冲突等问题,导致车辆的运行效率急剧下降。有不少研究,在现有路线规划的算法上进行优化,有的算法也加入了时间的估算。如:一种基于a*算法的动态多路径规划算法。但实际运行中车辆故障、车辆避障、现场装卸料等业务场景决定了时间计划是会不断被打乱的,即使加入了动态时间更新,也仅仅是获取到通知,得到车辆运行延期,无法及时的实现agv路线的实时动态规划和调度;而且传统的agv调度通常从路线算法优化角度或简单的模型数据分析入手,解决agv车辆运行的效率问题,但这种解决方式存在较大的局限性,现场运行是复杂且多变的过程,任何基于单一要素的分析或算法改进无法同时解决车辆调度问题。



技术实现要素:

为了解决现有技术的不足,本公开提供了一种基于多维数据的agv路线规划调度方法及系统,对获取的数据进行复合处理,一方面通过数据模型,推算和改进车辆的运行路线;另一方面,根据车辆的实时运行数据,即时更新模型数据,做到车辆的动态规划和智能避让、解锁,提高了agv路线规划和调度的准确性。

为了实现上述目的,本公开采用如下技术方案:

本公开第一方面提供了一种基于多维数据的agv路线规划调度方法。

一种基于多维数据的agv路线规划调度方法,包括以下步骤:

获取agv的运行数据和状态数据,并根据获取的数据构建数据模型;

根据agv的当前位置和终点位置,计算agv最短行驶路线;

根据数据模型和运行任务,得到每段路线的占用时间和解除时间,形成时间序列表;

agv根据最短行驶路线和时间序列表进行运行,根据当前运行状态和运行时间,动态更新时间序列表,根据更新的时间序列表进行agv的路线评估和/或调整。

作为可能的一些实现方式,数据模型包括地图路线子模型、地图车辆子模型、地图节点和动作子模型、任务子模型和仿真子模型。

作为可能的一些实现方式,agv初次任务出发时,根据agv的当前位置和终点位置规划最短路线以及每段路线和点的车辆停留时间;

再次任务出发时,根据agv的当前位置和终点位置规划出最短路线,查看最短路线是否会与前一次的路线存在交集;

如果存在交集,查看是否为同向行驶,如果是逆向行驶,则规划新的路线,并评估新路线的总体运行耗时与原路线运行耗时等待耗时,以耗时最短的路线为行驶路线。

作为可能的一些实现方式,根据更新的时间序列表将当前agv后面所有未完成的路线的时间同步调整;

与当前任务共用路线的agv,重新评估调整后的最后到达时间,如果到达时间超过预设阈值时触发路线调整。

作为可能的一些实现方式,路线规划完毕后,检查路线构成的每个路线段是否被其它车辆占用以及占用方向,如果是同向占用,则不冲突,当前车辆可以继续占用,如果是异向占用且占用时间冲突,则视为占用冲突;

如果存在占用冲突,将冲突路线设置为不可通行,从而规划其它新路线,如果存在可行驶路线,则评估新路线的时间;

如新路线整体用时小于当前路线,则采用新路线,否则选择当前路线;

如果不存在可行驶路线,选择当前规划路线为行驶路线。

作为可能的一些实现方式,形成时间序列表后,对路线进行一级锁定,一级锁定只检测冲突;

执行二级锁定,锁定到岔路口,二级锁定后,冲突时间窗内,其它车辆禁止进入;

车辆开始行驶,行驶前,先占用前后两段路线,占用成功后,方可行驶,前后占用为排他锁定,锁定后其他任何方向的车辆禁止进入这两段路线;

驶出路线后,锁定下一段,释放当前段,如锁定失败,则停车检测是否死锁,如果死锁,执行死锁解除算法,如果非死锁,则停车等待路线释放。

作为可能的一些实现方式,多agv运行时,采用分段整体锁定、前后锁定及互为死锁优先解除的锁定及避让方式,包括:

车辆运行中,锁定将要运行的路线到岔路口,锁定成功后执行;

锁定不成功时,如果占用车辆处于行动状态,则停车等待,继续尝试锁定;如果占用车辆处于停止状态,则考虑二者死锁,进行解锁;

解锁时,每个进程按照统一的规则扫描,找出影响占用的关联车辆,找出互为死锁车辆,互为死锁的车辆行动,不死锁的车辆先不动;

互为死锁的,看停车时间,先停车的避让,如果先停车的没有避让路线,先停车的先运行。

本公开第二方面提供了一种基于多维数据的agv路线规划调度系统,包括:

数据模型构建模块,被配置为:获取agv的运行数据和状态数据,并根据获取的数据构建数据模型;

路线规划模块,被配置为:根据agv的当前位置和终点位置,计算agv最短行驶路线;

时间序列表生成模块,被配置为:根据数据模型和运行任务,得到每段路线的占用时间和解除时间,形成时间序列表;

规划调度模块,被配置为:agv根据最短行驶路线和时间序列表进行运行,根据当前运行状态和运行时间,动态更新时间序列表,根据更新的时间序列表进行agv的路线评估和/或调整。

本公开第三方面提供了一种基于多维数据的agv路线规划调度仿真系统,包括:

数据模型构建模块,被配置为:获取agv的运行数据和状态数据,并根据获取的数据构建数据模型;

仿真数据获取模块,被配置为:根据车辆的路线和运行速度,采用动画的形式展示出车辆的运行效果,同时实时更新数据模型的数据,得到车辆的仿真数据;

仿真优化模块,被配置为:根据仿真数据得到仿真报表,通过仿真报表得到出当前任务和当前车辆、路线的效率比,根据得到的效率比进行路线优化。

本公开第四方面提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开第一方面所述的基于多维数据的agv路线规划调度方法中的步骤。

本公开第五方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开第一方面所述的基于多维数据的agv路线规划调度方法中的步骤。

与现有技术相比,本公开的有益效果是:

1、本公开所述的方法、系统、介质或电子设备,将车辆的路线规划融入了整个行驶过程。在行驶过程中不断的更新车辆的行驶路径和时间,并根据时间动态调整行驶路线;通过特定的算法,尽量的避免路线的冲突,遇到路线冲突时,车辆可以自主避让,从而解决冲突;可有效解决目前路线规划效率低或易冲突、易死锁问题。

2、本公开所述的方法、系统、介质或电子设备,基于多维数据的模型,能够真实的模拟出任务的执行效率和车辆的利用率,利用该仿真功能,可以清晰的看到每趟任务的发车时间、执行过程和结束时间;可以看到每一条路线的占用时间、占用率等;解决了目前国内的调度系统基本没有仿真功能,而利用传统的计算方式,通常计算量较大,计算结果不准确,展示不形象等问题。

3、本公开所述的方法、系统、介质或电子设备,对获取的数据进行复合处理,通过数据模型,推算和改进车辆的运行路线;根据车辆的实时运行数据,即时更新模型数据,做到车辆的动态规划和智能避让、解锁,提高了agv路线规划和调度的准确性。

4、本公开所述的方法、系统、介质或电子设备,在同等任务频率、同等车辆、同等任务的前提下,对动态路线规划的运行效率和普通路线规划进行了测试,任务完成时间提升了25%,车辆等待时间减少了40%,路线共同占用率降低了20%,大幅度的提升了运行效率。

本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1为本公开实施例1提供的多维数据模型构成图。

图2为本公开实施例1提供的路线死锁解锁过程示意图。

图3为本公开实施例1提供的路线规划和运行流程图。

图4为本公开实施例3提供的仿真参数设置和仿真结果。

具体实施方式

下面结合附图与实施例对本公开作进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

实施例1:

本公开实施例1提供了一种基于多维数据的agv路线规划和智能调度方法,包括以下步骤:

步骤s1:数据模型建立,模型数据至少包括路线长度、车辆行驶速度、倒车速度、转向速度、最低工作电量、充电时间、装载时间、卸载时间、电量消耗,如图1所示。

步骤s2:采用floyd算法计算车辆行驶最短路线。

步骤s3:根据模型和任务,推算每段路线的预计占用时间、解除时间,形成时间序列表。

步骤s4:实际行驶过程中,即时更新序列表,让路线占用时间在理论和实际运行中不停的纠正、更新。

步骤s5:遇到路线冲突时,动态规划新路线,并评估新路线的预期时间与当前等待时间,采用最优决策策略。

步骤s6:多agv运行时,采用分段整体锁定、前后锁定及互为死锁优先解除的锁定及避让算法,让车辆可以动态避让。

步骤s7:具备路线预演和模拟仿真功能。

步骤s1中,在自主开发的地图设计器中进行数据模型建立,绘制出车辆的行驶路线、经停节点、每段路线的长度、方向(e、w、s、n东西南北);路线包括直线、弧线,不同类型车辆经过时可能会具备不同的行驶速度。

每段路线包含行驶方向、起点、终点;可以设置单向或双向行驶;建立车辆模型,车辆模型可以设置车辆行驶速度、倒车速度、转向速度、最低工作电量、充电时间、装载时间、卸载时间、电量消耗比;建立节点模型,节点模型中可以定义车辆在这个节点的动作、动作时间;模型建立后,在今后的路线规划和车辆运行中,可以根据模型来推算车辆的预期运行结果。

更具体的,数据模型包含地图的基本信息:

s1.1:包括地图路线模型,如路线的长度、该路线车辆行驶速度、路线的行驶方向(东南西北)和单双向(单向通过、双向通过)、路线的管制措施。

s1.2:包括地图车辆模型,可以设置车辆行驶速度、倒车速度、转向速度、最低工作电量、充电时间、装载时间、卸载时间、电量消耗比。

s1.3:包括地图节点和动作模型,通过点、上下料点、避让点、减速点、加速点、动作交互点。

s1.4:包括任务模型,任务的类型、配送起始点、任务频率、车辆要求。

s1.5:时间仿真模型,当前时间、时间单位、时间加速。

步骤s3中,根据规划出来的行驶路线、车辆运行速度、装载时间,可以推算每段路线的预计开始占用时间、释放时间、持续时间、占用车辆、占用方向(起点-终点或终点-起点),并形成占用时间序列表:

初次任务出发时,采用folyd算法规划出最短路线以及每段路线和点的车辆停留时间;每段停留时间采用t=s/v,不同路线、不同车辆的行驶速度会存在差别,按实际车辆类型计算;计算出每个点的占用时间(上下料时间、交互动作时间),并建立时间序列表。

再次任务出发时,首先规划最短路径,查看最短路径是否会与上述路径存在交集,如果存在交集,查看是否为同向行驶,如果是逆向行驶,通过调度算法,规划新的路线,并评估新路线的总体运行耗时与原路线运行耗时加待耗时,并作出最优决策。

步骤s4中,车辆行驶过程中,即时更新上述步骤s3中所述的时间序列表;车辆进入某段路线时,实际进入时间与理论进入时间存在偏差,系统根据实际时间,更新车辆后续尚未完成的所有分段路线的开始、结束时间、占用时间等,保持时间序列表与实际和理论并存,让路线占用时间在理论和实际运行中不停的纠正、更新。

具体包括:

车辆实际运行时因避让、临时停车、短暂异常等,会造成实际运行时间与理论时间存在差异的情况,因此每完成一段路线后,会更新后续路线的时间,根据当前实际时间,将后面所有未完成的路线的时间同步调整。

其它车辆与当前任务共用路线的,会重新评估调整后的最后到达时间,如果到达时间超过一定阈值会触发路线调整,从而导致其它车辆行驶路线改变。

步骤s5中,遇到路线冲突时,动态规划新路线,并评估新路线的预期时间与当前等待时间,采用最优决策策略。

具体的,多agv行驶过程中,会占用即将进入的路线;当发生路线占用冲突时会重新规划新的路线,因前期路线采用folyd算法计算的最短路线,所以新路线行驶距离会大于前路线。此时系统会评估新路线的预期到达时间以及旧路线的等待和到达时间;当新路线时间优于旧路线时,会进行路线切换。

步骤s6中,多agv运行时,采用分段整体锁定、前后锁定及互为死锁优先解除的锁定及避让算法,让车辆可以动态避让:

如图2中的(1)所示,如有以下行驶任务,a->d、d->a、b->c、c->b,同时出发,因只有1个十字路口,出发时必将会导致死锁。

运行和解除过程如下:

步骤s6.1:锁定到岔路口(一个点连接2条及以上线的,就算是岔路),锁定成功后执行,锁定不成功则需要检查路线被其它哪个车辆锁定了。

步骤s6.2:锁定不成功时,如果占用车辆处于行动状态,则停车等待,继续尝试锁定。如果占用车辆处于停止状态,则需要考虑二者死锁,进行解锁。

步骤s6.3:解锁时,每个进程按照统一的规则扫描。找出影响占用的关联车辆,例如下图占用关系a-c、b-c、c-b、d-c。找出互为死锁的车辆,如b-c、c-b,互为死锁的车辆行动,不死锁的先不动,如图2中的(2)所示。

步骤s6.4:互为死锁的,根据停车时间,先停车的避让,如上图b先停车,此时b避让。如果b没有路线可避让(假设图中的分支节点不存在),则另一个让步。假设两个死锁的都无法让步,b的避让规则,避让路线不与c的路线重合。

步骤s6.5:中心点释放后,a、d下一步行走,不管谁行动,都会导致死锁,形成d-a、a-d。如图2中的(3)所示,此时按照上述规则,d避让,然后a行动。

步骤s6.6:a释放中心点后,b可以继续向上,此时d占用中心失败,b未停车,可以继续行走,d停车等待继续占用,至此全部结束。

更具体的,如图3所示,采用上述方案,本实施例提供了一种agv的规划调度方法,包括以下步骤:

(1):如果当前车辆空闲,并且此车辆型号与所要运行的任务类型匹配,则为此车辆分配任务;车辆分配后,根据当前任务段的起点、终点,规划车辆行驶路线,并初步计算出每段路线的进入和离开时间。

(2):路线规划完毕后,检查路线构成的每个路线段是否被其它车辆占用,以及占用方向;如果是同向占用,则不冲突,当前车辆可以继续占用,如果是异向占用,则存在占用冲突;检测占用时,会同时检测方向和时间;两者均冲突的话,视为占用冲突。

(3):如果存在占用冲突,将冲突路线设置为不可通行,从而规划其它新路线,如果存在可行驶路线,则评估新路线的时间;如新路线整体用时小于当前路线,则采用新路线。否则选择当前路线;同理如果不存在可行驶路线,选择当前规划路线为行驶路线。

(4):为整体路线的每个路线段计算时间,形成时间序列,并对路线进行一级锁定。一级锁定为弱锁定,只检测冲突。

(5):执行二级锁定,锁定到岔路口;(一个点连接2条及以上线的,就算是岔路)二级锁定为强锁定,锁定后,冲突时间窗内,其它车辆禁止进入;冲突包括时间冲突和方向冲突。

(6):车辆开始行驶,行驶前,先占用前后两段路线,占用成功后,方可行驶;前后占用为排他锁定,这段路线是为了保障agv的安全行驶,锁定后其他任何方向的车辆禁止进入这2段路线。

(7):驶出路线后,锁定下一段,释放当前段。如锁定失败,则停车检测是否死锁,如果死锁,执行死锁解除算法;如果非死锁,则停车等待路线释放。

可以理解的,构建的数据模型具备路线预演和模拟仿真功能,按模型建立地图和车辆后,在进行实际的运行前,可下发模拟订单,车辆会按照设置的参数模拟行驶,模拟行驶过程中的路线占用、释放逻辑、时间序列更新逻辑均与实际运行一致,通过模拟运行可以评估车辆的运行效率,更加利于用户决策。

实施例2:

本公开实施例2提供了一种基于多维数据的agv路线规划调度系统,包括:

数据模型构建模块,被配置为:获取agv的运行数据和状态数据,并根据获取的数据构建数据模型;

路线规划模块,被配置为:根据agv的当前位置和终点位置,计算agv最短行驶路线;

时间序列表生成模块,被配置为:根据数据模型和运行任务,得到每段路线的占用时间和解除时间,形成时间序列表;

规划调度模块,被配置为:agv根据最短行驶路线和时间序列表进行运行,根据当前运行状态和运行时间,动态更新时间序列表,根据更新的时间序列表进行agv的路线评估和/或调整。

所述系统的工作方法与实施例1提供的基于多维数据的agv路线规划调度方法相同,这里不再赘述。

实施例3:

本公开实施例3提供了一种基于多维数据的agv路线规划调度仿真系统,如图4所示,包括:

数据模型构建模块,被配置为:获取agv的运行数据和状态数据,并根据获取的数据构建数据模型;

仿真数据获取模块,被配置为:根据车辆的路线和运行速度,采用动画的形式展示出车辆的运行效果,同时实时更新数据模型的数据,得到车辆的仿真数据;

仿真优化模块,被配置为:根据仿真数据得到仿真报表,通过仿真报表得到出当前任务和当前车辆、路线的效率比,根据得到的效率比进行路线优化。

具体的,包括以下内容:

(1)、建立系统运行的基础数据的模型。包括车辆信息模型,车辆的行驶速度、车辆型号、电量消耗、充电时间等;路线模型,包括路线的类型、方向、长度、路线的特殊行驶要求等;装载模型,包括装载的时间、卸载所需时间等;充电模型,包括充电速率、充电时间等;特殊任务模型,个别特殊任务在特殊点上的时间消耗等;模型数据是下一步系统运行和分析的基础。

(2)、建立任务模型。包括任务的种类,不同种类对应的起始点、配送规则、停经工位、起点、终点,运行完毕后的动作等;建立任务规则,如任务包含的要素、包含的动作、耗时等;任务的频率模型,不同种类的配送任务的触发频率。

(3)、搭建仿真环境。根据现场的实际地形,利用地图设计器,绘制出现场的车辆运行路线图。路线图中包含路线、车辆等各个模型的信息。

(4)、执行运动仿真。按照任务模型约定的类型和频率,定时生成仿真任务。根据设定的车辆模型,查找空闲的车辆执行任务。根据任务生成车辆行驶路线,更新路线时间,并按照路线占用、释放规则,驱动车辆行走,并以动画的方式呈现出来。车辆运行过程中,记录运行涉及到的数据信息,如任务的开始时间、路线计划开始时间、实际开始时间、计划结束时间、实际结束时间等。多任务、多车辆可并行进行。

(5)、查看仿真报表。车辆运行中产生的数据均被系统记录。系统对原始数据进行汇总、分析,从而得到整个仿真报表,命名为systemrundatainfo类;包含任务列表、订单列表、路线锁定信息列表、节点锁定信息列表、装载信息列表、车辆运行记录、等待信息列表等。

本实施例中,还可以建立时间模型,可以设置时间加速倍数,让仿真时间加倍;通过建立的车辆运行模型,可以模拟出车辆正常运行涉及到的所有指令、状态等信息。

系统运行时,根据车辆的路线、运行速度,采用动画的形式展示出车辆的运行效果,同时随时更新模型数据,得到车辆的仿真数据。

通过得到的仿真报表能分析出当前任务和当前车辆、路线的效率比,从而给出优化建议,例如增加车辆、合理分配任务时间等。

实施例4:

本公开实施例4提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开实施例1所述的基于多维数据的agv路线规划调度方法中的步骤。

实施例5:

本公开实施例5提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例1所述的基于多维数据的agv路线规划调度方法中的步骤。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1