主要内容

参数化得到时间表

通常,gain-scheduled控制系统仿真软件金宝app®使用查找表或MATLAB函数块指定增益值作为调度变量的函数。调优,你替换这些块的参数获得的表面。一个参数获得表面是一个基函数系数可调的扩张。例如,您可以获得时变模型k(t作为一个三次多项式t:

k(t)=k0+k1t+k2t2+k3t3

在这里,k0、……k3可调系数。当你在这种方式,参数化计划收益systune可以调整gain-surface系数,满足您在一组代表性的操作条件控制目标。收益不同应用程序的顺利,调度变量,这种方法提供了显式公式,该软件可以直接写MATLAB函数块。使用查找表时,这种方法允许您调整几个系数,而不是许多个人按照查询表条目,大大减少了参数的数量和确保操作点之间的平滑过渡。

基函数参数化

gain-scheduled控制器,将增益调度变量的函数,σ。例如,一个gain-scheduled PI控制器的形式:

C ( 年代 , σ ) = K p ( σ ) + K ( σ ) 年代

调优这个控制器需要确定的功能形式Kp(σ),K(σ),产生最佳的系统性能的操作范围σ值。然而,优化任意函数是很困难的。因此,有必要考虑函数值只有一个有限点集,或限制函数本身的普遍性。

在第一种方法中,您选择的设计点,σ和优化收益KpK独立在每个设计点。由此产生的组获得的值存储在一个查找表由调度变量,σ。这种方法的一个缺点是,调优可能产生显著不同的值邻近的设计点,导致不良跳当从一个操作点过渡到另一个。

或者,您可以模型的收益平滑的函数σ的普遍性,但限制使用特定的基础功能扩展等功能。例如,假设σ是一个标量变量。您可以建模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](或一个用户指定的时间间隔)。扩张的系数,K0、……K获得表面的可调参数。K0、……K可以是标量或矩阵值,这取决于I / O增益的大小K(σ)。基函数的选择是problem-dependent,但一般来说,首先尝试低阶多项式扩展。

可调增益表面

使用tunableSurface命令来构建一个可调模型,获得表面采样设计的网格点(σ值)。例如,考虑双线性依赖两个调度变量的增加,αV:

K p ( α , V ) = K 0 + K 1 α + K 2 V + K 3 α V

假设α入射角,范围从0°15°,然后呢V是一个范围从300 m / s的速度为700米/秒。创建一个网格的设计点,跨越这些范围。这些设计点的参数值必须匹配你样品不同或非线性植物。(见工厂模型Gain-Scheduled控制器调优。)

(α,V) = ndgrid (0:5:15,300:100:700);域=结构(“α”α,“V”,V);

指定的参数化表面的基函数,α,V,αV。的tunableSurface命令预计安排的基函数向量的两个输入变量的函数。您可以使用一个匿名函数来表达的基础功能。

shapefcn = @(α,V)(α,V,α* V);

另外,使用polyBasis,fourierBasis,或ndBasis生成基础你需要尽可能多的调度变量的函数。

创建使用设计的可调的表面点和基础功能。

Kp = tunableSurface (“金伯利进程”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。因此,您可以创建数组值可调增益通过提供一个数组的输入。

卡尔= tunableSurface (“卡尔”(2)的域,shapefcn);

卡尔是一个2×2矩阵中每个条目是一个双线性函数的调度变量与独立的系数。

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

这个例子展示了如何建模一个标量K用双线性对两个调度变量的依赖。你这样做,通过创建一个网格的设计点代表独立的两个变量的依赖。

假设第一个变量α入射角,范围从0到15度,而第二个变量V是一个速度,范围从300到600 m / 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。这些设计点是scheduling-variable值用于调优gain-surface系数。他们必须对应参数值的采样植物。

(α,V) = ndgrid (0:3:15,300:50:600);

这些数组,αV,代表了独立的两个调度变量的变化,每一个在其完整的范围。把它们放进一个结构定义为可调表面设计点。

域=结构(“α”α,“V”,V);

创建基函数,描述了双线性扩张。

shapefcn = @ (x, y) (x, y, x * y);%或使用polyBasis(“规范”,1、2)

在返回的数组shapefcn基函数是:

F 1 ( x , y ) = x F 2 ( x , y ) = y F 3 ( x , y ) = x y

创建一个可调增益表面。

K = tunableSurface (“K”1域shapefcn);

您可以使用可调表面作为一个查找表的参数化块或MATLAB仿真软件中功能块模型。金宝app或者,使用模型连接命令将它作为可调控制系统在MATLAB建模元素。调整系数后,您可以检查结果获得表面使用viewSurf命令。对于这个示例,而手工调优,将系数设置为非零值和视图产生的收益。

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

图包含一个坐标轴对象。坐标轴对象与标题增益K(α,V),包含α,ylabel V表面包含一个类型的对象。

viewSurf显示获得表面作为调度变量的函数,所指定的值的范围和存储在SamplingGrid房地产获得的表面。

可调的表面金宝app

你在仿真软件模型金宝app,模型获得时间表使用查找表块,MATLAB函数块,或矩阵插值块,所述模型Gain-Scheduled控制系统仿真软件金宝app。调整这些获得表面,使用tunableSurface创建一个为每个块获得表面。在slTuner接口模型,指定每个获得计划作为一个整体优化,并将其参数化设置为相应的表面。例如,rct_CSTR模型包括gain-scheduled PI控制器集中控制器子系统,收益KpKi随调度变量Cr

优化查找表KpKi为每一个,创建一个可调的表面。假设CrEQ设计点的向量,你期望的收益分成不同Cr

TuningGrid =结构(“Cr”,CrEQ);ShapeFcn = @ (Cr) [Cr、Cr ^ 2];Kp = tunableSurface (“金伯利进程”0 TuningGrid ShapeFcn);Ki = tunableSurface (“吻”2 TuningGrid ShapeFcn);

假设您有一个数组Gd工厂子系统的线性化,装运箱,在每一个设计点CrEQ。(见工厂模型Gain-Scheduled控制器调优)。创建一个slTuner界面替代这个数组的植物子系统和指定两个按照查询表块调优。

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

最后,使用可调的表面参数化查找表。

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

当你调整国标,systune曲调的系数可调的表面KpKi这每个可调表面代表之间的关系Cr和收获。当你写调谐值块进行验证,setBlockParam自动生成调谐按照查询表数据评估的可调的表面断点您指定在相应的块。

更多细节关于这个例子中,看到的Gain-Scheduled化学反应器的控制

可调的表面MATLAB

对于一个控制系统在MATLAB建模®,使用可调的表面构造更复杂的gain-scheduled控制元素,如gain-scheduled PID控制器,过滤器,或状态控制器。例如,假设您创建两个获得表面KpKi使用tunableSurface。下面的命令构造一个可调gain-scheduled PI控制器。

C0 = pid (Kp、Ki);

同样,假设您创建四个矩阵值获得的表面一个,B,C,D。以下命令构造一个可调gain-scheduled状态空间控制器。

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

然后gain-scheduled控制器合并到你的整个控制系统的广义模型。例如,假设G是一个模型你的植物采样数组中指定的设计点,是吗KpKi。然后,下面的命令构建一个可调的模型gain-scheduled单回路PID控制系统。

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

当你连接一个可调的表面与其他线性时不变模型,生成的模型是可调广义的数组一族模型。可调的设计点表面确定数组的维度。因此,数组中的每个条目代表本级系统调度变量值。的SamplingGrid这些设计点属性数组的存储。

T0 =反馈(G * Kp, 1)
T0 = 4 x5的广义连续时间状态空间模型。每个模型都有1输出,输入3,和以下模块:Kp:参数1 x4矩阵,1出现。输入“党卫军(T0)”看到当前值,“把(T0)”所有属性,和“T0。块”与街区。

产生的广义模型具有可调谐块对应获得表面用来创建模型。在这个例子中,系统有一个获得表面,Kp相对应的四个可调系数K0,K1,K2,K3。因此,可调模块是一个向量值realp参数有四个条目。

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

为例说明整个工作流在MATLAB中,看到了部分“控制器在MATLAB优化”Gain-Scheduled化学反应器的控制

另请参阅

相关的话题