主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

HL-20型の自動操縦を調整するための MATLAB软件ワークフロー

これは、HL-20型機体用の飛行制御システムの設計と調整に関する例のシリーズのパート 5.です。このパートでは、金宝app模拟モデルを使わずに設計の大部分を MATLAB软件で実行する方法を説明します。

背景

この例では美国航天局HL-20升降机身(航空区块集)から応用した HL-20型モデルを使用します。詳細については、シリーズのパート 1 (HL-20型機体の平衡化と線形化) を参照してください。航空機の姿勢を制御する自動操縦には 3.つの内側のループと 3.つの外側のループが含まれます。

パート 2 (HL-20型の自動操縦における角速度の制御) およびパート 3 (HL-20型の自動操縦の姿勢制御 - 西索設計) では、内側のループを閉じて外側のループのゲイン スケジュールを調整する方法を示しました。これらの例では单反调谐器インターフェイスを使用して 金宝app模拟モデルを操作し、線形化モデルと制御システム応答を取得し、調整後の値を 模拟にプッシュで戻しました。

単純なアーキテクチャと高速の設計反復を扱う場合、線形化モデルを MATLAB软件で操作して反馈などの基本的なコマンドを使ってループを閉じる方が好ましく、概念的にも簡単なことがあります。この例では、パート 2.と 3.の設計手順を MATLAB软件で実行する方法を説明します。

プラント モデルの取得

自動操縦を調整するには、偏向角から角度位置および角速度への伝達関数の線形化モデルが必要です。そのためには、"平衡化と線形化" の手順 (HL-20型機体の平衡化と線形化を参照) の結果から作業を開始します。七国集团が 40の異なる (α,β)条件における機体の 7.状態線形モデルであり、反恐精英が 控制选择器ブロックの線形化であることを思い出してください。

负载csthl20\U微调数据七国集团反恐精英

输入/输出選択の基準として金宝app 模拟モデル "csthl20“微调”を使用し、七国集团反恐精英を直列に接続して目的のプラント モデルを作成します。功率因数、α、βをラジアンから度単位に変換することを忘れないでください。

r2d=180/pi;G=诊断([1 1 r2d r2d r2d])*G7([4:7 31:32],1:6)*CS(:,1:3);G.输入名称={“爸爸”,“德”,'医生'}; G.OutputName={“p”,“q”,“r”,'功率因数','阿尔法度','贝塔度'}; 尺寸(G)
8x5状态空间模型数组。每个模型有6个输出、3个输入和7个状态。

これにより、平衡化に使用される (α,β)条件の 8.行 5.列のグリッドにわたるプラント モデルの配列が得られます。

内側のループを閉じる

内側のループを閉じるには、パート 2 (HL-20型の自動操縦における角速度の制御) と同じ手順に従います。ゲイン Kp、Kq、Krを選択して、p、 q、rループの交差周波数をそれぞれ 30、22.5、37.5 rad/sに設定してこれを行います。

%计算每个(α,β)条件的Kp,Kq,Kr。Gpqr=克({“p”,“q”,“r”},:); Kp=1./abs(evalfr(Gpqr(1,1),30i));Kq=-1./abs(evalfr(Gpqr(2,2),22.5i));Kr=-1./abs(evalfr(Gpqr(3,3),37.5i));bode(Gpqr(1,1)*Kp,Gpqr(2,2)*Kq,Gpqr(3,3)*Kr,{1e-1,1e3}),网格图例('从da到p','从de到q','dr到r')

反馈を使用して 3.つの内側のループを閉じます。プラント入力 da、de、drに、後で安定余裕を評価するための解析ポイントを挿入します。

Cpqr=附加(ss(Kp)、ss(Kq)、ss(Kr));APu=分析点(“u”,3); APu位置={“爸爸”,“德”,'医生'}; Gpos=反馈(G*APu*Cpqr,眼睛(3),1:3,1:3);Gpos.InputName={'p\ U需求','q\ U需求','需求'}; 大小(GPO)
8x5广义状态空间模型数组。每个模型有6个输出、3个输入、7个状态和1个块。

これらのコマンドは、さまざまな (α,β)条件に対応するプラントとゲインの配列を扱っているという点をシームレスに管理していることに注意してください。

外側のループの調整

次に外側のループに移動します。外側のループが認識する "プラント" の線形モデルの配列GPO公司は既に取得済みです。パート 3 (HL-20型の自動操縦の姿勢制御 - 西索設計) で行ったように、6.つのゲイン スケジュールを 阿尔法と 贝塔の多項式曲面としてパラメーター化します。再び比例ゲインに 2.次曲面を使用し、積分ゲインに多重線形曲面を使用します。

