掌桥专利:专业的专利平台
掌桥专利
首页

一种机器人路径规划方法、装置、设备及计算机存储介质

文献发布时间:2024-04-18 20:01:23


一种机器人路径规划方法、装置、设备及计算机存储介质

技术领域

本申请属于人工智能技术领域,尤其涉及一种机器人路径规划方法、装置、设备及计算机存储介质。

背景技术

智能仓储是现代物流业发展的重要环节,智能仓储通过大量的自动引导工具(Automated Guided Vehicle,AGV)机器人来实现对仓库中的货物进行传送。

目前,在仓库中使用多个AGV机器人来完成大量的货物传送工作,为减少AGV机器人在传送货物过程中出现冲突,需要对AGV机器人进行合理的路径规划。现有的对多机器人进行路径规划的方法是采用单一的路径规划算法进行路径规划,而采用单一的路径规划算法无法根据每个AGV机器人的任务紧急程度来规划目标行驶路径,导致路径规划的效率较低。

发明内容

本申请实施例提供一种机器人路径规划方法、装置、设备及计算机存储介质,能够提高对多个机器人的行驶路径进行集中规划的效率。

第一方面,本申请实施例提供一种机器人路径规划方法,方法包括:

基于原始地图码点数据,获取目标区控地图;

初始化目标区控地图中多个机器人路径,得到第一路径预约表;

通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人的初始路径;

若存在不满足预设条件的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径;

根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,将第一路径预约表更新为第二路径预约表;

通过第二路径预约表对多个机器人进行路径规划。

第二方面,本申请实施例提供一种机器人路径规划装置,包括:

第一获取模块,用于基于原始地图码点数据,获取目标区控地图;

初始化模块,用于初始化目标区控地图中多个机器人路径,得到第一路径预约表;

第二获取模块,用于通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人的初始路径;

优化模块,用于若存在不满足预设条件的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径;

更新模块,用于根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,将第一路径预约表更新为第二路径预约表;

规划模块,用于通过第二路径预约表对多个机器人进行路径规划。

第三方面,本申请实施例提供一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器;

处理器执行计算机程序指令时实现如第一方面任意一项的机器人路径规划方法。

第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面任意一项的机器人路径规划方法。

第五方面,本申请实施例提供一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如第一方面任意一项的机器人路径规划方法。

本申请实施例的机器人路径规划方法、装置、设备及计算机存储介质,采用包括多级子算法的多级规划模型,逐级的对待规划目标行程的机器人进行路径规划,直至得到所有机器人的规划行程,从而提高了路径集中规划的成功率,另外,优先采用优先级较高的子算法逐级的规划路径,提高了路径集中规划的效率。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例提供的机器人路径规划方法的流程示意图;

图2是本申请另一个实施例提供的机器人路径规划方法的流程示意图;

图3是本申请实施例提出的一种机器人路径规划流程示意图;

图4是本申请又一个实施例提供的机器人路径规划方法的流程示意图;

图5是本申请另一个实施例提供的机器人路径规划装置的结构示意图;

图6是本申请又一个实施例提供的机器人路径规划设备的结构示意图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

在介绍本申请的具体实施方式之前,首先介绍描述本申请实施方式时用到的技术术语。

多智能体路径规划(Multi-Agent Path Finding,MAPF):是一类寻找多个智能体从起始位置到目标位置且无冲突的最优路径集合的问题。

码点:物理上仓库地图的二维码,机器人可以通过扫描二维码来实现导航定位。二维码中存储有码点在仓库地图上的相对坐标。

智能仓储是现代物流业发展的重要环节,智能仓储通过大量的自动引导工具(Automated Guided Vehicle,AGV)机器人来实现对仓库中的货物进行传送。目前,在仓库中使用多个AGV机器人来完成大量的货物传送工作,为减少AGV机器人在传送货物过程中出现冲突,需要对AGV机器人进行合理的路径规划。现有的对多机器人进行路径规划的方法是采用单一的路径规划算法进行路径规划,而采用单一的路径规划算法无法根据每个AGV机器人的任务紧急程度来规划目标行驶路径,导致路径规划的效率较低。

