概述
根据机器人运动学的知识,通常机器人也指多关节多自由度机械臂,机械臂通过多个旋转电机驱动,实现机器人末端的可控制定位驱动。机器人自身是没有传感器的,人为在机器人上或旁安装相机,通过使用相机获得目标坐标,从而让机器人根据相机得到的图像对目标进行操作的方式叫做机器人视觉。而,为了使得相机(亦即机器人的眼)与机器人(亦即机器人的手)坐标系之间建立关系就必须要对机器人与相机坐标系进行标定,该标定过程也就叫做手眼标定。
通常机器人的手眼关系分为eye-in-hand, 又称moving camera以及eye-to-hand,又称stationary camera两种。其中eye-in-hand也就是眼在手上,如上图a,机器人的视觉系统随着机械臂末端运动;而eye-to-hand也就是眼在手旁,如图b,机器人的视觉系统与机器人基座固定,不会在世界坐标系内运动。
- 对于eye-in-hand情况,机器人手眼标定即标定得到机器人末端与相机之间的坐标变换关系;
- 对于eye-to-hand情况,机器人手眼标定即标定得到机器人基座与相机之间的坐标变换关系。
两种标定方法都将机器人以及相机之间的不变量确定了下来,从而建立了两者的转换矩阵。
手眼标定方法
Tsai-Lenz方法是手眼标定中最常用的方法之一,普遍用于eye-in-hand的手眼固定形式,但是同样也能够用于eye-to-hand的情况,具有成熟可用的工具包,该方法借助标定板,通过求解线性方程的方法求取手眼关系。
另外eye-to-hand也有九点标定法等更简单的方法。九点标定法,亦即使用相机和机械臂获得空间中的多组相同点坐标值,从而建立机械臂与相机之间的坐标转换关系。
Tsai-Lenz标定原理
上图中为手眼标定系统。同样是在机器人运动学中已经提到的机器人坐标表达方法。
对于eye-in-hand,根据机器人基座与目标/标定板之间位置相对固定的关系建立等式,利用相机与末端之间的坐标关系不变,得到
从而将问题下式中的变为求解
求解得到的
对于eye-to-hand的情况,利用标定板/目标与机器人末端之间不变的转换关系:
求解得到的
手眼标定的具体步骤
首先对相机进行标定,获得相机内参。
将相机、标定板固定好,启动机器人调整机械臂末端位置姿态,并将对应的照片、机器人末端位姿记录下来。
利用相机内参计算得到照片中相机与标定板之间的坐标转换关系。
利用“两步法”求解基本方程。先从基本方程中求解
参考资料
R. Y. Tsai and R. K. Lenz, "A new technique for fully autonomous and efficient 3D robotics hand/eye calibration," in IEEE Transactions on Robotics and Automation, vol. 5, no. 3, pp. 345-358, June 1989. doi: 10.1109/70.34770