控制系统、控制器以及控制方法与流程

文档序号:15616401发布日期:2018-10-09 21:29阅读:165来源:国知局

本发明涉及控制系统、控制器以及控制方法。



背景技术:

日本专利文献特开2013-134786号公报中公开了一种方法,其包括以下步骤:将要由数控机床的计算机执行而构成的数控语言程序转换成机器人语言程序并记录在大容量存储装置中;以及使用与大容量存储装置和机器人连接的机器人控制装置来执行机器人语言程序。



技术实现要素:

本发明的目的在于提供一种有效的控制系统、控制方法以及控制器,使得能够在多种用户接口上进行多种机器人的动作编程。

本发明一个方式中的控制系统包括:第一控制器,对多个控制对象进行控制;以及第二控制器,根据来自第一控制器的指令对多轴机器人进行控制,其中,第二控制器具有:电力输出部,向多轴机器人的多个关节轴输出驱动电力;存储部,存储多个坐标变换程序;第一通信部,在与第一控制器之间进行信息的输入输出;以及控制处理部,被构成为执行:通过第一通信部从第一控制器获取程序指定信息,所述程序指定信息用于指定多个坐标变换程序中的某一个;通过第一通信部从第一控制器获取第一控制器用的坐标系上的动作指令;利用基于程序指定信息的坐标变换程序将动作指令变换为多轴机器人的所述多个关节轴的动作目标值;以及通过电力输出部向多个关节轴输出与所述动作目标值相应的驱动电力。

本发明另一方式中的控制器包括:电力输出部,向多轴机器人的多个关节轴输出驱动电力;存储部,存储了多个坐标变换程序;第一通信部,在与第一控制器之间进行信息的输入输出,第一控制器对多个控制对象进行控制;以及控制处理部,被构成为执行:通过第一通信部从第一控制器获取程序指定信息以及第一控制器用的坐标系上的动作指令,所述程序指定信息用于指定多个坐标变换程序中的某一个;利用基于程序指定信息的所述坐标变换程序,将动作指令变换为多轴机器人的多个关节轴的动作目标值;以及通过电力输出部向多个关节轴输出与动作目标值相应的驱动电力。

本发明的另一方式中的控制方法,由第二控制器执行,所述第二控制器根据来自第一控制器的指令来控制多轴机器人,所述第一控制器控制多个控制对象,其中,控制方法包括:存储多个坐标变换程序;从第一控制器获取程序指定信息以及第一控制器用的坐标系上的动作指令,所述程序指定信息用于指定多个坐标变换程序中的某一个;利用基于程序指定信息的坐标变换程序,将动作指令变换成多轴机器人的多个关节轴的动作目标值;以及向多个关节轴输出与动作目标值相应的驱动电力。

根据本发明,能够提供一种有效的控制系统、控制方法以及控制器,使得能够在多种用户接口上进行多种机器人的动作编程。

附图说明

图1是表示控制系统的功能结构的框图;

图2是表示控制系统的硬件结构的框图;

图3是表示第一控制器的控制进程的流程图;

图4是表示第二控制器的控制进程的流程图;

图5是表示坐标变换程序的登记进程的流程图。

具体实施方式

以下,在实施方式中,参照附图进行详细说明。在说明当中,对相同要素或者具有相同功能的要素标注相同符号,并省略重复的说明。

(控制系统)

本实施方式中的控制系统1控制多种控制对象以执行一连串的工序。如图1所示,控制系统1包括:控制多个控制对象的第一控制器100;根据来自第一控制器的指令控制多轴机器人10的第二控制器200;以及根据来自第一控制器的指令来控制多轴机器人10的外围设备20的第三控制器300。

多轴机器人10例如是串联型的垂直多关节机器人,具有多个(例如6轴)关节轴j1~j6以及分别驱动关节轴j1~j6的多个致动器11~16。外围设备20例如具有伺服电机21,将其作为动力源进行动作。例如,外围设备20保持多轴机器人10的作业对象的工件,与多轴机器人10的作业配合来调节工件的位置和姿势。

