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

文档序号:14821682发布日期:2018-06-30 06:57阅读:245来源:国知局
控制装置、机器人及机器人系统的制作方法

本发明涉及控制装置、机器人及机器人系统。



背景技术:

以往,已知具备拍摄工件的摄像机、基于来自摄像机的拍摄图像对工件进行作业的机器人、控制摄像机及机器人的驱动的控制装置的机器人系统。此外,近年来,为了高精度地控制机器人的驱动,开发了设定拍摄图像的坐标系和机器人的坐标系的校准的方法。

作为进行这种校准的机器人系统的一例,例如专利文献1中公开了一种图像处理系统,其具有机器人、控制机器人的驱动的机器人控制器、能够和控制器进行数据通信的通信装置、拍摄工件的摄像装置。在该图像处理系统中,用户用鼠标点击监控器所显示的设定画面,从而决定校准中的设定内容。

现有技术文献

专利文献

专利文献1:日本特开2016-120564号公报



技术实现要素:

发明所要解决的问题

但是,在专利文献1所记载的图像处理系统的校准的设定中,由作业者决定的设定内容较多,对于校准的设定内容的决定(选择)和执行需要熟练。此外,在希望进行多次校准的情况下,有必要为每次该校准生成图像处理序列,因此存在校准的设定上花费时间的问题。此外,在现有的设定画面中,设定的方法难以理解,校准的设定所花费的时间及劳力是巨大的。

用于解决问题的方案

本发明是为了解决上述问题的至少一部分而完成的,可通过以下方式来实现。

本发明的控制装置是能够控制机器人及摄像部的驱动的控制装置,其特征在于,所述控制装置具备处理部,所述处理部具有:图像处理序列生成部,生成与包含对由所述摄像部拍摄的拍摄图像进行的图像处理的图像处理序列相关的设定内容;以及校准生成部,生成与将所述机器人的坐标系和所述摄像部的坐标系建立对应关系的校准相关的设定内容,在由所述校准生成部进行的与所述校准相关的设定内容的生成中,所述处理部能够调用由所述图像处理序列生成部生成的所述图像处理序列。

根据本发明的这种控制装置,在希望进行多个校准的情况下,由于能够在各校准的设定中调用已有的(已生成的)图像处理序列,因此能够省去每次进行校准的设定时生成图像处理序列的麻烦。因此,能够减少校准的设定所需的时间及劳力。

优选的是,在本发明的控制装置中,所述处理部具有控制显示部的驱动的显示控制部,所述显示控制部在引导输入与所述校准相关的设定内容的校准引导画面中,显示由所述图像处理序列生成部生成的所述图像处理序列。

由此,在希望进行多个校准的设定的情况下,由于能够省去各校准的设定中进行图像处理序列的生成的麻烦,因此能够省去每次进行校准的设定时每次生成图像处理序列。因此,校准的设定变得简便,能够大幅提高用户的使用便利性。

优选的是,在本发明的控制装置中,所述处理部具有控制程序生成部,所述控制程序生成部能够生成对所述机器人进行驱动的控制程序,所述控制程序生成部能够在所述控制程序中插入调用所生成的所述图像处理序列的命令。

由此,例如在使机器人进行预定的动作进行预定的作业的控制程序中,能够调用已有的(已生成的)图像处理序列。因此,能够省去每次生成控制程序时生成图像处理序列的麻烦。

优选的是,在本发明的控制装置中,所述图像处理序列具备基于由所述摄像部拍摄的图像进行检查的工序。

由此,可通过图像处理序列来检查由摄像部拍摄的对象物。

优选的是,在本发明的控制装置中,所述显示控制部使生成有与所述校准相关的设定内容的校准设定和生成有与所述图像处理序列相关的设定内容的图像处理序列设定以相同画面显示于所述显示部。

由此,用户能够一目了然地把握已有的校准设定和已有的图像处理序列设定。

优选的是,在本发明的控制装置中,所述显示控制部将所述校准设定及所述图像处理序列设定进行树显示。

由此,用户能够一目了然地把握已有的校准设定的种类和数量、已有的图像处理序列设定的种类和数量。

优选的是,在本发明的控制装置中,所述显示控制部使相互关联的所述校准设定和所述图像处理序列设定显示。

由此,用户容易把握关联的校准设定及图像处理序列设定。因此,容易根据需要进行校准设定及图像处理序列设定中的至少一方的修正等。

优选的是,在本发明的控制装置中,所述图像处理序列具有至少一个图像处理对象,所述显示控制部能够使所述图像处理对象显示,未进行示教时的所述图像处理对象的显示方式和进行有示教时的所述图像处理对象的显示方式不同。

由此,用户能够一目了然地把握图像处理对象是否进行了示教。

本发明的机器人,其特征在于,所述机器人被本发明的控制装置控制。

根据这种机器人,能够在控制装置的控制之下准确地进行校准所需的动作。

本发明的机器人系统,其特征在于,具备:本发明的控制装置;以及机器人和摄像部,被所述控制装置控制。

根据这种机器人系统,基于由摄像部拍摄的图像(图像数据),机器人能够准确地进行校准所需的动作。因此,能够提高校准的精度。其结果,能够提高机器人的作业精度。

附图说明

图1是本发明的第一实施方式所涉及的机器人视觉系统的网络图。

图2是示出图1所示的机器人视觉系统所具有的机器人的一例的立体图。

图3是示出图1所示的机器人视觉系统所具有的机器人的一例的立体图。

图4是图2或图3所示的机器人的系统结构图。

图5是图1所示的机器人系统所具有的计算机的系统结构图。

图6是图1所示的机器人系统所具有的机器人控制装置的系统结构图。

图7是图1所示的机器人系统所具有的图像处理装置的系统结构图。

图8是示出通过图1所示的控制系统进行作业程序的生成的流程的流程图。

图9是示出通过图1所示的控制系统进行作业程序的生成的流程的流程图。

图10是用于说明图8的步骤S111的图。

图11是用于说明图8的步骤S113的图。

图12是用于说明图8的步骤S116的图。

图13是用于说明图8的步骤S118的图。

图14是用于说明图9的步骤S126的图。

图15是用于说明图9的步骤S128及步骤S129的图。

图16是示出基于图8及图9所示的流程图生成的作业程序执行的流程的流程图。

图17是示出在图1所示的显示装置中显示的主窗口及机器人操作用的子窗口的图。

图18示出在图1所示的显示装置中显示的主窗口及图像处理用的子窗口的图。

图19是示出图8所示的本地坐标系设定的流程的流程图。

图20是在图1所示的显示装置中显示的本地设定画面。

图21是在图1所示的显示装置中显示的本地设定画面。

图22是在图1所示的显示装置中显示的示教用的画面。

图23是在图1所示的显示装置中显示的本地设定画面。

图24是示出图8所示的工具设定的流程的流程图。

图25是在图1所示的显示装置中显示的工具设定画面。

图26是在图1所示的显示装置中显示的工具设定画面。

图27是在图1所示的显示装置中显示的工具设定画面。

图28是示出图9所示的校准的流程的流程图。

图29是示出图9所示的校准的流程的流程图。

图30是在图1所示的显示装置中显示的校准生成画面。

图31是在图1所示的显示装置中显示的校准生成画面。

图32是在图1所示的显示装置中显示的校准生成画面。

图33是在图1所示的显示装置中显示的校准生成画面。

图34是在图1所示的显示装置中显示的校准生成画面。

图35是在图1所示的显示装置中显示的校准生成画面。

图36是在图1所示的显示装置中显示的校准生成画面。

图37是在图1所示的显示装置中显示的校准生成画面。

图38是在图1所示的显示装置中显示的示教用的画面。

图39是示出在图18所示的子窗口中显示属性设定窗口的状态的图。

图40是示出在图18所示的子窗口中显示示教的流程的状态的图。

图41是示出在图18所示的子窗口中显示示教的流程的状态的图。

图42是示出在图18所示的子窗口中显示校准执行按钮的状态的图。

图43是图29所示的步骤S545中显示于显示装置的画面。

图44是示出图8所示的图像处理序列生成中的显示处理的流程的流程图。

图45是示出在图1所示的显示装置中显示的子窗口的图。

图46是示出在图1所示的显示装置中显示的列表的图。

图47是示出在图1所示的显示装置中显示的列表的图。

图48是示出在图1所示的显示装置中显示的列表的图。

图49是示出在图1所示的显示装置中显示的列表的图。

图50是示出在图1所示的显示装置中显示的列表的图。

图51是在图1所示的显示装置中显示的子窗口中的引导画面。

图52是在图1所示的显示装置中显示的子窗口中的引导画面。

图53是在图1所示的显示装置中显示的子窗口中的引导画面。

图54是在图1所示的显示装置中显示的子窗口,是示出与图45不同的显示的图。

图55是在图1所示的显示装置中显示的子窗口,是示出与图45不同的显示的图。

附图标记说明

2、2a、2b机器人 3摄像部

10控制系统 11计算机

12机器人控制装置 13图像处理装置

20机器人手臂 21第一臂

22第二臂 23第三臂

24第四臂 25第五臂

26第六臂 31移动摄像机

32固定摄像机 41显示装置

42输入装置 50主窗口

51子窗口 52面板

53标签 54点动面板

56标签 57列表

60属性设定窗口 61子窗口

62流程图显示部 63阅览部

65引导画面 68画面

71、71a、71b、71c 工具设定画面

72、72a、72b、72c 本地设定画面

73、73a、73b、73c、73d、73e、73f、73g 校准生成画面

90作业台 91供料台

92校准板 93工件

94合格用卸料台 95不合格用卸料台

100机器人视觉系统 110处理部

111控制部 112主存储器

113存储部 114显示控制部

115输入控制部 116通信部

121控制部 122主存储器

123存储部 126通信部

131控制部 132主存储器

133存储部 136通信部

201第一臂 202第二臂

203花键轴 210基台

270手部 280驱动部

281位置传感器 283电机驱动器

290力检测部 502工具栏

521点动动作组 522示教组

601图标 612图像显示部

613执行组 614按钮

615工具栏 616示教组

621、622显示部 651、652框

653窗口 660、660a、660b、660c流程图

661、662、662a、662b流程 663对话框

664、664a、664b、664c流程 671、672图标

680标记 681、682区域

683OK按钮 684取消按钮

701工具设定用图标 702本地设定用图标

703校准生成用图标 711单选按钮

712下拉列表 713文本框

714下拉列表 720画面

721单选按钮 722下拉列表

723单选按钮 724点动组

725图像显示部 726点动&示教面板

727文本框 728下拉列表

729复选框 730画面

733下拉列表 801命令输入图标

1110校准控制部 1111控制程序生成部

1112控制程序连接部 1113校准生成部

1114校准执行部 1115图像处理序列生成部

1211控制程序执行部 1212机器人控制部

1311图像处理序列执行部 1312图像处理部

1313摄像部控制部 5212按钮

6151示教按钮 6152校准执行按钮

6221图标 6501、6502、6503、6504按钮

6511、6521项目 6540列表

6541图标 6542字符串

7101、7102、7103、7104、7105、7106、7201、7202、7203、7204、7205 按钮

7206示教按钮

7208、7241、7301、7302、7303、7304 按钮

7305OK按钮 7306取消按钮

7307按钮 7311、7312、7313下拉列表

7321单选按钮 7322下拉列表

7323组 7324单选按钮

7341本地向导按钮 7342下拉列表

7351工具向导按钮 7352下拉列表

7353单选按钮 7354复选框

7361复选框 7371文本框

7372复选框 7373示教按钮

A31、A32光轴 J3轴

O6转动轴 P工具中心点

S111、S112、S113、S114、S115、S116、S117、S118、S119、S120、S121、S122、S123、S124、S125、S126、S127、S128、S129、S130、S131、S132、S211、S212、S213、S214、S215、S216、S217、S218、S219、S220、S221、S222、S223、S224、S225、S226a、S226b、S227、S228、S229、S31、S311、S312、S313、S314、S315、S316、S317、S318、S319、S320、S321、S322、S323、S324、S325、S326、S327、S328、S329、S33、S330、S41、S411、S412、S413、S414、S415、S416、S417、S418、S419、S42、S420、S421、S422、S423、S424、S425、S426、S427、S428、S429、S43、S430、S51、S511、S512、S513、S514、S515、S516、S517、S518、S519、S52、S520、S521、S522、S523、S524、S525、S526、S527、S528、S529、S530、S531、S532、S533、S534、S535、S536、S537、S538、S539、S54、S540、S541、S542、S543、S544、S545、S546、S547、S611、S612、S613、S614、S615、S616、S617、S618、S619、S620、S621、S622、S623、S624、S625、S626、S627、S628、S629 步骤。

具体实施方式

下面,基于附图所示的优选实施方式,对本发明的控制装置、机器人及机器人系统进行详细说明。

机器人视觉系统(机器人系统)的结构

图1是本发明的第一实施方式所涉及的机器人视觉系统的网络图。图2是示出图1所示的机器人视觉系统所具有的机器人的一例的立体图。图3是示出图1所示的机器人视觉系统所具有的机器人的一例的立体图。图4是图2或图3所示的机器人的系统结构图。图5是图1所示的机器人系统所具有的计算机的系统结构图。图6是图1所示的机器人系统所具有的机器人控制装置的系统结构图。图7是图1所示的机器人系统所具有的图像处理装置的系统结构图。

此外,为了便于说明,以下将图2及图3中的上侧称为“上”,将下侧称为“下”。此外,将图2及图3中的基台210侧称为“基端”,将其相反侧(作为手端操作装置的手部270侧)称为“前端”。此外,将图2或图3中的上下方向作为“垂直方向”,将左右方向作为“水平方向”。在本说明书中,所谓“水平”,不仅包括完全水平的情况,也包括相对于水平倾斜±5°以内的情况。同样地,在本说明书中,所谓“垂直”,不仅包括完全垂直的情况,也包括相对于垂直倾斜±5°以内的情况。此外,在本说明书中,所谓“平行”,不仅包括两个线(包括轴)或面彼此完全平行的情况,也包括倾斜±5°以内的情况。此外,在本说明书中,所谓“正交”,不仅包括两个线(包括轴)或面彼此完全正交的情况,也包括倾斜±5°以内的情况。

图1所示的机器人视觉系统(机器人系统)100,例如是在电子部件及电子设备等的工件的保持、输送、组装及检查等的作业中使用的装置。机器人视觉系统100具有控制系统(控制装置)10、至少一个机器人2、具有摄像功能的多个摄像部3、显示装置(显示部)41、输入装置(输入部)42。控制系统10具有计算机(主控制装置、第一控制装置)11、机器人控制装置(第二控制装置)12、图像处理装置(第三控制装置)13。在机器人视觉系统100具有多个机器人2的情况下,既可以具有多个相同类型(相同种类)的机器人2(例如,机器人2a或机器人2b中的任一种),此外,也可以具有多个不同类型(不同种类)的机器人2(例如,机器人2a和机器人2b)。

计算机11和机器人控制装置12和图像处理装置13通过有线或无线通信彼此连接(以下,还简称为“连接”)。此外,显示装置41及输入装置42分别通过有线或无线通信连接到计算机11。此外,机器人2通过有线或无线通信连接到机器人控制装置12。此外,多个摄像部3分别通过有线或无线通信连接到图像处理装置13。此外,摄像部3、显示装置41及输入装置42也可以分别与图像处理装置13连接。

该机器人视觉系统100,例如在控制系统10的控制之下,摄像部3拍摄工件等,机器人2基于由摄像部3拍摄的拍摄图像(图像数据)对工件等进行作业。此外,机器人视觉系统100为了能够使机器人2进行恰当的作业,在控制系统10的控制之下,例如为了通过摄像部3识别工件,进行图像处理序列的生成等,或者进行使摄像坐标系和机器人坐标系(前端坐标系或基座坐标系)对应起来的校准。

下面,对构成机器人视觉系统100的各部进行说明

机器人

如图1所示,机器人2与机器人控制装置12连接。能够与机器人控制装置12连接的机器人2的种类并不特别限定。例如,可以是作为图2所示的垂直多关节机器人的机器人2a(机器人2)、作为图3所示的水平多关节机器人的机器人2b(机器人2)。这里,“水平多关节机器人”是指臂(花键轴203除外)在水平方向上动作的机器人。此外,“垂直多关节机器人”是指轴数(臂数)为三个以上,并且三个轴中的两个轴互相交叉(正交)的机器人。

下面,对机器人2a、2b进行简单的说明。

机器人2a

如图2所示,机器人2a(机器人2)例如在作业台90上设置。机器人2a是所谓的六轴垂直多关节机器人(自由度6)。机器人2a具有在作业台90上安装的基台210、与基台210连接的机器人手臂20、在机器人手臂20的前端安装的力检测部290、在力检测部290的前端安装的手部270(手端操作装置)。

机器人2a所具有的机器人手臂20具有第一臂(臂)21、第二臂(臂)22、第三臂(臂)23、第四臂(臂)24、第五臂(臂)25、第六臂(臂)26。这些臂21~26从基端侧向前端侧依次连接。此外,力检测部290例如由对施加于手部270上的力(包括力矩)进行检测的力觉传感器(例如,六轴力觉传感器)等构成。或者,手部270具有能够把持工件的两个手指,随着臂26的转动而转动。该手部270在设计上以手部270的中心轴与臂26(前端臂)的转动轴O6一致的方式安装。这里,将手部270的前端中心称为工具中心点P。在本实施方式中,工具中心点P是手部270所具有的两个手指之间的区域的中心。此外,将机器人手臂20的前端中心作为“前端轴坐标”。

此外,如图4所示,机器人2a具有使一方的臂相对于另一方的臂(或基台210)转动(驱动)的驱动部280。驱动部280具有产生驱动力的电机(未图示)和减速电机的驱动力的减速器(未图示)。作为驱动部280所具有的电机,例如可以使用AC伺服电机、DC伺服电机等伺服电机。作为减速器,例如可以使用行星齿轮式减速器、波动齿轮装置等。此外,在各驱动部280中,设置有对电机或减速器的旋转轴的旋转角度进行检测的位置传感器(角度传感器)281。在本实施方式中,机器人2a具有与六个臂21~26相同数量的六个驱动部280及位置传感器281。此外,各驱动部280与电机驱动器283电连接,并且经由电机驱动器283被机器人控制装置12控制。

在这种结构的机器人2a中,如图2所示,作为以基台210为基准的基座坐标系,设定了由xr轴、yr轴、和zr轴确定的三维正交坐标系,xr轴和yr轴分别与水平方向平行,zr轴与水平方向正交,并且将垂直向上作为正方向。在本实施方式中,基座坐标系将基台210的下端面的中心点作为原点。将相对于xr轴的平移分量作为“分量xr”,将相对于yr轴的平移分量作为“分量yr”,将相对于zr轴的平移分量作为“分量zr”,将绕zr轴的旋转分量作为“分量ur”,将绕yr轴的旋转分量作为“分量vr”,将绕xr轴的旋转分量作为“分量wr”。分量xr、分量yr、分量zr的长度(大小)单位是“mm”,分量ur、分量vr、分量wr的角度(大小)单位是“°”。

此外,在机器人2a中,设定有以手部270的前端部为基准的前端坐标系。前端坐标系是由互相正交的xa轴、ya轴、za轴确定的三维正交坐标系。在本实施方式中,前端坐标系将机器人2a的前端轴坐标作为原点。此外,基座坐标系和前端坐标系的校正(校准)已结束,是能够计算以基座坐标系为基准的前端坐标系的坐标的状态。此外,将相对于xa轴的平移分量作为“分量xa”,将相对于ya轴的平移分量作为“分量ya”,将相对于za轴的平移分量作为“分量za”,将绕za轴的旋转分量作为“分量ua”,将绕ya轴的旋转分量作为“分量va”,将绕xa轴的旋转分量作为“分量wa”。分量xa、分量ya、分量za的长度(大小)单位是“mm”,分量ua、分量va、分量wa的角度(大小)单位是“°”。

