WSB 太阳引力辅助低能转移

WSB(Weak Stability Boundary)模块实现太阳引力辅助下的低能间接月球转移, 由 transfer_orbit() 编排器以 "WSB" 路由,内部经弹道网格搜索 + ThreeBodyLambert 到达段精化闭环。

基本原理

WSB 转移利用日地系统中的弱稳定边界区域:航天器先飞离月球影响球、进入 太阳摄动下的远端日心弧,在远地点附近太阳引力做功使其相对月球的速度 降到捕获阈值之下,从而以接近零的 Δv 被月球弹道捕获(Belbruno & Miller 1993)。

捕获判据采用 Belbruno 约定的二体 Kepler 能量 \(H_2\)

\[H_2 = \frac{|\mathbf{v}|^2}{2} - \frac{\mu_{\text{moon}}}{r}\]

近月点处 \(H_2 < 0\) 表示航天器处于月球束缚态(弹道捕获)。

求解流程(两步):

  1. 弹道网格搜索:在太阳相位角 × 出发相位角 × 飞行时间三维网格上, BCR4BP(含太阳摄动的双圆四体模型)前向传播,筛选近月点高度与 \(H_2\) 满足捕获条件的候选(ProcessPoolExecutor 并行)

  2. 到达段精化:对最优候选用 ThreeBodyLambert 打靶,精化月心到达段

使用方法

from e2m2e.algorithm.transfer import transfer_orbit
from e2m2e.algorithm.transfer.wsb import WsbSearchParams

result = transfer_orbit(
    "WSB",
    wsb_search_params=WsbSearchParams(
        tof_range=(90.0, 150.0),   # 飞行时间范围(天)
        max_total_dv=4.0,          # 总 Δv 上限(km/s)
    ),
    departure_state=departure_state,
    target_state=target_state,
)

print(f"总 Δv: {result.total_dv:.4f} km/s")
print(f"飞行时间: {result.time_of_flight:.2f} 天")

应用场景

  • 低能地月转移:以极低 Δv 实现月球捕获,适用于燃料受限任务

  • 月球着陆器、轨道插入器的经济转移方案

  • 作为应急轨道救援的低燃料备份通道