机器人的路径规划方法及装置与流程

文档序号:18140261发布日期:2019-07-10 11:01阅读:327来源:国知局
机器人的路径规划方法及装置与流程

本发明涉及导航与控制技术领域,尤其涉及一种机器人的路径规划方法及装置。



背景技术:

随着科技的发展与进步,智能机器人的应用越来越广泛。多机器人系统可以更好地实现信息和资源共享,具有更高的并行性和鲁棒性,可以完成更加复杂的任务,已经被应用到智能生产、未知环境探测、搬运清理、服务行业、搜索搜救、远程通信等多个领域中,具备很好的实用价值。当多机器人协同作业时,如何规划多机器人的运行路径以避免冲突成为大家关注的焦点。

目前,物流、仓储等涉及物品流转的行业逐渐开始采用多个自动导引运输车(automatedguidedvehicle,agv)进行协同作业。随着agv数量的增加,容易发生诸如碰撞、死锁等情况,一旦出现此类情况将直接导致物流周转瘫痪。

传统的agv调度系统采用单向路径网络布局,可以降低系统出现拥堵、死锁的可能性。但是,由于路径方向的固定,使agv行驶距离增大,造成系统的柔性和故障处理的鲁棒性不高,并且降低了agv的工作效率。



技术实现要素:

本发明实施例提供一种机器人的路径规划方法及装置,能够丰富机器人的路径规划线路,提高系统运行效率。

一种机器人的路径规划方法,包括:

接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径;

根据所述目标机器人的运动方向确定其运行路径的方向,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测;

当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径。

可选的,在其中一个实施例中,所述接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径,包括:

读取所述待处理任务中的起点信息和终点信息;

根据所述起点信息和终点信息确定目标机器人的起点和终点,从预设地图数据中选取经过所述起点和终点的预设路径作为所述目标机器人的运行路径。

可选的,在其中一个实施例中,所述基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测,包括:

获取所述至少两个目标机器人的运行路径所经过的节点,根据所述节点划分路径段;

依次比较每个路径段的两个端点以及路径段的方向;

当出现至少两个路径段的两个端点相同、且方向相反时,判断为目标机器人的运行路径存在冲突。

可选的,在其中一个实施例中,所述当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径,包括:

确定所述至少两个目标机器人的运行路径的冲突路径段;

沿着每个目标机器人的运行路径计算到达所述冲突路径段的距离长度;

当所述距离长度大于预设长度值时,更新所述目标机器人的运行路径为到达所述冲突路径段的路径。

可选的,在其中一个实施例中,所述方法还包括:

确定所述至少两个目标机器人的运行路径的冲突路径段;

沿着每个目标机器人的运行路径计算到达所述冲突路径段的距离长度;

当所述距离长度小于等于预设长度值时,为所述目标机器人重新规划排除所述冲突路径段的运行路径。

可选的,在其中一个实施例中,所述为所述目标机器人重新规划排除所述冲突路径段的运行路径,包括:

根据所述目标机器人需要执行的待处理任务的起点和终点,从预设地图数据中选取出经过所述起点和终点、且排除所述冲突路径段的预设路径,作为所述目标机器人的运行路径。

可选的,在其中一个实施例中,包括:

当目标机器人开始运行时,将所述目标机器人与其运行路径进行绑定,以占有所述运行路径;

当所述目标机器人离开运行路径时,释放所述运行路径。

一种机器人的路径规划装置,包括:

路径确定模块,用于接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径;

冲突检测模块,用于根据所述目标机器人的运动方向确定其运行路径的方向,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测;

路径规划模块,用于当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径。

一种终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

实施本发明实施例,将具有如下有益效果:

上述机器人的路径规划方法及装置,通过接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径,根据所述目标机器人的运动方向确定其运行路径的方向,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测,当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径。通过上述方法,在对机器人进行路径规划时将路径方向纳入考虑,能够减少机器人运行冲突的检测时间并且丰富路径规划方案,提高了系统的运行效率。

附图说明

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

其中:

图1为一个实施例中机器人的路径规划方法的流程图;

图2为另一个实施例中机器人的路径规划方法的流程图;

