机器人装置以及被加工物的制造方法转让专利

申请号 : CN201410040153.9

文献号 : CN104057453B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 关山友之神谷阳介

申请人 : 株式会社安川电机

摘要 :

本发明提供机器人装置以及被加工物的制造方法,该机器人装置能够简化对机器人的示教作业。机器人装置(1)是用于对机器人(R2)进行动作示教的装置,并包括:基于动作程序而使机器人(R2)做动作的机器人控制部(11);取得图像数据的机器人拍摄部(12);数据处理部(13),其具有虚拟空间数据保持部(18)、以及至少利用图像数据和虚拟空间数据而生成增强现实空间数据的增强现实空间数据生成部(23);以及显示增强现实空间(AR)的图像的显示部(9)。虚拟空间数据包含:将机器人(R2)的实际作业空间(RS)中存在的物体在虚拟空间(VS)中进行模拟后的虚拟物体(VB)的信息。

权利要求 :

1.一种机器人装置,用于对机器人进行动作示教,其特征在于,所述机器人装置包括:机器人控制部,其具有对规定所述机器人动作的动作程序进行保持的程序保持部,并基于所述动作程序而使所述机器人做动作;

机器人拍摄部,其取得包含所述机器人的图像数据;

数据处理部,其具有保持虚拟空间数据的虚拟空间数据保持部、以及至少利用所述图像数据和所述虚拟空间数据而生成增强现实空间数据的增强现实空间数据生成部;

以及显示部,其利用所述增强现实空间数据来显示增强现实空间的图像,所述虚拟空间数据包含:将所述机器人的实际作业空间中存在的物体在所述虚拟空间中进行模拟后的虚拟物体的信息,所述数据处理部具有第一轨迹数据生成部,所述第一轨迹数据生成部利用所述动作程序,生成表示基于所述动作程序的所述机器人的动作轨迹的第一轨迹数据,所述增强现实空间数据生成部还利用所述第一轨迹数据,生成所述增强现实空间数据。

2.如权利要求1所述的机器人装置,其特征在于:所述数据处理部具有第二轨迹数据生成部,所述第二轨迹数据生成部利用从所述机器人所具有的传感器输出的传感器数据以及所述图像数据中的至少一方,生成基于所述动作程序而使所述机器人做动作的结果即第二轨迹数据,所述增强现实空间数据生成部还利用所述第二轨迹数据,生成所述增强现实空间数据。

3.如权利要求2所述的机器人装置,其特征在于:所述数据处理部具有生成干涉数据的干涉数据生成部,所述干涉数据表示所述机器人相对于所述虚拟物体的干涉状态,所述干涉数据生成部利用所述第一轨迹数据和所述第二轨迹数据中的至少一个、与所述虚拟空间数据,生成所述干涉数据,所述增强现实空间数据生成部还利用所述干涉数据,生成所述增强现实空间数据。

4.如权利要求1至3中任一项所述的机器人装置,其特征在于:所述数据处理部具有:修正所述虚拟空间数据的数据修正部。

5.如权利要求1至3中任一项所述的机器人装置,其特征在于:所述机器人控制部具有:修正所述动作程序的程序修正部。

6.如权利要求1至3中任一项所述的机器人装置,其特征在于:将所述机器人拍摄部设置为,基于设定在所述机器人上的机器人坐标系。

7.一种被加工物的制造方法,其特征在于:

通过利用权利要求1至6中任一项所述的机器人装置进行动作示教后的所述机器人,来制造被加工物。

说明书 :

机器人装置以及被加工物的制造方法

技术领域

[0001] 本发明涉及用于对机器人进行动作示教的机器人装置、以及利用机器人的被加工物的制造方法,所述机器人由机器人装置进行动作示教。

背景技术

[0002] 已知有一种将由计算机生成的图像数据合成到由照相机拍摄出的拍摄数据中并进行显示的、所谓的增强现实(AR)技术。专利文献1已公开了利用AR技术的机器人装置。
[0003] 现有技术文献
[0004] 专利文献
[0005] 专利文献1:国际公开第2011/080882号公报

发明内容

[0006] 另外,技术人员会对机器人进行动作示教。但是,当在实际的作业环境中实施了机器人的示教作业的情况下,机器人可能会与机器人周围的物体发生干涉。因此,会存在难以实施根据实际动作的示教作业的情况。
[0007] 因此,本发明的目的是,提供一种能够简化对机器人的示教作业的机器人装置。
[0008] 本发明是用于对机器人进行动作示教的机器人装置,所述机器人装置包括机器人控制部、机器人拍摄部、数据处理部和显示部,所述机器人控制部具有对规定机器人动作的动作程序进行保持的程序保持部,并基于动作程序而使机器人做动作;所述机器人拍摄部用于取得包含机器人的图像数据;所述数据处理部具有:保持虚拟空间数据的虚拟空间数据保持部、以及至少利用图像数据和虚拟空间数据而生成增强现实空间数据的增强现实空间数据生成部;所述显示部利用增强现实空间数据来显示增强现实空间的图像,虚拟空间数据包含:将机器人的实际作业空间中存在的物体在虚拟空间中进行模拟后的虚拟物体的信息。
[0009] 发明的效果
[0010] 根据本发明,能够简化对机器人的示教作业。

附图说明

