メインコンテンツ

Enabled Subsystem を使用した制御アルゴリズムの実装

この例では、Enabled Subsystem を使用してバイナリ論理信号に基づく制御アルゴリズムを実装する方法を示します。Enabled Subsystem は、バイナリ信号が正の値であり制御アルゴリズムを実装する場合に実行されます。この例では、スーパーツイスティング制御アルゴリズムを使用して、不安定な動的システムを安定させます。スーパーツイスティング アルゴリズムは、ロバスト性能でよく知られているスライディング モード制御手法の 1 つです。

モデルを開きます。

mdl = "enablesub.slx";
open_system(mdl)

Enabled subsystem that implements super-twisting algorithm.

動的システム

検討対象の動的システムは、次の方程式で制御されます。

x˙1=x2x˙2=2x1-3x2+u+d(t)

u は制御入力、d(t) は外乱です。

コントローラーと制御信号

制御入力 (u) には、スーパーツイスティング アルゴリズムによって制御される u1u2 の 2 つの成分があります。u2 に関する次のロジックベースの設計が Enabled Subsystem を使用して実装されます。

u(t)=u1+u2

u˙1=γsign(σ)

u21=-λ|μ|ρsign(σ)for|σ|>μ

u22=-λ|σ|ρsign(σ)for|σ|μ

u=u21+u22

σ=x1+x2γ=2,λ=0.8,μ=0.55, および ρ=0.6 です。これらのパラメーターはモデルのコールバック パラメーター [PreLoadFcn] から読み込まれます。

Implement super twisting logic 1.

Implement super twisting logic 2.

シミュレーションの実行と結果の可視化

シミュレーションを実行し、Scope ブロックと Simulink データ インスペクターを使用して結果を可視化します。

out = sim(mdl);

コントローラー入力の可視化

Simulink データ インスペクターに、バイナリ信号に基づくサブシステム出力が表示されます。出力 u21 および u22 は、コントローラー ゲイン u2 の 2 つの成分です。

  • u21 を含むサブシステムは、0 秒から 1.8 秒の間と、3 秒から 5 秒の間にイネーブルになります。

  • u22 を含むサブシステムは、1.8 秒から 3 秒の間と、5 秒から 15 秒の間にイネーブルになります。

Enabled subsystem output shows the components u21 and u22 of the control signal u2.

状態の出力

状態の出力から、コントローラーによってシステムが安定していることがわかります。

The Scope block shows state outputs.

参考

| | | |

トピック

参照

[1] Shtessel, Yuri, Christopher Edwards, Leonid Fridman, and Arie Levant. "Sliding mode control and observation." Vol. 10. New York: Springer New York, 2014. https://link.springer.com/book/10.1007/978-0-8176-4893-0