这里,在本说明书中,将基座坐标系及前端坐标系也分别称为机器人坐标系。即,在本说明书中,将以机器人2中的任一位置为基准设定的坐标称为“机器人的坐标系(机器人坐标系)”。

机器人2b

如图3所示,与机器人2a同样地,机器人2b(机器人2)例如也设置在作业台90上。与机器人2a同样地,机器人2b也具有在作业台90上安装的基台210、与基台210连接的机器人手臂20、在机器人手臂20的前端安装的力检测部290、在力检测部290的前端安装且能够把持工件的手部(手端操作装置)270。此外,关于机器人2b,对于与机器人2a相同的结构,省略其说明,以与机器人2a的不同点为中心进行说明。

机器人2b所具有的机器人手臂20具有第一臂(臂)201、在臂201的前端部设置的第二臂(臂)202、在第二臂202的前端部设置的花键轴(臂)203。此外,手部270在设计上以手部270的中心轴与花键轴203的轴J3一致的方式安装。手部270随着花键轴203的转动而转动。

与机器人2a同样地,机器人2b也具有与三个臂相同数量的三个驱动部280及位置传感器281(参照图3及图4)。此外,虽然花键轴203未图示,但它与作为传递驱动部280的动力的动力传递机构的花键螺母及滚珠丝杠螺母连接。因此,花键轴203能够绕其轴J3转动,并且能够在上下方向上移动(升降)。

此外,与机器人2a同样地,机器人2b也设定有基座坐标系(由xr轴、yr轴、zr轴确定的三维正交坐标系)和前端坐标系(由xa轴、ya轴、za轴确定的三维正交坐标系)。

以上,对机器人2(机器人2a、2b)的结构进行了简单的说明。此外,作为由控制系统10控制的机器人2,并不限于图2及图3所示的结构。例如,臂的数量并不限于上述数量,而是任意的。此外,作为对工件进行作业的手端操作装置,并不限于手部270,可以是任意结构。

摄像部

如图1所示,多个摄像部3分别与图像处理装置13连接。在本实施方式中,如图2及图3所示,机器人视觉系统100具有在机器人2的周边配置的固定摄像机32(摄像部3)、在机器人2所具有的机器人手臂20上固定的移动摄像机31(摄像部3)。此外,在图2及图3中,移动摄像机31安装在机器人手臂20的前端部。具体而言,如果是图2所示的机器人2a,移动摄像机31安装在第六臂26上,如果是图3所示的机器人2b,则安装在花键轴203的前端部。

下面,对固定摄像机32及移动摄像机31进行简单的说明。

固定摄像机32

图2及图3所示的固定摄像机32固定在作业台90上,并设置在机器人2的手部270的可动范围内。固定摄像机32具有摄像功能,并以能够拍摄垂直方向上方的方式设置。

固定摄像机32,虽然未图示,例如具有摄像元件和透镜(光学系统),该摄像元件由具有多个像素的CCD(电荷耦合器件:Charge Coupled Device)图像传感器构成。

该固定摄像机32通过透镜而使由拍摄对象反射的光在摄像元件的受光面(传感器表面)上成像,将光转换为电信号,并将该电信号输出到控制系统10(本实施方式中是图像处理装置13)。这里,受光面是指摄像元件的表面,是光成像的面。此外,固定摄像机32在设计上以其光轴A32(透镜的光轴)沿作业台90的平面(上表面)的垂直方向的方式设置。

在固定摄像机32中,作为图像坐标系(从固定摄像机32输出的拍摄图像的坐标系),虽然未图示,但设定有由xc轴和yc轴确定的二维正交坐标系,xc轴和yc轴分别与拍摄图像的面内方向平行。此外,将相对于xc轴的平移分量作为“分量xc”,将相对于yc轴的平移分量作为“分量yc”,将绕xc-yc平面的法线的旋转分量作为“分量uc”。分量xc及分量yc的长度(大小)单位是“像素”,分量uc的角度(大小)单位是“°”。此外,固定摄像机32的图像坐标系是,加进透镜的光学特性(焦距、失真等)和摄像元件的像素数量及大小,将映现在固定摄像机32的摄像机视场中的三维正交坐标进行非线性转换而成的二维正交坐标系。

移动摄像机31

如上所述,图2及图3所示的移动摄像机31固定在机器人手臂20上。移动摄像机31具有摄像功能,在本实施方式中以能够拍摄机器人手臂20的前端侧的方式设置。

移动摄像机31,虽然未图示,例如具有摄像元件和透镜(光学系统),该摄像元件由具有多个像素的CCD图像传感器构成。该移动摄像机31通过透镜而使由拍摄对象反射的光在摄像元件的受光面(传感器表面)上成像,将光转换为电信号,并将该电信号输出到控制系统10(本实施方式中是图像处理装置13)。这里,受光面是指摄像元件的表面,是光成像的面。此外,移动摄像机31在设计上以其光轴(透镜的光轴)A31沿与机器人手臂20的前端轴(在机器人2a的情况下,是第六臂26的转动轴O6,在机器人2b的情况下,是花键轴203的轴J3)相同的方向的方式设置。

在移动摄像机31中,作为移动摄像机31的图像坐标系(从移动摄像机31输出的拍摄图像的坐标系),虽然未图示,但设定有由xb轴和yb轴确定的二维正交坐标系,xb轴和yb轴分别与拍摄图像的面内方向平行。此外,将相对于xb轴的平移分量作为“分量xb”,将相对于yb轴的平移分量作为“分量yb”,将绕xb-yb平面的法线的旋转分量作为“分量ub”。分量xb及分量yb的长度(大小)单位是“像素”,分量ub的角度(大小)单位是“°”。此外,移动摄像机31的图像坐标系是,加进透镜的光学特性(焦距、失真等)和摄像元件的像素数量及大小,将映现在移动摄像机31的摄像机视场中的三维正交坐标进行非线性转换而成的二维正交坐标系。

以上,对摄像部3的结构进行了简单的说明。此外,由控制系统10控制的摄像部3并不限于图示的部件。此外,由控制系统10控制的摄像部3的安装位置(设置位置)并不限于图示的位置。例如,移动摄像机31的安装位置可以是图2所示的机器人2a的第五臂25、图3所示的机器人2b的第二臂202等。此外,固定摄像机32,虽然未图示,但它也可以在位于机器人2的上方的顶棚等上设置,此外,也可以在机器人2及其周边设置的墙壁/柱子等上横向设置。此外,摄像部3的拍摄方向并不限于上述方向,而是任意的。此外,摄像部3的数量在图2及图3中分别是两个,但摄像部3的数量并不特别限定,既可以是一个,也可以是三个以上。

显示装置41

图1所示的显示装置(显示部)41,例如具备由液晶显示器等构成的监控器(未图示),例如具有显示由摄像部3拍摄的拍摄图像或各种画面(例如与操作窗口、处理结果有关的画面)等的功能。因此,用户能够把握拍摄图像、机器人2的作业等。

输入装置42

输入装置(输入部)42,例如由鼠标、键盘等构成。因此,用户通过操作输入装置42,从而能够对控制系统10进行各种处理等的指示。

此外,在本实施方式中,也可以设置兼具显示装置41及输入装置42的显示输入装置(未图示),以代替显示装置41及输入装置42。作为显示输入装置,例如可以使用触摸面板(静电式触摸面板或压敏式触摸面板)等。此外,输入装置42也可以是识别声音(包括语音)的结构。

控制系统(控制装置)

如上所述,控制系统10具有计算机11、机器人控制装置12和图像处理装置13(参照图1)。该控制系统10控制机器人2、多个摄像部3及显示装置41的驱动。此外,虽然在图2及图3中未图示控制系统10,但例如在作业台90的外部设置。

下面,对控制系统10、计算机11和机器人控制装置12依次进行说明。

计算机

计算机11,例如由安装有程序(OS(操作系统:Operating System))的计算机(例如,PC(个人计算机:Personal Computer)或PLC(可编程逻辑控制器:Programmable Logic Controller)等)构成。该计算机11,例如具有作为处理器的CPU(中央处理单元:Central Processing Unit)及GPU(图形处理单元:Graphics Processing Unit)和RAM(随机存取存储器:Random Access Memory)和存储有程序的ROM(只读存储器:Read Only Memory)。

下面,对计算机11所具备的各功能(功能部)进行说明。

如图5所示,计算机11具有控制部111、主存储器112、存储部113、显示控制部114、输入控制部(接收部)115、通信部116,并以彼此之间能够互相进行数据的交换(通信)的方式构成。这里,在本说明书中,控制部111及显示控制部114构成处理部110。

例如,通过由CPU及GPU执行存储于主存储器112或存储部113的各种程序,从而能够实现控制部111的功能。该控制部111,例如具有控制程序生成部1111、控制程序连接部(制御プログラムビルド部)1112、校准生成部1113、校准执行部1114、图像处理序列生成部1115。此外,控制部111所具有的功能部(要素)并不限于此。也可以省略这些功能部中的任一个,或者追加其他功能部。

控制程序生成部1111生成对机器人2进行驱动的控制程序(包括机器人2进行各种作业的作业程序)。即,控制程序生成部1111能够生成对机器人2进行驱动的控制程序(包括机器人2进行各种作业的作业程序)。此外,例如控制程序生成部1111(计算机11)能够在控制程序中指定具有预定的自变量的各种命令。控制程序连接部1112对控制程序进行连接,转换成机器人控制装置12能够解释的语言(数据串)。此外,作业程序用机器人语言编写。此外,在控制程序的生成中,包括新生成控制程序的情况和对已有的控制程序进行重写或追加的情况。

校准生成部1113生成有关校准的校准程序。即,校准生成部1113具有生成校准有关的设定内容的功能。校准执行部1114执行校准程序。详细地说,校准执行部1114将基于校准程序的指示传送到机器人控制装置12及图像处理装置13,使机器人2及摄像部3进行校准所需的动作。这里,在本说明书中,校准生成部1113及校准执行部1114构成校准控制部1110。此外,在校准程序的生成中,包括新生成校准程序的情况和对已有的校准程序进行重写或追加的情况。

图像处理序列生成部1115生成摄像部3的图像处理序列有关的图像处理程序。即,图像处理序列生成部1115具有生成图像处理序列有关的设定内容的功能。此外,在图像处理程序的生成中,包括新生成图像处理程序的情况和对已有的图像处理程序进行重写或追加的情况。

此外,控制部111根据输入控制部115接收的用户的指示进行各种运算、判断、对计算机11所具有的各功能部的指示、对机器人控制装置12的指示以及对图像处理装置13的指示等。

主存储器112是控制部111的作业区域。主存储器112的功能,例如能够通过RAM来实现。

存储部113具有记录各种数据(包括程序)的功能。存储部113的功能能够通过ROM等、所谓的外部存储装置(未图示)来实现。存储部113,例如存储有包括对机器人2进行驱动的控制程序、校准有关的校准程序、摄像部3的图像处理序列有关的图像处理程序等的软件(例如应用程序软件)。换言之,在计算机11中安装有上述软件。此外,该软件中包括工具设定有关的程序、本地设定(本地坐标系的设定)有关的程序、通过各种命令来驱动各种机器人2从而执行各种处理(例如,工具设定、本地设定、校准生成/执行(校准)以及图像处理序列生成/执行(图像处理序列的生成)等)的程序、和基于来自力检测部290的输出的力控制中设定各种参数的程序。此外,上述软件例如储存于CD-ROM等的记录介质(未图示)中,因此它既可以由该记录介质提供,也可以通过网络提供。

显示控制部114与显示装置41连接,并具有在显示装置41的监控器中显示拍摄图像或各种画面(例如,操作窗口或处理结果有关的画面)的功能。即,显示控制部114控制显示装置41的驱动。该显示控制部114的功能,例如能够通过GPU实现。例如,显示控制部114以和用户的对话形式(对话式),在显示装置41中依次显示图像处理序列有关的多个引导画面。此外,显示控制部114以和用户的对话形式,分别在显示装置41中依次显示校准有关的多个校准生成画面、工具设定有关的多个工具设定画面以及本地坐标系的设定有关的多个本地设定画面。

输入控制部115与输入装置42连接,并具有接收来自输入装置42的输入的功能。该输入控制部115的功能,例如能够通过接口电路实现。此外,例如在使用触摸面板的情况下,输入控制部115具有作为检测用户的手指对触摸面板的接触等的输入检测部的功能。

通信部116具有和机器人控制装置12及图像处理装置13等的外部进行数据的交换的功能。通信部116的功能,例如能够通过接口电路等实现。

机器人控制装置

机器人控制装置12,例如基于来自计算机11的指示控制机器人2的驱动。机器人控制装置12是安装有程序(OS等)的计算机。该机器人控制装置12,例如具有作为处理器的CPU、RAM和存储有程序的ROM。

下面,对机器人控制装置12所具备的各功能(功能部)进行说明。

如图6所示,机器人控制装置12具有控制部(机器人控制部)121、主存储器122、存储部123、通信部126,并且以彼此之间能够互相进行数据的交换的方式构成。

例如,通过由CPU执行存储于主存储器122或存储部123中的各种程序,从而能够实现控制部121的功能。该控制部121,例如具有控制程序执行部1211和机器人控制部1212。此外,控制部121所具有的功能部(要素)并不限于此。也可以省略这些功能部中的任一个,或者追加其他功能部。

控制程序执行部1211基于来自计算机11的指示,执行对机器人2进行驱动的控制程序。例如,控制程序执行部1211通过各种命令而使机器人2执行各种处理(例如,工具设定、本地设定、校准处理(校准)以及图像处理序列执行指示等)。机器人控制部1212控制各驱动部280的驱动,使机器人手臂20驱动或停止。例如,控制部121基于从位置传感器281或力检测部290输出的信息,为了使手部270向目标位置移动,导出各驱动部280所具有的电机(未图示)的目标值。此外,控制部121具有进行各种运算及判断等处理的功能、进行机器人控制装置12所具有的指示的功能等。

主存储器122是控制部121的作业区域。主存储器122的功能,例如能够通过RAM实现。存储部123具有记录各种数据(包括程序)的功能。存储部123,例如记录控制程序等。存储部123的功能能够通过ROM等、所谓的外部存储装置(未图示)实现。通信部126具有和机器人2、计算机11及图像处理装置13等的外部进行数据的交换的功能。通信部126的功能,例如能够通过接口电路等实现。

图像处理装置

图像处理装置13,例如基于来自计算机11的指示控制摄像部3的驱动,或者进行由摄像部3拍摄的拍摄图像的处理(图像处理)。图像处理装置13,例如是安装有程序(OS等)的计算机。该图像处理装置13,例如具有作为处理器的CPU及GPU、RAM和存储有程序的ROM。

下面,对图像处理装置13所具备的各功能(功能部)进行说明。

如图7所示,图像处理装置13具有控制部(摄像部控制部)131、主存储器132、存储部133和通信部136,并且以彼此之间能够互相进行数据的交换的方式构成。

例如,通过由CPU及GPU执行主存储器132或存储部133中存储的各种程序,从而能够实现控制部131的功能。该控制部131,例如具有图像处理序列执行部1311、图像处理部1312和摄像部控制部1313。此外,控制部131所具有的功能部(要素)并不限于此。也可以省略这些功能部中的任一个,或者追加其他功能部。

图像处理序列执行部1311具有基于来自计算机11的指示(命令)执行图像处理序列的功能。图像处理部1312,例如具有进行从拍摄图像取出各种信息等的图像处理的功能。具体而言,图像处理部1312,例如基于来自摄像部3等的拍摄图像(图像数据)进行各种运算或各种判断等的处理。例如,图像处理部1312基于拍摄图像对图像坐标系中的拍摄对象的坐标(分量xb、yb、ub或分量xc、yc、uc)进行运算。此外,例如图像处理部1312将图像坐标系中的坐标(图像坐标)转换为机器人2的前端坐标系中的坐标(前端坐标)或机器人2的基座坐标系中的坐标(基座坐标)。该转换所使用的校正参数,例如由计算机11或机器人控制装置12计算。此外,也可以由图像处理装置13计算用于上述转换的校正参数。此外,摄像部控制部1313,例如具有控制摄像部3的驱动或者从摄像部3获取拍摄图像(图像数据)的功能。

此外,控制部131具有接收来自计算机11的指示进行各种运算及判断等处理的功能、进行对图像处理装置13所具有的各功能部的指示的功能等。

主存储器132是控制部131的作业区域。主存储器132的功能,例如能够通过RAM实现。

存储部133具有记录各种数据(包括程序)的功能。存储部133,例如记录图像处理序列有关的程序等。存储部133的功能能够通过ROM等、所谓的外部存储装置(未图示)来实现。

通信部136具有和摄像部3、机器人控制装置12及计算机11等外部进行数据的交换的功能。通信部136的功能,例如能够通过接口电路等实现。

以上,对控制系统10的结构及功能进行了说明。此外,上述计算机11、机器人控制装置12和图像处理装置13分别具有的各功能,也可以由计算机11、机器人控制装置12和图像处理装置13中的任一个具有。此外,计算机11、机器人控制装置12和图像处理装置13也可以是一体的。例如,图像处理装置13所具有的图像处理序列执行部1311、图像处理部1312、摄像部控制部1313,也可以由计算机11的控制部111具有。此外,计算机11所具有的显示控制部114及输入控制部115,也可以由图像处理装置13具有。此外,控制系统10也可以不具备图像处理装置13,在这种情况下,图像处理装置13所具有的各功能也可以由计算机11具备。此外,计算机11所具有的校准执行部1114也可以由机器人控制装置12的控制部121具有。

以上,对机器人视觉系统100的基本结构进行了简单的说明。

接着,对作业程序生成及示教的一例进行说明。此外,下面,主要以使用图2所示的机器人2a作为机器人2的情况为例进行说明。

作业程序的生成。

图8及图9分别是示出通过图1所示的控制系统进行作业程序的生成的流程的流程图。图10是用于说明图8的步骤S111的图。图11是用于说明图8的步骤S113的图。图12是用于说明图8的步骤S116的图。图13是用于说明图8的步骤S118的图。图14是用于说明图9的步骤S126的图。图15是用于说明图9的步骤S128及步骤S129的图。

下面,例如生成进行如下作业的作业程序:图2所示的机器人2a把持在作业台90上设置的供料台91上的工件(图2中未图示),在固定摄像机32上进行工件的检查(例如外观检查),并基于检查结果将工件载置于合格用卸料台94或不合格用卸料台95上。此外,在生成该作业程序时,进行所需的各种处理。作为各种处理,例如进行移动摄像机31的图像坐标系和机器人2a的机器人坐标系(前端坐标系或基座坐标系)的校准、固定摄像机32的图像坐标系和机器人2a的机器人坐标系(前端坐标系或基座坐标系)的校准。此外,例如进行对于机器人2a的各位置的示教。此外,例如进行计算机器人2a的工具中心点P和前端轴坐标中的偏移(相对于工具中心点P和前端轴坐标中的一方的另一方的偏移)的工具设定。此外,进行与机器人坐标系不同的本地坐标系的设定(本地设定)。此外,进行图像处理序列生成、执行及结果的反映等的图像处理序列的生成(图像处理序列)。

这里,用户在执行作业程序的生成前,如图2所示,将校准板(校正用部件)92载置于在作业台90上设置的供料台91上。此外,显示控制部114在显示装置41上显示主窗口(指示画面)50(参照图17或图18)。此外,关于主窗口50,后文中将进行详细叙述。

