固定的结构自动驾驶客机
这个例子展示了如何使用slTuner
和systune
调整纵向自动驾驶仪的标准配置。我们感谢教授从研究所特级de l d . Alazard 'Aeronautique et de l空间提供飞机模型和皮埃尔Apkarian教授那里拿来的例子。
飞机模型和自动配置
超音速客机的纵向自动驾驶仪飞行马赫数0.7和5000英尺是如图1所示。自动驾驶仪的主要目的是遵循垂直加速度的命令发行的飞行员。反馈结构由一个内循环控制俯仰率和一个外循环控制垂直加速度。该自动驾驶仪还包括一个前馈组件和一个参考模型指定所需反应步骤的命令。最后,二阶碾轧过滤器
用于减弱噪音和限制控制带宽,防止未建模动态。可调组件以橙色突出显示。
图1:纵向自动驾驶仪配置。
飞机模型是一个5的态模型,状态变量是气动速度(米/秒),爬上角(rad),攻角(rad),距率(rad / s)和高度(m),电梯偏转(rad)是用来控制垂直荷载的因素。开环动态包括振荡频率和阻尼比= 1.7 (rad / s)和= 0.33,长周期的模式= 0.64 (rad / s)和= 0.06,缓慢的高度模式= -0.0026。
负载ConcordeDataG波德(G, {1 e - 3, 1 e2}),网格标题(“飞机模型”)
注意到零在原点。因为这个零,我们不能实现零稳态误差,必须关注瞬态响应加速度的命令。注意,加速命令在本质上是短暂的所以稳态行为并不是一个问题。这个零在原点也排除了纯积分作用所以我们使用pseudo-integrator与= 0.001。
优化设置
当控制系统建模仿真软件,你可以使用金宝appslTuner
界面快速设置调优任务。打开自动驾驶仪的仿金宝app真软件模型。
open_system (“rct_concorde”)
配置slTuner
清单调整块界面的仿真软件模型(橙色高亮显示)。金宝app这个自动选择所有线性分析分模型作为分析和调优的兴趣点。
ST0 = slTuner (“rct_concorde”,{“吻”,“金伯利进程”,“Kq”,Kf的,的滚边});
这也参数化每个调谐块和初始化块参数仿真软件模型中基于他们的价值观。金宝app注意四个收益Ki、Kp Kq Kf
在本例中初始化为零。默认情况下,转出过滤器参数化是一个通用的二阶传递函数。参数化是
创建真正的参数,建立上面所示的传递函数,并将它与相关联滚边
块。
wn = realp (“wn”3);%固有频率ζ= realp (“ζ”,0.8);%阻尼来回=特遣部队(wn ^ 2,[1 2 *ζ* wn wn ^ 2]);%参数传递函数setBlockParam (ST0的滚边来回)%使用参数化“滚边”块
设计要求
自动驾驶仪必须调整以满足三个主要设计要求:
1。选点跟踪响应:到命令应密切匹配参考模型的反应:
该参考模型指定well-damped反应2第二沉降时间。
2。高频碾轧:闭环噪声信号的响应应该滚了过去8 rad / s的斜坡至少-40 dB /十年。
3所示。稳定的利润输入:核电站的稳定利润应该至少7 dB和45度。
选点跟踪,我们要求获得闭环传输的命令的跟踪误差很小的频带(0.05,5)rad / s(回想一下,我们不能开车的稳态误差为零,因为植物0 s = 0)。使用一些频率点,素描的最大跟踪误差作为频率的函数,并用它来限制收益来。
频率= (0.005 - 0.05 5 50);收益= (0.05 - 0.05 5);Req1 = TuningGoal.Gain (“Nzc”,“e”的朋友(收益,频率));Req1。Name =“最大跟踪误差”;
的TuningGoal.Gain
构造函数自动最大误差草图转化为一个光滑的权重函数。使用viewGoal
图形验证所需的错误配置文件。
viewGoal (Req1)
重复相同的过程来限制的高频增益噪声输入和执行-40 dB /十年坡从8到800 rad / s频段
频率= (0.8 8 800);收益=(10 1 1军医);Req2 = TuningGoal.Gain (“n”,“delta_m”的朋友(收益,频率));Req2。Name =“碾轧的要求”;viewGoal (Req2)
最后,输入注册工厂作为开环的网站分析和使用TuningGoal.Margins
捕捉稳定保证金要求。
addPoint (ST0“delta_m”)Req3 = TuningGoal.Margins (“delta_m”7、45);
自动调优
现在我们已经准备好调整与自动驾驶仪的参数systune
。这个命令需要未优化配置ST0
和三个设计要求并返回调整版本圣
的ST0
。满足所有的需求,当最后的值小于1。
[圣,fSoft] = systune (ST0 [Req1 Req2 Req3]);
最后:软= 0.968,=无穷,迭代= 140
使用showTunable
看到调谐块值。
showTunable (ST)
块1:rct_concorde / Ki = D = -0.03059 u1 y1名称:Ki静态增益。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -块2:rct_concorde / Kp = D = -0.008714 u1 y1名称:Kp静态增益。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -块3:rct_concorde / Kq = D = -0.2909 u1 y1名称:Kq静态增益。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -块4:rct_concorde / Kf u1日元= D = -0.0237名称:Kf静态增益。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - wn = 4.84 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ζ= 0.515
得到的优化值,使用getBlockValue
评估摇来摇去
调整的参数值圣
:
来回= getBlockValue(圣,的滚边);特遣部队(来回)
ans = 23.4 - - - - - - - - - - - - - - - - - - - s ^ 2 + 4.98 + 23.4连续时间传递函数。
最后,使用viewGoal
以图形的方式来验证所有的需求得到满足。
图(“位置”[100100550710])viewGoal ([Req1 Req2 Req3],圣)
闭环仿真
我们现在确认调整自动驾驶仪满足设计要求。第一个比较的阶跃响应参考模型的阶跃响应。再次使用getIOTransfer
计算调整闭环传输Nzc
来新西兰
:
Gref =特遣部队(1.7 ^ 2,[1 2 * 0.7 * 1.7 - 1.7 ^ 2]);%参考模型T = getIOTransfer(圣“Nzc”,“新西兰”);%转移Nzc - >新西兰图中,步骤(T)“b”Gref,“b——”6)、网格,ylabel (“N_z”),传说(“实际响应”,“参考模型”)
还阴谋偏转和各自的贡献的前馈和反馈路径:
T = getIOTransfer(圣“Nzc”,“delta_m”);% Nzc - > delta_m转移Kf = getBlockValue(圣,Kf的);%调Kf的价值Tff =来回* Kf;%对delta_m前馈的贡献步骤(T)“b”Tff,“g——”T-Tff,r -。6)、网格ylabel (“\ delta_m”),传说(“总”,“前馈”,“反馈”)
最后,检查转出和稳定计算保证金要求的开环反应。
OL = getLoopTransfer(圣,“delta_m”1);%负反馈循环转移保证金(OL);网格;xlim ([1 e - 3, 1 e2]);
波德图确认转出-40 dB /十年过去8 rad / s表示增益和相位利润率超过10 dB和70度。
另请参阅
systune (slTuner)
(金宝app仿真软件控制设计)|slTuner
(金宝app仿真软件控制设计)|TuningGoal.Gain
|TuningGoal.Margins