首页 / 专利库 / 人工智能 / 人工智能 / 机器人技术 / 机器人 / 群体机器人 / 一种基于任务分配协调策略与粒子群算法的任务分配方法

一种基于任务分配协调策略与粒子群算法的任务分配方法

阅读:151发布:2020-05-16

专利汇可以提供一种基于任务分配协调策略与粒子群算法的任务分配方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于任务分配协调策略与粒子群 算法 的任务分配方法,包括以下步骤:1)利用粒子群算法优化分配半径,得到初始分配结果;2)运用协调策略对初始分配结果进行调整,完成第一次分配;3)重复步骤1)-2),对未分配任务进行再次分配,直至任务完全分配。本发明的基于任务分配协调策略与粒子群算法的任务分配方法,将任务协调策略与粒子群算法相结合,解决复杂约束条件下仓储物流多 机器人 任务分配中常见的任务分 配重 叠、任务过 载荷 以及机器人在执行任务时电量的剩余或不足等问题。,下面是一种基于任务分配协调策略与粒子群算法的任务分配方法专利的具体信息内容。

1.一种基于任务分配协调策略与粒子群算法的任务分配方法,其特征在于,包括以下步骤:
1)利用粒子群算法优化分配半径,得到初始分配结果;
2)运用协调策略对初始分配结果进行调整,完成第一次分配;
3)重复步骤1)-2),对未分配任务进行再次分配,直至任务完全分配。
2.根据权利要求1所述的基于任务分配协调策略与粒子群算法的任务分配方法,其特征在于,步骤1)包括以下步骤:
101)根据机器人的状况设置粒子种群个数、粒子初始值和速度值,初始化POS,得到一群随机粒子;
102)将所述粒子种群个数、粒子初始值和速度值代入性能指标函数,计算函数个体极值和群体极值;
所述性能指标函数为:
式中,Si为第i个机器人所分配的任务数量,tmax为所有任务完成的时间,elei为第i个机器人完成分配任务的耗电量,ω1,ω2,ω3分别代表任务数量、完成任务所用时间、耗电量的权重系数;
103)粒子通过跟踪个体极值和群体极值来更新速度和位置值;
104)将更新后的数值代入式(11)中,重新计算性能指标函数值,更新函数值;
105)更新个体极值和群体极值;
106)重复步骤103)-105),直至性能指标函数值达到最大。
3.根据权利要求1所述的基于任务分配协调策略与粒子群算法的任务分配方法,其特征在于,步骤2)具体包括:
201)判断初始的任务分配中是否有机器人任务分配重叠,若没有任务分配重叠,转步骤203);若存在任务分配重叠,转步骤202);
202)若n个任务被m个机器人重叠分配,从[1,m]按顺序给m个机器人编号,然后产生n个[1,m]之间的随机整数,按照产生的随机数分别把n个任务分配给m个机器人,转步骤203);
203)判断第i个机器人分配的任务数是否大于机器人任务载荷上限,若第i个机器人分配的任务均小于或等于机器人任务载荷上限,转步骤205);
若第i个机器人任务数量大于机器人任务载荷,转步骤204);
204)第i个机器人所分配的任务超出最大任务载荷k个,计算第i个机器人与其所分配的任务之间欧式距离,将欧式距离机器人最远的k个任务,舍弃并标注为未分配的任务,转步骤205);
205)判断第i个机器人带电量是否大于所分配的任务所需电量,若第i个机器人带电量均大于所分配的任务所需电量,转步骤207);
若第i个机器人带电量小于其分配的任务所需电量,转步骤207);
206)以第i个机器人完成任务最多为标准,依次舍弃耗电量最多的任务直至小于机器人带电量,舍弃的任务标注为未分配,转步骤207);
207)令i=i+1,若i≤R,转步骤203);若i>R,转步骤208);
208)输出第一次分配结果。

说明书全文

一种基于任务分配协调策略与粒子群算法的任务分配方法

技术领域

[0001] 本发明属于任务分配领域,尤其是一种基于任务分配协调策略与粒子群算法的任务分配方法。

背景技术

