(57)【要約】【課題】サーボモータにより駆動される被駆動体の位置制度を高める。【解決手段】サーボ制御装置１００は、サーボモータ１と、被駆動体２と、サーボモータと被駆動体とに連結される連結機構３と、サーボモータ１を制御するモータ制御部１０とを備える。モータ制御部１０は、被駆動体２の位置指令値Ａ０を生成する位置指令生成部１１と、被駆動体２に作用する駆動力Ｔ１を推定する力推定部１７と、推定された駆動力Ｔ１に基づき、位置指令値Ａ０を補正する補正部１８，２１と、補正部１８，２１で補正された位置指令値Ａｘに基づき、サーボモータ１に制御信号を出力する制御信号出力部１３とを有する。【選択図】図１
2014109785.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータと、
該サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とに連結され、前記サーボモータを動力源として、前記被駆動体と前記連結機構との連結部において前記被駆動体に作用する駆動力を発生する連結機構と、
前記サーボモータを制御するモータ制御部とを備え、
前記モータ制御部は、
前記被駆動体の位置指令値を生成する位置指令生成部と、
前記連結部において前記被駆動体に作用する駆動力を推定する力推定部と、
前記力推定部により推定された駆動力に基づき、前記位置指令生成部により生成された位置指令値を補正する補正部と、
前記補正部により補正された位置指令値に基づき、前記サーボモータに制御信号を出力する制御信号出力部とを有することを特徴とするサーボ制御装置。
【請求項２】
請求項１に記載のサーボ制御装置において、
前記モータ制御部は、
前記サーボモータが発生するモータトルクを算出するモータトルク算出部と、
前記サーボモータおよび前記連結機構の駆動に要する必要トルクを算出する必要トルク算出部とをさらに有し、
前記力推定部は、前記モータトルク算出部により算出されたモータトルクと、前記必要トルク算出部により算出された必要トルクとに基づき、前記駆動力を推定することを特徴とするサーボ制御装置。
【請求項３】
請求項１に記載のサーボ制御装置において、
前記モータ制御部は、
前記サーボモータが発生するモータトルクを算出するモータトルク算出部と、
前記サーボモータおよび前記連結機構の加減速に要する加減速トルクを算出する加減速トルク算出部と、
前記サーボモータおよび前記連結機構に作用する外乱によって生じる外乱トルクを算出する外乱トルク算出部とをさらに有し、
前記力推定部は、前記モータトルク算出部により算出されたモータトルクと、前記加減速トルク算出部により算出された加減速トルクと、前記外乱トルク算出部により算出された外乱トルクとに基づき、前記駆動力を推定することを特徴とするサーボ制御装置。
【請求項４】
請求項１に記載のサーボ制御装置において、
前記モータ制御部は、前記サーボモータ、前記連結機構および前記被駆動体に作用する外乱によって生じる全体の外乱トルクを推定する外乱トルク推定部をさらに有し、
前記力推定部は、前記外乱トルク推定部により推定された外乱トルクに基づき、前記駆動力を推定することを特徴とするサーボ制御装置。
【請求項５】
請求項４に記載のサーボ制御装置において、
前記モータ制御部は、前記被駆動体の加減速に要する加減速トルクを算出する加減速トルク算出部をさらに有し、
前記力推定部は、前記外乱トルク推定部により推定された外乱トルクと、前記加減速トルク算出部により算出された加減速トルクとに基づき、前記駆動力を推定することを特徴とするサーボ制御装置。
【請求項６】
請求項４に記載のサーボ制御装置において、
前記モータ制御部は、
前記被駆動体の加減速に要する加減速トルクを算出する加減速トルク算出部と、
前記サーボモータおよび前記連結機構に作用する外乱によって生じる外乱トルクを算出する外乱トルク算出部とをさらに有し、
前記力推定部は、前記外乱トルク推定部により推定された外乱トルクと、前記加減速トルク算出部により算出された加減速トルクと、前記外乱トルク算出部により算出された外乱トルクとに基づき、前記駆動力を推定することを特徴とするサーボ制御装置。
【請求項７】
請求項１〜６のいずれか１項に記載のサーボ制御装置において、
前記補正部は、前記力推定部により推定された駆動力に、予め定めた定数を乗算して前記位置指令値を補正することを特徴とするサーボ制御装置。
【請求項８】
請求項１〜７のいずれか１項に記載のサーボ制御装置において、
前記補正部は、前記位置指令値の補正量を制限する補正量制限部を有することを特徴とするサーボ制御装置。
【請求項９】
請求項２または３に記載のサーボ制御装置において、
前記サーボモータの角度位置を検出する位置検出部と、
前記サーボモータの速度を検出する速度検出部とをさらに備え、
前記モータ制御部は、
前記位置指令生成部により生成された位置指令値と前記位置検出部により検出された位置検出値とに基づき、前記サーボモータの速度指令値を生成する速度指令生成部と、
前記速度指令生成部により生成された速度指令値と前記速度検出部により検出された速度検出値とに基づき、前記サーボモータのトルク指令値を生成するトルク指令生成部とをさらに有し、
前記モータトルク算出部は、前記トルク指令生成部により生成されたトルク指令値に基づき、前記モータトルクを算出することを特徴とするサーボ制御装置。
【請求項１０】
請求項２または３に記載のサーボ制御装置において、
前記サーボモータに流れる電流を検出する電流検出部をさらに備え、
前記モータトルク算出部は、前記電流検出部により検出された電流検出値に基づき、前記モータトルクを算出することを特徴とするサーボ制御装置。
【請求項１１】
請求項４〜６のいずれか１項に記載のサーボ制御装置において、
前記サーボモータの角度位置を検出する位置検出部と、
前記サーボモータの速度を検出する速度検出部とをさらに備え、
前記モータ制御部は、
前記位置指令生成部により生成された位置指令値と、前記位置検出部により検出された位置検出値とに基づき、前記サーボモータの速度指令値を生成する速度指令生成部と、
前記速度指令生成部により生成された速度指令値と、前記速度検出部により検出された速度検出値とに基づき、前記サーボモータのトルク指令値を生成するトルク指令生成部とをさらに有し、
前記外乱トルク推定部は、前記速度検出部により検出された速度検出値と、前記トルク指令生成部により生成されたトルク指令値とに基づき、前記外乱トルクを算出することを特徴とするサーボ制御装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載のサーボ制御装置において、
前記連結機構は、ボールねじ、減速機構、カップリングの少なくともいずれかを含むことを特徴とするサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータの動力により駆動する被駆動体の位置を補正する機能を有するサーボ制御装置に関する。
【背景技術】
【０００２】
従来より、位置指令値に応じて動作するサーボモータの位置指令値を補正して、サーボモータにより駆動される被駆動体の位置精度を高めるようにしたサーボ制御装置が知られている（例えば特許文献１参照）。この特許文献１記載の装置では、サーボモータが発生するトルクに相当するトルク指令値であるフィードバックトルク指令値とフィードフォワードトルク指令値とを加算した全トルク指令値に、所定の定数を乗算し、この乗算した信号を位置指令値に加算することで、位置指令値を補正する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３６２１２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１記載の装置は、サーボモータのトルク（全トルク指令値）に定数を乗算して位置指令値を補正するものであり、サーボモータと被駆動体との間の外乱（摩擦力等）を考慮していないため、外乱が大きく変化した場合に、位置指令値を精度よく補正することが困難である。
【課題を解決するための手段】
【０００５】
本発明の一態様であるサーボ制御装置は、サーボモータと、サーボモータにより駆動される被駆動体と、サーボモータと被駆動体とに連結され、サーボモータを動力源として、被駆動体と連結機構との連結部において被駆動体に作用する駆動力を発生する連結機構と、サーボモータを制御するモータ制御部とを備える。モータ制御部は、被駆動体の位置指令値を生成する位置指令生成部と、連結部において被駆動体に作用する駆動力を推定する力推定部と、力推定部により推定された駆動力に基づき、位置指令生成部により生成された位置指令値を補正する補正部と、補正部により補正された位置指令値に基づき、サーボモータに制御信号を出力する制御信号出力部とを有する。
【発明の効果】
【０００６】
本発明によれば、被駆動体に作用する駆動力を推定し、この駆動力に基づき被駆動体の位置指令値を補正するようにしたので、サーボモータと被駆動体との間の外乱に拘わらず、位置指令値を精度よく補正することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係るサーボ制御装置の概略構成を示す図。
【図２】本発明の第１の実施形態に係るサーボ制御装置を構成するモータ制御部の構成を示すブロック図。
【図３】図２のモータ制御部で実行される処理の一例を示すフローチャート。
【図４】図２の変形例を示す図。
【図５】本発明の第２の実施形態に係るサーボ制御装置を構成するモータ制御部の構成を示すブロック図。
【図６】図５のモータ制御部で実行される処理の一例を示すフローチャート。
【図７】本発明の第３の実施形態に係るサーボ制御装置を構成するモータ制御部の要部構成を示すブロック図。
【図８】図２の変形例を示す図。
【図９Ａ】図１の連結機構の変形例を示す図。
【図９Ｂ】図１の連結機構の変形例を示す図。
【発明を実施するための形態】
【０００８】
−第１の実施形態−
以下、図１〜図４を参照して本発明の第１の実施形態に係るサーボ制御装置について説明する。図１は、本発明の第１の実施形態に係るサーボ制御装置１００の概略構成を示す図である。ここでは、サーボ制御装置１００を工作機械、例えば立形マシニングセンタに適用した場合について説明する。
【０００９】
図１に示すように、サーボ制御装置１００は、サーボモータ１と、サーボモータ１により駆動されるテーブル２と、サーボモータ１とテーブル２とに連結され、サーボモータ１を動力源としてテーブル２の駆動力を発生する連結機構３と、サーボモータ１を制御するモータ制御部１０とを有する。テーブル２は、ガイド７に沿って矢印Ｘ方向に移動可能である。テーブル２上にはワークＷが搭載され、加工プログラムに従って図示しない主軸がテーブル２に対して相対移動することで、主軸先端部に取り付けられた工具により、ワークＷが加工される。なお、テーブル２にはナット６が一体に固定されており、以下、ナット６を含めてテーブル２と呼ぶこともある。
【００１０】
連結機構３は、サーボモータ１のロータ１ａの端部に連結されたカップリング４と、一端部がカップリング４に固定されたボールねじ５とを有し、ボールねじ５にナット６が螺合されている。モータ制御部１０は、テーブル２のＸ方向位置を指令する位置指令値に応じてサーボモータ１に制御信号を出力し、サーボモータ１（ロータ１ａ）を回転させる。サーボモータ１が回転すると、カップリング４を介してボールねじ５が回転し、ボールねじ５の軸方向（Ｘ方向）に沿ってナット６が移動する。すなわち、サーボモータ１の回転運動がボールねじ５により直線運動に変換される。これにより、テーブル２がＸ方向に移動し、テーブル２の位置が制御される。
【００１１】
サーボモータ１の駆動時には、連結機構３とテーブル２とに駆動力が作用し、これらは弾性変形するが、連結機構３はテーブル２と比較して剛性が低いため、全体の弾性変形のうち、連結機構３の弾性変形が大部分の割合を占める。連結機構３が弾性変形すると、サーボモータ１を指令値通りに回転させた場合であっても、テーブル２の位置に弾性変形量分の誤差が生じる。このため、この誤差を解消するために、連結機構３の弾性変形量分だけ位置指令値を補正する必要がある。連結機構３の弾性変形量は、テーブル２（ナット６）と連結機構３との連結部２ａにおいてテーブル２に作用する駆動力に比例し、駆動力は連結部２ａにおいて作用する駆動トルク（以下、テーブル駆動トルクＴ１と呼ぶ）により表すことができる。この点を考慮し、本実施形態では、後述するようにテーブル駆動トルクＴ１を推定し、テーブル駆動トルクＴ１に応じて位置指令値を補正する。
【００１２】
ところで、サーボモータ１の駆動時には、ロータ１ａ、連結機構３およびテーブル２に摩擦力などの外乱（外乱トルク）が作用する。この外乱トルクは、加工条件（ワークＷの相対移動速度や相対位置等）に応じて変化する。このため、サーボモータ１が発生するトルク（モータトルクＴ）に定数を乗じて位置指令値を補正する方法は、外乱トルクを考慮していないため、外乱トルクが変化した場合に、テーブル２の位置精度を高めることが困難である。これに対し、本実施形態のようにテーブル駆動トルクＴ１を基準にして位置指令値を補正する方法は、外乱トルクが変化した場合であっても、テーブル２の位置精度を高めることができる。以下、この点について説明する。
【００１３】
サーボモータ１の駆動時におけるテーブル駆動トルクＴ１とモータトルクＴとの関係は、次式(I)の通りである。
Ｔ１＝Ｔ−Ｔ２        ・・・(I)
上式(I)のＴ２は、サーボモータ１（ロータ１ａ）と連結機構３（カップリング４、ボールねじ５）とを駆動するために必要なトルク（必要トルク）であり、モータトルクＴから必要トルクＴ２を減算すると、テーブル駆動トルクＴ１となる。
【００１４】
必要トルクＴ２は、次式（II）に示すように、ロータ１ａ、カップリング４およびボールねじ５を加減速するために要するトルク（加減速トルクＴａ）と、ロータ１ａ，カップリング４およびボールねじ５の摩擦等によって生じる外乱トルクＴｂとを加算することにより求まる。
Ｔ２＝Ｔａ＋Ｔｂ      ・・・(II)
上式(I),(II)により、テーブル駆動トルクＴ１は次式(III)により表される。
Ｔ１＝Ｔ−Ｔａ−Ｔｂ      ・・・(III)
【００１５】
上式(III)より、テーブル駆動トルクＴ１は、ロータ１ａ、カップリング４およびボールねじ５の外乱トルクＴｂがパラメータとなる。また、テーブル２を加減速するために要する加減速トルクをＴｃ、テーブル２の摩擦等によって生じる外乱トルクをＴｄとすると、テーブル駆動トルクＴ１は次式(IV)によっても表される。
Ｔ１＝Ｔｃ＋Ｔｄ      ・・・(IV)
上式(IV)より、テーブル駆動トルクＴ１は、テーブル２の外乱トルクＴｄもパラメータとなる。以上より、テーブル駆動トルクＴ１を基準にして位置指令値の補正量を求めることで、外乱トルクＴｂ，Ｔｄを考慮した適切なテーブル２の位置補正が可能となる。
【００１６】
図２は、モータ制御部１０の構成を示すブロック図である。モータ制御部１０は、ＣＰＵ，ＲＯＭ，ＲＡＭ，その他の周辺回路などを有する演算処理装置を含んで構成される。図２に示すように、モータ制御部１０は、位置指令生成部１１と、速度指令生成部１２と、トルク指令生成部１３と、モータトルク算出部１４と、加減速トルク算出部１５と、外乱トルク算出部１６と、力推定部１７と、位置補正量算出部１８とを有する。
【００１７】
モータ制御部１０には、サーボモータ１の回転角度（角度位置ω）を検出するロータリーエンコーダなどの位置検出部３１と、サーボモータ１の回転速度ｖを検出する速度検出部３２とが接続されている。速度検出部３２は、位置検出部３１により検出された角度位置ωを１階微分することで回転速度ｖを取得する演算機能を有する。なお、回転速度ｖを直接検出する速度センサにより速度検出部３２を構成することもできる。また、速度検出部３２が回転速度Ｖを直接検出する速度センサにより構成されている場合、位置検出部３１は、速度検出部３２により検出された回転速度ｖを積分することで角度位置ωを取得してもよい。
【００１８】
位置指令生成部１１は、予め定められた加工プログラムに基づきテーブル２の位置指令値Ａ０を生成する。この位置指令値Ａ０は、加算器２１を介して補正される。すなわち、加算器２１は、位置指令値Ａ０に、位置補正量算出部１８により算出された位置補正量Ａ１を加算し、補正後の位置指令値Ａｘを出力する。
【００１９】
減算器２２は、位置検出部３１により検出されたサーボモータ１の角度位置ωを位置指令値Ａｘから減算し、位置偏差Ａｘ１を生成する。速度指令生成部１２は、この位置偏差Ａｘ１に応じた速度指令値Ｖｘを生成する。つまり、速度指令生成部１２は、位置指令値Ａ０と位置検出部３１により検出された角度位置ωとに基づき、加算器２１と減算器２２とを介してサーボモータ１の速度指令値Ｖｘを生成する。
【００２０】
減算器２３は、速度検出器３２により検出されたサーボモータ１の回転速度Ｖを速度指令値Ｖｘから減算し、速度偏差Ｖｘ１を出力する。トルク指令生成部１３は、この速度偏差Ｖｘ１に応じたトルク指令値Ｔ０を生成する。つまり、トルク指令生成部１３は、速度指令値Ｖｘと速度検出器３２により検出された回転速度Ｖとに基づき、減算器２３を介してサーボモータ１のトルク指令値Ｔ０を生成する。このトルク指令値Ｔ０に応じた制御信号はサーボモータ１に出力され、サーボモータ１が発生するトルク（モータトルクＴ）がトルク指令値Ｔ０となるようにサーボモータ１が制御される。
【００２１】
モータトルク算出部１４は、トルク指令値Ｔ０からモータトルクＴを算出する。トルク指令値Ｔ０とモータトルクＴとは等しいまたはほぼ等しいため、例えばトルク指令値Ｔ０がモータトルクＴとして算出される。
【００２２】
加減速トルク算出部１５は、サーボモータ１（ロータ１ａ）と連結機構３（カップリング４とボールねじ５）とを加減速するためのトルク（加減速トルクＴａ）を算出する。加減速トルクＴａは、ロータ１ａ、カップリング４およびボールねじ５のイナーシャＪ０に、サーボモータ１の角加速度ａ０を乗算することで算出される。イナーシャＪ０は、機械固有の値であり、モータ制御部１０のメモリに予め記憶されている。角加速度ａ０は、位置検出部３１により検出された角度位置ωを２階微分することにより算出、または、速度検出部３２により検出された回転速度Ｖを１階微分することにより算出される。
【００２３】
外乱トルク算出部１６は、サーボモータ１の駆動時に、サーボモータ１（ロータ１ａ）と連結機構３とに作用する外乱（摩擦）によって生じる外乱トルクＴｂを算出する。具体的には、速度検出部３２により検出された回転速度Ｖに、予め定められた定数ｋ１を乗算することで外乱トルクＴｂを算出する。定数ｋ１は、機械固有の値であり、予め実際に機械を動作させて、あるいはシミュレーション計算等により求められる。
【００２４】
力推定部１７は、モータトルク算出部１４より出力されたモータトルクＴと、加減速トルク算出部１５より出力された加減速トルクＴａと、外乱トルク算出部１６より出力された外乱トルクＴｂとに基づき、テーブル駆動トルクＴ１を推定する。すなわち、上式(III)に示すように、モータトルクＴから加減速トルクＴａと外乱トルクＴｂとを減算し、テーブル２に作用する正味のテーブル駆動トルクＴ１を算出する。
【００２５】
位置補正量算出部１８は、力推定部１７から出力されたテーブル駆動トルクＴ１に基づき、サーボモータ１の位置補正量Ａ１を算出する。具体的には、テーブル駆動トルクＴ１に予め定めた定数ｋ２を乗算することで、位置補正量Ａ１を算出する。定数ｋ２は、機械固有の値であり、予め実際に機械を動作させて、あるいはシミュレーション計算等により求められる。例えば、予めテーブル２を円運動させて、そのときのテーブル２またはワークＷの位置が位置指令値Ａｘに一致するように定数ｋ２を少しずつ変化させるという作業を行うことで、最適な定数ｋ２が求められる。
【００２６】
以上のモータ制御部１０における処理手順、とくに位置指令値Ａｘの算出手順をフローチャートにより説明する。図３は、第１の実施形態に係るモータ制御部１０で実行される処理の一例を示すフローチャートである。このフローチャートに示す処理は、例えばワークＷの加工指令が入力されると開始される。
【００２７】
ステップＳ１では、位置指令生成部１１で位置指令値Ａ０を生成する。ステップＳ２では、位置検出部３１により検出されたサーボモータ１の角度位置ωを読み込む。ステップＳ３では、位置指令値Ａ０と角度位置ωとに基づき、速度指令生成部１２でサーボモータ１の速度指令値Ｖｘを生成する。ステップＳ４では、速度検出部３２により検出されたサーボモータ１の回転速度Ｖを読み込む。ステップＳ５では、速度指令値Ｖｘと回転速度Ｖとに基づき、トルク指令生成部１３でトルク指令値Ｔ０を生成する。
【００２８】
ステップＳ６では、トルク指令値Ｔ０に基づき、モータトルク算出部１４でモータトルクＴを算出する。ステップＳ７では、加減速トルク算出部１５で、サーボモータ１と連結機構３のイナーシャＪ０に、角度位置ωを２階微分した、または、回転速度Ｖを１階微分したサーボモータ１の角加速度ａ０を乗算し、加減速トルクＴａを算出する。ステップＳ８では、外乱トルク算出部１６で、回転速度Ｖに定数ｋ１を乗算して外乱トルクＴｂを算出する。
【００２９】
ステップＳ９では、力推定部１７で、モータトルクＴから加減速トルクＴａと外乱トルクＴｂを減算し、テーブル駆動トルクＴ１を算出する。ステップ１０では、位置補正量算出部１８でテーブル駆動トルクＴ１に定数ｋ２を乗算して位置補正量Ａ１を算出する。ステップＳ１１では、加算器２１で位置指令値Ａ０に位置補正量Ａ１を加算し、補正後の位置指令値Ａｘを算出する。
【００３０】
第１の実施形態によれば以下のような作用効果を奏することができる。
（１）サーボモータ１を制御するモータ制御部１０は、テーブル２の位置指令値Ａ０を生成する位置指令生成部１１と、テーブル２と連結機構３の連結部２ａにおいてテーブル２に作用するテーブル駆動トルクＴ１を推定する力推定部１７と、推定されたテーブル駆動トルクＴ１に基づき、位置指令値Ａ０を補正する位置補正量算出部１８および加算器２１とを有する。このようにテーブル駆動トルクＴ１に基づき位置指令値Ａ０を補正することで、サーボモータ１とテーブル２との間の摩擦等の外乱Ｔｂ，Ｔｄを考慮した位置補正がなされることとなり、加工条件が変化して外乱Ｔｂ，Ｔｄが大きく変化した場合であっても、位置指令値Ａ０を精度よく補正することができる。
【００３１】
（２）モータ制御部１０は、サーボモータ１が発生するモータトルクＴを算出するモータトルク算出部１４と、サーボモータ１および連結機構３の駆動に要する必要トルクＴ２、すなわち加減速トルクＴａと外乱トルクＴｂとをそれぞれ算出する加減速トルク算出部１５と外乱トルク算出部１６とを有する。そして、力推定部１７で、これらモータトルクＴと必要トルクＴ２（＝Ｔａ＋Ｔｂ）とに基づき、テーブル駆動トルクＴ１を推定するようにした（ステップＳ９）。これにより、テーブル駆動トルクＴ１を計算によって良好に求めることができ、テーブル２の位置精度を高めることができる。
【００３２】
（３）位置補正量算出部１８で、力推定部１７により推定されたテーブル駆動トルクＴ１に、予め定めた定数ｋ２を乗算して位置指令値Ａ０の補正量Ａ１を算出するようにした（ステップＳ１０）。ここで、定数ｋ２は機械固有の値であり、テーブル駆動トルクＴ１から機械毎の補正量を精度よく求めることができる。
【００３３】
（４）サーボ制御装置１００が、サーボモータ１の角度位置ωを検出する位置検出部３１と、サーボモータ１の速度Ｖを検出する速度検出部３２とを備え、モータ制御部１０は、位置指令生成部１１により生成された位置指令値Ａ０と位置検出部３１により検出された位置検出値ωとに基づき、サーボモータ１の速度指令値Ｖｘを生成する速度指令生成部１２と、速度指令生成部１２により生成された速度指令値Ｖｘと速度検出部３２により検出された速度検出値Ｖとに基づき、サーボモータ１のトルク指令値Ｔ０を生成するトルク指令生成部１３とをさらに有する。そして、モータトルク算出部１４で、生成されたトルク指令値Ｔ０に基づき、モータトルクＴを算出するようにした（ステップＳ６）。これによりモータトルクＴを精度よく求めることができ、テーブル２の位置精度を高めることができる。
【００３４】
なお、上記第１の実施形態では、モータトルク算出部１４が、トルク指令値Ｔ０に基づいてモータトルクＴを算出するようにしたが、モータトルクＴはサーボモータ１に流れる電流（モータ電流Ｃ）と相関関係を有するため、モータ電流Ｃに基づいてモータトルクＴを算出するようにしてもよい。図４は、そのように構成されたモータ制御部１０の一例を示すブロックである。なお、図４では、位置指令値Ａｘに基づいてサーボモータ１に制御信号（トルク指令値Ｔ０）を出力する部分、すなわち速度指令生成部１２やトルク指令生成部１３に相当する部分をまとめて制御ループ１９として示している。
【００３５】
図４に示すように、モータ制御部１０には、モータ電流Ｃを検出する電流検出部３３が接続されている。モータトルク算出部１４は、電流検出部３３により検出されたモータ電流Ｃと予め定められたトルク定数ｋ３とを乗算し、これによりモータトルクＴを算出する。
【００３６】
なお、上記第１の実施形態では、モータトルクＴとサーボモータ１および連結機構３の加減速トルクＴａと外乱トルクＴｂとに基づき、力推定部１７がテーブル駆動トルクＴ１を推定するようにしたが、外乱トルクＴｂを無視してもよい。この場合、力推定部１７は、モータトルクＴと加減速トルクＴａとに基づいて、すなわち、モータトルクＴから加減速トルクＴａを減算してテーブル駆動トルクＴ１を推定すればよい。
【００３７】
−第２の実施形態−
図５，図６を参照して本発明の第２の実施形態について説明する。第２の実施形態が第１の実施形態と異なるのは、モータ制御部１０の構成である。図５は、第２の実施形態に係るサーボ制御装置１００を構成するモータ制御部１０の構成を示すブロック図である。なお、図２と同一の箇所には同一の符号を付し、以下では第１の実施形態との相違点を主に説明する。
【００３８】
図５に示すように、モータ制御部１０は、位置指令生成部１１と、速度指令生成部１２と、トルク指令生成部１３と、外乱トルク算出部１６と、外乱トルク推定部２４と、加減速トルク算出部２５と、力推定部１７と、位置補正量算出部１８とを有する。すなわち、モータトルク算出部１４と加減速トルク算出部１５の代わりに、外乱トルク推定部２４と加減速トルク算出部２５とを有する点が、第１の実施形態（図２）と異なる。
【００３９】
外乱トルク推定部２４は、サーボモータ１（ロータ１ａ）、連結機構３およびテーブル２に作用する外乱（摩擦等）によって生じる外乱トルクＴｔを推定する。この外乱トルクＴｔは、ロータ１ａおよび連結機構３の外乱トルクＴｂとテーブル２の外乱トルクＴｄとを加算したトルクであり、サーボモータ１に作用する全体の外乱トルク（全外乱トルクと呼ぶ）に相当する。全外乱トルクＴｔは、速度検出部３２により検出されたサーボモータ１の回転速度Ｖと、制御ループ１９から出力されたトルク指令値Ｔ０とから、オブザーバーを使用して求めることができる。
【００４０】
加減速トルク算出部２５は、テーブル２を加減速するためのトルク（加減速トルクＴｃ）を算出する。加減速トルクＴｃは、ボールねじ５の回転中心に対するテーブル２のイナーシャＪ２に、ボールねじ５の回転中心に対するテーブル２の角加速度ａ２を乗算することで算出される。イナーシャＪ２は、機械固有の値であり、モータ制御部１０のメモリに予め記憶されている。角加速度ａ２は、ａ２＝ａ０が近似的に成り立つと仮定して、位置検出部３１により検出された角度位置ωを２階微分することにより算出できる。数式モデル（例えば２慣性モデル）を用いて角加速度ａ２を算出することもできる。
【００４１】
力推定部１７は、外乱トルク推定部２４より出力された全外乱トルクＴｔと、加減速トルク算出部２５より出力された加減速トルクＴｃと、外乱トルク算出部１６より出力された外乱トルクＴｂとに基づき、テーブル駆動トルクＴ１を推定する。すなわち、上式(IV)の外乱トルクＴｄに（Ｔｔ−Ｔｂ）を代入した次式(V)を用いて、テーブル駆動トルクＴ１を算出する。
Ｔ１＝Ｔｔ＋Ｔｃ−Ｔｂ      ・・・(V)
【００４２】
図６は、第２の実施形態に係るモータ制御部１０で実行される処理の一例を示すフローチャートである。なお、図３と同一の箇所には同一の符号を付している。
【００４３】
図６に示すように、ステップＳ２１では、外乱トルク推定部２４で全外乱トルクＴｔを算出する。すなわち、サーボモータ１の回転速度Ｖとトルク指令値Ｔ０とからオブザーバーを使用して全外乱トルクＴｔを算出する。ステップＳ２２では、加減速トルク算出部２５で、テーブル２のイナーシャＪ２に、テーブル２のボールねじ５の回転中心に対する角加速度ａ２を乗算し、加減速トルクＴｃを算出する。ステップＳ２３では、力推定部１７で、外乱トルクＴｔに加減速トルクＴｃを加算し、かつ、外乱トルクＴｂを減算して、テーブル駆動トルクＴ１を算出する。
【００４４】
第２の実施形態によれば、モータ制御部１０が、サーボモータ１、連結機構３およびテーブル２に作用する外乱Ｔｂ，Ｔｄによって生じる全外乱トルクＴｔを推定する外乱トルク推定部２４を有し、力推定部１７が、全外乱トルクＴｔに基づいてテーブル駆動トルクＴ１を推定するようにした（ステップＳ２３）。これによりモータトルクＴを求めることなく、外乱トルクＴｂ，Ｔｄを考慮したテーブル駆動トルクＴ１を良好に推定することができる。
【００４５】
また、モータ制御部１０は、テーブル２の加減速に要する加減速トルクＴｃを算出する加減速トルク算出部２５と、外乱トルクＴｂを算出する外乱トルク算出部１６とを有し、力推定部１７が、外乱トルク推定部２４により推定された全外乱トルクＴｔと、加減速トルクＴｃと、外乱トルクＴｂとに基づき、テーブル駆動トルクＴ１を推定する。これにより、テーブル駆動トルクＴ１を計算によって良好に求めることができ、テーブル２の位置精度を高めることができる。外乱トルク推定部１７は、速度検出部３２により検出された速度検出値Ｖと、トルク指令生成部１３により生成されたトルク指令値Ｔ０とに基づき、全外乱トルクＴｔを算出するようにしたので（ステップＳ２１）、サーボモータ１に作用する全体の外乱トルクＴｔを精度よく求めることができる。
【００４６】
なお、上記第２の実施形態では、全外乱トルクＴｔとテーブル２の加減速トルクＴｃとサーボモータ１および連結機構３の外乱トルクＴｂとに基づき、力推定部１７がテーブル駆動トルクＴ１を推定するようにしたが、外乱トルクＴｂを無視してもよい。この場合、力推定部１７は、全外乱トルクＴｔと加減速トルクＴｃとに基づいて、すなわち、全外乱トルクＴｔに加減速トルクＴｃを加算してテーブル駆動トルクＴ１を推定すればよい。
【００４７】
−第３の実施形態−
図７を参照して本発明の第３の実施形態について説明する。上記第１および第２の実施形態では、テーブル駆動トルクＴ１に定数ｋ２を乗じて位置補正量Ａ１を算出し、この位置補正量Ａ１を位置指令値Ａ０に加算して位置指令値Ａ０を補正するようにしたが、補正量Ａ１が大きすぎると、ワークＷの加工面に傷を付ける等、良好な加工結果が得られないおそれがある。この点を考慮して、位置補正量Ａ１の大きさを制限するようにしたのが第３の実施形態である。なお、以下では第１および第２の実施形態との相違点を主に説明する。
【００４８】
図７は、第３の実施形態に係るモータ制御部１０の要部構成を示すブロック図である。なお、図２、図５と同一箇所には同一の符号を付している。図７に示すように、モータ制御部１０は補正量制限部２０を有し、位置補正量算出部１８で算出された位置補正量Ａ１は、補正量制限部２０に入力される。モータ制御部１０のメモリには、予め位置補正量Ａ１の制限値、すなわち上限値Ａｍｉｎおよび下限値Ａｍａｘが設定されている。
【００４９】
補正量制限部２０は、これら上限値Ａｍｉｎおよび下限値Ａｍａｘと位置補正量Ａ１とを比較し、Ａｍｉｎ≦Ａ１≦Ａｍａｘであれば、位置補正量Ａ１を位置補正量Ａ２としてそのまま出力する。一方、位置補正量Ａ１が上限値Ａｍａｘより大きいときは、上限値Ａｍａｘを位置補正量Ａ２として出力し、位置補正量Ａ１が下限値Ａｍｉｎより小さいときは、下限値Ａｍｉｎを位置補正量Ａ２として出力する。加算器２１は、位置指令値Ａ０に位置補正量Ａ２を加算し、位置指令値Ａ０を補正する。
【００５０】
上限値Ａｍａｘおよび下限値Ａｍｉｎは、連結機構３（ボールねじ５）のバックラッシ量Ｂを基準にして設定する。例えば、バックラッシ量Ｂに所定の定数ｋ４（例えば１）を乗算した値を上限値Ａｍａｘとし、バックラッシ量に所定の定数ｋ５（例えば−１）を乗算した値を下限値Ａｍｉｎとして設定する。なお、連結機構３の剛性が低い場合は、定数ｋ４を１より大きく、定数ｋ５を−１より小さい値とすればよい。
【００５１】
このように第３の実施形態では、補正量制限部２０で位置補正量Ａ１を制限するようにしたので、位置補正量Ａ２を所定の範囲内に抑えることができ、加工面を傷付けない良好なワークＷの加工が可能である。
【００５２】
（変形例）
上記実施形態（図２、図４）では、力推定部１７で、モータトルクＴと加減速トルクＴａと外乱トルクＴｂとに基づきテーブル駆動トルクＴ１を推定し、上記実施形態（図５）では、力推定部１７で、全外乱トルクＴｔと加減速トルクＴｃと外乱トルクＴｂとに基づきテーブル駆動トルクＴ１を推定するようにしたが、テーブル２に作用するテーブル駆動トルクＴ１（駆動力）を推定するのであれば、力推定部１７の構成は上述したものに限らない。例えば、図８に示すように、図２の加減速トルク算出部１５および外乱トルク算出部１６の代わりに、サーボモータ１および連結機構３の駆動に要する必要トルクＴ２、すなわち加減速トルクＴａと外乱トルクＴｂの和である必要トルクＴ２を算出する必要トルク算出部２６を設け、モータトルクＴと必要トルクＴ２とに基づき、力推定部１７でテーブル駆動トルクＴ１を推定するようにしてもよい。
【００５３】
上記実施形態では、位置補正量算出部１８と加算器２１とでの処理により、位置指令値Ａ０を補正するようにしたが、力推定部１７により推定されたテーブル駆動トルクＴ１に基づき位置指令値Ａ０を補正するのであれば、補正部の構成も上述したものに限らない。上記実施形態では、補正後の位置指令値Ａｘが入力される速度指令生成部１２とトルク指令生成部１３とを介して（図２，図５）、あるいは制御ループ１９（図４）を介してサーボモータ１へ制御信号を出力するようにしたが、補正後の位置指令値Ａｘに基づきサーボモータ１に制御信号を出力するのであれば、制御信号出力部の構成はいかなるものでもよい。
【００５４】
サーボモータ１とテーブル２とに連結される連結機構３の構成も上述したものに限らない。図９Ａ，図９Ｂは、連結機構３の変形例を示す図である。図９Ａでは、サーボモータ１がカップリング４１を介してテーブル２に連結されており、カップリング４１により連結機構３が構成されている。一方、図９Ｂでは、カップリング４１、減速機構４２（減速歯車）、およびカップリング４３を介してサーボモータ１がテーブル２に連結され、カップリング４１，４３と減速機構４２により連結機構３が構成されている。このようにボールねじ５（図１）、減速機構４２、カップリング４，４１，４３のいずれかを含むのであれば、減速機構３の構成はいかなるものでもよい。
【００５５】
上記実施形態では、連結機構３にテーブル２を連結するようにしたが、サーボモータ１により駆動される被駆動体の構成はテーブル２以外であってもよい。また、本発明のモータ制御装置１００は、横形マシニングセンタ等の他の工作機械や、工作機械以外にも同様に適用することができる。
【００５６】
以上の説明はあくまで一例であり、本発明の特徴を損なわない限り、上述した実施形態および変形例により本発明が限定されるものではない。上記実施形態および変形例の構成要素には、発明の同一性を維持しつつ置換可能かつ置換自明なものが含まれる。すなわち、本発明の技術的思想の範囲内で考えられる他の形態についても、本発明の範囲内に含まれる。また、上記実施形態と変形例の１つまたは複数を任意に組み合わせることも可能である。
【符号の説明】
【００５７】
１    サーボモータ
２    テーブル
２ａ    連結部
３    連結機構
４    カップリング
５    ボールねじ
１０    モータ制御部
１１    位置指令生成部
１２    速度指令生成部
１３    トルク指令生成部
１４    モータトルク算出部
１５    加減速トルク算出部
１６    外乱トルク算出部
１７    力推定部
１８    位置補正量算出部
２０    補正量制限部
２１    加算器
１００    サーボ制御装置
Ｔ１    テーブル駆動トルク
【図１】
2014109785.tif 000003
【図２】
2014109785.tif 000004
【図３】
2014109785.tif 000005
【図４】
2014109785.tif 000006
【図５】
2014109785.tif 000007
【図６】
2014109785.tif 000008
【図７】
2014109785.tif 000009
【図８】
2014109785.tif 000010
【図９Ａ】
2014109785.tif 000011
【図９Ｂ】
2014109785.tif 000012