パスワードを忘れた? アカウント作成
12131223 story
バグ

4月の青函トンネル列車発煙事故、メーカーも想定していなかったスイッチ操作が原因 79

ストーリー by hylom
想定外は必ず起こる 部門より

青函トンネルで今年4月、走行中の列車から煙が発生する事故が起きていたが、JR北海道がこの事故の原因について、「不適切なスイッチ操作」が原因であったと発表した(毎日新聞)。

「前進指令スイッチ」を切った状態で走行後、再びこのスイッチを入れて走行したところ、モーターへの電流を制御する装置が進行方向を実際とは逆に認識。そのためモーターの回転数を検知する装置が故障したと判断され、モーターに「基準の約1.4倍」という電流が流れてモーターが過熱したという。

このようなスイッチ操作は想定されていなかったという。また、今後は回転数を検知する装置が故障したと判断された場合、モーターへの電流を遮断するよう改修するとのこと。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 安全設計 (スコア:5, すばらしい洞察)

    by Anonymous Coward on 2015年06月12日 7時17分 (#2829434)

    UIの基本は「やっちゃいけないことはできてはいけない」だからね。「不適切なスイッチ操作」は「不適切なスイッチ設計」ってことだ。

    • by Anonymous Coward on 2015年06月12日 8時42分 (#2829460)

      > UIの基本は「やっちゃいけないことはできてはいけない」だからね。

      ほかのやりかたとしては、ハードウェア的にできるだけシンプルに作っておいて、「こういう仕組みです。だから、当然こんなことをするとこうなります。ほか、どうすればどうなるかは自分で考えてね。以上。」というやりかたもあります。たとえば自転車だとか脚立とかはさみとかペンなどのシンプルな道具のUIは(UIと呼んでいいなら)、そういう方針だと言えるでしょう。

      上記のシンプルUIだとヒューマンエラーを防げないから、列車など多数の人命がかかわる部分では、仕組みを複雑にしてでも「やっちゃいけなことはできてはいけない」を実現しようとするけど、そうすると、運転車は仕組みを理解できなくなるから、マニュアル通りにやるしかなくなるよね。そうすると、マニュアルが膨大になるし、マニュアルの該当項目を忘れたとたん、何もできなくなります。コンピュータを使ったソフトウェア制御って、なんでも自由に作れて安全策もいくらでも作れるんだけど、仕組みに関してはブラックボックスになってしまって、想定外がひとつでもあるとそれが穴になってしまう危険性もありますね。

      親コメント
      • Re:安全設計 (スコア:2, すばらしい洞察)

        by Anonymous Coward on 2015年06月12日 10時08分 (#2829509)

        つまり、結果だけ見てる側からすると「その程度想定してテストおけよ」というものだけど、
        作った側から見たら膨大な制御機構やテストの中に埋もれて見えなくなってた項目だった
        かもしれないってわけだ。

        実際製造業はどこもカツカツだってのは、ハードソフト限らずよく聞く話。
        改善は求めたいが一概に「クソだろ」と言い切ってしまうのは、
        無知と傲慢ゆえの行動ととれなくもないわけだな…自戒自戒っと。

        親コメント
    • Re:安全設計 (スコア:1, 参考になる)

      by Anonymous Coward on 2015年06月12日 9時50分 (#2829495)

      > UIの基本は「やっちゃいけないことはできてはいけない」だからね
      そんな基本なんかねえよ!
      そんな単純なルールを定義できるぐらいなら、誰もUIで悩まないよ!

      と、つい怒鳴ってしまったが実際のところ、ユーザーが求めるのは
      まさにそういう誤操作すると危険だっていう重大(=便利)な機能なんだよコレが。

      そもそもね、「やっちゃいけない」なんて誰も定義できないんだよ。
      例えば院内処方で禁忌薬剤……つまり特定患者に出してはいけない薬ってのがあるんだけど
      システムができることはせいぜい、警告を派手に出すことだけなんだ。
      危険だと判ってて、それでも出したいっていうユーザー(Dr.)の意思を妨げることは
      許されないのさ、法律的に。

      つまり言いたいのは、
      「やって良い」「悪い」を判断するのはユーザーなの。
      システムは「結果の重要性」を判断して強調するなり蓋をかぶせるなりするところまで。

      今回の件で言えば、UIは何も悪くない。
      処理の内部での、判断をする条件取得のところのバグというだけだよ。

      UI設計に携わる者として、よく出来たUIの素晴らしさを知る人達は
      ありがたい存在ではあるが、一方で過剰な期待を注ぎ込まれすぎなのにも
      困ったものだといつも感じている。

      変な話だけどUIって「人間に一番近い場所」であるがゆえに、
      複雑で、ままならないものなんだ。
      シンプルに「~することってUIの基本だよねー」なんて「原則」が
      一番言いにくいものなんだよ。
      それは知っておいてほしい。

      親コメント
    • by Anonymous Coward

      今までに一度でもフールプルーフを破ったことがある者ほど大きな石を投げなさい

      • by Anonymous Coward

        今までに、試験ですべて満点を取ったものだけが石を投げなさい。

  • by miyuri (33181) on 2015年06月12日 7時27分 (#2829439) 日記

    マトモに説明を行えない程度のシステムなのだから、糞なのは容易に想像できる。

    • by Anonymous Coward

      産経にはこうある。
      ----------
      車両を前進モードにする「前進指令スイッチ」を後進中に操作すると、モーターへの過電流を制御できなくなる危険を同社が想定せず、操作ルールもなかった。
      ----------

      んー、想定していないというか、普通にダメだろ。

      • by miyuri (33181) on 2015年06月12日 8時42分 (#2829461) 日記

        高いレベルでの説明だと、ある意味分かり易いのだけど、ソレはソレ。

        http://mainichi.jp/select/news/20150610k0000m040097000c.html [mainichi.jp]

        、故障と誤認識。基準の約1.4倍の電流が流れ、

        http://dd.hokkaido-np.co.jp/news/society/society/1-0143741.html [hokkaido-np.co.jp]

        、車輪が逆回転していると誤認。モーターの回転数を認識できなくなり、通常の約1・4倍の電気が流れた。

        書いてある事が違うわイミフメだわで、酷杉る。

        親コメント
        • by Anonymous Coward

          モータは過電流検出で保護回路が働き、電流断になる...という想定だったっぽい。
          が、そこまで電流流れなかった...ってことで。

          http://www.jrhokkaido.co.jp/press/2015/150609-1.pdf [jrhokkaido.co.jp]

          いや、なんだこれレベルの話ではあるんだけど。

          • by miyuri (33181) on 2015年06月12日 13時03分 (#2829637) 日記

            ありがとう。
            記事が糞なだけで、システムには特に問題は無いと判断を改める事に。

            親コメント
          • by Anonymous Coward

            安全装置の作動条件を満たす事で停止させるシステムのようにも読める説明ですが、
            それは多分通常の機械的故障時の安全を確保するための保護機能だと思います。
            今回の場合モータが壊れたわけではないので、過電流という現象自体は同一でもヒューズが飛ぶほどではなかったということかと思います。

            今回のことでパルスセンサ(回転数センサ)周りの故障で停止する機能は付けるようですが、
            モータ周りの温度異常を検知して停止する機能もつけないと漏電の類で発熱した時また事故ります。

      • by Anonymous Coward

        自動車で言うと、バック中にギアを「前進」に入れたってこと?

        自動車学校で、そんなことやっちゃいけないって教わったっけなあ。

        • 逆の操作だけど、最近の車は対応しているらしい。

          もちろん、オートマだけど、ある程度のスピード(以上で)で、前進中にバックに入れても、普通に走るとか。

          実際、何を思ったかやったことがある。
          しばらく「ピンポン」言わせながら走行していて、突然で気づいて、真っ青になった。
          でも、車は普通に走っていた。

          ※お試しの場合は、「自己責任」で
          --
          ¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
          親コメント
          • by Anonymous Coward on 2015年06月12日 11時27分 (#2829557)

            マツダの某H3年型コンパクトカーでやってしまったことがある。疲れていた。
            40キロで走行中に、急にNに入れたくなったが、ボタン押して操作したのでRに入ってしまった。
            ピー、ピー、とバック音がするし、車体下部からカラカラカラと音がするし(トルコンが助けてくれてたんやね)、
            あれれ、と思ってブレーキ踏んだら、20キロくらいまで減速したところで、急激なエンジンブレーキ。
            完全に止まり、そしてエンスト。歯車が飛んだかと思った。

            親コメント
          • by Canalian (19238) on 2015年06月13日 1時01分 (#2830050)

            バックに入れてしまい、そのまま「完全に」静止した、という車が
            近所のファミレスの駐車場を塞いでいたことがある。

            某カーシェアのラベルが張られていたのが印象的だった。
            運転そのものに慣れていなかったのか。

            親コメント
          • by Anonymous Coward

            シフト系がフライバイワイヤになっていて
            ポカ避けロジックが入っているんだねきっと。
            シフトじゃないけど自分の車は走行中にサイド引くと「ポーン」って鳴ったよ
            どうしてサイド引くかというとFRだから
            #次の車はHVFFなんでちょっと悲しいのでAC

            • by Anonymous Coward

              最近の車は飛ぶのか…

              • by Anonymous Coward

                まだワイヤが必要なようですが…

              • by Anonymous Coward

                「おう、ワイやワイ」

            • by Anonymous Coward

              オートマチック車のセレクタはずーっと昔から単なるスイッチでバイワイヤです

              …ブレーキ踏まないでバックに入れられるって結構古い車なのかな

          • by Anonymous Coward

            それはトルコンのおかげじゃね?

            今回のについては、キャリブレーションの問題かとオモタ。

          • by Anonymous Coward

            他人に危害が及ぶかもしれない行為を「自己責任で」と言われても……

            #まあ実際やっちゃう人はいないとは思いますが

        • by Anonymous Coward

          でも「やればできる」んだよねえ
          現代の工学ではそれは「やろうとしてもできない」ようになってないといけないみたい

        • by Anonymous Coward

          いえ、車両を牽引して前進中にバックギアに入れた的な感じかと思います。
          連結した車両で1両だけバックに入れれるってのがあかん。

  • by ymasa (31598) on 2015年06月12日 9時33分 (#2829482) 日記

    想定していない操作のテストはしていない。

    あとテストすると壊れるテストもしない。

    • by Anonymous Coward

      そらまあ、本当に壊れるテストはなかなかできんわ。
      故障時にシステム遮断とか。
      そういうのはシステムに嘘の故障信号を送ってテストするわけだが、
      あくまでシミュレーションでしかない。

      市販用の自動車だと、実際にぶち壊して確認するわけだが、
      よほど大量に作るものでないとそんなことできんし、あのテストだって「どんな事故でも」ちゃんと動く確認ができてるわけではないし。

  • > モーターの回転数を検知する装置が故障したと判断され、モーターに「基準の約1.4倍」という電流が流れてモーターが過熱した

    これを読むかぎりでは、
    スイッチの操作が想定外ということよりも、回転数の検知装置が故障した場合に被害が拡大しそうな側に倒れるっつー、設計がマズイと思うのですが。
    もし実際に検知装置が故障していても、同じ事になったってことですよね。

    • by Anonymous Coward on 2015年06月12日 11時09分 (#2829547)

      この車両はかご形三相誘導電動機 [wikipedia.org]を可変電圧可変周波数制御 [wikipedia.org]で使っているので、
      モータの回転数、というか回転位置(位相)を認識して、その位相と速度指定に対応するようにコイルに電流を流すようになっています。
      パルスセンサ(回転数を検知する装置)が全損したらモータに流す交流電流の位相を決定できなくなるので本来「回せない」筈なんですが、
      この制御装置はなぜか妙ちくりんな位相を基準に電流を流して回したつもりになれるようです。なんでこうなったし・・・・

      位相次第で流れる電流が変わるはずなので、トチ狂った結果平均で通常の1.4倍になったということだと思います。

      なお過電流検知装置は恐らく短絡に近い故障の検知を目的としているのでこの状態で検知しなかったのはある意味想定どおりの筈。
      必要なのは恐らく逆走設定車両の検知と、センサ全損検知と、温度異常検知の3つ。でもセンサ全損検知しか対策しないとのこと。

      親コメント
    • by Anonymous Coward on 2015年06月12日 8時57分 (#2829466)

      スイッチの操作なんて何されてもそれが原因で事故や故障につながらないようにするのが想定であるべきでしょ。

      その上で
      「電流制御装置が進行方向を逆に認識」 おかしい
      「モーター回転数検知装置の故障と判断」 おかしい
      「モーターに基準の1.4倍の電流が流れる」 おかしい
      もう意味不明。説明が下手なんだろうけど、全部そのままに受け取ると4重に設計ミスしたってことになる。

      親コメント
      • by Anonymous Coward on 2015年06月12日 10時48分 (#2829536)

        >「電流制御装置が進行方向を逆に認識」 おかしい
        前進指令スイッチというのは進行方向指定スイッチのようです。
        1編成中で逆を向いてる車両が存在できるという事がおかしいのであって、逆に認識することまではOKです。

        >「モーター回転数検知装置の故障と判断」 おかしい
        無負荷状態の時に(坂などで)後ろに下がるのはともかく、
        力行中に加えた電力と逆に回転してるセンサがいたら故障してると判断すること自体はそこまで変じゃないです。
        全センサが一致して逆転してたら逆転を疑うのも有りですが、何れにせよ故障ないし異常信号を出すべき状態です。
        今回の場合多分周りの車両との多数決に負けて逆回転してた期間の話でしょうねコレは。
        プレスリリースのフローチャートだとスイッチ復帰後に起きた事象ですが、
        たぶんスイッチ復帰前のエラーのリセットが掛からなかったパターンですね。

        で、スイッチを戻した際に故障フラグがそのまんま残ったと。いや故障表示出せよ。なんで黙るんだよ。
        位相も制御する制御装置が位相の分からない誘導電動機に電流流すなよ。何基準に位相決めて回してんだよ。

        親コメント
      • by Anonymous Coward

        さて、民間航空機の開発やってる方々はこの騒動を見てどう思われるだろうか?
        腹をかかえて笑っているだろうか?
        それとも、鉄道屋はデザイン・レビューや審査でギリギリ締め上げられずにノホホンと仕事が出来てうらやましいと思っているのだろうか?
        #鉄道車両・鉄道システムには型式証明とかの制度は無いの?

  • by Anonymous Coward on 2015年06月12日 7時47分 (#2829443)

    サイドブレーキをかけたまま、アクセルを踏んで前進しつづけた的なものを連想した。

    まあ良くないっちゃ良くない設計ではある。

  • by Anonymous Coward on 2015年06月12日 8時10分 (#2829448)

    「前進指令スイッチ」を切った状態で走行

    逆進したということか?「走行」だけでは判断できないが…

    後、再びこのスイッチを入れて走行したところ

    ますますわからん。入れている状態と入れていない状態の違いはなんなのだ?

    モーターへの電流を制御する装置が進行方向を実際とは逆に認識。

    進行方向に応じてモーターへの電流を制御していたのか。

    そのためモーターの回転数を検知する装置が故障したと判断され

    はあ?「そのため」の理由がさっぱりわからん。この装置は「実際」と「想定の進行方向」を別々に認識しているのか?

    • 「何ィ、進行方向が逆だとォ? そいつァ検知機の故障だ! 構わん、電流、増やせェィ!」

      親コメント
      • by Anonymous Coward

        モーターの回転数は前進方向を正、後退方向を負に設定してあるとする。
        前進司令スイッチを押す → モータに電流が流れる → 後ろへ加速 → 回転数が下がる → もっと電流を流す → さらに回転数が下がる
        以下繰り返し……、とか?

    • by Anonymous Coward on 2015年06月12日 11時39分 (#2829568)

      6両編成の2両目5号車(この時点でややこしい)には簡易運転台が有り、この運転台は進行方向と同じ向きの運転台です。
      この運転台の前進指令スイッチがOFFという事は、5号車は一両だけ逆方向に進む設定だったということです。
      # 1編成中での進行方向設定が矛盾してることを警告するシステムは無いのでしょうね。
      で、動力掛かってる状態なら普通は逆回転なんてしないのに周りの車両に押し負けて逆回転したから故障判定。
      多分スイッチOFFにしてる間は1両だけで逆走しようと頑張ってた筈。しかし5対1の数の暴力に負けた。

      > 進行方向に応じてモーターへの電流を制御していたのか。
      正転・逆転できるモータは普通、進行方向(回転方向)に応じて電流を制御します。
      特に今回のは誘導モータなので出力は交流であり、その電流の変化タイミングをモータの回転に同期させています。
      パルスセンサ(回転数を検知する装置)は超大事。
      無いとモーター回せないくらい。無視できるのは始動時のほんとに最初だけ。
      (ならなんでずっと電流流してたんだよ!なんだこのクソ設計!)

      > はあ?「そのため」の理由がさっぱりわからん。
      多分モータに走行方向とは逆の動力を加えてて、にも関わらず走行方向に回転したから制御装置にとっては逆回転。
      センサは4つ装備するくらいには故障前提の装置だから、動力加えて変な信号きたらサクッと故障判定だす設計だったんでしょう。

      プレスリリース(PDF) [jrhokkaido.co.jp]が一番正確ぽいけどどうにも分かりにくい…
      フローチャートだと前進指令スイッチを戻した後に故障フラグが立ってるけど、
      それだと故障フラグが立つ理由が成立しないし多分故障フラグは前進指令スイッチが切れている間に立ってる筈。
      もしかするとスイッチを戻した時にこれ以外の故障判定が解除されてそれが半端にモータが回る原因になったのかなぁ…

      親コメント
      • この運転台の前進指令スイッチがOFFという事は、5号車は一両だけ逆方向に進む設定だったということです。

        逆進を「切」と表現することはあまりないんじゃないでしょうか。
        プレスリリースに

        指導員(運転士)が、見習い運転士に対し、「前進指令スイッチ」が切れていたときの運転席の表示状況を教えるため

        とあることからいっても「切」は逆進ではなくニュートラルの可能性が高いと思います。

        でもって#2829536 [it.srad.jp]に書かれているように回転数の取得はモーターの位相を検出によって行っていると思われます。
        そして位相の検出であればある程度回転が高速になると逆回転しているように見えることは考えられます。
        でも現実には静止状態からいきなり高速回転とか回転中に低速→静止を経由せずに突然逆回転することはないため、通常の運用であれば低速時に回転方向を確定させておくことで誤検出は防げます。
        実用上は位相の検出とは別にわざわざ回転方向を検出する仕組みを用意しなくていいということになります。

        ところが今回のケースでは走行中に前進指令スイッチを入れたため、センサーにとっては「静止状態からいきなり高速回転」の状況が発生し、回転方向を勘違いしてしまった。
        (指令スイッチOFFではセンサーもOFFになっているという仮定)

        特に詳しいわけではなくプレスリリースやここに書かれたコメントからの推測ですが、こういうシナリオならありえそうな気はします。

        --
        うじゃうじゃ
        親コメント
  • by Anonymous Coward on 2015年06月12日 8時49分 (#2829464)

    想定していない操作をやらかしたものあれだが、
    そもそもハードウェアが拙いだろこれ。

    東京で走ってる電車で、こういうヒューマンエラーでいちいち停まってたら
    それこそ数万人の足に影響だわな。
    絶対にありえない。

    北海道にはまともな電車メーカー無いの?東京の技術分けてやったらよくね?

  • by Anonymous Coward on 2015年06月12日 10時33分 (#2829523)

    http://www.jrhokkaido.co.jp/press/2015/150609-1.pdf [jrhokkaido.co.jp]
    なんで毎日の記事なんかだけにリンク貼るの?
    プレスリリースがきちんとあるのに。

    • by Anonymous Coward

      ここま毎日・朝日新聞が好きな人が多いってことですよ。

typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...