Calibration GUI

This section describes the GUI used for calibration.

Creating a New Calibration

To create a new calibration, click the [New calibration] button on the Vision Guide toolbar.
The following dialog box will be displayed and the calibration wizard will start.

Enter the name for the new calibration. You can copy an existing calibration to specify the [Copy from existing calibration] after selecting the camera you will be calibrating.
After entering the calibration name, you can click the [Finish] button on any screen to exit the wizard. In this case, refer to “ Calibration Properties and Results” and set required properties. You can also click the [Back] button to revise the previous settings.
Click the [Next] button to move on to the next step.
If the name already exists for another calibration, an error message will be displayed.
Follow the instructions for each step to complete the wizard. Settings vary depending on the position or direction of camera. For details of the settings, refer to Calibration Procedures.
After completing the wizard, the calibration configured in the wizard will be added to the calibration tree. When the calibration is selected in the tree, the properties and results of calibration are displayed. The items configured in the wizard can be changed in the property panel anytime.

Deleting a Calibration

To delete a calibration, click the [Delete calibration] button on the Vision Guide toolbar.
The following dialog box will be displayed:

Select the calibration you want to delete and click the [Delete] button.

Calibration Properties and Results

Settings configured in the calibration wizard are reflected to the calibration properties. After creating a calibration, you can change the calibration properties in the calibration window on the Vision Guide window.

Property Description
ApproachPoint This property sets an approach point that is the start point of the robot for moving to each camera point in the calibration.
AutoCamPoints This property enables the automatic camera point generation.
AutoReference This property specifies whether to calculate the calibration reference point automatically when calibrating the mobile camera.
AutoRefFinalRotation Sets the final angle of rotation for the tool when automatically calculating the reference point.
AutoRefInitRotation Sets the initial angle of rotation for the arm and tool when automatically calculating the reference point.
AutoRefMode

This property specifies the auto calculate mode of the reference point as Rough, Fine, or Manual.

Use Fine to move the arm largely and calculate at higher accuracy. Use Manual to manually enter the angle of rotation and tolerance values.

AutoRefMoveMode Specifies the movement mode to use when automatically calculating the calibration reference point (6-Axis robots only).
AutoRefTolerance Sets the degree of tolerance for vision detection deviation when automatically calculating the reference point.
Camera Specifies the camera for the currently selected calibration.
CameraOrientation

Specifies camera orientation.

The choices are as follows:

Mobile J2.

The camera is mounted to Joint #2 on SCARA or Cartesian robots.

Mobile J4.

The camera is mounted to Joint #4 on SCARA or Cartesian robots.

Mobile J5.

The camera is mounted to Joint #5 on 6-Axis robots.

Mobile J6.

The camera is mounted to Joint #6 on 6-Axis robots.

Fixed downward.

The camera does not move and reports coordinates in the robot coordinate system.

Fixed upward.

The camera does not move and reports coordinates in the robot coordinate system.

Standalone.

The camera does not move and does not report coordinates in the robot coordinate system. It reports coordinates in the camera coordinate system.

DistCorrectCal This property executes correction of lens distortion and camera tilt.
DistCorrectEnable This property enables/disables correction of lens distortion and camera tilt.
DistCorrectTargetSeq

This property specifies a vision sequence to be used for correction of lens distortion and camera tilt.

Any sequence in the current project can be used.

DistCorrectType This property sets the type of distortion correction to be used.
Lamp This is an optional output channel that will be turned ON automatically when calibration is started.
LampDelay

This is the amount of delay (in seconds) before a lamp is turned ON.

This allows for time required to turn ON fluorescent lamps.

LJMMode Sets a mode to control the posture flag for point data.
MaxMoveDist Specifies a limit of move distance for the arm end.
MotionDelay This is the amount of delay (in milliseconds) after each robot motion during the calibration cycle.
PointsTaught This property defines whether calibration points have been taught.
ReferenceType

