(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を、図面に基づいて説明する。
【0011】
[第1実施形態]
図1は、本発明の第1実施形態に係るモータ制御装置1のブロック図である。
図1のモータ制御装置1は、第1モータ2と第2モータ3との2個のモータが共同して一つの可動部を駆動して可動部を高速高精度に位置決めできるものである。
【0012】
図1のモータ制御装置1は、可動部としてのテーブル4の制御位置を示す外部位置指令が入力されて各種の第1モデル指令を生成する第1モデル制御系10と、第1モータ2を含むフィードバックループを有して第1モデル指令に基づいて第1モータ2を実際に制御する第1フィードバック制御系30と、第1モデル制御系10と同じ外部位置指令が入力されて各種の第2モデル指令を供給する第2モデル制御系50と、第2モータ3を含むフィードバックループを有して第2モデル指令に基づいて第2モータ3を実際に制御する第2フィードバック制御系70と、を有する。
そして、本実施形態において、第1モデル指令は、第1モデル位置指令、第1モデル速度指令、第1モデルトルク指令である。また、第2モデル指令は、第2モデル位置指令、第2モデル速度指令、第2モデルトルク指令である。
【0013】
第1フィードバック制御系30は、第1制御位置誤差生成器31、第1同期位置誤差生成器32、第1位置同期補償器33、第1同期補償位置誤差生成器34、第1位置制御器35、第1検出速度生成器36、第1制御速度誤差生成器37、第1速度制御器38、第1制御トルク生成器39、第1トルク指令ローパスフィルタ40、第1トルク制御器41、を有する。
そして、第1制御位置誤差生成器31、第1同期補償位置誤差生成器34、第1位置制御器35、第1制御速度誤差生成器37、第1速度制御器38、第1制御トルク生成器39、第1トルク指令ローパスフィルタ40、第1トルク制御器41、第1モータ2、および第1センサ42は、第1モータ2を実際に制御するフィードバックループを構成する。
【0014】
第1モータ2は、たとえば同期モータである。
第1センサ42は、第1モータ2の回転位置を検出する。第1センサ42は、たとえば第1モータ2の回転子軸に取り付けられたロータリエンコーダである。ロータリエンコーダは、モータの回転子軸の位置に応じたパルス信号を出力する。パルス信号は、第1モータ2の回転位置や可動部としてのテーブル4の位置へ換算できる。
【0015】
第1制御位置誤差生成器31は、第1モデル制御系10から供給される第1モデル位置指令と第1センサ42から得られるテーブル4の第1検出位置とに基づいて、これらの位置誤差を示す第1制御位置誤差を生成する。第1制御位置誤差は、たとえば第1モデル位置指令から第1検出位置を減算したものでよい。
第1同期位置誤差生成器32は、自身の第1制御位置誤差と後述する第2制御位置誤差生成器71により生成される第2制御位置誤差とに基づいて、これらの制御位置誤差の差分(同期誤差)を示す第1同期位置誤差を生成する。第1同期位置誤差は、たとえば自身の第1制御位置誤差から他の第2制御位置誤差を減算したものでよい。この場合、第2フィードバック制御系70に対する第1フィードバック制御系30の同期誤差が得られる。
第1位置同期補償器33は、第1同期位置誤差から、第1位置同期誤差補償量を生成する。本実施形態において第1位置同期補償器33には、たとえば比例制御器または比例積分制御器を用いるとよい。
第1同期補償位置誤差生成器34は、第1フィードバック制御系30での制御位置誤差である第1制御位置誤差と、2個のフィードバック制御系間の同期位置誤差である第1位置同期誤差補償量とに基づいて、同期補償処理後の第1制御位置誤差を生成する。同期補償処理後の第1制御位置誤差は、たとえば第1制御位置誤差と第1位置同期誤差補償量とを加算した合計値でよい。
第1位置制御器35は、同期補償処理後の第1制御位置誤差から、第1制御速度を生成する。第1位置制御器35は、第1フィードバック制御系30での制御位置誤差と、第2フィードバック制御系70を基準とした第1フィードバック制御系30の同期位置誤差とに応じた第1制御速度を生成する。そして、第2フィードバック制御系70の制御位置と比較して第1フィードバック制御系30の制御位置が遅れると、第1制御速度は大きくなる。
【0016】
第1検出速度生成器36は、第1センサ42が検出した回転位置からテーブル4の第1検出速度を生成する。
第1制御速度誤差生成器37は、第1制御速度、第1検出速度、および第1モデル速度指令に基づいて第1制御速度誤差を生成する。第1制御速度誤差は、たとえば第1制御速度から第1検出速度を減算して得られる制御速度誤差に対して、第1モデル速度指令を加算したものでよい。
第1速度制御器38は、第1制御速度誤差から、第1制御トルクを生成する。第1速度制御器38は、第1フィードバック制御系30での制御速度誤差と、第1モデル速度指令とに応じた第1制御トルクを生成する。そして、制御速度誤差および第1モデル速度指令の少なくとも一方が大きくなると、第1制御トルクは大きくなる。
【0017】
第1制御トルク生成器39は、第1制御トルクと第1モデルトルク指令とに基づいて第1合計制御トルクを生成する。第1合計制御トルクは、たとえば第1制御トルクと第1モデルトルク指令とを加算したものでよい。
第1トルク指令ローパスフィルタ40は、第1合計制御トルクをローパスフィルタ処理する。このローパスフィルタ処理により、第1合計制御トルクから高周波成分を除くことができる。このような高周波成分としては、たとえば第1センサ42による位置の量子化リップル成分がある。
第1トルク制御器41は、ローパスフィルタ処理後の第1合計制御トルクに基づいて第1モータ2を制御する。
【0018】
このような第1フィードバック制御系30で閉じたフィードバック制御により、第1フィードバック制御系30は、第1モデル制御系10から出力される第1モデル位置指令、第1モデル速度指令および第1モデルトルク指令にしたがって第1モータ2を回転駆動する。第1モータ2の回転にしたがってテーブル4は駆動される。
そして、第1フィードバック制御系30において制御位置または制御速度に誤差が生じると、または第2フィードバック制御系70の制御位置に対して第1フィードバック制御系30の制御位置がずれると、これらの誤差およびずれを抑制するように第1モータ2の駆動トルクが増減する。
これにより、第1モータ2からテーブル4までの機械系は、第1モデルトルク指令および第1モデル速度指令にしたがう動きで第1モデル位置指令の位置まで移動するように制御される。
【0019】
第1モデル制御系10は、外部位置指令を入力とし、第1フィードバック制御系30に対応するモデルを用いて第1フィードバック制御系30の仮想的な動作を演算し、第1フィードバック制御系30に与える第1モデル指令を生成する。
第1モデル位置指令は、テーブル4の制御位置を示す指令である。
第1モデル速度指令は、駆動中のテーブル4の制御速度を示す指令である。
第1モデルトルク指令は、駆動中のテーブル4の制御トルクを示す指令である。
そして、本実施形態の第1モデル制御系10は、第1フィードバック制御系30の動作を演算するために、第1モデル位置誤差演算器11、第1モデル位置制御器12、第1モデル速度演算器13、第1モデル速度誤差演算器14、第1モデル速度制御器15、第1モデルトルク指令ローパスフィルタ16、第1可動部モデル17、を有する。
そして、第1モデル位置誤差演算器11、第1モデル位置制御器12、第1モデル速度誤差演算器14、第1モデル速度制御器15、第1モデルトルク指令ローパスフィルタ16、および第1可動部モデル17は、第1モデル制御系10で閉じたフィードバックループを構成する。この第1モデル制御系10のフィードバックループは、第1フィードバック制御系30のフィードバックループと対応する。
【0020】
第1モデル位置誤差演算器11は、第1制御位置誤差生成器31に対応するモデルにより第1モデル位置誤差を演算する。第1モデル位置誤差演算器11は、外部位置指令から、第1可動部モデル17から出力される第1モデル位置を減算して第1モデル位置誤差を演算する。
第1モデル位置制御器12は、第1位置制御器35に対応するモデルにより第1モデル速度を演算する。第1モデル位置制御器12は、第1モデル位置誤差から第1モデル速度を演算する。
第1モデル速度演算器13は、第1検出速度生成器36に対応するモデルにより第1モデル検出速度を演算する。第1モデル速度演算器13は、第1モデル位置から第1モデル検出速度を演算する。第1モデル検出速度は、第一モデル速度指令として第1フィードバック制御系30へ出力される。
第1モデル速度誤差演算器14は、第1制御速度誤差生成器37に対応するモデルにより第1モデル速度誤差を演算する。第1モデル速度誤差演算器14は、第1モデル速度から第1モデル検出速度を減算して第1モデル速度誤差を演算する。
第1モデル速度制御器15は、第1速度制御器38に対応するモデルにより第1モデルトルクを演算する。第1モデル速度制御器15は、第1モデル速度誤差から第1モデルトルクを演算する。第1モデルトルクは、第一モデルトルク指令として第1フィードバック制御系30へ出力される。
第1モデルトルク指令ローパスフィルタ16は、第1トルク指令ローパスフィルタ40に対応するモデルによりフィルタ演算を実施する。第1モデルトルク指令ローパスフィルタ16は、第1モデルトルクをローパスフィルタ処理する。
第1可動部モデル17は、第1モータ2からテーブル4までの機械系の動きに対応している可動部のモデルにより第1モデル位置を演算する。ここでは、第1モータ2、第1ボールネジ5からテーブル4までの機械系に対応する可動部モデルとして、それらの間でずれが生じない剛体モデルを用いる。第1可動部モデル17は、ローパスフィルタ処理後の第1モデルトルクから、第1モデル位置を演算する。第1モデル位置は、第一モデル位置指令として第1フィードバック制御系30へ出力される。
【0021】
このような第1フィードバック制御系30に対応するフィードバック制御により、第1モデル制御系10は、可動部を剛体とみなした場合における第1モデル位置指令、第1モデル速度指令および第1モデルトルク指令を生成する。
また、第1モデル制御系10の各要素には、テーブル4に所望の位置決め制御を可能とするための制御パラメータを設定すればよい。
たとえば、第1フィードバック制御系30は、機械系に振動を生じさせない安定なゲインになるようにパラメータを調整する。そして、第1モデル制御系10は、第1フィードバック制御系30の位置ゲインより少し高い位置ゲインを設定するようにする。このようにパラメータを設定することにより、機械系に振動を生じずに機械を高速駆動する事ができるようになる。
【0022】
第2フィードバック制御系70は、第2制御位置誤差生成器71、第2位置制御器75、第2検出速度生成器76、第2制御速度誤差生成器77、第2速度制御器78、第2制御トルク生成器79、第2トルク指令ローパスフィルタ80、第2トルク制御器81、を有する。
そして、第2制御位置誤差生成器71、第2位置制御器75、第2制御速度誤差生成器77、第2速度制御器78、第2制御トルク生成器79、第2トルク指令ローパスフィルタ80、第2トルク制御器81、第2モータ3、および第2センサ82は、第2モータ3を実際に制御するフィードバックループを構成する。
これら第2フィードバック制御系70の各構成要素は、第1フィードバック制御系30において番号が異なる同名の構成要素と同一であり、その詳細な説明を省略する。ただし、第2位置制御器75は、第2制御位置誤差生成器71が生成した第2制御位置誤差から、第2制御速度を生成する。同期補償処理をしていない第2制御位置誤差に基づいて第2制御速度を生成する。
第2モデル制御系50は、第2モデル位置誤差演算器51、第2モデル位置制御器52、第2モデル速度演算器53、第2モデル速度誤差演算器54、第2モデル速度制御器55、第2モデルトルク指令ローパスフィルタ56、第2可動部モデル57、を有する。これら第2モデル制御系50の各構成要素は、第1モデル制御系10において番号が異なる同名の構成要素と同一であり、その詳細な説明を省略する。第2モデル制御系50の各部のパラメータには、第1モデル制御系10と同じ値が設定される。
そして、以下の説明において、第2フィードバック制御系70および第2モデル制御系50での各種の信号名には、対応する第1フィードバック制御系30および第1モデル制御系10での各種の信号名の番号を第1から第2へ変更したものを使用する。
【0023】
なお、
図1のモータ制御装置1において、第1センサ42は、第1モータ2と一体に構成されてよい。そして、第1モータ2および第1センサ42以外の第1フィードバック制御系30の構成要素と第1モデル制御系10とは、第1モータ2および第1センサ42と第1ケーブルで接続される第1モータ制御装置中の第1コンピュータ装置に実現されてよい。この場合、第1フィードバック制御系30の各構成要素は演算処理により各々の処理を実行することになり、第1モデル制御系10の各部の演算処理と好適に対応し得る。
同様に、第2センサ82は、第2モータ3と一体に構成されてよい。そして、第2モータ3および第2センサ82以外の第2フィードバック制御系70の構成要素と第2モデル制御系50とは、第2モータ3および第2センサ82と第2ケーブルで接続される第2モータ制御装置中の第2コンピュータ装置に実現されてよい。この場合、第2フィードバック制御系70の各構成要素は演算処理により各々の処理を実行することになり、第2モデル制御系50の各部の演算処理と好適に対応し得る。
また、このように第1モータ制御装置と第2モータ制御装置とを用いる場合、第1モータ制御装置と第2モータ制御装置とは通信ケーブルで連結され、第2モータ制御装置から第1モータ制御装置へ第2制御位置誤差を送信する必要がある。
この他にもたとえば、第1コンピュータ装置と第2コンピュータ装置は、単一のモータ制御装置内に設けられてもよい。
また、
図1中の第1モータ2、第1センサ42、第2モータ3および第2センサ82以外の構成要素は、単一のモータ制御装置中の単一のコンピュータ装置に実現されてもよい。この場合、第2制御位置誤差は、たとえばプログラム間通信により送信し得る。
また、第1モデル制御系10と第2モデル制御系50とを1つのモデル制御系とし、この単一のモデル制御系から第1フィードバック制御系30および第2フィードバック制御系70へ共通のモデル指令を供給してもよい。
【0024】
次に、
図1のモータ制御装置1の動作について説明する。
【0025】
テーブル4の位置を制御するために、第1モデル制御系10および第2モデル制御系50には、上位のコントローラから共通の外部位置指令が同時に供給される。
【0026】
外部位置指令が供給された第1モデル制御系10は、外部位置指令から第1モデル位置を減算し、第1モデル位置誤差から第1モデル速度を演算する。また、第1モデル速度から第1モデル検出速度を減算し、第1モデル速度誤差から第1モデルトルクを演算する。また、ローパスフィルタ処理後の第1モデルトルクから、第1モデル位置を演算する。また、第1モデル位置から第1モデル検出速度を演算する。この一連の演算処理により、第1モデル制御系10は、第1モデル指令として第1モデル位置指令、第1モデル速度指令、第1モデルトルク指令を生成して第1フィードバック制御系30へ出力する。
【0027】
第1モデル指令が供給された第1フィードバック制御系30は、第1モデル位置指令と第1センサ42から得られるテーブル4の第1検出位置との位置誤差を示す第1制御位置誤差を生成する。
また、第1フィードバック制御系30は、自身の第1制御位置誤差と第2制御位置誤差生成器71により生成される第2制御位置誤差との位置誤差の差分(同期誤差)を示す第1同期位置誤差を生成し、第1位置同期誤差補償量を生成する。また、第1制御位置誤差と第1位置同期誤差補償量とから同期補償処理後の第1制御位置誤差を生成し、第1制御速度を生成する。
また、第1フィードバック制御系30は、第1制御速度、第1検出速度、および第1モデル速度指令から第1制御速度誤差を生成し、第1制御トルクを生成する。
また、第1フィードバック制御系30は、第1制御トルクおよび第1モデルトルク指令から第1合計制御トルクを生成し、ローパスフィルタ処理する。そして、第1トルク制御器41は、ローパスフィルタ処理後の第1合計制御トルクに基づいて第1モータ2を制御する。第1センサ42は、第1モータ2の回転位置を検出する。また、第1検出速度生成器36は、第1センサ42が検出した回転位置から第1検出速度を生成する。
【0028】
また、第1モデル制御系10と同時に同じ外部位置指令が供給される第2モデル制御系50は、上述した第1モデル制御系10と同じフィードバック制御を実行する。第2モデル制御系50から第2モデル指令が供給される第2フィードバック制御系70も、上述した第1フィードバック制御系30と同じフィードバック制御を実行する。
【0029】
そして、本実施形態において第1モデル制御系10と第2モデル制御系50とは、モータからテーブル4までの機械系を剛体とみなした可動部モデルを含む同じフィードバックループで構成され、且つ、同時に入力される共通の外部位置指令のみに基づいてモデル指令を演算する。このため、第1モデル制御系10と第2モデル制御系50とは、互いに独立して別々にモデル演算をしながらも同じ外部位置指令に基づいて同じモデル指令を同時に演算して出力し得る。たとえば第1モデルトルク指令と第2モデルトルク指令とは同じ値になり得る。
また、本実施形態において、フィードバック制御系は、制御位置誤差生成器、位置制御器、制御速度誤差生成器、速度制御器、制御トルク生成器、トルク指令ローパスフィルタ、トルク制御器、モータ、およびセンサによりフィードバックループを構成し、モデル制御系は、モデル位置誤差演算器、モデル位置制御器、モデル速度演算器、モデル速度誤差演算器、モデル速度制御器、モデルトルク指令ローパスフィルタ、可動部モデルによりフィードバックループを構成している。モデル制御系は、フィードバック制御系と好適に対応付けることができる。
よって、第1モータ2および第2モータ3は、同じモデルトルク指令に基づいて同時に同様に駆動されることになる。第1モータ2と第2モータ3とは、互いに同期した状態でテーブル4を高速に駆動することができる。その結果、第1フィードバック制御系30および第2フィードバック制御系70の制御ループ応答が低いままでも、互いに同期した第1モータ2および第2モータ3による2軸同時駆動を実現でき、テーブル4を高速に駆動することができる。
このため、本実施形態とは異なり1個のモータでテーブル4を駆動する場合にはテーブル4が駆動軸の軸方向に対して傾くヨーイングを起こすことがあるが、本実施形態では2個のモータとテーブル4とがテーブル4に対して並べて設けられる2つのボールネジにより連結され、かつ2個のモータが互いに同期してテーブル4を駆動するのでそのようなヨーイングを好適に抑制できる。
【0030】
しかも、本実施形態において第1フィードバック制御系30は、第2フィードバック制御系70と同じモデル指令に追従してフィードバック制御を実行するだけでなく、第2フィードバック制御系70との制御位置誤差とのずれを補償するようにフィードバック制御を実行する。第1フィードバック制御系30は、第1同期位置誤差生成器32により第2フィードバック制御系70の制御位置誤差との差分を演算し、第1位置同期補償器33により該差分を補償する第1位置同期誤差補償量を演算し、第1同期補償位置誤差生成器34により同期補償処理後の第1制御位置誤差を生成する。よって、第1フィードバック制御系30と第2フィードバック制御系70との2軸間の位置誤差の間でのずれを第1フィードバック制御系30と第2フィードバック制御系70との間で補償できる。特に、第1位置同期補償器33として比例積分制御器を用いることにより、該ずれが定常的に発生しないようにできる。
このため、本実施形態のように第1フィードバック制御系30および第2フィードバック制御系70を同じ剛体モデルに追従させることにより軸間の制御ずれが発生し難いように同期制御しつつも、さらにそれでも発生する可能性がある同期誤差を併せて効果的に抑制することができる。たとえば剛体モデルでは、機械系において発生する可能性があるボールネジ間の摩擦力の差に起因する同期誤差については考慮しておらず制御により抑制することはできないが、そのような同期誤差についても併せて効果的に抑制することができる。
【0031】
このように本実施形態では、一つの可動部を複数個(ここでは2個)のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。さらに、軸間の位置誤差を複数(ここでは2個)のフィードバック制御系の間で補償しているので、摩擦力の差などに起因する同期誤差についても併せて効果的に抑制できる。そして、個々のフィードバック制御系の制御応答が高くなくても軸間の位置誤差を効果的に小さく抑えて同期精度を高めることができる。
【0032】
また、本実施形態では、モデル制御系は、フィードバック制御系の動きに影響されない。
よって、複数のモデル制御系から出力される複数のモデル位置は同じ値(指令)になる。複数のフィードバック制御系は、同じ値(指令)によるモデル位置に基づいて、各々のモータを同様に制御し得る。
また、モデル制御系は、たとえば複数のフィードバック制御系に共通のものとすることができる。
【0033】
このように、本実施形態では、1つの可動部を共同して可動させる2個のモータを共通の外部位置指令で、かつ、同じ剛体モデルでモデル追従制御を行う事により、2個のフィードバック制御系に与えるトルク指令を全軸で同一にする事ができ、これにより、フィードバック制御系の制御応答が高くなくても、複数のフィードバック制御系の制御誤差の間でずれが発生し難いように制御を実行できる。しかも、それでも2個のフィードバック制御系の間で生じ得る微小な制御誤差のずれを2個のフィードバック制御系の間で補償している。よって、同期誤差が発生し難く制御を実行する2個のフィードバック制御系の間で制御誤差のずれが発生することがあったとしても、それを抑えることができる。2個のモータの制御系は、同期ずれを発生し難い制御と同期ずれを抑える制御とが二重化された制御により1つの可動部を2個のモータで制御する場合での2個のモータの同期精度を高めることができる。
【0034】
なお、上記実施形態は、可動部を2個のモータで駆動するために、2組のモデル制御系およびフィードバック制御系を用いる例である。また、同期位置誤差生成器、位置同期補償器、および同期補償位置誤差生成器を、1つ目のフィードバック制御系に適用した例である。
この他にも、同期位置誤差生成器、位置同期補償器、および同期補償位置誤差生成器は、2つ目のフィードバック制御系に適用してもよい。
さらに他にも、可動部を3個以上のモータで駆動してもよい。この場合、モデル制御系およびフィードバック制御系は、基本的にモータと同数組で設ければよい。また、N(Nは2以上の自然数)個のモータを使用する場合、同期位置誤差生成器、位置同期補償器、および同期補償位置誤差生成器は、(Nー1)個のフィードバック制御系に設ければよい。この(Nー1)個のフィードバック制御系において(Nー1)個の同期位置誤差生成器は、残りの1個のフィードバック制御系の制御位置誤差との間で位置同期誤差を生成すればよい。
【0035】
[第2実施形態]
図2は、本発明の第2実施形態に係るモータ制御装置1のブロック図である。
図2のモータ制御装置1は、
図1のものと比べて、第2フィードバック制御系70が第2同期位置誤差生成器72、第2位置同期補償器73、および第2同期補償位置誤差生成器74を有する点で異なる。
第2同期位置誤差生成器72、第2位置同期補償器73、および第2同期補償位置誤差生成器74は、第1同期位置誤差生成器32、第1位置同期補償器33、および第1同期補償位置誤差生成器34と対応する。
第2同期位置誤差生成器72は、自身の第2制御位置誤差と第1制御位置誤差生成器31により生成される第1制御位置誤差とに基づいて、これらの制御位置誤差の差分(同期誤差)を示す第2同期位置誤差を生成する。第2同期位置誤差は、たとえば自身の第2制御位置誤差から他の第1制御位置誤差を減算したものでよい。この場合、第1フィードバック制御系30に対する第2フィードバック制御系70の同期誤差が得られる。
第2位置同期補償器73は、第2同期位置誤差から、第2位置同期誤差補償量を生成する。本実施形態では、第1フィードバック制御系30と第2フィードバック制御系70との間で相互に補償をかけているので、第1位置同期補償器33および第2位置同期補償器73には比例制御器を用いるとよい。
第2同期補償位置誤差生成器74は、第2フィードバック制御系70での制御位置誤差である第2制御位置誤差と、2個のフィードバック制御系間の同期位置誤差である第2位置同期誤差補償量とに基づいて、同期補償処理後の第2制御位置誤差を生成する。同期補償処理後の第2制御位置誤差は、たとえば第2制御位置誤差と第2位置同期誤差補償量とを加算した合計値でよい。
第2位置制御器75は、同期補償処理後の第2制御位置誤差から、第2制御速度を生成する。第2位置制御器75は、第2フィードバック制御系70での制御位置誤差と、第1フィードバック制御系30を基準とした第2フィードバック制御系70の同期位置誤差とに応じた第2制御速度を生成する。そして、第1フィードバック制御系30の制御位置と比較して第2フィードバック制御系70の制御位置が遅れると、第2制御速度は大きくなる。
これ以外の
図2のモータ制御装置1の構成および動作は、
図1のもの同様であり、説明を省略する。
【0036】
そして、本実施形態では、第1フィードバック制御系30および第2フィードバック制御系70は、2軸間の位置誤差を2個のフィードバック制御系の間で互いに補償できる。その結果、個々のフィードバック制御系の制御応答が高くなくても、軸間の位置誤差を小さくして同期精度を高めることができる。第1実施形態よりも更に高い同期精度を期待し得る。
このため、たとえば第1フィードバック制御系30および第2フィードバック制御系70を同じ剛体モデルに追従させることにより同期誤差が発生し難いようにしつつも、さらにそれでもたとえば機械系において発生し得るボールネジ間の摩擦力の差などに起因する同期位置誤差が発生することがあったとしてもその機械系の摩擦力の差などに起因する軸間の同期互いに、誤差を第1実施形態より効果的に抑制することができる。
このように本実施形態では、一つの可動部を複数個(ここでは2個)のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。さらに、軸間の位置誤差を2個のフィードバック制御系の間で相互に補償しているので、個々のフィードバック制御系の制御応答が高くなくても軸間の位置誤差を第1実施形態より更に小さく抑えて同期精度を更に高めることができる。
【0037】
[第3実施形態]
図3は、本発明の第3実施形態に係るモータ制御装置1のブロック図である。
図3のモータ制御装置1は、
図1のものと比べて、第1フィードバック制御系30が、第1同期速度誤差生成器43、第1速度同期補償器44、第1同期補償速度誤差生成器45、を有する点で異なる。
第1同期速度誤差生成器43は、自身の第1制御速度誤差と第2制御速度誤差生成器77により生成される第2制御速度誤差とに基づいて、これらの制御速度誤差の差分(同期速度誤差)を示す第1同期速度誤差を生成する。第1同期速度誤差は、たとえば自身の第1制御速度誤差から他の第2制御速度誤差を減算したものでよい。この場合、第2フィードバック制御系70に対する第1フィードバック制御系30の同期速度誤差が得られる。
第1速度同期補償器44は、第1同期速度誤差から、第1速度誤差補償量を生成する。第1速度同期補償器44は、たとえば比例制御器でよい。また、定常的な速度のずれを補償する場合には、比例積分制御器を用いるとよい。
第1同期補償速度誤差生成器45は、第1フィードバック制御系30での制御速度誤差である第1制御速度誤差と、2個のフィードバック制御系間の同期速度誤差である第1速度誤差補償量とに基づいて、同期補償処理後の第1制御速度誤差を生成する。同期補償処理後の第1制御速度誤差は、たとえば第1制御速度誤差と第1速度誤差補償量とを加算した合計値でよい。
第1速度制御器38は、同期補償処理後の第1制御速度誤差から、第1制御トルクを生成する。第1速度制御器38は、第1フィードバック制御系30での制御速度誤差と、第1モデル速度指令と、軸間の同期速度誤差とに応じた第1制御トルクを生成する。そして、第1フィードバック制御系30の制御速度と比較して第2フィードバック制御系70の制御速度が遅れると、第1制御トルクは大きくなる。
これにより、第1フィードバック制御系30は、第2フィードバック制御系70との軸間の同期位置誤差だけでなく、さらに軸間の同期速度誤差についても補償できる。
これ以外の
図3のモータ制御装置1の構成および動作は、
図1のもの同様であり、説明を省略する。
【0038】
そして、本実施形態において第1フィードバック制御系30は、第2フィードバック制御系70との間での2軸間の位置誤差を2個のフィードバック制御系の間で補償するだけでなく、2軸間の速度誤差をも2個のフィードバック制御系の間で補償する。第1フィードバック制御系30は、第1同期速度誤差生成器43により第2フィードバック制御系70の制御速度誤差との差分を演算し、第1速度同期補償器44により該差分を補償する第1速度誤差補償量を演算し、第1同期補償速度誤差生成器45により同期補償処理後の第1制御速度誤差を生成する。その結果、個々のフィードバック制御系の制御応答が高くなくても、軸間の位置誤差および速度誤差を小さく抑えて同期精度を高めることができる。第1実施形態よりも更に高い精度を同期させることを期待し得る。
このため、たとえば第1フィードバック制御系30および第2フィードバック制御系70を同じ剛体モデルに追従させることにより同期誤差が発生し難いようにしつつも、さらにそれでもたとえば機械系において発生し得るボールネジ間の摩擦力の差などに起因する同期位置誤差や同期速度誤差が発生することがあってもそれらの同期誤差を効果的に抑制することができる。
このように本実施形態では、一つの可動部を複数個(ここでは2個)のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。
【0039】
なお、上記実施形態は、可動部を2個のモータで駆動するために、2組のモデル制御系およびフィードバック制御系を用いる例である。また、同期速度誤差生成器、速度同期補償器、および同期補償速度誤差生成器を、1つ目のフィードバック制御系に適用した例である。
この他にも、同期速度誤差生成器、速度同期補償器、および同期補償速度誤差生成器は、2つ目のフィードバック制御系に適用してもよい。
さらに他にも、可動部を3個以上のモータで駆動してもよい。この場合、モデル制御系およびフィードバック制御系は、基本的にモータと同数組で設ければよい。また、N(Nは2以上の自然数)個のモータを使用する場合、同期速度誤差生成器、速度同期補償器、および同期補償速度誤差生成器は、(Nー1)個のフィードバック制御系に設ければよい。この(Nー1)個のフィードバック制御系において(Nー1)個の同期速度誤差生成器は、残りの1個のフィードバック制御系の制御速度誤差との間で位置同期誤差を生成すればよい。
【0040】
[第4実施形態]
図4は、本発明の第4実施形態に係るモータ制御装置1のブロック図である。
図4のモータ制御装置1は、
図3のものと比べて、第2フィードバック制御系70が、第2同期速度誤差生成器83、第2速度同期補償器84、および第2同期補償速度誤差生成器85、を有する点で異なる。
第2同期速度誤差生成器83、第2速度同期補償器84、および第2同期補償速度誤差生成器85は、第1同期速度誤差生成器43、第1速度同期補償器44、および第1同期補償速度誤差生成器45に対応する。
第2同期速度誤差生成器83は、自身の第2制御速度誤差と第1制御速度誤差生成器37により生成される第1制御速度誤差とに基づいて、これらの制御速度誤差の差分(同期速度誤差)を示す第2同期速度誤差を生成する。第2同期速度誤差は、たとえば自身の第2制御速度誤差から他の第1制御速度誤差を減算したものでよい。この場合、第1フィードバック制御系30に対する第2フィードバック制御系70の同期速度誤差が得られる。
第2速度同期補償器84は、第2同期速度誤差から、第2速度誤差補償量を生成する。本実施形態では、第1フィードバック制御系30と第2フィードバック制御系70との間で相互に補償をかけているので、第1速度同期補償器44および第2速度同期補償器84には比例制御器を用いるとよい。
第2同期補償速度誤差生成器85は、第2フィードバック制御系70での制御速度誤差である第2制御速度誤差と、2個のフィードバック制御系間の同期速度誤差である第2速度誤差補償量とに基づいて、同期補償処理後の第2制御速度誤差を生成する。同期補償処理後の第2制御速度誤差は、たとえば第2制御速度誤差と第2速度誤差補償量とを加算した合計値でよい。
第2速度制御器78は、同期補償処理後の第2制御速度誤差から、第2制御トルクを生成する。第2速度制御器78は、第2フィードバック制御系70での制御速度誤差と、第2モデル速度指令と、軸間の同期速度誤差とに応じた第2制御トルクを生成する。そして、第2フィードバック制御系70の制御速度と比較して第1フィードバック制御系30の制御速度が遅れると、第2制御トルクは大きくなる。
これ以外の
図4のモータ制御装置1の構成および動作は、
図3のものと同様であり、説明を省略する。
【0041】
そして、本実施形態では、第1フィードバック制御系30および第2フィードバック制御系70は、2軸間の位置誤差を2個のフィードバック制御系の間で互いに補償するだけでなく、2軸間の速度誤差をも2個のフィードバック制御系の間で互いに補償する。その結果、個々のフィードバック制御系の制御応答が高くなくても、軸間の位置誤差および速度誤差を小さく抑えて同期精度を高めることができる。第3実施形態よりも更に高い同期精度を期待し得る。
このため、たとえば第1フィードバック制御系30および第2フィードバック制御系70を同じ剛体モデルに追従させることにより同期誤差が発生し難いようにしつつも、さらにそれでもたとえば機械系において発生し得るボールネジ間の摩擦力の差などに起因する同期位置誤差や同期速度誤差が発生することがあってもそれらの同期誤差を第3実施形態より効果的に抑制することができる。
このように本実施形態では、一つの可動部を複数個(ここでは2個)のモータで駆動する機械において剛体モデルを用いて個々のモデル制御系を構成するとともに該モデルに追従させて実際のフィードバック制御系に制御を実行させることにより、個々のモータを制御する制御系のフィードバック応答を高めることができない場合でも位置指令に対する追従性を向上させることができる。さらに、軸間の位置誤差および速度誤差の双方を複数(ここでは2個)のフィードバック制御系の間で互いに直接的に補償しているので、個々のフィードバック制御系の制御応答が高くなくても軸間の位置誤差および速度誤差を第3実施形態より更に小さく抑えて同期精度を更に高めることができる。
【0042】
以上の実施形態は、本発明の好適な実施形態の例であるが、本発明は、これに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
【0043】
たとえば上記実施形態のモータ制御装置1は、第1モータ2と第2モータ3との2個のモータが共同して一つの可動部を駆動している。
この他にもたとえば、モータ制御装置1は、3個以上のモータが共同して一つの可動部を駆動してよい。この場合、モデル制御系およびフィードバック制御系は、モータの個数と同数としてよい。
また、モデル制御系は、フィードバック制御系の個数より少なくてもよい。この場合、1つのモデル制御系から複数のフィードバック制御系へ共通のモデル制御指令を出力すればよい。N個(N:2以上の自然数)のモータに対して、フィードバック制御系をN個で設けるとともにモデル制御系をN個以下の個数で設けるようにしてよい。
【0044】
上記実施形態においてモデル制御系の構成要素は、基本的にそれに追従して実際に制御を実行するフィードバック制御系の構成要素と一対一対応としている。そして、モータからテーブル4までの機械系に対応するモデルとして、可動部モデルのみによる、振動が生じない剛体モデルを採用している。
この他にもたとえば、モデル制御系の構成要素は、それに追従して実際に制御を実行するフィードバック制御系の構成要素と一対一に対応していなくてもよい。モデル制御系は、モデル指令に基づいて動作するフィードバック制御系において振動が略生じないモデル指令を生成できればよい。