在(一)中已经介绍了线结构光标定,通过线结构光可以得到物体被照射激光部分的相机三维坐标。当机械手臂安装了线结构光传感器后,相当于被安装了眼睛,得到相机三维坐标相当于眼睛看到了物体的位置,这时就需要眼睛告诉手也就是机械臂物体的位置,这个位置是相对于机械臂的位置。将相机三维坐标转化为机械臂坐标需要标定相机与机械臂之间的位置关系,这个标定就称为手眼标定。
手眼标定分为两种方式:眼在手上(eye in hand)、眼固定(eye to hand)。眼在手上(eye in hand)
如图为眼在手的示意图:
目标:求相机与机械手臂末端的关系。
首先找几个不变的量,相机与机械手臂末端的旋转平移关系不变为
,标定板与机械臂底座关系不变
。根据这两个不变关系有以下公式:
改变机械臂姿态则有可写:
(1)
(2)
其中
是已知的,
是机械臂基座到机械臂末端的关系可以通过机械臂5点标定得到,
是标定板到相机之间的关系可以通过张氏标定得到,就是相机的外参。将联立公式(1)(2)得:
那么化简为
,求解这个矩阵方程,未知数是矩阵
就是手眼之间的关系。
上面求解手眼关系是以机器人基座标为世界坐标系,将标定板坐标系转为机器人坐标系,因此最终关系化简为:
。
还有另外一种方法是以标定板坐标系为世界坐标系,将机器人末端法兰面坐标系转为该世界坐标系,示意图如下:
那么有如下关系:
简写为:
,其中
是待求解的未知数。眼固定(eye to hand)
该方式示意图:
眼固定的意思是相机固定安放不随机械手臂末端移动。
目标:求解相机与器械手臂末端的关系。
同样先找几个不变的关系,机械手臂与相机位置固定不变,机械手臂末端与标定板位置固定不变。根据机械手臂末端与标定板位置固定不变,则有以下公式。
变换机械手臂不同姿态根据以上公式则有:
(1)
(2)
合并公式(1)(2):
公式推导方法(一)
那么化简为
,求解这个矩阵方程,未知数是矩阵
就是手眼之间的关系。
推导
关于
有两篇理论推导的博文:
手眼标定(eye in hand),求解 AX=XB 小记ddrv.cn手眼标定_全面细致的推导过程www.360doc.com公式推导方法(二)
根据文献[1]介绍,解方程
或
的方法有有两步法和单步法,网上常介绍的两步法使用李群和李代数将原方程转化为线性方程进行求解,大多没有很详细的推导过程,理解起来不是特别容易。文献[1]中提出了使用量化算子作用于待解方程,以解方程
为例求解推导,遂整理如下。预备知识
矩阵向量化
,如果
为
维矩阵,那么
;
矩阵
与
的Kronecker积为
;
对于矩阵
, 有
。
矩阵
都是由旋转矩阵
与平移向量
组成的
矩阵(齐次)。所以
又可以写成如下形式:
展开得到:
等式两边同时
可以写成:
,两边同时 向量化
。
=
得到矩阵
,那么得到
。
那么上式被转换为一个齐次线性方程。求解齐次线性方程的方法可以是用最小二乘法进行求解,具体可以参考我的博文。answer:最小二乘法zhuanlan.zhihu.com
对矩阵
进行奇异值分解得到
,该齐次线性方程的解为
的最后一列,将该列
还原回矩阵形式得到
。因为旋转矩阵满足正交性,
不一定是正交矩阵,所以对该矩阵进行奇异值分解得到
,只取
两项相乘得到最终
。其中
在一定程度上可以反映标定结果的好坏,良好的标定其
的对角元素都应该非常接近甚至完全相等。将
带入求出
,同样使用最小二乘法。最终求得方程
中未知矩阵
。
参考:文献[1] 标定方程AX=ZB的两种新解法
博文:机械臂与相机的标定_aipiano-CSDN博客blog.csdn.net