之后,用户通过使用输入装置42的鼠标对显示装置41所显示的各种画面(窗口)进行点击的操作、使用输入装置42的键盘对显示装置41所显示的指示画面输入文字或数字等的操作,对控制系统10进行指示。即,以下作业程序的生成中由控制系统10进行的控制(处理)是基于用户使用输入装置42做出的指示进行的。下面,将该用户使用输入装置42做出的指示(即输入装置42的输入)称为“操作指示”。该操作指示包括操作指示,其包括通过输入装置42从指示画面所显示的内容选择希望的内容的选择操作、和通过输入装置42向指示画面输入文字或数字等的输入指示等。

下面,基于图8及图9所示的流程图,对作业程序生成进行说明。

首先,计算机11对机器人控制装置12发出使移动摄像机31位于校准板92上的移动指示(图8:步骤S111)。机器人控制装置12接收该移动指示,驱动机器人手臂20,使移动摄像机31位于校准板92上(参照图10)。在本实施方式中,以移动摄像机31的光轴A31与校准板92大致正交的方式,使移动摄像机31正对校准板92。此外,以焦点与移动摄像机31在校准板92上附加的标记(未图示)对齐的方式,使移动摄像机31移动。

接着,计算机11进行本地坐标系的设定,即本地设定(图8:步骤S112)。本地坐标系是指与机器人坐标系(基座坐标系或前端坐标系)不同的坐标系,是由机器人坐标系中定义的原点、xd轴、yd轴、zd轴确定的三维正交坐标系。在本实施方式中,作为与作业台90平行的平面,使用移动摄像机31向与校准板92的上表面平行的面,设定包括本地坐标系的xd轴及yd轴的本地平面(虚拟面)。由此,例如即使在供料台91的上表面相对于水平面倾斜的情况下,机器人2a也能够在供料台91的上表面进行准确的作业。此外,在使用图3所示的机器人2b的情况下,可以省略本地坐标系的设定。此外,上述本地设定是指设定上述本地坐标系,并包括本地设定中的各种设定(包括显示处理)、本地设定的处理的执行以及通过反映本地设定结果来设定本地坐标系。

本地设定的具体设定方法并不特别限定,例如可列举基于对校准板92上附加的至少三个标记(未图示)逐个进行拍摄的拍摄图像和拍摄时的工具中心点P的前端坐标计算的方法。

此外,本地设定通过使用后述的指示画面的显示处理来进行。此外,关于本地设定中的显示处理,后文中将进行说明。

此外,若本地坐标系的设定结束,则用户将校准板92从供料台91上取下,并将工件93在供料台91上载置(参照图11)。

接着,计算机11对机器人控制装置12发出使移动摄像机31位于能够拍摄工件93的位置的移动指示(图8:步骤S113)。机器人控制装置12接收该移动指示,驱动机器人手臂20,使移动摄像机31位于能够拍摄工件93的位置(参照图11)。该移动通过以下方式进行:将移动摄像机31移动至其光轴A31(机器人2a的前端轴)与本地平面正交的姿势后,不变更移动摄像机31的姿势,使移动摄像机31向本地平面内移动。此外,以焦点与工件93的上表面对齐的方式,使其向与本地平面正交的方向移动。

接着,计算机11将步骤S113中的机器人2a的前端轴坐标(分量xr、yr、zr、ur、vr、wr)作为第一点进行设定,并存储在存储部113中(图8:步骤S114)。

接着,计算机11对机器人控制装置12及图像处理装置13发出指示(命令),进行工件93的上表面中心上附加的标记(未图示)有关的第一图像处理序列的生成(图8:步骤S115)。

这里,图像处理序列对包括从摄像部3拍摄图像、处理拍摄图像、对拍摄图像所映现的预定的部件进行检测、检查等的方法或过程进行了归纳。此外,图像处理序列的生成是指包括图像处理序列的各种设定、部件的示教、图像处理序列的执行及反映。此外,第一图像处理序列示出作为部件的工件93的上表面中心上附加的标记有关的图像处理序列。

此外,第一图像处理序列的生成等通过使用后述的指示画面的显示处理来进行。此外,关于第一图像处理序列中的显示处理,后文中将进行说明。

接着,计算机11对机器人控制装置12发出把持工件93的把持指示(图8:步骤S116)。机器人控制部1212接收该把持指示,对于机器人2a,驱动机器人手臂20,通过手部270把持工件93(参照图12)。接着,计算机11将步骤S116中的机器人2a的前端轴坐标(分量xr、yr、zr、ur、vr、wr)作为第二点进行设定,并存储在存储部113中(图8:步骤S117)。这里,工件中心点P的位置(分量za)使用把持工件93的位置。

接着,计算机11对机器人控制装置12发出使工件93位于固定摄像机32上的移动指示(图8:步骤S118)。机器人控制装置12接收该移动指示,驱动机器人手臂20,在固定摄像机32的视场内使工件93位于焦点与工件93对齐的位置(参照图13)。接着,计算机11将步骤S118中的机器人2a的前端轴坐标(分量xr、yr、zr、ur、vr、wr)作为第三点进行设定,并存储在存储部113中(图8:步骤S119)。

接着,计算机11对机器人控制装置12及图像处理装置13发出指示,进行工件93的下表面中心上附加的标记(未图示)的第二图像处理序列(第二视觉序列)的生成(图8:步骤S120)。这里,第二图像处理序列示出了作为部件的工件93的下表面中心上附加的标记有关的图像处理序列。

此外,由于分别在工件93的上表面中心和下表面中心的完全相同的位置上设置标记比较困难,例如在工件93上设置的贯通孔等,从工件93的上下识别相同的目标。

此外,第二图像处理序列的生成等通过使用后述的指示画面的显示处理进行。此外,关于第二图像处理序列中的显示处理,后文中将进行说明。

接着,计算机11对机器人控制装置12及图像处理装置13发出指示,进行工具设定(图8:步骤S121)。这里,工具设定是指计算机器人的前端轴等的轴坐标和工具的预定部位的坐标的偏移(位置姿势的关系),并且包括工具设定中的各种设定(包括显示处理)、工具设定的处理的执行以及反映工具设定结果。由此,可知工具的预定部位的机器人坐标。此外,若工具是指在机器人2a上设置的物体,则可以是任何物体,例如可列举摄像部3或工件93。在步骤S121中,将工具作为工件93,计算机器人2a的前端轴坐标和工件93的中心的偏移。由此,由于能够计算各种机器人姿势中的工件93的中心的机器人坐标,因此能够准确地进行其他工件93的把持以及把持的工件93的移动、检查等。

作为计算偏移的方法,并不特别限定,例如可列举如下方法:在将机器人2a的前端轴坐标及工件93的中心中的任一方的位置固定的状态下,移动(例如,转动)另一方的位置,并基于该移动前后(例如,转动前后)的工具中心点P及工件93的中心的前端坐标和移动量(例如,转动角度)进行计算。

此外,工具设定通过使用后述的指示画面的显示处理进行。此外,关于工具设定中的显示处理,后文中将进行说明。

接着,计算机11对机器人控制装置12及图像处理装置13发出指示,使用工件93的下表面中心上附加的标记,进行将固定摄像机32的图像坐标系和本地坐标(机器人坐标系)对应起来的校准(图8:步骤S122)。这里,校准是指将图像坐标系和机器人坐标系对应起来,并且包括校准中的各种设定(包括显示处理),即校准生成、摄像机点的示教、校准的执行以及通过反映校准结果而将图像坐标系和机器人坐标系对应起来。这里,将机器人坐标系中以与作业台90平行的方式设定的本地坐标和图像坐标系对应起来。

校准的具体方法并不特别限定,例如可列举如下方法:使一个标记等的目标(拍摄对象)位于拍摄图像内的至少三个以上的摄像机点,使用根据基于该各摄像机点的拍摄图像的图像坐标和拍摄时的标记等的目标的机器人坐标计算出来的图像坐标和机器人坐标的变换矩阵。各摄像机点中的标记等的机器人坐标可以使用机器人的前端轴等的轴坐标的位置姿势和上述工具设定(偏移)计算出来。由此,能够将图像坐标系和机器人坐标系对应起来,能够将图像坐标转换为机器人坐标。因此,能够计算拍摄图像中映现的拍摄对象的机器人坐标。此外,在步骤S122中,设定了九个摄像机点。

此外,固定摄像机32的校准通过使用了后述的指示画面的显示处理进行。此外,关于校准中的显示处理,后文中将进行说明。

接着,计算机11对机器人控制装置12及图像处理装置13发出指示,进行第三图像处理序列(第三视觉序列)的生成等(图8:步骤S123),该第三图像处理序列用于检测工件93的下表面上附加的两个A点(未图示)及B点(未图示)。这里,第三图像处理序列示出了工件93的下表面上附加的A点(部件)及B点(部件)的检测有关的图像处理序列。此外,在步骤S123中,将第三图像处理序列和固定摄像机32的校准结果关联,执行使用所生成的图像处理序列的图像处理,进行检查。这里,作为检查,是指进行如下检查:测量A点和B点之间的距离,如果在预定阈值内则判断为合格,如果在预定阈值外则判断为不合格。这里,通过将使用图像坐标和机器人坐标的校准(校准结果)关联,从而能够以机器人坐标的单位(mm等),而不是以图像上的长度单位(像素),来判断A点和B点之间的距离。

此外,第三图像处理序列的生成通过使用后述的指示画面的显示处理进行。此外,关于第三图像处理序列中的显示处理,后文中将进行说明。

接着,计算机11对机器人控制装置12发出向步骤S117中设定的第二点的移动指示,并发出在供料台91上载置工件93的载置指示(图9:步骤S124)。机器人控制装置12接收该移动指示,对于机器人2a驱动机器人手臂20而使机器人2a的前端轴坐标(分量xr、yr、zr、ur、vr、wr)位于第二点,通过手部270而使工件93载置于供料台91上(参照图14)。接着,计算机11基于步骤S121中的工具设定,将工件93的中心的位置(分量xr、yr、zr、ur、vr、wr)作为第四点进行设定,并存储在存储部113中(图9:步骤S125)。

接着,计算机11对机器人控制装置12发出如下移动指示:在供料台91上使工件93脱离后,移动至步骤S114中计算出来的第一点,使移动摄像机31位于能够拍摄在供料台91上载置的工件93的位置(图9:步骤S126)。机器人控制装置12接收该移动指示,对于机器人2a,通过手部270而使工件93在供料台91上脱离后,使工具中心点P位于第一点,使移动摄像机31位于能够拍摄工件93的位置。

接着,计算机11对机器人控制装置12及图像处理装置13发出指示,使用工件93的上表面中心上附加的标记及作为第四点(在第四点上)保存的机器人坐标,进行移动摄像机31的图像坐标系和机器人坐标系的校准(图9:步骤S127)。

在步骤S127的校准中,使用工件93的上表面中心上附加的标记作为一个目标(拍摄对象),使移动摄像机31相对于工件93移动,以便在拍摄图像内的九个摄像机点拍摄该标记。并且,使用基于九个摄像机点的拍摄图像的图像坐标和作为第四点(在第四点上)保存的工件93的上表面上附加的标记的机器人坐标,计算图像坐标和前端坐标的变换矩阵。由此,能够将移动摄像机31的图像坐标转换为机器人坐标。

此外,在步骤S127的校准中,为了使机器人2a准确地把持工件93,进行将第一图像处理序列和移动摄像机31的校准结果的关联。

此外,移动摄像机31的校准通过使用后述的指示画面的显示处理进行。此外,关于校准中的显示处理,后文中将进行说明。

接着,计算机11对机器人控制装置12发出使工具中心点P位于合格用卸料台94上的移动指示,载置工件93,将机器人2a的前端轴坐标(分量xr、yr、zr、ur、vr、wr)作为第五点进行设定,并存储在存储部113中(图9:步骤S128)。机器人控制部1212接收该移动指示,对于机器人2a驱动机器人手臂20而使机器人2a的前端轴位于合格用卸料台94上后,使工件93载置于合格用卸料台94上(参照图15)。

接着,计算机11对机器人控制装置12发出使机器人2a的前端轴位于不合格用卸料台95上的移动指示,载置工件93,将机器人2a的前端轴坐标(分量xr、yr、zr、ur、vr、wr)作为第六点进行设定,并存储在存储部113中(图9:步骤S129)。机器人控制部1212接收该移动指示,对于机器人2a驱动机器人手臂20而使机器人2a的前端轴位于不合格用卸料台95上后,使工件93载置于不合格用卸料台95上(参照图2、图15)。

接着,计算机11(控制程序生成部1111)基于步骤S111~S129,生成机器人2a的作业程序(图9:步骤S130)。接着,计算机11(控制程序连接部1112)对步骤S113中生成的作业程序进行连接,转换(编译)成由机器人控制装置12能够解释的语言(数据串)(图9:步骤S131)。接着,计算机11将已编译的作业程序传送到机器人控制装置12、图像处理装置13,对机器人控制装置12及图像处理装置13发出作业程序的执行指示(图9:步骤S132)。

根据以上,作业程序的生成结束。

这里,在以往中,进行通常的作业坐标的示教时,在使手部270把持工件93后,用户对手部270进行点动进给,将工件93向作业对象的组装位置等插入/设置,进行其作业坐标的示教,但这种示教作业存在如以下(1)、(2)那样的问题。

(1)在需要将工件93向作业位置高精度地插入/设置的情况下,用户向该场所手动地点动进给工件93,高精度地插入/设置工件需要较长的时间。

(2)在示教多个作业位置的情况下,现有的方法中,对于全部示教点(教学点),从最初到最后用户手动地点动进给工件93进行插入/设置,因此难以进行自动化。

为了解决上述问题,从步骤S116至步骤S125的处理中,除了步骤S122、步骤S123之外的处理,分别在进行作业的作业位置(作业坐标)的示教中也可以利用。在这种示教作业中,通过用手部270从后把持用户以手动高精度地设置的工件93并取出,从而能够省略需要时间进行精密对位的手部270的点动进给,能够大幅缩短示教时间。此外,在示教多个作业坐标的情况下,通过预先向各作业位置设置工件93,并对把持各工件93的坐标进行示教,能够简单地将此后的作业坐标的获取处理自动化。

此外,在重复进行示教的情况下,从步骤S116至步骤S125的处理中,步骤S119、步骤S120仅执行(实施)首次,在此后的示教中可以利用首次的值。进而,步骤S124、步骤S125并不是必要的处理,也可以从第二点设定的坐标和工具设定中获取的工具偏移计算第四点的坐标。

接着,基于步骤S132的执行指示,对通过机器人控制装置12及图像处理装置13进行的作业程序的执行进行说明。

作业程序的执行

图16是示出基于图8及图9所示的流程图生成的作业程序的执行的流程的流程图。

首先,在执行作业程序时,将工件93载置于供料台91上。

如图16所示,机器人控制装置12接收作业程序的执行指示(步骤S211),驱动机器人手臂20,使机器人2a的前端轴移动到第一点(步骤S212)。

接着,机器人控制装置12对图像处理装置13发出第一图像处理序列的执行指示(步骤S213)。图像处理装置13接收该执行指示,执行用于使用移动摄像机31检测工件93的第一图像处理序列(步骤S124)。在步骤S124中,图像处理装置13执行第一图像处理序列,基于由移动摄像机31拍摄工件93的拍摄图像(图像数据)进行图像处理,检测工件93的中心位置。此外,图像处理装置13利用移动摄像机31的校准,将拍摄图像所映现的工件93的中心位置转换为本地坐标(分量xd、yd、ud)。

接着,图像处理装置13向机器人控制装置12发送第一图像处理序列结果(图像检测点的机器人坐标等)(步骤S215)。若机器人控制装置12接收第一图像处理序列结果(步骤S216),则基于该结果,将基于本地坐标系的工件93的中心的位置(分量xd、yd、zd、ud)作为第七点进行设定,并记录在存储部113中(步骤S217)。这里,工件93的位置(分量zd)使用第二点的位置(分量zd)。

接着,机器人控制装置12驱动机器人手臂20,基于工具设定,将工具中心点P移动到第七点,并通过手部270把持工件93(步骤S218)。接着,机器人控制装置12驱动机器人手臂20,使机器人2a的前端轴移动到第三点(步骤S219)。接着,机器人控制装置12对图像处理装置13发出第三图像处理序列的执行指示(步骤S220)。图像处理装置13接收该执行指示,执行用于使用固定摄像机32检测工件93的第三图像处理序列(步骤S221)。在步骤S221中,图像处理装置13执行第三图像处理序列,基于使用固定摄像机32拍摄工件93的拍摄图像(图像数据)进行图像处理,检测出工件93的点A、点B。此外,图像处理装置13利用固定摄像机32的校准结果,将映现在拍摄图像中的工件93的点A及点B的位置转换为机器人坐标(基座坐标)。接着,图像处理装置13向机器人控制装置12发送第三图像处理序列结果(点A及点B的各机器人坐标等)(步骤S222)。若机器人控制装置12接收第三图像处理序列结果(步骤S223),则基于该结果,进行测量基于本地坐标系的工件93的点A和点B之间的距离的检查(步骤S224)。

接着,机器人控制装置12进行合格与否判定(步骤S225),如果点A和点B之间的距离在预定阈值内则为合格,如果在预定阈值外则为不合格。在合格的情况下,机器人控制装置12移至步骤S226a,驱动机器人手臂20,使机器人2a的前端轴移动到第五点。另一方面,在不合格的情况下,机器人控制装置12移至步骤S226b,驱动机器人手臂20,使机器人2a的前端轴移动到第六点。

接着,机器人控制装置12递增计数(count up)(步骤S227),判断工件93是否达到了预定数量(步骤S228)。如果达到了预定数量,则机器人控制装置12移至步骤S229,向计算机11发送作业结束的信息(步骤S229),结束作业。另一方面,在没有达到预定数量的情况下,返回到步骤S211,重复步骤S211~S228,直至达到预定数量。

如上所述,作业结束。此外,计算机11基于作业的结果(例如,工件93的把持是否成功,把持位置的偏差、图像序列执行是否成功等),重新生成上述作业程序。例如,如果计算机11判断为工件93的把持频繁失败,则重新生成(重写)作业程序,再次进行作业。如此,通过进行作业程序的生成(更新)及基于该作业程序的作业,直到工件93的把持稳定,从而能够提高机器人2a的作业精度。此外,计算机11也可以仅重新生成作业程序的一部分,而非作业程序的全部。例如,在工件93的把持精度不在预定阈值内的情况下,也可以仅再次重新生成移动摄像机31的校准(图9:步骤S127)。如此,通过仅重新生成作业程序的一部分,从而能够高效地进行作业程序的再设定(生成)。

用于进行这种作业的作业程序的生成及其所需的各种处理的设定,如上所述,基于使用各种指示画面的用户的操作指示(输入装置42的输入),由控制系统10执行。下面,对各种指示画面、用户对指示画面的操作(输入装置42的输入)以及计算机11(显示控制部114)的显示处理等进行说明。此外,下面,将控制系统10基于用户使用各种指示画面进行的操作指示(输入装置42的输入)而进行的各种设定等称为“显示处理”。

主窗口及显示处理

图17是示出在图1所示的显示装置中显示的主窗口及机器人操作用的子窗口的图。图18示出在图1所示的显示装置中显示的主窗口及图像处理用的子窗口的图。

如图17所示,主窗口50至少具有工具栏502。工具栏502具有工具设定用图标701、本地设定用图标702、校准生成用图标703、为了显示图像处理用的子窗口61而使用的图标601、命令输入图标801。这些图标的显示(图等)并不特别限定,但优选为用户容易识别用途的显示。关于各图标的用途,后文中将进行说明。

