数学基础(下):旋转矩阵、欧拉角、四元数的定义与相互转换,以及刚体姿态描述的工程选择
在Stewart平台的运动学分析中,动平台相对于静平台的空间姿态描述是求解正解与逆解的前提。工程上常用的姿态描述方法有三种:旋转矩阵、欧拉角和四元数。三者数学上等价,但数值特性、计算效率与工程适用场景差异显著。本节将系统梳理三者的定义、转换关系,并结合Stewart平台控制中的实际约束,给出工程选型建议。
3.1 旋转矩阵:坐标变换的基石
旋转矩阵是描述刚体姿态最基础的工具。设动坐标系O'-x'y'z'相对于静坐标系O-xyz的姿态为R,则R的第i列表示动坐标系第i轴在静坐标系中的方向余弦。旋转矩阵满足正交性(RTR=I)和行列式为+1的约束,因此9个元素中只有3个独立参数。
在Stewart平台中,旋转矩阵直接用于将动平台上的铰点坐标变换到静坐标系:
p_i = t + R · a_i
其中t为动平台原点位置向量,a_i为铰点在动坐标系中的坐标,p_i为铰点在静坐标系中的坐标。这个变换是正解求解的基础。
3.2 欧拉角:直观但存在万向锁
欧拉角通过三次绕坐标轴的旋转来描述姿态,常用约定有ZYX(偏航-俯仰-滚转)和ZYZ等。以ZYX为例,旋转矩阵可分解为:
R = Rz(ψ) · Ry(θ) · Rx(φ)
其中ψ为偏航角,θ为俯仰角,φ为滚转角。欧拉角的优势在于参数少、直观,适合人机交互和姿态显示。但存在两个关键缺陷:
- 万向锁:当θ=±90°时,ψ和φ的旋转轴重合,丢失一个自由度,导致姿态奇异。
- 插值非线性:欧拉角线性插值得到的中间姿态不平滑,可能产生不自然的旋转路径。
在Stewart平台中,若动平台工作空间包含接近±90°的俯仰角,使用欧拉角会导致雅可比矩阵奇异,影响正解迭代收敛性。
3.3 四元数:紧凑且无奇异
四元数q = w + xi + yj + zk,其中w为标量部分,(x,y,z)为向量部分,满足w²+x²+y²+z²=1。四元数可视为绕单位轴n旋转角度θ的表示:
q = [cos(θ/2), n·sin(θ/2)]
四元数的核心优势:
- 无奇异:所有姿态均可唯一表示(除q和-q等价外)。
- 紧凑:仅4个参数,存储和传输效率高。
- 插值平滑:球面线性插值(SLERP)可生成均匀角速度的旋转路径。
四元数乘法对应旋转复合,且计算效率高于矩阵乘法。在Stewart平台实时控制中,四元数常用于姿态插补和滤波。
3.4 三种描述方法的相互转换
工程中经常需要在三种表示间切换。以下给出核心转换公式:
| 转换方向 | 公式/方法 | 注意事项 |
|---|---|---|
| 欧拉角→旋转矩阵 | R = Rz(ψ)·Ry(θ)·Rx(φ) | 注意旋转顺序约定 |
| 旋转矩阵→欧拉角 | θ = atan2(-R31, √(R11²+R21²)) | θ=±90°时退化 |
| 旋转矩阵→四元数 | w = √(1+R11+R22+R33)/2 | 需处理数值稳定性 |
| 四元数→旋转矩阵 | R = I + 2w·[n]× + 2[n]ײ | 需先归一化 |
| 欧拉角→四元数 | q = qz(ψ)⊗qy(θ)⊗qx(φ) | 四元数乘法顺序 |
3.5 工程选择策略与案例拆解
在Stewart平台控制系统中,姿态描述方法的选择需综合考虑计算精度、实时性和应用场景。以下通过一个六自由度模拟器案例说明选型过程。
问题分析:检查发现,当俯仰角接近25°且偏航角同时变化时,欧拉角微分方程中的奇异项导致雅可比矩阵条件数急剧增大,放大了传感器噪声。
解决方案:将姿态表示切换为四元数,具体步骤:
- 将传感器输出的欧拉角转换为四元数,作为初始值。
- 在控制循环中使用四元数进行姿态更新和插补。
- 仅在显示界面将四元数转回欧拉角。
结果对比:切换后,最大姿态跟踪误差从0.8°降至0.2°,控制抖动完全消除。同时,四元数归一化操作仅需4次乘法和1次开方,计算开销远低于矩阵正交化。
3.6 常见误区与总结
在姿态描述的实际应用中,工程师常犯以下错误:
- 混淆旋转顺序:不同行业对欧拉角旋转顺序约定不同,如航空航天用ZYX,机器人学常用ZYZ。转换时必须明确约定。
- 忽略归一化:四元数在连续乘法后可能偏离单位范数,需周期性归一化,否则累积误差会导致姿态漂移。
- 盲目使用欧拉角:在接近奇异姿态时,欧拉角微分方程数值不稳定,应提前检测并切换表示方法。
- 矩阵正交化缺失:旋转矩阵在长时间运行后可能失去正交性,需定期用Gram-Schmidt或SVD修正。
总结而言,Stewart平台姿态描述应遵循以下原则:内部计算用四元数,坐标变换用旋转矩阵,人机交互用欧拉角。理解三者的数学本质和工程特性,是构建稳定、精确的运动学解算器的关键基础。