H无穷控制(H无穷控制学习笔记——H无穷控制)

发布时间:2025-12-10 19:13:48 浏览次数:4

H无穷控制学习笔记——H无穷控制-H无穷控制算法

H无穷控制学习笔记——H无穷控制一、H∞H_\inftyH∞​控制总纲针对广义系统:其中,G(s)是一个线性定常系统,其状态空间描述为:x˙=Ax+B1w+B2uz=C1x+D11w+D12uy=C2x+D21w+D22u\dotx=Ax+B_1w+B_2u\\z=C_1x+D_{11}w+D_{12}u\\y=C_2x+D_{21}w+D_{22}ux˙=Ax+B1​w+B2​uz=C1​x+D11​w+D12​uy=C2​x+D21​w+D22​u其中,x∈Rnx\inR^nx∈Rn是状态向量,u∈Rmu\inR^mu∈R_h无穷控制

一、 H ∞ H_\infty H∞​控制总纲

针对广义系统:

其中,G(s)是一个线性定常系统,其状态空间描述为: x ˙ = A x + B 1 w + B 2 u z = C 1 x + D 11 w + D 12 u y = C 2 x + D 21 w + D 22 u \dot x=Ax+B_1w+B_2u\\z=C_1x+D_{11}w+D_{12}u\\y=C_2x+D_{21}w+D_{22}u x˙=Ax+B1​w+B2​uz=C1​x+D11​w+D12​uy=C2​x+D21​w+D22​u其中, x ∈ R n x\in R^n x∈Rn是状态向量, u ∈ R m u\in R^m u∈Rm是控制输入, y ∈ R p y\in R^p y∈Rp是测量输出, z ∈ R r z\in R^r z∈Rr是被调输出, w ∈ R q w\in R^q w∈Rq是外部扰动,K(s)是控制器的传递函数。

目的是设计一个控制器 u ( s ) = K ( s ) y ( s ) u(s)=K(s)y(s) u(s)=K(s)y(s),使得闭环系统满足:

闭环系统内部稳定,即闭环系统状态矩阵的所有特征值均在左半开复平面上;从扰动输入w到被调输出z的闭环传递函数 T w z ( s ) T_{wz}(s) Twz​(s)的 H ∞ H_\infty H∞​范数小于1,即 ∣ ∣ T w z ( s ) ∣ ∣ ∞ < 1 ||T_{wz}(s)||_{\infty}<1 ∣∣Twz​(s)∣∣∞​<1。

二、状态反馈 H ∞ H_\infty H∞​控制

1、闭环传递函数的确定

假定系统的状态是可测的,要求设计一个静态状态反馈控制器 u = K x u=Kx u=Kx使得原线性定常系统渐进稳定且闭环传递函数 ∣ ∣ T w z ( s ) ∣ ∣ ∞ < 1 ||T_{wz}(s)||_{\infty}<1 ∣∣Twz​(s)∣∣∞​<1。

原系统为: x ˙ = A x + B 1 w + B 2 u z = C 1 x + D 11 w + D 12 u \dot x=Ax+B_1w+B_2u\\z=C_1x+D_{11}w+D_{12}u x˙=Ax+B1​w+B2​uz=C1​x+D11​w+D12​u

将 u = K x u=Kx u=Kx代入该系统得到: x ˙ = ( A + B 2 K ) x + B 1 w z = ( C 1 + D 12 K ) x + D 11 w \dot x=(A+B_2K)x+B_1w\\z=(C_1+D_{12}K)x+D_{11}w x˙=(A+B2​K)x+B1​wz=(C1​+D12​K)x+D11​w

状态空间方程到传递函数的转换关系为 G ( s ) = C ( s I − A ) − 1 B + D G(s)=C(sI-A)^{-1}B+D G(s)=C(sI−A)−1B+D,套用得到闭环传递函数 T w z ( s ) T_{wz}(s) Twz​(s): T w z ( s ) = ( C 1 + D 12 K ) [ s I − ( A + B 2 K ) ] − 1 B 1 + D 11 T_{wz}(s)=(C_1+D_{12}K)[sI-(A+B_2K)]^{-1}B_1+D_{11} Twz​(s)=(C1​+D12​K)[sI−(A+B2​K)]−1B1​+D11​

2、状态反馈 H ∞ H_\infty H∞​控制器

