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_gripper2baseIEnumerable<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_gripper2baseIEnumerable<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_target2camIEnumerable<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_target2camIEnumerable<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_cam2gripperOutputArrayEstimated rotation part extracted from the homogeneous matrix that transforms a point expressed in the camera frame to the gripper frame.
t_cam2gripperOutputArrayEstimated translation part extracted from the homogeneous matrix that transforms a point expressed in the camera frame to the gripper frame.
methodHandEyeCalibrationMethodOne of the implemented Hand-Eye calibration method