手眼标定过程记录
============================================================================================
以下四个变量是最重要的数据
rvecs_rb2gripper, tvecs_rb2gripper
rvecs_cam, tvecs_cam
1. 首先排查机械臂末端到底座的旋转平移是否正确
通过查看clopema_certh_ros
1.首先末端到底座的变换,listen的结果居然求逆了。
gripper_to_base.push_back(tr.inverse()) ;
2.然后标定板到相机的变换
最重要的rvecs和tvecs是通过下面的函数得到的,收集好所有帧的imagepoints一次性运算出所有外参
cv::calibrateCamera
而glawgow是通过对每一帧的imagepoints采用下面的函数获得每一次的外参矩阵的
solvePnPRansac
具体函数如下:
cv::calibrateCamera(objectPoints, imagePoints, imageSize, cameraMatrix, distCoeffs, rvecs, tvecs, flags|CV_CALIB_FIX_K4|CV_CALIB_FIX_K5);
solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvecEx, tvecEx