机器人系统的控制方法以及机器人系统

申请号 CN201480016822.7 申请日 2014-03-17 公开(公告)号 CN105073349A 公开(公告)日 2015-11-18
申请人 松下知识产权经营株式会社; 发明人 小松嵩宙; 池田达也;
摘要 本公开的 机器人 系统的控制方法具有第1步骤~第5步骤。特别地,在第2步骤中,生成表示第1从机器人与第2从机器人的 位置 关系的第2变换矩阵,将第2变换矩阵存储在主机器人中。在第4步骤中,主机器人基于使用第1变换矩阵以及第2变换矩阵求出的第2指令,指示第2从机器人的动作。在第5步骤中,第1从机器人以及第2从机器人与主机器人协作动作。由此,能够将无法与全部其他机器人进行TCP位置对齐的作业机器人作为主机器人,使全部机器人进行协作动作。
权利要求

1.一种机器人系统的控制方法,包括:
第1步骤,生成表示主机器人与第1从机器人的位置关系的第1变换矩阵,将所述第1变换矩阵存储在所述主机器人中;
第2步骤,生成表示所述第1从机器人与第2从机器人的位置关系的第2变换矩阵,将所述第2变换矩阵存储在所述主机器人中;
第3步骤,所述主机器人基于使用所述第1变换矩阵求出的第1指令,指示所述第1从机器人的动作;
第4步骤,所述主机器人基于使用所述第1变换矩阵以及所述第2变换矩阵求出的第
2指令,指示所述第2从机器人的动作;以及
第5步骤,所述第1从机器人以及所述第2从机器人与所述主机器人协作动作。
2.根据权利要求1所述的机器人系统的控制方法,
在所述第1步骤中,通过使所述主机器人的TCP与所述第1从机器人的TCP在3个不同位置处一致,从而生成所述第1变换矩阵。
3.根据权利要求1或2所述的机器人系统的控制方法,
在所述第2步骤中,通过使所述第1从机器人的TCP与所述第2从机器人的TCP在3个不同位置处一致,从而生成所述第1变换矩阵。
4.根据权利要求3所述的机器人系统的控制方法,
所述主机器人与所述第2从机器人远离配置,使得不能使所述主机器人的TPC与所述第1从机器人的TCP一致。
5.根据权利要求1~4中任一项所述的机器人系统的控制方法,
在所述第5步骤中,所述主机器人、所述第1从机器人以及所述第2从机器人进行动作,使得反复进行控制为沿着轨迹的插值控制。
6.根据权利要求1~5中任一项所述的机器人系统的控制方法,
所述主机器人以及所述第2从机器人进行焊接作业,所述第1从机器人保持工件
7.一种机器人系统,具备:
主机器人,其具有第1存储部、第2存储部以及第1运算部;
第1从机器人,其与所述主机器人连接;以及
第2从机器人,其与所述主机器人连接,
所述第1存储部存储表示所述主机器人与所述第1从机器人的位置关系的第1变换矩阵,
所述第2存储部存储表示所述第1从机器人与所述第2从机器人的位置关系的第2变换矩阵,
所述第1运算部使用所述第1变换矩阵求出第1指令,指示所述第1从机器人的动作,所述第1运算部使用所述第1变换矩阵以及所述第2变换矩阵求出第2指令,指示所述第2从机器人的动作,
所述第1从机器人以及所述第2从机器人与所述主机器人协作动作。

说明书全文

机器人系统的控制方法以及机器人系统

技术领域

[0001] 本公开涉及使用产业用机器人等的机器人系统的控制方法以及机器人系统,尤其涉及多个机器人协作进行作业的机器人系统。

背景技术

