一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多线激光雷达障碍物识别方法和装置与流程

2022-11-19 17:01:29 来源:中国专利 TAG:


1.本发明涉及激光雷达技术领域,具体而言,涉及一种多线激光雷达障碍物识别方法和装置。


背景技术:

2.无人驾驶和室外机器人等智能移动设备在室外结构化路面或者半结构化路面上工作时,对前进路线上的障碍物识别是一个非常重要的问题,该检测的准确性和时效性直接决定了是否能正常行驶以及行驶的效率。无人驾驶和室外机器人等智能移动设备依赖于障碍物识别结果做行驶决策,来保证在正常行驶的时候避开障碍物,不会和障碍物发生摩擦或碰撞。现有多线激光雷达测量数据精度高、量程长,且含有丰富三维立体信息,因此能覆盖绝大部分的使用场景。然而,现有的基于多线激光雷达的障碍物识别方法基本采用路面提取、深度学习或增强学习、聚类处理等方法,这些方法都对计算平台的算力要求较高,使得识别效率低。
3.有鉴于此,本说明书提供了一种多线激光雷达障碍物识别方法和装置,以大幅降低雷达数据的处理量和计算量,提高识别效率。


技术实现要素:

4.本发明的目的在于提供一种多线激光雷达障碍物识别方法,包括,对激光雷达数据进行预处理,得到纵向区间和横向区间;对所述纵向区间进行纵向梯度障碍物提取,得到纵向障碍物数据点集合;对所述横向区间进行横向梯度障碍物提取,得到横向障碍物数据点集合;处理所述纵向障碍物数据点集合和所述横向障碍物数据点集合,得到障碍物数据点集合。
5.进一步的,所述对激光雷达数据进行预处理,包括,以激光雷达为圆心,沿半径将所述激光雷达数据划分为多个子区间;基于不同线的激光束,将每个子区间划分为多个子区间块;其中,每个子区间的所述多个子区间块构成所述纵向区间;所述多个子区间之间包含相同线的激光束的子区间块构成所述横向区间;计算每个子区间块内数据点集合的重心,通过所述重心表示所述数据点集合的位置。
6.进一步的,所述对所述纵向区间进行纵向梯度障碍物提取,得到纵向障碍物数据点集合,包括,计算相邻纵向区间的纵向梯度;当所述纵向梯度大于纵向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记;当所述纵向梯度小于纵向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记;将所述凸起障碍物区间和所述凹陷障碍物区间内的障碍物的数据点集合提取为所述纵向障碍物数据点集合。
7.进一步的,所述对所述横向区间进行横向梯度障碍物提取,得到横向障碍物数据点集合,包括,计算相邻横向区间的横向梯度;当所述横向梯度大于横向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记;当所述横向梯度小于横向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记;将所述凸起障碍物区间和
所述凹陷障碍物区间内的障碍物的数据点集合提取为所述横向障碍物数据点集合。
8.进一步的,处理所述纵向障碍物数据点集合和所述横向障碍物数据点集合,得到障碍物数据点集合,包括,将所述横向障碍物数据点集合和所述纵向障碍物数据点集合中重复的障碍物的数据点集合去除,得到初始障碍物数据点集合;拼接所述初始障碍物数据点集合中属于同一个障碍物的数据点集合;得到多个子障碍物数据点集合;所述多个子障碍物数据点集合构成所述障碍物数据点集合。
9.本发明的目的在于提供一种多线激光雷达障碍物识别装置,包括预处理模块、纵向障碍物数据点集合获取模块、横向障碍物数据点集合获取模块和障碍物数据点集合获取模块;所述预处理模块用于对激光雷达数据进行预处理,得到纵向区间和横向区间;所述纵向障碍物数据点集合获取模块用于对所述纵向区间进行纵向梯度障碍物提取,得到纵向障碍物数据点集合;所述横向障碍物数据点集合获取模块用于对所述横向区间进行横向梯度障碍物提取,得到横向障碍物数据点集合;所述障碍物数据点集合获取模块用于处理所述纵向障碍物数据点集合和所述横向障碍物数据点集合,得到障碍物数据点集合。
10.进一步的,所述预处理模块还用于,以激光雷达为圆心,沿半径将所述激光雷达数据划分为多个子区间;基于不同线的激光束,将每个子区间划分为多个子区间块;其中,每个子区间的所述多个子区间块构成所述纵向区间;所述多个子区间之间包含相同线的激光束的子区间块构成所述横向区间;计算每个子区间块内数据点集合的重心,通过所述重心表示所述数据点集合的位置。
11.进一步的,所述纵向障碍物数据点集合获取模块还用于,计算相邻纵向区间的纵向梯度;当所述纵向梯度大于纵向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记;当所述纵向梯度小于纵向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记;将所述凸起障碍物区间和所述凹陷障碍物区间内的障碍物的数据点集合提取为所述纵向障碍物数据点集合。
12.进一步的,所述横向障碍物数据点集合获取模块还用于,计算相邻横向区间的横向梯度;当所述横向梯度大于横向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记;当所述横向梯度小于横向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记;将所述凸起障碍物区间和所述凹陷障碍物区间内的障碍物的数据点集合提取为所述横向障碍物数据点集合。
13.进一步的,所述障碍物数据点集合获取模块还用于,将所述横向障碍物数据点集合和所述纵向障碍物数据点集合中重复的障碍物的数据点集合去除,得到初始障碍物数据点集合;拼接所述初始障碍物数据点集合中属于同一个障碍物的数据点集合;得到多个子障碍物数据点集合;所述多个子障碍物数据点集合构成所述障碍物数据点集合。
14.本发明实施例的技术方案至少具有如下优点和有益效果:本说明书中提出的一种多线激光雷达障碍物识别方法和装置可大幅降低雷达数据的处理量和计算量。
15.本说明书中提出的一种多线激光雷达障碍物识别方法和装置可检测360度范围或特定方向上的障碍物,识别的空间范围广,可控性高。并且从两个维度来提取障碍物,使得微小障碍物都可被准确地识别到,并且对凸起和凹陷的障碍物都有效,可识别障碍物的形态范围广。
附图说明
16.图1为本发明一些实施例提供的一种多线激光雷达障碍物识别方法的示例性流程图;图2为本发明一些实施例提供的对激光雷达数据进行划分的示例性示意图;图3为本发明一些实施例提供的在纵向区间识别到障碍物的示例性示意图;图4为本发明一些实施例提供的在纵向区间未识别到障碍物但实际存在障碍物的示例性示意图;图5为本发明一些实施例提供的多线激光雷达识别障碍物的示例性示意图;图6为本发明一些实施例提供的一种多线激光雷达障碍物识别装置的示例性模块图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
18.在本说明书中,以16线激光雷达为例对多线激光雷达障碍物识别方法进行举例,可以理解的,本发明的方法覆盖16线以及16线以上雷达。
19.图1为本发明一些实施例提供的一种多线激光雷达障碍物识别方法的示例性流程图。在一些实施例中,图1所示的流程100可以由装置600执行。如图1所示,流程100可以包括以下步骤:步骤110,对激光雷达数据进行预处理,得到纵向区间和横向区间。
20.激光雷达数据可以包括多线激光雷达数据,多线激光雷达数据可以由多线激光雷达传感器获取,多线激光雷达传感器可以包括同时发射及接收多束激光的激光旋转测距雷达。多线激光雷达可以测量获取周围环境的3d信息。例如,16线、32线、64线和128线激光雷达等,其中,每一线表示一个激光发射器发射出的一束激光。激光遇到物体后经过漫反射返回激光接收器,雷达模块根据发送和接收的信号的时间间隔计算发射器和物体之间的距离。以16线雷达为例,以上下2
°
为间隔,从下到上总共有16束激光(-15
°
~15
°
)。其中,可以以-15
°
为第1线,从下到上分别编号第1线至第16线。
21.本说明书中的激光雷达的类型可以为旋转测距雷达,测量范围0
°
~360
°
。预处理可以是指对激光雷达数据进行分割,得到沿激光雷达数据半径的纵向区间和沿激光雷达周长的横向区间。可以理解的,预处理可以对整个360
°
范围的数据进行预处理,也可以针对部分角度范围的数据进行预处理。
22.在一些实施例中,可以以激光雷达为圆心,沿半径将所述激光雷达数据划分为多个子区间。以360
°
为例,将每一线激光数据360
°
数据区间划分为360个子区间(也可以按照其他分辨率进行划分,如划分180个子区间等)。如图2所示,是将360
°
的激光雷达数据划分为16个子区间。其中,202所示的圆圈为激光雷达某一线的激光雷达数据,可以通过分割线201将每一线的激光雷达数据进行分割,得到如203和204所示的子区间,每个子区间中包括多线激光雷达数据,激光雷达数据可以包括3d数据点集合。示例性地,3d数据点集合可以为
雷达的点云数据。示例性地,某一子区间可以包括3d数据点集合205和206。
23.基于不同线的激光束,将每个子区间划分为多个子区间块。如图2所示,将每个子区间块的属于不同线的激光束的3d数据点集合进行划分,可以得到多个包含3d数据点集合的子区间块207和208。在一些实施例中,子区间块也可以仅包括3d数据点集合。可以理解的,对于16线激光雷达,每个子区间可以有16个子区间块,每个子区间块中可以包含3d数据点集合。其中,每个子区间的多个子区间块构成纵向区间。如图2所示,同属于某一子区间的子区间块207和子区间块208构成纵向区间,可以理解的,对于16线激光雷达,每个子区间可以包括16个纵向区间。多个子区间之间包含相同线的激光束的子区间块构成横向区间。如图2所述,对于同为某一线的激光雷达数据的子区间块207和子区间块209构成横向区间。可以理解的,对于分割为16个区间的激光雷达数据可以包括16个横向区间。
24.计算每个子区间块内数据点集合的重心,通过重心表示数据点集合的位置。
25.数据点集合可以为拥有三维坐标的3d数据点集合。可以通过各种方式对每个子区间块内的多个3d数据点集合进行处理,得到数据点集合的重心,并用重心代表该3d数据点集合,将重心坐标作为该子区间块内的3d数据点集合的位置,以供后续分析处理使用。
26.本说明书中的一些实施例通过对激光雷达数据进行预处理,将3d数据点集合的重心代表该子区间块的多个点云数据,使得在不影响识别效果的前提下,降低了数据的处理量。因此,提高了数据处理的效率,实现了实时识别。
27.步骤120,对纵向区间进行纵向梯度障碍物提取,得到纵向障碍物数据点集合。
28.纵向梯度障碍物提取可以是指利用纵向区间的梯度,确定纵向区间是否存在障碍物。例如,可以基于子区间内相邻数据点集合的位置信息确定对应子区间块的梯度,基于梯度的值,确定该相邻子区间块内是否存在障碍物。若是,则提取该相邻区间内的数据点集合,并将数据点集合中障碍物的数据点提取出来作为纵向障碍物数据点集合。
29.在一些实施例中,可以计算相邻纵向区间的纵向梯度。如图2所示,子区间块207和子区间块208可以被认为是相邻纵向区间。纵向梯度可以是指相邻纵向区间之间形成的梯度。在一些实施例中,可以基于数据点集合的重心计算纵向梯度。例如,子区间块208的重心坐标为g1,子区间块207的重心坐标为g0。可以通过梯度计算公式,其中z1和x1分别为g1的z轴和x轴的值,z0和x0分别为g0的z轴和x轴的值。以图2为例,x轴的正轴为图2的正北方向,y轴的正轴为图2的正西方向,z轴的正轴为图外方向。遍历计算每个相邻纵向区间,可以得到多个纵向梯度。
30.当纵向梯度大于纵向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记。
31.纵向预设阈值可以是指预先设置的在没有障碍物时相邻纵向区间的梯度阈值。在一些实施例中,纵向预设阈值可以是一个范围值,当纵向梯度在该范围内时,可以认为该两个相邻纵向区间没有障碍物。例如,纵向预设阈值的范围可以在之间,包括端点。纵向预设阈值的最大值可以是指纵向预设阈值的范围内的最大值。例如,纵向预设阈值的最大值可以为,当纵向梯度大于时,表明在该相邻纵向区间内存在凸
起障碍物。对于存在凸起障碍物的纵向区间可以被打上凸起障碍物区间的标记,供后续处理。以图3为例,当激光雷达数据检测到有凸起障碍物时,激光雷达数据可能存在不连贯的位置,如,打到凸起障碍物301上的激光雷达数据的对应线存在缺口。完全平坦地面的相邻纵向区间梯度为,其中,a表示激光雷达和地面之间的倾斜角,如图5所示。当激光打在凸起障碍物上时,相邻两线激光线束的梯度较高。
32.当纵向梯度小于纵向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记。
33.纵向预设阈值的最小值可以是指纵向预设阈值范围内的最小值。例如,纵向预设阈值的最小值可以为,当纵向梯度小于时,表明在该相邻纵向区间内存在凹陷障碍物。对于存在凹陷障碍物的纵向区间可以被打上凹陷障碍物区间的标记,供后续处理。
34.将凸起障碍物区间和凹陷障碍物区间内的障碍物的数据点集合提取为纵向障碍物数据点集合。
35.当识别到子区间块中有障碍物时,可以提取该子区间块内的障碍物的数据点集合的三维坐标。以图5为例,打到凸起障碍物的数据点的三维坐标中的z轴坐标大于0。因此,可以将子区间块内三维坐标的z轴坐标大于0的数据点作为凸起障碍物数据点。同理,可以将子区间块内三维坐标的z轴坐标小于0的数据点作为凹陷障碍物数据点。同理,也可以基于x轴和y轴提取障碍物数据点。在一些实施例中,每两个相邻纵向区间的障碍物数据点可以作为一个障碍物数据点集合。纵向障碍物数据点集合可以包括多个相邻区间的障碍物数据点集合。
36.对于一些较矮的障碍物,或者激光雷达距离障碍物较远时,仅单个激光线束扫描到该障碍物,无法使用纵向梯度障碍物提取的方法进行识别,如图4所示,圆柱形障碍物401仅被单个激光线束扫描测量到。这种情况可以使用横向梯度障碍物提取的方法识别到该障碍物。因此,为了避免漏检,还包括步骤130。
37.步骤130,对横向区间进行横向梯度障碍物提取,得到横向障碍物数据点集合。
38.横向梯度障碍物提取可以是指利用横向区间的梯度,确定横向区间是否存在障碍物。关于提取横向障碍物数据点集合的方法与提取纵向障碍物数据点集合的方法类似,关于得到横向障碍物数据点集合的更多内容,参见步骤120及其相关描述。
39.在一些实施例中,可以计算相邻横向区间的横向梯度。如图2所示,子区间块207和子区间块209可以被认为时相邻横向区间。横向梯度可以是指相邻横向区间之间形成的梯度。关于计算横向梯度的内容与计算纵向梯度的内容类似,关于计算横向梯度的更多内容,参见步骤120及其相关描述。
40.当横向梯度大于横向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记。
41.横向预设阈值可以是指预先设置的在没有障碍物时相邻横向区间的梯度阈值。在一些实施例中,横向预设阈值可以是一个范围值,当横向梯度在该范围内时,可以认为该两个相邻横向区间没有障碍物。例如,横向预设阈值的范围可以在之间,包括端点。横向预设阈值的最大值可以是指横向预设阈
值的范围内的最大值。例如,横向预设阈值的最大值可以为,当横向梯度大于时,表明在该相邻横向区间内存在凸起障碍物。对于存在凸起障碍物的横向区间可以被打上凸起障碍物区间的标记,供后续处理。
42.当横向梯度小于横向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记。
43.横向预设阈值的最小值可以是指横向预设阈值范围内的最小值。例如,横向预设阈值的最小值可以为,当横向梯度小于时,表明在该相邻横向区间内存在凹陷障碍物。对于存在凹陷障碍物的横向区间可以被打上凹陷障碍物区间的标记,供后续处理。
44.将凸起障碍物区间和凹陷障碍物区间内的障碍物数据点集合提取为横向障碍物数据点集合。
45.提取横向障碍物数据点集合的内容与提取纵向障碍物数据点集合的内容类似,关于提取横向障碍物数据点集合的更多内容,参见步骤120及其相关描述。
46.步骤140,处理纵向障碍物数据点集合和横向障碍物数据点集合,得到障碍物数据点集合。
47.障碍物数据点集合可以包括多个子数据点集合,每个子数据点集合对应一个障碍物,每个子数据点集合包括每个障碍物的全部数据点。
48.在一些实施例中,可以将横向障碍物数据点集合和纵向障碍物数据点集合中重复的障碍物的数据点集合去除,得到初始障碍物数据点集合。例如,对于一些障碍物,可能在纵向障碍物数据点集合和横向障碍物数据点集合中都有(即,在纵向和在横向上均被提取出来的障碍物),因此,可以将纵向障碍物数据点集合和横向障碍物数据点集合中重复的数据点删除,然后将两个集合合并得到初始障碍物数据点集合。
49.拼接初始障碍物数据点集合中属于同一个障碍物的数据点集合;得到多个子障碍物数据点集合。例如,对于某些比较大的障碍物,其范围可能占据多个子区间块,因此,可以基于数据点的三维坐标识别属于同一障碍物的数据点,并将该多个数据点作为一个子障碍物数据点集合。
50.多个子障碍物数据点集合构成障碍物数据点集合。障碍物数据点集合包括检测到的所有障碍物的数据点。即障碍物数据点集合包括识别出的所有障碍物。
51.图6为本发明一些实施例提供的一种多线激光雷达障碍物识别装置的示例性模块图。如图6所示,装置600可以包括预处理模块610、纵向障碍物数据点集合获取模块620、横向障碍物数据点集合获取模块630和障碍物数据点集合获取模块640。
52.预处理模块610用于对激光雷达数据进行预处理,得到纵向区间和横向区间。预处理模块610还用于,以激光雷达为圆心,沿半径将激光雷达数据划分为多个子区间;基于不同线的激光束,将每个子区间划分为多个子区间块;其中,每个子区间的多个子区间块构成纵向区间;多个子区间之间包含相同线的激光束的子区间块构成横向区间;计算每个子区间块内数据点集合的重心,通过重心表示数据点集合的位置。关于预处理模块610的更多内容,参见图1及其相关描述。
53.纵向障碍物数据点集合获取模块620用于对纵向区间进行纵向梯度障碍物提取,
得到纵向障碍物数据点集合。纵向障碍物数据点集合获取模块620还用于,计算相邻纵向区间的纵向梯度;当纵向梯度大于纵向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记;当纵向梯度小于纵向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记;将凸起障碍物区间和凹陷障碍物区间内的障碍物的数据点集合提取为纵向障碍物数据点集合。关于纵向障碍物数据点集合获取模块620的更多内容,参见图1及其相关描述。
54.横向障碍物数据点集合获取模块630用于对横向区间进行横向梯度障碍物提取,得到横向障碍物数据点集合。横向障碍物数据点集合获取模块630还用于,计算相邻横向区间的横向梯度;当横向梯度大于横向预设阈值的最大值时,将对应两个子区间块打上凸起障碍物区间的标记;当横向梯度小于横向预设阈值的最小值时,将对应两个子区间块打上凹陷障碍物区间的标记;将凸起障碍物区间和凹陷障碍物区间内的障碍物的数据点集合提取为横向障碍物数据点集合。关于横向障碍物数据点集合获取模块630的更多内容,参见图1及其相关描述。
55.障碍物数据点集合获取模块640用于处理纵向障碍物数据点集合和横向障碍物数据点集合,得到障碍物数据点集合。障碍物数据点集合获取模块640还用于,将横向障碍物数据点集合和纵向障碍物数据点集合中重复的障碍物的数据点集合去除,得到初始障碍物数据点集合;拼接初始障碍物数据点集合中属于同一个障碍物的数据点集合;得到多个子障碍物数据点集合;多个子障碍物数据点集合构成障碍物数据点集合。关于障碍物数据点集合获取模块640的更多内容,参见图1及其相关描述。
56.本说明书中一些实施例提供的多线激光雷达障碍物识别方法效率高,计算量小,可做到实时识别障碍物。通过对激光雷达测量数据进行预处理,以子区间块中的3d点集合的重心代表该子区间块内的多个数据点,使得在不影响识别效果的前提下,降低了数据处理量。以16线激光雷达为例,每个激光线束一圈1800个3d点,划分为180个子区间,则数据量降低到了原始数据的十分之一。因此本方法效率高,使得可以多个激光雷达同时进行障碍物识别,真正实现实时识别。
57.本说明书中一些实施例提供的多线激光雷达障碍物识别方法可检测360度范围或特定方向上的障碍物,因此识别的空间范围广。并且通过从两个维度来提取障碍物,从纵向或横向的梯度值的符号可以反应出障碍物的凸起或者凹陷的形状和趋势,因而可识别物体的形态范围广。并且纵向和横向梯度阈值可调,因而对障碍物的大小可进行调节,对体积较小的障碍物可做到准确识别。
58.在一些实施例中,激光雷达的安装倾斜角可调,即障碍物识别的3d空间可调,并且多个激光雷达组合安装在不同位置和倾斜角上可覆盖更广的3d空间。
59.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献