跳到主要内容

15.4.2 运动指令

15.4.2.1 MoveAbsJ

说明

MoveAbsJ(Move Absolute Joint)用于把机器人和外部轴运动到一个以轴角度定义的位置上,用于快速定位或者移动机器人到某个精确的轴角度。所有的轴同步运动,机器人末端沿一条不规则的曲线移动,请注意是否有发生碰撞的危险。
MoveAbsJ 指令中使用的 tool 参数不会影响机器人的终点位置,但控制器仍然需要使用 tool 参数进行动力学的计算。

定义

MoveAbsJ(ToJointPos, Speed, Zone, Tool, [Wobj]);
其中,带[ ]的参数为可选参数,可不写。
ToJointPos,目标关节角度(To Joint Position),数据类型 jointtarget,机器人和外部轴的目标角度和位置值。
Speed,运动速度(Move Speed),数据类型 speed,用于指定机器人执行 MoveAbsJ 时的运动速度。
Zone,转弯区(Turning Zone),数据类型 zone,用来定义当前轨迹的转弯区大小。
Tool,数据类型 tool,执行该轨迹时使用的工具,MoveAbsJ 指令使用工具的 TCP 数据来计算运动速度和转弯区大小。
[Wobj],工件(Work Object),数据类型 wobj,执行该轨迹时使用的工件,当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用 wobj 内存储的数据来计算运动速度和转弯区大小。

示例

例 1
MoveAbsJ(j10, v500, fine, tool1);
机器人使用工具 tool1,以 v500 的速度沿不规则的路径运动到 j10 定义的绝对关节角度,转弯区大小为 0。

例 2
MoveAbsJ(startpoint, v1000, z100, gripper, phone);
机器人使用工具 gripper,在工件坐标系 phone 下,以 v1000 的速度沿不规则的路径运动到 startpoint 定义的绝对关节角度,转弯区大小为 100 mm。

15.4.2.2 MoveJ

说明

MoveJ(Move The Robot By Joint Movement)用于对机器人末端运动轨迹没有要求的场合,使机器人快速的从一个点运动到另一个点。所有的轴同步运动,机器人末端沿一条不规则的曲线移动,请注意是否有发生碰撞的危险。
MoveJ 指令与 MoveAbsJ 最大的区别在于给定的目标点格式不同。MoveJ 的目标点是工具(TCP)的空间位姿而不是关节轴角度。

定义

MoveJ(ToPoint, Speed, Zone, Tool, [Wobj]);
其中,带[ ]的参数为可选参数,可不写。
ToPoint,目标位姿(To Point),数据类型 robtarget,在笛卡尔空间描述的目标位置。
Speed,运动速度(Move Speed),数据类型 speed,用于指定机器人执行 MoveJ 时的运动速度,包括机器人末端的平移速度、旋转速度以及外部轴的运动速度。
Zone,转弯区(Turning Zone),数据类型 zone,用来定义当前轨迹的转弯区大小。
Tool,数据类型 tool,执行该轨迹时使用的工具,MoveJ 指令使用工具的 TCP 数据来计算运动速度和转弯区大小。
[Wobj],工件(Work Object),数据类型 wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用 wobj 中存储的数据来计算运动速度和转弯区大小。

示例

例 1
MoveJ(p30, v100, z50, tool1);
机器人使用工具 tool1,TCP 以 v100 的速度沿不规则的路径运动到 p30 定义的目标点,转弯区大小为 50 mm。

例 2
MoveJ(endpoint, v500, z50, gripper, wobj2);
机器人使用工具 gripper,在工件坐标系 wobj2 下,TCP 以 v500 的速度沿不规则的路径运动到 endpoint 定义的目标位置,转弯区大小为 50 mm。

15.4.2.3 MoveL

说明