而根据定理:
当且仅当存在一个对称正定矩阵P,使得:
[ ( A + B 2 K ) T P + P ( A + B 2 K ) P B 1 ( C 1 + D 12 K ) T B 1 T P − I D 11 T C 1 + D 12 K D 11 − I ] < 0 \begin{bmatrix} (A+B_2K)^TP+P(A+B_2K) & PB_1 & (C_1+D_{12}K)^T \\ B_1^TP & -I & D_{11}^T \\ C_1+D_{12}K & D_{11} & -I \end{bmatrix}<0 ⎣⎡​(A+B2​K)TP+P(A+B2​K)B1T​PC1​+D12​K​PB1​−ID11​​(C1​+D12​K)TD11T​−I​⎦⎤​<0

为了求解未知矩阵变量K和P,使用变量替换法,将其转化为一个等价的关于新变量的线性矩阵不等式。
对其分别左乘和右乘矩阵 d i a g { P − 1 , I , I } diag\{P^{-1},I,I\} diag{
P−1,I,I},得到:
[ ( A P − 1 + B 2 K P − 1 ) + ( A P − 1 + B 2 K P − 1 ) T B 1 ( C 1 P − 1 + D 12 K P − 1 ) T B 1 T − I D 11 T C 1 P − 1 + D 12 K P − 1 D 11 − I ] < 0 \begin{bmatrix} (AP^{-1}+B_2KP^{-1})+(AP^{-1}+B_2KP^{-1})^T & B_1 & (C_1P^{-1}+D_{12}KP^{-1})^T \\ B_1^T & -I & D_{11}^T \\ C_1P^{-1}+D_{12}KP^{-1} & D_{11} & -I \end{bmatrix}<0 ⎣⎡​(AP−1+B2​KP−1)+(AP−1+B2​KP−1)TB1T​C1​P−1+D12​KP−1​B1​−ID11​​(C1​P−1+D12​KP−1)TD11T​−I​⎦⎤​<0

定义 X = P − 1 X=P^{-1} X=P−1和 W = K X W=KX W=KX,得到:
[ ( A X + B 2 W ) + ( A X + B 2 W ) T B 1 ( C 1 X + D 12 W ) T B 1 T − I D 11 T C 1 X + D 12 W D 11 − I ] < 0 \begin{bmatrix} (AX+B_2W)+(AX+B_2W)^T & B_1 & (C_1X+D_{12}W)^T \\ B_1^T & -I & D_{11}^T \\ C_1X+D_{12}W & D_{11} & -I \end{bmatrix}<0 ⎣⎡​(AX+B2​W)+(AX+B2​W)TB1T​C1​X+D12​W​B1​−ID11​​(C1​X+D12​W)TD11T​−I​⎦⎤​<0
定理:对于原线性定常系统,存在一个状态反馈 H ∞ H_\infty H∞​控制器,当且仅当存在一个对称正定矩阵X和矩阵W(W不对称正定),使得 [ ( A X + B 2 W ) + ( A X + B 2 W ) T B 1 ( C 1 X + D 12 W ) T B 1 T − I D 11 T C 1 X + D 12 W D 11 − I ] < 0 \begin{bmatrix} (AX+B_2W)+(AX+B_2W)^T & B_1 & (C_1X+D_{12}W)^T \\ B_1^T & -I & D_{11}^T \\ C_1X+D_{12}W & D_{11} & -I \end{bmatrix}<0 ⎣⎡​(AX+B2​W)+(AX+B2​W)TB1T​C1​X+D12​W​B1​−ID11​​(C1​X+D12​W)TD11T​−I​⎦⎤​<0和 X > 0 X>0 X>0成立,并且可行解 X ∗ X^* X∗和 W ∗ W^* W∗组成的 u = W ∗ ( X ∗ ) − 1 x u=W^*(X^*)^{-1}x u=W∗(X∗)−1x是系统的一个状态反馈 H ∞ H_\infty H∞​控制器。

该矩阵不等式是矩阵变量X和W的一个线性矩阵不等式,可利用LMI工具箱的求解器feasp来求解。

3、状态反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器

