火星衛星探査機の軌道シミュレーションに Web アプリを使用 ~JAXA の筑波宇宙センター特別公開デモ~
はじめに
こんにちは、アプリケーションエンジニアの齊藤です。普段はサーバー、クラウドなどでの MATLAB/Simulink 利用をサポートしていますが、先日は新機能紹介のYouTube ライブにも登場しました。 新機能が多すぎるのでまとまってキャッチアップできて嬉しいという声や、ライブならではの掛け合いもあって「いやあ笑った。お笑い番組かと」というコメントも。また実施できると良いなと思っています!
さて今回は、筑波宇宙センター特別公開 2023 で MATLAB で作った Web アプリが好評だったとの感想を聞きつけて、国立研究開発法人宇宙航空研究開発機構 (JAXA) 様の大木 優介様にインタビューをさせていただきました。
ポイント
- 人工衛星の軌道設計や数値解析に MATLAB を活用
- GUI アプリを MATLAB で作成して Web アプリにすることでインストールレスで使えるように
- 火星衛星探査の軌道シミュレーションの Web アプリが筑波宇宙センター特別公開 2023 で好評
インタビュー
Q1. 大木様の自己紹介とご業務のご紹介をお聞かせ下さい。
はい、JAXAの大木と申します。研究開発部門の第三研究ユニットに所属して、この部署では数値シミュレーションを広く扱っています。バックグラウンドで宇宙機の軌道設計をやっていたのもあり、MMX (Martian Moons eXploration、火星衛星探査計画) の軌道設計や運用計画を担当しています。他にも衛星の概念設計に必要な電力、通信、熱などの様々なドメインの解析を一貫してでできるシミュレーション環境を構築しています。こうした環境をデブリ除去衛星など実際のプロジェクトにも適用しています。
Q2. MATLAB の活用例についてお聞かせ下さい。
JAXA に入る前の学生の時から MATLAB を使っていました。現在も宇宙機の簡易的な計算から、天体の軌道や詳細な重力モデルを入れた精度の高い計算まで広く MATLAB を使っています。コーディングだけでなく、特別公開で見せたような GUI アプリを作るのも MATLAB (App Designer)でやっています。MATLAB は独学で使いこなしています。軌道計算や解析には最適化のライブラリ「fmincon」(制約付き非線形多変数関数の最小値を求めるOptimization Toolbox の関数)をよく使っています。誤差を入れた1万回の計算などをモンテカルロ・シミュレーションでやるときにはParallel Computing Toolbox で高速化もしています。
Q3. MATLAB で GUI アプリを作った後、さらに MATLAB Compiler を使って Web アプリに変換してチームでご利用いただいているとお伺いしておりますが、どんなメリットがあったかお聞かせ下さい。
Web ブラウザで計算ができるのでインストールレスで、かつライセンスフリーというところですね。解析の敷居が下がるのはすごく大きなメリットだと思います。MATLAB Compiler でスタンドアロンアプリにすることもできますが、それだとアプリと MATLAB Runtime のインストールが必要になりますからね。JAXA の中ではクイックに計算したいというニーズがあるので、それに応えられるのは Web アプリの良いところだと思います。
あと、特別公開ですごく良かったのは挙動が安定するところです。計算はローカル端末のスペックに依ってしまい、スペックが低いと数分掛かってしまうこともあるのですが、今回はスペックが高い Linux のサーバーに Web アプリを置いて各端末からアクセスするようにしたのでローカル端末のスペックに依らずに割と早く計算ができ、参加者を待たせずに計算してもらえました。
Q4. 火星衛星探査計画の衛星 (MMX) の軌道シミュレーションを Web アプリで作って、筑波宇宙センターの特別公開で参加者に体験していただいたとのことですが、反応はいかがでしたでしょうか?
実際のアプリがこちらですが、左側の画面で参加者に速度を指定してもらって、ボタンを押すと右側に火星の衛星のフォボスの周りをぐるぐる回るアニメーションを表示させました。
速度によっては衛星に衝突したり、衛星の近くから離脱してしまったりするのですが、こうした結果に一喜一憂してもらいながら楽しんでもらえたかなと思います。
MMX は擬周回(ぎしゅうかい)軌道という、普通の人工衛星の軌道と違って特殊な軌道を取り、周回成功する軌道速度の範囲が狭いです。MMX の運用が難しいことも実感してもらえたかなと思います。
Q5. 小中学生も多いイベントだったとのことでどのような点に気を付けられましたか?
フォントをポップ体にしたり、ひらがなを使って「速度」ではなく「じそく」と書いたりしてわかりやすい言葉にすることを心掛けました。パラメーターも 1 つにして操作が簡単にできるようにし、ボタンも大きくして誤動作をしないように 1 回押したら無効にして連続で 2 回押さないようにしています。
Q6. MathWorks へ期待されることがございましたらお聞かせ下さい。
Web アプリはまだやり始めたばかりなので、どういうところで使われているか、ユースケースを知りたいですね。あと本質的ではないかもしれませんが、MATLAB でコーディングして負荷が掛かってしまうとフリーズしてしまってプロセスを落とさないといけないときがあるので、そういうのがなるべくなくなると良いなぁと。
Q7. 今後の大木様の研究に MATLAB がどのように活用できそうか、お考えをお聞かせください。
引き続き衛星の軌道計算やシステム解析でクイックなものから詳細度の高い計算まで使っていきたいと思います。あと、自由に GUI アプリを作るには App Designer が便利なのでぜひ使いたいです。
MATLAB は作図が綺麗だと思います。軌道などを分かりやすく説明するために綺麗な図を出すのも私の重要な仕事なので、重宝しています。
まとめ
人工衛星の軌道シミュレーションやシステム解析に MATLAB を使い、GUI アプリを作って Web アプリにして JAXA 内でも活用し、筑波宇宙センター特別公開 2023 のイベントでも参加者に実際に試してもらうことができた事例をご紹介しました。最後まで読んでいただき、ありがとうございました。
コメント
コメントを残すには、ここ をクリックして MathWorks アカウントにサインインするか新しい MathWorks アカウントを作成します。