多移动机器人的冲突管理方法及系统与流程

文档序号:14950130发布日期:2018-07-17 22:21阅读:195来源:国知局

本发明涉及机器人领域,具体地涉及一种多移动机器人的冲突管理方法及系统。



背景技术:

在密集区域(例如物流仓库区域)内布设多个移动机器人,并由这些移动机器人来完成诸如搬运货物的任务,以替代人工劳动,是目前物联网领域的研究重点。

为了避免密集区域中的多个移动机器人之间在作业时候的碰撞,目前一般采用了如下两种不同的处理方案:其一,是通过机器人当前的局部环境信息,让机器人具有良好的冲突消解能力;其二,是集中管理式冲突消解,其主要是通过将机器人的运动路径分段来消除冲突。

但是,本申请的发明人在实践本申请的过程中发现上述现有技术中至少存在如下缺陷:其一,分布式方法虽然运算简单、实时性和灵活性强,但由于会出现局部极点,往往无法完整地完成任务;其二,集中管理式方法能够较精确地执行任务,但极容易导致机器人运行路径冲突,通常要寻找最优解,但计算量很大、实时性差,并且在计算过程往往不会兼顾规划路径的自身特点,但是过弯道的移动机器人由于拐弯角度的不确定性,使得将移动机器人执行弯道和执行直道的条件都统一化计算,会导致移动机器人在弯道附近发生路径冲突,对此目前业界仍然无法提出较佳的解决方案。



技术实现要素:

本发明实施例的目的是提供一种多移动机器人的冲突管理方法及系统,用以至少解决多移动机器人在密集区域内集中调度所导致的路径冲突问题。

为了实现上述目的,本发明实施例提供一种多移动机器人的冲突管理方法,包括:获取多个移动机器人各自的当前位置和规划路径,其中所述规划路径能够绕开预定区域内的障碍物,以及所述预定区域包括多个节点区域;确定所述多个移动机器人的所述当前位置各自所处的路径分段条件,其中所述路径分段条件包括弯曲路径分段或直线路径分段;以及根据所述路径分段条件,为所述多个移动机器人分别分配相应数量的与其各自的所述当前位置相邻的节点区域,其中弯曲路径分段所对应的节点区域的数量大于直线路径分段所对应的节点区域的数量,以及所述移动机器人被配置成只从经分配的节点区域通过。

可选的,所述根据所述路径分段条件为所述移动机器人分配相应数量的节点区域包括:当确定移动机器人的所述路径分段条件为弯曲路径分段时,确定关于所述弯曲分段的起始节点区域和终止节点区域;为所确定的所述移动机器人的分配自所述起始节点区域到所述终止节点区域的对角线所经过的所有的节点区域。

可选的,在所述根据所述路径分段条件为所述多个移动机器人分别分配相应数量的与其各自的所述当前位置相邻的节点区域之后,该方法还包括:判断是否存在为不同的移动机器人所分配的节点区域重合的情形;以及当为第二移动机器人所分配的第二节点区域与已分配至第一移动机器人的节点区域之间存在重合时,标记所述存在重合的节点区域为冲突状态的冲突节点区域,并确定所述第一移动机器人与所述第二移动机器人之间存在规划路径冲突。

可选的,在所述确定所述第一移动机器人与所述第二移动机器人之间存在规划路径冲突之后,所述方法还包括:控制所述第二移动机器人暂停运行移动,并控制所述第一移动机器人按照其所对应的规划路径继续运行移动;以及当检测到所述第一移动机器人已经通过所述冲突节点区域时,将该冲突节点区域重新分配至所述第一移动机器人。

具体的,所述获取多个移动机器人各自的当前位置和规划路径包括:向各个所述移动机器人发送调度命令,其中所述调度命令包含各个移动机器人的目标节点区域信息;响应于所述调度命令,从所述多个移动机器人接收规划路径,其中所述规划路径为各个所述移动机器人根据各自的目标节点区域信息并通过a*算法计算所确定的。

