移動式クレーン安全シミュレーター
公開中小型移動式クレーンの操作と危険を物理演算で再現し、転倒や荷振れを安全に体感できる教育用3Dシミュレーター
公開日 ・ 最終更新日

対象ユーザー
- 建設現場の安全管理や安全教育に関わる人
- 3Dシミュレーションや物理演算に関心がある開発者
移動式クレーン安全シミュレーターは、小型移動式クレーンの操作と危険をブラウザ上で体感できる教育用の3D Webアプリです。転倒、ワイヤー断線、荷暴れという労働災害を物理演算で再現し、仮想の工事現場で安全に体験しながら学べます。インストールは不要で、画面上の名称は「安全体感シミュレーター」です。
解決する課題
クレーンの安全教育には、「やってはいけない操作の結末」を見せられないという制約があります。転倒もワイヤーの破断も、実機で再現するわけにはいきません。座学で「過負荷は転倒につながる」と知ることはできても、レバーを倒してから車体が傾き始めるまでの時間や、警告が出てから手を戻せる猶予の短さは、言葉からは伝わりません。
本アプリは、この結末の部分を仮想の現場で引き受けます。正しい荷降ろし手順の練習に加えて、過負荷での転倒、老朽ワイヤーの破断、急旋回による荷暴れという事故そのものをシナリオとして用意し、何度でも安全にやり直せるようにしました。
主な機能
操作系は旋回、起伏、伸縮、巻上げの4系統のレバーです。レバー操作は油圧ポンプの流量配分としてモデル化されていて、複数のレバーを同時に倒すと流量を取り合って各動作が遅くなり、重い荷を吊るほど巻上げも遅くなります。
シナリオは5種類あります。「荷降ろし作業」と「ビル屋上への荷揚げ」で手順を練習し、「転倒」「ワイヤー断」「荷暴れ」で事故の結末を体験します。転倒シナリオではアウトリガー最小張り出しのまま過負荷防止装置(LMI)を解除して2.8tのコンクリートブロックを吊り、ワイヤー断シナリオでは強度が35%まで落ちた老朽ワイヤーの1本掛けで同じ荷を巻き上げます。
初めての人が迷わないための誘導も入れています。玉掛け合図者が現在のクレーン状態から移動ルートを自動計画し、標準の手合図を3Dモデルの動きと画面表示で先読みして指示します。地上の操作員の目線に切り替える一人称カメラがあり、UIは日英を切り替えられます。
開発の背景
正しい手順を教える教材はすでにあります。足りないのは、誤った操作の先を自分の目で見る機会でした。実機で見せるわけにはいかず、事故映像は他人の操作の結果でしかありません。自分のレバー操作が転倒や断線につながる過程を安全に体験できるのは物理演算を積んだシミュレーターの持ち味だと考え、事故シナリオを教材の主役に据えました。
技術と設計
Next.js 16とReact 19、TypeScriptを基盤に、UIをTailwind CSS 4で構成し、Vercelで公開しています。3D描画はThree.js、物理演算はRapier3D(WASMで動く剛体物理エンジン)です。
荷振れは、振り子の数式を直接解いてはいません。ブーム先端をキネマティックな剛体として毎フレーム動かし、そこからフックまでを「引張のみ」に働く片側性のバネダンパーで結んでいます。ロープは押す力を持たないため、たるめば力はゼロになり、張れば伸びに応じた張力が生じます。荷振れも地切りの衝撃も、この1本のケーブルから創発する挙動です。張力を自前で計算しているので、その値をワイヤー断の判定や転倒判定、画面の張力計にそのまま使えます。
転倒は、アウトリガーの支持多角形の各辺について、外側へ倒すモーメントと内側に留めるモーメントを集計し、安定余裕として評価します。余裕を失った辺からクレーンごと倒れ、張り出しを最大にすると支持多角形が広がって余裕が増えるという関係が、計算の構造からそのまま出てきます。ワイヤー断は、掛け数あたりの張力が破断荷重に状態係数(老朽化で低下)を掛けた閾値を超えると起きますが、即断ではなく1.5秒の保持時間を設けてあり、警告表示を見てレバーを戻せば断線を回避できます。
荷振れの表現は、当初はThree.js上で振り子運動と減衰係数による実装を検討していました。開発記事「Three.jsで移動式クレーンの荷振れを表現する方法」はその初期の検討記録で、現在の実装は上記のとおりRapier3Dベースに置き換えています。
物理コアはRapierにもブラウザAPIにも依存しない純粋関数として切り出してあり、ケーブル張力、転倒余裕、巻上げ、合図者のルート計画などをJestの単体テストで検証しています。
現在の状態と既知の課題
現在は正式公開(active)として運用しています。既定の機体は2tクラスの積載形クレーン(3段ブーム)で、シナリオもこの機体を前提に調整しています。
物理は教育目的の簡略化を含みます。ロープは1本のバネダンパーによる近似で、実ワイヤーの曲げやよじれは扱わず、機体の重量配分も代表値による近似です。数値の正確な再現ではなく、どの操作がどの危険につながるかの因果を体感してもらうことを目的にしています。
本アプリは安全教育のための学習ツールであり、実機の操作訓練を代替するものではありません。実際のクレーン操作には法令に基づく資格や特別教育が必要です。シミュレーター教材の利点と限界は、ガイド「クレーン安全教育に3Dシミュレーターを使う利点と限界」で整理しています。
分野・使用技術
関連記事

開発記事公開
Three.jsで移動式クレーンの荷振れを表現する方法
振り子運動と減衰を使った荷振れ表現の設計方針を、運動モデルとフレーム更新の観点から解説します
#Three.js#physics関連アプリ: 移動式クレーン安全シミュレーター

ガイド公開
クレーン安全教育に3Dシミュレーターを使う利点と限界
3Dシミュレーターをクレーンの安全教育に取り入れる場合の一般的な利点と、実機訓練や法令上の教育を代替できない限界を整理します
#安全教育#建設DX関連アプリ: 移動式クレーン安全シミュレーター

開発記事公開
マントル対流をWeb Workerでリアルタイムに計算する
教育用3D地球シミュレータで、渦度と流れ関数による対流計算をWeb Workerで安定して動かし続けた実装を紹介します
#Web Worker#物理シミュレーション#個人開発関連アプリ: 地球地下シミュレータ

開発記事公開
地震波の波線追跡でシャドウゾーンを再現する
教育用3D地球シミュレータで、スネルの法則による波線追跡からS波シャドウゾーンを再現した実装を紹介します
#Three.js#科学計算#個人開発関連アプリ: 地球地下シミュレータ