此外,与主窗口50同时,显示控制部114能够在显示装置41中显示图17所示的机器人操作用的子窗口51、图18所示的图像处理用的子窗口61。此外,虽然未图示,但与主窗口50同时,显示控制部114能够在显示装置41中显示命令输入用的子窗口、设定力控制中的各种参数的子窗口。显示控制部114根据用户的操作指示,将这些子窗口(包括子窗口51、61)中所希望的子窗口显示在最前面。此外,也可以将这些子窗口排列显示。

图17所示的机器人操作用的子窗口51具备面板52,该面板52具有点动动作组(区域)521、示教组522。此外,虽然未图示,但除了面板52之外,子窗口51还具备设定机器人2的各种参数(例如移动速度等)的面板等的多个面板。此外,子窗口51具有为了将所希望的面板显示在最前面而使用的多个标签53。

点动动作组521具有多个按钮5212,该多个按钮5212接收用户的使机器人2的预定部位进行点动动作的操作指示。由于这种点动动作组521具有视觉上容易理解的按钮5212,因此用户能够简单地指示机器人2的点动进给。该点动动作组521能够在上述作业程序生成中的步骤S111、S113、S116、S118、S124、S126、S128、S129中使用。具体而言,例如在步骤S111中,若输入控制部115接收对于来自用户的多个按钮5212的操作指示,则控制部111对机器人控制装置12发出使移动摄像机31位于校准板92上的移动命令(图8:步骤S111)。

此外,为了用户设定示教点而使用示教组522。该示教组522能够在上述作业程序生成中的步骤S114、S117、S119、S125、S128、S129中使用。具体而言,例如在步骤S114中,若输入控制部115进行用户对示教按钮的操作指示,则控制部111设定第一点,并将第一点记录在存储部113中(图8:步骤S114)。

图18所示的图像处理用的子窗口61具有工具栏615、图像显示部612、执行组613、流程图显示部62。该图像处理用的子窗口61通过用户对主窗口50中的图标601进行操作指示而显示。

工具栏615具有为了显示图像处理序列的生成用的画面群而使用的图标671。图像显示部612显示由摄像部3拍摄的拍摄图像、图像处理结果。执行组613具有接收用户的执行图像处理序列的操作指示的各种按钮。流程图显示部62显示图像处理序列(流程图660c)(参照图39及图42)的图像处理过程、校准的示教过程等。

此外,子窗口61具有与点动动作组521相同结构的点动面板54、设定机器人2的各种参数(例如移动速度等)的面板(未图示)。子窗口61具有为了将设定机器人2的各种参数的面板和点动面板54中的任一个显示在最前面而使用的两个标签56。此外,也可以将这些面板排列显示。

如此,通过子窗口61具有点动面板54,用户能够使用图像处理用的子窗口61进行机器人操作。此外,同样地,通过子窗口61具有设定机器人2的各种参数的面板,用户能够使用图像处理用的子窗口61设定机器人2的各种参数。

此外,虽然图18中未图示,但子窗口61具有校准设定(生成的校准的名称及各种设定内容)和图像处理序列设定(生成的图像处理序列的名称及各种设定内容)和显示、生成的属性设定窗口60(参照图39)。该属性设定窗口60在显示有点动面板54的区域显示(参照图18)。关于该属性设定窗口60,后文中将进行详细说明。

如上所述,由于显示控制部114在控制部111的控制之下,能够与一个主窗口50同时将多种子窗口(包括子窗口51、61)重叠或者排列地显示,因此用户能够高效率地进行多种作业。特别地,如上所述,在本实施方式中,由于能够在显示装置41中显示机器人操作用的子窗口51、图像处理用的子窗口61、命令输入用的子窗口和力控制有关的子窗口,因此便利性特别高。

此外,如上所述,显示控制部114能够在图像处理用的子窗口61中重叠或者排列地显示用于进行机器人2的各种参数的设定的面板(未图示)、用于进行机器人2的点动动作的点动面板54。因此,用户能够准确且高效率地进行图像处理序列执行时的机器人2的操作。

此外,在摄像机点的示教(对机器人的位置进行示教以使标记包括在摄像机的视场内)之后,例如,通过执行图39及图42所记载的图像处理序列(流程图660c),能够正确地检测标记。此外,在上述图像处理序列中,示出了通过下述过程进行标记的检测。示出了开头的流程664被选择的图像处理序列(序列名)。

首先,图中的步骤1的流程664a的“Geometric”发现图形的模型。接着,步骤2的流程664b的“Frame”将Frame的原点移至Geometric发现的图形的模型的中心。接着,步骤3的流程664c的“ArcFinder”相比“Frame”高精度地得出图形的模型的中心。

下面,对上述作业程序中的本地设定及该本地设定中的显示处理进行说明。

本地设定及显示处理

图19是示出图8所示的本地坐标系的设定的流程的流程图。图20、图21及图23分别是在图1所示的显示装置中显示的本地设定画面。图22是在图1所示的显示装置中显示的示教用的画面。

下面,参照图19所示的流程图,对上述作业程序的生成中的本地坐标系的设定(步骤S112)进行说明。本地坐标系的设定(本地设定)具有[1A]本地设定中的各种设定(步骤S31)、[2A]本地设定的处理的执行(步骤S32(未图示))、[3A]本地设定结果的反映(步骤S33)。这里,如上所述,本地设定是指包括本地设定中的各种设定(包括显示处理)、本地设定的处理的执行以及通过反映本地设定结果来设定本地坐标系。

[1A]本地设定中的各种设定(步骤S31)

首先,控制系统10基于输入装置42的输入,执行本地设定中的各种设定。

具体而言,首先,若用户对图17所示的主窗口50的本地设定用图标702进行操作指示(点击),则输入控制部115接收该操作指示(本地设定开始的指示)(图19:步骤S311)。由此,控制部111开始本地设定用的画面群的显示处理,其以和用户的对话形式显示多个(本实施方式中是五个)本地设定画面(指示画面)72,并对显示控制部114发出图20所示的第一个本地设定画面72a(本地设定画面72)的输出指示(图19:步骤S312)。显示控制部114接收该输出指示,在显示装置41中显示第一个本地设定画面72a。

第一个本地设定画面

如图20所示,第一个本地设定画面72a是用于选择本地设定模式(本地校准类型)的画面。本地设定模式示出了本地坐标系的设定方法。即,本地设定模式示出了以什么样的方式进行,或者进行什么种类的(例如,手动进行本地设定或者与固定摄像机32平行的本地设定等)本地设定。在本实施方式中,本地设定画面72a具有多个单选按钮721,以能够接收图20所示的三个本地设定模式中的任一个的选择的方式构成。如此,通过本地设定画面72a是从多个模式中引导一个选择的结构,从而能够防止用户选择两种以上的模式。此外,本地设定模式的种类并不限于图20所示的三个模式,既可以进一步添加其他模式,也可以省略图20所示的三个模式中的任一个。

此外,本地设定画面72a具有显示为“取消”的按钮7201、显示为“返回”的按钮7202、显示为“下一步”的按钮7203、显示为“示教”的按钮(示教按钮)7204、显示为“完成”的按钮7205。为了本地设定向导的取消而使用按钮7201。为了返回到依次显示的本地设定画面72中的前一个本地设定画面72而使用按钮7202。为了前进到依次显示的本地设定画面72中的下一个本地设定画面72而使用按钮7203。此外,由于本地设定画面72a是依次显示的本地设定画面72中的第一个,因此按钮7202不可选。此外,按钮7204、7205也不可选。

对于这种本地设定画面72a,用户进行选择所希望的模式的操作指示(点击或触摸所希望的一个单选按钮721),若对显示为“下一步”的按钮7203进行操作指示,则输入控制部115接收本地设定模式的选择(图19:步骤S313)。由此,控制部111使所选择的本地设定模式存储于存储部113,并对显示控制部114发出第二个本地设定画面(未图示)的输出指示(图19:步骤S314)。显示控制部114接收该输出指示,在显示装置41中显示第二个本地设定画面(未图示)。

第二个本地设定画面

虽然未图示,但第二个本地设定画面是用于选择(设定)保存本地设定结果的保存编号(本地编号)的画面。此外,除了取代本地设定模式的选择的显示而显示保存编号的选择之外,第二个本地设定画面与第一个本地设定画面72a是几乎相同的显示方式。

第二个本地设定画面中选择保存编号的显示,例如能够使用列表框等。通过这种第二个本地设定画面是接收保存编号的选择的结构,从而能够防止用户输入错误。此外,取代保存编号,选择的内容也可以是保存名。此外,虽然未图示,但第二个本地设定画面也具有与第一个本地设定画面72a所具备的按钮7201~7205相同的按钮。

若对于这种第二个本地设定画面,用户在进行选择所希望的保存编号的操作指示后,对显示为“下一步”的按钮(与按钮7203对应的按钮)进行操作指示,则输入控制部115接收本地设定的结果的保存编号的选择(图19:步骤S315)。由此,控制部111在存储部113中存储所选择的保存编号,并对显示控制部114发出图21所示的第三个本地设定画面72b(本地设定画面72)的输出指示(图19:步骤S316)。若接收该输出指示,则显示控制部114使第三个本地设定画面72b显示于显示装置41。

第三个本地设定画面

如图21所示,第三个本地设定画面72b是用于选择各种视觉组件的内容的画面。本地设定中的视觉组件示出了本地坐标系的设定中使用的摄像部3的种类、设置位置(摄像机工具)、图像处理方法等图像处理有关的要素。在本实施方式中,如图21所示,本地设定画面72b以选择摄像部3、摄像部3的设置位置、图像处理序列、摄像机工具以及校准板这五个视觉组件的各内容的方式构成。具体而言,本地设定画面72b具有多个用于从视觉组件有关的多个内容(信息)中选择一个内容的下拉列表722或单选按钮723。此外,省略下拉列表722的列表的图示(关于其他附图也同样)。本地设定中的视觉组件并不限于上述五个视觉组件,既可以进一步添加其他视觉组件,也可以省略上述视觉组件中的任一个。

此外,本地设定画面72b具有选择是否对本地基准点进行示教的复选框729。当接收该选择时,控制部111将包括本地坐标系的本地平面设定在通过指定的示教点的位置。由此,提高通过机器人2a利用所设定的本地坐标时的便利性。

这里,第三个本地设定画面72b的显示内容根据第一个本地设定画面72a的摄像部3的种类(选择)而改变。具体而言,下拉列表722的显示内容根据第一个本地设定画面72a的摄像部3的种类(选择)而改变。例如,在上述作业程序的生成中的步骤S112中,使用移动摄像机31进行本地设定。因此,当输入控制部115接收用户对第一个本地设定画面72a的图中从上起第二个单选按钮721的选择时,显示控制部114在显示装置41中显示具有移动摄像机31有关的显示内容的下拉列表722的本地设定画面72b。此外,例如当输入控制部115接收第一个本地设定画面72a的图中从上起第三个单选按钮721的选择时,显示控制部114在显示装置41中显示具有固定摄像机32有关的显示内容的下拉列表722的本地设定画面72b。

像这样,由于在之后显示的本地设定画面72b中,根据先前显示的本地设定画面72a中的选择而显示限定的内容,因此能够减少用户的选择错误。

若对于这种第三个本地设定画面72b,用户进行选择各视觉组件的内容的操作指示,并对显示为“下一步”的按钮7203进行操作指示,则输入控制部115接收各视觉组件的内容的选择(图19:步骤S317)。由此,控制部111在存储部113中存储所选择的视觉组件,并对显示控制部114发出第四个本地设定画面(未图示)的输出指示(图19:步骤S318)。显示控制部114接收该输出指示,在显示装置41中显示第四个本地设定画面(未图示)。

第四个本地设定画面

虽然未图示,但第四个本地设定画面是用于设定开始本地设定的摄像机点(开始位置)和本地基准点的画面。仅在第三个本地设定画面中进行了示教本地基准点的选择的情况下,设定本地基准点。此外,除了选择内容(设定内容)不同之外,第四个本地设定画面与第一个本地设定画面72a是几乎相同的显示方式。此外,第四个本地设定画面也具有与第一个本地设定画面72a所具备的按钮7201~7205相同的按钮。

若对于这种第四个本地设定画面,用户对示教按钮(与不可选被解除的按钮7204对应的按钮)进行操作指示,则输入控制部115接收该操作指示(图19:步骤S319)。由此,控制部111对显示控制部114发出示教用的画面720的输出指示(图19:步骤S320)。显示控制部114接收该输出指示,在显示装置41中弹出显示示教用的画面720。

示教用的画面

如图22所示,示教用的画面720是为了对开始本地设定的摄像机点以及决定所设定的本地平面的高度的本地基准点的位置进行示教而使用的画面。该画面720至少具有点动&示教面板726和示教按钮7206。点动&示教面板726具有:点动组724,其具有接收使机器人2a的预定部位进行点动动作的操作指示的多个按钮7241;图像显示部725,显示摄像部3的拍摄图像。

使用这种画面720,例如用户使用多个按钮7241进行使机器人2a的预定部位移动的指示(操作指示),以使校准板位于图像显示部725的中心(拍摄图像的中心)。若输入控制部115接收该用户的操作指示,则控制部111基于该操作指示,对机器人控制装置12发出使手部270移动的移动指示。此外,与移动指示一同,通过对图像处理装置13发出使摄像部3拍摄图像的拍摄指示,并显示在图像显示部725中,用户将摄像部移动到拍摄对象恰当映现的位置,对开始本地设定的摄像机点进行示教(图19:步骤S321)。然后,若在第三个本地设定画面中,在选择对本地基准点进行示教的情况下,在将机器人2a的手部270等向所设定的本地平面应该通过的点移动后,用户对示教按钮7206进行操作指示,则输入控制部115接收该用户对示教按钮7206的操作指示。由此,控制部111对本地设定的本地平面通过的本地基准点(基准点)进行设定(图19:步骤S322)。此外,控制部111在存储部113中存储摄像机点、本地基准点。此后,控制部111对显示控制部114发出消除示教用的画面720的指示,显示控制部114从显示装置41中消除示教用的画面720。

接着,若用户对上述第四个本地设定画面(未图示)中的显示为“下一步”的按钮(与按钮7203对应)进行操作指示,则输入控制部115接收该用户的操作指示(图19:步骤S323)。然后,控制部111对显示控制部114发出第五个本地设定画面72c的输出指示(图19:步骤S324)。由此,显示控制部114在显示装置41中显示第五个本地设定画面72c。

第五个本地设定画面

如图23所示,第五个本地设定画面72c是用于选择用于自动执行本地设定的各种参数的内容的画面。在本实施方式中,如图23所示,本地设定画面72c以选择目标的容许量、最大移动距离、最大姿势变化量(角度)以及LJM模式这四个参数的各内容的方式构成。具体而言,本地设定画面72c具有用于输入参数有关的内容的文本框727和用于从参数有关的多个内容(信息)中选择一个内容的下拉列表728。此外,参数并不限于上述四个参数,既可以进一步添加其他参数,也可以省略上述参数中的任一个。

此外,与第一个本地设定画面72a同样地,本地设定画面72c具有按钮7201~7205,按钮7203~7205不可选。由于该第五个本地设定画面72c是本地设定用的画面群中的最后的本地设定画面,因此按钮7203不可选。

此外,本地设定画面72c具有显示为“执行”的按钮7208。

若对于这种本地设定画面72c,用户进行选择各种参数的内容的操作指示,并对显示为“执行”的按钮7208进行操作指示,则输入控制部115接收各参数的内容的选择和来自用户的本地设定的执行指示(图19:步骤S325)。由此,控制部111在存储部113中存储所选择的参数的内容,并对机器人控制装置12及图像处理装置13发出进行本地设定的执行指示(图19:步骤S326)。如上所述,通过本地设定的显示处理进行的本地设定的各种设定完成。

[2A]本地设定的处理的执行(步骤S32)

接着,控制系统10执行本地设定的处理。

具体而言,机器人控制装置12及图像处理装置13基于来自步骤S326的控制部111的执行指示,执行本地设定的处理。

首先,若机器人控制装置12接收执行指示,则从机器人2a获取机器人2a的状态(例如驱动部280的电机是否被设置为ON等)。然后,为了使校准板进入移动摄像机31的视场,机器人控制装置12对机器人2a发出移动指示,以使移动摄像机31向作为本地设定的开始位置示教的摄像机点移动。这时,机器人2a向机器人控制装置12返回机器人手臂20的每次移动有关的信息(位置传感器的值)等。接着,机器人控制装置12对图像处理装置13发出图像处理序列的执行指示。图像处理装置13接收该执行指示,执行用于通过移动摄像机31(摄像部3)检测校准板的图像处理序列。该图像处理序列执行通过上述本地设定画面72b接收的图像处理序列。图像处理装置13执行图像处理序列,基于移动摄像机31拍摄校准板的拍摄图像(图像数据),进行图像处理,检测校准板相对于移动摄像机31的相对的位置姿势。接着,若图像处理结束,则图像处理装置13向机器人控制装置12发送图像处理序列的执行结果(校准板的位置姿势)。接着,机器人控制装置12基于所获取的校准板的位置姿势、拍摄时的移动摄像机31的机器人坐标(基座坐标),计算本地坐标系。此外,机器人控制装置12向计算机11发送本地坐标系的设定结果(本地设定结果)。此外,如上所述,关于本地设定的执行内容等,具体方法并不特别限定。存储部113中按照各种设定存储有处理(程序),控制部111根据所选择的设定执行处理(程序)。

[3A]本地设定的结果的反映(步骤S33)

接着,控制系统10反映本地设定结果。

具体而言,首先,计算机11的通信部116接收本地设定结果(图19:步骤S327),控制部111对显示控制部114发出显示本地设定结果的画面的输出指示(图19:步骤S328)。由此,显示控制部114将显示有本地设定结果的画面(未图示)显示于显示装置41中。虽然未图示,但该画面以用户能够选择是否反映本地设定结果的方式构成。

当输入控制部115接收用户的所谓反映本地设定结果的选择时(图19:步骤S329),控制部111对机器人控制装置12发出设定本地设定结果的指示(图19:步骤S330)。机器人控制装置12接收该指示,设定本地设定并进行存储。由此,反映本地设定。另一方面,如果用户选择不反映本地设定的结果,虽然图19中未图示,例如控制部111再次进行[1A]本地设定中的各种设定(步骤S31)和[2A]本地设定的处理的执行(步骤S32)。此外,只要至少再次进行[2A]本地设定的处理的执行(步骤S32)即可。如此,通过根据需要重复进行[2A]本地设定的处理的执行(步骤S32)等,从而能够提高本地设定结果的精度。

在以上说明的本地设定中,如上所述,在[1A]本地设定中的各种设定中,显示控制部114输出本地设定用的画面群,该本地设定用的画面群以和用户的对话形式显示多个(本实施方式中是五个)本地设定画面72。并且,用户使用多个本地设定画面72对控制系统10进行各种设定的指示。由此,由于用户能够沿着预定的顺序,以对话形式选择设定内容(信息),因此没有复杂的操作,就可以简单且方便地完成本地设定中的各种设定。因此,能够省去像现有那样对各种设定进行编程的麻烦。此外,通过在本地设定中显示必要的设定内容,即使是初学者,也能够减少本地设定所需的设定内容的设定不足发生的情况,能够减少本地设定的执行中例如发生错误等。

