【転載】国立天文台・天文ニュース(194)

ソーホーの事故はプログラムのバグから生じた


 太陽観測宇宙天文台ソーホー(SOHO)と連絡がとれなくなった事故については、天文ニュース(188)でお知らせしました。NASAの調査チームは、先日、この事故についての予備報告をまとめました。その中で、この事故は、ソーホーを制御するプログラムの二つのバグで始まり、その事態に対して、地上の制御チームが誤った指令を出したために、決定的になったことを述べています。

 報告書は、しばらく太陽を周回すると太陽電池パネルの向きがうまく太陽に向くようになるので、連絡がとれるようになるかもしれないと述べていました。それを裏書きするうに、8月4日からソーホーとの通信が回復し始めたとの情報が入ってきました。詳しい状況はまだわかりませんが、機能が回復し、ふたたびさまざまなデータがとれるようになることを願っています。

 報告書によると、事故の概要はつぎのようになります。ソーホーは、その姿勢を知り、安定させるために、A,B二つのジャイロスコープを搭載しています。ジャイロスコープは長時間動作するうちに少しづつ指示にずれ(ドリフト)が生じますから、ときどき修正をする必要があります。これは微調整ですから、このときはジャイロBの感度を20倍に上げます。ところが、実行を能率化するためプログラムを書き直しているうちに、感度を元に戻す指令を入れ忘れてしまったのです。これが第一のバグでした。

 ソーホーの姿勢のずれがわかると、ジャイロAはゼロを示し、推進装置は自動的に点火して姿勢を直します。姿勢を直す間、摩耗を防ぐため、ジャイロAは停止させておきます。そのあと、またジャイロAを動かさなければなりませんが、1年前にソーホーに搭載されているプログラムを書き直したときに、この再起動の手順を誤って省いてしまったのです。地上ではこれに気付かず、これが第二のバグになりました。

この結果、6月24日にドリフト修正後、ジャイロBは20倍の出力を示し、一方、ジャイロAは停止していますから、見かけ上ゼロを示しました。この矛盾した状態に地上チームは迷い、ジャイロBが違っていると判断して、これを切ってしまったのです。その結果、停止しているジャイロAは誤ったゼロを出し続け、それによって推進装置は点火されたままになり、ソーホーは回転を続けて、結局制御を失ってしまったのでした。

 どうしてこんなミスが生じたかと、あきれる方もあるかもしれません。もちろん、この種のミスは責められるべきです。しかし、長い、複雑なプログラムで、まったく誤りのないプログラムを書くことはきわめて困難なのです。ソフトウエア技術者は、このソーホーの事故を他山の石としなければなりません。

参照

1998年8月6日         国立天文台・広報普及室


転載: ふくはら なおひと(福原直人) [自己紹介]

[天文ニュース目次] [星の好きな人のための新着情報]