后处理器

后置处理器是离线编程的关键一步,因为它们可以为特定的机器人控制器生成ayx官方机器人程序。机器人编程必须遵循厂商特定的编程规则,这些规则在后处理器中实现。机器人后置处理器定义了如何为特定的机器人控制器生成机器人程序。

从RoboDK模拟到特定机器人程序的转换是由后置处理器完成的。每个机器人都连接到一个后处理器,后处理器将定义一个特定的机器人编程风格。后置处理器在程序脱机生成时使用,如生成程序节(右键单击程序,然后选择Generate Robot program)。

RoboDK包括许多后置处理器,以支持50多个不同的机器人制造商和控制器。支持的控制器列表请参见可用的后置处理器部分。另外,还可以创建自定义后处理程序或修改现有后处理程序。所有可用的后置处理器都在:C:/RoboDK/Posts/文件夹中。

一个后置处理器是一个PY文件(每个后置处理器都由Python脚本定义)。中的文件可以手动添加、修改或删除的帖子RoboDK文件夹。如果你已经提供了一个RoboDK后处理器(PY文件),它应该放在Posts文件夹中,以便它可以从RoboDK中选择。

本节展示了如何选择,编辑或创建后处理器,并在RoboDK中与机器人一起使用。以下视频提供了一个简短的介绍://www.x7093.com/help#PostProcessor

选择后置处理器

您可以通过右键单击机器人或程序轻松选择后置处理器。后置处理器的选择是分配给机器人的,因此,改变分配给程序的后置处理器将更新分配给同一机器人的所有程序使用的后置处理器。

为机器人选择后置处理器:

1.右击机器人或程序

2.选择选择后置处理器

3.从列表中选择一个后置处理器

4.选择OK。

后置处理器-图像1后置处理器-图像2

现在应用了更改,可以再次生成程序以查看结果。

作为一种替代方案,也可以通过以下步骤选择后置处理器:

1.打开机器人面板(双击一个机器人)

2.选择参数

3.在Robot品牌框中选择后置处理器,如下图所示。

后置处理器编辑器

您可以使用图形用户界面轻松修改后处理器设置。后置处理器编辑器允许您修改后置处理器中定义的特定于机器人控制器的变量。

后处理编辑器是一个插件,应该启用:

1.选择工具插件

2.双击后置处理器编辑器插件来启用它(如果未启用)。

后置处理器-图3

按照以下步骤打开后置处理器编辑器:

1.选择程序后处理编辑器。

2.选择要自定义的后置处理器。

3.选择好吧。将打开一个新窗口,您将看到可以修改的变量。

4.选择保存后处理器为…

5.输入名称保存。

后置处理器——图4后置处理器-图5

例如,如果您选择发那科R30iA后置处理器,您将看到上图所示的窗口。

修改后置处理器

您可以修改RoboDK中现有的后置处理器,以自定义机器人程序的输出或创建新的后置处理器。大多数后置处理器不需要编辑,只需更改配置标志即可获得所需的程序输出。

确保您有后处理程序的源代码来编辑它。如果您试图编辑的后处理程序不可编辑(已编译),请联系我们。

后处理器必须放在C:/RoboDK/Posts/文件夹中,以便可以从RoboDK中选择。前一节描述了如何将特定的机器人连接到后处理器。

每个后置处理器是一个PY文件。可以重命名文件或将文件从/复制到C:/RoboDK/Posts/文件夹以共享不同的后处理器。要删除现有的后处理程序脚本,只需删除Posts文件夹中相应的PY文件。

后处理器可以使用任何文本编辑器或Python编辑器(Python IDLE)进行编辑。使用Python编辑器可以在文件末尾快速调试和评估示例程序。

应该安装Python以正确测试和使用后置处理器(Python默认安装在RoboDK中)。

按照以下步骤修改现有的后处理程序:

1.选择程序添加/编辑后处理器

2.选择一个现有的后处理程序

3.选择好吧。将打开一个文本编辑器并执行该程序。

4.选择调试(F5)预览结果。必要时做些改变。根据您使用的文本编辑器,您可能需要进行选择运行运行模块(F5)代替。

后置处理器-图6

另外,也可以手动编辑后处理器:

1.进入post processors文件夹:C: / RoboDK /文章/

2.使用Python IDLE打开一个PY文件(右键单击)使用IDLE或其他文本编辑器编辑。

3.进行所需的更改。

4.运行该文件以测试结果:选择运行运行模块(默认为F5)从Python IDLE。

