掌桥专利:专业的专利平台
掌桥专利
首页

机器人调度方法及装置、电子设备、存储介质

文献发布时间:2023-06-19 18:37:28


机器人调度方法及装置、电子设备、存储介质

技术领域

本申请涉及机器人调度技术领域,特别涉及一种机器人调度方法及装置、电子设备、计算机可读存储介质。

背景技术

随着机器人技术的发展,各类机器人被广泛应用于各个领域。在一些场景(比如:“新零售”线下餐厅、仓库等),可由机器人实现商品、货物的配送任务。机器人在工作场所运动过程中,可能需要穿过一些窄道,如果存在多个机器人,在穿过窄道时可能会相互发生碰撞,而产生安全性问题。

发明内容

本申请实施例的目的在于提供一种机器人调度方法及装置、电子设备、计算机可读存储介质,用于调度机器人的在窄道通行,避免多个机器人在穿过窄道时发生碰撞。

一方面,本申请提供了一种机器人调度方法,包括:

获取目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定每一机器人在所述目标区域待穿过的窄道;其中,所述目标区域包括至少一个窄道;

针对每一窄道,生成所述窄道对应的机器人组;其中,所述机器人组包括穿过所述窄道的若干机器人;

针对每一机器人组,分别为所述机器人组内各个机器人配置不同的优先级;

针对每一窄道,控制所述窄道对应的机器人组中,各个机器人依据优先级顺序,穿过所述窄道。

在一实施例中,所述通行意图信息包括机器人的位置信息;

所述获取目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定每一机器人在所述目标区域待穿过的窄道,包括:

获取所述目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定所述目标区域内每一窄道周边区域的机器人;

针对每一窄道,根据周边区域的机器人的通行意图信息,确定所述窄道是否为周边区域的机器人待穿过的窄道。

在一实施例中,所述获取目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定每一机器人在所述目标区域待穿过的窄道,包括:

周期性获取所述目标区域内多个机器人的通行意图信息,并根据多个机器人在当前周期的通行意图信息,确定每一机器人的当前周期内待穿过的窄道。

在一实施例中,所述分别为所述机器人组内各个机器人配置不同的优先级,包括:

确定所述机器人组内每一机器人与所述机器人组对应窄道的距离;

根据每一机器人对应距离的大小顺序,分别为每一机器人配置相应的优先级;其中,距离越大,优先级越低。

在一实施例中,所述分别为所述机器人组内各个机器人配置不同的优先级,包括:

确定所述机器人组内每一机器人所配送物品对应的需求优先级;

根据所述需求优先级的高低顺序,分别为每一机器人配置相应的优先级;其中,需求优先级越高,优先级越高。

在一实施例中,所述确定所述机器人组内每一机器人所配送物品对应的需求优先级,包括:

确定所述机器人组内每一机器人所配送物品对应的被催次数和/或等待时长;

根据每一机器人所配送物品对应的被催次数和/或等待时长,换算出相应的需求优先级。

在一实施例中,所述控制所述窄道对应的机器人组中,各个机器人依据优先级顺序,穿过所述窄道,包括:

根据所述机器人组中每一机器人的通行意图信息,确定每一机器人在所述窄道的通行方向;

控制各个机器人依据优先级顺序,穿过所述窄道;其中,在控制所述机器人穿过所述窄道的情况下,判断所述机器人是否与前一机器人的通行方向相同,若是,在控制前一机器人进入所述窄道后,控制所述机器人穿过所述窄道;若否,在控制前一机器人穿过所述窄道后,控制所述机器人穿过所述窄道。

另一方面,本申请提供了一种机器人调度装置,包括:

获取模块,用于获取目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定每一机器人在所述目标区域待穿过的窄道;其中,所述目标区域包括至少一个窄道;

生成模块,用于针对每一窄道,生成所述窄道对应的机器人组;其中,所述机器人组包括穿过所述窄道的若干机器人;

配置模块,用于针对每一机器人组,分别为所述机器人组内各个机器人配置不同的优先级;

