主要内容

调优Gain-Scheduled三环的自动驾驶仪

这个示例使用systune三环自动生成获得顺畅。

机身模型和三环自动驾驶仪

潜浮性能这个示例使用机身的俯仰轴动力学模型。美国是大地坐标(X_e Z_e)美元,身体坐标(u, w)美元,螺旋角\θ美元,场上率q = \点\θ美元。下图总结了惯性和身体之间的关系框架,飞行路线角\伽马美元,入射角\α美元和螺旋角\θ美元

我们使用一个典型的三环控制飞行路线角自动驾驶仪结构\伽马美元。这个自动调整飞行路径,提供足够的垂直加速度脉冲a_z美元(加速度w美元)。反过来,法向加速度是由调整电梯偏转\三角洲美元导致俯仰和不同的升力。自动驾驶仪使用比例积分(PI)控制俯仰速率循环问美元和比例控制a_z美元\伽马美元循环。闭环系统(机身和自动驾驶仪)建模仿真软件。金宝app

open_system (“rct_airframeGS”)

自动增益调度

机身动力学是非线性气动力和气动力矩的变化,取决于速度五美元和发病率\α美元。在获得合适的性能(\α,V)美元飞行包线,自动驾驶仪获得必须的调整\α美元五美元为了弥补植物动力学的变化。这个调整过程称为“增益调度”$ \α,V $被称为调度变量。在仿真软件模型金宝app,获得计划作为查找表实现的测量\α美元五美元

增益调度是一个线性非线性或时变控制植物的技术。这个想法是为了计算线性近似的植物在不同的操作条件,优化控制器增益在每个操作条件,和交换收益,在操作运行条件的函数。传统的增益调度涉及到以下三个主要步骤。

  1. 修剪和线性化植物在每个操作条件

  2. 调整控制器增益的线性化动力学在每个操作条件

  3. 调和的增益值提供操作条件之间的平稳过渡。

在这个例子中,你把步骤2和3的参数化自动驾驶仪获得作为一阶多项式$ \α,V $和直接调优多项式系数在整个飞行包线。这种方法消除了第三步,保证顺利获得变化的函数\α美元五美元。此外,增益调度系数可以自动调整systune

修剪和线性化

假设入射\α美元-20 - 20度之间变化的速度五美元变化之间的700和1400 m / s。忽略重力时,机体动力学是对称的\α美元。因此,只考虑积极的价值观\α美元。使用一个5-by-9间隔线性网格(\α,V)美元对飞行包线。

nA = 5;%的alpha值nV = 9;% V值的数量(α,V) = ndgrid (linspace(0, 20日nA) *π/ 180,linspace (700、1400、nV));

对于每一个飞行条件(\α,V)美元在修剪,线性化机身动力学(零法向加速度和俯仰力矩)。这需要计算电梯偏转\三角洲美元和球场问美元在稳定的结果w美元问美元。要做到这一点,首先隔离机体模型在一个单独的仿真软件模型。金宝app

mdl =“rct_airframeTRIM”;open_system (mdl)

使用operspec指定调整条件下,使用findop计算的调整值\三角洲美元问美元,产生的机体动力学线性化操作点。有关详细信息,请参见修剪和线性化一个机身(金宝app仿真软件控制设计)。重复这些步骤,为45飞行条件(\α,V)美元

计算调整条件(\α,V)美元对。

ct = 1: nA * nV alpha_ini =α(ct);% (rad)发生率v_ini = V (ct);%的速度(米/秒)%指定修剪条件opspec (ct) = operspec (mdl);% Xe,泽:已知,不稳定opspec (ct) .States (1)。知道= (1,1);opspec (ct) .States (1)。稳态= (0,0);% u, w: w稳定opspec (ct) .States (3)。知道= [1];opspec (ct) .States (3)。稳态= [0 1];%θ:已知,不稳定opspec (ct) .States (2)。= 1;opspec (ct) .States (2)。稳态= 0;%问:未知,稳定opspec (ct) .States (4)。知道= 0;opspec (ct) .States (4)。稳态= 1;结束opspec =重塑(opspec nA nV);