对于给定标量 γ > 0 \gamma>0 γ>0,为了求系统的状态反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器,由于:
∣ ∣ T w z ( s ) ∣ ∣ ∞ < γ ||T_{wz}(s)||_{\infty}<\gamma ∣∣Twz​(s)∣∣∞​<γ得到: ∣ ∣ γ − 1 T w z ( s ) ∣ ∣ ∞ < 1 ||\gamma^{-1}T_{wz}(s)||_{\infty}<1 ∣∣γ−1Twz​(s)∣∣∞​<1得到:
∣ ∣ γ − 1 T w z ( s ) ∣ ∣ ∞ = ∣ ∣ γ − 1 ( C 1 + D 12 K ) [ s I − ( A + B 2 K ) ] − 1 B 1 + γ − 1 D 11 ∣ ∣ < 1 ||\gamma^{-1}T_{wz}(s)||_{\infty}=||\gamma^{-1}(C_1+D_{12}K)[sI-(A+B_2K)]^{-1}B_1+\gamma^{-1}D_{11}||<1 ∣∣γ−1Twz​(s)∣∣∞​=∣∣γ−1(C1​+D12​K)[sI−(A+B2​K)]−1B1​+γ−1D11​∣∣<1

因此,可以通过用 γ − 1 C 1 \gamma^{-1}C_1 γ−1C1​、 γ − 1 D 12 \gamma^{-1}D_{12} γ−1D12​和 γ − 1 D 11 \gamma^{-1}D_{11} γ−1D11​代替原矩阵 C 1 C_1 C1​、 D 12 D_{12} D12​和 D 11 D_{11} D11​,按原设计思路即可得到状态反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器。

此时,原矩阵不等式可写为:
[ ( A X + B 2 W ) + ( A X + B 2 W ) T B 1 γ − 1 ( C 1 X + D 12 W ) T B 1 T − I γ − 1 D 11 T γ − 1 ( C 1 X + D 12 W ) γ − 1 D 11 − I ] < 0 \begin{bmatrix} (AX+B_2W)+(AX+B_2W)^T & B_1 & \gamma^{-1}(C_1X+D_{12}W)^T \\ B_1^T & -I & \gamma^{-1}D_{11}^T \\ \gamma^{-1}(C_1X+D_{12}W) & \gamma^{-1}D_{11} & -I \end{bmatrix}<0 ⎣⎡​(AX+B2​W)+(AX+B2​W)TB1T​γ−1(C1​X+D12​W)​B1​−Iγ−1D11​​γ−1(C1​X+D12​W)Tγ−1D11T​−I​⎦⎤​<0

将上式分别左乘和右乘矩阵 d i a g { I , I , γ I } diag\{I,I,\gamma I\} diag{
I,I,γI},得到: [ ( A X + B 2 W ) + ( A X + B 2 W ) T B 1 ( C 1 X + D 12 W ) T B 1 T − I D 11 T C 1 X + D 12 W D 11 − γ 2 I ] < 0 \begin{bmatrix} (AX+B_2W)+(AX+B_2W)^T & B_1 & (C_1X+D_{12}W)^T \\ B_1^T & -I & D_{11}^T \\ C_1X+D_{12}W & D_{11} & -\gamma^2I \end{bmatrix}<0 ⎣⎡​(AX+B2​W)+(AX+B2​W)TB1T​C1​X+D12​W​B1​−ID11​​(C1​X+D12​W)TD11T​−γ2I​⎦⎤​<0
因此,对于原线性定常系统,存在一个状态反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器,当且仅当存在一个对称正定矩阵X和矩阵W(W不对称正定),使得 [ ( A X + B 2 W ) + ( A X + B 2 W ) T B 1 ( C 1 X + D 12 W ) T B 1 T − I D 11 T C 1 X + D 12 W D 11 − γ 2 I ] < 0 \begin{bmatrix} (AX+B_2W)+(AX+B_2W)^T & B_1 & (C_1X+D_{12}W)^T \\ B_1^T & -I & D_{11}^T \\ C_1X+D_{12}W & D_{11} & -\gamma^2I \end{bmatrix}<0 ⎣⎡​(AX+B2​W)+(AX+B2​W)TB1T​C1​X+D12​W​B1​−ID11​​(C1​X+D12​W)TD11T​−γ2I​⎦⎤​<0和 X > 0 X>0 X>0成立,并且可行解 X ∗ X^* X∗和 W ∗ W^* W∗组成的 u = W ∗ ( X ∗ ) − 1 x u=W^*(X^*)^{-1}x u=W∗(X∗)−1x是系统的一个状态反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器。

