会員メニュー Member’s menu

  1. トップ
  2. 会員ページ
  3. 連載 制御工学
  4. 第46回 制御系のディジタルシミュレーション

連載 制御工学Control Engineering

第46回 制御系のディジタルシミュレーション

線形システムのディジタルシミュレーションはシステムを式(2.29c)の状態方程式
で記述し、この方程式を数値計算法によって解けばよい。
上のexの近似関数(d)パデ-11法を利用して状態方程式

35-equation01

を近似離散値化すると、

35-equation02

となる。P、 Qを上の近似状態推移方程式に代入すると

35-equation03

なる差分方程式が求まる。行列R、Qを計算し、この差分方程式を解く計算機
プログラムをつくると線形システムのための汎用シミュレータが構成される。
このようにして構成されるシミュレータに対する入力は、

① システムの情報 行列A、B、C (行列サイズも含む)
初期条件 x0
② 入カの情報 u(k),k =0,1 ,2 ,・・・法(積分法)としてよく使われる近似関数を
紹介しておく。

である。図2.33にBASICで書かれたシミュレーションプログラムリストおよび結果、
図2.34にFORTRANで書かれたシミュレーションプログラムリストおよび結果を
示している。
いずれも第40回の例題2.17の図2.28に示すサーボ系において、
k1として、またT1,T2は入力する
として、シミュレーションを行うプログラムにしてある。

<BASICによるプログラムの説明と使用法>
1000-1900行:初期設定
行列A,B,C,初期値x0,制御入力u(k)を設定する。
3000-3500行:式(2.36b)の行列PとQの計算
3510-3740行:出力y(k)の計算
となっており,別のシステムのシミュレーションでは1210行ーから1900行の
部分のプログラムを作成しさえすればよい。

allow BASICプログラムはこちら

<FORTRANによるプログラムの説明と使用法>
プログラムリストのコメントに詳しく使用法が記述されている。これを参照されたい。
シミュレータとしての主要なサブルーチンはFORTRANであり、このサブルーチンに
行列A,B,C(これらの行列のサイズ)、初期値x0、制御入力u(k)をセットすると、
出力応答y(k)が結果として戻ってくる。

allow FORTRANプログラムはこちら

このシミュレーションプログラムはパデー11法を基礎としている。第34回でも述べた
ように、この方法は本来安定な方程式は安定に、不安定な方程式は不安定に解き、
数値的に安定しており、タフな解法である。
しかし、| 特性根×サンプル間隔 | <0.3でないと近似による特性根の誤差は1%以内
にならないので、計算結果より卓越する特性根の大きさを推定し、
| 特性根×サンプル間隔 | を計算し、求まった解が信頼できるか否か判断する
必要がある。
システムが非線形であり、式(2.29b)のように、

35-equation04

で記述される場合には、 ルンゲークッタ4次法によって解くのが容易である。
このアルゴリズムは次のように与えられる。

35-equation05

この解法は状態方程式の関数値f(x,u)の計算のみでアルゴリズムが構成でき、
複雑な非線形系にも適用できる。しかし、第35回でも述べたように、サンプル間隔
の選択をうまくしないと、本来安定な方程式を不安定に解いたり、逆に必要以上に
小さいサンプル間隔を選び、不経済な計算を行うことがある。
安定な方程式を不安定に解いてしまう現象は、非常に速く変化する成分と、遅く
変化する成分が含まれるシステム(スティフなシステム)において、遅く変化する
成分に対して適切なサンプル間隔を選んだ場合によく起こる。
このような場合、最も速く変化する成分に注目してサンプル間隔を決めなければ
ならない。非線形常微分方程式をルンゲークッタ4次法で解いた場合、その解の
信頼性を評価することは一般に困難である。
サンプル間隔を半分にして解いた結果と比較して、大きな差がない場合、
正しい解とする場合が多い。

© KANSAI Automation Co., LTD. All Rights Reserved.