Open magicant opened 4 years ago
問題が思ったより複雑であることが分かった。
既に bve-autopilot は勾配を考慮した計算式を使用しているが、惰行時の減速が想定より大きい場合に手前に止まってしまう。ただこれまで惰行時の抵抗や勾配加速度の誤差を考慮した計算は行っていない (しうまいやり方も見当たらない) のでこれを正攻法で解決できる見込みは立っていない。
また、減速パターンに抵触する前に加速をやめるようにしているため、勾配加速度による減速と目標減速パターンの減速が近い曲線となるときに加速が不足する。
出力制御::力行する余裕あり
は主に速度が出過ぎることを防止するために力行をやめさせるための計算をしているのに対し、ここの課題で必要となっているのは速度が足りないときに力行させるという逆方向の計算なので、無理に同じ計算過程で両方を取り扱おうとするより別々に扱った方が良い気がしてきた。
657ef2d..3a17d8f でだいぶ良くなった
さらにコミットを追加: 657ef2d..30ddd92
急な上りになっている駅に低速度で進入するとき、十分に再加速をしないので手前に止まってしまうことがある。
惰性で走り続けると手前で止まってしまうような場合では再加速しなければならないが、現在の実装ではどうせすぐにブレーキをかけることになるから加速しなくてよいという風に判断してしまう。正確な位置に止めるには停止時に多少なりともブレーキをかけさせなければいけないので、そのためにはあえて先に加速する必要がある。