IRCALIBRATION


IRCALIBRATION

1. OPTIONS

Table 1.  Relation of iRCalibration Options

iRCalibration Software Option Documentation Setup Production (Suitable for Automatic Operation) Function
Vision TCP Set iRCalibration Operator's Manual Initial TCP n/a Initial TCP
Vision Shift iRCalibration Operator's Manual Adjust program points n/a Adjust program points
Vision Frame Set iRCalibration Operator's Manual Initial User Frame n/a Initial user Frame
Vision Frame Shift iRCalibration Operator's Manual Recover User Frame Maintain User Frame Recover user Frame
Vision Mastering iRCalibration Operator's Manual Initial mastering (J2–J5) n/a Initial mastering (J2–J5)
TCP Set (formerly TCPCal) All Setup and Operations Manuals Initial TCP** n/a Initial TCP
TCP Shift (formerly TCPCal) All Setup and Operations Manuals Recover TCP Maintain TCP Recover TCP
Frame Set All Setup and Operations Manuals Initial user frame n/a Initial user frame
Frame Shift (formerly CellCal) All Setup and Operations Manuals Recover user frame Maintain user frame Recover user frame
Master Set(formerly RobotCal) All Setup and Operations Manuals Initial mastering (J2–J5) n/a Initial mastering (J2–J5)
Master Recovery (formerly RobotCal) All Setup and Operations Manuals Master recovery n/a Recover mastering
iRCalibration Signature HandlingTool Setup and Operations Manual Robot Calibration n/a Make robot accurate
Deflection Compensation HandlingTool Setup and Operations Manual Robot Calibration n/a Compensate external force

**Frame Shift, TCP Shift, and Master Recovery functions for production maintenance and recovery require some operation during the setup phase.

2. IRCALIBRATION MASTER SET

Table 2.  iRCalibration Master Set Schedule Screen Description

ITEM DESCRIPTION

Robot

J1 - J9

The calibration for each axis can be enabled or disabled individually.

The default values are good for normal operation For robots with all rotary joints, it is recommended that J2, J3, J4, and J5 all be TRUE.

As described in the Calibrate TCP and Calibrate UFrame sections, J1 (and J2 for linear J1 robots), and J6 have special considerations. The normal case for mastering recovery is to use the same settings as for initial mastering. If you need to recover J1 and/or J6 (and/or J2 for linear J1 robots) then you must follow the instructions regarding TCP and UFrame.

Calibration Group

Range 1 - 8

Default: 1

This item defines the robot group to be calibrated.

Calibrate TCP

True/False

Default: True

This item allows calibration software to solve for the TCP value.

Normally Calibrate TCP is TRUE unless you are using a previously accurately calibrated TCP. If Calibrate TCP is TRUE, then the calibration field corresponding to J6 must be false. You can never calibrate or recover both the TCP and J6.

For mastering recovery, if UTool has been maintained and is still valid at the time of mastering recovery, then Calibrate UTool can be FALSE and J6 can be TRUE.

Calibrate UFRAME

True/False

Default: True

This item allows calibration software to solve for the user frame. Note that this will make UFRAME be the center of the circle in the calibration plate and will only set uframe XYZ value.

Normally, Calibrate UFrame is TRUE unless you are using a previously accurately calibrated calibration plate. If Calibrate UFrame is TRUE, then the calibration field corresponding to J1 must be false.

For TopLoaders or other robots with a linear J1 axis then J2 must be false whenever Calibrate UFrame is TRUE You can never calibrate or recover both UFrame and J1. Additionally for robots with a linear J1 axis you can never calibrate or recover both UFrame and J2. Any J1 (and J2 for linear J1 robots) calibration error can be fully corrected by UFrame.

If you use iRCalibration Frame Shift to maintain UFrame following iRCalibration Master Set mastering recovery then it is not necessary to recover J1 (and J2 for linear J1 robots). However, if programming causes these axis to move close to their limits then a run-time limit error may occur if these axes are not recovered. If you want to recover J1 (and J2 ror linear J1 robots) then you MUST mount the calibration plate in a fixed location or in a location that can be exactly duplicated at the time of recovery AND the exact UFrame found during initial mastering must be used at the time of recovery. Normally this is done by dedicating a specific UFrame number for mastering and mastering recovery.

Allowable mean error

Units: mm

Range: 0.01 - 100

Default: 2.0

This item is the maximum allowable mean error for the calibration computation.

Mean Error Register

Range: 0 - 999

Default: 0

If the number is greater than 0, the calibration software will write the calibration mean error to the register.

Max. Error Register

Range: 0 - 999

Default: 0

If this number is greater than 0, the calibration software will update the calibration maximum error to the register.

Use Current TCP

True/False

Default : TRUE

This item is used for calibration recovery.

  • If this value is TRUE, and Calibrate TCP is FALSE, then the current active UTool will be used for determining the calibration parameters.

  • If this value is FALSE and Calibrate TCP is FALSE, then the current UTool must be the same as was used during calibration mastering.

  • If this value is TRUE, and the physical tool has changed by maintenance or other reasons sinceiRCalibration Master Set was mastered, then TCPCal or some other method should be used to maintain the correspondence between the UTool value and the physical tool.


Table 3.  iRCalibration Master Set Detection Schedule Description

ITEM DESCRIPTION

Sensor Type

Values: TOS Wrist, I/O, TOS ALL AXES

Default: TOS ALL AXES

This item indicates the kind of sensor used for contact detection. The three modes are:
  • TOS Wrist (Torque Observer Sensor on Wrist) - the contact torque will be monitored, and only the observed torque on the wrist will be used to determine the contact position. When TOS Wrist is selected, no I/O connection is required for contact detection.

    TOS Wrist is very sensitive and can be more prone to false detections in certain cases than the more robust TOS All Axes method. TOS Wrist is not recommended except for special cases where it can verified that false detections will not occur.

  • I/O - the specified I/O will be monitored and only the state of this input will be used to determine the contact position. Use the detection port for contact detection with I/O. Refer to Detection Port item in this table for more information.

  • TOS ALL AXES (Torque Observer Sensor, All Axes) - The contact torque will be monitored on all robot axes, and only the observed torque will be used to determine the contact position.

    This is the default value. When TOS ALL AXES is selected, no I/O connection is required for contact detection.

Detection Port

Values: RI, DI, WDI, WSI

This item indicates the desired input port type. The port types are:
  • RI - Robot Digital Input

  • DI - normal Digital Input

  • WDI - Weld Digital Input

  • WSI - Wire Stick circuit Input.

    The port type that you specify is followed by the desired port number that will go from OFF to ON when contact is detected. The WDI and WSI ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. You do not need to set this up if you selected TOS Wrist or TOS All Axes as the Sensor Type.

Sensor Enable

Values: RO, DOUT, WDO, or WSO

Default: DOUT

This item indicates the I/O sensor enable digital output port type. The port types are:
  • RO - Robot Digital Output

  • DOUT - normal Digital Output

  • WDO - Weld Digital Output

  • WSO - Wire Stick circuit Output.

    The port type that you specify is followed by the desired port number that will be used to enable the I/O detection circuit. The WDO and WSO ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. Set the port number to 0 (zero) if you are not using this feature.

Detection Speed

Units: mm/sec

Range: 1.0 - 100

Default: 10

This item is the search speed for contact detection. This speed is used for both TOS and I/O searches. The value can be increased if cycle time is of great concern (although increasing the speed will also affect the resultant accuracy and repeatability) , or reduced if vibration or other disturbances cause iRCalibration Master Set to retry excessively.

Detection Distance

Units: mm

Range: 1 - 1000

Default: 50

This item is the maximum distance that the robot will move while looking for the signal. If no contact is detected within this distance during a search, an error message will be posted.

Return Speed

Units: mm/sec

Range: 5 - 5000

Default: 50

This item is the search return speed. This speed is used for both TOS and I/O searches.

Return to Start

Default: TRUE

When this item is set to YES, the robot will move back to the position before it starts the search motion. This item applies to DETECT POINT instructions only.

When this item is set to NO, the robot will move back to a distance specified by the next item (Return distance)

Return Distance

Units: mm

Range: 1 - 1000

Default: 50

When return to start is set to FALSE, the robot will move back to the distance specified.

Return term type

Default: FINE

This item is the termination type for return motion.

