1. 手眼标定概述
1.1 手眼标定的定义
手眼标定(Hand-Eye Calibration)是机器人视觉系统中的核心步骤,其目标是求解机器人末端执行器(手)与视觉传感器(眼)之间的精确空间变换关系。通过标定,系统能够将相机捕捉到的图像坐标转换为机器人可理解的基坐标系或工具坐标系下的三维位姿。
核心数学表达: 手眼标定本质是求解齐次变换矩阵 X,满足方程 AX = XB,其中 A 为机器人末端位姿变化,B 为相机观测到的标定板位姿变化。
1.2 Eye-in-Hand 与 Eye-to-Hand 的区别
根据相机安装位置的不同,手眼标定分为两种经典构型,其定义、特点和适用场景存在显著差异。
| 对比维度 | Eye-in-Hand(眼在手上) | Eye-to-Hand(眼在手外) |
|---|---|---|
| 相机安装位置 | 固定在机器人末端法兰盘上 | 固定在工作空间外部(如支架、天花板) |
| 标定目标 | 求解相机坐标系 → 工具坐标系的变换 | 求解相机坐标系 → 机器人基坐标系的变换 |
| 标定板位置 | 固定在工作空间内(不随机器人移动) | 固定在机器人末端(随机器人移动) |
| 观测特点 | 相机随机器人运动,视野随位姿变化 | 相机固定,视野稳定,标定板随机器人运动 |
| 典型应用 | 近距离抓取、装配、焊缝跟踪 | 全局定位、大范围分拣、安全监控 |
| 标定方程形式 | AX = XB(经典形式) | AX = XB(形式相同,但矩阵含义不同) |
选型建议: 若任务需要高精度局部操作(如精密装配),优先选择 Eye-in-Hand;若任务需要全局视野和固定观测(如 AGV 导航),优先选择 Eye-to-Hand。
1.3 标定在机器人视觉系统中的作用
手眼标定是连接“视觉感知”与“机器人运动”的桥梁,其作用贯穿整个视觉引导流程。缺少精确标定,视觉系统输出的坐标将无法被机器人正确执行。
- 坐标统一: 将像素坐标、相机坐标、机器人基坐标统一到同一空间参考系下,消除坐标系间的未知偏移。
- 精度保障: 标定参数直接影响抓取、放置、装配等操作的定位精度,是系统精度的上限。
- 动态补偿: 在 Eye-in-Hand 构型中,标定结果用于实时补偿机器人运动带来的相机位姿变化,实现“所见即所得”。
- 系统集成: 标定是视觉系统与机器人控制系统数据融合的前提,是自动化产线部署的关键调试环节。
- 误差溯源: 通过标定残差分析,可以诊断机器人运动学误差、相机畸变、安装松动等硬件问题。
1.4 标定流程概览
一个完整的手眼标定流程通常包含以下步骤,每个步骤的精度都会影响最终标定结果。
- 数据采集: 控制机器人运动到多个不同位姿,同时记录机器人末端位姿和相机拍摄的标定板图像。
- 特征提取: 从图像中提取标定板角点坐标,计算相机相对于标定板的外参。
- 方程构建: 根据构型(Eye-in-Hand / Eye-to-Hand)构建 AX = XB 方程组。
- 参数求解: 使用 Tsai、Park、Horaud 等经典算法求解旋转矩阵和平移向量。
- 非线性优化: 以重投影误差为目标函数,对标定结果进行全局优化。
- 精度验证: 通过独立测试集计算重投影误差、位置误差和姿态误差,评估标定质量。
常见误区: 采集数据时机器人位姿变化幅度过小(如仅平移不旋转),会导致标定方程病态,求解结果不可靠。建议位姿覆盖至少 ±30° 旋转和 ±100mm 平移。