Skip to content

基础程序节点

基础程序节点,即组成程序的基础节点,包含路点、方向、备注、文件夹等节点命令。例如:路点、方向等命令可以确定机器人的运动轨迹;备注、文件夹等命令可以帮助用户管理程序,恰当的使用可以使程序具有良好的可读性。

移动

【移动】节点内可以添加机器人移动的路点,可以设置节点下其他节点的共享参数。

移动类型

机器人的移动可以分为关节运动、直线运动和样条曲线。

  • 关节运动,即通过控制机器人关节完成移动。关节运动为工具中心点(Tool Center Point, TCP)提供一个曲线路径,若希望机器人在路点之间快速移动,而不用考虑 TCP 在这些路点之间的移动路径,建议优先选择关节运动。关节运动适用于在空间足够的环境下,用最快的方式移动。运动方式如下图所示。

  • 直线运动,即机器人的工具中心点(TCP)以线性方式运动至目标路点。这意味着每个关节都会执行更为复杂的移动,以使 TCP 保持在直线路径上,工具速度能否达到和保持最大速度取决于直线位移和最大加速度参数。运动方式如下图所示。

  • 样条曲线,即机器人根据给定路点拟合一条曲线路径,以恒定速度平滑经过所有给定路点。在预期曲线上给定的路点数量越多,拟合出的曲线路径越符合期望。

    1. 执行样条曲线时,不支持操作员或 I/O 的操作。如果在执行样条曲线过程中,存在操作员或 I/O 的操作,机器人可能会触发保护性停止。
    2. 【样条曲线】节点内只能包含【路点】节点。

运动速度

机器人的运动速度曲线分为三段:加速、稳速和减速。运动的速度参数决定稳速,加速度参数决定加速和减速的陡度,如图所示。

交融

机器人在运动时,如果设置了交融参数,就可以在两个轨迹之间平顺过渡,使机器人的移动更快更稳。例如下图:期望机器人能够从【路点_0】到达【路点_2】,但由于两个路点之间存在其他物品,机器人不得不从【路点_0】出发,经过【路点_1】再达到【路点_2】。由于【路点_1】只是为绕过其他物品而存在,因此希望机器人在【路点_1】花费的能量和时间尽量少。此时如果增加交融参数,就可以使机器人从第一个轨迹平滑过渡到第二个轨迹,省去中间点的减速和加速过程,减少机器人转弯所需的时间和能量,提高移动效率。

交融的主要参数是交融半径,即机器人运行时的转弯半径,当机器人处于路点的交融半径内时,机器人可能启动交融并偏离原始路径,达到机器人连续运动且不会在该路点停止的目的。交融半径值越小,路径转角越大;交融半径值越大,路径的转角越小。但要注意,交融不能重叠,如下图所示。

影响交融轨迹的其他参数:

  • 交融起始位置和结束位置的移动类型(关节运动、直线运动、样条曲线)。
  • 机器人在轨迹上的运动时间。
  • 机器人的速度(关节速度/关节加速度、工具速度/工具加速度)。

交融轨迹

  • 【关节运动】下的交融:设置交融参数后,系统会在关节空间生成一条平滑的曲线,

  • 【直线运动】下的交融:设置交融参数后,将在交融位置规划一个圆弧路径,方向与两条轨迹之间的平滑插值交融。

共享参数

共享参数可以对在该程序块中的参数进行批量设置,例如:【移动】节点设置【共享参数】的值后,在【移动】程序块中插入的所有节点,只要其中的参数使用到【共享参数】中所包含的参数,其参数值均默认为在【移动】节点处设置的值,除非在该节点中的参数进行特殊设置。

坐标系

机器人运动时,软件会将工具中心点的位置计算为所选坐标系的坐标,因此如果选择不同的坐标系,机器人的运动轨迹也可能会不同。系统预定义基座、工具两个坐标系,用户也可以自定义坐标系后,在此处进行选择。关于坐标系的介绍与设置请参见 “5.1.9 坐标系”。

工具中心点(TCP)

