YazawaKenichi / murakumo_ws

0 stars 0 forks source link

[ Bug ] モータ周りがヴヴヴヴ鳴る問題 #38

Closed YazawaKenichi closed 1 year ago

YazawaKenichi commented 1 year ago

問題の内容

速度の PID 制御を導入すると発信しているのかモータ?ブラケット?ギア?のあたりがギギギギとかヴヴヴヴとか鳴る

発振してそうな音が鳴る

標準出力を見たらモータの出力値がめちゃくちゃ飛び回ってた

どうしてモータの出力値が飛び回っているのかはわからない

実行環境

再現手順

  1. PI 制御を導入
  2. ゲイン値が正しいかどうかをテストしてると発振

予想される原因

予想が正しいことの確認方法

修正すべき内容

修正する際の注意点

参考になりそうなサイト

-

YazawaKenichi commented 1 year ago

encoder_left を回して encoder_right の値を監視

すると encoder_left が 6 の時に encoder_right が 4 になることがあった

encoder_left が プラス なら、encoder_right はマイナスが普通なんだが...

あと encoder_left が必ず 1 以上を示しているのに対して、 encoder_right は 0 を時々示すことがある

もしかしたらもう片方のモータが停止と回転を繰り返しているのかもしれない

オシロで波形を見たところ、ヴヴヴヴ鳴っている時にはモータに逆電圧がかかっている

YazawaKenichi commented 1 year ago

逆電圧がかかっているのは逆回転しようとしているから

YazawaKenichi commented 1 year ago

モータドライバにかかる PWM 信号を測定した。モータドライバに入る PWM 信号はブレたりしていなかった

YazawaKenichi commented 1 year ago

正転逆転を決める信号を見たところ、 HIGH と LOW を行ったり来たりしていた

こいつが原因かも

YazawaKenichi commented 1 year ago

左右のエンコーダを読んで平均を出しているため、正負を行ったり来たりするのかと思って、モータごとに PID 制御することにした。

それでも発振したし、これだと指令値を重ね合わせることができないことに気がついて、諦めて平均値で制御するのに戻した。

YazawaKenichi commented 1 year ago

結局何が原因なのかはわからないまま

一旦 issue を閉じる