Hand-Eye Calibration

The In-Sight vision system acquires images that contain information about the part pose and alignment in pixel coordinates. To convert pixel data into accurate robot arm motion coordinate data, you have to perform hand-eye calibration. Use a VGRDefine* (VGRDefinePart, VGRDefinePartAdvanced, or VGRDefineMultiFeaturePart) function to define a PartID and a CalibID. The calibration process uses the PartID specified by the command, and the CalibID tied to the PartID in VGRDefine*. The Z direction working distance must be the same between the vision system and the part for every image acquisition.

Robot-Mounted Camera

When using a robot-mounted camera, you need to place the part used for hand-eye calibration onto a plane where the part is loaded at run-time. If you have a robot-mounted vision system, you can perform hand-eye calibration by moving the robot arm step by step along the X and Y axes in addition to various amounts of rotation along the Z axis of the motion system, and recording the data in each position. When the camera moves to the left, the location of the fiducial marker on the image shifts to the right.

Stationary Camera

If you have a stationary vision system, you can perform the same procedure by moving the training part step by step along the X and Y axes in addition to various amounts of rotation along the Z axis of the motion system. The robot moves the part used for hand-eye calibration while keeping the height close to the one at run-time. In this case, when the part is moved to the left, the detected fiducial location shifts to the left.

Make sure that the field of view always contains the fiducial marker on the training part, so that In-Sight can identify each pose of the moving vision system or part based on the feature finding tool results.

At the end of the hand-eye calibration process, In-Sight estimates the pose of the vision system within the coordinate space of the motion system, and generates a transformation matrix from the image coordinate space in pixels to the motion system coordinate space in physical length units.