规范给出的模型。

选择= findopOptions (“DisplayReport”,“关闭”);op = findop (mdl、opspec选项);

线性化模型的条件。

G =线性化(mdl, op);G。u =“δ”;G。y = {“α”,“V”,“问”,“阿兹”,“伽马”,“h”};G。SamplingGrid =结构(“α”α,“V”,V);

这个过程会产生一系列5-by-9的线性化植物模型45飞行条件(\α,V)美元。整个飞行包线植物动力学变化明显。

σ(G)标题(机身动态变化的)

可调增益表面

自动驾驶仪由四个收益美元K_p、K_i、K_a K_g美元“计划”(调整)的函数\α美元五美元。实际上,这意味着88年调优值在每个相应的四个查找表。而不是单独调整每个表条目,参数化的收益作为一个二维表面,例如,表面用一个简单的多线性的依赖\α美元五美元:

$ $ K(\α,V) = K_0 + K_1 \α+ K_2 V + K_3 \αV $ $

削减这一变量的数量从88下降到每个查找表4。使用tunableSurface对象参数化每个获得表面。注意:

  • TuningGrid指定了“优化电网”(设计点)。这个表格应该匹配一个用于线性化但需要不匹配loop-up表断点

  • ShapeFcn指定的基函数曲面参数化(\α美元,五美元,$ \αV $)

每个表面被初始化为一个常数获得使用的优化结果\α美元= 10度,五美元= 1050 m / s(中档设计)。

TuningGrid =结构(“α”α,“V”,V);ShapeFcn = @(α,V)(α,V,α* V);Kp = tunableSurface (“金伯利进程”0.1、TuningGrid ShapeFcn);Ki = tunableSurface (“吻”2 TuningGrid ShapeFcn);Ka = tunableSurface (“咔”0.001、TuningGrid ShapeFcn);公斤= tunableSurface (“公斤”、-1000、TuningGrid ShapeFcn);

接下来创建一个slTuner界面优化获得的表面。使用块替换来替代非线性植物模型的线性化模型在优化网格。使用setBlockParam将可调增益的表面Kp,Ki,,公斤的插值模块相同的名称。

BlockSubs =结构(“名字”,“rct_airframeGS /机身模型”,“价值”G);ST0 = slTuner (“rct_airframeGS”,{“金伯利进程”,“吻”,“咔”,“公斤”},BlockSubs);%的兴趣点ST0.addPoint ({“az_ref”,“阿兹”,“gamma_ref”,“伽马”,“δ”})%参数化查表块ST0.setBlockParam (“金伯利进程”Kp,“吻”吻,“咔”卡,“公斤”公斤);

自动调优

systune表面可以自动调整增益系数在整个飞行包线。使用TuningGoal对象指定性能目标:

  • \伽马美元循环:跟踪1秒响应时间的定位点,稳态误差小于2%,峰值误差不到30%。

Req1 = TuningGoal.Tracking (“gamma_ref”,“伽马”1、0.02、1.3);viewGoal (Req1)

  • a_z美元循环:确保良好的抗干扰性较低频率(跟踪加速度的要求)和过去10 rad / s(对测量噪声)。的干扰注入az_ref的位置。

RejectionProfile =朋友(0.02 0.02 1.2 1.2 0.1,15 150][0 0.02 - 2);Req2 = TuningGoal.Gain (“az_ref”,“阿兹”,RejectionProfile);viewGoal (Req2)

  • 问美元循环:确保良好的抗干扰性10 rad / s。干扰注入核电站输入δ

Req3 = TuningGoal.Gain (“δ”,“阿兹”,600 *特遣部队(0.25 [0],[0.25 - 1]));viewGoal (Req3)

  • 瞬变:确保oscillation-free瞬变的最小阻尼比为0.35

