主要内容

参数化增益计划

通常,在Simulink中的增益调度控制系统金宝app®使用查找表或MATLAB函数块指定增益值作为调度变量的函数。对于调优,可以用参数增益曲面替换这些块。一个参数增益曲面是一个基函数展开式,其系数可调。例如,你可以模拟一个时变增益kt的三次多项式t:

kt) =k0+k1t+k2t2+k3.t3.

在这里,k0、……k3.都是可调系数。当你以这种方式参数化计划增益时,systune可以调整增益面系数,以满足您的控制目标在一组具有代表性的操作条件。对于增益随调度变量平稳变化的应用程序,该方法提供了增益的显式公式,软件可以直接写入该公式MATLAB函数块。当您使用查找表时,这种方法允许您调优几个系数,而不是许多单独的查找表项,从而大大减少了参数的数量,并确保操作点之间的平稳过渡。

基函数参数化

在增益调度控制器中,调度增益是调度变量的函数,σ.例如,增益调度PI控制器的形式为:

C 年代 σ K p σ + K σ 年代

调优该控制器需要确定函数形式Kpσ),Kσ),在的操作范围内产生最佳的系统性能σ值。然而,调优任意函数是困难的。因此,有必要要么只考虑有限点集上的函数值,要么限制函数本身的一般性。

在第一种方法中,你选择一个设计点的集合,σ,并调整收益Kp而且K独立于每个设计点。得到的增益值集存储在一个由调度变量驱动的查找表中,σ.这种方法的一个缺点是,调优可能会为相邻的设计点产生实质上不同的值,从而在从一个工作点转换到另一个工作点时引起不希望看到的跳跃。

或者,您可以将增益建模为的平滑函数σ,但通过使用特定的基函数展开式来限制这类函数的一般性。例如,假设σ是标量变量。你可以建模Kpσ的二次函数σ:

K p σ k 0 + k 1 σ + k 2 σ 2

调谐后,该参数增益可能具有如下的轮廓(曲线的具体形状取决于调谐的系数值和范围)σ):

或者,假设σ由两个调度变量组成,α而且V.然后,就可以建模了Kpσ的双线性函数α而且V:

K p α V k 0 + k 1 α + k 2 V + k 3. α V

调优后,该参数增益可能具有如下所示的轮廓。在这里,曲线的具体形状也取决于调整后的系数值和范围σ价值观:

用于调谐增益时间表systune,则使用参数增益曲面这是基函数增益的特殊展开式σ:

K σ K 0 + K 1 F 1 n σ + ... + K F n σ

基函数F1、……F由用户选择并固定。这些函数作用于nσ),n将调度变量按间隔[- 1,1](或指定的间隔)进行缩放和规范化的函数。膨胀系数,K0、……K,为增益面可调参数。K0、……K可以是标量或矩阵值,取决于增益的I/O大小Kσ).基函数的选择与问题有关,但一般来说,先尝试低阶多项式展开。

可调谐增益曲面

使用tunableSurface命令构造在设计点网格上采样的增益曲面的可调模型(σ值)。例如,考虑增益对两个调度变量的双线性依赖,α而且V:

K p α V K 0 + K 1 α + K 2 V + K 3. α V

假设α入射角是从0°到15°,和V取值范围为300m /s ~ 700m /s。创建一个跨越这些范围的设计点网格。这些设计点必须与您对可变或非线性设备进行采样时的参数值相匹配。(见增益调度控制器调谐的植物模型.)

[alpha,V] = ndgrid(0:5:1: 0);域= struct(“α”α,“V”, V);

指定该曲面参数化的基函数,αV,αV.的tunableSurface命令期望基函数被安排为两个输入变量的函数的向量。可以使用匿名函数来表示基函数。

shapefcn = @(alpha,V)[alpha,V,alpha*V];

另外,使用polyBasisfourierBasis,或ndBasis生成任意多调度变量的基函数。

使用设计点和基础函数创建可调曲面。

Kp =可调谐表面(“金伯利进程”1域shapefcn);

Kp是增益曲面的可调模型。tunableSurface将曲面参数化为:

K p α V K ¯ 0 + K ¯ 1 α ¯ + K ¯ 2 V ¯ + K ¯ 3. α ¯ V ¯

在哪里

α ¯ α 7.5 7.5 V ¯ V 500 200

这个曲面用归一化变量表示, α ¯ V ¯ 1 1 2 而不是α而且V.这个标准化tunableSurface默认执行,改进所执行的优化的条件systune.如果需要,您可以更改默认的缩放和规范化。(见tunableSurface).

的第二个输入参数tunableSurface指定常数系数的初始值,K0.默认情况下,K0是所有调度变量都在其范围中心时的增益。tunableSurface取增益曲面的I/O尺寸K0.因此,您可以通过为输入提供数组来创建数组值的可调增益。

Karr =可调表面(“卡尔”(2)的域,shapefcn);

卡尔是一个2 × 2矩阵,其中每一项都是具有独立系数的调度变量的双线性函数。

两个独立调度变量的增益可调

这个例子展示了如何对标量增益建模K对两个调度变量有双线性依赖。为此,您可以创建一个表示两个变量独立依赖关系的设计点网格。

假设第一个变量α一个入射角是从0到15度,第二个变量是什么V取值范围为300 ~ 600m /s。默认情况下,规范化变量为:

x α - 7 5 7 5 y V - 4 5 0 1 5 0

