ニュース

火星で初飛行に成功、NASAの小型ヘリコプターを支えるオープンソースソフトウェア

2021.04.22 06:30

ZDNet Japan

facebook X(旧Twitter) line
1 2 3 4

 JPLの開発者らは、昔からオープンソースプロジェクトを利用するとともに、そういったプロジェクトに対して貢献してきた。しかし、JPLが独自のオープンソースプロジェクトを開始するのはF′が初めてだった。JPLで小型飛行体ソフトウェアグループのスーパーバイザーを務めるJeff Levison氏はその理由として、JPLのフライトソフトウェアをNASA以外で利用できるケースがほとんどなかったことを挙げている。同氏は、「われわれのソフトウェアがカスタマイズされたハードウェアと緊密に結合しているため、以前には公開する意味などなかった」と述べるとともに、「実際のところ、そうしたソフトウェアを公開する大きな必要性や利点もなかった」と続けた。

 しかしIngenuityの場合、話は違ってくる。JPLのシニアソフトウェアエンジニアで、JPLのフライトミッションの組み込みソフトウェアに携わっているTimothy Canham氏によると、Ingenuityのプログラムは2.2GHz駆動のQualcommの「Snapdragon 801」上で動作しているという。

 このプロセッサーは旧式で極めて遅いと思われるかもしれないが、「Mars 2020」プロジェクトのローバーであるPerseveranceに搭載されているプロセッサーよりもずっと高速なのだ。その理由は、NASAがCPUやチップを使用する場合、「High-Performance Spaceflight Computing」(HPSC)という同組織の耐放射線規格を満足させなければならないためだ。こういった規格に従ったカスタマイズ版プロセッサーを作り出すには、何年にもわたって設計とテストを実施する必要があり、その後で初めて宇宙飛行に耐えられるというお墨付きが与えられる。例えばNASAの最新汎用プロセッサーは、「Raspberry Pi 3」でも採用されている「ARM Cortex-A53」を改良したものだ。しかし、Ingenuityはデモンストレーションプロジェクトであるため通常の、すなわちよりモダンなCPUを使用することができる。

 フライトコントロールソフトウェア自体は500Hzで動作する。そう、単位はMHzではなくHzだとCanham氏は米ZDNetに対して説明した。このフライトソフトウェアは、「飛行用のハードウェアを制御するために用いられるとともに、ヘリコプターを安定させ続けるためのセンサー群から1秒あたり500回のペースで情報を読み込む」のだという。実際のところ、Canham氏は「本当のことだがわれわれはSparkFun Electronics(米国の家電量販店)にパーツを注文した。これは市販のハードウェアだが、テストを実施し、うまく動作するのであれば、われわれはそれを使う」と説明した。そしてわれわれが19日朝に目の当たりにしたように、ちゃんと動作するのは間違いない。

 JPLは、2013年にF′の最初のバージョンを開発した。そのアイデアは、どのようなハードウェア/用途/目的地であっても実質的に適応可能となる、さまざまな宇宙飛行プロジェクトに耐えられる、再利用可能なソフトウェアフレームワークを生み出すというものだった。

1 2 3 4

Related Articles