4、状态反馈最优 H ∞ H_\infty H∞​控制器

基于状态反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器的存在条件,建立这样一个优化问题:
m i n ρ s . t . [ ( A X + B 2 W ) + ( A X + B 2 W ) T B 1 ( C 1 X + D 12 W ) T B 1 T − I D 11 T C 1 X + D 12 W D 11 − ρ I ] < 0 X > 0 min~\rho\\s.t.~\begin{bmatrix} (AX+B_2W)+(AX+B_2W)^T & B_1 & (C_1X+D_{12}W)^T \\ B_1^T & -I & D_{11}^T \\ C_1X+D_{12}W & D_{11} & -\rho I \end{bmatrix}<0\\X>0 minρs.t.⎣⎡​(AX+B2​W)+(AX+B2​W)TB1T​C1​X+D12​W​B1​−ID11​​(C1​X+D12​W)TD11T​−ρI​⎦⎤​<0X>0

该问题是一个具有线性矩阵不等式约束和线性目标函数的凸优化问题,可以应用LMI工具箱的求解mincx来求解。如果该问题有解,就可以得到系统的状态反馈最优 H ∞ H_\infty H∞​控制器。

三、输出反馈 H ∞ H_\infty H∞​控制

1、设计思路

当系统状态难以测量时,可以选择输出反馈的控制方式。
要求设计一个输出反馈控制器 u = K y u=Ky u=Ky使得原线性定常系统渐进稳定且闭环传递函数 ∣ ∣ T w z ( s ) ∣ ∣ ∞ < 1 ||T_{wz}(s)||_{\infty}<1 ∣∣Twz​(s)∣∣∞​<1。

首先,需要假定: ( A , B 2 , C 2 ) (A,B_2,C_2) (A,B2​,C2​)是能稳能检测的; D 22 = 0 D_{22}=0 D22​=0。

将 u = K y u=Ky u=Ky写成状态空间形式为:
x ^ ˙ = A K x ^ + B K y u = C K x ^ + D K y \dot{\widehat x}=A_K\widehat x+B_Ky\\u=C_K\widehat x+D_Ky x
˙=AK​x
+BK​yu=CK​x
+DK​y

其中, x ^ \widehat x x
是控制器的状态,而 A K A_K AK​、 B K B_K BK​、 C K C_K CK​、 D K D_K DK​是待确定的控制器参数矩阵。

将控制器代入到原系统得到新的闭环系统为:
[ x ˙ x ^ ˙ ] = [ A + B 2 D K C 2 B 2 C K B K C 2 A K ] [ x x ^ ] + [ B 1 + B 2 D K D 21 B K D 21 ] w z = [ C 1 + D 12 D K C 2 D 12 C K ] [ x x ^ ] + ( D 11 + D 12 D K D 21 ) w \begin{bmatrix}\dot x \\ \dot{\widehat x} \end{bmatrix}= \begin{bmatrix}A+B_2D_KC_2 & B_2C_K \\ B_KC_2 & A_K \end{bmatrix} \begin{bmatrix}x \\ \widehat x \end{bmatrix}+ \begin{bmatrix}B_1+B_2D_KD_{21} \\ B_KD_{21} \end{bmatrix}w\\ z=\begin{bmatrix}C_1+D_{12}D_KC_2 & D_{12}C_K \end{bmatrix} \begin{bmatrix}x \\ \widehat x \end{bmatrix}+(D_{11}+D_{12}D_KD_{21})w [x˙x
˙​]=[A+B2​DK​C2​BK​C2​​B2​CK​AK​​][xx
​]+[B1​+B2​DK​D21​BK​D21​​]wz=[C1​+D12​DK​C2​​D12​CK​​][xx
​]+(D11​+D12​DK​D21​)w

简化为:
ξ ˙ = A c 1 ξ + B c 1 w z = C c 1 ξ + D c 1 w \dot \xi=A_{c1}\xi+B_{c1}w\\ z=C_{c1}\xi+D_{c1}w ξ˙​=Ac1​ξ+Bc1​wz=Cc1​ξ+Dc1​w