用于将工具中心点 TCP 沿直线移动到给定的目标位置。
当起点和终点姿态不同时,姿态将与位置同步旋转到终点的姿态。由于平移和旋转速度是分开指定的,为了保证不超出指定速度的限制,MoveL 指令最终的运动时间取决于姿态、位置和臂角变化时间较长的那一个。因此在执行某些特定轨迹(例如位移很小而姿态变化很大)时,如果机器人运动速度明显过慢或过快,请检查转动速度设置是否合理。
当需要保持工具中心点 TCP 静止,而只调整工具姿态时,可以通过为 MoveL 指定位置相同但姿态不同的起点和终点来实现。

定义

MoveL(ToPoint, Speed, Zone, Tool, [Wobj]); 其中,带[ ]的参数为可选参数,可不写。
ToPoint,目标位姿(To Point),数据类型 robtarget,在笛卡尔空间描述的目标位置。
Speed,运动速度(Move Speed),数据类型 speed,用于指定机器人执行 MoveL 时的运动速度,包括机器人末端的平移速度、旋转速度以及外部轴的运动速度。
Zone,转弯区(Turning Zone),数据类型 zone,用来定义当前轨迹的转弯区大小。
Tool,数据类型 tool,执行该轨迹时使用的工具,指令中的速度指的是该工具的 TCP 速度及旋转速度。
[Wobj],工件(Work Object),数据类型 wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用 wobj 中存储的数据来计算运动速度和转弯区大小。

示例

例 1
MoveL(p10, v1000, z50, tool0);
机器人使用工具 tool0,TCP 以 v1000 的速度沿直线路径运动到 p10 定义的目标点,转弯区大小为 50 mm。

例 2
MoveL(endpoint, v500, z50, gripper, wobj2); 机器人使用工具 gripper,在工件坐标系 wobj2 下,TCP 以 v500 的速度沿直线路径运动到 endpoint 定义的目标位置,转弯区大小为 50 mm。

15.4.2.4 MoveC

说明

MoveC(Move Circle)用于将工具中心点 TCP 沿圆弧经过中间辅助点移动到给定的目标位置。
当起点和终点姿态不同时,姿态将与位置同步旋转到终点的姿态,辅助点的姿态不影响圆弧运动过程。由于平移和旋转速度是分开指定的,为了保证不超出指定速度的限制,MoveC 指令最终的运动时间取决于姿态、位置和臂角变化时间较长的那一个。 因此在某些特定轨迹(例如位移很小而姿态变化很大)下,如果机器人运动速度明显过慢或过快,请检查转动速度设置是否合理。

定义

MoveC(AuxPoint, ToPoint, Speed, Zone, Tool, [Wobj]);
其中,带[ ]的参数为可选参数,可不写。
AuxPoint,辅助点(Auxiliary Point),数据类型 robtarget,在笛卡尔空间描述的辅助点位置,用于确定圆弧大小和运动方向,该点的姿态不会影响最终轨迹的执行。
ToPoint,目标位姿(To Point),数据类型 robtarget,在笛卡尔空间描述的目标位置。
Speed,运动速度(Move Speed),数据类型 speed,用于指定机器人执行 MoveC 时的运动速度,包括机器人末端的平移速度、旋转速度以及外部轴的运动速度。
Zone,转弯区(Turning Zone),数据类型 zone,用来定义当前轨迹的转弯区大小。
Tool,数据类型 tool,执行该轨迹时使用的工具,指令中的速度指的是该工具的 TCP 速度及旋转速度。
[Wobj],工件(Work Object),数据类型 wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用 wobj 中存储的数据来计算运动速度和转弯区大小。

示例

例 1
MoveC(p10, p20, v1000, z50, tool0);
机器人使用工具 tool0,TCP 以 v1000 的速度沿圆弧经过 p10 点运动到 p20 定义的目标位置,转弯区大小为 50 mm。

例 2
MoveC(auxpoint, endpoint, v500, z50, gripper, wobj2);
机器人使用工具 gripper,在工件坐标系 wobj2 下,TCP 以 v500 的速度沿圆弧经过 auxpoint 点运动到 endpoint 定义的目标位置,转弯区大小为 50 mm。