Air Cut Speed

Units: mm/sec

Range: 1 - 1000

Default: 100

This item is the non-search motion speed.

Learn Distance

Units: mm

Range: 0.5– 20.0

Default: 5.0

For “TOS All Axes” method only, there is a short motion before each search to identify dynamic torque values. Learn Distance is the distance in millimeters of this short motion, the direction is determined at the time of the motion.

Learn Speed

Units: mm/sec

Range: 0.5 – 50.0

Default: 10.0

For “TOS All Axes” method only, this is the speed of the learning motion before each search.

Sensitivity

Units: max. motor torque/sec.

Range: 1 - 999

Default: 10

This item is the primary sensitivity tolerance of TOS Wrist and is not used for TOS All-Axes. It is the rate of change of the disturbance torque. The actual units vary with motor model, gear ratio, and amplifier current, and are affected by tooling length. However, the effect for calibration is largely independent of these factors and a value of 10 is considered normal operation for typical installations. You should not use a value of less than 10 or false detections might occur. This value can be increased if false detections occur frequently.

Warning

Be careful when you change this number. Changing the sensitivity might cause a false detection. This could injure personnel or damage equipment.

Torque Threshold

Units: max. motor torque

Range: 1 to 999

Default: 100

For TOS All Axes, this item is the only measure of contact detection. During the learning motion a torque level is memorized and that level plus Torque Threshold must be exceeded for contact to be determined. If false detections are being experienced then this value should be increased. For TOS Wrist, this item is the level of disturbance torque that is used as another means for contact detection. The default value of 100 is considered normal operation for typical installations. If increasing the value of Sensitivity does not make false detections disappear, then this value should be increased until the false detections disappear; then, reset the value of Sensitivity .

Fit Tolerance

Units: mm

Range: 0.1 - 100

Default: 1.0

For Detect Circle instruction: The robot detects 4 points inside the circle and the calibration software will fit a circle to the 4 detected positions. The fit error is defined as the maximum distance from the 4 points to the circle.

If the fitting error exceeds the tolerance, the calibration software will post an error.

Radius Tolerance

Units: mm

Range: 0.1 — 100

Default: 1.0

The Detect Circle instruction stores the circle's radius during mastering. At run time, if the computed circle radius differs from the stored radius value and difference exceeds the tolerance, the calibration software will post an error.

Number of Retry

Range: 0 - 9

Default:

If the number of retry is >0, the calibration software will re-run the detect circle instruction if the current circle detection has either a fit error or a radius error.

Contact Position Register

If the position register number is any number other than 0, iRCalibration software will copy the contact position to the position register.


Table 4.  Program Creation Screen Items for Standard iRCalibration Master Set Programs

Item Description

Program Name

The program name for the iRCalibration Master Set program creation cannot be changed in this menu. It can be changed in the Set Up menu. It is usually of the form “RCAL_G” followed by the group number of the robot being calibrated.

The current active jog group is used in determining which group will be used.

UTool[10]:

Uframe[9]:

iRCalibration Master Set program creation always uses UTool[10], UFrame[9].

Program Defined will appear if the corresponding frame was not previously set; that is, the frame xyzwpr components were all zero. For this case, when you press F2, CREATE, iRCalibration Master Set will set the frames to the identified values. The Uframe and UTool may be different for different robot models. You cannot change the UTool, Uframe, Detection Schedule, or Calibration Schedule number used by Standard iRCalibration Master Set. However, you can edit the generated program to use different Detection or Calibration schedules. You can change the Uframe or UTool number after the program has been created by using the Tool offset or Frame offset utilities.

User Set will appear if iRCalibration Master Set had previously generated a program for the current group or if the Uframe or UTool were changed by the user. For this case, iRCalibration Master Set will use the current Uframe or UTool and will not change it when the program is generated.

Calibration Schedule[10]

Detection Schedule[10]

The iRCalibration Master Set program creation always uses Calibration Schedule[10] and Detection Schedule[10].


Table 5.  Robot Calibration Program Taught Points

Taught Point Description
Approach Position 1 This point must be located such that the robot can move to both Center Position 1 and Approach position 2 without collision. Also, the wrist must be able to rotate freely at this location without collision.
Center Position 1 This point must be located on the side of the touch plate that is consistent with the “Plate Direction” setup value. This position should be rotated toward one extreme of orientation about the plate axis. This position should be taught centered over the touch plate circle and about one inch above the plate.
Rotate Position 1 This point must be located on the same side of the touch plate as Center Position 1. This position should be rotated toward the other extreme of orientation about the plate axis, but the total rotation must be less than 180 degrees. This position should be taught centered over the touch plate circle and about one inch above the plate.
Approach Position 2 This point must be located such that the robot can move to both Center Position 2 and Approach position 1 without collision. Also, the wrist must be able to rotate freely at this location without collision.
Center Position 2 This point must be taught on the opposite side of the plate as Center Position 1. This position should be rotated toward one extreme of orientation about the plate axis. This position should be taught centered over the touch plate circle and about one inch above the plate.
Rotate Position 2 This point must be located on the same side of the touch plate as Center Position 2. This position should be rotated toward the other extreme of orientation about the plate axis, but the total rotation must be less than 180 degrees. This position should be taught centered over the touch plate circle and about one inch above the plate.
Orientation position This point must be taught with the same orientation as Rotate Position 2 but with the tool shaft extending through the touch plate hole. This position defines the orientation of the tool and +Z will extend out from the tool (such as used by waterjet cutting) if the system variable$CB_VARS.$Z_OUT = TRUE, otherwise +Z will go through the tool (such as used by arc welding) if $CB_VARS.$Z_OUT = FALSE. If the Orientation position is the same as Rotate Position 2 or does not extend through the plate by at least 20mm, then the plate vector is used for determining TOOL Z.

Table 6.  Troubleshooting

Problem Possible Cause Solution

The robot does not detect the Touch Plate for the I/O method.

I/O was incorrectly set up.

Verify that the I/O is set up properly.

Verify that contact with the Touch Plate will cause the specified I/O signal to go ON. Change polarity of the I/O point if necessary.

The Touch Plate or tool is not isolated.

Verify that either the tool is isolated (for the case of a charged tool) or that the Touch Plate is isolated (for the case of a charged plate) from ground, and that the element that is not charged is grounded electrically.

The tool or Touch Plate surfaces are dirty.

Verify that both the tool and plate surfaces are clean and free from film.

The robot hits obstacles during rotations.

There is not enough space around the Touch Plate.

Touch up the calibration program's position.

The robot does not always touch the inside of the Touch Plate hole with a cylindrical portion of the tool.

The shaft is not far enough through the Touch Plate hole.

Touch up the calibration program's position.

When is it appropriate to use the I/O method and when is it appropriate to use Torque Observer Sensor (TOS) method?

There is delicate or compliant tooling.

Use I/O method if there is delicate or compliant tooling.

The wrist center is in the same plane as the Touch Plate.

Use I/O method if the wrist center is to close to or in the same plane as the Touch Plate.

If the tool is durable, TOS All Axes can also be used.

The wrist center is directly above the Touch Plate.

Use I/O method if the wrist center is directly above the Touch Plate.

If the tool is durable, TOS All Axes can also be used.

There is a durable tool and a small robot.

The TOS All Axes method is recommended for small robots when the I/O method is not used.

There is a durable tool and a large robot.

Use the TOS All Axes method if there is a durable tool.

Large Calibration Error

Incorrect UFrame or UTool setting

Make sure that the solve UFrame and solve UTool flags are TRUE unless the UFrame exactly corresponds to the calibration plate location and unless the UTool exactly corresponds to the calibration tool.

TOS false detections

Rerun the calibration and watch to confirm the tool touches the calibration plate for every detection. If it does not touch in one or more detections, increase the TOS Tolerance or increase the learning speed and learning distance or reteach the point with a slightly different rotation.


3. IRCALIBRATION MASTER RECOVERY

Table 7.  iRCalibration Mastering Schedule Screen Description

ITEM DESCRIPTION

Robot

J1 - J9

The calibration for each axis can be enabled or disabled individually.

The default values are good for normal operation where initial mastering is performed and for mastering iRCalibration Mastering from the recovery menu. For robots with all rotary joints, it is recommended that J2, J3, J4, and J5 all be TRUE.

