1. 手眼标定概述

什么是手眼标定

手眼标定(Hand-Eye Calibration)是机器人视觉系统中的核心步骤,用于求解机器人末端执行器(手)与视觉传感器(眼)之间的空间变换关系。在3D视觉定位系统中,机器人需要知道“眼睛看到的目标在机器人坐标系中的精确位置”,而手眼标定正是建立这种坐标映射的数学过程。

从数学本质上看,手眼标定求解的是以下齐次变换矩阵方程:

AX = XB

其中:
A = 机器人末端在两次运动间的变换矩阵
B = 相机在两次运动间观测到的标定板变换矩阵
X = 待求的手眼变换矩阵(固定不变)

这个方程的解 X 一旦确定,视觉系统就能将图像坐标系中的目标点转换到机器人基坐标系,从而引导机械臂完成抓取、装配、焊接等操作。

核心要点:手眼标定的本质是求解两个刚体坐标系之间的6自由度变换(3个平移 + 3个旋转),精度直接影响后续3D视觉定位的最终效果。

为什么需要手眼标定

在3D视觉定位系统中,手眼标定不是可选项,而是必选项。以下是几个关键原因:

原因 说明 后果(不标定)
坐标统一 相机、机器人、工件各自使用独立坐标系 无法将视觉检测结果映射到机器人运动空间
精度保障 消除安装误差、加工公差等系统误差 定位误差可达数毫米至数厘米
动态补偿 机器人运动过程中,相机与末端相对位姿实时变化 抓取点偏移、碰撞风险增加
系统集成 不同品牌设备间的数据互通 视觉系统与机器人控制系统无法协同工作
行业经验:在汽车焊装、3C电子装配等精密场景中,手眼标定精度通常要求达到0.1mm~0.5mm。一次完整的标定流程可节省后续调试时间80%以上。

Eye-in-Hand 与 Eye-to-Hand 的区别

根据相机安装位置的不同,手眼标定分为两种经典构型。下图清晰展示了两种方式的拓扑结构:

Eye-in-Hand 与 Eye-to-Hand 构型对比 Eye-in-Hand(眼在手上) 机器人基座 机械臂 末端 相机 视野方向 标定板 刚性连接 Eye-to-Hand(眼在手上) 机器人基座 机械臂 末端 相机 视野方向 标定板 机器人 相机 标定板

两种构型在标定方程、应用场景和精度特性上存在显著差异:

对比维度 Eye-in-Hand(眼在手上) Eye-to-Hand(眼在手外)
相机安装位置 固定在机器人末端执行器上 固定在工作空间上方或侧面
标定方程 AX = XB(经典形式) AX = ZB(引入机器人基座到相机的变换Z)
视野特点 随机器人运动而移动,视野灵活 视野固定,覆盖整个工作区域
典型应用 精密装配、焊缝跟踪、小零件抓取 码垛、大范围分拣、安全监控
标定复杂度 中等,需多次运动采集数据 较高,需同时求解两个变换矩阵
精度影响因素 机器人运动学精度、相机内参 相机安装稳定性、标定板尺寸

标定在3D视觉定位中的作用

在完整的3D视觉定位系统中,手眼标定处于数据流的中枢位置。下面的流程图展示了标定结果如何串联整个系统:

手眼标定在3D视觉定位系统中的位置 3D相机采集 点云/深度图 图像处理 目标检测/分割 目标定位 获取相机坐标系坐标 手眼标定 变换矩阵 X 坐标转换 相机→机器人坐标系 机器人执行 抓取/装配/焊接 精度反馈 误差分析与补偿

从系统架构角度看,手眼标定在3D视觉定位中承担以下关键角色:

  • 数据桥梁:将相机坐标系下的目标点云/位姿数据,转换为机器人可执行的基坐标系指令
  • 精度基准:标定精度直接决定最终定位误差的上限,是系统精度的“天花板”
  • 系统解耦:使视觉模块与运动控制模块可独立开发、测试和升级
  • 误差溯源:当定位出现偏差时,手眼标定结果是排查误差来源的第一检查点
常见误区:很多工程师认为“标定一次就能永久使用”。实际上,机器人碰撞、相机松动、温度变化等都可能导致标定参数漂移。建议在以下情况重新标定:①设备维修后 ②更换末端工具 ③定位精度突然下降 ④每3~6个月定期校验。

本章小结