2、机械臂运动学基础:位姿描述、齐次变换、正运动学(DH参数)与逆运动学求解方法

机械臂运动学是机器人学中最核心的基石,它研究的是机械臂关节空间与末端执行器操作空间之间的映射关系,而不涉及产生运动的力和力矩。对于从事伺服关节轨迹规划与动力学控制的工程师而言,运动学不仅是轨迹插补的数学前提,更是后续动力学建模(如雅可比矩阵、惯性矩阵)的必备基础。本章将系统梳理从刚体位姿描述到齐次变换矩阵,再到基于DH参数的正运动学建模,以及逆运动学求解的完整方法论,帮助读者建立从数学表达到工程落地的闭环思维。

机械臂运动学知识框架与求解链路 位姿描述 位置矢量 + 旋转矩阵 RPY / 欧拉角 / 四元数 自由度:3位置 + 3姿态 齐次变换矩阵 4×4 矩阵 [R | p] 复合变换:T = T1·T2 坐标系映射与链式法则 DH参数建模 aᵢ₋₁, αᵢ₋₁, dᵢ, θᵢ 标准DH vs 改进DH 关节坐标系建立规则 正运动学 T₀ⁿ = A₁·A₂·…·Aₙ 关节角 → 末端位姿 唯一解,直接计算 数学表达 参数化 矩阵连乘 逆运动学求解 目标:末端位姿 → 关节角 θ₁, θ₂, …, θₙ 解析法(几何法 / 代数法) | 数值法(雅可比迭代 / 优化) 多重解 / 奇异位形 / 可操作性度量 逆问题 轨迹规划输入 笛卡尔空间插补 → 逆解 → 关节空间 奇异点规避与平滑过渡 动力学与控制基础 雅可比矩阵 J(q) 速度/力映射 惯性矩阵、科氏力、重力项 伺服关节执行 关节角指令 → 位置环/速度环 前馈补偿与力矩控制 工程闭环

2.1 刚体位姿描述与旋转矩阵

核心原理:机械臂的每个连杆都可以视为一个刚体。在三维空间中,刚体的完整位姿由位置(3个自由度)和姿态(3个自由度)共同描述,合计6个自由度。位置通常用一个3×1的位置矢量 p = [x, y, z]T 表示;姿态则用3×3的旋转矩阵 R 表示,其列向量是固连坐标系各轴在参考坐标系中的方向余弦。旋转矩阵是正交矩阵,满足 RTR = I 且 det(R) = +1,因此9个元素中只有3个独立参数。

姿态的工程表达方式:虽然旋转矩阵在数学上完备,但工程中为了直观和参数化,常使用以下三种等价描述:

  • 固定角(RPY):绕固定参考坐标系的X、Y、Z轴依次旋转γ(Roll)、β(Pitch)、α(Yaw),旋转矩阵 R = Rz(α)·Ry(β)·Rx(γ)。
  • 欧拉角(ZYX):绕运动坐标系的Z、Y、X轴依次旋转,适用于关节臂末端姿态的递推表达。
  • 四元数:用4个参数(一个实部+三个虚部)表示姿态,避免了欧拉角的万向锁问题,在插补和滤波中广泛使用。
经验提醒:在伺服关节轨迹规划中,若使用欧拉角进行笛卡尔空间插补,必须注意万向锁(Gimbal Lock)导致的自由度退化。建议在姿态插补时切换为四元数球面线性插值(SLERP),而在最终逆解时再转换回旋转矩阵。

2.2 齐次变换矩阵与坐标系链式法则

核心原理:为了将旋转和平移统一在一个线性框架下,引入4×4齐次变换矩阵 T,其形式为:

T = [ R   p ]
    [ 0   1 ]

其中 R 为3×3旋转矩阵,p 为3×1平移矢量。齐次变换的核心价值在于复合变换:若已知坐标系 {B} 相对于 {A} 的变换 TAB,以及坐标系 {C} 相对于 {B} 的变换 TBC,则 {C} 相对于 {A} 的变换为 TAC = TAB · TBC。这构成了机械臂正运动学链式法则的基础。

操作流程:在实际建模中,我们通常为每个关节i建立坐标系{i},然后定义相邻坐标系间的齐次变换 Ai = Ti-1,i。末端执行器坐标系 {n} 相对于基坐标系 {0} 的位姿为:

T_0n = A_1 · A_2 · … · A_n

这一矩阵连乘过程即为正运动学求解,计算量固定且结果唯一。

变换类型矩阵形式物理意义典型应用
纯平移[I, p; 0, 1]坐标系原点移动连杆长度偏移
纯旋转(绕X轴)[Rx(θ), 0; 0, 1]绕X轴旋转θ关节旋转
复合变换[R1·R2, R1·p2+p1; 0, 1]先相对运动再相对固定多关节链式求解

2.3 正运动学:DH参数建模与矩阵连乘

核心原理:Denavit-Hartenberg(DH)参数法通过4个运动学参数(连杆长度 ai-1、连杆扭转角 αi-1、连杆偏距 di、关节角 θi)唯一确定相邻关节坐标系的变换关系。标准DH(SDH)与改进DH(MDH)的主要区别在于坐标系固连位置不同:SDH将坐标系{i}固连在关节i+1上,而MDH固连在关节i上。对于串联机械臂,MDH更常用,因为它更符合直觉且便于处理树形结构。

