控制中的 LMI/頁面/H 無限飛機最佳化
外觀
LMIs in Control/pages/H inf Aircraft Optimization
穩健 飛機動力學
此最佳化問題涉及使用調節器框架最佳化飛機動力學,並使用以下飛機動力學集最佳化給定的飛機引數。 這些飛機動力學由正在測試的飛機的各種引數定義了無量綱特性。 透過使這些特性無量綱,它允許問題擴充套件到更大的比例。 例如,飛機系統的縱向動力學定義如下:
該最佳化問題涉及與全反饋控制設計中相同的流程;然而,它不是最佳化最佳輸出反饋控制設計的全輸出反饋設計,而是透過定義 9 矩陣系統如下進行: , , , , , , , 和 。這種型別的最佳化允許對 LMI 進行堆疊以實現魯棒 最佳化的控制器綜合。
資料取決於 9 矩陣工廠狀態空間表示的型別;因此,為了計算該 LMI,必須知道以下內容:,,,,,,, 和 。
存在標量,,以及矩陣 和 ,其中
其中,最佳化後的控制器矩陣定義如下:
其中
這個LMI的結果給出了一個魯棒的 ,最佳化可以穩定各種飛機動力學。
%clears all variables
clear; clc; close all;
%Time interval end (20 s)
time = 20;
%Error term
eta = 1E-5;
%NOTE: THE F16 DOES INCLUDE A POW TERM IN THE EQUATION
%THRUST IS A PART OF THE DYNAMICS OF AIRCRAFT
Ac = [-0.0829 -23.6803 -4.6523 -32.1740 0.3440;
-0.0014 -0.3303 0.0168 -0.0000 -0.0007;
0.0000 -0.6972 -0.5711 0.0 0.0 ;
0.0 0.0 1.0 0.0 0.0 ;
0.0 0.0 0.0 0.0 -1.0 ];
Bc = [ 0.0 -0.0606;
1.0 -0.0008;
0.0 -0.0295;
0.0 0.0 ;
64.94 0.0 ];
Cc = eye(2,5);
Dc = zeros(2,2);
%PLACING INTO TRACKING FRAMEWORK
% Making zero matrices
Zb= zeros(5,2);
Zc= zeros(2,5);
Zd= zeros(2,2);
%Making Identity Matrices
I = eye(5,5);
Ie= eye(2,2);
Id= eye(2,2);
%creation of plant
Po = [Ac Bc; Cc Dc];
%9 Matrix representation
%9 Matrix representation
A = Ac;
B1 = [Bc Zb];
B2 = Bc;
C1 = [Cc; Zc];
C2 = Cc;
D11 = [Zd Zd; Zd Zd];
D12 = [Dc; Id];
D21 = [Dc Id];
D22 = Dc;
P = [A B1 B2; C1 D11 D12; C2 D21 D22];
%Finding Nr and Ns
Nr = null([B2' D12']);
Ns = null([C2 D21]);
%Creating LMI
R = sdpvar(5,5);
S = sdpvar(5,5);
gamma = sdpvar(1);
%Matrices for LMI
M1 = [A*R + R*A' R*C1' B1 ;
C1*R -gamma*eye(4) D11 ;
B1' D11' -gamma*eye(4)];
Mr = [Nr zeros(9,6); zeros(4,7) eye(4,6)];
M2 = [A'*S + S*A S*B1 C1' ;
B1'*S -gamma*eye(4) D11' ;
C1 D11 -gamma*eye(4)];
Ms = [Ns zeros(9,6); zeros(4,7) eye(4,6)];
M3 = [R eye(5); eye(5) S];
%objective function
obj = gamma;
%Constraints
Fc = (M3 >= eta*eye(10));
Fc = [Fc; Ms'*M2*Ms <= 0];
Fc = [Fc; Mr'*M1*Mr <= 0];
opt = sdpsettings('solver','sedumi');
%Optimization
optimize(Fc,obj,opt)
fprintf('\n\nHinf for Robust Hinf optimal state-feedback problem is: ')
display(value(gamma))
%Stuff that needs to be calculated for
S = value(S);
R = value(R);
gamma = value(gamma);
N = S;
M = S^(-1) - R;
F = -(D12'*D12)^(-1)*(gamma*B2'*R^(-1)+D12'*C1);
L = -(gamma*S^(-1)*C2'+B1*D21')*(D21*D21')^(-1);
%Calculated stuff
Ak = -N*(A'+S*(A+B2*F+L*C2)*R+1/gamma*S*(B1+L*D21)*B1'...
+1/gamma*C1'*(C1+D12*F)*R)*M';
Bk = N^(-1)*S*L;
Ck = F*R*(M')^(-1);
Dk = 0;
- 最優和魯棒控制中的LMI方法 - 馬修·皮特的關於控制中LMIs的一門課程。
- - 飛機穩定性和控制簡介 - 戴維·A·考伊關於飛機穩定性的一本書。
- - 基於線性矩陣不等式的比例積分控制設計及其在F-16飛機中的應用 - Z. Theodore的博士論文。