工业视觉中的 XY 标定(也常被称为“手眼标定”或“九点标定”),核心目的是建立相机像素坐标系与机械物理坐标系(XY平台或机械臂)之间的精准映射关系。
简单来说,就是让机器“看懂”相机拍到的物体,到底在机械平台的哪个具体位置上,从而实现精准的抓取、组装或检测。
核心原理:为什么要做 XY 标定?
工业相机拍到的画面是二维的“像素坐标 (u, v)”,而机械手或滑台运动需要的是真实的“物理坐标 (X, Y)”(单位通常是 mm 或脉冲)。
由于相机安装可能存在倾斜、镜头存在畸变,且像素和毫米之间没有直接的固定比例,因此必须通过“标定”来求出一个转换矩阵。通过这个矩阵,就能把视觉识别到的像素位置,精准地换算成机械能听懂的物理位置。
️ 主流方案:九点标定法(最常用)
在平面运动(XY轴,Z轴固定或变化极小)的自动化设备中,九点标定法是行业标准方案。
具体实施步骤如下:
1. 准备标定板:制作或购买一块高精度的标定板(通常是玻璃光刻或陶瓷材质),上面有 3x3 均匀分布的 9 个 Mark 点(圆点或十字)。
2. 采集数据:
固定相机,移动平台:控制 XY 运动平台,依次将标定板上的 9 个 Mark 点移动到相机的视野中心(或固定十字光标处)。
记录坐标:每对准一个点,记录下此时的机械物理坐标 (Xw, Yw) 和该点在图像中的像素坐标 (u, v)。这样就得到了 9 组一一对应的坐标数据。
3. 算法求解:将这 9 组数据输入算法(如最小二乘法),计算出一个 3x3 的单应性矩阵 (Homography Matrix, H)。这个矩阵就是像素坐标通往物理坐标的“翻译字典”。
4. 精度验证:通常会再取第 10 个点进行测试,通过矩阵换算出的物理坐标与实际机械坐标对比,误差通常要求控制在极小范围内(如半导体行业要求≤1/5像素)。
关键细节:像素到脉冲的转换
在真实的工业设备中,机械运动控制卡接收的往往不是毫米 (mm),而是脉冲 (pulse)。因此,完整的坐标转换链条是:
像素坐标 (Pixel) → 物理坐标 (mm) → 脉冲坐标 (Pulse)
最终的工业级计算公式通常长这样:
X_target = X_stage + (pixelX - centerX) * scale * pulse_per_mm
X_stage:当前平台的机械坐标。
pixelX - centerX:目标偏离图像中心的像素距离。
scale:每个像素代表的实际毫米数(mm/pixel)。
pulse_per_mm:电机每走 1 毫米需要的脉冲数。
进阶场景与避坑指南
大视野测量(拼接标定):如果视野非常大,单张照片拍不全,可以采用“分区标定”。将标定板铺满整个大区域,控制相机在不同位置拍照,建立一张“平台坐标 -> 局部转换关系”的映射表。测量时,系统根据当前平台位置自动调用对应的转换参数,这样即使运动平台的绝对定位不准,也能依靠标定板的高精度实现精准测量。
相机与执行机构的偏移补偿:很多时候,相机的中心和实际干活的机构(如冲针、吸嘴、点胶头)不在同一个位置。在标定时,必须额外计算并加上这个固定的物理偏移量(Offset),否则机器永远会“差之毫厘,谬以千里”。
环境稳定性:标定完成后,镜头、光源、相机的相对位置绝对不能发生变动。车间的强烈振动或温度剧烈变化都可能导致标定失效,需要定期重新校准。