本申请实施例的机器人路径规划方法、装置、设备及计算机存储介质,通过采用包括多级子算法的多级规划模型,逐级的对待规划目标行程的机器人进行路径规划,直至得到所有机器人的规划行程,从而提高了路径集中规划的成功率,另外,优先采用优先级较高的子算法逐级的规划路径,提高了路径集中规划的效率。

下面首先对本申请实施例所提供的机器人路径规划方法进行介绍。

图1是本申请一个实施例提供的机器人路径规划方法的流程示意图。如图1所示,本申请实施例提供的机器人路径规划方法,包括以下步骤:S101-S106。

S101:基于原始地图码点数据,获取目标区控地图。

需要说明的是,原始地图可以是目标仓库的地图,也即多个机器人所在的仓库。码点数据可以是原始地图中预先设定的表示不同坐标位置的二维码。

在一个实施例中,可以按照预设条件,基于原始地图的码点数据,获取目标区控地图。

S102:初始化目标区控地图中多个机器人路径,得到第一路径预约表。

在一个实施例中,可以对目标区控地图中的每个机器人的路径进行初始化处理,得到包括每个机器人的路径信息的第一路径预约表。

作为一种示例,可以随机生成每个机器人在目标区控地图中的行驶路径,从而完成路径的初始化处理。

S103:通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人的初始路径。

可以理解的是,由于不同的机器人所要执行的任务不同,其任务的重要性也不同,任务的紧急程度也不同,因此,可以按照预设条件将多个机器人中满足预设条件的机器人筛选出来,得到第一目标机器人,保留第一目标机器人的初始路径。

在一个实施例中,可以通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人的初始路径,上述预设条件可以是根据实际需求预先设定的。

S104:若存在不满足预设条件的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径。

若存在不满足预设条件的第二目标机器人,则说明上述第二目标机器人所要执行的任务紧急程度相对较低,可以对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径,使第二目标机器人的优化路径不与第一目标机器人的初始路径发送冲突。

S105:根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,将第一路径预约表更新为第二路径预约表。

根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,也即,在对第二目标机器人进行路径优化后,利用第二路径预约表更新第一路径预约表。

在一个实施例中,第一路径预约表和第二路径预约表中均可以包括机器人的行驶路径和行驶路径对应的行驶时间段。

S106:通过第二路径预约表对多个机器人进行路径规划。

在一个实施例中,可以通过第二路径预约表中存储的多个机器人中每个机器人对应的行驶路径和行驶时间段对多个机器人进行路径规划,以使每个机器人按照第二路径预约表中对应的行驶路径在目标区控地图对应的区域中行驶。

本申请实施例提供的上述机器人路径规划方法,通过采用包括多级子算法的多级规划模型,逐级的对待规划目标行程的机器人进行路径规划,直至得到所有机器人的规划行程,从而提高了路径集中规划的成功率,另外,优先采用优先级较高的子算法逐级的规划路径,提高了路径集中规划的效率。

在本申请一些实施例中,为进一步提高对多个机器人进行路径集中规划的效率,提出另一种机器人路径规划方法,请参见图2,是本申请另一个实施例提供的机器人路径规划方法的流程示意图。如图2所示,该机器人路径规划方法包括:S201-S209。

S201:基于原始地图码点数据,获取目标区控地图。

S202:初始化目标区控地图中多个机器人路径,得到第一路径预约表。

本实施例中S201-S202与本申请实施例中的S101-S102相同,为了简要起见,在此不再详细描述,详细信息请参见本申请实施例中的描述。

在本申请一些实施例中,多级规划算法包括第一级算法、第二级算法和第三级算法;

其中,第一级算法、第二级算法和第三级算法中的每个级次算法均包括各自对应的任务紧急程度指标;不同级次算法中在后级次算法中的任务紧急程度指标包括先前级次算法中的任务紧急程度指标,且不同级次规划算法对应的同一任务紧急程度指标阙值不同,且级次越高,任务紧急程度指标阙值越小,第一级算法的级次较第二级算法低,第二级算法的级次较第三级算法低。