第一控制器100例如是plc(programmablelogiccontroller,可编程逻辑控制器),其根据规定的信号输入,按规定的顺序执行经由第二控制器200以及第三控制器300的多个控制处理。在各个控制处理中,第一控制器100按照规定的控制周期向第二控制器200以及第三控制器300输出动作指令(例如位置控制的目标值)。第一控制器100只要能够对多个控制对象进行控制,则可以是任何控制器,也可以是所谓的机器控制器。

作为功能结构(以下称为“功能模块”),第一控制器100具有动作存储部110、通信部120、130、140以及控制处理部150。

动作存储部110存储对多轴机器人10以及外围设备20的动作内容进行规定的信息(以下称为“动作信息”)。动作信息例如包括:对要在多轴机器人10的控制中使用的坐标变换程序进行指定的信息(以下称为“程序指定信息”);和将要输出给多轴机器人10以及外围设备20的动作指令按时序排列的列表。

通信部120与第二控制器200间进行信息的输入输出。通信部130与第三控制器300间进行信息的输入输出。通信部140在与终端装置30之间进行信息的输入输出。终端装置30被用于动作信息的编程。

控制处理部150被构成为执行:将上述程序指定信息和使多轴机器人10动作的第一动作指令通过通信部120输出到第二控制器200;以及将第二动作指令通过通信部130输出至第三控制器300。

例如,作为更加细分化的功能模块,控制处理部150具有指令生成部151、程序指定部152、指令输出部153、154以及动作获取部155。

指令生成部151从存储于动作存储部110的动作信息获取程序指定信息,基于动作信息按照每个控制周期生成上述第一动作指令以及第二动作指令。程序指定信息例如是坐标变换程序的识别编号。第一动作指令例如是在正交坐标系等系统控制用的坐标系(以下称为“第一坐标系”)中对多轴机器人10的顶端部的位置和姿势的目标值进行确定的数值数据。第二动作指令例如是对外围设备20的伺服电机21的角度目标值进行确定的数值数据。

程序指定部152将程序指定信息通过通信部120输出给第二控制器200。指令输出部153将第一动作指令通过通信部120输出给第二控制器200。指令输出部154将第二动作指令通过通信部130输出给第三控制器300。

动作获取部155通过通信部140从终端装置30获取以规定的语言(以下称为“第一编程语言”)编程的动作信息,并将该动作信息写入动作存储部110。第一编程语言例如是工业用的编程语言。作为工业用编程语言的具体示例,可例举出ld(ladderdiagram,梯形图)、fbd(functionblockdiagram,功能模块图)、sfc(sequentialfunctionchart,顺序功能图)、il(instructionlist,指令表)以及st(structuredtext,结构化文本)等。

第二控制器200例如是机器人控制器,根据来自第一控制器100的指令来控制多轴机器人10。作为功能结构(以下称为“功能模块”),第二控制器200具有程序存储部210、模型信息存储部260、通信部220、230、控制处理部240以及电力输出部250。

程序存储部210存储多个坐标变换程序。坐标变换程序是能够在通过第一编程语言编程的动作信息内进行指定,是用于将上述第一坐标系变换为多轴机器人10的控制用坐标系(例如为关节轴j1~j6的关节坐标系。以下称为“第二坐标系”)的api(applicationprogramminginterface,应用编程接口)。坐标变换程序通过与用于对第一控制器100的控制内容编程的上述第一编程语言不同的第二编程语言编程。坐标变换程序也可通过第二编程语言进行硬编码。所谓硬编码,是指将坐标变换的内容以用户无法编辑的形式进行编码。作为第二编程语言的具体例子,可例举出c语言、basic、汇编或者帕斯卡等。

