アカウント名:
パスワード:
記事によると、> 振幅が実際よりも常に500マイクロメートル大きくなるようになったとのことなので、単位を間違えたというより、四捨五入の桁処理を間違えたって感じじゃないですかね。
想像ですが、mm単位な変数でμm単位の四捨五入するのに、data = int((data*1000.0)+0.5)*0.001;みたいなコードを書くつもりが、data = int((data+0.5)*1000.0)*0.001;ってやっちゃった、とか。
1998年に打ち上げられた米国の火星探査機マーズ・クライメイト・オービターは1999年に火星周回軌道投入の為の軌道修正後に消息不明に・・・。
調査委員会の報告によるとこの失敗の原因は、探査機のあるデータがメートル法で報告されるはずが、ヤード・ポンド法によって報告されていたという、航行上のミスによるものと判明した。これにより、探査機は、軌道進入の際に、予定されていた火星の140-150 km上空の軌道ではなく、57 km上空の軌道に進入した。このような低軌道では探査機は、大気の圧力と摩擦に耐え切れずに破壊されてしまった。
日本に限らずこんな事ってあるんですな。
ちょいと事実誤認があるようですな。
つまり、探査機のハードウェアを製造した側はヤード・ポンド系でデータを送信するように設計してたけど、探査機の管制を行う側はその値をメートルと解釈していた、というのが実情。
要は、お互いに相手が自分と同じ単位系を使っているものと勘違いしていた、という話で、一方的に「メートルで報告すべきところをヤードで報告していた」という話ではありません。
参考:JST失敗知識データベース > 失敗事例 > コミュニケーション不足による火星探査機の炎上 [jst.go.jp]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
今朝聞いた話だと (スコア:2, 興味深い)
小数点以下を切り捨て→四捨五入に仕様変更しようとして、
0.5umを0.5mmにしてしまい、
2.5umが525umになってしまったと。
謎なのはこの間違いをやらかすロジック。
四捨五入がなぜ単位違いになるのか。
単位だけ変えてなぜそのまま加算するのか。
なぜ10倍でなくて1000倍なのか。
どういう間違いをすればこうなるのか、さっぱり予想できない。
う~ん。みすてりぃ。
# 誰かさんは昔うるう年計算の処理間違えたけどな。
## 15年も前の話だ。
Re:今朝聞いた話だと (スコア:3, 興味深い)
記事によると、
> 振幅が実際よりも常に500マイクロメートル大きくなるようになった
とのことなので、単位を間違えたというより、四捨五入の桁処理を間違えたって感じじゃないですかね。
想像ですが、mm単位な変数でμm単位の四捨五入するのに、
data = int((data*1000.0)+0.5)*0.001;
みたいなコードを書くつもりが、
data = int((data+0.5)*1000.0)*0.001;
ってやっちゃった、とか。
単位のミスはNASAでも (スコア:1, 興味深い)
1998年に打ち上げられた米国の火星探査機マーズ・クライメイト・オービターは
1999年に火星周回軌道投入の為の軌道修正後に消息不明に・・・。
調査委員会の報告によるとこの失敗の原因は、探査機のあるデータがメートル法で
報告されるはずが、ヤード・ポンド法によって報告されていたという、
航行上のミスによるものと判明した。これにより、探査機は、軌道進入の際に、
予定されていた火星の140-150 km上空の軌道ではなく、57 km上空の軌道に進入した。
このような低軌道では探査機は、大気の圧力と摩擦に耐え切れずに破壊されてしまった。
日本に限らずこんな事ってあるんですな。
Re: (スコア:0)
ちょいと事実誤認があるようですな。
つまり、探査機のハードウェアを製造した側はヤード・ポンド系でデータを送信するように設計してたけど、探査機の管制を行う側はその値をメートルと解釈していた、というのが実情。
要は、お互いに相手が自分と同じ単位系を使っているものと勘違いしていた、という話で、一方的に「メートルで報告すべきところをヤードで報告していた」という話ではありません。
参考:JST失敗知識データベース > 失敗事例 > コミュニケーション不足による火星探査機の炎上 [jst.go.jp]