选择不同的工具中心点(TCP),可以调整机器人在路点之间的移动方式。在【移动】节点中可以设置用于【路点】的工具中心点。关于 TCP 的介绍与设置请参见 “5.1.4 工具中心点”。

  • 使用激活的工具中心点。
  • 忽略激活的工具中心点,允许相对于工具法兰调整此移动。
  • 用户定义的 TCP。

使用关节角度

勾选后,程序运行时会在脚本中记录关节角,代替机器人的位置信息。同时,系统会禁用此处的【设置工具中心点(TCP)】和【坐标系】。启用该功能后,当工程发生迁移时,机器人将不会调整该路点信息,数据仍可使用。

添加【移动】节点

  1. 单击【移动】图标,在程序树中会新增一个【关节运动】节点,下面包含一个【路点】节点。
  2. 【移动】节点包含移动类型:关节运动、直线运动、样条曲线。程序树中【移动】节点的显示名称由选择的移动类型来决定。
  3. 选中【关节运动/直线运动/样条曲线】节点,可以对该节点进行设置。

添加【样条曲线】

  1. 单击【移动】命令,在程序树中添加一个【移动】节点。
  2. 【移动】命令界面内选择【样条曲线】。
  3. 设置该样条曲线的相关参数:TCP、坐标系、关节速度、关节加速度等。
  4. 在【样条曲线】节点下添加多个【路点】节点,设置各个路点位置,完成【样条曲线】的添加。

路点

【路点】命令,是机器人的工具中心点(TCP)将要到达的位置点,通过设置路点可以设置机器人移动的具体位置。通常机器人的工具中心点(TCP)的运动轨迹由两个或多个路点构成。【路点】节点可配置【固定位置】、【变量位置】、【相对位置】三种类型。

【路点】必须置于【移动】节点下。

1. 固定位置

【固定位置】,通过操作机器人【移动】界面或拖动机器人来设置【路点】位姿。

  • 示教:即引导机器人在当前坐标系下定位姿态。以下为向机器人示教一个路点的操作步骤:

    1. 在程序树上插入一个【移动】程序节点。

    2. 在【移动】程序节点界面,通过【设置工具中心点(TCP) 】下拉菜单设置 TCP;通过【坐标系】下拉菜单选择一个坐标系。

    3. 在【移动】程序节点下,插入【路点】节点。插入后可在【路点】节点界面的右上方选择路点类型。

    4. 在【固定位置】界面,单击【设置路点】,切换至机器人示教界面,可使用界面的【位置/姿态控制按键】移动机器人,或者进入拖动示教模式手动移动机器人到目标路点。设置完毕后,单击【确定】按钮保存【路点】的位姿。

  • 【路点】命名与切换

    • 默认路点名称为 “路点_n”,n 的初始值为 0,每新增一个路点即为 n+1
    • 修改路点名称:单击【重命名】可对路点名称进行修改,但不支持重名的路点。
    • 链接:单击 图标或单击【链接】,选择程序中的路点,即可使用目标路点的位姿。链接成功后,【链接】按钮变为【取消链接】,单击【取消链接】可恢复原始路点。
  • 交融参数

    • 【在该点停止】:即交融半径为 0 mm,机器人将在该路点位置处停止。
    • 使用共享交融半径:设置该路点使用共享交融半径(关节运动和样条曲线不可选择该项)。
    • 使用交融半径:设置该路点的交融半径。
  • 速度

    • 使用共享参数:设置该路点使用共享速度参数(关节/工具速度、关节/工具加速度)。
    • 时间:设置上个路点运行到此路点的总移动时间(单位:s),该设置将影响机器人的速度。若设置不合理的总移动时间可能会造成机器人的运动参数超出机器人的参数范围,AUBO SCOPE 会对此进行优化,请以机器人运行时参数为准。
    • 关节/工具速度、关节/工具加速度:设置该路点的关节/工具速度、关节/工具加速度。

2. 变量位置