MDH参数定义与变换矩阵:

A_i = Rot(x, α_{i-1}) · Trans(x, a_{i-1}) · Rot(z, θ_i) · Trans(z, d_i)

    [ cosθ_i        -sinθ_i        0          a_{i-1}     ]
    [ sinθ_i·cosα   cosθ_i·cosα    -sinα      -d_i·sinα   ]
A_i=[ sinθ_i·sinα   cosθ_i·sinα    cosα       d_i·cosα    ]
    [ 0             0              0          1           ]

建模步骤:

  1. 确定关节轴线,按MDH规则建立各连杆坐标系。
  2. 填写DH参数表(a、α、d、θ),注意θ为变量(旋转关节)或d为变量(移动关节)。
  3. 将各Ai矩阵连乘得到T0n。
案例拆解:六轴关节臂正运动学
以典型6R关节臂为例,其DH参数表如下(单位:mm/度):
关节iai-1αi-1diθi
100400θ1
2150-90°0θ2
360000θ3
4120-90°600θ4
5090°0θ5
60-90°100θ6
给定一组关节角(如θ = [0°, 30°, -60°, 0°, 90°, 0°]),通过矩阵连乘可快速得到末端位姿矩阵。该过程计算量约需200次浮点运算,在嵌入式控制器中可在微秒级完成,满足实时性要求。

2.4 逆运动学求解:解析法与数值法

核心原理:逆运动学(IK)是已知末端期望位姿 Tdes,求解满足 T0n(θ) = Tdes 的关节角 θ。与正运动学的唯一解不同,逆运动学可能存在多重解、唯一解或无解三种情况。求解方法分为两大类:

  • 解析法(封闭解):利用机械臂的几何结构(如腕部相交于一点)进行代数或几何推导,得到关节角的显式表达式。计算快、精度高,但仅适用于满足Pieper准则的机械臂(相邻三关节轴交于一点或平行)。
  • 数值法(迭代法):基于雅可比矩阵的牛顿-拉夫森迭代或阻尼最小二乘法(DLS),适用于任意结构,但计算量大且可能陷入局部极小值。

解析法求解流程(以6R球形腕机械臂为例):

  1. 腕心位置解耦:将末端位姿分解为腕心位置(前3关节决定)和腕部姿态(后3关节决定)。
  2. 求解θ1、θ2、θ3:通过几何关系(余弦定理、平面三角)求解前三个关节角。
  3. 求解θ4、θ5、θ6:利用旋转矩阵的剩余部分,通过欧拉角分解得到腕部关节角。
  4. 多重解筛选:根据关节限位、避障要求、能量最优等准则选择最优解。
风险提示:在奇异位形附近(如腕部中心位于关节1轴线延长线上),雅可比矩阵条件数趋于无穷大,数值法求解会发散。工程中应预先计算可操作性度量(如雅可比行列式的值),并在轨迹规划时设置奇异规避区域。

实战场景:在伺服关节的笛卡尔空间轨迹规划中,控制器通常以1kHz频率调用逆解算法。对于解析解,单次求解耗时约50μs;而数值法则需要1-5ms,且存在收敛失败风险。因此,工业机器人普遍采用解析法,仅在奇异点附近切换至阻尼最小二乘法(DLS)以保证数值稳定性。

案例复盘:奇异点规避与多解选择
某六轴机器人执行圆弧焊接任务,末端轨迹经过腕部奇异点附近。初始采用纯解析解,导致关节5速度指令突变(从+120°/s瞬间跳变至-80°/s),触发伺服过流报警。
分析过程:检查雅可比矩阵条件数,发现最小奇异值σmin = 0.02,远低于安全阈值0.1。进一步定位为腕部奇异(θ5 ≈ 0°)。
解决方案:①在轨迹规划阶段,将奇异点附近路径的笛卡尔速度降为原来的30%;②在逆解算法中,当σmin < 0.05时切换为DLS算法,阻尼因子λ = 0.01;③对关节速度指令增加低通滤波(截止频率20Hz)。
结果对比:改进后关节5速度峰值降至±40°/s,伺服电流波动减小60%,焊接质量合格率从92%提升至99.5%。
复盘经验:逆运动学不仅是数学求解,更需与轨迹规划、伺服控制联动设计。建议在控制器中实时监控可操作性椭球,并将其作为轨迹自适应调整的输入。

常见误区与总结:

  • 误区一:认为DH参数是唯一的。实际上,同一机械臂可以选择不同的坐标系附着方式,导致DH参数不同,但最终正运动学结果一致。
  • 误区二:忽略多重解的存在。逆解算法返回的往往是“第一个解”,而非“最优解”。必须结合关节限位和运动连续性进行筛选。
  • 误区三:将数值法视为万能方案。在高速高精度场景下,数值法的实时性和稳定性均不如解析法。
  • 总结:运动学是机械臂控制的“眼睛”,正运动学提供确定性的映射,逆运动学则需要在多解、奇异和实时性之间权衡。建议工程师在项目初期优先验证机械臂是否满足Pieper准则,若满足则坚决采用解析法,并辅以奇异规避策略。