Matlab中的LMI工具箱的研究与使用

更新时间:2023-12-29 03:58:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

摘要 ············································································································································ 1 关键词 ········································································································································ 1 Abstract ······································································································································· 1 Key words ··································································································································· 1 引言 ············································································································································ 1 1 LMI工具箱介绍和使用 ······································································································ 2

1.1 系统描述 ················································································································ 2 1.2 信息检 ···················································································································· 3 1.3 问题求解 ················································································································ 3 1.4 结果验证 ················································································································ 3 2 LMI基础知识 ······················································································································ 3

2.1 LMI的一般形式 ···································································································· 4 2.2 描述LMI的相关术语 ··························································································· 4 2.3 LMI应用的基本问题 ···························································································· 5 2.4 LMI不等式问题 ···································································································· 5 2.5 三类标准的LMI控制问题及其相应的求解器 ··················································· 6

2.5.1 可行性问题 ······························································································ 6 2.5.2 具有线性矩阵不等式约束的一个线性目标函数的最小化问题 ·········· 6 2.5.3 广义特征值最小化问题 ·········································································· 6

3 LMI工具箱函数详解 ·········································································································· 8

3.1 LMI工具箱函数列表 ···························································································· 8 3.2 确定LMI系统的函数 ··························································································· 9 3.3 对LMI变量的操作 ····························································································· 10 3.4 LMI求解器命令 ·································································································· 10 3.5 结果验证和修改 ·································································································· 12

3.5.1 结果验证 ································································································ 12 3.5.2 结果修改 ································································································ 12 3.6 LMI系统信息提取 ······························································································ 12

4 线性矩阵不等式在控制理论中的应用 ············································································ 13

4.1 LMI用于控制问题常用的技术 ·········································································· 14

4.1.1 矩阵操作技术 ························································································ 14 4.1.2 LFT(Linear Fraction Transformation)和多胞(polytopy)表示方法 ······· 14 4.2 在控制理论中的应用举例 ·················································································· 14 4.3 用线性矩阵不等式求解控制问题的实例 ·························································· 15 4.4基于LMI的鲁棒控制器设计 ················································································ 16

5 结论和展望 ························································································································ 19 致谢 ·········································································································································· 20 参考文献 ·································································································································· 21

Matlab中的LMI工具箱的研究与使用

摘要:由于内点算法可以利用计算机求解高阶矩阵不等式,使得线性矩阵不等式(LMI)在控制理论得以应用,因而线性矩阵不等式在控制系统分析、设计中扮演着越来越重的角色。在毕业设计中,我学习了LMI理论,Matlab中LMI工具箱的使用,研究了常见的控制问题与LMI关系以及其表达式,并研究了基于LMI方法的鲁棒控制器设计问题,推导了如何将鲁棒控制器设计问题转化为LMI形式,给出了通过求解LMI方程构造控制率的算法。LMI是一种较新的方法,可以在控制系统的许多领域得以应用,如鲁棒控制、非线性控制预测控制等有着巨大的潜力。 关键词:线性矩阵不等式;LMI工具箱;控制系统

The research and use of the Matlba LMI toolbox

Student majoring in Automation SUN Peng-kun

Tutor

Abstract:Due to the interior point algorithm can use computer to solve high order matrix inequality,It makes the linear matrix inequality (LMI) in the control theory to application and linear matrix inequality (LMI) played more and more heavy role in the control system analysis and design. At the graduation design, I studied the LMI theory, in the use of Matlab LMI toolbox, and studies the problem of common control with LMI relations and its expression,and I studied the problem of the robust contoeller design that based on lmi method, how to transform the robust controller design problem into the LMI form, and given by solving the LMI equation of tectonic control algorithm. LMI is a new method, it can be used in many control system fields, such as robust control, nonlinear control predictive control, and it has great potential. Key words: linear matrix inequality; LMI toolbox; control system;robust control

引言

线性矩阵不等式(LMI)工具箱是求解一般线性矩阵不等式问题的一个高性能软件包。由于其面向结构的线性矩阵不等式表示方式,使得各种线性矩阵不等式能够以自然块矩阵的形式加以描述。一个线性矩阵不等式问题一旦确定,就可以通过调用适当的线

1

性矩阵不等式求解器来对这个问题进行数值求解。

LMI工具箱提供了确定、处理和数值求解线性矩阵不等式的一些工具,它们主要用 于:

① 以自然块矩阵形式来直接描述线性矩阵不等式; ② 获取关于现有的线性矩阵不等式系统的信息; ③ 修改现有的线性矩阵不等式系统; ④ 求解三个一般的线性矩阵不等式问题; ⑤ 验证结果。

在60年代,已经提出了线性矩阵不等式,但由于当时的线性矩阵不等式的算法还不够成熟。再加上求解量大,因而线性矩阵不等式在实际中未得到充分应用。近几年来,由于线性矩阵不等式的理论不断完善,求解算法也不断成熟,加上计算机的广泛应用,线性矩阵不等式的求解变得很方便,因此线性矩阵不等式在实际工程中尤其在控制工程理论中得到广泛的应用。由于用线性矩阵不等式求解控制理论中的问题是当今控制理论发展的一个重要方向,因此出现了许多计算机应用软件,其中以美国 MathsWorks.Inc公司用C语言开发的MATLAB软件最为流行。在MATLAB5.1版本中,就增加了用于求解线性矩阵不等式的线性矩阵不等式控制工具箱。

近十多年来,线性矩阵不等式广泛用于解决控制系统中的问题,随着线性矩阵不等式的内点法的提出、Matlab软件中LMI工具箱的推出,线性矩阵不等式(LMI)越来越受到人们的重视,已成为系统与控制领域研究中的一大热点问题。1971年,Willems提出了线性矩阵不等式(LMI)的概念,1988年,Nesterov和Nemirovskii研究出可直接用于求解LMI凸优化问题的内点算法,随后Boyd等人总结了LMI在工程系统和控制理论中的应用,奠定了LMI在控制理论与应用的基础。由于目前许多控制系统的分析、设计问题以及约束条件等均可以转化为一系列LMI的可解性问题来处理,并有Matlab等高效可靠的工具软件提供技术支持和开发手段,因此基于LMI的控制理论和方法已成为近年来控制界的研究热点之一。

