一种基于改进阈值法的多机器人任务分配方法与流程

文档序号:17930105发布日期:2019-06-15 00:46阅读:503来源:国知局
一种基于改进阈值法的多机器人任务分配方法与流程

本发明属于信息处理领域,尤其涉及一种基于改进阈值法的多机器人任务分配方法。



背景技术:

进入21世纪以来,随着科学技术的快速发展,机器人可以在不同的复杂或不确定的环境中工作,并已广泛用于执行各种军事任务,包括监视,侦察,攻击和损害评估等。机器人是未来智能制造的重要使能装备,是实现智能制造的一类重要而特殊的载体。但是由于资源等某些限制,这使得单个机器人难以单独完成复杂的多目标大规模任务。因此,多机器人系统逐渐引起了研究者的注意力,与单机器人相比,多机器人系统具有时间,空间,信息,功能和资源的分布特征,在经济性,最优性,适用性和任务执行的可扩展性方面具有很大的优势。它在工业生产,军事防御和社会服务领域具有良好的应用前景。

但是几个机器人的简单叠加不仅不能实现多机器人系统的优势,而且由于它们的并行性和行为突然性等原因,几个机器人之间将会产生冲突。正如人类社会生产关系可以促进生产力的发展,合理的任务共享机制可以充分利用多机器人系统的优势并提高任务分配的有效性。因此,有必要研究系统中每个机器人的策略,应该采取什么措施,以及需要执行哪些任务来确保多机器人系统中的合作,这是多机器人系统研究的基本问题,即多机器人任务分配问题mrta。一方面,任务分配的质量直接影响整个系统的效率,直接关系到系统机器人是否可以最大化其能力和避免其占用过多资源。另一方面,当机器人无法执行其目前的任务时,可以通过通信机制请求协助,最后使多机器人系统有效完成当前任务。因此,这给科研和企业管理实践带来了新的问题:如何为大规模异构多机器人系统分配和优化任务,使他们能够以合理的方式在智能协作环境中进行合作,有效完成生产任务。

经典任务分配理论的建立:以运筹学研究为代表,典型的成果有线性规划模型及单纯形法,整数规划模型及分支界定法、指派模型及匈牙利法、网络流模型及最大流-最小切割法等。

经典任务分配理论的发展:以分布式处理系统的研究为代表,典型成果有偶图匹配模型及启发式算法、0-1二次规划模型及优化算法、负载平衡模型及动态规划算法等。

智能任务分配理论的建立和发展:以分布式问题的求解为代表,充分利用agent的自治性和社会性,典型研究成果有合同网模型及其扩展、节点规划模型及协调算法、联盟形成方法、自适应方法等。

文献基于能力及任务需求的多agent任务分配方法,针对动态环境中的任务和agent的动态变化问题,提出一种基于能力及任务需求的层次任务分配方法。利用全局分配方法为agent分配合适的任务,当环境发生变换时,通过局部调整来解决任务和agent之间的不适应问题,每个agent能够根据局部信息选择理想的任务执行,提高了分配算法的鲁棒性。仿真实验表明该方法是可行及有效的,能够解决动态环境中的任务分配问题。但该方法在局部调整时的可靠性降低,不利于复杂任务环境的任务处理。



技术实现要素:

本发明的目的在于公开任务处理能力强、效率高的一种基于改进阈值法的多机器人任务分配方法。

本发明的目的是这样实现的:

一种基于改进阈值法的多机器人任务分配方法,包含如下步骤:

步骤(1):初始化:定义是第m次迭代时机器人i对任务j的响应阈值,m为大于或等于0的整数;m=0时,的值随机确定;

步骤(2):定义t时刻任务j对机器人i的刺激值sj(t)与第m次迭代时机器人i对任务j的响应阈值的差为阈值刺激差pij(t);在第m次迭代中,对于机器人i,阈值刺激差最大时对应的任务即机器人i在t时刻要执行的任务;

