主要内容

hinfsyn

计算h -∞最优控制器

描述

例子

KCLγ) = hinfsyn (Pn meancont计算一个稳定H最优控制器K的植物P.这种植物有分割的形状

z y P 11 P 12 P 21 P 22 w u

地点:

  • w表示扰动输入。

  • u表示控件输入。

  • z表示要保持较小的错误输出。

  • y表示提供给控制器的测量输出。

n meancont信号的数量在吗yu,分别。yu最后的输出和输入是P,分别。hinfsyn返回一个控制器K稳定P有相同数量的状态。闭环系统CL=融通(磷、钾)达到绩效水平γ,也就是H规范的CL(见hinfnorm).

例子

KCLγ) = hinfsyn (Pn meancontgamTry计算目标性能级别的控制器gamTry.指定gamTry当最优控制器性能比您的应用程序所需的性能更好时,这是有用的。在这种情况下,一个非最优控制器可以有更小的增益,在数值上更有条件。如果gamTry不可以实现的,hinfsyn返回[]KCL,γ

例子

KCLγ) = hinfsyn (Pn meancontgamRange搜索范围gamRange以取得最佳表现。用窗体的向量指定范围[gmin, gmax].限制搜索范围可以通过减少迭代次数来加快计算速度hinfsyn测试不同的性能水平。

例子

KCLγ) = hinfsyn (<年代pan class="argument_placeholder">___选择指定其他计算选项。创建选择,使用hinfsynOptions.指定选择在所有其他输入参数之后。

例子

KCLγ信息) = hinfsyn (<年代pan class="argument_placeholder">___属性的附加信息返回结构H综合计算。您可以将此参数用于前面的任何语法。

例子

全部折叠

使用不同的目标性能水平合成一个控制器。本例中的植物基于中使用的增强植物模型主动悬架的鲁棒控制.加载装置。

负载<年代pan style="color:#A020F0">hinfsynExDataP大小(P)
状态空间模型,有5个输出,4个输入,9个状态。

这个装置有五个输出和四个输入,最后两个输出是提供给控制器的测量信号,最后一个输入是控制信号。计算一个<年代pan class="inlineequation"> H 最优控制器。

ncont = 1;n mea = 2;(K1, CL,伽马)= hinfsyn (P, n mea, ncont);

由此产生的双输入单输出控制器的状态数与<年代pan class="emphasis">P

大小(K1)
状态空间模型,有1个输出,2个输入,9个状态。

该控制器达到的最优性能水平返回为γ.这个值是<年代pan class="inlineequation"> H 闭环系统的范数CL

γ
γ= 0.9405

您可以检查闭环系统的奇异值图,以确定其最大奇异值不超过γ

σ(CL, ss(γ))ylim ([-120, 20]);

图中包含一个轴对象。轴对象包含4个类型为line的对象。这些对象代表CL, untitled1。

对于性能接近最优的控制器,控制器增益有时会变大。如果您知道您的应用程序不需要最优的可实现的性能级别,则可以限制范围<年代pan class="inlineequation"> γ 值,hinfsyn测试。假设你知道<年代pan class="inlineequation"> γ 1 5 对于您的应用程序来说已经足够了。使用与例子中相同的植物h∞控制器合成,使用目标性能范围[1.4,1.6]计算控制器。打开显示器,查看计算的进度。

负载<年代pan style="color:#A020F0">hinfsynExDataPncont = 1;n mea = 2;选择= hinfsynOptions (<年代pan style="color:#A020F0">“显示”,<年代pan style="color:#A020F0">“上”);gamRange = [1.4 1.6];[K CLγ,信息]= hinfsyn (P, n mea, ncont gamRange,选择);
测试边界:1.4 <= gamma <= 1.6 gamma X>=0 Y>=0 rho(XY)<1 p/f 1.60e+00 4.9e-07 0.0e+00 1.462e-02 p 1.50e+00 5.0e-07 0.0e+00 1.681e-02 p 1.42e+00 5.0e-07 0.0e+00 1.868e-02 p 1.41e+00 5.0e-07 0.0e+00 1.902e-02 p

显示器显示所有测试的性能级别hinfsyn.在这种情况下,所有测试的性能级别都通过了以下测试hinfsyn适用于闭环稳定性(见算法).尽管最小的测试级别是1.41,控制器为该值返回的实际性能级别为γ,约为0.95。中返回的最小测试级别γ场的信息结构。

info.gamma
ans = 1.4117

如果你想要获得任何控制器都无法达到的性能水平,显示器会告诉你目标太小,并返回一个空的控制器和闭环系统。例如,假设您试图实现0.75的性能级别。

gamTry = 0.75
gamTry = 0.7500
(K CLγ)= hinfsyn (P, n mea, ncont gamTry,选择)
指定的上限GMAX=0.75太小,需要大于0.94。[] [] []
γ=正

为下列装置设计一个混合灵敏度控制器,用以下的环形滤波器增强(见mixsyn).

G 年代 年代 - 1 年代 + 1 W 1 0 1 年代 + 1 0 0 1 0 0 年代 + 1 W 2 0 1 n o W 3.

定义植物、加权过滤器和增广植物。

s = zpk (<年代pan style="color:#A020F0">“年代”);G = (s - 1) / (s + 1);W1 = 0.1 * (s + 100) / (100 * (s + 1);W2 = 0.1;W3 = [];P = augw (G, W1 W2, W3);

综合控制器。

[K CL伽马]= hinfsyn (P, 1,1);γ
γ= 0.1831

对于这个系统,γ约为0.18分贝,即-15分贝。

检查闭环结果的奇异值。

σ(CL, ss(γ))

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表CL, untitled1。

为相同的系统计算一个新的控制器<年代pan class="inlineequation"> W 1

W1 = [];P = augw (G, W1 W2, W3);[K CL伽马]= hinfsyn (P, 1,1);

在本例中,结果控制器K为零,那么闭环传递函数呢CL = K * (1 + G * K)也是零。

输入参数

全部折叠

植物,指定为动态系统模型,如状态空间(党卫军)模型。P可以是任何具有输入的LTI模型[wu]及输出[zy),地点:

  • w表示扰动输入。

  • u表示控件输入。

  • z表示要保持较小的错误输出。

  • y表示提供给控制器的测量输出。

构造P这样测量输出y是最后的输出,还是控制输入u是最后的输入。

函数转换P转换为表单的状态空间模型:

d x 一个 x + B 1 w + B 2 u z C 1 x + D 11 w + D 12 u y C 2 x + D 21 w + D 22 u

如果P是具有不确定或可调控制设计块的广义状态空间模型hinfsyn使用这些元素的标称值或当前值。

一个应用程序的H控制是直接塑造控制系统的闭环奇异值图。在这些应用程序中,您可以使用表示您想要的控制目标的加权函数(环形整形过滤器)来增加设备的输入和输出H控制器来满足。为的构造这样一个分区的、扩充的植物的详细示例H合成,看到主动悬架的鲁棒控制.有关更多信息,请参见Mixed-Sensitivity循环形成

条件对P

H待解决的综合问题,(一个B2)必须是稳定的,并且(一个C2)必须是可检测的。对于默认的Riccati方法,植物在这方面受到了进一步的限制P12P21虚轴(连续时间植物)或单位圆(离散时间植物)上必须没有零。对于连续时间,这个限制意味着

一个 j ω B 2 C 1 D 12

所有频率的列都满了吗ω.默认情况下,hinfsyn自动添加额外的干扰和误差到工厂,以确保限制P12P21是满足。这个过程叫做正则化.如果你确定你的工厂满足条件,你可以关闭正规化使用规范选择hinfsynOptions

设备中测量输出信号的数量,指定为非负整数。函数取最后一个n mea作为测量值的工厂输出y.返回的控制器Kn mea输入。

设备中控制输入信号的数目,指定为非负整数。函数取最后一个ncont工厂输入作为控制u.返回的控制器Kncont输出。

目标性能级别,指定为正标量。hinfsyn试图计算这样的控制器H的闭环系统不超过gamTry.如果这个性能水平是可以达到的,那么返回的控制器γgamTry.如果gamTry不可以实现的,hinfsyn返回空控制器。

搜索的性能范围,指定为表单的向量[gmin, gmax].的hinfsyn命令只测试该范围内的性能级别。它返回一个具有性能的控制器:

  • γgmin,当gmin是可以实现的。

  • gmin<γ<gmax,当gmax是可以实现的,但是gmin不是。

  • γgmax是不可以实现的。在这种情况下,hinfsyn返回[]KCL

如果您知道可行性能级别的范围,指定此范围可以通过减少执行的迭代次数来加快计算速度hinfsyn测试不同的性能水平。

计算的附加选项,作为创建的选项对象指定hinfsynOptions.可用的选项包括:

  • 在命令行显示算法进度。

  • 关闭自动缩放和正规化。

  • 指定一个优化方法。

有关所有选项的信息,请参见hinfsynOptions

输出参数

全部折叠

控制器,作为状态空间返回(党卫军)模型对象或[].控制器稳定P状态数和P.控制器已经n mea输入和ncont输出。

如果你提供gamTrygamRange而指定的性能值是无法实现的K[]

闭环传递函数,返回为状态空间(党卫军)模型对象或[].闭环传递函数为CL =融通(磷、钾)如下图所示。

返回的性能水平γH规范的CL

如果你提供gamTrygamRange而指定的性能水平是无法达到的CL[]

控制器性能,返回为非负标量值或.这个值是使用返回的控制器实现的性能K,是H规范的CL(见hinfnorm).如果您不提供性能级别来测试使用gamTrygamRange,然后γ是可达到的最佳性能水平。

如果您提供gamTrygamRange,然后γ控制器所达到的实际性能水平是否计算为通过的最佳性能水平hinfsyn尝试。如果无法达到指定的性能水平,则γ

附加的合成数据,作为结构或[](如果不能达到指定的性能水平)。对于默认的基于riccati的合成方法,信息具有以下字段。

描述
γ

用于计算控制器的性能级别K,返回为非负标量。通常情况下,hinfsyn测试多个目标性能级别,并返回与最佳通过性能级别对应的控制器(请参阅算法).的值info.gamma是否将实际达到的性能上限作为输出参数返回γ

X, Y

黎卡提微分的解决金宝搏官方网站方案XY对于性能水平info.gamma,作为非负标量返回。有关更多信息,请参见算法[5]

Ku,千瓦

控制器的状态反馈增益K以观察者的形式表示,返回为矩阵。有关观察者-表单控制器的更多信息,请参见提示

Lx,陆

控制器观测器增益K以观察者的形式表示,返回为矩阵。有关观察者-表单控制器的更多信息,请参见提示

怀孕的

正规的工厂使用hinfsyn计算,作为状态空间返回(党卫军)模型对象。默认情况下,hinfsyn自动添加额外的干扰和错误到装置,以确保它满足某些条件(见输入参数)P).这个领域信息。怀孕的包含生成的工厂模型。

作为

所有解决金宝搏官方网站方案控制器参数化,作为状态空间返回(党卫军)模型对象。

对于基于lmi的合成方法,信息包含最佳性能γ以及相应的LMI解金宝搏官方网站R年代.(使用hinfsynOptions改变合成方法。)

更多关于

全部折叠

所有解决金宝搏官方网站方案控制器

在一般情况下,无穷范数最优控制问题的解是非唯一的。返回的控制器hinfsyn只有一个特解,K.对于默认的基于riccati的方法,信息。作为包含全解控制器参数化K作为.所有解具金宝搏官方网站有闭环性能γ或更少被一个自由稳定的收缩映射参数化,它受到<年代pan class="inlineequation"> < γ

换句话说,解决方案包括每个稳定控制器金宝搏官方网站K年代),使

