机器人、机器人控制装置以及机器人系统的制作方法

文档序号:13750424阅读:217来源:国知局
本发明涉及机器人、机器人控制装置以及机器人系统。
背景技术
:以往,每当使用机器人处理工件时,需要预先向机器人示教工件的位置、工具相对于工件的姿势等。在此,工具是指为了处理工件而使用的机械手等,是根据工件的形态和处理内容安装于机器人的配件。在向机器人示教工件的位置、工具相对于工件的姿势等的情况下,一般采用如下方法,即,将实际的工件的位置作为目标点并通过点动进给操作使工具的前端等控制对象点移动至目标点,并使移动后的位置存储于机器人。专利文献1:日本特开2012-228757号公报然而,机器人处理的工件的对象面未必是水平面(与铅垂方向垂直的面)。例如若是在三棱柱形态的工件的侧面之一通过钻头形成多个孔的处理,则若将其它侧面作为底面而将工件载置在水平的操作台上,则应形成孔的对象面成为非水平的倾斜面。该情况下,示教处于倾斜的对象面上的穿孔位置以及钻头的旋转轴与对象面垂直的姿势。但是,这样的示教操作并不容易,另外,很难高精度地实施。技术实现要素:本发明是为了解决这样的问题而完成的,目的在于使以非水平的平面为基准控制机器人变得容易。用于实现上述目的的机器人,具备:局部坐标系导出部,其基于拍摄表示非水平的作业平面内的3点以上的标记而得的图像导出具有与上述作业平面平行且相互正交的2个轴的局部坐标系;以及控制参数获取部,其经由上述局部坐标系获取控制参数。在此,作业平面是指成为在针对工件控制机器人时的基准的平面,是载置机器人所处理的工件的面、工件的对象面、与它们平行的平面等对工件实施各种处理时作为基准的平面。另外,导出局部坐标系是指使以预先定义的基准坐标系表示的位置与以该局部坐标系表示的位置的对应关系成为明确的状态,例如包括导出坐标变换矩阵。另外,控制参数是表示控制机器人时使用的位置、方向、姿势、距离、速度、加速度、角速度、角加速度等控制量的数值。因此,“经由局部坐标系获取控制参数”意味着在根据局部坐标系来解释其数值(控制参数)的几何学的含义的状态下获取控制参数。应予说明,控制参数本身也可以不表示局部坐标系的坐标、方向,例如也可以通过外部的系统、操作人员的输入操作将与局部坐标系对应的其它坐标系的坐标、方向作为控制参数来获取后,使用变换矩阵来获取局部坐标系的坐标、方向,也可以在通过外部的系统、操作人员的输入操作获取局部坐标系的坐标、方向后,使用变换矩阵获取其它坐标系的坐标、方向。根据本发明,由于能够基于图像导出局部坐标系,并经由导出的局部坐标系使机器人获取控制参数,所以以非水平的平面为基准控制机器人变得容易。应予说明,技术方案所述的各单元的功能通过由构成本身确定功能的硬件资源、通过程序确定功能的硬件资源、或者它们的组合来实现。另外,这些各单元的功能并不局限于各自在通过物理上相互独立的硬件资源来实现的功能。附图说明图1A是本发明的实施方式所涉及的示意性的立体图。图1B是本发明的实施方式所涉及的框图。图2A是本发明的实施方式所涉及的俯视图,图2B是本发明的实施方式所涉及的侧视图。图3是本发明的实施方式所涉及的俯视图。图4是本发明的实施方式所涉及的流程图。图5是本发明的实施方式所涉及的流程图。图6是本发明的实施方式所涉及的流程图。图7是本发明的实施方式所涉及的示意图。图8是表示本发明的实施方式所涉及的图像的图。图9是本发明的实施方式所涉及的示意图。图10是表示本发明的实施方式所涉及的图像的图。图11是本发明的实施方式所涉及的流程图。图12是表示本发明的实施方式所涉及的图像的图。图13是本发明的实施方式所涉及的示意图。图14是本发明的实施方式所涉及的流程图。图15是本发明的实施方式所涉及的流程图。图16是本发明的实施方式所涉及的示意性的立体图。图17是本发明的实施方式所涉及的示意性的立体图。图18是表示本发明的实施方式所涉及的图像的图。具体实施方式以下,参照附图对本发明的实施方式进行说明。应予说明,在各图中对对应的构成要素标注相同的附图标记,并省略重复的说明。1.机器人系统的构成如图1所示,作为本发明的一实施例的机器人系统具备机器人1、摄像机2、以及作为机器人控制装置的PC(PersonalComputer:个人计算机)3。如图1A简化表示的那样,机器人1是具备通过6个旋转轴部件121、122、123、124、125、126弯曲的机械臂的单臂6轴机器人。基台110 支承第一臂111的旋转轴部件121。第一臂111以旋转轴部件121的中心轴为中心与旋转轴部件121一同相对于基台110旋转。第一臂111支承第二臂112的旋转轴部件122。第二臂112以旋转轴部件122的中心轴为中心与旋转轴部件122一同相对于第一臂111旋转。第二臂112支承第三臂113的旋转轴部件123。第三臂113以旋转轴部件123的中心轴为中心与旋转轴部件123一同相对于第二臂112旋转。第三臂113支承第四臂114的旋转轴部件124。第四臂114以旋转轴部件124的中心轴为中心与旋转轴部件124一同相对于第三臂113旋转。第四臂114支承第五臂115的旋转轴部件125。第五臂115以旋转轴部件125的中心轴为中心与旋转轴部件125一同相对于第四臂114旋转。第五臂115支承安装工具的旋转轴部件126。如图2所示,在前端的旋转轴部件126设置有安装用于操作工件的各种工具的工具卡盘1261。如图2A所示,工具卡盘1261的安装面被分割成放射状,在其中央部安装工具的棒状的轴部TJ。工具卡盘1261在旋转轴部件126的旋转轴上夹入各种工具的轴部TJ并将其保持。因此,在工具被正确地安装在工具卡盘1261的状态下,工具的轴部TJ的中心轴与旋转轴部件126的旋转轴一致。在此,将使用机器人1把持工件时成为机器人1与工件的接触点的部分等一般而言最接近对象物的部分的机器人1侧的基准点称作工具中心点(TCP)。在本实施例中,TCP成为控制对象点。如图1B所示,机器人1具备驱动旋转轴部件121的马达131、驱动旋转轴部件122的马达132、驱动旋转轴部件123的马达133、驱动旋转轴部件124的马达134、驱动旋转轴部件125的马达135、驱动旋转轴部件126的马达136、以及控制马达131~136的控制部14。马达131~136是被以目标值与当前值的差值成为零的方式反馈控制的伺服马达。控制部14从PC3获取表示TCP的位置以及姿势的目标值、点动进给指示,并基于目标值以及点动进给指示来控制马达131~136。在控制机器人1时,除了成为全部的坐标系的基准的基准坐标系Rb外,使用相对于各旋转轴部件固定并与各旋转轴部件一同旋转的坐标系J1~J6以及在使用机器人视觉来处理特定的工件时使用的局部坐标系Lc。这些坐标系的长度的单位是毫米,角度的单位是度。机器人1的基 准坐标系Rb是由分别水平的x0轴和y0轴、以及将铅垂向下作为正方向的z0轴决定的三维的正交坐标系,通过设置机器人1而被固定为机器人1动作的空间。与旋转轴部件126一同旋转的坐标系J6是以TCP作为原点,由与旋转轴部件126的旋转轴平行的z6轴、分别与z6轴垂直的x6轴和y6轴决定的三维的正交坐标系。应予说明,各坐标系中,以u表示绕z轴的旋转,以v表示绕y轴的旋转,以w表示绕x轴的旋转。在工具卡盘1261固定有用于安装摄像机2和任意的工具的延长卡盘T。作为拍摄部的摄像机2被以其光轴L与旋转轴部件126的旋转轴平行的方式固定于延长卡盘T。摄像机2具备透镜201、影像传感器202、以及未图示的AD变换器等,是用于识别作业平面内的工件的大小、形状、位置、姿势的拍摄装置。应予说明,在本实施例中被校正的机器人视觉是将预先决定的作业平面作为对象的二维的机器人视觉。因此,优选对透镜201使用景深较浅(焦距较长),F值较小的单焦点透镜。为了定义摄像机2的位置和姿势而定义摄像机坐标系Cam。如图1A所示,摄像机坐标系Cam是将拍摄位置作为原点,并具有与光轴L对应的zcam轴、与影像传感器202的水平方向对应的xcam轴、以及与影像传感器202的垂直方向对应的ycam轴,并相对于J6坐标系固定的三维的正交坐标系。将拍摄位置设为光轴L与影像传感器202的交点。摄像机坐标系Cam通过将固定于旋转轴部件126的J6坐标系中的拍摄位置(x6,y6,z6)和J6坐标系中的摄像机坐标系Cam的姿势(u6,v6,w6)作为成分的摄像机设定来定义。摄像机坐标系Cam的姿势表示将J6坐标系的各轴作为中心,摄像机坐标系Cam每次旋转几度。将从摄像机2输出的图像的坐标系称作图像坐标系Im。图像坐标系Im的长度的单位是像素,角度的单位是度。通过将图像坐标系Im与基准坐标系Rb相对应,能够在作业平面内图像识别工件的位置、姿势、形状。因此,为了基于摄像机2输出的图像来识别工件的位置等,并基于识别结果控制机器人1,需要进行将图像坐标系Im与基准坐标系Rb相关联的处理即校正。图像坐标系Im与基准坐标系Rb的关系根据透镜201的光学特性(焦距、失真等)、以及影像传感器202的像素数和大小来决定。在校正中,需要表示基准坐标系Rb与图像坐标系Im的非线性的对应关系的变换矩阵。然而,在作业平面为非水平的情况下,与经由x0y0平面为水平的基准坐标系Rb来控制或操作机器人1相比,经由具有与作业平面平行的2个轴的坐标系来控制或操作机器人1较容易。因此,在本实施例中,如以下方式定义具有与和水平面呈任意的角度的作业平面平行的2个轴的局部坐标系Lc。局部坐标系Lc是将机器人视觉的视点(拍摄位置)作为原点,并具有相对于作业平面垂直且与摄像机2的光轴L平行的zLc轴、相对于作业平面平行且与摄像机2的光轴L垂直且与图像坐标系的水平轴平行的xLc轴、以及相对于作业平面平行且与摄像机2的光轴L垂直且与图像坐标系的垂直轴平行的yLc轴,并相对于基准坐标系Rb固定的三维的正交坐标系。即,通过以基准坐标系Rb表示的拍摄位置、拍摄姿势以及摄像机设定来针对作业平面每次设定局部坐标系Lc。因此,若摄像机设定不正确,则不能够按照定义设定局部坐标系Lc,不能够经由局部坐标系Lc按照意图来控制机器人1。摄像机设定除了包括摄像机2的位置和姿势外,还包括透镜201的焦距、主点、失真等基于透镜201的光学特性的信息。由于焦距、主点、失真等对于摄像机2而言是不变的,所以基于这些透镜201的光学特性的摄像机设定使用预先决定的值。作为机器人控制装置的PC3以能够通信的方式与机器人1和摄像机2连接。在PC3安装有用于设定局部坐标系Lc来校正基准坐标系Rb与图像坐标系Im的校正程序、用于设定摄像机2与工具相对于TCP的偏置的工具设置程序、示教程序等各种计算机程序。PC3是具备未图示的处理器、由DRAM构成的未图示的主存储、未图示的输入输出机构、由非易失性存储器构成的未图示的外部存储、以及键盘等的计算机。另外,PC3具备具有用于显示由摄像机2拍摄出的图像、GUI的画面的显示部35。PC3通过利用处理器执行存储于外部存储的程序来作为指示受理部30、图像获取部31、目标值导出部32、输出部33、校正部34发挥功能。指示受理部30将由摄像机2拍摄出的图像、GUI显示于显示部35的画面。另外,指示受理部30受理各种处理的开始指示,经由GUI获取目标位置、目标姿势这样的控制参数。即,指示受理部作为控制参数获取部发挥功能。图像获取部31针对摄像机2指示拍摄,并从摄像机2获取表示作业平面所包括的基准点的标记根据指示拍摄出的图像。在本实施例中,为了使作业平面可视化,使用图1A以及图3所示的标记板4。如图3所示,标记板4是具有圆形轮郭的9个标记41~49被标在平坦的面的规定的格子点的板。各标记41~49的中心相当于基准点。对于标记板4上的各标记41~49的中心位置,PC3将其保持在固定于标记板4的二维的坐标系(标记坐标系Cb)。应予说明,标记是能够通过从拍摄有标记的图像检测标记来确定基准点的形态即可。即,是能够针对标记的图形以几何学定义特定的点的位置的形态即可。可以将远离标记的点定义为基准点,也可以由一个标记定义多个基准点,还可以由相互远离的多个标记定义一个基准点。另外,由于若能够由标记确定平面即可,所以标记所指示的基准点个数为3个以上即可。目标值导出部32基于摄像机2拍摄的图像导出用于使摄像机2和标记41~49的位置关系变换为预先决定的状态的目标值。具体而言,目标值导出部32基于由摄像机2拍摄出的图像导出与预先决定的状态对应的TCP的目标值。目标值导出部32在导出目标值的过程中执行从图像坐标系Im向局部坐标系Lc的坐标变换、从局部坐标系Lc向基准坐标系Rb的坐标变换。另外,目标值导出部32通过基于由摄像机2拍摄的图像、TCP的位置、姿势以及摄像机设定来导出决定基准坐标系Rb与局部坐标系Lc的对应关系的变换矩阵RbRLc,设定局部坐标系Lc。即目标值导出部32作为局部坐标系导出部发挥功能。校正部34导出决定图像坐标系Im与基准坐标系Rb的对应关系的变换矩阵ImRRb。校正部34在目标值导出部32导出分别对应的目标值的以下的垂直状态和对焦状态下决定摄像机2与标记41~49(基准点P1~P9)的位置关系后,导出变换矩阵ImRRb。·垂直状态:标记板4与摄像机2的光轴垂直的状态·对焦状态:摄像机2与标记板4对焦的状态对焦状态通过对焦的指标即图像的清晰度来决定。应予说明,虽然在本实施例中,将图像的预先决定的区域(部分图像)的清晰度达到最大的状态设为对焦状态,但也可以通过对对焦的指标设定阈值来使对焦 状态具有一些幅度。输出部33通过将由目标值导出部32导出的目标值输出至机器人1的控制部14来使机器人1动作。2.自动摄像机设定接下来,参照图4对自动摄像机设定进行说明。自动摄像机设定是自动地设定作为摄像机设定的拍摄位置和拍摄姿势的处理。自动摄像机设定通过操作人员将开始指示输入至PC3而起动。然后,也可以不向操作人员要求任何操作而完成。开始指示是用于开始自动摄像机设定的触发事件。因此,也可以不包括用于操作机器人1的目标值。在输入开始指示前对操作人员要求的也可以仅是将标记板4设置为任意的位置和姿势、以及使TCP移动至能够通过摄像机2从大致正面拍摄标记板4的状态的点动进给操作。若开始指示被输入至PC3(S1),则PC3基于图像执行使摄像机2的光轴L相对于标记板4垂直的光轴倾斜修正(S2)。在倾斜修正中,进行基于摄像机2的标记板4的拍摄,利用图像坐标系Im检测表示9个基准点的标记41~49。然后,基于检测结果,导出用于使标记板4与摄像机2的光轴垂直并使中央的标记45定位于图像的重心的目标值,臂111~115动作。在该时刻,由于摄像机2的焦点与标记板4不一致,所以成为标记板4与摄像机2的光轴L大致垂直且标记45的重心与图像的重心几乎一致的低精度垂直状态。下述详细内容。若成为低精度垂直状态,则PC3执行局部坐标系Lc的预先设定(S3)。具体而言,基于旋转轴部件121~125的旋转角度和摄像机设定导出暂定的变换矩阵RbRLc。低精度垂直状态基于由摄像机2拍摄出的图像来设定,但在图像坐标系Im与基准坐标系Rb的校正未完成且摄像机设定也未被修正的该阶段,基于旋转轴部件121~125的旋转角度和摄像机设定来设定的局部坐标系Lc的zLc轴不与摄像机2的光轴L平行,局部坐标系Lc的xLc不与影像传感器202的水平方向平行,局部坐标系Lc的yLc轴不与影像传感器202的垂直方向平行。接下来,PC3执行焦点调整(S4)。在焦点调整中,使摄像机2沿 与局部坐标系Lc的zLc轴平行的方向移动的同时反复进行基于摄像机2的标记板4的拍摄,搜索映现于图像的标记41~49的清晰度达到最大的对焦状态。并且,PC3基于搜索结果导出用于实现对焦状态的目标值,并将导出的目标值输出至机器人1,使臂111~115动作而实现对焦状态。下述详细内容。接下来,PC3基于由摄像机2拍摄出的图像,以局部坐标系Lc的zLc轴向与摄像机2的光轴L平行的方式修正摄像机设定的v成分(绕y6轴的旋转成分)以及w成分(绕x6轴的旋转成分),并且更新局部坐标系Lc(S5)。详细内容如下。由于在基准坐标系Rb中表示光轴L的方向的zLc轴的方向与摄像机设定的拍摄姿势(u,v,w)和旋转轴部件121~126的旋转角度唯一地相关,所以在作为摄像机设定存储的摄像机2的拍摄姿势和安装于第五臂115的摄像机2的实际的拍摄姿势不同的情况下,局部坐标系Lc的zLc轴向从实际的光轴L的方向偏离。例如在摄像机设定的拍摄姿势不正确的情况下,如图9所示,根据使用机器人视觉光轴L相对于标记板4成为垂直的状态的TCP的姿势(z6轴的方向)和摄像机设定的拍摄姿势导出的局部坐标系Lc的zLc轴向不与标记板4垂直。若使摄像机2沿相对于标记板4不垂直的局部坐标系Lc的zLc轴向动作,则位于图像的重心的标记45也在图像坐标系Im动作。因此,首先,PC3在使摄像机2沿局部坐标系Lc的zLc轴的方向移动的前后,利用图像坐标系Im从由摄像机2拍摄出的各图像检测中央的标记45的中心位置。之后,PC3将在使摄像机2沿zLc轴的方向移动前从由摄像机2拍摄出的图像检测出的标记45的中心坐标设为(u1,v1),将在使摄像机2沿zLc轴的方向移动后从由摄像机2拍摄出的图像检测出的标记45的中心坐标设为(u2,v2),导出由下式(1)、(2)决定的倾斜指标Hx,Hy。Hx=(u1-u2)…(1)Hy=(v1-v2)…(2)接下来,PC3基于倾斜指标Hx、Hy,对以固定于TCP的x6轴和y6 轴作为旋转轴的旋转成分w、v修正摄像机设定的拍摄姿势,并且基于修正后的摄像机设定的拍摄姿势与旋转轴部件121~126的旋转角度更新局部坐标系Lc。若执行光轴的倾斜修正,则局部坐标系Lc的zLc轴与光轴L平行。在光轴的倾斜修正中,也可以每当将摄像机设定的拍摄姿势修正预先决定的角度,并且使摄像机2旋转预先决定的角度时导出倾斜指标Hx、Hy,并反复进行将导出的倾斜指标Hx、Hy与预先决定的既定值进行比较的处理,直至倾斜指标Hx、Hy成为规定值以下。即,也可以使摄像机2动作的同时,逐渐地修正摄像机设定的拍摄姿势与局部坐标系Lc。另外,也可以基于倾斜指标Hx、Hy计算使zLc轴与光轴平行的修正量。接下来,PC3通过使TCP沿局部坐标系Lc的xLc轴向移动,以位于图像的重心的标记45仅沿图像坐标系Im的水平方向动作的方式对将J6坐标系的z6轴作为旋转轴的旋转成分u修正摄像机设定的拍摄姿势(S6)。详细内容如下。首先,PC3基于由摄像机2拍摄出的图像,以摄像机2的光轴L与标记板4垂直且中央的标记45位于从摄像机2获取的图像的重心(u3,v3)的方式使摄像机2移动。具体而言,在使步骤S5中被更新的局部坐标系Lc的zLc轴与摄像机坐标系Cam的zcam轴保持平行的状态下,基于由摄像机2拍摄出的图像,以标记45的中心位于图像的重心的方式使摄像机2移动。接下来,PC3使摄像机2沿步骤S5中被更新的局部坐标系Lc的xLc轴向移动Δx。接下来,PC3从摄像机2获取图像,从获取的图像检测标记45的中心位置(u4,v4)。若局部坐标系Lc的xLc轴被设定成与摄像机坐标系Cam的xcam轴平行,则即使摄像机2沿xLc轴向移动,在图像坐标系Im中,标记45也不沿垂直方向移动。然而,若局部坐标系Lc的xLc轴未被设定成与摄像机坐标系Cam的xcam轴平行,则若TCP沿xLc轴向移动,则在图像坐标系Im中,如图10所示,标记45从图像的重心沿垂直方向移动。因此,通过下式(3)导出使局部坐标系Lc的xLc轴和yLc轴以zLc轴为中心旋转的修正角度Δθ,修正局部坐标系Lc的xLc轴和yLc轴的方向与摄像机设定的旋转成分u。[式1]Δθ=arctanv4-v3u4-u3...(3)]]>接下来,PC3通过使摄像机2绕与局部坐标系Lc的zLc轴平行的轴旋转,以位于图像的重心的标记45在图像坐标系Im中不动的方式修正摄像机设定的x6成分以及y6成分,并且更新局部坐标系Lc(S7)。在此,基于图11对步骤S7的处理详细地进行说明。首先,PC3基于由摄像机2拍摄出的图像,使摄像机2移动至摄像机2的光轴L与标记板4垂直且中央的标记45位于从摄像机2获取的图像的重心的初始状态(S71)。具体而言,步骤S6中被更新的局部坐标系Lc的zLc轴与摄像机坐标系Cam的zcam轴平行,以标记45的中心位于图像的重心的方式使摄像机2移动。接下来,PC3基于移动后的TCP的位置和摄像机设定来更新基准坐标系Rb中的局部坐标系Lc的原点的坐标(S72)。在该时刻,由于摄像机设定的xy成分未被修正,所以局部坐标系Lc的原点被设定于与实际的摄像机2的拍摄位置不同的坐标。接下来,PC3将局部坐标系Lc的zLc轴作为旋转轴使摄像机2旋转规定角度θ(例如30度)(S73)。由于局部坐标系Lc的原点与实际的摄像机2的拍摄位置不同,所以摄像机2绕不通过标记45的中心的旋转轴旋转。接下来,PC3从旋转后的摄像机2获取图像,并从获取的图像检测中央的标记45的中心位置(S74)。由于旋转轴未通过标记45的中心,所以旋转后的标记45的中心位置在与旋转前不同的位置被检测。接下来,PC3判定步骤S73中是否使摄像机2旋转了规定次数(S75)。若在步骤S73中未使摄像机2旋转规定次数,则PC3从步骤S73开始反复进行处理。若步骤S73、S74的处理被反复进行,则标记45的中心的轨迹如图12所示描绘圆弧。若在步骤S73中使摄像机2旋转规定次数,则PC3利用图像坐标系Im导出标记45的中心所描绘的圆弧的中心O(u7,v7)(S76)。接下来,PC3以与利用图像坐标系Im导出的圆弧的中心O对应的点成为局部坐标系Lc的原点的方式在基准坐标系Rb中使局部坐标系Lc与xLcyLc平面平行地移动并更新,并且基于被更新的局部坐标系Lc与基准坐标系Rb的对应关系修正摄像机设定的x6成分以及y6成分(S77)。在局部坐标系未确定且图像坐标系Im和基准坐标系Rb未被校正的该阶段,局部坐标系Lc或基准坐标系Rb与图像坐标系Im的对应关系未被决定。因此,PC3以标记45位于步骤S76中求出的圆弧的中心O的方式使摄像机2平移,基于在图像坐标系Im中检测的标记45的移动前后的坐标和基准坐标系Rb的移动前后的拍摄位置(由TCP和摄像机设定决定的拍摄位置)导出图像坐标系Im与步骤S72中设定的局部坐标系Lc的对应关系。接下来,PC3基于导出的对应关系将图像坐标系Im中的圆弧的中心O的坐标变换为步骤S72中设定的局部坐标系Lc的坐标。接下来,PC3将步骤S72中设定的局部坐标系Lc中的圆弧的中心O的坐标变换到基准坐标系Rb中,导出将圆弧的中心O作为原点的新的局部坐标系Lc。结果,步骤S72中设定的局部坐标系Lc与xLcyLc平面平行地移动。另外,变换为基准坐标系Rb的圆弧的中心O的xrb、yrb坐标与实际的摄像机2的拍摄位置的xrb、yrb坐标一致。因此,PC3基于圆弧的中心O的xrb、yrb坐标与TCP的位置坐标来修正摄像机设定的x6成分以及y6成分。接下来,PC3基于由摄像机2拍摄出的图像,修正摄像机设定的z6成分,并且更新局部坐标系Lc(S8)。详细内容如下。首先,PC3基于由摄像机2拍摄出的图像,使摄像机2转移至摄像机2的光轴L与标记板4垂直且中央的标记45位于从摄像机2获取的图像的重心的初始状态。具体而言,以步骤S7中被更新的局部坐标系Lc的zLc轴与摄像机坐标系Cam的zcam轴平行,标记45的中心位于图像的重心的方式使摄像机2移动。接下来,PC3基于移动后的TCP的位置和摄像机设定来更新基准坐标系Rb中的局部坐标系Lc的原点的坐标。在该时刻,由于摄像机设定的z6成分未被修正,所以局部坐标系Lc的原点被设定于与实际的摄像机2的拍摄位置不同的坐标。接下来,PC3在初始状态下从摄像机2获取图像,利用图像坐标系 Im检测标记41~49的位置,并基于检测出的标记41~49的位置与标记坐标系Cb中的标记41~49的位置导出从标记板4至拍摄位置的距离H。在此,图像坐标系Im中的距离与标记坐标系Cb中的距离的关系与从标记板4至拍摄位置的距离H线性地对应。因此,PC3基于根据图像坐标系Im中的标记41~49的位置计算的标记间距离与根据标记坐标系Cb中的标记41~49的位置计算的标记间距离导出距离H。接下来,如图13所示,PC3在不改变拍摄位置使摄像机2绕xcam轴或ycam轴旋转规定角度θ后,从摄像机2获取图像并检测标记45的中心位置的同时,再次使摄像机2相对于局部坐标系Lc的xLcyLc平面平行地移动,直至标记45位于图像的重心,从而测量TCP的移动距离ΔD。应予说明,在该时刻,摄像机坐标系Cam的xcam轴与局部坐标系Lc的xLc轴平行,摄像机坐标系Cam的ycam轴与局部坐标系Lc的yLc轴平行。若摄像机设定的z6成分相对于实际的拍摄位置被正确地设定,则被测量的TCP的移动距离、根据摄像机设定导出的摄像机2的移动距离ΔD、以及实际的摄像机2的移动距离ΔD′相等。然而,在该时刻,由于摄像机设定的z6成分相对于实际的拍摄位置未被正确地设定,所以根据TCP的位置和摄像机设定导出的拍摄位置从实际的拍摄位置向zLc方向(相对于标记板4垂直的方向)偏离。因此,如图13所示,实际的摄像机2的移动距离ΔD′与根据TCP的位置和摄像机设定导出的移动距离ΔD不相等。距离H、角度θ、距离ΔD、以及摄像机设定的z6成分的误差Δz的关系通过下式(4)来表达。(H+Δz)tanθ=ΔD…(4)因此,PC3通过下式(5)导出Δz来修正摄像机设定的z6成分并使其确定,并且基于根据旋转轴部件121~126的旋转角度导出的当前的TCP的位置和修正后的摄像机设定来更新局部坐标系Lc。[式2]Δz=ΔDtanθ-H...(5)]]>被更新的局部坐标系Lc成为将实际的摄像机2的拍摄位置作为原点,具有与摄像机2的光轴L平行的zLc轴、与影像传感器202的水平方向平行的xLc轴、以及与影像传感器202的垂直方向平行的yLc轴的坐标系。另外,已确定的摄像机设定与摄像机2的拍摄位置和拍摄姿势正确地对应。3.光轴倾斜修正接下来,参照图5对光轴倾斜修正的详细内容进行说明。在光轴倾斜修正中,将姿势和位置未知的标记板4作为基准来修正实际的摄像机2的拍摄位置和拍摄方向。具体而言,导出摄像机2相对于坐标系Cb(其固定于标记板4)的拍摄位置和拍摄姿势,并以标记坐标系Cb的zcb轴与摄像机2的光轴L平行的方式使摄像机2的姿势变化。首先,目标值导出部32经由图像获取部31从摄像机2获取图像,并通过解析图像来检测标记41~49的中心位置(S21)。即,目标值导出部32在图像坐标系中检测作业平面所包括的9个基准点的位置。接下来,目标值导出部32基于在标记坐标系Cb中预先决定的标记板4上的各标记41~49的中心位置和在图像坐标系Im中检测出的标记41~49的中心位置,导出表示标记坐标系Cb中的摄像机2的姿势的姿势矩阵C(S22)。在式(6)所示的姿势矩阵C中,(a11,a21,a31)是表示标记坐标系Cb中的xCam轴的方向的向量Cx,(a12,a22,a32)是表示标记坐标系Cb中的yCam轴的方向的向量Cy,(a13,a23,a33)是表示标记坐标系Cb中的光轴L的方向的向量Cz。[式3]C=a11a12a13a21a22a23a31a32a33...(6)]]>接下来,目标值导出部32基于摄像机2的姿势矩阵C导出光轴L的倾斜指标θx、θy、θz(S23)。θx是xCam轴和xCb轴所呈的角度。θy是yCam轴和yCb轴所呈的角度。θz是光轴L和zCb轴所呈的角度。在标记坐标系Cb中,表示xcb轴的方向的向量X是(1,0,0),表示 ycb轴的方向的向量Y是(0,1,0),表示zcb轴的方向的向量Z是(0,0,1)。由于Cx·X=|Cx|cosθx=a11…(7)Cy·Y=|Cy|cosθy=a22…(8)Cz·Z=|Cz|cosθz=a33…(9),目标值导出部32使用下式(10)、(11)、(12)导出倾斜指标θx,θy,θz。θx=acos(a11/|Cx|)…(10)θy=acos(a22/|Cy|)…(11)θz=acos(a33/|Cz|)…(12)接下来,目标值导出部32判定倾斜指标θx、θy、θz是否全部为规定值以下(步骤S24)。将既定值例如设为0.5度。若倾斜指标θx、θy、θz全部为规定值以下,则结束光轴倾斜修正。在倾斜指标θx、θy、θz不是全部为规定值以下的情况下,目标值导出部32基于步骤S23中导出的倾斜指标导出用于使摄像机2移动至使标记板4相对于摄像机2的光轴L垂直并且使光轴L通过中央的标记45的中心的位置和姿势的目标值。所导出的目标值通过输出部33被输出至机器人1的控制部14。结果,臂111~115动作(S25)。若输出部33将目标值输出至机器人1且臂111~115动作后停止,则反复进行图像获取部31从摄像机2获取图像,目标值导出部32基于图像导出倾斜指标并评价的从上述的步骤S21至步骤S24的处理。4.焦点调整接下来,参照图6对焦点调整的详细内容进行说明。在焦点调整中,如图7所示,使TCP沿与摄像机2的光轴L平行的方向移动的同时,搜索映现于图像的标记41~49的清晰度达到最大的对焦状态。首先,目标值导出部32保存当前的TCP的位置和姿势(S31)。即,保存步骤S2的倾斜修正结束的时刻的TCP的位置和姿势。接下来,目标值导出部32基于在标记坐标系Cb中的标记41~49的各重心的坐标和在图像坐标系中的标记41~49的各重心的坐标,导出从摄像机2至标记板4的距离(S32)。接下来,目标值导出部32基于从摄像机2获取的图像导出摄像机2的对焦指标(S34)。作为对焦指标,能够使用以一定面积将映现标记41~49的区域的微分累计值(清晰度)标准化而得的值。像图8A以及图8B的以虚线包围的区域,导出对焦指标的对象区域被设定成全部的标记41~49收敛于内侧的最小的矩形区域。即,基于从由摄像机2拍摄标记41~49而得的图像切出的部分图像导出对焦指标。接下来,目标值导出部32判定在焦点调整中摄像机2拍摄的次数是否达到规定次数(S35)。在焦点调整中摄像机2拍摄的次数未达到规定次数的情况下,目标值导出部32使TCP沿与摄像机2的光轴L平行且接近或远离标记板4的方向移动规定距离(S36)。若使TCP移动,则图像获取部31从摄像机2获取图像(S37),从步骤S33开始反复进行处理。即,改变拍摄位置的同时进行基于摄像机2的拍摄,直至拍摄次数达到规定次数,并对每个拍摄出的各图像导出对焦指标。越接近标记板4,映现标记41~49的区域越大,最终,如图8C所示,标记41~49不收敛于图像。因此,摄像机2越接近标记板4,导出对焦指标的对象区域被设定得越大,在映现标记41~49的区域与图像的端边相接后成为图像整体。若对这样设定的区域导出对焦指标,则若对焦指标是清晰度,则通常在逐渐变大后逐渐变小。在焦点调整中,若摄像机2拍摄的次数达到规定次数,则目标值导出部32基于对焦指标导出用于实现对焦状态的目标值,输出部33将导出的目标值输出至机器人1(S38)。具体而言,例如,导出用于使TCP移动至得到步骤S34中导出的多个对焦指标中的最大的对焦指标的位置的目标值。若将导出的目标值输出至机器人1,则标记板4相对于摄 像机2成为对焦状态。5.局部坐标系的自动设定与自动校正为了设定表示作业平面的局部坐标系或者校正基准坐标系Rb和图像坐标系Im,以往,需要进行设置为使摄像机2的光轴L相对于作业平面正确地垂直的状态或者以J6轴相对于作业平面垂直的姿势修整作业平面并正确地示教作业平面的位置和姿势这样的致密的准备。在作业平面为非水平的情况下,修整作业平面的操作的难易度上升。而且,在这些准备不正确的情况下校正失败。另外,操作人员通过得知校正的失败而得知校正的准备不正确。因此,以往,对于校正和局部坐标系的设定需要大量的时间。在局部坐标系的自动设定和自动校正中,使用未进行校正的状态下的机器人视觉(通过摄像机2拍摄的图像)自动地进行校正和局部坐标系的设定。在自动地进行的校正的准备中包括实现如下状态的自动控制:摄像机2的光轴相对于表示作业平面的标记板4垂直且摄像机2与标记板4对焦。因此,在标记板4与摄像机2的正确的位置关系未被决定的状态下仅通过输入开始指示,就能够极其容易地校正基准坐标系Rb和图像坐标系Im。而且,在校正的准备完成的状态下,通过设定局部坐标系Lc,将作业平面作为基准来控制机器人1变得容易。以下,参照图14对局部坐标系的自动设定和自动校正进行说明。局部坐标系的自动设定和自动校正通过操作人员将开始指示输入至PC3而起动。(S11)然后,也可以不向操作人员要求任何操作而完成。开始指示是用于使局部坐标系的自动设定和自动校正开始的触发事件。因此,也可以不包括用于操作机器人1的目标值。在输入开始指示前对操作人员要求的也可以仅是对PC3设定摄像机设定、将标记板4设置于作业平面、以及使TCP移动至能够通过摄像机2从大致正面拍摄标记板4的状态的点动进给操作。若开始指示被输入至PC3,则PC3执行使摄像机2的光轴L相对于标记板4垂直的光轴倾斜修正(S12)。接下来,PC3执行焦点调整(S14)。接下来,PC3再次执行光轴倾斜修正。在此执行的光轴倾斜修正以及焦点调整与在自动摄像机设定中描述的光轴倾斜修正(S2)以及 焦点调整(S4)相同。若执行第二次的光轴倾斜修正,则摄像机2的光轴L相对于标记板4正确地垂直。接下来,PC3执行局部坐标系的设定(S16)。详细而言,首先,PC3基于由摄像机2拍摄出的图像,以摄像机2的光轴L与标记板4垂直且使中央的标记45位于从摄像机2获取的图像的重心的方式使摄像机2移动。具体而言,从已执行光轴倾斜修正的状态,以标记45的中心位于图像的重心的方式使摄像机2的拍摄位置平移。接下来,PC3基于TCP的位置、姿势以及摄像机设定来设定局部坐标系Lc。由于摄像机设定正确,所以将实际的摄像机2的拍摄位置作为原点,并具有相对于标记板4垂直的zLc轴、与影像传感器202的水平方向平行的xLc轴、以及与影像传感器202的垂直方向平行的yLc轴的局部坐标系Lc被设定。接下来,PC3实施9点校正(步骤S17)。在该时刻,局部坐标系的xLcyLc平面相对于标记板4平行。这意味着能够基于从图像检测的标记41~49的位置校正局部坐标系Lc和表示作业平面的图像坐标系Im、以及能够构成基准坐标系Rb和图像坐标系Im。具体而言,校正部34在设定有局部坐标系Lc的状态(将拍摄位置定位于原点,使局部坐标系与摄像机坐标系的xyz轴分别相互平行的状态)下从摄像机2获取图像,检测并存储标记41~49在图像坐标系Im中的位置。接下来,校正部34将检测出的各标记41~49的中心坐标从图像坐标系Im变换为局部坐标系Lc,并以各标记41~49的中心位于图像的重心的方式使摄像机2的拍摄位置平移。接下来,校正部34基于在图像坐标系Im中检测出的各标记41~49的中心坐标和各标记41~49的中心位于图像的重心的摄像机2的拍摄位置来校正局部坐标系Lc和图像坐标系Im。即,表示局部坐标系Lc与图像坐标系Im的非线性的对应关系的参数使用表示从9个标记41~49下垂至xLcyLc平面的垂线与xLcyLc平面的交点的局部坐标系Lc的坐标(拍摄位置的坐标)和从中央的标记45位于图像的重心的图像坐标系Im检测出的9个标记41~49的中心坐标来导出。在此,对于作业平面上的任意的点,还加入透镜201的失真,从而正确地校正局部坐标系Lc和图像坐标系Im。应予说明,为了导出用于这种非线性变换的参数而使用的基准点的个数越多,校正的精度越高。即,表示基准点的标记的个数越多,校正 的精度越高。由于局部坐标系Lc与基准坐标系Rb的对应关系已经被决定,所以对于基准坐标系Rb与图像坐标系Im,可以在校正局部坐标系Lc与图像坐标系Im时对其进行校正,也可以不校正。另外,也可以不校正局部坐标系Lc与图像坐标系Im,校正基准坐标系Rb与图像坐标系Im。6.目标设定在针对作业平面设定局部坐标系Lc且局部坐标系Lc或基准坐标系Rb与图像坐标系Im被校正的状态下,即使作业平面为非水平,也能够向机器人1容易地示教作业平面上的任意的点。以下,参照图15对向机器人1示教作业平面上的任意的点的目标设定进行说明。在针对作业平面已执行局部坐标系Lc的自动设定和自动校正的状态下,作业平面上的任意的点和图像坐标系Im的任意的点的对应关系变得明确,因此,目标设定能够在从作业平面去除标记板4的状态下执行。首先,PC3从摄像机2获取作业平面的图像并显示于画面(S21)。具体而言,PC3通过将拍摄位置设定于局部坐标系Lc的原点,并设定使局部坐标系Lc的xLc轴、yLc轴、zLc轴分别与摄像机坐标系Cam的xcam轴、ycam轴、zcam轴平行的拍摄姿势并向摄像机2指示拍摄,从摄像机2获取图像,并将获取的图像显示于显示部35的画面。接下来,PC3经由图像坐标系Im获取用于控制TCP、工具的前端等控制对象点的控制参数(S22)。具体而言,例如指示受理部30(控制参数获取部)将针对显示的图像的任意的点的点击、左击(tap)等操作作为使控制对象点移动的目标点的位置的指定来受理。即,PC3经由图像坐标系Im获取作为控制参数的目标点的坐标。此时,PC3也可以与目标点的指定相对应地受理目标姿势的指定。例如也可以是针对所指定的目标点能够通过数值的直接输入、滑动的操作等来指定目标姿势。目标姿势能够通过在局部坐标系Lc中指定决定控制对象点的姿势的坐标系的至少1个轴的方向来指定。而且,在不进行这种目标姿势的指定的情况下,将预先决定的姿势视为目标姿势即可。例如在控制对象点为安装于TCP的钻头尖的前端的情况下,将钻头尖的旋转轴相对于作业平面垂直的姿势,即钻头尖的旋转轴与局部坐标系Lc的zLc轴平行的姿势视为目标姿势即可。接下来,PC3将目标点的坐标变换到局部坐标系Lc中(S23)。即,PC3作为画面显示的图像内的任意的点与局部坐标系Lc的特定的点对应的PC,在步骤S22获取控制参数。因此,在此经由局部坐标系Lc,作为控制参数的目标点的位置和目标姿势被PC3获取。在坐标变换中使用通过自动校正求出的参数。接下来,PC3使用变换为局部坐标系Lc的控制参数来控制控制对象点(S24)。此时,控制参数在通过PC3被变换为在基准坐标系Rb中表示位置的坐标、在基准坐标系Rb中表示姿势的矩阵或角度并被输出至机器人1后,通过机器人1的控制部14被变换为驱动旋转轴部件121~126的马达131~136的旋转角度。控制部14通过使马达131~136旋转而使TCP以目标姿势移动至作业平面上的目标点。应予说明,实际上,需要在受理控制参数的输入后向PC3通知向用户请求执行开始的指令输入等控制参数的输入操作结束这一情况。例如,在画面中显示有执行开始的按钮,并且该按钮被点击的情况下,开始步骤S23的处理即可。应予说明,也能够一次受理多个目标点的设定。在使控制对象点移动的情况下,可以以任意方式决定从起点至目标点的路线,但例如,以模式的切换数最小的方式组合向相对于作业平面平行的方向的移动模式和向相对于作业平面垂直的方向的移动模式较好。由于在像这样组合向相对于作业平面平行的方向的移动和向相对于作业平面垂直的方向的移动而使控制对象点移动的情况下,经由局部坐标系Lc获取控制参数,所以移动方向的计算算法的设计较容易。另外,该情况下,用户能够容易预测控制对象点的移动路线。另外,在控制对象点被设定于工具的情况下,PC3经由图像坐标系Im获取工具的前端等控制对象点的目标点和目标姿势。该情况下,需要预先设定工具相对于TCP的偏置。为了控制工具的前端等控制对象点,PC3执行使用偏置将由用户设定的控制对象点的目标点的坐标变换为基准坐标系Rb中的TCP的坐标,使用偏置将由用户设定的控制对象点的目标姿势变换为基准坐标系Rb中的TCP的目标姿势的处理,并输出至机器人1。机器人1的控制部14基于基准坐标系Rb的坐标和姿势矩阵或角度,导出驱动旋转轴部件121~126的马达131~136的旋转角度。在上文中描述的目标设定中,即使作业平面为非水平,用户仅通过指定图像内的点也能够容易地指定作业平面内的目标点。而且,由于通过摄像机2拍摄出的图像来表示作业平面,所以用户能够容易地将现实的作业平面的任意的点与在画面显示的图像内的点相对应地来识别。另外,由于在受理目标姿势的指定的情况下,经由具有相对于作业平面平行的xLcyLc平面的局部坐标系Lc获取目标姿势,所以即使作业平面为非水平,对于边看通过摄像机2从垂直方向拍摄与xLcyLc平面平行的作业平面而得的图像边指定目标姿势的用户来说,也能够与相对于现实的作业平面的目标姿势相对应地容易地指定目标姿势。7.其它实施方式在上述实施例中,对将摄像机2安装至机器人1的臂的构成进行了说明。在将摄像机2安装至机器人1的臂的构成中,能够使摄像机2移动至相对于作业平面的任意的位置来设定局部坐标系,并将设定的局部坐标系作为基准来操作机器人1。即,在将摄像机2安装至机器人1的臂的构成中,能够针对作业平面对每个各拍摄位置设定局部坐标系。本发明也能够应用于摄像机2被设置于操作台、墙壁、地板、顶棚等的机器人系统。在摄像机2被设置于操作台、墙壁、地板、顶棚等的构成中,由于若作业平面已被设定,则摄像机2与作业平面的位置关系不会变,所以针对作业平面设定一个局部坐标系。如图16所示,在摄像机2被设置于操作台9的情况下,还能够不使用标记板而设定作业平面,并针对设定的作业平面自动设定并自动校正局部坐标系。以下,对在摄像机2被设置于操作台9的情况下,不使用标记板而设定作业平面,并执行局部坐标系的自动设定和自动校正的方法进行说明。在不使用标记板的情况下,通过机器人1的机械臂指示作业平面上的多个基准点即可。具体而言,作为用于指示基准点的标记使用工具卡盘1261。因此,将用于图像识别图2A所示的工具卡盘1261的端面的模板预先存储至PC3。在设定作业平面时,PC3以J6轴相对于作业平面垂直的姿势使工具卡盘1261的TCP移动至作业平面上的多个基准点的每一个。在此, 如图17所示,针对作业平面WS设定基准点P1~P9。并且,PC3从摄像机2获取在TCP位于各基准点的状态下拍摄出的图像,并在图像坐标系Im中检测基准点P1~P9的位置。在此,使用图18对摄像机2拍摄的图像进行说明。若每使作为标记的TCP移动至9个基准点P1~P9时由摄像机2拍摄工具卡盘1261,则从摄像机2获取的各图像中的工具卡盘1261的位置根据基准点P1~P9的位置而不同。使TCP移动至在基准坐标系Rb中设定于作业平面内的各基准点,能够从利用在基准坐标系Rb中固定的摄像机2拍摄各基准点的TCP而得的n个图像得到的基准点的位置信息,与将附有表示n个基准点的标记的标记板保持为特定的位置和姿势,能够从在该状态下拍摄标记而得的一个图像得到的基准点的信息几乎相同。在前者的信息中反映严密的基准坐标系与图像坐标系的对应关系,在后者的信息中反映合成基准坐标系与标记坐标系而成的坐标系与图像坐标系的对应关系。由于基准坐标系与标记坐标系未必处于严密的线性的关系,因此,对于严密地校正基准坐标系和图像坐标系,优选使用前者的信息。若代替在作业平面设置标记板并在图像坐标系Im中检测标记的位置,使标记移动至作业平面并在图像坐标系Im中检测基准点P1~P9的位置,则已经说明的自动摄像机设定、自动校正、目标设定的任意一个均能够相同地实施。但是,由于通过基准点决定作业平面,所以表示作业平面的局部坐标系Lc并不是基于由摄像机2拍摄的图像来设定,而是预先决定。因此,在使TCP等标记移动时,经由预先决定的局部坐标系Lc控制标记。至此,将局部坐标系Lc的xLcyLc平面上的点与作业平面上的点相对应,但也可以使局部坐标系Lc的xLcyLc平面上的点和与作业平面平行并从作业平面分离的平面上的点相对应。例如,像上文中说明的那样,也可以在将标记板设置于作业平面并设定局部坐标系Lc后,使局部坐标系Lc的原点沿zLc轴向移动并更新局部坐标系Lc。应予说明,对于从操作面至局部坐标系Lc的xLcyLc平面的距离,可以在图像坐标系Im中检测在标记坐标系中间隔为已知的2个以上的标记,并基于标记坐标系中的标记彼此的间隔和图像坐标系Im中的标记彼此的间隔来导出;也可以在利用TCP、工具修整作业平面的过程中测 量TCP的移动距离,并导出从操作面至局部坐标系Lc的xLcyLc平面的距离。附图标记说明:41-49…标记,121-126…旋转轴部件,131-136…马达,111-115…臂,121-126…旋转轴部件,1…机器人,2…摄像机,3…PC,4…标记板,9…操作台,14…控制部,30…指示受理部,31…图像获取部,32…目标值导出部,33…输出部,34…校正部,35…显示部,110…基台,111…第一臂,112…第二臂,113…第三臂,114…第四臂,115…第五臂,201…透镜,202…影像传感器,1261…工具卡盘,L…光轴,T…工具,TJ…轴部,WS…作业平面。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1