在一个实施例中,第一级算法包括第一任务紧急程度指标(对应第一阈值);第二级算法包括第一任务紧急程度指标(对应第三阈值)和第二任务紧急程度指标(对应第二阈值);第三级算法包括第一任务紧急程度指标(对应第四阈值)和第二任务紧急程度指标(对应第五阈值),并且,在存在不满足预设条件的第二目标机器人的情况下,第三级算法执行对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径。其中,第一阈值小于第三阈值,第三阈值小于第四阈值,第二阈值小于第五阈值。

S203:依次利用第一级算法、第二级算法和第三级算法从第一路径预约表中筛选出满足当前级次算法对应的预设条件的第一目标机器人,直至各个级次的算法均已执行筛选出满足当前级次算法对应的预设条件的第一目标机器人,或者,第一目标机器人的数量等于多个机器人的数量。

可以理解的是,依次利用第一级算法、第二级算法和第三级算法从第一路径预约表中筛选出满足当前级次算法对应的预设条件的第一目标机器人,第一目标机器人的数量可能与上述多个机器人的数量相同,即多个机器人均满足预设条件;第一目标机器人的数量也可能小于上述多个机器人的数量,也即通过第一级算法、第二级算法和第三级算法对多个机器人进行筛选后,还存在剩余的不满足预设条件的机器人。

在本申请一些实施例中,第一级算法包括第一任务紧急程度指标,S203具体可以包括以下步骤:

获取第一路径预约表中每个机器人的初始路径的起始时刻;

根据每个起始时刻与当前时刻的差值,确定每个机器人的任务等待时长;

根据任务等待时长,确定机器人的第一任务紧急程度指标对应的第一指标值,任务等待时长与第一任务紧急程度指标值呈反相关;

获取第一级算法对应的当前任务紧急程度指标的第一阈值;

从第一路径预约表中筛选出第一指标值大于第一阈值的第一目标机器人;

从第一路径预约表中去除第一目标机器人,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人。

在一个实施例中,获取第一路径预约表中每个机器人的初始路径的起始时刻,根据每个起始时刻与当前时刻的差值,确定每个机器人的任务等待时长,根据任务等待时长,确定机器人的第一任务紧急程度指标对应的第一指标值,任务等待时长与第一任务紧急程度指标值呈反相关。也即,任务等待时长越长,该机器人对应的任务紧急程度越高,第一任务紧急程度指标值越低。

获取第一级算法对应的当前任务紧急程度指标的第一阈值,从第一路径预约表中筛选出第一指标值大于第一阈值的第一目标机器人,也即,第一目标机器人的任务减积程度较高。

从第一路径预约表中去除第一目标机器人,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人,以用于进行下一级次的筛选。

在本申请另一些实施例中,第二级算法包括第一任务紧急程度指标和第二任务紧急程度指标,S203具体还可以包括以下步骤:

获取第一路径预约表中每个机器人行驶完初始路径所需的预计时长;

对任务等待时长和预计时长进行加权求和,得到机器人的第二任务紧急程度指标对应的第二指标值;

获取第二级算法对应的当前任务紧急程度指标的第二阈值;

从述第一路径预约表中筛选出第二指标值大于第二阈值的第一目标机器人;

从第一路径预约表中去除第一目标机器人,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人。

在本申请实施例中,获取第一路径预约表中存储的每个机器人行驶完初始路径所需的预计时长,按照预设的权重值对任务等待时长和预计时长进行加权求和,得到加权和值,该加权和值即为机器人的第二任务紧急程度指标对应的第二指标值。

可以获取第二级算法对应的当前级次任务紧急程度指标的第二阈值,也即获取上述第二任务紧急程度指标对应的第二阈值,从第一路径预约表中确定得到第二指标值大于第二阈值的第一目标机器人,上述第一目标机器人即为满足当前级次算法对应的预设条件的机器人。

在一个实施例中,可以将上述第一目标机器人对应的信息从第一路径预约表中去除,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人,以用于进行下一级次算法的筛选。

需要说明的是,在执行上述获取第一路径预约表中每个机器人行驶完初始路径所需的预计时长之前,可以先利用第一任务紧急程度指标及其对应的第三阈值,从第一路径预约表中筛选出指标值大于第三阈值的第一目标机器人,将第一目标机器人对应的信息从第一路径预约表中去除,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人。其中,第三阈值大于第一阈值。上述筛选方式可以采用本申请任意实施例中提出的筛选方式。

在本申请另一些实施例中,第三级算法包括第一任务紧急程度指标、第二任务紧急程度指标,S203具体还可以包括以下步骤:

利用第一任务紧急程度指标和第二任务紧急程度指标从第一路径预约表中筛选出满足当前级次算法对应的预设条件的第一目标机器人;

在存在不满足预设条件的第二目标机器人的情况下,执行对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径。

在一个实施例中,利用第一任务紧急程度指标及其对应的第四阈值,从第一路径预约表中筛选出指标值大于第四阈值的第一目标机器人,将第一目标机器人对应的信息从第一路径预约表中去除,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人。其中,第四阈值大于第三阈值。上述筛选方式可以采用本申请任意实施例中提出的筛选方式。

在得到更新后的第一路径预约表后,利用第二任务紧急程度指标及其对应的第五阈值,从第一路径预约表中筛选出指标值大于第五阈值的第一目标机器人,将第一目标机器人对应的信息从第一路径预约表中去除,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人。其中,第五阈值大于第二阈值。上述筛选方式可以采用本申请任意实施例中提出的筛选方式。

S204:若存在不满足预设条件的第二目标机器人,随机生成第二目标机器人的多条备选路径以及每条备选路径对应的时间信息。

可以理解的是,若存在不满足预设条件的第二目标机器人,说明上述第二目标机器人对应的任务紧急程度较低,可以对第二目标机器人重新规划路径,从而达到避让第一目标机器人的目的。

在一个实施例中,第二目标机器人可以有一个或者多个。可以随机生成每个第二目标机器人的多条备选路径以及每条备选路径对应的时间信息。

S205:在多条备选路径中确定路径长度最短的备选路径,得到优化路径以及优化路径对应的时间信息。

可以理解的是,在存在多条备选路径的情况下,可以选择路径长度最短的备选路径作为优化路径,从而能够使第二机器人的行驶效率相对较高。

S206:根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,将第一路径预约表更新为第二路径预约表。

S207:通过第二路径预约表对多个机器人进行路径规划。

本实施例中S206-S207与本申请实施例中的S105-S106相同,为了简要起见,在此不再详细描述,详细信息请参见本申请实施例中的描述。

S208:在优化路径未满足第二预设条件的情况下,采用传统路径规划算法对第二目标机器人的路径进行重新规划,得到重新规划结果。

S209:基于重新规划结果更新第二目标机器人的优化路径以及优化路径对应的时间信息。

可以理解,上述优化路径未满足第二预设条件的情况,可以是上述多条备选路径中最短的路径长度大于预设路径长度的情况,也即同一机器人对应的多条备选路径中最短的路径长度依然很长,不能满足要求,在这种情况下,可以采用传统路径规划算法对第二目标机器人的路径进行重新规划,得到重新规划结果,基于重新规划结果更新第二目标机器人的优化路径以及优化路径对应的时间信息。

如图3所示,为本申请实施例提出的一种机器人路径规划流程示意图。

