軌道上サービス(OOS)の概要と要素技術 — 宇宙で衛星を修理する時代

もし自分の車が故障したら、ロードサービスを呼んだり修理工場に持ち込んだりできます。では、高度 36,000 km の静止軌道で燃料が尽きかけた通信衛星はどうでしょうか? 地上に「持ち帰る」ことは事実上不可能です。かつては、そうした衛星は寿命を迎えたら墓場軌道へ投棄するしかありませんでした。しかし今、別の宇宙機が軌道上で対象衛星に接近し、燃料を補給したり、故障した部品を交換したりする技術が現実のものになりつつあります。これが軌道上サービス(On-Orbit Servicing: OOS)です。

OOS の概念を理解すると、以下のような広い応用領域が見えてきます。

  • 商業衛星の寿命延長: 静止軌道上の通信衛星は 1 機あたり数百億円の資産です。燃料補給だけで運用寿命を 5〜10 年延長できれば、数百億円規模の経済的価値が生まれます
  • 宇宙デブリ除去: 制御不能になったロケット上段や故障衛星を能動的に捕獲し、軌道離脱させる技術は、OOS の要素技術の直接的な応用です
  • 軌道上組立: 地上から一度に打ち上げられるサイズを超える大型宇宙構造物(大型望遠鏡、宇宙太陽光発電など)を、軌道上で組み立てる将来構想の基盤技術です
  • 惑星探査の高度化: 火星周回軌道で探査機を修理・アップグレードできれば、ミッション設計の自由度が飛躍的に向上します

本記事の内容

  • 軌道上サービスとは何か — 定義と基本概念
  • OOS の歴史 — ハッブル修理から商業サービスまで
  • OOS の分類 — 検査、燃料補給、修理、デオービットなど
  • 要素技術の全体像 — ランデブー航法から離脱まで
  • 協力物体 vs 非協力物体の OOS
  • 商業 OOS の現状 — MEV、ELSA-d など
  • 技術課題と今後の展望
  • Python によるミッションタイムラインの可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

軌道上サービスとは — 宇宙における「ロードサービス」

概念の直感的理解

地上のインフラ — 橋、発電所、航空機 — は、定期的に点検・修理されることを前提に設計されています。ところが人工衛星は、打ち上げたら最後、原則として「使い捨て」でした。地上のエンジニアがリモートでソフトウェアを更新することはできますが、ハードウェアの故障や推進剤の枯渇には対処できません。

この「使い捨て」パラダイムを根本的に変えるのが軌道上サービス(On-Orbit Servicing: OOS)です。OOS とは、宇宙空間において、あるサービス衛星(Servicer)が別の対象衛星(Client)に対して、検査・修理・燃料補給・軌道変更・アップグレードなどの物理的サービスを提供する技術体系のことです。

地上の例でイメージすると、次のような対応関係があります。

地上のサービス 軌道上サービス
ロードサービス(牽引) 軌道変更・デオービット
ガソリンスタンド 燃料補給(リフューエリング)
自動車整備工場 部品交換・修理
車検・定期点検 近接検査(クローズアップ撮影)
カーディーラー(アップグレード) ペイロード交換・ソフトウェア更新

この表を見ると、地上では当たり前のサービスが宇宙ではまだ発展途上であることがわかります。その最大の理由は、軌道上での接近・捕獲・操作という一連のプロセスが極めて高度な技術を要求するからです。

OOS の公式な定義

NASA や ESA の技術文書では、OOS は次のように定義されています。

On-Orbit Servicing (OOS) encompasses all activities conducted in space to extend the useful life, enhance capabilities, or change the orbital parameters of a space asset, performed by a robotic or crewed servicing vehicle.

すなわち、宇宙資産の有用寿命の延長、能力の向上、または軌道パラメータの変更を目的として、サービス機(ロボットまたは有人)が宇宙空間で実施するすべての活動を指します。

ここで重要なのは、OOS が単一の技術ではなく、航法・誘導・制御(GNC)、ロボティクス、センシング、通信など多数の要素技術が統合されたシステムであるという点です。次のセクションでは、こうした技術の歴史的な発展をたどることで、OOS がどのように現在の姿にたどり着いたかを見ていきましょう。

OOS の歴史 — 夢から現実へ

軌道上で衛星にサービスを提供するという構想は、宇宙開発の黎明期からありました。しかし、それを実際に実現するまでには長い道のりがありました。ここでは、OOS の歴史を大きく 4 つの時代に分けて概観します。

第 1 世代: 有人による修理(1970〜1990 年代)

OOS の原点は、1973 年のスカイラブ修理にさかのぼります。打ち上げ時に微小隕石シールドが損傷したスカイラブ宇宙ステーションに対して、宇宙飛行士が船外活動(EVA)でシールドを展開し、宇宙ステーションの運用を救いました。

しかし、OOS の歴史において最もアイコニックなのは、ハッブル宇宙望遠鏡の修理ミッション(Hubble Servicing Missions: SM)です。

STS-61(SM1, 1993年): ハッブルは 1990 年の打ち上げ直後、主鏡の研磨誤差(球面収差)が発見され、本来の性能を発揮できませんでした。SM1 では、宇宙飛行士がスペースシャトルの船外活動で COSTAR(補正光学ユニット)を設置し、ハッブルの「視力」を回復させました。この修理は、軌道上で大型科学機器を修理できることを世界に証明した画期的な出来事でした。

STS-109(SM3B, 2002年): 新しい撮像カメラ ACS(Advanced Camera for Surveys)を設置し、太陽電池パドルも交換しました。

STS-125(SM4, 2009年): ハッブルの最後にして最も困難な修理ミッションです。宇宙飛行士は、設計時に軌道上交換を想定していなかった機器(STIS 分光器の電源基板など)まで修理しました。このミッションによりハッブルの運用寿命はさらに延び、2026 年現在も観測を続けています。

ハッブル修理ミッションの成功は、OOS の価値を決定的に証明しました。ただし、スペースシャトルによる有人修理は 1 回のミッションに数百億〜数千億円のコストがかかり、持続可能な手段とは言えませんでした。ここから、「ロボットによる自律的な OOS」という次世代の研究が加速します。

第 2 世代: ロボットによる技術実証(1990〜2000 年代)

有人修理の高コスト問題を解決するため、各国の宇宙機関はロボットによる OOS の技術実証に取り組み始めました。

ETS-VII(おりひめ・ひこぼし, 1997年, JAXA): 世界初の自律ランデブー・ドッキング実証衛星です。「おりひめ」(ターゲット衛星)と「ひこぼし」(チェイサー衛星)の 2 機構成で、自律的な接近・ドッキングを軌道上で実証しました。さらに、「ひこぼし」に搭載されたロボットアームによる模擬作業(ボルト締め等)も実施されました。ETS-VII は、無人ロボットによる OOS が原理的に可能であることを示した先駆的ミッションです。

Orbital Express(2007年, DARPA/Boeing): DARPA が主導した OOS 技術実証ミッションで、サービス衛星 ASTRO とクライアント衛星 NextSat の 2 機で構成されました。自律ランデブー、ドッキング、燃料移送(ヒドラジン)、バッテリー交換(ORU: Orbital Replacement Unit)を実証しました。Orbital Express は、ロボットによる OOS のフルシーケンスを初めて実証したミッションとして、商業 OOS の礎となりました。

