一种基于最大公共子图的栅格地图融合方法技术

技术编号:18942015 阅读:49 留言:0更新日期:2018-09-15 11:22
本发明专利技术公开了一种基于最大公共子图的栅格地图融合方法,包括以下步骤:S1、创建环境的栅格地图;S2、提取待融合的栅格地图的Harris角点;S3、从每个待融合的栅格地图中提取出三个角点;S4、判断输入的三对角点是否可以构成三角形同构方案,如果不可以,则返回S3;如果可以,则执行S5;S5、迭代构造多边形同构方案;S6、判断待融合的栅格地图中是否还有角点未被带入三角形同构方案,如果有,则返回S3;如果没有,则执行S7;S7、选择最优的多边形同构方案,以及对应的最优变换矩阵;S8、根据最优的变换矩阵以及融合规则,实现栅格地图融合。本发明专利技术能可靠的实现栅格地图的融合,并且具有融合精度高的优点。

A raster map fusion method based on maximum common subgraph

The invention discloses a raster map fusion method based on the largest common subgraph, which comprises the following steps: S1, creating a raster map of the environment; S2, extracting Harris corners of the raster map to be fused; S3, extracting three corners from each raster map to be fused; S4, judging whether the input triangular points can be constructed or not. Triangular isomorphism scheme, if not, return to S3; if possible, then S5; S5, Iterative Construction of polygon isomorphism scheme; S6, judging whether there are corners in the grid map to be fused not into triangular isomorphism scheme, if there is, return to S3; if not, then S7; S7, select the best many The scheme of isomorphism of polygon and the corresponding optimal transformation matrix; S8. According to the optimal transformation matrix and fusion rules, the raster map fusion is realized. The invention can reliably realize the fusion of raster map and has the advantages of high fusion accuracy.