可以采用RCS(robot control system)的A*算法来初始化路径,得到多个机器人的初始路径,向锁闭计算单元发出锁闭计算请求,也即本申请一些实施例中提出的请求计算未来预设时间段内的机器人行驶路径。锁闭计算单元获取多个机器人的初始路径对应的第一路径预约表,并输入到WHCA(wide Hierarchical Cooperative A*)算子(也即第一级算法)中,WHCA算子从第一路径预约表中筛选出满足第一级算法对应的预设条件的第一目标机器人,在第一路径预约表去除第一目标机器人,将第一路径预约表中的机器人更新为剩余机器人,并将第一路径预约表返回至锁闭计算单元;锁闭计算单元将更新后的第一路径预约表输入至DRL(Deep Reinforcement Learning,深度强化学习)算子(也即第二级算法),DRL算子从第一路径预约表中筛选出满足第二级算法对应的预设条件的第一目标机器人,在第一路径预约表去除第一目标机器人,将第一路径预约表中的机器人更新为剩余机器人,并将第一路径预约表返回至锁闭计算单元;锁闭计算单元将更新后的第一路径预约表输入至CBS(Conflict-based search,中央规划)算子(也即第三级算法),CBS算子从第一路径预约表中筛选出满足第二级算法对应的预设条件的第一目标机器人,在第一路径预约表去除第一目标机器人,得到剩余的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径。根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,将第一路径预约表更新为第二路径预约表,也即更新路径。若第二目标机器人中存在不满足预设条件的机器人,还可以采用RCS计算器进行路径重规划,进而更新第二路径预约表,通过更新后的第二路径预约表对多个机器人进行路径规划。

本申请实施例提供的上述机器人路径规划方法,通过采用包括多级子算法的多级规划模型,逐级的对待规划目标行程的机器人进行路径规划,直至得到所有机器人的规划行程,第一级算法、第二级算法和第三级算法中的每个级次算法均包括各自对应的任务紧急程度指标,不同级次算法中在后级次算法中的任务紧急程度指标包括先前级次算法中的任务紧急程度指标,且不同级次规划算法对应的同一任务紧急程度指标阙值不同,且级次越高,任务紧急程度指标阙值越小,第一级算法的级次较第二级算法低,第二级算法的级次较第三级算法低,从而提高了路径集中规划的成功率,另外,优先采用优先级较高的子算法逐级的规划路径,提高了路径集中规划的效率。

为进一步提高对多个机器人进行路径集中规划的效率,提出另一种机器人路径规划方法,请参见图4,是本申请另一个实施例提供的机器人路径规划方法的流程示意图。如图4所示,该机器人路径规划方法包括:S401-S407。

S401:根据原始地图中的目标对象、码点的通行方向和码点间距,从多个码点中确定目标码点集合。

可以理解的是,原始地图中包括大量的码点,在对机器人的行驶路径进行集中规划过程中,如果原始地图中的每个码点都参与规划,其计算量是巨大的,因此可以缩小码点数量,使用剩余码点集合进行路径规划,从而降低路径规划的运算量,提高运算效率。例如,可以去除机器人无法到达的码点,还可以去除机器人停留时间不确定的码点,还可以去除因码点间距过小而容易导致机器人之间发生冲突的码点。

作为一种示例,可以根据码点的可行驶方向、码点间距以及原始地图中的目标对象来从原始地图的码点中确定目标码点,得到目标码点集合。

S402:根据目标码点集合初始化地图数据,得到目标区控地图。

在一个实施例中们可以根据目标码点集合确定其对应的区控区域,进而初始化地图数据,得到目标区控地图。

在本申请一些实施例中,原始地图码点数据包括码点的坐标值;根据原始地图中的目标对象、码点的通行方向和码点间距,从多个码点中确定目标码点集合,包括:

将目标对象对应的码点从原始地图的码点中去除,得到剩余码点集合以及剩余码点集合对应的目标子区域;

针对剩余码点集合中的第一剩余码点,基于第一剩余码点的坐标值,确定第一剩余码点是否为目标子区域中的边缘码点;第一剩余码点为剩余码点集合中的任一码点;

响应于第一剩余码点为边缘码点,确定第一剩余码点的通行方向;

根据通行方向,确定第一剩余码点是否为目标子区域的单向进出码点;

响应于第一剩余码点不是单向进出码点,将目标非边缘码点更新为第一剩余码点,目标非边缘码点为与第一剩余码点相邻的任一非边缘码点;

根据更新后的剩余码点集合的码点数和码点间距,从更新后的剩余码点集合中确定目标码点集合。

在本申请实施例中,目标对象可以是仓库地图中的工作站,还可以是存储点,还可以是潮汐车道。

