主要内容

TuningGoal。LoopShapeclass

包:TuningGoal

控制系统调优的目标回路形状

描述

使用TuningGoal。LoopShape要指定目标获取配置文件(增益作为频率的函数)开环响应。TuningGoal。LoopShape限制开环点对点响应(l)在你的控制系统的指定位置。使用此调优目标通过调优命令进行控制系统调优,例如systunelooptune

当你调优控制系统时,目标开环增益轮廓被转换为反灵敏度函数上的约束发票(年代) = (+l和互补灵敏度函数T= 1 -年代.这些约束将在下面的图中说明一个有代表性的调优系统。

在哪里l远大于1,inv(上的最小增益约束年代)(绿色阴影区域)等价于的最小增益约束l.同样,在l是否比1小很多,最大增益约束在T(红色阴影区域)等价于上的最大增益约束l.这两个约束条件之间的差是CrossTol参数,该参数指定环路增益可以跨越0 dB的频带。

对于多输入多输出(MIMO)控制系统,增益曲线中大于1的值被解释为最低性能要求。这些值是开环响应最小奇异值的下界。增益曲线值小于1被解释为最小滚离要求,这是开环响应最大奇异值的上界。有关奇异值的更多信息,请参见σ

使用TuningGoal。LoopShape当接近交叉的环形形状简单或很好理解时(如积分动作)。若要在某些频带中仅指定高增益或低增益约束,请使用TuningGoal。MinLoopGain而且TuningGoal。MaxLoopGain.当你这样做的时候,软件决定最好的环路形状接近交叉。

建设

要求的事情= TuningGoal。LoopShape (位置loopgain创建一个调优目标,以成形在指定位置测量的开环响应。单输入单输出(SISO)传递函数的大小loopgain指定目标开环增益配置文件。可以指定目标增益轮廓(跨I/O对的最大增益)作为平滑传递函数,或使用的朋友模型。

要求的事情= TuningGoal。LoopShape (位置loopgaincrosstol指定交叉频率位置上的公差。crosstol表达几十年的宽容。例如,crosstol= 0.5允许增益交叉在五年内的目标交叉频率的任意一侧由loopgain.当你省略crosstol,调优目标使用0.1个十年的默认值。你可以增加crosstol当调优MIMO控制系统时。这样做可以使系统中不同环路的交叉频率变化更大。

Req = TuningGoal。LoopShape (位置wc仅指定目标增益交叉频率。这个语法等价于指定一个纯积分器环路形状,Loopgain = wc/s

Req = TuningGoal。LoopShape (位置wcrange指定目标增益交叉频率的范围。值域是这种形式的向量wcrange[wc1, wc2].这种语法相当于使用几何平均值√wc1 * wc2)作为wc和设置crosstol的一半宽度wcrange在几十年。使用范围而不是单个wc值增加调优算法的能力,以加强MIMO控制系统中所有循环的目标环路形状。

输入参数

位置

要被约束的开环响应形状被测量的位置,指定为字符向量或字符向量的单元数组,标识控制系统中要调优的一个或多个位置。可用的位置取决于你调优的系统类型:

  • 如果您正在调优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,或党卫军模型)。或者,您可以使用的朋友模型或补足重量的东西(鲁棒控制工具箱)函数。当您这样做,软件自动映射您指定的增益配置文件到zpk其幅度接近所需增益曲线的模型。使用viewGoal(要求)来画出它的大小zpk模型。

对于多输入多输出(MIMO)控制系统,增益曲线中大于1的值被解释为最低性能要求。的最小奇异值的下界l.增益曲线值小于1被解释为最小滚离要求,这是最大奇异值的上界l.有关奇异值的更多信息,请参见σ

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

crosstol

容忍在位置的交叉频率,在几十年。指定为标量值。例如,crosstol= 0.5允许增益交叉在五年内的目标交叉频率的任意一侧由loopgain.增加crosstol增加了调优算法的能力,以加强MIMO控制系统中所有循环的目标环路形状。

默认值:0.1

wc

目标交叉频率,指定为正标量值。表达wc单位为rad/TimeUnit,在那里TimeUnitTimeUnit属性的值。

wcrange

目标交叉频率的范围,指定为形式的矢量[wc1, wc2].表达wc单位为rad/TimeUnit,在那里TimeUnitTimeUnit属性的值。

属性

LoopGain

目标环形状作为频率的函数,指定为SISOzpk模型。

该软件自动映射输入参数loopgain到一个zpk模型。这个问题的重要性zpk模型近似于所需增益曲线。使用viewGoal(要求)的大小zpk模型LoopGain

CrossTol

增益交叉频率的公差,几十年。

的初值CrossTolcrosstol在创建调优目标时输入。

默认值:0.1

焦点

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

设置焦点属性将调优目标的执行限制在特定频带。用正在调优的控制系统模型的频率单位表示这个值(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';

默认值:[]

例子

全部折叠

为以下控制系统创建目标增益配置要求。指定积分作用,增益交叉为1,滚转要求为40分贝/十年。

该要求应适用于在点测量的开环响应AnalysisPointX.指定0.5年的交叉公差。

LS = frd([100 1 0.0001],[0.01 1 100]);Req = TuningGoal。LoopShape (“X”、LS、0.5);

软件转换LS变成一个平滑的频率函数,接近分段指定的要求。使用viewGoal

viewGoal(要求)

图中包含一个axes对象。axis对象包含一个类型为line的对象。这些对象表示目标环形状,S界,T界。

绿色和红色区域表示反灵敏度的边界,inv(S) = 1-G*C,互补敏感度,T = 1-s,分别。在0 dB增益时,这些区域之间的差距反映了指定的交叉公差,即与目标环路交叉的任何一侧相差5年。

当你使用viewGoal(点播,CL)为了验证该控制系统的调谐闭环模型,CL的调优值年代而且T也被画出来了。

为以下控制系统的内外回路创建单独的回路形状要求。

对于内环,指定具有积分作用的环形状,增益交叉为1,滚离要求为40分贝/十年。另外,指定这个循环形状要求应该在外部循环打开的情况下强制执行。

LS2 = frd([100 1 0.0001],[0.01 1 100]);Req2 = TuningGoal。LoopShape (“X2”, LS2);Req2。机会=X1的

指定“X2”位置表明Req2适用于点对点、开环位置的传递函数X2.设置Req2。开口指示在分析点打开循环X1Req2是执行。

默认情况下,Req2对内环施加稳定性要求以及环的形状要求。然而,在某些控制系统中,内环稳定性可能不需要,或者可能不可能实现。在这种情况下,将稳定性要求从Req2如下。

Req2。年代tabilize = false;

对于外环,指定具有积分作用的环形状,增益交叉为0.1,滚离要求为20 dB/decade。

LS1 = frd([10 1 0.01],[0.01 0.1 10]);Req1 = TuningGoal。LoopShape (X1的, LS1);

指定X1的位置表明Req1适用于点对点、开环位置的传递函数X1.你不需要设置Req1。开口因为这个循环形状是在内部循环关闭时强制执行的。

您可能需要对控制系统进行优化,以满足这两种循环成形要求Req1而且Req2.为此,使用这两个需求作为调优命令的输入。例如,假设CL0是可调的一族闭环控制系统模型。在这种情况下,使用[CL,fSoft] = sysune (CL0,[Req1,Req2])调整控制系统以适应这两种需求。

为反馈回路创建一个环形的需求“问”在Simuli万博1manbetxnk模型中rct_airframe2.方法指定环形形状要求是强制执行的“阿兹”循环开放。

打开模型。

open_system (“rct_airframe2”

创建一个环形形状要求,强制积分动作与交叉2弧度/秒“问”循环。这个循环形状对应于2/_s_的循环形状。

S = tf(“年代”);形状= 2/s;Req = TuningGoal。LoopShape (“问”、形状);

指定在强制执行需求时打开额外循环的位置。

要求的事情。机会=“阿兹”

要使用此需求来调优Simulink模型,请创建一个万博1manbetxslTuner与模型的接口。识别接口中要调优的块。

ST0 = slTuner(“rct_airframe2”“那控制器”);

指定两个阿兹而且作为分析点在slTuner接口。

addPoint (ST0, {“阿兹”“问”});

这个命令使可用作分析位置。它还允许在循环打开时强制执行调优要求阿兹

您现在可以使用要求的事情以及任何其他调优需求。例如:

[ST,fSoft] = systune(ST0,Req);
最终:软= 0.845,硬= -Inf,迭代= 51

创建一个调优需求,指定由识别的循环的开环响应“X”交叉单位增益在50到100 rad/s之间。

Req = TuningGoal。LoopShape (“X”[50100]);

检查产生的需求以查看目标循环形状。

viewGoal(要求)

图中包含一个axes对象。axis对象包含一个类型为line的对象。这些对象表示目标环形状,S界,T界。

图中显示,该要求指定了一个完整的环形形状,交叉在70 rad/s左右,即范围的几何平均值[50,100]。最小低频增益(绿色区域)和最大高频增益(红色区域)之间在0 dB处的差距反映了允许的交叉范围[50,100]。

提示

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

算法

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

TuningGoal。LoopShapefx)由:

f x W 年代 年代 W T T

在这里,年代D1- - - - - -l年代x)]1D缩放灵敏度函数在指定的位置,在哪里l年代x)是正在成形的开环响应。D是一个自动计算的循环比例因子。(如果LoopScaling属性设置为“关闭”,然后D.)T年代- - - - - -为互补灵敏度函数。

W年代而且WT是由指定环路形状派生的频率加权函数。这些函数的增益大致相同LoopGain而且1 / LoopGain,取值范围为-20 dB ~ 60 dB。由于数值原因,加权函数在此范围外趋于平稳,除非指定的环路增益曲线在增益大于60 dB或小于-60 dB时改变斜率。因为极点W年代WT接近年代= 0或年代可能导致较差的数值条件systune优化问题,不建议指定环路形状与非常低频或非常高频动态。

获得W年代而且WT使用:

[WS,WT] = getWeights(Req,Ts)

在哪里要求的事情是调优目标,和Ts是进行调优的样本时间(Ts = 0对于连续时间)。有关权重函数对数值稳定性的影响的更多信息,请参见可视化调优目标

版本历史

在R2016a中介绍

全部展开

在R2016a中,行为发生了变化