現状はこんな感じ。

昨日の、急に回転し始めたりするバグは、
処理時間が足りなくなっていたようです。
モータ制御専用の割り込みを作成して解決しました。



それから、左のモータだけうまく制御できなくなったので、調べたところ、Duty0%のとき、Brakeになっていない様子。


更に調べたところ、Brakeになっていないどころか、モータドライバのチャージポンプ用コンデンサへの線が切れかけていました。
ジャンパしたところ、再び軽快に動き始めました。


そんなこんなで時間をとられたので結局、
斜めも壁切れ補正も実装する事なく、今日も終わってしまいました。


ちなみに、現状はこんな感じ。


探索


最短中くらいの速度
旋回速度750mm/sのはず。


最短最高速
旋回速度1000mm/sのはず。嘘です。900mm/sでした。


モータ制御をもうちょっと詰めればもっと奇麗に走るかな。
旋回半径をもう上げられないので、(90mmフルに使った旋回)
90度ごとのスラロームでの最短走行はこれくらいが限界かな・・。
というか連続スラローム中に壁制御かけられないので本番では走れないかも。


最短走行はモータのPDゲインを全体的に上げているのですが、そうすると音が汚くなってしまうのが今の悩みです。
ここらへんはデキの良いハードがないとどうしようもない問題なのかな。


※追記
ターン速度750mm/sのやつと1000mm/sのやつを、コマ送りで見てみたら、両方で寸分と違わない動きをしていました。
調整のし甲斐があるハードっていいですね。


角加速に対するFF項は存在するけれど、角速度に対応するFF項(遠心力対策)が入ってないことに気付いた。
こっちは角加速とは違って物理量が分かりやすいから明日早速導入しよう。