本发明涉及地图构建,具体是一种面元地图的构建与维护方法及终端设备。
背景技术:
1、在机器人/汽车/自动驾驶行业,对机器人/汽车自身的实时建图和定位是极其重要的,这是机器人/自动驾驶车辆感知、规划、控制的上游算法模块。其中,激光雷达作为常见传感器,在自动驾驶领域受到了广泛的运用,以雷达作为主要传感器的定位建图算法,是行业内的主要采用的技术方案之一。
2、激光里程计算法的核心在于当前时刻雷达传感器获取的一帧点云数据与历史地图进行匹配从而计算当前时刻机器在地图中的位姿。因此,历史地图,也就是全局地图的构建和维护是其中重要一环。
3、当前最常见的地图形式为点云地图,即地图由大量的包含三位坐标的点构成。此外,在有些点云地图中,一个点除了包含三维坐标外,也可能包含强度/反射率、法向量等信息,因此点云地图是一种大量占据内存空间的地图形式,当所需维护的地图数量较多时,会占用大量设备存储资源,移动设备端也要求对应的硬件设备。产生这种问题的一个原因是点云地图不得不保存大量包含类似信息的点云,例如对于一面墙而言,这些点云位置接近,朝向相同,包含了相似的信息,而点云地图在这个位置为了维持点云密度,保存了大量的点云数据。
4、而且,点云地图中所包含的地图信息往往会有大量的损失,例如一个点云只能反映一个空间物体在某一个点的特点,而不能反映该空间物体的局部特点,例如该物体某一子表面的面积。由于传统点云地图内存占用大,因此往往不得不放弃存储一些环境特征,例如法向量、语义信息等。
技术实现思路
1、针对上述现有技术中的不足,本发明提供一种面元地图的构建与维护方法及终端设备,以面元为最基本的存储单元,在大大降低内存占用的同时,还能包含更丰富的空间属性和语义信息,相较于传统地图具有更丰富的环境特性。
2、为实现上述目的,本发明提供一种面元地图的构建与维护方法,包括面元地图构建与面元地图维护;
3、所述面元地图的构建过程为:
4、获取初始建图点云数据,并提取所述初始建图点云数据中的所有面元,得到初始面元地图;
5、对所述初始面元地图中的面元进行融合,得到面元地图,并将所述面元地图进行体素化;
6、所述面元地图的维护过程为:
7、将待处理的当前面元加入所述面元地图,并判断当前面元在所述面元地图中的所在位置是否存在体素:
8、若是,判断该体素内距离当前面元最近的面元与当前面元是否为同一特征,若是则将两者融合,否则将当前面元作为新面元加入该体素;
9、否则,在当前面元的所在位置创建新的体素,并将当前面元加入该新建的体素。
10、在其中一个实施例,若所述面元的提取来源为室内环境点云,则所述面元为矩形;
11、若所述面元的提取来源为室外环境点云,则所述点云为椭圆形。
12、在其中一个实施例,所述面元的特征数据包括:
13、坐标:表示面元在空间中的位置;
14、法向量:表示面元在空间中的朝向;
15、长轴长度:表示面元的矩形长边长度或椭圆长轴长度;
16、短轴长度:表示面元的矩形短边长度或椭圆短轴长度;
17、点数:表示组成面元的所有点云数量;
18、方差:表示组成面元的所有点云的位置方差;
19、语义标签:表示面元对应物体的语义属性;
20、语义分值:表示面元对应物体的语义属性的置信度;
21、反射率:表示面元对应物体的激光雷达反射率;
22、首次创建时间:表示面元第一次创建的时间;
23、最新更新时间:表示面元最新一次更新的时间。
24、在其中一个实施例,所述体素的特征数据包括:
25、体素坐标:表示体素在面元地图中的位置;
26、面元集合:表示体素所包含的所有面元;
27、首次创建时间:表示体素中第一个面元的创建时间;
28、最新更新时间:表示体素中最新一次被更新的面元的更新时间。
29、在其中一个实施例,所述体素的特征数据还包括搜索树,用于加速体素内面元的搜索。
30、在其中一个实施例,在面元地图的维护过程中,两面元的融合过程为:
31、对于融合后面元的坐标、法向量、方差与反射率,根据两待融合面元各自的点数占比进行加权融合;
32、对于融合后面元的长轴长度,为融合后面元方差矩阵的最大特征值;
33、对于融合后面元的短轴长度,为融合后面元方差矩阵的第二大特征值;
34、对于融合后面元的首次创建时间,为两待融合面元的两个首次创建时间中时间更早的一个;
35、对于融合后面元的最新更新时间,为两待融合面元的两个最新更新时间中时间更晚的一个;
36、对于融合后面元的语义标签与语义分值:
37、若两待融合面元的语义标签相同,则融合后面元的语义标签不变,融合后面元的语义分值为两待融合面元的语义分值的和;
38、若两待融合面元的语义标签不同,则融合后面元的语义标签为两待融合面元中语义分值较大的面元所对应的语义标签,融合后面元的语义分值为两待融合面元语义分值的差的绝对值。
39、在其中一个实施例,所述判断该体素内距离当前面元最近的面元与当前面元是否为同一特征,具体为:
40、当两面元之间距离平方与夹角平方的加权和小于设定阈值时,则判定两面元为同一特征,否则为不同特征。
41、在其中一个实施例,在面元地图的维护过程中,若存在一面元,其最新更新时间与当前时间的时间间隔大于第一时间阈值,且其最新更新时间与首次创建时间的时间间隔小于第二时间阈值,则将该面元从面元地图中删除。
42、在其中一个实施例,基于广度优先搜索对所述初始面元地图中的面元进行融合
43、为实现上述目的,本发明还提供一种终端设备,所述终端设备为无人车、无人机、无人驾驶设备或移动机器人,所述终端设备上设有:
44、存储器,用于存储程序;
45、处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上述的方法的部分或全部步骤。
46、为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令;所述计算机执行指令被处理器执行时用于实现如上述的方法的部分或全部步骤。
47、本发明具有如下有益技术效果:
48、1.本发明将距离相近、包含类似信息的点云组成面元,并以面元为最基本的存储单元,其数量远少于点云,进而大大降低地图的占用内存,减少了对硬件设备的要求,降低了硬件成本和运营成本;
49、2.本发明以面元为地图最基本的存储单元,由于面元地图中所需的面元数量更少,因此一个面元可以存储更多的信息,因此面元地图包含了更丰富,更全面的环境特性,能够更好的服务于定位模块;
50、3.本发明所构建的面元地图除了服务于移动机器人、智能驾驶车辆等载体的定位功能外,也可广泛运用在测绘、三维重建设备、可视化处理、人机交互与导航避障等应用场景。
1.一种面元地图的构建与维护方法,其特征在于,包括面元地图构建与面元地图维护;
2.根据权利要求1所述的面元地图的构建与维护方法,其特征在于,若所述面元的提取来源为室内环境点云,则所述面元为矩形;
3.根据权利要求2所述的面元地图的构建与维护方法,其特征在于,所述面元的特征数据包括:
4.根据权利要求3所述的面元地图的构建与维护方法,其特征在于,所述体素的特征数据包括:
5.根据权利要求4所述的面元地图的构建与维护方法,其特征在于,所述体素的特征数据还包括搜索树,用于加速体素内面元的搜索。
6.根据权利要求4或5所述的面元地图的构建与维护方法,其特征在于,在面元地图的维护过程中,两面元的融合过程为:
7.根据权利要求1至6任一项所述的面元地图的构建与维护方法,其特征在于,所述判断该体素内距离当前面元最近的面元与当前面元是否为同一特征,具体为:
8.根据权利要求1至6任一项所述的面元地图的构建与维护方法,其特征在于,在面元地图的维护过程中,若存在一面元,其最新更新时间与当前时间的时间间隔大于第一时间阈值,且其最新更新时间与首次创建时间的时间间隔小于第二时间阈值,则将该面元从面元地图中删除。
9.根据权利要求1至6任一项所述的面元地图的构建与维护方法,其特征在于,基于广度优先搜索对所述初始面元地图中的面元进行融合。
10.一种终端设备,其特征在于,所述终端设备为计算机、无人车、无人机、无人驾驶设备或移动机器人,所述终端设备上设有:
