障碍物的三维重建方法、装置、移动机器人及介质与流程
未命名
07-27
阅读:111
评论:0
1.本技术涉及障碍物检测技术领域,具体涉及一种障碍物的三维重建方法、装置、移动机器人及介质。
背景技术:
2.当随着移动机器人智能化的发展,对于其环境感知能力提出了更高的要求。当移动机器人执行任务时,不仅希望能对周围环境中存在的障碍物进行避障,更希望能对这些障碍物的表面轮廓进行三维重建,从而能获得障碍物的形状信息,对其进行精准和流畅避让。
3.传统的三维重建方法需要手持激光扫描仪等移动设备,对待测物体进行360
°
环绕扫描,在复杂的计算以及长时间的等待后得到三维重建结果,重建效果不理想。
技术实现要素:
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.图1示出了根据本技术的一些实施例的障碍物的三维重建方法的流程示意图;
45.图2-a示出了根据本技术的一个实施例的线激光模组在移动机器人上的安装方式的示意图;
46.图2-b示出了根据本技术的一个实施例的线激光模组在移动机器人上的安装方式的示意图;
47.图3示出了以图2-a或者图2-b的线激光模组的设置方式下约定的世界坐标系的示意图;
48.图4示出了根据本技术的一个实施例的移动机器人在工作过程中的示意图;
49.图5示出了根据本技术的另一个实施例的障碍物的三维重建方法的流程示意图;
50.图6示出了根据本技术的一个实施例的障碍物的三维重建装置的结构示意图;
51.图7为本技术实施例中一种移动机器人的结构示意图。
具体实施方式
52.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.以下结合附图,详细说明本技术各实施例提供的技术方案。
54.相关技术中,执行平面任务的移动机器人对于障碍物的检测,希望能对这些障碍物的表面轮廓进行三维重建,从而能获得障碍物的形状信息,对其进行精准和流畅避让。
55.传统的三维重建方法需要手持激光扫描仪等移动设备,对待测物体进行360
°
环绕扫描,在复杂的计算以及长时间的等待后得到三维重建结果,重建效果不理想。
56.为此,本技术提出了一种障碍物的三维重建方法,图1示出了根据本技术的一些实
施例的障碍物的三维重建方法的流程示意图,从图1可以看出,本技术至少包括步骤s110~步骤130:
57.步骤s110:获取移动机器人执行平面任务时在不同位置的相机坐标系下的多帧初始三维点云。
58.本技术主要适用于可以移动机器人在平面执行任务时的情景,尤其是平面运动的机器人在执行任务时的情景,如扫地机器人。
59.移动机器人执行平面任务时,如扫地机器人在地面上移动进行打扫时,需要检测在检测地面上的障碍物以进行躲避,本技术主要适用于对地面相对小体积的障碍物进行检测的场景,在本技术中,像沙发、洗衣机、冰箱等可以被定义为大障碍物,像这类大障碍物,移动机器人的线激光模组无法覆盖到,可以采用移动机器人的激光雷达等进行检测;像小包装盒、小凳子等被定义为小障碍物,移动机器人在移动过程中,会围绕该障碍物移动,获取其在不同位置的三维点云,这里记为初始三维点云,如果初始三维点云不在相机坐标系下,可将其转换在相机坐标系下。对于初始三维点云的获取采用各种形式的激光雷达、或者相机等,具体的,可以将激光雷达或者相机以特定的位姿安装在移动机器人的指定位置上,从而在移动机器人执行平面任务时,获取到移动机器人周围的初始三维点云。
60.在本技术的一些实施例中,从经济以及效果的角度出发,可以选择线激光传感器来获取初始三维点云。通过线激光图像上的线激光光条像素点,结合预先标定好的相机内外参数和线激光在相机坐标系中的线激光光平面方程,可以恢复出在相机坐标系下的障碍物表面的三维点云信息。具体的,将线激光模组安装在移动机器人上,线激光模组在移动机器人上的安装方式可以有多种,可以是单条水平向投射线激光,也可以是双条竖直向或者交叉的投射线激光,或是其它摆放方式,相对于单条水平向投射线激光,双条投射线激光的形式获取的数据更加准确,因此下述以双条投射线激光作为一种可选方式,对初始三维点云的获取进行详细的说明。图2-a示出了根据本技术的一个实施例的线激光模组在移动机器人上的安装方式的示意图,图2-b示出了根据本技术的一个实施例的线激光模组在移动机器人上的安装方式的示意图,从图2-a和图2-b可以看出,线激光模组在移动机器人上的安装方式包括但不限于双条垂直线激光前交叉组合(图2-a)、以及水平加垂直线激光十字组合(图2-b)等。图2-a和图2-b示出的方式仅为示例性的说明,不对本技术构成任何的限制,线激光模组还可以采用其他的安装方式,不再赘述。
61.以下均以图2-a和图2-b示出的线激光模组的设置方式为例进行说明,二者的计算方式一样。
62.首先对本技术的坐标系约定进行说明,图3示出了以图2-a或者图2-b的线激光模组的设置方式下约定的世界坐标系的示意图。
63.当线激光模组发射的线激光投射到工作平面(通常为地面)上时,可以恢复出相机坐标系下工作平面环境的初始三维点云信息。具体的,按照预设的时间周期,通过所述激光模组发射的光射线,获取所述移动机器人执行平面任务时在像素坐标系下的激光线中心的原始点云;基于所述相机坐标系到像素坐标系的映射,根据所述激光线中心的原始点云,建立第一约束;基于所述相机坐标系下的线激光光平面方程,建立第二约束;联合所述第一约束和所述第二约束,确定所述环境三维点云。
64.当到达一个时间周期,线激光模组在所述移动机器人执行平面任务时,对环境进
行扫描,得到在像素坐标系下的激光线中心的原始点云p=(u,v),可以恢复出该原始点云p=(u,v)在相机坐标系下的环境点云坐标pc=(x,y,z),具体的,根据从相机坐标系到像素坐标系的的映射k(如式1所示),可以建立以下如式2所示的第一约束:
[0065][0066][0067]
其中,f表示从相机坐标系到像素坐标系的的映射函数,u0和u0表示任一原始点云。
[0068]
且来自线激光光平面的点一定落在线激光光平面上,因此由在相机坐标系下的线激光光平面方程,可以建立以下如式3所示的第二约束:
[0069]alaser
x+b
laser
y+c
laser
z+d
laser
=0
ꢀꢀ
式(3)。
[0070]
其中,a
laser
、b
laser
、c
laser
、和d
laser
表示线激光光平面方程的系数。
[0071]
最后,联合所述第一约束和所述第二约束,通过求解可以得到相机坐标系下的环境三维点云,环境三维点云包括多个点云的三维坐标(x,y,z),如以下如式4所示:
[0072][0073]
图4示出了根据本技术的一个实施例的移动机器人在工作过程中的示意图,从图4可以看出,当移动机器人执行平面任务时,处于不同位置时,通过上述方法可以获得在不同位置的初始三维点云。
[0074]
需要说明的是,图4中,移动机器人的激光模组示出的是一条激光只是示例性的说明,表示移动机器人每到一个位置均可通过激光模组获取到覆盖到障碍物不同角度的初始三维点云;实际场景中,图4示出的一条激光表示不限于图2-a或图2-b示出的示出的激光线条的形式,这里将移动机器人在一个位置采用上述方法恢复出的三维点云记为一帧初始三维点云。移动机器人不停运动,当到达一个时间周期,移动机器人就到达了一个不同的位置,每当到达一个时间周期,恢复出一帧初始三维点云,因此随着时间推移,即可获得移动机器人在在不同位置的相机坐标系下的多帧初始三维点云。
[0075]
步骤s120:将各帧所述初始三维点云映射为世界坐标系下的环境三维点云,并将得到的多帧环境三维点云进行融合,得到所述障碍物的观测三维点云。
[0076]
由于障碍物的检测是在世界坐标系下进行的,因此,需要将初始三维点云映射到世界坐标系下,具体的,结合移动机器人定位模块给出的机器人在世界坐标系的位姿信息,即可将初始三维点云投影到世界坐标系下。
[0077]
更加具体的,在本技术的一些实施例中,将各帧所述初始三维点云映射为世界坐标系下的环境三维点云,包括:确定所述相机坐标系到所述机器人坐标系的第一变换矩阵;读取并根据所述移动机器人在世界坐标系下的位姿,确定所述机器人坐标系指定轴在所述世界坐标系下的第一坐标;根据所述第一坐标和所述世界坐标系的指定轴单位坐标,确定所述机器人坐标系到所述世界坐标系的第二变换矩阵;根据各帧所述初始三维点云、所述第一变换矩阵、以及所述第二变换矩阵,确定各帧所述初始三维点云在所述世界坐标系下的环境三维点云。
[0078]
即可以通过第一变换矩阵和第二变换矩阵转化到世界坐标系下,其中,第一变换矩阵为相机坐标系到机器人坐标系的变换矩阵,第二变换矩阵为机器人坐标系到世界坐标系的变换矩阵。
[0079]
首先,确定相机坐标系到所述机器人坐标系的第一变换矩阵t
rc
,第一变换矩阵t
rc
可以表示为式5所示:
[0080][0081]
通常来说第一变换矩阵t
rc
是已知的,或者说了解移动机器人的硬件配置即可获知,其中r
rc
和t
rc
是第一变换矩阵t
rc
对应位置的元素。
[0082]
对于第二变换矩阵,可以从移动机器人的定位模块中读取移动机器人的位姿信息,针对平面运动机器人的应用情况,通常为机器人在世界坐标系下的坐标x,y以及机器人坐标系相对于世界坐标系z轴的转角θ,从而可以求得机器人坐标系到世界坐标系的第二变换矩阵t
wr
,如式(6)所示
[0083][0084]
其中r
wr
和t
wr
是第一变换矩阵t
rc
对应位置的元素。
[0085]
最后,根据在相机坐标系下的初始三维点云坐标pc=(x,y,z),结合从相机坐标系到机器人坐标系的第一变换矩阵t
rc
和从机器人坐标系到世界坐标系的第二变换矩阵t
wr
,可以得到出初始三维点云在世界坐标系下的坐标pw,具体算法如式7所示:
[0086][0087]
并将得到的多帧环境三维点云进行融合,得到目标障碍物的观测三维点云,其中
观测三维点云可以定义为对小障碍物物体表面及其所在的局部环境的观测点云。融合的方式可以按照各帧环境三维点中各点云的匹配度进行匹配,然后融合在一起。
[0088]
步骤s130:对所述观测三维点云依次进行分割和聚类,得到目标障碍物的三维重建表面轮廓。
[0089]
最后,对得到观测三维点云依次进行分割和聚类,分割的目的是为了排除一些噪音数据点,如属于地面的点云、属于周围墙壁的点云等等;然后对保留下来的点云进行聚类,将聚类得到的每一类点云,作为一个目标障碍物,每一类点云即为检测到的目标小障碍物的三维重建表面轮廓。
[0090]
具体的,在本技术的一些实施例中,所述对所述观测三维点云依次进行分割和聚类,得到所述目标障碍物的三维重建表面轮廓,包括:基于地面点云过滤条件,对所述观测三维点云进行过滤,得到第一中间点云;基于墙面点云过滤条件,对所述第一中间点云进行过滤,得到第二中间点云;对第二中间点云进行聚类,得到至少一个点云集合;根据预设的障碍物体积阈值,确定所述点云集合是否为所述目标障碍物的三维重建表面轮廓。
[0091]
在得到的观测三维点云中,可能会存在一些噪点数据,如属于地面的点云、又如属于墙面的点云,这些噪点数据对重建结果会一定影响,因此可以采用一定方法将这些噪点排除,具体的,可基于地面点云过滤条件,对所述观测三维点云进行过滤,得到第一中间点云,更加具体的包括:确定所述观测三维点云中的各点云的高度值是否大于预设的地面高度阈值,若是,则将对应的点云归属于所述第一中间点云。
[0092]
可以设置一个相对不是很大的地面高度阈值,如1cm,对于观测三维点云中的一个点云,确定该点云的高度是否大于预设的地面高度阈值,若是,则将该点云保留下来,即归属到第一中间点云中,如果该点云的高度小于等于地面高度阈值,则将该点云排除。对于观测三维点云中的每一个点云均进行上述处理,即可将属于地面的点云排除,得到第一中间点云。
[0093]
对于属于墙面的噪点数据,可基于墙面点云过滤条件进行排除,具体包括:获取通过装载于所述移动机器人的雷达激光采集的墙面距离;确定所述第一中间点云中的各点云的距离值是否小于所述墙面距离,若是,则将对应的点云归属于所述第二中间点云。
[0094]
移动机器人除了装载有线激光模组外,通常还装载有很多其他传感器,如激光雷达、彩色相机或者深度相机等等,这些传感器也会对移动机器人周围的环境信息进行采集,读取激光雷达或者相机等其他传感器采集的墙壁距离,对于第一中间点云中的一个点云,确定该点云的距离值是否小于采集的墙面距离,若是,则将该点云保留下来,即归属到第二中间点云中,如果该点云的距离值大于等于采集的墙面距离,则将该点云排除。对于第一中间点云中的每一个点云均进行上述处理,即可将属于墙面的点云排除,得到第二中间点云。其中,墙壁距离可以定义装载于移动机器人上的传感器距离环境中的一面墙壁的距离;点云的距离值可以定义为该点云距离该面墙壁的距离。
[0095]
对观测三维点云进行分割后,保留下来第二中间点云,对第二中间点云进行聚类,聚类的依据可以为点云之间的距离,包括但不限于欧式距离、余弦距离等等,聚类后,可以得到一个或者几个点云集合,对于每一个点云集合可以作为一个候选的目标障碍物。
[0096]
最后,所述根据预设的障碍物体积阈值,确定所述点云集合是否为所述目标障碍物的三维重建表面轮廓,包括:确定一个点云集合的体积是否小于所述障碍物体积阈值,若
是,则确定所述点云集合为目标障碍物,并将所述点云集合确定为所述目标障碍物的三维重建表面轮廓;若否,则忽略该点云集合。
[0097]
也就是说,对分割得到的点云进行聚类,得到符合预设的小障碍物的体积大小阈值的点云集合,则判定为是属于小障碍物的三维点云集合,该点云集合形成的表面和轮廓,即为目标障碍物的三维重建表面轮廓。
[0098]
更加具体的,确定一个点云集合的体积是否小于预设的障碍物体积阈值,若小于,则确定该点云集合是本要识别的目标障碍物,并将该点云集合确定为目标障碍物的三维重建表面轮廓;如果一个点云集合的体积大于等于预设的障碍物体积阈值,则忽略该点云集合。
[0099]
由图1所示的方法可以看出,本技术在移动机器人执行平面任务时,获取其在不同位置的相机坐标系下的多帧初始三维点云,然后将各帧初始三维点云映射为世界坐标系下的环境三维点云,并将得到的多帧环境三维点云进行融合,得到障碍物物体表面及障碍物所在的局部环境的观测三维点云,最后,对观测三维点云依次进行分割过滤,将保留下来的点云进行聚类,即可得到目标障碍物的三维重建表面轮廓。本技术的障碍物的三维重建方法具有成本低、轻量化、计算量小、实时性高、易部署等特性,主要适用于移动机器人在执行平面任务时对小障碍物的检测,能够精确获取小障碍物的形貌,从而帮助移动机器人执行相应的任务;也可用于小障碍物的辅助识别。
[0100]
在本技术的一些实施例中,上述方法还包括:根据所述目标障碍物的三维重建表面轮廓,提取所述目标障碍物的表面结构特征,所述表面结构特征至少包括:曲率、角点;获取通过装载于所述移动机器人的图像传感器采集的图像信息和纹理信息;联合所述表面结构特征、所述图像信息、以及所述纹理信息,确定所述目标障碍物的类型。
[0101]
即在得到小障碍物的三维重建表面轮廓信息后,可以提取障碍物表面特征信息,包括曲率和角点等,进一步的结合图像传感器获得的图像(rgb或者深度图)或其它纹理信息等,可以进一步对障碍物种类进行识别,对于障碍物种类的识别可以利用提前训练好的目标分类模型,如基于神经网络构建并训练好的目标分类模型,使用时,将障碍物的三维重建表面轮廓信息同图像传感器获得的图像以及纹理信息等输入至目标分类模型中,以明确障碍物形貌和种类信息,从而帮助移动机器人更加智能化的清扫和避让。
[0102]
图5示出了根据本技术的另一个实施例的障碍物的三维重建方法的流程示意图,从图5可以看出,本实施例包括:
[0103]
移动机器人在执行平面任务的过程中,按照预设的时间周期,获取在像素坐标系下的激光线中心的原始点云;根据原始点云恢复出在不同位置的相机坐标系下的多帧初始三维点云。
[0104]
将各帧初始三维点云映射为世界坐标系下的环境三维点云,并将得到的多帧环境三维点云进行融合,得到目标障碍物的观测三维点云。
[0105]
对于观测三维点云中的任一点云,确定其高度值是否大于地面高度阈值;若否,则排除对应的点云;若是,则将对应的点云归属于第一中间点云。
[0106]
对于第一中间点云中的任一点云,确定其距离值是否小于墙面距离,若否,则排除对应的点云;若是,将对应的点云归属于第二中间点云。
[0107]
对第二中间点云进行聚类,得到多个点云集合。
[0108]
对于任一点云集合,确定一个点云集合的体积是否小于障碍物体积阈值,若否,则忽略该点云集合;若是,则确定该点云集合为目标障碍物,并将该点云集合确定为目标障碍物的三维重建表面轮廓。
[0109]
提取目标障碍物的表面结构特征,联合通过装载于移动机器人的图像传感器采集的图像信息和纹理信息,确定目标障碍物的类型。
[0110]
图6示出了根据本技术的一个实施例的障碍物的三维重建装置的结构示意图,所述装置包括:
[0111]
获取单元610,用于获取移动机器人执行平面任务时在不同位置的相机坐标系下的多帧初始三维点云;
[0112]
映射单元620,用于将各帧所述初始三维点云映射为世界坐标系下的环境三维点云,并将得到的多帧环境三维点云进行融合,得到所述障碍物的观测三维点云;
[0113]
重建单元630,用于对所述观测三维点云依次进行分割和聚类,得到目标障碍物的三维重建表面轮廓。
[0114]
在本技术的一些实施例中,在上述装置中,所述移动机器人装载有线激光模组;获取单元610,用于按照预设的时间周期,通过所述激光模组发射的光射线,获取在像素坐标系下的激光线中心的原始点云;基于所述相机坐标系到像素坐标系的映射,根据所述激光线中心的原始点云,建立第一约束;基于所述相机坐标系下的线激光光平面方程,建立第二约束;联合所述第一约束和所述第二约束,确定在相机坐标系下的一帧初始三维点云。
[0115]
在本技术的一些实施例中,在上述装置中,映射单元620,用于确定所述相机坐标系到所述机器人坐标系的第一变换矩阵;读取并根据所述移动机器人在世界坐标系下的位姿,确定所述机器人坐标系指定轴在所述世界坐标系下的第一坐标;根据所述第一坐标和所述世界坐标系的指定轴单位坐标,确定所述机器人坐标系到所述世界坐标系的第二变换矩阵;根据各帧所述初始三维点云、所述第一变换矩阵、以及所述第二变换矩阵,确定各帧所述初始三维点云在所述世界坐标系下的环境三维点云。
[0116]
在本技术的一些实施例中,在上述装置中,重建单元630,用于基于地面点云过滤条件,对所述观测三维点云进行过滤,得到第一中间点云;基于墙面点云过滤条件,对所述第一中间点云进行过滤,得到第二中间点云;对第二中间点云进行聚类,得到至少一个点云集合;根据预设的障碍物体积阈值,确定所述点云集合是否为所述目标障碍物的三维重建表面轮廓。
[0117]
在本技术的一些实施例中,在上述装置中,重建单元630,用于确定所述观测三维点云中的各点云的高度值是否大于预设的地面高度阈值,若是,则将对应的点云归属于所述第一中间点云;还用于获取通过装载于所述移动机器人的雷达激光采集的墙面距离;确定所述第一中间点云中的各点云的距离值是否小于所述墙面距离,若是,则将对应的点云归属于所述第二中间点云。
[0118]
在本技术的一些实施例中,在上述装置中,重建单元630,用于确定一个点云集合的体积是否小于所述障碍物体积阈值,若是,则确定所述点云集合为目标障碍物,并将所述点云集合确定为所述目标障碍物的三维重建表面轮廓。
[0119]
在本技术的一些实施例中,上述装置还包括:目标分类单元,用于根据所述目标障碍物的三维重建表面轮廓,提取所述目标障碍物的表面结构特征,所述表面结构特征至少
包括:曲率、角点;获取通过装载于所述移动机器人的图像传感器采集的图像信息和纹理信息;联合所述表面结构特征、所述图像信息、以及所述纹理信息,确定所述目标障碍物的类型。
[0120]
需要说明的是,上述的障碍物的三维重建装置可一一实现前述的障碍物的三维重建方法,这里不再一一赘述。
[0121]
图7是本技术的一个实施例移动机器人的结构示意图。请参考图7,在硬件层面,该移动机器人包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该移动机器人还可能包括其他业务所需要的硬件。
[0122]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0123]
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0124]
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成障碍物的三维重建装置。处理器,执行存储器所存放的程序,并具体用于执行前述方法。
[0125]
上述如本技术图6所示实施例揭示的障碍物的三维重建装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的配置信息,结合其硬件完成上述方法的步骤。
[0126]
该移动机器人还可执行图6中障碍物的三维重建装置执行的方法,并实现障碍物的三维重建装置在图6所示实施例的功能,本技术实施例在此不再赘述。
[0127]
本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的移动机器人
执行时,能够使该移动机器人执行图6所示实施例中障碍物的三维重建装置执行的方法,并具体用于执行前述方法。
[0128]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0129]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0130]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0131]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0132]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0133]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0134]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现配置信息存储。配置信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的配置信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0135]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要
素的过程、方法、商品或者设备中还存在另外的同一要素。
[0136]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0137]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种障碍物的三维重建方法,其特征在于,包括:获取移动机器人执行平面任务时在不同位置的相机坐标系下的多帧初始三维点云;将各帧所述初始三维点云映射为世界坐标系下的环境三维点云,并将得到的多帧环境三维点云进行融合,得到目标障碍物的观测三维点云;对所述观测三维点云依次进行分割和聚类,得到所述目标障碍物的三维重建表面轮廓。2.根据权利要求1所述的方法,其特征在于,所述移动机器人装载有线激光模组;所述获取移动机器人执行平面任务时在不同位置的相机坐标系下的多帧初始三维点云,包括:按照预设的时间周期,通过所述激光模组发射的光射线,获取在像素坐标系下的激光线中心的原始点云;基于所述相机坐标系到像素坐标系的映射,根据所述激光线中心的原始点云,建立第一约束;基于所述相机坐标系下的线激光光平面方程,建立第二约束;联合所述第一约束和所述第二约束,确定在相机坐标系下的一帧初始三维点云。3.根据权利要求1所述的方法,其特征在于,所述将各帧所述初始三维点云映射为世界坐标系下的环境三维点云,包括:确定所述相机坐标系到所述机器人坐标系的第一变换矩阵;读取并根据所述移动机器人在世界坐标系下的位姿,确定所述机器人坐标系指定轴在所述世界坐标系下的第一坐标;根据所述第一坐标和所述世界坐标系的指定轴单位坐标,确定所述机器人坐标系到所述世界坐标系的第二变换矩阵;根据各帧所述初始三维点云、所述第一变换矩阵、以及所述第二变换矩阵,确定各帧所述初始三维点云在所述世界坐标系下的环境三维点云。4.根据权利要求1所述的方法,其特征在于,所述对所述观测三维点云依次进行分割和聚类,得到所述目标障碍物的三维重建表面轮廓,包括:基于地面点云过滤条件,对所述观测三维点云进行过滤,得到第一中间点云;基于墙面点云过滤条件,对所述第一中间点云进行过滤,得到第二中间点云;对第二中间点云进行聚类,得到至少一个点云集合;根据预设的障碍物体积阈值,确定所述点云集合是否为所述目标障碍物的三维重建表面轮廓。5.根据权利要求4所述的方法,其特征在于,所述基于地面点云过滤条件,对所述观测三维点云进行过滤,得到第一中间点云,包括:确定所述观测三维点云中的各点云的高度值是否大于预设的地面高度阈值,若是,则将对应的点云归属于所述第一中间点云;所述基于墙面点云过滤条件,对所述第一中间点云进行过滤,得到第二中间点云,包括:获取通过装载于所述移动机器人的雷达激光采集的墙面距离;确定所述第一中间点云中的各点云的距离值是否小于所述墙面距离,若是,则将对应
的点云归属于所述第二中间点云。6.根据权利要求4所述的方法,其特征在于,所述根据预设的障碍物体积阈值,确定所述点云集合是否为所述目标障碍物的三维重建表面轮廓,包括:确定一个点云集合的体积是否小于所述障碍物体积阈值,若是,则确定所述点云集合为目标障碍物,并将所述点云集合确定为所述目标障碍物的三维重建表面轮廓。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述目标障碍物的三维重建表面轮廓,提取所述目标障碍物的表面结构特征,所述表面结构特征至少包括:曲率、角点;获取通过装载于所述移动机器人的图像传感器采集的图像信息和纹理信息;联合所述表面结构特征、所述图像信息、以及所述纹理信息,确定所述目标障碍物的类型。8.一种障碍物的三维重建装置,其特征在于,所述装置包括:获取单元,用于获取移动机器人执行平面任务时在不同位置的相机坐标系下的多帧初始三维点云;映射单元,用于将各帧所述初始三维点云映射为世界坐标系下的环境三维点云,并将得到的多帧环境三维点云进行融合,得到所述障碍物的观测三维点云;重建单元,用于对所述观测三维点云依次进行分割和聚类,得到目标障碍物的三维重建表面轮廓。9.一种移动机器人,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7任一项所述的障碍物的三维重建方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~7任一项所述的障碍物的三维重建方法。
技术总结
本申请涉及一种障碍物的三维重建方法、装置、移动机器人及介质,其方法包括:获取移动机器人执行平面任务时在不同位置的相机坐标系下的多帧初始三维点云;将各帧所述初始三维点云映射为世界坐标系下的环境三维点云,并将得到的多帧环境三维点云进行融合,得到目标障碍物的观测三维点云;对所述观测三维点云依次进行分割和聚类,得到所述目标障碍物的三维重建表面轮廓。本申请的障碍物的三维重建方法具有成本低、轻量化、计算量小、实时性高、易部署等特性,主要适用于移动机器人在执行平面任务时对小障碍物的检测,能够精确获取小障碍物的形貌,从而帮助移动机器人执行相应的任务;也可用于小障碍物的辅助识别。用于小障碍物的辅助识别。用于小障碍物的辅助识别。
技术研发人员:蔡为燕 罗晗
受保护的技术使用者:北京石头创新科技有限公司
技术研发日:2023.04.27
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