近年来LMI主要应用在控制理论中,广泛应用于解决系统与控制中的一系列问题。这些问题的解决一般是根据控制理论建立线性矩阵不等式,然后再用Matlab中的LMI工具箱求解(LMI工具箱中的函数一般只能处理固定形式的线性矩阵不等式)。由于LMI的模糊控制理论有效地解决了如何利用Lyapnov方法分析和设计模糊控制器的重要问题,同时也确立了模糊控制理论研究的一个重要方向,因此一经提出便受到了模糊控制研究人员的普遍关注。LMI控制工具箱,采用内点法的LMI求解器,这些求解器比经典的凸优化算法速度有了显著提高。另方方面,它采用了有效的LMI结构化表示,在求解和计算领域做出了重大贡献。因此基于LMI的控制理论和方法已成为近年来控制界的研究热点。

1 LMI工具箱介绍和使用

1.1 系统描述

LMI系统的描述既可以通过交互式GUI界面lmiedit来进行直观的矩阵描述,又可

2

以通过命令lmivar和lmiterm来进行逐项的描述。 1.2 信息检

交互式函数lmiinfo提供有lmiedit、lmivar和lmiterm所创建的LMI系统的量化检索功能。也可以通过lmiedit使得由一系列lmivar 和lmiterm命令所建立的LMI系统可视化。

1.3 问题求解

一般的LMI求解器都可以针对上面说到的三类标准LMI问题进行求解,三个求解器可以解决一般结构的LMI系统和矩阵变量,并返回一个关于决策变量x的可行或者最优解,相应的矩阵变量函数dec2mat得到。

求解线性矩阵不等式问题的算法主要有椭球法和内点法及其他的数值解法。其中内点法的优点很明显,它不需要给出迭代的初始可行解且能够求解拟凸问题。Matlab软件开发出功能强大的LMI工具箱的算法就是基于内点法,它提供了与上述相对应的3类标准的线性矩阵不等式问题求解函数:feasp,mincx,gevp。此外,该工具箱还可用于以下几方面。

①多目标控制器综合,包括LQG综合,H?综合和极点配置综合。

②系统鲁棒性的分析和测试,包括检测时变线性系统的二次稳定性,带有参数的Lyapunov 稳定性,混合的?分析以及带有非线性成分的Popov准则。

③系统的辨识、滤波、结构设计、图形理论、线性代数以及加权值等问题,LMI工具箱还提供了两个交互的图形用户界面(GUI):LMI编辑器和Magshape界面。用户可以在LMI编辑器中很方便地描述线性矩阵不等式。 1.4 结果验证

所得解x很容易由函数evallmi和showlmi进行验证,从而实现检查分析结果。LMI系统中的所有变量都可以通过evallmi有决策变量x的值来估计,此时,每个LMI左边和右边的部分都变味了常数矩阵,可以由showlmi显示。

2 LMI基础知识

3

2.1 LMI的一般形式

一个线性矩阵不等式具有如下形式:

F(x)?F0?x1F1?...?xmFm?0 ……(1) 式中,x1,…,xm是m个实数变量,称为是线性矩阵不等式(1)的决策变量,

x?(x1,?,xm)T?Rm是由决策变量构成的向量,称为决策向量。Fi?FiT?Rn*n,i?0,1,?,m是一组给定的实对称矩阵,式(1)中的“<”指的是矩阵F?x?是负定的,即对所有非零的向量v?Rn,vTF?x?v?0或F?x?的最大特征值小于零。所有满足线性矩阵不等式(1)的x的全体构成一个凸集。

在线性矩阵不等式使用之前,许多控制问题是用Riccati不等式方法来解决的,而Riccati不等式的求解带有一定的保守性。Riccati不等式是二次矩阵不等式,所以将二次矩阵不等式转化成线性矩阵不等式很有必要和意义,在此转化过程中,矩阵的Schur补引理起着决定性的作用。考虑一个矩阵F?x??Rn?n,并将F?x?进行分块

?F?x?F12?x?? F?x???11??F21?x?F22?x???1式中,F11?x?是r?r维的。假定F11?x?是非奇异的,则F22?x??F21?x?F11?x?F12?x?称为是F11?x?在F?x?中的Schur补。下面不加证明地给出矩阵的Schur 补引理及其性质。 引理:对给定的对称矩阵F?x?,以下3个结论是等价的。

?i?F?x??0;?ii?F11?x??0,?iii?F22?x??0,?1T?x?F12?x??0.F11?x??F12?x?F22T?1?x?F11?x?F12?x??0; F22?x??F12注意到式(ii)和式(iii)中的第二个不等式是一个非线性矩阵不等式,上述的等价关系

说明了应用矩阵的Schur补性质,一些非线性矩阵不等式可以转化成线性矩阵不等式。从而利用现有的软件Matlab中的LMI工具箱可以直接对问题求解。 2.2 描述LMI的相关术语

以H?控制中的一个典型线性矩阵不等式为例来进行说明:

?ATX?XAXCT???I NT?CX?BTDT?B??D?N?0 ……(2) ??I??式中NT,N是外因子;ATX,XA,DT叫项;式中的X为矩阵变量;“<”左边为较小

的一边叫左边,0为右边。其中,X?XT?Rn?n,??R是上述LMI的变量,而A、B、C、D和N都是给定的常数矩阵。或者用更一般形式的表示LMI系统。

NTL?X1,X2,?,Xn?N?MTR?X1,X2,?,Xn?M ……(3)

式中L?X1,X2,?,Xn?为内因子,NT,N,MT,M为外因子,式中X为矩阵变量。其中Xk是LMI系统的第k个矩阵变量或标量变量,L和R是关于Xk的分块矩阵,N和M市给定的常数矩阵。那么我们通过下列语句来描述这个LMI:

①我们约定左边是不等式较小的一边,右边是不等式较大的一边。比如X?0,X是不等式的右边,而0是右边,也就是说LMI系统一般总是使用“<”号表示不等式,与优化工具箱相似。还有就是标量在Matlab中认为是1?1的对称矩阵,例如(式2)中的?。

②(式3)中的N和M称为LMI的外因子,是具有相同维数的给定矩阵,它们可以

4

不是方阵,在一般的问题中都是不出现的。

③(式3)中的L和R,或者说不等号两边的中间位置的大分块矩阵叫做内因子,L和R是具有相同块结构的对称块矩阵。

④内因子是一个分块对称矩阵它的分块结构是由其对角块的数目来描述的,并可完全由其对角线以上或以下的那些部分来决定,故在Matlab编程时,内因子只需要并且只能写出它一半。