图3为另一个实施例中机器人的路径规划方法的流程图;

图4为另一个实施例中机器人的路径规划方法的流程图;

图5为一个实施例中agv的路径规划方法的流程示意图;

图6为一个实施例中agv的运行轨迹示意图;

图7为一个实施例中机器人的路径规划装置的结构框图;

图8为一个实施例中终端的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请。可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一应用程序称为第二应用程序,且类似地,可将第二进应用程序为第一应用程序。第一应用程序和第二应用程序两者都是应用程序,但其不是同一应用程序。

图1为一个实施例中机器人的路径规划方法的流程图。本实施例中的机器人的路径规划方法,可以应用于物流、仓储行业,实现机器人独自或协同作业以完成对货物的搬运。具体的,机器人可以是自动导引运输车/无人搬运车(automatedguidedvehicle,agv),自动导引运输车指的是装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车。可选的,机器人的数量可以是一个或多个,机器人的类型可以是相同类型或不同类型。本实施例提供的机器人的路径规划方法,能够丰富机器人的路径规划线路,提高系统运行效率。如图1所示,机器人的路径规划方法包括以下步骤102~步骤106:

步骤102:接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径。

其中,待处理任务指的是系统中等待机器人处理的任务,例如仓库中等待搬运的货物;目标机器人可以理解为系统中可执行该待处理任务的机器人。待处理任务中包含待运输物体的起点和终点,根据待运输物体的起点和终点确定目标机器人的运行路径,该运行路径指的是目标机器人从待运输物体的起点到任务终点的行走路径。可选的,基于待处理任务中的起点和终点确定的运行路径可以有多条,该运行路径可以从固定路径中选取。可选的,可以根据待处理任务的起点、终点生成最短路径。

具体的,通过读取所述待处理任务中的起点信息和终点信息,根据所述起点信息和终点信息确定目标机器人的起点和终点,从预设地图数据中选取经过所述起点和终点的预设路径作为所述目标机器人的运行路径。

步骤104:根据所述目标机器人的运动方向确定其运行路径的方向,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测。

对目标机器人的运行路径进行冲突检测,检测该目标机器人的运行路径上是否有冲突点,冲突点可以理解为该目标机器人的运行路径与调度区域内其它机器人的运行路径重合的部分。其中每个运行路径可以根据经过的节点划分为多个路径段,可以通过比较每个路径段的端点以及运行方向来判断是否存在冲突。

可以根据目标机器人的运动方向确定其运行路径的方向,具体的,目标机器人实时与主控系统进行通信,上报实时位置与姿态信息,例如目标机器人可以采用tcp/ip通信方式与主控系统进行通信。进一步的,系统基于运行路径的方向对调度区域内的目标机器人进行冲突检测,可以理解的是,调度区域内的目标机器人的数量为至少两个。

若调度区域内至少两个目标机器人的运行路径存在冲突,则执行步骤106。

步骤106:当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径。

当至少两个目标机器人的运行路径存在冲突时,此时根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径,具体的,确定所述至少两个目标机器人的运行路径的冲突路径段,沿着每个目标机器人的运行路径计算到达所述冲突路径段的距离长度,判断目标机器人运行至该冲突路径段的距离长度是否大于预设长度值;若是,则更新所述目标机器人的运行路径为到达所述冲突路径段的路径;若否,则为所述目标机器人重新规划排除所述冲突路径段的运行路径。

上述机器人的路径规划方法,通过接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径,根据所述目标机器人的运动方向确定其运行路径的方向,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测,当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径。通过上述方法,在对机器人进行路径规划时将路径方向纳入考虑,能够减少机器人运行冲突的检测时间并且丰富路径规划方案,提高了系统的运行效率。

如图2所示,在一个实施例中,所述接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径,也即步骤102还包括以下步骤202~步骤204:

步骤202:读取所述待处理任务中的起点信息和终点信息。

给目标机器人分配待处理任务,可以是一个目标机器人对应执行一个待处理任务,也可以是多个机器人协同作业、共同执行待处理任务。可以理解的是,可以采用任何本领域使用的机器人任务分配方法来对目标机器人分配任务。