多个坐标变换程序可以包括与作为基准的坐标系彼此不同的多种第一控制器100分别对应的多个坐标变换程序。多个坐标变换程序也可以包括与多种多轴机器人10分别对应的多个坐标变换程序。此外,多个坐标变换程序还可以包括上述两种坐标变换程序。此外,多个坐标变换程序还可以包括:与上述多种第一控制器100以及上述多种多轴机器人10的组合分别对应的多个坐标变换程序。

模型信息存储部260存储多轴机器人10的模型信息。模型信息例如是多轴机器人10的构造、大小、质量等,以及除此之外的致动器11~16的额定输出以及控制增益等之类的表示多轴机器人10的结构参数以及控制参数的数值数据的集合。

对于模型信息存储部260来说,也可以包括与多种多轴机器人10分别对应的多个模型信息。另外,多种多轴机器人10可以包括第二控制器200能够控制的任何种类的多轴机器人。例如,多种多轴机器人10除了上述串联型的垂直多关节机器人之外,也可以包括水平多关节型的机器人、并联型的机器人等。

通信部220(第一通信部)与第一控制器100间进行信息的输入输出。通信部230(第二通信部)与终端装置40间进行信息的输入输出。终端装置40用于进行坐标变换程序的登记。

电力输出部250向多轴机器人10的多个关节轴j1~j6输出驱动电力。

控制处理部240被构成为执行:通过通信部220从第一控制器100获取对多个坐标变换程序中的任一个进行指定的程序指定信息;通过通信部220从第一控制器100获取第一控制器100用的坐标系上的动作指令(上述第一动作指令);利用基于程序指定信息的坐标变换程序将第一动作指令变换为多轴机器人10的多个关节轴j1~j6的动作目标值;通过电力输出部250向多个关节轴j1~j6输出与该动作目标值相应的驱动电力。控制处理部240可以被构成为还执行:通过通信部230从终端装置40获取坐标变换程序并将其写入到程序存储部210。

例如,作为更加细分化的功能模块,控制处理部240具有指令获取部241、程序设定部242、坐标变换部243、输出处理部244以及程序获取部245。

指令获取部241通过通信部220从第一控制器100获取上述第一动作指令等与多轴机器人10的控制有关的指令。

程序设定部242通过通信部220从第一控制器100获取上述程序指定信息,并基于程序指定信息选定程序存储部210中存储的多个坐标变换程序中的任一个。

坐标变换部243利用由程序设定部242选定的坐标变换程序,将上述第一动作指令变换为多轴机器人10的多个关节轴j1~j6的动作目标值。例如,坐标变换部243利用由程序设定部242选定的坐标变换程序,将上述第一坐标系中的第一动作指令变换为上述第二坐标系中的动作指令,并通过使用了该动作指令以及存储于模型信息存储部260中的模型信息的逆运动学运算生成关节轴j1~j6的动作目标值。

输出处理部244通过电力输出部250向关节轴j1~j6输出与由坐标变换部243生成的动作目标值相应的驱动电力。

程序获取部245通过通信部230从终端装置40获取坐标变换程序并将其写入程序存储部210。

第三控制器300例如是伺服控制器,对伺服电机21进行控制,以按照从第一控制器100输出的上述第二动作指令使外围设备20动作。

图2是表示控制系统的硬件结构的框图。如图2所示,第一控制器100具有电路190,电路190具有一个或多个处理器191、存储部192以及通信端口193、194、195。

存储部192包括内存(memory)196以及存储器(storage)197。存储器197作为上述动作存储部110发挥功能并记录用于构成上述控制处理部150的各功能模块的程序。只要可以由计算机读取,存储器197可以是任何形式的。作为具体的例子,包括硬盘、非易失性半导体存储器、磁盘、光盘等。内存196临时存储从存储器197加载的程序和处理器191的运算结果等。处理器191与内存196配合执行程序,从而构成控制处理部150的各个功能模块。即,处理器191作为控制处理部150发挥作用。