此外,如上所述,本地设定用的画面群具有五个本地设定画面72,但本地设定画面72的数量并不限于此。既可以进一步添加其他本地设定画面,也可以省略五个本地设定画面72中的任一个。此外,五个本地设定画面72所显示的顺序并不限于上述顺序,而是任意的。但是,优选的是,之后显示的本地设定画面72的显示内容根据先前显示的本地设定画面72的选择内容而改变。即,优选的是,之后显示的本地设定画面72的显示内容是根据先前显示的本地设定画面72的选择内容的限定的内容。因此,优选的是,在上述本地设定画面72a之后,以显示本地设定画面72b的方式进行设定。此外,通过使上述五个本地设定画面72按上述说明的顺序显示,用户特别容易把握设定内容,因此对用户来说,能够提高便利性。

下面,对上述作业程序中的工具设定及工具设定中的显示处理进行说明。

工具设定及显示处理。

图24是示出图8所示的工具设定的流程的流程图。图25、图26及图27分别是在图1所示的显示装置中显示的工具设定画面。

下面,参照图24所示的流程图,对上述作业程序的生成中的工具设定(步骤S121)进行说明。工具设定具有[1B]工具设定中的各种设定(步骤S41)、[2B]工具设定的处理的执行(步骤S42)(未图示)、[3B]工具设定结果的反映(步骤S43)。这里,工具设定是指包括工具设定中的各种设定(包括显示处理)、工具设定的处理的执行以及反映工具设定结果。

[1B]工具设定中的各种设定(步骤S41)

首先,控制系统10基于用户的操作指示执行工具设定中的各种设定。

具体而言,首先,若用户对图17所示的主窗口50的工具设定用图标701进行操作指示,则输入控制部115接收该操作指示(工具设定开始时的指示)(图24:步骤S411)。由此,控制部111开始以和用户的对话形式显示多个(本实施方式中是五个)工具设定画面71(指示画面)的工具设定用的画面群的显示处理,并对显示控制部114发出图25所示的第一个工具设定画面71a(工具设定画面71)的输出指示(图24:步骤S412)。由此,显示控制部114在显示装置41中显示第一个工具设定画面71a。

第一个工具设定画面

如图25所示,第一个工具设定画面71a是用于选择工具设定模式(校准工具类型)的画面。工具设定模式示出了工具设定的种类、方法。即,工具设定模式示出了设定什么样的工具的偏移、以什么方式进行工具设定。在本实施方式中,工具设定画面71a具有多个单选按钮711,并以能够接收图25所示的四个工具设定模式中的任一个的方式构成。如此,通过工具设定画面71a是引导从多个模式中选择一个的结构,从而能够防止用户选择两种以上的模式。此外,工具设定模式的种类并不限于图25所示的四个模式,既可以进一步添加其他模式,也可以省略图25所示的四个模式中的任一个。

此外,与上述本地设定画面72a同样地,工具设定画面71a具有显示为“取消”的按钮7101、显示为“返回”的按钮7102、显示为“下一步”的按钮7103、显示为“示教”的按钮7104、显示为“完成”的按钮7105。

若对于这种工具设定画面71a,用户进行选择所希望的模式的操作指示,对按钮7103进行操作指示,则输入控制部115接收工具设定模式的选择(图24:步骤S413)。由此,控制部111在存储部113中存储所选择的工具设定模式,并对显示控制部114发出第二个工具设定画面(未图示)的输出指示(图24:步骤S414)。显示控制部114接收该输出指示,在显示装置41中显示第二个工具设定画面(未图示)。

第二个工具设定画面

虽然未图示,但第二个工具设定画面是用于选择(设定)保存工具设定结果的保存编号(工具编号)的画面。此外,除了选择内容(设定内容)不同之外,第二个工具设定画面与第一个工具设定画面71a是几乎相同的显示方式。

第二个工具设定画面中选择保存编号的显示,例如能够使用列表框等。通过这种第二个工具设定画面是接收保存编号的选择的结构,从而能够防止用户输入错误。此外,取代保存编号,选择的内容也可以是保存名。此外,虽然未图示,但第二个工具设定画面也具有与第一个工具设定画面71a所具备的按钮7101~7105相同的按钮。

若对于这种第二个工具设定画面,用户在进行选择所希望的保存编号的操作指示后,进行显示为“下一步”的按钮(与按钮7103对应的按钮)的操作指示,则输入控制部115接收工具设定的结果的保存编号的选择(图24:步骤S415)。由此,控制部111在存储部113中存储所选择的保存编号,并对显示控制部114发出图26所示的第三个工具设定画面71b(工具设定画面71)的输出指示(图24:步骤S416)。当接收该输出指示时,显示控制部114在显示装置41中显示第三个工具设定画面71b。

第三个工具设定画面

如图26所示,第三个工具设定画面71b是用于选择各种视觉组件的内容的画面。工具设定中的视觉组件示出了工具设定中为了检测工具而使用的摄像部3的种类、图像处理的对象、方法等的要素。在本实施方式中,如图26所示,工具设定画面71b以选择为了检测工具而使用的摄像部3以及为了检测工具而使用的图像处理序列这两个视觉组件的各内容的方式构成。具体而言,工具设定画面71b具有用于从视觉组件有关的多个内容(信息)中选择一个内容的多个下拉列表712。此外,工具设定中的视觉组件并不限于上述两个视觉组件,既可以进一步添加其他视觉组件,也可以省略上述视觉组件中的任一个。

这里,第三个工具设定画面71b的显示内容根据第一个工具设定画面71a的摄像部3的种类(选择)而改变。具体而言,下拉列表712的显示内容根据第一个工具设定画面71a的摄像部3的种类(选择)而改变。例如,在上述作业程序的生成中的步骤S121中,使用未进行校准的固定摄像机32进行工具设定。因此,当输入控制部115接收对第一个工具设定画面71a的图中从上起第三个单选按钮711的选择时,显示控制部114在显示装置41中显示具有固定摄像机32有关的显示内容的下拉列表712的工具设定画面71b。

如此,由于之后显示的工具设定画面71b中根据先前显示的工具设定画面71a中的选择显示限定的内容,因此能够减少用户的选择错误。

若对于这种第三个工具设定画面71b,用户进行选择各视觉组件的内容的操作指示,并对显示为“下一步”的按钮7103进行操作指示,则输入控制部115接收各视觉组件的内容的选择(图24:步骤S417)。由此,控制部111在存储部113中存储所选择的视觉组件,并对显示控制部114发出第四个工具设定画面(未图示)的输出指示(图24:步骤S418)。显示控制部114接收该输出指示,在显示装置41中显示第四个工具设定画面(未图示)。

第四个工具设定画面

虽然未图示,但第四个工具设定画面是接收开始工具设定的摄像机点的示教的画面。此外,除了选择内容(设定内容)不同之外,第四个工具设定画面与第一个工具设定画面71a是几乎相同的显示方式。此外,第四个工具设定画面也具有与第一个工具设定画面71a所具备的按钮7101~7105相同的按钮。

若对于这种第四个工具设定画面(未图示),用户对示教按钮(与不可选被解除的按钮7104对应的按钮)进行操作指示,则输入控制部115接收该操作指示(图24:步骤S419)。由此,控制部111对显示控制部114发出示教用的画面(未图示)的输出指示(图24:步骤S420)。显示控制部114接收该输出指示,在显示装置41中弹出显示示教用的画面。此外,该示教用的画面与上述本地设定中的示教用的画面720是相同的显示方式(参照图24)。

使用该示教用的画面,用户进行使例如作为工具的手部270把持的工件93上附加的标记(目标)位于拍摄图像的中心附近的指示(操作指示)。当输入控制部115接收该用户的指示时,控制部111基于该指示,对机器人控制装置12发出使手部270移动的移动指示,并对图像处理装置13发出通过摄像部3拍摄标记的拍摄指示(图24:步骤S421)。然后,标记位于拍摄图像的中心附近后,输入控制部115接收该用户对示教按钮(与示教按钮7104对应的按钮)的操作指示。由此,控制部111将标记位于拍摄图像的中心时的机器人2a的前端轴坐标作为工具设定开始时的摄像机点进行设定(图24:步骤S422)。此外,控制部111在存储部113中存储摄像机点。此后,控制部111对显示控制部114发出消除示教用的画面的指示,显示控制部114从显示装置41中消除示教用的画面。

接着,若用户对上述第四个工具设定画面(未图示)中的显示为“下一步”的按钮(与按钮7103对应)进行操作指示,则输入控制部115接收该用户的选择(图24:步骤S423)。然后,控制部111对显示控制部114发出第五个工具设定画面71c的输出指示(图24:步骤S424)。由此,显示控制部114在显示装置41中显示第五个工具设定画面71c。

第五个工具设定画面

如图27所示,第五个工具设定画面71c是用于选择用于自动执行工具设定的各种参数的内容的画面。在本实施方式中,如图27所示,工具设定画面71c以选择初始旋转、最终旋转、目标的容许量、最大移动距离以及LJM模式这五个参数的各内容的方式构成。具体而言,工具设定画面71c具有用于输入参数有关的内容的文本框713和用于从参数有关的多个内容(信息)中选择一个内容的下拉列表714。此外,参数并不限于上述五个参数,既可以进一步添加其他参数,也可以省略上述参数中的任一个。

此外,与第一个工具设定画面71a同样地,工具设定画面71c具有按钮7101~7105。此外,工具设定画面71c具有显示为“执行”的按钮7106。

若对于这种工具设定画面71c,用户进行选择各种参数的内容的操作指示,并对显示为“执行”的按钮7106进行操作指示,则输入控制部115接收各参数的内容的选择和来自用户的工具设定的执行指示(图24:步骤S425)。由此,控制部111在存储部113中存储所选择的参数的内容,并对机器人控制装置12及图像处理装置13发出进行工具设定的执行指示(图24:步骤S426)。如上所述,通过工具设定的显示处理进行的工具设定的各种设定完成。

[2B]工具设定的处理的执行(步骤S42)

然后,控制系统10执行工具设定的处理。

具体而言,机器人控制装置12及图像处理装置13基于来自步骤S425的控制部111的执行指示,执行工具设定的处理。

首先,当机器人控制装置12接收执行指示时,从机器人2a获取机器人2a的状态。然后,为了进行工具设定,机器人控制装置12对机器人2a发出移动指示,以便能够通过固定摄像机32拍摄工件93上附加的标记。这里,例如发出移动指示,以使标记位于拍摄图像的中心。这时,机器人2a向机器人控制装置12返回机器人手臂20的每次移动有关的信息(位置传感器的值)等。接着,机器人控制装置12对图像处理装置13发出图像处理序列的执行指示。图像处理装置13接收该执行指示,通过固定摄像机32检测标记,执行图像处理序列。这里,执行通过上述工具设定画面71b接收的图像处理序列。图像处理装置13执行图像处理序列,基于固定摄像机32拍摄标记的拍摄图像(图像数据),进行图像处理。接着,机器人控制装置12向机器人2a发出移动指示,例如以拍摄图像的中心为转动中心,使轴坐标转动。然后,图像处理装置13接收该执行指示,通过固定摄像机32检测标记,执行图像处理序列。此外,除了上述处理之外,例如机器人控制装置12也可以进行使标记相对于轴坐标转动的操作,此外,也可以使轴坐标进一步转动。接着,图像处理装置13向机器人控制装置12发送图像处理序列的执行结果(标记的检测结果)。然后,机器人控制装置12基于所获取的标记的检测结果和拍摄时的机器人坐标等,计算偏移。并且,机器人控制装置12向计算机11发送工具设定的结果。此外,如上所述,关于工具设定的执行内容等,并不特别限定具体方法。存储部113中按照各种设定存储有处理(程序),控制部111根据所选择的设定执行处理(程序)。

[3B]工具设定的结果的反映(步骤S43)

接着,控制系统10执行工具设定结果的反映及设定。

具体而言,首先,计算机11的通信部116接收工具设定的结果(图24:步骤S427),控制部111对显示控制部114发出显示工具设定的结果的画面的输出指示(图24:步骤S428)。由此,显示控制部114将显示有工具设定的结果的画面显示于显示装置41中。虽然未图示,但该画面以用户能够选择是否反映工具设定的结果的方式构成。

当输入控制部115接收用户的反映工具设定的结果的选择时(图24:步骤S429),控制部111对机器人控制装置12发出反映工具设定的结果并进行存储的指示(图24:步骤S430)。机器人控制装置12接收该指示,反映工具设定并进行存储。

另一方面,如果用户选择不反映工具设定的结果的话,虽然图24中未图示,控制部111例如再次进行[1B]工具设定中的各种设定(步骤S41)和[2B]工具设定的处理的执行(步骤S42)。此外,至少再次进行[2B]工具设定的处理的执行(步骤S42)即可。如此,通过根据需要重复进行[2B]工具设定的处理的执行(步骤S42)等,从而能够提高工具设定结果的精度。

在以上说明的工具设定中,如上所述,在[1B]工具设定中的各种设定中,显示控制部114显示以和用户的对话形式显示多个(本实施方式中是五个)工具设定画面71的工具设定用的画面群。并且,用户使用多个工具设定画面71对控制系统10进行各种设定的指示。由此,由于用户能够沿着预定的顺序,以对话形式选择设定内容(信息),因此没有复杂的操作,就可以简单且方便地完成工具设定中的各种设定。因此,能够省去像现有那样对各种设定进行编程的麻烦。此外,通过在工具设定中显示必要的设定内容,即使是初学者,也能够减少工具设定所需的设定内容的设定不足发生的情况,能够减少工具设定的执行中例如发生错误等。

此外,如上所述,工具设定用的画面群具有五个工具设定画面71,但工具设定画面71的数量并不限于此。既可以进一步添加其他工具设定画面,也可以省略五个工具设定画面71中的任一个。此外,五个工具设定画面71显示的顺序并不限于上述顺序,而是任意的。但是,优选的是,之后显示的工具设定画面71的显示内容根据先前显示的工具设定画面71的选择内容而改变。即,优选的是,之后显示的工具设定画面71的显示内容是根据先前显示的工具设定画面71的选择内容的限定的内容。因此,优选的是,以在上述工具设定画面71a之后显示工具设定画面71b的方式进行设定。此外,通过使上述五个工具设定画面71按上述说明的顺序显示,用户特别容易把握设定内容,因此对用户来说,能够提高便利性。

接着,对上述作业程序中的校准及该校准中的显示处理进行说明

校准生成及显示处理

图28及图29分别是示出图8及图9所示的校准的流程的流程图。图30~图37分别是在图1所示的显示装置中显示的校准生成画面(校准引导画面)。图38是在图1所示的显示装置中显示的示教用的画面。图39是示出在图18所示的子窗口中显示属性设定窗口的状态的图。图40及图41是示出在图18所示的子窗口中显示示教的流程的状态的图。图42是示出在图18所示的子窗口中显示校准执行按钮的状态的图。图43是图29所示的步骤S545中显示于显示装置的画面。

下面,参照图28及图29所示的流程图,对上述作业程序的生成中的校准(步骤S122、S127)进行说明。校准主要具有[1C]校准中的各种设定(步骤S51)、[2C]摄像机点的示教(步骤S52)、[3C]校准的执行(步骤S53(未图示))、[4C]校准结果的反映(步骤S54)。这里,如上所述,校准是指包括校准中的各种设定(包括显示处理),即校准生成、摄像机点或基准点的示教、校准的执行以及通过反映校准结果而将摄像部3的坐标系(图像坐标系)和机器人坐标系对应起来。

[1C]校准中的各种设定(步骤S51)

首先,控制系统10基于用户的操作指示,执行校准中的各种设定,即校准的生成。

具体而言,首先,若用户对图17所示的主窗口50的校准生成用图标703进行操作指示,则输入控制部115接收该操作指示(校准生成开始的指示)(图28:步骤S511)。由此,控制部111开始以和用户的对话形式显示多个(本实施方式中是十个)校准生成画面(指示画面)73的校准生成用的画面群的显示处理,并对显示控制部114发出图30所示的第一个校准生成画面73a(校准生成画面73)的输出指示(图28:步骤S512)。由此,显示控制部114在显示装置41中显示第一个校准生成画面73a。

第一个校准生成画面

如图30所示,第一个校准生成画面73a是用于选择从此设定的校准名的设定以及作为校准的对象的摄像部3的种类的画面。在本实施方式中,校准生成画面73a具有用于选择校准名的下拉列表7311、用于选择摄像部3的下拉列表7312、用于选择作为复制源的校准的下拉列表7313。

在已设定的校准被保存的情况下,通过使用下拉列表7313,从而能够复制作为复制源的校准的设定。由此,在校准生成画面73a之后显示的多个校准生成画面73中,显示作为复制源的校准的设定内容。因此,在用户希望仅对已设定的校准的各种内容稍微进行修正来生成新校准的情况下,通过指定作为复制源的校准,从而能够简单地进行修正。

此外,与上述本地设定画面72a同样地,校准生成画面73a具有显示为“取消”的按钮7301、显示为“返回”的按钮7302、显示为“下一步”的按钮7303、显示为“完成”的按钮7304。

若对于这种校准生成画面73a,用户进行校准名的输入等的操作指示,并对按钮7303进行操作指示,则输入控制部115接收校准名的输入等(图28:步骤S513)。由此,控制部111在存储部113中存储校准名等,并对显示控制部114发出图31或图32所示的第二个校准生成画面的输出指示(图28:步骤S514)。显示控制部114接收该输出指示,在显示装置41中显示第二个校准生成画面73b(校准生成画面73)。

第二个校准生成画面

如图31或图32所示,第二个校准生成画面73b是用于选择独立(standalone)摄像机或机器人摄像机的画面,并具有接收独立摄像机及机器人摄像机中的任一方的选择的两个单选按钮7321。“独立摄像机的选择”是指进行将实际空间中的坐标系和摄像部3的坐标系(图像坐标系)对应起来的校准。“机器人摄像机的选择”是指执行将摄像部3的坐标系(图像坐标系)和机器人2的坐标系对应起来的校准。

此外,校准生成画面73b具有用于从多个机器人2的种类中选择一个机器人2的下拉列表7322、接收摄像部3的安装位置的选择的组(区域)7323。这里,在本说明书中,摄像部3的安装位置包括设置摄像部3的设置位置和摄像部3的拍摄方向(朝向)。

在本实施方式中,下拉列表7322的显示内容是作为垂直多关节机器人的机器人2a及作为水平多关节机器人的机器人2b。校准生成画面73b以能够选择这些机器人2a、2b中的任一个的方式构成。此外,在本实施方式中,组7323具有四个单选按钮7324,并且以能够接收图31或图32所示的四个摄像部3的安装位置中的任一个的方式构成。由此,能够防止用户选择两种以上的安装位置。此外,该机器人2的种类的选择及摄像部3的安装位置的选择用于选择机器人摄像机的情况。

这里,第二个校准生成画面73b的显示内容根据机器人2的选择内容(种类)而改变。具体而言,第二个校准生成画面73b的组7323的安装位置根据机器人2的选择内容而改变(参照图31及图32)。例如,当输入控制部115接收作为垂直多关节机器人的机器人2a的选择时,显示控制部114在显示装置41中显示具有机器人2a有关的安装位置的组7323(参照图31)。此外,例如,当输入控制部115接收作为水平多关节机器人的机器人2b的选择时,显示控制部114在显示装置41中显示具有机器人2b有关的安装位置的组7323(参照图32)。

例如,在上述作业程序的生成中的步骤S122中,进行作为垂直多关节机器人的机器人2a的机器人坐标系和固定摄像机32的图像坐标系的校准。因此,当输入控制部115接收机器人2a的选择时,显示控制部114在显示装置41中显示校准生成画面73b中具有图31所示的机器人2a有关的安装位置的组7323。