⑤内因子中的子块矩阵中每一个表达式都称为LMI的项,它们是关于矩阵变量X和矩阵标量?的仿射表达式,并且可以分解为一些基本项之和,例如(式2)中的内因子的第(1,1)块就包含两个基本项:ATX和XA。

⑥内因子中的每项都有常数项和变量项之分,所谓常数项即(式2)中所示的B和D,而变量项则至少包含一个矩阵变量,例如XA以及??I等。 2.3 LMI应用的基本问题

与控制理论相关的LMI问题的研究已有相当长的历史,Lyapunov、Lur'e、Popov、 Yakubovich、Kalman都作出过独特的贡献。80年代,Pyatniskii和Skirodiski把Lur'e的问题简化为一个凸优化问题,Nestrov等又提出了可直接用于矩阵不等式凸规划问题求解的内点方法,使得利用LMI求解控制问题变得实用有效。基本的LMI问题分三类:

① 严格LMI可解性问题(LMIP); ② ②特征值问题(EVP);

③ ③广义特征值问题(GEVP)。

控制理论中的一些性能指标、稳定性判据等量化条件之所以可以转化为LMI标准问题,是由于一方面LMI能表示范围广泛的不同类凸约束,另一方面Lyapunov方法可以很方便地引出凸或拟凸问题。除此之外,图1对常用的鲁棒控制方法,如小增益定理、H?的综合方法等与LMI技术的较为深层的关系进行了说明。其中,正实/有界实定理作为桥梁,把输入输出方法和状态空间连接了起来,故从理论上指出了LMI技术广泛用于鲁棒控制问题的可能性。

输入-输出方法 小增益定理 对 偶 同 构 无源性定理 正实/有界实定理 状态空间法

H?方法 密 切 相 关 ?/Km方法 LMI技术 图1 LMI与一些控制原理的关系

LMI标准问题的数值解法有多种,Beck在文献[13]中综述了这些方法。它们的共同思路都是把LMI问题看作凸优化问题处理。主要的LMI求解算法有替代凸投影算法、椭球算法及内点法。内点法又分中心点法、投影法、原始-对偶法。Nestorov等对不同内点算法的计算复杂性界限给出了理论分析。从实验验证上看,目前最好的内点法是Nemiroskii等的投影算法。投影算法跟其他方法相比,有如下优点:

①不需要给出迭代的初始可行解,即不另需独立的算法对初始可行解进行求解; ②它能够扩展到求解拟凸问题,即LMI约束下广义特征值问题;

③它能够充分利用有块对角结构的LMI问题的结构信息,减少保守性;

④整个过程可以给以清晰的几何图示进行说明,易于理解。目前基于MATLAB环境的LMI求解软件包采用的就是这种方法。 2.4 LMI不等式问题

在控制工程中,许多控制问题尤其是鲁棒控制问题,都可转化成一种称为线性矩阵不等式问题或带有线性矩阵不等式限制条件的简单的最优化问题的求解。线性矩阵不等

5

式的一般形如下

F(x)?F0?x1F1?...?xmFm?0

或F?x??0

式中具体信息前文1.1中有详细的介绍,这里就不在重复。在控制理论中,经常遇到的两种矩阵不等式为:

① 李亚普诺夫(Lyapunov)不等式

ATX?XA?Q?0 X?XT?Rn?n ……(4) ② 李卡第(Riccati)不等式

ATX?XA?XBTBX?Q?0 X?XT?Rn?n ……(5) 显然,式(4)是线性矩阵不等式,式(5)由于含有二次项XBTBX,故此式是二次矩阵不等式而不是线性矩阵不等式,但利用Schur定理,可很容易将其变成线性矩阵不等式,即

?ATX?XA?QXB? ? ??0 ……(6)TBX?1??在上述两种线性矩阵不等式中,对称矩阵X中的n?n?1?/2个未知的自由项(元素)构成了决策向量x,即x??x11,?,x1n,x22,?,x2n,?,xnn?。 2.5 三类标准的LMI控制问题及其相应的求解器

在控制、辨识和信号处理等领域中,许多问题都可以转化成用线性矩阵不等式来描述的优化问题。这里介绍3类标准的线性矩阵不等式问题及其求解:一是可行性问题(LMIP);二是特征值问题(EVP);三是广义特征值问题(GEVP)。在MATLAB软件的线性矩阵不等式工具箱(LMI Toolbox)中给出了3类问题的求解器。控制系统中的一些性能指标、稳定性判据可以转化为 LMI的3类标准问题,其原因是由于一方面Lyapunov方法易得到凸的或拟凸的条件,另一方面LMI本身能表示范围广泛的不同类凸约束。 2.5.1 可行性问题

寻找一个 x?RN,使得满足线性矩阵不等式系统

A?x??B?x? ……(7) 相应的求解器是feasp。

feasp函数是在线性矩阵不等式A?x??B?x???I的约束下搜索决策变量x,使得满足上式的?最小化,显然最终如果?min?0,则对应的x即为一组可行解。 2.5.2 具有线性矩阵不等式约束的一个线性目标函数的最小化问题

mincTx

x s.t.A?x??B?x? ……(8) 此类问题的求解器为mincx。 2.5.3 广义特征值最小化问题

? minxs.t.C?x??D?x? 0?B?x?

A?x???B?x? ……(9) 相应的求解器是gecp。

以下详细介绍这三个求解器的功能和使用方法: ①求解器feasp的一般表达式如下: [tmin,xfeas]=feasp(lmisys,options,target)。

求解器feasp是通过求解如下的一个辅助凸优化问题:

mint

6

s.t.A?x??B?x??tI

来求解线性矩阵不等式系统lmisys的可行性问题。

这个凸优化问题的全局最优值用tmin表示,作为求解器feasp输出的第一个分量。如果tmin<0,则系统lmisys是可行的。当系统lmisys为可行时,求解器feasp输出的第二个分量xfeas给出了该线性矩阵不等式系统决策变量的一个可行解。进而,应用dec2mat可以得到系统lmisys矩阵变量的一个可行解。

求解器feasp的输入变量target为tmin设置了目标值,使得只要tmin

可选择的输入量options是一个5维向量,它用来描述优化迭代过程中的一些控制参数:

options(1):该分量不用。

options(2):该参数设定优化迭代过程中允许的最大迭代次数(该参数的默认值是100)。 options(3):该参数设定了可行域的半径。options(3)=R>0表示限制决策变量在球体

?xi?1N2i?R2

