システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

電気回路のアナロジー

制御工学の本を読んでいると、電気回路のアナロジーについて言及しているものがあります。 このアナロジーは並進運動・回転運動などの機械要素や流体要素の線形モデルが数学的に電気回路の数式モデルと類似していることからきています。 以下のようなものですね。

要素 電気回路 並進運動 回転運動 流体
アクロス変数 電圧 線速度 角速度 水頭 温度差
スルー変数 電流 トルク 流量 熱流量
比例 抵抗 ダンパー ダンパー 流動抵抗 熱抵抗
積分 コイル バネ ねじりバネ - -
微分 コンデンサ マス イナーシャ タンク 熱貯蔵物

アクロス変数はキルヒホッフの法則で言う「ノードで共通した値のもの」 スルー変数は「ノード入出の総和が0となるもの」になります。

ここまでは色々な本で言及されているのですが、では『実際に回転運動のネットワークを電気回路で近似する』といったことを解説しているものは少ないと思います。 下記『The Art of Control Engineering』に具体的な方法が掲載されていたので要約します。

The Art of Control Engineering

The Art of Control Engineering

  1. リファレンスノードを書く。リファレンスノードとは、アクロス変数(電圧、速度、温度など)がゼロのノード
  2. アクロス変数またはスルーー変数の)ジェネレーターを書く。例えば電圧のジェネレーターなら電池です。必ずとは限らないですが、多くの場合リファレンスノードにつながっています
  3. アクロス変数が同じグループで1つのノードを作る(アクロス変数の数だけ生まれる)。それらのノードを繋げていく
  4. 「3.」で結合していないノードが残っていた場合、それらをリファレンスノードに繋げる。

教科書と同じ実例で確認してみます。以下のようなダンパー・イナーシャ回転運動系で、回転速度ωiをインプットとして与え、ωoをアウトプットとして観測します。

f:id:Otepipi:20200412202034p:plain

1. リファレンスノードを書く

今回のは回転運動系なのでアクロス変数は回転速度です。 回転速度=0のリファレンスノードを書きます。

f:id:Otepipi:20200412202607p:plain

2.ジェネレーターを書く。

今回のインプットは回転速度ωiなので、アクロス変数のジェネレーターを使用します。 これをリファレンスノードに接続します。 f:id:Otepipi:20200412203030p:plain

3.グループのノードを繋げる。

 ダンパーのノードと、イナーシャのノードを用意して、これらをジェネレーターのノードと接続します。

f:id:Otepipi:20200412203611p:plain

4. 接続されていないノードをリファレンスノードに繋げる

 イナーシャの終端ノードをリファレンスノードに繋げます。これには疑問があるかと思います。イナーシャは剛性体なので、イナーシャの終端の速度もイナーシャの速度ωoに等しいはずで、ゼロではないからです。ただ、教科書によるとイナーシャは「リファレンスノードに対して」の相対速度で運動していることから、リファレンスノードに接続することは妥当なようです。

また、最後にスロー変数であるトルクも付記しておきます。

f:id:Otepipi:20200412204646p:plain

5.最後に電気回路要素へ変換

ダンパー、イナーシャを電気回路要素に変換します。 ダンパーと対になる電気回路要素は抵抗です。またイナーシャに対してはコンデンサーになります。

f:id:Otepipi:20200412204905p:plain

これで電気回路への等価変換は完了です。 あとは過渡応答など電気回路と同じ計算方法で求めることができるようになります。

アナロジーの限界

上記電気回路への等価回路変換ですが、熱や流体では上手くいきません。 熱流量・流体流量は実際にはキルヒホッフの法則「ノードの前後で総和が0(=滞留なし)」を実現できないためです。 定常状態であれば可能なのですが、非定常状態での等価回路制作は今の所失敗しております。

今回はここまでにします。