3. 手眼标定基础

在机器人视觉抓取系统中,视觉传感器(如2D相机、3D结构光相机或ToF相机)与机器人本体之间的空间关系,是决定抓取精度与稳定性的核心前提。手眼标定(Hand-Eye Calibration)正是求解这一空间关系的数学过程。本章将系统阐述手眼标定的定义、必要性,并深入对比“眼在手上”(Eye-in-Hand)与“眼在手外”(Eye-to-Hand)两种经典构型的原理、标定方法及工程选型要点。

手眼标定核心概念与构型对比 眼在手上 (Eye-in-Hand) 机器人基座 末端 相机 (随动) 视野内工件 工件 T_cam2tool (固定) T_tool2base (变化) 眼在手外 (Eye-to-Hand) 机器人基座 末端 相机 (固定) 视野覆盖工作区域 工件 T_cam2base (固定) T_tool2base (变化) 核心区别:相机与机器人末端的物理连接关系 → 决定标定方程形式与误差传播特性

3.1 手眼标定的定义与数学本质

手眼标定,本质上是求解机器人末端执行器(Tool)坐标系与视觉传感器(Camera)坐标系之间的齐次变换矩阵(Homogeneous Transformation Matrix)。该矩阵描述了相机在机器人基座坐标系(或末端坐标系)下的位置与姿态。在数学上,手眼标定问题通常被归结为求解形如 AX = XB 的矩阵方程,其中:

  • A:机器人末端在基座坐标系下的位姿变化(由机器人正运动学提供);
  • B:标定板(或特征点)在相机坐标系下的位姿变化(由视觉算法解算);
  • X:待求的手眼变换矩阵(即相机与末端或基座之间的固定关系)。

该方程的核心思想是:通过多次移动机器人并同时记录视觉观测数据,利用多组位姿约束来迭代求解未知矩阵X。实际工程中,常采用Tsai-Lenz法、Park-Martin法或非线性优化法(如Levenberg-Marquardt)进行求解。标定精度不仅取决于算法本身,更依赖于数据采集的质量——包括机器人位姿的多样性、标定板特征点的清晰度以及光照条件的稳定性。

核心要点:手眼标定不是一次性操作,而是系统集成中的关键校准步骤。标定结果直接决定了视觉系统输出的坐标能否被机器人正确执行。若标定误差超过1mm,在高精度装配或精密抓取场景中往往会导致抓取失败或工件损伤。

3.2 为什么需要手眼标定:从坐标转换到抓取闭环

在视觉抓取系统中,相机识别到工件后,输出的是工件在相机坐标系下的坐标。而机器人执行抓取时,需要的是工件在机器人基座坐标系下的坐标。两者之间必须通过一个明确的变换关系进行转换,这个变换关系正是手眼标定所求解的内容。没有标定,视觉系统就像“看得见但摸不着”——即使识别再准确,机器人也无法将视觉信息转化为实际动作。

具体而言,手眼标定的必要性体现在以下三个层面:

  1. 坐标统一:将视觉测量数据映射到机器人运动空间,实现“眼”与“手”的信息对齐;
  2. 误差补偿:消除相机安装角度、镜头畸变、机器人连杆参数误差等系统性偏差;
  3. 动态适应性:在Eye-in-Hand构型中,标定结果使得相机随末端运动时仍能准确计算目标位置,为动态抓取提供基础。

以一个典型的3C装配场景为例:机器人需要从料盘中抓取一个Micro-USB连接器并插入产品壳体。视觉系统识别连接器中心在图像中的像素坐标,通过相机内参转换为相机坐标系下的三维坐标。若手眼标定矩阵存在0.5mm的平移误差,当机器人末端以垂直姿态接近时,抓取爪中心与连接器中心将偏移0.5mm,对于间距仅0.3mm的插针来说,必然导致插接失败。因此,手眼标定是视觉抓取系统可靠运行的第一道保障。

3.3 眼在手上(Eye-in-Hand)构型详解

在Eye-in-Hand构型中,相机被刚性固定在机器人末端法兰盘上,随机械臂一起运动。这种构型的核心优势在于:相机视野始终跟随末端移动,可以灵活地对准不同角度的工件,尤其适合需要近距离观察或复杂姿态抓取的场景。

从标定方程角度看,Eye-in-Hand的求解目标是相机坐标系相对于末端坐标系的变换矩阵(记为X = T_cam2tool)。该矩阵在机器人运动过程中保持不变,而相机相对于基座的位姿则随末端运动而变化。标定时,通常将标定板固定在工作台面上,机器人带动相机从多个视角拍摄标定板,同时记录每个视角下的机器人末端位姿(来自控制器)和标定板位姿(来自视觉解算)。

对比维度 眼在手上(Eye-in-Hand) 眼在手外(Eye-to-Hand)
相机安装位置 固定在机器人末端法兰 固定在工作空间外部(支架/天花板)
标定目标矩阵 T_cam2tool(相机→末端) T_cam2base(相机→基座)
视野特点 随末端移动,视野灵活但范围有限 视野固定,覆盖整个工作区域
标定板放置位置 固定在工作空间内 固定在机器人末端
典型应用场景 精密装配、小工件抓取、多角度检测 大范围分拣、码垛、上下料
误差传播特性 末端定位误差直接叠加到视觉测量 相机固定,误差相对稳定

