主要内容

TuningGoal。MinLoopGainclass

包:TuningGoal

控制系统调优的最小环路增益约束

描述

使用TuningGoal。MinLoopGain对象强制在特定频带中实现最小环路增益。将此调优目标与控制系统调优命令一起使用,例如systunelooptune

此调优目标对开环频率响应施加最小增益(l)在你的控制系统的指定位置。你指定最小开环增益作为频率的函数获取配置文件).对于MIMO反馈循环,指定的增益曲线被解释为最小奇异值的下界l

当你调优控制系统时,最小增益曲线被转换为灵敏度函数逆的最小增益约束,发票(年代) = (+l

下图显示了一个典型的指定最小增益剖面(虚线)和由此产生的调谐环路增益,l(蓝线)。阴影区域表示此调优目标禁止的增益剖面值。该图显示当l远大于1,对inv(施加最小增益年代)是开环增益最小的一个很好的代表。

TuningGoal。MinLoopGain而且TuningGoal。MaxLoopGain只指定某些频段的低增益或高增益约束。当您使用这些调优目标时,systune而且looptune确定十字路口附近的最佳环形形状。当接近交叉的环路形状简单或很好理解时(如积分动作),您可以使用TuningGoal。LoopShape来指定目标循环形状。

建设

要求的事情= TuningGoal。MinLoopGain (位置loopgain创建一个优化目标,以提高SISO或MIMO反馈循环的增益。调优目标指定开环频率响应(l)在指定位置测量的增益曲线超过loopgain

你可以指定最小增益轮廓作为平滑传递函数,或勾画分段误差轮廓使用的朋友模型或补足重量的东西(鲁棒控制工具箱)命令。只执行大于1的增益值。

对于MIMO反馈循环,指定的增益曲线被解释为最小奇异值的下界l

要求的事情= TuningGoal。MinLoopGain (位置fmingmin指定窗体的最小增益配置文件loopgain = K/s(积分作用)。软件选择K使增益值为gmin在指定的频率下,fmin

输入参数

位置

最大开环增益受到限制的位置,指定为字符向量或字符向量的单元数组,标识控制系统中要调优的一个或多个位置。可用的开环位置取决于你调优的系统类型:

  • 如果您正在调优Simulink万博1manbetx®一个控制系统的模型,可以使用模型中标记的任意线性分析点,也可以使用模型中标记的任意线性分析点slTuner(万博1manbetxSimulink控制设计)与Simulink模型相关联的接口。万博1manbetx使用addPoint(万博1manbetxSimulink控制设计)添加分析点到slTuner接口。例如,如果slTuner接口包含一个分析点u,你可以使用“u”在创建调优目标时引用该点。使用getPoints(万博1manbetxSimulink控制设计)控件中可用的分析点列表slTuner接口到您的模型。

  • 如果正在调优广义状态空间(一族)模型的控制系统,你可以使用任何AnalysisPoint控制系统模型中的位置。例如,下面的代码创建了一个PI循环,在工厂输入处有一个分析点“u”

    分析点(“u”);G = tf(1,[1 2]);C = tunablePID(“C”“π”);T =反馈(G*AP*C,1);

    在创建调优目标时,您可以使用“u”参考工厂输入处的分析点。使用getPoints中可用的分析点列表一族模型。

如果位置为开环位置的单元数组,则最小增益目标应用于产生的MIMO循环。

loopgain

最小开环增益作为频率的函数。

你可以指定loopgain作为平滑的SISO传递函数(特遣部队zpk,或党卫军模型)。或者,您可以使用的朋友模型或补足重量的东西(鲁棒控制工具箱)命令。例如的朋友模型规定0.1 rad/s以下的最小增益为100 (40 dB),在较高频率下以-20 dB/dec的速率滚动。

Loopgain = frd([100 100 10],[0 1e-1 1]);

当你使用的朋友要指定的模型loopgain,该软件自动映射您指定的增益配置文件到zpk模型。该模型的大小接近所期望的增益曲线。使用viewGoal(要求)来画出它的大小zpk模型。

只执行大于1的增益值。对于多输入多输出(MIMO)反馈环,增益曲线被解释为最小奇异值的下界l.有关奇异值的更多信息,请参见σ

如果您是在离散时间调优(也就是说,使用一族模型或slTuner非零接口Ts),您可以指定loopgain作为一个离散时间模型Ts.如果你指定loopgain在连续时间下,调优软件将其离散化。在离散时间中指定环路增益可以更好地控制奈奎斯特频率附近的环路增益。

fmin

最小增益频率gmin,指定为rad/s单位的标量值。

使用此参数指定窗体的最小增益配置loopgain = K/s(积分作用)。软件选择K使增益值为gmin在指定的频率下,fmin

gmin

的最小增益值fmin,指定为标量绝对值。

使用此参数指定窗体的最小增益配置loopgain = K/s(积分作用)。软件选择K使增益值为gmin在指定的频率下,fmin

属性

MinGain

最小开环增益作为频率的函数,指定为SISOzpk模型。

该软件自动映射输入参数loopgain到一个zpk模型。这个问题的重要性zpk模型近似于所需增益曲线。或者,如果您使用fmin而且gmin参数指定增益配置文件时,此属性设置为K / s.软件选择K使增益值为gmin在指定的频率下,fmin

使用viewGoal(要求)绘制开环最小增益曲线的幅值。

焦点

执行调优目标的频带,指定为形式的行向量(最小,最大)

设置焦点属性将调优目标的执行限制在特定频带。用正在调优的控制系统模型的频率单位表示这个值(rad/TimeUnit).例如,假设要求的事情是您希望仅在1到100 rad/s之间应用的调优目标。要将调优目标限制在此波段,使用以下命令:

要求的事情。Focus = [1100];

默认值:[0,正]对于连续时间;[0,π/ Ts]对于离散时间,其中Ts为模型采样时间。

稳定

闭环动力学稳定性要求,具体为1 (真正的)或0 ().

稳定真正的,该要求稳定指定的反馈回路,以及强加增益或环路形状的要求。集稳定如果指定的循环不需要稳定性或无法实现稳定性。

默认值:1 (真正的

LoopScaling

自动缩放循环信号的开关,指定为“上”“关闭”

在多环或MIMO控制系统中,反馈通道自动缩放以平衡开环传递函数(环交互项)中的非对角线项。集LoopScaling“关闭”禁用这种缩放和塑造非缩放开环响应。

默认值:“上”

位置

最小环路增益被约束的位置,指定为识别控制系统中一个或多个分析点的字符向量单元数组。例如,如果Location = {'u'},调优目标评估在分析点测量的开环响应“u”.如果Location = {'u1','u2'},调优目标评估在分析点测量的MIMO开环响应‘u1’而且“u2”

的值位置属性设置位置在创建调优目标时输入参数。

模型

将调优目标应用到的模型,指定为索引向量。

使用模型属性在调优控制系统模型数组时使用的systune,以强制数组中模型的一个子集的调优目标。例如,假设您想应用调优目标,要求的事情,到传递给的模型数组中的第二个、第三个和第四个模型systune.要限制调优目标的执行,可以使用以下命令:

要求的事情。模型= 2:4;

模型= NaN,调优目标适用于所有模型。

默认值:

开口

在评估调优目标时打开的反馈循环,指定为标识循环打开位置的字符向量的单元格数组。根据在您确定的位置打开反馈循环创建的开环配置来评估调优目标。

如果您使用调优目标来调优控制系统的Simulink模型,那么万博1manbetx开口可以包括模型中标记的任何线性分析点,或模型中的任何线性分析点slTuner(万博1manbetxSimulink控制设计)与Simulink模型相关联的接口。万博1manbetx使用addPoint(万博1manbetxSimulink控制设计)将分析点和循环开口添加到slTuner接口。使用getPoints(万博1manbetxSimulink控制设计)控件中可用的分析点列表slTuner接口到您的模型。

如果使用调优目标调优广义状态空间(一族)控制系统模型,则开口可以包括任何AnalysisPoint控制系统模型中的位置。使用getPoints中可用的分析点列表一族模型。

例如,如果开口= {'u1','u2'},然后在分析点打开循环的情况下评估调优目标u1而且u2

默认值:{}

的名字

调优目标的名称,指定为字符向量。

例如,如果要求的事情是一个调优目标:

要求的事情。的名字='LoopReq';

默认值:[]

例子

全部折叠

创建一个调优目标,将反馈循环的开环增益提高到至少指定的配置文件。

假设您正在调优一个控制系统,该控制系统的开环位置由PILoop.指定在该位置测量的开环增益超过0.1 rad/s以下的最小增益10 (20 dB),在更高频率下以-20 dB/dec的速率滚动。使用一个的朋友模型来描绘这个增益轮廓。

Loopgain = frd([10 10 0.1],[0 1e-1 10]);Req = TuningGoal。MinLoopGain (“PILoop”, loopgain);

软件转换loopgain变成一个平滑的频率函数,近似于分段指定的增益曲线。使用显示调优目标viewGoal

viewGoal(要求)

图中包含一个axes对象。axis对象包含一个类型为line的对象。这些对象表示最小环路增益,inv(S)限制。

虚线显示了指定的增益曲线。阴影区域表示违反调优目标的地方,除非不强制执行小于1的增益值。因此,此调优目标仅指定频率低于1 rad/s时的最小增益。

你可以用要求的事情作为输入looptunesystune调整控制系统时。然后使用viewGoal(要求,T)将调优循环增益与调优目标中指定的最小增益进行比较,其中T表示调谐后的控制系统。

创建一个指定表单最小循环增益配置文件的调优目标lK/年代.增益曲线在100 rad/s时达到-20 dB(0.01)的值。

Req = TuningGoal。MinLoopGain (“X”100年,0.01);viewGoal(要求)

图中包含一个axes对象。axis对象包含一个类型为line的对象。这些对象表示最小环路增益,inv(S)限制。

viewGoal确认正确指定了调优目标。您可以使用此调优目标来调优具有标识为的循环打开位置的控制系统“X”.由于环路增益值小于1会被忽略,因此此调优目标只指定最小增益低于1 rad/s,对更高频率的环路增益没有限制。

虽然指定的增益曲线(虚线)是一个纯积分器,但由于数值原因,增益曲线在非常低的频率调谐电平关闭期间强制执行,如中所述算法.要查看正则化增益曲线,请展开调优目标图的轴。

xlim ([10 ^ 4, 10 ^ 2]) ylim((-20、80))

图中包含一个axes对象。axis对象包含一个类型为line的对象。这些对象表示最小环路增益,inv(S)限制。

阴影区域反映了修改后的增益曲线。

检查最小循环增益调优目标与调优的循环增益。最小循环增益调优目标被转换为在调优目标中指定的位置上的灵敏度函数增益的约束。

为了看到最小环路增益和灵敏度函数之间的关系,调优以下闭环系统,分析点为X1而且X2.控制系统具有可调PID控制器C1而且C2

创建控制系统的模型。

G2 = zpk([],-2,3);G1 = zpk([],[-1 -1 -1],10);C20 = tunablePID(C2的“π”);C10 = tunablePID(“C1”“pid”);X1 = AnalysisPoint(X1的);X2 =分析点(“X2”);InnerLoop =反馈(X2*G2*C20,1);CL0 =反馈(G1*InnerLoop*C10,X1);CL0。我nputName =“r”;CL0。OutputName =“y”

指定一些调优目标,包括最小循环增益。根据这些要求调整控制系统。

Rtrack = TuningGoal。跟踪(“r”“y”10、0.01);Rreject = TuningGoal。获得(“X2”“y”, 0.1);Rgain = TuningGoal。MinLoopGain (“X2”、100、10000);Rgain。机会=X1的;opts = systuneOptions(“RandomStart”2);rng (“默认”);可重复性%[CL,fSoft] = sysune (CL0,[Rtrack,Rreject,Rgain]);
最终:软= 1.07,硬= -Inf,迭代= 122一些闭环极点是边缘稳定的(衰减率接近1e-07)

检查TuningGoal。MinLoopGain目标对应相应的调整反应。

viewGoal (Rgain, CL)

图中包含一个axes对象。坐标轴对象包含3个line类型的对象。这些对象表示inv(S),循环增益(S),最小循环增益,inv(S)限制。

图中显示了在的循环所获得的循环增益X2(蓝线)。该图还显示了实现的灵敏度函数的倒数,年代,在该位置X2(绿线)。该位置的反灵敏度函数为inv(S) = I+L.在这里,l是否测量开环点对点环转移X2

最小循环增益目标Rgain是约束发票(S),在图中用绿色阴影区域表示。约束条件发票(S)可以被认为是最小增益约束l这适用于l的最小奇异值l,对于MIMO循环)大于1。

在以下控制系统的内环上,指定50 rad/s的最小环路增益为20 dB (100), 1000 rad/s的最大环路增益为-20 dB(0.01)。

创建最大和最小环路增益要求。

RMinGain = TuningGoal。MinLoopGain (“X2”, 50100);RMaxGain = TuningGoal。MaxLoopGain (“X2”1000年,0.01);

配置要求适用于在外环开时测量的内环的环路增益。

RMinGain。开口=X1的;RMaxGain。开口=X1的

设置要求的事情。开口告诉调优算法在指定位置打开循环的情况下强制执行需求。当外部循环打开时,需求只适用于内部循环。

默认情况下,调优使用TuningGoal。MinLoopGainTuningGoal。MaxLoopGain施加一个稳定性要求以及最小或最大的环路增益。实际上,在某些控制系统中,不可能实现稳定的内循环。在这种情况下,删除内部循环的稳定性要求稳定财产

RMinGain。年代tabilize = false; RMaxGain.Stabilize = false;

当您使用这些要求中的任何一个进行调优时,调优算法仍然会对整个调优控制系统施加稳定性要求,但并不只对内部循环施加稳定性要求。

提示

  • 这个调优目标对测量的闭环灵敏度函数施加了一个隐式的稳定性约束位置中确定的点打开循环进行计算开口.受这种隐含约束影响的动态是稳定的动力学对于这个调优目标。的MinDecay而且MaxRadius选项的systuneOptions控制这些隐式约束动力学的边界。如果优化无法满足默认边界,或者默认边界与其他需求冲突,则使用systuneOptions更改这些默认值。

算法

控件调优控制系统时TuningGoal,软件将调优目标转换为规范化标量值fx).在这里,x是控制系统中自由(可调)参数的向量。然后,该软件调整参数值以最小化fx)或开车fx)小于1,如果调优目标是一个硬约束。

