#0830 笔记
本文承接《圆型限制性三体问题》和《圆型限制性三体问题(二)》前 19 节。此前已经建立 CR3BP 的旋转坐标系、无量纲运动方程、伪势函数、五个拉格朗日点、雅可比常数与零速度面。
前两篇主要回答:
给定一个初始状态,航天器会怎样运动?哪些区域在给定雅可比常数下允许访问?
本篇进一步回答一个反问题:
如果希望航天器最终满足指定条件,应该怎样修改初始位置、初始速度或飞行时间?
这类问题没有把完整初始状态直接告诉我们,而是同时规定起点和终点的部分条件,因此属于二点边值问题。论文第三章使用变分分析、状态转移矩阵、微分修正和打靶法求解,并进一步生成平面 Lyapunov 轨道、三维 Halo 轨道以及
沿用前文的六维无量纲状态向量:
CR3BP 的三条二阶运动方程已经改写为六条一阶方程:
其中
普通数值积分解决的是初值问题。给定
就可以用 Runge–Kutta 等方法计算
其中
这里的逻辑方向是
例如,已知航天器的初始位置和速度,就能计算 5 天后的状态。
在任务设计中,经常只知道:
起点必须位于某条地球停泊轨道;
终点必须到达月球附近的指定位置;
终点速度方向必须满足交会要求;
飞行时间可能固定,也可能允许调整。
这时,完整初始状态并没有被直接给出。需要反过来寻找某些初始位置、初始速度或飞行时间,使传播后的终止状态满足目标。
这种问题称为 two-point boundary value problem,缩写为 TPBVP,中文通常译作二点边值问题。
其逻辑方向是
“二点”指轨迹的两个边界,不表示空间中只有两个点;“边值”指在初始端和终止端规定的条件。
打靶法可以类比为投飞镖:
先选一个初始方向和速度;
投出飞镖,观察落点;
计算落点与靶心之间的偏差;
根据“瞄准方向变化一点会让落点怎样变化”修正下一次投掷;
重复,直到命中靶心。
在轨道设计中:
| 飞镖问题 | 轨道设计问题 |
|---|---|
| 投掷方向和速度 | 初始状态、机动量或飞行时间 |
| 飞镖轨迹 | 数值积分得到的航天器轨迹 |
| 靶心 | 目标边界条件 |
| 脱靶距离 | 约束误差向量 |
| 调整瞄准 | 修改自由变量 |
打靶法不是没有方向的反复试错。它使用偏导数描述终点对初值的敏感度,再系统计算下一次修正量。
假设当前初始猜测产生的终点存在误差。若初始状态只改变一个小量
在参考轨道附近,可以近似写成
中间的偏导数矩阵告诉我们:初值中的各分量分别会怎样影响终点。这就是后文的状态转移矩阵。
所谓微分修正,就是利用这种一阶敏感度关系,把终点误差反推成初值修正。
设
其中:
这里的“小”非常重要。后续一阶 Taylor 展开只有在两条轨道足够接近时才可靠。
例如
表示只把初始
参考轨道满足
邻近轨道满足
在
消去参考轨道本身满足的项,得到线性变分方程:
其中
是动力学雅可比矩阵。
它通常随时间变化,因为矩阵元素要在不断运动的参考状态
若参考解是一个平衡点,
沿用前文的伪势函数
因此
其中
矩阵的结构可以分成四块:
其中
各分块的含义是:
| 分块 | 含义 |
|---|---|
| 位置导数不直接依赖位置本身 | |
| 位置的时间导数就是速度 | |
| 伪势的局部曲率,描述位置扰动怎样改变加速度 | |
| 旋转坐标系中的科里奥利耦合 |
论文使用
变分方程
不是在原运动方程之外增加一种力。它只是描述:
同一动力学系统中的两条邻近轨道,其差值在一阶近似下如何演化。
原轨道仍由非线性的 CR3BP 方程积分;变分方程只在参考轨道旁边同步传播敏感度。
线性变分方程的解可以写成
其中
它表示初始扰动从
对于六维状态,STM 是
例如
表示初始
又如
表示初始
所以 STM 可以理解成一张完整的“初始误差传播表”。
从
对
另一方面,变分方程给出
因为这对任意初始扰动都成立,所以
初始条件为
初始时刻采用单位矩阵的原因是:
每个状态分量对自身的偏导是 1;
每个状态分量对其他分量的偏导是 0。
原始状态向量有 6 个分量。STM 有
个元素。
因此计算参考轨道和 STM 时,要同时积分
个一阶微分方程。
数值积分器实际接收的扩展状态可以写成
其中
若
这和连续两次坐标变换相似:先把扰动从
若 STM 可逆,则
STM 给出
它没有精确生成一条新的非线性轨道。若
因此微分修正必须迭代进行:
在当前参考轨道上计算 STM;
得到一个小修正;
使用修正后的真实初值重新积分非线性运动方程;
在新轨道上重新计算 STM;
重复直到约束满足。
同时变分比较参考轨道和邻近轨道在同一时刻
如果传播时间固定,这就是需要研究的状态差。
若邻近轨道的终止时间也发生小变化
与参考轨道在
一阶展开给出
因此非同时变分满足
其中:
.assets/figure-3-1-variations.png)
可以把它类比成沿公路行驶的两辆车:
比较同一时刻两车的位置,是同时变分;
让第二辆车再开
传播映射写成
改变终止时间而保持初始状态不变时:
因此可变时间打靶法的敏感度矩阵,会在 STM 之外增加一列终点状态导数。
| 类型 | 时间是否作为自由变量 | 使用的变分 |
|---|---|---|
| 固定时间 | 否, | 同时变分 |
| 可变时间 | 是, | 非同时变分 |
可变时间增加了设计自由度,通常能满足更多约束,也可能扩大收敛域;代价是问题维数和实现复杂度增加。
把算法允许调整的量收集成自由变量向量:
自由变量可以包括:
初始位置的某些分量;
初始速度的某些分量;
飞行时间;
多重打靶中的拼接点状态;
某次机动的
用于处理不等式的松弛变量。
“自由”只表示求解器可以调整,并不表示物理任务中毫无限制。
把希望归零的误差收集成
理想解
例如,希望终点到达目标位置
如果还希望终点速度满足
约束对自由变量的偏导数组成
它是一个
矩阵元素回答:
第
个自由变量改变一点,会让第 个约束误差改变多少?
在第
定义
要求下一次误差的一阶预测为零:
求出
这就是微分修正最核心的两步。
若自由变量数与约束数相等,即
且
但实际计算通常不显式形成矩阵逆,而是直接求解线性方程
这样通常更快、更稳定。
若
问题是欠定的:满足一阶约束的修正可能有无穷多个。论文选择离当前猜测最近的最小范数修正:
它可以理解为:在所有能消除一阶误差的修正中,选择长度最小的一项。
现代数值实现通常使用 QR 分解或 SVD 求伪逆,避免直接计算上式中的逆矩阵,并能更好地处理病态问题。
若
问题超定。一般无法让所有约束同时精确为零,只能寻找最小二乘近似:
若任务要求所有约束必须严格满足,就需要重新设计自由变量或删除互相冲突的约束。
假设航天器飞行
若终点位置对初速度的敏感度约为
则一阶修正为
也就是把初速度降低约
真实 CR3BP 打靶只是把“一个误差除以一个敏感度”扩展为多维矩阵方程。
单重打靶只使用一整段轨道:
算法从当前自由变量
.assets/figure-3-2-single-shooting.png)
图中:
若传播时间固定,自由变量只包含选定的状态分量。例如
若约束是终点的两个位置分量:
则雅可比矩阵中的偏导可以直接从 STM 对应行列提取:
若飞行时间
雅可比矩阵相应增加时间列:
若约束直接是终点状态,则时间列通常包含
优点:
变量较少;
结构简单;
初始猜测良好、轨迹较短时计算效率高。
局限:
长时间传播会放大初值误差;
靠近主天体或不稳定区域时,STM 元素可能非常大;
一次初值修正可能导致终点发生巨大变化;
收敛结果强烈依赖初始猜测。
单重打靶不是“不准确”,而是在高度敏感的长弧问题中数值条件可能很差。
多重打靶将一条长轨道切成若干短弧。每个短弧的起点称为 patch point,可译为拼接点或匹配点。
设有
从
理想情况下,这个终点必须等于下一段的起点:
定义第
把所有连续性误差堆叠起来:
每个
个内部连续性约束。
.assets/figure-3-3-multiple-shooting.png)
图中的虚线不是航天器真实执行的跳跃,而是当前初始猜测中各分段没有接上的误差。微分修正要同时移动拼接点,使所有虚线逐渐缩到零。
若每段传播时间固定,自由变量通常包含全部拼接点以及其他设计量:
若额外自由变量
约束向量由连续性约束和任务特有约束组成:
对
求偏导:
它对其他不相邻拼接点的偏导为零。因此连续性雅可比矩阵具有形式
大量零块使其成为稀疏带状矩阵。多重打靶虽然变量更多,但可以使用稀疏线性代数高效求解。
如果每段时间也允许修改,则
加入自由变量向量:
连续性误差对本段时间的偏导为
因此时间敏感度部分通常是一个块对角结构:
另一种方法是只把总飞行时间
根据链式法则:
因而时间敏感度减少为一列:
这种做法自由变量较少,但不能独立调整每一段的传播时间。
设一条长轨道经过高度敏感区域。单重打靶中的初值误差需要传播整段时间,可能被放大许多数量级。
多重打靶把轨道切短后:
每个分段的误差只传播较短时间;
每个拼接点都可以被调整;
很大的全局误差被拆成多个较小的局部连续性误差;
数值条件通常得到改善。
代价是:
自由变量显著增加;
连续性约束显著增加;
需要更复杂的稀疏矩阵组织。
可以把它类比成长距离修路:单重打靶只调整整条道路的起点方向;多重打靶允许在沿途多个控制点同时调整方向,最后再把所有路段平滑接起来。
论文将轨道设计过程归纳为九个步骤。结合前文,可以整理为:
根据任务精度选择:
二体模型;
CR3BP;
双圆限制性四体模型;
椭圆限制性三体模型;
高精度星历
模型越复杂,不一定越适合直接生成初始猜测。工程上常先用简单模型得到近似解,再逐步提高模型精度。
确定:
单重还是多重;
固定时间还是可变时间。
选择取决于轨迹长度、敏感性、可用初始猜测和任务约束。
明确求解器允许修改哪些量,并记录其单位和排列顺序。
把所有任务条件写成“希望等于零”的误差函数。
可以使用:
解析偏导;
STM;
有限差分;
自动微分。
有限差分容易实现,但步长太大会产生截断误差,太小又会受浮点舍入误差影响。STM 通常更适合精确、重复的轨道修正。
初始猜测可以来自:
线性化解;
二体 Lambert 解;
已知周期轨道;
延拓得到的相邻解;
更简单动力学模型中的轨迹;
人工选取的拼接点。
从初始轨道中提取初始状态、拼接点、时间等,组成
每一轮迭代:
用当前自由变量积分轨迹及 STM;
计算约束误差
检查
计算
解线性方程得到
更新
常用停止条件为
还应设置最大迭代次数,并监测修正量是否异常增大。
收敛后的
约束是否确实满足;
拼接处是否连续;
雅可比常数是否按预期守恒;
是否撞击主天体;
时间和速度是否符合物理要求;
对小误差是否过度敏感。
Newton 法只在当前猜测附近使用一阶近似,因此属于局部收敛方法。
初始猜测太差时可能出现:
一阶 Taylor 近似失效;
约束误差不降反升;
雅可比矩阵接近奇异;
修正量变得非常大;
数值积分进入碰撞奇点或完全不同的动力学区域。
因此“算法没有收敛”不一定说明目标轨道不存在,也可能说明自由变量、约束、缩放、初始猜测或打靶形式选择不合适。
平面 Lyapunov 轨道是位于
它不是航天器静止在拉格朗日点,而是在旋转坐标系中围绕该区域形成闭合运动。
周期条件是
设
定义相对状态
在平衡点附近线性化:
共线点附近通常存在:
一对实特征值,对应指数增长和衰减方向;
一对平面纯虚特征值,对应平面振荡;
一对垂直纯虚特征值,对应面外振荡。
为了构造平面周期初值,抑制实特征值对应的不稳定模式和面外模式,只保留平面纯虚特征值对应的正弦运动。
线性近似可写成
其中
线性解只负责产生合理初始猜测,不是非线性 CR3BP 中的精确周期轨道。
平面 CR3BP 具有镜像对称性。若一条轨道从
因此不必直接施加完整六维首尾周期约束,只需要求解半圈。
.assets/figure-3-4-lyapunov-symmetry.png)
图中的
初始状态可选为
其中
论文使用可变时间单重打靶,自由变量为
约束为终点回到
这里:
两个约束、两个自由变量,所以
从 STM 和终点状态导数提取:
其中状态顺序采用
Newton 修正反复调整
得到一条周期轨道后,可以稍微改变预设参数,例如
基本过程是:
当简单参数延拓在折返点附近失效时,可以使用伪弧长延拓。它沿轨道族在解空间中的切向方向前进,而不是强迫某一个物理参数始终单调变化。
.assets/figure-3-5-lyapunov-families.png)
图中的每条闭合曲线都是不同初始条件对应的一条独立周期轨道,而不是同一航天器多圈运动留下的所有轨迹。
平面 Lyapunov 轨道算法依赖
三维周期轨道;
不关于坐标轴对称的轨道;
复杂星历模型中的周期或近周期解。
因此论文构造了可变时间多重打靶周期轨道算法。
设轨道上有
若总周期为
内部连续性约束为
周期轨道还必须把最后一段接回第一段:
这条首尾连续性就是周期性约束。
自治系统中的周期轨道具有相位自由度:沿同一条周期轨道移动起始点,仍然代表同一条几何轨道。
因此“所有拼接点状态加周期”通常会产生一个自由度冗余。需要额外的相位条件或固定一个几何条件,避免雅可比矩阵因时间平移对称性而退化。
论文通过固定初始
若希望初始运动为顺时针,例如
引入松弛变量
因为
若需要相反方向,可改变
自由变量包括
因此
论文的约束向量维数为
所以
该问题使用最小范数修正,而不是方阵 Newton 逆。
Halo 轨道是围绕共线拉格朗日点附近的三维周期轨道。它们具有明显的
“绕
对于周期为
它称为 monodromy matrix,可译为单周期矩阵。
它将初始扰动映射到一整周期后的扰动:
若
沿 Lyapunov 轨道族变化时,单周期矩阵的特征值也会变化。若特征值结构在某一点发生特定改变,可能出现分岔:一个新的周期轨道族从原轨道族中产生。
Halo 轨道族与平面 Lyapunov 轨道族在一个分岔轨道处相交。
生成 Halo 初值的基本过程是:
沿 Lyapunov 轨道族寻找分岔附近的轨道;
在该平面轨道上等时间选取若干拼接点;
给拼接点加入很小的
用通用周期轨道多重打靶法恢复连续性和周期性;
得到第一条三维 Halo 轨道;
使用延拓生成整个 Halo 轨道族。
CR3BP 关于
大部分轨道位于
大部分轨道位于
二者互为关于
.assets/figure-3-9-halo-families.png)
理解三维轨道图时,应同时观察:
透视图;
只看
沿 Halo 轨道族增加
速度增大通常对应雅可比常数下降。
论文图中
在
线性化后:
平面运动包含两个振荡频率
由于
所以:
把长周期模式的系数设为零,只保留短周期模式,则线性近似可写成
线性周期初值为
在一圈上按时间均匀选取
通用多重打靶直接施加:
所有分段连续;
最后一段接回第一段;
周期和运动方向满足要求。
所以它不依赖某一条特殊对称轴。
得到靠近
.assets/figure-3-10-l4-l5-families.png)
靠近平衡点的轨道近似为倾斜椭圆。随着轨道族向外延伸:
非线性效应越来越明显;
轨道形状不再接近简单椭圆;
轨道范围逐渐扩展到
对应 Jacobi 常数发生系统变化。
这也说明:线性化解只在平衡点附近有效,但它可以作为非线性轨道族的种子。
如果每一种轨道任务都重新编写自由变量、约束和雅可比矩阵,设计效率会很低。论文因此把多种打靶形式统一到同一个图形界面框架中。
用户可以选择:
固定时间或可变时间;
只要求各段连续;
约束初始位置;
约束终止位置;
同时约束初始和终止位置。
设第一和最后一个拼接点的位置分别为
目标起点和终点位置分别为
四种约束选项是:
只约束内部连续性;
连续性加初始位置约束
连续性加终止位置约束
连续性加初始和终止位置约束。
再分别配合固定时间和可变时间,总共得到
种打靶配置。
可变时间多重打靶的完整自由变量可写成
约束向量由三部分组成:
其中:
其他七种形式都可以从最完整形式中删除相应行列得到:
删除终点约束及对应雅可比矩阵行,就取消终点位置约束;
删除起点约束,就取消起点位置约束;
删除时间自由变量及对应雅可比矩阵列,就切换为固定时间;
只保留连续性部分,就得到纯拼接修正。
这说明打靶算法的通用性来自统一的
表示方式。
虽然公式常写成
程序中更合适的做法是直接解
对于方阵可以使用 LU 或 QR;对于欠定、超定或接近奇异的问题,可以使用 SVD。
自由变量中可能同时包含:
无量纲位置,数量级约为
很小的速度修正;
很长的传播时间;
不同物理意义的任务参数。
若数量级差异太大,雅可比矩阵会病态。可以引入缩放矩阵:
让各变量和约束在数值上具有相近数量级,通常能改善求解稳定性。
若完整 Newton 步过大,可以采用
可以用中心差分检查某一列敏感度:
再与 STM 或解析雅可比对应列比较。若差异很大,可能存在:
状态排列错误;
STM 展开顺序错误;
二阶偏导公式错误;
时间尺度混淆;
有限差分步长不合适。
即使
也只表示所定义的数学约束满足。仍要检查:
是否穿过主天体内部;
是否需要不可实现的速度变化;
飞行时间是否合理;
是否违反零速度面的可达性;
周期轨道是否极度不稳定;
高保真动力学模型下是否仍然有效。
变分分析不是重新求一条轨道
它研究参考轨道附近的小扰动如何传播。真实的新轨道仍需重新积分非线性运动方程。
动力学雅可比矩阵
描述瞬时动力学对状态的敏感度;
描述任务约束对设计自由变量的敏感度。STM 把二者联系起来。
STM 是局部线性映射,不是全局精确映射
只在扰动足够小时可靠。
上游和下游指时间传播顺序,不是空间上下方向
上游状态是较早时刻的状态,下游状态是由数值积分得到的较晚时刻状态。
打靶不是盲目试错
它使用
单重打靶不是只迭代一次
“单重”指轨道只由一个传播段组成,不是只作一次 Newton 修正。
多重打靶不是多条不同任务轨道
它把同一条期望轨道分成多个短段,并用连续性约束把它们连接起来。
可变时间多出的雅可比列来自终点状态导数
周期轨道族不是同一航天器的多圈轨迹
图中的每条闭合曲线对应一组不同的初始条件和周期。
平衡点、周期轨道和稳定性是三个不同概念
平衡点:在旋转系中状态不变;
周期轨道:经过一个周期后状态重复;
稳定性:小扰动经过传播后是增长、衰减还是保持有界。
允许区域不保证打靶法一定收敛
零速度面只给出能量型必要条件。打靶法能否收敛还取决于动力学结构、初始猜测、约束选择和数值条件。
| 符号 | 含义 |
|---|---|
| 六维 CR3BP 状态向量 | |
| 六维一阶动力学函数 | |
| 参考轨道上的状态 | |
| 同一时刻参考轨道与邻近轨道的状态差 | |
| 动力学雅可比矩阵 | |
| 伪势函数的 Hessian 矩阵 | |
| 状态转移矩阵 STM | |
| 同时考虑状态变化和时间变化的非同时变分 | |
| 传播时间的小变化 | |
| 从初始状态传播时间 | |
| TPBVP | two-point boundary value problem,二点边值问题 |
| 自由变量或设计变量向量 | |
| 约束或误差向量 | |
| 约束对自由变量的雅可比矩阵 | |
| 一次微分修正量 | |
| 约束收敛容差 | |
| patch point | 多重打靶中的拼接点或匹配点 |
| 第 | |
| 周期轨道的完整周期或任务总传播时间 | |
| 周期轨道的单周期矩阵 monodromy matrix | |
| continuation | 延拓法,由已知解逐步生成相邻解 |
| pseudo-arclength continuation | 伪弧长延拓 |
| bifurcation | 分岔,旧轨道族上产生新轨道族的结构变化 |
| 把运动方向不等式转为等式的松弛变量 | |
| Lyapunov orbit | 共线点附近的平面周期轨道 |
| Halo orbit | 共线点附近的三维周期轨道 |
给定初始状态后,CR3BP 运动方程可以产生一条轨道;但轨道设计需要反过来寻找能满足终点条件的初始状态和传播时间。
在参考轨道附近对动力学方程线性化,得到变分方程:
状态转移矩阵将初始扰动映射到终点扰动:
它满足
若传播时间也变化,则
把可调量收集成自由变量
单重打靶只传播一整段轨道,结构简单但对长时间敏感传播较脆弱;多重打靶把轨道切成短段,通过
强制各段连续,变量更多但通常更稳健。
平面 Lyapunov 轨道利用关于
本篇的核心逻辑可以压缩为:
前两篇笔记给出了 CR3BP 中“轨道为什么这样运动”的动力学骨架;本篇进一步给出“怎样主动寻找一条满足任务条件的轨道”的数值方法。