一种点云地图构建方法和装置、电子设备与流程

文档序号:33455513发布日期:2023-03-15 02:11阅读:36来源:国知局
一种点云地图构建方法和装置、电子设备与流程

1.本发明涉及智能硬件技术领域,尤其涉及一种点云地图构建方法和装置、电子设备。


背景技术:

2.点云地图构建技术是机器人领域的核心技术,构建高精度点云地图是目前机器人领域的一个热门问题。目前点云地图构建时,由机器人中设置的激光雷达向周围环境发射激光脉冲;脉冲碰撞到周围物体反弹并返回激光雷达;激光雷达根据每个脉冲返回到激光雷达所花费的时间来计算其传播的距离;每秒重复数百万次此过程,生成点云地图。
3.该种生成点云地图的方式,通过激光雷达得到的点云地图受无人车运动、激光雷达计算误差等影响,在三维坐标系下往往存在x坐标大于或小于x0的点,y轴坐标位于[0,y0]之外的点,z轴坐标位于[0,z0]之外的点。而理论上来说,通过激光雷达生成的该平面的点云地图中任意点的x坐标均为x0,而且y轴坐标会落在[0,y0],z轴坐标会落在[0,z0],可见,现有的点云地图生成方案导致点云地图准确性较低。除此之外,点云地图还存在点分布不均匀的问题。


技术实现要素:

[0004]
本发明实施例的目的是提供一种点云地图构建方法和装置、电子设备,能够解决现有技术中存在的点云地图准确性较低、点分布的问题。
[0005]
为解决上述技术问题,本发明提供如下技术方案:
[0006]
本发明实施例提供了一种点云地图构建方法,其中,所述方法包括:
[0007]
将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合;
[0008]
针对每个所述第一平面,滤除所述第一平面对应的点集合中的误差点并确定所述第一平面的边界,得到处理后的第二平面;
[0009]
将各所述第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除点,得到所述目标对象的目标点云地图。
[0010]
可选地,在所述将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合的步骤之前,所述方法还包括:
[0011]
读取目标对象的初始点云地图;
[0012]
确定所述初始点云地图中坐标值跨度最小的第一坐标轴;
[0013]
将所述第一坐标轴的垂直面确定为所述目标对象的平面。
[0014]
可选地,针对每个所述第一平面,滤除所述第一平面对应的点集合中的误差点并确定所述第一平面的边界,得到处理后的第二平面的步骤,包括:
[0015]
针对每个所述第一平面,确定与所述第一平面垂直的第一坐标轴;
[0016]
读取所述第一平面在所述第一坐标轴的第一坐标值;
[0017]
根据所述第一坐标值,生成多个垂直于所述第一坐标轴的平面圆,每个所述平面圆在所述第一坐标轴的坐标值均为所述第一坐标值;
[0018]
针对每个所述平面圆,滤除所述平面圆内的误差点,其中,所述误差点的第一坐标轴的坐标值不为所述第一坐标值;
[0019]
针对每个所述第一平面,根据所述第一平面最边缘的平面圆确定所述第一平面的边界,得到处理后的第二平面。
[0020]
可选地,将各所述第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到所述目标对象的目标点云地图的步骤,包括:
[0021]
针对每个所述第二平面,将所述第二平面对应的点集合与预设网格进行重叠;
[0022]
确定所述点集合中置于所述预设网格中各子网格内部的目标点;
[0023]
将所述点集合中的所述目标点滤除;
[0024]
将滤除目标点后的各所述第二平面平行于所述目标对象的平面同轴排列,得到所述目标对象的目标点云地图。
[0025]
可选地,在所述读取目标对象的初始点云地图的步骤之前,所述方法还包括:
[0026]
控制机器人中预设的激光雷达按照预设频率发射激光脉冲;
[0027]
依据各所述激光脉冲返回所述激光雷达所花费的时长,确定激光脉冲的传播距离;
[0028]
基于各所述激光脉冲的传播方向和传播距离,确定激光脉冲扫描到的目标对象的坐标点;
[0029]
依据扫描到的目标对象的各坐标点,生成目标对象的初始点云地图。
[0030]
本发明实施例提供了一种点云地图构建装置,其中,所述装置包括:
[0031]
划分模块,用于将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合;
[0032]
滤除模块,用于针对每个所述第一平面,滤除所述第一平面对应的点集合中的误差点并确定所述第一平面的边界,得到处理后的第二平面;
[0033]
生成模块,用于将各所述第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到所述目标对象的目标点云地图。
[0034]
可选地,所述装置还包括:
[0035]
读取模块,用于在所述划分模块将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合之前,读取目标对象的初始点云地图;
[0036]
第一确定模块,用于确定所述初始点云地图中坐标值跨度最小的第一坐标轴;
[0037]
第二确定模块,用于将所述第一坐标轴的垂直面确定为所述目标对象的平面。
[0038]
可选地,所述滤除模块包括:
[0039]
第一子模块,用于针对每个所述第一平面,确定与所述第一平面垂直的第一坐标轴;
[0040]
第二子模块,用于读取所述第一平面在所述第一坐标轴的第一坐标值;
[0041]
第三子模块,用于根据所述第一坐标值,生成多个垂直于所述第一坐标轴的平面
圆,每个所述平面圆在所述第一坐标轴的坐标值均为所述第一坐标值;
[0042]
第四子模块,用于针对每个所述平面圆,滤除所述平面圆内的误差点,其中,所述误差点的第一坐标轴的坐标值不为所述第一坐标值;
[0043]
第五子模块,用于针对每个所述第一平面,根据所述第一平面最边缘的平面圆确定所述第一平面的边界,得到处理后的第二平面。
[0044]
可选地,所述生成模块包括:
[0045]
第六子模块,用于针对每个所述第二平面,将所述第二平面对应的点集合与预设网格进行重叠;
[0046]
第七子模块,用于确定所述点集合中置于所述预设网格中各子网格内部的目标点;
[0047]
第八子模块,用于将所述点集合中的所述目标点滤除;
[0048]
第九子模块,用于将滤除目标点后的各所述第二平面平行于所述目标对象的平面同轴排列,得到所述目标对象的目标点云地图。
[0049]
可选地,所述装置还包括:
[0050]
控制模块,用于在所述划分模块读取目标对象的初始点云地图之前,控制机器人中预设的激光雷达按照预设频率发射激光脉冲;
[0051]
第三确定模块,用于依据各所述激光脉冲返回所述激光雷达所花费的时长,确定激光脉冲的传播距离;
[0052]
第四确定模块,用于基于各所述激光脉冲的传播方向和传播距离,确定激光脉冲扫描到的目标对象的坐标点;
[0053]
初始点云地图生成模块,用于依据扫描到的目标对象的各坐标点,生成目标对象的初始点云地图。
[0054]
本发明实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现上述任意一种点云地图构建方法的步骤。
[0055]
本发明实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现上述任意一种点云地图构建方法的步骤。
[0056]
本发明实施例提供的点云地图构建方案,将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合;针对每个第一平面,滤除第一平面对应的点集合中的误差点并确定第一平面的边界,得到处理后的第二平面,能够滤除点云地图中的误差点。此外,本发明实施例提供的点云地图构建方案,将各第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到目标对象的目标点云地图,能够使点云分布均匀化,最终提升所构建的点云地图的质量。
附图说明
[0057]
图1是表示本技术实施例的一种点云地图构建场景示意图;
[0058]
图2是表示本技术实施例的一种点云地图构建方法的步骤流程图;
[0059]
图3是表示本技术实施例的点云地图优化过程变化示意图;
[0060]
图4是表示本技术实施例的一种点云地图构建装置的结构框图;
[0061]
图5是表示本技术实施例的一种电子设备的结构框图。
具体实施方式
[0062]
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0063]
点云地图构建技术是机器人领域的核心技术,如图1中的点云地图构建场景示意图所示,无人车按照预设路径行驶过程中通过激光雷达采集目标物体(如建筑物)的点云信息,得到初始点云地图。本技术中,对初始点云地图进行优化处理,得到优化后的高精度点云地图。
[0064]
现有技术中,通过激光雷达得到的点云地图,包括三维坐标(xyz)。在该点云地图中,假设现在有一矩形平面,该平面垂直于三维坐标系的x轴,记该平面与x轴的相交点为x0,记该平面在y轴和z轴的坐标为[0,y0]和[0,z0]。理论上来说,通过激光雷达生成的该平面的点云地图中任意点的x坐标均为x0,而且y轴坐标会落在[0,y0],z轴坐标会落在[0,z0]。然而,受无人车运动、激光雷达计算误差等影响,该点云地图中往往存在x坐标大于或小于x0的点,y轴坐标位于[0,y0]之外的点,z轴坐标位于[0,z0]之外的点,导致点云地图准确性较低。除此之外,点云地图还存在点分布不均匀的问题,导致点云地图质量较差。
[0065]
本技术方案的核心在于对初始点云地图进行优化处理,滤除点云地图中存在误差的点,以及解决点云分布不均匀的问题。
[0066]
下面结合附图2,通过具体的实施例及其应用场景对本技术实施例提供的点云地图构建方案进行详细地说明。
[0067]
本技术实施例的点云地图构建方法包括以下步骤:
[0068]
步骤201:将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合。
[0069]
本技术实施例的点云地图构建方法应用于服务器、电脑等具有分析功能的电子设备,电子设备可以独立于机器人存在,也可以设置在机器人中。电子设备中的存储介质存储有机器人调度程序,电子设备的处理器运行存储介质中的程序执行点云地图构建流程。
[0070]
本技术实施例中,初始点云地图可通过如下方式得到:
[0071]
在读取初始点云地图之前,控制机器人中预设的激光雷达按照预设频率发射激光脉冲;依据各激光脉冲返回激光雷达所花费的时长,确定激光脉冲的传播距离;基于各激光脉冲的传播方向和传播距离,确定激光脉冲扫描到的目标对象的坐标点;依据扫描到的目标对象的各坐标点,生成目标对象的初始点云地图。
[0072]
对于激光雷达发射激光脉冲的预设频率可由本领域技术人员灵活设置,本技术实施例中对此不做具体限制。
[0073]
本技术实施例中,在获取到初始点云地图后为精准地滤除点云初始点云地图中的误差点,将点云地图中杂乱无章分布的点划分至多个平面内,逐个对平面中的误差点进行滤除。在确定划分平面时,选择目标对象的平面作为划分平面。这是由于点云地图中的点沿目标对象的正平面划分时,各点沿目标对象正平面的坐标值跨度最小。
[0074]
可见如何确定目标物体的平面,是初始点云地图进行划分的关键。一种可行性的
处理方式为:在将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合的步骤之前,读取目标对象的初始点云地图;确定初始点云地图中坐标值跨度最小的第一坐标轴;将第一坐标轴的垂直面确定为目标对象的平面。
[0075]
如图3(a)所示,正对用户的点云,这些点在y轴和z轴的坐标值跨度较大,但在x轴的坐标值跨度较小,则认为这片点云归属于目标物体的平面即正对我们的面,因此将x轴的垂直面确定为目标对象的平面。
[0076]
将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合,划分后得到的第一平面中的点依然包含误差点且不均匀分布。
[0077]
步骤202:针对每个第一平面,滤除第一平面对应的点集合中的误差点并确定第一平面的边界,得到处理后的第二平面。
[0078]
通过步骤202可将每个第一平面中的误差点滤除,得到多个第二平面。一种可选地针对每个所述第一平面,滤除所述第一平面对应的点集合中的误差点并确定所述第一平面的边界,得到处理后的第二平面的方式可以包括如下子步骤:
[0079]
子步骤一:针对每个第一平面,确定与第一平面垂直的第一坐标轴。
[0080]
如图3(a)所示,第一平面垂直的第一坐标轴即x轴。
[0081]
子步骤二:读取第一平面在第一坐标轴的第一坐标值。
[0082]
对于垂直于第一坐标轴的第一平面,本技术实施例中认为该第一平面在第一坐标轴的坐标值为已知量并读取该已知量。
[0083]
子步骤三:根据第一坐标值,生成多个垂直于第一坐标轴的平面圆,每个平面圆在第一坐标轴的坐标值均为第一坐标值。
[0084]
在第一平面中构建的平面圆需确保能够覆盖整个第一平面,构建完平面圆第一平面示意图如图3(b)所示。如图3所示,该第一平面垂直于三维坐标系的x轴,与x轴的相交点为x0,则针对该平面生成的一系列平面圆垂直于x轴且x轴坐标值均为x0。
[0085]
子步骤四:针对每个平面圆,滤除平面圆内的误差点。
[0086]
其中,误差点的第一坐标轴的坐标值不为第一坐标值。
[0087]
针对每个平面圆,滤除在另外两个坐标轴的坐标值落入该平面圆内但在第一坐标轴的坐标值不为第一坐标值的点。依然以图3(b)所示的矩形平面为例,该平面即第一平面垂直于三维坐标系的x轴,与x轴的相交点为x0,则滤除的点为在y坐标轴和z坐标值的坐标值落入该平面圆内但在x坐标轴的坐标值不为x0的点。
[0088]
通过本可选地滤除第一平面中误差点的方法,可将第一坐标轴的坐标值不在第一坐标轴上的各点滤除,确保保留下的各点位于同一平面上。
[0089]
子步骤五:针对每个第一平面,根据第一平面最边缘的平面圆确定第一平面的边界,得到处理后的第二平面。
[0090]
例如:当第一平面为矩形平面时,确定该平面的四个边作为边界最终得到第二平面。
[0091]
重复执行上述子步骤一至子步骤四,对划分后的各第一平面进行处理,得到多个第二平面。
[0092]
步骤203:将各第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到目标对象的目标点云地图。
[0093]
本步骤中滤除第二平面中在子网格外部的各点,仅保留网格相交线上的点,可将第二平面中的点均匀分布。
[0094]
一种可选地将各第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到目标对象的目标点云地图的方式可以包括如下子步骤:
[0095]
子步骤一:针对每个第二平面,将第二平面对应的点集合与预设网格进行重叠。
[0096]
预设网格包括多个尺寸相同、排列均匀的子网格,每个子网格的具体尺寸可以由本领域技术人员灵活设置,本技术实施例中对此不做具体限制。
[0097]
子步骤二:确定点集合中置于预设网格中各子网格内部的目标点。
[0098]
子步骤三:将点集合中的目标点滤除。
[0099]
滤除后的目标点后的第二平面的示意图如图3(c)所示,通过图3(c)可视,第二平面中的各点均匀排布。
[0100]
子步骤四:将滤除目标点后的各第二平面平行于目标对象的平面同轴排列,得到目标对象的目标点云地图。
[0101]
需要说明的是步骤201至步骤203为对采集的一个点云地图进行优化的流程。在实际实现过程中,在机器人运行过程中需定期获取初始点云地图,每次获取到初始点云地图均重复执行步骤201至步骤203对点云地图进行优化。
[0102]
本技术实施例提供的点云地图构建方法,将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合;针对每个第一平面,滤除第一平面对应的点集合中的误差点并确定第一平面的边界,得到处理后的第二平面,能够滤除点云地图中的误差点。此外,本发明实施例提供的点云地图构建方案,将各第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到目标对象的目标点云地图,能够使点云分布均匀化,最终提升所构建的点云地图的质量。
[0103]
图4为实现本技术实施例的一种点云地图构建装置的结构框图。
[0104]
本技术实施例提供的点云地图构建装置包括如下功能模块:
[0105]
划分模块401,用于将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合;
[0106]
滤除模块402,用于针对每个所述第一平面,滤除所述第一平面对应的点集合中的误差点并确定所述第一平面的边界,得到处理后的第二平面;
[0107]
生成模块403,用于将各所述第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到所述目标对象的目标点云地图。
[0108]
可选地,所述装置还包括:
[0109]
读取模块,用于在所述划分模块将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合之前,读取目标对象的初始点云地图;
[0110]
第一确定模块,用于确定所述初始点云地图中坐标值跨度最小的第一坐标轴;
[0111]
第二确定模块,用于将所述第一坐标轴的垂直面确定为所述目标对象的平面。
[0112]
可选地,所述滤除模块包括:
[0113]
第一子模块,用于针对每个所述第一平面,确定与所述第一平面垂直的第一坐标轴;
[0114]
第二子模块,用于读取所述第一平面在所述第一坐标轴的第一坐标值;
[0115]
第三子模块,用于根据所述第一坐标值,生成多个垂直于所述第一坐标轴的平面圆,每个所述平面圆在所述第一坐标轴的坐标值均为所述第一坐标值;
[0116]
第四子模块,用于针对每个所述平面圆,滤除所述平面圆内的误差点,其中,所述误差点的第一坐标轴的坐标值不为所述第一坐标值;
[0117]
第五子模块,用于针对每个所述第一平面,根据所述第一平面最边缘的平面圆确定所述第一平面的边界,得到处理后的第二平面。
[0118]
可选地,所述生成模块包括:
[0119]
第六子模块,用于针对每个所述第二平面,将所述第二平面对应的点集合与预设网格进行重叠;
[0120]
第七子模块,用于确定所述点集合中置于所述预设网格中各子网格内部的目标点;
[0121]
第八子模块,用于将所述点集合中的所述目标点滤除;
[0122]
第九子模块,用于将滤除目标点后的各所述第二平面平行于所述目标对象的平面同轴排列,得到所述目标对象的目标点云地图。
[0123]
可选地,所述装置还包括:
[0124]
控制模块,用于在所述划分模块读取目标对象的初始点云地图之前,控制机器人中预设的激光雷达按照预设频率发射激光脉冲;
[0125]
第三确定模块,用于依据各所述激光脉冲返回所述激光雷达所花费的时长,确定激光脉冲的传播距离;
[0126]
第四确定模块,用于基于各所述激光脉冲的传播方向和传播距离,确定激光脉冲扫描到的目标对象的坐标点;
[0127]
初始点云地图生成模块,用于依据扫描到的目标对象的各坐标点,生成目标对象的初始点云地图。
[0128]
本技术实施例提供的点云地图构建装置,将所读取的初始点云地图中的点按照目标对象的平面进行划分,得到每个第一平面对应的点集合;针对每个第一平面,滤除第一平面对应的点集合中的误差点并确定第一平面的边界,得到处理后的第二平面,能够滤除点云地图中的误差点。此外,本发明实施例提供的点云地图构建方案,将各第二平面对应的点集合与预设网格进行重叠,依据点集合中各点与预设网格中各子网格的位置关系进行点滤除,得到目标对象的目标点云地图,能够使点云分布均匀化,最终提升所构建的点云地图的质量。
[0129]
本技术实施例中图4所示的点云地图构建装置可以是装置,也可以是服务器中的部件、集成电路、或芯片。本技术实施例中的图4所示的点云地图构建装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0130]
本技术实施例提供的图4所示的点云地图构建装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0131]
可选地,如图5所示,本技术实施例还提供一种电子设备500,包括处理器501,存储器502,存储在存储器502上并可在所述处理器501上运行的程序或指令,该程序或指令被处理器501执行时实现上述点云地图构建方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0132]
需要注意的是,本技术实施例中的电子设备包括上述所述的服务器。
[0133]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述点云地图构建方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0134]
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0135]
本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述点云地图构建方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0136]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0137]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0138]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1