中,或者说向量xfeas的欧氏范数不超过R。该参数的默认值是R?109。可行域半径的设定可以避免产生具有很大数值的解,同时也可以加快计算过程,改进数值稳定性。 options(4):该参数用于加快迭代过程的结束,它提供了反映优化过程中迭代速度和解的精度之间的一个折中指标。当该参数取值为一个正整数J时,表示在最后的J次迭代中,如果每次迭代后t的减小幅度不超过1%,则优化迭代过程就停止。该参数的默认值是10。

options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变量来接受默认值。

②mincx求解器mincx的一般表达式如下: [copt,xopt]=mincx(lmisys,c,options,xinit,target)

问题中的线性矩阵不等式系统由lmisys表示,向量c和决策变量向量x有相同的维数。对于由矩阵变量表示的线性目标函数,可以应用函数defcx来得到适当的向量c。函数mincx返回到目标函数的全局最优值copt和决策变量的最优解xopt,相应的矩阵变量的最优解可以应用函数dec2mat从xopt得到。

函数mincx的输入量中除了lmisys和c以外,其他的输入是可选择的。xinit是最优解xopt的一个初始猜测(可以从矩阵变量X1,?,Xk的给定值,通过使用mat2dec来导出xinit)。当输入的xinit不是一个可行解时,它将被忽略;否则,则有可能加快问题求解的过程。

target是目标函数的一个设定目标,只要某个可行的x满足cTx?target,求解过程就停止。

options是一个5维向量,它用来描述优化迭代过程中的一些控制参数: options(1):该参数确定了最优值copt所要求的精度(默认值是10?2)。

options(2):该参数设定优化迭代过程中允许的最大迭代次数(默认值是100)。 options(3):该参数设定了可行域的半径。有求解器feasp中的相应参数相同。

options(4):该参数用于加快迭代过程的结束。当该参数取值为一个正整数J时,表示在最后的J次迭代中。如果每次迭代后,目标函数cTx的减小幅度在给定的精度内,则优化迭代过程就停止。该参数的默认值是5。

options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。 将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变

7

量来接受默认值。

③求解器gevp的一般表达式如下:

[lopt,xopt]=gevp(lmisys,nlfc,options,linit,xinit,target)

如果问题的线性矩阵不等式约束是可行的,则gevp 给出了优化问题的全局最小值lopt和决策向量x的最优解xopt。相应的矩阵变量的最优解可以应用dec2mat得到。输入分量lmisys表示当??1时由

?ATX?XA?CTSCXB????0 TBX?S??X?0 S?I

构成的线性矩阵不等式系统。包含?的线性矩阵不等式系统称为线性分式约束。线性分式约束S?I的个数用nlfc表示。其他的输入分量都是可选择的。

如果??0,x0?是一个可行解,则通过令linit??0、xinit?x0,将??0,x0?设置为gevp的初始值。当??0,x0?不是可行解时,这样的初始值设置不会被接受。target的设定值表明了只要当一个可行解??,x?满足??target时,迭代过程就停止。

可选择的输入量options 是一个5维向量,它用来描述优化迭代过程中的一些控制参数:

options(1):该参数设定了最优值lopt所要求的精度(默认值是10?2)。

options(2):该参数设定优化迭代过程中允许的最大迭代次数(默认值是100)。 options(3):该参数设定了可行域的半径。与求解器feasp中的相应参数相同。

options(4):该参数用于加快迭代过程的结束。当该参数取值为一个正整数J时,表示在最后的J次迭代中,如果每次迭代后?的减小幅度在给定的精度内,则优化迭代过程就停止。该参数的默认值是5。

options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变量来接受默认值。

对广义特征值的最小化问题,在调用求解器gevp时,须遵循以下规则: ①确定包含?的线性矩阵不等式:A?x??B?x?(注意没有?); ②总是把A?x??B?x?放在线性矩阵不等式系统的最后;

③要求有约束0?B?x?,或者保证0?B?x?成立的任何其他约束。 根据以上要求,对于

?B?x?0?,B1?x??0 B?x???1?0??0的广义特征值优化问题,我们就不能直接应用求解器gevp来求解。为了克服这一困难,可以通过引进矩阵变量Y,并用

?Y0?A?x????,Y??B1?x?,B?x??0 00??来代替

A?x???B1?x?,B?x??0

而等价的新问题可以用gevp来求解。

3 LMI工具箱函数详解

3.1 LMI工具箱函数列表 1 确定LMI系统的函数

8

setlmis lmivar lmiterm newlmi getlmis lmiedit 初始化LMI系统 定义矩阵变量 确定LMI系统中每一项的内容 多LMI系统中添加新的LMI 获得LMI系统的内部描述 通过GUI界面确定LMI系统 将求解器的输出转化为矩阵变量值 通过给定的矩阵变量值返回决策向量 验证LMI的可行性 LMI限制下线性目标的极小值 在mincx命令中第一Cx目标 LMI限制下的广义特征值最小化 由决策变量的给定值来验证所有的变量项 返回一个已经评估的LMI的左右边 从系统中删除一个LMI 从问题中移除一个矩阵变量 将一个矩阵变量赋予指定值 以决策变量的形式表示每个输入的矩阵变量 得到决策变量的个数 查询现存LMI系统的信息 得到问题中LMI的个数 得到问题中矩阵变量的个数 T2 对LMI变量的操作 dec2mat mat2dec 3 LMI解算器 feasp mincx defcx gevp 4 LMI结果验证与修改 evallmi showlmi dellmi delmvar setmvar 5 LMI系统信息的提取 decinfo decnbr lmiinfo lminbr mntnbr 3.2 确定LMI系统的函数 (1)setlmis([])或者setlmis(lmi0)

在通过lmivar以及lmiterm描述一个LMI系统之前,利用setlmis初始化其内部表示。为一个已经存在的LMI系统中添加新描述,使用后者,其中lmi0表示已存在的LMI系统,之后的lmivar和lmiterm被用来在lmi0中添加新的变量和项。 (2)[X,n,sX]=lmivar(type,struct)

为LMI问题定义矩阵变量,其中type和struct是描述该矩阵变量的必须参数。type确定变量X的类型,struct描述变量X的内容。

type=1:此时X是具有块对角化对称矩阵。X对角线上的每一个矩阵Di必须是方阵,注意标量也1?1的方阵。此时的矩阵变量X大体结果如下:

?D1??(必须是方阵) X??D2??Di?D3???如果X具有n个对角块,那么struct是一个n?2的矩阵:

m=struct(i,1)表示第i个方阵(即Di)的大小,比如Di是5?5的方阵,那么struct(i,1)=5,n=struct(i,2)表示Di的内容,n=-1表示Di是零矩阵,n=0表示标量,n=1表示满矩阵。 type=2:表示X是一个m?n的长方形矩阵,此时struct=[m,n],很简单。

type=3:表示其他结构,一般用于复杂的LMI系统,正常情况使用的比较少,此时若 X(i,j)=0,struct(i,j)=0,若X(i,j)=xk则struct(i,j)=k,若X(i,j)=-xk则struct(i,j)=-k,其中xk表示第k个决策变量。 type 1 Struct=[m n] m n 第i个矩阵的大小 -1 零矩阵 0 标量 1 满矩阵 说明 X必须是对角化的块对称矩阵,每个块也必须是方阵 9

2 3 [m n] X为 m?n的长方形矩阵,不能包含子块矩阵 (3)lmiterm(termID,A,B,flag) 确定LMI中每一项的内容,包括内外因子、常数项以及变量项。再次强调,在描述一个具有分块对称的LMI时,只需要确定右上角或者左下角即可。

termID:四元向量,确定该项的位置以及包含的矩阵变量。

termID(1)表述所描述的项属于哪个LMI,它可取值为p或者-p,p代表该项位于第p个LMI的左边,而-p则代表该项位于第p个LMI的右边。我们再起强调,左边是指LMI较小的那一边。

termID(2:3)表示所描述的项所在LMI中块的位置,如果该项位于内因子的第(i,j)块,那么termID(2:3)=[i,j];如果该项在外因子中,那么termID=[0 0]。

termID(4)表示所描述的项是常数项还是变量项。0代表常数项,k代表该项中包含

T第k个矩阵变量Xk,-k代表该项中包含第k个矩阵变量Xk的转置Xk。

termID termID(1) termID(2:3) termID(4) 取值 P -p [0 0] [i j] 0 所描述的项 位于第p个LMI的左边 位于第p个LMI的右边 外因子 在内因子中的位置(i,j) 常数 项中包含第k个矩阵变量Xk ?Xk Xk TXk参数A、B是描述该项包含的数据信息,具体可以看下面的表格: 项中包含第k个矩阵变量的转置所描述项 外因子N 常数项C或者Q*Q’ 变量项A N C/ Q*Q’ A/A B 省略 省略 B/B’ AXB或者AXBT (4)tag=newlmi 在当前多描述的LMI系统中添加一个新的LMI,并返回它的句柄tag。 (5)lmisys=getlmis

在利用lmivar和lmiterm描述给定LMI后,通过getlmis获取当前LMI系统的内部描述,注意这个命令是必须的。 (6)lmiedit

打开LMI的GUI界面,它可以直观的编辑LMI。其实这个界面对与大部分人来说没有太大的意义,由于它只是免去你书写和记忆lmiterm函数中的参数,但是lmivar参数,比如type和struct还是要理解的,当然对初学这可能可以方便些。 3.3 对LMI变量的操作

(1)valX=dec2mat(lmisys,decvars,X)

给定决策变量的值返回相应矩阵变量的值。 (2)decvec=mat2dec(lmisys,X1,X2...)

根据矩阵变量的特殊值来返回决策变量组成的决策向量。给定一个LMI系统lmisys和矩阵变量X1,X2...,得到决策向量decvec。这个函数在初始化LMI求解器mincx和gevp的时候很重要,通过给定一个关于矩阵变量X1,X2...的初始值,mat2vec将会组成相应的关于决策变量xinit的向量。 3.4 LMI求解器命令

(1)[tmin,xfeas]=feasp(lmisys,options,target)

计算以lmisys描述的LMI系统的一个可行解,向量xfeas 是一个guanyu决策变量的特殊值,它满足任意一个LMI。即:给定LMI系统

NTL?x?N?MTR?x?M

xfeas通过求解辅助凸优化问题

10

mint

s.t.NTL?x?N?MTR?x?M?tI ??(10) 其中,(式10)的全局最优解由标量值tmin表示,如果tmin<0,那么系统是严格可行的。如果问题是可行但非严格可行的话,tmin是一个非常小的整数。

options:是一个长度为5的向量,用来描述优化算法中的某些控制参数。 options options(1) options(2)=n options(3)=R 说明 不使用 设置优化算法的过程中允许的最大迭代次数n,默认n=100 设定可行域半径R,表示决策变量被限制在球体options(4)=J options(5) ?xi?1N2i?R2内,默认R?109 加快优化迭代过程,表示在最后的J次迭代中,如果每次迭代后t的减小幅度不超过1%,迭代即终止,默认J=10 0 显示迭代过程,默认0 1 不显示迭代过程 Target:为tmin设定目标值,使得只要满足tmin

(2)[copt,xopt]=mincx(lmisys,c,options,xinit,target)

求解具有LMI约束的线性目标函数的最小化问题,返回目标最小值copt和对应的决策变量的值,即解决下面的凸包问题:

mincTx(x为决策向量) s.t.NTL?x?N?MTR?x?M

lmisys:需要求解的LMI系统。

c:就是目标函数mincTx中的那个c,通常情况题目不会直接给出c而是需要我们间接的求解。控制系统中大部分都是以变量矩阵X的形式给出目标函数,而不是刚才说到的决策向量的形式。此时我们一般需要通过defcx函数来求解。

xinit:决策变量x的初始猜测值,它可以加快问题求解过程,我们可以使用mat2dec函数从矩阵变量的给定值中导出xinit,但是当输入的xinit不是一个可行解时,将被忽略。

target:目标函数的设置目标,只要满足cTx?target,求解过程就终止。 options:5维向量,控制优化算法中的参数 options options(1)=tol options(2)=itermax options(3)=R options(4)=J options(5) 说明 最优解copt的精度tol,默认0.01 允许的最大迭代次数itermax,默认100 设定可行域半径R,默认10 最后J次迭代结果变化幅度在精度范围,将终止迭代过程,默认5 控制是否显示迭代过程,0显示,1不显示,默认0 9(3)[V1,V2...]=defcx(lmisys,n,X1,X2...) 将矩阵变量形式的目标函数转成决策变量形式,从而得到c,也就是说LMI求解器mincx的目标函数必须转换成cTx的形式才可以使用,其中x是由决策变量组成的决策向量。然而在多数控制问题中,目标函数一般以矩阵变量X的形式给出,而不是决策向量x。比如trace(X)或者ATXA等。

lmisys:需要求解的LMI系统。

