
ミッションのΔv収支をPythonで組む|"どこへ行けるか"を見積もる
2026-09-15 ・ 実践
宇宙ミッションが実現可能かは、Δv収支(デルタブイバジェット) でおおまかに判断できます。各段階で必要な速度変化を足し上げ、ロケット方程式で燃料に換算する——ミッション設計の第一歩をPythonで体験します。
Δvは"宇宙の通貨"
宇宙では「どこへ行くか」は距離でなく 必要な速度変化(Δv)の合計 で測ります。打ち上げ、軌道変更、着陸——それぞれにΔvが要り、合計が大きいほど多くの燃料が必要です。
準備
pip install numpy
① Δv収支を積み上げる
代表的なミッションの各段階のΔv(概算値)を合計します。
# 各段階の必要Δv [m/s](おおよその目安)
missions = {
"地球低軌道(LEO)まで": [
("打ち上げ(重力・空気損失込み)", 9400),
],
"静止軌道(GEO)まで": [
("打ち上げ(LEO)", 9400),
("LEO→GTO遷移", 2440),
("GTO→GEO円化", 1470),
],
"月面着陸": [
("打ち上げ(LEO)", 9400),
("LEO→月遷移(TLI)", 3120),
("月周回投入", 900),
("月面着陸", 1870),
],
}
for name, steps in missions.items():
total = sum(dv for _, dv in steps)
print(f"■ {name}: 合計 {total:,} m/s")
for label, dv in steps:
print(f" {label:<26} {dv:>6,} m/s")
出力の一部:
■ 月面着陸: 合計 15,290 m/s
打ち上げ(LEO) 9,400 m/s
LEO→月遷移(TLI) 3,120 m/s
月周回投入 900 m/s
月面着陸 1,870 m/s
月面着陸には合計 約15.3 km/s のΔvが必要。LEOまでの9.4km/sに、さらに5.9km/s積み増す計算です。
② 必要な推進剤に換算
Δv合計をロケット方程式にかけ、質量比=必要燃料を見積もります。
import numpy as np
def mass_ratio(dv_total, isp=350):
ve = isp * 9.80665
return np.exp(dv_total / ve)
for name, steps in missions.items():
total = sum(dv for _, dv in steps)
print(f"{name}: 質量比 {mass_ratio(total):.1f} 倍")
月面着陸は質量比が非常に大きく、機体の大半が燃料になります。Δvが積み上がるほど燃料が指数的に増える——だから多段式やスイングバイで節約するのです。
スイングバイで『タダで』加速
惑星の重力を利用するスイングバイ(重力アシスト)を使うと、燃料なしでΔvを"稼ぐ"ことができます。ボイジャーや探査機はこれで遠くまで到達しました。Δv収支を減らす裏ワザです。
あくまで概算
ここでの各Δvは代表的な目安で、実際は軌道・打ち上げ地点・機体で変わります。それでも「ミッションが成立するか」を桁で判断するには十分。詳細設計の前の"当たり付け"に使います。
まとめ
- Δv収支は各段階の必要速度変化を足し上げたもの
- LEOまで約9.4km/s、静止軌道は約13km/s、月面着陸は約15km/s
- ロケット方程式で質量比=必要燃料に換算できる
- Δvが増えるほど燃料は指数的に増加。スイングバイで節約
もう少し詳しく(背景と理論)
Δv収支(デルタブイバジェット)は、ミッション各段階で必要な速度変化を足し上げた設計指標で、宇宙工学で「どこへ行けるか」を測る共通通貨です1。距離ではなく Δv で測るのは、宇宙では推進剤の量が Δv の合計で決まるからで、ロケット方程式を通じて質量比=必要燃料に指数的に効きます2。だから設計者は Δv を1m/sでも削ろうとします。有効な節約手段が重力アシスト(スイングバイ)——惑星の運動量を借りて燃料なしで Δv を稼ぎ、ボイジャーやカッシーニなど外惑星探査を可能にしました3。実際の収支には重力損失・空気抵抗損失・姿勢制御ぶんの余裕(マージン)も見込みます。
次の一歩 🌸
燃料換算のロケット方程式、軌道遷移のホーマン遷移、打ち上げの打ち上げプロセスへどうぞ。