全日本の直前までやってたことで、もう一月近く前の話ですが。
加速処理を見直してました。いろいろ話を聞いてると、速度(角速度の話だったかな?)は台形じゃなくて二次関数とかsineとかで変化させたほうがいいんだぜって感じでしたので、等加速度での加速から等加加速度(躍度、ジャーク)での加速に変えてみました。
結果がこちら(これは速度のグラフだけど、角速度も同じような形)
青:目標速度 オレンジ:現在速度 水色:モータのduty
最大速度:2.2m/s 最大加速度:13m/s2
なんだか綺麗になりました。こんなに違うのかと自分にはちょっと衝撃の結果。dutyの変化も綺麗に三角。
ただ加速はやっぱり遅くなる。
あと、減速終わりのところにまだ改善の余地が。
で、良くなったのはいいんだけど、それが何でなのかが今一良くわかってない。
台形加速の時は、加速度が一定→力も一定→この一定の力がタイヤが生み出せるグリップ力を超えない限りはOK、という考え。それを、力をジワリと変える走り方に変えたと。確かによさげな感じだけど、、、なんで?
実際に動いてる様子やログを見る限りは確かに改善されてるんだけど。
物理に対する考察が足りないなぁ。
・・・
ここまで書いてふと思ったけど、立ち上がり始めのとこは最大加速度で始まっても大丈夫なのか・・・?
なんか勘違いしてそう。
4 件のコメント:
原因のひとつとして,電流の不連続性解消があるのではないでしょうか.
モーターのトルク(加速度)と電流と電流の間には比例関係があります.
ですから,加速度を不連続に制御することは,
電流を不連続に制御しようとしていることに他なりません.
ところが,モータにはコイル成分があるため,電流を不連続に変化させることはできません.
sinにするといいぜ論は,物理的にはよくわかんないけど,タイヤの変形など,他にも高次の影響がある可能性がある.
目的ははやく走ることであって,研究をすることではないから,とりあえずC^∞級にしておくかーってことだと思います.
電流の不連続性解消が原因なら,制御周期がダイレクトに効いて来る気がします.時定数から,数十マイクロ秒あればコイル成分は無視できますからね.
名前を入れ忘れました.
> 原因のひとつとして,電流の不連続性解消があるのではないでしょうか.
なるほど、と思いましたが、
> 電流の不連続性解消が原因なら,制御周期がダイレクトに効いて来る気がします.時定数から,数十マイクロ秒あればコイル成分は無視できますからね.
やっぱり違うようです。モータの電気的時定数11usに対して制御周期は1ms。
電流が加速度になるまでの間に遅れがある感じです。タイヤの変形はありえるかもしれません。前後にばったんばったんするのも(特に自分のマウスは)怪しそうです。
コメントを投稿