技術士(総合技術監理・機械部門)のブログ

技術士がお届けする,技術,工学,技術者倫理などの話題

Scilab 18

2017-09-17 17:10:51 | 工学
Scilab 18

いやあ、なぜか前回から半年も経ってしまいました。
相当、飽きていたのだと思いますが、続けたいと思います。
前回は「状態空間表現」に基づいた制御系設計に入って、可制御性、可観測性のscilabでの確認を行いました。
尾形先生の本は、その次に、極配置による設計を示しています。

その後に、MATLABであれば、その極配置問題を簡単に解けると言っています。
極配置は
1 直接代入法 2 アッカーマンの公式
によって フィードバックゲイン行列Kを決めることが可能です。
ただし、アッカーマンは1入力システムにしか使えません。
逆に、システムが複数の入力を持っている場合、行列Kを決めるのは一意に決まらないので
安定余裕を見て決める方法が提案されていて、それをロバスト極配置と呼んでいます。
MATLABでは それぞれackerとplaceというコマンドで出来ますが
scilabでは
-->A=[0 1 0;0 0 1;-1 -5 -6];
-->B=[0;0;1];
-->poles=[-2+%i*4, -2-4*%i, -10];
-->k=ppol(A,B,poles);
-->k
k =
199. 55. 8.
というように、必要なフィードバックゲインが求まります。
dx/dt=Ax+Buで u=-kxとしたときのkを
極配置する問題でしたから、それを確認すると、
->spec(A-B*k)
ans =
- 2. + 4.i
- 2. - 4.i
- 10.  と配置できています。