或者,也可以使用文本编辑器编辑此文件,然后用Python双击它来运行它。

后置处理器——图7

修改的例子

本节将向您展示如何对现有的后处理程序进行小的更改。大多数后置处理器都有一些变量,可以很容易地修改这些变量来改变或激活特定于供应商的机器人编程功能。

例如,将对现有的库卡和ABB后处理程序进行以下更改:

·生成一个程序,将其子程序作为一个文件,并强制程序每个程序最多有3000行代码。大程序将分成小程序,按顺序调用。

·设置一个关节运动以使用关节角度信息生成运动命令。

·覆盖最大速度500mm /s。即使机器人被编程为移动更快,在后处理器中速度也将被限制在500毫米/秒。

以下各节将展示如何在文本编辑器上进行建议的更改。

在一个文件中生成所有程序

这个示例将向您展示如何更改KUKA KRC4后置处理器的默认行为,以在同一文件中生成主程序及其子程序。

确保后置处理编辑器启用插件并按照以下步骤进行后处理器修改:

1.选择程序后处理编辑器。

2.选择您想要定制的后置处理器(KUKA KRC4)。

3.选择好吧。将打开一个新窗口,您将看到可以修改的变量,如下图所示。

4.设置包括子项目变量设置为True而不是False。

5.选择保存后处理器为…

6.输入一个新名称保存它(默认名称使用修改日期)。

后置处理器——图8

现在你应该在RoboDK的Posts文件夹中有一个新的后置处理器。你现在可以按照以下步骤更新你的项目来使用这个新的后置处理器:

1.右键单击您的机器人。

2.选择选择后处理程序。

3.选择您创建的新后置处理器。

4.再次生成程序以查看结果。

您也可以使用文本编辑器进行这些更改。按照以下步骤更改后置处理器的默认Python代码:

1.选择程序添加/编辑后处理器

2.选择后处理程序。例如,对于KUKA KRC4选择KUKA_KRC4

3.选择好吧。后置处理器将显示在文本编辑器中。

4.设置变量MAX_LINES_X_PROG到3000年。

5.设置变量INCLUDE_SUB_PROGRAMS为True。

后置处理器——图9

强制限速

这个示例将向您展示如何在使用RoboDK生成程序时施加500mm /s的速度限制并避免使用更高的速度。

在这个例子中,我们假设我们使用的是KUKA KRC2或KRC4控制器:

1.选择程序添加/编辑后处理器

2.选择后处理程序。例如,对于KUKA KRC4选择KUKA_KRC4

3.选择好吧。后置处理器将显示在文本编辑器中。