本发明实施例另一方面提供一种多移动机器人的冲突管理系统,包括:初始信息获取单元,用于获取多个移动机器人各自的当前位置和规划路径,其中所述规划路径能够绕开预定区域内的障碍物,以及所述预定区域包括多个节点区域;路径分段条件确定单元,用于确定所述多个移动机器人的所述当前位置各自所处的路径分段条件,其中所述路径分段条件包括弯曲路径分段或直线路径分段;节点区域分配单元,用于根据所述路径分段条件,为所述多个移动机器人分别分配相应数量的与其各自的所述当前位置相邻的节点区域,其中弯曲路径分段所对应的节点区域的数量大于直线路径分段所对应的节点区域的数量,以及所述移动机器人被配置成只从经分配的节点区域通过,具体的,可以是移动机器人只有从服务器接收到关于下一分配的节点区域的指令时,才会执行移动,即使其可能已经自主规划好了运行路径。

可选的,所述节点区域分配单元包括端节点确定模块,用于当确定移动机器人的所述路径分段条件为弯曲路径分段时,确定关于所述弯曲分段的起始节点区域和终止节点区域;弯曲分配模块,用于为所确定的所述移动机器人的分配自所述起始节点区域到所述终止节点区域的对角线所经过的所有的节点区域。

可选的,所述系统还包括:重合判断单元,用于判断是否存在为不同的移动机器人所分配的节点区域重合的情形;冲突确定单元,用于当为第二移动机器人所分配的第二节点区域与已分配至第一移动机器人的节点区域之间存在重合时,标记所述存在重合的节点区域为冲突状态的冲突节点区域,并确定所述第一移动机器人与所述第二移动机器人之间存在规划路径冲突。

可选的,所述系统还包括:停留控制单元,用于控制所述第二移动机器人暂停运行移动,并控制所述第一移动机器人按照其所对应的规划路径继续运行移动;以及重新分配单元,用于当检测到所述第一移动机器人已经通过所述冲突节点区域时,将该冲突节点区域重新分配至所述第一移动机器人。

具体的,所述初始信息获取单元包括:调度命令发送模块,用于向各个所述移动机器人发送调度命令,其中所述调度命令包含各个移动机器人的目标节点区域信息;规划路径接收模块,用于响应于所述调度命令,从所述多个移动机器人接收规划路径,其中所述规划路径为各个所述移动机器人根据各自的目标节点区域信息并通过a*算法计算所确定的。

通过上述技术方案,获取移动机器人的当前位置和规划路径,并根据多个移动机器人各自的当前位置和规划路径,并在移动机器人移动之前,根据移动机器人的当前位置和规划路径为移动机器人分配其下一步会经过的与移动机器人的位置相邻的节点区域,并且在弯曲路径分段所分配的节点区域的数量大于直线路径分段所对应的节点区域的数量,区分计算移动机器人执行弯道和执行直道的节点分配条件,有效降低了移动机器人在弯道附近发生冲突碰撞的概率。另外,在本发明实施例中通过对节点的分配来实现对冲突的管理,实现对处理器资源的低消耗,且具有较强的实时性。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是实施本发明一实施例的多移动机器人的冲突管理方法的密集区域的地图示例;

图2是本发明一实施例的多移动机器人的冲突管理方法的流程图;

图3是本发明一实施例中关于获取移动机器人的规划路径方法的流程图;

图4是本发明一实施例中关于预定区域的节点分布表的示例;

图5是本发明一实施例的关于节点分配的示例;

图6是关于预定区域全局的节点资源表的示例;

图7是本发明一实施例的多移动机器人经过弯曲路径时的节点分配的示例;

图8是本发明另一实施例的冲突管理方法的流程图;

图9是本发明一实施例的冲突管理系统的结构框图。

附图标记说明

a1、a0、a、b移动机器人b1、b2障碍物

n1、n2节点902路径分段条件确定单元

901初始信息获取单元903节点区域分配单元

90多移动机器人的冲突管理系统

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

