本节将向您展示如何修改现有的后处理器,以便使用关节值而不是笛卡尔值强制进行轴向运动。
在本示例中,我们将对 ABB IRC5 机器人控制器进行这一更改。
1.查找机器人控制器的程序手册。在本例中,我们使用的是ABB IRC5 RAPID 编程程序手册。
2.查找关节移动指令。在本例中,ABB 的绝对关节移动指令称为MoveAbsJ。该指令需要一个定义关节轴的jointtarget 变量。
3.选择程序➔ 添加/编辑后处理器,然后选择当前使用的后处理器进行修改。如果您当前使用的是可定制的后处理器,则会默认选择该处理器。
4.您应该在后处理器中查找MoveJ 函数。该函数定义了后处理器生成关节运动指令的方式。另外,RoboDK 使用MoveL 来实现线性运动。使用 Python 编程语言,修改程序文件中添加的提供关节角度信息的行如下图所示。
5.最后,您可能需要修改后处理器将关节角度或位姿转换为字符串的方式。函数angles_2_str 和pose_2_str 分别定义了如何将关节角度和位姿转换为文本。
大多数 RoboDK 后处理器在关节运动中使用关节数据,在线性运动中使用笛卡尔坐标。建议始终将线性运动序列中的第一个点作为关节运动开始,并指定关节坐标。这样可以避免以错误的机器人配置启动程序,从而达到奇异点或轴限制。
注:所有 RoboDK 后处理器默认使用 robodk.py 模块。该模块包含有用的工具,可将许多机器人控制器的位姿转换为欧拉角。请使用与您的机器人控制器相对应的符号。更多信息,请参阅参考坐标系部分和 robodk.py 模块。
注:多个机器人制造商可以使用相同的欧拉角符号。例如,发那科(Fanuc)和安川(Motoman)都使用相同的 X Yàà Z 符号,史陶比尔(Stäubli)和麦卡德米克(Mecademic)使用相同的 X➔ Y'➔ Z'' 符号,等等。
重要:如果使用位姿(例如,使用笛卡尔坐标和欧拉或四元数信息)指定运动,机器人将达到的位置将取决于激活工具和参考坐标系。必须在程序中正确指定工具和参考坐标系的位姿。这可分别通过 setTool 和 setFrame 函数实现。