像这样,通过使组7323的显示内容即摄像部3的设置位置等信息根据机器人2的种类有所限定地显示,从而能够减少用户的选择错误。

若对于这种第二个校准生成画面73b,如上所述,用户进行选择所希望的机器人2及摄像部3的安装位置的操作指示,并对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收机器人2及摄像部3的设置位置的选择(图28:步骤S515)。由此,控制部111在存储部113中存储所选择的摄像部3的设置位置,并对显示控制部114发出图33所示的第三个校准生成画面73c的输出指示(图28:步骤S516)。显示控制部114接收该输出指示,在显示装置41中显示第三个校准生成画面73c。

这里,下面,以步骤S122中的校准的设定为中心进行说明。即,以固定摄像机32有关的校准为中心进行说明。因此,下面,对在上述图31的校准生成画面73b中,用户选择了机器人2a、选择了向上的固定摄像机(固定向上:Fixed upward)32的情况进行说明。此外,在以下说明的第三~第十个校准生成画面73中,显示基于校准生成画面73a、73b的选择内容的内容。因此,在第三~第十个校准生成画面73中,显示与向上的固定摄像机32对应的内容。

第三个校准生成画面

如图33所示,第三个校准生成画面73c是用于选择目标序列的内容的画面。目标序列示出了校准执行时由摄像部3拍摄的标记等的目标有关的图像处理序列。在本实施方式中,校准生成画面73c具有用于从多个目标序列的种类中选择一个目标序列的下拉列表733。

下拉列表733的显示内容根据第一个校准生成画面73a的摄像部3的种类(选择)而改变。例如,当输入控制部115在第一个校准生成画面73a中接收固定摄像机32的选择时,显示控制部114在显示装置41中显示具有固定摄像机32有关的显示内容的下拉列表733的校准生成画面73c。此外,在第一个校准生成画面73a中选择了移动摄像机31的情况下,下拉列表733中显示移动摄像机31有关的内容。像这样,通过之后显示的校准生成画面73c的下拉列表733的显示内容是与先前显示的校准生成画面73a中的选择相应的限定的内容,从而能够减少用户的选择错误。

若对于这种校准生成画面73c,用户进行选择目标序列的操作指示,并对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收目标序列的选择(图28:步骤S517)。由此,控制部111在存储部113中存储所选择的目标序列。此外,这时控制部111将所选择的目标序列和当前设定的校准关联起来存储在存储部113中。此外,控制部111对显示控制部114发出图34所示的第四个校准生成画面73d(校准生成画面73)的输出指示(图28:步骤S518)。显示控制部114接收该输出指示,在显示装置41中显示第四个校准生成画面73d。

第四个校准生成画面

如图34所示,第四个校准生成画面73d是用于选择校准中与图像坐标对应起来的本地坐标系(机器人本地)的画面。在本实施方式中,校准生成画面73d具有用于选择本地设定的保存编号的下拉列表7342和本地向导按钮7341。

下拉列表7342中显示有已设定的本地设定的保存编号和从此设定并保存的本地设定的保存编号(未设定的本地设定的保存编号)。此外,本地向导按钮7341为了启动具有上述多个本地设定画面72的本地设定用的画面群而使用。

若对于这种校准生成画面73d,例如用户不对本地向导按钮7341进行操作指示,而进行从下拉列表7342中选择作为设定结束的本地设定的保存编号的操作指示,并对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收本地设定的保存编号的选择(图28:步骤S519)。由此,控制部111判断为不进行本地设定(图28:步骤S520),在存储部113中存储所选择的本地坐标系,并对显示控制部114发出图35所示的第五个校准生成画面73e(校准生成画面73)的输出指示(图28:步骤S522)。显示控制部114接收该输出指示,在显示装置41中显示第五个校准生成画面73e。

另一方面,若对于校准生成画面73d,用户从下拉列表7342中选择未设定的本地设定的保存编号,并对本地向导按钮7341进行操作指示,则输入控制部115接收该用户的操作指示(图28:步骤S519)。由此,若控制部111判断为进行本地设定(图28:步骤S520),则移至上述本地设定,启动具有多个本地设定画面72的本地设定用的画面群(图28:步骤S521)。然后,若上述本地设定结束后,输入控制部115接收用户对校准生成画面73d中的显示为“下一步”的按钮7303的操作指示,则控制部111在存储部113中存储已设定的本地设定,并对显示控制部114发出图35所示的第五个校准生成画面73e的输出指示(图28:步骤S522)。

第五个校准生成画面

如图35所示,第五个校准生成画面73e是接收校准执行时使用的基准点的获取类型的设定(选择)的画面。在向上摄像机(固定摄像机32)的校准的情况下,作为基准点的获取类型,仅能够选择手端操作装置。即在向上校准中,将手端操作装置上附加的标记等目标的本地坐标(机器人坐标)和被检测出该目标的图像坐标对应起来。校准生成画面73e是接收保持手端操作装置上附加的目标的机器人2a的前端轴坐标中的偏移的工具设定(机器人工具)的设定的画面。

校准生成画面73e具有接收手端操作装置的选择的单选按钮7353、用于选择工具设定的保存编号的下拉列表7352、工具向导按钮7351和接收使用两个基准点的复选框7354。

单选按钮7353在进行固定摄像机32有关的校准的情况下显示。此外,下拉列表7352中显示已设定的工具设定的保存编号和从此设定并保存的工具设定的保存编号(未设定的工具设定的保存编号)。在本实施方式中,并不限于作为手端操作装置的手部270上设置的目标,例如可以将手部270把持的工件上附加的目标作为基准点进行设定。在下拉列表7352中,选择保持作为目标的基准点的机器人2a的前端轴坐标中的偏移的工具设定的保存编号。此外,在作为上述目标的基准点的工具设定尚未设定的情况下,工具向导按钮7351为了启动具有上述多个工具设定画面71的工具设定用的画面群进行工具设定而使用。

若对于这种校准生成画面73e,例如用户不对工具向导按钮7351进行操作指示,而进行从下拉列表7352中选择设定结束的基准点的获取类型(手端操作装置和工具设定的保存编号)的操作指示,并对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收基准点的获取类型(手端操作装置和工具设定的保存编号)的选择(图28:步骤S523)。由此,控制部111判断为不进行工具设定(图28:步骤S524),在存储部113中存储所选择的工具设定,并对显示控制部114发出图36所示的第六个校准生成画面73f(校准生成画面73)的输出指示(图28:步骤S526)。显示控制部114接收该输出指示,在显示装置41中显示第六个校准生成画面73f。

另一方面,若对于校准生成画面73e,用户从下拉列表7352中选择未设定的工具设定的保存编号,并对工具向导按钮7351进行操作指示,则输入控制部115接收该用户的操作指示(图28:步骤S523)。由此,若控制部111判断为进行工具设定(图28:步骤S524),则移至上述工具设定,启动具有多个工具设定画面71的工具设定用的画面群(图28:步骤S525)。然后,若上述工具设定结束后,输入控制部115接收用户对校准生成画面73e中的显示为“下一步”的按钮7303的操作指示,则控制部111在存储部113中存储已设定的工具设定,并对显示控制部114发出图36所示的第六个校准生成画面73f的输出指示(图28:步骤S526)。

第六个校准生成画面

如图36所示,第六个校准生成画面73f是用于选择是否进行摄像机点的自动生成的画面,具有复选框7361。摄像机点是拍摄图像内的点,是在校准执行时将目标(基准点)或摄像部3定位的点。该摄像机点的数量并不特别限定,但优选为三个以上,在本实施方式中,设定九个。

若对于这种校准生成画面73f,用户勾选复选框7361,并对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收进行摄像机点的自动生成的选择(图28:步骤S527)。另一方面,如果用户不勾选复选框7361,而对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收不进行摄像机点的自动生成的选择(图28:步骤S527)。此外,控制部111在存储部113中存储有无摄像机点的自动生成,并对显示控制部114发出第七个校准生成画面(未图示)的输出指示(图28:步骤S528)。显示控制部114接收该输出指示,在显示装置41中显示第七个校准生成画面。

第七个校准生成画面

虽然未图示,但第七个校准生成画面是用于是否进行摄像部3的透镜的失真校正的选择、以及进行失真校正的情况下设定图像处理序列的画面。此外,除了选择内容(设定内容)不同之外,该第七个校准生成画面与第一个校准生成画面73a是几乎相同的结构。

若对于这种第七个校准生成画面(未图示),用户选择是否进行透镜的失真校正,在进行失真校正的情况下,选择图像处理序列,并对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收是否进行透镜的失真校正(图28:步骤S529)。控制部111在存储部113中存储是否进行透镜的失真校正,并对显示控制部114发出第八个校准生成画面(未图示)的输出指示(图28:步骤S530)。显示控制部114接收该输出指示,在显示装置41中显示第八个校准生成画面。

第八个校准生成画面

虽然未图示,但第八个校准生成画面是用于设定执行校准时的照明的画面。在第八个校准生成画面中,例如能够设定照明打开前的待机时间或打开照明的输出比特等。此外,除了选择内容(设定内容)不同之外,该第八个校准生成画面与第一个校准生成画面73a是几乎相同的结构。

若对于这种第八个校准生成画面(未图示),设定照明,并对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收照明的设定(图28:步骤S531)。控制部111在存储部113中存储照明的设定,并对显示控制部114发出图37所示的第九个校准生成画面73g(校准生成画面73)的输出指示(图29:步骤S532)。显示控制部114接收该输出指示,在显示装置41中显示第九个校准生成画面。

第九个校准生成画面

如图37所示,第九个校准生成画面73g是用于选择校准中的机器人动作有关的各种参数的内容的画面。在本实施方式中,如图37所示,校准生成画面73g以选择机器人速度(机器人2的预定部位的移动速度)、机器人加速度(机器人2的预定部位的移动加速度)以及动作延迟(机器人2的预定部位停止后几秒后进行拍摄)这三个参数的各内容的方式构成。具体而言,校准生成画面73g具有多个用于输入参数有关的内容(信息)的文本框7371。此外,参数并不限于上述三个参数,既可以进一步添加其他参数,也可以省略上述参数中的任一个。

此外,校准生成画面73g具有选择是否使用引入点的复选框7372和示教按钮7373。引入点是校准执行时作为摄像机点的移动的基点的位置。通过使用引入点,在校准执行时,始终使机器人2的预定部位从引入点向摄像机点移动。因此,能够提高机器人2的摄像机点的位置的稳定性,其结果,能够进一步提高校准结果的精度。

若对于这种校准生成画面73g,例如用户勾选复选框7372,并对示教按钮7373进行操作指示,则输入控制部115接收该用户的操作指示。由此,控制部111判断为进行引入点的设定(图29:步骤S533),并对显示控制部114发出用于设定引入点的画面730的输出指示(图29:步骤S534)。由此,显示控制部114在显示装置41中弹出显示画面730。

如图38所示,画面730是用于输入引入点的字符串(机器人坐标)的画面。此外,画面730具有OK按钮7305、取消按钮7306、为了显示接收点动动作的操作指示的画面(未图示)而使用的按钮(点动&示教按钮)7307。当输入控制部115接收按钮7307的选择时,虽然未图示,但在控制部111的控制之下,显示控制部114在显示装置41中显示接收点动动作的操作指示的画面(与图22所示的画面720对应的画面)。由此,取代输入字符串,用户能够通过进行点动动作的操作指示来设定引入点。

若使用这种画面730及接收点动动作的操作指示的画面(未图示),用户进行引入点的设定,并对画面730的OK按钮7305进行操作指示,则输入控制部接收引入点的设定(图29:步骤S535)。由此,控制部111在存储部113中存储引入点,并对显示控制部114发出消除画面730的指示,显示控制部114从显示装置41中消除画面730。

然后,若用户对图37所示的校准生成画面73g中的显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收该操作指示。由此,控制部111对显示控制部114发出第十个校准生成画面(未图示)的输出指示(图29:步骤S536)。显示控制部114接收该输出指示,在显示装置41中显示第十个校准生成画面。

此外,如果对于校准生成画面73g,用户不勾选复选框7372,而对显示为“下一步”的按钮7303进行操作指示,则输入控制部115接收该用户的操作指示。由此,控制部111判断为不进行引入点的设定(图29:步骤S533),并对显示控制部114发出第十个校准生成画面(未图示)的输出指示(图29:步骤S536)。

第十个校准生成画面

虽然未图示,但第十个校准生成画面是列出了第一~第九个校准生成画面中设定的内容的画面。此外,除了选择内容(设定内容)不同之外,该第十个校准生成画面与第一个校准生成画面73a是几乎相同的结构。通过视觉确认这种第十个校准生成画面,从而用户能够一目了然地确认校准的设定内容。

此外,与第一个校准生成画面73a同样地,第十个校准生成画面具有与按钮7301~7304对应的按钮。因此,当输入控制部115接收对显示为“返回”的按钮的操作指示时,控制部111再次重新进行设定。此外,当输入控制部115接收对显示为“取消”的按钮的操作指示时,控制部111撤销已设定的校准。此外,当输入控制部115接收对显示为“完成”的按钮的操作指示时,控制部111在存储部113中存储通过使用一~十个校准生成画面的显示处理而设定的校准。

此外,当输入控制部115接收对显示为“取消”的按钮或显示为“完成”的按钮的操作指示时,控制部111结束校准生成用的画面群的显示处理,并对显示控制部114发出从显示装置41中消除校准生成画面73的指示。由此,显示控制部114从显示装置41中消除校准生成画面73。

根据以上,通过校准的显示处理而进行的校准的各种设定(校准的生成)结束。

[2C]摄像机点的示教(步骤S52)

接着,控制系统10执行多个摄像机点的示教。

如上所述,当输入控制部115接收用户对显示为“完成”的按钮的操作指示时(图29:步骤S537),控制部111对显示控制部114发出从显示装置41中消除校准生成画面73的指示,并且发出具有属性设定窗口60的子窗口61的输出指示(图29:步骤S538)。由此,显示控制部114在显示装置41中显示具有图39所示的属性设定窗口60的子窗口61。

子窗口

如果校准的各种设定完成,则子窗口61中显示有属性设定窗口60、示教按钮6151、图像显示部612。此外,在图39所示的图像显示部612中,示出了工件93的一例(关于图40~图42也是同样)。

属性设定窗口60具有阅览部63和列表(属性列表)57。

阅览部63是将所生成的校准设定(校准名)和通过后述的显示处理而生成的图像处理序列(图像处理序列名)一起显示的区域。在本实施方式中,阅览部63的显示方式是将校准设定及图像处理序列设定分别分层显示的树显示。由此,用户容易一目了然地把握多个校准设定和多个图像处理序列。因此,容易选择所希望的校准设定和图像处理序列。此外,阅览部63的显示方式并不限于此,例如也可以是分别并列列举校准设定及图像处理序列设定的列表显示等。

此外,列表57是显示阅览部63中选择的校准设定和图像处理序列的各种设定内容的区域。该属性列表以接收用户的操作指示(输入)的方式构成。因此,使用该属性列表,能够设定(变更)校准设定的详细的设定内容。

当对于这种子窗口61,用户对示教按钮6151进行操作指示时,输入控制部115接收该操作指示(示教的执行指示)(图29:步骤S539)。由此,控制部111对机器人控制装置12及图像处理装置13发出进行一个或多个摄像机点、基准点的示教的执行指示(图29:步骤S540)。此外,控制部111对显示控制部114发出示教组616的输出指示。由此,显示控制部114在显示装置41中显示具有图40或图41所示的示教组616的子窗口61。

例如,计算机11在上述步骤S527中接收进行摄像机点的自动生成的选择的情况下,对机器人控制装置12及图像处理装置13发出对一个摄像机点进行示教的执行指示。此外,在这种情况下,控制部111对显示控制部114发出显示流程图660a(流程图660)及点动面板54的输出指示(参照图40)。由此,在子窗口61的流程图显示部62中,显示设定一个摄像机点的流程图660a(参照图40)。然后,如果对于图40所示的子窗口61,用户进行对示教组616所具有的各种按钮及点动面板54所具有的各种按钮等的操作指示,则计算机11接收该用户的操作指示。并且,机器人控制装置12及图像处理装置13对摄像部3及机器人2进行驱动,例如使手部270把持的工件上附加的目标(图中的箭头A)位于图40所示的图像显示部612的中心(摄像机点)。

另一方面,在计算机11在上述步骤S527中接收不进行摄像机点的自动生成的选择的情况下,对机器人控制装置12及图像处理装置13发出对预定的全部摄像机点(本实施方式中是九个摄像机点)进行示教的执行指示。此外,在这种情况下,控制部111对显示控制部114发出显示流程图660b(流程图660)及点动面板54的输出指示(参照图41)。由此,在子窗口61的流程图显示部62中,显示设定九个摄像机点的流程图660b(参照图41)。然后,如果对于图41所示的子窗口61,用户进行对示教组616所具有的各种按钮及点动面板54所具有的各种按钮等的操作指示,则计算机11接收该用户的操作指示。此外,机器人控制装置12及图像处理装置13对摄像部3及机器人2进行驱动,使手部270把持的工件上附加的目标位于图41所示的图像显示部612内的预定的九个位置(摄像机点)。

这里,流程图660a、660b分别示出了示教处理的流程,开头的流程661示出了所选择的校准设定(校准名)。此外,图中从上起第二个之后的流程662示出了所选择的校准设定中包括的示教步骤。

此外,例如,如图41所示,示教结束的流程662a(流程662)的显示方式和示教尚未结束的流程662b(流程662)的显示方式不同。在本实施方式中,流程662a和流程662b中变更了背景色。由此,用户能够一目了然地辨别示教结束的基准点和示教尚未结束的基准点。

如果流程图660a或流程图660b所具有的全部流程662的示教完成,即全部基准点的示教完成,则控制部111对显示控制部114发出图42所示的校准执行按钮6152的显示的输出命令(图29:步骤S541)。由此,通过显示控制部114,在子窗口61中显示校准执行按钮6152(参照图42)。

然后,如果用户对校准执行按钮6152进行操作指示,则输入控制部115接收该操作指示(校准的执行指示)(图29:步骤S542)。由此,控制部111对机器人控制装置12及图像处理装置13发出校准的执行指示(图29:步骤S543)。

如上所述,摄像机点的示教完成。

[3C]校准的执行(步骤S53)

接着,控制系统10执行校准。

具体而言,机器人控制装置12及图像处理装置13基于步骤S543中的来自控制部111的执行指示,执行校准。

首先,如果机器人控制装置12接收执行指示,则从机器人2a获取机器人2a的状态。然后,机器人控制装置12以使目标位于第一个摄像机点的方式对机器人2a发出移动指示。这时,机器人2a向机器人控制装置12返回机器人手臂20的每次移动有关的信息(位置传感器的值)。接着,机器人控制装置12对图像处理装置13发出图像处理序列的执行指示。图像处理装置13接收该执行指示,通过固定摄像机32(摄像部3)检测目标(例如,标记),执行图像处理序列。图像处理装置13执行图像处理序列,基于固定摄像机32拍摄目标的拍摄图像(图像数据)进行图像处理。接着,如果图像处理结束,则图像处理装置13向机器人控制装置12发送图像处理序列的执行结果(目标的检测结果)。由此,机器人控制装置12获取第一个摄像机点的图像处理序列的执行结果。接着,机器人控制装置12对于剩余的第二个至第九个摄像机点,进行与直至获取上述第一个摄像机点的图像处理序列的执行结果为止的一系列处理相同的处理。接着,机器人控制装置12基于第一个至第九个基准点的图像处理序列的执行结果和第一个至第九个摄像机点的目标的本地坐标(机器人坐标),计算将固定摄像机32(摄像部3)的图像坐标系和机器人2a(机器人2)的本地坐标(机器人坐标)对应起来的校准结果。并且,机器人控制装置12将计算出来的校准结果发送给计算机11。此外,如上所述,关于校准的执行内容等,具体方法并不特别限定。存储部113中按照各种设定存储有处理(程序),控制部111执行根据所选择的设定的处理(程序)。