DEOS(ドイツ, DLR, 2000年代構想): ドイツ航空宇宙センター(DLR)は、非協力物体(ドッキング用インターフェースを持たない衛星やデブリ)への OOS を研究する DEOS(Deutsche Orbitale Servicing Mission)を構想しました。非協力物体の捕獲は、回転している物体をロボットアームでつかむという極めて困難な課題を含んでおり、現在も活発な研究テーマです。

第 3 世代: 商業サービスの幕開け(2010〜2020 年代)

技術実証を経て、OOS はついに商業サービスとして実用化の段階に入りました。

MEV-1(Mission Extension Vehicle-1, Northrop Grumman, 2020年): 商業 OOS の歴史的マイルストーンです。MEV-1 は、静止軌道上で燃料が残りわずかとなった Intelsat-901(2001 年打ち上げの通信衛星)に自律的にランデブー・ドッキングし、推進力を提供して運用を 5 年間延長しました。MEV-1 は Intelsat-901 のアポジキックモーター(液体エンジンのノズル部分)に結合するという巧みな設計で、相手衛星にドッキング用の専用インターフェースがなくても接続できることを実証しました。

MEV-2(2021年): MEV-1 の成功を受けて、Intelsat-10-02 に対して同様の寿命延長サービスを提供しました。

ELSA-d(End-of-Life Services by Astroscale, 2021年): 日本の Astroscale 社による技術実証衛星で、磁石を用いたドッキング機構で対象物体を捕獲する技術を実証しました。デブリ除去の商業化に向けた重要な一歩です。

OSAM-1(旧 Restore-L, NASA, 開発中): NASA が開発中のロボットサービスミッションで、LEO 上の Landsat-7 衛星に対して自律的に接近し、燃料補給を行うことを目指しています。設計時に軌道上サービスを想定していなかった衛星への燃料補給という、極めて挑戦的な目標を掲げています。

第 4 世代: 標準化と拡大(2020 年代〜)

現在は、OOS を衛星設計の「標準オプション」にする動きが進んでいます。

  • CONFERS(Consortium for Execution of Rendezvous and Servicing Operations): 米国政府と産業界が共同で OOS の安全基準・運用基準を策定する団体
  • ISO/CONFERS 標準: 協力物体間のランデブー・ドッキングに関する技術標準の策定が進行中
  • ESA CLEO(Clearing the Environment in Orbit): ESA のデブリ除去・OOS プログラム

こうした標準化の動きは、OOS が「研究テーマ」から「産業」へと転換しつつあることを示しています。

ここまでで、OOS の歴史的発展を概観しました。では、具体的に OOS にはどのような種類のサービスがあるのでしょうか? 次のセクションで、OOS のミッション分類を整理します。

OOS の分類 — 5 つのサービスカテゴリ

OOS と一口に言っても、その内容は多岐にわたります。ここでは、サービスの内容に基づいて 5 つのカテゴリに分類します。

カテゴリ 1: 検査(Inspection)

対象衛星の外観を近距離から撮影・観察するサービスです。物理的な接触は不要なため、技術的には最もシンプルですが、それでも精密な近傍航行技術が必要です。

  • 目的: 衛星の健全性評価、故障箇所の特定、打ち上げ時の損傷確認
  • 典型的な距離: 数十 m〜数百 m
  • 代表例: MEV-1 のドッキング前検査フェーズ

地上からの望遠鏡観測では解像度に限界があるため、軌道上で数十 m まで接近して撮影することで初めて判明する情報があります。たとえば、太陽電池パドルの展開状態、多層断熱材(MLI)の損傷、マイクロメテオロイドの衝突痕などです。

カテゴリ 2: 軌道変更・寿命延長(Orbit Modification / Life Extension)

対象衛星にドッキングして推進力を提供し、軌道を変更したり運用を延長したりするサービスです。

  • 目的: 軌道維持(ステーションキーピング)、墓場軌道への移動、運用軌道への再配置
  • 技術要件: ドッキング機構、推進系の統合
  • 代表例: MEV-1/2 による Intelsat 衛星の寿命延長

静止軌道衛星の場合、南北方向のステーションキーピングに最も多くの推進剤を消費します。推進剤が枯渇すると軌道傾斜角が年間約 0.8° ずつ増加し、地上局からの追尾が困難になります。MEV は対象衛星に物理的に結合して自身の推進系でステーションキーピングを代行するため、対象衛星の推進剤を一切消費しません。

カテゴリ 3: 燃料補給(Refueling)

対象衛星の推進剤タンクに燃料を補給するサービスです。カテゴリ 2 の「推進力の代行」とは異なり、対象衛星自身の推進系を再稼働させる点が特徴です。

  • 目的: 推進剤の枯渇による運用終了の回避
  • 技術要件: 推進剤移送機構、バルブ操作(場合によっては対象衛星の配管切断・接続)
  • 代表例: Orbital Express での燃料移送実証、OSAM-1(開発中)

燃料補給は技術的に極めて困難です。なぜなら、多くの既存衛星は軌道上での燃料補給を想定して設計されていないため、充填バルブへのアクセスや残量の測定が困難だからです。宇宙空間での液体推進剤の取り扱い(微小重力下での液体挙動)も大きな技術課題です。

カテゴリ 4: 修理・アップグレード(Repair / Upgrade)

故障した部品の交換や、新しい機器の設置を行うサービスです。OOS の中で最も技術的に高度なカテゴリです。

  • 目的: 故障機器の交換、センサーの更新、ソフトウェア・ハードウェアのアップグレード
  • 技術要件: ロボットアーム、器用な操作能力(デクステリティ)、ORU(軌道上交換ユニット)の設計
  • 代表例: ハッブル修理ミッション、ISS のロボットアーム Canadarm2 による保守

修理・アップグレードを自律ロボットで行うには、人間の手に匹敵する器用さが求められます。ボルトの着脱、コネクタの接続、精密部品の取り付けなど、現在の宇宙ロボティクスにとって最も挑戦的な領域です。

カテゴリ 5: デオービット(Deorbit / Active Debris Removal)

運用を終えた衛星や制御不能なデブリを、安全な軌道(墓場軌道や大気圏再突入軌道)に移動させるサービスです。

  • 目的: 軌道環境の保全、ケスラーシンドロームの防止
  • 技術要件: 非協力物体への接近・捕獲技術
  • 代表例: ESA ClearSpace-1(開発中)、Astroscale ELSA-d

デオービットは、OOS の中でも特に社会的意義が大きいカテゴリです。2026 年現在、追跡可能な宇宙デブリは 3 万個以上、追跡不能な 1 cm 以上のデブリは推定 100 万個以上にのぼります。ケスラーシンドロームと呼ばれる連鎖的衝突の懸念が高まる中、能動的デブリ除去(ADR: Active Debris Removal)は国際的な喫緊の課題です。

ここまでで、OOS が 5 つの異なるサービスカテゴリに分類できることを整理しました。では、これらのサービスを実現するためにはどのような要素技術が必要なのでしょうか? 次のセクションで、OOS のミッションフェーズに沿って要素技術の全体像を見ていきます。

要素技術の全体像 — ミッションフェーズと技術マッピング

OOS ミッションは、大きく 5 つのフェーズに分けることができます。各フェーズで求められる技術は異なり、それぞれが高度な工学的課題を含んでいます。

