在 RobotStudio 中添加自定义的jointtarget(关节目标点)片段,可通过手动创建、导入数据或编程生成等方式实现,适用于快速复用特定关节位置、编写离线程序等场景。以下是详细步骤:
jointtarget是机器人各关节角度的集合(单位:度或弧度),格式随机器人型号不同而变化(如 6 轴机器人包含 6 个关节值),例如 IRB 1200 的jointtarget格式为:[j1, j2, j3, j4, j5, j6, conf1, conf2, conf3, extax]其中:j1-j6为 6 个关节角度,conf1-conf3为轴配置参数(避免奇异点),extax为外部轴参数(无外部轴时可忽略)。
打开 RAPID 程序编辑器
插入jointtarget变量
赋值具体关节角度
在程序中通过:=赋值,填写各关节角度(根据实际需求填写,可参考示教器上的关节值),例如:
rapid
MyJointPos := [0, -45, 90, 0, 60, 0, 0, 0, 0, [0,0,0,0]];
// 含义:j1=0°, j2=-45°, j3=90°, j4=0°, j5=60°, j6=0°,无外部轴
轴配置参数(conf1-conf3):通常设为0,若机器人在该位置有奇异点,需从示教器或现有jointtarget中复制对应配置值(避免运动时报警)。

若已有示教好的关节点,可直接提取其jointtarget数据并保存为复用片段:
获取目标关节值
创建片段文件(.rsf)
打开 “文件”→“新建”→“RAPID 片段”,在编辑器中粘贴并修改关节值,例如:
rapid
// 自定义关节点:抓取位置
VAR jointtarget GraspJointPos := [30, -60, 75, -30, 90, 0, 1, 0, 0, [0,0,0,0]];
保存为.rsf文件(如CustomJoints.rsf),路径建议放在RobotStudio\Library\RAPID Fragments下,方便后续调用。
插入片段到程序
若需批量创建多个jointtarget(如轨迹规划的密集点),可通过 Excel 编辑数据,再导入 RobotStudio 生成片段:
Excel 中编辑关节数据
按格式填写表格(以 6 轴机器人为例):
| 变量名 | j1 | j2 | j3 | j4 | j5 | j6 | conf1 | conf2 | conf3 |
|---|
| Point1 | 0 | -40 | 80 | 0 | 70 | 0 | 0 | 0 | 0 |
| Point2 | 10 | -50 | 70 | -10 | 80 | 10 | 0 | 0 | 0 |
生成 RAPID 代码
在 Excel 中通过公式生成jointtarget赋值语句,例如:="VAR jointtarget "&A2&" := ["&B2&","&C2&","&D2&","&E2&","&F2&","&G2&","&H2&","&I2&","&J2&", [0,0,0,0]];"
将生成的代码复制到 RobotStudio 的 RAPID 片段文件中,保存后即可批量插入。
若需通过脚本自动生成关节点(如结合算法规划轨迹),可使用 RobotStudio 的 API(C# 或 Python):
创建插件或脚本
在 RobotStudio 中打开 “自动化”→“API 编辑器”,编写代码生成jointtarget:
csharp
// C#示例:创建一个自定义jointtarget并添加到程序var robot = Station.ActiveStation.Robots[0];var jointTarget = new JointTarget();jointTarget.Joints = new JointValues(new double[] { 0, -45, 90, 0, 60, 0 }); // 关节角度jointTarget.Configuration = new AxisConfiguration(0, 0, 0); // 轴配置// 将jointtarget添加到RAPID程序变量var module = robot.Controller.Rapid.GetModule("Module1");module.Declarations.Add(new VariableDeclaration("MyJointPos", jointTarget));
运行脚本生成片段
关节角度范围:确保j1-j6的角度在机器人允许范围内(参考对应型号手册,如 IRB 1200 的 j2 关节范围通常为 - 110°~150°),超范围会导致运动报警。
轴配置参数:若忽略conf1-conf3,机器人可能在运动时因 “轴配置冲突” 报错,建议从示教器或无奇异点的位置复制配置值。
外部轴:若机器人带外部轴(如轨道、变位机),extax需填写对应轴的角度(如[10, 0, 0, 0]表示第一外部轴旋转 10°)。
验证与测试:添加片段后,在 “仿真” 模式下运行程序,检查机器人运动是否顺畅,关节是否有超限或碰撞,必要时微调角度。