主要内容

Loop-Shaping控制器设计

此示例显示如何通过指定具有控制器的工厂的开环响应的所需形状来设计控制器。的loopsyn命令设计一个控制器,它将开环响应塑造到大致匹配您提供的目标循环形状。loopsyn让您调整性能和鲁棒性之间的折衷,以获得满意的时域响应,同时避免使用对象反演或灵活模式取消的脆弱设计。

在本例中,您为一个飞机模型设计了一个控制器。的example shows how varying the balance between performance and robustness affects loop shape and closed-loop response. The example then shows how to reduce the controller order while preserving desirable characteristics of the response.

工厂模式

这个例子使用了双输入双输出的NASA HiMAT飞机模型[1]。飞机如下图所示。

控制变量为升降副翼和鸭翼作动器( δ e δ c ).输出变量为迎角( α )及姿态角( θ ).该模型有六个州,给出

x x 1 x 2 x 3. x 4 x 5 x 6 α ˙ α θ ˙ θ x e x c

在哪里 x e x c 电梯和鸭管执行器分别是。使用以下状态空间矩阵,创建该工厂的模型。

A = [-2.2567e-02 -3.6617e+01 -1.8897e+01 -3.2090e+01 3.2509e+00 -7.6257e-01;9.8312e-01 -7.2562e-04 -1.7080e-01 -4.9652e-03;1.2338e-02 1.1720e+01 -2.6316e+00 8.7582e-04 -3.1604e+01 2.2396e+01;00 1.0000e+00 00;0000 -3.0000e+ 1 0;0000 0 -3.0000e+01];B = [0 0;0 0;0 0;0 0; 30 0; 0 30]; C = [0 1 0 0 0 0; 0 0 0 1 0 0]; D = [0 0; 0 0]; G = ss(A,B,C,D); G.InputName = {“设想”“谣言”};G.OutputName = {“攻击”'态度'};

检查模型的奇异值。

σ(G)

图中包含一个轴对象。轴对象包含2个类型的类型。这个对象表示G。

这种植物是不合理的,在所需控制带宽附近的最大和最小的奇异值之间存在约40 dB的差距,在8 rad / s的所需控制带宽附近。此外,作为步骤图,该植物的开环响应是不稳定的。

步骤(G)

图中包含4个轴对象。带有标题的轴对象1包含一个类型为line的对象。这个对象表示G. Axes对象2包含一个类型为line的对象。该对象表示标题为From: canard的G. Axes对象3,包含类型为line的对象。这个对象表示G. Axes对象4包含一个类型为line的对象。这个对象表示G。

最初的控制器设计

为该装置设计稳定控制器,选择目标回路形状。典型的环路形状具有高频率低增益的鲁棒性,低频率高增益的性能。对于期望的8 rad/s交叉频率,满足这些要求的简单目标环路形状是 G d 8 / 年代

Gd = tf(8,[1 0]);0.1σ(Gd,{100})网格

图中包含一个轴对象。axis对象包含一个类型为line的对象。这个对象代表Gd。

设计初始控制器loopsyn

[K0, CL0 gamma0 info0] = loopsyn (G, Gd);gamma0
gamma0 = 1.2849

表现γ是衡量环的形状如何k0.匹配所需的循环形状。附近或1以下的值表示G * K0接近Gd..将实现的环路形状与目标进行比较。

l0 = g * k0;Sigma(L0,“b”,gd,“r——”, {.1,100});网格传奇(“L0(实际循环形状)”“Gd(目标回路形状)”);

图中包含一个轴对象。轴对象包含3型对象。这些对象代表L0(实际环形),GD(目标环形)。

匹配不是非常接近在低频率,虽然它改善了近交叉。而且,在交叉前后,两个奇异值之间的距离仍然较远,因此实际上存在两个交叉频率。检查这个开环形状如何影响闭环阶跃响应。

步骤(cl0,5)

图中包含4个轴对象。在(1)中包含一个类型为line的对象。该对象表示CL0。axis对象2包含一个类型为line的对象。该对象表示CL0。在(2)中包含一个类型为line的对象。该对象表示CL0。axis对象4包含一个类型为line的对象。该对象表示CL0。

撞的的态度跟踪(右下图)是分离两个奇异值的结果,导致两个时间常数的响应。此外,之间存在显着的耦合攻击的态度.最好是调整控制器以减少磕碰的态度跟踪,减少耦合,并如果可能减少超调攻击响应。

设计性能控制器

为了改进设计,您可以尝试更改平衡loopsyn性能和健壮性之间的冲突。要做到这一点,使用α输入论点loopsyn.默认情况下,loopsyn使用α= 0.5,在鲁棒性不低于可实现的最大鲁棒性的一半的条件下优化性能。α= 0性能优化(mixsyn.设计)。环境α= 1使用稳健性最大化ncfsyn设计。首先,考虑纯净mixsyn.设计。