フェーズ 1: 遠方ランデブー(Far-Range Rendezvous)

サービス機の打ち上げから、対象衛星の数十 km 圏内に到達するまでのフェーズです。

主要技術:

  • 軌道遷移設計: ホーマン遷移やランバート問題を用いた遷移軌道の計算。サービス機は自身の推進系で対象衛星の軌道に接近します。デルタV の最小化が推進剤消費の抑制に直結します
  • 絶対航法: GPS(LEO の場合)や地上局追跡データ(GEO の場合)を用いた位置・速度の決定。精度は数十 m〜数百 m 程度
  • 軌道力学: 対象衛星との相対運動の予測。Hill の方程式(Clohessy-Wiltshire 方程式)による相対軌道の記述が基本ツールとなります

Hill の方程式は、円軌道上の参照衛星に対する相対運動を線形化したモデルです。LVLH(Local Vertical Local Horizontal)座標系で記述すると、次のようになります。

$$ \begin{align} \ddot{x} – 2n\dot{y} – 3n^2 x &= f_x \\ \ddot{y} + 2n\dot{x} &= f_y \\ \ddot{z} + n^2 z &= f_z \end{align} $$

ここで $n = \sqrt{\mu/a^3}$ は参照軌道の平均運動(角速度)、$(x, y, z)$ はそれぞれ動径方向(地球から離れる方向が正)、進行方向、軌道面法線方向の相対変位、$(f_x, f_y, f_z)$ は制御力の加速度成分です。

この方程式系の特徴を直感的に理解しましょう。$x$ 方向(動径方向)と $y$ 方向(進行方向)はコリオリ項 $2n\dot{y}$, $2n\dot{x}$ で結合しています。これは、軌道力学特有の現象で、「追いかけるために加速すると軌道が上がって相手から離れる」という、日常の直感に反する振る舞いを生み出します。一方、$z$ 方向(面外方向)は独立した単振動であり、比較的シンプルです。

フェーズ 2: 近傍接近(Close-Range Approach / Proximity Operations)

対象衛星から数十 km〜数百 m の範囲で行われる精密な接近フェーズです。OOS ミッションにおいて最も安全性が問われるフェーズの一つです。

主要技術:

  • 相対航法: カメラ、LiDAR、レーダーなどのセンサーで対象衛星との相対位置・姿勢を高精度に測定します。精度は数 cm〜数十 cm が求められます
  • ビジュアルナビゲーション: 単眼カメラや stereo カメラで対象衛星の画像を取得し、画像処理によって相対位置・姿勢を推定します。深層学習を用いた手法も活発に研究されています
  • V-bar / R-bar 接近: 対象衛星に対する接近経路には代表的な 2 つのアプローチがあります

V-bar 接近(Velocity-bar approach)は、進行方向軸に沿って接近する方法です。衛星の前方または後方から、進行方向に一直線に近づきます。相対速度を小さく保ちやすいため、安全性が高いのが特徴です。ISS へのランデブーでは、V-bar 接近が標準的に用いられています。

R-bar 接近(Radius-bar approach)は、動径方向(地球方向)から接近する方法です。対象衛星の直下(地球側)から上昇して近づきます。自然なドリフトを利用できるため推進剤消費が少ないという利点がありますが、接近中の軌道制御がやや複雑になります。

フェーズ 3: 捕獲・ドッキング(Capture / Docking)

対象衛星に物理的に接触・結合するフェーズです。OOS の成否を決める最もクリティカルな瞬間です。

主要技術:

  • ドッキング機構: 対象衛星との物理的な結合を実現する機構。協力物体の場合は標準的なドッキングアダプタ(例: iLIDS)が使用されます。非協力物体の場合は、ロケットエンジンノズルへの嵌合(MEV 方式)やロボットアームによるグラップルなど、対象物の形状に応じた創意工夫が必要です
  • ロボットアーム: ISS の Canadarm2(17.6 m)のような大型アームから、小型サービス衛星用のコンパクトなアームまで、対象タスクに応じた多様な設計があります
  • 相対姿勢制御: ドッキング時には、サービス機と対象衛星の相対姿勢を数度以内、相対速度を数 cm/s 以内に制御する必要があります。これは、2 台の車を走行中に 1 cm の精度で連結するようなものです
  • 力・トルク制御: 接触時の衝撃を制御し、対象衛星にダメージを与えないことが重要です。コンプライアンス(柔軟性)制御やインピーダンス制御が適用されます

ドッキングの瞬間は、以下のような厳しい条件を満たす必要があります。

パラメータ 典型的な要求値
相対位置精度 $\pm 10$ cm
相対速度 $< 5$ cm/s
相対姿勢精度 $\pm 3°$
相対角速度 $< 0.5°/\text{s}$

これらの要件を同時に満たすには、GNC(Guidance, Navigation, and Control)システム、センサーシステム、アクチュエータが高度に統合されている必要があります。

フェーズ 4: サービス実施(Service Operations)

ドッキング後、実際のサービス(燃料補給、部品交換等)を行うフェーズです。

主要技術:

  • テレオペレーション / 自律操作: 地上オペレータによる遠隔操作と、機上の自律制御のバランスが課題です。GEO での通信遅延は約 0.25 秒(片道)ですが、LEO では地上局のカバレッジに依存して通信不可の期間が生じます
  • 推進剤移送: 微小重力下での液体取り扱い技術。表面張力の影響が支配的になり、地上とは全く異なる流体挙動を示します
  • ORU(Orbital Replacement Unit): 軌道上で交換可能な設計になったモジュール。コネクタ、ファスナー、アラインメント機構が規格化されている必要があります
  • ロボットマニピュレーション: 多自由度ロボットアームによる精密操作。ボルトの着脱、コネクタの接続・切断、カバーの開閉などが含まれます

フェーズ 5: 離脱(Departure)

サービス完了後、サービス機が対象衛星から安全に離脱するフェーズです。

主要技術:

  • 安全な分離シーケンス: ドッキング機構の解放、相対速度の付与、安全距離までの退避
  • デブリ回避: 離脱時に生じた破片やパーティクルの管理
  • 次ミッションへの遷移: MEV のようなサービス機は、1 機で複数の対象衛星にサービスを提供することが想定されています。離脱後、次のクライアントへの遷移軌道を設計します

ここまでで、OOS のミッションフェーズと各フェーズに必要な要素技術を概観しました。ここで一つ重要な区別があります。対象衛星が「ドッキングされる準備ができている」か「そうでないか」で、技術的な難易度が大きく変わるのです。次のセクションで、この「協力物体 vs 非協力物体」の違いを詳しく見ていきましょう。

協力物体 vs 非協力物体 — OOS の技術的分水嶺

OOS の技術的難易度を決定する最も重要な要因の一つが、対象衛星が協力物体(cooperative target)であるか非協力物体(non-cooperative target)であるかです。

協力物体(Cooperative Target)

協力物体とは、OOS を受けることを前提に設計された衛星のことです。具体的には、以下のような特徴を持ちます。

  • 標準ドッキングインターフェース: iLIDS(international Low Impact Docking System)などの標準規格に準拠したドッキングポートを備えている
  • ターゲットマーカー: サービス機のセンサーが認識しやすいマーカー(光学マーカー、レトロリフレクター等)が設置されている
  • 姿勢安定: 自機の姿勢制御系が稼働しており、サービス機の接近を妨げない安定した姿勢を維持している
  • 通信機能: サービス機との直接通信が可能で、状態情報(姿勢、温度等)を共有できる
  • グラップルフィクスチャ: ロボットアームが把持できる専用の取っ手が設けられている

