一种移动机器人调度系统和方法转让专利

申请号 : CN202110395284.9

文献号 : CN113093763B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴季泳郭锐隋晓鹏

申请人 : 塔米智能科技(北京)有限公司

摘要 :

本发明公开了一种移动机器人调度系统和方法。该系统包括:机器人调度服务器和至少两个移动机器人;所述移动机器人在进入定位区时,向所述机器人调度服务器发送运行通过申请,所述运行通过申请包括定位区编码;所述机器人调度服务器接收所述运行通过申请,根据所述定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至所述移动机器人,所述运行执行指令包括运行等待指令和运行通过指令;所述移动机器人接收并执行所述运行执行指令。本发明解决了移动机器人在运行到特殊场景时,由于存在视觉盲区导致容易发生碰撞的问题,实现了合理调度移动机器人,使机器人在复杂环境中有序通过,提高了机器人运行安全性的效果。

权利要求 :

1.一种移动机器人调度系统,其特征在于,包括:机器人调度服务器和至少两个移动机器人;

所述移动机器人在进入定位区时,向所述机器人调度服务器发送运行通过申请,所述运行通过申请包括定位区编码;

所述机器人调度服务器接收所述运行通过申请,根据所述定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至所述移动机器人,所述运行执行指令包括运行等待指令和运行通过指令;

所述移动机器人接收并执行所述运行执行指令;

其中,所述机器人调度服务器,包括:

信息确定模块,用于接收所述移动机器人发送的运行通过申请,根据所述运行通过申请中的定位区编码确定关联的排队运行区域;

状态确定模块,用于获取当前时刻所述排队运行区域的运行等待队列,根据所述运行等待队列的缓存情况确定所述区域运行状态,其中,所述运行等待队列的缓存为空时,所述区域运行状态为空闲,所述运行等待队列的缓存非空时,所述区域运行状态为拥堵;

指令发送模块,用于当所述排队运行区域空闲时,生成所述运行通过指令并发送至所述移动机器人;当所述排队运行区域拥堵时,生成所述运行等待指令发送至所述移动机器人;

将移动机器人工作的走廊出入口设置为定位区,并对移动机器人工作的走廊出入口设置定位区编码,每个定位区都与一个定位区编码对应;移动机器人发送的运行通过申请中包括移动机器人当前所在的定位区的定位区编码。

2.根据权利要求1所述的移动机器人调度系统,其特征在于,所述机器人调度服务器,还包括:队列管理模块,用于当所述区域运行状态为拥堵时,生成所述移动机器人对应的通行排队消息并添加至所述运行等待队列。

3.根据权利要求2所述的移动机器人调度系统,其特征在于,所述指令发送模块,还用于:确定所述运行等待队列的首个通行排队消息为运行执行消息,基于所述运行执行消息生成运行执行指令,并发送至所述运行执行消息对应的移动机器人。

4.根据权利要求2所述的移动机器人调度系统,其特征在于,

所述移动机器人还用于在通过所述排队运行区域时向所述机器人调度服务器发送运行通过消息;

相应的,所述队列管理模块,还用于在接收所述运行通过消息后,从所述运行等待队列中删除所述移动机器人对应的通行排队消息。

5.一种移动机器人调度方法,其特征在于,应用于权利要求1‑4任一项所述的移动机器人调度系统,所述方法包括:移动机器人在进入定位区时,向机器人调度服务器发送运行通过申请,所述运行通过申请包括定位区编码;

所述机器人调度服务器接收所述运行通过申请,根据所述定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至所述移动机器人,所述运行执行指令包括运行等待指令和运行通过指令;

所述移动机器人接收并执行所述运行执行指令;

其中,所述机器人调度服务器接收所述运行通过申请,根据所述定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至所述移动机器人,包括:所述机器人调度服务器接收所述移动机器人发送的运行通过申请,根据所述运行通过申请中的定位区编码确定关联的排队运行区域;