因此,根据定理:
新的闭环系统渐近稳定且 H ∞ H_\infty H∞​范数小于1的充要条件是存在一个对称正定矩阵 X c 1 X_{c1} Xc1​,使得:
[ A c 1 T X c 1 + X c 1 A c 1 X c 1 B c 1 C c 1 T B c 1 T X c 1 − I D c 1 T C c 1 D c 1 − I ] < 0 \begin{bmatrix} A_{c1}^TX_{c1}+X_{c1}A_{c1} & X_{c1}B_{c1} & C_{c1}^T \\ B_{c1}^TX_{c1} & -I & D_{c1}^T \\ C_{c1} & D_{c1} & -I \end{bmatrix}<0 ⎣⎡​Ac1T​Xc1​+Xc1​Ac1​Bc1T​Xc1​Cc1​​Xc1​Bc1​−IDc1​​Cc1T​Dc1T​−I​⎦⎤​<0

2、消元法设计输出反馈 H ∞ H_\infty H∞​控制器

定理:原线性定常系统存在一个输出反馈 H ∞ H_\infty H∞​控制器,当且仅当存在对称正定矩阵X和Y(Y也对称正定),使得:

[ N 0 0 0 I ] T [ A T X + X A X B 1 C 1 T B 1 T X − I D 11 T C 1 D 11 − I ] [ N 0 0 0 I ] < 0 \begin{bmatrix} N_0 & 0 \\ 0 & I \end{bmatrix}^T\begin{bmatrix} A^TX+XA & XB_1 & C_1^T \\ B_1^TX & -I & D_{11}^T \\ C_1 & D_{11} & -I \end{bmatrix}\begin{bmatrix} N_0 & 0 \\ 0 & I \end{bmatrix}<0 [N0​0​0I​]T⎣⎡​ATX+XAB1T​XC1​​XB1​−ID11​​C1T​D11T​−I​⎦⎤​[N0​0​0I​]<0 [ N c 0 0 I ] T [ A Y + Y A T Y C 1 T B 1 C 1 Y − I D 11 B 1 T C 1 D 11 T − I ] [ N c 0 0 I ] < 0 \begin{bmatrix} N_c & 0 \\ 0 & I \end{bmatrix}^T\begin{bmatrix} AY+YA^T & YC_1^T & B_1 \\ C_1Y & -I & D_{11} \\ B_1^TC_1 & D_{11}^T & -I \end{bmatrix}\begin{bmatrix} N_c & 0 \\ 0 & I \end{bmatrix}<0 [Nc​0​0I​]T⎣⎡​AY+YATC1​YB1T​C1​​YC1T​−ID11T​​B1​D11​−I​⎦⎤​[Nc​0​0I​]<0 [ X I I Y ] ≥ 0 \begin{bmatrix} X & I \\ I & Y \end{bmatrix}\ge0 [XI​IY​]≥0

其中, N 0 N_0 N0​和 N c N_c Nc​分别是以子空间 k e r ( [ C 2 D 21 ] ) ker([C_2~~D_{21}]) ker([C2​D21​])和 k e r ( [ B 2 T D 12 T ] ) ker([B_2^T~~D_{12}^T]) ker([B2T​D12T​])中任意一组基向量作为列向量所构成的矩阵。可以应用LMI工具箱的求解器feasp来求解。

按以下步骤设计所需要的输出反馈 H ∞ H_\infty H∞​控制器:

求解满足以上定理的矩阵X和Y;求解满足 X − Y − 1 = X 2 X 2 T X-Y^{-1}=X_2X_2^T X−Y−1=X2​X2T​的矩阵 X 2 ∈ R n × n K X_2\in R^{n\times n_K} X2​∈Rn×nK​,其中 n K n_K nK​可以选成矩阵 X − Y − 1 X-Y^{-1} X−Y−1的秩;用 X X X和 X 2 X_2 X2​构造 X c 1 = [ X X 2 T X 2 I ] X_{c1}=\begin{bmatrix} X & X_2^T \\ X_2 & I \end{bmatrix} Xc1​=[XX2​​X2T​I​];将矩阵 X c 1 X_{c1} Xc1​代入到矩阵不等式 H X c 1 + P X c 1 T K Q + Q T K T P X c 1 < 0 H_{X_{c1}}+P_{X_{c1}}^TKQ+Q^TK^TP_{X_{c1}}<0 HXc1​​+PXc1​T​KQ+QTKTPXc1​​<0中,求解矩阵变量K。