控制模块,用于针对每一窄道,控制所述窄道对应的机器人组中,各个机器人依据优先级顺序,穿过所述窄道。

进一步的,本申请提供了一种电子设备,所述电子设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述机器人调度方法。

此外,本申请提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述机器人调度方法。

本申请方案,通过分析多个机器人的通行意图信息,从而确定需要通过同一窄道的多个机器人,并为多个机器人分别配置不同的优先级,从而可以根据优先级顺序,调度机器人先后穿过窄道,从而避免多个机器人在窄道中同时通行的过程中发生碰撞。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。

图1为本申请一实施例提供的机器人调度方法的应用场景示意图;

图2为本申请一实施例提供的电子设备的结构示意图;

图3为本申请一实施例提供的机器人调度方法的流程示意图;

图4为本申请一实施例提供的机器人调度装置的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1为本申请实施例提供的机器人调度方法的应用场景示意图。如图1所示,该应用场景包括机器人20和服务端30;机器人20可以向服务端30发送自身的通行意图信息;服务端30可以是服务器、服务器集群或云计算中心,可以响应于依据多个机器人的通行意图信息调度机器人先后穿过同一窄道。

如图2所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图2中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是上述服务端30,用于执行机器人调度方法。

存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本申请提供的机器人调度方法。

参见图3,为本申请一实施例提供的机器人调度方法的流程示意图,如图3所示,该方法可以包括以下步骤310-步骤340。

步骤310:获取目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定每一机器人在目标区域待穿过的窄道;其中,目标区域包括至少一个窄道。

目标区域为机器人运动场景的区域。示例性的,如果需要对仓库内机器人的运动情况进行调度,则目标区域为仓库。或者,如果需要对餐厅内机器人的运动情况进行调度,则目标区域为餐厅。

本申请方案可以应用于与目标区域内机器人通过网络通信方式对接的服务端,服务端可以每一机器人进行通信,从而及时获取各个机器人的通行意图信息。这里,通行意图信息用于指示机器人在通行意图,该通信意图可以包括机器人的运动路径、当前位置和目的地等。服务端可以借助通行意图信息,确定机器人在运动过程中待穿过的窄道。或者,通信意图信息直接包括机器人待穿过的窄道,服务端可以从中解析出该待穿过的窄道。

本申请中的窄道,可以是宽度较小(不大于机器人机身宽度的两倍)的过道。

步骤320:针对每一窄道,生成窄道对应的机器人组;其中,机器人组包括穿过窄道的若干机器人。

在确定各个机器人待穿过的窄道后,按照各个窄道进行划分,得到该窄道对应的若干需要穿过该窄道的机器人。针对每一窄道,服务端可以将该窄道对应的若干机器人作为一个机器人组。示例性的,目标区域存在3个窄道,每个窄道均有多个需要通过的机器人,可以构建3个机器人组。

步骤330:针对每一机器人组,分别为机器人组内各个机器人配置不同的优先级。

对于任一机器人组,服务端可以为组内各机器人分配配置不同的优先级,该优先级表征机器人穿过窄道的优先顺序。任一机器人的优先级仅对机器人组内其它机器人有效,而对其它机器人组内的机器人无效。示例性的,机器人需要通过第一个窄道和第二个窄道,则机器人在第一个窄道对应的机器人组中有一个优先级,在第二个窄道对应的机器人组中有另一个优先级,两者并不相同。

步骤340:针对每一窄道,控制窄道对应的机器人组中,各个机器人依据优先级顺序,穿过窄道。

服务端可以依据每一窄道对应机器人组中各个机器人对应的优先级,确定优先级顺序,从而控制各个机器人先后穿过窄道。这里,优先级顺序即为优先级从大到小的顺序。

通过上述措施,各个机器人接受调度,按照优先级顺序先后通过窄道,可以避免在窄道内因发生碰撞导致的安全性问题,同时提高了机器人的整体运行效率。

在一实施例中,通行意图信息包括机器人的位置信息,该位置信息指示机器人在目标区域中的位置,可以通过在目标区域所在二维坐标系中的坐标来表示。在根据机器人的通行意图信息确定各个机器人待穿过的窄道时,机器人可以获取目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定目标区域内每一窄道周边区域的机器人。

