Skip to content

susLine2320/bve-autopilot-S

 
 

Repository files navigation

bve-autopilot

これは Bve trainsim 5/6 で自動運転を行うための保安装置プラグインです。特定の路線・車両での動作を忠実に再現することよりも、どの路線・車両にも後付けで組み込んで自動運転化できるようなものを目指しています。動作させるには路線・車両ともにそれなりの準備 (改造) が必要です。

機能一覧

このforkでの追加点を**太字**、削除点を~~打ち消し線~~で示します。

  • TASC
    • 駅の所定位置への停車
    • 地上子からの停止位置の設定
      • 独自地上子
      • 汎用 ATS プラグインの地上子
      • δ ナックニスタさんの TASC プラグインの地上子
      • 小田急線向け ATS プラグインの地上子
      • Unicorn さんの東京メトロ準拠 TASC プラグインの地上子
    • 計器パネルへの動作状態の表示
      • ブレーキノッチ
      • 停止位置までの残距離
    • インチング (停止位置修正機能) (前進のみ)
    • オン/オフ切り替え時に音を鳴らす
  • ATO
    • 速度の自動制御
      • 独自地上子による制限速度の設定
      • 信号による速度制御 (ATC でなくても可)
      • 前方の信号の現示を地上子から受信
      • 目標時刻に合わせて速度を調整
    • メトロ総合プラグイン互換モード
      • 前方予告に基づく速度制御
      • ORP に沿う速度制御
    • ATS-SW/P2 プラグイン互換モード (全線 P 路線用)
      • 前方の信号に基づく速度制御
      • 速度照査地上子に基づく速度制御
    • 計器パネルへの動作状態の表示
      • 力行・ブレーキノッチ
      • 現在の制限速度
    • オン/オフ切り替え時に音を鳴らす
  • その他
    • 独自地上子による勾配補正
    • 自動ブレーキのノッチ段数を手動ブレーキのノッチ段数より多くする設定

動作環境・開発環境

Bve trainsim 5.8.7554.391 および BVE Trainsim 6.0.7554.619 で動作確認しています。BVE4 や OpenBVE のことは知りません。DetailManagerbve-plugin-multiplexer からの使用も可能ですが、他の保安装置プラグインとの同時使用は自己責任でお願いします。

このプラグインを修正・改造する場合は最新の Visual Studio の使用を推奨します。

非対応車両

  • モーターの抵抗制御が手動進段式の車両は非対応です。
  • 自動空気ブレーキの車両は非対応です。

向かない車両

  • ブレーキの応答が遅い車両では停止位置がずれやすくなります。
  • 応荷重制御のない車両ではブレーキの制御が不安定になります。
  • 電空協調制御のない電気ブレーキを搭載する車両ではブレーキの制御が不安定になります。

使用法

プラグイン本体はリリースページからダウンロードできます。またテスト用シナリオにも含まれています。

自動運転を正常に動作させるためには車両と路線の両方のデータを改造する必要があります。詳しい説明は wiki を見てください。また、地上子の設置方法や車両の設定ファイルの書き方の実例はテスト用シナリオを参考にしてください。

このforkはメトロ総合プラグインの併用を前提に改造しています。このプラグインの前にメトロ総合プラグインを読み込ませてください。

モード切替

所定のキー操作によって「ATO と TASC 両方有効」「TASC のみ有効」「どちらも無効」の三つのモードを切り替えることができます。

モード切替はメトロ総合プラグインのマスコンキー、ATC切換スイッチ、TASC切換スイッチの情報をもとに行われます。そのため、メトロ総合プラグインのキー操作を用いて「ATO と TASC 両方有効」「TASC のみ有効」「どちらも無効」の三つのモードを切り替えることができます。

各モードの条件

  • ATO有効モード:マスコンキーメトロ(1)またはJR(6)、かつATC切換スイッチ「ATC」位置かつTASC切換スイッチ「ATO/TASC」側かつATC表示灯点灯時
  • TASC有効モード:マスコンキー小田急(7)以外(小田急は小田急プラグインのTASC機能を使用のこと)かつメトロ、JR時はATC切換スイッチ「構内」位置かつTASC切換スイッチ「ATO/TASC」側かつATC表示灯、あるいは東武ATS表示灯点灯時
  • 無効モード:その他のすべての状況。TASC切換スイッチ「手動」側では必ず無効になる

TASC の操作方法

モード切替で TASC が有効になっていて、地上子から停止目標位置が受信できていれば、列車を走らせるだけで自動的に TASC のブレーキが動作します。停止目標位置付近に停車すると自動的にブレーキがかかったままになります。手動で自動ブレーキ以上のブレーキをかけるかドアが閉まると自動ブレーキは解除されます。(設定ファイルによりブレーキ解除条件は変えられます)

ATO の操作方法

モード切替で ATO が有効になっていると、停車中は常に自動でブレーキがかかったままになります。ドアが閉まったら、レバーサーを前進にし手動ブレーキを緩めた状態で発進ボタンを押すと自動ブレーキが解除され列車が出発します。停止信号や手動ブレーキで列車が駅の手前に停止した場合も自動でブレーキがかかります。その場合も (信号が停止以外に変わってから) 発進ボタンを押すと再発進します。

デモ動画

ブレーキのかけ方などは頻繁に改良を行っているので古い動画でのプラグインの動きは最新版とは異なることがあります。

使用条件

このプラグインの使用条件は LGPL 2.1 によります。つまり簡単に言うと

  • プラグインとして車両データに組み込んで使うのは自由です。
  • あなたがこのプラグインを修正・改造したものを公表しようとする場合、バイナリー (dll ファイル) だけでなくソースコードも公開する必要があります。そして公開されたものもまた LGPL に従わなければなりません。
    • せっかく GitHub で開発しているのだから役に立ちそうな修正はプルリクしてください。

解説

algorithm.md ファイルにアルゴリズムの解説を書きました。

bve-autopilot クラス図

質問・問い合わせ

About

Bve trainsim 用自動運転車両プラグイン

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 97.8%
  • C 2.2%