手眼标定方程推导
手眼标定求解:Tsai方法
基于上面两篇手眼标定的博文,相信有很多朋友在实验过程中发现精度不是那么的如意,毕业工作第一年就开始接触手眼标定,刚开始也是标定效果不好不知道问题出在哪里,后来从最基础的理论知识入手进行一些实验,记得刚开始做实验用的是UR5机械臂,根据手眼标定结果进行物体抓取,抓取效果还是很准确的,后来公司开发自己的机械臂进行同样的实验(机械臂连杆是3D打打印件,精度必定是比较差的),标定效果却是非常不理想。使用Tsai方法求解标定方程文章中根据作者论文对误差影响做了一些分析,下面使用Tsai求解方法进行一些Matlab仿真分析。
- 构造仿真数据
若读者手上没有实体机械臂也可以进行算法分析,方法是假设已知手眼转换矩阵,手眼方程为AX=XB,X就是已知的手眼矩阵,假设我们给定A,那我们就可以得到 B = inv( X ) * A* X,A就是每组运动中机械臂末端姿态变换矩阵,根据A和B使用Tsai方法再求解手眼转换矩阵X1,然后比较X和X1间的误差,然后我们在A矩阵中加入一些噪声,再求解手眼矩阵X2,然后比较X2与X间的误差。现在我们构造一些用于仿真分析的数据,矩阵A我们使用欧拉角转换而来,这样我们可以想象一下机械臂进行一次运动的运动轨迹,构造数据Matalb代码如下:
根据欧拉角计算旋转矩阵:
function M = Eu