注意到:
A 0 = [ A 0 0 0 ] 、 B 0 = [ B 1 0 ] 、 C 0 = [ C 1 0 ] A_0=\begin{bmatrix} A & 0 \\ 0 & 0 \end{bmatrix}、B_0=\begin{bmatrix} B_1\\ 0 \end{bmatrix}、C_0=\begin{bmatrix} C_1 & 0 \end{bmatrix} A0​=[A0​00​]、B0​=[B1​0​]、C0​=[C1​​0​]
A ˉ = [ 0 B 2 I 0 ] 、 C ˉ = [ 0 I C 2 0 ] 、 D ˉ 12 = [ 0 D 12 ] 、 D ˉ 21 = [ 0 D 21 ] \bar A=\begin{bmatrix} 0 & B_2 \\ I & 0 \end{bmatrix}、\bar C=\begin{bmatrix} 0 & I \\ C_2 & 0 \end{bmatrix}、\bar D_{12}=\begin{bmatrix} 0 & D_{12} \end{bmatrix}、\bar D_{21}=\begin{bmatrix} 0\\ D_{21} \end{bmatrix} Aˉ=[0I​B2​0​]、Cˉ=[0C2​​I0​]、Dˉ12​=[0​D12​​]、Dˉ21​=[0D21​​]
H X c 1 = [ A 0 T X c 1 + X c 1 A 0 X c 1 B 0 C 0 T B 0 T X c 1 − I D 11 T C 0 D 11 − I ] H_{X_{c1}}=\begin{bmatrix} A_0^TX_{c1}+X_{c1}A_0 & X_{c1}B_0 & C_0^T \\ B_0^TX_{c1} & -I & D_{11}^T \\ C_0 & D_{11} & -I \end{bmatrix} HXc1​​=⎣⎡​A0T​Xc1​+Xc1​A0​B0T​Xc1​C0​​Xc1​B0​−ID11​​C0T​D11T​−I​⎦⎤​
P X c 1 = [ B ˉ T X c 1 0 D ˉ 12 T ] 、 Q = [ C ˉ D ˉ 21 T 0 ] P_{X_{c1}}=\begin{bmatrix} \bar B^TX_{c1} & 0 & \bar D_{12}^T \end{bmatrix}、Q=\begin{bmatrix} \bar C & \bar D_{21}^T & 0 \end{bmatrix} PXc1​​=[BˉTXc1​​0​Dˉ12T​​]、Q=[Cˉ​Dˉ21T​​0​]

3、输出反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器

原线性定常系统存在一个输出反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器,当且仅当存在对称正定矩阵X和Y(Y也对称正定),使得:**

[ N 0 0 0 I ] T [ A T X + X A X B 1 C 1 T B 1 T X − γ I D 11 T C 1 D 11 − γ I ] [ N 0 0 0 I ] < 0 \begin{bmatrix} N_0 & 0 \\ 0 & I \end{bmatrix}^T\begin{bmatrix} A^TX+XA & XB_1 & C_1^T \\ B_1^TX & -\gamma I & D_{11}^T \\ C_1 & D_{11} & -\gamma I \end{bmatrix}\begin{bmatrix} N_0 & 0 \\ 0 & I \end{bmatrix}<0 [N0​0​0I​]T⎣⎡​ATX+XAB1T​XC1​​XB1​−γID11​​C1T​D11T​−γI​⎦⎤​[N0​0​0I​]<0 [ N c 0 0 I ] T [ A Y + Y A T Y C 1 T B 1 C 1 Y − γ I D 11 B 1 T C 1 D 11 T − γ I ] [ N c 0 0 I ] < 0 \begin{bmatrix} N_c & 0 \\ 0 & I \end{bmatrix}^T\begin{bmatrix} AY+YA^T & YC_1^T & B_1 \\ C_1Y & -\gamma I & D_{11} \\ B_1^TC_1 & D_{11}^T & -\gamma I \end{bmatrix}\begin{bmatrix} N_c & 0 \\ 0 & I \end{bmatrix}<0 [Nc​0​0I​]T⎣⎡​AY+YATC1​YB1T​C1​​YC1T​−γID11T​​B1​D11​−γI​⎦⎤​[Nc​0​0I​]<0 [ X I I Y ] ≥ 0 \begin{bmatrix} X & I \\ I & Y \end{bmatrix}\ge0 [XI​IY​]≥0

