DesignSpark Electrical Logolinkedin
Menu 検索
フォーラムで質問

アポロ計画のインテリジェントロケット「サターン」

画像クレジット: NASA

間もなく公開される映画「ファースト・マン」は、人類で初めて月面に降り立った人物ニール・アームストロング(Neil Armstrong)の人生を描いたもので、イギリスでは1月に公開されました。ArmstrongとAldrinのあの劇的な映像を見たことがないという人はぜひこの映画を見てみましょう。彼らは燃料残がわずかな中で、LEM (月着陸船)をうまく操り、安全に地表に着陸させたのです。通常、アポロの月面ロケットはコマンドモジュールとLEMの2つで構成されており、その両機に搭載されていたアポロ誘導コンピューターの驚異的な技術に注目が集まりました。しかし、宇宙飛行士を送り出した残りの部分、サターンV型ロケットについて語る人はあまりいません。月面着陸は非常に印象的でしたが、その任務はたったの数分であり、高度なものには見えませんでした。サターンV型ロケットは技術的にあまり魅力のないものだったのでしょうか?

アポロ6: 最後の無人テストフライト

いいえ、そうではありません。サターンV型ロケットの苦労はアポロ6号に遡ります。

アポロ6号の目的は、アポロ7号で最初の有人飛行を行う前の、最後の無人テストフライトでした。トラブルは、第1段機体ロケット(S-IC)から始まりました。切り離しの直前に、激しい縦方向の振動(ポーゴー効果)が始まったのです。これが構造的な欠陥を引き起こした可能性があり、上昇するロケットから部品が脱落していきました。幸いにも、ロケットは分解されず、第1段機体ロケットの切り離しの後、第2段機体ロケット(S-II)の点火に成功しました。しかし、管制センターが安堵のため息をついたのもつかの間、5基あるエンジンのうち1基の出力が低下し始めました。それは自動的に停止されましたが、今度は同じ側に搭載されていた2基目のエンジンが完全に停止してしまいました。アポロ6号は窮地に立たされました。ロケットは2基のエンジンの故障を想定して設計されておらず、第2段機体ロケットの推進力に重大な不均衡が生じたのです。しかし、ロケットは動作不良の状態でもどうにか正しいコースを保ち、不安定ではありましたが、軌道に達しました。アポロ6号は悲惨な失敗だったと言うべきでしょう。一方アポロ7号は、より小さなサターンIB型ロケットを使用し、アポロ8号はサターンV型ロケットを使用して、計画が進められました。アポロ6の欠陥は迅速に特定され、修正されました。ポーゴー効果は燃料システムの不安定さが原因で起こっていたため(閉じ込められた水分と空気が摩擦によって加熱され、膨張を引き起こし、外壁を破壊した)、通気孔をいくつか設けることで対応しました。第1段機体ロケットのエンジンの故障は燃料ラインの設計の問題、第2エンジンの停止の原因は配線ミスにあることが突き止められました。これらすべての問題にもかかわらず、ミッションを果たしたサターンの能力は、有人飛行に進む自信をNASAに与えました。「単なる花火」がどうしてそれほどの耐障害性を備えていたのでしょうか。

