4. 手眼标定的两种经典构型:Eye-in-Hand 与 Eye-to-Hand 的定义与区别

在机器人3D视觉定位系统中,相机与机器人本体的安装方式直接决定了标定算法的数学模型与求解流程。根据相机是否随机器人末端运动,手眼标定分为两大经典构型:Eye-in-Hand(眼在手上)与Eye-to-Hand(眼在手外)。理解这两种构型的定义、坐标系关系及核心差异,是正确选择标定方案的第一步。

4.1 两种构型的定义与坐标系关系

4.1.1 Eye-in-Hand(眼在手上)

相机固定在机器人末端执行器(法兰盘)上,随机器人运动而移动。相机与末端之间保持刚性连接,其相对位姿固定不变。

  • 标定目标:求解相机坐标系 {C} 与末端坐标系 {E} 之间的固定变换矩阵 X = T_{C→E}。
  • 核心方程:A · X = X · B,其中 A 为机器人末端两次运动之间的位姿变换,B 为相机在两次观测中标定板位姿的变换。
  • 典型应用:抓取、装配、焊缝跟踪等需要“手眼协同”的近距离操作。

4.1.2 Eye-to-Hand(眼在手外)

相机固定安装在机器人工作空间之外(如支架、天花板或地面),不随机器人运动。相机视野覆盖机器人工作区域,可同时观测机器人末端与目标物体。

  • 标定目标:求解相机坐标系 {C} 与机器人基坐标系 {B} 之间的固定变换矩阵 Y = T_{C→B}。
  • 核心方程:Y · A = B · Y,其中 A 为机器人末端在基坐标系下的位姿,B 为相机观测到的末端上标定板的位姿。
  • 典型应用:全局定位、分拣、码垛、大范围视觉引导。
关键记忆点: Eye-in-Hand 标定的是“相机→末端”的变换;Eye-to-Hand 标定的是“相机→基座”的变换。两者方程形式互为对偶,但物理意义完全不同。
Eye-in-Hand 与 Eye-to-Hand 坐标系关系对比 Eye-in-Hand(眼在手上) 基座 {B} 末端 {E} 相机 {C} 固定连接 标定板 Eye-to-Hand(眼在手外) 基座 {B} 末端 {E} 相机 {C} 视野覆盖工作区 标定板

4.2 两种构型的核心区别对比

对比维度 Eye-in-Hand(眼在手上) Eye-to-Hand(眼在手外)
相机安装位置 固定在机器人末端(法兰盘) 固定在工作空间外(支架/天花板)
标定目标 相机 → 末端变换 X 相机 → 基座变换 Y
标定方程形式 A · X = X · B Y · A = B · Y
标定板位置 固定在工作空间内(静止) 固定在机器人末端(随动)
相机运动特性 随末端运动,视野变化 固定不动,视野恒定
视野范围 局部、近距离、可移动 全局、大范围、固定
典型应用场景 抓取、装配、焊缝跟踪 分拣、码垛、全局定位
标定复杂度 中等(需多次运动+观测) 中等(需末端位姿+观测)
对机器人精度依赖 依赖末端位姿精度 依赖末端位姿精度

4.3 两种构型的标定流程对比

4.3.1 Eye-in-Hand 标定流程

  1. 固定标定板:将标定板放置于机器人工作空间内的固定位置,确保相机可清晰观测。
  2. 运动机器人:控制机器人运动到 N 个不同位姿(N ≥ 3),在每个位姿下记录:
    • 机器人末端在基坐标系下的位姿 T_{E→B}(从机器人控制器读取)。
    • 相机观测到的标定板位姿 T_{C→P}(通过PnP求解)。
  3. 构造方程:利用相邻两组数据构造 A(末端运动)和 B(相机运动),代入 A·X = X·B。
  4. 求解 X:使用两步法(先解旋转,再解平移)或同时求解算法,得到 X = T_{C→E}。
  5. 验证:用未参与标定的位姿数据验证重投影误差。

4.3.2 Eye-to-Hand 标定流程

  1. 安装标定板:将标定板固定在机器人末端执行器上。
  2. 运动机器人:控制机器人运动到 N 个不同位姿,在每个位姿下记录:
    • 机器人末端在基坐标系下的位姿 T_{E→B}(从机器人控制器读取)。
    • 相机观测到的末端标定板位姿 T_{C→P}(通过PnP求解)。
  3. 构造方程:利用每组数据构造 A = T_{E→B} 和 B = T_{C→P},代入 Y·A = B·Y。
  4. 求解 Y:求解 Y = T_{C→B},即相机到机器人基座的固定变换。
  5. 验证:用预留数据验证投影一致性。
工程建议: 两种构型在采集数据时,都应保证机器人运动姿态的多样性(避免共面或共线),并覆盖工作空间的不同区域,以提高标定结果的鲁棒性。
Eye-in-Hand 与 Eye-to-Hand 标定流程对比 Eye-in-Hand 标定流程 ① 固定标定板在工作空间内 ② 运动机器人到 N 个位姿 ③ 记录末端位姿 + 标定板位姿 ④ 构造 A·X = X·B 并求解 X ⑤ 验证重投影误差 Eye-to-Hand 标定流程 ① 标定板固定在机器人末端 ② 运动机器人到 N 个位姿 ③ 记录末端位姿 + 标定板位姿 ④ 构造 Y·A = B·Y 并求解 Y ⑤ 验证投影一致性

4.4 选型建议与工程注意事项

常见误区: 初学者容易混淆两种构型的标定方程。记住一个简单规则:“未知变换在哪一侧,方程就写成哪一侧”。Eye-in-Hand 的未知变换 X 连接相机与末端,方程写为 A·X = X·B;Eye-to-Hand 的未知变换 Y 连接相机与基座,方程写为 Y·A = B·Y。

选型决策要点

  • 精度优先:若任务对局部定位精度要求极高(如精密装配),优先选择 Eye-in-Hand,因为相机随末端运动,可近距离观测目标。
  • 视野覆盖优先:若需要全局定位或同时引导多个机器人/设备,优先选择 Eye-to-Hand,固定相机可提供稳定的全局参考。
  • 环境约束:若工作空间狭窄或末端负载受限,Eye-to-Hand 可避免增加末端重量;若工作空间存在遮挡,Eye-in-Hand 可通过运动规避遮挡。
  • 标定便利性:两种构型都需要高精度机器人位姿数据,但 Eye-in-Hand 的标定板固定不动,操作相对简单;Eye-to-Hand 的标定板随末端运动,需确保标定板始终在相机视野内。

数据采集避坑清单

常见问题 后果 解决方案
运动姿态过于单一(共面/共线) 旋转分量解算退化 保证姿态轴角变化覆盖 3 个自由度
标定板图像模糊或反光 位姿提取误差大 调整曝光、使用漫反射标定板
机器人位姿读数延迟 数据不同步 使用硬件触发或时间戳对齐
标定板超出相机景深 角点检测失败 控制运动范围在景深内
数据组数不足(N < 3) 方程欠定 至少采集 5~8 组不同位姿