4. 机器视觉系统选型与集成
视觉引导系统的精度上限,往往在选型阶段就已经被决定。相机、镜头、光源、标定板四者构成一条完整的成像与标定链路,任何一环与工况不匹配,都会在后续标定和抓取中表现为难以定位的误差。本节按“先定视野与精度、再定相机与镜头、再定光源、最后定标定板与硬件连接”的顺序展开,并给出可直接套用的选型计算与接线方案。
一、从视野与精度反推相机与镜头
选型的第一步不是挑相机,而是明确两个工况参数:视野FOV(需要看到的最大范围,含工件与容差余量)和最小检测特征(如定位孔直径、边缘、Mark点尺寸)。由此得到所需分辨率:
所需像素数 ≈ 最小特征尺寸 / 允许的像素当量
经验法则:最小特征至少占 3~5 个像素,定位类应用建议 ≥5 像素
示例(教学假设):
FOV = 300 mm × 200 mm,要求定位精度 0.1 mm
若按 5 像素/特征,则像素当量 ≈ 0.02 mm/px
横向像素 ≥ 300 / 0.02 = 15000 px
→ 单相机难以覆盖,需 2 台 500 万像素(2448×2048)相机分区,或改用 1200 万像素相机 + 缩小 FOV
确定分辨率后选相机。全局快门(Global Shutter)是机器人引导的默认选择,因为工件或机器人在曝光期间移动时,卷帘快门会产生几何畸变,直接影响定位。接口方面,GigE Vision 布线长、成本低,适合工位分散;USB3 Vision 带宽高、延迟低,适合单机高帧率;Camera Link 多用于高速线阵或高分辨率面阵。帧率需满足节拍:若机器人抓取节拍为 2 s/件,相机帧率 ≥ 5 fps 即可留出处理余量。
镜头选型由焦距公式决定:
f = (工作距离 WD × 传感器尺寸) / FOV
示例(教学假设):
WD = 500 mm,传感器 2/3"(8.8 mm × 6.6 mm),FOV = 300 mm
f = (500 × 8.8) / 300 ≈ 14.7 mm → 选 16 mm 定焦镜头
实际需按 FOV 与 WD 双向校核,并留 10%~20% 余量
同时要校核景深与畸变。景深不足时,工件高度波动会导致边缘模糊;畸变过大时,标定虽能补偿,但边缘像素当量变化会放大误差。远心镜头在测量类应用中可显著抑制透视误差,但视野通常较小、成本较高,需权衡。
二、光源选型:让特征“自己跳出来”
光源的目标不是把工件照亮,而是提高目标特征与背景的对比度。常见方案与适用场景如下:
- 环形光:均匀照明,适合平面字符、表面划痕检测,安装方便,是通用首选。
- 背光:从工件背面打光,轮廓呈黑色剪影,适合尺寸测量、孔位定位,边缘对比度最高。
- 同轴光:光线与镜头同轴,适合高反光金属表面的字符或Mark点,能抑制镜面反射。
- 条形光/组合光:用于大视野或需要方向性照明的场景,可多角度组合。
光源还需与相机曝光方式配合。若工件在运动中拍摄,应使用频闪光源与相机触发同步,曝光时间控制在几十微秒级,避免运动模糊。常亮光源适合静态或低速场景,但发热和寿命需纳入考虑。
三、标定板选型与标定流程
标定板是像素坐标到机器人坐标的“尺子”。选型要点:
- 图案类型:棋盘格角点检测精度高,适合相机内参标定;圆点阵列对透视畸变不敏感,适合手眼标定。
- 尺寸:标定板应覆盖视野的 60%~80%,太小则角点分布集中,标定外推误差大。
- 精度等级:标定板自身精度应比系统目标精度高一个数量级。例如目标 0.1 mm,选 ±0.01 mm 级标定板。
- 材质:陶瓷基板热稳定性好,玻璃基板平整度高,铝基板成本低但易划伤。
标定流程通常分两步:先标相机内参(焦距、主点、畸变系数),再标手眼关系。Eye-to-Hand 模式下,相机固定在工位上方,标定板安装在机器人末端,机器人带动标定板在视野内走 9~15 个不同位姿,记录机器人位姿与图像角点,求解相机到机器人基座的变换矩阵。Eye-in-Hand 模式下,相机装在机器人末端,标定板固定在工作台,同样采集多组位姿求解。
四、与 KUKA 控制器的硬件连接
视觉系统与 KUKA 控制器的连接分三层:图像层、通信层、控制层。
图像层:相机通过 GigE 或 USB3 接入视觉工控机,工控机完成图像采集、预处理、特征提取和坐标转换。若使用智能相机,可直接输出坐标结果,省去工控机。
通信层:工控机与 KRC4/KRC5 之间常用以下方式:
- EthernetKRL:KUKA 官方以太网通信软件包,通过 TCP/IP 或 UDP 交换 XML 格式数据,适合传递坐标、状态、触发信号,配置灵活。
- PROFINET / EtherCAT:现场总线方式,实时性好,适合与 PLC 或机器人做硬实时同步,需在 WorkVisual 中配置 I/O 映射。
- 数字 I/O:用于触发相机拍照和接收“抓取完成”信号,简单可靠,但只能传递开关量。
控制层:机器人端通过 KRL 程序接收视觉坐标,写入 FRAME 变量,再调用 LIN 或 PTP 运动到目标位姿。典型 KRL 片段如下:
; 接收视觉坐标(示例,教学假设)
DECL FRAME fTarget
DECL REAL x, y, rz
; 从 EthernetKRL 读取 XML 中的坐标
x = 320.5
y = -150.2
rz = 45.0
fTarget = $NULLFRAME
fTarget.X = x
fTarget.Y = y
fTarget.Z = 100.0
fTarget.A = 180.0
fTarget.B = 0.0
fTarget.C = rz
; 运动到抓取点上方
LIN fTarget
; 抓取动作
LIN fTarget + {X 0, Y 0, Z -80, A 0, B 0, C 0}
; 闭合夹爪
$OUT[1] = TRUE
WAIT FOR $IN[1] == TRUE
; 抬起
LIN fTarget
五、选型检查清单(可直接套用)
| 项目 | 关键参数 | 示例值(教学假设) | 判断依据 |
|---|---|---|---|
| 相机 | 分辨率、快门、接口、帧率 | 500万像素,全局快门,GigE,10 fps | 像素当量 ≤ 0.02 mm/px,帧率满足节拍 |
| 镜头 | 焦距、景深、畸变 | 16 mm 定焦,景深 ±15 mm,畸变 <1% | FOV 覆盖 300 mm,WD 500 mm |
| 光源 | 类型、触发方式、均匀性 | 环形频闪,与相机同步,均匀性 ±10% | 特征对比度 ≥ 3:1 |
| 标定板 | 图案、尺寸、精度 | 棋盘格 200×150 mm,±0.01 mm | 覆盖视野 60%~80%,精度高一个数量级 |
| 通信 | 协议、IP、端口、I/O | EthernetKRL TCP,192.168.1.10:54600 | ping 通,XML 收发正常 |
完成上述选型与连接后,系统具备进入标定与联调的条件。实际项目中,建议先用标定板验证重复定位精度:机器人多次回到同一标定位姿,观察视觉输出的坐标波动,若波动小于目标精度的 1/3,则认为成像与标定链路稳定,可进入抓取测试。