钣金件圆孔对位视觉完整流程(机械臂抓取 + 视觉纠偏方案)
整体业务流程
机械臂先粗放钣金到视觉拍照工位(初始定位台) → 相机拍照 → 视觉算出钣金圆孔相对基准孔的 X/Y 平移偏移、R 旋转角度偏移 → 下发偏移补偿给机械臂 → 机械臂带动钣金二次微调,精准插入目标定位销 / 基准孔。(图像处理的流程:原图 → 灰度化 → 高斯模糊降噪 → 阈值二值化 → 形态学运算(开 / 闭运算)→ 轮廓 / 圆检测)
什么是开闭运算?
| 运算 | 顺序 | 核心功能 | 典型视觉用途 |
|---|---|---|---|
| 开运算 | 腐蚀→膨胀 | 消外部小白噪点、毛刺 | 去除钣金粉尘、表面反光亮点 |
| 闭运算 | 膨胀→腐蚀 | 填内部小黑缝隙、缺口 | 修复圆孔边缘划痕、闭合轮廓 |
腐蚀 Erode
膨胀 Dilate
完整标准执行流程
步骤1、设备标定
必须先首先统一相机坐标系和机械臂世界坐标系,否则计算出的偏移量机械臂无法直接使用。
- 手眼标定(眼在手上 / 眼固定两种,本场景相机固定,采用固定相机标定)
机械臂抓取标定板,移动到相机视野内多个点位拍照;
算法求解转换矩阵:把图像像素偏移,换算成机械臂可识别的世界坐标 mm 偏移、旋转角度 °。
- 基准模板采集
机械臂将钣金完美插入基准,此时拍照保存标准模板:
记录基准孔圆心坐标(世界坐标系原点 X0,Y0);
记录钣金圆孔标准圆心、标准角度 R0;后续所有工件都和这张标准图做对比,计算偏差。
- 图像像素物理刻度标定:1 像素 = 多少毫米。
步骤2、机械臂上料,工件到位触发拍照
步骤3、图像预处理(消除干扰,提升员工识别精度)
对原图做降噪、增强,避免油污、反光、划痕影响检测:
- 灰度化:彩色图转单通道灰度图,减少计算量;
- 滤波去噪:高斯模糊,过滤钣金表面毛刺、粉尘噪点;
- 阈值分割二值化:区分金属钣金背景与黑色圆孔,分离目标特征;
- 形态学开闭运算:消除小孔噪点、填补圆孔边缘缺口,让圆形轮廓完整。
步骤4、特征检测,提取钣金圆孔实际位置
核心目标:算出当前钣金圆孔圆心(X1,Y1)、钣金旋转角度 R1
- 遍历图像所有轮廓,筛选圆形轮廓,拟合得到圆孔亚像素级圆心坐标、半径;
- 同时提取钣金两条直边,计算钣金整体旋转角度 R1(防止圆孔圆形无法判断旋转)。
- 提前保存标准钣金模板,匹配当前工件,直接输出整体平移 + 旋转。
步骤5、计算相对偏移量
拿当前工件特征 和 标准基准模板做差值: 图像像素偏移:ΔPx = Px 标准 - Px 当前;ΔPy = Py 标准 - Py 当前;ΔR = R 标准 - R 当前;
通过手眼标定矩阵 + 像素刻度,像素偏移转为机械臂世界坐标偏移:
- X 轴补偿量 ΔX (mm)
- Y 轴补偿量 ΔY (mm)
- 旋转补偿角度 ΔR (°)
边界校验:设置最大允许偏移阈值(如 ±10mm、±5°)
偏移在阈值内:正常,下发补偿数据;
偏移超限:判定工件放歪 / 抓取掉落,视觉报警,通知机械臂下料重抓。
步骤6、视觉下发偏移数据给机械臂
步骤7、机械臂补偿运动,完成精准插孔
浙公网安备 33010602011771号