JP6905296B1 - 制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム - Google Patents

制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム Download PDF

Info

Publication number
JP6905296B1
JP6905296B1 JP2021031661A JP2021031661A JP6905296B1 JP 6905296 B1 JP6905296 B1 JP 6905296B1 JP 2021031661 A JP2021031661 A JP 2021031661A JP 2021031661 A JP2021031661 A JP 2021031661A JP 6905296 B1 JP6905296 B1 JP 6905296B1
Authority
JP
Japan
Prior art keywords
equation
eigenvalue
matrix
calculation
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021031661A
Other languages
English (en)
Other versions
JP2022132922A (ja
Inventor
城所 仁
仁 城所
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Whiterook
Original Assignee
Whiterook
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Whiterook filed Critical Whiterook
Priority to JP2021031661A priority Critical patent/JP6905296B1/ja
Application granted granted Critical
Publication of JP6905296B1 publication Critical patent/JP6905296B1/ja
Publication of JP2022132922A publication Critical patent/JP2022132922A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】制御対象の動作を数学的にモデル化した状態方程式を解く演算を実行することにより制御対象の動作を模擬し、それにより制御装置の設計及び検証を支援する計算装置の技術に関し、状態方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行可能とする。【解決手段】固有値計算手段302は、変数ベクトル項の係数行列を、対角要素が固有値である対角行列又はジョルダン標準形行列の何れかの行列である固有値包含対角行列に変換する。固有値変更手段1201は、固有値包含対角行列内の各固有値が所定の条件を満たす場合に、固有値の実部又は虚数部の一方又は両方を所定の定数に変更し、修正固有値包含対角行列を出力する。方程式変換手段である行列算出手段1202は、線形状態方程式を修正固有値包含対角行列に基づく形式に変換し、修正線形状態方程式を出力する。状態方程式計算手段1203は、修正線形状態方程式を差分方程式の形式に変換し、差分方程式に対する解法演算を実行することにより、制御装置への出力信号を生成する。【選択図】図12

Description

本発明は、制御対象の動作を数学的にモデル化した状態方程式を解く演算を実行することにより制御対象の動作を模擬し、それにより制御装置の設計及び検証を支援する計算装置、そのような計算装置において状態方程式を解く演算の実行方法、及びプログラムに関する。
制御対象を接続することにより、その制御対象に対してフィードバック制御を行う制御装置が知られている。その制御対象は、機械装置である場合もあり、或いは電子回路である場合もある。例えば、自動車には、ECU(Electronics Control Unit:電子制御ユニット)と呼ばれる制御装置が、数十個搭載されている。夫々のECUは、例えばエンジン、トランスミッション、又はサスペンションなどの機械装置である制御対象に対して、フィードバック制御を行う。また、ECUは、例えばダッシュボードパネルに各種情報を表示する液晶計器類をはじめとする電子回路である制御対象に対して、フィードバック制御を行う。これらの制御装置は、制御対象を接続して初めて機能するという特性を持つ。従って、制御装置の開発においては、かつては、実際に制御対象を接続して実験/検証を行う必要があった。しかし、開発段階の制御装置を実際の制御対象に接続して検証を行った場合、制御装置による制御が不完全であることにより、制御対象が破壊されてしまうという事故が起こり得た。また、例えば月着陸船の制御装置のように、実際の使用環境での実験/検証が不可能な制御装置の開発においては、制御対象を実際に接続してその制御装置を開発することができなかった。或いは、開発段階において制御対象の実機が存在しない場合においても、制御対象を実際に接続してその制御装置を開発することができなかった。
このような問題を解決するために、従来、HILS(Hardware In the Loop Simulator)と呼ばれるテスト装置が知られている(例えば特許文献1)。HILSでは、機械装置又は電子回路である制御対象が計算装置におけるソフトウェア処理によって模擬される。この場合、制御対象の動作は、例えば常微分方程式である状態方程式によって構成される数学モデルで表現される。また、計算装置は、電圧又は電流等の実際の信号を入出力する物理的入出力手段を装備する。そして、計算装置のこれらの物理的入出力手段に、制御装置の実際の物理的入出力手段が接続される。計算装置は、状態方程式を解く演算を実時間で実行することにより制御対象の動作を模擬する。そして、計算装置は実際の信号を制御装置に対して実時間で入出力することにより、ハードウェアである制御装置を実際に動作させてテストする。即ち、HILSは、リアルタイムシミュレータとして動作する。HILSにより、制御対象の実機を用意することなく、ECUなどの制御装置の設計及び検証を支援することが可能となる。
更に、SILS(Software In the Loop Simulator)と呼ばれるテスト装置も知られている(例えば特許文献1)。SILSでは、制御装置自体、及びその物理的入出力手段も計算装置によって模擬される。そして、SILSは、制御装置と制御対象の全体の動作を、計算装置が実行するソフトウェア処理によって模擬する。
HILS又はSILSで用いられる数学モデルは、制御対象である、機械装置の動作を表現する運動方程式や、電子回路の動作を表す回路方程式である。この方程式は、一般的に常微分方程式である状態方程式として表現することができる。特に、変数ベクトルに第1の係数行列を乗算し、入力ベクトルに第2の係数行列を乗算した各乗算結果の和が、変数ベクトルの1階の導関数に等しい線形状態方程式は、制御対象の挙動を表す数学モデルとして有用であり、非線形の場合であっても上記形式に近似して用いられることが多い。ここで、「変数ベクトル」とは、常微分方程式の解をいう。
HILSにおいては、実時間で動作する制御装置に合わせて、線形状態方程式を実時間で解きながら、その結果導出される信号を制御装置に対して実時間で入出力する必要がある。従って、状態方程式の数値解法演算を上記実時間処理に間に合うように計算装置で高速に実行する技術は、極めて重要である。
連続系の状態方程式を解くための計算方法としては、その状態方程式を離散信号形式で表現することにより差分方程式として計算する数値計算手法が良く知られている。この解法の代表例としては、Runge−Kutta法、及びTaylor展開法などが知られている。
ところで、線形状態方程式における係数行列の要素が或る一定時間において不変な定数であれば、その方程式は、所謂LTI(Linear Time Invariant:線形時間不変)システムの方程式となる。HILS又はSILSで用いられる物理モデルは、LTIシステムを仮定しても十分であることが多い。このようなLTIシステムの状態方程式においては、係数行列を対角要素が互いに異なる固有値である対角行列に変換することができる。
このような対角行列に含まれる固有値は、一般に複素数である。そして、複数の固有値の大きさが著しく異なる状態方程式は、解が周波数の比較的高い成分と低い成分を含む、いわゆるStiff状態方程式と呼ばれる(例えば特許文献2)。
特許第5692739号公報 特開2005−025651号公報
上述のようなLTIシステムを仮定できる状態方程式(常微分方程式)を、前述したRunge−Kutta法又はTaylor展開法などによる差分方程式に変換して演算する場合について考える。このケースでは、差分方程式における離散時間の計算ステップと対角行列の固有値が適切でない場合、計算がプラス無限大(∞)又はマイナス無限大(−∞)に発散することが知られている。特に、前述したStiff状態方程式を解く場合に、絶対値の大きな固有値でも計算が発散しないようにするためには、計算ステップhを小さくしなければならない。しかしながら、計算ステップhを小さくした場合、方程式の応答を支配する絶対値の小さな固有値に対しては、その計算ステップは過剰に小さくなりすぎる。この結果、計算ステップを小さくした場合、計算誤差が蓄積すると共に、それ以上に、例えばHILSの場合には、計算ステップhが意味する物理的時間以内で計算が間に合わなくなる、という事態を招いてしまうという問題があった。
このような問題を解決するために、更に従来、複素平面のいわゆる左半平面全体を計算安定領域とする、後退Euler法又は台形法(Tustin法)と呼ばれる解法が知られている。しかしながら、これらの解法ではLTIシステムの場合であっても逆行列を計算する必要がある。一般に逆行列の計算負荷は、行列が“n×n”要素のサイズを有する場合、nの3乗に比例すると言われている。従って、nが大きなシステムの場合には、計算負荷が極めて高くなる。このため、Euler法や台形法は、実時間での計算を要求されるHILSに適した計算法ではなく、SILSに対しても制御装置のための検証時間が長くなってしまうという問題点があった。
更に、計算ステップhに対して、後退Euler法は1次、台形法は2次の近似精度となる。このため、固有値λの絶対値が大きい場合は、これらの解法は、安定動作範囲が広いため発散しないで計算できるものの、計算精度が著しく落ちるというあまり知られていない事実がある。
以上の考察からわかるように、計算装置において絶対値が大きな固有値を有する方程式を適切に解く演算を実行することは、従来困難であった。
そこで、本発明は、制御対象の動作を模擬する計算装置において、状態方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行可能とすることを目的とする。
態様の一例は、制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行することにより、制御対象の動作を模擬する計算装置であって、制御装置への出力を表す変数ベクトル項Yと制御装置からの入力を表す入力ベクトル項Uを含み、変数ベクトル項X及び入力ベクトル項Uに夫々乗算される各係数行列A,Bの要素が一定時間において不変な定数とみなせる線形時間不変システムに制御対象をモデル化した線形状態方程式を、状態方程式として設定する方程式設定手段と、変数ベクトル項Xの係数行列Aを、対角要素が固有値である対角行列Λ又はジョルダン標準形行列Jの何れかの行列である固有値包含対角行列に変換する固有値計算手段と、固有値包含対角行列内の各固有値が所定の条件を満たす場合に、固有値の実部又は虚数部の一方又は両方を所定の定数に変更することにより、固有値包含対角行列に対応する修正固有値包含対角行列を出力する固有値変更手段と、線形状態方程式を修正固有値包含対角行列に基づく形式に変換することにより、線形状態方程式に対応する修正線形状態方程式を出力する方程式変換手段と、修正線形状態方程式を差分方程式の形式に変換し、差分方程式に対する解法演算を実行することにより、制御装置への出力信号を生成する状態方程式計算手段と、を備える。
本発明によれば、制御対象の動作を模擬する計算装置において、状態方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行することが可能となる。これにより、HILSまたはSILSが適用できる制御装置の開発対象の範囲を広げることが可能となる。
Runge−Kutta法において安定に計算できる固有値λと計算ステップhの積hλの複素平面領域を説明する図である。 Taylor展開法において安定に計算できる固有値λと計算ステップhの積hλの領域を説明する図である。 本発明の第1の実施形態であるHILS計算装置の実施形態を示すブロック図である。 制御対象の機構例を示す図である。 制御対象のブロック線図の例を示す図である。 固有値実部変更手段及び固有値虚数部変更手段の動作例を示すフローチャートである。 本発明の第2の実施形態であるSILS計算装置の実施形態を示すブロック図である。 固有値λ=±πiを異なる計算手法で計算した時系列結果を説明する図である。 固有値λ=±π/2iを異なる計算手法で計算した時系列結果を説明する図である。 指数関数の時間応答を異なる計算手法で計算した時系列結果を説明する図である。 複素数の固有値を異なる計算手法で計算した時系列結果を説明する図である。 本発明の第3の実施形態であるHILS計算装置の実施形態を示すブロック図である。 第3の実施形態における固有値λの変更方法を説明する図である。 固有値変更手段の動作例を示すフローチャートである。 4次のTaylor展開法におけるゼロ点の複素平面上での位置を説明する図である。 固有値が−0.27±2.50iの場合において4次のTaylor展開法で計算した時の時系列計算結果と、第4の実施形態による改善例を説明する図である。
以下、本発明を実施するための形態(以下「本実施形態」と記載)について図面を参照しながら詳細に説明する。以下の説明においては、本実施形態について詳細に説明する前に、まず状態方程式に関する一般的な技術背景について説明する。そして、その一般技術の問題点を具体的に明らかにした上で、本実施形態について詳細に説明する。
前述したように、HILS又はSILSで用いられる数学モデルは、制御対象である、機械装置の動作を表現する運動方程式や、電子回路の動作を表す回路方程式である。この方程式は、任意数の要素を持つ状態変数ベクトルX、時間を表す変数t、及びベクトル関数F(t,X)を用いて、下記(1)式の常微分方程式として表現される。
Figure 0006905296
上記(1)式の常微分方程式は、公知の技術である動作点による区分線形化手法などにより、A、B行列と、外力を表す入力ベクトルU(t)とを用いた、線形状態方程式と呼ばれる下記(2)式の形式で表現することができる。
Figure 0006905296
このように、線形状態方程式は、変数ベクトルX(t)に係数行列Aを乗算し、入力ベクトルU(t)に係数ベクトルBを乗算した各乗算結果AX(t)とBU(t)の和が、変数ベクトルの1階の導関数
Figure 0006905296
に等しい、という形を有する。
HILSまたはSILSにおいて(2)式の形式の状態方程式を解く演算を効率的に実行することは重要である。特に、HILSにおいては、実時間で動作する制御装置に合わせて、(2)式の状態方程式を実時間で解きながら、その結果導出される信号を制御装置に対して実現時間で供給する必要がある。従って、状態方程式の数値解法演算を上記実時間処理に間に合うように計算装置で高速に実行する技術は、極めて重要である。
上述の(2)式に示されるようなA、B行列で表現される連続系方程式を解くための計算方法としては、(2)式の形式の状態方程式を離散信号形式で表現することにより差分方程式として計算する数値計算手法が知られている。前述したように、この解法の代表例として従来、Runge−Kutta法、又はTaylor展開法などが知られている。
ところで、上記(2)式の各係数行列A、Bは必ずしも定数行列である必要はない。しかしながら、各係数行列A、Bの要素が一定時間において不変な定数であれば、(2)式は、所謂LTI(Linear Time Invariant:線形時間不変)システムの線形状態方程式となる。HILS又はSILSで用いられる物理モデルはLTIシステムを仮定しても十分であることが多い。係数行列A、Bが定数であるLTIシステムでは、(2)式は下記(3)、(4)式に示されるように固有値分解することができる。
Figure 0006905296
Figure 0006905296
上記(4)式に示されるように、Λは対角要素が固有値である対角行列である。従って、(2)式は、スカラ連立方程式として扱うことができる。
上記(4)式の固有値λ(1≦s≦n)は、一般に複素数である。そして、前述したように、複数の固有値λの大きさが著しく異なる状態方程式は、いわゆるStiff状態方程式と呼ばれる。
なお、係数行列Aを上記(4)式のように対角行列に分解ができない場合もある。その場合には、後述するように、係数行列Aはジョルダン(Jordan)標準形行列に分解することができる。
上述の(3)、(4)式に示されるLTIシステムを仮定できる状態方程式(常微分方程式)を、前述したRunge−Kutta法又はTaylor展開法などの差分方程式に変換して演算する場合について考える。このケースでは、差分方程式における離散時間の計算ステップhと、A行列の固有値λの値とが適切でない場合、計算がプラス無限大(∞)又はマイナス無限大(−∞)に発散することが知られている。逆に発散せず安定に状態方程式を解くことができる条件は、計算アルゴリズムごとに異なる。
図1は、Runge−Kutta法において安定に計算できる固有値λと計算ステップhの積hλの複素平面領域を説明する図である。図1において、横軸は積hλの値の実部を示す実部軸、縦軸は積hλの値の虚数部を示す虚数部軸である。図1の安定領域曲線101、102、及び103は夫々、前述の(2)式の状態方程式を代表的な数値解法である1次、2次、及び4次のRunge−Kutta法で解いたときの、発散せずに計算できる安定境界において積hλの値をプロットしたものである。積hλの計算において、hは上記Runge−Kutta法が実行されるときの計算ステップであり、λは(2)式の係数行列Aと正則な行列Pを用いて前述の(3)式によって計算される。
例えば、4次のRunge−Kutta法は、下記(5)式で示される。
Figure 0006905296
図1で、各次数でのRunge−Kutta法の計算において、各次数に対応する安定領域曲線101、102、又は103の各内側に積hλが存在すれば、対応する次数のRunge−Kutta法により発散しない計算が可能である。
図1において、破線領域104は、Stiffな固有値に基づく積hλの存在領域である。また、破線領域105は、応答を支配する固有値に基づく積hλの存在領域である。前述したStiff状態方程式を解く場合に、絶対値が大きな固有値でも計算が発散しないようにするためには、計算ステップhを小さくして、積hλの存在領域104が安定領域曲線101、102、又は103の内側に入るようにする必要がある。計算ステップhを小さくすれば、図1において、積hλの存在領域が領域104から破線矢印106で示される方向に移動して安定領域曲線101、102、又は103の内側に入るため、発散しない計算が可能である。しかしながら、計算ステップhを小さくした場合、方程式の応答を支配する絶対値の小さな固有値に基づく積hλの存在領域105付近では、その計算ステップhは過剰に小さくなりすぎる。この結果、計算ステップhを小さくした場合、計算誤差が蓄積すると共に、それ以上に、例えばHILSの場合には、計算ステップhが意味する物理的時間以内で計算が間に合わなくなる、という事態を招いてしまうという問題があった。
前述した(2)式が前述したLTIシステムの状態方程式となっており、かつ入力が一定値uであるとみなせる場合、行列指数関数
Figure 0006905296
を用いて、下記(6)式の一般解を得ることができる。
Figure 0006905296
上記(6)式は、下記(7)式及び(8)式において、N=∞(無限大)の場合に相当する。
Figure 0006905296
Figure 0006905296
しかし、N=∞(無限大)の場合には、計算が困難である。このため、(7)式及び(8)式において有限のNを用いると共に、計算誤差を少なくするために微小時間=hの計算ステップで(7)式及び(8)式の差分方程式を計算する手法がある。この場合、XはX(h×n)の近似値であり、uは[t×h,(t+1)×h]の間一定であるとし、uとする。上記(7)式及び(8)式の演算法を、本明細書ではTaylor展開法と呼ぶ。
図2は、Taylor展開法において安定に計算できる固有値λと計算ステップhの積hλの複素平面領域を説明する図である。図2において、図1の場合と同様に、横軸は積hλの値の実部を示す実部軸、縦軸は積hλの値の虚数部を示す虚数部軸である。図2の安定領域曲線201、202、203、204、205、及び206は夫々、前述の(7)式及び(8)式においてN=1、2、4、5、8及び10とした場合に計算したときの、発散せずに計算できる安定境界において積hλの値をプロットしたものである。積hλの計算において、hは上記(7)式及び(8)式の状態方程式の解法演算が実行されるときの計算ステップhに等しく、λは(7)式及び(8)式の係数行列Aと正則な行列Pを用いて前述の(3)式によって計算される。
なお、図2において、積hλの虚数部の値が−πiから+πi(iは虚数単位)までの間のグレー色に塗りつぶされた範囲207は、ナイキスト周波数を超えない範囲であり、その外側の範囲はナイキスト周波数を超える範囲である。積hλとナイキスト周波数との関係については、本実施形態の説明において後述する。
また、図2において、図1の場合と同様に、各次数においてでのTaylor展開法の計算において、各次数に対応する安定領域曲線201、202、203、204、205、又は206の各内側に積hλが存在すれば、発散しない計算が可能である。なお、Taylor展開法の次数とは前述した(8)式におけるNの値を指すものである。
なお、(7)式及び(8)式が前述したLTIシステムの状態方程式となっている場合には、前述した(5)式のRunge−Kutta法は、式を整理すれば4次のTaylor展開法となる。4次までのRunge−Kutta法の安定領域(図1の101、102、及び103)は、Taylor展開法の安定領域(図2の201、202、及び203)と同一であることが、一般に知られている。
以上説明したRunge−Kutta法及びTaylor展開法は、広く使われる数値計算手法である。しかし、これらの数値計算法は、安定領域に限りがある。そして、Stiff状態方程式の場合、前述したように、不安定になり計算が発散するか、過剰に小さな計算ステップhを用いなければならないという問題がある。
このような問題を解決するために、複素平面のいわゆる左半平面全体を計算安定領域とする、下記(9)式で示される後退Euler法又は下記(10)式で示される台形法(Tustin法)と呼ばれる解法が、一般的に用いられている。
Figure 0006905296
Figure 0006905296
しかしながら、(9)式又は(10)式に示される解法では逆行列を計算する必要がある。一般に逆行列の計算負荷は、行列が“n×n”要素のサイズを有する場合、nの3乗に比例すると言われている。従って、nが大きなシステムの場合には、計算負荷が極めて高くなる。このため、Euler法や台形法は、実時間での計算を要求されるHILSに適した計算法ではなく、SILSに対しても制御装置のための検証時間が長くなってしまうという問題点があった。
更に、計算ステップhに対して、後退Euler法は1次、台形法は2次の近似精度となる。このため、固有値λの絶対値が大きい場合は、これらの解法は、安定動作範囲が広いため発散しないで計算できるものの、計算精度が著しく落ちるというあまり知られていない事実がある。
以上の考察からわかるように、計算装置において絶対値が大きな固有値λを有する方程式を適切に解く演算を実行することは、一般的に困難である。
そこで、本実施形態は、制御対象の動作を模擬する計算装置において、状態方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行可能とすることを目的とする。本実施形態の詳細について、以下に説明する。
本実施形態の動作原理について説明する。まず、一般的な状態方程式である前述の(2)式において、変数ベクトル項X(t)の係数行列Aを、対角要素が固有値である対角行列、又はジョルダン標準形行列に変換する。本実施形態において、これらの行列を総称して、固有値包含対角行列と呼ぶことにする。
例えば、(2)式の係数行列A、Bが定数であるLTIシステムにおいて、下記(11)式(前述した(3)式の再掲)に示される変換演算が実行される。
Figure 0006905296
この結果、(2)式の固有値を対角要素に持つ下記(11)式(前述の(4)式の再掲)に示される対角行列Λが、上述の固有値包含対角行列として算出される。
Figure 0006905296
或いは、(2)式の係数行列Aのサイズをn行n列(nは自然数)とし、正則な行列Pを用いて、係数行列Aに対して、下記(13)式及び(14)式で示される演算が実行される。この結果、固有値λ、・・・、λ、・・・、λ(1≦s≦m)を対角要素に持つ(13)式で示されるジョルダン細胞行列と呼ばれる行列を、更に対角要素として持つ(14)式で示されるジョルダン標準形行列Jが算出される。結果的に、ジョルダン標準形行列Jは、その対角要素s(1≦s≦m)に固有値λを含む、固有値包含対角行列である。
Figure 0006905296
Figure 0006905296
そして、本実施形態では、上記固有値包含対角行列内の各固有値が所定の条件を満たす場合に、その固有値の実部又は虚数部の一方又は両方を所定の定数に変更する。
例えば、対角行列Λ内の固有値λ(1≦s≦n)、又はジョルダン標準形行列J内の固有値λ(1≦s≦m)の実部σの絶対値|σ|が所定の実部閾値aより大きい場合に、上記固有値λの実部σを所定の実数定数bに変更する。より具体的には、任意の数値計算手法、例えば前述の(7)式及び(8)式のTaylor展開法の演算に着目する。例えば5次のTaylor展開法の安定領域内(図2の安定領域曲線205の範囲内)に存在する例えば実数“−3”の絶対値“3”を、上記実部閾値aとする。そして、固有値λの実部σの絶対値|σ|が上記実部閾値a=3より大きい場合に、固有値λの実部σを所定の実数定数bに変更するものである。
また例えば、対角行列Λ内の固有値λ(1≦s≦n)、又はジョルダン標準形行列J内の固有値λ(1≦s≦m)の虚数部ωiの絶対値|ω|が所定の虚数部閾値cより大きい場合に、上記固有値λの虚数部ωiを所定の虚数定数diに変更する。例えば5次のTaylor展開法の安定領域内(図2の安定領域曲線205の範囲内)に存在する例えば虚数“πi”(i:虚数単位)の絶対値“π”を、上記虚数部閾値cとする。そして、固有値λの虚数部ωiの絶対値|ω|が上記虚数部閾値c=πより大きい場合に、固有値λの虚数部ωiを所定の虚数定数di(dは正の実数)に変更するものである。また例えば5次のTaylor展開法の安定領域内(図2の安定領域曲線205の範囲内)に存在する例えば虚数“−πi”の絶対値“π”を、上記虚数部閾値c′とする。このとき、固有値λの虚数部ωiの絶対値|ω|が上記虚数部閾値c′=πより大きい場合に、固有値λの虚数部ωiを所定の虚数定数−di(dは正の実数)に変更するものである。
従って、例えば(12)式の対角行列Λ内の各対角要素λ及びλにおいて、その実部の絶対値|σ|及び|σ|が実部閾値a=3より大きく、かつその虚数部の絶対値|ω|及び|ω|が虚数部閾値c=π又はc′=πより大きければ、対角行列Λが下記(15)式に例示されるように変更されるものである。この行列を、修正対角行列と呼ぶ。修正対角行列は、固有値包含対角行列を変更した修正固有値包含対角行列に対応する。
Figure 0006905296
その後、(2)式に例示される状態方程式が固有値包含対角行列内の固有値を変更して得られる修正固有値包含対角行列に基づく形式に変換される。そして、変換後の状態方程式に基づいて、例えば10次のTaylor展開法により得られる差分方程式に対する解法演算が実行される。
以上の動作原理によれば、(2)式に例示される状態方程式を常に積hλに関する安定領域内で解くことが可能となる。このため、状態方程式がたとえStiff状態方程式であったとしても、上記安定性が失われることはない。そして、状態方程式が変更された後は、在来のRunge−Kutta法やTaylor展開法により得られる差分方程式に対する解法演算が実行される。この結果、本出願によれば、状態方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行することが可能となる。これにより、HILSおよびSILSが適用できる制御装置の開発対象の範囲を広げることが可能となる。
上記動作原理に基づく本発明のいくつかの実施形態の詳細について、以下に説明する。図3は、本発明の第1の実施形態である、HILS計算装置300の実施形態を示すブロック図である。HILS計算装置300は、物理的な信号入出力手段を有する、いわゆるHILSの実施形態である。
HILS計算装置300は、特には図示しないが、所謂組込みコンピュータのハードウェアとして、CPU(中央演算処理装置)、ROM(リードオンリーメモリ)、RAM(ランダムアクセスメモリ)、フラッシュメモリ装着装置などを有する。図3に示されるHILS計算装置300において、通信手段301は所謂イーサネットあるいはCAN通信、またはこれに準ずるものである。固有値計算手段302、固有値実部変更手段303、固有値虚数部変更手段304、行列算出手段305、ベクトル算出手段308、及び状態方程式計算手段309は、上記CPUが上記フラッシュメモリ装着装置に装着されたメモリカードに記憶されたHILS制御プログラムを上記RAMに読み出して実行する機能ブロック群である。時計装置310は、HILS計算装置300のコンピュータが内蔵するタイマ装置のハードウェアである。デジタル信号入力手段306、電圧入力手段307、電圧出力手段311は、上記入出力インタフェース装置及び上記RAM又は上記外部記憶装置によって構成される。通信手段301には、ローカルエリアネットワークやインターネット等のネットワークまたは専用通信線を介してホストコンピュータ320が通信接続される。
デジタル信号入力手段306及び電圧入力手段307は、計算装置側物理的入力手段として動作し、特には図示しない制御装置の制御装置側物理的出力手段のデジタル信号出力手段及び電圧出力手段に接続される。
デジタル信号入力手段306は、制御装置からの複数の信号線の各電圧を監視し、夫々所定の閾値を超えた場合に“1”、超えない場合に“0”の各デジタル入力信号をベクトル算出手段308に出力する。
電圧入力手段307は、複数のアナログ/デジタル変換器を内蔵し、制御装置からの複数のアナログ入力電圧値をデジタル入力電圧値に変換し、各デジタル入力電圧値をベクトル算出手段308に出力する。
ベクトル算出手段308は、上記複数のデジタル入力信号の“1”又は“0”値及び複数のデジタル入力電圧値をベクトル要素とする入力ベクトルU(前述した(2)式のU(t)に対応)を算出する。なお、入力ベクトルUの第1要素としては値“1”を設定する。この第1要素は、状態方程式が定数項(前述した(2)式のBU(t)=定数)を必要とした場合に、係数行列Bの値により任意の定数を生成するために使用する。
一方、ホストコンピュータ320は、一般的なパーソナルコンピュータであってよく、HILSの数学モデルを生成するためのシミュレーションモデリングツールのプログラムを実行することができる。ユーザは、例えば図4に例示されるような機械システムを制御対象とし、その数学モデルを生成したい場合には、上記シミュレーションモデリングツールを実行することにより、例えば図5に例示されるようなブロック線図を、ホストコンピュータ320のキーボード、マウス、及びディスプレイを使って作成する。
ホストコンピュータ320には更に、例えばシミュレーションモデリングツールの機能として、状態方程式生成ソフトウェアが搭載されている。この状態方程式生成ソフトウェアは、ユーザが図5に例示されるように作成したブロック線図に記載されている積分器の出力値を要素とする、例えば下記(16)式として例示されるような状態変数ベクトルを生成する。
Figure 0006905296
状態方程式生成ソフトウェアは更に、上記ブロック線図を解析し、積分器に与えられる入力に基づいて、係数行列A及びBを生成する。例えば、図5に例示されるブロック線図におけるv1の出力である第1積分器501に接続されている値は、第2積分器502及び第3積分器503に夫々所定の係数を乗じてm1で除算したものである。従って、状態方程式生成ソフトウェアは、下記(17)として例示される係数行列A及びBを生成する。
Figure 0006905296
上記のようにして算出される係数行列A及びBにより、下記(18)式の状態方程式が構成されることになる。
Figure 0006905296
ここで、Fは、制御装置から与えられる入力値である。従って、(18)式の状態方程式は、前述した(2)式の状態方程式に対応する。
更に、状態方程式生成ソフトウェアは、ユーザが指定することにより、制御装置に接続したい出力値をYベクトルとして設定することができ、このYベクトルを生成するための下記(19)式として示される出力方程式を構成する係数行列C及びDを生成する。
Figure 0006905296
なお、図1で示したStiffな固有値の例(図1の領域104を参照)は、図4に例示した機構に対して、以下の諸元を与えたものである。

m1=300 m2=300 ks=10 k=10 c=1000

このように、Stiff状態方程式は極めて一般的に存在する。特に、SILSやHILSの用途である機械装置や電子回路の模擬においては、いままで避けて通れない難題であった。本実施形態は、これを解決する手段を提供するものである。
以上説明したようにしてホストコンピュータ320で生成された係数行列A,B,C,及びDのデータが、ホストコンピュータ320からHILS計算装置300に送られ、図3の通信手段301で受信され、記憶される。
図3の説明に戻り、固有値計算手段302は、通信手段301が受信した上記係数行列Aを受け取り、この係数行列Aに基づいて下記の手順により固有値を算出する。
手順1として、下記(20)式として示される固有方程式を計算する。
Figure 0006905296
係数行列Aのサイズがn行n列の場合、固有値λはn次多項式となる。ここで、ベアストウ法として知られた手法を用いることによって、全ての固有値λ、・・・、λ、・・・、λを算出する。これらの固有値λ(1≦s≦n)に重複がなければ、これらを対角要素とする対角行列Λを、前述した(12)式の形で生成する。
次に、固有値λ(1≦s≦n)に重複がなければ、手順2として、固有値λに対する固有ベクトルx(1≦s≦n)を、下記(21)式により算出する。
Figure 0006905296
この計算は、ガウス消去法として知られる連立方程式の解を得るアルゴリズムにより実行される。
固有値λ(1≦s≦n)に重複がなければ、更に手順3とし、手順2で算出した固有ベクトルx(1≦s≦n)を用いて、下記(22)式として示される正則行列Pを構成する。
Figure 0006905296
これと共に、Pの逆行列P−1を、ガウス・ジョルダン法と呼ばれる手法で計算する。
固有値λ(1≦s≦n)に重複がなければ、手順1で算出した対角行列Λを、固有値実部変更手段303及び固有値虚数部変更手段304に出力する。また、手順3で得られた、正則行列P及びその逆行列P−1と、上記対角行列の逆行列Λ−1とを、後述するように係数行列Bを修正するために、行列算出手段305に出力する。
なお、手順1で算出された固有値λ(1≦s≦n)に重複がある場合には、固有値計算手段302は、対角行列Λの代わりに、前述した(13)式及び(14)式で示したジョルダン標準形行列Jを算出する。ジョルダン標準形行列Jの算出方法は従来知られているが、ここではその説明は省略する。
また、手順1で算出された固有値λ(1≦s≦n)に重複がある場合には、重複した固有値に微小値を加減算することにより重複を解除して対角行列Λを作成して、SILSやHILSに用いる場合は実用上の問題はない。
次に、固有値実部変更手段303及び固有値虚数部変更手段304の動作について説明する。図6は、固有値変更手段として一体として動作する固有値実部変更手段303及び固有値虚数部変更手段304の動作例を示すフローチャートである。
まず、図3の固有値計算手段302から、対角行列Λを取得する(図6のステップS601)。
次に、n個の固有値λ(1≦s≦n)について処理を繰り返すための変数sに値1をセットする(図6のステップS602)。
その後、変数sの値が上記ステップS602で値1にセットされた後、図6のステップS609で変数sの値が+1ずつインクリメントされながら図6のステップS610で変数sの値が値nを超えたと判断するまで、図6のステップS603からステップS608までの一連の処理を繰り返し実行する。以下、これら一連の処理について順次説明する。
まず、ステップS601で取得した対角行列Λから、変数sの値が示す位置の1つの対角要素の固有値“λ=σ+ωi”を取得する(図6のステップS603)。ここで、σは固有値λの実部、ωiはiを虚数単位として固有値λの虚数部である。
次に、ステップS603で取得した固有値λの実部σの絶対値|σ|が所定の実部閾値aより大きいか否かを判定する(図6のステップS604)。
ステップS604の判定がYESならば、固有値λの実部σを所定の実数定数bに変更する(図6のステップS605)。
ステップS604の判定がNOならば、固有値λの実部σはそのままとして変更しない。
以上のステップS604とS605の処理が、図3の固有値実部変更手段303の機能を実現する。
次に、ステップS603で取得した固有値λの虚数部ωiの絶対値|ω|が所定の虚数部閾値cより大きいか否かを判定する(図6のステップS606)。
ステップS606の判定がYESならば、固有値λの虚数部ωiを所定の虚数定数di(iは虚数単位)に変更する(図6のステップS607)。
ステップS606の判定がNOならば、固有値λの虚数部ωiはそのままとして変更しない。
以上のステップS606とS607の処理が、図3の固有値虚数部変更手段304の機能を実現する。
その後、適宜変更後の“σ+ωi”を、修正対角行列(修正固有値包含対角行列)
Figure 0006905296
において、変数sの現在値が示す位置の対角要素の固有値λとして設定する(図6のステップS608)。
ステップS608の処理の後、変数sの値を+1インクリメントする(図6のステップS609)。
そして、インクリメント後の変数sの値が対角行列Λの次数nを超えたか否かを判定する(図6のステップS610)。
ステップS610の判定がNOならば、ステップS603の処理に戻って、新たな変数sの値が示す対角行列Λ上の対角要素位置の固有値λの変更処理を実行する。
ステップS610の判定がYESになると、図3の固有値実部変更手段303及び固有値虚数部変更手段304の今回の計算ステップにおける処理を終了し、修正対角行列
Figure 0006905296
を、後述する図3の行列算出手段305及び状態方程式計算手段309に出力する。
以上のようにして、本実施形態では、修正対角行列
Figure 0006905296
に基づいて実行される状態方程式が常に積hλに関する安定領域内で解かれるように、対角行列Λの各対角要素の固有値を例えば前述した(15)式に例示される修正対角行列の各対角要素のように変更することが可能となる。
図3の説明に戻り、行列算出手段305は、係数行列Bに関する以下の修正処理を実行する。まず、前述した(3)式及び(4)式で示されるLTIシステムの状態方程式を前提として、下記(23)式に示される方程式を設定する。(23)式の方程式においては、t=∞値(無限大)を、対角行列Λで計算した場合と、修正対角行列
Figure 0006905296
で計算した場合に結果が定常値でありかつ同一であるという条件が設定される。
Figure 0006905296
上記(23)式より、下記(24)式が算出される。
Figure 0006905296
行列算出手段305は、上記数(24)式の演算を実行する。即ち、図3において、行列算出手段305は、前述した図6のフローチャートに基づいて一体で動作する固有値実部変更手段303及び固有値虚数部変更手段304から、修正対角行列
Figure 0006905296
を入力する。また、行列算出手段305は、固有値計算手段302から、前述した正則行列P、その逆行列P−1、及び対角行列の逆行列Λ−1を入力する。更に、行列算出手段305は、通信手段301から、係数行列Bを入力する。行列算出手段305は、これらの入力したデータに基づいて、(24)式により、係数行列Bから修正係数行列
Figure 0006905296
を算出し、状態方程式計算手段309に出力する。
最後に、図3の状態方程式計算手段309は、前述した(3)式及び(4)式で示されるLTIシステムの状態方程式を前提として、以下に説明する状態方程式の計算処理を実行する。
まず、状態方程式計算手段309は、所定の値又はホストコンピュータ320からHILS計算装置300内の通信手段301に転送された初期値ベクトル
を用いて、前述した(3)式に基づく下記(25)式により、初期状態変数ベクトルZ(0)を算出する。
Figure 0006905296
以後、状態方程式計算手段309は、前述の(3)式に基づく下記(26)式により、状態変数ベクトルZ(t)を順次算出する。
Figure 0006905296
状態方程式計算手段309は、(26)式の計算を実際には例えば、前述した(7)式及び(8)式を修正して得られる下記(27)式及び(28)式による、例えば5次のTaylor展開法の差分方程式として実行する。
Figure 0006905296
Figure 0006905296
状態方程式計算手段309は、(27)式及び(28)式の差分方程式の解法演算を、時計装置310が定める所定の時間間隔h秒毎に離散時間nをインクリメントしながら実行する。上記(27)式及び(28)式の演算において、入力値uは、ベクトル算出手段308から入力する入力ベクトルU(t)を、時間間隔hでサンプリングして得られるものである。
なお、Zは一般に複素数であるが、このため、状態方程式計算手段309は、(27)式及び(28)式により得られる状態変数ベクトルZに対して、下記(29)式として示される出力方程式を適用することにより、実数である出力ベクトルYを得て電圧出力手段311に出力する。
Figure 0006905296
電圧出力手段311は、状態方程式計算手段309における(29)式の演算により得られた出力ベクトルYに相当する電圧値を出力する。Yは時間間隔hごとに計算されるため、電圧出力手段311の出力は、時間間隔hで新しい電圧値に更新される。図3には図示していないが、電圧出力手段311内のデジタル/アナログ変換器によりデジタル電圧信号から変換されて出力されたアナログ電圧値は、制御装置の制御装置側物理的入出力手段に入力される。制御装置は、このアナログ電圧値を、制御対象に設置されたセンサ装置からの信号と理解して、制御対象の挙動を判定し、所定の制御出力を出力する。この制御出力は、HILS計算装置300のデジタル信号入力手段306又は電圧入力手段307に入力される。このようにして、制御装置と制御対象であるHILS計算装置300との間に、フィードバックのクローズドループ(閉ループ)が形成される。
図7は、図3とは異なる本発明の第2の実施形態の構成を示す図であり、SILS計算装置700の実施形態を示すブロック図である。図7は、計算装置がSILSを構成する例である。図7では、図3の通信手段301の代わりに、行列設定手段702を有し、状態方程式において用いられる前述したA,B,C,D行列が設定される。図7において、図3の場合と同じ参照番号を付したブロックは、図3の場合と同じ機能を有する。
また、SILS計算装置700は、制御装置制御則計算手段701を備えている。図3のHILS計算装置300では、制御装置は、デジタル信号入力手段306、電圧入力手段307、又は電圧出力手段311を介してHILS計算装置300の外部に接続されていた。これに対して、図7では、上記制御装置の動作を、SILS計算装置700内の制御装置制御則計算手段701によって模擬することができる。
ただし、状態方程式計算手段309は計算ステップhを用いて計算するが、制御装置制御則計算手段701の動作は必ずしも物理的にh秒毎に実行される必要はない(図7中では「h′」と記載)。この点において、図7のSILS計算装置700と図3のHILS計算装置300は異なる。
図7のSILS計算装置700によれば、それ単体で、内蔵される制御装置制御則計算手段701によって制御装置の制御則の動作を検証することが可能である。電圧出力手段311の出力は、制御装置制御則計算手段701にフィードバックされると共に、ディスプレイ装置703に表示させて確認することができる。制御装置制御則計算手段701から状態方程式計算手段309への入力ベクトルU(t)についても、ディスプレイ装置703で確認できるようにしてもよい。
図3のHILS計算装置300又は図7のSILS計算装置700において、固有値実部変更手段303及び固有値虚数部変更手段304が固有値変更手段として動作する効果について、以下に説明する。
前述した(2)式が固有値λを持つ場合、その解は前述した(6)式で与えられ、下記(30)式となる。
Figure 0006905296
λが虚数部を持つ場合は、指数関数は下記(31)式のオイラー公式より、時間的に振動する波形として現れる。
Figure 0006905296
計算ステップh=1の場合、これはサンプリング周波数=1秒であるから、ナイキスト周波数は0.5Hz、周期は2秒であり、これ以上の周波数は表現できない。即ち、図2の領域207として示したように、h=1の計算ステップでは、周波数が0.5Hz=πラジアン/秒以上である波形は、次数が高いTaylor展開法であれば安定領域に含まれる。この場合、発散しない計算が可能であるが、上記波形は、h=1のサンプリング周波数では表現されず、ナイキスト周波数で折り返して0.5Hzより低い周波数、所謂エイリアス周波数となって現れる。
従って、固有値λの虚数部の絶対値がπラジアン/秒を超えた場合、この虚数部を例えば±πiに変更して、その変更後の状態方程式を安定に計算できる5次のTaylor展開法で計算してもよい。
この場合、表現できない波形という意味を忠実に再現するならば、0ラジアン/秒としてもよい。
なお、Taylor展開法としては、前述した(7)式及び(8)式を用いることができる。そして、λ=πiの場合、例えば4次の項は、π/24≒4.059、5次の項はπ/120≒2.55となる。この結果は、N=∞において得られる真値に対して、誤差が大きい。
これに対して、例えばN=10の場合、π10/10!=0.0258となる。この場合、打ち切っても誤差が少ないと判断できる。このため、hλ=πという大きな固有値をある程度の精度で計算するためには、この程度まで次数を上げる必要があり、5次では正しい値は得られない。
図8は、状態方程式が、例えば下記(32)式の方程式
Figure 0006905296
のように、固有値λ=±πiを持つ場合に、異なる計算手法で計算した時系列結果を説明する図である。図8は、h=1として、台形法、10次のTaylor展開法、及び後退Euler法の計算結果を、夫々、801、802、及び803として、理論値804と共に示している。図8(a)は横軸:時間(秒)に対する縦軸:dx/dtの計算結果を示しており、図8(b)は横軸:時間(秒)に対する縦軸:xの計算結果を示している。図8から理解されるように、後退Euler法の計算結果803は、振動波形を表現できない。また、台形法の計算結果801は、時間軸対称という特性により2次の割には振動波形に強いが、やはり真値とはかけ離れている。
図8に関する考察より、例えばλ=±πiのような固有値は、確かにサンプル時間がh=1の場合は丁度ナイキスト周波数であるため波形を表現し得る。しかし、このような固有値を持つ方程式を計算するためには、計算結果804として示される10次のTaylor展開法のような、計算負荷が高い手法を採用せざるを得ない。
そこで、本実施形態では、例えばサンプル時間h=1として、図3又は図7の固有値虚数部変更手段304において、前述した虚数部閾値cがπ/2(=0.25Hz)に設定される。そして、固有値の虚数部の絶対値が上記虚数部閾値c=π/2より大きなものについては、その固有値の虚数部が全て所定の虚数定数di=π/2i又はdi=−π/2iに変更される。
図9は、固有値λ=±π/2iを異なる計算手法で計算した時系列結果を説明する図である。図8の場合と同様に、図9(a)は横軸:時間(秒)に対する縦軸:dx/dtの計算結果を示しており、図9(b)は横軸:時間(秒)に対する縦軸:xの計算結果を示している。Taylor展開法の4次の項は、(π/2)・24=0.254となる。このため、4次で打ち切られるTaylor展開法、又は4次のRunge−Kutta法を用いても、図9に示されるように、十分な計算精度を得ることができる。なお、図1及び図2に関して前述したように、前述した(2)式についてLTIが仮定でき(3)式及び(4)式のように表現できるならば、4次以下の次数については、Taylor展開法とRunge−Kutta法は同一である。
この場合、図9のRunge−Kutta法の計算結果901は、本来の方程式が与える振動波形の周波数の理論値804とは明らかに異なる。しかし、従来用いられている代表的な手法である台形法の計算結果801であっても、本来の周波数の波形を計算することはできない。このため、少なくとも振動現象を表現できるという点では大差はなく、固有値λを±π/2iに変換して、Runge−Kutta法により計算した手法は計算効率に勝る。
以上のように、そもそもにおいて例えばサンプル時間h=1の場合は固有値の虚数部の絶対値がπより大きければ、この固有値による応答は表現することができない。また、固有値の虚数部の絶対値がπ以下の値であっても、10次のTaylor展開法のような特殊な手法を除き、実用になる数値計算法が存在せず、正確な波形再現はできない。そこで、本実施形態では、正確な計算が可能な位置まで固有値を変更することで、結果的により適切な計算結果を得ることがものである。
次に固有値の実部の影響について説明する。図10は、指数関数の時間応答を異なる計算手法で計算した結果を説明する図である。横軸は時間(秒)、縦軸はxの計算結果である。図10は、指数関数が負の実部を持つ場合であって、t=0での初期値を1とした場合の時間応答である。
λtの最初の1ステップ、即ちt=hの値は、

λ=−1 h=1:e−t =0.368
λ=−2 h=1:e−2t=0.135
λ=−3 h=1:e−3t=0.050
λ=−4 h=1:e−4t=0.0183

である。従って、例えば固有値がλ=−3より小さければ、その固有値の時間応答特性がλ=−3のときの時間応答特性と同じである、として実用上は問題はない。2ステップ以降(t=2h,3h,4h)では、時間応答特性は更に0に近似する。従って、固有値がλ=−3より小さい場合と固有値がλ=−3の場合とで、それらの差異は全くなくなる。
なお、“λ=−3”のような原点から離れた固有値は、図6に示すように台形積分法でも大きな誤差がのこり、正確に計算するなら、例えばTaylor展開法の10次のような計算アルゴリズム(図7では分かりやすいように8次を使用)を必要とするなど、虚数部において説明したように、そもそもにおいて固有値の絶対値が大きい場合は、前述の(7)式及び(8)式において次数Nを相当に大きくしないと収束しないため、台形法のような次数の小さな計算アルゴリズムでは、打切り誤差が大きく、正確な計算ができない。
そのため、“λ=−3”より小さい固有値を“λ=−3”に置き換えたことによる差異は、“λ=−3”のような絶対値の大きな固有値を持つ状態方程式を、台形法のような現在広く知られている計算手法で計算した場合に避け得ない計算誤差を考慮すれば、無視できるものである。更に、“−2”程度を閾値にして、これより小さな固有値をすべて“λ=−2”に置き換えて、4次のRunge−Kutta法を使用して“λ=−2”のときの時間応答を正確に計算したほうが、結果的に妥当な計算結果を得ることができる場合もある。
なお広く知られたことであるが、固有値が、下記(33)式で示される任意の複素数である場合を考える。
Figure 0006905296
この場合、下記(34)式が成立する。
Figure 0006905296
従って、複素数の固有値に対する時間応答特性は、図8(b)又は図9(b)に例示した虚数部の時間応答特性と、図10に例示した実部の時間応答特性との積となり、図11に例示されるような特性になる。従って、固有値の実部の時間応答特性と虚数部の時間応答特性は、独立に考えることができる。
次に、本発明の第3の実施形態について説明する。この実施形態は、図3の本発明の第1の実施形態と同様に、HILS計算装置の実施形態である。図12は、本発明の第3の実施形態であるHILS計算装置1200の実施形態を示すブロック図である。図12において、図3の場合と同じ参照番号を付したブロックは、図3の場合と同じ機能を有する。図12のHILS計算装置1200の構成が図3のHILS計算装置300の構成と異なる点は、まず、図3の固有値実部変更手段303及び固有値虚数部変更手段304の代わりに、図12の固有値変更手段1201が具備される点である。次に、図12の行列算出手段1202の動作が、図3の行列算出手段305の動作とは異なる。更に、図12の状態方程式計算手段1203の動作が図3の状態方程式計算手段309の動作と異なる。また、補足的に、図12のHILS計算装置1200には、制御装置1210が接続される。制御装置1210内の特には図示しない第1の制御装置側物理的出力手段及び第2の制御装置側物理的出力手段は、夫々、HILS計算装置1200内のデジタル信号入力手段306及び電圧入力手段307に接続される。デジタル信号入力手段306及び電圧入力手段307は、計算装置側物理的入力手段として機能する。一方、HILS計算装置1200内の電圧出力手段311は、制御装置1210内の特には図示しない制御装置側物理的入力手段に接続される。電圧出力手段311は、計算装置側物理的出力手段として機能する。
まず、図12の固有値変更手段1201の詳細動作について説明する。前述した図3の本発明の第1の実施形態や図7の本発明の第2の実施形態においては、固有値λの実部σと虚数部ωiは、夫々、固有値実部変更手段303及び固有値虚数部変更手段304によって独立に変更可能であった。ここで、Runge−Kutta法やTaylor展開法では、図1や図2に示されるように、積λhの安定領域が概ね半円を描く。従って、これらの数値計算法を使用する場合には、使用する計算アルゴリズムによって、固有値λの実部σ及び虚数部ωiの間になんらかの拘束条件を設けることが、適切と考えられる。そこで、固有値変更手段1201では、使用する数値計算アルゴリズムによって定められる所定の値γ及びμを用いて、実部σ及び虚数部ωの線形結合、即ち下記(36)式及び(38)式を満たす関係が設定される。
即ち、固有値変更手段1201は、以下の動作を実行する。まず、虚数部ωiの係数ωが0以上の場合、実部σ及び虚数部ωiが、所定の値γ及びμを用いて、下記(35)式の関係を満たすか否かが判定される。
Figure 0006905296
上記(35)の関係が満たされるならば、下記(36)式の関係が成立する。
Figure 0006905296
上記(35)式及び(36)式の関係より、図12の固有値変更手段1201は、固有値λの虚数部ωiの係数ωが0以上である場合において、(35)式の関係が満たされる場合には、(36)式の関係が成立するようにσ又はωの一方又は両方を変更して固有値λを変更する。
一方、虚数部ωiの係数ωが0未満の場合、実部σ及び虚数部ωiが、所定の値γ及びμを用いて、下記(37)式の関係を満たすか否かが判定される。
Figure 0006905296
上記(37)の関係が満たされるならば、下記(38)式の関係が成立する。
Figure 0006905296
上記(37)式及び(38)式の関係より、図12の固有値変更手段1201は、固有値λの虚数部ωiの係数ωが0未満である場合において、(37)式の関係が満たされる場合には、(38)式の関係が成立するようにσ又はωの一方又は両方を変更して固有値λを変更する。
図13は、第3の実施形態における固有値λの変更方法を説明する図である。図13に示される複素平面図は、第1の実施形態における図2の図と同じである。図13の安定領域曲線1301、1302、1303、1304、1305、及び1306は夫々、図2の安定領域曲線201、202、203、204、205、及び206と同じである。
今、前述した(36)式は、図13の複素平面上では、直線1310に対応する。また、前述した(35)式が満たされる領域は、例えば、虚数部の係数ωが図13の縦軸上で0以上の領域内の上記安定領域曲線1301〜1306の外側の領域である。例えば座標1302が、上記領域に相当する。従って、σとωが、座標1302で代表される関係にあるときには、σとωの座標が例えば直線1310上の位置1321の座標に移動するように、σ又はωの一方の値或いは両方の値が変更される。これにより、変更後の固有値は、安定領域に入ることになる。
同様に、前述した(38)式は、図13の複素平面上では、直線1311に対応する。また、前述した(37)式が満たされる領域は、例えば、虚数部の係数ωが図13の縦軸上で0未満の領域内の上記安定領域曲線1301〜1306の外側の領域である。例えば座標1322が、上記領域に相当する。従って、σとωが、座標1322で代表される関係にあるときには、σとωの座標が例えば直線1311上の位置1323の座標に移動するように、σ又はωの一方の値或いは両方の値が変更される。これにより、変更後の固有値は、安定領域に入ることになる。
上記固有値の変更原理に基づく、固有値変更手段1201の動作について説明する。図14は、固有値変更手段1201の動作例を示すフローチャートである。
まず、図3の固有値計算手段302から、対角行列Λを取得する(図14のステップS1401)。
次に、n個の固有値λ(1≦s≦n)について処理を繰り返すための変数sに値1をセットする(図14のステップS1402)。
その後、変数sの値が上記ステップS1402で値1にセットされた後、図14のステップS1410で変数sの値が+1ずつインクリメントされながら図14のステップS1411で変数sの値が値nを超えたと判断するまで、図14のステップS1403からステップS1409までの一連の処理を繰り返し実行する。以下、これら一連の処理について順次説明する。
まず、ステップS1401で取得した対角行列Λから、変数sの値が示す位置の1つの対角要素の固有値“λ=σ+ωi”を取得する(図14のステップS1403)。ここで、σは固有値λの実部、ωiはiを虚数単位として固有値λの虚数部である。
次に、ステップS1403で取得した固有値λの虚数部ωの値が0以上であるか否かを判定する(図14のステップS1404)。
ステップS1404の判定がYESならば、前述した(35)式に対応する下記(39)式が満たされるか否かを判定する(図14のステップS1405)。
Figure 0006905296
ステップS1405の判定がYESならば、前述した(36)式に対応する下記(40)式の関係が成立するように、例えば下記(41)式に従って実部σの値を変更する(図14のステップS1406)。
Figure 0006905296
Figure 0006905296
なお、(40)式の関係が成立するように、実部σと虚数部ωの両方が変更されてもよい。或いは、(40)式の関係が成立するように、虚数部ωのみが変更されてもよい。
ステップS1405の判定がNOならば、上記ステップS1406の変更処理は実行されず、実部σと虚数部ωは元の値のままとされる。
前述したステップS1404の判定がNOならば、前述した(37)式に対応する下記(42)式が満たされるか否かを判定する(図14のステップS1407)。
Figure 0006905296
ステップS1407の判定がYESならば、前述した(38)式に対応する下記(43)式の関係が成立するように、例えば下記(44)式に従って実部σの値を変更する(図14のステップS1408)。
Figure 0006905296
Figure 0006905296
なお、(43)式の関係が成立するように、実部σと虚数部ωの両方が変更されてもよい。或いは、(43)式の関係が成立するように、虚数部ωのみが変更されてもよい。
ステップS1407の判定がNOならば、上記ステップS1408の変更処理は実行されず、実部σと虚数部ωは元の値のままとされる。
以上のステップS1406の処理の後、ステップS1405の判定がNOの場合、ステップS1408の処理の後、又はステップS1407の判定がNOの場合に、適宜変更後の“σ+ωi”を、修正対角行列(修正固有値包含対角行列)
Figure 0006905296
において、変数sの現在値が示す位置の対角要素の固有値λとして設定する(図14のステップS1409)。
ステップS608の処理の後、変数sの値を+1インクリメントする(図14のステップS1410)。
そして、インクリメント後の変数sの値が対角行列Λの次数nを超えたか否かを判定する(図14のステップS1411)。
ステップS1411の判定がNOならば、ステップS1403の処理に戻って、新たな変数sの値が示す対角行列Λの対角要素位置の固有値λの変更処理を実行する。
ステップS1411の判定がYESになると、図12の固有値変更手段1201の今回の計算ステップにおける処理を終了し、修正対角行列
Figure 0006905296
を、後述する図12の行列算出手段305に出力する。
以上のようにして、本実施形態では、実行される状態方程式が常に積hλに関する安定領域内で解かれるように、対角行列Λの各対角要素の固有値を変更することが可能となる。
図12の説明に戻り、次に行列算出手段1202について説明する。図3の第1の実施形態では、状態方程式計算手段309は、複素固有値を対角要素に持つ対角行列Λを用いて、前述した(3)式及び(4)式に基づいて、解法演算を実行した。しかし、この解法演算は複素演算となるため、対角行列Λの特性によっては、計算時間を要する場合があり得る。
そこで、第3の実施形態では、行列算出手段1202が、固有値変更手段1201で算出された修正対角行列
Figure 0006905296
から、修正係数行列
Figure 0006905296
及び
Figure 0006905296
を得る。そして、図12の状態方程式計算手段1203が、これらの修正係数行列に基づいて修正した状態方程式に対して、実数演算による計算を実行できるようにする。
まず、対角行列Λを得るために使用した前述した(3)式における正則行列P及びその逆行列P−1に基づいて、下記(45)式の変換式が得られる。
Figure 0006905296
行列算出手段1202は、上記(45)式の演算を実行する。即ち、図12において、行列算出手段1202は、前述した図14のフローチャートに基づいて動作する固有値変更手段1201から、修正対角行列
Figure 0006905296
を入力する。また、行列算出手段1202は、固有値計算手段302から、前述した正則行列P及びその逆行列P−1を入力する。行列算出手段1202は、これらの入力したデータに基づいて、(45)式により、係数行列Aに対応する修正係数行列
Figure 0006905296
を算出し、状態方程式計算手段1203に出力する。
なお、行列算出手段1202は、状態方程式計算手段1203における後述する状態方程式の計算のための補足として、上記修正係数行列の逆行列
Figure 0006905296
も算出し、状態方程式計算手段1203に出力する。
また、行列算出手段1202は、係数行列Bについても修正処理を実行する。図3の第1の実施形態において行列算出手段305は、前述した(24)式の演算により、係数行列Bを修正係数行列
Figure 0006905296
に修正した。この(23)式と、前述した(3)式、及び上記(45)式に基づいて、下記(46)式の演算式が得られる。
Figure 0006905296
行列算出手段1202は、上記(46)式の演算を実行する。即ち、図12において、行列算出手段1202は、通信手段301から係数行列Aを入力し、それに対応する逆行列A−1を算出する。また、行列算出手段1202は、通信手段301から係数行列Bを入力する。行列算出手段1202は、これらのデータと、前述の(45)式により算出した修正係数行列
Figure 0006905296
とに基づいて、(46)式により、修正係数行列
Figure 0006905296
を算出し、状態方程式計算手段309に出力する。
最後に、図3の状態方程式計算手段309は、下記(47)式に示される状態方程式を設定する。
Figure 0006905296
状態方程式計算手段309は、(47)式の計算を実際には例えば、前述した(7)式及び(8)式を修正して得られる下記(48)式及び(49)式による、例えば5次のTaylor展開法の差分方程式として実行する。
Figure 0006905296
Figure 0006905296
このようにして、図12から図14で説明した第3の実施形態では、固有値変更手段1201での固有値の変更を更に適切に実行できると共に、状態方程式計算手段1203での状態方程式の解法演算を更に効率的に実行することが可能となる。
次に、第4の実施形態について説明する。前述した(2)式の計算方法として、例えば前述した(27)式及び(28)式においてN=4として4次のTaylor展開法を用いた場合を仮定する。この場合、固有値包含対角行列または修正固有値包含対角行列が含む或る固有値λsと或る計算ステップhに対しては、下記(50)式及び(51)式として示される計算が実質的に計算される。
Figure 0006905296
Figure 0006905296
この時α=0となる積hλが存在する。具体的には、iを虚数単位として、下記(52)式又は(53)式の場合に、上記(51)式においてα=0となる。
Figure 0006905296
Figure 0006905296
の場合に、上記(51)式において、α=0となる。この条件を満たすhλsをゼロ点と言うが、これらのゼロ点を複素平面上で表すと、図15に示されるごとくとなる。図15に示される複素平面図は、第1の実施形態における図2の図と同じである。図15の安定領域曲線1501、1502、1503、及び1504は夫々、図2の安定領域曲線201、202、203、及び204と同じである。図15において、座標点1510及び1511が(52)式の場合に対応し、座標点1512及び1513が(53)式の場合に対応する。図15から理解されるように、これらのゼロ点は、4次のTaylor展開法の安定領域曲線15003の内側、即ち安定領域内に存在することがわかる。
このような固有値の場合、前述した(50)式は、下記(54)式のようになる。
Figure 0006905296
この値はuが一定であれば、xの値、つまり最終値であり、最初の1ステップで最終値に収束してしまい、過渡的な値を得ることができない。最終結果を得るだけの計算であればよいが、SILSやHILSの場合過渡応答も極めて重要であるため、この状態は好ましいものではない。
そこで、第4の実施形態では、このような固有値は、例え計算アルゴリズムの安定領域内であっても、他の値に変更する。第4の実施形態では、前述した図12の第3の実施形態の場合と同様の構成において、固有値変更手段1201が、(51)式においてα=0となる条件を充足することを判別するゼロ点検出手段を更に備える。そして、このゼロ点検出手段は、上記条件が充足されたことを判別した場合に、固有値λを他の固有値に変更する、例えば、下記(55)式のように固有値の変更を行う。あるいは、5次のTaylor展開法で計算する。
Figure 0006905296
前述した(2)式において、下記(56)式の場合には、その固有値は前述した(52)式の値となり、前述した(51)式に対する判別はα=0となる。
Figure 0006905296
図16は、係数行列A、Bを持つ前述した(2)式を、下記の3つの条件で計算した場合における、状態ベクトルXの第1要素x1と第2要素x2の時系列計算結果を示す図である。

1601:オリジナルの4次のTaylor展開法で計算した場合

1602:前述の(55)式のように固有値の変更を行った上で、
4次のTaylor展開法で計算した場合

1603:5次のTaylor展開法で計算した場合

また、図16には、理論値のオリジナルの時系列計算結果1604と、理論値×0.75の時系列計算結果1605も、一緒に示されている。
図16では、2次方程式
Figure 0006905296
の固有値が、図12の第3の実施形態の場合と同様の固有値変更手段1201により、前述の(52)式の場合の値とされる。
次に、図12の第3の実施形態の場合と同様の行列算出手段1202により、修正係数行列
Figure 0006905296
及び
Figure 0006905296
が生成される。
そして、図12の第3の実施形態の場合と同様の状態方程式計算手段1203で前述の(47)式の状態方程式が計算される。図16(a)は横軸:時間(秒)に対する縦軸:dx/dtの計算結果を示しており、図16(b)は横軸:時間(秒)に対する縦軸:xの計算結果を示している。
図16において、固有値が前述した(52)式として示される値のままの計算結果1601では、振動現象は表現できていない。これに対して、第4の実施形態において固有値が0.75倍された計算結果1602では、真値1604とは異なるものの、振動現象は良く表現されていることがわかる。5次のTaylor展開法の計算結果1603も、やはり真値1604とは異なる。
計算結果が真値と異なるのは、固有値の絶対値が大きく4次や5次では計算誤差が大きいためであるので、例えば10次のTaylor展開法などを使用すれば、真値に近い値を得ることができる。
固有値が前述した(53)式として示される値も、第4の実施形態は同様に適用できる。
上述の第4の実施形態では、固有値変更手段1201内のゼロ点検出手段が条件が充足されたことを判別した場合に、例えば下記(55)式のように、固有値λを他の固有値に変更した。これに対し、ゼロ点検出手段が条件が充足されたことを判別した場合に、固有値を変更するのではなく、計算次数Nを変更するようにしてもよい。
以上説明したように、固有値計算手段302と、固有値実部変更手段303/固有値虚数部変更手段304又は固有値変更手段1201とを有する上述の各実施形態によるHILS,SILS計算装置は、いわゆるStiff状態方程式であっても、計算精度が高く、計算速度の速い数値計算手法を用いることが可能となる。
これらの構成がSILSに適用された場合は、計算精度が向上すると同時に計算時間を短縮することが可能となる。
上記構成がHILSに適用された場合には、従来では不可能であったStiff状態方程式で表される制御対象を、リアルタイム処理として模擬することが可能となる。
この結果、制御装置の開発を飛躍的に効率化することが可能となり、産業界の発展に寄与するものである。
101、102、103、201、202、203,204、205、206、1301、1302、1303、1304、1305、1306、1501、1502、1503、1504、 安定領域曲線
207 ナイキスト周波数を超えない範囲
300、1200 HILS計算装置
301 通信手段
302 固有値計算手段
303 固有値実部変更手段
304 固有値虚数部変更手段
305 行列算出手段
306 デジタル信号入力手段
307 電圧入力手段
308 ベクトル算出手段
309 状態方程式計算手段
310 時計装置
311 電圧出力手段
320 ホストコンピュータ
700 SILS計算装置
701 制御装置制御則計算手段
702 行列設定手段
703 ディスプレイ装置

Claims (13)

  1. 制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行することにより、前記制御対象の動作を模擬する計算装置であって、
    制御装置への出力を表す変数ベクトル項と前記制御装置からの入力を表す入力ベクトル項を含み、前記変数ベクトル項及び前記入力ベクトル項に夫々乗算される各係数行列の要素が一定時間において不変な定数とみなせる線形時間不変システムに前記制御対象をモデル化した線形状態方程式を、前記状態方程式として設定する方程式設定手段と、
    前記変数ベクトル項の係数行列を、対角要素が固有値である対角行列又はジョルダン標準形行列の何れかの行列である固有値包含対角行列に変換する固有値計算手段と、
    前記固有値包含対角行列内の各前記固有値が所定の条件を満たす場合に、前記固有値の実部又は虚数部の一方又は両方を所定の定数に変更することにより、前記固有値包含対角行列に対応する修正固有値包含対角行列を出力する固有値変更手段と、
    前記線形状態方程式を前記修正固有値包含対角行列に基づく形式に変換することにより、前記線形状態方程式に対応する修正線形状態方程式を出力する方程式変換手段と、
    前記修正線形状態方程式を差分方程式の形式に変換し、前記差分方程式に対する解法演算を実行することにより、前記制御装置への出力信号を生成する状態方程式計算手段と、
    を備える制御対象の動作を模擬する計算装置。
  2. 前記計算装置はハードウェア・イン・ザ・ループ・シミュレータ装置として動作し、
    前記計算装置は、前記制御装置が備える制御装置側物理的出力手段に接続される計算装置側物理的入力手段と、前記制御装置が備える制御装置側物理的入力手段に接続される計算装置側物理的出力手段とを更に備え、
    前記入力ベクトル項の各要素として、前記制御装置側物理的出力手段から前記計算装置側物理的入力手段に入力する電圧値又は電流値が設定され、
    前記変数ベクトル項の各要素として、前記計算装置側物理的出力手段から前記制御装置側物理的入力手段へ出力される電圧値または電流値、あるいは電磁光学的入力手段の検知対象となる物理値、あるいは通信入力装置に対する通信出力が計算される、
    請求項1に記載の制御対象の動作を模擬する計算装置。
  3. 前記固有値変更手段は、前記固有値包含対角行列内の各前記固有値λの実部σの絶対値|σ|が所定の実部閾値aより大きい場合に、前記固有値λの実部σを所定の実数定数bに変更する、請求項1又は2に記載の制御対象の動作を模擬する計算装置。
  4. 前記固有値変更手段は、iを虚数単位として、前記固有値包含対角行列内の各前記固有値λの虚数部ωiの絶対値|ω|が所定の虚数部閾値cより大きい場合に、前記固有値λの虚数部ωを所定の虚数定数diに変更する、請求項1又は2に記載の制御対象の動作を模擬する計算装置。
  5. 前記固有値変更手段は、iを虚数単位として、前記固有値包含対角行列内の任意の固有値λが、
    Figure 0006905296
    で示される複素固有値であるとき、μ及びγを夫々所定の定数として、
    Figure 0006905296
    で示される関係がある場合に、前記(2)式の関係を満たすようにσ又はωiの一方又は両方を変更して前記固有値λを変更する、
    請求項1又は2に記載の制御対象の動作を模擬する計算装置。
  6. 前記方程式設定手段は、
    Figure 0006905296
    を前記変数ベクトル項の1階導関数、X(t)を前記変数ベクトル項、U(t)を前記入力ベクトル項、Aを前記変数ベクトル項の係数行列、Bを前記入力ベクトル項の係数行列として、前記線形状態方程式として、
    Figure 0006905296
    を設定し、
    前記固有値計算手段は、前記係数行列Aのサイズをnを自然数としてn行n列とし、正則な行列Pを用いて、前記係数行列Aを、
    Figure 0006905296
    で示される演算により、固有値λ、・・・、λ、・・・、λ(1≦s≦n)を前記対角要素とする前記固有値包含対角行列である対角行列Λに変換し、
    前記固有値変更手段は、前記(4)式で示される前記対角行列Λ内の各前記固有値λ=σ+ωi(1≦s≦n)が所定の条件を満たす場合に、前記固有値λを所定の定数に変更することにより、前記修正固有値包含対角行列である修正対角行列として
    Figure 0006905296
    を出力し、
    前記方程式変換手段は、前記係数行列Bを、
    Figure 0006905296
    で示される演算により、修正係数行列
    Figure 0006905296
    に変換し、前記(3)式で示される前記線形状態方程式に対応する前記修正線形状態方程式を、
    Figure 0006905296
    Figure 0006905296
    として出力し、更に、C及びDを係数行列として、前記制御装置への前記出力信号のベクトルY(t)を出力するための、
    Figure 0006905296
    で示される出力方程式を出力し、
    前記状態方程式計算手段は、前記(6)式と(7)式とで示される前記出力状態方程式を前記差分方程式の形式に変換し、前記差分方程式に対する前記解法演算を実行することにより解Z(t)を計算し、更に、前記(8)式で示される前記出力方程式を他の差分方程式に変換し、前記他の差分方程式に対する他の解法演算を実行することにより前記出力信号のベクトルY(t)を計算して前記制御装置に出力する、
    請求項1乃至5の何れか一項に記載の制御対象の動作を模擬する計算装置。
  7. 前記方程式設定手段は、
    Figure 0006905296
    を前記変数ベクトル項の1階導関数、X(t)を前記変数ベクトル項、U(t)を前記入力ベクトル項、Aを前記変数ベクトル項の係数行列、Bを前記入力ベクトル項の係数行列として、前記線形状態方程式として、
    Figure 0006905296
    を設定し、
    前記固有値計算手段は、前記係数行列Aのサイズをnを自然数としてn行n列とし、正則な行列Pを用いて、前記係数行列Aを、
    Figure 0006905296
    で示される演算により、固有値λ、・・・、λ、・・・、λ(1≦s≦n)を前記対角要素とする前記固有値包含対角行列である対角行列Λに変換し、
    前記固有値変更手段は、前記(10)式で示される前記対角行列Λ内の各前記固有値λ=σ+ωi(1≦s≦n)が所定の条件を満たす場合に、前記固有値λを所定の定数に変更することにより、前記修正固有値包含対角行列である修正対角行列として
    Figure 0006905296
    を出力し、
    前記方程式変換手段は、前記係数行列Aを、
    Figure 0006905296
    で示される演算により、修正係数行列
    Figure 0006905296
    に変換し、前記係数行列Bを、
    Figure 0006905296
    で示される演算により、修正係数行列
    Figure 0006905296
    に変換し、前記(9)式で示される前記線形状態方程式に対応する前記修正線形状態方程式を、
    Figure 0006905296
    として出力し、更に、C及びDを係数行列として、前記制御装置への前記出力信号のベクトルY(t)を出力するための、
    Figure 0006905296
    で示される出力方程式を出力し、
    前記状態方程式計算手段は、前記(13)式で示される前記出力状態方程式を前記差分方程式の形式に変換し、前記差分方程式に対する前記解法演算を実行することにより解X(t)を計算し、更に、前記(14)式で示される前記出力方程式を他の差分方程式に変換し、前記他の差分方程式に対する他の解法演算を実行することにより前記出力信号のベクトルY(t)を計算して前記制御装置に出力する、
    請求項1乃至5の何れか一項に記載の制御対象の動作を模擬する計算装置。
  8. 前記方程式設定手段は、
    Figure 0006905296
    を前記変数ベクトル項の1階導関数、X(t)を前記変数ベクトル項、U(t)を前記入力ベクトル項、Aを前記変数ベクトル項の係数行列、Bを前記入力ベクトル項の係数行列として、前記線形状態方程式として、
    Figure 0006905296
    を設定し、
    前記固有値計算手段は、前記係数行列Aのサイズをnを自然数としてn行n列とし、正則な行列Pを用いて、前記係数行列Aを、
    Figure 0006905296
    Figure 0006905296
    で示される演算により、固有値λ、・・・、λ、・・・、λ(1≦s≦m)を前記対角要素に含む前記固有値包含対角行列であるジョルダン標準形行列Jに変換し、
    前記固有値変更手段は、前記(16)式及び前記(17)式で示される前記ジョルダン標準形行列J内の各前記固有値λ=σ+ωi(1≦s≦m)が所定の条件を満たす場合に、前記固有値λを所定の定数に変更することにより、前記修正固有値包含対角行列である修正対角行列として
    Figure 0006905296
    を出力し、
    前記方程式変換手段は、前記係数行列Bを、
    Figure 0006905296
    で示される演算により、修正係数行列
    Figure 0006905296
    に変換し、前記(15)式で示される前記線形状態方程式に対応する前記修正線形状態方程式を、
    Figure 0006905296
    Figure 0006905296
    として出力し、更に、C及びDを係数行列として、前記制御装置への前記出力信号のベクトルY(t)を出力するための、
    Figure 0006905296
    で示される出力方程式を出力し、
    前記状態方程式計算手段は、前記(19)式と(20)式とで示される前記出力状態方程式を前記差分方程式の形式に変換し、前記差分方程式に対する前記解法演算を実行することにより解Z(t)を計算し、更に、前記(21)式で示される前記出力方程式を他の差分方程式に変換し、前記他の差分方程式に対する他の解法演算を実行することにより前記出力信号のベクトルY(t)を計算して前記制御装置に出力する、
    請求項1乃至5の何れか一項に記載の制御対象の動作を模擬する計算装置。
  9. 前記方程式設定手段は、
    Figure 0006905296
    を前記変数ベクトル項の1階導関数、X(t)を前記変数ベクトル項、U(t)を前記入力ベクトル項、Aを前記変数ベクトル項の係数行列、Bを前記入力ベクトル項の係数行列として、前記線形状態方程式として、
    Figure 0006905296
    を設定し、
    前記固有値計算手段は、前記係数行列Aのサイズをnを自然数としてn行n列とし、正則な行列Pを用いて、前記係数行列Aを、
    Figure 0006905296
    Figure 0006905296
    で示される演算により、固有値λ、・・・、λ、・・・、λ(1≦s≦m)を前記対角要素に含む前記固有値包含対角行列であるジョルダン標準形行列Jに変換し、
    前記固有値変更手段は、前記(23)式及び前記(24)式で示される前記ジョルダン標準形行列J内の各前記固有値λ=σ+ωi(1≦s≦m)が所定の条件を満たす場合に、前記固有値λを所定の定数に変更することにより、前記修正固有値包含対角行列である修正対角行列として
    Figure 0006905296
    を出力し、
    前記方程式変換手段は、前記係数行列Aを、
    Figure 0006905296
    で示される演算により、修正係数行列
    Figure 0006905296
    に変換し、前記係数行列Bを、
    Figure 0006905296
    で示される演算により、修正係数行列
    Figure 0006905296
    に変換し、前記(22)式で示される前記線形状態方程式に対応する前記修正線形状態方程式を、
    Figure 0006905296
    として出力し、更に、C及びDを係数行列として、前記制御装置への前記出力信号のベクトルY(t)を出力するための、
    Figure 0006905296
    で示される出力方程式を出力し、
    前記状態方程式計算手段は、前記(27)式で示される前記出力状態方程式を前記差分方程式の形式に変換し、前記差分方程式に対する前記解法演算を実行することにより解X(t)を計算し、更に、前記(28)式で示される前記出力方程式を他の差分方程式に変換し、前記他の差分方程式に対する他の解法演算を実行することにより前記出力信号のベクトルY(t)を計算して前記制御装置に出力する、
    請求項1乃至5の何れか一項に記載の制御対象の動作を模擬する計算装置。
  10. 前記状態方程式計算手段は、Nを任意の自然数として、
    Figure 0006905296
    Figure 0006905296
    で示される前記差分方程式に対する、Taylor展開法又はこれと等価な計算式となるRunge−Kutta法による解法演算を実行し、
    或る計算ステップhに対して、前記固有値λが、
    Figure 0006905296
    で示される条件を充足することを判別するゼロ点検出手段を更に備え、
    前記固有値変更手段は、前記ゼロ点検出手段が前記(31)式で示される条件が充足されたことを判別した場合に、前記固有値λを他の固有値に変更する、
    請求項1、2、3、4、5、7、又は9の何れか一項に記載の制御対象の動作を模擬する計算装置。
  11. 前記状態方程式計算手段は、Nを任意の自然数として、
    Figure 0006905296
    Figure 0006905296
    で示される前記差分方程式に対する、Taylor展開法又はこれと等価な計算式となるRunge−Kutta法による解法演算を実行し、
    或る計算ステップhに対して、前記固有値λが、
    Figure 0006905296
    で示される条件を充足することを判別するゼロ点検出手段を更に備え、
    前記方程式変換手段は、前記ゼロ点検出手段が前記(35)式で示される条件が充足されたことを判別した場合に、前記Nの値を変更する、
    請求項1、2、3、4、5、7、又は9の何れか一項に記載の制御対象の動作を模擬する計算装置。
  12. 制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行することにより、前記制御対象の動作を模擬する計算装置に、
    制御装置への出力を表す変数ベクトル項と前記制御装置からの入力を表す入力ベクトル項を含み、前記変数ベクトル項及び前記入力ベクトル項に夫々乗算される各係数行列の要素が一定時間定数とみなせる線形時間不変システムに前記制御対象をモデル化した線形状態方程式を、前記状態方程式として設定する方程式設定処理と、
    前記変数ベクトル項の係数行列を、対角要素が固有値である対角行列又はジョルダン標準形行列の何れかの行列である固有値包含対角行列に変換する固有値計算処理と、
    前記固有値包含対角行列内の各前記固有値が所定の条件を満たす場合に、前記固有値の実部又は虚数部を所定の定数に変更することにより、前記固有値包含対角行列に対応する修正固有値包含対角行列を出力する固有値変更処理と、
    前記線形状態方程式を前記修正固有値包含対角行列に基づく形式に変換することにより、前記線形状態方程式に対応する修正線形状態方程式を出力する方程式変換処理と、
    前記修正線形状態方程式を差分方程式の形式に変換し、前記差分方程式に対する解法演算を実行することにより、前記制御装置への出力信号を生成する状態方程式計算処理と、
    を実行させる、計算装置において状態方程式を解く演算の実行方法。
  13. 制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行することにより、前記制御対象の動作を模擬する計算装置に、
    制御装置への出力を表す変数ベクトル項と前記制御装置からの入力を表す入力ベクトル項を含み、前記変数ベクトル項及び前記入力ベクトル項に夫々乗算される各係数行列の要素が一定時間定数とみなせる線形時間不変システムに前記制御対象をモデル化した線形状態方程式を、前記状態方程式として設定する方程式設定処理と、
    前記変数ベクトル項の係数行列を、対角要素が固有値である対角行列又はジョルダン標準形行列の何れかの行列である固有値包含対角行列に変換する固有値計算処理と、
    前記固有値包含対角行列内の各前記固有値が所定の条件を満たす場合に、前記固有値の実部又は虚数部を所定の定数に変更することにより、前記固有値包含対角行列に対応する修正固有値包含対角行列を出力する固有値変更処理と、
    前記線形状態方程式を前記修正固有値包含対角行列に基づく形式に変換することにより、前記線形状態方程式に対応する修正線形状態方程式を出力する方程式変換処理と、
    前記修正線形状態方程式を差分方程式の形式に変換し、前記差分方程式に対する解法演算を実行することにより、前記制御装置への出力信号を生成する状態方程式計算処理と、
    を実行させるためのプログラム。
JP2021031661A 2021-03-01 2021-03-01 制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム Active JP6905296B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021031661A JP6905296B1 (ja) 2021-03-01 2021-03-01 制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021031661A JP6905296B1 (ja) 2021-03-01 2021-03-01 制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6905296B1 true JP6905296B1 (ja) 2021-07-21
JP2022132922A JP2022132922A (ja) 2022-09-13

Family

ID=76918225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021031661A Active JP6905296B1 (ja) 2021-03-01 2021-03-01 制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6905296B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7343731B1 (ja) * 2022-09-07 2023-09-12 ファナック株式会社 プラントモデル生成装置及びコンピュータ読み取り可能な記録媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040020356A1 (en) * 2000-10-17 2004-02-05 Harri Ojanen Simulation of a system a mechanical subsystem and a hydraulic subsystem
JP2014199635A (ja) * 2013-03-11 2014-10-23 株式会社リコー 計算装置及びシミュレーションシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040020356A1 (en) * 2000-10-17 2004-02-05 Harri Ojanen Simulation of a system a mechanical subsystem and a hydraulic subsystem
JP2014199635A (ja) * 2013-03-11 2014-10-23 株式会社リコー 計算装置及びシミュレーションシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中村昌弘、關根惟敏、井上雄太、浅井秀樹: "安定化陽的メッシュレス法による電磁界解析", 電子情報通信学会技術研究報告, vol. 117, no. 503, JPN6021022500, 5 March 2018 (2018-03-05), JP, pages 123 - 128, ISSN: 0004528757 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7343731B1 (ja) * 2022-09-07 2023-09-12 ファナック株式会社 プラントモデル生成装置及びコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2022132922A (ja) 2022-09-13

Similar Documents

Publication Publication Date Title
JP7133894B2 (ja) データに基づくインタラクティブ3dエクスペリエンス
US10311180B2 (en) System and method of recovering Lagrange multipliers in modal dynamic analysis
Sadjina et al. Distributed co-simulation of maritime systems and operations
CN110059330B (zh) 用于创作模拟场景的方法和系统
US20150127301A1 (en) Updating A CAD Model To Reflect Global Or Local Shape Changes
EP1817646A2 (en) Method for analysis of control systems
US10685154B2 (en) Analytical consistent sensitivities for nonlinear equilibriums, where the only source of nonlinearities is small sliding contact constraints
WO2022220077A1 (ja) 常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体
US20150178424A1 (en) CAD-Based Initial Surface Geometry Correction
CN118133437B (zh) 船舶局部结构强度分析方法、装置、计算机设备、及介质
JP6905296B1 (ja) 制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム
Skjong et al. On the numerical stability in dynamical distributed simulations
US20200201951A1 (en) Local Control of Design Patterns on Surfaces for Enhanced Physical Properties
US20190243942A1 (en) Vehicular liquid container design and manufacture
US8078446B2 (en) Linear time-invariant system modeling apparatus and method of generating a passive model
US10599879B2 (en) Optimal pressure-projection method for incompressible transient and steady-state navier-stokes equations
JP2021012605A (ja) 伝達関数の予測方法
US11379627B2 (en) Vehicular liquid container design and manufacture
Allmaras et al. Output-based Mesh Adaptation Using Commercial Mesh Generation Software
US20230142773A1 (en) Method and system for real-time simulations using convergence stopping criterion
US11922314B1 (en) Systems and methods for building dynamic reduced order physical models
WO2024107249A1 (en) Accelerated multiphysics assessment for airbag design
Chu et al. Applying Acausal Physics-Based Modeling and Model-Based Systems Engineering to Improve System Model Scalability and Reusability
van de Par et al. HIGHLY EFFICIENT COMPUTATION OF HRTFS BY KRYLOV SUBSPACE-BASED MODEL ORDER REDUCTION FOR VIRTUAL ACOUSTICAL RENDERING
US20040243363A1 (en) Method for simulating a technical system and simulator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210426

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210618

R150 Certificate of patent or registration of utility model

Ref document number: 6905296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250