服务端上可以预配置目标区域内各个窄道的窄道位置信息,并可以根据周边区域的划分方式,确定周边区域的位置范围。比如:可以将窄道两端入口两米以内的区域作为周边区域。

服务端可以比对机器人的位置信息和窄道周边区域的位置范围,从而确定位于窄道周边区域内的机器人。

针对每一窄道,在确定该窄道周边区域内的机器人之后,服务端可以根据该周边区域的机器人的通行意图信息,确定窄道是否为周边区域的机器人待穿过的窄道。

通过上述措施,在为每一窄道确定需穿过该窄道的机器人时,仅从窄道周边区域的机器人进行筛选,而周边区域的机器人是最有可能、且可以最快速通过窄道的机器人,因此,通过筛选可以保证后续调度机器人穿过窄道的整体效率最大化,并可降低调度过程中服务端的计算量。

在一实施例中,在根据机器人的通行意图信息确定各个机器人待穿过的窄道时,服务端可以周期性获取目标区域内多个机器人的通行意图信息。这里,周期时长可以根据经验预配置,示例性的,服务端可以每隔1分钟获取目标区域内多个机器人的通行意图信息。这种情况下,各机器人的通行意图信息可以是短期内的通行意图信息,换而言之,通行意图信息是下一个周期时长指示时间段内(当前周期)的通行意图信息。

服务端可以根据多个机器人在当前周期的通行意图信息,确定每一机器人的当前周期内待穿过的窄道。

通过上述措施,服务端可以周期性检查需要穿过各个窄道的机器人,从而周期性调度机器人穿过窄道,降低了调度过程中服务端的计算量,保证了机器人整体效率最大化。

在一实施例中,在为机器人组内各个机器人配置不同优先级时,服务端可以确定机器人组内每一机器人与机器人组对应窄道的距离。服务端可以根据机器人的位置信息,以及预配置的窄道的窄道位置信息,确定机器人与窄道入口的距离。这里,机器人可以实时向服务端传递自身的位置信息,或者,机器人可以通过通行意图信息向服务端传递自身的位置信息。

服务端可以将机器人组内各个机器人对应的距离按照大小进行排序,并根据每一机器人对应距离的大小顺序,分别为每一机器人配置相应的优先级。其中,距离越大,则优先级越低。

示例性的,机器人组内包括机器人1、机器人2、机器人3、机器人4和机器人5,机器人1距离窄道入口3米,机器人2距离窄道入口5米,机器人3距离窄道入口8米,机器人4距离窄道入口10米,机器人5距离窄道入口12米。相应的,为各个机器人配置的优先级为:机器人1的优先级大于机器人2的优先级,机器人2的优先级大于机器人3的优先级,机器人3的优先级大于机器人4的优先级,机器人4的优先级大于机器人5的优先级。

通过上述措施,向与窄道入口距离越近的机器人配置越高的优先级,可使后续优先调度与窄道入口近的机器人穿过窄道,从而提高机器人穿过窄道的整体运动效率。

在一实施例中,机器人所在应用场景中可能需要机器人配送物品。比如:在仓储环境中,机器人需要运送货物;在餐厅环境中,机器人需要从厨房向用餐区配送食物。这种情况下,在为机器人组内各个机器人配置不同的优先级时,服务端可以确定机器人组内每一机器人所配送物品对应的需求优先级。这里,需求优先级表示机器人所配送物品的需求优先程度。

服务端可以向机器人获取其所配送物品的各类属性信息,从而以各类属性信息确定物品的需求优先级。进一步的,服务端可以根据机器人组内各个机器人所配送物品的需求优先级的高低顺序,分别为每一机器人配置相应的优先级,换而言之,需求优先级越高,机器人的优先级越高。

通过上述措施,可以依据所配送物品的需求程度,为机器人配置优先级,使得需求程度高的物品被优先配送。