通信端口193根据来自处理器191的指令,与第二控制器200的通信端口294(后述)间进行信息通信(例如高速串行通信)。通信端口193作为上述通信部120发挥作用。

通信端口194根据来自处理器191的指令,与第三控制器300的通信端口393(后述)间进行信息通信(例如高速串行通信)。通信端口194作为上述通信部130发挥作用。

通信端口195根据来自处理器191的指令,与终端装置30间进行信息通信(例如高速串行通信)。通信端口195作为上述通信部140发挥作用。

第二控制器200具有电路290,电路290具有一个或多个处理器291、存储部292、通信端口293、294、输入输出端口295、驱动器296。

存储部292包括内存297以及存储器298。存储器298作为上述程序存储部210以及模型信息存储部260发挥作用,并且记录用于构成上述控制处理部240的各功能模块的程序。只要可以由计算机读取,存储器298可以是任何形式的。作为具体的例子,包括硬盘、非易失性半导体存储器、磁盘、光盘等。内存297临时存储从存储器298加载的程序和处理器291的运算结果等。处理器291与内存297配合执行程序,从而构成控制处理部240的各个功能模块。即,处理器291作为控制处理部240发挥作用。

通信端口294根据来自处理器291的指令,与第一控制器100的通信端口193间进行信息通信。通信端口294作为上述通信部220发挥作用。

通信端口293根据来自处理器291的指令,与终端装置40间进行信息通信(例如高速串行通信)。通信端口294作为上述通信部230发挥作用。

输入输出端口295根据来自处理器291的指令,从致动器11~16获取表示关节轴j1~j6的角度的电信号。驱动器296根据来自处理器291的指令,向致动器11~16输出驱动电力。输入输出端口295作为上述电力输出部250发挥作用。

第三控制器300具有电路390,电路390具有一个或多个处理器391、存储部392、通信端口393、输入输出端口394以及驱动器395。

存储部392包括内存396以及存储器397。存储器397记录用于控制外围设备20的程序。只要可以由计算机读取,存储器397可以是任何形式的。作为具体的例子,包括硬盘、非易失性半导体存储器、磁盘、光盘等。内存396临时存储从存储器397加载的程序和处理器391的运算结果等。处理器391与内存396配合执行程序,从而基于上述第二动作指令执行外围设备20的控制。

通信端口393根据来自处理器391的指令,与第一控制器100的通信部130间进行信息通信。

输入输出端口394根据来自处理器391的指令,获取表示伺服电机21的旋转角度的电信号。驱动器395根据来自处理器391的指令,向伺服电机21输出驱动电力。

另外,控制器100、200、300的硬件结构并不限于必须通过程序来构成各功能模块。例如,控制器100、200、300的上述功能模块的至少一部分也可以由专用逻辑电路或集成了这些逻辑电路的asic(applicationspecificintegratedcircuit,专用集成电路)构成。

(控制方法)

接着,作为控制方法的一个例子,对第一控制器100中的控制处理进程、第二控制器200中的控制处理进程以及第二控制器200中的坐标变换程序的登记进程进行说明。

(第一控制器中的控制处理进程)

如图3所示,第一控制器100首先执行步骤s01。在步骤s01中,指令生成部151经由指令输出部153以及通信部120将多轴机器人10的控制的开始指令输出给第二控制器200,并经由指令输出部154以及通信部130将外围设备20的控制的开始指令输出给第三控制器300。

接着,第一控制器100执行步骤s02。在步骤s02中,指令生成部151从存储于动作存储部110中的动作信息获取程序指定信息,程序指定部152通过通信部120将该程序指定信息输出给第二控制器200。

接着,第一控制器100执行步骤s03。在步骤s03中,指令生成部151根据被存储于动作存储部110中的动作信息,生成控制开始后的初始的第一动作指令以及第二动作指令。

