本节通过举例,介绍如何对已经存在的后置处理器做出小的修改。
我们将对一个ABB和一个KUKA后置处理器做出修改:
● 设置一个关节运动,使用角度信息生成运动指令。
● 将速度最大值限制为500 mm/s。即使机器人仿真程序中的速度设置超过这个值,也会被后置处理器限制在500 mm/s之内。
● 为每个仿真程序分别生成文件,并且强制每个文件不超过3000行指令。较大的程序将被分割为多个子程序并依次被调用。
前面的章节介绍了如何打开并修改已经存在的后置处理器:
1.选择Program➔Add/Edit Post Processor
2.选择一个后置处理器,例如适用于KUKA KRC4控制器的KUKA_KRC4.
3.点击OK。后置处理器文件将在Python IDLE编辑器中打开。
以下部分介绍如何在文本编辑器(或Python IDLE)中修改后置处理器。
下面的步骤介绍如何修改后置处理器:设置关节角度值并强制关节运动。在这个范例中我们介绍如何将这个改变应用于ABB IRC5控制器。
1.找到机器人控制器的使用手册。在本范例中我们使用的是ABB IRC5 RAPID编程手册。
2.找到关节运动的指令。本范例中ABB的关节运动绝对值指令为MoveAbsJ。该指令使用jointtarget变量来定义关节轴数值。
3.使用Program➔Add/Edit Post Processor 选择当前的后置处理器并修改它。如果你当前使用的是自定义的后置处理器,它会被(在默认状态下)选中。
4.在后置处理器中找到MoveJ函数。该函数定义了后置处理器如何生成机器人关节运动的指令。另外, RoboDK使用MoveL定义线性运动。使用Python编程语言,修改给机器人程序添加轴角度信息的那行指令,如下图所示。
5.最后,修改后置处理器将关节轴角度值或者姿态值转化为字符串的方式。函数angles_2_str与pose_2_str分别负责将关节轴角度值与姿态值转化为文本文字。
大部分RoboDK后置处理器都使用关节轴角度值设置关节运动,以及笛卡尔坐标值设置线性运动。我们建议总是将一系列线性运动的起点(第一段运动)设置为关节运动(用角度值定义)。这样可以避免运动开始前错误的机器人位姿导致机器人进入奇异状态,或者达到轴极限。
按照下面的步骤设置500 mm/s的速度限制,避免在RoboDK中仿真时设置的速度值过大。下面的范例中我们使用的是KUKA KRC2 或者KRC4 控制器:
1.在后置处理器文件中找到setSpeed函数的定义(def setSpeed)
2.在$VEL.CP 输出之前添加一行修改速度的指令:
speed_mms = min(speed_mms, 500)
以下修改将避免为同一程序生成多个子程序,并限制每个程序的指令不超过3000行:
1.将MAX_LINES_X_PROG变量设置为3000
2.将INCLUDE_SUB_PROGRAMS变量设置为False