1. 标定基础回顾

各位同学,咱们正式开始这门课之前,先把最基础的东西夯实一下。手眼标定,说白了就是解决一个数学方程:AX = XB。

我第一次接触这个方程的时候,觉得它挺简单,不就是个矩阵求解嘛。后来在产线上调试机器人,才发现这里面坑多得很。今天咱们就把这个方程和背后的坐标系变换原理,彻底讲透。

1.1 手眼标定到底在解决什么问题?

想象一下这个场景:你有一个机器人,末端装了一个相机。机器人移动到一个位置,拍了一张照片,识别出工件的位置。现在问题来了——相机看到的坐标,怎么换算成机器人能用的坐标?

这就是手眼标定的核心任务:建立相机坐标系和机器人末端坐标系之间的固定变换关系。

核心概念:手眼标定求解的是一个固定的齐次变换矩阵 X,它描述了相机坐标系相对于机器人末端坐标系的位姿(位置+姿态)。

我习惯把这个矩阵 X 理解为“翻译官”。相机说“工件在我前方10厘米”,X 就把这句话翻译成机器人能听懂的“工件在末端前方10厘米”。

1.2 AX=XB 方程的由来

为什么是 AX=XB?咱们一步步推导一下。

假设机器人从位姿 A₁ 移动到 A₂,相机从位姿 B₁ 移动到 B₂。注意,这里的 A 和 B 描述的是同一个物体在不同坐标系下的变换。

  • A:机器人末端坐标系相对于机器人基座坐标系的变换(机器人控制器直接给出)
  • B:标定板坐标系相对于相机坐标系的变换(通过相机标定得到)
  • X:相机坐标系相对于机器人末端坐标系的变换(这就是我们要解的)

那么,从位姿1到位姿2,存在一个闭环关系:

A₁ · X · B₁⁻¹ = A₂ · X · B₂⁻¹

整理一下,就得到了经典方程:

A₂⁻¹ · A₁ · X = X · B₂⁻¹ · B₁

令 A = A₂⁻¹ · A₁,B = B₂⁻¹ · B₁,就得到:

A · X = X · B

我的经验:在实际项目中,我建议至少采集15-20组不同位姿的数据。太少的话,方程容易退化,解出来的 X 精度很差。我曾经吃过这个亏,只拍了8组数据,结果标定误差大得离谱。

1.3 坐标系变换原理

要理解 AX=XB,必须先搞懂坐标系变换。这里我快速过一下核心概念。

1.3.1 齐次变换矩阵

一个 4×4 的齐次变换矩阵 T 包含两部分:

组成部分 符号 含义 维度
旋转矩阵 R 描述两个坐标系之间的姿态关系 3×3
平移向量 t 描述两个坐标系之间的位置关系 3×1
T = [ R  t ]
    [ 0  1 ]

其中 R 是正交矩阵(RᵀR = I),t 是平移向量。最后一行固定为 [0 0 0 1]。

1.3.2 变换的链式法则

坐标系变换可以串联。比如:

T_cam_to_base = T_end_to_base · T_cam_to_end

这个公式的意思是:从相机坐标系到机器人基座坐标系的变换,等于先做末端到基座的变换,再做相机到末端的变换。

注意顺序:矩阵乘法不满足交换律!T₁ · T₂ 和 T₂ · T₁ 是完全不同的。我见过不少新手在这里搞反,标定结果一塌糊涂。

1.4 手眼标定的两种常见配置

根据相机安装位置不同,分为两种:

配置类型 相机安装位置 特点 典型应用
Eye-in-Hand 固定在机器人末端 相机随机器人移动,视野灵活 抓取、装配、焊接
Eye-to-Hand 固定在工作空间外 相机不动,视野固定 检测、定位、码垛

这两种配置对应的 AX=XB 形式略有不同,但本质是一样的。咱们这门课主要讲 Eye-in-Hand,因为它在工业机器人中更常见,标定难度也更大。

1.5 知识体系总览

下面这张图把本章的核心知识点串起来了。你仔细看看,心里有个框架。

手眼标定知识体系框架 手眼标定知识体系 手眼标定 核心问题:AX=XB 坐标系变换原理 两种配置类型 方程推导 数据采集 齐次变换矩阵 链式法则 Eye-in-Hand Eye-to-Hand 核心:所有子模块最终服务于求解 X 矩阵 X 是连接相机与机器人末端的“翻译官”

1.6 避坑指南:新手最容易犯的三个错误

做手眼标定这么多年,我总结出三个最常见的坑:

  1. 数据量不够:少于10组位姿,方程容易奇异。我建议至少15组,而且位姿要多样化,不要都在同一个区域转。
  2. 标定板精度不够:用打印的棋盘格?注意纸张变形。我习惯用陶瓷或玻璃基底的标定板,热稳定性好。
  3. 忽略机器人运动学误差:机器人本身的定位精度会影响标定结果。如果条件允许,先用激光跟踪仪标定机器人。

我曾经踩过的坑:有一次在产线上做 Eye-in-Hand 标定,采集了20组数据,解出来的 X 矩阵看起来没问题,但实际抓取总是偏2-3毫米。查了两天才发现,是机器人末端法兰的安装平面有0.1度的倾斜。从那以后,我每次标定前都会先检查机器人的机械状态。

1.7 本章小结

咱们这一章把基础打牢了:

  • 手眼标定的本质是求解 AX=XB
  • X 矩阵是相机到机器人末端的齐次变换矩阵
  • 坐标系变换遵循链式法则,注意乘法顺序
  • 两种配置(Eye-in-Hand / Eye-to-Hand)各有适用场景