掌桥专利:专业的专利平台
掌桥专利
首页

一种激光雷达标定方法、装置、设备及存储介质

文献发布时间:2023-06-19 18:29:06


一种激光雷达标定方法、装置、设备及存储介质

技术领域

本公开涉及自动驾驶技术领域,具体而言,涉及一种激光雷达标定方法、装置、设备及存储介质。

背景技术

随着科技的发展和进步,汽车已经成为了人们出行的必备交通工具之一,而随着汽车技术的发展,自动驾驶已经在汽车技术中占据了重要的地位。自动驾驶解决方案依赖于多传感器融合,在多传感器的方案里,激光雷达起重要作用,比如构建高精度地图、实时高精度定位与实时感知障碍物等。自动驾驶方案中,通常会在车辆上设置多个或多种激光雷达,它们以不同位置和方位安装在车辆上,以获得对感兴趣区域的不同方位冗余测量。在使用激光雷达的进行数据测量之前,需要对它们的外参数(extrinsic,由位置和姿态组成,例如可以用表示位置坐标和旋转姿态的6维向量描述)进行精确的标定。

目前,针对激光雷达的参数标定,大多使用直接迭代配准ICP(Iterative ClosestPoint)的方式,但是对于多激光雷达之间安装视角重叠度很小的时候,多激光雷达直接迭代的方式不能正常工作,标定准确率低。

发明内容

本公开实施例至少提供一种激光雷达标定方法、装置、设备及存储介质。

本公开实施例提供了一种激光雷达标定方法,所述方法包括:

对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息;

获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据;

针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数;

对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

一种可选的实施方式中,所述对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息,包括:

获取所述待标定车辆在目标场景中按照预设行驶轨迹行驶的过程中,所述待标定车辆上初始化处理后的惯导系统采集到的惯导定位数据;

基于所述惯导定位数据,确定所述惯导系统在所述待标定车辆行驶过程中定位的多个惯导定位点,以及所述惯导系统输出的、所述待标定车辆在所述预设行驶轨迹中的多个偏航角;

基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差;

基于所述惯导定位偏差,对所述惯导系统进行标定,确定所述惯导系统的惯导位姿信息;

将所述惯导位姿信息作为所述待标定车辆的车辆位姿信息。

一种可选的实施方式中,所述基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差,包括:

将所述待标定车辆在目标场景中行驶的预设行驶轨迹划分为多段子行驶轨迹;

确定所述多个惯导定位点中针对每段子行驶轨迹中的多个惯导定位点,以及针对每段子行驶轨迹的偏航角;

针对每段子行驶轨迹,基于所述子行驶轨迹对应的多个惯导定位点,拟合出所述待标定车辆在所述子行驶轨迹中行驶的第一方向向量;

基于所述待标定车辆在所述子行驶轨迹中的偏航角,确定所述待标定车辆在所述子行驶轨迹中的第二方向向量;

基于所述待标定车辆在所述子行驶轨迹中的第一方向向量和第二方向向量,确定所述惯导系统在所述子行驶轨迹中的角度偏差;

对每段子行驶轨迹对应的角度偏差进行统计,确定所述惯导系统的惯导定位偏差。

一种可选的实施方式中,所述针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数,包括:

针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点;

确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离;

基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数。

一种可选的实施方式中,所述针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点,包括:

基于所述初始外参数,确定所述激光雷达的初始位姿信息;

基于所述初始位姿信息与所述车辆位姿信息之间的对应关系,对所述初始点云数据进行坐标变换处理,得到所述初始点云数据在所述场景坐标系下的目标点云数据;

将所述激光雷达的多条激光线依次作为目标激光线,基于所述目标点云数据,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点,其中,所述相邻激光线为所述多条激光线中与所述目标激光线相邻的多条激光线中的任意一条激光线。

一种可选的实施方式中,所述确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离,包括:

对所述目标激光线对应的多个第一扫描点进行拟合,得到所述目标激光线对应的拟合平面;

针对所述目标激光线对应的每条相邻标激光线,确定所述相邻激光线对应的多个第二扫描点中每个第二扫描点与所述拟合平面之间的目标距离;

基于每条相邻激光线对应的多个目标距离,确定所述目标激光线对应的多条相邻标激光线相对于所述拟合平面的总距离。

一种可选的实施方式中,所述基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数,包括:

基于确定出的多个总距离,确定针对所述多条激光线的距离总和;

对所述距离总和与所述初始外参数进行迭代处理,直至所述距离总和达到多个迭代值中的最小值,确定与所述距离总和为最小值时对应的、所述激光雷达的外参数;

将确定出的外参数作为所述激光雷达的标定外参数。

一种可选的实施方式中,所述对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整,包括:

针对每个激光雷达在对应标定外参数下采集的标定点云数据,基于每个激光雷达的标定外参数,将所述多个激光雷达中除目标激光雷达外的每个其他激光雷达的标定点云数据变换至所述目标激光雷达的目标雷达坐标系下;

基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数。

一种可选的实施方式中,所述基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数,包括:

确定所述多个激光雷达中每相邻的两个激光雷达之间的扫描重叠区域;

针对每相邻的所述两个激光雷达,在所述目标雷达坐标系下,对所述两个激光雷达中每个激光雷达的、变换后的标定点云数据进行拼接,得到每个激光雷达对应的、位于所述重叠区域中的重叠点云数据;