步骤(3):如果机器人执行任务成功或失败且还有未被执行的任务,继续在未被执行的任务中选择阈值刺激差最大时对应的任务去执行;对于某个机器人,可执行任务是地图中没有其他机器人执行且阈值刺激值大于0的未被执行的任务;

步骤(4):当机器人进入等待状态或等待区即没有可执行任务时,令机器人不断寻找可执行的任务,当其他机器人执行某任务失败或某任务未执行的时间太长使得对于该机器人的任务刺激值增加时,则该机器人重新获得可执行任务;

步骤(5):直到所有任务都被执行完成即完成一次迭代时,重置机器人和任务点的位置,根据阈值更新公式计算第m+1次迭代时机器人i对任务j的响应阈值和阈值刺激差;

上式中,uij为机器人i对任务j匹配值:

λ为能力匹配函数的权重,ω为能耗代价函数的权重,η为历史经验函数的权重;vij为能力匹配函数,cij为能耗代价函数,eij为历史经验函数;

进一步地,能力匹配函数vij:

n为正整数;

上式中,αij(t)是agent在t时刻拥有的能力因子,βij(t)是t时刻任务需要的能力因子;0≤αij(t)≤1,0≤βij(t)≤1。

进一步地,能耗代价函数cij:

上式中,(xi,yi)为机器人i当前坐标,(xj,yj)是将要去执行的任务的坐标;hij表示机器人i完成任务wj付出的资源能耗值。

进一步地,历史经验函数eij:

eij=tij/(tij+fij),(tij+fij≠0);

上式中,tij表示此前机器人i成功执行任务wj的次数;fij表示此前机器人i未成功执行任务wj的次数。

本发明的有益效果为:

本发明基于传统阈值模型,优化了多任务处理能力,且给每个机器人分配最佳的任务,提高了算法面对复杂的多任务的信息处理能力,提高了算法的效率,提高了系统的资源利用率。

附图说明

图1是一种基于改进阈值法的多机器人任务分配方法流程图;

图2是机器人能力模型。

具体实施方式

下面结合附图来进一步描述本发明:

提出一种基于改进阈值法的多机器人任务分配方法的准备工作:每个任务都有一定需求,agent要成功完成这些任务必须满足任务能力需求,在特定的任务环境中,任务需求能力的种类是有限的,把这些能力称为基本能力,任务需求能力和agent所具有的某种能力可以用一个随时间变化的能力向量来描述,设c=<c1,c2,...cn>为环境中基本的能力向量,0≤αij(t)≤1,0≤βij(t)≤1,分别表示agent在t时刻所拥有的能力因子,t时刻任务所需要的能力因子。r={r1,r2,...rm为agent集合,任务集合为w={w1,w2,...,wn},机器人能力模型如图2所示。

定义agent的能力,表示t时刻agentri所具有的能力,对应于agentai能力ck的强弱程度。表明agentri不具备能力ck。

定义任务需求,完成任务所需要的能力,表示任务wj在t时刻的能力需求,对应于任务wj对能力ck的强弱程度,如果完成任务wj不需要能力ck,则

基于改进阈值法的任务分配的重点在于阈值的更新过程,采用迭代过程,目的是更好地表述更新过程,通过任务匹配值来评估机器人对任务的胜任程度,从而确立机器人的阈值,首先建立三个函数。

第一个函数为能力匹配函数:从整体角度考虑任务分配并明确机器人和任务的关系。机器人是客观存在的物体,它们的运行操作需要能量消耗,并且根据机器的能力而不同,他们的能耗会有巨大差异。性能越强,能耗越大。分配任务时,机器人与任务的真实匹配程度直接影响任务的分配。当机器人的能力达不到任务的需求时,机器人完成任务失败;当机器人的能力远远超出了任务需求时,又会造成资源,能源不充分利用。因此,机器人与任务之间的匹配关系分为最优匹配,过匹配和差匹配三种类型。最佳匹配关系意味着机器人的功能水平恰好满足任务的需要。而任务分配的本质就是为每个机器人找到最优匹配的任务,所以机器人ri的能力与任务wj需求能力匹配函数为下式,当机器人能力不满足任务需求时,能力匹配函数值为0。

第二个函数为能耗代价函数:对于任务wj,代价函数cij表示机器人ri对完成任务wj所付出的代价,其数值描述为:

hij表示机器人i完成任务wj付出的资源能耗值,此时等式右面根号式代表机器人与将要去执行的任务点的距离值。

第三个函数为历史经验函数:机器人的历史经验函数表示机器人在任务分配过程中成功的次数和失败的次数,eij表示机器人ri参与竞争任务wj的可信任程度,其数值化描述为:

eij=tij/(tij+fij),(tij+fij≠0);

上式中,tij表示此前机器人i成功执行任务wj的次数;fij表示此前机器人i未成功执行任务wj的次数。cij的值越大表示任务完成几率越大,可信度越高,反之越小。

定义机器人i对任务wj匹配值为:

上式中,λ为能力匹配函数的权重,ω为能耗代价函数的权重,η为历史经验函数的权重;uij值越大,表明i号机器人对第j项任务胜任程度大。

任务刺激值与阈值的设定:对于任务wj,在t时刻的任务刺激值如下:

上式中,a1,a2....an是权重系数,上式可以看出任务刺激值和任务需求相关,这也符合期望,即任务难度越大,任务刺激值就越大,可以让更多机器人去竞争这个任务,从而选出能力强的机器人去执行此任务。当场上有任务始终没有机器人执行时,系统会陷入长时间的等待状态,这不是预期要看到的,所以提出以下公式:

sj(t+1)=sj(t)+δ;

δ代表当任务过长时间未被执行的时间步长,即地图中仍有任务长时间没有被执行时,任务刺激值会增加,使得机器人来执行该任务,避免了长时间的等待和死锁,阈值更新公式仅对执行过的任务有效,例如当机器人1未执行过任务3时,机器人1对任务3的响应阈值不会更新。机器人ri对任务wj的响应阈值的更新公式如下:

表示第m次迭代时,机器人i对任务j的响应阈值。

下面给出一种基于改进阈值法的多机器人任务分配方法,如图1,包含如下步骤:

步骤(1):初始化:定义是第m次迭代时机器人i对任务j的响应阈值,m为大于或等于0的整数;m=0时,的值随机确定;

步骤(2):定义t时刻任务j对机器人i的刺激值sj(t)与第m次迭代时机器人i对任务j的响应阈值的差为阈值刺激差pij(t);在第m次迭代中,对于机器人i,阈值刺激差最大时对应的任务即机器人i在t时刻要执行的任务;

步骤(3):如果机器人执行任务成功或失败且还有未被执行的任务,继续在未被执行的任务中选择阈值刺激差最大时对应的任务去执行;对于某个机器人,可执行任务是地图中没有其他机器人执行且阈值刺激值大于0的未被执行的任务;

步骤(4):当机器人进入等待状态或等待区即没有可执行任务时,令机器人不断寻找可执行的任务,当其他机器人执行某任务失败或某任务未执行的时间太长使得对于该机器人的任务刺激值增加时,则该机器人重新获得可执行任务;

步骤(5):直到所有任务都被执行完成即完成一次迭代时,重置机器人和任务点的位置,根据阈值更新公式计算第m+1次迭代时机器人i对任务j的响应阈值和阈值刺激差;

上式中,uij为机器人i对任务j匹配值:

与现有技术相比,本发明基于传统阈值模型,优化了多任务处理能力,且给每个机器人分配最佳的任务,提高了算法面对复杂的多任务的信息处理能力,提高了算法的效率,提高了系统的资源利用率。

以上所述并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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