As described in the Calibrate TCP and Calibrate UFrame sections, J1 (and J2 for linear J1 robots), and J6 have special considerations. The normal case for mastering recovery is to use the same settings as for initial mastering. If you need to recover J1 and/or J6 (and/or J2 for linear J1 robots) then you must follow the instructions regarding TCP and UFrame.

Calibration Group

Range 1 - 8

Default: 1

This item defines the robot group to be calibrated.

Calibrate TCP

True/False

Default: True

This item allows calibration software to solve for the TCP value.

Normally Calibrate TCP is TRUE unless you are using a previously accurately calibrated TCP. If Calibrate TCP is TRUE, then the calibration field corresponding to J6 must be false. You can never calibrate or recover both the TCP and J6.

For mastering recovery, if UTool has been maintained and is still valid at the time of mastering recovery, then Calibrate UTool can be FALSE and J6 can be TRUE.

Calibrate UFRAME

True/False

Default: True

This item allows calibration software to solve for the user frame. Note that this will make UFRAME be the center of the circle in the calibration plate and will only set uframe XYZ value.

Normally, Calibrate UFrame is TRUE unless you are using a previously accurately calibrated calibration plate. If Calibrate UFrame is TRUE, then the calibration field corresponding to J1 must be false.

For TopLoaders or other robots with a linear J1 axis then J2 must be false whenever Calibrate UFrame is TRUE You can never calibrate or recover both UFrame and J1. Additionally for robots with a linear J1 axis you can never calibrate or recover both UFrame and J2. Any J1 (and J2 for linear J1 robots) calibration error can be fully corrected by UFrame.

If you use CellCal to maintain UFrame following iRCalibration Mastering mastering recovery then it is not necessary to recover J1 (and J2 for linear J1 robots). However, if programming causes these axis to move close to their limits then a run-time limit error may occur if these axes are not recovered. If you want to recover J1 (and J2 ror linear J1 robots) then you MUST mount the calibration plate in a fixed location or in a location that can be exactly duplicated at the time of recovery AND the exact UFrame found during initial mastering must be used at the time of recovery. Normally this is done by dedicating a specific UFrame number for mastering and mastering recovery.

Allowable mean error

Units: mm

Range: 0.01 - 100

Default: 2.0

This item is the maximum allowable mean error for the calibration computation.

Mean Error Register

Range: 0 - 999

Default: 0

If the number is greater than 0, the calibration software will write the calibration mean error to the register.

Max. Error Register

Range: 0 - 999

Default: 0

If this number is greater than 0, the calibration software will update the calibration maximum error to the register.

Use Current TCP

True/False

Default : TRUE

This item is used for calibration recovery.

  • If this value is TRUE, and Calibrate TCP is FALSE, then the current active UTool will be used for determining the calibration parameters.

  • If this value is FALSE and Calibrate TCP is FALSE, then the current UTool must be the same as was used during calibration mastering.

  • If this value is TRUE, and the physical tool has changed by maintenance or other reasons since iRCalibration Mastering was mastered, then TCPCal or some other method should be used to maintain the correspondence between the UTool value and the physical tool.


Table 8.  iRCalibration Mastering Detection Schedule Description

ITEM DESCRIPTION

Sensor Type

Values: TOS Wrist, I/O, TOS ALL AXES

Default: TOS ALL AXES

This item indicates the kind of sensor used for contact detection. The four modes are:
  • TOS Wrist (Torque Observer Sensor on Wrist) - the contact torque will be monitored, and only the observed torque on the wrist will be used to determine the contact position. When TOS Wrist is selected, no I/O connection is required for contact detection.

    TOS Wrist is very sensitive and can be more prone to false detections in certain cases than the more robust TOS All Axes method. TOS Wrist is not recommended except for special cases where it can verified that false detections will not occur.

  • I/O - the specified I/O will be monitored and only the state of this input will be used to determine the contact position. Use the detection port for contact detection with I/O. Refer to Detection Port item in this table for more information.

  • TOS ALL AXES (Torque Observer Sensor, All Axes) - The contact torque will be monitored on all robot axes, and only the observed torque will be used to determine the contact position.

    This is the default value. When TOS ALL AXES is selected, no I/O connection is required for contact detection.

Detection Port

Values: RI, DI, WDI, WSI

This item indicates the desired input port type. The port types are:
  • RI - Robot Digital Input

  • DI - normal Digital Input

  • WDI - Weld Digital Input

  • WSI - Wire Stick circuit Input.

    The port type that you specify is followed by the desired port number that will go from OFF to ON when contact is detected. The WDI and WSI ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. You do not need to set this up if you selected TOS Wrist or TOS All Axes as the Sensor Type.

Sensor Enable

Values: RO, DOUT, WDO, or WSO

Default: DOUT

This item indicates the I/O sensor enable digital output port type. The port types are:
  • RO - Robot Digital Output

  • DOUT - normal Digital Output

  • WDO - Weld Digital Output

  • WSO - Wire Stick circuit Output.

    The port type that you specify is followed by the desired port number that will be used to enable the I/O detection circuit. The WDO and WSO ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. Set the port number to 0 (zero) if you are not using this feature.

Detection Speed

Units: mm/sec

Range: 1.0 - 100

Default: 10

This item is the search speed for contact detection. This speed is used for both TOS and I/O searches. The value can be increased if cycle time is of great concern (although increasing the speed will also affect the resultant accuracy and repeatability) , or reduced if vibration or other disturbances cause iRCalibration Mastering to retry excessively.

Detection Distance

Units: mm

Range: 1 - 1000

Default: 50

This item is the maximum distance that the robot will move while looking for the signal. If no contact is detected within this distance during a search, an error message will be posted.

Return Speed

Units: mm/sec

Range: 5 - 5000

Default: 50

This item is the search return speed. This speed is used for both TOS and I/O searches.

Return to Start

Default: TRUE

When this item is set to YES, the robot will move back to the position before it starts the search motion. This item applies to DETECT POINT instructions only.

When this item is set to NO, the robot will move back to a distance specified by the next item (Return distance)

Return Distance

Units: mm

Range: 1 - 1000

Default: 50

When return to start is set to FALSE, the robot will move back to the distance specified.

Return term type

Default: FINE

This item is the termination type for return motion.

Air Cut Speed

Units: mm/sec

Range: 1 - 1000

Default: 100

This item is the non-search motion speed.

Learn Distance

Units: mm

Range: 0.5– 20.0

Default: 5.0

For “TOS All Axes” method only, there is a short motion before each search to identify dynamic torque values. Learn Distance is the distance in millimeters of this short motion, the direction is determined at the time of the motion.

Learn Speed

Units: mm/sec

Range: 0.5 – 50.0

Default: 10.0

For “TOS All Axes” method only, this is the speed of the learning motion before each search.

Sensitivity

Units: max. motor torque/sec.

Range: 1 - 999

Default: 10

This item is the primary sensitivity tolerance of TOS Wrist and is not used for TOS All-Axes. It is the rate of change of the disturbance torque. The actual units vary with motor model, gear ratio, and amplifier current, and are affected by tooling length. However, the effect for calibration is largely independent of these factors and a value of 10 is considered normal operation for typical installations. You should not use a value of less than 10 or false detections might occur. This value can be increased if false detections occur frequently.

Warning

Be careful when you change this number. Changing the sensitivity might cause a false detection. This could injure personnel or damage equipment.

Torque Threshold

Units: max. motor torque

Range: 1 to 999

Default: 100

For TOS All Axes, this item is the only measure of contact detection. During the learning motion a torque level is memorized and that level plus Torque Threshold must be exceeded for contact to be determined. If false detections are being experienced then this value should be increased. For TOS Wrist, this item is the level of disturbance torque that is used as another means for contact detection. The default value of 100 is considered normal operation for typical installations. If increasing the value of Sensitivity does not make false detections disappear, then this value should be increased until the false detections disappear; then, reset the value of Sensitivity .

Fit Tolerance

Units: mm

Range: 0.1 - 100

Default: 1.0

For Detect Circle instruction: The robot detects 4 points inside the circle and the calibration software will fit a circle to the 4 detected positions. The fit error is defined as the maximum distance from the 4 points to the circle.

If the fitting error exceeds the tolerance, the calibration software will post an error.

Radius Tolerance

Units: mm

Range: 0.1 — 100

