路径规划方法、装置、机器人和计算机可读存储介质与流程

文档序号:21107056发布日期:2020-06-16 21:23阅读:149来源:国知局
路径规划方法、装置、机器人和计算机可读存储介质与流程

本公开涉及人工智能技术领域,特别涉及一种路径规划方法、路径规划装置、机器人和计算机可读存储介质。



背景技术:

随着人工智能技术的发展,智能机器人被应用到很多领域。尤其是在物流配送领域,智能机器人凭借路径规划技术能够替代人工配送,从而显著提高工作效率。例如,智能机器人能够帮助服务人员将菜品完成从厨房送至客人餐桌,替代服务人员的送餐服务,减少服务人员的重复性体力活动。

在相关技术中,智能机器人基于下单时间的先后顺序进行配送。



技术实现要素:

本公开的发明人发现上述相关技术中存在如下问题:会出现绕路的情况,造成路径成本高,从而导致行进效率低。

鉴于此,本公开提出了一种路径规划技术方案,能够提高行进效率。

根据本公开的一些实施例,提供了一种路径规划方法,包括:获取所有的任意两个目标位置之间道路的路径成本;以目标路径中各道路的所述路径成本的加权和最小为目标,构建目标函数,所述目标路径途经所有的所述目标位置;求解所述目标函数,以确定所述目标路径。

在一些实施例中,在第一约束条件下求解所述目标函数,所述第一约束条件为:所述目标路径中进入任一个所述目标位置的道路唯一;所述目标路径中离开任一个所述目标位置的道路唯一。

在一些实施例中,在所述第一约束条件下求解所述目标函数,确定候选路径;判断所述候选路径中是否包含多个闭合的子路径;在不包含多个闭合的所述子路径的情况下,将所述候选路径确定为所述目标路径;在包含多个闭合的所述子路径的情况下,在所述第一约束条件和第二约束条件下求解所述目标函数,以确定所述目标路径,所述第二约束条件为,所述子路径中包含道路的数量小于等于所述子路径中包含所述目标位置的数量与1的差。

在一些实施例中,以所述目标路径中各道路对应的权值为变量,构建所述目标函数,所述权值为1或0;所述确定所述目标路径包括:将所述权值为1的道路组合为所述目标路径。

在一些实施例中,所述路径成本根据所述道路的长度或路况中的至少一个确定。

在一些实施例中,任意第一目标位置指向任意第二目标位置的所述路径成本,与所述第二目标位置指向所述第一目标位置的所述路径成本不同。

根据本公开的另一些实施例,提供一种路径规划装置,包括:获取单元,用于获取所有的任意两个目标位置之间道路的路径成本;创建单元,用于以目标路径中各道路的所述路径成本的加权和最小为目标,构建目标函数,所述目标路径途经所有的所述目标位置;确定单元,用于求解所述目标函数,以确定所述目标路径。

在一些实施例中,所述确定单元在第一约束条件下求解所述目标函数,所述第一约束条件为:所述目标路径中进入任一个所述目标位置的道路唯一;所述目标路径中离开任一个所述目标位置的道路唯一。

在一些实施例中,所述确定单元在所述第一约束条件下求解所述目标函数,确定候选路径,判断所述候选路径中是否包含多个闭合的子路径,在不包含多个闭合的所述子路径的情况下,将所述候选路径确定为所述目标路径,在包含多个闭合的所述子路径的情况下,在所述第一约束条件和第二约束条件下求解所述目标函数,以确定所述目标路径,所述第二约束条件为,所述子路径中包含道路的数量小于等于所述子路径中包含所述目标位置的数量与1的差。

在一些实施例中,所述构建单元以所述目标路径中各道路对应的权值为变量,构建所述目标函数,所述权值为1或0;所述确定单元将所述权值为1的道路组合为所述目标路径。

在一些实施例中,所述路径成本根据所述道路的长度或路况中的至少一个确定。

在一些实施例中,任意第一目标位置指向任意第二目标位置的所述路径成本,与所述第二目标位置指向所述第一目标位置的所述路径成本不同。

根据本公开的又一些实施例,提供一种机器人,包括:上述任一个实施例中的路径规划装置。

根据本公开的又一些实施例,提供一种路径规划装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的路径规划方法。

根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的路径规划方法。

在上述实施例中,将路径规划问题转化为多个道路的组合问题,以节约路径成本为标准进行路径规划,并通过求解目标函数确定目标路径。这样,可以获取路径成本最低的路径,从而提高了行进效率。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1示出本公开的路径规划方法的一些实施例的流程图;

图2示出拓扑地图的一些实施例的示意图;

图3示出目标路径的一些实施例的示意图;

图4a、4b示出目标路径中的子路径的一些实施例的示意图;

图5示出图1中的步骤130的一些实施例的流程图;

图6示出本公开的路径规划装置的一些实施例的框图;

