使用关节值强制运动

本节将介绍如何修改现有后处理器,以通过关节值而非笛卡尔值强制实现轴向运动。

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

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

2.找到关节运动的指令。本范例中ABB的关节运动绝对值指令为MoveAbsJ。该指令使用jointtarget变量来定义关节轴数值。

Post Processors - 图片 11

1.选择程序➔ 添加/编辑后处理程序,选择当前的后处理器并修改它。如果你当前使用的是自定义的后处理器,它会被(在默认状态下)选中。

2.在后处理器中找到MoveJ函数。该函数定义了后处理器如何生成机器人关节运动的指令。另外, RoboDK使用MoveL定义线性运动。使用Python编程语言,修改给机器人程序添加轴角度信息的那行指令,如下图所示。

Post Processors - 图片 12

1.最后,修改后处理器将关节轴角度值或者姿态值转化为字符串的方式。函数angles_2_strpose_2_str分别负责将关节轴角度值与姿态值转化为文本文字。

Post Processors - 图片 13

大部分RoboDK后处理器都使用关节轴角度值设置关节运动,以及笛卡尔坐标值设置线性运动。我们建议总是将一系列线性运动的起点(第一段运动)设置为关节运动(用角度值定义)。这样可以避免运动开始前错误的机器人位姿导致机器人进入奇异状态,或者达到轴极限。

Note:不同的机器人生产商可能使用同一种欧拉角公式。例如,发那科(Fanuc)和安川(Motoman)都使用相同的 X Yàà Z 符号,史陶比尔(Stäubli)和Mecademic使用相同的 X➔ Y'➔ Z'' 符号,等等。

Important:如果用户使用一个姿态来定义运动(例如,使用笛卡尔线性坐标与欧拉角或者四元数作为旋转信息),机器人实际所达到的位姿将由当前机器人工具以及参考坐标系所决定。机器人工具与参考坐标系的姿态必须在仿真程序中准确地定义。这可以通过setToolsetFrame函数来实现。