ispaceは5月26日、月面探査プログラム「HAKUTO-R」ミッション1の結果を報告した。同社が開発したランダーは、4月26日未明に月周回軌道からの降下を開始。順調に進んでいたものの、最終段階で高度データに誤差があり、着陸に失敗していた。フライトデータを詳細に分析したところ、ソフトウェア側の問題であったことが明らかになったという。

  • 着陸シーケンスの最終フェーズ

    着陸シーケンスの最終フェーズ。ここまで順調なように見えたが…… (C)ispace

同社のミッション1ランダーは、2022年12月11日に打ち上げを実施。2023年3月21日に月周回軌道に到着し、成功すれば民間初・日本初となる月面着陸に挑んでいた。姿勢制御などは正常に機能し、ついに高度計がゼロを指したものの、そこに地面は無く、降下が継続。最終的には燃料が尽き、ランダーは自由落下して月面に激突したものと見られる。

参考:ispace初の月面着陸ミッションは失敗、ランダーの降下中に何が起きた?

  • NASA(米国航空宇宙局)の月探査機「LRO」が撮影した月面画像

    NASA(米国航空宇宙局)の月探査機「LRO」が撮影した月面画像。ランダーの着陸地点付近に4つの痕跡が見つかった (C)NASA's Goddard Space Flight Center/Arizona State University

ランダーが見ていた幻の地面の正体は?

ミッション後、同社は失敗原因の調査を開始。そこで分かったのは、ランダーが高度ゼロと認識していたのは、実際にはまだ高度が5kmくらいあったところだったということだ。なぜ、これほど大きな誤差が生じてしまったのか。

この理由を説明する前に、まずは「高度」について補足が必要だろう。じつはここで言う高度には、3つの種類ある。もちろん、実際にランダーが飛行した高度は、その1つだ。ただ、月面で誰かが直接観測していたわけではないので、この真の値については分からないというのが前提になる。

本当の高度は分からないものの、それではシーケンスの実行時に困るので、ランダーは自分自身で推定した高度の値を用いる。ランダーにはそのためのセンサーとして慣性計測装置(IMU)が搭載されており、高頻度に推定値を更新するのだが、時間が経過するほど、どうしても誤差が累積して大きくなってしまうという特性がある。

もう1つは、レーザーレンジファインダ(LRF)で測定した高度だ。前述のように、IMUのみによる推定高度はどうしても誤差が累積するが、この測定高度でうまく補正してやれば、その累積誤差をリセットできる。更新頻度はIMUよりは粗くなるものの、LRFはレーザーで地表までの距離を直接計測するので、誤差の累積のような問題はない。

  • リアルタイムでは左列の事象しか把握できていなかった

    リアルタイムでは左列の事象しか把握できていなかったが、解析の結果、右列の内容が明らかになった (C)ispace

今回の着陸では、1:35(日本時間、UTCでは16:35)、高度15km付近で、最初のLRFの測定が行われ、推定高度が修正された。このとき、推定高度と測定高度には3kmほどの差があったが、この補正により、2つの高度のほぼ中間点が新たな推定高度になった。

難しいのは、推定高度と測定高度に違いがあった場合に、一体どちらがより本当の値に近いのか、判断することだ。普通に考えれば測定高度の方が正しそうだが、センサーが故障していたり、故障でなくともバイアスが乗っていたりする可能性もある。

そのために、この2つの高度には、それぞれ、信頼度を示すパラメータがあるという。たとえば、IMUのみで長時間推定していれば、信頼度は低下していく。一方、測定高度は、最初の1回目は正しいかどうか怪しいが、その後、何度も繰り返し測定して、その変化が予想通りであれば、正常に機能している可能性が高い、といった具合だ。

最初の1分くらいは、これがまさに理想通りに動作した。LRFの測定高度がいくつか届き始めると、推定高度がその都度修正され、両者の値は収束していった。

しかし1:37すぎ、突然、測定高度が急激に上昇した。これはタイミング的に、Atlasクレーターの縁の上空を通過したときだった。ランダーは降下を続けていたものの、クレーターの断崖で地面が急に下に離れたので(崖の高さは約3kmもある)、数値的には、自分が上昇したように見えたというわけだ。

  • 赤色が測定高度、青色が推定高度

    赤色が測定高度、青色が推定高度。両者は一旦収束したが、最終的に大きく乖離したままとなった (C)ispace

