H-inf设计的MATLAB函数2.ppt_第1页
H-inf设计的MATLAB函数2.ppt_第2页
H-inf设计的MATLAB函数2.ppt_第3页
H-inf设计的MATLAB函数2.ppt_第4页
H-inf设计的MATLAB函数2.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、H设计的m函数,2006年04月15日,目 录,广义对象的求取 连续系统H设计的m函数 离散系统H设计的m函数,标准的H问题的框图如图所示,图中G为系统的广义对象,K为控制器。,图1,求解图中对象G的方法有两种: 1. m函数调用法 2. 直接求取法,一广义对象的求取,图2 加权灵敏度问题,下面通过图2所示的加权灵敏度问题的例子来看一下如何通过m函数调用来求取系统的广义对象G。,1. m函数调用法,系统除去控制器K以外的部分就是广义对象G,它是两入两出的,输入信号是w和u,输出信号是z和y。可用传递函数表示为,设图2中的对象P和灵敏度权函数W分别为,将参数代入,可以得到广义对象G为,G送进去以

2、后,调用下面的三个m函数,就可以得到广义对象G的状态空间实现,A,B,C,D=ssdata(sys),sys=minreal(ss(G),图2 加权灵敏度问题,G通过下面的函数送进去,G=tf(0 100,1 1),tf(-100 2000,1 22 41 20);1,tf(-1 20,1 21 20),G=ltisys(A,B,C,D),这个G就是我们求解问题时所用的G,它是这样送进去的。,用上面的函数调用法来求取G的状态实现,是非常简单的。但是从上面的结果可以看出,用这种方法得到的状态变量纯粹是数值上的运算,脱离了物理概念。,本例中得到的广义对象G,图2 加权灵敏度问题,根据结果只能知道这

3、个广义对象的输入输出之间的关系,这几个状态变量之间的关系与实际的物理系统之间的状态没有直接联系,没有物理意义。,下面我们仍用上面的例子,用直接建立状态变量的方法来求取广义对象G的状态空间实现(A,B,C,D)。首先来求对象P的状态空间实现。设被控对象P的状态变量为x1和x2,根据P的传递函数,可以得到如下的状态方程:,2. 直接求取法,设权函数W的状态变量为x3,根据W的传递函数,可以得到权函数W的状态空间实现,根据图2中各信号的关系,进一步可以得到广义对象G的状态空间实现为,图2 加权灵敏度问题,前面讲的这部分内容是关于广义对象G如何送进去,这里我们讲了两种方法:1. m函数调用法;2. 直

4、接求取法。接下来要讲的是第二部分的内容:连续系统H设计的m函数。,1. 函数 hinfsyn,该函数用来计算系统的 H控制器k,函数的调用形式为: k,g,gfin = hinfsyn(G,nmeas,ncon,gmin,gmax,tol) 该函数用的是“DGKF文献”中的算法: (1) Doyle, J.C., K. Glover, P. Khargonekar, and B. Francis, State-space solutions to standard H2 and Hcontrol problems, IEEE Transactions on Automatic Control,

5、 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 risk sensitivity, Systems and Control Letters, vol. 11, pp. 167-172, 1988.,二连续系统H设计的m函数,该函数用来计算系统的 H控制器k,函数的调用形式为: k,g,gfin= h

6、infsyn(G,nmeas,ncon,gmin,gmax,tol) 其中输入变量中的G为如下定义的两入两出的广义对象,也是我们第一部分内容里所讲的用G=ltisys(A,B,C,D)送进去的G。,1. 函数 hinfsyn,G: 系统的广义对象; nmeas: 连接到控制器的测量输出的个数; ncon: 控制输入的个数; gmin: 的下界; gmax: 的上界; tol: 的迭代精度; k: H最优控制器; g: 闭环控制系统; gfin: 最终的值;,k,g,gfin=hinfsyn(G,nmeas,ncon,gmin,gmax,tol),算例: PS/T混合灵敏度问题,本例的H问题是要

7、求解如下的有约束的优化设计问题,K,图3PS/T问题,图3中参数如下:,图中除去K以外的部分就是广义对象G,按照我们第一部分内容所讲的方法把参数送进去以后,得到系统广义对象G的状态空间实现矩阵如下:,由于调用函数hinfsyn时对象要满足假设中秩的要求,设计中取Dp=10-6,以后第4章讲DGKF法时还要提到。,广义对象G由下面的函数送进去: G=ltisys(A,B,C,D) 本例中函数的调用形式如下: hinfsyn(G,nmeas,ncon,gmin,gmax,tol) k,g,gfin=hinfsyn(G,1,1,0.1,2,0.0001),函数调用中的迭代过程如下: gamma ha

8、mx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f 2.000 6.8e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 1.050 6.7e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 0.575 6.6e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p,设计中权函数W1中的是可变的,要取尽可能的最大值,这里给出的是当取1000时的迭代过程。,0.338 6.2e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 0

9、.219 5.3e+000 -3.3e-003# 1.0e-003 -1.9e-017 0.0000 f 0.278 5.9e+000 -2.9e-002# 1.0e-003 -1.9e-017 0.0000 f 0.308 6.1e+000 -4.4e-001# 1.0e-003 -1.9e-017 0.0000 f 0.323 6.1e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 0.315 6.1e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 0.312 6.1e+000 1.2e-016 1.0e-003 -1

10、.9e-017 0.0000 p 0.310 6.1e+000 -1.3e+000# 1.0e-003 -1.9e-017 0.0000 f 0.311 6.1e+000 -1.6e+002# 1.0e-003 -1.9e-017 0.0000 f 0.311 6.1e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 0.311 6.1e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 0.311 6.1e+000 1.2e-016 1.0e-003 -1.9e-017 0.0000 p 0.311 6.1e+000 1.3e

11、-016 1.0e-003 -1.9e-017 0.0000 p Gamma value achieved: 0.3107 1,逐渐增大,当增大到100000时,这就是最终的设计结果。,函数调用中的迭代过程如下: 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.

12、0e+000 0.0000 f 0.813 1.8e+001 -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-0

13、13 1.0e-003 0.0e+000 0.0000 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.2e+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.6e+004# 1.0e-003 0.0e+000 0.0000 f 1.007 1.9e+

14、001 4.7e-013 1.0e-003 0.0e+000 0.0000 p 1.007 1.9e+001 -5.1e+004# 1.0e-003 0.0e+000 0.0000 f Gamma value achieved: 1.0067,设计所得的H控制器:,设计所得的闭环系统的奇异值Bode图如图4所示,,图4闭环系统奇异值Bode图,2. 函数 hinf,函数的调用形式为: sscp,sscl = hinf(G, ssu) 该函数用的是下面文献中的算法,对于D11不为0的情形,可以用该函数求解。 M. G. Safonov, D. J. N. Limebeer and R. Y. C

15、hiang, Simplifying the H Theory via Loop Shifting, Matrix Pencil and Descriptor Concepts, Int. J. Contr., vol. 50, no. 6, pp. 2467-2488, 1989. 函数的输入变量G为如下定义的广义对象:,图5,函数的输入变量中的ssu对应的就是图5中的U(s),是个可调参数。一般都取默认值0,此时所求得的H控制器是中心控制器。,sscp,sscl = hinf(G, ssu),输出变量中的sscp表示控制器F(s),sscl表示闭环传递函数 。,算例:S/KS/T问题,图中

16、参数如下:,图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),图6,本例中函数hinf的调用形式为:,图7 闭环系统的奇异值Bode图,sscp,sscl = hinf(G),当时,闭环系统的H范数为0.8

