首页> 中国专利> 路径规划方法、路径规划装置、管理系统和存储介质

路径规划方法、路径规划装置、管理系统和存储介质

摘要

本申请公开了一种路径规划方法,所述方法包括:接收所输入的任务信息,以根据所述任务信息确定执行任务的目标机器人;获取若干地图,并对所述若干地图进行处理,以得到所述若干地图所对应的有向加权地图;根据所述任务信息以及所述有向加权地图对所述目标机器人进行路径规划,以得到对应的路径信息。本申请还提供一种路径规划装置、管理系统以及计算机可读存储介质。实现了跨地图的路径规划,加快了路径规划的速度,提高了路径搜索的速度。

著录项

  • 公开/公告号CN113048973A

    专利类型发明专利

  • 公开/公告日2021-06-29

    原文格式PDF

  • 申请/专利权人 深圳优艾智合机器人科技有限公司;

    申请/专利号CN202110271767.8

  • 发明设计人 宋巨东;黎江华;

    申请日2021-03-12

  • 分类号G01C21/00(20060101);G01C21/20(20060101);

  • 代理机构44507 深圳市力道知识产权代理事务所(普通合伙);

  • 代理人何姣

  • 地址 518000 广东省深圳市福田区深南中路2070号电子科技大厦D座5楼

  • 入库时间 2023-06-19 11:40:48

说明书

技术领域

本申请涉及人工智能控制技术领域,尤其涉及一种路径规划方法、路径规划装置、管理系统和计算机可读存储介质。

背景技术

随着人工智能技术的发展和不断完善,智能机器人越来越广泛的被应用在人们的生活和工作中。比如在消防领域替代消防人员完成危险的任务,再比如代替人们完成日常工作以提高日常工作效率。

而在控制机器人完成相关的工作时,需要对机器人进行合理的控制和规划,而更为重要的是在完成任务时的路径规划,一个合理的路径规划可以更加快速准确的完成对任务的执行。

但是在现有的对机器人的路径规划中,通常是在一个地图或者一个地图层级上完成路径规划,当出现需要进行跨地图的运输时,不能及时准确的完成对机器人的路径规划,使得路径规划效率较低。

因此,现在亟需一种提高路径规划效率和准确性的跨地图路径规划方法。

发明内容

本申请提供一种路径规划方法、路径规划装置、管理系统和计算机可读存储介质,以实现快速的跨地图的路径规划,提高路径规划效率。

第一方面,本申请提供的一种路径规划方法,所述方法包括:

接收所输入的任务信息,以根据所述任务信息确定执行任务的目标机器人;

获取若干地图,并对所述若干地图进行处理,以得到所述若干地图所对应的有向加权地图;

根据所述任务信息以及所述有向加权地图对所述目标机器人进行路径规划,以得到对应的路径信息。

第二方面,本申请还提供一种路径规划装置,所述路径规划装置包括处理器和存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如上述所述的路径规划方法。

第三方面,本申请还提供一种管理系统,所述系统包括若干机器人以及如上述所述的路径规划装置。

第四方面,本申请还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述的路径规划方法的步骤。

本申请描述的路径规划方法中,在接收到用户通过操作而发送的任务信息以及选择指令时,根据所接收到的选择指令确定当前可使用的候选机器人,进而确定目标机器人以完成所接收到的任务信息,然后加载预先所存储的若干地图,以对所加载的若干地图进行处理,以得到若干地图所对应的有向加权地图,最后根据所接收到的任务信息以及有向加权地图对目标机器人的运行路径进行规划,以得到相应的路径信息。实现了在进行路径规划时,通过构建的有向加权图的方式将若干张子地图合并成一张地图,使得在路径搜索过程中可以一次性搜索需要规划的路径,加快了路径规划的速度,提高了路径搜索的速度。

附图说明

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

图1为本申请一个实施例提供的管理系统的框图示意图;

图2为本申请一个实施例提供的一种路径规划方法的流程示意图;

图3为本申请一个实施例提供的确定候选机器人的步骤的流程示意图;

图4为本申请一实施例提供的确定目标机器人的步骤的流程示意图;

图5为本申请一实施例提供的一种得到有向加权地图的步骤的流程示意图;

图6为本申请一实施例提供的一种将若干地图添加至有向加权图中的步骤的流程示意图;

图7为本申请一实施例提供的一种有向加权地图的示意图;

图8为本申请一实施例提供的另一种有向加权地图的示意图;

图9为本申请一实施例提供的又一种有向加权地图的示意图;

图10为本申请一实施例提供的确定路径信息以发送至目标机器人的步骤的流程示意图;

图11为本申请一实施例提供的另一种路径规划方法的步骤的流程示意图;