[0002] 随着网络电商的逐渐兴起,网购已经成为人们消费的主要方式之一。传统的物流仓库已经无法满足日益增长的繁重物流任务,现代科技的发展,使得多机器人协作越来越成为仓储物流中不可或缺的一部分。多机器人协作可以代替仓库中工人完成一系列危险系数高,难度系数大的任务,不仅提高了效率,而且降低完成任务成本。仓储物流多机器人任务分配问题正成为近年来研究热点和发展方向。多机器人任务分配(multi-robot task allocation,MRTA)是指机器人在执行多个任务时,在满足各种约束条件下,为机器人找到最佳的任务分配方案,在保证机器人执行任务代价最小的情况下,能获得最大的收益。
[0003] 目前,对仓储物流多机器人任务分配的研究越来越深入,Multi-objective optimization for dynamic task allocation in a multi-robot system提出了一种解决多机器人任务分配问题的方法:使用多目标优化来估计,然后为它的任务提出报价,对时间或能量等资源有了更好地利用。Grouping delegation task allocation model for multi-robot collaboration system针对多机器人的任务分配问题,提出了一种分组委托模型,将多个机器人分为多个不同的组,从而实现多机器人的任务分配。根据机器人的特点,完成特定的任务,其他机器人可以通过协作加入协作组,当一个任务不能由组内成员完成时,可以要求组外机器人完成任务。Game theory-based negotiation for multiple robots task allocation基于博弈论的协商方法研究了多机器人的任务分配问题,基于契约网络的初始任务分配方法,提出了一种利用效用函数选择协商机器人并构造协商集的新方法。Balancing  task allocation in multi-robot systems using K-means clustering and auction based mechanism建立了一个平衡多机器人任务分配问题的数学模型,然后提出了一种分三个阶段求解该模型的方法。第一阶段使用K均值聚类技术将“n”个任务分组为“n”个任务组,目的是尽可能减小任务之间的距离,第二阶段计算机器人和集群组合的移动成本,第三阶段将机器人分配给集群,以经济有效地利用所有机器人。Gini coefficient-based task allocation for multi-robot systems with limited energy resources开发一种基于基尼系数的任务分配方法,充分利用多机器人系统有限的能量资源,使任务数量最大化。同时,在考虑资源消耗的情况下,将基于市场的分配机制引入到基于基尼系数的方法中,该方法可以根据应用环境灵活地优化任务完成数和资源消耗。A Distributed Market-based Algorithm for the Multi-robot Assignment Problem中提出了两种基于市场的分布式算法来解决N个机器人竞争N个任务的分配问题,假设每个机器人只能分配一个任务。第一种算法称为DMB,它表示一种分布式的基于市场的算法,每个机器人对每个任务进行投标。第二种算法是DMB的扩展,它包括在机器人之间交换任务,以提高整个任务的效率。Provably-Good Distributed Algorithm for Constrained Multi-Robot Task Assignment for Grouped Task提出一种分布式算法,算法是机器人数量和任务数量多项式。在这种算法中,任务构成不相交的组,并且对机器人可以执行的任务数量(包括在整个任务中以及在每个任务组中)有限制。每个机器人获得每项任务的收益(或产生成本),任务分配的总体目标是最大化(最小化)机器人的总收益(成本)。Optimal bid valuation using path finding for multi-robot task allocation提出了一种将路径规划与任务分配集成到机器人任务投标中的新方法,这种组合为路径规划提供了一个很好的替代方案,利用该模型进行评标,在不牺牲业绩的前提下计算出投标成本,在仓储物流任务分配中更加实用。

发明内容

