2. 机器人运动学基础

工业机器人手眼标定的本质,是求解相机坐标系与机器人基坐标系(或工具坐标系)之间的空间位姿关系。而这一切的数学根基,正是机器人运动学中的坐标变换理论。无论是2D相机的像素坐标到机器人基坐标的映射,还是3D视觉引导中的点云配准,都离不开旋转矩阵、齐次变换矩阵和姿态描述方法。本章将系统梳理这些核心数学工具,并简要介绍机器人正逆运动学的基本概念,为后续手眼标定矩阵的构建与求解打下坚实基础。

机器人运动学数学基础与手眼标定关系图 齐次变换矩阵 T (4×4) 旋转 R + 平移 t + 透视 + 比例 旋转矩阵 R (3×3) 正交矩阵 |R|=1, R⁻¹=Rᵀ 欧拉角 (α, β, γ) ZYX / ZYZ / 固定角 四元数 q = (w, x, y, z) 无万向锁 |q|=1 正运动学 (FK) 关节角 θ → 末端位姿 T 逆运动学 (IK) 末端位姿 T → 关节角 θ 手眼标定 AX = XB 相机-机器人位姿求解 旋转矩阵、欧拉角、四元数均可描述姿态,齐次变换矩阵统一表达位姿,正逆运动学连接关节空间与笛卡尔空间

3.1 坐标变换与齐次变换矩阵

在机器人视觉系统中,我们通常需要处理多个坐标系:机器人基坐标系(Base Frame)、工具坐标系(Tool Frame)、相机坐标系(Camera Frame)、标定板坐标系(Calibration Board Frame)等。坐标变换描述的是同一个空间点在两个不同坐标系下的坐标映射关系。设空间点P在坐标系{A}中的坐标为AP,在坐标系{B}中的坐标为BP,若已知坐标系{B}相对于坐标系{A}的位姿关系,则可以通过齐次变换矩阵ATB完成映射:

| A P |   | R   t | | B P |
|  1  | = | 0   1 | |  1  |

其中R为3×3旋转矩阵,t为3×1平移向量。齐次变换矩阵将旋转和平移统一为4×4矩阵形式,使得连续坐标变换可以通过矩阵乘法直接串联,例如ATC = ATB · BTC。在手眼标定中,我们正是利用这种链式变换关系,构建相机与机器人之间的位姿约束方程。

核心原理:齐次变换矩阵的逆矩阵ATB-1 = BTA,其计算方式为:RT 作为旋转部分,-RTt 作为平移部分。这一性质在标定方程推导中频繁使用。

3.2 旋转矩阵的数学性质与几何意义

旋转矩阵R是一个3×3正交矩阵,满足RTR = I且det(R) = +1。其列向量分别表示被旋转坐标系各轴在原坐标系中的方向余弦。旋转矩阵的乘法不满足交换律,即R1R2 ≠ R2R1,这反映了空间旋转的顺序依赖性。在机器人视觉中,旋转矩阵常用于描述相机姿态、工具姿态以及标定板姿态。

旋转矩阵性质数学表达工程意义
正交性RTR = I保证旋转不改变向量长度和夹角
行列式det(R) = +1右手坐标系,无镜像变换
逆矩阵R-1 = RT反向旋转只需转置,计算高效
组合性R = Rz·Ry·Rx可分解为绕各轴的基本旋转

从旋转矩阵提取旋转轴和旋转角(Rodrigues公式)是手眼标定中常用的操作。给定旋转矩阵R,旋转角θ = arccos((tr(R)-1)/2),旋转轴向量n可由反对称矩阵求得。这一转换在标定结果验证和误差分析中非常实用。

3.3 欧拉角与四元数:姿态描述的两种主流方法

欧拉角通过三个依次绕坐标轴旋转的角度来描述姿态,常见的有ZYX欧拉角(先绕Z轴旋转α,再绕Y轴旋转β,最后绕X轴旋转γ)和ZYZ欧拉角。欧拉角直观易懂,但存在两个关键缺陷:一是万向锁问题(当β = ±90°时,α和γ的旋转轴重合,丢失一个自由度);二是插值不自然,直接对欧拉角线性插值会导致姿态路径扭曲。四元数则通过一个四维向量q = (w, x, y, z)表示旋转,其中w为实部,(x, y, z)为虚部,满足w² + x² + y² + z² = 1。四元数不存在万向锁问题,且支持球面线性插值(Slerp),在机器人轨迹规划和视觉位姿估计中应用广泛。