MinDamping = 0.35;Req4 = TuningGoal.Poles (0, MinDamping);

使用systune调优16获得表面系数最好满足这些性能要求45飞行条件。

圣= systune (ST0 [Req1 Req2 Req3 Req4]);
最后:软= 1.13,=无穷,迭代= 57

的最终价值结合目标是接近1,表明几乎满足所有需求。可视化结果获得的表面。

%得到调整获得的表面。TGS = getBlockParam (ST);%的阴谋获得表面。clf次要情节(2、2、1)viewSurf (TGS.Kp)标题(“金伯利进程”次要情节(2,2,2)viewSurf (TGS.Ki)标题(“吻”次要情节(2,2,3)viewSurf (TGS.Ka)标题(“咔”次要情节(2,2,4)viewSurf (TGS.Kg)标题(“公斤”)

验证

第一次验证调整自动驾驶仪飞行45条件考虑。情节对阶跃变化的响应在飞行路线角和一步扰动的响应电梯偏转。

clf次要情节(2,1,1)步骤(getIOTransfer(圣,“gamma_ref”,“伽马”),5)网格标题(“飞行路线角跟踪阶跃变化”次要情节(2,1,2)步骤(getIOTransfer(圣,“δ”,“阿兹”),3)网格标题(“拒绝在植物输入扰动步”)

在所有飞行条件令人满意的响应。接下来对非线性机身模型验证自动驾驶仪。第一次使用writeBlockValue将优化结果应用到仿真软件模型。金宝app这个评估每个获得表面公式两个Prelookup块中指定断点和写相应的插值的结果块。

writeBlockValue (ST)

模拟操作的自动驾驶仪的性能,机体通过大部分的飞行包线。下面的代码等价于按下播放按钮在仿真软件模型和检测的响应范围块。金宝app

%指定初始条件。h_ini = 1000;alpha_ini = 0;v_ini = 700;%模拟模型。SimOut = sim卡(“rct_airframeGS”,“ReturnWorkspaceOutputs”,“上”);%提取仿真数据。SimData =得到(SimOut,“sigsOut”);Sim_gamma = getElement (SimData,“伽马”);Sim_alpha = getElement (SimData,“α”);Sim_V = getElement (SimData,“V”);Sim_delta = getElement (SimData,“δ”);Sim_h = getElement (SimData,“h”);Sim_az = getElement (SimData,“阿兹”);t = Sim_gamma.Values.Time;%的阴谋的主要变量。clf次要情节(2,1,1)情节(t, Sim_gamma.Values.Data (: 1),“r——”t Sim_gamma.Values.Data (:, 2),“b”)网格传奇(“吩咐”,“实际”,“位置”,“东南”)标题(“飞行路线角\γ在度”次要情节(2,1,2)情节(t, Sim_delta.Values.Data)网格标题(“电梯偏转\三角洲度”)

次要情节(2,1,1)情节(t, Sim_alpha.Values.Data)网格标题(的发病率\α度次要情节(2,1,2)情节(t, Sim_V.Values.Data)网格标题(“米/秒速度V”)

次要情节(2,1,1)情节(t, Sim_h.Values.Data)网格标题(“米高度h”次要情节(2,1,2)情节(t, Sim_az.Values.Data)网格标题(“正常加速a_z g”年代的)

跟踪的整个机动飞行路线角剖面仍然是好的。注意,发病率的变化\α美元和速度五美元这里大部分的飞行包线考虑(-20,20度\α美元和(700、1400)五美元)。虽然名义上的自动驾驶仪是调整高度3000米,高度改变它票价从1000到10000米。

非线性仿真结果确认gain-scheduled自动驾驶仪一贯高性能在整个飞行包线。“增益表面调整”过程提供了简单的显式公式获得调度变量的依赖。而不是使用查找表,您可以直接使用这些公式的更节约内存硬件实现。

另请参阅

(金宝app仿真软件控制设计)||(金宝app仿真软件控制设计)

相关的例子

更多关于