一种视觉SLAM机器人栅格地图构建方法与流程
未命名
09-13
阅读:87
评论:0

一种视觉slam机器人栅格地图构建方法
技术领域
1.本发明涉及地图构建领域,具体涉及一种视觉slam机器人栅格地图构建方法。
背景技术:
2.目前同步定位与地图构建技术(slam,simultaneous localization and mapping)已被广泛应用于机器人定位导航、无人驾驶等领域,同步定位与地图构建技术主要分为激光slam技术和视觉slam技术。其中,视觉slam技术主要是基于视觉传感器来完成环境的感知工作,目前视觉slam技术采用的视觉传感器主要分为单目相机、双目相机和深度相机这三类,其中还有鱼眼相机和全景相机等特殊相机,视觉slam技术中构建的定位地图主要是由三维点云构成,而在目前的智能机器人中主要采用二维栅格地图完成机器人的定位导航,如何将视觉slam定位地图与二维栅格地图产生联系,使得既能利用视觉slam定位的有效位姿数据,又能生成智能机器人所需的二维栅格地图,是目前地图构建领域内的尚未攻克的难点。
技术实现要素:
3.为解决上述问题,本发明提供了一种视觉slam机器人栅格地图构建方法,在视觉slam技术的基础上实现基于视觉slam定位信息构建二维栅格地图,通过融合多幅局部栅格地图生成全局栅格地图的方式,大幅提高机器人栅格地图构建精度。本发明的具体技术方案如下:一种视觉slam机器人栅格地图构建方法,所述视觉slam机器人栅格地图构建方法包括:视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内是否存在符合预设搜索规则的局部栅格地图的部分栅格;若不存在,则根据视觉slam机器人当前三维位姿信息构建当前结点,并基于当前结点构建当前局部栅格地图;重复前述步骤,直至视觉slam机器人处于预设状态时将构建的全部局部栅格地图融合为全局栅格地图。
4.进一步地,所述根据视觉slam机器人当前三维位姿信息构建当前结点的方法,具体包括:将所述视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面,生成所述视觉slam机器人当前二维位姿信息,将所述视觉slam机器人当前二维位姿信息作为当前结点的位姿信息以构建当前结点。
5.进一步地,所述基于当前结点构建当前局部栅格地图的方法,具体包括:以所述当前结点作为所述当前局部栅格地图的中心点,将所述当前局部栅格地图构建为n*n个栅格的正方形,将所述当前局部栅格地图中每一个栅格配置为边长等于预设边长的正方形;其中,所述n为大于0的奇数。
6.进一步地,每一个结点存在一一对应构建的一幅局部栅格地图。
7.进一步地,所述视觉slam机器人栅格地图构建方法还包括:若所述视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内存在符合预设搜索规则的局部栅格地图的部分栅格,则所述视觉slam机器人在符合预设搜索规则的局部栅格地图中标记栅格信
息。
8.进一步地,所述视觉slam机器人在符合预设搜索规则的局部栅格地图中标记栅格信息的方法,具体包括:将所述视觉slam机器人机身所覆盖的栅格在所述符合预设搜索规则的局部栅格地图中标记为未被占用栅格,将所述视觉slam机器人搭载的障碍物传感器检测到障碍物所覆盖的栅格在所述符合预设搜索规则的局部栅格地图中标记为被占用栅格,将所述视觉slam机器人搭载的障碍物传感器未检测到障碍物覆盖且所述视觉slam机器人机身未覆盖的栅格在所述符合预设搜索规则的局部地图中标记为未知栅格。
9.进一步地,所述符合预设搜索规则的局部栅格地图的部分栅格是指能够将所述视觉slam机器人机身当前所覆盖的区域全部包含在内的一幅局部栅格地图的部分栅格。
10.进一步地,所述视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内是否存在符合预设搜索规则的局部栅格地图的部分栅格的方法,具体包括:将所述视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面,生成所述视觉slam机器人当前二维位姿信息;分别计算所述视觉slam机器人当前二维位姿信息与各个结点的位姿信息之间的距离,并判断是否存在结点的位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离;若存在至少一个结点位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离,则将与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离的全部结点所代表的全部局部栅格地图确认为当前符合预设搜索规则的局部栅格地图,确定为视觉slam机器人机身当前所覆盖区域内存在符合预设搜索规则的局部栅格地图的部分栅格;若不存在结点位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离,则确定为所述视觉slam机器人其机身当前所覆盖区域内不存在符合预设搜索规则的局部栅格地图的部分栅格;其中,所述第一预设距离是指n/2与栅格的边长的乘积减去视觉slam机器人机身半径。
11.进一步地,所述符合预设搜索规则的局部栅格地图的部分栅格是指在所述视觉slam机器人机身当前所覆盖的区域内存在的至少一幅的局部栅格地图的部分栅格。
12.进一步地,所述局部栅格地图的坐标轴方向与所述全局栅格地图的坐标轴方向为所述视觉slam机器人初始启动方向。
13.进一步地,所述将构建的全部局部栅格地图融合为全局栅格地图的方法,具体包括:计算每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系;将全部局部栅格地图每一个栅格中的标记信息按照每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系,一一对应标记于全局栅格地图中。
14.进一步地,所述每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系的计算方法,具体包括:局部栅格地图的x轴坐标与全局栅格地图的x轴坐标转换关系为:全局栅格地图的x轴坐标减去局部栅格地图的x轴坐标的差值等于该一局部栅格地图所代表的结点的x轴坐标减去局部栅格地图预设中心点x轴坐标的差值;局部栅格地图的y轴坐标与全局栅格地图的y轴坐标转换关系为:全局栅格地图的y轴坐标减去局部栅格地图的x轴坐标的差值等于该一局部栅格地图所代表的结点的y轴坐标减去局部栅格地图预设中心点y轴坐标的差值;其中,所述局部栅格地图预设中心点x轴坐标等于所述局部栅格地图预设中心点y轴坐标,且两者皆等于n/2+1。
15.进一步地,所述将全部局部栅格地图每一个栅格中的标记信息按照每一个局部栅
格地图中每一个坐标与全局栅格地图坐标的转换关系,一一对应标记于全局栅格地图中的方法,具体包括:将所述全局栅格地图的每一个栅格中标记信息累计值初始化为0;当局部栅格地图的栅格中的标记信息为未被占用栅格时,则将与该一幅局部栅格地图的该一栅格在全局栅格地图中对应的一个栅格中的标记信息累计值减少1;当局部栅格地图的栅格中的标记信息为被占用栅格时,则将该一幅局部栅格地图的该一栅格在全局栅格地图中对应的一个栅格中的标记信息累计值增加1;当局部栅格地图的栅格中的标记信息为未知栅格时,则将该一幅局部栅格地图的该一栅格在全局地图中对应的一个栅格中的标记信息累计值不作变化;将全部局部栅格地图的全部栅格中的标记信息转移至全局栅格地图的对应栅格中,统计全局栅格地图中每一个栅格的标记信息累计值,当全局栅格地图中栅格对应标记信息累计值大于0,则确定该一栅格为被占用栅格,当全局栅格地图中栅格对应标记信息累计值等于0,则确定该一栅格为未知栅格。当全局栅格地图中栅格对应标记信息累计值小于0,则确定该一栅格为未被占用栅格。
16.进一步地,将所述视觉slam机器人每一次复位地图后构建的第一个结点在全局栅格地图中的位姿信息设置为(0,0,0);其中,所述位姿信息包括x轴坐标、y轴坐标和角度。
17.本发明公开的视觉slam机器人栅格地图构建方法中,通过根据视觉slam三维位姿信息构建结点,并根据结点构建一一对应的局部栅格地图,使得局部栅格地图能够随视觉slam三维位姿信息的改变而相应变换,通过多幅局部栅格地图融合为一副全局栅格地图的方式,实现全局栅格地图标记信息的高精准度和较优的可靠性。
附图说明
18.图1为本发明一种实施例所述视觉slam机器人栅格地图构建方法的流程示意图。
具体实施方式
19.为了使本发明的目的、技术方案及优点更加清晰,以下将结合附图及实施例,对本发明进行描述和说明。应当理解,下面所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。此外还可以理解的是,对于本领域普通技术人员而言,在本发明揭露的技术内容上进行一些设计、制造或者生产等变更只是常规的技术手段,不应理解为本技术公开的内容不充分。
20.除非另作定义,本发明所涉及的技术术语或科学术语应当为本技术所属技术领域内普通技术人员所理解的通常意义。本技术所涉及的术语“包含”、“包括”、“具有”以及它们任何变形,意图在于覆盖不排他的包含,如:包含一系列步骤或模块的过程、方法、系统产品或者设备,不限定于已列出的步骤或模块,而是还可以包括没有列出的步骤或模块,或者还可以包括对于这些过程、方法、产品或设备固有的其他步骤或模块。
21.作为本发明一种较优的实施例,本发明的第一实施例中提供一种视觉slam机器人栅格地图构建方法。需要说明的是,所述视觉slam机器人是指基于视觉传感器来完成环境的感知工作,以实现同时定位与地图构建的机器人;所述视觉传感器可以是但不限于单目相机、双目相机或深度相机等具备视觉图像采集功能的传感器。具体地,如图1所示,所述视觉slam机器人栅格地图构建方法包括:视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内是否存在符合预
设搜索规则的局部栅格地图的部分栅格;具体地,所述预设搜索规则是根据实际应用中用户对于视觉slam机器人栅格地图创建的精度要求进行设定,所述符合预设搜索规则的局部栅格地图可以是但不限于能够将所述视觉slam机器人其机身所覆盖区域全部含括在内的局部栅格地图,或者是部分栅格存在于所述视觉slam机器人其机身所覆盖区域内且该部分栅格未能将所述视觉slam机器人其机身所覆盖区域完全含括在内的局部栅格地图等根据实际精度要求进行限定的局部栅格地图。
22.若视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内不存在符合预设搜索规则的局部栅格地图的部分栅格,则根据视觉slam机器人当前三维位姿信息构建当前结点,并基于当前结点构建当前局部栅格地图;本步骤在视觉slam机器人当前不存在符合预设搜索规则的局部栅格地图的情况下进行新的局部栅格地图构建,以便于根据视觉slam机器人实时获取的信息提高全局栅格地图构建精度。具体地,所述视觉slam机器人当前三维位姿信息可以是但不限于通过对搭载于视觉slam机器人机身上的视觉传感器获取的图像进行全局特征匹配分析,并进行位姿估算获取。
23.重复前述步骤,直至视觉slam机器人处于预设状态时将构建的全部局部栅格地图融合为全局栅格地图;其中,所述视觉slam机器人处于预设状态时,所述视觉slam机器人对全局栅格地图存在使用需求。需要说明的是,所述视觉slam机器人对全局栅格地图存在使用需求的情况可以是但不限于所述视觉slam机器人需要搜索导航路径,或者是所述视觉slam机器人需要搜索待执行功能任务区域等情况。
24.本实施例通过基于视觉slam三维位姿信息构建一一对应的结点,并基于结点构建一一对应的局部栅格地图,使得局部栅格地图随视觉slam三维位姿信息的变化而变换,实现局部栅格地图的实时校正,提高栅格地图构建精度,通过将多幅局部栅格地图融合为一副全局栅格地图的方式实现输出高精度的全局栅格地图,实现基于视觉slam三维位姿信息输出满足机器人需求的二维栅格地图。
25.基于上述第一实施例,作为本发明一种较优的实施例,本发明的第二实施例中所述根据视觉slam机器人当前三维位姿信息构建当前结点的方法,具体包括:将所述视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面,生成所述视觉slam机器人当前二维位姿信息,将所述视觉slam机器人当前二维位姿信息作为当前结点的位姿信息以构建当前结点。具体地,将所述视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面是指:以所述视觉slam机器人所在水平面为z轴等于0的平面,将所述视觉slam机器人当前三维位姿信息中的z轴坐标信息变为0,保留所述视觉slam机器人的三维位姿信息中的x轴坐标信息、y轴坐标信息和角度信息,所述视觉slam机器人当前三维位姿信息中的x轴坐标信息、y轴坐标信息和角度信息构成所述视觉slam机器人当前二维位姿信息。
26.本实施例通过将视觉slam机器人的三维位姿投影至二维平面,从而实现将视觉slam机器人获取的三维位姿信息转换为二维位姿信息,以便于后续基于二维位姿信息构建机器人移动所需的二维栅格地图。
27.基于上述实施例,作为本发明一种较优的实施例,本发明的第三实施例中所述基于当前结点构建当前局部栅格地图的方法,具体包括:以所述当前结点作为所述当前局部栅格地图的中心点,将所述当前局部栅格地图构建为n*n个栅格的正方形,将所述当前局部
栅格地图中每一个栅格被配置为边长等于预设边长的正方形;其中,n为大于0的奇数。需要说明的是,所述当前结点的位姿信息中所包含的坐标信息是指该结点在全局栅格地图中的坐标;所述当前局部栅格地图的中心点的坐标在所述当前局部栅格地图的坐标具体可表述为(n/2+1,n/2+1);所述当前局部栅格地图的预设边长是根据机器人实际应用场景的面积、机器人局部栅格地图栅格数量n等多种因素综合考虑后设定。本实施例将局部栅格地图限定为n*n个栅格的正方形且n为大于0的奇数,以确定每一幅局部栅格地图的尺寸相同,便于后续计算融合为一幅全局栅格地图。
28.优选地,每一个结点存在一一对应构建的一幅局部栅格地图,本实施例通过限定一个结点对应一幅局部栅格地图,避免出现在同一结点构建多幅局部栅格地图导致资源浪费重复的情况。
29.基于上述实施例,作为本发明一种较优的实施例,如图1所示,本发明的第四实施例中所述视觉slam机器人栅格地图构建方法还包括:若所述视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内存在符合预设搜索规则的局部栅格地图的部分栅格,则所述视觉slam机器人在符合预设搜索规则的局部栅格地图中标记栅格信息。具体地,所述在符合预设搜索规则的局部栅格地图中标记栅格信息是指在符合预设搜索规则的局部栅格地图中的每一个栅格中标记对应的栅格信息,所述栅格信息是用于表示该一个栅格所处状态;所述栅格所处状态具体包括:被占用状态、未被占用状态和未知状态;其中,所述被占用状态是指该一栅格当前已被障碍物占用;所述未被占用状态是指该一栅格当前未被障碍物占用,机器人能够覆盖该一栅格;所述未知状态是指对于该一栅格是否被占用的情况未知,该一栅格可能被障碍物占用,也可能未被障碍物占用。本实施例通过对所述视觉slam机器人机身当前所覆盖区域内存在的符合预设搜索规则的局部栅格地图进行栅格信息标记,实现对局部栅格地图中每一个栅格进行栅格信息标记,从而使得每一幅局部栅格地图中的每一个栅格都能够具备相应栅格信息,提升全局栅格地图的准确性和可靠性。
30.基于上述实施例,作为本发明一种较优的实施例,本发明的第五实施例中所述视觉slam机器人在符合搜索规则的局部栅格地图中标记栅格信息的方法,具体包括:将所述视觉slam机器人机身所覆盖的栅格在所述符合预设搜索规则的局部栅格地图中标记为未被占用栅格,将所述视觉slam机器人搭载的障碍物传感器检测到障碍物所覆盖的栅格在所述符合预设搜索规则的局部栅格地图中标记为被占用栅格,将所述视觉slam机器人搭载的障碍物传感器未检测到障碍物覆盖且所述视觉slam机器人机身未覆盖的栅格再所述符合预设搜索规则的局部地图中标记为未知栅格。优选地,所述障碍物传感器可以是但不限于红外传感器、视觉传感器、激光传感器或超声波传感器等具备障碍物识别功能的传感器。在本实施例中默认被障碍物占用的栅格所述视觉slam机器人无法覆盖,通过依据栅格是否被视觉slam机器人机身覆盖确定其是否未被障碍物占用,并将视觉slam机器人未覆盖且障碍物传感器未检测出障碍物的栅格标记为未知栅格,实现根据不同栅格的不同状态标记不同栅格信息,保证局部栅格地图的栅格信息精度。
31.基于上述实施例作为本发明一种较优实施例,本发明的第六实施例中所述符合预设搜索规则的局部栅格地图的部分栅格是指能够将所述视觉slam机器人机身当前所覆盖的区域全部包含在内的一幅局部栅格地图的部分栅格。具体地,基于本实施例所述符合预设搜索规则的局部栅格地图的要求,所述视觉slam机器人在移动过程中搜索其机身当前所
覆盖的区域内是否存在符合预设搜索规则的局部栅格地图的部分栅格的方法,具体包括:将所述视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面,生成所述视觉slam机器人当前二维位姿信息;本步骤通过将视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面实现位姿信息从三维到二维的转变。
32.分别计算所述视觉slam机器人当前二维位姿信息与各个结点的位姿信息之间的距离,并判断是否存在结点的位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离;其中,所述第一预设距离是依据所述预设搜索规则设定的,在本实施例中,所述第一预设距离被设定为n/2与栅格的预设边长的乘积减去视觉slam机器人机身半径。
33.若存在至少一个结点位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离,则将与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离的全部结点所代表的全部局部栅格地图确认为当前符合预设搜索规则的局部栅格地图,确定为所述视觉slam机器人机身当前所覆盖区域内存在符合预设搜索规则的局部栅格地图的部分栅格;本步骤通过确定存在结点与视觉slam机器人二维位姿信息之间的距离小于第一预设距离,则代表在视觉slam机器人二维位姿信息的第一预设距离范围内存在一个结点以及与该一结点一一对应的一幅局部栅格地图。
34.若不存在结点位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离,则确定为所述视觉slam机器人其机身当前所覆盖区域内不存在符合预设搜索规则的局部栅格地图;具体地,当视觉slam机器人当前二维位姿信息的第一预设距离范围内不存在结点,则表示在视觉slam机器人当前二维位姿信息的第一预设距离范围内不存在局部栅格地图,故视觉slam机器人需在此构建结点与局部栅格地图,以防止全局栅格地图出现部分区域缺漏。
35.基于上述实施例作为本发明一种较优实施例,本发明的第七实施例中所述符合预设搜索规则的局部栅格地图的部分栅格是指在所述视觉slam机器人机身当前所覆盖的区域内存在的至少一幅的局部栅格地图的部分栅格。本实施例中所述符合预设搜索规则与第六实施例不同,相应的所述视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内是否存在符合预设搜索规则的局部栅格地图的方法亦对应存在不同。在本发明实际应用过程中预设搜索规则能够根据实际应用需求进行相应调整,而根据预设搜索规则的调整,其在搜索视觉slam机器人当前机身所覆盖范围内是否存在符合预设搜索规则的局部栅格地图的方法也进行调整。
36.基于上述实施例作为本发明一种较优实施例,本发明的第八实施例中所述局部栅格地图的坐标轴方向与所述全局栅格地图的坐标轴方向为所述视觉slam机器人初始启动方向。本实施例中将局部栅格地图和全局栅格地图的坐标轴方向限定为相同的方向,使得本发明在将全部局部栅格地图融合为一幅全局栅格地图时无需进行地图旋转的操作,简化地图融合步骤,避免出现因需要调整方向进行地图旋转造成最终得到全局栅格地图的歪斜,影响全局栅格地图的精度。
37.基于上述实施例作为本发明一种较优实施例,本发明的第九实施例中所述将构建的全部局部栅格地图融合为全局栅格地图的方法,具体包括:计算每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系;将全部局部栅格地图每一个栅格中的标记信
息按照每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系,一一对应标记于全局栅格地图中。本实施例将局部栅格地图中每一个栅格的标记信息对应转换至全局栅格地图中,使得全局栅格地图中每一个栅格中的标记信息由多幅局部栅格地图中的标记信息转换而成,以实现局部栅格地图融合为全局栅格地图的目的。
38.基于上述实施例作为本发明一种较优实施例,本发明的第十实施例中所述每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系的计算方法,具体包括:局部栅格地图的x轴坐标与全局栅格地图的x轴坐标转换关系为:全局栅格地图的x轴坐标减去局部栅格地图的x轴坐标的差值等于该一局部栅格地图所代表的结点的x轴坐标减去局部栅格地图预设中心点x轴坐标的差值;局部栅格地图的y轴坐标与全局栅格地图的y轴坐标转换关系为:全局栅格地图的y轴坐标减去局部栅格地图的x轴坐标的差值等于该一局部栅格地图所代表的结点的y轴坐标减去局部栅格地图预设中心点y轴坐标的差值;其中,所述局部栅格地图预设中心点x轴坐标等于所述局部栅格地图预设中心点y轴坐标,且两者皆等于n/2+1。本实施例中通过坐标轴的变换计算,完成局部栅格地图和全局栅格地图之间的坐标转换。
39.基于上述实施例作为本发明一种较优实施例,本发明的第十一实施例中所述将全部局部栅格地图每一个栅格中的标记信息按照每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系,一一对应标记于全局栅格地图中的方法,具体包括:将所述全局栅格地图的每一个栅格中标记信息累计值初始化为0;当局部栅格地图的栅格中的标记信息为未被占用栅格时,则将与该一幅局部栅格地图的该一栅格在全局栅格地图中对应的一个栅格中的标记信息累计值减少1;当局部栅格地图的栅格中的标记信息为被占用栅格时,则将该一幅局部栅格地图的该一栅格在全局栅格地图中对应的一个栅格中的标记信息累计值增加1;当局部栅格地图的栅格中的标记信息为未知栅格时,则将该一幅局部栅格地图的该一栅格在全局地图中对应的一个栅格中的标记信息累计值不作变化;将全部局部栅格地图的全部栅格中的标记信息转移至全局栅格地图的对应栅格中,统计全局栅格地图中每一个栅格的标记信息累计值,当全局栅格地图中栅格对应标记信息累计值大于0,则确定该一栅格为被占用栅格,当全局栅格地图中栅格对应标记信息累计值等于0,则确定该一栅格为未知栅格。当全局栅格地图中栅格对应标记信息累计值小于0,则确定该一栅格为未被占用栅格。本实施例通过对全局栅格地图中每一个栅格设置标记信息累计值,以便于在局部栅格地图存在重叠栅格时,能够根据多幅局部栅格地图中重叠栅格中的标记信息进行叠加,并计算标记信息累计值,重复确定该一栅格在全局栅格地图中对应的栅格标记信息,提高栅格对应标记信息的准确度,实现全局栅格地图的高精度和较好的可靠性。
40.基于上述实施例作为本发明一种较优实施例,本发明的第十二实施例中将所述视觉slam机器人每一次复位地图后构建的第一个结点在全局栅格地图中的位姿信息设置为(0,0,0);其中,所述位姿信息包括x轴坐标、y轴坐标和角度。具体地,所述复位地图是指将之前累积构建的局部栅格地图数据和全局栅格地图数据删除,以实现重新获取数据构建新的栅格地图。本实施例将第一个结点在全局栅格地图的位姿信息设置为(0,0,0),以使得在后续局部栅格地图和全局栅格地图坐标转换时能够一句第一个结点的相对位置信息实现坐标转换。
41.显然,上述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,各个实施
例之间的技术方案可以相互结合。此外,如果实施例中出现“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等术语,其指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位或以特定的方位构造和操作,因此不能理解为对本发明的限制。如果实施例中出现“第一”、“第二”、“第三”等术语,是为了便于相关特征的区分,不能理解为指示或暗示其相对重要性、次序的先后或者技术特征的数量。
42.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换 和变型,本发明的范围由所附权利要求及其等同限定以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种视觉slam机器人栅格地图构建方法,其特征在于,所述视觉slam机器人栅格地图构建方法包括:视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内是否存在符合预设搜索规则的局部栅格地图的部分栅格;若不存在,则根据视觉slam机器人当前三维位姿信息构建当前结点,并基于当前结点构建当前局部栅格地图;重复前述步骤,直至视觉slam机器人处于预设状态时将构建的全部局部栅格地图融合为全局栅格地图。2.根据权利要求1所述的视觉slam机器人栅格地图构建方法,其特征在于,所述根据视觉slam机器人当前三维位姿信息构建当前结点的方法,具体包括:将所述视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面,生成所述视觉slam机器人当前二维位姿信息,将所述视觉slam机器人当前二维位姿信息作为当前结点的位姿信息以构建当前结点。3.根据权利要求2所述的视觉slam机器人栅格地图构建方法,其特征在于,所述基于当前结点构建当前局部栅格地图的方法,具体包括:以所述当前结点作为所述当前局部栅格地图的中心点,将所述当前局部栅格地图构建为n*n个栅格的正方形,将所述当前局部栅格地图中每一个栅格配置为边长等于预设边长的正方形;其中,所述n为大于0的奇数。4.根据权利要求3所述的视觉slam机器人栅格地图构建方法,其特征在于,每一个结点存在一一对应构建的一幅局部栅格地图。5.根据权利要求1所述的视觉slam机器人栅格地图构建方法,其特征在于,所述视觉slam机器人栅格地图构建方法还包括:若所述视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内存在符合预设搜索规则的局部栅格地图的部分栅格,则所述视觉slam机器人在符合预设搜索规则的局部栅格地图中标记栅格信息。6.根据权利要求5所述的视觉slam机器人栅格地图构建方法,其特征在于,所述视觉slam机器人在符合预设搜索规则的局部栅格地图中标记栅格信息的方法,具体包括:将所述视觉slam机器人机身所覆盖的栅格在所述符合预设搜索规则的局部栅格地图中标记为未被占用栅格,将所述视觉slam机器人搭载的障碍物传感器检测到障碍物所覆盖的栅格在所述符合预设搜索规则的局部栅格地图中标记为被占用栅格,将所述视觉slam机器人搭载的障碍物传感器未检测到障碍物覆盖且所述视觉slam机器人机身未覆盖的栅格在所述符合预设搜索规则的局部地图中标记为未知栅格。7.根据权利要求4所述的视觉slam机器人栅格地图构建方法,其特征在于,所述符合预设搜索规则的局部栅格地图的部分栅格是指将所述视觉slam机器人机身当前所覆盖的区域全部包含在内的一幅局部栅格地图的部分栅格。8.根据权利要求7所述的视觉slam机器人栅格地图构建方法,其特征在于,所述视觉slam机器人在移动过程中搜索其机身当前所覆盖的区域内是否存在符合预设搜索规则的局部栅格地图的部分栅格的方法,具体包括:将所述视觉slam机器人当前三维位姿投影至所述视觉slam机器人所在水平面,生成所述视觉slam机器人当前二维位姿信息;分别计算所述视觉slam机器人当前二维位姿信息与各个结点的位姿信息之间的距离,
并判断是否存在结点的位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离;若存在至少一个结点位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离,则将与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离的全部结点所一一对应的全部局部栅格地图确认为当前符合预设搜索规则的局部栅格地图,确定为视觉slam机器人机身当前所覆盖区域内存在符合预设搜索规则的局部栅格地图的部分栅格;若不存在结点位姿信息与所述视觉slam机器人当前二维位姿信息之间的距离小于第一预设距离,则确定为所述视觉slam机器人其机身当前所覆盖区域内不存在符合预设搜索规则的局部栅格地图的部分栅格;其中,所述第一预设距离是指n/2与栅格的边长的乘积减去视觉slam机器人机身半径。9.根据权利要求1所述的视觉slam机器人栅格地图构建方法,其特征在于,所述符合预设搜索规则的局部栅格地图的部分栅格是指在所述视觉slam机器人机身当前所覆盖的区域内存在的至少一幅的局部栅格地图的部分栅格。10.根据权利要求1所述的视觉slam机器人栅格地图构建方法,其特征在于,所述局部栅格地图的坐标轴方向与所述全局栅格地图的坐标轴方向为所述视觉slam机器人初始启动方向。11.根据权利要求3所述的视觉slam机器人栅格地图构建方法,其特征在于,所述将构建的全部局部栅格地图融合为全局栅格地图的方法,具体包括:计算每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系;将全部局部栅格地图每一个栅格中的标记信息按照每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系,一一对应标记于全局栅格地图中。12.根据权利要求11所述的视觉slam机器人栅格地图构建方法,其特征在于,所述每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系的计算方法,具体包括:局部栅格地图的x轴坐标与全局栅格地图的x轴坐标转换关系为:全局栅格地图的x轴坐标减去局部栅格地图的x轴坐标的差值等于该一局部栅格地图所代表的结点的x轴坐标减去局部栅格地图预设中心点x轴坐标的差值;局部栅格地图的y轴坐标与全局栅格地图的y轴坐标转换关系为:全局栅格地图的y轴坐标减去局部栅格地图的x轴坐标的差值等于该一局部栅格地图所代表的结点的y轴坐标减去局部栅格地图预设中心点y轴坐标的差值;其中,所述局部栅格地图预设中心点x轴坐标等于所述局部栅格地图预设中心点y轴坐标,且两者皆等于n/2+1。13.根据权利要求11所述的视觉slam机器人栅格地图构建方法,其特征在于,所述将全部局部栅格地图每一个栅格中的标记信息按照每一个局部栅格地图中每一个坐标与全局栅格地图坐标的转换关系,一一对应标记于全局栅格地图中的方法,具体包括:将所述全局栅格地图的每一个栅格中标记信息累计值初始化为0;当局部栅格地图的栅格中的标记信息为未被占用栅格时,则将与该一幅局部栅格地图的该一栅格在全局栅格地图中对应的一个栅格中的标记信息累计值减少1;当局部栅格地图的栅格中的标记信息为被占用栅格时,则将该一幅局部栅格地图的该
一栅格在全局栅格地图中对应的一个栅格中的标记信息累计值增加1;当局部栅格地图的栅格中的标记信息为未知栅格时,则将该一幅局部栅格地图的该一栅格在全局地图中对应的一个栅格中的标记信息累计值不作变化;将全部局部栅格地图的全部栅格中的标记信息转移至全局栅格地图的对应栅格中,统计全局栅格地图中每一个栅格的标记信息累计值,当全局栅格地图中栅格对应标记信息累计值大于0,则确定该一栅格为被占用栅格,当全局栅格地图中栅格对应标记信息累计值等于0,则确定该一栅格为未知栅格;当全局栅格地图中栅格对应标记信息累计值小于0,则确定该一栅格为未被占用栅格。14.根据权利要求1所述的视觉slam机器人栅格地图构建方法,其特征在于,将所述视觉slam机器人每一次复位地图后构建的第一个结点在全局栅格地图中的位姿信息设置为(0,0,0);其中,所述位姿信息包括x轴坐标、y轴坐标和角度。
技术总结
本发明公开了一种视觉SLAM机器人栅格地图构建方法,具体包括:视觉SLAM机器人在移动过程中搜索其机身当前所覆盖的区域内是否存在符合预设搜索规则的局部栅格地图的部分栅格;若不存在,则根据视觉SLAM当前三维位姿信息构建当前结点,并基于当前结点构建当前局部栅格地图;重复前述步骤,直至视觉SLAM机器人处于预设状态时将构建的全部局部栅格地图融合为全局栅格地图。本发明通过融合多幅局部栅格地图生成全局栅格地图的方式,大幅提高机器人栅格地图构建精度,实现基于视觉SLAM定位信息构建二维栅格地图。息构建二维栅格地图。息构建二维栅格地图。
技术研发人员:李明 李永勇
受保护的技术使用者:珠海一微半导体股份有限公司
技术研发日:2022.03.01
技术公布日:2023/9/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/