图12为本申请一实施例提供的一路径在运行过程中的状态变化的示意图;

图13为本申请一实施提供的一实际场景的地图加载的步骤的流程示意图;

图14为本申请一实施例提供的一实际场景中机器人选择和路径规划的步骤的流程示意图;

图15为本申请一个实施例提供的路径规划装置的结构示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本申请的实施例提供了一种路径规划方法、路径规划装置、管理系统和存储介质,以提高室内定位准确性。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,图1为本申请一个实施例提供的管理系统的框图示意图。

具体地,该系统包含有若干机器人以及路径规划装置。在实际应用中,在管理系统接收到所上传的任务信息时,确定此时需要选择合适的机器人去执行相关的任务,因此通过所接收到的任务信息,首先确定合适的机器人,然后对所选择的机器人进行路径规划,进而使得机器人按照所规划的路径完成对任务的执行。

在本申请所对应的管理系统中,该管理系统100包括若干机器人,如第一机器人101、第二机器人102……第N机器人10n,以及路径规划装置103,路径规划装置103通过对所接收到的任务信息以及选择指令进行分析处理,以在若干机器人中选择合适的机器人来执行相关的任务,同时在确定可执行任务的机器人之后,将会进行相应的路径规划,以使得机器人按照所规划的路径完成对应的任务。

请参阅图2,图为本申请一个实施例提供的一种路径规划方法的流程示意图。

步骤S201、接收所输入的任务信息,以根据所述任务信息确定执行任务的目标机器人。

用户在需要调用机器人执行相关的任务时,会在相关的系统上进行相应的操作,以实现对机器人的调用和控制,进而使得机器人完成用户想要完成的任务和事情。因此,在需要实现对机器人的调用时,将会接收用户通过相关的操作而输入的任务信息,以确定用户想要执行的任务,进而根据所需要执行的任务确定当前选择哪一或者哪些机器人作为执行任务的目标机器人。

在实际应用中,用户通过在控制系统上进行相应的操作,比如触控操作,以实现对任务的执行。而在实现对任务的执行之前,需要确定想要执行的任务以及确定哪一个或者哪一些机器人来执行所想要执行的任务,因此用户在操作时,根据自身的需求确定当前所要执行和完成的任务,同时选择和确定用于执行所确定的任务的机器人,因此用户通过在系统上进行相应的操作,以生成相应的任务信息,其中任务信息中所包含的任务的数量不限,可以是一个任务,也可以是多个任务,同时在确定了任务信息之后,会确定控制哪一个或者哪一些机器人来执行所确定的任务。

在确定执行任务的机器人的时候,可以根据用户的选择所确定,具体地,用户在确定所需要执行的任务时,根据任务的属性确定当前用来执行任务的机器人,比如所需要执行的任务时搬运任务时,用户可以选择属性为搬运属性的机器人来执行该搬运任务,由于机器人的数量时若干的,也就是属于同一属性的机器人的数量可能不为一,因此在确定候选机器人时,候选机器人的数量会大于一。即,在接收到任务信息的同时,还可以接收用户所输入的选择指令,进而根据所接收到的选择指令在机器人库中确定候选机器人,进而在候选机器人中确定用于执行任务信息所对应的任务的目标机器人。

由于候选机器人的确定是基于所接收到的选择指令所确定的,因此在确定候选机器人时,参照图3中所描述的确定步骤和过程,其中,确定候选机器人包括:

步骤S301、接收输入的选择指令,并识别所述选择指令所包含的机器人类型,以在机器人库中获取与所述机器人类型相对应的第一机器人;

步骤S302、获取所述第一机器人对应的状态信息,并根据所述状态信息在所述第一机器人中确定候选机器人,以在所述候选机器人中确定目标机器人。

在根据所接收到的选择指令确定候选机器人时,识别选择指令所包含的机器人类型,其中机器人类型可以根据机器人所执行的任务的类型和种类所确定,比如机器人类型可以但不局限于有搬运机器人、取物机器人以及导航机器人等,然后根据所识别得到的机器人类型在机器人库中确定对应的第一机器人,进而根据所确定的第一机器人的状态信息确定当前所对应的获选机器人。

在得到第一机器人时,由于第一机器人是选择指令所对应的机器人类型所对应的所有机器人,因此会存在第一机器人中的某些机器人正处于被使用状态,因此在确定了第一机器人之后,会进一步的进行判断以得到候选机器人,具体地,获取第一机器人所对应的状态信息,其中状态信息包括被使用状态和空闲状态,显然被使用状态也就是正在被用于执行任务,而空闲状态也就是当前可以被使用。