協力物体への OOS は、相対的に技術的難易度が低く、ISS への補給船のドッキングは、その最も成熟した例です。ISS には複数のドッキングポートがあり、接近する宇宙機を誘導するシステムも整備されています。

非協力物体(Non-Cooperative Target)

非協力物体とは、OOS を想定せずに設計された衛星、あるいは制御不能になった衛星・デブリのことです。非協力物体への OOS が極めて困難な理由を整理しましょう。

1. 形状の事前情報が不十分

非協力物体は、OOS を想定した設計ではないため、把持に適した形状とは限りません。突起物、太陽電池パドル、アンテナなど、脆弱な部分が多く、どこをつかむかの判断が難しくなります。

2. 姿勢が不安定

制御系が停止した衛星やデブリは、タンブリング(無秩序な回転)状態にあることが多いです。回転速度が数度/秒を超えるとロボットアームでの捕獲は極めて困難になります。

3. ドッキングインターフェースがない

標準的なドッキングポートがないため、ロケットエンジンのノズル(MEV 方式)、打ち上げアダプタリング(Launch Adapter Ring)、衛星構体の凹凸など、既存の構造物を利用した創造的な捕獲方法が求められます。

4. 通信不能

故障衛星やデブリとは通信ができないため、すべての状態情報をサービス機のセンサーで自律的に取得しなければなりません。

協力物体 vs 非協力物体の技術比較

技術項目 協力物体 非協力物体
航法 マーカーベース(高精度) マーカーレス(画像・LiDAR ベース)
相対姿勢推定 通信で取得 or マーカーから推定 形状マッチング・深層学習で推定
捕獲機構 標準ドッキングポート 専用設計(ネット、ハープーン、ロボットアーム)
安全性 相手が協力(回避マヌーバ可能) 一方的なアプローチ(衝突リスク高)
制御不能回転 なし(姿勢安定) あり得る(タンブリング対策が必要)
代表例 ISS ドッキング、MEV デブリ除去、故障衛星救済

非協力物体への OOS は、現在の宇宙ロボティクスにおける最大の技術的フロンティアの一つです。特に、タンブリングする物体のリアルタイム形状・姿勢推定と、それに同期したロボットアームの動作計画は、ビジョンベースの人工知能とロボティクスの融合が不可欠な領域です。

ここまでの議論は技術的な分類が中心でしたが、OOS は既に商業サービスとして実用化が始まっています。次のセクションでは、具体的な商業 OOS ミッションとそのビジネスモデルを見ていきましょう。

商業 OOS の現状 — 宇宙の「ロードサービス」ビジネス

Northrop Grumman: MEV / MRB

Northrop Grumman 社(旧 Orbital ATK)の Space Logistics 部門は、商業 OOS のパイオニアです。

MEV(Mission Extension Vehicle)シリーズ:

MEV-1 は 2020 年 2 月に Intelsat-901 に、MEV-2 は 2021 年 4 月に Intelsat-10-02 にドッキングし、それぞれ寿命延長サービスを開始しました。MEV のビジネスモデルは明快です — 対象衛星にドッキングして推進力を提供し、その対価として年間契約料を受け取ります。

MEV のドッキング機構は独特です。対象衛星の液体アポジエンジン(LAE)のノズルコーンに「スティンガー」と呼ばれるプローブを挿入し、ノズル内壁を把持します。これにより、ドッキング専用インターフェースを持たない既存の静止軌道衛星にも対応できます。ただし、対象衛星が 3 軸安定(姿勢安定)している必要があるため、完全に制御不能な衛星への適用は困難です。

MRB(Mission Robotic Vehicle): MEV の次世代として開発が進む MRB は、ロボットアームを搭載し、燃料補給やペイロード交換など、より高度なサービスを提供することを目指しています。さらに、MRB は小型のサービスポッド(MEP: Mission Extension Pod)を複数搭載し、1 回の打ち上げで複数の衛星にサービスを提供する構想です。

Astroscale: ELSA シリーズ

日本発の宇宙ベンチャー Astroscale 社は、デブリ除去に特化した OOS サービスの開発を進めています。

ELSA-d(2021年打ち上げ): Servicer(サービス衛星)と Client(模擬デブリ)の 2 機構成で、磁石ベースのドッキング機構による捕獲を実証しました。Client に取り付けられたドッキングプレート(磁性体)に Servicer が磁力で結合する方式です。

ELSA-M(開発中): 複数のデブリを順次捕獲・デオービットする「マルチクライアント」対応のサービス機です。LEO のメガコンステレーション時代に向けた、運用終了衛星の計画的除去サービスとして注目されています。

ADRAS-J(2024年打ち上げ): JAXA の委託により、実際の宇宙デブリ(H-IIA ロケット上段)に世界で初めて近接観測を行うミッションです。非協力物体への自律接近技術の実証として、歴史的な意義を持ちます。

その他の注目プレイヤー

Orbit Fab: 「宇宙のガソリンスタンド」を標榜し、軌道上での推進剤供給インフラの構築を目指しています。標準的な燃料補給インターフェース RAFTI(Rapidly Attachable Fluid Transfer Interface)を開発し、新造衛星への搭載を推進しています。

ClearSpace(ESA 支援): ClearSpace-1 ミッションは、ESA の Vega ロケット上段(VESPA)を捕獲してデオービットする計画です。4 本のアームで対象物を包み込むように捕獲する方式を採用しています。

Momentus: 水を推進剤とする「ウォータープラズマスラスタ」を搭載した宇宙タグボート Vigoride を開発し、軌道変更サービスを提供しています。

これらの商業 OOS プレイヤーの活動を見ると、OOS 市場が急速に拡大していることがわかります。では、Python を使ってこれらのミッションの歴史的な発展をタイムラインとして可視化してみましょう。

Python による OOS ミッションタイムラインの可視化

ここまでに紹介した主要な OOS ミッションの歴史的発展を、Python で可視化してみます。ミッションのタイプ(有人修理、技術実証、商業サービスなど)を色分けし、OOS がどのように進化してきたかを俯瞰します。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.dates import YearLocator, DateFormatter
from datetime import datetime

