基于免疫自适应遗传算法的机器人栅格子地图融合方法

文档序号:2524195阅读:225来源:国知局
专利名称:基于免疫自适应遗传算法的机器人栅格子地图融合方法
技术领域
本发明涉及多移动机器人系统中各个机器人独立创建局部环境栅格子地图的融合方法。

背景技术
移动机器人在未知环境中自主完成各种智能任务的前提是机器人能够自主地不断探索、感知环境并逐步创建环境地图。多机器人系统可以完成单个机器人无法完成的复杂任务,如危险区域搜救、有毒物品处理和军事应用等。
分布式系统结构可充分发挥多机器人系统的鲁棒性,各机器人融合其自身所配置传感器获得的感知信息独立创建局部环境子地图,在适当时候,机器人融合其他机器人创建的局部环境子地图,实现信息共享,提高探索和感知环境的效率。何时及如何将局部环境子地图融合,是提高多机器人协同探索效率的一个关键问题。目前,对地图融合的研究已取得了一些成果,大多数的研究假设各机器人配置有全球定位系统或初始位置相近,机器人在探索过程中估计相对位置,在通讯全连通条件下,定期性地将局部环境子地图进行融合。
最近,研究者们开始研究更一般性的地图融合问题,即当各机器人的相对位置信息未知时,如何实现局部环境子地图融合,这一问题的解决,具有实际意义。如各机器人因为应用场合限制无法使用全球定位系统;各机器人的初始位置可能相距很远,无法确定全局坐标系,在探索过程中,当两个机器人达到通讯范围之内,但无法获得相对位置信息时,如能实现局部环境子地图融合,不仅能够尽早避免冲突,而且可以尽早在机器人之间实现信息共享,有效实现多机器人之间的协调探索,提高探索效率。
环境地图一般分为两类栅格地图和拓扑地图,地图融合研究也分为两类。2005年《International Journal of Robotics Research》(《机器人学研究国际期刊》)在24(8)601-613发表的论文《Topological map merging》(《拓扑地图融合》)借鉴图匹配和图像配准算法,从图结构和图几何关系出发,搜索两个拓扑地图的重叠区域,实现拓扑地图的融合。2003年发表在《International Conference on Intelligent Robots and Systems》(《智能机器人及系统国际会议论文集》)212-217的论文《Map merging for distributed robotnavigation》(《用于分布式移动机器人系统导航的地图融合》)利用决策理论处理室内特征(如门、拐角和交叉点)的匹配,实现特征地图融合,拓扑地图多应用于结构化的室内环境。机器人在非结构化的应用环境中,大多采用栅格地图,栅格地图易创建、易进行路径规划、导航等任务,特别适合于环境特征难于提取的场合,2000年发表在《Proceedings of IEEEInternational Conference on Robotics and Automation》(《IEEE机器人学及自动化国际会议论文集》)321-328的论文《A real-time algorithm for mobile robot mapping withapplications to multi-robot and 3D mapping》(《移动机器人地图创建实时算法及其在多机器人三维地图创建中的应用》)的研究虽然假设各机器人的初始位置相互未知,但是假设各机器人可以在一中央机器人的全局地图上进行定位,由该中央机器人实现局部环境子地图的融合,通讯量大、存在单点故障等缺点。针对没有公共参考坐标系和机器人相对位置信息未知情况下的栅格子地图的融合问题,2003年发表在《Proc.IEEE/RSJ InternationalConference on Intelligent Robots and Systems(IROS)》(《IEEE/RSJ智能机器人及系统国际会议论文集》)3232-3238的论文《A practical,decision-theoretic approach tomulti-robot mapping and exploration》(《一种用于多机器人环境建模与探索的决策理论实用方法》)做了开创性研究,提出两机器人互相向对方传递栅格地图,在对方的栅格地图上利用粒子滤波器进行定位,获得相对位置信息的估计,然后再进行栅格地图的融合,由于采用集结策略,影响探索效率。2006年在《Proceedings of the IEEE》(《IEEE论文集》)94(7)1384-1397发表的论文《Merging occupancy grid maps from multiple robots》(《多机器人栅格地图融合》)则不考虑位置估计,把栅格地图的单元格是空闲或占有的情况用颜色表示,栅格地图表示为一个图,地图融合的问题就转化为将一幅图固定,另外一幅图作平移和旋转等平面变换TR:(tx,ty,θ),直到两幅图的相同部分相重叠,利用随机游走搜索策略寻找最优的平移和旋转参数TR*:(tx,ty,θ)*,但随机游走搜索策略收敛速度低,寻优效率不高。
作为一种并行进化算法,遗传算法已被广泛地应用于复杂多维空间的组合优化问题。然而,传统的遗传算法由于种群的多样性过快降低,有早熟收敛的缺点,易陷入局部最优。


