转移轨道设计概述
e2m2e 实现了基于 Cui et al. (2025) 的"搜索-优化"两步法,用于 DRO(Distant Retrograde Orbit)到 RO(Regular Orbit)的转移轨道设计。
设计方法
两步法流程:
搜索阶段:在参数空间中搜索可行的转移窗口
优化阶段:对搜索结果进行 NLP 精化优化
转移类型:
DIRECT: 直接转移LGA: 月球引力辅助转移EXTERNAL: 外部转移
设计变量
搜索和优化的核心变量:
α (alpha): 切向速度比,控制出发速度方向
T: 转移时间
t_ins: 从轨道远地点到插入点的时间
目标函数
最小化总脉冲:
\[J = \Delta v_1 + \Delta v_2\]
其中 \(\Delta v_1\) 为出发脉冲,\(\Delta v_2\) 为插入脉冲。
约束条件
位置连续性:转移轨道与目标轨道在插入点位置匹配
速度平行性:转移轨道速度方向与目标轨道速度方向平行
碰撞避免:避免与地球和月球碰撞
使用示例
from e2m2e.transfer.transfer import TransferConfig, TransferOptimizer
from e2m2e.core.system import CR3BP_System
from e2m2e.core.dynamics import CR3BP_Dynamics
system = CR3BP_System.from_known_system("earth_moon")
dynamics = CR3BP_Dynamics(system)
# 配置转移参数
config = TransferConfig(
alpha_min=0.5,
alpha_max=2.5,
use_copt=False, # 使用 SciPy
fallback_to_scipy=True
)
# 执行优化
optimizer = TransferOptimizer(system, dynamics, config)
result = optimizer.optimize(departure_orbit, arrival_orbit)
if result.success:
print(f"总脉冲: {result.total_delta_v}")
print(f"转移时间: {result.transfer_time}")