增益曲面建模为:

K α V K 0 + K 1 x + K 2 y + K 3. x y

在哪里 K 0 K 3. 是可调参数。

创建一个设计点网格,(αV),它们是线性间隔的α而且V.这些设计点是用于调整增益面系数的调度变量值。它们必须与您对植物进行采样时的参数值相对应。

[alpha,V] = ndgrid(0:3:1);

这些数组,α而且V,表示两个调度变量在其全范围内的独立变化量。将它们放入一个结构中,以定义可调曲面的设计点。

域= struct(“α”α,“V”, V);

创建描述双线性展开的基函数。

Shapefcn = @(x,y) [x,y,x*y];%或使用polyBasis('canonical',1,2)

返回的数组中shapefcn,基函数为:

F 1 x y x F 2 x y y F 3. x y x y

创建可调增益曲面。

K =可调谐表面(“K”1域shapefcn);

可以使用可调曲面作为查找表块或Simulink模型中的MATLAB函数块的参数化。金宝app或者,使用模型互连命令将其作为可调元素纳入MATLAB建模的控制系统中。调优系数后,可以使用viewSurf命令。对于本例,不进行调优,而是手动将系数设置为非零值并查看结果增益。

Ktuned = setData(K,[100,28,40,10]);viewSurf (Ktuned)

图中包含一个轴对象。标题为Gain K(alpha,V)的坐标轴对象包含一个类型为surface的对象。

viewSurf的值范围内,显示增益面作为调度变量的函数并存储在SamplingGrid增益曲面的性质。

可调谐表面金宝app

在Simulin金宝appk模型中,您使用查找表块对增益计划建模,MATLAB函数块,或矩阵插值块,如在Simulink中建模增益调度控制系统金宝app.若要调整这些增益曲面,请使用tunableSurface为每个块创建增益曲面。在slTuner接口,将每个增益调度指定为要调优的块,并将其参数化设置为相应的增益曲面。例如,rct_CSTR模型包括一个增益调度PI控制器集中控制器子系统,其中的增益Kp而且Ki随调度变量的不同而不同Cr

调优查找表Kp而且Ki,为每一个创建一个可调的表面。假设CrEQ是设计点的矢量吗,你期望增益会有二次变化Cr

TuningGrid = struct(“Cr”, CrEQ);ShapeFcn = @(Cr) [Cr, Cr^2];Kp =可调谐表面(“金伯利进程”0 TuningGrid ShapeFcn);Ki =可调谐表面(“吻”2 TuningGrid ShapeFcn);

假设你有一个数组Gd植物子系统的线性化,装运箱的每个设计点CrEQ.(见增益调度控制器调谐的植物模型).创建一个slTuner接口,该接口将此数组替换为工厂子系统,并指定两个要调优的查找表块。

BlockSubs = struct(“名字”“rct_CSTR /装运箱”“价值”、Gd);ST0 = slTuner(“rct_CSTR”, {“金伯利进程”“吻”}, BlockSubs);

最后,使用可调曲面对查找表进行参数化。

ST0.setBlockParam (“金伯利进程”Kp);ST0.setBlockParam (“吻”、Ki);

当你调音时国标systune调整可调谐曲面的系数Kp而且Ki,使每个可调曲面表示之间的可调关系Cr还有增益。当您将调优值写回块进行验证时,setBlockParam通过在相应块中指定的断点处计算可调表面,自动生成调优的查找表数据。

有关本例的详细信息,请参见化学反应器的增益控制

可调谐表面MATLAB

在MATLAB中建模的控制系统®,使用可调曲面来构造更复杂的增益调度控制元素,如增益调度PID控制器、滤波器或状态空间控制器。例如,假设你创建了两个增益曲面Kp而且Ki使用tunableSurface.下面的命令构造一个可调增益调度PI控制器。

C0 = pid(Kp,Ki);

类似地,假设您创建了四个矩阵值增益曲面一个BCD.下面的命令构造一个可调增益调度状态空间控制器。

C1 = ss(A,B,C,D);

然后将增益调度控制器纳入整个控制系统的广义模型中。例如,假设G中指定的设计点是否对工厂的一系列模型进行了采样Kp而且Ki.然后,下面的命令构建增益调度单回路PID控制系统的可调模型。

T0 =反馈(G* c0,1);

当您将一个可调曲面与其他LTI模型互连时,得到的模型是一个可调广义数组一族模型。可调曲面上的设计点决定了阵列的尺寸。因此,数组中的每个条目都表示系统在相应的调度变量值。的SamplingGrid属性存储这些设计点。

T0 =反馈(G*Kp,1)
T0 = 4 × 5阵列广义连续时间状态空间模型。每个模型有1个输出,1个输入,3个状态,和以下块:Kp:参数1x4矩阵,1次出现。输入“ss(T0)”查看当前值,输入“get(T0)”查看所有属性,输入“T0. sh”查看当前值。Blocks”来与这些块进行交互。

所得到的广义模型具有与用于创建模型的增益面相对应的可调块。在这个例子中,系统有一个增益面,Kp,其中有四个可调系数,对应于K0K1K2,K3..因此,可调块是一个向量值realp参数,其中包含四个项。

当你调整控制系统时systune,该软件会为可调曲面中指定的每个设计点调整系数。

有关MATLAB中演示整个工作流程的示例,请参见中的“MATLAB中的控制器调优”小节化学反应器的增益控制

另请参阅

相关的话题