3. 机器人运动学基础
在重复定位精度测试中,我们最终关心的是机器人末端执行器能否稳定回到同一个空间位置和姿态。但机器人并不是直接在空间中“画点”,而是通过各关节的转角或位移驱动连杆,间接把末端送到目标位姿。因此,理解关节空间与笛卡尔空间的关系、正逆运动学以及位姿表示与坐标变换,是读懂测试数据、定位误差来源的基础。
一、关节空间与笛卡尔空间:两种描述同一台机器人的语言
关节空间用各关节变量描述机器人状态。对一台六轴串联机器人,关节空间通常写成:
q = [q1, q2, q3, q4, q5, q6]^T
单位:rad 或 deg;移动关节为 m 或 mm
关节空间的特点是:每个分量相互独立、维度固定、不会出现奇异点,适合做轨迹插补、伺服控制和关节限位检查。但它不直观——看到 q 值,很难立刻判断末端在空间中的位置。
笛卡尔空间用末端执行器相对于某个坐标系的位姿描述机器人状态,通常写成位置加姿态:
p = [x, y, z]^T // 位置,单位 mm
R = [nx ox ax; // 姿态旋转矩阵
ny oy ay;
nz oz az]
笛卡尔空间直观,便于与工件、夹具、测量设备对齐,也是重复定位精度测试中最常被记录和比较的空间。但它存在奇异点、工作空间边界和姿态多解问题。测试中常见的“同一指令位置,末端却略有偏差”,往往需要同时查看关节空间和笛卡尔空间的数据才能解释。
二、正运动学与逆运动学:从关节到末端,再反推回来
正运动学是已知各关节变量 q,求末端位姿 T。它通过相邻连杆坐标系之间的齐次变换矩阵连乘得到:
T_0_6 = A1(q1) · A2(q2) · A3(q3) · A4(q4) · A5(q5) · A6(q6)
其中每个 A 矩阵包含连杆长度、偏置、扭角和关节变量,通常由 DH 参数或改进 DH 参数建立。正运动学是唯一确定的:给定一组 q,只有一个末端位姿。因此,在重复定位精度测试中,如果编码器反馈的 q 稳定,正运动学计算出的 T 也应稳定;若 T 波动,问题可能出在关节反馈、连杆参数或坐标系定义上。
逆运动学是已知目标位姿 T,求满足条件的关节变量 q。它比正运动学复杂得多,原因包括:
- 可能无解:目标点超出工作空间或姿态不可达;
- 可能多解:同一末端位姿可由多组关节角实现,例如“肘上/肘下”“腕翻转”;
- 可能遇到奇异点:雅可比矩阵降秩,关节速度趋于无穷,微小的笛卡尔偏差会引起巨大的关节变化。
在重复定位测试中,逆运动学主要用于生成目标点对应的关节指令。如果测试程序每次都调用逆解,而逆解在接近奇异点时选择了不同的关节分支,那么末端虽然名义上到达同一点,实际关节路径却不同,重复定位数据就会出现异常分散。
三、位姿表示与坐标变换:把“同一点”说清楚
位姿由位置和姿态共同组成。位置用三维向量表示,姿态则常用旋转矩阵、欧拉角、轴角或四元数表示。不同表示之间可以互相转换,但各有适用场景:
| 表示方法 | 典型形式 | 优点 | 测试中的注意点 |
|---|---|---|---|
| 旋转矩阵 R | 3×3 正交矩阵 | 无奇异、便于矩阵连乘 | 需正交化,数值漂移会影响姿态比较 |
| 欧拉角 | 如 ZYX:γ、β、α | 直观、易读 | 存在万向节锁,接近 β=±90° 时敏感 |
| 轴角 | 单位轴 k + 转角 θ | 几何意义清晰 | θ=0 时轴不唯一,需特殊处理 |
| 四元数 | q = [w, x, y, z] | 无奇异、插值平滑 | 需归一化,符号 q 与 -q 表示同一姿态 |
坐标变换则解决“同一个物理点在不同坐标系下如何表达”的问题。机器人系统中至少涉及基坐标系、法兰坐标系、工具坐标系和工件坐标系。一个点从工具坐标系变换到基坐标系,通常写成:
T_base_tool = T_base_flange · T_flange_tool
p_base = T_base_tool · p_tool
如果工具坐标系标定有偏差,或者工件坐标系与机器人基坐标系没有正确对齐,那么即使机器人关节重复性很好,测量得到的笛卡尔重复定位精度也会变差。这类误差属于系统性误差,不会因为多次回零而消失。
四、测试场景:为什么同一目标点会测出不同结果
假设我们在重复定位精度测试中让机器人以同一指令位姿 P 往返 30 次,用激光跟踪仪测量末端实际位置。若发现 X 方向重复性为 0.08 mm,而 Y 方向为 0.25 mm,可以从运动学角度逐层排查:
- 关节反馈层:查看 30 次中 q1~q6 的编码器值是否稳定。若某关节波动明显,问题在伺服或减速机,而非运动学。
- 正运动学层:用实际 q 代入 FK,计算理论末端位姿。若 FK 结果稳定而测量结果不稳定,说明问题在连杆参数、工具坐标系或外部测量基准。
- 逆运动学层:检查每次目标点是否由同一组 IK 解生成。若接近奇异点,不同次可能选到不同关节分支,导致关节路径不同。
- 坐标变换层:确认工具坐标系 TCP 标定是否一致,工件坐标系是否与测量坐标系对齐。一个 0.1° 的姿态偏差,在 300 mm 工具长度下可产生约 0.52 mm 的位置偏差。
五、常见误区与复盘要点
- 误区一:只看笛卡尔结果,不看关节数据。笛卡尔误差是“果”,关节反馈和运动学模型才是“因”。没有关节数据,很难区分系统误差与随机误差。
- 误区二:忽略姿态对位置精度的影响。重复定位精度包含位置和姿态。姿态微小变化会通过工具长度放大为末端位置偏差,测试时必须同时记录 R 或四元数。
- 误区三:把逆解多解当成随机误差。如果测试程序没有固定关节分支,接近奇异区时 IK 可能给出不同解,表现为“同一指令、不同路径”,这不是随机误差,而是算法选择问题。
- 误区四:坐标系未统一就下结论。机器人基坐标系、测量设备坐标系和工件坐标系必须通过标定统一到同一基准,否则比较的是不同坐标系下的点。