4. 坐标系与运动学

在垂直起降固定翼的过渡控制中,控制器真正“看见”的不是飞机本身,而是飞机在若干坐标系中的位置、速度、姿态与角速度。坐标系定义不清,姿态表示选错,运动学方程就会在悬停与巡航之间产生符号跳变、奇异点或积分漂移。本章围绕工程实现,梳理常用坐标系、姿态表示方法以及运动学方程的建立流程。

一、常用坐标系及其工程含义

垂直起降固定翼通常涉及四类坐标系。它们之间的转换关系决定了制导律、姿态控制和导航滤波的输入输出是否一致。

  • 地心惯性系(ECI):原点在地心,用于高精度导航解算,工程中较少直接用于控制。
  • 当地地理系(NED/ENU):原点在飞机起飞点或当前点,北东地或东北天,是航迹跟踪与位置控制的主要参考系。
  • 机体坐标系(Body):原点在重心,x 轴指向机头,y 轴指向右翼,z 轴指向机腹,是角速率与气动力矩的作用系。
  • 气流坐标系(Wind):原点在重心,x 轴沿空速方向,用于迎角、侧滑角与气动力建模。

过渡阶段最易出错的是机体轴与气流轴混用:悬停时气流速度接近零,气流系方向不确定;一旦前飞,气流系又迅速建立。因此控制器内部应明确“姿态控制用机体系,气动解算用气流系”,并通过空速阈值进行切换。

二、姿态表示:欧拉角、旋转矩阵与四元数

姿态表示方法直接决定计算复杂度与奇异点分布。工程中常见三种表示:

表示方法参数个数优点缺点适用场景
欧拉角3直观、易调参万向节死锁,俯仰±90°奇异小角度悬停、显示与监控
旋转矩阵9无奇异、可直接变换向量冗余,需正交化坐标变换、视觉与导航
四元数4无奇异、计算高效、适合积分物理直观性差过渡飞行、全姿态控制

对于垂直起降固定翼,过渡段俯仰角可能从 0° 快速变化到 90° 附近,欧拉角在俯仰 ±90° 处出现奇异,因此姿态解算与姿态控制内部应统一采用四元数,仅在遥测显示和地面站调参时转换为欧拉角。

工程建议:姿态内环用四元数,外环位置与航向用欧拉角或旋转矩阵;所有姿态转换函数必须做单位化与符号一致性检查,避免 q 与 -q 表示同一姿态却导致控制器符号翻转。

三、欧拉角与四元数的转换关系

以 Z-Y-X 顺序(偏航-俯仰-滚转)为例,欧拉角到四元数的转换为:

q0 = cos(phi/2)*cos(theta/2)*cos(psi/2) + sin(phi/2)*sin(theta/2)*sin(psi/2)
q1 = sin(phi/2)*cos(theta/2)*cos(psi/2) - cos(phi/2)*sin(theta/2)*sin(psi/2)
q2 = cos(phi/2)*sin(theta/2)*cos(psi/2) + sin(phi/2)*cos(theta/2)*sin(psi/2)
q3 = cos(phi/2)*cos(theta/2)*sin(psi/2) - sin(phi/2)*sin(theta/2)*cos(psi/2)

四元数到欧拉角的反解为:

phi   = atan2(2*(q0*q1 + q2*q3), 1 - 2*(q1*q1 + q2*q2))
theta = asin(2*(q0*q2 - q3*q1))
psi   = atan2(2*(q0*q3 + q1*q2), 1 - 2*(q2*q2 + q3*q3))

注意 asin 的自变量必须限幅到 [-1,1],否则浮点误差会导致 NaN。过渡控制中,俯仰角接近 ±90° 时,偏航与滚转耦合,地面站显示应提示“航向不可观测”,避免操作员误判。

四、运动学方程建立流程

运动学方程描述位置、速度、姿态与角速度之间的几何关系,不涉及力和力矩。建立流程如下:

  1. 定义地系位置 p = [x, y, z]^T 与地系速度 v = [vx, vy, vz]^T。
  2. 定义机体系速度 v_b 与地系速度的转换:v = R_b2e * v_b。
  3. 定义姿态四元数 q 的微分方程:q_dot = 0.5 * q ⊗ [0, ω_b]。
  4. 定义角速度 ω_b 由陀螺仪测量或姿态控制器输出。
  5. 将位置微分方程 p_dot = v 与姿态微分方程联立,形成 13 状态运动学模型。

在过渡段,机体系速度 v_b 同时包含前飞分量与垂向分量,地系速度则通过旋转矩阵耦合了俯仰角。若忽略姿态变化直接积分地系速度,会在倾转过程中产生位置漂移。

垂直起降固定翼运动学关系图 当地地理系 NED p = [x, y, z] v = [vx, vy, vz] 航迹跟踪参考 机体坐标系 Body v_b = [u, v, w] ω_b = [p, q, r] 姿态控制作用系 气流坐标系 Wind V, α, β 气动力/力矩建模 空速阈值切换 R_e2b R_w2b q_dot = 0.5 q⊗ω 姿态表示 欧拉角 φ, θ, ψ 四元数 q0, q1, q2, q3 旋转矩阵 R (3×3) 运动学方程(13 状态) p_dot = v v_dot = R_b2e · v_b q_dot = 0.5 · q ⊗ [0, ω_b] 过渡段关键:俯仰角接近 ±90° 时欧拉角奇异,内部统一用四元数积分 空速 < 5 m/s 用机体系悬停控制;空速 > 12 m/s 切换气流系气动解算

五、案例:过渡段姿态解算与位置漂移

某 25 kg 垂直起降固定翼在 8 s 倾转过渡中,俯仰角从 0° 变化到 75°。若姿态解算使用欧拉角积分,俯仰角在 70° 附近出现数值抖动,导致旋转矩阵 R_b2e 的第三行符号反复跳变,地系速度积分出现约 12 m 的位置漂移。改用四元数积分后,姿态更新平滑,位置漂移降至 1.5 m 以内。

常见误区:把四元数当作“四个欧拉角”直接线性插值。四元数插值必须使用球面线性插值(SLERP),否则姿态角速度不恒定,过渡段会产生额外抖动。

六、复盘与检查清单

  • 坐标系定义是否在代码注释与接口文档中统一?
  • 姿态内环是否使用四元数,且每次积分后做单位化?
  • 欧拉角反解是否对 asin 输入限幅?
  • 过渡段是否根据空速切换机体系与气流系?
  • 位置积分是否使用旋转矩阵而非直接积分机体系速度?
  • 地面站显示是否提示俯仰 ±90° 附近的航向不可观测?

坐标系与运动学是过渡控制的“几何底座”。只有把地系、机体系、气流系的转换关系、四元数姿态更新和 13 状态运动学方程建立正确,后续的制导律、姿态控制器与导航滤波器才能在悬停、倾转和巡航之间无缝衔接。