オルタナティブ・ブログ > 一般システムエンジニアの刻苦勉励 >

身の周りのおもしろおかしい事を探す日々。ITを中心に。

ジェットコースターの事故は防止できたか

»

大阪のエキスポランドで痛ましい事故が起きたことは
ニュースでご存知の方が多いことと思います。

今回の事故で犠牲になられた方々のご冥福と、
怪我をなさった方々の一日も早い回復をお祈り申し上げます。

私は大学時代を関西で過ごしました。
エキスポランドには入園したことがないのですが
この目で見た万博記念公園・太陽の塔・大阪モノレールの姿は
思い描くことができます。事故を聞いて大変驚きました。
ジェットコースターは、生活に必要不可欠なものではありません。
自動車による交通事故や、鉄道事故などとは
一線を画して考えるべき問題であるでしょう。
自動車は人を害することもありますが、病人を運ぶのもまた自動車です。
ジェットコースターは確かに楽しいですが、無くて困るものではありません。
それを敢えて提供するのであれば、自動車や鉄道をはるかに上回る
安全度で提供するということが使命ではないでしょうか。

鉄道事故といえばJR福知山線脱線事故も私にとって
つらいものでした。脱線した車両の終点は同志社前駅と言います。
私が1人暮らしをしていた学生マンションはそこが最寄駅で
徒歩5分の場所に位置します。学生マンションの裏100メートルのところを
JRの線路が通っており、よく自転車で踏み切り待ちをしました。

あの事故では後輩にあたる同志社大学の学生が多数犠牲になりました。
幸いにも知り合いに被害者が出なかったもののとても落ち込みました。
そしてまた私の知る場所、思い出のある場所で人命が失われる事故があり、
何ともいえない気持ちです。

 

システム開発の担い手を「システムエンジニア」というとおり、
システム開発もエンジニアリングの仲間です。
そういった現場でよく言われることが

  • フォールト・アボイダンス
  • フォールト・トレラント
  • フールプルーフ
  • フェールソフト
  • フェールセーフ

などの用語です。これらは情報処理技術者試験でも頻出する知識ですし、
実際にお客様にシステムを提供する場合にも
もちろん忘れてはならない概念です。
(それぞれの定義・用語解説は割愛)

私がエキスポランドの事故を聞いて思うことは、
フェールセーフという考え方は実施されていたのか?ということです。

ジェットコースターのようなものは、いざ事故が起きれば
間違いなく人間に危害が及ぶ乗り物です。
そのため、遊園地側は徹底的な安全管理を行い、
100点満点のメンテナンスをしなくてはなりません。
このように、故障をゼロにするという考え方が
フォールト・アボイダンスです。

安全とは少し観点が変わりますが、遊園地は何日も前から
予定を立てて楽しみにして訪れる人も少なくありません。
そのような場合に「本日整備不良発見のため、本遊具は運転中止」
というものがあるとガッカリしてしまいます。
同じ遊具を複数系統用意して、ある系統が停止しても
全体が運転中止とならない仕組がフォールト・トレランスです。
注意する点は、設計レベルの不具合があった場合は
判で押したように現象が波及しますので、
同じものをいくつ保有していようがサービスを停止する点です。
現実世界でも事故と同型である「風神雷神」タイプのジェットコースターは
今のところ異常がなくても運転中止にしているところが多いかと思います。

奇しくも同日に福井県でもジェットコースターの事故が起きました。
軌道上に緊急停止中のコースターがあることを知らずに
別の係員が次のコースターを発進させたと報道されています。
このような場合に、エラーが発生して発進させないのが
フールプルーフという考え方です。
この考え方のポイントは、機械で予測可能な事故は
機械任せで防止しようということです。
JR福知山線脱線事故では、停止信号を無視した列車を止めるための
ATS装置が設置されていました。しかし制限速度を超えた列車を
止める機能が設置されていませんでした。
もしそれが設置されていたとしたら、結果は違ったかもしれません。
一方で、機械の判断と人間の判断が衝突してより悲惨な事故に至るという
可能性も忘れてはなりません。
福知山線の例で言えば、ATS装置の設計を誤ると
「強いブレーキを使うと危険な速度粋でも機械の判断によりブレーキしてしまう」
という危険な設計になるという可能性もあります。

フェールソフトという考え方は、システム上は実現し得るのですが
ジェットコースターではほとんどあり得ないと思われます。
こちらは問題が発生したときに本来の機能よりも控えめに
運転することです。車軸にヒビが見つかったために
減速運転を行う、ということは無いでしょう。