对所述两个激光雷达对应的两个重叠点云数据指示的点云进行配准处理,得到两个点云之间的配准偏差;

基于配准得到的所述配准偏差,对所述两个激光雷达的标定外参数进行调整,得到所述两个激光雷达中每个激光雷达调整后的标定外参数。

本公开实施例还提供一种激光雷达标定装置,所述装置包括:

车辆位姿确定模块,用于对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息;

初始点云获取模块,用于获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据;

第一参数调整模块,用于针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数;

第二参数调整模块,用于对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

一种可选的实施方式中,所述车辆位姿确定模块具体用于:

获取所述待标定车辆在目标场景中按照预设行驶轨迹行驶的过程中,所述待标定车辆上初始化处理后的惯导系统采集到的惯导定位数据;

基于所述惯导定位数据,确定所述惯导系统在所述待标定车辆行驶过程中定位的多个惯导定位点,以及所述惯导系统输出的、所述待标定车辆在所述预设行驶轨迹中的多个偏航角;

基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差;

基于所述惯导定位偏差,对所述惯导系统进行标定,确定所述惯导系统的惯导位姿信息;

将所述惯导位姿信息作为所述待标定车辆的车辆位姿信息。

一种可选的实施方式中,所述车辆位姿确定模块在用于基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差时,具体用于:

将所述待标定车辆在目标场景中行驶的预设行驶轨迹划分为多段子行驶轨迹;

确定所述多个惯导定位点中针对每段子行驶轨迹中的多个惯导定位点,以及针对每段子行驶轨迹的偏航角;

针对每段子行驶轨迹,基于所述子行驶轨迹对应的多个惯导定位点,拟合出所述待标定车辆在所述子行驶轨迹中行驶的第一方向向量;

基于所述待标定车辆在所述子行驶轨迹中的偏航角,确定所述待标定车辆在所述子行驶轨迹中的第二方向向量;

基于所述待标定车辆在所述子行驶轨迹中的第一方向向量和第二方向向量,确定所述惯导系统在所述子行驶轨迹中的角度偏差;

对每段子行驶轨迹对应的角度偏差进行统计,确定所述惯导系统的惯导定位偏差。

一种可选的实施方式中,所述第一参数调整模块具体用于:

针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点;

确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离;

基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数。

一种可选的实施方式中,所述第一参数调整模块在用于针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点时,具体用于:

基于所述初始外参数,确定所述激光雷达的初始位姿信息;

基于所述初始位姿信息与所述车辆位姿信息之间的对应关系,对所述初始点云数据进行坐标变换处理,得到所述初始点云数据在所述场景坐标系下的目标点云数据;

将所述激光雷达的多条激光线依次作为目标激光线,基于所述目标点云数据,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点,其中,所述相邻激光线为所述多条激光线中与所述目标激光线相邻的多条激光线中的任意一条激光线。

一种可选的实施方式中,所述第一参数调整模块在用于确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离时,具体用于:

对所述目标激光线对应的多个第一扫描点进行拟合,得到所述目标激光线对应的拟合平面;

针对所述目标激光线对应的每条相邻标激光线,确定所述相邻激光线对应的多个第二扫描点中每个第二扫描点与所述拟合平面之间的目标距离;

基于每条相邻激光线对应的多个目标距离,确定所述目标激光线对应的多条相邻标激光线相对于所述拟合平面的总距离。

一种可选的实施方式中,所述第一参数调整模块在用于基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数时,具体用于:

基于确定出的多个总距离,确定针对所述多条激光线的距离总和;

对所述距离总和与所述初始外参数进行迭代处理,直至所述距离总和达到多个迭代值中的最小值,确定与所述距离总和为最小值时对应的、所述激光雷达的外参数;

将确定出的外参数作为所述激光雷达的标定外参数。

一种可选的实施方式中,所述第二参数调整模块具体用于:

针对每个激光雷达在对应标定外参数下采集的标定点云数据,基于每个激光雷达的标定外参数,将所述多个激光雷达中除目标激光雷达外的每个其他激光雷达的标定点云数据变换至所述目标激光雷达的目标雷达坐标系下;

基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数。

一种可选的实施方式中,所述第二参数调整模块在用于基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数时,具体用于:

确定所述多个激光雷达中每相邻的两个激光雷达之间的扫描重叠区域;

针对每相邻的所述两个激光雷达,在所述目标雷达坐标系下,对所述两个激光雷达中每个激光雷达的、变换后的标定点云数据进行拼接,得到每个激光雷达对应的、位于所述重叠区域中的重叠点云数据;

对所述两个激光雷达对应的两个重叠点云数据指示的点云进行配准处理,得到两个点云之间的配准偏差;

基于配准得到的所述配准偏差,对所述两个激光雷达的标定外参数进行调整,得到所述两个激光雷达中每个激光雷达调整后的标定外参数。

本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述的激光雷达标定方法的步骤。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的激光雷达标定方法的步骤。

本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上述的激光雷达标定方法的步骤。

本公开实施例提供的激光雷达标定方法、装置、设备及存储介质,通过对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息;获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据;针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数;对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