n:LMI系统中独立变量的个数,可以使用decnlmi函数获取。 Xk:第k个矩阵变量。

Vk:返回的第k个决策变量系数。

(4)[lopt,xopt]=gevp(lmisys,nlfc,options,linit,target)

求解LMI限制下的广义特征矩阵最小化问题:

min? s.t.C?x??D?x?

11

0?B?x? A?x???B?x?

只要上面的三个约束是可行的,gevp就返回全局最小值lopt和相应的决策变量的值xopt。由于大部分参数前面的相似,我们这里只是说明下不同的参数:

nlfc:线性比例约束的个数,即包括?的式子的个数。 linit:?的初值猜测值?0。

xinit:每个决策变量的初始猜测值x0,注意必须是以决策向量的形式给出,长度等于decnbr(lmisys)。

options:与mincx的完全一样,这里不具体介绍了。 3.5 结果验证和修改 3.5.1 结果验证

LMI工具箱提供了两个函数用于分析和验证一个线性矩阵不等式优化问题的结果。对一个给定的决策向量的值,例如由线性矩阵不等式求解器给出的可行或最优解向量,函数evallmi求出线性矩阵不等式系统中所有变量项的值,进而应用showlmi给出特定线性矩阵不等式的左边和右边。 (1)evalsys=evallmi(lmisys,decvars)

对一个给定的决策向量的值decvars,验证LMI求解器的输出,返回给evalsys,之后每个LMI左右两边的矩阵值通过showlmi函数返回。 (2)[lhs,rhs]=showlim(evalsys,n)

对于决策变量的给定值,返回每个LMI不等号的左右两边的值。 evalsys:由evallmi计算返回的参数。 n:第n个LMI。 3.5.2 结果修改

LMI工具箱提供了函数setmvar、dellmi和delmvar,它们可以用来修改一个已经确定的线性矩阵不等式系统。

(1)函数setmvar用于给某个矩阵变量赋值,一旦赋值,该变量就从原来的问题中消失了,包含该变量的所有项都成为常数项。可以通过以下的命令来实现:

newsys=setmvar(lmisys,X,Xval)

将Xval赋值给矩阵变量X,此时所有包含X的项都会变为常数项,当然那个矩阵变量X也就从地球上消失了,返回的新LMI系统是有剩下的矩阵变量和常数项构成。 setvar的作用就是可是冻结默一个矩阵变量,或者根据剩余变量进行优化,可以避免LMI约束的部分或全部重定义。

(2)函数dellmi可以从一个线性矩阵不等式系统中删除一个完整的线性矩阵不等式。可以通过以下的命令来实现:

newsys=dellmi(lmisys,n)

删除lmisys系统中的第n个LMI,返回新的LMI系统给newsys,当然在被删除的LMI中出现的矩阵变量也会被相应的删除。

(3)函数delmvar修改一个线性矩阵不等式系统的方式是删除一个矩阵变量,即在所有包含该变量的变量项中删除该矩阵变量。delmvar提供了这样一种修改功能。可以通过以下的命令来实现:

newsys=delvar(lmisys,X)

将矩阵变量从当前LMI系统中删除,相当于setvar(lmisys,X,0)。 3.6 LMI系统信息提取

线性矩阵不等式系统的完整描述是以一个叫做内部表示的向量储存在机器内的。LMI工具箱提供了三个函数lmiinfo、lminbr和matnbr,它们可以从内部表示向量中提取线性矩阵不等式的相关信息,并以用户可读的方式显示出来。

12

lmiinfo是一种交互式工具,用以反映有关线性矩阵不等式系统的一些信息。这些信息包括线性矩阵不等式的个数、矩阵变量的个数和它们的结构、每一个线性矩阵不等式块中项的内容等。为了调用lmiinfo,输入lmiinfo(lmisys)其中的lmisys是由getlmis产生的线性矩阵不等式系统的内部表示。

minbr和matnbr这两个函数给出了系统中线性矩阵不等式的个数和矩阵变量的个数。例如,为了得到矩阵变量的个数,输入matnbr(lmisys)。 (1)nlmi=lminbr(lmisys)

返回由lmisys描述的LMI系统中LMI的个数。 (2)nmat=matnbr(lmisys)

返回由lmisys描述的LMI系统中矩阵变量的个数。 (3)ndec=decnbr(lmisys)

返回由lmisys描述的LMI系统中决策变量的个数。 (4)lmiinfo(lmisys)

返回有lmisys描述的LMI系统中矩阵变量的类型和结构,内因子中对角块的个数以及每一块中各项的内容等。 (5)decX=decinfo(lmisys,X)

指明X中每一个块,分别是哪个决策变量,返回的decx和X的维数相同 X(i,j)=0?decX(i,j)=0 X(i,j)=xk?decX(i,j)=k X(i,j)=-xk?decX(i,j)=-k

当第二参数省略的时候,会出现交互是界面列所有的决策变量,要求你选择。

4 线性矩阵不等式在控制理论中的应用

13

4.1 LMI用于控制问题常用的技术 4.1.1 矩阵操作技术

矩阵操作技术用于把各种判据最终化为LMI。①矩阵不等式的等价变换,主要有Schur 补引理;②有约束条件矩阵不等式转化为无约束条件矩阵不等式,主要有S-Procedure引理;③矩阵变量消去技术,主要有双边投影引理和Finsler引理;④矩阵扩展技术,即求构造一个部分项已知的矩阵,并使它满足一定的性质,主要有矩阵完成引理。

4.1.2 LFT(Linear Fraction Transformation)和多胞(polytopy)表示方法

系统不确定块的LFT表示,是把系统各环节的反馈互联看成是双端口网络的互联,从而在使用LMI技术对系统变换进行描述时,更为直观,也易于用矩阵直接描述系统和控制器结构。不确定块也可采用多胞表示,由于多胞是凸集,它可由端点完全描述。所以,在求解控制器时,如可化为LMI求解,则无须对多胞内的所有点求解,只要对它的端点进行求解即可。因而能大大减少计算量。 4.2 在控制理论中的应用举例

①用于LTI系统的鲁棒多目标分析和综合。基于Lyapunov方法和LMI技术可以统一处理LTI系统稳定、鲁棒性和性能指标问题,且得到的一些判据可为充要条件。统一处理这些鲁棒性能问题的优点是,一旦需要进行多目标综合,就可先把各性能指标与其相应的LMI可解条件一一对应,然后利用LMI的线性特性,把与各目标相对应的LMI像搭积木一样搭成统一的约束框架。基于这一思路,目前已有一些重要的结果,如LTI系统用LMI表示的H?、H2性能指标及极点配置的充要条件等。