Default: 1.0

The Detect Circle instruction stores the circle's radius during mastering. At run time, if the computed circle radius differs from the stored radius value and difference exceeds the tolerance, the calibration software will post an error.

Number of Retry

Range: 0 - 9

Default:

If the number of retry is >0, the calibration software will re-run the detect circle instruction if the current circle detection has either a fit error or a radius error.

Contact Position Register

If the position register number is any number other than 0, iRCalibration Mastering will copy the contact position to the position register.


Table 9.  Program Creation Screen Items for Standard iRCalibration Master Recovery Programs

Item Description

Program Name

The program name for the iRCalibration Master Recovery program creation cannot be changed. It is of the form “RCAL_G” followed by the group number of the robot being calibrated.

The current active jog group is used in determining which group will be used.

UTool[10]:

Uframe[9]:

iRCalibration Mastering program creation always uses UTool[10], UFrame[9].

Program Defined will appear if the corresponding frame was not previously set; that is, the frame xyzwpr components were all zero. For this case, when you press F2, CREATE, iRCalibration Master Recovery will set the frames to the identified values. The Uframe and UTool may be different for different robot models. You cannot change the UTool, Uframe, Detection Schedule, or Calibration Schedule number used by Standard iRCalibration Mastering. However, you can edit the generated program to use different Detection or Calibration schedules. You can change the Uframe or UTool number after the program has been created by using the Tool offset or Frame offset utilities.

User Set will appear if iRCalibration Master Recovery had previously generated a program for the current group or if the Uframe or UTool were changed by the user. For this case, iRCalibration Master Recovery will use the current Uframe or UTool and will not change it when the program is generated.

Calibration Schedule[10]

Detection Schedule[10]

The iRCalibration Master Recovery program creation always uses Calibration Schedule[10] and Detection Schedule[10].


Table 10.  Robot Calibration Program Taught Points

Taught Point Description
Approach Position 1 This point must be located such that the robot can move to both Center Position 1 and Approach position 2 without collision. Also, the wrist must be able to rotate freely at this location without collision.
Center Position 1 This point must be located on the side of the touch plate that is consistent with the “Plate Direction” setup value. This position should be rotated toward one extreme of orientation about the plate axis. This position should be taught centered over the touch plate circle and about one inch above the plate.
Rotate Position 1 This point must be located on the same side of the touch plate as Center Position 1. This position should be rotated toward the other extreme of orientation about the plate axis, but the total rotation must be less than 180 degrees. This position should be taught centered over the touch plate circle and about one inch above the plate.
Approach Position 2 This point must be located such that the robot can move to both Center Position 2 and Approach position 1 without collision. Also, the wrist must be able to rotate freely at this location without collision.
Center Position 2 This point must be taught on the opposite side of the plate as Center Position 1. This position should be rotated toward one extreme of orientation about the plate axis. This position should be taught centered over the touch plate circle and about one inch above the plate.
Rotate Position 2 This point must be located on the same side of the touch plate as Center Position 2. This position should be rotated toward the other extreme of orientation about the plate axis, but the total rotation must be less than 180 degrees. This position should be taught centered over the touch plate circle and about one inch above the plate.
Orientation position This point must be taught with the same orientation as Rotate Position 2 but with the tool shaft extending through the touch plate hole. This position defines the orientation of the tool and +Z will extend out from the tool (such as used by waterjet cutting) if the system variable$CB_VARS.$Z_OUT = TRUE, otherwise +Z will go through the tool (such as used by arc welding) if $CB_VARS.$Z_OUT = FALSE. If the Orientation position is the same as Rotate Position 2 or does not extend through the plate by at least 20mm, then the plate vector is used for determining TOOL Z.

Table 11.  Troubleshooting

Problem Possible Cause Solution

The robot does not detect the Touch Plate for the I/O method.

I/O was incorrectly set up.

Verify that the I/O is set up properly.

Verify that contact with the Touch Plate will cause the specified I/O signal to go ON. Change polarity of the I/O point if necessary.

The Touch Plate or tool is not isolated.

Verify that either the tool is isolated (for the case of a charged tool) or that the Touch Plate is isolated (for the case of a charged plate) from ground, and that the element that is not charged is grounded electrically.

The tool or Touch Plate surfaces are dirty.

Verify that both the tool and plate surfaces are clean and free from film.

The robot hits obstacles during rotations.

There is not enough space around the Touch Plate.

Touch up the calibration program's position.

The robot does not always touch the inside of the Touch Plate hole with a cylindrical portion of the tool.

The shaft is not far enough through the Touch Plate hole.

Touch up the calibration program's position.

When is it appropriate to use the I/O method and when is it appropriate to use Torque Observer Sensor (TOS) method?

There is delicate or compliant tooling.

Use I/O method if there is delicate or compliant tooling.

The wrist center is in the same plane as the Touch Plate.

Use I/O method if the wrist center is to close to or in the same plane as the Touch Plate.

If the tool is durable, TOS All Axes can also be used.

The wrist center is directly above the Touch Plate.

Use I/O method if the wrist center is directly above the Touch Plate.

If the tool is durable, TOS All Axes can also be used.

There is a durable tool and a small robot.

The TOS All Axes method is recommended for small robots when the I/O method is not used.

There is a durable tool and a large robot.

Use the TOS All Axes method if there is a durable tool.

Large Calibration Error

Incorrect UFrame or UTool setting

Make sure that the solve UFrame and solve UTool flags are TRUE unless the UFrame exactly corresponds to the calibration plate location and unless the UTool exactly corresponds to the calibration tool.

TOS false detections

Rerun the calibration and watch to confirm the tool touches the calibration plate for every detection. If it does not touch in one or more detections, increase the TOS Tolerance or increase the learning speed and learning distance or reteach the point with a slightly different rotation.


4. IRCALIBRATION TCP SET

Table 12.  Calibration Mode Descriptions

Calibration Mode Description
New XYZWPR Sets initial TCP xyzwpr
New XYZ Sets initial TCP xyz
Cal-Plate Sets initial TCP XYZWPR location of a calibration plate mounted on the faceplate.

Table 13.  iRCalibration TCP Set UTOOL Schedule Item Description

ITEM DESCRIPTION

Auto Update

Default: TRUE

This item indicates whether iRCalibration TCP Set's UTOOL END instruction will update the corresponding $mnutool or not. If you set Auto Update to TRUE and run the TCP calibration program, the $mnutool will be updated based on the offset.

Store Offset

Default: FALSE

This item indicates whether or not iRCalibration TCP Set's UTOOL END instruction will update the position register with the TCP offset.

Tool Z Offset

Units: mm

Range: – 500.000– 500.000

Default: 0

This item is the distance from the point of the tooling that contacts the plate to the actual TCP. This is used when XYZWPR mode is chosen to adjust the XYZ correction at the TCP properly when there is a tool Z change. For spot welding and other applications where the contact point is the actual TCP location, this value should be zero. For Waterjet, arc welding, and other applications where the contact point is above the TCP at the time of contact, this value should be set to the distance from the contact point to the actual TCP.

Max. XYZ Offset

Units: mm

Range: 0.1 — 1000

Default: 30.0

This item is the distance in mm from the previous TCP to the new TCP for a single correction. If a single correction is larger than the max. XYZ offset, an error message will be posted. If the out DOUT port is not zero, iRCalibration TCP Set will also set the port to ON.

Max. Orent Offset

Units: deg

Range: 0.01 — –20

Default: 5

This item is the orientation change in degrees from the previous TCP to the new TCP for a single correction. If a single correction is larger than the max. orientation offset, an error will be posted.

Max. Alignment Offset

Units: mm

Range: 0 — 500

Default: 10

This item is the maximum alignment change allowed in mm from the previous TCP to the new TCP. If the alignment change is greater than the alignment offset, an error will be posted. This item is in effect when the XYZ-Align calibration mode is selected.

Deviation Register

Range: 0 — 999

Default: 0

This item indicates the register number where iRCalibration TCP Set will update with the change between the previous TCP and the new TCP. If this item is 0, no update is performed.

Accum. Register

Range: 0 — 999

Default:

This item is the change between the new TCP and the original mastered TCP. If this item is not 0, iRCalibration TCP Set will update the register with the accumulated deviation value.

Accumulated Error Enable

Default: FALSE

