通常,在Simulink中的增益计划控制系统万博1manbetx®使用查找表或MATLAB函数块来指定增益值作为调度变量的函数。对于调优,可以用参数增益曲面替换这些块。一个参数增益面是系数可调的基函数展开。例如,你可以建立一个时变增益模型k(t的三次多项式t:
k(t) =k0+k1t+k2t2+k3.t3..
在这里,k0、……k3.都是可调系数。当你以这种方式参数化预定增益时,systune
可以调整增益面系数,以满足在一组具有代表性的操作条件下的控制目标。对于增益随调度变量平滑变化的应用程序,这种方法为增益提供了显式公式,软件可以直接写入MATLAB函数块。当您使用查找表时,这种方法允许您调优几个系数,而不是许多单独的查找表项,大大减少了参数的数量,并确保操作点之间的平稳过渡。
在增益计划控制器中,计划增益是调度变量的函数,σ.例如,增益调度PI控制器的形式为:
调优该控制器需要确定函数形式Kp(σ),K我(σ的操作范围内,产生最佳的系统性能σ值。然而,调优任意函数是困难的。因此,要么只考虑函数在有限集合点处的值,要么限制函数本身的一般性。
在第一种方法中,你选择一组设计点,σ,并调整收益Kp而且K我独立于每个设计点。增益值的结果集存储在一个由调度变量驱动的查找表中,σ.这种方法的一个缺点是,调优可能会为相邻的设计点产生实质上不同的值,从而在从一个操作点过渡到另一个操作点时造成不希望的跳跃。
或者,您可以将增益建模为的平滑函数σ,但通过使用特定基函数展开来限制这类函数的一般性。例如,假设σ是一个标量变量。你可以建模Kp(σ的二次函数σ:
调谐后,这个参数增益可能具有如下的轮廓(曲线的具体形状取决于调谐系数值和的范围)σ):
或者,假设σ由两个调度变量组成,α而且V.然后,你可以建模Kp(σ的双线性函数α而且V:
在调整之后,这个参数增益可能有如下的轮廓。在这里,曲线的具体形状也取决于的调谐系数值和范围σ价值观:
用于调谐增益表systune
,你使用参数增益面这是基函数增益的一个特殊展开σ:
基函数F1、……F米是用户选择的和固定的。这些函数作用于n(σ),n是一个函数,它将调度变量扩展并规范化到间隔[- 1,1](或指定的间隔)。膨胀的系数,K0、……K米,为增益面可调参数。K0、……K米可以是标量值或矩阵值,取决于增益的I/O大小K(σ).基函数的选择与问题有关,但一般情况下,先尝试低阶多项式展开。
使用tunableSurface
命令来构造在设计点网格上采样的增益曲面的可调模型(σ值)。例如,考虑双线性依赖于两个调度变量的增益,α而且V:
假设α是一个入射角,范围从0°到15°,和V取值范围为300m /s ~ 700m /s。创建一个跨越这些范围的设计点网格。这些设计点必须与您对可变或非线性工厂取样时的参数值相匹配。(见增益计划控制器调谐的工厂模型.)
[alpha,V] = ndgrid(0:5:15 300:100:700);域= struct(“α”α,“V”, V);
指定该曲面参数化的基函数,α,V,αV.的tunableSurface
命令期望基函数被安排为两个输入变量的函数的向量。可以使用匿名函数来表示基函数。
shapefcn = @(alpha,V)[alpha,V,alpha*V];
另外,使用polyBasis
,fourierBasis
,或ndBasis
生成任意多调度变量的基函数。
使用设计点和基本函数创建可调曲面。
Kp =可调谐表面(“金伯利进程”1域shapefcn);
Kp
是增益曲面的可调模型。tunableSurface
将表面参数化为:
在哪里
曲面由归一化变量表示,
而不是在α而且V.这个归一化tunableSurface
默认执行,改善执行的优化的条件systune
.如果需要,您可以更改默认的伸缩和规范化。(见tunableSurface
).
的第二个输入参数tunableSurface
为常系数的初始值,K0.默认情况下,K0是当所有调度变量都在其范围的中心时的增益。tunableSurface
取增益面的I/O尺寸K0.因此,您可以通过为该输入提供数组来创建数组值的可调增益。
可调的表面(“卡尔”(2)的域,shapefcn);
卡尔
是一个2 × 2矩阵,其中每一项都是具有独立系数的调度变量的双线性函数。
这个例子展示了如何对标量增益建模K对两个调度变量有双线性依赖。为此,您可以创建一个表示两个变量独立依赖性的设计点网格。
假设第一个变量α是一个入射角,范围从0到15度,第二个变量V取值范围为300 ~ 600m /s。默认情况下,归一化变量为:
增益面建模为:
在哪里 是可调参数。
创建一个设计点网格,(α,V),它们是线性间隔的α而且V.这些设计点是用于调整增益面系数的调度变量值。它们必须与你对植物采样时的参数值相对应。
[alpha,V] = ndgrid(0:3:15 300:50:600);
这些数组,α
而且V
,表示两个调度变量在其全范围内的独立变量。将它们放入一个结构中,以定义可调曲面的设计点。
域= struct(“α”α,“V”, V);
建立描述双线性展开的基函数。
Shapefcn = @(x,y) [x,y,x*y];%或使用polyBasis('canonical',1,2)
返回的数组中shapefcn
,基函数为:
创建可调谐增益曲面。
K =可调曲面(“K”1域shapefcn);
您可以使用可调曲面作为查找表块或Simulink模型中的MATLAB函数块的参数化。万博1manbetx或者,使用模型互联命令将其合并为MATLAB中建模的控制系统中的可调元素。调优系数后,可以使用viewSurf
命令。对于本例,不进行调优,而是手动将系数设置为非零值并查看结果增益。
ktuning = setData(K,[100,28,40,10]);viewSurf (Ktuned)
viewSurf
控件指定的值的范围,显示作为调度变量的函数的增益面域
储存在SamplingGrid
增益曲面的性质。
在您的Simul万博1manbetxink模型中,您使用查找表块建模增益计划,MATLAB函数块,或矩阵插值块,如中所述在Simulink中建模增益计划控制系统万博1manbetx.要调优这些增益表面,请使用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
接口,用这个数组代替plant子系统,并指定两个查找表块进行调优。
BlockSubs = struct(“名字”,“rct_CSTR /装运箱”,“价值”、Gd);ST0 = slTuner(“rct_CSTR”, {“金伯利进程”,“吻”}, BlockSubs);
最后,使用可调表面对查找表进行参数化。
ST0.setBlockParam (“金伯利进程”Kp);ST0.setBlockParam (“吻”、Ki);
当你调音时国标
,systune
调优可调曲面的系数Kp
而且Ki
,使每个可调曲面表示之间的可调关系Cr
还有收益。当您将调优值写回块进行验证时,setBlockParam
通过在相应块中指定的断点处计算可调表面,自动生成调优的查找表数据。
有关此示例的更多详细信息,请参见化学反应器的增益计划控制.
用于在MATLAB中建模的控制系统®,使用可调谐表面构造更复杂的增益计划控制元素,如增益计划PID控制器,滤波器,或状态空间控制器。例如,假设您创建了两个增益曲面Kp
而且Ki
使用tunableSurface
.下面的命令构造一个可调增益计划PI控制器。
C0 = pid(Kp,Ki);
类似地,假设您创建了四个矩阵值增益曲面一个
,B
,C
,D
.下面的命令构造一个可调增益计划状态空间控制器。
C1 = ss(A,B,C,D);
然后将增益计划控制器合并到整个控制系统的广义模型中。例如,假设G
工厂的一组模型是否在中指定的设计点取样Kp
而且Ki
.然后,用下面的命令建立增益计划单回路PID控制系统的可调模型。
T0 =反馈(G*C0,1);
当您将一个可调曲面与其他LTI模型相互连接时,得到的模型是一个可调广义模型数组一族
模型。可调面上的设计点决定了阵列的尺寸。因此,数组中的每个条目表示对应调度变量值的系统。的SamplingGrid
属性存储这些设计点。
T0 =反馈(G*Kp,1)
广义连续时间状态空间模型的4x5阵列。每个模型有1个输出,1个输入,3个状态,和以下块:Kp:参数1x4矩阵,1次出现。输入“ss(T0)”查看当前值,输入“get(T0)”查看所有属性,然后输入“T0。块”来与块交互。
所得到的广义模型具有与用于创建模型的增益曲面相对应的可调块。在这个例子中,系统有一个增益面,Kp
,其中有四个可调系数对应K0,K1,K2,K3..因此,可调块是一个向量值realp
具有四个条目的参数。
当你调整控制系统时systune
,软件为可调曲面中指定的每个设计点调整系数。
关于在MATLAB中演示整个工作流程的例子,请参见“MATLAB中的控制器调优”一节化学反应器的增益计划控制.