激光雷达的外部参数标定方法、装置及相关设备与流程
未命名
08-12
阅读:149
评论:0
1.本技术涉及自动驾驶技术领域,更具体地,涉及一种激光雷达的外部参数标定方法、装置、电子设备以及存储介质。
背景技术:
2.近年来,车辆的智能化已成为趋势,各类适合车载的传感器相应出现,基于激光雷达的环境感知技术得到了自动驾驶领域的广泛关注。激光雷达的标定是发挥其感知性能的基础,其作用主要是将激光雷达自身坐标系转换到车辆坐标系中。激光雷达标定就使用者而言主要涉及外参标定,内参通常由激光雷达厂家提供,外参标定主要包括坐标系旋转参数:偏航角、俯仰角和横滚角,以及坐标系平移参数:x轴平移参数、y轴平移参数以及z轴平移参数。
3.相关技术中,对激光雷达的外部参数的标定主要依赖人工摆放标靶(如纸箱、锥筒、标定杆等),标定效率不高。
技术实现要素:
4.鉴于背景技术中所提出的问题,本技术提出了一种激光雷达的外部参数标定方法、装置及电子设备。
5.第一方面,本技术实施例提供了一种激光雷达的外部参数标定方法,所述方法包括:通过车辆的激光雷达扫描获取激光点云数据;获取所述车辆与所述车辆所在车道的预设侧车道线之间的夹角以及所述激光点云数据中位于所述预设侧车道线上预设个数的坐标点,所述预设侧为左侧或右侧;基于所述激光点云数据确定所述车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵;根据所述车辆与所述预设侧车道线之间的夹角、所述预设个数的坐标点以及所述转换矩阵,确定所述激光雷达的外部参数。
6.在一些实施方式中,所述基于所述激光点云数据确定所述车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵,包括:基于所述激光点云数据确定所述车辆所在道路的道路平面拟合点集;基于所述道路平面拟合点集拟合车体坐标系下的所述车道,得到激光雷达坐标系下的道路区域平面方程,所述道路区域平面方程为所述道路平面拟合点集在车体坐标系下对应的平面;基于所述道路区域平面方程确定所述转换矩阵。
7.在一些实施方式中,所述所述基于所述激光点云数据确定所述车辆所在道路的道路平面拟合点集,包括:将所述激光点云数据投影至二维栅格图中,获取二维点云栅格图;根据所述二维点云栅格图中各个栅格之间的局部点云高度差从所述二维点云栅格图中筛选出候选栅格;对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集;对所述障碍物点云集进行搜索处理,获取所述障碍物点云集中的道路边界点云集;根据所述非障碍物点云集以及所述道路边界点云集,获取所述道路区域点云集。
8.在一些具体实施方式中,所述根据所述二维点云栅格图中各个栅格之间的局部点云高度差从所述二维点云栅格图中筛选出候选栅格,包括:遍历所述二维点云栅格图中的
栅格,将当前遍历的栅格作为第一中心栅格,并根据所述第一中心栅格中的点云数据的坐标,获取最大高度点云值;以所述第一中心栅格为中心,在预设尺寸的范围内计算所述最大高度点云值与各栅格对应的最小高度点云值的高度差,所述最小高度点云值根据该栅格中点云数据的坐标计算得到;若所述高度差高于第一预设高度差,对计数值进行加1;在预设尺寸的范围内,若所述计数值超过预设计数值阈值,则将该第一中心栅格标记为候选栅格。
9.在一些具体实施方式中,所述对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集,包括:遍历所述激光点云数据,若当前遍历的激光点云数据处于所述候选栅格中,将该激光点云数据作为中心点云,计算第一预设半径范围内的点云数据与所述中心点云的坡度;若所述坡度大于预设坡度阈值,坡度计数进行加1;若大于预设坡度阈值的激光点云数据与所述中心点云之间的点云高度的高度差超过第二预设高度差,高度计数进行加1;若在所述中心点云第一预设半径范围的激光点云数据对应坡度计数不小于坡度计数阈值且高度计数不小于高度计数阈值,确定所述中心点云为障碍物点云。
10.具体的,所述对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集,还包括:以所述中心点云所在候选栅格为第二中心栅格,确定第二预设半径范围内候选栅格中的点云高度高于所述中心点云的点云数据为障碍物点云。
11.在一些具体实施方式中,所述对所述障碍物点云集进行搜索处理,获取所述障碍物点云集中的道路边界点云集,包括:将所述障碍物点云集投影至栅格图中,获取障碍物栅格;针对每个所述障碍物栅格中的障碍物点云,进行逐行搜索,以所述车辆的横向中心为搜索中心,以第三预设半径为搜索半径,从所述搜索半径对应的搜索范围中的搜索道路边界点云,获取所述障碍物点云集中的道路边界点云集。
12.在一些实施方式中,所述转换矩阵包括:所述激光雷达的横滚角对应的横滚角坐标变换矩阵、俯仰角对应的俯仰角坐标变换矩阵以及z轴平移参数对应的z轴平移参数坐标变换矩阵;所述根据所述车辆与所述预设侧车道线之间的夹角、所述预设个数的坐标点以及所述转换矩阵,确定所述激光雷达的外部参数,包括:根据所述横滚角坐标变换矩阵、所述俯仰角坐标变换矩阵以及所述z轴平移参数坐标变换矩阵对所述预设侧车道线上预设个数的坐标点进行变换,得到变换后的坐标点;获取所述变换后的坐标点对应的直线方程;根据所述直线方程,获取所述直线方程与x轴的夹角;根据所述车辆与所述预设侧车道线之间的夹角以及所述直线方程与x轴的夹角确定所述激光雷达的偏航角。
13.第二方面,本技术实施例提供了一种激光雷达的外部参数标定装置,所述装置包括:激光点云数据获取模块,用于通过车辆的激光雷达扫描获取激光点云数据;车道线数据获取模块,用于获取所述车辆与所述车辆所在车道的预设侧车道线之间的夹角以及所述激光点云数据中位于所述预设侧车道线上预设个数的坐标点,所述预设侧为左侧或右侧;转换矩阵确定模块,用于基于所述激光点云数据确定所述车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵;外部参数确定模块,用于根据所述车辆与所述预设侧车道线之间的夹角、所述预设个数的坐标点以及所述转换矩阵,确定所述激光雷达的外部参数。
14.第三方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的激光雷达的外部参数标定方法。
15.第四方面,本技术实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的激光雷达的外部参数标定方法。
16.本技术提供的方案,通过激光雷达所在的车辆当前所处的车道位置与车道线之间的夹角以及车道线上的多个坐标点对激光雷达的外部参数进行标定,该标定方式不需要额外的标定工具,缩减了标定过程中的硬件成本,而且,只需求获取车辆与车道线之间的夹角以及车道线上的坐标就可以实现对激光雷达的快速标定,缩短了标定的时间。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1示出了本技术一实施例提供的激光雷达的外部参数标定方法的流程示意图。
19.图2示出了本技术一实施例提供的激光雷达的外部参数标定的步骤s130的详细流程示意图
20.图3示出了本技术一实施例提供的激光雷达的外部参数标定方法的栅格图示意图。
21.图4示出了本技术一实施例提供的激光雷达的外部参数标定的步骤s132的详细流程示意图。
22.图5示出了本技术一实施例提供的激光雷达的外部参数标定的步骤s1322的详细流程示意图。
23.图6示出了本技术一实施例提供的激光雷达的外部参数标定的步骤s1323的详细流程示意图。
24.图7示出了本技术一实施例提供的激光雷达的外部参数标定的障碍物点云集示意图。
25.图8示出了本技术一实施例提供的激光雷达的外部参数标定的道路边界点云集搜索示意图。
26.图9示出了本技术一实施例提供的激光雷达的外部参数标定的道路边界区域拟合图。
27.图10示出了本技术一实施例提供的激光雷达的外部参数标定的步骤s160的详细流程示意图。
28.图11示出了本技术实施例提供的激光雷达的外部参数标定装置的结构框图。
29.图12示出了本技术实施例提供的用于执行根据本技术实施例的激光雷达的外部参数标定方法的电子设备的结构框图。
具体实施方式
30.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
31.相关技术中,对于激光雷达外部参数标定常用的方法有两种:一种是基于激光雷达和摄像头的联合标定方法;另外一种是直接通过摆放标靶(如纸箱、锥筒、标定杆等),通过测量反求标定矩阵的方法。
32.激光雷达和摄像头的联合标定:首先完成对摄像头的标定,获取摄像头的内外参,然后将激光点云与摄像头图像坐标系的目标像素点进行匹配,得到激光雷达相对于摄像头空间的旋转和平移矩阵,完成激光雷达外部参数标定。
33.激光雷达标定参数直接求解:直接在场地摆放多个有序排列的标靶(如纸箱、锥筒、标定杆等),测量获取标靶在车体坐标系下的坐标,同时获取各标靶在激光雷达坐标下的坐标,将两个坐标系各点进行关联,反求旋转和平移矩阵,完成激光雷达外部参数的标定。
34.发明人发现,常用的标定方法中对于人工以及其他标定工具依赖性较强,标定效率不高。
35.针对上述问题以及背景技术提出的技术问题,本技术实施例提出了一种激光雷达的外部参数标定方法、装置及电子设备,通过激光雷达所在的车辆当前所处的车道位置与车道线之间的夹角以及车道线上的多个坐标点对激光雷达的外部参数进行标定,该标定方式不需要额外的标定工具,缩减了标定过程中的硬件成本,而且,只需求获取车辆与车道线之间的夹角以及车道线上的坐标就可以实现对激光雷达的快速标定,缩短了标定的时间。
36.请参阅图1,图1示出了本技术一实施例提供的激光雷达的外部参数标定方法的流程示意图。在具体的实施例中,该实施例中的激光雷达的外部参数标定方法应用于服务器,所述激光雷达的外部参数标定方法应用于如图10所示的激光雷达的外部参数标定装置300以及配置有所述激光雷达的外部参数标定装置300的电子设备100。
37.下面将针对图1所示的流程进行详细的阐述,所述激光雷达的外部参数标定方法具体可以包括以下步骤:
38.步骤s110:通过车辆的激光雷达扫描获取激光点云数据。
39.激光雷达一种以发射激光束探测目标的位置、速度等特征量的雷达系统。
40.车辆上安装一个或多个激光雷达,通过激光雷达以获取车辆在预设范围内由多种特征量组合而成的激光点云数据。预设范围可以是以激光雷达为中心,以激光雷达最大扫描距离为半径进行获取,也可以是根据用户的实际需求进行设定,在此不做限定。
41.步骤s120:获取所述车辆与所述车辆所在车道的预设侧车道线之间的夹角以及所述激光点云数据中位于所述预设侧车道线上预设个数的坐标点,所述预设侧为左侧或右侧。
42.夹角是通过测量车辆的前轮和后轮到预设侧车道线的距离,分别记为fl和rl,则车辆与预设侧车道线的夹角为:其中,d为车辆的轴距;车辆的宽度记为w。根据公式(1)计算得到车辆与预设侧车道线的夹角α。
43.本技术实施例中,车辆所在车道,车道可以为多车车道,多车车道至少为双车道道路。考虑当前激光雷达可以集中扫描到的地面距离,选取的车道长度可以是35m。车道可以为三车道以下,但车道线要保证清晰无磨损,便于激光点云数据进行强度值区分。车辆停止的方向与整体车道线方向保持一致,但不需要与车道保持严格的平行。
44.根据车辆当前位置,建立雷达坐标系,预设侧车道线上的坐标点是基于雷达坐标系得到的坐标点。
45.在一些实施方式中,预设侧车道线为车辆左侧车道线。通过左侧车道线对应的激光点云数据,获取预设个数的坐标点,预设个数可以是2个,可以是4个,可以是5个,坐标点的选取个数在此不做具体限定。在本技术实施例中,预设个数优选为2个。
46.步骤s130:基于所述激光点云数据确定所述车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵。
47.根据拟合算法对激光点云数据进行拟合,得到激光雷达坐标系下车辆所在道路平面。将激光雷达坐标系下的道路平面按照预设的转换方式得到车体坐标系下的道路平面,在激光雷达坐标系向车体坐标系转换过程中得到转换矩阵。
48.请参阅图2,基于激光点云数据确定车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵具体包括步骤s132~步骤s136,详细介绍如下:
49.步骤s132:基于所述激光点云数据确定所述车辆所在道路的道路平面拟合点集。
50.车辆上的激光雷达通过目标探测信号,然后将接收到的从车辆所在车道反射回来的信号与发射信号进行处理后,可获得车辆所在车道对应的激光点云数据。通过预设方式对激光点云数据进行特征提取,从而确定车辆所在道路对应的道路平面拟合点集。
51.在车辆所在车道上包括但不限于道路区域、障碍物区域以及非障碍物区域,道路区域包括道路平面区域,障碍物区域包括车辆所在车道边的树木、公共设施等,非障碍物区域包括道路边界区域。根据车辆所在车道对应的激光点云数据,可以将激光雷达接收到的激光点云数据分为道路区域点云集、障碍物点云集以及非障碍物点云集。
52.在一些实施方式中,可以通过栅格图对激光点云数据进行特征提取。栅格图是指一种将图像数据转化为由多个矩形网格组成的图像数据。请参阅图3,图3示出了本技术实施例中的栅格图示意图。栅格图的大小可以为201
×
101,原点为左上角(0,0),图像中像素点(50,200)为激光雷达坐标原点,每一个像素所代表的实际几何距离为20cm,因而纵向范围约为40米,横向范围为左右各10米。
53.将激光雷达获取到的激光点云数据依赖于栅格图进行特征提取,以获取由非障碍物点云集以及道路区域点云集组成的道路平面拟合点集。
54.请参阅图4,基于栅格图对所述激光点云数据进行提取,获取道路平面拟合点集具体包括步骤s1321~步骤s1325,详细介绍如下:
55.步骤s1321:将所述激光点云数据投影至二维栅格图中,获取二维点云栅格图。
56.将激光点云数据投影至栅格图中,获取二维点云栅格图。二维点云栅格图中的栅格尺寸可以是预设栅格尺寸,可以根据用户需求对二维点云栅格图中的尺寸进行放大或缩小,通过放大或缩小的方式获取不同需求下的二维点云栅格图,放大以及缩小方式在此不做限定。
57.针对每一个栅格的点云按照高度从小到大排序,同时统计栅格的点云数量、最小高度值、最大高度值以及高度差。
58.步骤s1322:根据所述二维点云栅格图中各个栅格之间的局部点云高度差从所述二维点云栅格图中筛选出候选栅格。
59.局部点云高度差可以以中心栅格中对应的点云高度与预设范围内的其他栅格中
的点云高度进行获取得到。也可以是先确定二维点云栅格图中一栅格作为参照栅格,并获取该参照栅格对应的点云高度,计算其余点云栅格在预设范围内的点云高度差,并将该点云高度差作为局部高度差。还可以是二维点云栅格图中分别获取每个栅格对应的点云高度,并分别以每个栅格为参考栅格,获取预设范围内各个栅格与参考栅格之间的点云高度差,将点云高度差作为局部高度差。
60.根据局部点云高度差筛选候选栅格,筛选条件可以是局部点云高度差大于局部点云高度差,筛选条件还可以是局部点云高度差不大于局部点云高度差,筛选条件还可以是根据用户设定的具体的筛选条件对二维点云栅格图中的候选栅格进行筛选,筛选方式以及筛选条件在此不做具体限定。
61.具体的,请参阅图5,图5示出了本技术实施例中筛选所述二维点云栅格图中的候选栅格的具体步骤,包括步骤s13221~步骤s13224,详细介绍如下:
62.步骤s13221:遍历所述二维点云栅格图中的栅格,将当前遍历的栅格作为第一中心栅格,并根据所述第一中心栅格中的点云数据的坐标,获取最大高度点云值。
63.遍历二维点云栅格图中的栅格的方式可以是从左到右的方式进行遍历,也可以是从上到下的方式进行遍历,还可以是以二维点云栅格图的中心为起点向周围进行遍历,遍历二维点云栅格图的方式在此不作具体限定。
64.当前遍历的栅格中存在有至少一个点云数据,根据点云数据在雷达坐标系下对应的坐标,获取高度点云值。若栅格中只有一个点云数据,则将该点云数据对应的高度点云值作为最大高度点云值,若栅格中存在不止一个点云数据,则分别计算每个点云数据对应的高度点云值,从而得到栅格中的最大高度点云值。
65.步骤s13222:以所述第一中心栅格为中心,在预设尺寸的范围内计算所述最大高度点云值与各栅格对应的最小高度点云值的高度差,所述最小高度点云值根据该栅格中点云数据的坐标计算得到。
66.以第一中心栅格为中心,以预设尺寸的矩形范围获取矩形范围内除第一中心栅格外的其他栅格的对应的最小高度点云值。最小高度点云值的获取与最大高度点云值计算方式相同,在此不再赘述。矩形范围的边长可以是10cm~20cm,也可以由用户进行设定,预设尺寸在此不做具体限定。
67.步骤s13223:若所述高度差高于第一预设高度差,对计数值进行加1。
68.步骤s13224:在预设尺寸的范围内,若所述计数值超过预设计数值阈值,则将该第一中心栅格标记为候选栅格。
69.在预设尺寸范围内,除第一中心栅格外的各栅格对应的最小高度点云值与第一中心栅格对应的最大高度点云值之间的高度差高于第一预设高度差时,对计数值进行加1,当计数值超过预设计数值阈值时,标记断该第一中心栅格为候选栅格。第一预设高度差由用户进行设定,本技术方案中,第一预设高度差可定为10cm~20cm。预设计数值阈值与预设尺寸相关,预设计数值阈值优选为预设尺寸的0.25倍,预设计数值阈值还可以由用户进行具体设置,在此不做限定。
70.基于局部累计高度差的路面分割方法通过多次比较周围区域栅格内的激光点云,大大降低了噪声的干扰,具有较强的鲁棒性。
71.在具体实施过程中,遍历二维点云栅格图时,针对某一栅格,首先获取该栅格的最
大高度点云值z
max
[i,j](i,j为该点云雷达坐标系中的坐标),以该栅格为中心,在m
×
n的区域中,计算z
max
[i,j]与各栅格对应的最小高度点云值z
min
[i’,j’]的高度差,若z
max
[i,j]-z
min
[i’,j’]》threshold1,则计数值n计数一次,若n累计计数超过阈值n
min
,则该栅格标记为候选分割栅格。其中,threshold1为第一预设高度差。
[0072]
步骤s1323:对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集。
[0073]
障碍物点云集包括但不限于树木点云集、公共设施点云集以及其他非道路点云集。非障碍物点云集包括道路边界点云集。
[0074]
通过分割方式将候选栅格中的点云数据进行分割,以获取障碍物点云集以及非障碍物点云集。
[0075]
请参阅图6,图6示出了本技术实施例中对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集具体步骤,步骤s1323包括步骤s13231~步骤s13234,详细介绍如下:
[0076]
步骤s13231:遍历所述激光点云数据,若当前遍历的激光点云数据处于所述候选栅格中,将该激光点云数据作为中心点云,计算第一预设半径范围内的点云数据与所述中心点云的坡度。
[0077]
以中心点云为中心,计算中心点云与第一预设半径范围内除中心点云外的其他激光点云数据之间对应的坡度。坡度由具体由中心点云以及第一预设半径范围内激光点云数据之间点云高度差以及距离进行决定。
[0078]
坡度k的计算公式为:abs(δz
ij
/d
ij
)(2)
[0079]
其中δz
ij
为中心点云与第一预设半径范围内的某一点云数据之间的高度差,d
ij
为中心点云与第一预设半径范围内的某一点云数据之间的距离。
[0080]
根据公式(2)计算获取两个点云数据之间的坡度。第一预设半径可以根据用户具体需求进行设定,在本技术方案中,第一预设半径优选为5cm。
[0081]
步骤s13232:若所述坡度大于预设坡度阈值,坡度计数进行加1。
[0082]
步骤s13233:若大于预设坡度阈值的激光点云数据与所述中心点云之间的点云高度的高度差超过第二预设高度差,高度计数进行加1。
[0083]
在预设范围内,计算中心点云与其他点云数据之间的坡度,且当坡度大于预设坡度阈值时,坡度计数进行递加。
[0084]
在预设范围内大于预设坡度阈值的点云数据中进一步计算该确定激光点云数据与中心点云之间的高度差是否大于第二预设高度差,若大于第二预设高度差,高度计数进行递加。
[0085]
步骤s13234:若在所述中心点云第一预设半径范围的激光点云数据对应坡度计数不小于坡度计数阈值且高度计数不小于高度计数阈值,确定所述中心点云为障碍物点云。
[0086]
根据中心点云对应的坡度计数以及高度计数来综合判断该中心点云是否为障碍物点云,避免了确定障碍物点云的偶然性,提高了障碍物点云确定的准确性。
[0087]
在具体实施过程中,从候选栅格中确定某一栅格中的某一激光点云数据为中心点云,对半径为r的栅格区域的激光点云数据计算与该中心点云的坡度k=abs(δz
ij
)/(d
ij
),其中δz
ij
为两个激光点云数据之间高度差,d
ij
为两个激光点云数据之间对应的距离。若k
超过设定的坡度阈值k
min
,即k>=k
min
,则坡度计数k_count加1,同时将满足坡度阈值计算的点云高度进行存储。若存储的点云高度之间的差值超过阈值threshold2,则高度差计数h_count加1。若k_count>=tk
min
&&h_count>=th
min
,则该点云为障碍物点云。
[0088]
在另一些实施方式中,对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集,还包括:以所述中心点云所在候选栅格为第二中心栅格,确定第二预设半径范围内候选栅格中的点云高度高于所述中心点云的激光点云数据为障碍物点云。
[0089]
以中心点云所在栅格为第二中心栅格,再对第二预设半径范围内的栅格中的激光点云数据对应的点云高度进行计算,若该点云高度高于中心点云对应的点云高度时,判断该激光点云数据为障碍物点云。第一预设半径可以与第二预设半径相同,也可以不同,在此不做具体限定。本技术方案中,第二预设半径优选为5cm,与第一预设半径相同。
[0090]
以中心点云所在栅格为中心,再以第二预设半径为提取范围,对提取范围内的点云数据进行计算并确定提取范围内的障碍物点云。以栅格为中心可以进一步的扩大提取范围,提高障碍物点云的提取速度。
[0091]
步骤s1324:对所述障碍物点云集进行搜索处理,获取所述障碍物点云集中的道路边界点云集。
[0092]
考虑道路边界上存在部分点云由于距离道路较远,相对其他道路边界部分属于平面区域,不能完全将道路边界对应的点云集分割为障碍物点云集。因此需要对从激光点云数据中的障碍物点云根据道路边界的特征进行再一次搜索提取,以获取障碍物点云集中的道路边界点云集。搜索方式可以是由远及近的搜索方式,也可以是由近到远的搜索方式,搜索方式在此不做具体限定。在本技术实施例中,采用的是由近到远的搜索方式,搜索方式优选为中间到侧面的搜索方法(middle-to-side)。
[0093]
请参阅图7,图7示出了本技术一实施例提供的激光雷达的外部参数标定的障碍物点云集示意图。001为障碍物点云集中非道路边界点云集拟合而成的,002为障碍物点云集中的道路边界点云集拟合而成的道路边界。激光雷达通过光束获取车辆周围的环境信息对应的点云数据,对点云数据进行处理,得到障碍物点云集,再对障碍物点云集进行搜索处理,从而将障碍物点云集分为道路边界点云集以及非道路边界点云集,保证了后续过程中拟合道路的准确性。
[0094]
具体的,将所述障碍物点云集投影至栅格图中,获取障碍物栅格;针对每个所述障碍物栅格中的障碍物点云,进行逐行搜索,以所述车辆的横向中心为搜索中心,以第三预设半径为搜索半径,从所述搜索半径对应的搜索范围中的搜索道路边界点云,获取所述障碍物点云集中的道路边界点云集。
[0095]
请参阅图8,图8示出了本技术一实施例提供的激光雷达的外部参数标定的道路边界点云集搜索示意图。以车辆的横向中心为搜索中心,并以第三预设半径为搜索半径逐行搜索障碍物栅格中存在的道路边界点云,从而获取障碍物点云集中的道路边界点云集。将障碍物点云集投影至栅格图中获取障碍物栅格图,从障碍物栅格图中通过middle-to-side的搜索方式,对道路边界点云数据进行搜索,并利用最小二乘法对道路边界点云数据进行拟合,得到道路边界区域,具体拟合图像请参阅图9,图9示出了本技术一实施例提供的激光雷达的外部参数标定的道路边界区域拟合图。从障碍物点云集中搜索并提取道路边界点云数据,避免了从二维点云栅格图中搜索道路边界点云集,进一步提高了道路边界点云搜索
效率,且保证了道路平面拟合点云集的准确性。
[0096]
步骤s1325:根据所述非障碍物点云集以及所述道路边界点云集,获取所述道路区域点云集。
[0097]
从候选栅格中获取障碍物点云集以及非障碍物点云集,再从障碍物点云集中获取道路边界点云集,根据非障碍物点云集以及道路边界点云集共同组成道路平面拟合点集。先将候选栅格分成障碍物点云集以及非障碍物点云集,再从障碍物点云集中提取道路边界点云集,最后由非障碍物点云集以及道路边界点云集共同形成道路平面拟合点云集,保证了道路平面拟合点云集的准确性。
[0098]
步骤s134:基于所述道路平面拟合点集拟合车体坐标系下的所述道路,得到道路区域平面方程,所述道路区域平面方程为所述道路平面拟合点集在车体坐标系下对应的平面。
[0099]
根据拟合算法对道路拟合点云集进行拟合,得到激光雷达坐标系下道路拟合点云集对应的道路区域平面方程。拟合算法可以是随机抽样一致性(ransac)算法,也可以是其他针对点云数据进行拟合的算法,在此不做具体限定。
[0100]
步骤s136:基于所述道路区域平面方程确定所述转换矩阵.
[0101]
将激光雷达坐标系下的道路区域平面方程按照预设的转换方式得到转换矩阵,使得根据激光雷达坐标系下拟合得到的道路区域平面方程向车体坐标系进行转换。转换方式可以是绕x轴进行转换,也可以是绕y轴进行转换,还可以是绕z轴进行转换,也可以是先绕x轴进行转换,再绕y轴进行转换,最后按照z轴进行转换,转换方式不做限定。
[0102]
具体的,根据ransac,将得到的道路拟合点云集进行拟合,得到激光雷达坐标系下的拟合道路区域平面方程,拟合道路区域平面方程为:
[0103]
ax+by+cz+d=0(3)
[0104]
当前道路区域平面水平,车体坐标系的原点为车辆后轴中心与地面的接地点,因此道路区域在车体坐标系下的方程为z=0。将两个平面实现重合,需要将道路区域平面方程ax+by+cz+d=0绕x轴旋转、绕y轴旋转以及对z轴进行平移以获取道路区域平面方程。绕x轴旋转可以求得激光雷达的横滚角(rollangle,roll),绕y轴旋转可以对激光雷达的俯仰角(pitchangle,pitch)以及将平面方程对z轴进行平移可以对激光雷达的z轴平移参数进行标定。根据道路区域平面方程可直接对上面三个参数进行求解如下:
[0105]
求解roll的方程为:
[0106]
求解pitch的方程为:
[0107]
求解z轴平移参数的方程为:
[0108]
根据公式(4)(5)(6)获取转换矩阵,具体的,所述转换矩阵包括:所述激光雷达的横滚角对应的横滚角坐标变换矩阵、俯仰角对应的俯仰角坐标变换矩阵以及z轴平移参数对应的z轴平移参数坐标变换矩阵。
[0109]
roll的坐标变换矩阵为:
[0110]
pitch的坐标变换矩阵为:
[0111]
z的坐标变换矩阵为:
[0112]
步骤s140:根据所述车辆与所述预设侧车道线之间的夹角、所述预设个数的坐标点以及所述转换矩阵,确定所述激光雷达的外部参数。
[0113]
将激光点云数据中位于预设侧车道线上预设个数的坐标点输入转换矩阵中,得到自车坐标系下的坐标点,自车坐标系下的坐标点结合车辆与预设侧车道线之间的夹角,并结合自车车辆参数以及道路区域平面模型,可以对激光雷达的外部参数进行标定。
[0114]
请参阅图10,步骤s140具体包括步骤s142~步骤s148,详细介绍如下:
[0115]
步骤s142:根据所述横滚角坐标变换矩阵、所述俯仰角坐标变换矩阵以及所述z轴平移参数坐标变换矩阵对所述预设侧车道线上预设个数的坐标点进行变换,得到变换后的坐标点。
[0116]
对预设侧车道线上预设个数的坐标点按照公式(7)(8)(9)进行变换,得到变换后的坐标点。
[0117]
例如,激光点云数据中位于所述预设侧车道线上预设个数的坐标点a(x1,y1,z1)和b(x2,y2,z2),经过上述变换后得到a'(x1',y1',z1')和b'(x2',y2',z2'),其中:
[0118]
a'(x1',y1',z1')由a(x1,y1,z1)根据公式(7)(8)(9)进行转换得到,具体转换方程为:
[0119][0120]
a(x1,y1,z1)根据公式(10)获取a'(x1',y1',z1')。
[0121]
b'(x2',y2',z2')由b(x2,y2,z2)根据公式(7)(8)(9)进行转换得到,具体转换方程为:
[0122][0123]
b(x2,y2,z2)根据公式(11)获取b(x2,y2,z2)。
[0124]
步骤s144:获取所述变换后的坐标点对应的直线方程。
[0125]
具体的,由公式(10)(11)可知,a'(x1',y1',z1')和b'(x2',y2',z2')在xoy平面内,a'b'可表示如下直线方程ax+by+c=0。
[0126]
步骤s146:根据所述直线方程,获取所述直线方程与x轴的夹角。
[0127]
根据所述直线方程,获取所述直线方程与x轴的夹角。例如,该直线与x轴的夹角δ:
[0128][0129]
由公式(12)进行获取δ。
[0130]
步骤s148:根据所述车辆与所述预设侧车道线之间的夹角以及所述直线方程与x轴的夹角确定所述激光雷达的偏航角。
[0131]
设车辆与预设侧车道线之间的夹角为α,则偏航角yaw的计算方程为:
[0132]
yaw=α-δ(13)
[0133]
根据公式(13)对激光雷达的偏航角进行标定。
[0134]
在对偏航角进行标定过程中,需要通过标定后的激光雷达的横滚角、俯仰角以及z轴平移参数进行标定。标定激光雷达的外部参数除横滚角、俯仰角、偏航角以及z轴平移参数之外,还需要标定x轴平移参数以及y轴平移参数。x轴平移参数以及y轴平移参数可以通过实际测量得到,具体测量方式在此不做限定。
[0135]
在本技术实施例中,通过激光雷达所在的车辆当前所处的车道位置与车道线之间的夹角以及车道线上的多个坐标点对激光雷达的外部参数进行标定,该标定方式不需要额外的标定工具,缩减了标定过程中的硬件成本,而且只需要获取车辆与车道线之间的夹角以及车道线上的坐标就可以实现对激光雷达的快速标定,大大的缩短了标定的时间。
[0136]
请参阅图11,其示出了本技术实施例提供的一种激光雷达的外部参数标定装置300的结构框图。该激光雷达的外部参数标定装置300应用于电子设备100,该激光雷达的外部参数标定装置300包括:激光点云数据获取模块310,用于通过车辆的激光雷达扫描获取激光点云数据;车道线数据获取模块320,用于获取所述车辆与所述车辆所在车道的预设侧车道线之间的夹角以及所述激光点云数据中位于所述预设侧车道线上预设个数的坐标点,所述预设侧为左侧或右侧;转换矩阵确定模块330,用于基于所述激光点云数据确定所述车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵;外部参数确定模块340,用于根据所述车辆与所述预设侧车道线之间的夹角、所述预设个数的坐标点以及所述转换矩阵,确定所述激光雷达的外部参数。
[0137]
在本技术的一些实施方式中,转换矩阵确定模块330包括:道路平面拟合点集获取模块,用于基于所述激光点云数据确定所述车辆所在道路的道路平面拟合点集;道路区域
平面方程获取模块,用于基于所述道路平面拟合点集拟合车体坐标系下的所述车道,得到激光雷达坐标系下的道路区域平面方程,所述道路区域平面方程为所述道路平面拟合点集在车体坐标系下对应的平面;转换矩阵获取模块,用于基于所述道路区域平面方程确定所述转换矩阵。
[0138]
在本技术的一些实施方式中,道路平面拟合点集获取模块330包括:二维点云栅格图获取模块,用于将所述激光点云数据投影至二维栅格图中,获取二维点云栅格图;筛选模块,用于根据所述二维点云栅格图中各个栅格之间的局部点云高度差从所述二维点云栅格图中筛选出候选栅格;分割提取模块,用于对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集;搜索处理模块,用于对所述障碍物点云集进行搜索处理,获取所述障碍物点云集中的道路边界点云集;拟合点集获取模块,用于根据所述非障碍物点云集以及所述道路边界点云集,获取所述道路平面拟合点集。
[0139]
在本技术的一些实施方式中,筛选模块包括:最大高度点云值获取模块,用于遍历所述二维点云栅格图中的栅格,将当前遍历的栅格作为第一中心栅格,并根据所述第一中心栅格中的点云数据的坐标,获取最大高度点云值;高度差获取模块,用于以所述第一中心栅格为中心,在预设尺寸的范围内计算所述最大高度点云值与各栅格对应的最小高度点云值的高度差,所述最小高度点云值根据该栅格中点云数据的坐标计算得到;计数值计数模块,用于若所述高度差高于第一预设高度差,对计数值进行加1;候选栅格标记模块,用于在预设尺寸的范围内,若所述计数值超过预设计数值阈值,则将该第一中心栅格标记为候选栅格。
[0140]
在本技术的一些实施方式中,分割提取模块包括:坡度获取模块,用于遍历所述激光点云数据,若当前遍历的激光点云数据处于所述候选栅格中,将该激光点云数据作为中心点云,计算第一预设半径范围内的点云数据与所述中心点云的坡度;坡度计数模块,用于若所述坡度大于预设坡度阈值,坡度计数进行加1;高度计数模块,用于若大于预设坡度阈值的激光点云数据与所述中心点云之间的点云高度的高度差超过第二预设高度差,高度计数进行加1;障碍物点云确定模块,用于若在所述中心点云第一预设半径范围的激光点云数据对应坡度计数不小于坡度计数阈值且高度计数不小于高度计数阈值,确定所述中心点云为障碍物点云。
[0141]
在本技术的一些实施方式中,障碍物点云确定模块还包括:根据第二中心栅格确定障碍物点云模块,用于以所述中心点云所在候选栅格为第二中心栅格,确定第二预设半径范围内候选栅格中的点云高度高于所述中心点云的点云数据为障碍物点云。
[0142]
在本技术的一些实施方式中,拟合点集获取模块包括:障碍物栅格获取模块,用于将所述障碍物点云集投影至栅格图中,获取障碍物栅格;搜索模块针对每个所述障碍物栅格中的障碍物点云,进行逐行搜索,以所述车辆的横向中心为搜索中心,以第三预设半径为搜索半径,从所述搜索半径对应的搜索范围中的搜索道路边界点云,获取所述障碍物点云集中的道路边界点云集。
[0143]
在本技术的一些实施方式中,所述转换矩阵包括:所述激光雷达的横滚角对应的横滚角坐标变换矩阵、俯仰角对应的俯仰角坐标变换矩阵以及z轴平移参数对应的z轴平移参数坐标变换矩阵;外部参数确定模块360包括:变换后的坐标点获取模块,用于根据所述横滚角坐标变换矩阵、所述俯仰角坐标变换矩阵以及所述z轴平移参数坐标变换矩阵对所
述预设侧车道线上预设个数的坐标点进行变换,得到变换后的坐标点;直线方程获取模块,用于获取所述变换后的坐标点对应的直线方程;直线方程与x轴的夹角获取模块,用于根据所述直线方程,获取所述直线方程与x轴的夹角;偏航角获取模块,用于根据所述车辆与所述预设侧车道线之间的夹角以及所述直线方程与x轴的夹角确定所述激光雷达的偏航角。
[0144]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0145]
在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
[0146]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0147]
请参考图12,其示出了本技术实施例提供的一种电子设备的结构框图。该电子设备100可以交换机,也可以是计算机,或者是具有数据传输的控制单元。本技术中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
[0148]
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
[0149]
存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0150]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0151]
计算机可读存储介质可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质具有执行上述方法中的任何方法步骤的程序代码的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码可
以例如以适当形式进行压缩。
[0152]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种激光雷达的外部参数标定方法,其特征在于,所述方法包括:通过车辆的激光雷达扫描获取激光点云数据;获取所述车辆与所述车辆所在车道的预设侧车道线之间的夹角以及所述激光点云数据中位于所述预设侧车道线上预设个数的坐标点,所述预设侧为左侧或右侧;基于所述激光点云数据确定所述车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵;根据所述车辆与所述预设侧车道线之间的夹角、所述预设个数的坐标点以及所述转换矩阵,确定所述激光雷达的外部参数。2.如权利要求1所述的方法,其特征在于,所述基于所述激光点云数据确定所述车辆所在道路平面从激光雷达坐标系到车体坐标系下的转换矩阵,包括:基于所述激光点云数据确定所述车辆所在道路的道路平面拟合点集;基于所述道路平面拟合点集拟合车体坐标系下的所述车道,得到激光雷达坐标系下的道路区域平面方程,所述道路区域平面方程为所述道路平面拟合点集在车体坐标系下对应的平面;基于所述道路区域平面方程确定所述转换矩阵。3.根据权利要求2所述的方法,其特征在于,所述基于所述激光点云数据确定所述车辆所在道路的道路平面拟合点集,包括:将所述激光点云数据投影至二维栅格图中,获取二维点云栅格图;根据所述二维点云栅格图中各个栅格之间的局部点云高度差从所述二维点云栅格图中筛选出候选栅格;对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集;对所述障碍物点云集进行搜索处理,获取所述障碍物点云集中的道路边界点云集;根据所述非障碍物点云集以及所述道路边界点云集,获取所述道路区域点云集。4.根据权利要求3所述的方法,其特征在于,所述根据所述二维点云栅格图中各个栅格之间的局部点云高度差从所述二维点云栅格图中筛选出候选栅格,包括:遍历所述二维点云栅格图中的栅格,将当前遍历的栅格作为第一中心栅格,并根据所述第一中心栅格中的点云数据的坐标,获取最大高度点云值;以所述第一中心栅格为中心,在预设尺寸的范围内计算所述最大高度点云值与各栅格对应的最小高度点云值的高度差,所述最小高度点云值根据该栅格中点云数据的坐标计算得到;若所述高度差高于第一预设高度差,对计数值进行加1;在预设尺寸的范围内,若所述计数值超过预设计数值阈值,则将该第一中心栅格标记为候选栅格。5.根据权利要求3所述的方法,其特征在于,所述对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集,包括:遍历所述激光点云数据,若当前遍历的激光点云数据处于所述候选栅格中,将该激光点云数据作为中心点云,计算第一预设半径范围内的点云数据与所述中心点云的坡度;若所述坡度大于预设坡度阈值,坡度计数进行加1;若大于预设坡度阈值的激光点云数据与所述中心点云之间的点云高度的高度差超过
第二预设高度差,高度计数进行加1;若在所述中心点云第一预设半径范围的激光点云数据对应坡度计数不小于坡度计数阈值且高度计数不小于高度计数阈值,确定所述中心点云为障碍物点云。6.根据权利要求5所述的方法,其特征在于,所述对所述候选栅格进行分割提取,获取障碍物点云集以及非障碍物点云集,还包括:以所述中心点云所在候选栅格为第二中心栅格,确定第二预设半径范围内候选栅格中的点云高度高于所述中心点云的点云数据为障碍物点云。7.根据权利要求3所述的方法,其特征在于,所述对所述障碍物点云集进行搜索处理,获取所述障碍物点云集中的道路边界点云集,包括:将所述障碍物点云集投影至栅格图中,获取障碍物栅格;针对每个所述障碍物栅格中的障碍物点云,进行逐行搜索,以所述车辆的横向中心为搜索中心,以第三预设半径为搜索半径,从所述搜索半径对应的搜索范围中的搜索道路边界点云,获取所述障碍物点云集中的道路边界点云集。8.如权利要求1-7任一所述的方法,其特征在于,所述转换矩阵包括:所述激光雷达的横滚角对应的横滚角坐标变换矩阵、俯仰角对应的俯仰角坐标变换矩阵以及z轴平移参数对应的z轴平移参数坐标变换矩阵;所述根据所述车辆与所述预设侧车道线之间的夹角、所述预设个数的坐标点以及所述转换矩阵,确定所述激光雷达的外部参数,包括:根据所述横滚角坐标变换矩阵、所述俯仰角坐标变换矩阵以及所述z轴平移参数坐标变换矩阵对所述预设侧车道线上预设个数的坐标点进行变换,得到变换后的坐标点;获取所述变换后的坐标点对应的直线方程;根据所述直线方程,获取所述直线方程与x轴的夹角;根据所述车辆与所述预设侧车道线之间的夹角以及所述直线方程与x轴的夹角确定所述激光雷达的偏航角。9.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-8任一项所述的方法。10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-8任一项所述的方法。
技术总结
本申请公开了一种激光雷达的外部参数标定方法、装置及电子设备,该激光雷达的外部参数标定方法包括:通过车辆的激光雷达扫描获取激光点云数据;获取车辆与车道的预设侧车道线之间的夹角以及激光点云数据中位于预设侧车道线上预设个数的坐标点;基于道路平面拟合点集得到道路区域平面方程;基于道路区域平面方程确定转换矩阵;根据车辆与预设侧车道线之间的夹角、激光点云数据中位于预设侧车道线上预设个数的坐标点以及转换矩阵,确定激光雷达的外部参数。通过激光雷达所在的车辆所处位置与车道线之间的夹角以及车道线上的坐标对激光雷达的外部参数进行标定,该标定方式不需要标定工具,缩减了标定的硬件成本,实现了对激光雷达的快速标定。雷达的快速标定。雷达的快速标定。
技术研发人员:张三林 翁茂楠 孙玲 周浩 张伟林
受保护的技术使用者:广州汽车集团股份有限公司
技术研发日:2023.04.27
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
