主要内容

ゲンスケジュル3ルプ自動操縦の調整

この例では,systuneを使用して,3ルプ自動操縦向けの滑らかなゲンスケジュルを生成します。

機体モデルおよび3ルプ自動操縦

この例では,機体のピッチ軸ダaaplナミクスの3自由度のモデルを使用します。状態には,地球座標(X_e Z_e)美元、機体座標(u, w)美元,ピッチ角度\θ美元,ピッチレ,ト$q = \dot\theta$があります。次の図では,慣性座標系および機体座標系,飛行経路の角度\伽马美元、入射角\α美元,ピッチ角\θ美元の関係をまとめています。

飛行経路の角度\伽马美元を制御するために,従来の3ル,プ自動操縦構造を使用します。この自動操縦は,法線加速度a_z美元w美元に沿った加速度)の適切なバ,ストを加えることで飛行経路を調整します。この法線加速度は,昇降舵の偏向角\三角洲美元の調整によりピッチングを引き起こし,上昇量を変化させることで生成されます。自動操縦は,ピッチレ,トル,プ问美元で比例-積分(pi)制御を使用し,a_z美元ル,プおよび\伽马美元ル,プで比例制御を使用します。閉ル,プシステム(機体および自動操縦)は,Sim万博1manbetxulinkでモデル化されます。

