Skip to Main Content
Centre d’assistance Cognex
LogoLogo

In-Sight 3D-L4000 - Hand-Eye Calibration

A guide for performing Hand-Eye calibration on an In-Sight 3D-L4000

15/09/2024

Question

How do I perform a hand-eye calibration with an In-Sight 3D-L4000. I have a fixed part, and a moving camera attached on a robot.

Answer

Calibrate the camera as usual (encoder or constant speed) to get a good resolution for your application.

Take a target with easy to identify reference points (3 is the bare minimum) and do a hand-eye calibration:  

The robot should have a touch probe to record the coordinates of every point in the robot space  

The camera acquires the same reference points (use vision functions to extract the same points of interest). When scanning, make sure the camera trigger moment is fixed. It should always be at the same position to make sure the origin of the camera does not change. If you encounter a drift in the direction of travel, it could come from trigger type.  

Finally, use FixtureFromPointsTo3D(camPoints, robotPoints) function to get the transform from robot space to camera space, or FixtureFromPointsToPoints3D(robotPoints, camPoints) to get the transform from camera space to robot space  (FixtureHandEyeCamToRobot).  

Placeholder

Control the RMS by re-calculating the robot points from the camera points with the fixture Camera to Robot FixureHandEyeCamToRobot previously calculated.  

Placeholder

Do your vision application as usual and get a fixture3D in camera space (Fixture3DVisionApplication).  

Use ComposeFixture3D(FixtureHandEyeCamToRobot, Fixture3DVisionApplication) to get X,Y,Z and RxRyRz. If your Robot uses FixedAxisXYZ convention, you immediately get the Eulerangles with the desired values. If not, conversions are necessary.

Placeholder

See Also:

FixtureFromPointsToPoints3D - In-Sight®3D Help - FixtureFromPointsToPoints3D - Documentation | Cognex

Fixture3D - In-Sight®3D Help - Fixture3D - Documentation | Cognex

 

Loading component...

Ressources connexes