路沿识别方法、装置、智能设备和存储介质与流程
未命名
08-07
阅读:108
评论:0
1.本技术涉及机器人技术领域,尤其涉及一种路沿识别方法、装置、智能设备和存储介质。
背景技术:
2.随着科技的迅速发展,智能机器人行业也快速发展,各种类型的机器人越来越多,利用机器人辅助或代替部分人工工作也比较普遍,例如,变电站使用机器人进行电力巡检。
3.在变电站场景中包含多种不同的道路以及地形,轮式机器人能够通过的区域有限。轮式机器人在变电站道路中行驶时,需依赖准确的定位结果实现安全的移动,而偶尔出现的定位失败可能会导致机器人脱轨,驶出预定的安全区域,造成较为严重的设备损坏后果。
4.鉴于此,为了确保巡检机器人在变电站安全地执行巡检任务,如何让机器人准确识别路沿,有效约束机器的行驶区域,以保障机器人的安全移动,是当前需要考虑的问题。
技术实现要素:
5.本技术实施例提供了一种路沿识别方法、装置、智能设备和存储介质,可以让机器人准确识别路沿,有效约束机器的行驶区域,以保障机器人的安全移动。
6.第一方面,本技术实施例提供了一种路沿识别方法,包括:
7.获取机器人所在环境预设区域内的关键帧激光点云;
8.将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息;
9.基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合;
10.对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界。
11.在第一方面的一种可能的实现方式中,所述排列信息包括激光线束号及列号,所述将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息的步骤,包括:
12.将所述关键帧激光点云进行有序排列,并获取所述关键帧激光点云中激光点的竖直角度与水平角度;
13.根据所述竖直角度确定所述激光点的激光线束号;
14.根据所述水平角度确定所述激光点所在列的列号。
15.在第一方面的一种可能的实现方式中,所述根据所述竖直角度确定所述激光点的激光线束号的步骤,包括:
16.根据下式确定激光点p的线束号:
17.row
p
=(α+γ)/2,
18.其中,row
p
表示所述激光点p的激光线束号,α表示所述激光点p的竖直角度的值,γ为预设角度值;
19.所述根据所述水平角度确定所述激光点所在列的列号的步骤,包括:
20.根据下式确定所述激光点p所在列的列号:
21.col
p
=β/b,
22.其中,col
p
表示所述激光点p所在列的列号,β表示所述激光点p的水平角度值,b为预设阈值。
23.在第一方面的一种可能的实现方式中,所述基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合的步骤,包括:
24.基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除,所述地物点为照射在地物表面上的激光点;
25.对目标激光点进行邻域距离检测,构建候选路沿点集合,所述目标激光点为剔除所述地物点后所述关键帧激光点云中剩余的激光点。
26.在第一方面的一种可能的实现方式中,所述排列信息包括激光线束号及列号,所述基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除的步骤,包括:
27.将所述关键帧激光点云中激光线束号大于预设束号的激光点标记为地物点;和/或,
28.计算所述关键帧激光点云中激光线束号小于或者等于预设束号的激光点及其相邻激光点之间的水平距离,所述相邻激光点是指激光线束号与所述激光点相邻但列号与所述激光点相同的激光点;
29.若所述水平距离小于预设水平距离阈值,则将所述激光点标记为所述地物点;
30.将标记为所述地物点的激光点从所述关键帧激光点云中剔除。
31.在第一方面的一种可能的实现方式中,所述排列信息包括激光线束号及列号,所述对目标激光点进行邻域距离检测,构建候选路沿点集合的步骤,包括:
32.获取所述目标激光点的邻域点集合,所述邻域点集合包括所述目标激光点,及其预设个数的领域点;
33.将所述关键帧激光点云进行鸟瞰投影,并基于所述鸟瞰投影获取所述邻域点集合中目标激光点以及所述领域点的二维平面距离;
34.将所述邻域点集合中目标激光点以及所述领域点的二维平面距离按大小进行排序,并计算所述邻域点集合中最大二维平面距离与最小二维平面距离的差值;
35.若所述差值大于预设差值阈值,则将所述目标激光点确定为候选路沿点,构建候选路沿点集合。
36.在第一方面的一种可能的实现方式中,所述对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界的步骤,包括:
37.对所述候选路沿点集合中的候选路沿点进行聚类处理;
38.根据所述聚类处理的结果,判断路沿形状;
39.选择与所述路沿形状对应的拟合方式进行拟合,并根据拟合结果识别路沿边界。
40.在第一方面的一种可能的实现方式中,在所述对所述候选路沿点集合中的候选路
沿点进行聚类处理的步骤之前,包括:
41.获取候选路沿点的三维坐标,以及所述候选路沿点所在激光线束上的q个邻域点的三维坐标;
42.根据所述候选路沿点以及所述q个邻域点的三维坐标,进行协方差矩阵计算,并进行特征值分解;
43.将分解的特征值中的最大特征值对应的特征向量确定为所述候选路沿点的主方向向量;
44.基于所述主方向向量,将所述候选路沿点的主方向与目标路沿方向进行方向差比较;
45.将比较结果大于预设方向差阈值的候选路沿点从所述候选路沿点集合中剔除,其中,所述目标路沿方向为所述候选路沿点相邻激光线束对应的路沿方向。
46.第二方面,本技术实施例提供了一种路沿识别装置,包括:
47.点云获取单元,用于获取机器人所在环境预设区域内的关键帧激光点云;
48.信息获取单元,用于将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排序信息;
49.集合构建单元,用于基于所述排序信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合;
50.路沿识别单元,用于对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界。
51.在第二方面的一种可能的实现方式中,所述排列信息包括激光线束号及列号,所述信息获取单元包括:
52.角度获取模块,用于将所述关键帧激光点云进行有序排列,并获取所述关键帧激光点云中激光点的竖直角度与水平角度;
53.线束号确定模块,用于根据所述竖直角度确定所述激光点的激光线束号;
54.列号确定模块,用于根据所述水平角度确定所述激光点所在列的列号。
55.在第二方面的一种可能的实现方式中,所述线束号确定模块具体用于:
56.根据下式确定激光点p的线束号:
57.row
p
=(α+γ)/2,
58.其中,row
p
表示所述激光点p的激光线束号,α表示所述激光点p的竖直角度的值,γ为预设角度值;
59.所述列号确定模块具体用于:
60.根据下式确定所述激光点p所在列的列号:
61.col
p
=β/b,
62.其中,col
p
表示所述激光点p所在列的列号,β表示所述激光点p的水平角度值,b为预设阈值。
63.在第二方面的一种可能的实现方式中,所述排列信息包括激光线束号及列号,所述集合构建单元包括:
64.地物点标记及剔除模块,用于基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除,所述地物点为照射在地物表面上的激光点;
65.候选集合构建模块,用于对目标激光点进行邻域距离检测,构建候选路沿点集合,所述目标激光点为剔除所述地物点后所述关键帧激光点云中剩余的激光点。
66.在第二方面的一种可能的实现方式中,所述地物点标记及剔除模块包括:
67.第一标记子模块,用于将所述关键帧激光点云中激光线束号大于预设束号的激光点标记为地物点;和/或,
68.水平距离计算子模块,用于计算所述关键帧激光点云中激光线束号小于或者等于预设束号的激光点及其相邻激光点之间的水平距离,所述相邻激光点是指激光线束号与所述激光点相邻但列号与所述激光点相同的激光点;
69.第二标记子模块,用于若所述水平距离小于预设水平距离阈值,则将所述激光点标记为所述地物点;
70.剔除子模块,用于将标记为所述地物点的激光点从所述关键帧激光点云中剔除。
71.在第二方面的一种可能的实现方式中,所述排列信息包括激光线束号及列号,所述候选集合构建模块包括:
72.邻域点集合获取子模块,用于获取所述目标激光点的邻域点集合,所述邻域点集合包括所述目标激光点,及其预设个数的领域点;
73.投影子模块,用于将所述关键帧激光点云进行鸟瞰投影,并基于所述鸟瞰投影获取所述邻域点集合中目标激光点以及所述领域点的二维平面距离;
74.差值计算子模块,用于将所述邻域点集合中目标激光点以及所述领域点的二维平面距离按大小进行排序,并计算所述邻域点集合中最大二维平面距离与最小二维平面距离的差值;
75.候选集合构建子模块,用于若所述差值大于预设差值阈值,则将所述目标激光点确定为候选路沿点,构建候选路沿点集合。
76.在第二方面的一种可能的实现方式中,所述路沿识别单元包括:
77.对所述候选路沿点集合中的候选路沿点进行聚类处理;
78.根据所述聚类处理的结果,判断路沿形状;
79.选择与所述路沿形状对应的拟合方式进行拟合,并根据拟合结果识别路沿边界。
80.在第二方面的一种可能的实现方式中,所述路沿识别装置还包括:
81.三维坐标地获取单元,用于获取候选路沿点的三维坐标,以及所述候选路沿点所在激光线束上的q个邻域点的三维坐标;
82.特征值分解单元,用于根据所述候选路沿点以及所述q个邻域点的三维坐标,进行协方差矩阵计算,并进行特征值分解;
83.主方向向量确定单元,用于将分解的特征值中的最大特征值对应的特征向量确定为所述候选路沿点的主方向向量;
84.候选路沿点过滤单元,用于基于所述主方向向量,将所述候选路沿点的主方向与目标路沿方向进行方向差比较;将比较结果大于预设方向差阈值的候选路沿点从所述候选路沿点集合中剔除,其中,所述目标路沿方向为所述候选路沿点相邻激光线束对应的路沿方向。
85.第三方面,本技术实施例提供了一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实
现如上述第一方面所述的路沿识别方法。
86.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的路沿识别方法。
87.第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在智能设备上运行时,使智能设备执行如上述第一方面所述的路沿识别方法。
88.本技术实施例中,通过获取机器人所在环境预设区域内的关键帧激光点云,将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息,然后基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合,再对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果自动识别路沿边界。本技术方案可使得机器人自动识别路沿,从而有效约束机器的行驶区域,以保障机器人的安全移动。
附图说明
89.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
90.图1是本技术实施例提供的路沿识别方法的实现流程图;
91.图2是本技术实施例提供的路沿识别方法中步骤s102的具体实现流程图;
92.图3是本技术实施例提供的路沿识别方法中步骤s103的具体实现流程图;
93.图4是本技术实施例提供的路沿识别方法中标记和剔除地物点的一种具体实现流程图;
94.图5是本技术实施例提供的路沿识别方法中对构建候选路沿点集合的一种具体实现流程图;
95.图6是本技术实施例提供的路沿识别方法中步骤s104的一种具体实现流程图;
96.图7是本技术实施例提供的路沿识别方法中对候选路沿点集合中的候选路沿点进行过滤的一种具体实现流程图;
97.图8是本技术实施例提供的路沿识别装置的结构框图;
98.图9是本技术实施例提供的智能设备的示意图。
具体实施方式
99.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
100.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
101.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
102.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0103]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0104]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0105]
本技术实施例提供的路沿识别方法可应用于搭载多线激光雷达的智能设备,例如,搭载多线激光雷达的机器人。所述多线激光雷达平行安装在智能设备上,并以多线激光雷达原点为坐标系原点建立三维坐标系。多线激光雷达可以不同的倾斜角度同时发射多束激光,并360度环绕扫描,每一激光线对应一个竖直角度,不同的激光线对应不同的竖直角度,激光反射回来的信号被接收和分析,可以得到环境的点云数据。
[0106]
图1示出了本技术实施例提供的路沿识别方法的实现流程,该方法流程包括步骤s101至s104。各步骤的具体实现原理如下:
[0107]
步骤s101:获取机器人所在环境预设区域内的关键帧激光点云。
[0108]
本实施例中,实时获取机器人所在环境预设区域内的关键帧激光点云。
[0109]
一般地,多线激光雷达扫描的点云数据众多,本实施例中,选取多线激光雷达扫描的点云数据中的关键帧激光点云,关键帧激光点云的获取方式可参照现有技术,此处不赘述。
[0110]
一些实施方式中,上述机器人所在环境预设区域内可以为机器人所在环境下,以机器人为起点,机器人前进方向设定距离内;另一些实施方式中,上述机器人所在环境预设区域内可以为机器人所在环境下,以机器人为中心、指定距离为半径的圆形区域内。
[0111]
步骤s102:将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息。
[0112]
由于不同激光线束在路沿与路面的几何形状存在差异,为有效利用该差异提取路沿点,本技术实施例中,将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息。
[0113]
作为本技术一种可能的实施方式,所述排列信息包括激光线束号及列号,如图2所示,上述将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息的步骤,包括:
[0114]
a1:将所述关键帧激光点云进行有序排列,并获取所述关键帧激光点云中激光点的竖直角度与水平角度。
[0115]
在本技术实施例中,激光扫描雷达平行安装在机器人上,并以激光雷达原点为坐标系原点,x轴指向机器人正面超前的方向,y轴指向机器人左侧左方向,z轴指向机器人上侧的方向,建立三维坐标系。通常以激光线与三维坐标系中x轴和y轴构成的平面之间的夹角作为竖直角度。平面以上的夹角为正值,平面以下的夹角为负值,因此打向地面的激光线对应的竖直角度为负值。通常以激光线与三维坐标系中x轴和z轴构成的平面之间的夹角作为水平角度,水平角的零度方向为x轴的正方向,水平角度沿着顺时针方向逐渐递增。
[0116]
a2:根据所述竖直角度确定所述激光点的激光线束号。
[0117]
在一种可能的实施方式中,根据下式(1)确定激光点p的线束号:
[0118]
row
p
=(α+γ)/2
ꢀꢀꢀꢀꢀꢀ
(1)
[0119]
其中,row
p
表示所述激光点p的激光线束号,α表示所述激光点p的竖直角度的值,γ为预设角度值。本实施例中,γ可具体为15。
[0120]
a3:根据所述水平角度确定所述激光点所在列的列号。
[0121]
在一种可能的实施方式中,根据下式(2)确定所述激光点p所在列的列号:
[0122]
col
p
=β/b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0123]
其中,col
p
表示所述激光点p所在列的列号,β表示所述激光点p的水平角度值,b为预设阈值。本实施例中,b可具体为0.2。
[0124]
示例性地,以velodyne vlp-16激光雷达为例,激光点p的线束号row及列号的计算方式如下:row
p
=(α+15)/2,col
p
=β/0.2;其中α、β分别为激光点的竖直角度的值与水平角度的值。
[0125]
步骤s103:基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合。
[0126]
本实施例中,领域距离检测是指检测激光点以及其邻域点与多线激光雷达的距离。上述候选路沿点集合中的激光点均标记为候选路沿点,同一候选路沿点集合中的候选路沿点为同一激光线束上的激光点。不同激光线束对应不同的候选路沿点集合。
[0127]
作为本技术一种可能的实施方式,如图3所示,上述基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合的步骤,包括:
[0128]
b1:基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除,所述地物点为照射在地物表面上的激光点。
[0129]
所述排列信息包括激光线束号及列号,作为本技术一种可能的实施方式,图4示出了本技术实施例中,基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除的具体实现流程,详述如下:
[0130]
b11:将所述关键帧激光点云中激光线束号大于预设束号的激光点标记为地物点。例如,对于16线激光雷达,若激光点的激光线束号大于9,则将该激光点标记为地物点。
[0131]
和/或,
[0132]
b12:计算所述关键帧激光点云中激光线束号小于或者等于预设束号的激光点及其相邻激光点之间的水平距离,所述相邻激光点是指激光线束号与所述激光点相邻但列号与所述激光点相同的激光点。
[0133]
上述水平距离为三维水平距离,可根据激光点的三维坐标以及其相邻激光点的三
维坐标计算得到。需说明的是,本技术实施例中,只考虑一个相邻激光点的情形。具体地,上述相邻激光点是指激光线束号比所述激光点的激光线束号大1且列号与所述激光点相同的激光点,
[0134]
b13:若所述水平距离小于预设水平距离阈值,则将所述激光点标记为所述地物点。
[0135]
对于激光线束号小于或者等于预设线束号的激光点,通过该激光点与其相邻激光点之间的三维水平距离与预设水平距离阈值的比较结果,确定是否将该激光点标记为地物点。
[0136]
示例性地,以16线激光雷达,对于线束号为i、列号为j,且i≤9的激光点p
i,j
,计算点p
i,j
与p
i+1,j
之间的3d水平距离。当该3d水平距离小于预设水平距离阈值,将激光点p
i,j
标记为地物点。
[0137]
b14:将标记为所述地物点的激光点从所述关键帧激光点云中剔除。
[0138]
为减少路沿识别过程中无用激光点的干扰,本技术实施例中根据排序信息标记并剔除关键帧激光点云中的地物点,从而提高路沿识别的效率。
[0139]
b2:对目标激光点进行邻域距离检测,构建候选路沿点集合,所述目标激光点为剔除所述地物点后所述关键帧激光点云中剩余的激光点。
[0140]
所述排列信息包括激光线束号及列号,作为本技术一种可能的实施方式,图5示出了本技术实施例中,对目标激光点进行邻域距离检测,构建候选路沿点集合的具体实现流程:
[0141]
b21:获取所述目标激光点的邻域点集合,所述邻域点集合包括所述目标激光点,及其预设个数的领域点。
[0142]
具体地,以所述目标激光点为起点,向其左右分别提取k个邻域点,组成邻域点集合,所述邻域点集合包括2k+1个激光点。
[0143]
b22:将所述关键帧激光点云进行鸟瞰投影,并基于所述鸟瞰投影获取所述邻域点集合中目标激光点以及所述领域点的二维平面距离。
[0144]
根据激光线束在不同形状地物表面的形状变化,在鸟瞰视角下的二维水平距离具有相应的变化规律,激光线束在平整地面上的点云具有均匀的激光点分布,主要呈现较均匀的圆弧形状,而激光线束在路沿上的点云则以连续的线状为主。为了方便计算,本实施例中,将激光雷达采集的三维点云投影到xoy平面的鸟瞰视角,基于鸟瞰投影获取所述邻域点集合中目标激光点以及所述领域点的二维平面距离。
[0145]
b23:将所述邻域点集合中目标激光点以及所述领域点的二维平面距离按大小进行排序,并计算所述邻域点集合中最大二维平面距离与最小二维平面距离的差值。
[0146]
b24:若所述差值大于预设差值阈值,则将所述目标激光点确定为候选路沿点,构建候选路沿点集合。
[0147]
本实施例中,分别构建每一目标激光点的邻域点集合,根据上述步骤b22-b23,将差值小于或者等于预设差值阈值的目标激光点舍弃,而将差值大于预设差值阈值的目标激光点保留确定为候选路沿点,进而构建候选路沿点集合。
[0148]
示例性地,以目标激光点p
i,j
(i≤9)为起点,向其左右两侧分别提取k个领域点,组成2k+1个点的邻域点集合s
i,j
{p
i,j-k
,
…
,p
i,j
…
,p
i,j+k
};将邻域点集合s
i,j
中各激光点的二
维平面距离r
2d(i,j)
进行排序,并计算其中最大二维平面距离与最小二维平面距离之间的差值,若差值大于预设差值阈值,则将该目标激光点p
i,j
标记为候选路沿点。本实施例中二维平面距离r
2d
的计算方法如下式(3):
[0149][0150]
步骤s104:对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界。
[0151]
本实施例中,对各激光线束的候选路沿点集合中的候选路沿点分别进行聚类处理,并根据聚类处理的结果识别路沿边界。聚类处理的算法可参照现有技术。
[0152]
作为本技术一种可能的实施方式,如图6所示,上述对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界的步骤,包括:
[0153]
c1:对所述候选路沿点集合中的候选路沿点进行聚类处理。
[0154]
本实施例中,聚类处理可以采用欧式聚类,对各条激光线束上的候选路沿点进行聚类处理,主要目的是进一步剔除路沿区域以外的噪点,同时也将各条激光线束中提取的同向路沿点进行合并,并得到两侧路沿的聚类点云。
[0155]
c2:根据所述聚类处理的结果,判断路沿形状。
[0156]
c3:选择与所述路沿形状对应的拟合方式进行拟合,并根据拟合结果识别路沿边界。
[0157]
本实施例中,先根据聚类处理的结果,判断路沿形状。由于多线激光雷达点云的稀疏性,提取的路沿边界可能并不完整,会存在一定程度上的残缺,因此需要利用已提取的路沿点对残缺部分进行拟合补全。不同的路沿形状采用不同的拟合方式,以提高拟合结果的准确性。
[0158]
示例性地,对于纯直线形状的路沿,可以直接进行二维直线拟合;对于包含曲线部分的路沿,利用分段拟合的方式进行多直线端趋近。
[0159]
最终,根据拟合结果识别路沿边界,从而可根据识别的路沿边界约束机器人的移动范围,防止其脱离安全行驶区域。
[0160]
作为本技术一种可能的实施方式,如图7所示,本技术实施例提供的路沿识别方法中,在所述对所述候选路沿点集合中的候选路沿点进行聚类处理的步骤之前,包括:
[0161]
d1:获取候选路沿点的三维坐标,以及所述候选路沿点所在激光线束上的q个邻域点的三维坐标。
[0162]
d2:根据所述候选路沿点以及所述q个邻域点的三维坐标,进行协方差矩阵计算,并进行特征值分解。协方差矩阵计算及特征值分解的具体过程可参照现有技术,此处不赘述。
[0163]
d3:将分解的特征值中的最大特征值对应的特征向量确定为所述候选路沿点的主方向向量。
[0164]
d4:基于所述主方向向量,将所述候选路沿点的主方向与目标路沿方向进行方向差比较;
[0165]
d5:将比较结果大于预设方向差阈值的候选路沿点从所述候选路沿点集合中剔除,其中,所述目标路沿方向为所述候选路沿点相邻激光线束对应的路沿方向。
[0166]
对于相邻激光线束上标记的路沿点候选点,对应的都是同一条道路的路沿方向,且与机器人当前移动方向基本一致。因此,本实施例中,先通过对激光线束上的路沿点候选点进行主方向向量计算,取路沿点候选点及其在激光线束上左右相邻k个邻域点三维坐标进行协方差矩阵计算,并进行特征值分解,取其中最大特征值对应的特征向量作为候选路沿点的主方向向量,然后与相邻激光线束的路沿方向进行比较,若候选路沿点的主方向与相邻激光线束上的路沿方向差距较大,则将其从候选路沿点集中剔除,反之进行保留,以进一步提高路沿识别的效率和准确性。
[0167]
由上可见,本技术实施例中,通过获取机器人所在环境预设区域内的关键帧激光点云,将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息,然后基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合,再对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果自动识别路沿边界,可使得机器人自动识别路沿,从而有效约束机器的行驶区域,以保障机器人的安全移动。
[0168]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0169]
对应于上文实施例所述的路沿识别方法,图8示出了本技术实施例提供的路沿识别装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0170]
参照图8,该路沿识别装置包括:点云获取单元81,信息获取单元82,集合构建单元83,路沿识别单元84,其中:
[0171]
点云获取单元81,用于获取机器人所在环境预设区域内的关键帧激光点云;
[0172]
信息获取单元82,用于将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排序信息;
[0173]
集合构建单元83,用于基于所述排序信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合;
[0174]
路沿识别单元84,用于对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界。
[0175]
作为本技术一种可能的实施方式,上述排列信息包括激光线束号及列号,上述信息获取单元82包括:
[0176]
角度获取模块,用于将所述关键帧激光点云进行有序排列,并获取所述关键帧激光点云中激光点的竖直角度与水平角度;
[0177]
线束号确定模块,用于根据所述竖直角度确定所述激光点的激光线束号;
[0178]
列号确定模块,用于根据所述水平角度确定所述激光点所在列的列号。
[0179]
作为本技术一种可能的实施方式,上述线束号确定模块具体用于:
[0180]
根据下式确定激光点p的线束号:
[0181]
row
p
=(α+γ)/2,
[0182]
其中,row
p
表示所述激光点p的激光线束号,α表示所述激光点p的竖直角度的值,γ为预设角度值;
[0183]
上述列号确定模块具体用于:
[0184]
根据下式确定所述激光点p所在列的列号:
[0185]
col
p
=β/b,
[0186]
其中,col
p
表示所述激光点p所在列的列号,β表示所述激光点p的水平角度值,b为预设阈值。
[0187]
作为本技术一种可能的实施方式,上述排列信息包括激光线束号及列号,上述集合构建单元83包括:
[0188]
地物点标记及剔除模块,用于基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除,所述地物点为照射在地物表面上的激光点;
[0189]
候选集合构建模块,用于对目标激光点进行邻域距离检测,构建候选路沿点集合,所述目标激光点为剔除所述地物点后所述关键帧激光点云中剩余的激光点。
[0190]
作为本技术一种可能的实施方式,上述地物点标记及剔除模块包括:
[0191]
第一标记子模块,用于将所述关键帧激光点云中激光线束号大于预设束号的激光点标记为地物点;和/或,
[0192]
水平距离计算子模块,用于计算所述关键帧激光点云中激光线束号小于或者等于预设束号的激光点及其相邻激光点之间的水平距离,所述相邻激光点是指激光线束号与所述激光点相邻但列号与所述激光点相同的激光点;
[0193]
第二标记子模块,用于若所述水平距离小于预设水平距离阈值,则将所述激光点标记为所述地物点;
[0194]
剔除子模块,用于将标记为所述地物点的激光点从所述关键帧激光点云中剔除。
[0195]
作为本技术一种可能的实施方式,所述排列信息包括激光线束号及列号,上述候选集合构建模块包括:
[0196]
邻域点集合获取子模块,用于获取所述目标激光点的邻域点集合,所述邻域点集合包括所述目标激光点,及其预设个数的领域点;
[0197]
投影子模块,用于将所述关键帧激光点云进行鸟瞰投影,并基于所述鸟瞰投影获取所述邻域点集合中目标激光点以及所述领域点的二维平面距离;
[0198]
差值计算子模块,用于将所述邻域点集合中目标激光点以及所述领域点的二维平面距离按大小进行排序,并计算所述邻域点集合中最大二维平面距离与最小二维平面距离的差值;
[0199]
候选集合构建子模块,用于若所述差值大于预设差值阈值,则将所述目标激光点确定为候选路沿点,构建候选路沿点集合。
[0200]
作为本技术一种可能的实施方式,上述路沿识别单元84包括:
[0201]
对所述候选路沿点集合中的候选路沿点进行聚类处理;
[0202]
根据所述聚类处理的结果,判断路沿形状;
[0203]
选择与所述路沿形状对应的拟合方式进行拟合,并根据拟合结果识别路沿边界。
[0204]
作为本技术一种可能的实施方式,上述路沿识别装置还包括:
[0205]
三维坐标地获取单元,用于获取候选路沿点的三维坐标,以及所述候选路沿点所在激光线束上的q个邻域点的三维坐标;
[0206]
特征值分解单元,用于根据所述候选路沿点以及所述q个邻域点的三维坐标,进行协方差矩阵计算,并进行特征值分解;
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0218]
所述存储器91可以是所述智能设备9的内部存储单元,例如智能设备9的硬盘或内存。所述存储器91也可以是所述智能设备9的外部存储设备,例如所述智能设备9上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器91还可以既包括所述智能设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述智能设备所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
[0219]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0220]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0221]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0222]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0223]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种路沿识别方法,其特征在于,包括:获取机器人所在环境预设区域内的关键帧激光点云;将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息;基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合;对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界。2.根据权利要求1所述的方法,其特征在于,所述排列信息包括激光线束号及列号,所述将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息的步骤,包括:将所述关键帧激光点云进行有序排列,并获取所述关键帧激光点云中激光点的竖直角度与水平角度;根据所述竖直角度确定所述激光点的激光线束号;根据所述水平角度确定所述激光点所在列的列号。3.根据权利要求1所述的方法,其特征在于,所述基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合的步骤,包括:基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除,所述地物点为照射在地物表面上的激光点;对目标激光点进行邻域距离检测,构建候选路沿点集合,所述目标激光点为剔除所述地物点后所述关键帧激光点云中剩余的激光点。4.根据权利要求3所述的方法,其特征在于,所述排列信息包括激光线束号及列号,所述基于所述排列信息,标记地物点,并将标记为地物点的激光点从所述关键帧激光点云中剔除的步骤,包括:将所述关键帧激光点云中激光线束号大于预设束号的激光点标记为地物点;和/或,计算所述关键帧激光点云中激光线束号小于或者等于预设束号的激光点及其相邻激光点之间的水平距离,所述相邻激光点是指激光线束号与所述激光点相邻但列号与所述激光点相同的激光点;若所述水平距离小于预设水平距离阈值,则将所述激光点标记为所述地物点;将标记为所述地物点的激光点从所述关键帧激光点云中剔除。5.根据权利要求3所述的方法,其特征在于,所述排列信息包括激光线束号及列号,所述对目标激光点进行邻域距离检测,构建候选路沿点集合的步骤,包括:获取所述目标激光点的邻域点集合,所述邻域点集合包括所述目标激光点,及其预设个数的领域点;将所述关键帧激光点云进行鸟瞰投影,并基于所述鸟瞰投影获取所述邻域点集合中目标激光点以及所述领域点的二维平面距离;将所述邻域点集合中目标激光点以及所述领域点的二维平面距离按大小进行排序,并计算所述邻域点集合中最大二维平面距离与最小二维平面距离的差值;若所述差值大于预设差值阈值,则将所述目标激光点确定为候选路沿点,构建候选路
沿点集合。6.根据权利要求1所述的方法,其特征在于,所述对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界的步骤,包括:对所述候选路沿点集合中的候选路沿点进行聚类处理;根据所述聚类处理的结果,判断路沿形状;选择与所述路沿形状对应的拟合方式进行拟合,并根据拟合结果识别路沿边界。7.根据权利要求1至6任一项所述的方法,其特征在于,在所述对所述候选路沿点集合中的候选路沿点进行聚类处理的步骤之前,包括:获取候选路沿点的三维坐标,以及所述候选路沿点所在激光线束上的q个邻域点的三维坐标;根据所述候选路沿点以及所述q个邻域点的三维坐标,进行协方差矩阵计算,并进行特征值分解;将分解的特征值中的最大特征值对应的特征向量确定为所述候选路沿点的主方向向量;基于所述主方向向量,将所述候选路沿点的主方向与目标路沿方向进行方向差比较;将比较结果大于预设方向差阈值的候选路沿点从所述候选路沿点集合中剔除,其中,所述目标路沿方向为所述候选路沿点相邻激光线束对应的路沿方向。8.一种路沿识别装置,其特征在于,包括:点云获取单元,用于获取机器人所在环境预设区域内的关键帧激光点云;信息获取单元,用于将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排序信息;集合构建单元,用于基于所述排序信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合;路沿识别单元,用于对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界。9.一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的路沿识别方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的路沿识别方法。
技术总结
本申请适用于机器人技术领域,提供了一种路沿识别方法、装置、智能设备和存储介质,所述方法包括:获取机器人所在环境预设区域内的关键帧激光点云;将所述关键帧激光点云进行有序排列,得到所述关键帧激光点云中激光点的排列信息;基于所述排列信息对所述激光点进行邻域距离检测,并根据所述邻域距离检测的结果,构建候选路沿点集合;对所述候选路沿点集合中的候选路沿点进行聚类处理,并根据聚类处理的结果识别路沿边界。采用该方法可自动检测路沿,让机器人准确识别路沿,有效约束机器的行驶区域,从而保障机器人的安全移动。从而保障机器人的安全移动。从而保障机器人的安全移动。
技术研发人员:彭志远 雷杰 鲜开义 查盛 王安涛
受保护的技术使用者:深圳市朗驰欣创科技股份有限公司
技术研发日:2023.03.22
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