【变量位置】,通过配置变量来设置【路点】位姿。【变量位置】常用于批量更改相同路点的参数,以节省编程时间。

  • 选择变量:单击【<变量>】下拉框,选择变量。变量的设置请参见 “4.3.6 赋值”、“5.1.7 变量”。
  • 变量类型:设置该变量的类型。
    • 位姿类型:变量的六个参数对应六个关节角,关节角采用弧度制。例如:i_变量_1 = {0, -0.261796, 1.74532, 0.436316, 1.5708, 0}
    • 关节类型:变量的六个参数代表机器人位姿,单位为 m。例如:i_变量_1 = {0.548871, -0.1215, 0.263199, 3.14159, 0, 1.5708}

3. 相对位置

【相对位置】,通过两个给定位置(源路点、目标路点)之间的差距来定义该【路点】位姿。

编程时,程序中须至少有一个除【相对位置】路点之外的其他路点,否则机器人将发生不可预测的错误。
  • 距离:指源路点和目标路点之间的笛卡尔距离。

  • 角度:指源路点和目标路点之间方向变化的旋转矢量的长度。

  • 【路点】重命名与选择

    • 单击【重命名】或路点名称,对源路点或目标路点进行重命名。
    • 单击【链接】或 图标展开路点列表,选择路点。链接成功后,【链接】按钮变为【取消链接】,单击【取消链接】可恢复原始路点。
  • 设置源路点、设置目标路点:单击后切换至机器人示教界面,使用界面的【位置/姿态控制按键】移动机器人,或者使用示教模式人为移动机器人到目标路点。设置完毕后,单击【确定】按钮保存源路点或目标路点的位姿。

  • 移至此处:单击后切换至【移动】界面,长按【自动】可将机器人移动到该路点的位姿。

方向

【方向】命令,指定相对于坐标系或 TCP 的运动,机器人按其指定方向进行相对移动,直到满足【直到】命令的停止条件或达到【方向】中设置的最大距离停止。

  1. 【方向】须在【直线运动】命令下使用。
  2. 【方向】命令需搭配【直到】命令使用。

设置

  • 坐标系:设置该节点运动时所使用的坐标系。可使用【移动】节点的共享坐标系,也可自定义坐标系。

  • 方向:设置在指定坐标系下,机器人移动的方向,方向可以是坐标系的轴向,也可以自定义方向。

    • 最大距离:设置机器人在该方向上可运行的最大距离。

      如果【直到】命令的停止条件的距离大于【最大距离】,则以【最大距离】为运动的最远点。
  • 共享参数:使用【直线运动】节点中设置的相关参数。用户也可自定义【方向】节点内的【工具速度】、【工具加速度】的值。

添加【方向】

  1. 在【基础】程序节点下单击【移动】,在程序树上添加【移动】节点,设置【移动】节点为【直线运动】。
  2. 在【基础】程序节点下单击【方向】 ,在【直线运动】节点下添加【方向】 节点。
  3. 在程序树选中【方向】 节点,在【命令】界面设置参数。
  4. 用户可通过添加【直到】 来设置停止方向移动的条件,【直到】命令请参见 “4.3.5 直到”。

【圆】命令,设置机器人末端的 TCP 以恒定的速度进行圆弧运动或圆周运动。采用三点法确定圆弧或圆周,并按照顺序从起始路点运动至结束路点,属于笛卡尔空间轨迹规划。机器人进行圆弧运动或圆周运动时,起点和终点会影响机器人的姿态变化,运动过程中的最大速度和加速度意义同直线运动。

  1. 【圆】节点需在【直线运动】下使用。
  2. 设置圆的三个点不能共线,否则系统将弹窗提示错误。

设置

  • 【圆】节点需设置 3 个路点:起点(路点_0)、经过点(路点_1)和终点(路点_2)。默认所有路点使用相同的交融半径,关于交融的描述请参见 “4.3.1 移动”。TCP 以恒定速度经过各路点时,机器人不会等待 I/O 或操作员的操作。如果存在 I/O 或操作员操作,则可能导致机器人发生保护性停止。

  • 选择与圆相对的方向模式(模式用于定义工具的方向):

    • 固定模式:工具姿态相对于圆弧路径坐标系保持不变。

      设置位姿实际位姿
    • 无约束模式:工具姿态呈线性变化,绕空间定轴转动,从起始点姿态变化到目标点姿态。

      设置位姿实际位姿
    • 经过点模式:工具姿态从起点开始,经过中间点姿态,变化到目标点姿态。

      设置位姿实际位姿
  • 选择圆的轨迹

    • 完整的圆:勾选后,机器人将按照三点法确定的圆进行完整圆运动。取消勾选后,机器人在起点、经过点、终点之间以圆周轨迹运动,运动到终点后以直线轨迹回到起点。
    • 圈数:设置完整圆运动的圈数。