如图1所示,在实施本发明一实施例的多移动机器人的冲突管理方法的密集区域的地图中标注了多个障碍物b1、b2等,多个移动机器人a0、a1等,以及多个节点区域n1、n2等。其中,该密集区域可以是根据需要所预定的,例如其可以是指代仓库内的区域,该多个移动机器人a0、a1可以是指代多个物流机器人,以及通过该移动机器人a0、a1的运行移动,可以实现搬运货物,但是在多个物流机器人同时运行的时候,可能会导致冲突。其中,不同的节点区域n1、n2的大小可以是相等的,其可以通过对密集区域的地图作等比例划分所形成的。需说明的是,本发明实施例的冲突管理方法可以是由集中管理该多个移动机器人的服务器所执行的。

如图2所示,本发明一实施例的多移动机器人的冲突管理方法包括:

s201、获取多个移动机器人各自的当前位置和规划路径,其中规划路径能够绕开预定区域内的障碍物,以及预定区域包括多个节点区域。

具体的,关于规划路径的获取方式,可以是由移动机器人所自主确定,并由其上传至服务器的,也可以是服务器通过计算所得出的,且以上都属于本发明的保护范围内。

参见图3示出的是关于规划路径的获取方式的一种优选实施方式,移动机器人可以是agv(automatedguidedvehicle激光导航车辆),其中该获取方法包括:s301、服务器可以向各个移动机器人发送调度命令,其中调度命令包含各个移动机器人的目标节点区域信息。s302、在各个移动机器人接收到各自的调度命令之后,其会根据各自的目标节点区域信息并通过a*算法计算各自的相应的规划路径。s303、各个移动机器人会将计算所得到的各自的规划路径发送至服务器。在服务器获取到各个移动机器人所发送的规划路径之后,会执行相应的后续处理,以保障在移动机器人在执行规划路径的过程中不会发生路径冲突。作为示例,在地图上可以具有多个分别具有唯一的节点id的节点区域(例如图4所示的关于密集区域的节点分布表中的0、1…99号节点区域),移动机器人a0在接收到调度命令之后,需要从当前位置73号节点区域到达31号目标节点区域,此时移动机器人a0会通过a*算法计算到达31号目标节点区域的最短路径,由此保障移动机器人a0能够迅速到达目标节点区域。但是在此时的计算中并没有考虑到当前空间内的其他移动机器人例如a1的运行移动,其也只会考虑到静态的障碍物节点,而在移动机器人a0运行移动的过程中,空间内的其他移动机器人例如a1相对于这台移动机器人a0都是障碍物,因此需要采取防冲突措施以避开其他移动机器人以防止相撞。关于该冲突管理措施的细节,具体将在下文中展开。

s202、确定多个移动机器人的当前位置各自所处的路径分段条件,其中路径分段条件包括弯曲路径分段或直线路径分段。

具体的,移动机器人在执行移动任务的过程中会向服务器上报当前位置,以及服务器可以将当前位置与s201中所获取的整体的规划路径进行比对,由此确定移动机器人是处于弯曲路径(例如路径拐点),还是处于直线路径。

s203、根据路径分段条件,为多个移动机器人分别分配相应数量的与其各自的当前位置相邻的节点区域,其中弯曲路径分段所对应的节点区域的数量大于直线路径分段所对应的节点区域的数量,以及移动机器人被配置成只从经分配的节点区域通过。

关于节点区域分配,是根据规划路径而进行的。并且,可以是在机器人a0在0时间点根据规划路径欲从第73号节点区域运行到63号节点区域之前,预先为a0分配63号节点区域。优选地,可以在是根据移动机器人的需要(例如当移动机器人的速度较快时),第一移动机器人a分配多个供其下一步通过的多个节点区域,如图5所示,可以是根据机器人的运行路径为移动机器人a分配24号节点区域和25号节点区域,并为移动机器人b分配146号节点区域和147号节点区域等,且以上都属于本发明的保护范围内。

关于移动机器人的配置,可以是移动机器人只有从服务器接收到关于下一分配的节点区域的指令时,才会执行移动,即使其可能已经自主规划好了运行路径。

