4. 手眼标定的两种模式:Eye-in-Hand 与 Eye-to-Hand
做手眼标定,第一个要做的决定就是:相机装在哪?
这个选择直接决定了你的标定流程、算法模型,甚至后续的调试难度。我见过不少项目,前期没想清楚这个问题,后期改结构改到崩溃。
说白了,就两种模式:Eye-in-Hand(眼在手上)和Eye-to-Hand(眼在手外)。咱们一个一个拆开看。
4.1 Eye-in-Hand:相机跟着机器人走
这种模式下,相机固定在机器人末端法兰盘上。机器人动,相机跟着动。
它的核心特点是:相机坐标系和机器人末端坐标系之间的变换关系是固定的。我们标定的目标,就是求出这个固定变换 X,也就是 camTgripper。
核心方程:
AX = XB
其中 A 是机器人末端位姿变换,B 是相机看到的标定板位姿变换。
我在现场调试时,最喜欢用这种模式。为什么?因为它灵活。相机跟着机械臂走,想拍哪个角度就拍哪个角度,特别适合做近距离、高精度的作业,比如抓取、装配、焊缝跟踪。
优点
- 视野灵活:相机可以移动到任意位置,不受固定支架限制。
- 精度高:目标离相机近,图像分辨率高,测量误差小。
- 无遮挡问题:相机可以绕到目标正面,避开障碍物。
缺点
- 标定复杂:需要机器人带动相机做多组运动,对机器人运动精度要求高。
- 标定板要大:因为相机离得近,标定板不能太小,否则特征点提取不准。
- 机械臂负载增加:相机和线缆增加了末端重量,可能影响机器人动态性能。
我的经验:做 Eye-in-Hand 标定时,机器人运动轨迹要尽量覆盖工作空间的不同区域和姿态。别只在一个小范围里来回动,那样标定出来的结果容易过拟合。
4.2 Eye-to-Hand:相机静静地看着
这种模式下,相机固定安装在机器人工作空间之外,比如天花板上、支架上。机器人动,相机不动。
它的核心特点是:相机坐标系和机器人基坐标系之间的变换关系是固定的。我们标定的目标,是求出 camTbase。
核心方程:
AX = XB (形式相同,但含义不同)
这里的 A 是机器人基座到末端的变换,B 是相机看到的标定板位姿。
这种模式我一般在大范围、全局定位的场景下用。比如流水线抓取、码垛、AGV 导航。相机一眼看全局,机器人只需要知道目标在相机坐标系下的位置,就能换算到自己的基坐标系里。
优点
- 标定相对简单:相机固定,标定板固定在机器人末端,运动规划容易。
- 不增加负载:相机不装在机器人上,不影响机器人动态性能。
- 视野稳定:相机位置固定,图像背景一致,视觉算法更稳定。
缺点
- 容易遮挡:机器人本体或工件可能挡住相机视线。
- 精度受限:目标离相机远,像素分辨率低,测量误差大。
- 视野固定:相机只能看到固定区域,超出视野就抓瞎。
避坑指南:我曾经在一个 Eye-to-Hand 项目里,把相机装得太高,结果标定板在图像里只有几十个像素。标定出来的旋转矩阵误差大得离谱。后来把相机降下来,标定板尺寸加大,才解决问题。记住:标定板在图像中至少要占 1/4 的视野面积。
4.3 两种模式的对比
为了让你看得更清楚,我整理了一个对比表。嗯,这个表我每次做方案评审时都会拿出来用。
| 对比维度 | Eye-in-Hand | Eye-to-Hand |
|---|---|---|
| 相机安装位置 | 机器人末端法兰 | 固定支架/天花板 |
| 标定目标 | camTgripper(相机到末端) | camTbase(相机到基座) |
| 标定方程 | AX = XB | AX = XB |
| 标定板位置 | 固定在工作空间内 | 固定在机器人末端 |
| 视野灵活性 | 高,可移动 | 低,固定 |
| 遮挡问题 | 不易遮挡 | 容易遮挡 |
| 测量精度 | 高(近距离) | 中低(远距离) |
| 机器人负载 | 增加 | 无影响 |
| 典型应用 | 抓取、装配、焊缝跟踪 | 码垛、流水线、AGV |
4.4 如何选择?我的决策框架
你可能会问:那我到底该选哪种?
我个人习惯用下面这个决策流程,你可以参考一下:
- 先看任务类型:如果是高精度抓取或装配,优先选 Eye-in-Hand。如果是大范围码垛或分拣,优先选 Eye-to-Hand。
- 再看工作空间:如果工作空间小且遮挡多,选 Eye-in-Hand。如果工作空间大且视野开阔,选 Eye-to-Hand。
- 最后看机器人负载:如果机器人末端已经挂了很重的夹具,就别再加相机了,选 Eye-to-Hand。
一个折中方案:有些项目会同时使用两种模式。比如,用 Eye-to-Hand 做全局定位,用 Eye-in-Hand 做局部精调。当然,这会增加系统复杂度,标定工作量也翻倍。我一般只在高端项目里这么干。
4.5 两种模式的知识结构图
下面这张图,把两种模式的核心逻辑和区别画出来了。你可以保存下来,做方案时对照着看。
4.6 小结
两种模式没有的好坏,只有合不合适。我的建议是:先想清楚你的应用场景,再选模式。别一上来就抄别人的方案,结果发现相机装在哪都是问题。