今回の事故では車軸が折れた事が原因と報道されています。
車軸が折れてしまったけれども、別の事象により
それを「事故に至らないように食い止める」ことができるとしたら。
それがフェールセーフという考え方です。

例えば人間には鎖骨という骨があります。
鎖骨は折れやすくできているという話を聞いたことがあります。
(医学的に正しい考え方かどうかは保障できません)

無理な姿勢から地面に手を突いた場合、
鎖骨がもっと太く強固だったとしたら、衝撃により肩の関節や首の骨、
肋骨や、肋骨に守られる肺などを損傷するかもしれない、というものです。
鎖骨は折れることで衝撃を逃がし、他のものを守っているらしいです。
これは、長期にわたる進化の過程により、転ぶということが回避不能な
事象であるためにそれに備える機構が備わったということに他なりません。

確かにジェットコースターの車軸は考えうる限りのメンテナンスをすれば
折れることは無いのかもしれません。しかしもし折れた後のことを想像すると、
その被害が甚大であることは想像に難くありません。
メンテナンスを完璧にやるだけではなくて、その他の系統の対応を
考えておくべきと思います。
鎖骨の例で言えば、転ばない方法だけを備えるのでなく、
転ぶ場合には安全に転ぶという機能を備えることになります。
(鎖骨を折れやすくする、尻の脂肪を厚くする、思考でなく反射で対応するetc...)

鎖骨のような考え方を取り入れるのであれば、あえて車軸のど真ん中に
構造的に弱い部分を作り出すことにより、折れる場合はまずそこが
折れるようにするということも1つのアイデアかと思います。(実効性は別)
そうすれば今回の事件のように片側に脱落するという可能性が減るかもしれません。
同じように、車軸が折れたら必ず両輪とも脱落するというのも1つのアイデアかと思います。

それが難しく、ジェットコースターが傾いて脱線しやすい性質を回避できないのであれば、
フェンスの構造を柔らかいものにするとか、オープンカーのシートの後ろにつける
金属製のパイプのようなものを取り付けることで頭部がフェンスに衝突しないようにする、
ということも効果があったかもしれません。

また、エレベータに習うこともできそうです。エレベータはワイヤーが切れたら
落下事故が起きます。ワイヤーが切れてしまった場合には
機械仕掛けで鉄の爪が左右に張り出して壁を掴み、ブレーキになるそうです。
更にこれらはセンサやモータにより動作させているものではなく、
普段はワイヤーの張力によって爪を押さえ込まれているために、
ワイヤーが切れると必然的に爪が飛び出す、という仕組みだそうです。
そもそもエレベータでは定員重量の何倍もの重量に耐えうるワイヤーが、
更に複数セット用意されていますので、ワイヤーがすべて切れる事故は
発生しにくい仕組みです。(六本木ヒルズでも事故には至りませんでした)
「もし切れたら?」という想定に対する結果が
「カゴが下まで落ちる」という恐ろしい事象ですので
ワイヤーのメンテナンスだけでなく、万一の系統が用意されているものです。
そのように考えると、「車軸が折れたらどうしようもない」という設計
がなされていたとするならば、大きな問題であると言えます。

 

電車運行、原子力、産業機械など、様々な分野で常識のように
上のような障害対応策が実施されています。それらのものは
高度に管理されて当然と言えます。ハードもソフトも万全が尽くされます。

一般的なシステムでも定期的な保守は行いますが、
万一障害が発生した場合には「安全に落ちる」ように設計がされます。
また、「暴走」が発生したとしてもログや定期バックアップなど
補助的な仕組みによって被害を最小限に食い止める設計が
なされることが多いです。(当然その費用は増大します。)

エキスポランドの件では現場の状況をテレビや写真で見ただけですので
わかることは少ないのですが、もう少し対策があったのではないかと思います。
ジェットコースターは大量生産する製品と違い、1点ものの製品ですので
生産の現場には特殊な事情があるかと思います。
一般的なメーカーと違ってジェットコースターメーカーに業界団体があって
横のつながりがもたれているかはわかりません。
シュレッダーの指切断事故やシンドラーエレベータの事故では
業界主導でも対策が取られました。今回もそのようにしていただきたいです。
この事件を教訓にして、エキスポランドだけでなく、願わくば全世界で
同じような事故が2度と起きないことを祈ります。

そのためにはインターネットは絶大な威力を発揮するでしょう。
失敗知識データベースの知名度ももう少し上がると良いなと思っています。

そしてエンジニアである我々はこういった事例を対岸の火事とせず、
自分達の身の回りを見直さなくてはなりません。

Comment(0)