发明内容
本发明针对现有多移动机器人系统中各个机器人独立创建局部环境栅格子地图融合技术存在的不足,提供一种能够快速高效地实现栅格子地图融合的基于免疫自适应遗传算法的机器人栅格子地图融合方法,该方法通过基于免疫自适应遗传算法的思想搜索栅格子地图最佳重叠区域。
本发明提供的基于免疫自适应遗传算法的机器人栅格子地图融合方法,把栅格子地图的融合问题看作是一个多维组合优化问题,即一个栅格子地图固定,另一个栅格子地图作旋转和平移等平面变换TR:(tx,ty,θ),先平移(tx,ty),再逆时针旋转θ,两个栅格子地图融合的问题转化为寻找两个栅格子地图最佳重叠相应的平面变换TR*:(tx,ty,θ)*,采用免疫原理,利用自适应遗传算法的全局并行搜索能力寻找两个栅格子地图的最佳重叠区域所对应的平面变换;将两个栅格子地图相应的矩阵作为抗原,抗体为第二个栅格子地图所作的平面变换,基于抗体与抗原亲和度,抗体种群在复制、交叉和变异算子操作下产生下一代抗体,根据相似矢量距计算的选择概率保证抗体多样性,在免疫原理基础上,根据抗体的适应度自适应地调节交叉概率和变异概率,减少局部最优的可能性;具体包括以下步骤 (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表示θ∈
;下标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的相异程度,定义为矩阵表示的两个栅格子地图的图距离 其中, 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进行估算 其中,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的归一化距离为 其中,B表示二进制,D表示十进制,显然,dij越大,两个抗体xi和xj的相似程度越低;抗体xi的浓度定义为与抗体xi相似度小于λ的抗体在总抗体种群中的比例,λ为一确定的阈值,取λ=0.2; 基于相似度和矢量距的选择概率为 其中,为抗体Xi的矢量距,N为抗体种群的抗体总数,α和β是调节因子,0≤α≤1,0≤β≤1; 选择概率既与抗体的适应度有关,又与抗体的相似度有关,在抗体浓度一定的条件下,抗体矢量距越大选择概率越大;在抗体矢量距一定的条件下,抗体浓度越小选择概率越大; (5)交叉和变异操作基于抗体的适应度,自适应地调节交叉和变异概率Pc,Pm,按照以下公式计算得到的Pc,Pm,进行交叉和变异操作,得到下一代种群 其中,fmax,favg分别是种群的最大和平均适应度;f′是进行交叉操作的两个抗体中较大适应度;f是进行变异操作的抗体适应度;Pc1,Pm1是设定的最大交叉和最大变异概率,Pc2,Pm2是设定的相对于最大适应度抗体的交叉和变异概率的下限值Pc1=0.9,Pc2=0.6,Pm1=0.1,Pm2=0.001; (6)由于优化函数的最优值未知,因此根据进化是否到达初始设定的最大进化代数,判断是否需要继续进化,如果没有进化到最大进化代数,则返回到步骤(2)继续进化; (7)如进化到最大代数,选择最佳适应度相应的平面变换,计算匹配因子cmatch, 如果cmatch=1,则两个栅格子地图的重叠区域完全匹配;cmacth越小,则意味着重叠区域的匹配程度越低。
本发明通过遗传算法的随机全局搜索、并行特性与免疫系统的抗体多样性机制相结合,寻优效率较高,能够有效地搜索在搜索空间随机分布的最佳平面变换,特别适合于复杂环境下的多移动机器人栅格子地图融合问题。这一问题的解决,具有实际意义,如各机器人因为应用场合限制无法使用全球定位系统;它们的初始位置相距很远,无法确定全局坐标系,在探索过程中,当两个机器人达到通讯范围之内,但无法获得相对位置信息时,如能实现栅格子地图融合,不仅能够尽早避免冲突,而且可以尽早在机器人之间实现信息共享,有效实现多机器人之间的协调探索,提高探索效率。



图1是本发明的基于免疫自适应遗传算法的栅格子地图融合方法流程图。
图2是第一个栅格子地图。
图3是第二个栅格子地图。
图4是利用高斯随机搜索算法搜索图2和图3所示两个栅格子地图的重叠区域的优化目标函数。
图5是利用本发明基于免疫自适应遗传算法搜索图2和图3所示两个栅格子地图的重叠区域的优化目标函数。
图6是利用高斯随机搜索算法搜索到的图2和图3所示两个栅格子地图的最佳重叠区域。
图7是利用本发明基于免疫自适应遗传算法搜索到的图2和图3所示两个栅格子地图的最佳重叠区域。
图8是第三个栅格子地图。
图9是第四个栅格子地图。
图10是利用高斯随机搜索算法搜索图8和图9所示两个栅格子地图重叠区域的优化目标函数。
图11是利用本发明基于免疫自适应遗传算法搜索图8和图9所示两个栅格子地图重叠区域的优化目标函数。
图12是利用高斯随机搜索算法搜索到的图8和图9所示两个栅格子地图的最佳重叠区域。
图13是利用本发明基于免疫自适应遗传算法搜索到的图8和图9所示两个栅格子地图的最佳重叠区域。

具体实施例方式 1基本概念 环境栅格地图用一n×m矩阵m表示,矩阵的第(i,j),(1≤i≤n,1≤j≤m)元素表示栅格(i,j)的占有或空闲状态,正值表示该栅格是空闲的,负值表示该栅格是被占有的,数值的绝对值表示确信程度。0表示相应栅格的状态信息是未知的。
由于不知道两个机器人的相对位置信息,无法直接融合两个栅格子地图,将一个栅格子地图固定,另一个栅格子地图尝试各种平移和旋转等平面变换,寻找两个栅格子地图的最佳重叠区域,根据最佳重叠区域的情况融合两个栅格子地图。假设栅格地图是二维的,栅格地图中某一点(x,y)由矢量[x y 1]T表示,如果地图先平移(tx,ty),然后再逆时针旋转θ,则该平面变换

可表示为 其中,tx,ty,θ是实数。
平面变换的集合为S=[-n,n]×[-m,m]×
2地图融合 为了融合两个机器人独自创建的栅格子地图,必须找到这两个栅格子地图的最佳重叠区域,假设栅格子地图分别由两个矩阵m1∈In×m和m2∈In×m表示,重叠函数定义为 其中,
重叠函数表示两个栅格子地图的相似程度,将一个栅格子地图固定,另一个栅格子地图进行各种平面变换,计算重叠区域的重叠函数; 3优化函数 栅格子地图的融合问题能够看作是一个多维组合优化问题,即一个栅格子地图固定,另一个栅格子地图作旋转和平移等平面变换,寻找两个栅格子地图最佳重叠所相应的平面转换(tx,ty,θ),一旦寻找到最优平面转换,就能够方便地进行地图融合。
3.1相异度函数 相异度函数ψ表示两个栅格子地图的相异程度,定义为矩阵表示的两个栅格子地图的图距离定义为 其中, C表示矩阵m1和m2的值域。C={-255,255},-255表示占有,255表示空闲。
m1[p1]=c表示地图m1中的栅格p1所对应的矩阵元素的值为c,c∈C; md(p1,p2)=|x1-x2|+|y1-y2|表示栅格p1(x1,y1)和p2(x2,y2)之间的Manhattan距离; #c(m1)=#{p1|m1[p1]=c}表示地图矩阵m1中值为c的元素的个数,c∈C。
3.2优化函数 针对栅格子地图的融合问题,优化函数定义为两部分一部分是度量两个栅格子地图重叠区域整体相异程度的相异度函数,一部分是度量重叠区域中具体栅格占有或空闲情况一致及不同的重叠函数。r1和r2分别表示某一平面变换相对应的两个栅格子地图m1和m2的重叠区域,r1≤m1,r2≤m2;重叠区域r1和r2中占有或空闲情况一致及不同的栅格数目表示为 agr(r1,r2)=#{p=(x,y)|r1[p]=r2[p]∈C} (5) dis(r1,r2)=#{p=(x,y)|r1[p]≠r2[p]∈C} (6) 在重叠区域完全一致的理想情况下,dis(r1,r2)=0,agr(r1,r2)等于r1的栅格数,也等于r2的栅格数; 寻找栅格子地图m1和m2最佳重叠区域的优化函数定义为 Δ(m1,m2)=ψ(r1,r2)+clock(dis(r1,r2)-agr(r1,r2))(7) clock≥0是比例系数,优化函数包括两部分第一部分是相异度函数,度量m1和m2重叠部分r1和r2的整体相异程度;第二部分度量r1和r2中占有或空闲情况不同及相同的栅格数之差。在某种程度上,第一部分从全局上度量r1和r2的相异度;第二部分从局部上度量r1和r2中每一个栅格的匹配情况,可看作是寻找最佳平面变换的微调,如果clock≠0,则优化函数综合考虑收敛速度和重叠区域的大小;如果clock值较大,则匹配栅格数多、重叠区域小相对应的平面变换优于匹配栅格数少、重叠区域大相应的平面变换,即更注重重叠区域在局部栅格的匹配情况,然而,优化所需计算量更大。取clock=1。
3.3适应度函数 针对栅格子地图融合问题是目标函数最小问题,适应度函数使用线性排序和选择压差为2进行计算 其中,sp表示压差,选择sp=2;pos为抗体按照目标函数进行排序后的位置,1≤pos≤N,N为抗体种群中的抗体总数。
3.4匹配因子 当进化到设定的最大进化代数,选择最佳适应度相应的平面变换,计算匹配因子cmatch, 如果cmatch=1,则两个栅格子地图的重叠区域完全匹配;cmacth越小,则意味着重叠区域的匹配程度越低。如cmatch≥0.9,则认为m2按照此抗体进行相应的平面变换后,与m1重叠区域相匹配,可以进行融合;如cmacth<0.9,则认为两个栅格子地图是关于不同环境的,没有交集,不能进行融合。
4基于免疫自适应遗传算法的栅格子地图融合方法 把栅格子地图的融合问题看作是一个多维组合优化问题,即一个栅格子地图固定,另一个栅格子地图作旋转和平移的平面变换,寻找两个栅格子地图最佳重叠相应的平面变换TR*:(tx,ty,θ)*。优化函数在多维空间上随机分布,因此无法通过梯度下降法寻优,本发明利用基于免疫自适应遗传算法搜索最佳平面变换TR*:(tx,ty,θ)*。一旦寻找到最优的平面转换,就寻找到了两个栅格子地图的重叠区域,可以方便地进行两个栅格子地图的融合。
4.1遗传算法 遗传算法是一种基于生物自然选择与遗传机理的随机全局搜索算法,与高斯随机搜索方法不同的是,从问题解的编码组而不是从单个解开始搜索,对参数编码的种群应用复制、交叉和变异等遗传算子产生下一代种群,种群中的每一字符串对应于一个可能解。遗传算法以生物群体方式在目标函数空间中执行并行搜索,可能解之间可以交换信息;交叉和变异操作可能产生新的可能解;而个体只需要计算适应度函数,计算简单;采用概率的变迁规则来指导搜索方向,而不采用确定性搜索规则,保证搜索的鲁棒性。然而,传统的遗传算法存在以下缺点单一编码无法表示某些优化问题的约束条件;易陷入局部最优解,且在优化后期,由于群体多样性降低导致收敛速度慢。
4.2免疫算法 免疫算法是受生物免疫系统启发发展而来的优化算法,需要解决的问题相应于抗原,问题的解相应于抗体,生物免疫系统会产生多种抗体对入侵机体的各种抗原做出反应,具有产生多样性抗体的能力,根据抗体的浓度进行促进或抑制调节以维持免疫系统的平衡稳定。
4.3基于免疫自适应遗传算法 基于免疫的自适应遗传算法,在传统遗传算法全局随机搜索基础上,借鉴人工免疫的自学习、记忆、抗体多样性的能力,克服传统遗传算法的早熟、过早收敛等缺点。在实际应用中,目标函数和约束表示为抗原,问题的解对应于抗体。基于抗体与抗原亲和度,抗体种群在复制、交叉和变异等算子操作下产生下一代抗体,并维持抗体多样性。对于栅格子地图融合问题,抗原为寻找到两个栅格子地图的最佳重叠区域,抗体表示为可能的平移和旋转等平面变换,抗体相似度表示为抗体相应的两个平面变换的相似程度。
4.4基于免疫自适应遗传算法的栅格子地图融合方法,如图1所示 4.4.1染色体编码和表示 利用二进制编码,每个抗体Xi长度为24位,前8位ai7,…,ai0表示tx∈[-n,n],中间8位bi7,…,bi0表示ty∈[-m,m],后8位ci7,…,ci0表示θ∈
, 4.4.2初始种群 初始种群用随机函数随机产生,根据大量仿真实验,综合考虑种群的多样性和收敛速度,定义初始种群的规模为10。
4.4.3适应度函数 遗传算法通过计算种群中个体的适应度进行进化,对于栅格子地图融合,针对栅格子地图融合问题是目标函数最小问题,适应度函数使用线性排序和选择压差为2进行估算 其中,sp表示压差,选择sp=2;pos为抗体按照目标函数进行排序后的位置,1≤pos≤N,N为抗体种群中的抗体总数。
4.4.4遗传算子 1)基于抗体相似度和矢量距的选择概率 在传统的遗传算法中,选择概率正比于种群中个体的适应度,这样,具有相同适应度的个体急剧增加,导致局部最优。为了克服这一问题,本发明利用基于抗体相似度和矢量距计算选择概率。
抗体相似度定义为抗体编码的归一化距离,抗体xi:(ai7,…,ai0,bi7,…,bi0,ci7,…,ci0)B和抗体xj:(aj7,…,aj0,bj7,…,bj0,cj7,…,cj0)B的归一化距离为 其中,B表示二进制,D表示十进制。显然,dij越大,两个抗体xi和xj的相似程度越低。抗体xi的浓度定义为与抗体xi相似度小于λ的抗体在总抗体种群中的比例 λ为一确定的阈值,取λ=0.2。
基于相似度和矢量距的选择概率为 其中,为抗体Xi的矢量距。N为抗体种群的抗体总数,α和β是调节因子,0≤α≤1,0≤β≤1。
选择概率既与抗体的适应度有关,又与抗体的相似度有关,在抗体浓度一定的条件下,抗体矢量距越大选择概率越大;在抗体矢量距一定的条件下,抗体浓度越小选择概率越大。从而,在保留高适应度抗体的同时维持了抗体的多样性,有助于抑制早熟收敛,增强局部搜索能力。
2)交叉和变异操作 交叉操作可防止早熟,使得搜索更具鲁棒性;变异操作改变种群中个体的某些位,可改善遗传算法的局部搜索。
交叉概率和变异概率是影响遗传算法性能的关键,直接影响收敛性。Pc,Pm(交叉和变异概率;)过大或过小都会影响收敛,本发明采用基于免疫的自适应遗传算法,根据抗体适应度自适应地调节Pc,Pm,如果种群各个体适应度趋于一致时,增加Pc,Pm;如果种群中各个体的适应度比较分散时,减少Pc,Pm;适应度大于种群平均适应度的个体具有较低的Pc,Pm,以保证它们在下一代出现;适应度小于平均适应度的个体具有较高的Pc,Pm,使它们不在下一代出现。
其中,fmax,favg分别是种群的最大和平均适应度;f′是进行交叉操作的两个抗体中较大适应度;f是进行变异操作的抗体适应度;Pc1,Pm1是设定的最大交叉和最大变异概率,Pc2,Pm2是设定的相对于最大适应度抗体的交叉和变异概率的下限值Pc1=0.9,Pc2=0.6,Pm1=0.1,Pm2=0.001。按照(13)式和(14)式,交叉和变异概率Pc,Pm可以自适应地进行调节,减少陷入局部最优的可能性。
把上述基于免疫的自适应遗传算法用于寻找栅格子地图的最优重叠区域,步骤如下 (1)输入两个栅格子地图相应的矩阵作为抗原,初始化抗体种群,初始化最大进化代数,初始化交叉概率和变异概率; (2)按照公式(7),计算抗体种群中所有抗体的优化函数值,即m2按照抗体Xi=TRi:(txi,tyi,θi),i=1,…,N,做相应的平面变换后与m1相重叠部分的优化函数值Δ(m1,TRi(m2)),i=1,…,N; (3)按照公式(8),使用线性排序和选择压差为2计算抗体种群中抗体的适应度函数值f(Xi),i=1,…,N,计算最大适应度及平均适应度fmax,favg,标注出最优抗体; (4)选择操作按照公式(12),基于抗体相似度和矢量距计算选择概率Ps,选择一些个体直接进入下一代种群; (5)交叉和变异操作按照公式(13)和(14),基于抗体的适应度,计算pc,Pm,按照计算得到的Pc,Pm,自适应地进行交叉和变异操作,得到下一代种群; (6)由于进化函数的最优值未知,根据进化是否到达初始设定的最大进化代数,判断是否需要继续进化,如果没有进化到最大进化代数,则返回到步骤(2)继续进化; (7)如进化到最大代数,选择最佳适应度相应的平面变换,按照公式(9),计算匹配因子cmatch,如果cmatch=1,则两个栅格子地图的重叠区域完全匹配;cmacth越小,则意味着重叠区域的匹配程度越低。如cmatch≥0.9,则认为m2按照此抗体进行相应的平面变换后,与m1重叠区域相匹配,可以进行融合;如cmacth<0.9,则认为两个栅格子地图是关于不同环境的,没有交集,不能进行融合,这时两个机器人无法共享信息。
在实验室所建立的多移动机器人环境建模和探索软件平台上,进行了仿真实验。在实验平台上,创建仿真环境,机器人进行扫描,根据仿真声纳模型,独立创建仿真环境的栅格地图。在地图中,“#”区域表示栅格地图中该位置被“占有”,“*”区域表示栅格地图中该位置是“空闲”,空白区域表示栅格地图中该区域“未知”。
图2和图3给出了两个栅格子地图。将本发明的基于免疫自适应遗传算法与2006.94(7)1384-1397在《Proceedings of the IEEE》(《IEEE论文集》)提供的《Mergingoccupancy grid maps from multiple robots》(《多移动机器人栅格子地图的融合高斯随机搜索算法》)作了对比实验。
利用高斯随机搜索算法和基于免疫自适应遗传算法搜索图2和图3所示两个栅格子地图的重叠区域,优化目标函数分别如图4和图5所示,搜索到的最佳重叠区域分别如图6和图7所示,随机搜索算法在搜索过程中实际搜索样本数为634,基于免疫自适应遗传算法进化到60代,实际计算的样本数为600,两者的计算量相差不大,但是基于免疫自适应遗传算法搜索到的最优目标函数值小得多,能够搜索到两个栅格子地图的最佳重叠区域,如图7所示。而利用高斯随机搜索算法需要更长的搜索时间才能搜索到最佳重叠区域。
对复杂的环境,也作了比较实验,如图8和图9给出了另外两个栅格子地图,高斯随机搜索算法和基于免疫自适应遗传算法的优化目标函数分别如图10和图11所示,搜索到的最佳重叠区域分别如图12和图13所示。随机搜索算法在搜索过程中实际计算样本数为2799;基于免疫自适应遗传算法进化到90代,计算的样本数为900,实际上进化到50代时,已能搜索到最佳重叠区域,如图13所示。可以看到,随着环境复杂程度的提高,基于免疫自适应遗传算法进行搜索的优越性表现得更好,基于免疫自适应遗传算法将遗传算法的随机全局搜索、并行特性与免疫系统的抗体多样性机制相结合,寻优效率较高,能够有效地搜索在搜索空间随机分布的最佳平面变换。
仿真实验结果证明,基于免疫自适应遗传算法与随机游走搜索算法相比,能够以较快的收敛速度和较大的概率搜索到栅格子地图最佳重叠区域,方便多机器人栅格子地图的有效融合,实现信息共享,有效实现多机器人之间的协调探索,提高探索效率。
权利要求
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表示θ∈
;下标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的相异程度,定义为矩阵表示的两个栅格子地图的图距离
其中,
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进行估算
其中,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的归一化距离为
其中,B表示二进制,D表示十进制,显然,dij越大,两个抗体xi和xj的相似程度越低;抗体xi的浓度定义为与抗体xi相似度小于λ的抗体在总抗体种群中的比例,λ为一确定的阈值,取λ=0.2;
基于相似度和矢量距的选择概率为
其中,为抗体Xi的矢量距,N为抗体种群的抗体总数,α和β是调节因子,0≤α≤1,0≤β≤1;
选择概率既与抗体的适应度有关,又与抗体的相似度有关,在抗体浓度一定的条件下,抗体矢量距越大选择概率越大;在抗体矢量距一定的条件下,抗体浓度越小选择概率越大;
(5)交叉和变异操作基于抗体的适应度,自适应地调节交叉和变异概率Pc,Pm,按照以下公式计算得到的Pc,Pm,进行交叉和变异操作,得到下一代种群
其中,fmax,favg分别是种群的最大和平均适应度;f′是进行交叉操作的两个抗体中较大适应度;f是进行变异操作的抗体适应度;Pc1,Pm1是设定的最大交叉和最大变异概率,Pc2,Pm2是设定的相对于最大适应度抗体的交叉和变异概率的下限值Pc1=0.9,Pc2=0.6,Pm1=0.1,Pm2=0.001;
(6)由于优化函数的最优值未知,因此根据进化是否到达初始设定的最大进化代数,判断是否需要继续进化,如果没有进化到最大进化代数,则返回到步骤(2)继续进化;
(7)如进化到最大代数,选择最佳适应度相应的平面变换,计算匹配因子cmatch,
如果cmatch=1,则两个栅格子地图的重叠区域完全匹配;cmacth越小,则意味着重叠区域的匹配程度越低。
全文摘要
本发明提供了一种基于免疫自适应遗传算法的机器人栅格子地图融合方法,将两个栅格子地图相应的矩阵作为抗原,抗体为第二个栅格子地图所作的平面变换,基于抗体与抗原亲和度,抗体种群在复制、交叉和变异算子操作下产生下一代抗体,根据相似矢量距计算的选择概率保证抗体多样性,在免疫原理基础上,根据抗体的适应度自适应地调节交叉概率和变异概率,减少局部最优的可能性。本发明寻优效率较高,能够有效地搜索在搜索空间随机分布的最佳平面变换,特别适合于复杂环境下的多移动机器人栅格子地图融合问题,可以实现尽早在机器人之间实现信息共享,有效实现多机器人之间的协调探索,提高探索效率。
文档编号G09B29/00GK101266659SQ200810016010
公开日2008年9月17日 申请日期2008年5月8日 优先权日2008年5月8日
发明者昕 马, 睿 郭, 李贻斌, 荣学文, 锐 宋 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1