图7示出本公开的机器人的一些实施例的框图;

图8示出本公开的路径规划装置的另一些实施例的框图;

图9示出本公开的路径规划装置的又一些实施例的框图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1示出本公开的路径规划方法的一些实施例的流程图。

如图1所示,该方法包括:步骤110,获取道路的路径成本;步骤120,构建目标函数;步骤130,确定目标路径。

在步骤110中,获取所有的任意两个目标位置之间道路的路径成本。例如,路径成本根据道路的长度或路况中的至少一个确定,即道路的长度越长路径成本越高,道路的路况越差(如遮挡多、障碍多、平整度差、拥挤等)路径成本越高。

在一些实施例中,任意第一目标位置指向任意第二目标位置的路径成本,与第二目标位置指向第一目标位置的路径成本不同。例如,从第一目标位置向第二目标位置的方向上比较拥挤,而从第二目标位置向第一目标位置的方向上比较通畅,则第一目标位置向第二目标位置的方向上的路径成本较高。或者,从第一目标位置向第二目标位置的方向上需要绕开许多障碍,导致实际行进路线较长,则第一目标位置向第二目标位置的方向上的路径成本较高。这样,可以更加准确地反映道路的状况,从而提高路径规划的准确性。

在一些实施例中,以送餐情境为例,机器人每执行一次配送任务,都需要从上菜点开始,按照一定的顺序依次经过多个餐桌的取菜点,最终回到上菜点。例如,可以将上菜点和所有取菜点作为路径规划的目标位置,生成如图2所示的拓扑地图。

图2示出拓扑地图的一些实施例的示意图。

如图2所示,拓扑地图中的各顶点为一次配送任务涉及的所有目标位置。拓扑地图由顶点p1-p6(上菜点或取菜点)和顶点之间的边(道路)组成,任意两个顶点都是由边连接相通的。配送任务中上菜点和取菜点组成顶点集合v,顶点之间的道路组成边集合e。图中任意顶点pi到任意顶点pj的边rij的路径成本为dij,任意顶点pj到任意顶点pi的边rji的路径成本为dji,如前所述dij≠dji,所以拓扑地图可以成为有向完全图。

路径规划就是要从图2中找到包含所有顶点,且路径成本最低的目标路径r。例如,可以利用图1中的步骤120、130来实现。

在步骤120中,以目标路径中各道路的路径成本的加权和最小为目标构建目标函数,目标路径途经所有的目标位置。例如,以目标路径中各道路对应的权值为变量构建目标函数,权值为1或0。将权值为1的道路组合为目标路径。

在一些实施例中,对于目标路径r,任意rij∈e的路径成本dij的权值xij为:

可以构建目标函数为:

在步骤130中,求解目标函数,以确定目标路径。例如,求解上述目标函数,可以得到目标路径r中任意路径成本dij的权值xij,即目标路径r由权值为1的边组成。

在一些实施例中,可以在在第一约束条件下求解目标函数。第一约束条件为:目标路径中进入任一个目标位置的道路唯一;目标路径中离开任一个目标位置的道路唯一。例如,第一约束条件可以表示为:

例如,在第一约束条件下求解目标函数,可以确定图3中的目标路径。

图3示出目标路径的一些实施例的示意图。

如图3所示,目标路径r包括r12、r23、r34、r45、r56、r61。对于顶点p1,机器人仅能通过边r61进入p1,也仅能通过边r12离开p1。对于其他顶点也是一样。这样,可以保证机器人在执行任务过程中,不会出现绕路的情况,从而提高路径规划的效果。

在一些实施例中,在第一约束条件下求解目标函数得到的目标路径有可能包含多个闭合的子路径。例如,图4a、4b所示。

图4a、4b示出目标路径中的子路径的一些实施例的示意图。

如图4a所示,在第一约束条件下求解目标函数得到的目标路径中包括两个闭合的子路径,分别由r12、r26、r61组成和由r34、r45、r53组成。如图4b所示,在第一约束条件下求解目标函数得到的目标路径中包括两个闭合的子路径,分别由r12、r23、r36、r61组成和由r45、r54组成。这两条目标路径满足第一约束条件,但是包含的子路径造成目标路径不连续,使得执行任务的机器人无法完成任务。

针对这种情况,可以采用图5中的实施例执行步骤130。

图5示出图1中的步骤130的一些实施例的流程图。

如图5所示,步骤130包括:步骤1310,确定候选目标路径;步骤1320,判断是否包含多个闭合的子路径;步骤1330,将候选路径确定为目标路径;和步骤1340,重新求解目标函数确定目标路径,

在步骤1310中,在第一约束条件下求解目标函数,确定候选路径。

在步骤1320中,判断候选路径中是否包含多个闭合的子路径。在不包含的情况下,执行步骤1330;在包含的情况下,执行步骤1340。

