运动限制功能的SPEL+编程

概述

力觉动作限制功能用于检测机器人的位置或姿势为已设置的条件。
可使用结果进行处理的开始、结束与分支等。
按下述步骤执行力觉动作限制功能的编程。

  1. 设置参数
  2. 执行运动限制功能
  3. 获取结果

运动限制功能的参数

力觉动作限制功能的参数利用力觉动作限制对象的各属性进行设置。
执行程序之前,通过GUI进行设置。有关GUI设置的详细说明,请参阅下一章节。
软件篇 [机器人管理器]- [Tools]菜单
- [Tools]-[Robot Manager]-[Force]面板

另外,执行程序期间要进行动态变化时,使用FSet语句进行设置。

  • ForceSensor属性
    用于指定达成力觉动作限制功能条件时要记录的力与转矩对象--力觉传感器编号。
  • CoordinateSystem属性
    用于指定力觉坐标系对象以指定达成力觉动作限制功能条件时要记录的力与转矩的力觉坐标系。
  • Operator属性
    用于将达成各轴的所有条件或达成某个轴的条件指定为达成力觉动作限制功能的条件。
  • RobotLocal属性
    用于指定要作为力觉动作限制功能监视位置基准的本地坐标系。
  • RobotTool属性
    用于指定要作为力觉动作限制功能监视位置基准的工具坐标系。
  • TriggerMode属性
    用于指定要作为监视对象的位置。
    有关各模式的详细说明,请参阅下述手册。
    “Epson RC+8.0 Option Force Guide 8.0 SPEL+语言参考”
  • DatumPoint属性
    用于指定将TriggerMode指定为RelativePoint时要作为基准的点。
  • Dist_Axes属性
    用于指定是否使用X、Y、Z中的某个轴计算距离。
  • Rot_Axes属性
    用于指定是否使用X、Y、Z中的某个轴计算角度。
  • Enabled属性
    用于将力觉动作限制功能的执行轴指定为PosX~J6。
    可在应用中仅将所需轴的力觉动作限制功能设为有效。
  • Polarity属性
    用于将各位置、角度、间接位置处在上下限值范围内或范围外指定为达成的条件。
    检测移动到规定外位置或姿势等情况时,指定为范围外。
    检测到位置或姿势进入到预定范围内等情况时,指定为范围内。
  • UpperLevel属性
    用于设置力觉动作限制功能的上限值。
    用于监视为设置值以下还是已超出设置值。
  • LowerLevel属性
    用于设置力觉动作限制功能的下限值。
    用于监视为设置值以上还是为设置值以下。

运动限制功能的执行

用Till、Wait、Trap、Find指定力觉动作限制功能。
有关各命令的基本功能,请参阅下述手册。
Epson RC+ 8.0 SPEL+ 语言参考
下面说明力觉动作限制功能。力觉动作限制最多可同时监视15台机器人。1台机器人不能同时使用16个以上。

  • Till
    如果在Till语句的事件表达式中指定力觉动作限制对象,则可将力觉动作限制功能设为动作的结束条件。这样,可在达到指定条件的位置时结束动作。

    使用示例:

    Till FMR1
    Move P1 FC1 Till
    

通过Till语句在Till条件中设置力觉动作限制,Move动作期间达成力觉动作限制对象FMR1中设置的条件时,即使正在进行Move动作,也会停止并执行下一语句。

  • Trap
    如果在Trap语句的事件表达式中指定力觉动作限制对象,则可将力觉动作限制功能设为中断处理的开始条件。这样,可始终监视位置姿势,并在达到指定条件的位置时开始中断动作。

    使用示例:

    Trap 1, FMR1 Goto TrapLabel
    

通过Trap语句执行力觉动作限制功能,并开始条件监视。达成力觉动作限制对象FMR1中设置的条件时,会切换为指定的标签。

  • Wait
    如果在Wait语句的事件表达式中指定力觉动作限制对象,则可将力觉动作限制功能设为待机的结束条件。这样,可在达到指定条件的位置姿势之前进行待机。

    使用示例:

    Wait FMR1
    

通过Wait语句执行力觉动作限制功能,并开始条件监视。在达成力觉动作限制对象FMR1中设置的条件之前使程序暂停,达成条件时重新开始程序。

  • Find
    如果在Find语句的事件表达式中指定力觉动作限制对象,则可将力觉动作限制功能设为动作期间要保存坐标的条件。这样,可记录达到指定位置姿势的位置。

    使用示例:

    Find FMR1
    Move P1 FC1 Find
    P0=FindPos
    

    通过Find语句在Find条件中设置力觉动作限制,Move动作期间达成力觉动作限制对象FMR1中设置的条件时,控制器会记录达成条件的位置,并利用FindPos函数获取该位置。

    力觉动作限制功能可在TriggeredPos状态下获取达成条件时的位置。因此,Find在指定组合有多个条件的事件表达式时有效。可在TriggeredPos状态下获取达成该力觉动作限制对象中设置的条件时的位置。可利用FindPos函数获取达成组合有条件的事件表达式的位置。

请勿利用FDel语句删除已开始监视的力觉动作限制对象。另外,多任务时请创建程序,避免同时执行已指定力觉动作限制对象的Till、Wait、Trap与Find。

获取运动限制功能的结果

执行力觉动作限制功能之后,如果在FGet语句中指定力觉动作限制对象的状态,则可获取其结果。可使用已获取的结果进行作业的成功与否判定或条件分支。
状态会在执行力觉动作限制功能时被初始化,力觉动作限制功能结束时会设置结果。已设置的结果会在重新执行力觉动作限制功能或装入项目之前被保持。

  • Triggered状态
    用于返回力觉动作限制条件的达成状态。
    此前的力觉动作限制功能达成条件时,会返回“True”。可将其用于判定位置姿势是否达到指定条件并进行分支处理。

  • TriggeredAxes状态
    用于按轴返回力觉动作限制条件的达成状态。
    可判定哪个轴的力超出指定范围等更详细的条件,并进行分支处理。

  • TriggeredPos状态
    用于返回达成力觉动作限制条件的坐标。
    可判定达成条件的位置是否处在指定范围内等,并根据位置详细地进行分支处理。

  • TriggeredForces状态
    用于返回达成力觉动作限制条件时的力与转矩。
    可判定达成条件时的力是否处在指定范围内等,并根据力进行分支处理。