系統的h∞範數對應於bode圖中幅值曲線的峰值,而系統的h2範數則對應於bode圖中幅值曲線下方的面積。
h∞範數不超過乙個上界,h2範數盡可能小,以保證系統對於不確定性具有魯棒穩定性,並表現出更好的效能。
在狀態反饋情況下,閉環系統的h∞效能並不能通過增加控制器的階數來加以改進,因此,系統的h∞狀態反饋控制器,總是能夠選擇乙個靜態控制律。
matlab中計算hinf最優控制器命令為:hinfsyn 或者 hinflmi。
連續系統控制器求解舉例:
% hinflmi
clear;clc;
a =[0]
;b =[1
2];c =[1
;-1]
;d =[0
0;10
];p =ltisys
(a,b,c,d)
;% 計算效能指標,和最優控制器k的系統矩陣
[gopt,k]
=hinflmi
(p,[1,
1])% 計算控制器k的狀態空間實現
[ak,bk,ck,dk]
=ltiss
(k)% 如果要求滿足hoo效能gama<
10的乙個次優hoo控制器,輸入為:
%[g,k]
=hinflmi
(p,[1,
1],10
)% 可以求出滿足線性矩陣不等式矩陣x = y1,y = x1
%[g,k,x1,x2,y1,y2]
=hinflmi
(p,[1,
1],10
);%得到控制器矩陣k之後,計算閉環系統:
clsys =
slft
(p,k)
% 檢測系統閉環穩定性,spol返回系統的閉環極點
spol
(clsys)
% 從外部擾動w到被調輸出z的閉環系統的rms增益為:
norminf
(clsys)
% 繪製閉環響應曲線
splot
(clsys,
'bo');
splot
(clsys,
'st'
);
% hinfsyn
gp =
ss(a,b,c,d)
;[kp,cl,gamma]
=hinfsyn
(gp,1,
1);% cl相當於閉環之後的系統,也可以用下面語句求閉環系統
gpc =
lft(gp,kp)
;step
(cl)
% 閉環系統的奇異值圖,以確定最大奇異值不超過gamma
sigma
(cl,
ss(gamma)
)% 限制gamma的範圍
ncont =1;
nmeas =1;
gamrange =
[1.4
1.6]
;[k,cl,gamma,info]
=hinfsyn
(gp,nmeas,ncont,
'gmin'
,1.4
,'gmax'
,1.6
)step
(cl)
% 如果嘗試獲得任何控制器都無法達到的效能水平,則會通知目標太小,
% 並返回空控制器和閉環系統。
為以下控制物件設計混合靈敏度控制器
hinf控制器設計的關鍵是構建動態系統模型,系統模型具有以下形式:
如果p是具有不確定或可調控制設計塊的廣義狀態空間模型,則hinfsyn將使用這些元素的標稱值或當前值。
h∞控制的一種應用是直接對控制系統的閉環奇異值圖進行整形。在此類應用中,可以通過加權函式(環路整形濾波器)來擴充控制物件的輸入和輸出,這些加權函式表示希望h∞控制器滿足的控制目標。控制物件必須是能控和能觀的。
預設情況下,hinfsyn會自動想控制物件中新增額外的干擾或者誤差,以確保滿足對p12,p21的限制,稱為正則化。
cl是下面結構的閉環傳遞函式,也可以由cl = lft(p,k)得到。
演算法:求解下述線性矩陣不等式:
hinfsyn提供了狀態反饋增益和觀測器增益,可以使用它們以觀測器形式表達控制器。控制器k的觀測器形式為:(其中kx,kw,lx,lu可以有info結構體得到)
% 定義控制物件,權重函式
s =zpk
('s');
g =(s-1)
/(s+1)
;w1 =
0.1*
(s+100)/
(100
*s+1);
w2 =
0.1;
w3 =
;p =
augw
(g,w1,w2,w3)
;% 控制器綜合
[k,cl,gamma]
=hinfsyn
(p,1,1
);gamma
% 檢查閉環奇異值
sigma
(cl,
ss(gamma)
)
魯棒控制理論簡介
魯棒控制理論簡介 控制系統的魯棒性研究是現代控制理論研究中乙個非常活躍的領域,魯棒控制問題最早出現在上個世紀人們對於微分方程的研究中。black首先在他的1927年的一項專利上應用了魯棒控制。但是什麼叫做魯棒性呢?其實這個名字是乙個音譯,其英文拼寫為robust。也就是健壯和強壯的意思。控制專家用這...
非線性控制1 0 自適應控制和魯棒控制
魯棒控制是以目的定義的控制方法集合,自適應控制是以手段定義的控制方法集合,這兩種控制都是為了應對 當數學模型不能精確表示實際系統的情況下。狹義的魯棒控制是指h2,hinf,lmi等控制,主要思想是使控制器對模型不確定性 外界擾動,引數擾動 靈敏度最小來保持系統的原有效能。廣義的魯棒控制則是指所有用確...
Linux GPIO控制方法
在檔案系統層 1.進入 sys class gpio 目錄 2.假設你想控制的gpio0 29,步驟如下 1.echo 29 export 2.此時會產生乙個gpio29 的目錄.3.cd gpio29 4.關注以下幾個檔案 direction 這個檔案是控制你是輸出還是輸入模式 如果想設定為輸入 ...