力触发器功能的SPEL+编程

概述

力觉触发器功能可检测使用力觉传感器测量的力和转矩是否达到设定的值。
根据该检测结果,可以开始和结束处理以及使处理分叉。
力觉触发器功能的编程按以下过程执行。

  1. 设置要执行的坐标系
  2. 设置参数
  3. 执行力触发器功能
  4. 获取结果

力触发器功能的坐标系

力觉触发器功能在力觉坐标系中工作。

力觉触发器功能会计算力觉传感器检测到的力、转矩施加到力觉坐标系的力以及转矩本身,并监视值是否满足设定的条件。

将力觉坐标系的原点指定为实际发生接触并产生力的点。(示例:工件的顶点)
另外,力觉坐标系的方向因应用而异。在恒定方向监视力时,无论机器人处于哪种姿态,都应指定基础坐标系和本地坐标系。

在根据机器人姿态改变的方向监视力时,无论机器人处于哪种姿态,请指定工具坐标系和自定义坐标系。

力觉触发器功能可以监视在力觉坐标系中指定的以下8维数据。

  • 六个轴(Fx到Tz)
  • Fmag:平移力的合力
  • Tmag:转矩的合成转矩

力触发器功能参数

力觉触发器功能的参数在力觉触发器对象的属性中设定。

可以在执行程序之前在GUI中设定这些参数。有关在GUI中进行设定的详细信息,请参阅以下章节。
软件篇 [机器人管理器]- [Tools]菜单
- [Tools]-[Robot Manager]-[Force]面板
如果要在执行程序的过程中动态更改参数,可以使用FSet语句设定这些参数。

  • ForceSensor属性
    指定要执行力觉触发器功能的力觉传感器的编号。
  • CoordinateSystem属性
    指定要对其执行力觉触发器功能的力觉坐标对象。
  • Operator属性
    指定满足力觉触发器功能的条件的准则; 具体来说,指定应满足每个轴的所有条件还是只需满足特定轴的条件。
  • TriggerMode属性
    指定要监视力和转矩还是监视力变化和转矩变化。
    如果指定了变化值,则会监视每秒的变化值。由于力觉传感器易受噪声影响,因此请使用低通滤波器。
  • Fmag_Axes属性
    指定要合并的轴(Fx到Fz)以计算Fmag值。
    要监视施加到XY平面的力,请指定要监视的方向; 例如,指定X轴和Y轴。
  • Tmag_Axes属性
    指定要合并的轴(Tx到Tz)以计算Tmag值。
  • Enabled属性
    指定要在其上执行力觉触发器功能的轴(Fx到Tmag)。
    可以仅为应用所需的轴启用力觉触发器功能。
  • Polarity属性
    指定满足条件的准则; 具体来说,指定每个轴的力和转矩应在上限/下限阈值的范围内还是应在范围外。
    要检测施加的力是否在范围外,请指定Outside。
    要检测施加的力是否在范围内,请指定Inside。
  • UpperLevel属性
    设定力觉触发器功能的上限级别。
    此功能可监视值低于还是高于设定的值。
  • LowerLevel属性
    设定力觉触发器功能的下限级别。
    此功能可监视值高于还是低于设定的值。
  • LPF_Enabled属性
    指定要在力觉触发器功能中执行的低通滤波器所在的轴(Fx到Tmag)。
    要减小噪声或忽略诸如脉冲等力觉传感器值,可以使用此属性。
  • LPF_TimeConstant属性
    指定要在力觉触发器功能中执行的低通滤波器的时间常数。
    增大值可减小噪声,但同时会降低对力觉传感器值的响应。

执行力触发器功能

力觉触发器功能可以由Till, Wait, Trap, Find指定。

有关这些命令的基本功能,请参阅以下手册。
“Epson RC+ 8.0 SPEL+语言参考”

下文介绍力觉触发器功能。最多可同时为每个机器人设定15个力觉触发器以用于进行监视。不要同时将超过16个力觉触发器用于一个机器人。

  • Till
    通过在Till语句的事件表达式中指定力觉触发器对象,可以设定力觉触发器功能操作的结束条件。这样,当力达到指定的值时,操作将结束。
    用法示例:

    Till FT1
    Move P1 FC1 Till
    

    力觉触发器由Till语句设为Till条件。如果在执行Move操作期间满足力觉触发器对象FT1中设定的条件,则即使处于操作中途并且执行了下一个语句,Move操作也会停止。

  • Trap
    通过在Trap语句的事件表达式中指定力觉触发器对象,可以设定力觉触发器功能开始中断处理的条件。这样,系统会始终监视力,当力达到指定的值时,将开始中断。
    用法示例:

    Trap 1, FT1 Goto TrapLabel
    

    Trap语句将执行力觉触发器功能,以开始监视条件。满足力觉触发器对象FT1中设定的条件时,将转换为指定的标签。

  • Wait
    通过在Wait语句的事件表达式中指定力觉触发器对象,可以设定力觉触发器功能结束待机状态的条件。这样,力觉触发器功能将保持待机状态,直到力达到指定的值为止。
    用法示例:

    Wait FT1
    

    Wait语句将执行力觉触发器功能,以开始监视条件。满足力觉触发器对象FT1中设定的条件之前,程序将停止; 满足该条件时,程序将重新启动。

  • Find
    通过在Find语句的事件表达式中指定力觉触发器对象,可以设定在力觉触发器功能正在运行时保存坐标的条件。这样,将记录达到指定的力时所在的位置。
    用法示例:

    Find FT1
    P0=FindPos
    

    Find语句将执行力觉触发器功能,以开始监视条件。控制器会记住满足力觉触发器对象FT1中设定的条件时所在的位置,并使用FindPos函数获取该位置。

    力觉触发器功能可以使用TriggeredPos状态获取满足条件时所在的位置。因此,指定组合了多个条件的事件表达式时,Find语句很有用。TriggeredPos状态可用于获取满足力觉触发器对象中设定的条件时所在的位置。FindPos函数可用于获取满足组合了多个条件的事件表达式时所在的位置。

请勿使用FDel语句删除开始监视的力觉触发器对象。在多个任务中创建程序时,请小心不要同时执行指定了力觉触发器对象的Till, Wait, Trap, Find语句。

获取力触发器功能的结果

通过指定力觉触发器对象的状态,可以在执行力觉触发器功能之后使用FGet语句获取结果。获取的结果可用于认定操作是通过还是失败,或者用于执行条件分叉。

执行力觉触发器功能时会将状态初始化,而力觉触发功能结束时会设定结果。设定的结果会保留直到再次执行力觉触发器功能或加载项目为止。

  • Triggered状态
    返回力觉触发器条件的满足状态。

    如果在前一个力觉触发器条件中满足条件,则返回“True”。此结果可用于确定力是否超过指定的值,还可用于使处理分叉。

  • TriggeredAxes状态
    返回每个轴的力觉触发器条件的满足状态。

    它可以确定更详细的条件; 例如,确定力超过指定的值的轴,以及使处理分叉。

  • TriggeredPos状态
    返回满足力觉触发器条件时所在的坐标。

    它可以确定满足条件的位置是否在指定的范围内,还可以根据位置使处理分叉。