H2/H无穷控制之msfsyn、hinfmix和h2hinfsyn函数使用及示例学习

H2/H∞控制之msfsyn、hinfmix和h2hinfsyn函数使用及示例学习

目录

1.函数使用介绍及格式用法

1.1msfsyn函数格式:

 1.1.1其等价的LMI问题为: 

1.2hinfmix函数格式:

 1.2.1其等价的LMI问题为: 

1.3h2hinfsyn函数格式:

 2.标准H2/H∞混合控制问题  

2.1控制器设计准则:

3.H2/H∞混合控制器求解示例学习

3.1被控对象飞机参数

3.2 使用msfsyn函数设计状态反馈控制器

 4.simulink仿真分析

4.1状态反馈控制器

4.2输出反馈控制器


1.函数使用介绍及格式用法

       首先,需要说明的是msfsyn、hinfmix和h2hinfsyn函数均用于含极点配置约束的混合H2/H∞控制器设计,不过msfsyn是用于状态反馈控制器设计,而hinfmix和h2hinfsyn用于输出反馈控制器设计。

1.1msfsyn函数格式:

 [gopt,h2opt,K,CL,X] = msfsyn(P,r,obj,region,tol)

参数说明:
①输入参数中:

Р是系统矩阵;

r为2x1矩阵,r(1)表示z维数,R(2)表示控制输入u的维数;

obj为4x1向量,其各个分量的含义为:obj(1)=g为||G||∞上界,obj(2)=h为H2范数上界,obj(3)=a为H∞的权重、obj(4)=b为H2的权重;

region用于极点约束配置LMI区域,默认区域为左半平面,可以使用lmireg命令来产生所要的区域,若已知所考虑的LMI区域的对阵矩阵L和矩阵M,则也可以通过输入region = [L,M]来直接确定极点配置区域;

tol为求解精度,默认值为0.01。
②输出参数中:

gopt、h2opt分别为H∞、H2的性能指标;

K是所求的状态反馈增益矩阵;

CL是闭环传函;

X是所求解的Lyapunov矩阵。

 1.1.1其等价的LMI问题为: 

1.2hinfmix函数格式:

 [gopt,h2opt,K,R,S] = hinfmix(P,r,obj,region,dkbnd,tol,display)

参数说明:

①输入参数中:

r为1x3列向量,r(1)表z2的维数,r(2)表观测输出y的维数,r(3)表控制输入u的维数;其余同msfsyn函数。

②输出参数中:

R和S为LMI可解时的矩阵值;其余同msfsyn函数。

 1.2.1其等价的LMI问题为: 

控制器:

其中:

 obj向量中参数的取值及对应的设计目标

1.3h2hinfsyn函数格式:

[K,CL,normz,info] = h2hinfsyn(P,Nmeas,Ncon,Nz2,Wz,Name,Value)

参数说明:

①输入参数中:

Nmeas为测量输出y的维度;

Ncon为控制输入u的维度;

Nz2为z2的维数,即z2的约束个数;

Wz = [Winf,W2]是1x2的行向量,Winf是H∞范数的权重,W2是H2范数的权重;

Name = 'REGION',reg,'H2MAX',1,'HINFMAX',2,'DISPLAY','on',分别表示LMI极点配置约束区域、H2的上界为1、H∞的上界为2、显示分析信息。

②输出参数中:

normz是1x2的向量,normz(1)表闭环系统w到z∞的H∞范数,normz(2)表闭环系统w到z2的H2范数;

info是LMI可行解的信息,分别为R和S矩阵的解;

K与CL和上述两函数同含义。

 2.标准H2/H∞混合控制问题  

  广义被控对象的标准状态空间描述

 

     H2/H∞混合状态反馈控制框架

      H2/H∞混合输出反馈控制框架         

2.1控制器设计准则:

①使闭环系统稳定;

②闭环极点位于LMI区域D中;

③使扰动w到z∞输出||G||∞<γ;

④使扰动w到z2输出||G||2最小化。

3.H2/H∞混合控制器求解示例学习

3.1被控对象飞机参数

 

3.2 使用msfsyn函数设计状态反馈控制器

(1)LMI极点配置区域选为原点q = -1.3,半径r = 1,即D(-1.3,1.2),并使用lmireg命令求解region,即求解L和M矩阵,其详细步骤如下:

①在命令行中输入:lmireg 

 即弹出如下选项:

 ②在choice中输入d,即选择圆域约束,即(红色箭头所指即为输入指令)

