第一章:工业视觉定位概述
什么是工业视觉定位
工业视觉定位,说白了就是给机器装上一双「眼睛」。
这双眼睛不是用来欣赏的,而是用来精确告诉机器人:工件在哪儿、角度是多少、该往哪儿抓。
我刚开始接触这个领域时,觉得不就是拍个照、算个坐标嘛。后来真正做项目才发现,精度、速度、稳定性这三座大山,随便一座都能让你加班到怀疑人生。
视觉定位的核心流程其实很简单:
- 拍一张图——工业相机采集图像
- 找到目标——算法识别出特征点或模板
- 算出差值——计算当前位姿与标准位姿的偏差
- 告诉机器人——输出X、Y、角度等补偿值
嗯,听起来是不是很简单?但实际工程中,光照一变、工件反光、背景杂乱……任何一个环节出问题,定位就偏了。
应用场景
工业视觉定位的应用范围非常广。我挑三个最典型的行业聊聊。
3C电子
3C电子是视觉定位的「主战场」。手机、平板、耳机……这些产品的组装精度要求极高。
举个例子:手机摄像头模组贴合。一个摄像头模组只有指甲盖大小,贴合精度要求±0.05mm。你想想看,这比头发丝还细。
我在做这个项目时,遇到过一个问题:Mark点被油污遮挡。当时排查了很久,最后发现是来料时工人手上的汗渍。解决方案也很简单——加一道清洁工序。有时候,工程问题就是这么朴实无华。
3C电子的典型应用包括:
- PCB板定位与贴装
- 屏幕对位贴合
- 螺丝锁付引导
- 芯片封装定位
汽车
汽车行业的视觉定位,特点是大、重、精度要求高。
我记得有个项目是做汽车白车身焊接定位。车身几米长,但焊接点的定位精度要求±0.2mm。这就像让你在操场上用粉笔画一条线,误差不能超过一根头发丝。
汽车行业的难点在于:工件大、环境差。焊接时火花四溅、烟尘弥漫,对视觉系统的抗干扰能力要求极高。
典型应用:
- 白车身焊接引导
- 发动机缸体抓取
- 轮胎装配定位
- 玻璃涂胶轨迹引导
半导体
半导体行业,是视觉定位的「天花板」。
精度要求有多高?微米级。一个晶圆上有成百上千个芯片,每个芯片的定位误差不能超过几微米。
我曾经参与过一个晶圆划片机定位项目。晶圆上的对准标记只有几十微米大小,而且晶圆本身是半透明的,成像难度极大。我们试了十几种打光方案,最后用同轴光+偏振片才搞定。
半导体应用:
- 晶圆对准
- 芯片贴装
- 引线键合定位
- 封装检测
| 行业 | 典型精度 | 主要挑战 |
|---|---|---|
| 3C电子 | ±0.05mm | 工件小、反光、油污 |
| 汽车 | ±0.2mm | 工件大、环境恶劣 |
| 半导体 | ±1~5μm | 精度极高、成像困难 |
系统组成与工作流程
一个完整的工业视觉定位系统,由哪些部分组成?我按「硬件-软件-执行」三个层面来讲。
硬件部分
- 工业相机:核心传感器。面阵相机拍平面,线阵相机拍长条工件。
- 镜头:决定视野和景深。定焦镜头最常用,变焦镜头很少用(精度不够)。
- 光源:环形光、条形光、同轴光、背光……选型是个技术活。
- 工控机:跑算法的电脑。一般要求i7以上,带独立显卡。
- 运动控制卡:把定位结果发给机器人或运动平台。
软件部分
- 图像采集模块:控制相机拍照、传输图像。
- 图像处理模块:预处理(滤波、增强)、特征提取、模板匹配。
- 定位算法模块:计算位姿偏差。常用算法有:
// 伪代码示例:基于模板匹配的定位
1. 加载模板图像
2. 采集当前图像
3. 在图像中搜索模板
4. 计算匹配位置 (x, y, angle)
5. 与基准位置比较,输出偏差
6. 发送补偿值给机器人
- 通信模块:与PLC、机器人通信。常用协议有TCP/IP、Modbus、EtherCAT。
工作流程
一个典型的视觉定位流程,大概是这样:
- 触发拍照:传感器检测到工件到位,触发相机拍照。
- 图像采集:相机采集图像,传输到工控机。
- 图像预处理:去噪、增强对比度、二值化等。
- 特征提取:找到Mark点、边缘、角点等特征。
- 位姿计算:计算当前工件的位置和角度。
- 偏差输出:与标准位置比较,输出X、Y、角度偏差。
- 执行补偿:机器人或运动平台根据偏差值调整位姿。
整个流程走下来,一般要求在100ms以内。如果超过这个时间,产线节拍就跟不上了。
- 定位精度:±0.01mm ~ ±0.1mm(视应用而定)
- 处理速度:50ms ~ 200ms
- 重复精度:±0.005mm ~ ±0.02mm
- 稳定性:连续运行24小时,定位偏差不超差
好了,第一章的内容就到这里。下一章我们会深入讲解相机标定与坐标系转换——这是视觉定位的「地基」,地基不稳,上面盖什么都白搭。
我个人习惯把标定放在第二章讲,因为太多人一上来就调算法,结果标定没做好,精度永远上不去。嗯,到时候我会分享一些我踩过的坑,希望对你有帮助。