問題は設計時からあった

以上は運用フェーズに起きた問題であったが、JAXAは今回、設計フェーズ、製造・試験フェーズにおいても問題が無かったか検証。製造・試験フェーズについては問題無しとされたが、設計フェーズについてはさまざまな問題点が指摘されている。

事故の背景に見えるのは、安全性や信頼性に対する意識の低さだ。姿勢制御系の設計において、より良い観測条件を確保するための要求は詳細だった一方、安全性や信頼性に関する要求は少なかったという。この結果、機能の実現が最優先になり、バランスを欠いたシステムになったとJAXAは見る。

設計フェーズにおける課題。情報管理の手法にも問題があった (C) JAXA

そのひとつの例が、姿勢推定のアルゴリズムだ。IRUのバイアスレートは、スタートラッカとIRUの計測値から、カルマンフィルタを使って決めている。ひとみでは、このゲインを高く設定。姿勢変更後、スタートラッカの追尾が始まると、バイアスレートが一時的に大きくなるが、ゲインが高いと早く収束し、観測時間を長く確保できる。

姿勢角やバイアスレートの推定にはカルマンフィルタが使われる (C) JAXA

今回はまさに、この一時的に大きくなったタイミングでスタートラッカの出力がストップし、バイアスレートが高止まりしてしまった。もしゲインが低く設定されていたら、姿勢安定までの時間は長くなってしまうが、バイアスレートは大きくならず、スタートラッカが数分後に復活した時点で、収束に向かったはずだ。

また衛星に搭載されたスタートラッカは第3世代の新規開発品で、軌道上実証はひとみが初めてだった。にも関わらず、姿勢推定のロジックや星検出のパラメータは、捕捉の速さや精度に重点を置いて設計されており、実際の使用条件を考慮したロバスト性の検討が不十分だったという。

姿勢制御系の設計次第では、事故に至らなかった可能性もある (C) JAXA

ところで、ひとみには太陽センサーが搭載されているので、もし姿勢異常の検出に使われていれば、ゆっくり回転を始めた時点で異常に気付き、自動で対処できた可能性がある。これはなぜ使われていなかったのか。

ひとみの太陽センサーは、角度の大小がわかるのは20度まで。それに対し、ひとみの観測時には、太陽に対して30度まで姿勢を傾けることがあるので、20度以上になったときに異常と判断すると、不必要にセーフホールドモードに移行する可能性があった。そのため、観測の継続性を優先させ、太陽センサーは使わないことになったのだ。

ただし、この太陽センサーは20度以上になっても、41度までなら、太陽の有無だけはわかる仕組みになっていた。今回のように、IRUによる姿勢推定が誤る可能性は設計段階で指摘されており、41度を外れたときに姿勢異常と判定するロジックも検討されたが、それは採用されずに運用で対処する方針となったそうだ。

太陽センサーを姿勢異常の判定に使用していれば、途中で検知できた (C)JAXA

JAXAによれば、ひとみの姿勢制御系は基本的に、なるべく自動で性能維持/機能維持するよう設計されており、観測時間の減少に繋がるセーフホールドモードへの移行は必要以上に実施しないよう考えられていたという。だが、たとえば最初のうちは念のため同モードに入りやすくしておくなど、柔軟な運用も考えられたのではないだろうか。

なお今回の事故では、リアクションホイールの角運動量が上限に達したため、スラスタでセーフホールドモードに移行することになったが、その前の段階であれば、同モードへの移行にはリアクションホイールが使われる。リアクションホイールに異常は無かったので、おそらく問題無く同モードへ移行できたはずだ。

徹底した背後要因の検証を

今回の報告書で、事故についての事実関係は良くわかった。今後、重要になってくるのは、「なぜこの事故が起きたのか」の部分の検証だろう。

対策や改善事項については次回の議題となるが、出席した委員からは、「問題がどこにあるのか。技術なのか制度なのか費用なのか。そこが明らかにならないと、対策が個別の原因のパッチ当てで終わってしまう。背後要因まで突き止めないと、いずれ別の形で問題が再発する」という意見も出ていた。

もしこうしていれば事故は防げた、という点はいくらでも考えられる。しかし、実際に事故は起きてしまい、今から取り消すことはできない。そうであれば、徹底的に情報をオープンにして、組織文化や歴史的経緯まで深く掘り返した上で、根本的な要因を突き止めるしかない。それが、ひとみを「無駄」にしないための唯一の道だ。