4. 手眼标定核心问题
手眼标定的本质是求解两个刚体坐标系之间的空间位姿关系,即一个 4×4 齐次变换矩阵。该矩阵由 旋转矩阵 R(3×3)和 平移向量 t(3×1)组成,描述了相机坐标系 {C} 相对于机器人末端坐标系 {E}(或基座坐标系 {B})的平移与旋转。
核心目标: 通过标定数据,求解方程 A · X = X · B 中的未知矩阵 X,其中 X 即为手眼变换矩阵。
4.1 问题数学描述
设机器人末端(法兰盘)坐标系为 {E},相机坐标系为 {C},标定板(世界)坐标系为 {W}。手眼标定求解的是 {C} 相对于 {E} 的变换矩阵 ECT(即 X)。根据安装方式不同,方程形式略有差异:
| 安装方式 | 坐标系关系 | 基本方程 |
|---|---|---|
| 眼在手上(Eye-in-Hand) | 相机固定在机器人末端 | E1CT · CWT1 = E2CT · CWT2 |
| 眼在手外(Eye-to-Hand) | 相机固定在机器人外部 | BE1T · ECT · CWT1 = BE2T · ECT · CWT2 |
其中 E1CT 和 E2CT 是不同位姿下相机与末端的变换关系(理论上相同),CWT 是相机拍摄标定板得到的外参矩阵,BET 是机器人正运动学给出的末端位姿。
4.2 求解流程与步骤
求解过程通常分为两步:先解旋转矩阵 R,再解平移向量 t。具体步骤如下:
- 数据采集: 移动机器人至 N(N≥3)个不同位姿,在每个位姿下记录机器人末端位姿 BET 并拍摄标定板图像,通过相机标定获得 CWT。
- 构建方程对: 对任意两个位姿 i 和 j,构造矩阵 Aij 和 Bij:
- Aij = EiEjT(机器人末端运动变换)
- Bij = CiCjT(相机运动变换)
- 求解旋转矩阵: 使用 Tsai-Lenz、Park-Martin 或基于李代数的方法,从 Aij·R = R·Bij 中解出 R。
- 求解平移向量: 将 R 代入方程 (Aij - I)·t = R·tB - tA,通过最小二乘求解 t。
- 优化验证: 使用全部数据对结果进行非线性优化,并计算重投影误差验证精度。
关键约束: 机器人运动时,至少需要 3 个非平行旋转轴的运动才能唯一确定旋转矩阵 R。实际工程中建议采集 10~15 组位姿,覆盖机器人工作空间的不同区域。
4.3 求解方法对比
| 方法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| Tsai-Lenz | 两步法:先解旋转轴/角,再解平移 | 计算简单、速度快、适合实时 | 对噪声敏感,需要高精度数据 |
| Park-Martin | 基于四元数/李代数,同时优化 R 和 t | 鲁棒性好、精度较高 | 计算量稍大 |
| 非线性优化 | 将 R 和 t 作为变量,最小化重投影误差 | 精度最高、可融合多约束 | 需要初值、迭代收敛慢 |
4.4 手眼标定方程结构图
下图展示了眼在手上(Eye-in-Hand)配置下,各坐标系之间的变换关系与标定方程结构:
4.5 求解精度影响因素
工程注意: 手眼标定精度受多种因素耦合影响,以下因素需在标定过程中严格控制。
- 机器人定位精度: 机器人运动学模型误差会直接传递到手眼变换矩阵中,建议使用高精度工业机器人或进行运动学标定补偿。
- 相机标定精度: 相机内参和畸变参数的准确性直接影响外参 CWT 的精度,标定板应平整、特征点清晰。
- 位姿数量与分布: 位姿数量越多、旋转轴变化越丰富,方程约束越强,解算结果越稳定。避免所有位姿集中在同一平面或小范围。
- 数据噪声与异常值: 标定板角点提取误差、机器人关节回差等都会引入噪声,建议使用 RANSAC 或鲁棒估计方法剔除异常数据。
- 求解算法选择: 两步法(如 Tsai-Lenz)对噪声敏感,适合高精度数据;整体优化法(如李代数方法)鲁棒性更好,但需要合理初值。
4.6 验证与评估指标
标定完成后,需通过以下指标评估手眼变换矩阵的精度:
| 指标 | 计算公式 | 合格标准 |
|---|---|---|
| 旋转误差 | ‖Rij · Rest - Rest · Rij‖F | < 0.01 rad(约 0.57°) |
| 平移误差 | ‖tij - (Rest · tij + test)‖ | < 1 mm(视应用场景) |
| 重投影误差 | 将标定板角点通过手眼矩阵投影到图像,计算像素偏差 | < 0.5 pixel |
实践建议: 标定完成后,使用一组独立的验证位姿(不参与标定计算)进行精度评估,避免过拟合。若误差超标,应检查数据采集质量或重新标定。