这样,通过惯导系统的标定位姿提供精准的车辆位姿信息,借助标定后的车辆位姿信息对多个激光雷达依次进行独立标定,再针对多个激光雷达进行点云拼接,以实现对标定后外参数的联合验证,最后得到每个激光雷达的准确外参数,可以在确保标定的输入正常的前提下,减小甚至消除多个激光雷达之间的直接依赖性,可以有效提高每个激光雷达外参数标定的准确性和有效性,并且多激光雷达的联合验证,可以保证外参数标定质量并提供定量精度指标,有利于确保外参数标定结果的有效性和准确性。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本公开实施例提供的一种激光雷达标定方法的流程图;

图2为本公开实施例提供的激光雷达标定方法中惯导系统标定的流程图;

图3为惯导标定的示意图;

图4为本公开实施例提供的一种激光雷达标定方法的流程图;

图5为本公开实施例提供的一种激光雷达标定装置的示意图;

图6为本公开实施例提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

经研究发现,目前,自动驾驶解决方案依赖于多传感器融合,在多传感器的方案里,激光雷达起重要作用,比如构建高精度地图、实时高精度定位与实时感知障碍物等。但是针对激光雷达的参数标定,大多使用直接迭代配准ICP(Iterative Closest Point)的方式,但是对于多激光雷达之间安装视角重叠度很小的时候,多激光雷达直接迭代的方式不能正常工作,标定准确率低。

基于上述研究,本公开提供了一种激光雷达标定方法,通过惯导系统的标定位姿提供精准的车辆位姿信息,借助标定后的车辆位姿信息对多个激光雷达依次进行独立标定,再对多个激光雷达的进行点云拼接,以实现对标定后外参数的联合验证,最后得到每个激光雷达的准确外参数,可以在确保标定的输入正常的前提下,减小甚至消除多个激光雷达之间的直接依赖性,可以有效提高每个激光雷达外参数标定的准确性和有效性,并且多激光雷达的联合验证,可以保证外参数标定质量并提供定量精度指标,有利于确保外参数标定结果的有效性和准确性。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种激光雷达标定方法进行详细介绍,本公开实施例所提供的激光雷达标定方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该激光雷达标定方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

请参阅图1,图1为本公开实施例提供的一种激光雷达标定方法的流程图。如图1中所示,本公开实施例提供的激光雷达标定方法包括:

S101:对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息。

该步骤中,在需要对待标定车辆上安装的多个激光雷达进行标定时,需要确定一个准确的参考,因此,可以对待标定车辆上的惯导系统进行标定,从而通过所述惯导系统在目标场景中标定后的参数,来确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息。

其中,所述目标场景可以是用户进行参数标定的标定场地,为了标定方便和准确,所述目标场景可以是选择空旷的场地,并且在场地中设置多个立体的方形墙体等参考物体,以便于数据的采集和使用等。

目前,车辆上大多安装有惯导系统,可以为车辆提供惯性导航,以用于车辆的高精度定位,以及提供精确的位姿等。因此,可以利用惯导系统提供的参数作为车辆的位姿,作为输入之一来实现激光雷达的外参数标定。惯导系统在应用之前需要对其进行初始化来使其进入工作状态。在进入工作状态时,惯导系统一般会有自检定位位姿稳定性的指标,但是此指标不足以满足精确的外参数标定。因此,本公开实施中,需要对惯导系统进行标定,以作为车辆位姿信息的参考,从而保证输入参数的准确性,有助于提高激光雷达标定的稳定性和精度。

具体的,请同时参阅图2,图2为本公开实施例提供的激光雷达标定方法中惯导系统标定的流程图。如图2中所示,在一些可能的实施方式中,通过对惯导系统的标定,确定车辆位姿信息,可以包括以下步骤:

S1011:获取所述待标定车辆在目标场景中按照预设行驶轨迹行驶的过程中,所述待标定车辆上初始化处理后的惯导系统采集到的惯导定位数据。

该步骤中,在对所述惯导系统进行标定时,可以先对所述惯导系统进行初始化,然后控制所述待标定车辆在目标场景中行驶,为了后续数据处理和简化采集数据,所述待标定车辆可以是按照预设行驶轨迹进行行驶,并且在行驶的过程中,可以通过初始化处理后的所述惯导系统采集惯导定位数据。

示例性的,在实际应用中,为保证采集数据的可靠性和准确性,可以在用于参数标定的试验场地中进行,试验场地中可以设置有多面方形的墙体,以作为后续激光雷达扫描的物体。在对惯导系统进行标定时,可以人工驾驶待标定车辆以一定速度,例如以20-30千米每小时的速度,沿直线行驶一定距离,由于惯导系统的精度会随着距离和时间降低,因此行驶距离不宜过长,例如可以行驶500米,通过控制车辆匀速和直线的行驶,可以保证数据采集的稳定性和易处理性,在行驶的过程中,可以控制惯导系统进行惯导定位数据的采集。

S1012:基于所述惯导定位数据,确定所述惯导系统在所述待标定车辆行驶过程中定位的多个惯导定位点,以及所述惯导系统输出的、所述待标定车辆在所述预设行驶轨迹中的多个偏航角。

该步骤中,采集到所述惯导定位数据后,可以通过对所述惯导定位数据的解析,得出所述待标定车辆在按照所述预设行驶轨迹上行驶的过程中,所述惯导系统定位的多个惯导定位点,以及所述惯导系统输出的、所述待标定车辆在所述预设行驶轨迹中的多个偏航角。

