応用例…Homework
[1] ある航空機の線形状態方程式として、次を考えます。
行列の固有値は次のように求められます。
状態変数として、pitch angle の代わりに、fligt path angle を用いると、次式となります。
また、評価変数として、pitch angle とfligt path angle をとると、その出力方程式は次式のように与えられます。
制御目的は、次図のように、pitch angle とfligt path angle の間の非干渉化を達成し、独立して設定値に合せることです。
図1 航空機の操縦法
[2] モデル規範による追従制御
この場合の制御則は次のように構成されます。
●追従すべき規範モデルは
ただし
いまこの規範モデルにもたせるべき望ましい固有値を
とし、また望ましいモード分布を次により指定します。
ここで、は望ましい固有ベクトルの要素を指定する場合1、指定しない場合0で表した行列、は望ましい固有ベクトルの要素が非零指定の場合1、零の場合0、非零任意の場合-1で表した行列です。
このとき以下に示すプログラムを使って、次が得られます。
●ここでは、スイッチング関数
を構成するために
を2次形式評価関数
を最小にする
を求めます。
と選ぶとき、スイッチング関数を決める行列が、次のように得られます。
●を満たすとは、たとえば次のように定めます。
このときSMC則における行列は次のように計算されます。
図2 モデル規範法によるSMC制御系応答
MATLAB |
%cAIRCRAFT_smcm.m
%-----
clear all, close all
A= [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];
B=[0 0;0 0;0 0;20 0;0 20];
%-----
lambda=[-5.6 4.2 -1 -20 -20];
nocomp=1;
%固有ベクトルの非零要素の位置 (1:指定、0:指定せず)
specpos=[ 1 1 1 0 0;
1 0 1 0 0;
0 1 1 0 0;
0 0 0 1 0;
0 0 0 0 1]
%固有ベクトルの要素の値 (0:零、1:非零指定、-1:非零任意)
specent=[ 0 0 1 -1 -1;
1 -1 0 -1 -1;
-1 1 0 -1 -1;
-1 -1 -1 1 -1;
-1 -1 -1 -1 1]
F=vplace2(A,B,lambda,nocomp,specpos,specent)
pl=eig(A-B*F)
%-----
H=[1 0 1 0 0;1 0 0 0 0];
Am=A-B*F;
G=-inv(H*(Am\B));
Bm=B*G;
%-----
Q=diag([10,5,5,20,20]);
S=swflqr(A,B,Q)
%-----
P2=diag([0.025,0.025]);
Phi=-20/0.025*P2;
Check=P2*Phi+Phi*P2
L=inv(S*B)*(S*Am-Phi*S)
Ln=inv(S*B)
%-----
sim('AIRCRAFT_smcm_2015a.mdl')
%-----
%eof
|