2. 机器人运动学基础
机器人运动学是连接机械臂几何结构与控制算法的桥梁。无论是轨迹规划、动力学建模还是力控制,都必须首先解决“机器人现在在哪里”和“如何到达目标位置”这两个基本问题。本章从刚体的空间描述出发,系统讲解齐次变换矩阵的构造逻辑,并深入剖析正运动学与逆运动学的求解方法。理解这些内容,是后续学习雅可比矩阵、奇异位形分析以及动力学参数辨识的必备前提。
2.1 空间描述:位置、姿态与参考坐标系
机械臂的每个连杆都可以视为一个刚体。要完整描述刚体在三维空间中的状态,需要同时给出其位置(相对于参考系的坐标)和姿态(相对于参考系的朝向)。位置用3×1列矢量表示,姿态则用3×3旋转矩阵表示。旋转矩阵的每一列是刚体固连坐标系各轴在参考系中的方向余弦,因此它天然满足正交性和行列式为+1的约束。
在实际工程中,我们通常为每个连杆建立固连坐标系,并约定基座坐标系为{0},末端执行器坐标系为{n}。空间描述的核心任务就是建立这些坐标系之间的数学关系。旋转矩阵虽然直观,但9个元素存在6个约束,不便于参数化。因此,工程中常使用欧拉角(如ZYX、ZYZ)、旋转矢量或四元数作为姿态的紧凑表示。欧拉角直观但存在万向锁问题,四元数无奇异且插值平滑,在轨迹规划中应用更广。
2.2 齐次变换矩阵:复合变换与逆变换
将旋转矩阵与位置矢量组合为4×4齐次变换矩阵,可以统一表达坐标系的平移和旋转。其形式为:
T = [ R p ]
[ 0 1 ]
其中R为3×3旋转矩阵,p为3×1位置矢量。齐次变换的核心优势在于:复合变换可以通过矩阵乘法直接实现。若已知坐标系{A}到{B}的变换TAB,以及{B}到{C}的变换TBC,则{A}到{C}的变换为TAC = TAB · TBC。这种链式法则构成了正运动学的基础。
逆变换的求解同样重要。给定TAB,求TBA可利用旋转矩阵的正交性简化:
T⁻¹ = [ Rᵀ -Rᵀ·p ]
[ 0 1 ]
这一公式避免了直接对4×4矩阵求逆,计算效率高,在实时控制中非常关键。需要注意的是,齐次变换矩阵的乘法不满足交换律,即TAB·TBC ≠ TBC·TAB,这反映了空间变换的顺序依赖性。
| 变换类型 | 数学表达 | 物理含义 | 典型应用 |
|---|---|---|---|
| 纯平移 | T = [I, p; 0, 1] | 仅移动坐标系原点 | 工具坐标系标定 |
| 纯旋转 | T = [R, 0; 0, 1] | 仅改变坐标系朝向 | 腕部姿态调整 |
| 复合变换 | T = T₁·T₂ | 先相对自身变换,再相对参考系变换 | 多连杆链式累积 |
| 逆变换 | T⁻¹ = [Rᵀ, -Rᵀp; 0, 1] | 从目标系映射回参考系 | 视觉伺服中的坐标反算 |
2.3 正运动学:D-H参数法与链式乘法
正运动学解决“给定关节角,求末端位姿”的问题。最经典的方法是Denavit-Hartenberg(D-H)参数法。该方法在每个连杆上建立固连坐标系,用四个参数(连杆长度ai、连杆扭转角αi、关节距离di、关节角θi)描述相邻连杆间的变换关系。标准D-H模型(SDH)和修正D-H模型(MDH)的区别在于坐标系建立的位置不同,但最终计算结果一致。
正运动学的计算流程如下:
- 根据机械臂结构建立D-H参数表,明确各关节的a、α、d、θ初始值。
- 对每个关节i,构造相邻坐标系变换矩阵Ti-1,i,其通式为:
T(i-1,i) = Rot(z, θi) · Trans(z, di) · Trans(x, ai) · Rot(x, αi)
- 将各变换矩阵依次相乘,得到末端坐标系相对于基座的变换矩阵:T0n = T01 · T12 · ... · Tn-1,n。
正运动学的特点是解唯一且计算确定,计算量约为O(n)次矩阵乘法。在实时控制中,通常将D-H参数预先存储,运行时仅需代入当前关节角即可快速求解。
2.4 逆运动学:解析法与数值法
逆运动学是运动学中最具挑战性的问题:已知末端目标位姿,求解满足条件的关节角。与正运动学不同,逆运动学可能存在多解、无解或唯一解三种情况。多解性源于机械臂的关节配置(如肘部上下翻转),无解则意味着目标点超出工作空间。
解析法(又称封闭解法)通过代数或几何方法直接求解关节角。其适用条件由Pieper准则给出:若六自由度机械臂的三个相邻关节轴交于一点(通常为腕部),则逆运动学存在封闭解。大多数工业六轴机器人(如KUKA、ABB)满足该条件。解析法的优点是计算速度快、精度高,适合实时控制;缺点是推导过程复杂,且需要针对每种构型单独推导。
数值法(如雅可比迭代法、牛顿-拉夫森法)通过迭代逼近解。其通用性强,适用于任意构型,但计算量大、可能陷入局部极小值,且实时性较差。实际工程中常采用混合策略:优先使用解析法求解,若解析法失效(如接近奇异位形),则切换至数值法兜底。
2.5 案例拆解:六轴机器人逆运动学求解与多解选择
以典型六轴串联机器人(如ER3A-C60)为例,其腕部三个关节轴交于一点,满足Pieper准则,可采用解析法求解。设目标位姿为:
T_desired = [ 0.866 -0.5 0 0.5 ]
[ 0.5 0.866 0 0.3 ]
[ 0 0 1 0.8 ]
[ 0 0 0 1 ]
求解步骤:
- 从T_desired中提取位置矢量p = [0.5, 0.3, 0.8]ᵀ和旋转矩阵R。
- 根据腕部位置反解前三个关节角θ₁、θ₂、θ₃。利用几何法,θ₁ = atan2(py, px) = atan2(0.3, 0.5) ≈ 30.96°。
- 根据腕部坐标与基座的距离,结合连杆长度a₂、a₃,利用余弦定理求解θ₂和θ₃。此时会出现肘部上/下两组解。
- 由R和已求得的θ₁-θ₃,计算腕部旋转矩阵R36,进而求解θ₄、θ₅、θ₆。腕部通常存在翻转解(θ₅的正负)。
多解选择策略:本例共得到4组可行解。在轨迹规划中,需根据以下原则筛选:
- 关节限位约束:剔除超出运动范围的解。
- 能量最优:选择各关节角与当前值差值平方和最小的解,减少运动冲击。
- 避障需求:若存在障碍物,选择不与障碍物碰撞的解。
- 连续性:相邻轨迹点之间应选择同一分支的解,避免关节角跳变。
结果对比:在仿真环境中验证,选择能量最优解后,各关节角变化量总和为12.5°,而次优解为38.7°,前者显著降低了电机峰值扭矩。实际运行中,该策略使轨迹跟踪误差从±0.8mm降至±0.3mm。
复盘经验:逆运动学求解不能只关注数学解,必须结合工程约束。建议在控制器中预计算所有可行解,并设计优先级评分函数(限位>避障>能量>平滑性),确保实时决策的鲁棒性。
2.6 常见误区与总结复盘
在学习运动学过程中,以下误区需要特别警惕:
- 混淆坐标系变换顺序:齐次变换矩阵乘法不满足交换律,必须先明确是“相对自身变换”还是“相对参考系变换”。
- 忽略D-H参数中的符号约定:a、α、d、θ的正负号直接影响变换矩阵,建议在代码中统一使用标准D-H或修正D-H,避免混用。
- 逆运动学只求一组解:实际应用中必须枚举所有解,否则可能错过最优解或导致轨迹不连续。
- 忽视奇异位形:在奇异位形附近,即使解析法有解,关节速度也会趋于无穷大,必须通过阻尼最小二乘法或奇异位形规避策略处理。