接着,第一控制器100执行步骤s04。在步骤s04中,指令输出部153将指令生成部151生成的第一动作指令通过通信部120输出给第二控制器200,指令输出部154将由指令生成部151生成的第二动作指令通过通信部130输出给第三控制器300。

接着,第一控制器100执行步骤s05。在步骤s05中,指令生成部151确认由上述动作信息规定的全部动作指令是否完成了输出。

在步骤s05中,当判定为还剩余应输出的动作指令时,第一控制器100执行步骤s06。在步骤s06中,指令生成部151等待控制周期经过。

接着,第一控制器100执行步骤s07。在步骤s07中,指令生成部151基于被存储于动作存储部110中的动作信息,生成下一个控制周期用的第一动作指令以及第二动作指令。

然后,第一控制器100将处理返回到步骤s04。以后,按照控制周期反复执行第一动作指令的输出、第二动作指令的输出以及动作指令的更新,直至完成全部动作指令的输出。

在步骤s05中,当判定为全部动作指令完成输出时,第一控制器100执行步骤s08。在步骤s08中,指令生成部151经由指令输出部153以及通信部120将多轴机器人10的控制的完成指令输出给第二控制器200,经由指令输出部154以及通信部130将外围设备20的控制的完成指令输出给第三控制器300。以上,完成第一控制器100中的控制处理进程。

(第二控制器中的控制处理进程)

如图4所示,第二控制器200首先执行步骤s11。在步骤s11中,指令获取部241确认指令从通信部120到通信部220的接收状况,等待输入多轴机器人10的控制的开始指令。

接着,第二控制器200执行步骤s12。在步骤s12中,程序设定部242确认指令从通信部120到通信部220的接收状况,并等待上述程序指定信息的输入。

接着,第二控制器200执行步骤s13。在步骤s13中,程序设定部242通过通信部220从第一控制器100获取上述程序指定信息,基于该程序指定信息选定存储于程序存储部210中的多个坐标变换程序中的任一个。

接着,第二控制器200执行步骤s14。在步骤s14中,指令获取部241确认指令从通信部120到通信部220的接收状况,等待上述第一动作指令的输入。

接着,第二控制器200执行步骤s15。在步骤s15中,指令获取部241获取该第一动作指令。然后,坐标变换部243利用由程序设定部242选定的坐标变换程序,将上述第一动作指令变换为多轴机器人10的多个关节轴j1~j6的动作目标值。例如,坐标变换部243利用由程序设定部242选定的坐标变换程序,将上述第一坐标系中的第一动作指令变换为上述第二坐标系中的动作指令,并通过利用了该动作指令以及存储于模型信息存储部260中的模型信息的逆运动学运算,生成关节轴j1~j6的动作目标值。

接着,第二控制器200执行步骤s16。在步骤s16中,输出处理部244通过电力输出部250向关节轴j1~j6输出与由坐标变换部243生成的动作目标值相应的驱动电力。

接着,第二控制器200执行步骤s17。在步骤s17中,指令获取部241确认指令从通信部120到通信部220的接收状况,确认是否输入了多轴机器人10的控制的完成指令。

在步骤s17中,当判定为没有输入上述完成指令时,第二控制器200将处理返回到步骤s14。之后,按控制周期反复执行第一动作指令的获取、坐标变换以及驱动电力的输出,直至接收到上述完成指令。

在步骤s17中,当判定为接收到上述完成指令时,第二控制器200完成处理。以上,完成第二控制器200中的控制处理进程。

(第二控制器中的坐标变换程序的登记进程)

如图5所示,第二控制器200首先执行步骤s21。在步骤s21中,程序获取部245确认数据从终端装置40到通信部230的接收状况,等待输入坐标变换程序的登记要求。

接着,第二控制器200执行步骤s22。在步骤s22中,程序获取部245从终端装置40获取坐标变换程序。

