手眼标定原理如下
https://blog.csdn.net/z504727099/article/details/115494147
主要研究的是眼在手上的情况,通过Tsai(最为常用)、LM等方法对手眼AX=XB中的手眼关系矩阵X进行迭代优化的过程。
手眼标定的具体代码如下
https://blog.csdn.net/weixin_42203839/article/details/103882739
代码未进行实验,需要【相机中的标定板位姿】和【机械臂末端(法兰盘)的位姿】
1.【机械臂末端(法兰盘)的位姿】的获取
控制机械手上的3D相机对标定板进行多个位姿的拍摄,期间标定板是固定的,读取控制端显示的法兰盘位姿信息,即(x,y,z,rx,ry,rz),工业上通常用(x,y,z,A,B,C)表示,含义相同只是名称不同而已。
2.【相机中的标定板位姿】的获取
采用上述的(控制机械手上的3D相机对标定板进行多个位姿的拍摄)的位姿图像,进行相机标定得到外参数,注意:每一张图像的外参数都与读取的法兰盘位姿信息对应,例如拍摄了标定板的第1张图像就 <——>对应了第1个相机外参数<——>对应了第一个法兰盘的位姿信息(x1,y1,z1,A1,B1,C1)
标定板拍摄的注意事项(从博客粘贴过来的):
一:用calibrateCamera求标定板到相机的R,t,跟抓取用的内参不同,造成误差;
二:标定板角点方向反了。默认从左到右,有时会出现从右到左,导致不在统一坐标系;
三:标定板面积过小,而且只在中心移动。会导致边缘不准;
四:标定时要旋转;
五:图片太少,要10张以上;
六:某些相机有问题,rgbd的变换矩阵要注意。
以上程序还未实际实现