MPCの状態空間モデルに関して

17 visualizzazioni (ultimi 30 giorni)
史晃 出口
史晃 出口 il 26 Apr 2021
Risposto: Toshinobu Shintai il 26 Apr 2021
現在、伝達関数から状態空間モデルを作成し、MPCのプラントモデルに設定して解析を行っております。
作成した状態空間モデルをssdataで取得したモデルの各行列[A,B,C,D]と、MPCのプラントモデルをgetEstimatorで取得したモデルの各行列[A_,Cm,Bu,Bv,Dvm]の違いがよく分かりません。
下記のコードで実行した場合、例えばssdataでの行列Aは8×8ですが、getEstimatorでの行列A_は9×9となっています。
この関係性や、mpcのプラントモデルとして設定した際にどのようにモデルが変換されているのか詳しく教えていただけませんか?
Ts = 3600;
p = 24;
m = 12;
U = tf(-0.607735,[86440 1],'inputdelay',11840);
V1 = tf(0.000520059,[114410 1]);
V2 = tf(0.002600792,[60160 1]);
V3 = tf(0.000801016,[113840 1]);
Ys = [U V1 V2 V3];
sys = ss(Ys);
sysd = c2d(sys,Ts);
sysnd = absorbDelay(sysd);
plantd = sysnd;
plant = setmpcsignals(plantd,'MV',1,'MD',[2 3 4]);
mpcobj = mpc(plant,Ts,p,m);
[A,B,C,D] = ssdata(plantd)
[L,M,A_,Cm,Bu,Bv,Dvm] = getEstimator(mpcobj)

Risposte (1)

Toshinobu Shintai
Toshinobu Shintai il 26 Apr 2021
以下のリンク先にて、MathWorksのMPCの状態推定について説明しています。プラントのダイナミクスを予測する内部モデルよりもgetEstimatorで得られるモデルの方が次元が大きいのは、外乱やノイズなどの変数が加わっているため、と考えられます。

Prodotti


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!