在一实施例中,物品的属性信息可以是物品对应的被催次数、等待时长中的一种或两种。这里,被催次数为在等待机器人配送物品时,接收到的针对该物品的催促次数。示例性的,在餐厅场景中,客人等餐过程中可能催促若干次,作为食物对应的被催次数。等待时长指机器人所配送物品被接收方等待的时长。示例性的,在餐厅场景中,客人下单后到机器人开始配送食物前的时长即为等待时长。

一种情况下,服务端可以根据每一机器人所配送物品对应的被催次数,换算出相应的需求优先级。这里,被催次数与需求优先级存在正相关关系,被催次数越高,则需求优先级越高。如果存在两个机器人所配送的物品的被催次数相同,服务端可以随机确定这两个物品的需求优先级大小关系。

示例性的,机器人1所配送的食物,客人催促4次;机器人2所配送的食物,客人催促3次;机器人3所配送的食物,客人催促2次;机器人4所配送的食物,客人催促1次;机器人5所配送的食物,客人催促0次。相应的,按照需求优先级从高到低的顺序,依次为:机器人1所配送的食物,机器人2所配送的食物,机器人3所配送的食物,机器人4所配送的食物,机器人5所配送的食物。

另一种情况下,服务端可以根据每一机器人所配送物品对应的等待时长,换算出相应的需求优先级。这里,等待时长与需求优先级存在正相关关系,等待时长越长,则需求优先级越高。如果存在两个机器人所配送的物品对应的等待时长相同,服务端可以随机确定这两个物品的需求优先级大小关系。

示例性的,机器人1所配送的食物,客人等待1小时;机器人2所配送的食物,客人等待半小时;机器人3所配送的食物,客人等待10分钟;机器人4所配送的食物,客人等待5分钟;机器人5所配送的食物,客人等待1分钟。相应的,按照需求优先级从高到低的顺序,依次为:机器人1所配送的食物,机器人2所配送的食物,机器人3所配送的食物,机器人4所配送的食物,机器人5所配送的食物。

另一种情况下,服务端可以根据每一机器人所配送的物品对应的被催次数和等待时长,换算出相应的需求优先级。服务端可以根据被催次数对应的第一权重和等待时长对应的第二权重,将每一物品对应的被催次数和等待时长进行加权求和,得到一个综合得分。这里,第一权重和第二权重可以根据经验进行配置。进一步的,根据机器人组内所有机器人所配送的物品的综合得分,换算出需求优先级。这里,综合得分与需求优先级存在正相关关系,综合得分越高,则需求优先级越高。如果存在两个机器人所配送的物品对应的综合得分相同,服务端可以根据被催次数或等待时长中更重要的一个属性的大小,确定这两个物品的需求优先级大小关系。这里,被催次数和等待时长的相对重要程度可以根据应用场景自行配置。

在一实施例中,在控制任一窄道对应的机器人组内各个机器人穿过窄道时,服务端可以根据机器人组中每一机器人的通行意图信息,确定每一机器人在窄道的通行方向。服务端可以依据优先级顺序,检查前后两个机器人的通行方向是否相同。示例性的,机器人组内包括5个机器人,以机器人1的通行方向为正向,机器人2的通行方向为反向,机器人3的通行方向为反向,机器人4的通行方向为正向,机器人5的通行方向为正向。这种情况下,机器人2与机器人1的通行方向不同,机器人3与机器人2的通行方向相同,机器人4与机器人3的通行方向不同,机器人5与机器人4的通行方向相同。

服务端可以在确定各个机器人的通行方向后,控制各个机器人依据优先级顺序,穿过窄道。首先,服务端可以向优先级最高的机器人发送通行指令,从而控制机器人穿过窄道。机器人在穿过窄道后,可以向服务端返回通行完成信息,使得服务端可以及时确认机器人已穿过窄道。在控制优先级最高的机器人进入窄道后,服务端可以判断优先级次一级的机器人的通行方向是否与前一机器人的通行方向相同。

