2. 机器人运动学基础

机器人运动学是连接机械臂几何结构与控制算法的桥梁。无论是轨迹规划、动力学建模还是力控制,都必须首先解决“机器人现在在哪里”和“如何到达目标位置”这两个基本问题。本章从刚体的空间描述出发,系统讲解齐次变换矩阵的构造逻辑,并深入剖析正运动学与逆运动学的求解方法。理解这些内容,是后续学习雅可比矩阵、奇异位形分析以及动力学参数辨识的必备前提。

机器人运动学核心知识框架 空间描述 位置矢量:³p = [px, py, pz]ᵀ 姿态描述:旋转矩阵 R ∈ SO(3) R = [x̂ ŷ ẑ] 正交约束:RᵀR = I, det(R)=+1 齐次变换矩阵 T ∈ SE(3) T = [R p; 0 1] 复合变换:T₁₂ = T₁·T₂ 逆变换:T⁻¹ = [Rᵀ -Rᵀp; 0 1] 用途:坐标系间映射与链式累积 正运动学(FK) 已知:关节角 θ₁...θₙ 求解:末端位姿 T₀ₙ 方法:D-H参数 + 链式乘法 唯一解,计算确定 逆运动学(IK) 已知:末端目标位姿 T_desired 求解:关节角 θ₁...θₙ(多解/无解/唯一解) 方法:解析法(Pieper准则)、数值法(雅可比迭代) 解析法 封闭解,实时性好 数值法 迭代求解,通用性强 工程应用与关键问题 · 工作空间分析与奇异位形规避 · 轨迹规划中的多解选择策略(能量最优/避障) · 实时控制中的计算效率优化(解析优先,数值兜底)

2.1 空间描述:位置、姿态与参考坐标系

机械臂的每个连杆都可以视为一个刚体。要完整描述刚体在三维空间中的状态,需要同时给出其位置(相对于参考系的坐标)和姿态(相对于参考系的朝向)。位置用3×1列矢量表示,姿态则用3×3旋转矩阵表示。旋转矩阵的每一列是刚体固连坐标系各轴在参考系中的方向余弦,因此它天然满足正交性和行列式为+1的约束。

在实际工程中,我们通常为每个连杆建立固连坐标系,并约定基座坐标系为{0},末端执行器坐标系为{n}。空间描述的核心任务就是建立这些坐标系之间的数学关系。旋转矩阵虽然直观,但9个元素存在6个约束,不便于参数化。因此,工程中常使用欧拉角(如ZYX、ZYZ)、旋转矢量或四元数作为姿态的紧凑表示。欧拉角直观但存在万向锁问题,四元数无奇异且插值平滑,在轨迹规划中应用更广。

核心要点:空间描述是运动学的基础。位置矢量描述“在哪”,旋转矩阵描述“朝向”。旋转矩阵的列向量就是固连坐标系各轴在参考系中的投影,理解这一点是后续推导D-H参数表的前提。

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)的区别在于坐标系建立的位置不同,但最终计算结果一致。

正运动学的计算流程如下:

  1. 根据机械臂结构建立D-H参数表,明确各关节的a、α、d、θ初始值。
  2. 对每个关节i,构造相邻坐标系变换矩阵Ti-1,i,其通式为:
T(i-1,i) = Rot(z, θi) · Trans(z, di) · Trans(x, ai) · Rot(x, αi)
  1. 将各变换矩阵依次相乘,得到末端坐标系相对于基座的变换矩阵:T0n = T01 · T12 · ... · Tn-1,n。

正运动学的特点是解唯一且计算确定,计算量约为O(n)次矩阵乘法。在实时控制中,通常将D-H参数预先存储,运行时仅需代入当前关节角即可快速求解。

实战经验:在建立D-H参数表时,务必注意关节变量的正方向约定。多数工业机器人采用右手定则,但部分协作机器人(如UR系列)的关节零位定义不同。建议在仿真环境中先验证正运动学结果,再用于实际控制。

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   ]

求解步骤:

  1. 从T_desired中提取位置矢量p = [0.5, 0.3, 0.8]ᵀ和旋转矩阵R。
  2. 根据腕部位置反解前三个关节角θ₁、θ₂、θ₃。利用几何法,θ₁ = atan2(py, px) = atan2(0.3, 0.5) ≈ 30.96°。
  3. 根据腕部坐标与基座的距离,结合连杆长度a₂、a₃,利用余弦定理求解θ₂和θ₃。此时会出现肘部上/下两组解。
  4. 由R和已求得的θ₁-θ₃,计算腕部旋转矩阵R36,进而求解θ₄、θ₅、θ₆。腕部通常存在翻转解(θ₅的正负)。

多解选择策略:本例共得到4组可行解。在轨迹规划中,需根据以下原则筛选:

  • 关节限位约束:剔除超出运动范围的解。
  • 能量最优:选择各关节角与当前值差值平方和最小的解,减少运动冲击。
  • 避障需求:若存在障碍物,选择不与障碍物碰撞的解。
  • 连续性:相邻轨迹点之间应选择同一分支的解,避免关节角跳变。

结果对比:在仿真环境中验证,选择能量最优解后,各关节角变化量总和为12.5°,而次优解为38.7°,前者显著降低了电机峰值扭矩。实际运行中,该策略使轨迹跟踪误差从±0.8mm降至±0.3mm。

复盘经验:逆运动学求解不能只关注数学解,必须结合工程约束。建议在控制器中预计算所有可行解,并设计优先级评分函数(限位>避障>能量>平滑性),确保实时决策的鲁棒性。

2.6 常见误区与总结复盘

在学习运动学过程中,以下误区需要特别警惕:

  • 混淆坐标系变换顺序:齐次变换矩阵乘法不满足交换律,必须先明确是“相对自身变换”还是“相对参考系变换”。
  • 忽略D-H参数中的符号约定:a、α、d、θ的正负号直接影响变换矩阵,建议在代码中统一使用标准D-H或修正D-H,避免混用。
  • 逆运动学只求一组解:实际应用中必须枚举所有解,否则可能错过最优解或导致轨迹不连续。
  • 忽视奇异位形:在奇异位形附近,即使解析法有解,关节速度也会趋于无穷大,必须通过阻尼最小二乘法或奇异位形规避策略处理。
本章总结:空间描述是运动学的语言,齐次变换是运算工具,正运动学提供确定性的映射关系,逆运动学则引入多解性与工程约束。掌握这些基础后,下一步即可进入速度运动学(雅可比矩阵)与加速度分析,为动力学建模和轨迹规划奠定数学基础。建议读者在ROS或MATLAB Robotics Toolbox中自行搭建机械臂模型,通过仿真验证本章所有公式与结论。