发明名称 基于免疫自适应遗传算法的机器人栅格子地图融合方法
摘要 本发明提供了一种基于免疫自适应遗传算法的机器人栅格子地图融合方法,将两个栅格子地图相应的矩阵作为抗原,抗体为第二个栅格子地图所作的平面变换,基于抗体与抗原亲和度,抗体种群在复制、交叉和变异算子操作下产生下一代抗体,根据相似矢量距计算的选择概率保证抗体多样性,在免疫原理基础上,根据抗体的适应度自适应地调节交叉概率和变异概率,减少局部最优的可能性。本发明寻优效率较高,能够有效地搜索在搜索空间随机分布的最佳平面变换,特别适合于复杂环境下的多移动机器人栅格子地图融合问题,可以实现尽早在机器人之间实现信息共享,有效实现多机器人之间的协调探索,提高探索效率。
申请公布号 CN101266659A 申请公布日期 2008.09.17
申请号 CN200810016010.9 申请日期 2008.05.08
申请人 山东大学 发明人 马昕;郭睿;李贻斌;荣学文;宋锐
分类号 G06N3/12(2006.01);G09B29/00(2006.01);B25J9/16(2006.01) 主分类号 G06N3/12(2006.01)
代理机构 济南圣达专利商标事务所有限公司 代理人 王书刚
主权项 1.一种基于免疫自适应遗传算法的机器人栅格子地图融合方法,其特征是,将两个栅格子地图相应的矩阵作为抗原,抗体为第二个栅格子地图所作的平面变换,基于抗体与抗原亲和度,抗体种群在复制、交叉和变异算子操作下产生下一代抗体,根据相似矢量距计算的选择概率保证抗体多样性,在免疫原理基础上,根据抗体的适应度自适应地调节交叉概率和变异概率,减少局部最优的可能性;具体包括以下步骤:(1)输入两个栅格子地图相应的矩阵m1和m2作为抗原,初始化抗体种群Xi=TRi:(txi,tyi,θi),i=1,…,N,定义抗体种群中的抗体数N为10~40,初始抗体种群用随机函数随机产生,以保证初始抗体种群中抗体的多样性,利用二进制编码,每个抗体Xi长度为24位,前8位ai7,…,ai0表示tx∈[-n,n],中间8位bi7,…,bi0表示ty∈[-m,m],后8位ci7,…,ci0表示θ∈[0,2π];<math><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><msub><mrow><mo>(</mo><mfrac><mrow><msub><mi>t</mi><mi>x</mi></msub><mo>&times;</mo><mn>128</mn></mrow><mi>n</mi></mfrac><mo>)</mo></mrow><mi>B</mi></msub><mo>,</mo></mrow><math><mrow><msub><mi>b</mi><mi>i</mi></msub><mo>=</mo><msub><mrow><mo>(</mo><mfrac><mrow><msub><mi>t</mi><mi>y</mi></msub><mo>&times;</mo><mn>128</mn></mrow><mi>m</mi></mfrac><mo>)</mo></mrow><mi>B</mi></msub><mo>,</mo></mrow><math><mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><msub><mrow><mo>(</mo><mfrac><mrow><mi>&theta;</mi><mo>&times;</mo><mn>256</mn></mrow><mrow><mn>2</mn><mi>&pi;</mi></mrow></mfrac><mo>)</mo></mrow><mi>B</mi></msub><mo>,</mo></mrow>下标B表示二进制;初始化最大进化代数,定义最大进化代数为50~80;初始化交叉概率和变异概率,交叉概率定义为:Pc=0.25~0.75,变异概率定义为Pm=0.01~0.3;(2)计算抗体种群中所有抗体的优化函数值,即m2按照抗体Xi=TRi:(txi,tyi,θi),i=1,…,N做相应的平面变换后与m1相重叠部分的优化函数值Δ(m1,TRi(m2)),i=1,…,N,优化函数值越小,说明重叠部分的相异程度越低;针对栅格子地图的融合问题,优化函数定义为两部分:一部分是度量两个栅格子地图重叠区域整体相异程度的相异度函数,一部分是重叠区域中占有或空闲情况不同的栅格数与占有或空闲情况相同的栅格数的差值;r1和r2分别表示矩阵m2做一平面变换TRi:(txi,tyi,θi)后两个栅格子地图m1和m2的重叠区域,r1≤m1,r2≤m2,m2做相应的平面变换TRi:(txi,tyi,θi)后,与m1相重叠部分的相异度函数ψ表示r1和r2的相异程度,定义为矩阵表示的两个栅格子地图的图距离:<math><mrow><mi>&psi;</mi><mrow><mo>(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>,</mo><msub><mi>TR</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>c</mi><mo>&Element;</mo><mi>C</mi></mrow></munder><mi>d</mi><mrow><mo>(</mo><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><msub><mi>r</mi><mn>2</mn></msub><mo>,</mo><mi>c</mi><mo>)</mo></mrow><mo>+</mo><mi>d</mi><mrow><mo>(</mo><msub><mi>r</mi><mn>2</mn></msub><mo>,</mo><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><mi>c</mi><mo>)</mo></mrow></mrow>其中,<math><mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><msub><mi>r</mi><mn>2</mn></msub><mo>,</mo><mi>c</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><msub><mi>r</mi><mn>1</mn></msub><mo>[</mo><msub><mi>p</mi><mn>1</mn></msub><mo>]</mo><mo>=</mo><mi>c</mi></mrow></msub><mi>min</mi><mo>{</mo><mi>md</mi><mrow><mo>(</mo><msub><mi>p</mi><mn>1</mn></msub><mo>,</mo><msub><mi>p</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>|</mo><msub><mi>r</mi><mn>2</mn></msub><mo>[</mo><msub><mi>p</mi><mn>2</mn></msub><mo>]</mo><mo>=</mo><mi>c</mi><mo>}</mo></mrow><mrow><msub><mo>#</mo><mi>c</mi></msub><mrow><mo>(</mo><msub><mi>r</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></mfrac></mrow>C表示矩阵m1和m2的值域,C={-255,255},-255表示占有,255表示空闲;r1[p1]=c表示地图r1中的栅格p1所对应的矩阵元素的值为c,c∈C;md(p1,p2)=|x1-x2|+|y1-y2|表示栅格p1(x1,y1)和p2(x2,y2)之间的Manhattan距离;#c(r1)=#{p1|r1[p1]=c}表示地图矩阵r1中值为c的元素的个数,c∈C;重叠区域r1和r2中占有或空闲情况相同、不同的栅格数目分别表示为:agr(r1,r2)=#{p=(x,y)|r1[p]=r2[p]∈C}dis(r1,r2)=#{p=(x,y)|r1[p]≠r2[p]∈C}在重叠区域完全一致的理想情况下,dis(r1,r2)=0,agr(r1,r2)等于r1的栅格数,也等于r2 的栅格数;寻找栅格子地图m1和m2最佳重叠区域相应平面变换TR*:(tx,ty,θ)*的优化函数定义为:Δ(m1,TRi(m2))=ψ(r1,r2)+clock(dis(r1,r2)-agr(r1,r2))clock≥0,是比例系数,取clock=1;(3)计算抗体种群中抗体的适应度函数值f(Xi),i=1,…,N,计算最大适应度及平均适应度fmax,favg,标注出最优抗体;针对栅格子地图融合问题是目标函数最小问题,适应度函数使用线性排序和选择压差为2进行估算:<math><mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>2</mn><mo>-</mo><mi>sp</mi><mo>+</mo><mn>2</mn><mo>&times;</mo><mrow><mo>(</mo><mi>sp</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mfrac><mrow><mi>pos</mi><mo>-</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac></mrow>其中,sp表示压差,选择sp=2;pos为抗体按照目标函数进行排序后的位置,1≤pos≤N,N为抗体种群中的抗体总数;(4)选择操作:基于抗体相似度和矢量距计算选择概率,选择一些个体直接进入下一代种群;抗体相似度定义为抗体编码的归一化距离,抗体xi:(ai7,…,ai0,bi7,…,bi0,ci7,…,ci0)B和抗体xj:(aj7,…,aj0,bj7,…,bj0,cj7,…,cj0)B的归一化距离为:<math><mrow><msub><mi>d</mi><mi>ij</mi></msub><mo>=</mo><mrow><mo>(</mo><mfrac><msub><mrow><mo>|</mo><msub><mi>a</mi><mi>i</mi></msub><mo>-</mo><msub><mi>a</mi><mi>j</mi></msub><mo>|</mo></mrow><mi>D</mi></msub><mrow><mn>2</mn><mi>n</mi></mrow></mfrac><mo>+</mo><mfrac><msub><mrow><mo>|</mo><msub><mi>b</mi><mi>i</mi></msub><mo>-</mo><msub><mi>b</mi><mi>j</mi></msub><mo>|</mo></mrow><mi>D</mi></msub><mrow><mn>2</mn><mi>m</mi></mrow></mfrac><mo>+</mo><mfrac><msub><mrow><mo>|</mo><msub><mi>c</mi><mi>i</mi></msub><mo>-</mo><msub><mi>c</mi><mi>j</mi></msub><mo>|</mo></mrow><mi>D</mi></msub><mrow><mn>2</mn><mi>&pi;</mi></mrow></mfrac><mo>)</mo></mrow><mo>/</mo><mn>3</mn></mrow>其中,B表示二进制,D表示十进制,显然,dij越大,两个抗体xi和xj的相似程度越低;抗体xi的浓度定义为:与抗体xi相似度小于λ的抗体在总抗体种群中的比例,<math><mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mo>#</mo><mo>{</mo><mi>j</mi><mo>|</mo><msub><mi>d</mi><mi>ij</mi></msub><mo>&lt;</mo><mi>&lambda;</mi><mo>}</mo></mrow><mi>N</mi></mfrac><mo>,</mo></mrow>λ为一确定的阈值,取λ=0.2;基于相似度和矢量距的选择概率为:<math><mrow><msub><mi>P</mi><mi>s</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>&alpha;</mi><mfrac><mrow><mi>&rho;</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>&rho;</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&alpha;</mi><mo>)</mo></mrow><mfrac><mn>1</mn><mi>N</mi></mfrac><msup><mi>e</mi><mfrac><msub><mi>c</mi><mi>i</mi></msub><mi>&beta;</mi></mfrac></msup></mrow>其中,<math><mrow><mi>&rho;</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo>|</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>,</mo></mrow>为抗体Xi的矢量距,N为抗体种群的抗体总数,α和β是调节因子,0≤α≤1,0≤β≤1;选择概率既与抗体的适应度有关,又与抗体的相似度有关,在抗体浓度一定的条件下,抗体矢量距越大选择概率越大;在抗体矢量距一定的条件下,抗体浓度越小选择概率越大;(5)交叉和变异操作:基于抗体的适应度,自适应地调节交叉和变异概率Pc,Pm,按照以下公式计算得到的Pc,Pm,进行交叉和变异操作,得到下一代种群:<math><mrow><msub><mi>P</mi><mi>c</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>P</mi><mrow><mi>c</mi><mn>1</mn></mrow></msub><mo>-</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>P</mi><mrow><mi>c</mi><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>P</mi><mrow><mi>c</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>f</mi><mo>&prime;</mo></msup><mo>-</mo><msub><mi>f</mi><mi>avg</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>f</mi><mi>max</mi></msub><mo>-</mo><msub><mi>f</mi><mi>avg</mi></msub></mrow></mfrac></mtd><mtd><msup><mi>f</mi><mo>&prime;</mo></msup><mo>&GreaterEqual;</mo><msub><mi>f</mi><mi>avg</mi></msub></mtd></mtr><mtr><mtd><msub><mi>P</mi><mrow><mi>c</mi><mn>1</mn></mrow></msub></mtd><mtd><msup><mi>f</mi><mo>&prime;</mo></msup><mo>&lt;</mo><msub><mi>f</mi><mi>avg</mi></msub></mtd></mtr></mtable></mfenced></mrow><math><mrow><msub><mi>P</mi><mi>m</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>P</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>-</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>P</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>P</mi><mrow><mi>m</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>f</mi><mi>max</mi></msub><mo>-</mo><mi>f</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>f</mi><mi>max</mi></msub><mo>-</mo><msub><mi>f</mi><mi>avg</mi></msub></mrow></mfrac></mtd><mtd><mi>f</mi><mo>&GreaterEqual;</mo><msub><mi>f</mi><mi>avg</mi></msub></mtd></mtr><mtr><mtd><msub><mi>P</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub></mtd><mtd><mi>f</mi><mo>&lt;</mo><msub><mi>f</mi><mi>avg</mi></msub></mtd></mtr></mtable></mfenced></mrow>其中,fmax,favg分别是种群的最大和平均适应度;f′是进行交叉操作的两个抗体中较大适应度;f是进行变异操作的抗体适应度;Pc1,Pm1是设定的最大交叉和最大变异概率,Pc2,Pm2 是设定的相对于最大适应度抗体的交叉和变异概率的下限值:Pc1=0.9,Pc2=0.6,Pm1=0.1,Pm2=0.001;(6)由于优化函数的最优值未知,因此根据进化是否到达初始设定的最大进化代数,判断是否需要继续进化,如果没有进化到最大进化代数,则返回到步骤(2)继续进化;(7)如进化到最大代数,选择最佳适应度相应的平面变换,计算匹配因子cmatch,<math><mrow><msub><mi>c</mi><mi>match</mi></msub><mrow><mo>(</mo><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><msub><mi>r</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>agr</mi><mrow><mo>(</mo><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><msub><mi>r</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow><mrow><mi>agr</mi><mrow><mo>(</mo><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><msub><mi>r</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>+</mo><mi>dis</mi><mrow><mo>(</mo><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><msub><mi>r</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow></mfrac></mrow>如果cmatch=1,则两个栅格子地图的重叠区域完全匹配;cmacth越小,则意味着重叠区域的匹配程度越低。
地址 250061山东省济南市历下区经十路73号
您可能感兴趣的专利