后处理器

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

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

RoboDK包括许多后处理器,支持超过50个不同的机器人制造商和控制器。中列出了支持的控制器可用后置处理器部分。或者,也可以创建定制的后期处理器或修改现有的后期处理器。所有可用的后期处理器都在:C:/RoboDK/Posts/文件夹中。

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

本节将展示如何选择、编辑或创建后处理器,并将其与RoboDK中的机器人一起使用。在下面的视频中可以快速介绍://www.jasonament.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/文件夹,以共享不同的post处理器。要删除现有的post处理器脚本,只需删除Posts文件夹中相应的PY文件。

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

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

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

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

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

3.选择好吧.一个文本编辑器将打开和程序。

4.选择调试(F5)预览结果。如有必要,可以进行更改。根据您使用的文本编辑器,您可能必须进行选择运行运行模块(F5)代替。

后处理器-图片6

或者,也可以手动编辑后处理器:

1.进入后期处理器文件夹:C: / RoboDK /文章/

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

3.进行所需的更改。

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

或者,也可以使用文本编辑器编辑该文件,并通过双击它来使用Python运行它。

后处理器-图7

修改的例子

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

例如,将对现有的KUKA和ABB后处理器进行以下更改:

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

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

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

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

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

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

确保后处理器编辑器启用Plug-in,并按照以下步骤进行后处理器修改:

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

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

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

4.设置包含子程序变量为True而不是False。

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

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

后处理器-图片8

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

1.右击你的机器人。

2.选择选择后处理器。

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

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

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

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

2.选择你的后期处理器。例如,选择KUKA KRC4KUKA_KRC4

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

4.设置变量MAX_LINES_X_PROG到3000年。

5.设置变量INCLUDE_SUB_PROGRAMS为True。

后处理器-图9

强制限制速度

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

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

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

2.选择你的后期处理器。例如,选择KUKA KRC4KUKA_KRC4

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

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

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

后处理器-图片10

利用关节角度施加一个运动

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

在本例中,我们将把这一变化应用到ABB IRC5机器人控制器上。

1.找到你的机器人控制器的编程手册。在本例中,我们使用ABB IRC5 RAPID编程手册。

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

后处理器-图11

3.选择程序添加/编辑后处理器然后选择当前正在使用的后处理器来修改它。如果你目前使用的是一个可定制的后期处理器,它将被默认选中。

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

后处理器-图12

5.最后,您可能需要修改后处理器将关节角度或姿态转换为字符串的方式。的函数angles_2_str而且pose_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机器人控制器

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

·柯马C5G:柯马C5G机器人控制器

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

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

·Dobot:教育类Dobot机器人

·斗山:斗山协作机器人

·爱普生:为爱普生机器人控制器

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

·Fanuc R30iA_Arc:用于发那科弧焊

·Fanuc RJ3:为发那科RJ3机器人控制器

·GCode BnR:用于B&R机器人控制器

·GSK:代表GSK机器人

·HCR:韩华机器人控制器

·HIWIN HRSS: HIWIN机器人

·现代:现代机器人控制器

·KAIRO:为Keba KAIRO机器人控制器

·Kinova: Kinova机器人

·川崎:表示川崎AS机器人控制器

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

·KUKA KRC2:库卡KRC2机器人控制器

·KUKA KRC2_CamRob:用于KUKA CamRob铣削选项

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

·KUKA KRC4:库卡KRC4机器人控制器

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

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

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

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

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

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

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

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

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

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

·Precise:精确的Scara机器人

·Robostar: Robostar机器人控制器

·新松:为新松机器人控制器

·Siemens_Sinumerik:用于Siemens Sinumerik ROBX机器人控制器

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

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

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

·Toshiba:代表东芝机器人

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

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

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

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

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

·雅马哈:用于雅马哈机器人

参考

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

下面的视频展示了RoboDK中后处理的概述://www.jasonament.com/help#PostProcessor

后处理器中每个方法的参考文档可以在文档的RoboDK API部分找到://www.jasonament.com/doc/en/PythonAPI/postprocessor.html

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

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

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

预编译的程序用Python执行。

Baidu
map