获取当前时刻所述排队运行区域的运行等待队列,根据所述运行等待队列的缓存情况确定所述区域运行状态,其中,所述运行等待队列的缓存为空时,所述区域运行状态为空闲,所述运行等待队列的缓存非空时,所述区域运行状态为拥堵;

当所述排队运行区域空闲时,生成所述运行通过指令并发送至所述移动机器人;当所述排队运行区域拥堵时,生成所述运行等待指令发送至所述移动机器人;

将移动机器人工作的走廊出入口设置为定位区,并对移动机器人工作的走廊出入口设置定位区编码,每个定位区都与一个定位区编码对应;移动机器人发送的运行通过申请中包括移动机器人当前所在的定位区的定位区编码。

6.根据权利要求5所述的移动机器人调度方法,其特征在于,所述方法还包括:当所述区域运行状态为拥堵时,所述机器人调度服务器生成所述移动机器人对应的通行排队消息并添加至所述运行等待队列。

7.根据权利要求6所述的移动机器人调度方法,其特征在于,所述方法还包括:所述机器人调度服务器确定所述运行等待队列的首个通行排队消息为运行执行消息,基于所述运行执行消息生成运行执行指令,并发送至所述运行执行消息对应的移动机器人。

8.根据权利要求6所述的移动机器人调度方法,其特征在于,所述方法还包括:所述移动机器人在通过所述排队运行区域时向所述机器人调度服务器发送运行通过消息;

相应的,所述机器人调度服务器在接收所述运行通过消息后,从所述运行等待队列中删除所述移动机器人对应的通行排队消息。

说明书 :

一种移动机器人调度系统和方法

技术领域

[0001] 本发明实施例涉及信息处理技术,尤其涉及一种移动机器人调度系统和方法。

背景技术

[0002] 移动机器人目前被广泛应用于各行各业,如医院使用的医疗配送机器人。医院的日常配送任务由机器人代替完成,可以减轻医疗人员繁重的工作压力,节省大量劳动力。
[0003] 医疗配送机器人在配送药物器械时,会行驶在医院的走廊上,走廊存在90°拐角,那么医疗配送机器人在拐角处就存在盲区,两台机器人同时进入拐角拐弯时,可能因为发现时间晚,双方绕行动作协调难,就容易出现双机碰撞。
[0004] 目前移动机器人防碰撞通用采用的是障碍绕行方式,但是由于一些特殊场景绕行区域有限,且即使采用绕行方法,也可能在绕行时与其他移动机器人再次相遇发生碰撞,导致机器人的工作效率低且无法保证其安全运行。

发明内容

