応用例…Homework
[1] ある航空機の線形状態方程式として、次を考えます。
行列の固有値は次のように求められます。
状態変数として、pitch angle の代わりに、fligt path angle を用いると、次式となります。
また、評価変数は、pitch angle とfligt path angle とすると、その出力方程式は次式のように与えられます。
制御目的は、次図のように、pitch angle とfligt path angle の間の非干渉化を達成し、独立して設定値に合せることです。
図1 航空機の操縦法
[3] 積分動作導入による追従制御
この場合の制御則は次のように構成されます。
●ここでは、等価制御による閉ループ系のが望ましい固有値・固有ベクトルをもつように設計して、次式からスイッチング関数を決める行列を決定します。
の望ましい固有値を
とし、また望ましいモード分布を次により指定します。
このとき次のような行列を得ます。
このときSMC則における行列などは次のように計算されます。
図2 積分動作導入によるSMC制御系応答
MATLAB |
%cAITCRAFT_smci.m
%-----
clear all, close all
A0= [0 0 1.74 0.08 0.59;
0 -1.99 -13.41 -18.95 -3.6;
0 1 -1.74 -0.08 -0.59;
0 0 0 -20 0;
0 0 0 0 -20];
B0=[0 0;0 0;0 0;20 0;0 20];
H=[1 0 1 0 0;1 0 0 0 0];
A=[zeros(2,2) -H ;
zeros(5,2) A0];
B=[zeros(2,2); B0];
Gamma=diag([-0.9,-0.7]);
%-----
lambda=[-5.6 4.2 -1 -0.4 -0.7];
nocomp=1;
specpos=[zeros(2,5);[1 1 1 1 1;1 0 1 1 1;0 1 1 0 1];zeros(2,5)]
specent=[-ones(2,5);[0 0 1 0 1;1 -1 0 1 0;-1 1 0 -1 0];-ones(2,5)]
S=swfvpl(A,B,lambda,nocomp,specpos,specent);
SS=S(:,6:7)\S*0.05
F=(SS*B)\(SS*A)
eig(A-B*F)
%-----
[nn,mm]=size(B);
S1=SS(:,1:nn-mm);
S2=SS(:,nn-mm+1:nn);
Br=eye(nn-mm,mm);
B2=B(nn-mm+1:nn,:);
Lambda=S2*B2;
P2=diag([0.025,0.025]);
Phi=-20/0.025*P2;
Check=P2*Phi+Phi*P2
L=inv(Lambda)*(SS*A-Phi*SS)
%-----
%Sr=[-0.1448 0.0013;0.0196 0.1439]
Sr=zeros(2)
Lr=inv(Lambda)*(Phi*Sr+S1*Br)
Ldr=inv(Lambda)*Sr
Ln=0.1*inv(Lambda)
%-----
sim('AIRCRAFT_smci_2015a.mdl')
%-----
%eof
|
SCILAB |
|