其中,所述待标定车辆行驶的过程中,所述惯导系统定位的多个惯导定位点的数量,可以是按照数据标定的精度需求等因素,预先设置所述惯导系统的定位频率等参数,从而在数据采集时按照所对应的定位频率等参数进行采集,所能输出的惯导定位点的数量。

S1013:基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差。

该步骤中,在得到解析出的多个惯导定位点和所述惯导系统输出的多个偏航角后,可以通过对多个惯导定位点的融合,与所述多个偏航角进行比对,从而得出两方面之间的差异,从而可以得到所述惯导系统的惯导定位偏差。

具体的,针对确定所述惯导系统的惯导定位偏差,可以是先将所述待标定车辆在目标场景中行驶的预设行驶轨迹划分为多段子行驶轨迹,通过划分子行驶轨迹可以把问题细化,有利于提高标定结果的准确度,接着,针对对所述惯导系统定位的所述多个惯导定位点和输出的多个偏航角,可以按照各惯导定位点和各偏航角的位置信息等,与每段子行驶轨迹进行匹配,以将惯导定位点和偏航角划分到相应的子行驶轨迹中,从而可以确定所述多个惯导定位点中针对每段子行驶轨迹中的多个惯导定位点,以及针对每段子行驶轨迹的偏航角。

然后,对于划分出的子行驶轨迹,针对每段子行驶轨迹,可以基于所述子行驶轨迹对应的多个惯导定位点,按照多个惯导定位点的先后顺序等因素,拟合出所述待标定车辆在所述子行驶轨迹中行驶的第一方向向量,并且,可以基于所述待标定车辆在所述子行驶轨迹中的偏航角,通过矢量的分量解析等方式,可以确定所述待标定车辆在所述子行驶轨迹中的第二方向向量。

接下来,可以基于所述待标定车辆在所述子行驶轨迹中的第一方向向量和第二方向向量,通过向量比对计算等方式,确定所述惯导系统在所述子行驶轨迹中的角度偏差,在得到每段子行驶轨迹对应的角度偏差后,可以对每段子行驶轨迹对应的角度偏差进行统计,从而确定所述惯导系统的惯导定位偏差。

示例性的,请同时参阅图3,图3为惯导标定的示意图。如图3中所示,在场景坐标系(x,y)下,以待标定车辆行驶的预设行驶轨迹为500米直线为例,可以将直线轨迹按照40-50米左右一段进行划分,划分出多段子行驶轨迹,如轨迹l

对于惯导系统定位的多个惯导定位点和输出的多个偏航角,可以按照惯导定位点的定位地址和偏航角的位置对应划分到相应的子行驶轨迹中,每段子行驶轨迹中有多个离散的惯导定位点和偏航角。

对于其中一段子行驶轨迹-轨迹l

然后可以读取由惯导系统输出的待标定车辆在轨迹l

l

其中,l

再然后,通过轨迹l

在计算得到每段子行驶轨迹对应的角度偏差之后,可以统计所有的角度偏差θ

S1014:基于所述惯导定位偏差,对所述惯导系统进行标定,确定所述惯导系统的惯导位姿信息。

该步骤中,在得到所述惯导定位偏差后,可以通过迭代等方式,对所述惯导系统进行标定,以调整所述惯导系统的位姿参数等,直至所述惯导定位偏差符合标定精度需求,例如小于一定的预设阈值,可以根据调整后的位姿参数,确定出所述惯导系统的惯导位姿信息。

S1015:将所述惯导位姿信息作为所述待标定车辆的车辆位姿信息。

这样,通过标定后的惯导系统的位姿作为待标定车辆的位姿,从而作为后续数据标定的输入之一,可以保证后续数据处理的准确性。

承接上述的S101,S102:获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据。

该步骤中,在所述惯导系统标定完毕后,可以控制所述待标定车辆在此进行行驶,以使安装的多个激光雷达进行点云数据采集,从而获取每个激光雷达在初始外参数下采集的初始点云数据。

其中,每个激光雷达采集的初始点云数据,均包括有多帧点云,后续的标定点云数据等,均与初始点云数据相同,不再赘述。

示例性的,可以在上述的用于参数标定的试验场地中,控制车辆进行往复运动,比如绕‘8’字或绕‘o’字轨迹行驶,以使激光雷达可以进行初始点云数据采集。

S103:针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数。

该步骤中,对于每个所述激光雷达,可以使用所述初始点云数据、所述车辆位姿信息和所述初始外参数,对所述激光雷达的参数进行标定,以得到标定后的标定外参数。

这样,通过对每个激光雷达进行依次独立标定,以实现外参数的初步标定,可以降低甚至消除多个激光雷达之间的依赖性,通过标定后得到的车辆位姿信息,可以准确进行参照,有利于保证数据处理的准确性。

S104:对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

该步骤中,在对每个激光雷达的参数标定完毕,得到对应的标定外参数之后,可以进行一步进行验证,具体的,可以通过激光雷达在标定外参数下,进行标定点云数据的采集,将多个激光雷达对应的多个标定点云数据进行拼接,从而通过拼接后产生的差异,对标定外参数进行调整。

本公开实施例提供的激光雷达标定方法,通过惯导系统的标定位姿提供精准的车辆位姿信息,借助标定后的车辆位姿信息对多个激光雷达依次进行独立标定,再对多个激光雷达的进行点云拼接,以实现对标定后外参数的联合验证,最后得到每个激光雷达的准确外参数,可以在确保标定的输入正常的前提下,减小甚至消除多个激光雷达之间的直接依赖性,可以有效提高每个激光雷达外参数标定的准确性和有效性,并且多激光雷达的联合验证,可以保证外参数标定质量并提供定量精度指标,有利于确保外参数标定结果的有效性和准确性。

