机器计算机视觉的应用-打孔机影像定位系统设计(图)

出处:维库电子市场网 发布于:2023-06-26 14:38:57

前言

计算机视觉的应用大致上可以分成定位、量测、识别、缺陷检测四大类,其中以定位的应用为广泛。机器视觉系统可以用来检视主机板上的电子组件,也可以用来控制机械手臂,在机械手臂上加装CCD,利用影像辨识的定位,带动机械手臂来做病毒研究、药物混合等一些高危险性的医疗研究。除了精准之外,对人类的生命也比较有安全保障。

影像定位后的坐标转换

市面上影像比对的函数库(Library)很多,使用者可以自行选用合适的函数库。以下所提的系统采用Euresys公司开发的eVision EasyMatch,这是一种基于灰度相关性的图像匹配函数库,速度非常快,而且能够达到次像素(sub-pixel)的匹配结果。对于旋转、比率变化(缩/放)和平移等,都能找到模板图像(Golden Image)的位置。故本文仅对影像定位后的二维坐标产生的“位移”与“旋转”做探讨。

● 坐标位移
公式:X2 = X1 + ΔX
Y2 = Y1 + ΔY


● 坐标旋转
(1)将(X1,Y1)转换成极坐标→ (X1,Y1) = (R11)
其中,R1 = √X12 + Y12
θ1 = arctan( Y1 / X1 ),即反正切函数
(2)θ2 = θ1 + θ,其中,θ= 表示旋转角度
得出 X2 = Cos (θ2) * R1
= Cos (arctan(Y1/X1)+θ) *
√X12 + Y12
Y2 = Sin(θ2) * R1
= Sin(arctan(Y1/X1)+θ) *      √X12 + Y12


● 坐标位移+旋转
遇到同时发生坐标位移和旋转时,先计算位移,再套用旋转的公式,即可算出的结果。
下面介绍如何设计出结合“机械运动”与“计算机视觉”的自动化定位系统。

基本架构

● GEME-3000主控制器:含HSL控制卡,安装Windows XP操作系统
● 3-Axis定位平台:三菱伺服马达+滚珠螺杆
● 运动控制器:HSL-4XMO控制模块
● 计算机视觉组件:使用IEEE 1394 CCD采集影像,利用Euresys eVision的EasyMatch进行影像比对(Pattern Match),作定位偏移的补正计算。
完整的实际系统。


系统校正

● Mitsubishi驱动器调校:10 000 pulse/roll,即运动控制卡送出10 000个脉波,马达会转一圈。
● 滚珠螺杆的螺距vs. Pulse/Roll:如,螺距=10mm/roll,10 000 pulse/roll意味着1μm/pulse,即每发出一个脉冲,螺杆会前进1μm。
● F.O.V.(Field of View)的选定:F.O.V.要大于定位点的大小,太小则导致可接受的“初步定位”误差变小;太大则导致因定位点影像太小,影像定位误差大。
● CCD工作距离的选定:工作距离要大于打孔顶针,以免对焦时打孔顶针撞到工件。当F.O.V.及工作距离确认后,即求出镜头和延伸环。

教导作业

● 启动系统3轴回到初始位置,待3轴回定位后,再由人工将工件置于3轴之定位平台上并作“初步定位”;
● 手动控制Z轴缓慢下降,使其接近定位平台上方(约0.5~1.0mm);
● 手动控制X/Y轴,使打孔顶针刚好在工件个孔位上方;再将Z轴缓慢下降,使其插入个孔位内。如定位不准,可以手动移动工件,使其定位更准确。
● 定位后,将Z轴上升至CCD的实时影像可看到完整“定位点”后。


自动定位

● 由人工将工件置于3轴定位平台上,作“初步定位”后并启动本系统;
● 系统会驱动3轴定位平台将CCD移至定位点上方(2个不同位置),取像并利用已“教导”的标准影像做“影像比对”作业;
● 计算出“初步定位”的偏移量(Shift X/Y)及旋转角度 (Rotation Angle);
tx = GoldeXY[CCD_Find][1] - m_Find.GetCenterX();
ty = GoldeXY[CCD_Find][0] - m_Find.GetCenterY();
if (CCD_Find==0) {  //次定位
   shiftx = ZeroX - tx*Calibration;
   shifty = CCD_Y - ty*Calibration;
} else {  //第二次定位
   dx = CCD_Locate[1][0] - tx*Calibration;
   dy = CCD_Y - ty*Calibration;
   angle = atan2( dy - shifty, shiftx-dx);
   CalNewLocate(angle, shiftx, shifty);
}
● 通过“极坐标转换”,重新计算工件上所有孔位的新坐标(Point Table)。
void CalNewLocate(F64 angle, F64 shiftx, F64 shifty)
{
   int i;
   F64 P[TOTAL_POINT*2];
   F64 t;

for (i=0; i      P[i*2] = sqrt( OrgLocate[i*2] * OrgLocate[i*2]
            + OrgLocate[i*2+1] * OrgLocate[i*2+1]);
      P[i*2+1] = atan2( OrgLocate[i*2],
               OrgLocate[i*2+1])+ angle;
   }
   for (i=0; i      t = P[i*2]*sin(P[i*2+1]);
      NewLocate[i*2]   = (shiftx + t)*SCALE_X;
      t = P[i*2]*cos(P[i*2+1]);
      NewLocate[i*2+1] = (shifty + t)*SCALE_Y;
   }
}

结束语

机器视觉系统不但大幅的提升了工业的生产力,而且增加了使用者的能力。使用机器视觉系统可以保护人眼的健康和提高检测,而机器视觉系统能24小时不停顿地工作,且能在高速下执行检查,而检视的准确度也能控制在较稳定的程度之内。
此外,在危险工作环境中,在需要快速处理的军事武器操控,实时、大量的生产线上,在量测、定位、对象判别等高性工作中,机器视觉系统也都有很好的应用前景。

关键词:1394MITSUBISHI  WINDOWS

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!