将响应族建模为一个不确定系统
此示例显示如何使用鲁棒控制工具箱™命令ucover
将LTI响应族建模为一个不确定系统。该命令有助于将不确定模型拟合到代表系统变异性的一组频率响应中,或降低现有不确定模型的复杂性,以促进鲁棒控制器的综合musyn
.
将植物变异建模为不确定性
在第一个例子中,我们有一系列模型来描述在各种操作条件下的工厂行为。该模型为一阶不稳定系统。
Pnom = tf(2,[1 -2])
Pnom = 2 ----- s- 2连续时间传递函数。
其他的模型是Pnom
.它们都有一个不稳定的杆子,但这个杆子的位置可能会随着操作条件的变化而变化。
p1 = Pnom*tf(1,[.]06年1]);额外延迟%p2 = Pnom*tf([-.]02 1]、[。02 1]);%时间延迟p3 = Pnom*tf(50^2,[1 2*。1 50 * 50 ^ 2]);%高频共振p4 = Pnom*tf(70^2,[1 2*.]2 * 70 70 ^ 2]);%高频共振P5 = tf(2.4,[1 -2.2]);%极/增益迁移P6 = tf(1.6,[1 -1.8]);%极/增益迁移
为了应用鲁棒控制工具,我们可以将这组模型替换为一个不确定的植物模型,其行为范围包括p1
通过p6
.这是该命令的一种用法ucover
.该命令接受一个LTI模型数组Parray
一个标称模型Pnom
并对差异进行建模Parray-Pnom
作为系统动力学中的乘法不确定性。
因为ucover
的模型数组,请使用堆栈
命令收集工厂模型p1
通过p6
放到一个数组中。
Parray = stack(1,p1,p2,p3,p4,p5,p6);
下一步,使用ucover
“覆盖”行为的范围Parray
用一个不确定的形式模型
P = Pnom * (1 + Wt * Delta)
所有的不确定性都集中在“未建模动力学”中δ
(一个ultidyn
对象)。因为增益δ
在所有频率上都以1为界,这是一个“成形”滤波器吗Wt
用于捕捉不确定性的相对数量如何随频率变化。这个滤波器也被称为不确定性加权函数。
试试四阶滤波器Wt
对于这个例子:
orderWt = 4;Parrayg = frd(Parray,logspace(-1,3,60));[P,Info] = ucover(Parrayg,Pnom,orderWt,“InputMult”);
得到的模型P
是一个单输入、单输出不确定状态空间(USS)对象的标称值Pnom
.
P
P =不确定连续时间状态空间模型,具有1输出,1输入,5状态。模型不确定性由以下块组成:Parrayg_InputMultDelta: uncertainty 1x1 LTI, peak gain = 1,1次出现Type "P. nominalvalue "查看标称值,"get(P)"查看所有属性,"P. uncertainty "与不确定元素交互。
特遣部队(P.NominalValue)
ans = 2 ----- s- 2连续时间传递函数。
波德星等图证实了整形滤波器Wt
“涵盖”植物行为的相对变异。作为频率的函数,不确定度水平在5 rad/秒时为30% (-10dB = 0.3),在10 rad/秒时为50%,超过29 rad/秒时为100%。
Wt = Info.W1;bodemag ((Pnom-Parray) / Pnom,“b——”Wt,“r”);网格标题(“相对差距vs. Wt的大小”)
现在你可以使用不确定模型了P
要为原始系列的植物模型设计鲁棒控制器,请参见采用鲁棒控制的同步稳定获取详细信息。
简化现有的不确定模型
在第二个例子中,我们从工厂的一个详细的不确定模型开始。该模型由增益和时间常数不确定的一阶动力学、轻度欠阻尼共振和显著的未建模动力学组成。方法创建此模型尿素的
而且ultidyn
指定不确定变量的命令:
Gamma = ureal(“伽马”2,“Perc”, 30);%不确定增益Tau = ureal(“τ”,1,“Perc”, 30);%不确定时间常数Wn = 50;P =特遣部队(γ,[τ1])*特遣部队(wn ^ 2, [1 2 * 11 * wn wn ^ 2]);添加未建模的动态,并将SampleStateDim设置为5以获得代表性%不确定模型P的抽样值Delta = ultidyn(“δ”[1],“SampleStateDim”5,“约束”1);W = makeweight(0.1,20,10);P = P * (1+W*delta)
P =不确定连续时间状态空间模型,具有1输出,1输入,4状态。模型不确定性由以下块组成:delta:不确定1x1 LTI,峰值增益= 1,1次gamma:不确定真实,名义= 2,可变性=[-30,30]%,1次tau:不确定真实,名义= 1,可变性=[-30,30]%,1次类型“P. nominalvalue”查看名义值,“get(P)”查看所有属性,“P. uncertainty”与不确定元素相互作用。
阶梯反应的集合说明了植物的可变性。
步骤(P, 4)标题(不确定系统的抽样阶跃响应)
不确定的植物模型P
包含3个不确定元素。为了控制设计的目的,通常需要简化这种不确定性模型,同时大致保留其整体可变性。这是该命令的另一种用法ucover
.
使用ucover
在此背景下,首先映射不确定模型P
转换为LTI模型的数组usample
.该命令对不确定系统中的不确定元素进行采样,并返回相应的LTI模型,每个模型代表不确定系统的一种可能行为。在本例中,是示例P
在60点(随机数生成器是为了可重复性):
rng (0,“旋风”);Parray = usample(P,60);
下一步,使用ucover
覆盖所有的行为Parray
通过一个简单的不确定性模型忙
.的标称值P
以盖为中心,采用二阶滤波器对未建模动力学的频率分布进行建模。
orderWt = 2;Parrayg = frd(Parray,logspace(-3,3,60));[Usys,Info] = ucover(Parrayg,P。NominalValue orderWt,“InputMult”);
波德星等图显示了滤光星等(红色部分)“覆盖”了植物频率响应的相对可变性(蓝色部分)。
Wt = Info.W1;bodemag ((P.NominalValue-Parray) / P.NominalValue,“b——”Wt,“r”)标题(“相对间隙(蓝色)vs.整形滤波器幅度(红色)”)
您现在可以使用简化的不确定性模型忙
为原装置设计鲁棒控制器,请参见初次稳健设计获取详细信息。
调整不确定性权重
在第三个例子中,我们从一个2输入2输出系统的40个频率响应开始。这些数据是用频率分析仪在各种操作条件下收集的。对最典型的响应拟合了一个双态标称模型:
A = [-5 10;-10 -5];B = [1 0;0 1];C = [1 10;-10 1];D = 0;Pnom = ss(A,B,C,D);
频响数据被加载到一个40 × 1 FRD模型数组中:
负载ucover_demo大小(Pdata)
40x1 FRD模型阵列。每个模型有2个输出,2个输入,120个频率点。
绘制此数据并叠加标称模型。
波德(Pdata“b——”Pnom,“r”,{.1,1e3}),网格图例(“频率响应数据”,“名义模型”,“位置”,“东北”)
由于响应变异性不大,请尝试使用该形式的附加不确定性模型对这一系列频率响应进行建模
P = Pnom + w * Delta
在哪里δ
是2乘2吗ultidyn
对象表示未建模的动态和w
是反映不确定性(Pdata中的可变性)频率分布的标量加权函数。
从一阶滤波器开始w
比较的大小w
每个频率所需的不确定性最小:
[P1,InfoS1] = ucover(Pdata,Pnom,1,“添加剂”);w = InfoS1.W1;bodemag (w,“r”, InfoS1。W1opt,‘g’,{1e-1 1e3}) title(“标量加性不确定性模型”)传说(“一阶w”,“最小不确定量”,“位置”,“西南”)
的量级w
应与最小不确定度紧密匹配。很明显,一阶拟合过于保守,在大多数频率上超过了这个最小值。再次尝试使用三阶滤波器w
.为了提高速度,请重用中的数据InfoS1
避免在每个频率上重新计算最优不确定性比例。
[P3, infoos3] = ucover(Pnom, infoos1,3,“添加剂”);w = info3 . w1;bodemag (w,“r”, InfoS3。W1opt,‘g’,{1e-1 1e3}) title(“标量加性不确定性模型”)传说(“三阶w”,“最小不确定量”,“位置”,“西南”)
的量级w
现在与最小不确定性值非常接近。在添加性不确定性模型中,P3
中的行为提供了严密的覆盖Pdata
.请注意,P3
共有8个状态(2个来自名义部分,6个来自w
).
P3
P3 = 2输出2输入8状态的不确定连续时间状态空间模型。模型的不确定性由以下块组成:Pdata_AddDelta:不确定的2x2 LTI,峰值增益= 1,1次出现类型“P3”。NominalValue”查看标称值,“get(P3)”查看所有属性,以及“P3。不确定性”与不确定元素相互作用。
例如,您可以使用非标量不确定性加权函数来改进这个附加不确定性模型
P = Pnom + W1*Delta*W2
在哪里W1
而且W2
都是2 × 2对角滤波器。在本例中,限制使用W2 = 1
并且允许W1的对角线元素都是三阶的。
[PM,InfoM] = ucover(Pdata,Pnom,[3;3],[],“添加剂”);
比较的两个条目W1
用之前计算的最小不确定量。注意,在所有频率上,的对角线项之一W1
大小比标量滤波器小很多吗w
.这表明,对角加权不确定性模型产生了频率响应族的不太保守的覆盖。
bodemag (InfoS1。W1opt,“g *”,...InfoM.W1opt (1, 1),“r——”InfoM.W1 (1,1),“r”,...InfoM.W1opt (2, 2),“b——”InfoM.W1 (2,2)“b”, {1 e 1 1 e3});标题(“对角加性不确定性模型”)传说(“标量最优权重”,...'W1(1,1),逐点优化',...W1(1,1),三阶拟合,...'W1(2,2),逐点优化',...W1(2,2),三阶拟合,...“位置”,“西南”)
一个覆盖相对于另一个覆盖的保守程度可以通过考虑两个频率相关的量来部分量化:
fd2 =范数(inv(W1)*w), Fs2d =范数(W1/w)
这些量衡量的是一个不确定性模型需要缩放多少来覆盖另一个。例如,不确定性模型Pnom + W1*Delta
需要放大一倍Fd2s
包括不确定模型所代表的所有模型Pnom + w*Delta
.
情节Fd2s
而且Fs2d
作为频率的函数。
fd2 = fnorm(infos . w1opt *inv(InfoM.W1opt));Fs2d = fnorm(InfoM.W1opt*inv(infos . w1opt));semilogx (fnorm (Fd2s),“b”fnorm (Fs2d),“r”),网格轴([0.1 1000 0.5 2.6])“频率(rad / s)”), ylabel (“级”)标题(“与不同覆盖物相关的规模因子”)传说(“标量因子对角线”,...“标量对对角线因子”,“位置”,“西南”);
这张图显示:
Fs2d = 1
在较大的频率范围内Pnom + w *δ
包括建模的所有行为Pnom + W1 *δ
在相同的频率范围内,
Pnom + W1 *δ
不包括建模的所有行为Pnom + w *δ
事实上,要做到这一点,需要将其放大1.2到2.6倍。
在频率范围内[1 20],不确定性模型中没有一个包含另一个,但在所有频率上,使得
Pnom + W1 *δ
封面Pnom + w *δ
需要比相反的小得多的比例因子。
这表明Pnom + W1 *δ
模型提供了一个较不保守的覆盖频率响应数据的方法Pdata
.