构建和操作不确定模型

这个例子展示了如何使用鲁棒控制工具箱™来建立不确定状态空间模型,并分析具有不确定元素的反馈控制系统的鲁棒性。

我们将展示如何指定不确定的物理参数,并从这些参数创建不确定的状态空间模型。您将了解如何使用函数评估随机和最坏情况参数变化的影响usamplerobstab

两车和弹簧系统

在本例中,我们使用以下系统,由两个由弹簧连接的无摩擦推车组成k

图1:两车和弹簧系统。

控制输入是力u1适用于左边的推车。要控制的输出是位置日元正确的马车。反馈控制的形式如下:

u 1 = C 年代 r - y 1

此外,我们使用了一个三导联补偿器:

C 年代 = 1 0 0 年代 + 1 3. / 0 0 0 1 年代 + 1 3.

我们使用以下代码创建这个补偿器:

S = zpk(“年代”);拉普拉斯变量C = 100*ss((s+1)/(.001*s+1))^3;

方框图模型

两车和弹簧系统由下图所示的框图建模。

图2:两车弹簧模型框图。

不确定实参数

控制小车的问题由于弹簧常数的值而变得复杂k推车质量m1, m2只有20%的准确率: k = 1 0 ± 2 0 % 1 = 1 0 ± 2 0 % , 2 = 1 0 ± 2 0 % 。为了捕获这种可变性,我们将使用尿素的功能:

K = ureal(“k”, 1“百分比”, 20);M1 = ureal(“m1”, 1“百分比”, 20);M2 = ureal(“平方米”, 1“百分比”, 20);

不确定推车模型

我们可以这样表示购物车模型:

G 1 年代 = 1 1 年代 2 G 2 年代 = 1 2 年代 2

给定不确定参数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”与不确定元素相互作用。

请注意,由于G1G2都是不确定的PT是不确定的状态空间模型。

提取名义植物

该装置的标称传递函数为

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计算最坏情况的增益PeakGainT在指定的不确定度范围内。

[PeakGain,wcu] = wcgain(T);PeakGain
PeakGain =带字段的结构:下限:1.0475上限:1.0732 CriticalFrequency: 6.8070

代入最坏情况的参数变化wcuT计算最坏情况闭环转移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的指定不确定性执行稳健。

另请参阅

||||

相关的话题