其中, N 0 N_0 N0​和 N c N_c Nc​分别是以子空间 k e r ( [ C 2 D 21 ] ) ker([C_2~~D_{21}]) ker([C2​D21​])和 k e r ( [ B 2 T D 12 T ] ) ker([B_2^T~~D_{12}^T]) ker([B2T​D12T​])中任意一组基向量作为列向量所构成的矩阵。可以应用LMI工具箱的求解器feasp来求解。

4、输出反馈最优 H ∞ H_\infty H∞​控制器

基于输出反馈 γ \gamma γ-次优 H ∞ H_\infty H∞​控制器的存在条件,建立这样一个优化问题:
m i n ρ s . t . [ N 0 0 0 I ] T [ A T X + X A X B 1 C 1 T B 1 T X − ρ I D 11 T C 1 D 11 − ρ I ] [ N 0 0 0 I ] < 0 [ N c 0 0 I ] T [ A Y + Y A T Y C 1 T B 1 C 1 Y − ρ I D 11 B 1 T C 1 D 11 T − ρ I ] [ N c 0 0 I ] < 0 [ X I I Y ] ≥ 0 min~\rho\\s.t.~\begin{bmatrix} N_0 & 0 \\ 0 & I \end{bmatrix}^T\begin{bmatrix} A^TX+XA & XB_1 & C_1^T \\ B_1^TX & -\rho I & D_{11}^T \\ C_1 & D_{11} & -\rho I \end{bmatrix}\begin{bmatrix} N_0 & 0 \\ 0 & I \end{bmatrix}<0\\ \begin{bmatrix} N_c & 0 \\ 0 & I \end{bmatrix}^T\begin{bmatrix} AY+YA^T & YC_1^T & B_1 \\ C_1Y & -\rho I & D_{11} \\ B_1^TC_1 & D_{11}^T & -\rho I \end{bmatrix}\begin{bmatrix} N_c & 0 \\ 0 & I \end{bmatrix}<0\\ \begin{bmatrix} X & I \\ I & Y \end{bmatrix}\ge0 minρs.t.[N0​0​0I​]T⎣⎡​ATX+XAB1T​XC1​​XB1​−ρID11​​C1T​D11T​−ρI​⎦⎤​[N0​0​0I​]<0[Nc​0​0I​]T⎣⎡​AY+YATC1​YB1T​C1​​YC1T​−ρID11T​​B1​D11​−ρI​⎦⎤​[Nc​0​0I​]<0[XI​IY​]≥0

通过LMI工具箱的求解器mincx可以求解系统的输出反馈最优 H ∞ H_\infty H∞​控制器。

5、连续时间系统 H ∞ H_\infty H∞​控制器综合问题求解器hinflmi

对于以下一阶系统:
x ˙ = w + 2 u z = x y = − x + w \dot x=w+2u\\z=x\\y=-x+w x˙=w+2uz=xy=−x+w
需要首先在MATLAB中建立系统,使用ltisys函数。
ltisys函数的基本用法是G=ltisys(A,B,C,D);

使用hinflmi函数可得到系统的最优 H ∞ H_\infty H∞​控制器。
hinflmi函数的基本用法是==[gopt,K]=hinflmi(system,[p m])==,通过mincx来优化系统的 H ∞ H_\infty H∞​性能指标,其中p是系统测量输出的个数,m是系统控制输入的个数,K是最优 H ∞ H_\infty H∞​控制器系统矩阵,可通过ltiss函数得到其状态空间实现。

A=0;B1=1;B2=2;C1=1;D11=0;D12=0;C2=-1;D21=1;D22=0;B=[B1 B2];C=[C1;C2];D=[D11,D12;D21,D22];G=ltisys(A,B,C,D);[gopt,K]=hinflmi(G,[1 1]);[Ak,Bk,Ck,Dk]=ltiss(K)

希望我今天分享的这篇文章可以帮到您。

可以得到系统的最优 H ∞ H_\infty H∞​性能指标为:best objective value: 1.002517。

如果想计算满足 H ∞ H_\infty H∞​性能 γ < 10 \gamma<10 γ<10的一个输出反馈次优 H ∞ H_\infty H∞​控制器,可以输入[gopt,K]=hinflmi(G,[1 1],10);

