4. 手眼标定概念
手眼标定是机器臂视觉引导系统中连接“眼睛”(相机)与“手”(机械臂末端执行器)的桥梁。无论是2D相机还是3D相机,只要视觉系统需要依赖机械臂的运动来完成抓取、装配或检测任务,就必须解决“相机坐标系”与“机械臂基坐标系”之间的空间变换关系。这一变换关系的求解过程,就是手眼标定。根据相机安装位置的不同,手眼系统被严格划分为两大类:眼在手上(Eye-in-Hand,简称EIH)与眼在手外(Eye-to-Hand,简称ETH)。两种方案在标定原理、精度特性、标定流程以及适用场景上存在显著差异,工程人员必须在项目初期做出正确选型,否则后期将面临精度补偿困难、遮挡频繁或标定维护成本高等问题。
上图直观展示了两种手眼系统的核心差异。在眼在手上方案中,相机被刚性固定在机械臂末端法兰盘上,随机械臂一起运动,标定的目标是求解相机坐标系与末端工具坐标系之间的固定变换矩阵(记为 X,即 T_cam2tool)。而在眼在手外方案中,相机被固定安装在机械臂工作空间之外的某个位置(如支架、天花板或防护罩上),不随机械臂运动,标定的目标是求解相机坐标系与机械臂基座坐标系之间的固定变换矩阵(记为 X',即 T_cam2base)。这两种标定虽然都基于“AX = XB”的经典方程,但方程中A、B矩阵的构建方式完全不同,工程实现路径也大相径庭。
4.1 核心原理:从“AX=XB”到两种标定方程
手眼标定的数学本质是求解一个齐次变换矩阵方程。无论哪种安装方式,其理论基础都是刚体变换的闭环约束。设机械臂末端在基座坐标系下的位姿为 T_base2tool(由机械臂控制器实时读取),相机观测到标定板(或工件)在相机坐标系下的位姿为 T_cam2obj,则存在以下关系:
- 眼在手上(EIH):相机固定在末端,因此
T_cam2obj与T_tool2base之间存在固定变换X(相机→末端)。对两次不同的机械臂位姿(i和j),有X · T_cam2obj_i = T_tool2base_i · X · T_cam2obj_j,化简后得到A · X = X · B,其中A = T_tool2base_j⁻¹ · T_tool2base_i,B = T_cam2obj_j · T_cam2obj_i⁻¹。求解出的X即为相机与末端的固定变换。 - 眼在手外(ETH):相机固定在世界中,因此
T_cam2obj与T_base2tool之间存在固定变换X'(相机→基座)。同样对两次位姿,有X' · T_cam2obj_i = T_base2tool_i · X' · T_cam2obj_j,化简后同样得到A · X' = X' · B,但此时A = T_base2tool_j⁻¹ · T_base2tool_i,B = T_cam2obj_j · T_cam2obj_i⁻¹。求解出的X'即为相机与基座的固定变换。
从数学形式上看,两种方案都归结为求解矩阵方程 AX = XB,但矩阵A和B的物理含义不同。EIH中A矩阵由机械臂末端位姿变化构成,B矩阵由相机观测到的标定板位姿变化构成;ETH中A矩阵由机械臂基座位姿变化构成,B矩阵同样由相机观测位姿变化构成。这一差异直接影响了标定数据的采集策略和精度敏感性。
关键理解:EIH标定的是“相机相对末端”的关系,因此标定过程中标定板必须固定在世界中,机械臂带动相机从多个角度拍摄标定板;ETH标定的是“相机相对基座”的关系,因此标定板必须固定在机械臂末端,机械臂带动标定板在相机视野内移动多个位姿。如果标定板的安装方式搞反,标定方程将无法收敛或产生严重偏差。
4.2 判断方法:如何根据项目需求选择EIH或ETH
工程选型不能仅凭个人偏好,需要从精度、视野、遮挡、负载、维护等维度综合评估。下表列出了两种方案的关键对比维度,可作为选型决策的参考清单:
| 对比维度 | 眼在手上(EIH) | 眼在手外(ETH) |
|---|---|---|
| 相机安装位置 | 机械臂末端法兰盘 | 工作空间外固定支架 |
| 标定目标矩阵 | 相机→末端(T_cam2tool) | 相机→基座(T_cam2base) |
| 标定板安装位置 | 固定在工作空间内 | 固定在机械臂末端 |
| 视野特性 | 随机械臂移动,可近距离观察工件细节 | 视野固定,覆盖整个工作空间 |
| 遮挡问题 | 机械臂自身可能遮挡目标 | 机械臂或外围设备可能遮挡目标 |
| 精度特性 | 近距离测量精度高,但受臂变形影响 | 远距离测量精度略低,但不受臂变形影响 |
| 负载影响 | 增加末端负载,影响机械臂动态性能 | 不增加末端负载,对机械臂无影响 |
| 标定维护 | 相机碰撞后需重新标定 | 相机固定,标定稳定性好 |
| 典型应用 | 精密装配、小工件抓取、焊缝跟踪 | 大范围分拣、码垛、上下料 |
在实际项目选型时,建议遵循以下判断流程:
- 先看工件尺寸与工作空间:如果工件较小(如手机零件、电子元件),需要相机近距离观察细节,优先选择EIH;如果工件较大或工作空间广阔(如汽车零部件、物流包裹),需要全局视野,优先选择ETH。
- 再看节拍与运动方式:如果机械臂需要高速运动且频繁加减速,EIH会增加末端惯量,可能导致振动和精度下降,此时ETH更合适;如果机械臂运动相对平缓,EIH的近距离精度优势更明显。
- 评估遮挡风险:如果工件可能被机械臂自身遮挡(如深腔抓取),EIH可以通过调整臂姿态避开遮挡;如果工件可能被外围设备遮挡(如传送带上的堆叠件),ETH的固定视角可能无法避开,此时EIH更灵活。
- 考虑维护成本:如果现场存在碰撞风险(如人工干预频繁),EIH相机容易因碰撞而移位,需要频繁重新标定;ETH相机固定在防护罩内,标定稳定性更好。
经验提醒:在3D视觉引导的抓取场景中,如果使用EIH方案,建议在标定完成后增加一个“验证步骤”——让机械臂带动相机移动到几个典型抓取位姿,将视觉识别出的工件坐标投影到机械臂坐标系下,与真实位置对比,确认误差在允许范围内。这一步能有效发现标定过程中的隐性错误(如标定板安装松动、相机内参不准等)。
4.3 案例拆解:EIH与ETH在真实产线中的选型与实施
下面通过两个实际案例,展示两种方案在工程中的具体应用逻辑和标定实施要点。
案例一:3C精密装配线(选择EIH)
某手机摄像头模组装配线,需要机械臂从料盘抓取微型镜头(直径约8mm),装入手机中框的卡槽内。工件尺寸小、精度要求高(±0.05mm),且料盘位置存在±2mm的随机偏差。项目初期曾尝试ETH方案,但相机距离工件约800mm,视野内单个镜头仅占几十个像素,识别精度无法满足要求。改用EIH方案后,相机随机械臂移动到料盘上方约150mm处,镜头在图像中占据充足像素,识别稳定。
标定实施过程:
- 将标定板(7×9棋盘格,方格边长15mm)固定在料盘旁的工作台上,确保标定板在机械臂运动范围内始终可见。
- 控制机械臂带动相机从15个不同位姿拍摄标定板,位姿覆盖平移(X/Y/Z方向各±50mm)和旋转(绕X/Y轴各±15°),确保标定方程充分约束。
- 使用OpenCV的
calibrateHandEye()函数求解T_cam2tool,采用Tsai两步法,重投影误差控制在0.3像素以内。 - 标定完成后,在机械臂末端安装一个高精度探针,通过“视觉识别探针尖端+机械臂移动探针触碰固定点”的方式验证标定精度,实测误差为±0.08mm,满足装配要求。
该案例中,EIH的近距离优势是成功的关键。但同时也付出了代价:相机和镜头增加了约0.8kg的末端负载,机械臂在高速运动时出现了轻微抖动,最终通过降低加速度参数(从5m/s²降至3m/s²)解决了问题。
案例二:物流包裹分拣线(选择ETH)
某电商分拣中心,6台机械臂并排工作,从传送带上抓取尺寸不一的包裹(200mm~600mm),放置到不同滑槽。工作空间大(每台机械臂覆盖约2m×1.5m区域),节拍要求高(每分钟抓取15次),且包裹表面可能有反光胶带。项目选择ETH方案,每台机械臂上方2.2m处安装一台3D结构光相机,视野覆盖整个分拣区域。
标定实施过程:
- 将标定板(带编码点的铝合金板)通过专用夹具固定在机械臂末端法兰盘上。
- 控制机械臂在相机视野内移动20个位姿,位姿包括不同高度(Z方向变化±200mm)、不同水平位置(X/Y方向覆盖视野边缘)以及不同俯仰角(±20°),确保标定板在图像中呈现丰富姿态。
- 使用Halcon的
hand_eye_calibration算子求解T_cam2base,采用非线性优化方法,标定残差为0.5mm。 - 验证阶段,将标定板放在传送带不同位置,机械臂根据视觉引导抓取标定板,实测定位误差为±2mm,满足包裹抓取要求(包裹尺寸大,允许误差±5mm)。
该案例中,ETH方案的优势在于:相机固定,不受机械臂运动振动影响;6台机械臂可以共享同一台相机的标定结果(如果相机视野覆盖多台机械臂),降低了标定维护成本。但需要注意,ETH方案中机械臂运动到某些姿态时可能遮挡相机视野,因此在实际运行中增加了“避让路径规划”逻辑,确保机械臂在抓取过程中不进入相机与目标之间的遮挡区域。
风险提示:ETH方案中,如果机械臂基座与相机之间的相对位置发生变化(如机械臂被叉车碰撞、相机支架松动),标定结果将完全失效。建议在产线中设置定期标定校验流程,例如每班次开始前,让机械臂自动移动到固定校验点,通过视觉识别校验板上的标记,自动检测标定偏差是否超限。
4.4 常见误区与总结复盘
在手眼标定的工程实践中,以下误区经常导致标定失败或精度不达标,需要特别注意:
- 误区一:标定板安装位置错误。EIH方案中标定板必须固定在世界中,ETH方案中标定板必须固定在末端。如果装反,标定方程无法正确求解,即使算法“收敛”,结果也是错误的。
- 误区二:机械臂位姿变化不够丰富。标定方程需要足够的旋转约束才能稳定求解。如果所有标定位姿都是纯平移(无旋转),则旋转分量无法解算。建议至少包含绕两个正交轴的旋转变化,且旋转角度不小于10°。
- 误区三:忽略相机内参的影响。手眼标定建立在相机内参准确的基础上。如果相机内参(焦距、畸变系数)不准,手眼标定结果必然不准。建议先单独标定相机内参,再进行手眼标定。
- 误区四:标定板平面度不达标。标定板必须保持平整,如果标定板弯曲或表面有污渍,特征点提取精度下降,直接影响标定结果。建议使用陶瓷或玻璃基材标定板,并定期清洁。
- 误区五:忽略机械臂定位精度。手眼标定依赖机械臂控制器输出的位姿数据。如果机械臂本身定位精度差(如重复精度高但精度低),标定结果也会受影响。对于高精度应用,建议先对机械臂进行运动学标定。
总结复盘:眼在手上与眼在手外并非优劣之分,而是适用场景不同。EIH适合小工件、高精度、近距离、需要灵活避障的场景,但会增加末端负载并受臂变形影响;ETH适合大范围、高速节拍、多机械臂协同的场景,但存在固定遮挡风险且标定维护依赖相机固定稳定性。选型时应以工件尺寸、精度要求、节拍、遮挡风险、维护成本五个维度为核心决策依据。在标定实施层面,无论哪种方案,都应遵循“内参先行、位姿丰富、验证闭环”的原则,确保标定结果可靠且可追溯。