控制中的 LMI / 頁面 / 切換系統 Hinf 最佳化
外觀
控制中的 LMI / 頁面 / 切換系統 Hinf 最佳化
切換系統 最佳化
這個最佳化問題涉及使用狀態反饋系統設計,不同之處在於在最佳化過程中最佳化具有“切換”屬性的系統矩陣的系統。這類似於考慮具有可變不確定性的系統;一個例子是矩陣 中的多面體不確定性。無論哪個矩陣正在切換狀態,都必須使用相同的變數對兩種情況進行最佳化。
首先透過定義 9 矩陣系統如下: , , , , , , , ,以及 。使用這種型別的最佳化允許堆疊不同的 LMI 矩陣狀態,以實現 的控制器合成。
資料取決於 9 矩陣系統狀態空間表示的型別;因此,為了計算這個 LMI,必須知道以下內容:,,,,,,, 和 。還需要考慮的是,哪個或哪些矩陣將在最佳化過程中“切換”。這可以用 表示。
LMI: 切換系統 最佳化
[edit | edit source]存在一個標量 ,以及矩陣 和 ,其中
其中 是控制器矩陣。這也假設唯一的切換矩陣是 ;然而,其他矩陣可以在狀態中切換,以使控制器更加魯棒。
結論
[edit | edit source]這個 LMI 的結果給出了一個控制器增益,它是對切換系統最佳化的 的最佳化。
實現
[edit | edit source]% Switched System Hinf example
% -- EXAMPLE --
clear; clc; close all;
%Given
A = [ 1 1 0 1 0 1;
-1 -1 -1 0 0 1;
1 0 1 -1 1 1;
-1 1 -1 -1 0 0;
-1 -1 1 1 1 -1;
0 -1 0 0 -1 -1];
B1 = [ 0 -1 -1;
0 0 0;
-1 1 1;
-1 0 0;
0 0 1;
-1 1 1];
B21= [ 0 0 0;
-1 0 1;
-1 1 0;
1 -1 0;
-1 0 -1;
0 1 1];
B22= [ 0 0 0;
-1 0 1;
-1 1 0;
1 1 0;
1 0 1;
0 -3 -1];
C1 = [ 0 1 0 -1 -1 -1;
0 0 0 -1 0 0;
1 0 0 0 -1 0];
D12= [ 1 1 1;
0 0 0;
0.1 0.2 0.4];
D11= [ 1 2 3;
0 0 0;
0 0 0];
%Error
eta = 1E-4;
%sizes of matrices
numa = size(A,1); %states
numb2 = size(B21,2); %actuators
numb1 = size(B1,2); %external inputs
numc1 = size(C1,1); %regulated outputs
%variables
gam = sdpvar(1);
Y = sdpvar(numa);
Z = sdpvar(numb2,numa,'full');
%Matrix for LMI optimization
M1 = [Y*A'+A*Y+Z'*B21'+B21*Z B1 Y*C1'+Z'*D12';
B1' -gam*eye(numb1) D11';
C1*Y+D12*Z D11 -gam*eye(numc1)];
M2 = [Y*A'+A*Y+Z'*B22'+B22*Z B1 Y*C1'+Z'*D12';
B1' -gam*eye(numb1) D11';
C1*Y+D12*Z D11 -gam*eye(numc1)];
%Constraints
Fc = (M1 <= 0);
Fc = [Fc; M2 <= 0];
Fc = [Fc; Y >= eta*eye(numa)];
opt = sdpsettings('solver','sedumi');
%Objective function
obj = gam;
%Optimizing given constraints
optimize(Fc,obj,opt);
%Displays output Hinf gain
fprintf('\n\nHinf for Hinf optimal state-feedback problem is: ')
display(value(gam))
F = value(Z)*inv(value(Y)); %#ok<MINV>
fprintf('\n\nState-Feedback controller F matrix')
display(F)
外部連結
[edit | edit source]- 控制中的 LMI 方法 - Matthew Peet 關於控制中 LMI 的課程。