请参阅图4,图4为本公开实施例提供的一种激光雷达标定方法的流程图。如图4中所示,本公开实施例提供的激光雷达标定方法包括:

S401:对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息。

S402:获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据。

S403:针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数。

S404:基于所述多个激光雷达中每个激光雷达的标定外参数,在目标场景中进行数据采集,得到每个激光雷达在对应标定外参数下采集的标定云数据。

该步骤中,在对每个激光雷达进行单独标定,得到对应的标定外参数之后,可以进一步对激光雷达进行外参数标定质量,因此,可以控制所述待标定车辆再次在目标场景中行驶,以通过每个激光雷达在对应标定外参数下采集标定云数据。

S405:对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

其中,步骤S401至步骤S403和步骤S405的描述,可以参照步骤S101至步骤S104的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。

接下来,将结合一些具体实施方式进一步对本实施例进行说明。

在一些可能的实施方式中,步骤S403包括:

针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点;

确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离;

基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数。

该步骤中,在对所述多个激光雷达的外参数进行标定时,可以对每个激光雷达依次单独标定,具体的,对于每个激光雷达,鉴于所述激光雷达一般包括多个激光探头,可以发出多条激光线,可以将所述激光雷达多条激光线依次作为目标激光线,通过所述初始点云数据、所述车辆位姿信息和所述初始外参数之间的转换和对应关系,可以确定出在所述场景坐标系下,所述目标激光线扫描到所述目标场景中目标平面物体的多个第一扫描点,其中,一个第一扫描点对应所述初始点云数据中的一帧点云的扫描结果,进一步的,可以通过多个第一扫描点,拟合出一个拟合平面。

接着,根据预设的精度需求等,可以预先设置参数标定时需要相邻激光线的数目,对于所述目标激光线,可以确定所述激光雷达的多条激光线中所述目标激光线的相邻激光线,进而通过所述初始点云数据、所述车辆位姿信息和所述初始外参数之间的转换和对应关系,确定出在所述场景坐标系下,每条相邻激光线扫描到所述目标场景中目标平面物体的多个第二扫描点,进一步的,可以计算每条相邻激光线的多个第二扫描点与所述拟合平面之间的距离,从而确定出所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离。

然后,通过每个目标激光线对应的总距离,即每个激光线对应的总距离,可以对对所述激光雷达的初始外参数进行调整,最终得到所述激光雷达的标定外参数。

具体的,对于确定所述目标激光线的多个第一扫描点和每条相邻激光线的多个第二扫描点,可以是基于所述初始外参数,确定所述激光雷达的初始位姿信息,所述初始外参数,可以是包括所述激光雷达安装在所述待标定车辆上的位置和姿态等参数,以此确定所述激光雷达相对于所述待标定车辆的位姿。

然后,基于所述初始位姿信息与所述车辆位姿信息之间的对应关系,对所述初始点云数据进行坐标变换处理,得到所述初始点云数据在所述场景坐标系下的目标点云数据,例如可以是先将所述初始点云数据转换到车辆坐标系下,再借助待标定车辆在所述场景坐标系下的位置坐标等,将所述初始点云数据变换至所述场景坐标系下,得到对应的目标点云数据。

接着,将所述激光雷达的多条激光线依次作为目标激光线,基于所述目标点云数据,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点,其中,所述相邻激光线为所述多条激光线中与所述目标激光线相邻的多条激光线中的任意一条激光线。

具体的,在一些可能的实施方式中,针对得到所述拟合平面和与所述目标激光线对应的总距离,可以是通过线性拟合等方法,对所述目标激光线对应的多个第一扫描点进行拟合,得到所述目标激光线对应的拟合平面,然后针对所述目标激光线对应的每条相邻标激光线,确定所述相邻激光线对应的多个第二扫描点中每个第二扫描点与所述拟合平面之间的目标距离,基于每条相邻激光线对应的多个目标距离,确定所述目标激光线对应的多条相邻标激光线相对于所述拟合平面的总距离。

其中,每个第二扫描点与所述拟合平面之间的目标距离,可以是通过第二扫描点在所述场景坐标系下的坐标,与对应的拟合平面上的一个平面点在所述场景坐标系下的坐标,计算第二扫描点与对应的平面点之间的距离,再借助所述拟合平面的法向量(如平面点出的法向量),来计算两个点之间的距离在所述法向量上的分量,从而得到第二扫描点与所述拟合平面之间的目标距离。

具体的,在一些可能的实施方式中,基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数,可以是基于确定出的多个总距离,确定针对所述多条激光线的距离总和,例如可以是将所述激光雷达的每条激光线对应的总距离,即每条目标激光线对应的总距离,进行累加,得到针对所述激光雷达的多条激光线的距离总和。

然后,对所述距离总和与所述初始外参数进行迭代处理,直至所述距离总和达到多个迭代值中的最小值,确定与所述距离总和为最小值时对应的、所述激光雷达的外参数。最终,将确定出的外参数作为所述激光雷达的标定外参数即可。

