TriggerMode (FMR#)属性

应用
力觉动作限制对象FMR#

注释
设定或返回力觉动作限制的监视对象。

立即执行

用法
FGet Object.TriggerMode, iVar
FSet Object.TriggerMode, iValue

  • Object
    对象名
    对象被指定为FMR(数值)或FMR(标签)。

  • iVar
    定义属性值的整数变量

  • iValue
    定义新属性值的整数值或公式


iValue

常数名 内容
FG_ABS_COORD_SYS 0 以在RobotLocal属性中选择的底座或本地坐标系为基准,监视当前的位置姿势。
FG_REL_COORD_SYS 1 以在RobotLocal属性中选择的底座或本地坐标系为基准,监视开始监视时的位置姿势与当前位置姿势之间的移动量。
FG_REL_TOOL 2 监视开始监视时的工具坐标系与当前位置姿势之间的移动量。
FG_REL_POINT 3 监视通过DatumPoint指定的位置与当前位置姿势之间的移动量。
FG_FRC_CORRECTION 4 监视力控制功能的校正量。
FG_ABS_JOINT 5 监视各关节角度。
FG_REL_JOINT 6 监视与开始监视时的各关节角度相差的关节旋转量。

详细说明
设定或返回力觉动作限制的监视对象。

  • FG_ABS_COORD_SYS

将从通过RobotLocal属性指定的底座或本地坐标系看到的当前位置姿势设为监视对象。由于LowerLevel与UpperLevel被固定为通过RobotLocal指定的本地坐标系中的值,因此,从外面看到的限制范围不会因开始监视时的机器人位置姿势而发生变化。与动作开始位置无关,在以经常进出范围为条件的情况下使用。
通过作为基准的底座或本地坐标系中的当前X、Y、Z,对位置进行判断。已在指定轴上指定X时,如下图所示,会判断本地坐标系中的X方向位置。
画像
通过由作为基准的底座/本地坐标系与通过工具坐标系的Rot_Axes属性指定的轴(X、Y、Z)所形成的角度,或任意轴的旋转量,对姿势进行判断。已在指定轴上指定X时,如下图所示,会判断基准坐标系中的X与当前工具坐标系中的X轴形成的角度。
画像

  • FG_REL_COORD_SYS

针对开始监视时与当前的工具位置姿势,将在通过RobotLocal属性指定的底座或本地坐标系中的相对移动量设为监视对象。由于LowerLevel与UpperLevel被设为以开始位置为基准,因此,从外面看到的限制范围会因开始监视时的机器人位置姿势而发生变化。在通过视觉系统或力觉触发器功能求出开始位置等动作或监视的开始位置发生变化的情况下,用于检测在某一本地坐标系中已在指定方向上进行指定距离以上的移动。
通过作为基准的底座或本地坐标系中的开始监视之后向当前位置的X、Y、Z移动量,对位置进行判断。已在指定轴上指定X时,如下图所示,会判断本地坐标系中的X方向移动量。
画像

通过由开始监视时与当前的工具坐标系的Rot_Axes属性指定的轴(X、Y、Z)所形成的角度,或任意轴的旋转量,对姿势进行判断。已在指定轴上指定X时,如下图所示,会判断开始时的X轴与当前X轴形成的角度。
画像

  • FG_REL_TOOL

将开始监视时的工具坐标系与当前位置之间的相对移动量设为监视对象。由于LowerLevel与UpperLevel被设为以开始位置为基准,因此,从外面看到的限制范围会因开始监视时的机器人位置姿势而发生变化。在通过视觉系统或力觉触发器功能求出开始位置等动作或监视的开始位置发生变化的情况下,用于检测在开始时的工具坐标系中已在指定方向上进行指定距离以上的移动。

通过开始监视时的工具坐标系中的开始监视之后向当前位置的X、Y、Z移动量,对位置进行判断。已在指定轴上指定X时,如下图所示,会判断开始时的工具坐标系中的X方向移动量。
画像
通过由开始监视时与当前的工具坐标系的Rot_Axes属性指定的轴(X、Y、Z)所形成的角度,或任意轴的旋转量,对姿势进行判断。已在指定轴上指定X时,如下图所示,会判断开始时的X轴与当前X轴形成的角度。
画像

  • FG_REL_POINT

将从通过DatumPoint属性指定的点数据看到的与当前位置之间的相对移动量设为监视对象。由于LowerLevel与UpperLevel被设为以指定的点数据为基准,因此,从外面看到的限制范围不会因开始监视时的机器人位置姿势而发生变化。但如果在开始监视之前更新点数据,则可按动作实现基于开始位置的监视。FG_REL_COORD_SYS或FG_REL_TOOL可用于根据开始时的位置变更监视范围,但如下述程序所示,在多个动作命令中指定用于监视的Till时,则按动作命令进行监视。因此,会出现比如执行多个动作命令期间,不能以第1个动作开始位置为基准对位置进行监视的情况。

   Move P1 FC1 Till FMR1  
   Move P2 FC1 Till FMR1  

在这种情况下,请使用FG_REL_POINT,在第1个动作之前将动作开始位置保存到通过DatumPoint属性指定的点中。

   P1 = Here  
   Move P1 FC1 Till FMR1  
   Move P2 FC1 Till FMR1  

在通过视觉系统或力觉触发器功能求出开始位置等动作或监视的开始位置发生变化的情况下,用于监视多个动作之间从某一位置开始的移动量。另外,可用于在1个动作命令的条件下,考虑以从开始位置偏移的位置为基准进行监视的情况。
通过从在DatumPoint中指定的点数据向当前位置的X、Y、Z移动量,对位置进行判断。已在指定轴上指定X时,如下图所示,会判断指定的点坐标系中的X方向移动量。
画像
通过在DatumPoint中指定的点数据,与由当前的工具坐标系的Rot_Axes属性指定的轴(X、Y、Z)所形成的角度,或任意轴的旋转量,对姿势进行判断。已在指定轴上指定X时,如下图所示,会判断指定的点数据的X轴与当前X轴形成的角度。
画像

  • FG_FRC_CORRECTION

将力控制功能的校正量设为监视对象。校正量是指力觉坐标系中的原来动作命令要动作的虚拟指令位置(RefPos)与包括力控制功能校正量在内的指令位置之差。力觉坐标系依据于通过力觉控制对象(FC)的CoordinateSystem属性指定的力觉坐标系对象(FCS)。力控制功能的校正可用于检测是否偏离预计范围。
将力觉坐标系中的Fx、Fy、Fz方向的校正量设为X、Y、Z,对位置进行判断。已在指定轴上指定X时,如下图所示,会判断Fx方向的移动量。
画像
通过由RefPos与CurPos的Rot_Axes属性指定的轴(X、Y、Z)所形成的角度,或任意轴的旋转量,对姿势进行判断。已在指定轴上指定X时,如下图所示,会判断RefPos的X轴与CurPos的X轴形成的角度。
画像

  • FG_ABS_JOINT

将各关节的当前关节位置设为监视对象。由于LowerLevel与UpperLevel被固定为机器人的关节位置,因此,从外面看到的限制范围不会因开始监视时的机器人位置姿势而发生变化。与动作开始位置无关,在以经常进出范围为条件的情况下使用。

  • FG_REL_JOINT

将各关节的开始监视时的位置与当前关节位置之间的移动量设为监视对象。由于LowerLevel与UpperLevel被设为以开始监视位置为基准,因此,从外面看到的限制范围会因开始监视时的机器人位置姿势而发生变化。在通过视觉系统或力觉触发器功能求出开始位置等动作或监视的开始位置发生变化的情况下,用于检测指定的关节在开始之后动作角度是否超过指定角度。

用法示例
下面是指定FG_ABS_COORD_SYS并在底座坐标系中将力控制功能设为启用时,Z位置移动到100[mm]以下的示例。

Function ABS_COORD_SYS_Test
  Motor On
  Go Here :Z(150)                   ' 作为初始位置移动到Z=150[mm]位置

  FSet FCS1.Orientation, FG_BASE    ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1   ' 指定力觉坐标数据
  FSet FC1.Fz_Spring, 0             ' 设定Fz的虚拟弹性系数
  FSet FC1.Fz_Damper, 1             ' 设定Fz虚拟阻尼系数
  FSet FC1.Fz_Mass, 10              ' 设定Fz虚拟惯性系数
  FSet FC1.Fz_Enabled, True         ' 将Fz的力控制功能设为启用

  FSet FMR1.CoordinateSystem, FCS1  ' 指定力觉坐标数据
  FSet FMR1.TriggerMode, FG_ABS_COORD_SYS
    ' 设为监视指定坐标系中的位置
  FSet FMR1.RobotLocal, 0           ' 作为位置坐标系,设定0(底座)
  FSet FMR1.PosZ_Enable, True       ' 将Z方向的监视设为启用
  FSet FMR1.PosZ_Levels, -100, 100  ' 将Z方向的范围设为-100~100[mm]
  FSet FMR1.PosZ_Polarity, FG_IN    ' 将进入范围内设为满足条件

  Move Here -Z(100) FC1 Till FMR1
    ' 通过Till监视结束条件,并执行将力控制功能设为启用的Move动作
Fend

下面是指定FG_REL_COORD_SYS并在本地1坐标系中将力控制功能设为启用时,向本地1的Z位置移动±100[mm]以上并停止的示例。示例中未记载,但假设了开始位置因视觉系统检测等各动作而发生的变化。

Function REL_COORD_SYS_Test
  Motor On

  FSet FCS1.Orientation, FG_LOOCAL, 1  ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1      ' 指定力觉坐标数据
  FSet FC1.Fz_Spring, 0                ' 设定Fz的虚拟弹性系数
  FSet FC1.Fz_Damper, 1                ' 设定Fz虚拟阻尼系数
  FSet FC1.Fz_Mass, 10                 ' 设定Fz虚拟惯性系数
  FSet FC1.Fz_Enabled, True            ' 将Fz的力控制功能设为启用

  FSet FMR1.CoordinateSystem, FCS1     ' 指定力觉坐标数据
  FSet FMR1.TriggerMode, FG_REL_COORD_SYS
    ' 设为监视指定坐标系中的移动量
  FSet FMR1.RobotLocal, 1              ' 作为位置坐标系设定本地1
  FSet FMR1.PosZ_Enable, True          ' 将Z方向的监视设为启用
  FSet FMR1.PosZ_Levels, -100, 100     ' 将Z方向的范围设为-100~100[mm]
  FSet FMR1.PosZ_Polarity, FG_OUT      ' 将偏离范围设为满足条件

  Move P0 FC1 Till FMR1
    ' 通过Till监视结束条件,并执行将力控制功能设为启用的Move动作
Fend

下面是指定FG_REL_TOOL并将力控制功能设为启用时,向开始时的工具坐标系Z方向移动+100[mm]以上并停止的示例。示例中未记载,但假设了开始位置因视觉系统检测等各动作而发生的变化。

Function REL_TOOL_Test
  Motor On

  FSet FCS1.Orientation, FG_TOOL    ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1   ' 指定力觉坐标数据
  FSet FC1.Fz_Spring, 0             ' 设定Fz的虚拟弹性系数
  FSet FC1.Fz_Damper, 1             ' 设定Fz虚拟阻尼系数
  FSet FC1.Fz_Mass, 10              ' 设定Fz虚拟惯性系数
  FSet FC1.Fz_Enabled, True         ' 将Fz的力控制功能设为启用

  FSet FMR1.CoordinateSystem, FCS1  ' 指定力觉坐标数据
  FSet FMR1.TriggerMode, FG_REL_TOOL
    ' 设为监视工具坐标系中的移动量
  FSet FMR1.PosZ_Enable, True       ' 将Z方向的监视设为启用
  FSet FMR1.PosZ_Levels, 100, 200   ' 将Z方向的范围设为100~200[mm]
  FSet FMR1.PosZ_Polarity, FG_IN    ' 将进入范围内设为满足条件

  Move Here +TLZ(200) FC1 Till FMR1
    ' 通过Till监视结束条件,并执行将力控制功能设为启用的Move动作
Fend

下面是指定FG_REL_POINT并以开始时的位置为基准,执行多个将力控制功能设为启用的动作命令期间,向第1个开始时的工具坐标系Z方向移动±100[mm]以上并停止的示例。示例中未记载,但假设了各点因视觉系统检测等各动作而发生的变化。

Function REL_POINT_Test
  Motor On
  Go P1                             ' 作为初始位置移动到P1位置

  FSet FCS1.Orientation, FG_TOOL    ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1   ' 指定力觉坐标数据
  FSet FC1.Fz_Spring, 0             ' 设定Fz的虚拟弹性系数
  FSet FC1.Fz_Damper, 1             ' 设定Fz虚拟阻尼系数
  FSet FC1.Fz_Mass, 10              ' 设定Fz虚拟惯性系数
  FSet FC1.Fz_Enabled, True         ' 将Fz的力控制功能设为启用

  FSet FMR1.CoordinateSystem, FCS1  ' 指定力觉坐标数据
  FSet FMR1.TriggerMode, FG_REL_POINT
    ' 设为监视从点开始的移动量
  FSet FMR1.DatumPoint, P1          ' 作为基准位置设定P1
  FSet FMR1.PosZ_Enable, True       ' 将Z方向的监视设为启用
  FSet FMR1.PosZ_Levels, -100, 100  ' 将Z方向的范围设为-100~100[mm]
  FSet FMR1.PosZ_Polarity, FG_OUT   ' 将偏离范围设为满足条件

  Move P2 FC1 Till FMR1
  Move P3 FC1 Till FMR1
  Move P4 FC1 Till FMR1
    ' 通过Till监视结束条件,并执行将力控制功能设为启用的Move动作
Fend

下面是指定FG_FRC_CORRECTION,执行多个将力控制功能设为启用的动作命令期间,向Fz方向移动±100[mm]以上并停止的示例。

Function FRC_CORRECTION_Test
  Motor On
  Go P1                             ' 作为初始位置移动到P1位置

  FSet FCS1.Orientation, FG_TOOL    ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1   ' 指定力觉坐标数据
  FSet FC1.Fz_Spring, 0             ' 设定Fz的虚拟弹性系数
  FSet FC1.Fz_Damper, 1             ' 设定Fz虚拟阻尼系数
  FSet FC1.Fz_Mass, 10              ' 设定Fz虚拟惯性系数
  FSet FC1.Fz_Enabled, True         ' 将Fz的力控制功能设为启用

  FSet FMR1.CoordinateSystem, FCS1  ' 指定力觉坐标数据
  FSet FMR1.TriggerMode, FG_FRC_CORRECTION
    ' 设为监视力觉控制校正量
  FSet FMR1.PosZ_Enable, True       ' 将Z方向的监视设为启用
  FSet FMR1.PosZ_Levels, -100, 100  ' 将Z方向的范围设为-100~100[mm]
  FSet FMR1.PosZ_Polarity, FG_OUT   ' 将偏离范围设为满足条件

  Move P2 FC1 Till FMR1
  Move P3 FC1 Till FMR1
  Move P4 FC1 Till FMR1
    ' 通过Till监视结束条件,并执行将力控制功能设为启用的Move动作
Fend

下面是指定FG_ABS_JOINT,执行多个将力控制功能设为启用的动作命令期间,J5移动-5[deg]以上并停止的示例。

Function ABS_JOINT_Test
  Motor On
  Go JA(0, 0, 0, 0, -90, 0)            ' 作为初始位置,将J5移动到-90[deg]位置

  FSet FCS1.Orientation, FG_TOOL       ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1      ' 指定力觉坐标数据
  FSet FC1.Fz_Spring, 0                ' 设定Fz的虚拟弹性系数
  FSet FC1.Fz_Damper, 1                ' 设定Fz虚拟阻尼系数
  FSet FC1.Fz_Mass, 10                 ' 设定Fz虚拟惯性系数
  FSet FC1.Fz_Enabled, True            ' 将Fz的力控制功能设为启用

  FSet FMR1.CoordinateSystem, FCS1     ' 指定力觉坐标数据
  FSet FMR1.TriggerMode, FG_ABS_JOINT  ' 设为监视关节位置
  FSet FMR1.J5_Enable, True            ' 将J5的监视设为启用
  FSet FMR1.J5_Levels, -5, 100         ' 将J5的范围设为-5~100[mm]
  FSet FMR1.J5_Polarity, FG_IN         ' 将进入范围内设为满足条件

  Move P1 FC1 Till FMR1
    ' 通过Till监视结束条件,并执行将力控制功能设为启用的Move动作
Fend

下面是指定FG_REL_JOINT,执行多个将力控制功能设为启用的动作命令期间,J5移动±30[deg]以上并停止的示例。示例中未记载,但假设了开始位置因视觉系统检测等各动作而发生的变化。

Function FG_REL_JOINT_Test
  Motor On

  FSet FCS1.Orientation, FG_TOOL       ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1      ' 指定力觉坐标数据
  FSet FC1.Fz_Spring, 0                ' 设定Fz的虚拟弹性系数
  FSet FC1.Fz_Damper, 1                ' 设定Fz虚拟阻尼系数
  FSet FC1.Fz_Mass, 10                 ' 设定Fz虚拟惯性系数
  FSet FC1.Fz_Enabled, True            ' 将Fz的力控制功能设为启用

  FSet FMR1.CoordinateSystem, FCS1     ' 指定力觉坐标数据
  FSet FMR1.TriggerMode, FG_REL_JOINT  ' 设为监视关节移动量
  FSet FMR1.J5_Enable, True            ' 将J5的监视设为启用
  FSet FMR1.J5_Levels, -30, 30         ' 将J5的范围设为-5~100[mm]
  FSet FMR1.J5_Polarity, FG_IN         ' 将进入范围内设为满足条件

  Move P2 FC1 Till FMR1
    ' 通过Till监视结束条件,并执行将力控制功能设为启用的Move动作
Fend

参考
DatumPoint属性、RefPos、RobotLocal属性、力觉动作限制对象FMR#