[0005] 本发明提供一种移动机器人调度系统和方法,以实现对移动机器人的合理调度,避免移动机器人在运行时发生碰撞。
[0006] 第一方面,本发明实施例提供了一种移动机器人调度系统,包括:
[0007] 所述移动机器人在进入定位区时,向所述机器人调度服务器发送运行通过申请,所述运行通过申请包括定位区编码;
[0008] 所述机器人调度服务器接收所述运行通过申请,根据所述定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至所述移动机器人,所述运行执行指令包括运行等待指令和运行通过指令;
[0009] 所述移动机器人接收并执行所述运行执行指令。
[0010] 可选的,所述机器人调度服务器,包括:
[0011] 信息确定模块,用于接收所述移动机器人发送的运行通过申请,根据所述运行通过申请中的定位区编码确定关联的排队运行区域;
[0012] 状态确定模块,用于获取当前时刻所述排队运行区域的运行等待队列,根据所述运行等待队列的缓存情况确定所述区域运行状态,其中,所述运行等待队列的缓存为空时,所述区域运行状态为空闲,所述运行等待队列的缓存非空时,所述区域运行状态为拥堵;
[0013] 指令发送模块,用于当所述排队运行区域空闲时,生成所述运行通过指令并发送至所述移动机器人;当所述排队运行区域拥堵时,生成所述运行等待指令发送至所述移动机器人。
[0014] 可选的,所述机器人调度服务器,还包括:
[0015] 队列管理模块,用于当所述区域运行状态为拥堵时,生成所述移动机器人对应的通行排队消息并添加至所述运行等待队列。
[0016] 可选的,所述指令发送模块,还用于:
[0017] 确定所述运行等待队列的首个通行排队消息为运行执行消息,基于所述运行执行消息生成运行执行指令,并发送至所述运行执行消息对应的移动机器人。
[0018] 可选的,所述移动机器人还用于在通过所述排队运行区域时向所述机器人调度服务器发送运行通过消息;
[0019] 相应的,所述队列管理模块,还用于在接收所述运行通过消息后,从所述运行等待队列中删除所述移动机器人对应的通行排队消息。
[0020] 第二方面,本发明实施例还提供了一种移动机器人调度方法,该方法包括:
[0021] 移动机器人在进入定位区时,向机器人调度服务器发送运行通过申请,所述运行通过申请包括定位区编码;
[0022] 所述机器人调度服务器接收所述运行通过申请,根据所述定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至所述移动机器人,所述运行执行指令包括运行等待指令和运行通过指令;
[0023] 所述移动机器人接收并执行所述运行执行指令。
[0024] 可选的,所述机器人调度服务器接收所述运行通过申请,根据所述定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至所述移动机器人,包括:
[0025] 所述机器人调度服务器接收所述移动机器人发送的运行通过申请,根据所述运行通过申请中的定位区编码确定关联的排队运行区域;
[0026] 获取当前时刻所述排队运行区域的运行等待队列,根据所述运行等待队列的缓存情况确定所述区域运行状态,其中,所述运行等待队列的缓存为空时,所述区域运行状态为空闲,所述运行等待队列的缓存非空时,所述区域运行状态为拥堵;
[0027] 当所述排队运行区域空闲时,生成所述运行通过指令并发送至所述移动机器人;当所述排队运行区域拥堵时,生成所述运行等待指令发送至所述移动机器人。
[0028] 可选的,所述方法还包括:
[0029] 当所述区域运行状态为拥堵时,所述机器人调度服务器生成所述移动机器人对应的通行排队消息并添加至所述运行等待队列。
[0030] 可选的,所述方法还包括:
[0031] 所述机器人调度服务器确定所述运行等待队列的首个通行排队消息为运行执行消息,基于所述运行执行消息生成运行执行指令,并发送至所述运行执行消息对应的移动机器人。
[0032] 可选的,所述方法还包括:
[0033] 所述移动机器人在通过所述排队运行区域时向所述机器人调度服务器发送运行通过消息;
[0034] 相应的,所述机器人调度服务器在接收所述运行通过消息后,从所述运行等待队列中删除所述移动机器人对应的通行排队消息。
[0035] 本发明通过搭建包括机器人调度服务器和至少两个移动机器人的移动机器人调度系统,在移动机器人进入定位区时,向机器人调度服务器发送运行通过申请,运行通过申请包括定位区编码;机器人调度服务器接收运行通过申请,根据定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并至移动机器人,运行执行指令包括运行等待指令和运行通过指令;移动机器人接收并执行运行执行指令,解决了移动机器人在运行到特殊场景时,由于存在视觉盲区导致容易发生碰撞的问题,实现了合理调度移动机器人,使机器人在复杂环境中有序通过,提高了机器人运行安全性的效果。

附图说明

[0036] 图1是本发明实施例一提供的一种移动机器人调度系统的结构框图;
[0037] 图2是本发明实施例一提供的一种移动机器人调度系统的调度原理示意图;
[0038] 图3是本发明实施例二提供的一种移动机器人调度方法的流程图。

具体实施方式