在获取了第一机器人中每个机器人的状态信息之后,确定状态信息为空闲状态的机器人,以作为当前所对应的候选机器人,而对于处于被使用状态的机器人将视为不可使用机器人。

在确定了候选机器人之后,由于候选机器人的数量不限,因此所得到的候选机器人的数量可能是很多,比如候选机器人的数量是十个,而执行任务所需要的机器人的数量是一个,因此需要在候选机器人中确定一个用来执行任务的目标机器人,进而控制目标机器人完成用户想要完成的任务。

另外,候选机器人的数量也可以是一个,也就是用户在进行任务的发布时便确定了需要控制哪一个机器人来执行所发布的任务,因此在候选机器人的数量为一个时,候选机器人也就是目标机器人。而在候选机器人的数量不是一个时,将需要进行进一步的确定。

具体地,在得到候选机器人之后,根据所接收到的任务信息确定目标机器人,通过对任务信息进行分析,进而根据所得到的分析结果确定用于执行任务的目标机器人。

参照图4,图4为本申请一实施例提供的确定目标机器人的步骤的流程示意图,其中该步骤包括:

步骤S401、对所述任务信息进行分析处理,以确定所述任务信息所包含的第一任务是否为移动任务;

步骤S402、当确定所述第一任务为移动任务时,确定所述第一任务所对应的移动目标点;

步骤S403、计算所述候选机器人中每一机器人达到所述移动目标点的代价值,以根据所述代价值在所述候选机器人中确定目标机器人。

其中,移动任务是机器人需要移动的任务,比如控制机器人进行物品的抓取就不是移动任务,而需要控制机器人达到某一特定的位置进行物品的抓取则首先需要控制机器人运行到特定的位置,因此该任务为移动任务。

在确定目标机器人时,通过对所接收到的任务信息进行分析处理来确定的,具体地,对所接收到的任务信息所包含的任务进行分析处理,以确定任务信息所包含的任务中的第一任务是否为移动任务,而在确定第一任务为移动任务时,通过对第一任务的任务解析,确定第一任务所对应的移动目标点,也就是该移动任务的移动终点,也就是移动目标点。最后在确定第一任务的移动目标点之后,将会计算候选机器人中每个机器人运行到移动目标点的代价值,进而根据所得到的代价值在候选机器人中确定目标机器人。

在实际应用中,在获取到任务信息之后,会对任务信息中所包含的任务进行分析,以确定所包含的任务中第一个任务是否为移动任务,比如任务中设定有特定的出发起始点,也就是需要机器人达到特定的位置之后才能开始任务的执行。

而在确定第一任务为移动任务时,通过计算候选机器人中每一个机器人完成该移动任务的代价值以确定选择哪一个或者哪一些机器人作为目标机器人。在计算每个机器人完成该移动任务时的代价值时,可以是计算每一个机器人达到移动任务所对应的移动目标点的时间来确定。

因此,在确定第一个任务是移动任务时,根据所记录的每个机器人的位置以及所得到的移动目标点来计算每个机器人达到移动目标点的时间信息。对于机器人的位置,是可以实时获取到的,可以是机器人自动进行上传的,还可以是用户通过在系统上进行操作,也可以是通过设置在机器人上的定位装置实时进行位置的采集和获取,在此不做限制。

由于每个机器人的位置不同,使得每个机器人完成第一个任务(移动任务)的时间长短(代价值)也是有所不同的,因此,在得到每个机器人完成第一任务的时间长短之后,根据实际的需求选择一个或者若干个机器人来完成所需要完成的任务。比如,在需要使用一个机器人完成任务时选择完成第一任务的时间最短的机器人来执行当前的任务,同样的,在需要一定数量的机器人来执行和完成任务时,也是根据代价值所确定的。

具体地,在得到候选机器人中每个机器人所对应的代价值之后,对所得到的代价值进行排序,以确定代价值中的最小代价值,进而选择最小代价值所对应的机器人作为目标机器人。需要说明的是,无论所需要的机器人的数量是多少,都会对所得到的代价值进行排序,以使得代价值可以按照从大到小或者从小到大的顺序进行排序,进而根据实际所需要选择的机器人的数量来确定目标机器人,若只需要一个机器人,则可以选择最小代价值所对应的机器人作为目标机器人,若需要两个机器人,则可以选择最小代价值以及第二小代价值所对应的机器人作为目标机器人,以此类推,根据实际的需求实现对目标机器人的选择和确定。

在一实施例中,在计算候选机器人中每个机器人的代价值时,利用动态路径规划算法(D start Lite)来实现,该计算方式可以快速的实现对目标机器人的确定。在确定目标机器人时,通过计算候选机器人中每个机器人运行到第一个任务(移动任务)的停止位置时的代价值,由于目标点(停止位置)的固定,因此采用该方式计算机器人的代价值。假设第一个任务所对应的路径上具有若干个连续的点,且编号为1,2,3…,n,此时代价计算公式为:

公式中各个参数代表的含义为:Cost总代价值,

基于上述方式,可以计算出候选机器人中每个机器人在完成第一个任务时的代价值,进而根据所计算得到的代价值确定目标机器人。

步骤S202、获取若干地图,并对所述地图进行处理,以得到所述若干地图所对应的有向加权地图。

在完成对目标机器人的路径规划时,在确定目标机器人的同时,还需要根据任务信息确定当前所需要使用的地图,进而实现对目标机器人的路径规划。因此,此时还将获取若干地图,然后对所获取到的若干地图进行处理,以得到对应可以快速实现路径规划的有向加权地图,进而在所得到的有向加权地图上完成对目标机器人的路径规划。

其中,在获取若干地图时,可以是加载所存储的所有的地图,也可以是根据实际的任务需求选择需要使用的地图进行加载。预先所存储的若干地图是若干利用连接点进行关联的地图,对于地图上其他的信息没有直接的关系,比如在一个三层空间的仓库中,每一层都会对应着一张地图,同时每层空间通过电梯连接,但同一个电梯在不同层的地图中所对应的地图信息也是不同的。因此,在进行跨地图的路径规划和机器人的运行时,首先需要加载所预设的若干地图,然后通过相应的处理以使得可以在一张地图上实现路径规划,进而控制机器人按照所规划的路径运行。

参照图5,图5为本申请一实施例提供的一种得到有向加权地图的步骤的流程示意图,其中该步骤包括步骤S501至步骤S504。

步骤S501、构建一有向加权图,并加载预存的若干地图;

步骤S502、对所述若干地图进行遍历,以将所述若干地图一次添加至所述有向加权图中;

步骤S503、确定所述若干地图所对应的连接点,以根据所述连接点生成所述若干地图之间的虚拟路径;

步骤S504、将所述虚拟路径添加至所述有向加权图中,以得到对应的有向加权地图。

有向加权图是在有向图的基础上,给边的赋予相应的权重信息。而有向图是由一些小圆点(称为顶点或结点)和连接这些圆点的直线或曲线(称为边)组成。

在生成地图所对应的有向加权地图时,首先构建一个有向加权图,同时会加载预先所存储的若干地图,然后对所得到的若干地图进行地图信息的遍历,以将每个地图中所包含的地图信息添加到所构建的有向加权图中,同时在对若干地图进行遍历时,对每一个地图中的连接点进行识别和获取,进而根据所得到连接点得到不同地图之间的虚拟路径,最后将所得到的虚拟路径也添加到所构建的有向加权图中,以在添加完成之后得到有向加权地图。

在一实施例中,在加载预存的若干地图时,除了直接加载所有的地图之外,还可以很据实际的任务需求选择定的进行地图的加载,具体地,对所接收到的任务信息进行分析处理,以确定在完成该任务信息所包含的任务时所需要到达的地图信息,进而根据所得到的地图信息加载所对应的地图。

示例性的,在接收到任务信息时,对任务信息中所包含的任务进行获取和确定,以确定每个任务在完成时所需要加载的地图的地图信息。如在任务为前往二层拿去物品A,并将物品A搬运至三层,若此时目标机器人在一层,则需要加载一层、二层以及三层的地图,若目标机器人在二层或者三层,则只需要加载二层和三层的地图。

因此,在接收到任务信息以加载相关的地图信息时,除了可以加载所有的预先所存储的地图之外,还可以根据实际的任务信息和目标机器人的实际位置来确定所需要加载的地图,这样可以避免地图的无效加载,可以更快速的完成地图的加载,以完成对机器人路径的规划。

在一实施例中,在对若干地图完成进行加载之后,对所加载的地图进行信息的遍历,进而将遍历所得到的信息添加到所构建的有向加权图中,如图6所示,图6为本申请一实施例提供的一种将若干地图添加至有向加权图中的步骤的流程示意图。

步骤S601、对所述若干地图中每一地图进行遍历,以确定每一地图中所包含的端点以及端点之间的有向关系;

步骤S602、以地图为单位,将所述端点以及所述有向关系依次添加至所述有向加权图中。

在对所加载的地图进行遍历时,分别对每一个地图进行遍历,以对每一个地图所包含的端点和端点之间的有向关系进行获取和确定,然后以地图为单位,将所得到的断电以及有向关系添加在所构建的有向加权图中。

在实际应用中,每一个地图中的都设置有若干点,用于实现对机器人运行的导航。而在对地图进行遍历时,对地图中所设定的所有端点进行获取,同时对于端点与端点之间的有向关系进行获取,然后将所得到端点和有向关系添加到所构建的有向加权图中。

