NASAの「インジェニュイティ」は本日、火星上空でホバリングし、他の惑星で飛行した初の人類が作ったヘリコプターとなった。
管制室に歓声が上がる中、エンジニアたちは小型ヘリコプターがローターを回転させて離陸、着陸し、そして全ての回転を下げ、更なるテストの準備が整ったことを確認した。ヘリコプターに搭載されたナビゲーションカメラが火星の表面に映る自身の影を捉えた映像に続き、火星探査車パーサヴィアランスがヘリコプターをホバリングさせる映像が流れた。
火星に映るインジェニュイティの影。出典:NASA/ESAライブフィードのスクリーンショット(クリックで拡大)
探査機に搭載された最新装備の一つであるインジェニュイティは、当初は機体の腹部に固定されていました。小型で、未だテストされていない折りたたみ式ヘリコプターは、2枚のローターブレードで飛行し、ソーラーパネルとバッテリーで駆動します。しかし、搭載されているハードウェアはヘリコプターというよりは携帯電話に近いもので、クアルコムのSnapdragon 801チップ上でLinuxが動作します。このプロセッサは、サムスンのGalaxy S5などのスマートフォンに従来から搭載されています。
パーセベランスから見たインジェニュイティ。出典:NASA/ESAライブフィードのスクリーンショット(クリックで拡大)
NASAジェット推進研究所のシニアソフトウェアエンジニア、ティム・キャンハム氏は、エル・レグ氏に電話で、既製のハードウェアを使うことにはいくつかの利点と欠点があると説明した。「宇宙で動作するように特別に設計された古い部品に比べて、新しいものなのでより強力で、価格も安い傾向があります。しかし、それは同時に、放射線や熱に対する信頼性や堅牢性が低いことも意味します。Snapdragon 801のシリコンは、火星ではなく地球での使用に合わせて調整されています。」
これは他の惑星で起動する初の飛行装置であるため、技術をテストするための実験的な側面が強い。インジェニュイティの運用期間は30日間のみなので、ハードウェアはパーセベランスの機器ほど頑丈ではない。目標は、計画された一連の飛行経路に沿って、離陸と着陸を同じ地点で行い、最大飛行時間をわずか90秒に抑えることだ。
Snapdragon 801チップは、2.26GHzクアッドコアのArm互換システムオンチップで、2GBのRAMと32GBのフラッシュメモリを搭載しています。Canham氏はLinuxのファンですが、NASAがパーセベランス探査機のVxWorksなど、従来から使用されている他のOSではなく、Snapdragon 801を選んだ理由はLinuxではないと述べています。「最大の理由は、Snapdragon 801ボードに既にLinuxが搭載されていたことです。誤解しないでください。私たちはLinuxが好きですが、チップがあらかじめパッケージ化されていたからです。」
NASAの火星2020ミッションは、宇宙でLinuxのようなオープンソースOSを使用する初めてのミッションです。「Linuxは様々な用途で使われています。サーバーファームのような用途だけでなく、Raspberry Piのような趣味レベルでも使われています。この飛行プロジェクトはNASAにとって非常に新しいもので、宇宙船にどのようなソフトウェアを搭載できるかについて非常に慎重に検討しています。ですから、これはLinuxにとっての勝利だと考えています。これまでLinuxが使われていなかった深宇宙ミッションで、ついにLinuxを使ったペイロードを搭載できるようになるのです」と彼は付け加えました。
将来的には、これらのヘリコプターを使って探査車や宇宙飛行士の位置を特定できるようになるかもしれません。このようなことが行われたのは初めてです。
「誰もがアクセスできるという点が重要です。すでに大規模な開発者コミュニティがメンテナンスを行っており、多くの人がバグを修正しています。プログラムを改良できるという利点があります。そして、宇宙でより新しいプロセッサが使われるようになれば、より広く利用されるようになる可能性が高いと思います。」
このヘリコプターには、ここにリストされている他の多数のオープンソース ソフトウェアが使用されていました。
大気や重力条件が異なる別の惑星での飛行は難しいものです。火星の大気は地球の約100分の1の密度で、空気抵抗も少ないため、ヘリコプターの動きを制御するのが難しくなります。
論文[PDF]によると、インジェニュイティは飛行動作を制御するために複数のハードウェアを組み合わせている。まず、センサーはカメラ、高度計、傾斜計からの情報を、Arm Cortex-M1ソフトプロセッサを搭載したFPGAであるProASIC3チップに送信する。このデータは、Texas Instruments社のマイクロコントローラ(モデルTMS570LC43x)に送られ、飛行に必要な機能を実行する。このマイクロコントローラは、Arm Cortex-R5Fアーキテクチャを採用し、300MHzで動作し、512KBのRAMと4MBのフラッシュメモリを搭載している。搭載されているマイクロコントローラは2つで、1つは飛行中にもう1つが故障した場合のバックアップとして使用される。
インジェニュイティの飛行コードは公開されており、GitHubにアップロードされています。C++で書かれた「F'」(Fプライム)と呼ばれるこのソフトウェアは、NASAのキューブサットなど、他の機器の飛行にも使用されています。ヘリコプターの位置を示すテレメトリデータはSnapdragon 801に送信され、そこから無線でパーセベランスの基地局に送信され、地球に中継されます。
ヘリコプターと基地局間の通信速度はそれほど速くなく、データの転送速度は最大200キロビット/秒に過ぎません。「これはバイトではなくビット単位です」とキャンハム氏は言います。飛行コマンドはわずか4~5キロビットのバイナリファイルに圧縮されており、送信には1~2秒しかかかりません。しかし、詳細な飛行データや画像のダウンロードには数時間かかることがあります。
次は何?
NASAはインジェニュイティを3日周期で運用する計画で、1日目に飛行を行い、次の2日間は基地局にデータを送信し、再び飛行を開始する。「標準的な飛行は3回実施する予定ですが、残りの2回についてはまだ計画中ですので、今後の展開にご注目ください。」
インジェニュイティは現在、短く単純な経路でのみテストされているが、宇宙機関はこの技術が進歩して将来の宇宙探査に役立つのではないかと大きな期待を寄せている。
インジェニュイティの後継機は、将来的にはロボット探査機の支援、軽量ペイロードの運搬、新たな地形の探索、そして特に興味深い岩石や分析対象物のある場所への車両の誘導などを行う可能性があります。また、アクセスが困難な地域を探査したり、地上のロボットよりも広範囲に地形を観測したりすることも可能です。
キャダム氏によると、探査機はドローンから約100メートルの距離を飛行しながら接近する。「これはライト兄弟の偉業を彷彿とさせる出来事です。地球以外の惑星を飛行する初の動力付き飛行体となります。将来的には、これらのヘリコプターを使って探査機や宇宙飛行士の位置を特定できるようになるかもしれません。このようなことは史上初めてです。」®