多机器人任务分配及路径规划方法与流程

文档序号:11249972阅读:2359来源:国知局
本发明属于多机器人
技术领域
:,涉及多机器人的任务分配以及路径规划的方法,特别涉及一种基于改进的免疫遗传算法的多机器人路径规划方法。
背景技术
::随着机器人技术的快速进步,机器人已经被广泛的应用在工业、军事、服务业以及危险环境探索等领域;伴随着各领域对机器人的要求不断提高,机器人的工作任务越来越复杂化,由于单个的机器人不管是在数据的获取还是处理数据的能力都难以满足当前的需求。相比较单机器人而言,多机器人具备诸多优点,如多机器人数据采集信息及处理结果共享,机器人合作完成复杂的工作等。但多机器人在环境探索策略的研究同时也比单机器人复杂度高,因此多机器人任务分配及环境探索成为目前移动机器人研究的重点和热门领域。多机器人任务分配是指将环境中的多个任务按照一定的规则分配给环境中的多个机器人,因为当多个机器人协同合作时,可以充分发挥各机器人所长,更优的完成任务。对于机器人环境探索任务中一个基础的问题是为机器人找出一条探索的最优路径,使得多机器人更好的完成环境探索任务。机器人路径规划的方法,近年来出现一些智能方法,如免疫遗传算法、改进遗传算法以及神经网络方法等。免疫遗传算法是一种新型的、具有免疫功能的遗传算法,目前广泛应用于机器人环境探索系统中。目的是将一个机器人的探索环境进行规划,通过最后的环境探索路径确定任务点的探索顺序。并且在前人工作的基础上也充分证明了其可行性及其具备的诸多优点,但其依然具有遗传算法的局部最优、搜索空间过大缺点。技术实现要素:发明目的:针对现有多机器人路径规划方法存在的问题,本发明提出了一种多机器人任务分配及路径规划方法,其目的是解决目前所存在的问题。技术方案:本发明所采用的技术方案如下:一种多机器人任务分配及路径规划方法,其特征在于所诉方法包括主要步骤如下:s1:初始化多机器人与任务的信息:设置机器人的初始化状态参数、环境中任务的信息;获取机器人位置、速度以及最大电量和任务的位置等数据信息;s2:多机器人任务分配:计算各机器人与任务之间的综合代价数据,综合考虑机器人电量、工作时间以及最大任务数等因素,按综合代价最小的准则将任务进行分配至机器人;s3:机器人路径规划方法:依次使用本发明的改进免疫遗传算法对机器人进行路径规划。在上述步骤s2中,一种多机器人的任务分配方法,其分配过程充分考虑机器人位置、速度以及电量等多因素。其具体步骤如下:s21:随机或读取产生机器人及任务数据,机器人数据信息包括编号rn、初始位置rp0、初始电量b0、剩余电量b1、速度v、当前分配到任务数n等;任务数据包括:任务编号tn、位置tp、分配否标识isa、分配至机器人编号torn等。分别构成机器人与任务队列;s22:计算j号任务分配给i号机器人所需要的综合代价信息,并记录一个包含rni、tnj、nbij、ntij、cij及dij的数据表table,并按代价的升序排列;s23:从table中取代价最小的一条数据record判断该记录中tn对应的任务isa是否为true。如果是则重复此步骤,否则执行以下步骤;s24:判断record中rni对应bi1是否大于nbij,且ti1是否大于ntij,以及机器人已分配到任务没有数到达上限,如果条件全部满足则继续,否则跳转步骤s23中取代价次小的一条数据;s25:更新record中rni对应机器人的剩余时间ti1、剩余电量bi1、分配到任务数n等数据,tnj对应任务的torn、isa等数据。跳转步骤s23继续取下一条数据。多机器人任务分配:计算各机器人与任务之间的综合代价数据,综合考虑机器人电量、工作时间以及最大任务数因素,按综合代价最小的准则将任务进行分配至机器人,其过程具体包括:(1)任务分配的数学模型制定,具体如下:t表示任务,r表示机器人;ri来表示多机器人系统中的第i个机器人,其中i∈[1,n],n为机器人系统中的机器人数量;ti来表示多机器人系统中的第i个任务,其中i∈[1,m],m为机器人系统中的任务数量;i号机器人最大工作时间ti0,i号机器人剩余工作时间ti1,i号机器人完成j号任务所需消耗时间记为ntij;dist(ti,rj)表示利用机器人rj来完成ti所需要行走的距离值,记为dij;bettery(ti,rj)表示利用机器人rj来完成ti任务时机器人rj所需要消耗的电量,记为nbij,由于每个机器的属性不同,每个机器人完成同一个任务其所需要消耗的电量是不相同的,因此本文用常数λij表示第i个机器人完成第j个任务单位距离消耗的电量;(2)任务分配综合代价值计算方法本发明设计了一个计算该综合代价值的函数,本发明的综合代价函数定义如公式(1)所示,该公式表示机器人完成任务所需的代价;cost(ti,rj)表示利用机器人rj来完成ti所需要的代价值,记为cij;公式(1)至(3)中,dist(tj,ri)代表机器人ri与任务点tj之间的距离,代表机器人ri的速度,bettery(tj,ri)代表机器人ri完成任务tj过程中这段距离所需要消耗的电量,由于消耗电量不仅与距离有关,而且与其本身的属性有关,所以使用一个常量因子λij代表第i个机器人完成第j个任务单位距离所消耗电量。公式(1)中的代价函数含义是在机器人完成任务所需时间最短、所需电量最小的时候将这个任务分配给这个机器人。(3)任务分配至机器人需满足的条件:首先设当前机器人ri分配到的k个任务清单有(t1,t2,...,tk);因此要使得下一个任务分配至该机器人必须满足如下条件:1)机器人ri到此任务tj之间的代价最小,数学表示如公式(4)所示:min{cost(tj,ri),i∈[1,n]}(4)2)机器人剩余电量足够满足当前任务的消耗,具体表现为公式(5):其中b(ri)为机器人ri的初始电量,dist(tj,ri)代表机器人ri与任务点tj之间的距离,λij代表第i个机器人完成第j个任务单位距离所消耗电量;(4)多机器人任务分配步骤及流程,具体如下:a:随机或读取产生机器人及任务数据,机器人数据信息包括编号rn、初始位置rp0、初始电量b0、剩余电量b1、速度v、当前分配到任务数n;任务数据包括:任务编号tn、位置tp、分配否标识isa、分配至机器人编号torn;分别构成机器人与任务队列;b:根据上文叙述部分的公式(1)至(3)计算j号任务分配给i号机器人所需要的代价信息,并记录一个包含rni、tnj、nbij、ntij、cij及dij的数据表table,并按代价的升序排列;c:从table中取代价最小的一条数据record判断该记录中tn对应的任务isa是否为true;如果是则重复此步骤,否则执行以下步骤;d:判断record中rni对应bi1是否大于nbij,且ti1是否大于ntij,以及机器人已分配到任务没有数到达上限,如果条件全部满足则继续,否则跳转步骤c中取代价次小的一条数据;e:更新record中rni对应机器人的剩余时间ti1、剩余电量bi1、分配到任务数n数据,tnj对应任务的torn、isa数据;跳转步骤c中继续取下一条数据。在上述步骤s3中,一种改进的免疫遗传算法应用于机器人的路径规划,其特征在于在免疫遗传算法产生初始解时本发明采用最邻近算法和随机法相结合;在计算抗体浓度时,计算相似度的过程中通过计算两条抗体路径边相同数量来判断抗体路径的相似性,从而计算抗体的浓度。在上述步骤s3中,本发明在对免疫遗传算法的初始抗体群部分做出改进,初始抗体群大小popsize的20%由最邻近算法产生近似最优解,为保证抗体群的多样性,剩下80%依然由随机法产生。进一步,如果机器人分配到的任务数n小于n≤popsize*0.2,则由最邻近算法产生n条路径的初始解,否则由最邻近算法产生出popsize*0.2条初始路径解,其余部分由随机发产生。步骤3中为每个机器人所分配到的任务点使用本发明的改进免疫遗传算法进行路径规划,其中单个机器人的路径规划的过程如下:(a):算法初始化:将待求解的目标函数和约束条件输入,作为带求解问题的抗原,初始化算法中种群的大小popsize为100、选择概率ps、最大交叉概率为0.9、最小交叉概率为0.5以及变异概率pm最大和最小分别为0.3与0.1;精英保留抗体数为5;(b):生成初始抗体群:本算法中初始抗体群的生成由两部分组成,第一部分由最邻近算法产生,第二部分由随机方法在解空间产生,由最邻近算法产生的初始抗体解的数量为popsize*0.2;(c):亲和度及浓度计算:计算抗原与抗体之间的亲和度抗体与抗体之间的浓度,对亲和度大的抗体和浓度小的抗体予以保留;除去抗体群中亲和度低的抗体;(d):记忆抗体群更新:将抗体群中,亲和度最高的个体放入记忆抗体群中,同样也为了保持记忆抗体群的规模不变,也要除去亲和度低或者适应度低的抗体;(e):免疫自调节:根据两个抗体的亲和度计算抗体浓度,对高浓度的抗体进行抑制,用以增加种群多样性;(f):生成新一代抗体群:对抗体群中的抗体进行选择、交叉和变异操作后,与更新后的记忆抗体群组成新一代抗体群;最优个体对应实际问题的新解;当新解满足算法停止条件时,算法终止,否则转向步骤(c)。计算抗体浓度过程中,对抗体相似度的计算方法做出改进。设有两条路径p1(t11,t12,t13,···,t1n)与p2(t21,t22,t23,···,t2n),其适应度分别为f1、f2,路径p1中包含的边有e1i(t1i,t1i+1),路径p2中包含的边有e2i(t2i,t2i+1)。(1)适应度部分相似度定义如下:(2)路径结构部分相似度定义如下:公式中n为抗体路径的长度,t1i与t2i分别表示为1、2号抗体路径中第i个的任务编号。(3)则综合相似度定义如下:similar(p1,p2)=α*sp(p1,p2)+(1-α)*sf(p1,p2)式中α为两部分的权重因子,当α=0时,路径相似度只与路径适应度有关,当α=1时,路径相似度只与路径结构有关,所以α是调节路径结构和适应度的权重参数。进一步,在大小为n的抗体种群中,第i条抗体的浓度公式定义如下所示:上式(12)中ε为一个较小的实数,pi为第i抗体的路径,pj为第j抗体的路径,函数iss(pi,pj)中g(pi,pj)的值为|similar(pi,pj)-1|。在使用改进免疫遗传算法进行机器人路径规划的过程中,在算法中选择、交叉以及变异算子的概率计算方法如下:(1)选择操作:在抗体群大小为n的种群中,第i个抗体的选择概率为psi,为满足对浓度高的抗体进行抑制,适应度高的抗体进行促进,本发明选择概率计算方式如下所示:上式中psimax是i号抗体初始最大选择概率,psimin是i号抗体是初始最小选择概率,fi为适应度,ci为i号抗体的浓度,ss(i)为用于计算选择概率的中间计算量。参数λ为浓度对选择概率的影响决定因子,当λ为0时其和基本遗传算法相似。(2)交叉操作:抗体群中,为了使得免疫算法在解搜索范围内都具有同等的机会,所以抗体之间的交叉概率应为相同的,但是为了保证算法的稳定性交叉概率应该逐步减小。本文兼顾这些因素,对交叉概率的定义如下所示:pci=pcmin,pci<pcmin上式中t为最大迭代代数,t为当前代数,pcmax为抗体初始最大交叉概率,pcmin为抗体初始最小交叉概率;(3)变异操作:在免疫遗传算法中,为了保持高适应度的抗体不被破坏,因此在抗体适应度越大时,其变异概率越小;抗体的浓度越大其变异概率越大。但为了最后群体的稳定收敛,抗体变异概率应逐渐减小。因此其变异概率如下所示:上式(18)与(19)中fi表示i号抗体的适应度,fmax为抗体群中最大适应度,pmmax为抗体初始最大变异概率,pmmin为抗体初始最小变异概率,t为最大迭代代数,t为当前代数。步骤3之后显示多机器人经过路径规划后的结果:对于一条抗体路径p(t1,t2,t3,...,tn),步骤a中的目标函数为路径的距离最小,具体如公式(6)所示,其中d(p)为路径p的距离,vi表示路径中的第i个任务节点。对于步骤b中使用的最近阾算法产生初始抗体路径,具体的设有初始子路径son(i),初始只包含一个任务点i,未插入的任务点包含在集合w中,最邻近算法具体步骤为:(1)从w中取出距离son中距离最小的点r,将r插入子路径son中,并从w中移除任务点r;(2)继续从集合w中取出一任务点r到最新插入子路径son中的任务点距离最小的任务点继续插入son中;(3)重复进行步骤(2)操作,直到w中无任务点;对于机器人路径规划步骤c中,亲和度的计算公式如式(7)所示;式(7)中d(best)表示当前抗体种群中最优路径的距离,其中d(p)为路径p的距离,f(p)表示路径p的亲和度,取6次方是为了扩大适应度之间的间隙。优点效果:该方法能将多个任务有效的分配至多个机器人,并且在机器人路径规划过程中,使用改进的免疫遗传算法能有效的减少算法的迭代次数,提高免疫遗传算法的全局最优解的搜索效率,求解到的最优解更短。附图说明图1为本发明多机器人任务分配流程图图2为本发明多机器人任务分配结果图图3为本发明使用最邻近算法产生的一条初始解图4为本发明多机器人路径规划结果图具体实施方式下文将结合附图对本发明的具体实施方式进行详细说明。本发明是一种多机器人任务分配及路径规划方法,在多机器人系统中,先将任务按一定策略分配至每个机器人,然后每个机器人对所分得的任务进行路径规划。具体包括以下步骤:步骤1:机器人数据信息的获取,如机器人速度、电量、最大工作时间、最多可接受的任务数以及任务点的位置。如附图2所示,图中为随机生成的六个机器人以及200个任务点的数据经过任务分配后的结果图。步骤2:多机器人任务分配:计算各机器人与任务之间的综合代价数据,综合考虑机器人电量、工作时间以及最大任务数等因素,按综合代价最小的准则将任务进行分配至机器人;其分配流程如附图1所示,其过程具体包括:(1)任务分配的数学模型制定,具体如下:t表示任务,r表示机器人;ri来表示多机器人系统中的第i个机器人,其中i∈[1,n],n为机器人系统中的机器人数量;ti来表示多机器人系统中的第i个任务,其中i∈[1,m],m为机器人系统中的任务数量;i号机器人最大工作时间ti0,i号机器人剩余工作时间ti1,i号机器人完成j号任务所需消耗时间记为ntij;dist(ti,rj)表示利用机器人rj来完成ti所需要行走的距离值,记为dij;bettery(ti,rj)表示利用机器人rj来完成ti任务时机器人rj所需要消耗的电量,记为nbij,由于每个机器的属性不同,每个机器人完成同一个任务其所需要消耗的电量是不相同的,因此本文用常数λij表示第i个机器人完成第j个任务单位距离消耗的电量;(2)任务分配综合代价值计算方法本发明综合考虑机器人本身属性的约束条件以及任务与机器人之间的不同距离等因素,主要根据机器人电量、任务点与机器人距离等形成一个评价机器人对该任务的综合代价值,综合代价值越低说明该机器人完成任务所需消耗的电量或者需要克服的困难越少。因此本发明设计了一个计算该综合代价值的函数,本发明的综合代价函数定义如公式(1)所示,该公式表示机器人完成任务所需的代价。cost(ti,rj)表示利用机器人rj来完成ti所需要的代价值,记为cij。公式(1)至(3)中,dist(tj,ri)代表机器人ri与任务点tj之间的距离,代表机器人ri的速度,bettery(tj,ri)代表机器人ri完成任务tj过程中这段距离所需要消耗的电量,由于消耗电量不仅与距离有关,而且与其本身的属性有关,所以使用一个常量因子λij代表第i个机器人完成第j个任务单位距离所消耗电量。公式(1)中的代价函数含义是在机器人完成任务所需时间最短、所需电量最小的时候将这个任务分配给这个机器人。(3)任务分配至机器人需满足的条件由于每个机器人的能力不同,造成每个机器人能够完成的任务数量也不尽相同,其他的约束条件如机器人的电量、机器人到任务之间的距离等都对机器人任务分配产生影响,首先设当前机器人ri分配到的k个任务清单有(t1,t2,...,tk);因此要使得下一个任务分配至该机器人必须满足如下条件:1)机器人ri到此任务tj之间的代价最小,数学表示如公式(4)所示:min{cost(tj,ri),i∈[1,n]}(4)2)机器人剩余电量足够满足当前任务的消耗,具体表现为公式(5):其中b(ri)为机器人ri的初始电量,dist(tj,ri)代表机器人ri与任务点tj之间的距离,λij代表第i个机器人完成第j个任务单位距离所消耗电量。(4)多机器人任务分配步骤及流程,具体如下:a:随机或读取产生机器人及任务数据,机器人数据信息包括编号rn、初始位置rp0、初始电量b0、剩余电量b1、速度v、当前分配到任务数n等;任务数据包括:任务编号tn、位置tp、分配否标识isa、分配至机器人编号torn等。分别构成机器人与任务队列;b:根据上文叙述部分的公式(1)至(3)计算j号任务分配给i号机器人所需要的代价信息,并记录一个包含rni、tnj、nbij、ntij、cij及dij的数据表table,并按代价的升序排列;c:从table中取代价最小的一条数据record判断该记录中tn对应的任务isa是否为true。如果是则重复此步骤,否则执行以下步骤;d:判断record中rni对应bi1是否大于nbij,且ti1是否大于ntij,以及机器人已分配到任务没有数到达上限,如果条件全部满足则继续,否则跳转步骤c中取代价次小的一条数据;e:更新record中rni对应机器人的剩余时间ti1、剩余电量bi1、分配到任务数n等数据,tnj对应任务的torn、isa等数据。跳转步骤c中继续取下一条数据。步骤3:为每个机器人所分配到的任务点使用本发明的改进免疫遗传算法进行路径规划,其中单个机器人的路径规划的过程如下:a:算法初始化:将待求解的目标函数和约束条件输入,作为带求解问题的抗原,初始化算法中种群的大小popsize为100、选择概率ps、最大交叉概率为0.9、最小交叉概率为0.5以及变异概率pm最大和最小分别为0.3与0.1。精英保留抗体数为5。b:生成初始抗体群:本发明的算法中初始抗体群的生成由两部分组成,第一部分由最邻近算法产生,为了保证初始解的多样性,第二部分由随机方法在解空间产生,由最邻近算法产生的初始抗体解的数量为popsize*0.2。如图3所示为初始抗体群中最优抗体路径结果。c:亲和度及浓度计算:计算抗原与抗体之间的亲和度抗体与抗体之间的浓度,对亲和度大的抗体和浓度小的抗体予以保留。为保持抗体群规模不变,要除去抗体群中亲和度低的抗体。d:记忆抗体群更新:将抗体群中,亲和度最高的个体放入记忆抗体群中,同样也为了保持记忆抗体群的规模不变,也要除去亲和度低或者适应度低的抗体。e:免疫自调节:根据两个抗体的亲和度计算抗体浓度,对高浓度的抗体进行抑制,用以增加种群多样性。f:生成新一代抗体群:对抗体群中的抗体进行选择、交叉和变异操作后,与更新后的记忆抗体群组成新一代抗体群。最优个体对应实际问题的新解。当新解满足算法停止条件时,算法终止,否则转向步骤c。步骤4:显示多机器人经过路径规划后的结果。如图4所示为多机器人经过路径规划后的运行结果图。进一步,对于一条抗体路径p(t1,t2,t3,...,tn),步骤a中的目标函数为路径的距离最小,具体如公式(6)所示,其中d(p)为路径p的距离,vi表示路径中的第i个任务节点。进一步,对于步骤b中使用的最近阾算法产生初始抗体路径,具体的设有初始子路径son(i),初始只包含一个任务点i,未插入的任务点包含在集合w中,最邻近算法具体步骤为:(1)从w中取出距离son中距离最小的点r,将r插入子路径son中,并从w中移除任务点r;(2)继续从集合w中取出一任务点r到最新插入子路径son中的任务点距离最小的任务点继续插入son中;(3)重复进行步骤(2)操作,直到w中无任务点。进一步,对于机器人路径规划步骤c中,亲和度的计算公式如式(7)所示。式(7)中d(best)表示当前抗体种群中最优路径的距离,其中d(p)为路径p的距离,f(p)表示路径p的亲和度,取6次方是为了扩大适应度之间的间隙。本发明在计算抗体浓度时,对抗体相似度的计算做出改变。在传统的计算抗体相似度部分,多数采用的是计算路径距离,路径距离短的视为最优个体。但有很多路径距离不相近且路径连接顺序几乎相同的个体会因为亲和度大被保留在抗体群中,从而使计算陷入局部最优解。本发明综合考虑路径结构和适应度两方面,相似度计算包括路径结构的相似性和路径适应度的品质相似性。设有两条路径p1(t11,t12,t13,···,t1n)与p2(t21,t22,t23,···,t2n),其适应度分别为f1、f2。适应度部分相似度定义的公式如(8)所示:式(8)中θ为一个较小的实数,若θ取0.05时两路径满足上式中关系,则说明此两路径品质上相似度为95%。路径结构部分相似度定义对于两条抗体路径p1(t11,t12,t13,···,t1n)与p2(t21,t22,t23,···,t2n),计算两条路径中的边,路径p1中包含的边有e1i(t1i,t1i+1),路径p2中包含的边有e2i(t2i,t2i+1)。则p1与p2路径结构部分相似度定义公式如(9)至(10)所示:公式9中n为抗体路径的长度,t1i与t2i分别表示为1、2号抗体路径中第i个的任务编号。本文综合相似度定义公式为(11)所示:similar(p1,p2)=α*sp(p1,p2)+(1-α)*sf(p1,p2)(11)式(11)中α为两部分的权重因子,当α=0时,路径相似度只与路径适应度有关,当α=1时,路径相似度只与路径结构有关,所以α是调节路径结构和适应度的权重参数。在大小为n的抗体种群中,第i条抗体的浓度公式定义如(12)所示:上式(12)中ε为一个较小的实数,pi为第i抗体的路径,pj为第j抗体的路径,函数iss(pi,pj)中g(pi,pj)的值为|similar(pi,pj)-1|。进一步,对于机器人路径规划步骤f中,选择操作时的概率确定方法如下:在抗体群大小为n的种群中,第i个抗体的选择概率为psi,为满足对浓度高的抗体进行抑制,适应度高的抗体进行促进,本发明选择概率计算方式如公式(14)所示:上式中psimax是i号抗体初始最大选择概率,psimin是i号抗体是初始最小选择概率,fi为适应度,ci为i号抗体的浓度,ss(i)为用于计算选择概率的中间计算量。参数λ为浓度对选择概率的影响决定因子,当λ为0时其和基本遗传算法相似。进一步,对于机器人路径规划步骤f中,交叉操作时的概率确定方法如下:抗体群中,为了使得免疫算法在解搜索范围内都具有同等的机会,所以抗体之间的交叉概率应为相同的,但是为了保证算法的稳定性交叉概率应该逐步减小。本文兼顾这些因素,对交叉概率的定义公式如(16)与(17)所示:pci=pcmin,pci<pcmin(17)上式(16)与(17)中t为最大迭代代数,t为当前代数,pcmax为抗体初始最大交叉概率,pcmin为抗体初始最小交叉概率。进一步,对于机器人路径规划步骤f中,变异操作时的概率确定方法如下:在免疫遗传算法中,为了保持高适应度的抗体不被破坏,因此在抗体适应度越大时,其变异概率越小;抗体的浓度越大其变异概率越大。但为了最后群体的稳定收敛,抗体变异概率应逐渐减小。因此其变异概率公式pmi如(18)、(19)所示:上式(18)与(19)中fi表示i号抗体的适应度,fmax为抗体群中最大适应度,pmmax为抗体初始最大变异概率,pmmin为抗体初始最小变异概率,t为最大迭代代数,t为当前代数。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1