(57)【特許請求の範囲】
【請求項１】
モータで駆動される複数の軸を備え、少なくとも１つの軸が駆動された時に、前記駆動された軸によって前記駆動された軸とは異なる軸が軸間干渉を受ける環境において、前記複数の軸を制御するモータ制御装置であって、
前記駆動された軸を干渉を発生させる軸、前記駆動された軸とは異なる軸を干渉を受ける軸と定義し、
前記複数の軸毎に軸の移動を制御する制御部と前記制御部間でデータを送受信する通信手段とを備え、
前記各制御部には、駆動する軸への位置指令値を作成する位置指令作成部と、軸の位置を検出する位置検出器と、前記位置指令作成部からの前記位置指令値と前記位置検出器からの位置フィードバック信号から速度指令値を作成する速度指令作成部と、前記駆動する軸の位置指令値と前記駆動する軸の位置フィードバック信号の何れかにより前記駆動する軸の加速度を演算する加速度演算部と、前記通信手段から前記干渉を発生させる軸の加速度が入力された時に駆動する軸の位置指令値を補正する位置補正量を演算する位置補正量演算部とが備えられ、
前記通信手段は、前記加速度演算部によって演算された加速度を、前記他の制御部に伝え、
前記位置補正量演算部は、前記位置補正量を、前記干渉を発生させる軸の加速度に補正ゲインを乗算して求め、
前記速度指令作成部は、前記位置指令作成部からの前記駆動する軸への位置指令値に、前記位置補正量演算部からの前記位置補正量を加算して前記位置指令値を補正することを特徴とするモータ制御装置。
【請求項２】
前記通信手段は、前記制御部の各個にある前記加速度演算部が出力する前記干渉を発生させる軸の加速度を、前記干渉を発生させる軸とは別の軸の制御部にある前記位置補正量演算部に伝えることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記軸の各個には前記軸の各個の加速度を計測する加速度検出器が設けられており、
前記加速度演算部は、前記駆動する軸の位置指令値と前記駆動する軸の位置フィードバック信号の何れかに代えて、前記加速度検出器からの計測値を出力することを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記各制御部は更に、前記加速度演算部により演算された加速度から加加速度を演算する加加速度演算部と、前記加加速度演算部により演算された加加速度から速度指令値を補正する速度補正量を演算して、前記速度指令値に加算する速度補正量演算部とを備えており、
前記速度補正量演算部は、前記速度補正量を、前記加加速度に補正ゲインを乗算して求めることを特徴とする請求項１に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、軸間干渉を補正するモータ制御装置に関する。
【背景技術】
【０００２】
工作機械は一般に、Ｘ軸、Ｙ軸及びＺ軸等の、複数の制御軸を備えている。これら複数の制御軸は、各々の軸が動作する時に、その動作による力学的干渉が他の軸に及ばないよう設計されることが多いが、力学的干渉が発生するような設計も少なからず存在する。
【０００３】
力学的な干渉は、例えば、図１に示すように、バランスの偏った重りである偏心荷重９２があり、この偏心荷重９２を回転させる回転軸９３が直線軸９１の上に載る場合などがこれに相当する。図１に示した例では、直線軸９１が加速する際に、回転軸９３にトルクが発生する、或いはその逆で、回転軸９３が回転する際に、直線軸９１にトルクが発生する、という力学的な干渉が発生する。このような力学的な干渉が発生すると、制御軸の制御に支障が生じてしまい、工作機械の加工精度が劣化する。
【０００４】
そこで、工作機械の中には、干渉力補正という機能が設けられているものがある。干渉力補正機能は、ある制御軸のトルク（力）が他の制御軸に発生させるトルク（力）をキャンセルするように、トルクを発生させて加速する軸の指令加速度を干渉を抑えたい軸に伝え、干渉により発生すると予測されるトルクを計算し、これを打ち消す補正機能である。
【０００５】
このような補正機能を備える位置決め装置が特許文献１に開示されている。特許文献１では、可動体を第１方向に駆動する第１アクチュエータと、可動体を第２方向に駆動する第２アクチュエータを備え、制御系が第１アクチュエータによって可動体を第１方向に駆動する際に可動体に作用する第２方向の力を低減するように第２アクチュエータを制御している。このため、特許文献１に開示の位置決め装置では、可動体を目標方向に駆動する際に可動体に作用し得る他の方向の力を低減することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−０８７３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、力学的干渉がないように設計された機械であっても、大型機など剛性が比較的低い機械の場合、ある軸の加速が他の軸に影響を与える場合がある。例えば、図２に示すように、位置決め対象９４を備えるＸ軸９５がＺ軸９６の方向に加速を行った場合に、Ｚ軸加速度に比例する位置偏差がＸ軸９５の上の位置決め対象９４に発生して、位置決め対象９４の位置決めに影響する場合がある。ここで発生する影響は、機械のねじれ（弾性変形）によると推定され、移動する軸の加速度に比例した位置偏差が他の軸に出てしまうという課題がある。
【０００８】
本発明は、複数の軸がモータ制御装置によって駆動制御される機械において、ある軸の移動加速度が他の軸の位置偏差として現れる軸間干渉を補正することが可能なモータ制御装置、即ち、加速度に比例した位置偏差を補正可能なモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために本発明は、モータで駆動される複数の軸を備え、少なくとも１つの軸が駆動された時に、他の軸が駆動された軸によって軸間干渉を受ける環境において、複数の軸を制御するモータ制御装置であって、複数の軸毎に軸の移動を制御する制御部と制御部間でデータを送受信する通信手段とを備え、各制御部には、駆動する軸への位置指令値を作成する位置指令作成部と、軸の位置を検出する位置検出器と、位置指令作成部からの位置指令値と位置検出器からの位置フィードバック信号から速度指令値を作成する速度指令作成部と、各軸の加速度を演算する加速度演算部と、他の軸の加速度が入力された時に自己の軸の位置指令値を補正する位置補正量を演算する位置補正量演算部とが備えられ、通信手段は、各制御部で生成された位置指令値、加速度演算部によって演算された加速度、及び位置補正量演算部で演算された位置補正量の何れかを、他の制御部に伝え、位置補正量演算部は、位置補正量を、他の軸の加速度に補正ゲインを乗算して求めることを特徴とするモータ制御装置が提供される。
【発明の効果】
【００１０】
本発明のモータ制御装置によれば、複数の軸がモータ制御装置によって駆動制御される機械において、ある軸の移動加速度が他の軸の位置偏差として現れる軸間干渉を補正することが可能になるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】複数の制御軸を備えた工作機械における軸間干渉を説明する図である。
【図２】２つの軸で位置決め対象の位置を制御する系における、移動する軸によって生じる位置決め対象の位置偏差を説明する図である。
【図３】本発明の第１の形態のモータ制御装置の基本構成を示す構成図である。
【図４】図３に示したモータ制御装置における第１の実施例の構成を示すブロック図である。
【図５】図４に示したモータ制御装置の制御手順を示すフローチャートである。
【図６】図３に示したモータ制御装置における第１の実施例の変形例の構成を示すブロック図である。
【図７】図３に示したモータ制御装置における第１の実施例の別の変形例の構成を示すブロック図である。
【図８】図３に示したモータ制御装置における第２の実施例の構成を示すブロック図である。
【図９】図３に示したモータ制御装置における第３の実施例の構成を示すブロック図である。
【図１０】本発明の第２の形態のモータ制御装置の構成を示すブロック図である。
【図１１】図１０に示したモータ制御装置の制御手順を示すフローチャートである。
【図１２】（ａ）は図３に示した第１の制御部の内部構成の一例を示すブロック図、（ｂ）は図３に示した第２の制御部の内部構成の一例を示すブロック図である。
【図１３】本発明の第３の形態のモータ制御装置の基本構成を示す構成図である。
【図１４】図１３に示した第３の制御部の内部構成の一例を示すブロック図である。
【図１５】図１３に示したモータ制御装置における第２の制御部と第３の制御部の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を用いて本発明の実施の形態を、具体的な実施例に基づいて詳細に説明する。以下に説明する実施例では、少なくとも２つのモータでそれぞれ駆動される軸を備え、１つの軸が駆動された時に、他の軸が１つの軸が駆動されたことによって軸間干渉を受ける環境の中で、位置決め対象物の位置決めをモータで制御するモータ制御装置を説明する。なお、位置決め対象物の位置決めを行うモータの数は限定されるものではないが、ここでは説明を簡単にするために、位置決め対象物がモータで駆動される第１と第２の軸で位置決めされる場合について説明する。
【００１３】
図３は、本発明のモータ制御装置１０の基本的な構成を示すものであり、モータ制御装置１０によって位置決めされる位置決め対象は工作機械３０であるとする。そして、工作機械３０は、水平方向移動部３１と垂直方向移動部３２を備えているものとする。水平方向移動部３１は第１の軸１に螺合しており、第１の軸１が第１のサーボモータ３に駆動されて回転すると、水平方向に移動する。また、垂直方向移動部３２は第２の軸２に螺合しており、第２の軸２が第２のサーボモータ４に駆動されて回転すると、水平方向移動部３１の長手方向に沿って垂直方向に移動する。第１と第２のサーボモータ３，４には、それぞれロータリーエンコーダ５，６が取り付けられている。更に、本実施例では、水平方向移動部３１に、加速度検出器３９が取り付けられている。
【００１４】
一方、モータ制御装置１０の内部には、第１と第２のサーボモータ３，４毎に位置指令値を生成する第１の制御部４１と第２の制御部４２及び第１と第２の制御部４１，４２の間でデータを送受信する通信手段１６が設けられている。ここで、第１の制御部４１と第２の制御部４２の内部構成の一例を、図１２（ａ）、（ｂ）を併用して説明する。第１の制御部４１には、図１２（ａ）に示すように、第１のサーボモータ駆動用の速度指令作成部１１、加速度演算部１４、位置補正量演算部１５及び位置指令作成部１９が設けられている。加速度演算部１４は、軸１の加速度を演算する。また、位置補正量演算部１５は、軸２の加速度が入力された時に、軸１の位置を補正する位置補正量を演算する。位置指令作成部１９は、軸１への位置指令値を生成する。
【００１５】
同様に、第２の制御部４２には、図１２（ｂ）に示すように、第２のサーボモータ駆動用の速度指令作成部１２、位置補正量演算部１５、加速度演算部１４及び位置指令作成部１９が設けられている。加速度演算部１４は、軸２の加速度を演算する。また、位置補正量演算部１５は、軸１の加速度が入力された時に、軸２の位置を補正する位置補正量を演算する。位置指令作成部１９は、軸２への位置指令値を生成する。
【００１６】
なお、本実施例では、速度指令作成部１１、１２と、第１と第２のサーボモータ３，４の間には、それぞれアンプ７，８が設けられている。アンプ７，８は、モータ制御装置１０の内部に設けられていても良い。第１と第２のサーボモータ駆動用の速度指令作成部１１、１２は、位置指令作成部１９からの位置指令値に、第１と第２の軸１，２からの位置フィードバック情報を加味して第１と第２の軸１，２をフィードバック制御する。位置フィードバック情報は、第１と第２のサーボモータ３，４にあるロータリーエンコーダ５，６から送られてくる。
【００１７】
加速度演算部１４は、第１の軸１が駆動された時の、水平方向移動部３１の水平方向の加速度を演算する。通信手段１６は、加速度演算部１４で演算された水平方向移動部３１の水平方向の加速度を位置補正量演算部１５に伝える。位置補正量演算部１５は入力された加速度に基づき、第２の軸２の位置補正量を演算し、演算した第２の軸２の位置補正量を、位置指令作成部１９から第２のサーボモータ駆動用の速度指令作成部１２に送られる第２の軸２の位置指令値に加算する。
【００１８】
図３に示したモータ制御装置１０は、本発明の第１の形態を示しており、第１の軸１の加速度が入力された図１２（ｂ）に示す位置補正量演算部１５において、第１の軸１の加速度に補正ゲインを乗じて位置補正量を演算し、これを第２の軸の位置指令値に加えて補正している点に特徴がある。また、図３に示したモータ制御装置１０では、通信手段１６は図１２（ａ）、（ｂ）に示す加速度演算部１４からの信号を位置補正量演算部１５に伝えているが、通信手段１６の位置は、必ずしも加速度演算部１４と位置補正量演算部１５の間でなくても良く、幾つかの実施例が可能である。そこで、加速度演算部１４、位置補正量演算部１５及び通信手段１６の配置を異ならせた実施例、及び加速度演算部１４による加速度の演算方法を異ならせた幾つかの実施例を、図４から図９を用いて説明する。
【００１９】
（第１の実施例：通信手段が送受信するデータが指令加速度の場合）
図４は、通信手段１６が送信するデータが、指令加速度の場合の実施例の構成を示すものであり、図３に示したモータ制御装置１０の内部の構成を示している。第１の実施例では、モータ制御装置１０の内部にある、第１の制御部４１で軸１の処理が行われ、第２の制御部４２で軸２の処理が行われる。なお、図１２に示したように、第１の制御部４１と第２の制御部４２には、それぞれ加速度演算部１４、位置補正量演算部１５及び位置指令作成部１９があるが、以後の説明では、動作していない部材の図示は省略してある。
【００２０】
軸１の処理は、第１の制御部４１にある第１のサーボモータ駆動用の速度指令作成部１１と加速度演算部１４によって行われる。第１のサーボモータ駆動用の速度指令作成部１１は、図３に示した位置指令作成部１９からの位置指令値に基づいて第１の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部からアンプ７の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とがある。トルク指令作成部と電圧指令作成部とにより、第１のサーボモータ３が速度指令値と一致する速度になるように制御される。位置フィードバック信号は、ロータリーエンコーダ５から送られてくる。また、加速度演算部１４は、位置指令作成部１９からの第１の軸１の位置指令値に基づいて、第１の軸の加速度を演算し、これを指令加速度として通信手段１６に出力する。そして、通信手段１６は、加速度演算部１４から入力された指令加速度を第２の制御部４２にある位置補正量演算部１５に送信する。
【００２１】
第２の制御部４２では、通信手段１６から入力された指令加速度に基づいて軸２の処理が行われる。軸２の処理は、第２のサーボモータ駆動用の速度指令作成部１２と位置補正量演算部１５によって行われる。位置補正量演算部１５は、第２の軸２の位置補正量を演算する。図３に示したように、第１の軸１が駆動されて、水平方向移動部３１が第１の軸１に沿って水平方向に移動すると、第２の軸２と一緒に垂直方向移動部３２全体が、水平方向移動部３１の水平方向への移動における加速度の影響を受ける。第２の制御部４２にある位置補正量演算部１５は、加速度演算部１４から通信手段１６を通じて入力された指令加速度により、第２の軸２の位置補正量を演算する。第２の軸２の位置補正量は、位置補正量演算部１５が指令加速度に補正ゲインを乗算することによって演算する。補正ゲインは、係数であり、定数である。補正ゲインは典型的に１０〜１００μｍ／（ｍ／ｓ2）である。補正ゲインを定数とすることにより、位置補正量（＝補正ゲイン×加速度）は加速度に比例する。
【００２２】
第２の制御部４２における軸２の処理では、位置補正量演算部１５によって演算された位置補正量が、位置指令作成部１９からの位置指令値に加算されて位置指令値が補正される。補正された位置指令値は、第２のサーボモータ駆動用の速度指令作成部１２に入力される。速度指令作成部１２は、位置補正量で補正された位置指令値に基づいて第２の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部１２からアンプ８の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とを有する。トルク指令作成部と電圧指令作成部とにより、第２のサーボモータ４が速度指令値と一致する速度になるように制御される。
【００２３】
図５は、図４に示したモータ制御装置１０の第１の実施例における制御手順を示すフローチャートである。本実施例では、まず、第１の制御部の加速度演算部が第１の軸（図には軸１と記載）の加速度を演算し（ステップ５０１）、通信手段が加速度演算部で演算された第１の軸の加速度を、第２の制御部の位置補正量演算部へ送信する（ステップ５０２）。通信手段のこの処理により、第２の制御部の位置補正量演算部が通信手段から第１の軸の加速度を受信する（ステップ５０３）。第１の軸の加速度を受信した位置補正量演算部は、加速度に補正ゲインを乗算して第２の軸の位置補正量を演算する（ステップ５０４）。
【００２４】
第２の制御部の位置補正量演算部で演算された第２の軸の補正量は、位置指令作成部から送られてくる第２の軸の位置指令値に加算され、第２の軸の位置指令値が補正される（ステップ５０５）。
【００２５】
以上説明した第１の実施例では、第１の制御部４１の加速度演算部１４が、位置指令作成部１９からの第１の軸１の位置指令値に基づいて第１の軸の加速度を演算し、これを指令加速度として通信手段１６に出力していた。一方、第１の軸の加速度は、位置指令作成部１９からの第１の軸１の位置指令値に基づいて演算する以外にも取得する方法がある。その方法を図６及び図７を用いて説明する。
【００２６】
図６は、第１の実施例のモータ制御装置１０の変形例の構成を示すものであり、第１の制御部４１の加速度演算部１４が、第１の軸１の位置フィードバック情報に基づいて、第１の軸１の加速度を演算している。この場合、加速度演算部１４における演算の結果得られるのは、第１の軸１の実加速度である。第１の軸１の実加速度が加速度演算部１４から通信手段１６に送られた後の、第２の制御部４２における処理は第１の実施例と同じであるので、以後の説明を省略する。
【００２７】
図７は、第１の実施例のモータ制御装置１０の変形例の構成を示すものであり、第１の制御部４１の加速度演算部１４が、第１の軸１に取り付けられた加速度検出器３９からの信号に基づいて、第１の軸１の加速度を演算している。ここでは、加速度検出器３９によって得られた第１の軸１の加速度を機械加速度と言う。この場合、加速度演算部１４において演算の結果得られるのは、第１の軸１の機械加速度である。第１の軸１の機械加速度が加速度演算部１４から通信手段１６に送られた後の、第２の制御部４２における処理は第１の実施例と同じであるので、以後の説明を省略する。
【００２８】
（第２の実施例：通信手段が送受信するデータが位置指令値の場合）
図８は、第１の制御部４１から通信手段１６が送信するデータが、位置指令作成部から送られてくる第１の軸の位置指令値の場合の実施例の構成を示すものである。第２の実施例では、通信手段１６の入力側にある第１の制御部４１で軸１の処理が行われ、通信手段１６の出力側にある第２の制御部４２で軸２の処理が行われる。
【００２９】
軸１の処理では、第１の軸の制御が第１のサーボモータ駆動用の速度指令作成部１１によって行われる。第１のサーボモータ駆動用の速度指令作成部１１は、図３に示した位置指令作成部１９からの位置指令値に基づいて第１の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部からアンプ７の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とがある。トルク指令作成部と電圧指令作成部とにより、第１のサーボモータ３が速度指令値と一致する速度になるように制御される。また、位置指令作成部１９からの位置指令値は、分岐されて通信手段１６に入力される。通信手段１６は入力された第１の軸の位置指令値を、軸２の処理を行う第２の制御部４２にある加速度演算部１４に伝える。
【００３０】
軸２の処理は、第２の制御部４２にある加速度演算部１４、位置補正量演算部１５及び速度指令作成部１２によって行われる。加速度演算部１４は、通信手段１６から送られてきた第１の軸１の位置指令値に基づいて、第１の軸の加速度を演算し、これを指令加速度として位置補正量演算部１５に入力する。位置補正量演算部１５は、加速度演算部１４から入力された指令加速度により、第２の軸２の位置補正量を演算する。第２の軸２の位置補正量は、位置補正量演算部１５が指令加速度に補正ゲインを乗算することによって演算する。
【００３１】
軸２の処理では、位置補正量演算部１５によって演算された位置補正量が、位置指令作成部１９からの位置指令値に加算されて位置指令値が補正される。位置補正量によって補正された位置指令値は、第２のサーボモータ駆動用の速度指令作成部１２に入力される。速度指令作成部１２は、位置補正量によって補正された位置指令値に基づいて第２の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部からアンプ８の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とを有する。トルク指令作成部と電圧指令作成部とにより、第２のサーボモータ４が速度指令値と一致する速度になるように制御される。
【００３２】
（第３の実施例：通信手段が送受信するデータが位置補正量の場合）
図９は、通信手段１６が送信するデータが、位置補正量演算部１５から送られてくる位置補正量の場合の実施例の構成を示すものであり、図３に示したモータ制御装置１０の内部の構成を示している。第３の実施例でも、モータ制御装置１０の内部で、通信手段１６の入力側で軸１の処理が行われ、通信手段１６の出力側で軸２の処理が行われる。
【００３３】
軸１の処理は、第１の制御部４１にある第１のサーボモータ駆動用の速度指令作成部１１、加速度演算部１４及び位置補正量演算部１５によって行われる。第１のサーボモータ駆動用の速度指令作成部１１は、図１２（ａ）に示した位置指令作成部１９からの位置指令値に基づいて第１の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部からアンプ７の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とを有する。トルク指令作成部と電圧指令作成部とにより、第１のサーボモータ３が速度指令値と一致する速度になるように制御される。
【００３４】
また、加速度演算部１４は、位置指令作成部１９からの第１の軸１の位置指令値に基づいて、第１の軸の加速度を演算し、これを指令加速度として位置補正量演算部１５に送る。位置補正量演算部１５は、加速度演算部１４から入力された指令加速度により、第２の軸２の位置補正量を演算する。第２の軸２の位置補正量は、位置補正量演算部１５が指令加速度に補正ゲインを乗算することによって演算する。位置補正量演算部１５は演算した第２の軸２の位置補正量を通信手段１６に送る。
【００３５】
すると、通信手段１６は、第１の制御部４１の位置補正量演算部１５から入力された位置補正量を第２の制御部４２に送る。第２の制御部４２における軸２の処理では、入力された位置補正量を位置指令作成部１９からの位置指令値に加算して位置指令値を補正する。位置補正量によって補正された位置指令値は、第２のサーボモータ駆動用の速度指令作成部１２に入力される。速度指令作成部１２は、位置補正量が加算されて補正された位置指令値に基づいて第２の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部からアンプ８の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とがある。トルク指令作成部と電圧指令作成部とにより、第２のサーボモータ４が速度指令値と一致する速度になるように制御される。
【００３６】
以上説明した第１から第３の実施例のように、加速度演算部１４と位置補正量演算部１５は、第１の軸１の処理を行う第１の制御部４１にも第２の軸２の処理を行う第２の制御部４２の何れの側にもある。よって、処理に応じて、第１の制御部４１と第２の制御部４２にある加速度演算部１４と位置補正量演算部１５の何れかが使用されれば良い。このため、通信手段１６が伝える情報も、位置指令値、指令加速度、位置補正量のいずれであっても良い。
【００３７】
図１０に示したモータ制御装置１０は、本発明の第２の形態を示しており、フィードフォワード制御が採用された形態である。本形態でも、軸１の処理が第１の制御部４１で行われ、第２の処理が第２の制御部４２で行われる。モータ制御系におけるフィードフォワード制御では、位置指令値を指令する際に、その微分を速度指令値に加算することにより、位置フィードバック値が位置指令値へ収束するまでの時間を短縮できる。第２の形態では、第１の軸の加速度に比例した補正ゲインで第２の軸の位置指令値を補正すると共に、第１の軸の加速度の微分である加加速度で第２の軸の速度指令値を補正することで、第１の軸の加速度に比例する第２の軸の位置補正量が位置フィードバック値へ反映されるまでの時間を短縮している。加加速度は、第１の軸の加速度の変化量を示すものである。
【００３８】
このため、第２の形態では、第１の制御部４１は、位置指令値と位置フィードバック値から速度指令値を作成する速度指令作成部１１と速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部１１Ｂを有している。公知の技術のため図示は省略したが、トルク指令作成部１１Ｂからアンプ７の間には、通常、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部があり、電圧指令作成部により、第１のサーボモータ３がトルク指令値と一致する電流がモータに流れるようにアンプ７が制御される。
【００３９】
第２の形態では、第１の形態の第１の実施例と同様に、第１の軸の位置指令値が加速度演算部１４に送られ、第１の軸の加速度が演算されて指令加速度として出力される。第２の形態では、加速度演算部１４で演算された第１の軸の加速度が、通信手段１６に送られる。通信手段１６は、第１の軸の加速度を指令加速度として第２の制御部４２の位置補正量演算部１５に送ると共に、加加速度演算部１７に送る。第２の形態では、モータ制御装置１０において軸２の処理を行う第２の制御部は、速度指令作成部１２Ａと速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部１２Ｂとを有する。
【００４０】
位置補正量演算部１５では、第２の軸の位置補正量が演算され、この位置補正量が第２の軸の位置指令値に加算されて速度指令作成部１２Ａに入力される。速度指令作成部１２Ａは、図１２（ｂ）に示した位置指令作成部１９からの位置指令値が位置補正量演算部１５からの位置補正量で補正された位置指令値と、第２のサーボモータ４からの位置フィードバック信号に基づいて第２の軸の速度指令値を演算し、演算した速度指令値をトルク指令作成部１２Ｂに送る。
【００４１】
一方、加速度演算部１４で演算された第１の軸の加速度が入力される加加速度演算部１７では、第１の軸の加速度の変化量である第１の軸の加加速度が演算される。第１の軸の加加速度は加加速度演算部１７から速度補正量演算部１８に入力され、第２の軸の速度補正量が演算される。速度補正量演算部１８は、位置補正量演算部１５と同様に、第２の軸の速度補正量を、加加速度演算部１７からの指令加加速度に補正ゲインを乗算することによって演算する。
【００４２】
第２の軸の速度補正量は、速度指令作成部１２Ａから出力された第２の軸の速度指令値に加算されて、トルク指令作成部１２Ｂに入力される。トルク指令作成部１２Ｂは、速度補正量で補正された速度指令値と、第２のサーボモータ４からの速度フィードバック信号に基づいて第２の軸のトルク指令値を演算する。公知の技術のため図示は省略したが、トルク指令作成部からアンプ８の間には、通常、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部があり、電圧指令作成部により、第２のサーボモータ４にトルク指令値と一致する電流が流れるようにアンプ８が制御される。
【００４３】
図１１は、図１０に示したモータ制御装置１０の制御手順を示すフローチャートである。本実施例では、まず、第１の制御部の加速度演算部が第１の軸（図には軸１と記載）の加速度を演算し（ステップ１１１）、通信手段が加速度演算部で演算された第１の軸の加速度を、第２の制御部の位置補正量演算部へ送信する（ステップ１１２）。通信手段のこの処理により、位置補正量演算部が通信手段から第１の軸の加速度を受信する（ステップ１１３）。第１の軸の加速度を受信した位置補正量演算部は、加速度に第１の補正ゲイン（図には補正ゲイン１と記載）を乗算して第２の軸の位置補正量を演算する（ステップ１１４）。
【００４４】
位置補正量演算部で演算された第２の軸の補正量は、位置指令作成部から送られてくる第２の軸の位置指令値に加算され、第２の軸の位置指令値が補正される（ステップ１１５）。速度指令作成部は、補正された第２の軸の位置指令値と位置フィードバック値とから速度指令値を作成する。（ステップ１１６）。
【００４５】
一方、加加速度演算部では、通信手段から送られた第１の軸の加速度に基づいて、第１の軸の加加速度を演算し（ステップ１１７）、演算した第１の軸の加加速度を速度補正量演算部に入力する。第１の軸の加加速度が入力された速度補正量演算部では、第１の軸の加加速度に第２の補正ゲイン（図には補正ゲイン２と記載）を乗算して第２の軸の速度補正量を演算する（ステップ１１８）。速度補正量演算部が演算した第２の軸の速度補正量は、速度指令作成部から出力される速度指令値に加算され、第２の軸の速度指令値が補正される（ステップ１１９）。
【００４６】
このようにして、補正された第２の軸の速度指令値は、第２の軸のトルク指令作成部に入力される。そして、第２の軸のトルク指令作成部は、補正された第２の軸の速度指令値と第２のサーボモータ４からの速度フィードバック信号に基づいて第２の軸のトルク指令値を演算する。トルク指令値とモータの電流フィードバック値とが一致するように電圧指令作成部によりアンプへの指令が行われる。
【００４７】
図１０に示した第２の形態では、通信手段１６は第１の形態の第１の実施例と同様に、第１の制御部４１の加速度演算部１４で演算された指令加速度を、第２の制御部４２の位置補正量演算部１５と加加速度演算部１７に伝えている。しかし、加速度演算部１４は、第１の制御部４１にあるものを使用せず、第２の制御部４２の加速度演算部１４を使用しても良い。この場合は、第１の形態の第２の実施例のように、通信手段１６の後段に加速度演算部１４が位置することになる。
【００４８】
図１３は本発明の第３の形態のモータ制御装置５０の基本構成を示す構成図であり、図３に示した第１の形態のモータ制御装置１０に対して、制御する軸が増えている。即ち、第３の形態のモータ制御装置５０によって制御される工作機械６０には、位置決めされる位置決め対象として３つの軸が備えられているとする。なお、説明を分かり易くするために、３つの軸を備えた工作機械６０において、図３に示した第１の形態のモータ制御装置１０によって制御される２つの軸を備えた工作機械３０と同じ構成部材には同じ符号を付して説明する。
【００４９】
第３の形態のモータ制御装置５０によって位置決めされる３つの軸を備えた工作機械６０には、水平方向移動部３１と垂直方向移動部３２及び移動台４０が備えられている。水平方向移動部３１は移動台４０の上で第１の軸１に螺合しており、第１の軸１が第１のサーボモータ３に駆動されて回転すると、移動台４０の上を水平方向、例えばＸ方向に移動する。また、垂直方向移動部３２は第２の軸２に螺合しており、第２の軸２が第２のサーボモータ４に駆動されて回転すると、水平方向移動部３１の長手方向に沿って垂直方向に移動する。
【００５０】
移動台４０は第３の軸３３が螺合しており、第３の軸３３が第３のサーボモータ５３に駆動されて回転すると、移動台４０がＸ方向に対して直交するＹ方向に移動する。通常、第１の軸と第３の軸とは垂直である。第１、第２及び第３のサーボモータ３，４、５３には、それぞれロータリーエンコーダ５，６、５７が取り付けられている。
【００５１】
モータ制御装置５０の内部には、第１と第２及び第３のサーボモータ３，４、５３の各個毎に位置指令値を生成する第１の制御部４１、第２の制御部４２及び第３の制御部４３と、第１と第２の制御部４１，４２の間及び第２と第３の制御部４２，４３の間でデータを送受信する通信手段１６が設けられている。通信手段１６は第１と第２の制御部４１，４２の間及び第２と第３の制御部４２，４３の間の両方でデータを送信できる。また、通信手段１６は、破線で示す経路のように、第１と第３の制御部４１，４３の間でデータを送信することもできる。
【００５２】
図１３に示したモータ制御装置５０における第１の制御部４１と第２の制御部４２の構造及び動作は、図１２（ａ）、（ｂ）で説明した構造と同じである。また、第３の制御部４３の構造は図１４に示す通りであり、第３のサーボモータ駆動用の速度指令作成部１３、位置補正量演算部１５、加速度演算部１４及び位置指令作成部１９が設けられている。加速度演算部１４は、軸３の加速度を演算する。また、位置補正量演算部１５は、軸１又は軸２の加速度が入力された時に、軸３の位置を補正する位置補正量を演算する。位置指令作成部１９は、軸３への位置指令値を生成する。
【００５３】
本実施例では、速度指令作成部１１、１２、１３と、第１、第２及び第３のサーボモータ３，４、５３の間には、それぞれアンプ７，８、９が設けられている。アンプ７，８、９は、モータ制御装置５０の内部に設けられていても良い。第１、第２及び第３のサーボモータ駆動用の速度指令作成部１１、１２、１３の各個は、位置指令作成部１９からの位置指令値に位置補正量演算部で演算した位置補正量を加算した位置指令値と、位置フィードバック値とから速度指令値を作成する。公知の技術のため図示は省略したが、速度指令作成部からアンプの間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とを有する。トルク指令作成部と電圧指令作成部とにより、サーボモータが速度指令値と一致する速度になるように制御される。なお、位置フィードバック値は、第１、第２及び第３のサーボモータ３，４，５３にあるロータリーエンコーダ５，６、５７から送られてくる。
【００５４】
図１３に示したモータ制御装置５０における第１の制御部４１と第２の制御部４２との間の通信手段１６によるデータの送受信は、例えば、図１２（ａ）、（ｂ）に示す構成で、図４で説明したように行うことができるので、ここではその説明を省略する。一方、第２の制御部４２と第３の制御部４３とのデータの送信は、例えば、図４に示した構成と同様の、図１５に示す構成によって行うことができる。
【００５５】
図１５に示す構成では、第３の軸３３の加速度が入力された位置補正量演算部１５において、第３の軸３３の加速度に補正ゲインを乗じて位置補正量を演算し、これを第２の軸２の位置指令値に加えて補正する。また、図１３に示したモータ制御装置５０では、通信手段１６は図１５に示す加速度演算部１４からの信号を位置補正量演算部１５に伝えているが、通信手段１６の位置は、必ずしも加速度演算部１４と位置補正量演算部１５の間でなくても良い。加速度演算部１４、位置補正量演算部１５及び通信手段１６の配置を異ならせた実施例、及び加速度演算部１４による加速度の演算方法異ならせた幾つかの実施例については既に説明したので、ここではその説明を省略し、図１５の構成の動作についてのみ説明する。
【００５６】
図１５は、通信手段１６が送信するデータが、指令加速度の場合の実施例の構成を示すものであり、図１３に示したモータ制御装置５０の第２の制御部４２と第３の制御部４３の間の処理について示している。本実施例では、モータ制御装置５０の内部にある、第２の制御部４２で軸２の処理が行われ、第３の制御部４３で軸３３の処理が行われる。なお、図１４に示したように、第２の制御部４２と第３の制御部４３には、それぞれ位置指令作成部１９、加速度演算部１４及び位置補正量演算部１５があるが、動作していない部材の図示は省略してある。
【００５７】
軸３の処理は、第３の制御部４３にある第３のサーボモータ駆動用の速度指令作成部１３と加速度演算部１４によって行われる。第３のサーボモータ駆動用の速度指令作成部１３は、図１４に示した位置指令作成部１９からの位置指令値と位置フィードバック信号に基づいて第３の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部からアンプ９の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とがある。トルク指令作成部と電圧指令作成部とにより、第３のサーボモータ５３が速度指令値と一致する速度になるように制御される。位置フィードバック信号は、ロータリーエンコーダ５７から送られてくる。また、加速度演算部１４は、位置指令作成部１９からの第３の軸３３の位置指令値に基づいて、第３の軸の加速度を演算し、これを指令加速度として通信手段１６に出力する。そして、通信手段１６は、加速度演算部１４から入力された指令加速度を第２の制御部４２にある位置補正量演算部１５に送信する。
【００５８】
第２の制御部４２では、通信手段１６から入力された指令加速度に基づいて軸２の処理が行われる。軸２の処理は、第２のサーボモータ駆動用の速度指令作成部１２と位置補正量演算部１５によって行われる。位置補正量演算部１５は、第２の軸２の位置補正量を演算する。図１３に示したように、第３の軸３３が駆動されて、移動台４０が第３の軸３３に沿って水平方向に移動すると、垂直方向移動部３２が、移動台４０の水平方向への移動における加速度の影響を受ける。第２の制御部４２にある位置補正量演算部１５は、加速度演算部１４から通信手段１６を通じて入力された指令加速度により、第２の軸２の位置補正量を演算する。第２の軸２の位置補正量は、位置補正量演算部１５が指令加速度に補正ゲインを乗算することによって演算する。補正ゲインは、係数であり、定数である。補正ゲインを定数とすることにより、位置補正量（＝補正ゲイン×加速度）は加速度に比例する。
【００５９】
第２の制御部４２における軸２の処理では、位置補正量演算部１５によって演算された位置補正量が、位置指令作成部１９からの位置指令値に加算されて位置指令値が補正される。補正された位置指令値は、第２のサーボモータ駆動用の速度指令作成部１２に入力される。速度指令作成部１２は、位置補正量で補正された位置指令値に基づいて第２の軸の速度指令値を演算する。公知の技術のため図示は省略したが、速度指令作成部からアンプ８の間には、通常、速度指令値と速度フィードバック値とからトルク指令値を作成するトルク指令作成部と、トルク指令値と電流フィードバック値とからアンプへ出力する電圧指令を作成する電圧指令作成部とがある。トルク指令作成部と電圧指令作成部とにより、第２のサーボモータ４が速度指令値と一致する速度になるように制御される。
【００６０】
以上説明した第３の形態のモータ制御装置５０では、通信手段１６を用いた実線で示す通信経路における、第１の制御部４１と第２の制御部４２の間の軸間干渉の補正処理と、第２の制御部４２と第３の制御部４３の間の軸間干渉の補正処理について説明した。一方、通信手段１６は、図１３に破線で示す経路のように、第１と第３の制御部４１，４３の間でデータを送信することもできるので、説明は省略するが、第３の形態のモータ制御装置５０では、第１の制御部４１と第３の制御部４３の間の軸間干渉の補正処理も可能である。
【符号の説明】
【００６１】
１    第１の軸
２    第２の軸
３    第１のサーボモータ
４    第２のサーボモータ
５，６，５７    ロータリーエンコーダ
１０、５０    モータ制御装置
１１、１２、１３    速度指令作成部
１４    加速度演算部
１５    位置補正量演算部
１６    通信手段
１７    加加速度演算部
１８    速度補正量演算部
１９    位置指令作成部
３０、６０    工作機械
３１    水平方向移動部
３２    垂直方向移動部
３３    第３の軸
３９    加速度検出器
４０    移動台
４１    第１の制御部
４２    第２の制御部
４３    第３の制御部
５３    第３のサーボモータ
【図１】
0005919346.tif 000002
【図２】
0005919346.tif 000003
【図３】
0005919346.tif 000004
【図４】
0005919346.tif 000005
【図５】
0005919346.tif 000006
【図６】
0005919346.tif 000007
【図７】
0005919346.tif 000008
【図８】
0005919346.tif 000009
【図９】
0005919346.tif 000010
【図１０】
0005919346.tif 000011
【図１１】
0005919346.tif 000012
【図１２】
0005919346.tif 000013
【図１３】
0005919346.tif 000014
【図１４】
0005919346.tif 000015
【図１５】
0005919346.tif 000016