hinf的matlab函数(he)

上传人:suns****4568 文档编号:88889946 上传时间:2019-05-12 格式:PPT 页数:37 大小:720.50KB
返回 下载 相关 举报
hinf的matlab函数(he)_第1页
第1页 / 共37页
hinf的matlab函数(he)_第2页
第2页 / 共37页
hinf的matlab函数(he)_第3页
第3页 / 共37页
hinf的matlab函数(he)_第4页
第4页 / 共37页
hinf的matlab函数(he)_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《hinf的matlab函数(he)》由会员分享,可在线阅读,更多相关《hinf的matlab函数(he)(37页珍藏版)》请在金锄头文库上搜索。

1、H设计的m函数,2010年06月10日,Schur引理,Kalman-Yakubovich引理,R,R,Schur引理,有界实引理,Bounded Real Lemma,函 数,1. 函数hinfsyn 2. 函数hinf 3. 函数hinfopt 4. 函数hinfric 5. 函数hinflmi,1. 函数 hinfsyn,该函数用来计算系统的 H控制器K(s),函数的调用形式为: k,g,gfin = hinfsyn(G,nmeas,ncon,gmin,gmax,tol) 该函数用的是“DGKF文献”中的算法: (1) Doyle, J.C., K. Glover, P. Khargon

2、ekar, and B. Francis, “State-space solutions to standard H2 and Hcontrol problems,“ IEEE Transactions on Automatic Control, vol. 34, no. 8, pp. 831-847, August 1989. (2) Glover, K., and J.C. Doyle, “State-space formulae for all stabilizing controllers that satisfy an H norm bound and relations to ri

3、sk sensitivity,“ Systems and Control Letters, vol. 11, pp. 167-172, 1988.,G: 系统的广义对象; nmeas: 连接到控制器的测量输出的个数; ncon: 控制输入的个数; gmin: 的下界; gmax: 的上界; tol: 的迭代精度; k: H最优控制器; g: 闭环控制系统; gfin: 最终的 值;,k,g,gfin=hinfsyn(G,nmeas,ncon,gmin,gmax,tol),算例: PS/T混合灵敏度问题,本例的H问题是要求解如下的优化问题,K,PS/T问题,图中参数如下:,图中除去K以外的部分就

4、是广义对象,按照我们第一部分内容所讲的方法把参数送进去以后,得到系统广义对象G的状态空间实现矩阵如下:,按照我们第一部分内容所讲的方法把参数送进去以后,得到系统广义对象G的状态空间实现矩阵如下:,由于调用函数hinfsyn时对象要满足假设中秩的要求,设计中取Dp=10-6,广义对象G由下面的函数送进去: G=ltisys(A,B,C,D) 本例中函数的调用形式如下: k,g,gfin=hinfsyn(G,nmeas,ncon,gmin,gmax,tol) k,g,gfin=hinfsyn(G,1,1,0.1,2,0.0001), ro=1000; a=-0.001 0 0 0 ro;0 -10

5、00 -244.1406 0 0;0 1024 0 0 0;0 0 0 -0.001 0;0 0 0 1 -0.001; b=ro*1e-6,ro*1e-6;0 128;0 0;1 1;0 0; c=1 0 0 0 0;0 -78.0273 -23.8228 0 0;0 0 0 0 1; d=0 0;0 12.5;1e-6 1e-6; G=ltisys(a,b,c,d); k,g,gfin=hinfsyn(G,1,1,0.1,2,0.0001),设计中权函数W1中的 是可变的,这是一个有约束的H设计问题, 要取尽可能的最大值,这里给出的是当 取1000时的 迭代过程, ro=1000; a=-

6、0.001 0 0 0 ro;0 -1000 -244.1406 0 0;0 1024 0 0 0;0 0 0 -0.001 0;0 0 0 1 -0.001; b=ro*1e-6,ro*1e-6;0 128;0 0;1 1;0 0; c=1 0 0 0 0;0 -78.0273 -23.8228 0 0;0 0 0 0 1; d=0 0;0 12.5;1e-6 1e-6; G=ltisys(a,b,c,d); k,g,gfin=hinfsyn(G,1,1,0.1,2,0.0001), k,g,gfin=hinfsyn(G,1,1,0.1,2,0.0001) Test bounds: 0.10

7、00 gamma = 2.0000 gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f 2.000 6.8e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 1.050 6.7e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.575 6.6e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.338 6.2e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.219 5.3e+000 -3.3e

