机器视觉检查系统中编程分步重复操作的图形用户界面的制作方法

文档序号:6356487阅读:393来源:国知局
专利名称:机器视觉检查系统中编程分步重复操作的图形用户界面的制作方法
技术领域
本发明通常涉及机器视觉检查系统,且更具体地涉及可用来定义和编程所述系统的检查操作的方法、视频工具和用户界面特征。
背景技术
精密机器视觉检查系统(或简称为“视觉系统”)可被利用来得到被检物体的精确尺寸测量并且检查各种其它物体特性。这样的系统可以包括计算机、摄像和光学系统、 以及精密平台,该精密平台可在多个方向上移动以使得摄像机扫描正被检查的工件的特征。一种商业可用的示例性现有系统是可从位于伊利诺斯州奥罗拉的Mitutoyo America Corporation(MAC)得到的QUICK VISION 系列的基于PC (个人计算机)的视觉系统和 QVPAK 软件。例如,在 2003 年 1 月出版的 QVPAK 3D CNC Vision Measuring Machine User's Guide和 1996年9月出版的QVPAK 3D CNC Vision Measuring Machine Operation Guide中概括地描述了 QUICK VKION 系列的视觉系统和QVPAK 软件的特征和操作, 上面的每本书特此整体地并入作为参考。例如,举例为QV-302专业模型(pro model)的这种产品能够使用显微镜型光学系统来提供各种放大倍数的工件图像,并且按需要移动平台以便在任何单个视频图像的界限上贯穿工件表面。在假设这种系统的期望放大倍数、测量分辨率和物理尺寸限制的情况下,单个视频图像通常仅包括正被观察或检查的工件的一部分。机器视觉检查系统通常利用自动视频检查。美国专利No. 6,542, 180 (,180专利) 教导了这种自动视频检查的各个方面,并且其整体并入于此作为参考。如’ 180专利中所教导的,自动视频检查度量衡工具通常具有编程性能,使得用户针对每个特殊工件构型定义自动检查事件序列。这可以通过基于文本的编程,例如,或者通过一种记录模式,或者通过两种方法的组合来实现,所述记录模式通过存储与用户借助图形用户界面执行的检查操作序列对应的机器控制指令序列来逐步“学习”检查事件序列。这样的记录模式通常称作“学习模式”或“培训模式”。一旦在“学习模式”中定义了检查事件序列,随后就可以在“运行模式”期间使用这样的序列来自动地获取(和另外地分析或检查)工件的图像。包括特定检查事件序列的机器控制指令(即,如何获取每个图像和如何分析/检查每个所获取图像)通常被存储为专用于特殊工件构型的“部件程序”或“工件程序”。例如,部件程序定义如何获取每个图像,例如如何相对于工件定位摄像机,以什么发光级别, 以什么放大倍数级别等等。而且,部件程序例如通过使用诸如边缘/界限检测视频工具之类的一个或多个视频工具来定义如何分析/检查获取图像。可以人工地使用视频工具(或者简称为“工具”)和其它图形用户界面特征来实现人工检查和/或机器控制操作(在“人工模式”中)。在学习模式期间也可以记录它们的设置参数和操作,以便生成自动检查程序或“部件程序”。视频工具可以包括例如边缘 /界限检测工具、自动聚焦工具、形状或图案匹配工具、尺寸测量工具等等。其它图形用户界面特征可以包括与数据分析、分步重复(st印and repeat)循环编程等相关的对话
5框。例如,这些工具例行公事地用于各种商业可用的机器视觉检查系统,例如上面讨论的 QUICK VISION 系列的视觉系统和相关联的QVPAK 软件。针对分步重复编程的当前可用特征和图形用户界面(GUI)控制受到限制。具体地,在学习模式或人工模式期间,可用于设置分步重复操作以及相关操作参数的替换物是有限的。因此,现有的替换物可能不够,且不易适用于某些工件的有效使用。而且,针对分步重复操作的现有用户界面并不特别直观,这使得用户难以学习和保留。针对分步重复用户界面特征需要克服这些和其它缺陷以便允许更有效、直观和灵活使用和编程精密机器视觉检查系统。

发明内容
本发明内容被提供来介绍一种简化方式的概念选择,并且在下面的具体实施方式
中得以进一步描述。本发明内容不意欲识别请求保护的主题的关键特征,也不意欲用来辅助确定请求保护的主题的范围。按照本发明的某些示例性实施例,提供了一种用于编程机器视觉检查系统的分步重复操作的方法。所述机器视觉检查系统包括成像部分、用于在所述成像部分的视场(FOV) 中夹持一个或多个工件(待检查)的平台、控制部分和图形用户界面(GUI)。所述方法一般包括由机器视觉检查系统的操作员(用户)执行的五个步骤。首先,用户操作机器视觉检查系统来定义将对工件特征第一构型执行的一组检查操作。第二,用户操作⑶I来显示分步重复对话框。该分步重复对话框包括定义一组“默认”分步重复位置的第一多个参数,在所述“默认”分步重复位置可以对工件特征第一构型的相应实例执行所定义的该组检查操作。第三,用户操作GUI在所显示的分步重复对话框中定义第一多个参数,以便定义该组默认分步重复位置,从而在GUI中显示所定义的该组默认分步重复位置的成员的图形表现。第四,用户操作⑶I以定义一组“检查”分步重复位置,其是所定义的该组“默认”分步重复位置的子集。所述检查分步重复位置是所定义的该组检查操作将被实际上执行的位置。为了定义一组检查分步重复位置,首先用户使用例如诸如鼠标的合适输入设备,表明在所定义的该组默认分步重复位置的成员的图形表现中将要排除至少一个成员。随后,用户定义该组检查分步重复位置为减少了排除了所表明的至少一个成员的该组默认分步重复位置,从而在GUI中显示所定义的该组检查分步重复位置的成员的图形表现。第五,用户在部件程序中记录所定义的该组检查分步重复位置以供检查工件特征第一构型的多个实例所用。按照本发明的其它方面,还提供了一种适用于执行上述方法的机器视觉检查系统。根据各个示例性实施例的本发明提供了有效、直观且灵活的GUI特征,使得用户在机器视觉检查系统中容易地编程和使用分步重复循环操作。