If this item is TRUE, iRCalibration TCP Set will check the accumulated deviation against the accumulated error threshold. If the deviation is greater than 0, an error will be posted.

Accumulated Offset Threshold

Default: 25

Min = 0

Max = 500mm

When the Accumulated Offset Threshold is exceeded and the function is enabled, iRCalibration TCP Set will post and ACAL-060, Excessive Accumulated Offset warning.


Table 14.  iRCalibration TCP Set Detection Schedule Description

ITEM DESCRIPTION

Sensor Type

Values: TOS Wrist, I/O, TOS ALL AXES

Default: TOS ALL AXES

This item indicates the kind of sensor used for contact detection. The three modes are:
  • TOS Wrist (Torque Observer Sensor on Wrist) - the contact torque will be monitored, and only the observed torque on the wrist will be used to determine the contact position. When TOS Wrist is selected, no I/O connection is required for contact detection.

    TOS Wrist is very sensitive and can be more prone to false detections in certain cases than the more robust TOS All Axes method. TOS Wrist is not recommended except for special cases where it can verified that false detections will not occur.

  • I/O - the specified I/O will be monitored and only the state of this input will be used to determine the contact position. Use the detection port for contact detection with I/O. Refer to Detection Port item in this table for more information.

  • TOS ALL AXES (Torque Observer Sensor, All Axes) - The contact torque will be monitored on all robot axes, and only the observed torque will be used to determine the contact position.

    This is the default value. When TOS ALL AXES is selected, no I/O connection is required for contact detection.

Detection Port

Values: RI, DI, WDI, WSI

Note: AIN is not supported in iRCalibration TCP Set.

This item indicates the desired input port type. The port types are:
  • RI - Robot Digital Input

  • DI - normal Digital Input

  • WDI - Weld Digital Input

  • WSI - Wire Stick circuit Input.

The port type that you specify is followed by the desired port number that will go from OFF to ON when contact is detected. The WDI and WSI ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. You do not need to set this up if you selected TOS Wrist or TOS All Axes as the Sensor Type.

Sensor Enable

Values: RO, DOUT, WDO, or WSO

Default: DOUT

This item indicates the I/O sensor enable digital output port type. The port types are:
  • RO - Robot Digital Output

  • DOUT - normal Digital Output

  • WDO - Weld Digital Output

  • WSO - Wire Stick circuit Output.

    The port type that you specify is followed by the desired port number that will be used to enable the I/O detection circuit. The WDO and WSO ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. Set the port number to 0 (zero) if you are not using this feature.

Detection Speed

Units: mm/sec

Range: 1.0 - 100

Default: 10

This item is the search speed for contact detection. This speed is used for both TOS and I/O searches. The value can be increased if cycle time is of great concern (although increasing the speed will also affect the resultant accuracy and repeatability) , or reduced if vibration or other disturbances cause iRCalibration TCP Set to retry excessively.

Detection Distance

Units: mm

Range: 1 - 1000

Default: 50

This item is the maximum distance that the robot will move while looking for the signal.

Return Speed

Units: mm/sec

Range: 5 - 5000

Default: 50

This item is the search return speed. This speed is used for both TOS and I/O searches.

Return to Start

Default: TRUE

When this item is set to YES, the robot will move back to the position before it starts the search motion.

When this item is set to NO, the robot will move back to a distance specified by the next item (Return distance)

Return Distance

Units: mm

Range: 1 - 1000

Default: 50

When return to start is set to FALSE, the robot will move back to the distance specified. This function applies to DETECT POINT instructions only.

Return term type

Default: FINE

This item is the termination type for return motion.

Air Cut Speed

Units: mm/sec

Range: 1 - 1000

Default: 100

This item is the non-search motion speed.

Learn Distance

Units: mm

Range: 0.5– 20.0

Default: 5.0

For “TOS All Axes” method only, there is a short motion before each search to identify dynamic torque values. Learn Distance is the distance in millimeters of this short motion, the direction is determined at the time of the motion.

Learn Speed

Units: mm/sec

Range: 0.5 – 50.0

Default: 10.0

For “TOS All Axes” method only, this is the speed of the learning motion before each search.

Sensitivity

Units: max. motor torque/sec.

Range: 1 - 999

Default: 10

This item is the primary sensitivity tolerance of TOS Wrist and is not used for TOS All-Axes. It is the rate of change of the disturbance torque. The actual units vary with motor model, gear ratio, and amplifier current, and are affected by tooling length. However, the effect for calibration is largely independent of these factors and a value of 10 is considered normal operation for typical installations. You should not use a value of less than 10 false detections might occur. This value can be increased if false detections occur frequently.

Warning

Be careful when you change this number. Changing the sensitivity might cause a false detection. This could injure personnel or damage equipment.

Torque Threshold

Units: max. motor torque

Range: 1 to 999

Default: 100

For TOS All Axes , this item is the only measure of contact detection. During the learning motion a torque level is memorized and that level plus Torque Threshold must be exceeded for contact to be determined. If false detections are being experienced then this value should be increased.

For TOS Wrist , this item is the level of disturbance torque that is used as another means for contact detection. The default value of 100 is considered normal operation for typical installations. If increasing the value of Sensitivity does not make false detections disappear, then this value should be increased until the false detections disappear; then, reset the value of Sensitivity .

Fit Tolerance

Units: mm

Range: 0.1 - 100

Default: 1.0

For Detect Circle instruction: The robot detects 4 points inside the circle and the calibration software will fit a circle to the 4 detected positions. The fit error is defined as the maximum distance from the 4 points to the circle.

If the fitting error exceeds the tolerance, the calibration software will post an error.

Radius Tolerance

Units: mm

Range: 0.1— 100

Default: 1.0

The Detect Circle instruction stores the circle's radius during mastering. At run time, if the computed circle radius differs from the stored radius value and difference exceeds the tolerance, the calibration software will post an error.

Number of Retry

Range: 0 - 9

Default: 0

If the number of retry is >0, the calibration software will re-run the detect circle instruction if the current circle detection has either a fit error or a radius error.

Contact Position Register

Range 0-100

Default 0

If the number is non-zero. iRCalibration TCP Set records the contact position to the specified position register.


Table 15.  New TCP Program Points

Position Description
Approach Position 1 This position must be located such that the robot can move to both Center Position 1 and Approach position 2 without collision. Also, the wrist must be able to rotate freely at this location without collision.
Center Position 1 Center Position 1 must be located on the side of the touch plate that is consistent with the“Plate Direction” setup value. This position should be rotated toward one extreme of orientation about the plate axis. This position should be taught centered over the touch plate circle and about one inch above the plate.
Rotate Position 1 Rotate Position 1 must be located on the same side of the touch plate as Center Position 1. This position should be rotated toward the other extreme of orientation about the plate axis, but the total rotation must be less than 180 degrees. This position should be taught centered over the touch plate circle and about one inch above the plate.
Approach Position 2 Approach Position 2 must be located such that the robot can move to both Center Position 2 and Approach position 1 without collision. Also, the wrist must be able to rotate freely at this location without collision.
Center Position 2 Center Position 2 must be taught on the opposite side of the plate as Center Position 1. This position should be rotated toward one extreme of orientation about the plate axis. This position should be taught centered over the touch plate circle and about one inch above the plate.
Rotate Position 2 Rotate Position 2 must be located on the same side of the touch plate as Center Position 2. This position should be rotated toward the other extreme of orientation about the plate axis, but the total rotation must be less than 180 degrees. This position should be taught centered over the touch plate circle and about one inch above the plate.
Orientation Position If you select “New-XYZWPR”, you must teach the orientation position with the same orientation as Rotate Position 2 but with the tool shaft extending through the touch plate hole. This position defines the orientation of the tool and +Z will extend out from the tool (such as used by waterjet cutting) if the system variable$CB_VARS.$Z_OUT = TRUE, otherwise +Z will go through the tool (such as used by arc welding) if $CB_VARS.$Z_OUT = FALSE.

Table 16.  iRCalibration TCP Set Fit Errors

Try This

Description

Verify that the tool is rigid.

Worn or damaged tooling components can cause variation in tool repeatability and can cause fit errors.

Verify the payload setting.

If the reference position is at an extreme position, improper payload settings can cause increased robot vibration, which affects iRCalibration TCP Set repeatability.

Check for a loose touch plate. *

If the touch plate becomes loosened due to improper installation, iRCalibration TCP Set repeatability will be affected.

Reduce motion speed. *

Under certain conditions, the default motion speed can cause too much vibration. For best performance, iRCalibration TCP Set uses increased acceleration values. Try lowering the motion speed from the default 100mm/sec to 25 or 50mm/sec.

Reduce search speed. *

Under certain conditions, the default motion speed can cause too much vibration. For best performance, iRCalibration TCP Set uses increased acceleration values. Try lowering the search speed from the default 10mm/sec to 5mm/sec.

Increase the retry count. *

iRCalibration TCP Set has significant safeguards against getting incorrect TCP corrections. You can increase the retry count from the default of 0 to either 3 or 4 to reduce the occurrence of iRCalibration TCP Set fit errors.

Increase the radius tolerance. *

The default radius tolerance of 1.0 mm may not be large enough to allow for the normal variation of some tooling. You can try increasing the radius tolerance from 1.0 mm to 1.5 mm or more as your application allows.

Increase the fit tolerance.*

Most iRCalibration TCP Set errors are detected by radius tolerance, but if increasing the radius tolerance does not resolve the problem, you can increase the fit tolerance from 1.0 mm to 1.5mm or more as your application allows.

If you are using TOS Wrist, increase the sensitivity value. *

Normally, the default value of 10 is adequate; however, you can increase this value to either 15 or 20.

If you are using TOS All Axis, increase the torque threshold. *

Normally, the default value of 100 is adequate. However, if the sensitivity increases have no effect, you can increase this value to 150.

Check for poor electrical continuity

If the I/O method is used, and if it relies on electrical continuity, then dirty contact surfaces on either the tool or the calibration plate will result in increased fit errors.


5. IRCALIBRATION TCP SHIFT

Table 17. Calibration Mode Descriptions

Calibration Mode Description
XYZWPR Recover TCP xyzwpr
XYZ_Align Recover tool XYZ and alignment for spot guns.
XYZ Recover Tool XYZ
XY Recover tool xy
Z Recover tool z
Gripper Recover gripper location

Table 18. iRCalibration TCP Shift UTOOL Schedule Item Description

ITEM DESCRIPTION

Auto Update

Default: TRUE

This item indicates whether iRCalibration TCP Shift's UTOOL END instruction will update the corresponding $mnutool or not. If you set Auto Update to TRUE and run the TCP calibration program, the $mnutool will be updated based on the offset.

Store Offset

Default: FALSE

This item indicates whether or not iRCalibration TCP Shift's UTOOL END instruction will update the position register with the TCP offset.

Tool Z Offset

Units: mm

Range: – 500.000– 500.000

Default: 0

This item is the distance from the point of the tooling that contacts the plate to the actual TCP. This is used when XYZWPR mode is chosen to adjust the XYZ correction at the TCP properly when there is a tool Z change. For spot welding and other applications where the contact point is the actual TCP location, this value should be zero. For Waterjet, arc welding, and other applications where the contact point is above the TCP at the time of contact, this value should be set to the distance from the contact point to the actual TCP.

Max. XYZ Offset

Units: mm

Range: 0.1 — 1000

Default: 30.0

This item is the distance in mm from the previous TCP to the new TCP for a single correction. If a single correction is larger than the max. XYZ offset, an error message will be posted. If the out DOUT port is not zero, iRCalibration TCP Shift will also set the port to ON.

Max. Orent Offset

Units: deg

Range: 0.01 — –20

Default: 5.0

This item is the orientation change in degrees from the previous TCP to the new TCP for a single correction. If a single correction is larger than the max. orientation offset, an error will be posted.

Max. Alignment Offset

Units: mm

Range: 0 — 500

Default: 10

This item is the maximum alignment change allowed in mm from the previous TCP to the new TCP. If the alignment change is greater than the alignment offset, an error will be posted. This item is in effect when the XYZ-Align calibration mode is selected.

Deviation Register

Range: 0 — 999

Default: 0

This item indicates the register number where iRCalibration TCP Shift will update with the change between the previous TCP and the new TCP. If this item is 0, no update is performed.

Accum. Register

Range: 0 — 999

Default:

This item is the change between the new TCP and the original mastered TCP. If this item is not 0, iRCalibration TCP Shift will update the register with the accumulated deviation value.

Accumulated Error Enable

Default: FALSE

If this item is TRUE, iRCalibration TCP Shift will check the accumulated deviation against the accumulated error threshold. If the deviation is greater than 0, an error will be posted.

Accumulated Offset Threshold

Default: 25

Min = 0

Max = 500mm

When the Accumulated Offset Threshold is exceeded and the function is enabled, iRCalibration TCP Shift will post and ACAL-060, Excessive Accumulated Offset warning.


Table 19.  iRCalibration TCP Shift Detection Schedule Description

ITEM DESCRIPTION

Sensor Type

Values: TOS Wrist, I/O, TOS ALL AXES

Default: TOS ALL AXES

This item indicates the kind of sensor used for contact detection. The three modes are:
  • TOS Wrist (Torque Observer Sensor on Wrist) - the contact torque will be monitored, and only the observed torque on the wrist will be used to determine the contact position. When TOS Wrist is selected, no I/O connection is required for contact detection.

    TOS Wrist is very sensitive and can be more prone to false detections in certain cases than the more robust TOS All Axes method. TOS Wrist is not recommended except for special cases where it can verified that false detections will not occur.

  • I/O - the specified I/O will be monitored and only the state of this input will be used to determine the contact position. Use the detection port for contact detection with I/O. Refer to Detection Port item in this table for more information.

  • TOS ALL AXES (Torque Observer Sensor, All Axes) - The contact torque will be monitored on all robot axes, and only the observed torque will be used to determine the contact position.

    This is the default value. When TOS ALL AXES is selected, no I/O connection is required for contact detection.

Detection Port

Values: RI, DI, WDI, WSI

Note: AIN is not supported in iRCalibration TCP Shift.

This item indicates the desired input port type. The port types are:
  • RI - Robot Digital Input

  • DI - normal Digital Input

  • WDI - Weld Digital Input

  • WSI - Wire Stick circuit Input.

The port type that you specify is followed by the desired port number that will go from OFF to ON when contact is detected. The WDI and WSI ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. You do not need to set this up if you selected TOS Wrist or TOS All Axes as the Sensor Type.

Sensor Enable

Values: RO, DOUT, WDO, or WSO

Default: DOUT

This item indicates the I/O sensor enable digital output port type. The port types are:
  • RO - Robot Digital Output

  • DOUT - normal Digital Output

  • WDO - Weld Digital Output

  • WSO - Wire Stick circuit Output.

    The port type that you specify is followed by the desired port number that will be used to enable the I/O detection circuit. The WDO and WSO ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. Set the port number to 0 (zero) if you are not using this feature.

Detection Speed

Units: mm/sec

Range: 1.0 - 100

Default: 10

This item is the search speed for contact detection. This speed is used for both TOS and I/O searches. The value can be increased if cycle time is of great concern (although increasing the speed will also affect the resultant accuracy and repeatability) , or reduced if vibration or other disturbances cause iRCalibration TCP Shift to retry excessively.

Detection Distance

Units: mm

Range: 1 - 1000

Default: 50

This item is the maximum distance that the robot will move while looking for the signal.

Return Speed

Units: mm/sec

Range: 5 - 5000

Default: 50

This item is the search return speed. This speed is used for both TOS and I/O searches.

Return to Start

Default: TRUE

When this item is set to YES, the robot will move back to the position before it starts the search motion.

When this item is set to NO, the robot will move back to a distance specified by the next item (Return distance)

Return Distance

Units: mm

Range: 1 - 1000

Default: 50

When return to start is set to FALSE, the robot will move back to the distance specified. This function applies to DETECT POINT instructions only.

Return term type

Default: FINE

This item is the termination type for return motion.

Air Cut Speed

Units: mm/sec

Range: 1 - 1000

Default: 100

This item is the non-search motion speed.

Learn Distance

Units: mm

Range: 0.5– 20.0

Default: 5.0

For “TOS All Axes” method only, there is a short motion before each search to identify dynamic torque values. Learn Distance is the distance in millimeters of this short motion, the direction is determined at the time of the motion.

Learn Speed

Units: mm/sec

