发布时间: 2026-01-21
3.6.6 复合
“复合”节点下设置偏移、传送带跟踪、力、码垛、轨迹记录等多项复合功能选项卡,可实现多种应用场景。
1. 偏移
点击“任务 > 复合 > 偏移”,进入偏移功能界面。“偏移”节点下,用户可通过配置偏移坐标系、偏移值等各项参数,实现基于某一特定路点或变量的位姿偏移或关节角偏移。参数配置页面如图 3-111所示。
图 3-111: 偏移
页面菜单栏
1. 偏移结果接收
- 新建任务变量或选择已有的配置变量来接收偏移结果数据。
- 若需新建任务变量,则点击首行第一个下拉框,选择“新建”,即可新建任务变量,如图 3-112所示。
图 3-112: 新建任务变量
- 若需选择配置变量,则点击该下拉框直接选择配置变量。
- 若偏移结果变量是任务变量,则可点击首行第一个图标对其进行重命名。配置变量则不支持重命名。
2. 数据源及数据类型
- 点击首行第二个下拉框,选择处于固定位置的路点、任务或配置变量作为位姿或关节角的数据源,如图 3-113所示。
图 3-113: 选择数据源
- 若数据源为路点,则点击最后一个下拉框,针对所选路点选择位姿或关节位置,作为引用数据类型,如图 3-114所示。
图 3-114: 选择路点的引用数据类型
- 若数据源为任务或配置变量,则数据类型需同变量保持一致,根据变量的数据类型选择位姿或关节角。
3. 偏移模式
- 选择偏移模式,包括位姿偏移或关节角偏移两种模式。
- 位姿偏移模式的界面如图 3-115。
图 3-115: 位姿偏移
- 关节角偏移模式(见图 3-116)下,同单位的原始数据与偏移值直接相加即可得到新的关节角数据。
图 3-116: 关节角偏移
4. 坐标系指定
- 指定位姿偏移或关节角偏移所基于的某一特定坐标系。
- 位姿偏移模式下,可选择基座、工具或自身姿态坐标系,如图 3-117所示。
图 3-117: 指定位姿偏移的坐标系
* 基座坐标系:以机器人安装基座为基准的坐标系;
* 工具坐标系:机器人末端实时位置和姿态变化的坐标系;
* 自身姿态坐标系:直接反映机器人位姿当前的姿态坐标系。
- 关节角偏移模式下,坐标系默认为关节坐标系。
提示 在实现基于特定路点的位姿偏移时: * 若将坐标系指定为工具坐标系: 鉴于其运行的动态变化,需确保偏移节点放置在该路点下方就近位置(中间无运动节点,如 Move 路点、Move 方向、Home 等即可),如图 3-118所示,以便根据实时的工具坐标系准确计算,实现偏移功能。
- 而若直接选择自身姿态坐标系,则可简化操作步骤:
- 由于机器人的姿态坐标系近乎等同于机器人实时的工具坐标系,因此只需指定“自身姿态”坐标系,无需限制偏移节点的位置,系统将按照该路点的预设位姿或实际位姿的姿态坐标系直接执行偏移,如图 3-119所示。
5. 角度数据单位类型
- 选择度【°】或弧度【rad】作为偏移数据、原始值或偏移结果数据中角度的单位类型,如图 3-120所示。
- 这里仅用于展示,不影响实际数据,且所有偏移节点公用该角度数据展示类型。
6. 偏移值
- 指定偏移数据值为常量值或是变量值,如图 3-121所示。
- 若指定为常量,则需手动设置 X、Y、Z 轴各个偏移数据分量值,运行期间这些数值不变。
- 若指定为变量,则可选择任务或配置变量作为偏移数据源,但需保证数据单位的一致性。
7. 数据展示
- 可查看引用数据的原始值及偏移结果。
- 由于任务变量非全局变量,机器人未运行状态下无法获取数据值,故偏移数据源为任务变量时,这里不展示偏移前后的数据,如图 3-122所示。
- 同样,若偏移值为任务变量,任务未运行时数据未被赋值,而运行时变量时而发生变化,故偏移值为任务变量时,偏移前后的数据也不展示,如图 3-123所示。
- 由于工具坐标系对应机器人末端的实时位姿,其数据会跟随机器人的运行状态而发生变化,因此工具坐标系运行时,偏移前后的数据的数同样不展示,如图 3-124所示。
2. 码垛
码垛支持用户自定义排样类型、层数、参考点等,进行码垛和拆垛任务的编写。
(1) 创建码垛任务
操作步骤如下: 1. 选择“任务 > 复合 > 码垛”。 2. 设置码垛任务的名称、坐标系以及工件高度等,如图 3-125所示。
- 坐标系:支持基座与自定义坐标系;
- 工件高度:码垛工件的高度;
- 工件计数器:定义一个变量来计算码垛工件的数量。任务运行时,用户可在“监控”中查看变量值;
- 添加码垛前操作:勾选后,在码垛任务下,插入“码垛前操作”节点,用户可根据实际需要添加操作;若取消勾选,将直接删除该节点。
- 添加码垛后操作:勾选后,在码垛任务下,插入“码垛后操作”节点,用户可根据实际需要添加操作;若取消勾选,将直接删除该节点。
- 点击任务树中的“排样类型”节点,用户可设置为“直线”、“矩阵”或“自定义”,如图 3-126所示。
- 直线排样:点击直线排样节点,可重命名派样类型的节点名称,并设置工件个数;点击“工件”节点,设置排样的起始位置和结束位置。
- 矩阵排样:点击矩阵排样节点,可重命名派样类型的节点名称,并设置工件的行数、列数;点击排样类型下的四个子节点,设置排样的起始位置和结束位置。
- 自定义排样:点击自定义排样节点,可重命名排样类型的节点名称,并添加或删除“工件”节点;注意:直线排样和矩形排样的“工件”节点不可删除;自定义排样的“工件”节点可通过“指令”选项卡的删除按钮删除。
- 隔离层:码垛中,隔离相邻层工件的物品。勾选后,在“排样类型”节点下,插入隔离层节点用户可根据实际需要添加操作。若取消勾选,将直接删除该节点。
- 点击任务树中的“层”节点,点击“添加层”,设置码的层数及每一层的排样类型,以及是否包含隔离层,如图 3-127所示。
- 点击任务树中的“每个工件处”节点,用户可设置参照点以及生成移动。
参照点一般为第一层的第一个工件所在位置。用户可直接在下拉列表中选择“工件”节点作为参照点,如图 3-128所示。 在“生成移动”节点下,设置接近点、工具动作点、工具动作以及离开点。 设置完成后,工具将对每个工件重复这些动作。 * 接近点:无碰撞接近参照点; * 工具动作点:默认为参照点,可根据实际需要修改; * 工具动作:“工具动作”节点下,添加相应的工具动作; * 离开点:无碰撞离开参照点。
- 在“每个隔离层处”节点下,点击“生成隔离层动作”。 用户可设置“拾取隔离层”节点,并设置接近点、工具动作点、工具动作以及离开点。
3. 传送带
传送带功能利用 modbus 作为通讯手段,获取外部传动带实时运行数据,实现传送带跟踪。
(1) 配置 Modbus 客户端
- 点击“配置 > 通讯 > Modbus”,进入“MODBUS 客户端 I/O 设置”界面。
- 点击“添加 MODBUS 设备”。
- 设置设备的“IP 地址”、“名称”、“地址”、和“类型”等。 注:类型必须设置为“寄存器输入”。
(2) 配置传送带参数
- 点击“配置 > 通用 > 传送带跟踪”,进入“传送带跟踪设置”界面。
- 勾选右上角“启用传送带跟踪”。
- 设置“编码器类型”为“绝对式”。
- 选择“编码器计数可变”为设置的“Modbus”,如图 3-129所示。
- 设置“跟踪参数”,选择“传送带类型”为“线性”或者“圆形”。
* 线性:
- “每米跳数”由外部硬件设备决定;
- 选择“坐标系”为通过“配置 > 通用 > 坐标系”示教的坐标系,并指定朝何种方向运行(通过轴:x、y、z 以及是否反向确定)。 * 圆形:
- “每米跳数”由外部硬件设备决定;
- 选择“坐标系”为通过“配置 > 通用 > 坐标系”示教的坐标系,默认是绕着该坐标系的 z 轴正向转动;
- 勾选“旋转工具与传送机”,即转动末端工具来跟踪目标传送机。
(3) 选择传送带
选择“任务 > 复合 > 传送带跟踪”,选择传送带类型,如图 3-130所示。机器人主任务处于传送带跟踪节点下,固定平面相对于传送带静止运动。
4. 轨迹记录
记录一段时间内的机器人运动轨迹并能够复现该轨迹。
操作步骤如下: 1. 选择“任务 > 复合 > 轨迹记录”,进入轨迹记录界面。 2. 点击“开始记录”,机器人自动记录轨迹,在记录过程中,置灰的未记录图标变为橙色的正在记录图标。 3. 点击“停止记录”,机器人停止记录轨迹,记录结束后,橙色的正在记录图标变为绿色的已记录图标。 4. 点击“重新记录”,机器人重新开始记录轨迹,原有轨迹将被覆盖,如图 3-131所示。
如需恢复版本更新前已记录的运动轨迹,必须先在版本更新前保存任务文件,并在轨迹记录界面中加载之前保存的轨迹文件即可恢复。
5. 力
力节点可规定沿选定力控轴(力控自由度)所需达到的力值。适用于即使实际 TCP 位姿存在变化,但必须确保沿该轴所需力达到目标力的情况。例如,机器人 TCP 在曲面上打磨作业。
力节点还可规定绕选定力控轴(力控自由度)所需达到的力矩值。如果某个轴上的力/力矩值非零,且在该轴上未遇到障碍物,机器人则会尝试沿该轴运动。即使该轴已被设置为力控轴(力控自由度),但机器人程序仍会尝试沿该轴进行移动,而力节点则会确保施加的力达到所规定的力。
此外,力节点还规定了后代节点在运行过程中机器人的施力模式和数据。
提示 * 请勿将力节点与传送带跟踪节点一起使用,否则可能会导致程序冲突。 * 请在力节点之前避免高减速度的运动以及平行于力控轴的运动。推荐进入力控模式之前插入至少 0.02 秒的 sleep 脚本指令解决该问题。 * 请在力节点中避免高加速度的运动,否则会影响力控精度。 * 若 If、ElseIf 或者 Loop 中包含力节点,且选择了 Check Expression Continuously 选项,可在表达式结尾添加 end_force_mode() 脚本退出力控制。
操作步骤如下:
- 选择“任务 > 复合 > 力”,如图 3-132所示。
-
设置力模式。 * 固定模式:力控坐标系为固定坐标系,该固定坐标系可在参考坐标系中选择设置,所有六个自由度是否进行力控以及目标力/力矩、速度限制均可单独设置。该模式可用于打磨、装配等应用。 * TCP 模式:力控坐标系与机器人的 TCP 坐标系重合,所有六个自由度是否进行力控以及目标力/力矩、速度限制均可单独设置。该模式下的力控方向会随着机器人 TCP 的位姿变化而变化,可用于理疗、装配、打磨等应用。 * 点模式:力控坐标系的 Y 轴由机器人 TCP 原点指向参考坐标系的原点,力控坐标系的 X 轴与 Z 轴取决于参考坐标系的 X 轴与 Z 轴,运动过程中力控坐标系将随着机器人 TCP 的位姿变化而变化。参考坐标系与机器人 TCP 原点之间的距离至少在 10mm 以上。 * 运动模式:力控坐标系的 X 轴为 TCP 移动方向矢量在参考坐标系的 X-Y 平面内的投影,Y 轴垂直于 TCP 运动方向并位于参考坐标系的 X-Y 平面内,力控坐标系将随着机器人 TCP 的位姿变化而变化。该模式下不允许对 X 轴进行力控设置,适用于复杂曲面的去毛刺等应用。 * 运动模式下激活力节点时,若机器人处于静止状态,则 TCP 速度大于零后才会出现力控轴(力控自由度)。若之后机器人依旧在力节点中再次处于静止状态,则力控坐标系的方向与上一次 TCP 速度大于零时的方向一致。
-
设置参考坐标系。 用户可选择基座或自定义坐标系作为参考坐标系。如需添加自定义坐标系,详情请参见第 5. 小节。
-
勾选“使能”下面的复选框以便选定力控轴(力控自由度),并设置力控参数。 * 力/力矩值:可为力控轴(力控自由度)设置目标力/力矩值。对于 X、Y、Z 三个平移轴,力的单位为牛顿 [N],对于 RX、RY、RZ 三个旋转轴,力矩的单位为牛顿米 [Nm]。设置完成后,机器人将调整自身位姿以达到所设置的目标力/力矩。对于非力控轴,机器人将按照程序原来的轨迹运动。
提示 * 在单独的线程中使用 get_tcp_force() 脚本函数,可读取实际力/力矩值。 * 若实际力/力矩低于要求,请更正目标力/力矩。
- 速度限值:可为力控轴(力控自由度)设置最大的笛卡尔速度。在未与物体接触之前,机器人在该力控轴上将以力控制的速度移动,其速度上限为该值。
- 点击任务树中的占位节点,可按实际所需从节点列表添加。
图 3-118: 工具坐标系设置
而若直接选择自身姿态坐标系,则可简化操作步骤: - 由于机器人的姿态坐标系近乎等同于机器人实时的工具坐标系,因此只需指定“自身姿态”坐标系,无需限制偏移节点的位置,系统将按照该路点的预设位姿或实际位姿的姿态坐标系直接执行偏移,如图 3-119所示。
图 3-119: 自身姿态坐标系设置
5. 角度数据单位类型
- 选择度【°】或弧度【rad】作为偏移数据、原始值或偏移结果数据中角度的单位类型,如图 3-120所示。
- 这里仅用于展示,不影响实际数据,且所有偏移节点公用该角度数据展示类型。
图 3-120: 选择角度数据单位
6. 偏移值
- 指定偏移数据值为常量值或是变量值,如图 3-121所示。
- 若指定为常量,则需手动设置 X、Y、Z 轴各个偏移数据分量值,运行期间这些数值不变。
- 若指定为变量,则可选择任务或配置变量作为偏移数据源,但需保证数据单位的一致性。
图 3-121: 指定偏移值
7. 数据展示
- 可查看引用数据的原始值及偏移结果。
- 由于任务变量非全局变量,机器人未运行状态下无法获取数据值,故偏移数据源为任务变量时,这里不展示偏移前后的数据,如图 3-122所示。
图 3-122: 偏移数据源为任务变量时的数据展示
- 同样,若偏移值为任务变量,任务未运行时数据未被赋值,而运行时变量时而发生变化,故偏移值为任务变量时,偏移前后的数据也不展示,如图 3-123所示。
图 3-123: 偏移值为任务变量时的数据展示
- 由于工具坐标系对应机器人末端的实时位姿,其数据会跟随机器人的运行状态而发生变化,因此工具坐标系运行时,偏移前后的数据的数同样不展示,如图 3-124所示。
图 3-124: 坐标系为工具坐标系时的数据展示
2. 码垛
码垛支持用户自定义排样类型、层数、参考点等,进行码垛和拆垛任务的编写。
(1) 创建码垛任务
操作步骤如下: 1. 选择“任务 > 复合 > 码垛”。 2. 设置码垛任务的名称、坐标系以及工件高度等,如图 3-125所示。
图 3-125: 设置码垛任务参数
- 坐标系:支持基座与自定义坐标系;
- 工件高度:码垛工件的高度;
- 工件计数器:定义一个变量来计算码垛工件的数量。任务运行时,用户可在“监控”中查看变量值;
- 添加码垛前操作:勾选后,在码垛任务下,插入“码垛前操作”节点,用户可根据实际需要添加操作;若取消勾选,将直接删除该节点。
- 添加码垛后操作:勾选后,在码垛任务下,插入“码垛后操作”节点,用户可根据实际需要添加操作;若取消勾选,将直接删除该节点。
- 点击任务树中的“排样类型”节点,用户可设置为“直线”、“矩阵”或“自定义”,如图 3-126所示。
图 3-126: 设置排样类型
- 直线排样:点击直线排样节点,可重命名派样类型的节点名称,并设置工件个数;点击“工件”节点,设置排样的起始位置和结束位置。
- 矩阵排样:点击矩阵排样节点,可重命名派样类型的节点名称,并设置工件的行数、列数;点击排样类型下的四个子节点,设置排样的起始位置和结束位置。
- 自定义排样:点击自定义排样节点,可重命名排样类型的节点名称,并添加或删除“工件”节点; 注意:直线排样和矩形排样的“工件”节点不可删除;自定义排样的“工件”节点可通过“指令”选项卡的删除按钮删除。
- 隔离层:码垛中,隔离相邻层工件的物品。勾选后,在“排样类型”节点下,插入隔离层节点用户可根据实际需要添加操作。若取消勾选,将直接删除该节点。
- 点击任务树中的“层”节点,点击“添加层”,设置码的层数及每一层的排样类型,以及是否包含隔离层,如图 3-127所示。
图 3-127: 设置层
- 点击任务树中的“每个工件处”节点,用户可设置参照点以及生成移动。
图 3-128: 设置工件参数
参照点一般为第一层的第一个工件所在位置。用户可直接在下拉列表中选择“工件”节点作为参照点,如图 3-128所示。 在“生成移动”节点下,设置接近点、工具动作点、工具动作以及离开点。 设置完成后,工具将对每个工件重复这些动作。 - 接近点:无碰撞接近参照点; - 工具动作点:默认为参照点,可根据实际需要修改; - 工具动作:“工具动作”节点下,添加相应的工具动作; - 离开点:无碰撞离开参照点。
- 在“每个隔离层处”节点下,点击“生成隔离层动作”。 用户可设置“拾取隔离层”节点,并设置接近点、工具动作点、工具动作以及离开点。
3. 传送带
传送带功能利用 modbus 作为通讯手段,获取外部传动带实时运行数据,实现传送带跟踪。
(1) 配置 Modbus 客户端
- 点击“配置 > 通讯 > Modbus”,进入“MODBUS 客户端 I/O 设置”界面。
- 点击“添加 MODBUS 设备”。
- 设置设备的“IP 地址”、“名称”、“地址”、和“类型”等。 注:类型必须设置为“寄存器输入”。
(2) 配置传送带参数
- 点击“配置 > 通用 > 传送带跟踪”,进入“传送带跟踪设置”界面。
- 勾选右上角“启用传送带跟踪”。
- 设置“编码器类型”为“绝对式”。
- 选择“编码器计数可变”为设置的“Modbus”,如图 3-129所示。
图 3-129: 配置传送带参数
- 设置“跟踪参数”,选择“传送带类型”为“线性”或者“圆形”。 - 线性: - “每米跳数”由外部硬件设备决定; - 选择“坐标系”为通过“配置 > 通用 > 坐标系”示教的坐标系,并指定朝何种方向运行(通过轴:x、y、z 以及是否反向确定)。 - 圆形: - “每米跳数”由外部硬件设备决定; - 选择“坐标系”为通过“配置 > 通用 > 坐标系”示教的坐标系,默认是绕着该坐标系的 z 轴正向转动; - 勾选“旋转工具与传送机”,即转动末端工具来跟踪目标传送机。
(3) 选择传送带
选择“任务 > 复合 > 传送带跟踪”,选择传送带类型,如图 3-130所示。机器人主任务处于传送带跟踪节点下,固定平面相对于传送带静止运动。
图 3-130: 传送带
4. 轨迹记录
记录一段时间内的机器人运动轨迹并能够复现该轨迹。
操作步骤如下: 1. 选择“任务 > 复合 > 轨迹记录”,进入轨迹记录界面。 2. 点击“开始记录”,机器人自动记录轨迹,在记录过程中,置灰的未记录图标变为橙色的正在记录图标。 3. 点击“停止记录”,机器人停止记录轨迹,记录结束后,橙色的正在记录图标变为绿色的已记录图标。 4. 点击“重新记录”,机器人重新开始记录轨迹,原有轨迹将被覆盖,如图 3-131所示。
如需恢复版本更新前已记录的运动轨迹,必须先在版本更新前保存任务文件,并在轨迹记录界面中加载之前保存的轨迹文件即可恢复。
图 3-131: 记录轨迹
5. 力
力节点可规定沿选定力控轴(力控自由度)所需达到的力值。适用于即使实际 TCP 位姿存在变化,但必须确保沿该轴所需力达到目标力的情况。例如,机器人 TCP 在曲面上打磨作业。
力节点还可规定绕选定力控轴(力控自由度)所需达到的力矩值。如果某个轴上的力/力矩值非零,且在该轴上未遇到障碍物,机器人则会尝试沿该轴运动。即使该轴已被设置为力控轴(力控自由度),但机器人程序仍会尝试沿该轴进行移动,而力节点则会确保施加的力达到所规定的力。
此外,力节点还规定了后代节点在运行过程中机器人的施力模式和数据。
提示 - 请勿将力节点与传送带跟踪节点一起使用,否则可能会导致程序冲突。 - 请在力节点之前避免高减速度的运动以及平行于力控轴的运动。推荐进入力控模式之前插入至少 0.02 秒的 sleep 脚本指令解决该问题。 - 请在力节点中避免高加速度的运动,否则会影响力控精度。 - 若 If、ElseIf 或者 Loop 中包含力节点,且选择了 Check Expression Continuously 选项,可在表达式结尾添加 end_force_mode() 脚本退出力控制。
操作步骤如下: 1. 选择“任务 > 复合 > 力”,如图 3-132所示。
图 3-132: 力
-
设置力模式。 - 固定模式:力控坐标系为固定坐标系,该固定坐标系可在参考坐标系中选择设置,所有六个自由度是否进行力控以及目标力/力矩、速度限制均可单独设置。该模式可用于打磨、装配等应用。 - TCP 模式:力控坐标系与机器人的 TCP 坐标系重合,所有六个自由度是否进行力控以及目标力/力矩、速度限制均可单独设置。该模式下的力控方向会随着机器人 TCP 的位姿变化而变化,可用于理疗、装配、打磨等应用。 - 点模式:力控坐标系的 Y 轴由机器人 TCP 原点指向参考坐标系的原点,力控坐标系的 X 轴与 Z 轴取决于参考坐标系的 X 轴与 Z 轴,运动过程中力控坐标系将随着机器人 TCP 的位姿变化而变化。参考坐标系与机器人 TCP 原点之间的距离至少在 10mm 以上。 - 运动模式:力控坐标系的 X 轴为 TCP 移动方向矢量在参考坐标系的 X-Y 平面内的投影,Y 轴垂直于 TCP 运动方向并位于参考坐标系的 X-Y 平面内,力控坐标系将随着机器人 TCP 的位姿变化而变化。该模式下不允许对 X 轴进行力控设置,适用于复杂曲面的去毛刺等应用。 运动模式下激活力节点时,若机器人处于静止状态,则 TCP 速度大于零后才会出现力控轴(力控自由度)。若之后机器人依旧在力节点中再次处于静止状态,则力控坐标系的方向与上一次 TCP 速度大于零时的方向一致。
-
设置参考坐标系。 用户可选择基座或自定义坐标系作为参考坐标系。如需添加自定义坐标系,详情请参见第 5. 小节。
-
勾选“使能”下面的复选框以便选定力控轴(力控自由度),并设置力控参数。 - 力/力矩值: - 可为力控轴(力控自由度)设置目标力/力矩值。对于 X、Y、Z 三个平移轴,力的单位为牛顿 [N],对于 RX、RY、RZ 三个旋转轴,力矩的单位为牛顿米 [Nm]。设置完成后,机器人将调整自身位姿以达到所设置的目标力/力矩。 - 对于非力控轴,机器人将按照程序原来的轨迹运动。
提示 - 在单独的线程中使用 get_tcp_force() 脚本函数,可读取实际力/力矩值。 - 若实际力/力矩低于要求,请更正目标力/力矩。
- 速度限值:
- 可为力控轴(力控自由度)设置最大的笛卡尔速度。在未与物体接触之前,机器人在该力控轴上将以力控制的速度移动,其速度上限为该值。
- 点击任务树中的占位节点,可按实际所需从节点列表添加。