ITmedia NEWS >

火星探査車の不調、原因は「ファイルの消し忘れ」

» 2004年02月05日 19時05分 公開
[IDG Japan]
IDG

 1月22日、火星探査車Spiritが着陸後、活動を始めてすぐに応答を返さなくなったのは、基板上のメモリ不足が原因だった。

 この探査ミッションで採用された組み込み型リアルタイムOSを提供したWind River Systemsの技術スタッフ、マイク・デリマン氏によれば、地球上で実施されたテストによりこの問題は再現され、完全にメモリに関連したトラブルであることが判明したという。

 「ソフトウェアのバグでもなければ、アプリケーションのバグでもない。ハードウェアのバグでもない」とデリマン氏。「突き当たったのは、システムの制限による問題だ」と同氏は明らかにしている。

 Spirit(以下、ローバー)は、128MバイトのRAMのうち、Wind River VxWorksオペレーティングシステムと一連の科学目的アプリケーションのためにに32Mバイトを割り当てているが、ミッションが進むにつれ、技術者はメモリを再利用するために古いファイルとディレクトリを定期的に削除していく必要がある、と同氏。

 しかし、1月3日に火星に着陸し、ローバーから地球にデータが送られてくるようになると、ミッション技術者による削除作業の間隔が長くなってしまった。

 「単に、メモリを使い果たし、RAMを使い切ってしまったということ」とデリマン氏は説明する。「最初にローバーとの交信が絶たれた原因は、それだ。この6輪車は通常動作で数百ものタスクを同時に実行しており、それぞれのオペレーションが一定のRAMを使用する」と同氏。

 「これは、古いWindowsマシンを、空きディスクほとんどなしの状態で使っているようなものだ」と同氏は説明する。「ディスクを使い切ったらファイル整理しないとシステムが不安定になってしまう」とデリマン氏。

 ほぼ1週間のあいだ、科学者らはなぜローバーが地球からの指令に反応しないかの原因究明に当たっており、ハードウェアの問題によりローバーを見失ってしまったのではないかと危惧していた。

 技術者らはローバーが診断モードに入ったとき、ようやくこの問題を修正できた。診断コマンドがこのマシンに送信され、フラッシュメモリベースのファイルシステムボードから一連のファイルとフォルダが削除されると、ローバーは通常作業を再開できるようになった。

 ローバーは現在、NASAのために火星表面の写真を撮影し、実験を行っている。火星探査車2号機であるオポチュニティは1月24日に着陸し、「レッドプラネット」で活動を続けている。ヒーターの些細なトラブルによりオポチュニティのロボットアームが停止できないという問題以外、2号機の方はこれまでのところ、順調に動いている。

 このミッションの進展を、NASAの科学者と技術者、Wind Riverをはじめとする関連ベンダーは興奮しながら見守っているとデリマン氏は語る。

 「科学が本来あるべき姿はこういうものだ、という感慨を与えてくれる」と同氏。「別世界の探検に貢献していること、われわれが宇宙においてどういう位置を占めているのか、その答えを得ることに貢献していること、これは言葉にならない」とデリマン氏は述べた。

Copyright(C) IDG Japan, Inc. All Rights Reserved.