15.4.2.5 MoveCF

说明

MoveCF(Move Circle Full)用于将工具中心点 TCP 沿着由起点和两个辅助点确定的圆形路径,以给定的全圆执行角度进行移动和旋转。MoveCF 全圆运动的终点由全圆执行角度确定,两个辅助点只用来确定圆形路径的空间位置。全圆运动过程中姿态将以参数指定的方式变化,且辅助点的姿态不影响全圆运动过程中的姿态。
MoveCF 指令最终的运动时间只取决于位置变化的时间。因此在圆半径较小的情况下,请检查运动速度设置是否合理,以免发生姿态旋转过快的情况。

定义

MoveCF(AuxPoint1, AuxPoint2, RunDeg, RotType, Speed, Zone, Tool, [Wobj]);
其中,带[ ]的参数为可选参数,可不写。
AuxPoint,辅助点(Auxiliary Point),数据类型:robtarget,在笛卡尔空间描述的两个辅助点位置。用于确定圆弧的位置和大小,以及运动方向,两个辅助点的姿态不会影响运动的执行。
RunDeg,全圆运动执行角度,数据类型 double,数值范围 -359 ~ 3600。请注意机器人末端轴软限位限制),全圆运动的角度,用于确定绕圆运动的圆心角度数。可以是负角度,即按相反方向画圆。
RotType,姿态变化方式,数据类型 char。可选范围:"ConstPose"、"RotAxis"、"FixedAxis"。全圆运动的姿态变化方式,支持三种不同的姿态变化方式,请根据需要进行选择:

  • "Const Pose":不变姿态全圆运动,运动过程中,姿态将保持起点的姿态不变。

  • "RotAxis":动轴旋转全圆运动,姿态由起始点姿态和圆的位置决定,运动过程中姿态绕着圆中心轴线变化一周。该方式运动时末端姿态变化较大,请合理设置起点末端轴的角度,以免运动过程中超过软限位(尤其是最后一个关节)。

  • "FixedAxis":定轴旋转全圆运动,姿态由起始点姿态和圆的位置决定,运动过程中姿态绕着圆中心轴线变化,但不会绕着自身 Z 轴进行旋转。

Speed,运动速度(Move Speed),数据类型 speed,用于指定机器人执行 MoveCF 时的 TCP 运动速度。姿态旋转速度和全圆路径长度相关,不由 speed 参数决定,因此使用时请务必注意该参数的设置,以免末端轴旋转过快。
Zone,转弯区(Turning Zone),数据类型 zone,用来定义当前轨迹的转弯区大小。
Tool,数据类型 tool,执行该轨迹时使用的工具,指令中的速度指的是该工具的 TCP 速度。
[Wobj],工件(Work Object),数据类型 wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用 wobj 中存储的数据来计算运动速度和转弯区大小。
15.4.2.5

示例

例 1
MoveJ(P1, v1000, z100, tool1);
MoveCF(P2, P3, 360, "RotAxis", v100, z50, tool1);
起点 P1,辅助点 P2、P3 共同确定空间圆形轨迹。 以 P1→P2→P3 为正方向,沿着圆形轨迹运动 360°,回到 P1 点。
运动过程中姿态以起点P1姿态为准,绕圆形轨迹中轴线进行相应的旋转。

例 2
MoveJ(P1, v1000, z100, tool1);
MoveCF(P2, P3, -330, "ConstPose", v100, z50, tool1);
以P1→P2→P3为正方向,沿着圆形轨迹运动-330°,到P5点。
运动过程中姿态保持和P1姿态相同。

例 3
MoveJ (P1, v1000, z100, tool1);
MoveCF (P3, P2, 30,“FixedAxis”, v100, z50, tool1);
以P1→P3→P2为正方向,沿着圆形轨迹运动30°,到P4点。
运动过程中姿态以起点P1姿态为准,绕圆形轨迹中轴线进行相应的旋转,但不会绕着自身Z轴进行旋转。

