此示例显示如何针对电厂的多种运行模式调整固定结构控制器。
本例涉及在升降舵和副翼执行器中发生故障的客机容错飞行控制。飞行控制系统必须在标称运行和降级条件下保持稳定性,并满足性能和舒适性要求,其中一些执行器由于控制面损坏而不再有效在任何情况下都必须减少阵风。此应用程序有时称为可靠的控制因为必须在极端的飞行条件下保持飞机的安全。
在Simulink中对控制系统进行建模。万博1manbetx
目录(fullfile (matlabroot,“例子”,“控制”,“主要的”))%添加示例数据开放式系统(“faultTolerantAircraft”)
飞机建模为刚性六阶状态空间系统,具有以下状态变量(速度单位为mph,角速率单位为deg/s):
u:x体轴速度
W: z轴速度
q:俯仰率
v:y体轴速度
p:滚转率
r:横摆率
状态向量以及飞行路径组合角速率mu (deg/s)、攻角alpha (deg)和侧滑角beta (deg)均可用于控制。控制输入是右升降舵、左升降舵、右副翼、左副翼和方向舵的偏转。所有的偏转都是度数。电梯对称排列以形成攻角。副翼以反对称组合来产生滚转运动。这将导致3个控制动作,如Simulink模型中所示。万博1manbetx
该控制器由内环的状态反馈控制和外环的MIMO积分作用组成。增益矩阵碘化钾
和Kx
分别为3×3和3×6,因此控制器有27个可调参数。
我们使用9x5矩阵对标称模式和各种执行器故障模式进行编码。每行对应一个飞行条件,零表示相应偏转面中断。
OutageCases = [...1 1 1 1 1;...额定运行方式0 1 1 1 1;...右电梯故障1 0 1 1 1 1;...%电梯停机1 1 0 1 1;...右副翼故障1 1 1 0 1;...%左副翼中断1 0 0 1 1;...左升降舵和右副翼失灵0 1 0 1 1;...右升降舵和右副翼故障0 1 1 0 1;...右升降舵和左副翼故障1 0 1 0 1;...%左升运器和左副翼停机];
控制器:
提供良好的跟踪性能在mu, alpha和beta在标称工作模式下与适当的三轴解耦
在风速为每小时10英里的情况下保持性能
在执行机构停机时限制稳定性和性能退化。
为了表达第一个需求,您可以使用类似LQG的成本函数来惩罚集成跟踪错误e
以及控制努力u
:
对角线的重量和是主要的调整旋钮,用于交易响应性和控制努力,并强调某些渠道优于其他渠道WeightedVariance
要求表示此成本函数,并放宽性能权重根据中断场景的因素2。
我们= diag([10 20 15]);吴=眼(3);%标称跟踪要求SoftNom = TuningGoal。WeightedVariance (“选点”,{“e”,“u”吴},blkdiag(我们),[]);SoftNom。模型= 1;%名义模型%大修条件的跟踪要求SoftOut = TuningGoal。WeightedVariance (“选点”,{“e”,“u”},blkdiag(We/2,Wu),[]);SoftOut.Models=2:9;%中断场景
为了减少阵风,限制误差信号的变化e
因为白噪音工作组
驱动阵风模型。同样,对中断场景使用不那么严格的要求。
名义阵风减轻需求HardNom=TuningGoal.方差(“工作组”,“e”硬名称模型=1;%大修条件下的阵风缓解要求HardOut=TuningGoal.方差(“工作组”,“e”, 0.1);HardOut。模型= 9;
设置风速为10英里/小时,初始化控制器的可调状态反馈和积分器增益。
甘精= 10;ki =眼睛(3);Kx =零(3,6);
使用slTuner
接口来设置调整任务。列出要调整的块,并通过改变停机
Simulink模型中的变量。因万博1manbetx为您只能在中更改标量参数slTuner
,独立指定停机
矢量。
OutageData =结构(...“名字”,{“停机(1)”,“中断(2)”,‘大修(3)’,‘大修(4)’,“停机(5)”},...“价值”,mat2cell(OutageCases,9,[1 1 1 1]));ST0 = slTuner (“faultTolerantAircraft”,{“吻”,“Kx”}, OutageData);
使用systune
根据标称要求调整控制器增益。将阵风减缓视为硬约束。
[圣,fSoft gHard] = systune (ST0, SoftNom HardNom);
最终:软=22.6,硬=0.9998,迭代次数=301
检索增益值并模拟进入步进命令的响应μ,α,β
对于标称和降级飞行条件。所有模拟均包括阵风效应,红色曲线为标称响应。
Ki = getBlockValue(圣,“吻”);Ki = Ki.d;Kx = getBlockValue(圣,“Kx”);Kx=Kx.d;%倾斜角度设定点模拟plotResponses (OutageCases 1 0,0);
%迎角设定点模拟绘图仪响应(OutageCases,0,1,0);
%侧滑角设定点模拟绘图仪应答(OutageCases,0,0,1);
名义响应是好的,但在面临执行机构停机时,性能的恶化是不可接受的。
为了提高可靠性,重新调整控制器增益,以满足标称电站的标称要求,以及所有八种停电场景的放松要求。
[圣,fSoft gHard] = systune (ST0 [SoftNom; SoftOut], [HardNom; HardOut]);
Final: Soft = 25.7, Hard = 0.99919, Iterations = 427
最优性能(LQG成本的平方根))只比名义上的调优略差(26 vs. 23)。检索增益值并重新运行模拟(红色曲线是标称响应)。
Ki = getBlockValue(圣,“吻”);Ki = Ki.d;Kx = getBlockValue(圣,“Kx”);Kx=Kx.d;%倾斜角度设定点模拟plotResponses (OutageCases 1 0,0);
%迎角设定点模拟绘图仪响应(OutageCases,0,1,0);
%侧滑角设定点模拟绘图仪应答(OutageCases,0,0,1);
控制器现在为本示例中考虑的所有停机场景提供可接受的性能。可通过增加最小稳定裕度和增益限制等规格,进一步完善设计,以避免致动器速率饱和。
rmpath(完整文件(matlabroot、,“例子”,“控制”,“主要的”))%删除示例数据
TuningGoal。方差
|TuningGoal。WeightedVariance
|slTuner
(万博1manbetx仿真软件控制设计)|systune (slTuner)
(万博1manbetx仿真软件控制设计)