此示例显示了如何使用slTuner
和systune
调谐的纵向自动驾驶仪的标准配置。我们从感谢D. Alazard教授研究所Superieur的DE L'AERONAUTIQUE和de l'协商提供从ONERA飞机模型和Pierre Apkarian教授开发的例子。
超音速客机在0.7马赫和5000英尺飞行时的纵向自动驾驶仪如图1所示。自动驾驶仪的主要目的是遵循垂直加速指令由飞行员发行。反馈结构包括控制音高速率的内环和控制垂直加速度的外环.自动驾驶仪还包括前馈组件和参考模型指定对步骤命令的期望响应.最后是二阶滚转滤波器
用于噪声衰减和限制控制带宽作为对未建模动态一个保障。可调部件橙色高亮显示。
图1:纵向自动驾驶仪的配置。
飞机模型有5状态模型中,状态变量是所述空气动力学速度(米/秒),该爬升角(rad),攻击角度(弧度),俯仰速率(弧度/秒),并且高度(M)。电梯偏转(弧度)用于控制垂直负载因数.开环动态包括振动与频率和阻尼比= 1.7 (rad/s)和= 0.33,垂直模式= 0.64(rad / s)和= 0.06,慢高度模式= -0.0026。
加载Concordedata.G.BODE(G,{1E-3,1E2}),网格标题(“飞机模型”)
注意原点的零.由于此为零,我们无法达到零稳态错误,而是必须关注对加速命令的瞬态响应。请注意,加速命令本质上是瞬态的,因此稳态行为不是一个问题。此原产地的这种零也排除了纯积分动作,因此我们使用伪积分器借= 0.001。
当控制系统在Simulink中建模时,您可以使用万博1manbetxslTuner
接口来快速设置调优任务。打开自动驾驶仪的S万博1manbetximulink模型。
Open_System('rct_concorde')
配置slTuner
通过在Simulink模型中列出调谐块(以橙色突出显示)来列出界面。万博1manbetx这将自动选择模型中的所有线性分析点作为分析和调整的兴趣点。
ST0 = slTuner ('rct_concorde',{'ki'那'kp'那'kq'那'Kf个'那'relloff'});
这也参数化每个调谐块并初始化基于它们在Simulink模型值的块参数。万博1manbetx请注意,这四个收益ki,kp,kq,kf
在此示例中初始化为零。默认滚动过滤器被参数作为一个通用的二阶传递函数。为了参数作为
创造真正的参数,构建上面显示的传递函数,并将其与之相关联滚降
块。
WN =雷阿尔卑('WN',3);%固有频率ζ电=雷阿尔卑(“ζ”,0.8);%阻尼往复= TF(WN ^ 2,[1 2 *ζ电* WN WN ^ 2]);%参数传递函数setBlockParam(ST0,'relloff',fro)%使用fro以参数化“rolloff”块
必须调整自动驾驶仪以满足三种主要设计要求:
1。设定值跟踪:响应该命令应密切配合参考模型的响应:
该参考模型指定具有2个秒的沉降时间的良好阻尼响应。
2。高频碾轧:噪声信号的闭环响应应该滚下过去8弧度/秒与至少-40分贝/ decade的斜率。
3.稳定裕度:本稳定裕度在工厂输入应至少为7 dB和45度。
对于给定的跟踪,我们要求该命令的闭环传递的增益跟踪误差是在频带[0.05,5]弧度/秒(回想我们不能驱动稳态误差为零,因为在s = 0的零植物的)小。使用几个频点,画出最大的跟踪误差作为频率的函数,并用它来限制从增益到目前为止.
freqs = [0.005 0.05 5 50];收益= [5 0.05 0.05 5];req1 = tuninggoal.gain(“Nzc”那'E',FRD(收益,Freqs));req1.name ='最大跟踪错误';
当TuningGoal.Gain
构造函数自动将最大错误草图变为平滑的加权功能。使用viewGoal
要以图形方式验证所需的错误配置文件。
viewGoal(REQ1)
重复相同的过程,以限制来自噪声输入的高频增益并在8到800 rad / s的频带中强制执行-40 dB / deade斜率
freqs = [0.8 8 800];gains = [10 1 1e-4];req2 = tuninggoal.gain('n'那'delta_m',FRD(收益,Freqs));Req2.Name ='滚动要求';viewGoal(REQ2)
最后,注册设备输入作为开环分析和使用网站TuningGoal.Margins.
捕捉稳定性保证金要求。
addpoint(st0,'delta_m')REQ3 = TuningGoal.Margins('delta_m',7,45);
我们现在准备调整自动驾驶仪与参数systune
.该命令接受未调优的配置ST0
以及三种设计要求并返回调谐版本圣
ofST0
.当最终值小于一个满足所有要求。
[st,fsoft] = systune(st0,[req1 req2 req3]);
Final:Soft = 0.968,硬= -inf,迭代= 140
使用showTunable
要查看调谐块值。
showTunable(ST)
块1:rct_concorde / KI = d = U1 Y1 -0.03059名称:文中的静态增益。-----------------------------------块2:rct_concorde / KP = d = U1 Y1 -0.008714名称:KP静态增益。-----------------------------------块3:rct_concorde / KQ = d = U1 Y1 -0.2909名称:KQ静态增益。-----------------------------------块4:rct_concorde / KF = d = U1 Y1 -0.0237名称:KF静态增益。----------------------------------- WN = 4.84 -----------------------------------ζ电= 0.515
要获取的调整值,使用getBlockValue
评估来回
用于调谐参数值圣
:
来回= getBlockValue(圣,'relloff');特遣部队(来回)
ANS = 23.4 ----------------- S ^ 2 + 4.98 S + 23.4连续时间传递函数。
最后,使用viewGoal
要以图形方式验证满足所有要求。
图(“位置”,[100,100,550,710])ViewGoal([req1 req2 req3],st)
我们现在确认调整自动驾驶仪满足设计要求。首先比较的阶跃响应与参考模型的阶跃响应.再次使用getIOTransfer
计算来自的调谐闭环传输Nzc
到目前为止新西兰
:
gref = tf(1.7 ^ 2,[1 2 * 0.7 * 1.7 1.7 ^ 2]);%参考模型T = getIOTransfer(ST,“Nzc”那'NZ');%的转移NZC - >的Nz图中,步骤(T)'B',gref,'B--',6),网格,ylabel('n_z'),图例('实际反应'那“参考模型”)
也绘制偏转以及前馈和反馈路径的各自贡献:
T = getIOTransfer(ST,“Nzc”那'delta_m');% transfer转移KF = getBlockValue(ST,'Kf个');KF的%调谐值tff = fro * kf;%前馈对m的贡献步骤(t,'B',TFF,'g--',T-TFF,'r-'。,6),网格ylabel('\ delta_m'),图例(“合计”那“前馈”那“反馈”)
最后,通过计算在开环响应查询的滚降和稳定裕度的要求.
ol = getlooptransfer(st,'delta_m',-1);%负反馈回路传输边缘(OL);网格;XLIM([1E-3,1E2]);
Bode曲线图证实过去8弧度滚降-40 dB /十倍频的/ S和表示超过10分贝和70度的增益和相位裕度。
TuningGoal.Gain
|TuningGoal.Margins.
|slTuner
(万博1manbetxSimulink Control Design)|systune(slTuner)
(万博1manbetxSimulink Control Design)