示例性的,机器人所运行的空间是一个三层仓库,每一层有着各自对应的地图,在对地图进行加载时,分别对一层、二层以及三层的地图进行加载,也就在进行地图的加载时,每一层所对应的地图是不受彼此影响的,但是每层之间由于时通过电梯来实现连接的,因此在将每个地图添加到所构建的有向加权图中时,需要将每层地图之间的连接点进行标记。

例如,一个所得到的有向加权地图可以如图7所示,该有向加权地图是由一个三层仓库的地图所构建得到的,通过一次对每一层地图进行加载和遍历,将每一个地图中所包含的地图信息添加到有向加权图中。以第一层为例,在对仓库第一层的地图信息进行遍历时,将第一层所对应的第一层地图中所记录的端点、端点信息以及端点有向关系进行读取,然后添加到所构建的有向加权图中的某一区域,如图7中所示的A区域,在完成对第一层地图的加载之后,接着对第二层地图以及第三层地图进行加载。

在完成对每一层地图的单独加载之后,此时在有向加权地图中每一层所对应的区域没有任何关联性,但是在实际的空间中,每一层之间是有一定的联系的,如使用电梯进行连接,也就是处于不同楼层的机器人可以通过电梯实现机器人的碰面,即机器人可以通过电梯到达任意楼层。因此此时还需要对添加在有向加权图中的地图进行关联,以使得三个区域之间可以实现互通,也就是可以规划A区域中的机器人运动到B区域和/或C区域。

在一实施例中,在建立三个区域之间的关联关系时,通过获取端点属性为连接点的端点,然后建立连接点之间的互通和关联。具体地,在确定了每个地图中属性为连接点的端点之后,建立连接点之间的虚拟路径,以实现两个连接点之间的互通。

示例性的,在建立虚拟路径时包括:识别所述若干地图中每一地图所包含的连接点,以根据所述连接点所对应的标识信息对所述连接点进行分类;将具有相同标识信息的连接点作为同一类别,并对每一类别中所包含的连接点进行虚拟路径的构建,以得到若干虚拟路径。

实际上,由于每层之间连接可能有多个连接点,因此在建立连接点之间的虚拟路径时,首先读取每个连接点所对应的标识信息,而连接点的标识信息是可以预先所设置好的,然后根据不同的标识信息对连接点进行分类或分组,以将同一类别或组别的连接点进行关联,也就是建立虚拟路径。

对于图7中所示的有向加权地图,在连接点的数量为一时,在完成对虚拟路径的添加之后所得到的有向加权地图可以如图8所示(使用虚线表示电梯之间的虚拟路径),在连接点的数量大于一时,在完成对虚拟路径的添加之后所得到的有向加权地图可以如图9所示。

步骤S203、根据所述任务信息以及所述有向加权地图对所述目标机器人进行路径规划,以得到对应的路径信息。

在完成目标机器人的确定以及有向加权地图的生成之后,将根据实际的任务信息以及所得到的有向加权地图实现对目标机器人的路径规划,进而将所规划好的路径信息发送给目标机器人,以使得目标机器人按照所接收到的路径信息运行。

在一实施例中,在进行路径规划时,是根据实际的任务信息所确定的,因此在进行路径规划时,需要对任务信息中所包含的信息进行准确的读取,进而根据所得到的数据信息实现路径的规划。

通常情况下,在进行路径规划时,需要知道整个运行的起始点和终点,因此,在进行路径规划时,需要根据目标机器人的实际位置确定目标机器人在有向加权地图中的目标位置,同时在有向加权地图中确定目的地的位置,进而根据目标位置以及目的地位置规划出合适的路径信息。

同时,由于机器人是用来执行相关的任务的,而在执行任务时也会存在在完成任务时所需要达到的特定位置,比如任务信息为控制机器人去A点搬运物品达到B点,此时则需要根据任务信息首先控制机器人运行到A点,然后在A点完成物品的装车之后在运行至B点。因此,在进行路径规划时,需要根据实际的任务来确定。以在完成路径规划之后,将规划好的路径信息发送给目标机器人,以控制目标机器人按照所规划好的路径信息运行。

参照图10,图10为本申请一实施例提供的确定路径信息以发送至目标机器人的步骤的流程示意图,具体地,该步骤包括:

步骤S1001、获取所述目标机器人的位置信息,以根据所述位置信息确定所述目标机器人在所述有向加权地图中的起始位置;

步骤S1002、根据所述任务信息确定所述目标机器人的运行的实际停顿位置,并在所述有向加权地图中确定所述实际停顿位置所对应的暂停位置;

