CN116148823B - 一种外参数的标定方法、装置、车辆及计算机程序产品 - Google Patents
一种外参数的标定方法、装置、车辆及计算机程序产品 Download PDFInfo
- Publication number
- CN116148823B CN116148823B CN202310389034.3A CN202310389034A CN116148823B CN 116148823 B CN116148823 B CN 116148823B CN 202310389034 A CN202310389034 A CN 202310389034A CN 116148823 B CN116148823 B CN 116148823B
- Authority
- CN
- China
- Prior art keywords
- calibrated
- radar
- radars
- point cloud
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/497—Means for monitoring or calibrating
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本申请涉及智能汽车技术领域,尤其涉及一种外参数的标定方法、装置、车辆及计算机程序产品,用以提高标定效率。其中,该方法包括:获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;对于预设时间段内的每个子时间段,基于子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐各待标定雷达对应的第一拼接点云之间的地面共视区域,获得各待标定雷达之间的候选外参数;对于每两个待标定雷达,基于两个待标定雷达对应的各个子时间段的候选外参数,确定两个待标定雷达间的目标外参数。基于上述方式,可提高标定效率。
Description
技术领域
本申请涉及智能汽车技术领域,尤其涉及一种外参数的标定方法、装置、车辆及计算机程序产品。
背景技术
随着人工智能技术的快速发展,汽车依靠人工智能、雷达及定位***等协同合作,实现自动驾驶。在自动驾驶中,通常会配置多个激光雷达,激光雷达用于探测车辆行驶过程中的路况和障碍物,把数据和信号传递给自动驾驶域,以便做出相应的驾驶动作。雷达在安装后需要标定外参数,目前一些方案中需要提前搭建特殊标定场地,在场地里摆放许多标靶,利用标靶分别标定两个雷达与第三方(比如车辆)的外参数,然后通过转换,来得到两个雷达之间外参数;该标定方式依赖特殊场地,标定效率不高。
因此,如何提高标定效率,成为亟待解决的问题。
发明内容
本申请实施例提供的一种外参数的标定方法、装置、车辆及计算机程序产品,用以提高标定效率。
本申请实施例提供一种外参数的标定方法,所述方法包括:
获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;所述预设时间段包括多个子时间段;
对于每个子时间段,基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数;
对于每两个待标定雷达,基于所述两个待标定雷达对应的各个子时间段的候选外参数,确定所述两个待标定雷达之间的目标外参数。
本申请实施例提供一种外参数的标定装置,包括:处理器和存储器;其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;所述处理器用于执行以下方法:
获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;所述预设时间段包括多个子时间段;
对于每个子时间段,基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数;
对于每两个待标定雷达,基于所述两个待标定雷达对应的各个子时间段的候选外参数,确定所述两个待标定雷达之间的目标外参数。
在一些实现方式中,上述处理器执行的方法形成程序后,各个程序功能模块对应的硬件执行模块可包括:数据获取模块、第一标定模块和第二标定模块:
数据获取模块,用于获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;所述预设时间段包括多个子时间段;
第一标定模块,用于对于每个子时间段,基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数;
第二标定模块,用于对于每两个待标定雷达,基于所述两个待标定雷达对应的各个子时间段的候选外参数,确定所述两个待标定雷达之间的目标外参数。
可选的,所述各待标定雷达的初始外参数为所述各待标定雷达相对于所述导航设备的外参数;
所述装置还包括参数构建模块,用于通过如下方式构建所述初始外参数:
基于连续的至少一个子时间段的导航数据,分别将各待标定雷达在所述至少一个子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第二拼接点云;
分别基于各待标定雷达对应的第二拼接点云中地面点云的厚度,获取所述各待标定雷达相对于所述导航设备的外参数。
可选的,所述参数构建模块具体用于:
针对每个待标定雷达,分别执行以下操作:
基于所述至少一个子时间段的导航数据,将所述待标定雷达在所述至少一个子时间段采集的点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得所述待标定雷达对应的第二拼接点云。
可选的,所述参数构建模块具体用于:
针对每个待标定雷达,分别执行以下操作:
将所述待标定雷达对应的第二拼接点云划分为多个二维网格,每个二维网格中包含多个点云数据;
基于所述每个二维网格中的点云数据,获得所述每个二维网格对应的点云高度的方差;
基于所述每个二维网格对应的点云高度的方差,将所述第二拼接点云中的地面点云的厚度中最小地面点云的厚度,对应的外参数作为所述待标定雷达相对于所述导航设备的外参数。
可选的,所述第一标定模块具体用于:
对于每个待标定雷达,分别执行以下操作:
基于所述待标定雷达的初始外参数,获得所述待标定雷达相对于所述导航设备的预标定参数;所述预标定参数表征所述待标定雷达相对于所述导航设备的位置和姿态;
基于所述预标定参数及所述子时间段的导航数据,将所述子时间段的点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得所述待标定雷达对应的第一拼接点云。
可选的,所述第一标定模块还用于通过如下方式确定各待标定雷达对应的第一拼接点云之间的地面共视区域:
将所述各待标定雷达对应的第一拼接点云转换至同一坐标系,获得所述各待标定雷达对应的目标拼接点云;
对于每两个待标定雷达,基于所述两个待标定雷达对应的目标拼接点云,确定所述两个待标定雷达对应的第一拼接点云之间的地面共视区域。
可选的,所述第一标定模块具体用于:
基于所述子时间段对应的所述各第一拼接点云之间的各地面共视区域,分别获得所述子时间段对应的所述各地面共视区域的法向量;
对于每两个待标定雷达,通过对齐所述两个待标定雷达对应的地面共视区域的法向量,获得所述子时间段对应的所述两个待标定雷达之间的候选外参数。
可选的,所述第二标定模块具体用于:
将所述每个子时间段对应的所述两个待标定雷达之间的候选外参数,进行滤波处理,获得所述两个待标定雷达之间的目标外参数。
可选的,所述第一标定模块具体用于:
基于所述两个待标定雷达对应的地面共视区域的法向量,获得两个法向量之间的夹角及旋转轴;
基于所述两个法向量之间的夹角及旋转轴,获得所述两个待标定雷达之间的旋转矩阵;
基于所述两个待标定雷达之间的旋转矩阵,获得所述两个待标定雷达之间的候选外参数。
一种车辆,所述车辆包括待标定雷达、导航设备,以及如上述任一项所述的外参数的标定装置。
一种计算机程序产品,包括计算机程序,当所述计算机程序被处理器执行时实现上述任一项所述的方法。
可选的,计算机可读存储介质可以作为上述计算机程序产品的一种实现方式,即本申请实施例还提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序被处理器执行时实现如上述任一项所述的方法。
一种电子设备,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种外参数的标定方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种外参数的标定方法、装置、车辆及计算机程序产品。在本申请实施例中,借助于导航设备,获得各雷达的拼接点云,并通过对齐各雷达的拼接点云之间的地面共视区域,以获取雷达之间的共视拼接点云,从而实现各雷达间外参数的标定。在该方式下,对标定的场地没有特殊要求,即无需搭建特殊的标定场地,有效提高了标定效率。并且,本申请在此基础上,以子时间段为粒度,对雷达进行多次标定,根据多次标定的结果来确定出每两个雷达之间的目标外参数,基于此还可保证外参数标定的准确性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本申请实施例中的应用场景示意图;
图2为本申请实施例中的一种外参数的标定方法的实施流程图;
图3为本申请实施例中的一种第二拼接点云A的示意图;
图4为本申请实施例中的一种拼接点云划分网格的示意图;
图5为本申请实施例中的一种地面共视区域法向量的示意图;
图6为本申请实施例中的一种滤波处理的示意图;
图7为本申请实施例中的一种外参数的标定方法的具体实施流程示意图;
图8为本申请实施例中的一种外参数的标定装置的组成结构示意图;
图9为本申请实施例中的一种电子设备的组成结构示意图;
图10为应用本申请实施例的一种计算装置的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
针对目前雷达标定效率低的问题,本申请中提供了一种外参数的标定方法及装置,该方法及装置不需要对标定的场地没有特殊要求,即无需搭建特殊的标定场地,就能够实现各雷达间的外参数的标定,有效提高了标定效率。
进一步的,目前基于按照激光雷达共同视野的大小,可将激光雷达的安装位置可以分为两类,一类是激光雷达间有较大共同视野的安装,称为共视安装;另一类是激光雷达间共视范围很小的安装,称之为弱共视安装。弱共视安装的两个激光雷达无法直接利用共视特征做匹配,通常采用间接标定方案,来标定两雷达间的外参数,如,可以分别对两个雷达做SLAM,通过对齐基于SLAM获得的两个雷达的轨迹,完成两个雷达间的外参数标定。
而本申请中借助于导航设备,获得各雷达的拼接点云,可实现对各雷达进行预标定,进一步的在预标定的基础上进行精细标定;因此,本申请的外参数的标定方法及装置还可更好的应用于激光雷达的弱共视安装场景。进一步的,在无需借助特殊的场地的情况下,该外参数的标定方法可在车辆使用过程中实时标定。该标定过程更可有效解决车辆在使用过程中,激光雷达安装位置的机械结构发生的微小变化后,通过激光雷达实时标定实现外参数的自我校正。后文通过具体场景和示例对本发明的外参数的标定方法及装置进行详细说明。
下面对本申请实施例中涉及的部分概念进行介绍。
雷达(lidar):是利用电磁波探测目标的电子设备。雷达发射电磁波对目标进行照射并接收其回波,由此获得目标至电磁波发射点的距离、距离变化率(径向速度)、方位、高度等信息。在本申请中,雷达是指激光雷达,安装在车辆上,用于探测车辆行驶过程中的路况和障碍物。
弱共视及弱共视安装:弱共视是指共同视野很小,雷达间共视范围很小的安装,称之为弱共视安装。
组合导航***(Integrated Navigation System,INS):导航即引导运载体航行,组合导航***是将车辆、飞机和舰船等运载体上的两种或两种以上的导航设备组合在一起的导航***,它是一种用以解决导航定位、运动控制、设备标定对准等问题的信息综合***,可以提供车辆运行轨迹。由于每种单一导航***都有各自的独特性能和局限性,如果把几种不同的单一***组合在一起,就能利用多种信息源,互相补充,构成一种有多维度和导航准确度更高的多功能***。
外参数:包括旋转参数和位置参数,其中,位置参数指两坐标系转换时,新坐标系原点在原坐标系中的坐标分量。旋转参数指两坐标系转换时,把原坐标系中的各坐标轴左旋转到与新坐标系相应的坐标轴重合或平行时坐标系各轴依次转过的角度,包括但不限于偏航角(yaw)、俯仰角(pitch)和滚动角(roll)。本申请实施例中涉及了初始外参数、候选外参数及目标外参数。其中,初始外参数是指各待标定雷达与导航设备(如组合导航***)之间的俯仰角和滚动角,本申请中的每两个待标定雷达可作为一组,每两个待标定雷达之间可获取相应的初始外参数,如:pitch_1和roll_1、pitch_2和roll_2,候选外参数是指各子时间段对应的这两个待标定雷达之间的俯仰角和滚动角。目标外参数是指将同一组待标定雷达对应的各个候选外参数进行一定处理获得的,针对这两个待标定雷达之间的俯仰角和滚动角。
预标定:是指通过导航设备(如INS),获得各待标定雷达相对于INS之间的俯仰角和滚动角的过程。
精细标定:是指通过对齐各待标定雷达之间的地面共视区域,获得各待标定雷达之间目标外参数的过程。
点云数据:是指雷达扫描得到的空间点的数据集,每个点都包含了三维坐标信息,该三维坐标信息为雷达坐标系下的坐标信息,可记作(X,Y,Z),其中,Z坐标表示点云的高度。本申请涉及了第二拼接点云、第一拼接点云及目标拼接点云,其中,第二拼接点云是指在预标定过程中,由待标定雷达扫描的多个雷达帧点云数据拼接获得的拼接点云;第一拼接点云是指在精细标定过程中,由待标定雷达扫描的多个雷达帧点云数据拼接获得的拼接点云;目标拼接点云是指在精细标定过程中,将世界坐标系下的第一拼接点云转换至雷达坐标系下,获得的拼接点云。
导航数据:是指由导航设备(如INS)提供的在世界坐标系下的旋转参数和位置参数。
目标导航数据:是指在精细标定过程中,由导航设备(如INS)提供的INS相对于世界坐标系的旋转参数和位置参数。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
参阅图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括一个电子设备110、一个导航设备120和两个雷达130。
导航设备120和雷达130安装在车辆上,其中,导航设备120用于在车辆行驶过程中采集导航数据,雷达130用于在车辆行驶过程中采集点云数据,由电子设备110获取导航设备120采集的导航数据,获取雷达130采集的点云数据,进而,基于这些数据进行预标定和精细标定,获得各待标定雷达之间的目标外参数。
需要说明的是,本申请各实施例中的外参数的标定方法可以由电子设备110执行,该电子设备110可以为终端设备或者服务器,即,该方法可以由终端设备或服务器单独执行,也可以由终端设备和服务器共同执行。
在本申请实施例中,终端设备包括但不限于笔记本电脑、台式电脑等设备;终端设备上可以安装有外参数标定相关的客户端,该客户端可以是软件(例如浏览器、标定软件等),也可以是网页、小程序等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选的,电子设备110也可同导航设备120和雷达130一样,安装在车辆上。
在一种可选的实施方式中,电子设备110与导航设备120及各雷达130之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上电子设备和雷达的数量不受限制,在本申请实施例中不做具体限定。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的外参数的标定装置,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图2所示,其为本申请实施例提供的一种外参数的标定方法的实施流程图,以终端设备为执行主体为例,该方法的具体实施流程包括如下步骤S201-S203:
S201:获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;预设时间段包括多个子时间段。
例如,待标定雷达在车辆行驶过程中将采集的点云数据进行缓存,导航设备在车辆行驶过程中将采集的导航数据进行缓存,以终端设备作为执行主体时,终端设备可通过与待标定雷达、导航设备分别进行通信,获取在预设时间段内的点云数据和导航数据。
其中,在步骤S201中,导航设备和待标定雷达都可以安装在车辆上,该导航设备可以是单一导航设备,还可以是由多个导航设备组合得到的组合导航***,本文不做具体限定。下文主要是以导航设备为INS为例的,其他导航设备同样适用,在此不再一一赘述。
本申请实施例中,待标定雷达可以指激光雷达,安装在车辆上,用于探测车辆行驶过程中的路况和障碍物;其中,待标定雷达的数量为至少两个。当待标定雷达有三个及以上时,每两个待标定雷达之间都可采用本申请提供的外参数的标定方法来进行外参数标定。下面本申请以待标定雷达的数量为2为例,为了进行简单的区分,涉及的各待标定雷达可记作雷达1和雷达2,下文主要以雷达1和雷达2为例进行详细介绍。
点云数据是指雷达扫描得到的空间点的数据集,每个点都包含了三维坐标信息,该三维坐标信息为雷达坐标系下的坐标信息。组合导航***可包括多个导航设备,可以提供车辆运行轨迹。导航数据是指由INS提供的在世界坐标系下的旋转参数和位置参数,其中,旋转参数包括但不限于偏航角、俯仰角和滚动角;位置参数是指两坐标系转换时,新坐标系原点在原坐标系中的坐标分量。
本申请中,外参数的标定主要研究旋转参数中的俯仰角和滚动角;雷达1和雷达2在安装时的相对位置可以通过安装设计图获得,或者可以通过工具测量获得。
其中,预设时间段包括多个子时间段,每个子时间段内雷达扫描若干帧雷达点云,每帧雷达点云中包含若干个雷达点。如第一个子时间段为t0~t1k,第二个子时间段为t1k~t2k,...,第n个子时间段为t(n-1)k~tnk。
具体的,子时间段可按照预设时长步长划分,如每隔T0秒划分得到一个子时间段;还可按照预设行驶距离划分,如每行驶指定距离P0,则将该段距离的行驶时间段划分为一个子时间段,等等,本文不做具体限定。
以预设时间段包括10个子时间段为例,即第一个子时间段为t0~t1k,第二个子时间段为t1k~t2k,...,第10个子时间段为t9k~t10k。获取雷达1及雷达2在这10个子时间段内分别采集的点云数据,并获取组合导航***在这10个子时间段内采集的导航数据。
需要说明的是,上述所列举的预设时间段包括子时间段的数量只是简单的举例说明,本文不做具体限定。
S202:对于每个子时间段,基于子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐各待标定雷达对应的第一拼接点云之间的地面共视区域,获得各待标定雷达之间的候选外参数。
S203:对于每两个待标定雷达,基于两个待标定雷达对应的各个子时间段的候选外参数,确定两个待标定雷达之间的目标外参数。
需要说明的是,本申请实施例中的外参数的标定方法,可用于计算任意两个雷达之间的外参数,而两个雷达之间的外参数,也即雷达间的相对外参数,如雷达1和雷达2之间的外参数,即雷达1相对于雷达2的外参数。
其中,各待标定雷达的初始外参数可以是通过多种方式得到的,可以是预设的初始值,如参考每个待标定雷达相对于导航设备的安装位置进行预设,该方式下,每个待标定雷达对应的初始外参数可以相同也可以不同;还可以根据经验或实验数据设置,还可以随机预设等,该方式下,每个待标定雷达对应的初始外参数也可以相同也可以不同。此外,还可根据导航设备采集的导航数据以及待标定雷达采集的点云数据计算得到。
一种可选的实施方式为,各待标定雷达的初始外参数是指各待标定雷达相对于导航设备的外参数,如俯仰角和滚动角。
在本申请实施例中,通过INS,获得各待标定雷达相对于INS的俯仰角和滚动角的过程,也可称作预标定。一种可选的预标定方式如下:
首先,基于连续的至少一个子时间段的导航数据,分别将各待标定雷达在该至少一个子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第二拼接点云;进而,分别基于各待标定雷达对应的第二拼接点云中地面点云的厚度,获取各待标定雷达相对于导航设备的外参数。
具体地,连续的至少一个子时间段是指一个子时间段(如t0~t1k),或者连续的多个子时间段(如t0~t2k、t3k~t6k)。第二拼接点云是指在预标定过程中,由待标定雷达扫描的多个雷达帧点云数据拼接获得的拼接点云。
考虑到本申请实施例中,预标定的过程即计算各个待标定雷达相对于导航设备的外参数的过程,而每个待标定雷达所采集的点云数据都是各雷达自身坐标系下的,因而,在将点云数据进行拼接之前,还可进行坐标系的转换,将各个待标定雷达的点云数据由各自的雷达坐标系,转换至统一的世界坐标系下。
一种可选的实施方式为,针对每个待标定雷达,分别执行以下操作:
基于至少一个子时间段的导航数据,将连续的至少一个子时间段的各点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得各待标定雷达各自对应的第二拼接点云。
以t3k~t6k连续的三个子时间段为例,基于这三个子时间段的导航数据,将这三个子时间段的雷达1点云数据及雷达2点云数据由雷达坐标系转换至世界坐标系,获得雷达1对应的第二拼接点云A和雷达2对应的第二拼接点云B。在车辆正常行驶过程中,子时间段的点云数据可不断的进行转换和计算,实现实时预标定,无场地和外界环境限制。
考虑到对于弱共视安装的两个雷达,在同一时刻,单对雷达帧之间几乎没有共视区域,本申请可以通过拼接若干帧点云的方式来构造共视区域,基于此可以解决弱共视问题,得到雷达间共视拼接点云,从而可以利用点云地面对齐进行标定计算。
以雷达1为例,遍历t3k~t6k连续的三个子时间段的雷达1点云数据中的所有雷达点,即可获得雷达1对应的第二拼接点云A。
其中,每个雷达点的拼接过程都可参阅如下公式:
;
上述公式中,为t时刻INS坐标系相对于世界坐标系的旋转参数和位置参数,例如,可以是一个4*4的矩阵,该数据由INS提供;/>为雷达1坐标系相对于INS坐标系的旋转参数和位置参数,例如,可以是一个4*4的矩阵,其中,pitch和roll是雷达1相对于INS俯仰角和滚动角,在雷达1和INS安装时会提供pitch和roll的初始值,位置参数和yaw认为是已知的;/>:表示t时刻雷达1扫描到的雷达帧中,第i个雷达点相对于雷达1坐标系的坐标;/>表示t时刻雷达1扫描到的雷达帧中,第i个雷达点相对于世界坐标系的坐标。
需要说明的是,上述公式列举的是拼接一个雷达点的过程,可以遍历所有点云,完成整体点云拼接。
参阅图3所示,其为本申请实施例提供的一种第二拼接点云A的示意图,在该图中,通过选取车辆轨迹附近区域内的t3k~t6k连续的三个子时间段的雷达1点云,进行雷达1点云的拼接,获得相应的第二拼接点云A。
同样地方式,可获得t3k~t6k连续的三个子时间段内雷达2对应的第二拼接点云B。
需要说明的是,上述所列举的t3k~t6k连续的三个子时间段只是简单的举例说明,本文不做具体限定。
进而,基于各待标定雷达各自的第二拼接点云中地面点云的厚度,获取各待标定雷达各自对应的初始外参数。
其中,地面点云的厚度表征因受到外参数影响,多帧点云在拼接时,会使得地面分层错位,有一定的厚度。如,外参数精度越高,地面点云的厚度就越薄。因此,可以通过优化拼接点云中地面点云的厚度,来计算各待标定雷达各自对应的初始外参数。
一种可选的实施方式为,对于各待标定雷达各自的第二拼接点云,分别执行以下操作,以获得各待标定雷达各自对应的初始外参数:
①将待标定雷达对应的第二拼接点云划分为多个二维网格,每个二维网格中包含多个点云数据;
②基于每个二维网格中的点云数据,获得每个二维网格对应的点云高度的方差;
③基于每个二维网格对应的点云高度的方差,将第二拼接点云中的地面点云的厚度中最小地面点云的厚度,对应的外参数作为待标定雷达对应的初始外参数。
具体地,以雷达1对应的第二拼接点云A为例。参阅图4所示,其为本申请实施例提供的一种拼接点云划分网格的示意图,在该图中,将第二拼接点云A划分成多个二维网格,每个二维网格中包括多个点云数据。第i个网格记为grid_i,第i个网格中点云高度的均值公式为:
;
公式中,n表示第i个网格中的雷达点的个数,Zp表示第i个网格中第p个雷达点的点云高度。
根据第i个网格中点云高度的均值Zmean_i,可计算第i个网格中点云高度的方差,公式为:
;
公式中,Vargrid_i为第i个网格中点云高度的方差。
根据第i个网格中点云高度的方差Vargrid_i,可计算第二拼接点云A的地面点云的厚度,公式为:
;
公式中,Cost(pitch,roll)为地面点云的厚度,pitch和roll精度越高,Cost(pitch,roll)就越小,地面点云厚度也就越薄。
当Cost(pitch,roll)最小时,可获得雷达1相对于INS的外参数,即pitch_1和roll_1。同样地,可获得雷达2相对于INS的外参数,即pitch_2和roll_2。
此外,还可以在优化拼接点云的过程汇总,通过滤波等二次处理来筛选一些不可用点,以提高计算效率,本文不做具体限定。
在上述方式中,预标定只需要进行一次,大约需要2-3秒,即通过借助INS拼接点云,并分别与雷达1和雷达2进行预标定,可获得雷达1和雷达2分别相对于INS的外参数,如上述列举的俯仰角和滚动角初值:pitch_1、pitch_2,roll_1、roll_2。
基于上述实施方式,无需对各雷达做SLAM,可以在很短的时间内,快速获得两个雷达与第三方的INS之间的外参数(即初始外参数),这样,后续通过转换即可获得两个雷达之间的外参数(即目标外参数),有效解决弱共视雷达之间外参数中俯仰角和滚动角的计算问题。
并且,上述实施过程不对场地有依赖,更有利于实现在线实时标定。
在此基础上,基于初始外参数,经过若干次精细标定即可获得雷达1和雷达2之间的目标外参数。每次精细标定对应一个子时间段。
具体地,每一次精细标定是指通过对齐各待标定雷达之间的地面共视区域,获得各待标定雷达之间的候选外参数的过程。而每两个待标定雷达之间的目标外参数,则是基于这两个待标定雷达对应的各个子时间段的候选外参数确定的。
考虑到,基于上述方式所获得的初始外参数是指各待标定雷达相对于导航设的外参数,如雷达1相对于INS的pitch_1、roll_1,雷达2相对于INS的pitch_2、roll_2。而在步骤S202和S203中,需要确定的候选外参数或目标外参数则是指各待标定雷达之间的外参数,因而还需要将各待标定雷达统一至同一坐标系,以便获取雷达之间的共视拼接点云,进而,则可以在共视的基础上,利用点云地面对齐进行目标外参数的标定。
具体的,初始外参数为各待标定雷达相对于同一个第三方的外参数,基于该参数作为中间参考量,即可将各待标定雷达的拼接点云转换至同一坐标系下。
在同一坐标系下则可构造雷达之间的共视区域(例如图5所示),基于此解决弱共视问题;在获取到雷达间共视区域的基础上,则可通过对齐地面共视区域来求取雷达间的目标外参数,具体实施过程在下文会有举例说明,在此不再重复赘述。
在本申请实施例中,精细标定可以有多轮,具体是基于对预设时间段划分得到的多个子时间段来实现的,每一个子时间段可对应一轮精细标定。以预设时间段包括10个子时间段为例,也即,精细标定的次数为10次。
需要说明的是,上述所列举的精细标定的次数只是简单的举例说明,本文不做具体限定。
下面对每个子时间段内,对每个待标定雷达进行精细标定的过程进行详细说明:
在一种可选的实施方式中,步骤S202中获得各待标定雷达对应的第一拼接点云时的一种可选的实施方式包括如下子步骤S2021~S2022(图2中未示出),在当前子时间段,对于每个待标定雷达,分别执行以下操作:
S2021:基于待标定雷达的初始外参数,获得该待标定雷达相对于导航设备的预标定参数;该预标定参数表征待标定雷达相对于导航设备的位置和姿态。
具体地,位置是指位置参数,即两坐标系转换时,新坐标系原点在原坐标系中的坐标分量,如待标定雷达所在的雷达坐标系与INS所在的坐标系转换时,INS所在的坐标系原点在雷达坐标系中的坐标分量。姿态是指旋转参数,即两坐标系转换时,把原坐标系中的各坐标轴左旋转到与新坐标系相应的坐标轴重合或平行时坐标系各轴依次转过的角度,包括但不限于偏航角、俯仰角和滚动角。由位置和姿态构成了一个4*4矩阵,也即,预标定参数可以是一个4*4的矩阵。
根据雷达1相对于INS的初始外参数pitch_1和roll_1,获得雷达1相对于INS的预标定参数,根据雷达2相对于INS的初始外参数pitch_2和roll_2,获得雷达2相对于INS的预标定参数/>。/>
S2022:基于预标定参数及当前子时间段的目标导航数据,将当前子时间段的目标点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得该待标定雷达对应的第一拼接点云。
其中,目标导航数据是指在精细标定过程中,由INS提供INS相对于世界坐标系的旋转参数和位置参数。第一拼接点云是指在精细标定过程中,由待标定雷达扫描的多个雷达帧点云数据拼接获得的拼接点云。
具体地,以当前子时间段t0~t1k为例,该子时间段内雷达扫描5帧雷达点云,每帧雷达点云中包含若干个雷达点。基于预标定参数和t0~t1k子时间段的目标导航数据,将雷达1扫描的5帧雷达1点云数据由雷达1坐标系转换至世界坐标系,从而获得雷达1对应的第一拼接点云。基于预标定参数/>和t0~t1k子时间段的目标导航数据,将雷达2扫描的5帧雷达2点云数据由雷达2坐标系转换至世界坐标系,从而获得雷达2对应的第一拼接点云。
需要说明的是,上述所列举的当前子时间段和雷达扫描帧数量只是简单的举例说明,本文不做具体限定。
最后,将各待标定雷达各自的第一拼接点云转换至同一坐标系,获得各待标定雷达各自的目标拼接点云;对于每两个待标定雷达,基于这两个待标定雷达对应的目标拼接点云,即可确定两个待标定雷达对应的第一拼接点云之间的地面共视区域,也可称作是这两个待标定雷达对应的目标拼接点云之间的地面共视区域。
其中,目标拼接点云是指在精细标定过程中,将世界坐标系下的第一拼接点云转换至雷达坐标系下,获得的拼接点云。
具体地,将雷达1在世界坐标系下的第一拼接点云A和雷达2在世界坐标系下的第一拼接点云B,分别转换至雷达1坐标系下。
如,将雷达1对应的第一拼接点云A转换至雷达1坐标系下,公式为:
;
公式中,为INS坐标系相对于雷达1坐标系的旋转参数和位置参数(注:即/>),/>为雷达1所在的世界坐标系相对于INS坐标系的旋转参数和位置参数,/>为雷达1在世界坐标系下的拼接点云,/>为雷达1在雷达1坐标系下的拼接点云,即为雷达1对应的目标拼接点云A'。
如,将雷达2对应的第一拼接点云B转换至雷达1坐标系下,公式为:
;
公式中为INS坐标系相对于雷达1坐标系的旋转参数和位置参数,为雷达2所在的世界坐标系相对于INS坐标系的旋转参数和位置参数,为雷达2在世界坐标系下的拼接点云,即为雷达2对应的第一拼接点云B,/>为雷达2在雷达1坐标系下的拼接点云,即为雷达2对应的目标拼接点云B'。
依次遍历目标拼接点云A'中的雷达点,分别在目标拼接点云B'中找到最近的雷达点,将这些最近的雷达点集合视为地面共视区域,雷达1的目标拼接点云A'的地面共视区域为A",雷达2的目标拼接点云B'的地面共视区域为B"。
基于上述方式,可获得雷达1和雷达2之间的各地面共视区域,然后通过对齐各地面共视区域,可获得雷达1和雷达2之间的目标外参数。
在本申请实施例中,通过对齐各地面共视区域,获得各待标定雷达之间的候选外参数时,一种可选的实施方式如下:
①基于每个子时间段对应的各目标拼接点云之间的各地面共视区域,分别获得每个子时间段对应的各地面共视区域对应的法向量。
具体地,仍以子时间段t0~t1k为例,通过点云库(Point Cloud Library,PCL)拟合地面共视区域的法向量。其中,拟合后的雷达1的目标拼接点云A'的地面共视区域为A"对应的法向量为法向量1(normal_1);拟合后的雷达2的目标拼接点云B'的地面共视区域为B"对应的法向量为法向量2(normal_2)。
参阅图5所示,其为本申请实施例提供的一种地面共视区域法向量的示意图。在该图中,地面共视区域A"的法向量为normal_1,地面共视区域B’的法向量为normal_2,normal_1与normal_2之间的夹角为角度(theta)。
②通过对齐每个子时间段对应的各法向量,获得每个子时间段对应的各待标定雷达之间的候选外参数。
一种可选的实施方式如下:
首先,基于各地面共视区域对应的法向量,获得各法向量之间的夹角及旋转轴。
其次,基于各法向量之间的夹角及旋转轴,获得各待标定雷达之间的旋转矩阵。
最后,基于各待标定雷达之间的旋转矩阵,获得各待标定雷达之间的候选参数。
仍以图5所示为例,两个法向量之间的夹角公式为:
;
公式中,|normal_1|为normal_1的模长,|normal_2|为normal_2的模长。
两个法向量之间的旋转轴公式为:
;
通过上述公式,获得两个法向量之间的夹角和旋转轴,可以计算雷达1和雷达2之间的旋转矩阵,公式为:
;
其中,为旋转轴/>的转置,skew为反对称矩阵算子,I为单位矩阵。
在本申请实施例中,该单位矩阵I与旋转矩阵R的维度相同,例如,旋转矩阵R为三维矩阵时,单位矩阵也是三维矩阵,即I为3*3的单位矩阵,本文对此不做具体限定。
最后,基于雷达1和雷达2之间的旋转矩阵,可获得子时间段t0~t1k对应的雷达1和雷达2之间的候选外参数,即pitch1和roll1。
基于上述同样地方式,可获得t1k~t2k子时间段分别对应的雷达1和雷达2之间的候选外参数,即pitch2和roll2,...,t9k~t10k子时间段分别对应的雷达1和雷达2之间的候选外参数,即pitch10和roll10。
在本申请实施例中,基于上述实施方式即可获得每两个待标定雷达之间的多个候选外参数,基于此,步骤S203的一种可选的实施方式如下:
对于每两个待标定雷达,将每个子时间段对应的这两个待标定雷达之间的候选外参数,进行滤波处理,获得这两个待标定雷达之间的目标外参数。
参阅图6所示,其为本申请实施例提供的一种滤波处理的示意图。在该图中,以中值滤波为例,将上述10组雷达1和雷达2之间的候选外参数进行滤波处理,从这10组候选外参数中选择处于中间的数值,从而获得雷达1和雷达2之间的目标外参数,即pitch和roll。
例如,雷达1与雷达2在各子时间段对应的候选外参数,分别记作:pitch1和roll1,pitch2和roll2,pitch3和roll3,...,pitch10和roll10。
其中,在选择处于中间的数值时,考虑到外参数有两个,分别为pitch、roll,可仅选择其中一个数值处于中间的一组候选外参数,如pitch1至pitch10中,数值处于中间的为pitch3,则可将pitch3和roll3作为雷达1与雷达2之间的目标外参数。或者,如roll1至roll10中,数值处于中间的为roll5,则可将pitch5和roll5作为雷达1与雷达2之间的目标外参数。
再或者,可将10个pitch值和10个roll值分别进行比较,选取位于中间的pitch3作为目标pitch,选取位于中间的roll5作为目标roll。
再或者,除了上述中值滤波方式外,还可采用均值滤波的方式,计算这10组候选外参数的均值,作为目标外参数。如将10个pitch值计算均值pitch0,作为目标pitch,将10个roll值计算均值roll0,作为目标roll,等等。
需要说明的是,上述所列举的方式只是简单举例,任何一种基于多个候选外参数,确定目标外参数的方式都适用于本申请实施例,在此不再一一赘述。
在上述方式中,精细标定需要进行若干次,每次需要小于50ms的时间,如设置需要10次精细标定,考虑到预标定只需要计算一次,大约需要2-3秒,则一整轮标定(含一次预标定和10次精细标定)只需要7-8秒的时间。基于此,则可以根据平台算力,合理安排标定频次,实现外参数的实时标定。即通过对齐雷达1和雷达2之间的各地面共视区域,并对多组结果进行滤波处理,完成了雷达1和雷达2之间外参数的实时标定,激光雷达安装位置的机械结构发生的微小变化后,通过激光雷达实时标定可实现外参数的自我校正。
需要说明的是,本申请提出的标定方法并未对场地有特殊要求,不依赖特殊标定场地(如专用标定间),也即,本申请中的标定是可以利用自然场景来实现的,如在普通的道路上即可完成,更具有普适性和实时性。
此外需要说明的是,本文是以待标定雷达的数量为2(如雷达1和雷达2)为例进行详细介绍的。在涉及三个及以上雷达的情况下,则可采用与计算雷达1和雷达2之间目标外参数同样的方式,分别计算每两个待标定雷达之间的目标外参数。
以有5个待标定雷达(记作雷达1~雷达5)为例,在本申请实施例中,可基于各雷达对应的初始外参数,将这5个待标定雷达的拼接点云转换至同一坐标系,这里的同一坐标系可以是这5个待标定雷达中的任意一个雷达对应的雷达坐标系(例如都转换至雷达1对应的雷达坐标系,又如都转换至雷达2对应的雷达坐标系),继而再分别计算每两个待标定雷达之间的目标外参数。
又或者,还可先将这5个雷达两两分组,然后针对每组待标定雷达,分别基于该组待标定雷达对应的两个初始外参数,将该组待标定雷达的拼接点云转换至同一坐标系后,获得该组待标定雷达之间的目标外参数;这里的同一坐标系可以是该组待标定雷达中任意一个雷达对应的雷达坐标系,如雷达1和雷达2这一组中,除了以上述实施例中的方式统一至雷达1坐标系外,还可采用类似的方式统一至雷达2坐标系,又如雷达2和雷达3这一组中,可统一至雷达2或雷达3对应的任意一个雷达坐标系下,依此类推即可。
需要说明的是,在统一至同一坐标系后,计算每组待标定雷达之间目标外参数的方式都可参阅上述实施例,如通过对齐同组雷达各自对应的目标拼接点云之间的地面共视区域的方式进行若干次精细标定,以获得该组雷达之间的目标外参数,重复之处不再赘述。
参与图7所示,其为本申请实施例中的一种外参数的标定方法的具体实施流程示意图,该方法的具体实施流程如下:
S701:获取雷达1、雷达2和INS在各个时间段内采集的雷达1点云数据、雷达2点云数据和导航数据;
S702:基于连续的至少一个时间段内的导航数据,获得雷达1对应的第二拼接点云A和雷达2对应的第二拼接点云B;
S703:遍历第二拼接点云A和第二拼接点云B中的地面点云的厚度,分别获得雷达1相对于INS的外参数及雷达2相对于INS的外参数;
S704:基于该外参数及当前子时间段的目标导航数据,获得当前子时间段的雷达1对应的第一拼接点云A和雷达2对应的第一拼接点云B;
S705:将第一拼接点云A和第一拼接点云B转换至雷达1对应的坐标系下,分别获得目标拼接点云A'及目标拼接点云B';
S706:基于目标拼接点云A'及目标拼接点云B',获得目标拼接点云之间的地面共视区域A"和地面共视区域B";
S707:对齐地面共视区域A"和地面共视区域B",获得当前子时间段下雷达1和雷达2之间的候选外参数;
S708:判断是否达到精细标定次数,若是,则执行S709,否则,返回S704;
S709:对每个子时间段对应的候选外参数,进行滤波处理,获得雷达1和雷达2之间的目标外参数。
需要说明的是,上述所列举的实施流程只是简单的举例说明,与其相关的任何一种外参数的标定方法的具体实施流程都适用于本申请实施例,在此不再一一赘述。
基于相同的发明构思,本申请还提供一种外参数的标定装置。该外参数的标定装置,包括:处理器和存储器;其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;所述处理器用于执行以下方法:
获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;所述预设时间段包括多个子时间段;对于每个子时间段,基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数;对于每两个待标定雷达,基于所述两个待标定雷达对应的各个子时间段的候选外参数,确定所述两个待标定雷达之间的目标外参数。
在一些实现方式中,上述处理器执行的方法形成程序后,各个程序功能模块对应的硬件执行模块可包括:数据获取模块801、第一标定模块802和第二标定模块803,如图8所示,其中:
数据获取模块801,用于获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据。
所述预设时间段包括多个子时间段;
第一标定模块802,用于对于每个子时间段,基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数;
第二标定模块803,用于对于每两个待标定雷达,基于所述两个待标定雷达对应的各个子时间段的候选外参数,确定所述两个待标定雷达之间的目标外参数。
可选的,所述各待标定雷达的初始外参数为所述各待标定雷达相对于所述导航设备的外参数;
所述装置还包括参数构建模块804,用于通过如下方式构建所述初始外参数:
基于连续的至少一个子时间段的导航数据,分别将各待标定雷达在所述至少一个子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第二拼接点云;
分别基于各待标定雷达对应的第二拼接点云中地面点云的厚度,获取所述各待标定雷达相对于所述导航设备的外参数。
可选的,所述参数构建模块804具体用于:
针对每个待标定雷达,分别执行以下操作:
基于所述至少一个子时间段的导航数据,将所述待标定雷达在所述至少一个子时间段采集的点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得所述待标定雷达对应的第二拼接点云。
可选的,所述参数构建模块804具体用于:
针对每个待标定雷达,分别执行以下操作:
将所述待标定雷达对应的第二拼接点云划分为多个二维网格,每个二维网格中包含多个点云数据;
基于所述每个二维网格中的点云数据,获得所述每个二维网格对应的点云高度的方差;
基于所述每个二维网格对应的点云高度的方差,将所述第二拼接点云中的地面点云的厚度中最小地面点云的厚度,对应的外参数作为所述待标定雷达相对于所述导航设备的外参数。
可选的,所述第一标定模块802具体用于:
对于每个待标定雷达,分别执行以下操作:
基于所述待标定雷达的初始外参数,获得所述待标定雷达相对于所述导航设备的预标定参数;所述预标定参数表征所述待标定雷达相对于所述导航设备的位置和姿态;
基于所述预标定参数及所述子时间段的导航数据,将所述子时间段的点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得所述待标定雷达对应的第一拼接点云。
可选的,所述第一标定模块802还用于通过如下方式确定各待标定雷达对应的第一拼接点云之间的地面共视区域:
将所述各待标定雷达对应的第一拼接点云转换至同一坐标系,获得所述各待标定雷达对应的目标拼接点云;
对于每两个待标定雷达,基于所述两个待标定雷达对应的目标拼接点云,确定所述两个待标定雷达对应的第一拼接点云之间的地面共视区域。
可选的,所述第一标定模块802具体用于:
基于所述子时间段对应的所述各第一拼接点云之间的各地面共视区域,分别获得所述子时间段对应的所述各地面共视区域的法向量;
对于每两个待标定雷达,通过对齐所述两个待标定雷达对应的地面共视区域的法向量,获得所述子时间段对应的所述两个待标定雷达之间的候选外参数。
可选的,所述第二标定模块803具体用于:
将所述每个子时间段对应的所述两个待标定雷达之间的候选外参数,进行滤波处理,获得所述两个待标定雷达之间的目标外参数。
可选的,所述第一标定模块802具体用于:
基于所述两个待标定雷达对应的地面共视区域的法向量,获得两个法向量之间的夹角及旋转轴;
基于所述两个法向量之间的夹角及旋转轴,获得所述两个待标定雷达之间的旋转矩阵;
基于所述两个待标定雷达之间的旋转矩阵,获得所述两个待标定雷达之间的候选外参数。
基于相同的发明构思,本申请还提供一种车辆,该车辆包括待标定雷达、导航设备,以及如上述任意一种外参数的标定装置。具体的,待标定雷达包括但不限于如下至少一种:激光雷达、毫米波雷达、摄像头,这些雷达及摄像头可安装在车身的前部、顶部、尾部等位置,不做限制。还可包括车载显示屏、动力电池等等现有的电动汽车或混动汽车的所设置的结构和设备,此处不再赘述。
在介绍了本申请示例性实施方式的外参数的标定装置和方法之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,电子设备的结构可以如图9所示,包括存储器901,通讯模块903以及一个或多个处理器902。
存储器901,用于存储处理器902执行的计算机程序。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器901可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器901也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器901是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器901可以是上述存储器的组合。
处理器902,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器902,用于调用存储器901中存储的计算机程序时实现上述外参数的标定方法。
通讯模块903用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器901、通讯模块903和处理器902之间的具体连接介质。本申请实施例在图9中以存储器901和处理器902之间通过总线904连接,总线904在图9中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线904可以分为地址总线、数据总线、控制总线等。为便于描述,图9中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器901中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的外参数的标定方法。处理器902用于执行上述的外参数的标定方法,如图2所示。
下面参照图10来描述根据本申请的这种实施方式的计算装置1000。图10的计算装置1000仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10,计算装置1000以通用计算装置的形式表现。计算装置1000的组件可以包括但不限于:上述至少一个处理单元1001、上述至少一个存储单元1002、连接不同***组件(包括存储单元1002和处理单元1001)的总线1003。
总线1003表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元1002可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1021和/或高速缓存存储器1022,还可以进一步包括只读存储器(ROM)1023。
存储单元1002还可以包括具有一组(至少一个)程序模块1024的程序/实用工具1025,这样的程序模块1024包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置1000也可以与一个或多个外部设备1004(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置1000交互的设备通信,和/或与使得该计算装置1000能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1005进行。并且,计算装置1000还可以通过网络适配器1006与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1006通过总线1003与用于计算装置1000的其它模块通信。应当理解,尽管图中未表示出,可以结合计算装置1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
本申请实施例还提供一种计算机程序产品,包括计算机程序,当计算机程序被处理器执行时实现上述任意一种外参数的标定方法。例如,本申请中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、OAM或者其它可编程装置。
可选的,计算机可读存储介质可以作为上述计算机程序产品的一种实现方式,即本申请实施例还提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序被处理器执行时实现如上述任意一种外参数的标定方法。
例如,所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种外参数的标定方法,其特征在于,所述方法包括:
获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;所述预设时间段包括多个子时间段;所述各待标定雷达的安装位置为弱共视安装;
对于每个子时间段,基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数;
对于每两个待标定雷达,将所述每个子时间段对应的所述两个待标定雷达之间的候选外参数,进行滤波处理,获得所述两个待标定雷达之间的目标外参数;
所述各待标定雷达对应的第一拼接点云之间的地面共视区域是通过如下方式确定的:
将所述各待标定雷达对应的第一拼接点云转换至同一坐标系,获得所述各待标定雷达对应的目标拼接点云;对于每个待标定雷达,依次遍历所述待标定雷达对应的目标拼接点云中的雷达点,并在每个其他待标定雷达各自对应的目标拼接点云中,分别获取与所述待标定雷达对应的目标拼接点云中的各雷达点的距离最近的各个待组合雷达点;基于所述各个待组合雷达点,分别构造所述待标定雷达对应的第一拼接点云与所述每个其他待标定雷达各自对应的第一拼接点云之间的地面共视区域。
2.如权利要求1所述的方法,其特征在于,所述各待标定雷达的初始外参数为所述各待标定雷达相对于所述导航设备的外参数;
所述初始外参数是通过如下方式构建的:
基于连续的至少一个子时间段的导航数据,分别将各待标定雷达在所述至少一个子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第二拼接点云;
分别基于各待标定雷达对应的第二拼接点云中地面点云的厚度,获取所述各待标定雷达相对于所述导航设备的外参数。
3.如权利要求2所述的方法,其特征在于,所述基于连续的至少一个子时间段的导航数据,分别将各待标定雷达在所述至少一个子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第二拼接点云,包括:
针对每个待标定雷达,分别执行以下操作:
基于所述至少一个子时间段的导航数据,将所述待标定雷达在所述至少一个子时间段采集的点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得所述待标定雷达对应的第二拼接点云。
4.如权利要求2所述的方法,其特征在于,所述分别基于各待标定雷达对应的第二拼接点云中地面点云的厚度,获取所述各待标定雷达相对于所述导航设备的外参数,包括:
针对每个待标定雷达,分别执行以下操作:
将所述待标定雷达对应的第二拼接点云划分为多个二维网格,每个二维网格中包含多个点云数据;
基于所述每个二维网格中的点云数据,获得所述每个二维网格对应的点云高度的方差;
基于所述每个二维网格对应的点云高度的方差,将所述第二拼接点云中的地面点云的厚度中最小地面点云的厚度,对应的外参数作为所述待标定雷达相对于所述导航设备的外参数。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云,包括:
对于每个待标定雷达,分别执行以下操作:
基于所述待标定雷达的初始外参数,获得所述待标定雷达相对于所述导航设备的预标定参数;所述预标定参数表征所述待标定雷达相对于所述导航设备的位置和姿态;
基于所述预标定参数及所述子时间段的导航数据,将所述子时间段的点云数据由雷达坐标系转换至世界坐标系,并进行拼接,获得所述待标定雷达对应的第一拼接点云。
6.如权利要求1至4中任一项所述的方法,其特征在于,所述通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数,包括:
基于所述子时间段对应的所述各第一拼接点云之间的各地面共视区域,分别获得所述子时间段对应的所述各地面共视区域的法向量;
对于每两个待标定雷达,通过对齐所述两个待标定雷达对应的地面共视区域的法向量,获得所述子时间段对应的所述两个待标定雷达之间的候选外参数。
7.如权利要求6所述的方法,其特征在于,所述通过对齐所述两个待标定雷达对应的地面共视区域的法向量,获得所述子时间段对应的所述两个待标定雷达之间的候选外参数,包括:
基于所述两个待标定雷达对应的地面共视区域的法向量,获得两个法向量之间的夹角及旋转轴;
基于所述两个法向量之间的夹角及旋转轴,获得所述两个待标定雷达之间的旋转矩阵;
基于所述两个待标定雷达之间的旋转矩阵,获得所述两个待标定雷达之间的候选外参数。
8.一种外参数的标定装置,其特征在于,包括:处理器和存储器;其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;所述处理器用于执行以下方法:
获取预设时间段内各待标定雷达各自采集的点云数据,和导航设备采集的导航数据;所述预设时间段包括多个子时间段;所述各待标定雷达的安装位置为弱共视安装;
对于每个子时间段,基于所述子时间段的导航数据以及各待标定雷达的初始外参数,分别将各待标定雷达在所述子时间段采集的点云数据进行拼接,获得各待标定雷达对应的第一拼接点云;通过对齐所述各待标定雷达对应的第一拼接点云之间的地面共视区域,获得所述各待标定雷达之间的候选外参数;
对于每两个待标定雷达,将所述每个子时间段对应的所述两个待标定雷达之间的候选外参数,进行滤波处理,获得所述两个待标定雷达之间的目标外参数;
所述各待标定雷达对应的第一拼接点云之间的地面共视区域是通过如下方式确定的:
将所述各待标定雷达对应的第一拼接点云转换至同一坐标系,获得所述各待标定雷达对应的目标拼接点云;对于每个待标定雷达,依次遍历所述待标定雷达对应的目标拼接点云中的雷达点,并在每个其他待标定雷达各自对应的目标拼接点云中,分别获取与所述待标定雷达对应的目标拼接点云中的各雷达点的距离最近的各个待组合雷达点;基于所述各个待组合雷达点,分别构造所述待标定雷达对应的第一拼接点云与所述每个其他待标定雷达各自对应的第一拼接点云之间的地面共视区域。
9.一种车辆,其特征在于,所述车辆包括待标定雷达、导航设备,以及如权利要求8所述的外参数的标定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310389034.3A CN116148823B (zh) | 2023-04-12 | 2023-04-12 | 一种外参数的标定方法、装置、车辆及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310389034.3A CN116148823B (zh) | 2023-04-12 | 2023-04-12 | 一种外参数的标定方法、装置、车辆及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116148823A CN116148823A (zh) | 2023-05-23 |
CN116148823B true CN116148823B (zh) | 2023-09-19 |
Family
ID=86341022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310389034.3A Active CN116148823B (zh) | 2023-04-12 | 2023-04-12 | 一种外参数的标定方法、装置、车辆及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116148823B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111739103A (zh) * | 2020-06-18 | 2020-10-02 | 苏州炫感信息科技有限公司 | 一种基于单点标定物的多相机标定*** |
CN113640756A (zh) * | 2021-08-11 | 2021-11-12 | 北京航迹科技有限公司 | 一种数据标定方法、***、装置、计算机程序以及存储介质 |
CN114814798A (zh) * | 2022-03-11 | 2022-07-29 | 北京主线科技有限公司 | 一种外参标定方法及*** |
CN114966576A (zh) * | 2022-05-07 | 2022-08-30 | 深圳元戎启行科技有限公司 | 基于先验地图的雷达外参标定方法、装置和计算机设备 |
CN114966578A (zh) * | 2022-05-23 | 2022-08-30 | 深圳元戎启行科技有限公司 | 基于拍摄设备的雷达外参标定方法、装置和计算机设备 |
WO2022205644A1 (zh) * | 2021-03-29 | 2022-10-06 | 上海商汤临港智能科技有限公司 | 一种目标检测方法、装置、计算机设备和存储介质 |
WO2022246812A1 (zh) * | 2021-05-28 | 2022-12-01 | 上海高仙自动化科技发展有限公司 | 定位方法、装置、电子设备及存储介质 |
CN115546023A (zh) * | 2022-09-26 | 2022-12-30 | 合众新能源汽车有限公司 | 一种点云拼接方法、装置、电子设备及存储介质 |
-
2023
- 2023-04-12 CN CN202310389034.3A patent/CN116148823B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111739103A (zh) * | 2020-06-18 | 2020-10-02 | 苏州炫感信息科技有限公司 | 一种基于单点标定物的多相机标定*** |
WO2022205644A1 (zh) * | 2021-03-29 | 2022-10-06 | 上海商汤临港智能科技有限公司 | 一种目标检测方法、装置、计算机设备和存储介质 |
WO2022246812A1 (zh) * | 2021-05-28 | 2022-12-01 | 上海高仙自动化科技发展有限公司 | 定位方法、装置、电子设备及存储介质 |
CN113640756A (zh) * | 2021-08-11 | 2021-11-12 | 北京航迹科技有限公司 | 一种数据标定方法、***、装置、计算机程序以及存储介质 |
CN114814798A (zh) * | 2022-03-11 | 2022-07-29 | 北京主线科技有限公司 | 一种外参标定方法及*** |
CN114966576A (zh) * | 2022-05-07 | 2022-08-30 | 深圳元戎启行科技有限公司 | 基于先验地图的雷达外参标定方法、装置和计算机设备 |
CN114966578A (zh) * | 2022-05-23 | 2022-08-30 | 深圳元戎启行科技有限公司 | 基于拍摄设备的雷达外参标定方法、装置和计算机设备 |
CN115546023A (zh) * | 2022-09-26 | 2022-12-30 | 合众新能源汽车有限公司 | 一种点云拼接方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116148823A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111413721B (zh) | 车辆定位的方法、装置、控制器、智能车和*** | |
US11698262B2 (en) | Method and apparatus for generating route planning model, and storage medium | |
CN109655826B (zh) | 一种低慢小目标轨迹滤波方法及装置 | |
KR102548282B1 (ko) | 고정밀도 맵 작성 방법 및 장치 | |
CN111638511A (zh) | 基于信号融合的多雷达空间配准的协同探测方法及装置 | |
CN113920258A (zh) | 地图生成方法、装置、介质及电子设备 | |
CN116148823B (zh) | 一种外参数的标定方法、装置、车辆及计算机程序产品 | |
CN115016435A (zh) | 一种自动驾驶车辆测试方法、装置、***、设备和介质 | |
CN110887490B (zh) | 一种激光定位导航的关键帧选取方法、介质、终端和装置 | |
CN112753000A (zh) | 避障方法、可移动平台、控制设备和存储介质 | |
CN110413177B (zh) | 一种用于电子书翻页的方法与设备 | |
CN116342677A (zh) | 一种深度估计方法、装置、车辆及计算机程序产品 | |
EP4180836A1 (en) | System and method for ultrasonic sensor enhancement using lidar point cloud | |
WO2022199659A1 (en) | Environment driven solar power management | |
US20230194315A1 (en) | Rotary encoder calibration | |
CN112492513B (zh) | 一种可信的定位信息方法及装置 | |
CN114398455A (zh) | 异构多机器人协同slam地图融合方法 | |
CN114347024A (zh) | 机器人速度的调整方法、装置、机器人和存储介质 | |
CN114677284A (zh) | 地图构建方法、装置、电子设备及存储介质 | |
CN110501704B (zh) | 一种全极化图像极化分解方法、装置及存储介质 | |
JP2021101372A (ja) | 位置検出方法、装置、機器及び読み取り可能な記憶媒体 | |
CN116030212B (zh) | 一种建图方法、设备、车辆及存储介质 | |
EP4258766A1 (en) | Data processing method and apparatus | |
CN116039956B (zh) | 一种基于蒙特卡洛树搜索的航天器序列博弈方法、装置及介质 | |
CN117896620B (zh) | 监控装置的控制方法、控制装置及监控*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |