【Apolloを月へ導いたコンピューター】
人類がはじめて月面に降り立った。月面着陸から今年(2019年)でちょうど50年。さぞかし、高性能なコンピュータで正確に導かれたのであろう。確かにその通りではあるが、50年前はいかがなものであったのだろう。コンピュータの処理を支えたのは、現代制御理論とカルマンフィルタの確立であった。アポロ11号には「AGC(Apollo Guidance Computer) Block2」と呼ばれる、当時の最先端技術であった集積回路(IC)を使った組み込みコンピュータが搭載されていました。 スペックは、マスタークロック周波数:2MHzROM容量:36kワードRAM容量: 2kワード8ビット CPUタイプミスではありません。性能は1983年に発売開始された任天堂のファミコン並みかそれ以下かもしれません、ロケットエンジンや周辺機器をコントロールして、アポロ11号の位置や姿勢や軌道計算など航行機能の制御に使うためには工夫が必要だった筈です。高速処理も出来ず、長い大きなプログラムを走らせる事も出来そうにありません。そこで、誘導・制御に使われたのが カルマンフィルタです。実際のソースコードが公開されていますが、たった 70行しかありません。(以下) このコードは 現在でも宇宙船の制御やカーナビ、自動運転走行やロボット制御に広く使われている非常にスリムなスマートなアルゴリズムで アセンブリ言語で書かれています。簡単に説明すると、基本となっているのは「現代制御理論」です。カルマンフィルタはそれを統計的に処理し確率分布から 予測制御を行う人工知能(AI)にも似た信号処理のアルゴリズムのと一つと言えます。サーボが起きた結果(エラー信号)を適正値に近づけるのに対し 先読みして制御するような仕組みで サーボよりも誤差を小さく出来ます。 ところで、ファミコンに搭載されていたCPUの性能は?アポロ誘導コンピューターが2.0 MHz、ファミコンが1.8 MHZ。ちなみにiPhone7は1000倍以上の2.3 GHz。主メモリ(RAM)はアポロ誘導コンピューターが4KB、ファミコンは2KB、iPhone7は50万倍の2GB。何とかファミコンでも実現できそうな感じですね。当時、ファミコンに搭載されていたのは8ビットのCPUでした。ビットというのは、コンピュータで扱うデータの最小単位であり、「0」と「1」のどちらか1つの情報に相当します。8ビットということは、これが8個並んだ状態であることを意味しますので、「10001000」や「00101010」といった感じになり、8ビットのCPUというのは、データをこの8ビットの単位でまとめて処理できる性能を持っています。つまり、一度に2の8乗=256個の演算処理を同時に行うことができるということになります。現在の家庭用ゲーム機やPCでは64ビットCPUが主流となっています。64ビットということは2の64乗ですので、18,446,744,073,709,551,616個。これだけの演算処理を同時に、または並列に行うことができるということになります。ちなみに、今やスマートフォンの世界でもiPhone 5s以降などで64ビットCPUが採用されています。ちょっとした人工衛星でさえ現在では64ビットCPUが使われています。iPhone7はクアッドコアで64-bit。一方、アポロ誘導コンピューターはもちろんシングルコアで8-bit。現在よりも遥かに劣っているコンピュータの性能で計画通り月面まで到達し、無事に帰還できたことを考えると、飛行士たちを含めてその功績がいかに大きいかわかります。忘れてはいけないのが彼女の存在です。マーガレット・ハミルトン単に女性技術者の先駆けだっただけではない。「ソフトウェア」という言葉すらほとんど知られていない時代に新しい分野を切り開いた、真のパイオニアだった。現代では耳慣れた「ソフトウェア工学」という言葉を生んだのも彼女だった。そして、「月に人を送るためのコンピューター」のソフトウェアを開発する仕事をすることになった。AGC(Apollo Guidance Computer):アポロ誘導コンピューターです。数々のエマージェンシーの危機的状況を回避して乗り切り、史上初のデジタル・オートパイロットも実現している。 ハードに手を加えることなく機能が追加・削除が出来るのは画期的な事でした。また、女性らしい配慮のあるプログラムも書いている。ミッション中に明らかにミスコマンドが入力された時に危険が及ぶ場合はそれを無視するようにプログラムした。NASAは却下したそうだ。「宇宙飛行士は完璧に訓練されているから、決して間違えない。」「この安全ソフトを全部消せ。もし俺らが自殺したくなったら、させろ。」。というのがNASAの考えだった。NASAが間違っている事は、アポロ8号が月周回中の時の事故で証明された。 以下の書籍のコラムを参考にしました。 宇宙に命はあるのか 人類が旅した一千億分の八/小野雅裕HMV&BOOKS online 1号店宇宙に命はあるのか 人類が旅した一千億分の八/小野雅裕【1000円以上送料無料】【第1回】〈一千億分の八〉はじめに【第2回】〈一千億分の八〉ガンジス川から太陽系の果てへ【第3回】〈一千億分の八〉地球をサッカーボールの大きさに縮めると、太陽系の果てはどこにある?【第4回】〈一千億分の八〉すべてはSFから始まった〜「ロケットの父」が愛読したSF小説とは?【第5回】〈一千億分の八〉なぜロケットは飛ぶのか?〜宇宙工学最初のブレイクスルーとは【第6回】〈一千億分の八〉なぜロケットは巨大なのか?ロケット方程式に隠された美しい秘密【第7回】〈一千億分の八〉フォン・ブラウン〜悪魔の力を借りて夢を叶えた技術者【第8回】〈一千億分の八〉ロケットはなぜまっすぐ飛ぶのか?V-2のブレイクスルー、 誘導制御システムの仕組み【第9回】〈一千億分の八〉スプートニクは歌う 〜フォン・ブラウンが戦ったもうひとつの「冷戦」【第10回】〈一千億分の八〉宇宙行き切符はどこまで安くなるか?〜2101年宇宙の旅【第11回】〈一千億分の八〉月軌道ランデブー:無名技術者が編み出した「月への行き方」【第12回】〈一千億分の八〉アポロを月に導いた数式【第13回】〈一千億分の八〉アポロ11号の危機を救った女性プログラマー、マーガレット・ハミルトン【第14回】〈一千億分の八〉月探査全史〜神話から月面都市まで【第15回】〈一千億分の八〉人類の火星観を覆したのは一枚の「ぬり絵」だった【第16回】〈一千億分の八〉火星の生命を探せ!人類の存在理由を求める旅〈著者プロフィール〉小野 雅裕大阪生まれ、東京育ち。2005年東京大学工学部航空宇宙工学科卒業。2012年マサチューセッツ工科大学(MIT)航空宇宙工学科博士課程および同技術政策プログラム修士課程終了。慶應義塾大学理工学部助教を経て、現在NASAジェット推進所に研究者として勤務。