2. 激光三角测量原理与截面数据生成

激光轮廓传感器的核心任务,是把一条投射在物体表面的激光线,转换成一组具有物理尺寸的二维剖面点。理解这条链路,需要同时看清三件事:激光平面如何与物体相交形成光条、相机如何把光条成像到像素坐标、以及标定参数如何把像素坐标反算成真实的空间坐标。三者缺一不可,任何一环的误差都会直接进入最终的剖面点云。

一、激光平面投射与光条形成

传感器内部通常使用半导体激光器加柱面镜(或鲍威尔棱镜)产生扇形光束。柱面镜在一个方向上压缩、在另一个方向上扩展,使点光源变成一条张角固定的激光平面。这个平面以一定倾角投射到被测表面,与物体表面相交出一条亮线,即“光条”。

需要明确一个参照约定:本文统一采用传感器坐标系,原点位于传感器出光口中心,Z 轴沿传感器主光轴指向被测物,X 轴沿激光线展开方向,Y 轴由右手定则确定。激光平面在传感器坐标系中可表示为 aX + bY + cZ + d = 0,标定后 a、b、c、d 为已知常数。物体表面形状不同,光条在空间中的形状就不同——平面得到直线,圆柱得到椭圆弧,台阶得到带跳变的两段线。这正是轮廓测量的物理基础。

光条并非理想细线。受激光散斑、表面粗糙度和相机衍射限制,光条在图像上呈现为有一定宽度的灰度分布,其峰值位置才对应激光平面的真实交线。因此后续必须做“光条中心提取”,而不是简单取阈值边缘。

二、相机成像模型

相机采用针孔模型加镜头畸变。空间点 P 经镜头成像到图像平面,满足透视投影关系。设相机内参矩阵为 K,包含焦距 fx、fy 和主点 (cx, cy),则像素坐标 (u, v) 与相机坐标 (Xc, Yc, Zc) 的关系为:

u = f_x * X_c / Z_c + c_x
v = f_y * Y_c / Z_c + c_y

实际镜头存在径向畸变 k1、k2 和切向畸变 p1、p2,需先对像素做去畸变,再参与三角解算。相机与激光器之间的相对位姿由外参 R、T 描述,它把激光平面方程从传感器坐标系变换到相机坐标系。内参和外参共同构成标定文件,是解算的前提。

三、三角几何解算

三角测量的本质是“已知一个平面方程和一条视线,求交点”。对图像上提取到的光条中心点 (u, v),去畸变后得到归一化视线方向,该视线在相机坐标系中是一条过原点的射线。将激光平面方程经外参变换到相机坐标系后,与这条射线联立,即可解出唯一的空间交点。

设相机坐标系下激光平面为 a'X_c + b'Y_c + c'Z_c + d' = 0,视线方向为 (xn, yn, 1),代入得:

t = -d' / (a'*x_n + b'*y_n + c')
X_c = t * x_n,  Y_c = t * y_n,  Z_c = t

再经外参逆变换回到传感器坐标系,得到该点的 (X, Y, Z)。对光条上每一列像素重复此过程,就得到一条剖面点列。这里的关键是:Z 向高度由三角关系决定,X 向位置由像素列号决定,二者共同构成二维剖面。

激光三角测量与二维剖面点云生成链路 激光轮廓传感器 激光器 相机 激光平面 视线 被测表面(台阶轮廓) P1 P2 P3 三角解算 ① 光条中心提取 ② 像素去畸变 ③ 平面∩视线求交 ④ 外参逆变换 ⑤ 输出 (X, Z) 点列 二维剖面点云 {(X₁,Z₁),(X₂,Z₂)…} 精度影响因素: 激光散斑 · 表面反射率 · 光条宽度 · 镜头畸变 · 标定误差 · 遮挡与跳变 · 环境光

四、二维剖面点云生成过程

把上述解算按顺序串起来,就是一条完整的剖面生成流水线。以某次采集为例,假设传感器输出 1280×1024 的灰度图,激光线大致沿图像水平方向分布:

  1. 图像采集:相机曝光时间设为 200 μs,配合窄带滤光片抑制环境光,得到一帧含光条的灰度图。
  2. 光条中心提取:对每一列像素,在灰度峰值附近取若干行做灰度重心法,得到亚像素级的中心行坐标 vc。这一步把光条宽度带来的不确定性压缩到约 0.1 像素量级。
  3. 去畸变:用标定得到的 k1、k2、p1、p2 对 (u, vc) 做反向映射,得到理想像素坐标。
  4. 三角解算:按第三节公式逐列求交,得到该列对应的空间点 (X, Z)。
  5. 点列组织:按列号顺序排列所有点,形成一条有序的二维剖面点云。若某列未提取到有效光条(如被遮挡),则该位置标记为无效点,不参与后续拟合。

需要强调的是,单次采集得到的是一条二维剖面,而不是三维点云。要获得三维数据,必须让传感器与物体之间产生相对运动(平移或旋转),把多条剖面按运动方向拼接起来。因此本节聚焦的“截面数据生成”,是三维测量的基础单元。

五、精度影响因素与判断依据

剖面点的精度并非单一指标,而是由多个环节共同决定。实际调试时,可以按以下维度逐项排查:

影响因素作用机理典型表现改善方向
激光散斑相干光在粗糙表面干涉光条中心抖动、点列毛刺增大光斑、多帧平均
表面反射率高反光或黑色吸光光条过曝或信噪比低调整曝光、偏振片、喷涂显影剂
光条宽度离焦或表面倾斜中心提取偏差优化工作距离、灰度重心法
标定误差内参/外参/平面方程不准整体尺度偏差或弯曲高精度标定板、多姿态标定
遮挡与跳变台阶、深槽遮挡视线点列断裂、无效点多传感器、改变入射角
环境光杂散光进入相机背景灰度抬升窄带滤光片、遮光罩

判断剖面质量时,可以观察三个直观指标:一是点列的连续性,正常平面应得到近似直线,断裂处说明遮挡或提取失败;二是重复性,对同一静止目标连续采集 100 帧,同一列 Z 值的标准差应稳定在传感器标称重复精度附近(例如 5 μm 级);三是线性度,用标准量块或阶梯规比对,点列在已知高度处的偏差应落在允许范围内。若重复性差但线性度尚可,优先排查散斑与曝光;若整体偏移,则优先复查标定。

调试建议:先用白色哑光陶瓷平板做基准,确认光条中心提取稳定、点列平直;再换用实际工件,观察反射率和遮挡带来的变化。不要一上来就在复杂工件上找问题,否则很难区分是算法、标定还是表面特性导致的误差。

掌握这条从激光平面到二维剖面点的完整链路后,后续的标定、运动拼接和三维重建才有可靠的输入。剖面点的质量,直接决定了最终三维轮廓的可信度。