(57)【特許請求の範囲】
【請求項１】
１つの可動部の位置を指示する共通の外部位置指令に基づいて駆動されるＮ個（Ｎ：２以上の自然数）のモータに各々連結されたボールネジにより共同して可動部を駆動させることにより、前記可動部を位置決めするモータ制御装置であって、
各前記モータで駆動される前記可動部の動きを、各前記モータから当該モータに連結された各ボールネジにより共同して駆動される前記可動部までの機械系を記述する剛体モデルによって表現した可動部モデルを含むモデル制御系であって、前記外部位置指令からモデル位置指令を含むモデル指令を生成するモデル制御系と、
Ｎ個の前記モータと１対１対応で設けられて前記モデル指令に基づいて各々の前記モータをフィードバック制御するＮ個のフィードバック制御系と、
を有し、
前記外部位置指令は、前記可動部の位置を指示する指令であり、
前記モデル制御系は、Ｎ個の前記フィードバック制御系と１対１に対応するようにＮ個で設けられ、
Ｎ個の前記モデル制御系は、同じフィードバックループの構成により共通の前記外部位置指令から同じ前記モデル位置指令を生成し、
各前記モデル制御系はさらに、
前記外部位置指令から、前記可動部モデルから出力されるモデル位置を減算してモデル位置誤差を演算するモデル位置誤差演算器を有し、
Ｎ個の前記フィードバック制御系の各々はさらに、
前記モデル位置指令および各々の前記モータの位置を検出するセンサが検出した位置に基づいてこれらの位置誤差を示す制御位置誤差を生成する制御位置誤差生成器を有し、  （Ｎ−１）個の前記フィードバック制御系の各々はさらに、
各々の前記制御位置誤差と残りの１個の前記フィードバック制御系の前記制御位置誤差との差分を生成する同期位置誤差生成器を有し、
各々の前記モータを制御する際の前記制御位置誤差と、残りの１個の前記フィードバック制御系での前記制御位置誤差との間の差分により、（Ｎ−１）個の前記フィードバック制御系における前記制御位置誤差と、残り１個の前記フィードバック制御系における前記制御位置誤差との間の差分を補償し、
各前記モデル制御系はさらに、
前記モデル位置誤差からモデル速度を演算するモデル位置制御器と、
前記可動部モデルから出力される前記モデル位置から前記モデル指令の一つであるモデル速度指令としてのモデル検出速度を演算するモデル速度演算器と、
前記モデル速度から前記モデル検出速度を減算してモデル速度誤差を演算するモデル速度誤差演算器と、
前記モデル速度誤差から前記モデル指令の一つであるモデルトルク指令としてのモデルトルクを演算するモデル速度制御器と、
前記モデルトルクをローパスフィルタ処理するモデルローパスフィルタと、を有し、    前記モータで駆動される前記可動部の動きに対応している前記可動部モデルにより、ローパスフィルタ処理後の前記モデルトルクに基づいて前記モデル位置を演算し、
Ｎ個の前記フィードバック制御系の各々は、
前記制御位置誤差から制御速度を生成する位置制御器と、
各々の前記モータの位置を検出する前記センサが検出した位置から検出速度を生成する検出速度生成器と、
前記制御速度、前記検出速度、および前記モデル速度指令に基づいて前記制御速度と前記検出速度との速度誤差に対して前記モデル速度指令を加えた制御速度誤差を生成する制御速度誤差生成器と、
前記制御速度誤差から制御トルクを生成する速度制御器と、
前記制御トルクと前記モデルトルク指令とに基づいてこれらの合計を示す合計制御トルクを生成する制御トルク生成器と、
前記合計制御トルクをローパスフィルタ処理する制御ローパスフィルタと、
ローパスフィルタ処理後の前記合計制御トルクに基づいて各々の前記モータを制御するトルク制御器と、を有し、
Ｎ−１個の前記フィードバック制御系における前記位置制御器は、前記補償後の前記制御位置誤差から前記制御速度を生成し、残り１個の前記フィードバック制御系における前記位置制御器は、前記補償をしていない前記制御位置誤差から前記制御速度を生成する
モータ制御装置。
【請求項２】
１つの可動部の位置を指示する共通の外部位置指令に基づいて駆動されるＮ個（Ｎ：２以上の自然数）のモータに各々連結されたボールネジにより共同して可動部を駆動させることにより、前記可動部を位置決めするモータ制御装置であって、
各前記モータで駆動される前記可動部の動きを、各前記モータから当該モータに連結された各ボールネジにより共同して駆動される前記可動部までの機械系を記述する剛体モデルによって表現した可動部モデルを含むモデル制御系であって、前記外部位置指令からモデル位置指令を含むモデル指令を生成するモデル制御系と、
Ｎ個の前記モータと１対１対応で設けられて前記モデル指令に基づいて各々の前記モータをフィードバック制御するＮ個のフィードバック制御系と、
を有し、
前記外部位置指令は、前記可動部の位置を指示する指令であり、
前記モデル制御系は、Ｎ個の前記フィードバック制御系と１対１に対応するようにＮ個で設けられ、
Ｎ個の前記モデル制御系は、同じフィードバックループの構成により共通の前記外部位置指令から同じ前記モデル位置指令を生成し、
各前記モデル制御系はさらに、
前記外部位置指令から、前記可動部モデルから出力されるモデル位置を減算してモデル位置誤差を演算するモデル位置誤差演算器を有し、
Ｎ個の前記フィードバック制御系の各々はさらに、
前記モデル位置指令および各々の前記モータの位置を検出するセンサが検出した位置に基づいてこれらの位置誤差を示す制御位置誤差を生成する制御位置誤差生成器を有し、  （Ｎ−１）個の前記フィードバック制御系の各々はさらに、
各々の前記制御位置誤差と残りの１個の前記フィードバック制御系の前記制御位置誤差との差分を生成する同期位置誤差生成器を有し、
各々の前記モータを制御する際の前記制御位置誤差と、残りの１個の前記フィードバック制御系での前記制御位置誤差との間の差分により、（Ｎ−１）個の前記フィードバック制御系における前記制御位置誤差と、残り１個の前記フィードバック制御系における前記制御位置誤差との間の差分を補償し、
Ｎ個の前記フィードバック制御系の各々はさらに、
前記制御位置誤差から制御速度を生成する位置制御器と、
各々の前記モータの位置を検出する前記センサが検出した位置から検出速度を生成する検出速度生成器と、
前記制御速度、前記検出速度、および前記モデル指令の一つであるモデル速度指令に基づいて前記制御速度と前記検出速度との速度誤差に対して前記モデル速度指令を加えた制御速度誤差を生成する制御速度誤差生成器と、を有し、
Ｎ−１個の前記フィードバック制御系における前記位置制御器は、前記補償後の前記制御位置誤差から前記制御速度を生成し、残り１個の前記フィードバック制御系における前記位置制御器は、前記補償をしていない前記制御位置誤差から前記制御速度を生成し、
（Ｎ−１）個の前記フィードバック制御系の各々はさらに、
各々の前記制御速度誤差と残りの１個の前記フィードバック制御系の前記制御速度誤差との差分を生成する同期速度誤差生成器、を有し、
各々の前記モータを制御する際の前記制御速度誤差を、残りの１個の前記フィードバック制御系での前記制御速度誤差との差分により補償し、
各前記モデル制御系はさらに、
前記モデル位置誤差からモデル速度を演算するモデル位置制御器と、
前記可動部モデルから出力される前記モデル位置から前記モデル指令の一つであるモデル速度指令としてのモデル検出速度を演算するモデル速度演算器と、
前記モデル速度から前記モデル検出速度を減算してモデル速度誤差を演算するモデル速度誤差演算器と、
前記モデル速度誤差から前記モデル指令の一つであるモデルトルク指令としてのモデルトルクを演算するモデル速度制御器と、
前記モデルトルクをローパスフィルタ処理するモデルローパスフィルタと、を有し、    前記モータで駆動される前記可動部の動きに対応している前記可動部モデルにより、ローパスフィルタ処理後の前記モデルトルクに基づいて前記モデル位置を演算し、
Ｎ個の前記フィードバック制御系の各々はさらに、
前記制御速度誤差から制御トルクを生成する速度制御器と、
前記制御トルクと前記モデルトルク指令とに基づいてこれらの合計を示す合計制御トルクを生成する制御トルク生成器と、
前記合計制御トルクをローパスフィルタ処理する制御ローパスフィルタと、
ローパスフィルタ処理後の前記合計制御トルクに基づいて各々の前記モータを制御するトルク制御器と、を有し、
Ｎ−１個の前記フィードバック制御系における前記速度制御器は、前記補償後の前記制御速度誤差から前記制御トルクを生成し、残り１個の前記フィードバック制御系における前記速度制御器は、前記補償をしていない前記制御速度誤差から前記制御トルクを生成する
モータ制御装置。
【請求項３】
Ｎ個の前記フィードバック制御系には、前記モデル制御系から同じ前記モデル位置指令が同時に入力される、
請求項１または２記載のモータ制御装置。
【請求項４】
前記フィードバック制御系は、２個であり、
各前記フィードバック制御系は、自身における前記制御位置誤差と、他方の前記フィードバック制御系における前記制御位置誤差との間の差分をそれぞれ求め、
２個の前記フィードバック制御系は、各々での前記モータを制御するための前記制御位置誤差を、他方の前記フィードバック制御系での前記制御位置誤差との差分により互いに補償する
請求項１記載のモータ制御装置。
【請求項５】
前記フィードバック制御系は、２個であり、
各前記フィードバック制御系は、自身における前記制御速度誤差と、他方の前記フィードバック制御系における前記制御速度誤差との間の差分をそれぞれ求め、
２個の前記フィードバック制御系は、各々での前記モータを制御するための前記制御速度誤差を、他方の前記フィードバック制御系での前記制御速度誤差との差分により互いに補償する
請求項２記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモータが共同して一つの可動部を駆動して可動部を高速高精度に位置決めできるモータ制御装置に関する。
【背景技術】
【０００２】
マウンタ装置などの部品実装機では、可動部をモータにより高速に駆動して高精度に位置決めすることにより単位時間当たりの部品実装数を増やすことができる。これにより、部品実装作業による製造コストを低減することができる。
そして、たとえば多数のプリント基板を同時に実装することができる大きなテーブルを使用する大型のマウンタ装置では、該一つの可動部を複数のモータで高速に駆動することが考えられる。
【０００３】
たとえば特許文献１のモータ制御装置は、一つの可動部を２台のモータで駆動している。２台のモータの各々はそれぞれに対応して設けられたモータ制御モデルおよびサーボコントローラにより制御される。サーボコントローラは、外部位置指令に基づいてモータの動きを実際に制御する。モータ制御モデルは、サーボコントローラの各要素に対応する要素モデルを有し、外部位置指令に基づいてモデルトルク、モデル速度、およびモデル位置を生成する。また、これらのモデル情報とサーボコントローラからフィードバックされる実際の制御での制御トルク、制御速度、制御位置との差分を演算し、その差分を一定の割合でサーボコントローラへ戻している。このようにモータ制御モデルにおいてサーボコントローラの制御誤差を演算し、その制御誤差をサーボコントローラへ戻すことにより、サーボコントローラはモータ制御モデルで生成されるモデルトルク、モデル速度、およびモデル位置に追従してモータの動きを制御し得る。
このように特許文献１のモータ制御装置は、モータ制御モデルとサーボコントローラとの誤差を外乱としてとらえてこれを位相補償することによりモデルとサーボコントローラの制御とのずれを抑えているので、複数のモータの制御系に同じモデルを用いることで軸間のずれ（同期誤差）を抑えることができると考えられる。
また、特許文献１とは異なり一つの可動部を１台のモータで駆動する場合には可動部がモータの駆動方向に対して傾くようにヨーイングすることがあるが、特許文献１のように一つの可動部を２台のモータで駆動することによりこのヨーイングを抑えることも期待し得ると考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３４５４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の手法では、サーボコントローラの制御応答が十分に高くないと、モデルとサーボコントローラとの間の制御誤差を十分に抑制することができない。そして、各モータの制御系において制御誤差を十分に抑制できない場合には、複数のモータの間での同期精度を確保することもできない。
その一方で、実際の機械系では、複数のモータに対して可動部を駆動するボールねじ等がねじり振動したり、複数のモータおよび可動部が取り付けられる機台が駆動により振動したりすることがあるため、個々の軸のサーボコントローラの制御応答を十分に高くすることができない。
このため、特許文献１の手法では、サーボコントローラの制御応答を十分に高くできない場合に複数のモータの間での同期精度を確保することができない。
【０００６】
本発明はこのような課題を解決するためになされたものであり、その目的は、一つの可動部を複数のモータで駆動する機械において、フィードバック制御系の制御応答を十分に高めることができない場合であっても、指令に対する追従性を向上させる事ができ、さらに複数のモータの間での同期精度を確保でき、その結果として高速高精度な位置決めを実現できるモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のモータ制御装置は、共通の外部位置指令に基づいて駆動されるＮ個（Ｎ：２以上の自然数）のモータにより共同して１つの可動部を駆動するモータ制御装置であって、モータで駆動される可動部の動きに対応している可動部モデルを含むモデル制御系であって外部位置指令からモデル位置指令を含むモデル指令を生成するモデル制御系と、Ｎ個のモータと１対１対応で設けられてモデル指令に基づいて各々のモータをフィードバック制御するＮ個のフィードバック制御系と、を有し、（Ｎ−１）個のフィードバック制御系は、各々のモータを制御する際の制御誤差を、残りの１個のフィードバック制御系での制御誤差との差分により補償する。
【発明の効果】
【０００８】
本発明では、Ｎ個のフィードバック制御系の各々は、外部位置指令ではなく、モデル位置を含むモデル指令に基づいて各々のモータをフィードバック制御する。しかも、外部位置指令からモデル位置指令を含むモデル指令を生成するモデル制御系は、モータで駆動される可動部の動きに対応している可動部モデルを含むので、Ｎ個のフィードバック制御系はモデルに追従した安定的なフィードバック制御を互いに独立して実行し、Ｎ個のモータは外部位置指令に対して同様に追従するように制御され得る。
しかも、本発明では、（Ｎ−１）個のフィードバック制御系は、各々での制御誤差を、残りの１個のフィードバック制御系での制御誤差との差分により補償する。（Ｎ−１）個のフィードバック制御系は、各々の制御誤差が１個のフィードバック制御系の制御誤差に対してずれが生じないように同期させながら、各々のフィードバック制御を実行する。すなわち、Ｎ個のモータを互いに独立して制御を実行するＮ個のフィードバック制御系は、互いに独立して制御しながらも、１個のフィードバック制御系と（Ｎ−１）個のフィードバック制御系との間で生じ得る制御誤差のずれを補償することができる。これらＮ個のフィードバック制御系の間で生じ得る制御誤差のずれをＮ個のフィードバック制御系の間で補償することができる。
このため、本発明では、たとえば複数のモータから可動部までの機械系においてたとえば複数のモータの各々と可動部とを連結する複数のボールネジの間で摩擦力の差が生じたとしても、その摩擦力の差に起因する同期誤差を補償して抑制することができる。
しかも、本発明では、複数のフィードバック制御系の制御応答が高くなくとも又は高くできない場合でも、指令に対する追従性を向上させる事ができ、さらに複数のモータの間での同期精度を確保でき、その結果として高速高精度な位置決めを実現できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の第１実施形態に係るモータ制御装置のブロック図である。
【図２】図２は、本発明の第２実施形態に係るモータ制御装置のブロック図である。
【図３】図３は、本発明の第３実施形態に係るモータ制御装置のブロック図である。
【図４】図４は、本発明の第４実施形態に係るモータ制御装置のブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を、図面に基づいて説明する。
【００１１】
［第１実施形態］
図１は、本発明の第１実施形態に係るモータ制御装置１のブロック図である。
図１のモータ制御装置１は、第１モータ２と第２モータ３との２個のモータが共同して一つの可動部を駆動して可動部を高速高精度に位置決めできるものである。
【００１２】
図１のモータ制御装置１は、可動部としてのテーブル４の制御位置を示す外部位置指令が入力されて各種の第１モデル指令を生成する第１モデル制御系１０と、第１モータ２を含むフィードバックループを有して第１モデル指令に基づいて第１モータ２を実際に制御する第１フィードバック制御系３０と、第１モデル制御系１０と同じ外部位置指令が入力されて各種の第２モデル指令を供給する第２モデル制御系５０と、第２モータ３を含むフィードバックループを有して第２モデル指令に基づいて第２モータ３を実際に制御する第２フィードバック制御系７０と、を有する。
そして、本実施形態において、第１モデル指令は、第１モデル位置指令、第１モデル速度指令、第１モデルトルク指令である。また、第２モデル指令は、第２モデル位置指令、第２モデル速度指令、第２モデルトルク指令である。
【００１３】
第１フィードバック制御系３０は、第１制御位置誤差生成器３１、第１同期位置誤差生成器３２、第１位置同期補償器３３、第１同期補償位置誤差生成器３４、第１位置制御器３５、第１検出速度生成器３６、第１制御速度誤差生成器３７、第１速度制御器３８、第１制御トルク生成器３９、第１トルク指令ローパスフィルタ４０、第１トルク制御器４１、を有する。
そして、第１制御位置誤差生成器３１、第１同期補償位置誤差生成器３４、第１位置制御器３５、第１制御速度誤差生成器３７、第１速度制御器３８、第１制御トルク生成器３９、第１トルク指令ローパスフィルタ４０、第１トルク制御器４１、第１モータ２、および第１センサ４２は、第１モータ２を実際に制御するフィードバックループを構成する。
【００１４】
第１モータ２は、たとえば同期モータである。
第１センサ４２は、第１モータ２の回転位置を検出する。第１センサ４２は、たとえば第１モータ２の回転子軸に取り付けられたロータリエンコーダである。ロータリエンコーダは、モータの回転子軸の位置に応じたパルス信号を出力する。パルス信号は、第１モータ２の回転位置や可動部としてのテーブル４の位置へ換算できる。
【００１５】
第１制御位置誤差生成器３１は、第１モデル制御系１０から供給される第１モデル位置指令と第１センサ４２から得られるテーブル４の第１検出位置とに基づいて、これらの位置誤差を示す第１制御位置誤差を生成する。第１制御位置誤差は、たとえば第１モデル位置指令から第１検出位置を減算したものでよい。
第１同期位置誤差生成器３２は、自身の第１制御位置誤差と後述する第２制御位置誤差生成器７１により生成される第２制御位置誤差とに基づいて、これらの制御位置誤差の差分（同期誤差）を示す第１同期位置誤差を生成する。第１同期位置誤差は、たとえば自身の第１制御位置誤差から他の第２制御位置誤差を減算したものでよい。この場合、第２フィードバック制御系７０に対する第１フィードバック制御系３０の同期誤差が得られる。
第１位置同期補償器３３は、第１同期位置誤差から、第１位置同期誤差補償量を生成する。本実施形態において第１位置同期補償器３３には、たとえば比例制御器または比例積分制御器を用いるとよい。
第１同期補償位置誤差生成器３４は、第１フィードバック制御系３０での制御位置誤差である第１制御位置誤差と、２個のフィードバック制御系間の同期位置誤差である第１位置同期誤差補償量とに基づいて、同期補償処理後の第１制御位置誤差を生成する。同期補償処理後の第１制御位置誤差は、たとえば第１制御位置誤差と第１位置同期誤差補償量とを加算した合計値でよい。
第１位置制御器３５は、同期補償処理後の第１制御位置誤差から、第１制御速度を生成する。第１位置制御器３５は、第１フィードバック制御系３０での制御位置誤差と、第２フィードバック制御系７０を基準とした第１フィードバック制御系３０の同期位置誤差とに応じた第１制御速度を生成する。そして、第２フィードバック制御系７０の制御位置と比較して第１フィードバック制御系３０の制御位置が遅れると、第１制御速度は大きくなる。
【００１６】
第１検出速度生成器３６は、第１センサ４２が検出した回転位置からテーブル４の第１検出速度を生成する。
第１制御速度誤差生成器３７は、第１制御速度、第１検出速度、および第１モデル速度指令に基づいて第１制御速度誤差を生成する。第１制御速度誤差は、たとえば第１制御速度から第１検出速度を減算して得られる制御速度誤差に対して、第１モデル速度指令を加算したものでよい。
第１速度制御器３８は、第１制御速度誤差から、第１制御トルクを生成する。第１速度制御器３８は、第１フィードバック制御系３０での制御速度誤差と、第１モデル速度指令とに応じた第１制御トルクを生成する。そして、制御速度誤差および第１モデル速度指令の少なくとも一方が大きくなると、第１制御トルクは大きくなる。
【００１７】
第１制御トルク生成器３９は、第１制御トルクと第１モデルトルク指令とに基づいて第１合計制御トルクを生成する。第１合計制御トルクは、たとえば第１制御トルクと第１モデルトルク指令とを加算したものでよい。
第１トルク指令ローパスフィルタ４０は、第１合計制御トルクをローパスフィルタ処理する。このローパスフィルタ処理により、第１合計制御トルクから高周波成分を除くことができる。このような高周波成分としては、たとえば第１センサ４２による位置の量子化リップル成分がある。
第１トルク制御器４１は、ローパスフィルタ処理後の第１合計制御トルクに基づいて第１モータ２を制御する。
【００１８】
このような第１フィードバック制御系３０で閉じたフィードバック制御により、第１フィードバック制御系３０は、第１モデル制御系１０から出力される第１モデル位置指令、第１モデル速度指令および第１モデルトルク指令にしたがって第１モータ２を回転駆動する。第１モータ２の回転にしたがってテーブル４は駆動される。
そして、第１フィードバック制御系３０において制御位置または制御速度に誤差が生じると、または第２フィードバック制御系７０の制御位置に対して第１フィードバック制御系３０の制御位置がずれると、これらの誤差およびずれを抑制するように第１モータ２の駆動トルクが増減する。
これにより、第１モータ２からテーブル４までの機械系は、第１モデルトルク指令および第１モデル速度指令にしたがう動きで第１モデル位置指令の位置まで移動するように制御される。
【００１９】
第１モデル制御系１０は、外部位置指令を入力とし、第１フィードバック制御系３０に対応するモデルを用いて第１フィードバック制御系３０の仮想的な動作を演算し、第１フィードバック制御系３０に与える第１モデル指令を生成する。
第１モデル位置指令は、テーブル４の制御位置を示す指令である。
第１モデル速度指令は、駆動中のテーブル４の制御速度を示す指令である。
第１モデルトルク指令は、駆動中のテーブル４の制御トルクを示す指令である。
そして、本実施形態の第１モデル制御系１０は、第１フィードバック制御系３０の動作を演算するために、第１モデル位置誤差演算器１１、第１モデル位置制御器１２、第１モデル速度演算器１３、第１モデル速度誤差演算器１４、第１モデル速度制御器１５、第１モデルトルク指令ローパスフィルタ１６、第１可動部モデル１７、を有する。
そして、第１モデル位置誤差演算器１１、第１モデル位置制御器１２、第１モデル速度誤差演算器１４、第１モデル速度制御器１５、第１モデルトルク指令ローパスフィルタ１６、および第１可動部モデル１７は、第１モデル制御系１０で閉じたフィードバックループを構成する。この第１モデル制御系１０のフィードバックループは、第１フィードバック制御系３０のフィードバックループと対応する。
【００２０】
第１モデル位置誤差演算器１１は、第１制御位置誤差生成器３１に対応するモデルにより第１モデル位置誤差を演算する。第１モデル位置誤差演算器１１は、外部位置指令から、第１可動部モデル１７から出力される第１モデル位置を減算して第１モデル位置誤差を演算する。
第１モデル位置制御器１２は、第１位置制御器３５に対応するモデルにより第１モデル速度を演算する。第１モデル位置制御器１２は、第１モデル位置誤差から第１モデル速度を演算する。
第１モデル速度演算器１３は、第１検出速度生成器３６に対応するモデルにより第１モデル検出速度を演算する。第１モデル速度演算器１３は、第１モデル位置から第１モデル検出速度を演算する。第１モデル検出速度は、第一モデル速度指令として第１フィードバック制御系３０へ出力される。
第１モデル速度誤差演算器１４は、第１制御速度誤差生成器３７に対応するモデルにより第１モデル速度誤差を演算する。第１モデル速度誤差演算器１４は、第１モデル速度から第１モデル検出速度を減算して第１モデル速度誤差を演算する。
第１モデル速度制御器１５は、第１速度制御器３８に対応するモデルにより第１モデルトルクを演算する。第１モデル速度制御器１５は、第１モデル速度誤差から第１モデルトルクを演算する。第１モデルトルクは、第一モデルトルク指令として第１フィードバック制御系３０へ出力される。
第１モデルトルク指令ローパスフィルタ１６は、第１トルク指令ローパスフィルタ４０に対応するモデルによりフィルタ演算を実施する。第１モデルトルク指令ローパスフィルタ１６は、第１モデルトルクをローパスフィルタ処理する。
第１可動部モデル１７は、第１モータ２からテーブル４までの機械系の動きに対応している可動部のモデルにより第１モデル位置を演算する。ここでは、第１モータ２、第１ボールネジ５からテーブル４までの機械系に対応する可動部モデルとして、それらの間でずれが生じない剛体モデルを用いる。第１可動部モデル１７は、ローパスフィルタ処理後の第１モデルトルクから、第１モデル位置を演算する。第１モデル位置は、第一モデル位置指令として第１フィードバック制御系３０へ出力される。
【００２１】
このような第１フィードバック制御系３０に対応するフィードバック制御により、第１モデル制御系１０は、可動部を剛体とみなした場合における第１モデル位置指令、第１モデル速度指令および第１モデルトルク指令を生成する。
また、第１モデル制御系１０の各要素には、テーブル４に所望の位置決め制御を可能とするための制御パラメータを設定すればよい。
たとえば、第１フィードバック制御系３０は、機械系に振動を生じさせない安定なゲインになるようにパラメータを調整する。そして、第１モデル制御系１０は、第１フィードバック制御系３０の位置ゲインより少し高い位置ゲインを設定するようにする。このようにパラメータを設定することにより、機械系に振動を生じずに機械を高速駆動する事ができるようになる。
【００２２】
第２フィードバック制御系７０は、第２制御位置誤差生成器７１、第２位置制御器７５、第２検出速度生成器７６、第２制御速度誤差生成器７７、第２速度制御器７８、第２制御トルク生成器７９、第２トルク指令ローパスフィルタ８０、第２トルク制御器８１、を有する。
そして、第２制御位置誤差生成器７１、第２位置制御器７５、第２制御速度誤差生成器７７、第２速度制御器７８、第２制御トルク生成器７９、第２トルク指令ローパスフィルタ８０、第２トルク制御器８１、第２モータ３、および第２センサ８２は、第２モータ３を実際に制御するフィードバックループを構成する。
これら第２フィードバック制御系７０の各構成要素は、第１フィードバック制御系３０において番号が異なる同名の構成要素と同一であり、その詳細な説明を省略する。ただし、第２位置制御器７５は、第２制御位置誤差生成器７１が生成した第２制御位置誤差から、第２制御速度を生成する。同期補償処理をしていない第２制御位置誤差に基づいて第２制御速度を生成する。
第２モデル制御系５０は、第２モデル位置誤差演算器５１、第２モデル位置制御器５２、第２モデル速度演算器５３、第２モデル速度誤差演算器５４、第２モデル速度制御器５５、第２モデルトルク指令ローパスフィルタ５６、第２可動部モデル５７、を有する。これら第２モデル制御系５０の各構成要素は、第１モデル制御系１０において番号が異なる同名の構成要素と同一であり、その詳細な説明を省略する。第２モデル制御系５０の各部のパラメータには、第１モデル制御系１０と同じ値が設定される。
そして、以下の説明において、第２フィードバック制御系７０および第２モデル制御系５０での各種の信号名には、対応する第１フィードバック制御系３０および第１モデル制御系１０での各種の信号名の番号を第１から第２へ変更したものを使用する。
【００２３】
なお、図１のモータ制御装置１において、第１センサ４２は、第１モータ２と一体に構成されてよい。そして、第１モータ２および第１センサ４２以外の第１フィードバック制御系３０の構成要素と第１モデル制御系１０とは、第１モータ２および第１センサ４２と第１ケーブルで接続される第１モータ制御装置中の第１コンピュータ装置に実現されてよい。この場合、第１フィードバック制御系３０の各構成要素は演算処理により各々の処理を実行することになり、第１モデル制御系１０の各部の演算処理と好適に対応し得る。
同様に、第２センサ８２は、第２モータ３と一体に構成されてよい。そして、第２モータ３および第２センサ８２以外の第２フィードバック制御系７０の構成要素と第２モデル制御系５０とは、第２モータ３および第２センサ８２と第２ケーブルで接続される第２モータ制御装置中の第２コンピュータ装置に実現されてよい。この場合、第２フィードバック制御系７０の各構成要素は演算処理により各々の処理を実行することになり、第２モデル制御系５０の各部の演算処理と好適に対応し得る。
また、このように第１モータ制御装置と第２モータ制御装置とを用いる場合、第１モータ制御装置と第２モータ制御装置とは通信ケーブルで連結され、第２モータ制御装置から第１モータ制御装置へ第２制御位置誤差を送信する必要がある。
この他にもたとえば、第１コンピュータ装置と第２コンピュータ装置は、単一のモータ制御装置内に設けられてもよい。
また、図１中の第１モータ２、第１センサ４２、第２モータ３および第２センサ８２以外の構成要素は、単一のモータ制御装置中の単一のコンピュータ装置に実現されてもよい。この場合、第２制御位置誤差は、たとえばプログラム間通信により送信し得る。
また、第１モデル制御系１０と第２モデル制御系５０とを１つのモデル制御系とし、この単一のモデル制御系から第１フィードバック制御系３０および第２フィードバック制御系７０へ共通のモデル指令を供給してもよい。
【００２４】
次に、図１のモータ制御装置１の動作について説明する。
【００２５】
テーブル４の位置を制御するために、第１モデル制御系１０および第２モデル制御系５０には、上位のコントローラから共通の外部位置指令が同時に供給される。
【００２６】
外部位置指令が供給された第１モデル制御系１０は、外部位置指令から第１モデル位置を減算し、第１モデル位置誤差から第１モデル速度を演算する。また、第１モデル速度から第１モデル検出速度を減算し、第１モデル速度誤差から第１モデルトルクを演算する。また、ローパスフィルタ処理後の第１モデルトルクから、第１モデル位置を演算する。また、第１モデル位置から第１モデル検出速度を演算する。この一連の演算処理により、第１モデル制御系１０は、第１モデル指令として第１モデル位置指令、第１モデル速度指令、第１モデルトルク指令を生成して第１フィードバック制御系３０へ出力する。
【００２７】
第１モデル指令が供給された第１フィードバック制御系３０は、第１モデル位置指令と第１センサ４２から得られるテーブル４の第１検出位置との位置誤差を示す第１制御位置誤差を生成する。
また、第１フィードバック制御系３０は、自身の第１制御位置誤差と第２制御位置誤差生成器７１により生成される第２制御位置誤差との位置誤差の差分（同期誤差）を示す第１同期位置誤差を生成し、第１位置同期誤差補償量を生成する。また、第１制御位置誤差と第１位置同期誤差補償量とから同期補償処理後の第１制御位置誤差を生成し、第１制御速度を生成する。
また、第１フィードバック制御系３０は、第１制御速度、第１検出速度、および第１モデル速度指令から第１制御速度誤差を生成し、第１制御トルクを生成する。
また、第１フィードバック制御系３０は、第１制御トルクおよび第１モデルトルク指令から第１合計制御トルクを生成し、ローパスフィルタ処理する。そして、第１トルク制御器４１は、ローパスフィルタ処理後の第１合計制御トルクに基づいて第１モータ２を制御する。第１センサ４２は、第１モータ２の回転位置を検出する。また、第１検出速度生成器３６は、第１センサ４２が検出した回転位置から第１検出速度を生成する。
【００２８】
また、第１モデル制御系１０と同時に同じ外部位置指令が供給される第２モデル制御系５０は、上述した第１モデル制御系１０と同じフィードバック制御を実行する。第２モデル制御系５０から第２モデル指令が供給される第２フィードバック制御系７０も、上述した第１フィードバック制御系３０と同じフィードバック制御を実行する。
【００２９】
そして、本実施形態において第１モデル制御系１０と第２モデル制御系５０とは、モータからテーブル４までの機械系を剛体とみなした可動部モデルを含む同じフィードバックループで構成され、且つ、同時に入力される共通の外部位置指令のみに基づいてモデル指令を演算する。このため、第１モデル制御系１０と第２モデル制御系５０とは、互いに独立して別々にモデル演算をしながらも同じ外部位置指令に基づいて同じモデル指令を同時に演算して出力し得る。たとえば第１モデルトルク指令と第２モデルトルク指令とは同じ値になり得る。
また、本実施形態において、フィードバック制御系は、制御位置誤差生成器、位置制御器、制御速度誤差生成器、速度制御器、制御トルク生成器、トルク指令ローパスフィルタ、トルク制御器、モータ、およびセンサによりフィードバックループを構成し、モデル制御系は、モデル位置誤差演算器、モデル位置制御器、モデル速度演算器、モデル速度誤差演算器、モデル速度制御器、モデルトルク指令ローパスフィルタ、可動部モデルによりフィードバックループを構成している。モデル制御系は、フィードバック制御系と好適に対応付けることができる。
よって、第１モータ２および第２モータ３は、同じモデルトルク指令に基づいて同時に同様に駆動されることになる。第１モータ２と第２モータ３とは、互いに同期した状態でテーブル４を高速に駆動することができる。その結果、第１フィードバック制御系３０および第２フィードバック制御系７０の制御ループ応答が低いままでも、互いに同期した第１モータ２および第２モータ３による２軸同時駆動を実現でき、テーブル４を高速に駆動することができる。
このため、本実施形態とは異なり１個のモータでテーブル４を駆動する場合にはテーブル４が駆動軸の軸方向に対して傾くヨーイングを起こすことがあるが、本実施形態では２個のモータとテーブル４とがテーブル４に対して並べて設けられる２つのボールネジにより連結され、かつ２個のモータが互いに同期してテーブル４を駆動するのでそのようなヨーイングを好適に抑制できる。
【００３０】
しかも、本実施形態において第１フィードバック制御系３０は、第２フィードバック制御系７０と同じモデル指令に追従してフィードバック制御を実行するだけでなく、第２フィードバック制御系７０との制御位置誤差とのずれを補償するようにフィードバック制御を実行する。第１フィードバック制御系３０は、第１同期位置誤差生成器３２により第２フィードバック制御系７０の制御位置誤差との差分を演算し、第１位置同期補償器３３により該差分を補償する第１位置同期誤差補償量を演算し、第１同期補償位置誤差生成器３４により同期補償処理後の第１制御位置誤差を生成する。よって、第１フィードバック制御系３０と第２フィードバック制御系７０との２軸間の位置誤差の間でのずれを第１フィードバック制御系３０と第２フィードバック制御系７０との間で補償できる。特に、第１位置同期補償器３３として比例積分制御器を用いることにより、該ずれが定常的に発生しないようにできる。
このため、本実施形態のように第１フィードバック制御系３０および第２フィードバック制御系７０を同じ剛体モデルに追従させることにより軸間の制御ずれが発生し難いように同期制御しつつも、さらにそれでも発生する可能性がある同期誤差を併せて効果的に抑制することができる。たとえば剛体モデルでは、機械系において発生する可能性があるボールネジ間の摩擦力の差に起因する同期誤差については考慮しておらず制御により抑制することはできないが、そのような同期誤差についても併せて効果的に抑制することができる。
【００３１】
このように本実施形態では、一つの可動部を複数個（ここでは２個）のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。さらに、軸間の位置誤差を複数（ここでは２個）のフィードバック制御系の間で補償しているので、摩擦力の差などに起因する同期誤差についても併せて効果的に抑制できる。そして、個々のフィードバック制御系の制御応答が高くなくても軸間の位置誤差を効果的に小さく抑えて同期精度を高めることができる。
【００３２】
また、本実施形態では、モデル制御系は、フィードバック制御系の動きに影響されない。
よって、複数のモデル制御系から出力される複数のモデル位置は同じ値（指令）になる。複数のフィードバック制御系は、同じ値（指令）によるモデル位置に基づいて、各々のモータを同様に制御し得る。
また、モデル制御系は、たとえば複数のフィードバック制御系に共通のものとすることができる。
【００３３】
このように、本実施形態では、１つの可動部を共同して可動させる２個のモータを共通の外部位置指令で、かつ、同じ剛体モデルでモデル追従制御を行う事により、２個のフィードバック制御系に与えるトルク指令を全軸で同一にする事ができ、これにより、フィードバック制御系の制御応答が高くなくても、複数のフィードバック制御系の制御誤差の間でずれが発生し難いように制御を実行できる。しかも、それでも２個のフィードバック制御系の間で生じ得る微小な制御誤差のずれを２個のフィードバック制御系の間で補償している。よって、同期誤差が発生し難く制御を実行する２個のフィードバック制御系の間で制御誤差のずれが発生することがあったとしても、それを抑えることができる。２個のモータの制御系は、同期ずれを発生し難い制御と同期ずれを抑える制御とが二重化された制御により１つの可動部を２個のモータで制御する場合での２個のモータの同期精度を高めることができる。
【００３４】
なお、上記実施形態は、可動部を２個のモータで駆動するために、２組のモデル制御系およびフィードバック制御系を用いる例である。また、同期位置誤差生成器、位置同期補償器、および同期補償位置誤差生成器を、１つ目のフィードバック制御系に適用した例である。
この他にも、同期位置誤差生成器、位置同期補償器、および同期補償位置誤差生成器は、２つ目のフィードバック制御系に適用してもよい。
さらに他にも、可動部を３個以上のモータで駆動してもよい。この場合、モデル制御系およびフィードバック制御系は、基本的にモータと同数組で設ければよい。また、Ｎ（Ｎは２以上の自然数）個のモータを使用する場合、同期位置誤差生成器、位置同期補償器、および同期補償位置誤差生成器は、（Ｎー１）個のフィードバック制御系に設ければよい。この（Ｎー１）個のフィードバック制御系において（Ｎー１）個の同期位置誤差生成器は、残りの１個のフィードバック制御系の制御位置誤差との間で位置同期誤差を生成すればよい。
【００３５】
［第２実施形態］
図２は、本発明の第２実施形態に係るモータ制御装置１のブロック図である。
図２のモータ制御装置１は、図１のものと比べて、第２フィードバック制御系７０が第２同期位置誤差生成器７２、第２位置同期補償器７３、および第２同期補償位置誤差生成器７４を有する点で異なる。
第２同期位置誤差生成器７２、第２位置同期補償器７３、および第２同期補償位置誤差生成器７４は、第１同期位置誤差生成器３２、第１位置同期補償器３３、および第１同期補償位置誤差生成器３４と対応する。
第２同期位置誤差生成器７２は、自身の第２制御位置誤差と第１制御位置誤差生成器３１により生成される第１制御位置誤差とに基づいて、これらの制御位置誤差の差分（同期誤差）を示す第２同期位置誤差を生成する。第２同期位置誤差は、たとえば自身の第２制御位置誤差から他の第１制御位置誤差を減算したものでよい。この場合、第１フィードバック制御系３０に対する第２フィードバック制御系７０の同期誤差が得られる。
第２位置同期補償器７３は、第２同期位置誤差から、第２位置同期誤差補償量を生成する。本実施形態では、第１フィードバック制御系３０と第２フィードバック制御系７０との間で相互に補償をかけているので、第１位置同期補償器３３および第２位置同期補償器７３には比例制御器を用いるとよい。
第２同期補償位置誤差生成器７４は、第２フィードバック制御系７０での制御位置誤差である第２制御位置誤差と、２個のフィードバック制御系間の同期位置誤差である第２位置同期誤差補償量とに基づいて、同期補償処理後の第２制御位置誤差を生成する。同期補償処理後の第２制御位置誤差は、たとえば第２制御位置誤差と第２位置同期誤差補償量とを加算した合計値でよい。
第２位置制御器７５は、同期補償処理後の第２制御位置誤差から、第２制御速度を生成する。第２位置制御器７５は、第２フィードバック制御系７０での制御位置誤差と、第１フィードバック制御系３０を基準とした第２フィードバック制御系７０の同期位置誤差とに応じた第２制御速度を生成する。そして、第１フィードバック制御系３０の制御位置と比較して第２フィードバック制御系７０の制御位置が遅れると、第２制御速度は大きくなる。
これ以外の図２のモータ制御装置１の構成および動作は、図１のもの同様であり、説明を省略する。
【００３６】
そして、本実施形態では、第１フィードバック制御系３０および第２フィードバック制御系７０は、２軸間の位置誤差を２個のフィードバック制御系の間で互いに補償できる。その結果、個々のフィードバック制御系の制御応答が高くなくても、軸間の位置誤差を小さくして同期精度を高めることができる。第１実施形態よりも更に高い同期精度を期待し得る。
このため、たとえば第１フィードバック制御系３０および第２フィードバック制御系７０を同じ剛体モデルに追従させることにより同期誤差が発生し難いようにしつつも、さらにそれでもたとえば機械系において発生し得るボールネジ間の摩擦力の差などに起因する同期位置誤差が発生することがあったとしてもその機械系の摩擦力の差などに起因する軸間の同期互いに、誤差を第１実施形態より効果的に抑制することができる。
このように本実施形態では、一つの可動部を複数個（ここでは２個）のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。さらに、軸間の位置誤差を２個のフィードバック制御系の間で相互に補償しているので、個々のフィードバック制御系の制御応答が高くなくても軸間の位置誤差を第１実施形態より更に小さく抑えて同期精度を更に高めることができる。
【００３７】
［第３実施形態］
図３は、本発明の第３実施形態に係るモータ制御装置１のブロック図である。
図３のモータ制御装置１は、図１のものと比べて、第１フィードバック制御系３０が、第１同期速度誤差生成器４３、第１速度同期補償器４４、第１同期補償速度誤差生成器４５、を有する点で異なる。
第１同期速度誤差生成器４３は、自身の第１制御速度誤差と第２制御速度誤差生成器７７により生成される第２制御速度誤差とに基づいて、これらの制御速度誤差の差分（同期速度誤差）を示す第１同期速度誤差を生成する。第１同期速度誤差は、たとえば自身の第１制御速度誤差から他の第２制御速度誤差を減算したものでよい。この場合、第２フィードバック制御系７０に対する第１フィードバック制御系３０の同期速度誤差が得られる。
第１速度同期補償器４４は、第１同期速度誤差から、第１速度誤差補償量を生成する。第１速度同期補償器４４は、たとえば比例制御器でよい。また、定常的な速度のずれを補償する場合には、比例積分制御器を用いるとよい。
第１同期補償速度誤差生成器４５は、第１フィードバック制御系３０での制御速度誤差である第１制御速度誤差と、２個のフィードバック制御系間の同期速度誤差である第１速度誤差補償量とに基づいて、同期補償処理後の第１制御速度誤差を生成する。同期補償処理後の第１制御速度誤差は、たとえば第１制御速度誤差と第１速度誤差補償量とを加算した合計値でよい。
第１速度制御器３８は、同期補償処理後の第１制御速度誤差から、第１制御トルクを生成する。第１速度制御器３８は、第１フィードバック制御系３０での制御速度誤差と、第１モデル速度指令と、軸間の同期速度誤差とに応じた第１制御トルクを生成する。そして、第１フィードバック制御系３０の制御速度と比較して第２フィードバック制御系７０の制御速度が遅れると、第１制御トルクは大きくなる。
これにより、第１フィードバック制御系３０は、第２フィードバック制御系７０との軸間の同期位置誤差だけでなく、さらに軸間の同期速度誤差についても補償できる。
これ以外の図３のモータ制御装置１の構成および動作は、図１のもの同様であり、説明を省略する。
【００３８】
そして、本実施形態において第１フィードバック制御系３０は、第２フィードバック制御系７０との間での２軸間の位置誤差を２個のフィードバック制御系の間で補償するだけでなく、２軸間の速度誤差をも２個のフィードバック制御系の間で補償する。第１フィードバック制御系３０は、第１同期速度誤差生成器４３により第２フィードバック制御系７０の制御速度誤差との差分を演算し、第１速度同期補償器４４により該差分を補償する第１速度誤差補償量を演算し、第１同期補償速度誤差生成器４５により同期補償処理後の第１制御速度誤差を生成する。その結果、個々のフィードバック制御系の制御応答が高くなくても、軸間の位置誤差および速度誤差を小さく抑えて同期精度を高めることができる。第１実施形態よりも更に高い精度を同期させることを期待し得る。
このため、たとえば第１フィードバック制御系３０および第２フィードバック制御系７０を同じ剛体モデルに追従させることにより同期誤差が発生し難いようにしつつも、さらにそれでもたとえば機械系において発生し得るボールネジ間の摩擦力の差などに起因する同期位置誤差や同期速度誤差が発生することがあってもそれらの同期誤差を効果的に抑制することができる。
このように本実施形態では、一つの可動部を複数個（ここでは２個）のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。
【００３９】
なお、上記実施形態は、可動部を２個のモータで駆動するために、２組のモデル制御系およびフィードバック制御系を用いる例である。また、同期速度誤差生成器、速度同期補償器、および同期補償速度誤差生成器を、１つ目のフィードバック制御系に適用した例である。
この他にも、同期速度誤差生成器、速度同期補償器、および同期補償速度誤差生成器は、２つ目のフィードバック制御系に適用してもよい。
さらに他にも、可動部を３個以上のモータで駆動してもよい。この場合、モデル制御系およびフィードバック制御系は、基本的にモータと同数組で設ければよい。また、Ｎ（Ｎは２以上の自然数）個のモータを使用する場合、同期速度誤差生成器、速度同期補償器、および同期補償速度誤差生成器は、（Ｎー１）個のフィードバック制御系に設ければよい。この（Ｎー１）個のフィードバック制御系において（Ｎー１）個の同期速度誤差生成器は、残りの１個のフィードバック制御系の制御速度誤差との間で位置同期誤差を生成すればよい。
【００４０】
［第４実施形態］
図４は、本発明の第４実施形態に係るモータ制御装置１のブロック図である。
図４のモータ制御装置１は、図３のものと比べて、第２フィードバック制御系７０が、第２同期速度誤差生成器８３、第２速度同期補償器８４、および第２同期補償速度誤差生成器８５、を有する点で異なる。
第２同期速度誤差生成器８３、第２速度同期補償器８４、および第２同期補償速度誤差生成器８５は、第１同期速度誤差生成器４３、第１速度同期補償器４４、および第１同期補償速度誤差生成器４５に対応する。
第２同期速度誤差生成器８３は、自身の第２制御速度誤差と第１制御速度誤差生成器３７により生成される第１制御速度誤差とに基づいて、これらの制御速度誤差の差分（同期速度誤差）を示す第２同期速度誤差を生成する。第２同期速度誤差は、たとえば自身の第２制御速度誤差から他の第１制御速度誤差を減算したものでよい。この場合、第１フィードバック制御系３０に対する第２フィードバック制御系７０の同期速度誤差が得られる。
第２速度同期補償器８４は、第２同期速度誤差から、第２速度誤差補償量を生成する。本実施形態では、第１フィードバック制御系３０と第２フィードバック制御系７０との間で相互に補償をかけているので、第１速度同期補償器４４および第２速度同期補償器８４には比例制御器を用いるとよい。
第２同期補償速度誤差生成器８５は、第２フィードバック制御系７０での制御速度誤差である第２制御速度誤差と、２個のフィードバック制御系間の同期速度誤差である第２速度誤差補償量とに基づいて、同期補償処理後の第２制御速度誤差を生成する。同期補償処理後の第２制御速度誤差は、たとえば第２制御速度誤差と第２速度誤差補償量とを加算した合計値でよい。
第２速度制御器７８は、同期補償処理後の第２制御速度誤差から、第２制御トルクを生成する。第２速度制御器７８は、第２フィードバック制御系７０での制御速度誤差と、第２モデル速度指令と、軸間の同期速度誤差とに応じた第２制御トルクを生成する。そして、第２フィードバック制御系７０の制御速度と比較して第１フィードバック制御系３０の制御速度が遅れると、第２制御トルクは大きくなる。
これ以外の図４のモータ制御装置１の構成および動作は、図３のものと同様であり、説明を省略する。
【００４１】
そして、本実施形態では、第１フィードバック制御系３０および第２フィードバック制御系７０は、２軸間の位置誤差を２個のフィードバック制御系の間で互いに補償するだけでなく、２軸間の速度誤差をも２個のフィードバック制御系の間で互いに補償する。その結果、個々のフィードバック制御系の制御応答が高くなくても、軸間の位置誤差および速度誤差を小さく抑えて同期精度を高めることができる。第３実施形態よりも更に高い同期精度を期待し得る。
このため、たとえば第１フィードバック制御系３０および第２フィードバック制御系７０を同じ剛体モデルに追従させることにより同期誤差が発生し難いようにしつつも、さらにそれでもたとえば機械系において発生し得るボールネジ間の摩擦力の差などに起因する同期位置誤差や同期速度誤差が発生することがあってもそれらの同期誤差を第３実施形態より効果的に抑制することができる。
このように本実施形態では、一つの可動部を複数個（ここでは２個）のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。さらに、軸間の位置誤差および速度誤差の双方を複数（ここでは２個）のフィードバック制御系の間で互いに直接的に補償しているので、個々のフィードバック制御系の制御応答が高くなくても軸間の位置誤差および速度誤差を第３実施形態より更に小さく抑えて同期精度を更に高めることができる。
【００４２】
以上の実施形態は、本発明の好適な実施形態の例であるが、本発明は、これに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
【００４３】
たとえば上記実施形態のモータ制御装置１は、第１モータ２と第２モータ３との２個のモータが共同して一つの可動部を駆動している。
この他にもたとえば、モータ制御装置１は、３個以上のモータが共同して一つの可動部を駆動してよい。この場合、モデル制御系およびフィードバック制御系は、モータの個数と同数としてよい。
また、モデル制御系は、フィードバック制御系の個数より少なくてもよい。この場合、１つのモデル制御系から複数のフィードバック制御系へ共通のモデル制御指令を出力すればよい。Ｎ個（Ｎ：２以上の自然数）のモータに対して、フィードバック制御系をＮ個で設けるとともにモデル制御系をＮ個以下の個数で設けるようにしてよい。
【００４４】
上記実施形態においてモデル制御系の構成要素は、基本的にそれに追従して実際に制御を実行するフィードバック制御系の構成要素と一対一対応としている。そして、モータからテーブル４までの機械系に対応するモデルとして、可動部モデルのみによる、振動が生じない剛体モデルを採用している。
この他にもたとえば、モデル制御系の構成要素は、それに追従して実際に制御を実行するフィードバック制御系の構成要素と一対一に対応していなくてもよい。モデル制御系は、モデル指令に基づいて動作するフィードバック制御系において振動が略生じないモデル指令を生成できればよい。
【符号の説明】
【００４５】
１…モータ制御装置
２…第１モータ
３…第２モータ
４…テーブル（可動部）
５…第１ボールネジ
６…第２ボールネジ
１０…第１モデル制御系
１１…第１モデル位置誤差演算器
１２…第１モデル位置制御器
１３…第１モデル速度演算器
１４…第１モデル速度誤差演算器
１５…第１モデル速度制御器
１６…第１モデルトルク指令ローパスフィルタ（モデルローパスフィルタ）
１７…第１可動部モデル
３０…第１フィードバック制御系
３１…第１制御位置誤差生成器
３２…第１同期位置誤差生成器
３３…第１位置同期補償器
３４…第１同期補償位置誤差生成器
３５…第１位置制御器
３６…第１検出速度生成器
３７…第１制御速度誤差生成器
３８…第１速度制御器
３９…第１制御トルク生成器
４０…第１トルク指令ローパスフィルタ（制御ローパスフィルタ）
４１…第１トルク制御器
４２…第１センサ
４３…第１同期速度誤差生成器
４４…第１速度同期補償器
４５…第１同期補償速度誤差生成器
５０…第２モデル制御系
５１…第２モデル位置誤差演算器
５２…第２モデル位置制御器
５３…第２モデル速度演算器
５４…第２モデル速度誤差演算器
５５…第２モデル速度制御器
５６…第２モデルトルク指令ローパスフィルタ（モデルローパスフィルタ）
５７…第２可動部モデル
７０…第２フィードバック制御系
７１…第２制御位置誤差生成器
７２…第２同期位置誤差生成器
７３…第２位置同期補償器
７４…第２同期補償位置誤差生成器
７５…第２位置制御器
７６…第２検出速度生成器
７７…第２制御速度誤差生成器
７８…第２速度制御器
７９…第２制御トルク生成器
８０…第２トルク指令ローパスフィルタ（制御ローパスフィルタ）
８１…第２トルク制御器
８２…第２センサ
８３…第２同期速度誤差生成器
８４…第２速度同期補償器
８５…第２同期補償速度誤差生成器
【図１】
0006391489.tif 000002
【図２】
0006391489.tif 000003
【図３】
0006391489.tif 000004
【図４】
0006391489.tif 000005