(57)【要約】【課題】工作機械の経年変化（例えば、連結機構の剛性の経年劣化）に起因する工作機械の振動の発生を抑制するサーボモータ制御装置を提供する。【解決手段】サーボモータ制御装置１Ａは、サーボモータと、被駆動体と、連結機構と、第１位置検出部と、第２位置検出部と、モータ制御部１０Ａとを備える。モータ制御部１０Ａは、位置指令値と第１位置検出部で検出されたサーボモータの位置との第１偏差の高周波数成分に基づくセミクローズドＦＢ制御と、位置指令値と第２位置検出部で検出された被駆動体の位置との第２偏差の低周波数成分に基づくフルクローズドＦＢ制御とを行うデュアル位置制御部３０Ａと、連結機構の剛性の大きさを取得する取得部２０，２２と、取得された連結機構の剛性の大きさに応じて、デュアル位置制御部３０ＡにおけるセミクローズドＦＢ制御とフルクローズドＦＢ制御との割合を変更する変更部３５Ａとを有する。【選択図】図２
2018207695.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、
前記サーボモータの位置を検出する第１位置検出部と、
前記被駆動体の位置を検出する第２位置検出部と、
前記サーボモータを制御するモータ制御部と、
を備えるサーボモータ制御装置であって、
前記モータ制御部は、
前記サーボモータの駆動制御のための位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御と、前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行うデュアル位置制御部と、
前記連結機構の剛性の大きさ、又は、前記サーボモータ制御装置の共振周波数の大きさを取得する取得部と、
前記取得部で取得された前記連結機構の剛性の大きさ又は変化量、又は、前記取得部で取得された前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記デュアル位置制御部における前記セミクローズドフィードバック制御と前記フルクローズドフィードバック制御との割合を変更させる変更部と、
を有する、サーボモータ制御装置。
【請求項２】
前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記セミクローズドフィードバック制御の割合を増加させ、前記フルクローズドフィードバック制御の割合を減少させる、請求項１に記載のサーボモータ制御装置。
【請求項３】
前記取得部は、
前記連結機構と前記被駆動体との連結部において前記被駆動体に作用する駆動力を推定する力推定部と、
前記第１位置検出部で検出された前記サーボモータの位置と、前記第２位置検出部で検出された前記被駆動体の位置と、前記力推定部で推定された駆動力とに基づいて、前記連結機構の剛性の大きさを推定する剛性推定部と、
を有する、
請求項１又は２に記載のサーボモータ制御装置。
【請求項４】
前記取得部は、前記サーボモータ制御装置のフィードバック制御ループの伝達特性の周波数特性を取得し、取得した伝達特性の周波数特性から前記サーボモータ制御装置の共振周波数の大きさを取得する、請求項１又は２に記載のサーボモータ制御装置。
【請求項５】
前記モータ制御部は、所定時間間隔又は不定時間間隔ごとに前記取得部で取得された複数の剛性の大きさ、又は、複数の共振周波数の大きさを保存する保存部を更に備え、
前記変更部は、前記保存部に保存された複数の剛性の大きさ又は複数の共振周波数の大きさに基づいて、前記連結機構の剛性の変化量又は前記サーボモータ制御装置の共振周波数の変化量を算出する、
請求項１又は２に記載のサーボモータ制御装置。
【請求項６】
前記デュアル位置制御部は、
前記位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差を求める第１減算部と、
前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差を求める第２減算部と、
前記第１減算部からの前記第１偏差を入力するハイパスフィルタと、
前記第２減算部からの前記第２偏差を入力するローパスフィルタと、
前記ハイパスフィルタから出力される前記第１偏差の高周波数成分と前記ローパスフィルタから出力される前記第２偏差の低周波数成分とを加算する加算部と、
を更に備え、
前記変更部は、前記連結機構の剛性の大きさ又は変化量、又は、前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記ハイパスフィルタのカットオフ周波数及び前記ローパスフィルタのカットオフ周波数を変更させる、
請求項１〜５の何れか１項に記載のサーボモータ制御装置。
【請求項７】
前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記ハイパスフィルタのカットオフ周波数及び前記ローパスフィルタのカットオフ周波数を低下させる、
請求項６に記載のサーボモータ制御装置。
【請求項８】
前記変更部は、前記ハイパスフィルタのカットオフ周波数と前記ローパスフィルタのカットオフ周波数とを同一に設定させる、請求項６又は７に記載のサーボモータ制御装置。
【請求項９】
前記デュアル位置制御部は、
前記位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差を求める第１減算部と、
前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差を求める第２減算部と、
前記第２減算部からの前記第２偏差から、前記第１減算部からの前記第１偏差を減算した第３偏差を求める第３減算部と、
前記第３減算部からの前記第３偏差を入力するローパスフィルタと、
前記第１減算部からの前記第１偏差と前記ローパスフィルタから出力される前記第３偏差の低周波数成分とを加算することにより、前記第１偏差の高周波数成分と前記第２偏差の低周波数成分とを加算する加算部と、
を更に備え、
前記変更部は、前記連結機構の剛性の大きさ又は変化量、又は、前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記ローパスフィルタのカットオフ周波数を変更させる、
請求項１〜５の何れか１項に記載のサーボモータ制御装置。
【請求項１０】
前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記ローパスフィルタのカットオフ周波数を低下させる、
請求項９に記載のサーボモータ制御装置。
【請求項１１】
前記デュアル位置制御部は、
前記位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差を求める第１減算部と、
前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差を求める第２減算部と、
前記第１減算部からの前記第１偏差から、前記第２減算部からの前記第２偏差を減算した第３偏差を求める第３減算部と、
前記第３減算部からの前記第３偏差を入力するハイパスフィルタと、
前記ハイパスフィルタから出力される前記第３偏差の高周波数成分と前記第２減算部からの前記第２偏差とを加算することにより、前記第１偏差の高周波数成分と前記第２偏差の低周波数成分とを加算する加算部と、
を更に備え、
前記変更部は、前記連結機構の剛性の大きさ又は変化量、又は、前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記ハイパスフィルタのカットオフ周波数を変更させる、
請求項１〜５の何れか１項に記載のサーボモータ制御装置。
【請求項１２】
前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記ハイパスフィルタのカットオフ周波数を低下させる、
請求項１１に記載のサーボモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータの位置に基づくセミクローズドフィードバック制御と、被駆動体の位置に基づくフルクローズドフィードバック制御とのデュアル位置フィードバック制御を行うサーボモータ制御装置に関する。
【背景技術】
【０００２】
例えば工作機械等において、サーボモータを用いて被加工物（ワーク）の位置を制御するサーボモータ制御装置が知られている。サーボモータ制御装置は、テーブル（被駆動体）（移動体ともいう）上に被加工物を搭載し、テーブルを連結機構を介してサーボモータで移動させる。連結機構は、サーボモータに連結されるカップリングと、カップリングに固定されるボールねじと、ボールねじに螺合されるとともにテーブルに連結されるナットとを有する。これにより、サーボモータでボールねじを回転させると、ボールねじに螺着されたナットがボールねじの軸方向に移動され、ナットに連結されたテーブルが移動される。
【０００３】
サーボモータ制御装置による制御方式としては、セミクローズドフィードバック制御と、フルクローズドフィードバック制御と、デュアル位置フィードバック制御とがある。セミクローズドフィードバック制御は、サーボモータの位置に基づいてフィードバック制御を行う。フルクローズドフィードバック制御は、被駆動体の位置に基づいてフィードバック制御を行う。デュアル位置フィードバック制御は、サーボモータの位置と被駆動体の位置との双方に基づいてフィードバック制御を行う（例えば、特許文献１〜３を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特公平２−３０５２２号公報
【特許文献２】特開２００２−２９７２４１号公報
【特許文献３】特開２０１０−２７１８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、工作機械の経年変化により、工作機械に振動が発生することがある。例えば、連結機構（特に、カップリング及びボールねじ）の剛性の経年劣化（低下）、又は、工作機械におけるその他何らかの部分の経年劣化の要因により、工作機械の固有の共振周波数が低下し、工作機械に低周波数の振動が発生することがある。工作機械に低周波数の振動が発生すると、工作機械の加工精度が低下する。
【０００６】
本発明は、工作機械の経年変化（例えば、連結機構の剛性の経年劣化）に起因する工作機械の振動の発生を抑制するサーボモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）  本発明に係るサーボモータ制御装置（例えば、後述のサーボモータ制御装置１，１Ａ，１Ｂ，１Ｃ）は、サーボモータ（例えば、後述のサーボモータ５０）と、前記サーボモータにより駆動される被駆動体（例えば、後述のテーブル７０）と、前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構（例えば、連結機構６０）と、前記サーボモータの位置を検出する第１位置検出部（例えば、後述のエンコーダ４０）と、前記被駆動体の位置を検出する第２位置検出部（例えば、後述のスケール８０）と、前記サーボモータを制御するモータ制御部（例えば、後述のモータ制御部１０，１０Ａ，１０Ｂ，１０Ｃ）とを備えるサーボモータ制御装置であって、前記モータ制御部は、前記サーボモータの駆動制御のための位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御と、前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行うデュアル位置制御部（例えば、後述のデュアル位置制御部３０Ａ，３０Ｂ）と、前記連結機構の剛性の大きさ、又は、前記サーボモータ制御装置の共振周波数の大きさを取得する取得部（例えば、後述の力推定部２０，剛性推定部２２，取得部２０Ｃ）と、前記取得部で取得された前記連結機構の剛性の大きさ又は変化量、又は、前記取得部で取得された前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記デュアル位置制御部における前記セミクローズドフィードバック制御と前記フルクローズドフィードバック制御との割合を変更させる変更部（例えば、後述の制御割合変更部３５Ａ，３５Ｂ）とを有する。
【０００８】
（２）  （１）に記載のサーボモータ制御装置において、前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記セミクローズドフィードバック制御の割合を増加させ、前記フルクローズドフィードバック制御の割合を減少させてもよい。
【０００９】
（３）  （１）又は（２）に記載のサーボモータ制御装置において、前記取得部は、前記連結機構と前記被駆動体との連結部において前記被駆動体に作用する駆動力を推定する力推定部（例えば、後述の力推定部２０）と、前記第１位置検出部で検出された前記サーボモータの位置と、前記第２位置検出部で検出された前記被駆動体の位置と、前記力推定部で推定された駆動力とに基づいて、前記連結機構の剛性の大きさを推定する剛性推定部（例えば、後述の剛性推定部２２）とを有してもよい。
【００１０】
（４）  （１）又は（２）に記載のサーボモータ制御装置において、前記取得部は、前記サーボモータ制御装置のフィードバック制御ループの伝達特性の周波数特性を取得し、取得した伝達特性の周波数特性から前記サーボモータ制御装置の共振周波数の大きさを取得してもよい。
【００１１】
（５）  （１）又は（２）に記載のサーボモータ制御装置において、前記モータ制御部は、所定時間間隔又は不定時間間隔ごとに前記取得部で取得された複数の剛性の大きさ、又は、複数の共振周波数の大きさを保存する保存部（例えば、後述の保存部２４）を更に備えてもよく、前記変更部は、前記保存部に保存された複数の剛性の大きさ又は複数の共振周波数の大きさに基づいて、前記連結機構の剛性の変化量又は前記サーボモータ制御装置の共振周波数の変化量を算出してもよい。
【００１２】
（６）  （１）から（５）のいずれかに記載のサーボモータ制御装置において、前記デュアル位置制御部は、前記位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差を求める第１減算部（例えば、後述の減算器３１Ａ）と、前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差を求める第２減算部（例えば、後述の減算器３１Ｂ）と、前記第１減算部からの前記第１偏差を入力するハイパスフィルタ（例えば、後述のハイパスフィルタ３２Ａ）と、前記第２減算部からの前記第２偏差を入力するローパスフィルタ（例えば、後述のローパスフィルタ３２Ｂ）と、前記ハイパスフィルタから出力される前記第１偏差の高周波数成分と前記ローパスフィルタから出力される前記第２偏差の低周波数成分とを加算する加算部（例えば、後述の加算器３３）とを更に備えてもよく、前記変更部は、前記連結機構の剛性の大きさ又は変化量、又は、前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記ハイパスフィルタのカットオフ周波数及び前記ローパスフィルタのカットオフ周波数を変更させてもよい。
【００１３】
（７）  （６）に記載のサーボモータ制御装置において、前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記ハイパスフィルタのカットオフ周波数及び前記ローパスフィルタのカットオフ周波数を低下させてもよい。
【００１４】
（８）  （１）から（７）のいずれかに記載のサーボモータ制御装置において、前記変更部は、前記ハイパスフィルタのカットオフ周波数と前記ローパスフィルタのカットオフ周波数とを同一に設定させてもよい。
【００１５】
（９）  （１）から（５）のいずれかに記載のサーボモータ制御装置において、前記デュアル位置制御部は、前記位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差を求める第１減算部（例えば、後述の減算器３１Ａ）と、前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差を求める第２減算部（例えば、後述の減算器３１Ｂ）と、前記第２減算部からの前記第２偏差から、前記第１減算部からの前記第１偏差を減算した第３偏差を求める第３減算部（例えば、後述の減算器３１Ｃ）と、前記第３減算部からの前記第３偏差を入力するローパスフィルタ（例えば、後述のローパスフィルタ３２Ｂ）と、前記第１減算部からの前記第１偏差と前記ローパスフィルタから出力される前記第３偏差の低周波数成分とを加算することにより、前記第１偏差の高周波数成分と前記第２偏差の低周波数成分とを加算する加算部（例えば、後述の加算器３３）とを更に備えてもよく、前記変更部は、前記連結機構の剛性の大きさ又は変化量、又は、前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記ローパスフィルタのカットオフ周波数を変更させてもよい。
【００１６】
（１０）  （９）に記載のサーボモータ制御装置において、前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記ローパスフィルタのカットオフ周波数を低下させてもよい。
【００１７】
（１１）  （１）から（５）のいずれかに記載のサーボモータ制御装置において、前記デュアル位置制御部は、前記位置指令値と前記第１位置検出部で検出された前記サーボモータの位置との第１偏差を求める第１減算部（例えば、後述の減算器３１Ａ）と、前記位置指令値と前記第２位置検出部で検出された前記被駆動体の位置との第２偏差を求める第２減算部（例えば、後述の減算器３１Ｂ）と、前記第１減算部からの前記第１偏差から、前記第２減算部からの前記第２偏差を減算した第３偏差を求める第３減算部（例えば、後述の減算器３１Ｃ）と、前記第３減算部からの前記第３偏差を入力するハイパスフィルタ（例えば、後述のハイパスフィルタ３２Ａ）と、前記ハイパスフィルタから出力される前記第３偏差の高周波数成分と前記第２減算部からの前記第２偏差とを加算することにより、前記第１偏差の高周波数成分と前記第２偏差の低周波数成分とを加算する加算部（例えば、後述の加算器３３）とを更に備えてもよく、前記変更部は、前記連結機構の剛性の大きさ又は変化量、又は、前記サーボモータ制御装置の共振周波数の大きさ又は変化量に応じて、前記ハイパスフィルタのカットオフ周波数を変更させてもよい。
【００１８】
（１２）  （１１）に記載のサーボモータ制御装置において、前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記ハイパスフィルタのカットオフ周波数を低下させてもよい。
【発明の効果】
【００１９】
本発明によれば、工作機械の経年変化（例えば、連結機構の剛性の経年劣化）に起因する工作機械の振動の発生を抑制するサーボモータ制御装置を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るサーボモータ制御装置の構成の一例を示す図である。
【図２】第１実施形態に係るサーボモータ制御装置におけるモータ制御部の構成を示す図である。
【図３】第１実施形態に係るサーボモータ制御装置によるデュアル位置フィードバック制御の割合変更動作を示すフローチャートである。
【図４】第２実施形態に係るサーボモータ制御装置におけるモータ制御部の構成を示す図である。
【図５】第２実施形態の変形例に係るサーボモータ制御装置におけるモータ制御部の構成を示す図である。
【図６】第３実施形態に係るサーボモータ制御装置におけるモータ制御部の構成を示す図である。
【図７】第３実施形態に係るサーボモータ制御装置によるデュアル位置フィードバック制御の割合変更動作を示すフローチャートである。
【図８】サーボモータ制御装置のフィードバック制御ループの利得／位相の周波数特性の一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００２２】
図１は、本発明の実施形態に係るサーボモータ制御装置の構成の一例を示す図である。図１に示すように、サーボモータ制御装置１は、モータ制御部１０と、サーボモータ５０と、エンコーダ（第１位置検出部）４０と、連結機構６０と、テーブル（被駆動体）７０と、スケール（第２位置検出部）８０とを備える。
【００２３】
サーボモータ制御装置１は、サーボモータ５０で連結機構６０を介してテーブル７０を移動させ、テーブル７０の上に搭載された被加工物（ワーク）を加工する。連結機構６０は、サーボモータ５０に連結されたカップリング６１と、カップリング６１に固定されるボールねじ６２とを有し、ボールねじ６２にナット６３が螺合されている。サーボモータ５０の回転駆動によって、ボールねじ６２に螺着されたナット６３がボールねじ６２の軸方向に移動され、ナット６３に連結されたテーブル７０が移動される。
【００２４】
サーボモータ５０の回転角度位置は、サーボモータ５０に設けられたエンコーダ４０によって検出され、検出された回転位置（回転量）は第１位置フィードバック（以下、位置ＦＢ１という。）として利用される。ここで、サーボモータ５０の回転角度位置とテーブル７０の位置とは対応関係にあるため、エンコーダ４０で検出された回転位置、すなわち位置ＦＢ１値は、テーブル７０の位置を示す。なお、エンコーダ４０は回転速度を検出可能であり、検出された速度は速度フィードバック（以下、速度ＦＢという。）として利用可能である。
【００２５】
また、テーブル７０の位置は、テーブル７０に設けられたスケール８０によって検出され、検出された位置は第２位置フィードバック（以下、位置ＦＢ２という。）として利用される。
【００２６】
モータ制御部１０は、加工プログラムに従う位置指令値、位置ＦＢ１値又は位置ＦＢ２値、及び、速度ＦＢ値に基づいて、サーボモータ５０を制御する。具体的には、モータ制御部１０は、位置指令値と位置ＦＢ１値との偏差（第１偏差）に基づくセミクローズドフィードバック制御と、位置指令値と位置ＦＢ２値との偏差（第２偏差）に基づくフルクローズドフィードバック制御とを行うデュアル位置フィードバック制御を行う。モータ制御部１０の詳細については後述する。
【００２７】
以下、サーボモータ制御装置１として、３つの実施形態のサーボモータ制御装置１Ａ，１Ｂ，１Ｃについて詳細に説明する。第１〜第３実施形態のサーボモータ制御装置１Ａ，１Ｂ，１Ｃは、上述したサーボモータ制御装置１において、モータ制御部１０としてモータ制御部１０Ａ，１０Ｂ，１０Ｃをそれぞれ備える点で相違する。第１〜第３実施形態のサーボモータ制御装置１Ａ，１Ｂ，１Ｃのその他の構成は、上述したサーボモータ制御装置１と同一である。
【００２８】
（第１実施形態のサーボモータ制御装置）
図１において、第１実施形態に係るサーボモータ制御装置１Ａは、上述したモータ制御部１０としてモータ制御部１０Ａを備える。
【００２９】
図２は、第１実施形態に係るサーボモータ制御装置１Ａにおけるモータ制御部１０Ａの構成を示す図である。図２に示すように、モータ制御部１０Ａは、位置指令生成部１２と、デュアル位置制御部３０Ａと、速度指令生成部１４と、減算器１５と、トルク指令生成部１６と、力推定部（取得部）２０と、剛性推定部（取得部）２２と、保存部２４と、表示部（通知部）２６と、制御割合変更部（変更部）３５Ａとを備える。
【００３０】
位置指令生成部１２は、図示しない上位制御装置や外部入力装置等から入力されるプログラムや命令に従って、サーボモータ５０の位置指令値を作成する。
【００３１】
デュアル位置制御部３０Ａは、位置指令生成部１２で作成された位置指令値とエンコーダ４０からの位置ＦＢ１値との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール８０からの位置ＦＢ２値との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。デュアル位置制御部３０Ａは、減算器３１Ａ，３１Ｂと、ハイパスフィルタ３２Ａと、ローパスフィルタ３２Ｂと、加算器３３とを備える。
【００３２】
減算器（第１減算部）３１Ａは、位置指令生成部１２で作成された位置指令値とエンコーダ４０からの位置ＦＢ１値との第１偏差を求める。ハイパスフィルタ３２Ａは、減算器３１Ａで求められた第１偏差における高周波数成分を通過させ、低周波数成分をカットする。ハイパスフィルタ３２Ａのカットオフ周波数は、制御割合変更部３５Ａからの制御信号Ｓ１に応じて変更される。
【００３３】
減算器（第２減算部）３１Ｂは、位置指令生成部１２で作成された位置指令値とスケール８０からの位置ＦＢ２値との第２偏差を求める。ローパスフィルタ３２Ｂは、減算器３１Ｂで求められた第２偏差における低周波数成分を通過させ、高周波数成分をカットする。ローパスフィルタ３２Ｂのカットオフ周波数は、制御割合変更部３５Ａからの制御信号Ｓ２に応じて変更される。
【００３４】
加算器３３は、ハイパスフィルタ３２Ａを通過した第１偏差の高周波数成分と、ローパスフィルタ３２Ｂを通過した第２偏差の低周波数成分とを加算し、速度指令生成部１４に送信する。
【００３５】
ここで、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数ｆ［Ｈｚ］と時定数τ［ｓ］との間には以下の関係が成り立つ。
ｆ＝１／（２π×τ）
これより、カットオフ周波数を調整することは、時定数を調整することと同義である。
【００３６】
第１偏差をＥ１、第２偏差をＥ２とすると、ハイパスフィルタ３２Ａの出力ＥＨ、ローパスフィルタ３２Ｂの出力ＥＬは次式のように表される。
ＥＨ＝τｓ／（１＋τｓ）×Ｅ１
ＥＬ＝１／（１＋τｓ）×Ｅ２
ｓ：角周波数
これより、加算器３３で加算された偏差は次式のように表される。
偏差＝τｓ／（１＋τｓ）×Ｅ１＋１／（１＋τｓ）×Ｅ２  ・・・（１）
【００３７】
上式（１）より、時定数がτ＝∞、すなわちカットオフ周波数がｆ＝０では、偏差＝Ｅ１となり、セミクローズドフィードバック制御が支配的となる。一方、時定数がτ＝０、すなわちカットオフ周波数がｆ＝∞では、偏差＝Ｅ２となり、フルクローズドフィードバック制御が支配的となる。
また、時定数τの大きさ、すなわちカットオフ周波数ｆの大きさを制御して、セミクローズドフィードバック制御とフルクローズドフィードバック制御との比率を変更することができる。
【００３８】
速度指令生成部１４は、デュアル位置制御部３０Ａの加算器３３で求められた偏差に基づいてサーボモータ５０の速度指令値を作成する。減算器１５は、速度指令生成部１４で作成された速度指令値とエンコーダ４０からの速度ＦＢ値との差を求める。トルク指令生成部１６は、減算器１５で求められた差分に基づいてサーボモータ５０のトルク指令値を作成し、サーボモータ５０に供給する。
【００３９】
力推定部２０は、トルク指令生成部１６からのトルク指令値に基づいて、テーブル７０（ナット６３）と連結機構６０との連結部においてテーブル７０に作用する駆動トルク（駆動力）を推定する。なお、力推定部２０は、電流検出器を用いて検出したサーボモータ５０の駆動電流、すなわち実電流（実トルク）に基づいて駆動トルクを推定してもよい。
【００４０】
剛性推定部２２は、力推定部２０で推定された駆動トルクと、エンコーダ４０からの位置ＦＢ１値（エンコーダ４０で検出されたサーボモータ５０の位置、すなわちテーブル７０の位置）と、スケール８０からの位置ＦＢ２値（スケール８０で検出されたテーブル７０の位置）とに基づいて、連結機構６０の剛性の大きさを推定する。具体的には、剛性推定部２２は、推定された駆動トルク値、及び、位置ＦＢ１値と位置ＦＢ２値との差に基づいて、下式（２）より、連結機構６０の剛性の大きさを推定する。
剛性の大きさ＝駆動トルク値／位置ＦＢ１値と位置ＦＢ２値との差  ・・・（２）
連結機構６０の剛性の大きさの推定方法の詳細については後述する。
【００４１】
保存部２４は、所定時間間隔又は不定時間間隔ごとに、剛性推定部２２で推定された連結機構６０の剛性の大きさを保存する。
また、保存部２４は、連結機構６０の剛性の大きさを入力とし、入力した剛性の大きさに応じた制御信号であって、ハイパスフィルタ３２Ａのカットオフ周波数及びローパスフィルタ３２Ｂのカットオフ周波数を変更する制御信号Ｓ１，Ｓ２を出力とする関数を保存する。例えば、保存部２４は、関数として、剛性の大きさと制御信号Ｓ１，Ｓ２とが関連付けされたテーブルを保存する。例えば、テーブルでは、剛性が低下するほど、カットオフ周波数を低くするような制御信号Ｓ１，Ｓ２が設定される。
保存部２４は、例えばＥＥＰＲＯＭ等の書き換え可能なメモリである。
【００４２】
制御割合変更部３５Ａは、剛性推定部２２で推定された連結機構６０の剛性の大きさに応じて、デュアル位置制御部３０Ａにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部３５Ａは、推定された連結機構６０の剛性の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【００４３】
より具体的には、制御割合変更部３５Ａは、保存部２４に保存された関数（例えば、テーブル）に基づいて、剛性推定部２２で推定された連結機構６０の剛性の大きさに対応した制御信号Ｓ１，Ｓ２を生成し、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂにそれぞれ送信する。これにより、制御割合変更部３５Ａは、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を変更させる。具体的には、制御割合変更部３５Ａは、推定された連結機構６０の剛性の低下に応じて、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を低下させる。
【００４４】
制御信号Ｓ１，Ｓ２は、同一であってもよいし、異なっていてもよい。すなわち、ハイパスフィルタ３２Ａのカットオフ周波数とローパスフィルタ３２Ｂのカットオフ周波数とは、同一であってもよいし、異なっていてもよい。これらのフィルタのカットオフ周波数が同一である場合、Ｅ１とＥ２の値が近い値となると加算器３３で加算された偏差の周波数特性は全体域に渡ってフラットに近い特性にすることができる。なお、これらのフィルタのカットオフ周波数が同一でない場合には、これらのフィルタのカットオフ周波数間の周波数成分が減衰又は増幅されるため、これらのある特定の周波数成分を増幅あるいは減衰してもよい。
【００４５】
表示部２６は、剛性推定部２２で推定された剛性の大きさを示す情報（例えば、数値、文字、画像等）を表示する。表示部２６は、例えば液晶ディスプレイ等の表示装置である。
【００４６】
モータ制御部１０Ａ（及び、後述するモータ制御部１０Ｂ，１０Ｃ）は、例えば、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の演算プロセッサで構成される。モータ制御部１０Ａ（モータ制御部１０Ｂ，１０Ｃ）の各種機能（位置指令生成部１２、デュアル位置制御部３０Ａ（すなわち、減算器３１Ａ，３１Ｂ、ハイパスフィルタ３２Ａ、ローパスフィルタ３２Ｂ、加算器３３）、速度指令生成部１４、減算器１５、トルク指令生成部１６、力推定部２０、剛性推定部２２、制御割合変更部３５Ａ、後述するデュアル位置制御部３０Ｂ（すなわち、減算器３１Ｃ）、後述する制御割合変更部３５Ｂ、及び、後述する取得部２０Ｃ）は、記憶部（例えば、保存部２４）に格納された所定のソフトウェア（プログラム）を実行することで実現される。モータ制御部１０Ａ（モータ制御部１０Ｂ，１０Ｃ）の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア（電子回路）のみで実現されてもよい。
【００４７】
次に、図３を参照して、第１実施形態のサーボモータ制御装置１Ａによるデュアル位置フィードバック制御の割合変更動作について説明する。図３は、第１実施形態のサーボモータ制御装置１Ａによるデュアル位置フィードバック制御の割合変更動作を示すフローチャートである。
【００４８】
まず、ステップＳ１１において、モータ制御部１０Ａは、位置指令（移動指令）に応じたトルク指令をサーボモータ５０に供給して、サーボモータ５０を回転させる。このとき、力推定部２０は、トルク指令生成部１６からのトルク指令に基づいて、テーブル７０（ナット６３）と連結機構６０との連結部においてテーブル７０に作用する駆動トルクを推定する。また、サーボモータ５０におけるエンコーダ４０により、サーボモータ５０の回転位置（テーブル７０の位置に対応した回転位置）を検出し、位置ＦＢ１値としてモータ制御部１０Ａに送信する。また、テーブル７０におけるスケール８０により、テーブル７０の位置を検出し、位置ＦＢ２値としてモータ制御部１０Ａに送信する。
【００４９】
次に、ステップＳ１２において、剛性推定部２２は、力推定部２０で推定された駆動トルク値、及び、エンコーダ４０からの位置ＦＢ１値とスケール８０からの位置ＦＢ２値との差に基づいて、連結機構６０の剛性の大きさを推定する。
【００５０】
ここで、エンコーダ４０で検出されたサーボモータ５０の回転位置（すなわち、テーブル７０の位置に対応する回転位置）（位置ＦＢ１値）と、スケール８０で検出されたテーブル７０の位置（位置ＦＢ２値）との差は、連結機構（ボールネジ、カップリングなど）の捻じれなどの弾性変形に起因して生じる。そして、剛性は、加える力（駆動トルク）に対する変形量（弾性変形量）の比で表される。これより、剛性推定部２２は、下式（２）より、剛性の大きさを推定する。
剛性の大きさ＝駆動トルク値／弾性変形量
＝駆動トルク値／位置ＦＢ１値と位置ＦＢ２値との差  ・・・（２）
なお、本実施形態では、剛性推定部２２で推定される剛性は、弾性変形とガタの影響とを含む。
【００５１】
連結機構６０の剛性は、経年変化（低下、劣化）する。例えば、連結機構６０におけるボールねじ６２の剛性は、経時的に予圧が弱まることにより低下する。剛性が低下すると、サーボモータ制御装置（すなわち、工作機械）の共振周波数が低下し、工作機械に低周波数の振動が生じる可能性が高くなる。工作機械に低周波数の振動が発生すると、工作機械の加工精度が低下する。
【００５２】
そこで、ステップＳ１３において、制御割合変更部３５Ａは、保存部２４に保存された関数（例えば、テーブル）に基づいて、剛性推定部２２で推定された連結機構６０の剛性の大きさに対応した制御信号Ｓ１，Ｓ２を生成し、デュアル位置制御部３０Ａのハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂにそれぞれ送信する。これにより、制御割合変更部３５Ａは、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を変更させる。具体的には、制御割合変更部３５Ａは、推定された連結機構６０の剛性の低下に応じて、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を低下させる。
【００５３】
これにより、ローパスフィルタ３２Ｂを通過する位置指令値と位置ＦＢ２値との第２偏差の低周波数成分の割合が減少し、ハイパスフィルタ３２Ａを通過する位置指令値と位置ＦＢ１値との第１偏差の高周波数成分の割合が増加する。そのため、第２偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、第１偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。
【００５４】
ここで、デュアル位置制御部３０Ａでは、高周波数の偏差が生成される過渡動作時には、ハイパスフィルタ３２Ａを含むセミクローズドフィードバック制御が支配的となる。一方、低周波数の偏差が生成される位置決め時には、ローパスフィルタ３２Ｂを含むフルクローズドフィードバック制御が支配的となる。
【００５５】
位置指令値と位置ＦＢ１値との第１偏差に基づくセミクローズドフィードバック制御は、サーボモータ５０のエンコーダ４０からの位置ＦＢ１を用いるため、換言すれば、フィードバックループに連結機構６０が含まれないため、制御が安定するという特徴を有する。一方、位置指令値と位置ＦＢ２値との第２偏差に基づくフルクローズドフィードバック制御は、テーブル（被駆動体）７０の近くに設けられたスケール８０からの位置ＦＢ２値を用いるため、位置決め精度が高いという特徴を有する。
【００５６】
これより、デュアル位置制御部３０Ａによれば、過渡動作時には、安定な動作を得ることができ、工作機械の振動を抑制することができる。一方、位置決め時には、高い位置決め精度を得ることができる。
【００５７】
更に、制御割合変更部３５Ａにより、連結機構６０の剛性の低下に応じて、ハイパスフィルタ３２Ａのカットオフ周波数及びローパスフィルタ３２Ｂのカットオフ周波数を低下させるので、連結機構６０を含むフルクローズドフィードバック制御の割合が減少し、連結機構６０を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、連結機構６０の剛性の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【００５８】
なお、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数が低いほど、過渡動作時のセミクローズドフィードバック制御から位置決め時のフルクローズドフィードバック制御への切り換えが緩やかになる（遅くなる）。
【００５９】
このとき、表示部２６は、連結機構６０の剛性の大きさを示す情報を表示してもよい。
【００６０】
モータ制御部１０Ａは、所定時間経過後にステップＳ１１に戻り、上述した動作を繰り返す。なお、モータ制御部１０Ａは、予め定めた一定時間（所定時間）経過後に限らず、不規則な時間経過後に（不定時間間隔で）上述した動作を繰り返してもよい。或いは、モータ制御部１０Ａは、常時、又は設定された特定の動作時（例えば、起動時）に上述した動作を繰り返してもよい。
【００６１】
なお、ステップＳ１２において、剛性推定部２２は、推定した剛性の大きさを推定日時などの諸情報と関連付けて保存部２４に保存してもよい。また、ステップＳ１３において、制御割合変更部３５Ａは、保存部２４に保存された最新の剛性の大きさに基づいて、制御の割合を変更してもよい。
【００６２】
以上説明したように、本実施形態のサーボモータ制御装置１Ａでは、力推定部（取得部）２０及び剛性推定部（取得部）２２が連結機構６０の剛性の大きさを推定し、制御割合変更部３５Ａが、推定された連結機構６０の剛性の低下に応じて、デュアル位置制御部３０Ａのハイパスフィルタ３２Ａのカットオフ周波数及びローパスフィルタ３２Ｂのカットオフ周波数を低下させる。これより、位置指令値と位置ＦＢ２値との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、位置指令値と位置ＦＢ１値との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。すなわち、連結機構６０を含むフルクローズドフィードバック制御の割合が減少し、連結機構６０を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、連結機構６０の剛性の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【００６３】
また、本実施形態のサーボモータ制御装置１Ａでは、表示部２６が、連結機構６０の剛性の大きさに関する情報を表示するので、ユーザは連結機構６０の剛性の経年変化（劣化）を確認することができる。また、ユーザは連結機構６０の保守の必要性の有無を確認することができる。
【００６４】
なお、本実施形態では、制御割合変更部３５Ａは、連結機構６０の剛性の大きさに応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更したが、これに限定されない。例えば、制御割合変更部３５Ａは、保存部２４に保存された所定時間間隔又は不定時間間隔ごとに推定した複数の剛性の大きさに基づいて連結機構６０の剛性の変化量（低下量）を求め、求めた連結機構６０の剛性の変化量（低下量）に応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更してもよい。
【００６５】
また、表示部２６は、求めた連結機構６０の剛性の変化量（低下量）を示す情報を表示してもよい。
【００６６】
（第２実施形態のサーボモータ制御装置）
第１実施形態では、ハイパスフィルタ３２Ａとローパスフィルタ３２Ｂとの２つのフィルタを用いたデュアル位置制御部３０Ａを説明した。第２実施形態では、１つのローパスフィルタと減算器とを用いたデュアル位置制御部について説明する。
【００６７】
図１において、第２実施形態に係るサーボモータ制御装置１Ｂは、上述したモータ制御部１０としてモータ制御部１０Ｂを備える。
【００６８】
図４は、第２実施形態に係るサーボモータ制御装置１Ｂにおけるモータ制御部１０Ｂの構成を示す図である。図４に示すように、モータ制御部１０Ｂは、図２に示すモータ制御部１０Ａにおいてデュアル位置制御部３０Ａ及び制御割合変更部３５Ａに代えてデュアル位置制御部３０Ｂ及び制御割合変更部３５Ｂを備える構成で第１実施形態と異なる。
【００６９】
デュアル位置制御部３０Ｂは、デュアル位置制御部３０Ａにおいてハイパスフィルタ３２Ａに代えて減算器３１Ｃを備える点で第１実施形態と異なる。
【００７０】
減算器（第３減算部）３１Ｃは、減算器３１Ｂで求められた第２偏差から、減算器３１Ａで求められた第１偏差を減算した第３偏差を求める。
【００７１】
ローパスフィルタ３２Ｂは、減算器３１Ｃで求められた第３偏差における低周波数成分を通過させ、高周波数成分をカットする。換言すれば、ローパスフィルタ３２Ｂは、第２偏差の低周波数成分と第１偏差の低周波数成分（負値）とを通過させる。ローパスフィルタ３２Ｂのカットオフ周波数は、制御割合変更部３５Ｂからの制御信号Ｓに応じて変更される。
【００７２】
加算器３３は、減算器３１Ａで求められた第１偏差と、ローパスフィルタ３２Ｂを通過した第３偏差の低周波数成分とを加算し、速度指令生成部１４に送信する。換言すれば、加算器３３は、第１偏差と第１偏差の低周波数成分（負値）との加算による第１偏差の高周波数成分と、第２偏差の低周波数成分とを加算する。
【００７３】
これより、デュアル位置制御部３０Ｂも、デュアル位置制御部３０Ａと同様に、位置指令値とエンコーダ４０からの位置ＦＢ１値との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール８０からの位置ＦＢ２値との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。
【００７４】
ここで、第１偏差をＥ１、第２偏差をＥ２とすると、第３偏差Ｅ３、ローパスフィルタ３２Ｂの出力ＥＬは次式のように表される。
Ｅ３＝Ｅ２−Ｅ１
ＥＬ＝１／（１＋τｓ）×Ｅ３＝１／（１＋τｓ）×（Ｅ２−Ｅ１）
これより、加算器３３で加算された偏差は次式のように表される。
偏差＝Ｅ１＋１／（１＋τｓ）×（Ｅ２−Ｅ１）
＝τｓ／（１＋τｓ）×Ｅ１＋１／（１＋τｓ）×Ｅ２  ・・・（３）
上式（３）は、上述の式（１）と同一である。これより、上式（３）からも、デュアル位置制御部３０Ｂの機能及び動作は、上述したデュアル位置制御部３０Ａの機能及び動作と同一であることがわかる。
【００７５】
制御割合変更部３５Ｂは、制御割合変更部３５Ａと同様に、剛性推定部２２で推定された連結機構６０の剛性の大きさに応じて、デュアル位置制御部３０Ｂにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部３５Ｂは、推定された連結機構６０の剛性の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【００７６】
より具体的には、制御割合変更部３５Ｂは、保存部２４に保存された関数（例えば、テーブル）に基づいて、剛性推定部２２で推定された連結機構６０の剛性の大きさに対応した制御信号Ｓを生成し、ローパスフィルタ３２Ｂに送信する。これにより、制御割合変更部３５Ｂは、ローパスフィルタ３２Ｂのカットオフ周波数を変更させる。具体的には、制御割合変更部３５Ｂは、推定された連結機構６０の剛性の低下に応じて、ローパスフィルタ３２Ｂのカットオフ周波数を低下させる。
【００７７】
本実施形態のサーボモータ制御装置１Ｂでも、第１実施形態のサーボモータ制御装置１Ａと同様の利点を得ることができる。
【００７８】
すなわち、本実施形態のデュアル位置制御部３０Ｂでも、位置指令値とエンコーダ４０からの位置ＦＢ１値との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール８０からの位置ＦＢ２値との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。これより、高周波数の偏差が生成される過渡動作時には、セミクローズドフィードバック制御が支配的となり、低周波数の偏差が生成される位置決め時には、フルクローズドフィードバック制御が支配的となる。その結果、過渡動作時には、安定な動作を得ることができ、工作機械の振動を抑制することができる。一方、位置決め時には、高い位置決め精度を得ることができる。
【００７９】
さらに、本実施形態のサーボモータ制御装置１Ｂでは、制御割合変更部３５Ｂが、推定された連結機構６０の剛性の低下に応じて、ローパスフィルタ３２Ｂのカットオフ周波数を低下させる。これより、位置指令値と位置ＦＢ２値との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、位置指令値と位置ＦＢ１値との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。すなわち、連結機構６０を含むフルクローズドフィードバック制御の割合が減少し、連結機構６０を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、連結機構６０の剛性の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【００８０】
なお、本実施形態でも、制御割合変更部３５Ｂは、保存部２４に保存された所定時間間隔又は不定時間間隔ごとに推定した複数の剛性の大きさに基づいて連結機構６０の剛性の変化量（低下量）を求め、求めた連結機構６０の剛性の変化量（低下量）に応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更してもよい。
【００８１】
（第２実施形態の変形例）
図５は、第２実施形態の変形例に係るサーボモータ制御装置１Ｂにおけるモータ制御部１０Ｂの構成を示す図である。図５に示すように、デュアル位置制御部３０Ｂは、減算器３１Ｃ及びローパスフィルタ３２Ｂに代えて減算器３１Ｃ及びハイパスフィルタ３２Ａを備えてもよい。
【００８２】
減算器（第３減算部）３１Ｃは、減算器３１Ａで求められた第１偏差から、減算器３１Ｂで求められた第２偏差を減算した第３偏差を求める。
【００８３】
ハイパスフィルタ３２Ａは、減算器３１Ｃで求められた第３偏差における高周波数成分を通過させ、低周波数成分をカットする。換言すれば、ハイパスフィルタ３２Ａは、第１偏差の高周波数成分と第２偏差の高周波数成分（負値）とを通過させる。ハイパスフィルタ３２Ａのカットオフ周波数は、制御割合変更部３５Ｂからの制御信号Ｓに応じて変更される。
【００８４】
加算器３３は、ハイパスフィルタ３２Ａを通過した第３偏差の高周波数成分と、減算器３１Ｂで求められた第２偏差とを加算し、速度指令生成部１４に送信する。換言すれば、加算器３３は、第１偏差の高周波数成分と、第２偏差と第２偏差の高周波数成分（負値）との加算による第２偏差の低周波数成分とを加算する。
【００８５】
これより、変形例のデュアル位置制御部３０Ｂも、第２実施形態のデュアル位置制御部３０Ｂと同様に、位置指令値とエンコーダ４０からの位置ＦＢ１値との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール８０からの位置ＦＢ２値との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。
【００８６】
ここで、第１偏差をＥ１、第２偏差をＥ２とすると、第３偏差Ｅ３、ハイパスフィルタ３２Ａの出力ＥＨは次式のように表される。
Ｅ３＝Ｅ１−Ｅ２
ＥＨ＝τｓ／（１＋τｓ）×Ｅ３＝τｓ／（１＋τｓ）×（Ｅ１−Ｅ２）
これより、加算器３３で加算された偏差は次式のように表される。
偏差＝τｓ／（１＋τｓ）×（Ｅ１−Ｅ２）＋Ｅ２
＝τｓ／（１＋τｓ）×Ｅ１＋１／（１＋τｓ）×Ｅ２  ・・・（４）
上式（４）は、上述の式（３）と同一である。これより、上式（４）からも、変形例のデュアル位置制御部３０Ｂの機能及び動作は、第２実施形態のデュアル位置制御部３０Ｂの機能及び動作と同一であることがわかる。
【００８７】
制御割合変更部３５Ｂは、第２実施形態と同様に、剛性推定部２２で推定された連結機構６０の剛性の大きさに応じて、デュアル位置制御部３０Ｂにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部３５Ｂは、推定された連結機構６０の剛性の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【００８８】
より具体的には、制御割合変更部３５Ｂは、保存部２４に保存された関数（例えば、テーブル）に基づいて、剛性推定部２２で推定された連結機構６０の剛性の大きさに対応した制御信号Ｓを生成し、ハイパスフィルタ３２Ａに送信する。これにより、制御割合変更部３５Ｂは、ハイパスフィルタ３２Ａのカットオフ周波数を変更させる。具体的には、制御割合変更部３５Ｂは、推定された連結機構６０の剛性の低下に応じて、ハイパスフィルタ３２Ａのカットオフ周波数を低下させる。
【００８９】
この変形例のサーボモータ制御装置１Ｂでも、第２実施形態のサーボモータ制御装置１Ｂと同様の利点を得ることができる。
【００９０】
（第３実施形態のサーボモータ制御装置）
第１実施形態では、連結機構６０の剛性の大きさに応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更した。第３実施形態では、サーボモータ制御装置の共振周波数の大きさに基づいてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。
【００９１】
図１において、第３実施形態に係るサーボモータ制御装置１Ｃは、上述したモータ制御部１０としてモータ制御部１０Ｃを備える。
【００９２】
図６は、第３実施形態に係るサーボモータ制御装置１Ｃにおけるモータ制御部１０Ｃの構成を示す図である。図６に示すように、モータ制御部１０Ｃは、図２に示すモータ制御部１０Ａにおいて力推定部２０（取得部）及び剛性推定部（取得部）２２に代えて取得部２０Ｃを備える構成で第１実施形態と異なる。
【００９３】
取得部２０Ｃは、サーボモータ制御装置１Ｃの伝達特性の周波数特性を取得する。例えば、取得部２０Ｃは、減算器３１Ｂからスケール８０までのフルクローズドフィードバック制御ループの利得／位相の周波数特性を取得する。
具体的には、取得部２０Ｃは、減算器３１Ｂに加振信号（例えば、正弦波スイープ信号、Ｍ系列信号などの複数の周波数成分を含む信号）を入力し、スケール８０から減算器３１Ｂにフィードバックされる位置ＦＢ２信号を測定することにより、フルクローズドフィードバック制御ループの利得／位相の周波数特性を取得する。このとき、全てのフィードバックループを開ループ状態とする。
【００９４】
そして、取得部２０Ｃは、取得した利得／位相の周波数特性から、サーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数の大きさを求める。
【００９５】
保存部２４は、所定時間間隔又は不定時間間隔ごとに、取得部２０Ｃで取得されたサーボモータ制御装置１Ｃの共振周波数の大きさを保存する。
また、保存部２４は、サーボモータ制御装置１Ｃの共振周波数の大きさを入力とし、入力した共振周波数の大きさに応じた制御信号であって、ハイパスフィルタ３２Ａのカットオフ周波数及びローパスフィルタ３２Ｂのカットオフ周波数を変更する制御信号Ｓ１，Ｓ２を出力とする関数を保存する。例えば、保存部２４は、関数として、共振周波数の大きさと制御信号Ｓ１，Ｓ２とが関連付けされたテーブルを保存する。例えば、テーブルでは、共振周波数が低下するほど、カットオフ周波数を低くするような制御信号Ｓ１，Ｓ２が設定される。
【００９６】
制御割合変更部３５Ａは、取得部２０Ｃで取得されたサーボモータ制御装置１Ｃの共振周波数の大きさに応じて、デュアル位置制御部３０Ａにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部３５Ａは、取得されたサーボモータ制御装置１Ｃの共振周波数の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【００９７】
より具体的には、制御割合変更部３５Ａは、保存部２４に保存された関数（例えば、テーブル）に基づいて、取得部２０Ｃで取得されたサーボモータ制御装置１Ｃの共振周波数の大きさに対応した制御信号Ｓ１，Ｓ２を生成し、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂにそれぞれ送信する。これにより、制御割合変更部３５Ａは、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を変更させる。具体的には、制御割合変更部３５Ａは、推定されたサーボモータ制御装置１Ｃの共振周波数の低下に応じて、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を低下させる。
【００９８】
次に、図７を参照して、第３実施形態のサーボモータ制御装置１Ｃによるデュアル位置フィードバック制御の割合変更動作について説明する。図７は、第３実施形態のサーボモータ制御装置１Ｃによるデュアル位置フィードバック制御の割合変更動作を示すフローチャートである。
【００９９】
まず、ステップＳ２１において、取得部２０Ｃは、サーボモータ制御装置１Ｃにおける減算器３１Ｂからスケール８０までのフルクローズドフィードバック制御ループの利得／位相の周波数特性を取得する。具体的には、取得部２０Ｃは、減算器３１Ｂに加振信号を入力し、スケール８０から減算器３１Ｂにフィードバックされる位置ＦＢ２信号を測定することにより、フルクローズドフィードバック制御ループの利得／位相の周波数特性を取得する。
【０１００】
次に、ステップＳ２２において、取得部２０Ｃは、取得した利得／位相の周波数特性から、サーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数の大きさを求める。
【０１０１】
図８に、サーボモータ制御装置のフィードバック制御ループの利得（Ｍａｇｎｉｔｕｄｅ）／位相（Ｐｈａｓｅ）の周波数特性の一例を示す。図８に示すように、連結機構６０の剛性が経年変化（低下、劣化）すると、サーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数がｆ１（破線）からｆ２（実線）に低下する。また、工作機械におけるその他何らかの部分の経年劣化の要因によりサーボモータ制御装置１Ｃの共振周波数がｆ１（破線）からｆ２（実線）に低下することがある。サーボモータ制御装置１Ｃの共振周波数が低下すると、工作機械に低周波数の振動が生じる可能性が高くなる。工作機械に低周波数の振動が発生すると、工作機械の加工精度が低下する。
【０１０２】
そこで、上述同様に、ステップＳ１３において、制御割合変更部３５Ａは、保存部２４に保存された関数（例えば、テーブル）に基づいて、取得部２０Ｃで取得されたサーボモータ制御装置１Ｃの共振周波数の大きさに対応した制御信号Ｓ１，Ｓ２を生成し、デュアル位置制御部３０Ａのハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂにそれぞれ送信する。これにより、制御割合変更部３５Ａは、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を変更させる。具体的には、制御割合変更部３５Ａは、取得されたサーボモータ制御装置１Ｃの共振周波数の低下に応じて、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数を低下させる。
【０１０３】
これにより、ローパスフィルタ３２Ｂを通過する位置指令値と位置ＦＢ２値との第２偏差の低周波数成分の割合が減少し、ハイパスフィルタ３２Ａを通過する位置指令値と位置ＦＢ１値との第１偏差の高周波数成分の割合が増加する。そのため、第２偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、第１偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。
【０１０４】
このとき、表示部２６は、サーボモータ制御装置１Ｃの共振周波数の大きさを示す情報を表示してもよい。
【０１０５】
モータ制御部１０Ｃは、所定時間経過後にステップＳ２１に戻り、上述した動作を繰り返す。なお、モータ制御部１０Ｃは、予め定めた一定時間（所定時間）経過後に限らず、不規則な時間経過後に（不定時間間隔で）上述した動作を繰り返してもよい。或いは、モータ制御部１０Ｃは、常時、又は設定された特定の動作時（例えば、起動時）に上述した動作を繰り返してもよい。
【０１０６】
なお、ステップＳ２２において、取得部２０Ｃは、取得した共振周波数の大きさを取得日時などの諸情報と関連付けて保存部２４に保存してもよい。また、ステップＳ１３において、制御割合変更部３５Ａは、保存部２４に保存された最新の共振周波数の大きさに基づいて、制御の割合を変更してもよい。
【０１０７】
また、サーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数は、連結機構６０に対するテーブル７０の位置、テーブル７０上の積載物の重さなどに依存して変化する。
そこで、取得部２０Ｃは、テーブル７０上の積載物の重さなど使用状態と同一条件で、制御ループの利得／位相の周波数特性の測定を行ってもよい。また、制御割合変更部３５Ａは、連結機構６０に対するテーブル７０の位置などの諸情報を考慮して、ハイパスフィルタ３２Ａ及びローパスフィルタ３２Ｂのカットオフ周波数の変更量を調整してもよい。
【０１０８】
以上説明したように、本実施形態のサーボモータ制御装置１Ｃでは、取得部２０Ｃがサーボモータ制御装置１Ｃの共振周波数の大きさを取得し、制御割合変更部３５Ａが、取得されたサーボモータ制御装置１Ｃの共振周波数の低下に応じて、デュアル位置制御部３０Ａのハイパスフィルタ３２Ａのカットオフ周波数及びローパスフィルタ３２Ｂのカットオフ周波数を低下させる。これより、位置指令値と位置ＦＢ２値との第２偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、位置指令値と位置ＦＢ１値との第１偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。すなわち、連結機構６０を含むフルクローズドフィードバック制御の割合が減少し、連結機構６０を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、サーボモータ制御装置１Ｃの共振周波数の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【０１０９】
また、本実施形態のサーボモータ制御装置１Ｃでは、表示部２６が、サーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数の大きさに関する情報を表示するので、ユーザは工作機械の経年変化（例えば、連結機構６０の剛性の経年劣化）を確認することができる。また、ユーザは工作機械（例えば、連結機構６０）の保守の必要性の有無を確認することができる。
【０１１０】
なお、本実施形態では、制御割合変更部３５Ａは、サーボモータ制御装置１Ｃの共振周波数の大きさに応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更したが、これに限定されない。例えば、制御割合変更部３５Ａは、保存部２４に保存された所定時間間隔又は不定時間間隔ごとに取得した複数の共振周波数の大きさに基づいてサーボモータ制御装置１Ｃの共振周波数の変化量（低下量）を求め、求めたサーボモータ制御装置１Ｃの共振周波数の変化量（低下量）に応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更してもよい。
【０１１１】
また、表示部２６は、求めたサーボモータ制御装置１Ｃの共振周波数の変化量（低下量）を示す情報を表示してもよい。
【０１１２】
また、本実施形態では、取得部２０Ｃは、減算器３１Ａからエンコーダ４０までのセミクローズドフィードバック制御ループの利得／位相の周波数特性を測定して、サーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数の大きさを求めてもよい。また、取得部２０Ｃは、減算器１５からエンコーダ４０までの速度制御ループの利得／位相の周波数特性を測定して、サーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数の大きさを求めてもよい。
【０１１３】
なお、本実施形態では、工作機械の経年劣化によりサーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数が低下する場合について説明した。しかし、工作機械の経年変化等の何らかの要因によりサーボモータ制御装置１Ｃ（すなわち、工作機械）の共振周波数が増加することも考えられる。この場合には、制御割合変更部３５Ａは、取得されたサーボモータ制御装置１Ｃの共振周波数の増加に応じて、デュアル位置制御部３０Ａのハイパスフィルタ３２Ａのカットオフ周波数及びローパスフィルタ３２Ｂのカットオフ周波数を高くしてもよい。
【０１１４】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【０１１５】
例えば、上述した実施形態は、適宜変更されてもよいし、置換又は組み合わされて実施されてもよい。例えば、第１実施形態及び第２実施形態の力推定部（取得部）２０及び剛性推定部（取得部）２２と第３実施形態の取得部２０Ｃとは適宜置換されてもよいし、第１実施形態及び第３実施形態のデュアル位置制御部３０Ａ及び制御割合変更部３５Ａと第２実施形態のデュアル位置制御部３０Ｂ及び制御割合変更部３５Ｂとは適宜置換されてもよい。
【０１１６】
また、上述した実施形態では、ハイパスフィルタ３２Ａ及び／又はローパスフィルタ３２Ｂを用いたデュアル位置制御部３０Ａ，３０Ｂを例示した。しかし、デュアル位置制御部３０Ａ，３０Ｂは、ハイパスフィルタ３２Ａ及び／又はローパスフィルタ３２Ｂに代えてバンドパスフィルタ及び／又はノッチフィルタ（バンドストップフィルタ）等を用いてもよい。この場合、制御割合変更部３５Ａ，３５Ｂは、連結機構６０の剛性の大きさに応じて各フィルタの中心周波数を変更する。
【０１１７】
また、上述した実施形態では、所定時間間隔又は不定時間間隔ごとに取得した複数の剛性の大きさ又は複数の共振周波数の大きさを、自装置の保存部２４に保存したが、ネットワークを介して接続された外部のサーバ装置の保存部に保存していてもよい。
【０１１８】
また、上述した実施形態では、通知部の一例として表示部を例示したが、通知部はこれに限定されない。例えば、通知部は、１又は複数のＬＥＤ等の発光部であってもよい。１つのＬＥＤの場合、点灯及び点滅等により異なる情報を通知してもよい。また、複数のＬＥＤの場合、同色の点灯数、又は、異なる色により異なる情報を通知してもよい。また、例えば、通知部は、ブザー音又は音声等の発音部であってもよい。
【符号の説明】
【０１１９】
１，１Ａ，１Ｂ，１Ｃ  サーボモータ制御装置
１０，１０Ａ，１０Ｂ，１０Ｃ  モータ制御部
１２  位置指令生成部
１４  速度指令生成部
１５  減算器
１６  トルク指令生成部
２０  力推定部（取得部）
２２  剛性推定部（取得部）
２０Ｃ  取得部
２４  保存部
２６  表示部（通知部）
３０Ａ，３０Ｂ  デュアル位置制御部
３１Ａ  減算器（第１減算部）
３１Ｂ  減算器（第２減算部）
３１Ｃ  減算器（第３減算部）
３２Ａ  ハイパスフィルタ
３２Ｂ  ローパスフィルタ
３３  加算器（加算部）
３５Ａ，３５Ｂ  制御割合変更部（変更部）
４０  エンコーダ（第１位置検出部）
５０  サーボモータ
６０  連結機構
６１  カップリング
６２  ボールねじ
６３  ナット
７０  テーブル（被駆動体）
８０  スケール（第２位置検出部）
【図１】
2018207695.tif 000003
【図２】
2018207695.tif 000004
【図３】
2018207695.tif 000005
【図４】
2018207695.tif 000006
【図５】
2018207695.tif 000007
【図６】
2018207695.tif 000008
【図７】
2018207695.tif 000009
【図８】
2018207695.tif 000010