[0039] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0040] 实施例一
[0041] 图1是本发明实施例一提供的一种移动机器人调度系统的结构框图,如图1所示,该系统包括:机器人调度服务器10和至少两个移动机器人20。图1中以两个移动机器人20为例。
[0042] 移动机器人20在进入定位区时,向机器人调度服务器10发送运行通过申请,运行通过申请包括定位区编码。
[0043] 一般情况下,移动机器人20在运行时可以依靠视觉定位避开附近的障碍物,而两台移动机器人20同时进入拐角时,由于拐角处存在盲区,且绕行区域有限,很可能因发现时间晚,双方绕行动作协调难,出现双机碰撞的情况。因此,本实施例可以在移动机器人20工作的走廊出入口设置定位区,当移动机器人20在进入定位区时,可以向机器人调度服务器10发送运行通过申请。在设置定位区时,可以对定位区进行编码,每个定位区都与一个定位区编码对应。移动机器人20发送的运行通过申请中可以包括移动机器人20当前所在的定位区的定位区编码。
[0044] 图2是本发明实施例一提供的一种移动机器人调度系统的调度原理示意图。如图2所示,在某个走廊拐角处,设置了三个定位区,分别是定位区1、定位区2和定位区3,当移动机器人20进入任意一个定位区时,都可以向机器人调度服务器10发送包括定位区编码的运行通过申请。
[0045] 机器人调度服务器10接收运行通过申请,根据定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至移动机器人20,运行执行指令包括运行等待指令和运行通过指令。
[0046] 在设置定位区时,还可以设置排队运行区域,排队运行区域可以是走廊拐角区域。同时,还可以将定位区与排队运行区域建立关联关系。一般情况下,可以将相邻的定位区与排队运行区域建立关联关系。如图2所示的走廊拐角,走廊拐角处设置有排队运行区域1,排队运行区域1有三个相邻的定位区,因此可以将排队运行区域1同时与定位区1、定位区2和定位区3建立关联关系。
[0047] 当机器人调度服务器10接收到运行通过申请时,可以查找运行通过申请中的定位区编码关联的排队运行区域,并确定该排队运行区域的区域运行状态,并且根据区域运行状态形成对应的运行执行指令发送至移动机器人20。也就是说,如果排队运行区域中有其他移动机器人20正在运行,就生成运行等待指令发送至正在定位区的移动机器人20;如果排队运行区域中没有其他移动机器人20,就生成运行通过指令发送至正在定位区的移动机器人20。
[0048] 移动机器人20接收并执行运行执行指令。
[0049] 如果移动机器人20接收到的是运行等待指令,则在定位区进行等待;如果移动机器人20接收到的是运行通过指令,则运行通过排队运行区域。
[0050] 可选的,机器人调度服务器10,可以包括:信息确定模块、状态确定模块和指令发送模块。
[0051] 信息确定模块,用于接收移动机器人20发送的运行通过申请,根据运行通过申请中的定位区编码确定关联的排队运行区域。
[0052] 状态确定模块,用于获取当前时刻排队运行区域的运行等待队列,根据运行等待队列的缓存情况确定区域运行状态,其中,运行等待队列的缓存为空时,区域运行状态为空闲,运行等待队列的缓存非空时,区域运行状态为拥堵。
[0053] 机器人调度服务器10对每个排队运行区域都建立有运行等待队列,状态确定模块获取当前时刻排队运行区域的运行等待队列后,判断运行等待队列的缓存情况,运行等待队列的缓存为空时,可以表示排队运行区域空闲,当前没有移动机器人20通过,运行等待队列的缓存非空时,可以表示排队运行区域拥堵,当前有移动机器人20通过,甚至可能有其他移动机器人20等待通过。
[0054] 指令发送模块,用于当排队运行区域空闲时,生成运行通过指令并发送至移动机器人20;当排队运行区域拥堵时,生成运行等待指令发送至移动机器人20。
[0055] 用于当排队运行区域空闲时,指令发送模块可以生成运行通过指令并发送至移动机器人20,指示移动机器人20运行通过排队运行区域;当排队运行区域拥堵时,指令发送模块可以生成运行等待指令发送至移动机器人20,指示移动机器人20原地等待。
[0056] 可选的,机器人调度服务器10,还可以包括:队列管理模块,用于当区域运行状态为拥堵时,生成移动机器人20对应的通行排队消息并添加至运行等待队列。
[0057] 用于当区域运行状态为拥堵时,队列管理模块生成移动机器人20对应的通行排队消息并添加至运行等待队列队尾,以使各移动机器人20按照到达拐角的时间有序排队,等待通过。
[0058] 在本实施例中,当排队运行区域空闲时,指令发送模块可以生成运行通过指令并发送至正在定位区的移动机器人20,此时队列管理模块也可以生成该移动机器人20对应的通行排队消息添加至运行等待队列,避免该移动机器人20在通过排队运行区域时,有其他移动机器人20同时进入排队运行区域。
[0059] 可选的,指令发送模块,还用于:确定运行等待队列的首个通行排队消息为运行执行消息,基于运行执行消息生成运行执行指令,并发送至运行执行消息对应的移动机器人20。
[0060] 设置运行等待队列是为了记录移动机器人20到达的顺序,可以按照先到先行的原则,有序调度移动机器人20通过排队运行区域。
[0061] 可选的,移动机器人20还用于在通过排队运行区域时向机器人调度服务器10发送运行通过消息;相应的,队列管理模块,还用于在接收运行通过消息后,从运行等待队列中删除移动机器人20对应的通行排队消息。
[0062] 当移动机器人20通过排队运行区域时,队列管理模块从运行等待队列中删除该移动机器人20对应的通行排队消息,便于执行下一个移动机器人20对应的通行排队消息,使下一个移动机器人20通过排队运行区域。
[0063] 示例性的,如图2所示,移动机器人A进入定位区2时,向机器人调度服务器10发送运行通过申请,机器人调度服务器10的信息确定模块确定定位区2关联的排队运行区域为排队运行区域1,状态确定模块获取当前时刻排队运行区域1的运行等待队列,确定运行等待队列的缓存非空,移动机器人B正在运行通过排队运行区域1,因此指令发送模块生成运行等待指令发送至移动机器人A,队列管理模块生成移动机器人A对应的通行排队消息并添加至运行等待队列队尾。随后移动机器人C进入定位区1时,向机器人调度服务器10发送运行通过申请,信息确定模块确定定位区1关联的排队运行区域为排队运行区域1,状态确定模块获取当前时刻排队运行区域1的运行等待队列,确定运行等待队列的缓存非空,移动机器人B正在运行通过排队运行区域1,因此指令发送模块生成运行等待指令发送至移动机器人C,队列管理模块生成移动机器人C对应的通行排队消息并添加至运行等待队列队尾,也就是移动机器人A对应的通行排队消息之后。当移动机器人B通过排队运行区域1时,队列管理模块从运行等待队列中删除移动机器人B对应的通行排队消息,此时运行等待队列的首个通行排队消息为移动机器人A对应的通行排队消息,指令发送模块确定移动机器人A对应的通行排队消息为运行执行消息,生成运行执行指令发送至移动机器人A,移动机器人A接收运行执行指令后开始运行通过排队运行区域1。
[0064] 本实施例的技术方案,通过搭建包括机器人调度服务器和至少两个移动机器人的移动机器人调度系统,在移动机器人进入定位区时,向机器人调度服务器发送运行通过申请,运行通过申请包括定位区编码;机器人调度服务器接收运行通过申请,根据定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并至移动机器人,运行执行指令包括运行等待指令和运行通过指令;移动机器人接收并执行运行执行指令,解决了移动机器人在运行到特殊场景时,由于存在视觉盲区导致容易发生碰撞的问题,实现了合理调度移动机器人,使机器人在复杂环境中有序通过,提高了机器人运行安全性的效果。
[0065] 实施例二
[0066] 图3是本发明实施例二提供的一种移动机器人调度方法的流程图,本实施例可适用于合理调度移动机器人运行的情况,该方法可以适用于移动机器人调度系统,该系统可以通过软件和/或硬件实现。
[0067] 如图3所示,该方法具体包括如下步骤:
[0068] 步骤310、移动机器人在进入定位区时,向机器人调度服务器发送运行通过申请,运行通过申请包括定位区编码。
[0069] 具体的,可以在移动机器人工作的走廊出入口设置定位区,当移动机器人在进入定位区时,可以向机器人调度服务器发送运行通过申请。在设置定位区时,可以对定位区进行编码,每个定位区都与一个定位区编码对应。移动机器人发送的运行通过申请中可以包括移动机器人当前所在的定位区的定位区编码。
[0070] 步骤320、机器人调度服务器接收运行通过申请,根据定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并发送至移动机器人,运行执行指令包括运行等待指令和运行通过指令。
[0071] 具体的,在设置定位区时,还可以设置排队运行区域,排队运行区域可以是走廊拐角区域。同时,还可以将定位区与排队运行区域建立关联关系。一般情况下,可以将相邻的定位区与排队运行区域建立关联关系。当机器人调度服务器接收到运行通过申请时,可以查找运行通过申请中的定位区编码关联的排队运行区域,并确定该排队运行区域的区域运行状态,并且根据区域运行状态形成对应的运行执行指令发送至移动机器人。也就是说,如果排队运行区域中有其他移动机器人正在运行,就生成运行等待指令发送至正在定位区的移动机器人;如果排队运行区域中没有其他移动机器人,就生成运行通过指令发送至正在定位区的移动机器人。
[0072] 可选的,步骤320可以通过以下步骤实现:
[0073] S1、机器人调度服务器接收移动机器人发送的运行通过申请,根据运行通过申请中的定位区编码确定关联的排队运行区域;
[0074] S2、获取当前时刻排队运行区域的运行等待队列,根据运行等待队列的缓存情况确定区域运行状态,其中,运行等待队列的缓存为空时,区域运行状态为空闲,运行等待队列的缓存非空时,区域运行状态为拥堵;
[0075] S3、当排队运行区域空闲时,生成运行通过指令并发送至移动机器人;当排队运行区域拥堵时,生成运行等待指令发送至移动机器人。
[0076] 可选的,该方法还可以包括:当区域运行状态为拥堵时,机器人调度服务器生成移动机器人对应的通行排队消息并添加至运行等待队列。
[0077] 可选的,该方法还可以包括:机器人调度服务器确定运行等待队列的首个通行排队消息为运行执行消息,基于运行执行消息生成运行执行指令,并发送至运行执行消息对应的移动机器人。
[0078] 可选的,该方法还可以包括:移动机器人在通过排队运行区域时向机器人调度服务器发送运行通过消息;相应的,机器人调度服务器在接收运行通过消息后,从运行等待队列中删除移动机器人对应的通行排队消息。
[0079] 步骤330、移动机器人接收并执行运行执行指令。
[0080] 具体的,如果移动机器人接收到的是运行等待指令,则在定位区进行等待;如果移动机器人接收到的是运行通过指令,则运行通过排队运行区域。
[0081] 本实施例的技术方案,适用于移动机器人调度系统,在移动机器人进入定位区时,向机器人调度服务器发送运行通过申请,运行通过申请包括定位区编码;机器人调度服务器接收运行通过申请,根据定位区编码关联的排队运行区域的区域运行状态,确定运行执行指令并至移动机器人,运行执行指令包括运行等待指令和运行通过指令;移动机器人接收并执行运行执行指令,解决了移动机器人在运行到特殊场景时,由于存在视觉盲区导致容易发生碰撞的问题,实现了合理调度移动机器人,使机器人在复杂环境中有序通过,提高了机器人运行安全性的效果。
[0082] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。