2. 视觉系统基础
机器人视觉误差调试的前提,是透彻理解视觉系统如何将三维物理世界映射为二维图像数据。绝大多数调试场景——无论是坐标偏差、镜头畸变还是光照变化——其根源都可以追溯到坐标系转换关系、成像模型假设与实际物理过程的偏离。本节将系统梳理相机成像的针孔模型、四大坐标系的定义与转换链路,并给出工程调试中常用的参数矩阵与标定思路。
2.1 针孔成像模型:理想投影的数学描述
针孔模型是相机成像的最基本近似。它假设光线沿直线传播,经过相机光心(针孔)后在像平面上形成倒立的实像。在实际工程中,我们通常将像平面虚拟到光心前方,形成正立虚像,以便于数学表达。设空间点 P(Xc, Yc, Zc) 在相机坐标系下的坐标为已知,其投影到归一化平面(Zc = 1)上的坐标为:
x' = Xc / Zc
y' = Yc / Zc
随后通过内参矩阵将归一化坐标映射到像素坐标:
u = fx * x' + cx
v = fy * y' + cy
其中 fx = f / dx,fy = f / dy,f 为焦距(mm),dx、dy 分别为单个像素在 x、y 方向的物理尺寸(mm/pixel)。cx、cy 为主点(光轴与像平面交点)的像素坐标。fx、fy、cx、cy 以及畸变参数共同构成相机的内参,需要通过标定获得。
2.2 四大坐标系的定义与物理含义
机器人视觉系统涉及四个层级递进的坐标系,理解每个坐标系的原点和单位是调试坐标偏差的前提。
| 坐标系 | 原点 | 单位 | 维度 | 典型用途 |
|---|---|---|---|---|
| 世界坐标系 (Xw, Yw, Zw) | 用户自定义(如机器人基座、工作台角点) | mm 或 m | 3D | 机器人运动规划、工件定位 |
| 相机坐标系 (Xc, Yc, Zc) | 相机光心 | mm 或 m | 3D | 描述物体相对相机的空间位置 |
| 图像坐标系 (x, y) | 光轴与像平面交点(主点) | mm | 2D | 物理单位下的投影位置 |
| 像素坐标系 (u, v) | 图像左上角 | pixel | 2D | 图像处理、特征提取 |
四个坐标系之间的转换关系构成完整的成像链路。世界坐标到相机坐标的变换属于刚体变换,包含旋转矩阵 R(3×3)和平移向量 t(3×1),统称为外参。相机坐标到像素坐标的变换由内参矩阵 K 决定。整体转换公式为:
Zc * [u, v, 1]^T = K * [R | t] * [Xw, Yw, Zw, 1]^T
该公式是视觉引导、手眼标定、三维重建等所有上层算法的基石。调试坐标偏差时,首先需要确认是外参(安装位置变动)还是内参(镜头松动、温度漂移)发生了变化。
2.3 坐标系转换的工程实现与标定流程
在实际机器人视觉系统中,坐标转换的精度直接决定抓取或装配的定位精度。标准的标定流程包括以下步骤:
- 棋盘格或圆点标定板准备:打印高精度标定板,粘贴在平面玻璃或铝板上,确保平整度。
- 采集多角度图像:在视场内不同位置、不同姿态下采集 15~20 张标定板图像,覆盖画面中心和边缘。
- 角点提取:使用 OpenCV 的
findChessboardCorners或findCirclesGrid提取特征点。 - 内参标定:调用
calibrateCamera计算内参矩阵 K 和畸变系数。 - 外参标定(手眼标定):若相机安装在机器人末端,需进行 eye-in-hand 标定;若相机固定安装,则进行 eye-to-hand 标定。常用方法为 AX=XB 求解。
- 重投影误差验证:计算所有角点的重投影误差,通常要求小于 0.1 pixel。
2.4 案例拆解:坐标偏差从 8mm 降到 0.5mm 的调试过程
背景与约束:某汽车零部件装配线,使用固定安装的工业相机(500万像素,8mm 镜头)引导六轴机器人抓取放置于托盘上的金属壳体。要求定位精度 ±1mm。现场反馈抓取偏差约 8mm,且越靠近图像边缘偏差越大。
初始现象与关键数据:
- 图像中心区域抓取偏差约 3mm,边缘区域偏差达 8mm。
- 重投影误差 0.35 pixel,超出 0.1 pixel 的验收标准。
- 相机安装高度 800mm,视野范围 600mm×450mm。
分析判断过程:边缘偏差大于中心,且重投影误差偏大,首先怀疑镜头畸变校正不充分。进一步检查发现,现场工程师在标定时只采集了 8 张图像,且全部集中在视野中心区域,导致边缘畸变参数估计不准。此外,相机镜头锁紧环松动,导致焦距发生微变。
实际操作步骤:
- 重新采集 20 张标定图像,覆盖整个视野,包括四角和边缘。
- 使用 OpenCV 重新标定,获得新的内参矩阵和畸变系数。
- 检查镜头锁紧环,重新固定后再次标定。
- 在图像处理管线中加入
undistort步骤,对实时图像进行畸变校正。 - 重新进行手眼标定,更新外参矩阵。
结果对比:重投影误差从 0.35 pixel 降至 0.06 pixel;实际抓取测试中,中心区域偏差降至 0.3mm,边缘区域偏差降至 0.5mm,满足 ±1mm 的工艺要求。
风险与代价:重新标定耗时约 40 分钟,期间产线停机。后续为防止镜头松动,在镜头锁紧环处增加螺纹胶,并建立每周一次的标定校验制度。
复盘经验:标定质量直接决定视觉引导精度。标定图像的数量、姿态多样性、覆盖范围缺一不可。任何涉及镜头物理接触的操作(清洁、更换滤镜、锁紧环调整)后,都必须重新标定。
2.5 常见误区与总结复盘
- 忽略畸变校正:在广角镜头或大视野场景中,直接使用针孔模型会导致边缘误差急剧放大。
- 内参外参混淆:相机安装位置变动后只重新标定内参,忘记更新外参,导致坐标转换错误。
- 标定板不平整:使用弯曲或褶皱的标定板,引入系统性误差。
- 忽略温度影响:工业现场温度变化会导致镜头焦距漂移,高精度场景需考虑恒温措施或定期复标。