# OOSミッションデータの定義
missions = [
    {"name": "Skylab Repair", "date": datetime(1973, 5, 25), "type": "有人修理",
     "desc": "船外活動でシールド展開"},
    {"name": "STS-51A\n(Palapa/Westar回収)", "date": datetime(1984, 11, 8), "type": "有人修理",
     "desc": "通信衛星2基を回収"},
    {"name": "STS-49\n(Intelsat VI修理)", "date": datetime(1992, 5, 7), "type": "有人修理",
     "desc": "3人EVAで衛星捕獲"},
    {"name": "Hubble SM1\n(STS-61)", "date": datetime(1993, 12, 2), "type": "有人修理",
     "desc": "COSTAR設置で視力回復"},
    {"name": "ETS-VII\n(おりひめ・ひこぼし)", "date": datetime(1997, 11, 28), "type": "技術実証",
     "desc": "世界初の自律ランデブー・ドッキング"},
    {"name": "Hubble SM3A\n(STS-103)", "date": datetime(1999, 12, 19), "type": "有人修理",
     "desc": "ジャイロスコープ交換"},
    {"name": "Hubble SM3B\n(STS-109)", "date": datetime(2002, 3, 1), "type": "有人修理",
     "desc": "ACS設置・太陽電池交換"},
    {"name": "Orbital Express", "date": datetime(2007, 3, 8), "type": "技術実証",
     "desc": "自律ドッキング・燃料移送・ORU交換"},
    {"name": "Hubble SM4\n(STS-125)", "date": datetime(2009, 5, 11), "type": "有人修理",
     "desc": "最終修理:WFC3/COS設置"},
    {"name": "MEV-1\n(→Intelsat-901)", "date": datetime(2020, 2, 25), "type": "商業サービス",
     "desc": "初の商業寿命延長"},
    {"name": "ELSA-d", "date": datetime(2021, 3, 22), "type": "技術実証",
     "desc": "磁石ベースの捕獲実証"},
    {"name": "MEV-2\n(→Intelsat-10-02)", "date": datetime(2021, 4, 12), "type": "商業サービス",
     "desc": "2例目の商業寿命延長"},
    {"name": "ADRAS-J", "date": datetime(2024, 2, 18), "type": "技術実証",
     "desc": "実デブリへの近接観測"},
    {"name": "ClearSpace-1", "date": datetime(2026, 12, 1), "type": "計画中",
     "desc": "ESAデブリ除去ミッション"},
    {"name": "OSAM-1", "date": datetime(2027, 6, 1), "type": "計画中",
     "desc": "Landsat-7への燃料補給"},
]

# ミッションタイプ別の色設定
type_colors = {
    "有人修理": "#00bcd4",
    "技術実証": "#ff9800",
    "商業サービス": "#4caf50",
    "計画中": "#9e9e9e",
}

fig, ax = plt.subplots(figsize=(14, 8))
fig.patch.set_facecolor("#1a1a2e")
ax.set_facecolor("#1a1a2e")

# 年代を横軸に、ミッションを縦方向に交互配置
dates = [m["date"] for m in missions]
y_positions = []
for i in range(len(missions)):
    # 上下に交互配置(見やすくするため)
    y_positions.append(1 + (i % 3) * 0.8)

for i, mission in enumerate(missions):
    color = type_colors[mission["type"]]
    # 縦線
    ax.plot([mission["date"], mission["date"]], [0, y_positions[i]],
            color=color, linewidth=1.0, alpha=0.6)
    # ドット
    ax.scatter(mission["date"], y_positions[i], color=color, s=80, zorder=5,
               edgecolors="white", linewidth=0.5)
    # ラベル
    ax.annotate(mission["name"], xy=(mission["date"], y_positions[i]),
                xytext=(5, 8), textcoords="offset points",
                fontsize=7, color="white", fontweight="bold",
                ha="left", va="bottom")

# タイムライン軸
ax.axhline(y=0, color="white", linewidth=1.5, alpha=0.8)

# X軸の設定
ax.xaxis.set_major_locator(YearLocator(5))
ax.xaxis.set_major_formatter(DateFormatter("%Y"))
ax.tick_params(axis="x", colors="white", labelsize=10)
ax.tick_params(axis="y", left=False, labelleft=False)

# 凡例
legend_patches = [mpatches.Patch(color=c, label=t) for t, c in type_colors.items()]
ax.legend(handles=legend_patches, loc="upper left", fontsize=9,
          facecolor="#16213e", edgecolor="white", labelcolor="white")

# 装飾
ax.set_title("On-Orbit Servicing Mission Timeline (1973–2027)",
             color="white", fontsize=14, fontweight="bold", pad=15)
ax.set_xlim(datetime(1970, 1, 1), datetime(2029, 1, 1))
ax.set_ylim(-0.3, 3.5)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
ax.spines["left"].set_visible(False)
ax.spines["bottom"].set_color("white")

plt.tight_layout()
plt.savefig("oos_timeline.png", dpi=150, bbox_inches="tight",
            facecolor="#1a1a2e")
plt.show()

このタイムラインから、いくつかの重要な傾向が読み取れます。

  1. 1970〜2000 年代は有人修理が主流: スカイラブからハッブル SM4 まで、OOS は宇宙飛行士による船外活動に依存していました。この期間は技術的成功は収めたものの、コストと安全性の面で持続可能ではありませんでした
  2. 1997〜2007 年にロボット技術実証が集中: ETS-VII と Orbital Express が、無人ロボットによる OOS の基盤技術を確立しました。この約 10 年間は、OOS の「種まき」の時代と言えます
  3. 2020 年以降に商業化が加速: MEV-1 を皮切りに、OOS は商業サービスとして実用化されました。ELSA-d、ADRAS-J と技術実証も並行して進んでおり、技術の成熟と市場の拡大が同時に進行しています

次に、OOS のもう一つの重要な側面 — ランデブー時の相対軌道力学 — を Python で可視化してみましょう。

Python による相対軌道の可視化(Hill の方程式)

先ほど紹介した Hill の方程式(Clohessy-Wiltshire 方程式)の自由応答を Python でシミュレーションし、サービス機が対象衛星に接近する際の相対軌道がどのような形状をとるかを可視化してみます。

Hill の方程式の自由応答($f_x = f_y = f_z = 0$)の解析解は以下の通りです。

初期条件 $(x_0, y_0, z_0, \dot{x}_0, \dot{y}_0, \dot{z}_0)$ に対して、

$$ x(t) = \left(4 – 3\cos nt\right)x_0 + \frac{\dot{x}_0}{n}\sin nt + \frac{2\dot{y}_0}{n}\left(1 – \cos nt\right) $$

$$ y(t) = 6\left(\sin nt – nt\right)x_0 + y_0 – \frac{2\dot{x}_0}{n}\left(1 – \cos nt\right) + \frac{\dot{y}_0}{n}\left(4\sin nt – 3nt\right) $$

$$ z(t) = z_0 \cos nt + \frac{\dot{z}_0}{n}\sin nt $$

この解析解から重要な性質が読み取れます。$y(t)$ に含まれる $-6nx_0 t$ や $-3n\dot{y}_0 t$ の項は時間とともに増大する永年項(secular term)です。これらの項が存在すると、チェイサーはターゲットから徐々にドリフトしてしまいます。永年項をゼロにする条件は次の通りです。

$$ \dot{y}_0 = -\frac{3}{2}n x_0 $$

この条件を満たす初期条件を与えると、チェイサーはターゲットの周りを閉じた楕円状の相対軌道(football orbit)で周回します。

import numpy as np
import matplotlib.pyplot as plt

