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