步骤S1003、根据所述起始位置以及所述暂停位置,在所述有向加权地图中生成对应的路径信息。

在对目标机器人进行规划时,获取目标机器人在世界坐标中的实际位置信息,然后根据所得到的实际位置信息确定目标机器人在有向加权地图中的起始位置,同时,在进行路径规划时对所接收到的任务信息进行分析处理,以确定在完成所接收到的任务信息所包含的任务时的实际停顿位置,并在所得到的有向加权地图中确定实际停顿位置所对应的暂停位置,最后根据所得到的起始位置以及暂停位置实现路径的规划,以得到规划后的路径信息。

需要说明的是,暂停位置的数量大于等于一,且暂停位置一定包含有终点位置,也就是在停止位置是一个时,该暂停位置就是终点位置。

在实际应用中,在将实际的空间地图添加到所构建的有向加权图中时,仅仅是对地图信息的加载和添加,而对于实际的机器人的位置信息是实际的空间位置,而并不是实际的在有向加权地图中的位置,因此在进行路径规划时,需要将所确定的目标机器人的位置信息添加到所得到的有向加权地图中,同时还需要对所接收到的任务信息进行解析和识别,确定是否存在暂停任务,其中暂停任务是基于实际的任务所确定的,比如任务信息中包含有去某一位置抓取物品,则该任务需要在特定的位置停止运行。

而在确定了起始位置以及暂停位置,将会进行路径的规划,由于有向加权地图可以很好的实现最短路径的选择和确定,因此可以很直接的得到目标机器人的路径信息。进而将所得到的路径信息发送给机器人,以使得机器人根据所接收到的路径信息运行。

在一实施例中,在得到规划所得到的路径信息之后,将会根据所得到的路径信息来控制所确定的目标机器人运行,因此在得到目标机器人的路径信息之后,将所得到的路径信息发送给目标机器人,以使得目标机器人按照所规划的路径信息运行。

而在实际的运行过程中,由于目标机器人的运行路径的长短是没有限制的,可能会较长,同时实际的运行路径的状态是时刻变化的,比如在规划好目标机器人的路径信息之后,在目标机器人没有达到某一段子路径时,若其他机器人需要在经过该子路径,此时应该允许其他机器人对该子路径的使用。

需要说明的是,子路径是对目标机器人所规划的整个路径中的某一段路径。实际上,在规划目标机器人的运行路径时,是通过若干个子路径的连接所形成的,在整个空间的物理地图中,道路上存在有若干个点,不同的点之间所连接而成的一段路径均可被称为子路径。

因此,参照图11,图11为本申请一实施例提供的另一种路径规划方法的步骤的流程示意图,其中该过程包括:

步骤S1101、获取所述目标机器人的位置信息,以确定所述位置信息在所述路径信息所对应的路径上的运行位置;

步骤S1102、根据所述运行位置对所述路径进行状态标记,其中所述状态标记包括已执行、执行中以及待执行;

步骤S1103、当确定所述状态标记为待执行的子路径的数量为零时,确定任务执行完成。

在目标机器人按照所规划的路径信息运行时,对目标机器人的位置信息进行实时的获取,进而确定目标机器人在有向加权地图中的位置,也就是在基于有向加权地图进行规划时的路径上的实际运行位置,然后根据所得到的运行位置对路径信息所对应的路径进行状态标记,其中路径的状态包括已执行、执行中以及待执行,其中以执行的路径为机器人已经走过的一路径,执行中的路径为机器人正在运行的一路径,待执行的路径为机器人需要运行的路径。

在实际应用中,目标机器人没经过一段子路径,子路径的状态会出现变化,对于所规划的路径,在需要运行的路径没有时,说明目标机器人已经或者即将完成任务,但是此时系统或者装置便不需要对目标机器人的运行状态进行监控。

参照图12,图12为本申请一实施例提供的一路径在运行过程中的状态变化的示意图。若所规划的路径是从A点运行到B点,对于路径AB,包含有若干端点,而每两个相邻的端点将构成一个子路径,如图10中的子路径AC、CD以及DE等。在目标机器人运行到子路径CD段时,此时AC段的状态为已执行,CD段的状态为执行中,而DE段以及后续的子路径的状态为待执行。

而在目标机器人运行到子路径DE段时,此时CD段的状态由执行中变为已执行,而DE段的状态由待执行变为执行中,以此类推。

通过对整个路径所包含的子路径的状态进行监控,可以更好的提高路径的使用率,避免目标机器人对路径的无效占用。