8、-003# 1.0e-003 -2.5e-018 0.0000 f 0.278 5.9e+000 -2.9e-002# 1.0e-003 -2.5e-018 0.0000 f 0.308 6.1e+000 -4.4e-001# 1.0e-003 -2.5e-018 0.0000 f 0.323 6.1e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.315 6.1e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.312 6.1e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.

9、310 6.1e+000 -1.3e+000# 1.0e-003 -2.5e-018 0.0000 f 0.311 6.1e+000 -1.4e+002# 1.0e-003 -2.5e-018 0.0000 f 0.311 6.1e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.311 6.1e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.311 6.1e+000 1.2e-016 1.0e-003 -2.5e-018 0.0000 p 0.311 6.1e+000 1.2e-016 1.0e-003 -2.5e

10、-018 0.0000 p Gamma value achieved: 0.31071,Test bounds: 0.1000 gamma = 2.0000 gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f 2.000 2.1e+001 4.6e-013 1.0e-003 0.0e+000 0.0000 p 1.050 1.9e+001 4.7e-013 1.0e-003 0.0e+000 0.0000 p 0.575 1.4e+001 -9.1e-004# 1.0e-003 0.0e+000 0.0000 f 0.813 1.8e+0

11、01 -3.5e+000# 1.0e-003 0.0e+000 0.0000 f 0.931 1.9e+001 -1.4e+001# 1.0e-003 0.0e+000 0.0000 f 0.991 1.9e+001 -7.9e+001# 1.0e-003 0.0e+000 0.0000 f 1.020 1.9e+001 4.7e-013 1.0e-003 0.0e+000 0.0000 p 1.005 1.9e+001 -1.1e+003# 1.0e-003 0.0e+000 0.0000 f 1.013 1.9e+001 4.7e-013 1.0e-003 0.0e+000 0.0000

12、p 1.009 1.9e+001 4.7e-013 1.0e-003 0.0e+000 0.0000 p 1.007 1.9e+001 4.7e-013 1.0e-003 0.0e+000 0.0000 p 1.006 1.9e+001 -4.1e+003# 1.0e-003 0.0e+000 0.0000 f 1.007 1.9e+001 4.7e-013 1.0e-003 0.0e+000 0.0000 p 1.007 1.9e+001 -1.5e+004# 1.0e-003 0.0e+000 0.0000 f 1.007 1.9e+001 4.7e-013 1.0e-003 0.0e+0

13、00 0.0000 p 1.007 1.9e+001 -4.5e+004# 1.0e-003 0.0e+000 0.0000 f Gamma value achieved: 1.0067,当 逐渐增大到100000时, :,设计所得的H控制器, ak,bk,ck,dk = unpck(k); K=ss(ak,bk,ck,dk); zpk(K),设计所得的闭环系统的奇异值Bode图如图4所示,,图4 闭环系统奇异值Bode图,2. 函数 hinf,函数的调用形式为: sscp,sscl = hinf(G, ssu) 该函数用的是下面文献中的算法,对于D11不为0的情形,可以用该函数求解。 M.

14、G. Safonov, D. J. N. Limebeer and R. Y. Chiang, “Simplifying the H Theory via Loop Shifting, Matrix Pencil and Descriptor Concepts“, Int. J. Contr., vol. 50, no. 6, pp. 2467-2488, 1989.,图5 All-solution F(s),图5中的Q(s)是自由的稳定的传函,满足 ,用来求解参数化的控制器K(s)。函数的输入变量中的ssu就是Q(s),默认值0,此时所求得的H控制器是中心控制器。,sscp,sscl = h

15、inf(G, ssu),输出变量中的sscp表示中心控制器F(s),sscl表示闭环传递函数 。,算例:S/KS/T问题,图中参数如下:,图6,本例的H问题是要求解如下的优化问题,调用函数hinf时,其输入变量G要用如下的几个函数调用来送进去: W1= /900 /15 ;0.01 0.02 0.01; W2=0.0001; W3=0.1 1;3.16/300 3.16; P=ss(ap,bp,cp,dp); G=augtf(P,W1,W2,W3); 其中ap,bp,cp,dp为对象P的状态空间实现,,sscp,sscl = hinf(G, ssu),广义对象G送进去以后,得到的广义对象G的状态空间实现矩阵为(对应 ):,本例中函数hinf的调用形式为:,图7 闭环系统的奇异值Bode图,sscp,sscl = hinf(G),当 时,闭环系统的H范数为0.8916。当 时,闭环系统的H范数为0.9998,设计所得的H控制器为:,sscp,sscl = hinf(G,ssU),1 G. Zames and B. A. Francis, “Feedback, Minimax Sensitivity, and Optimal Robustness,“ IEEE Trans. on Autom. Control,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号