首页 > 其他分享 >基于标定板的lidar到车体的外参标定思路

基于标定板的lidar到车体的外参标定思路

时间:2024-08-07 14:23:36浏览次数:6  
标签:外参 标定 lidar 圆心 传感器 我们

基于标定板的lidar到车体的外参标定思路

1. 什么是lidar到车体的外参?

在机器人,自动驾驶等领域,要想载体能够自主导航,那我们就得赋予他们和人类似的能力,就是让他们知道,自己是谁,自己在哪,我们怎么才能去到哪的问题。
载体上有很多传感器,各个传感器都是从自己的视角来对周围环境进行观测,这个“自己的视角”就是标记自己是谁,也就是说在一个自动驾驶汽车上,我们会给各个传感器打上标签,来分别每种观测数据是来自谁; 那么多传感器能够帮助载体完成自主导航的任务,都从自己的视角来定位和感知,这些信息我们是不能直接用的,我们得把他们统一到同一个坐标系,这样才能弄清楚“自己在哪”的问题,不能说前视相机说障碍物离我还有一米半呢,放心往前开就完事了,可是算上车头,车子往前动一下可能就撞上了。这时候就需要标定相机和车体之间的外参,其他传感器同理。

附赠自动驾驶最全的学习资料和量产经验:链接

2. 为什么要做这个外参矫正?

这个问题,前面应该已经讲清楚了,如果不做外参标定,就相当于全车的各个传感器都认为自己是“车”,都基于他观测到的场景对车辆运动进行指挥,这显然是有问题的。举个简单的例子,我们人的触觉,视觉听觉这些传感器告诉我们所谓的“前后左右上下”这些方位,其实都是基于我们身体的坐标系的。当然我们的CPU处理能力很强,可以快速的在各个“坐标系”之间转换,我们能快速的知道,那个物体离我的手多远,离我的头大约几公分,周围有多少车辆,那些车辆接下来要做什么,我该采取什么样的行动,我们感觉很轻松写意的事情,在自动驾驶汽车来说可能就把他CPU干烧了。 扯远了,总之,在涉及多传感器融合,不管是定位还是感知,最后规划,都要把各个传感器观测到的信息,转到车体系这个坐标系,让车以自己的视角知道自己在哪,感知到了啥,如何做决策。

3. 怎么做这个外参矫正?

之前介绍过lidar到车体系自标定的思路,这个可以看我之前的自标定博客
今天再来介绍一种基于标定板的标定思路,不同于之前自标定,这种标定方案是依赖特殊设计的标志物来完成lidar和车体系的外参矫正。 其实这种依赖标志物进行标定的方案,精度应该更高,比如很多在标定间里做的标定都是这种方案。

标定间可以设计很多特征明显的标志物,这可以保证传感器采集数据时少引入额外的观测噪声;相比自动驾驶车辆在行驶过程中观测到的场景,标定间内的标志物是经过高精度设备测量过的,可以认为标定时对照的“真值”更加精确,;而且标定间内的场景固定,更加可控,能比较容易的实现更高精度,更一致的标定结果。 当然缺点也很明显,成本比较高。

3.1 标定思路

大家应该了解ICP吧,简单来说就是调整外参对齐两个坐标系内同时观测到的3D点。对于lidar和车系之间的外参,也可以使用ICP。于是我们就得知道某些车系和lidar系下的点坐标,然后调整外参对齐他们,“完全对齐”了这外参也就求解出来了。 于是我们现在应该解决如下几个问题:

  1. 点从哪来?

  2. 我们应该怎么设计标定板?

  3. lidar检测到那些点,也就是知道了那些点在lidar系上的坐标,那车体系下这些点坐标我们还是不知道啊。

好,我们一一来解决。

首先点从哪来,显然是标定板,所以我们要设计一款标定板。
其次,如何设计这款标定板?应该是便于lidar对我们要的那些点进行检测。 最后,如何得到这些点在车体系下的坐标。

lidar能够对点云中呈现明显特征的部分进行检测,所以为了让我们设计的标定板便于lidar对其进行检测,我们应该让标定板满足一些几何特征,比如圆形。很容易想到,我们要的是一些点,那么我们可以让lidar检测出这些圆心作为我们要ICP的点。
那么如何得到这些点在车体系下的坐标呢?这块比较复杂。
如果是土豪,可以设计好标定间的结构,固定车的位置,即已知车辆后轴中心相对于标定板的位置,再结合标定板上圆孔的位置,直接推算出那些圆心在车体系下的坐标。
我来说说我们的方案,我们相对没那么土豪,我们借助全站仪来辅助测量。

image

由于某些原因,上面的图比较模糊,大家凑活看,全站仪怎么使用,感兴趣的可以自行百度,我就简单介绍下如何得到车体系下的坐标:

  1. 我们可以通过全站仪同时打车辆上和标定板上的点,通过这些点可以得到全站仪和车体系之间的外参。

  2. 由于标定板尺寸是已知的,我们能够拿到那些圆心点在全站仪下的坐标,再通过外参就可以转换到车体系下。

好,至此我们的准备工作都已经完成了,接下来就是核心功能实现,一个是lidar对圆心的检测,一个就是ICP。其实ICP也不是多么难,这里就不介绍了。简单介绍下圆心怎么找。

