调整双回路自动驾驶仪

这个例子展示了如何使用Simulink控制设计来调整一个控制万博1manbetx机身俯仰率和垂直加速度的双环自动驾驶仪。

机身自动驾驶仪模型

Airframe Dynamics和AutoPilot在Simulink中建模。万博1manbetx

Open_System('rct_airframe1'

自动驾驶仪由两个级联环组成。内环控制音高率Q,外环控制垂直加速度阿兹响应Pilot Stick命令azref.在该架构中,可调谐元件包括PI控制器增益(“AZ控制”块)和间距增益(“Q增益”块)。必须调整自动驾驶仪以响应步骤命令azref在1秒内,最小的超调。在这个例子中,我们将自动驾驶仪增益调整为一个飞行条件对应于零入射和984米/秒的速度。

要分析机动控制,修剪机身$ \ alpha = 0 $$ v = 984米/杆.调整条件对应于零正常加速度和俯仰时刻($ w $$ q $稳定的)。用查找计算相应的闭环操作条件。请注意,我们添加了一个“delta修剪”输入端口,以便查找可以调整鳍偏转产生所需的平衡力和力矩。

opspec = operspec ('rct_airframe1');%指定修剪条件%xe,ze:已知,不稳定opspec.states(1).known = [1; 1];opspec.states(1).steadystate = [0; 0];%U,W:已知,稳定opspec.states(3).known = [1 1];opspec.states(3).steadystate = [0 1];%theta:已知,不是稳定的opspec.states(2).known = 1;opspec.states(2).steadystate = 0;%问:未知,稳定opspec.states(4).known = 0;opspec.states(4).steadystate = 1;%Integrator状态未知,而不是稳定opspec.States(5)。稳态= 0;opspec.States(6)。稳态= 0;op = findop ('rct_airframe1',opspec);
操作点搜索报告:---------------------------------模型rct_airframe1的操作点搜索报告。(t=0时时变组件评估)工作点规范成功满足。状态:---------- (1.)rct_airframe1/Airframe模型/空气动力学和运动方程/运动方程(体轴)/位置x: 0 dx: 984 x: -3.05e+03 dx: 0 (2.) rct_airframe1/Airframe模型/空气动力学和运动方程/运动方程(体轴)/Theta x: 0 dx:-0.00972 (3) rct_airframe1 /机身模型/空气动力学和运动方程和运动方程(轴)/ U, w x: 984 dx: 22.7 x: 0 dx: -1.44 e-11 (0) (4) rct_airframe1 /机身模型/空气动力学和运动方程和运动方程(轴)/ q x: -0.00972 dx: 1.15 e-16 (0) (5) rct_airframe1 /集成商x: 0.000708 dx:-0.00972 (6.) rct_airframe1/az Control/Integrator/Continuous/Integrator x: 0 dx: 0.000242 Inputs: ---------- (1.) rct_airframe1/delta trim u: 0.000708 [-Inf Inf] Outputs: None ---------- .输出说明

线性化“机身模型”块计算配平条件op.并从鳍偏转中绘制收益δ阿兹

g =线性化('rct_airframe1''rct_airframe1 / airframe model', op);g.InputName ='三角洲';g.outputname = {'az'“问”};Bodemag(g),网格

注意,机身模型有一个不稳定的极点:

极(G)
ANS = -0.0320 -0.0255 0.1253 -29.4685

频域调整用loopopune

你可以使用looptune功能自动调谐多环控制系统,如积分动作,足够的稳定性边距和所需带宽等基本要求。申请looptune到自动驾驶仪模型,创建一个实例slTuner接口并指定Simulink块“AZ控制”和“Q增益”可调万博1manbetx。还指定了修剪条件op.正确地线性化机身动力学。

st0 = sltuner('rct_airframe1',{“阿兹控制”“问收获”},OP);

标记参考,控制和测量信号作为分析和调谐的兴趣点。

addPoint (ST0, {'az ref''delta fin''az'“问”});

最后,调整控制系统参数以满足1秒响应时间的要求。在频域,这大致相当于一个增益交叉频率厕所= 5 rad / s用于工厂输入“三角形鳍”的开环响应。

wc = 5;控制='delta fin';测量= {'az'“问”};[圣,gam,信息]= looptune (ST0、控制测量、wc);
最终:峰值增益= 1.01,迭代= 71

需求是标准化的,所以接近1的最终值意味着满足所有需求。通过图形验证设计来确认这一点。

数字('位置',[100,100,560,714])LoopView(ST,INFO)

第一个图确认了开环响应具有积分作用和期望的增益交叉频率,而第二个图显示MIMO稳定裕度是令人满意的(蓝色曲线应保持在黄色界限以下)。接下来检查step命令的响应azref垂直加速度阿兹

T = getIOTransfer(圣'az ref''az');图步骤(t,5)

加速度阿兹不跟踪azref尽管循环中存在积分器。这是因为反馈循环在两个变量上起作用阿兹我们没有指定应该追踪哪一个azref

添加跟踪要求

为了解决这个问题,添加一个明确的要求阿兹应该遵循步骤命令吗azref具有1秒的响应时间。还要放宽增益交叉要求对间隔[3,12],让调谐器找到适当的增益交叉频率。

TrackReq = TuningGoal.Tracking('az ref''az',1);ST = Looptune(ST0,控制,测量,[3,12],TrackReq);
最终:峰值增益= 1.23,迭代= 54

阶跃响应来自azref阿兹现在令人满意:

tr1 = getiotransfer(st,'az ref''az');步骤(tr1,5)网格

还通过在植物输入进入的干扰响应来检查干扰抑制特性

td1 = getiotransfer(st,'delta fin''az');Bodemag(TD1)网格

步骤(TD1,5)网格标题(“抗干扰”

showblockvalue.查看PI控制器的调谐值和内循环增益

showblockvalue(st)
AnalysisPoints_ = D = u1 u2 u3 u4 y1 1 0 0 0 0 y2 0 0 0 0 y3 0 0 0 y4 0 0 0 1----------------------------------- az_Control = 1 + Ki *——年代Kp = 0.00166, Ki = 0.0017名称:az_Control连续时间比例积分控制器并联形式。----------------------------------- q_Gain = D = 1.985 u1 y1名称:q_Gain静态增益。

如果这种设计令人满意,请使用writeblockvalue.要将调谐值应用于Simulink模型,并在Simulink中模拟调万博1manbetx谐控制器。

writeblockvalue(st)

MIMO设计与SYSTUNE

级联回路通常用于自动驾驶仪。然而,人们可能想知道,一个单一的MIMO控制器如何同时使用了这两种功能阿兹生成执行器命令三角洲鳍将与双循环架构进行比较。尝试新的控制体系结构很容易systune或者looptune.对于品种,我们现在使用systune调整以下MIMO架构。

Open_System(“rct_airframe2”

和前面一样,计算trim条件$ \ alpha = 0 $$ v = 984米/杆

opspec = operspec (“rct_airframe2”);%指定修剪条件%xe,ze:已知,不稳定opspec.states(1).known = [1; 1];opspec.states(1).steadystate = [0; 0];%U,W:已知,稳定opspec.states(3).known = [1 1];opspec.states(3).steadystate = [0 1];%theta:已知,不是稳定的opspec.states(2).known = 1;opspec.states(2).steadystate = 0;%问:未知,稳定opspec.states(4).known = 0;opspec.states(4).steadystate = 1;%控制器状态未知,不稳定opspec.states(5).steadystate = [0; 0];op = findop (“rct_airframe2”,opspec);
操作点搜索报告:---------------------------------------操作点搜索型号rct_airframe2的报告。(t=0时时变组件评估)工作点规范成功满足。州:---------(1.)rct_airframe2 /机身型号/空气动力学和运动/运动方程式(主体轴)/位置x:0 dx:984 x:-3.05e + 03 dx:0 (2.) rct_airframe2/Airframe Model/Aerodynamics & Equations of Motion/ Equations of Motion (Body Axes)/Theta x: 0 dx: -0.00972 (3.) rct_airframe2/Airframe Model/Aerodynamics & Equations of Motion/ Equations of Motion (Body Axes)/U,w x: 984 dx: 22.7 x: 0 dx: 2.46e-11 (0) (4.) rct_airframe2/Airframe Model/Aerodynamics & Equations of Motion/ Equations of Motion (Body Axes)/q x: -0.00972 dx: -1.72e-16 (0) (5.) rct_airframe2/MIMO Controller x: 0.000654 dx: -0.009 x: 3.76e-20 dx: 0.0303 Inputs: ---------- (1.) rct_airframe2/delta trim u: 0.000436 [-Inf Inf] Outputs: None ----------

和人一样looptune, 使用slTuner接口配置Simulink模型进行调谐。万博1manbetx注意,感兴趣的信号已经标记为Simulink模型中的线性分析点。万博1manbetx

st0 = sltuner(“rct_airframe2”'mimo controller', op);

尝试二阶MIMO控制器,零馈电e三角洲鳍.为此,创建所需的控制器参数化并将其与“MIMO控制器”块相关联setBlockParam

C0 =可调参数('C',2,1,2);%二阶控制器c0.d.value(1)= 0;%将D(1)固定为零C0.D.Free (1) = false;setBlockParam (ST0'mimo controller',c0)

接下来创建调整要求。在这里,我们使用以下四个要求:

  1. 追踪阿兹应该在1秒左右回复azref命令

  2. 带宽和碾轧:循环增益三角洲鳍在25 rad / s之后应该在-20 db / doadade斜坡后滚动

  3. 稳定的利润:利润率为三角洲鳍应超过7 dB和45度

  4. 抗干扰性:输入干扰的衰减因子应为40dB,在1 rad / s增加到100 dB,0.001 rad / s。

% 追踪Req1 = TuningGoal。跟踪('az ref''az',1);%带宽和滚减Req2 = TuningGoal。MaxLoopGain ('delta fin',tf(25,[1 0]));%的利润req3 = tuninggoal.margins('delta fin',7,45);%抗干扰性%使用FRD模型将所需的衰减曲线绘制几点freqs = [0 0.001 1];minatt = [100 100 40];DB中的%Req4 = TuningGoal。拒绝('delta fin'、朋友(db2mag (MinAtt)、频率));Req4。焦点= [0 1];

你现在可以使用systune调整通过这些要求的控制器参数。

Allreqs = [REQ1,REQ2,REQ3 REQ4];选择= systuneOptions('OrmyStart',3);RNG(0)[ST,FSOFT] = SYSTUNE(ST0,ALLREQS,OPT);
Final: Soft = 1.42, Hard = -Inf,迭代= 47 Final: Soft = 1.42, Hard = -Inf,迭代= 62 Final: Soft = 1.14, Hard = -Inf,迭代= 83 Final: Soft = 1.15, Hard = -Inf,迭代= 114

最佳设计具有接近1的整体目标值,表明所有四种要求都几乎满足。用viewGoal检查每个要求的最佳设计。

数字('位置',[100,100,987,474])ViewGoal(Allreqs,ST)

计算闭环响应并与双环设计进行比较。

t = getiotransfer(st,{'az ref''delta fin'},'az');图步骤(TR1,“b”T (1),“r”,5)标题('追踪') 传奇(“级联”2自由度的

步骤(Td1、“b”T (2),“r”,5)标题(“抗干扰”) 传奇(“级联”2自由度的

跟踪性能是相似的,但第二种设计具有更好的扰动抑制特性。

也可以看看

|

相关话题