轨道动力学Vol.2 经典轨道要素(COE)与状态向量互转

航天器轨道动力学理论

引言

在上一篇文章中,我们知道二体运动的轨迹是平面内的圆锥曲线。然而,航天器是在三维空间中运动的。为了唯一确定卫星在三维空间中的轨道和位置,我们需要一组参数,这就是经典轨道要素 (Classical Orbital Elements, COE),通常也称为开普勒要素。

对于任务规划者来说,COE(如“高度”、“倾角”)比笛卡尔坐标系下的位置和速度矢量 $(\mathbf{r}, \mathbf{v})$ 更直观;而对于计算机积分推演,状态矢量 $(\mathbf{r}, \mathbf{v})$ 则更加方便。因此,熟练掌握两者之间的转换是轨道动力学的基本功。


六大经典轨道要素

三维空间中的二体问题有3个自由度的位置和3个自由度的速度,共6个独立变量。因此,COE也包含6个参数:

描述轨道形状与大小

  1. 半长轴 (Semi-major Axis, $a$): 描述轨道的大小。对于椭圆轨道,它决定了轨道能量和周期。
  2. 偏心率 (Eccentricity, $e$): 描述轨道的形状(圆、椭圆、抛物线或双曲线)。

描述轨道平面在空间中的方位

为了描述轨道平面,我们需要定义一个惯性参考系,通常使用地心赤道惯性系 (ECI):$X$轴指向春分点,$Z$轴指向北极,$Y$轴构成右手系。

  1. 轨道倾角 (Inclination, $i$): 轨道平面的法向量 $\mathbf{h}$ 与惯性系 $Z$ 轴(北极方向)的夹角。
    • $0^\circ \le i < 90^\circ$: 顺行轨道 (Prograde)
    • $90^\circ < i \le 180^\circ$: 逆行轨道 (Retrograde)
  2. 升交点赤经 (Right Ascension of the Ascending Node, $\Omega$ 或 RAAN): 从春分点方向($X$轴)逆时针量到升交点矢量 $\mathbf{n}$ 的角度。升交点是卫星从南半球穿过赤道面进入北半球的点。

描述轨道在平面内的朝向

  1. 近地点幅角 (Argument of Perigee, $\omega$): 在轨道平面内,从升交点 $\mathbf{n}$ 顺着运动方向量到近地点矢量 $\mathbf{e}$ 的角度。它定义了椭圆在轨道平面内的旋转方向。

描述卫星在轨道上的位置

  1. 真近点角 (True Anomaly, $\nu$ 或 $f$): 在轨道平面内,从近地点 $\mathbf{e}$ 顺着运动方向量到卫星位置矢量 $\mathbf{r}$ 的角度。这是一个随时间快速变化的量。

从状态矢量 $(\mathbf{r}, \mathbf{v})$ 求 COE

已知惯性系下的位置 $\mathbf{r}$ 和速度 $\mathbf{v}$,求解六根数的算法流程如下:

Step 1: 计算基础辅助矢量

  • 距离 $r = |\mathbf{r}|$,速度 $v = |\mathbf{v}|$
  • 角动量矢量 $\mathbf{h} = \mathbf{r} \times \mathbf{v}$,及其模长 $h$
  • 交点矢量 $\mathbf{n} = \mathbf{K} \times \mathbf{h}$,其中 $\mathbf{K} = [0, 0, 1]^T$ 是 $Z$ 轴单位矢量。$\mathbf{n}$ 指向升交点方向。
  • 偏心率矢量 $\mathbf{e} = \frac{1}{\mu} [(v^2 - \frac{\mu}{r})\mathbf{r} - (\mathbf{r} \cdot \mathbf{v})\mathbf{v}]$

Step 2: 计算形状与大小 ($a, e$)

  • 偏心率 $e = |\mathbf{e}|$
  • 比机械能 $\mathcal{E} = \frac{v^2}{2} - \frac{\mu}{r}$
  • 半长轴 $a = -\frac{\mu}{2\mathcal{E}}$ (若 $e \neq 1$)