②用于处理增益调度问题,主要LPV系统的鲁棒性能问题。经典的增益调度方法采用逐点内插和启发式切换策略,但这些技术忽略了控制对象时变的特性,而且理论上缺乏保证系统性能指标的系统方法,因而有一定危险性。采用LMI技术可以弥补这一不足。另外,增益调度需要对实际控制系统的动态知识进行显式利用,因而LMI技术可以满足其实时信息处理的快速性。而且,用LMI技术对LPV系统进行分析综合,可以看作是对LTI系统进行处理的一个自然扩展,它们有相类似的工程上的解释,易于理解,所以LMI技术处理LPV的鲁棒性能问题有一定的优越性。

③用于非线性系统。LMI技术在线性系统中的成功应用使得许多学者开始尝试把它用于分析非线性系统。最先考虑的是非线性系统的稳定性,H?性能指标等问题。线性系统H?控制已有成熟的状态空间法,依照其基本思路,Hall等利用算子理论,Vander Schaft利用微分几何方法,Isidori等利用微分对策论,Hill等利用Willems的耗散性理论,Lu等利用非线性矩阵不等式(NonLinear Matrix Inequalities)来处理这些问题。其中与LMI相关的主要是后两种方法。

动态耗散理论中的耗散性(dissipativity)概念是无源性(passivity)概念的推广。利用供应率(supply rate)和储存函数(storage function)这两个概念可以统一定义无源性和正实性以及得出小增益定理和正实定理的相互关系。由动态耗散理论方法得出的一些特殊非线性系统的鲁棒性能问题易于化为LMI标准问题来进行求解。用这一方法的关键是针对不同的系统寻找与之相适应的不同的储存函数。一旦储存函数找到,可以把它用作Lyapunov函数,此时,可同时考虑系统稳定性和保证性能两方面的要求。Hill等最先用到这一途径分析系统的鲁棒性。对线性系统和几类非线性系统的H?控制问题,其相应耗散不等式往往最后可化为LMI。对一般的非线性系统,则可化为多线性矩阵不等式(MLMI)。对另一些特殊的非线性系统,可化为带参数的LMIs来求解。

非线性矩阵不等式(NonLinear Matrix Inequalities)方法由Lu等提出。在文献[16,17]中,设计的非线性输出反馈H?控制器都具有分离结构。NLM方法可以得到不具分离结构的控制器。其解空间也是凸的,故它的求解仍具有凸优化求解的便利。另外,在加入

14

一些附加条件后,NLMI可以化为以状态变量为自变量的逐点的LMIs,Lu等已证明,如对状态区域里的任意状态值,其LMI存在解,则函数LMI存在全局光滑解,因而原有的H?非线性问题可以化为逐点求解LMIs问题。但对空间如何搜索并逐点求解;有没有一个最优标准,使得这一搜索最优;求得了采样点处的LMIs解,又如何合成一个光滑的矩阵函数,仍有待于进一步研究。

4.3 用线性矩阵不等式求解控制问题的实例

在控制工程理论中,大多数控制问题都可以转化成线性矩阵不等式问题,而后,可应用线性矩阵不等式控制工具箱中的命令和函数来求解这些线性矩阵不等式。下面本文用线性矩阵不等式方法来求解控制理论中的一个重要问题即控制系统的稳定性问题。首先,推导判别控制系统稳定性的线性矩阵不等式条件。假如,给定一个线性离散时间系统的系数矩阵A,当且仅当??A??1时,系统稳定,其中????为谱半径。据此可推导此系统稳定的线性矩阵不等式条件为

??A??1

??P:?PAP-1?1 (????为最大奇异值)

??P:PAP?1PAP?1?1?I?0

??????P:APTPAT?PTP?0 ??X:X?XT?0,AXAT?X?0

已知线性离散时间系统的系数矩阵A,若存在矩阵X?XT?0,使线性矩阵不等式AXAT?X?0成立,则此系统稳定。可以看出,这两个线性矩阵不等式条件即为1.5中提到的可行性问题的的形式:这样,把判别控制系统的稳定性问题转化成了求解线性矩阵不等式的问题。利用MATLAB软件和线性矩阵不等式控制工具箱编程,计算并结合上述线性矩阵不等式条件分析一个离散时间控制系统的稳定性。 采用MATLAB中LMI工具箱求解矩阵不等式的问题: 对于对称矩阵不等式

A1n??A11A12?A1?n?1??*A??AA222?n?1?2n??????0 ……(11) ???????1***PA?n?1?n???***Q?1??*??PI??QI? ???0,?IN??0 ……(12) IM?????PM?QN?取得最小值。 的条件下使trace锥补线性化的LMI算法为:

①首先找到满足(11)和(12)中3个矩阵不等式的所有未知矩阵变量的一个可行解?P0,Q0,M0,N0?,令迭代次数k?0。

②对于矩阵变量?P,Q,M,N?,求解如下最小化问题:

?trace?PkM?MkP?QkN?NkQ?? MinimizeStbject to 2,3

令求出的最优解为:

?Pk?1,Qk?1,Mk?1,Nk?1?

③验证所求出的最优解是否满足①,若满足,则得解。若果不满足,检查k是否达到规定的迭代次数,如果达到,则系统无解;否则,令k?k?1,转到步骤2继续执行程序。

???1???1 15

以下对一具体问题所做的仿真,所需要描述的LMI为:

00A?BK?FC??S?P0?*??S000FC???**R?Q0?BKFC?A????0

**?R00??*?****P?10????1*****Q????P?0,Q?0,R?0,S?0,M?0,N?0,F,K是适维矩阵。 4.4基于LMI的鲁棒控制器设计

首先不加证明地给出两个LMI基本的转化公式: 定理1 (Schur补引理)给定矩阵

?QS?Q?Rr?r,S?Rr??n?r?,R?R?n?r???n?r?,?T?0 ?R??S当且仅当下面两式有一个成立即可

(1)R?0,Q?SR?1ST?0;(2)Q?0,R?STQ?1S?0。

定理2 (消元公式)给定G,U,V,G?Rn?n,U,V具有n行,存在X以致于

G?UXVT?UXTT当且仅当

??T?0

U?TGU??0 V?TGU??0

其中U?,V?为U和V的正交补,U?U,V?V?0。

鲁棒控制是目前应用LMI最多的领域,在H?控制理论中,要求系统的传递函数H?S?的无穷范数