[0002] 近年来,要求机器人系统对多种多样并且复杂的工件进行作业。特别地,要求机器人系统适用于多品种少量生产、对包含机器人的设备的数量或设置面积进行抑制。因此,导入了不使用按每个工件而固有的夹具,使把持作业用工具的机器人和把持工件的机器人协作地动作(以下称为协作动作)的机器人系统。
[0003] 图9是表示使用2台机器人的现有的机器人系统的一个例子的图。在图9中,机器人D是把持有作业工具31的主机器人。机器人E是把持有操纵装置34的从机器人。机器人D对于机器人E利用操纵装置34所把持的工件W,与机器人E协作进行作业。以下,将把持有作业工具的机器人称为“作业机器人”,将把持有操纵装置的机器人称为“操纵机器人”。另外,将对从机器人指示动作的机器人称为“主机器人”,将按照主机器人的指示进行动作的机器人称为“从机器人”。
[0004] 为了使作为作业机器人的机器人D和作为操纵机器人的机器人E协作动作,需要变换矩阵TDE,该变换矩阵TDE表示机器人D的机器人坐标系∑d与机器人E的机器人坐标系∑e之间的位置关系。机器人D以及机器人E分别具有作为控制点的工具中心点(以下称为TCP),以往,通过使机器人D的TCP和机器人E的TCP在不位于一条直线上的3点处一致,从而计算变换矩阵TDE。将该作业称为“TCP位置对齐”。机器人E所把持的工件由机器人E的机器人坐标系∑e表示,因此,利用变换矩阵TDE,在协作动作时,能够使机器人D按照由将机器人E的TCP作为坐标原点的工件坐标系∑w所示的轨迹、速度进行动作。
[0005] 为了在该机器人系统中进一步追加作业机器人F,效率更好地进行作业,需要新生成追加的作业机器人F与既有的机器人D及机器人E之间的变换矩阵TDF及变换矩阵TEF,各个机器人需要在控制装置中存储与自己有关的变换矩阵。
[0006] 作为解决该问题的一种方法,已知下述方法。一台主机器人与多台从机器人分别进行TCP位置对齐,生成个数为从机器人的台数的变换矩阵,存储在控制装置中。此时,不需要进行从机器人彼此的TCP位置对齐。在自动运转时,主机器人将主机器人的教导点、插值点的位置数据发送至多台从机器人。多台从机器人分别基于从主机器人发送的教导点、插值点的位置数据,对从机器人自身的程序的教导点或插值点进行校正。由此,使3台以上的机器人协作进行动作(例如,参照专利文献1)。
[0007] 现有技术文献
[0008] 专利文献
[0009] 专利文献1:日本特开2001-150372号公报发明内容
[0010] 在使用专利文献1中记载的方法的情况下,需要将主机器人的TCP与多台从机器人的TCP进行位置对齐。但是,由于构成机器人系统的多台机器人的配置,有时难以进行作业机器人彼此的TCP位置对齐。在此情况下,必须将能够与全部作业机器人进行TCP的位置对齐的操纵机器人作为主机器人。但是,在机器人系统的工作过程中,作业者最频繁地使用的机器人是主机器人,在教导作业等的机器人系统的准备阶段中,作业者最频繁地使用的机器人是作业机器人。如果操纵机器人是主机器人,则作业者在机器人系统的准备阶段和工作过程中,必须变更所操纵的机器人,作业效率变差。
[0011] 本公开鉴于上述课题而作,提供一种即使在使用3台以上机器人的情况下作业效率也较好的机器人系统的控制方法以及机器人系统。
[0012] 为了解决上述课题,本公开的机器人系统的控制方法具有第1步骤~第5步骤。在第1步骤中,生成表示主机器人与第1从机器人的位置关系的第1变换矩阵,将第1变换矩阵存储在主机器人中。在第2步骤中,生成表示第1从机器人与第2从机器人的位置关系的第2变换矩阵,将第2变换矩阵存储在主机器人中。在第3步骤中,主机器人基于使用第1变换矩阵求出的第1指令,指示第1从机器人的动作。在第4步骤中,主机器人基于使用第1变换矩阵以及第2变换矩阵求出的第2指令,指示第2从机器人的动作。在第5步骤中,第1从机器人以及第2从机器人与主机器人协作动作。
[0013] 另外,本公开的机器人系统具有主机器人、第1从机器人以及第2从机器人。主机器人具有第1存储部、第2存储部、以及第1运算部。第1从机器人以及第2从机器人与主机器人连接。第1存储部存储表示主机器人与第1从机器人的位置关系的第1变换矩阵。第2存储部存储表示第1从机器人与第2从机器人的位置关系的第2变换矩阵。第1运算部使用第1变换矩阵求出第1指令,指示第1从机器人的动作,第1运算部使用第1变换矩阵以及第2变换矩阵求出第2指令,指示第2从机器人的动作。第1从机器人以及第2从机器人与主机器人协作动作。
[0014] 如上所述,根据本公开,能够将无法与全部其他机器人进行TCP位置对齐的作业机器人作为主机器人,使全部机器人进行协作动作。由此,能够提高作业者的作业效率。附图说明
[0015] 图1是表示本公开的实施方式1的机器人系统的概略结构的图。
[0016] 图2是表示本公开的实施方式1的控制装置之间的连接的概要的图。
[0017] 图3是说明本公开的实施方式1的用于生成变换矩阵的TCP位置对齐的图。
[0018] 图4是表示本公开的实施方式1的目标位置命令的结构的图。
[0019] 图5是本公开的实施方式1的程序执行处理的流程图
[0020] 图6是用于说明本公开的实施方式1的各机器人的坐标系的图。
[0021] 图7是本公开的实施方式1的插值控制处理的流程图。
[0022] 图8是用于说明本公开的实施方式1的系统的结构的图。
[0023] 图9是表示现有的机器人系统的图。

