控制自动化工作单元的方法与流程

文档序号:12594415阅读:447来源:国知局
控制自动化工作单元的方法与流程

本发明涉及控制自动化工作单元的方法。



背景技术:

从WO-A-2012/097834可知,通过现场总线从连接到机器人控制器的可编程逻辑控制器(PLC)控制机器人的方法。更具体地,已知的是在PLC中,用来控制机器人的程序中包含对应于所述机器人轨迹移动段的功能块。这些功能块由机器人控制器接口解释,该接口管理能够由机器人控制器解释的运动命令,并且通过总线传送这些命令。在优选例中,所述运动命令形成机器人控制的移动队列。

这种解决方案使得能够使用PLC的功能对机器人本身进行编程。每一个功能块可由操作员从PLC的标准接口进行编程。操作员不需要掌握特定的机器人的编程语言。该系统的缺点是PLC必须具有特定的机器人控制接口。

JP-A-2011/062798公开了一种PLC中的机器人运动的编程解决方案,其中存储地址分别赋给机器人指令并且存储内容定义了该命令的参数。例如,地址10500对应一个运动指令。当存储在地址中值为1时,运动指令的种类是MOV。由于需要传送大量的指令,该种解决方案的编程过程是繁琐的。



技术实现要素:

本发明旨在通过提出相对于现有技术中的方法有改善的控制自动化工作单元的方法以克服上述缺点。

为了实现上述目的,本发明提供一种控制自动化工作单元的方法,所述自动化工作单元包括:

至少一个机器人手臂,所述机器人手臂具有至少三个自由度;

可编程逻辑控制器,所述可编程逻辑控制器适合基于执行在该可编程逻辑控制器中编程的应用程序的轨迹的指令产生轨迹指令;

机器人控制器,所述机器人控制器适合操纵机器人手臂的运动;以及

所述可编程逻辑控制器与所述机器人控制器之间的通讯总线;

其中,所述控制方法包括如下步骤:

a)在所述可编程逻辑控制器中产生轨迹指令,所述轨迹指令包括用于执行至少定义在出发点与到达点之间的轨迹的参数;

b)将步骤a)中产生的所述轨迹指令发送到所述机器人控制器的计算单元;

c)基于在步骤b)中传送的所述轨迹指令,在机器人控制器的计算单元中产生基本的运动指令,用于在由所述轨迹指令定义的所述轨迹上操纵机器人手臂。

因为本发明,由PLC发送的命令数量少了许多,从而加速了轨迹的执行。PLC的编程过程简化了,因为不需要输入机器人手臂和应用程序执行过程中由该机器人手臂完成运动的特定数据。

根据本发明有利的但是可选的方面,在考虑任何技术上允许组合的情况下,本发明的方法可以结合以下特征中的一个或多个。

-在步骤a)中产生的轨迹指令中,所述轨迹由存储在所述机器人控制器存储器中一组预定义点的参比值定义,该参比值被输入所述轨迹指令包含的变量中。

-在步骤a)中产生的轨迹指令中,定义了用来执行所述轨迹的运动学参数。

-用来执行所述轨迹的运动学参数由存储在所述机器人控制器的存储器中并且输入所述轨迹指令包含的变量中的运动学参数参比值来定义。

-在步骤a)中产生的所述轨迹指令中,定义了所述轨迹的第一点的起始运动学参数和/或所述轨迹的最后一点的接近参数,它们在所述轨迹的执行中由机器人控制器实施。

-所述轨迹的第一点的起始运动学参数和/或所述轨迹的最后一点的接近参数由存储在所述机器人控制器的存储器中并且输入所述轨迹指令包含的变量中的起始参数和接近参数的参比值定义。

-在步骤a)中产生的所述轨迹指令包含由配备机器人手臂一端的工具执行的动作。

-在步骤a)中产生的所述轨迹指令中,定义了所使用工具的几何形状。

-所使用工具的几何形状由存储在机器人控制器的存储器中预定义的工具几何形状的参比值定义,该参比值被输入所述轨迹指令包含的变量中。

-在步骤a)中产生的所述轨迹指令包含由配备所述机器人手臂一端的工具执行的动作,并且由所述机器人控制器控制的所述工具动作的初始化及所述动作的初始化条件被输入所述轨迹指令包含的变量中。