在步骤1330中,将候选路径确定为目标路径。

在步骤1340中,在第一约束条件和第二约束条件下求解目标函数,以确定目标路径。第二约束条件为,子路径中包含道路的数量小于等于子路径中包含目标位置的数量与1的差。

在一些实施例中,在检测到候选路径中包含了多个闭合的子路径的情况下,可以在第一约束条件和第二约束条件下重新求解目标函数,以确定目标路径。例如,可以任选候选路径中的一个子路径作为处理对象,该子路径中顶点的集合为s,s为v的非空子集,s中的元素个数为|s|,候选路径中的顶点个数为n。在这种情况下,可以构建第二约束条件为:

如果在第一约束条件和第二约束条件下重新求解目标函数获得的候选路径仍然具有多个闭合的子路径,则重新构建第二约束条件,直到求解目标函数获得的候选路径中不包含多个闭合的子路径。

这样,可以避免规划的路径不连续,造成的任务执行失败的情况,从而提高路径规划的准确率。

在一些实施例中,可以将上述任一个实施例中的路径规划方法应用到机器人送餐的情境中。

例如,首先服务人员将做好的菜品放入送餐机器人的托盘。送餐机器人的托盘一次可以放多个餐桌的多个菜品,服务人员在订单系统的界面选择待配送的菜品,下发配送任务。订单系统根据放入送餐机器人托盘中的菜品信息,查询对应所有的餐桌集合,并获取所有的取菜点。

然后,订单系统根据上菜点和所有取菜点的位置信息,通过上述路径规划方法确定目标路径,目标路径中的顶点(上菜点或去踩点)依次由边连接。按照目标路径中的顺序,以上菜点相应的顶点的下一个顶点(取菜点)作为起点,根据目标路径生成配送路径,配送路径中包含本次配送的所有取菜点。例如,订单系统从目标路径中顺序选择一个未配送的取菜点,送餐机器人行驶到取菜点,提示客人取菜。客人取菜完成,并在送餐机器人上的操作界面确认取菜完成。

最后,订单系统判断当前送餐机器人的目标路径中是否有未配送的取餐点。如果有则继续配送下一取餐点;否则回上菜点等待上菜,准备进行下次配送任务。

上述实施例中,将路径规划问题转化为多个道路的组合问题,以节约路径成本为标准进行路径规划,并通过求解目标函数确定目标路径。这样,可以获取路径成本最低的路径,从而提高了行进效率。

图6示出本公开的路径规划装置的一些实施例的框图。

如图6所示,路径规划装置6包括获取单元61、创建单元62和确定单元63。

获取单元61获取所有的任意两个目标位置之间道路的路径成本。例如,路径成本根据道路的长度或路况中的至少一个确定。任意第一目标位置指向任意第二目标位置的路径成本,可以与第二目标位置指向第一目标位置的路径成本不同。

创建单元62以目标路径中各道路的路径成本的加权和最小为目标,构建目标函数,目标路径途经所有的目标位置。

确定单元63求解目标函数,以确定目标路径。例如,构建单元62以目标路径中各道路对应的权值为变量,构建目标函数,权值为1或0。确定单元63将权值为1的道路组合为目标路径。

在一些实施例中,确定单元63在第一约束条件下求解目标函数。第一约束条件为:目标路径中进入任一个目标位置的道路唯一;目标路径中离开任一个目标位置的道路唯一。

在一些实施例中,确定单元63在第一约束条件下求解目标函数,确定候选路径。确定单元63判断候选路径中是否包含多个闭合的子路径。在不包含多个闭合的子路径的情况下,确定单元63将候选路径确定为目标路径;在包含多个闭合的子路径的情况下,确定单元63在第一约束条件和第二约束条件下求解目标函数,以确定目标路径。第二约束条件为,子路径中包含道路的数量小于等于子路径中包含目标位置的数量与1的差。

上述实施例中,将路径规划问题转化为多个道路的组合问题,以节约路径成本为标准进行路径规划,并通过求解目标函数确定目标路径。这样,可以获取路径成本最低的路径,从而提高了行进效率。

图7示出本公开的机器人的一些实施例的框图。

如图7所示,机器人7包括上述任一个实施例中的路径规划装置6。

图8示出本公开的路径规划装置的另一些实施例的框图。

如图8所示,该实施例的路径规划装置8包括:存储器81以及耦接至该存储器81的处理器82,处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一个实施例中的路径规划方法。

其中,存储器81例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)、数据库以及其他程序等。

图9示出本公开的路径规划装置的又一些实施例的框图。

如图9所示,该实施例的路径规划装置9包括:存储器910以及耦接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行前述任意一个实施例中的路径规划方法。

存储器910例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

路径规划装置9还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为sd卡、u盘等外置存储设备提供连接接口。

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

至此,已经详细描述了根据本公开的路径规划方法、路径规划装置、机器人和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

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