本发明涉及一种表面性状测量设备的控制方法。具体地,本发明涉及在使用表面性状测量设备对测量对象(以下称为工件)进行测量的情况下、在不与该工件发生干扰的移位路径中移位传感器的表面性状测量设备的控制方法。
背景技术:
传统地,在cnc(计算机数字控制)型的图像测量设备中,通常已经使用以下两种方法创建具有工件的测量条件的描述的部件程序。第一种方法是在线教学。在在线教学中,通过将实际的工件放置在测量设备上,以手动方式对该工件进行实际测量,同时将测量过程存储在图像测量设备中。第二种方法是离线教学。在离线教学中,拍摄工件的二维cad数据并显示在显示器上,以及在参考该二维cad数据的同时,通过利用(诸如鼠标或键盘等)输入装置键入命令来对测量过程进行编程(例如,参见日本专利3596753(2004年12月2日发布)、日本专利4812477(2011年11月9日发布)以及日本专利4932202(2012年5月16日发布))。
以下概述采用离线教学创建测量部件程序。图1是为使用离线教学设定测量过程(测量条件)而提供给用户的示例性gui(图形用户界面)画面121。图1在左上角窗口125中显示工件的cad数据。在本示例中,显示工件的平面图。
作为示例,在工件的平面图中,圆c1位于左下方以及圆c2位于右上方。用户在进行圆c1的圆测量(诸如中心和直径的测量)后进行圆c2的圆测量。在这种情况下,设定并输入测量过程(测量条件),使得照相机从圆c1的正上方的位置移位至圆c2的正上方的位置。在该gui画面121中,经常用于设定测量过程(测量条件)的命令被作为图标140而提供。另外,用户设定并输入的测量过程(测量条件)清楚地显示在编辑窗口122中。
编辑窗口122以日常生活中使用的语言(编辑语言)而不是专业的编程语言清楚地显示,因此任何人都可以很容易地理解语言所传达的内容。在查看编辑窗口122时,用户可以在该过程的中途容易地进行测量过程(测量条件)的编辑任务(诸如插入、删除和修改等)。用户通过使用鼠标操作所提供的命令图标140以及通过使用键盘输入数值来输入测量过程(测量条件)。
在用户设定进行圆c1的圆测量、然后进行圆c2的圆测量的测量过程(测量条件)的情况下,例如进行下面的过程。首先,用户设定移动(move)命令1以将照相机移位至圆c1的正上方的位置。用户点击作为用于命令移位的命令图标的移动命令图标141,并输入圆c1(目的地)的(中心)坐标(x1,x1,z1)。例如,用户可以使用键盘直接键入圆c1的中心坐标,或者可以通过点击圆c1的圆周上的期望点而从cad数据中自动识别出圆的中心。之后,用户点击作为用于圆测量的命令图标的圆测量命令图标142。
接下来,用户设定移动命令2以将照相机移位至圆c2的正上方的位置。换句话说,用户点击移动命令图标141,并输入圆c2的中心坐标(x2,y2,z2)。然后,用户点击圆测量命令图标142。以这种方式,设定测量过程(测量条件)。
图像测量系统将设定并输入的测量过程(测量条件)展开并转换成图像测量设备能够读取和执行的部件程序语言。通过将用户采用编辑语言设定的测量条件的命令集转换成部件编程语言的命令集,能够创建图像测量设备执行用户所期望的测量的部件程序。以这种方式,通过使用二维cad数据的离线教学来创建部件程序。通过使用图像测量设备读取和执行该部件程序来进行工件的测量。具体地,在进行圆c1的圆测量之后,通过将照相机移位至圆c2的正上方的位置来进行圆c2的圆测量。
与三维cad数据不同,该二维cad数据不具有三维信息。因此,在通过使用二维cad数据的离线教学创建部件程序的情况下,图像测量系统无法获得与工件的三维形状有关的信息。甚至在照相机的移位路径上竖立设置有台阶或突起的情况下,图像测量系统也无法识别该台阶或突起,并且自然无法自动进行干扰检查。在图像测量设备原样执行部件程序的情况下,例如如图2中所示,照相机16可能与突起b0接触。
传统地,图像测量设备已经使用了相对平坦的测量对象,因此不需要担心在移位路径上照相机16可能与工件w接触。然而,将来可能需要使用图像测量设备来对具有相对大的凹凸的工件进行测量,并且必须对这种需求进行应对。因此,需要一种图像测量设备的部件程序生成装置,其在使用二维cad数据的离线教学中容易地创建避免照相机和工件之间的干扰的部件程序。
技术实现要素:
根据本发明的表面性状测量设备的控制方法是一种表面性状测量设备的控制方法,所述表面性状测量设备具有进行工件的非接触式测量的传感器,并且在所述传感器和所述工件相对移位的情况下所述表面性状测量设备测量所述工件,所述表面性状测量设备的控制装置:获得起始点的坐标值和目标点的坐标值;获得障碍的高度数据,其中所述障碍是所述工件上的突起或台阶;阻止传感器移位;配置在所述传感器移位到所述障碍上方时在所述传感器和所述障碍之间所要确保的安全间隙;基于所述障碍的高度、所述传感器的工作距离以及所述安全间隙,计算所述传感器越过所述障碍所需的安全高度;以及基于所述起始点的坐标值、所述目标点的坐标值以及所述安全高度,获得在从所述起始点到所述目标点的路径上至少以所述安全高度通过所述障碍上方的安全路径。
在本发明中,优选地,所述安全高度是以表达式(所述障碍的高度)+(所述安全间隙)-(所述工作距离)所计算出的值。
在本发明中,优选地,在所述起始点为所述安全高度以上且所述目标点为所述安全高度以上的情况下,通过所述表面性状测量设备进行所述传感器从所述起始点直行至所述目标点的移位;在所述起始点为所述安全高度以上但所述目标点低于所述安全高度的情况下,通过所述表面性状测量设备进行所述传感器从所述起始点至所述目标点正上方的位置的水平移位、之后使所述传感器向所述目标点降低;在所述起始点低于所述安全高度但所述目标点为所述安全高度以上的情况下,通过所述表面性状测量设备进行使所述传感器从所述起始点升高到所述目标点的高度、之后使所述传感器水平移位至所述目标点;以及在所述起始点低于所述安全高度且所述目标点低于所述安全高度的情况下,通过所述表面性状测量设备使所述传感器从所述起始点升高至所述安全高度、之后使所述传感器水平移位至所述目标点正上方的位置、再之后使所述传感器向所述目标点降低。
在本发明中,优选地,在所述起始点为所述安全高度以上且所述目标点为所述安全高度以上的情况下,通过所述表面性状测量设备进行所述传感器从所述起始点直行至所述目标点的移位;在所述起始点为所述安全高度以上但所述目标点低于所述安全高度的情况下,通过所述表面性状测量设备进行所述传感器从所述起始点至所述目标点正上方的安全高度处的位置的移位、之后使所述传感器向所述目标点降低;在所述起始点低于所述安全高度但所述目标点为所述安全高度以上的情况下,通过所述表面性状测量设备进行使所述传感器从所述起始点升高到所述安全高度、之后使所述传感器移位至所述目标点;以及在所述起始点低于所述安全高度且所述目标点低于所述安全高度的情况下,通过所述表面性状测量设备使所述传感器从所述起始点升高至所述安全高度、之后使所述传感器水平移位至所述目标点正上方的位置、再之后使所述传感器向所述目标点降低。
在本发明中,优选地,防止传感器移位的障碍可以包括在所述起始点和所述目标点位于相对角的矩形内。
附图说明
在以下的具体实施方式中,参考所标注的多幅附图以本发明的示例性实施例的非限制性示例的方式进一步描述了本发明,其中相同的附图标记表示整个说明书附图中的多幅图中的相同的部件,并且其中:
图1示出提供给用户的用于使用离线教学设定测量过程(测量条件)的示例性gui画面;
图2示出照相机移位的示例性情形;
图3示出图像测量系统的整体结构;
图4是部件程序生成装置的功能框图;
图5示出提供给用户的示例性gui画面;
图6示出照相机绕行障碍的示例性状态;
图7示出示例性工件;
图8示出创建的示例性测量过程;
图9示出测量过程被转换成部件程序语言的示例性情形;
图10是描述从测量点p1到测量点p2的移位的放大图;
图11是描述部件程序生成过程的流程图;
图12是描述安全高度计算过程的流程图;
图13示出测量过程被转换成部件程序语言的示例性情形;
图14示出测量过程被转换成部件程序语言的示例性情形;
图15是描述从测量点p5到测量点p6的移位的放大图;
图16是描述部件程序生成过程的流程图;
图17示出测量过程被转换成部件程序语言的示例性情形;
图18是描述从测量点p3到测量点p4的移位的放大图;
图19示出测量过程被转换成部件程序语言的示例性情形;
图20示出提供给用户的示例性gui画面;
图21是部件程序生成装置的功能框图;
图22示出提供给用户的示例性gui画面;
图23示出测量过程被转换成部件程序语言的示例性情形;
图24示出测量过程被转换成部件程序语言的示例性情形;
图25示出照相机移位的示例性情形;
图26示出照相机移位的示例性情形;
图27示意性地示出变形例中的第四绕行模式和第五绕行模式;
图28是描述变形例中的第四绕行模式的流程图;
图29示出在变形例中测量过程被转换成部件程序语言的示例性情形;
图30示意性示出变形例中的第五绕行模式;
图31是描述变形例中的第五绕行模式的流程图;
图32示出在变形例中测量过程被转换成部件程序语言的示例性情形;以及
图33示意性示出另一变形例。
具体实施方式
这里示出的细节采用举例的方式且仅用于本发明的实施例的说明性讨论的目的,并且呈现这些细节是为了提供被认为是对本发明的原理和概念方面的最有用且最易于理解的描述。关于这一点,没有试图更详细地示出本发明的结构性细节,而是本发明的基本理解所必须的,结合附图的描述使得如何在实践中实现本发明的形式对于本领域技术人员而言是明显的。
参考附图和附图中分配给各组件的附图标记给出本发明的实施例的描述。
第一实施例
图3示出作为表面性状测量设备的图像测量系统10的整体结构。图像测量系统10包括图像测量设备1和控制计算机2,其中控制计算机2驱动控制图像测量设备1并执行所需的数据处理。
图像测量设备1如下配置。测量台13安装在台架11上,并且工件w(测量对象)放置在测量台13上。通过y轴驱动机构(图中未示出)在y轴方向上驱动测量台13。向上延伸的框架14固定到台架11的后端部。x轴驱动机构和z轴驱动机构(图中均未示出)设置在从框架14的顶部的前面突出的盖部15的内部。ccd照相机(以下称为“照相机”)16被x轴驱动机构和z轴驱动机构支承。照相机16被安装以从上方查看测量台13。在工件w上照射照明光的环形照明装置17设置到照相机16的下端。
控制计算机2包括主计算机21和输入部/输出部25。输入部/输出部25包括显示器24、键盘22、鼠标23和打印机4。显示器24可以是触摸面板。
主计算机21是具有cpu和存储器的所谓的计算机。主计算机21响应于用户进行的输入操作而进行图像测量设备1的驱动控制。此外,主计算机21通过处理照相机16所获得的图像数据来执行诸如工件(测量对象)w的形状分析等的处理。此外,主计算机21进行显示器24的显示控制并向用户提供图形用户界面。在本实施例中,描述了使用二维cad数据的部件程序生成方法和部件程序生成装置,然而主计算机21是部件程序生成装置。此外,主计算机21是控制图像测量设备1的操作的主要“控制装置”。
部件程序生成装置
图4是部件程序生成装置100的功能框图。通过向cpu加载部件程序生成程序来通过cpu和外围电路(诸如rom和ram等)实现部件程序生成装置100。部件程序生成装置100包括:cad数据存储器110、测量条件设定器120和部件程序生成器130。
cad数据存储器110是存储工件的二维cad数据的存储器。
测量条件设定器120向用户提供例如图5中所示的gui画面121,以及在接收到用户进行的输入操作后设定测量过程(测量条件)。测量条件设定器120向用户提供能够以可以理解的编辑语言、而不是专业编程命令来编辑测量条件的编辑窗口122。此外,测量条件设定器120将设定测量过程(测量条件)常用的命令集作为命令图标140提供给用户。在本实施例中,如图5所示,新创建了绕行移动命令图标124(名为“绕行移动”的命令图标)。将在后面描述该绕行移动命令图标124所提供的功能。
工件的cad数据显示在图5的左上方的cad数据窗口125中。在该示例中,显示工件的平面图。作为示例,进行圆c1的圆测量,之后将照相机16移位至圆c2的正上方的位置并进行圆c2的圆测量。然而,突起b0竖立设置在连接圆c1和圆c2的路径上。在这种情况下,照相机16在移位过程中可能与突起b0接触。
因此,如图6中所示,需要移位照相机16以绕行突起b0。使用“移动”命令的多个组合在理论上能够设定绕行路径。然而,即使使用编辑语言,用户每当设定并输入这样的绕行路径时也需要很大的工作量。
在本实施例中,以测量条件的编辑语言来提供绕行移动命令图标124。在照相机16从起始点(移位的起点;圆c1)向目标点(目的地;圆c2)移位的情况下,当用户确定为突起b0竖立设置在路径中途时,用户使用绕行移动命令图标124设定命令(“绕行移动”命令)。
用户点击绕行移动命令图标124。消息126显示在编辑窗口122中,询问作为针对绕行移动命令需要输入的项的目的地的坐标值和“障碍高度”。该示例中的“障碍高度”是突起b0的高度。例如,用户可以通过分别参考侧视图或剖视图的cad数据、而不是平面图的cad数据来输入突起b0的高度。之后,通过后述的部件程序生成处理来自动生成具有在适当绕行突起b0的同时向目的地移动的路径的部件程序。
在图5的gui画面121中,显示用于设置参数的窗口127。作为参数,设定并输入照相机16的工作距离和安全间隙。
照相机16的工作距离是照相机16的下端面和焦平面之间的距离。例如,参见图6。工作距离是由照相机16的类型或放大率决定的值,并且因此测量条件设定器120或部件程序生成器130可自动地获得该距离。在该示例中,使用具有30mm的工作距离的照相机16。
安全间隙是在照相机16跨越障碍时照相机16的下端和障碍之间确保的空间。安全间隙可以设置为几毫米的值。可以将预定值设置为默认值,或者用户可以输入并设置任何值。在本示例中,安全间隙设置为5mm。
以此方式,用户在测量条件设定器120中设定“绕行移动命令”。该绕行移动命令是新功能,但是,从用户的角度来看,与现有移动命令的唯一区别是用户是否需要输入“障碍高度”。
为了更详细且更全面地描述照相机16的移位路径,考虑如图7所示的工件w。点p1~p7是测量点。照相机16在从点p1向点p7移位的同时测量各测量点(p1~p7)。在各测量点之间存在突起。这些突起被称为障碍b1~b6。
此外,为了更具体地描述,设定了示例性的数值。在图7中,测量点p1的高度(z坐标值)为0(零)。障碍b1~b6的所有高度(z坐标值)设定为+6。测量点p2到测量点p7的高度(z坐标值)分别设定为-6、-23、-33、-23、-6和0。
在使用上述绕行移动命令图标124输入测量条件的情况下,可以容易地创建如图8所示的测量过程。通过使用绕行移动命令图标124,仅输入目的地的坐标和以竖立方式设置的障碍高度。此外,将测量点p1的x坐标和y坐标设定为x1和y1。此后,还使用相应的标记以相同的方式指示测量点p2~p7的x坐标和y坐标。在将从测量点p1向测量点p2的绕行移动命令化的情况下,例如,需要将测量点p2(目的地)的坐标值(x2,y2,-6)和以竖立方式设置的障碍b1的高度(+6)作为绕行移动命令p2输入。
部件程序生成器130将测量条件设定器120设定的测量过程(测量条件)(图8)展开并转换成部件程序语言(参考图9)。换句话说,将编辑语言的命令集转换成部件程序语言的命令集。
在本实施例中,以编辑语言来新创建作为“绕行移动”命令集的绕行移动命令图标124。与此相关,在部件程序生成器130中,“绕行移动”命令需要适当展开并转换成部件程序语言的命令集。参考图11、12和16中的流程图和图10、15和18中的操作示例来描述该特征。
部件程序生成方法
参考图11、12和16的流程图顺序地描述部件程序生成器130的操作。原理上,编辑语言的命令集和部件程序语言的命令集一一对应。简单地说,编辑语言的各命令集可以以部件程序语言进行编译。然而,在创建诸如绕行移动命令等的新命令的情况下,图像测量设备1无法直接执行绕行移动命令并且无法将绕行移动命令编译成单个命令。在这样的情况下,需要翻译以使用图像测量设备1已包括的功能来实现绕行移动命令的意图。
在本实施例中,图像测量设备1执行绕行移动命令的操作确实是本发明的特征。因此,将测量条件设定器120所设定的绕行移动命令展开成部件程序的处理被描述成部件程序生成器130的操作。
在照相机16从第一测量点(起始点)向第二测量点(目标点)移位的情况下,照相机16需要在不接触障碍的状态下进行移位。因此,在从测量点向测量点移位的情况下,照相机16根据需要采用绕行路径(参见图7中的箭头)、而不沿直线移位。在通过跨越障碍从测量点向测量点移位的情况下,存在四种移位模式(换句话说,不绕行、第一绕行模式、第二绕行模式和第三绕行模式)。参考具体示例分别描述这四种移位模式。
不绕行的移位模式
考虑照相机16从测量点p1向测量点p2移位的情况。换句话说,测量点p1是起始点,并且测量点p2是目标点。图10是描述从测量点p1向测量点p2移位的放大图。此外,讨论集中在图8中的测量条件(测量过程)的绕行移动命令p2。
如图11的流程图所示,在绕行移动命令展开成部件程序的情况下,部件程序生成器130首先获得照相机16的“当前高度”(st110)。在该示例中,“照相机高度”指的是照相机16的焦平面的高度。另外,“当前高度”是在“绕行移动命令p2”开始执行时的照相机16的高度。换句话说,当前高度是在“绕行移动命令”紧前面的命令(测量1)结束时的照相机16的高度。
获得当前高度(st110)。测量点p1的高度为0。在图8的测量条件(测量过程)中,在绕行移动命令p2紧前面的移位(移动命令p1)中,照相机16到达测量点p1,因此可以读取移动命令p1指示的目的地。
接着,获得目标点的高度(st120)。目标点表示目的地,并且在本示例中,目标点是测量点p2。测量点p2的高度为-6。
接着,部件程序生成器130计算“安全高度”(st130)。本示例中的“安全高度”是照相机16安全地跨越障碍b1时所需的“焦平面高度”。例如参考图6,在照相机16跨越障碍的情况下,在照相机16的下端和障碍屏障之间需要确保安全间隙。因此,照相机16安全地跨越障碍时所需的焦平面高度(即,安全高度)表示如下。
(安全高度)=(障碍高度)+(安全间隙)-(工作距离)
图12中的流程图示出安全高度计算(st130)的具体过程。获得障碍高度(st131)、工作距离(st132)和安全间隙(st133)并以上式计算安全高度(st134)。在本示例中,障碍高度(st131)为6,工作距离(st132)为30,以及安全间隙(st133)为5。
(安全高度)=(障碍高度)+(安全间隙)-(工作距离)
=6+5-30
=-19
以这种方式获得了安全高度。
在获得安全高度(-19)的情况下,之后将“安全高度”与“当前高度”和“目标高度”进行比较(st140和st150)。在以上示例中,“当前高度”(=0)和“目标高度”(=-6)两者均高于“安全高度”(=-19)。在这种情况下,在照相机16从“当前高度”(=0)直线移位至“目标高度”(=-6)的情况下,照相机16的高度不小于“安全高度”(=-19)。因此,部件程序生成器130确定为在将绕行移动命令p2(从测量点p1到测量点p2)展开成部件程序中的情况下不需要绕行,并且在不绕行的情况下将命令p2转换成简单的移动命令(参见图13)。具体而言,即使在绕行移动命令p2展开成部件程序中的情况下,命令p2也仅成为直线移位至目的地的一条移动命令(movep2(移动p2))。
第一绕行模式
接着,将从测量点p2向测量点p3的移位认为是需要绕行的示例(图7和10)。该描述集中在图8中的测量条件(测量过程)的绕行移动命令p3。
在获得当前高度(st110)时,测量点p2的高度为“-6”。当获得目标点的高度(st120)时,测量点p3的高度是“-23”。当计算安全高度(st130)时,由于障碍b2的高度为+6(st131),因此安全高度与前述情形类似地为“-19”。将安全高度(-19)与当前高度(-6)和目标点高度(-23)进行比较(st140和st150)。
该比较表明当前高度(-6)大于安全高度(-19)(st140:是),但目标点高度(-23)小于安全高度(-19)(st150:否)。由于目标点高度(-23)小于安全高度(-19),因此在照相机16直线向目标点移位的情况下,照相机16在到达目标点之前可能接触障碍(b2)。在这种情况下,部件程序生成器130在将测量条件的绕行移动命令展开成部件程序时选择第一绕行模式的绕行路径。
换句话说,部件程序生成器130将绕行移动命令展开为两个移动命令(参见图14)。在第一绕行模式中,如图11的流程图所示,照相机16首先通过水平移位移位到目标点(本示例中的点p3)的正上方的位置(st170)(图10中的箭头a1)。之后,照相机16沿着竖直方向降低到目标点的高度(st180)(图10中的箭头a2)。
由于“当前高度”(-6)大于安全高度(-19),因此照相机16应该能够在当前高度处以水平移位安全地越过障碍(b2)。一旦照相机16已以水平移位安全通过障碍,照相机16就可以向目标点移位。即使在测量条件中输入障碍b2的高度(+6),也不输入障碍b2的详细位置(坐标)。当照相机16移位到目标点(测量点p3)的正上方的位置时,可以说照相机16已经确实通过了障碍b2。因此,在照相机16水平移位到目标点的正上方的位置(st170)之后,照相机16向目标点降低(st180)的路径是确保安全性的最佳路径。
第二绕行模式
接着,描述应用第二绕行模式的情形。作为示例,考虑从测量点p5向测量点p6的移位(图7和15)。图15是描述从测量点p5向测量点p6的移位的放大图。描述集中在图8中的测量条件(测量过程)的绕行移动命令p6。
在获得当前高度(st110)时,测量点p5的高度是“-23”。当获得目标点高度(st120)时,测量点p6的高度为“-6”。与之前相同,安全高度为“-19”(st130)。
首先,在图11的流程图中,将安全高度(-19)与当前高度(-23)进行比较(st140)。该比较表明当前高度(-23)小于安全高度(-19)(st140:否)。流程图的剩余部分参考图16。接着,将目标点高度(-6)与安全高度(-19)进行比较(st210)。目标点高度(-6)大于安全高度(-19)(st210:是)。
即使在目标点高度(-6)大于安全高度(-19)(st210:是)的情况下,由于当前高度(-23)小于安全高度(-19)(st140:否),因此在照相机16从当前位置(测量点p5)直线向目标点(测量点p6)移位的情况下,照相机16可能在到达目标点(测量点p6)之前接触障碍(b5)。
在这种情况下,部件程序生成器130在将测量条件的绕行移动命令p6展开成部件程序时选择第二绕行模式的绕行路径。换句话说,部件程序生成器130将绕行移动命令展开成两个移动命令(参见图15和17)。具体地,首先沿竖直方向使照相机16升高到目标点(测量点p6)的高度(st220)(图15中的箭头a3)(图17中的movep6-1)。由于当前高度(-23)小于安全高度(-19),因此照相机16在不从当前高度改变高度的状态下沿横向方向移位的情况下可能接触障碍(b5)。因此,应当首先通过沿竖直方向升高照相机16(图15中的箭头a3)来使照相机16移位到至少高于安全高度(-19)的高度。在这一点上,当照相机16升高至安全高度(-19)时,照相机16能够安全地通过障碍b5。但是,目标点(测量点p6)的高度(-6)比安全高度(-19)高,因此以一次操作将照相机16举到目标点高度是合理的。然后,照相机16以水平移位向目标点(测量点p6)移位(st230)(图15中的箭头a4)(图17中的movep6-2)。
在当前高度(-23)小于安全高度(-19)(st140:否)、而目标点高度(-6)大于安全高度(-19)(st210:是)的情况下,将照相机16升高至目标点高度(st220)、然后以水平移位向目标点移位(st230)的路径是确保安全的最佳路径。
第三绕行模式
接着,描述应用第三绕行模式的情形。作为示例,考虑从测量点p3向测量点p4的移位(图7和18)。图18是描述从测量点p3向测量点p4的移位的放大图。该描述集中在图8中的测量条件(测量过程)的绕行移动命令p4。
在获得当前高度(st110)时,测量点p3的高度为-23。当获得目标点高度(st120)时,测量点p4的高度为-33。与之前相同,安全高度为“-19”(st130)。
在将安全高度(-19)与当前高度(-23)和目标点高度(-33)进行比较时,两者都小于安全高度(-19)(st140:否且st210:否)。在这种情况下,照相机16必须被考虑安全通过障碍b3上方。部件程序生成器130在将测量条件的绕行移动命令展开成部件程序的情况下选择第三绕行模式的绕行路径。
换句话说,部件程序生成器130将绕行移动命令展开为三个移动命令(参见图19)。流程图参见图16。具体地,首先沿着竖直方向使照相机16升高至安全高度(-19)(st240)(图18中的箭头a5)(图19中的movep4-1)。当升高至该高度时,照相机16不与障碍b3接触,因此是安全的。
然后,以水平移位将照相机16移位到目标点(测量点p4)的正上方的位置(st250)(图18中的箭头a6)(图19中的movep4-2)。另外,使照相机16沿竖直方向降低到目标点(st260)(图18中的箭头a7)(图19中的movep4-3)。使用该绕行路径,照相机16可以安全地移位到目标点。
在当前高度和目标点高度均小于安全高度(st140:否且st210:否)的情况下,首先使照相机升高到安全高度以确保安全性,然后移位到目标点。因此,该照相机可以安全地越过障碍而到达目标点。
本发明的效果
使用本实施例,实现了以下有益效果。
(1)根据本实施例,即使在以离线教学设定绕行路径以使照相机跨越障碍的情况下,用户也只需要输入障碍高度。当输入了障碍高度时,部件程序生成器130自动确定何时需要绕行,并且进一步自动设定照相机以所需安全高度安全地跨越障碍的绕行路径。当用户必须手动设定绕行路径时,操作非常复杂。针对各障碍计算安全高度、通过比较当前高度和目标高度来确定绕行的必要性、以及逐一输入适当的绕行路径需要过多的时间量。此外,当用户计算错误或输入错误时,照相机和工件可能会损坏。关于这一点,根据本实施例,用户可以在不显著增加用户的负担的情况下适当地设定绕行路径。因此,在使用图像测量设备对具有相对大的凹凸的工件进行测量的情况下,能够简单、快速且安全地创建部件程序。
(2)根据本实施例,部件程序生成器130获得针对各障碍所需要的安全高度,并自动设定最佳绕行路径。在该示例中,在照相机16升高到足以越过障碍的高度的情况下,照相机没有与工件接触的风险。在极端的情况下,当照相机16升高到z轴行程的最高点时,照相机16绝对不会接触工件w。然而,当采用越过各障碍的这样的迂回时,测量需要不必要的长时间,这导致极为不利的测量效率。关于这一点,根据本实施例,基于障碍高度计算安全高度(st130),并且可以获得安全地越过安全高度的最合理的绕行路径。因此,能够维持良好的测量效率。
(3)根据本实施例,当图像测量设备无法直接执行绕行移动命令时,可以使用现有移动命令的组合实现绕行移位。为了使用图像测量设备1的运动控制器实现绕行移位,有必要在设计上进行稍微复杂的修改以创建新的命令。然而,在测量条件(测量过程)展开成部件程序的阶段将测量条件(测量顺序)转化为现有移动命令的组合的情况下,如在本实施例中,图像测量设备本身的修改是没有必要的。因此,本实施例的执行只需要最小的附加成本。
第一变形例
在上述第一实施例中,需要针对各绕行移动命令输入障碍高度。作为第一变形例,不要求每次输入障碍高度。例如,考虑事先输入工件的最高点的方法。例如,如图20所示,将工件的最高点作为参数设置中的一项输入。在绕行移动命令的处理中,工件的最高点是障碍高度。
在使用工件的最高点作为障碍高度来设定绕行路径的情况下,绕行路径显然是绝对安全的。用户不需要每次都输入障碍高度,因此测量条件的设定变得极为简单。然而,在以这种方式创建绕行路径的情况下,照相机需要每次升高到安全越过工件的最高点的高度。这意味着照相机不必要地迂回并且测量时间变得更长。然而,可能存在相比测量时间本身、输入测量条件浪费更多的时间的问题。例如,测量样本产品和少量产品的情况。连续测量具有相同形状的几百、几千、几万个工件的情形,则另当别论。然而,在测量样本产品或少量产品的情况下,稍微迂回不是问题并且输入作业的简单性是优选的。
第二变形例
作为不需要每次输入障碍高度的第二方法,除了二维cad数据外,还在主计算机中事先输入高度数据。在图21中,高度分布数据存储器111连接到cad数据存储器110。例如,在图22中,工件的平面图显示在cad数据窗口125中并且区别地涂画阴影线。在读取cad数据之后先由用户进行涂画。在本示例中,用户指定各范围并分别输入高度。使用主计算机的图形处理,例如通过基于高度改变阴影线的密度来显示高度差。当然,可以使用不同的颜色进行区别显示。另外,可以读取事先区别涂画的cad数据。作为用户辅助,当鼠标光标位于cad数据窗口125内的各区域中时,可以在弹出窗口、状态栏等中显示所设定的高度。可替代地,当用户使用鼠标拖动顶端、下端、或高度刻度171的范围指示器172的整个空间并指定所希望的范围时,只有期望高度范围(例如,9mm-10mm)的区域可以被着色以使其它区域突出和淡出。虽然用户指定范围,但是用户可以通过绘制形状来指定范围,或者计算机可以通过使用主计算机的图形处理功能来自动识别cad数据的轮廓线所包围的区域。
在区别涂画高度的情况下,区域可能重叠。例如,在设定工件的最宽的平坦表面wp的高度之后,存在突起b0(障碍)的高度设定在平坦表面wp内的情形。即,针对突起b0设定了两个值。在因为区域以这种方式重叠而设定了两个值的情况下,有必要针对哪个值具有优先级制定规则。
第一个方法是对之后设定并输入的高度赋予优先级。之后设定并输入的凸起b0的高度具有优先级。在一般的情况下,由于之后选择具有突起或孔部分的区域,因此认为上面提到的规则是足够有用的。自然地,用户能够选择性地每次在先输入的值或后输入的值之间改变优先级。第二个方法是对被包括的区域或狭窄区域中设定并输入的高度赋予优先级。在一般的情况下,针对广泛的领域作出近似的设置,之后局部修改这些设置,因此认为该规则是足够有用的。自然地,用户能够选择性地每次在被包括的区域中的值和窄区域中的值之间改变优先级。
尽管在编辑窗口122中设定并输入测量条件,但是当用户发出针对绕行移位的命令时,测量条件设定器120自动地基于当前位置和目标位置将路径上的最高点设定为障碍高度。因此,用户不再需要在测量条件的编辑过程中各自输入障碍高度。
代替测量条件设定器120从高度数据中读取路径上的最高点,部件程序生成器130可以在向部件程序的展开时从高度数据中读取路径上的最高点。
第三变形例
当将测量条件设定器120设定的测量条件展开成部件程序语言时,如图23所示,绕行移动命令可以作为子例程161包含到部件程序中。在本示例中,子例程161按图11、12和16中描述的顺序生成绕行移位路径,并使用移位路径对照相机进行移位。当转换成部件程序时,测量过程中的各绕行移动命令具有目标坐标(x,y,z)和障碍高度hb作为实参数,并且被转换为调用子例程161的调用命令。当运行部件程序时,各调用命令调用子例程161,基于实参数生成绕行移位路径,并执行移位。
第四变形例
上述第一实施例是在图像测量设备1无法直接执行“绕行移动命令”的假定下进行的解释。自然地,图像测量设备(换句话说,图像测量设备的运动控制器)取而代之能够直接执行“绕行移动命令”。准备了与绕行移动命令相对应的部件程序语言的单个命令。然后,如图24所示,绕行移动命令采用相应的部件程序语言来编译。本质上,在执行该部件程序时,图像测量设备(图像测量设备的运动控制器)可以使用图11、12和16的流程图中的步骤来执行绕行移动命令。在这种情况下,图像测量设备(图像测量设备的运动控制器)具有内置的“控制装置”。
另外,图像测量设备可以包括用于设置和修改参数(照相机的工作距离与安全间隙)、设置和修改绕行移动命令的障碍高度参数、以及加载和利用高度分布数据(诸如文件等)的功能。支持高度分布数据(诸如文件等)的创建的功能可以包括在主计算机中。
第五变形例
在对这一点的说明中,照相机16从起始点向目标点沿直线“直行”。然而,照相机16和测量台13的相对移位通过x轴、y轴和z轴的三个驱动轴的合作来实现。因此,照相机16不限于从起点向目标点沿直线直行。
例如,考虑图25中的情形。在图25的工件中,障碍b8位于相对于连接圆c1和圆c2的直线稍微偏离的位置。在测量圆c1之后,当照相机16沿直线向圆c2直行时,照相机16不接触障碍b8。然而,在y驱动轴和x驱动轴没有和谐合作的状态下、各驱动轴独立地瞄准目标点的情况下,照相机16的移位路径不是直线的(例如参见图25中的虚线a8)。在这种情况下,尽管障碍b8位于相对于连接圆c1和圆c2的直线稍微偏离的位置,但是在照相机16的位置低于障碍b8时,照相机16可能接触障碍b8。因此,在照相机16从起始点向目标点的移位的过程中考虑障碍的情况下,仅考虑位于从起始点至目标点的直线路径上的障碍是不够的。
鉴于此,还考虑照相机16的移位路径相对于直线发生偏离。无论照相机16的移位路径相对于直线偏离多少,所有的移位路径都包括在侧边与驱动轴平行且起始点和目标点位于相对角的矩形中。例如参考图26。因此,在用户输入障碍高度时,优选地,将起始点和目标点处于相对角的矩形中所包括的障碍的最高点作为障碍高度输入。
此外,当测量条件设定器120或部件程序生成器130自动获得障碍高度时,将起始点和目标点处于相对角的矩形中所包括的障碍的最高点设定为障碍高度。
根据该结构,即使在照相机驱动轴没有合作而对照相机进行独立控制的情况下,也在适当越过障碍的路径上进行图像测量。以上描述是平面图(图26)的二维描述,但即使在三维的情况下也能确保安全性。无论照相机16的移位路径相对于直线偏离多少,移位路径都包括在侧边与驱动轴平行且起始点和目标点处于相对角的平行六面体中。然而,照相机的竖直移位路径在不弯曲的状态下平行于z轴。因此,在使用在起始点处将照相机升高到安全高度并且在照相机位于目标点的正上方时向目标点降低的路径的情况下,照相机安全越过平行六面体内的障碍并且必然确保了安全性。
第六变形例
现在描述第六变形例。在上述第一实施例中,说明了第一绕行模式和第二绕行模式。在第一绕行模式和第二绕行模式中,在当前高度和目标点高度之一低于安全高度时,照相机以水平移位通过障碍。绕行系统按步骤执行或移位速度控制模式来执行部件程序,并且由于在为了干扰检查等目的而视觉确认移位路径的情况下直角移位易于理解,因此系统提供安全感,此外,还具有以下优点:由于照相机以足够的余量(安全间隙)通过障碍,因此即使在存在一些设置错误或控制不稳定的情况下,照相机也可靠地通过障碍。然而,绕行路径变长,并且相应地花费较长的时间。因此,在确保安全的范围内,所述的第六变形例允许通过利用对角移位来缩短移位时间。
参考图27,图27对应于图7,并且代替第一绕行模式而使用第四绕行模式,以及代替第二绕行模式而使用第五绕行模式。参考图28和29描述第四绕行模式。在图28的流程图中,当目标点高度小于安全高度(st150:否)时,因为照相机无法直行至目标点,因此绕行是必要的。在该时间点,在第四绕行模式中,代替以“水平移位”将照相机移位至位于目标点的正上方的位置,而是将照相机移位至目标点的正上方的安全高度(st171)。在将图29与图14比较的情况下,在第一阶段的移位(movep3-1)中,代替保持当前高度(z=-6)的水平移位,照相机16移位至z=-19。然后,在到达目标点正上方的安全高度之后,使照相机16朝目标点降低(st180)。在照相机16处于或高于安全高度时,无论怎样移位照相机16都是安全的,并且因此即使在照相机16通过对角移动直行到目标点正上方的安全高度的情况下,也确实能确保安全性。因此,路径变短,并且移位时间相应地缩短。
接下来,参考图30、31和32描述第五绕行模式。在图28和31的流程图中,当目标点高度等于或大于安全高度(st210:是)、且当前高度小于安全高度(st140:否)时,由于照相机16无法直行到目标点,因此绕行是必要的。在该时间点,在第五绕行模式中,照相机16不一次升高至目标点的高度,而是取而代之照相机16保持升高至安全高度(-19)(st221)。在将图32与图17进行比较的情况下,照相机16不在第一阶段的移位(movep6-1)中升高到目标点高度(z=6),而是保持升高到安全高度(-19)(st221),然后移位以直行到目标点(st230)。当照相机16的高度升高到安全高度时,无论怎样移位照相机16,照相机16都是安全的,并且因此即使在照相机16通过对角移动直行到目标点的情况下也确实能确保安全性。因此,路径变短,移位时间相应地缩短。
第七变形例
当照相机16的移位成直角时便于视觉理解,因此可以利用竖直方向移位和水平移位配置所有的移位路径。例如,在图7中,从点p1至点p2以及从点p6至点p7的移位,绕行是不必要的,因此照相机16通过对角移动直行至目标点。然而,如图33所示,可以首先使照相机16升高(或降低),然后水平移位。当然,也可以改变该顺序,并且在执行水平移位后使照相机16升高(或降低)。
另外,本发明不限定于上述实施例,并且根据需要在不脱离本发明的范围的情况下可以进行修改。在这些描述中,将图像测量设备例示为表面性状测量设备,但是本发明的范围可以广泛适用于使用非接触式传感器来测量工件的测量设备。例如,已知使用非接触式传感器来测量工件的形状和高度(轮廓)的形状测量设备。该传感器可以具有诸如光电型和静电电容型等的检测方法。对于光电型,可以使用激光测距,另外,例如日本专利5190330中公开的光谱点传感器(chromaticpointsensor,cps)或wli(白光干涉)测量原理(白光干涉法)也是已知的。可替换地,可以使用测量颜色、光泽、膜厚度等的传感器。传感器接近工件的方向可以应用于朝上或横向的测量设备。
在上述描述中,工件的cad数据存储在cad数据存储器中,并且工件的cad数据作为用户辅助显示在cad数据窗口。在离线教学中,存在例如代替cad数据使用工件的照片的方法。换句话说,在平面图中拍摄的工件的图像数据被存储在数据存储器中,并且工件的照片数据可以作为用户辅助显示在数据窗口中。在这种情况下,可以先通过测量设备本身以长工作距离、宽视场镜头拍摄工件的图像。当拍摄图像时,用户可以通过手动操作来避免冲突。当使用长工作距离视场镜头时,手动操作并不困难。此外,可以进行多个照片拼接(修补)。
注意,上述示例仅是为了说明的目的而提供的,并且决没有被构造成对本发明进行限制。尽管已参考典型实施例说明了本发明,但应当理解,这里已使用的词语是用于描述和说明的词语,而不是用于进行限制的词语。在没有背离本发明的各方面的精神和范围的情况下,可以在如当前陈述和修改的权利要求书的界限内进行改变。尽管这里已参考特定结构、材料和实施例说明了本发明,但本发明并不意图局限于这里所公开的细节;相反,本发明扩展至诸如在所附权利要求书的范围内等的在功能上等同的所有结构、方法和用途。
本发明不限于上述实施例,并且可以在没有背离本发明的范围的情况下进行各种改变和修改。
相关申请的交叉引用
本申请要求2016年3月16日提交的日本申请2016-052031的优先权,其公开内容明确地通过引用整体并入本文。