【技术实现步骤摘要】
一种基于最大公共子图的栅格地图融合方法
本专利技术属于移动机器人建图领域,特别是单机器人的graph-SLAM以及多机器人SLAM,具体涉及一种基于最大公共子图的栅格地图融合方法。
技术介绍
同时定位与地图创建对于移动机器人来说是一项关键技术,移动机器人具备该项技术可以通过自身携带的传感器探索未知环境并且完成更加复杂的工作。学术界对此项技术的研究已经有三十多年了,也提出了很多有效的单机器人SLAM的方法。单机器人SLAM方法大体上可以分为两种:一是基于滤波的方法,二是基于优化的方法。近些年,随着一些高效的求解方法的提出,graph-SLAM成为了单机器人SLAM研究的重点。Graph-SLAM可以分为前端和后端两个部分。其中前端主要实现图的构建,这里面包括扫描匹配和闭环检测;后端主要用来对图进行优化。Graph-SLAM的一个难点在于如何进行子图的融合,特别是闭环检测。随着单机器人在理论与实践上取得的突破,近些年来,多机器人SLAM成为了移动机器人领域的研究重点。与单机器人相比,多机器人SLAM可以并行工作,这就节省了建图的时间,提高建图的效率;多机器人SLAM有很好的抗干扰性,当一个或几个机器人出现故障,其他机器人可以继续协作完成地图的创建,这在实践中显得尤为重要;另外,多机器人可以获得更多的环境信息,提高了所创建地图的精确度。由此可见,无论是单机器人graph-SLAM还是多机器人SLAM,都必须解决地图的融合问题。因此,需要研究出一种精度高、速度快的地图融合方法,这可以扩大移动机器人的应用范围,对社会智能化发展有着重要的意义。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种基于最大公共子图的栅格地图融合方法。为了达到上述目的,本专利技术的技术方案如下:本专利技术提供一种基于最大公共子图的栅格地图融合方法,包括以下步骤:S1、两个机器人创建环境的栅格地图或者一个机器人在不同的时间创建环境的栅格地图,并且两个栅格地图之间存在重叠;S2、提取待融合的栅格地图的Harris角点;S3、从每个待融合的栅格地图中提取出三个角点;S4、判断输入的三对角点是否可以构成三角形同构方案,如果不可以,则返回S3;如果可以,则执行S5;S5、迭代构造多边形同构方案;S6、判断待融合的栅格地图中是否还有角点未被带入三角形同构方案,如果有,则返回S3;如果没有,则执行S7;S7、选择最优的多边形同构方案,即为最大公共子图,以及对应的最优变换矩阵;S8、根据最优的变换矩阵以及融合规则,实现栅格地图融合。优选的,步骤S2中的角点提取方法使用的是Harris角点提取算法。优选的,步骤S4中的三角形同构方案包括以下步骤:S41.判断同一栅格地图中的三个角点是否可以构成三角形,如果不可以,则返回步骤S3;如果可以,则进行步骤S42;S42.计算同一栅格地图中三个角点构成的三角形的边长,并按照从小到大的顺序排列;S43.使用同构误差公式计算误差,同构误差公式具体为:e={|a1-b1|+|a2-b2|+|a3-b3|}其中,{a1,a2,a3}以及{b1,b2,b3}代表按照从小到大排列的三角形的边长;S44.如果同构误差大于给定的阈值,则返回步骤S3;如果小于给定阈值,则将这三对角点保存,带入步骤S5。优选的,步骤S5具体为:S51.假设待融合的栅格地图为GA和GB,对应的提取出来的角点集合为VA和VB;首先,由步骤S4得到的三角形同构方案M中三对角点对应关系,求出初始变换矩阵为并计算变换之后的角点距离为:其中,M={MA,MB},mAi∈MA,mBi∈MR,表示将mBi中的坐标根据变换矩阵做变换;S52.将M中的角点从角点集合中删除,得到新的角点集合为VA′和VB′;S53.根据初始变换矩阵将VB′中的角点坐标变换为S54.计算VA′与中角点的距离,并判断最小的距离是否小于给定阈值,如果小于,将最小值对应的这对角点加入到M中,则M由于加入了角点变成M′;如果大于,则迭代结束;S55.根据M′计算新的变换矩阵并且计算距离D1,D2:其中,S56.比较D1与D2的大小,如果D2≤D1,则加入的一对角点在两个栅格地图的重叠区域;返回步骤S5的S51,迭代更多的角点来优化变换矩阵;S57.如果VA′或者VB′中有一个为空集,或者VA′与中角点的最小距离大于给定阈值,则迭代结束,执行步骤S7。优选的,步骤S7中的选择最优多边形同构方案具体为:将多边形同构方案中在GB中的角点坐标根据该方案得到的变换矩阵做变换,并且求解变换之后的角点坐标与其对应的在GA中的角点坐标的距离之和,再将该距离和除以多边形同构方案的边数,得到距离误差的平均值,则误差平均值最小的多边形同构方案即为最优方案,其对应的变换矩阵即为最优变换矩阵。优选的,步骤S8的融合规则具体为:S81.创建一个空地图,该地图的边长为待融合地图中最大边长的3倍;S82.将地图GB中的坐标根据最优变换矩阵做变换;S83.比较GB变换后的栅格值与对应的GA的栅格值,若对应的栅格有一个为占据,则融合后的地图该栅格为占据;若对应的栅格都不为占据,且有一个为空,则融合后的地图该栅格为空;其他的融合后的栅格为未知。优选的,待融合的栅格地图是以栅格形式表示的局部地图,且待融合的栅格地图必须存在重叠区域。优选的,栅格地图是由SLAM算法处理机器人的内部以及外部传感器数据进而得到的环境描述。优选的,栅格地图被划分成等分辨率的栅格,每个栅格的值代表该栅格被障碍物占据的可能,其由空、未知和占据三种状态表示。优选的,步骤S7中寻找最大公共子图是通过将栅格地图上的角点带入三角形同构方案以及迭代多边形同构方案,进而寻找最优多边形同构方案来实现。本专利技术相较于现有技术,具有以下有益效果:本专利技术通过运用提取出来的栅格地图上的Harris角点来迭代寻找最大公共子图,再通过最大公共子图上角点的对应关系计算最优变换的矩阵,以实现栅格地图的精确融合。附图说明图1为本专利技术所提方法的工作流程图。图2是待融合的栅格地图。图3是图2提取出来的Harris角点。图4是三角形同构方案的结果。图5是迭代多边形同构方案的结果。图6是使用本专利技术提出方法的地图融合结果。具体实施方式下面结合附图详细说明本专利技术的优选实施方式。为了达到本专利技术的目的,如图1所示,在本专利技术的其中一种实施方式中提供一种基于最大公共子图的栅格地图融合方法,包括以下步骤:S1、两个机器人创建环境的栅格地图或者一个机器人在不同的时间创建环境的栅格地图,并且两个栅格地图之间存在重叠;如图2所示,栅格地图是由SLAM算法处理机器人的内部以及外部传感器数据进而得到的环境描述,待融合的栅格地图是以栅格形式表示的局部地图,从图中可以看出,待融合的栅格地图必须存在重叠区域;S2、提取待融合的栅格地图的Harris角点;如图3所示,图中‘*’表示从栅格地图上提取出来的Harris角点;S3、从每个待融合的栅格地图中提取出三个角点;S4、判断输入的三对角点是否可以构成三角形同构方案,如果不可以,则返回S3;如果可以,则执行S5;三角形同构方案是指将同一个栅格地图上的三个角点组成的三角形的边长按照从小到大的顺序排列,再求这些不同地图上的排列好的边长的差的绝对值之和,当这个和小于给定阈值时,则这两个三角本文档来自技高网...