再具体实施方式中,针对对所述距离总和与所述初始外参数进行迭代处理所使用的优化方法,针对优化目标函数及优化初值的容忍度不同,可根据具体的安装误差及安装测量误差选取优化方法,具体的,初值位置误差不超过10厘米,角度误差不超过2度的时候,可以使用坐标下降法来优化外参数,可以使得计算过程收敛更快。

示例性的,在具体应用中,可以通过以下公式计算所述目标激光线对应的一条相邻标激光线相对于所述拟合平面的目标距离:

其中,D

对于各个扫描点,其可以通过所述场景坐标系下的坐标表示,从而其中包含有所述激光雷达的初始位姿信息,即初始外参数的相关信息,

进一步的,把所述目标激光线的每条相邻激光线对应的目标距离累加,即可得到所述目标激光线对应的多条相邻标激光线相对于所述拟合平面的总距离。

再进一步分,可以通过以下公式计算针对所述激光雷达的多条激光线的距离总和:

其中,F为针对所述激光雷达的多条激光线的距离总和,2n为参数计算距离的相邻激光线的数量,A为所述激光雷达的多条激光线的数量。

在一些可能的实施方式中,步骤S405包括:

针对每个激光雷达在对应标定外参数下采集的标定点云数据,基于每个激光雷达的标定外参数,将所述多个激光雷达中除目标激光雷达外的每个其他激光雷达的标定点云数据变换至所述目标激光雷达的目标雷达坐标系下;

基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数。

该步骤中,对于每个激光雷达在对应标定外参数下采集的标定点云数据,可以以一个激光雷达为基准,即从所述多个激光雷达中任选一个激光雷达作为目标激光雷达,将其他激光雷达采集的标定点云数据通过坐标变换等方式,变换至所述目标激光雷达的目标雷达坐标系下,然后在所述目标激光雷达的目标雷达坐标下,对多个标定点云数据中的多个标定点云进行拼接,从而通过拼接的点云对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数。

具体的,对标定外参数的调整,可以是先确定所述多个激光雷达中每相邻的两个激光雷达之间的扫描重叠区域,然后针对每相邻的所述两个激光雷达,在所述目标雷达坐标系下,对所述两个激光雷达中每个激光雷达的、变换后的标定点云数据进行拼接,得到每个激光雷达对应的、位于所述重叠区域中的重叠点云数据;

接着,对所述两个激光雷达对应的两个重叠点云数据指示的点云进行配准处理,得到两个点云之间的配准偏差,然后,基于配准得到的所述配准偏差,对所述两个激光雷达的标定外参数进行调整,得到所述两个激光雷达中每个激光雷达调整后的标定外参数。

本公开实施例提供的激光雷达标定方法,通过惯导系统的标定位姿提供精准的车辆位姿信息,借助标定后的车辆位姿信息对多个激光雷达依次进行独立标定,再通过对多个激光雷达采集到的标定点云进行点云拼接,以实现对标定后外参数的联合验证,最后得到每个激光雷达的准确外参数,可以在确保标定的输入正常的前提下,减小甚至消除多个激光雷达之间的直接依赖性,可以有效提高每个激光雷达外参数标定的准确性和有效性,并且多激光雷达的联合验证,可以保证外参数标定质量并提供定量精度指标,有利于确保外参数标定结果的有效性和准确性。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与激光雷达标定方法对应的激光雷达标定装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述激光雷达标定方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

请参阅图5,图5为本公开实施例提供的一种激光雷达标定装置的示意图。如图5中所示,本公开实施例提供的激光雷达标定装置,包括:

车辆位姿确定模块510,用于对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息。

初始点云获取模块520,用于获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据。

第一参数调整模块530,用于针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数。

第二参数调整模块540,用于对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

一种可选的实施方式中,所述车辆位姿确定模块具体510用于:

获取所述待标定车辆在目标场景中按照预设行驶轨迹行驶的过程中,所述待标定车辆上初始化处理后的惯导系统采集到的惯导定位数据;

基于所述惯导定位数据,确定所述惯导系统在所述待标定车辆行驶过程中定位的多个惯导定位点,以及所述惯导系统输出的、所述待标定车辆在所述预设行驶轨迹中的多个偏航角;

基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差;

基于所述惯导定位偏差,对所述惯导系统进行标定,确定所述惯导系统的惯导位姿信息;

将所述惯导位姿信息作为所述待标定车辆的车辆位姿信息。

一种可选的实施方式中,所述车辆位姿确定模块510在用于基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差时,具体用于:

将所述待标定车辆在目标场景中行驶的预设行驶轨迹划分为多段子行驶轨迹;

确定所述多个惯导定位点中针对每段子行驶轨迹中的多个惯导定位点,以及针对每段子行驶轨迹的偏航角;

针对每段子行驶轨迹,基于所述子行驶轨迹对应的多个惯导定位点,拟合出所述待标定车辆在所述子行驶轨迹中行驶的第一方向向量;

基于所述待标定车辆在所述子行驶轨迹中的偏航角,确定所述待标定车辆在所述子行驶轨迹中的第二方向向量;

基于所述待标定车辆在所述子行驶轨迹中的第一方向向量和第二方向向量,确定所述惯导系统在所述子行驶轨迹中的角度偏差;

对每段子行驶轨迹对应的角度偏差进行统计,确定所述惯导系统的惯导定位偏差。

一种可选的实施方式中,所述第一参数调整模块530具体用于:

针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点;

确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离;

基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数。

一种可选的实施方式中,所述第一参数调整模块530在用于针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点时,具体用于:

基于所述初始外参数,确定所述激光雷达的初始位姿信息;

基于所述初始位姿信息与所述车辆位姿信息之间的对应关系,对所述初始点云数据进行坐标变换处理,得到所述初始点云数据在所述场景坐标系下的目标点云数据;

将所述激光雷达的多条激光线依次作为目标激光线,基于所述目标点云数据,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点,其中,所述相邻激光线为所述多条激光线中与所述目标激光线相邻的多条激光线中的任意一条激光线。

一种可选的实施方式中,所述第一参数调整模块530在用于确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离时,具体用于:

对所述目标激光线对应的多个第一扫描点进行拟合,得到所述目标激光线对应的拟合平面;

针对所述目标激光线对应的每条相邻标激光线,确定所述相邻激光线对应的多个第二扫描点中每个第二扫描点与所述拟合平面之间的目标距离;

基于每条相邻激光线对应的多个目标距离,确定所述目标激光线对应的多条相邻标激光线相对于所述拟合平面的总距离。

一种可选的实施方式中,所述第一参数调整模块530在用于基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数时,具体用于:

基于确定出的多个总距离,确定针对所述多条激光线的距离总和;

对所述距离总和与所述初始外参数进行迭代处理,直至所述距离总和达到多个迭代值中的最小值,确定与所述距离总和为最小值时对应的、所述激光雷达的外参数;

将确定出的外参数作为所述激光雷达的标定外参数。

一种可选的实施方式中,所述第二参数调整模块540具体用于:

针对每个激光雷达在对应标定外参数下采集的标定点云数据,基于每个激光雷达的标定外参数,将所述多个激光雷达中除目标激光雷达外的每个其他激光雷达的标定点云数据变换至所述目标激光雷达的目标雷达坐标系下;

基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数。

一种可选的实施方式中,所述第二参数调整模块540在用于基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数时,具体用于:

确定所述多个激光雷达中每相邻的两个激光雷达之间的扫描重叠区域;

针对每相邻的所述两个激光雷达,在所述目标雷达坐标系下,对所述两个激光雷达中每个激光雷达的、变换后的标定点云数据进行拼接,得到每个激光雷达对应的、位于所述重叠区域中的重叠点云数据;

对所述两个激光雷达对应的两个重叠点云数据指示的点云进行配准处理,得到两个点云之间的配准偏差;

基于配准得到的所述配准偏差,对所述两个激光雷达的标定外参数进行调整,得到所述两个激光雷达中每个激光雷达调整后的标定外参数。

本公开实施例提供的激光雷达标定装置,通过惯导系统的标定位姿提供精准的车辆位姿信息,借助标定后的车辆位姿信息对多个激光雷达依次进行独立标定,再对多个激光雷达的进行点云拼接,以实现对标定后外参数的联合验证,最后得到每个激光雷达的准确外参数,可以在确保标定的输入正常的前提下,减小甚至消除多个激光雷达之间的直接依赖性,可以有效提高每个激光雷达外参数标定的准确性和有效性,并且多激光雷达的联合验证,可以保证外参数标定质量并提供定量精度指标,有利于确保外参数标定结果的有效性和准确性。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

对应于上述的激光雷达标定方法,本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:

处理器610、存储器620、和总线630;存储器620用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器610中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器610通过内存621与外部存储器622进行数据交换,当所述电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,使得所述处理器610可以执行上述的激光雷达标定方法的步骤。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的激光雷达标定方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上述的激光雷达标定方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

本公开实施例至少提供一种激光雷达标定方法、装置、设备及存储介质。

TS1、一种激光雷达标定方法,其中,所述方法包括:

对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息;

获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据;

针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数;

对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

TS2、根据TS1所述的方法,其中,所述对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息,包括:

获取所述待标定车辆在目标场景中按照预设行驶轨迹行驶的过程中,所述待标定车辆上初始化处理后的惯导系统采集到的惯导定位数据;

基于所述惯导定位数据,确定所述惯导系统在所述待标定车辆行驶过程中定位的多个惯导定位点,以及所述惯导系统输出的、所述待标定车辆在所述预设行驶轨迹中的多个偏航角;

基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差;

基于所述惯导定位偏差,对所述惯导系统进行标定,确定所述惯导系统的惯导位姿信息;

将所述惯导位姿信息作为所述待标定车辆的车辆位姿信息。

TS3、根据TS2所述的方法,其中,所述基于所述多个惯导定位点以及所述多个偏航角,确定所述惯导系统的惯导定位偏差,包括:

将所述待标定车辆在目标场景中行驶的预设行驶轨迹划分为多段子行驶轨迹;

确定所述多个惯导定位点中针对每段子行驶轨迹中的多个惯导定位点,以及针对每段子行驶轨迹的偏航角;

针对每段子行驶轨迹,基于所述子行驶轨迹对应的多个惯导定位点,拟合出所述待标定车辆在所述子行驶轨迹中行驶的第一方向向量;

基于所述待标定车辆在所述子行驶轨迹中的偏航角,确定所述待标定车辆在所述子行驶轨迹中的第二方向向量;

基于所述待标定车辆在所述子行驶轨迹中的第一方向向量和第二方向向量,确定所述惯导系统在所述子行驶轨迹中的角度偏差;

