机器计算机视觉的应用-打孔机影像定位系统设计_第1页
机器计算机视觉的应用-打孔机影像定位系统设计_第2页
机器计算机视觉的应用-打孔机影像定位系统设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机器计算机视觉的应用-打孔机影像定位系统设计    前言计算机视觉的应用大致上可以分成定位、量测、识别、缺陷检测四大类,其中以定位的应用最为广泛。机器视觉系统可以用来检视主机板上的电子组件,也可以用来控制机械手臂,在机械手臂上加装CCD,利用影像辨识的定位,带动机械手臂来做病毒研究、药物混合等一些高危险性的医疗研究。除了精准之外,对人类的生命也比较有安全保障。影像定位后的坐标转换市面上影像比对的函数库(Library)很多,使用者可以自行选用合适的函数库。以    前言    

2、; 计算机视觉的应用大致上可以分成定位、量测、识别、缺陷检测四大类,其中以定位的应用最为广泛。机器视觉系统可以用来检视主机板上的电子组件,也可以用来控制机械手臂,在机械手臂上加装CCD,利用影像辨识的定位,带动机械手臂来做病毒研究、药物混合等一些高危险性的医疗研究。除了精准之外,对人类的生命也比较有安全保障。     影像定位后的坐标转换     市面上影像比对的函数库(Library)很多,使用者可以自行选用合适的函数库。以下所提的系统采用Euresys公司开发的eVision

3、60;EasyMatch,这是一种基于灰度相关性的图像匹配函数库,速度非常快,而且能够达到次像素(sub-pixel)精度的匹配结果。对于旋转、比率变化(缩/放)和平移等,都能精确找到模板图像(Golden Image)的位置。故本文仅对影像定位后的二维坐标产生的“位移”与“旋转”做探讨。      坐标位移     公式:X2 = X1 + X     Y2 = Y

4、1 + Y lt=""/>图1 坐标位移示意图      坐标旋转    (1)将(X1,Y1)转换成极坐标 (X1,Y1) = (R1,1)     其中,R1 = X12 + Y12     1 = arctan( Y1 

5、;/ X1 ),即反正切函数     (2)2 = 1 + ,其中,= 表示旋转角度     得出 X2 = Cos (2)  R1     = Cos (arctan(Y1/X1)+)      X12 + Y12&#

6、160;    Y2 = Sin(2)  R1     = Sin(arctan(Y1/X1)+)  X12 + Y12        图2 坐标旋转的示意图          坐标位移+旋转   &

7、#160;     遇到同时发生坐标位移和旋转时,先计算位移,再套用旋转的公式,即可算出最后的结果。     下面介绍如何设计出结合“机械运动”与“计算机视觉”的自动化定位系统。         基本架构          GEME-3000主控制器:含HSL控制卡,安装Windows XP操作系统

8、      3-Axis定位平台:三菱伺服马达+滚珠螺杆      运动控制器:HSL-4XMO控制模块      计算机视觉组件:使用IEEE 1394 CCD采集影像,利用Euresys eVision的EasyMatch进行影像比对(Pattern Match),作定位偏移的补正计算。       &#

9、160; 完整的实际系统如图3所示。     图3 系统架构实机图         系统校正图4 图像处理软流程图         自动定位          由人工将工件置于3轴定位平台上,作“初步定位”后并启动本系统; 

10、60;    系统会驱动3轴定位平台将CCD移至定位点上方(2个不同位置),取像并利用已“教导”的标准影像做“影像比对”作业;      计算出“初步定位”的偏移量(Shift X/Y)及旋转角度 (Rotation Angle);         tx = GoldeXYCCD_Find1 - m_Find.GetCenterX();&

11、#160;    ty = GoldeXYCCD_Find0 - m_Find.GetCenterY();     if (CCD_Find=0)  /第一次定位     shiftx = ZeroX - txCalibration;     shifty = CCD_Y

12、0;- tyCalibration;      else  /第二次定位     dx = CCD_Locate10 - txCalibration;     dy = CCD_Y - tyCalibration;     angle = atan2(

13、0;dy - shifty, shiftx-dx);     CalNewLocate(angle, shiftx, shifty);               通过“极坐标转换”,重新计算工件上所有孔位的新坐标(Point Table)。        &

14、#160;void CalNewLocate(F64 angle, F64 shiftx, F64 shifty)          int i;     F64 PTOTAL_POINT2;     F64 t;        

15、 for (i=0; i<TOTAL_POINT; i+)  /极坐标转换     Pi2 = sqrt( OrgLocatei2  OrgLocatei2     + OrgLocatei2+1  OrgLocatei2+1);     Pi2+1 = atan2( Or

16、gLocatei2,     OrgLocatei2+1)+ angle;          for (i=0; i<TOTAL_POINT; i+)      t = Pi2sin(Pi2+1);     NewLocatei2 = (shiftx + t)SCALE_X;     t = Pi2cos(Pi2+1);     NewLocatei2+1 = (shifty + t)SCALE_Y;                   结束语&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论