TriggerMode (FMR#) Property

Application
Force Motion Restriction Object FMR#

Description
Sets or returns the object of the force motion restriction monitor.

Immediate Execution
No

Usage
FGet Object.TriggerMode, iVar
FSet Object.TriggerMode, iValue

  • Object
    Object name
    The object is specified as either of FMR (numerical value) or FMR (label).

  • iVar
    An integer variable defining the value of the property

  • iValue
    An integer value or formula defining the new value of the property

Values
iValue

Name of Constants Values Description
FG_ABS_COORD_SYS 0 Monitors the current position and orientation of the robot using the base or local coordinate system selected in the RobotLocal property as a reference.
FG_REL_COORD_SYS 1 Monitors the travel amount to the current position and orientation of the robot from the position and orientation at the start of monitoring using the base or local coordinate system selected in the RobotLocal property as a reference.
FG_REL_TOOL 2 Monitors the travel amount to the current position and orientation of the robot from the tool coordinate system at the start of monitoring.
FG_REL_POINT 3 Monitors the travel amount to the current position and orientation of the robot from the position specified in DatumPoint.
FG_FRC_CORRECTION 4 Monitors the amount of correction for the force control function.
FG_ABS_JOINT 5 Monitors the angle of each joint.
FG_REL_JOINT 6 Monitors the amount of rotation of each joint from the angle of each joint at the start of monitoring.

Detailed Explanation
Sets or returns the object of the force motion restriction monitor.

  • FG_ABS_COORD_SYS

Monitors the current position and orientation of the robot as seen from the base or local coordinate system selected in the RobotLocal property. As the LowerLevel and UpperLevel are fixed as values in the local coordinate system specified by RobotLocal, the restriction range as seen externally does not change depending on the position and orientation of the robot at the start of monitoring. This is used when setting the entry into and exit from a fixed range, regardless of the motion start position, as a condition.
The position is determined based on the current X, Y, or Z value in the base or local coordinate system used as the basis for robot positions. If X is the specified axis, the position in the X direction in the local coordinate system will be determined as shown in the diagram below.
image
The orientation will be determined either by the angle between the base coordinate system or the local coordinate system used as the basis for robot positions and the axis (X, Y, or Z) specified by the Rot_Axes property in the tool coordinate system, or by the amount of rotation of arbitrary axis. If X is the specified axis, this will determine the angle between the X axis in the reference coordinate system and the X axis in the current tool coordinate system as shown in the diagram below.
image

  • FG_REL_COORD_SYS

Monitors the relative travel amount in the base or local coordinate system specified by the RobotLocal property for tool position and orientation at the start of monitoring, and the current tool position and orientation. As the LowerLevel and UpperLevel are set based on the start position, the restriction range as seen externally will change depending on the position and orientation of the robot at the start of monitoring. This is used to detect movement exceeding a set distance in a specified direction in the local coordinate system when the motion or monitoring start position changes, such as when determining the start position using the vision system, or the force trigger function.
The position is determined based on the amount of movement - from the start of monitoring - towards the current position in the X, Y, or Z direction in the base or local coordinate system used as the basis for robot positions. If X is the specified axis, the amount of movement in the X direction in the local coordinate system will be determined as shown in the diagram below.
image

The orientation will be determined either by the angle between the axis (X, Y, or Z) specified by the Rot_Axes property in the current tool coordinate system and the axis in the tool coordinate system at the start of monitoring, or by the amount of rotation of arbitrary axis. If X is the specified axis, this will determine the angle between the X axis at the start of monitoring, and the current X axis as shown in the diagram below.
image

  • FG_REL_TOOL

Monitors the relative travel amount to the current position of the robot from the tool coordinate system at the start of monitoring. As the LowerLevel and UpperLevel are set based on the start position, the restriction range as seen externally will change depending on the position and orientation of the robot at the start of monitoring. This is used to detect movement exceeding a set distance in a specified direction in the tool coordinate system at the start of monitoring when the motion or monitoring start position changes, such as when determining the start position using the vision system, or the force trigger function.

The position is determined based on the amount of movement - from the start of monitoring - towards the current position in the X, Y, or Z direction in the tool coordinate system at the start of monitoring. If X is the specified axis, the amount of movement in the X direction in the tool coordinate system at the start of monitoring will be determined as shown in the diagram below.
image
The orientation will be determined either by the angle between the axis (X, Y, or Z) specified by the Rot_Axes property in the current tool coordinate system and the axis in the tool coordinate system at the start of monitoring, or by the amount of rotation of arbitrary axis. If X is the specified axis, this will determine the angle between the X axis at the start of monitoring, and the current X axis as shown in the diagram below.
image

  • FG_REL_POINT

Monitors the relative travel amount to the current position as seen from the point data specified by the DatumPoint property. As the LowerLevel and UpperLevel are set based on the specified point data, the restriction range as seen externally will not change depending on the position and orientation of the robot at the start of monitoring. However, you can refresh the point data before movement to monitor movement based on the motion start position. While the monitoring range can be changed according to the position of the robot at the start of movement using FG_REL_COORD_SYS and FG_REL_TOOL, the following program starts monitoring for each motion command when specifying the Till qualifier for monitoring multiple motion commands. As such, you cannot monitor positions using the first motion start position, for example, as a reference while executing multiple motion commands.

   Move P1 FC1 Till FMR1  
   Move P2 FC1 Till FMR1  

To do this, use FG_REL_POINT to save the motion start position as the point specified by the DatumPoint property before the first motion.

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

This is used to monitor the travel amount from a point when executing multiple motion commands when the motion or monitoring start position changes, such as when determining the start position using the vision system, or the force trigger function. This can be used when monitoring a single motion command using the offset position from the start position as a reference.
The position is determined based on the amount of movement towards the current position in the X, Y, or Z direction from the point data set for the DatumPoint. If X is the specified axis, the amount of movement in the X direction in the specified point coordinate system will be determined as shown in the diagram below.
image
The orientation will be determined either by the angle between the axis (X, Y, or Z) specified by the Rot_Axes property in the current tool coordinate system and the axis in the point data set for the DatumPoint, or by the amount of rotation of arbitrary axis. If X is the specified axis, this will determine the angle between the X axis of the specified point data, and the current X axis as shown in the diagram below.
image

  • FG_FRC_CORRECTION

Monitors the amount of correction applied by the force control function. The amount of correction is the difference between the virtual command position (RefPos) to which the robot attempted to move by original motion command and the command position including corrections applied by the force control function in the force coordinate system. Force coordinate system follows the force coordinate system object (FCS) specified by the CoordinateSystem property of the force control object (FC). You can detect deviations in the amount of correction applied by the force control function from the expected range.
The position is determined as X, Y, and Z according to the amount of correction in the Fx, Fy and Fz directions in the force coordinate system. If X is the specified axis, the amount of movement in the Fx direction will be determined as shown in the diagram below.
image
The orientation will be determined either by the angle between the axes (X, Y, or Z) specified by the Rot_Axes property in RefPos and CurPos, or by the amount of rotation of arbitrary axis. If X is the specified axis, this will determine the angle between the X axis for RefPos and the X axis for CurPos as shown in the diagram below.
image

  • FG_ABS_JOINT

Monitors the current joint position of each joint. As the LowerLevel and UpperLevel are fixed to robot joint positions, the restriction range as seen externally will not change depending on the position and orientation of the robot at the start of monitoring. This is used when setting the entry into and exit from a fixed range, regardless of the motion start position, as a condition.

  • FG_REL_JOINT

Monitors the amount of movement for each joint from the position at the start of monitoring to the current joint position. As the LowerLevel and UpperLevel are set based on the monitoring start position, the restriction range as seen externally will change depending on the position and orientation of the robot at the start of monitoring. This is used to detect movement of a specified joint exceeding a set angle from the start of movement when the motion or monitoring start position changes, such as when determining the start position using the vision system, or the force trigger function.

Usage Example
This example outlines movement with the force control function activated until the Z position gets to 100 [mm] or less in the base coordinate system when specifying FG_ABS_COORD_SYS.

Function ABS_COORD_SYS_Test
  Motor On
  Go Here :Z(150)                   ' Go to Z = 150 [mm] as the initial position

  FSet FCS1.Orientation, FG_BASE    ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1   ' Sets the force coordinate data
  FSet FC1.Fz_Spring, 0             ' Sets virtual Fz coefficient of elasticity
  FSet FC1.Fz_Damper, 1             ' Sets virtual Fz coefficient of viscosity
  FSet FC1.Fz_Mass, 10              ' Sets virtual Fz coefficient of inertia
  FSet FC1.Fz_Enabled, True         ' Activates Fz force control function

  FSet FMR1.CoordinateSystem, FCS1  ' Specifies the force coordinate data
  FSet FMR1.TriggerMode, FG_ABS_COORD_SYS
    ' Sets position monitoring in the specified coordinate system
  FSet FMR1.RobotLocal, 0           ' Sets the position coordinate system to 0 (base)
  FSet FMR1.PosZ_Enable, True       ' Activates monitoring in the Z direction
  FSet FMR1.PosZ_Levels, -100, 100  ' Sets the Z direction range to be from -100 to 100 [mm]
  FSet FMR1.PosZ_Polarity, FG_IN    ' Sets value within range as condition met

  Move Here -Z(100) FC1 Till FMR1
    ' Execute Move operation with the force control function activated while monitoring end conditions using Till
Fend

In this example, the robot stops when there is ±100 [mm] of movement or more toward the Z position in the Local 1 coordinate system with the force control function activated when specifying FG_REL_COORD_SYS. While not expressly stated in this example, assume that the start position changes with each movement, such as for vision system detection.

Function REL_COORD_SYS_Test
  Motor On

  FSet FCS1.Orientation, FG_LOOCAL, 1  ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1      ' Sets the force coordinate data
  FSet FC1.Fz_Spring, 0                ' Sets virtual Fz coefficient of elasticity
  FSet FC1.Fz_Damper, 1                ' Sets virtual Fz coefficient of viscosity
  FSet FC1.Fz_Mass, 10                 ' Sets virtual Fz coefficient of inertia
  FSet FC1.Fz_Enabled, True            ' Activates Fz force control function

  FSet FMR1.CoordinateSystem, FCS1     ' Sets the force coordinate data
  FSet FMR1.TriggerMode, FG_REL_COORD_SYS
    ' Sets movement amount monitoring in the specified coordinate system
  FSet FMR1.RobotLocal, 1              ' Sets Local 1 as the coordinate system of the position
  FSet FMR1.PosZ_Enable, True          ' Activates monitoring in the Z direction
  FSet FMR1.PosZ_Levels, -100, 100     ' Sets the Z direction range to be from -100 to 100 [mm]
  FSet FMR1.PosZ_Polarity, FG_OUT      ' Sets value outside range as condition met

  Move P0 FC1 Till FMR1
    ' Execute Move operation with the force control function activated while monitoring end conditions using Till
Fend

In this example, the robot stops when there is +100 [mm] of movement or more in the Z direction in the tool coordinate system at the start with the force control function activated when specifying FG_REL_TOOL. While not expressly stated in this example, assume that the start position changes with each movement, such as for vision system detection.

Function REL_TOOL_Test
  Motor On

  FSet FCS1.Orientation, FG_TOOL    ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1   ' Sets the force coordinate data
  FSet FC1.Fz_Spring, 0             ' Sets virtual Fz coefficient of elasticity
  FSet FC1.Fz_Damper, 1             ' Sets virtual Fz coefficient of viscosity
  FSet FC1.Fz_Mass, 10              ' Sets virtual Fz coefficient of inertia
  FSet FC1.Fz_Enabled, True         ' Activates Fz force control function

  FSet FMR1.CoordinateSystem, FCS1  ' Specifies the force coordinate data
  FSet FMR1.TriggerMode, FG_REL_TOOL
    ' Sets movement amount monitoring in the tool coordinate system
  FSet FMR1.PosZ_Enable, True       ' Activates monitoring in the Z direction
  FSet FMR1.PosZ_Levels, 100, 200   ' Sets the Z direction range to be from 100 to 200 [mm]
  FSet FMR1.PosZ_Polarity, FG_IN    ' Sets value within range as condition met

  Move Here +TLZ(200) FC1 Till FMR1
    ' Execute Move operation with the force control function activated while monitoring end conditions using Till
Fend

In this example, the robot stops when there is ±100 [mm] of movement or more in the Z direction in the tool coordinate system at the first start while executing multiple motion commands with the force control function activated using the start position as a reference when specifying FG_REL_POINT. While not expressly stated in this example, assume that each point changes with each movement, such as for vision system detection.

Function REL_POINT_Test
  Motor On
  Go P1                             ' Go to P1 as the initial position

  FSet FCS1.Orientation, FG_TOOL    ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1   ' Sets the force coordinate data
  FSet FC1.Fz_Spring, 0             ' Sets virtual Fz coefficient of elasticity
  FSet FC1.Fz_Damper, 1             ' Sets virtual Fz coefficient of viscosity
  FSet FC1.Fz_Mass, 10              ' Sets virtual Fz coefficient of inertia
  FSet FC1.Fz_Enabled, True         ' Activates Fz force control function

  FSet FMR1.CoordinateSystem, FCS1  ' Specifies the force coordinate data
  FSet FMR1.TriggerMode, FG_REL_POINT
    ' Sets movement amount monitoring from point
  FSet FMR1.DatumPoint, P1          ' Sets P1 as the reference point
  FSet FMR1.PosZ_Enable, True       ' Activates monitoring in the Z direction
  FSet FMR1.PosZ_Levels, -100, 100  ' Sets the Z direction range to be from -100 to 100 [mm]
  FSet FMR1.PosZ_Polarity, FG_OUT   ' Sets value outside range as condition met

  Move P2 FC1 Till FMR1
  Move P3 FC1 Till FMR1
  Move P4 FC1 Till FMR1
    ' Execute Move operation with the force control function activated while monitoring end conditions using Till
Fend

In this example, the robot stops when there is ±100 [mm] of movement or more in the Fz direction while executing multiple motion commands with the force control function activated when specifying FG_FRC_CORRECTION.

Function FRC_CORRECTION_Test
  Motor On
  Go P1                             ' Go to P1 as the initial position

  FSet FCS1.Orientation, FG_TOOL    ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1   ' Sets the force coordinate data
  FSet FC1.Fz_Spring, 0             ' Sets virtual Fz coefficient of elasticity
  FSet FC1.Fz_Damper, 1             ' Sets virtual Fz coefficient of viscosity
  FSet FC1.Fz_Mass, 10              ' Sets virtual Fz coefficient of inertia
  FSet FC1.Fz_Enabled, True         ' Activates Fz force control function

  FSet FMR1.CoordinateSystem, FCS1  ' Specifies the force coordinate data
  FSet FMR1.TriggerMode, FG_FRC_CORRECTION
    ' Sets force control correction monitoring
  FSet FMR1.PosZ_Enable, True       ' Activates monitoring in the Z direction
  FSet FMR1.PosZ_Levels, -100, 100  ' Sets the Z direction range to be from -100 to 100 [mm]
  FSet FMR1.PosZ_Polarity, FG_OUT   ' Sets value outside range as condition met

  Move P2 FC1 Till FMR1
  Move P3 FC1 Till FMR1
  Move P4 FC1 Till FMR1
    ' Execute Move operation with the force control function activated while monitoring end conditions using Till
Fend

In this example, the robot stops when J5 has moved -5 [deg] or more while executing multiple motion commands with the force control function activated when specifying FG_ABS_JOINT.

Function ABS_JOINT_Test
  Motor On
  Go JA(0, 0, 0, 0, -90, 0)            ' Move J5 to -90 [deg] as the initial position

  FSet FCS1.Orientation, FG_TOOL       ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1      ' Sets the force coordinate data
  FSet FC1.Fz_Spring, 0                ' Sets virtual Fz coefficient of elasticity
  FSet FC1.Fz_Damper, 1                ' Sets virtual Fz coefficient of viscosity
  FSet FC1.Fz_Mass, 10                 ' Sets virtual Fz coefficient of inertia
  FSet FC1.Fz_Enabled, True            ' Activates Fz force control function

  FSet FMR1.CoordinateSystem, FCS1     ' Sets the force coordinate data
  FSet FMR1.TriggerMode, FG_ABS_JOINT  ' Sets monitoring of joint positions
  FSet FMR1.J5_Enable, True            ' Activates monitoring of J5
  FSet FMR1.J5_Levels, -5, 100         ' Sets the J5 range to be from -5 to 100 [mm]
  FSet FMR1.J5_Polarity, FG_IN         ' Sets value within range as condition met

  Move P1 FC1 Till FMR1
    ' Execute Move operation with the force control function activated while monitoring end conditions using Till
Fend

In this example, the robot stops when J5 has moved ±30 [deg] or more while executing multiple motion commands with the force control function activated when specifying FG_REL_JOINT. While not expressly stated in this example, assume that the start position changes with each movement, such as for vision system detection.

Function FG_REL_JOINT_Test
  Motor On

  FSet FCS1.Orientation, FG_TOOL       ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1      ' Sets the force coordinate data
  FSet FC1.Fz_Spring, 0                ' Sets virtual Fz coefficient of elasticity
  FSet FC1.Fz_Damper, 1                ' Sets virtual Fz coefficient of viscosity
  FSet FC1.Fz_Mass, 10                 ' Sets virtual Fz coefficient of inertia
  FSet FC1.Fz_Enabled, True            ' Activates Fz force control function

  FSet FMR1.CoordinateSystem, FCS1     ' Sets the force coordinate data
  FSet FMR1.TriggerMode, FG_REL_JOINT  ' Sets monitoring of joint movement amount
  FSet FMR1.J5_Enable, True            ' Activates monitoring of J5
  FSet FMR1.J5_Levels, -30, 30         ' Sets the J5 range to be from -5 to 100 [mm]
  FSet FMR1.J5_Polarity, FG_IN         ' Sets value within range as condition met

  Move P2 FC1 Till FMR1
    ' Execute Move operation with the force control function activated while monitoring end conditions using Till
Fend

See Also
DatumPoint Property, RefPos, RobotLocal Property, Force Motion Restriction Object FMR#