这个例子展示了如何使用鲁棒控制工具箱™来建立不确定状态空间模型,并分析具有不确定元素的反馈控制系统的鲁棒性。
我们将展示如何指定不确定的物理参数,并从这些参数创建不确定的状态空间模型。您将了解如何使用函数评估随机和最坏情况参数变化的影响usample
和robstab
。
在本例中,我们使用以下系统,由两个由弹簧连接的无摩擦推车组成k
:
图1:两车和弹簧系统。
控制输入是力u1
适用于左边的推车。要控制的输出是位置日元
正确的马车。反馈控制的形式如下:
此外,我们使用了一个三导联补偿器:
我们使用以下代码创建这个补偿器:
S = zpk(“年代”);拉普拉斯变量C = 100*ss((s+1)/(.001*s+1))^3;
两车和弹簧系统由下图所示的框图建模。
图2:两车弹簧模型框图。
控制小车的问题由于弹簧常数的值而变得复杂k
推车质量m1, m2
只有20%的准确率:
,
,
。为了捕获这种可变性,我们将使用尿素的
功能:
K = ureal(“k”, 1“百分比”, 20);M1 = ureal(“m1”, 1“百分比”, 20);M2 = ureal(“平方米”, 1“百分比”, 20);
我们可以这样表示购物车模型:
给定不确定参数m1
和平方米
,我们将构建G1和G2的不确定状态空间模型USS,如下所示:
G1 = 1/s^2/m1;G2 = 1/s^2/m2;
首先,我们将构建一个植物模型P
对应于上述框图(P
将u1映射到y1):
%无弹簧内块F(s)F = [0; g1]*[1 -1]+[1;-1]*[0, g2]
F = 2输出2输入4状态的不确定连续时间状态空间模型。模型不确定性由以下块组成:m1:不确定实值,名义= 1,可变性=[-20,20]%,1次出现m2:不确定实值,名义= 1,可变性=[-20,20]%,1次出现Type“F. nominalvalue”查看名义值,“get(F)”查看所有属性,“F. uncertainty”与不确定元素相互作用。
连接弹簧k
P = left (F,k)
P =不确定连续时间状态空间模型,具有1输出,1输入,4状态。模型不确定性由以下块组成:k:不确定实值,名义上= 1,可变性=[-20,20]%,1次出现m1:不确定实值,名义上= 1,可变性=[-20,20]%,1次出现m2:不确定实值,名义上= 1,可变性=[-20,20]%,1次出现Type“P. nominalvalue”查看名义值,“get(P)”查看所有属性,“P. uncertainty”与不确定元素相互作用。
反馈控制u1 = C*(r-y1)作用于植物P
如下图所示:
图3:闭环系统的不确定模型。
我们将使用反馈
函数来计算从r到y1的闭环传递。
不确定开环模型为L = p * c
L =不确定连续时间状态空间模型,具有1输出,1输入,7个状态。模型不确定性由以下块组成:k:不确定实值,名义= 1,可变性=[-20,20]%,1次出现m1:不确定实值,名义= 1,可变性=[-20,20]%,1次出现m2:不确定实值,名义= 1,可变性=[-20,20]%,1次出现Type“L. nominalvalue”查看名义值,“get(L)”查看所有属性,“L. uncertainty”与不确定元素相互作用。
从r到y1的不确定闭环传递为
T =反馈(L,1)
T =不确定连续时间状态空间模型,具有1输出,1输入,7个状态。模型不确定性由以下块组成:k:不确定实值,名义= 1,可变性=[-20,20]%,1次出现m1:不确定实值,名义= 1,可变性=[-20,20]%,1次出现m2:不确定实值,名义= 1,可变性=[-20,20]%,1次出现Type“T. nominalvalue”查看名义值,“get(T)”查看所有属性,“T. uncertainty”与不确定元素相互作用。
请注意,由于G1
和G2
都是不确定的P
和T
是不确定的状态空间模型。
该装置的标称传递函数为
Pnom = zpk(p .名义)
Pnom = 1 ------------- s ^ 2 (s ^ 2 + 2)连续时间零/钢管/增益模型。
接下来,我们计算名义闭环传递函数Tnom
,然后检查标称系统的所有极点实部均为负:
Tnom = zpk(T.nominal);maxrealpole = max(real(pole(Tnom)))
Maxrealpole = -0.8232
对于所有可能的值,反馈循环是否保持稳定k, m1, m2
在指定的不确定度范围内?我们可以用robstab
函数来严格地回答这个问题。
显示报告并计算灵敏度opt = robOptions(“显示”,“上”,“敏感”,“上”);[StabilityMargin,wcu] = robstab(T,opt);
计算峰……完成百分比:100/100系统对于建模的不确定性是鲁棒稳定的。-它可以容忍高达288%的建模不确定性。—有一个不稳定的扰动,相当于模型不确定性的289%。——这种扰动导致频率为575拉德/秒的不稳定。每个不确定元素的灵敏度为:k为12%,k增加25%,边际降低3%。m1为47%。m1增加25%,保证金减少11.8%。m2为47%。m2增加25%,保证金减少11.8%。
该报告表明,闭环可以容忍多达三倍的变异性k, m1, m2
在变得不稳定之前。它还提供了关于稳定性对每个参数的敏感性的有用信息。的变量wcu
包含最小的不稳定参数变化(相对于标称值)。
wcu
wcu =带字段的结构:K: 1.5773 m1: 0.4227 m2: 0.4227
注意,在闭环传输的频率上的峰值增益T
表示闭环阶跃响应中的超调水平。增益越接近1,超调值越小。我们使用wcgain
计算最坏情况的增益PeakGain
的T
在指定的不确定度范围内。
[PeakGain,wcu] = wcgain(T);PeakGain
PeakGain =带字段的结构:下限:1.0475上限:1.0732 CriticalFrequency: 6.8070
代入最坏情况的参数变化wcu
成T
计算最坏情况闭环转移Twc
。
Twc = usubs(T,wcu);%最差情况闭环传递T
最后,从不确定参数的随机样本中选取相应的闭环转移与最差情况转移进行比较Twc
。
Trand = usample(T,4);% 4不确定模型T的随机样本clf subplot(211), bodemag(Trand,“b”Twc,“r”, {1000});% plot波德响应次要情节(212),步骤(Trand,“b”Twc,“r”, 0.2);% plot阶跃响应
图4:波德图和阶跃响应。
在这个分析中,我们看到补偿器C对k,m1,m2的指定不确定性执行稳健。
robstab
|尿素的
|号航空母舰
|usubs
|wcgain