SMT零件的视觉遍历定位与抓取方法

2015-04-26 08:24刘周林卢建湘谢煌生唐庆顺陈虹微
机床与液压 2015年3期
关键词:工作台位姿视野

刘周林,卢建湘,谢煌生,唐庆顺,陈虹微

(龙岩学院机电系,福建龙岩 364012)

0 前言

机器视觉因具有精度高、非接触、速度快、客观稳定、可视化的监视操作等优点[1-2],在包装行业和电子行业得到广泛的应用。对于包装零件的拾取或电子元件的贴装(SMT),视觉的精确定位是保证物体准确抓取的核心技术。然而,造价昂贵的CCD或CMOS传感器,其尺寸面积是有限的,因此工业相机的视野很难覆盖整个包装工作台或电子贴装工作台上的所有零件。要完成物体的定位和抓取,将机器视觉与关节机器人或运动位移台相结合是一个很好的解决方法。

关节机器人或运动平移台的重要任务是运动到视觉定位点抓取物体,对于前者自由度多、灵活性好、刚度差,后者自由度少、灵活差、刚度好。对于无自动变焦的机器视觉方案,机械运动扩展了机器视觉“看”到整个工作台的能力;对于有自动变焦的机器视觉方案,通过变焦能够看到局部或全部的工作台视野区域,然而自动变焦过程中难以准确地评价图像的清晰度、比例因子的动态变化(精度也是动态变化的)及视觉定位算法的鲁棒性不稳定等因素,该方案的应用较少。常见的电子贴装抓取视觉方案一般配备2个工业相机,一个相机完成电路板、mark点、拾取零件的定位,另一个相机完成拾取零件后的位姿调整,如解杨敏等[3]研究的高精度贴片机视觉系统,袁鹏等人[4]研究的贴片机系统。就目前来看,基于视觉定位的贴装抓取成果很多,如欧阳高飞等[5]、解杨敏等[6]、张凯等人[7]、黄恢乐等[8]关于贴片定位、直线、角度算法的相关研究。这些已有的成果大多表现在对某个零件或提高视觉精度的研究,对于全工作台视觉区域全部零件的遍历(搜索)定位和分次抓取的研究很少。介于此,文中提出了基于机器视觉和运动控制的相结合物体定位和抓取方法,该方案能够实现全工作台区域每个零件视觉遍历(搜索)定位,按照X、Y轴图像像素之和从小到大的顺序抓取零件,为高效率的视觉贴装提供很好的科学依据。

1 硬件布局与总体方案设计

要实现零件的正确贴装或包装,需要知道工作台上每个零件的准确位置。工业相机是实现精确定位的基本器件,而机械手(贴装头)根据相机得到的工件坐标参数,运动到工作台特定位置抓取零件。文中所研究的设备的硬件布局如图1所示,其中X轴和Y轴导向梁提供了覆盖水平工作平面的定位,Z轴导向梁负责实现贴装头的下降与抬起动作,上CCD相机固定在Z轴导向梁的另一侧,无法上下运动,图像的清晰度通过更换镜头或微调前端镜头的实现,其负责待装配托盘中零件的初始位姿定位,同时电路板或包装盒在工作台的位姿定位也由上CCD负责定位。上CCD轴线与贴装头轴线平行且距离是定值,两轴确定的平面平行于过Z轴且垂直于工作台的平面。下CCD主要调整零件抓取后因静电、电机加减速、振动等原因使零件偏离初始的角度定位。贴装头通过快换接口更换不同口径的贴装头,以满足不同尺寸零件的需求。X、Y、Z三轴具有光栅尺作为反馈,可得知当前坐标值。电路板/包装盒托盘与待装配零件托盘,在工作台具有限位功能,通过手工或间歇性机构实现托盘的自动化更换。贴装头对零件的抓取与释放,由气动控制系统来保证吸附力的大小。

图1 硬件布局

2 视觉定位策略与数据采集

在贴装工作之前,应预先标定相机上CCD与下CCD变形误差,将其补偿到图像定位中。视觉定位方案中,通过上CCD“粗定位”得知零件位姿,贴装头根据定位参数抓取零件。当零件被抓取后,零件紧贴在贴装头端面,贴装头与上CCD为平行布置,此时上CCD采集不到零件图像。另外,零件在被抓取的瞬间,因电机的加减速、静电、振动、贴装头的吸附力等原因,使零件偏离抓取前的位姿。如果零件的贴装仍以上CCD定位的参数将零件安装到电路板/包装盒上,必将导致贴装零件的错位,难于保证装配精度。因而,视觉方案中加入了下CCD以实现零件的“二次定位”,下CCD固定于工作台中心,其轴心位置预先存储于软件系统中,将其作为零件定位的参考位置。通过每次将贴装零件抬到预定物距,保证下CCD采集的零件图像清晰度。最后,零件的安装参数由下CCD提供,从而保证零件的最终贴装精度。总的贴装过程为上CCD的“粗定位”抓取到下CCD的“二次定位”安装。