15.4.2.6 MoveT

说明

MoveT(Move Trochoid)用于将工具中心点 TCP 按照指定步进长度,经过辅助点画次摆线旋转步进移动到给定的目标位置。
当起点和终点姿态不同时,姿态将与位置同步旋转到终点的姿态,辅助点的姿态不影响螺旋运动过程。
由于平移和旋转速度是分开指定的,为了保证不超出指定速度的限制,MoveT 指令最终的运动时间取决于姿态、位置和臂角变化时间较长的那一个。 因此在某些特定轨迹(例如位移很小而姿态变化很大)下,如果机器人运动速度明显过慢或过快,请检查转动速度设置是否合理。

定义

MoveT(AuxPoint, ToPoint, Radius, Step, Speed, Zone, Tool, [Wobj]);
其中,带[ ]的参数为可选参数,可不写。
AuxPoint,辅助点(Auxiliary Point),数据类型: robtarget,在笛卡尔空间描述的辅助点位置,用于确定圆弧大小和运动方向,该点的姿态不会影响最终轨迹的执行。
ToPoint,目标位姿(To Point),数据类型: robtarget,在笛卡尔空间描述的目标位置。
Radius,摆线半径,数据类型 double,次摆线前进的半径长度,单位 mm。
Step,步进长度,数据类型 double,次摆线前进的半径长度,单位 mm。
Speed,运动速度(Move Speed),数据类型: speed,用于指定机器人执行* MoveT 时的运动速度,包括机器人末端的平移速度、旋转速度以及外部轴的运动速度。
Zone,转弯区(Turning Zone),数据类型: zone,用来定义当前轨迹的转弯区大小。
Tool,数据类型: tool,执行该轨迹时使用的工具,指令中的速度指的是该工具的TCP 速度及旋转速度。
[Wobj],工件(Work Object),数据类型: wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用wobj中存储的数据来计算运动速度和转弯区大小。

示例

15.4.2.6
例 1
MoveL(p10, v1000, fine, tool0);
MoveT(pfuzhu, p20, 150, 50, v1000, z50, tool0);
机器人使用工具 tool0, TCP 以 v1000 的速度沿圆弧经过 p10 点画次摆线,每次摆线半径为150mm, 步进50mm,最后运动到 p20 定义的目标位置,转弯区大小为 50 mm。

15.4.2.7 MoveSP

说明

MoveSP(Move Spiral)用于将工具中心点 TCP 按照指定初始半径、旋转增率、合计旋转角度和旋转方向,在与工件坐标系 xy 平行的平面内画阿基米德螺旋线。运动过程中姿态线性变化到目标点中的指定姿态。
注意:当MoveSP指令运动中途暂停,继续运行,将以当前点为起点重新生成路径,不再继续之前的路径。

定义

MoveSP(Point, Radius, Radius_step, Angle, Direction, Speed, Zone, Tool, [Wobj]);
其中,带[ ]的参数为可选参数,可不写。
Point,目标点,数据类型 robtarget,仅使用其中的姿态作为螺旋线终点的姿态。
Radius,初始半径,数据类型 double,单位 mm,要求不小于 0 mm。螺旋线的中心点位置为:TCP 当前位置沿工件坐标系x 轴负方向移动Radius 距离。
Radius_step,旋转增率,数据类型 double,螺旋线的旋转增率,单位mm/deg,要求不小于0.0001 mm/deg。
Angle,合计旋转角度,数据类型 double,螺旋线的合计旋转角度,单位 deg,要求不小于 0.1 deg,且不大于 3600 deg。
Direction,旋转方向,数据类型 int。0:顺时针向外;1:逆时针向外;2:顺时针向内;3:逆时针向内。
Speed,Speed,运动速度(Move Speed),数据类型: speed,用于指定机器人执行MoveSP 时的运动速度,包括机器人末端的平移速度、旋转速度。
Zone,转弯区(Turning Zone),数据类型: zone,用来定义当前轨迹的转弯区大小。螺旋线暂不支持转弯区,系统会自动取消螺旋线前后的转弯区。
Tool,数据类型: tool,执行该轨迹时使用的工具,指令中的速度指的是该工具的TCP 速度及旋转速度。
[Wobj],工件(Work Object),数据类型: wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;该指令仅支持外部工件。TCP 运动平面与工件坐标系xy 平面平行。