通过参考结合附图进行的下列详细描述,本发明的前述方面和许多随附优点将变得更容易领会且同样变得更好理解,其中图1是示出通用精密机器视觉检查系统的各个典型组件的图2是图1的机器视觉检查系统的控制系统部分和视觉组件部分的方框图;图3是按照本发明示例性实施例配置的图1的机器视觉检查系统的显示器的屏幕快照,图示了包括用于在笛卡儿坐标中定义分步重复位置的对话框的图形用户界面 (⑶I);图4是按照本发明另一实施例配置的图1的机器视觉检查系统的显示器的另一屏幕快照(screen shot),图示了包括用于在圆柱坐标中定义分步重复位置的对话框的⑶I ;图5是示意性图示按照本发明示例性实施例的、在如图3中的笛卡尔坐标和如图 4中的圆柱坐标两者中定义分步重复位置时使用的设置参数的一个示例性组织的图;图6是图示按照本发明示例性实施例的用于编程图1的机器视觉检查系统的分步重复操作(包括定义分步重复位置)的方法的流程图。图7是按照本发明一个实施例的、图1的机器视觉检查系统的显示器的样本屏幕快照,图示了与将对待检查的一组分步重复位置(例如,所图示的示例中的分步重复对话框中的一组点)中的每一个进行检查操作的定义相关联的一些特征;图8是图示按照本发明示例性实施例的用于编程分步重复操作(包括在对一组分步重复位置中的每一个的学习模式期间将要执行的定义和检验操作)的方法的流程图;图9是按照本发明示例性实施例的、将要在图1的机器视觉检查系统上显示的样本对话框,其提示用户选择生成模拟分步重复检查结果或者生成实际分步重复检查结果 (例如,与图8的方法相关联);和图10是图示按照本发明示例性实施例的、与响应于图9中的对话框中进行的用户选择而生成模拟或实际分步重复检查结果相关联的处理的流程图。
具体实施例方式图1是按照本发明可使用的一个示例机器视觉检查系统10的方框图。机器视觉检查系统10包括视觉测量机器12,该视觉测量机器12可操作地连接成与控制计算机系统 14来交换数据和控制信号。控制计算机系统14进一步可操作地连接成与监视器或显示器 16、打印机18、操纵杆22、键盘M和鼠标沈来交换数据和控制信号。监视器或显示器16 可以显示适用于控制和/或编程机器视觉检查系统10的操作的用户界面。视觉测量机器12包括可移动工件平台32和光学成像系统34,该光学成像系统34 可以包括变焦透镜或可互换透镜。变焦透镜或可互换透镜对光学成像系统34所提供的图像通常提供各种放大倍数。机器视觉检查系统10通常可比拟上面讨论的QUICK VMI0N 系列的视觉系统和QVPAK 软件、以及类似现有技术的商业可用精密机器视觉检查系统。机器视觉检查系统10也在下列专利中得以描述共同受让的美国专利No. 7,454,053 ; 7,324,682 ;以及2008年12月23日提交的美国专利申请No. 12/343, 383 ;2009年10月四日提交的12/608,943,所述专利的每个专利整体并入于此作为参考。本文中公开的精确的分步重复用户界面特征以及相关方法和操作可以提供例如图1中所示的通用精密机器视觉检查系统的更有效、直观且灵活使用和编程,尤其对于初学者或罕见用户。图2是按照本发明的机器视觉检查系统100的控制系统部分120和视觉组件部分200的方框图。如下面将更详细描述的,控制系统部分120被利用来控制视觉组件部分200。视觉组件部分200包括光学构件部分205、光源220、230和MO以及具有中央透明部分212的工件平台210。工件平台210可沿着X和Y轴可控地移动,该X和Y轴位于与可放置工件20的平台平面通常平行的平面上。光学构件部分205包括摄像系统沈0、可互换物镜250,并且可以包括具有透镜286和288的透镜旋转盘构件观0。替代于该透镜旋转盘构件,可以包括固定或手工可互换的放大倍数可变透镜或者变焦透镜结构。通过使用可控电机294将光学组件部分205沿着Z轴可控地移动,该Z轴通常与X和Y轴垂直,将在下面进一步描述。在工件平台210上放置工件20或者容纳多个工件20的托盘或夹具,所述工件20 或者容纳多个工件20的托盘或夹具将使用机器视觉检查系统100来成像。工件平台210 可被控制成相对于光学构件部分205移动,从而可互换物镜250在工件20上的位置之间移动,和/或在多个工件20当中移动。平台光220、同轴光230和表面光240中的一个或多个可以分别发出源光222、232或M2,以便照射一个或多个工件20。所述源光被反射或传输为工件光255,该工件光255通过可互换物镜250和透镜旋转盘构件280并且被摄像系统 260收集。由摄像系统260捕获的工件20的图像在信号线262上被输出到控制系统部分 120。光源220,230和240可以分别通过信号线或总线221,231和241连接到控制系统部分120。为了改变图像放大倍数,控制系统部分120可以通过信号线或总线281沿着轴284 来旋转透镜旋转盘构件观0以便选择透镜旋转盘。在各个示例性实施例中,使用可控电机294在相对于工件平台210的垂直Z轴方向上可移动光学构件部分205,所述可控电机294驱动致动器、连接线缆等,以便使光学构件部分205沿着Z轴移动以改变摄像系统260捕获的构件20的图像的焦距。本文中使用的术语Z轴是指意欲用来聚焦光学构件部分205获得的图像的轴。可控电机294在被使用时经由信号线296连接到输入/输出界面130。如图2中所示,在各个示例性实施例中,控制系统部分120包括控制器125、输入/ 输出界面130、存储器140、工件程序生成器和执行器170以及电源部分190。这些组件中的每一个以及下面描述的另外组件可以通过一条或多条数据/控制总线和/或应用编程界面,或者通过各个元件之间的直接连接而互连。在按照本发明的各个实施例中,工件程序生成器和执行器170包括分步重复循环生成部分172,其提供或激活与分步重复操作相关的各个操作和用户界面特征以及相关编程,如下面更详细地描述。对于分步重复循环生成部分172,替换的配置是可能的。例如, 在一些实施例中,工件程序生成器和执行器170以及分步重复循环生成部分172可以合并和/或不可区分。更一般地,本发明能够以与机器视觉检查系统100协作地可操作来提供本文中公开的用户界面特征以及相关编程和其它操作的任何现在已知或往后开发的形式来实现。输入/输出界面130包括成像控制界面131、运动控制界面132、发光控制界面133 和透镜控制界面134。运动控制界面132可以包括位置控制元件13 和速度/加速度控制元件132b。然而,将会理解,在各个示例性实施例中,这样的元件可以合并和/或不可区分。发光控制界面133包括发光控制元件133a-133n,如果可应用,则对于机器视觉检查系统100的各个相应光源,所述发光控制元件133a-133n控制,例如选择、功率、接通/断开开关和选通脉冲定时。
存储器140包括图像文件存储部分141、工件程序存储部分142和视频工具部分 143,所述工件程序存储部分142可以包括一个或多个部件程序等。视频工件部分143包括工具部分143a和其它类似工具部分( 143m),其确定每个相应工具的⑶I、图像处理操作等等。视频工具部分143也包括感兴趣区域生成器143x,所述感兴趣区域生成器143x支持定义包含在视频工具部分143中的各个视频工具中可操作的各种ROI的自动、半自动和 /或手动操作。通常,存储部分140存储可用来操作视觉系统组件部分200捕获或获取工件20的图像的数据,从而所获取的工件20的图像具有期望的图像特性。存储部分140也可以存储检查结果数据,可以进一步存储可用来操作机器视觉检查系统100以便或者手动或者自动地对所获取图像执行各种检查和测量操作的数据(例如,被部分实施为视频工具),并且通过输入/输出界面130输出结果。存储部分140也可以包含定义通过输入/输出界面130 可操作的图形用户界面的数据。平台光220、同轴光230和表面光MO的信号线或总线221、231和241分别都连接到输入/输出界面130。来自摄像系统沈0的信号线262和来自可控电机四4的信号线 296连接到输入/输出界面130。除了运送图像数据以外,信号线262可以运送来自控制器 125的启动图像获取的信号。一个或多个显示设备136(例如,图1的显示器16)以及一个或多个输入设备 138(例如,图1的操纵杆22、键盘M和鼠标沈)也可以连接到输入/输出界面130。显示设备136和输入设备138可被用来显示用户界面,该用户界面可以包括可用来执行检查操作,和/或创建和/或修改部件程序,查看摄像系统260捕获的图像,和/或直接控制视觉系统组件部分200的各个图形用户界面(GUI)特征。具体地,按照本发明的各个示例性实施例,显示设备136和输入设备138被用来呈现可用于允许有效、直观且灵活使用和编程机器视觉检查系统100上的分步重复循环操作的各个⑶I特征。在各个示例性实施例中,当用户利用机器视觉检查系统100来创建工件20的部件程序时,用户或者通过使用工件编程语言自动地、半自动地或者手动地明确编码指令,和 /或通过在学习模式中操作机器视觉检查系统100生成提供期望的图像获取培训序列的指令,生成部件程序指令。例如,培训序列可以包括在视场(FOV)中定位工件特征、设置光级别、聚焦或自动聚焦、获取图像和提供应用于图像的检查培训序列(例如,使用视频工具)。 学习模式进行操作使得所述序列被捕获或记录和转换为相应的部件程序指令。当执行部件程序时,这些指令将促使机器视觉检查系统再现所培训的图像获取和检查操作以便自动地检查匹配当创建部件程序时使用的工件的一个或多个工件。用于检查工件图像中的特征的这些分析和检查方法通常体现在存储器140的视频工具部分143中包括的各种视频工具中。许多已知的视频工具或者简称为“工具”包含于商业上可用的机器视觉检查系统中,例如上面讨论的QUICK VMION 系列的视觉系统和相关的QVPAK 软件。图3是显示设备136 (例如,图1的显示器16)的』^#样本屏幕快照,图示了形成允许用户以笛卡尔坐标定义分步重复位置的分步重复对话框300的⑶I特征。分步重复对话框300通常包括四个子框图形显示子框301、块定义子框302(可替换地称作为内部循环定义子框30 、块重复定义子框303(可替换地称作为外部循环定义子框30 和“定义
9排除范围”子框304。尽管所图示的分步重复对话框300的示例包括这些子框,但是本发明不限于该特殊构型,而且可以是任何数量或结构的子框来形成本发明的分步重复对话框。在下列描述中,由于小单元(widget)与其显现的位置之间的一一对应,因此如果对于小单元或它的相应位置使用相同附图标记(例如,位置31X处的小单元31X),则更容易解释某些描述。基于描述或上下文,相同编号的小单元和其显现的位置之间的任何区别将是清楚的。显示子框301图形地图示了待检查每个相似工件特征构型的位置“31X”(例如, 310a、311c)。工件特征构型实例的位置31X在所图示的实施例中呈现为点状小单元31X。将在特殊“分步”检查的工件特征构型可以采取各种形式,例如,诸如单一特征的相对简单形式,诸如各个工件特征的复杂组合的相对复杂形式。应当理解,点状小单元31X被用来仅仅象征性地表示为了分步重复编程目的的待检查工件特征构型(相对于其它构型)的相对位置,并且一位置处的小单元形状不必代表在那个位置处将被检查的工件特征的实际构型。在分步重复编程时,在所图示的实施例中,在不同位置——例如,在第一块中的五个位置310a-310e中——在多个实例中重复工件特征构型的检查。在所图示的实施例中,五个位置310a-310e中的构型的实例可被认为对应于内部块(ib)“重复循环”,其可以通过用户在块定义子框302中输入一组实例重复参数来定义。在图3中所示的实施例中,定义分步重复位置(例如,310a-310e)的块的实例重复参数包括块的实例或成员之间沿着X轴的偏移(delta)值(“dXib”)、沿着Y轴的偏移值(“dYib”)和沿着Z轴的偏移值(“dZib”), 所有偏移值起始于参考位置(位置310a)。用户也可以数值地定义块中待重复的实例或成员的数量(“块中的重复数”)。在所图示的示例中,用户可以将沿着X轴和Y轴两者的偏移值指定为“1”并且将重复值指定为“5”,从而使得五个(5)点状小单元分别出现在图形显示子框301中的五个位置310a-310e处。如果非零值输入到“dZib”,则实例的位置将被编程为沿着与X轴和Y轴垂直的Z轴的偏移,即使这并未显现在显示子框301中。按照本发明的各个示例性实施例,块定义子框302中的数值的用户输入自动地使得小单元显示在图形显示子框301中的相应位置(例如310a-310e)。如果用户改变块定义子框302中输入的值,则小单元的显示将自动地变为对应于新指定的值。块重复定义子框303允许用户定义一组块重复参数,其可被认为用来定义分步重复编程操作的外部“重复循环”。然而,应当理解,尽管此处使用内部和外部重复循环的命名而提出一种可能潜在的编程途径,但是其它编程途径也是可能的。而且,检查操作的实际执行不必遵循按照内部和外部循环约束的检查路径等,而是可以遵循任何有效路径。因此,此处使用的命名仅仅是示例性的,而不是限制。在图3中示出的实施例中,块重复参数包括沿着X轴的块对块偏移值(“dXbb”)、沿着Y轴的块对块偏移值(“dYbb”)、和沿着Z轴的块对块偏移值(“dZlA”)、以及待重复块的数量(“块重复”)。在所图示的示例中,用户已经将沿着X轴的块对块偏移值指定为“2”,将沿着Y轴的块对块偏移值指定为“0. 5”和将块重复值指定为“2”。因此,第一块的位置310a-310e处的五个小单元最初分别在位置311a_311e 处重复,其中,例如,位置311a相对于位置310a沿着X轴偏移“2”且沿着Y轴偏移“0. 5”。 按照本发明的各个示例性实施例,如使用块定义子框302,块重复定义子框303中数值的用户输入和编辑自动地使得小单元显示在图形显示子框301中的相应位置(311a-311e)。在各个示例性实施例中,将对工件特征构型的每个实例执行的一组检查操作通过对参考位置(例如图3中的位置310a)处的构型的参考实例执行的操作来定义。换句话说, 在分步重复编程中,对参考位置执行的相同操作可以在多个位置重复的构型的多个实例进行重复。按照本发明的各个示例性实施例,参考位置(图3中的310a)可以与其它位置图形地(例如,以不同的颜色)区分显示,使得用户易于识别参考位置。用户可以在“循环名称”框305中命名所定义的该组分步重复位置。而且,用户可以指明所定义的分步重复位置是否对应于多个工件或者对应于单个工件内的多个位置。具体地,当将在一个工件的构型与另一个工件的构型之间重复所述分步重复操作时,用户可以选择“逐件重复”按钮312。当将在相同工件的多个构型中重复所述分步重复操作时,用户可以选择“单件重复”按钮314。上面的描述已经解释了用户可以如何容易且直观地定义和视觉上检验多个规则排列的分步重复位置,也就是,其中分别排列待检查构型的多个实例的规则位置阵列。如最初由上面概述的实例重复参数和块重复参数定义的分步重复位置的这种规则阵列此处被称作为“默认”分步重复位置。按照本发明的各个示例性实施例,此后用户可以方便地独自编辑该默认分步重复位置。例如,用户可以希望从所定义的该组默认分步重复位置中排除一个或多个实例(或位置)。仍旧参考图3,例如,用户可以希望从所述组中排除位置311e 处的实例。按照本发明的一个实施例,用户可以使用诸如鼠标26之类的适当输入设备来选择将被排除的位置311e。例如,用户可以将鼠标沈的光标定位成靠近位置311e,并且通过在上面点击进行选择。按照本发明的各个示例性实施例,当构型的实例(或位置)被排除时,被排除位置的图形表现可以在图形显示子框301中进行变化。在一个实例中,被排除位置可能简单地消失并且所示为空白空间。可替换地,如在所图示的实例中,被排除位置可以通过变化的小单元来表示,例如其上带“X”的圆圈(与其它点状小单元相比)。按照本发明的进一步实施例,用户可以通过例如再次使用鼠标26点击被排除位置来恢复该被排除位置。然后被恢复位置的图形表现返回到初始状态,例如返回到点状小单元。显示检查分步重复位置的图形表现(包括排除或恢复一些位置)可以或者通过覆盖或者通过修改初始默认分步重复位置的图形表现来完成。因此,在单个分步重复对话框300的界限内,用户可以图形地编辑(例如,排除、恢复等)该组“默认”分步重复位置的各个实例或成员,它们是最初基于块定义子框302和块重复定义子框303中包括的参数而定义的。如果“定义排除范围”子框304包含在分步重复对话框300中,则用户也可以通过使用“定义排除范围”子框304来编辑所定义的该组默认分步重复位置。具体地,如果包括“定义排除范围”子框304,则在“从[X,Y],,和“到[X, Y] "320方面,用户可以数值地(或文本地)定义将要从默认分步重复位置中排除的构型实例的位置范围(或者大量位置范围)。例如,用户可以指定将要排除在“从[4,3. 5]到[6, 4. 5] ”内的位置。在所图示的实施例中,在X = 4 6和Y = 3. 5 4. 5内的位置包括位置 310e(4,4),311d(5,3. 5)和311e(6,4. 5),因此,将要排除这三个位置。随后可以在“定义排除范围”子框302内的“排除位置列表324”中列出按照它们的笛卡尔坐标的排除位置。一旦完全定义了将被排除的位置的范围,用户就选择“定义排除范围”子框302中的“确认”按钮322。“定义排除范围”子框302可以特别用于排除大块的默认位置,例如,在球栅阵列中心中将要排除的位置,等等。在各个实施例中,在图形显示子框301中立即反映“定义排除范围”子框304中的完全条目。类似地,可以在“定义排除范围”子框304中立即反映图形显示子框301中的图形编辑。将要注意,如上所概括地,分步重复对话框将各种图形表现和编辑特征与各种基于文本的定义和编辑特征交互式地组合起来,提供了尤其直观的用户界面。而且,初学者或者专业用户都可以相当简单自信地使用这样的对话框,因为图形表现相对实际检查位置的近似几何相似度(其在视场或者在制图中可见)允许用户来快速地检验所编程的构型匹配他们的意图,甚至对于非常规的分步重复图案也是如此。最后一组分步重复位置是在用户编辑默认分步重复位置之后获得的,其在此处被称为“检查”分步重复位置。如上所述,本发明提供了大量的直观灵活的GUI特征,允许用户不仅定义常规阵列的默认分步重复位置,还定义常规或不常规组的“检查”分步重复位置。 一旦检查分步重复位置被完全定义,用户就可以选择确认按钮330来接受当前定义且显示的该组检查分步重复位置。另一方面,如果用户希望取消迄今为止执行的任何分步重复位置定义,则用户可以选择取消按钮332。在本发明的各个示例性实施例中,确认按钮330的用户选择在部件程序中自动地记录所定义的该组检查分步重复位置以供检查工件特征构型的多个实例使用。图4是显示设备136(例如图1的显示器16)的样本屏幕快照,图示了形成允许用户在圆柱坐标中定义分步重复位置的分步重复对话框400的GUI特征。分步重复对话框 400包括图形显示子框401和一组重复参数402 (也可被称作为重复定义子框40 ,尽管缺少图3中的相关图形框。很大程度上,分步重复对话框400的结构和操作类似于图3的对话框300的结构和操作,并且可以类似地理解。因此,此处仅描述主要不同之处。为了简洁, 分步重复对话框400不使用针对工件特征构型定义默认位置的“循环”阵列的“嵌套循环” 方法(先前已参考图3进行描述)。然而,类似于图3,分步重复对话框400的构型仅仅是按照本发明的一个示例,并且本发明不限于图4中所示的那样。图形显示子框401示出了分别排列在四个位置410-413的四个小单元(或点)41X。位置410是图4的圆柱坐标中的参考位置,并且类似于参考位置310,且可以与其它位置411-413不同地图形表现。用户可以通过使用重复定义子框402来定义一组定义位置411-413的重复参数来定义一组默认分步重复位置。用户通过输入相对于参考位置410 的中心偏移数值“Xe”和“Yc”来定义分步重复默认位置的圆形(或螺旋或螺旋形)排列的中心。在所图示的示例中,用户已设置分步重复位置0Cc,Yc)的额定中心偏移为(-1. 5,0)。 用户也可以定义半径的偏移(delta)值“dR”、角度的偏移值“dA”、沿着Z轴的偏移值“dZ” 以及构型被重复的实例的数量。在所图示的示例中,用户已经指定“dA”= 90°以及重复数量为“4”。因此,起始于参考位置410 (A = 0° ),关于在(-1.5,0)的相对中心(Xc,Yc),待检查构型的默认位置在位置A = 90°、180°和270°处分别重复三次。尽管未图示,如果非零值输入到“dR”,则构型实例将以一般螺旋形图案重复(具有递增或递减的半径),并且如果非零值输入到“dZ”,则实例将利用沿着与X轴和Y轴两者垂直的Z轴的偏移螺旋形地重复。如以前,用户可以在“循环名称”框405中命名所定义的该组分步重复位置。而且, 如先前概括的,用户可以指明所定义的分步重复位置是否对应于多个工件(使用“逐件重复”按钮412)或者对应于单个工件内的多个位置(使用“单件重复”按钮414)。还如前,按照本发明的各个示例性实施例,用户可以在分步重复对话框400中编
12辑或修改所定义的该组默认分步重复位置。具体地,如图3中所示的实施例,用户可以使用诸如鼠标26之类的输入设备来选择将要从待检查的最后一组分步重复位置中排除的图形显示子框401中的一个或多个默认分步重复位置(即,“检查”分步重复位置)。还如以前, 用户可以通过例如使用鼠标沈选择被排除位置来容易地恢复被排除位置。尽管未图示,在分步重复对话框400中可以使用如图3中所示的合适的“定义排除范围”子框来允许用户数值地(或者文本地)定义将要从最后检查组分步重复位置排除的默认分步重复位置的范围。一旦完全定义了检查分步重复位置,用户可以选择确认按钮430。另一方面,如果用户希望取消迄今为止进行的任何分步重复位置定义,则用户可以选择取消按钮432。分步重复对话框400中包括的交互式图形和基于文本的特征组合的优点类似于针对图3中所示的实施例先前概括的优点。图5是示意性图示如上所述的在笛卡尔坐标或圆柱坐标中定义“默认”和“检查” 分步重复位置时使用的设置参数元素的一个示例性组织的图。分步重复模式程序或子例程 500包括“笛卡尔”模式元素501和“圆柱”模式元素502。“笛卡尔”模式元素501包括用于定义分步重复位置的各种参数和特征,如上面参考图3所描述的。与先前图3中描述相同或相似的元件通过相同的编号表示。具体地,这些元素包括“循环名称”参数305、块定义子框302中使用的各种参数 (“重复”、“(^让”、“(^让”、“(12让”)、块重复定义子框303中使用的各种参数(“重复”、 “dXbb”、“dYbb”、“dZbb”)、以及“逐件重复”选择按钮312和“单件重复”选择按钮314。同样“笛卡尔”模式元素501中包括用于定义图形显示子框301中的检查分步重复位置的各种元素,例如“包含位置”元素510、“参考位置”元素512和“排除位置”元素514。“包含位置”元素510允许用户指定或确认“默认”分步重复位置为实际上将被检查的“检查”分步重复位置。在本发明的大多数应用中,参考位置是“包含位置”之一,即,检查分步重复位置之一,并且“参考位置”参数512可被另外地用来呈现看起来图形上不同于剩余检查分步重复位置的参考位置。“排除位置”元素514允许用户排除一个或多个“默认” 分步重复位置,因此那些排除位置将不形成最后一组“检查”分步重复位置的一部分。如上所述,分步重复对话框300的GUI特征允许用户例如通过在将包含或排除的位置上放置光标以及进行点击容易地修改“包含位置”和“排除位置”,以便直观地确认、排除或者恢复任何默认分步重复位置,从而定义最后一组检查分步重复位置。“圆柱”模式元素502类似地包括用于定义分步重复位置的各种参数和特征,如上面参考图4所述。与先前图4中描述相同或相似的元件通过相同的编号表示。具体地,这些元素包括“循环名称”参数405、重复定义子框402中使用的各种参数(“重复”、“dR”、 “dA”、“dZ”、“XC”、1C”)、“逐件重复”选择按钮412和“单件重复”选择按钮414。“圆柱” 模式元素502也包括用于定义图形显示子框401中的检查分步重复位置的各种元素,例如包含“参考位置”元素512的“包含位置”元素510、和“排除位置”元素514。如以前,“包含位置”元素510允许用户指定或确认“默认”分步重复位置为将被实际上检查的“检查”分步重复位置。“排除位置”元素514允许用户排除一个或多个“默认”分步重复位置,因此那些排除位置将不形成最后一组“检查”分步重复位置的一部分。图6是图示按照本发明示例性实施例的、用于图1的机器视觉检查系统的编程分步重复操作(包括定义分步重复位置)的方法的流程图。在步骤610中,提供并操作机器视觉检查系统,例如图1的系统10(或者图2的系统100)。该系统包括成像部分34、用于在成像部分34的视场(FOV)中夹持一个或多个工件的可移动平台32、控制部分14 (或者图 2中的控制系统部分120)以及诸如图3和图4中所示的图形用户界面(GUI),用以定义将对工件特征第一构型执行的一组检查。在步骤612中,⑶I被操作来显示分步重复对话框,例如图3和图4中所示的那些对话框。分步重复对话框包括第一多个参数,用于定义一组默认分步重复位置(例如,块定义子框302、块重复定义子框303和重复定义子框402中的参数)来对工件特征第一构型的相应实例执行该组检查操作。在步骤614中,⑶I被操作来定义所显示的分步重复对话框中的第一多个参数,以便定义该组默认分步重复位置。换句话说,该第一多个参数被设置用以定义默认分步重复位置,其中第一构型的实例可能出现并且接收该组检查操作。在步骤616中,在⑶I中显示所定义的该组默认分步重复位置的成员的图形表现。在步骤618中,⑶I被操作来定义一组“检查”分步重复位置,该组“检查”分步重复位置是该组默认分步重复位置的子集。具体地,用户表明在GUI中显示的所定义的该组默认分步重复位置的成员的图形表现中将要排除至少一个成员。如上所述,用户表明可以基于靠近将被排除成员或在之上布置合适的输入设备,例如鼠标26的光标。然后,该组检查分步重复位置被定义成减少了至少一个所表明的排除成员的该组默认分步重复位置,从而在GUI中显示所定义的该组检查分步重复位置的成员的图形表现。在步骤620中,该组检查分步重复位置被记录在部件程序中以供检查工件特征第一构型的多个实例使用。例如,上面在步骤618中定义的该组检查分步重复位置与在每个检查分步重复位置处将对第一构型执行的该组检查操作一起被记录在部件程序中。图7是按照本发明一个实施例的、图1的机器视觉检查系统10的显示器的样本屏幕快照700,图示了与将对一组检查分步重复位置中的每一个进行的检查操作的定义相关联的一些特征。在所图示的示例中,机器视觉检查系统10以学习模式操作,并且从靠近屏幕快照700顶部的工具栏中,已选择了 “程序” 702的下拉菜单。而且,在“程序” 702的下拉菜单中,“学习”模式的复选标记表示它是有效模式,并且已经激活了 “分步重复”编程模式选择器704。可移动平台32已经移动到一个由窗口 715中所示的X、Y、Z坐标表示的位置,以便支持在FOV中工件特征构型710(例如,圆形印刷电路板孔)的一个或多个实例的成像(使用成像部分34)和检查。在工件显示窗口 712中通常提供FOV的图像以及用于编程检查操作的任何视频工具。工件特征构型710可以对应于先前概述的参考位置。用户可以通过使用各种视频工具,例如如上所述的边缘/界限检测视频工具,定义将要对工件特征构型710执行的一组检查操作。在学习模式期间,或者一旦退出学习模式,针对构型710 定义的该组检查操作被记录在部件程序中以供在各个分步重复位置检查类似工件特征构型的多个实例。仍旧参考图7,屏幕快照700还包括分步重复对话框720,其类似于图3的分步重复对话框300,包括图形显示子框301、块定义子框302和块重复定义子框303。如上面详细描述的,用户可以使用分步重复对话框720来定义默认分步重复位置以及检查分步重复位置,在所述检查分步重复位置中针对构型710定义的该组检查操作将被执行于与构型710对应的附加实例。构型710可被定义为与参考图3和图4描述的参考位置310a类似的参考位置,并且被用作为用于生成默认一组分步重复位置的参考点。在本发明的各个示例性实施例中,它可被定义为参考位置,因为“分步重复”编程模式选择器704与定义在特殊工件特征构型710的那个特殊实例和位置处执行的检查操作关联地被激活。“分步重复”编程模式选择器704的激活可以启动分步重复对话框720的显示。然后,当检查分步重复位置使用分步重复对话框720定义并且被记录到部件程序中以供检查工件特征第一构型的多个实例使用时(图6的步骤620),起初在参考位置相对于构型710定义的该组检查操作被记录在部件程序中以便在所定义的检查分步重复位置的每个处被重复地执行。将要注意,在各个实施例中该组检查操作被定义以及该组检查分步重复位置被定义的顺序可以改变。在一些实施例中,用户可以首先使用分步重复对话框720来定义检查分步重复位置,并且之后定义在参考位置相对于构型710的实例将被执行的该组检查操作。在其它实施例中,用户可以首先定义将对构型710执行的该组检查操作,并且之后基于分步重复对话框720中的参考位置定义检查分步重复位置。图8是图示按照本发明一个实施例的编程分步重复操作(包括在对每个分步重复位置的学习模式期间将要执行的定义和检验检查操作)的方法的流程图。在步骤810中, 用户例如通过在图7中所示的“程序”下拉菜单702中选择“分步重复”704来选择“分步重复”操作定义。在步骤820中,显示分步重复对话框720。在步骤830中,用户在分步重复对话框 720中定义默认分步重复位置以及检查分步重复位置,并且在接受该检查分步重复位置之后,可以关闭分步重复对话框720。在步骤840中,用户例如使用各种视频工具来定义相对于在分步重复对话框720 中定义的检查分步重复位置中包含的参考位置的第一构型的一组检查操作。在步骤850 中,用户例如通过选择“确认”按钮(未示出)来表示针对与参考位置相关联的工件特征710 的构型的检查操作定义结束。在步骤860中,用户选择生成模拟分步重复检查结果以及生成实际分步重复检查结果之一。为此,在一个实施例中,如上面概述的,在用户表示结束与参考位置相关联的检查操作定义之后,图9中所示的对话框可以自动显示于机器视觉检查系统的显示设备136 上。诸如图9中所示的对话框可提示用户选择这些两个选项之一。具体地,一旦充分地定义将要执行的该组检查操作以及所有检查分步重复位置,在学习模式期间,可以提示用户或者选择生成模拟分步重复检查结果或者生成实际分步重复检查结果。在做出选择之后, 用户随后选择“确认”或“取消”按钮来完成选择。在学习模式期间当用户完成定义分步重复程序为工件程序的一部分(部件程序)时,典型地用户希望实际上运行新定义的分步重复程序来确认它的可操作性和性能。然而,在存在相对大量的待检查的重复实例的一些情况下,用户可能希望先行实际上运行程序而不是仅仅模拟运行程序,以便避免耗时的实际测量/检查以节省时间。下面将参考图10来详细地描述生成实际或模拟分步重复检查结果的操作。在步骤870中,基于上面步骤860中做出的用户选择,生成或者实际或者模拟的分步重复检查结果。在这点上,完成了定义分步重复编程以及它的实际或模拟运行。因此,用户继续执行下一学习模式操作(例如,对其它工件特征定义另外检查步骤,或者专门分析
15分步重复检查结果,等等)。图10是图示按照本发明示例性实施例的、与响应于图9的对话框中进行的用户选择而生成模拟或实际分步重复检查结果相关联的处理的流程图。在步骤910中,确定用户是否已选择生成模拟分步重复检查结果。如果否(“否”), 在步骤912中,在机器视觉检查系统100上实际上运行已经定义的分步重复操作。具体地, 在步骤914中,机器视觉检查系统100被设置为一系列检查分步重复位置中的下一检查分步重复位置。最初,这是该系列中的第一分步重复位置。在步骤916中,与检查操作相关联的特征标签递增。在步骤918中,实际上在当前分步重复位置执行检查操作,并且存储实际的检查结果(即,检查数据和测量值)。在步骤920中,确定是否存在更多检查分步重复位置。如果是,则返回到步骤914,机器视觉检查系统100被设置为一系列分步重复位置中的下一检查分步重复位置,并且重复步骤916到920,直到在步骤920中,确定不存在更多检查分步重复位置。返回到步骤910,如果确定用户已选择生成模拟分步重复检查结果(“是”),在步骤922中,与检查操作相关的特征标签递增,好像机器视觉检查系统100被设置为下一分步重复位置(尽管事实上不是如此)。在步骤924中,生成并存储模拟检查结果(即,模拟检查数据和测量值)。模拟检查结果可以包括例如通过召回参考位置检查数据(例如,在参考位置获得的测量值)和基于针对当前模拟分步重复位置的累积分步重复位置增量变换参考位置检查数据而获得的结果,随后这些结果与当前模拟分步重复位置相关联地存储。在步骤拟6中,确定是否存在更多检查分步重复位置。如果是,则返回到步骤922,与检查操作相关联的特征标签再次递增,好像机器视觉检查系统100被设置为下一分步重复位置(尽管事实上不是如此),并且重复步骤拟4和926,直到在步骤拟6中,确定不存在更多检查分步重复位置。随后,在步骤928中,机器视觉检查系统100实际上位于一系列分步重复位置中的最后检查分步重复位置,为附加编程操作就绪。生成模拟检查结果的一个值是生成的伪坐标,并且随后在后来的编程操作中可用测量和检查结果(例如,为了生成附加检查尺寸,在伪坐标和以后检查的测量特征之间,等等)。如上所述,本发明的各个示例性实施例提供了有效、直观和灵活的GUI特征,使得用户在机器视觉检查系统中容易地编程和使用分步重复循环操作。尽管已经图示并描述了本发明的各个优选和示例性实施例,但是将会理解,在不背离本发明的精神和范畴的情况下,其中可进行各种修改。
权利要求
1.一种用于编程机器视觉检查系统的分步重复操作的方法,所述机器视觉检查系统包括成像部分、用于在所述成像部分的视场(FOV)中夹持一个或多个工件的平台、控制部分和图形用户界面(GUI),所述方法包括操作所述机器视觉检查系统以定义将对工件特征第一构型执行的一组检查操作;操作所述GUI显示分步重复对话框,所述分步重复对话框包括定义一组默认分步重复位置的第一多个参数,该组默认分步重复位置用于对所述工件特征第一构型的相应实例执行该组检查操作;操作所述GUI在所显示的分步重复对话框中定义所述第一多个参数,以便定义该组默认分步重复位置,从而在所述GUI中显示所定义的该组默认分步重复位置的成员的图形表现;操作所述GUI以定义作为该组默认分步重复位置的子集的一组检查分步重复位置;和在部件程序中记录该组检查分步重复位置以供检查所述工件特征第一构型的多个实例使用;其中操作所述GUI以定义一组检查分步重复位置还包括表示在所述GUI中显示的所定义的该组默认分步重复位置的成员的图形表现中将被排除的至少一个成员;和定义该组检查分步重复位置为减少了所表示的将被排除的至少一个成员的该组默认分步重复位置,从而在所述GUI中显示所定义的该组检查分步重复位置的成员的图形表现。
2.如权利要求1所述的方法,还包括表示在所定义的该组检查分步重复位置的成员的图形表现中将被排除的至少一个附加成员;和定义该组检查分步重复位置以排除所述至少一个附加排除成员,从而在所述GUI中显示所定义的该组检查分步重复位置的成员的图形表现。
3.如权利要求1所述的方法,其中表示将被排除的成员包括在所定义的该组默认分步重复位置的成员的图形表现中靠近将被排除的成员定位光标,并且操作所述机器视觉检查系统的输入设备来选择用于排除的成员。
4.如权利要求1所述的方法,其中显示所定义的该组检查分步重复位置的成员的图形表现包括以下中的至少一个覆盖和修改该组默认分步重复位置的成员的图形表现,以便提供所定义的该组检查分步重复位置的成员的图形表现。
5.如权利要求1所述的方法,其中该组检查分步重复位置被自动地修改,并且它的图形表现响应于将被排除的成员的表示而显示。
6.如权利要求1所述的方法,其中所定义的该组默认分步重复位置的图形表现响应于在所显示的分步重复对话框中输入所述第一多个参数中包括的参数值而被自动地修改和显不。
7.如权利要求6所述的方法,其中所显示的分步重复对话框中的第一多个参数包括分步重复位置块内的笛卡尔坐标分步重复偏移值dXib和dYib以及表示那个块中的成员数量的第一重复数量、以及用于重复所述块的笛卡尔坐标分步重复偏移值dXbb和dYbb以及表示块的数量的第二重复数量,并且所定义的该组默认分步重复位置的图形表现响应于为dXib、dYib、dXbb、dYbb输入的值、第一重复数量和第二重复数量。
8.如权利要求6所述的方法,其中所显示的分步重复对话框中的第一多个参数包括圆柱坐标分步重复间距值dR和dA以及表示成员数量的重复数量,并且所定义的该组默认分步重复位置的图形表现响应于为dR、dA输入的值和所述重复数量。
9.如权利要求1所述的方法,其中该组默认分步重复位置的成员和该组检查分步重复操作的成员由它们的图形显示中的各自小单元表示,并且被排除成员由改变后的小单元和空白空间之一表示。
10.如权利要求9所述的方法,其中将对所述工件特征第一构型执行的该组检查操作通过与用于生成该默认组分步重复位置的参考位置对应执行的操作所定义,并且所述参考位置小单元在图形显示中具有唯一小单元外观。
11.如权利要求1所述的方法,进一步包括表示将被添加回作为所定义的该组检查分步重复位置的成员的图形表现中的成员的至少一个排除成员;和定义该组检查分步重复位置以包括被添加回成员,从而在所述GUI中显示所定义的该组检查分步重复位置的成员的图形表现。
12.如权利要求11所述的方法,其中表示将被添加回作为成员的排除成员包括在所定义的该组检查分步重复位置的成员的图形表现中定位光标靠近所述排除成员的位置,并且操作所述机器视觉检查系统的输入设备以选择它被添加回的排除成员位置。
13.如权利要求1所述的方法,其中所述对话框包括指示符,该指示符定义该组检查分步重复位置是否被排列用以检查单个工件上的所述工件特征第一构型的多个实例或用于检查相应多个相似工件上的工件特征第一构型的多个实例。
14.如权利要求1所述的方法,其中该组默认分步重复位置的成员的图形表现以及该组检查分步重复位置的成员被呈现在所述对话框的边界内。
15.如权利要求1所述的方法,其中所述对话框包括用于接受当前定义并显示的一组检查分步重复位置的按钮,并且所述方法还包括用户激活所述按钮,其中在部件程序中记录该组检查分步重复位置的步骤是在用户激活所述按钮之后发生的。
16.如权利要求1所述的方法,其中所述GUI还包括第二对话框,所述第二对话框包括多个选择器,所述多个选择器管理一组学习模式操作是否包括实际上重复与所记录的该组检查分步重复位置相对应的所定义的该组检查操作以便生成实际分步重复检查结果、或者一组学习模式操作是否包括在所记录的该组检查分步重复位置处模拟与重复所定义的该组检查操作对应的数据,而不实际地重复所定义的该组检查操作,以便生成模拟分步重复检查结果,并且所述方法还包括选择一个选择器来生成并存储实际分步重复检查结果;或选择另一个选择器来生成和存储模拟分步重复检查结果。
17.一种机器视觉检查系统,包括成像部分、用于在所述成像部分的视场(FOV)中夹持一个或多个工件的平台、控制部分和图形用户界面(GUI),所述控制部分包括使得所述GUI 允许用户执行下列步骤的计算机可执行程序操作所述GUI以定义将对工件特征第一构型执行的一组检查操作;操作所述GUI以显示分步重复对话框,所述分步重复对话框包括定义一组默认分步重复位置的第一多个参数,该组默认分步重复位置用于对所述工件特征第一构型的相应实例执行该组检查操作;操作所述⑶I以在所显示的分步重复对话框中定义所述第一多个参数,以便定义该组默认分步重复位置,从而在所述GUI中显示所定义的该组默认分步重复位置的成员的图形表现;操作所述GUI以定义作为该组默认分步重复位置的子集的一组检查分步重复位置;和在部件程序中记录该组检查分步重复位置以供检查所述工件特征第一构型的多个实例使用;其中操作所述GUI以定义一组检查分步重复位置还包括表示在所述GUI中显示的所定义的该组默认分步重复位置的成员的图形表现中将被排除的至少一个成员;和定义该组检查分步重复位置为减少了所表示的将被排除的至少一个成员的该组默认分步重复位置,从而在所述GUI中显示所定义的该组检查分步重复位置的成员的图形表现。
18.如权利要求17所述的系统,其中所述GUI被配置成使得响应于将被排除的成员的表示,该组检查分步重复位置被自动地修改并且它的图形表现显示在所述GUI中。
19.如权利要求17所述的系统,其中所述GUI被配置成使得响应于在所显示的分步重复对话框中输入所述第一多个参数中包括的参数值,所定义的该组默认分步重复位置的图形表现在所述⑶I中被自动地修改和显示。
20.如权利要求17所述的系统,其中所述GUI被配置成使得所述对话框包括用于接受当前定义且显示的该组检查分步重复位置的按钮,并且所述按钮的激活触发在部件程序中记录该组检查分步重复位置。
全文摘要
提供了一种编程机器视觉检查系统的分步重复操作的方法。所述机器视觉检查系统包括成像部分、用于在所述成像部分的视场(FOV)中夹持一个或多个工件的平台、控制部分和图形用户界面(GUI)。根据所述方法,用户操作所述机器视觉检查系统以定义将对工件特征第一构型执行的一组检查操作。用户还操作所述GUI以显示分步重复对话框,其中他定义限定一组默认分步重复位置的第一多个参数,该组默认分步重复位置用于执行所定义的该组检查操作。用户进一步操作所述GUI以定义一组检查分步重复位置,该组检查分步重复位置是所定义的该组默认分步重复位置的子集,其中将实际上执行所述检查操作。
文档编号G06F9/44GK102200910SQ201110068090
公开日2011年9月28日 申请日期2011年3月22日 优先权日2010年3月22日
发明者于大海, 埃里克.Y-W.塞奥, 瑞安.诺思拉普 申请人:株式会社三丰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1