以下に、本発明に係る制御系設計支援装置、制御系設計支援方法、及び制御系設計支援プログラムの一実施形態について、図面を参照して説明する。本実施形態に係る制御系設計支援装置1は、例えば、図1に示すようなブロック線図となる制御システム(以下、単に「システム」という。)に適用される。図1に示すシステム(制御システム)には、制御系(制御装置)と、制御対象の機械系とが含まれており、ブロック線図で表現されているものとする。例えば、システムにおける機械系に非線形要素が含まれている場合であっても、制御系を調整することで、システム全体を安定に運転することが可能となる。本実施形態における制御系設計支援装置1は、制御系を調整(設計)するために必要な適切なゲイン定数を算出することが可能である。
なお、図1に示すシステムは一例であり、複雑なブロック線図の中に非線形要素が含まれるようなシステムであっても本実施形態における制御系設計支援装置1を適用可能である。すなわち、本実施形態の制御系設計支援装置1は、図1のような単純なシステムに限定されず、非線形要素(例えば、ガタや摩擦等)を含むシステム(例えば、航空機や水中航走体等)に幅広く適用することができる。
図1は、本発明の一実施形態に係る制御系設計支援装置1が適用されるフィードバックシステムを示した図である。図1に示すフィードバックシステムは、線形要素の伝達関数G(s)と、非線形要素の記述関数N(a)とを有しており、システムの出力yが入力r側にフィードバックされる構成となっている。なお、本実施形態では、非線形要素がガタ(不感帯幅δ)である場合について説明するが、他の非線形要素(例えば、摩擦や飽和等)であっても同様に適用することが可能である。なお、線形要素の伝達関数G(s)は周波数(s=jω)を変数としており、非線形要素の記述関数N(a)は、非線形要素へ入力される信号の振幅a(基本波の振幅)を変数としている。
システムの安定性を判定するための一手法であるナイキストの安定判別法では、開ループ伝達関数が−1となるときに安定限界条件となる。図1のようなフィードバックシステムにおいても、入力を0として系をP点で開いた場合のループ(開ループ)として考えた場合には、ナイキストの安定判別法を適用することができる。具体的には、該開ループより伝達関数(開ループ伝達関数)はG(s)・N(a)となり、安定限界条件では以下の(1)式を得る。なお、(1)式は、フィードバックシステムの閉ループ伝達関数より算出される特性方程式と同等となる。
(1)式を更に式変形すると、以下の(2)式を得ることができる。
(2)式において、左辺は線形要素の伝達関数(以下、「線形関数」という。)であり、右辺は、非線形要素の記述関数の逆関数に−1を乗じた関数(以下、「非線形関数」という)である。なお、図1に記載のシステムでは、線形要素の伝達関数と線形関数とは同一となる。(2)式より、複素平面上において、線形関数の軌跡(周波数応答)と、非線形関数の軌跡(非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答)とが交差した場合にリミットサイクルが発生することとなる。非線形要素が不感帯の場合、非線形関数は、非線形要素への入力信号の振幅の値が増加するに従って、複素平面上における実軸上を−1から無限大へ変化する関数である。
例えば、線形関数と非線形関数が図2のような関係である場合には、線形関数の軌跡と非線形関数の軌跡は交差しないため、図1に示すシステムは安定であると判定することができる。また、線形関数と非線形関数が図3のような関係である場合には、線形関数の軌跡と非線形関数の軌跡は交差しているため、(1)式の条件が満たされることとなり、図1に示すシステムは不安定(リミットサイクルが発生する状態)であると判定することができる。
例えば、線形関数の軌跡と非線形関数の軌跡とが図2のような関係であり、互いに交点がない場合には、システムとしては安定であるが、リミットサイクルの発生条件まで余裕がある。すなわち、システムの安定性を保ちつつ、制御系を含む線形関数の特性を改善することが可能となる。例えば、線形関数に含まれる制御系において、予め設定したゲイン定数Kを変化させることで、制御性能を向上させることが可能である。すなわち、線形関数G(s)において、ゲイン定数Kを可変パラメータとして、線形関数G(s、K)をみなす。例えば、制御系設計支援装置1が対象とするシステムに、制御系として、ゲイン定数を用いて表される位置制御部が含まれている場合には、該位置制御部のゲイン定数を可変パラメータとみなして、後述する制御系設計支援装置1の各種処理を実行し、最適なゲイン定数を推定する。本実施形態では、線形関数における制御系に含まれる位置制御部のゲイン定数を可変パラメータとみなすこととする。本実施形態では、制御系設計支援装置1を用いて、システムの安定性を維持できるとともに制御性能を最大化することが可能なゲイン定数Kの最適値を算出する。制御系設計支援装置1が対象とするシステムの具体例については、後述する。なお、制御系として他の制御部(例えば、速度制御部等)が備えられている場合には、該他の制御部のゲイン定数を可変パラメータとみなして、後述する制御系設計支援装置1の各種処理を行うこととしてもよい。線形関数における可変パラメータは、適宜設定可能である。すなわち、本実施形態においては、線形関数に含まれる任意のパラメータ(例えば、位置制御部のゲイン定数)を最適化することで、システムの安定性を維持しつつ、性能を向上させる。
制御系設計支援装置1は、予め設定された複数通りの制御仕様に適応するゲイン定数(第1ゲイン定数、第2ゲイン定数、第3ゲイン定数)を算出する。特に、制御系設計支援装置1は、非線形要素から出力される高調波を考慮して、より安定性の高いシステムを構築するためのゲイン定数(第1ゲイン定数)を算出する。システムの設計者は、システムの机上設計時に本実施形態における制御系設計支援装置1を用いることで、設定した制御仕様に適応する最適なゲイン定数を容易に得ることができ、ゲイン定数を用いて最適なシステム設計を行うことが可能となる。
制御系設計支援装置1は、例えば、図示しないCPU(中央演算装置)、RAM(Random Access Memory)等のメモリ、及びコンピュータ読み取り可能な記録媒体等を備えている。後述の各種機能を実現するための一連の処理の過程は、プログラムの形式で記録媒体等に記録されており、このプログラムをCPUがRAM等に読み出して、情報の加工・演算処理を実行することにより、後述の各種機能が実現される。
図4は、制御系設計支援装置1が備える機能を示した機能ブロック図である。図4に示されるように、制御系設計支援装置1は、開ループ伝達関数算出部2と、分離部3と、角度算出部4と、閾値設定部5と、ゲイン算出部6と、選定部7と、を備えている。
開ループ伝達関数算出部2は、システムにおける開ループ伝達関数を算出する。具体的には、開ループ伝達関数算出部2は、設計者が制御系設計支援装置1に対して入力したシステムのブロック線図(機械系の各数式モデル(伝達関数)、制御系の数式モデル、非線形要素の記述関数等)に対して、開ループ伝達関数を算出する。なお、システムが図1のようなフィードバックシステムである場合には、ナイキストの安定判別法を適用するために、例えばP点で閉ループを開いて開ループとし、該開ループにおける開ループ伝達関数を算出する。算出された開ループ伝達関数は、分離部3へ出力される。なお、開ループ伝達関数が制御系設計支援装置1の使用者から直接入力される場合には、開ループ伝達関数算出部2を備えないこととしてもよい。
分離部3は、開ループ伝達関数を、安定限界条件に基づいて、線形要素の伝達関数を含む関数である線形関数と、非線形要素の記述関数の逆関数に−1を乗じた関数である非線形関数とに分離する。具体的には、開ループ伝達関数は、−1と等しくなるときに安定限界条件となる。このため、分離部3は、開ループ伝達関数の安定限界条件から、式変形を行うことで非線形要素の記述関数の逆関数に−1を乗じた関数(非線形関数)と線形要素の伝達関数を含む関数(線形関数)とに分離する。例えば、図1のシステムでは、開ループ伝達関数の安定限界条件は(1)式で表される。分離部3は、(1)式を変形することによって(2)式を算出し、線形関数((2)式の左辺)と非線形関数((2)式の右辺)とに分離する。このように、線形関数と非線形関数とに分離することで、周波数を変数とする関数(線形関数)と、非線形要素への入力信号の振幅を変数とする関数(非線形関数)とを別々の関数として分離することができ、複素平面上おける安定解析の見通しをよくすることができる。なお、分離後の線形関数と非線形関数が制御系設計支援装置1の使用者から直接入力される場合には、分離部3を備えないこととしてもよい。
角度算出部4は、複素平面上において、非線形要素への入力信号の振幅の値を非線形関数に入力したときの出力点と原点とを結ぶ線分を直角三角形の底辺とし、入力信号を非線形要素に与えた場合の出力における所定の次数の高調波の振幅の値を持つ線分を直角三角形の対辺とした場合に、底辺と直角三角形の斜辺のなす角度を算出する。なお、本実施形態では、所定の次数の高調波として3次高調波を用いることとする。また、角度算出部4において用いる非線形要素への入力信号とは、システムを動作させた場合に実際に非線形要素へ入力される信号(例えば、正弦波)の振幅である。
角度算出部4における角度算出の概念図を図5に示す。図5において、A1点は、非線形要素へ入力される入力信号の振幅(基本波の振幅)がa1である時の非線形関数の出力値であり、A2は、非線形要素へ入力される入力信号の振幅(基本波の振幅)がa2である時の非線形関数の出力値である。そして、円c1における距離L1は、振幅a1の入力信号が非線形要素に入力された場合に出力される信号の3次高調波の振幅であり、円c2における距離L2は、振幅a2の入力信号が非線形要素に入力された場合に出力される信号の3次高調波の振幅である。なお、非線形要素が不感帯の場合、振幅a1は振幅a2より小さく、非線形要素(不感帯幅δ)に入力される振幅が小さいほど出力信号はひずむため、3次高調波の振幅は大きくなる(L1>L2)。一般的な安定判定法では、線形関数の軌跡が非線形関数の軌跡と交差する場合に不安定であると判定される。すなわち、非線形要素が不感帯の場合は、線形関数の軌跡の位相が−180度となる場合に不安定と判定される。しかしながら、高調波を考慮すると、非線形要素へ入力される入力信号の振幅がa1である時には、円c1で囲まれる範囲内についても、不安定となる可能性がある。すなわち、高調波成分を考慮して、より確実にシステムを安定化させるためには、線形関数の軌跡は、図5に示す円の範囲外になければならない。
実際に非線形要素へ入力される入力信号の振幅をa1とすると、角度算出部4は、振幅a1を非線形関数へ代入した場合における出力値(A1)を算出する。そして、該出力値分の大きさをもつ線分(複素平面上において、非線形関数の出力値A1と原点0とを結ぶ線分)を算出し、直角三角形の底辺として仮想的に設定する。また、角度算出部4は、実際に非線形要素へ入力される該振幅a1を持つ入力信号が非線形要素に入力された場合に出力される信号について、3次高調波の振幅(L1)を算出する。そして、3次高調波の振幅の大きさ(L1)を持つ線分を、直角三角形の対辺として仮想的に設定する。そして、底辺と対辺が設定された直角三角形について、底辺と斜辺がなす角度θを算出する。なお、角度θについては、逆正接関数を用いるなど様々な方法を適用することができる。
非線形要素の不感帯幅δと非線形要素へ入力される入力信号の振幅aとの比に基づいて、角度を算出した例を図6に示す。不感帯幅δを一定とすると、入力信号の振幅aが大きい(a/δが大きい)ほど、非線形要素から出力される信号の高調波の振幅は小さくなる(出力信号の歪が小さくなる)ため、角度算出部4によって算出される角度は小さくなる。一方で、入力信号の振幅aが小さい(a/δが小さい)ほど、非線形要素から出力される信号の高調波の振幅は大きくなる(出力信号の歪が大きくなる)ため、角度算出部4によって算出される角度は大きくなる。すなわち、非線形要素の不感帯幅δに対して非線形要素へ入力される入力信号の振幅aが小さいほど、高周波成分が寄与して、リミットサイクルが発生するかどうか、すなわち安定解析の誤差が大きくなる。
閾値設定部5は、角度に基づいて位相閾値を設定する。具体的には、閾値設定部5は、−180度に算出した角度(絶対値)を加算した値から−90度の範囲において位相閾値を設定する。例えば、閾値設定部5は、−180度に角度算出部4で算出した角度を加算した値を位相閾値として算出する。角度算出部4において算出された値が1度であった場合には、閾値設定部5は、−180度+1度(角度算出部4で算出した角度)=−179度を位相閾値と設定する。すなわち、線形関数の軌跡における位相の最小値が−179度以上である場合には、高周波が起因したとしてもシステムの安定性を向上させることができる。
ゲイン算出部6は、予め設定された複数の制御仕様に適応する複数のゲイン定数を算出する。本実施形態では、3種類の条件(制御仕様)に対応するゲイン定数をそれぞれ算出する。具体的には、ゲイン算出部6は、線形関数の周波数応答における位相の最小値が位相閾値以上となる最大のゲイン定数を第1ゲイン定数として算出する。また、ゲイン算出部6は、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差しない条件を満たす、ゲイン定数の最大値を第2ゲイン定数として算出する。また、ゲイン算出部6は、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差している場合において、予め設定した最大許容振幅または最大許容周波数のリミットサイクルが発生するときのゲイン定数の最大値を第3ゲイン定数として算出する。なお、本実施形態では、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差しておらず、線形関数におけるゲイン定数を増加させる余裕がある場合を例として説明する。
第1ゲイン定数は、非線形要素の出力における所定の次数の高調波を考慮し、より確実にリミットサイクルを避けることが可能なゲイン定数である。このため、第1ゲイン定数は、第2ゲイン定数及び第3ゲイン定数と比較して最も小さい値となる。第1ゲイン定数を算出するために、ゲイン算出部6は、ゲイン定数(例えば、1)を仮設定し、線形関数の軌跡(周波数応答)を算出する。そして、ゲイン算出部6は、算出した周波数応答においてとり得る位相の最小値を算出し、位相の最小値が位相閾値以上であるか否かを判定する。そして、位相の最小値が位相閾値以上である場合(位相が位相閾値に達しておらず、ゲイン定数を増加する余裕がある状態)には、仮設定したゲイン定数に所定数(例えば、1)を加算することによってゲイン定数を更新する。そして、更新したゲイン定数における線形関数の軌跡(周波数応答)を算出し、算出した周波数応答においてとり得る位相の最小値を算出し、位相の最小値が位相閾値以上であるか否かを判定する。そして、位相の最小値が位相閾値以上である場合には、ゲイン定数に対して更に所定数を加算して更新し、上記の処理を繰り返し実行する。そして、位相の最小値が位相閾値以上でないと判定された場合(位相の最小値が、位相閾値(例えば−179度)から−180度の範囲内にあり、高調波の影響によりリミットサイクルが発生する可能性のある状態)には、設定されているゲイン定数から該所定数を減算して第1ゲイン定数を算出する。すなわち、ゲイン算出部6は、線形関数の軌跡(周波数応答)においてとり得る位相の最小値が位相閾値以上となる最大のゲイン定数を第1ゲイン定数として算出している。
線形関数におけるゲイン定数が第1ゲイン定数である場合であっても、線形関数の周波数特性は、角度算出部4によって算出された角度以上の位相の余裕を保つことができるため、非線形要素の出力において高調波が影響したとしても、より確実にリミットサイクルを防止することができる。算出された第1ゲイン定数は、選定部7へ出力される。
第2ゲイン定数は、リミットサイクルを避けるために、非線形要素の出力における基本波のみを考慮したゲイン定数である。第2ゲイン定数は、第1ゲイン定数より大きく、第3ゲイン定数より小さい値となる。本実施形態において、第2ゲイン定数は、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差しない条件を満たせばよいため、第1ゲイン定数の算出条件より条件が緩和されている。このため、第2ゲイン定数の算出は、第1ゲイン定数が算出された後に開始される。
第2ゲイン定数を算出するために、ゲイン算出部6は、ゲイン定数を算出した第1ゲイン定数の値(または、算出した第1ゲイン定数の値に所定値を加算した値)として仮設定し、線形関数の軌跡(周波数応答)を算出する。そして、ゲイン算出部6は、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差しているか否かを判定する。そして、交差していない場合には、仮設定したゲイン定数に所定数(例えば、1)を加算することによってゲイン定数を更新する。そして、更新したゲイン定数における線形関数の軌跡(周波数応答)を算出し、上記の処理を繰り返し実行する。そして、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差していると判定された場合には、設定されているゲイン定数から該所定数を減算して、第2ゲイン定数を算出する。すなわち、ゲイン算出部6は、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差しない場合における最大のゲイン定数を第2ゲイン定数として算出する。
線形関数におけるゲイン定数が第2ゲイン定数である場合であっても、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とは交差しないため、リミットサイクルを防止することができる。しかし、第2ゲイン定数は、第1ゲイン定数と比較して、線形関数の周波数応答を示す軌跡がより−180度に近くなるため、非線形要素の出力において高調波が影響した場合には、リミットサイクルが発生する可能性がある。しかしながら、第2ゲイン定数は、第1ゲイン定数と比較してより大きな値とすることができるため、制御系を含む線形関数の特性をより向上させることができる。算出された第1ゲイン定数は、選定部7へ出力される。
第3ゲイン定数は、所定の条件においてリミットサイクルの発生を許容した場合におけるゲイン定数である。第3ゲイン定数は、第1ゲイン定数及び第2ゲイン定数より大きい値となる。本実施形態において、第3ゲイン定数は、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差してもよい(リミットサイクルの発生を許容している)ため、第2ゲイン定数の算出条件より条件が緩和されている。このため、第3ゲイン定数の算出は、第2ゲイン定数が算出された後に開始される。
第3ゲイン定数を算出するために、ゲイン算出部6は、ゲイン定数を算出した第2ゲイン定数の値(または、算出した第2ゲイン定数の値に所定値を加算した値)として仮設定し、線形関数の軌跡(周波数応答)を算出する。そして、ゲイン算出部6は、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差している場合に、交差点から、リミットサイクルの振幅と周波数を算出する。そして、リミットサイクルの振幅が最大許容振幅以上であるか否か、及びリミットサイクルの周波数が最大許容周波数以上であるか否かを判定する。そして、両条件が満たされない場合には、仮設定したゲイン定数に所定数(例えば、1)を加算することによってゲイン定数を更新する。そして、更新したゲイン定数における線形関数の軌跡(周波数応答)を算出し、上記の処理を繰り返し実行する。そして、リミットサイクルの振幅が最大許容振幅以上であると判定された場合、またはリミットサイクルの周波数が最大許容周波数以上であると判定された場合には、設定されているゲイン定数から該所定数を減算して、第3ゲイン定数を算出する。すなわち、ゲイン算出部6は、発生するリミットサイクルの振幅が最大許容振幅未満であって、かつ、発生するリミットサイクルの周波数が最大許容周波数未満である場合における最大のゲイン定数を第3ゲイン定数として算出する。
なお、最大許容振幅及び最大許容周波数は、制御系設計支援装置1が適用されるシステムにおいて発生が許容されるリミットサイクルの特性(振幅及び周波数)に基づいて決定される。
線形関数におけるゲイン定数が第3ゲイン定数である場合には、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とは交差するため、最大許容振幅未満の振幅であり、かつ、最大許容周波数未満の周波数をもつリミットサイクルが発生する。しかし、第3ゲイン定数は、第1ゲイン定数及び第2ゲイン定数と比較して、大きな値とすることができるため、制御系を含む線形関数の特性をより向上させることができる。算出された第3ゲイン定数は、選定部7へ出力される。
なお、ゲイン算出部6では、ゲイン定数を更新する場合に所定数(例えば、1)を加算することとしたが、所定数については制御系設計支援装置1が適用されるシステムに応じて適切な値を設定することができる。また、所定数を加算することに限られず、所定数倍(例えば、1.2倍)することとしてもよい。
選定部7は、ゲイン算出部6において算出された第1ゲイン定数、第2ゲイン定数、及び第3ゲイン定数の中から制御系設計支援装置1が適用されるシステムに対して予め設定された制御仕様を満たすゲイン定数を選定する。制御仕様とは、例えば、応答速度等であり、制御系設計支援装置1の使用者によって指定される。ゲイン定数は小さいほど(例えば、第1ゲイン定数)、システムの安定性が確保できるものの、応答速度が劣化する。このため、選定部7は、指定された制御仕様(応答速度)を確保できるとともに、システムの安定性に最も適したゲイン定数を、第1ゲイン定数、第2ゲイン定数、及び第3ゲイン定数の中から自動的に選定する。制御系設計支援装置1の使用者は、選定部7にて選定されたゲイン定数を用いることによって、制御仕様が満たされるシステムを設計することができる。なお、制御系設計支援部は、選定部7によって選定を行わずに、ゲイン算出部6において算出された第1ゲイン定数、第2ゲイン定数、及び第3ゲイン定数をすべて使用者に通知することとしてもよい。
次に、上述の制御系設計支援装置1によるゲイン定数算出処理について図7を参照して説明する。図7に示すフローは、制御系設計支援装置1の使用者によって、ゲイン定数の算出指令がされた場合に開始される。
まず、制御系設計支援装置1が適用されるシステムの開ループ伝達関数を算出する(S101)。次に、開ループ伝達関数を、安定限界条件に基づいて、線形関数と非線形関数とに分離する(S102)。
次に、複素平面上において、非線形要素へ実際に入力される入力信号の振幅の値を非線形関数に入力したときの出力点と原点とを結ぶ線分を直角三角形の底辺とし、該入力信号を非線形要素に与えた場合の出力における所定の次数の高調波の振幅の値を持つ線分を直角三角形の対辺とした場合に、底辺と直角三角形の斜辺のなす角度を算出する(S103)。
次に、算出した角度に基づいて、位相閾値を算出する(S104)。
次に、ゲイン定数を初期値(例えば、1)に設定する(S105)。
次に、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とを算出し、互いに交差しているか否かを判定する(S106)。
互いに交差していない場合(S106のNO判定)には、線形関数の軌跡(周波数応答)と位相閾値に基づく線とが交差していないか否か(交点がないか否か)を判定する(S107)。なお、位相閾値に基づく線とは、例えば位相閾値が−179度である場合には、複素平面上において位相が−179度(実軸に対して時計回りに−179度)となる直線である。換言すると、本実施形態におけるS107では、非線形要素がガタである場合に、線形関数の軌跡(周波数応答)において位相の最小値を算出し、位相の最小値が位相閾値以上であるか否かを判定している。
線形関数の軌跡と位相閾値に基づく線とが交差していない場合(S107のYES判定)には、仮設定したゲイン定数に所定数(例えば、1)を加算し(S108)、S106へ戻る。線形関数の軌跡と位相閾値に基づく線とが交差していない場合(S107のYES判定)には、上記の処理が繰り返し実行され、その都度ゲイン定数が更新(S108)される。
線形関数の軌跡と位相閾値に基づく線とが交差している場合(S107のNO判定)には、設定されているゲイン定数から所定数を減算して第1ゲイン定数を算出する(S109)とともに、S108において、設定されているゲイン定数(S109において減算が行われる前のゲイン定数)に更に所定数を加算し(S108)、S106へ戻る。上記の処理は、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とを算出し、互いに交差する(S106のYES判定)まで繰り返し実行される。
ゲイン定数の値が増加して、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とを算出し、互いに交差する場合(S106のYES判定)には、設定されているゲイン定数から所定数を減算して第2ゲイン定数を算出する(S110)とともに、設定されているゲイン定数(S110において減算が行われる前のゲイン定数)において、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差している点に基づいて、リミットサイクルの振幅と周波数を算出する。そして、リミットサイクルの振幅aoが最大許容振幅α以上であるか否か及びリミットサイクルの周波数foが最大許容周波数β以上であるか否かを判定する(S111)。
そして、両条件が満たされない場合、すなわちリミットサイクルの振幅が最大許容振幅未満であり、かつ、リミットサイクルの周波数が最大許容周波数未満である場合(S111のNO判定)には、ゲイン定数に所定数(例えば、1)を加算することによってゲイン定数を更新する(S112)。なお、リミットサイクルの振幅が最大許容振幅以上である場合、またはリミットサイクルの周波数が最大許容周波数以上である場合(S111のYES判定)まで、上記の処理が繰り返し実行され、その都度ゲイン定数が更新(S112)される。
リミットサイクルの振幅が最大許容振幅以上である場合、またはリミットサイクルの周波数が最大許容周波数以上である場合(S111のYES判定)には、設定されているゲイン定数から所定数を減算して第3ゲイン定数を算出する(S113)。
本実施形態における制御系設計支援装置1は、図7に示すフローのように、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差していない場合に、ゲイン定数を所定数毎増加させていく。そして、線形関数の周波数応答における位相の最小値が位相閾値以上となる最大のゲイン定数を第1ゲイン定数として算出する。そして、ゲイン定数を更に増加させ、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差しない条件を満たすゲイン定数の最大値を第2ゲイン定数として算出する。そして、ゲイン定数を更に増加させ、複素平面上において、線形関数の周波数応答を示す軌跡と、非線形要素への入力信号の振幅の値を非線形関数に入力したときの応答を示す軌跡とが交差している場合において、振幅が最大許容振幅未満であり、かつ、周波数が最大許容周波数未満であるリミットサイクルが発生するときのゲイン定数の最大値を第3ゲイン定数として算出する。なお、本実施形態では、非線形要素がガタ(不感帯幅δ)である場合を想定しており、非線形関数が複素平面上の負の実軸(−∞から−1)に軌跡を描くため、線形関数の軌跡と非線形関数の軌跡とが交差するか否かは、線形関数の位相特性を監視することのみで判定可能とすることができる。しかしながら、非線形要素がガタ(不感帯幅δ)以外(例えば、リレーやヒステリシス等)であって、非線形関数が複素平面上の負の実軸に軌跡を描かない場合、すなわち、非線形関数の軌跡が虚数成分を持つ場合には、線形関数の位相特性に加えてゲイン特性を監視し、線形関数の軌跡と非線形関数の軌跡とが交差するか否かを監視することとすればよい。
制御系設計支援装置1は、このようにして、システムに与える影響の異なるゲイン定数(第1ゲイン定数、第2ゲイン定数、第3ゲイン定数)を算出する。そして、第1ゲイン定数、第2ゲイン定数、第3ゲイン定数が算出されると、選定部7によって、第1ゲイン定数、第2ゲイン定数、及び第3ゲイン定数の中から制御系設計支援装置1が適用されるシステムに対して予め設定された制御仕様を満たすゲイン定数が自動的に選定される。なお、ゲイン定数の選定が必要でない場合には、制御系設計支援装置1は、第1ゲイン定数、第2ゲイン定数、及び第3ゲイン定数を、制御系設計支援装置1の使用者に通知することとしてもよい。この場合には、使用者は、第1ゲイン定数、第2ゲイン定数、及び第3ゲイン定数の中から適切なゲイン定数を用いて、システムを効率的に設計することができる。
次に、上述の制御系設計支援装置1が適用される具体的なシステムの例について図8を参照して説明する。図8は、制御系設計支援装置1が適用される工作機械100(テーブル送り軸)の概略構成を示している。図8に示すように、工作機械100は、サーボモータ101と、テーブル102と、ボールねじ103と、を主な構成として備えている。
サーボモータ101は、内部に回転角度を検出する回転検出器を有し、精密な位置決めが可能なサーボモータ101である。テーブル102は、工作対象物を載せて、サーボモータ101の制御によって移動させるための台である。ボールねじ103は、ねじ部104とナット部105とを有しており、サーボモータ101の回動を直動に変換する駆動機構である。なお、ナット部105とテーブル102は結合されている。
サーボモータ101が回転すると、回転力がボールねじ103のねじ部104に伝わり、ねじ部104が回転する。ねじ部104は回転支持ブラケット106に支持されており、ねじ部104が回転すると、ナット部105がねじ部104に沿って直線移動する。そして、ナット部105の直線移動に応じてテーブル102が直線移動する。これにより、サーボモータ101の回転運動がボールねじ103によって直動運動に変換される。
図9は、図8に示す工作機械100(機械系)と、工作機械100を制御する制御系とを表す数式モデル(ブロック線図)の一例を示した図である。図9において、JMはモータ側イナーシャであり、DMはモータ側制動抵抗であり、JLは負荷側イナーシャであり、DLは負荷側制動抵抗であり、KRはねじり剛性である。図9に示す例では、ガタが非線形要素となる。
図9に示すブロック線図における開ループ伝達関数は、以下の(3)式として算出される。
なお、(3)式では、速度センサ及び位置センサの特性を無視(速度センサ=1、位置センサ=1と理想的に近似)している。また、(3)式では、制御系における位置制御部Cpと速度制御部Cvをそれぞれ、以下の式で表される特性を持つこととしている。
なお、(4)式におけるKpは、位置制御部における位置比例ゲインであり、定数である。また、(4)式におけるKvは、速度制御部における速度比例ゲインであり、Tiは、速度積分時間である。なお、(3)式では、簡単化のためにTiを無視している。
(3)式における開ループ伝達関数を、安定限界条件に基づいて線形要素の伝達関数を含む関数である線形関数と、非線形要素の記述関数の逆関数に−1を乗じた関数である非線形関数とに分離すると、以下の(6)式を得る。
図9に示すブロック線図の開ループ伝達関数を安定限界条件のもとで式変形すると、(6)式に示すように、線形関数と、非線形関数とに分離することができる。このため、図9に示すブロック線図についても、等価的に、図1に示すようなシステムとみなすことができる。すなわち、例えば図9に示されるシステムの位置制御部の特性((4)式)において、Kpをゲイン定数Kとして可変パラメータとみなすことができる。すなわち、線形関数G(s)を、G(s、K(=Kp))とみなすことができる。そして、Kpをゲイン定数Kとして上記の制御系設計支援装置1の処理を実行させることによって、ゲイン定数(第1ゲイン定数、第2ゲイン定数、第3ゲイン定数)を算出することが可能となる。システムの設計者は、算出されたゲイン定数(第1ゲイン定数、第2ゲイン定数、第3ゲイン定数)を用いて、位置制御部における特性Kpを設計することができる。
制御系設計支援装置1の使用者は、第1ゲイン定数、第2ゲイン定数、第3ゲイン定数の中から適切なゲイン定数を選定(または選定部7により自動的に選定)し、該ゲイン定数を図9に示すブロック線図に適用することによってシステム設計を行う。具体的には、図9のブロック線図における制御系(位置制御部や速度制御部)の特性を、制御系設計支援装置1により算出したゲイン定数に基づいて改良し、システムを最適化する。なお、制御系設計支援装置1を図8に示す工作機械100の実装し、また、ガタの不感帯幅δを自動検出することで、ガタの経年変化に対応した適切なゲイン定数を自動的に算出でき、制御系(位置制御部及び速度制御部)の制御パラメータを再調整することが可能となる。すなわち、非線形要素が経年変化したとしても、ゲイン定数を随時最適化して、システムの安定状態を維持することができる。
なお、制御系設計支援装置1において算出したゲイン定数ではリミットサイクルを避けることができない場合や、制御仕様を満たすことができない場合には、位相補償器(位相進み/遅れ補償器)を更に追加することとしてもよい。例えば、制御系設計支援装置1において算出したゲイン定数(第1ゲイン定数、第2ゲイン定数、第3ゲイン定数)の中から、応答速度条件を満たすゲイン定数を選定し、ゲイン定数を決定する。その上で、システムを安定化(リミットサイクルを確実に防止)するために、位相補償器をシステムに組み込めばよい。
以上説明したように、本実施形態に係る制御系設計支援装置1、制御系設計支援方法、及び制御系設計支援プログラムによれば、非線形要素から出力される高調波を考慮して、より安定性の高い制御システムを構築するためのゲイン定数を算出することができる。一般的な記述関数解析は、非線形要素の出力における基本波のみを考慮した近似手法であるため、安定限界条件から算出された線形関数と非線形関数とが交差していなくても、高調波成分が起因して、不安定となる可能性がある。そこで、高調波の振幅を考慮した位相閾値を用いて、線形関数におけるゲイン定数の最大値を算出することとした。このため、高周波成分を考慮した最大のゲイン定数を算出することができ、該ゲイン定数を用いることで、制御系を含む線形関数の特性を向上させつつ、より安定な制御系を構築することができる。
また、線形関数と非線形関数とが交差しない条件における最大のゲイン定数を算出することとした。このため、システムの安定性を保ちつつ、制御系を含む線形関数の特性を向上させることができる。
また、線形関数と非線形関数とが交差してリミットサイクルが発生する場合であっても、所定のリミットサイクル(最大許容振幅条件及び最大許容周波条件を満たすリミットサイクル)を許容して、より大きなゲイン定数を算出することとした。このため、制御系を含む線形関数の特性をより向上させることができる。
また、算出された第1ゲイン定数、第2ゲイン定数、及び第3ゲイン定数の中から、制御仕様を満たすゲイン定数を容易に選定することができる。選定されたゲイン定数を用いることで、制御系を含む線形関数の特性を向上させつつ、より安定な制御系を構築することができる。
また、制御系設計支援装置1を用いることによって、例えば机上検討の段階で適切なゲイン定数を算出することができる。特に、第1ゲイン定数は、一般的な記述関数解析では考慮できない高調波成分まで考慮して、システムの安定性を向上させることが可能となる。また、実験段階における制御系の微調整の手間を削減することができる。
本発明は、上述の実施形態のみに限定されるものではなく、発明の要旨を逸脱しない範囲において、種々変形実施が可能である。
例えば、制御系設計支援装置1を、システムに実装することとしてもよい。例えば、非線形要素であるガタの不感帯幅δは、経年劣化等によって変化する可能性がある。このため、制御系設計支援装置1をシステムに実装し、経年変化した不感帯要素の状態に合わせて適切なゲイン定数に更新(例えば、システムの起動時等)することとすることで、リミットサイクルの発生をより確実に防ぎ、安定運転を持続することが可能となる。
また、本実施形態における制御系設計支援装置1は、実施例にて説明した工作機械100に限定されず、様々なシステム(機械)に適用することが可能となる。例えば、水中航走体や航空機等に適用することができる。