机器人控制装置以及机器人控制方法

文档序号:2350305阅读:208来源:国知局
机器人控制装置以及机器人控制方法
【专利摘要】为了无论同步驱动过程中的多个机器人处于实际轨迹上的哪个位置,都能够尽可能减小把持工件所承受的负载,机器人控制装置具备:变换矩阵生成单元(200),其基于将第1机器人以及第2机器人定位于同步驱动时的各个轨道上的位置校正完毕的指令值即每个机器人的N个学习用指令值,分别针对N个学习用指令值生成指令值间的变换矩阵;指令值存储单元(100),其将定义主控机器人的轨迹的各个运算周期的第1驱动用指令值输出;变换矩阵函数生成单元(202)以及指令值生成单元(211),它们对所述N个位置关系矩阵进行插补,生成各个所述第1驱动用指令值的变换矩阵;以及指令值生成单元(211),其使插补后的变换矩阵分别作用于所述M个第1驱动用指令值,生成从属机器人的各个运算周期的第2驱动用指令值。
【专利说明】机器人控制装置以及机器人控制方法

【技术领域】
[0001]本发明涉及一种一边使多个机器人在机器人之间同步、一边对多个机器人进行驱动的机器人控制装置以及机器人控制方法。

【背景技术】
[0002]出于有效使用机器人而实施高效生产的目的,当前,在生产系统内安装多台工业用机器人的同时,实施多个作业。特别地,在同时实施多个作业的多个机器人之间,对同一工件进行诸如把持、支撑、组装之类的协调作业成为课题,有时在作业中对工件、机器人彼此施加过大的负载。该过大的负载是由当前的各机器人的把持位置的偏差引起的,具体而言,是与相距不会产生负载的理想把持位置的位置误差相对应而产生的。产生这种负载的位置误差包含各机器人的安装位置误差、由校准误差引起的静态位置误差以及因各机器人的响应延迟而产生的动态位置误差。在由于多个机器人各自的把持位置彼此的位置姿态关系而产生的作用于工件、机器人之间的力超过容许值的情况下,例如能够通过观察电动机的电流值而检测出异常,在检测出异常时,能够使机器人完全地停止。另外,当前,出于减小动作过程中的机器人的相互的位置误差的目的,提出了很多使各动作的基本周期信号的同步精度提闻的技术。
[0003]另一方面,开发有如下技术,S卩,在多个机器人彼此的指尖(终端执行器)的把持位置(指尖位置)的位置姿态关系产生了偏差的情况下,通过力的控制而校正位置姿态。根据该技术,以如下方式进行控制,即,把持位置与产生于指尖的力相对应地受到校正,并移动至指尖所承受的力落入力容许范围内的位置处。在上述位置姿态的校正技术中,能够大致分类为主控/从属方式和阻抗控制方式。主控/从属方式是如下方式,即,将某个机器人作为主机器人(主控机器人),将其他机器人作为从机器人(从属机器人),主控机器人相对于理想的轨迹实施位置控制,其他的从机器人通过力的控制而追随主机器人进行动作。另外,在同步控制方式中,也包含在结构中不包括力的控制的同步控制方式。该主控/从属方式在工业用途中作为不包含力传感器的廉价的结构而使用,预先对主机器人和从机器人的位置关系进行定义,根据与主控的指令值相对应而定义的位置关系对从属的位置指令值进行运算(例如,参照专利文献I)。另外,阻抗控制方式是如下方式,即,根据希望的操作对象物体的轨迹,逆向计算各机器人的轨迹,在将该轨迹设为指令值的情况下,将机器人控制在相对于指尖所承受的力而具有适当的阻抗特性的位置处,从而针对各个机器人进行希望的运动(例如,参照专利文献2)。
[0004]专利文献1:日本特开平7 — 20915号公报
[0005]专利文献2:日本特开平7 - 256580号公报
[0006]专利文献3:日本特开2001 — 216012号公报
[0007]专利文献4:日本特开2011 — 104740号公报
[0008]非专利文献I 有本卓著「口 〃卜O力学i制御」朝倉書店出版1990年”


【发明内容】

[0009]然而,根据上述专利文献1、2的技术,存在如下问题,即,无法将在各机器人的动作中所产生的实际轨迹的位置误差(绝对位置误差)随机器人的位置姿态、动作速度变动的情况考虑在内而生成协调动作用的轨迹。由此,例如有时通过协调控制实施的作业复杂化,有时由于在各机器人之间的各位置姿态中的静态指尖位置误差中出现变动,因此会由于指尖的姿态变更而急剧地产生力。其结果,在针对作业对象物、机械手所容许的力受到限制的情况下,在进行协调的同时实现高速的动作是困难的。
[0010]本发明就是鉴于上述情况而提出的,其目的在于得到一种机器人控制装置以及机器人控制方法,无论协调动作(同步驱动)中的多个机器人处于实际轨迹上的哪个位置,都能够尽可能降低把持工件所承受的负载。
[0011]为了解决上述课题、实现目的,本发明的机器人控制装置,其对第I机器人和与所述第I机器人不同的第2机器人进行同步驱动,所述机器人控制装置的特征在于,具备--位置关系矩阵生成部,其基于将所述第I机器人和所述第2机器人定位于同步驱动时的各个轨迹上的位置校正完毕的指令值即每个机器人的N个第I学习用指令值,分别针对所述N个第I学习用指令值生成位置关系矩阵,所述位置关系矩阵对与所述第I机器人相关的第I学习用指令值和与所述第2机器人相关的第I学习用指令值之间的同步驱动时的位置关系进行定义;第I指令值输出部,其对定义所述第I机器人的轨迹的指令值即M(M > N)个的各个运算周期的第I驱动用指令值进行输出;位置关系矩阵插补部,其对所述N个位置关系矩阵进行插补而生成针对各个所述第I驱动用指令值的位置关系矩阵;以及第2指令值生成部,其使所述插补后的相对应的位置关系矩阵分别作用于所述M个第I驱动用指令值,而生成对所述第2机器人的轨迹进行定义的指令值即M个第2驱动用指令值,所述机器人控制装置基于所述第I驱动用指令值驱动所述第I机器人,基于所述第2驱动用指令值驱动所述第2机器人。
[0012]发明的效果
[0013]根据本发明,对于第2机器人的各个运算周期的指令值生成,以考虑了误差后的形式近似地求出变换矩阵而生成第2机器人用的指令值,这无需进行用于确定机器人的运动特性以及机器人的几何误差的复杂的计算就能够实现,从而能够起到如下效果,即,无论同步驱动过程中的多个机器人处于实际轨迹上的哪个位置,都能够尽可能减小施加至把持工件的负载。

【专利附图】

【附图说明】
[0014]图1是说明利用了本发明的实施方式I的机器人控制系统所构成的生产系统的图。
[0015]图2是说明对比例所涉及的机器人控制系统的结构的图。
[0016]图3是说明终端执行器间的理想的位置关系的图。
[0017]图4是说明实施方式I的机器人控制系统的结构的图。
[0018]图5是说明实施方式I的准备处理的流程图。
[0019]图6是说明实施方式I的主控控制装置的自动运转时的动作的流程图。
[0020]图7是说明实施方式I的从属控制装置的自动运转时的动作的流程图。
[0021]图8是说明实施方式2的机器人控制系统的结构的图。
[0022]图9是说明实施方式2的变换矩阵函数存储单元的存储器结构的图。
[0023]图10是说明实施方式2的位置关系运算装置生成第2变换矩阵函数的动作的流程图。
[0024]图11是说明实施方式2的从属控制装置的自动运转时的动作的流程图。
[0025]图12是说明实施方式3的机器人控制系统的结构的图。
[0026]图13是说明实施方式3的变换矩阵函数存储单元的存储器结构的图。
[0027]图14是说明实施方式7的机器人控制系统的结构的图。
[0028]图15是说明实施方式7的机器人控制系统的另一个结构的图。
[0029]图16是说明实施方式8的机器人控制系统的结构的图。
[0030]图17是表示在对比例所涉及的机器人控制系统中,终端执行器所承受的作用力和该终端执行器的位置之间的关系的图。
[0031]图18是表示在对比例所涉及的机器人控制系统中应用了阻抗控制的情况下,终端执行器所承受的作用力和该终端执行器的位置之间的关系的图。
[0032]图19是表示在实施方式8的机器人控制系统中,终端执行器所承受的作用力和该终端执行器的位置之间的关系的图。