def hill_free_response(x0, y0, z0, vx0, vy0, vz0, n, t):
    """
    Hill (Clohessy-Wiltshire) 方程式の自由応答の解析解

    Parameters
    ----------
    x0, y0, z0 : float
        初期相対位置 [m](動径, 進行, 面外方向)
    vx0, vy0, vz0 : float
        初期相対速度 [m/s]
    n : float
        参照軌道の平均運動 [rad/s]
    t : ndarray
        時間配列 [s]

    Returns
    -------
    x, y, z : ndarray
        相対位置の時系列 [m]
    """
    nt = n * t
    cos_nt = np.cos(nt)
    sin_nt = np.sin(nt)

    x = (4 - 3 * cos_nt) * x0 + sin_nt / n * vx0 + 2 * (1 - cos_nt) / n * vy0
    y = (6 * (sin_nt - nt)) * x0 + y0 - 2 * (1 - cos_nt) / n * vx0 \
        + (4 * sin_nt - 3 * nt) / n * vy0
    z = z0 * cos_nt + vz0 / n * sin_nt

    return x, y, z

# 参照軌道パラメータ(LEO, 高度400 km)
mu = 3.986004418e14  # 地球の重力パラメータ [m^3/s^2]
R_earth = 6.371e6    # 地球半径 [m]
alt = 400e3           # 軌道高度 [m]
a = R_earth + alt     # 軌道半径 [m]
n = np.sqrt(mu / a**3)  # 平均運動 [rad/s]
T = 2 * np.pi / n       # 軌道周期 [s]

# 時間配列(2軌道周期)
t = np.linspace(0, 2 * T, 2000)

fig, axes = plt.subplots(1, 3, figsize=(16, 5))
fig.patch.set_facecolor("#1a1a2e")
for ax_item in axes:
    ax_item.set_facecolor("#1a1a2e")

# ケース1: 閉じた相対軌道(永年項なし)
x0_1, y0_1, z0_1 = 500.0, 0.0, 0.0
vy0_1 = -1.5 * n * x0_1  # 永年項を消す条件
vx0_1, vz0_1 = 0.0, 0.0
x1, y1, z1 = hill_free_response(x0_1, y0_1, z0_1, vx0_1, vy0_1, vz0_1, n, t)

axes[0].plot(y1, x1, color="#00bcd4", linewidth=1.2)
axes[0].scatter([0], [0], color="#ff9800", s=100, marker="*", zorder=5, label="Target")
axes[0].scatter([y0_1], [x0_1], color="#4caf50", s=60, marker="o", zorder=5, label="Start")
axes[0].set_xlabel("Along-track y [m]", color="white", fontsize=10)
axes[0].set_ylabel("Radial x [m]", color="white", fontsize=10)
axes[0].set_title("Closed relative orbit\n(no secular drift)", color="white", fontsize=11)
axes[0].legend(fontsize=8, facecolor="#16213e", edgecolor="white", labelcolor="white")
axes[0].tick_params(colors="white")
axes[0].grid(True, alpha=0.2, color="white")
axes[0].set_aspect("equal")
for spine in axes[0].spines.values():
    spine.set_color("white")

# ケース2: ドリフトする相対軌道(永年項あり)
x0_2, y0_2, z0_2 = 500.0, 0.0, 0.0
vx0_2, vy0_2, vz0_2 = 0.0, 0.0, 0.0  # 永年項が残る
x2, y2, z2 = hill_free_response(x0_2, y0_2, z0_2, vx0_2, vy0_2, vz0_2, n, t)

axes[1].plot(y2, x2, color="#ff5252", linewidth=1.2)
axes[1].scatter([0], [0], color="#ff9800", s=100, marker="*", zorder=5, label="Target")
axes[1].scatter([y0_2], [x0_2], color="#4caf50", s=60, marker="o", zorder=5, label="Start")
axes[1].set_xlabel("Along-track y [m]", color="white", fontsize=10)
axes[1].set_ylabel("Radial x [m]", color="white", fontsize=10)
axes[1].set_title("Drifting relative orbit\n(secular term present)", color="white", fontsize=11)
axes[1].legend(fontsize=8, facecolor="#16213e", edgecolor="white", labelcolor="white")
axes[1].tick_params(colors="white")
axes[1].grid(True, alpha=0.2, color="white")
for spine in axes[1].spines.values():
    spine.set_color("white")

# ケース3: V-bar接近を模擬(進行方向からの接近)
x0_3, y0_3, z0_3 = 0.0, 1000.0, 0.0
vx0_3, vy0_3, vz0_3 = 0.0, -0.2, 0.0  # 進行方向から接近
x3, y3, z3 = hill_free_response(x0_3, y0_3, z0_3, vx0_3, vy0_3, vz0_3, n, t[:500])

axes[2].plot(y3, x3, color="#ab47bc", linewidth=1.5)
axes[2].scatter([0], [0], color="#ff9800", s=100, marker="*", zorder=5, label="Target")
axes[2].scatter([y0_3], [x0_3], color="#4caf50", s=60, marker="o", zorder=5, label="Start")
axes[2].annotate("", xy=(y3[499], x3[499]), xytext=(y3[480], x3[480]),
                 arrowprops=dict(arrowstyle="->", color="#ab47bc", lw=2))
axes[2].set_xlabel("Along-track y [m]", color="white", fontsize=10)
axes[2].set_ylabel("Radial x [m]", color="white", fontsize=10)
axes[2].set_title("V-bar approach\n(along-track)", color="white", fontsize=11)
axes[2].legend(fontsize=8, facecolor="#16213e", edgecolor="white", labelcolor="white")
axes[2].tick_params(colors="white")
axes[2].grid(True, alpha=0.2, color="white")
for spine in axes[2].spines.values():
    spine.set_color("white")

plt.tight_layout()
plt.savefig("hill_relative_orbits.png", dpi=150, bbox_inches="tight",
            facecolor="#1a1a2e")
plt.show()

3 つのプロットから、相対軌道力学の本質的な特徴が読み取れます。

  1. 閉じた相対軌道(左): 永年項をゼロにする条件 $\dot{y}_0 = -3nx_0/2$ を満たすと、チェイサーはターゲットの周りを楕円状に周回し続けます。この楕円の縦横比は 2:1(進行方向が長軸)です。サービス機が安全に待機する「ウェイティングオービット」として利用されます
  2. ドリフトする相対軌道(中央): 永年項が残る場合、チェイサーは進行方向に徐々にドリフトしていきます。初期位置が動径方向に正(ターゲットより高い軌道)だと、進行方向に後退するドリフトが生じます。これは、高い軌道ほど軌道速度が遅いためです
  3. V-bar 接近(右): 進行方向から直線的に接近するパターンです。OOS ミッションの最終接近フェーズで広く用いられる経路で、相対速度を小さく保ちやすいため安全性が高いことが見て取れます

次に、OOS の燃料補給による経済的効果を定量的に評価してみましょう。

Python による OOS の経済的価値の定量評価

OOS の最大のモチベーションの一つが、衛星の寿命延長による経済的効果です。静止軌道通信衛星の典型的な例を使って、OOS による燃料補給がどの程度の経済的価値を生むかを計算してみましょう。

衛星の寿命は多くの場合、推進剤の枯渇によって決まります。ツィオルコフスキーのロケット方程式から、補給する推進剤量 $\Delta m_p$ に対して得られる追加デルタV $\Delta V_{\text{add}}$ は次式で計算できます。

$$ \Delta V_{\text{add}} = I_{\text{sp}} g_0 \ln\left(\frac{m_{\text{dry}} + \Delta m_p}{m_{\text{dry}}}\right) $$

ここで $m_{\text{dry}}$ は推進剤を使い切った後の乾燥質量、$I_{\text{sp}}$ は比推力です。