This property specifies the type of reference point used for calibration.

There are two types of reference points for mobile camera calibrations: Taught and fixed upward camera.

RobotArm

This property specifies the arm number to use during calibration.

Normally, this is set to zero.

RobotAccel This is the acceleration that will be used during calibration.
RobotLimZ This property specifies the LimZ value for the first motion command during a Scara mobile calibration cycle.
RobotLocal

This property specifies the local number to use for the current calibration.

The local used must be previously defined.

RobotNumber This property specifies the robot number to use for the current calibration.
RobotSpeed

This property specifies the speed that the robot will move during calibration.

For higher speeds, you will need to set higher accelerations.

RobotTool

This property specifies the tool number to use during calibration.

The tool number used must be previously defined.

RobotXOffset This property sets the offset value for the X coordinate position of the detected part in the robot coordinate system.
RobotYOffset This property sets the offset value for the Y coordinate position of the detected part in the robot coordinate system.
RobotXYRotateOffset This property sets whether to rotate the offsets specified by the RobotXOffset and RobotYOffset properties according to the Angle result.
RobotUOffset This property sets the offset value for the U coordinate position of the detected part in the robot coordinate system.
ShowConfirmation This property sets whether to show the calibration results dialog box for acceptance by the operator at runtime.
TargetSequence

This property specifies which vision sequence to use for calibration.

This sequence can be any sequence in the current project.

TwoRefPoints This property specifies whether to use two reference points in the calibration.
UpwardLamp This is an optional output channel that will be turned ON automatically when the fixed upward camera sequence is run.
UpwardSequence

This property specifies which vision sequence to use for the fixed upward camera.

This list is only active for mobile calibrations that use an upward camera for the reference point.

Result Description
CalComplete The completion status of a calibration.
CalImageSize The size of the image when the calibration was executed.
DistCorrectCalComplete The status whether correction of lens distortion and camera tilt is completed
FOVHeight The height of the field of view. (unit: millimeters)
FOVWidth The width of the field of view. (unit: millimeters)
XAvgError The average calibration error along the camera X axis.
XMaxError The maximum calibration error along the X axis.
XmmPerPixel The X millimeters / pixel value.
XTilt The calibration X tilt result.
YAvgError The average calibration error along the camera Y axis.
YMaxError The maximum calibration error along the Y axis.
YmmPerPixel The Y millimeters / pixel value.
YTilt The calibration Y tilt result.

Distortion Detection

To perform the distortion correction, detect distortion by manipulating the calibration properties. Distortion detection needs to be performed before executing the point teaching for other vision calibrations.
The steps to detect distortion are as below. When the distortion correction is configured in the calibration wizard, you can skip the step 1.

  1. Set [Enabled] under the DistCorrect property to “True” and select a sequence for detecting a square grid pattern for the TargetSeq property.
    For how to create a sequence, see the following.
    Creating Vision Sequences for Calibration
  2. Select the Cal property under the DistCorrect property and execute detection for a square grid pattern.
    You can check the distortion corrected image by specifying the calibration for which the distortion detection was performed to “Calibration” of the vision sequence and then executing the sequence.

    Example of image after correcting lens distortion and camera tilt

Point teaching

The [Teach Points] button appears by selecting a calibration in the sequence or calibration tree on Vision Guide window.
Clicking the [Teach Points] button changes the Vision Guide window to the [Teach Calibration Points] mode where you can teach points for the currently selected calibration.
The [Teach Calibration Points] window is used to teach calibration points for the currently selected calibration scheme.
The points to teach vary depending on settings of the calibrations.
The point teaching panel appears as necessary according to settings of the calibration. Follow the descriptions on the screen to jog the robot and teach points.


[Teach Calibration Points] dialog box