可以理解,由于仓库中存在一些工作站、存储点等机器人通常无法到达或者即使能够到达,其停留时间也不固定的区域,这些区域的码点没有必要参与路径规划,另外,由于仓库中的潮汐车道在不同时段允许行驶的方向是不同的,因此路径规划过程中会严重影响计算效率,潮汐车道对应的码点也可以不参与路径规划。

作为一种示例,将目标对象所属区域内的码点从目标地图的码点中去除,将目标地图中的剩余码点集合确定为目标码点,从而得到目标码点集合,减少了参与路径规划的码点数量,降低了路径规划计算复杂度,提高了路径规划效率。

在本申请一些实施例中,根据更新后的剩余码点集合的码点数和码点间距,从更新后的剩余码点集合中确定目标码点集合,包括:

根据坐标值和通行方向,确定多个机器人行驶至目标对象的可能途经码点;

在可能途经码点中确定机器人行驶至目标对象的必经码点;

针对更新后的剩余码点集合中的第二剩余码点,确定与第二剩余码点相邻的第一码点和第二码点;第一码点、第二剩余码点和第二码点共线;第二剩余码点为更新后的剩余码点集合中的任一码点;

响应于第一码点和第二码点之间的间距小于预设阈值,且第二剩余码点不是必经码点,从更新后的剩余码点集合中去除第二剩余码点,得到目标码点集合。

作为一种示例,根据每个码点的坐标值,以及每个码点的可行驶方向,可以确定出由目标地图中任意位置行驶至目标对象的行驶路径,进而可以根据行驶路径确定出机器人行驶至目标对象的途经码点。

可以理解,针对仓库中的工作站、存储点以及货架等区域,为了能使机器人能够正常传送货物,必须保证基于目标码点集合中的码点规划处的路径能够到达上述目标对象所在位置,因此需要确定机器人行驶至目标对象的必经码点。对于必经码点是不能从目标地图的码点中去除的。

作为一种示例,根据目标对象的所属区域坐标以及上述路径码点的坐标,可以在路径码点中确定出机器人行驶至目标对象的必经码点,也就是说,如果将该码点去除,则机器人无法到达目标对象,那么该码点即为必经码点。

若与码点相邻的第一码点和第二码点在同一直线上,且第一码点和第二码点之间的间距过小,则容易导致机器人在行驶过程中发生冲突,可以将该码点去除,以此来增大第一码点和第二码点之间的距离。

作为一种示例,在码点不是必经码点的前提下,若与该码点相邻的第一码点和第二码点之间的间距小于第一预设阈值,则从目标地图的码点中去除,得到目标码点集合。

S403:初始化目标区控地图中多个机器人路径,得到第一路径预约表。

本实施例中S403与本申请实施例中的S102相同,为了简要起见,在此不再详细描述,详细信息请参见本申请实施例中的描述。

S404:按照预设周期,通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人在未来第一时段内的初始路径。

S405:若存在不满足预设条件的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人在未来第一时间段内的优化路径。

在一个实施例中,可以按照预设周期来获取第一目标机器人在未来第一时间段内的初始路径。举例来说,可以每5秒通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人在未来20秒内的初始路径。若存在不满足预设条件的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人在未来20内的优化路径。

S406:根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,将第一路径预约表更新为第二路径预约表。

S407:通过第二路径预约表对多个机器人进行路径规划。

本实施例中S406-S407与本申请实施例中的S105-S106相同,为了简要起见,在此不再详细描述,详细信息请参见本申请实施例中的描述。

在本申请一些实施例中,该方法还可以包括以下步骤:

在多个机器人中存在异常机器人的情况下,获取异常机器人的第一位置坐标;

判断第一位置坐标是否在多个机器人中的正常机器人的目标行驶路径上;目标行驶路径为目标初始路径或者重新规划路径;

在第一位置坐标在至少一个正常机器人的目标行驶路径上的情况下,根据第一位置坐标和至少一个正常机器人的行驶路径,生成至少一个正常机器人各自的目标绕行路径,目标绕行路径不经过第一位置坐标。

需要说明的是,如果机器人发生异常,无法对机器人进行控制,可以将该机器人录入障碍物列表,即将该机器人确定为障碍物,以使其他机器人可以绕过该机器人,避免发生冲突。

