Frames and Transforms (坐标系与转换)
1. 核心坐标系严格定义 (Absolute Definitions)
原则:物理仿真中的坐标系必须具备唯一、清晰、无歧义的几何定义。禁止存在任何“可能”、“或者”的描述。当前仿真系统采用 WGS84 椭球基准。
1.1 发惯系 (LIC / Launch Inertial Coordinate)
- 原点:严格位于发射点(Launch Point),即 $t=0$ 时刻火箭所在的地球表面位置。
- 坐标轴:$y$ 轴指向发射点的当地垂直向上方向(天顶),$x$ 轴指向发射方位角($A_0$),$z$ 轴由右手定则确定。
- 惯性特性:该坐标系在 $t=0$ 时刻与地球固连,随后在绝对惯性空间中保持姿态和位置绝对静止,不随地球自转。
1.2 发射系 (Launch Frame)
- 定义:随地球转动(即地固系在发射点的局部表达)。
- 坐标轴:原点和轴向的初始定义与 LIC 完全一致,但它随时间 $t$ 与地球一起绕极轴以角速度 $\omega_e$ 同步旋转。它常被用于计算火箭相对于空气和地面的运动状态。
1.3 地心发惯系 (Earth-Centered Launch Inertial Frame)
- 原点:平移至地心。
- 坐标轴:其三轴方向与 发惯系 (LIC) 完全平行。
- 惯性特性:不随地球自转。在仿真实现中,用于简化重力计算。通过将其原点从发射点平移至地心得到。
1.4 地心赤道惯性系 (Earth-Centered Equatorial Inertial Frame)
- 原点:地心。
- 坐标轴:$z$ 轴为地球自转方向(极轴),$x$ 轴在发射点 $t=0$ 时刻所在的子午面内,$y$ 轴构成右手系。
- 惯性特性:在发射时确定,不随地球转动。
- 作用:该坐标系是联系“发惯系”与“随动发射系”的核心桥梁。在仿真中,通过 $A_0$(发射方位角)和 $B_0$(大地纬度)可实现“地心发惯系”与“地心赤道惯性系”之间的双向转换。
1.5 机体坐标系 (Body)
- 原点:火箭重心 (CoG)。
- X轴:纵轴,从火箭尾部指向头部。
- Y轴:横向轴,从火箭的 I 基准面指向 III 基准面。
- Z轴:由 X 和 Y 轴通过右手定则确定。
2. 转换逻辑与实现原理 (FrameContext)
2.1 组合旋转矩阵的物理意义
在 FrameContext 的代码实现中,存在一个关于随时间旋转的转换矩阵(由 get_lic_to_ecf_matrix 给出,其实际物理意义是 发惯系与发射系/地固系之间的相对旋转关系)。 这个矩阵不是简单的绕某轴旋转,而是以下三个物理过程的精妙复合:
- 旋转对齐到极轴:首先,通过大地纬度 $B_0$ 和方位角 $A_0$,将“地心发惯系”旋转对齐到“地心赤道惯性系”。
- 考虑地球自转:在“地心赤道惯性系”中,地球仅表现为绕 $z$ 轴的纯旋转。根据飞行时间 $t$,绕 $z$ 轴旋转 $\omega_e t$ 角度。
- 逆向旋转回目标系:最后,再次使用 $A_0$ 和 $B_0$,将坐标系从赤道系旋转回“发射系”的姿态。 (通过这一数学复合,代码中计算出的矩阵实质上直接表征了发射点处地球自转在发惯系三轴上的投影及演化。)
2.2 发射点在地心发惯系下的矢量
为了构建上述平移关系,需计算 $t=0$ 时刻发射点在“地心发惯系”下的坐标 $\vec{R}_{Launch}$。 由于地心发惯系的 $y$ 轴为当地垂线,对于 WGS84 椭球:
- 垂线偏差:地心并不总在 $y$ 轴上,大地纬度 $B_0$ 与地心纬度 $\phi$ 存在偏差 $(B_0 - \phi)$。
- 方位角的投影分解:因为偏差存在,地心距矢量并不完全重合于 $y$ 轴。这微小的偏差量在水平面的投影,严格依赖于发射方位角 ($A_0$),并在 $x$ 和 $z$ 轴上产生分量。 (重大纠错提示:早期代码中错误地将“经度”作为参数传入,这在物理上完全背离了发惯系的定义。已在代码中彻底修复为使用
azimuth方位角 $A_0$。)
2.3 气动与相对速度计算
- 绝对速度与牵连速度:火箭在 LIC 下的速度 $\vec{V}{LIC}$ 是绝对的。若要在旋转的“发射系”下表达速度,必须减去因地球自转产生的牵连速度:$\vec{V} = \vec{\omega}{earth} \times \vec{R}$。
- 统一气动视图 (Aero View):在统一的
AERO视图下,速度始终表示为火箭相对于空气的速度矢量(扣除牵连速度与风速),这就避免了繁琐的系间转换跳跃。