T y 1 u 1 吃晚饭 ω σ 马克斯 T y 1 u 1 j ω < γ

在这里,<年代pan class="inlineequation"> T y 1 u 1 是闭环传递函数吗CL.这些控制器K年代)由下列人士提供:

Ks =融通(info.AS问)

在哪里稳定的LTI系统是否令人满意规范(Q,正)< info.gamma

提示

  • hinfsyn给你状态反馈增益和观测器增益,你可以用观测器形式来表示控制器。控制器的观测器形式K是:

    d x e 一个 x e + B 1 w e + B 2 u + l x e u K u x e + l u e w e K w x e

    在这里,w<年代ub>e是对最坏情况扰动和创新条件的估计吗e是由:

    e y C 2 x e D 21 w e D 22 u

    hinfsyn返回状态反馈增益K<年代ub>uK<年代ub>w观察者得到l<年代ub>xl<年代ub>u的字段信息输出参数。

    你可以在Simulink中使用这种形式的控制器进行增益调度金宝app<年代up>®.为此,将植物矩阵和控制器增益矩阵作为调度变量的函数制成表格矩阵插值(金宝app模型)块。然后,利用控制器的观测器形式,随着调度变量的变化对控制器变量进行更新。

算法

默认情况下,hinfsyn使用双riccati公式([1][2])带环移[3].您可以使用hinfsynOptions更改为基于lmi的方法([4][5][6]).您还可以指定最大熵方法。在这种方法中,hinfsyn返回H使与该点相关的熵积分最大化的控制器S0.对于连续时间系统,积分为:

熵= γ 2 2 π ln | 依据 γ 2 T y 1 u 1 j ω T y 1 u 1 j ω | 年代 o 2 年代 0 2 + ω 2 d ω

在哪里<年代pan class="inlineequation"> T y 1 u 1 是闭环传递函数吗CL.对离散时间系统也使用类似的积分。

对于所有方法,该函数使用一个标准γ-迭代技术来确定性能水平的最优值γγ迭代是一个二分算法首先是高估值和低估值γ和迭代γ值接近最优H控制设计。

γ,算法测试aγ值,以确定解决方案是否存在。在基于Riccati的方法中,算法计算稳定Riccati解的最小性能水平金宝搏官方网站<年代pan class="inlineequation">XX/γ和<年代pan class="inlineequation">YY/γ存在。对于任何γ大于那个性能水平,在这个范围内gamRange,算法计算中央控制器公式(K公式),并检查闭环稳定性CL =融通(磷、钾).这一步相当于验证条件:

  • min (eig (X))≥0

  • min (eig (Y))≥0

  • ρ(XY)< 1,其中谱半径ρ(XY) = max (abs (eig (XY)))

一个γ满足这些条件通过.二分法的停止判据要求最后二分法的相对差值γ那失败的价值和最后的γ传递的值小于0.01。(您可以使用hinfsynOptions.)hinfsyn返回与所测试的最小控制器对应的控制器γ值传递。对于离散时间控制器,该算法执行额外的计算来构造馈通矩阵D<年代ub>K