一种情况下,如果机器人的通行方向与前一机器人的通行方向相同,服务端在控制前一机器人进入窄道后,无需确认前一机器人穿过窄道,即可控制该机器人穿过窄道。这种情况下,由于前后两个机器人的通行方向相同,可以同时在窄道中运动。

另一种情况下,如果机器人的通行方向与前一机器人的通行方向不同,服务端在控制前一机器人进入窄道后,需确认前一机器人穿过窄道后,才可以控制该机器人穿过窄道。这种情况下,由于前后两个机器人的通行方向相反,无法同时在窄道中运动,否则会发生碰撞和拥堵。

对于除了优先级最高的机器人以外的其它机器人,服务端均可以通过上述措施判断控制机器人进入窄道的时机,从而在能够与前一机器人同时进入窄道时,控制机器人跟在前一机器人之后进入窄道通行,在无法与前一机器人同时进入窄道时,控制机器人在前一机器人离开窄道后进入窄道通行,从而保证了机器人组内多个机器人整体通行效率的最大化。

图4是本发明一实施例的一种机器人调度装置的框图,如图4所示,该装置可以包括:

获取模块410,用于获取目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定每一机器人在所述目标区域待穿过的窄道;其中,所述目标区域包括至少一个窄道;

生成模块420,用于针对每一窄道,生成所述窄道对应的机器人组;其中,所述机器人组包括穿过所述窄道的若干机器人;

配置模块430,用于针对每一机器人组,分别为所述机器人组内各个机器人配置不同的优先级;

控制模块440,用于针对每一窄道,控制所述窄道对应的机器人组中,各个机器人依据优先级顺序,穿过所述窄道。

在一实施例中,所述通行意图信息包括机器人的位置信息;获取模块410,还用于:

获取所述目标区域内多个机器人的通行意图信息,并根据多个机器人的通行意图信息,确定所述目标区域内每一窄道周边区域的机器人;

针对每一窄道,根据周边区域的机器人的通行意图信息,确定所述窄道是否为周边区域的机器人待穿过的窄道。

在一实施例中,获取模块410,还用于:

周期性获取所述目标区域内多个机器人的通行意图信息,并根据多个机器人在当前周期的通行意图信息,确定每一机器人的当前周期内待穿过的窄道。

在一实施例中,配置模块430,还用于:

确定所述机器人组内每一机器人与所述机器人组对应窄道的距离;

根据每一机器人对应距离的大小顺序,分别为每一机器人配置相应的优先级;其中,距离越大,优先级越低。

在一实施例中,配置模块430,还用于:

确定所述机器人组内每一机器人所配送物品对应的需求优先级;

根据所述需求优先级的高低顺序,分别为每一机器人配置相应的优先级;其中,需求优先级越高,优先级越高。

在一实施例中,配置模块430,还用于:

确定所述机器人组内每一机器人所配送物品对应的被催次数和/或等待时长;

根据每一机器人所配送物品对应的被催次数和/或等待时长,换算出相应的需求优先级。

在一实施例中,控制模块440,还用于:

根据所述机器人组中每一机器人的通行意图信息,确定每一机器人在所述窄道的通行方向;

控制各个机器人依据优先级顺序,穿过所述窄道;其中,在控制所述机器人穿过所述窄道的情况下,判断所述机器人是否与前一机器人的通行方向相同,若是,在控制前一机器人进入所述窄道后,控制所述机器人穿过所述窄道;若否,在控制前一机器人穿过所述窄道后,控制所述机器人穿过所述窄道。

上述装置中各个模块的功能和作用的实现过程具体详见上述机器人调度方法中对应步骤的实现过程,在此不再赘述。

在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 电影拍摄场景的调度方法、装置、电子设备和存储介质
  • 一种任务调度方法、装置、电子设备及存储介质
  • 机器人主动问询方法、装置、电子设备及存储介质
  • 机器人控制方法、装置、电子设备和计算机可读存储介质
  • 基于机器人的随机仓储方法、装置及电子设备与存储介质
  • 机器人调度方法、系统、机器人、电子设备及存储介质
  • 机器人调度奖励方法、装置、电子设备及存储介质
技术分类

06120115630065