(57)【要約】【課題】精度の高い被駆動体の位置制御が可能なサーボモータ制御装置を提供すること。【解決手段】サーボモータと、サーボモータにより駆動される被駆動体と、サーボモータと被駆動体とを連結し、サーボモータの動力を前記被駆動体へ伝える連結機構と、被駆動体の位置指令値を生成する位置指令生成部と、位置指令値を用いてサーボモータを制御するモータ制御部と、連結機構との連結部において被駆動体に作用する駆動力である力推定値を推定する力推定部と、力推定値と物理定数を示す係数との積を用いて、位置指令生成部により生成された位置指令値を補正するため補正量を生成する補正量生成部と、を具備し、物理定数を示す係数は、力推定値又は生成された補正量の大きさで変化する。【選択図】図５
2018112972.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、
前記被駆動体の位置指令値を生成する位置指令生成部と、
前記位置指令値を用いて前記サーボモータを制御するモータ制御部と、
前記連結機構との連結部において前記被駆動体に作用する駆動力である力推定値を推定する力推定部と、
前記力推定値と物理定数を示す係数との積を用いて、前記位置指令生成部により生成された前記位置指令値を補正するため補正量を生成する補正量生成部と、
前記物理定数を示す係数を、前記力推定値又は生成された前記補正量の大きさで変化させる係数設定部と、
を具備するサーボモータ制御装置。
【請求項２】
前記補正量生成部は、前記力推定値と第１の係数との積と、前記力推定値と前記サーボモータから前記連結部までの距離と第２の係数との積と、の和を前記補正量とし、
前記力推定値と第１の係数との積は、前記力推定値と物理定数を示す係数との積である請求項１に記載のサーボモータ制御装置。
【請求項３】
前記物理定数を示す係数は、前記力推定値の絶対値が所定の値より大きくなった際に、前記力推定部にて推定した前記力推定値に基づき、連続的あるいは離散的に小さくされる請求項１又は２に記載のサーボモータ制御装置。
【請求項４】
前記物理定数を示す係数は、前記生成された前記補正量の絶対値が所定の値より大きくなった際に、前記補正量生成部にて生成した前記補正量に基づき、連続的あるいは離散的に小さくされる請求項１又は２に記載のサーボモータ制御装置。
【請求項５】
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、を備えたサーボモータ制御装置のサーボモータ制御方法において、
前記被駆動体の位置指令値を生成し、
前記連結機構との連結部において前記被駆動体に作用する駆動力である力推定値を推定し、
推定した前記力推定値と物理定数を示す係数との積を用いて生成された補正量で前記位置指令値を補正し、
補正された前記位置指令値を用いて前記サーボモータを制御し、
前記物理定数を示す係数は、前記力推定値又は生成された前記補正量の大きさで変化するサーボモータ制御方法。
【請求項６】
前記位置指令値を補正するための補正値は、前記力推定値と第１の係数との積と、前記力推定値と前記サーボモータから前記連結部までの距離と第２の係数との積と、の和であり、
前記力推定値と第１の係数との積は、前記力推定値と物理定数を示す係数との積である請求項５に記載のサーボモータ制御方法。
【請求項７】
前記物理定数を示す係数は、前記力推定値の絶対値が所定の値より大きくなった際に、推定した前記力推定値に基づき、連続的あるいは離散的に小さくされる請求項５又は６に記載のサーボモータ制御装置。
【請求項８】
前記物理定数を示す係数は、前記生成された前記補正量の絶対値が所定の値より大きくなった際に、生成した前記補正量に基づき、連続的あるいは離散的に小さくされる請求項５又は６に記載のサーボモータ制御方法。
【請求項９】
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、を備えたサーボモータ制御装置のサーボモータ制御をコンピュータに実行させるサーボモータ制御用プログラムであって、
前記コンピュータに、
前記被駆動体の位置指令値を生成する処理と、
前記連結機構との連結部において前記被駆動体に作用する駆動力である力推定値を推定する処理と、
推定した前記力推定値と物理定数を示す係数との積を用いて生成された補正量で前記位置指令値を補正する処理と、
補正された前記位置指令値を用いて前記サーボモータを制御する処理と、
を実行させ、
前記物理定数を示す係数は、前記力推定値又は生成された前記補正量の大きさで変化するサーボモータ制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータの動力により駆動する被駆動体の位置を補正する機能を有するサーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラムに関する。
【背景技術】
【０００２】
従来より、テーブルの上に非加工物（ワーク）を搭載し、テーブルを、サーボモータで連結機構を介して移動させるサーボモータ制御装置がある。テーブル及びワークは被駆動体となる。連結機構は、モータサーボに連結されたカップリングと、カップリングに固定されるボールねじとを有する。ボールねじはナットに螺合される。
このようなサーボモータ制御装置において、サーボモータの動力により駆動する被駆動体（移動体ともいう）の位置を補正する機能を有するサーボモータ制御装置がある。
【０００３】
例えば特許文献１には、連結機構の連結部において被駆動体に作用する駆動力を推定し、推定された駆動力に基づき、位置指令値を補正することの記載がある。
特許文献２には、サーボモータから移動体までの距離と、トルク指令値とからボールねじの伸縮量を計算し、その伸縮量からボールねじに螺着された移動体の位置補正量を計算し、その位置補正量によって位置指令値を補正することの記載がある。
また、特許文献３には、サーボ制御装置は、ボールねじの、サーボモータから遠位側において作用する張力と、ボールねじを両端において支持する１対の固定部の間の距離と、サーボモータの近位側に設けられる固定部から移動体までの距離と、サーボモータに付与されるトルク指令に基づいて、ボールねじの伸縮量を計算し、算出されたボールねじの伸縮量に基づいて、送り軸の位置補正量を計算することの記載がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０９７８５公報
【特許文献２】特開２０１４−１３５５４号公報
【特許文献３】特開２０１４−８７８８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明者らは、位置指令値を補正する場合に、停止、低速動作時において、推定される駆動力に反応して機械動作と関係のない補正が位置指令値に加わり、補正量の振れが生ずることを見出した。
本発明は、工作機械や産業機械において、さらに精度の高い被駆動体の位置制御が可能なサーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）本発明に係るサーボモータ制御装置は、サーボモータ（例えば、後述のサーボモータ５０）と、
前記サーボモータにより駆動される被駆動体（例えば、後述のテーブル７０）と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構（例えば、後述の連結機構６０）と、
前記被駆動体の位置指令値を生成する位置指令生成部（例えば、後述の位置指令生成部１０）と、
前記位置指令値を用いて前記サーボモータを制御するモータ制御部（例えば、後述のモータ制御部２０）と、
前記連結機構との連結部において前記被駆動体に作用する駆動力である力推定値を推定する力推定部（例えば、後述の力推定部３０２）と、
前記力推定値と物理定数を示す係数との積を用いて、前記位置指令生成部により生成された前記位置指令値を補正するため補正量を生成する補正量生成部（例えば、後述の補正量生成部３０１）と、
前記物理定数を示す係数を、前記力推定値又は生成された前記補正量の大きさで変化させる係数設定部（例えば、後述のねじれ係数設定部３０７）と、
を具備するサーボモータ制御装置である。
【０００７】
（２）上記（１）のサーボモータ制御装置において、
前記補正量生成部は、前記力推定値と第１の係数との積と、前記力推定値と前記サーボモータから前記連結部までの距離と第２の係数との積と、の和を前記補正量とし、
前記力推定値と第１の係数との積は、前記力推定値と物理定数を示す係数との積であってもよい。
【０００８】
（３）上記（１）又は（２）のサーボ制御装置において、前記物理定数を示す係数は、前記力推定値の絶対値が所定の値より大きくなった際に、前記力推定部にて推定した前記力推定値に基づき、連続的あるいは離散的に小さくされるようにしてもよい。
【０００９】
（４）上記（１）又は（２）のサーボ制御装置において、前記物理定数を示す係数は、前記生成された前記補正量の絶対値が所定の値より大きくなった際に、前記補正量生成部にて生成した前記補正量に基づき、連続的あるいは離散的に小さくされるようにしてもよい。
【００１０】
（５）本発明のサーボモータ制御装置のサーボモータ制御方法は、サーボモータ（例えば、後述のサーボモータ５０）と、
前記サーボモータにより駆動される被駆動体（例えば、後述のテーブル７０）と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構（例えば、後述の連結機構６０）と、を備えたサーボモータ制御装置のサーボモータ制御方法において、
前記被駆動体の位置指令値を生成し、
前記連結機構との連結部において前記被駆動体に作用する駆動力である力推定値を推定し、
推定した前記力推定値と物理定数を示す係数との積を用いて生成された補正量で前記位置指令値を補正し、
補正された前記位置指令値を用いて前記サーボモータを制御し、
前記物理定数を示す係数は、前記力推定値又は生成された前記補正量の大きさで変化するサーボモータ制御方法である。
【００１１】
（６）上記（５）サーボ制御装置において、前記位置指令値を補正するための補正値は、前記力推定値と第１の係数との積と、前記力推定値と前記サーボモータから前記連結部までの距離と第２の係数との積と、の和であり、
前記力推定値と第１の係数との積は、前記力推定値と物理定数を示す係数との積であってもよい。
【００１２】
（７）上記（５）又は（６）のサーボ制御装置において、前記物理定数を示す係数は、前記力推定値の絶対値が所定の値より大きくなった際に、推定した前記力推定値に基づき、連続的あるいは離散的に小さくされるようにしてもよい。
【００１３】
（８）上記（５）又は（６）のサーボ制御装置において、前記物理定数を示す係数は、前記生成された前記補正量の絶対値が所定の値より大きくなった際に、生成した前記補正量に基づき、連続的あるいは離散的に小さくされるようにしてもよい。
【００１４】
（９）本発明のサーボモータ制御用プログラムは、サーボモータ（例えば、後述のサーボモータ５０）と、
前記サーボモータにより駆動される被駆動体（例えば、後述のテーブル７０）と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構（例えば、後述の連結機構６０）と、を備えたサーボモータ制御装置のサーボモータ制御をコンピュータに実行させるサーボモータ制御用プログラムであって、
前記コンピュータに、
前記被駆動体の位置指令値を生成する処理と、
前記連結機構との連結部において前記被駆動体に作用する駆動力である力推定値を推定する処理と、
推定した前記力推定値と物理定数を示す係数との積を用いて生成された補正量で前記位置指令値を補正する処理と、
補正された前記位置指令値を用いて前記サーボモータを制御する処理と、
を実行させ、
前記物理定数を示す係数は、前記力推定値又は生成された前記補正量の大きさで変化するサーボモータ制御用プログラムである。
【発明の効果】
【００１５】
本発明によれば、推定される駆動力に反応して機械動作と関係のない補正が位置指令値に加わって生ずる補正量の振れを抑制し、精度の高い被駆動体の位置制御が可能となる。
【図面の簡単な説明】
【００１６】
【図１】前提技術となるサーボモータ制御装置の構成を示すブロック図である。
【図２】補正量の振れを説明する図である。
【図３】機械の特性が線形関係にある場合の、負荷トルクと弾性変形量との特性図である。
【図４】機械の特性が非線形関係にある場合の、負荷トルクと弾性変形量との特性図である。
【図５】本発明の第１の実施形態となるサーボモータ制御装置の構成を示すブロック図である。
【図６】比較例となるサーボモータ制御装置の構成を示すブロック図である。
【図７】非線形となる領域で、機械の特性が線形の特性であるとして補正を行った場合の課題を説明するための特性図である。
【図８】推定負荷トルクの値に応じて、補正の係数（傾き）を変化させる場合を説明するための特性図である。
【図９】補正量と推定負荷トルクの曲線を、A点で、原点とA点とを通る直線で接する二次曲線（放物線）とした場合の特性図である。
【図１０】補正量と推定負荷トルクの曲線を、A点で、原点とA点とを通る直線で接し、B点で、直線Cと接する曲線とした場合の特性図である。
【図１１】モータ制御部の一構成例及びボールねじの長さ（バネ要素の長さ）を求める距離計算部を含むサーボモータ制御装置の構成を示すブロック図である。
【図１２】速度指令作成部の一構成例を示すブロック図である。
【図１３】トルク指令作成部の一構成例を示すブロック図である。
【図１４】図５に示したサーボモータ制御装置の動作を示すフローチャートである。
【図１５】本発明の第２の実施形態となるサーボモータ制御装置の構成を示すブロック図である。
【図１６】補正量の値に応じて、補正の係数（傾き）を変化させる場合を説明するための特性図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を用いて説明する。
まず、本発明の実施形態の説明に先立って前提技術となるサーボモータ制御装置について説明する。
図１は前提技術となるサーボモータ制御装置の構成を示すブロック図である。サーボモータ制御装置は、サーボモータ５０で連結機構６０を介してテーブル７０を移動させ、テーブル７０の上に搭載された被加工物（ワーク）を加工する。連結機構６０は、サーボモータ５０に連結されたカップリング６０１と、カップリング６０１に固定されるボールねじ６０２とを有し、ボールねじ６０２にナット６０３が螺合されている。サーボモータ５０の回転駆動によって、ボールねじ６０２に螺着されたナット６０３がボールねじ６０２の軸方向に移動する。
【００１８】
サーボモータ５０の回転角度位置は、サーボモータ５０に関連付けられた、位置検出部となるエンコーダ４０によって検出され、検出された位置（位置検出値）は位置フィードバックとして利用される。なお、エンコーダ４０は回転速度を検出可能であり、検出された速度（速度検出値）は速度フィードバックとして利用可能である。
サーボモータ制御装置は、図示しない上位制御装置や外部入力装置等から入力されるプログラムや命令に従って、サーボモータ５０の位置指令値を作成する位置指令生成部１０と、位置指令生成部１０が作成した位置指令値とエンコーダ４０が検出した位置検出値との差を求める減算器８０と、この差と位置指令補正部３０から出力される補正値とを加算する加算器９０と、この加算値を用いてサーボモータ５０のトルク指令値を作成するモータ制御部２０と、を有する。
【００１９】
サーボモータ５０の駆動時には、連結機構６０とテーブル７０とに駆動力が作用し、これらは弾性変形するが、連結機構６０は被駆動体となるテーブル７０と比較して剛性が低いため、全体の弾性変形のうち、連結機構６０の弾性変形が大部分の割合を占める。連結機構６０が弾性変形すると、サーボモータ５０を指令値通りに回転させた場合であっても、テーブル７０の位置に弾性変形量分の誤差が生じる。このため、この誤差を解消するために、連結機構６０の弾性変形量分だけ位置指令値を補正する。連結機構６０の弾性変形量は、テーブル７０（ナット６０３）と連結機構６０との連結部においてテーブル７０に作用する駆動力に比例し、駆動力は連結部において作用する駆動トルクにより表すことができる。
位置指令補正部３０は、補正量生成部３０１と力推定部３０２とを有する。力推定部３０２は、トルク指令値を用いて連結部において駆動体に作用する駆動力（駆動トルク）を推定する。補正量生成部３０１は、力推定部３０２により推定された駆動力に基づき、位置指令生成部１０により生成された位置指令値を補正するための補正量を生成し補正値を出力する。
【００２０】
本発明者らは図１に示した前提技術のサーボモータ制御装置は、停止、低速動作時においても、推定される駆動力に反応して機械動作と関係のない補正が位置指令値に加わり、図２に示すように補正量の振れが生ずる場合があることを見出した。
本発明者らは、補正する実際の弾性変形量に対して、設定したパラメータから計算される補正量が大きく異なる（過剰あるいは過小）ことで上記の補正量の振れが生ずると考えた。
サーボモータ制御装置のボールネジの弾性変形量は、ボールねじのバネ定数（剛性）の大きさで決まる。図３に示すように、バネ定数が大きければ、負荷トルクの変化に対する変形量は小さく、反対にバネ定数が小さければ、負荷トルクの変化に対する変形量は大きくなる。
【００２１】
図３では、機械の特性を直線（負荷トルクと弾性変形量が線形関係）で表したが、実際は、ボールねじの弾性変形の特性はボールねじの摩擦や回転軸方向の捻じれに対する金属の特性などにより、図４に示すように、機械の特性は非線形の特性となる。
本発明者らは、負荷トルクと弾性変形量が非線形である本来の機械の特性（非線形性）を反映させた補正を行うことで、補正量の振れを抑制できることを見出した。具体的には、本発明者らは、補正量生成部において補正値を計算するための物理定数を示す係数を力推定値で推定された駆動力（駆動トルク）又は補正量生成部で生成された補正量に基づいて変化させることで、補正量の振れを抑制できることを見出した。
【００２２】
以下、補正量の振れを抑制する本発明のサーボモータ制御装置の実施形態について説明する。以下に説明する本実施形態のサーボモータ制御装置が適用される機械は、レーザー加工機、放電加工機、切削加工機等の工作機械であるが、本発明のサーボモータ制御装置はロボット等の産業機械等にも適用可能である。
【００２３】
（第１の実施形態）
図５は本発明の第１の実施形態となるサーボモータ制御装置の構成を示すブロック図である。図６は比較例となるサーボモータ制御装置の構成を示すブロック図である。図５及び図６において、図１のサーボモータ制御装置の構成部材と同一構成部材については同一符号を付して説明を省略する。図１に示す位置指令補正部３０は、図５に示す実施形態では位置指令補正部３１に、図６に示す比較例では位置指令補正部３２に置き換わっている。
図６に示す比較例では、図１に示す補正量生成部３０１として、ねじれ係数乗算部３０３、ボールねじ長さ乗算部３０４、形状係数乗算部３０５、及び加算部３０６が設けられる。図５に示す本実施形態では、図１に示す補正量生成部３０１として、ねじれ係数乗算部３０３、ボールねじ長さ乗算部３０４、形状係数乗算部３０５、及び加算部３０６が設けられるとともに、補正量生成部３０１外に係数設定部となるねじれ係数設定部３０７が設けられる。形状係数はボールねじの単位長さあたりの伸縮量を示す。
力推定部３０２は、既に説明したように、モータ制御部２０から出力されるトルク指令値を用いて連結部において駆動体に作用する駆動力（駆動トルク）を推定して出力する。この推定した負荷トルクの値が力推定値である。なお、駆動力の推定はこれに限定されず、例えば特許文献１（特開２０１４−１０９７８５号公報）に記載されるように、加減速トルク、外乱トルク等をさらに加えて駆動力を推定したり、トルク指令値でなく、モータ電流を検出する電流検出部の出力を用いてモータトルクを算出して駆動力を推定してもよい。
【００２４】
図５及び図６の構成では、連結機構（カッブリング、ボールねじ）に発生する回転軸まわりのねじり弾性変形と軸方向の伸縮弾性変形とを、力推定部３０２で推定される負荷トルクに基づいて算出し、弾性変形に起因するロストモーションを位置指令値に対して補正する。ボールねじ長さ乗算部３０４の入力を力推定値としているので、位置補正量にボールねじの長さに対する依存性を待たせることができる。この際、軸方向の弾性変形はサーボモータから被駆動体までの距離に依存し、移動位置の積算値によりこの距離を推定する。
【００２５】
推定負荷トルクをＴ、ねじれ係数（物理定数を示す係数）をαとすると、連結部のねじれに関する補正量はα・Ｔとなり、推定負荷トルクをＴ、ボールねじの長さをｄ、形状係数をβとするとボールねじの伸縮に関する補正量はｄ・β・Ｔとなる。そして、これらの補正を加算部３０６で加算した合計の補正量がα・Ｔ＋ｄ・β・Ｔとなる。
図６に示す比較例では、ねじれ係数乗算部３０３における補正の計算のためのねじれ係数は定数としているため、実際の弾性変形の特性と補正の間に差異が生じてしまう。具体的には、補正量を計算するためのボールねじの＜1/バネ定数＞（＝＜弾性変形量／力＞）に当たる係数を定数で与えていたが、本来ボールねじのバネ定数は定数ではなく、負荷トルクに依存した変数となるため、差異が生ずる。
【００２６】
図７に示すように、機械の特性が非線形の特性となる場合に、非線形となる領域で比較例のように機械の特性が線形の特性であるとして補正を行うと、実際の機械特性に対して過剰な補正になりやすく、図２に示したような補正量の振れが生ずる問題が起きやすい。
図５に示す本実施形態のサーボモータ制御装置では、補正量の振れが生じ、モータ位置が行き来する問題を防ぐために、ねじれ係数設定部３０７が、補正量を計算するための＜弾性変形量／力推定値＞に当たる係数を、力推定部３０２において推定する負荷駆動力（トルク）の値に応じて変更する。
【００２７】
ねじれ係数設定部３０７がねじれ係数乗算部３０３の係数を負荷駆動力（トルク）に応じて変更することで、非線形性を有する機械の特性を反映させた補正を行うことができる。
【００２８】
図８に示すように、あらかじめ、推定負荷トルクに対する補正量の係数の変化量が決められていれば、推定負荷トルクと補正量は一対一で対応するため、現在の推定負荷トルクの値に応じて、補正量の係数（傾き）を変化させることができる。補正量の係数は＞０（傾きは正）である。
【００２９】
図９に示すように、補正量と推定負荷トルクの曲線は、パラメータなどであらかじめ設定したA点で、原点とA点とを通る直線で接する二次曲線（放物線）でも良い。
また、図１０に示すように、補正量と推定負荷トルクの曲線は、パラメータなどであらかじめ設定したA点で、原点とA点とを通る直線で接し、パラメータなどであらかじめ設定したB点で、パラメータなどであらかじめ設定した直線Cと接する曲線でも良い。
図９及び図１０に示すように、推定負荷トルク（力推定値）の絶対値が所定の値より大きくなった際（Ａ点より大きくなった際）、推定負荷トルクに基づき、連続的に小さくされる。連続的でなく離散的に小さくされてもよい。
【００３０】
図１１はモータ制御部２０の一構成例及びボールねじの長さ（バネ要素の長さ）を求める距離計算部１３０を含むサーボモータ制御装置の構成を示すブロック図である。図５のボールねじ長さ乗算部３０４で乗算されるボールねじの長さ（バネ要素の長さ）は距離計算部１３０により算出される。図５のモータ制御部２０は速度指令作成部２０１と減算部とトルク指令作成部２０２とを有する。
【００３１】
補正量の計算は、（補正量）＝｛（形状係数×ボールねじの長さ）＋ねじれ係数｝｝×（推定負荷トルク）である。
ボールねじの長さｄはサーボモータから連結機構までのボールねじの長さであり、テーブルの位置により変わる。
【００３２】
図１２は速度指令作成部２０１の一構成例を示すブロック図である。図１２に示すように、位置指令生成部１０は位置指令値を作成し、位置指令値と位置フィードバックされた検出位置との差を減算器８０で求め、その差に補正量を加算器９０で加え、補正量を加えた差を、図１２に示す、微分器２０１１と位置制御ゲイン２０１３とに入力する。加算器２０１４は、微分器２０１１の出力に係数を乗算した係数部２０１２の出力と、位置制御ゲイン２０１３の出力との加算値を速度指令値として出力する。速度指令値は速度フィードバックされた検出速度との差を減算器１００で求める。
【００３３】
図１３はトルク指令作成部２０２の一構成例を示すブロック図である。トルク指令作成部２０２は、減算器１００と接続される比例ゲイン２０２３、積分器２０２１、積分器２０２１と接続される積分ゲイン２０２２、及び比例ゲイン２０２３の出力と積分ゲイン２０２２の出力とを加算し、トルク指令としてサーボモータ５０に出力する加算器２０２４を備えている。積分器２０２１は入力を積分する。積分ゲイン２０２２は積分器２０２１の出力に係数を乗算し、比例ゲイン２０２３は入力に係数を乗算する。なお、積分ゲイン２０２２と積分器２０２１は並び順を変えてもよい。
【００３４】
図１４は図５に示したサーボモータ制御装置の動作を示すフローチャートである。ステップＳ１０１において、力推定部３０２で推定負荷トルク（力推定値）を計算する。ステップＳ１０２において、ねじれ係数設定部３０７において、推定負荷トルク（力推定値）に基づいてねじれ係数を設定し、ねじれに関する補正量を求める。ステップＳ１０３において、ボールねじ長さ乗算部３０４、形状係数乗算部３０５を用いて、ボールねじの伸縮に関する補正量を求める。ステップＳ１０４において、位置指令生成部１０で生成された位置指令を、ねじれに関する補正量とボールねじの伸縮に関する補正量との加算値で補正する。なお、ここでは、ステップＳ１０２の後にステップＳ１０３が配置されているが、ステップＳ１０２とステップＳ１０３の順番を逆にして、ステップＳ１０３の後にステップＳ１０２を配置してもよい。
【００３５】
（第２の実施形態）
図１５は本発明の第２の実施形態となるサーボモータ制御装置の構成を示すブロック図である。図５に示す位置指令補正部３１は、図１５に示す本実施形態では位置指令補正部３３に置き換わっている。図５に示す第１の実施形態ではねじれ係数設定部３０７は推定負荷トルク（力推定値）に基づいてねじれ係数を設定していたが、本実施形態では、係数設定部となるねじれ係数設定部３０７は加算器３０９から出力される補正値に基づいてねじれ係数を設定する。
【００３６】
図１６に示すように、あらかじめ、補正量に対する補正量の係数の変化量が決められていれば、推定負荷トルクと補正量は一対一で対応するため、現在の補正量の値に応じて、補正の係数（傾き）を変化させることができる。
第１の実施形態では、図９及び図１０に示すように、推定負荷トルク（力推定値）の絶対値が所定の値より大きくなった際（Ａ点より大きくなった際）、推定負荷トルクに基づき、連続的又は離散的に小さくされる。本実施形態では、補正値の絶対値が所定の値より大きくなった際（Ａ点より大きくなった際）、補正値に基づき、あらかじめ定めた量だけ連続的又は離散的に小さくされる。
【００３７】
本実施形態のサーボモータ制御装置の動作を示すフローチャートは、図１４のステップＳ１０２において、ねじれ係数設定部３０７が、ねじれに関する補正量とボールねじの伸縮に関する補正量との加算値（位置指令値を補正するため補正量）に基づいてねじれ係数を設定し、ねじれに関する補正量を求める点を除いて同じである。
【００３８】
以上、本発明の実施形態について説明したが、サーボモータ制御装置はその機能の全部又は一部をハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。ハードウェアで構成する場合、サーボモータ制御装置の位置指令補正部３１、３３の各構成部、位置指令生成部１０、モータ制御部２０の一部又は全部を、例えば、ＬＳＩ(Large Scale Integrated circuit)、ＡＳＩＣ(Application Specific Integrated Circuit)、ゲートアレイ、ＦＰＧＡ(Field Programmable Gate Array)等の集積回路（ＩＣ）で構成することができる。
【００３９】
ソフトウェアによって実現する場合、サーボモータ制御装置の一部又は全部を、ＣＰＵとプログラムを記憶したハードディスク、ＲＯＭ等の記憶部とを含むコンピュータで構成して、図５や図１５のブロック図と図１４のフローチャートに沿ったプログラム、特に位置指令補正部をソフトウェアによって実現する場合には図１４のフローチャートに沿ったプログラムに従い、演算に必要な情報をＲＡＭ等の第２の記憶部に記憶し、処理を実行することでサーボモータ制御装置の一部又は全部の動作をプログラムで実行ことができる。プログラムは、プログラムが記録されたコンピュータ読み取り可能な媒体からハードディスク等の記憶部に読み込むことができる。コンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible  storage  medium）を含む。コンピュータ可読媒体は非一時的なコンピュータ可読媒体（non-transitory computer  readable  medium）を含む。コンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Read  Only  Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable  ROM）、ＥＰＲＯＭ（Erasable  PROM）、フラッシュＲＯＭ、ＲＡＭ（random  access  memory））を含む。
【符号の説明】
【００４０】
１０  位置指令生成部
２０  モータ制御部
３０、３１、３２、３３  位置指令補正部
４０  エンコーダ
５０  サーボモータ
６０  連結機構
７０  テーブル
３０１  補正量生成部
３０２  力推定部
３０３  ねじれ係数乗算部
３０４  ボールねじ長さ乗算部
３０５  形状係数乗算部
３０６  加算部
３０７  ねじれ係数設定部
【図１】
2018112972.tif 000003
【図２】
2018112972.tif 000004
【図３】
2018112972.tif 000005
【図４】
2018112972.tif 000006
【図５】
2018112972.tif 000007
【図６】
2018112972.tif 000008
【図７】
2018112972.tif 000009
【図８】
2018112972.tif 000010
【図９】
2018112972.tif 000011
【図１０】
2018112972.tif 000012
【図１１】
2018112972.tif 000013
【図１２】
2018112972.tif 000014
【図１３】
2018112972.tif 000015
【図１４】
2018112972.tif 000016
【図１５】
2018112972.tif 000017
【図１６】
2018112972.tif 000018