2、刚体运动学基础:坐标系定义(惯性系、机体系)、欧拉角、旋转矩阵、四元数基础概念
2.1 坐标系定义
在姿态控制中,我们首先需要明确“相对于谁在运动”。通常定义两个核心坐标系:
- 惯性坐标系(Inertial Frame, 记为 {I} 或 {N}):通常取地球表面某一点为原点,X轴指向北(或东),Y轴指向东(或北),Z轴指向地心(或天顶,遵循右手定则)。在短时间、小范围的飞行器控制中,可近似认为该坐标系是静止不动的,牛顿定律在此坐标系下成立。
- 机体坐标系(Body Frame, 记为 {B}):固连在飞行器上,原点位于飞行器质心。X轴指向机头(前进方向),Y轴指向右翼,Z轴指向机腹(向下,构成右手系)。飞行器的角速度、加速度传感器(IMU)测量的原始数据均在此坐标系下。
姿态控制的核心任务:描述 {B} 相对于 {I} 的旋转关系。
2.2 欧拉角
欧拉角是最直观的旋转表示法,通过三次绕不同轴的旋转来描述姿态。最常用的航空顺序是 Z-Y-X(偏航-俯仰-滚转):
- 偏航角 ψ (Yaw):绕惯性系 ZI 轴旋转,改变机头指向(北/东方向)。
- 俯仰角 θ (Pitch):绕第一次旋转后的 Y 轴旋转,改变机头仰俯。
- 滚转角 φ (Roll):绕第二次旋转后的 X 轴旋转,改变机翼倾斜。
优点:物理意义明确,易于人眼理解(例如:俯仰角30°表示机头向上)。
缺点:存在 万向锁(Gimbal Lock) 问题。当俯仰角 θ = ±90° 时,偏航和滚转的旋转轴重合,丢失一个自由度,导致姿态解算奇异。此外,欧拉角微分方程包含三角函数,计算量较大且不适合插值。
2.3 旋转矩阵
旋转矩阵 R 是一个 3×3 的正交矩阵(行列式为+1),用于将一个向量从机体坐标系 {B} 变换到惯性坐标系 {I}:
vI = R · vB
由欧拉角(Z-Y-X顺序)构造的旋转矩阵为:
R = Rz(ψ) · Ry(θ) · Rx(φ)
其中各基本旋转矩阵为:
| 绕X轴旋转 φ | 绕Y轴旋转 θ | 绕Z轴旋转 ψ |
|---|---|---|
|
[1, 0, 0] [0, cosφ, -sinφ] [0, sinφ, cosφ] |
[cosθ, 0, sinθ] [0, 1, 0] [-sinθ, 0, cosθ] |
[cosψ, -sinψ, 0] [sinψ, cosψ, 0] [0, 0, 1] |
优点:无奇异点,可唯一表示任意姿态;组合旋转只需矩阵乘法。
缺点:9个参数,存在冗余(正交约束),数值积分时需不断正交化,计算量大。
2.4 四元数
四元数是一种超复数,由一个实部和三个虚部组成:q = q0 + q1i + q2j + q3k,满足 i² = j² = k² = ijk = -1。在姿态表示中,通常使用单位四元数(模长为1)。
四元数表示绕单位轴 u = [ux, uy, uz] 旋转角度 α:
q = [cos(α/2), ux·sin(α/2), uy·sin(α/2), uz·sin(α/2)]
四元数乘法(用于组合旋转)定义为:
q1 ⊗ q2 = [q0,1q0,2 - q1,1q1,2 - q2,1q2,2 - q3,1q3,2,
q0,1q1,2 + q1,1q0,2 + q2,1q3,2 - q3,1q2,2,
q0,1q2,2 - q1,1q3,2 + q2,1q0,2 + q3,1q1,2,
q0,1q3,2 + q1,1q2,2 - q2,1q1,2 + q3,1q0,2]
优点:
- 无奇异点,可平滑表示任意姿态。
- 仅4个参数,无冗余约束。
- 微分方程简单(dq/dt = 0.5 · q ⊗ ω,其中 ω 为机体角速度),适合数值积分。
- 插值(Slerp)平滑,适合动画和滤波器。
缺点:不够直观,人眼难以直接看出物理意义;需注意单位化约束。
2.5 三种表示法的对比与选择
| 特性 | 欧拉角 | 旋转矩阵 | 四元数 |
|---|---|---|---|
| 参数数量 | 3 | 9 | 4 |
| 奇异点 | 有(万向锁) | 无 | 无 |
| 直观性 | 高 | 低 | 低 |
| 计算效率 | 中等(三角函数) | 低(9个元素) | 高(仅4个元素) |
| 微分方程 | 复杂(含三角函数) | 复杂(需正交化) | 简单(线性) |
| 工程应用 | 人机交互、初始姿态设定 | 坐标变换、视觉SLAM | 姿态解算、控制环路、滤波器 |
工程建议:在飞控代码内部,姿态状态量通常使用四元数进行积分和更新;在向用户显示或进行逻辑判断(如“俯仰角是否超过30°”)时,再转换为欧拉角;在需要将向量从一个坐标系变换到另一个坐标系时,使用旋转矩阵(可由四元数快速转换得到)。