机器人任务分配方法、装置、机器人系统及存储介质与流程

文档序号:30390652发布日期:2022-06-11 15:21阅读:238来源:国知局
机器人任务分配方法、装置、机器人系统及存储介质与流程

1.本技术涉及机器人技术领域,尤其涉及一种机器人的任务分配方法、装置、机器人系统及计算机存储介质。


背景技术:

2.现有的多机器人任务分配方法通常是基于预设的规则,按照时间顺序对任务进行分配,并按照时间先后顺序执行任务,例如将单台机器人的算法和时间窗原理相结合来分配任务并规划路径,在已规划机器人路径的基础上,继续对下一台机器人进行任务分配。然而,这种传统的基于时间窗的任务分配方法,没有考虑到货物重量或者路径拥堵对任务执行的影响,灵活性较差,无法适应高动态场景下的多任务分配。


技术实现要素:

3.本技术提供一种机器人的任务分配方法、装置、机器人系统及计算机存储介质,以解决现有机器人任务分配方法灵活性差、无法适应高动态场景下的多任务分配的问题。
4.第一方面,本技术提供一种机器人任务分配方法,所述方法包括:
5.获取多个待分配任务;
6.基于收益确定规则,确定各所述待分配任务的收益信息;
7.基于代价确定规则,确定多个机器人各自执行所述待分配任务的任务代价;
8.基于预设的目标函数,根据所述收益信息和所述任务代价,将所述多个待分配任务分配给所述多个机器人。
9.第二方面,本技术还提供一种机器人任务分配装置,所述机器人任务分配装置包括处理器和存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如上述所述的机器人任务分配方法。
10.第三方面,本技术还提供一种机器人系统,所述机器人系统包括若干机器人以及如上述所述的机器人任务分配装置。
11.第四方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质被一个或多个处理器执行时,使得一个或多个处理器执行如上述所述的机器人任务分配方法的步骤。
12.本技术描述的机器人任务分配方法中,机器人能够获取多个待分配任务;基于收益确定规则,确定各所述待分配任务的收益信息;基于代价确定规则,确定多个机器人各自执行所述待分配任务的任务代价;基于预设的目标函数,根据所述收益信息和所述任务代价,将所述多个待分配任务分配给所述多个机器人。实现了基于机器人执行任务的代价和任务对应的收益合理分配任务,提高了任务分配的灵活性和合理性。
附图说明
13.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的
附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1为本技术一个实施例提供的机器人系统的框图示意图;
15.图2为本技术一个实施例提供的一种机器人任务分配方法的流程示意图;
16.图3为本技术一个实施例提供的一种机器人任务分配方法的流程示意图;
17.图4为本技术一个实施例提供的机器人任务分配装置的结构示意性框图。
具体实施方式
18.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
20.本技术的实施例提供了一种机器人任务分配方法、装置、机器人系统及计算机存储介质,以提高多机器人任务分配的灵活性和合理性。
21.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
22.请参阅图1,图1为本技术一个实施例提供的机器人系统的框图示意图。
23.具体地,该机器人系统包含有若干机器人以及机器人任务分配装置。所述机器人任务分配装置能够获取多个待分配任务,例如获取多个待分配任务的任务起点、任务终点以及对应的货物重量、货物形状等,以便接收该任务的机器人将货物由任务起点运输至任务终点;所述机器人任务分配装置还能够根据预设的机器人任务分配方法向若干机器人分配所述待分配任务。
24.如图1所示,在本技术所对应的机器人系统中,该机器人系统100包括若干机器人,如第一机器人101、第二机器人102、
……
、第n机器人10n,以及机器人任务分配装置10,机器人任务分配装置10可以设置在其中至少一个机器人上,或者也可以为机器人之外的独立设备,且机器人任务分配装置10能够与所述若干机器人进行通信,包括直接通信连接或者通过服务器等进行通信。
25.机器人任务分配装置10通过计算各待分配任务的收益信息以及多个机器人各自执行所述待分配任务的任务代价,基于预设的目标函数,确定各个机器人对应的待分配任务。
26.请参照图2,图2为本技术一个实施例提供的一种机器人任务分配方法的流程示意图。
27.如图2所示,该机器人任务分配方法包括步骤s201-步骤s204。
28.步骤s201、获取多个待分配任务。
29.示例性的,基于实际应用中通过机器人对货物进行运输等需求,预设多个待分配任务,例如将货物由预设的任务起点运输至相应的任务终点。具体地,所述任务起点为货物
的所在位置,例如存放位置等。
30.示例性的,获取所述待分配任务的同时,获取所述待分配任务对应的货物信息,所述货物信息例如可以包括所述待分配任务中货物的重量和/或形状,以便根据所述货物信息中的重量和/或形状确定所述待分配任务的收益信息。
31.步骤s202、基于收益确定规则,确定各所述待分配任务的收益信息。
32.示例性的,所述收益信息用于描述各所述待分配任务的价值,例如通过所述待分配任务的难易程度确定所述收益信息,执行所述待分配任务的难度越大,则所述待分配任务对应的收益值越大。
33.在一些实施方式中,所述基于收益确定规则,确定各所述待分配任务的收益信息,包括:根据所述待分配任务中货物的重量和/或形状,确定所述待分配任务的收益信息。
34.示例性的,货物的重量和形状均能够反映搬运货物的难易程度,而任务的价值可以根据搬运货物的难易程度确定。具体地,货物的重量越大,搬运货物的难度越大,可以根据货物的重量确定所述收益信息,即货物的重量越大,则待分配任务对应的收益值越大;货物的形状越不规则,搬运货物的难度越大,也可以根据货物的形状确定所述收益信息,即形状不规则、无把手的货物对应的收益值较大,形状规则、有把手的货物对应的收益值较小。
35.示例性的,可以预先对不同形状的货物设置对应的形状数值。例如针对形状不规则、无把手的货物设置较大的形状数值,针对形状规则、有把手的货物设置较小的形状数值,在此不做限定。
36.示例性的,可以根据以下公式确定待分配任务的收益信息:
37.vj=αwj+βvj38.其中,vj表示待分配任务tj对应的收益值,wj表示待分配任务tj需要搬运的货物对应的重量,α表示重量系数,vj表示待分配任务tj需要搬运的货物对应的形状数值,β表示形状系数。具体地,α和β可以根据实际需求确定,例如重量系数α可以设置为1.5,形状系数β可以设置为0.5,当然也不限于此,α和β也可以是其他数值,在此不做限定。
39.通过待分配任务中货物的重量和/或形状确定所述待分配任务的收益信息,对机器人执行所述待分配任务的难度进行量化,以便后续根据所述收益信息更合理地对所述待分配任务进行分配。
40.步骤s203、基于代价确定规则,确定多个机器人各自执行所述待分配任务的任务代价。
41.示例性的,由于多个机器人各自执行所述待分配任务的任务路径不同,不同任务路径对应的路径长度和路径拥堵信息也不同,导致多个机器人各自执行所述待分配任务所需的时间不同。
42.示例性的,所述任务代价用于反映多个机器人各自执行所述待分配任务所需的时间。
43.在一些实施方式中,所述基于代价确定规则,确定多个机器人各自执行所述待分配任务的任务代价,包括:根据各机器人执行所述待分配任务的预估耗时和路径拥堵信息,确定所述任务代价。
44.示例性的,多个机器人各自执行所述待分配任务所需的时间包括机器人在任务路径行进产生的预估耗时,以及由于路径拥堵造成的等待耗时。
45.在一些实施方式中,根据各机器人执行所述待分配任务的预估耗时和路径拥堵信息,确定所述任务代价,包括:根据各机器人当前位置、任务起点和任务终点,确定任务路径;根据所述任务路径的路径长度,确定所述预估耗时。
46.示例性的,基于预设的路径规划算法,根据各机器人当前位置、任务起点和任务终点,确定任务路径。可以理解的,基于所述路径规划算法可以确定至少一条任务路径。所述路径规划算法例如可以是dijkstra算法、a*算法或者其他能够根据机器人当前位置、任务起点和任务终点确定任务路径的算法,此处不做具体赘述。
47.示例性的,根据所述任务路径的路径长度以及机器人的行进速度,确定所述预估耗时,例如可以是通过所述路径长度除以所述行进速度得到所述预估耗时。具体地,所述行进速度例如可以是机器人的平均速度,在此不做限定。
48.在一些实施方式中,根据各机器人执行所述待分配任务的预估耗时和路径拥堵信息,确定所述任务代价,还包括:根据所述任务路径中其他机器人的行进信息,确定所述任务路径拥堵信息。
49.示例性的,所述其他机器人是指任务路径中除目标机器人以外的机器人。具体地,所述目标机器人是指当前计算任务代价的机器人。可以理解的,所述其他机器人包括候选机器人和非候选机器人,所述候选机器人是指接受待分配任务的机器人。
50.示例性的,根据机器人在所述任务路径中的位置,能够将机器人的运行路径中的子路径分别确定为待执行路径、执行中路径和已执行路径,具体地,待执行路径为机器人将要行进的子路径,执行中路径为机器人正在行进的子路径,已执行路径为机器人已经走过的路径。示例性的,所述其他机器人的行进信息包括:各子路径中的待执行路径数量、执行中路径数量和已执行路径数量。
51.示例性的,各子路径中的待执行路径数量、执行中路径数量和已执行路径数量分别对应各自的权重,以表示任务路径对应的各子路径上的待执行路径数量、执行中路径数量和已执行路径数量对行进时长造成的影响。例如待执行路径数量对应的权重为1.5,执行中路径数量对应的权重为1,已执行路径数量对应的权重为0,当然也不限于此。
52.对待执行路径数量、执行中路径数量和已执行路径数量分别设置权重,以便更真实地反映所述任务路径上不同状态的行进对机器人执行任务造成的影响,有利于更加合理地进行任务分配。
53.在一些实施方式中,根据所述任务路径中其他机器人的行进信息,确定所述任务路径拥堵信息,包括:获取表示机器人行进信息的有向加权图,根据所述有向加权图中各子路径上的待执行路径数量、执行中路径数量和已执行路径数量,确定所述任务路径的拥堵信息。
54.示例性的,根据机器人所处环境的实际情况,基于机器人所处环境的拓扑地图,设置用于表示机器人行进信息的有向加权图。例如,所述任务分配装置通过与当前环境中的多个机器人进行通信,确定各机器人对应的待执行路径、执行中路径和已执行路径,进而确定所述拓扑地图中各子路径对应的待执行路径数量、执行中路径数量和已执行路径数量。
55.示例性的,可以通过以下公式确定机器人ri执行待分配任务tj的任务代价:
56.57.其中,表示机器人ri执行待分配任务tj的任务代价,表示根据机器人ri的位置和待分配任务tj的位置确定的预估耗时,∑c
planned
表示所述任务路径上的待执行路径数量,a表示待执行路径数量对应的权重,∑c
running
表示所述任务路径上的执行中路径数量,b表示执行中路径数量对应的权重,∑c
executed
表示所述任务路径上的已执行路径数量,c表示已执行路径数量对应的权重。
58.在一些实施方式中,考虑到机器人由于载有货物对执行所述待分配任务所需的时间造成的影响,可以添加影响因子δ,通过以下公式确定机器人ri执行待分配任务tj的任务代价:
[0059]059][0060]
示例性的,添加影响因子δ可以使任务代价更加实际地反映执行所述待分配任务所需的时间,提高任务分配的合理性。
[0061]
示例性的,δ的大小可以根据实际需求设置,例如可以将δ设置为0.2,当然也不限于此。
[0062]
根据各机器人执行所述待分配任务的预估耗时和路径拥堵信息确定所述任务代价,不仅考虑到了机器人行进花费的时间,还考虑到了任务路径上的拥堵对机器人行进的影响,提高了任务分配的合理性。
[0063]
步骤s204、基于预设的目标函数,根据所述收益信息和所述任务代价,将所述多个待分配任务分配给所述多个机器人。
[0064]
示例性的,通过x
ij
表示是否将待分配任务tj分配给机器人ri。具体地,若x
ij
=1,表示将待分配任务tj分配给机器人ri;若x
ij
=0,表示不将待分配任务tj分配给机器人ri。
[0065][0066]
可以理解的,一个待分配任务只能被分配给一个机器人。
[0067]
请参阅图3,图3为本技术一个实施例提供的一种机器人任务分配方法的流程示意图。
[0068]
在一些实施方式中,如图3所示,步骤s204、基于预设的目标函数,根据所述收益信息和所述任务代价,将所述多个待分配任务分配给所述多个机器人,包括:步骤s2041、根据所述收益信息与所述任务代价的差值,确定各机器人执行所述待分配任务的相对收益;步骤s2042、基于所述目标函数,根据各机器人执行所述待分配任务的所述相对收益,确定各机器人对应的待分配任务。
[0069]
示例性的,可以根据以下公式确定机器人ri执行待分配任务tj的相对收益:
[0070][0071]
其中,p
ij
表示机器人ri执行待分配任务tj的相对收益,vj表示待分配任务tj对应的收益信息,表示机器人ri执行待分配任务tj的任务代价。
[0072]
示例性的,根据将m个待分配任务t={t1,t2,...,tm}分配给n个机器人r={r1,r2,...,rn}的总收益,将所述m个待分配任务分配给所述n个机器人的目标函数,可以表示为:
[0073][0074]
具体地,通过确定n个机器人r={r1,r2,...,rn}执行m个待分配任务t={t1,t2,...,tm}得到的相对收益最大时各个x
ij
对应的值,确定各机器人对应的待分配任务,将所述多个待分配任务分配给所述多个机器人。
[0075]
示例性的,可以通过牛顿迭代法、列文伯格-马纳尔特方法等非线性优化问题的求解方法确定x
ij
的值,此处不做具体赘述。
[0076]
在上述描述的机器人任务分配方法、装置、机器人系统以及存储介质中,能够基于预设的目标函数,根据不同任务的收益信息和多个机器人各自执行所述待分配任务的任务代价,将多个待分配任务分配给所述多个机器人,提高了机器人任务分配的合理性和灵活性。
[0077]
如图4所示,图4为本技术一个实施例提供的机器人任务分配装置的结构示意性框图。
[0078]
该机器人任务分配装置10包括存储器11和处理器12,处理器11和存储器12通过系统总线13连接,其中,存储器11可以包括非易失性存储介质和内存储器。
[0079]
非易失性存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器11执行任意一种机器人任务分配方法。
[0080]
处理器12用于提供计算和控制能力,支撑整个云端服务器的运行。
[0081]
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一机器人任务分配方法。
[0082]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0083]
应当理解的是,处理器12可以是中央处理单元(central processing unit,cpu),该处理器12还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器12可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0084]
其中,在一个实施例中,所述存储器中存储有计算机程序,计算机程序被处理器12执行时,使得处理器执行所述计算机程序时实现以下步骤:
[0085]
获取多个待分配任务;
[0086]
基于收益确定规则,确定各所述待分配任务的收益信息;
[0087]
基于代价确定规则,确定多个机器人各自执行所述待分配任务的任务代价;
[0088]
基于预设的目标函数,根据所述收益信息和所述任务代价,将所述多个待分配任
务分配给所述多个机器人。
[0089]
在一个实施例中,所述处理器执行所述基于收益确定规则,确定各所述待分配任务的收益信息时,还实现以下步骤:
[0090]
根据所述待分配任务中货物的重量和/或形状,确定所述待分配任务的收益信息。
[0091]
在一个实施例中,所述处理器执行所述基于代价确定规则,确定多个机器人各自执行所述待分配任务的任务代价时,还实现以下步骤:
[0092]
根据各机器人执行所述待分配任务的预估耗时和路径拥堵信息,确定所述任务代价。
[0093]
在一个实施例中,所述处理器执行所述根据各机器人执行所述待分配任务的预估耗时和路径拥堵信息,确定所述任务代价时,还实现以下步骤:
[0094]
根据各机器人当前位置、任务起点和任务终点,确定任务路径;
[0095]
根据所述任务路径的路径长度,确定所述预估耗时。
[0096]
在一个实施例中,所述处理器执行所述根据各机器人执行所述待分配任务的预估耗时和路径拥堵信息,确定所述任务代价时,还实现以下步骤:
[0097]
根据所述任务路径中其他机器人的行进信息,确定所述任务路径拥堵信息。
[0098]
在一个实施例中,所述处理器执行所述根据所述任务路径中其他机器人的行进信息,确定所述任务路径拥堵信息时,还实现以下步骤:
[0099]
获取表示机器人行进信息的有向加权图,根据所述有向加权图中各子路径上的待执行路径数量、执行中路径数量和已执行路径数量,确定所述任务路径的拥堵信息。
[0100]
在一个实施例中,所述处理器执行所述基于预设的目标函数,根据所述收益信息和所述任务代价,将所述多个待分配任务分配给所述多个机器人时,还实现以下步骤:
[0101]
根据所述收益信息与所述任务代价的差值,确定各机器人执行所述待分配任务的相对收益;
[0102]
基于所述目标函数,根据各机器人执行所述待分配任务的所述相对收益,确定各机器人对应的待分配任务。
[0103]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述数据处理的具体工作过程,可以参考前述机器人任务分配方法实施例中的对应过程,在此不再赘述。
[0104]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术数据处理方法的各个实施例。
[0105]
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0106]
应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0107]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关
联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0108]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1