客机固定结构自动驾驶仪
这个例子展示了如何使用slTuner
而且systune
调整纵向自动驾驶仪的标准配置。我们感谢航空航天高等研究院的D. Alazard教授提供的飞机模型和ONERA的Pierre Apkarian教授开发的示例。
飞机模型和自动驾驶仪配置
一架超音速客机在0.7马赫和5000英尺飞行时的纵向自动驾驶仪如图1所示。自动驾驶仪的主要用途是执行垂直加速指令由飞行员签发。反馈结构由一个控制螺距率的内回路组成外加一个控制垂直加速度的外环.自动驾驶仪还包括前馈组件和参考模型它指定对step命令的期望响应.最后是二阶滚转滤波器
用于衰减噪声和限制控制带宽,以防止未建模的动态。可调组件用橙色突出显示。
图1:纵向自动驾驶仪配置。
飞机模型是五状态模型吗,状态变量是空气动力学速度(m/s),爬升角(rad),攻角(rad), pitch rate(rad/s)和高度(m).电梯偏转(rad)用于控制垂直载荷系数.开环动力学包括随频率和阻尼比振荡= 1.7 (rad/s)和= 0.33,为phugoid模式= 0.64 (rad/s)和= 0.06,低海拔模式= -0.0026。
负载ConcordeDataGbode(G,{1e-3,1e2}),网格标题(“飞机模型”)
注意在原点处的零.由于这个零,我们无法实现零稳态误差,而必须专注于对加速命令的瞬态响应。注意,加速命令本质上是瞬态的,所以稳态行为不需要考虑。原点处的零也排除了纯积分作用,所以我们使用伪积分器与= 0.001。
优化设置
在Simulink中对控制系统建模时,可以使用金宝appslTuner
接口快速设置调优任务。打开自动驾驶仪的S金宝appimulink模型。
open_system (“rct_concorde”)
配置slTuner
通过在Simulink模型中列出调优块(用橙色突出显示)来实现接口。金宝app这将自动选择模型中的所有线性分析点作为分析和调优的兴趣点。
ST0 = slTuner(“rct_concorde”, {“吻”,“金伯利进程”,“Kq”,Kf的,的滚边});
这还将每个调优块参数化,并根据它们在Simulink模型中的值初始化块参数。金宝app注意这四个增益Ki、Kp Kq Kf
在本例中初始化为0。默认情况下为滚出筛选器参数化为一般的二阶传递函数。将其参数化为
创建实参数,构建如上所示的传递函数,并将其与滚边
块。
Wn = realp“wn”3);%固有频率Zeta = realp(“ζ”, 0.8);%阻尼Fro = tf(wn^2,[1 2*zeta*wn ^2]);参数传递函数setBlockParam (ST0的滚边来回)%使用Fro参数化“RollOff”块
设计要求
自动驾驶仪必须调整以满足三个主要设计要求:
1.选点跟踪:回应命令应与参考模型的响应紧密匹配:
该参考模型指定了具有2秒稳定时间的良阻尼响应。
2.高频碾轧:噪声信号对的闭环响应应滚出超过8 rad/s,斜率至少为-40 dB/decade。
3.稳定的利润:工厂输入的稳定裕度应至少为7分贝和45度。
对于设定值跟踪,我们要求增益的闭环传输从命令到跟踪误差在频带[0.05,5]rad/s内较小(回想一下,我们不能将稳态误差驱动到零,因为在s=0时植物为零)。使用几个频率点,绘制最大跟踪误差作为频率的函数,并使用它来限制增益来.
频率= [0.005 0.05 5 50];增益= [5 0.05 0.05];Req1 = TuningGoal。获得(“Nzc”,“e”的朋友(收益,频率));Req1。Name =“最大跟踪误差”;
的TuningGoal。获得
构造函数自动将最大误差草图转换为平滑加权函数。使用viewGoal
以图形方式验证所需的错误概要文件。
viewGoal (Req1)
重复相同的过程以限制来自噪声输入的高频增益并在8到800 rad/s的频段内强制执行-40 dB/decade的斜率
频率= [0.8 8 800];增益= [10 1 1e-4];Req2 = TuningGoal。获得(“n”,“delta_m”的朋友(收益,频率));Req2。Name =“碾轧的要求”;viewGoal (Req2)
最后,注册植物输入作为开环分析和使用的站点TuningGoal。利润率
以获取稳定裕度要求。
addPoint (ST0“delta_m”Req3 = TuningGoal。利润(“delta_m”7、45);
自动调优
我们现在准备好调整自动驾驶仪参数systune
.该命令采用未调优的配置ST0
并给出三个设计要求并返回调优后的版本圣
的ST0
.当最终值小于1时,所有要求都被满足。
[ST,fSoft] = systune(ST0,[Req1 Req2 Req3]);
最终:软= 0.968,硬= -Inf,迭代= 140
使用showTunable
查看调优后的块值。
showTunable (ST)
Block 1: rct_concorde/Ki = D = u1 y1 -0.03059名称:Ki静态增益。----------------------------------- 块2:rct_concorde / Kp = D = -0.008714 u1 y1名称:Kp静态增益。----------------------------------- 块3:rct_concorde / Kq = D = -0.2909 u1 y1名称:Kq静态增益。----------------------------------- 第四块:rct_concorde / Kf u1日元= D = -0.0237名称:Kf静态增益。----------------------------------- wn = 4.84 ----------------------------------- ζ= 0.515
的调优值,使用getBlockValue
评估摇来摇去
中的调优参数值圣
:
Fro = getBlockValue(ST,的滚边);特遣部队(来回)
ans = 23.4 ------------------- s ^ 2 + 4.98 + 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”,“新西兰”);% transfer Nzc ->图中,步骤(T)“b”Gref,“b——”,6), grid, ylabel(“N_z”),传说(“实际响应”,“参考模型”)
也画出偏转以及前馈和反馈路径各自的贡献:
T = getIOTransfer(ST,“Nzc”,“delta_m”);% transfer Nzc -> delta_m . %Kf = getBlockValue(ST,Kf的);% Kf的调优值Tff = Fro*Kf;%对delta的贡献步骤(T)“b”Tff,“g——”T-Tff,r -。,6), grid ylabel(“\ delta_m”),传说(“总”,“前馈”,“反馈”)
最后,通过计算开环响应,检查滚转和稳定裕度要求.
OL = getLoopTransfer(ST,“delta_m”1);%负反馈循环传递保证金(OL);网格;xlim ([1 e - 3, 1 e2]);
波德图证实,在超过8 rad/s时,增益和相位裕度为-40 dB/decade,表明增益和相位裕度超过10 dB和70°。
另请参阅
systune (slTuner)
(金宝appSimulink控制设计)|slTuner
(金宝appSimulink控制设计)|TuningGoal。获得
|TuningGoal。利润率