接着,第二控制器200执行步骤s23。在步骤s23中,程序获取部245确认所获取的程序的数据格式是否是能够在坐标变换部243中利用的格式。例如,程序获取部245确认程序的参数的格式是否与第一坐标系的数据格式一致,以及程序的输出数据形式是否与第二坐标系的数据格式一致等。

在步骤s23中,当判定为程序的数据格式不是能够在坐标变换部243中利用的格式时,第二控制器200执行步骤s24。在步骤s24中,程序获取部245将通知意为数据格式不合适的消息输出给终端装置40。

在步骤s23中,当判定为程序数据格式是能够在坐标变换部243中利用的格式时,第二控制器200执行步骤s25。在步骤s25中,程序获取部245将所获取的程序写入程序存储部210。以上,完成坐标变换程序的获取处理。

(本实施方式的效果)

如以上说明的那样,控制系统1包括:对多个控制对象进行控制的第一控制器100;以及根据来自第一控制器100的指令来控制多轴机器人10的第二控制器200。第二控制器200具有:电力输出部250,向多轴机器人10的多个关节轴j1~j6输出驱动电力;程序存储部210,存储多个坐标变换程序;通信部220,与第一控制器100间进行信息的输入输出;以及控制处理部240,其被构成为执行:通过通信部220从第一控制器100获取对多个坐标变换程序中的任一个进行指定的程序指定信息、通过通信部220从第一控制器100获取第一控制器100用的坐标系中的第一动作指令、利用基于程序指定信息的坐标变换程序将第一动作指令变换为多轴机器人10的多个关节轴j1~j6的动作目标值、通过电力输出部250向多个关节轴j1~j6输出与动作目标值相应的驱动电力。

当由第二控制器200进行多轴机器人10的动作编程时,用于该编程的用户接口限于第二控制器200的用户接口。作为用于使得能够通过第一控制器100的用户接口进行多轴机器人10的动作编程的一个方法,可考虑导入变换程序,其将第一控制器100的用户接口用的输入内容自动变换为第二控制器200的用户接口用的输入内容。但是,按照第一控制器100的用户接口的种类来准备这样的变换程序是有界限的。

与此相对,在本控制系统中,第二控制器200的控制处理部240执行:从第一控制器100获取上述程序指定信息和上述第一动作指令;利用基于程序指定信息的坐标变换程序,将动作指令变换为多轴机器人10的多个关节轴j1~j6的动作目标值;通过电力输出部250向多个关节轴j1~j6输出与动作目标值相应的驱动电力。因而,只要能输出程序指定信息和第一动作指令,不管用户接口是何种类,都能够在第一控制器100中进行多轴机器人10的动作编程。此外,由于能够通过程序指定信息来指定与多轴机器人10的类别相对应的坐标变换程序,因而能够进行多种多轴机器人10的动作编程。因此,能够有效地在多种用户接口上进行多种机器人的动作编程。

第二控制器200还包括与终端装置4间进行信息的输入输出的通信部230,控制处理部240可以被构成为还执行:通过通信部230从终端装置40获取坐标变换程序并写入程序存储部210。此时,通过能够追加登记坐标变换程序,能够进行更多种机器人的动作编程。

多个坐标变换程序可以包括由第二编程语言编程的坐标变换程序,该第二编程语言与用于对第一控制器100的控制内容进行编程的第一编程语言不同。此时,并不受限于第一编程语言,将适于第二控制器200中的本地处理的语言用作第二编程语言,从而能够实现坐标变换的高速化、高效化。

多个坐标变换程序可以包括与坐标系彼此不同的多种第一控制器100分别对应的多个坐标变换程序。此时,能够在更多种用户接口上进行机器人的动作编程。

多个坐标变换程序可以包括:与多种多轴机器人10分别对应的多个坐标变换程序。此时,能够进行更多种的机器人的动作编程。

以上,对实施方式进行了说明,但本发明并非一定限定于上述的实施方式,在不脱离其主旨的情况下可进行各种修改。

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