Step 3: 计算空间方位 ($i, \Omega, \omega$)

  • 倾角 $i$: $\cos i = \frac{h_z}{h}$,即 $i = \arccos(\frac{h_z}{h})$。($0 \le i \le 180^\circ$)
  • RAAN $\Omega$: $\cos \Omega = \frac{n_x}{n}$。
    • 若 $n_y > 0$,$\Omega = \arccos(\frac{n_x}{n})$
    • 若 $n_y < 0$,$\Omega = 360^\circ - \arccos(\frac{n_x}{n})$
  • 近地点幅角 $\omega$: $\cos \omega = \frac{\mathbf{n} \cdot \mathbf{e}}{n e}$。
    • 若 $e_z > 0$,$\omega = \arccos(\dots)$
    • 若 $e_z < 0$,$\omega = 360^\circ - \arccos(\dots)$

Step 4: 计算真近点角 ($\nu$)

  • $\cos \nu = \frac{\mathbf{e} \cdot \mathbf{r}}{e r}$。
    • 若 $\mathbf{r} \cdot \mathbf{v} > 0$ (飞离近地点),$\nu = \arccos(\dots)$
    • 若 $\mathbf{r} \cdot \mathbf{v} < 0$ (飞向近地点),$\nu = 360^\circ - \arccos(\dots)$

注意:当 $e=0$ (圆轨道) 或 $i=0$ (赤道轨道) 时,上述某些定义(如 $\mathbf{n}$ 或 $\mathbf{e}$)会退化或无意义。这时需要使用替代参数,如“纬度幅角”等。


从 COE 求状态矢量 $(\mathbf{r}, \mathbf{v})$

这是一个逆过程,通常分为两步:先在近地点坐标系 (Perifocal Frame, PQW) 中计算,然后旋转到地心赤道惯性系 (ECI, IJK)

Step 1: 在 PQW 系中计算 $(\mathbf{r}_{PQW}, \mathbf{v}_{PQW})$ PQW系定义为:$P$轴指向近地点,$W$轴沿角动量方向,$Q$轴构成右手系。 在此坐标系中,卫星位置和速度公式非常简单:

其中 $p = a(1-e^2)$。

Step 2: 旋转矩阵 $R_{PQW \to IJK}$ 我们需要进行三次欧拉角旋转,将矢量从 PQW 系变换到 IJK 系。旋转顺序为 3-1-3 序列:

  1. 绕 $Z$ 轴旋转 $-\omega$(将 $P$ 轴旋转到升交点线上)
  2. 绕 $X$ 轴旋转 $-i$(将轨道面旋转到赤道面上)
  3. 绕 $Z$ 轴旋转 $-\Omega$(将升交点线旋转到 $X$ 轴上)

对应的旋转矩阵分别为:

总的旋转矩阵(方向余弦矩阵)$\mathbf{R}_{PQW \to IJK} = \mathbf{R}_3(-\Omega) \mathbf{R}_1(-i) \mathbf{R}_3(-\omega)$ 为:

(简写:$c=\cos, s=\sin$)

最终得到惯性系下的状态矢量:


特殊情况处理 (Singularities)

上述算法在某些特定轨道下会出现奇异性(分母为零或角度无定义):

  1. 圆轨道 ($e \approx 0$):近地点无定义,$\omega$ 和 $\nu$ 无意义。

    • 替代方案:使用纬度幅角 (Argument of Latitude) $u = \omega + \nu$。
    • 位置计算直接使用 $u$:$\mathbf{r} = r [\cos u \cdot \mathbf{n} + \sin u \cdot (\mathbf{h} \times \mathbf{n})/h]$。
  2. 赤道轨道 ($i \approx 0$ 或 $180^\circ$):升交点无定义,$\Omega$ 和 $\omega$ 无意义。

    • 替代方案:使用近地点经度 (Longitude of Perigee) $\varpi = \Omega + \omega$。
  3. 圆赤道轨道

    • 替代方案:使用真经度 (True Longitude) $\lambda = \Omega + \omega + \nu$。

在编写通用的轨道转换代码时,必须通过判断 $e$ 和 $i$ 的大小(设置阈值,如 $10^{-6}$)来处理这些特殊分支。


结语

COE 与 $(\mathbf{r}, \mathbf{v})$ 的互转是编写轨道仿真软件的第一步。理解这些参数的几何意义,有助于我们在脑海中构建出卫星运行的动态图像。下一章,我们将利用这些知识,探讨如何改变轨道的大小——即霍曼转移。