示例

15.4.2.7
例 1
MoveL(Start_point, v1000, fine, tool1);
MoveSP(Point, 10, 0.1, 900, 1, v100, fine, tool1);
首先机器人使用工具tool1, TCP 以v1000 的速度从P0 沿直线运动Start_point。
然后TCP 以v100 的速度进行阿基米德螺旋线运动,螺旋线中心点在Start_point 沿工件坐标系x轴负方向10 mm 处,从工件坐标系z 轴向下看旋转方向为逆时针从中心向外扩展,每旋转1°半径增大0.1 mm,合计旋转900°后停下。

15.4.2.8 SearchL

说明

SearchL(Search Linear)用于沿直线移动工具中心点时搜索位置。
在移动时,机器人会监控一个数字输入信号(DI)或只读寄存器。当监测的信号状态符合触发模式时,机器人立即读取当前位置。当由机械臂固定的工具为用于表面探测的探针时,通常可使用该指令。使用SearchL指令,可获得工件的概略坐标。本指令仅可用于运动任务。

定义

SearchL([action][,signal_type][,signal_name][,trigger_mode,] save_rob, target_rob, Speed, Tool [,Wobj]);
其中,带[ ]的参数为可选参数,可不写。

Action,触发 DI 后的行为,数据类型:关键字,无参数:不停止

  • \Stop:快速停止,可能导致机器人偏离路径,不限制速度

  • \PStop:机器人会在预定轨迹上停止,不限制速度

signal_type,信号类型,数据类型:关键字,无参数:DI信号

  • \DI:DI 信号

  • \Reg:寄存器信号

signal_name,数据类型:DI信号或寄存器,SearchL指令触发特定行为的信号,使用用户自定义DI信号或在通信-寄存器中创建的寄存器
trigger_mode,DI信号触发模式,数据类型:关键字,无参数:默认为上升沿触发

  • \Flanks:边缘触发;(上升沿或下降沿)

  • \Posflank:上升沿触发

  • \Negflank:下降沿触发

  • \Highlevel:高电平触发

  • \Lowlevel:低电平触发

对于数值型寄存器来说,0代表低电平,非0代表高电平
save_rob,数据类型: robtarget,存储触发信号时位置数据的点位。
target_rob,数据类型: robtarget,直线运动的目标点位。
Speed,运动速度(Move Speed),数据类型: speed,用于指定机器人执行 Search 时的运动速度,包括机器人末端的平移速度、旋转速度以及外部轴的运动速度。
Tool,数据类型: tool,执行该轨迹时使用的工具,指令中的速度指的是该工具的 TCP 速度及旋转速度。
[Wobj],工件( Work Object),数据类型: wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用 wobj 中存储的数据来计算运动速度和转弯区大小。

示例

例 1
SearchL(di0, save_rob, target_rob, v500, tool0);
机器人使用工具 tool0, TCP 以 v500 的速度朝target_rob直线运动,如果运动过程中di0跳变为高电平,将信号跳变时机器人的坐标信息记录在save_rob。

例 2
SearchL(\PStop, di0, \Lowlevel, save_rob, target_rob, v500, tool0);
机器人使用工具 tool0, TCP 以 v500 的速度朝target_rob直线运动,如果运动过程中di0为低电平,机器人将立即规划停止,并在检测到信号为低电平时将机器人的坐标信息记录save_rob。

