(57)【要約】【課題】同次制御において、有限時間整定制御を行った場合に、誤差が小さいときに振動が悪化したり、誤差が１以上のときに追従性能が悪化したりするという問題があった。【解決手段】制御装置３は、上位指令値と制御対象の現在値との誤差を算出する誤差算出部３１と、誤差に応じて同次次数を取得する同次次数取得部３３と、同次制御となるように、誤差に同次次数に応じた指数演算を行う演算部３４と、その演算結果から下位指令値を算出する指令値算出部３６とを備える。同次次数は、誤差の小さい範囲及び大きい範囲において、０に設定される。その結果、有限時間整定制御よりも、誤差の小さい範囲における振動の増加を抑制できると共に、誤差の大きい範囲における収束性を向上させることができる。【選択図】図７
2017016391.tif 000002
【特許請求の範囲】
【請求項１】
上位指令値と、制御対象の現在値との誤差を算出する誤差算出部と、
同次次数を取得する同次次数取得部と、
同次制御となるように、誤差に前記同次次数に応じた指数演算を行う演算部と、
前記演算部による演算結果から下位指令値を算出する指令値算出部と、を備えた制御装置。
【請求項２】
前記誤差に正の実数であるスケーリング係数を乗算するスケーリング部と、
前記演算部による演算結果に前記スケーリング係数の逆数を乗算する逆スケーリング部と、をさらに備え、
前記演算部は、前記スケーリング係数が乗算された誤差に指数演算を行い、
前記指令値算出部は、前記スケーリング係数の逆数の乗算された演算結果から下位指令値を算出する、請求項１記載の制御装置。
【請求項３】
前記制御対象に関する現在値に基づいて、前記スケーリング部及び前記逆スケーリング部が用いる前記スケーリング係数を変更する変更部をさらに備えた、請求項２記載の制御装置。
【請求項４】
前記同次次数取得部は、前記スケーリング係数が乗算された誤差に基づいて同次次数を取得する、請求項２または請求項３記載の制御装置。
【請求項５】
前記同次次数取得部は、誤差の絶対値が、１より小さい閾値よりも小さい範囲では、０である同次次数を取得する、請求項１から請求項４のいずれか記載の制御装置。
【請求項６】
前記同次次数取得部は、誤差の絶対値が、前記閾値よりも大きく、１より小さい範囲では、０未満である同次次数を取得する、請求項５記載の制御装置。
【請求項７】
前記同次次数取得部は、誤差の絶対値が１以上の範囲では、０以上である同次次数を取得する、請求項１から請求項６のいずれか記載の制御装置。
【請求項８】
前記制御対象は、モータである、請求項１から請求項７のいずれか記載の制御装置。
【請求項９】
位置指令と、制御対象のモータの現在位置との位置誤差を算出する位置誤差算出部と、
同次次数を取得する同次次数取得部と、
同次制御となるように、位置誤差に前記同次次数に応じた指数演算を行う第１の演算部と、
前記第１の演算部による演算結果に比例制御を行うことによって速度指令を算出する速度指令算出部と、
前記速度指令と、前記モータの現在速度との速度誤差を算出する速度誤差算出部と、
同次制御となるように、速度誤差に前記同次次数に応じた指数演算を行う第２の演算部と、
前記第２の演算部による演算結果から電流指令を算出する電流指令算出部と、を備え、
前記同次次数取得部は、位置誤差及び速度誤差の少なくとも一方を用いて、前記同次次数を取得し、
前記第２の演算部は、速度誤差にそれぞれ、前記同次次数に応じた指数演算を行う第１及び第２の指数演算部を備え、
前記電流指令算出部は、前記第１の指数演算部の演算結果に比例制御を行い、前記第２の指数演算部の演算結果に積分制御を行う、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同次システムとして制御対象を制御する制御装置に関する。
【背景技術】
【０００２】
従来、システムの同次性を利用した制御方法が知られている（非特許文献１，２）。また、そのような同次システムを、位置をＰ制御で制御して速度指令を生成し、速度をＰＩ制御で制御して電流指令を生成するＰ−ＰＩ制御に応用した有限時間整定Ｐ−ＰＩ制御という制御方法も知られている（非特許文献３）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】V. T. Haimo, "Finite time controllers", SIAM Journal on Control and Optimization, Volume 24 Issue 4, pp. 760-770, 1986
【非特許文献２】A. Bacciotti, L. Rosier, "Liapunov Functions and Stability in Control Theory", Springer-Verlag, 2005
【非特許文献３】西田直貴、的場俊亮、中村文一、中村奈美、「同次Ｐ−ＰＩ制御によるロボットマニピュレータの高精度制御」、第５５回システム制御情報学会研究発表講演会、２０１１年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の同次システムにおいては、同次次数が固定されていた。特に、同次次数が負の値に固定されている有限時間整定制御の場合には、誤差の小さい状態、すなわちシステムの停止状態において振動が増加する可能性があったり、誤差の大きい状態において追従性能が低下したりするなどの問題があった。
一般的に言えば、従来の同次システムによる制御において、より適切な制御を行うことができるようにしたいという要望があった。
【０００５】
本発明は、上記課題を解決するためになされたものであり、同次システムによる制御において、より適切な制御を行うことができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による制御装置は、上位指令値と、制御対象の現在値との誤差を算出する誤差算出部と、同次次数を取得する同次次数取得部と、同次制御となるように、誤差に同次次数に応じた指数演算を行う演算部と、演算部による演算結果から下位指令値を算出する指令値算出部と、を備えたものである。
このような構成により、同次システムにおいて同次次数が変化することになるため、例えば、同次次数取得部が同次次数の適切な取得を行うことにより、より適切な制御を行うことができるようになる。
【０００７】
また、本発明による制御装置では、誤差に正の実数であるスケーリング係数を乗算するスケーリング部と、演算部による演算結果にスケーリング係数の逆数を乗算する逆スケーリング部と、をさらに備え、演算部は、スケーリング係数が乗算された誤差に指数演算を行い、指令値算出部は、スケーリング係数の逆数の乗算された演算結果から下位指令値を算出してもよい。
同次システムにおいては、演算対象となる誤差が１より大きいかどうかによって、指数演算の結果が変化することになる。したがって、このような構成により、演算対象となる誤差が、指数演算の効果の得られる適切な値の範囲となるようにすることができる。
【０００８】
また、本発明による制御装置では、制御対象に関する現在値に基づいて、スケーリング部及び逆スケーリング部が用いるスケーリング係数を変更する変更部をさらに備えてもよい。
このような構成により、例えば、現在値などに応じてスケーリング係数を変更することにより、演算対象となる誤差を、より適切な効果の得られる範囲に動的に変更することができるようになる。
【０００９】
また、本発明による制御装置では、同次次数取得部は、スケーリング係数が乗算された誤差に基づいて同次次数を取得してもよい。
このような構成により、同次次数の取得に用いられる誤差についても、適切な範囲となるようにすることができる。
【００１０】
また、本発明による制御装置では、同次次数取得部は、誤差の絶対値が、１より小さい閾値よりも小さい範囲では、０である同次次数を取得してもよい。
このような構成により、誤差の小さい状態における振動の増加を抑制することができる。
【００１１】
また、本発明による制御装置では、同次次数取得部は、誤差の絶対値が、閾値よりも大きく、１より小さい範囲では、０未満である同次次数を取得してもよい。
このような構成により、誤差の絶対値が閾値より大きく１より小さい範囲において、誤差の収束性能を向上させることができる。
【００１２】
また、本発明による制御装置では、同次次数取得部は、誤差の絶対値が１以上の範囲では、０以上である同次次数を取得してもよい。
このような構成により、誤差の大きい状態における追従性を向上させることができる。
【００１３】
また、本発明による制御装置では、制御対象は、モータであってもよい。
このような構成により、例えば、モータによって動作するロボットなどにおいて、誤差が大きくなりうる高速な動作と、誤差が小さくなりうる微細な動作との両方の制御性能を向上させることができる。
【００１４】
また、本発明による制御装置は、位置指令と、制御対象のモータの現在位置との位置誤差を算出する位置誤差算出部と、同次次数を取得する同次次数取得部と、同次制御となるように、位置誤差に同次次数に応じた指数演算を行う第１の演算部と、第１の演算部による演算結果に比例制御を行うことによって速度指令を算出する速度指令算出部と、速度指令と、モータの現在速度との速度誤差を算出する速度誤差算出部と、同次制御となるように、速度誤差に同次次数に応じた指数演算を行う第２の演算部と、第２の演算部による演算結果から電流指令を算出する電流指令算出部と、を備え、同次次数取得部は、位置誤差及び速度誤差の少なくとも一方を用いて、同次次数を取得し、第２の演算部は、速度誤差にそれぞれ、同次次数に応じた指数演算を行う第１及び第２の指数演算部を備え、電流指令算出部は、第１の指数演算部の演算結果に比例制御を行い、第２の指数演算部の演算結果に積分制御を行う、ものである。
このような構成により、同次Ｐ−ＰＩ制御において、同次次数を変化させることができ、例えば、同次次数取得部が同次次数の適切な取得を行うことにより、より適切な制御を行うことができるようになる。
【発明の効果】
【００１５】
本発明による制御装置によれば、同次システムにおいて同次次数を変化させることができ、例えば、適切な同次次数が取得されることによって、より適切な制御を行うことができるようになる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態による制御装置の構成を示すブロック図
【図２】同実施の形態おける誤差と同次次数との対応の一例を示すグラフ
【図３】同実施の形態における誤差と指数演算の結果との関係の一例を示すグラフ
【図４】同実施の形態による制御装置の動作を示すフローチャート
【図５】同実施の形態による制御装置の誤差と、従来例の誤差とを比較するためのグラフ
【図６】同実施の形態における制御装置の構成の他の一例を示すブロック図
【図７】同実施の形態における制御装置の構成の他の一例を示すブロック図
【発明を実施するための形態】
【００１７】
以下、本発明による制御装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素は同一または相当するものであり、再度の説明を省略することがある。本実施の形態による制御装置は、同次次数を変更可能な同次システムを構成しているものである。
【００１８】
図１は、本実施の形態による制御装置１の構成を示すブロック図である。本実施の形態による制御装置１は、位置誤差算出部１１と、スケーリング部１２と、同次次数取得部１３と、第１の演算部１４と、逆スケーリング部１５と、速度指令算出部１６と、速度誤差算出部１７と、スケーリング部１８と、第２の演算部１９と、逆スケーリング部２０と、電流指令算出部２１とを備えている。また、第２の演算部１９は、第１の指数演算部１９ａと、第２の指数演算部１９ｂとを備えている。また、電流指令算出部２１は、比例制御部２１ａと、積分制御部２１ｂと、加算器２１ｃとを備えている。この制御装置１は、例えば、特別なセンサを設けることなく、位置検出手段（エンコーダ）によって検出された位置を用いて、移動対象を駆動する駆動手段（ＡＣモータ及びＤＣモータ）を制御することにより、起動の位置及び速度を高精度で追従させる制御を行うものであってもよい。また、制御装置１による制御は、Ｐ−ＰＩ制御であり、そのＰ−ＰＩ制御は同次システムとなっているものとする。すなわち、本実施の形態による制御装置１による制御は、同次Ｐ−ＰＩ制御となっている。なお、同次システムについては、上記非特許文献１〜３等を参照されたい。
【００１９】
位置誤差算出部１１は、位置指令と、制御対象のモータの現在位置との位置誤差を算出する。制御対象のモータは、例えば、産業用ロボットの各軸を動作させるモータであってもよく、溶接ワイヤを送給するモータであってもよく、その他のモータであってもよい。位置誤差算出部１１は、例えば、位置指令からモータの現在位置を減算する減算器であってもよい。位置指令は、例えば、ティーチングされた位置に基づいて算出された位置の指令値であってもよい。モータの現在位置は、例えば、エンコーダによって測定されたモータの位置（角度）であってもよい。
【００２０】
スケーリング部１２は、位置誤差算出部１１によって算出された位置誤差に、正の実数であるスケーリング係数を乗算する。そのスケーリング係数は、あらかじめ設定されている値であってもよく、または、後述するように、動的に変更される値であってもよい。ここでは、前者の場合について主に説明する。後述する同次次数の取得や指数演算においては、誤差の絶対値が１より小さいかどうかに応じて結果が異なることになる。また、状況によっては、誤差の絶対値が１より小さくなりにくい場合もある。例えば、パルス値などのように整数値である位置が用いられる場合には、位置誤差も整数となり、誤差の絶対値が０以外の１より小さい値となることはない。したがって、例えば、スケーリング係数を乗算した後の誤差の絶対値の最大値が１未満となるようにスケーリング係数を設定してもよく、または、スケーリング係数を乗算した後の誤差の絶対値の多くが１未満となるようにスケーリング係数を設定してもよい。後者の場合には、例えば、スケーリング係数を乗算した後の誤差の絶対値の最大値が１以上となってもよい。なお、スケーリング係数を乗算した後の誤差の絶対値が０から１の範囲のできるだけ多くの範囲で変化するようにスケーリング係数が設定されることが好適である。
【００２１】
同次次数取得部１３は、同次次数（τ）を取得する。同次次数は、制御装置１が持つ同次性を決定するパラメータである。ここでは、同次次数取得部１３が、スケーリング係数の乗算された位置誤差を用いて同次次数を取得する場合について説明するが、それ以外の方法によって同次次数を取得してもよい。同次次数取得部１３は、例えば、位置誤差及び速度誤差の少なくとも一方を用いて、同次次数を取得してもよい。また、同次次数取得部１３は、例えば、位置誤差及び速度誤差の少なくとも一方と、現在速度とを用いて同次次数を取得してもよい。なお、位置誤差及び速度誤差は、それぞれ独立して、スケーリング係数の乗算されたものであってもよく、または、そうでなくてもよい。同次次数取得部１３で取得された同次次数は、第１の演算部１４、並びに第２の演算部１９の第１及び第２の指数演算部１９ａ、１９ｂのそれぞれで用いられることになる。すなわち、制御装置１において同次次数を用いた制御が行われる場合には、１以上の演算部のそれぞれにおいて、同じ同次次数を用いた制御が行われるものとする。
【００２２】
ここで、同次次数τと、同次システムにおける制御との関係について説明する。
（１）有限時間整定制御（τ＜０）
同次次数τが負である同次システムによる制御は、有限時間整定制御と呼ばれる。その有限時間整定制御では、有限時間で目標へ収束することが理論的に保証されている。また、有限時間整定制御では、指数安定制御や有理安定制御と比較して、より速く収束することも理論的に保証されている。なお、有限時間整定制御では、誤差が１未満の場合に、高い誤差収束性能を発揮するが、誤差が１以上の場合には、誤差収束性能が低下することが知られている。また、外乱の多いシステムでは、誤差が小さい領域では理論上適正な入力であっても、外乱の影響によって、大きな入力は性能劣化を生じさせることになる。
【００２３】
（２）有理安定制御（τ＞０）
同次次数τが正である同次システムによる制御は、有理安定制御と呼ばれる。その有理安定制御は、目標に収束するのに無限に長い時間を要することになるため、誤差が１未満の場合には、誤差収束性能が低下することになる。一方、誤差が１以上である場合には、高い誤差収束性能を発揮することになる。そのため、外乱の多いシステムであっても、誤差が小さいと他の制御モードに比べて入力も小さくなるため、性能劣化が生じにくいことになる。
【００２４】
（３）指数安定制御（τ＝０）
同次次数τが０である同次システムによる制御は、指数安定制御と呼ばれる。その指数安定制御は、同次システムではない従来の制御と同じになる。例えば、同次Ｐ−ＰＩ制御においてτ＝０である場合には、Ｐ−ＰＩ制御となる。
【００２５】
同次次数取得部１３は、例えば、誤差の絶対値が、閾値ｅTH1よりも小さい範囲では、０である同次次数を取得してもよい。また、同次次数取得部１３は、誤差の絶対値が、閾値ｅTH1よりも大きく、１より小さい範囲では、０未満である同次次数を取得してもよい。なお、誤差の絶対値が閾値ｅTH1に等しい場合には、０である同次次数が取得されてもよい。また、同次次数取得部１３は、誤差の絶対値が１以上の範囲では、０または０より大きい同次次数、すなわち０以上の同次次数を取得してもよい。なお、その閾値ｅTH1は、１より小さい正の値であるものとする。また、同次次数取得部１３が誤差を用いて同次次数を取得する場合に、あらかじめ決められている、誤差と同次次数との関係を用いて、誤差に対応する同次次数を取得してもよい。その誤差と同次次数との関係は、誤差の絶対値と同次次数との関係であってもよい。両者の関係は、例えば、関数で示されてもよく、または、テーブル等の対応関係で示されてもよい。図２は、そのような誤差の絶対値と同次次数との関係の一例を示すグラフである。図２において、誤差の絶対値をｘとすると、同次次数τは、次のようになっている。なお、ａは負の実数である。
τ＝０  （０≦ｘ≦ｅTH1）
τ＝ａ（ｘ−ｅTH1）2（２ｘ＋ｅTH1−３ｅTH2）／（ｅTH1−ｅTH2）3  （ｅTH1＜ｘ＜ｅTH2）
τ＝ａ  （ｅTH2≦ｘ＜１）
τ＝０  （ｘ≧１）
【００２６】
図２のグラフで示されるように、誤差の絶対値に応じて変化する同次次数τは、誤差の絶対値が１以外の箇所においては、連続的に変化することが好適である。そのようにすることによって、有限時間整定制御、有理安定制御、及び指数安定制御の３個の制御モードが連続につながって変化することになる。なお、誤差の絶対値が１の場合には、後述する指数演算の結果が演算対象の誤差と同じとなるため、同次次数τが不連続であったとしても制御が不連続になることはない。そのように、誤差の絶対値が１の箇所において同次次数が不連続である場合には、その不連続な箇所において同次次数が０となることが好適である。そのようにすることで、同次次数が不連続である箇所において指数安定制御となり、第１及び第２の演算部１４，１９による演算結果が連続になるからである。また、誤差の絶対値が１以外の箇所において、同次次数τが誤差の絶対値に対して滑らかな関数となっていてもよい。また、誤差の絶対値が１以上の範囲では、上述のように、同次次数は正の値であってもよい。したがって、例えば、誤差の絶対値が１以上の範囲において、図２のグラフの破線で示すように同次次数が変化してもよい。
【００２７】
第１の演算部１４は、同次制御となるように、位置誤差に同次次数に応じた指数演算を行う。その位置誤差は、スケーリング部１２によってスケーリング係数の乗算された位置誤差である。なお、同次制御となるように指数演算を行うとは、制御装置１が同次システムとなるように指数演算を行うことである。その指数演算とは、演算対象の正負を維持したままｒ乗することである。すなわち、次式の演算を行うことである。このことは、他の指数演算においても同様であるとする。なお、ｒは、同次次数τの関数であるとする。したがって、同次次数取得部１３によって取得された同次次数τに応じて、ｒの値が決まることになる。第１の演算部１４は、同次次数取得部１３が取得したτの値と、同次次数τの関数とを用いて指数ｒを算出し、その算出したｒを用いて指数演算を行ってもよい。そのτの関数については後述する。
｜演算対象｜ｒ×ｓｇｎ（演算対象）
【００２８】
ここで、ｓｇｎ（ｚ）は、次の符号関数である。
ｓｇｎ（ｚ）＝１  （ｚ＞０）
ｓｇｎ（ｚ）＝０  （ｚ＝０）
ｓｇｎ（ｚ）＝−１  （ｚ＜０）
【００２９】
なお、上記演算式から分かるように、上記演算結果は、演算対象である誤差の絶対値＝１を挟んで、演算対象の絶対値に対して、演算結果の絶対値が大きくなるのか、小さくなるのかが切り替わることになる。例えば、ｒ＞１の場合には、演算対象の絶対値が１より小さい範囲では、演算結果の絶対値が演算対象の絶対値よりも小さくなり、演算対象の絶対値が１より大きい範囲では、演算結果の絶対値が演算対象の絶対値よりも大きくなる。したがって、誤差の単位系（例えば、メートル、センチメートル、ラジアン（ｒａｄ）、度（ｄｅｇ）、メートル／秒、センチメートル／秒、ラジアン／秒、度／秒など）によって、演算対象の範囲が決まることになり、誤差を直接演算対象とした場合には、適切な制御をできないこともある。具体的には、モータの角度を示す値としてエンコーダのパルス値を用いた場合には、誤差の絶対値が０以外の１より小さい値を取ることはないことになる。したがって、上述のように、スケーリング係数を乗算することによって、誤差のスケールを適切な範囲（例えば、１以下の範囲など）にスケーリングすることが好適となる。
【００３０】
逆スケーリング部１５は、第１の演算部１４による演算結果にスケーリング係数の逆数を乗算する。すなわち、第１の演算部１４による演算結果が、スケーリング係数で除算されることになる。そのスケーリング係数は、スケーリング部１２で用いられるスケーリング係数と同じである。
【００３１】
速度指令算出部１６は、第１の演算部１４による演算結果に比例制御を行うことによって速度指令を算出する。その演算結果は、逆スケーリング部１５によってスケーリング係数の逆数の乗算された演算結果である。比例制御は、演算結果に比例ゲインを乗算することによって行われてもよい。その比例制御の結果が、速度指令値となる。
【００３２】
速度誤差算出部１７は、速度指令算出部１６によって算出された速度指令と、モータの現在速度との速度誤差を算出する。そのモータは、上述の現在位置が取得されたモータと同じモータである。速度誤差算出部１７は、例えば、速度指令からモータの現在速度を減算する減算器であってもよい。モータの現在速度は、例えば、エンコーダによって測定されたモータの位置が時間微分された速度（角速度）であってもよい。
【００３３】
スケーリング部１８は、速度誤差算出部１７によって算出された速度誤差に、正の実数であるスケーリング係数を乗算する。そのスケーリング係数は、あらかじめ設定されている値であってもよく、または、後述するように、動的に変更される値であってもよい。ここでは、前者の場合について主に説明する。速度誤差にスケーリング係数を乗算する理由や、スケーリング係数の設定については、スケーリング係数の乗算対象が異なる以外は、スケーリング部１２の説明と同様であり、その説明を省略する。なお、スケーリング部１８が用いるスケーリング係数は、スケーリング部１２が用いるスケーリング係数と同じであってもよく、または異なっていてもよい。通常、スケーリング係数は、各スケーリング部１２，１８においてそれぞれ独立して設定される。スケーリング部１８は、速度誤差にスケーリング係数を乗算した結果を、第１及び第２の指数演算部１９ａ，１９ｂのそれぞれに渡すものとする。そのため、スケーリング部１８は、例えば、１個の乗算の処理を行い、その結果を第１及び第２の指数演算部１９ａ，１９ｂのそれぞれに渡してもよく、または、第１及び第２の指数演算部１９ａ，１９ｂごとに乗算の処理を行ってもよい。
【００３４】
第２の演算部１９は、同次制御となるように、速度誤差に同次次数に応じた指数演算を行う。その指数演算は、第１及び第２の指数演算部１９ａ，１９ｂにおいて行われるため、第１及び第２の指数演算部１９ａ，１９ｂは、速度誤差にそれぞれ、同次次数に応じた指数演算を行う。その速度誤差は、スケーリング部１８によってスケーリング係数の乗算された速度誤差である。第１及び第２の指数演算部１９ａ，１９ｂによる指数演算も、第１の演算部１４における指数演算と同様のものである。ここで、指数演算において用いられる指数ｒについて説明する。制御装置１が同次システムとなるためには、第１の演算部１４、並びに第１及び第２の指数演算部１９ａ，１９ｂにおいて用いられる指数を任意に取ることはできない。具体的には、Ｐ−ＰＩ制御の場合には、次のようになる。なお、ｒ1は、各ｒが０より大きい値となる範囲において、任意に設定することができる。例えば、ｒ1＝１としてもよい。また、ｒ1の決定に応じて、各ｒが正となるようにするため、τの範囲が制限されることになる。
第１の演算部１４：ｒ＝（ｒ1＋τ）／ｒ1
第１の指数演算部１９ａ：ｒ＝（ｒ1＋２τ）／（ｒ1＋τ）
第２の指数演算部１９ｂ：ｒ＝（ｒ1＋３τ）／（ｒ1＋τ）
【００３５】
逆スケーリング部２０は、第２の演算部１９による演算結果にスケーリング係数の逆数を乗算する。すなわち、逆スケーリング部２０は、第１及び第２の指数演算部１９ａ，１９ｂによる演算結果のそれぞれにスケーリング係数の逆数を乗算する。そのスケーリング係数は、スケーリング部１８で用いられるスケーリング係数と同じである。なお、誤差への指数演算の前後でスケーリング係数の乗算とスケーリング係数の逆数の乗算とを行っても同次性は失われない。そのため、第１及び第２の演算部１４，１９が、同次制御となるように、取得された同次次数に応じた指数演算を行う場合には、スケーリング部１２，１８、及び逆スケーリング部１５，２０を備えている制御装置１も同次システムとなる。
【００３６】
電流指令算出部２１は、第２の演算部１９による演算結果、すなわち、第１及び第２の指数演算部１９ａ，１９ｂによる演算結果から電流指令を算出する。具体的には、第１の指数演算部１９ａによる演算結果に比例制御部２１ａによって比例制御（比例動作）が行われ、第２の指数演算部１９ｂによる演算結果に積分制御部２１ｂによって積分制御（積分動作）が行われ、比例制御の結果と、積分制御の結果とが加算器２１ｃによって加算されることによって、電流指令値が算出されることになる。なお、第１及び第２の指数演算部１９ａ，１９ｂによる演算結果は、逆スケーリング部２０によってスケーリング係数の逆数の乗算された演算結果である。ここでは、第１の指数演算部１９ａによる演算結果にスケーリング係数の逆数の乗算された演算結果が、比例制御の対象となり、第２の指数演算部１９ｂによる演算結果にスケーリング係数の逆数の乗算された演算結果が、積分制御の対象となるものとする。比例制御は、演算結果に比例ゲインを乗算することによって行われてもよい。また、積分制御は、演算結果の積分値に積分ゲインを乗算することによって行われてもよい。
【００３７】
ここで、図３を用いて、誤差と指数演算の結果との関係について説明する。図３のグラフにおいて、誤差の絶対値と同次次数との関係が図２で示される場合に対応する、誤差の絶対値と指数演算の演算結果の絶対値との関係を太い実線で示している。また、図３のグラフにおいて、同次次数が負の固定値である場合、すなわち有限時間整定制御である場合に対応する、誤差の絶対値と指数演算の演算結果の絶対値との関係を一点鎖線で示している。なお、同次システムではない従来のＰ−ＰＩ制御の場合には、指数演算を行わないため、誤差と演算結果に対応する値とは等しくなる。図２のグラフでは、誤差の絶対値が閾値ｅTH1以下の範囲及び１以上の範囲ではτ＝０であるため、指数演算の結果は、Ｐ−ＰＩ制御と同じになる。また、誤差の絶対値が閾値ｅTH1より大きく１未満の範囲ではτ＜０であるため、指数演算の結果は、Ｐ−ＰＩ制御よりも大きな値となる。その結果、その範囲内ではより速く収束することになる。このように、誤差が０に近い微小な範囲では、Ｐ−ＰＩ制御と同じになり、有限時間整定制御（τ＜０）よりも停止状態における振動の増加を抑制することができる。一方、誤差が閾値ｅTH1を超えると追従誤差が大きくなり難いように制御することができる。また、誤差が１以上の範囲では、Ｐ−ＰＩ制御と同じになるため、有限時間整定制御（τ＜０）より速く収束することになる。なお、誤差の絶対値が１より大きい範囲において、同次次数（τ）を０より大きい値にした場合（図２の破線の場合）に対応する演算結果の絶対値は、図３において、Ｐ−ＰＩ制御よりも上方側に存在することになる。したがって、その場合には、誤差の絶対値が１より大きい範囲において、Ｐ−ＰＩ制御よりも収束性能を向上させることができる。このように、本実施の形態による制御装置１は、有限時間整定の同次Ｐ−ＰＩ制御における問題点である、追従誤差が微小な範囲や停止状態における振動の悪化や、追従誤差が１以上の場合における追従性能の悪化を回避することができる。その結果、例えば、ロボットの手先位置をある位置から別の位置まで最高速で移動させる作業などの高速な動きを行う場合、すなわち誤差が大きくなりうる場合においても、反対に、ある限定された範囲において微細な動きを高速で行う場合、すなわち誤差が小さくなりうる場合においても、より高精度な制御を実現することができるようになる。このように、制御装置１によれば、追従制御を必要とするより広い範囲において、高精度で安定した制御を実現することができる。
【００３８】
次に、制御装置１の動作について図４のフローチャートを用いて説明する。
（ステップＳ１０１）位置誤差算出部１１は、位置指令と、モータの現在位置との差を算出し、その減算結果である位置誤差を出力する。
【００３９】
（ステップＳ１０２）スケーリング部１２は、位置誤差にスケーリング係数を乗算する。
【００４０】
（ステップＳ１０３）同次次数取得部１３は、スケーリング係数の乗算された位置誤差に対応する同次次数を取得する。
【００４１】
（ステップＳ１０４）第１の演算部１４は、スケーリング係数の乗算された位置誤差に対して、ステップＳ１０３で取得された同次次数に応じた指数演算を行う。
【００４２】
（ステップＳ１０５）逆スケーリング部１５は、指数演算の結果にスケーリング係数の逆数を乗算する。
【００４３】
（ステップＳ１０６）速度指令算出部１６は、スケーリング係数の逆数の乗算された演算結果を用いて、速度指令を算出する。
【００４４】
（ステップＳ１０７）速度誤差算出部１７は、算出された速度指令と、モータの現在速度との差を算出し、その減算結果である速度誤差を出力する。
【００４５】
（ステップＳ１０８）スケーリング部１８は、速度誤差にスケーリング係数を乗算する。なお、スケーリング部１８は、その乗算結果を第１及び第２の指数演算部１９ａ，１９ｂのそれぞれに出力する。
【００４６】
（ステップＳ１０９）第２の演算部１９の第１の指数演算部１９ａは、スケーリング係数の乗算された速度誤差に対して、ステップＳ１０３で取得された同次次数に応じた指数演算を行う。また、第２の演算部１９の第２の指数演算部１９ｂは、スケーリング係数の乗算された速度誤差に対して、ステップＳ１０３で取得された同次次数に応じた指数演算を行う。
【００４７】
（ステップＳ１１０）逆スケーリング部２０は、第１の指数演算部１９ａによる指数演算の結果にスケーリング係数の逆数を乗算し、電流指令算出部２１の比例制御部２１ａに出力する。また、逆スケーリング部２０は、第２の指数演算部１９ｂによる指数演算の結果にスケーリング係数の逆数を乗算し、電流指令算出部２１の積分制御部２１ｂに出力する。
【００４８】
（ステップＳ１１１）電流指令算出部２１の比例制御部２１ａは、逆スケーリング部２０によってスケーリング係数の逆数の乗算された演算結果に比例制御を行う。また、電流指令算出部２１の積分制御部２１ｂは、逆スケーリング部２０によってスケーリング係数の逆数の乗算された演算結果に積分制御を行う。また、電流指令算出部２１の加算器２１ｃは、比例制御の結果と、積分制御の結果とを加算し、その加算結果である電流指令を出力する。
なお、図４のフローチャートで示される一連の処理が繰り返されることにより、制御対象であるモータの制御が行われることになる。
【００４９】
次に、本実施の形態による制御装置１を用いた実験結果について説明する。本実験では、垂直６軸マニピュレータを有するロボットの手先を円弧運動させた。そして、ロボットの設置部分に近い３個のモータについて、本実施の形態による制御装置１と、従来のＰ−ＰＩ制御を行う制御装置とを比較した。また、本実験では、本実施の形態による制御と、従来のＰ−ＰＩ制御とにおいて、比例制御及び積分制御における各制御ゲインは同じものを用いた。また、事前にＰ−ＰＩ制御によって同じ動作を行った結果を用いて、位置誤差や速度誤差の最大値より少し大きい値が１となるように、スケーリング係数を設定した。図５（ａ）〜図５（ｃ）はそれぞれ、本実験におけるＪ１軸〜Ｊ３軸に関する角度追従誤差の時間変化を示すグラフである。各図において、「Ｐ−ＰＩ制御」は、従来のＰ−ＰＩ制御による結果を示すグラフであり、「同次Ｐ−ＰＩ制御」は、本実施の形態における制御装置１の制御による結果を示すグラフである。また、そのグラフは、スケーリング係数を乗算した後の値である。図５の各グラフから、制御装置１による制御の方が、従来のＰ−ＰＩ制御よりも全体的に追従誤差性能が向上していることがわかる。さらに、誤差収束時間も短くなっていることも分かる。
【００５０】
次の表において、Ｊ１軸〜Ｊ３軸に関する、制御装置１による制御における誤差の絶対値の最大値と、従来のＰ−ＰＩ制御における誤差の絶対値の最大値と、誤差低減率とを示している。その表から、角度追従誤差を最大５１％低減できたことが分かる。また、誤差の最も大きいＪ３軸の誤差低減率が最も大きくなっていることから、スケーリング係数の乗算後の誤差が大きいほど、より効果的に誤差を低減できていることが分かる。
【表１】
2017016391.tif 000003
【００５１】
以上のように、本実施の形態による制御装置１によれば、古典制御システムで同次制御を行う制御装置１において、誤差に応じて同次次数を変動させることによって、より適切な制御を実現することができるようになる。具体的には、誤差が閾値ｅTH1より小さい範囲において、同次次数が０となるようにすることにより、有限時間整定制御と比較して停止状態における振動の増加を抑制できる。また、誤差が１以上の範囲において、同次次数を０とすることにより、有限時間整定制御よりも収束性を高めることができる。また、誤差が１以上の範囲において、同次次数を０より大きくすることにより、有限時間整定制御や従来のＰ−ＰＩ制御と比較して、収束性を高めることができる。また、誤差が閾値ｅTH1より大きく１より小さい範囲において、同次次数を負にすることにより、従来のＰ−ＰＩ制御よりも収束性を高めることができる。また、誤差の絶対値と同次次数τとの関係を、誤差の絶対値が１以外の範囲において連続とすることにより、有限時間整定制御、有理安定制御、及び指数安定制御を連続に切り替えることができるため、その制御モードの切り替え時に生じうる振動を抑制することができる。また、誤差の絶対値と同次次数τとの関係を、誤差の絶対値が１以外の範囲において連続かつ滑らかとした場合には、制御モードの切り替えをより滑らかに行うことができるようになる。従来、例えば、精密な動作と高速な動作とにおいて制御ゲインを不連続に切り替える場合には、その切り替え時に振動の発生する可能性があるため、低速動作時にその切り替えを行う必要があったが、制御装置１の場合には、前述のように、そのような振動の発生を抑制できる。また、そのように制御モードの切り替え時の振動を抑制できるため、制御ゲインを大きい値に設定することも可能となる。そのように、制御ゲインを大きい値に設定した場合には、それだけ高速な動作が可能となり、タクトタイムを減少させることが可能となる。また、制御システムによっては、経年変化などによる物理パラメータの変化によって制御性能が劣化するため、制御パラメータを変更するメンテナンスが必要となる。一方、制御装置１のように、追従誤差が大きくなり難いように制御することによって、そのメンテナンスが必要になるまでの期間をより長くすることができうる。
【００５２】
なお、本実施の形態では、同次次数取得部１３がスケーリング係数の乗算された位置誤差に基づいて同次次数を取得する場合について説明したが、そうでなくてもよいことは、前述の通りである。同次次数取得部１３は、例えば、スケーリング係数の乗算された速度誤差に基づいて同次次数を取得してもよく、スケーリング係数の乗算された位置誤差と、スケーリング係数の乗算された速度誤差との両方に基づいて同次次数を取得してもよい。その場合には、例えば、同次次数τを次のように決定してもよい。ただし、位置誤差の絶対値をｘとしており、速度誤差の絶対値をｙとしている。また、閾値ｅTH1_1は、閾値ｅTH1に対応する位置誤差の閾値であり、閾値ｅTH1_2は、閾値ｅTH1に対応する速度誤差の閾値であり、両方とも１より小さいものとする。
τ＝０  （０≦ｘ≦ｅTH1_1、または、０≦ｙ≦ｅTH1_2）
τ＜０  （ｅTH1_1＜ｘ＜１かつｅTH1_2＜ｙ＜１）
τ≧０  （ｘ≧１かつｙ＞ｅTH1_2、または、ｙ≧１かつｘ＞ｅTH1_1）
なお、この場合にも、ｘ＝１またはｙ＝１以外の箇所においては、同次次数τは連続的に変化することが好適である。ｘ＝１またはｙ＝１の箇所においては、同次次数τは連続でなくてもよいが、その場合には、前述のように、連続でない箇所において同次次数τが０となることが好適である。
【００５３】
また、本実施の形態では、スケーリング部１２，１８、及び逆スケーリング部１５，２０において用いられるスケーリング係数があらかじめ決められている場合について説明したが、そうでなくてもよい。例えば、図６で示されるように、制御装置１は、スケーリング係数を変更する変更部２２をさらに備えていてもよい。変更部２２は、スケーリング部１２及び逆スケーリング部１５において用いられるスケーリング係数と、スケーリング部１８及び逆スケーリング部２０において用いられるスケーリング係数とを変更するものである。なお、スケーリング部１２，１８、及び逆スケーリング部１５，２０において用いられるスケーリング係数が同じである場合には、変更部２２は、１個のスケーリング係数を変更するものであってもよい。その変更は、例えば、現在速度に応じてなされてもよい。変更部２２は、例えば、現在速度の絶対値が大きい場合には、より小さいスケーリング係数となるように変更を行い、現在速度の絶対値が小さい場合には、より大きいスケーリング係数となるように変更を行ってもよい。また、その変更は、スケーリング係数を乗算した誤差の履歴に応じてなされてもよい。例えば、変更部２２は、スケーリング係数が乗算された誤差の絶対値があらかじめ決められた閾値（≪１）よりも小さい状況が継続している場合には、スケーリング係数が大きくなるように変更し、スケーリング係数が乗算された誤差の絶対値があらかじめ決められた閾値（＞１）よりも大きい状況が継続している場合には、スケーリング係数が小さくなるように変更してもよい。そのスケーリング係数の増加や減少は、例えば、あらかじめ決められた値を現在のスケーリング係数に乗算したり、加減算したりすることによって行われてもよい。
【００５４】
また、本実施の形態では、Ｐ−ＰＩ制御において、同次次数を変動させる同次制御を行うようにする場合について説明したが、Ｐ−ＰＩ制御以外の制御、例えば、Ｐ−ＰＩＤ制御や、Ｐ制御、ＰＩ制御、ＰＩＤ制御などにおいて、同次次数を変動させる同次制御を行うようにしてもよいことは言うまでもない。なお、その場合であっても、Ｐ制御やＰＩ制御、ＰＩＤ制御などを行う前段において、算出された誤差に同次次数に応じた指数演算を行うものとする。その指数演算は、同次制御となるために行われるものである。また、その指数演算の前後においてそれぞれ、スケーリング係数の乗算と、スケーリング係数の逆数の乗算とを行ってもよい。また、その指数演算の指数を決めるために用いられる同次次数は、スケーリング係数の乗算された誤差から算出されてもよい。図７は、そのような制御装置３の一例を示すブロック図である。制御装置３は、誤差算出部３１と、スケーリング部３２と、同次次数取得部３３と、演算部３４と、逆スケーリング部３５と、指令値算出部３６とを備える。
【００５５】
誤差算出部３１は、制御対象の上位指令値と、制御対象の現在値との誤差を算出する。その上位指令値や、現在値は、例えば、位置であってもよく、速度であってもよく、または、その他の値であってもよい。その上位指令値は、例えば、ティーチングされた情報に基づいて算出されたものであってもよく、または、上位側の指令値算出部によって算出された指令値であってもよい。誤差算出部３１は、例えば、位置誤差算出部１１や速度誤差算出部１７に対応するものである。
【００５６】
スケーリング部３２は、誤差に正の実数であるスケーリング係数を乗算する。スケーリング部３２は、例えば、スケーリング部１２，１８に対応するものである。
【００５７】
同次次数取得部３３は、同次次数を取得する。なお、同次次数取得部３３は、例えば、上位指令値に対応する誤差、すなわち誤差算出部３１によって算出された誤差、下位指令値に対応する誤差の少なくとも一方を用いて同次次数を取得してもよく、または、その他の誤差を用いて同次次数を取得してもよい。また、その誤差は、スケーリング係数の乗算された誤差であってもよい。図７では、上位指令値に対応する誤差にスケーリング係数の乗算された結果を用いて同次次数を取得する場合について示している。その同次次数の取得は、上述の説明のように、誤差の絶対値が閾値（＜１）より小さいときにはτ＝０となり、誤差の絶対値が１より大きいときにはτ≧０となり、誤差の絶対値がその間の範囲のときにはτ＜０となるように取得することが好適である。また、誤差の絶対値が１以外の箇所では、同次次数が連続であることが好適である。なお、誤差の絶対値が１の箇所においては、同次次数τは連続でなくてもよいが、その場合には、前述のように、連続でない箇所において同次次数τが０となることが好適である。また、同次次数取得部３３は、制御対象の現在値（例えば、現在速度など）をも用いて同次次数を取得してもよい。同次次数取得部３３は、例えば、同次次数取得部１３に対応するものである。
【００５８】
演算部３４は、同次制御となるように、誤差に同次次数に応じた指数演算を行う。その誤差は、スケーリング部３２によってスケーリング係数の乗算された誤差であってもよい。その指数演算は、上記説明の通りであり、演算対象の符号を維持してｒ乗することである。なお、前述のように、指数ｒは、同次次数τの関数であるが、制御装置３が同次システムとなるように、または、制御装置３を含む制御システムが同次システムとなるように、その関数が決められているものとする。したがって、取得されたτに応じて決められた指数ｒを用いた指数演算を行うことによって、同次制御が実現されることになる。演算部３４は、例えば、第１の演算部１４や第２の演算部１９に対応するものである。したがって、演算部３４において、第２の演算部１９と同様に、２以上の演算が行われてもよい。
【００５９】
逆スケーリング部３５は、演算部３４による演算結果にスケーリング係数の逆数を乗算する。そのスケーリング係数は、スケーリング部３２で用いられるスケーリング係数と同じである。逆スケーリング部３５は、例えば、逆スケーリング部１５，２０に対応するものである。したがって、逆スケーリング部３５において、逆スケーリング部２０と同様に、２以上の演算結果のそれぞれにスケーリング係数の逆数が乗算されてもよい。
【００６０】
指令値算出部３６は、演算部３４による演算結果から下位指令値を算出する。その演算結果は、スケーリング係数の逆数の乗算された演算結果であってもよい。その下位指令値の算出は、例えば、Ｐ制御やＰＩ制御、ＰＩＤ制御等によって行われてもよく、または、その他の制御によって行われてもよい。上位指令値の誤差に応じて下位指令値を算出する方法としては、すでに公知の方法を用いることができる。その下位指令値は、制御対象の制御のために用いられてもよく、さらに下位の指令値を生成するために用いられてもよい。指令値算出部３６は、例えば、速度指令算出部１６や電流指令算出部２１に対応するものである。したがって、指令値算出部３６において、電流指令算出部２１と同様に、２以上の演算結果を用いた下位指令値の算出が行われてもよい。
【００６１】
なお、制御装置３の制御対象は、モータであってもよく、または、その他の制御対象であってもよい。すなわち、制御装置３による制御は、サーボ制御であってもよく、プロセス制御であってもよく、または、その他の制御であってもよい。なお、その制御がサーボ制御である場合に、制御対象のモータは、例えば、産業用ロボットや溶接装置等で用いられてもよく、または、その他の装置等で用いられてもよい。制御装置３の行う制御がプロセス制御である場合に、その制御対象は、例えば、プラントの発電量などであってもよい。その場合には、例えば、上位指令値は、プラントの発電量であり、下位指令値はガスタービンの燃料のガス圧力であってもよい。
【００６２】
また、例えば、制御装置３に応じた制御ループの内側に、さらに別の制御ループが存在してもよく、制御装置３に応じた制御ループの外側に、さらに別の制御ループが存在してもよい。そのような場合に、その全体の制御システムが同次システムとなっていてもよく、または、制御装置３のみが同次システムとなっていてもよい。
【００６３】
また、制御装置３は、制御対象に関する現在値に基づいて、スケーリング部３２及び逆スケーリング部３５が用いるスケーリング係数を変更する変更部を備えていてもよい。なお、そのスケーリング係数の変更に用いられる制御対象に関する現在値は、誤差算出部３１による誤差の算出で用いられる現在値であってもよく、他の現在値であってもよい。例えば、誤差算出部３１による誤差の算出で用いられる現在値がモータの現在位置である場合に、変更部は、モータの現在位置に基づいてスケーリング係数を変更してもよく、または、モータの現在速度に基づいてスケーリング係数を変更してもよい。
【００６４】
また、本実施の形態では、指数演算の前後において、スケーリング係数の乗算及びスケーリング係数の逆数の乗算をそれぞれ行う場合について説明したが、そうでなくてもよい。例えば、スケーリング係数の乗算を行わなくても誤差の範囲が適切である場合には、スケーリング係数の乗算等を行わなくてもよい。スケーリング係数の乗算等を行わない場合には、例えば、制御装置１は、スケーリング部１２，１８、及び逆スケーリング部１５，２０を備えていなくてもよく、制御装置３は、スケーリング部３２、及び逆スケーリング部３５を備えていなくてもよい。
【００６５】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００６６】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００６７】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【００６８】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００６９】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【００７０】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００７１】
以上より、本発明による制御装置によれば、より精度の高い制御を実現できるという効果が得られ、例えば、産業用ロボットの各軸を動作させるモータ等を制御する制御装置として有用である。
【符号の説明】
【００７２】
１、３  制御装置
１１  位置誤差算出部
１２、１８、３２  スケーリング部
１３、３３  同次次数取得部
１４  第１の演算部
１５、２０、３５  逆スケーリング部
１６  速度指令算出部
１７  速度誤差算出部
１９  第２の演算部
１９ａ  第１の指数演算部
１９ｂ  第２の指数演算部
２１  電流指令算出部
２１ａ  比例制御部
２１ｂ  積分制御部
２１ｃ  加算器
２２  変更部
３１  誤差算出部
３４  演算部
３６  指令値算出部
【図１】
2017016391.tif 000004
【図２】
2017016391.tif 000005
【図３】
2017016391.tif 000006
【図４】
2017016391.tif 000007
【図５】
2017016391.tif 000008
【図６】
2017016391.tif 000009
【図７】
2017016391.tif 000010