ランダーが急に上昇するはずはないし、普通の地形であれば、こんなに急に変化することはない。結果として、この急激な高度変化を、ソフトウェアはセンサーの異常と判断してしまった。そのため、測定高度による補正が行われなくなり、大きな乖離を放置したまま、降下は最終段階に入り、1:43、推定高度がゼロになった。

つまり、ランダーはクレーター外縁の高度に地面があると思い込んだまま、着陸しようとしてしまった、ということになる。しかし実際には、そこにはクレーターの大穴があって、地面は遙か5kmも下。1分くらいは頑張って噴射を続けたものの、燃料が尽きて自由落下を開始、1:45、地面に激突し、通信キャリア電波が喪失した。

  • この写真だと、実際の地形変化がイメージしやすい

    この写真だと、実際の地形変化がイメージしやすい。クレーター外縁の通過で、測定高度が急激に上昇 (C)ispace

なお、高度の測定にはLRFのほか、電波によるレーダーベロシメーターも使う予定だったが、これは高度2km以下の近距離で使えるセンサーとのことで、今回は、最後まで計測が開始されることはなかった。この点も、地面が5kmも下にあったという推測を裏付ける。

結果的には着陸地点の変更が裏目に

この記事のタイトルでは「プログラムが誤動作」と書いたものの、プログラムとしては、作った通りに動いたと言える(ただし、意図した動きではなかった)。クレーター外縁の上空を通過することは最初から分かっていたことで、問題は、なぜこのように動くことを事前に把握できなかったのか、ということになるだろう。

もちろん、同社も事前に多数のシミュレーションは行っていた(乱数を組み込むモンテカルロ法)。しかし、シミュレーション範囲を絞っていたため、クレーターの地形による影響が現れなかったのだという。

シミュレーション範囲は、なるべく広くできれば理想的であるが、広範囲にすればするほど、計算時間が長くかかる。それだと、計算できるケース数が少なくなってしまうので、現実的には、うまくバランスを考えて、折り合いを付けるしかない。同社の氏家亮CTOは、その範囲の検討の仕方が「正しくなかった」と述べる。

  • ispaceの氏家亮CTO

    ispaceの氏家亮CTO

ミッション後に、シミュレーション範囲を広げて再計算したところ、実際に起きた現象が再現されたという。もし、事前にこれをやっていれば、今回の失敗は防げたはずだ。同社にとっては手痛い経験となってしまったが、今後は、たとえば時間がかかっても数ケースは広い範囲で計算するなど、検証上の工夫をしていくという。

ただ、失敗したとはいえ、今回はソフトウェアの問題、それも高度の推定部分のみの問題であって、ハードウェア側はほぼ完璧に機能したというのは、次回に向けて、非常に大きな成果だったと言える。改修作業としては大規模なものではなく、2024年に実施する次のミッション2の計画には、大きな影響はないだろう。

今回の失敗の直接的な原因は、このようにシミュレーション範囲の設定が適切でなかったことだと言えるが、背景要因として氏家CTOが言及したのが、着陸地点の変更である。同社は2021年2月に詳細設計審査((CDR)を完了した後に、着陸地点をLacus Somniorum(夢の湖)からAtlasクレーターに変更していた。

この変更が発表されたのは打ち上げ直前の2022年11月17日で、実際に変更を決断した時期については公表を避けたが、変更後にシミュレーションにかける時間を十分確保できなかったことが、今回の失敗に繋がった。これについては、氏家CTOも「プロジェクト管理上の問題があった」と認める。

ミッション1はクレーター内への着陸という、かなり特殊なケースであったが、もし変更前のLacus Somniorumであれば、そんな極端な高度変化は起きない。今回のソフトウェアであっても、十分、着陸に成功していた可能性がある。

  • Atlasクレーター内の着陸地点

    Atlasクレーター内の着陸地点。この特異な地形が与える影響について、誰かが気がついていれば…… (C)ispace

それだけに本当に惜しかったのだが、氏家CTOは「エンジニアといつも話すのは、あと一歩のように見えて、じつはやるべきことが多いというのは良くあるということ」と指摘。「サッカーのワールドカップにもベスト8の壁があるが、我々も次のミッションではそれをしっかり打ち破らないといけない」と意気込みを見せた。

今回の失敗により、ペイロードの顧客からの売り上げが1億円ほど減少するものの、業績への影響は軽微だという。同社の袴田武史CEOは、「ミッション1の結果をフィードバックし、技術の信頼性や成熟度を上げ、サービスを提供していきたい」とコメント。最後に「Never Quit the Lunar Quest」と、改めて決意を述べた。

  • ispaceの袴田武史CEO

    ispaceの袴田武史CEO