clsys=slft(G,K);% 闭环系统clsysspol(clsys);% 返回闭环系统的极点,检验稳定性norminf(clsys);% 返回EE增益

四、状态反馈 H ∞ H_{\infty} H∞​控制实例

1、控制器参数求解

clc;clear all%% 某系统A=[0  1       0       0;0 -0.0883  0.6293  0;0  0       0       1;0 -0.2357  27.8285 0] ;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];D12=[0 0 0 0 0.01]';D11=[0 0 0 0 0]';C2=[1 0 0 0;0 0 1 0;0 0 0 0;0 0 0 0];D21=[0 0 0 0]';D22=[0 0 0 0]';%% 状态反馈H无穷控制器setlmis([])X=lmivar(1,[4 1]);              % 对称正定矩阵XW=lmivar(2,[1 4]);              % 矩阵Wlmiterm([1 1 1 X],A,1,'s');     % AX+(AX)'    11lmiterm([1 1 1 W],B2,1,'s');    % B2W+(B2W)'  11lmiterm([1 2 1 0],B1'); % B1'         21lmiterm([1 2 2 0],-1);          % -I          22lmiterm([1 3 1 X],C1,1);        % C1X         31lmiterm([1 3 1 W],D12,1);       % D12W        31lmiterm([1 3 2 0],D11);         % D11         32lmiterm([1 3 3 0],-1);          % -I          33lmiterm([-2 1 1 X],1,1);        % X>0特别注意不能漏掉lmisys=getlmis;[tmin, xfeas]=feasp(lmisys);XX1=dec2mat(lmisys,xfeas,X);WW1=dec2mat(lmisys,xfeas,W);K1=WW1*inv(XX1);%% 状态反馈H无穷gamma-次优控制器 取gamma=2;setlmis([])X=lmivar(1,[4 1]);              % 对称正定矩阵XW=lmivar(2,[1 4]);              % 矩阵Wlmiterm([1 1 1 X],A,1,'s');     % AX+(AX)'    11lmiterm([1 1 1 W],B2,1,'s');    % B2W+(B2W)'  11lmiterm([1 2 1 0],B1'); % B1'         21lmiterm([1 2 2 0],-1);          % -I          22lmiterm([1 3 1 X],C1,1);        % C1X         31lmiterm([1 3 1 W],D12,1);       % D12W        31lmiterm([1 3 2 0],D11);         % D11         32lmiterm([1 3 3 0],-4);          % -4I         33lmiterm([-2 1 1 X],1,1);        % X>0特别注意不能漏掉lmisys=getlmis;[tmin, xfeas]=feasp(lmisys);XX2=dec2mat(lmisys,xfeas,X);WW2=dec2mat(lmisys,xfeas,W);K2=WW2*(XX2)^-1;%% 最优状态反馈H无穷控制器setlmis([])X=lmivar(1,[4 1]);              % 对称正定矩阵XW=lmivar(2,[1 4]);              % 矩阵Wrho=lmivar(1,[1 1]);            % rholmiterm([1 1 1 X],A,1,'s');     % AX+(AX)'    11lmiterm([1 1 1 W],B2,1,'s');    % B2W+(B2W)'  11lmiterm([1 2 1 0],B1'); % B1'         21lmiterm([1 2 2 0],-1);          % -I          22lmiterm([1 3 1 X],C1,1);        % C1X         31lmiterm([1 3 1 W],D12,1);       % D12W        31lmiterm([1 3 2 0],D11);         % D11         32lmiterm([1 3 3 rho],-1,1);      % -rhoI       33lmiterm([-2 1 1 X],1,1);        % X>0lmisys=getlmis;n = decnbr(lmisys);             % 系统决策变量个数c = zeros(n,1);                 % 确定向量c的维数for j=1:n[r1j]=defcx(lmisys,j,rho);c(j)=trace(r1j);end%c=mat2dec(lmisys,zeros(4,4),zeros(1,4),eye(1))[copt,xopt]=mincx(lmisys,c);XX3=dec2mat(lmisys,xopt,X);WW3=dec2mat(lmisys,xopt,W);K3=WW3*(XX3)^-1;rhoo=dec2mat(lmisys,xopt,rho);  

2、仿真


本文是作者在日常学习生活中所作,难免有遗漏或错误,遇到问题的读者请点击给我写信向我的邮箱反馈,不胜感激。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477