Range: 0.5 – 50.0

Default: 10.0

For “TOS All Axes” method only, this is the speed of the learning motion before each search.

Sensitivity

Units: max. motor torque/sec.

Range: 1 - 999

Default: 10

This item is the primary sensitivity tolerance of TOS Wrist and is not used for TOS All-Axes. It is the rate of change of the disturbance torque. The actual units vary with motor model, gear ratio, and amplifier current, and are affected by tooling length. However, the effect for calibration is largely independent of these factors and a value of 10 is considered normal operation for typical installations. You should not use a value of less than 10 or false detections might occur. This value can be increased if false detections occur frequently.

Warning

Be careful when you change this number. Changing the sensitivity might cause a false detection. This could injure personnel or damage equipment.

Torque Threshold

Units: max. motor torque

Range: 1 to 999

Default: 100

For TOS All Axes , this item is the only measure of contact detection. During the learning motion a torque level is memorized and that level plus Torque Threshold must be exceeded for contact to be determined. If false detections are being experienced then this value should be increased.

For TOS Wrist , this item is the level of disturbance torque that is used as another means for contact detection. The default value of 100 is considered normal operation for typical installations. If increasing the value of Sensitivity does not make false detections disappear, then this value should be increased until the false detections disappear; then, reset the value of Sensitivity .

Fit Tolerance

Units: mm

Range: 0.1 - 100

Default: 1.0

For Detect Circle instruction: The robot detects 4 points inside the circle and the calibration software will fit a circle to the 4 detected positions. The fit error is defined as the maximum distance from the 4 points to the circle.

If the fitting error exceeds the tolerance, the calibration software will post an error.

Radius Tolerance

Units: mm

Range: 0.1— 100

Default: 1.0

The Detect Circle instruction stores the circle's radius during mastering. At run time, if the computed circle radius differs from the stored radius value and difference exceeds the tolerance, the calibration software will post an error.

Number of Retry

Range: 0 - 9

Default: 0

If the number of retry is >0, the calibration software will re-run the detect circle instruction if the current circle detection has either a fit error or a radius error.

Contact Position Register

Range 0-100

Default 0

If the number is non-zero. iRCalibration TCP Shift records the contact position to the specified position register.


Table 20.  New TCP Program Points

Position Description
Circle Approach This position must be located such that the robot can move to both Center Position 1 and Approach position 2 without collision. Also, the wrist must be able to rotate freely at this location without collision.
Center Position 1 Center Position 1 must be located on the side of the touch plate that is consistent with the“Plate Direction” setup value. This position should be taught centered over the touch plate circle and about one inch above the plate.
Center Position 2 This position is for XYZWPR recovery only. It should be taught inside the hole of the touch plate.
Plate Position The plate position should be taught above the plate and outside of the hole of the touch plate so the TCP will touch the plate when robot is moving in the plate direction.

Table 21.  iRCalibration TCP Shift Fit Errors

Try This

Description

Verify that the tool is rigid.

Worn or damaged tooling components can cause variation in tool repeatability and can cause fit errors.

Verify the payload setting.

If the reference position is at an extreme position, improper payload settings can cause increased robot vibration, which affects iRCalibration TCP Shift repeatability.

Check for a loose touch plate. *

If the touch plate becomes loosened due to improper installation, iRCalibration TCP Shift repeatability will be affected.

Reduce motion speed. *

Under certain conditions, the default motion speed can cause too much vibration. For best performance, iRCalibration TCP Shift uses increased acceleration values. Try lowering the motion speed from the default 100mm/sec to 25 or 50mm/sec.

Reduce search speed. *

Under certain conditions, the default motion speed can cause too much vibration. For best performance, iRCalibration TCP Shift uses increased acceleration values. Try lowering the search speed from the default 10mm/sec to 5mm/sec.

Increase the retry count. *

iRCalibration TCP Shift has significant safeguards against getting incorrect TCP corrections. You can increase the retry count from the default of 0 to either 3 or 4 to reduce the occurrence of iRCalibration TCP Shift fit errors.

Increase the radius tolerance. *

The default radius tolerance of 1.0 mm may not be large enough to allow for the normal variation of some tooling. You can try increasing the radius tolerance from 1.0 mm to 1.5 mm or more as your application allows.

Increase the fit tolerance.*

Most iRCalibration TCP Shift errors are detected by radius tolerance, but if increasing the radius tolerance does not resolve the problem, you can increase the fit tolerance from 1.0 mm to 1.5mm or more as your application allows.

If you are using TOS Wrist, increase the sensitivity value. *

Normally, the default value of 10 is adequate; however, you can increase this value to either 15 or 20.

If you are using TOS All Axis, increase the torque threshold. *

Normally, the default value of 100 is adequate. However, if the sensitivity tolerance increases have no effect, you can increase this value to 150.

Check for poor electrical continuity

If the I/O method is used, and if it relies on electrical continuity, then dirty contact surfaces on either the tool or the calibration plate will result in increased fit errors.


6. IRCALIBRATION FRAME SHIFT

Table 22.  Frame Schedule Detail Schedule Setup

ITEM DESCRIPTION

Auto Update

Value: TRUE

This item indicates whether the iRCalibration Frame Shift FIND END instruction will update the corresponding $mnuframe or not. If you set Auto Update to TRUE and run the iRCalibration Frame Shift teach pendant program, the current $mnuframe will be updated based on the offset.

Store Offset

Value: TRUE or FALSE

Default: FALSE

This item stores the cell calibration offset to a specific position register.

in PR[0]

If this is non-zero and "Store Offset" is TRUE, then the UFrame offset is stored in the specified position register.

Max XYZ Offset:

Min: 0.01 mm

Max: 100 mm

Default: 2.0 mm

This item indicates the tolerance for any detection point shifting. If the distance between the nominal (reference) detection point and the newly detected point is larger than this value, iRCalibration Frame Shift will post a warning message.

Report on DOUT[0]:

If this is non-zero and iRCalibration Frame Shift detects an error then this output port will be pulsed high for 500 milliseconds.

Fit Error Register.

If this item is non-zero then iRCalibration Frame Shift will store the mean fit error of the detection points in this register. This value is the average deviation from nominal in the search direction of each detection point after the offset is applied

Max Orient Change:

Min: 0.01 degrees

Max: 10 degrees

Default: 2.0 degrees

This item indicates the maximum tolerance for orientation changes. If the orientation of the frame exceeds this tolerance, iRCalibration Frame Shift will post a warning message.

Mean Error Register

Range: 0 — 999

Default: 0

If the register number is greater than 0, iRCalibration Frame Shift writes the mean error to this register.

Max. Error Register

Range: 0 — 999

Default: 0

If this item is greater than 0, iRCalibration Frame Shift writes the computed maximum error to this register.

Max Dev Register:

If this item is non-zero, iRCalibration Frame Shift will store the maximum deviation in this register. This is the distance between any of the nominal (reference) detection points and the corresponding newly detected point before the offset is applied.

CD Pair Number:

Range: 0-4

This item is only used in conjunction with the Coordinated Motion option. If this item is non-zero, iRCalibration Frame Shift will update the leader frame associated with the specified CD Pair Number.

Dynamic-UFrame must be enabled and an active follower UFrame must be set. The Dynamic-UFrame feature of Coordinated Motion can be enabled by setting the system variable $CD_PARAM.$DYN_UFRAME=TRUE. The default is FALSE.

Once Dynamic-UFrame is enabled, and a CD-Pair leader group and follower group are selected a menu item appears on the Coordinated Motion Setup menu:, "Follower UFrame Number". This value determines the active dynamic UFrame for the CD pair. By default, this dynamic UFrame is relative to the Leader Frame associated with the CD Pair. Refer to the Coordinated Motion Setup and Operations manual for more information.


Table 23.  iRCalibration Frame Shift Detection Schedule Description

ITEM DESCRIPTION

Sensor Type

Values: TOS Wrist, I/O, TOS ALL AXES

Default: TOS ALL AXES