[0004] 本发明的目的在于解决现有分配技术中任务分配重叠、任务过载荷以及机器人在执行任务时电量剩余或不足的问题,提供一种基于任务分配协调策略与粒子群算法的任务分配方法。
[0005] 为达到上述目的,本发明采用以下技术方案予以实现:
[0006] 一种基于任务分配协调策略与粒子群算法的任务分配方法,包括以下步骤:
[0007] 1)利用粒子群算法优化分配半径,得到初始分配结果;
[0008] 2)运用协调策略对初始分配结果进行调整,完成第一次分配;
[0009] 3)重复步骤1)-2),对未分配任务进行再次分配,直至任务完全分配。
[0010] 进一步的,步骤1)包括以下步骤:
[0011] 101)根据机器人的状况设置粒子种群个数、粒子初始值和速度值,初始化POS,得到一群随机粒子;
[0012] 102)将所述粒子种群个数、粒子初始值和速度值代入性能指标函数,计算函数个体极值和群体极值;
[0013] 所述性能指标函数为:
[0014]
[0015] 式中,Si为第i个机器人所分配的任务数量,tmax为所有任务完成的时间,elei为第i个机器人完成分配任务的耗电量,ω1,ω2,ω3分别代表任务数量、完成任务所用时间、耗电量的权重系数;
[0016] 103)粒子通过跟踪个体极值和群体极值来更新速度和位置值;
[0017] 104)将更新后的数值代入式(11)中,重新计算性能指标函数值,更新函数值;
[0018] 105)更新个体极值和群体极值;
[0019] 106)重复步骤103)-105),直至性能指标函数值达到最大。
[0020] 进一步的,步骤2)具体包括:
[0021] 201)判断初始的任务分配中是否有机器人任务分配重叠,若没有任务分配重叠,转步骤203);若存在任务分配重叠,转步骤202);
[0022] 202)若n个任务被m个机器人重叠分配,从[1,m]按顺序给m个机器人编号,然后产生n个[1,m]之间的随机整数,按照产生的随机数分别把n个任务分配给m个机器人,转步骤203);
[0023] 203)判断第i个机器人分配的任务数是否大于机器人任务载荷上限,若第i个机器人分配的任务均小于或等于机器人任务载荷上限,转步骤205);
[0024] 若第i个机器人任务数量大于机器人任务载荷,转步骤204);
[0025] 204)第i个机器人所分配的任务超出最大任务载荷k个,计算第i个机器人与其所分配的任务之间欧式距离,将欧式距离机器人最远的k个任务,舍弃并标注为未分配的任务,转步骤205);
[0026] 205)判断第i个机器人带电量是否大于所分配的任务所需电量,若第i个机器人带电量均大于所分配的任务所需电量,转步骤207);
[0027] 若第i个机器人带电量小于其分配的任务所需电量,转步骤207);
[0028] 206)以第i个机器人完成任务最多为标准,依次舍弃耗电量最多的任务直至小于机器人带电量,舍弃的任务标注为未分配,转步骤207);
[0029] 207)令i=i+1,若i≤R,转步骤203);若i>R,转步骤208);
[0030] 208)输出第一次分配结果。
[0031] 与现有技术相比,本发明具有以下有益效果:
[0032] 本发明的基于任务分配协调策略与粒子群算法的任务分配方法,将任务协调策略与粒子群算法相结合,解决复杂约束条件下仓储物流多机器人任务分配中常见的任务分配重叠、任务过载荷以及机器人在执行任务时电量的剩余或不足等问题,利用性能指标函数来评判任务分配方案的收益大小,通过这种任务分配方法使得任务完成数量最大,任务完成时间最短以及系统耗电量最少,所需成本最低等效益。附图说明
[0033] 图1为本发明的基于任务分配协调策略与粒子群算法的任务分配方法的流程图
[0034] 图2为基于PSO算法的多机器人任务分配结果说明图;
[0035] 图3为本发明的实施例1的第一次任务分配结果图;
[0036] 图4为本发明的实施例1的第二次任务分配结果图;
[0037] 图5为实施例1中的基本PSO算法与基于任务分配协调策略分配后的收敛曲线对比图。

具体实施方式

