1.本发明涉及取得机器人与作业设备的位置关系的装置、控制装置、系统、方法以及计算机程序。
背景技术:
2.已知有如下技术:利用机器人对在保持工件的作业设备中设定的多个点进行触摸释放(touch up),由此,取得作业设备与机器人的相对位置(例如,专利文献1)。
3.现有技术文献
4.专利文献
5.专利文献1:日本特开2010-76054号公报
技术实现要素:
6.发明要解决的课题
7.提供一种更简单地取得表示机器人与作业设备的位置关系的数据的技术。
8.用于解决课题的手段
9.本公开的一方式的装置取得设定于机器人的机器人坐标系与设定于作业设备的作业设备坐标系的位置关系,作业设备设置于机器人的外部,其中,该装置具备:位置数据取得部,其取得将机器人的手前部相对于作业设备配置为规定的位置以及姿势时的、表示该手前部相对于机器人坐标系的位置以及姿势的第一位置数据、以及表示该手前部相对于作业设备坐标系的位置以及姿势的第二位置数据;以及位置关系取得部,其根据第一位置数据以及第二位置数据,取得位置关系。
10.本公开的其他方式的取得机器人与作业设备的位置关系的装置构成为,根据使机器人与设置于作业设备的已知的位置的抵接部抵接时的、机器人相对于作业设备的位置以及姿势,取得位置关系。
11.本公开的另外其他方式的方法取得设定于机器人的机器人坐标系与设定于作业设备的作业设备坐标系的位置关系,作业设备设置于机器人的外部,其中,取得将机器人的手前部相对于作业设备配置为规定的位置以及姿势时的、表示该手前部相对于机器人坐标系的位置以及姿势的第一位置数据、以及表示该手前部相对于作业设备坐标系的位置以及姿势的第二位置数据;以及根据所取得的第一位置数据以及第二位置数据,取得位置关系。
12.本公开的另外其他方式的取得机器人与作业设备的位置关系的方法,根据使机器人与设置于作业设备的已知的位置的抵接部抵接时的、机器人相对于作业设备的位置以及姿势,取得位置关系。
13.本公开的另外其他方式的计算机程序,为了取得设定于机器人的机器人坐标系与设定于作业设备的作业设备坐标系的位置关系,使处理器作为以下部分发挥功能,其中,作业设备设置于机器人的外部:位置数据取得部,其取得将机器人的手前部相对于作业设备
配置为规定的位置以及姿势时的、表示该手前部相对于机器人坐标系的位置以及姿势的第一位置数据、以及表示该手前部相对于作业设备坐标系的位置以及姿势的第二位置数据;以及位置关系取得部,其根据第一位置数据以及第二位置数据,取得位置关系。
14.发明效果
15.根据本公开,通过将机器人的手前部配置为1个位置以及姿势,能够取得表示机器人坐标系(即,机器人)与作业设备坐标系(即,作业设备)的位置关系的第三位置数据。由此,能够大幅简化求出机器人坐标系与作业设备坐标系的位置关系的过程。
附图说明
16.图1是一实施方式的系统的立体图。
17.图2是图1所示的系统的框图。
18.图3是图1所示的机器人的手前部的放大图。
19.图4是图1所示的抵接部的放大图。
20.图5是图1的主要部分的放大图。
21.图6表示使机器人的手前部与图4所示的抵接部抵接的状态。
22.图7是其他实施方式的系统的立体图。
23.图8是图7所示的系统的框图。
24.图9是另外其他实施方式的系统的框图。
25.图10是另外其他实施方式的系统的框图。
26.图11表示一实施方式的接触检测传感器。
27.图12是表示图10所示的系统的动作流程的一例的流程图。
28.图13是另外其他实施方式的系统的框图。
29.图14是另外其他实施方式的系统的框图。
30.图15是另外其他实施方式的系统的框图。
31.图16表示一实施方式的位置检测传感器。
32.图17是另外其他实施方式的系统的立体图。
33.图18是图17所示的系统的框图。
34.图19是图17的主要部分的放大图。
35.图20是图17所示的工件的放大立体图。
36.图21是图17的主要部分的截面图。
37.图22是图17所示的工件保持机构及抵接部的主视图。
38.图23是表示用机械手把持其他实施方式的工件并使其保持于图17所示的工件保持机构的状态的截面图。
39.图24是图23所示的工件和把持该工件的机械手的放大立体图。
具体实施方式
40.以下,根据附图对本公开的实施方式进行详细说明。此外,在以下说明的各种实施方式中,对相同的要素标注相同的符号,省略重复的说明。首先,参照图1以及图2,对一实施方式的系统10进行说明。系统10具有:机器人12、作业设备14以及控制装置16。
41.在本实施方式中,机器人12是垂直多关节机器人(例如,6轴机器人),具有:机器人基座18、旋转体20、机械臂22、手腕部24以及末端执行器26。机器人基座18固定于支承机构28。支承机构28例如可以是固定于作业单元的地面的基台,也可以是能够在作业单元内自行的行驶装置,或者也可以是由操作员手动移动的手推台车。
42.旋转体20以能够绕铅垂轴旋转的方式设置于机器人基座18。机械臂22具有:下臂部30,其以能够绕水平轴转动的方式设置于旋转体20;以及上臂部32,其以能够转动的方式设置于该下臂部30的前端部。手腕部24以能够转动的方式设置于上臂部32的前端部,使末端执行器26绕手腕轴a1转动。
43.如图3所示,在本实施方式中,末端执行器26是能够把持工件wp1的机械手。具体而言,末端执行器26具有:基座部34、以能够开闭的方式设置于该基座部34的多个爪部36、以及驱动该爪部36的爪驱动部(未图示)。
44.基座部34以能够装卸的方式安装于手腕部24的前端部(所谓的手腕凸缘)。爪部36以能够向相互接近以及背离的方向移动的方式设置于基座部34。各个爪部36在其内侧具有把持面36a和卡合面36b。把持面36a为大致平面。卡合面36b是与把持面36a大致正交的平面,从卡合面36b的顶端缘向内侧延展。爪驱动部例如是气缸或电动机,根据来自控制装置16的指令使爪部36开闭,由此,末端执行器26能够把持或触摸释放工件wp1。
45.在本实施方式中,工件wp1是大致长方体状的部件,具有底面b1、顶面b2、侧面b3、b4以及b5。底面b1和顶面b2是彼此大致平行的平面。侧面b3和b4是彼此大致平行地对置配置的平面,与底面b1和顶面b2正交。侧面b5是与底面b1、顶面b2、侧面b3及b4正交的平面。
46.末端执行器26在规定的把持位置把持工件wp1。在末端执行器26把持工件wp1时,一对爪部36的把持面36a在工件wp1的侧面b3以及b4的规定位置分别与该侧面b3以及b4抵接,另一方面,一对爪部36的卡合面36b在工件wp1的顶面b2的规定位置分别与该顶面b2卡合。
47.末端执行器26在规定的把持位置把持的工件wp1能够视为与该末端执行器26一体的工件,换言之,能够视为该末端执行器26的一部分。在本实施方式中,将手腕部24的前端部(手腕凸缘)、末端执行器26以及该末端执行器26在规定的把持位置把持的工件wp1称为机器人12的手前部40。
48.在机器人12的构成要素(机器人基座18、旋转体20、下臂部30、上臂部32、手腕部24)分别内置有多个伺服电动机38(图2)。各个伺服电动机38根据来自控制装置16的指令,使机器人12的各可动要素(旋转体20、下臂部30、上臂部32、手腕部24)绕驱动轴转动。
49.作业设备14设置于机器人12的外部。作业设备14例如是工件保持台、工件台装置或机床。工件保持台固定于作业单元,在作业时固定工件。工件台装置具有固定工件的工件台和使该工件台移动的移动机构(滚珠丝杠机构等)。
50.机床是车床、铣床或能够执行多种加工的加工中心等,具有固定工件的工件保持机构(夹具、工件台、卡盘机构等)、对固定于该工件保持机构的工件进行加工的工具、以及使工件保持机构与工具相对移动的移动机构(滚珠丝杠机构等)。
51.在作业设备14的面42以从该面42向外侧突出的方式固定设置有抵接部44。如图4所示,抵接部44具有第一部分46以及第二部分48。第一部分46向一方向呈直线状地延伸,具有与面42大致正交的内表面46a。另一方面,第二部分48以与第一部分46正交的方式从该第
一部分46的一端呈直线状地延展,具有与该第一部分46的内表面46a及面42大致正交的内表面48a。
52.参照图2,控制装置16控制机器人12的动作。具体而言,控制装置16是具有处理器50、存储器52以及i/o接口54的计算机。处理器50具有cpu或gpu等,经由总线56可通信地与存储器52及i/o接口54连接。处理器50与存储器52以及i/o接口54进行通信,并且进行用于实现后述的各种功能的运算处理。
53.存储器52具有ram或rom等,暂时或永久地存储各种数据。i/o接口54例如具有以太网(注册商标)端口、usb端口、光纤连接器或hdmi(注册商标)端子,在来自处理器50的指令下,在与外部设备之间以有线或无线方式对数据进行通信。上述的伺服电动机38以能够通过有线或无线进行通信的方式与i/o接口54连接。
54.如图1所示,对机器人12设定机器人坐标系c1。机器人坐标系c1是用于自动控制机器人12的各可动要素的动作的坐标系,相对于机器人基座18(或者支承机构28)固定地设定。在本实施方式中,机器人坐标系c1以其原点配置于机器人基座18的中心且其z轴与旋转体20的旋转轴一致的方式对机器人12进行设定。
55.另一方面,如图3所示,对手前部40设定机械接口(mif)坐标系c2。mif坐标系c2是规定机器人坐标系c1中的手前部40(具体而言,末端执行器26)的位置以及姿势的坐标系。在本实施方式中,mif坐标系c2以其原点配置于手腕部24的前端部的中心且其z轴与手腕轴a1一致的方式,对手前部40进行设定。
56.在使手前部40(末端执行器26)移动时,处理器50对机器人坐标系c1设定mif坐标系c2,控制机器人12的各伺服电动机38,以将手前部40定位于由所设定的mif坐标系c2表示的位置以及姿势。这样,处理器50能够将手前部40定位于机器人坐标系c1中的任意的位置以及姿势。因此,mif坐标系c2相对于机器人坐标系c1的位置关系(即,原点位置以及各轴的方向)是已知的。
57.另一方面,对末端执行器26在规定的把持位置把持的工件wp1设定用户坐标系c3。在本实施方式中,用户坐标系c3以其原点配置于末端执行器26把持的工件wp1的底面b1和侧面b4及b5形成的顶点f,且其x-z平面与末端执行器26把持的工件wp1的侧面b5平行,且其y-z平面与末端执行器26把持的工件wp1的侧面b3及b4(或末端执行器26的把持面36a)平行的方式,对工件wp1进行设定。
58.在此,如上所述,末端执行器26在规定的把持位置把持的工件wp1能够视为与该末端执行器26一体的工件(即,末端执行器26的一部分),因此,如果工件wp1的形状和该把持位置是已知的,则对末端执行器26在该把持位置把持的工件wp1设定的用户坐标系c3相对于mif坐标系c2的位置关系(原点位置以及各轴的方向)是已知的。
59.因此,用户坐标系c3相对于机器人坐标系c1的位置关系经由mif坐标系c2而成为已知。更具体而言,用户坐标系c3相对于机器人坐标系c1的位置关系能够表示为机器人坐标系c1的坐标d(x,y,z,w,p,r)。
60.在此,坐标d(x,y,z)表示用户坐标系c3的原点在机器人坐标系c1中的坐标。另一方面,坐标d(w,p,r)表示用户坐标系c3的x轴、y轴以及z轴相对于机器人坐标系c1的x轴、y轴以及z轴的倾斜(所谓的偏航、俯仰、滚动)。从机器人坐标系c1向用户坐标系c3的坐标变换矩阵m13为已知的齐次变换矩阵,该坐标变换矩阵m13的各参数根据坐标d(x,y,z,w,p,r)
确定。
61.如图1所示,对作业设备14设定作业设备坐标系c4。作业设备坐标系c4规定作业设备14的各构成要素的位置以及姿势,该作业设备14的各构成要素表示为作业设备坐标系c4的坐标。在本实施方式中,作业设备坐标系c4以其原点配置于作业设备14的底面的一端点且其z轴方向与作业设备14的高度方向(例如,铅垂方向)平行的方式对作业设备14固定地设定。
62.作业设备14的面42和抵接部44配置于作业设备坐标系c4的已知的位置。在本实施方式中,以作业设备14的面42与作业设备坐标系c4的x-y平面平行,抵接部44的内表面46a与作业设备坐标系c4的x-z平面平行,抵接部44的内表面48a与作业设备坐标系c4的y-z平面平行的方式配置于作业设备坐标系c4的已知的位置。因此,由面42、内表面46a以及内表面48a形成的顶点g表示为作业设备坐标系c4的已知的坐标。
63.在此,在本实施方式中,机器人坐标系c1(即,机器人12)与作业设备坐标系c4(即,作业设备14)的位置关系是未知的。处理器50作为取得机器人坐标系c1与作业设备坐标系c4的位置关系的装置60发挥功能。以下,对装置60的功能进行说明。
64.首先,如图1、图5以及图6所示,机器人12使末端执行器26在规定的把持位置把持的工件wp1与抵接部44抵接。此时,工件wp1的底面b1与作业设备14的面42面接触,工件wp1的侧面b5与抵接部44的内表面46a面接触,且工件wp1的侧面b4与抵接部44的内表面48a面接触。这样,手前部40相对于作业设备14静止地配置为规定的位置ps1及姿势or1。
65.此时的用户坐标系c3相对于作业设备坐标系c4的位置关系是已知的。具体而言,能够视为用户坐标系c3的原点与上述的顶点g的位置一致,用户坐标系c3的x-y平面与作业设备14的面42平行,用户坐标系c3的x-z平面与抵接部44的内表面46a平行,且用户坐标系c3的y-z平面与抵接部44的内表面48a平行。
66.因此,此时的作业设备坐标系c4中的用户坐标系c3的坐标能够表示为已知的坐标e1(x1,y1,z1,w1,p1,r1)。坐标e1(x1,y1,z1)表示用户坐标系c3的原点(即,顶点g)在作业设备坐标系c4中的坐标。另一方面,坐标e1(w1,p1,r1)表示用户坐标系c3的x轴、y轴以及z轴相对于作业设备坐标系c4的x轴、y轴以及z轴的倾斜(所谓的偏航、俯仰、滚动)。
67.另外,从作业设备坐标系c4向用户坐标系c3的坐标变换矩阵m43
_1
为已知的齐次变换矩阵,该坐标变换矩阵m43
_1
的各参数根据坐标e1(x1,y1,z1,w1,p1,r1)决定。这样,能够将作业设备坐标系c4与用户坐标系c3的位置关系设为已知。
68.这样,通过使手前部40(具体而言为工件wp1)与抵接部44抵接,该手前部40相对于作业设备14静止地配置为规定的位置ps1以及姿势or1,此时的手前部40相对于作业设备坐标系c4的位置ps1以及姿势or1表示为用户坐标系c3的坐标e1(x1,y1,z1,w1,p1,r1)。因此,抵接部44作为用于将手前部40的位置ps1以及姿势or1表示于作业设备坐标系c4的要素发挥功能。
69.处理器50取得表示将手前部40配置为位置ps1及姿势or1时的、相对于作业设备坐标系c4的该位置ps1及姿势or1的第二位置数据β1。作为一例,处理器50取得上述的坐标e1(x1,y1,z1,w1,p1,r1)或者坐标变换矩阵m43
_1
作为第二位置数据β1。
70.作为另一例,处理器50也可以取得将手前部40配置为位置ps1及姿势or1时的从用户坐标系c3向作业设备坐标系c4的坐标变换矩阵m34
_1
,作为第二位置数据β1。求出该坐标
变换矩阵m34
_1
作为上述的坐标变换矩阵m43
_1
的逆变换矩阵:inv(m43
_1
)。
71.作为另外的其他例子,处理器50也可以取得将手前部40配置为位置ps1及姿势or1时的用户坐标系c3中的作业设备坐标系c4的坐标e1’
(x1’
,y1’
,z1’
,w1’
,p1’
,r1’
)作为第二位置数据β1。能够根据坐标变换矩阵m34
_1
(=inv(m43
_1
))决定坐标e1’
。
72.这样,在本实施方式中,坐标e1(x1,y1,z1,w1,p1,r1)、坐标e1’
(x1’
,y1’
,z1’
,w1’
,p1’
,r1’
)、坐标变换矩阵m43
_1
、以及坐标变换矩阵m34
_1
构成第二位置数据β1,处理器50作为取得该第二位置数据β1的位置数据取得部62(图2)发挥功能。
73.另一方面,处理器50取得表示将手前部40配置为位置ps1及姿势or1时的、相对于机器人坐标系c1的该位置ps1及姿势or1的第一位置数据α1。在此,在手前部40配置为位置ps1以及姿势or1时,机器人坐标系c1中的用户坐标系c3的坐标表示为已知的坐标d1(x1,y1,z1,w1,p1,r1),根据坐标d1(x1,y1,z1,w1,p1,r1)决定此时的从机器人坐标系c1向用户坐标系c3的坐标变换矩阵m13
_1
的各参数。
74.作为一例,处理器50取得上述的坐标d1(x1,y1,z1,w1,p1,r1)或坐标变换矩阵m13
_1
作为第一位置数据α1。作为其他例子,处理器50也可以取得将手前部40配置为位置ps1及姿势or1时的从用户坐标系c3向机器人坐标系c1的坐标变换矩阵m31
_1
作为第一位置数据α1。求出该坐标变换矩阵m31
_1
作为上述的坐标变换矩阵m13
_1
的逆变换矩阵:inv(m13
_1
)。
75.作为另外的其他例子,处理器50也可以取得将手前部40配置为位置ps1及姿势or1时的用户坐标系c3中的机器人坐标系c1的坐标d1’
(x1’
,y1’
,z1’
,w1’
,p1’
,r1’
)作为第一位置数据α1。能够根据坐标变换矩阵m31
_1
(=inv(m13
_1
))决定坐标d1’
。
76.这样,在本实施方式中,坐标d1(x1,y1,z1,w1,p1,r1)、坐标d1’
(x1’
,y1’
,z1’
,w1’
,p1’
,r1’
)、坐标变换矩阵m13
_1
、以及坐标变换矩阵m31
_1
构成第一位置数据α1,处理器50作为位置数据取得部62(图2)发挥功能,取得第一位置数据α1。
77.接下来,处理器50使用所取得的第一位置数据α1以及第二位置数据β1,取得表示机器人坐标系c1与作业设备坐标系c4的位置关系的第三位置数据γ1。作为一例,处理器50取得从机器人坐标系c1向作业设备坐标系c4的坐标变换矩阵m14
_1
作为第三位置数据γ1。具体而言,处理器50能够使用作为第一位置数据α1的坐标变换矩阵m13
_1
和作为第二位置数据β1的坐标变换矩阵m34
_1
(或m43
_1
),根据m14
_1
=m13
_1
·
m34
_1
=m13
_1
·
inv(m43
_1
)的式子,通过运算求出坐标变换矩阵m14
_1
。
78.作为其他例子,处理器50也可以取得机器人坐标系c1中的作业设备坐标系c4的坐标d2(x2,y2,z2,w2,p2,r2)作为第三位置数据γ1。能够根据已知的坐标变换矩阵m14
_1
的各参数决定该坐标d2(x2,y2,z2,w2,p2,r2)。
79.作为另外的其他例子,处理器50也可以取得从作业设备坐标系c4向机器人坐标系c1的坐标变换矩阵m41
_1
作为第三位置数据γ1。求出该坐标变换矩阵m41
_1
能够作为上述的坐标变换矩阵m14
_1
的逆变换矩阵:inv(m14
_1
)。或者,也能够使用作为第一位置数据α1的坐标变换矩阵m31
_1
(或m13
_1
)和作为第二位置数据β1的坐标变换矩阵m43
_1
,根据m41
_1
=m43
_1
·
m31
_1
=m43
_1
·
inv(m13
_1
)的式子来决定坐标变换矩阵m41
_1
。
80.作为另外的其他例子,处理器50也可以取得作业设备坐标系c4中的机器人坐标系c1的坐标e2(x2,y2,z2,w2,p2,r2)作为第三位置数据γ1。能够根据上述的坐标变换矩阵m41
_1
的各参数来决定坐标e2。
81.这样,在本实施方式中,处理器50作为使用第一位置数据α1以及第二位置数据β1来取得第三位置数据γ1(坐标变换矩阵m14
_1
、坐标变换矩阵m41
_1
、坐标d2、或者坐标e2)的位置关系取得部64(图2)发挥功能。
82.如上所述,处理器50作为具有位置数据取得部62以及位置关系取得部64的装置60发挥功能,从第一位置数据α1以及第二位置数据β1取得表示机器人坐标系c1与作业设备坐标系c4的位置关系的第三位置数据γ1。根据该结构,不执行利用手前部40对设定于作业设备14的多个点进行触摸释放的过程,而将手前部40配置为1个位置ps1以及姿势or1,由此,能够取得第三位置数据γ1。由此,能够大幅简化求出机器人坐标系c1与作业设备坐标系c4的位置关系的过程。
83.另外,在本实施方式中,通过使该手前部40与用于将手前部40的位置ps1以及姿势or1表示于作业设备坐标系c4的抵接部44抵接,从而将该手前部40配置为位置ps1以及姿势or1。根据该结构,通过仅使手前部40与抵接部44抵接,就能够使手前部40相对于作业设备坐标系c4的位置ps1以及姿势or1(具体而言,用户坐标系c3的位置关系)为已知,因此,能够容易且高精度地取得第二位置数据β1。
84.另外,在本实施方式中,装置60构成为根据使机器人12(具体而言,手前部40)与抵接部44抵接时的、机器人12相对于作业设备14的位置以及姿势(具体而言,第二位置数据β1),取得机器人12与作业设备14的位置关系(具体而言,第三位置数据γ1)。根据该结构,通过仅使机器人12与抵接部44抵接,就能够取得机器人12与作业设备14的位置关系(第三位置数据γ1)。
85.此外,抵接部44不限于图4所示的方式,例如,只要是形成于作业设备14的孔、凹部、凸部、或者固定工件wp1的工件保持机构(卡盘机构、夹具)等、通过使手前部40(例如,工件wp1)抵接而将该手前部40静止地配置从而能够使该手前部40相对于作业设备坐标系c4的位置ps1以及姿势or1(用户坐标系c3的位置关系)为已知的结构,可以是任意的结构。
86.接下来,参照图7以及图8,对其他实施方式的系统70进行说明。系统70与上述的系统10的不同点在于,还具有示教装置72。示教装置72是所谓的示教器、或者平板式终端装置等计算机,以能够通过有线或无线进行通信的方式与控制装置16的i/o接口54连接。
87.示教装置72具有处理器(未图示)、存储器(未图示)、显示装置74以及输入装置76。显示装置74具有液晶显示器或有机el显示器等,显示各种数据。输入装置76具有按钮或触摸面板等,受理来自操作员的输入操作。
88.在系统70中,操作员通过操作示教装置72,对机器人12示教将机器人12的手前部40定位为位置ps1以及姿势or1的动作。具体而言,操作员目视确认显示于显示装置74的数据,并且操作输入装置76,由此,将用于使机器人12的手前部40在机器人坐标系c1中进行点动动作的输入数据输入到输入装置76。
89.示教装置72根据向输入装置76的输入数据,生成用于使机器人12进行点动动作的示教指令tc,发送给控制装置16的i/o接口54。控制装置16的处理器50通过i/o接口54受理示教指令tc。
90.这样,在本实施方式中,处理器50作为受理示教指令tc的示教指令受理部78(图8)发挥功能。处理器50根据所受理的示教指令tc,生成对机器人12的各伺服电动机38的指令,由此使机器人12的手前部40进行点动(jog)动作。
91.操作员操作示教装置72的输入装置76,直至使末端执行器26在规定的把持位置把持的工件wp1与抵接部44抵接为止,处理器50根据来自示教装置72的示教指令tc使机器人12的手前部40进行点动动作。
92.其结果,以工件wp1的底面b1与作业设备14的面42面接触,工件wp1的侧面b5与抵接部44的内表面46a面接触,且工件wp1的侧面b4与抵接部44的内表面48a面接触的方式,手前部40(工件wp1)与抵接部44抵接而定位为位置ps1及姿势or1。这样,处理器50作为使机器人12动作的机器人控制部79(图8)发挥功能,以便通过使手前部40(具体而言,工件wp1)与抵接部44抵接而将该手前部40定位为位置ps1以及姿势or1。
93.如上所述,在本实施方式中,装置60具有位置数据取得部62、位置关系取得部64、示教指令受理部78以及机器人控制部79,处理器50作为装置60的位置数据取得部62、位置关系取得部64、示教指令受理部78以及机器人控制部79发挥功能。
94.根据本实施方式,操作员确认实际的手前部40及抵接部44的配置,并且操作示教装置72来对机器人12进行示教,由此,能够将手前部40定位为位置ps1及姿势or1。由此,能够缩短将手前部40定位为位置ps1以及姿势or1的动作所需的时间。
95.接下来,参照图9,对另外其他实施方式的系统80进行说明。系统80与上述的系统70的不同点在于,代替示教装置72而具有力传感器82。作为一例,力传感器82具有分别设置于机器人12的伺服电动机38的多个转矩传感器。该情况下,力传感器82检测施加于各伺服电动机38的驱动轴的转矩t作为检测数据df。
96.作为其他例,力传感器82设置于机器人12的机器人基座18、旋转体20、下臂部30、上臂部32或手腕部24,具有6轴力觉传感器,该6轴力觉传感器具有多个应变仪。该情况下,力传感器82检测作用于机器人12的力f作为检测数据df。此外,力传感器82也可以是基于副编码器(secondary encoder)的转矩检测方式的力传感器、或者静电电容式的力觉传感器等任意类型的力传感器。
97.处理器50根据力传感器82的检测数据df(即,转矩t或力f),确定施加于机器人12的外力ef的大小及方向、被施加了该外力ef的机器人12的部位(旋转体20、下臂部30、上臂部32、手腕部24、手前部40)。
98.并且,处理器50根据施加于机器人12的任意部位的外力ef,使该机器人12的该部位向外力ef的方向移动。利用该功能,操作员对机器人12示教使机器人12的手前部40与抵接部44抵接而定位为位置ps1及姿势or1的动作(所谓的直接示教)。
99.具体而言,操作员在将基于控制装置16的机器人12的动作模式切换为示教模式之后,对机器人12的任意部位(例如手前部40)施加示教用的外力ef
t
。于是,力传感器82检测外力ef
t
作为检测数据df
t
,供给至处理器50。
100.处理器50在向示教模式的切换后,根据力传感器82检测出的检测数据df
t
,确定被施加了外力ef
t
的机器人12的部位(手前部40),并且确定外力ef
t
的大小以及方向。并且,处理器50使确定为被施加了外力ef
t
的机器人12的部位(手前部40)向确定出的外力ef
t
的方向进行点动动作。
101.这样,操作员按照施加于机器人12的任意部位的外力ef
t
使机器人12进行点动动作,对机器人12示教使手前部40与抵接部44抵接而定位为位置ps1和姿势or1的动作。即,在本实施方式中,处理器50将在施加了外力ef
t
时力传感器82检测到的检测数据df
t
设为示教
指令,根据该检测数据df
t
使机器人12进行点动动作。
102.因此,检测数据df
t
构成示教指令(具体而言,用于根据外力ef
t
使手前部40移动的直接示教指令),处理器50作为受理该示教指令(检测数据df
t
)的示教指令受理部78、以及使机器人12动作的机器人控制部79发挥功能。此外,在示教模式中,处理器50也可以根据从检测数据df
t
确定出的外力ef
t
的大小,变更使机器人12的部位进行点动动作的移动距离或者移动速度(例如,与外力ef
t
的大小成比例地增加)。
103.此外,上述的直接示教包含不使用力传感器82,例如通过对操作部(操纵杆(joystick)等)进行操作来赋予针对伺服电动机38的动作指令的示教。该情况下,对伺服电动机38的动作指令构成示教指令(直接示教指令)。或者,操作员也能够在将该机器人12保持为不对机器人12的各轴施加转矩的状态时,对机器人12的部位(例如,下臂部30、上臂部32或者手前部40)施加外力ef
t
,通过该ef
t
手动地使该部位移动,由此,执行直接示教。
104.接下来,参照图10以及图11,对另外其他实施方式的系统90进行说明。系统90与上述的系统10的不同点在于,还具有接触检测传感器92。接触检测传感器92检测手前部40与抵接部44接触的情况。
105.具体而言,接触检测传感器92具有:第一传感器元件94、第二传感器元件96以及第三传感器元件98。第一传感器元件94、第二传感器元件96以及第三传感器元件98分别例如是接近传感器(静电电容式接近传感器、接近开关等)、测距传感器、压力传感器、压电元件、或者应变仪等,检测物体的接近或者接触。第一传感器元件94设置于作业设备14的面42。另外,第二传感器元件96设置于抵接部44的内表面46a,另一方面,第三传感器元件98设置于抵接部44的内表面48a。
106.如图6所示,在手前部40与抵接部44抵接而配置为规定的位置ps1以及姿势or1时,第一传感器元件94的检测数据da为表示工件wp1的底面b1与面42的面接触的值da0,第二传感器元件96的检测数据db为表示工件wp1的侧面b5与抵接部44的内表面46a的面接触的值db0,第三传感器元件98的检测数据dc为表示工件wp1的侧面b4与抵接部44的内表面48a的面接触的值dc0。
107.换言之,在第一传感器元件94检测到检测数据da0,第二传感器元件96检测到检测数据db0,且第三传感器元件98检测到检测数据dc0的情况下,能够视为手前部40与抵接部44抵接而配置为位置ps1以及姿势or1。
108.接着,参照图12,对系统90的功能进行说明。图12所示的流程在处理器50从操作员、上位控制器或计算机程序受理了位置关系取得指令时开始。在图12所示的流程开始时,机器人12的手前部40在规定的把持位置把持工件wp1。
109.在步骤s1中,处理器50作为机器人控制部79发挥功能使机器人12动作,将手前部40配置为预先决定的初始位置ps0及初始姿势or0。例如,初始位置ps0能够由操作员确定为将手前部40的工件wp1配置于抵接部44的附近的位置。
110.另外,初始姿势or0能够由操作员根据机器人12以及作业设备14的设计尺寸(cad数据)等确定为如下姿势:推定为用户坐标系c3的z轴方向与作业设备14的面42大致正交,推定为用户坐标系c3的y轴方向与抵接部44的内表面46a大致正交,且推定为用户坐标系c3的x轴方向与抵接部44的内表面48a大致正交。此外,该初始位置ps0以及初始姿势or0也可以通过对机器人12示教将工件wp1配置于抵接部44的附近的动作来确定。
111.在步骤s2中,处理器50使机器人12动作,使手前部40沿着第一轴移动。例如,处理器50使手前部40从初始位置ps0及初始姿势or0向用户坐标系c3的z轴方向(即,推定为与面42正交的方向)移动。
112.在步骤s3中,处理器50判定在该时间点第一传感器元件94检测出的检测数据da是否收敛于预先决定的允许范围[da
th1
,da
th2
]内。划定该允许范围[da
th1
,da
th2
]的阈值da
th1
以及da
th2
能够以上述的值da0为基准(例如,以包含值da0的方式),由操作员预先决定。
[0113]
处理器50在检测数据da为允许范围内(即,da
th1
≤da≤da
th2
)的情况下判定为“是”,前进到步骤s4,另一方面,在检测数据da为允许范围外(即,da<da
th1
,或者,da>da
th2
)的情况下判定为“否”,返回到步骤s2。
[0114]
这样,处理器50循环进行步骤s2以及s3,直到在步骤s3中判定为“是”为止。在步骤s3中判定为“是”时,能够视为工件wp1的底面b1与面42面接触。此外,处理器50也可以在每次执行步骤s2时,将在该步骤s2中使手前部40移动的方向作为能够使检测数据da接近允许范围的方向,从用户坐标系c3的z轴正方向以及z轴负方向中决定。
[0115]
例如,在第n次的步骤s3中使用的检测数据dan与在第n-1次的步骤s3中取得的检测数据da
n-1
相比,小于阈值da
th1
或者大于阈值da
th2
的情况下,也可以使在第n 1次执行的步骤s2中使手前部40移动的方向从在第n次执行的步骤s2中使手前部40移动的方向反转。根据该结构,能够使检测数据da更迅速地收敛于允许范围内。
[0116]
此外,处理器50也可以在步骤s2中,根据最近取得的检测数据da来使手前部40的姿势变化。例如,处理器50通过使手前部40向用户坐标系c3的绕x轴、y轴或z轴的方向转动,能够使该手前部40的姿势变化。
[0117]
该情况下,处理器50也可以将使手前部40移动的方向作为能够使检测数据da接近允许范围的方向(例如,使工件wp1的底面b1与面42平行的方向),从用户坐标系c3的绕x轴、y轴或z轴的方向中决定。
[0118]
在步骤s4中,处理器50使机器人12动作,使手前部40沿着第二轴移动。例如,处理器50使手前部40从在步骤s3中判定为“是”的时间点的位置以及姿势,向用户坐标系c3的y轴方向(即,推定为与内表面46a正交的方向)移动。
[0119]
在步骤s5中,处理器50判定在该时间点第二传感器元件96检测出的检测数据db是否收敛于预先决定的允许范围[db
th1
,db
th2
]内。划定该允许范围[db
th1
,db
th2
]的阈值db
th1
以及db
th2
能够以上述的值db0为基准(例如,以包含值db0的方式),由操作员预先决定。
[0120]
处理器50在检测数据db为允许范围内(即,db
th1
≤db≤db
th2
)的情况下判定为“是”,前进到步骤s6,另一方面,在检测数据db为允许范围外(即,db<db
th1
,或者,db>db
th2
)的情况下判定为“否”,返回到步骤s4。
[0121]
这样,处理器50循环进行步骤s4以及s5,直到在步骤s5中判定为“是”为止。在步骤s5中判定为“是”时,能够视为工件wp1的侧面b5与内表面46a面接触。此外,处理器50也可以在每次执行步骤s4时,将在该步骤s4中使手前部40移动的方向作为能够使检测数据db接近允许范围的方向,从用户坐标系c3的y轴正方向以及y轴负方向中决定。
[0122]
另外,处理器50也可以在步骤s4中,根据最近取得的检测数据db使手前部40的姿势变化。该情况下,处理器50也可以将使手前部40移动的方向作为能够使检测数据db接近允许范围的方向(例如,使工件wp1的侧面b5与抵接部44的内表面46a平行的方向),从用户
坐标系c3的绕x轴、y轴或z轴的方向中决定。
[0123]
在步骤s6中,处理器50使机器人12动作,使手前部40沿着第三轴移动。例如,处理器50使手前部40根据在步骤s5中判定为“是”的时间点的位置以及姿势,向用户坐标系c3的x轴方向(即,推定为与内表面48a正交的方向)移动。
[0124]
在步骤s7中,处理器50判定在该时间点第三传感器元件98检测出的检测数据dc是否收敛于预先决定的允许范围[dc
th1
,dc
th2
]内。划定该允许范围[dc
th1
,dc
th2
]的阈值dc
th1
和dc
th2
能够以上述的值dc0为基准(例如,以包含值dc0的方式),由操作员预先决定。
[0125]
处理器50在检测数据dc为允许范围内(即,dc
th1
≤dc≤dc
th2
)的情况下判定为“是”,前进到步骤s8,另一方面,在检测数据db为允许范围外(即,dc<dc
th1
,或者,dc>dc
th2
)的情况下判定为“否”,返回到步骤s6。这样,处理器50循环进行步骤s6以及s7,直到在步骤s7中判定为“是”为止。
[0126]
在步骤s7中判定为“是”时,能够视为工件wp1的侧面b4与抵接部44的内表面48a面接触。此外,处理器50也可以在每次执行步骤s6时,将在该步骤s6中使手前部40移动的方向作为能够使检测数据dc接近允许范围的方向,从用户坐标系c3的x轴正方向以及x轴负方向中决定。
[0127]
另外,处理器50也可以在步骤s6中,根据最近取得的检测数据dc使手前部40的姿势变化。该情况下,处理器50也可以将使手前部40移动的方向作为能够使检测数据dc接近允许范围的方向(例如,使工件wp1的侧面b4与抵接部44的内表面48a平行的方向),从用户坐标系c3的绕x轴、y轴或z轴的方向中决定。
[0128]
这样,处理器50根据接触检测传感器92的检测数据da、db及dc执行步骤s2~s7,从而能够自动地进行使手前部40如图6所示那样与抵接部44抵接而定位为位置ps1及姿势or1的动作。
[0129]
在步骤s8中,处理器50作为位置数据取得部62发挥功能,与上述的实施方式一样地,取得第一位置数据α1以及第二位置数据β1。然后,在步骤s9中,处理器50作为位置关系取得部64发挥功能,与上述的实施方式同样地取得第三位置数据γ1。
[0130]
如上所述,在本实施方式中,处理器50作为机器人控制部79发挥功能,自动执行使手前部40与抵接部44抵接而定位为位置ps1及姿势or1的动作。根据该结构,能够使取得第三位置数据γ1的过程自动化,因此,能够实现该过程的简化和迅速化。
[0131]
另外,在本实施方式中,系统90具有检测手前部40与抵接部44接触的接触检测传感器92。根据该结构,能够自动且高精度地检测手前部40与抵接部44的适当的接触,因此,能够自动且高精度地执行将手前部40定位为位置ps1以及姿势or1的动作。另外,能够以比较简单的算法使图12所示的流程自动化。
[0132]
此外,接触检测传感器92也可以设置于机器人12。例如,也可以将第一传感器元件94设置于构成手前部40的工件wp1的底面b1,将第二传感器元件96设置于该工件wp1的侧面b5,将第三传感器元件98设置于该工件wp1的侧面b4。该情况下,处理器50也能够通过执行图12中的步骤s1~s7,使手前部40适当地与抵接部44抵接而定位为位置ps1以及姿势or1。
[0133]
取而代之,接触检测传感器92也能够由上述的力传感器82构成。具体而言,处理器50根据在执行图12中的步骤s2时力传感器82检测出的检测数据df
s2
,求出从作业设备14的面42施加于手前部40的外力ef
s2
的大小:|ef
s2
|。
[0134]
然后,处理器50在步骤s3中判定|ef
s2
|是否收敛于预先决定的允许范围[ef
s2_th1
,f
s2_th2
]内。该允许范围[ef
s2_th1
,f
s2_th2
]能够以工件wp1的底面b1与面42适当地面接触时力传感器82检测出的外力ef
s2
的大小为基准来决定。
[0135]
同样地,处理器50能够根据在执行图12中的步骤s4时力传感器82检测出的检测数据df
s4
,求出从抵接部44的内表面46a施加于手前部40的外力ef
s4
的大小:|ef
s4
|。然后,处理器50在步骤s5中判定|ef
s4
|是否收敛于预先决定的允许范围[ef
s4_th1
,f
s4_th2
]内。
[0136]
另外,处理器50能够根据在执行图12中的步骤s6时力传感器82检测出的检测数据df
s6
,求出从抵接部44的内表面46a施加于手前部40的外力ef
s6
的大小:|ef
s6
|。然后,处理器50在步骤s5中判定|ef
s6
|是否收敛于预先决定的允许范围[ef
s6_th1
,f
s6_th2
]内。在该方式中,设置于机器人12的力传感器82作为检测手前部40与抵接部44接触的接触检测传感器92发挥功能。
[0137]
接下来,参照图13,对另外其他实施方式的系统100进行说明。系统100与上述的系统10的不同点在于,还具有设计辅助装置102。设计辅助装置102具有cad装置104以及cam装置106。cad装置104根据来自操作员的输入,制作将图1所示的机器人12模型化后的机器人模型102m、以及将作业设备14模型化后的作业设备模型14m的图形数据(三维cad数据)。
[0138]
此外,在以下的说明中,在实际空间中的部件的名称为“xx”的情况下,将其构成要素的模型称为“xx模型”。因此,机器人模型102m具有:机器人基座模型18m、旋转体模型20m、机械臂模型22m(下臂部模型30m、上臂部模型32m)、手腕部模型24m以及末端执行器模型26m。
[0139]
cam装置106根据cad装置104制作出的图形数据,制作机器人12或作业设备14的动作程序op。具体而言,cam装置106根据来自操作员的输入,将机器人模型102m以及作业设备模型14m与机器人坐标系c1以及作业设备坐标系c4一起配置在虚拟空间内。此时,机器人模型102m和作业设备模型14m在虚拟空间中配置于设计尺寸上的相对位置rp1。
[0140]
然后,cam装置106在虚拟空间中通过模拟来执行如下动作:通过机器人模型102m的动作,使末端执行器模型26m在规定的把持位置把持的工件模型wm与设置于作业设备模型14m的抵接部模型44m模拟地抵接,将手手前部模型40m定位为规定的位置ps
1_v
和姿势or
1_v
。手前部模型40m被模拟地配置为位置ps
1_v
及姿势or
1_v
时的、机器人坐标系c1中的用户坐标系c3的坐标d
1_v
(x
1_v
,y
1_v
,z
1_v
,w
1_v
,p
1_v
,r
1_v
)是能够通过模拟而已知的。
[0141]
通过该模拟,cam装置106制作执行将手前部模型40m定位为位置ps
1_v
以及姿势or
1_v
的动作的动作程序op1。动作程序op1包含使手前部模型40m向位置ps
1_v
以及姿势or
1_v
移动时的成为该手前部模型40m(具体而言,mif坐标系c2的原点)的通过点的多个示教点tpn(n=1、2、3、
…
、n
max
)、以及2个示教点tpn和tp
n 1
之间的移动路径。
[0142]
此外,多个示教点tpn中的最后的示教点tp
nmax
也可以规定用于将手前部模型40m定位为位置ps
1_v
以及姿势or
1_v
的该手前部模型40m(mif坐标系c2的原点)的位置。将制作出的动作程序op1储存在存储器52中。
[0143]
在此,在实际空间中,在构建了以与设计上的相对位置rp1对应的方式配置有机器人12以及作业设备14的系统100的情况下,在设计上的相对位置rp1与实际空间中的机器人12和作业设备14的相对位置rp2之间可能产生差(换言之,可能产生从相对位置rp1向相对位置rp2的变化)。该情况下,在实际空间中,即使按照通过模拟制作出的动作程序op1使机
器人12动作,也可能无法使手前部40适当地与抵接部44抵接而准确地定位为位置ps1以及姿势or1。
[0144]
因此,在本实施方式中,处理器50取得表示相对位置rp1与相对位置rp2之差的位移数据,使用该位移数据来校正动作程序op1。具体而言,在实际空间中构建了系统100之后,处理器50作为位置数据取得部62发挥功能,与上述的实施方式同样地,取得相对位置rp2处的第一位置数据α1。例如,处理器50取得坐标d1(x1,y1,z1,w1,p1,r1)作为第一位置数据α1。
[0145]
另一方面,处理器50取得在上述的模拟中在相对位置rp1取得的坐标d
1_v
(x
1_v
,y
1_v
,z
1_v
,w
1_v
,p
1_v
,r
1_v
)。然后,处理器50取得坐标d1与坐标d
1_v
之差δ
d1
=d1﹣d
1_v
作为表示相对位置rp1与相对位置rp2之差的位移数据δ
d1
。这样,在本实施方式中,处理器50作为位移数据取得部108发挥功能,该位移数据取得部108根据在相对位置rp变化之前(即,相对位置rp1)和之后(即,相对位置rp2)取得的第一位置数据α1(坐标d1、d
1_v
)来取得位移数据δ
d1
。
[0146]
接着,处理器50使用所取得的位移数据δ
d1
来校正动作程序op1。例如,处理器50通过位移数据δ
d1
对动作程序op1所规定的示教点tpn(例如,最后的示教点tp
nmax
)进行校正,由此,制作新的动作程序op2。
[0147]
这样,在本实施方式中,处理器50作为使用位移数据δ
d1
来校正动作程序op1的校正部110发挥功能。之后,处理器50与上述的实施方式同样地,作为位置数据取得部62发挥功能而取得第二位置数据β1,作为位置关系取得部64发挥功能而取得第三位置数据γ1。
[0148]
如上所述,在本实施方式中,装置60具有:位置数据取得部62、位置关系取得部64、位移数据取得部108以及校正部110,处理器50作为装置60的位置数据取得部62、位置关系取得部64、位移数据取得部108以及校正部110发挥功能。
[0149]
根据本实施方式,能够制作用于使机器人12执行如下动作的动作程序op2:对通过模拟制作出的动作程序op1的数据的一部分(例如,示教点tpn)进行校正,另一方面,利用该动作程序op1的数据的其他部分,在实际空间中将手前部40定位为位置ps1以及姿势or1。因此,能够大幅减少制作实际空间用的动作程序op2的作业。
[0150]
此外,在系统100中,处理器50也能够使用第二位置数据β1来取得位移数据。具体而言,处理器50取得在上述的模拟中将手前部模型40m模拟地配置为位置ps
1_v
以及姿势or
1_v
时的、作业坐标系c4中的用户坐标系c3的坐标e
1_v
(x
1_v
,y
1_v
,z
1_v
,w
1_v
,p
1_v
,r
1_v
)。
[0151]
在实际空间中构建了系统100之后,处理器50与上述的实施方式同样地作为位置数据取得部62发挥功能,取得作为第二位置数据β1的上述的坐标e1(x1,y1,z1,w1,p1,r1)。并且,处理器50作为位移数据取得部108发挥功能,取得坐标e1与坐标e
1_v
之差δ
e1
=e1﹣e
1_v
作为表示相对位置rp1与相对位置rp2之差的位移数据。并且,处理器50作为校正部110发挥功能,使用位移数据δ
e1
来校正动作程序op1。
[0152]
另外,在系统100中,处理器50也能够使用第三位置数据γ1来取得位移数据。具体而言,处理器50取得cam装置106为了模拟而配置在虚拟空间中的机器人坐标系c1中的作业设备坐标系c4的坐标d
2_v
(x
2_v
,y
2_v
,z
2_v
,w
2_v
,p
2_v
,r
2_v
)。
[0153]
在实际空间中构建了系统100之后,处理器50与上述的实施方式同样地作为位置关系取得部64发挥功能,取得作为第三位置数据γ1的上述的坐标d2(x2,y2,z2,w2,p2,r2)。并
且,处理器50作为位移数据取得部108发挥功能,取得坐标d2与坐标d
2_v
之差δ
d2
=d2﹣d
2_v
作为位移数据。并且,处理器50作为校正部110发挥功能,使用位移数据δ
d2
来校正动作程序op1。
[0154]
同样地,处理器50也能够根据作为第三位置数据γ1的上述坐标e2(x2,y2,z2,w2,p2,r2)和配置于虚拟空间的作业设备坐标系c4中的机器人坐标系c1的坐标e
2_v
(x
2_v
,y
2_v
,z
2_v
,w
2_v
,p
2_v
,r
2_v
),取得位移数据δ
e2
=e2﹣e
2_v
,使用位移数据δ
e2
来校正动作程序op1。
[0155]
此外,也可以在上述系统70中应用位移数据取得部108和校正部110。在图7和图14中表示这样的方式。在图7以及图14所示的系统70’中,装置60具有:位置数据取得部62、位置关系取得部64、示教指令受理部78、机器人控制部79、位移数据取得部108以及校正部110。
[0156]
以下,对系统70’的功能进行说明。首先,操作员在实际空间中构建将机器人12和作业设备14配置于相对位置rp3的系统70’。在该相对位置rp3,操作员操作示教装置72,对机器人12示教使机器人12的手前部40与抵接部44抵接而定位为位置ps
1_3
及姿势or
1_3
的动作。
[0157]
处理器50作为示教指令受理部78发挥功能,接受来自示教装置72的示教指令tc,作为机器人控制部79发挥功能,根据该示教指令tc使机器人12动作,将手前部40定位为位置ps
1_3
及姿势or
1_3
。通过该示教过程,示教装置72(或处理器50)制作执行将手前部40定位为位置ps
1_3
及姿势or
1_3
的动作的动作程序op3。动作程序op3包含使手前部40向位置ps
1_3
及姿势or
1_3
移动时的该手前部40(或mif坐标系c2的原点)的示教点tpn(n=1、2、3、
…
、n
max
)、和2个示教点tpn以及tp
n 1
之间的移动路径。
[0158]
接着,处理器50作为位置数据取得部62发挥功能,取得手前部40配置为位置ps
1_3
及姿势or
1_3
时的机器人坐标系c1中的用户坐标系c3的坐标d
1_3
(x
1_3
,y
1_3
,z
1_3
,w
1_3
,p
1_3
,r
1_3
)作为第一位置数据α
1_3
。另外,处理器50作为位置数据取得部62发挥功能而取得第二位置数据β
1_3
,作为位置关系取得部64发挥功能而取得表示相对位置rp3处的机器人坐标系c1与作业设备坐标系c4的位置关系的第三位置数据γ
1_3
。
[0159]
在此,有时将系统70’移设到其他生产线,或者在系统70’中更换机器人12和作业设备14中的至少一个。该情况下,在系统70’中,机器人12与作业设备14的相对位置能够从移设或者更换前的相对位置rp3向移设或者更换后的相对位置rp4变化。于是,在相对位置rp4,即使按照动作程序op3使机器人12动作,也可能无法使手前部40适当地与抵接部44抵接。
[0160]
因此,操作员在移设或者更换后的相对位置rp4再次操作示教装置72,对机器人12示教使机器人12的手前部40与抵接部44抵接而定位为位置ps
1_4
以及姿势or
1_4
的动作。并且,处理器50作为位置数据取得部62发挥功能,取得手前部40配置为位置ps
1_4
及姿势or
1_4
时的机器人坐标系c1中的用户坐标系c3的坐标d
1_4
(x
1_4
,y
1_4
,z
1_4
,w
1_4
,p
1_4
,r
1_4
)作为第一位置数据α
1_4
。
[0161]
接着,处理器50作为位移数据取得部108发挥功能,取得在相对位置rp3取得的坐标d
1_3
与在相对位置rp4取得的坐标d
1_4
之差δ
d1
=d
1_4
﹣d
1_3
,作为表示相对位置rp3与相对位置rp4之差的位移数据δ
d1
。接着,处理器50作为校正部110发挥功能,使用所取得的位移数据δ
d1
来校正动作程序op3。例如,处理器50通过位移数据δ
d1
对动作程序op3所规定的示教
点tpn(例如,最后的示教点tp
nmax
)进行校正,来制作新的动作程序op4。
[0162]
这样,根据本实施方式,能够对在相对位置rp3制作的动作程序op3的数据的一部分(例如,示教点tpn)进行校正,另一方面,能够利用该动作程序op3的数据的其他部分,制作用于使机器人12在相对位置rp4动作的动作程序op4。因此,能够大幅减少制作动作程序op4的作业。
[0163]
此外,在系统70’中,处理器50不限于位移数据δ
d1
,使用上述的系统100中叙述的方法,取得基于第二位置数据β1的位移数据δ
e1
、或基于第三位置数据γ1的位移数据δ
d2
或δ
e2
,能够使用该位移数据δ
e1
、δ
d2
或δ
e2
来校正动作程序op3。
[0164]
另外,在系统70’中,也能够代替示教装置72而应用上述的系统80的力传感器82,操作员使用与该系统80一样的方法,按照施加于机器人12的外力ef
t
使机器人12动作,由此,对机器人12示教使手前部40与抵接部44抵接而定位的动作。
[0165]
接下来,参照图15和图16,对另外其他实施方式的系统120进行说明。系统120与上述的系统10在以下的结构上不同。具体而言,系统120还具有位置检测传感器122。位置检测传感器122在手前部40配置为规定的位置ps2以及姿势or2时,检测作业设备坐标系c4中的该手前部40的位置。在本实施方式中,位置检测传感器122由接触式探头构成,该接触式探头通过设置于其前端的检测点122a与物体接触来检测该物体。
[0166]
另一方面,作业设备14具有:主体部124(图16)、可动部126以及移动机构128。可动部126例如是工件台、工件保持机构(卡盘机构等)或机床的主轴,可动地设置于主体部124。上述的位置检测传感器122以从可动部126向一方向笔直地延展的方式固定设置于该可动部126。
[0167]
移动机构128例如具有滚珠丝杠机构和驱动该滚珠丝杠机构的伺服电动机(均未图示),在来自控制装置16的指令之下,使可动部126向作业设备坐标系c4的x轴、y轴以及z轴方向移动。在可动部126(或位置检测传感器122)设定有移动坐标系c5。移动坐标系c5用于控制作业设备坐标系c4中的可动部126的位置,在作业设备坐标系c4中与可动部126一起移动。
[0168]
具体而言,在使可动部126移动时,处理器50在作业设备坐标系c4中设定移动坐标系c5,以将可动部126定位于由设定的移动坐标系c5规定的位置的方式生成对移动机构128的指令。这样,处理器50能够将可动部126定位于作业设备坐标系c4中的任意的位置。因此,移动坐标系c5相对于作业设备坐标系c4的位置关系(即,原点位置以及各轴的方向)是已知的。
[0169]
另一方面,位置检测传感器122的检测点122a配置于移动坐标系c5中的已知的位置。因此,位置检测传感器122的检测点122a在作业设备坐标系c4中的位置(具体而言,坐标)经由移动坐标系c5而成为已知。
[0170]
接着,对系统120的功能进行说明。首先,处理器50使机器人12动作,将手前部40配置为规定的位置ps2及姿势or2。该位置ps2由操作员预先确定,以便在手前部40配置于该位置ps2时,该手前部40(例如,末端执行器26把持的工件wp1)的至少一部分包含在基于移动机构128的检测点122a的移动范围内。
[0171]
接着,处理器50使移动机构128动作而使位置检测传感器122移动,在该位置检测传感器122的检测点122a,对手前部40的多个位置进行触摸释放(接触)。具体而言,处理器
50使移动机构128动作,通过检测点122a,依次对末端执行器26把持的工件wp1的侧面b4上的3个点pt1、pt2及pt3进行触摸释放。该3个点pt1、pt2以及pt3是以不排列成一条直线的方式分散配置在侧面b4上的点。
[0172]
每当检测点122a触摸释放点pt1、pt2以及pt3时,位置检测传感器122将检测数据dp1、dp2以及dp3向处理器50发送。处理器50分别取得接收到检测数据dp1、dp2以及dp3时的作业设备坐标系c4中的检测点122a的位置(坐标)h1、h2以及h3。根据这些位置h1、h2以及h3,处理器50能够确定作业设备坐标系c4中的侧面b4的位置。
[0173]
接着,处理器50使移动机构128动作而使位置检测传感器122移动,在该位置检测传感器122的检测点122a,依次对与触摸释放了3点的侧面b4正交的工件wp1的侧面b5上的2个点pt4以及pt5进行触摸释放。每当检测点122a触摸释放(touch up)点pt4以及pt5时,位置检测传感器122将检测数据dp4以及dp5向处理器50发送。
[0174]
处理器50分别取得接收到检测数据dp4以及dp5时的作业设备坐标系c4中的检测点122a的位置(坐标)h4以及h5。根据这些位置h4以及h3,处理器50能够确定作业设备坐标系c4中的侧面b5的位置。
[0175]
接着,处理器50使移动机构128动作而使位置检测传感器122移动,在检测点122a,对与触摸释放了3点的侧面b4以及触摸释放了2点的侧面b5正交的、工件wp1的底面b1上的1个点pt6进行触摸释放。在检测点122a触摸释放了点pt6时,位置检测传感器122向处理器50发送检测数据dp6。处理器50取得接收到检测数据dp6时的作业设备坐标系c4中的检测点122a的位置(坐标)h6。根据该位置h6,处理器50能够确定作业设备坐标系c4中的底面b1的位置。
[0176]
这样,处理器50能够根据检测数据dp1~dp6来确定作业设备坐标系c4中的侧面b4及b5、以及底面b1的位置,因此,能够确定作业设备坐标系c4中的工件wp1(手前部40)的位置及姿势(即,用户坐标系c3的原点位置及各轴的方向)。
[0177]
此时的作业设备坐标系c4中的用户坐标系c3的坐标能够表示为已知的坐标e3(x3,y3,z3,w3,p3,r3)。另外,从作业设备坐标系c4向用户坐标系c3的坐标变换矩阵m43
_2
为已知的齐次变换矩阵,该坐标变换矩阵m43
_2
的各参数根据坐标e3(x3,y3,z3,w3,p3,r3)确定。这样,作业设备坐标系c4与用户坐标系c3的位置关系是已知的。
[0178]
并且,处理器50作为位置数据取得部62发挥功能,取得表示将手前部40配置为位置ps2及姿势or2时的作业设备坐标系c4中的该位置ps2及姿势or2的第二位置数据β2。例如,处理器50取得上述的坐标变换矩阵m43
_2
作为第二位置数据β2。
[0179]
另一方面,处理器50取得表示将手前部40配置为位置ps2及姿势or2时的机器人坐标系c1中的该位置ps2及姿势or2的第一位置数据α2。在此,在手前部40配置为位置ps2以及姿势or2时,机器人坐标系c1中的用户坐标系c3的坐标表示为已知的坐标d3(x3,y3,z3,w3,p3,r3),此时的从机器人坐标系c1向用户坐标系c3的坐标变换矩阵m13_2的各参数能够根据坐标d3(x3,y3,z3,w3,p3,r3)求出。例如,处理器50取得坐标变换矩阵m13
_2
作为第一位置数据α2。
[0180]
接下来,处理器50使用所取得的第一位置数据α2以及第二位置数据β2,取得表示机器人坐标系c1与作业设备坐标系c4的位置关系的第三位置数据γ2。例如,处理器50取得从机器人坐标系c1向作业设备坐标系c4的坐标变换矩阵m14
_2
作为第三位置数据γ2。具体而
言,处理器50能够使用作为第一位置数据α2的坐标变换矩阵m13
_2
和作为第二位置数据β2的坐标变换矩阵m43
_2
,根据式子m14
_2
=m13
_2
·
inv(m43
_2
),通过运算求出坐标变换矩阵m14
_2
。
[0181]
如上所述,在本实施方式中,处理器50根据检测手前部40(具体而言,工件wp1)在作业设备坐标系c中的位置的位置检测传感器122的检测数据dp1~dp6,取得第二位置数据β2。根据该结构,能够在不使用上述的抵接部44的情况下,使手前部40相对于作业设备坐标系c4的位置以及姿势(即,用户坐标系c3的位置关系)已知。
[0182]
另外,在本实施方式中,位置检测传感器122由接触式探头构成,通过移动机构128移动而与配置为规定的位置ps2以及姿势or2的手前部40(工件wp1)接触,由此,检测作业设备坐标系c4中的手前部40的位置。
[0183]
根据该结构,在作业设备14具有定位精度高的移动机构128的情况下,能够通过位置检测传感器122高精度地检测手前部40的位置,因此,能够提高第二位置数据β2的精度。另外,也能够使取得第二位置数据β2的过程自动化。
[0184]
此外,在本实施方式中,对处理器50通过位置检测传感器122对工件w的侧面b4、侧面b5以及底面b1进行触摸释放的情况进行了叙述。然而,并不限定于此,处理器50也可以通过位置检测传感器122使手前部40的任意面(例如,相互正交的爪部36的3个面)触摸释放。
[0185]
另外,位置检测传感器122也可以代替上述的接触式探头(或在接触式探头的基础上)而具有拍摄手前部40(工件wp1)的图像数据的视觉传感器(三维视觉传感器或二维照相机)。若作业设备坐标系c4中的视觉传感器的位置及姿势是已知的,则处理器50能够根据视觉传感器拍摄到的图像数据(检测数据)来确定作业设备坐标系c4中的手前部40(工件wp1)的位置及姿势(即,用户坐标系c3的原点位置及各轴的方向)。
[0186]
另外,在系统120中,处理器50也可以与上述的系统10同样地取得上述的坐标d3(x3,y3,z3,w3,p3,r3)、将手前部40配置为位置ps2以及姿势or2时的从用户坐标系c3向机器人坐标系c1的坐标变换矩阵m31
_2
、或者用户坐标系c3中的机器人坐标系c1的坐标d3’
(x3’
,y3’
,z3’
,w3’
,p3’
,r3’
)作为第一位置数据α2。
[0187]
另外,与上述的系统10同样地,处理器50也可以取得上述的坐标e3(x3,y3,z3,w3,p3,r3)、将手前部40配置为位置ps2和姿势or2时的从用户坐标系c3向作业设备坐标系c4的坐标变换矩阵m34
_2
、或者用户坐标系c3中的作业设备坐标系c4的坐标e3’
(x3’
,y3’
,z3’
,w3’
,p3’
,r3’
)作为第二位置数据β2。
[0188]
另外,与上述的系统10同样地,处理器50也可以取得机器人坐标系c1中的作业设备坐标系c4的坐标d4(x4,y4,z4,w4,p4,r4)、从作业设备坐标系c4向机器人坐标系c1的坐标变换矩阵m41
_2
、或者作业设备坐标系c4中的机器人坐标系c1的坐标e4(x4,y4,z4,w4,p4,r4)作为第三位置数据γ2。
[0189]
另外,也可以将图7所示的示教装置72或图9所示的力传感器82应用于系统120,操作员对机器人12示教将手前部40定位为规定的位置ps2及姿势or2的动作。该情况下,系统120的处理器50作为上述的示教指令受理部78、以及以将手前部40定位为位置ps2以及姿势or2的方式使机器人12动作的机器人控制部79发挥功能。
[0190]
接下来,参照图17~图22对另外其他实施方式的系统130进行说明。系统130具有:机器人132、作业设备134以及控制装置16。控制装置16控制机器人132以及作业设备134的
动作。另外,与上述的实施方式同样地,对机器人132以及作业设备134分别设定机器人坐标系c1以及作业设备坐标系c4。
[0191]
机器人132与上述的机器人12的不同点在于末端执行器136。末端执行器136是能够把持工件wp2的机械手,以能够装卸的方式安装于手腕部24的前端部(手腕凸缘)。作为一例,末端执行器136具有能够开闭的多个爪部和驱动该爪部的爪驱动部(均未图示)。作为另一例,末端执行器136也可以具有能够吸附工件wp2的吸附部(负压产生装置、电磁铁或吸盘等),通过吸附该工件wp2来进行把持。
[0192]
如图20所示,在本实施方式中,工件wp2具有圆柱状(或圆筒状)的主体部wa和从该主体部wa突出的四棱柱状的突出部wb。更具体而言,主体部wa具有分别为大致平面的一对端面j1以及j2、在该端面j1以及j2之间延展的圆筒状的外周面j3。
[0193]
突出部wb形成于主体部wa的端面j2。更具体而言,突出部wb具有分别大致平面的底面b6、侧面b7、b8、b9以及b10。侧面b7及b8相互平行地对置配置,与底面b6正交。另外,侧面b9以及b10相互平行地对置配置,与底面b6、侧面b7以及b8正交。
[0194]
末端执行器136通过把持主体部wa的预先决定的位置,而在规定的把持位置把持工件wp2。如图17、图19以及图22所示,末端执行器136在规定的把持位置把持的工件wp2能够视为与该末端执行器136一体的工件,换言之,能够视为该末端执行器136的一部分。因此,手腕部24的前端部(手腕凸缘)、末端执行器136、以及该末端执行器136在规定的把持位置把持的工件wp2构成机器人132的手前部140。
[0195]
针对末端执行器136在规定的把持位置把持的工件wp2,设定用户坐标系c3。在本实施方式中,用户坐标系c3以其原点配置于末端执行器26把持的工件wp2的底面b6(图20)的中心点,其x-z平面与末端执行器26把持的工件wp2的底面b6平行,且其y-z平面与末端执行器26把持的工件wp2的侧面b7及b8平行的方式,对工件wp2进行设定。
[0196]
如上所述,末端执行器136在规定的把持位置把持的工件wp2能够视为与该末端执行器136一体的工件(即,末端执行器136的一部分),因此,如果该把持位置和工件wp2的形状是已知的,则对末端执行器136把持的工件wp2设定的用户坐标系c3相对于mif坐标系c2的位置关系(原点位置和各轴的方向)成为已知。
[0197]
因此,用户坐标系c3相对于机器人坐标系c1的位置关系经由mif坐标系c2成为已知。因此,与上述的实施方式同样地,用户坐标系c3相对于机器人坐标系c1的位置关系表示为机器人坐标系c1的坐标d(x,y,z,w,p,r),另外,从机器人坐标系c1向用户坐标系c3的坐标变换矩阵m13(及其逆变换矩阵:m31)成为已知的齐次变换矩阵。
[0198]
作业设备134例如是机床,具有:主体部142、工件保持机构144以及移动机构146。工件保持机构144可动地设置于主体部142的面148。在本实施方式中,工件保持机构144是卡盘机构。具体而言,如图19、图21以及图22所示,工件保持机构144具有:卡盘基座150、以能够开闭的方式设置于该卡盘基座150的多个卡盘爪152、以及驱动卡盘爪152的卡盘驱动部(未图示)。
[0199]
卡盘基座150是具有中心轴线a2的圆柱状的部件,具有朝向外侧的大致平面的保持面150a。卡盘爪152以相对于轴线a2接近以及背离的方式可动地设置于卡盘基座150。在本实施方式中,共计3个卡盘爪152被配置成在轴线a2的周围大致等间隔地排列。卡盘驱动部例如是气压式或者液压式的缸、或者电动机,在来自控制装置16的指令之下,使卡盘爪
152开闭。在卡盘爪152把持物体时,该物体被保持为与轴线a2同轴。
[0200]
如图21及图22所示,在本实施方式中,使卡盘爪152预先把持抵接部154。抵接部154是圆筒状的部件,具有分别为大致平面的一对端面156及158、在该端面156及158之间延展的圆筒面即外周面160、以及在轴向上贯通抵接部154的贯通孔162。
[0201]
贯通孔162具有与工件wp2的突出部wb相同的外形,如后述那样能够滑动地容纳该突出部wb。更具体而言,贯通孔162由分别为大致平面的内表面162a、162b、162c及162d划定。内表面162a和162b相互平行地对置配置。内表面162c及162d与内表面162a及162b正交,相互平行地对置配置。
[0202]
移动机构146例如具有滚珠丝杠机构和驱动该滚珠丝杠机构的伺服电动机(均未图示),在来自控制装置16的指令之下,使工件保持机构144向作业设备坐标系c4的x轴、y轴及z轴方向移动。对工件保持机构144设定移动坐标系c5。
[0203]
移动坐标系c5用于控制作业设备坐标系c4中的工件保持机构144的位置,在作业设备坐标系c4中与工件保持机构144一起移动。在本实施方式中,移动坐标系c5以其原点配置于轴线a2与保持面150a的交点(即,保持面150a的中心点)且其y轴与保持面150a正交的方式,对工件保持机构144进行设定。
[0204]
在此,在本实施方式中,抵接部154以其内表面162a和162b与移动坐标系c5的y-z平面平行且其内表面162c和162d与移动坐标系c5的x-y平面平行的姿势被卡盘爪152把持。这样,抵接部154以与轴线a2为同轴的方式保持于工件保持机构144,工件保持机构144与抵接部154一体地移动。
[0205]
在使工件保持机构144移动时,处理器50在作业设备坐标系c4中设定移动坐标系c5,以将工件保持机构144定位于由设定的移动坐标系c5规定的位置的方式控制移动机构146。这样,处理器50能够将工件保持机构144定位于作业设备坐标系c4中的任意位置。
[0206]
因此,移动坐标系c5相对于作业设备坐标系c4的位置关系(即,原点位置以及各轴的方向)是已知的,移动坐标系c5表示为作业设备坐标系c4的坐标e(x,y,z,w,p,r)。另外,工件保持机构144及抵接部154相对于移动坐标系c5的位置是已知的。因此,工件保持机构144及抵接部154在作业设备坐标系c4中的位置经由移动坐标系c5而成为已知。
[0207]
接着,对系统130的功能进行说明。首先,作业设备134使移动机构146动作,将工件保持机构144(即,抵接部154)配置于规定的位置psw。此时的作业设备坐标系c4与移动坐标系c5的位置关系如上所述是已知的,作业设备坐标系c4中的移动坐标系c5的坐标表示为坐标e5(x5,y5,z5,w5,p5,r5)。另外,从作业设备坐标系c4向移动坐标系c5的坐标变换矩阵m45
_3
为已知的齐次变换矩阵,该坐标变换矩阵m45
_3
的各参数根据坐标e5(x5,y5,z5,w5,p5,r5)决定。
[0208]
接下来,如图17、图19以及图21所示,机器人132使末端执行器136在规定的把持位置把持的工件wp2与抵接部154抵接。此时,工件wp2的突出部wb嵌入到抵接部154的贯通孔162,突出部wb的底面b6与保持面150a面接触,突出部wb的侧面b7以及b8与抵接部154的内表面162a以及162b分别面接触,且突出部wb的侧面b9以及b10与抵接部154的内表面162c以及162d分别面接触。
[0209]
这样,手前部140相对于作业设备134静止地配置为规定的位置ps3以及姿势or3。此时,能够视为用户坐标系c3与移动坐标系c5相互一致。即,能够视为用户坐标系c3以及移动
坐标系c5的原点位置、以及x轴、y轴和z轴方向相互一致。
[0210]
因此,此时的用户坐标系c3相对于作业设备坐标系c4的位置关系为已知,作业设备坐标系c4中的用户坐标系c3的坐标表示为上述的坐标e5(x5,y5,z5,w5,p5,r5),另外,从作业设备坐标系c4向用户坐标系c3的坐标变换矩阵m43
_3
与上述的坐标变换矩阵m45
_3
相等。
[0211]
这样,通过使手前部140(具体而言为工件wp2)与抵接部154抵接,该手前部140相对于作业设备134静止地配置为规定的位置ps3以及姿势or3,此时的用户坐标系c3相对于作业设备坐标系c4的位置关系(即,手前部140的位置ps3以及姿势or3)为已知。因此,抵接部154作为用于将手前部140的位置ps3以及姿势or3表示于作业设备坐标系c4的要素发挥功能。
[0212]
并且,处理器50作为位置数据取得部62发挥功能,取得将手前部140配置为位置ps3及姿势or3时的、表示作业设备坐标系c4中的该位置ps3及姿势or3的第二位置数据β3。作为一例,处理器50取得上述的坐标e5(x5,y5,z5,w5,p5,r5)或坐标变换矩阵m43
_3
作为第二位置数据β3。
[0213]
作为另一例,处理器50也可以取得将手前部140配置为位置ps3及姿势or3时的从用户坐标系c3向作业设备坐标系c4的坐标变换矩阵m34
_3
=inv(m43
_3
)、或用户坐标系c3中的作业设备坐标系c4的坐标e5’
(x5’
,y5’
,z5’
,w5’
,p5’
,r5’
)作为第二位置数据β3。
[0214]
另一方面,处理器50取得表示将手前部140配置为位置ps3及姿势or3时的机器人坐标系c1中的该位置ps3及姿势or3的第一位置数据α3。作为一例,处理器50取得将手前部140配置为位置ps3及姿势or3时的机器人坐标系c1中的用户坐标系c3的坐标d5(x5,y5,z5,w5,p5,r5)、或从该机器人坐标系c1向该用户坐标系c3的坐标变换矩阵m13
_3
,作为第一位置数据α3。
[0215]
作为另一例,处理器50也可以取得将手前部140配置为位置ps3及姿势or3时的用户坐标系c3中的机器人坐标系c1的坐标d5’
(x5’
,y5’
,z5’
,w5’
,p5’
,r5’
)、或从该用户坐标系c3向该机器人坐标系c1的坐标变换矩阵m31
_3
,作为第一位置数据α3。
[0216]
接下来,处理器50作为位置关系取得部64发挥功能,使用所取得的第一位置数据α3以及第二位置数据β3来取得表示机器人坐标系c1与作业设备坐标系c4的位置关系的第三位置数据γ3。作为一例,处理器50根据式m14
_3
=m13
_3
·
m34
_3
=m13
_3
·
inv(m43
_3
)通过运算来求出从机器人坐标系c1向作业设备坐标系c4的坐标变换矩阵m14
_3
,作为第三位置数据γ3。
[0217]
作为其他例子,处理器50也可以取得从作业设备坐标系c4向机器人坐标系c1的坐标变换矩阵m41
_3
(=inv(m14
_3
))、机器人坐标系c1中的作业设备坐标系c4的坐标d6(x6,y6,z6,w6,p6,r6)、或者作业设备坐标系c4中的机器人坐标系c1的坐标e6(x6,y6,z6,w6,p6,r6)作为第三位置数据γ3。
[0218]
如以上那样,根据本实施方式,处理器50不执行通过手前部140触摸释放设定于作业设备134的多个点的过程,而将手前部140配置为1个位置ps3以及姿势or3,由此,能够取得第三位置数据γ3。由此,能够大幅简化求出机器人坐标系c1与作业设备坐标系c4的位置关系的过程。
[0219]
另外,在系统130中也能够应用上述的接触检测传感器92。例如,将接触检测传感器92的第一传感器元件94设置于工件保持机构144的保持面150a(或工件wp2的底面b6)的
中心部,将第二传感器元件96设置于抵接部154的内表面162a或162b(或工件wp2的侧面b7或b8),将第三传感器元件98设置于抵接部154的内表面162c或162d(或工件wp2的侧面b9或b10)。
[0220]
该情况下,处理器50也可以执行图12所示的流程。例如,处理器50也可以在步骤s1中配置为工件wp2的突出部wb的至少一部分嵌入到抵接部154的贯通孔162那样的初始位置ps0以及初始姿势or0。另外,处理器50也可以在步骤s2中使手前部140向该时间点的用户坐标系c3的y轴方向(即,推定为与保持面150a正交的方向)移动。
[0221]
另外,处理器50也可以在步骤s4中使手前部140向该时间点的用户坐标系c3的x轴方向(即,推定为与内表面162a以及162b正交的方向)移动。另外,处理器50也可以在步骤s6中使手前部140向该时间点的用户坐标系c3的z轴方向(即,推定为与内表面162c以及162d正交的方向)移动。这样,处理器50通过执行图12所示的流程,能够自动地执行使手前部140与抵接部154抵接而定位为规定的位置ps3及姿势or3的动作。
[0222]
此外,上述的位移数据取得部108和校正部110也能够应用于系统130。例如,处理器50在系统130的移设、或者机器人132或作业设备134的更换的前后(或者将模拟应用于实机时),取得第一位置数据α3(例如坐标d5)、或者第二位置数据β3(例如坐标e5)。
[0223]
并且,处理器50也可以作为位移数据取得部108发挥功能,使用与上述的系统100同样的方法,计算在移设或更换的前后取得的2个位置数据之差,由此,取得表示移设或更换前的相对位置rp5与移设或更换后的相对位置rp6之差的位移数据δ。并且,处理器50也可以作为校正部110发挥功能,使用所取得的位移数据δ来校正移设或更换前制作出的动作程序op。
[0224]
此外,上述的位置检测传感器122(接触式探头)也能够应用于系统130。具体而言,将位置检测传感器122固定于作业设备134的工件保持机构144(例如,使卡盘爪152把持)。并且,处理器50使手前部140配置为规定的位置ps4以及姿势or4。
[0225]
接着,处理器50使移动机构146动作而使位置检测传感器122移动,在该位置检测传感器122的检测点122a,对手前部140(工件wp2)的多个位置进行触摸释放(接触)。例如,处理器50使移动机构146动作,通过检测点122a,依次对末端执行器136把持的工件wp2的侧面b7(或b8)上的3个点pt1、pt2及pt3进行触摸释放。
[0226]
接着,处理器50使移动机构146动作,通过检测点122a,依次对末端执行器136把持的工件wp2的侧面b9(或b10)上的2个点pt4及pt5进行触摸释放。接着,处理器50使移动机构146动作,通过检测点122a对末端执行器136把持的工件wp2的底面b6上的1个点p6进行触摸释放。
[0227]
并且,与上述的系统120同样地,处理器50根据每当在检测点122a触摸释放6个点pt1~pt6时从位置检测传感器122受理到的检测数据dp1~dp6,确定作业设备坐标系c4中的工件wp2(手前部140)的位置以及姿势(即,用户坐标系c3的原点位置以及各轴的方向),因此,能够取得第二位置数据β4。
[0228]
这样,在将位置检测传感器122应用于系统130的情况下,处理器50也可以在系统130的移设、或者机器人132或作业设备134的更换的前后(或者将模拟应用于实机时),使用位置检测传感器122来取得第二位置数据β4(例如,作业设备坐标系c4中的用户坐标系c3的坐标e)。
[0229]
并且,处理器50也可以作为位移数据取得部108发挥功能,使用与上述的系统100同样的方法,计算在移设或者更换的前后(或者,将模拟应用于实机时)取得的2个第二位置数据β4之差,来取得表示移设或者更换前的相对位置rp5(或者,模拟执行时的相对位置rp1)与移设或者更换后的相对位置rp6(或者,在实际空间中构建了系统130后的相对位置rp2)之差的位移数据δ
e3
(或者,δ
e1
)。
[0230]
例如,处理器50在移设或更换前(或模拟执行时)的相对位置rp5,取得作业设备坐标系c4中的用户坐标系c3的坐标e7(x7,y7,z7,w7,p7,r7)作为第二位置数据β4,并且在移设或更换后(或在实际空间中构建了系统130之后)的相对位置rp6,取得作业设备坐标系c4中的用户坐标系c3的坐标e8(x8,y8,z8,w8,p8,r8)作为第二位置数据β4。
[0231]
并且,处理器50作为位移数据取得部108发挥功能,取得坐标e7与坐标e8之差δ
e3
=e8﹣e7作为位移数据δ
e3
。并且,处理器50也可以作为校正部110发挥功能,使用所取得的位移数据δ
e3
(=e8﹣e7),对在移设或者更换前(或者模拟执行时)制作出的作业设备134的动作程序op5进行校正。具体而言,处理器50也可以使用取得的位移数据δ,对作业设备134的动作程序op5所规定的上述的位置psw的示教点进行校正,来制作新的动作程序op6。
[0232]
此外,在系统130中对手前部140进行定位的位置ps3以及姿势or3也可以是在实际的制造过程中机器人132对作业设备134进行规定的作业(工件处理等)时的目标位置以及目标姿势。例如,在实际的制造过程中,处理器50使作业设备134的移动机构146动作,将工件保持机构144定位于规定的位置psw。
[0233]
然后,处理器50使机器人132动作,使定位在位置psw的工件保持机构144的卡盘爪152把持末端执行器136在规定的把持位置把持的工件,交接给该工件保持机构144。接着,处理器50使作业设备134动作,通过移动机构146使工件保持机构144保持的工件移动,并且通过工具对该工件进行加工。
[0234]
在工件的加工结束后,处理器50使作业设备134的移动机构146动作,将工件保持机构144再次定位于位置psw,使机器人132动作,利用末端执行器136接收工件保持机构144保持的加工完成工件。
[0235]
在这样的一系列的制造过程中,也可以以机器人132对作业设备134进行工件处理作业(即,向工件保持机构144交接工件、以及从工件保持机构144接收工件)时的目标位置以及目标姿势与上述的规定的位置ps3以及姿势or3一致的方式,设定该规定的位置ps3以及姿势or3。另外,处理器50也可以使用该规定的位置ps3以及姿势or3的位置数据和所取得的第三位置数据γ3,制作使机器人132以及作业设备134协作地执行一系列的制造过程的动作程序op7。
[0236]
根据该结构,能够在将手前部140(末端执行器136)定位为目标位置以及目标姿势的状态下取得第三位置数据γ3,因此,在实际的制造过程中,能够使机器人132高精度地执行对作业设备134的作业(工件处理等)。此外,上述的系统10中的规定的位置ps1以及姿势or1、或者系统120中的规定的位置ps2以及姿势or2也同样地,也可以设定为机器人12对作业设备14进行规定的作业时的目标位置以及目标姿势。
[0237]
此外,在系统130中,也可以省略移动机构146,工件保持机构144固定于作业设备坐标系c4中的已知的位置psw。该情况下,使手前部140的工件wp2与抵接部154抵接时的、用户坐标系c3相对于作业设备坐标系c4的位置关系作为图21所示的位置关系能够设为已知。
[0238]
另外,在从系统130省略了移动机构146的情况下,作业设备134还具有对保持于工件保持机构144的工件进行加工的工具和使该工具相对于工件保持机构144移动的移动机构(均未图示),也可以将上述的位置检测传感器122(接触式探头)相对于该工具固定,通过该移动机构使位置检测传感器122移动。
[0239]
该情况下,处理器50也可以在将机器人132的手前部140定位为规定的位置ps3以及姿势or3的状态下,通过该移动机构使位置检测传感器122移动,在检测点122a触摸释放手前部140的任意的点pt1~pt6,从而取得第二位置数据β4。此时,定位手前部140的位置ps3及姿势or3也可以是上述的目标位置及目标姿势。
[0240]
此外,在系统130中,如图21所示,也可以以相互嵌合的抵接部154与工件wp2的组装体为与在实际的制造过程中成为作业对象的工件wp3相同的形状(尺寸)的方式构成抵接部154和工件wp2。该情况下,与使用在实际的制造过程中使用的工件wp3来取得第三位置数据γ3是同义的,因此,能够进一步提高实际的制造过程中的机器人132的工件处理的精度。
[0241]
另外,在系统130中,也可以代替抵接部154和工件wp2而使用在实际的制造过程中成为作业对象的工件wp3来取得第三位置数据γ3。以下,参照图23及图24,对该功能进行说明。工件wp3是圆柱状的部件,具有一对端面k1和k2以及外周面k3。
[0242]
末端执行器136通过把持工件wp3的预先决定的位置,在规定的把持位置把持该工件wp3。此时,手腕部24的前端部(手腕凸缘)、末端执行器136、以及该末端执行器136在规定的把持位置把持的工件wp3构成机器人132的手前部140’。
[0243]
对末端执行器136在规定的把持位置把持的工件wp3设定用户坐标系c3。在本实施方式中,用户坐标系c3以其原点配置于末端执行器26把持的工件wp3的端面k2的中心点,且其x-z平面与末端执行器26把持的工件wp3的端面k2平行的方式,对工件wp3进行设定。
[0244]
处理器50使机器人132动作,使工件wp3的端面k2与工件保持机构144的保持面150a抵接,并且使卡盘驱动部动作,利用卡盘爪152把持工件wp3。其结果,手前部140’由工件保持机构144保持,静止地定位为规定的位置ps3以及姿势or3。
[0245]
此时,用户坐标系c3的原点配置于保持面150a的中心点(即,移动坐标系c5的原点),用户坐标系c3的y轴为与保持面150a正交的方向。在此,在本实施方式中,处理器50将使工件wp3的端面k2与保持面150a抵接时的手前部140’的姿势维持为作业坐标系c4中的已知的姿势。
[0246]
例如,处理器50将使工件wp3与保持面150a抵接时的手前部140’的姿势维持为用户坐标系c3的z轴正方向与铅垂上方一致的姿势。该情况下,在工件wp3由卡盘爪152把持而手前部140’被定位为位置ps3以及姿势or3时,将该手前部140’的姿势维持为用户坐标系c3的z轴正方向与铅垂上方一致的姿势。
[0247]
另一方面,在作业坐标系c4中,能够确定铅垂上方(例如,作业坐标系c4的z轴正方向),因此,能够确定将手前部140’配置为位置ps3以及姿势or3时的作业坐标系c4中的用户坐标系c3的z轴方向。这样,能够确定作业坐标系c4中的用户坐标系c3的原点位置、y轴方向以及z轴方向,因此,能够使用户坐标系c3相对于作业坐标系c4的位置关系(即,手前部140’的位置以及姿势)已知。
[0248]
根据本实施方式,通过将手前部140’定位为位置ps3及姿势or3时的该手前部140’的姿势决定为作业坐标系c4中的已知的姿势,能够在不使用图21所示的抵接部154及工件
wp2的情况下取得表示作业坐标系c4中的手前部140’的位置及姿势的第二位置数据β3。
[0249]
此外,处理器50可以将使工件wp3与保持面150a抵接时的手前部140’的姿势维持为用户坐标系c3的z轴正方向与在作业坐标系c4中已知的铅垂下方一致的姿势,或者,也可以维持为用户坐标系c3的x轴正方向与在作业坐标系c4中已知的水平方向左方(或右方)一致的姿势。
[0250]
此外,在图23所示的状态下,工件wp3的外周面k3与卡盘爪152抵接,工件wp3的端面k2与保持面150a抵接,由此,手前部140’静止地配置为位置ps3以及姿势or3,由此作业坐标系c4中的手前部140’的位置以及姿势成为已知。因此,在本实施方式中,工件保持机构144的卡盘爪152和保持面150a作为抵接部发挥功能。
[0251]
此外,也可以将图7所示的示教装置72或图9所示的力传感器82应用于系统130,操作员对机器人132示教使手前部140(或140’)与抵接部154(或工件保持机构144)抵接而定位为规定的位置ps3及姿势or3的动作。该情况下,系统130的处理器50作为上述的示教指令受理部78以及机器人控制部79发挥功能。
[0252]
另外,系统130也可以具有:第一控制装置16a,其控制机器人132;以及第二控制装置16b,其以能够通信的方式与该第一控制装置16a连接,控制作业设备134。该情况下,控制装置16a以及16b中的任一方的处理器50可以作为位置数据取得部62以及位置关系取得部64发挥功能,或者,第一控制装置16a的处理器50可以作为位置数据取得部62以及位置关系取得部64中的一方发挥功能,第二控制装置16b的处理器50可以作为位置数据取得部62以及位置关系取得部64中的另一方发挥功能。
[0253]
此外,在上述的系统10、70、70’、80、90、100、120或130中,处理器50也可以按照计算机程序自动地执行取得第一位置数据α、第二位置数据β以及第三位置数据γ的过程。该情况下,该计算机程序使处理器50作为位置数据取得部62以及位置关系取得部64发挥功能。
[0254]
另外,在上述的实施方式中,对末端执行器26以及136是能够把持工件的机械手的情况进行了叙述。然而,不限于此,末端执行器26或136也可以是能够执行规定的作业(例如加工、焊接、涂料涂敷等)的任何类型的末端执行器。
[0255]
另外,在上述的实施方式中,对手腕部24的前端部、末端执行器26、136、以及该末端执行器26、136把持的工件wp1、wp2、wp3构成手前部40、140、140’的情况进行了叙述。然而,末端执行器26、136也可以未必把持工件wp1、wp2、wp3。该情况下,手腕部24的前端部以及末端执行器26、136构成手前部40b、140b。
[0256]
关于手前部40b,例如,在图3所示的末端执行器26中,用户坐标系c3也可以以其原点配置于一方的把持面36a的一顶点,其y-z平面与该一方的把持面36a平行的方式对末端执行器26进行设定。该情况下,也可以通过使末端执行器26的爪部36与抵接部44抵接,而将手前部40b配置为规定的位置以及姿势。该情况下,也能够以与上述的实施方式相同的原理,使用户坐标系c3相对于作业设备坐标系c4的位置关系(手前部40b的位置以及姿势)已知。
[0257]
另外,关于手前部140b,例如,在图19所示的末端执行器136中,用户坐标系c3也可以以其原点配置于把持物体的位置(例如,多个指部之间的位置、或者吸附部的吸附面的中心)且其z轴与手腕轴a1(图1)平行(具体而言,一致)的方式,对末端执行器136进行设定。
[0258]
该情况下,也可以使末端执行器136的任意部位(指部或吸附部)与作为抵接部的工件保持机构144抵接而保持于该工件保持机构144,从而将手前部140b配置为规定的位置及姿势。该情况下,也能够以与上述的实施方式相同的原理,使用户坐标系c3相对于作业设备坐标系c4的位置关系(手前部140b的位置以及姿势)已知。
[0259]
关于手前部40b、140b,也可以将上述的传感器元件94、96、98设置于手腕部24的前端部或末端执行器26、136,使手前部40b、140b与抵接部44、154抵接而定位为规定的位置及姿势。另外,手前部40、140、140’例如可以仅由手腕部24的前端部(手腕凸缘)构成,或者可以定义为机器人12的任何部位。
[0260]
另外,上述的抵接部44、154是用于使机器人12的手前部40、40b、140、140b相对于作业设备坐标系c4的位置ps以及姿势or已知的一例,只要能够使机器人12的手前部40、40b、140、140b相对于作业设备坐标系c4的位置ps以及姿势or已知,则可以具有任何形状。
[0261]
另外,也可以代替抵接部44、154,使手前部40、40b、140、140b与作业设备坐标系c4中的位置已知的机器人12或作业设备14的任意部位(孔、凹部或凸部)抵接,由此,定位为规定的位置ps及姿势or。
[0262]
另外,用户坐标系c3不限于上述的实施方式,也可以设定在相对于mif坐标系c2的位置关系已知的任何位置。例如,在图3所示的方式中,用户坐标系c3的原点也可以设定为工件wp1的顶点f以外的顶点、或者底面b1或顶面b2的中心点。
[0263]
另外,在上述的实施方式中,对处理器50取得表示用户坐标系c3相对于作业设备坐标系c4的位置关系的数据作为第二位置数据β的情况进行了叙述。但是,不限于此,处理器50也可以取得表示mif坐标系c3相对于作业设备坐标系c4的位置关系的数据作为第二位置数据β。如果工件wp1、wp2、wp3的形状和末端执行器26、136把持工件wp1、wp2、wp3的位置是已知的,则能够使用上述的方法,使mif坐标系c3相对于作业设备坐标系c4的位置关系已知。
[0264]
以上,通过实施方式对本公开进行了说明,但上述的实施方式并不限定请求专利保护的范围所涉及的发明。
[0265]
符号说明
[0266]
10、70、70’、80、90、100、120、130系统
[0267]
12、132 机器人
[0268]
14、134 作业设备
[0269]
16 控制装置
[0270]
40、140、140’手前部
[0271]
44、154 抵接部
[0272]
60 装置
[0273]
62 位置数据取得部
[0274]
64 位置关系取得部
[0275]
78 示教指令受理部
[0276]
79 机器人控制部
[0277]
92 接触检测传感器
[0278]
108 位移数据取得部
[0279]
110 校正部
[0280]
122 位置检测传感器。