【具体实施方式】
[0033]下面,基于附图详细地说明本发明所涉及的机器人控制装置以及机器人控制方法的实施方式。此外,本发明并不限定于该实施方式。
[0034]实施方式1.
[0035]图1是说明利用了本发明的实施方式I的机器人控制系统(机器人控制装置)所构成的生产系统的图。如图所示,具备主控机器人(第I机器人)10a、从属机器人(第2机器人)10b、控制主控机器人1a的主控控制装置20a、控制从属机器人1b的从属控制装置20b、以及位置关系运算装置30。主控机器人1a通过将在前端具有终端执行器Ila的臂部安装于安装台12a而构成。同样地,从属机器人1b通过将在前端具有终端执行器Ilb的臂部安装于安装台12b而构成。此外,关于机器人10a、10b,在这里作为一个例子而说明6自由度垂直多关节型机器人。
[0036]主控控制装置20a、从属控制装置20b以及位置关系运算装置30由通信线彼此连接,构成一边使主控机器人1a以及从属机器人1b同步一边进行驱动的机器人控制系统(机器人控制装置)。主控控制装置20a生成对终端执行器Ila进行定位的位置指令值,基于该生成的位置指令值驱动终端执行器11a。另外,主控控制装置20a将与终端执行器Ila相关的位置指令值发送至从属控制装置20b。位置关系运算装置30对规定协调动作时的终端执行器IlaUlb之间的位置关系的位置关系信息进行运算,以使得终端执行器Ila和终端执行器Ilb能够保持同一工件而协调地对该工件(把持工件)进行输送。并且,位置关系运算装置30将得到的位置关系信息发送至从属控制装置20b。从属控制装置20b通过使终端执行器IlaUlb之间的位置关系信息作用于对终端执行器Ila进行定位的位置指令值,从而计算用于对终端执行器Ilb进行定位的位置指令值。并且,从属控制装置20b基于计算出的位置指令值驱动终端执行器lib。
[0037]在这里,对与本发明的实施方式I进行比较的技术(以下,称为对比例)进行说明。图2是说明对比例所涉及的机器人控制系统的结构的图。此外,在这里,为了与实施方式I进行区别,对应用于对比例的位置关系运算装置标注标号50,对主控控制装置标注标号40a,对从属控制装置标注标号40b。另外,对于主控控制装置40a以及从属控制装置40b所具备的、仅作用对象是主控系统(主控机器人10a、主控控制装置40a)、还是从属系统(从属机器人10b、从属控制装置40b)这一点不同而功能相同的结构要素,在从属于主系统的情况下,对标号标注字母“a”,在从属于从属系统的情况下,对标号标注字母“b”,由此进行区别。另外,对于仅所从属的系统不同而功能相同的结构要素的2个结构要素,有时仅说明一方,省略另一方的说明。
[0038]主控控制装置40a具备:指令值存储单元100,其预先存储将终端执行器Ila的指令轨迹按照每个运算周期进行定义的M个位置指令值;校正量生成单元102a,其对与M个位置指令值(以下,简称为指令值)之中的第Tm (Tm是满足I彡Tm彡M的整数)个指令值(第Tm个指令值)对应的校正量(第Tm个校正量)进行计算;校正指令值生成单元101a,其基于第Tm个指令值和第Tm个校正量,生成对第Tm个指令值进行校正后的第Tm个校正指令值;驱动控制单元103a,其由伺服放大器以及伺服电动机构成,对主控机器人1a进行驱动以使得终端执行器Ila追随第Tm个校正指令值;以及当前位置检测单元104a,其由编码器等构成,对基于第Tm个校正指令值进行动作中的终端执行器Ila的当前位置(第Tm个当前位置)进行检测,将第Tm个当前位置反馈至驱动控制单元103a。
[0039]校正量生成单元102a具备作用力运算单元105a、校正量运算单元106a以及校正量存储单元107a。作用力运算单元105a对发生于终端执行器Ila的作用力进行运算。校正量存储单元107a对计算出的校正量(即,第Tl个校正量?第Tm — I个校正量)进行累积存储。校正量运算单元106a利用第Tl个校正量?第Tm — I个校正量,以使发生于终端执行器Ila的作用力变小的方式,计算第Tm个校正量。所计算出的第Tm个校正量被发送至校正指令值生成单元101a,并且存储至校正量存储单元107a。
[0040]位置关系运算装置50对矩阵(变换矩阵)进行运算,该矩阵(变换矩阵)将对终端执行器Ila进行定位的指令值和对终端执行器Ilb进行定位的指令值之间的位置关系定义为位置关系信息。通过使该变换矩阵作用于对终端执行器Ila进行定位的指令值,从而能够得到对终端执行器Ilb进行定位的指令值。
[0041]从属控制装置40b具备:变换矩阵存储单元109,其对位置关系运算装置50所计算出的变换矩阵进行存储;指令值生成单元108,其使变换矩阵存储单元109所存储的变换矩阵作用于对终端执行器Ila进行定位的第Tm个指令值,生成对终端执行器Ilb进行定位的第Tm个指令值;校正量生成单元102b,其计算对与终端执行器Ilb相关的第Tm个指令值进行校正的第Tm个校正量;校正指令值生成单元101b,其基于与终端执行器Ilb相关的第Tm个指令值和第Tm个校正量,生成第Tm个校正指令值;驱动控制单元103b,其由伺服放大器以及伺服电动机构成,基于与终端执行器Ilb相关的第Tm个校正指令值对从属机器人1b进行驱动;以及当前位置检测单元104b,其由编码器等构成,对终端执行器Ilb的第Tm个当前位置进行检测,将该检测出的第Tm个当前位置反馈至驱动控制单元103b。校正量生成单元102b由于具备与校正量生成单元102a等同的结构,因此省略说明。
[0042]在这里,对位置关系运算装置50所计算出的变换矩阵进行说明。该变换矩阵表示旋转量和位置,通常被称为同阶变换矩阵。在将直角坐标系表示为S1、将2个直角坐标系Σ I和Σ2之间的变换矩阵表示为1T2的情况下,如果将旋转矩阵表示为1R2 (3X3要素的正方矩阵),将从直角坐标系Σ1观察出的直角坐标系Σ2的位置表示为1P2GXl要素的矢量),将1X3的零矢量表示为zero (1,3),则同阶变换矩阵按照下式(I)进行表示。
[0043]T2 = [1R2Zp2 ;
[0044]zero (1,3), I] (I)
[0045]此外,在以I个坐标系Σ i为基准而将点a的位置姿态表示为iTa的情况下,以另一个坐标系Σ i+1为基准的点a的位置姿态i+1Ta利用从Σ i向Σ i+Ι的变换矩阵wTi而按照下式(2)进行表示。
[0046]i+1Ta = wTjiTa (2)
[0047]图3是说明终端执行器IlaUlb之间的理想的位置关系的图。在这里,Xrobl是以安装台12a为基准的坐标系(主控机器人坐标系),Σ_2是以安装台12b为基准的坐标系(从属机器人坐标系),Swld是绝对坐标系(世界坐标系),ΣΕ1是以终端执行器Ila为基准的坐标系,ΣΕ2是以终端执行器Ilb为基准的坐标系。理想的环境是指所指示的角度和所指示的位置一致的环境,换言之,是指不存在绝对位置误差的环境。在这样的环境中,作为主控/从属之间的变换矩阵,能够利用下述式(3)。其中,“Α — 1”表示与矩阵A相关的逆矩阵。
[0048]eiTe2 = CldTro ^omTei)-1 wldTrob2rob2TE2 (3)
[0049]然而,在现实的环境中,由于安装误差、齿隙、臂部的挠曲、终端执行器IlaUlb的误差、减速器的刚性的影响等原因,在终端执行器IlaUlb的指尖位置处产生绝对位置误差,因此通常指尖位置和工件之间的位置关系不是希望的位置关系。因此,使用者在启动生产系统的情况下,例如通过对未图示的示教用操作面板等进行操作,从而一边通过目视等确认实物的机器人10a、10b与工件的位置关系,一边使机器人10a、10b移动,由此将各误差并入指令值,以使得终端执行器IlaUlb之间保持希望的相对位置关系并执行希望的动作。在使用者使终端执行器IlaUlb移动至各误差被抑制得较小的场所时,控制装置20a、20b内的指令值?biT’Ei(i = 1、2)被设定为定位于该示教点的指令值。其中,“’ ”是对考虑了通过示教进行的对位所得到的变换矩阵标注的标号。
[0050]并入有误差的指令= 1、2)分别输入至位置关系运算装置50。位置关系运算装置50将并入误差后的指令值MblT’ E1Z0b2T' E2分别代入式(3)的MblTE1、?b2TE2,将得到的eiTe2设为E1T’E2。
[0051]如上所述,E1T’ E2是在开始通常动作(对机器人10a、10b进行同步驱动,以下也称为自动运转)之前进行计算的。并且,计算出的E1T’E2作为用于进行自动运转时的位置变换的变换矩阵而使用。即,在自动运转时,在从属控制装置40b中,为了进行追随主控控制装置40a的校正指令值的动作,利用主控控制装置40a侧的指令值和变换矩阵,在指令值生成单元108中生成针对终端执行器Ilb的指令值。此时,指令值生成单元108利用世界坐标系向主控机器人坐标系的变换矩阵wldIrabl、世界坐标系向从属机器人坐标系的变换矩阵wldTrob2以及所述的变换矩阵E1T’E2,基于下式(4)计算从属控制装置40b的指令值—1^2。
[0052]?b2TE2 = (wldTrob2) _VoblTE1*E1T,E2 (4)
[0053]然而,在上述对比例中,由于在主控/从属之间的指令值的变换中使用的变换矩阵,被固定为在通过某个特定的机器人姿态取得的示教点处计算出的E1T’ E2,因此例如即使指令值基于作用力而受到校正,将机器人彼此或者机器人与工件的位置关系在协调动作中的轨迹上的全部位置处保持为恒定状态也是困难的。因此,在实施方式I中,为了能够在同步驱动过程中的轨迹上的全部位置处将机器人彼此或者机器人与工件的位置关系保持为恒定,需要针对M个指令值分别计算变换矩阵E1T’ E2。
[0054]图4是对利用了本发明的实施方式I的位置关系运算装置的机器人控制系统进行说明的图。在这里,对具有与对比例相同的功能的结构要素,标注相同的标号,省略重复的说明。
[0055]如图所示,主控控制装置20a具备指令值存储单元100、校正量生成单元102a、校正指令值生成单元101a、驱动控制单元103a以及当前位置检测单元104a。校正量生成单元102a具备作用力运算单元105a、校正量运算单元106a以及校正量存储单元107a。
[0056]位置关系运算装置30具备:变换矩阵生成单元200,其基于定位于包含动作开始位置在内的N (N是小于M而大于或等于2的自然数)个示教点的指令值,针对每个示教点分别计算变换矩阵(学习用变换矩阵);变换矩阵存储单元201,其对N个学习用变换矩阵进行存储;以及变换矩阵函数生成单元202,其基于N个学习用变换矩阵而计算变换矩阵函数。对于变换矩阵函数的详细内容,在后文中进行叙述。所计算出的变换矩阵函数作为实施方式I的位置关系信息而发送至从属控制装置20b。
[0057]从属控制装置20b具备:变换矩阵函数存储单元210,其对位置关系运算装置30所计算出的变换矩阵函数进行存储;指令值生成单元211,其基于针对终端执行器Ila的第Tm个指令值(第I驱动用指令值)和变换矩阵函数,生成对终端执行器Ilb进行定位的第Tm个指令值(第2驱动用指令值);校正量生成单元102b ;校正指令值生成单元1lb ;驱动控制单元103b ;以及当前位置检测单元104b。校正量生成单元102b具备与校正量生成单元102a等同的结构。
[0058]在这里,根据实施方式1,校正指令值生成单元101a、101b、以及校正量生成单元102a、102b协同动作,作为位置校正完毕指令值生成部起作用,该位置校正完毕指令生成部生成分别利用同步驱动时的N个指令值而定位于轨迹上的每个机器人的位置校正完毕的指令值(后述的学习用指令值、第I学习用指令值)。另外,指令值存储单元100作为第I指令值输出部起作用,该第I指令值输出部将定义终端执行器Ila的轨迹的M (M > N)个的各个运算周期的指令值(第I驱动用指令值)输出。此外,在这里,说明了指令值存储单元100预先对指令值进行存储、并将所存储的指令值输出的结构,但也可以将基于规定运算逐次生成指令值的功能部用作第I指令值输出部。另外,变换矩阵函数生成单元202以及指令值生成单元211协同动作而作为位置关系矩阵插补部起作用,该位置关系矩阵插补部对N个变换矩阵进行插补而生成针对终端执行器Ila的每一个指令值的变换矩阵。另外,指令值生成单元211作为第2指令值生成部起作用,该第2指令值生成部使插补后的变换矩阵分别作用于每个运算周期的指令值,生成对终端执行器Ilb的轨迹进行定义的M个指令值(第2驱动用指令值)。
[0059]下面,对利用图4所示的机器人控制系统而执行的本发明的实施方式I的机器人控制方法进行说明。图5是对实施方式I的机器人控制方法中的以离线方式执行的准备处理进行说明的流程图。
[0060]使用者首先利用示教用操作面板等使终端执行器IlaUlb移动至协调动作时的轨迹上的示教点(步骤SI)。此时,使用者实际上能够使终端执行器IlaUlb对工件进行把持等而对终端执行器IlaUlb的指尖位置进行调整,使控制装置20a、20b取得此时的位置。此外,位置调整在N个示教点处分别执行。
[0061]校正指令值生成单元1la将在第Tk (Tk是满足I彡Tk彡N的整数)个示教点处所得到的终端执行器Ila的位置,作为与主控机器人1a相关的第Tk个指令值(学习用指令值)而存储至指令值存储单元100中,并且将该学习用指令值输出至位置关系运算装置30 (步骤S2)。另外,校正指令值生成单元1lb将执行步骤S2时的终端执行器Ilb的位置,作为与从属机器人1b相关的第Tk个学习用指令值而输出至位置关系运算装置30 (步骤
S3)。
[0062]此外,在实际上使终端执行器IlaUlb把持工件而进行位置调整的情况下,校正量生成单元102a直至作用力运算单元105a所计算出的作用力被校正成为小于或等于规定值为止,持续校正量的计算,校正指令值生成单元1la利用逐次计算的校正量,对与从指令值存储单元100供给的规定指令值相加而得到的校正量进行更新,在得到作用力小于或等于规定值的校正指令值时,能够将该校正指令值设为学习用指令值。此外,作用力的测量、基于测量出的作用力的校正量计算、以及根据计算出的校正量所进行的指令值校正,在从属控制装置20b中也以相同的方式执行,所得到的校正指令值通过步骤S3的处理而作为学习用指令值输出。此外,在位置的调整中暂时供给至校正指令值生成单元1laUOlb的指令值也可以是规定的固定值。
[0063]另外,由作用力运算单元105a进行的作用力的测量方法可以为任意方法。例如,可以采用在机器人的手腕部分安装力觉传感器(力传感器),将该力觉传感器的检测值作为作用力的检测值的方法,或者利用雅克比J(机器人的自由度)从扭矩τ通过静力学对指尖作用力f (3轴力+3力矩)进行推定的方法(τ = JT*f,其中,Jt是矩阵J的转置矩阵)。另外,能够采用根据机器人10a、10b的各轴的电动机电流计算各轴的扭矩,从计算出的扭矩的输出对指尖作用力进行推定的方法,或者代替电动机电流而在各轴上安装扭矩传感器,根据从扭矩传感器得到的输出扭矩对作用力进行推定的方法。
[0064]此外,在这里,对实际上使终端执行器IlaUlb把持工件而进行位置调整,校正指令值作为学习用指令值而记录的内容进行说明,但在不使终端执行器IlaUlb把持工件而进行位置调整的情况下,校正指令值生成单元1la能够将当前位置检测单元104a所检测的、作为反馈信号而使用的位置检测值设为学习用指令值。在从属控制装置20b中也是相同的。另外,即使在实际上使终端执行器IlaUlb把持工件而进行位置调整的情况下,也可以将当前位置检测单元104a、104b所检测出的位置检测值设为学习用指令值。
[0065]另外,在控制装置20a、20b不具有检测作用力的单元的情况下,使用者也可以随作业区域或者姿态的变化而手动地对终端执行器Ilb的位置进行微调。此时,从属控制装置20b能够通过使预先暂时确定的固定的变换矩阵1ET’ E2作用于与主控机器人1a对应的示教点,从而能够驱动终端执行器lib。并且,使用者能够通过目视,或者通过将能够检测力或者变形的传感器附加至工件,从而针对姿态或者位置变化的每个点观察工件的状态,基于观察的结果,利用操作面板进行微调。此外,无法测量作业力的情况能够想到如下情况,即,在终端执行器I la、I Ib上不存在单纯地测量作用力的传感器,且没有对来自电动机输出的指尖作用力进行计算的功能的情况,或者在协调动作中主控侧的机器人与工件接触,但从属侧的机器人未与工件接触的情况。
[0066]使用者对是否针对全部(在这里为N个)示教点进行了位置调整进行判定(步骤
S4),在未针对全部的示教点进行位置调整的情况下(步骤S4中为No),在步骤SI中,进行与下一个示教点相关的位置调整。
[0067]这样,通过使终端执行器Ila移动至示教点,使终端执行器Ilb移动至示教点上的与终端执行器Ila相对应的位置处,从而能够得到分别针对终端执行器IlaUlb的轨迹上的N个指令值而并入了绝对位置误差后的指令值(位置校正完毕的指令值)。
[0068]如果全部的示教点的位置调整完毕(步骤S4中为Yes),则在位置关系运算装置30中,变换矩阵生成单元200将第Tk个学习用指令值、和在决定出第Tk个学习用指令值的时刻校正指令值生成单元1lb所生成的校正指令值作为输入,生成第Tk个变换矩阵(学习用变换矩阵)(步骤S5)。此外,变换矩阵生成单元200将所生成的学习用变换矩阵存储至变换矩阵存储单元201。学习用变换矩阵的生成是分别针对N个示教点而执行的。
[0069]接下来,变换矩阵函数生成单元202基于存储于变换矩阵存储单元201中的N个学习用变换矩阵,生成变换矩阵函数(步骤S6)。
[0070]在这里,变换矩阵函数是针对N个变换矩阵E1T’ E2 (k),k = 1,2,...,N规定对变换矩阵进行插补的变换矩阵组的函数,且是基于N个学习用指令值将整个轨迹分为N — I个区间,并将各区间的移动比例rate作为变量的函数。以下说明由变换矩阵函数生成单元202进行的变换矩阵函数的计算方法。
[0071]在将第k个学习用指令值Pk和第k+Ι个学习用指令值Pk+1之间的距离设为Lall (k, k+Ι),将当前时刻Tnow的剩余移动距离设为Lr (k, k+1, Tnow)的情况下的移动比例rate(k, k+1, Tnow)按照下式(5)进行定义。
[0072]rate (k, k+1, Tnow) = (Lai I (k, k+1) -Lr (k, k+1, Tnow)) / (Lai I (k, k+1)) (5)
[0073]由rate(k,k+1, Tnow)表示的当前位置的变换矩阵,能够通过变换矩阵函数eiT' E2 (rate (k, k+1, Tnow))求出。下面,对变换矩阵函数 E1T’E2 (rate (k, k+1, Tnow))的旋转成分和平移成分的计算方法进行说明。
[0074]首先,平移位置E1P’E2 (rate (k, k+1, Tnow))按照如下方式求出。如果将Pk和Pk+1的终端执行器IlaUlb的指尖位置的相对的平移的变动量设为旋转矩阵APkJU APk按照下式(6)进行表示。
[0075]APk = eiP,E2 (Pk+1) -eiP,E2 (Pk) (6)
[0076]因此,在终端执行器Ila的当前位置为rate(k,k+1, Tnow)的情况下,平移位置eiP' E2 (rate (k, k+1, Tnow))利用 APk,按照下式(7)进行表示。
[0077]E1P,E2 (rate (k, k+1, Tnow)) = E1P,E2 (Pk) + Δ Pk*rate (k, k+1, Tnow) (7)
[0078]下面,对变换矩阵函数E1T’E2(rate(k,k+1, Tnow))的旋转成分即旋转矩阵eiR' E2 (rate (k,k+1,Tnow))的计算方法进行说明。如果将Pk和Pk+1的终端执行器11a、Ilb的指尖位置的相对的旋转矩阵变动量由旋转矩阵Λ Rk表示,则Λ Rk按照下式⑶进行表
/Jn ο
[0079]ARk = (E1R,E2 (Pk)) (E1R,E2 (Pk+1)) ―1 (8)
[0080]在这里,作为用于表示Pk和Pk+Ι之间的移动比例rate (k, k+1, Tnow)的方法,已知例如利用通过单轴旋转法得到的旋转轴矢量k和旋转量α表示旋转矩阵的方法。此时,采用使ct与rate (k, k+1, Tnow)相对应而不断变化的方法。具体而言,如果利用单轴旋转法,则Λ Rk利用旋转轴矢量k和旋转量α而等价地表示。旋转矩阵和[k,α]具有如下所不的关系式。
[0081 ] Δ Rk = [kx2*V a +C a , kx*ky*V a +C α , kx*kz*V α +C α ;
[0082]ky*kx*V α +C α , kx2*V α +C α , ky*kz*V α +C α ;
[0083]kz*kx*V α +C α , kz*ky*V α +C α , kx2*V α +C α ] (9)
[0084]k = [kx, ky, kz] (10)
[0085]V α =1-Ca (11)
[0086]Ca =cosa (12)
[0087]此时,α作为与移动比例rate相对应地变化的a now,定义如下。
[0088]a now = a *rate(k, k+1, Tnow) (13)
[0089]通过利用当前旋转量a now,旋转矩阵的当前的变动量即AR (rate (k, k+1,Tnow))按照如下方式进行定义。
[0090]Δ R (rate (k, k+1, Tnow))
[0091]= [kx2*V a now+C a now, kx*ky*V a now+C a now, kx*kz*V a now+C a now ;
[0092]ky氺kx氺V a now+C a now, kx2氺V a now+C a now, ky氺kz氺V a now+C a now ;
[0093]kz*kx*V a now+C a now, kz*ky*V a now+C a now, kx2*V a now+C a now] (14)
[0094]eiRj E2(rate(k, k+1, Tnow)) = (E1R,E2(Pk))* Δ R(rate (k, k+1, Tnow)) (15)
[0095]在Λ R(rate —k,k+1)与移动位置对应地变更的情况下,除了上述方法,还可以采用利用四元数表示法对旋转矩阵进行运算,将通过四元数法计算出的结果变换为旋转矩阵的方法。
[0096]利用通过以上运算所得到的平移位置£中\2(1^仏(1^,k+1, Tnow))和旋转矩阵eiR' E2 (rate (k, k+1, Tnow)),变换矩阵 E1T’ E2 (rate (k, k+1, Tnow))按照如下方式进行表示。
[0097]eiTj E2 (rate (k, k+1, Tnow))
[0098]= [E1R,E2 (rate (k, k+1, Tnow)), eiP,E2 (rate (k, k+1, Tnow));
[0099]zero (1,3), I] (16)
[0100]变换矩阵函数生成单元202基于以上计算方法而求出的变换矩阵函数,被发送至从属控制装置20b,存储于变换矩阵函数存储单元210。
[0101]通过步骤SI?步骤S6的处理,用于进行协调动作的准备处理完毕。然后,使用者能够使机器人控制系统的自动运转开始。
[0102]图6是对实施方式I的机器人控制方法中的主控控制装置20a的自动运转时的动作进行说明的流程图,图7是对实施方式I的机器人控制方法中的从属控制装置20b的自动运转时的动作进行说明的流程图。
[0103]在主控控制装置20a中,如图6所示,首先,校正指令值生成单元1la将Tm初始化为I (步骤Sll),将存储于指令值存储单元100中的第Tm个指令值取出(步骤S12)。另一方面,校正量生成单元102a基于在校正量存储单元107a中累积的与直至第Tm-1个指令值为止的指令值相关的校正量、和作用力运算单元105a测量出的作用力,计算第Tm个校正量(步骤S13)。校正指令值生成单元1la将取出的第Tm个指令值和第Tm个校正量相加,生成第Tm个校正指令值(步骤S14)。此外,驱动控制单元103a能够基于所生成的第Tm个校正指令值,进行终端执行器Ila的定位。在步骤S14之后,校正指令值生成单元1la使Tm递加I (步骤S15),执行步骤Sll的处理。此外,在步骤S15中,在递加前的Tm的值与指令值的总数即M相等的情况下,可以设为Tm = I。
[0104]在从属控制装置20b中,如图7所示,首先,指令值生成单元211将Tm初始化为I (步骤S21),将存储于指令值存储单元100中的第Tm个指令值取出(步骤S22)。另外,指令值生成单元211对包含所取出的第Tm个指令值的区间(由Pk、Pk+1表示的区间)以及rate (k, k+1, Tnow)进行计算(步骤S23)。并且,指令值生成单元211基于式13?式16对变换矩阵E1T’ E2 (rate (k,k+1, Tnow))进行计算(步骤S24),使所述计算出的变换矩阵eiT1e2 (rate (k, k+1, Tnow))作用于所取得的第Tm个指令值,生成针对终端执行器Ilb的第Tm个指令值(步骤S25)。另一方面,校正量生成单元102b基于在校正量存储单元107b中累积的与直至第Tm-1个指令值为止的指令值相关的校正量、和作用力运算单元105b测量出的作用力,计算第Tm个校正量(步骤S26)。校正指令值生成单元1lb将所生成的第Tm个指令值和第Tm个校正量相加,生成第Tm个校正指令值(步骤S27)。此外,驱动控制单元103b能够基于所生成的第Tm个校正指令值,进行终端执行器Ilb的定位。在步骤S27之后,指令值生成单元211使Tm递加1(步骤S28),执行步骤S22的处理。此外,在步骤S27中,在递加前的Tm的值与指令值的总数即M相等的情况下,可以设为Tm = I。
[0105]此外,主控控制装置20a的Tm的值与从属控制装置20b的Tm的值为同步的值。
[0106]此外,指令值存储单元100、校正指令值生成单元101a、作用力运算单元105a、校正量运算单元106a以及校正量存储单元107a中的一部分或者全部可以通过硬件以及软件中的某一个、或者两者的组合而实现。通过软件实现是指在具备运算装置以及存储装置的计算机中,将与结构要素相对应的程序模块预先存储至存储装置,运算装置执行存储于该存储装置中的程序模块,从而实现相对应的结构要素的功能。此外,作为指令值存储单元100以及校正量存储单元107a的功能,通过在各个存储装置内确保相对应的区域来实现。
[0107]同样地,位置关系运算装置30的结构要素中的一部分或者全部能够通过硬件以及软件中的某一个、或者两者的组合而实现。另外,指令值生成单元211、变换矩阵函数存储单元210、校正指令值生成单元101b、作用力运算单元105b、校正量运算单元106b以及校正量存储单元107b中的一部分或者全部能够通过硬件以及软件中的某一个,或者两者的组合而实现。
[0108]另外,将主控控制装置20a、从属控制装置20b以及位置关系运算装置30作为彼此不同的装置而进行了说明,但也能够将这些装置中的任意两个或者全部作为I个装置而实现。另外,这些装置也能够分别分割为多个装置而实现。
[0109]另外,在以上的说明中,对在主控控制装置20a以及从属控制装置20b两者中基于作用力而进行校正的结构进行了说明,但也可以仅在某一方的控制装置中基于作用力进行校正。
[0110]另外,在以上的说明中,对应用于具有2个机器人(主控机器人1a以及从属机器人1b)的生产系统的例子进行了说明,但本发明的实施方式I也能够应用于大于或等于3个的机器人进行协调动作的生产系统。此时,能够将进行协调动作的机器人中的I个作为主控机器人,将其他全部机器人作为从属机器人而应用实施方式I。
[0111]如以上所述,根据本发明的实施方式1,机器人控制装置构成为具备:作为位置关系矩阵生成部的变换矩阵生成单元200,其基于分别利用同步驱动时的N个指令值而进行定位的每个机器人的位置校正完毕的指令值,分别针对N个指令值而生成作为位置关系矩阵的学习用变换矩阵,所述位置关系矩阵对机器人之间的位置校正完毕的指令值的位置关系进行定义;作为第I指令值输出部的指令值存储单元100,其对定义主控机器人1a的轨迹的M(M>N)个运算周期中每一个运算周期的主控机器人1a所对应的指令值进行输出;变换矩阵函数生成单元202以及指令值生成单元211,它们作为位置关系矩阵插补部起作用,对N个学习用变换矩阵进行插补而分别生成每个运算周期的指令值的变换矩阵;以及指令值生成单元211,其具有作为第2指令值生成部的功能,该指令值生成单元211使插补后的学习用变换矩阵作用于针对主控机器人1a的每个运算周期的指令值,分别生成针对从属机器人1b的各个运算周期的指令值,由于形成上述结构,因此能够针对每个运算周期近似地求出变换矩阵,生成从属机器人1b用的指令值,从而无论协调动作过程中的多个机器人处于实际轨迹上的哪个位置,都能够尽可能降低把持工件所承受的负载,能够实现机器人的高速的协调动作。
[0112]另外,实施方式I的机器人控制装置由使用者提供示教点,主控机器人1a以及从属机器人1b由使用者移动至N个示教点中的每一个示教点而静止,构成为具备作为位置校正完毕指令值生成部而动作的校正指令值生成单元1laUOlb以及校正量生成单元102a、102b,该位置校正完毕指令值生成部在使主控机器人1a以及从属机器人1b静止于N个示教点的每一个时,生成针对每个机器人的指令值,并设为学习用指令值,因此,在启动后,使用者无需对力的控制系统的设定进行调整,就能够在整个区间对与绝对位置误差相当的量进行校正,从而能够缩短启动时间。
[0113]实施方式2.
[0114]根据实施方式2,还能够学习由于机器人主体的温度、环境温度的变动引起的指尖位置的偏差、由大于或等于2台的机器人动作中的同步定时的偏差引起的指尖位置的偏差等动态地产生的误差量,而对变换矩阵进行更新。图8是对利用了本发明的实施方式2的位置关系运算装置的机器人控制系统进行说明的图。此外,在这里,对于与实施方式I相同的结构要素,标注与实施方式I相同的标号,省略重复的说明。
[0115]如图8所示,主控控制装置21a具备指令值存储单元100、校正量生成单元102a、校正指令值生成单元101a、驱动控制单元103a以及当前位置检测单元104a。校正量生成单元102a具备作用力运算单元105a、校正量运算单元106a以及校正量存储单元107a。在这里,主控控制装置21a在进行通常动作时,将当前位置检测单元104a所检测出的当前位置输出至位置关系运算装置31。
[0116]位置关系运算装置31具备变换矩阵生成单元300、存储N个学习用变换矩阵的变换矩阵存储单元301、变换矩阵函数生成单元302。变换矩阵生成单元300、变换矩阵存储单元301以及变换矩阵函数生成单元302在准备处理中,执行与实施方式I中的相对应的结构要素相同的处理,生成实施方式I的变换矩阵函数(第I变换矩阵函数)。另外,在通常动作中,基于当前位置检测单元104a、104b所检测出的各个当前位置,动态地生成变换矩阵函数(第2变换矩阵函数)。
[0117]从属控制装置21b具备变换矩阵函数存储单元310、指令值生成单元311、校正量生成单元102b、校正指令值生成单元101b、驱动控制单元103b以及当前位置检测单元104b。校正量生成单元102b具备与校正量生成单元102a等同的结构。
[0118]图9是说明变换矩阵函数存储单元310的存储器结构的图。如图所示,变换矩阵函数存储单元310对位置关系运算装置31计算出的第I变换矩阵函数303以及第2变换矩阵函数304进行存储。此外,变换矩阵函数存储单元310存储的第2变换矩阵函数304由位置关系运算装置31动态地更新。
[0119]指令值生成单元311能够利用第I变换矩阵函数303或者第2变换矩阵函数304,生成第Tm个指令值。
[0120]下面,对利用图8所示的机器人控制系统执行的本发明的实施方式2的机器人控制方法进行说明。此外,由于以离线方式执行的准备处理与实施方式I相同,因此在这里省略说明。由准备处理所生成的变换矩阵函数作为第I变换矩阵函数303而存储于变换矩阵函数存储单元310。
[0121]另外,主控控制装置21a的通常动作除了将当前位置检测单元104a所检测出的当前位置输出至位置关系运算装置31这一点以外,与实施方式I相同,因此省略说明。此夕卜,从属控制装置21b也与主控控制装置21a相同地,将当前位置检测单元104b所检测出的当前位置输出至位置关系运算装置31。在这里为了简化而设为,每当校正指令值生成单元101a、指令值生成单元311从指令值存储单元100分别取得M个指令值中的与学习用指令值最接近的N个指令值,主控控制装置21a、从属控制装置21b就将当前位置输出至位置关系运算装置31。即,每当主控机器人1a到达示教点或者与示教点最接近的位置,当前位置检测单元104a、104b就分别将位置检测值作为新的学习用指令值而输出。
[0122]图10是对位置关系运算装置31生成第2变换矩阵函数304的动作进行说明的图。首先,变换矩阵生成单元300将从主控控制装置21a以及从属控制装置21b在I次循环动作完成时刻所输入的N对当前位置,用作在实施方式I中所指的学习用指令值,生成N个学习用变换矩阵(步骤S31)。此外,变换矩阵生成单元300将所生成的学习用变换矩阵存储至变换矩阵存储单元301。然后,变换矩阵函数生成单元302基于通过步骤S31的处理而存储于变换矩阵存储单元301的N个学习用变换矩阵,生成第2变换矩阵函数304 (步骤S32)。所生成的第2变换矩阵函数304被发送至从属控制装置21b,变换矩阵函数存储单元310存储的第2变换矩阵函数304被该发送来的第2变换矩阵函数304覆盖。然后,执行步骤S31处理。
[0123]图11是说明从属控制装置21b的通常动作的流程图。在从属控制装置21b中,首先,指令值生成单元311将Tm初始化为I (步骤S41),将存储在指令值存储单元100中的第Tm个指令值取出(步骤S42)。
[0124]接下来,指令值生成单元311选择所使用的变换矩阵函数(步骤S43)。在这里,指令值生成单元311可以基于某个基准而执行步骤S43的选择处理。第2变换矩阵函数304具有通常动作时经过时间越长越收敛的倾向,但在收敛不充分的情况下,指令值生成单元311可以选择第I变换矩阵函数303。另外,在刚开始通常动作之后,由于第2变换矩阵函数304还未生成,因此,此时指令值生成单元311可以选择第I变换矩阵函数303。
[0125]然后,指令值生成单元311对包含所取出的第Tm个指令值的区间(由Pk、Pk+l表示的区间)以及rate(k, k+1, Tnow)进行计算(步骤S44)。并且,指令值生成单元311基于选择出的变换矩阵函数和式13?式16,计算变换矩阵E1T’ E2 (rate(k, k+1, Tnow))(步骤S45),使所述计算出的变换矩阵E1T’ E2 (rate (k, k+1, Tnow))作用于所取得的第Tm个指令值,生成针对终端执行器Ilb的第Tm个指令值(步骤S46)。另一方面,校正量生成单元102b基于累积在校正量存储单元107b中的与直至第Tm -1个为止的指令值相关的校正量、以及作用力运算单元105b测量出的作用力,计算第Tm个校正量(步骤S47)。校正指令值生成单元1lb将所生成的第Tm个指令值和第Tm个校正量相加,生成第Tm个校正指令值(步骤S48)。在步骤S48之后,指令值生成单元311使Tm递加I (步骤S49),执行步骤S42的处理。
[0126]如上所述,根据本发明的实施方式2,由于构成为具备:指令校正部(校正量生成单元102a、102b、校正指令值生成单元1laUOlb),其针对主控机器人1a或者从属机器人1b中的至少一方的各个运算周期的指令值,进行使指尖所承受的作用力减小的校正;以及当前位置检测单元104a、104b,它们具有作为对机器人10a、10b进行位置检测的位置检测部的功能、以及作为将分别利用N个指令值所检测出的所述第I机器人的位置和所述第2机器人的位置作为学习用指令值而输出的位置校正完毕指令值生成部的功能,因此在同步驱动时,在将为了使指尖所承受的作用力变小而动态地进行校正后的位置用作学习用指令值的同时计算学习用变换矩阵,然后利用计算出的学习用变换矩阵对第2变换矩阵函数进行逐次更新,因此,在多个机器人10a、10b实施协调动作的基础上,能够对各个指尖位置进行校正直至收敛于作用力变小的方向,最终能够以作用力变为最小的轨迹使机器人10a、1b协调动作。
[0127]另外,如果设置使第2变换矩阵函数的更新连续进行的模式和使更新停止的模式,则形成为,例如能够从学习中排除诸如包含不必要的干扰(例如,由系统内的线缆缠绕而引起的机器人负载增加)的试验,或者能够在实际生产中不实施学习。通过设置该结构,从而能够对将由同步所引起的误差考虑在内的从属轨迹进行学习,因此能够学习精度更高的从属机器人的轨迹,其中,所述由同步所引起的误差是在使机器人动作时的每个姿态下的电动机的响应差异、通信延迟等导致的。
[0128]此外,通常作为机器人控制方法已知插补方法,该插补方法为,如果由使用者提供大于或等于3个的指令值,则以指令值中的动作开始位置和动作结束位置之间的轨道从位于这些位置中间的指令值的附近穿过的方式近似地决定轨道(例如,参照专利文献3)。根据该技术,机器人控制装置基于由使用者所提供的指令值而计算出的轨道,并不限定于从指令值上穿过。根据实施方式2,能够动态地生成变换矩阵,因此即使在应用如上所述的技术的情况下,也能够以指尖所承受的作用力变小的轨迹使机器人10a、10b协调动作。然而,在该情况下,对于从主控机器人的指令值存储单元输出的指令值,将应用了所述插补方法的情况下的插补处理后的指令值作为指令值而输入至指令值生成单元311。另外,在该情况下,在变换矩阵生成单元300中,如实施方式I记载那样,从属机器人也同样将使用由指令值生成单元311取得的从属机器人的指令值而实施插补处理之后的指令值输出至校正指令值生成单元101b,其中,所述从属机器人的指令值是使用在示教作业时所取得的数据而运算得到的。其结果,在实施该插补方法的情况下,在动作前已得到的变换矩阵与未实施该插补方法的情况不同。
[0129]另外,主控控制装置21a在将各个运算周期的指令值输出至驱动控制单元103a时,也可以实施滤波处理。在对各个运算周期的指令值实施滤波处理的情况下,在实际通过轨道上的位置和插补指令值之间产生偏差。在该情况下,主控控制装置21a将当前位置设为学习用指令值,但从属控制装置21b不对校正后的指令值实施滤波处理而将该指令值输出至驱动控制单元103b。或者,从属控制装置21b也可以近似地对诸如滤波处理后的指令值成为当前位置之类的指令值进行计算。
[0130]实施方式3.
[0131]根据实施方式3,使同步驱动时的速度设定值(在这里,称为替换值,但也可以是代表位置处的速度指令值)和第2变换矩阵函数相关联地记录。速度指令值如果从所记录的速度指令值发生变更,则基于预先记录的第2变换矩阵函数,计算与变更后的速度指令值相对应的第2变换矩阵函数,计算出的新的第2变换矩阵函数用于利用了更新后的速度指令值实现的同步驱动。由此,形成为,使用者预先改变速度设定值而多次试验性地执行自动运转,使机器人控制装置记录各个速度设定值的第2变换矩阵函数,从而能够在以后的自动运转中,基于所记录的第2变换矩阵函数而计算出在同步驱动中使用的第2变换矩阵函数,因此能够以比实施方式2那样直至机器人之间的位置关系收敛为止所花费的时间短的时间使控制稳定。
[0132]以下,对如下方法进行说明,S卩,分别将速度设定值为零时的第2变换矩阵函数标记为E1T’ E2 ((k,k+1) ovrd = 0),将速度设定值为a时的第2变换矩阵函数标记为E1T’ E2 ((k,k+l)ovrd = a),将速度设定值为b(b > a)时的第2变换矩阵函数标记为E1T’E2((k,k+1)ovrd = b),根据上述3个第2变换矩阵函数求出从属控制装置在通常运转时所适用的第2变换矩阵函数。此外,第I变换矩阵函数与速度设定值为零的情况下的第2变换矩阵函数eiT' E2 ((k, k+1) ovrd = O)相等。
[0133]利用式7以及式14,考虑从Pk的变换矩阵转换为Pk+Ι的变换矩阵时的变换矩阵彼此的误差量。速度设定值为a时的变换的误差量AT(k,k+l,0vrd = a)能够如下式所示。
[0134]Δ T (k, k+1, ovrd = a) = [AI^l)_a,Δ Pk_a ;
[0135]zero (1,3), I] (17)
[0136]另外,速度设定值为b时的变换的误差量Δ T (k, k+1, ovrd = a)能够如下式所示。
[0137]Δ T (k, k+1, ovrd = a) = [ Δ R(l)_b? Δ Pk_b ;
[0138]zero (1,3), I] (18)
[0139]只要学习用变换矩阵不随速度变化而改变,则即使变更速度设定值,误差的产生方式也不变,因此,从属控制装置能够直接使用以任意速度设定值学习到的变换矩阵函数。然而,在包含存在各轴的响应的影响或者滤波的影响等的情况在内,指尖位置随速度变化而变化的情况下,在上述式17和式18的结果中产生差异。考虑上述差值。
[0140]首先,对于旋转量的差,如果将与式17相对应的单轴旋转法的旋转轴设为k_a,将旋转量设为a_a,将与式18相对应的单轴旋转法的旋转轴设为k_b,将旋转量设为a_b,则旋转量的变化率Λ α表示如下。此外,假设轴方向不会大幅变化,近似地采用k_a的旋转轴。
[0141]A a (X) = ( a b_ a a) / (b_a) * (x_a) (19)
[0142]Δ P ((k, k+1), x) = ( Δ Pk_b_ Δ Pk_a) / (b_a) * (x~a) (20)
[0143]如果假设产生的误差随着速度变大而以恒定比例变大,则使用根据上述式19、式20求出的值,以速度设定值为a时的第2变换矩阵函数作为基准,从而从属控制装置无论在以哪种速度设定值(替换值)进行通常运转时,都能够求出将与速度相对应而产生的误差消除的第2变换矩阵函数。
[0144]图12是说明本发明的实施方式3的机器人控制系统的结构的图。此外,在这里,对与实施方式I相同的结构要素,标注与实施方式I相同的标号,省略重复的说明。
[0145]如图12所示,主控控制装置22a具备指令值存储单元100、校正量生成单元102a、校正指令值生成单元101a、驱动控制单元103a、以及当前位置检测单元104a。校正量生成单元102a具备作用力运算单元105a、校正量运算单元106a以及校正量存储单元107a。在这里,主控控制装置22a在进行试验运转时,将当前位置检测单元104a检测出的当前位置输出至位置关系运算装置32。
[0146]位置关系运算装置32具备变换矩阵生成单元400、存储N个学习用变换矩阵的变换矩阵存储单元401、变换矩阵函数生成单元402以及试验运转速度设定单元403。变换矩阵生成单元400、变换矩阵存储单元401以及变换矩阵函数生成单元402在准备处理中执行与实施方式I中的相对应的结构要素相同的处理,生成实施方式I中的变换矩阵函数(第I变换矩阵函数303)。
[0147]另外,在试验运转中,试验运转速度设定单元403接收速度设定值的输入。并且,基于当前位置检测单元104a、104b所检测出的各个当前位置,变换矩阵生成单元400、变换矩阵存储单元401以及变换矩阵函数生成单元402动态地生成变换矩阵函数(第2变换矩阵函数),使所生成的第2变换矩阵函数与输入至试验运转速度设定单元403的速度设定值相关联而输出至从属控制装置22b。此外,在这里,对各个速度设定值的第2变换矩阵函数标注标号404,以与实施方式2的第2变换矩阵函数304进行区别。
[0148]从属控制装置22b具备变换矩阵函数存储单元410、指令值生成单元411、通常运转速度设定单元412、校正量生成单元102b、校正指令值生成单元101b、驱动控制单元103b以及当前位置检测单元104b。校正量生成单元102b具备与校正量生成单元102a等同的结构。
[0149]图13是说明变换矩阵函数存储单元410的存储器结构的图。如图所示,变换矩阵函数存储单元410对位置关系运算装置32所计算出的第I变换矩阵函数303以及各个速度设定值的第2变换矩阵函数404进行存储。
[0150]在这里,通常运转速度设定单元412在通常运转时,接收速度设定值的输入。在通常运转时所输入的速度设定值可以与在试验运转时所输入的速度设定值不同。指令值生成单元411基于通常运转速度设定单元412所取得的速度设定值、存储于变换矩阵函数存储单元410的各个速度设定值的第2变换矩阵函数404 (以及第I变换矩阵函数303),利用式19以及式20,一边对与速度相对应的误差进行位置校正,一边计算变换矩阵。并且,使所述计算出的变换矩阵作用于从指令值存储单元100取得的针对终端执行器Ila的第Tm个指令值,计算针对终端执行器Ilb的第Tm个指令值。
[0151]如上所述,根据本发明的实施方式3,机器人控制装置具备:作为速度设定值输入部的通常运转速度设定单元412,其在同步驱动时接收速度设定值的输入;以及作为位置关系矩阵函数存储部的变换矩阵函数存储单元410,其预先对各个速度设定值的第2变换矩阵函数404进行存储,指令值生成单元411构成为,将存储于变换矩阵函数存储单元410的第2变换矩阵函数读出,基于所输入的速度设定值进行校正,利用校正后的第2变换矩阵函数对与从属机器人1b相关的各个运算周期的指令值进行计算,因此,能够在生产系统启动时,在不断逐渐增加整体的速度设定值时,利用预先记录的信息,对机器人10a、10b之间的最佳的位置关系进行推定,因此与第2实施方式相比能够缩短启动时间。
[0152]实施方式4.
[0153]根据实施方式4,校正量运算单元102a、102b实施考虑了阻抗特性的阻抗控制。阻抗控制是指在机械手和环境之间将连接有弹簧.减振器的模型导入,定义希望的阻抗而对指尖位置进行控制的方法。根据实施方式4,由在实施方式I中说明的校正量生成单元102a、102b进行的校正量的生成方法发生了变更,但仍能够得到与利用实施方式I所得到的效果相同的效果。
[0154]并且,根据实施方式4,通过利用阻抗控制,能够对与作业对象之间的力学上的关系进行规定,因此能够在调整为难以产生针对机器人10a、10b彼此、工件的过负载状态的状态下,实施轨迹的学习。
[0155]实施方式5.
[0156]在实施方式I?3所记载的机器人控制装置中,校正量生成单元102a、102b可以代替指尖所承受的作用力,而利用距离传感器的测量距离对校正量进行运算。具体而言,在机器人10a、10b或者生产系统的夹具上安装距离传感器,测量与机器人或工件之间的距离,计算出机器人10a、10b的指尖位置之间的相对距离,在相对距离与希望距离背离的情况下,生成能够使两者一致的校正量。此外,机器人10a、10b之间的相对距离的计算方法是任意的。例如,可以利用距离传感器测定机器人1a和工件之间的相对距离、以及机器人1b和工件之间的相对距离,求出机器人1a和机器人1b之间的距离。另外,也可以利用距离传感器直接测定机器人1a和机器人1b之间的距离。
[0157]在机器人或者外围驱动装置实施诸如为非接触、但需要在保持恒定距离的状态下进行作业这样的协调动作的情况下,通过应用该结构,从而能够对相对于作业对象保持理想的位置关系的从属机器人1b的轨迹进行学习。
[0158]实施方式6.
[0159]根据实施方式2、3、5所记载的机器人控制装置,由于校正量生成单元102a、102b利用即使在相同的示教点处也随每次试验而变动的校正量进行学习,因此有时无法保证收敛性。与其相对,能够构成为,对于由变换矩阵生成单元200所生成的变换矩阵,计算第k+1次取得的变换矩阵uk+1、第k次取得的变换矩阵U、第k次和第k+Ι次取得的变换矩阵的变化量即变化量q、以控制周期对第k次和第k+Ι次的变化量进行分割而得到的变化率q(.),对它们施加遗忘因子,使用学习控制法(参照非专利文献I),即使在计算出的校正量存在变动的情况下,也稳定地收敛。
[0160]实施方式7.
[0161]在实施方式7中,通过将多次循环的校正量的平均值分别与N个位置校正前的指令值相加,从而生成学习用指令值。在这里,将学习用指令值称为第I学习用指令值。另夕卜,通过加上多次循环的校正量的平均值,从而生成第I学习用指令值,将位置校正前的指令值称为第2学习用指令值。此外,在实施方式7中,作为一个例子,将按照每个运算周期对终端执行器Ila的指令轨迹进行定义的M个位置指令值中的、示教点或者示教点附近的指令值,作为第2学习用指令值使用。
[0162]图14是说明利用了本发明的实施方式7的位置关系运算装置的机器人控制系统的图。在这里,对与实施方式I?3相同的结构要素,标注与实施方式I?3相同的标号,省略重复的说明。
[0163]如图14所示,主控控制装置23a具备指令值存储单元100、校正量生成单元110a、校正指令值生成单元101a、驱动控制单元103a以及当前位置检测单元104a。校正量生成单元IlOa具备作用力运算单元105a、校正量运算单元106a以及校正量存储单元111a。在这里,在自动运转过程中,校正量存储单元11 Ia分别针对N个指令值,对最新运算出的R个校正量进行累积存储。校正量存储单元Illa还分别针对M个第2学习用指令值,对最新运算出的R个校正量进行存储。此外,R例如为预先设定的大于或等于2的整数。分别与M个第2学习用指令值相关的R个校正量,由位置关系运算装置33读出。另外,存储在指令值存储单元100中的第2学习用指令值,由位置关系运算装置33读出。另外,由校正指令值生成单元1la所生成的各个运算周期的校正指令值被发送至从属控制装置23b。第2学习用指令值在由校正指令值生成单元1la进行校正后,被发送至从属控制装置23b。
[0164]此外,通过将存储在指令值存储单元100中的第2学习用指令值称为针对终端执行器Ila的第2学习用指令值,从而与后述的针对终端执行器Ilb的第2学习用指令值进行区别。
[0165]位置关系运算装置33具备变换矩阵生成单元500、变换矩阵存储单元301以及变换矩阵函数生成单元302。变换矩阵生成单元500基于下述要素生成N个变换矩阵,所述要素包括:针对终端执行器Ila的N个第2学习用指令值;针对终端执行器Ilb的N个第2学习用指令值;相对于针对终端执行器Ila的N个第2学习用指令值而运算出的最新的R组校正量的平均值;以及相对于针对终端执行器Ilb的N个第2学习用指令值而运算出的最新的R组校正量的平均值。变换矩阵存储单元301对变换矩阵生成单元500生成的N个学习用变换矩阵进行存储。变换矩阵函数生成单元302在自动运转时,基于当前位置检测单元104a、104b检测出的各个当前位置,动态地生成变换矩阵函数(第2变换矩阵函数)。
[0166]此外,变换矩阵函数生成单元302在准备处理中,执行与实施方式I中的相对应的结构要素相同的处理,生成实施方式I的变换矩阵函数(第I变换矩阵函数)。在这里,为了简化说明,省略在准备处理中用于生成N个变换矩阵的结构的说明以及数据的输入/输出关系的图示。
[0167]从属控制装置23b具备变换矩阵函数存储单元310、指令值生成单元511、校正量生成单元110b、校正指令值生成单元101b、驱动控制单元103b以及当前位置检测单元104b ο
[0168]指令值生成单元511基于从校正指令值生成单元1la发送来的各个运算周期的校正指令值和变换矩阵函数存储单元310存储的第2变换矩阵函数304,生成对终端执行器Ilb的轨迹进行定义的M个指令值。具体而言,指令值生成单元511基于第2变换矩阵函数304,针对与终端执行器Ila对应的各个校正指令值而生成变换矩阵。并且,指令值生成单元511使生成的变换矩阵作用于从校正指令值生成单元1la发送来的各个运算周期的校正指令值,生成各个运算周期的针对终端执行器Ilb的指令值。指令值生成单元511基于由校正指令值生成单元1la校正后的第2学习用指令值和第2变换矩阵函数304,生成针对终端执行器Ilb的第2学习用指令值。指令值生成单元511将生成的针对终端执行器Ilb的第2学习用指令值,发送至位置关系运算装置33。
[0169]校正量生成单元IlOb具备作用力运算单元105b、校正量运算单元106b以及校正量存储单元111b。校正量存储单元Illb累积存储分别针对指令值生成单元511所生成的M个指令值而最新计算出的规定数量(R个)的校正量。指令值生成单元511生成的M个指令值中的、与针对终端执行器Ila的第2学习用指令值相对应的针对终端执行器Ilb的指令值,被发送至位置关系运算装置33。此外,将与针对终端执行器Ila的第2学习用指令值相对应的针对终端执行器Ilb的指令值,称为针对终端执行器Ilb的第2学习用指令值。
[0170]下面,说明变换矩阵生成单元500生成学习用变换矩阵的方法。将MblT’E1中的校正量的成分定义为八1\1,将1:<*21%2中的校正量的成分定义为ATk2。S卩,Λ Tkl是MblT’E1和roblTm的差值,Δ Tk2是Mb2T’ E2和-2Te2的差值。因此,Δ Tkl, Δ Tk2可以分别表示如下。
[0171]Δ Tkl = [roblRj E1 (roblRm)-1, roblP,E「roblPE1 ;
[0172]zero (1,3), I] (21)
[0173]Δ Tk2 = [rob2Rj E1 (rob2RE2) ―1,rt5b2P,E2-rob2PE2 ;
[0174]zero (I, 3), I] (22)
[0175]其中,与式⑴相同地,MblTE1E1以及Mb2T’E2表示如下。
[0176]robiT,Ei(i = 1、2) = [roblR,Ei,roblP,Ei ;
[0177]zero (1,3), I] (23)
[0178]rt5biTm (i = 1,2) = [roblREi, roblPm ;
[0179]zero (1,3), I] (24)
[0180]变换矩阵生成单元500分别针对与终端执行器Ila对应的第2学习用指令值运算R个校正量的平均值,从而分别对与针对终端执行器IIa的第2学习用指令值对应的校正量的平均值ATkl m进行计算。另外,变换矩阵生成单元500分别针对与终端执行器Ilb对应的第2学习用指令值运算R个校正量的平均值,从而分别对与针对终端执行器Ilb的第2学习用指令值对应的校正量的平均值ATk2_m进行计算。并且,变换矩阵生成单元500通过将计算出的平均值ATk2_i(i = 1,2)加上相对应的第2学习用指令值,从而计算出第I学习用指令值。
[0181]具体而言,变换矩阵生成单元500通过利用ATki m(i = 1,2)和下式(25),计算出旋转成分Λ Rki m和平移成分APki m。
[0182]Δ Tki jl — [ Δ Rki η, Δ Pki n ;
[0183]zero (1,3), I] (25)
[0184]并且,变换矩阵生成单元500通过向式(26)代入旋转成分ARki m和平移成分ΛPkijl,计算出第I学习用指令值?ΜΤ" Ei,i = 1,2。
[0185]robiT^i = U =robiPmi = JAPkui;
[0186]zero (1,3), I] (26)
[0187]并且,变换矩阵生成单元500利用第I学习用指令值MbiT " ^ = U和下式(27),对实施方式7的学习用变换矩阵E1T" E2 (k),k = 1,2,...,N进行运算。
[0188]E1T,,E2 =wldTrob2rob2T”E2 (27)
[0189]此外,对通过将最新的R个校正量的平均值与第2学习用指令值相加而计算出第I学习用指令值进行了说明,但与第2学习用指令值相加的校正量,只要是代表R个校正量的值即可,并不限定于平均值。例如,可以采用R个校正量的中间值、最频繁出现值、加权平均值等作为与第2学习用指令值相加的校正量。
[0190]校正量运算单元106a、106b例如具有阻抗控制系统或者力控制系统的控制系统。阻抗控制系统或者力控制系统如专利文献4所示,具有积分器。因此,阻抗控制系统或者力控制系统利用第Tl个校正量?第Tm-1个校正量,计算第Tm个校正量。根据实施方式7,利用R个第Tm个校正量而实行误差的并入,因此,误差的并入的精度提高。其结果,无论同步驱动过程中的多个机器人处于实际轨迹上的哪个位置,都能够使把持工件所承受的负载进一步减小。
[0191]另外,自动运转过程中的作用力因速度、温度等诸条件而变化。根据实施方式7,利用将最新运算出的R个校正量进行平均处理所得到的校正量而生成第I学习用指令值,因此能够使因诸条件而变化的作用力渐进地降低。
[0192]如上所述,根据本发明的实施方式7,校正指令值生成单元101a、101b、校正量生成单元IlOaUlOb以及变换矩阵生成单元500协同动作,分别针对各个运算周期的指令值所包含的第2学习用指令值,基于该第2学习用指令值、和相对于该第2学习用指令值为最新的规定次数循环的校正量的代表值,计算第I学习用指令值。并且,变换矩阵生成单元500针对每个第I学习用指令值生成学习用变换矩阵。由此,第I学习用指令值通过与利用第Tl个校正量?第Tm-1个校正量而计算第Tm个校正量的方式相比精度更高的方法,并入误差而生成。另外,第I学习用指令值是考虑了基于自动运转过程中的诸条件的变动而产生的误差的变动而生成的。因此,能够尽可能减小对终端执行器IlaUlb产生的作用力。
[0193]此外,在以上的说明中,对利用在自动运转时所运算出的最新的R次循环的校正值而生成第2变换矩阵函数304进行了说明。也可以形成为,执行R次循环的准备处理,第I变换矩阵函数303利用通过R次循环的准备处理而得到的校正值,以与第2变换矩阵函数304相同的顺序生成。
[0194]另外,如图15所示,也可以形成为,指令值生成单元511从指令值存储单元100读出针对终端执行器Ila的各个运算周期的指令值,从校正量存储单元Illa读出针对各个运算周期的指令值的R组校正量,对读出的指令值和读出的R组校正量的平均值进行合计,由此生成针对终端执行器Ilb的各个运算周期的指令值。通过上述方式,即使终端执行器Ila的校正指令值较大程度地变动,也能够使终端执行器Ila的校正指令值的变动对终端执行器Ilb的各个运算周期的指令值的影响变小。
[0195]实施方式8.
[0196]在实施方式8中,选择各个运算周期的指令值中的满足与作用力相关的规定条件的指令值,作为第2学习用指令值。
[0197]图16是对利用了本发明的实施方式8的位置关系运算装置形成的机器人控制系统进行说明的图。在这里,对于与施方式7相同的结构要素,标注与实施方式7相同的标号,省略重复的说明。
[0198]如图所示,实施方式8的主控控制装置24a具有如下结构,即,在利用图14所说明的实施方式7的主控控制装置23a中追加了学习用指令值选择单元600。实施方式8的位置关系运算装置33以及从属控制装置23b分别具有与利用图14所说明的对应的装置相同的结构。
[0199]学习用指令值选择单元600从指令值存储单元100存储的M个各个运算周期的指令值中,选择满足与作用力相关的规定条件的N个第2学习用指令值。校正量与作用力的增减相对应地增减。在这里,学习用指令值选择单元600将校正量运算单元106a所计算出的校正量用作特征量,选择N个第2学习用指令值。
[0200]此外,学习用指令值选择单元600也可以任意地利用校正量,而选择第2学习用指令值。例如,学习用指令值选择单元600可以将校正量或/及校正量的变化率超过规定阈值的指令值选择作为第2学习用指令值。由此,作用力或者作用力的变化率变得格外大的指令值被设定为第2学习用指令值。
[0201]另外,学习用指令值选择单元600也可以将除了校正量以外的量作为特征量而选择第2学习用指令值。以下,列举将除了校正量以外的量作为特征量的情况下的选择方法。
[0202]例如,学习用指令值选择单元600可以将作用力运算单元105a所运算出的作用力用作特征量。学习用指令值选择单元600将作用力或/及作用力的变化率超过规定阈值的指令值选择作为第2学习用指令值。
[0203]另外,学习用指令值选择单元600也可以将各个运算周期的指令值用作特征量。例如,学习用指令值选择单元600将满足规定位置条件的指令值选择作为第2学习用指令值。有时在轨道上的作用力或者作用力的变化率变大的位置是基于机器人的机构而预先判明的。在上述情况下,轨道上的作用力或者作用力的变化率变大的位置被作为位置条件而预先设定于学习用指令值选择单元600中。学习用指令值选择单元600将用于定位在作为位置条件而设定的位置处的指令值选择作为第2学习用指令值。此外,也可以将轨道上的范围设定作为位置条件。
[0204]另外,学习用指令值选择单元600也可以根据各个运算周期的指令值或者各个运算周期的当前位置,计算电动机速度,将电动机速度用作特征量。学习用指令值选择单元600检测出电动机速度或者电动机速度的变化率较大的位置,将用于定位在该检测出的位置处的指令值选择作为第2学习用指令值。由此,与轨道上的诸如作用力由于离心力或者科里奥利力而变大的位置相对应的指令值被选择为第2学习用指令值。
[0205]另外,学习用指令值选择单元600也可以将指令值或者姿态位置的每单位时间的变化量用作特征量。
[0206]另外,学习用指令值选择单元600也可以将使用指令值的时刻作为特征量。从指令值存储单元100逐次读出各个运算周期的指令值,基于读出的指令值的校正指令值被逐次供给至驱动控制单元103a。在作用力基于时间条件而变动的情况下,学习用指令值选择单元600也可以基于作用力或者作用力的变动变大的时刻,选择第2学习用指令值。例如,学习用指令值选择单元600在从指令值存储单元100读出各个运算周期的指令值的时刻满足预先设定的时刻条件的情况下,将该指令值选择作为第2学习用指令值。
[0207]此外,如实施方式5中的说明所示,在基于距离计算校正量的情况下,学习用指令值选择单元600也可以基于校正量的大小、校正量的变化率、或者校正前后的距离的差值与规定阈值的比较,选择第2学习用指令值。
[0208]另外,学习用指令值选择单元600也可以将以上所列举的选择方法组合而选择第2学习用指令值。
[0209]图17是表示利用对比例所涉及的机器人控制系统进行协调作业的情况下的、终端执行器所承受的作用力和该终端执行器的位置的关系的图。在这里,t[s]表示时间,X[mm]表示终端执行器的位置,Fx[N]表示终端执行器所承受的作用力,Fxlim[N]表示作用力的容许值。如该图所示,根据对比例,误差会与终端执行器的位置的变化相对应地变化,作用力Fx会与误差相对应地变大。另外,在速度提升的情况等、误差量受到动态的影响而变化的情况下,作用力Fx会变得更大。
[0210]图18是表示对在对比例所涉及的机器人控制系统中应用了阻抗控制的情况下的、终端执行器所承受的作用力和该终端执行器的位置的关系的图。通过应用阻抗控制,从而与图17所示的情况相比,各位置的作用力Fx减小。然而,由于针对轨道上的每个部位调整控制参数是困难的,因此在诸如姿态发生变化的情况下、速度产生变动的情况下等,在轨道上的所有位置使作用力Fx变得比Fxlim小是困难的。
[0211]图19是表示利用实施方式8的机器人控制系统进行协调作业的情况下的、终端执行器所承受的作用力和该终端执行器的位置的关系的图。根据实施方式8,将在作用力或者作用力的变化率较大的位置处进行定位的指令值选择作为第2学习用指令值,R个校正量的平均值与各个第2学习用指令值相加而生成第I学习用指令值。由此,能够在轨道上的整个区域中使作用力Fx变小,其结果,无论在轨道上的哪个位置,都能够使作用力Fx比Fxlim 小。
[0212]如以上所述,根据本发明的实施方式8,学习用指令值选择单元600从指令值存储单元100存储的针对终端执行器Ila的M个的各个运算周期的指令值中,选择满足与作用力相关的规定条件的N个第2学习用指令值。指令值生成单元511基于选择出的针对终端执行器Ila的第2学习用指令值,生成针对终端执行器Ilb的第2学习用指令值。由此,生成学习用变换矩阵,以使得在对终端执行器IlaUlb产生的作用力或者作用力的变化率变得格外大的位置处的作用力变小,因此能够使对终端执行器IlaUlb产生的作用力进一步变小。
[0213]此外,在实施方式I?7的说明中,以机器人10a、1b的类型为6自由度垂直多关节型机器人进行了说明,但机器人10a、10b的类型并不限定于此。机器人10a、10b的类型例如也可以为水平多关节型机器人或者直线运动机器人。
[0214]工业实用性
[0215]如上所述,本发明所涉及的机器人控制装置以及机器人控制方法,适合应用于一边使多个机器人在机器人之间同步一边进行驱动的机器人控制装置以及机器人控制方法。
[0216]标号的说明
[0217]1a主控机器人,1b从属机器人,11a,b终端执行器,12a、b安装台,20a、21a、22a、23a、24a、40a 主控控制装置,20b、21b、22b、23b、40b 从属控制装置,30、31、32、33、50 位置关系运算装置,100指令值存储单元,101a、b校正指令值生成单元,102a、b校正量生成单元,103a、b驱动控制单元,104a、b当前位置检测单元,105a、b作用力运算单元,106a、b校正量运算单元,107a、b校正量存储单元,108,311,511指令值生成单元,109变换矩阵存储单元,110a、b校正量生成单元,111a、b校正量存储单元,200、300、400、500变换矩阵生成单元,201,301,401变换矩阵存储单元,202、302、402变换矩阵函数生成单元,210、310变换矩阵函数存储单元,211指令值生成单元,303第I变换矩阵函数,304,404第2变换矩阵函数,403试验运转速度设定单元,410变换矩阵函数存储单元,411指令值生成单元,412通常运转速度设定单元,600学习用指令值选择单元。
【权利要求】
1.一种机器人控制装置,其对第I机器人和与所述第I机器人不同的第2机器人进行同步驱动, 所述机器人控制装置的特征在于, 具备: 位置关系矩阵生成部,其基于将所述第I机器人和所述第2机器人定位于同步驱动时的各个轨迹上的位置校正完毕的指令值即每个机器人的N个第I学习用指令值,分别针对所述N个第I学习用指令值生成位置关系矩阵,所述位置关系矩阵对与所述第I机器人相关的第I学习用指令值和与所述第2机器人相关的第I学习用指令值之间的同步驱动时的位置关系进行定义; 第I指令值输出部,其对定义所述第I机器人的轨迹的指令值即M个的各个运算周期的第I驱动用指令值进行输出,其中M > N ; 位置关系矩阵插补部,其对所述N个位置关系矩阵进行插补而生成针对各个所述第I驱动用指令值的位置关系矩阵;以及 第2指令值生成部,其使所述插补后的相对应的位置关系矩阵分别作用于所述M个第I驱动用指令值,而生成对所述第2机器人的轨迹进行定义的指令值即M个第2驱动用指令值, 所述机器人控制装置基于所述第I驱动用指令值驱动所述第I机器人,基于所述第2驱动用指令值驱动所述第2机器人。
2.根据权利要求1所述的机器人控制装置,其特征在于,由使用者使所述第I机器人以及所述第2机器人分别向N组示教点移动后静止,所述机器人控制装置还具备位置校正完毕指令值生成部,该位置校正完毕指令值生成部在每当使所述第I机器人以及所述第2机器人分别静止于所述N组示教点时,基于指尖所承受的作用力进行各个指尖位置的校正,取得校正后的指尖位置或者与校正后的指尖位置相对应的指令值,并设定为所述第I学习用指令值。
3.根据权利要求2所述的机器人控制装置,其特征在于, 还具备位置关系矩阵函数生成部,该位置关系矩阵函数生成部生成对所述N个位置关系矩阵进行插补的位置关系矩阵函数, 所述位置关系矩阵插补部基于所述位置关系矩阵函数,生成各个所述第I驱动用指令值的位置关系矩阵。
4.根据权利要求1所述的机器人控制装置,其特征在于, 所述第I机器人和所述第2机器人是同时地把持同一工件而进行输送的机器人, 所述机器人控制装置还具备: 作用力运算部,其对所述第I机器人或者所述第2机器人的指尖所承受的作用力进行运算; 指令校正部,其在同步驱动时,针对所述第I驱动用指令值或者所述第2驱动用指令值,基于所述作用力运算部的运算值,进行使所述第I机器人或者所述第2机器人的指尖所承受的作用力减小的校正; 位置检测部,其在同步驱动时,进行所述第I机器人以及所述第2机器人的位置检测;以及 位置校正完毕指令值生成部,其在同步驱动时,针对每个机器人计算所述N个第I学习用指令值。
5.根据权利要求4所述的机器人控制装置,其特征在于, 所述机器人控制装置还具备位置检测部,该位置检测部在各个运算周期对所述第I机器人的指尖位置以及所述第2机器人的指尖位置进行检测, 所述位置校正完毕指令值生成部将所述第I机器人的指尖位置的检测值中的N个检测值、以及所述第2机器人的指尖位置的检测值中的N个检测值,设定为所述第I学习用指令值。
6.根据权利要求4所述的机器人控制装置,其特征在于, 所述指令校正部在同步驱动时对所述第I驱动用指令值以及所述第2驱动用指令值进行校正, 所述M个第I驱动用指令值以及所述M个第2驱动用指令值分别包含N个第2学习用指令值, 所述位置校正完毕指令值生成部, 分别针对所述第2学习用指令值,通过将该第2学习用指令值、和针对该第2学习用指令值的由所述指令校正部得到的最新的规定次数循环的校正量的代表值相加,从而计算所述第I学习用指令值。
7.根据权利要求6所述的机器人控制装置,其特征在于, 所述机器人控制装置还具备学习用指令值选择部,该学习用指令值选择部对所述M个第I驱动用指令值中的满足与所述作用力相关的设定条件的驱动用指令值进行选择,将所述选择出的驱动用指令值设定为所述第I机器人的第2学习用指令值。
8.根据权利要求6所述的机器人控制装置,其特征在于, 所述代表值是平均值、加权平均值、中间值或者最频繁出现值。
9.根据权利要求1至8中任一项所述的机器人控制装置,其特征在于, 所述机器人控制装置还具备位置关系矩阵函数生成部,该位置关系矩阵函数生成部生成对所述N个位置关系矩阵进行插补的位置关系矩阵函数, 所述位置关系矩阵插补部基于所述位置关系矩阵函数,生成各个所述第I驱动用指令值的位置关系矩阵。
10.根据权利要求1所述的机器人控制装置,其特征在于, 所述机器人控制装置具备: 速度设定值输入部,其在同步驱动时接收第I速度设定值的输入;以及 位置关系矩阵函数存储部,其分别针对与所述第I速度设定值不同的第2速度设定值,预先存储对所述N个位置关系矩阵进行插补的位置关系矩阵函数, 所述位置关系矩阵插补部在同步驱动时,将所述位置关系矩阵函数存储部存储的各个所述第2速度设定值的位置关系矩阵函数读出,基于输入至所述速度设定值输入部的第I速度设定值,对所述读出的各个第2速度设定值的位置关系矩阵函数进行校正,基于所述校正后的位置关系矩阵函数,生成各个所述第I速度指令值的位置关系矩阵。
11.一种机器人控制方法,其是对第I机器人和与所述第I机器人不同的第2机器人进行同步驱动的机器人控制方法, 所述机器人控制方法具备: 位置关系矩阵生成步骤,在该步骤中,基于将所述第I机器人和所述第2机器人定位于同步驱动时的各个轨迹上的位置校正完毕的指令值即每个机器人的N个第I学习用指令值,分别针对所述N个第I学习用指令值生成位置关系矩阵,所述位置关系矩阵对与所述第I机器人相关的第I学习用指令值和与所述第2机器人相关的第I学习用指令值之间的同步驱动时的位置关系进行定义; 第I指令值输出步骤,在该步骤中,输出对所述第I机器人的轨迹进行定义的指令值即M个的各个运算周期的第I驱动用指令值,其中M > N ; 位置关系矩阵插补步骤,在该步骤中,对所述N个位置关系矩阵进行插补而生成各个所述第I驱动用指令值的位置关系矩阵; 第2指令值生成步骤,在该步骤中,使所述插补后的相对应的位置关系矩阵分别作用于所述M个第I驱动用指令值,而生成对所述第2机器人的轨迹进行定义的指令值即M个第2驱动用指令值;以及 同步驱动步骤,在该步骤中,基于所述第I驱动用指令值驱动所述第I机器人,基于所述第2驱动用指令值驱动所述第2机器人。
【文档编号】B25J13/00GK104379308SQ201380033535
【公开日】2015年2月25日 申请日期:2013年5月30日 优先权日:2012年6月29日
【发明者】白土浩司 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1