具体实施方式

[0024] 以下,使用图1至图8说明用于实施本发明的方式。
[0025] (实施方式1)
[0026] 图1是表示本实施方式中的、通过使3台机器人协作动作而进行焊接作业的机器人系统的图。在该机器人系统中,机器人A(主机器人)和机器人B(第2从机器人)是进行焊接作业的作业机器人,机器人C(第1从机器人)是把持工件的操纵机器人。
[0027] 机器人A具有机械手10A、焊枪11A、焊丝送给装置12A、焊丝13A、焊接机14A、以及控制装置16A。焊接机14A与焊枪11A电连接,对焊电流、焊接电压进行控制。另外,焊接机14A与焊丝送给装置12A电连接,对焊丝13A的送给速度进行控制。
[0028] 机器人B具有机械手10B、焊枪11B、焊丝送给装置12B、焊丝13B、焊接机14B、以及控制装置16B。焊接机14B与焊枪11B电连接,对焊接电流、焊接电压进行控制。另外,焊接机14B与焊丝送给装置12B电连接,对焊丝13B的送给速度进行控制。
[0029] 机器人C具有机械手10C、操纵装置15C、以及控制装置16C,通过操纵装置15C能够对工件W进行把持。
[0030] 另外,机器人A由控制装置16A控制,机器人B由控制装置16B控制。更具体而言,控制装置16A、16B向焊接机14A、14B指示焊接电压、焊接电流、焊丝送给速度等焊接条件,并且指示机械手10A、10B的运动。机器人A、B通过执行该指示,对工件W进行焊接作业。机器人C由控制装置16C控制。更具体而言,控制装置16C向操纵装置15C指示操纵装置15C的手的开关,并且指示机械手10C的运动。机器人C通过执行该指示,进行操纵装置15C的手的开关,进行工件W的保持、释放、移动。
[0031] 在本实施方式的机器人系统中,将机器人A作为主机器人,将机器人B和机器人C作为从机器人而进行动作。主机器人对从机器人进行通信,该通信用于进行协作动作。因此,控制装置16A和控制装置16B通过光纤电缆17AB进行连接。另外,控制装置16A和控制装置16C通过光纤电缆17AC进行连接。
[0032] 此外,在本实施方式的机器人系统中,作为在控制装置之间进行连接的通信线路,使用了对电子噪声的抵抗较强的光纤电缆。但是,作为通信线路,也可以使用LAN(Local Area Network,局域网)、串行通信等的电缆,还可以采用不使用通信线路的无线通信。
[0033] 另外,控制装置16A、16B、16C分别与作为输入装置的示教器18A、18B、18C连接。作业者使用示教器,对控制装置设定机器人的操作、主模式与从模式之间的模式切换等。示教器18A、18B、18C具有机器人操作部(未图示)、对从机器人的状态和主机器人的状态进行切换的模式切换部(未图示)、对焊接电流或焊丝送给速度等各种数据进行显示的数据显示部(未图示)、以及设定各种数据的数据设定部(未图示)等。
[0034] 图2示出控制装置16A、16B、16C的结构。
[0035] 作为主机器人的机器人A的控制装置16A具有:运算部20A、教导数据存储部21A、机械手控制部22A、焊接条件指令部23A、通信部24A、从机器人通信部25AB、25AC、校准点存储部26AC、26BC、以及变换矩阵存储部27AC(第1存储部)、27BC(第2存储部)。
[0036] 运算部20A由进行各种内部运算等的CPU、存储器等构成。教导数据存储部21A存储为了在自动运转时进行重放动作而教导的数据。机械手控制部22A基于由运算部20A运算的结果,对机械手10A进行控制。焊接条件指令部23A向焊接机14A指示焊接电流等焊接条件。通信部24A进行与示教器18A的通信。从机器人通信部25AB发送对作为从机器人的机器人B的动作指令、焊接指令,并且接收来自机器人B的信息。从机器人通信部25AC发送对作为从机器人的机器人C的动作指令、操纵指令,并且接收来自机器人C的信息。将从机器人A向机器人B的指示作为第2指令,将从机器人A向机器人C的指示作为第1指令。校准点存储部26AC存储机器人A与机器人C的协作动作所需要的、各个机器人的TCP位置和TCP方向矢量。变换矩阵存储部27AC存储根据校准点存储部26AC的数据计算的机器人A与机器人C的变换矩阵TCA(第1变换矩阵)。校准点存储部26BC存储机器人B与机器人C的协作动作所需要的、各个机器人的TCP位置和TCP方向矢量。变换矩阵存储部27BC存储根据校准点存储部26BC的数据计算的机器人B与机器人C的变换矩阵TCB(第2变换矩阵)。
[0037] 另一方面,作为从机器人的机器人B的控制装置16B具有:运算部20B、机械手控制部22B、焊接条件指令部23B、通信部24B、以及主机器人通信部25BA。运算部20B、机械手控制部22B、焊接条件指令部23B、以及通信部24B等具有与控制装置16A相同的功能。另外,主机器人通信部25BA在本实施方式中接收来自作为主机器人的机器人A的动作指令、焊接指令,发送机器人B的信息。但是,主机器人通信部25BA发送和接收的数据的内容也可以根据机器人B的作用不同而不同,另外,控制装置16B也可以具有与控制装置16A相同的结构,从而使机器人B能够作为主机器人起作用。
[0038] 另一方面,作为从机器人的机器人C的控制装置16C具有:运算部20C、机械手控制部22C、操纵指令部26C、通信部24C、以及主机器人通信部25CA。运算部20C、机械手控制部22C、以及通信部24C等具有与控制装置16A相同的功能。另外,主机器人通信部25CA在本实施方式中接收来自作为主机器人的机器人A的动作指令、操纵指令,发送机器人C的信息。但是,主机器人通信部25CA发送和接收的数据的内容也可以根据机器人C的作用不同而不同,另外,控制装置16C也可以具有与控制装置16A相同的结构,从而使机器人C能够作为主机器人起作用。
[0039] 在本实施方式中,作为主机器人的机器人A的控制装置16A在教导数据存储部21A中存储有使机器人A、机器人B、和机器人C为1组的教导点。教导数据存储部21A中存储的数据在重放动作时由运算部20A读出。在运算部20A中,计算各机器人的动作量,机器人A的动作和焊接经由机械手控制部22A和焊接条件指令部23A进行控制。
[0040] 另外,作为从机器人的机器人B的动作和焊接,由经由从机器人通信部25AB而从控制装置16A向控制装置16B发送的指令进行控制。具体而言,控制装置16B利用运算部20B处理由主机器人通信部25BA接收的来自控制装置16A的指令。并且,机器人B的动作和焊接经由机械手控制部22B和焊接条件指令部23B进行控制。另外,控制装置16B经由主机器人通信部25BA向控制装置16A发送当前的机器人B的姿势、焊接输出状态等信息。
[0041] 相同地,作为从机器人的机器人C的动作和操纵,由经由从机器人通信部25AC而从控制装置16A向控制装置16C发送的指令进行控制。具体而言,利用运算部20C处理由主机器人通信部25CA接收的来自控制装置16A的指令。并且,机器人C的动作和操纵经由机械手控制部22C和操纵指令部26C进行控制。另外,控制装置16C经由主机器人通信部25CA向控制装置16A发送当前的机器人C的姿势、操纵装置15C的输出状态等信息。
[0042] 利用上述结构,能够同时控制具有焊接机的2台机器人和具有操纵装置的1台机器人。
[0043] 接着,对生成变换矩阵的方法进行说明,该变换矩阵是机器人A~C进行协作动作所需要的。变换矩阵表示不同的2个坐标系的关系,由此,能够将由一个坐标系表示的位置矢量变换为由另一个坐标系表示的位置矢量。在本实施方式中,作为作业机器人的机器人A和机器人B需要与作为操纵机器人的机器人C协作动作。因此,为了生成变换矩阵,需要机器人A与机器人C的位置关系、以及机器人B与机器人C的位置关系。
[0044] 首先,使用图3,对生成机器人A与机器人C的变换矩阵TCA的方法进行说明。如图3所示,在安装于机器人A的机械手10A的前端处的焊枪11A中,安装教导用芯片C1。然后,正确地设定从机器人A的手腕前端(机械手10A的前端)到教导用芯片C1的前端为止的偏移。通过这样操作,使教导用芯片C1的前端成为机器人A的TCP。此外,TCP是指机器人的控制点。
[0045] 另外,机器人C将安装于机械手10C的前端处的操纵装置15C的一部分作为基准点,正确地设定从机器人C的手腕前端(机械手10C的前端)到基准点为止的偏移值。例如,将操纵装置15C的两手的前端的中心作为基准值。此外,在无法在操纵装置15C中取得适当的基准点的情况下,如图3所示,可以拆下操纵装置15C,将能够可靠地取得基准点的夹具C2安装于机器人C的机械手10C的前端。用上述任一种方法设置的基准点成为机器人C的TCP。
[0046] 接着,作业者对示教器18C进行操作,将控制装置16C切换为从机器人的模式。并且,使用作为主机器人的机器人A的示教器18A,作业者对作为主机器人的机器人A以及作为从机器人的机器人C这两者进行操作。并且,如图3所示,使机器人A的TCP和机器人C的TCP在不变更两个TCP的方向矢量的状态下在不位于同一直线上的空间上的3点(P1、P2、P3)处一致。
[0047] 此时,关于3点,将以机器人A、C的基准点为原点的机器人坐标系∑a、∑c中的、各个机器人的TCP位置和TCP方向矢量存储在校准点存储部26AC中。并且,根据所求出的机器人A的3个TCP位置数据以及方向矢量数据、以及机器人C的3个TCP位置数据以及方向矢量数据,能够由运算部20A通过计算求出从机器人C的机器人坐标系∑c到机器人A的机器人坐标系∑a的变换矩阵TCA。变换矩阵TCA存储在变换矩阵存储部27AC中。
[0048] 接着,对生成机器人B与机器人C的变换矩阵TCB的方法进行说明。基本上,与上述的在机器人A与机器人C之间求出变换矩阵TCA的方法相同。首先,在安装于机器人B的机械手10B的前端处的焊枪11B中,安装教导用芯片C1。然后,正确地设定从机器人B的手腕前端(机械手10B的前端)到教导用芯片C1的前端为止的偏移。通过这样操作,使教导用芯片C1的前端成为机器人B的TCP。
[0049] 接着,作业者对示教器18B和示教器18C进行操作,将控制装置16B和控制装置16C切换为从机器人的模式。并且,作业者使用作为主机器人的机器人A的示教器18A,对作为从机器人的机器人B以及机器人C这两者进行操作。并且,与求出机器人A与机器人C的变换矩阵时相同地,使机器人B的TCP和机器人C的TCP在在不变更两个TCP的方向矢量的状态下在不位于同一直线上的空间上的3点处对齐。
[0050] 此时,关于3点,将以机器人B、C的基准点为原点的机器人坐标系∑b、∑c中的、各个机器人的TCP位置和TCP方向矢量存储在校准点存储部26BC中。并且,根据所求出的机器人B的3个TCP位置数据以及方向矢量数据、以及机器人C的3个TCP位置数据以及方向矢量数据,能够由运算部20A通过计算求出从机器人C的机器人坐标系∑c到机器人B的机器人坐标系∑b的变换矩阵TCB。变换矩阵TCB存储在变换矩阵存储部27BC中。
[0051] 通过使用这些变换矩阵TCA和变换矩阵TCB,从而能够利用以机器人C的机械手10C的前端为坐标原点的工件坐标系∑w,表示机器人A和机器人B的TCP。并且,能够使机器人A以及机器人B的TCP按照由工件坐标系∑w表示的速度、轨迹,与机器人C协作动作,适于对复杂的工件进行焊接。
[0052] 接着,参照附图说明使用上述结构使3台机器人协作动作的方法的详细情况。
[0053] 运算部20A从教导数据存储部21A中调出使机器人A~C协作动作的动作程序。然后,运算部20A按照由动作程序所示的作业过程,进行对机器人A~C的指示、从机器人A~C收集的信息的处理等。动作程序由各种命令构成,其中包含作为协作动作中的特征性命令的目标位置命令。如图4所示,在目标位置命令中记录有与机械手的动作有关的指令,例如:构成机器人A~C的机械手10A~10C的各轴的目标度和动作速度(转速),使TCP在2点间进行直线动作还是曲线动作,是否使多台机器人进行协作动作,等等。
[0054] 图5中示出运算部20A处理动作程序时的流程图。运算部20A从教导数据存储部21A中读出动作程序,判别动作程序的命令是否是目标位置命令。并且,在图5中,对读出了进行协作动作的目标位置命令时的处理进行详细说明。
[0055] 如果读出的命令是目标位置命令,则运算部20A计算“当前位置矢量Sni(i=a,b,c)”和“目标位置矢量Sri(i=a,b,c)”,当前位置矢量Sni表示机器人A~C的当前的TCP位置和当前的TCP的方向矢量,目标位置矢量Sri表示根据目标位置命令中记载的机械手的各轴的角度计算的机器人A~C的作为目标的TCP位置和作为目标的TCP的方向矢量。将该计算当前位置矢量和目标位置矢量的步骤称为STEP1。
[0056] 机器人A的机器人坐标系是3维的,为了表示关于各维的机器人A的TCP的位置以及角度,机器人A的TCP的当前位置矢量Sna由6个参数表示。例如,如图6所示,在机器人A的机器人坐标系∑a中,当前位置矢量Sna表示为(Xan,Yan,Zan,Uan,Van,Wan)。同样地,关于机器人B以及机器人C,当前位置矢量Snb、当前位置矢量Snc在各机器人的机器人坐标系∑b、∑c中也由6个参数表示。关于机器人A的目标位置矢量Sra、机器人B的目标位置矢量Srb、机器人C的目标位置矢量Src,在各机器人的机器人坐标系∑a、∑b、∑c中也由6个参数表示。
[0057] 接着,使用已经求出的、存储在变换矩阵存储部27AC中的变换矩阵TCA,对机器人A的当前位置矢量Sna以及目标位置矢量Sra进行变换。通过变换矩阵TCA,能够将机器人A的机器人坐标系∑a变换至工件坐标系∑w。由此,将机器人A的当前位置矢量Sna以及目标位置矢量Sra分别变换为工件坐标系∑w中的变换当前位置矢量Swna以及变换目标位置矢量Swra。同样地,使用存储在变换矩阵存储部27BC中的变换矩阵TCB,对机器人B的当前位置矢量Snb以及目标位置矢量Srb进行变换。通过变换矩阵TCB,能够将机器人B的机器人坐标系∑b变换至工件坐标系∑w。由此,将机器人B的当前位置矢量Snb以及目标位置矢量Srb分别变换为工件坐标系∑w中的变换当前位置矢量Swnb以及变换目标位置矢量Swrb。此外,机器人C的机器人坐标系∑c与工件坐标系∑w已经在机器人C的TCP中进行了关联,因此不需要进行变换。将该计算变换当前位置矢量和变换目标位置矢量的步骤称为STEP2。
[0058] 接着,计算插值分割数N,其用于使机器人A的TCP以指定的速度从变换当前位置矢量Swna向变换目标位置矢量Swra进行动作。将计算插值分割数N的步骤称为STEP3。
[0059] 通常,机器人在每个固定的插值时间Ts中对各轴的角度进行控制(以下称为插值控制),通过反复进行该插值控制,从而完成指定的动作。利用插值控制,对机器人被控制为沿着动作的轨迹。因此,为了以指定的速度进行动作,需要计算通过反复执行多少次插值控制,能够完成从当前位置矢量Sna、Snb、Snc到目标位置矢量Sra、Srb、Src为止的TCP的动作。在本实施方式中,将下述运动作为基准而计算插值控制的次数,即,作为主机器人的机器人A的TCP从当前位置矢量Sna到目标位置矢量Sra以直线进行动作。插值分割数N能够利用如下计算式求出。
[0060] N=(Swra-Swna)÷动作速度÷Ts
[0061] 此外,作为基准的机器人可以不是作为主机器人的机器人A,而是作为从机器人的机器人B。在此情况下,仅将Swna以及Swra置换为Swnb以及Swrb即可。对于作为从机器人的机器人C,也与机器人B相同。
[0062] 求出插值分割数N之后,进行插值控制的反复处理。将插值控制的反复处理称为STEP4。即,通过反复执行N次插值控制,从而使机器人A~C的TCP分别进行从当前位置矢量到目标位置矢量的移动,完成目标位置命令。
[0063] 如上述所示,控制装置16A在完成1个目标位置命令后,判断是否有下一个命令,在有下一个命令的情况下,读出并执行下一个命令。如果下一个命令是目标位置命令,则再次执行STEP1~4。并且,如果下一个命令不存在,则动作程序完成。
[0064] 在此,使用图7详细地说明STEP4的插值控制。
[0065] 为了反复进行插值控制,对于1次插值控制,如图7所示,计算作为轨迹控制的基础的、工件坐标系∑w中的变换目标位置矢量。关于机器人A以及机器人B,为了计算工件坐标系∑w中的轨迹,进行使用了工件坐标系∑w中的变换当前位置矢量Swna、Swnb和变换目标位置矢量Swra、Swrb的计算。在机器人A中,能够以如下方式求出反复进行插值控制中的第j次插值控制的变换轨迹目标位置矢量Swaj。
[0066] Swaj=Swra-(Swra-Swna)×(N-j)÷N (式1)
[0067] 同样地,在机器人B中,能够以如下方式求出第j次插值控制的变换轨迹目标位置矢量Swbj。
[0068] Swbj=Swrb-(Swrb-Swnb)×(N-j)÷N (式2)
[0069] (式1)和(式2)表示,从插值开始时的机器人A以及B的变换当前位置矢量Swna以及Swnb起,每次累积插值控制次数时,向机器人A以及B的变换目标位置矢量Swra以及Swrb移动。并且,(式1)和(式2)意味着,完成最后的第N次插值控制后,机器人A以及B的TCP到达各自的变换目标位置矢量Swra以及Swrb。
[0070] 另一方面,在机器人C中,不进行以工件坐标系∑w为基准的动作,因此利用下式求出机器人C的机器人坐标系∑c中的轨迹目标位置矢量Scj。
[0071] Scj=Src-(Src-Snc)×(N-j)÷N (式3)
[0072] 这意味着,在机器人C的机器人坐标系∑c中,机器人C的TCP在N次插值控制完成后到达机器人C的目标位置矢量Src。将该计算变换轨迹目标位置矢量的步骤称为STEP4-1。
[0073] 对于机器人A、B,计算出工件坐标系∑w中的变换轨迹目标位置矢量Swaj、Swbj后,接着,进行向机器人坐标系∑a、∑b中的轨迹目标位置矢量Saj、Sbj的变换。STEP4-1中计算出的机器人A的变换轨迹目标位置矢量Swaj、机器人B的变换轨迹目标位置矢量Swbj是工件坐标系∑w中的值。并且,工件坐标系∑w与机器人C的机器人坐标系∑c相关联。因此,变换轨迹目标位置矢量Swaj、Swbj能够根据变换矩阵TCA以及变换矩阵TCB等,变换为机器人坐标系∑a、∑b中的轨迹目标位置矢量Saj、Sbj。将该计算轨迹目标位置矢量的步骤称为STEP4-2。
[0074] 计算出机器人坐标系∑a、∑b、∑c中的轨迹目标位置矢量Saj、Sbj、Scj后,接着,进行从轨迹目标位置矢量Saj、Sbj、Scj到机械手10A、10B、10C的各轴的角度的变换。该变换通过对一般使用的反向运动学进行运算而进行,将该变换步骤称为STEP4-3。
[0075] 向各个轴角度的变换完成后,进行电动机驱动的加减速的调整等,从控制装置16A向机器人A~C进行动作指示。将该动作指示称为STEP4-4。
[0076] 关于机器人A,将由控制装置16A的运算部20A计算的机械手10A的各轴的目标角度向机械手控制部22A进行指示。机械手控制部22A进行机械手10A的电动机的控制,从而在插值时间Ts中到达目标角度。
[0077] 对于机器人B,将由控制装置16A的运算部20A计算的机械手10B的各轴的目标角度,通过从机器人通信部25AB,向控制装置16B的运算部20B发送。运算部20B将所接收的机械手10B的轴角度向机械手控制部22B进行指示。机械手控制部22B进行机械手10B的电动机的控制,从而在插值时间Ts中到达目标角度。
[0078] 关于机器人C,也与机器人B同样,基于来自作为主机器人的机器人A的控制装置16A的指令,机器人C进行机械手10C的电动机的控制。
[0079] 通过反复执行N次该插值控制,使机器人A~C从变换当前位置矢量Swna、Swnb、Snc,经由变换轨迹目标位置矢量Swaj、Swbj、Scj,到达变换目标位置矢量Swra、Swrb、Src。对于机器人A、B,这意味着从当前位置矢量Sna、Snb经由轨迹目标位置矢量Saj、Sbj到达目标位置矢量Sra、Srb。
[0080] 以上是与插值控制有关的说明。接着,对本实施方式的作用进行说明。
[0081] 在本实施方式中,将2台从机器人(机器人B、C)与1台主机器人(机器人A)连接。并且,作为主机器人的机器人A的控制装置16A不仅存储有作为操纵机器人的第1从机器人(机器人C)与主机器人(机器人A)的变换矩阵TCA,还存储有第2从机器人(机器人B)与第1从机器人(机器人C)的变换矩阵TCB。另外,通过统一处理存储有3台机器人A~C的机械手10A、10B、10C的各轴的目标角度的动作程序,从而能够顺利地进行3台机器人A~C的同步,也能够以高精度进行协作动作。
[0082] 在此,关于使主机器人存储从机器人彼此的变换矩阵的优点,使用图8进行说明。图8示出对于把持工件的操纵机器人,从两侧由2台作业机器人进行焊接作业的机器人系统。在该机器人系统中,为了由1台主机器人生成与2台从机器人的变换矩阵,1台主机器人需要与2台从机器人分别进行前述的TCP位置对齐。但是,根据机器人A与B的配置间隔较大等的机器人系统的结构不同,作为主机器人的焊接机器人与作为从机器人的焊接机器人之间的TCP位置对齐有时是不可能的。此外,将作为从机器人的操纵机器人配置在能够与作为主机器人的焊接机器人以及作为从机器人的焊接机器人的两者进行TCP位置对齐的位置处。
[0083] 在此情况下,能够将操纵机器人作为主机器人,生成与2台焊接机器人的变换矩阵。但是,主机器人优选是作业者最频繁地使用的机器人,与具体的作业相伴随的焊接机器人进行作业条件的变更等的频率较高。因此,主机器人最好是焊接机器人。
[0084] 即使在以图8所示的方式配置了机器人的机器人系统中,如果使用本实施方式的控制方法,也由主机器人存储通过在从机器人彼此之间进行TCP位置对齐而生成的变换矩阵。因此,能够将无法与从机器人直接进行TCP位置对齐的机器人作为主机器人而进行协作动作。
[0085] 如上述所示,通过使用本实施方式,能够进行自由度更高的协作动作,能够构建具有3台以上机器人的机器人系统。
[0086] 此外,上面示出了2台焊接机器人和1台操纵机器人进行协作动作的例子。但是,焊接机器人也可以有3台以上。在此情况下,与本实施方式同样,通过多次进行从机器人彼此的变换矩阵的生成,从而能够实现协作动作。
[0087] 此外,在本实施方式中,示出了在工件坐标系∑w中简单地按照直线从当前位置矢量到目标位置矢量进行动作的例子。但是,从当前位置矢量朝向目标位置矢量的轨迹也可以是圆弧状等任意形状。
[0088] 此外,在本实施方式中,作为具体的作业,示出了焊接作业的例子。但是,不仅仅是焊接,也可以是涂饰、运输等作业。
[0089] 产业上的可利用性
[0090] 根据本公开,能够使3台以上机器人以高自由度进行协作动作,例如,作为由多台焊接机器人一边协作动作一边对由1台操纵机器人把持的工件进行焊接的机器人系统及其控制方法,在工业上是有用的。
[0091] 标号说明
[0092] A、B、C、D、E 机器人
[0093] 10A、10B、10C 机械手
[0094] 11A、11B 焊枪
[0095] 12A、12B 焊丝送给装置
[0096] 13A、13B 焊丝
[0097] 14A、14B 焊接机
[0098] 15C、34 操纵装置
[0099] 16A、16B、16C 控制装置
[0100] 17AB、17AC 光纤电缆
[0101] 18A、18B、18C 示教器
[0102] 20A、20B、20C 运算部
[0103] 21A 教导数据存储部
[0104] 22A、22B、22C 机械手控制部
[0105] 23A、23B 焊接条件指令部
[0106] 24A、24B、24C 通信部
[0107] 25AB、25AC 从机器人通信部
[0108] 25BA、25CA 主机器人通信部
[0109] 26C 操纵指令部
[0110] 26AC、26BC 校准点存储部
[0111] 27AC、27BC 变换矩阵存储部
[0112] Sna、Snb、Snc 当前位置矢量
[0113] Swna、Swnb 变换当前位置矢量
[0114] Sra、Srb、Src 目标位置矢量
[0115] Swra、Swrb 变换目标位置矢量
[0116] Swaj、Swbj 变换轨迹目标位置矢量
[0117] Saj、Sbj、Scj 轨迹目标位置矢量
QQ群二维码
意见反馈