机器人运动学基础:位姿描述、齐次变换矩阵、旋转矩阵与欧拉角、DH参数建模
工业机器人逆运动学求解的核心,是建立从关节空间到笛卡尔空间的数学映射。在求解逆解之前,必须先牢固掌握正运动学的描述工具——位姿描述、齐次变换矩阵、旋转矩阵与欧拉角,以及DH参数建模。这些工具构成了机械臂运动学分析的“语言系统”。本章将系统梳理这些基础概念,并重点说明它们如何在逆运动学求解中被实际调用,帮助学习者建立从数学符号到物理意义的完整对应关系。
3.1 位置矢量与姿态矩阵:描述刚体在空间中的完整状态
机器人学中,一个刚体(如机械臂的连杆、末端执行器)在三维空间中的完整状态由位置和姿态两部分组成,合称为位姿。位置描述刚体上某参考点(通常取质心或坐标系原点)在参考坐标系中的坐标,用3×1的位置矢量表示;姿态描述刚体坐标系相对于参考坐标系的指向关系,用3×3的旋转矩阵表示。
设参考坐标系为{A},刚体固连坐标系为{B},则{B}相对于{A}的姿态用旋转矩阵 ARB 表示,其列向量分别为{B}的三个坐标轴在{A}中的方向余弦。旋转矩阵属于特殊正交群SO(3),满足两个关键性质:正交性(RTR = I)和行列式为+1。这两个性质保证了旋转矩阵不会引入缩放或镜像变换,是后续推导逆矩阵和复合变换的基础。
3.2 旋转矩阵的构造与欧拉角表示
旋转矩阵虽然数学上完备,但9个元素之间存在6个约束条件(正交性和行列式约束),直接使用不够直观。工程中更常用欧拉角来描述姿态。欧拉角的基本思想是:任意姿态可以通过绕固定轴或动坐标轴的有限次基本旋转组合得到。常用的ZYX欧拉角(即偏航-俯仰-滚转角,yaw-pitch-roll)定义为:先绕Z轴旋转α角,再绕新Y轴旋转β角,最后绕新X轴旋转γ角。
对应的旋转矩阵为:
R = Rz(α) · Ry(β) · Rx(γ)
其中:
Rz(α) = [cosα -sinα 0; sinα cosα 0; 0 0 1]
Ry(β) = [cosβ 0 sinβ; 0 1 0; -sinβ 0 cosβ]
Rx(γ) = [1 0 0; 0 cosγ -sinγ; 0 sinγ cosγ]
从旋转矩阵提取欧拉角时,需要特别注意奇异点问题。当β = ±90°时,旋转矩阵出现退化,α和γ无法唯一分离,这就是著名的“万向锁”现象。在实际机器人控制中,如果末端姿态接近万向锁区域,解析法求逆解可能产生数值不稳定,此时需要切换到其他姿态表示方法(如四元数)或采用数值迭代法。
| 姿态表示方法 | 参数数量 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 旋转矩阵 | 9 | 无奇异点,复合方便 | 冗余参数多,不直观 | 理论推导、坐标变换 |
| 欧拉角(ZYX) | 3 | 直观,物理意义明确 | 存在万向锁奇异 | 人机交互、姿态指令 |
| 四元数 | 4 | 无奇异点,插值平滑 | 不够直观 | 姿态插值、滤波、控制 |
3.3 齐次变换矩阵:统一位置与姿态的数学工具
为了将旋转和平移统一在一个矩阵运算中,机器人学采用4×4的齐次变换矩阵。其形式为:
T = [R p; 0 1] = [r11 r12 r13 px;
r21 r22 r23 py;
r31 r32 r33 pz;
0 0 0 1]
其中R为3×3旋转矩阵,p为3×1位置矢量。齐次变换矩阵属于特殊欧氏群SE(3),其逆变换具有简洁形式:
T⁻¹ = [Rᵀ -Rᵀp; 0 1]
这一性质在逆运动学中极为重要——当我们需要将某点从末端坐标系变换回基坐标系时,直接使用逆矩阵即可,无需重新构建变换。
齐次变换的复合运算遵循矩阵乘法顺序:T = T₁ · T₂ · T₃ 表示先进行T₁变换,再在T₁的结果上进行T₂变换,最后进行T₃变换。注意矩阵乘法不满足交换律,变换顺序不可颠倒。在机械臂运动学中,从基座到末端的总变换为:
T_base_to_end = T_0_1 · T_1_2 · T_2_3 · ... · T_(n-1)_n
其中每个T_(i-1)_i表示第i个关节坐标系相对于第i-1个关节坐标系的变换。
3.4 DH参数建模:从关节到坐标系的标准化流程
Denavit-Hartenberg(DH)参数法是目前工业机器人运动学建模最通用的方法。其核心思想是:在每个连杆上固连一个坐标系,通过4个参数(连杆长度a、连杆扭转角α、关节距离d、关节转角θ)描述相邻连杆之间的相对位姿关系。根据坐标系放置方式的不同,分为标准DH(SDH)和改进DH(MDH)两种约定。
标准DH的变换顺序为:绕Z轴旋转θ → 沿Z轴平移d → 沿X轴平移a → 绕X轴旋转α。对应的齐次变换矩阵为:
Aᵢ = Rot(z, θᵢ) · Trans(z, dᵢ) · Trans(x, aᵢ) · Rot(x, αᵢ)
= [cosθᵢ -sinθᵢcosαᵢ sinθᵢsinαᵢ aᵢcosθᵢ;
sinθᵢ cosθᵢcosαᵢ -cosθᵢsinαᵢ aᵢsinθᵢ;
0 sinαᵢ cosαᵢ dᵢ;
0 0 0 1]
DH参数建模的操作流程如下:
- 定义关节轴:确定每个关节的旋转轴或移动轴方向,通常沿Z轴方向。
- 建立连杆坐标系:从基座开始,依次为每个连杆建立坐标系{i},使Zi轴沿关节轴i+1方向,Xi轴沿相邻Z轴的公垂线方向。
- 确定DH参数:根据坐标系间的几何关系,逐一确定ai、αi、di、θi四个参数。
- 写出变换矩阵:将参数代入上述Aᵢ矩阵,得到相邻坐标系的变换关系。
- 计算正运动学:将所有Aᵢ依次相乘,得到末端相对于基座的总变换矩阵。
| DH参数 | 物理含义 | 关节变量 | 典型值范围 |
|---|---|---|---|
| ai(连杆长度) | Zi-1轴到Zi轴沿Xi轴的距离 | 固定(常数) | 0.1~1.5 m |
| αi(连杆扭转角) | Zi-1轴到Zi轴绕Xi轴的转角 | 固定(常数) | -90°~90° |
| di(关节距离) | Xi-1轴到Xi轴沿Zi-1轴的距离 | 移动关节时为变量 | 0~1.0 m |
| θi(关节转角) | Xi-1轴到Xi轴绕Zi-1轴的转角 | 旋转关节时为变量 | -180°~180° |
3.5 案例拆解:六轴关节机器人的DH建模与正运动学验证
以典型的六轴串联关节机器人(如ABB IRB 120或KUKA KR6)为例,演示DH参数建模的完整流程。该机器人具有6个旋转关节,前3个关节决定末端位置,后3个关节决定末端姿态(腕部)。
背景与约束:机器人基座固定于地面,各关节运动范围有限制(如J1: ±165°, J2: +90°~-110°, J3: +70°~-110°等)。目标是通过DH参数建立正运动学模型,并验证末端位姿计算的正确性。
DH参数表(标准DH约定):
| 关节i | ai (mm) | αi (°) | di (mm) | θi (°) |
|---|---|---|---|---|
| 1 | 0 | -90 | 290 | θ1 |
| 2 | 270 | 0 | 0 | θ2-90 |
| 3 | 70 | -90 | 0 | θ3 |
| 4 | 0 | 90 | 302 | θ4 |
| 5 | 0 | -90 | 0 | θ5 |
| 6 | 0 | 0 | 72 | θ6 |
操作步骤:
- 根据DH参数表,依次写出每个关节的变换矩阵A1~A6。
- 计算总变换矩阵 T = A1·A2·A3·A4·A5·A6。
- 选取一组已知关节角(如零位:θ1=0°, θ2=90°, θ3=0°, θ4=0°, θ5=0°, θ6=0°),代入计算末端位置和姿态。
- 与机器人厂家提供的零位标定数据对比,验证模型正确性。
结果对比:在零位状态下,计算得到的末端位置应为(270, 0, 664)mm(假设基座坐标系原点在J1轴线与基座底面交点),姿态矩阵为单位阵。若计算结果与标定值偏差超过0.1mm,说明DH参数或坐标系定义有误,需要逐项检查。
复盘经验:在完成DH建模后,建议至少验证三个特殊位姿:零位、某单关节旋转90°、末端指向特定方向。通过对比理论计算与实测数据,可以快速定位建模错误。此外,在编写逆解程序时,正运动学模型是验证逆解正确性的“金标准”——将逆解得到的关节角代入正运动学,应能还原目标位姿。
3.6 从正运动学到逆运动学的桥梁
逆运动学求解的本质是:已知末端位姿矩阵Ttarget,求解满足 Ttarget = f(q) 的关节变量q。其中f(q)就是通过DH参数建立的正运动学函数。因此,DH参数建模的质量直接影响逆解的精度和效率。
在解析法逆解中,通常利用齐次变换矩阵的特定元素来分离变量。例如,对于六轴机器人,可以通过矩阵方程两端的元素对应关系,先解出θ1,再逐步解出θ2、θ3等。这一过程高度依赖DH参数的结构——如果DH参数选择得当(如使多个ai=0或αi=±90°),可以显著简化代数运算。
对于无法解析求解的机器人构型(如存在偏置的腕部),则需要采用数值迭代法(如雅可比伪逆法、牛顿-拉夫森法)。此时,正运动学模型和雅可比矩阵的解析表达式是数值求解的基础。
3.7 本章小结与常见误区复盘
本章建立了机器人运动学描述的核心数学框架。位姿描述提供了位置和姿态的完整表达;旋转矩阵和欧拉角给出了姿态的两种等价表示,并揭示了奇异点问题;齐次变换矩阵统一了旋转和平移,为复合变换提供了简洁的矩阵运算工具;DH参数建模则将机械臂的几何结构转化为标准化的参数表,为计算机编程实现提供了清晰的流程。
在实际工程应用中,以下误区需要特别警惕:
- 坐标系定义混乱:不同厂家、不同文献可能采用不同的坐标系约定(如基座坐标系原点位置、Z轴方向),在联合调试时必须统一。
- 旋转顺序错误:欧拉角旋转顺序不同,得到的姿态矩阵不同。ZYX与XYZ、固定轴与动轴之间的转换需要严格区分。
- 忽略奇异点:在逆解算法中未检测万向锁区域,导致关节角跳变或数值发散。
- DH参数单位不一致:长度单位(mm vs m)和角度单位(度 vs 弧度)混用,是编程中最常见的低级错误。
掌握本章内容后,学习者应能够独立完成任意串联机械臂的DH建模、正运动学计算,并理解逆运动学求解所需的数学基础。下一阶段将在此基础上,深入探讨逆运动学的解析解法与数值解法。