%(α,β)设计点网格阿尔法向量=-10:5:25;%阿尔法射程β=10:5:10;%β范围[α,β]=ndgrid(α向量,β向量);SG=结构(“阿尔法”,阿尔法,'测试版',β);%比例增益alphabetaBasis=多基(“规范的”,2,2); P_PHI=可调表面(“Pphi”,0.05,SG,αβ);P_α=可调表面(“帕尔帕”,0.05,SG,αβ);P_β=可调表面(“Pbeta”,-0.05,SG,αβ基);%积分增益alphaBasis=@(alpha)alpha;β=@(β)abs(β);alphabetaBasis=ndBasis(alphaBasis,betaBasis);I_PHI=可调表面('伊菲',0.05,SG,αβ);I_ALPHA=可调表面(“艾尔帕”,0.05,SG,αβ);I_BETA=可调表面(“伊贝塔”,-0.05,SG,αβ基);

外側のループの全体のコントローラーは 3.行 3.列の対角 圆周率コントローラーで、角度位置 功率因数、α、βの誤差を受け取って速度要求 p\需求、q\需求、r\需求を計算します。

KP=附加(P_PHI,P_ALPHA,P_BETA);KI=附加(I_PHI,I_ALPHA,I_BETA);Cpos=KP+KI*tf(1,[10]);

最後に反馈を使用して、外側のループの調整可能な閉ループ モデルを取得します。調整と閉ループの解析を有効にするには、プラント出力に解析ポイントを挿入します。

RollOffFilter=tf(10,[110]);APy=分析点('是',3); APy位置={'功率因数','阿尔法度','贝塔度'}; T0=反馈(APy*GPO(4:6,:)*RollOffFilter*CPO,eye(3));T0.InputName={'功率因数需求','阿尔法需求','贝塔需求'}; T0.OutputName={'功率因数','阿尔法度','贝塔度'};

初期のゲイン曲面設定 (定数ゲイン 0.05) での閉ループ応答をプロットできます。

步骤(T0,6)

調整目標

パート 3 (HL-20型の自動操縦の姿勢制御 - 西索設計) と同じ調整目標を使用します。これには外側のループのゲイン交差を 0.5~5 rad/sの間に設定する "“最小增益”および "“最大增益”の目標が含まれます。

R1=TuningGoal.MinLoopGain({'功率因数','阿尔法度','贝塔度'},0.5,1); R1.1缩放='关闭'; R2=TuningGoal.MaxLoopGain({'功率因数','阿尔法度','贝塔度'},tf(50,[110]);R2.1缩放='关闭';

また、各ループ内およびループ間に適切な安定余裕を課す可変目標 "“边距”も含まれます。

%利润率vs(α,β)GM=[...6 6 6 6 6 6 6 7 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 7 6 6 6 6 6 6 6];%相位裕度vs(α,β)PM=[...40 40 40 40 40 40 40 45 40 40 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 40 40 45 40 40 40 40 40 40 40];%创建不同的目标FH=@(gm,pm)调整目标.利润率({“爸爸”,“德”,'医生'},总经理,项目经理);R3=可变目标(FH、GM、PM);

ゲイン スケジュール調整

これで、系统を使用して 6.つのゲイン曲面を 40の設計点すべてで調整目標に対し整形できます。

T=系统调谐(T0,[R1 R2 R3]);
最终:Soft=1.03,Hard=-Inf,Iterations=51

最終目的値は 1.に近いので、調整目標は実質的に満たされます。閉ループの角度応答をプロットして初期設定と比較します。

步骤(T0,T,6)图例('基线','调谐','位置','东南')

結果はパート 2.と 3.で取得したものと一致します。調整後のゲイン曲面も類似しています。

clf公司%注:setBlockValue用T中的调谐系数更新每个增益面子图(3,2,1)、viewSurf(setBlockValue(P\u PHI,T))子图(3,2,3)、viewSurf(setBlockValue(P\u ALPHA,T))子图(3,2,5)、viewSurf(setBlockValue(P\u BETA,T))子图(3,2,2)、viewSurf(setBlockValue(I\u PHI,T))子图(3,2,4)、viewSurf(setBlockValue(I\u ALPHA,T))子图(3,2,6)、viewSurf(setBlockValue(I\u BETA,T))

ここで、评估曲面を使用してゲイン曲面をサンプリングし、金宝app模拟モデルのルックアップ テーブルを更新することができます。また、编码基因メソッドを使ってゲイン曲面方程式のコードを生成することもできます。次に例を示します。

%为“P phi”块生成代码MCODE=codegen(setBlockValue(P_PHI,T));%获取“I phi”查找表的优化值Kphi=评估曲线(setBlockValue(I_PHI,T),αvec,βvec);

参考

関連するトピック