关于预定区域内的节点资源的分配可以是整体在节点资源表中来实现的,如图6示出了节点资源表的示例,在关于预定区域全局的节点资源表中统计各个节点资源的被各个机器人所占用及分配的情况,包括机器人现在所占用的节点区域id以及为机器人所分配的节点区域id。并且,节点资源表会随着时间的变化而更新,为了防止移动机器人之间的资源冲突,其中一个节点资源可以只被一个移动机器人所占用,也就是同一个节点区域在节点资源表中不会同时对应两个移动机器人,并且同一个移动机器人可以同时对应多个节点区域。

如图7所示,在移动机器人经过弯道时,应为其分配多个节点区域(如灰斜线所标注的节点区域),而不是在直行状态下的一个节点区域。由于移动机器人在执行移动任务时的不确定因素较多,为移动机器人在转弯的时候多分配预留节点资源,如上所述的,节点资源可以只被一次分配给一个移动机器人,可以保障移动机器人在转弯时,不会有其他移动机器人经过该弯曲路径分段,能够避免与其他移动机器人之间发生冲突碰撞;相应地,在移动机器人处于直行路径分段时,可以只为其分配少量的节点,例如一个节点,由此节约资源分配,提高资源利用效率。更优选的,当移动机器人为基于a*算法的agv时,由于其会自主导航,且不需要在原地换向,所以在转弯的时候,其自主性就更广,所以在弯曲路径(或拐点附近)发生碰撞的几率很大。相应地,本申请提出可以是如图7所示的确定弯曲分段的起始节点区域和终止节点区域,并相应地为所确定的该移动机器人分配自起始节点区域到终止节点区域的对角线所经过的所有的节点区域(当然也还可以包括其他移动机器人可能会使用的节点区域,例如对角线所经过的节点区域的邻近节点区域),由此能够最大程度地减少在弯道处发生冲突碰撞的几率。

如图8所示,本发明一实施例的多移动机器人的冲突管理方法,包括:

s801、获取多个移动机器人各自的当前位置和规划路径,其中规划路径能够绕开预定区域内的障碍物,以及预定区域包括多个节点区域。

s802、确定多个移动机器人的当前位置各自所处的路径分段条件,其中路径分段条件包括弯曲路径分段或直线路径分段。

s803、根据路径分段条件,为多个移动机器人分别分配相应数量的与其各自的当前位置相邻的节点区域。

其中,弯曲路径分段所对应的节点区域的数量大于直线路径分段所对应的节点区域的数量,以及移动机器人被配置成只从经分配的节点区域通过。

s804、判断是否存在为不同的移动机器人所分配的节点区域重合的情形。

s805、当为第二移动机器人所分配的第二节点区域与已分配至第一移动机器人的节点区域之间存在重合时,标记所述存在重合的节点区域为冲突状态的冲突节点区域,并确定所述第一移动机器人与所述第二移动机器人之间存在规划路径冲突。

具体的,图8所示的实施例可以被看作是图2所示实施例的进一步的优化,s801-s803的具体的细节可以参照上文实施例的描述,在此不再赘述,主要在于:图2可以是通过节点资源数量的分配的控制来防止冲突,但由于在弯曲路径分段所分配的节点资源较多,使得对弯曲路径分段的节点资源的管理就显得尤为重要了。通过s804和s805的实施可以实现对节点资源分配的检测,避免了同一节点区域被同时分配给两个移动机器人。作为示例,在一种情况下,如果为第一移动机器人a所分配节点资源区域为第10号节点区域,以及为第二移动机器人b所分配节点资源区域也为第10号节点区域;或者,在另一种情况下,如果为第一移动机器人a所分配节点资源区域包含第10号和11号节点区域,以及为第二移动机器人b所分配的节点区域包含第9号节点区域和第10号节点区域,则表明第一移动机器人a和第二移动机器人b存在重合的第10号节点区域,相应地标记该第10号节点为处于冲突状态的冲突节点区域。相应地,可以确定在第一移动机器人a与第二移动机器人b之间存在规划路径冲突,此时应当采取相应的冲突管理措施,具体地,可以是在存在冲突节点区域时,生成冲突通知信号,并将该冲突通知信号发送至运维终端以提醒运维人员来处理并解决移动机器人冲突等。