在一实施例中,除了可以通过对路径的状态信息进行监控,以提高路径的使用效率和避免对路径的无效占用,还需要避免机器人之间出现碰撞,因此在目标机器人的运行过程中还需要对路径的运行状态进行监测,其中运行状态包括不可运行状态和可运行状态,不可运行状态即为该路径上已经存在有机器人,此时不允许其他机器人进入,反之可运行状态即为该路径空闲。

因此,在对实现对机器人的交通管制时,包括:对所述路径所包含的若干子路径的运行状态进行监测;当监测到与所述运行位置所处的子路径相邻的下一子路径的运行状态为不可运行状态时,向所述目标机器人发送暂停指令;当监测到与所述运行位置所处的子路径相邻的下一子路径的运行状态有不可运行状态变为可运行状态时,向所述目标机器人发送运行指令。

由于路径由若干端点以及有向关系所构成,因此可以将所规划的路径分为若干子路径,因此会对若干子路径的运行状态进行监测,根据目标机器人的实际位置对目标机器人是否可以继续运行进行判断和确定,具体地,当监测到与目标机器人的运行位置所处的子路径相邻的下一子路径的运行状态为不可运行状态时,将会生成暂停指令,以使得目标机器人暂停运行,而在监测到与目标机器人的运行位置所处的子路径相邻的下一子路径的运行状态为可运行状态时,将不会生成任何指令,而在目标机器人没有接收到所发送的控制指令时,便说明目标机器人可以继续运行。

而在目标机器人因系统所发送的暂停指令而停止运行时,若此时监测到与目标机器人的运行位置所处的子路径相邻的下一子路径的运行状态有不可运行状态变为可运行状态时,生泽成运行指令,以使得目标机器人可以继续运行。

参照图13,图13为本申请一实施提供的一实际场景的地图加载的步骤的流程示意图。

在进行地图加载时,是将所有的所需要的地图加载以得到一张完成的地图,进而在进行路径规划时,可以在一张地图上完成路径规划,提高路径规划的效率。以若干层仓库为例,且每层仓库通过电梯连接,其中具体的步骤包括:

步骤S1301、系统启动;

步骤S1302、筛选出需要加载的地图;

步骤S1303、生成一张空的有向加权图;

步骤S1304、判断需要加载的地图是否为空,若是则执行步骤S1311,若不是则执行步骤S1305;

步骤S1305、选择地图中所有的点和有向路径;

步骤S1306、存储所有点以及所有有向路径;

步骤S1307、找到所有的电梯点以及所有的进出电梯的有向路径;

步骤S1308、找到同一个电梯连接的所有电梯点,并将所有的电梯点、所有的与进出电梯点相连的点组合成路径资源;

步骤S1309、所有电梯点之间添加虚拟路径,并标记进出电梯路径;

步骤S1310、将该地图标记为预加载状态;

步骤S1311、加载完成,并退出。

在一个由若干层构成的仓库中,每一层是相互独立的,也就是每一层有各自对应的地图信息,同时每一层之间通过所设置的电梯连接,在加载每一层所对应的地图时,依次对每一个地图进行加载,而在加载某一层所对应的地图时,由于路径由若干点以及有向关系来确定的,因此对地图中的所有点和有向关系进行加载和读取,而对于连接点(电梯点)则需要进行特殊的处理,即构建不同层之间相同连接点之间的虚拟路径,而在构建虚拟路径时需要对所有的需要进行加载的地图中的连接点进行识别,以完成对虚拟路径的构建。

参照图14、图14为本申请一实施例提供的一实际场景中机器人选择和路径规划的步骤的流程示意图。

其中,具体的步骤包括:

步骤S1401、接收到新任务;

步骤S1402、找到所有的空闲机器人,并根据实际需求(如任务要求使用的机器人类型和分组)筛选出候选机器人;

步骤S1403、分析任务,获取任务中第一个移动任务的目标点;

步骤S1404、调用DStarLite算法计算所有候选机器人达到目标点的代价(时间);

步骤S1405、对代价进行排序,以将人物分配给代价最小的机器人;

步骤S1406、机器人接收到任务,并请求对机器人进行路径规划;

步骤S1407、根据即在的地图和机器人的当前位置进行路径规划,得到最短路径;

步骤S1408、将机器人的路径根据机器人的定位数据切分为以执行路径、运行中路径以及已规划路径;

步骤S1409、判断已规划路径是否为空,若是则任务完成,若不是则执行步骤S1410;

步骤S1410、对于已执行路径、运行中路径以及已规划路径法在地图中分别添加不同的代价;

步骤S1411、根据定位数据将规划路径切分为小段;

步骤S1412、申请这段路径资源,并确定是否申请成功,若申请成功,则执行步骤S1413,若申请失败则执行步骤S1411;

步骤S1413、将所申请的这段路径发送至机器人执行。