要对待贴装托盘中零件的位姿定位,首先应获取每个零件在待装配托盘的位姿情况,从而给出最优的决策方案,决定抓取零件的先后顺序。每个零件的位置的获取,通过上CCD结合X、Y轴运动控制以遍历的方式将整个相机视野覆盖到全工作台平面。图2所示为CCD布置图,Vx和Vy表示沿X轴和Y轴单次遍历运动的距离,图3、4、5是3种遍历方法(图4、5在图像跟踪和游戏算法中常使用)。期中,图3是传统的遍历搜索方法,图4、图5是螺旋启发式遍历搜索方法,3种方法的遍历总路程是相等,且在遍历过程中X、Y轴电机的加减速总次数相同,但因图3每次在进行一次大的遍历后进入一个小行程的加速驱动和减速过程,遍历过程容易出现运动冲击,因此在此选择图4、5的遍历方法。

图2 CCD遍历工作平面

图3 逐行遍历路线

图4 由外到内遍历

图5 由内到外遍历

算法设计:以图2为例(图3,4,5的计算过程类似),设X轴的进给速度为Vx=l(l为CCD视野宽度),Y轴的进给速度为Vy=h(h为CCD视野高度)。从而得到,X轴进给搜索时间为tx=L/Vx=L/l,Y轴的进给时间为ty=H/Vy=H/h。

图6 零件处于CCD视野相交处

而S工作台=(Vx×tx)×(Vy×ty)=L×H,因此总的搜索时间为t=(tx+ty)。当每个零件恰巧处于CCD的视野面内,等号成立,实际工况下是很难做到的。待装配托盘摆放的零件容易出现如图6所示的情况,零件1、2、3零件处于CCD遍历的视野边缘处。要获得零件的重心位置,通过防遮挡的图像模版匹配结合X、Y轴运动的调整,将零件成像在CCD视野中,进而通过上CCD定位得知零件重心坐标在工作台的位置。

首先将预先制作的模板图像经过平移、旋转、缩放等仿射变换,并以亚像素的步距进行搜索;其次,对图像金字塔从顶层往底层求取保存于内存的模板图像的相似度,相近似度比较如式(1)。式中:f(x,y)为目标所在的图像;g(i,j)为目标模板;W为模板区域;fm与gm分布是f(x,y)与g(i,j)在各自相关窗口的平均值;dx,dy为x和y方向上的亚像素步长;m和n为整数。一般取dx和dy为0.1~0.01像素即可。为了达到更高的定位精度,这里的亚像素采用最小二乘法来确定。

再次,存储当前工业相机的X、Y轴位置为P参考,以便回到该位置再次遍历。最后,通过移动X、Y轴调整CCD视野,保证零件重心成像在CCD视野中。X轴和Y轴移动的位移如式(2),X、Y轴的移动使零件完全成像于CCD视野中。

式中:si为理想状态下每种零件的面积,如φ5圆形为s1,φ6圆形为s2,3×3的矩形为s3等;s*i为实际状态下的零件面积;ni为理想像素个数;n*i实际像素个数;s*为每个像素的面积;Δi为给定的每个零件面积误差。期中s*通过式(3)得到。

最后,通过比较Δi的值得知X、Y轴移动的方向是否正确,若Δi变小,说明零件进入被CCD视野包围的区域,方向正确;若Δi变大,说明零件偏离被CCD视野包围的区域,方向错误。当Δi等于预定的值,停止移动X、Y轴,此时零件被完成成像在CCD视野面内,存储当前的坐标值P坐标为零件要抓取的定位点。接下来使X、Y轴运动到P参考位置继续进行下次遍历工作,直至CCD遍历完整个工作台平面。

3 数据存储与抓取方案

通过螺旋启发式遍历零件参数,应如何进行存储?在零件的贴装工艺中应首先抓取哪种外形哪个位置对象?零件被抓取后,应该首先放到哪块电路板/保证盒的安装工位?如何保证贴装过程和安装零件过程路径最短,不重复对同一工位重复贴装,进而提高贴装效率、降低贴装故障?这些问题是本研究过程需重点考虑的问题。

由上CCD对零件参数的遍历,主要包括了对电路板托盘各工艺孔位和待贴装零件托盘各零件的遍历,前者是为零件抓取后零件的安放提供依据,后者是为了零件的抓取提供依据。因贴装工位孔的位置是规律性放置,而零件在待贴装托盘中是随机的,以下零件的数据存储为主要研究内容。通过上CCD对零件的遍历,得到遍历过程中每个零件的(xnm,ynm,αnm)值,xnm,ynm表示零件在X、Y上的坐标,αnm表示旋转的角度,数据表达形式如矩阵(4)所示。n表示零件的种类,m表示相同零件的个数。

将上述位置矩阵,采用数据库的数组、链表、堆栈等技术存储,通过指针的方式读取。通过启发式搜索遍历得到的各零件位置参数,以便确定首先应抓取的零件。这里不妨令,得到矩阵(5)。

