Giter Site home page Giter Site logo

Comments (8)

magicant avatar magicant commented on July 19, 2024

拙作プラグインを使ってくださってありがとうございます。

いただいたご要望がかなり詳細なので、どうしようかと思案中です。
そもそもBVEのプラグインとして実現可能なのかどうかが自明ではなさそうです。(特にATOの力行ノッチ段数設定の難易度が高そうです。ブレーキのパネル表示はやりようがありそうですが。)

仮に実現可能だったとして、プラグインの標準機能として搭載すべきかどうかという悩みがあります。特定の車種でしか使えなさそうな機能を足すと他の車種のための機能とかち合う可能性があるので、bve-autopilot には基本的にどの車種でも使えそうな範囲の機能しか入れないようにしています。その範囲に収めきれそうになかった場合にどうするかは別途考えることになります。

とりあえず実現方法の検討をしてみようと思いますが、かなり時間がかかると予想しますので気長にお待ちいただければと思います。

from bve-autopilot.

magicant avatar magicant commented on July 19, 2024

検討メモ:

ブレーキ時はATO使用時と不使用時とで異なる表示をさせ、ATOによる減速・TASCによる減速・手動での減速の区別がつくようにしたい。すなわち、ブレーキ指令表示(設定名:brake)において、ATOによるブレーキ時とTASCによるブレーキ時とで異なる値が表示されるようにしたい。表示優先度は、手動>TASC>ATO

パネル表示において brake の値を使えば手動ブレーキと自動ブレーキを区別することはできる。(強い方のブレーキが表示される) が、ATOブレーキとTASCブレーキを区別できない。
tascbrake を重ねて表示するとATOブレーキとTASCブレーキを区別できる。が、TASCブレーキよりも手動ブレーキの方が強い時でもTASCブレーキ表示が上書きしてしまう。
さらに brake を重ねて、今度は手動ブレーキの時のみ表示を上書きする。
これで三種類のブレーキ表示を区別できる。

Nノッチ時の表示がATO使用有無によって異なり、ATO使用時は「ATO-OFF」、不使用時は「MNU-OFF」

(上記 braketascbrake の後ろ側に) atoenabled で惰行指令時の表示を区別できる。

……とはいうものの、かなり複雑なので本当に実現可能なのかどうか適当な車両データで検証した方がよさそう。

力行についての検討は、また後で。

from bve-autopilot.

magicant avatar magicant commented on July 19, 2024

tascbrake を重ねて表示するとATOブレーキとTASCブレーキを区別できる。

区別できるといったものの、TASCブレーキよりATOブレーキが強い時でもTASCブレーキ表示が上書きしてしまうので厳密には正しくない。

from bve-autopilot.

magicant avatar magicant commented on July 19, 2024

powerinbrakein が ATO/TASC の状態によらず常に手動指令を出力するように既になっているので、それと同様に状態によらず常に ATO 指令と TASC 指令を出力する設定がそれぞれあってよさそう。ただし、それだけだと実際に手動指令・ATO 指令・TASC 指令のどれが使われているのかに応じて表示を出し分けることができないので、指令が使われている時のみ値を出力するような設定があるとよいか。
例えば tascbrake は手動ブレーキや ATO ブレーキが TASC ブレーキを上書きしている間でも TASC ブレーキの値を出力するが、 tascbrakeused は手動ブレーキや ATO ブレーキが TASC ブレーキを上書きしていない間のみ TASC ブレーキの値を出力する、という感じ。

from bve-autopilot.

magicant avatar magicant commented on July 19, 2024

ATO使用時の力行ノッチ数を手動時よりもかなり多く設定

[acceleration]セクションの機能では手動運転時とATO使用時の力行ノッチ数が全く同一であることが前提

ここの制約を緩めて、[acceleration]セクションに多数のノッチを設定したらそれを ATO が考慮する様に変更しようと思います。これでATOの力行ノッチ数を増やせるようになります。

ただし、ノッチが10段以上あるのに手動運転時に P1~P4 とか P1~P5 の範囲しか選べないということだと手動運転時に弱い加速しかできなくなってしまうので、手動マスコン操作に対してプラグインが出力するノッチを変換するようにします。例えばマスコンが P1, P2, P3, P4 の時はそれぞれプラグインの出力ノッチが P3, P8, P11, P15 になるみたいな感じでノッチの値を置き換えます。この置き換える値は autopilot.ini で指定しておく必要があります。

from bve-autopilot.

magicant avatar magicant commented on July 19, 2024

検討メモ (未解決問題):

  • 参考動画をよく見ると、ATO 運転時と TASC 運転時とで駅停車のためのブレーキ時の表示が違っており、ATO 運転時は「TASC-Bxx」表示にならない。一方 bve-autopilot では駅停車には常に TASC を使用するので動作が合わない。
  • bve-autopilot では ATO 運転中に停車駅が近付くと無駄な加速を避けるために TASC が惰行や全速力未満の力行を指示する。これはどう表示に反映されるべき?
  • 駅停車中に TASC 緩解条件が満たされると TASC ブレーキが緩解するが、ATO のブレーキは引き続きかかっている。このとき「TASC-Bxx」から「ATO-Bxx」に表示が切り替わるのは好ましい動作なのか?

from bve-autopilot.

magicant avatar magicant commented on July 19, 2024

@1581-Ivy3570
出力表示の MNU/ATO/TASC の出し分けへの対応はまだ時間がかかりそうなので、ひとまず力行ノッチの段数を増やす設定のみ v1.16 で対応しました。お試しください。

from bve-autopilot.

magicant avatar magicant commented on July 19, 2024

次回リリース (v1.18) で、ATO が出力している力行とブレーキの指令を手動操作に関係なくとれるようにします。 (パネル仕様)

bve-autopilot の出力を別のプラグインでさらに加工するという前提になりますが、以下の方法で MNU/ATO/TASC の指令を判別できる想定です。

  • ATO の力行が使用されているのか手動力行の方が優先されているのかは poweratopower が等しいかどうかでわかる
  • ATO/TASC のブレーキが使用されているのか手動ブレーキの方が優先されているのかは、 brakebrakein が異なるかどうかでわかる
  • ATO のブレーキが使用されているのか TASC のブレーキが使用されているのかは、 atobraketascbrake が等しいかどうかでわかる

from bve-autopilot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.