1. 标定基础概念:Eye-to-Hand 与 Eye-in-Hand 的区别、标定矩阵定义、坐标系转换关系
1.1 两种标定模式的核心区别
在机器人视觉引导系统中,相机与机器人的安装方式决定了标定策略。根据相机是否固定在机器人末端,分为 Eye-to-Hand(眼在手外)和 Eye-in-Hand(眼在手上)两种模式。两者的本质区别在于:相机坐标系与机器人基坐标系之间的变换关系是否随机器人运动而变化。
| 对比维度 | Eye-to-Hand(眼在手外) | Eye-in-Hand(眼在手上) |
|---|---|---|
| 相机安装位置 | 固定于工作空间上方或侧面,不随机器人运动 | 固定在机器人末端法兰或工具上,随机器人运动 |
| 相机与机器人关系 | 相机坐标系 → 机器人基坐标系(固定变换) | 相机坐标系 → 机器人末端坐标系(固定变换) |
| 标定目标 | 求解相机坐标系到机器人基坐标系的变换矩阵 | 求解相机坐标系到机器人末端坐标系的变换矩阵 |
| 标定方程形式 | AX = XB(手眼标定经典方程) | AX = XB(形式相同,但变量含义不同) |
| 视野特点 | 视野固定,适合大范围、静态场景 | 视野随末端移动,适合近距离、精细操作 |
| 典型应用 | 上下料、码垛、分拣、装配线 | 焊接、打磨、涂胶、精密装配 |
关键理解: 两种模式都求解形如
AX = XB 的矩阵方程,但 X 代表的物理意义不同。Eye-to-Hand 中 X 是相机到机器人基座的变换;Eye-in-Hand 中 X 是相机到机器人末端的变换。不要混淆两者的坐标系链。
1.2 标定矩阵的定义与数学表示
标定的核心是求解 齐次变换矩阵(Homogeneous Transformation Matrix),它是一个 4×4 矩阵,同时包含旋转和平移信息:
┌ ┐
│ R3×3 t3×1 │
T = │ │
│ 01×3 1 │
└ ┘
其中:
- R:3×3 旋转矩阵,描述两个坐标系之间的姿态关系(正交矩阵,行列式为 +1)
- t:3×1 平移向量,描述原点之间的偏移量
- 0:1×3 零行向量
- 1:标量缩放因子(通常为 1)
在 Eye-to-Hand 标定中,我们求解的矩阵记为 baseTcam,表示从相机坐标系到机器人基坐标系的变换。该矩阵使得空间中任意一点 P 的坐标可以在两个坐标系之间转换:
Pbase = baseTcam · Pcam
工程提示: 实际标定中,我们通常使用标定板(如棋盘格、圆点阵)作为中间参考物。通过采集多组机器人位姿和对应的标定板图像,利用非线性优化方法求解 baseTcam。常用的求解方法包括 Tsai 两步法、Park-Martin 法、以及基于李代数的优化方法。
1.3 坐标系转换关系与链式变换
一个完整的 Eye-to-Hand 视觉引导系统涉及以下坐标系:
- 机器人基坐标系 {B}:机器人运动的全局参考系
- 机器人末端坐标系 {E}:固定在机器人法兰盘上
- 工具坐标系 {T}:固定在机器人末端执行器(如夹爪、吸盘)上
- 相机坐标系 {C}:固定在场景中的视觉传感器
- 标定板坐标系 {P}:标定板上的特征点定义
- 工件坐标系 {W}:待操作物体所在的参考系
坐标系之间的变换关系构成一条 闭环链:
机器人基座 {B} ←→ 机器人末端 {E} ←→ 工具 {T} ←→ 标定板 {P} ←→ 相机 {C} ←→ 机器人基座 {B}
用齐次变换矩阵表示为:
BTE · ETT · TTP · PTC · CTB = I
其中 I 为单位矩阵。由于 CTB = (BTC)-1,上式可改写为:
BTE · ETT · TTP · PTC = BTC
这就是 Eye-to-Hand 标定的基本方程。其中 BTE 可从机器人控制器读取,ETT 为工具参数(已知),TTP 为标定板在工具上的安装变换(已知或可测量),PTC 通过图像处理获得,未知量为 BTC(相机到机器人基座的变换)。
常见误区: 初学者容易混淆 BTC 和 CTB 的方向。请记住:BTC 表示“从相机坐标系到机器人基坐标系的变换”,即把相机坐标系下的点变换到基坐标系下。标定结果通常以 BTC 形式存储。
1.4 标定方程 AX = XB 的推导
Eye-to-Hand 标定的核心方程来源于 闭环约束。假设机器人运动到两个不同位姿,分别记为位姿 1 和位姿 2,则有以下关系:
位姿 1:BTE1 · ETT · TTP · PTC1 = BTC
位姿 2:BTE2 · ETT · TTP · PTC2 = BTC
两式相减(消去 BTC),并令:
A = (BTE2)-1 · BTE1 (机器人末端运动)
B = PTC2 · (PTC1)-1 (标定板在相机下的运动)
X = ETT · TTP (工具到标定板的变换,未知)
得到经典手眼标定方程:
A · X = X · B
其中 A 和 B 可通过机器人控制器和图像处理分别获得,X 为待求的未知变换矩阵。通过采集多组(至少 3 组,通常 10-20 组)位姿数据,利用最小二乘或非线性优化求解 X。
工程要点: 求解 AX = XB 时,需要保证采集的位姿之间具有足够的旋转差异。如果机器人只在平移方向运动而旋转不变,方程会退化,导致解不唯一。建议在标定过程中让机器人末端做大幅度的旋转运动(绕多个轴旋转 30° 以上),以提高标定精度。
1.5 标定精度的影响因素
标定精度直接决定了视觉引导系统的定位准确性。以下是影响 Eye-to-Hand 标定精度的主要因素:
| 因素类别 | 具体因素 | 影响程度 | 改善建议 |
|---|---|---|---|
| 机器人运动学 | 机器人定位精度、关节零位误差 | 高 | 使用高精度机器人;标定前进行机器人本体标定 |
| 相机参数 | 相机内参标定误差、镜头畸变 | 高 | 使用高分辨率相机;定期进行内参标定 |
| 标定板 | 标定板平面度、特征点位置精度 | 中 | 使用陶瓷或玻璃基板;特征点加工公差 < 0.01mm |
| 图像处理 | 特征点提取精度、亚像素定位算法 | 中 | 使用亚像素角点检测;多帧平均降噪 |
| 位姿采集 | 采集位姿数量、位姿分布均匀性 | 高 | 采集 15-20 组位姿;覆盖工作空间不同区域和姿态 |
| 环境因素 | 光照变化、振动、温度漂移 | 低-中 | 保持恒定光照;机器人低速运动;恒温环境 |
经验数据: 在良好条件下,Eye-to-Hand 标定的平移误差可控制在 0.5-1.5 mm,旋转误差可控制在 0.1°-0.3°。如果标定后视觉引导的抓取误差超过 3 mm,建议优先检查机器人定位精度和相机内参标定质量。