采用快速排序算法将Cnm从小到大排序,重新存储,重新排序后的数据如矩阵(6)所示。其中(表示第1种零件);(表示第2种零件);…(表示第n种零件)。

为了减小抓取过程因空行程占用的时间,提高贴装效率,将Cnm最小的零件作为抓取的对象。因此,单独得到矩阵

当零件被贴装头抓取且沿Z轴抬起后,首要考虑的问题是将零件安装到哪块电路板的哪个工位孔,绝不能允许出现位置贴装错误,如将第1种零件贴装到第2种零件的贴装孔位。对于当前被抓取的零件,在电路板/包装盒托盘中具有多个相同的贴装工位,依照上述相同的算法,对矩阵(5)求差并取绝对值,得到矩阵(7)。

式中:C1,C2,C3,…,Cn表示当前被抓取的各种零件的当前坐标,各行的求差反映了每种零件离各自相同贴装工位孔的距离关系。将各行重新排序得到矩阵(8)。

式中:

(表示第1种零件);

(表示第2种零件);…

(表示第n种零件)。

综上所述,零件在贴装过程边界条件矩阵A保证零件的抓取,由边界条件B保证零件的贴装。矩阵A和B为实现了零件贴装的合理性和高效性提供一定指导。其贴装控制流程如图7所示。

图7 贴装控制流程图

4 仿真实验

为验证算法的时效性,采用CAD绘制五边形、四边形、圆形3种零件的仿真图像(零件个数为随机绘制的),基于halcon 10视觉算法库,以Visual C++6.0和Access数据库作为软件平台。绘制的仿真像如图8所示,矩形框区域表示整个工作台的待贴装零件。

图8 仿真图像

实验方法:将仿真图像采用图4遍历算法,以均等的时间间隔分别从图像坐标X轴和Y轴进入显示器屏幕(类似于视频图像),移动仿真图片模拟工作台运动过程中采集的图像。通过防遮挡的图像模板匹配方法,寻找每个零件的贴装重心位姿,进而得到算法搜索每个零件所需要的时间。表1所示为搜索每个零件重心位姿所耗费的时间。

表1 零件搜索时间ms

由表1可知算法所需要的时间为8.23~18.67 ms。算法的时效性比较好,能够满足工业生产需求。

5 结论

通过水平的X、Y轴的运动控制和上CCD的视觉定位,采用螺旋启发式算法遍历工作台,使上CCD视野覆盖整个贴装工作台。根据形状匹配和零件像素面积为判断条件,实现了上CCD获取全部待贴装零件与贴装工位的位姿信息。应用编程语言中数据库链表存储和指针技术,完成了位姿矩阵信息的存储与读取。采用快速排序算法,将位姿数据重新排序,以矩阵A和B为边界条件,最终实现了“数据获取—零件抓取—零件贴装—判断贴装”4个环节的贴装过程。针对表面贴装(SMT)的定位和贴装效率,提出了由上CCD的“粗定位”实现数据获取和零件抓取,到由下CCD的“二次定位”实现贴装的定位策略。文中所提出的算法与方法,为提高表面贴装效率和减少贴装错误提供了一定的指导。

[1]WU L,PENG Q.Research and Development of Fringe Projection-based Methods in 3D Shape Reconstruction[J].Journal of Zhejiang University Science A:Science in Engineering,2006,7(6):1026-1027.

[2]SU X,ZHANG Q,LI J,et al.Optical 3D Shape Measurement for Vibrating Drumhead[C].Proceedings of 20th Congress of the International Commission for Optics,2005.

[3]解杨敏,史航,刘强.高精度贴片机视觉定位系统的研究与设计[J].装备制造技术,2007(12):40-41.

[4]袁鹏,胡跃明,吴忻生,等.基于视觉的高速高精度贴片机运动控制系统的设计与实现[J].计算机集成制造系统,2004(10):188-189.

[5]欧阳高飞,邝泳聪,谢宏威,等.基于亚像素定位的贴装元件精确取像技术[J].光电工程,2010,37(6):16-22.

[6]解杨敏,刘强.高精度自动贴片机视觉系统定位算法研究[J].光学技术,2008,34(3):449-454.

[7]张凯,王瑜辉,尹周平,等.应用在高性能贴片机上的一种快速视觉定位算法[J].光学技术,2005,31(4):604-607.

[8]黄恢乐,胡跃明,袁鹏,等.高速高精度全自动贴片机的元件角度识别算法[J].计算机工程与应用,2005(22):111-113.

猜你喜欢
工作台位姿视野
居· 视野
一种适用于联动加工的数控回转工作台
重型回转工作台的复合增力夹紧机构的设计
一种闭式静压回转工作台新型结构设计
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
基于单片机控制的快捷包装工作台结构设计
小型四旋翼飞行器位姿建模及其仿真
视野
真相