对每段子行驶轨迹对应的角度偏差进行统计,确定所述惯导系统的惯导定位偏差。

TS4、根据TS1所述的方法,其中,所述针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数,包括:

针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点;

确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离;

基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数。

TS5、根据TS4所述的方法,其中,所述针对每个所述激光雷达,将所述激光雷达的多条激光线依次作为目标激光线,基于所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及所述多条激光线中针对所述目标激光线的多条相邻激光线中每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点,包括:

基于所述初始外参数,确定所述激光雷达的初始位姿信息;

基于所述初始位姿信息与所述车辆位姿信息之间的对应关系,对所述初始点云数据进行坐标变换处理,得到所述初始点云数据在所述场景坐标系下的目标点云数据;

将所述激光雷达的多条激光线依次作为目标激光线,基于所述目标点云数据,确定所述目标激光线针对所述目标场景中目标平面物体扫描到的、在所述场景坐标系下的多个第一扫描点,以及每条相邻激光线针对所述目标平面物体扫描到的、在所述场景坐标系下的多个第二扫描点,其中,所述相邻激光线为所述多条激光线中与所述目标激光线相邻的多条激光线中的任意一条激光线。

TS6、根据TS4所述的方法,其中,所述确定所述目标激光线对应的多个第一扫描点拟合出的拟合平面,以及所述目标激光线对应的多条相邻激光线的多个第二扫描点与所述拟合平面之间的总距离,包括:

对所述目标激光线对应的多个第一扫描点进行拟合,得到所述目标激光线对应的拟合平面;

针对所述目标激光线对应的每条相邻标激光线,确定所述相邻激光线对应的多个第二扫描点中每个第二扫描点与所述拟合平面之间的目标距离;

基于每条相邻激光线对应的多个目标距离,确定所述目标激光线对应的多条相邻标激光线相对于所述拟合平面的总距离。

TS7、根据TS4所述的方法,其中,所述基于确定出的多个总距离,对所述激光雷达的初始外参数进行调整,得到所述激光雷达的标定外参数,包括:

基于确定出的多个总距离,确定针对所述多条激光线的距离总和;

对所述距离总和与所述初始外参数进行迭代处理,直至所述距离总和达到多个迭代值中的最小值,确定与所述距离总和为最小值时对应的、所述激光雷达的外参数;

将确定出的外参数作为所述激光雷达的标定外参数。

TS8、根据TS1所述的方法,其中,所述对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整,包括:

针对每个激光雷达在对应标定外参数下采集的标定点云数据,基于每个激光雷达的标定外参数,将所述多个激光雷达中除目标激光雷达外的每个其他激光雷达的标定点云数据变换至所述目标激光雷达的目标雷达坐标系下;

基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数。

TS9、根据TS8所述的方法,其中,所述基于变换后的每个其他激光雷达的标定点云数据和所述目标激光雷的标定点云数据,对每个激光雷达的标定外参数进行调整,得到每个激光雷达调整后的标定外参数,包括:

确定所述多个激光雷达中每相邻的两个激光雷达之间的扫描重叠区域;

针对每相邻的所述两个激光雷达,在所述目标雷达坐标系下,对所述两个激光雷达中每个激光雷达的、变换后的标定点云数据进行拼接,得到每个激光雷达对应的、位于所述重叠区域中的重叠点云数据;

对所述两个激光雷达对应的两个重叠点云数据指示的点云进行配准处理,得到两个点云之间的配准偏差;

基于配准得到的所述配准偏差,对所述两个激光雷达的标定外参数进行调整,得到所述两个激光雷达中每个激光雷达调整后的标定外参数。

TS10、一种激光雷达标定装置,其中,所述装置包括:

车辆位姿确定模块,用于对待标定车辆上的惯导系统在目标场景中进行标定,确定所述待标定车辆在所述目标场景对应的场景坐标系下的车辆位姿信息;

初始点云获取模块,用于获取所述待标定车辆上安装的多个激光雷达中每个激光雷达在初始外参数下采集的初始点云数据;

第一参数调整模块,用于针对每个所述激光雷达,基于采集的所述初始点云数据、所述车辆位姿信息和所述初始外参数,确定所述激光雷达的标定外参数;

第二参数调整模块,用于对所述多个激光雷达在所述标定外参数下采集的标定点云数据进行拼接,基于拼接后的点云数据对所述标定外参数进行调整。

TS11、一种电子设备,其中,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如TS1至TS9中任一项所述的激光雷达标定方法的步骤。

TS12、一种计算机可读存储介质,其中,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如TS1至TS9中任意一项所述的激光雷达标定方法的步骤。

TS13、一种计算机程序产品,包括计算机指令,其中,所述计算机指令被处理器执行时实现如TS1至TS9中任意一项所述的激光雷达标定方法的步骤。

相关技术
  • 激光雷达与相机之间的标定方法、装置、设备及存储介质
  • 一种激光雷达定位效果评估方法、装置、设备及存储介质
  • 一种标定方法、装置、设备及存储介质
  • 一种相机标定方法、装置、终端设备及存储介质
  • 机械臂的手眼标定方法、标定板、装置、设备和存储介质
  • 一种激光雷达标定方法、装置、设备及存储介质
  • 一种多激光雷达外参标定方法、装置、设备及存储介质
技术分类

06120115588378