Table of Contents

Method CalibrateHandEye

Namespace
OpenCvSharp
Assembly
OpenCvSharp.dll

CalibrateHandEye(IEnumerable<Mat>, IEnumerable<Mat>, IEnumerable<Mat>, IEnumerable<Mat>, OutputArray, OutputArray, HandEyeCalibrationMethod)

Computes Hand-Eye calibration.

The function performs the Hand-Eye calibration using various methods. One approach consists in estimating the rotation then the translation(separable solutions) and the following methods are implemented:

  • R.Tsai, R.Lenz A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/EyeCalibration \cite Tsai89
  • F.Park, B.Martin Robot Sensor Calibration: Solving AX = XB on the Euclidean Group \cite Park94
  • R.Horaud, F.Dornaika Hand-Eye Calibration \cite Horaud95

Another approach consists in estimating simultaneously the rotation and the translation(simultaneous solutions), with the following implemented method:

  • N.Andreff, R.Horaud, B.Espiau On-line Hand-Eye Calibration \cite Andreff99
  • K.Daniilidis Hand-Eye Calibration Using Dual Quaternions \cite Daniilidis98
[SuppressMessage("Maintainability", "CA1508: Avoid dead conditional code")]
public static void CalibrateHandEye(IEnumerable<Mat> R_gripper2base, IEnumerable<Mat> t_gripper2base, IEnumerable<Mat> R_target2cam, IEnumerable<Mat> t_target2cam, OutputArray R_cam2gripper, OutputArray t_cam2gripper, HandEyeCalibrationMethod method = HandEyeCalibrationMethod.TSAI)

Parameters

R_gripper2base IEnumerable<Mat>

Rotation part extracted from the homogeneous matrix that transforms a pointexpressed in the gripper frame to the robot base frame that contains the rotation matrices for all the transformationsfrom gripper frame to robot base frame.

t_gripper2base IEnumerable<Mat>

Translation part extracted from the homogeneous matrix that transforms a point expressed in the gripper frame to the robot base frame. This is a vector(vector<Mat>) that contains the translation vectors for all the transformations from gripper frame to robot base frame.

R_target2cam IEnumerable<Mat>

Rotation part extracted from the homogeneous matrix that transforms a point expressed in the target frame to the camera frame. This is a vector(vector<Mat>) that contains the rotation matrices for all the transformations from calibration target frame to camera frame.

t_target2cam IEnumerable<Mat>

Rotation part extracted from the homogeneous matrix that transforms a point expressed in the target frame to the camera frame. This is a vector(vector<Mat>) that contains the translation vectors for all the transformations from calibration target frame to camera frame.

R_cam2gripper OutputArray

Estimated rotation part extracted from the homogeneous matrix that transforms a point expressed in the camera frame to the gripper frame.

t_cam2gripper OutputArray

Estimated translation part extracted from the homogeneous matrix that transforms a point expressed in the camera frame to the gripper frame.

method HandEyeCalibrationMethod

One of the implemented Hand-Eye calibration method