Eye-in-Hand构型的工程实现中,需要注意相机与末端的刚性连接。任何微小的机械松动都会导致标定失效。推荐使用定制法兰盘连接,并定期检查紧固力矩。此外,由于相机随末端运动,线缆管理(尤其是相机供电和通信线缆)需要采用拖链或柔性线缆保护,避免运动过程中线缆拉扯导致相机位置偏移。

3.4 眼在手外(Eye-to-Hand)构型详解

Eye-to-Hand构型将相机固定在工作空间上方的支架或天花板上,不随机器人运动。这种构型的最大优势是视野稳定、覆盖范围大,适合对全局场景进行监控和定位。标定目标是求解相机坐标系相对于机器人基座坐标系的变换矩阵(记为X = T_cam2base)。

在Eye-to-Hand标定中,标定板被固定在机器人末端,机器人携带标定板在相机视野内做多姿态运动。视觉系统实时检测标定板在相机坐标系下的位姿,同时控制器记录对应的机器人末端位姿。通过多组数据对,即可求解相机与基座之间的固定变换关系。

这种构型的典型应用包括:

  • 大范围分拣:传送带上的工件随机摆放,固定相机俯拍整个区域,识别后引导机器人抓取;
  • 码垛与拆垛:相机固定在高处,识别托盘上货物的位置和姿态,规划抓取路径;
  • 安全监控:固定相机同时监控机器人工作区域,实现碰撞预警或人员入侵检测。

Eye-to-Hand构型的标定精度受相机安装稳定性影响较大。如果支架存在振动或热胀冷缩,会导致标定矩阵漂移。因此,在精密应用中,建议采用重型支架并增加减震垫,同时定期进行标定校验。

3.5 两种构型的选型决策与实战案例

在工程实践中,选择哪种构型并非随意决定,而是需要根据任务需求、现场约束和精度要求综合判断。以下通过一个实际案例说明选型与标定过程。

案例背景:某汽车零部件工厂需要实现差速器壳体的自动上料。工件重量约8kg,放置在标准料箱中,料箱尺寸为600mm×400mm×300mm。机器人需要从料箱中抓取工件并放置到加工中心夹具上。现场要求节拍≤15秒/件,抓取位置精度±0.5mm。

初始方案评估:工程师最初考虑Eye-in-Hand构型,认为相机随动可以更灵活地观察料箱内部。但经过现场勘察发现,料箱深度较大,且工件表面有油污反光,Eye-in-Hand在深入料箱时相机视野受限,且油污容易污染镜头。此外,由于工件较重,末端负载已接近机器人额定负载的80%,再加装相机和支架将影响机器人的动态性能。

最终方案:改为Eye-to-Hand构型,在料箱上方2.2m处安装一台3D结构光相机(分辨率1280×1024,Z轴精度±0.3mm@2m)。相机固定于独立支架上,与机器人基座通过膨胀螺栓固定在同一水泥地面上,确保相对位置稳定。

标定实施步骤:

  1. 将标定板(300mm×300mm陶瓷板,带9×9圆点阵列)通过专用夹具固定在机器人末端;
  2. 编写机器人程序,使末端在相机视野内走20个不同姿态(包含平移、旋转、俯仰变化),每个姿态停留2秒;
  3. 同步采集:每个姿态下,视觉系统输出标定板位姿(平移+四元数),机器人控制器输出末端位姿;
  4. 使用OpenCV的calibrateHandEye()函数(基于Tsai-Lenz法)求解T_cam2base;
  5. 验证:将标定板放置在料箱内5个不同位置,视觉系统测量坐标,机器人实际抓取并记录偏差。

结果与复盘:初次标定后,平均位置误差为1.2mm,超出±0.5mm要求。分析发现,部分姿态下标定板反光导致视觉解算精度下降。改进措施包括:调整相机曝光时间、增加偏振滤光片、剔除误差大于0.5mm的异常数据点后重新标定。最终平均误差降至0.4mm,满足生产要求。复盘经验:标定数据质量比数量更重要,应确保每个姿态下视觉解算的置信度。

3.6 常见误区与工程经验总结

在手眼标定的实施过程中,工程师常陷入以下误区,导致标定结果不理想或现场反复调试:

误区一:标定板姿态变化不够丰富。如果机器人只做平移或小幅旋转,标定方程会陷入病态,导致求解结果不稳定。正确做法是确保姿态覆盖±30°以上的旋转变化,且平移范围覆盖相机视野的各个区域。
误区二:忽略镜头畸变校正。手眼标定前必须完成相机内参标定(包括畸变系数)。若内参不准,外参(手眼矩阵)必然不准。建议使用OpenCV或Halcon的标定工具,拍摄20张以上不同角度的棋盘格图像进行内参标定。
误区三:标定后不进行验证。标定完成后,必须用独立的验证点(非标定数据)进行精度测试。验证点应分布在工作空间的不同位置和高度,确保标定结果具有全局一致性。

此外,对于Eye-in-Hand构型,还需注意相机与末端的连接刚度。建议使用航空铝材质的定制法兰,并采用三点定位+螺栓紧固的方式,避免使用3D打印件或塑料支架。对于Eye-to-Hand构型,则要关注相机支架的长期稳定性,建议在支架上设置参考点,定期用激光跟踪仪或全站仪校验相机位置是否发生漂移。

最后,无论哪种构型,标定过程都应记录完整的日志,包括:机器人位姿序列、视觉解算结果、标定算法参数、验证误差数据。这些数据不仅用于追溯问题,也为后续机器人维护或相机更换后的重新标定提供参考基线。