三、运动学基础:刚体运动描述、旋转矩阵、欧拉角、四元数、齐次变换与正逆运动学求解
运动学是机器人控制与运动规划的基石,它研究物体在空间中的位置、姿态以及它们随时间变化的规律,而不涉及产生运动的力与力矩。在运动控制算法面试中,运动学基础是必考且高频出现的知识模块。面试官通常通过这一部分考察候选人对刚体运动描述的数学工具是否熟练、对正逆运动学求解思路是否清晰,以及能否在实际工程问题中灵活运用这些概念。本章将系统梳理刚体运动描述的四种核心工具——旋转矩阵、欧拉角、四元数、齐次变换矩阵,并深入解析正逆运动学的求解方法与工程实践要点。
上图展示了运动学基础的整体知识框架。刚体运动描述是基础,正逆运动学求解是应用,两者共同构成了机器人运动学分析的核心闭环。下面我们将逐一深入剖析每个知识点的数学本质、工程应用与面试考点。
3.1 刚体运动描述的数学工具
3.1.1 旋转矩阵:姿态描述的基本语言
旋转矩阵是描述刚体姿态最基础、最严谨的数学工具。一个3×3的旋转矩阵 R 满足正交性(RᵀR = I)和行列式为+1的约束,其列向量表示旋转后坐标系各轴在原坐标系中的方向余弦。旋转矩阵的乘法对应旋转的复合,但需要注意矩阵乘法不满足交换律,即 R₁R₂ ≠ R₂R₁,这反映了空间旋转的顺序依赖性。
核心原理:旋转矩阵的9个元素只有3个独立自由度,因此存在冗余。其优势在于无奇异性和数值稳定性好,适合作为内部计算和存储的格式。但直接使用9个参数进行人机交互或参数优化时效率较低,因此需要引入更紧凑的表示方法。
在工程实践中,旋转矩阵常用于坐标系变换的推导和运动学方程的建立。例如,在六轴工业机器人中,相邻连杆之间的姿态关系通过旋转矩阵连乘得到末端执行器的全局姿态。面试中常考察旋转矩阵的构造(绕X/Y/Z轴的基本旋转矩阵)、性质验证(正交性、行列式)以及旋转矩阵与旋转向量(轴角)之间的转换关系。
3.1.2 欧拉角:直观但存在奇异性
欧拉角用三个角度(如滚转-俯仰-偏航,即Roll-Pitch-Yaw)描述姿态,其物理意义直观,便于人机交互和姿态指令给定。根据旋转顺序的不同,共有12种欧拉角约定(如ZYX、ZYZ、XYZ等),工程中必须明确约定顺序,否则会产生歧义。
| 欧拉角类型 | 旋转顺序 | 典型应用场景 | 奇异条件 |
|---|---|---|---|
| ZYX (RPY) | 先绕Z,再绕Y,最后绕X | 无人机、移动机器人姿态 | β = ±90° |
| ZYZ | 先绕Z,再绕Y,再绕Z | 工业机器人腕部 | β = 0° 或 180° |
| XYZ | 先绕X,再绕Y,再绕Z | 某些视觉标定系统 | β = ±90° |
欧拉角最大的问题是万向锁(Gimbal Lock)现象:当中间旋转角达到±90°时,第一次和第三次旋转的轴重合,系统丢失一个旋转自由度,导致姿态控制出现奇异。因此,在需要全姿态平滑控制的场合(如航天器、机械臂末端),应避免使用欧拉角作为内部状态表示。
3.1.3 四元数:无奇异性的紧凑表示
四元数是一种超复数,由一个实部和三个虚部组成:q = w + xi + yj + zk,其中w为标量部分,(x,y,z)为矢量部分。单位四元数(||q||=1)可以唯一表示三维空间中的旋转,其运算规则包括Hamilton积、共轭、归一化等。四元数相比欧拉角的优势在于:无奇异性、计算效率高(仅需4个参数)、便于插值(如Slerp球面线性插值)。
经验提醒:在机器人控制系统中,推荐使用四元数作为姿态的内部表示和通信格式,仅在用户交互层转换为欧拉角显示。四元数到旋转矩阵的转换公式为:
R = [[1-2(y²+z²), 2(xy-wz), 2(xz+wy)],
[2(xy+wz), 1-2(x²+z²), 2(yz-wx)],
[2(xz-wy), 2(yz+wx), 1-2(x²+y²)]]
四元数的乘法对应旋转的复合,且满足结合律,这使得多级坐标变换的链式计算更加简洁。但需要注意,四元数存在双覆盖问题:q和-q表示同一个旋转,在插值或比较时需要统一符号约定。
3.1.4 齐次变换矩阵:统一位置与姿态
齐次变换矩阵 T 是一个4×4矩阵,形式为 [R t; 0 1],其中R为旋转矩阵,t为平移向量。它能够将旋转和平移统一在一个矩阵运算中,使得坐标变换可以表示为简单的矩阵乘法。齐次变换矩阵的逆矩阵为 [Rᵀ -Rᵀt; 0 1],计算方便。
在机器人运动学中,齐次变换矩阵是描述连杆坐标系之间关系的标准工具。通过将相邻关节的变换矩阵连乘,可以得到末端执行器相对于基坐标系的总变换矩阵。这种链式法则构成了正运动学求解的基础。
3.2 正运动学求解方法
3.2.1 DH参数法
Denavit-Hartenberg(DH)参数法是机器人运动学建模的经典方法。它通过四个参数(连杆长度a、连杆扭转角α、关节距离d、关节角θ)描述相邻连杆之间的相对位姿关系。标准DH模型和修正DH模型(Modified DH)在参数定义上略有差异,工程中需明确采用哪种约定。
- 建立连杆坐标系:按照DH规则在各关节处建立坐标系,确定Z轴方向(沿关节轴线)和X轴方向(沿公垂线)。
- 确定DH参数:根据连杆几何尺寸和关节类型(旋转或移动)填写参数表。
- 构造变换矩阵:每个连杆的变换矩阵为 Ai = Rot(z,θi) · Trans(z,di) · Trans(x,ai) · Rot(x,αi)。
- 连乘得到总变换:T0n = A1 · A2 · ... · An。
案例拆解:以六轴关节机器人为例,已知各关节角度θ₁~θ₆,通过DH参数表计算末端位姿。实际工程中,正运动学计算量较小(约几十次矩阵乘法),在1kHz控制周期内可轻松完成。但需要注意浮点数精度问题,特别是在极端关节角度下,矩阵元素可能出现微小误差累积。
3.2.2 正运动学的工程实现
在实际控制系统中,正运动学通常以函数库形式封装,输入为关节角度向量,输出为末端位姿(位置+姿态四元数)。为提高计算效率,可采用以下优化策略:
- 预计算常数项(如连杆长度、扭转角的正余弦值)
- 使用局部变量减少内存访问
- 对于特定构型(如球形腕部),可分解计算以简化表达式
3.3 逆运动学求解方法
3.3.1 解析法(封闭解)
解析法通过代数或几何方法直接求解关节角度,具有计算速度快、精度高、可重复性好的优点。但并非所有机器人构型都存在解析解。Pieper准则指出:对于六自由度机器人,若存在三个相邻关节轴交于一点(如球形腕部),则存在解析解。
求解步骤通常为:
- 位置与姿态解耦:将末端位置和姿态分离,先求解腕部中心位置,再求解腕部姿态。
- 代数消元:利用三角恒等式和变量替换,将超越方程转化为多项式方程。
- 多解处理:根据关节运动范围筛选可行解,并选择最优解(如能量最小、避障等准则)。
风险说明:解析法推导过程繁琐,容易出错,且不同构型的机器人需要单独推导。在工程中,建议使用符号计算工具(如MATLAB Symbolic、SymPy)辅助验证推导结果。
3.3.2 数值法(迭代法)
数值法通过迭代优化求解逆运动学问题,适用于任意构型机器人。常用方法包括:
- 雅可比迭代法:利用雅可比矩阵的伪逆进行增量求解,公式为 Δq = J⁺Δx,其中J⁺为雅可比矩阵的Moore-Penrose伪逆。
- 阻尼最小二乘法(DLS):在伪逆基础上加入阻尼项,避免奇异点附近的数值不稳定,公式为 Δq = (JᵀJ + λ²I)⁻¹JᵀΔx。
- 牛顿-拉夫逊法:利用二阶导数信息加速收敛,但计算量较大。
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 解析法 | 速度快、精度高、确定性 | 推导复杂、依赖构型 | 六轴工业机器人 |
| 雅可比迭代 | 通用性强、实现简单 | 奇异点附近不稳定 | 冗余机器人、移动操作 |
| 阻尼最小二乘 | 数值稳定、鲁棒性好 | 收敛速度较慢 | 奇异位形附近 |
| 智能优化算法 | 全局搜索能力强 | 计算量大、实时性差 | 离线路径规划 |
3.3.3 逆运动学的工程实践案例
考虑一个六轴协作机器人的视觉伺服抓取场景:视觉系统识别到目标物体,输出其位姿(位置+四元数),机器人控制器需要实时计算各关节角度以驱动末端到达目标位姿。
案例闭环:
背景与约束:机器人末端需在0.5秒内从当前位置运动到目标位姿,控制周期为1ms,要求位置误差小于0.1mm,姿态误差小于0.1°。机器人构型为球形腕部,存在解析解。
初始现象:直接使用数值法(雅可比迭代)求解时,在接近奇异位形(如腕部中心与肩部中心重合)时出现迭代发散,导致运动指令异常。
分析判断:奇异位形导致雅可比矩阵条件数过大,伪逆计算不稳定。需要结合解析法求解,并在奇异区域切换至阻尼最小二乘法。
实际操作:1) 首先判断目标位姿是否在可达工作空间内;2) 使用解析法求解8组候选解;3) 根据关节限位和当前关节角度筛选最优解;4) 在接近奇异区域时,切换至DLS算法并设置阻尼系数λ=0.01;5) 在控制循环中增加奇异规避策略,限制关节速度。
结果对比:采用混合求解策略后,求解成功率从92%提升至99.8%,平均求解时间从0.3ms降至0.05ms,满足实时性要求。
风险与代价:解析法推导需要额外开发时间,且针对不同构型需重新推导;DLS算法在奇异区域会引入跟踪误差,需通过增大阻尼系数平衡精度与稳定性。
复盘经验:逆运动学求解不应只依赖单一方法,应根据机器人构型和任务需求选择混合策略。同时,奇异位形的规避应在轨迹规划层面提前处理,而非仅依赖求解器。
3.4 常见误区与总结复盘
误区一:混淆旋转矩阵与变换矩阵。旋转矩阵仅描述姿态,齐次变换矩阵同时描述位置和姿态。在矩阵乘法中,前者是3×3,后者是4×4,不能混用。
误区二:忽视欧拉角的旋转顺序。同样的三个角度,不同的旋转顺序产生不同的最终姿态。在通信协议或数据接口中,必须明确标注欧拉角约定。
误区三:四元数未归一化。非单位四元数会导致旋转矩阵非正交,产生畸变。每次四元数运算后应重新归一化。
误区四:逆运动学多解处理不当。所有关节角度组合都能到达同一末端位姿,但不同解对应不同的关节空间路径,可能引起碰撞或超出关节限位。
总结复盘:运动学基础的核心在于理解不同姿态描述方法的数学本质与适用场景。旋转矩阵适合理论推导,欧拉角适合人机交互,四元数适合内部计算与插值,齐次变换矩阵适合坐标变换链。正运动学是确定性计算,逆运动学则面临多解、奇异、数值稳定性等挑战。在面试中,除了掌握基本公式,更要能够结合实际工程问题阐述选择某种方法的理由和权衡。