-触发所述工具动作的条件包括:观察所述机器人手臂运动的前进状态,并且当所述运动的前进状态达到预定值时触发所述工具的动作。

-在步骤a)中,所述可编程逻辑控制器基于按照已定义的交换协议的轨迹的执行参数更新该可编程逻辑控制器的输入/输出值,以及在步骤b)中,所述机器人控制器的所述计算单元读取该计算单元的输入/输出值,输入/输出值对应于作为所述交换协议一部分的可编程逻辑控制器的输入/输出值。

参照附图,鉴于作为非限制性实例提供的以下按照本发明原理描述的控制方法,将更好地理解本发明,并且本发明的其他优势将会更清晰。

附图说明

图1是实施本发明方法的自动工作单元的示意图。

图2是本发明方法的一个工作循环期间所完成的运动轨迹图。

图3是本发明方法操作的框图。

图4是图2的运动轨迹的替换方案图。

具体实施方式

本发明的控制方法应用到图1所示的自动化工作单元2,其包括具有六个自由度A1,A2,A3,A4,A5和A6的至少一个机器人手臂4,对应于机器人手臂4的关节运动轴。机器人手臂4还包括电机M1到M6,分别能够沿着轴A1到A6操纵机器人手臂4的部件运动。

机器人手臂4还包括工具40或者位于机器人手臂4一端的效应器。

自动化工作单元2还包括控制该方法的可编程逻辑控制器6(以下称为PLC),其包含计算单元和连接到计算单元的存储器,执行自动化方法所需的动作序列以程序(也称为应用程序)的形式存储在所述存储器中。

自动化工作单元2包括机器人控制器10,机器人控制器10包含能够执行机器人手臂4的指令程序的计算单元11。优选地,计算单元11适合执行用VAL3语言编写的程序。可选地,计算单元11可能适合执行用其他类型语言编写的程序。

机器人控制器10的计算单元11从运动指令中生成动作,即,考虑任何简约和耦合关系,通过应用机器人手臂4关联的运动学模型,然后计算各电机M1到M6所要达到的位置,来计算六轴A1到A6中各自所要达到的关节位置。连续运动指令存储在运动栈中。可选地,计算单元11可不包含运动栈并且适合知晓两个运动指令的情况,该两个运动指令对应于计算单元11必须执行的当前运动及下一个运动。

机器人控制器10包括电机M1到M6各自的电机控制器C1到C6。基于获得的角位置信息,电机控制器C1到C6适合在电机M1到M6的相应相生成供应电流。该角位置信息来源于配备各电机M1到M6的编码器8,并且编码器8测量该电机的角位置并且将它发送给电机控制器。

PLC6和机器人控制器10通过现场总线5连接起来,使得能够利用输入/输出形式交换布尔和数字信息。这些信息通过相应的PLC6和机器人控制器10的驱动程序编码和解码。每一时刻,PLC6的计算单元的输入/输出值与机器人控制器10的输入/输出值完全相同。

机器人控制器10装有通讯板12。通过通讯板12,机器人控制器10既能连接到现场总线5,又能连接到内置的PCI总线(未示出)。支撑计算单元11的板也连接到通讯板12上。

PLC6的计算单元和机器人控制器10知晓现场总线5的交换区的结构。并且现场总线5建立一种交换协议,该交换协议尤其允许PLC6的计算单元的应用程序发送轨迹指令。

在图示的例子中,工作单元2包括适于控制电机M7和M8的两个电机控制器C7和C8,从而能够操纵自动化方法的配件供应和设备移除。这些电机M7和M8也配备有编码器8。电机控制器C7和C8通过现场总线5连接到PLC6和电机控制器10。

根据本发明的方法,每步操作后,PLC6的计算单元通过现场总线5发送轨迹指令Om到机器人控制器10。轨迹指令Om对应于从一个点到另一个点累积的基本运动的运动表现。换言之,轨迹指令Om指定与一组点一起分组的轨迹。对应于各点的关节坐标或笛卡尔坐标被存储在机器人控制器10的存储器中。机器人控制器10的计算单元11可访问该存储器。由于有这种新的方法,就没有必要将关节坐标或笛卡尔坐标传送到PLC6,以便能够执行工作单元2的操作程序。

