以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかるモータ制御装置の実施の形態1の概略構成例を示すブロック図である。図1に示すように、本実施の形態のモータ制御装置は、フィードバック制御部2と、仮想誤差演算部41(第一仮想誤差演算部)と、仮想誤差演算部42(第二仮想誤差演算部)と、誤差ノルム演算部51(第一誤差ノルム演算部)と、誤差ノルム演算部52(第二誤差ノルム演算部)と、ゲイン変更部6とを備え、制御対象1を駆動制御する。
制御対象1は、モータ11と、モータ11に連結された機械系12と、モータ11の位置を検出して出力する位置検出器13と、を設けられている。なお、位置検出器13としては、例えば、エンコーダやレゾルバ等を用いることができる。位置検出器13は、モータ11または機械系12の位置(すなわち制御対象の位置)を検出する。なお、制御対象1の構成は、図1の例に限定されず、モータと当該モータ(または機械系)の位置を検出する位置検出器を有する構成であればよい。
フィードバック制御部2は、位置制御器21と、速度制御器22と、電流制御器23と、微分器24と、で構成される。位置制御器21は、外部から与えられた位置指令X*(位置に関する指令信号)と位置検出器13が出力したモータ11の位置(位置フィードバック)Xとの誤差(差)である位置誤差e(誤差信号)に対し、後述のゲイン変更部6で設定された位置比例ゲイン(制御ゲイン)Kxにより比例演算を行うことで、速度に関する指令信号である速度指令V*を求めて出力する。
微分器24は、位置フィードバックXを微分することで、速度フィードバックVを求めて出力し、速度制御器22は、速度指令V*と速度フィードバックVとの差である速度誤差Veに対し、設定された制御ゲインである速度比例ゲインKvおよび速度積分ゲインKiを用いて比例積分演算を行うことで、トルク指令T*を求めて出力する。また、電流制御器23は、トルク指令T*に応じて、モータ11の電流iを制御する。
また、第一仮想誤差演算部41は、位置比例ゲインの現在値Kxと、外部から設定された位置比例ゲインの候補値である第一ゲイン候補値Kx1と、位置誤差eとに基づいて、位置比例ゲインをKxからKx1に変更した際の仮想位置誤差e1を後述の方法により推定し、出力する。同様に、第二仮想誤差演算部42は、位置比例ゲインの現在値Kxと、外部から設定された位置比例ゲインの候補値である第二ゲイン候補値Kx2と、位置誤差eとに基づいて、位置比例ゲインをKxからKx2に変更した際の仮想位置誤差e2を後述の方法により推定し、出力する。
第一誤差ノルム演算部51は、仮想位置誤差e1の絶対値を計算して第一誤差ノルムn1として出力する。同様に、第二誤差ノルム演算部52は、仮想位置誤差e2の絶対値を計算して第二誤差ノルムn2として出力する。
ゲイン変更部6は、第一誤差ノルムn1と、第二誤差ノルムn2と、第一ゲイン候補値Kx1と、第二ゲイン候補値Kx2とに基づいて、後述の方法により位置比例ゲインKxを計算し、位置制御器21の位置比例ゲインKxの値を計算した値に変更する。
次に、位置比例ゲインの第一ゲイン候補値Kx1及び第二ゲイン候補値Kx2の設定方法について説明する。本実施の形態では、第一ゲイン候補値Kx1は、従来の固定ゲインの制御器における位置比例ゲインと同じ値に設定し、第二ゲイン候補値Kx2は、制御系が不安定にならない範囲で低い周波数領域の外乱抑制性能が向上するように、Kx1より大きな値(例えばKx1の1.5倍から2倍程度の値)に設定する。第一ゲイン候補値Kx1、第二ゲイン候補値Kx2が外部から入力される場合は、外部からの入力を受け付ける入力部が第一ゲイン候補値Kx1、第二ゲイン候補値Kx2を設定するゲイン候補値設定部となる。
次に、第一仮想誤差演算部41及び第二仮想誤差演算部42の動作について説明する。まず、電流制御器23と制御対象1のモデルを、それぞれ、予め設定したカットオフ角周波数ωiのローパスフィルタと、予め設定した慣性モーメントJの剛体で表したものと、とする。カットオフ角周波数ωiの値は、電流制御器23の応答の速さに基づき、予め求めておくことができる。また、制御対象1の慣性モーメントJの値は、どのように求めてもよいが、例えば、モータ11が動作しているときの、電流制御器23が出力した電流iと、位置フィードバックXから求めたモータ加速度と、の比率に基づいて推定することが可能である。
このとき、制御系の閉ループの感度関数(制御系に対する外乱の影響を表す)S(s)は、設定された定数であるカットオフ角周波数ωi、慣性モーメントJ、速度比例ゲインKvおよび速度積分ゲインKiと、位置制御器21の位置比例ゲインの現在値Kxを用いて、以下の式(1)で表すことができる。
同様に、位置比例ゲインがKx1であると仮定したときの制御系の閉ループの感度関数S1(s)、位置比例ゲインがKx2であると仮定したときの制御系の閉ループの感度関数S2(s)はそれぞれ、以下の式(2)、式(3)によって表すことができる。
第一仮想誤差演算部41は、位置誤差eを入力とし、S(s)とS1(s)との比率に基づいて式(4)のように設定した伝達関数W1(s)を演算することにより、位置比例ゲインをKxからKx1に変更した際の仮想位置誤差e1を出力する。
同様に、第二仮想誤差演算部42は、位置誤差eを入力とし、S(s)とS2(s)との比率に基づいて式(5)のように設定した伝達関数W2(s)を演算することにより、位置比例ゲインをKxからKx2に変更した際の仮想位置誤差e2を出力する。
次に、第一仮想誤差演算部41及び第二仮想誤差演算部42の上述の動作により得られる特性について説明する。
図2は、一般的なフィードバック制御系の概念図である。本実施の形態におけるモータ制御装置も図2に示したフィードバック制御系を構成する。P(s)、K(s)は、それぞれ制御対象(本実施の形態の制御対象1に対応)、制御器(本実施の形態のモータ制御装置に対応)の伝達関数であり、制御対象の入力端には外乱dが加わっている。この制御系において、位置誤差eと外乱dとの関係式は、制御対象の伝達関数P(s)と閉ループの感度関数S(s)とを用いて、以下の式(6)で表すことができる。
同様に、位置比例ゲインが第一ゲイン候補値Kx1である場合の仮想位置誤差e1、位置比例ゲインが第二ゲイン候補値Kx2である場合の仮想位置誤差e2は、以下の式(7)、(8)で、それぞれ表すことができる。
ここで、位置比例ゲインKxを現在値から第一ゲイン候補値Kx1または第二ゲイン候補値Kx2に変更した場合の仮想位置誤差e1またはe2を、実際の位置誤差eに基づいて推定することを考えると、式(6)、式(7)及び式(8)から、以下の式(9)及び式(10)が得られる。
式(9)、式(10)の右辺は、それぞれ第一仮想誤差演算部41、第二仮想誤差演算部42に位置誤差eを入力したときの出力となっている。これは、第一仮想誤差演算部41、第二仮想誤差演算部42の伝達関数をそれぞれ式(4)、式(5)のように設定することで、実際に観測された位置誤差eから、位置比例ゲインを第一ゲイン候補値Kx1または第二ゲイン候補値Kx2に変更した際における位置誤差波形を推定できることを意味している。
次に、ゲイン変更部6の構成について説明する。図3は、本実施の形態におけるゲイン変更部6の構成例を示すブロック図である。ゲイン変更部6は、第一誤差ノルム演算部51、第二誤差ノルム演算部52から入力された第一誤差ノルムn1と第二誤差ノルムn2の差に対し、予め設定された正のゲインkをかけて出力する乗算器601と、乗算器601の出力を積分して積分器出力αとして出力する積分器602と、積分器出力αに基づいて位置比例ゲインKxの値を算出するゲイン演算部603と、で構成されている。また、積分器出力αの値の範囲は[0,1]に制限されている。
ゲイン演算部603は、積分器出力αとKx1とKx2とに基づいて式(11)に示す演算を行い、位置制御器21の位置比例ゲインKxを求める。
積分器出力αの値が[0,1]の範囲内であるとき、積分器出力αの値は、各時点ごとに変化量k(n1−n2)で変化する。ゲインkは正であるため、n1>n2の場合は積分器出力αの変化量が正となり積分器出力αの値は上限値1に近づいていく。このとき、位置比例ゲインの値はKx2に近づくように変化する。一方、n1<n2の場合は積分器出力αの変化率が負となり積分器出力αの値は下限値0に近づいていく。このとき、位置比例ゲインの値はKx1に近づくように変化する。
ゲイン変更部6を上記のように構成すると、n1、n2は、それぞれ位置比例ゲインの現在値をKx1、Kx2に変更した際の位置誤差の推定値の絶対値なので、n1>n2のとき、すなわち、位置比例ゲインをKx2に変更した場合の方が位置誤差の振幅が小さくなると予想される場合には、積分器出力αが上限値1に近づき、位置比例ゲインの値はKx2に近づくように変化する。また、n1<n2のとき、すなわち、位置比例ゲインをKx1に変更した場合の方が位置誤差の振幅が小さくなると予想される場合には、積分器出力αが下限値0に近づき、位置比例ゲインの値はKx1に近づくように変化する。したがって、ゲイン変更部6を図3のように構成することにより、位置誤差の振幅が小さくなるように位置比例ゲインKxの値を自動的に変更することが可能となる。
本実施の形態の効果について、図4を用いて説明する。図4は、感度関数の周波数特性の一例を示す図である。図4の実線(Kx=Kx1)は、第一ゲイン候補値Kx1を、十分に安定な通常の線形フィードバック制御の位置比例ゲインの値(Kx)とした場合の制御系の閉ループの感度関数の周波数応答を表している。また、図4の破線(Kx=Kx2)は、第二ゲイン候補値Kx2をKx1の2倍の値とし、Kx2を位置比例ゲインの値(Kx)とした場合の制御系の閉ループの感度関数の周波数応答を表している。
Kx=Kx1の感度関数よりもKx=Kx2の感度関数の方がゲインが小さくなる低い周波数領域では、位置比例ゲインの値をKx2にした場合の方が低感度となる。その結果、この周波数帯域の低い周波数を持つ外乱が制御系に入力された場合は、第一誤差ノルム演算部51で演算された第一誤差ノルムn1よりも、第二誤差ノルム演算部52で演算された第二誤差ノルムn2の方が小さくなり、ゲイン変更部6で演算した位置比例ゲインKxの値はKx2に近づくように変化する。一方、Kx=Kx2の感度関数よりもKx=Kx1の感度関数の方がゲインが小さくなる高い周波数領域では、位置比例ゲインの値をKx1にした場合の方が低感度となる。その結果、この周波数帯域の高い周波数を持つ外乱が制御系に入力された場合は、第二誤差ノルム演算部52で演算された第二誤差ノルムn2よりも、第一誤差ノルム演算部51で演算された第一誤差ノルムn1の方が小さくなり、ゲイン変更部6で演算した位置比例ゲインKxの値はKx1に近づくように変化する。その結果、例えばモータ11の速度が変化しながらモータ11の回転に同期して外乱が発生するような、外乱の周波数が時間とともに変化する場合でも、ゲイン変更部6が、発生する外乱の周波数に応じて、位置誤差eがより小さくなるように位置制御器21の位置比例ゲインKxを自動的に変更することができる。これにより、常に従来の固定ゲインの制御系以上の外乱抑制性能を実現することが可能である。
また、本実施の形態のモータ制御装置は、位置制御器21の位置比例ゲインがKx1である場合とKx2である場合との二通りの場合の位置誤差信号を模擬的に計算し、その振幅の比較によって位置比例ゲインの値を変更している。このため、制御系に加わる外乱が高い周波数成分と低い周波数成分とが混在した周波数特性を持ち、位置誤差eに低周波成分と高周波成分が含まれている場合であっても、位置誤差の絶対値を必ず小さくするように制御ゲインを変更することが可能である。これにより、本実施の形態のモータ制御装置は、任意の周波数特性を持つ外乱に対して、従来の固定ゲインの制御系以上の外乱抑制性能を実現することが可能である。
なお、上記説明では外部から第一ゲイン候補値と第二ゲイン候補値とを別個に設定する構成として記述したが、例えば外部からは第一ゲイン候補値だけ設定し、第二ゲイン候補値は第一ゲイン候補値の定数倍に自動的に設定するような構成にしてもよい。この場合、ゲイン候補値設定部が、外部からの第一ゲイン候補値Kx1の入力を受付け、第一ゲイン候補値Kx1に基づいて第二ゲイン候補値Kx2を設定する。
なお、本実施の形態では、ゲイン候補値ごとに仮想誤差演算部を備えるようにしたが、仮想誤差演算部41と仮想誤差演算部42をまとめて広義の仮想誤差演算部400と考えることができる。仮想誤差演算部400は、ゲイン候補値ごとに仮想位置誤差を算出して出力する。同様に、誤差ノルム演算部51と誤差ノルム演算部52をまとめて広義の誤差ノルム演算部500と考えることができ、誤差ノルム演算部500は、ゲイン候補値ごとの誤差ノルムを算出して出力する。
また、上記の実施の形態では、位置比例ゲインだけを可変ゲインとした。ここで、機械共振に起因した発振現象など、高い周波数領域でのロバスト性については、速度比例ゲインの変更が大きく影響するが、位置比例ゲインについてはあまり影響しない。そのため、本実施の形態のように、位置比例ゲインだけを可変ゲインとすることで、高い周波数領域でのロバスト性を悪化させることなく、外乱抑制効果を向上させることが可能になる。なお、本実施の形態において、制御ゲインとして、位置比例ゲインの代わりに速度積分ゲインを可変ゲインとして同様に制御しても、同様の効果が得られる。また、位置比例ゲインと速度積分ゲインを連動して可変ゲインとするような構成にしてもよい。その場合、ゲインの演算式(11)の各項をスカラー値ではなくベクトル値にすればよい。更に、速度比例ゲインについても、高い周波数領域でのロバスト安定性を事前に確認しておくなどの手段を講じれば、可変ゲインとすることは可能であり、速度比例ゲインを可変ゲインとする場合も原理的には外乱の周波数特性に応じた外乱抑制効果の向上効果が期待できる。
実施の形態2.
図5は、本発明にかかるモータ制御装置の実施の形態2の概略構成例を示すブロック図である。本実施の形態のモータ制御装置は、フィードバック制御部2aと、仮想誤差演算部41a(第一仮想誤差演算部)と、仮想誤差演算部42a(第二仮想誤差演算部)と、誤差ノルム演算部51a(第一誤差ノルム演算部)と、誤差ノルム演算部52a(第二誤差ノルム演算部)と、ゲイン変更部6aとを備え、制御対象1aを制御する。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して重複する説明を省略する。
実施の形態1は、モータ11の位置を制御する位置制御系に対して本発明を適用した例であったが、本実施の形態ではモータ11(または機械系12)の速度を制御する速度制御系に対して本発明を適用する例を説明する。すなわち、本実施の形態では、制御対象となる物理量(位置または速度を示す物理量)として速度を用いる例について説明する。以下では、実施の形態1と異なる点を中心に説明する。
制御対象1aは、モータ11と機械系12と速度検出器14を備える。なお、速度検出器14は、エンコーダやレゾルバ等の位置検出器の出力を微分して求めたモータ速度や、電流検出器の出力から推定したモータ速度で代用することも可能である。
フィードバック制御部2aは、速度制御器22と、電流制御器23とを備える。速度制御器22および電流制御器23は、実施の形態1と同様であるが、速度制御器22に、速度フィードバックとして、速度検出器14が検出した速度が入力される点が異なる。速度制御器22は、外部から与えられた速度指令V*と速度検出器14が出力した速度(速度フィードバック)Vとの誤差である速度誤差e(誤差信号)に対し、予め設定された速度比例ゲインKvと、後述するゲイン変更部6aで設定された速度積分ゲイン(制御ゲイン)Kiと、に基づいて比例積分演算を行うことで、トルク指令T*を算出して出力する。また、電流制御器23は、トルク指令T*に応じて、モータ11の電流iを制御する。
次に、第一仮想誤差演算部41aは、速度積分ゲインの現在値Kiと、外部から設定された速度積分ゲインの候補値である第一ゲイン候補値Ki1と、速度誤差eと、に基づいて、速度積分ゲインをKiからKi1に変更した際の仮想速度誤差e1を後述の方法で推定し、出力する。同様に、第二仮想誤差演算部42aは、速度積分ゲインの現在値Kiと、外部から設定された速度積分ゲインの候補値である第二ゲイン候補値Ki2と、速度誤差e2と、に基づいて、速度積分ゲインをKiからKi2に変更した際の仮想速度誤差e2を後述の方法で推定し、出力する。
第一誤差ノルム演算部51aは、仮想速度誤差e1の二乗を計算し、第一誤差ノルムn1として出力する。同様に、第二誤差ノルム演算部52aは、仮想速度誤差e2の二乗を計算し、第二誤差ノルムn2を出力する。
また、ゲイン変更部6aは、第一誤差ノルムn1及び第二誤差ノルムn2と、第一ゲイン候補値Ki1及び第二ゲイン候補値Ki2とに基づいて、後述の方法により速度積分ゲインKiを計算し、速度制御器22の速度積分ゲインKiの値を計算した速度積分ゲインKiに変更する。
次に、第一仮想誤差演算部41a及び第二仮想誤差演算部42aの動作について説明する。まず、実施の形態1と同様に、電流制御器23と制御対象1aのモデルを、それぞれ、予め設定したカットオフ角周波数ωiのローパスフィルタ、予め設定した慣性モーメントJの剛体、とする。
このとき、制御系の閉ループの感度関数は、設定された定数であるカットオフ角周波数ωi、慣性モーメントJ、速度比例ゲインKv、速度積分ゲインの現在値Kiを用いて、以下の式(12)で表すことができる。
同様に、速度積分ゲインがKi1であると仮定したときの制御系の閉ループの感度関数S1(s)、速度積分ゲインがKi2であると仮定したときの制御系の閉ループの感度関数S2(s)はそれぞれ、以下の式(13)、式(14)によって表すことができる。
第一仮想誤差演算部41aは、速度誤差eを入力とし、S(s)とS1(s)との比率に基づいて式(15)のように設定した伝達関数W1(s)を演算することにより、速度積分ゲインをKiからKi1に変更した際の仮想速度誤差e1を出力する。
同様に、第二仮想誤差演算部42aは、速度誤差eを入力とし、S(s)とS2(s)との比率に基づいて式(16)のように設定した伝達関数W2(s)を演算することにより、速度積分ゲインをKiからKi2に変更した際の仮想速度誤差e2を出力する。
第一仮想誤差演算部41a、第二仮想誤差演算部42aの伝達関数を、それぞれ上記の式(15)、式(16)のように設定することで、実施の形態1と同様の理由により、実際に観測された速度誤差eに基づいて、速度積分ゲインを現在値Kiから第一ゲイン候補値Ki1または第二ゲイン候補値Ki2に変更した際における速度誤差波形を推定することができる。
次に、ゲイン変更部6aについて説明する。図6は、本実施の形態におけるゲイン変更部6aの構成例を示すブロック図である。本実施の形態におけるゲイン変更部6aは、ゲイン演算部603をゲイン演算部603aに替える以外は、実施の形態1のゲイン変更部6と同様である。
本実施の形態では、ゲイン演算部603aは、以下の式(17)に従って変更後のKiを算出する。
以上の動作により、実施の形態1と同様の理由により、n1>n2の場合は速度積分ゲインの値はKi2に近づくように変化し、n1<n2の場合は速度積分ゲインの値はKi1に近づくように変化する。よって、ゲイン変更部6aを図6のように構成することにより、速度誤差の振幅の二乗が小さくなるように速度積分ゲインKiの値を自動的に変更することが可能となる。
なお、誤差ノルム演算部の関数として、実施の形態1では絶対値を用いていたのに対し、本実施の形態では二乗を用いているが、本実施の形態でも絶対値を用いてもよいし、実施の形態1で二乗を用いてもよい。誤差ノルム演算部で用いる関数は、絶対値でも二乗でも、どちらでも誤差の振幅を減らすようにゲインを変化させることができる。このように、誤差ノルム演算部の関数は、誤差の振幅に応じて0以上の実数を返す関数ならどのような関数でも使用することが可能である。
なお、実施の形態1と同様に、第一仮想誤差演算部41a、第二仮想誤差演算部42aをまとめて広義の仮想誤差演算部と考え、誤差ノルム演算部51aと誤差ノルム演算部52aをまとめて広義の誤差ノルム演算部と考えることができる。
実施の形態3.
図7は、本発明にかかるモータ制御装置の実施の形態3の概略構成例を示すブロック図である。本実施の形態のモータ制御装置は、フィードバック制御部2と、仮想誤差演算部41(第一仮想誤差演算部)と、仮想誤差演算部42(第二仮想誤差演算部)と、仮想誤差演算部43(第三仮想誤差演算部)と、誤差ノルム演算部51b(第一誤差ノルム演算部)と、誤差ノルム演算部52b(第二誤差ノルム演算部)と、誤差ノルム演算部53b(第三誤差ノルム演算部)と、ゲイン変更部6bとを備え、制御対象1を制御する。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して重複する説明を省略する。
本実施の形態では、仮想誤差演算部と誤差ノルム演算部をそれぞれ三つ備える場合の実施例について説明する。以下、実施の形態1と異なる点を中心に説明する。
制御対象1およびフィードバック制御部2は、実施の形態1と同様である。第一仮想誤差演算部41は、位置比例ゲインKxの現在値と、外部から設定された位置比例ゲインの候補値である第一ゲイン候補値Kx1と、位置誤差eとに基づいて、位置比例ゲインをKxからKx1に変更した際の仮想位置誤差e1を後述の方法により推定し、出力する。同様に、第二仮想誤差演算部42は、位置比例ゲインKxの現在値と、外部から設定された位置比例ゲインの候補値である第二ゲイン候補値Kx2と、位置誤差eとに基づいて、位置比例ゲインをKxからKx2に変更した際の仮想位置誤差e2を後述の方法により推定し、出力する。同様に、第三仮想誤差演算部43は、位置比例ゲインKxの現在値と、外部から設定された位置比例ゲインの候補値である第三ゲイン候補値Kx3と、位置誤差eとに基づいて、位置比例ゲインをKxからKx3に変更した際の仮想位置誤差e3を後述の方法により推定し、出力する。
また、第一誤差ノルム演算部51bは、仮想位置誤差e1に基づいて、第一誤差ノルムn1を後述の方法で計算し、出力する。同様に、第二誤差ノルム演算部52bは、仮想位置誤差e2に基づいて、第二誤差ノルムn2を後述の方法で計算し、出力する。同様に、第三誤差ノルム演算部53bは、仮想位置誤差e3に基づいて、第三誤差ノルムn3を後述の方法により計算し、出力する。
ゲイン変更部6bは、第一誤差ノルムn1と、第二誤差ノルムn2と、第三誤差ノルムn3と、第一ゲイン候補値Kx1と、第二ゲイン候補値Kx2と、第三ゲイン候補値Kx3と、に基づいて、後述の方法により位置比例ゲインKxの値を計算し、位置比例ゲインKxの値を、計算した値に変更する。第一ゲイン候補値Kx1、第二ゲイン候補値Kx2、第三ゲイン候補値Kx3は、それぞれ予め設定される位置比例ゲインの候補値であり、第一ゲイン候補値Kx1は、第1の実施の形態と同様に、従来の固定ゲインの制御器における位置比例ゲインと同じ値に設定する。第二ゲイン候補値Kx2、第三ゲイン候補値Kx3は、互いに異なる値であり、かつKx1と異なる値となるよう設定する。
次に、第一仮想誤差演算部41、第二仮想誤差演算部42及び第三仮想誤差演算部43について説明する。本実施の形態では、電流制御器23と制御対象1を実施の形態1と同様にモデル化する。そして、第一仮想誤差演算部41、第二仮想誤差演算部42、第三仮想誤差演算部43のそれぞれの伝達関数W1(s)、W2(s)、W3(s)を、設定された定数であるカットオフ角周波数ωi、慣性モーメントJ、速度比例ゲインKv、速度積分ゲインKi、位置比例ゲインの第一ゲイン候補値Kx1、第二ゲイン候補値Kx2、第三ゲイン候補値Kx3、位置比例ゲインの現在値Kxを用いて、式(18)、式(19)、式(20)のように設定する。
これらの伝達関数は、制御対象のモデルと現在の制御ゲインとから求めた閉ループの感度関数と、制御対象のモデルと変更後のゲインの候補値とから求めた閉ループの感度関数との比率に基づく伝達関数となっている。そのため、実施の形態1と同様の理由により、第一仮想誤差演算部41、第二仮想誤差演算部42、第三仮想誤差演算部43は、位置比例ゲインを現在値KxからそれぞれKx1、Kx2またはKx3に変更した際の位置誤差(仮想位置誤差e1、e2、e3)を、実際に観測された位置誤差eから推定することができる。
次に、第一誤差ノルム演算部51b、第二誤差ノルム演算部52b及び第三誤差ノルム演算部53bについて説明する。本実施の形態では、第一誤差ノルム演算部51b、第二誤差ノルム演算部52b及び第三誤差ノルム演算部53bは、絶対値演算部71と移動平均フィルタ72とで構成されている。第一誤差ノルム演算部51b、第二誤差ノルム演算部52b及び第三誤差ノルム演算部53bは、それぞれ入力された仮想位置誤差の絶対値を移動平均した値を第一誤差ノルムn1、第二誤差ノルムn2、第三誤差ノルムn3としてゲイン変更部6bへ出力する。このような構成にすることにより、各誤差ノルム演算部の出力は、入力された仮想位置誤差の振幅を平均した値となる。なお、移動平均フィルタ72は、任意のローパス特性を持つフィルタで代用することも可能である。
次に、ゲイン変更部6bの構成について説明する。図8は、本実施の形態のゲイン変更部6bの構成例を示すブロック図である。ゲイン変更部6bは、入力された第一誤差ノルムn1と第二誤差ノルムn2と第三誤差ノルムn3とに基づき、後述する方法でゲイン選択信号を出力するノルム比較部611と、入力された第一ゲイン候補値Kx1と第二ゲイン候補値Kx2と第三ゲイン候補値Kx3とノルム比較部611から出力されたゲイン選択信号とに基づき、ゲイン候補値のいずれか一つを選択して出力するゲイン選択部612と、ゲイン選択部612から出力されたゲイン候補値を入力とし、位置制御器21の位置比例ゲインの値Kxを出力するローパスフィルタ613と、で構成される。
次に、ゲイン変更部6bの動作について説明する。ノルム比較部611は、第一誤差ノルムn1、第二誤差ノルムn2および第三誤差ノルムn3を比較し、大きさが最小となる誤差ノルムを識別するための番号をゲイン選択信号として出力する。ゲイン選択部612は、入力された誤差ノルムの番号に対応したゲイン候補値を選択して出力する。例えば、三つの誤差ノルムの中で第一誤差ノルムn1が最小であるとき、ノルム比較部611はゲイン選択信号として番号1を出力し、ゲイン選択部612は番号1に対応するゲイン候補値Kx1を出力する。また、ローパスフィルタ613は、ゲイン選択部612から出力されたゲイン候補値を平滑化して位置制御器21の位置比例ゲインKxとする。そして、位置制御器21の位置比例ゲインはローパスフィルタ613により出力される位置比例ゲインKxに更新される。このようにローパスフィルタ613によって平滑化することにより、位置比例ゲインの現在値Kxがチャタリングするのを防ぐことができる。
n1、n2、n3は位置制御器21の位置比例ゲインKxの現在値をKx1、Kx2、Kx3に変更した際の位置誤差の推定値の振幅の平均であるため、ゲイン変更部6bを上記のように構成すると、位置比例ゲインKxの値は、位置誤差の推定値の振幅の平均が最小となるゲイン候補値の値に、自動的に変更される。そのため、従来の固定ゲインの制御系以上の外乱抑制性能を実現することが可能である。
また、位置比例ゲインのゲイン候補値Kx1、Kx2、Kx3の値として、外部から設定した固定値ではなく、例えば、位置比例ゲインの現在値の0.9倍、1.0倍、1.1倍とするなど、位置比例ゲインの現在値に予め設定した定数を乗算又は加算して自動的に設定した値を用いることも可能である。この場合、ゲイン候補値設定部が、位置比例ゲインの現在値に基づいてゲイン候補値Kx1、Kx2、Kx3を設定する。このように構成することにより、位置比例ゲインが現在値の場合と、位置比例ゲインを現在値よりも上げた場合及び下げた場合との外乱抑制性能を常時比較しながら、外乱の周波数特性に応じて、外乱抑制性能が向上するように位置比例ゲインを自動的に変更することが可能となる。そのため、従来の固定ゲインの制御系以上の外乱抑制性能を実現することが可能である。この場合、例えば、ゲイン候補値Kx2を位置比例ゲインKxの1.0倍としたとすると、式(19)のW2(s)は1となるので、図7における第二仮想誤差演算部42は省略し、第二誤差ノルム演算部52bの入力を位置誤差e自体にしてもよいことは言うまでもない。
なお、実施の形態1と同様に、第一仮想誤差演算部41、第二仮想誤差演算部42及び第三仮想誤差演算部43をまとめて広義の仮想誤差演算部と考え、第一誤差ノルム演算部51b、第二誤差ノルム演算部52b及び第三誤差ノルム演算部53bをまとめて広義の誤差ノルム演算部と考えることができる。
実施の形態4.
図9は、本発明にかかるモータ制御装置の実施の形態4の概略構成例を示すブロック図である。本実施の形態のモータ制御装置は、仮想誤差演算部42(第二仮想誤差演算部)を仮想誤差演算部42c(第二仮想誤差演算部)に替える以外は、第1の実施の形態のモータ制御装置と同様である。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して重複する説明を省略する。
本実施の形態では、仮想誤差演算部42cにおける伝達関数を、第1の実施の形態から変更した例について説明する。本実施の形態の動作は、仮想誤差演算部42cの動作以外は第1の実施の形態と同様である。
第二仮想誤差演算部42cの動作について説明する。本実施の形態では、第二仮想誤差演算部42cの伝達関数W2(s)は、予め設定された定数である、カットオフ角周波数ωi、慣性モーメントJ、速度比例ゲインKv、速度積分ゲインKi、第二ゲイン候補値Kx2、位相進み量a、時定数T及びゲイン変更部6で設定された位置比例ゲインの現在値Kxを用いて、以下の式(21)のように設定する。
式(21)は、実施の形態1における第二仮想誤差演算部42の伝達関数(式(5))に対し、位相進みフィルタを結合したものとなっている。位相進みフィルタの時定数Tは、制御対象1の慣性モーメントJと、速度制御器22の速度比例ゲインKvと、に基づいて求められる制御系の制御帯域によって決定する。位相進みフィルタは1/T以下の周波数の振幅を変化させず、1/T以上の周波数の振幅を増大する効果がある。そのため、第二仮想誤差演算部42cが、位置誤差eから、位置比例ゲインをKx2に変更した際の仮想位置誤差e2を推定する際に、位置誤差eに1/T以上の周波数の成分が含まれていた場合、仮想位置誤差e2の振幅は、位置比例ゲインの値をKx2に変更した際の実際の振幅よりも大きくなる。
本実施の形態の効果について、前述の図4を用いて説明する。図4の破線で示したKx=Kx2の感度関数よりも、実線で示したKx=Kx1の感度関数の方が、ゲインが小さくなる高い周波数の外乱に対しては、位置比例ゲインの値をKx1に変更した方が外乱抑制性能がよい。しかし、実際の制御対象の特性と感度関数の算出に用いる制御対象のモデルの特性との間に誤差が存在した場合に、実施の形態1の制御系では、実際には位置比例ゲインをKx1にしたほうが位置誤差が小さくなるような周波数の外乱が入力された場合でも、位置比例ゲインがKx2に変更されてしまう可能性がある。本実施の形態では、位相進みフィルタの時定数Tの値を、1/Tが図4の感度関数のゲインの大小関係が逆転する周波数よりも少し低い周波数になるように設定する。これにより、位置比例ゲインをKx2とした場合に、位置比例ゲインがKx1とした場合と比べて、外乱抑制性能が悪くなりやすい周波数帯域の外乱が入力された際に、位置比例ゲインをKx2とした場合の位置誤差の推定値である仮想位置誤差e2の振幅を大きめに見積もることになる。このため、位置比例ゲインの値が、従来の固定ゲイン制御と同じゲインであるKx1に変更されやすくなる。ゆえに、制御対象のモデルに誤差がある場合においても、常に従来の固定ゲインの制御系以上の外乱抑制性能を実現することが可能である。
なお、本実施の形態では、仮想位置誤差を求めるための伝達関数として、制御対象のモデルと現在の制御ゲインとから求まる感度関数と、制御対象のモデルとゲイン候補値に変更した際の制御ゲインとから求まる感度関数と、の比率の伝達関数に対し、位相進みフィルタを結合した例を説明した。これに限らず、仮想位置誤差を求めるための伝達関数として、制御対象のモデルと現在の制御ゲインとから求まる感度関数と、制御対象のモデルとゲイン候補値に変更した際の制御ゲインとから求まる感度関数と、の比率の伝達関数に対し、重み関数として任意の伝達関数を持つフィルタを結合したものを用いることが可能である。
なお、実施の形態1と同様に、仮想誤差演算部41、仮想誤差演算部42cをまとめて広義の仮想誤差演算部と考え、第一誤差ノルム演算部51と第二誤差ノルム演算部52をまとめて広義の誤差ノルム演算部と考えることができる。
実施の形態5.
図10は、本発明にかかるモータ制御装置の実施の形態5の概略構成例を示すブロック図である。本実施の形態のモータ制御装置は、フィードバック制御部2と、仮想誤差演算部41dと、四路スイッチ(切替器)3と、誤差ノルム演算部51d(第一誤差ノルム演算部)と、誤差ノルム演算部52d(第二誤差ノルム演算部)と、ゲイン変更部6dとを備え、制御対象1を制御する。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して重複する説明を省略する。
本実施の形態では、仮想誤差演算部の個数を一つとした例について説明する。以下、実施の形態1と異なる動作について説明する。仮想誤差演算部41dは、位置比例ゲインKxの現在値と、外部から設定された位置比例ゲインの候補値である第一ゲイン候補値Kx1及び第二ゲイン候補値Kx2と、位置誤差eと、に基づいて、後述する方法により、位置比例ゲインをKxからKx1もしくはKx2に変更した際の仮想位置誤差e~を推定し、四路スイッチ3へ出力する。
四路スイッチ3は、入力端と出力端をそれぞれ二つずつ持ち(第一入力端、第二入力端と、第一出力端、第二出力端とを有し)、位置誤差eと仮想位置誤差e~は、四路スイッチ3を介して、それぞれ、第一誤差ノルム演算部51dまたは第二誤差ノルム演算部52dに入力される。四路スイッチ3には二つの接続状態が存在し、状態#1では、位置誤差eが第一誤差ノルム演算部51dに入力され(第一入力端から入力された信号が第一出力端から出力され)、仮想位置誤差e~が第二誤差ノルム演算部52dに入力される(第二入力端から入力された信号が第二出力端から出力される)。また、状態#2では、位置誤差eが第二誤差ノルム演算部52dに入力され(第一入力端から入力された信号が第二出力端から出力され)、仮想位置誤差e~が第一誤差ノルム演算部51dに入力される(第二入力端から入力された信号が第一出力端から出力される)。四路スイッチ3は、後述する方法により、この二つの状態を切り替える。図10は、状態#1の場合を図示している。
第一誤差ノルム演算部51dは、四路スイッチ3から入力される仮想位置誤差e1 ´に基づいて、後述する方法により、第一誤差ノルムn1を算出して出力する。同様に、第二誤差ノルム演算部52dは、仮想位置誤差e2 ´に応じて、後述する方法により、第二誤差ノルムn2を算出して出力する。なお、四路スイッチ3が状態#1の場合は、仮想位置誤差e1 ´=位置誤差e、仮想位置誤差e2 ´=仮想位置誤差e~であり、四路スイッチ3が状態#2の場合は、仮想位置誤差e1 ´=仮想位置誤差e~、仮想位置誤差e2 ´=位置誤差eである。
ゲイン変更部6dは、第一誤差ノルムn1と、第二誤差ノルムn2と、第一ゲイン候補値Kx1と、第二ゲイン候補値Kx2と、に基づき、後述の方法により、位置比例ゲインKxの値を第一ゲイン候補値Kx1と、第二ゲイン候補値Kx2のどちらかに変更する。
次に、仮想誤差演算部41dの動作について説明する。本実施の形態では、仮想誤差演算部41dの伝達関数W(s)は、予め設定された定数であるカットオフ角周波数ωi、慣性モーメントJ、速度比例ゲインKv、速度積分ゲインKi、位置比例ゲインの第一ゲイン候補値Kx1、第二ゲイン候補値Kx2、および位置制御器21の位置比例ゲインの現在値Kxを用いて、位置比例ゲインKxの現在値がKx1であるときは式(22)、位置比例ゲインKxの現在値がKx2であるときは式(23)となるように設定する。
このように、本実施の形態では、仮想誤差演算部41dの伝達関数を、位置比例ゲインKxがKx1であるかKx2であるかに応じて変化するように設定している。このため、仮想誤差演算部41dの出力は、位置比例ゲインKxの現在値がKx1であるときは、位置比例ゲインKxをKx2に変更した際の位置誤差の推定値(仮想位置誤差)e2となり、位置比例ゲインKxの現在値がKx2であるときは、位置比例ゲインKxをKx1に変更した際の位置誤差の推定値(仮想位置誤差)e1となる。なお、仮想誤差演算部41dは、位置比例ゲインKxがKx1であるかKx2であるかの情報をゲイン変更部6dから取得するようにしてもよいし、図示しない制御部がゲイン変更部6dが選択した結果(位置比例ゲインKxをKx1に変更したかKx2に変更したかを示す結果)を取得して制御部が仮想誤差演算部41dに通知してもよい。同様に四路スイッチ3にも、ゲイン変更部6dまたは図示しない制御部からゲイン変更部6dが選択した結果が入力される。
次に、四路スイッチ3の動作について説明する。本実施の形態のモータ制御装置では、四路スイッチ3の接続状態を、位置比例ゲインKxの現在値がKx1であるときは状態#1とし、位置比例ゲインKxの現在値がKx2であるときは状態#2とする。四路スイッチ3の状態をこのように設定することにより、第一誤差ノルム演算部51dの入力e1 ´は、位置比例ゲインKxの現在値がKx1のときには位置誤差eそのものとなり、位置比例ゲインKxの現在値がKx2のときには位置比例ゲインをKx2からKx1に変更した際の位置誤差の推定値e1となる。このため、どちらの場合も、位置比例ゲインをKx1とした場合の値(位置誤差またはその推定値)となる。同様に、第二誤差ノルム演算部52dの入力は、位置比例ゲインKxの値をKx2とした場合の値(位置誤差またはその推定値)となる。
次に、第一誤差ノルム演算部51d及び第二誤差ノルム演算部52dについて説明する。本実施の形態の第一誤差ノルム演算部51d及び第二誤差ノルム演算部52dの構成は、実施の形態3のモータ制御装置における第一誤差ノルム演算部51b及び第二誤差ノルム演算部52bと同様である。このため、第一誤差ノルム演算部51d及び第二誤差ノルム演算部52dの出力は、入力された位置誤差または位置誤差の推定値の振幅を平均した値となる。なお、第一誤差ノルム演算部51d及び第二誤差ノルム演算部52dを、実施の形態1と同様に、絶対値演算を行う構成としてもよいし、実施の形態2と同様に二乗演算を行う構成としてもよい。
次に、ゲイン変更部6dの構成について説明する。図11は、本実施の形態のゲイン変更部6dの構成例を示すブロック図である。ゲイン変更部6dは、ゲイン変更部6dに入力された第一誤差ノルムn1と第二誤差ノルムn2とに基づき、後述する方法でゲイン選択信号を出力するノルム比較部611dと、入力された第一ゲイン候補値Kx1と第二ゲイン候補値Kx2とノルム比較部611dから出力されたゲイン選択信号とに基づき、ゲイン候補値のいずれか一つのゲインを出力するゲイン選択部612dと、で構成される。
次に、ゲイン変更部6dの動作について説明する。ノルム比較部611dは、入力された第一誤差ノルムn1と第二誤差ノルムn2の大きさを比較し、大きさが小さい方の誤差ノルムの番号をゲイン選択信号として出力する。また、ゲイン選択部612dは、入力された選択信号で指定された誤差ノルムの番号に対応したゲイン候補値を出力する。例えば、第二誤差ノルムn2が第一誤差ノルムn1よりも小さいとき、ノルム比較部611dは番号2を選択信号として出力し、ゲイン選択部612dはKx2を選択してKxとして出力する。そして、位置制御器21の位置比例ゲインの値は、ゲイン選択部612dの出力値Kxに変更される。
ゲイン変更部6dは上記のように構成され、n1は位置比例ゲインKxがKx1である場合の位置誤差またはその推定値の振幅の平均であり、n2は位置比例ゲインKxがKx2である場合の位置誤差またはその推定値の振幅の平均である。これにより、位置比例ゲインKxの値は、Kx1とKx2のうち、位置誤差の振幅が小さくなる方の値に、自動的に変更される。そのため、従来の固定ゲインの制御系以上の外乱抑制性能を実現することが可能である。
なお、実施の形態1と同様に、第一誤差ノルム演算部51d及び第二誤差ノルム演算部52dをまとめて広義の誤差ノルム演算部と考えることができる。