3.2 lidar检测标定板上的圆心流程介绍

这里仅仅介绍一种思路。
核心思路:由于我们设计了上述标定板,四个圆心的尺寸以及结构信息我们都已经知道,利用这个约束,我们可以在lidar点云中寻找匹配。

于是流程为:接收lidar点云->点云预处理->提取标定板平面->将标定板平面旋转到与坐标系的某个平面平行->根据已知约束构建模版->拿这个模板在标定板平面上寻找匹配。

注意:将标定板平面旋转到与坐标系某个平面平行是必要的,除非你把你根据约束构建的模版旋转到标定板平面。

3.3 匹配过程

image

上图是找到圆心后的结果展示。 寻找圆心的过程也很简单,首先大体确定标定板中心位置,然后根据四个圆心位置构建约束(我这里是矩形),然后用这个矩形以各个方向旋转和平移来匹配四个圆的位置。

怎么才算匹配到了最好的位置? 当点云中的点落入以四个圆心,圆半径围成的圆内的点最少为最佳匹配。

下图为四个圆心在标定板上的移动过程展示:

image

下图是落入四个圆中点的个数统计趋势。

image

至此,找到圆心在lidar系下的坐标,结合之前得到的车体系下的坐标,做一个ICP,外参就求解出来了。

标签:外参,标定,lidar,圆心,传感器,我们
From: https://blog.csdn.net/NEON7788/article/details/140961877

相关文章

  • 气体检测仪标定的作用
    气体检测仪标定的主要作用是确保其准确度、可靠性和稳定性。通过标定,仪器可以获得准确的测量结果,及时纠正仪器误差,并保持长期的测量稳定性。此外,标定过程还可以帮助检测仪器的维护和保养,延长其使用寿命。气体检测仪标定的方法因仪器类型和测量需求而异。以下是几种常见的标定......
  • 4.10.2 radar2lidar标定
    4.10.2radar2lidar标定欢迎关注我的B站:https://space.bilibili.com/379384819欢迎交流学习,vx:18074116692参考教程:AbangLZU/SensorsCalibration:OpenCalib:AMulti-sensorCalibrationToolboxforAutonomousDriving(github.com)1.查看系统环境要运行本仿真程序,需要......
  • CLIP-DIY 论文解读:基于 CLIP 和无监督目标定位的语义分割
    CLIP-DIY是一种基于CLIP模型的开放词汇语义分割方法,特点是无需额外的训练或者像素级标注,即可实现高效、准确的分割效果。该方法主要利用CLIP模型在图像分类方面的强大能力,并结合无监督目标定位技术,实现开放词汇语义分割。在论文中,首先肯定了CLIP出现的重要意义,开启了开放......
  • 3.1、matlab双目相机标定实验
    1、双目相机标定原理及流程双目相机标定是将双目相机系统的内外参数计算出来,从而实现双目视觉中的立体测量和深度感知。标定的目的是确定各个摄像头的内部参数(如焦距、主点、畸变等)和外部参数(如相机位置、朝向等),以便将双目相机捕获的图像转换为三维空间坐标。双目相机标定的......
  • 【相机标定】标定板介绍以及优缺点分析
    【相机标定】标定板介绍以及优缺点分析背景介绍附赠自动驾驶最全的学习资料和量产经验:链接准确标定像机对于所有的机器/计算机视觉的成功应用都是非常重要的。然而,对于标定板,有不同的模式可供选择。为了方便进行选择,本文将解释每种方法的主要好处。标定板的选择,有Charu......
  • 多相机视觉系统的坐标系统标定与统一及其应用
    多相机视觉系统的坐标系统标定与统一及其应用导语:随着机器视觉应用的日益广泛,大幅面 多相机 视觉系统的需求越来越多,主要应用方向为大幅面高精度的定位与测量和场景拼接等。多相机视觉系统的难点在于多相机坐标系的统一. 可以分为两类,一是相机视野间无重叠部分,二是相......
  • 相机的标定
    代码部分#打开摄像头,将读取的视频保存在本地,名字叫output.avi#coding=utf-8importcv2ascvcap=cv.VideoCapture(0)#检查是否成功打开摄像头ifnotcap.isOpened():print("Cannotopencamera")exit()#获取摄像头帧的宽度和高度frame_width=int(cap.g......
  • 如何处理TensorFlow中的InvalidArgumentError:数据类型不匹配
    如何处理TensorFlow中的InvalidArgumentError:数据类型不匹配......
  • matlab相机内参标定
      1视频抽帧1是否要缩放2保存的文件夹名字不许有中文,自动创建文件夹3间隔帧数 #-*-coding:utf8-*-importcv2importosimportshutildefget_frame_from_video(video_name,save_path,interval,resize):cv2.namedWindow('Read_Image',cv2.WINDOW......
  • lidar3607.2 雷达点云数据处理软件功能介绍
    V7.2.220240511获取软件安装包联系邮箱:[email protected],资源源于网络,本介绍用于学习使用,如有侵权请您联系删除!1.平台修复对不包含枝下高特征的单木进行枝下高提取时,生成的treedb枝下高字段产生异常记录,查看属性表时软件崩溃的问题;2.林业修复使用treedb作为种子点进行......