在学习过程中,轨迹的点可以存储在机器人控制器10的存储器中。使用连接到机器人控制器10的学习控制器或“示教器”(未示出),操作员将机器人手臂4在轨迹的规定点上手动移动,并且将那些点存储在机器人控制器10的存储器中。

由PLC6发送的轨迹指令Om包含在轨迹指令Om产生期间输入的变量。VAL3语言具有变量表概念。变量表使得能够在该语言的单个元素中存储不定量的变量。根据对应于数据结构的已确定类型,变量可以被存储。例如,“POINT”类型的变量将各自对应一个自由度的六个实数组合在一起。“TOOLS”类型的变量将工具40的描述参数组合在一起,例如将参考基准面与实施者参考面联系起来的几何变换,允许工具40转向的电信号数目或者其响应时间。“MDESCS"类型的变量将运动学参数,例如速度,加速度或滤波(smoothing)模式组合在一起。

从这些可能性,工作单元2在机器人控制器10的存储器中创建数据库15,数据库15包括如下要素:

-包含"Point"型变量的N个列表的"POINTS"表151,N是参比的轨迹的最大数量;

-包含M个“Tools"型变量的“TOOLS"表152,M是参比的工具几何参数的最大数量;

-包含K个“Mdesc"型变量的“MDESCS"表153,K是参比的运动学参数组的最大数量。

这些数据基于安装者的应用需求由安装者初始化。"POINTS"表151优选以二维点表的形式用VAL3语言进行编程。第一维是一个轨迹的标识符。第二维是该轨迹上的一个点的标识。这些点可以输入笛卡尔坐标或关节坐标,即,附着到轴A1到A6。"TOOLS"表152包含与PLC6编程的应用程序中使用的工具相关信息。表151,152和153表示机器人控制器10的存储器位置。可选地,表151,152和153各自可以在专用的存储区编程。

为机器人手臂4的轨迹执行编程,PLC6的编程人员使用包括限定所需轨迹的数据库变量的参比值的单个运动指令。该指令指的是由处理器解释或编译的程序的步骤。处理器在进入下一个指令前将执行该指令。例如,在ST(结构文本)语言中,启动轨迹执行的一个指令可以表示为具有四个数值参数的MOVE指令的形式,编写如下:

MOVE(i,n,m,k)

其中:

-变量i可以假设值0,1,2并且确定要使用的轨迹类型(0:关节的;1;线性的;2:圆形的);

-变量n(0和N之间)以要使用的轨迹点为参比;

-变量m(0和M之间)以要使用的工具40的几何参数为参比;

-变量K(0和K之间)以要使用的运动学参数为参比。

在MOVE指令执行期间,PLC6的计算单元拷贝相应输出中的MOVE指令的四个参数的值,当这些参数在PLC6和机器人控制器10之间的交换协议内定义时。由现场总线5传送后,输出可用作机器人控制器10的输入。这些输入在计算单元11中通过优选用VAL3语言编写的服务器程序解释,进而产生用于机器人手臂4一端的相应基本运动指令iME。因此,PLC6的计算单元发送对应于所述方法的控制程序的轨迹执行指令的轨迹指令Om。计算单元11确定要做出的基本动作来执行轨迹指令Om指定的轨迹,并且计算机器人手臂4的M1到M6各电机的相应运动指令iD。

例如,在VAL3语言中,机器人手臂4一端的基本运动指令iME以如下唯一的形式构建:

MOVEX(Point,Tool,Mdesc)

其中,“X”对应于使用的运动类型并且假设值J(关节运动),L(线性运动)或C(圆周运动),"Point"是运动的目的地,"Tool"描述存在于机器人手臂4上的工具40的几何结构,并且“Mdesc"是包含定义一个动作所必需的所有运动学参数的数据结构,尤其包括速度、加速度、减速度及滤波值。

如果是圆周运动,一个基本运动指令iME必须至少要指定两个点。

例如,对于对应于PLC6发送的机器人手臂4的线性轨迹的各轨迹指令Om,计算单元11将确定,然后执行包含基本运动指令iME的指令序列,可用VAL3语言表达如下:

FOR index=0to NumberOfVariablesIn(POINTS[n])

MOVEL(POINTS[n][index],TOOLS[m],MDESCS[o])

END_FOR

类似构建对应于关节或圆周运动类型的基本运动指令iME的序列。