17、916。当时,闭环系统的H范数为0.9998,设计所得的H控制器为:,hinf(G,ssU),该函数用的是下列文献中的算法: (1) Doyle, J.C., K. Glover, P. Khargonekar, 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) P. Gahinet, A. Nemirovskii, A.

18、J. Laub, M. Chilali. The LMI Control Toolbox. Proc. of the IEEE Conf. on Dec. and Control. 1994: 2038-2041,3. 函数 hinfric,函数的调用形式为:,其中输入变量中的G为如下定义的广义对象:,输入变量中的r是2维列向量, r(1) 表示量测输出的个数, r(2)表示控制输入的个数。输出变量gopt表示最优的H性能,输出变量k表示H中心控制器。,gopt,k = hinfric(G,r),该函数用的是基于Riccati方程的算法,是解析法。其最优控制器是在任意阶控制器中寻优的,所以优化

19、效果比较好。函数对对象的秩的要求比较低。,算例:S/KS/T问题,图中参数如下:,图8,本例的H问题是要求解如下的有约束的优化问题,函数调用时的广义对象G由下面的函数送进去:,hinfric(G,r),G=ltisys(A,B,C,D),gopt,k = hinfric(G,1;1),H优化设计所得的闭环系统的最终值为0.1011,所得的H中心控制器为:,本例中函数的调用形式如下:,图9 加权闭环系统的奇异值Bode图,该函数用的是下面文献中的算法,是基于LMI的算法,对对象的秩的要求也比较低。 (1) P. Gahinet, P. Apkarian. A Linear Matrix Ineq

20、uality Approach to H Control. Int. J. of Robust and Nonlinear control. 1994, 4: 421-448,函数的调用形式为:,其中输入变量中的G为如下定义的广义对象:,输入变量中的r是2维列向量, r(1) 表示量测输出的个数, r(2)表示控制输入的个数。输出变量gopt表示最优的H性能,输出变量k表示H中心控制器。,gopt,k = hinflmi(G,r),4. 函数 hinflmi,算例:S/KS/T问题,图10,图中参数如下:,本例的H问题是要求解如下的有约束的优化问题,函数调用时的广义对象G由下面的函数送进去:,

21、hinflmi(G,r),G=ltisys(A,B,C,D),gopt,k = hinflmi(G,1;1),H优化设计所得的闭环系统的最终值为0.1064,所得的H中心控制器为:,本例中函数的调用形式如下:,图11 加权闭环系统的奇异值Bode图,5. 函数 hinfnorm,该函数用来计算系统的H范数 ,函数的调用形式为: out = hinfnorm(sys,tol,iiloc) sys: 为系统矩阵,当已知系统的传递函数T时,调用如下的函数可得到sys A,B,C,D=ssdata(T) sys=ltisys(A,B,C,D) out = hinfnorm(sys,tol,iiloc)

22、 tol: 为H范数的上下界之间的相对精度。 iiloc: 为假定的范数值所对应的初始频率点。 out是一个 的行向量。分别表示的下界,上界以及下界所对应的频率。,算例:,首先调用函数ltisys将系统矩阵sys送进去, sys=ltisys(A,B,C,D) 如下调用函数hinfnorm hinfnorm(sys,tol,iiloc) out=hinfnorm(sys,0.000001,0) 求得的out=1 1 0。,设系统的状态空间实现为,下界,上界,下界对应频率,6. 函数 norminf,该函数的调用形式为 gain,peakf=norminf(sys,tol) 输入变量中的sys为系统矩阵,tol为相对精度,输出变量gain为求得的峰值增益,peakf为该范数值对应的频率。,1. 函数dhfsyn(对应的连续函数为hinfsyn)的调用形式 k,g,gfin =dhfsyn(G,nmeas,ncon,gmin,gmax,t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论