開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2018/02/07

NASA 小野雅裕氏に聞く、なぜ宇宙では「C言語」が使われるのか

『宇宙兄弟』の人気コラムニスト

誰もが一度は星空を見上げながら、宇宙の神秘に思いを馳せたことがあるだろう。こうした幼いころの夢を現実にし、今ではアメリカ航空宇宙局(NASA)でロボティクスやAI分野の研究開発に携わる小野雅裕氏は、宇宙マンガで有名な『宇宙兄弟』の公式サイトで「一千億分の八」というコラムを手掛けていることでも知られている。このたび、同コラムをもとにした書籍を上梓した小野氏に、宇宙の魅力と宇宙開発の現場について話を聞いた。

(聞き手:ビジネス+IT編集部 松尾慎司)

photo
小野 雅裕 氏
大阪生まれ、東京育ちの阪神ファン。2005年東京大学工学部航空宇宙工学科卒業。2012年マサチューセッツ工科大学(MIT)航空宇宙工学科博士課程および同技術政策プログラム修士課程終了。慶應義塾大学理工学部助教を経て、現在NASAジェット推進研究所に研究者として勤務。「2007年、短編小説『天梯』で織田作之助青春賞。2014年に著書『宇宙を目指して海を渡る』を刊行。2016年よりミーちゃんのパパになる。2018年2月6日に『宇宙に命はあるのか 人類が旅した一千億分の八』を刊行。


宇宙探査機の“知性”を作る仕事

──なぜ、宇宙分野に携わるようになったのですか。

小野氏:小さいころから宇宙が好きでした。ボイジャー2号が海王星に行ったときに感動しました。私も将来あんな風になりたいと考え、宇宙工学科に進学しました。まさに「宇宙一筋」です。

──所属するNASAジェット推進研究所では、どのような分野を担当されているのでしょうか?

小野氏:自律化に関することを専門としています。どうやって自ら危険を感知して行動を意思決定できるかを研究しています。また、ロボティックスやAIに関することや火星探査機の自動運転などにも携わっています。

 宇宙探査機の操作はこれまで手動で行われてきました。しかし、その方法だけではできることが限られてしまいます。たとえば火星にある洞窟を探索したい場合、コミュニケーションの通信が限られ、事前に軌道上から偵察(reconnaissance)することもできません。手動で探査するには限界があり、その限界を超えるためにロボットがどんどん自律化する必要があります。

 私はその一例として、火星探査ミッションで用いる探査機「Mars 2020 Rover」の自動運転機能のソフトウェア開発に携わっています。また、プロジェクトによってはソフトウェア開発以外にもリサーチャーとしての役割を担うこともあります。

──宇宙分野におけるソフトウェア開発はどのような役割を担っているのでしょうか?

小野氏:人間は「ホモ・サピエンス(知恵のある人)」と言われています。その人間を人間足らしめているのは「筋肉」ではなく「知性」だと思います。ロボットの機体はもちろん必要ですが、私たちは宇宙探査機の“知性”を作っています。

 現在の業務には5年ほど携わっていますが、自動化させることへの抵抗がいくつかあることが分かりました。まずは、新技術を採用する際の障壁です。新技術には予想外のリスクが伴うことがあります。宇宙探索の場合、絶対に失敗はできません。

 そのため、リスクを取って新技術を使うよりも、枯れた技術を使って信頼性を高めるケースが非常に多いです。新技術を使う場合は、絶対にそれが必要とされるときです。自動化は新技術であるため、心理的な障壁は大きいものがあります。その壁と日々戦っています。

宇宙開発を支える枯れた技術たち

画像
「必ずしも新しい技術がいいとは限らないのです」
──宇宙探索を支えるソフトウェアは、一般的なITと同じようなものだと考えてもよいのでしょうか?

小野氏:かなり違うものだと思います。まず、開発には「C言語」を使用しています。PythonやJavaのようなインタープリタや仮想マシンを必要とする言語は計算リソースが非常に限られた宇宙探査機では厳しく、C++よりも長年の蓄積があり単純なCが好まれます。

 もちろん、その他にも色々な制約の下、開発が行われています。たとえば、Mars 2020 Roverで利用されているCPUは、1990年台後半の「PowerPC 750」のCPUを改良したバージョンです。そのクロック数は100~200MHz、搭載するRAMの容量は32、または64MBです。宇宙では放射線耐性がある別バージョンを作る必要があるため、PowerPC 750の宇宙バージョンである「RAD 750」を使用しています。新しいCPUを使うと色々なバグがあるので“枯れた技術”を使います。

 必ずしも新しい技術がいいとは限りません。ロシアの宇宙船のソユーズは50年近く使われていますが、その間の時代の変化に耐えて使われている抜群の信頼性を持っているともいえます。

 しかし、新しい技術が生まれないと変化もありません。そのバランスが大事だと思います。色々な制約の下でソフトウェアを開発する一方で、いずれ5年、10年後に実を結ぶかもしれない先進的な研究にも携わっています。私は、その両側に足を置いて新しい技術を少しずつプロジェクトに落とし込んでいくことを進めています。

 その他にも、サードパーティーソフトは原則禁止です。高い信頼性が命なので“非常に保守的なシステム”だといえます。どうやって64メガのRAMで、自動運転や画像認識、経路設計を行うかが非常に大変です。そこは、エンジニアとしての腕の見せ所でもあると考えています。

【次ページ】NASAから見た日本の有望株は?

ロボティクス・ドローン ジャンルのトピックス

ロボティクス・ドローン ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!