图3示出了用于由PLC6产生的轨迹指令Om的处理协议。基于应用程序20或上述方法的控制程序的轨迹的执行指令,PLC6生成轨迹指令Om,包括输入输入/输出值22和数据库15中使用的轨迹数据的参比值。这些参比值是:

-轨迹点151库中所需轨迹的指数;

-运动描述符152库中所用的运动描述符的指数;

-工具153库中所用工具的指数。

包含该轨迹指令的输入/输出值22通过通讯程序24或驱动器发送到现场总线5的输入终端51。

一旦通过现场总线5的输出终端52到达机器人控制器10,所述轨迹指令就由通讯程序26或驱动器转换并且以输入/输出值28的形式发送到计算单元11。

计算单元11包含根据已定义的协议解释输入/输出值28,用VAL3语言编写的服务器程序30。计算单元11通过恢复来自数据库15的轨迹特征生成对应于所述轨迹指令Om的基本运动指令序列。基本运动指令iME源于存储在指令栈32中的所述轨迹指令Om,然后通过计算运动指令iD的轨迹生成器34一个接一个地处理。通过实施机器人臂4的传送运动学模型来计算用于M1到M6各电机的运动指令iD。该模型定义了机器人臂4的不同部件之间的任何连接比或减速比。运动指令iD被发送到生成电机M1~M6的控制电流的各电机控制器C1~C6。

特别地,本发明使得能够实施由重复一循环组成的用于拾取和移动对象或“拾取和放置”的应用程序。在所述循环中,一部件在点P1拾取并且带到点P6,同时通过一系列要放置的P2到P5点,中机器人手臂4随后回到点P1以再次启动循环,如图2所示。

这个应用程序由PLC6实施,PLC6的计算单元将执行包含机器人手臂4的一系列运动操作及由工具40所做动作的程序。对于“拾取和放置”应用程序,工具40通常是气动吸盘。

为了执行拾取和放置应用程序,PLC6的计算单元在一个循环中执行如下操作:

(循环开始)

启动部件的拾取

触发从P1到P6的机器人手臂的轨迹执行

启动该部件的释放

触发从P6到P1的机器人手臂的轨迹执行

(循环中止)

如图4所示,根据本发明的一个可选方面,在“拾取和放置”应用程序中,优选跟随确定的运动离开轨迹的第一点P1以及跟随确定的运动去往轨迹的终点P6。通常,这些运动是在轨迹的起始阶段是要移动部件的抽取动作以及接近轨迹的最终点后是该部件的插入动作。这些运动例如插入动作和/或抽取动作由纯平移完成,如果拧紧或拧开是必要的,那么可选择地与旋转结合起来。

接近和离开运动通常是特定的自动化过程;这些动作取决于操作部件和接收它们的支撑部件。为了实现这一特性,PLC6的编程人员可用到与轨迹指令相关的附加参数。这些附加参数按如下方式表示:

-Tdepart对应于机器人控制器10的数据库的几何变换的参比值。该几何变换应用于轨迹的第一点P1以定义出发点P'1。

-mdescDepart对应于机器人控制器10的数据库的运动描述符的参比值。其定义了在点P1和P’1之间延伸的出发轨迹要用的运动学参数。

-Tappro对应于机器人控制器10的数据库的几何变换的参比值。该几何变换应用于轨迹的最后一个点P6以定义接近点P’6。

-mdescAppro对应于机器人控制器10的数据库的运动描述符的参比值。其定义了用于在点P’6和P6之间延伸的接近轨迹要用的运动学参数。

Tdepart和Tappro参数是指输入数据库15的转换表154的转换情况。mdescDepart和mdescAppro的参数是指输入到“MDESC"表153的运动类型。

由PLC6的编程人员开发并且在轨迹指令Om中由PLC6解释以执行轨迹来实施操作的指令可用,例如ST语言编写如下,该操作包含具体的出发和接近动作:

MOVE(i,n,m,o,Tdepart,mdescDepart,Tappro,mdescAppro)

这些参数与该轨迹的其他参数以同样的方式通过在交换协议中指定的新输出值传送。

