バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia-backnumber/
はじめに
前回まででは、DCモータ状態空間モデルの各種シミュレーションを実施。
DCモータ状態空間モデルはあくまでDCモータを模しているに過ぎない。
実際はこれに対して何かしらの制御をすることが普通である。
よって、PID制御を追加することを検討する。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
状態空間モデルを制御したい
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
ここまで状態空間モデルの使い方は雰囲気レベルで分かっては来たけど・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/はてなフクロウ.png)
何?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
実際はこれに対して何かしらの制御をすると思うんだよね。
例えばPID制御とか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうだね。
じゃー、PID制御器を追加してみるか。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
割と簡単に追加できちゃう感じ?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
まぁ簡単かどうかの感じ方は人それぞれな気はするが・・・。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
PID制御器もベクトル行列で一撃って感じにできるのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
うーん、何かしらやり方はあるのかもしれないが、
私の方では把握していないな。
よって、割とガチなPID制御器を追加する流れになると思う。
大まかな流れ
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
まぁこの際、ガチなPID制御器でもいいや。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
どんな感じで追加していく感じになるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
以下に流れだな。
- 前回までの構成の確認
- 今回の構成を確認
- PID制御器の基本式の確認
- PID制御器の基本式変形
- PID制御器の離散化
- 離散化PID制御器のブロック図
- PID制御器を加味した構成図
- 各種ツール、言語でシミュレーション
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
意外とやること多そうだな・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
一個一個は大した話では無いな。
まぁ「PID制御器の離散化」あたりが若干鬼門な気はするけど。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
また、不穏なことを・・・。
恐らく数式まみれになりそうな予感・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/まるフクロウ.png)
正解。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
といっても微分解法はオイラー法にするつもりだから、
比較的簡単な離散化にはなるけどね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
(フクさんの「比較的簡単」は信用ならん・・・。)
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- DCモータ状態空間モデルを制御すべくPID制御器を追加予定。
- 上記に至るロードマップ提示。
- 「PID制御器の離散化」がやや数式まみれになるためちょっと鬼門。
- オイラー法による微分解法するだけなので比較的簡単にするつもり。
バックナンバーはこちら。
コメント