4.定位setSpeed函数定义(def setSpeed

5.添加以下线路,使最大速度500mm /s。需要在生成$VEL之前添加该行。以m/s为单位改变速度的CP输出:
speed_mm = min(speed_mm, 500)

后置处理器-图10

使用关节角度施加运动

本节将向您展示如何修改现有的后处理器,以使用关节值而不是笛卡尔值强制轴向移动。

在本例中,我们将对ABB IRC5机器人控制器应用此更改。

1.找到你的机器人控制器的编程手册。在这个例子中,我们使用ABB IRC5快速编程手册。

2.查看关节运动说明。在这种情况下,ABB的绝对联合运动命令被调用MoveAbsJ。此命令需要jointtarget定义关节轴的变量。

后置处理器——图11

3.选择程序添加/编辑后处理器然后选择当前使用的后置处理器来修改它。如果您当前使用的是可自定义的后置处理器,则默认选中该后置处理器。

4.你应该找MoveJ后置处理器内部的函数。这个函数定义了后置处理器生成关节运动命令的方式。另外,RoboDK使用MoveL对于线性运动。使用Python编程语言修改添加到程序文件中的行,以提供关节角度信息,如下图所示。

后置处理器——图12

5.最后,您可能需要修改后处理程序将关节角度或姿势转换为字符串的方式。的函数angles_2_strpose_2_str定义关节角度和姿态如何分别转换为文本。

后置处理器——图13

大多数RoboDK后置处理器对关节运动使用关节数据,对线性运动使用笛卡尔坐标。建议始终将线性运动序列中的第一个点作为关节运动开始,并指定关节坐标。这避免了用错误的机器人配置启动程序并达到奇点或轴极限。

可用的后置处理器

RoboDK默认提供70多个后置处理器,支持为20多个机器人制造商生成机器人程序。一些后置处理器可以进一步定制,以生成具有特定格式的程序。

默认情况下,以下后置处理器在RoboDK中可用:

·ABB RAPID IRC5:用于ABB IRC5机器人控制器

·ABB RAPID S4C:用于ABB S4C机器人控制器

·Adept Vplus:用于Adept V+编程语言

·Allen Bradley Logix5000:适用于Allen Bradley Logix5000 PLC

·Aubo:用于Aubo机器人控制器

·clos:用于clos机器人控制器

·Comau C5G:用于Comau C5G机器人控制器

·电装PAC:用于电装RC7(及更老版本)机器人控制器(PAC编程语言)

·电装RC8:用于电装RC8(及更新版本)机器人控制器(PacScript编程语言)

·Dobot:教育机器人

·Doosan: Doosan协作机器人

·Epson:用于爱普生机器人控制器

·Fanuc R30iA:用于Fanuc R30iA和R30iB机器人控制器

·Fanuc R30iA_Arc:用于发那科电弧焊

·发那科RJ3:用于发那科RJ3机器人控制器

·GCode BnR:用于贝加莱机器人控制器

·GSK: GSK机器人

·HCR:韩华机器人控制器

·HIWIN HRSS:用于HIWIN机器人

·Hyundai:现代机器人控制器

·KAIRO: Keba KAIRO机器人控制器

·Kinova: Kinova机器人

·Kawasaki:用于川崎AS机器人控制器

·KUKA IIWA:用于Java中的KUKA IIWA日出编程

·KUKA KRC2:用于KUKA KRC2机器人控制器

·库卡KRC2_CamRob:用于库卡CamRob铣削选项

·KUKA KRC2_DAT:用于KUKA KRC2机器人控制器,包括DAT数据文件

·KUKA KRC4:用于KUKA KRC4机器人控制器

·KUKA KRC4_Config:用于每行配置数据的KUKA KRC4机器人控制器

·KUKA KRC4_DAT:用于KUKA KRC4机器人控制器,包括DAT数据文件

·Meca500: Meca500机器人所需的Mecademic的脚本代码

·Mecademic Python:生成一个Python脚本,可以远程控制Meca500机器人。

·三菱:用于三菱机器人控制器

·Motoman/Yaskawa:使用Inform II和Inform III (JBI)的不同Motoman机器人控制器

·Nachi AX FD:用于Nachi AX和FD机器人控制器

·欧姆龙:用于欧姆龙/泰克曼机器人控制器

·OTC:用于大亨OTC机器人控制器

·松下:用于松下PRG程序(需要松下G2PC工具将ASCII文件编译为二进制文件)

·Precise:用于Precise Scara机器人

·Robostar: Robostar机器人控制器

·新松:用于新松机器人控制器

·Siemens_Sinumerik:用于西门子Sinumerik ROBX机器人控制器

·Staubli VAL3:生成Staubli VAL3机器人程序(CS8控制器及后续版本)。它内联了机器人的动作。

·Staubli VAL3_Machining:用于具有加工HSM选项的Staubli VAL3控制器。

·Staubli S6:用于Staubli S6机器人控制器

·东芝:东芝机器人

·Techman:用于欧姆龙/Techman机器人控制器

·Universal Robots:对于UR机器人,它生成线性运动作为姿态目标

·Universal Robots URP:对于UR机器人,它生成一个URP,可以在Polyscope (UR机器人控制器)中加载和修改。

·Universal Robots_RobotiQ:用于UR机器人,包括对RobotiQ夹持器的支持

·Universal Robots_MoveP:对于UR机器人,它生成线性运动作为MoveP命令

·雅马哈:雅马哈机器人

参考

本节包括与后置处理器相关的有用参考资料。

以下视频展示了RoboDK中的后置处理器的概述://www.x7093.com/help#PostProcessor

后置处理器中每个方法的参考文档可在文档的RoboDK API部分获得://www.x7093.com/doc/en/PythonAPI/postprocessor.html

大多数后置处理器使用robodk.py模块://www.x7093.com/doc/en/PythonAPI/robodk.html#robodk.Matrobodk.py模块提供了姿态操作工具(乘法,逆,…)和不同格式的姿态到欧拉角之间的转换,等等。

学习Python编程的文档可以在网上找到:
https://docs.python.org/3/

当程序生成时,将生成一个预处理/通用Python程序并保存在本地临时文件夹中。预处理程序链接到正确的后处理器(由用户在RoboDK中选择)。后置处理器定义了一个生成所需代码的RobotPost类。

预编译的程序用Python执行。