一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

构建全局SLAM地图的方法、装置及存储介质与流程

2022-02-19 03:00:38 来源:中国专利 TAG:

构建全局slam地图的方法、装置及存储介质
技术领域
1.本发明涉及建筑场景slam地图的构建方法技术领域。


背景技术:

2.建筑施工机器人是一类在移动底盘搭载机械臂来做建筑施工的工作机器人,处理如喷漆、喷腻子、打磨、抹灰、贴地砖等等工作。其中移动机器人需要解决机器人定位与导航等问题,从而使其可以在建筑场景中自由工作。
3.在建筑施工设计流程中,建筑设计师通常使用二维cad平面图纸来描述建筑场景的具体规模与装修细节(门窗等)。这种地图具有容易绘制、尺寸精准,便于识别等优点。因而传统的建筑行业通常能够提供该类信息用于描述建筑物的内部环境。但由于建造施工工艺的误差问题,预先设计的cad图纸与实际建造环境存在一定程度的偏差,无法直接用于机器人定位。
4.为了完成建筑机器人施工相关任务,移动机器人通常需要利用其感知传感器(如激光雷达,视觉相机等)进行周围场景的辨识,进而生成点云地图匹配周围环境场景,得到机器人在局部环境中的定位。但由于传感器原理的限制,机器人地图匹配定位仅限于当前房间,其所获取的定位信息也只能探寻得到本体在当前所在单个房间场景下的位置。若为了获取整个建筑物内部的全局slam 地图,需要使机器人遍历移动到各个房间,并进行实时建图。当建筑物场景过大时,这种传统建图方法存在计算量大、占用资源高,且建图精度较低的问题,无法满足建筑施工工艺的高精度要求。倘若缺少全局地图信息,在进行多机器人协同合作任务统筹安排时,总体控制端很难完成多机协同优化调度的任务。


技术实现要素:

5.本发明提供一种构建全局slam地图的方法、装置及存储介质,以至少解决现有技术中的一个或多个问题。
6.第一方面,本发明实施例提供了一种构建全局slam地图的方法,包括:
7.s1对当前的建筑空间构建局部slam地图;
8.s2提取局部slam地图特征;
9.s3将局部slam地图与cad各房间地图依次进行匹配,选取一个最佳匹配结果;
10.s4根据s3找到的当前局部slam地图相对应的cad房间地图,基于该cad 房间地图在全局cad地图中的位置,将当前的局部slam地图填充至对应的全局 slam地图位置;
11.s5进入下一个建筑空间,重复s1-s4步骤,直到生成能用于机器人全局定位导航的全局slam地图。
12.本发明实施例,在第一方面的第一种实现方式中,所述的s1构建局部slam 地图步骤,是指机器人移动进入建筑场景中某具体房间,扫描四周环境,生成当前房间点云地图,去除生成slam地图中的灰色区域;得到灰色区域边缘定位后,框选其中有用信息集中的区域,用于后续地图匹配处理。
13.本发明实施例,在第一方面的第二种实现方式中,所述的s1构建局部slam 地图步骤,还包括调整修剪后的slam地图分辨率,使之与cad图纸分辨率近似,优化匹配效率。
14.本发明实施例,在第一方面的第三种实现方式中,s1构建局部slam地图步骤,去除生成slam地图中的灰色区域,包括:对slam地图中的行列具体像素位置计算该点协方差矩阵,判断该像素是否为灰色像素过渡区域。
15.本发明实施例,在第一方面的第四种实现方式中,所述的s2提取局部slam 地图特征,包括:s2.1使用canny算法提取地图轮廓边界,通过高斯模糊滤波器降低噪音像素,使用sobel算子计算图像梯度提取模糊轮廓,非极大值抑制算法减小所提取的轮廓宽度,使图像更加准确,最后利用双阈值处理方法保留轮廓,从而获取地图轮廓特征;s2.2使用hough变换提取轮廓图中的直线,并计算各直线特征所对应的斜率与截距,从而在局部坐标系中定位该直线具体位置。这些直线特征即对应房间场景中的墙面。
16.本发明实施例,结合第一方面的第四种实现方式,第一方面的第五种实现方式中,s3将局部slam地图与cad各房间地图依次进行匹配,包括:
17.s3.1将已提取直线中强度最大直线转正(即正向90度),使得slam地图为正向,不会出现某角度倾斜;
18.s3.2将每次旋转后的slam地图与cad各房间地图依次进行匹配:利用 matchtemplate模板匹配算法,对应相似像素区域,选取最优匹配结果;
19.s3.3将slam地图旋转90度后,重复s3.1和s3.2步骤,获取四个方向上的最佳匹配结果,并比较选取其中最优匹配方案,即slam地图左上角像素在背景图cad图中的像素坐标(以cad图左上角为坐标原点);
20.s3.4匹配完成后,计算局部slam地图原点与当前房间cad地图原点的3x3 齐次变换矩阵(二维变换)。
21.本发明实施例,结合第一方面的第五种实现方式,第一方面的第六种实现方式,将当前的局部slam地图填充至对应的全局slam地图位置包括:
22.s4.1根据s3步骤找到当前房间局部slam地图相对应的cad房间地图;
23.s4.2利用所计算获得的坐标转换关系,将slam地图与对应cad房间图纸方向位移调整一致;
24.s4.3基于该房间cad地图在全局cad地图中的位置,将当前局部slam地图填充至对应全局slam地图位置。
25.第二方面,本发明实施例提供了一种构建全局slam地图的装置,包括:
26.第一单元,用于对当前的建筑空间构建局部slam地图;
27.第二单元,用于提取局部slam地图特征;
28.第三单元,用于将局部slam地图与cad各房间地图依次进行匹配,选取一个最佳匹配结果;
29.第四单元,用于:根据s3找到的当前局部slam地图相对应的cad房间地图,基于该cad房间地图在全局cad地图中的位置,将当前的局部slam地图填充至对应的全局slam地图位置;
30.第五单元,用于:进入下一个建筑空间,重复第一单元到第四单元的工作,直到生成能用于机器人全局定位导航的全局slam地图。
31.本发明实施例,在第二方面的第一种实现方式中,所述第一单元用于:机器人移动进入建筑场景中某具体房间,扫描四周环境,生成当前房间点云地图,去除生成slam地图中的灰色区域;得到灰色区域边缘定位后,框选其中有用信息集中的区域,用于后续地图匹配处理。
32.本发明实施例,在第二方面的第二种实现方式中,所述的第一单元还用于:调整修剪后的slam地图分辨率,使之与cad图纸分辨率近似,优化匹配效率。
33.本发明实施例,在第二方面的第三种实现方式中,第一单元还包括一判断模型,用于对slam地图中的行列具体像素位置计算该点协方差矩阵,判断该像素是否为灰色像素过渡区域。
34.本发明实施例,在第二方面的第四种实现方式中,所述的用于提取局部slam 地图特征的第二单元,包括两个子单元:第一子单元,用于:使用canny算法提取地图轮廓边界,通过高斯模糊滤波器降低噪音像素,使用sobel算子计算图像梯度提取模糊轮廓,非极大值抑制算法减小所提取的轮廓宽度,使图像更加准确,最后利用双阈值处理方法保留轮廓,从而获取地图轮廓特征;第二子单元,用于:使用hough变换提取轮廓图中的直线,并计算各直线特征所对应的斜率与截距,从而在局部坐标系中定位该直线具体位置。
35.本发明实施例,结合第二方面的第四种实现方式,第二方面的第五种实现方式中,第三单元将局部slam地图与cad各房间地图依次进行匹配,其包括:
36.图像处理模型,用于:将已提取直线中强度最大直线转正(即正向90度),使得slam地图为正向,不会出现某角度倾斜;
37.匹配模型,用于:将每次旋转后的slam地图与cad各房间地图依次进行匹配:利用matchtemplate模板匹配算法,对应相似像素区域,选取最优匹配结果;
38.坐标变换模型,用于:将slam地图旋转90度后,重复s3.1和s3.2步骤,获取四个方向上的最佳匹配结果,并比较选取其中最优匹配方案,即slam地图左上角像素在背景图cad图中的像素坐标(以cad图左上角为坐标原点);
39.定位模型,用于:匹配完成后,计算局部slam地图原点与当前房间cad地图原点的3x3齐次变换矩阵(二维变换)。
40.本发明实施例,结合第二方面的第五种实现方式,第二方面的第六种实现方式,所述的第四单元包括:
41.转换模型,用于:根据第三单元找到当前房间局部slam地图相对应的cad 房间地图,利用所计算获得的坐标转换关系,将slam地图与对应cad房间图纸方向位移调整一致;
42.生成模型,用于:基于该房间cad地图在全局cad地图中的位置,将当前局部slam地图填充至对应全局slam地图位置。
43.第三方面,本发明实施例提供了一种构建全局slam地图的装置,包括一个或多个处理器、存储装置;存储装置,用于存储一个或多个程序;当所述的一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中的任一所述的一种构建全局slam地图的方法。
44.第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的一种构建全局 slam地图的方法。
45.本发明有益效果:
46.本发明利用建筑场景cad图纸所提供的建筑物内各个房间具体尺寸与形状等信息,与机器人本体感知所得局部点云地图进行匹配,定位到机器人当前所处房间,并将所建的局部slam地图根据cad图纸的信息填充至全局slam地图的相应位置,进而完成多个地图拼接成一个完整的全局地图,从而使机器人本身不仅能够获取其在局部房间内的定位,也能识别其当前所处房间,得到机器人在整体建筑物中的具体位置,进而优化整体调度逻辑,提高任务效率。
47.本发明实施例提供的建图方法将一次建立一整张地图拆分为数个局部房间地图构建后整合,所需要的计算量低;且由于局部建图的精度较高,拼接完成得到的全局地图精度也可以大大提高。
48.本发明实施例提供的构建全局slam地图的方法,在关键步骤地图匹配算法中使用到的算法主要分三部分,一部分是图像处理方面,一部分是坐标变换与机器人定位,最后一部分是根据定位信息将局部slam地图拼接为整体slam地图。解决了如何利用cad图纸模型辅助机器人感知建立全局slam地图的问题。
49.下面结合附图对本发明的具体实施方式举例说明:
附图说明
50.图1为本专利实施例提供的一种构建全局slam地图方法的流程图。
具体实施方式
51.此处所描述的具体实施例仅仅用于解释本专利的技术方案,而非对公开技术方案的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开技术方案相关的部分而非全部结构。
52.在更加详细地讨论示例性实施例之前应当提到的是,实施例中提到的设备部件和/模块本身的结构如果没有详细说明,为本领域技术人员根据现有公开技术可理解或市售产品。
53.图1为本实施例提供的一种优选的构建全局slam地图的方法。
54.1.硬件平台
55.1.1带有激光雷达传感器的轮式移动底盘,用于收集周围场景点云信息并定位。
56.1.2建筑场景cad图纸与各房间cad平面图。
57.2.局部房间slam地图建图
58.2.1机器人移动进入建筑场景中某具体房间。
59.2.2机器人利用激光雷达传感器扫描四周环境,生成当前房间点云地图。
60.2.3去除生成slam地图中的灰色区域(无点云信息部分)。优选的方法之一是:为对slam地图中的某行列具体像素位置计算该点协方差矩阵,判断该像素是否为灰色像素过渡区域。得到灰色区域边缘定位后,矩形框选其中有用信息集中的区域,用于后续地图匹配处理,从而降低图像处理运算量。
61.2.4调整修剪后slam地图分辨率,应与cad图纸分辨率近似,方能优化匹配效率。
62.3.局部slam地图特征提取
63.3.1使用canny算法提取地图轮廓边界,通过高斯模糊滤波器降低噪音像素,使用
sobel算子计算图像梯度提取模糊轮廓,非极大值抑制算法减小所提取的轮廓宽度,使图像更加准确,最后利用双阈值处理方法保留轮廓,从而获取地图轮廓特征。
64.3.2使用hough变换提取轮廓图中的直线,并计算各直线特征所对应的斜率与截距,从而在局部坐标系中定位该直线具体位置。这些直线特征即对应房间场景中的墙面。
65.4.匹配当前局部slam地图与各个房间cad地图
66.4.1将已提取直线中强度最大直线转正(即正向90度),从而使得slam地图为正向,不会出现某角度倾斜,从而加速地图匹配。
67.4.2由于slam地图与cad地图可能存在方向上的不一致(如相差90度),将 slam地图绕地图中心点进行旋转某一特定角度(90度),并多次尝试模板匹配。
68.4.3利用matchtemplate模板匹配算法,对应相似像素区域,选取最优匹配变换。将每次旋转后的slam地图与cad各房间地图依次进行匹配,选取一个最佳匹配结果。
69.4.4将slam地图旋转90度后,重复4.1-4.3的步骤,获取四个方向上的最佳匹配结果,并比较选取其中最优匹配方案。匹配结果输出的最佳匹配位置可以理解为slam地图左上角像素在背景图(cad图)中的像素坐标(以cad图左上角为坐标原点)。
70.4.5匹配完成后,计算局部slam地图原点与当前房间cad地图原点的3x3齐次变换矩阵(二维变换)。由于匹配结果为slam地图的像素中心到cad地图原点,需要先计算slam地图中像素中心与像素原点间坐标关系,从而获得最终变换矩阵。
71.5.局部slam地图融合
72.5.1根据前述流程找到当前房间slam地图相对应的cad房间地图
73.5.2利用所计算获得的坐标转换关系,将slam地图摆正,即与对应cad房间图纸方向位移一致。
74.5.3基于该房间cad地图在全局cad地图中的位置,将当前slam地图填充至对应全局slam地图位置。
75.6.全局slam地图融合拼接
76.机器人导航移动,进入下一个房间,重复上述流程,直到生成全局slam地图,用于机器人全局定位。
77.本实施例提供一种构建全局slam地图的装置,包括:
78.第一单元,用于对当前的建筑空间构建局部slam地图;
79.第二单元,用于提取局部slam地图特征;
80.第三单元,用于将局部slam地图与cad各房间地图依次进行匹配,选取一个最佳匹配结果;
81.第四单元,用于:根据s3找到的当前局部slam地图相对应的cad房间地图,基于该cad房间地图在全局cad地图中的位置,将当前的局部slam地图填充至对应的全局slam地图位置;
82.第五单元,用于:进入下一个建筑空间,重复第一单元到第四单元的工作,直到生成能用于机器人全局定位导航的全局slam地图。
83.所述第一单元用于:机器人移动进入建筑场景中某具体房间,扫描四周环境,生成当前房间点云地图,去除生成slam地图中的灰色区域;得到灰色区域边缘定位后,框选其中有用信息集中的区域,用于后续地图匹配处理。更进一步,所述的第一单元还用于:调整修
剪后的slam地图分辨率,使之与cad图纸分辨率近似,优化匹配效率。另一优选的,第一单元还包括一判断模型,用于对slam地图中的行列具体像素位置计算该点协方差矩阵,判断该像素是否为灰色像素过渡区域。
84.优化的实施方式之一,所述的用于提取局部slam地图特征的第二单元,包括两个子单元:第一子单元,用于:使用canny算法提取地图轮廓边界,通过高斯模糊滤波器降低噪音像素,使用sobel算子计算图像梯度提取模糊轮廓,非极大值抑制算法减小所提取的轮廓宽度,使图像更加准确,最后利用双阈值处理方法保留轮廓,从而获取地图轮廓特征;第二子单元,用于:使用hough变换提取轮廓图中的直线,并计算各直线特征所对应的斜率与截距,从而在局部坐标系中定位该直线具体位置。
85.进一步优化的实现方式中,第三单元将局部slam地图与cad各房间地图依次进行匹配,其包括:
86.图像处理模型,用于:将已提取直线中强度最大直线转正(即正向90度),使得slam地图为正向,不会出现某角度倾斜;
87.匹配模型,用于:将每次旋转后的slam地图与cad各房间地图依次进行匹配:利用matchtemplate模板匹配算法,对应相似像素区域,选取最优匹配结果;
88.坐标变换模型,用于:将slam地图旋转90度后,重复s3.1和s3.2步骤,获取四个方向上的最佳匹配结果,并比较选取其中最优匹配方案,即slam地图左上角像素在背景图cad图中的像素坐标(以cad图左上角为坐标原点);
89.定位模型,用于:匹配完成后,计算局部slam地图原点与当前房间cad地图原点的3x3齐次变换矩阵(二维变换)。
90.进一步优化的实现方式,所述的第四单元包括:
91.转换模型,用于:根据第三单元找到当前房间局部slam地图相对应的cad 房间地图,利用所计算获得的坐标转换关系,将slam地图与对应cad房间图纸方向位移调整一致;
92.生成模型,用于:基于该房间cad地图在全局cad地图中的位置,将当前局部slam地图填充至对应全局slam地图位置。
93.在一种可实现的设计中,本发明实施例还提供一种构建全局slam地图的装置,包括一个或多个处理器、存储装置;存储装置,用于存储一个或多个程序;当所述的一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明中任意可选的一种构建全局slam地图的方法。还可以包括通信接口,用于与其它设备或通信网络进行通信。
94.另一方面,本发明实施例还可提供一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述本发明中提供的任一一种构建全局 slam地图的方法。
95.本领域的技术人员可以理解实现上述实施例方法提供的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法中的步骤之一或其组合。
96.以上是对本发明的较佳实施进行了举例说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献