在上述描述的路径规划方法、装置、系统以及存储介质中,在接收到用户通过操作而发送的任务信息以及选择指令时,根据所接收到的选择指令确定当前可使用的候选机器人,进而确定目标机器人以完成所接收到的任务信息,然后加载预先所存储的若干地图,以对所加载的若干地图进行处理,以得到若干地图所对应的有向加权地图,最后根据所接收到的任务信息以及有向加权地图对目标机器人的运行路径进行规划,以得到相应的路径信息。实现了在进行路径规划时,通过构建的有向加权图的方式将若干张子地图合并成一张地图,使得在路径搜索过程中可以一次性搜索需要规划的路径,加快了路径规划的速度,提高了路径搜索的速度。

如图15所示,图15为本申请一个实施例提供的路径规划装置的结构示意性框图。该路径规划装置10包括存储器11和处理器12,处理器11和存储器12通过系统总线13连接,其中,存储器11可以包括非易失性存储介质和内存储器。

非易失性存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器11执行任意一种路径规划方法。

处理器12用于提供计算和控制能力,支撑整个云端服务器的运行。

内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一路径规划方法。

本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,处理器12可以是中央处理单元(Central Processing Unit,CPU),该处理器12还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器12可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,所述存储器中存储有计算机程序,计算机程序被处理器12执行时,使得处理器执行所述计算机程序时实现以下步骤:

接收所输入的任务信息,以根据所述任务信息确定执行任务的目标机器人;

获取若干地图,并对所述若干地图进行处理,以得到所述若干地图所对应的有向加权地图;

根据所述任务信息以及所述有向加权地图对所述目标机器人进行路径规划,以得到对应的路径信息。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

接收输入的选择指令,并识别所述选择指令所包含的机器人类型,以在机器人库中获取与所述机器人类型相对应的第一机器人;

获取所述第一机器人对应的状态信息,并根据所述状态信息在所述第一机器人中确定候选机器人,以在所述候选机器人中确定目标机器人。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

对所述任务信息进行分析,以确定所述任务信息所包含的第一任务是否为移动任务;

当确定所述第一任务为移动任务时,确定所述第一任务所对应的移动目标点;

计算所述候选机器人中每一机器人达到所述移动目标点的代价值,以根据所述代价值在所述候选机器人中确定目标机器人。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

对所述代价值进行排序,以确定所述代价值中的最小代价值,并选择所述最小代价值所对应的机器人作为目标机器人。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

构建一有向加权图,并加载预存的若干地图;

对所述若干地图进行遍历,以将所述若干地图依次添加至所述有向加权图中;

确定所述若干地图所对应的连接点,以根据所述连接点生成所述若干地图之间的虚拟路径;

将所述虚拟路径添加至所述有向加权图中,以得到对应的有向加权地图。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

对所述若干地图中每一地图进行遍历,以确定每一地图中所包含的端点以及端点之间的有向关系;

以地图为单位,将所述端点以及所述有向关系依次添加至所述有向加权图中。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

识别所述若干地图中每一地图所包含的连接点,以根据所述连接点所对应的标识信息对所述连接点进行分类;

将具有相同标识信息的连接点作为同一类别,并对每一类别中所包含的连接点进行虚拟路径的构建,以得到若干虚拟路径。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

获取所述目标机器人的位置信息,以根据所述位置信息确定所述目标机器人在所述有向加权地图中的目标位置;

根据所述任务信息确定所述目标机器人的实际目的地位置,并在所述有向加权地图中确定所述实际目的地位置所对应的目的地位置;

根据所述目标位置以及所述目的地位置,在所述有向加权地图中生成对应的路径信息。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

将所述路径信息发送至所述目标机器人,以使得所述目标机器人响应所述路径信息以运行。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

获取所述目标机器人的位置信息,以确定所述位置信息在所述路径信息所对应的路径上的运行位置;

根据所述运行位置对所述路径进行状态标记,其中所述状态标记包括已执行、执行中以及待执行;

当确定所述状态标记为待执行的子路径的数量为零时,确定任务执行完成。

在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:

对所述路径所包含的若干子路径的运行状态进行监测;

当监测到与所述运行位置所处的子路径相邻的下一子路径的运行状态为不可运行状态时,向所述目标机器人发送暂停指令;

当监测到与所述运行位置所处的子路径相邻的下一子路径的运行状态有不可运行状态变为可运行状态时,向所述目标机器人发送运行指令。

需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的云端服务器的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项路径规划方法。

其中,所述计算机可读存储介质可以是前述实施例所述的云端服务器的内部存储单元,例如所述云端服务器的硬盘或内存。所述计算机可读存储介质也可以是所述云端服务器的外部存储设备,例如所述云端服务器上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号