Torque Restriction Function

As with the collision detection function, the torque restriction function can reduce damage during a collision.

Collision Detection Function (Detection Function of Robot Motion Error)

The torque restriction value used for this function is defined by adding the margin to the upper limit torque value used in the program in order to avoid malfunction. By using the torque restriction function, the pressing force can be reduced.

For example, if the torque is restricted at 30%, the pressing force can also be reduced to 30%. Also, the robot immediately stops when the torque reaches the upper limit value. By stopping the robot immediately, a further 20-30% reduction effect can be obtained.

When the torque is restricted at 30% and the robot is stopped immediately, the total of less than 25% or equivalent reduction effect can be obtained.

For SCARA robots, the end of the extended shaft may get caught and bent. To reduce occurrence of the bent shaft, it is recommended to use this function to reduce the pressing force to the maximum degree.

If malfunction occurs, take any of the following measures for the axis of malfunction.

  • Set LimitTorqueStop or LimitTorqueStopLp off
  • Increase the threshold value of LimitTorque or LimitTorqueLp

To use the torque restriction function for jogging motion, follow the steps below.

  1. Execute PTCLR and start torque measurement.
  2. Execute the jogging motion.
  3. Measure the maximum torque value by PTRQ, and then add the margin to it.
  4. Set LimitTorqeLP and LimitTorqeLPStop.

If the robot is temporarily stopped in the low power motion, the value larger than the normal program operation or jogging motion may be obtained. In such case, execute the temporary stop while measuring PTRQ and include it into measurement.

For details of the command and function, refer to the following manual.

"SPEL+ Language Reference"

  • LimitTorque Statement, LimitTorque Function
  • LimitTorqueLP Statement, LimitTorqueLP Function
  • LimitTorqueStop Statement, LimitTorqueStop Function
  • LimitTorqueStopLP Statement, LimitTorqueStopLP Function

The following is a sample program which automatically configures the collision detection function and the torque restriction function.

The program repeats the motion called “all_ax_move”.

The program enables the collision detection function, measures the maximum torque in the first five moves, adds the margin to the measured value (1.2 times if HighPower, 1.4 times if LowPower), and sets the upper limit torque value to stop the robot at the upper limit torque.

This is the example of automatic setting to repeat motion with the above settings from the sixth time.

When the upper limit torque value is changed, the changed value will be considered as "1.0" for the subsequent PTRQ measurement. If the margin of 1.2 times is set, PTRQ will be slightly larger than 0.8, and if the margin of 1.4 rimes is set, PTRQ will be slightly smaller than 0.7.

Setting example)

Function main
  Integer icnt
  Real rtrq(6)

  Motor On
  Power High
'   Power Low
  Weight 2
  Speed 50
  Accel 80, 80

  icnt = 1
  PTCLR
  LimitTorque 100         'init HighPower limit torque
  LimitTorqueLP 100       'init LowPower  limit torque
  CollisionDetect On
  Do
    Call all_ax_move
    Print PTRQ(1), PTRQ(2), PTRQ(3), PTRQ(4), PTRQ(5), PTRQ(6)
    icnt = icnt + 1
    If icnt = 5 Then
      If Power = 1 Then   'High power case
        Print "LimitTorque set"
        rtrq(1) = PTRQ(1) * 1.2 * LimitTorque(1) + 1.0
        rtrq(2) = PTRQ(2) * 1.2 * LimitTorque(2) + 1.0
        rtrq(3) = PTRQ(3) * 1.2 * LimitTorque(3) + 1.0
        rtrq(4) = PTRQ(4) * 1.2 * LimitTorque(4) + 1.0
        rtrq(5) = PTRQ(5) * 1.2 * LimitTorque(5) + 1.0
        rtrq(6) = PTRQ(6) * 1.2 * LimitTorque(6) + 1.0
        Print LimitTorque(1), LimitTorque(2), LimitTorque(3), LimitTorque(4), LimitTorque(5), LimitTorque(6)
        LimitTorque rtrq(1), rtrq(2), rtrq(3), rtrq(4), rtrq(5), rtrq(6)
        Print LimitTorque(1), LimitTorque(2), LimitTorque(3), LimitTorque(4), LimitTorque(5), LimitTorque(6)
        LimitTorqueStop On
      Else               'Low poser case
        Print "LimitTorqueLP set"
        rtrq(1) = PTRQ(1) * 1.4 * LimitTorqueLP(1) + 1.0
        rtrq(2) = PTRQ(2) * 1.4 * LimitTorqueLP(2) + 1.0
        rtrq(3) = PTRQ(3) * 1.4 * LimitTorqueLP(3) + 1.0
        rtrq(4) = PTRQ(4) * 1.4 * LimitTorqueLP(4) + 1.0
        rtrq(5) = PTRQ(5) * 1.4 * LimitTorqueLP(5) + 1.0
        rtrq(6) = PTRQ(6) * 1.4 * LimitTorqueLP(6) + 1.0
        Print LimitTorqueLP(1), LimitTorqueLP(2), LimitTorqueLP(3), LimitTorqueLP(4), LimitTorqueLP(5), LimitTorqueLP(6)
        LimitTorqueLP rtrq(1), rtrq(2), rtrq(3), rtrq(4), rtrq(5), rtrq(6)
        Print LimitTorqueLP(1), LimitTorqueLP(2), LimitTorqueLP(3), LimitTorqueLP(4), LimitTorqueLP(5), LimitTorqueLP(6)
        LimitTorqueStopLP On
      EndIf
    EndIf
    If icnt > 5 Then
      icnt = 6
    Endif
  Loop While icnt > 0

Fend

Function all_ax_move
  Integer icount
  Go JA(10, 10, 10, 10, 10, 10)
  Go JA(-10, -10, -10, -10, -10, -10)
Fend