(57)【特許請求の範囲】
【請求項１】
サーボモータの回転運動を、ボールスクリューを含む送り機構により直線運動に変換し、変換した直線運動により負荷を直線移動させる産業機械を制御するサーボ制御装置において、
前記サーボモータ，前記送り機構及び前記負荷からなる機械系の伝達関数の逆伝達関数である補償用伝達関数が設定されており、前記負荷の指令位置を示す位置指令信号（θ）を前記補償用伝達関数に入力すると、前記機械系の動的な誤差要因を補償する補償信号（Ｖ300）を出力する逆特性モデルと、
前記位置指令信号（θ）と前記負荷の位置を示す負荷位置信号（θL）との偏差である位置偏差信号（Δθ）を零にすると共に、前記位置偏差信号（Δθ）に比例した速度偏差信号（ΔＶ）と前記サーボモータの速度を示すモータ速度信号（ωM）との偏差を零にするようにフィードバック制御し、更に前記補償信号（Ｖ300）によりフィードフォワード補償制御をして、前記サーボモータに供給する電流を制御する制御部と、
前記ボールスクリューのネジ部の伸縮量（ｓｔ）を算出するボールスクリュー伸縮量算出部と、算出されたネジ部の伸縮量（ｓｔ）から前記ボールスクリューの軸方向に沿うバネ剛性（ＫL）の値を算出するバネ剛性算出部と、算出されたバネ剛性（ＫL）の値を前記補償用伝達関数の演算式に含まれているバネ剛性（ＫL）の値として設定するバネ剛性設定部とで構成される剛性変化補償部と、
を備えていることを特徴とするサーボ制御装置。
【請求項２】
請求項1において、
前記剛性変化補償部のボールスクリュー伸縮量算出部は、
前記負荷位置信号（θL）と、前記サーボモータの回転位置を示すモータ位置信号（θM）とを基に、ネジ部の伸縮量（ｓｔ）を算出することを特徴とするサーボ制御装置。
【請求項３】
請求項1において、
前記剛性変化補償部のボールスクリュー伸縮量算出部は、
ネジ部の温度とネジ部の伸縮量との関係を示す関係特性に、前記ボールスクリューのネジ部の温度を適用することにより、ネジ部の伸縮量（ｓｔ）を算出することを特徴とするサーボ制御装置。
【請求項４】
請求項1において、
前記剛性変化補償部のボールスクリュー伸縮量算出部は、
前記ボールスクリューのネジ部の変位を基に、ネジ部の伸縮量（ｓｔ）を算出することを特徴とするサーボ制御装置。
【請求項５】
請求項１において、
前記剛性変化補償部のバネ剛性算出部は、
ネジ部の伸縮量（ｓｔ）に応じて、負荷位置とバネ剛性（ＫL）との関係を示す複数の関係特性を有しており、
前記複数の関係特性の中から、前記ボールスクリュー伸縮量算出部により算出したネジ部の伸縮量（ｓｔ）に応じた関係特性を選び、この選んだ関係特性に対して、前記負荷位置信号（θL）で示す負荷位置を適用することによりバネ剛性（ＫL）を算出することを特徴とするサーボ制御装置。
【請求項６】
請求項１において、
前記剛性変化補償部のバネ剛性算出部は、
ネジ部の伸縮量（ｓｔ）に応じて、バネ剛性（ＫL）を求める複数の演算式を有しており、
前記複数の演算式の中から、前記ボールスクリュー伸縮量算出部により算出したネジ部の伸縮量（ｓｔ）に応じた演算式を選び、この選んだ演算式を用いてバネ剛性（ＫL）を算出することを特徴とするサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサーボ制御装置に関するものであり、送り機構のボールスクリューが経年変化や温度変化により伸縮してボールスクリューの剛性が変化しても、負荷の位置を正確にサーボ制御することができるように工夫したものである。
【背景技術】
【０００２】
産業機械の中には、サーボ制御装置により負荷の位置・速度をサーボ制御するものがある。このような産業機械では、サーボモータの回転運動を、ボールスクリューにより直線運動に変換して、負荷を直線移動させている。
【０００３】
＜工作機械の構成＞
このような産業機械の代表例として、工作機械がある。
工作機械の一例を、図２を基に説明する。同図に示すように、ベッド０１上にテーブル０２が配置されており、テーブル０２はベッド０１上でＸ方向に沿い移動可能に設けられている。
門形のコラム０３には、クロスレール０４が昇降自在（Ｚ方向に沿い移動自在）に配置されている。クロスレール０４には、ラム０６を備えたサドル０５が、Ｙ方向に沿い移動可能に設けられている。
【０００４】
負荷であるテーブル０２のＸ方向移動は、送り機構により行なわれるようになっている。また、負荷であるサドル０５のＹ方向移動も、クロスレール０４に設置した別の送り機構により行なわれるようになっている。この場合、テーブル０２やサドル０５の位置及び移動速度は、高精度に制御することが要求されている。
【０００５】
ここで、図３を参照して、テーブル０２を駆動する送り機構１０と、その周囲の装置構成を説明する。
送り機構１０は、ギヤ等から構成される減速機２０と、ボールスクリュー３０を主要部材として構成されている。なお、図３において、減速機２０は簡略化して図示している。
【０００６】
ボールスクリュー３０のネジ部３１は、その基端側（図３では左端側）が回転支持ブラケット３２ａにより回転自在に支持されており、その先端側（図３では右端側）が回転支持ブラケット３２ｂにより回転自在に支持されている。回転支持ブラケット３２ａ，３２ｂは、それぞれベアリングとブラケットから構成されており、ベッド０１上に離間して配置されている。このうち、回転支持ブラケット３２ａは、ネジ部３１を基端側（図３では左側）に引っ張ってネジ部３１に対して引っ張り張力を与えるように、配置されている。
【０００７】
ボールスクリュー３０のナット部３３は、ネジ部３１に螺合すると共に、テーブル０２に連結されている。
【０００８】
サーボモータ４０の回転運動は、送り機構１０のボールスクリュー３０により直線運動に変換される。
つまりサーボモータ４０が回転すると、この回転力は減速機２０を介してネジ部３１に伝わりネジ部３１が回転する。ネジ部３１が回転するとナット部３３がネジ部３１に沿い直線移動し、このナット部３３の直線移動に応じてテーブル０２が直線移動する。
【０００９】
このとき、サーボモータ４０の回転位置は、サーボモータ４０に配置したパルスエンコーダ４１により検出している。パルスエンコーダ４１は、サーボモータ４０の回転子が予め決めた回転角度回転する毎にパルス信号を出力する。このため、パルスエンコーダ４１から出力される信号（パルス信号）は、サーボモータ４０の回転子の回転位置を示すモータ位置信号θMになると共に、サーボモータ４０の回転速度を示すモータ速度信号ωMともなる。
テーブル０２の直線移動位置は、リニアスケール等の位置検出器３４により検出している。位置検出器３４は、テーブル（負荷）０２の位置を示す負荷位置信号θLを出力する。
【００１０】
＜フィードバック制御の説明＞
図３に示すような機構において、テーブル０２の位置制御をするには、古典制御理論であるフィードバック制御が一般的に使用されている。
このフィードバック制御の手法を、図４を参照して説明する。
【００１１】
図４に示すように、制御部１００は、減算器１０１と、乗算器１０２と、減算器１０３と、比例積分演算器１０４を有している。
【００１２】
減算器１０１は、位置指令信号θと負荷位置信号θLとの差である位置偏差信号Δθを出力する。乗算器１０２は、位置偏差信号Δθに位置ループゲインＫPを乗算して速度偏差信号ΔＶを出力する。減算器１０３は、速度偏差信号ΔＶとモータ速度信号ωMとの差である速度指令信号Ｖを出力する。
【００１３】
比例積分演算器１０４は、速度指令信号Ｖを比例積分演算してトルク指令信号τを出力する。
即ち、比例積分演算器１０４では、速度ループゲインＫvと積分時定数Ｔvを用いて、
τ＝Ｖ×｛Ｋv（１＋（１／Ｔvｓ））｝という演算をしてトルク指令信号τを求めている。なお、ｓは、ラプラス演算子である（なお以降の説明においても「ｓ」はラプラス演算子を示す）。
【００１４】
電流制御部１１０は、トルク指令信号τに応じた電流値となっている電流をサーボモータ４０に供給する。これによりサーボモータ４０が回転駆動する。
この場合、図示は省略するが、トルク指令信号τに応じた電流値になるように、電流のフィードバック制御を行なっている。
【００１５】
このように、テーブル０２を駆動するサーボモータ４０を制御する制御部１００は、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
【００１６】
図４は、テーブル０２をＸ方向に沿い駆動する送り機構１０の制御系であるが、サドル０５をＹ方向に沿い駆動する送り機構の構成及びその制御系も、同様な構成となっている。
【００１７】
ところで、図４に示すようなフィードバック制御では、位置指令信号θで指令する位置に対して、実際のテーブル（負荷）０２の位置は、遅れて追従する。
【００１８】
＜フィードフォワード制御の説明＞
フィードバック制御において発生する制御遅れを補償する手段として、フィードバック制御に、フィードフォワード制御を組み込むことが行われている。
【００１９】
図５は、図４に示すフィードバック制御回路に、フィードフォワード制御部１５０及び加算器１５１，１５２を組み込んだものである。
【００２０】
フィードフォワード制御部１５０では、位置指令信号θに対して微分をすると共に位置制御ループ遅れ補償係数αを乗算して、位置遅れ補償信号Ｃ1を求める。更に、位置遅れ補償信号Ｃ1に対して微分をすると共に速度制御ループ遅れ補償係数βを乗算して、速度遅れ補償信号Ｃ2を求める。
そして、加算器１５１により、速度偏差信号ΔＶに位置遅れ補償信号Ｃ1を加算し、更に、加算器１５２により、トルク指令信号τに速度遅れ補償信号Ｃ2を加算することにより、フィードフォワード制御をしている。
【００２１】
このように位置遅れ補償信号Ｃ1を加算して位置遅れを補償し、速度遅れ補償信号Ｃ2を加算して速度遅れを補償することにより、フィードバック制御において発生する位置遅れ及び速度遅れをほぼ完全に補償することができる。
【００２２】
しかし、フィードバック制御にフィードフォワード制御を加えた制御をしたとしても、制御対象である機械要素の撓みや捩れ等の動的な変形による遅れや振動を補償することはできない。
より具体的に説明すると、送り機構１０は、減速機２０とボールスクリュー３０とから構成されており、ボールスクリュー３０の剛性は有限であるため、軸移動等の運動時にはボールスクリュー３０において捩れや撓みが発生し、これが加工精度を悪化させる原因となっている。
【００２３】
＜制御対象の近似モデル及び逆特性モデルを使用した制御の説明＞
そこで、制御対象の近似モデルを求めると共に、この近似モデルの逆極性モデル（補償回路）を求め、制御回路に逆特性モデル（補償回路）を組み込むことにより、制御対象である機械要素の撓みや捩れ等の動的な変形による遅れや振動を補償する技術が提案されている（例えば特許文献１〜３参照）。
【００２４】
このような逆特性モデル（補償回路）を制御部に組み込んだ制御手法の一例（特許文献３に示す技術）を、図６を参照して説明する。なお図６においては、図４と同一機能を果たす部分には同一符号を付している。
【００２５】
図６に示す例では、機械系の特性を、サーボモータ４０と、負荷であるテーブル０２を質点とした、２質点系の機械系のモデルとして特定している。
そして、この機械系を、制御部１００によりサーボ制御（フィードバック制御）することを基本制御としつつ、逆特性モデル３００によりフィードフォワード補償制御をするものである。
【００２６】
図６に示すように、サーボモータ４０の特性をモデル化して伝達関数で示すと、ブロック４０−１とブロック４０−２とで示される。なお、ＪMはモータイナーシャを示し、ＤMはモータ粘性を示す。
ブロック４０−１からはモータ速度信号ωMが出力され、ブロック４０−２からはモータ位置信号θMが出力される。
【００２７】
また負荷であるテーブル０２の特性をモデル化して伝達関数で示すと、ブロック０２−１とブロック０２−２とブロック０２−３とで示される。
なお、ＪLは負荷（テーブル）のイナーシャを示し、ＤLは負荷（テーブル）の粘性を示し、ＣLは送り機構１０のボールスクリュー３０（ネジ部３１，支持ブラケット３２ａ，３２ｂ，ナット部３３）の軸方向に沿うバネ粘性を示し、ＫLは送り機構１０のボールスクリュー３０（ネジ部３１，支持ブラケット３２ａ，３２ｂ，ナット部３３）の軸方向に沿うバネ剛性を示す。
【００２８】
減算器２０１は、モータ位置信号θMと負荷位置信号θLとの偏差（θM−θL）を求める。ブロック０２−１は、偏差（θM−θL）が入力されると、反力トルク信号τLを出力する。
反力トルク信号τLが、ブロック０２−２に入力されると、ブロック０２−３から負荷位置信号θLが出力される。
【００２９】
減算器２０２は、トルク指令信号τと反力トルク信号τLとの偏差（τ−τL）を求める。この偏差（τ−τL）がブロック４０−１に入力される。
【００３０】
制御部１００は、減算器１０１と、乗算器１０２と、減算器１０３ａと、比例積分演算器１０４を有している。
【００３１】
減算器１０１は、位置指令信号θと負荷位置信号θLとの差である位置偏差信号Δθを出力する。乗算器１０２は、位置偏差信号Δθに位置ループゲインＫPを乗算して速度偏差信号ΔＶを出力する。
【００３２】
減算器１０３ａは、速度偏差信号ΔＶに、逆特性モデル３００から出力される速度補償信号Ｖ300を加えた値から、モータ速度信号ωMを減算した速度指令信号Ｖを出力する。
速度補償信号Ｖ300の詳細については後述するが、この速度補償信号Ｖ300を追加（補償）することにより、サーボモータ４０や送り機構１０やテーブル（負荷）０２に生ずる「歪み」や「撓み」や「粘性」といった誤差要因を補償して、正確にテーブル０２の位置制御（サーボ制御）をすることができる。
【００３３】
比例積分演算器１０４は、速度指令信号Ｖを比例積分演算してトルク指令信号τを出力する。
【００３４】
サーボモータ４０は、電流制御器（図６では図示省略）からトルク指令信号τに応じた電流が供給されて回転駆動する。この場合、図示は省略するが、トルク指令信号τに応じた電流値になるように、電流のフィードバック制御を行なっている。
【００３５】
このように制御部１００は、位置ループをメインループとし、速度ループと電流ループをマイナーループとした３重のループによってフィードバック制御をしている。
【００３６】
逆特性モデル３００は、１次微分項演算部３０１と、２次微分項演算部３０２と、３次微分項演算部３０３と、４次微分項演算部３０４と、５次微分項演算部３０５と、加算部３１０と、比例積分逆伝達関数部３１１とを有している。
つまり逆特性モデル３００には、各微分項演算部３０１〜３０５と、加算部３１０と、比例積分逆伝達関数部３１１にそれぞれ設定した演算式により、誤差要因を補償する補償制御用伝達関数が設定されている。
【００３７】
各微分項演算部３０１〜３０５と加算部３１０には、サーボモータ４０での動的な誤差原因、送り機構１０での動的な誤差要因、及び負荷であるテーブル０２での動的な誤差要因を補償して、負荷位置信号θLで示す位置が位置指令信号θで示す位置に一致するように補償制御する補償制御用伝達関数が設定されている。
この補償制御用伝達関数は、サーボモータ４０，送り機構１０及びテーブル（負荷）０２からなる機械系の伝達関数の逆伝達関数である。なお、この逆伝達関数は、演算要素を一部省略した関数にしている。
【００３８】
具体的には、１次〜５次の各微分項演算部３０１〜３０５は、演算項ａ１ｓ、ａ２ｓ2、ａ３ｓ3、ａ４ｓ4、ａ５ｓ5を有しており、位置指令信号θに対して、各演算項を乗算した演算信号を出力する。なお、ｓはラプラス演算子（微分演算子）である。
【００３９】
この場合、係数ａ１〜ａ５の値は次の通りに設定している。
但し、
ＫVは速度ループゲイン、
ＫLはボールスクリュー３０の軸方向に沿うバネ剛性、
ＴVは積分時定数、
ＤMはサーボモータ４０の粘性、
ＤLは負荷（テーブル０２）の粘性、
ＪMはサーボモータ４０のイナーシャ、
ＪLは負荷（テーブル０２）のイナーシャ、である。
【数１】
0005422368.tif 000002
【００４０】
比例積分逆伝達関数部３１１は、比例積分演算部１０４の伝達関数であるＫv（１＋（１／Ｔｖｓ））の逆伝達関数である｛Ｔｖ／Ｋv（Ｔｖｓ＋１）｝×ｓのうち、｛Ｔｖ／Ｋv（Ｔｖｓ＋１）｝を伝達関数として有している。そして、微分演算子ｓは、各係数ａ１〜ａ５に、それぞれ割り振っている。
なお、比例積分逆伝達関数部３１１に設定した伝達関数｛Ｔｖ／Ｋv（Ｔｖｓ＋１）｝は、制御系の特性によって決定される固定値（一定値）である。
【００４１】
上述したような逆特性モデル３００を使用して制御補償をすれば、サーボモータ４０での動的な誤差原因、送り機構１０での動的な誤差要因、及び負荷であるテーブル０２での動的な誤差要因を補償して、テーブル０２の位置制御を正確に行うことができる。
【先行技術文献】
【特許文献】
【００４２】
【特許文献１】特許第３３５１９９０号公報
【特許文献２】特許第３７３９７４９号公報
【特許文献３】特開２００９−２０１１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００４３】
ところで図６に示す従来技術（特許文献３）や、特許文献２の技術では、送り系の物理定数を一定として逆特性モデル（補償回路）により補償をしており、特許文献１では機械位置（例えばテーブルの位置）により予め計測しておいた送り系の剛性値を使用して補償を行うものであった。
このため、特許文献１〜３の技術では、送り系である送り機構１０のボールスクリュー３０（ネジ部３１，支持ブラケット３２ａ，３２ｂ，ナット部３３）が経年変化や温度変化で伸縮して、ボールススクリュー３０の剛性変化が発生した場合には、精度の良い補償をすることができないという問題があった。
【００４４】
即ち、経年変化や温度変化によりネジ部３１の伸び状態が変化すると、ボールスクリュー３０の軸方向に沿うバネ剛性ＫLは、図７（ａ），（ｂ），（ｃ）に示すように変化する。
なお、図７において、横軸は負荷位置（テーブル０２，ナット部３３の位置）を示しており、横軸の左側が回転支持ブラケット３２ａ側、横軸の右側が回転支持ブラケット３２ｂ側であり、縦軸はバネ剛性ＫLを示している。
【００４５】
図７（ａ）は、ネジ部３１が支持ブラケット３２ａにより確実に引っ張られており、ネジ部３１が支持ブラケット３２ａと支持ブラケット３２ｂにより堅固に支持（両端が固定支持）されているときにおける、負荷位置に応じたバネ剛性ＫLを示す。
図７（ｂ）は、ネジ部３１が温度変化等により軸方向にやや伸びて、ネジ部３１は、支持ブラケット３２ａでは堅固に支持（一端が固定支持）されるが、支持ブラケット３２ｂでの支持が緩んできたとき（他端が半固定支持のとき）における、負荷位置に応じたバネ剛性ＫLを示す。
図７（ｃ）は、ネジ部３１が温度変化等により軸方向に大きく伸びて、ネジ部３１は、
支持ブラケット３２ａでは堅固に支持（一端が固定支持）されるが、支持ブラケット３２ｂでの支持が完全に緩んできたとき（他端が自由（フリー）のとき）における、負荷位置に応じたバネ剛性ＫLを示す。
【００４６】
特許文献１〜３の技術では、図７（ａ），（ｂ），（ｃ）に示すような、ネジ部３１が伸縮してネジ部３１の支持状態が変化することに起因してバネ剛性ＫLが変化することを考慮していないので、精度の良い補償をすることができない。
【００４７】
本発明は、上記従来技術に鑑み、送り機構のボールスクリューが経年変化や温度変化で伸縮してボールスクリューの軸方向に沿う剛性が変化しても、このような剛性変化を補償して、負荷の位置を正確にサーボ制御することができるサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００４８】
上記課題を解決する本発明の構成は、
サーボモータの回転運動を、ボールスクリューを含む送り機構により直線運動に変換し、変換した直線運動により負荷を直線移動させる産業機械を制御するサーボ制御装置において、
前記サーボモータ，前記送り機構及び前記負荷からなる機械系の伝達関数の逆伝達関数である補償用伝達関数が設定されており、前記負荷の指令位置を示す位置指令信号（θ）を前記補償用伝達関数に入力すると、前記機械系の動的な誤差要因を補償する補償信号（Ｖ300）を出力する逆特性モデルと、
前記位置指令信号（θ）と前記負荷の位置を示す負荷位置信号（θL）との偏差である位置偏差信号（Δθ）を零にすると共に、前記位置偏差信号（Δθ）に比例した速度偏差信号（ΔＶ）と前記サーボモータの速度を示すモータ速度信号（ωM）との偏差を零にするようにフィードバック制御し、更に前記補償信号（Ｖ300）によりフィードフォワード補償制御をして、前記サーボモータに供給する電流を制御する制御部と、
前記ボールスクリューのネジ部の伸縮量（ｓｔ）を算出するボールスクリュー伸縮量算出部と、算出されたネジ部の伸縮量（ｓｔ）から前記ボールスクリューの軸方向に沿うバネ剛性（ＫL）の値を算出するバネ剛性算出部と、算出されたバネ剛性（ＫL）の値を前記補償用伝達関数の演算式に含まれているバネ剛性（ＫL）の値として設定するバネ剛性設定部とで構成される剛性変化補償部とを備えていることを特徴とする。
【００４９】
また本発明の構成は、
前記剛性変化補償部のボールスクリュー伸縮量算出部は、
前記負荷位置信号（θL）と、前記サーボモータの回転位置を示すモータ位置信号（θM）とを基に、ネジ部の伸縮量（ｓｔ）を算出することを特徴とする。
【００５０】
また本発明の構成は、
前記剛性変化補償部のボールスクリュー伸縮量算出部は、
ネジ部の温度とネジ部の伸縮量との関係を示す関係特性に、前記ボールスクリューのネジ部の温度を適用することにより、ネジ部の伸縮量（ｓｔ）を算出することを特徴とする。
【００５１】
また本発明の構成は、
前記剛性変化補償部のボールスクリュー伸縮量算出部は、
前記ボールスクリューのネジ部の変位を基に、ネジ部の伸縮量（ｓｔ）を算出することを特徴とするサーボ制御装置。
【００５２】
また本発明の構成は、
前記剛性変化補償部のバネ剛性算出部は、
ネジ部の伸縮量（ｓｔ）に応じて、負荷位置とバネ剛性（ＫL）との関係を示す複数の関係特性を有しており、
前記複数の関係特性の中から、前記ボールスクリュー伸縮量算出部により算出したネジ部の伸縮量（ｓｔ）に応じた関係特性を選び、この選んだ関係特性に対して、前記負荷位置信号（θL）で示す負荷位置を適用することによりバネ剛性（ＫL）を算出することを特徴とする。
【００５３】
また本発明の構成は、
前記剛性変化補償部のバネ剛性算出部は、
ネジ部の伸縮量（ｓｔ）に応じて、バネ剛性（ＫL）を求める複数の演算式を有しており、
前記複数の演算式の中から、前記ボールスクリュー伸縮量算出部により算出したネジ部の伸縮量（ｓｔ）に応じた演算式を選び、この選んだ演算式を用いてバネ剛性（ＫL）を算出することを特徴とする。
【発明の効果】
【００５４】
本発明によれば、サーボモータの回転運動を、ボールスクリューを含む送り機構により直線運動に変換し、変換した直線運動により負荷を直線移動させる産業機械を制御するサーボ制御装置において、送り機構のボールスクリューが経年変化や温度変化で伸縮してボールスクリューの軸方向に沿う剛性が変化しても、このような剛性変化を補償して、負荷の位置を正確にサーボ制御することができる。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施例に係るサーボ制御装置を示す構成図。
【図２】工作機械の一例を示す斜視図。
【図３】送り機構を示す構成図。
【図４】フィードバック制御回路を示す構成図。
【図５】フィードフォワード制御回路を組み込んだ回路を示す構成図。
【図６】逆特性モデルを組み込んだ回路を示す構成図。
【図７】負荷位置とボールスクリューのバネ剛性との関係を示す特性図であり、図７（ａ）はネジ部の伸縮量が小さい場合、図７（ｂ）はネジ部の伸縮量が中の場合、図７（ｃ）はネジ部の伸縮量が大きい場合の特性を示す。
【発明を実施するための形態】
【００５６】
以下、発明を実施するための形態について、実施例に基づき詳細に説明する。
なお、従来技術と同一機能を果たす部分には同一符号を付し、同一部分の説明は簡略にする。
【実施例】
【００５７】
＜実施例の全体構成の説明＞
図１は本発明の実施例に係るサーボ制御装置を示す。
この実施例は、本発明を、工作機械のテーブル０２を駆動する送り機構１０に適用したものである。即ち、サーボモータ４０が回転すると、この回転力は減速機２０を介してボールスクリュー３０のネジ部３１に伝わりネジ部３１が回転する。回転支持ブラケット３２ａ，３２ｂにより支持されたネジ部３１が回転すると、ナット部３３がネジ部３１に沿い直線移動し、このナット部３３の直線移動に応じてテーブル０２が直線移動する。
なお、回転支持ブラケット３２ａは、ネジ部３１を基端側（図１では左側）に引っ張ってネジ部３１に対して引っ張り張力を与えるように、配置されている。
【００５８】
このとき、サーボモータ４０の回転位置は、サーボモータ４０に配置したパルスエンコーダ４１から出力される信号（パルス信号）であるモータ位置信号θMを基に検出することができる。
テーブル０２の直線移動位置は、リニアスケール等の位置検出器３４から出力される、負荷位置信号θLを基に検出することができる。
【００５９】
制御手段としては、フィードバック制御をする制御部１００と、フィードフォワード補償制御をする逆特性モデル３００と、逆特性モデルの係数値を設定・変化させる剛性変化補償部４００を有している。
【００６０】
＜制御部の説明＞
制御部１００は、図６に示す制御部１００と同一構成であり、同一の制御動作をする。つまり、制御部１００の減算器１０１は、位置指令信号θと負荷位置信号θLとの差である位置偏差信号Δθを出力する。乗算器１０２は、位置偏差信号Δθに位置ループゲインＫPを乗算して速度偏差信号ΔＶを出力する。
【００６１】
減算器１０３ａは、速度偏差信号ΔＶに、逆特性モデル３００から出力される速度補償信号Ｖ300を加えた値から、モータ速度信号ωMを減算した速度指令信号Ｖを出力する。
比例積分演算器１０４は、速度指令信号Ｖを比例積分演算してトルク指令信号τを出力する。
電流制御器１１０は、トルク指令信号τに応じた電流を、サーボモータ４０に供給する。
【００６２】
＜逆特性モデルの説明＞
逆特性モデル３００の基本的な構成・動作は、図６に示す逆特性モデル３００と同じである。
【００６３】
この逆特性モデル３００は、１次微分項演算部３０１と、２次微分項演算部３０２と、３次微分項演算部３０３と、４次微分項演算部３０４と、５次微分項演算部３０５と、加算部３１０と、比例積分逆伝達関数部３１１とを有している。
つまり逆特性モデル３００には、各微分項演算部３０１〜３０５と、加算部３１０と、比例積分逆伝達関数部３１１にそれぞれ設定した演算式により、誤差要因を補償する補償制御用伝達関数が設定されている。
【００６４】
各微分項演算部３０１〜３０５と加算部３１０には、サーボモータ４０での動的な誤差原因、送り機構１０での動的な誤差要因、及び負荷であるテーブル０２での動的な誤差要因を補償して、負荷位置信号θLで示す位置が位置指令信号θで示す位置に一致するように補償制御する補償制御用伝達関数が設定されている。
この補償制御用伝達関数は、サーボモータ４０，送り機構１０及びテーブル（負荷）０２からなる機械系の伝達関数の逆伝達関数である。なお、この逆伝達関数は、演算要素を一部省略した関数にしている。
【００６５】
具体的には、１次〜５次の各微分項演算部３０１〜３０５は、演算項ａ１ｓ、ａ２ｓ2、ａ３ｓ3、ａ４ｓ4、ａ５ｓ5を有しており、位置指令信号θに対して、各演算項を乗算した演算信号を出力する。なお、ｓはラプラス演算子（微分演算子）である。
【００６６】
この場合、係数ａ１〜ａ５の値は次の通りに設定している。
但し、
ＫVは速度ループゲイン、
ＫLはボールスクリュー３０の軸方向に沿うバネ剛性、
ＴVは積分時定数、
ＤMはサーボモータ４０の粘性、
ＤLは負荷（テーブル０２）の粘性、
ＪMはサーボモータ４０のイナーシャ、
ＪLは負荷（テーブル０２）のイナーシャ、である。
【数２】
0005422368.tif 000003
【００６７】
比例積分逆伝達関数部３１１は、比例積分演算部１０４の伝達関数であるＫv（１＋（１／Ｔｖｓ））の逆伝達関数である｛Ｔｖ／Ｋv（Ｔｖｓ＋１）｝×ｓのうち、｛Ｔｖ／Ｋv（Ｔｖｓ＋１）｝を伝達関数として有している。そして、微分演算子ｓは、各係数ａ１〜ａ５に、それぞれ割り振っている。
なお、比例積分逆伝達関数部３１１に設定した伝達関数｛Ｔｖ／Ｋv（Ｔｖｓ＋１）｝は、制御系の特性によって決定される固定値（一定値）である。
【００６８】
更に、係数ａ２〜ａ５に含まれているボールスクリュー３０の軸方向に沿うバネ剛性ＫLの値は、ボールスクリュー３０のネジ部３１の伸縮に応じて、剛性変化補償部４００により算出されて設定される。
このように、バネ剛性ＫLの値を、ボールスクリュー３０のネジ部３１の伸縮に応じて変化させることが、本実施例の特徴的な技術である。
【００６９】
＜剛性変化補償部の説明＞
剛性変化補償部４００は、ボールスクリュー伸縮量算出部４０１と、バネ剛性算出部４０２と、バネ剛性設定部４０３とで構成されている。
【００７０】
ボールスクリュー伸縮量算出部４０１は、ボールスクリュー３０のネジ部３１の伸縮量ｓｔを算出するものである。
具体的には、負荷位置信号θLと、モータ位置信号θMを負荷位置信号に変換した位置変換信号との偏差を求め、この偏差を基に、ネジ部３１の伸縮量ｓｔを求める。
【００７１】
なお、ネジ部３１の伸縮量ｓｔを求める手法としては、次のような２つの別手法を採用することもできる。
【００７２】
第１の別手法では、ネジ部３１に温度検出センサを設けておく。そして、ボールスクリュー伸縮量算出部４０１に、ネジ部３１の温度とネジ部３１の伸縮量との関係を示す関係特性を予め設定しておき、温度検出センサにより検出した検出温度を関係特性に適用することにより、ネジ部３１の伸縮量ｓｔを求める。
【００７３】
第２の別手法では、ネジ部３１に変位検出センサを設けておく。そして、ボールスクリュー伸縮量算出部４０１は、変位検出センサにより検出した変位量から、ネジ部３１の伸縮量ｓｔを求める。
【００７４】
バネ剛性算出部４０２は、ボールスクリュー３０のネジ部３１の伸縮量ｓｔと、負荷であるテーブル０２の位置を示す負荷位置信号θLを用いて、ボールスクリュー３０の軸方向に沿うバネ剛性ＫLを算出する。
【００７５】
具体的には、バネ剛性算出部４０２に、ネジ部３１の伸縮量ｓｔの値（大小値）に応じて、負荷位置とバネ剛性ＫLとの関係を表す、図７（ａ），（ｂ），（ｃ）に示す複数の関係特性を予め設定している。
【００７６】
図７（ａ）は、ネジ部３１の伸縮量ｓｔが小さいときにおける、負荷位置に応じたバネ剛性ＫLを示す。つまり、ネジ部３１が支持ブラケット３２ｂにより確実に引っ張られており、ネジ部３１が支持ブラケット３２ａと支持ブラケット３２ｂにより堅固に支持（両端が固定支持）されているときにおける、負荷位置に応じたバネ剛性ＫLを示す。
図７（ｂ）は、ネジ部３１の伸縮量ｓｔが中程度のときにおける、負荷位置に応じたバネ剛性ＫLを示す。つまり、ネジ部３１が温度変化等により軸方向にやや伸びて、ネジ部３１は、支持ブラケット３２ａでは堅固に支持（一端が固定支持）されるが、支持ブラケット３２ｂでの支持が緩んできたとき（他端が半固定支持のとき）における、負荷位置に応じたバネ剛性ＫLを示す。
図７（ｃ）は、ネジ部３１の伸縮量ｓｔが大きいときにおける、負荷位置に応じたバネ剛性ＫLを示す。つまり、ネジ部３１が温度変化等により軸方向に大きく伸びて、ネジ部３１は、支持ブラケット３２ａでは堅固に支持（一端が固定支持）されるが、支持ブラケット３２ｂでの支持が完全に緩んできたとき（他端が自由（フリー）のとき）における、負荷位置に応じたバネ剛性ＫLを示す。
【００７７】
更にバネ剛性算出部４０２は、ボールスクリュー伸縮量算出部４０１にて算出した伸縮量ｓｔを、その値（大小値）に応じて「小」，「中」，「大」に分類する。この分類は、予め設定した閾値と比較することにより行う。
【００７８】
伸縮量ｓｔの値が「小」である場合には、図７（ａ）に示す関係特性を選択し、この選択した関係特性に、負荷位置信号θLが示す負荷位置を適用することにより、バネ剛性ＫLを求める。
伸縮量ｓｔの値が「中」である場合には、図７（ｂ）に示す関係特性を選択し、この選択した関係特性に、負荷位置信号θLが示す負荷位置を適用することにより、バネ剛性ＫLを求める。
伸縮量ｓｔの値が「大」である場合には、図７（ｃ）に示す関係特性を選択し、この選択した関係特性に、負荷位置信号θLが示す負荷位置を適用することにより、バネ剛性ＫLを求める。
【００７９】
このように、ネジ部３１の伸縮量ｓｔの値（小，中，大）に応じて、使用する関係特性を異ならせることにより、ネジ部３１が経年変化や温度変化により伸縮しても、そのときの伸縮状態に応じた正確なバネ剛性ＫLを求めることができる。
【００８０】
なお、ネジ部３１の伸縮状態に応じた正確なバネ剛性ＫLを求める手法としては、複数のバネ剛性演算式を予め設定している、次のような別の手法を採用することもできる。
【００８１】
ネジ部３１の伸縮状態に応じた正確なバネ剛性ＫLを求める別の手法では、まず、ボールスクリュー伸縮量算出部４０１にて算出した伸縮量ｓｔを、その値（大小値）に応じて「小」，「中」，「大」に分類する。この分類は、予め設定した閾値と比較することにより行う。
【００８２】
そして、ネジ部３１の伸縮量ｓｔの値（小，中，大）に応じて、次に示す演算をして、伸縮状態に応じた正確なバネ剛性ＫLを求める。
ただし、
Ａはネジ部３１の断面積［ｍ2］、
ｄｒはネジ部３１のネジ谷径［ｍ］、
Ｅはネジ部３１の縦弾性係数［Ｎ／ｍ2］、
Ｘは荷重作用点距離［ｍ］、つまり、図１に示すように支持ブラケット３２ａとナット部３３との間の距離、
Ｌは取付間距離［ｍ］、つまり、図１に示すように支持ブラケット３２ａ，３２ｂ間の距離、
ｋは係数（０．０〜１．０）であり、伸縮量ｓｔの値により変化させるものである。
【００８３】
ネジ部３１の伸縮量ｓｔが「小」である場合には、予め設定した次式による演算をして、バネ剛性ＫL［Ｎ／ｍ］を求める。
ＫL＝（Ａ・Ｅ・Ｌ）／｛Ｘ・（Ｌ−Ｘ）｝
【００８４】
ネジ部３１の伸縮量ｓｔが「中」である場合には、予め設定した次式による演算をして、バネ剛性ＫL［Ｎ／ｍ］を求める。
ＫL＝ｋ｛（Ａ・Ｅ）／Ｘ｝＋（１−ｋ）〔（Ａ・Ｅ・Ｌ）／｛Ｘ・（Ｌ−Ｘ）｝〕
【００８５】
ネジ部３１の伸縮量ｓｔが「大」である場合には、予め設定した次式による演算をして、バネ剛性ＫL［Ｎ／ｍ］を求める。
ＫL＝（Ａ・Ｅ）／Ｘ
【００８６】
逆特性モデル３００の２次〜５次の各微分項演算部３０２〜３０５には、演算項ａ２ｓ2、ａ３ｓ3、ａ４ｓ4、ａ５ｓ5が設定されており、その係数ａ２〜ａ５を求める演算式には、上述したようにバネ剛性ＫLが含まれている。
そこで、バネ剛性設定部４０３は、バネ剛性算出部４０２にて算出したバネ剛性ＫLの値を、係数ａ２〜ａ５を求める演算式に含まれているバネ剛性ＫLの値として設定する。
【００８７】
このため、ボールスクリュー３０のネジ部３１が経年変化や温度変化等により伸縮して、ボールスクリュー３０の軸方向に沿うバネ剛性ＫLの値が変化しても、その変化したバネ剛性ＫLの値を用いて、各微分項演算部３０２〜３０５での演算が行われる。
この結果、逆特性モデル３００により演算した速度補償信号Ｖ300は、ネジ部３１が経年変化や温度変化等により伸縮していたとしても、最適な値となる。
【００８８】
このように、ネジ部３１が経年変化や温度変化等により伸縮していたとしても、速度補償信号Ｖ300が最適な値となり、サーボモータ４０での動的な誤差原因、送り機構１０での動的な誤差要因、及び負荷であるテーブル０２での動的な誤差要因を補償して、負荷位置信号θLで示す位置が位置指令信号θで示す位置に精度良く一致するように補償制御することができる。
【００８９】
なお、逆特性モデル３００の演算式は、機械系（モータやテーブルや送り機構）を、どのような機械系モデルとして特定するか、または演算式をどの程度まで簡略化するか、によって変化してくるが、その場合であっても、逆特性モデル３００の演算式に含まれるバネ剛性ＫLの値を、バネ剛性算出部４０２にて算出したバネ剛性ＫLの値に設定する。
このようにすることにより、ネジ部３１が経年変化や温度変化等により伸縮していたとしても、速度補償信号Ｖ300が最適な値となり、サーボモータ４０での動的な誤差原因、送り機構１０での動的な誤差要因、及び負荷であるテーブル０２での動的な誤差要因を補償して、負荷位置信号θLで示す位置が位置指令信号θで示す位置に精度良く一致するように補償制御することができる。
【産業上の利用可能性】
【００９０】
本発明は、工作機械のみならず、サーボモータの回転運動をボールスクリューにより直線運動に変換して負荷を直線移動させる各種の産業機械に適用することができる。
【符号の説明】
【００９１】
０１  ベッド
０２  テーブル
０３  コラム
０４  クロスレール
０５  サドル
０６  ラム
１０  送り機構
２０  減速機
３０  ボールスクリュー
３１  ネジ部
３２ａ，３２ｂ  回転支持ブラケット
３３  ナット部
３４  位置検出器
４０  サーボモータ
４１  パルスエンコーダ
１００  制御部
１１０  電流制御部
３００  逆特性モデル
４００  剛性変化補償部
４０１  ボールスクリュー伸縮量算出部
４０２  バネ剛性算出部
４０３  バネ剛性設定部
【図１】
0005422368.tif 000004
【図２】
0005422368.tif 000005
【図３】
0005422368.tif 000006
【図４】
0005422368.tif 000007
【図５】
0005422368.tif 000008
【図６】
0005422368.tif 000009
【図７】
0005422368.tif 000010