【技术保护点】
1.一种基于最大公共子图的栅格地图融合方法,其特征在于,包括以下步骤:S1、两个机器人创建环境的栅格地图或者一个机器人在不同的时间创建环境的栅格地图,并且两个栅格地图之间存在重叠;S2、提取待融合的栅格地图的Harris角点;S3、从每个待融合的栅格地图中提取出三个角点;S4、判断输入的三对角点是否可以构成三角形同构方案,如果不可以,则返回S3;如果可以,则执行S5;S5、迭代构造多边形同构方案;S6、判断待融合的栅格地图中是否还有角点未被带入三角形同构方案,如果有,则返回S3;如果没有,则执行S7;S7、选择最优的多边形同构方案,即为最大公共子图,以及对应的最优变换矩阵;S8、根据最优的变换矩阵以及融合规则,实现栅格地图融合。

【技术特征摘要】
1.一种基于最大公共子图的栅格地图融合方法,其特征在于,包括以下步骤:S1、两个机器人创建环境的栅格地图或者一个机器人在不同的时间创建环境的栅格地图,并且两个栅格地图之间存在重叠;S2、提取待融合的栅格地图的Harris角点;S3、从每个待融合的栅格地图中提取出三个角点;S4、判断输入的三对角点是否可以构成三角形同构方案,如果不可以,则返回S3;如果可以,则执行S5;S5、迭代构造多边形同构方案;S6、判断待融合的栅格地图中是否还有角点未被带入三角形同构方案,如果有,则返回S3;如果没有,则执行S7;S7、选择最优的多边形同构方案,即为最大公共子图,以及对应的最优变换矩阵;S8、根据最优的变换矩阵以及融合规则,实现栅格地图融合。2.根据权利要求1所述的基于最大公共子图的栅格地图融合方法,其特征在于,步骤S2中的角点提取方法使用的是Harris角点提取算法。3.根据权利要求1所述的基于最大公共子图的栅格地图融合方法,其特征在于,步骤S4中的三角形同构方案包括以下步骤:S41.判断同一栅格地图中的三个角点是否可以构成三角形,如果不可以,则返回步骤S3;如果可以,则进行步骤S42;S42.计算同一栅格地图中三个角点构成的三角形的边长,并按照从小到大的顺序排列;S43.使用同构误差公式计算误差,同构误差公式具体为:e={|a1-b1|+|a2-b2|+|a3-b3|}其中,{a1,a2,a3}以及{b1,b2,b3}代表按照从小到大排列的三角形的边长;S44.如果同构误差大于给定的阈值,则返回步骤S3;如果小于给定阈值,则将这三对角点保存,带入步骤S5。4.根据权利要求1所述的基于最大公共子图的栅格地图融合方法,其特征在于,步骤S5具体为:S51.假设待融合的栅格地图为GA和GB,对应的提取出来的角点集合为VA和VB;首先,由步骤S4得到的三角形同构方案M中三对角点对应关系,求出初始变换矩阵为并计算变换之后的角点距离为:其中,M={MA,MB},mAi∈MA,mBi∈MB,表示将mBi中的坐标根据变换矩阵做变换;S52.将M中的角点从角点集合中删除,得到新的角点集合为VA′和VB′;S53.根据初始变换矩阵将VB′中的角点坐标变换为S54.计算VA′与中角点的距离,并判断最小的距离是否小于给定阈值,如果小于,将...

【专利技术属性】
技术研发人员:孙荣川孙勇郁树梅林睿陈国栋
申请(专利权)人:苏州大学张家港工业技术研究院苏州大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1