open_system (“rct_airframeGS”

自動操縦ゲ▪▪ンスケジュ▪▪リング

機体のダesc escナミクスは非線形であり,空力は速度五美元に,モ,メントは入射角\α美元に依存します。(\α,V)美元飛行エンベロープ全体で適切な性能を得るには,自動操縦ゲインは,プラントダイナミクスでの変更を補正するために\α美元および五美元の関数として調整されなければなりません。この調整プロセスは"ゲンスケジュリング"と呼ばれ,$ \α,V $はスケジュ,リング変数と呼ばれます。万博1manbetxSimulinkモデルでは,ゲ,ンスケジュ,ルは\α美元および五美元の測定によって決定されるルックアップテ,ブルとして実装されています。

ゲ▪▪ンスケジュ▪リングは非線形プラントまたは時変プラントの制御のための線形手法の1▪▪です。考え方は,さまざまな操作条件においてプラントの線形近似を計算し,各操作条件においてコントローラーゲインを調整して,操作中に操作条件の関数としてゲインを入れ替える,ということです。従来のゲ▪▪ンスケジュ▪リングには,次の主要な手順が3▪▪あります。

  1. 各操作条件でのプラントの平衡化と線形化

  2. 各操作条件での線形ダナミクスのコントロラゲンの調整

  3. 操作条件間の滑らかな遷移を行うためのゲ@ @ン値の調整

この例では,$ \α,V $で自動操縦ゲインを1次多項式としてパラメーター化し,飛行エンベロープ全体の多項式係数を直接調整することで,手順2と3を組み合わせます。この方法により手順3がなくなり,ゲv3ンの変動は\α美元および五美元の関数として滑らかになることが保証されます。さらに,ゲsystuneで自動的に調整できます。

平衡化と線形化

入射角\α美元は-20 ~ 20度の間で変動し,速度五美元は700 ~ 1400 m/sの間で変動すると仮定します。重力を無視すると,機体のダ\α美元において対称です。したがって,\α美元の正の値のみを考察します。線形に等間隔な(\α,V)美元ペアの5行9列のグリッドを使用して,飛行エンベロプをカバします。

nA = 5;alpha值的百分比nV = 9;V值的百分比[alpha,V] = ndgrid(linspace(0,20,nA)*pi/180,linspace(700,1400,nV));

各飛行条件(\α,V)美元に対して,平衡点における機体のダイナミクスを線形化します(法線加速度とピッチのモーメントが0)。そのためには,w美元および问美元が定常値となる昇降舵の偏向角\三角洲美元およびピッチレ,ト问美元を計算する必要があります。これを行うには,最初に機体モデルを別のS万博1manbetximulinkモデルに分離します。

mdl =“rct_airframeTRIM”;open_system (mdl)

operspecを使用して平衡化条件を指定し,findopを使用して\三角洲美元および问美元の平衡値を計算して,結果の操作点で機体のダ。詳細にいては,機体の平衡化と線形化(万博1manbetxSimulink控制设计)を参照してください。以上の手順を,45の飛行条件(\α,V)美元にいて繰り返します。

(\α,V)美元ペアに対する平衡化条件を計算します。

ct=1:nA*nV alpha_ini = alpha(ct);发生率[rad]v_ini = V(ct);%速度[m/s]指定配平条件Opspec (ct) = operspec(mdl);Xe,Ze:已知,不稳定opspec (ct) .States(1)。已知= [1;1];opspec (ct) .States(1)。SteadyState = [0;0];% u,w:已知,w稳定opspec (ct) .States(3)。已知= [1 1];opspec (ct) .States(3)。SteadyState = [0 1];% theta:已知,不稳定opspec (ct) .States(2)。已知= 1;opspec (ct) .States(2)。SteadyState = 0;% q:未知,稳定opspec (ct) .States(4)。已知= 0;opspec (ct) .States(4)。SteadyState = 1;结束opspec =重塑(opspec,[nA nV]);

与えられた仕様のモデルを平衡化します。

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

平衡化条件でモデルを線形化します。

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

このプロセスにより,45の飛行条件(\α,V)美元で線形化されたプラントモデルの5行9列の配列が生成されます。プラントのダ▪▪ナミクスは飛行エンベロ▪▪プ内で大きく変動します。

σ(G)标题(“机体动力学的变化”

調整可能なゲ@ @ン曲面

自動操縦には,\α美元および五美元の関数として"スケジュ,ル"(調整)される4のゲン$K_p K_i K_a K_g$があります。実質的に,これは対応する4つのルックアップテーブルのそれぞれの88個の値を調整することになります。各テ,ブルのエントリを別々に調整するよりも,ゲ,ンを,たとえば,\α美元および五美元に対して単純な多重線形の依存性をも曲面といった2次元のゲ。

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

これにより,各ルックアップテブルにいて変数の数が88個から4個に減ります。tunableSurfaceオブジェクトを使用して,各ゲン曲面をパラメタ化します。次の点に注意してください。

  • TuningGridは“調整グリッド”(設計点)を指定。このグリッドは,線形化に使用されるグリッドと一致する必要がありますが,ルックアップテーブルのブレークポイントと一致する必要はありません。

  • ShapeFcnは,曲面パラメ,タ,化(\α美元五美元,および$ \αV $)の基底関数を指定

各曲面は,\α美元= 10度および五美元= 1050 m/s(中間の範囲の設計)の調整結果を使用して,定数ゲ

TuningGrid = struct(“α”α,“V”, V);ShapeFcn = @(alpha,V) [alpha,V,alpha*V];Kp =可调谐表面(“金伯利进程”0.1、TuningGrid ShapeFcn);Ki =可调谐表面(“吻”2 TuningGrid ShapeFcn);Ka =可调谐表面(“咔”0.001、TuningGrid ShapeFcn);Kg =可调表面(“公斤”、-1000、TuningGrid ShapeFcn);

次にゲ@ @ン曲面の調整のためにslTuner@ @ @ @ @ @ @ @ @ @ @ @ @ @。ブロック置換を使用して、非線形プラント モデルを調整グリッド上で線形化されたモデルで置き換えます。setBlockParamを使用して,調整可能なゲKpKi公斤を同名の插值ブロックに関連付けます。

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

自動操縦の調整

systuneは飛行エンベロプ全体のゲン曲面係数を自動的に調整できます。TuningGoalオブジェクトを使用して,性能目的を指定します。

  • \伽马美元ループ:1秒の応答時間,2%未満の定常偏差および30%未満のピーク偏差の設定点を追従します。

Req1 = TuningGoal。跟踪(“gamma_ref”“伽马”1、0.02、1.3);viewGoal (Req1)

  • a_z美元ループ:低周波数で(加速度の要求の追従のため),そして10 rad / sを超えた時点での(測定ノイズの影響を受けないようにするため)良好な外乱の抑制を確保します。外乱はaz_refの位置で加えられます。

RejectionProfile = frd([0.02 0.02 1.2 1.2 0.1],[0 0.02 2 15 150]);Req2 = TuningGoal。获得(“az_ref”“阿兹”, RejectionProfile);viewGoal (Req2)

  • 问美元ル,プ:最大10 rad/sの良好な外乱の抑制を確保します。外乱はプラント入力δで加えられます。

Req3 =调优目标。获得(“δ”“阿兹”,600*tf([0.25 0],[0.25 1]);viewGoal (Req3)

  • 過渡状態:発振のない過渡状態にいては0.35の最小阻尼比を確保します。

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

systune45岁的を使用しての飛行条件すべてでこれらの性能要件が最もよく満たされるように,16のゲイン曲面係数を調整します。

ST = systune(ST0,[Req1 Req2 Req3 Req4]);
最终:软= 1.13,硬= -Inf,迭代= 57

結合された目的の最終値は1に近く,すべての要件がほぼ満たされていることを示します。結果のゲ@ @ン曲面を可視化します。

获得调谐增益曲面。TGS = getBlockParam(ST);绘制增益曲面。clf subplot(2,2,1) viewSurf(TGS.Kp) title(“金伯利进程”) subplot(2,2,2) viewSurf(TGS.Ki)“吻”) subplot(2,2,3) viewSurf(TGS.Ka)“咔”) subplot(2,2,4) viewSurf(TGS.Kg)“公斤”

検証

最初に,上記で考慮した45の飛行条件で調整された自動操縦を検証します。飛行経路の角度のステップ変化への応答および昇降舵の偏向でのステップ外乱への応答をプロットします。

clf subplot(2,1,1) step(getIOTransfer(ST,“gamma_ref”“伽马”),5)网格标题(“跟踪飞行轨迹角度的阶跃变化”) subplot(2,1,2) step(getIOTransfer(ST,“δ”“阿兹”),3)网格标题(“拒绝植物输入的阶跃干扰”

すべての飛行条件で満足のいく応答です。次に,非線形機体モデルに対して自動操縦を検証します。まずwriteBlockValueを使用して調整結果をS万博1manbetximulinkモデルに適用します。これにより2つのPrelookupブロックで指定されたブレークポイントでゲイン曲面の公式が評価され,結果が対応する插值ブロックに書き込まれます。

writeBlockValue (ST)

飛行エンベロ,プの大きな部分を介して機体を導く操縦に対する自動操縦の性能をシミュレ,トします。次のコードは,万博1manbetx仿真软件モデルで[実行]ボタンを押して,范围ブロックでの応答を検査することと同じです。

指定初始条件。H_ini = 1000;Alpha_ini = 0;V_ini = 700;模拟模型。SimOut = sim(“rct_airframeGS”“ReturnWorkspaceOutputs”“上”);提取模拟数据。SimData = get(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 subplot(2,1,1) plot(t,Sim_gamma.Values.Data(:,1),“r——”t Sim_gamma.Values.Data (:, 2),“b”)网格图例(“吩咐”“实际”“位置”“东南”)标题(飞行轨迹角\gamma(以度为单位)) subplot(2,1,2) plot(t,Sim_delta.Values.Data)网格标题(“电梯偏转\delta度”

subplot(2,1,1) plot(t,Sim_alpha.Values.Data)“以度为单位的发生率”) subplot(2,1,2) plot(t,Sim_V.Values.Data)网格标题(速度V,单位为m/s

subplot(2,1,1) plot(t,Sim_h.Values.Data)“高度h(米)”) subplot(2,1,2) plot(t,Sim_az.Values.Data)网格标题(法向加速度a_z in g' s

飛行経路角プロファesc escルの追従は,操縦全体で引き続き良好です。入射角\α美元および速度五美元の変動は,ここで考慮される飛行エンベロ,プの大部分をカバ,することに注意してください(\α美元にいては[-20,20]度,五美元にいては[700,1400])。自動操縦は,3000のノミナル高度で調整されたものですが,1000から10000への高度変更に対応して良好に動作します。

非線形シミュレーションの結果により,ゲインスケジュール自動操縦は飛行エンベロープ全体で常にすぐれた性能を発揮することが確認されます。”“ゲイン曲面調整手順によって,スケジューリング変数に対するゲイン依存関係についての簡単で明示的な式が得られます。ルックアップテーブルを使用せずに,これらの式をさらにメモリ効率が高いハードウェア実装に直接使用できます。

参考

(万博1manbetxSimulink控制设计)||(万博1manbetxSimulink控制设计)

関連する例

詳細