一方、静止軌道衛星のステーションキーピングに必要な年間デルタV $\Delta V_{\text{SK}}$ はおおよそ次の値です。

$$ \Delta V_{\text{SK}} \approx 50 \, \text{m/s/year} $$

南北方向(軌道傾斜角の補正)が約 45〜50 m/s/year、東西方向が約 1〜2 m/s/year で、合計約 50 m/s/year です。

したがって、燃料補給によって得られる追加運用年数 $\Delta T$ は次のように推定できます。

$$ \Delta T = \frac{\Delta V_{\text{add}}}{\Delta V_{\text{SK}}} $$

import numpy as np
import matplotlib.pyplot as plt

# 静止軌道通信衛星の典型パラメータ
m_dry = 2000.0        # 乾燥質量 [kg]
Isp = 320.0           # 比推力 [s](バイプロペラント)
g0 = 9.80665          # 標準重力加速度 [m/s^2]
dv_sk_per_year = 50.0 # 年間ステーションキーピング ΔV [m/s/year]

# 衛星の経済パラメータ
satellite_cost = 300e6       # 衛星製造コスト [USD](約300億円相当)
annual_revenue = 80e6        # 年間収入 [USD](約80億円相当)
launch_cost = 100e6          # 打ち上げコスト [USD]
refueling_cost_per_kg = 50000  # 推進剤補給コスト [USD/kg]

# 補給推進剤量の範囲
dm_p = np.linspace(10, 500, 100)  # [kg]

# 追加デルタV [m/s]
dv_add = Isp * g0 * np.log((m_dry + dm_p) / m_dry)

# 追加運用年数 [years]
dt_years = dv_add / dv_sk_per_year

# 追加収入 [USD]
additional_revenue = dt_years * annual_revenue

# 燃料補給コスト [USD]
refueling_total_cost = dm_p * refueling_cost_per_kg

# 純利益 [USD]
net_profit = additional_revenue - refueling_total_cost

fig, axes = plt.subplots(2, 2, figsize=(14, 10))
fig.patch.set_facecolor("#1a1a2e")
for ax_row in axes:
    for ax_item in ax_row:
        ax_item.set_facecolor("#1a1a2e")
        ax_item.tick_params(colors="white")
        ax_item.grid(True, alpha=0.2, color="white")
        for spine in ax_item.spines.values():
            spine.set_color("white")

# (1) 補給推進剤量 vs 追加デルタV
axes[0, 0].plot(dm_p, dv_add, color="#00bcd4", linewidth=2)
axes[0, 0].set_xlabel("Refueled propellant [kg]", color="white", fontsize=10)
axes[0, 0].set_ylabel("Additional ΔV [m/s]", color="white", fontsize=10)
axes[0, 0].set_title("Propellant → Additional ΔV", color="white", fontsize=11)

# (2) 補給推進剤量 vs 追加運用年数
axes[0, 1].plot(dm_p, dt_years, color="#ff9800", linewidth=2)
axes[0, 1].set_xlabel("Refueled propellant [kg]", color="white", fontsize=10)
axes[0, 1].set_ylabel("Additional lifetime [years]", color="white", fontsize=10)
axes[0, 1].set_title("Propellant → Life Extension", color="white", fontsize=11)
# 100kg, 200kg, 300kgの目安を点で表示
for m_ref in [100, 200, 300]:
    dv_ref = Isp * g0 * np.log((m_dry + m_ref) / m_dry)
    dt_ref = dv_ref / dv_sk_per_year
    axes[0, 1].scatter([m_ref], [dt_ref], color="#ff9800", s=80, zorder=5)
    axes[0, 1].annotate(f"{m_ref} kg → {dt_ref:.1f} yr",
                         xy=(m_ref, dt_ref), xytext=(10, 10),
                         textcoords="offset points", color="white", fontsize=9)

# (3) 追加運用年数 vs 追加収入
axes[1, 0].plot(dt_years, additional_revenue / 1e6, color="#4caf50", linewidth=2,
                label="Additional revenue")
axes[1, 0].plot(dt_years, refueling_total_cost / 1e6, color="#ff5252",
                linewidth=2, linestyle="--", label="Refueling cost")
axes[1, 0].set_xlabel("Additional lifetime [years]", color="white", fontsize=10)
axes[1, 0].set_ylabel("Amount [M USD]", color="white", fontsize=10)
axes[1, 0].set_title("Revenue vs Refueling Cost", color="white", fontsize=11)
axes[1, 0].legend(fontsize=9, facecolor="#16213e", edgecolor="white", labelcolor="white")

# (4) 補給推進剤量 vs 純利益
axes[1, 1].plot(dm_p, net_profit / 1e6, color="#ab47bc", linewidth=2)
axes[1, 1].axhline(y=0, color="white", linewidth=0.8, linestyle="--", alpha=0.5)
axes[1, 1].fill_between(dm_p, net_profit / 1e6, 0,
                         where=(net_profit > 0), alpha=0.2, color="#4caf50")
axes[1, 1].fill_between(dm_p, net_profit / 1e6, 0,
                         where=(net_profit <= 0), alpha=0.2, color="#ff5252")
axes[1, 1].set_xlabel("Refueled propellant [kg]", color="white", fontsize=10)
axes[1, 1].set_ylabel("Net profit [M USD]", color="white", fontsize=10)
axes[1, 1].set_title("Net Profit from Refueling", color="white", fontsize=11)

# 損益分岐点を表示
break_even_idx = np.argmin(np.abs(net_profit))
axes[1, 1].scatter([dm_p[break_even_idx]], [0], color="#ffeb3b", s=100, zorder=5)
axes[1, 1].annotate(f"Break-even: {dm_p[break_even_idx]:.0f} kg",
                     xy=(dm_p[break_even_idx], 0), xytext=(20, 20),
                     textcoords="offset points", color="#ffeb3b", fontsize=10,
                     arrowprops=dict(arrowstyle="->", color="#ffeb3b"))

plt.suptitle("Economic Analysis of GEO Satellite Refueling",
             color="white", fontsize=14, fontweight="bold", y=1.02)
plt.tight_layout()
plt.savefig("oos_economics.png", dpi=150, bbox_inches="tight",
            facecolor="#1a1a2e")
plt.show()

# 数値サマリーの出力
print("=== GEO衛星の燃料補給による経済効果 ===")
for m_ref in [50, 100, 200, 300, 500]:
    dv = Isp * g0 * np.log((m_dry + m_ref) / m_dry)
    dt = dv / dv_sk_per_year
    rev = dt * annual_revenue
    cost = m_ref * refueling_cost_per_kg
    profit = rev - cost
    print(f"  {m_ref:>4} kg補給: ΔV={dv:.1f} m/s, "
          f"延長={dt:.1f} 年, 収入=${rev/1e6:.0f}M, "
          f"コスト=${cost/1e6:.1f}M, 利益=${profit/1e6:.1f}M")