进一步的,读取待处理任务中的起点信息和终点信息,起点信息表示了待运输货物的起点位置,终点信息表示了待运输货物的终点位置。

步骤204:根据所述起点信息和终点信息确定目标机器人的起点和终点,从预设地图数据中选取经过所述起点和终点的预设路径作为所述目标机器人的运行路径。

具体的,在获取待处理任务的起点和终点后,可以通过离线规划方式对目标机器人进行路径规划,从预设地图数据中选取经过所述起点和终点的预设路径作为所述目标机器人的运行路径。可选的,可以根据任务的起点、终点生成最短路径,以减少目标机器人的运行时间,提升工作效率。

如图3所示,在一个实施例中,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测,包括以下步骤302~步骤306:

步骤302:获取所述至少两个目标机器人的运行路径所经过的节点,根据所述节点划分路径段。

具体的,在目标机器人的运行路径中,设有多个节点,通过该节点可以对运行路径划分路径段,每两个相邻的节点可以形成一个路径段,可选的,每个路径段可以是直线或曲线。可选的,节点的数量可以根据需求进行设定。

步骤304:依次比较每个路径段的两个端点以及路径段的方向。

具体的,获取目标机器人的运行路径中所有的路径段,将调度区域内不同目标机器人之间的路径段进行比较,依次比较每个路径段的两个端点以及路径段的方向。例如,第一机器人的运行路径包含a路径段、b路径段、c路径段,第二机器人的运行路径包含d路径段、e路径段、f路径段,系统将a路径段分别与d路径段、e路径段、f路径段进行对比,再将b路径段分别与d路径段、e路径段、f路径段进行对比,再将c路径段分别与d路径段、e路径段、f路径段进行对比,以筛选出第一机器人与第二机器人具有冲突的路径段。

步骤306:当出现至少两个路径段的两个端点相同、且方向相反时,判断为目标机器人的运行路径存在冲突。

具体的,路径是由边定义,边由两个点确定。若两个路径段的两个端点相同,则这两条路径段为同一条道路,此时判断目标机器人的运动方向,若两个目标机器人的运动方向相同,则没有冲突;若两个目标机器人的运动方向相反,则两个目标机器人存在冲突。

本实施例将运行路径的方向纳入考虑,在判断路径是否存在冲突的过程中,若至少两个目标机器人的运动方向相同则当前路径可运行,使得目标机器人可以实现前后跟随运行,减少了机器人因道路被占的等待时间,提升了系统的工作效率。

如图4所示,在一个实施例中,当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径,也即步骤106包括以下步骤402~步骤408:

步骤402:确定所述至少两个目标机器人的运行路径的冲突路径段。

当至少两个目标机器人的运行路径存在冲突时,需要对目标机器人重新规划路径,此时根据冲突检测结果确定少两个目标机器人的运行路径的冲突路径段。冲突路径段为端点相同,路径方向相反的路径段。

步骤404:沿着每个目标机器人的运行路径计算到达所述冲突路径段的距离长度。

通过计算到达所述冲突路径段的距离长度,以判断运行通过当前路径的必要性,若目标机器人距离该冲突路径段的距离足够长,则控制目标机器人运行至该冲突路径段;若目标机器人距离该冲突路径段的距离太短,则去掉有冲突的路径段再次规划路径;可以节省目标机器人的等待时间,能够增加系统的运行效率;

步骤406:当所述距离长度大于预设长度值时,更新所述目标机器人的运行路径为到达所述冲突路径段的路径。

步骤408:当所述距离长度小于等于预设长度值时,为所述目标机器人重新规划排除所述冲突路径段的运行路径。

举例说明,判断目标机器人运行至冲突路径段所要经历的路径段数量,若经历的路径段数量大于2,则更新该目标机器人的运行路径为运行到冲突路径段的路径;若经历的路径段数量小于等于2,则去掉所有冲突路径再次规划路径。

在一个实施例中,步骤408包括:根据所述目标机器人需要执行的待处理任务的起点和终点,从预设地图数据中选取出经过所述起点和终点、且排除所述冲突路径段的预设路径,作为所述目标机器人的运行路径。

