基于仿射原理的布线机械手视觉定位系统研究
2018-07-21
(长春理工大学,长春 130022)
0 引言
工业4.0时代,工厂正大批采购自动化设备,但传统设备只能应对位置精确的元件,不像人工可以处理简单偏差。而机器视觉可以缩短这一差距,有望成为自动化设备标配。机器视觉是一项综合技术,其中包括数字图像处理技术、机械工程技术、控制技术、电光源照明技术,光学成像技术、传感器技术、模拟与数字视频技术、计算机软硬件技术、人机接口技术等。所以各个行业所提及到的机器视觉应用系统的原理也不尽相同,各个系统有其不同的针对性。比如基于机器视觉的田间杂草辨别系统、零件伤损检测系统、芯片焊点定位系统等。这些机器视觉系统都不具有可移植性,只能针对特定特征进行辨别检测。本课题中所提及的基于机器视觉的机械手定位系统也是针对移动状态下的机械手进行实时定位的系统。在本系统中,采用Halcon机器视觉软件。Halcon是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。它节约了产品成本,减少了程序冗余,较大程度地简化了算法的实现过程。在本文提到的机器视觉定位系统中,特点是采用了硬件上的改进来简化算法的复杂性,满足了实时性要求。文中的定位系统主要依托Halcon机器视觉软件中的四点定位算子,利用仿射原理得到第五点的位置信息。并进一步根据课题特征进行了改进,使之更为适应特异环境,也给其他环境的定位系统研究充分地留有余地。
1 整体方案
本文的主要研究内容为基于机器视觉的移动中布线机械手定位问题。包括高位相机、布线机械手、低位相机、激光模组;高位相机位置固定不动且相机镜头垂直朝下,低位相机固定在布线机械手上,位于在高位相机下方,布线机械手与低位相机可在水平面内沿X、Y两方向平移并始终保持在高位相机视野范围内,低位相机镜头垂直朝下;低位相机的镜头外圈上固定安装有相机外圈,激光模组固定于相机外圈上。整个设计主要崇尚简单。争取用最简单的装置完成定位这一要求相对精确的任务。图1为“四点定位”系统简单示意图。1为高位相机,位置不动;2为低位相机,实为固定在机械手一侧,随机械手平动;3为红光激光模组,共四个;4为高位相机视场;5为低位相机视场;6为低位相机中心在平台上的投影点;7为红光激光模组在平台上发出的四个激光点。
图1 系统整体示意图
激光模组的选取:由于相机镜头外圈尺寸限制,激光模组尽可能小且光斑清晰,经过对比选用φ4mm、功率为1Mw、波长650的红光激光模组,基本参数如表1所示。
表1 激光模组参数表
光源与激光模组共同集成在一块pcb板上,尺寸上选择0805的LED灯珠。
2 算法原理
本文中主要是利用仿射原理,参照示例图片进行仿射运算,计算出实时图片中的中心位置,对目标进行定位。仿射变换是在几何上定义为两个向量空间之间的一个仿射变换或者仿射映射由一个非奇异的线性变换(运用一次函数进行的变换)接上一个平移变换组成。在有限维的情况,每个仿射变换可以由一个矩阵A和一个向量b给出,仿射原理是一种二维坐标到二维坐标之间的线性变换,保证了图像的平直性和平行性。要进行仿射变换,必须先获取变换矩阵。要获取变换矩阵,必须先获取特征点坐标、角度等信息,本文利用示例图片进行几何匹配来获取变换矩阵(变换矩阵即下文提到的HomMat2D)。仿射变换其实是一种简单的变换,因为变换简单、步数少,所以畸变率低、结果也容易掌握,故准确率有保证。本文中也利用Halcon软件对图像进行了其他方面的处理,其间包括了基本的图像处理,如图像二值化、阈值分割、连通域分析等。
仿射变换矩阵获取:在本文中应用的近似点对应的仿射变换,算子vector_to_hom_mat2d从至少3各点对应的仿射变换逼近,并将其作为齐次变换矩阵HomMat2D点对应在元组(Px,Py)和(Qx,Qy)中传递,对应的点必须在元组中的相同索引位置。如果超过三个点的对应,转换就会被过度确定。在这种情况下,返回的转换时最小化输入点(Px,Py)和转换点(Qx,Qy)之间的距离的转换,如以下等式所描述的:
通过Halcon软件依次识别示例图片中所对应的四点和中心点,然后识别采集图片的四点,软件会根据点之间的几何关系获取变换矩阵HomMat2D。
系统的整体流程如图2所示。若是工作条件较为简单,低位相机所识别的工作面为完整工作表面,则利用四个点即可完成四点定位。此时直接调用算子进行定位计算即可。而本文中所用的方法原本是针对一个充满孔洞的大型布线平台所设计。孔洞为布线过程中固定拐点柱所用,每两个孔洞的中心距离为d。因为孔洞的存在,所以激光模组所打出的光斑有很大可能性因为被孔洞吸收而消失,无法识别。此时,程序出错。
图2 系统整体流程图
为了解决光斑消失问题,本文中采用增加激光点的方法。共四组、八个激光点。每组两个激光点间距离略大于d。在真正操作台上操作的时候,某些激光光斑可能消失。因为每组两个激光点间的距离略大于d,所以每组至少有一个激光点在平台上。此时高位相机视野中激光点个数4≤n≤8。此时所增加的图片处理的方法如图3所示。
图3 提取4点流程图
获取图中激光点中心点坐标(x1,y1),(x2,y2)(x3,y3),…,(xn,yn)。图4为激光点打在完整平面上所采集的图片,即示例图片。图5位两个光斑因孔洞而消失之后所采集处理过的图片。点2和点3已经消失,为了便于理解,其他点的编号不变。
图4 激光点完整示意图
图5 激光点丢失示意图
以每个点中心为圆心做半径为d的圆。
这样一组中包括一个点的为一个独立的圆,一组中包含两个点的会形成两个相交的圆。当两个圆有相交的时候取并集,此时n个点被区域划分成四组,即最初的四组。
图6 区域划分
取每个区域内纵坐标最小的点,得到四点定位的四个点。即图6中的点1、点4、点5、点7。
获取四点组合的向量信息,角度信息。如图7所示。令图中点1指向点4的向量为点1指向点7的向量为点1指向点5的向量为;的夹角为∠A;与的夹角为∠B。
图7 点向量信息
与示例图片图8信息进行比对,相差范围内的即确定四点组合。
图8 示例图片
图中四组点,每组提取一个点所形成四点组合有24=16个。组合如下:
在原油期货的主要交易者中,保险、养老金、对冲基金等大类资产配置资金的总量和市场份额不断上升,国内以原油期货为标的的结构性存款产品也快速增长。原油作为影响通胀的最重要商品受到大类资产配置资金的追捧,后者通常是用固定收益的全部或部分利息来购买原油期货或期权,在保本的同时获得接近油价变动的收益,以对冲通胀的影响。这类资金是原油期货的长期多头,在一定程度上推动油价上涨。
第1组:点1357。
第2组:点1358。
第3组:点1367。
……
第16组:点2468。
表2 各组点对应的数据
通过s,s',t,t'与16组已知数据比对,hn=(SSn)2+(S'-S'n)2+(t-tn)2+(t'-t'n )2。
3 实验结果与分析
图9 示例图片及各点区域划分
表3 示例图片各点坐标
图10 最终定位结果(中间点)
表4 抓取图片各点坐标
通过实例图片和采集图片的对比可以清晰的看到:通过仿射原理所定位到的中心点满足几何关系,一定程度上避免了图片畸变造成的影响。
4 结论
本文中所应用的“四点定位”方法,在硬件上稍作改变,从而大大简化了算法流程、减少了程序的复杂程度,节约了运算时间、满足了实时定位的需求,充分利用了Halcon软件强大的功能。通过编写算法和C++或C#进行联合二次开发,就可以编写成针对不同情况的定位软件,为定位工作提供便利。