一、 H ∞ / H 2 H_{\infty}/H_2 H∞/H2控制问题
实际设计过程中,人们常常需要系统满足多项性能要求。
对于这样的系统:
x
˙
=
A
x
+
B
u
+
B
1
w
1
+
B
2
w
2
z
1
=
C
1
x
+
D
10
u
+
D
11
w
1
z
2
=
C
2
x
+
D
20
u
+
D
22
w
2
\dot x=Ax+Bu+B_1w_1+B_2w_2\\ z_1=C_1x+D_{10}u+D_{11}w_1\\ z_2=C_2x+D_{20}u+D_{22}w_2
x˙=Ax+Bu+B1w1+B2w2z1=C1x+D10u+D11w1z2=C2x+D20u+D22w2
目的是设计一个控制器,使得闭环系统渐进稳定,并且从
w
1
w_1
w1到
z
1
z_1
z1的闭环传递函数
T
w
1
z
1
T_{w_1z_1}
Tw1z1的
H
∞
H_{\infty}
H∞范数不超过一个给定的上界
γ
1
\gamma_1
γ1,以保证闭环系统具有鲁棒稳定性;同时使得从
w
2
w_2
w2到
z
2
z_2
z2的闭环传递函数
T
w
2
z
2
T_{w_2z_2}
Tw2z2的
H
2
H_2
H2范数尽可能小,以保证用
H
2
H_2
H2范数度量的系统性能处于一个较好的水平。
这样一个问题相当于在使得闭环系统满足:
σ
(
A
c
)
⊂
C
−
,
∣
∣
T
w
1
z
1
∣
∣
∞
<
γ
1
,
∣
∣
T
w
2
z
2
∣
∣
2
<
γ
2
\sigma(A_c)\subset C^-,||T_{w_1z_1}||_{\infty}<\gamma_1,||T_{w_2z_2}||_2<\gamma_2
σ(Ac)⊂C−,∣∣Tw1z1∣∣∞<γ1,∣∣Tw2z2∣∣2<γ2
的所有控制器中,寻找使得 γ 2 \gamma_2 γ2最小化的控制器。这个问题称为系统的多目标 H ∞ / H 2 H_{\infty}/H_2 H∞/H2控制问题。
牺牲系统的鲁棒性,可以在一定程度上改进系统的性能。
二、状态反馈 H ∞ / H 2 H_{\infty}/H_2 H∞/H2控制律设计
1、设计思路
在状态反馈
u
=
K
x
u=Kx
u=Kx的情况下,原闭环系统转化为:
x
˙
=
(
A
+
B
K
)
x
+
B
1
w
1
+
B
2
w
2
z
1
=
(
C
1
+
D
10
K
)
x
+
D
11
w
1
z
2
=
(
C
2
+
D
20
K
)
x
+
D
22
w
2
\dot x=(A+BK)x+B_1w_1+B_2w_2\\ z_1=(C_1+D_{10}K)x+D_{11}w_1\\ z_2=(C_2+D_{20}K)x+D_{22}w_2
x˙=(A+BK)x+B1w1+B2w2z1=(C1+D10K)x+D11w1z2=(C2+D20K)x+D22w2
定理:对原系统和一个给定的标量
γ
1
>
0
\gamma_1>0
γ1>0,若
D
22
=
0
D_{22}=0
D22=0,以下的优化问题:
m
i
n
γ
2
s
.
t
.
[
A
X
+
B
W
+
(
A
X
+
B
W
)
T
B
1
(
C
1
X
+
D
10
W
)
T
B
1
T
−
γ
1
I
D
11
T
C
1
X
+
D
10
W
D
11
−
γ
1
I
]
<
0
A
X
+
B
W
+
(
A
X
+
B
W
)
T
+
B
2
B
2
T
<
0
[
−
Z
C
2
X
+
D
20
W
(
C
2
X
+
D
20
W
)
T
−
X
]
<
0
T
r
a
c
e
(
Z
)
<
γ
2
min~~\gamma_2\\ s.t.~~\begin{bmatrix} AX+BW+(AX+BW)^T & B_1 & (C_1X+D_{10}W)^T \\ B_1^T & -\gamma_1I & D_{11}^T \\ C_1X+D_{10}W & D_{11} & -\gamma_1I \end{bmatrix}<0 \\ AX+BW+(AX+BW)^T+B_2B_2^T<0 \\ \begin{bmatrix} -Z & C_2X+D_{20}W \\ (C_2X+D_{20}W)^T & -X \end{bmatrix}<0 \\ Trace(Z)<\gamma_2
min γ2s.t. ⎣⎡AX+BW+(AX+BW)TB1TC1X+D10WB1−γ1ID11(C1X+D10W)TD11T−γ1I⎦⎤<0AX+BW+(AX+BW)T+B2B2T<0[−Z(C2X+D20W)TC2X+D20W−X]<0Trace(Z)<γ2
有一个最优解X、W,则系统的状态反馈 H ∞ / H 2 H_{\infty}/H_2 H∞/H2控制问题是可解的,并且 u = W X − 1 x u=WX^{-1}x u=WX−1x是系统的一个状态反馈 H ∞ / H 2 H_{\infty}/H_2 H∞/H2控制律。
以上问题是一个具有线性矩阵不等式约束和线性目标函数的凸优化问题,可应用LMI工具箱的求解器mincx来求解。
2、代码实例
clc;clear all
%% 某系统
A=[0 1 0 0;
0 -0.0883 0.6293 0;
0 0 0 1;
0 -0.2357 27.8285 0] ;
B=[0 1.05 0 10.2]';
B1=[0 2.3566 0 104.2027]';
B2=[0 0.8832 0 2.3566]';
C1=[0.064 0 0 0;
0 1e-3 0 0;
0 0 0.11 0;
0 0 0 0.01;
0 0 0 0];
D10=[0 0 0 0 0.01]';
D11=[0 0 0 0 0.01]';
C2=[1 0 0 0;
0 0 1 0;
0 0 0 0;
0 0 0 0];
D20=[0 0 0 0.01]';
D22=[0 0 0 0]';
%% 状态反馈H2/H无穷控制器
gamma1=5;
setlmis([])
X=lmivar(1,[4 1]); % 对称正定矩阵X
W=lmivar(2,[1 4]); % 矩阵W
gamma2=lmivar(1,[1 1]); % gamma
[Z11,~,sZ11]=lmivar(1,[1 1]); % Z11
[Z12,~,sZ12]=lmivar(1,[1 1]); % Z12
[Z13,~,sZ13]=lmivar(1,[1 1]); % Z13
[Z14,~,sZ14]=lmivar(1,[1 1]); % Z14
[Z22,~,sZ22]=lmivar(1,[1 1]); % Z22
[Z23,~,sZ23]=lmivar(1,[1 1]); % Z23
[Z24,~,sZ24]=lmivar(1,[1 1]); % Z24
[Z33,~,sZ33]=lmivar(1,[1 1]); % Z33
[Z34,~,sZ34]=lmivar(1,[1 1]); % Z34
[Z44,~,sZ44]=lmivar(1,[1 1]); % Z44
Z=lmivar(3,[sZ11, sZ12, sZ13, sZ14;
sZ12, sZ22, sZ23, sZ24;
sZ13, sZ23, sZ33, sZ34;
sZ14, sZ24, sZ34, sZ44;]);
lmiterm([1 1 1 X],A,1,'s'); % AX+(AX)' 11
lmiterm([1 1 1 W],B,1,'s'); % BW+(BW)' 11
lmiterm([1 2 1 0],B1'); % B1' 21
lmiterm([1 2 2 0],-gamma1); % -gamma1I 22
lmiterm([1 3 1 X],C1,1); % C1X 31
lmiterm([1 3 1 W],D10,1); % D10W 31
lmiterm([1 3 2 0],D11); % D11 32
lmiterm([1 3 3 0],-gamma1); % -I 33
lmiterm([2 1 1 X],A,1,'s'); % AX+(AX')
lmiterm([2 1 1 W],B,1,'s'); % BW+(BW)' 11
lmiterm([2 1 1 0],B2*B2'); % B2B2'
lmiterm([3 1 1 Z],-1,1); % -Z
lmiterm([3 1 2 X],C2,1); % C2X
lmiterm([3 1 2 W],D20,1); % D20W
lmiterm([3 2 2 X],-1,1); % -X
lmiterm([4 1 1 Z11],1,1); % Z11
lmiterm([4 1 1 Z22],1,1); % Z22
lmiterm([4 1 1 Z33],1,1); % Z33
lmiterm([4 1 1 Z44],1,1); % Z44
lmiterm([-4 1 1 gamma2],1,1); % gamma
lmisys=getlmis;
n = decnbr(lmisys); % 系统决策变量个数
c = zeros(n,1); % 确定向量c的维数
for j=1:n
[r1j]=defcx(lmisys,j,gamma2);
c(j)=trace(r1j);
end
[copt,xopt]=mincx(lmisys,c);
XX3=dec2mat(lmisys,xopt,X);
WW3=dec2mat(lmisys,xopt,W);
K3=WW3*(XX3)^-1;
gammaa=dec2mat(lmisys,xopt,gamma2);
输出结果为:best objective value: 7.177674
三、hinfmix函数
LMI工具箱提供了求解 H ∞ / H 2 H_{\infty}/H_2 H∞/H2控制问题的一个函数hinfmix,该函数求解了原系统的多目标输出反馈控制问题。
hinfmix可以计算这样一个综合问题的解。
设计一个线性时不变控制器K,使得闭环系统满足:
- ∣ ∣ T w z ∞ ∣ ∣ ∞ < γ 0 ||T_{wz_{\infty}}||_{\infty}<\gamma_0 ∣∣Twz∞∣∣∞<γ0
- ∣ ∣ T w z 2 ∣ ∣ 2 < ν 0 ||T_{wz_2}||_2<\nu_0 ∣∣Twz2∣∣2<ν0
- 闭环系统的极点位于某个给定的LMI区域
- 性能指标 α ∣ ∣ T w z ∞ ∣ ∣ ∞ 2 + β ∣ ∣ T w z 2 ∣ ∣ 2 2 \alpha||T_{wz_{\infty}}||_{\infty}^2+\beta||T_{wz_2}||_2^2 α∣∣Twz∞∣∣∞2+β∣∣Twz2∣∣22最小化
函数hinfmix的一般形式是[gopt,h2opt,K,R,S]=hinfmix(P,r,obj,region,dkbnd,tol);
其中,P是控制对象的系统矩阵表示,r是一个3元向量,依次表示
z
2
z_2
z2、y和u的维数。
o
b
j
=
[
γ
0
,
ν
0
,
α
,
β
]
obj=[\gamma_0,\nu_0,\alpha,\beta]
obj=[γ0,ν0,α,β]是一个4元向量,表示
H
∞
/
H
2
H_{\infty}/H_2
H∞/H2约束及
H
∞
性
能
和
H
2
H_{\infty}性能和H_2
H∞性能和H2性能的权重情况,其余部分是可选项。
本文是作者在日常学习生活中所作,难免有遗漏或错误,遇到问题的读者请点击给我写信向我的邮箱反馈,不胜感激。