本项目中使用机器视觉来进行芯片位置纠正,其实也没什么东西,就是把芯片吸过来,拍个照,看位置偏多少,再把位置纠正,当然了,事先要整一个芯片的图片作为对照的模板。所以这篇文章就根据项目的先后顺序来描述一下,有经验的可以一起来讨论优化,没经验的可以学习参考一下。
一、图像采集系统的搭建
图像采集系统主要包括:相机、镜头、光源、视觉控制器、显示器。
图像采集系统的搭建其实很简单,连连线,安装一下就完事了。但是部件的选型真是一个浩大的工程,别说是新手了,就是有几年经验的视觉工程师也不一定能轻松完成。这里面的痛苦,谁用谁知道。
1、相机选型
相机的主要参数就像素了,怎么选?像素高,图像是清晰了,但是采集和处理的时间就长,像素低了,采集和处理的时间短,但是图像模糊啊,能不能满足使用就不知道了。还有,高像素高清的相机成本也高。
相机选好之后,相机的参数也得设置一些,就是触发采集模式、曝光时间这些参数等。在工程上一般使用硬件触发采集,曝光时间短一点,光源亮一些就行。
2、光源选型
常见的光源有白光、红光、蓝光。在芯片纠偏这一块,一般使用环形光源,光源的角度常见在60-90度之间,这个角度就要根据你的工况来选择了,没有好的建议,就是自己去试一试。
3、镜头选型
镜头应该是最核心的部件了,经常使用相机的朋友,尤其是在高精度领域的朋友肯定知道,镜头的成本比相机的成本高多了,镜头要考虑的东西就比较多了,要多大的视野,多大的工作距离,多大的精度等,全部参数搞明白之后也不一定选得好,还得搞样品去试。镜头和相机的选型应该单独写一篇文章,内容太多了。
4、视觉控制器的选型
视觉控制器就是图像采集与处理的终端了,常见的就是电脑了,也有运动与视觉一体的运动控制器,也有单独的视觉控制器,根据自己的项目来选择吧。
二、芯片模板创建
图像采集的硬件系统搭建好之后,自然就要搞几张照片来试试了。这里是用于芯片的纠偏,所以就要调整好焦距,拍一张高清的芯片图片,用来作为对照模板。创建模板也有好多个步骤,如下所示:
1、采集芯片的图片
2、编辑图片,框选出感兴趣的区域用来识别后续的芯片,截取模板
3、保存模板,模板保存好就是为了后续的读出与比较
4、设置模板参数,模板参数包括,起始角度、终止角度、对比度、金字塔数、最小比例、最大比例、角度步长、特征简约等。
三、位置的标定
相机拍摄的芯片图像,系统只知道有多少个像素大小,但是我们一般算位置或者尺寸用的单位是mm。这之间就有一个比例关系了,说简单了就是算算,实际1mm的长度,里面可以容纳多少个像素。直到了这个参数,后面相机采集到的芯片图片就知道实际的芯片尺寸是多大了,位置偏了多少。
常见的做法是使用9点标定发或者16点标定法来标定。那9点标定来说吧,就是用一个3*3的圆点矩阵,每个点之间的间距是2mm(当然也可以是其他尺寸),根据相机和镜头的视野来选择。如果一中间点的坐标为(0,0),那么从左上角到右下角的坐标就都可以确定9个坐标点了,这9个坐标点是用mm来表示的。
相机拍摄这个9点标定块,通过识别圆心点,也可以获得9个坐标点,但是这个9个坐标点是用像素来表示的。
算一下mm与像素之间的关系系数,把这个比例关系系数保存起来,后面都用这个系数来转换,以后每次拍摄芯片,就知道芯片在X轴,Y轴上偏移了多少,角度偏移了多少。
四、芯片纠偏
芯片位置的纠偏首先就要识别到芯片,识别芯片就是把吸到的芯片拍个照,跟模板对比一下,先看看是不是长得一样,确认长得一样之后再来计算与模板之间的角度或者位置偏差。
前面模板创建好了,标定关系也算好了,后面纠偏就是临门一脚了。根据算出来的X轴,Y轴,R轴差多少,多退少补就行了,当然这个多退少补是要有个运动执行机构来执行的,一般使用机械臂、龙门架之类的。