チュートリアル - magicant/bve-autopilot GitHub Wiki
bve-autopilot プラグイン チュートリアル
このページでは、bve-autopilot プラグインの使い方の説明として、mackoy さんの京成千葉線を自動運転化する手順を紹介します。 (ファイルのコピーやテキストファイルの編集方法等はいちいちここでは説明しないので、それらがおぼつかない人は基本的な PC スキルを磨いてから挑戦してください)
京成千葉線の路線データを BVE5 本家サイトからダウンロードして、適当なフォルダーにコピーして、作業を始めましょう。
車両にプラグインを導入する
リリースページから bve-autopilot.dll をダウンロードして、Scenarios\mackoy.Keisei\K_SEI3500R フォルダーの中に置きます。
同じフォルダー内にある Vehicle.txt というテキストファイルを開いて、Ats = KqAts.dll
と書かれているところを Ats = bve-autopilot.dll
に変更します。
これで、京成 3500 形更新車で自動運転プラグインが使えるようになりました。
※ 上の方法で自動運転プラグインを導入すると、元からあった KqAts.dll というプラグインは使えなくなります。元からあったプラグインを自動運転プラグインと共存させるには、DetailManager のような複数のプラグインを一つにまとめるためのプラグインが必要です。DetailManager の使い方はここでは説明しないので、各自調べてやってみてください。
車両のパラメーターを調整する
上記手順だけでも自動運転プラグインは動作できますが、ブレーキの強さを設定した方がより自然に動作するので、その設定をファイルに書くことにします。
bve-autopilot.dll を置いたのと同じフォルダー (Scenarios\mackoy.Keisei\K_SEI3500R) 内に、autopilot.ini というテキストファイルを作成し、以下の二行を記入してください。これは常用最大ブレーキの減速度が 4 km/h/s であることを示しています。
[braking]
maxdeceleration = 4
他のパラメーターの設定も記載することでより細かいチューニングが可能ですが、このチュートリアルでは省略します。詳しくは設定ファイル仕様を見てください。
路線に自動運転用地上子を設置する
路線のマップファイル (Scenarios\mackoy.Keisei\Map.txt) を開いて、これに地上子を追加してゆきます。
※ ここで地上子と呼んでいるものはマップファイルに書く Beacon.Put
命令のことであり、これを追加しただけでは運転時の路線の見た目には変化はありません。地上子の存在を路線の見た目にも反映させるにはストラクチャーを設定する必要がありますが、このチュートリアルでは説明しません。
停止目標位置
TASC に各駅の停止位置を知らせる地上子を設置しましょう。ここで使用する地上子の番号は 1030 です。
まず、停止位置がある地点を調べます。マップファイル内で Station[
と書かれているところを探すと、以下の四つの行が見付かるはずです。
Station['Midoridai'].Put(-1, -2, 2);
Station['Nishinobuto'].Put(-1, -5, 10);
Station['Shinchiba'].Put(-1, -2, 10);
Station['Chiba'].Put(-1, -5, 10);
最初の みどり台駅は出発地点なので無視します。その次の西登戸駅が最初の停車駅です。Station['Nishinobuto'].Put(-1, -5, 10);
と書かれているところの直前の行に 980;
と書かれているので、西登戸駅があるのは 980 メートル地点ということになります。地上子はブレーキをかけ始める場所より手前に設置する必要があるので、980 メートル地点の 400 メートル手前に最初の地上子を置くことにします。マップファイルの最後に、以下の二行を追記してください。
980 - 400;
Beacon.Put(1030, -1, 400000);
括弧の中の 400000
という数字は、地上子の地点から停止目標位置までの距離 (メートル単位の千倍) を表しています。
停止目標位置が近付いてきたところで誤差を補正するため、10 メートル手前にも同様に地上子を設置しましょう。以下の 2 行をマップファイルの最後に追記します。
980 - 10;
Beacon.Put(1030, -1, 10000);
これで、西登戸駅に停車するための地上子が設置できました。同様にして、新千葉駅と千葉駅に停車するための地上子も設置しましょう。以下の様になるはずです。
1805 - 400;
Beacon.Put(1030, -1, 400000);
1805 - 10;
Beacon.Put(1030, -1, 10000);
2345 - 400;
Beacon.Put(1030, -1, 400000);
2345 - 10;
Beacon.Put(1030, -1, 10000);
制限速度設定
続いて、ATO に制限速度を伝える地上子を設置しましょう。(これがないと、ATO は際限なく列車を加速させ続けてしまいます!!) ここで使用する地上子の番号は 1007 です。
京成千葉線の制限速度は、(mackoy さんの路線データには記載されていませんが、現実の路線では) 以下のように設定されています。
- みどり台駅→西登戸駅間: 80 km/h
- 西登戸駅→新千葉駅間: 75 km/h
- 新千葉駅→千葉駅間: 50 km/h
駅ごとに制限速度が変わるので、駅の停止目標位置に地上子を置いて制限速度を設定することにします。みどり台駅・西登戸駅・新千葉駅の停止目標位置はそれぞれ 23・980・1805 メートル地点にあるのでした。そこで、次のようにマップファイルに追記します。
23;
Beacon.Put(1007, -1, 80);
980;
Beacon.Put(1007, -1, 75);
1805;
Beacon.Put(1007, -1, 50);
これで、制限速度設定地上子が設置できました。
※ このチュートリアルでは、制限速度が変わる場所ぴったりの地点に地上子を設置しました。京成千葉線に関しては駅に停車したところで制限速度が変わるのでこれで問題ありません。しかし列車が走っている途中で制限速度が下がる場合には、ブレーキをかけ始める地点より手前に地上子を設置しないと減速が間に合いません。詳しくは地上子仕様を見てください。
運転する
準備が整ったので、実際に BVE でシナリオファイルを開いて運転してみましょう。
車両のドアが閉まったら、ブレーキをユルメにしてから保安装置 15 (L) のキー (BVE5 のデフォルト設定では、テンキーでない方の 0
) を押すと自動運転が始まります。後は、何もしなくても加速・減速が自動で行われます。
その他の機能
このチュートリアルでは説明しませんでしたが、自動運転プラグインでは信号に従って速度を調節することや勾配の強さに応じてブレーキを加減することができます。テスト用シナリオにそれらの機能を使った例があるので参考にしてみてください。