在一个实施例中,在多个机器人中存在异常机器人的情况下,获取异常机器人的第一位置坐标,若第一位置坐标在至少一个正常机器人的目标行驶路径上,根据第一位置坐标和至少一个正常机器人的行驶路径,生成至少一个正常机器人各自的目标绕行路径,目标绕行路径不经过第一位置坐标,以使正常机器人绕过异常机器人,减少冲突的发生。

在本申请一些实施例中,在获取异常机器人的第一位置坐标之前,该方法还可以包括以下步骤:

针对多个机器人中的每个机器人,在机器人满足以下条件中的任一条件的情况下,确定机器人为异常机器人:

机器人出现故障;

机器人为第一目标机器人,并且,不满足机器人能够按照目标初始路径以及目标初始路径对应的时间信息进行行驶。

本申请实施例提供的上述机器人路径规划方法,通过在原始地图中根据码点的可行驶方向、码点间距以及原始地图中的目标对象确定出目标码点集合,根据多个机器人各自的初始路径对多个机器人各自在目标码点集合对应的区域中的行驶路径进行集中规划,从而缩小了对多个机器人进行路径规划的区域范围,降低了计算复杂度,进而提高了计算效率,提高了机器人集中规划路径在工业场景中的实用性。

基于上述实施例提供的机器人路径规划方法,结合附图5介绍本申请实施例提供的机器人路径规划装置的具体实施方式。

参见图5,是本申请另一个实施例提供的机器人路径规划装置的结构示意图,该的结构示意图,该机器人路径规划装置500包括:

第一获取模块501,用于基于原始地图码点数据,获取目标区控地图;

初始化模块502,用于初始化目标区控地图中多个机器人路径,得到第一路径预约表;

第二获取模块503,用于通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人的初始路径;

优化模块504,用于若存在不满足预设条件的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径;

第一更新模块505,用于根据第一目标机器人的初始路径、第二目标机器人的优化路径得到第二路径预约表,将第一路径预约表更新为第二路径预约表;

规划模块506,用于通过第二路径预约表对多个机器人进行路径规划。

本申请实施例提供的上述机器人路径规划装置,通过采用包括多级子算法的多级规划模型,逐级的对待规划目标行程的机器人进行路径规划,直至得到所有机器人的规划行程,从而提高了路径集中规划的成功率,另外,优先采用优先级较高的子算法逐级的规划路径,提高了路径集中规划的效率。

作为本申请的一种实现方式,多级规划算法包括第一级算法、第二级算法和第三级算法;

其中,第一级算法、第二级算法和第三级算法中的每个级次算法均包括各自对应的任务紧急程度指标;不同级次算法中在后级次算法中的任务紧急程度指标包括先前级次算法中的任务紧急程度指标,且不同级次规划算法对应的同一任务紧急程度指标阙值不同,且级次越高,任务紧急程度指标阙值越小,第一级算法的级次较第二级算法低,第二级算法的级次较第三级算法低。

作为本申请的一种实现方式,为了进一步提高对多个机器人进行路径集中规划的效率,上述第二获取模块503还可以包括:

获取子模块,用于依次利用第一级算法、第二级算法和第三级算法从第一路径预约表中筛选出满足当前级次算法对应的预设条件的第一目标机器人,直至各个级次的算法均已执行筛选出满足当前级次算法对应的预设条件的第一目标机器人,或者,第一目标机器人的数量等于多个机器人的数量。

作为本申请的一种实现方式,第一级算法包括第一任务紧急程度指标,上述获取子模块具体可以用于:

获取第一路径预约表中每个机器人的初始路径的起始时刻;

根据每个起始时刻与当前时刻的差值,确定每个机器人的任务等待时长;

根据任务等待时长,确定机器人的第一任务紧急程度指标对应的第一指标值,任务等待时长与第一任务紧急程度指标值呈反相关;

获取第一级算法对应的当前任务紧急程度指标的第一阈值;

从述第一路径预约表中筛选出第一指标值大于第一阈值的第一目标机器人;