优选地,在检测到第一移动机器人a或第二移动机器人b已经通过第10号冲突节点区域时,服务器可以将冲突节点区域重新从冲突状态转换为可被分配的状态,例如可以以不同的标识(通过对节点颜色或形态的标注等)对冲突节点区域与可分配的节点区域之间进行区分,由此实现了对冲突节点恢复正常之后的再分配工作,保障了正常节点资源能够被移动机器人循环使用,提高了密集区域的利用效率。具体的,在确定第一移动机器人与第二移动机器人之间存在规划路径冲突之后,可以是服务器控制所述第二移动机器人暂停运行移动,并控制所述第一移动机器人按照其所对应的规划路径继续运行移动;以及当检测到所述第一移动机器人已经通过所述冲突节点区域时,将该冲突节点区域重新分配至第一移动机器人。由此,通过节点资源的分配,让其中一个移动机器人先通过冲突节点区域之后,再由另一个移动机器人通过该节点区域,有效解决了节点分配冲突的问题,降低了多移动机器人在运行过程中发生冲突碰撞的几率。

如图9所示,本发明一实施例的多移动机器人的冲突管理系统90,包括:初始信息获取单元901,用于获取多个移动机器人各自的当前位置和规划路径,其中所述规划路径能够绕开预定区域内的障碍物,以及所述预定区域包括多个节点区域;路径分段条件确定单元902,用于确定所述多个移动机器人的所述当前位置各自所处的路径分段条件,其中所述路径分段条件包括弯曲路径分段或直线路径分段;节点区域分配单元903,用于根据所述路径分段条件,为所述多个移动机器人分别分配相应数量的与其各自的所述当前位置相邻的节点区域,其中弯曲路径分段所对应的节点区域的数量大于直线路径分段所对应的节点区域的数量,以及所述移动机器人被配置成只从经分配的节点区域通过。

在一些实施方式中,所述节点区域分配单元903包括端节点确定模块,用于当确定移动机器人的所述路径分段条件为弯曲路径分段时,确定关于所述弯曲分段的起始节点区域和终止节点区域;弯曲分配模块,用于为所确定的所述移动机器人的分配自所述起始节点区域到所述终止节点区域的对角线所经过的所有的节点区域。

在一些实施方式中,所述系统还包括:重合判断单元,用于判断是否存在为不同的移动机器人所分配的节点区域重合的情形;冲突确定单元,用于当为第二移动机器人所分配的第二节点区域与已分配至第一移动机器人的节点区域之间存在重合时,标记所述存在重合的节点区域为冲突状态的冲突节点区域,并确定所述第一移动机器人与所述第二移动机器人之间存在规划路径冲突。

在一些实施方式中,所述系统还包括:停留控制单元,用于控制所述第二移动机器人暂停运行移动,并控制所述第一移动机器人按照其所对应的规划路径继续运行移动;以及重新分配单元,用于当检测到所述第一移动机器人已经通过所述冲突节点区域时,将该冲突节点区域重新分配至所述第一移动机器人。

在一些实施方式中,所述初始信息获取单元901包括:调度命令发送模块,用于向各个所述移动机器人发送调度命令,其中所述调度命令包含各个移动机器人的目标节点区域信息;规划路径接收模块,用于响应于所述调度命令,从所述多个移动机器人接收规划路径,其中所述规划路径为各个所述移动机器人根据各自的目标节点区域信息并通过a*算法计算所确定的。

需说明的是,本发明实施例所提供的多移动机器人的冲突管理系统可以是搭建在用于集中管理多移动机器人的服务器上的,并且如上所述的各个单元和模块可以是指代程序模块或单元。以及,关于本发明实施例系统的更多的细节和相应的技术效果可以参照上文方法实施例的描述,在此便不再赘述。

上述本发明实施例的系统可用于执行本发明中相应的方法实施例,并相应的达到上述本发明方法实施例所达到的技术效果,这里不再赘述。

本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

另一方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行如上服务器所执行的多移动机器人的冲突管理方法的步骤。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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