主要内容

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

柔軟ビームの振動制御

この例では,柔軟ビームの振動を低減するためにコントローラーを調整する方法を説明します。

柔軟ビームのモデル

図1は柔軟ビームのアクティブな振動制御システムを示しています。

図1:柔軟ビームのアクティブ制御

この設定では、力你美元を提供するアクチュエータと速度センサーが併置されています。有限要素解析を使用して,制御入力你美元から速度$y$への伝達関数をモデル化できます。最初の6つのモードのみを維持して,次の形式のプラントモデルを取得します。

$$G(s)=\sum{i=1}^6\frac{\alpha{i^2 s}{s^2+2\xi w_i s+w_i^2}$$

この場合,次のパラメーター値を使用します。

%的参数席=0.05;阿尔法=[0.09877,-0.309,-0.891,0.5878,0.7071,-0.8091];w=[1,4,9,16,25,36];

$G(s)$の結果のビームモデルは次の式で表されます。

%梁模型G = tf(alpha(1)^2*[1,0],[1,2 *xi*w(1), w(1)^2]) +...Tf (alpha(2)^2*[1,0],[1,2 *xi*w(2), w(2)^2)) +...f(α (3)^2*[1,0],[1,2 *xi*w(3), w(3)^2]) +...Tf (alpha(4)^2*[1,0],[1,2 *xi*w(4), w(4)^2]) +...Tf (alpha(5)^2*[1,0],[1,2 *xi*w(5), w(5)^2]) +...特遣部队(α(6)^ 2 *(1,0),(1、2 * 11 * w (6), w (6) ^ 2]);G.InputName =uG的;G.输出名称=“y”

このセンサーとアクチュエータの構成では、ビームは次の受動システムになります。

isPassive(G)
逻辑1

これは,$G$のナイキスト線図が正の実数であることを観測して確認されます。

尼奎斯特(G)

LQGコントローラー

LQG制御は,アクティブ振動制御の自然な形式です。LQG制御の設定を図2に示します。信号$ d $およびn美元は,それぞれプロセスノイズと測定ノイズです。

図2:LQG制御構造

まずlqgを使用して、次の目的に最適な LQGコントローラーを計算します。

$ $ J = \ lim_ E {T \ rightarrow \ infty} \离开(\ int_0 ^ T (y ^ 2 (T) + 0.001 & # xA; u ^ 2 (T) dt \右)$ $

ここでは、次のノイズ分散を使用します。

$ E(d^2(t)) = 1,\四E(n^2(t)) = 0.01$$

[a, b, c, d] = ssdata (G);M = [c d; 0 (1,12) 1];% [y;u] = M * [x;u]QWV = blkdiag (b * b ', 1依照);QXU = M'*diag([1 1e-3])*M;CLQG = lqg (ss (G)、QXU QWV);

LQG最適コントローラーCLQGは12の状態と,ノッチとなる複数の零点をもつ複雑なコントローラーです。

大小(CLQG)
状态空间模型,有1个输出,1个输入,12个状态。
波德(G, CLQG{1飞行,1 e3}),网格,传说(‘G’“CLQG”

汎用の調整器systuneを使用してこのコントローラーの簡略化を試行します。systuneでは、最大次数のコントローラーに制限されることはなく、どの次数のコントローラーでも調整できます。この例では、2.次状態空間コントローラーを調整します。

C=ltiblock.ss(“C”、2、1、1);

図2のブロック線図の閉ループモデルを構築します。

C.InputName =“yn”;C.输出名称=“u”;S1 = sumblk ('yn = y + n');S2 = sumblk (‘uG=u+d’);CL0 =连接(G、C、S1, S2, {' d '“不”},{“y”“u”},{“yn”“u”});

上記のLQG基準$ J $を単独の調整目標として使用します。LQG調整目標では、性能の重みとノイズ共分散を直接指定できます。

R1 = TuningGoal。LQG ({' d '“不”},{“y”“u”},诊断接头([1,1依照]),诊断接头([1 1 e - 3]));

次に,コントローラーCを調整して LQG目的$ J $を最小化します。

[CL1, j - 1] = systune (CL0 R1);
Final: Soft = 0.478, Hard = -Inf, Iterations = 41

オプティマイザーがJ = 0.478美元の2次コントローラーを検出しました。CLQGの最適な$ J $値と比較します。

[~,Jopt]=evalGoal(R1,replaceBlock(CL0,“C”, CLQG))
Jopt = 0.4673

性能低下は5%未満で,コントローラーの複雑度を12から2状態へ低減しました。さらに2つのコントローラーの$ d $から$y$へのインパルス応答を比較します。2つの応答はほぼ同じです。したがって,シンプルな 2 次コントローラーで最適に近い振動減衰を得ることができます。

T0 =反馈(G, CLQG, + 1);T1 = getIOTransfer (CL1,' d '“y”);冲动(T0, T1, 5)标题(‘对脉冲干扰的响应’)传说(“LQG最优”“二阶LQG”

受動 LQGコントローラー

ビームの近似モデルを使用してこれら2つのコントローラーを設計しました。推測的に,これらのコントローラーが実際のビームで良好に動作するという保証はありません。ただし,ビームは受動物理システムであり,受動システムの負のフィードバック相互接続は常に安定することはわかっています。したがって,- c (s)美元が受動的である場合,閉ループシステムが安定することは確信できます。

最適なLQGコントローラーは受動ではありません。実際、1-CLQG美元は最小位相ですらないため,その相対受動インデックスは無限です。

getPassiveIndex(-CLQG)
ans =正

これはナイキスト線図によって確認されます。

尼奎斯特(-CLQG)

systuneを使用すると,- c (s)美元が受動的でなければならないという追加の要件によって2次コントローラーを再調整できます。これを行うには,ynからuへの開ループ伝達関数($C(s)$)に対する受動性調整目標を作成します。“WeightedPassivity”目標を使用してマイナス記号を考慮します。

R2 = TuningGoal。WeightedPassivity ({“yn”},{“u”},-1,1);R2.开口=“u”

今度は閉ループモデルCL1を再調整して,- c (s)美元を受動にすることを条件にLQG目的$ J $を最小化します。ここでは受動性目標R2が厳密な制約として指定されていることに注意してください。

(这有点难度,J2, g) = systune (CL1、R1、R2);
Final:软= 0.478,硬= 1,迭代= 36

調整器は前と同様に$ J $値を達成し、受動性を適用します (1 未満という厳密な制約)。- c (s)美元が受動的であることを確認します。

C2 = getBlockValue(这有点难度,“C”);被动地块(-C2)

LQG最適コントローラーの改善が最もよく確認できるのは,ナイキスト線図です。

尼奎斯特(-CLQG c2)传说(“LQG最优”“二阶无源LQG”

最後に,$ d $から$y$へのインパルス応答を比較します。

T2 = getIOTransfer(这有点难度,' d '“y”);冲动(T0, T2, 5)标题(‘对脉冲干扰的响应’)传说(“LQG最优”“二阶无源LQG”

systuneを使用して,ほぼ最適なLQG性能の2次受動コントローラーを設計しました。

参考

||

関連するトピック