从第一路径预约表中去除第一目标机器人,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人。

作为本申请的一种实现方式,第二级算法包括第一任务紧急程度指标和第二任务紧急程度指标,上述获取子模块具体可以用于:

第二级算法包括第一任务紧急程度指标和第二任务紧急程度指标,依次利用第一级算法、第二级算法和第三级算法从第一路径预约表中筛选出满足当前级次算法对应的预设条件的第一目标机器人,还包括:

获取第一路径预约表中每个机器人行驶完初始路径所需的预计时长;

对任务等待时长和预计时长进行加权求和,得到机器人的第二任务紧急程度指标对应的第二指标值;

获取第二级算法对应的当前任务紧急程度指标的第二阈值;

从述第一路径预约表中筛选出第二指标值大于第二阈值的第一目标机器人;

从第一路径预约表中去除第一目标机器人,得到剩余机器人,将剩余机器人更新为第一路径预约表中的机器人。

作为本申请的一种实现方式,第三级算法包括第一任务紧急程度指标、第二任务紧急程度指标,上述获取子模块具体可以用于:

利用第一任务紧急程度指标和第二任务紧急程度指标从第一路径预约表中筛选出满足当前级次算法对应的预设条件的第一目标机器人;

在存在不满足预设条件的第二目标机器人的情况下,执行对第二目标机器人的初始路径进行重新规划,得到第二目标机器人的优化路径。

作为本申请的一种实现方式,为了进一步提高对多个机器人进行路径集中规划的效率,上述装置还可以包括:

重新规划模块,用于在优化路径未满足第二预设条件的情况下,采用传统路径规划算法对第二目标机器人的路径进行重新规划,得到重新规划结果;

第二更新模块,用于基于重新规划结果更新第二目标机器人的优化路径以及优化路径对应的时间信息。

作为本申请的一种实现方式,原始地图码点数据包括多个码点的码点数据,码点数据包括码点的通行方向和码点间距,上述第一获取模块501还可以包括:

第一确定子模块,用于根据原始地图中的目标对象、码点的通行方向和码点间距,从多个码点中确定目标码点集合;

第二确定子模块,用于根据目标码点集合初始化地图数据,得到目标区控地图。

作为本申请的一种实现方式,上述第二获取模块503还可以用于:按照预设周期,通过多级规划算法从第一路径预约表中筛选出满足预设条件的第一目标机器人,获取第一目标机器人在未来第一时段内的初始路径;优化模块504还可以用于:若存在不满足预设条件的第二目标机器人,对第二目标机器人的初始路径进行重新规划,得到第二目标机器人在未来第一时间段内的优化路径。

作为本申请的一种实现方式,上述装置还可以包括:

第三获取模块,用于在多个机器人中存在异常机器人的情况下,获取异常机器人的第一位置坐标;

判断模块,用于判断第一位置坐标是否在多个机器人中的正常机器人的目标行驶路径上;目标行驶路径为目标初始路径或者重新规划路径;

生成模块,用于在第一位置坐标在至少一个正常机器人的目标行驶路径上的情况下,根据第一位置坐标和至少一个正常机器人的行驶路径,生成至少一个正常机器人各自的目标绕行路径,目标绕行路径不经过第一位置坐标。

作为本申请的一种实现方式,上述装置还可以包括:

确定模块,用于针对多个机器人中的每个机器人,在机器人满足以下条件中的任一条件的情况下,确定机器人为异常机器人:

机器人出现故障;

机器人为第一目标机器人,并且,不满足机器人能够按照目标初始路径以及目标初始路径对应的时间信息进行行驶。

图6是本申请又一个实施例提供的机器人路径规划设备的结构示意图。

机器人路径规划设备可以包括处理器601以及存储有计算机程序指令的存储器602。

具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。存储器602可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器602包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可执行上述实施例中的任意一种机器人路径规划方法所描述的操作。

处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种机器人路径规划方法。

在一个示例中,机器人路径规划设备还可包括通信接口603和总线610。其中,如图6所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。

通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线610包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的机器人路径规划方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种机器人路径规划方法。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

技术分类

06120116546511