为了执行出发和接近动作,服务器程序30自动计算要插在点P1和P2之间的附加点P1’及点P5和P6之间的附加点P6’。通过将对应的Tdepart和Tappro几何变换应用到所讨论轨迹的第一点P1和最后一个点P6来计算这些附加点。对于包括指定的接近和出发动作的此类轨迹指令Om,服务器程序30添加线性运动ML1和线性运动ML6。线性运动ML1是在轨迹的起始阶段朝着出发点P’1由运动学参数mdescDepart计算。源自接近点P’6的线性运动ML6是在轨迹的终端由运动学参数mdescAppro计算。在VAL3语言中,包含由计算单元11生成的基本运动指令iME的指令序列可以编写如下:

根据未示出的本发明的一实施例,本发明的方法可应用到从第一点P1出发的特定运动,或靠近最后一点P6的特定运动。

根据本发明的另一可选方面,在“拾取和放置”应用程序中,可有利地提前对工具40进行控制,使得不会因为工具40的反应时间损失周期时间。机器人控制器10可有效完成该同步操作。当所控制的机器人手臂到达给定位置时,机器人控制器通常具有触发一个动作的可能性。

为了实现这一特异性,与用于执行轨迹的指令相关的附加参数可供PLC6的安装者使用。这些附加参数可以按如下定义,例如在“拾取和放置”应用程序中:

-动作触发(ActionTrigger)对应于包含连接轨迹的接近点P’6到最后点P6的该轨迹前进情况的0到100之间的百分数。值“0”或“100”分别表示动作在接近点P’6或轨迹的终点P6上触发。

-打开或关闭(OpenOrClose)是布尔命令,指定期望动作是打开工具40还是关闭工具40,例如如果后者是夹具,使得能够抓住某物品。

可选地,该命令可适于激活或解除工具40的特定功能。

在其他预先定义的参数之后,这些参数在PLC6输入MOVE指令,如下所示:

MOVE(i,n,m,o,Tdepart,mdescDepart,Tappro,mdescAppro,

ActionTrigger,OpenOrClose)

其中,ActionTrigger是一值,例如50。如果某人想要在运动前进情况的50%实施动作,且OpenOrClose是一布尔值,例如“TRUE”或“FALSE”,取决于期望激活或者解除工具。

为了实现这一功能,观察各制定运动的前进状态。实际上,对应于基本运动指令iME的任何基本动作命令,例如“Move”类型指令,是指例如在“MotionID”变量中的运动标识符。可以在任何时刻查询机器人控制器10以确定特定运动的前进状态。例如,在VAL3语言中,在“GetMotionProgress(MotionID)”函数中,“MotionID”相当于一准确运动标识符,使得能够尤其是以百分比的形式确定那个时刻的前进状态。

此外,在VAL3语言中,调用Tools型变量作为参数的函数“Open()”和“close()”的命令使得能够操纵在“Tools”表152中定义的工具,例如打开或关闭夹具。

为了实现这一功能,计算单元11的服务器程序30获取接近动作ML6的标识符,并且例如将它存储在“ApproID”变量中。为了这个目的,包含基本运动指令iME的指令序列可以做如下修改:

而且,平行任务在计算单元11上发起,该平行任务由观察关于标识符已经获得的运动前进情况以及当运动前进达到“ActionTrigger”参数指定的值时触发预定的动作组成。发起动作的平行任务的指令可以用VAL3语言按照如下方式编写:

本发明的方法是优选使用Ethercat接口实现,但不是唯一的。它本质上需要通信手段,该通信手段可以是Ethercat现场总线之外的一种类型。例如,本发明的方法可以用MODBUS总线实现。

在一优选实施例中,本发明提供了参比轨迹指令Om中存储在机器人控制器10的存储器中的参数传送轨迹数据。可选地,轨迹数据也可以按值传送,即,通过在PLC6的编程人员创建的运动指令中定义点坐标,速度或其他参数。例如,一轨迹的两个点可以通过MOVE指令中的坐标直接输入。尤其是,对应于工具命令早期初始化的数据可以有利地按值传送,因为它们的开发是基于PLC6中的应用程序20的执行完成的。

同样地,根据输入/输出表的协议,本发明是基于轨迹指令的传送。本发明方法可以通过采用基于创建了发送和接收包含轨迹指令的信息的客户端/服务器架构的传送方式来实施。

以上描述的本发明实施例和可替代方案的特点可以组合形成新的实施例。

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