使用显示选择hinfsynOptions为了使hinfsyn显示值,显示每个条件满足的条件γ值测试。

该算法在植物满足以下条件时效果最好:

  • D12D21满秩。

  • 一个 j ω B 2 C 1 D 12 所有的列都满了吗ω∊<年代pan class="emphasis">R

  • 一个 j ω B 1 C 2 D 21 是否全部排满ω∊<年代pan class="emphasis">R

当这些等级条件不成立时,控制器可能会有不期望的特性。如果D12D21是不是满秩,那么H控制器K可能有很大的高频增益。如果后两种秩条件中的任何一种在某个频率上不成立ω,控制器可能在该频率附近有非常轻微的阻尼极点。

兼容性的考虑

全部展开

不建议从R2018b开始

R2018b中行为改变

参考文献

K.格洛弗和J.C.多伊尔。"所有满足H的稳定控制器的状态空间公式<年代ub>∞规范约束和风险敏感性的关系"系统与控制信函,第11卷,第8期,1988年,167-172页。

[2] Doyle, j.c., K. Glover, P. Khargonekar和B. Francis。“标准H的状态空间解决方案金宝搏官方网站<年代ub>2和H<年代ub>∞控制问题。”自动控制学报,第34卷,第8期,1989年8月,第831-847页。

[3] Safonov, m.g., D.J.N. Limebeer, R.Y. Chiang。“简化H<年代ub>∞通过循环移位、矩阵铅笔和描述概念的理论。”Int。j .来讲。,第50卷,第6期,1989年,第2467-2488页。

P. Pandey, J. Leonhardson,和G. Balas。“对于完整信息和状态反馈问题,最优的、恒定的I/O相似性缩放。”系统与控制信函,第19卷第4期,1992年,第271-280页。

Gahinet, P.和P. Apkarian。用线性矩阵不等式方法求解H<年代ub>∞阀门。”Int。J.鲁棒非线性控制,第4卷,第4期,1994年,421-448页。

T. Iwasaki和R.E. Skelton。“所有H将军的管制员<年代ub>∞-控制问题:LMI存在条件和状态空间公式。自动化, Vol. 30, no . 8, 1994, pp. 1307-1317。

另请参阅

|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

之前介绍过的R2006a