モータの速度制御について~その2~
こんにちは。
昨日、書いた記事の続きをやっていきましょう。
days-for-development.hatenablog.com
3.現象から考えられること(根本原因の考察)
3.1要求角速度0mm/s,要求速度0mm/sの場合
発散して回転し続けるので角速度PID制御がの何れかが発散していることは明確です。
対照実験として念のためPIDゲインをすべて0にした場合ロボットが動き出すことはなかったのでこれは確定でしょう。
では何が起きているのか、、、
- 数値取得のバグ
- I値の発散
- Pゲインが大きすぎる
- 制御周期とデータの取得タイミングの不適合
- ジャイロとの通信ミス
が思いつきました。
3.2要求角速度0mm/s,要求速度0->800mm/s加速度10000mm/s/sの場合
角速度PIDと同様に併進速度PIDに問題があるようです。
- 数値取得のバグ
- I値の発散
- エンコーダー補正テーブルの非連続性
- Pゲインが大きすぎる
- 制御周期とデータの取得タイミングの不適合
- エンコーダとの通信ミス
実験後追記します。
2018/09/14 実験したので続きです
4.実験結果
ウーム...。この実験では回転方向はKi=0としているので発散してほしくはなかったのですが。加えて、エンコーダ補正を行っていないまま実験を行いました。ひとまず、発散時に急激にI値が大きくなっているところを確認しました。
では考察ですか。
5.実験結果からの考察
今年はマウスは基本的に去年のマウスの改修版なのでセンサーも同一でソースコードは流用品です。
ですので、最低でも
この程度は動くポテンシャルはあるはず。
機首角度の保持などは他の検証で正しく動いていることは確認済みなので
新規に手を加えた箇所が悪さをしているのでと思います。
次回、考察の続きから始めます。
では。