例 3
SearchL(\PStop, \Reg, register0, save_rob, target_rob, v500, tool0, wobj1);
机器人使用工具 tool0 工件wobj1, TCP 以 v500 的速度朝target_rob直线运动,如果运动过程中register0由0变为非0,机器人将立即规划停止,并将机器人的坐标信息记录save_rob。

15.4.2.9 SearchC

说明

SearchC(Search Circle)用于沿圆周移动工具中心点时搜索位置。
在移动时,机器人会监控一个数字输入信号(DI)或只读寄存器。当监测的信号状态符合触发模式时,机器人立即读取当前位置。
当由机械臂固定的工具为用于表面探测的探针时,通常可使用该指令。使用 SearchC 指令,可获得工件的概略坐标。本指令仅可用于运动任务。

定义

SearchC([action][,signal_type][,signal_name][,trigger_mode,] save_rob, aux_rob, target_rob, Speed, Tool [,Wobj]);
其中,带 [ ] 的参数为可选参数,可不写。
Action,触发 DI 后的行为,数据类型:关键字。无参数:不停止

  • \Stop:快速停止,可能导致机器人偏离路径,但停止速度更快

  • \PStop:规划停止,机器人会在预定轨迹上停止,不限制速度

signal_type,信号类型,数据类型:关键字。无参数:DI 信号

  • \DI:DI 信号

  • \Reg:寄存器信号

signal_name,数据类型:DI 信号或寄存器,SearchC 指令触发特定行为的信号,使用用户自定义 DI 信号或在通信-寄存器中创建的寄存器
trigger_mode,DI 信号触发模式,数据类型:关键字。无参数:默认为上升沿触发

  • \Flanks:边缘触发(上升沿或下降沿)

  • \Posflank:上升沿触发

  • \Negflank:下降沿触发

  • \Highlevel:高电平触发

  • \Lowlevel:低电平触发

对于数值型寄存器来说,0 代表低电平,非 0 代表高电平
save_rob,数据类型 robtarget,存储机器人触发信号时位置数据的点位
aux_rob,数据类型 robtarget,圆周运动的辅助点
target_rob,数据类型 robtarget,圆周运动的目标点位
Speed,运动速度(Move Speed),数据类型 speed,用于指定机器人执行 Search 时的运动速度,包括机器人末端的平移速度、旋转速度以及外部轴的运动速度。
Tool,数据类型 tool,执行该轨迹时使用的工具,指令中的速度指的是该工具的 TCP 速度及旋转速度。
[Wobj],工件(Work Object),数据类型 wobj,执行该轨迹时使用的工件。当工具安装在机器人上时,该参数可以忽略;当使用外部工具时,必须要指定该参数,且机器人将使用 wobj 中存储的数据来计算运动速度和转弯区大小。

示例

例 1
SearchC(di0, save_rob, aux_rob, target_rob, v500, tool0);
机器人使用工具 tool0, TCP 以 v500 的速度经过辅助点aux_rob朝target_rob圆周运动,如果运动过程中di0跳变为高电平,将信号跳变时机器人的坐标信息记录在save_rob。

例 2
SearchC(\PStop, di0, \Flanks, save_rob, aux_rob, target_rob, v500, tool0);
机器人使用工具 tool0, TCP 以 v500 的速度经过辅助点aux_rob朝target_rob圆周运动,如果运动过程中di0由低电平变为高电平,或高电平变为低电平,机器人将立即规划停止,并在信号跳变时将机器人的坐标信息记录在save_rob。

例 3
SearchC (\Reg, register0, \Flanks, save_rob, aux_rob, target_rob, v5, tool0);
机器人使用工具 tool0, TCP 以 v5 的速度经过辅助点aux_rob朝target_rob圆周运动,如果运动过程中寄存器register0由0变为非0,或非0变为0,机器人将立即规划停止,并在信号跳变时将机器人的坐标信息记录在save_rob。