有界实引理(Bounded-real lemma)描述了一个系统?A,B,C,D?的传递函数满足式(13)的条件是,当且仅当Riccati方程

?1TH?S???sup{H?S?/ReS?0}?1 ……(13)

?ATP?PA?CTC??PB?CTD??1?DTD??PB?CTD??0 ……(14)

有一个正定解P = PTP?PT?0。而式(14)是一个双线性不等式(QMI)问题。利用Schur补公式,式(14)的可解性等价于

?ATP?PA?CTCPB?CTD?P?0,?? ……(15) TTTBP?DCDD?I??的可解性。显见式(15)是一个标准的LMI问题,方程的变量是正定矩阵P。

下面详细研究基于LMI控制器设计方法,通过本节可以看到LMI理论在不确定性系统分析与综合中的应用,以及基于LMI方法解决问题的基本思路。设某一被控系统H和控制器G的结构如图2所示,

z

H y G u w

图2 反馈控制系统

被控系统数学模型为

16

?x?Ax?B1w?B2u,z?C1x?D11w?D12u,y?C2x?D21w。 ……(16)

其中,x?Rn,u?Rp,y?Rq,z?Rr分别为系统的状态、输入、量测输出和控制输出,w为系统的干扰输入。设控制器为

xc?Acxc?Bcy,u?Ccxc?Dcy。 ……(17)

?其中xc?Rnc为控制器状态。经一定的推导,由式(16)和(17)构成的闭环系统为

?xci?Aclxcl?Bclw,z?Cclxcl?Dclw。 ……(18)

??Bcl?A???Dcl????C1其中xcl?xT?Txc?为闭环系统状态,各系数阵可以表示为

T?Acl?C?cl????B1??B2?????G?C2????D11???D12???D21? ……(19) ??式(19)右边各系数矩阵分别为

B20??A0B1???B1B2?0000I?????D11D12??C10D11D120? ……(20) ????TT?T?C0DDB21cc??2D21G?TT??0I?0CAcc??称式(18),(19),(20)为系统(16)和控制器(17)的标准闭环结构,其中G为控制器系数矩阵。H?控制器的设计目的是设计控制器G,使得闭环系统式(18)满足式(13)。

记系统式(18)从w到z的闭环传递函数为Tzw,一个H?控制器的定义如下。

???A??C??1?C??2??定义 给定标量??0,控制器式(11)被认为是一个H?控制器,如果下面两个条件

成立:

(1)Acl是渐近稳定的;(2)Tzw???。 下面给出基于LMI的控制器设计方法,该方法可以忽略掉原基于频域方法和基于Riccati方法对原系统许多假设条件。

引理1 设被控系统式(16)和控制器式(17)已给定,定义

?AclP?PAdT?BclBclTPCclT?BclDclT?Q??? ……(21) TTCdP?DclBclDclDcl?I??T R?I?DclDcl则下面两个条件是等价的。

(1)控制器式(17)是一个H?控制;(2)R?0,则存在P?0满足Q?0。

式(21)是有界实引理,显然不等式(21)含控制器式(17)的各系数阵G和正定阵P,并且由

T于BclBcl等项的出现,使得关于未知参数G和P是二次的,即式(21)是一个QMI问题,直接求解比较困难.利用矩阵理论可以将凸QMI问题转化为LMI问题,通常是首先用Schur补,可使不等式(21)的可解性等价于式(22)的可解性。

TT?AclP?PAclPCdBd???CP?IDdcl? ……(22) ?TT?BD?I?dd??将式(19)代入式(22),注意到它对G的线性关系,经适当推导,不等式(16)的可解性又可

等价于

17

BGC????0 ……(23) ??BGC的可解性。B,C,?的表达式为

T???B2???B??D12???*C????0??*?AP?PC1PB??T1???TPC?T1?ID?T11C2P0?B1??D11?? ……(24) ?I??0???其中,*是无关紧要的项。由式(24)可以明显地看出控制器G和正定阵P已经分开。进

一步利用矩阵消元法,则可将关于G的LMI式的可解性转化为定理2的条件。 引理2 设B,C,?,且B不行满秩,C不列满秩,则式(23)可解的充分必要条件是 B??B?T?0,CT?CT?0 ……(25) 其中B?为B的正交补,满足B?B?0,B?B?T?0。

显然,式(25)仅仅是以正定阵P为自变量的函数。但是因为C与P有关,故式(25)中的

??????T?C???C?T??0。一般还不是P的LMI问题,因此,不等式(25)有可能定义的是关于

P的非凸问题.为了求解这两个不等式,定义两个LMI的解集合如下。

??T?????????????????TTTT?XC1?B1D11??B2??2??AX?XA?B1B1?BLA??X?Rn?n;X?XT?0,?0?(26) ??????????D??D?TT??CX?DBDD?I12???12?11111111????T?T??T??????????????T???TTTT??C2??YA?AY?C1C1YB1?C1D11??C2??0?LB??Y?Rn?n;Y?YT?0,?……(27) ?????????????TTTTT??D21B1TY?C11C1D11D11?I??D21??????根据LA和LB两个解集合,则系统式(16)的H?控制器设计可由以下定理计算。

定理3 下面的叙述是等价的

(1)控制器(17)是一个H?控制器;(2)Lc??,即非空

???XI?Lc???X,Y??Rn?n:X?LA,Y?LB,??0? ……(28) ?IY????控制器G的阶次nc?rankX?Y?1。

相反,如果X和Y满足式(25)~(28),于是满足式(25)的矩阵P存在,并可以构造为

X12??X ……(29) P??T?X22??X12?1T其中,X12,X22满足X12X12X12?X?Y?1,X22?0。

由以上推导可以看出,鲁棒控制器的求解转化为求解3个LMI问题。而LMI的求解可以借助Matlab所提供的LMI工具箱,系统的分析也可使用Matlab所提供的Robust和其他工具箱,可简化计算的复杂性。求解LMI的步骤如下:

(1)根据系统方程(16),计算由(25)和(26)两式定义的两个LMI的解集合,计算出X,Y3;

??(2)由公式(28)和(29),计算正定矩阵P?0;

(3)由P和方程(24)计算方程(23)中的各系数阵,并根据方程(23)解LMI,求出控制阵G; (4)由于控制阵G中含有一定的自由参数,因此可以根据控制器的特殊要求选定这些参数。

18

本文来源:https://www.bwwdw.com/article/b0qx.html

Top