[ Home | Other Topics | Mail ]
Ariane 5 Failure
アリアンロケット5号打ち上げ失敗の原因
アリアンロケット5号が 1996/6/4に打ち上げに失敗、打ち上げ37秒後に自爆しましたが、その原因の解析が Ariane 5 Failure に解説されています。
直接の原因は 64bit float --> 16bit integer変換の Software Overflow Exceptionが原因で慣性誘導 Systemが Downし制御不能に陥ったことでした。
詳しくは元記事を見ていただけば解りますがいくつか興味深い点があります。
-
慣性誘導 Systemは高信頼化のため全く同じ Systemが2系統搭載されており、片系が動作中もう一系統も Hot Stand-by状態にありました。(同じ Dataを入力して処理しているが制御出力だけ捨てている状態)入力 Dataの Overflowが原因のため同じ Dataをもらっている両系とも同時に System Downしてしまった。
慣性誘導系は 72 msec周期という高速で軌道/姿勢のずれを Feed Back制御していましたので、一時的な System Downでも致命的で、回復不能な姿勢のくずれを生じて自爆 Systemが起動しました。
-
慣性誘導 Systemの最大負荷は 80%を目標にしていたため Exceptionを発生する可能性がある部分全てを保護しているわけではなかった。(多分 Exception Handlerを設定したり Exceptionから復帰させたりするのに負荷がかかるからでしょう)その後の調査で7つの変数に関しては Overflow Exception発生の危険があることが解ったが保護されているのは4つだけであった。どれを保護するべきかの指針は設計の段階では明確に示されていなかった。
保護されていない3つの変数は、物理的に限界値があったり、安全のための余裕が大きいためそのままになっていた。
また全ての Exceptionが記録される設計になっていたので単なる Overflowも致命的な Exceptionと同列に扱われてしまった。
-
System Downを引き起こした Softwareは Rocketが発射台上にある時に慣性系の調整を取るための物で、Rocketが発射台を離れた後は用の無い物だが Lift Off後も 40秒間動作させていた。
この Softwareは水平方向の速度を元に調整値を計算するが、軌道の違いでアリアン4号の時は飛行中も無難な値に納まっていた物がアリアン5号では問題を引き起こした。
-
System Downを引き起こした Softwareは打ち上げが直前に中止になった場合 45分程度かかる再調整を行わずに再度打ち上げ手順に入るための物で、打ち上げに適した条件が短い時間であっても打ち上げを可能にするためのものである。
これは 10年以上も前の要件で備えられた物で、実際 1989年の打ち上げでは利用されたが、アリアン5号では打ち上げ手順が違い全く必要の無い物だった。
どんな System(制度 (^^)
)でもそうだが、仮に必要が無くてもずっと問題無く動いてきた物にわざわざ手を入れる様なことは普通行わない。
Rocket制御の様な Mission Critical System(止まると大きな経済的損失をもたらしたり、人命/社会活動を危険にさらしかねない System)というのは特殊な存在と思われるかもしれませんが、工場・電力・水道・ガス・交通・通信等々高信頼の Computer System抜きでは日常生活すらできない状況になっていますので(これらの停止は即社会活動を混乱/麻痺させます)結構身近にあるものなのです。
この Pageは MacOS X + Radio UserLand で作っています。 ![](../../images/radio.png)