此示例显示如何通过指定具有控制器的工厂的开环响应的所需形状来设计控制器。的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]。飞机如下图所示。
控制变量为升降副翼和鸭翼作动器( 和 ).输出变量为迎角( )及姿态角( ).该模型有六个州,给出
,
在哪里 和 电梯和鸭管执行器分别是。使用以下状态空间矩阵,创建该工厂的模型。
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)
这种植物是不合理的,在所需控制带宽附近的最大和最小的奇异值之间存在约40 dB的差距,在8 rad / s的所需控制带宽附近。此外,作为步骤图,该植物的开环响应是不稳定的。
步骤(G)
为该装置设计稳定控制器,选择目标回路形状。典型的环路形状具有高频率低增益的鲁棒性,低频率高增益的性能。对于期望的8 rad/s交叉频率,满足这些要求的简单目标环路形状是 .
Gd = tf(8,[1 0]);0.1σ(Gd,{100})网格在
设计初始控制器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(目标回路形状)”);
匹配不是非常接近在低频率,虽然它改善了近交叉。而且,在交叉前后,两个奇异值之间的距离仍然较远,因此实际上存在两个交叉频率。检查这个开环形状如何影响闭环阶跃响应。
步骤(cl0,5)
撞的的态度
跟踪(右下图)是分离两个奇异值的结果,导致两个时间常数的响应。此外,之间存在显着的耦合攻击
和的态度
.最好是调整控制器以减少磕碰的态度
跟踪,减少耦合,并如果可能减少超调攻击
响应。
为了改进设计,您可以尝试更改平衡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(目标回路形状)”);
这个设计大致上颠倒了工厂。因此,的奇异值L_mix
汇聚在交叉频率附近,通常比原始工厂更靠近。凭借该厂换算控制器,闭环响应显示出良好的性能,具有最小的过冲和交叉耦合。
步骤(cl0,cl_mix,5)图例(“初始设计”,“mixsyn设计”,“地点”,“东南”)
然而,这种性能是以健壮性为代价的。比较了系统的稳定裕度与初始设计的差异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(目标回路形状)”);
增加的价值γ
显示较差的性能,尽管稳定裕度有所提高,如预期。奇异值图表明,该控制器对被控对象的逆变比初始值更小,这表明奇异值的分离与开环被控对象的分离大致相同。交叉频率的分离导致阶跃响应中出现了慢速和快速的时间常数,甚至比初始设计更差。宽交叉区域产生的影响现在在所有四个I/O通道中都很明显。
步骤(cl0,cl_mix,cl_ncf,5)图例(“初始设计”,“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(目标回路形状)”);
DM = diskmargin (G、K);DM.DiskMargin
ANS = 0.0928.
步骤(cl0,cl,5)图例(“初始(alpha = 0.5)”,"final (alpha = 0.25)",“地点”,“东南”)
的α= 0.25
设计产生合理的良好性能,减少耦合和消除bump在的态度
响应。它的稳定裕度略小(盘裕度约为0.09,而初始设计约为0.125)。对于您的应用程序,可以选择任意值α
在0和1之间实现了性能和健壮性之间的可接受的平衡。
有时可以简化返回的控制器loopsyn
虽然保持了系统响应的理想特征。在此示例中,控制器K
是九阶。
订单(K)
ans = 9
看是否有可能简化K
,可以使用balred
命令。
balred (K)
图中显示了控制器的Hankel奇异值,它表示了各模态的相对能量贡献。Hankel奇异值在六阶后急剧减小,因此尝试相应减小控制器。
基米-雷克南= balred (K, 6);订单(Kr)
ans = 6
通过比较降阶控制器和全阶控制器的奇异值,确定两者之间的差异很小。
σ(K, K-Kr,{1的军医,1 e6})传说(“k(第九阶)”,“区别K-Kr”)
你也可以确认降阶控制器产生一个几乎相同的闭环响应。
CLr =反馈(G * Kr,眼(2));步骤(CL CLr 5)传说(“k(第九阶)”,“kr(第六阶)”,“地点”,“东南”)
知道六阶控制器足以实现期望的响应,您可以使用loopsyn
要设计一个新的控制器,请使用该控制器指定目标顺序ord.
输入参数。这种方法是一种替代以前的方法设计和全序控制器后约简。
设计一个新的第六级控制器α= 0.25
并与降阶控制器得到的响应进行比较。
alpha = 0.25;[K6,CL6,Gamma6,INFO6] =偏远(G,GD,Alpha,6);步骤(clr,cl6,5)传奇(“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。