コンテンツにスキップ

コントローラについて

コントローラについて取り扱っているチュートリアル

controller

全てのコントローラクラスの基底クラス.

抽象変数

  • idx_input:コントローラの出力信号,システムへの入力信号が印加されるバスの番号(ベクトル)
  • idx_observe:コントローラが観測できるバスの番号(ベクトル)
  • idx:idx_inputとidx_observeを並べたベクトル

メンバ変数

  • get_dx_u_func
    • 無名関数(各インスタンスでget_dx_uなどを指定する)

抽象メソッド

  • [dx, u] = get_dx_u(obj, t, x, X, V, I, U_global)
    コントローラの状態の微分と出力信号(システムへの入力信号)を取得するためのメソッド
    controller クラスの派生クラスにて実装する
    • 入力変数 t:時刻
    • 入力引数 x:コントローラのの状態(ベクトル)
    • 入力引数 X:各バスに接続された機器の状態(セル配列)
    • 入力引数 V:各バスの電圧(2*bus数 の行列)
    • 入力引数 I:各バスの電流(2*bus数 の行列)
    • 入力引数 U_global
      グローバルコントローラによって各バスに印加される入力信号(セル配列)
      add_controller_grobalで追加されるコントローラ(グローバルコントローラ)では空配列.
    • 出力引数 dx:コントローラの状態の微分(ベクトル)
    • 出力引数u:コントローラの出力信号,システムへの入力信号(ベクトル)
  • nx = get_nx(obj) コントローラの状態変数の次元を取得するためのメソッド
    controller クラスの派生クラスにて実装する
    • 出力引数nx:コントローラの状態変数の次元

小クラスで実装すべきメソッド

  • [A, BX, BV, BI, Bu, C, DX, DV, DI, Du] = get_linear_matrix(obj)
    線形化したコントローラを取得するためのメソッドで を満たす行列を返す

    • A:コントローラのA行列
    • BX:コントローラのB行列(観測するバスの状態をスタックしたベクトルに関する)
    • BV:コントローラのB行列(全てのバスの電圧をスタックしたベクトルに関する)
    • BI:コントローラのB行列(全てのバスの電流をスタックしたベクトルに関する)
    • Bu:コントローラのB行列(グローバルコントローラが生成する全てのバスへの入力信号をスタックしたベクトルに関する)
    • C:コントローラのC行列
    • DX:コントローラのD行列(観測するバスの状態ベクトルに関する)
    • DV:コントローラのD行列(全てのバスの電圧をスタックしたベクトルに関する)
    • DI:コントローラのD行列(全てのバスの電流をスタックしたベクトルに関する)
    • Du:コントローラのD行列(グローバルコントローラが生成する全てのバスへの入力信号をスタックしたベクトルに関する)
  • [dx, u] = get_dx_u_linear(obj, t, x, X, V, U_global)
    線形化したコントローラの状態変数の微分と入力を取得するための関数.

    • 入力変数 t:時刻
    • 入力引数 x:コントローラのの状態(ベクトル)
    • 入力引数 X:各バスに接続された機器の状態(セル配列)
    • 入力引数 V:各バスの電圧(2*bus数 の行列)
    • 入力引数 I:各バスの電流(2*bus数 の行列)
    • 入力引数 U_global
      グローバルコントローラによって各バスに印加される入力信号(セル配列)
      add_controller_grobalで追加されるコントローラ(グローバルコントローラ)では空配列.
    • 出力引数 dx:コントローラの状態の微分(ベクトル)
    • 出力引数u:コントローラの出力信号,システムへの入力信号(ベクトル)

controller_broadcast_PI_AGC

ブロードキャストコントローラ(PIコントローラ)の実装( controller クラスの派生クラス)
発電機としてgenerator_1axisを想定している.

メンバ変数

  • idx_observe:コントローラが観測できるバスの番号(ベクトル)
  • idx_input:コントローラの出力信号,システムへの入力信号が印加されるバスの番号(ベクトル)
  • net:コントローラを追加する予定のネットワークのインスタンス( power_network クラス)
  • Kp:PIコントローラのPゲイン
  • Ki:PIコントローラのPゲイン
  • K_broadcast:各発電機に対する比例ゲイン(全て1)

コンストラクタメソッド の使用方法

obj = controller_broadcast_PI_AGC(net, y_idx, u_idx, Kp, Ki)

  • 入力引数net
    コントローラを追加する予定のネットワークのインスタンス( power_network クラス)
    詳細は電力系統モデルの定義を参照のこと.
  • 入力引数y_idx
    出力を観測するバスの番号.
  • 入力引数u_idx
    入力を印加するバスの番号.
  • 入力引数Kp Ki
    コントローラのPIゲイン.