打孔机影像定位系统设计

发布时间:2010-9-11 13:49    发布者:techshare
关键词: 打孔机 , 影像定位
计算机视觉的应用大致上可以分成定位(Location)、量测(Measurement)、识别(Recognition)、缺陷检测(Defect Inspection)四大类,其中以定位的应用最为广泛,机器视觉系统同时涵盖了多项功能,例如检视主机板上的电子组件。机器视觉也可以用来控制机械手臂,在机械手臂上加装CCD,利用影像辨识的定位,带动机械手臂来做一些高危险性的医疗研究,例如:病毒研究、药物混合等,都可以用这种方式来做控制,除了精准之外,对人类的生命也比较有安全保障。

影像定位后的坐标转换

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



遇到同时发生坐标位移&旋转时,先计算位移,再套用旋转的公式,即可算出最后的结果。

系统架构

本系统为介绍如何设计出结合“机械运动”与“计算机视觉”的自动化定位系统。

基本架构

■ GEME-3000主控制器:含HSL控制卡,安装Windows?XP操作系统

■ 3-Axis定位平台:三菱伺服马达+滚珠螺杆

■ 运动控制器:HSL-4XMO控制模块。

■ 计算机视觉组件:使用IEEE1394 CCD采集影像,利用Euresys eVision的EasyMatch进行影像比对(Pattern Match),作定位偏移的补正计算。

系统流程

本系统为介绍如何设计出结合“机械运动”与“计算机视觉”的自动化定位系统。

系统校正

■ Mitsubishi驱动器调校:10,000 pulse/roll

■ 滚珠螺杆的螺距vs. Pulse/Roll:

■ 如,螺距=10mm/roll,10,000 pulse/roll —>1um/pulse

■ F.O.V.(Field of View)的选定:F.O.V.要大于定位点的大小,太小—>可接受的“初步定位”误差变小;太大—>因定位点影像太小,影像定位误差大。



图2:系统架构实机图




■ CCD工作距离的选定:工作距离要大于打孔顶针,以免对焦时打孔顶针撞到工件。当F.O.V.及工作距离确认后,即求出LENS & Ext. Ring。

教导作业

■ 启动系统3轴回Home,待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] - 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[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;}}

结语

机器视觉系统应用在现今的工业上,不但大幅的提升了工业的生产力,而且增加了使用者的能力。机器视觉系统适用在哪些领域中:

■ 需要显微镜或放大镜配合的工作,长期使用放大工具对视力将会造成很大的损害,且操作人员的素质也成为检验上不定的因素。

■ 高危险工作环境,例如高温、低温、真空、高压、高噪音、高量辐射、高电压、大电流的工作环境。

■ 重复性工作,一成不变的工作容易造成操作人员的倦怠,容易产生疏忽而受伤,或有怠工的现象,而机器视觉能二十四小时无休止的工作,且能在高速下执行检查,而检视的准确度也能控制在较稳定的程度之内。

■ 需要快速处理的状况,如军事武器操控,实时、大量的生产线。

■ 高精确性工作,如量测、定位、对象判别。
本文地址:https://www.eechina.com/thread-26220-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • Dev Tool Bits——使用MPLAB® Discover浏览资源
  • Dev Tool Bits——使用条件软件断点宏来节省时间和空间
  • Dev Tool Bits——使用DVRT协议查看项目中的数据
  • Dev Tool Bits——使用MPLAB® Data Visualizer进行功率监视
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表