サターン機器ユニット(IU

IUは、第3段機体ロケット(S-IVB)の最上部に取り付けられた直径約6.5m、高さ1mのリング状のユニットで、内部の表面には、サターンの電子回路が搭載されていました。

サターンV型ロケットは、3人の宇宙飛行士を地球の軌道上に安全に運ぶというミッションに失敗しませんでした。それは現代の専門用語で、インテリジェントロケットと呼ばれ、Launch Vehicle Digital Computer(LVDC)という埋め込み式の耐障害性デジタルコンピュータによって制御されていました。サターンは真に自律したロケットでした。というのも、燃料が充填されたロケットが、発射台に置かれた際にすることと言えば、原則的には、目的地の3D座標をLVDCに入力し、打ち上げボタンを押すことだけだったのです。宇宙飛行士と管制センターは、S-IVBエンジンが軌道上の所定の位置で停止するまでは、遠隔測定データを監視しているだけでよかったのです。軌道への打ち上げには次の3つの段階を経る必要がありました。

  • 離陸後、S-1Cブースターは、わずか2分間で重量3,000トンの機体を上層大気圏まで上昇させ、時速約8,500kmまで加速させます。LVDCは、予め設定された時系列に従ってエンジンノズルをジンバル上で動かすことでロケットを操縦します。大規模な補正が適用され、構造に過大な負担がかかるおそれがあるため、搭載されたジャイロプラットフォームからのフィードバックはありません。大気抵抗による最大動圧点「マックスQ」に到達するのはこのときです。LVDCと並行して動作するのは、緊急検出システム(EDS)で、加速度計やジャイロなど、重要なシステムを監視します。EDSは大惨事につながる可能性のある問題を検知することができ、エンジンの停止を指示し、脱出ロケットに点火してカプセルを安全な場所に異動させることができます。EDSは、マックスQを過ぎるまで、自動的にオンになっています。それは、宇宙飛行士がすぐに警告に反応できない可能性があるためです。マックスQを過ぎると、EDSは船長の前にあるインジケータランプを点灯させます。以後、手元の停止ハンドルを回すか否かは、船長の判断に任せられます。
  • LVDCはロケットを切り離し、S-IIのエンジンを始動させます。これまでの飛行軌道は、オープンループ制御下で垂直に近い状態にありましたが、今や、制御ループは閉じられ、ジャイロプラットフォームを用いた飛行制御システムにより、定められた軌道上でロケットの操縦が行われます。自動操縦では、風力や変化するエンジンパフォーマンスの補正が効果的に行われます。
  • 最後に、第2段機体ロケットが切り離されると、S-IVBが軌道上の定められた場所まで飛行を引き継ぎます。この飛行は自動操縦により行われ、その速度は時速約28,000kmにも達します。

これらすべての動作はわずか11分の間に行われます。しかし、IUにはほかにも2つの任務があります。月へ向かうコースを設定すること、そしてLEMが放出された後、月面上の緊急着陸できる別の場所にS-IVBを送ります。

アポロ12号に襲い掛かった試練

そのほかの月への飛行は、少なくともIUに関する限り、おおむね無事でした。アポロ12号がもたらした恐慌状態を除いて。このアポロ12号の件だけでも、ロケットのコマンドモジュール内に独立した制御システム(IU)を搭載するという設計上の判断が正しかったことが証明されています。アポロ12号の打ち上げ後すぐに、コックピットは目がくらむような光に包まれました。機体に雷が落ちたのです。その瞬間、コントロールパネルは作動しなくなり、すべての警告灯が点灯しました。ロケットから管制センターに送られてくる遠隔測定データは狂っていました。サターンロケットのEDSは自動モードで動作していましたが、停止コマンドは発令されませんでした。というのも、S-ICがコースに沿って正常に飛行していたことが、関係者全員に分かったからです。飛行中止ハンドルを握っていた船長のPete Conradは、無線を通して聞こえた不明瞭な、宇宙船通信担当官からの言葉に躊躇しました。「SCEを補助に切り替えろ」。これは今ではすっかり有名になった言葉です。Alan Bean宇宙飛行士がSCE (信号調整装置)のスイッチを操作すると、コックピットのディスプレイと遠隔測定装置がすべて正常に戻りました。この言葉を投げかけた、宇宙船への電力や酸素の供給の監視を担当する管制官John Aaronは一躍ヒーローになりました。しかし、もうひとつの「ヒーロー」、IUとLVDCはほとんど注目されませんでした。

嵐の中、ロケットを打ち上げてはならない、これが困難な状況の中で得た教訓でした。排気プルームのイオン化されたガスが、ロケットと発射台の間に電気の流れを形成し、落雷を招いたのです。

Saturn Launch Vehicle Digital Computer (LVDC)

LVDCの基本的な機能部分は、クロック発振器や計時装置、演算論理装置、プログラムカウンタ、プログラムRAMなど、今日のコンピュータエンジニアにとってもなじみ深いものです。現在、これらの機能部分はすべて、マイクロプロセッサと呼ばれるカプセル化されたシリコンのチップ1枚に搭載されています。LVDCのバイタル統計データを現代のマイクロチップと比較してみましょう。

  • クロック周波数: 2.048MHz
  • 語長: 13ビット + 1パリティビット
  • バスシステム: シリアル
  • 命令あたりのクロックサイクル: 168 (乗算/除算の場合はそれ以上)
  • 処理速度: 12,190命令/秒
  • メモリ: 磁気コア、最大32,000語、1ビットのエラー補正機能付きデュプレックス

2は、前面カバーを外したLVDCの写真です。内部には多数の小さなプラグインモジュールがあり、そのそれぞれは背中合わせに取り付けられた2枚のプリント基板(PCB)で構成されています。各PCBには、現代の集積回路のように見えるものが最大で35個含まれています。実際それら自体が、セラミックカバーの下にダイオードやトランジスタチップ、レジスタを複数備えた小さなPCBであり、例えば、4入力論理NORゲートを持つように接続されています。それらは、現代の14ピンの表面実装(SMT)ICのように見えます。ただし、ピンの端が小さなPCBの端にあるパッドをつかむクランプの形に作られている点で異なっています。これにより、ピンを残して横にスライドさせるだけで取り除くことができるのです。すばやく交換ができるこのシステムは、手作業でハンダ付けされたこれら小さなモジュールの多くが、初期テストで動作しなかったか、又はその後に行われたストレステストにパスしなかったため、必要になったと考えられます。その後、フライトボードはエポキシで覆われ、すべての部品が固定されました。LVDCについては、まだ詳細な資料がほとんどなく、この情報はこちらのサイトの最近の「teardown」(分解、解体)記事を参考にしたものです。

ここが複雑なところなのですが、LVDCは実際には並行に動作する3つの同一プロセッサを備え、三重モジュール冗長構成(TMR)となっています。しかし、障害のあるコンポーネントを特定し、その影響を抑える手段がない限り、三重の電気回路にはあまり意味がありません。LVDCは多数決ロジック(3)を使用して、各プロセッサの機能部分間のシリアルバスを監視します。

各データビットは、多数決ロジックを通過して次のセクションに進みます。通常、各多数決ロジックへの入力は3つとも同じ、つまり000か111になり、したがって出力は000か111になります。しかし、1つのビットが反転され、入力が例えば100や110となると、真理値表から、多数決によって000や111が出力されることがわかります。恒久的あるいは一時的エラーは自動的に検出され、修正されます。しかしこの方式は、飛行前検査を実施する際に欠陥を発見できないという欠点も持っています。これは、図示のように3-input Exclusive-OR gate (3入力排他的ORゲート)を追加することによって回避できます。EXORゲートの出力は、すべての入力が同じ(000や111)場合に0になります。それ以外の場合は、論理1を出力し、エラーを通知します。エラー検出信号は、打ち上げ直前のチェックを行う際にのみモニターされ、問題のあるハードウェアでミッションが開始されることを回避します。

メモリは2つの冗長ブロックに分割できます(二重モード)。各ブロックは同じデータあるいはプログラムコードを保持しています。1つのブロックからワードが読み出され、パリティビットがチェックされます。エラーが示された場合、対応するワードが他のブロックから読み込まれ、最初のブロックに書き戻されてエラーを修正します。

決して容易な仕事ではありません

LVDCのプログラムコードは、複雑なだけでなく、非常に強力で危険なシステムの運用を制御していました。第1段機体ロケットの5つの巨大エンジンは、53,000馬力の5基のパワーポンプから毎秒2.5メートルトンの割合で供給される燃料を燃やし、60ギガワットものパワーを生み出していました。1つの小さなプログラミングエラーがあるだけで、Neil Armstrongは、月に着陸することはもちろんのこと、打ち上げさえ乗り切ることさえできませんでした。次にプログラムコードをデバッグする際には、この点についてぜひ考えてみてください。

追記

冗長コンポーネントを使用した高信頼性コンピューティングは、1960年代以降軍事及び商業航空機設計の重要な部分を占めていました。今日では、最新運転者支援システム(ADAS)を備えた自動車、そしてもちろん完全自律運転が可能な自動車の操作上の安全を保つ上で非常に重要です。ますます多くの設計者が、複数の「ソフト」プロセッサコアを使用してFPGAをプログラミングするようになっています。さまざまなツールが登場し、FPGAレイアウトをスキャンしたり、多数決ロジックを挿入する場所を解析して希望するレベルの信頼性を達成したりすることができるようになっています。LVDCの遺産が、あなたの車のシステムエラーを防ぎ、事故の発生を食い止めるかもしれません。サターンのミッションは短いものでした。しかし、TMRのおかげで、LVDCは250時間の作業で成功率99.6%を達成できたのです。未来の自動車はそれよりもはるかに良いものにしていく必要があります。

行き詰ってしまった場合は、是非Twitterで私の投稿をフォローしてください。新しいエレクトロニクスと関連技術、ロボットについて目星をつけた投稿のリツイート、宇宙探査などの興味深い記事にリンクしています。

Engineer, PhD, lecturer, freelance technical writer, blogger & tweeter interested in robots, AI, planetary explorers and all things electronic. STEM ambassador. Designed, built and programmed my first microcomputer in 1976. Still learning, still building, still coding today.

4 Feb 2019, 5:51