基本読書

基本的に読書のこととか書く日記ブログです。

月までのプログラミング──『デジタルアポロ ―月を目指せ 人と機械の挑戦―』

デジタルアポロ ―月を目指せ 人と機械の挑戦―

デジタルアポロ ―月を目指せ 人と機械の挑戦―

  • 作者: デビッド・ミンデル,岩澤ありあ
  • 出版社/メーカー: 東京電機大学出版局
  • 発売日: 2017/01/20
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る
本書は「人と機械がアポロ計画においてどう役割分担をしたのか」という観点から、計算機開発を中心に人間と機械の協働を分析した一冊になる。アポロ計画に関する本は山ほど存在するだけに、今さら新しいものが読めるのかねえと、疑問を抱きながら読み始めたのだけれども、いやーこれがめっぽうおもしろい。序章からして良い。

アポロ計画の技術者は機械設計にどのように人を組み込んだのか? 重大な月面着陸で人を制御にどのように介在させたのか? 人はいつスキルを持った賢い操縦士として働き、いつ飛行規定書に沿って機械のように動いたのか? この"人と機械"の境界線は、無味乾燥とした技術計算だけで成り立っているようにみえるアポロ宇宙船の人間的側面を映し出す。

原書は(新版が)2008年刊行なのでそこから数えただけでも10年近く時間が経っている。とはいえ、自動運転車や人工知能との協働など人と機械の役割分担がより重要になり、民間の宇宙開発も進む現在「どこまでを人がやり、どこからを機械に任せるべきなのか」「技術者や操縦者、システムとの関係」を考えることの価値が、以前よりもさらに増していることを考えるとその価値はいささかも落ちていない。

人は"貨物"か"パイロット"か

そもそも人と機械の協働を議論する以前に考えるべきなのは、"そこに人は必要なのか"という問いである。たとえばアメリカ合衆国初の有人宇宙飛行計画であるマーキュリー計画では、パイロット不要論が巻き起こっている。ロケットの打ち上げ時にパイロットにできることは何もなく、機械が故障し最悪な事態が起こった場合も自動化されている。つまりパイロットは"ただの貨物である"という批判が相次いだのだ。

ところが、実際に宇宙船が飛び始めると、宇宙飛行士は数々の故障や失敗に臨機応変に対応し(たとえば、スラスター漏れが原因で宇宙船カプセルがロール軸まわりを一定に回転し始めた時、シェパード宇宙飛行士はフライ・バイ・ワイヤ制御を使って動きを修正し大気圏突入の振動を減衰させた)、その実力/必要性を充分に示した。

結果的にマーキュリー計画は人の存在を正当化し、公文書にも「宇宙飛行士が宇宙船に座る乗客から、宇宙飛行に積極的に貢献する者へと進化した姿を見せてくれた」と総括が記載されている。自動化された結果として、人間は積極的な操縦者とはいえないものの、"究極のバックアップシステム"としての新たな役割を示したのだ。

月までのプログラミング

"ソフトウェア"という言葉が流行り始めたのは1950年代の後半で、アポロ計画がスタートした当初はプログラミングはシステム設計の一部にすぎないと考えられていた(作業量は無視されているといえるぐらいに低く見積もられていた)。当時アポロ宇宙船の技術者はソフトウェアを担当すると奥さんに伝えると、"ソフト"という言葉が男らしくないと思われたそうだ(それぐらい知られていない職業/言葉だった)。

そんなソフトウェア/プログラミングという言葉がほとんど使われていない時代に月への自動航行を制御しようというのだからその道程はあまりにも険しい。だが、それだけに技術者らは全員が新しい物好きの第一人者で、その体験は未知の領域を開拓していく興奮に満ちている。リアルタイムの誘導計算を解く数学モデルとデータ抽出方法、燃料の流体運動の計算と慣性航法の恒星座標を織り込んだ計算式──。

前人未到の有人月探査なのだから、開拓するのはソフトウェアばかりではない。

ネヴィンズは、アポロ宇宙船システムの"宇宙飛行士と計算機関のやり取り"を説明した。広い意味でとらえ、自身の構想を"操縦技能の遷移(A Transiton in the Art of Piloting)"と名づけた。この考え方は、宇宙飛行士が計算機と管制官とやり取りすることを意味し、飛行の定義を一生変えてしまった。"アポロのフライトマネジメントシステムは、自立ではなく、飛行装置と地上装置が統合されたシステムとなった。"

フライトの要所要所で、宇宙飛行士はどんな情報を必要とするか? そのデータはどこに表示されるべきか? データ表示画面の大きさはどれだけが必要で、どうやって表示することで間違いを少なく出来るのか。そうした一つ一つの疑問に新たな答えが生み出され、シンプルかつ冗長性の高い統合システムが生み出されていく。

立派だが不完全な機械を、スキルは持っているが過ちを犯しがちな人間が操縦した。

最終的にアポロ計画における宇宙飛行士の役割はどこにおさまったのか? 打ち上げは自動である。ロケット分離、エンジン点火の逐次制御実行時に宇宙行使はミッション中止の判断を担った。月への道中では、システム監視や船内整理整頓を(特にやることはない)。月面着陸時、着陸船を適正な場所に誘導し着地点を評価するための10分間──その最後の1分か2分だけが(セミオートマチック制御で)手動操作だった。

有名な話だが、アポロ11号のミッションは月降下時に計算機が発する謎の警告で危うく中止になりかけた。エンジニアが慌てふためき原因を追求する中、アームストロングは心拍数バクバクの中自動制御のスイッチを切り、月着陸船を操縦した。結局、警告の原因となったのは何年も前から知られていたが公に問題提起されることはなく見過ごされた問題で、チームのコミュニケーション上の失敗だったといえる。

"失敗の許されないプロジェクト"で天才たちが集まり、思考の粋を集めてシステムをつくりあげた。それでもどうしても見逃しと不具合は発生してしまうのだ。『立派だが不完全な機械を、スキルは持っているが過ちを犯しがちな人間が操縦した。』。アームストロングが操作し着陸に成功させた瞬間は人の勝利であると言われることが多い。しかし、その背景には膨大な技術的な達成による支援があった。最後の瞬間は、いわば人と機械の勝利の時だった。本書はその複雑な実態を見事に描き出している。