外乱抑制について備忘録
3Dプリンタが使えないのでpython-controlで遊んでみました
Python Control Systems Library — Python Control Systems Library dev documentation
FF制御のみ,PIDによるFB制御のみ,FFとPIDを組み合わせた制御(FF+FB),外乱オブザーバーを追加した制御(FF+FB+EX)を比較
外乱オブザーバーを追加した制御が収束が早く,外乱を抑制できている(ゲインは統一)
ソース
robot-ws/system.py at master · Libra23/robot-ws · GitHub
環境
macOS Big Sur : 11.4
Python : 3.9.5
- control==0.9.0
- matplotlib==3.4.2
- numpy==1.20.3
- PyYAML==5.4.1
- scipy==1.6.3
外乱オブザーバーフィードバックによる外乱抑制
外乱オブザーバーとは
簡単に言うとプラントの出力から入力を推定して,実際の入力との差から外乱を推定する
外乱オブザーバの紹介 - Qiita
ブロック線図
フィードフォワード制御とPID制御に外乱オブザーバー補償を追加したコントローラでストップ応答を確認する
ブロック線図は下図
パラメータ
- R : 入力
- Y : 出力
- D : 外乱
- D_est : 推定外乱
- FF : フィードフォワードコントローラ
- PID : PIDコントローラ
- T : FFとPIDの出力
- P : プラント
- P_n^-1 : 逆プラントモデル
- Q :フィルタ
- F : フィルタ