制御工学ブログ

制御工学の研究者を20年やっている国立大学教員が制御工学の基礎から専門まで広く説明します。記事内では、動画やMATLABコードを交えながらわかりやすく解説する方針です。制御工学チャンネル(YouTube,動画ポータル)を運営しています。

モデル誤差抑制補償器(数値例:2次の制御対象)

ここでは、モデル誤差抑制補償器の効果を確認するための数値例として2次システムのシミュレーション結果を示します。

モデル誤差抑制補償器についての説明は以下の記事をご覧下さい。

 

blog.control-theory.com

制御対象と問題設定

ここでは、制御対象として次の対象を扱います。

 P(s) = (c+\delta c)\frac{s+b+\delta b}{s -(a+\delta a))(s+5)}

ここで、本記事では a = 1, b = 2, c = 1.5とし、 \delta a, \delta b, \delta cの取りうる範囲は \pm 0.1とします。

誤差がない場合

まず、誤差がない場合についてフィードバック比例フィードバック制御 C = 2を施した結果を示します。まず、ブロック線図が以下のようになります。

フィードバック制御系のブロック線図

次に制御結果(ステップ応答)が以下のようになります。

MECなし(フィードバック制御

次に、誤差補償器を次のように定めてMECを構築した場合の結果を示します。

 D = 50 + \frac{50}{s}

誤差補償器はPI制御構造にしています。ハイゲインフィードバックとなっています。MECを含む制御構造は次のように与えられます。

MEC+フィードバック制御

このとき、得られた応答波形は次のようになります。

MEC+フィードバック制御

ほとんど変わらない応答波形になっていることがわかります。

誤差がある場合

誤差がある場合の応答波形をそれぞれ示します。 \delta a, \delta bを範囲内でランダムに10本とってそれらの応答波形を重ねます。まずは、MECなしの場合です。

MECなしの場合(バラツキを含む10種類の制御対象)

次にMECありの場合の応答波形です。

MEC+フィードバック制御(バラツキを含む10種類の制御対象)

MECを含む制御系を構成することにより、 \delta a, \delta bのバラツキの影響が出力にはほとんど現れていないことが確認できます。

最後に、MATLABコードを示します。

clear;
close all;
a = 1;
b = 2;
c = 1.5;
for i = 1:10
delb = -0.1+0.2*rand();
dela = -0.1+0.2*rand();
delc = -0.1+0.2*rand();
P=(c+delc)*tf([1 b+delb],[1 -(a+dela)])*tf([1],[1 5]);
Pn = c*tf([1 b],[1 -a])*tf([1],[1 5]);
Con=5;
%C=tf([2.5 0.005],[1 0]);
D=tf([50 50],[1 0]);
% MECなし
feedback(P*Con,1);
figure(1)
step(ans)
xlabel('Time')
ylabel('Out')
title('Usual')
xlim([0 5])
ylim([0 2])
hold on

% MECあり
feedback(Pn*Con,1)*feedback(P*D,1)-feedback(Con,Pn)*feedback(P,D);
figure(2)
step(ans)
xlabel('Time')
ylabel('Out')
title('With MEC')
xlim([0 5])
ylim([0 2])
hold on
end

2次制御対象についてMECの効果を確認しました。本記事は以上です。

関連記事

blog.control-theory.com