直到

【直到】命令,设置触发运动停止的条件,可以为单个动作添加多个停止条件,当满足第一个停止条件时,运动停止。用户可在【方向】节点或【路点】节点下添加【直到】节点,设置机器人的运行停止条件。

设置停止条件

  • 表达式:指定 I/O、变量或脚本函数做为停止条件,当满足表达式的条件时,机器人停止移动。

  • 工具接触:机器人会一直移动,直到检测到对工具的撞击,机器人将以确定的减速停止。

    默认移动速度对于接触检测来说太高。在工具接触条件生效之前,较快的移动速度会导致机器人发生碰撞进而触发保护性停止。为了避免触发保护性停止,建议工具速度小于 3.9 mm/s2
  • I/O 输入:通过数字输入或模拟输入来触发机器人【直到】停止。例如,设置直到数字输入 DI02 为低电平,则当机器人在移动时接收到 DI02 的低电平信号,运动停止。

  • 距离:机器人沿指定方向移动,在【距离】处停止。

    • 在该点停止:如果到达该路点,机器人将停止运动。
    • 使用交融半径:如果该节点之后还有其他路点,机器人将不停止,平滑运行至下一个节点。
  • 到达路点:当【直到】直接在【路点】节点下插入时出现该选项,可在【直到到达】节点内添加其他动作。当机器人到达【路点】节点时,执行【直到到达】节点内的动作。

  • 添加动作:勾选后,可添加【直到】条件满足时的动作。如果没有定义,则程序执行程序树中的下一个节点。

赋值

【赋值】命令,创建程序变量并赋值,可将表达式的值赋给所选变量,或者将机器操作员输入的值赋给所选变量。

设置赋值类型

  • 表达式:设置变量为表达式,也可以创建新的变量。

    • 同步:勾选后,可使变量在正确的时间点赋值。
  • 操作员:设置输入变量的类型,当程序运行到该节点时,需要操作员手动输入变量赋值。

    • 操作员信息:添加操作员提示信息,帮助操作员输入正确的变量。

同步/变量同步

在机器人运行过程中存在两个指针,提前运行指针(Advanced Pointer)与主指针(Main Pointer)。主指针与机器人的实际运动关联,能反映机器人程序的实际运动情况;提前运行指针为脚本解释的指针,可预知后续的运动指令,用于交融等计算。

“同步/变量同步” 功能指的是将主指针与提前运行指针同步。 在程序执行过程中,系统会先按照代码顺序依次解释运行,如果是变量赋值代码,则在解释后立即执行赋值操作,如果是运动指令,则完成解释后将其放入运动队列等待运行。

以下两个伪代码示例分别显示当 “同步” 功能开启或关闭时,代码的状态:

  1. 关闭 “同步” 功能:a=0 完成解释后立即执行变量赋值操作,然后 ... 完成解释后进入运动队列等待运行。接下来轮到 a=1,系统解释完成后立即执行变量赋值操作。随后解释 moveJ(a),此时系统先获取 a 的值解释 moveJ(a),再将其放入运动队列中等待。由于解释 moveJ(a) 时,a=1 已完成解释和赋值操作,所以 moveJ(a) 获取的 a 值为 1
  2. 开启 “同步” 功能:a... 依次解释,a=0 完成变量赋值操作,... 进入运动队列等待运行。然后 a=1 在解释时,会增加 INST[] 算法,此时 a=1 不会立即执行赋值操作,而是先放入运动队列中等待,只有当运动队列运行到该指令时才将 1 赋值给 a。接下来系统继续解释 moveJ(a),由于运动队列尚未处理 a=1,因此解释 moveJ(a) 时获取的 a 值为 0
不同步同步
a=0
....
a=1
moveJ(a) -- a=1
a=0
....
INST[[ a=1 ]]
moveJ(a) -- a=0

