ROBOTCAL


ROBOTCAL

Table 1. 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 2. 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.


Guidelines for Creating a Custom Robot Calibration Program

  • There are seven taught points consisting of:

  1. Approach Position 1 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Orientation position 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.

  • If the starting TCP is all zero, an estimated TCP will be created and applied when the calibration program is created. The seven taught points are also modified to reflect the new estimated TCP. The user must take care that the rotations during program motion do not cause collisions to occur and must insert additional points if needed.

  • If the starting TCP is not all zero, then no estimated TCP is used and all program rotations will occur with respect to the starting TCP. The user must take care that the rotations during program motion do not cause collisions to occur and must insert additional points if needed.

  • The calibration of Axis 1 and Axis 6 require that both the UFrame and UTool be known. If fixturing with known dimensions is used then the user can set UFrame and UTool to be the correct values and disable solving for UFrame and UTool and enable calibration of J1 and J6.

  • If the robot cannot reach a BACK configuration, then the calibration tool dimensions and the location of the touch plate are important. For this case, the calibration tool must be large enough and the touch plate located such that all the axes have significant range of motion (greater than 90 degrees) during the calibration.

  • Careful teaching of the calibration points such that they are centered above the touch plate holes and the with the tool shaft oriented perpendicular to the touch plate surface will improve calibration.

Troubleshooting iRCalibration Mastering

Table 3. 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.