工程经验:在编写手眼标定程序时,建议内部计算统一使用旋转矩阵或四元数,仅在用户界面显示时转换为欧拉角。这样可以避免万向锁导致的数值奇异问题,同时保证姿态插值的平滑性。

3.4 机器人正运动学与逆运动学简介

正运动学(Forward Kinematics, FK)是已知机器人各关节角度,求解末端执行器在基坐标系下的位姿。对于六轴串联机器人,通常采用Denavit-Hartenberg(D-H)参数法建立各连杆坐标系,通过相邻连杆间的齐次变换矩阵连乘得到末端位姿:0T6 = 0T1 · 1T2 · ... · 5T6。逆运动学(Inverse Kinematics, IK)则是已知末端期望位姿,反解各关节角度。逆运动学可能存在多解、无解或奇异位形,需要根据关节限位和路径规划要求选择最优解。

在手眼标定中,正运动学用于计算机器人末端在基坐标系下的实际位姿(通过读取关节角并代入运动学模型),而逆运动学则用于将视觉系统给出的目标位姿转换为机器人可执行的关节指令。两者的精度直接影响标定结果的准确性。

风险提示:机器人D-H参数的理论值与实际值往往存在偏差(连杆长度误差、关节零位偏移等),这会导致正运动学计算出的末端位姿与实际位姿不一致。在进行高精度手眼标定时,建议先对机器人进行运动学标定,修正D-H参数,否则标定误差会耦合到手眼矩阵中。

3.5 案例拆解:六轴机器人视觉抓取中的坐标变换链

以典型的“眼在手上”(Eye-in-Hand)视觉抓取场景为例,系统涉及四个关键坐标系:机器人基坐标系{B}、机器人末端坐标系{E}、相机坐标系{C}、工件坐标系{O}。整个坐标变换链如下:

  1. 相机拍摄工件,通过视觉算法获得工件在相机坐标系下的位姿 CTO;
  2. 通过手眼标定获得相机相对于机器人末端的位姿 ETC;
  3. 通过机器人正运动学获得末端相对于基座的位姿 BTE;
  4. 计算工件在基坐标系下的位姿:BTO = BTE · ETC · CTO;
  5. 结合逆运动学求解各关节角,驱动机器人抓取。

该案例中,任何一环的坐标变换错误都会导致抓取失败。例如,若ETC的旋转部分误差为1°,在500mm的工作距离下,末端定位误差约为8.7mm,足以导致抓取失败。因此,精确的手眼标定是视觉引导系统可靠运行的前提。

3.6 常见误区与总结复盘

  • 误区一:混淆旋转矩阵的乘法顺序。在串联变换中,左乘表示相对于固定坐标系旋转,右乘表示相对于当前坐标系旋转。手眼标定方程推导时务必明确旋转顺序。
  • 误区二:忽视欧拉角的万向锁问题。当机器人姿态接近万向锁位置时,欧拉角微小变化可能导致旋转矩阵剧烈跳变,影响标定稳定性。
  • 误区三:直接使用四元数进行线性插值。四元数线性插值(Lerp)会导致旋转速度不均匀,应使用Slerp或Nlerp(归一化线性插值)保证角速度恒定。
  • 误区四:忽略机器人运动学模型误差。手眼标定精度受限于机器人定位精度,若机器人本身重复定位精度高但精度低,需先进行运动学标定。

总结而言,坐标变换与姿态描述是手眼标定的数学基石。掌握齐次变换矩阵的链式法则、旋转矩阵的正交性质、欧拉角与四元数的适用场景,以及正逆运动学的基本逻辑,是理解后续标定方程推导、求解与误差分析的前提。在实际工程中,建议建立统一的坐标系管理规范,所有位姿数据内部以齐次变换矩阵或四元数存储,仅在交互界面展示欧拉角,以最大限度减少数值误差和逻辑混乱。