4. 手眼标定数学原理
手眼标定的核心是求解机器人末端执行器与相机之间的固定空间变换关系,即手眼矩阵 X。该问题在数学上被抽象为经典的 AX = XB 方程,其求解精度直接决定了标定结果的可靠性。本节将深入推导该方程的数学基础,阐述旋转与平移分离求解的经典策略,并介绍非线性优化在提升标定精度中的关键作用。
4.1 AX=XB 方程推导
考虑机器人基座坐标系 B、末端执行器坐标系 E、相机坐标系 C 以及标定板坐标系 P。手眼标定旨在求解从相机到末端执行器的变换矩阵 X(即 ETC)。
当机器人移动至两个不同位姿时,可建立如下闭环约束:
- 位姿 1:机器人末端相对于基座的变换为 A1(即 BTE1),相机相对于标定板的变换为 B1(即 CTP1)。
- 位姿 2:机器人末端相对于基座的变换为 A2(即 BTE2),相机相对于标定板的变换为 B2(即 CTP2)。
由于标定板固定在机器人工作空间中,其相对于基座的变换 BTP 是恒定的。因此,从基座到标定板存在两条等效路径:
路径一:基座 → 末端 → 相机 → 标定板
路径二:基座 → 末端 → 相机 → 标定板(另一组位姿)
对于位姿 1 和位姿 2,分别有:
- BTP = A1 · X · B1
- BTP = A2 · X · B2
由于两式相等,可得:
A1 · X · B1 = A2 · X · B2
整理后,得到经典的手眼标定方程:
(A2⁻¹ · A1) · X = X · (B2 · B1⁻¹)
令 A = A2⁻¹ · A1,B = B2 · B1⁻¹,则方程简化为:
A · X = X · B
其中,A 表示机器人末端在两个位姿之间的相对运动,B 表示相机在两个位姿之间的相对运动,X 即为待求的手眼矩阵。
4.2 旋转与平移分离求解策略
直接求解 4×4 齐次变换矩阵 X 中的 6 个自由度(3 旋转 + 3 平移)是一个非线性问题。经典的求解策略是将旋转与平移分离,先求解旋转分量,再代入求解平移分量,从而将问题线性化。
将变换矩阵展开为旋转矩阵 R 和平移向量 t 的形式:
X = [ R_x t_x ]
[ 0 1 ]
A = [ R_a t_a ]
[ 0 1 ]
B = [ R_b t_b ]
[ 0 1 ]
代入方程 A·X = X·B,展开后得到两个独立方程:
| 分量 | 方程 | 说明 |
|---|---|---|
| 旋转分量 | Ra · Rx = Rx · Rb |
仅与旋转矩阵有关,与平移无关 |
| 平移分量 | (Ra - I) · tx = Rx · tb - ta |
在已知 Rx 后,为线性方程 |
4.3 旋转求解方法
旋转方程 Ra · Rx = Rx · Rb 的求解是手眼标定的核心。常用的方法包括:
- Tsai 方法(轴角法):将旋转矩阵转换为旋转轴与旋转角,利用轴角关系构建线性方程组,适用于小角度或一般情况。
- Park 方法(李群/李代数法):利用李群 SO(3) 的对数映射,将旋转方程转化为李代数 se(3) 上的线性方程,具有全局收敛性。
- 四元数法:将旋转矩阵表示为四元数,将方程转化为四元数乘法形式,通过求解特征值问题得到最优旋转。
| 方法 | 数学工具 | 优点 | 局限 |
|---|---|---|---|
| Tsai 轴角法 | 旋转轴 + 旋转角 | 实现简单,计算快速 | 对噪声敏感,奇异点处理复杂 |
| Park 李群法 | 李代数 so(3) | 全局收敛,精度较高 | 需要矩阵对数运算 |
| 四元数法 | 单位四元数 | 无奇异点,适合插值 | 需要求解特征值问题 |
4.4 平移求解方法
在求得旋转矩阵 Rx 后,平移向量 tx 可通过求解线性方程组获得:
(R_a - I) · t_x = R_x · t_b - t_a
对于多组位姿数据,可构建超定线性方程组:
[ (R_a1 - I) ] [ R_x · t_b1 - t_a1 ]
[ (R_a2 - I) ] · t_x = [ R_x · t_b2 - t_a2 ]
[ ... ] [ ... ]
使用最小二乘法(如 SVD 分解)求解 tx,即可得到完整的手眼矩阵 X。
4.5 非线性优化背景
旋转与平移分离求解虽然计算高效,但存在以下固有缺陷:
- 误差传递:旋转矩阵的求解误差会直接传递到平移向量,导致平移精度下降。
- 噪声敏感:分离求解对测量噪声较为敏感,尤其在旋转角度较小时,数值稳定性变差。
- 非最优性:分离求解本质上是两步法,无法保证整体重投影误差最小。
为克服上述问题,现代手眼标定算法通常引入非线性优化作为精化步骤。其核心思想是将手眼矩阵 X 的所有参数(旋转和平移)作为优化变量,以重投影误差或位姿残差作为代价函数,使用迭代优化算法(如 Levenberg-Marquardt、高斯-牛顿法)进行全局优化。
优化目标函数示例:
minimize Σᵢ || (Aᵢ · X · Bᵢ) ⊖ I ||²
其中 ⊖ 表示李群上的减法(即计算变换矩阵与单位矩阵之间的李代数残差),通过最小化所有位姿下的闭环残差平方和,同时优化旋转与平移参数。
非线性优化的优势在于:
- 联合优化:同时优化旋转与平移,避免误差传递。
- 鲁棒性:可引入鲁棒核函数(如 Huber 核)抑制异常值影响。
- 高精度:在良好初值基础上,可达到亚毫米级标定精度。
注意事项:非线性优化对初值敏感,建议先使用分离求解方法(如 Tsai 或 Park 法)获得初始解,再以此为起点进行非线性精化。同时,优化过程中应使用李代数参数化(如 so(3) + R³)以避免旋转矩阵的正交性约束。
4.6 本章小结
| 核心概念 | 关键方程/方法 | 作用 |
|---|---|---|
| AX=XB 方程 | A·X = X·B | 手眼标定的数学基础 |
| 旋转分离求解 | Rₐ·Rₓ = Rₓ·R_b | 先求解旋转分量 |
| 平移分离求解 | (Rₐ - I)·tₓ = Rₓ·t_b - tₐ | 在旋转已知后求解平移 |
| 非线性优化 | Levenberg-Marquardt / 高斯-牛顿 | 全局精化,提升标定精度 |