[0011] 图1是表示使用机器人装置进行机器人的示教作业的情况的图。
[0012] 图2是用于说明机器人之一例的图。
[0013] 图3是用于说明机器人装置的结构的框图。
[0014] 图4是用于说明虚拟空间数据的图。
[0015] 图5是用于说明第一轨迹数据以及第二轨迹数据的图。
[0016] 图6是用于说明使机器人装置运行的计算机的图。
[0017] 图7是用于说明机器人示教方法的主要工序的图。
[0018] 图8是用于说明机器人示教方法的主要工序的图。
[0019] 图9是表示增强现实空间的图像之一例的图。
[0020] 图10是表示增强现实空间的图像之一例的图。
[0021] 图11是表示增强现实空间的图像之一例的图。
[0022] 图12是表示增强现实空间的图像之一例的图。
[0023] 图13是表示增强现实空间的图像之一例的图。
[0024] 图14是表示增强现实空间的图像之一例的图。
[0025] 图15是表示增强现实空间的图像之一例的图。
[0026] 图16是用于说明为了生成轨迹数据而计算出坐标的方法的图。
[0027] 图17是表示由机器人拍摄装置拍摄的图像之一例的图。
[0028] 图18是用于说明为了生成轨迹数据而计算出坐标的方法的图。
[0029] 图19是用于说明为了生成轨迹数据而计算出坐标的方法的图。
[0030] 图20是用于说明关于干涉的判别方法的图。
[0031] 附图标记的说明
[0032] 1...机器人装置;6a~6d...照相机;7...输入装置;8...技术人员;9...显示部;11...机器人控制部;12...机器人拍摄部;13...数据处理部;14...程序保持部;16...程序修正部;17...位置姿态数据生成部;18...虚拟空间数据保持部;19...第一轨迹数据生成部;21...第二轨迹数据生成部;22...干涉数据生成部;23...增强现实空间数据生成部;24...数据修正部;A1、A2...不可干涉区域;AR...增强现实空间;L1...第一轨迹;L2...第二轨迹;R2、V2...机器人;R4a、R4b...作业台;RS...实际作业空间;
C...机器人坐标系;VS...虚拟空间。

具体实施方式

