magicant / bve-autopilot

Bve trainsim 用自動運転車両プラグイン
GNU Lesser General Public License v2.1
21 stars 6 forks source link

ブレーキングアルゴリズム改善 #40

Closed magicant closed 5 years ago

magicant commented 5 years ago

無効ノッチ数を廃止し、ノッチの丸め方をより理論的にするのと、その他の微調整。

magicant commented 5 years ago

まだ途中。

とりあえず 308b510586a9276a0b3eee63690a147cd0625e45 のコミットの影響で京成千葉線 (京成 3500 形) で停止直前に強くブレーキを掛け過ぎてしまうのをどうにかしたい。

あと、クリアカーでも TASC 停止直前にじわじわと減速度が下がってくるのをもう少し抑制すべき? (しかし良いアルゴリズムが思い付かない)

magicant commented 5 years ago

京成千葉線 (京成 3500 形) で停止直前に強くブレーキを掛け過ぎてしまう

スプレッドシートで計算してみたが 308b510586a9276a0b3eee63690a147cd0625e45 を入れたこと自体はおかしくない。むしろこの修正より前に無効ノッチ数を考慮していたことによりうまく動作していたのは偶然としか言えない。 (というか c061de590a35de125f6db3b39b2cbae561c43c57 を適用しても実際の丸め方にはほとんど影響していない)

結局「じわじわと減速度が下がってくるの」をどうにかしないといけないのか。

magicant commented 5 years ago

アイディア: ブレーキ反応時間の分だけ未来に進んだ状態で減速度を計算すると良い? https://github.com/magicant/bve-autopilot/blob/1c008c3d19104bdfee8eeb812aa0c4b916211048/bve-autopilot/tasc.cpp#L156-L157

magicant commented 5 years ago

アイディア: ブレーキ反応時間の分だけ未来に進んだ状態で減速度を計算すると良い?

いや、たぶんうまくいかない。速度が下がりすぎることを見越して目標減速度を下げるとその時点での出力減速度は上がるので逆効果と思われる。

magicant commented 5 years ago

いい加減、いったんブレーキをかけ始めたら目標減速度を変化させないというのを試しておくべきなんだろう。目標減速度に近付けようとブレーキを調整する減速パターンの作用が完了する前に状態に応じて目標減速度を変化させてしまうことで過剰フィードバックになっている可能性がある。

magicant commented 5 years ago

停止に近付いたら目標減速度を変更しないというやり方で一応うまく行った模様