4. 手眼协同基础

在灵巧手视觉抓取系统中,相机与机械手之间的空间关系决定了整个感知—规划—执行链路的组织方式。所谓“手眼协同”,并不是简单地把相机装在机器人上,而是要让视觉测量结果与手部运动学在同一套空间语义下对齐。理解手眼系统的分类、两种典型架构以及坐标系变换关系,是后续标定、抓取位姿生成和闭环控制的基础。

一、手眼系统的两类基本架构

按照相机安装位置与机械臂本体的关系,手眼系统通常分为两类:Eye-in-Hand(眼在手上)与Eye-to-Hand(眼在手外)。前者将相机固定在机械臂末端或手腕附近,相机随手臂运动;后者将相机固定在外部支架、工作台或房间结构上,相机与机械臂基座保持固定关系。

Eye-in-Hand 的显著优势是视角灵活、可近距离观察目标,且随着末端靠近目标,分辨率利用率高,适合精细抓取与遮挡规避。但其代价是相机外参随关节运动实时变化,必须结合正运动学在线计算相机位姿。Eye-to-Hand 则提供稳定的全局视野,外参一旦标定完成即可长期使用,适合目标搜索、大范围定位和多目标场景;缺点是远距离观测精度受限,且机械臂自身可能遮挡目标。

核心判断:若任务强调“末端精细对准、局部高分辨”,优先考虑 Eye-in-Hand;若任务强调“全局监控、目标搜索、多工位共享”,优先考虑 Eye-to-Hand。实际工程中常采用两者混合,形成全局引导加局部精定位的分层结构。

二、坐标系定义与变换关系

无论采用哪种架构,手眼协同都围绕若干关键坐标系展开。常见坐标系包括:世界坐标系 {W}、机械臂基座坐标系 {B}、末端法兰坐标系 {E}、相机坐标系 {C}、目标物体坐标系 {O},以及灵巧手手掌或抓取坐标系 {G}。每个坐标系都是一个带原点和三轴方向的刚体参考系。

坐标系之间的变换通常用齐次变换矩阵描述。若已知相机坐标系到末端坐标系的变换 T_E_C,以及末端到基座的变换 T_B_E,则目标在基座坐标系下的位姿可写为:

T_B_O = T_B_E · T_E_C · T_C_O
其中:
T_B_E —— 由机械臂正运动学给出,随关节角变化
T_E_C —— 手眼标定结果,Eye-in-Hand 中为常数
T_C_O —— 视觉算法输出的目标相对相机位姿

对于 Eye-to-Hand,相机不随末端运动,因此常用 T_B_C 表示相机到基座的固定外参,目标位姿计算为 T_B_O = T_B_C · T_C_O。此时抓取位姿还需通过 T_B_G 与 T_B_O 的关系求解,即让抓取坐标系与目标坐标系满足预设的抓取约束。

需要特别注意的是,变换矩阵的乘法顺序不可随意交换。旋转与平移耦合在齐次矩阵中,顺序错误会直接导致抓取点偏移。工程上建议统一约定“从子坐标系到父坐标系”的书写方向,并在代码中显式命名,例如 T_base_camera、T_camera_object,避免歧义。

三、手眼标定与典型流程

手眼标定的目标是求取相机与机械臂之间的未知外参。经典方法 AX = XB 中,A 为末端两次运动的相对位姿,B 为相机两次观测的相对位姿,X 即待求的手眼变换。流程通常包括:标定板放置、机械臂多姿态采集、角点检测、相对运动构建、方程求解与残差验证。

  1. 固定标定板,确保其在相机视野内清晰可见。
  2. 控制机械臂走 10~20 组不同姿态,每组记录关节角与图像。
  3. 由正运动学计算 T_B_E,由视觉计算 T_C_O。
  4. 构建相对运动方程,求解 X,并检查重投影误差。
  5. 将标定结果写入配置,供抓取规划模块调用。

标定姿态应尽量覆盖平移和旋转的多个方向,避免只做平面运动。旋转轴单一会导致解退化,残差看似很小但实际外参不可靠。

四、架构对比与选型清单

对比维度Eye-in-HandEye-to-Hand
相机安装位置末端/手腕,随臂运动外部支架/工作台,固定
外参特性随关节角变化,需在线计算固定,一次标定长期使用
视野与精度近距离高分辨,局部精细全局稳定,远距离精度受限
遮挡影响可主动调整视角规避易被机械臂或工件遮挡
典型任务精密装配、末端对准、抓取微调目标搜索、分拣、多工位共享
标定复杂度较高,需结合运动学较低,外参固定

五、案例场景:桌面抓取中的坐标系链路

假设一台灵巧手安装在六轴机械臂末端,工作台上放置一个待抓取方块。若采用 Eye-to-Hand,相机先检测方块在相机坐标系下的位姿 T_C_O,再通过固定外参 T_B_C 转换到基座坐标系,得到 T_B_O。规划器根据 T_B_O 和预设抓取策略生成目标抓取位姿 T_B_G,最后经逆运动学解算关节角。若采用 Eye-in-Hand,则 T_B_O 的计算中必须插入实时变化的 T_B_E 与标定得到的 T_E_C,链路更长,但对末端附近的细节更敏感。

常见误区:把相机坐标系与图像像素坐标系混为一谈。像素坐标只是二维投影,必须结合相机内参和深度信息才能恢复到三维相机坐标系,再经过外参变换进入机器人坐标系。缺少任何一步,抓取位姿都会失真。

六、复盘要点

  • 先明确架构,再定义坐标系,最后写变换链,顺序不能颠倒。
  • 所有变换矩阵必须标注方向,例如 T_A_B 表示从 {B} 到 {A}。
  • Eye-in-Hand 的外参是常数,但相机到基座的等效变换随运动学变化。
  • 标定残差要结合任务精度要求判断,不能只看数值大小。
  • 抓取坐标系 {G} 的定义应与灵巧手抓取策略一致,避免视觉与执行各说各话。
手眼系统架构与坐标系变换链路 Eye-in-Hand(眼在手上) 基座 {B} 末端 {E} 相机 {C} T_B_E T_E_C 目标 {O} T_C_O T_B_O = T_B_E · T_E_C · T_C_O Eye-to-Hand(眼在手外) 基座 {B} 相机 {C} 目标 {O} T_B_C T_C_O T_B_O = T_B_C · T_C_O 从视觉到抓取的统一变换链路 图像像素 相机 {C} 基座 {B} 抓取 {G} 内参+深度 外参 抓取策略 关键:每一步变换方向明确,矩阵乘法顺序不可交换

掌握上述架构差异与坐标变换链路后,后续的标定、抓取位姿生成和闭环修正才能建立在统一的空间基准上。手眼协同的本质,是让视觉的“看到”与机械手的“做到”在同一坐标系语言中精确对应。