alpha = 0;[k_mix,cl_mix,gamma_mix,info_mix] = oopsyn(g,gd,alpha);gamma_mix.
gamma_mix = 0.7723

γ值表示与目标环路形状更接近,可以通过绘制开环响应来确认。

l_mix = g * k_mix;Sigma(L0,“b”L_mix,“g”,gd,“r——”, {.1,100});网格传奇(“L0(初设计)”“L_MIX(MIXSYN DESIGN)”“Gd(目标回路形状)”);

图中包含一个轴对象。axis对象包含5个类型为line的对象。这些对象表示L0(初始设计),L\_mix (mixsyn设计),Gd(目标循环形状)。

这个设计大致上颠倒了工厂。因此,的奇异值L_mix汇聚在交叉频率附近,通常比原始工厂更靠近。凭借该厂换算控制器,闭环响应显示出良好的性能,具有最小的过冲和交叉耦合。

步骤(cl0,cl_mix,5)图例(“初始设计”“mixsyn设计”“地点”“东南”

图中包含4个轴对象。在(1)中包含2个类型为line的对象。这些对象代表Initial design, mixsyn design。axis对象2包含2个类型为line的对象。这些对象代表Initial design, mixsyn design。在(2)中包含2个类型为line的对象。这些对象代表Initial design, mixsyn design。axis对象4包含2个类型为line的对象。这些对象代表Initial design, mixsyn design。

然而,这种性能是以健壮性为代价的。比较了系统的稳定裕度与初始设计的差异mixsyn.设计。

DM0 = diskmargin (G, K0);DM_mix = diskmargin (G, K_mix);DM0。DiskMargin
ANS = 0.1215.
DM_mix。DiskMargin
ans = 0.0517

植物逆变设计的鲁棒性较差。例如,如果植物模型的最小奇异值是最大奇异值的1%,则反相植物将模型误差在最小奇异值方向上放大100倍。因此,除非您有一个高度精确的模型,否则最好使用具有更好的健壮性的设计。

鲁棒性设计控制器

在相反的极端是纯净的ncfsyn设计,针对稳健性进行了优化。使用这些控制器使用α= 1,并检查由此产生的稳定性、回路形状和响应。

α= 1;[K_ncf, CL_ncf gamma_ncf info_ncf] = loopsyn (G, Gd,α);gamma_ncf
gamma_ncf = 2.8360
DM_ncf = diskmargin (G, K_ncf);DM_ncf。DiskMargin
ans = 0.2201
L_ncf = G * K_ncf;σ(L0、L_mix L_ncf Gd,“k--”, {.1,100});网格传奇(“L0(初设计)”“L_MIX(MIXSYN DESIGN)”“l_ncf(ncfsyn design)”“Gd(目标回路形状)”);

图中包含一个轴对象。axis对象包含7个类型为line的对象。这些对象表示L0(初始设计)、L\_mix (mixsyn设计)、L\_ncf (ncfsyn设计)、Gd(目标循环形状)。

增加的价值γ显示较差的性能,尽管稳定裕度有所提高,如预期。奇异值图表明,该控制器对被控对象的逆变比初始值更小,这表明奇异值的分离与开环被控对象的分离大致相同。交叉频率的分离导致阶跃响应中出现了慢速和快速的时间常数,甚至比初始设计更差。宽交叉区域产生的影响现在在所有四个I/O通道中都很明显。

步骤(cl0,cl_mix,cl_ncf,5)图例(“初始设计”“mixsyn设计”“ncfsyn设计”“地点”“东南”

图中包含4个轴对象。具有标题的轴对象1来自:IN(1)包含3个类型的类型。这些对象代表初始设计,Mixsyn设计,NCFSYN设计。轴对象2包含3个类型线的对象。这些对象代表初始设计,Mixsyn设计,NCFSYN设计。具有标题的轴对象3:(2)中包含3个类型的类型。这些对象代表初始设计,Mixsyn设计,NCFSYN设计。轴对象4包含3个类型线的对象。这些对象代表初始设计,Mixsyn设计,NCFSYN设计。

选择令人满意的设计

因此,要改进默认设计,稍微偏向于mixsyn.在不放弃太多稳定裕度的情况下,设计可以为这个装置提供一个合适的设计。你可以控制多少loopsyn通过设置有利于性能或健壮性α到0到1之间的任意值。初始控制器的默认值为α= 0.5.尝试稍微致力于性能的值,并将结果与​​初始设计进行比较。

alpha = 0.25;[k,cl,伽玛,信息] =浮标(g,gd,alpha);γ
γ= 1.0147
L = G * K;σ(L0、L, Gd,“k--”, {.1,100});网格传奇(“L0(初设计)”“L”(最终设计)“Gd(目标回路形状)”);

图中包含一个轴对象。axis对象包含5个类型为line的对象。这些对象代表L0(终点设计),L(最终设计),GD(目标环形)。

DM = diskmargin (G、K);DM.DiskMargin
ANS = 0.0928.
步骤(cl0,cl,5)图例(“初始(alpha = 0.5)”"final (alpha = 0.25)"“地点”“东南”

图中包含4个轴对象。在(1)中包含2个类型为line的对象。这些对象代表初始(alpha = 0.5),最终(alpha = 0.25)。axis对象2包含2个类型为line的对象。这些对象代表初始(alpha = 0.5),最终(alpha = 0.25)。在(2)中包含2个类型为line的对象。这些对象代表初始(alpha = 0.5),最终(alpha = 0.25)。axis对象4包含2个类型为line的对象。这些对象代表初始(alpha = 0.5),最终(alpha = 0.25)。

α= 0.25设计产生合理的良好性能,减少耦合和消除bump在的态度响应。它的稳定裕度略小(盘裕度约为0.09,而初始设计约为0.125)。对于您的应用程序,可以选择任意值α在0和1之间实现了性能和健壮性之间的可接受的平衡。

减少控制器顺序

有时可以简化返回的控制器loopsyn虽然保持了系统响应的理想特征。在此示例中,控制器K是九阶。

订单(K)
ans = 9

看是否有可能简化K,可以使用balred命令。

balred (K)

图中包含一个轴对象。以Hankel奇异值与近似误差为标题的轴对象包含杆、线三个类型的对象。这些对象表示不稳定模式,稳定模式,绝对误差界限。

图中显示了控制器的Hankel奇异值,它表示了各模态的相对能量贡献。Hankel奇异值在六阶后急剧减小,因此尝试相应减小控制器。

基米-雷克南= balred (K, 6);订单(Kr)
ans = 6

通过比较降阶控制器和全阶控制器的奇异值,确定两者之间的差异很小。

σ(K, K-Kr,{1的军医,1 e6})传说(“k(第九阶)”“区别K-Kr”

图中包含一个轴对象。轴对象包含类型线的4个对象。这些对象代表k(第九阶),差异k-kr。

你也可以确认降阶控制器产生一个几乎相同的闭环响应。

CLr =反馈(G * Kr,眼(2));步骤(CL CLr 5)传说(“k(第九阶)”“kr(第六阶)”“地点”“东南”

图中包含4个轴对象。在(1)中包含2个类型为line的对象。这些对象代表K(九阶),Kr(六阶)。axis对象2包含2个类型为line的对象。这些对象代表K(九阶),Kr(六阶)。在(2)中包含2个类型为line的对象。这些对象代表K(九阶),Kr(六阶)。axis对象4包含2个类型为line的对象。这些对象代表K(九阶),Kr(六阶)。

设计降阶控制器

知道六阶控制器足以实现期望的响应,您可以使用loopsyn要设计一个新的控制器,请使用该控制器指定目标顺序ord.输入参数。这种方法是一种替代以前的方法设计和全序控制器后约简。

设计一个新的第六级控制器α= 0.25并与降阶控制器得到的响应进行比较。

alpha = 0.25;[K6,CL6,Gamma6,INFO6] =偏远(G,GD,Alpha,6);步骤(clr,cl6,5)传奇(“KR(减少到第6阶)”“K6(按第6次计算)”“地点”“东南”

图中包含4个轴对象。在(1)中包含2个类型为line的对象。这些对象代表Kr(减少到6阶),K6(在6阶计算)。axis对象2包含2个类型为line的对象。这些对象代表Kr(减少到6阶),K6(在6阶计算)。在(2)中包含2个类型为line的对象。这些对象代表Kr(减少到6阶),K6(在6阶计算)。axis对象4包含2个类型为line的对象。这些对象代表Kr(减少到6阶),K6(在6阶计算)。

设计第六级控制器直接产生类似的步骤响应,尽管对于这种特殊的系统,这种方法导致性能的一些减少(gamma6 = 1.4相比,γ= 1.0完整的订单,α= 0.25控制器K).然而,对于某些系统,这种方法可能更好,因为它优化了低阶控制器本身,而不是从优化控制器中删除潜在的重要动态。

结论

loopsyn让您调整性能和稳健性之间的权衡,以攻击适当的申请平衡。您可以尝试不同的值α找到适合您需求的控制器。你可以减少控制器的顺序balred,或使用ord.的观点loopsyn直接合成一个低阶控制器。

参考文献

[1] Safonov M, A. Laub和G. Hartmann。多变量系统的反馈特性:返回差矩阵的作用和使用自动控制学报26,不。1(1981年2月):47-65。

另请参阅

相关的话题