如上所述,校准的执行完成。

[4C]校准结果的反映(步骤S54)

接着,控制系统10执行校准结果的反映及设定。

具体而言,首先,如果计算机11的通信部116接收校准结果(图29:步骤S544),则控制部111对显示控制部114发出显示校准结果的画面68的输出指示(图29:步骤S545)。由此,显示控制部114在显示装置41中显示画面68。

画面68具有显示上一次的校准结果的区域681、显示本次的校准结果的区域682、OK按钮683、取消按钮684。通过具有OK按钮683及取消按钮684,用户能够在希望反映校准结果的情况下,选择OK按钮683,在不希望反映的情况下,选择取消按钮684。像这样,画面68以用户能够选择是否反映校准结果的方式构成。此外,通过具有区域681、682,用户能够一边和上一次的校准结果的内容进行比较,一边选择是否反映本次的校准结果。

对于这种画面68,当输入控制部115接收用户的反映校准结果的选择,即对OK按钮683的操作指示时(图29:步骤S546),控制部111对机器人控制装置12发出反映校准结果并进行存储的指示(图29:步骤S547)。计算机11接收该指示,反映校准结果并进行存储。此外,也可以由机器人控制装置12反映校准结果并进行存储。

另一方面,当用户选择不反映校准结果时,虽然图29中未图示,例如控制部111再次进行[1C]校准中的各种设定(步骤S51)、[2C]摄像机点的示教(步骤S52)和[3C]校准的执行(步骤S53)。此外,至少再次进行[3C]校准的执行(步骤S53)即可。像这样,通过根据需要重复进行[3C]校准的执行(步骤S53)等,从而能够提高校准结果的精度。此外,如上所述,由于用户能够使用画面68比较上一次的校准结果和本次的校准结果,因此能够简单地进行是否反映的判断。

如上所述,在[1C]校准中的各种设定中,显示控制部114在作为“显示部”的显示装置41中显示作为“校准用引导画面”的校准生成画面73,“校准用引导画面”引导用于进行校准的信息的输入。由此,用户通过根据校准生成画面73中显示的内容选择信息(设定内容),没有复杂的操作,就可以简单且方便地完成校准的设定。因此,即使是初学者,也能够容易地进行校准的设定。

此外,如上所述,本实施方式的控制系统10具有作为接收输入的“接收部”的输入装置42。并且,显示控制部114基于输入装置42接收的输入,在作为“显示部”的显示装置41中依次显示多个作为“校准用引导画面”的校准生成画面73。在本实施方式中,显示控制部114显示以和用户的对话形式显示多个(本实施方式中是十个)本地设定画面72的本地设定用的画面群。由此,用户能够根据依次显示的校准生成画面(向导画面)73,以对话形式(向导形式)选择信息(设定内容)。像这样,由于用户能够沿着预定的顺序,以对话形式选择设定内容,因此没有复杂的操作,就可以简单且方便地完成校准的设定。因此,能够减少输入错误或输入不足等的发生。此外,能够省去现有的对各种设定进行编程的麻烦。此外,通过仅限定地显示校准生成中所需的设定内容,即使是初学者,也能够减少校准生成中所需的设定内容的设定不足发生的情况。因此,能够减少校准的执行中例如发生错误等。

此外,如上所述,校准生成用的画面群具有十个校准生成画面73,但校准生成画面73的数量并不限于此。既可以进一步添加其他校准生成画面,也可以省略十个校准生成画面73中的任一个。此外,十个校准生成画面73显示的顺序并不限于上述顺序,而是任意的。但是,优选的是,之后显示的校准生成画面73的显示内容根据先前显示的校准生成画面73的选择内容而改变。即,优选的是,之后显示的校准生成画面73的显示内容是基于先前显示的校准生成画面73的选择内容的限定的内容。特别地,由于通过使上述十个校准生成画面73按说明的顺序显示,用户特别容易把握设定内容,因此对用户来说,能够提高便利性。

这里,如上所述,控制系统10是一种能够基于作为“输入部”的输入装置42的输入,对机器人2、摄像部3以及作为“显示部”的显示装置41的驱动进行控制的“控制装置”。此外,如上所述,控制系统10具备:显示控制部114,在显示装置41中显示作为“输入画面”的校准生成画面73,并在显示装置41中显示作为“摄像部输入部”的组(区域)7323,“输入画面”用于输入作为控制对象的机器人2,“摄像部输入部”引导与所输入的机器人2(例如机器人2a)对应的摄像部3的安装位置(设置位置)的输入;校准生成部1113,作为“校准控制部”,基于所输入的摄像部3的安装位置,进行将机器人2的坐标系(机器人坐标系)和摄像部3的坐标系(图像坐标系)对应起来的校准;以及校准执行部1114。即,上述校准的各处理(步骤S51~S54)主要由控制部111的校准生成部1113及校准执行部1114进行。

根据这种控制系统10,在显示装置41中显示与所输入(选择)的机器人2对应的摄像部3的安装位置。即,不与所输入的机器人2a对应的摄像部3的安装位置变为非显示。例如,如上所述,在校准生成画面73b的组7323中,仅显示与使用下拉列表7322而选择的机器人2对应的摄像部3的安装位置,不对应的摄像部3的安装位置变为非显示。由此,用户能够简单地进行与输入的机器人2对应的摄像部3的安装位置的选择。其结果,能够简单且恰当地进行用于进行校准的各种设定。

这里,“输入”包括“选择”。此外,在机器人2的输入中,例如用户既可以通过键盘等输入机器人2,或者也可以选择机器人2。

特别地,如上所述,显示控制部114能够在作为“输入画面”的校准生成画面73b中显示垂直多关节机器人及水平多关节机器人,在作为“垂直多关节机器人”的一例的机器人2a被输入的情况下,和在作为“水平多关节机器人”的一例的机器人2b被输入的情况下,作为“摄像部输入部”的组(区域)7323的显示方式不同。由此,能够简单地分别进行与机器人2a对应的摄像部3的安装位置的选择及与机器人2b对应的摄像部3的安装位置的选择。此外,根据控制系统10(控制系统10中安装的应用程序软件),无需准备分别与机器人2a及机器人2b对应的控制系统(应用程序软件),通过一个控制系统(一个应用程序软件)10,就可以进行多种机器人2有关的校准,便利性优异。

此外,如上所述,显示控制部114在作为“校准用引导画面”的校准生成画面73d中显示作为“本地设定调用部”的本地向导按钮7341,“本地设定调用部”用于调用作为“本地设定用引导画面”的本地设定画面72,“本地设定用引导画面”引导用于设定与机器人2的坐标系(机器人坐标系)不同的本地坐标系的信息的输入。由此,用户通过借用本地向导按钮7341进行调用本地设定画面72的操作指示(通过点击或触摸),能够简单地调用本地设定画面72。因此,例如能够省去为了进行本地设定而取消一次校准生成画面73的设定,并在进行本地设定后,再次从头开始重新进行校准的设定的麻烦。因此,能够大幅省去用户的麻烦。

特别地,在本实施方式中,显示控制部114基于输入控制部115接收的对本地向导按钮7341的操作指示,在显示装置41中依次显示多个本地设定画面72。由此,用户通过根据依次显示的本地设定画面72,以对话形式选择信息(设定内容),没有复杂的操作,就可以简单且方便地进行本地设定。

此外,如上所述,显示控制部114在作为“校准用引导画面”的校准生成画面73e中显示作为“工具设定调用部”的工具向导按钮7351,“工具设定调用部”用于调用作为“工具设定用引导画面”的工具设定画面71,“工具设定用引导画面”引导用于计算机器人2上安装的工具(例如,工件93)的偏移的信息(用于计算偏移的用于工具设定的信息)的输入。由此,用户通过借用工具向导按钮7351进行调用工具设定画面71的指示,从而能够简单地调用工具设定画面71。因此,例如能够省去为了进行工具设定而取消一次校准生成画面73的设定,并在进行工具设定后,再次从头开始重新进行校准的设定的麻烦。因此,能够大幅省去用户的麻烦。

特别地,在本实施方式中,显示控制部114基于输入控制部115接收的对工具向导按钮7351的操作指示,在显示装置41中依次显示多个工具设定画面71。由此,用户通过根据依次显示的工具设定画面71,以对话形式选择信息(设定内容),没有复杂的操作,就可以简单且方便地进行工具设定。

此外,如上所述,显示控制部114在作为“校准用引导画面”的校准生成画面73f中显示作为“校准点选择部”的复选框7361,“校准点选择部”用于选择是否进行作为校准中使用的“校准点”的摄像机点的自动生成。由此,用户能够通过复选框7361简单地且根据用户的目的选择是否进行摄像机点的自动生成。例如,通过进行摄像机点的自动生成,能够减少用户进行多个摄像机点的设定的麻烦。另一方面,例如在机器人手臂20的驱动范围被限定的情况下,不进行摄像机点的自动生成也是有效的。通过不进行摄像机点的自动生成,用户能够在机器人手臂20不与周边设备干涉的区域进行各摄像机点的设定。像这样,通过校准生成画面73f具有复选框7361,从而能够简单地进行基于用户的目的的设定。

此外,如上所述,显示控制部114在作为“校准用引导画面”的校准生成画面73g中显示作为“引入点选择部”的复选框7372,“引入点选择部”用于选择是否进行引入点的自动生成,引入点成为向作为机器人2的预定部位(例如,工具中心点P)的“校准点”的摄像机点移动的基点。由此,通过用户进行借用复选框7372的操作指示,从而能够简单地且根据用户的目的选择是否进行引入点的自动生成。例如,通过进行引入点的自动生成,机器人2始终从引入点向摄像机点移动,因此能够提高机器人2的摄像机点的位置的稳定性。其结果,能够进一步提高校准结果的精度。另一方面,在不进行引入点的自动生成的情况下,能够更迅速地进行校准的执行。像这样,通过校准生成画面73g具有复选框7372,从而能够简单地进行基于用户的目的的设定。

特别地,如上所述,处理部110具有对作为“显示部”的显示装置41的驱动进行控制的显示控制部114,显示控制部114在作为引导校准有关的设定内容的输入的“校准用引导画面”的校准生成画面73c中调用(显示)通过图像处理序列生成部1115生成的单个或多个图像处理序列。在本实施方式中,显示控制部114在校准生成画面73c的下拉列表733中显示已生成的(已有的)多个图像处理序列。由此,用户能够通过下拉列表733从多个图像处理序列中选择所希望的图像处理序列。即,在使用校准生成画面73的校准的设定中,用户能够显示已生成的已有的图像处理序列。因此,例如在希望进行多个校准的设定的情况下,由于能够省去各校准的设定中进行图像处理序列的生成的麻烦,因此能够省去每次进行校准的设定时生成图像处理序列。其结果,校准的设定变得方便,能够大幅提高用户的使用便利性。

此外,如上所述,在本实施方式中,在图39所示的属性设定窗口60的列表57中,也能够选择(变更)所希望的图像处理序列。因此,即使在进行使用多个校准生成画面73的校准生成后,用户也能够变更校准中的图像处理序列。

像这样,控制系统10是能够控制机器人2及摄像部3的驱动的“控制装置”,控制系统10具备处理部110,处理部110具有:图像处理序列生成部1115,生成与包括由摄像部3拍摄的拍摄图像(图像数据)的图像处理的图像处理序列有关的设定内容;以及校准生成部1113,生成与将机器人2的坐标系(机器人坐标系)和摄像部3的坐标系(图像坐标系)对应起来的校准有关的设定内容,处理部110在由校准生成部1113进行的校准有关的设定内容的生成(校准生成)中(时),能够调用由图像处理序列生成部1115生成的图像处理序列。根据这种控制系统10,在希望进行多个校准的情况下,由于能够在各校准的设定中调用已有的(已生成的)图像处理序列,因此能够省去每次进行校准的设定时生成图像处理序列的麻烦。因此,能够减少校准的设定所需的时间和劳力。此外,在使用后述的命令的处理中,也能够调用已生成的图像处理序列。此外,在本说明书中,“调用图像处理序列”包括在显示部中显示和在控制程序中使图像处理序列能够执行。

此外,处理部110具有对作为“显示部”的显示装置41的驱动进行控制的显示控制部114,显示控制部114通过作为相同“画面”的属性设定窗口60在显示装置41中显示进行校准有关的设定内容的生成的校准设定和进行图像处理序列有关的设定内容的生成的图像处理序列设定(参照图39及图42的阅览部63)。由此,用户能够一目了然地把握已有的校准设定和已有的图像处理序列设定。

特别地,显示控制部114将校准设定及图像处理序列设定进行树显示(参照图39及图42的阅览部63)。由此,用户能够一目了然地把握已有的校准设定的种类和数量、已有的图像处理序列设定的种类和数量。

进而,显示控制部114显示相互关联的校准设定和图像处理序列设定(参照图39及图42的阅览部63)。由此,用户容易把握相关联的校准设定及图像处理序列设定。因此,容易根据需要进行校准设定及图像处理序列设定中的至少一方的修正等。

接着,对图像处理序列(视觉处理序列)的生成进行说明。

图像处理序列的生成

图44是示出图8所示的图像处理序列的生成中的显示处理的流程的流程图。图45是示出在图1所示的显示装置中显示的子窗口的图。图46~图50分别是示出在图1所示的显示装置中显示的列表的图。图51~图53分别是在图1所示的显示装置中显示的子窗口中的引导画面。图54及图55分别是在图1所示的显示装置中显示的子窗口,是示出与图45不同的显示的图。

此外,为了便于说明,下面将图45~图55中的上侧称为“上”,将下侧称为“下”。

在图像处理序列的生成中,图像处理序列的项目的输入、对图像处理序列的图像处理对象的追加、图像处理序列的执行、图像处理序列的执行结果(检测结果)的反映被依次执行。通过进行图像处理序列的项目的输入和对图像处理序列的图像处理对象的追加,进行图像处理序列的各种设定,用于检测标记等的目标的图像检测(图像处理)被实现。下面,对图像处理序列的生成进行说明。

图像处理序列的项目的输入

在图像处理序列的生成中,输入图像处理序列的项目。

用户在图17所示的主窗口50中,对图标601进行操作指示。并且,若计算机11的输入控制部(接收部)115接收用户对图标601的操作指示(图像处理序列生成指示)(步骤S611),则图像处理序列生成部1115进行子窗口61的输出命令(指示)(步骤S612),显示控制部114在图17所示的主窗口50中,更换机器人操作用的子窗口51,在显示装置(显示部)41中显示图45所示的子窗口61。

如图45所示,在子窗口61中显示有阅览部63、流程图显示部62、两个标签56、56、列表57、图像显示部612、为了显示图像处理序列的生成用的画面群而使用的图标671、向导选择用的图标672和工具栏615。工具栏615由示出“检测”、“计数”、“检查”、“图像”、“读取”以及“全部工具”的图标构成。

接着,用户在显示装置41中显示的图45所示的子窗口61中,对图标671进行操作指示。并且,若输入控制部115接收用户对图标671的操作指示,则显示控制部114在显示装置41中显示对话框663。

接着,用户在子窗口61中,使用对话框663,例如输入“序列名”、“序列中使用的摄像机”、“作为复制源的序列”等各项目中必要的项目(进行操作指示)。关于“作为复制源的序列”,在复制已有的图像处理序列的情况下进行输入(指定)。

若计算机11的输入控制部115接收用户的操作指示,则图像处理序列生成部1115开始图像处理序列的生成。

在该阶段,图像处理序列在中途被生成。此外,当指定作为复制源的图像处理序列时,作为复制源的图像处理序列的设定被复制。因此,在子窗口61、引导画面65等中显示作为复制源的图像处理序列的设定内容。因此,用户在希望生成对已设定的图像处理序列的各种内容稍微进行变更的图像处理序列的情况下,通过指定作为复制源的图像处理序列,能够简单地进行生成。

这里,流程图显示部62中显示有流程图。在该流程图的开头(最上部)的显示部621中,显示有当前选择的序列。此外,在流程图的第二个显示部622(参照图54)及其之后的显示部(未图示)中,显示有当前选择的图像处理序列中包括的图像处理对象。

此外,在阅览部63中,将进行与图像处理序列有关的设定内容的生成的图像处理序列设定和进行与校准有关的设定内容的生成的校准设定分别进行树显示。由此,用户能够一目了然地把握校准设定的种类和数量、图像处理序列设定的种类和数量。

此外,阅览部63中显示有互相关联的图像处理序列设定和校准设定。此外,在本实施方式中,图像处理序列设定在阅览部63的上侧显示,校准设定在图像处理序列设定的下侧显示。

此外,在图像处理序列设定的树中,显示有已生成(设定)的全部序列,在校准设定的树中,显示有已生成(设定)的全部校准。

此外,如果输入控制部115接收用户对图像处理序列(图像处理序列的生成)相关的流程图的“序列”或树的“序列”的操作指示,则显示控制部114在显示装置41中显示列表(序列窗口)57。在列表57中,例如显示有图像处理序列相关的属性、图像处理序列的执行结果等。此外,使用列表57,能够进行图像处理序列相关的属性的设定等。

此外,如果输入控制部115接收用户对图像处理序列相关的流程图的“对象”或树的“对象”的操作指示,则显示控制部114在显示装置41中显示列表(对象窗口)57。在列表57中,例如显示有图像处理对象相关的属性、执行图像处理对象或图像处理序列时的图像处理对象的执行结果等。此外,使用列表57,能够进行图像处理对象相关的属性的设定等。

此外,如果输入控制部115接收用户对校准相关的树的操作指示,则显示控制部114在显示装置41中显示列表(校准窗口)57。在列表57中,例如显示有校准的设定、校准的执行结果等。此外,使用列表57,也可以进行校准的属性的设定等。

对图像处理序列的图像处理对象的追加

为了指定图像处理序列中的图像处理,在图像处理序列中追加预定的图像处理对象。

在这种情况下,作为追加图像处理对象的方法,有两种方法,即使用工具栏615的方法(第一方法)和使用引导信息的输入的引导画面的方法(第二方法),即使用图像处理选择向导(步骤向导)的方法。

首先,对第一方法进行说明。

第一方法是使用工具栏615追加图像处理对象的方法。

使用第一方法的情况下,在显示装置41中显示的图45所示的子窗口中,用户不对图标672进行操作指示。此外,在输入控制部115没有接收用户对图标672的操作指示的情况下,即在接收后述的用户所进行的从工具栏615的多个工具栏项目中选择预定的工具栏项目的指示的情况下,图像处理序列生成部1115执行第一方法。即,图像处理序列生成部1115判断是否使用图像处理选择向导(步骤S613),在判断为不使用图像处理选择向导的情况下,执行第一方法。

在第一方法中,首先,用户从表示图像处理(图像检测)的种类(操作的类型)的图像处理引导的菜单(工具栏615的多个工具栏项目)中选择预定的图像处理的种类,接着,从该选择的图像处理的种类中的多个图像处理对象中选择预定的图像处理对象(图像处理有关的功能)。

具体而言,首先,用户进行从子窗口61中的工具栏615的多个工具栏项目中选择预定的工具栏项目的操作。并且,如果输入控制部115接收用户对预定的工具栏项目的操作指示(图像处理的种类的选择)(步骤S621),则图像处理序列生成部1115进行基于所选择的种类的列表6540的输出命令(步骤S622)。显示控制部114接收该输出命令,在显示装置41中显示与图46、图47、图48、图49及图50所示相应的列表6540。该列表6540所列举的各项目(用字符串6542表示)是图像处理对象的具体例。

