H无穷控制学习笔记——H无穷/H2控制

一、 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,Tw2z22<γ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+D20WX]<0Trace(Z)<γ2

有一个最优解X、W,则系统的状态反馈 H ∞ / H 2 H_{\infty}/H_2 H/H2控制问题是可解的,并且 u = W X − 1 x u=WX^{-1}x u=WX1x是系统的一个状态反馈 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 Twz22<ν0
  • 闭环系统的极点位于某个给定的LMI区域
  • 性能指标 α ∣ ∣ T w z ∞ ∣ ∣ ∞ 2 + β ∣ ∣ T w z 2 ∣ ∣ 2 2 \alpha||T_{wz_{\infty}}||_{\infty}^2+\beta||T_{wz_2}||_2^2 αTwz2+βTwz222最小化

函数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 HH2性能的权重情况,其余部分是可选项。

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

  • 9
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: Simulink是一种基于MATLAB的仿真软件,用于建模、仿真和分析动态系统。h无穷是指系统的无穷时间响应。在Simulink中,可以使用h无穷来分析系统的稳态行为和稳定性。 在Simulink中,可以通过搭建模型来表示和仿真不同类型的系统。模型由各种模块组成,这些模块代表系统的各个组件和其相互作用。通过连接这些模块,可以建立系统的整体模型。 在Simulink中,可以利用不同的信号类型(如连续时间信号和离散时间信号)来描述系统的输入和输出。通过设定系统的初始条件和参数,Simulink可以进行仿真,生成系统在有限时间内的响应。然而,有些系统的稳态行为可能需要无穷时间才能达到,这时就需要使用h无穷。 h无穷是指在系统的输入经过一段时间后,系统输出的稳定响应。在Simulink中,可以通过合适的参数设置和适当的考虑时间范围,来分析系统的无穷时间响应。这有助于评估系统的稳定性和性能,并根据仿真结果对系统进行改进和优化。 总之,Simulink是一种强大的仿真工具,可以用于建模和仿真各种动态系统。通过使用h无穷来分析系统的稳态行为,Simulink能够帮助工程师更好地理解系统的特性,并进行系统设计和优化。 ### 回答2: "h无穷" 是Simulink中的一个特殊参数,用于表示系统的采样时间为无穷大。在连续时间系统模型中,采样时间是离散化处理的重要参数之一,它决定了系统的更新频率和模拟精度。 在Simulink中,设置"h无穷"表示系统是一个连续时间系统,即不进行离散化处理。这意味着系统的输入和输出是连续时间信号,而不是离散时间信号。连续时间系统模型通常用于处理具有高频且连续变化的信号,如模拟电路、控制系统等。 使用"h无穷"可以在Simulink中建立连续时间系统模型,然后可以对其进行仿真或进行系统设计、分析和优化。与离散时间系统模型不同,连续时间系统模型不需要采样时间步长参数,并且模型中的各个模块之间的信号传递是实时的。这使得模型设计更加简洁和直观。 在连续时间模型中,系统的状态和输入信号是连续变化的,可以使用微分方程描述系统的动态行为。通过对模型进行数学分析,可以得到系统的传递函数、频域特性等重要信息,从而进行系统稳定度分析、频域响应、控制器设计等相关工作。 总之,Simulink中的"h无穷"表示连续时间系统模型,在建立模型时使用该参数可以方便地进行连续时间信号的仿真和分析工作,适用于处理高频且连续变化的信号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值