2、机械臂运动学基础:位姿描述、齐次变换、正运动学(DH参数)与逆运动学求解方法
机械臂运动学是机器人学中最核心的基石,它研究的是机械臂关节空间与末端执行器操作空间之间的映射关系,而不涉及产生运动的力和力矩。对于从事伺服关节轨迹规划与动力学控制的工程师而言,运动学不仅是轨迹插补的数学前提,更是后续动力学建模(如雅可比矩阵、惯性矩阵)的必备基础。本章将系统梳理从刚体位姿描述到齐次变换矩阵,再到基于DH参数的正运动学建模,以及逆运动学求解的完整方法论,帮助读者建立从数学表达到工程落地的闭环思维。
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个参数(一个实部+三个虚部)表示姿态,避免了欧拉角的万向锁问题,在插补和滤波中广泛使用。
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 ]
建模步骤:
- 确定关节轴线,按MDH规则建立各连杆坐标系。
- 填写DH参数表(a、α、d、θ),注意θ为变量(旋转关节)或d为变量(移动关节)。
- 将各Ai矩阵连乘得到T0n。
以典型6R关节臂为例,其DH参数表如下(单位:mm/度):
| 关节i | ai-1 | αi-1 | di | θi |
|---|---|---|---|---|
| 1 | 0 | 0 | 400 | θ1 |
| 2 | 150 | -90° | 0 | θ2 |
| 3 | 600 | 0 | 0 | θ3 |
| 4 | 120 | -90° | 600 | θ4 |
| 5 | 0 | 90° | 0 | θ5 |
| 6 | 0 | -90° | 100 | θ6 |
2.4 逆运动学求解:解析法与数值法
核心原理:逆运动学(IK)是已知末端期望位姿 Tdes,求解满足 T0n(θ) = Tdes 的关节角 θ。与正运动学的唯一解不同,逆运动学可能存在多重解、唯一解或无解三种情况。求解方法分为两大类:
- 解析法(封闭解):利用机械臂的几何结构(如腕部相交于一点)进行代数或几何推导,得到关节角的显式表达式。计算快、精度高,但仅适用于满足Pieper准则的机械臂(相邻三关节轴交于一点或平行)。
- 数值法(迭代法):基于雅可比矩阵的牛顿-拉夫森迭代或阻尼最小二乘法(DLS),适用于任意结构,但计算量大且可能陷入局部极小值。
解析法求解流程(以6R球形腕机械臂为例):
- 腕心位置解耦:将末端位姿分解为腕心位置(前3关节决定)和腕部姿态(后3关节决定)。
- 求解θ1、θ2、θ3:通过几何关系(余弦定理、平面三角)求解前三个关节角。
- 求解θ4、θ5、θ6:利用旋转矩阵的剩余部分,通过欧拉角分解得到腕部关节角。
- 多重解筛选:根据关节限位、避障要求、能量最优等准则选择最优解。
实战场景:在伺服关节的笛卡尔空间轨迹规划中,控制器通常以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准则,若满足则坚决采用解析法,并辅以奇异规避策略。