Comments (8)
拙作プラグインを使ってくださってありがとうございます。
いただいたご要望がかなり詳細なので、どうしようかと思案中です。
そもそもBVEのプラグインとして実現可能なのかどうかが自明ではなさそうです。(特にATOの力行ノッチ段数設定の難易度が高そうです。ブレーキのパネル表示はやりようがありそうですが。)
仮に実現可能だったとして、プラグインの標準機能として搭載すべきかどうかという悩みがあります。特定の車種でしか使えなさそうな機能を足すと他の車種のための機能とかち合う可能性があるので、bve-autopilot には基本的にどの車種でも使えそうな範囲の機能しか入れないようにしています。その範囲に収めきれそうになかった場合にどうするかは別途考えることになります。
とりあえず実現方法の検討をしてみようと思いますが、かなり時間がかかると予想しますので気長にお待ちいただければと思います。
from bve-autopilot.
検討メモ:
ブレーキ時はATO使用時と不使用時とで異なる表示をさせ、ATOによる減速・TASCによる減速・手動での減速の区別がつくようにしたい。すなわち、ブレーキ指令表示(設定名:brake)において、ATOによるブレーキ時とTASCによるブレーキ時とで異なる値が表示されるようにしたい。表示優先度は、手動>TASC>ATO
パネル表示において brake
の値を使えば手動ブレーキと自動ブレーキを区別することはできる。(強い方のブレーキが表示される) が、ATOブレーキとTASCブレーキを区別できない。
tascbrake
を重ねて表示するとATOブレーキとTASCブレーキを区別できる。が、TASCブレーキよりも手動ブレーキの方が強い時でもTASCブレーキ表示が上書きしてしまう。
さらに brake
を重ねて、今度は手動ブレーキの時のみ表示を上書きする。
これで三種類のブレーキ表示を区別できる。
Nノッチ時の表示がATO使用有無によって異なり、ATO使用時は「ATO-OFF」、不使用時は「MNU-OFF」
(上記 brake
や tascbrake
の後ろ側に) atoenabled
で惰行指令時の表示を区別できる。
……とはいうものの、かなり複雑なので本当に実現可能なのかどうか適当な車両データで検証した方がよさそう。
力行についての検討は、また後で。
from bve-autopilot.
tascbrake
を重ねて表示するとATOブレーキとTASCブレーキを区別できる。
区別できるといったものの、TASCブレーキよりATOブレーキが強い時でもTASCブレーキ表示が上書きしてしまうので厳密には正しくない。
from bve-autopilot.
powerin
と brakein
が ATO/TASC の状態によらず常に手動指令を出力するように既になっているので、それと同様に状態によらず常に ATO 指令と TASC 指令を出力する設定がそれぞれあってよさそう。ただし、それだけだと実際に手動指令・ATO 指令・TASC 指令のどれが使われているのかに応じて表示を出し分けることができないので、指令が使われている時のみ値を出力するような設定があるとよいか。
例えば tascbrake
は手動ブレーキや ATO ブレーキが TASC ブレーキを上書きしている間でも TASC ブレーキの値を出力するが、 tascbrakeused
は手動ブレーキや ATO ブレーキが TASC ブレーキを上書きしていない間のみ TASC ブレーキの値を出力する、という感じ。
from bve-autopilot.
ATO使用時の力行ノッチ数を手動時よりもかなり多く設定
[acceleration]セクションの機能では手動運転時とATO使用時の力行ノッチ数が全く同一であることが前提
ここの制約を緩めて、[acceleration]セクションに多数のノッチを設定したらそれを ATO が考慮する様に変更しようと思います。これでATOの力行ノッチ数を増やせるようになります。
ただし、ノッチが10段以上あるのに手動運転時に P1~P4 とか P1~P5 の範囲しか選べないということだと手動運転時に弱い加速しかできなくなってしまうので、手動マスコン操作に対してプラグインが出力するノッチを変換するようにします。例えばマスコンが P1, P2, P3, P4 の時はそれぞれプラグインの出力ノッチが P3, P8, P11, P15 になるみたいな感じでノッチの値を置き換えます。この置き換える値は autopilot.ini で指定しておく必要があります。
from bve-autopilot.
検討メモ (未解決問題):
- 参考動画をよく見ると、ATO 運転時と TASC 運転時とで駅停車のためのブレーキ時の表示が違っており、ATO 運転時は「TASC-Bxx」表示にならない。一方 bve-autopilot では駅停車には常に TASC を使用するので動作が合わない。
- bve-autopilot では ATO 運転中に停車駅が近付くと無駄な加速を避けるために TASC が惰行や全速力未満の力行を指示する。これはどう表示に反映されるべき?
- 駅停車中に TASC 緩解条件が満たされると TASC ブレーキが緩解するが、ATO のブレーキは引き続きかかっている。このとき「TASC-Bxx」から「ATO-Bxx」に表示が切り替わるのは好ましい動作なのか?
from bve-autopilot.
@1581-Ivy3570
出力表示の MNU/ATO/TASC の出し分けへの対応はまだ時間がかかりそうなので、ひとまず力行ノッチの段数を増やす設定のみ v1.16 で対応しました。お試しください。
from bve-autopilot.
次回リリース (v1.18) で、ATO が出力している力行とブレーキの指令を手動操作に関係なくとれるようにします。 (パネル仕様)
bve-autopilot の出力を別のプラグインでさらに加工するという前提になりますが、以下の方法で MNU/ATO/TASC の指令を判別できる想定です。
- ATO の力行が使用されているのか手動力行の方が優先されているのかは
power
とatopower
が等しいかどうかでわかる - ATO/TASC のブレーキが使用されているのか手動ブレーキの方が優先されているのかは、
brake
とbrakein
が異なるかどうかでわかる - ATO のブレーキが使用されているのか TASC のブレーキが使用されているのかは、
atobrake
とtascbrake
が等しいかどうかでわかる
from bve-autopilot.
Related Issues (20)
- より正確な目標時間調整
- 拡張ブレーキ指令の割合最大値が 1 未満の場合に不正動作することがある HOT 2
- TASC/ATOブレーキ段数桁表示について HOT 1
- ATO/TASC の切り替え方を柔軟にする HOT 1
- 力行の多段制御 (全速力でない力行) HOT 2
- 最大目標減速度の計算方法 HOT 1
- The limit speed cannot be read correctly in a D-ATC route HOT 3
- 急な上り勾配で低速で駅に近付くとき手前に止まってしまう HOT 4
- 自動発進が有効だと信号待ちでも転動防止ブレーキが効かない HOT 2
- 路線の途中で ATS↔ATC が切り替わるときの動作 HOT 1
- 下り勾配試験で停止位置直前に止まった状態から発進できない HOT 3
- 力行の急動作抑制 HOT 1
- ボタン操作応答遅延 HOT 1
- Feature request: Coasting HOT 2
- ノッチ戻し HOT 1
- ハンドル位置を取得したい HOT 7
- 範囲ベースの指令 HOT 1
- TASCのみ使用時のORPの挙動について HOT 1
- ATOはsnp形式のデータでは正常に動作しません HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bve-autopilot.