TuningGoal。MinLoopGainfx)由:

f x W 年代 D 1 年代 D

在这里,D为对角线缩放(用于MIMO循环)。年代灵敏度函数是位置W年代是由最小环路增益剖面导出的频率加权函数,MinGain.这个函数的增益大致匹配MaxGain取值范围为-20 dB到60 dB。由于数值原因,加权函数在此范围外趋于平稳,除非指定的增益曲线在此范围外改变斜率。这种调整叫做正则化.因为极点W年代接近年代= 0或年代可能导致较差的数值条件systune优化问题,不建议指定增益剖面与甚低频或甚高频动态。

获得W年代使用:

WS = getWeight(Req,Ts)

在哪里要求的事情是调优目标,和Ts是进行调优的样本时间(Ts = 0对于连续时间)。有关正则化及其效果的更多信息,请参见可视化调优目标

虽然年代是闭环传递函数,驱动吗fx) < 1等价于对开环传递函数施加一个下界,l,在一个频带的增益l大于1。要了解原因,请注意年代= 1/(1 +。l.对于SISO循环,当|l| >> 1|年代|≈1/|l|.因此,通过实施开环最小增益要求,|l| > |W年代|,大致相当于强制执行|W年代年代| < 1.对于MIMO循环,类似的推理也适用||年代||≈1/σ最小值l,在那里σ最小值是最小的奇异值。

举例说明约束年代,请参阅最小环路增益作为灵敏度函数的约束

版本历史

在R2016a中介绍

全部展开