This item indicates the kind of sensor used for contact detection. The modes are:

  • TOS Wrist (Torque Observer Sensor on Wrist) - the contact torque will be monitored, and only the observed torque on the wrist will be used to determine the contact position. When TOS Wrist is selected, no I/O connection is required for contact detection.

    TOS Wrist is very sensitive and can be more prone to false detections in certain cases than the more robust TOS All Axes method. TOS Wrist is not recommended except for special cases where it can verified that false detections will not occur.

  • I/O — the specified I/O will be monitored and only the state of this input will be used to determine the contact position. Use the detection port for contact detection with I/O. Refer to Detection Port item in this table for more information.

  • TOS ALL AXES (Torque Observer Sensor, All Axes) - The contact torque will be monitored on all robot axes, and only the observed torque will be used to determine the contact position.

    This is the default value. When TOS ALL AXES is selected, no I/O connection is required for contact detection.

Detection Port

Values: RDI, DI, WDI, WSI, AIN

This item indicates the desired input port type. The port type that you specify is followed by the desired port number that will go from OFF to ON when contact is detected. The WDI and WSI ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. You do not need to set this up if you selected TOS Wrist or TOS All Axes as the Sensor Type.

The port types are:

  • RDI — Robot Digital Input

  • DI - normal Digital Input

  • WDI - Weld Digital Input

  • WSI - Wire Stick circuit Input.

  • AIN - Analog Input. To enable analog sensor support, you must have a data file that resides in the FRS: directory before running iRCalibration Frame Shift. The data file has a fixed name: cb_ainX,dt, where X is a digit from 1 to 9.

    Set the port number to be the same as AinPortNumber setting in the data file. Refer to the Preliminary Setup section for more information.

Sensor Enable

Values: RDO, DOUT, WDO, or WSO

Default: RDO

This item indicates the I/O sensor enable digital output port type. The port types are:
  • RDO - Robot Digital Output

  • DOUT - normal Digital Output

  • WDO - Weld Digital Output

  • WSO - Wire Stick circuit Output.

    The port type that you specify is followed by the desired port number that will be used to enable the I/O detection circuit. The WDO and WSO ports are typically used for arc welding. You will set this item up if you selected I/O as the Sensor Type. Set the port number to 0 (zero) if you are not using this feature.

Detection Speed

Units: mm/sec

Range: 1.0 - 100

Default: 10

This item is the search speed for contact detection. This speed is used for both TOS and I/O searches. The value can be increased if cycle time is of great concern (although increasing the speed will also affect the resultant accuracy and repeatability) , or reduced if vibration or other disturbances cause iRCalibration Frame Shift to retry excessively.

Detection Distance

Units: mm

Range: 1 - 1000

Default: 50

This item is the maximum distance that the robot will move while looking for the signal. If no contact is detected within the distance, an error will be posted.

Return Speed

Units: mm/sec

Range: 5 - 5000

Default: 50

This item is the search return speed. This speed is used for both TOS and I/O searches.

Return to Start

Default: Yes

When this item is set to YES, the robot will move back to the position before it starts the search motion. This item applies to DETECT POINT instructions only.

When this item is set to NO, the robot will move back to a distance specified by the next item (Return distance)

Return Distance

Units: mm

Range: 1 - 1000

Default: 50

When return to start is set to FALSE, the robot will move back to the distance specified.

Return term type

Default: FINE

This item is the termination type for return motion.

Air Cut Speed

Units: mm/sec

Range: 1 - 1000

Default: 100

This item is the non-search motion speed.

Learn Distance

Units: mm

Range: 0.5– 20.0

Default: 5.0

For “TOS All Axes” method only, there is a short motion before each search to identify dynamic torque values. Learn Distance is the distance in millimeters of this short motion, the direction is determined at the time of the motion.

Learn Speed

Units: mm/sec

Range: 0.5 – 50.0

Default: 10.0

For “TOS All Axes” method only, this is the speed of the learning motion before each search.

Sensitivity Tolerance

Units: max. motor torque/sec.

Range: 1 - 999

Default: 10

This item is the primary sensitivity tolerance of TOS Wrist and is not used for TOS All-Axes. It is the rate of change of the disturbance torque. The actual units vary with motor model, gear ratio, and amplifier current, and are affected by tooling length. However, the effect for calibration is largely independent of these factors and a value of 10 is considered normal operation for typical installations. You should not use a value of less than 10 or misdetections might occur. This value can be increased if false detections occur frequently.

Warning

Be careful when you change this number. Changing the sensitivity tolerance might cause a false detection. This could injure personnel or damage equipment.

Torque Threshold

Units: max. motor torque

Range: 1 to 999

Default: 100

For TOS All Axes, this item is the only measure of contact detection. During the learning motion a torque level is memorized and that level plus Torque Threshold must be exceeded for contact to be determined. If false detections are being experienced then this value should be increased.

For TOS Wrist, this item is the level of disturbance torque that is used as another means for contact detection. The default value of 100 is considered normal operation for typical installations. If increasing the value of Sensitivity Tolerance does not make false detections disappear, then this value should be increased until the false detections disappear; then, reset the value of Sensitivity Tolerance .

Fit Tolerance

Units: mm

Range: 0.1 - 100

Default: 0.5

For Detect Circle instruction: The robot detects 4 points inside the circle and the calibration software will fit a circle to the 4 detected positions. The fit error is defined as the maximum distance from the 4 points to the circle.

If the fitting error exceeds the tolerance, the calibration software will post an error.

Radius Tolerance

Units: mm

Range: 0.1— 100

Default: 0.5

The Detect Circle instruction stores the circle's radius during mastering. At run time, if the computed circle radius differs from the stored radius value and difference exceeds the tolerance, the calibration software will post an error.

Number or Retry

Range: 0 — 9

Default:

If the number of retry is >0, the calibration software will re-run the detect circle instruction if the current circle detection has either a fit error or a radius error.

Contact Position Register

If the position register number is any number other than 0, iRCalibration Frame Shift will copy the contact position to the position register.


Table 24.  Troubleshooting iRCalibration Frame Shift

Error Cause Remedy

Robot does not make contact with the part.

Search starts too far from part.

  • Increase the search distance if the robot is moving along a correct search direction

  • Re-teach the search start position so it is closer to the part

Search direction is not correct.

  • Change the search direction in the FIND instruction to make sure the robot is moving to approach the part

  • Re-orient the tool so a TOOL search is in the right direction

Excessive vibration when robot is returning from the contact position back to the search start position.

Motion speed is too high.

  • Reduce the return speed.

Frame correction is inconsistent from search to search (menu or automatic).

Search points too close.

Make sure that search points with the same search direction are far apart from each other.

Irregular part or part with changing dimensions.

  • Use more search points

  • Search part from opposing sides if possible

  • Make sure contact surface is as smooth as possible in the vicinity of the contact point

  • Make sure that the same surface is contacted that was contacted when mastering was done

Frame correction is inconsistent from search to search (Menu operation).

Convergence tolerance is too high

Lower the convergence tolerance, be sure to allow for part deviation if applicable.

Frame correction is inconsistent from search to search (automatic program operation)

Search iteration is not done.

  • Call CELLFIND multiple times

  • Use register defined in schedule to check for convergence tolerance and repeat CELLFIND call until register value is within tolerance

Program master had one or more bad searches.

  • Make sure during mastering that good contact is made with the proper surface

  • Make sure no false detections occurred during mastering

TCP has changed since program master was done.

  • Highly recommend that TCPMate is used in conjunction with iRCalibration Frame Shift to ensure TCP is properly corrected

  • Run TCPMate before running iRCalibration Frame Shift

  • Make sure TCPMate is mastered before or at the same time iRCalibration Frame Shift is mastered.

Contact surfaces have changed dimensions since program mastering.

  • Increase convergence tolerance

  • Choose contact surfaces that do not change dimension with respect to each other

  • Use more search points and include opposing surfaces


7. IRCALIBRATION SIGNATURE

Table 25. STATUS iRCALIBRATION SIGNATURE

ITEM

DESCRIPTION

Group Number

This item displays the current group number, and the user can use the F4, GROUP, key to change to another group for a controller with multiple groups.

Signature Calibrated

This item displays whether this robot has been calibrated or not.

Secondary Encoder

This item displays the status of the secondary encoder for the current group. It has two states: Inactive or Active. If the secondary encoder is enabled and active, the status will show Active. Otherwise, it shows Inactive.

High Accuracy Mode

This item displays the iRCaliabration Signature High Accuracy Mode. If a program is running in High Accuracy Mode, the status should show Active. Otherwise, the High Accuracy Mode shows Inactive.