[0033] 以下参照附图,详细地说明用于实施本发明的实施方式。在附图的说明中,对同一要素标注同一的附图标记,并省略重复的说明。
[0034] 对使用机器人装置1的环境进行说明。图1是表示使用机器人装置1进行机器人R2的示教作业(teaching)的情况的图。如图1所示,实际作业空间RS是机器人R2进行规定作业的空间,例如配置有机器人R2和作业台R4a、R4b。
[0035] 实际作业空间RS的内部被多个照相机(拍摄部)6a~6d拍摄。在机器人R2上,连接有机器人装置1。机器人装置1具有:控制机器人R2的动作的功能和进行机器人R2的示教作业的功能。在机器人装置1上,连接有用于对机器人装置1输入规定的程序或数据等的输入装置7。本实施方式的机器人装置1由技术人员8进行操作。技术人员8用肉眼观察机器人装置1所具有的头戴式显示器这样的显示部9的图像,同时操作输入装置7进行机器人R2的示教。
[0036] 图2是用于说明机器人R2之一例的图。如图2所示,机器人R2是具有六自由度的多关节型的机器人。机器人R2的一端侧被固定在地面3上,其另一端侧设置有机器人手2d。在机器人R2的各部分中的位置以及旋转角度,是以机器人坐标系C为基准坐标来表示的。机器人坐标系C是将相对于配置有机器人R2的地面3垂直的方向作为Z方向,将与地面3平行的方向作为X方向。并且,将与X方向和Z方向相正交的方向(与纸面垂直的方向)作为Y方向。此外,机器人坐标系C的原点例如是将机器人R2固定于地面3的点作为固定点P,并将固定点P作为机器人坐标系C的原点。
[0037] 机器人R2具有多个成为臂结构体的连杆。连杆K1被固定于设置有机器人R2的地面3。连杆K2能够围绕相对于地面3垂直的旋转轴A1旋转从而被连接在连杆K1上。连杆K3能够围绕相对于旋转轴A1垂直的旋转轴A2旋转从而被连接在连杆K2上。连杆K4能够围绕相对于旋转轴A2平行的旋转轴A3旋转从而被连接在连杆K3上。连杆K5能够围绕相对于旋转轴A3垂直的旋转轴A4旋转从而被连接在连杆K4上。连杆K6能够围绕相对于旋转轴A4垂直的旋转轴A5旋转从而被连接在连杆K5上。连杆K7能够围绕相对于旋转轴A5垂直的旋转轴A6旋转从而被连接在连杆K6上。
[0038] 此外,这里所谓的“平行”以及“垂直”不仅是严格意义上的“平行”以及“垂直”,而且是包括与“平行”以及“垂直”稍有偏差的广义上的意义。在各旋转轴A1~A6上,分别设置有伺服电机(关节J1~J6),各伺服电机具有:检测各自的旋转位置的角度传感器T1~T6。各伺服电机被连接在机器人装置1上,各伺服电机基于机器人装置1的控制指令而做动作。
[0039] <机器人装置>
[0040] 机器人装置1将基于动作程序的控制信号输入到机器人R2从而使机器人R2做动作。而且,基于配置在机器人R2的各部分的角度传感器T1~T6的输出值、以及通过照相机6a~6d拍摄的机器人R2的图像,生成机器人R2的实际的动作路径。技术人员8根据基于动作程序的动作路径、与实际的动作路径之间的差异,使用输入装置7修正动作程序以使机器人R2执行所期望的动作。
[0041] 图3是用于说明机器人装置1的结构的框图。如图3所示,机器人装置1包括:使机器人R2做动作的机器人控制部11;取得包含机器人R2的图像数据的机器人拍摄部12;生成增强现实空间数据的数据处理部13;以及显示增强现实空间的图像的显示部9。
[0042] <机器人控制部>
[0043] 机器人控制部11具有:基于动作程序生成控制信号并驱动机器人的功能。另外,机器人控制部11还具有:基于从数据处理部13输入的数据来修正动作程序的功能。机器人控制部11将控制信号输出到机器人R2,同时从输入装置7和数据处理部13输入信号。机器人控制部11具有:保持动作程序的程序保持部14;修正动作程序的程序修正部16;以及生成位置姿态数据的位置姿态数据生成部17。
[0044] 程序保持部14具有:对用于规定机器人R2的动作的动作程序进行保持的功能。程序保持部14是从输入装置7输入动作程序。另外,动作程序由输入装置7和程序修正部
16进行修正。
[0045] 程序修正部16具有:基于从数据处理部13输出的信息来修正动作程序的功能。程序修正部16是从数据处理部13输入规定的数据。另外,程序修正部16向程序保持部14输出用于修正动作程序的数据。此外,虽然程序修正部16用于辅助技术人员8实施的动作程序的修正作业,但也可以独立地修正动作程序。
[0046] 位置姿态数据生成部17具有:接收从机器人R2所具有的角度传感器T1~T6输出的传感器数据的功能。位置姿态数据生成部17是从角度传感器T1~T6输入传感器数据。另外,位置姿态数据生成部17向数据处理部13输出位置姿态数据。
[0047] <机器人拍摄部>
[0048] 机器人拍摄部12由多个照相机6a~6d构成。机器人拍摄部12具有:取得图像数据的功能、以及向数据处理部13输出图像数据的功能。
[0049] 如图1所示,机器人拍摄部12包括:在设定了实际作业空间RS的室内所配置的照相机6a~6d。照相机6a用于取得从X轴方向观察实际作业空间RS内的机器人R2等的图像;照相机6b用于取得从Z轴方向观察实际作业空间RS内的机器人R2等的图像;照相机6c用于取得从Y轴方向观察实际作业空间RS内的机器人R2等的图像。以机器人坐标系C为基准,将这些照相机6a~6c固定在各自的位置上。由这些照相机6a~6c取得的图像数据,例如是包含机器人R2的像和作业台R4a、R4b的像在内的固定视线的图像。
[0050] 另外,机器人拍摄部12包括:以机器人坐标系C为基准从而被配置在机器人坐标系C的Z轴上的照相机6d。该照相机6d的结构是能够变焦以及拍摄全景,例如,该照相机6d能够取得跟踪机器人R2的机器人手2d(参照图2)的移动的图像。此外,照相机6d跟踪的部位并不限于机器人手2d,也可以跟踪机器人R2的其他部位的移动从而取得图像。
[0051] <数据处理部>
[0052] 数据处理部13具有:利用从机器人控制部11和机器人拍摄部12输入的各种数据来生成增强现实空间数据的功能。另外,数据处理部13还具有:利用增强现实空间数据来修正虚拟空间数据的功能。如图3所示,数据处理部13具有:保持虚拟空间数据的虚拟空间数据保持部18;生成第一轨迹数据的第一轨迹数据生成部19;生成第二轨迹数据的第二轨迹数据生成部21;生成干涉数据的干涉数据生成部22;生成增强现实空间数据的增强现实空间数据生成部23;以及修正虚拟空间数据的数据修正部24。
[0053] <虚拟空间数据保持部>
[0054] 虚拟空间数据保持部18具有:保持下述的虚拟空间数据的功能。虚拟空间数据保持部18是从输入装置7输入虚拟空间数据。另外,虚拟空间数据保持部18是从数据修正部24输入用于修正虚拟空间数据的信息。而且,虚拟空间数据保持部18分别向干涉数据生成部22和增强现实空间数据生成部23输出虚拟空间数据。
[0055] 图4是用于说明虚拟空间数据的图。如图4所示,虚拟空间数据包括:与虚拟空间VS中的虚拟物体VB相关的信息。虚拟空间VS是指,模拟了实际作业空间RS的计算机上的模拟空间。虚拟物体VB是模拟了存在于实际作业空间RS内的物体的形状或配置而成的。存在于实际作业空间RS内的物体,例如有机器人R2以及作业台R4a、R4b。而且,虚拟物体VB有虚拟的机器人V2、虚拟的作业台V4a、V4b,这些虚拟物体VB被设定在虚拟空间VS中。
此外,这些虚拟物体VB的位置以及形状,虽然以机器人坐标系C为基准坐标进行规定,但也可以基于除了机器人坐标系C以外的坐标系进行规定。
[0056] <第一轨迹数据生成部>
[0057] 第一轨迹数据生成部19具有生成下述的第一轨迹数据的功能。如图3所示,第一轨迹数据生成部19是从机器人控制部11的程序保持部14输入动作程序。另外,第一轨迹数据生成部19向增强现实空间数据生成部23输出第一轨迹数据。并且,第一轨迹数据生成部19向干涉数据生成部22输出第一轨迹数据。
[0058] <第二轨迹数据生成部>
[0059] 第二轨迹数据生成部21具有生成下述的第二轨迹数据的功能。第二轨迹数据生成部21是从机器人拍摄部12输入图像数据。第二轨迹数据生成部21是从位置姿态数据生成部17输入位置姿态数据。另外,第二轨迹数据生成部21向干涉数据生成部22输出第二轨迹数据。并且,第二轨迹数据生成部21向增强现实空间数据生成部23输出第二轨迹数据。
[0060] 在这里,对第一轨迹数据和第二轨迹数据进行说明。图5是用于说明第一轨迹数据和第二轨迹数据的图。如图5所示,第一轨迹数据表示基于被输入到机器人R2的控制信号的第一轨迹L1,并不一定表示机器人R2的实际的动作轨迹。因此,第一轨迹数据是在第一轨迹数据生成部19中基于动作程序而生成的(参照图3)。
[0061] 而第二轨迹数据表示:机器人R2的实际的动作轨迹即第二轨迹L2。因此,第二轨迹数据是在第二轨迹数据生成部21中、利用位置姿态数据和图像数据中的至少一方而生成的(参照图3)。在这里,在利用传感器数据生成第二轨迹数据的情况下,将来自角度传感器T1~T6的角度数据以及构成机器人R2的各连杆K1~K7的长度作为变量,能够利用基于公知的正运动学的矩阵计算来求出第二轨迹数据。
[0062] 对利用图像数据生成轨迹数据的方法进行详细说明。机器人手2d前端的1点的三维坐标,例如能够从固定照相机(机器人拍摄部12)中的两个图像求出。作为使用图像而抽出机器人手2d的点的方法,例如可以对机器人手2d前端的1点标注与其他部分不同颜色的圆点符号,通过颜色检测和求出圆点符号中心的图像处理而抽出机器人手2d的点,也可以在机器人手2d的前端安装LED并利用亮度的阈值提出的图像处理而抽出机器人手2d的点。另外,如果能够进行高级的图像处理,则可以使用如下的方法:即预先将机器人手2d作为三维模型进行注册,并抽出在图像中与该三维模型一致的部分。而且,只要以固定周期抽出两个图像上的坐标,并将其坐标转换成三维的机器人坐标系C,就能够生成轨迹数据。并且在计算机器人手2d的姿态的情况下,每次对机器人手2d上的3点的坐标进行三维测量并转换成机器人坐标系C之后,通过计算由3点构成的平面的姿态,由此计算出机器人手
2d的姿态。
[0063] 作为一个例子,对使用照相机6a和照相机6c进行三维测量的情况下的坐标转换,参照图16~图19进行说明。图16、图18~图20是用于说明为了生成轨迹数据而计算出坐标的方法的图。图17(a)是表示照相机6a的图像之一例的图,图17(b)是表示照相机6c的图像之一例的图。为了简化说明而设为,照相机6a的图像平面与机器人坐标系C的YZ平面相平行。同样,照相机6c的图像平面与机器人坐标系C的XZ平面相平行。另外,从机器人坐标系C观察时,将照相机6a配置于坐标[ax,ay,az]中,从机器人坐标系C观察时将照相机6c配置于坐标[cx,cy,cz]中。
[0064] 首先,通过照相机6a的图像,取得从图像坐标系C6a观察时的机器人手2d的点p6a 6a
的坐标[ px,py](参照图17(a)),并转换成从机器人坐标系C观察时的值。机器人坐标C
系C和图像坐标系C6a之间的转换(参照下述的数式(1)),使用齐次变换矩阵 T6a,所述齐C
次变换矩阵 T6a表示从机器人坐标系C观察时的图像坐标系的位置姿态(参照下述的数式(2))。此外,在数式(1)中的“*”表示不确定的值。
[0065] 【数式1】
[0066]
[0067] 【数式2】
[0068]
[0069] 同样,通过照相机6c的图像,取得从图像坐标系C6c上观察时的机器人手2d的点6c 6c C
p的坐标[ px,py](参照图17(b)),使用齐次变换矩阵 T6c(参照下述的数式(4)),转换成从机器人坐标系C观察时的值(参照下述的数式(3))。
[0070] 【数式3】
[0071]
[0072] 【数式4】
[0073]
[0074] 因此,从机器人坐标系C观察时的点p的坐标由下述的数式(5)表示。
[0075] 【数式5】
[0076]
[0077] 接下来,对计算出机器人手2d的姿态的方法进行说明。首先,通过图像处理抽出机器人手2d上的3点并作为点P1、点P2、点P3(参照图18),对各个点P1~P3使用上述的方法转换成从机器人坐标系C观察时的坐标。其次,使用下述的数式(6),计算出从点P1朝向点P2方向的矢量a(大小为1)。另外,使用下述的数式(7),计算出从点P1朝向点P3的矢量b’。
[0078] 【数式6】
[0079]
[0080] 【数式7】
[0081]
[0082] 在这里,由于矢量a与矢量b’并不一定正交(参照图19(a)),因此计算出与矢量a正交的b’的分量,并计算出大小为1的矢量b(参照下述的数式(8))(参照图19(b))。
[0083] 【数式8】
[0084]
[0085] 然后,从矢量a和矢量b的矢积,计算出矢量c(参照下述的数式(9))[0086] 【数式9】
[0087] c=a×b…(9)
[0088] 当以如下方式排列这些三维矢量a、矢量b以及矢量c时,则计算出矩阵CTH,所述矩阵CTH表示从机器人坐标系C观察时的机器人手2d的机器人手(工具)坐标系H(参照图18)的位置姿态(参照下述的数式(10))。此外,将点P1作为机器人手2d的位置。
[0089] 【数式10】
[0090]
[0091] 并且,以固定周期取得3点的坐标,每次都执行上述的计算而求出CTH并进行保存,由此,除了机器人手2d的位置以外,关于姿态还能够生成轨迹数据。
[0092] 如上所述,利用从机器人拍摄部12输出的至少两个视点图像,能够生成机器人R2的机器人手2d的第二轨迹数据。并且,组合这些位置姿态数据和图像数据也能够生成第二轨迹数据。例如,利用图像数据所得到的机器人手2d的位置信息,能够修正利用位置姿态数据所得到的机器人手2d的第二轨迹数据,由此,能够使第二轨迹数据的精度提高。此外,这些第一轨迹数据和第二轨迹数据,虽然以机器人坐标系C为基准坐标进行规定,但也可以基于除了机器人坐标系C以外的坐标系进行规定。
[0093] <干涉数据生成部>
[0094] 干涉数据生成部22具有生成下述的干涉数据的功能。如图3所示,干涉数据生成部22是从第一轨迹数据生成部19输入第一轨迹数据。另外,干涉数据生成部22是从第二轨迹数据生成部21输入第二轨迹数据。并且,干涉数据生成部22是从虚拟空间数据保持部18输入虚拟空间数据。而且,干涉数据生成部22向增强现实空间数据生成部23输出干涉数据。
[0095] 干涉数据表示:相对于虚拟物体VB的机器人R2的干涉状态。因此,干涉数据是利用虚拟空间数据、与第一轨迹数据或第二轨迹数据而生成的,所述虚拟空间数据具有虚拟物体VB的信息;所述第一轨迹数据或第二轨迹数据是与现实的机器人R2的动作相关的信息。由于这些虚拟空间数据、第一轨迹数据和第二轨迹数据以共用的机器人坐标系C为基准坐标,因此能够确认有无干涉。关于干涉状态,首先通过正运动学计算出直到机器人手2d和关节J1~J6为止的位置。其次,将各个位置转换成从物体坐标系(成为干涉的对象的物体所具有的坐标系)观察时的位置,并判断是否在干涉区域内。
[0096] 在这里,进一步详细地说明关于确认有无干涉的方法。首先,以图2所示的机器人R2为例,对机器人的正运动学计算进行说明。从机器人坐标系C观察时的第一坐标系(关节CJ1)的位置姿态 T1,由下述的数式(11)表示。在这里,θ1是关节J1的旋转角度,L1是连杆K1的长度。
[0097] 【数式11】
[0098]1
[0099] 另外,从第一坐标系(关节J1)观察时的第二坐标系(关节J2)的位置姿态 T2,由下述的数式(12)表示。
[0100] 【数式12】
[0101]
[0102] 另外,从第二坐标系(关节J2)观察时的第三坐标系(关节J3)的位置姿态2T3,由下述的数式(13)表示。
[0103] 【数式13】
[0104]
[0105] 另外,从第三坐标系(关节J3)观察时的第四坐标系(关节J4)的位置姿态3T4,由下述的数式(14)表示。
[0106] 【数式14】
[0107]
[0108] 另外,从第四坐标系(关节J4)观察时的第五坐标系(关节J5)的位置姿态4T5,由下述的数式(15)表示。
[0109] 【数式15】
[0110]
[0111] 另外,从第五坐标系(关节J5)观察时的第六坐标系(关节J6)的位置姿态5T6,由下述的数式(16)表示。
[0112] 【数式16】
[0113]
[0114] 另外,从第六坐标系(关节J6)观察时的机器人手坐标系H(机器人手2d)的位置6
姿态 TH,由下述的数式(17)表示。
[0115] 【数式17】
[0116]
[0117] 通过使用上述的数式(11)~(17),利用以下的矩阵之积,求出了从机器人坐标系CC观察时的机器人手坐标系H的位置姿态 TH(参照下述的数式(18))。
[0118] 【数式18】
[0119] CTH= CT1·1T2·2T3·3T4·4T5·5T6·6TH…(18)
[0120] 另外,通过使用上述的数式(11)~(17),还能够计算直到中途为止的位置。例如,C从机器人坐标系C观察时的关节5的位置姿态 T5,能够由下述的数式(19)求出。
[0121] 【数式19】
[0122] CT5= CT1·1T2·2T3·3T4·4T5…(19))
[0123] 并且,例如,在计算对关节J5和关节J6进行连接的连杆K6(长度为L6)的中间点M的坐标的情况下,能够由下述的数式(20)求出。
[0124] 【数式20】
[0125]
[0126] 接下来,对干涉的判别方法进行说明。图20是用于说明关于干涉的判别方法的图。如图20所示,将干涉区域定义为:作为物体坐标系CA的各坐标轴方向的范围。在本说明中,将物体A的内侧的空间作为干涉区域。因此,干涉区域是在物体坐标系CA的各坐标轴的范围中、由下述的数式(21)~(23)所表示的范围。
[0127] 【数式21】
[0128] Ixmin≤X≤Ixmax…(21)
[0129] 【数式22】
[0130] Iymin≤Y≤Iymax…(22)
[0131] 【数式23】
[0132] Izmin≤Z≤Izmax…(23)
[0133] 对规定的点P1是否存在于物体A的干涉区域进行判断。首先,计算出从机器人坐C标系C观察时的点P1的坐标 P1。具体的点P1例如是要确认有无干涉的机器人R2的机器C
人手2d的前端、或肘等位置。其次,使用下述的数式(24),将坐标 P1转换成从物体A的物CA
体坐标系CA观察时的坐标 P1。
[0134] 【数式24】CAP1=(CTA)-1·CP1…(24)
[0135] 然后,判断CAP1的各分量(P1x,P1y,P1z)是否存在于干涉区域。如果下述的数式(25)~(27)的三个条件全部为真,则由于点P1存在于物体A的内侧,因此判断为与物体A干涉。
[0136] 【数式25】
[0137] Ixmin≤Plx≤Ixmax…(25)
[0138] 【数式26】
[0139] Iymin≤Ply≤Iymax…(26)
[0140] 【数式27】
[0141] Izmin≤Plz≤Izmax…(27)
[0142] 在这里,可以根据需要对于第一轨迹L1和第二轨迹L2设定不可干涉区域A1、A2(参照图11和图13)。第一轨迹L1和第二轨迹L2例如是被设定在机器人R2的机器人手2d上的规定点的轨迹。另一方面,由于在规定点的周围会存在现实的机器人R2的部位,因此即使在第一轨迹L1和第二轨迹L2本身不发生干涉的情况下,在现实的机器人R2中有时也会发生干涉。因此,当再加上机器人R2的外形形状等,物体侵入到该范围内的情况下,作为具有与现实的机器人R2发生干涉的可能性的区域而设定不可干涉区域A1、A2。此外,将对于第一轨迹L1设定的区域作为不可干涉区域A1,并将对于第二轨迹L2设定的区域作为不可干涉区域A2。
[0143] 根据利用第一轨迹数据和虚拟空间数据所得到的干涉数据,能够确认如动作程序规定的那样使机器人R2做动作的情况下的干涉状态。即、能够进行动作程序的确认。另一方面,根据利用第二轨迹数据和虚拟空间数据所得到的干涉数据,能够确认实际上使机器人R2做动作的情况下的干涉状态。即、能够进行现实的机器人R2的动作轨迹的确认。
[0144] <增强现实空间数据生成部>
[0145] 增强现实空间数据生成部23具有生成增强现实空间数据的功能。增强现实空间数据生成部23是从虚拟空间数据保持部18输入虚拟空间数据。增强现实空间数据生成部23是从第一轨迹数据生成部19输入第一轨迹数据。增强现实空间数据生成部23是从第二轨迹数据生成部21输入第二轨迹数据。增强现实空间数据生成部23是从机器人拍摄部
12输入图像数据。增强现实空间数据生成部23是从干涉数据生成部22输入干涉数据。另外,增强现实空间数据生成部23分别向显示部9、数据修正部24和程序修正部16输出增强现实空间数据。
[0146] 增强现实空间数据是使虚拟机器人V2和虚拟作业台V4a、V4b与拍摄了现实的机器人R2的图像重叠,并且是利用图像数据和虚拟空间数据而生成的。在该增强现实空间数据中,可以根据需要使第一轨迹L1或第二轨迹L2与拍摄了现实的机器人R2的图像重叠。另外,也可以使机器人R2与虚拟作业台V4a、V4b的干涉状态重叠。
[0147] 在机器人R2中的注意点的位置是,通过对从不同的视点所得到的至少两个图像数据进行解析,由此获得作为基准坐标的机器人坐标系C。而且,与机器人R2的图像重叠的第一轨迹L1、第二轨迹L2和干涉状态的数据是以机器人坐标系C为基准坐标。因此,能够使第一轨迹L1、第二轨迹L2这样的虚拟的数据相对于现实的机器人R2的图像重叠。
[0148] <数据修正部>
[0149] 数据修正部24具有:基于增强现实空间数据来修正虚拟空间数据的功能。数据修正部24是从增强现实空间数据生成部23输入增强现实空间数据。另外,数据修正部24向虚拟空间数据保持部18输出用于修正虚拟空间数据的数据。
[0150] 数据修正部24例如被用于虚拟空间数据的校正。例如,当使虚拟空间VS中的模拟的虚拟机器人V2和虚拟作业台V4a、V4b与配置在实际作业空间RS中的机器人R2和作业台R4a、R4b重叠时,则存在虚拟空间VS中的模拟的虚拟物体VB相对于实际作业空间RS中的物体不一致的情况。数据修正部24抽出虚拟物体VB相对于实际作业空间RS中的物体的差异,并使虚拟物体VB的位置或形状接近于实际作业空间RS中的物体。此外,该虚拟空间数据的校正只要根据需要实施即可。另外,在技术人员8修正虚拟空间数据的情况下,也可以辅助性地使用该虚拟空间数据的校正。
[0151] <显示部>
[0152] 显示部9具有:显示增强现实空间的图像并向技术人员8提供信息的功能。显示部9是从增强现实空间数据生成部23输入增强现实空间数据。该显示部9能够使用公知的图像显示设备。例如,能够使用头戴式显示器或液晶显示面板等。
[0153] 图6是用于说明使机器人装置1运行的计算机的图。如图6所示,计算机100是构成本实施方式的机器人装置1的硬件的一个例子。计算机100具有CPU,包括进行软件的处理或控制的个人计算机等信息处理装置。计算机100由计算机系统构成,其包括CPU101、主存储装置即RAM102和ROM103、键盘、鼠标和编程器等输入装置7、显示器等显示部9、硬盘等辅助存储装置108等。图3所示的功能性的构成要素是使CPU101、RAM102等硬件读取规定的计算机软件,在CPU101的控制下,使输入装置7、显示部9做动作,同时在RAM102或辅助存储装置108中进行数据的读取和写入。
[0154] <机器人示教作业>
[0155] 接着,对使用了机器人装置1的机器人示教方法进行说明。图7和图8是用于说明机器人示教方法的主要工序的图。如图7所示,首先,将机器人R2和作业台R4a、R4b配置在实际作业空间RS内(工序S1)(参照图1)。其次,使用输入装置7将初始动作程序输入到程序保持部14(工序S2)(参照图3)。然后,使用输入装置7将虚拟现实空间数据输入到虚拟空间数据保持部18(工序S3)(参照图3)。
[0156] 在使机器人R2做动作之前,先实施虚拟空间数据的校正。图9是表示增强现实空间AR的图像之一例的图。生成使虚拟空间VS的图像、与由机器人拍摄部12所得的实际作业空间RS的图像相重叠的增强现实空间数据(工序S4),利用增强现实空间数据将增强现实空间AR的图像显示在显示部9(工序S5)。如图9所示,在显示部9中,显示了使虚拟空间数据所包含的虚拟物体VB、与由照相机6c所得的图像相重叠的图像。
[0157] 在该图像中,显示了现实的机器人R2以及现实的作业台R4a、R4b、与虚拟的机器人V2以及虚拟的作业台V4a、V4b。由于机器人R2与机器人V2不会发生错位,因此不需要对虚拟空间数据中的机器人V2的数据进行修正。另一方面,作业台V4a相对于作业台R4a的X轴方向的位置不同。并且,作业台V4b相对于作业台R4b的Z轴方向的位置和形状不同。因此,判断出需要修正虚拟现实空间数据(工序S6:是)。技术人员8可以使用输入装置7实施虚拟现实空间数据的修正。另外,数据处理部13可以基于像素检测出错位和形状的不同并计算出修正量,从而修正虚拟空间数据。当判断为不需要对机器人V2相对于机器人R2的位置和形状、以及作业台V4a、V4b相对于作业台R4a、R4b的位置和形状进行修正的情况下,过渡到下一工序(工序S6:否)。
[0158] 如图8所示,在虚拟空间数据的校正结束后,去除配置在实际作业空间RS内的除了机器人R2以外的物体(工序S8)。然后,在实际作业空间RS中仅存在机器人R2。图10是表示增强现实空间AR的图像之一例的图。如图10所示,增强现实空间AR的图像包含机器人R2、V2以及作业台V4a、V4b。即、在增强现实空间AR的图像中,由于从实际作业空间RS中去除了现实的作业台R4a、R4b,所以不包含现实的作业台R4a、R4b。
[0159] 接着,实施初始动作程序的干涉检验。在如由初始动作程序规定的第一轨迹L1那样使机器人R2的机器人手2d移动的情况下,要确认是否与虚拟的作业台V4a、V4b发生干涉。更详细地说,首先,利用图像数据、虚拟空间数据和第一轨迹数据而生成增强现实空间数据(工序S9)。而且,利用增强现实空间数据显示出增强现实空间AR的图像(工序S10)。增强现实空间AR的图像包含:基于图像数据的机器人R2、基于虚拟空间数据的机器人V2和作业台V4a、V4b、第一轨迹L1以及不可干涉区域A1。图11是表示增强现实空间AR的图像之一例的图。图11是对增强现实空间AR的一部分进行放大后的图,并示出了作业台V4a、V4b、第一轨迹L1以及不可干涉区域A1。基于初始动作程序的第一轨迹L1是从初始点PS经由目标点PO到达终点PE。根据图11所示的例子,第一轨迹L1具有与作业台V4b发生干涉的部分Eb。并且,不可干涉区域A1具有与作业台V4b发生干涉的部分Ea。因此,判断为需要修正初始动作程序(工序S11:是)。
[0160] 技术人员8使用输入装置7修正动作程序(工序S12)。而且,利用修正过的动作程序,再生成增强现实空间数据(工序S9),将增强现实空间AR的图像显示在显示部9(工序S10)。图12是表示增强现实空间AR的图像之一例的图。如图12所示,修正过的第一轨迹L1具有新的中间点P1。在这里,当变更第一轨迹L1时,也自动变更了不可干涉区域A1。该第一轨迹L1不会与作业台V4b发生干涉,不可干涉区域A1也不会与作业台V4b发生干涉。因此,判断为不需要修正动作程序,并过渡到下一工序(工序S11:否)。
[0161] 实施实际上使机器人R2做动作的情况下的干涉检验。更详细地说,首先,使用生成第一轨迹L1的动作程序而使机器人R2做动作(工序S13)。而且,生成增强现实空间数据(工序S14),将增强现实空间AR的图像显示在显示部9(工序S15)。在这里,在工序S14中,利用图像数据、虚拟空间数据、第一轨迹数据以及第二轨迹数据而生成增强现实空间数据。图13是表示增强现实空间AR的图像之一例的图。图13包含作业台V4a、V4b、第一轨迹L1、第二轨迹L2以及不可干涉区域A2。此外,该不可干涉区域A2基于第二轨迹L2。
[0162] 根据图13所示的例子,第二轨迹L2具有与作业台V4b发生干涉的部分Ec。并且,不可干涉区域A2具有与作业台V4b发生干涉的部分Ed。
[0163] 然而,在机器人R2的动作中,会存在实际的轨迹即第二轨迹L2相对于基于动作程序的第一轨迹L1发生错位的情况。机器人R2的动作控制存在如下情况:将从第一位置向下一个第二位置移动的时间作为最优先的事项。在本实施方式中,将从初始点PS移动到终点PE的时间作为最优先的事项进行设定。于是,在从初始点PS到终点PE为止的移动中,即使在规定时间内完成了移动,也会存在从初始点PS到终点PE的实际的第二轨迹L2从第一轨迹L1脱离的情况。例如,由图13所示的例子可知:第二轨迹L2没有到达目标点PO。该现象被称为内环现象。因此,在解除第二轨迹L2和不可干涉区域A2对作业台V4b的干涉,并严格地使其经由目标点PO的情况下,需要修正动作程序(工序S16:是)。
[0164] 图14是表示增强现实空间AR的图像之一例的图。为了解除第二轨迹L2和不可干涉区域A2对作业台V4b的干涉,对中间点P1的位置进行修正(工序S17)。而且,以第二轨迹L2经由目标点PO的方式,来设定中间点P2的位置。这些中间点P1、P2的修正,可以由技术人员8实施,也可以由程序修正部16实施。在由程序修正部16实施的中间点P1的修正中,计算出与作业台V4b所占的区域发生干涉的不可干涉区域A2的坐标系C的沿着各坐标轴方向的重复长度,并使中间点P2的位置仅移动该长度的量。另外,由程序修正部16实施的中间点P2的设定是,计算出第二轨迹L2相对于目标点PO的沿着各轴方向的分离距离。而且,基于分离距离使中间点P1的位置移动。
[0165] 接着,利用修正过的动作程序再使机器人R2做动作(工序S13),生成增强现实空间数据(工序S14),将增强现实空间AR的图像显示在显示部9(工序S15)。图15是表示增强现实空间AR的图像之一例的图。如图15所示,根据修正过的动作程序,解除了第二轨迹L2和不可干涉区域A2对作业台V4b的干涉,并且第二轨迹L2经由目标点PO。因此,不需要修正动作程序(工序S16:否)。
[0166] 通过以上的工序S1~S16,就完成了使用机器人装置1的机器人R2的示教作业。
[0167] 根据本实施方式的机器人装置1,可从机器人拍摄部12取得使现实的机器人R2做动作的图像数据。另外,机器人装置1具有:将实际作业空间RS中存在的虚拟物体VB在虚拟空间中进行模拟的虚拟空间数据。而且,在增强现实空间数据生成部23中,利用图像数据和虚拟空间数据而生成增强现实空间数据。根据该方式,在配置了虚拟物体VB的虚拟空间中,能够与使现实的机器人R2做动作的结果进行重叠。由此,可实施如下的示教作业:即不用将现实的作业台R4a、R4b这样的物体配置在实际作业空间RS内、就能使机器人R2做动作。因此,不会发生机器人R2与周边物体的实际上的干涉,就能够实施机器人R2的示教作业,所以,通过动作程序的试错能够安全且容易地实施示教作业。
[0168] 本实施方式的机器人装置1生成第一轨迹数据和第二轨迹数据,并利用这些数据生成增强现实空间数据,并将这些第一轨迹L1和第二轨迹L2显示在显示部9。根据该方式,由于通过肉眼观察能够确认所设定的第一轨迹L1、与使机器人R2做动作的结果即第二轨迹L2之间的差异,所以能够容易且有效地实施动作程序的修正。因此,能够更容易地进行机器人R2的示教作业。
[0169] 根据本实施方式的机器人装置1,可生成干涉数据,所述干涉数据表示现实的机器人R2与虚拟物体VB的干涉状态。因此,由于通过肉眼观察能够确认机器人R2与虚拟物体VB有无干涉,所以,以不会与虚拟物体VB发生干涉的方式能够修正动作程序。因此,能够容易对机器人R2进行动作示教,所述动作不会与现实的周边物体发生干涉。
[0170] 以上,对本发明的优选实施方式进行了说明,但本发明并不一定仅限于上述实施方式,在不脱离其主旨的范围内能够进行各种变更。例如,机器人R2可以是垂直双臂机器人。另外,增强现实空间AR的图像除了显示机器人R2的图像、虚拟物体VB的图像、第一轨迹L1、第二轨迹L2以外,还可以显示易于进行示教作业的各种信息。另外,在上述实施方式中,以对机器人R2示教二维的轨迹的情况为例进行了说明,但机器人装置1也可以用于对机器人R2示教三维的轨迹的情况。另外,在上述实施方式中,将机器人装置1用于虚拟空间数据的校正、第一轨迹数据的确认作业以及第二轨迹数据的确认作业,但为了实施这些作业中的一个作业,也可以使用机器人装置1。
[0171] 另外,可以使用由上述机器人装置1进行动作示教后的机器人R2,来制造所期望的产品(被加工物)。