③得到LMI域,即region 

 (2)利用msfsyn函数求解控制器,假定在闭环极点约束和w到z∞的闭环传递函数的H∞范数不超过一个给定的上界g(或者说γ),在这两个约束下最小化w到z2的闭环传递函数H2范数。

根据文献取g = 10,所以obj = [10,0,0,1]。

可以用LMI工具箱的mincx求解器进行求解,有兴趣读者可以尝试,本文用MATLAB封装的msfsyn函数进行求解,程序为:

[gopt,h2opt,K,CL] = msfsyn(P,r,obj,region)

得到最小化H2性能指标 :h2opt = 5.9276

控制器: K =

                     0.0820   -4.4028    0.6961    0.7403
                    -0.4292    2.6764   -1.8339   -1.1775

闭环系统:

pole = spol(CL)%返回闭环系统的极点

闭环系统极点:pole =

  -1.6695 + 0.7097i
  -1.6695 - 0.7097i
  -1.6941 + 0.0000i
  -0.5114 + 0.0000i

 4.simulink仿真分析

4.1状态反馈控制器

采用上述在极点LMI区域和取初始的迎角扰动 = 2°,进行仿真分析,观察开环和闭环系统的输出特性曲线:

 结论:可以看到加入控制器后的闭环系统在飞机迎角初始扰动下,能够更快达到稳定状态,证实了混合H2/H∞状态反馈设计控制器的有效性。

4.2输出反馈控制器

 未完待续......

注:仅为便利自己学习,错误在所难免,如有兴趣的学者可以参考交流,谢谢!

参考资料:

《含区域极点配置H2/H∞控制在飞控设计中的应用》

《LMI Control Toolbox》

MATLAB help文档

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 要编写一个控制无穷迭代次数的MATLAB程序,可以使用while循环和条件判断来实现。 首先,我们需要定义一个初始值,通常使用一个较大的数作为初始值,例如h=1e20。然后,在while循环中,我们可以设置终止条件,例如当h小于某个阈值时停止迭代。这个阈值可以是一个较小的正数,例如1e-6。 在每次循环中,我们可以根据需要进行计算和处理,并更新h的值。例如,我们可以在每次循环中对h进行除以2的操作,即h=h/2。此外,我们还可以根据具体需求添加其他计算和处理步骤。 当h满足终止条件时,程序将自动停止迭代并输出结果。如果h没有满足终止条件,程序将继续循环。 下面是一个示例程序的伪代码: ```matlab h = 1e20; % 初始值设定 threshold = 1e-6; % 终止条件阈值 while h > threshold % 进行计算和处理 % 更新h的值 % 终止条件判断 if h < threshold break; % 跳出循环 end end disp('迭代结束'); ``` 这段示例代码中的循环部分可以根据具体的计算和处理需求进行修改和补充。通过这样的设计,我们可以控制无穷迭代次数,并在满足终止条件时停止迭代。 ### 回答2: H无穷控制是一种用于线性时不变系统的鲁棒控制方法。在MATLAB中,我们可以使用控制系统工具箱中的函数来设计和分析H无穷控制器。 首先,我们需要使用函数tf()或ss()创建系统传递函数或状态空间模型。然后,可以使用函数hinfsyn()来设计H无穷控制器。 hinfsyn()函数的语法为: [K,CL,GAM,INFO] = hinfsyn(SYS,NMEAS,NCON,WEIGHT) 其中,SYS是系统模型,NMEAS是测量输入的数量,NCON是控制输入的数量,WEIGHT是性能权重函数。 设计好H无穷控制器后,我们可以使用函数h2syn()计算系统的H2性能指标。此外,我们还可以使用函数getIOTransfer()和getLoopTransfer()来获取控制器的输入输出传递函数和闭环传递函数。 在H无穷控制设计完成后,可以使用simulink()函数来建立仿真模型,并对系统进行仿真。通过观察仿真结果,我们可以评估H无穷控制器的性能和稳定性。 此外,MATLAB还提供了一些用于系统分析和优化的函数,如norm()用于计算系统范数,robustperf()用于鲁棒性能分析,mixsyn()用于混合H2/H无穷控制设计等。 总之,在MATLAB中,我们可以使用控制系统工具箱提供的函数来设计、分析和优化H无穷控制器。通过这些功能,我们可以方便地应用H无穷控制方法来解决实际控制问题。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. 邹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值