[0038] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0039] 需要说明的是,本发明的说明书权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0040] 根据机器人在仓储环境的智能选择,以及完成任务的方式。每个机器人需要把目标任务搬运回起始点,即为完成一次任务,再从起始点出发去搬运下一个目标任务。考虑机器人数目约束,任务完成时间约束,电量约束以及任务载荷等约束,协调每个机器人执行适合该机器人执行的任务子集,使得整个系统执行完目标任务集合中的全部任务时获得的收益最大,构建MRTA问题描述,记机器人数量为R,任务为数量为T。
[0041] 约束指标包括:
[0042] (1)机器人数目约束
[0043] 针对多机器人任务分配问题,为了凸显多机器人协作特点,考虑任务数目要远大于机器人数目,即每个机器人必须完成多个任务,且每个任务都只被一个机器人进行执行。
[0044]
[0045] 或
[0046] allo(i,j)∈{0,1}
[0047] 其中,allo(i,j)表示第i个机器人对第j个任务完成情况,1表示执行,0表示不执行。
[0048] (2)电量约束
[0049] 根据机器人的位置坐标和任务位置坐标,计算各机器人到任务之间的距离,假设单位距离耗电量为1。则第i个机器人到达第j个任务所走路程为
[0050]
[0051] 式中, 代表第i个机器人横坐标与纵坐标, 代表第j个任务横坐标与纵坐标,每个机器人需要把目标任务移动回起始点,即为完成一次任务。再从起始点出发去移动下一个目标任务,故第i个机器人完成第j个目标任务所耗电量为
[0052] eleij=2*dij  (3)
[0053] 第i个机器人完成k个任务所耗电量为
[0054]
[0055] 为确保第i个机器人有足够的电量完成任务,要求自身携带电量足够返回起始点,可以表示为
[0056] rie≥elei  (5)
[0057] (3)任务完成时间约束
[0058] 机器人完成所有任务的时间为任务完成时间。机器人行走单位距离所用时间也设为1,在分配完任务后所有机器人同时执行。计算每个机器人完成自己所分配的任务时行走的距离,取最大值即为任务完成时间。
[0059] 第i个机器人到达第j个任务所走路程为:
[0060]
[0061] 故第i个机器人完成第j个目标任务所用时间为:
[0062] tij=2*dij  (7)
[0063] 第i个机器人完成k个任务所用时间为:
[0064]
[0065] 所有分配任务完成的时间为:
[0066] tmax=max{t1,t2,t3…tR}  (9)
[0067] (4)任务载荷约束
[0068] 为了提高任务完成效率,每个机器人在一次任务分配中分配到的任务需要限制在一定范围内,定义每个机器人在一次任务分配中分配到的任务数量为任务载荷,任务载荷约束可以表示为:
[0069] r_Ti1≤r_Ri≤r_Ti2  (10)
[0070] 式中,r_Ti1代表机器人任务载荷下限,r_Ti2代表机器人任务载荷上限,r_Ri代表机器人实际任务载荷。
[0071] 性能指标函数是用来评判任务分配方案的收益大小。仓储物流多机器人任务分配是一个多目标优化问题,包含优化任务完成数量最大,任务完成时间最短以及系统耗电量最少等目标。为此,本文采用线性加权法将仓储物流任务分配的多目标优化问题转化为单目标优化问题进行求解,目标函数由完成任务数量、完成任务时间及系统耗电量构成。因此,可用权重向量ω=(ω1,ω2,ω3)来表示仓储物流多机器人在执行任务时的完成任务数量、完成任务时间、系统耗电量对任务分配的不同影响程度,且满足ωi∈(0,1),且这样仓储物流任务分配可以转换成针对完成任务数量、完成任务时间、系统耗电量进行处理,即要求完成任务数量最多,完成任务时间最短,系统耗电量最少。性能指标函数如下:
[0072]
[0073] 式中,ω1,ω2,ω3分别代表任务数量、完成任务所用时间、耗电量的权重系数,Si表示第i个机器人所分配的任务数量,tmax表示所有任务完成的时间,elei代表第i个机器人完成分配任务的耗电量。
[0074] 下面结合附图对本发明做进一步详细描述:
[0075] 参见图1,图1为本发明的基于任务分配协调策略与粒子群算法的任务分配方法的流程图,包括以下步骤:
[0076] 1)初始化参数,并设i=1,R为机器人个数,PSO算法通过优化模型进行初始任务分配;
[0077] 201)判断初始的任务分配中是否有机器人任务分配重叠,若没有任务分配重叠,转步骤203);若存在任务分配重叠,转步骤202);
[0078] 202)若n个任务被m个机器人重叠分配,从[1,m]按顺序给m个机器人编号,然后产生n个[1,m]之间的随机整数,按照产生的随机数分别把n个任务分配给m个机器人,转步骤203);
[0079] 203)判断第i个机器人分配的任务数是否大于机器人任务载荷上限,若第i个机器人分配的任务均小于或等于机器人任务载荷上限,转步骤205);
[0080] 若第i个机器人任务数量大于机器人任务载荷,转步骤204);
[0081] 204)第i个机器人所分配的任务超出最大任务载荷k个,计算第i个机器人与其所分配的任务之间欧式距离,将欧式距离机器人最远的k个任务,舍弃并标注为未分配的任务,转步骤205);
[0082] 205)判断第i个机器人带电量是否大于所分配的任务所需电量,若第i个机器人带电量均大于所分配的任务所需电量,转步骤207);
[0083] 若第i个机器人带电量小于其分配的任务所需电量,转步骤207);
[0084] 206)以第i个机器人完成任务最多为标准,依次舍弃耗电量最多的任务直至小于机器人带电量,舍弃的任务标注为未分配,转步骤207);
[0085] 207)令i=i+1,若i≤R,转步骤203);若i>R,转步骤208);
[0086] 208)输出第一次分配结果;
[0087] 实施例1
[0088] 本文仿真实验环境在Windows操作系统上,基于Matlab2014a环境实现算法的仿真实验。PC机配置为Inter(R)Core-i5-6500@3.2GHz处理器,4G内存。
[0089] S1.利用粒子群算法优化分配半径,得到初始分配结果,具体操作如下:
[0090] 环境为某物流仓库,有同构机器人4个,表1为各个机器人性能参数,周围随机散落12个任务,即R=4,T=12,设置粒子群数为10,学习因子c1=c2=2,ω0=0.2,V0=0.5,速度范围[0,1],性能指标函数式(11)中设置ω1=0.7,ω2=0.2,ω3=0.1。并且所有机器人单位路程耗电量均为1,机器人坐标:R1(4,10),R2(5,40),R3(70,60),R4(20,90);任务坐标:T1(10,20),T2(13,29),T3(20,50),T4(30,30),T5(20,60),T6(40,90),T7(20,10),T8(38,20),T9(80,30),T10(30,100),T11(14,70),T12(45,20)。
[0091] 初始分配结果参见图2,x轴、y轴为机器人及任务所在坐标系,设置迭代运行次数为50次,用叉号代表机器人,菱形代表任务,以Ri为圆心画圆,圆内任务即为Ri所分配的任务,不在圆圈中的菱形表示未被分配的任务。
[0092] 表1机器人参数
[0093]
[0094] S2.运用协调策略对初始分配结果进行调整,完成第一次分配,分配结果如下:
[0095] 参见图3,图3为本发明的实施例1的第一次任务分配结果图,任务T4和T7分配给机器人R1,任务T1、T2和T3分配给机器人R2,任务T6和T9分配给机器人R3,任务T10分配给机器人R4。
[0096] S3.重复步骤2),对未分配任务进行再次分配,直至任务完全分配,第二次分配结果如下:
[0097] 第二次分配结果用矩阵表示为:
[0098]
[0099] 其中,Qij=1表示第i个机器人分配到第j个任务,Qij=0表示第i个机器人没有分配到第j个任务。
[0100] 参见图4,图4为本发明的实施例1的第二次任务分配结果图,任务T11和T15分配给机器人R4,剩下的机器人R1、R2和R3未分配任务,T8和T12表示未分配任务;参见图5,图5为实施例1中的基本PSO算法与基于任务分配协调策略分配后的收敛曲线对比图,基于任务分配协调策略分配后的性能指标函数值要高于基本PSO算法,也就是说基于任务分配协调策略分配后算法的收益更高,代价更小,且收敛速度较于基本PSO算法更快。
[0101] 将基本PSO算法任务分配结果与本发明任务分配结果进行对比,得到表2对比结果,通过表2可以看出,仅用基本PSO算法进行任务分配时,R1和R2分别被分配7个任务和9个任务,R3被分配2个,R4被分配5个,显然违反了机器人任务载荷约束,降低任务执行效率,表2中基本PSO算法存在任务分配重叠问题,R1与R2多次分配到了同样的任务,任务分配重叠容易造成任务执行混乱;从表2结果对比可以看出,相比于基本PSO算法,本文算法任务分配均小于4,满足载荷约束,解决了任务分配过载荷问题。且本文算法没有重复分配任务,解决了任务分配重叠问题。
[0102] 表2两种算法任务分配结果对比
[0103]
[0104] 基于任务分配协调策略分配机器人电量情况记录如表3所示,从表3可以看出本文算法优化结果满足机器人电量约束,机器人剩余电量无法完成剩余任务T8或T12。
[0105] 表3本发明实施例1中机器人电量记录
[0106]
[0107] 从图3和图4、图5的对比可以看出,相比于基本PSO算法,本文算法在载荷约束、机器人电量约束下可实现二次分配,体现了本文算法在多机器人任务分配方面的合理性。
[0108] 在使用本文提出的算法进行处理多机器人任务分配时,通过任务分配优化模型优化各个机器人的分配半径来进行任务分配,并用任务分配协调策略解决任务分配重叠、任务载荷约束、机器人电量约束问题。
[0109] 以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