(57)【特許請求の範囲】
【請求項１】
工作機械の送り軸の制御を、ボールネジに接続されたサーボモータで制御するサーボ制御装置において、
送り軸の位置指令値を作成する位置指令作成部と、
前記サーボモータの角度位置を検出する位置検出部と、
前記位置指令作成部が作成した位置指令値と前記位置検出部が検出した位置検出値とに基づいて、前記サーボモータの速度指令値を作成する速度指令作成部と、
前記サーボモータの速度を検出する速度検出部と、
前記速度指令作成部が作成した速度指令値と前記速度検出部が検出した速度検出値とに基づいて、前記サーボモータのトルク指令値を作成するトルク指令作成部と、
前記ボールネジの伸縮量から前記ボールネジに螺着された移動体の位置補正量を計算する位置補正量計算部と、を具備し、
前記位置補正量計算部は、前記サーボモータから前記移動体までの距離と、前記トルク指令作成部が作成したトルク指令値とから、前記ボールネジの伸縮量を計算し、計算された前記ボールネジの伸縮量から前記位置補正量を計算し、前記位置補正量によって前記位置指令値が補正される、サーボ制御装置。
【請求項２】
前記サーボモータの角度位置を使用して、前記サーボモータから前記ボールネジに螺着された移動体までの距離を計算する距離計算部をさらに具備する、請求項１に記載のサーボ制御装置。
【請求項３】
前記距離計算部は、前記移動体と前記サーボモータとの間の距離と、前記ボールネジの回転角度位置との関係を、各構成要素の寸法に基づいて予め規定したパラメータを用いることにより、前記位置検出部が検出した前記サーボモータの角度位置における前記移動体と前記サーボモータとの間の距離をリアルタイムで計算する、請求項２に記載のサーボ制御装置。
【請求項４】
前記位置補正量計算部は、前記サーボモータから前記移動体までの距離に前記トルク指令値を乗算し、さらに前記ボールネジに関する第１の係数を乗算して前記ボールネジの伸縮量を求める、請求項１〜３のいずれか１項に記載のサーボ制御装置。
【請求項５】
前記位置補正量計算部は、
前記サーボモータから前記移動体までの距離に前記トルク指令値を乗算し、さらに前記ボールネジに関する第１の係数を乗算して得られる前記ボールネジの伸縮量と、
前記サーボモータと前記ボールネジとを連結するカップリングに関する第２の係数にトルク指令値を乗算して得られる位置決め誤差量と、
の和を位置補正量として求める、請求項１〜３のいずれか１項に記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボ制御装置に関し、特には、ボールネジを使用してサーボモータの回転運動を直線運動に変換する送り軸を制御するサーボ制御装置に関する。
【背景技術】
【０００２】
一般に、ボールネジを使用した送り軸において、該送り軸に取付けられた移動体の移動方向が反転させられるとき、バックラッシ（機械のがた）や摩擦によって、反転動作に遅れが生じる。この反転時の遅れを補正するために、バックラッシの量に相当する位置補正量を位置指令値に与え、摩擦による遅れを補償するための速度補正量を速度指令値に与えることによってそれぞれを補正することができる。またこれらの補正量は、反転方向（＋方向から−方向、又はその逆）に応じて適宜変更することができる。
【０００３】
ボールネジを使用した送り軸における精度低下の要因は、上述のバックラッシの他、ボールネジの軸方向への伸縮が挙げられ、これを考慮した補正をするためにトルクを利用する技術が提唱されている。例えば特許文献１には、「位置指令値生成部から出力された位置指令値をもとに、フィードバック制御およびフィードフォワード制御を行うことによって電動機の発生するトルクを制御する制御系において、電動機の発生するトルクあるいは当該トルクに相当する信号に所定の定数を乗算して位置指令値に加算するように構成したので、トルクの定数倍という単純な操作によって、電動機の発生するトルクによって機械の剛性に相当するバネが伸縮する量だけ電動機への位置指令を補正することができ、」と記載されている。
【０００４】
また特許文献２には、「負荷モデルにより推定した軸ねじり量または伸縮量に応じて、軸ねじり量または伸縮量を減少するべく位置指令値を補正する」と記載されている。
【０００５】
さらに特許文献３には、「実施の形態１から８では、負荷補正部９はバネ定数（剛性）を固定値Ｋ０としていたが、バネ定数が負荷１の位置θｌに依存して変動する場合には、負荷補正部９がバネ定数を変数として負荷トルク補正値２７を算出する数値制御装置を構成することも可能である」と記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１７２３４１号公報
【特許文献２】特開２００４−１８７４３２号公報
【特許文献３】特開２００３−０５８２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ボールネジは、ボールネジに螺着しているナット等の移動体からの反力によって軸方向に伸縮する。移動体の高精度の位置決め精度が必要な場合は、この伸縮量も考慮する必要があるが、この伸縮量はサーボモータから移動体までの距離に応じて変わるので、移動体が加減速（特に反転）する位置によっては精度が悪化する問題が生じていた。例えば、サーボモータに比較的近い位置を基準として位置補正量を求めた場合、その近傍では高精度の制御が可能であるが、サーボモータから比較的離れた位置では精度が悪くなる。逆に、サーボモータから比較的離れた位置を基準として位置補正量を求めた場合、その近傍では高精度の制御が可能であるが、サーボモータに比較的近い位置では精度が悪くなる。
【０００８】
特許文献１では、機械の剛性に相当するバネが伸縮する量だけ電動機への位置指令を補正するに際し、トルクを定数倍したものを位置指令値に加算する旨は示唆しているが、ボールネジ上での移動体の位置を考慮した補正を行うものではない。また特許文献２では、位置検出値と速度検出値を負荷モデルに入力して位置推定値を得ているが、位置推定値を求める際にトルクを考慮していない。
【０００９】
さらに特許文献３では、バネ定数が負荷の位置に依存して変動する場合を考慮し、バネ定数を変数として負荷トルクを算出する旨の記載はあるが、負荷の位置に応じて適切な位置補正量を求めてフィードバックに利用する旨の記載はない。
【００１０】
そこで本発明は、ボールネジ上を移動する移動体がいずれの位置にあっても、該移動体の移動を高精度に制御できるサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本願第１の発明は、工作機械の送り軸の制御を、ボールネジに接続されたサーボモータで制御するサーボ制御装置において、送り軸の位置指令値を作成する位置指令作成部と、前記サーボモータの角度位置を検出する位置検出部と、前記位置指令作成部が作成した位置指令値と前記位置検出部が検出した位置検出値とに基づいて、前記サーボモータの速度指令値を作成する速度指令作成部と、前記サーボモータの速度を検出する速度検出部と、前記速度指令作成部が作成した速度指令値と前記速度検出部が検出した速度検出値とに基づいて、前記サーボモータのトルク指令値を作成するトルク指令作成部と、前記ボールネジの伸縮量から前記ボールネジに螺着された移動体の位置補正量を計算する位置補正量計算部と、を具備し、前記位置補正量計算部は、前記サーボモータから前記移動体までの距離と、前記トルク指令作成部が作成したトルク指令値とから、前記ボールネジの伸縮量を計算し、計算された前記ボールネジの伸縮量から前記位置補正量を計算する、サーボ制御装置を提供する。
【００１２】
第２の発明は、第１の発明において、前記サーボモータの角度位置を使用して、前記サーボモータから前記ボールネジに螺着された移動体までの距離を計算する距離計算部をさらに具備する、サーボ制御装置を提供する。なお、距離計算部は、サーボモータからボールネジに螺着された移動体までの距離を、ボールネジのサーボモータ側の固定部からボールネジに螺着された移動体までの距離として計算してもよい。
【００１３】
第３の発明は、第２の発明において、前記距離計算部は、前記移動体と前記サーボモータとの間の距離と、前記ボールネジの回転角度位置との関係を、各構成要素の寸法に基づいて予め規定したパラメータを用いることにより、前記位置検出部が検出した前記サーボモータの角度位置における前記移動体と前記サーボモータとの間の距離をリアルタイムで計算する、サーボ制御装置を提供する。各構成要素の寸法に基づいて予め規定したパラメータとしては、ボールネジの径、断面積又はヤング率が設定可能である。
【００１４】
第４の発明は、第１〜第３のいずれか１つの発明において、前記位置補正量計算部は、前記サーボモータから前記移動体までの距離に前記トルク指令値を乗算し、さらに前記ボールネジに関する第１の係数を乗算して前記位置補正量を求める、サーボ制御装置を提供する。
【００１５】
第５の発明は、第１〜第３のいずれか１つの発明において、前記位置補正量計算部は、前記サーボモータから前記移動体までの距離に前記ボールネジに関する第１の係数を乗算したものに、前記サーボモータと前記ボールネジとを連結するカップリングに関する第２の係数を加算し、得られた和にさらにトルク指令値を乗算して位置補正量を求める、サーボ制御装置を提供する。
【発明の効果】
【００１６】
本発明によれば、反転時等の加減速時においてボールネジに作用する力によるボールネジの伸縮に伴う精度低下を、サーボモータと移動体との間の距離及びサーボモータのトルクから計算するので、移動体の位置に応じた適切な位置補正量が得られ、移動体の制御をより高い精度で行うことができるようになる。
【００１７】
サーボモータと移動体との距離は、サーボモータ又はボールネジの回転角度位置から容易に求めることができる。
【００１８】
位置補正量の計算は、サーボモータから移動体までの距離とトルク指令値とから簡易に求めることができる。
【００１９】
ボールネジがカップリングを介してサーボモータに連結されている場合は、該カップリングの回転方向のねじれによってボールネジを介して生じるナットの位置決め誤差も考慮した、より正確な位置補正量を求めることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るサーボ制御装置の概略構成を、サーボモータで駆動される送り軸とともに示す図である。
【図２】サーボ制御装置の処理の一例を示すフローチャートである。
【図３】本願発明及びバックラッシ補正を適用しなかった場合の移動体の軌跡の一例を示すグラフである。
【図４】本願発明は適用しないがバックラッシ補正を適用した場合の移動体の軌跡の一例を示すグラフである。
【図５】本願発明及びバックラッシ補正を適用した場合の移動体の軌跡の一例を示すグラフである。
【図６】ナットがサーボモータに比較的近い位置にある状態を示す図である。
【図７】ナットがサーボモータから比較的離れた位置にある状態を示す図である。
【図８】テーブルに２つのナットが連結されている例を示す図である。
【発明を実施するための形態】
【００２１】
図１は、本発明に係るサーボ制御装置の基本構成を示す。サーボ制御装置１０は、工作機械の送り軸の制御を、ボールネジ１２に接続されたサーボモータ１４で制御する制御装置である。図示例では、ボールネジ１２がカップリング１６を介してサーボモータ１４に連結されており、サーボモータ１４の回転駆動によって、ボールネジ１２に螺着されたナット１８等の移動体がボールネジ１２上をその軸方向に移動する。またナット１８には、テーブル２０が接続されているものとする。サーボモータ１４の回転角度位置及び回転速度は、サーボモータ１４に関連付けられたエンコーダ２２等の位置・速度検出部によって検出可能であり、検出された位置及び速度はそれぞれ位置フィードバック及び速度フィードバックとして利用可能である。
【００２２】
サーボ制御装置１０は、図示しない上位制御装置や外部入力装置等から入力されるプログラムや命令に従って、サーボモータ１４の位置指令値を作成する位置指令作成部２４と、位置指令作成部２４が作成した位置指令値とエンコーダ２２が検出した位置検出値とからサーボモータ１４の速度指令値を作成する速度指令作成部２６と、速度指令作成部２６が作成した速度指令値とエンコーダ２２が検出した速度検出値とからサーボモータ１４のトルク指令値を作成するトルク指令作成部２８と、サーボモータ１４からボールネジ１２に螺着されたナット１８までの距離Ｌとトルク指令作成部２８が作成したトルク指令値とからボールネジ１２の伸縮量を求め、該伸縮量からナット１８の位置補正量を計算する位置補正量計算部３２とを有する。またサーボ制御装置１０は、サーボモータ１４の位置を使用して、サーボモータ１４からボールネジ１２上のナット１８までの距離Ｌを計算する距離計算部３０をさらに具備することができる。
【００２３】
位置補正量計算部３２は、距離計算部３０が計算したサーボモータ１４からナット１８までの距離Ｌと、トルク指令作成部２８が作成したトルク指令値とから、ボールネジ１２の伸縮量を計算し、計算されたボールネジ１２の伸縮量から位置の補正量を計算する。以下、その詳細について説明する。
【００２４】
図２は、サーボ制御装置１０を用いてサーボモータ１４への指令の補正を行う処理の一例を説明するフローチャートである。先ずステップＳ１において、上述の位置指令作成部２４が、送り軸の位置指令値を作成する。次にステップＳ２において、エンコーダ２２等の位置検出部を用いてサーボモータ１４の位置フィードバック値を検出する。さらにステップＳ３において、上述の速度指令作成部２６が、位置指令作成部２４が作成した位置指令値とエンコーダ２２が検出した位置フィードバック値とから、サーボモータ１４のための速度指令値を作成する。
【００２５】
次のステップＳ４では、エンコーダ等の速度検出部を用いてサーボモータ１４の速度フィードバック値を検出し、さらにステップＳ５において、上述のトルク指令作成部２８が、速度指令作成部２６が作成した速度指令値とエンコーダ２２が検出した速度フィードバック値とから、サーボモータ１４のためのトルク指令値を作成する。
【００２６】
次のステップＳ６では、上述の距離計算部３０が、サーボモータ１４からナット１８までの距離を計算する。例えば、ボールネジ１２上のナット１８（の代表点）とサーボモータ１４（の代表点）との間の距離Ｌ（図１参照）と、サーボモータ１４の回転角度位置（又はボールネジ１２の回転角度位置）との関係を、カップリング１６、ボールネジ１２及びナット１８等の各構成要素の寸法等に基づいて予め規定したパラメータ（例えばボールネジ１２の直径、断面積又はヤング率）を用いることにより、エンコーダ２２が検出したサーボモータ１４の回転角度位置における距離Ｌをリアルタイムで計算することができる。或いは距離計算部３０は、サーボモータ１４からナット１８までの距離の代わりに、サーボモータ側にあるボールネジ１２の固定部からナット１８までの距離を計算してもよい。次にステップＳ７において、ステップＳ６で計算した距離Ｌと、トルク指令作成部２８が作成したトルク指令値とから、ボールネジ１２の軸方向の伸縮量、さらに必要に応じて、カップリング１６の回転方向のねじれによってボールネジ１２を介して生じるナット１８の位置決め誤差量を計算する。以下、その計算方法について説明する。
【００２７】
テーブル２０に連結されたナット１８がサーボモータ１４の回転トルクによってボールネジ１２上を移動する場合、ナット１８からの反力によって軸方向の圧縮力や引張力が作用するのは、ボールネジ１２のうちサーボモータ１４（カップリング１６）からナット１８までの距離Ｌに相当する部分になる。そこで距離Ｌに相当する部分のボールネジ１２のヤング率をＥとすると、以下の式（１）が成り立つ。但し、ｋはボールネジ１２の距離Ｌに相当する部分のばね定数であり、Ｓはボールネジ１２の径方向断面積である。
ｋ ＝ Ｅ・Ｓ／Ｌ        （１）
【００２８】
サーボモータ１４の回転トルクＴとボールネジ１２の伸縮量ε1との関係は、以下の式（２）で求められる。但し、α1及びα1'はボールネジ１２に関する第１の係数であり、具体的にはボールネジ１２のヤング率及び径方向断面積等から求められる。或いはα1及びα1'は、実験的に求めることもできる。
ε1 ＝ α1・Ｔ／ｋ ＝ α1・Ｔ・Ｌ／(Ｅ・Ｓ) ＝ α1'・Ｔ・Ｌ        （２）
【００２９】
一方、カップリング１６が回転トルクを受けると、カップリング１６に回転方向へのねじれが生じ、ボールネジ１２が所望の回転角度位置とならず、結果としてナット１８の位置決め誤差が生じることがある。このカップリング１６の回転方向のねじれ量は通常、サーボモータ１４の回転トルクに比例する。従ってカップリング１６の回転方向のねじれによってボールネジ１２を介して生じるナット１８の位置決め誤差量ε2は、以下の式（３）で表される。但し、α2はカップリング１６に関する第２の係数であり、具体的にはカップリング１６の材質や寸法等から定められる。或いはα2は、実験的に求めることもできる。
ε2 ＝ α2・Ｔ        （３）
【００３０】
以上のことから、カップリング１６の回転方向のねじれによってボールネジ１２を介して生じる位置決め誤差量も考慮した、回転トルクに起因する軸方向の誤差量εは、以下の式（４）で表される。つまりεは、距離ＬとトルクＴの関数として求められる。
ε ＝ ε1＋ε2 ＝ (α1'・Ｌ＋α2)・Ｔ        （４）
【００３１】
最後にステップＳ８において、ステップＳ７で求めた伸縮量ε1又は誤差量εからナット１８の位置補正量を求め、該位置補正量を用いて、位置指令部２４が作成した位置指令値を補正する（図１参照）。ステップＳ１〜Ｓ８の処理は、予め定めた適当な制御周期で、送り軸の所定の動作が完了するまで反復される。
【００３２】
上述のように本願発明では、サーボモータ１４とナット１８との間の距離Ｌ及びトルクからボールネジ１２の伸縮量（さらに必要であればカップリング１６の回転方向のねじれによってボールネジ１２を介して生じる位置決め誤差量）を求め、位置補正量として使用するので、ナット１８がボールネジ１２上のいずれの位置にあっても（特にナット１８がサーボモータ１４から比較的離れた位置にあるときも）、適切な位置補正量がリアルタイムで得られ、テーブル２０の位置決め精度を向上させることができる。
【００３３】
図３〜図５は、互いに直交する２本のボールネジ（Ｘ、Ｙ軸）を用いて、テーブル等の移動体が円状の軌跡に沿って移動するような制御を行った場合を示す図である。なお図３〜図５において、横軸（Ｘ軸）及び縦軸（Ｙ軸）はいずれも任意単位であるが、表示軌跡はいずれも明瞭化のために誤差方向（半径方向）に拡大されている。
【００３４】
図３は、比較のために本願発明を適用せず、さらにいわゆるバックラッシ補正もせずに移動体を移動させたときの軌跡を示している。この場合、各軸の移動方向が反転する（計４つの）箇所において、反転前後で比較的大きな段差、すなわち理想的な円軌跡に対するずれが生じている。
【００３５】
図４は、比較のために本願発明は適用していないが、バックラッシ補正は行ったときの軌跡を示している。この場合、図３と比較して、反転前後で段差の大きさは小さくなっているが、依然として好ましくない大きさの段差が見られる。また後述するように、Ｘ方向及びＹ方向の各々について、ナット（移動体）がサーボモータから離れているときの方が段差が大きい。
【００３６】
図４のＡ部及びＢ部はＸ軸での反転を示しており、詳細にはＡ部の反転は図６に示すようなナット１８がサーボモータ１４に比較的近い位置での反転に相当し、Ｂ部の反転は図７に示すようなナット１８がサーボモータ１４に比較的離れた位置での反転に相当する。図４では、Ａ部よりもＢ部での段差の方がいくらか大きく（ｇ1＜ｇ2）、すなわちナットがサーボモータから比較的離れた位置で反転するときは補正がより不十分であることを示唆している。
【００３７】
同様に、図４のＣ部及びＤ部はＹ軸での反転を示しており、詳細にはＣ部の反転は図６に示すようなナット１８がサーボモータ１４に比較的近い位置での反転に相当し、Ｄ部の反転は図７に示すようなナット１８がサーボモータ１４から比較的離れた位置での反転に相当する。図４では、Ｃ部よりもＤ部での段差の方がいくらか大きく（ｇ3＜ｇ4）、すなわちナットがサーボモータから比較的離れた位置で反転するときは補正がより不十分であることを示唆している。
【００３８】
図５は、本願発明を適用し、さらにバックラッシ補正も行ったときの軌跡を示している。同図からわかるように、各反転部での段差は実質的になくなっており、ナットがボールネジ上のいずれの位置にあっても適切な位置補正が行われていることを意味する。なお図５の場合でも、バックラッシに起因する突起状の部位が軌跡に含まれているが、これは別途の技術によって解消可能なものである。
【００３９】
なお図８に示すように、工作機械によっては、１つの移動体（テーブル）に対して２つ又はそれ以上の個数のナット１８ａ、１８ｂが連結されることがあり得るが、この場合はサーボモータ１４に最も近いナット（図８の場合はナット１８ａ）の位置に基づいて補正・フィードバック制御を行うことが好ましい。一般に、ナット間のボールネジの伸縮は、テーブルの剛性によって無視できるからである。
【００４０】
また他の工作機械によっては、ナット１８に相当する部材が定位置に固定される場合もある。その場合は、サーボモータがボールネジとともにナットに対して移動するので、サーボモータとナットとの間の距離に相当するボールネジの部分が伸縮するという意味では上述の実施形態と同様である。従ってこの場合も、本願発明を同様に適用することができる。
【符号の説明】
【００４１】
１０    サーボ制御装置
１２    ボールネジ
１４    サーボモータ
１６    カップリング
１８    ナット
２０    テーブル
２２    エンコーダ
２４    位置指令作成部
２６    速度指令作成部
２８    トルク指令作成部
３０    距離計算部
３２    位置補正量計算部
【図１】
0005411978.tif 000002
【図２】
0005411978.tif 000003
【図３】
0005411978.tif 000004
【図４】
0005411978.tif 000005
【図５】
0005411978.tif 000006
【図６】
0005411978.tif 000007
【図７】
0005411978.tif 000008
【図８】
0005411978.tif 000009