注释:其中 a=0a=1 为变量赋值指令,INST[] 为同步功能的算法,moveJ(a) 代表需要使用变量 a 值的关节运动,... 为其他包含运动的指令。

备注

【备注】命令,帮助用户记录注释信息,备注文本在程序运行过程中不会被显示。

弹窗

【弹窗】命令,用户指定一则信息,程序运行到该节点时会在屏幕显示该信息。

设置

  • 文本:输入信息文本,可单击【预览弹窗】查看弹窗效果。文本弹窗分消息、警告、错误三类。
  • 变量:可以选择变量,当程序运行到该节点时,弹窗提示该变量的值,并等待用户关闭对话框。变量弹窗分消息、警告、错误三类。
  • 弹窗时中止程序运行:勾选后,当程序运行至【弹窗】节点时,屏幕上显示弹窗消息并中止程序的运行。

设置

【设置】命令,在程序中添加用户希望机器人在此时执行的动作。

设置

  • 无动作:无操作。
  • 数字输出:可设置数字输出信号。
  • 模拟输出:可设置模拟输出信号。
  • 设置:可设置数字输出口或模拟输出口的表达式。数字输出口仅支持 true/false 或1/0,其中 Modbus 口仅支持 1/0。
  • 单脉冲:设置数字输出口持续输出高/低电平的时间。
  • 将配置变量增加 1 :配置变量自动加 1。配置变量的设置请参见 “5.1.7 变量”。
    • 变量同步:请参见 “4.3.6 赋值” 中关于 “同步” 的介绍。
  • 设置工具中心点(TCP):可选择 TCP。TCP 的创建与设置请参见 “5.1.4 工具中心点”。
  • 碰撞级别:可设置碰撞等级。
  • 测试:执行一次该节点的设置。当选择【设置】或【将配置变量增加 1】时,该节点不可进行测试。

负载

【负载】命令,可以选择已有的负载,也可以选择【自定义负载】输入自定义值。已有负载的设置请参见 “5.1.5 负载”。

设置

  • 现在设置:按钮即执行一次该节点的设置。
在机器人抓起和释放物料时需设置有效负载。

等待

【等待】命令,设置等待时间或数字输入信号。

设置

  • 不等待:机器人不等待。
  • 等待……秒:机器人等待设置的时间后继续运行。
  • 等待数字信号输入:等待收到设置的数字信号后继续运行。
  • 等待模拟信号输入:等待接收到设置的模拟信号后继续运行。
  • 等待表达式:等待表达式成立后继续运行。

计时器

【计时器】命令,记录程序运行的时间,程序运行时间的值会在【变量】界面中显示。

设置

  • 【计时器】界面的下拉框中可以选择计时器,也可以选择下拉框中的【新建】来新建计时器。
    • 计时器默认名称为 “计时_0”,每次新建,默认数值加 1。
    • 重命名:单击可以自定义计时器名称。
  • 【计时器】状态
    • 开始:计时器开始计时。
    • 停止:计时器停止计时。
    • 重置:计时器重置计时。

文件夹

【文件夹】命令,用于程序的整理,可以给一段程序添加标注,使程序树清晰明了,更易于读取和浏览。文件夹对程序及其执行没有影响。

设置

  • 文本框:在文本框中输入文本,文本会在程序树中显示。

终止

【终止】命令,程序停止运行。当程序运行到【终止】节点时,程序停止运行。

原点

【原点】命令,机器人将移动到原点节点,原点节点位置的设置请参见 “5.1.1 原点”。如果设置了对应的安全 I/O:当机器人运动至安全原点并保持停止时,安全 I/O 将输出 “1” 信号;如果机器人没有在安全原点位置停下,则安全 I/O 输出为 “0”。安全 I/O 的设置请参见 “5.2.1 I/O”。

设置

  • 关节运动
    • 关节速度/关节加速度:设置移动到【原点】时的关节速度/关节加速度。
    • 时间:设置移动到【原点】时的时间。
  • 关节移动到这里/直线移动到这里:单击进入【移动】界面,长按【自动】将机器人移动到【原点】位置。