An image is displayed on the left side of the window. Clicking the [Jog] tab at the right end opens the Jog window.
At the bottom of the display is a message box that displays instructions. After performing the required instruction, click the [Next] button located to the right of the message box to continue to the next step.
When all steps have been completed, a message box will appear indicating you are finished.
The instructions displayed vary for the types of calibration you are teaching points for.

Instruction Description
Jog to fixed reference

This instruction is required for mobile camera calibration that is using a taught point for the reference

(as opposed to using a fixed upward camera to automatically search for the reference point).

Jog the robot until the end effector is lined up with the calibration target.

Jog to fixed reference at 180° This is an optional step. Set the TwoRefPoints property to True before teaching points to enable this feature. If you are using a calibration tool that has been accurately defined, you can leave TwoRefPoints set to False. If you are not using a calibration tool, then set TwoRefPoints to True. You will be prompted jog the robot 180o from the current position and line up the end effector with the calibration target.
Jog to top left camera position Jog the robot until the calibration target is in the upper left corner of the vision display area.
Jog to top center camera position Jog the robot until the calibration target is in the top center of the vision display area.
Jog to top right camera position Jog the robot until the calibration target is in the upper right corner of the vision display area.
Jog to center right camera position Jog the robot until the calibration target is in the center of the right side of the vision display area.
Jog to center camera position Jog the robot until the calibration target is in the center of the vision display area.
Jog to center left camera position Jog the robot until the calibration target is in the center of the left side of the vision display area.
Jog to bottom left camera position Jog the robot until the calibration target is in the lower left corner of the vision display area.
Jog to bottom center camera position Jog the robot until the calibration target is in the bottom center of the vision display area.
Jog to bottom right camera position Jog the robot until the calibration target is in the lower right corner of the vision display area.

Teaching Calibration Points

The [Calibrate] button appears by selecting a calibration in the sequence or calibration tree. Click the [Calibrate] button to start the calibration. A confirmation message is displayed before the operation starts if the robot will be moved.

Calibration Complete Dialog Box

The dialog box as shown below appears after a calibration cycle has been completed.
This dialog box shows a summary of calibration values for the current calibration and the previous calibration.
If this is the first calibration, then the previous calibration values will be blank.


Calibration Status dialog box that appears after Calibration is complete

The table below describes the values displayed for the [Calibration Complete] dialog box.
After examining the results, click [OK] button to use the new calibration values, or [Cancel] button to abort.

Tips: If there is an error of more than 1 mm or a tilt value is larger than 1, it can indicate that the calibration has not been completed properly. Check that the calibration point is detected correctly during the calibration cycle, and check if the robot calibration points and the reference point are out of alignment at calibration. To disable this dialog box at runtime, set the ShowConfirmation property to “False”.

Note: When telecentric lenses are used, abnormal tilt values may be displayed.

Value Description
X mm per pixel, Y mm per pixel This is the resolution of the camera. The average width and height for one pixel.

Max X error

Max Y error

This is the maximum error that occurred during calibration verification.

These values should be below the millimeter per pixel values. If they are not, the cause could be that the reference point(s) was not taught properly, or that the vision system is not locating the calibration target consistently, due to improper teaching or lighting.

Avg X error, Avg Y error This is the average error that occurred during calibration verification.
X tilt, Y tilt

These values are relative indicators of camera tilt.

The directions are as viewed from the camera in the image buffer coordinate system (plus x is right and plus y is down). For X tilt, a plus value indicates tilt to the right, minus is tilt to the left. For Y tilt, a plus value indicates tilt down, minus indicates tilt up.

Vision Guide 8.0 compensates for camera tilt. However, it is recommended that you keep the tilt values below 1.0. This will help the vision system to find parts more accurately and repeatedly, depending on the application.

Sometimes a high tilt value is caused by bad reference points. For example, if you are calibrating a standalone camera, which requires that you type in the coordinates of the calibration targets, inaccurate target location values could cause higher tilt values.

FOV This is the width and height of the camera's Field of View in millimeters.