halcon 手眼标定的坐标转换
一直以来,对于手眼标定所涉及到的坐标系及坐标系之间的转换关系都没能有一个很好的理解,最近找了halcon手眼标定的实例在研究,发现对于相机的两种安装方式(眼在手和眼在手外),其坐标转换关系是类似的,这样说好像太抽象了,下面具体说说。
我觉得标定最基本的是要将坐标系理清楚,这里涉及到的坐标系有四个:机器人基坐标系base、法兰上的工具坐标系tool、相机坐标系camera和标定板坐标系cal;此外,涉及到了四个关键的4x4齐次转换矩阵,对于眼在手和眼在手外分别进行说明,下面是两种配置方式的坐标转换过程:
每一种配置方式,都是两个移动的坐标系和两个静止的坐标系,并且这四个坐标系构成了一个闭环。
对于moving camera方式,如下图所示,机械臂基坐标系和标定板坐标系是静止的,两者之间存在一个固定的转换矩阵;法兰上的工具坐标系和相机坐标系是移动的,两者之间存在一个固定的转换矩阵;需要求的是法兰上的工具坐标系与相机坐标系之间的转换矩阵。其中,M1可以从机器人示教器或者控制读出,Mx是需要求取的未知矩阵,M2可以从拍摄照片计算出来,M3未知,但是是一个固定的转换矩阵,利用坐标转换,有如下的等式关系:Mx=M2*M3^(-1)*M1,如果我有许多个这样的等式,利用M3不变,可以构建关于Mx的方程组,解方程组,求得Mx中各个元素的值,在这个过程中我们不必去求M3具体是多少,只是利用了其固定不变这个特性而已。
对于stationary camera方式,如下图所示,机械臂基坐标系和相机坐标系是静止的,两者之间存在一个固定的转换矩阵;法兰上的工具坐标系和标定板坐标系是移动的,两者之间存在一个固定的转换矩阵;需要求的是相机坐标系和机械臂基坐标系之间的转换矩阵。其中,M1可以从机器人示教器或者控制读出,Mx是需要求取的未知矩阵,M3可以从拍摄照片计算出来,M2未知,但是是一个固定的转换矩阵,利用坐标转换,有如下的等式关系:Mx=M1*M2*M3^(-1),如果我有许多个这样的等式,利用M2不变,可以构建关于Mx的方程组,解方程组,求得Mx中各个元素的值,在这个过程中我们不必去求M2具体是多少,只是利用了其固定不变这个特性而已。