一、内参标定:激光雷达内部参数的标定原理与方法

大家好,我是老张。今天咱们聊聊激光雷达的内参标定。

说实话,很多工程师一听到「标定」两个字就头大。觉得这东西又枯燥又难搞。但我个人觉得,内参标定其实是整个多传感器融合里最「实在」的一环。你想想看,外参标定搞错了,大不了重来一次。内参要是出厂就有偏差,或者使用中发生了漂移,那后面所有数据都是错的。

嗯,咱们先搞清楚一件事:激光雷达的内参到底是什么?

1.1 内参到底包含什么?

说白了,内参就是描述激光雷达自身几何结构的参数。我习惯把它分成三类:

  • 旋转轴参数:激光雷达的旋转中心在哪儿?轴是不是歪的?
  • 俯仰角参数:每个激光发射器在垂直方向上的角度偏移。
  • 水平偏移参数:每个激光发射器在水平方向上的位置偏差。

你可能会问:「厂家不是给出厂标定好了吗?」

对,但我在项目中遇到过好几次——新拆封的激光雷达,内参表里写的俯仰角跟实际扫描出来的点云对不上。尤其是那些16线、32线的机械式雷达,用了一段时间后,电机磨损、结构松动,内参就变了。

1.2 旋转轴标定:找到那个「圆心」

旋转轴标定,说白了就是找到激光雷达的旋转中心在哪儿。

机械式激光雷达是靠电机带着整个激光头旋转的。理想情况下,旋转轴应该跟激光雷达的几何中心完全重合。但现实是——

  • 电机安装有公差
  • 轴承有间隙
  • 长期使用后磨损

这些都会导致旋转轴偏移。

标定方法

我个人习惯用「平面拟合法」。具体来说:

  1. 把激光雷达固定好,正对着一个平整的墙面。
  2. 采集一帧完整的点云数据。
  3. 对每个激光束扫描到的墙面点,拟合出一个平面方程。
  4. 理论上,所有激光束扫描同一个平面,应该得到同一个平面方程。如果旋转轴有偏差,不同激光束拟合出的平面就会有差异。
  5. 通过优化算法,找到让所有平面方程一致性最高的旋转轴参数。

核心公式

假设旋转轴偏移量为 (dx, dy),则每个点的坐标修正为:

x' = x - dx
y' = y - dy

优化目标:所有激光束拟合的平面法向量夹角最小。

我的经验

我曾经在项目里遇到一个情况——标定出来的旋转轴偏移量只有0.3毫米,当时觉得「这么小,不管了吧」。结果融合后的点云跟相机图像总是对不上。后来发现,0.3毫米的轴偏移,在50米外会带来将近15厘米的位置误差。所以,别小看任何偏差。

1.3 俯仰角标定:每个激光头的「抬头低头」

俯仰角,就是每个激光发射器在垂直方向上的角度。

你想想看,一个32线的激光雷达,有32个激光发射器。每个发射器在出厂时都有一个标称的俯仰角,比如-15°、-14°、-13°……一直到+15°。

但实际呢?

  • 每个激光管的焊接位置有误差
  • 透镜安装有偏差
  • 温度变化导致结构变形

这些都会让实际俯仰角跟标称值不一样。

标定方法

我常用的方法是「多平面标定法」:

  1. 在激光雷达前方不同距离处,放置3-5个已知高度的平面靶标。
  2. 每个靶标的高度和距离都精确测量。
  3. 激光雷达扫描这些靶标,记录每个激光束打到靶标上的位置。
  4. 根据几何关系,反算出每个激光束的实际俯仰角。

计算公式

θ_i = arctan( (h_i - H) / d_i )

其中:

  • θ_i:第i个激光束的实际俯仰角
  • h_i:激光束打到靶标上的高度
  • H:激光雷达的安装高度
  • d_i:靶标到激光雷达的水平距离

注意

俯仰角标定对环境要求很高。我曾经在户外做标定,风一吹靶标晃了一下,结果标出来的角度偏差了0.02°。别小看这0.02°,在100米处就是3.5厘米的误差。所以,我建议在室内无风环境下做,靶标要固定牢固。

1.4 水平偏移标定:激光头的「左右偏差」

水平偏移,指的是每个激光发射器在水平方向上的位置偏差。

这个参数很多人会忽略。你想想看,32个激光发射器排成一排,每个之间都有物理间距。这个间距虽然很小(通常只有几毫米),但在远距离测量时,影响就大了。

标定方法

水平偏移的标定,我习惯跟俯仰角标定一起做。用同一个多平面靶标系统,同时解算俯仰角和水平偏移。

具体来说:

  1. 使用已知几何特征的标定靶标(比如棋盘格或圆形靶标)。
  2. 激光雷达扫描靶标,提取每个激光束打在靶标上的特征点。
  3. 建立优化方程,同时求解俯仰角和水平偏移。

优化目标函数

min Σ || P_measured - P_predicted(θ, δ) ||²

其中:

  • P_measured:实际测量到的点云坐标
  • P_predicted:根据俯仰角θ和水平偏移δ预测的点云坐标
  • 优化变量:所有激光束的θ和δ

1.5 内参标定的完整流程

好了,我把整个流程串起来,给你一个可以直接用的步骤:

  1. 准备阶段:搭建标定环境,准备靶标,测量靶标位置。
  2. 数据采集:采集多组不同距离、不同角度的点云数据。
  3. 预处理:去除噪声点,提取靶标上的有效点云。
  4. 参数解算:用优化算法同时求解旋转轴、俯仰角、水平偏移。
  5. 验证:用标定后的参数重新投影点云,检查一致性。

避坑指南

我曾经犯过一个错误——只采集了一组数据就做标定。结果标出来的参数在近距离很准,远距离就飘了。后来我学乖了,至少采集5组不同距离的数据,覆盖5米到50米的范围。这样标出来的参数在全量程内都可靠。

1.6 内参标定的知识体系

下面这张图,是我自己总结的内参标定知识结构。你看一眼就能明白整个逻辑:

激光雷达内参标定知识体系 内参标定三大参数 旋转轴参数 俯仰角参数 水平偏移参数 平面拟合法 多平面标定法 联合优化法 数据采集 → 预处理 → 参数解算 → 验证 ⚠ 注意事项 多距离采集 | 无风环境 | 靶标固定 | 定期复标

1.7 总结

内参标定这件事,说难不难,说简单也不简单。关键是要理解每个参数背后的物理意义,以及它们对最终点云质量的影响。

我个人觉得,做内参标定最重要的不是算法多高级,而是态度要严谨。每一个0.01°的角度偏差,每一毫米的位置偏移,在远距离都会被放大。你想想看,自动驾驶的车在高速上跑,100米外的障碍物如果偏差了20厘米,那可能就是撞上还是躲开的区别。

好了,这一章的内容就到这里。记住一句话:内参标定是地基,地基不稳,上面盖什么都白搭。


公众号:蓝海资料掘金营,微信deep3321