如图5所示,为一个实施例中agv的路径规划方法的流程示意图,该方法包括:

步骤501:离线路径规划agv的运行路径。

步骤502:取其余agv的实时位置与姿态信息,检测多个agv之间是否存在冲突,若有冲突则执行步骤503;若无冲突则执行步骤506。

步骤503:检查到达最近冲突点的路径条数是否大于2,若是则执行步骤505;若否则执行步骤504。

步骤504:去掉所有冲突路径,并执行步骤501进行再次规划路径。

步骤505:更agv的运行路径为运行到最近冲突点的路径。

步骤506:更新运行路径的占用情况,将agv与所有要运行的路径进行绑定,agv开始运行。

步骤507:agv离开运行的路径,将绑定关系解除,释放路径以及路径方向。

步骤508:判断是否完成了任务,若否则执行步骤501;若是则执行步骤509。

步骤509:设置agv处于空闲状态。

上述agv的路径规划方法,在路径分配、占有的基础上,增加了路径方向占有的维度,提出了基于路径方向分配的调度,可以在保证多agv在不发生阻塞、碰撞的情况下,以较高的效率运行。

图6为一个实施例中agv的运行轨迹示意图,举例来说,图6所示为2辆agv在地图中的运行轨迹,图中路径为双向可通行的道路。具体的,初始状态时,agv1在图中运行,即将经过到道路为7-6-3-2-1。进一步的,agv2开始运行,离线规划出来的路径为5-4-3-6-9-10。进一步的,系统开始计算agv2与agv1是否会有冲突,依次比较路径的起点、终点以及经过路径时的方向,判断3-6或者6-3这条路径会存在冲突。进一步的,沿着agv2的运行路径计算到达冲突路径开始节点所经过的路径条数,到达冲突路径需要经过5-4-3两条路径,不大于2,那么则将3-6这条路径从地图中去掉重新查找是否能够规划出从节点5到节点10的路径,如果不能则等待,如果能够规划则重复冲突检测步骤。进一步的,系统将路径下发给agv2,agv2开始运行。

上述机器人的路径规划方法,在对机器人进行路径规划时将路径方向纳入考虑,能够减少机器人运行冲突的检测时间并且丰富路径规划方案,提高了系统的运行效率。

应该理解的是,虽然上述附图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图7所示,在一个实施例中,提供了一种机器人的路径规划装置,该装置包括路径确定模块710、冲突检测模块720、路径规划模块730。

路径确定模块710,用于接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径。

冲突检测模块720,用于根据所述目标机器人的运动方向确定其运行路径的方向,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测。

路径规划模块730,用于当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径。

上述机器人的路径规划装置,通过接收待处理任务,基于所述待处理任务中的起点和终点确定目标机器人的运行路径,根据所述目标机器人的运动方向确定其运行路径的方向,基于所述运行路径的方向对至少两个目标机器人的运行路径进行冲突检测,当至少两个目标机器人的运行路径存在冲突时,根据预设路径规划策略重新规划所述至少两个目标机器人的运行路径。通过上述装置,在对机器人进行路径规划时将路径方向纳入考虑,能够减少机器人运行冲突的检测时间并且丰富路径规划方案,提高了系统的运行效率。

关于机器人的路径规划装置的具体限定可以参见上文中对于机器人的路径规划方法的限定,在此不再赘述。上述机器人的路径规划装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本申请实施例中提供的机器人的路径规划装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述的机器人的路径规划方法的步骤。

图8为一个实施例中终端的内部结构示意图。如图8所示,该终端包括通过系统总线连接的处理器、存储器和通信模块。其中,该处理器用于提供计算和控制能力,支撑整个终端的运行。存储器用于存储数据、程序等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于终端的机器人的路径规划方法。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种机器人的路径规划方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。通信模块可以是4g通信模块、wifi通信模块或者cofdm通信模块等,用于与外部的通信传输平台进行通信。该终端可以是自动导引运输车。

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

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如上述各实施例中所描述的机器人的路径规划方法。

本申请实施例还提供了一种计算机程序产品。一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各实施例中所描述的机器人的路径规划方法。

在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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