以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中の同一または相当部分については同一の符号を付してその説明は繰り返さない。
<実施形態1>
(全体構成)
図1は、本発明の実施形態1に係る制御系設計装置6を備えた試験装置1の概略構成を機能ブロックで示す図である。この試験装置1は、自動車のモータなどの供試体Mの特性を試験するための試験装置である。なお、試験装置1で試験する供試体Mは、モータ以外の回転体であってもよい。
具体的には、試験装置1は、制御装置2と、モータ駆動回路3と、電動モータ4と、トルク検出器5と、制御系設計装置6とを備える。
制御装置2は、入力指令であるモータトルク指令rと後述のフィードバック値とを用いて、モータ駆動回路3に対する駆動指令を生成する。制御装置2は、トルク検出器5の出力値を用いてモータトルク指令rに対して負帰還するフィードバックループ10を有する(図2参照)。なお、制御装置2が前記駆動指令を生成する構成は、従来と同様であるため、制御装置2の詳しい説明は省略する。フィードバックループ10の構成については後述する。
モータ駆動回路3は、特に図示しないが、複数のスイッチング素子を有する。モータ駆動回路3は、前記駆動指令に基づいて前記複数のスイッチング素子が駆動することにより、電動モータ4の図示しないコイルに電力を供給する。
電動モータ4は、図示しない回転子及び固定子を有する。前記固定子のコイルにモータ駆動回路3から電力が供給されることにより、前記回転子が前記固定子に対して回転する。前記回転子は、図示しない中間軸を介して、供試体Mに対し、供試体Mと一体で回転可能に連結されている。これにより、前記回転子の回転によって、電動モータ4から供試体Mにトルクを出力することができる。なお、電動モータ4の構成は、一般的なモータの構成と同様であるため、電動モータ4の詳しい説明は省略する。
トルク検出器5は、電動モータ4と供試体Mとを接続する中間軸に設けられている。トルク検出器5は、電動モータ4から出力されたトルクを検出する。トルク検出器5で検出されたトルクの出力値は、制御装置2にフィードバックループ10の入力値として入力される。すなわち、トルク検出器5の出力値は、フィードバック制御に用いられる。なお、トルク検出器5の構成は、従来の構成と同様であるため、トルク検出器5の詳しい説明は省略する。
本実施形態において、制御装置2は、図2に示すように、入力指令であるモータトルク指令rに対してトルク検出器5の出力値をフィードバックするフィードバックループ10を有する。すなわち、本実施形態の試験装置1は、制御装置2、モータ駆動回路3、電動モータ4及びトルク検出器5を含み且つ供試体Mを含まない制御系によって、電動モータ4の駆動を制御する。
なお、図2において、rはモータトルク指令としての目標値であり、yはトルク検出器5の出力値である。
また、図2における符号Pは制御対象であり、本実施形態では、制御対象Pは、モータ駆動回路3、電動モータ4及びトルク検出器5を含む。なお、制御対象Pには、電動モータ4と供試体Mとを接続する中間軸のうち、電動モータ4からトルク検出器5までの範囲も含む。すなわち、制御対象Pは、供試体Mに駆動力を与える。
さらに、図2における符号51はH∞制御器である。H∞制御器51は、後述する制御系設計装置6によって得られた伝達関数を用いてH∞制御を行う。
フィードバックループ10には、トルク検出器5の出力値が入力される。フィードバックループ10によって、トルク検出器5の出力値は、フィードバック値としてモータトルク指令rに負帰還される。
ところで、上述のような構成を有する制御装置2において制御対象Pを制御する際には、H∞制御器51でH∞制御を行うための伝達関数が必要である。供試体Mが変更された場合や供試体Mの駆動条件が変わった場合などのように、制御装置2による制御対象Pの制御条件が変更された際には、H∞制御器51でH∞制御に用いる伝達関数を変更する必要がある。
H∞制御に用いる伝達関数の設計は、専門知識が必要であるとともに、手間がかかる。そのため、制御装置2による制御対象Pの制御条件が変更された場合に、制御を簡単に変更することができなかった。
これに対し、本実施形態では、制御装置2におけるH∞制御の伝達関数を、制御系設計装置6によって自動設計を行う。以下で、制御系設計装置6の詳しい構成について説明する。なお、以下の説明では、文章表記の都合上、数式及び図において各文字の上に付される“^”を、各文字の後ろに記載する。
制御系設計装置6は、設計用伝達関数取得部61と、重み関数取得部62と、H∞制御伝達関数取得部63と、安定判定部64(判定部)とを備える。
設計用伝達関数取得部61は、設計用伝達関数を取得する。具体的には、設計用伝達関数取得部61は、制御対象Pの伝達関数G^を求めるとともに、求めた伝達関数を低次元化する。このように、伝達関数を低次元化することで、制御対象Pの制御における演算負荷を軽減できる。
なお、設計用伝達関数取得部61は、制御対象Pの伝達関数を求める際に、例えば、制御対象Pに対してランダム信号を入力して周波数特性Gを測定し、その周波数特性から制御対象Pの伝達関数G^を求める。設計用伝達関数取得部61は、周波数特性Gを用いて、式(1)の評価関数J0の値が最小になる伝達関数G^を求める。具体的には、設計用伝達関数取得部61は、式(1)の評価関数J0の値が最小になるように、式(2)に示す伝達関数の一般式における、分母及び分子の次数、a
1~a
mの値及びb
0~b
nの値を求める。
設計用伝達関数取得部61は、得られた伝達関数G^のうち所定の次数以上の成分を省略する、伝達関数G^の低次元化の処理を行う。これにより、設計用伝達関数取得61は、設計用伝達関数を取得する。このように、伝達関数G^の低次元化の処理を行うことにより、計算負荷を軽減することができる。
重み関数取得部62は、H∞制御の伝達関数を求める際に用いる重み関数Wt,Wsを取得する。具体的には、重み関数取得部62は、Wtの低周波ゲインGlWt及び高周波ゲインGhWtと、Wsの低周波ゲインGlWs及び高周波ゲインGhWsと、重み関数Wt,Wsが交差する周波数である交差周波数ωcとを用いて、重み関数Wt,Wsを以下の式(3)、式(4)のように規定する。重み関数Wt,Wsの一例を図3に示す。
なお、K1、T1、T2は、重み関数Wtの低周波ゲインGlWt、高周波ゲインGhWt及び交差周波数ωcの少なくとも一つを含む関数である。また、K2、T3、T4は、重み関数Wsの低周波ゲインGlWs、高周波ゲインGhWs及び交差周波数ωcの少なくとも一つを含む関数である。
重み関数取得部62で得られた重み関数Wt,Wsは、H∞制御伝達関数取得部63でH∞制御伝達関数を取得する際に用いられる。重み関数取得部62は、H∞制御伝達関数取得部63で求めたH∞制御伝達関数が後述の安定判定部64で安定性を満たしていないと判定された場合に、交差周波数ωcをより低い値に設定して、重み関数Wt,Wsを再度求める。
H∞制御伝達関数取得部63は、設計用伝達関数取得部61で取得した設計用伝達関数と、重み関数取得部62で求めた重み関数Wt,Wsとを用いて、H∞制御伝達関数を取得する。なお、H∞制御伝達関数取得部63は、MATLAB(商標登録)などの既存の導出ツールによって最適解を求めることにより、H∞制御伝達関数を求める。よって、H∞制御伝達関数取得部63の詳しい構成及び動作については説明を省略する。
安定判定部64は、H∞制御伝達関数取得部63で取得したH∞制御伝達関数の安定性を判定する。具体的には、安定判定部64は、H∞制御伝達関数を用いた閉ループの分母の根が安定極の場合には、安定性ありと判定する一方、前記根が不安定極の場合には、安定性なし(不安定である)と判定する。なお、安定判定部64は、MATLABなどの既存のツールによって、安定性を判定する。
安定判定部64は、H∞制御伝達関数が不安定であると判定した場合には、重み関数取得部62に重み関数Wt,Wsを修正させる修正指示信号を出力する。これにより、重み関数取得部62は、交差周波数ωcを低い値に変更して、新たな重み関数Wt,Wsを求める。その後、H∞制御伝達関数取得部63は、前記修正された重み関数Wt,Wsを用いて、新たなH∞制御伝達関数を算出する。
安定判定部64でH∞制御伝達関数が安定であると判定されるまで、上述の重み関数取得部62による重み関数Wt,Wsの修正及びH∞制御伝達関数取得部63によるH∞制御伝達関数の算出が繰り返し行われる。
これにより、安定性を有するH∞制御伝達関数を、重み関数Wt,Wsの交差周波数ωcをパラメータとして自動的に求めることができる。よって、H∞制御伝達関数を容易に求めることができる。したがって、制御対象PのH∞制御の制御設計を容易に行うことができる。
(制御系設計装置の動作)
次に、上述の構成を有する制御系設計装置6の動作を、図4に示すフローを用いて説明する。
図4に示すフローがスタートすると、ステップSA1において、制御系設計装置6の設計用伝達関数取得部61は、制御対象Pにランダム信号を入力する。続くステップSA2で、設計用伝達関数取得部61は、制御対象Pにランダム信号を入力した際の出力から周波数特性Gを測定する。その後、ステップSA3で、設計用伝達関数取得部61は、周波数特性Gを用いて、既述の式(1)の評価関数J0が最小になるように制御対象Pの伝達関数G^を推定し、該伝達関数G^を低次元化することにより、設計用伝達関数を取得する。
次に、ステップSA4で、重み関数取得部62は、Wtの低周波ゲインGlWt及び高周波ゲインGhWtと、Wsの低周波ゲインGlWs及び高周波ゲインGhWsと、重み関数Wt,Wsが交差する周波数である交差周波数ωcとを用いて、既述の式(3)及び(4)に示す重み関数Wt,Wsを求める。
その後、ステップSA5で、H∞制御伝達関数取得部63は、ステップSA3で求めた設計用伝達関数及びステップSA4で求めた重み関数Wt,Wsを用いて、H∞制御伝達関数を取得する。
続くステップSA6で、安定判定部64は、ステップSA5で求めたH∞制御伝達関数の安定性を判定する。この際、安定判定部64は、H∞制御伝達関数を用いた閉ループの分母の根が安定極であるか不安定極であるかによって、H∞制御伝達関数の安定性を判定する。
H∞制御伝達関数が安定性を有すると判定された場合(ステップSA6でYESの場合)には、ステップSA5で求めたH∞制御伝達関数を制御対象PのH∞制御に用いることができるため、このフローを終了する。
一方、H∞制御伝達関数が安定性を有しないと判定された場合(ステップSA6でNOの場合)には、重み関数取得部62によって、交差周波数ωcを低くし(ステップSA7)、重み関数Wt,Wsを再度取得する(ステップSA4)。その後、ステップSA5で、再度取得した重み関数Wt,Wsを用いて、H∞制御伝達関数を取得する。
制御系設計装置6は、ステップSA5で得られるH∞制御伝達関数がステップSA6で安定性を有すると判定されるまで、ステップSA4からステップSA7の動作を繰り返す。
これにより、安定性を有するH∞制御伝達関数を、制御系設計装置6によって、重み関数Wt,Wsの交差周波数ωcをパラメータとして自動的に求めることができる。
<実施形態2>
図5に、実施形態2に係る制御系設計装置106の概略構成を示す。この制御系設計装置106は、設計用伝達関数を、制御対象Pの全ての制御条件に対して得られた複数の伝達関数の中から選定する点で、実施形態1の制御系設計装置6とは異なる。以下では、実施形態1の構成と同様の構成には同一の符号を付して説明を省略し、実施形態1の構成と異なる構成についてのみ説明する。なお、図5において、符号101は、試験装置である。
制御系設計装置106は、設計用伝達関数取得部161と、重み関数取得部62と、H∞制御伝達関数取得部63と、安定判定部64とを備える。重み関数取得部62、H∞制御伝達関数取得部63及び安定判定部64は、実施形態1の制御系設計装置6と同様であるため、詳しい説明を省略する。
設計用伝達関数取得部161は、制御対象Pの全ての制御条件に対して得られた複数の伝達関数の中から、所定の選定ルールに基づいて、設計用伝達関数を選定する。詳しくは、設計用伝達関数取得部161は、伝達関数取得部162と、設計用伝達関数選定部163とを有する。
伝達関数取得部162は、制御対象Pの全ての制御条件に対して、伝達関数を取得する。伝達関数取得部162が伝達関数を取得する構成は、実施形態1の設計用伝達関数取得部61と同様の構成であるため、詳しい説明を省略する。伝達関数取得部162によって取得された伝達関数は、対応する制御条件と紐づけられた状態で、図示しない記憶部に格納される。なお、前記制御条件は、例えば、供試体Mが異なる場合の制御対象Pの制御条件や、同じ供試体Mでも制御対象Pの制御量が異なる場合の制御条件等を含む。
設計用伝達関数選定部163は、伝達関数取得部162が取得した各制御条件に対応する伝達関数の中から、所定の選定ルールを満たす伝達関数を、設計用伝達関数として選定する。前記所定の選定ルールは、制御対象Pの特定の制御条件を満たす伝達関数を選定するルールなどを含む。
このように、設計用伝達関数取得部161が複数の伝達関数の中から設計用伝達関数を選定することにより、制御対象Pの制御条件が変わった場合でも、その制御条件に応じた伝達関数を、設計用伝達関数として容易に取得することができる。これにより、制御対象Pの制御条件が変わった場合でも、制御対象PのH∞制御の制御設計を容易に行うことができる。
(制御系設計装置の動作)
次に、上述の構成を有する制御系設計装置106の動作を、図6に示すフローを用いて説明する。
図6に示すフローがスタートすると、ステップSB1において、制御系設計装置106における設計用伝達関数取得部161の伝達関数取得部162は、所定の制御条件における制御対象Pにランダム信号を入力する。続くステップSB2で、伝達関数取得部162は、制御対象Pにランダム信号を入力した際の出力から周波数特性Gを測定する。その後、ステップSB3で、伝達関数取得部162は、周波数特性Gを用いて、既述の式(1)の評価関数J0が最小になるように制御対象Pの伝達関数G^を推定し、該伝達関数G^を低次元化することにより、伝達関数を取得する。取得した伝達関数は、図示しない記憶部に、前記所定の制御条件に紐づけされた状態で格納される。
次に、ステップSB4で、設計用伝達関数取得部161は、全ての制御条件で制御対象Pの伝達関数を取得したかどうかを判定する。なお、制御対象Pの全ての制御条件は、図示しない記憶部に予め記憶されていてもよいし、前記記憶部にユーザ等が入力可能であってもよい。
全ての制御条件で制御対象Pの伝達関数を取得したと判定された場合(ステップSB4でYESの場合)には、ステップSB6に進んで、設計用伝達関数選定部163は、所定の選定ルールに基づいて、複数の伝達関数から設計用伝達関数を選定する。ステップSB6で、設計用伝達関数選定部163が複数の伝達関数から設計用伝達関数を選定した後、ステップSB7以降に進んで、実施形態1と同様、安定性を有するH∞制御伝達関数を求める。なお、ステップSB7以降は、実施形態1の制御系設計装置6の動作におけるステップSA4以降と同様であるため、詳しい説明を省略する。
一方、全ての制御条件で制御対象Pの伝達関数を取得していないと判定された場合(ステップSB4でNOの場合)には、ステップSB5に進んで、他の制御条件に変更した後、制御対象Pにランダム信号を入力する(ステップSB1)。その後、制御対象Pの周波数特性Gを測定して、その結果から伝達関数を取得する。伝達関数取得部162は、ステップSB4で、全ての制御条件で制御対象Pの伝達関数を取得したと判定されるまで、ステップSB1からSB5の動作を繰り返す。
これにより、制御対象Pの制御条件が変わった場合でも、安定性を有するH∞制御伝達関数を容易に求めることができる。よって、制御対象Pの制御条件によって制約を受けることなく、制御対象PのH∞制御の制御設計を容易に行うことができる。
<実施形態3>
図7に、実施形態3に係る制御系設計装置206の概略構成を示す。この制御系設計装置206は、制御対象Pの全ての制御条件に対して設計用伝達関数を得た後、各設計用伝達関数から安定性を有するH∞制御伝達関数を求めて、その中から最適なH∞制御伝達関数を選定する点で、実施形態1の制御系設計装置6とは異なる。以下では、実施形態1の構成と同様の構成には同一の符号を付して説明を省略し、実施形態1の構成と異なる構成についてのみ説明する。なお、図7において、符号201は、試験装置である。
制御系設計装置206は、設計用伝達関数取得部261と、重み関数取得部62と、H∞制御伝達関数取得部63と、安定判定部64と、H∞制御伝達関数選定部265とを備える。重み関数取得部62、H∞制御伝達関数取得部63及び安定判定部64は、実施形態1の制御系設計装置6と同様であるため、詳しい説明を省略する。
設計用伝達関数取得部261は、制御対象Pの全ての制御条件に対する設計用伝達関数を取得する。設計用伝達関数取得部261が設計用伝達関数を取得する構成は、実施形態1の設計用伝達関数取得部61と同様の構成であるため、詳しい説明を省略する。設計用伝達関数取得部261によって取得された設計用伝達関数は、対応する制御条件と紐づけられた状態で、図示しない記憶部に格納される。なお、前記制御条件は、例えば、供試体Mが異なる場合の制御対象Pの制御条件や、同じ供試体Mでも制御対象Pの制御量が異なる場合の制御条件等を含む。
重み関数取得部62は、設計用伝達関数取得部261で取得した設計用伝達関数のそれぞれに対して重み関数Wt,Wsを取得する。H∞制御伝達関数取得部63は、設計用伝達関数取得部261で取得した設計用伝達関数のそれぞれに対してH∞制御伝達関数を取得する。安定判定部64は、設計用伝達関数取得部261で取得した設計用伝達関数のそれぞれに対応して求めたH∞制御伝達関数の安定性を判定する。重み関数取得部62、H∞制御伝達関数取得部63及び安定判定部64によって得られた、安定性を有するH∞制御伝達関数は、対応する制御条件と紐づけられた状態で、前記記憶部に格納される。
H∞制御伝達関数選定部265は、前記記憶部に格納され且つ制御対象Pの各制御条件に対応するH∞制御伝達関数の中から、所定の選定ルールを満たすH∞制御伝達関数を選定する。前記所定の選定ルールは、制御対象Pの特定の制御条件を満たす伝達関数を選定するルールなどを含む。なお、H∞制御伝達関数の選定は、ユーザが行ってもよい。
このように、制御対象Pの各制御条件に対する設計用伝達関数を用いて、安定性を有するH∞制御伝達関数を求め、それらの中から、最適なH∞制御伝達関数を選定することにより、制御対象Pの制御条件に応じて、最適なH∞制御伝達関数を得ることができる。これにより、制御対象Pの制御条件が変化した場合でも、H∞制御の制御設計を容易に行うことができる。
(制御系設計装置の動作)
次に、上述の構成を有する制御系設計装置206の動作を、図8に示すフローを用いて説明する。
図8に示すフローがスタートすると、ステップSC1からSC5で、制御対象Pの全ての制御条件に対して設計用伝達関数を取得する。なお、ステップSC1からSC5のフローは、実施形態2のステップSB1からSB5と同様であるため、ステップSC1からSC5の詳しい説明を省略する。ステップSC1からSC5で取得した伝達関数を、制御対象Pの各制御条件に紐づけた状態で、図示しない記憶部に格納する。
ステップSC6では、前記記憶部に格納されている伝達関数の中から、一つの伝達関数を、設計用伝達関数として選定する。ステップSC7以降では、ステップSC6で選定した設計用伝達関数を用いて、安定性を有するH∞制御伝達関数を求める。設計用伝達関数を用いて安定性を有するH∞制御伝達関数を求めるステップSC7~SC10は、実施形態2のステップSB7からSB10と同様であるため、詳しい説明を省略する。
実施形態2と同様、安定判定部64によってステップSC9で安定性を有すると判定された場合(ステップSC9でYESの場合)、そのときのH∞制御伝達関数は、制御対象Pの各制御条件に紐づけられた状態で、前記記憶部に格納される。
また、ステップSC9で安定性を有すると判定された場合(ステップSC9でYESの場合)には、ステップSC11に進んで、記憶部に記憶されている全ての制御条件に対応する伝達関数を用いて演算を行ったかどうかを判定する。
全ての制御条件に対応する伝達関数を用いて演算を行った場合(ステップSC11でYESの場合)には、このフローを終了する。一方、全ての制御条件に対応する伝達関数を用いて演算を行っていない場合(ステップSC11でNOの場合)には、ステップSC6に戻って、記憶部に格納されている伝達関数から他の設計用伝達関数を選定する。
これにより、制御対象Pの制御条件が変わった場合でも、安定性を有するH∞制御伝達関数を容易に求めることができる。よって、制御対象Pの制御条件がどのような条件であっても、制御対象PのH∞制御の制御設計を容易に行うことができる。
<実施形態4>
図9に、実施形態4に係る制御系設計装置406の概略構成を示す。この制御系設計装置406は、制御対象Pのむだ時間を推定し、該むだ時間を除いた伝達関数を一次遅れ要素などの各構成要素に分離した後、該伝達関数のパラメータを調整して設計用伝達関数を選択可能である点、及び、重み関数のパラメータも設定可能である点で、実施形態1の制御系設計装置6とは異なる。以下では、実施形態1の構成と同様の構成には同一の符号を付して説明を省略し、実施形態1の構成と異なる構成についてのみ説明する。なお、図9において、符号401は、試験装置である。
本実施形態の制御装置402は、図10に示すように、例えば2自由度制御系を有する。すなわち、本実施形態の制御対象Pは、フィードフォワードループ420を有する。図10において、符号411,421は、フィードフォワード系のコントローラであり、符号412は、H∞制御のコントローラである。
制御系設計装置406は、設計用伝達関数取得部461と、重み関数取得部462と、H∞制御伝達関数取得部63と、安定判定部64(判定部)と、2自由度制御系設計部465と、入力部466と、むだ時間推定装置407とを備える。H∞制御伝達関数取得部63及び安定判定部64は、実施形態1の制御系設計装置6と同様であるため、詳しい説明を省略する。
むだ時間推定装置407は、制御対象Pのむだ時間を推定し、該むだ時間を除いた伝達関数(以下、むだ時間なし伝達関数)を取得する。本実施形態の場合、むだ時間推定装置407で取得された伝達関数は、設計用伝達関数取得部461で一次遅れ要素などの各構成要素に分離された後に、パラメータが調整されて設計用伝達関数として用いられる。
むだ時間推定装置407は、伝達関数取得部471と、むだ時間初期値取得部472と、周波数特性取得部473と、むだ時間演算部474と、むだ時間なし伝達関数取得部475とを備える。
伝達関数取得部471は、制御対象Pにランダム信号(信号)を入力して得られた周波数特性G(応答結果)から、制御対象Pの伝達関数G^を取得する。制御対象Pにランダム信号を入力して得られた周波数特性Gの一例を図11に実線で示す。伝達関数G^は、後述のむだ時間初期値取得部472でむだ時間初期値L^1を取得するために用いられる伝達関数である。前記ランダム信号は、予測できない変動を有する信号である。本実施形態では、前記ランダム信号として、例えばホワイトノイズの信号を用いる。
伝達関数取得部471は、式(5)の評価関数J0の値が最小になる伝達関数G^を求める。具体的には、伝達関数取得部471は、式(5)の評価関数J0の値が最小になるように、式(6)に示す伝達関数の一般式における、分母及び分子の次数、a
0~a
mの値及びb
0~b
nの値を求める。図11に、評価関数J0の値が最小になる伝達関数G^を求める際に繰り返し演算で得られる伝達関数の計算結果の一例(計算例)を、破線で示す。
むだ時間初期値取得部472は、伝達関数取得部471で取得した伝達関数G^を用いて、制御対象Pのむだ時間初期値L^1を取得する。具体的には、むだ時間初期値取得部472は、伝達関数G^を有する制御対象Pのモデルに対してステップ信号(所定の入力信号)を入力することにより得られるステップ応答から、むだ時間初期値L^1を取得する。図12に、前記ステップ応答の一例を示す。本実施形態では、図12に示すように、むだ時間初期値取得部472は、前記ステップ応答において、前記ステップ信号の入力時(図12における時間0)から出力値が閾値Xを超えるまでの時間を、むだ時間初期値L^1として取得する。閾値Xは、例えば、ステップ応答の収束値に対して所定の割合(例えば10%)の値に設定される。
なお、むだ時間初期値取得部472は、前記ステップ応答において、前記ステップ信号の入力時から出力値の移動平均値が閾値を超えるまでの時間を、むだ時間初期値L^1として取得してもよい。
ところで、トルク指令によって駆動されるモータにステップ信号を入力した場合、前記モータが加速し続けて該モータの速度上限に達する可能性がある。そのため、前記ステップ信号の調整が必要である。これに対し、上述のように、制御対象Pの伝達関数G^を求めるとともに、その伝達関数G^を有するモデルに対してステップ信号を入力してステップ応答を得ることにより、制御対象Pに対してステップ信号を直接入力しなくても、制御対象Pのむだ時間初期値L^1を取得できる。したがって、前記ステップ信号の調整が不要になり、制御対象Pのむだ時間初期値L^1を容易に取得できる。
また、上述のようにむだ時間初期値L^1を求めることにより、制御対象Pの周波数特性Gを取得する過程及び伝達関数G^を推定する過程の少なくとも一方の過程において、ノイズ処理を行うことにより、伝達関数G^を有するモデルのステップ応答にノイズの影響が現れにくくすることができる。
なお、制御対象Pに対してステップ信号を入力することにより得られるステップ応答から、むだ時間初期値を取得してもよい。この場合にも、得られたステップ応答において、前記ステップ信号の入力時から出力値が閾値Xを超えるまでの時間を、前記むだ時間初期値として取得してもよいし、前記ステップ信号の入力時から出力値の移動平均値が閾値を超えるまでの時間を、前記むだ時間初期値として取得してもよい。
周波数特性取得部473は、伝達関数取得部471で取得した伝達関数G^と、むだ時間初期値取得部472で取得したむだ時間初期値L^1を用いて求められるむだ時間要素e-L^´1sとを用いて、伝達関数G^からむだ時間初期値L^1を用いて求められるむだ時間要素を除いたG^/e-L^´1sの周波数特性を求める。周波数特性取得部473は、求めた周波数特性から伝達関数G^´を求める。
ここで、L^´1は、例えば、以下の関係を満たす値である。なお、L^´1は、L^1を基準とした他の範囲で規定された値であってもよい。また、L^´1の代わりに、L^1を用いてもよい。
L^1min=L^1-L^1/10
L^1max=L^1+L^1/10
L^1min≦L^´1≦L^1max
むだ時間演算部474は、式(7)の評価関数Jの値が最小になるL^´1を求める。
なお、式(7)において、G^/e-L^´1sの導出は、伝達関数取得部471で求めたG^を用いてもよいし、制御対象Pにランダム信号を入力して得られた周波数特性Gを用いてもよい。
むだ時間なし伝達関数取得部475は、式(7)の評価関数Jを最小とするG^´を、むだ時間なし伝達関数として取得する。
これにより、制御対象Pのむだ時間L^´1及びむだ時間なし伝達関数G^´を精度良く求めることができる。
設計用伝達関数取得部461は、むだ時間推定装置407で求めたむだ時間なし伝達関数G^´を用いて、設計用伝達関数を取得する。具体的には、設計用伝達関数取得部461は、むだ時間なし伝達関数G^´を一次遅れ要素などの各構成要素に分離する。また、設計用伝達関数取得部461は、前記分離された伝達関数の各パラメータに対して後述の入力部466によって入力された値に応じて、設計用伝達関数を取得する。
重み関数取得部462は、入力部466に入力された重み関数Wt,Wsのパラメータに応じて、重み関数Wt,Wsを取得する。
2自由度制御系設計部465は、安定性を有するH∞制御伝達関数を用いて、2自由度制御系を設計する。具体的には、2自由度制御系設計部465は、図10におけるF、P^、L^を設計する。
入力部466は、GUI(グラフィカルユーザインタフェース)によって、ユーザが操作端末を用いて制御系設計装置406に数値等を入力可能に構成されている。入力部466を介して制御系設計装置406には、設計用伝達関数を取得する際、及び、重み関数Wt,Wsを取得する際に、数値等を入力可能である。入力部466によって表示される画面Dの一例を図15に示す。入力部466には、むだ時間を入力するむだ時間入力部466aと、重み関数のゲインを入力するゲイン入力部466bと、伝達関数の一次遅れ要素などの各構成要素のパラメータを入力するパラメータ入力部466cとが含まれる。図15では、入力部466によって表示される画面D上における各入力部の入力箇所に、各入力部の符号を付している。
なお、入力部466によって表示される画面には、制御系設計装置406で設計されたデータがデフォルト値として表示されている。前記画面上で、入力部466によって、パラメータの値を書き換えることにより、該パラメータを変更することができる。
上述のように制御系設計装置406が入力部466を有することにより、ユーザが制御系設計装置406に対して数値を入力したり、選択の指示を入力したりすることができる。
以上のように、本実施形態の制御系設計装置406では、設計用伝達関数を取得する際、及び、重み関数Wt,Wsを取得する際に、入力部466に対する入力によってユーザが調整することができる。したがって、制御対象Pの制御設計を全て自動で行う場合に比べて、利便性を向上することができる。
(制御系設計装置の動作)
次に、上述の構成を有する制御系設計装置406の動作を、図13及び図14に示すフローを用いて説明する。
図13及び図14に示すフローがスタートすると、ステップSD1において、制御系設計装置406のむだ時間推定装置407の伝達関数取得部471は、制御対象Pにランダム信号を入力する。続くステップSD2で、伝達関数取得部471は、制御対象Pにランダム信号を入力した際の出力から周波数特性Gを測定する。その後、ステップSD3で、伝達関数取得部471は、周波数特性Gを用いて、既述の式(5)の評価関数J0が最小になるように制御対象Pの伝達関数G^を推定する。
次に、むだ時間初期値取得部472は、伝達関数G^を有する制御対象Pのモデルに対してステップ信号を入力して、ステップ応答を取得する(ステップSD4)。その後、むだ時間初期値取得部472は、前記ステップ応答から、むだ時間初期値L^1を取得する(ステップSD5)。この際、むだ時間初期値取得部472は、前記ステップ応答において、ステップ信号の入力から出力値が閾値を超えるまでの時間を、むだ時間初期値L^1として取得する。
続くステップSD6では、周波数特性取得部473は、ステップSD3で取得した伝達関数G^からむだ時間初期値L^1を用いて求められるむだ時間要素を除いたG^/e-L^´1sの周波数特性を求める。ここで、L^´1は、例えば、以下の関係を満たす値である。
L^1min=L^1-L^1/10
L^1max=L^1+L^1/10
L^1min≦L^´1≦L^1max
そして、ステップSD6では、むだ時間演算部474は、既述の式(7)の評価関数Jが最小になるように制御対象Pにおけるむだ時間L^´1を求める。また、むだ時間なし伝達関数取得部475は、既述の式(7)の評価関数Jが最小になるように制御対象Pにおけるむだ時間なし伝達関数G^´を求める。
続いて、図14に示すように、ステップSD7において、制御系設計装置406の設計用伝達関数取得部461は、むだ時間なし伝達関数G^´を一次遅れ要素などの各構成要素に分離する。続くステップSD8で、設計用伝達関数取得部461は、入力部466に入力された、むだ時間なし伝達関数G^´の一次遅れ要素などの各構成要素におけるパラメータを取得する。設計用伝達関数取得部461は、取得したパラメータを用いて、制御対象Pの設計用伝達関数を求める(ステップSD9)。
次に、ステップSD10で、重み関数取得部462は、入力部466にそれぞれ入力された、Wtの低周波ゲインGlWt及び高周波ゲインGhWt、Wsの低周波ゲインGlWs及び高周波ゲインGhWs、及び、重み関数Wt,Wsが交差する周波数である交差周波数ωcを取得する。重み関数取得部462は、取得した各値を用いて、既述の式(3)及び(4)に示す重み関数Wt,Wsを求める(ステップSD11)。
その後、ステップSD12で、H∞制御伝達関数取得部63は、ステップSD9で求めた設計用伝達関数及びステップSD11で求めた重み関数Wt,Wsを用いて、H∞制御伝達関数を取得する。
続くステップSD13で、安定判定部64は、ステップSD12で求めたH∞制御伝達関数の安定性を判定する。この際、安定判定部64は、H∞制御伝達関数を用いた閉ループの分母の根が安定極であるか不安定極であるかによって、H∞制御伝達関数の安定性を判定する。
H∞制御伝達関数が安定性を有すると判定された場合(ステップSD13でYESの場合)には、2自由度制御系設計部465は、ステップSD12で求めたH∞制御伝達関数を用いて、制御対象Pの2自由度制御系を設計する(ステップSD15)。
一方、H∞制御伝達関数が安定性を有しないと判定された場合(ステップSD13でNOの場合)には、重み関数取得部462によって、交差周波数ωcを低くし(ステップSD14)、重み関数Wt,Wsを再度取得する(ステップSD11)。その後、ステップSD12で、再度取得した重み関数Wt,Wsを用いて、H∞制御伝達関数を取得する。
制御系設計装置6は、ステップSD12で得られるH∞制御伝達関数がステップSD14で安定性を有すると判定されるまで、ステップSD11からステップSD14の動作を繰り返す。
これにより、安定性を有するH∞制御伝達関数を用いた2自由度制御系を、容易に設計できるとともに、設計の際に用いる設計用伝達関数及び重み関数のパラメータを、入力部466の入力によって調整することができる。したがって、2自由度制御系を設計する際に、各パラメータを調整することにより、制御対象Pの制御を容易に微調整することが可能になる。
(その他の実施形態)
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
前記各実施形態では、重み関数取得部62,462は、H∞制御伝達関数が安定性を満たしていない場合に、重み関数Wt,Wsの交差周波数ωcを低い値に設定して、重み関数Wt,Wsを再度求める。しかしながら、重み関数取得部は、H∞制御伝達関数が安定性を満たしていない場合に、重み関数Wt,Wsの交差周波数ωcを高い値に設定してもよいし、重み関数Wt,WsのゲインK1,K2を変えてもよいし、重み関数Wt,Wsの形状を変えてもよい。
前記各実施形態では、重み関数取得部62,462は、図3に示す形状を有する重み関数Wt,Wsを取得する。しかしながら、重み関数取得部は、H∞制御伝達関数を求めることができる重み関数であれば、他の形状を有する重み関数を取得してもよい。
前記各実施形態では、制御系設計装置6,106,206,406は、H∞制御伝達関数の安定性を判定する安定判定部64を有する。しかしながら、制御系設計装置は、求めたH∞制御伝達関数が制御対象Pの制御に適した伝達関数であるかどうかを、他の条件で判定する条件判定部を有していてもよい。
前記実施形態4では、むだ時間初期値取得部472は、伝達関数G^を有する制御対象Pのモデルに対してステップ信号を入力することにより得られるステップ応答から、むだ時間初期値L^1を取得する。しかしながら、むだ時間初期値取得部は、前記モデルにおけるランプ応答から、むだ時間初期値を取得してもよい。すなわち、むだ時間初期取得部は、応答から、むだ時間初期値を取得できれば、前記モデルに対してどのような種類の信号を入力してもよい。
前記実施形態1では、設計用伝達関数取得部61は、制御対象Pの伝達関数G^を求めるとともに、求めた伝達関数を低次元化して、設計用伝達関数を取得する。また、前記実施形態2では、伝達関数取得部162は、周波数特性Gを用いて、式(1)の評価関数J0が最小になるように制御対象Pの伝達関数G^を推定し、該伝達関数G^を低次元化することにより、伝達関数を取得する。
しかしながら、設計用伝達関数取得部は、設計用伝達関数を取得する際に、制御対象の伝達関数を低次元化しなくてもよい。伝達関数取得部は、伝達関数を取得する際に、制御対象の伝達関数を低次元化しなくてもよい。
前記実施形態4では、むだ時間推定装置407は、伝達関数取得部471で取得した伝達関数G^を用いて、制御対象Pのむだ時間初期値L^1を取得するむだ時間初期値取得部472を有する。しかしながら、むだ時間推定装置は、予め決まったむだ時間初期値を用いて、制御対象Pのむだ時間を推定してもよい。
前記各実施形態では、制御対象Pは、モータ駆動回路3、電動モータ4及びトルク検出器5を含む。しかしながら、制御対象は、供試体に駆動力を与えることができる構成を有していれば、他の構成を含んでもよいし、他の構成を有する軸系を含んでいてもよい。
前記各実施形態では、制御系設計装置6,106,206,406は、試験装置1,101,201,401に設けられている。しかしながら、制御系設計装置は、制御対象の制御設計を必要とする他の装置に設けられていてもよいし、単独で構成されていてもよい。