在“检测”被选择的情况下,在显示装置41中显示图46所示的列表6540。此外,在“计数”被选择的情况下,在显示装置41中显示图47所示的列表6540。此外,在“图像”被选择的情况下,在显示装置41中显示图48所示的列表6540。此外,在“读取”被选择的情况下,在显示装置41中显示图49所示的列表6540。此外,在“全部工具”被选择的情况下,在显示装置41中显示图50所示的列表6540。

在各列表6540中,分别显示有将图标6541和字符串6542对应起来的项目。如果列举一例,在“检测”被选择的情况下,在列表6540中,例如将“Geometric”的字符串6542和由预定的图形形成的图标6541对应起来显示。

用户通过使用各列表6540中必要的列表6540,选择(指定)由预定的图标6541和字符串6542对应起来形成的项目,进行追加与该项目对应的图像处理对象的操作。并且,如果输入控制部115接收用户的操作指示(图像处理对象的选择)(步骤S623),则图像处理序列生成部1115在当前的图像处理序列中追加所指定的图像处理对象。如上所述,图像处理序列的设定完成。此外,在追加图像处理对象的工序中,例如进行标记(标记)680的模型登记(示教)等。

下面,对第二方法进行说明。

第二方法是使用图像处理选择向导(步骤向导)追加图像处理对象的方法。作为图像处理(图像检测)的种类,例如可列举检测、计数、检查、读取、图像处理(图像)、全部工具等。

使用第二方法的情况下,用户在子窗口61中对图标672进行操作指示。此外,如果输入控制部115接收用户对图标672的操作指示,则图像处理序列生成部1115执行第二方法。即,图像处理序列生成部1115判断是否使用图像处理选择向导(步骤S613),在判断为使用图像处理选择向导的情况下,执行第二方法。

在第二方法中,首先,图像处理序列生成部1115进行第一个引导画面的输出命令(步骤S614),显示控制部114在显示装置41的图像显示部612中显示图51所示的引导画面65(窗口)。在引导画面65中显示有框651。在该框651中显示有图像处理的种类(操作的类型),通过框651能够选择图像处理的种类。图像处理的种类与第一方法相同。

此外,在引导画面65的下部,显示有显示为“取消”的按钮(图标)6501、显示为“返回(B)”的按钮(图标)6502、显示为“下一步(N)>”的按钮(图标)6503、显示为“完成(F)”的按钮(图标)6504。在本实施方式中,能够对按钮6501、6502、6503、6504中的按钮6501、6503进行操作指示(选择)。

用户从多个图像处理的种类中选择预定的图像处理的种类,下面,作为代表,对选择“检测”的情况进行说明。

如果输入控制部115接收用户的选择“‘检测’、‘设定部件的坐标值’”的项目6511的操作指示(图像处理的种类的选择)(步骤S615),则显示控制部114将框651中被选择的该项目6511部分的颜色变更为与其他部分的颜色不同的颜色。

接着,如果输入控制部115接收用户对显示为“下一步(N)>”的按钮6503的操作指示,则图像处理序列生成部1115进行第二个引导画面的输出命令(步骤S616),显示控制部114在显示装置41的图像显示部612中显示图52所示的引导画面65。引导画面65中显示有框652。在该框652中显示有部件检测工具的类型(图像处理对象),通过框652能够选择部件检测工具的类型。部件检测工具的类型与第一方法中的“检测”的列表6540的项目相同。即,各列表6540的图像处理对象分别与第二方法相同。

此外,在本实施方式中,能够对按钮6501、6502、6503、6504中的按钮6501、6502、6503进行操作指示(选择)。

用户从多个部件检测工具的类型中选择预定的部件检测工具的类型,下面,作为代表,对选择“Geometric”的情况进行说明。

如果输入控制部115接收用户的选择“‘Geometric’、‘使用基于边缘的几何模型,检测部件’”的项目6521的操作指示(图像处理对象的选择)(步骤S617),则显示控制部114将框652中被选择的该项目6521部分的颜色变更为与其他部分不同的颜色。

接着,如果输入控制部115接收用户对显示为“下一步(N)>”的按钮6503的操作指示,则图像处理序列生成部1115进行第三个引导画面的输出命令(步骤S618),显示控制部114在显示装置41的图像显示部612中显示图53所示的引导画面65。引导画面65中显示有设置输入对话框的窗口653。在该窗口653中能够设定新的步骤。

像这样,显示控制部114基于输入控制部115接收的输入,以和用户的对话形式依次在显示装置41中显示三个引导画面65。由此,用户通过根据依次显示的引导画面65,以对话形式选择信息(项目),从而没有复杂的操作,就可以简单、方便且迅速地进行追加图像处理对象的作业。

此外,在本实施方式中,能够对按钮6501、6502、6503、6504中的按钮6501、6502、6504进行操作指示(选择)。

用户在“输入新步骤的名称”的输入对话框中记载预定的名称,并进行指定插入位置的操作。

接着,如果输入控制部115接收用户对显示为“完成(F)”的按钮6504的操作指示(图像处理对象的追加完成指示)(步骤S619),则图像处理序列生成部1115在当前的图像处理序列中追加所指定的图像处理对象。

如果对图像处理序列的图像处理对象的追加完成,则图像处理序列生成部1115进行追加的图像处理对象的显示的输出命令(步骤S620),显示控制部114在阅览部63所显示的图像处理序列的树、流程图显示部62所显示的流程图中分别显示所追加的图像处理对象。

这里,如前所述,图像处理序列具有至少一个图像处理对象。显示控制部114能够显示图像处理对象,未进行示教时的图像处理对象的显示方式和进行有示教时的图像处理对象的显示方式不同。

由此,用户能够一目了然地把握是否进行了图像处理对象的示教。下面,进行具体说明。

图像处理序列生成部1115判断是否对所追加的图像处理对象进行了示教(教示)(步骤S624),在判断为未进行示教(未示教)的情况下,进行未示教的显示的输出命令(步骤S625)。并且,显示控制部114对所追加的未示教的图像处理对象进行未示教的显示。即,使流程图的未示教部分的显示方式与已示教的部分不同。在本实施方式中,在流程图的未示教部分显示“!”的图标6221。由此,用户能够一目了然地辨别未示教的图像处理对象。

此外,更换“!”的图标6221的显示,或者也可以显示“!”的图标6221,并且使流程图的未示教部分的颜色,例如背景色,与已示教的部分不同。

在追加的图像处理对象未示教的情况下,即在有必要进行示教的情况下,关于所追加的图像处理对象,用户对显示为“示教”的按钮(图标)614进行操作指示,进行预定的示教。

如果输入控制部115接收用户对按钮614的操作指示,关于所追加的未示教的图像处理对象,所指示的示教结束,则图像处理序列生成部1115追加已完成的示教的内容。由此,所追加的图像处理对象变得能够执行。如上所述,图像处理序列的设定结束。

此外,作为示教的一例,在“Geometric搜索”的情况下,可列举标记680的模型登记等。

图像处理序列生成部1115,在步骤S624中判断为进行示教(示教结束)的情况下,进行示教结束的显示的输出命令(步骤S626)。此外,显示控制部114对所追加的未示教的图像处理对象进行示教结束的显示。在本实施方式中,消除流程图中显示的“!”的图标6221(参照图55)。由此,用户能够一目了然地辨别未示教的图像处理对象的示教结束的情况。

图像处理序列的执行

图像处理序列(图像处理序列的生成)包括基于由摄像部3拍摄的图像进行检查的工序。

由此,通过图像处理序列,能够检查由摄像部3拍摄的对象物。下面,进行具体说明。

首先,如果输入控制部115接收用户的“图像处理序列的执行”的操作指示(图像处理序列的执行命令)(步骤S627),首先,图像处理序列生成部1115向图像处理装置13发送图像处理序列的设定内容。在这种情况下,机器人控制装置12既可以进行中继,或者也可以不进行中继。

接着,图像处理装置13接收图像处理序列的设定内容。此外,图像处理序列执行部1311反映图像处理序列的设定内容。

接着,图像处理序列生成部1115向图像处理装置13发送执行图像处理序列的图像处理序列执行命令。在这种情况下,机器人控制装置12既可以进行中继,或者也可以不进行中继。

接着,图像处理装置13接收图像处理序列执行命令。此外,图像处理序列执行部1311执行图像处理序列。

在这种情况下,首先,通过摄像部控制部1313的控制,驱动摄像部3。例如,摄像部3拍摄标记等预定的对象物,向图像处理装置13发送拍摄图像的图像数据。接着,图像处理装置13接收图像数据。此外,图像处理部1312基于图像数据进行预定的图像处理。

作为具体例,例如,作为对象物的一例,拍摄图54所示的标记(几何模型:图形)680,进行该标记680的图像识别等各种图像处理。此外,进行使用标记680的检查的一部分或全部。即,在图像处理序列的生成中,包括进行检查的工序(检查工序),该检查使用作为对象物的一例的标记680进行。

在本实施方式中,在第一图像处理序列的生成的情况下,通过移动摄像机31拍摄工件93的上表面中心上附加的标记680,进行预定的处理。作为上述处理,例如可列举检测精度的确认等。

此外,第二图像处理序列的生成的情况下,通过固定摄像机32拍摄工件93的下表面中心上附加的标记680,进行预定的处理。

此外,第三图像处理序列的生成的情况下,通过固定摄像机32拍摄工件93的下表面上附加的两个标记(未图示),例如由两个标记680以预定间隔配置而成的物体(对象物),进行预定的处理。作为上述处理,例如可列举将第三图像处理序列和固定摄像机32的校准结果关联,进行检查等。

此外,作为检查的具体例,可列举A点和B点之间的距离是否在预定阈值内的检查等。在这种情况下,两个标记680相当于上述A点和B点之间的距离是否在预定阈值内的检查中的A点及B点。在该检查中,基于固定摄像机32的校准结果和拍摄图像,测量A点和B点之间的距离,判断所测量的A点和B点之间的距离是否在预定阈值内。并且,如果所测量的A点和B点之间的距离在预定阈值内,则判定为“合格”,如果不在预定阈值内(在预定阈值外),则判定为不合格。

图像处理序列的执行结果(检测结果)的反映

通信部116接收从图像处理装置13发送的图像处理序列的执行结果(检测结果)(步骤S628),计算机11反映该图像处理序列的执行结果。

具体而言,首先,图像处理序列生成部1115将发送图像处理序列的执行结果的图像处理序列执行结果发送命令发送给图像处理装置13。在这种情况下,机器人控制装置12既可以进行中继,或者也可以不进行中继。

接着,图像处理装置13向计算机11发送图像处理序列的执行结果。在这种情况下,机器人控制装置12既可以进行中继,或者也可以不进行中继。

接着,计算机11通过通信部116接收图像处理序列的执行结果。此外,图像处理序列生成部1115反映图像处理序列的执行结果。

即,图像处理序列生成部1115进行图像处理序列的执行结果有关的显示等的输出命令(步骤S629),显示控制部114在显示装置41中显示图像处理序列的执行结果(反映在显示上)。此外,图像处理序列的执行结果也反映在属性等上。作为图像处理序列的执行结果,例如可列举标记被检测的图像坐标等。

此外,在图像处理序列的生成中,也可设置对移动摄像机31、固定摄像机32等的失真校正进行设定的窗口、对拍摄时的照明条件进行设定的窗口。

接着,对使用命令的工具设定、本地设定、校准以及图像处理序列的生成等处理进行说明。

首先,关于概要,对应专利申请的范围进行简单说明,然后进行详细说明。

处理部110具有控制程序生成部1111,其能够生成驱动机器人2的控制程序。控制程序生成部1111能够在控制程序中插入调用所生成的图像处理序列的命令(本实施方式中是命令的自变量)。

由此,例如在使机器人2进行预定的动作、进行预定的作业的控制程序中,能够调用已有的(已生成的)图像处理序列。因此,能够省去每次生成控制程序时生成图像处理序列的麻烦。

此外,控制系统(控制装置)10的机器人控制装置12具备控制程序执行部1211,控制程序执行部1211能够执行驱动机器人2的控制程序。控制程序执行部1211通过能够设定与机器人2的坐标系不同的本地坐标系的命令,从而执行本地坐标系的设定。

由此,能够更迅速地进行本地坐标系的设定。此外,通过定期地反复执行校准,或者在执行校准后,基于该执行结果,在反复多次进行对包括本地坐标系的设定等的校准的各种设定进行修正的情况下,使用命令特别有效。这是因为能够容易且迅速地进行基于执行结果的修正。

此外,控制程序执行部1211通过作为能够进行计算机器人2上安装的工具的偏移的工具设定的命令的一例的“命令VDefTool”,执行该工具设定。

由此,能够更迅速地进行工具设定。此外,通过定期地反复执行校准,或者在执行校准后,基于该执行结果,在反复多次进行对包括工具设定等的校准的各种设定进行修正的情况下,使用命令特别有效。这是因为能够容易且迅速地进行基于执行结果的修正。下面,进行具体说明。

使用命令的处理

控制系统10能够进行使用命令的处理,取代使用上述各种操作画面的显示处理。

命令包括用于执行目标处理的动作命令。例如,作为命令,可列举用于使用图像处理序列的执行结果进行工具设定(计算偏移)的工具设定用的处理命令、用于使用图像处理序列的执行结果进行本地设定的本地设定用的处理命令、用于使用图像处理序列的执行结果进行校准的校准用的处理命令、用于使用图像处理序列的执行结果驱动机器人手臂20以使摄像部3的拍摄图像内的例如目标移动到预定位置的命令等。

此外,例如命令具有指定参数的自变量。

此外,作为代表,下面以工具设定为例进行举例说明,但本地设定、校准以及图像处理序列的生成也能够同样地进行。

程序生成、输入

用户使用命令生成程序,使用输入装置42输入到计算机11中(一边生成一边输入)。计算机11的输入控制部(接收部)115接收从输入装置42输入的程序,存储在存储部113中。此外,程序的生成包括新生成程序的情况和对已有的程序进行重写、追加的情况。

程序的一例如下所示。此外,该程序能够进行与上述工具设定相同的设定。

Function Main

Reset

Motor On

VDefTool 1,VISION_DEFTOOL_FIXEDNOCAL,TestVisSeq,180,5

Fend

上述程序的“VDefTool 1,VISION_DEFTOOL_FIXEDNOCAL,TestVisSeq,180,5”是命令(各自变量是一例)。

命令中的“VDefTool”是命令名。

此外,作为命令VDefTool中的自变量(自变量名),例如可列举上述工具设定中的第一个工具设定画面71a、第二个工具设定画面(未图示)、第三个工具设定画面71b、第四个工具设定画面(未图示)、第五个工具设定画面71c中与能够设定的参数相同的参数等。作为具体例,例如可列举“toolNumber”、“toolDefType”、“sequence”、“[finalAngle]”、“[initialAngle]”、“[targetTolerance]”等。

“toolNumber”是保存工具设定结果的保存编号(工具编号)。作为具体例,是1~15。

此外,“toolDefType”是工具类型。具体例如下所示。

VISION_DEFTOOL_FIXEDNOCAL:使用未进行校准的固定摄像机,进行工具设定。

VISION_DEFTOOL_J4CAM:计算第四臂上设置的移动摄像机的图像中心。

VISION_DEFTOOL_J6CAM:计算第六臂上设置的移动摄像机的图像中心。

此外,“sequence”是用于检测工具(对象)的图像处理序列。

此外,“[finalAngle]”是对工具/摄像机工具进行旋转的角度(最终旋转角度)。

此外,“[initialAngle]”是临时工具设定时的工具/摄像机工具进行旋转的角度(初始旋转角度)。

此外,“[targetTolerance]”是将图像处理序列的执行结果(检测结果)视为与对象位置一致的像素距离(目标的容许量)。

连接、发送对象

对生成的程序(对象)进行连接,转换(编译)成机器人控制装置12能够解释的语言(数据串)。

在这种情况下,首先,如果输入控制部115接收用户的“连接”的操作指示,则计算机11的控制程序连接部1112对程序进行连接,编译成机器人控制装置12能够解释的语言。

然后,计算机11将已编译的程序发送到机器人控制装置12。机器人控制装置12接收从计算机11发送的程序,并存储在存储部123中。

此外,计算机11将图像处理检测设定等必要的各信息发送到图像处理装置13。在这种情况下,机器人控制装置12既可以进行中继,或者也可以不进行中继。图像处理装置13接收从计算机11发送的图像处理检测设定,并存储在存储部133中。

工具设定的处理的执行(程序的执行)

在使机器人视觉系统100进行工具设定的处理的情况下,用户对显示装置41中显示的预定的图标(未图示)进行操作指示。

如果输入控制部115接收用户的“程序的主函数的选择、执行开始”的操作指示(工具设定的处理的执行命令),首先,计算机11将程序的执行处理的命令发送到机器人控制装置12。

接着,图像处理装置13接收程序的执行处理的命令(指示)。并且,图像处理装置13的控制程序执行部1211开始程序的主函数的执行处理。并且,当控制程序执行部1211发现命令VDefTool的执行处理时,与命令VDefTool的自变量一起,将命令VDefTool的执行处理的命令(工具设定的处理的执行命令)发送到计算机11。

接着,计算机11接收命令VDefTool的执行处理的命令,执行(开始)命令VDefTool的执行处理,即工具设定的处理。此外,关于工具设定的处理的执行,由于与上述的[2B]相同,因此省略其说明。此外,关于工具设定结果的反映,由于与上述的[3B]相同,因此省略其说明。

通过使用这种命令,能够容易且迅速地执行工具设定等的各处理。

在使用上述工具设定画面的工具设定中,在执行工具设定的处理的情况下,每次依次在显示装置41中显示五个工具设定画面,进行工具设定中的各种设定,此后,由于能够执行工具设定的处理,因此每次准备都需要时间和劳力。对此,通过使用命令,只要设定一次命令的自变量,从下一次开始就不需要该设定,因此能够容易且迅速地执行工具设定的处理。

此外,例如在执行工具设定的处理后,执行校准的情况下,通过使用命令,能够连续地自动执行工具设定的处理和校准,便利性较高。

此外,变更工具设定中的各种设定的情况下,通过进行变更命令所对应的自变量部分这种简单的作业,能够变更各种设定。

以上以工具设定为例进行了说明,本地设定、校准以及图像处理序列的生成等也分别同样能够通过命令执行。

例如,在本地设定中,生成能够设定与机器人2的坐标系不同的本地坐标系的命令。此外,控制程序执行部1211通过该命令执行本地坐标系的设定。此外,关于本地坐标系的设定(本地设定的处理的执行),由于与上述的[2A]相同,因此省略其说明。此外,关于本地设定结果的反映,由于与上述的[3A]相同,因此分别省略其说明。

以上说明的机器人视觉系统100具备作为“控制装置”的控制系统10、由控制系统10控制的机器人2及摄像部3。根据这种机器人视觉系统100,通过具备上述控制系统10,基于来自摄像部3的拍摄图像(图像数据),机器人2能够准确地进行校准所需的动作。因此,能够提高校准的精度。其结果,能够提高机器人2的作业精度。

此外,机器人2由作为“控制装置”的控制系统10控制。因此,在控制系统10的控制下,机器人2能够准确地进行校准所需的动作。

以上,基于图示的实施方式对本发明的控制装置、机器人以及机器人系统进行了说明,但本发明并不限于此,各部分的结构能够置换为具有相同功能的任意结构。此外,也可以在本发明中附加其他任意的构成物。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1