CELLCAL


CELLCAL

1. OVERVIEW

iRCalibration Frame Set, formerly CellCal, is a calibration option that compensates for frame changes by establishing a MASTER frame that runs a frame search teach pendant program. After the frame is changed, iRCalibration Frame Set runs the same frame search teach pendant program again and computes the frame offset.

2. DETECTION SCHEDULE SETUP

Before you can use iRCalibration Frame Set, you must perform some setup procedures. Setup involves the initial setting of menu options within iRCalibration Frame Set software.

Table 1.  iRCalibration Frame 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 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 Set. 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 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 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 Set will copy the contact position to the position register.


3. UFRAME CALIBRATION SCHEDULE SETUP

Table 2.  Frame Schedule Detail Schedule Setup

ITEM DESCRIPTION

Auto Update

Value: TRUE

This item indicates whether the iRCalibration Frame Set FIND END instruction will update the corresponding $mnuframe or not. If you set Auto Update to TRUE and run the iRCalibration Frame Set 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 Set will post a warning message.

Report on DOUT[0]:

If this is non-zero and iRCalibration Frame Set 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 Set 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 Set will post a warning message.

Mean Error Register

Range: 0 — 999

Default: 0

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

Max. Error Register

Range: 0 — 999

Default: 0

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

Max Dev Register:

If this item is non-zero, iRCalibration Frame Set 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 Set 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.


4. FRAME CALIBRATION TEACH PENDANT PROGRAM GUIDELINES

Be familiar with the following guidelines as you create the frame search teach pendant program.

  • The contact surface should be relatively flat.

  • The search direction must be approximately perpendicular to the contact surface.

  • The robot will return to the starting point (or as specified by “return distance” in the detection schedule) after each search.

  • Multiple searches (in different directions) can be done at the same starting point as long as the search direction is approximately perpendicular to the contact surface.

  • If the contact surface is not approximately perpendicular to a UFRAME or WORLD axis then search frame must be TOOL. You must orient the tool so that one of the TOOL axes is perpendicular to the contact surface.

  • The first circle defines the origin of the user frame. The second circle defines the X direction of the user frame and the third circle defines the Y axis of the user frame.

  • The UFRAME cannot be changed in the calibration program.

  • The order that you teach the points is important. The order defines where the origin point is.

5. TROUBLESHOOTING CELLCAL

Table 3.  Troubleshooting iRCalibration Frame Set

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 Set to ensure TCP is properly corrected

  • Run TCPMate before running iRCalibration Frame Set

  • Make sure TCPMate is mastered before or at the same time iRCalibration Frame Set 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