上のグラフと数値結果から、OOS による燃料補給の経済的合理性が明確に見えてきます。

  1. 左上(推進剤→デルタV): ツィオルコフスキーの式の対数関数的な特性から、少量の推進剤でも相当のデルタV が得られます。100 kg の補給で約 150 m/s、200 kg で約 300 m/s のデルタV が追加されます
  2. 右上(推進剤→寿命延長): 100 kg の燃料補給で約 3 年、200 kg で約 6 年の寿命延長が見込めます。静止軌道衛星の典型的な設計寿命が 15 年であることを考えると、200 kg の燃料補給で寿命を 40% も延長できることになります
  3. 左下(収入 vs コスト): 追加収入は寿命延長に比例して増加しますが、燃料補給コストも推進剤量に比例して増加します。ただし、収入の増加率がコストの増加率を上回るため、ある程度の補給量を超えると確実に利益が出ます
  4. 右下(純利益): 損益分岐点が存在し、それを超える補給量では純利益が得られます。この計算では、推進剤 1 kg あたり 50,000 USD(軌道上への輸送コスト込み)を仮定していますが、この値は今後の打ち上げコスト低減によりさらに下がる可能性があります

これらの計算は簡略化されたモデルですが、OOS の経済的価値の本質を捉えています。実際のビジネスケースでは、保険コスト、規制コスト、技術リスクなども考慮する必要があります。

ここまでで、OOS の要素技術と経済性について定量的な理解を得ました。最後に、OOS が直面する技術課題と今後の展望を整理しましょう。

技術課題と今後の展望

現在の主要な技術課題

OOS は目覚ましい進歩を遂げていますが、実用化の拡大に向けていくつかの重要な技術課題が残されています。

1. 非協力物体の自律捕獲

前述の通り、非協力物体(制御不能衛星やデブリ)の捕獲は OOS の最大の技術的課題です。特に、タンブリング状態の物体に対する自律的な同期捕獲(synchronous capture)は、以下の技術的ブレークスルーが必要です。

  • リアルタイム 3D 形状・姿勢推定: LiDAR やステレオカメラの点群データから、事前の 3D モデルなしに対象物体の形状と回転状態をリアルタイムで推定する技術。深層学習ベースのアプローチが有望ですが、宇宙の照明条件(強い太陽光とコントラスト)への対応が課題です
  • 動的な把持計画: 回転する物体の把持可能な部位を同定し、ロボットアームの軌道を動的に計画・実行する技術。地上のロボティクスで培われた動的マニピュレーション技術の宇宙適用が求められます
  • 衝突回避: 太陽電池パドルやアンテナなど、脆弱な突起物との衝突を避けながら接近する経路計画

2. 微小重力下での推進剤移送

微小重力下では、液体推進剤の挙動が地上とは大きく異なります。表面張力が支配的になるため、タンク内での液面管理(液体の位置制御)が困難です。具体的な課題は以下の通りです。

  • PMD(Propellant Management Device): タンク内の推進剤を出口に集める機構の設計。ヴェーン型や表面張力を利用したスクリーン型などがありますが、サービス対象の衛星のタンク設計に依存するため汎用化が困難
  • 残量の正確な測定: 微小重力下では液面が定まらないため、地上で一般的な液面計が使えません。超音波計測や PVT(Pressure-Volume-Temperature)法による推定が研究されています
  • 推進剤の互換性: 異なるメーカーの衛星間で推進剤の種類が異なる場合(ヒドラジン vs MON/MMH vs 電気推進用キセノン等)、汎用的な補給ができません

3. 宇宙状況認識(SSA)との統合

OOS ミッションの安全な実施には、対象衛星だけでなく周辺の軌道環境(他の衛星、デブリ)を正確に把握する必要があります。

  • コンジャンクション解析: サービス機の接近経路上に他の物体との衝突リスクがないかの評価
  • リアルタイム軌道更新: 太陽活動による大気抵抗の変動(特に LEO)は軌道予測精度に直接影響します
  • 多物体追跡: メガコンステレーション時代には、同一軌道面に多数の衛星が密集しており、誤接近のリスク管理が重要になります

4. 信頼性と自律性のジレンマ

OOS ミッションは、高い自律性を求められる一方で、誤動作が対象衛星の破壊につながるリスクがあります。

  • 自律判断の信頼性: 画像認識の誤判定や、センサー故障時のフォールバック戦略
  • 地上監視との分担: どこまでを自律で行い、どこから地上の判断を仰ぐかの設計。通信遅延(GEO で約 0.5 秒の往復遅延、月で約 2.6 秒)を考慮した分担が必要です
  • 安全モード: 異常検知時に対象衛星から安全に離脱する緊急シーケンスの設計

標準化の動向

技術課題と並んで、OOS の普及に向けた標準化も重要な課題です。

ドッキングインターフェースの標準化: 現状では、各メーカーが独自のドッキング機構を開発しており、相互運用性がありません。NASA の iLIDS(international Low Impact Docking System)や Orbit Fab の RAFTI のような標準インターフェースが普及すれば、OOS の適用範囲は飛躍的に広がります。

安全基準の策定: CONFERS は、OOS の安全な実施に関する技術基準を策定しています。特に、接近距離ごとの安全要件、緊急離脱手順、周辺衛星への通知義務などが規定されつつあります。

宇宙交通管理(STM): OOS ミッションは、他の衛星の近傍で機動を行うため、宇宙交通管理の枠組みと整合している必要があります。国際的な規制枠組みの整備が進行中です。

今後の展望

OOS の将来は、以下のような方向に向かって発展していくと考えられます。

短期(2025〜2030年): MEV 型の寿命延長サービスが GEO で定着し、年間数件の商業ミッションが実施されるようになります。LEO でのデブリ除去サービスも開始され、ELSA-M のようなマルチクライアント型サービスが実証されます。

中期(2030〜2035年): 燃料補給サービスが実用化し、GEO 衛星の設計思想が「使い捨て」から「サービス対応」に転換します。新造衛星には標準的な燃料補給ポートと協力ドッキングインターフェースが搭載されるようになります。

長期(2035年〜): 軌道上組立(on-orbit assembly)が実現し、地上から打ち上げ可能なサイズを超える大型構造物(大型アンテナ、宇宙太陽光発電衛星など)が軌道上で建造されます。複数のロボットが協調して作業する「軌道上工場」の概念が現実のものになり始めます。

まとめ

本記事では、軌道上サービス(OOS)の全体像を解説しました。

  • OOS とは: 宇宙空間で衛星に対して検査・修理・燃料補給・軌道変更などの物理的サービスを提供する技術体系
  • 歴史的発展: 1970 年代の有人修理 → 1990〜2000 年代のロボット技術実証 → 2020 年代の商業サービス開始という 4 段階の進化
  • 5 つのサービスカテゴリ: 検査、軌道変更・寿命延長、燃料補給、修理・アップグレード、デオービット
  • 要素技術: 遠方ランデブー → 近傍接近 → 捕獲・ドッキング → サービス実施 → 離脱の 5 フェーズにわたる高度な技術の統合
  • 協力物体 vs 非協力物体: ドッキングインターフェースの有無で技術的難易度が大きく変わる。非協力物体への OOS が最大のフロンティア
  • 商業サービス: MEV による寿命延長、Astroscale によるデブリ除去など、OOS は商業サービスとして離陸しつつある
  • 経済的価値: 数百 kg の燃料補給で衛星の運用寿命を数年延長でき、数百億円規模の経済的価値を生む

OOS は、宇宙を「使い捨て」から「持続可能」な領域に転換する鍵となる技術です。今後、ロボティクス、人工知能、推進技術の発展とともに、OOS の能力はさらに拡大していくでしょう。

次のステップとして、以下の記事も参考にしてください。