手眼标定
Hand-Eye Calibration入门必知求出相机和机械臂之间那个固定坐标变换的标定过程。
手眼标定求的是「眼」(相机)和「手」(机械臂)之间固定不变的变换,分两种配置:眼在手上,相机装在末端,求相机相对末端法兰的位姿;眼在手外,相机固定在旁边,求相机相对机器人基座的位姿。做法是让机械臂换多个姿态,每次同时记录末端位姿和相机看到的标定板位姿,问题可写成 AX=XB,X 就是要求的变换。Tsai-Lenz(1989)等经典解法都已在 OpenCV 的 calibrateHandEye 里实现。至少要两次旋转轴不平行的运动,即至少 3 个姿态,实际应多采一些。标定不准,相机看到的物体换算到机械臂坐标就会偏,抓取直接失败。
例子腕部相机标定:机械臂带着相机从十几个角度拍一块固定的 ChArUco 标定板,用正运动学读末端位姿、用 PnP 算标定板相对相机的位姿,再调用 OpenCV 的 calibrateHandEye 解出相机相对法兰的变换。
- 也叫
- AX=XB、相机-机械臂标定、手眼矩阵标定
- 相关
- 眼在手上、眼在手外、相机外参、标定板、齐次变换矩阵、腕部相机
- 来源
- OpenCV calib3d.hpp:calibrateHandEye 与 AX=XB 说明
Wikipedia: Hand eye calibration problem