AGV规划方法及装置与流程

文档序号:18523233发布日期:2019-08-24 10:00阅读:771来源:国知局
AGV规划方法及装置与流程

本申请涉及agv规划方法及装置,属于自动控制技术领域。



背景技术:

自动导引运输车(automatedguidedvehicle,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行驶路线。

可选地,所述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是本申请一个实施例提供的agv规划方法的流程图;

图2是本申请一个实施例提供的拓扑输入界面的示意图;

图3是本申请一个实施例提供的状态输入界面的示意图;

图4是本申请一个实施例提供的任务输入界面的示意图;

图5是本申请另一个实施例提供的任务输入界面的示意图;

图6是本申请一个实施例提供的拓扑结构的示意图;

图7是本申请一个实施例提供的显示agv行驶路线的示意图;

图8是本申请一个实施例提供的agv规划装置的框图。

具体实施方式

下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

可选地,本申请以各个实施例中每个步骤的执行主体为agv的控制端为例进行说明,其中,控制端可以是电脑、手机、平板电脑、服务器等具有处理能力的电子设备,本实施例不对控制端的设备类型作限定。

图1是本申请一个实施例提供的agv规划方法的流程图。该方法至少包括以下几个步骤:

步骤101,获取agv可行驶路线的拓扑结构,该拓扑结构包括至少两个节点以及不同节点之间的可行驶路线。

在一个示例中,拓扑结构是控制端基于人机交互技术得到的。此时,控制端显示拓扑输入界面;接收作用于拓扑输入界面中的拓扑输入操作,得到拓扑结构。

其中,拓扑输入操作可以是输入节点和节点之间路径长度的操作;或者,也可以是绘制节点并标注节点之间路径长度的操作,比如:拖动鼠标绘制节点,并在节点之间标注路径长度,本实施例不对拓扑输入操作的操作类型作限定。

参考图2所示的拓扑输入界面,该拓扑输入界面的第一行包括两个整型数据n和m,n表示拓扑结构的节点数量,m表示拓扑结构中的路径数量。图2中,n为36,m为37。第一行之后包括m行,每行数据表示一条路径,每行数据包括两个整型数据s、e和一个浮点型数据w,其中,s表示对应路径的起点,e表示对应路径的终点,w表示对应路径的长度。

在另一个示例中,拓扑结构存储于控制端中,由控制端读取得到。

步骤102,获取各个agv的初始状态数据,该初始状态数据包括每个agv的初始位置、运动速度和设备标识。

其中,初始位置为agv未开始执行行驶任务时所处的位置。

可选地,agv的运动速度包括agv的直行速度和转弯速度。其中,直行速度可以是agv在直线行驶时的平均速度;转弯速度可以是agv在曲线行驶时的平均速度。

设备标识可以是agv的车辆识别码、编号、设备号等,本实施例不对设备标识的类型作限定。

在一个示例中,初始状态数据是控制端基于人机交互技术得到的。此时,控制端显示状态输入界面;接收作用于状态输入界面中的状态输入操作,得到初始状态数据。

其中,状态输入操作可以是输入初始位置、运动速度和设备标识的操作。

参考图3所示的状态输入界面,该状态输入界面的第一行包括一个整型数据n,n表示agv的数量,图3中n为10。在第一行之后的n行,每行表示一个agv的初始位置、运动速度和设备标识。n行中的每行包括两个整型数据s、v和一个字符串i。其中,s表示对应agv的初始位置,v表示对应agv的运动速度、i表示对应agv的设备标识。

在另一个示例中,初始状态数据存储于控制端中,由控制端读取得到。

步骤103,获取agv的行驶任务数据,该行驶任务数据包括至少一个行驶任务的行驶起点和行驶终点。

可选地,行驶任务数据包括静态任务数据和动态任务数据。其中,静态任务数据是指各个agv在执行行驶任务之前获取到的任务数据。动态任务数据是指在至少一个agv开始执行行驶任务之后获取到的任务数据。

在一个示例中,获取agv的行驶任务数据,包括:显示任务输入界面;接收作用于任务输入界面上的起点输入操作和终点输入操作;根据起点输入操作指示的行驶起点和终点输入操作指示的行驶终点生成行驶任务,得到行驶任务数据。

参考图4所示的任务输入界面,该任务输入界面的第一行包括一个整型数据n,n表示行驶任务的数量,图4中n为30。在第一行之后的n行,每行表示一个行驶任务。n行中的每行包括两个整型数据s、e。其中,s表示对应行驶任务的行驶起点、e表示对应行驶任务的行驶终点。

参考图5所示的任务输入界面,该任务输入界面包括起点输入控件51、终点输入控件52和任务生成控件53。接收到作用于起点输入控件51上的起点输入操作、接收到作用于终点输入控件52上的终点输入操作;然后,在接收到作用于任务生成控件53上的任务生成操作时生成行驶任务,得到行驶任务数据。

在另一个示例中,行驶任务数据存储于控制端中,由控制端读取得到。

步骤104,基于行驶任务完成时间最短原则,根据拓扑结构、初始状态数据和行驶任务数据对agv进行规划。

可选地,基于行驶任务完成时间最短原则,根据拓扑结构、初始状态数据和行驶任务数据对agv进行规划,至少包括以下几个步骤:

步骤1、对于行驶任务数据中的每个行驶任务,根据待执行行驶任务的目标agv的运动速度和不同节点之间的可行驶路线确定不同节点之间的行驶时间。

假设拓扑结构中的可行驶路线如图6所示,该可行驶路线包括5个节点a、b、c、d和e。其中,a分别与b、d相连,b分别与a、c和d相连,c分别与b、d、e相连,d分别与a、b、c、e相连,e分别与c、d相连。

对于每个agv,控制端根据节点之间的路径长度(参考每条路径上方标注的路径长度)和该agv的运动速度(包括直行速度和转弯速度)计算不同节点之间的行驶时间。

步骤2、获取行驶任务的行驶起点到达第一集合中各个节点的最短行驶时间。

本实施例中,控制端预设有两个集合,第一集合和第二集合。其中,第一集合用于存储未确定出最短行驶时间的节点;第二集合用于存储已确定出最短行驶时间的节点。初始化第一集合包括除行驶起点之外的所有节点,初始化第二集合仅包括行驶起点。

假设行驶起点为a,则初始化第一集合为:{b、c、d、e};第二集合为{a}。

控制端获取a到达第一集合中各个节点的最短行驶时间,即,a分别到达b、c、d和e的最短行驶时间。此时,由于a到达c和e没有可行驶路线,因此,a到达c和e的行驶时间为∞。若a到达b的行驶时间小于a到达d的行驶时间,则a到达b的行驶时间为最短行驶时间。

步骤3、将第一集合中最短行驶时间对应的第一节点移入第二集合。

假设图6中a到达b的行驶时间为最短行驶时间,则将b点移入第二集合,此时,第一集合为:{c、d、e};第二集合为{a、b}。

步骤4、获取第一节点到达第一集合中各个节点的最短行驶时间与行驶起点到达目标节点的行驶时间之间的和值。

基于上述示例,控制端获取b到达c的行驶时间+a到达b的行驶时间的和值、b到达d的行驶时间+a到达b的行驶时间的和值、b到达e的行驶时间+a到达b的行驶时间的和值。

步骤5、确定和值是否大于或等于行驶起点到达第一集合中各个节点的最短行驶时间。

控制端获取行驶起点到达第一集合中各个节点的最短行驶时间。基于上述示例,控制端获取a到达c的行驶时间(a通过d到达c的行驶时间)、a到达d的行驶时间、以及a到达e的行驶时间(a通过d到达e的行驶时间),然后,从各个行驶时间中确定出最小值,得到最短行驶时间。最后,控制端将步骤4中的和值与该最短行驶时间进行比较,确定和值与该最短行驶时间的大小。

可选地,在和值大于或等于行驶起点到达第一集合中各个节点的最短行驶时间时,执行步骤6;在和值小于行驶起点到达第一集合中各个节点的最短行驶时间时,再次执行步骤2,直至第一集合为空时停止。

步骤6、将第一节点更新为第二节点,该第二节点为行驶起点到达第一集合中各个节点的最短行驶时间所对应的节点;再次执行获取行驶任务的行驶起点到达第一集合中各个节点的最短行驶时间的步骤,直至第一集合为空时停止。

假设步骤5确定出的最短行驶时间为a到达d的行驶时间,且该最短行驶时间大于或等于步骤4中的和值,则将第二集合中的b更新为d,此时,第一集合为:{b、d、e};第二集合为{a、d}。

步骤7、根据第二集合中各个节点构成的路径对应的行驶时间和目标agv执行行驶任务之前所需等待的时长对agv进行规划。

由于每个agv的运行状态和初始位置不同,因此,开始执行行驶任务的时间不同。本实施例中,将执行行驶任务之前所需等待的时长与行驶时间之和最短的目标agv确定为执行行驶任务的agv,得到该agv的行驶路线。

其中,目标agv执行行驶任务之前所需等待的时长包括目标agv从初始位置行驶至行驶起点的时间;和/或,目标agv执行完上一行驶任务的时长。

可选地,客户端在对agv进行规划还会获取到agv到达行驶路线上各个节点的理论时间和等待时长,客户端记录该理论时间和等待时长。

可选地,基于行驶任务完成时间最短原则,根据拓扑结构、初始状态数据和行驶任务数据对agv进行规划之前,还包括:确定拓扑结构是否准确;在拓扑结构不准确时显示拓扑结构修正提示,该拓扑结构修正提示用于提示用户修正拓扑结构。

可选地,确定拓扑结构是否准确包括:确定拓扑结构中是否存在冗余节点和/或冗余路径。

可选地,在确定出agv的规划路线之后,控制端显示规划得到的agv行驶路线、每个agv在对应的行驶路线中各个节点的等待时长以及到达各个节点的理论时间。

参考图7所示每个agv的规划路线71、每个agv在对应的行驶路线中各个节点的等待时长72以及到达各个节点的理论时间73。其中,对于图7中每个agv的设备标识(id),该agv的行驶路线包括第一行所示的初始位置到达行驶起点的路线以及第二行所示的从行驶起点到达行驶终点的路线;等待时长包括第一行所示的在初始位置到达行驶起点的路线上各个节点的等待时长、以及第二行所示的从行驶起点到达行驶终点的路线上各个节点的等待时长;理论时间包括第一行所示的从初始位置至行驶起点的路线上到达各个节点的理论时间、以及第二所示的从行驶起点至行驶终点的路线上到达各个节点的理论时间。

综上所述,本实施例提供的agv规划方法,通过获取agv可行驶路线的拓扑结构,拓扑结构包括至少两个节点以及不同节点之间的可行驶路线;获取各个agv的初始状态数据,初始状态数据包括每个agv的初始位置、运动速度和设备标识;获取agv的行驶任务数据,行驶任务数据包括至少一个行驶任务的行驶起点和行驶终点;基于行驶任务完成时间最短原则,根据拓扑结构、初始状态数据和行驶任务数据对agv进行规划;可以解决基于最短路径原则生成agv的行驶路线导致行驶任务的执行效率较低的问题;由于可以基于行驶任务完成时间最短原则生成agv的行驶路线,因此,可以提高行驶任务的执行效率。

另外,在agv路径规划时还会记录各条行驶路线中节点被占用的时间区间,从可使用的路径中选择完成任务时间最短的路径,可以保证agv之间不出现冲突。

另外,拓扑结构和行驶任务数据的获取方式简单,可以提高获取拓扑结构和行驶任务数据的效率。

图8是本申请一个实施例提供的agv规划装置的框图。该装置至少包括以下几个模块:第一获取模块810、第二获取模块820、第三获取模块830和路线规划模块840。

第一获取模块810,用于获取agv可行驶路线的拓扑结构,所述拓扑结构包括至少两个节点以及不同节点之间的可行驶路线;

第二获取模块820,用于获取各个agv的初始状态数据,所述初始状态数据包括每个agv的初始位置、运动速度和设备标识;

第三获取模块830,用于获取agv的行驶任务数据,所述行驶任务数据包括至少一个行驶任务的行驶起点和行驶终点;

路线规划模块840,用于基于行驶任务完成时间最短原则,根据所述拓扑结构、所述初始状态数据和所述行驶任务数据对agv进行规划。

可选地,所述路线规划模块840,用于:

对于所述行驶任务数据中的每个行驶任务,根据待执行所述行驶任务的目标agv的运动速度和所述不同节点之间的可行驶路线确定不同节点之间的行驶时间;

获取所述行驶任务的行驶起点到达第一集合中各个节点的最短行驶时间,所述第一集合用于存储未确定出最短行驶时间的节点;

将所述第一集合中所述最短行驶时间对应的第一节点移入第二集合,所述第二集合用于存储已确定出最短行驶时间的节点;

获取所述第一节点到达所述第一集合中各个节点的最短行驶时间与所述行驶起点到达所述第一节点的行驶时间之间的和值;

确定所述和值是否大于或等于所述行驶起点到达所述第一集合中各个节点的最短行驶时间;

在所述和值大于或等于所述行驶起点到达所述第一集合中各个节点的最短行驶时间时,将所述第一节点更新为第二节点;所述第二节点为所述行驶起点到达所述第一集合中各个节点的最短行驶时间所对应的节点;再次执行所述获取所述行驶任务的行驶起点到达第一集合中各个节点的最短行驶时间的步骤,直至所述第一集合为空时停止;

根据所述第二集合中各个节点构成的路径对应的行驶时间和所述目标agv执行所述行驶任务之前所需等待的时长对agv进行规划。

相关细节参考上述方法实施例。

需要说明的是:上述实施例中提供的agv规划装置在进行agv规划时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将agv规划装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的agv规划装置与agv规划方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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