(57)【特許請求の範囲】
【請求項１】
位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御装置であって、
前記検出位置情報に対する補正の開始と終了とを判断する補正動作判定装置と、
前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出装置と、
算出された前記位置誤差を記憶する位置誤差記憶部と、記憶した前記位置誤差から補正量を演算する検出位置補正量演算部と、演算した補正量を記憶する検出位置補正量記憶部とからなる補正量演算記憶装置と、
前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する検出位置補正装置と、を備え、
前記検出位置補正装置は、前記補正動作判定装置による補正の開始判断に伴い、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する一方、前記補正量演算記憶装置は、当該補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新することを特徴とするサーボモータ制御装置。
【請求項２】
前記補正動作判定装置は、前記移動体の移動方向の反転動作を補正の開始と判断することを特徴とする請求項１に記載のサーボモータ制御装置。
【請求項３】
前記補正量演算記憶装置は、前記位置誤差を反転からの距離との関係で記憶して前記補正量を演算し、前記検出位置補正装置は、前記反転からの距離に応じて補正を行うことを特徴とする請求項２に記載のサーボモータ制御装置。
【請求項４】
前記補正量演算記憶装置は、反転時の加速度、反転の方向、反転時の座標、反転時のモータトルクのうちの少なくとも１つの情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似か否かを判別し、反転動作が同一又は類似であれば、補正量の演算及び記憶を行うことを特徴とする請求項２又は３に記載のサーボモータ制御装置。
【請求項５】
前記補正量演算記憶装置は、今回の反転時の座標が過去の反転時の座標を中心として予め設定された範囲内にあれば、反転動作が同一又は類似と判断することを特徴とする請求項４に記載のサーボモータ制御装置。
【請求項６】
位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御方法であって、
前記検出位置情報に対する補正の開始を判断する補正開始判定ステップと、
前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出ステップと、
算出された前記位置誤差を記憶する位置誤差記憶ステップと、
記憶した前記位置誤差から補正量を演算する検出位置補正量演算ステップと、
演算した補正量を記憶する検出位置補正量記憶ステップと、
前記検出位置補正量記憶ステップで記憶された補正量で前記検出位置情報を補正する検出位置補正ステップと、
補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新する補正量更新ステップと、
前記検出位置情報に対する補正の終了を判断する補正終了判定ステップと、
を実行することを特徴とするサーボモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等に備えられたサーボモータを駆動制御してテーブル等の制御対象の動作を制御するサーボモータ制御装置及びサーボモータ制御方法に関する。
【背景技術】
【０００２】
図７に工作機械における従来のサーボモータ制御装置を示す。このサーボモータ制御装置１では、ＮＣプログラムに基づいて生成された位置指令値Ｘｉに基づいて速度指令値を出力する位置制御部２と、位置制御部２からの速度指令値に基づいてトルク指令値を出力する速度制御部３と、トルク指令値に基づいてサーボモータ５を駆動制御する電流制御部４とを備える。サーボモータ５には、テーブル７をスライドさせるボールネジ６が連結されると共に、回転位置を検出するロータリーエンコーダ等の回転検出器８が設けられている。また、テーブル７にはリニアエンコーダ等の位置検出器９が設けられている。１０，１１は減算器で、ここでは、回転検出器８及び位置検出器９からの出力信号を位置合成部１２で合成して得られる位置フィードバック信号と位置指令値Ｘｉとの偏差が０となるような位置ループが組まれており、位置ループの内側には、回転検出器８からの出力信号を微分器１３によって微分して得られる速度フィードバック信号と速度指令値との偏差を０とする速度ループが組まれている。
【０００３】
一方、このようなサーボモータ制御装置においては、フィードバック方式で位置指令値を修正して制御しても、送り駆動系の弾性変形等によって位置決め誤差が発生する。そこで、特許文献１には、予めロストモーション量を測定して送り速度及び移動量に対する補正量の関係を設定しておき、送りの向きが反転する前の送り速度及び移動量と当該関係から補正量を演算する補正方法の発明が開示されている。また、特許文献２には、制御対象の系をモデル化した外乱オブザーバを設けて外乱トルクを推定し、外乱トルクによる制御対象系のたわみ量を補償するたわみ量を決定し、位置指令に加算する位置制御装置の発明が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−３１９４１８号公報
【特許文献２】特開２００６−２１５６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、これらの補正方法では、プログラム動作の履歴や長期の機械使用による経年変化に伴う案内面抵抗の変化等によって誤差が発生し、加工精度の低下に繋がる問題があった。また、補正量やたわみ量を予め設定して補正を行うため、様々な運転条件に対応した補償パラメータの設定が困難となっていた。
【０００６】
そこで、本発明は、動作履歴や経年変化による案内面抵抗の変化の影響を受けにくくして誤差の発生を抑制し、加工面品位を向上させると共に、様々な運転条件にも対応できるサーボモータ制御装置及び制御方法を提供することを目的としたものである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に記載の発明は、位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御装置であって、
前記検出位置情報に対する補正の開始と終了とを判断する補正動作判定装置と、前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出装置と、
算出された前記位置誤差を記憶する位置誤差記憶部と、記憶した前記位置誤差から補正量を演算する検出位置補正量演算部と、演算した補正量を記憶する検出位置補正量記憶部とからなる補正量演算記憶装置と、
前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する検出位置補正装置と、を備え、
前記検出位置補正装置は、前記補正動作判定装置による補正の開始判断に伴い、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する一方、前記補正量演算記憶装置は、当該補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新することを特徴とするものである。
請求項２に記載の発明は、請求項１の構成において、前記補正動作判定装置は、前記移動体の移動方向の反転動作を補正の開始と判断することを特徴とするものである。
請求項３に記載の発明は、請求項２の構成において、前記補正量演算記憶装置は、前記位置誤差を反転からの距離との関係で記憶して前記補正量を演算し、前記検出位置補正装置は、前記反転からの距離に応じて補正を行うことを特徴とするものである。
請求項４に記載の発明は、請求項２又は３の構成において、前記補正量演算記憶装置は、反転時の加速度、反転の方向、反転時の座標、反転時のモータトルクのうちの少なくとも１つの情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似か否かを判別し、反転動作が同一又は類似であれば、補正量の演算及び記憶を行うことを特徴とするものである。
請求項５に記載の発明は、請求項４の構成において、前記補正量演算記憶装置は、今回の反転時の座標が過去の反転時の座標を中心として予め設定された範囲内にあれば、反転動作が同一又は類似と判断することを特徴とするものである。
上記目的を達成するために、請求項６に記載の発明は、位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御方法であって、
前記検出位置情報に対する補正の開始を判断する補正開始判定ステップと、
前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出ステップと、
算出された前記位置誤差を記憶する位置誤差記憶ステップと、
記憶した前記位置誤差から補正量を演算する検出位置補正量演算ステップと、
演算した補正量を記憶する検出位置補正量記憶ステップと、
前記検出位置補正量記憶ステップで記憶された補正量で前記検出位置情報を補正する検出位置補正ステップと、
補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新する補正量更新ステップと、
前記検出位置情報に対する補正の終了を判断する補正終了判定ステップと、
を実行することを特徴とするものである。
【発明の効果】
【０００８】
請求項１及び６に記載の発明によれば、位置指令値と検出位置情報との間の位置誤差に基づいて検出位置情報を補正すると共に、次回の補正時に用いる補正量の更新も行うため、動作履歴や経年変化による案内面抵抗の変化、運転条件等に応じて動作時の補正量が自動的に調整される。よって、加工面の品質向上が期待できる。
請求項２に記載の発明によれば、請求項１の効果に加えて、反転を契機とした補正が可能となる。
請求項３に記載の発明によれば、請求項２の効果に加えて、反転からの距離に応じた補正を行うため、動作中でも適正な補正が可能となる。
請求項４に記載の発明によれば、請求項２又は３の効果に加えて、補正が必要な反転動作を選択して補正可能となる。
請求項５に記載の発明によれば、請求項４の効果に加えて、反転動作の同一又は類似の判断が正確に行える。
【図面の簡単な説明】
【０００９】
【図１】サーボモータ制御装置のブロック図である。
【図２】補正制御の区間及び当該区間での位置誤差及び反転からの距離の変化を示す説明図である。
【図３】補正量を演算する例を示す説明図である。
【図４】サーボモータ制御方法のフローチャートである。
【図５】反転動作の説明図である。
【図６】補正量を演算する他の例を示す説明図である。
【図７】従来のサーボモータ制御装置のブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、工作機械に用いられるサーボモータ制御装置１の一例を示すブロック図で、位置ループや速度ループ等の基本構成は図７に示したサーボモータ制御装置と同じであるため、重複する説明は省略する。
【００１１】
このサーボモータ制御装置１では、制御対象であるテーブル７の反転動作の開始及び終了を判別する補正動作判定装置としての反転動作判定装置２０と、その反転からの距離を演算する反転距離演算装置２１と、反転時の情報を取得する反転時情報取得装置２２と、位置検出器９から得られるテーブル７の位置情報を位置誤差算出装置としての減算器１４によって位置指令値Ｘｉから減算して得られる位置誤差DIFF、及び反転距離演算装置２１から得られる反転からの距離に基づいて、回転検出器８から得られる検出位置情報に対する補正量を演算する補正量演算記憶装置２３と、ここで得られた補正量に基づいて回転検出器８からの検出位置情報を補正する検出位置補正装置２４と、を新たに備えている。
【００１２】
まず、反転動作判定装置２０は、位置指令値Ｘｉに基づいて反転動作の開始（図２に示すＴ１）を判別する反転開始判別部２５と、反転動作の終了（同図に示すＴ２）を判別する反転終了判別部２６とからなる。反転終了判別部２６は、同図（ｃ）に示すように、減算器１４から出力される位置誤差DIFFが予め設定した値よりも小さくなった場合に反転動作の終了を判別するようにしている。但し、反転距離演算装置２１から得られる反転からの距離ΔＬ：Ｘｉ−Ｘｒが所定距離に到達した場合に反転終了を判別するようにしてもよい。なお、反転からの距離ΔＬは、位置指令値Ｘｉから得られる距離とする他、同図（ｄ）に示すように、テーブル７の実際の位置とすることができる。この実際の位置は、位置検出器９からの検出位置情報を利用するか、位置指令値Ｘｉから位置誤差DIFFを減算した値を利用することで得ることができる。
【００１３】
反転時情報取得装置２２は、反転動作判定装置２０で反転動作の開始が判別されたら、位置指令値Ｘｉに基づいて、反転時座標（Ｘｒ，Ｙｒ，Ｚｒ）と、位置指令値Ｘｉを微分器２７で微分して得られる反転時加速度αＸｒと、反転時トルクＴＲＱＸｒとの反転時情報をそれぞれ取得して記憶する。なお、反転時の座標は、反転した軸（補正対象軸）に加えてそれ以外の軸（例えば３軸マシニングセンタでは他の２軸）の座標も記憶する。
【００１４】
補正量演算記憶装置２３は、図２（ｅ）（ｆ）に示すように、反転距離演算装置２１から制御周期ごとに入力される反転からの距離ΔＬにそれぞれ応じた位置誤差DIFFとを記憶する位置誤差記憶部２８と、位置誤差記憶部２８で記憶された位置誤差DIFFに基づいて補正量を演算する検出位置補正量演算部２９と、演算された補正量を記憶する検出位置補正量記憶部３０とを備える。
【００１５】
検出位置補正量演算部２９では、図３（ｂ）に示すように、今回位置誤差DIFF及び反転からの距離ΔＬに基づいて演算された補正量を修正値として、検出位置補正量記憶部３０に前回記憶されて今回使用された同図（ａ）に示す補正量に加算し、同図（ｃ）に示す新たな補正量として次回の反転動作に使用することができる。
但し、検出位置補正量演算部２９では、反転時情報取得装置２２で取得された反転時情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似であるかを判別し、反転動作が同一又は類似の場合にのみ補正量の演算を行うようになっている。
【００１６】
そして、検出位置補正装置２４は、過去に記憶された補正量の情報に基づき、制御周期ごとの反転からの距離ΔＬに応じた補正量を選択、又は線形補間等により演算して出力する検出位置補正量出力部３１を備え、ここで選択又は演算された補正量は、減算器３２において回転検出器８からの検出位置情報から減算されて補正がなされる。
３３，３３は、減算器１４と補正量演算記憶装置２３との間及び、検出位置補正装置２４における検出位置補正量出力部３１と減算器３２との間にそれぞれ設けられた開閉器で、反転動作判定装置２０における反転開始の判別に伴って閉動作して減算器１４からの位置誤差DIFFの入力と補正量の出力とを可能とし、反転終了の判別に伴って開動作する。
【００１７】
以上の如く構成されたサーボモータ制御装置１によるサーボモータ制御方法を、図４のフローチャートに基づいて説明する。
まず、Ｓ１において、反転動作判定装置２０の反転開始判別部２５が反転動作の開始を最初に判別すると（補正開始判定ステップ）、Ｓ２で反転時情報取得装置２２が反転時情報を取得してＳ３で反転時情報を記憶する。
【００１８】
次に、Ｓ４〜Ｓ６で補正量の演算・記憶制御が、Ｓ７〜Ｓ１１で検出位置の補正制御がそれぞれ行われる。まず、Ｓ４では、開閉器３３，３３が閉動作して位置誤差DIFFと反転からの距離ΔＬとが位置誤差記憶部２８に記憶され（位置誤差記憶ステップ）、Ｓ５では、検出位置補正量演算部２９が反転からの距離ΔＬに応じた補正量を演算し（検出位置補正量演算ステップ）、演算された補正量を検出位置補正量記憶部３０に記憶する（検出位置補正量記憶ステップ）。これが次回の補正量となる。このＳ４，５の処理は、Ｓ６の判別で反転終了判別部２６によって反転終了が判別（補正終了判定ステップ）されるまで繰り返される。
【００１９】
同時にＳ７で、検出位置補正量演算部２９は、過去に同一又は類似の反転動作があるか否かを判別する。この判別は、例えば図５に示すように、今回の反転動作（Pass２）での反転時座標（Ｘ２，Ｙ２）と前回の反転動作（Pass１）での反転時座標（Ｘ１，Ｙ１）とに基づいて、前回の反転時座標を中心として予め設定した設定半径Ｒを中心とした円内に今回の反転時座標が含まれるか否かによって判断される。具体的には、以下の式（１）が成立した場合に同一又は類似と判断することになる。同一又は類似と判断しなければ補正制御を終了する。
【００２０】
【数１】
0005631787.tif 000002
【００２１】
一方、Ｓ７で過去に同一又は類似の反転動作があると判断したら、検出位置補正量出力部３１は、Ｓ８で、検出位置補正量記憶部３０に記憶されている過去の補正量のデータを取得し、Ｓ９で、距離ΔＬに対応する補正量の選択又は演算を行う。そして、Ｓ１０では、選択又は演算された補正量を減算器３２へ出力し、回転検出器８からの検出位置情報から当該補正量を減算する補正を行う（検出位置補正ステップ）。この補正後の検出位置情報に基づいて速度指令及びトルク指令が出力されることになるため、位置検出器９から得られる検出位置情報と位置指令値Ｘｉとの位置誤差DIFFは小さくなる。
その後、Ｓ４において小さくなった位置誤差DIFF及び反転からの距離ΔＬが記憶され、Ｓ５で、当該記憶に基づいた補正量の演算、記憶処理とが行われて、補正量の更新がなされる（補正量更新ステップ）。これが次回の補正量となる。
【００２２】
よって、Ｓ１１の判別で反転動作が終了した後、Ｓ１で再び反転動作が開始されると、前回記憶されている補正量に基づいて補正が行われ、補正後に得られた位置誤差DIFFに基づいて次回の補正量が更新されることになる。このため、反転動作の度に位置誤差DIFFは小さくなる。
【００２３】
このように、上記形態のサーボモータ制御装置１及びサーボモータ制御方法によれば、位置指令値Ｘｉと検出位置情報との間の位置誤差に基づいて検出位置情報を補正すると共に、次回の補正時に用いる補正量の更新も行うため、動作履歴や経年変化による案内面抵抗の変化、運転条件等に応じて反転動作時の補正量が自動的に調整される。よって、加工面の品質向上が期待できる。
【００２４】
なお、上記形態では、反転動作の同一又は類似の判別を反転時座標と設定半径との関係から行っているが、これに限らず、過去と今回との反転時のＹ方向の加速度αｙｉ−１及びαｙｉと、予め設定した加速度変化率ｋとから、以下の式（２）を満たす場合に補正を行うか否かを判別するようにしてもよい。また、上記式（１）（２）の双方を満たす場合に補正を行うように判別することもできる。
【００２５】
【数２】
0005631787.tif 000003
【００２６】
また、検出位置補正量演算部における補正量の演算は、前回と今回との位置誤差DIFFをそのまま加算する場合に限らず、補正量を修正して加算することもできる。図６にその例を示す。まず最初の反転動作（Pass１）で記憶されたΔＬごとの位置誤差DIFF（同図（ａ）のＤ１）に係数を乗じて得た値を補正量（同図（ｂ）のＹ１）として記憶する。これが次の反転動作（Pass２）の際の補正量となる。反転動作Pass２では、補正量Ｙ１を用いて小さくなった位置誤差DIFF（同図（ｃ）のＤ２）に係数を乗じて得た値（Ｄ２′）を、先の反転動作Pass１で記憶されている補正量Ｙ１に加算して、得られた補正量（同図（ｄ）のＹ２）を次の反転動作（Pass３）の際の補正量とする。反転動作（Pass３）では、補正量Ｙ２を用いて小さくなった位置誤差DIFF（同図（ｅ）のＤ３）に係数を乗じて得た値（Ｄ３′）を、先の反転動作Pass２で記憶されている補正量Ｙ２に加算して、得られた補正量（同図（ｆ）のＹ３）を次の反転動作（Pass４）の際の補正量とする。これが同一又は類似の反転動作であれば繰り返されることになる。
【００２７】
一方、位置誤差記憶部で記憶された最大位置誤差が予め設定された値よりも小さい場合、補正量を修正しないようにすることもできる。
そして、上記形態では、反転動作を契機にして検出位置情報の補正を行っているが、加速動作や減速動作の開始を契機にして当該補正を開始するようにしてもよい。この場合、補正の終了は、加速時点または減速時点からの距離によって判別すればよい。
その他、サーボモータ制御装置の具体的な構成も上記形態に限らず、開閉器をなくしたり、反転時情報として取得するパラメータの増減や変更を行ったり等、適宜変更可能である。
【符号の説明】
【００２８】
１・・サーボモータ制御装置、２・・位置制御部、３・・速度制御部、４・・電流制御部、５・・サーボモータ、６・・ボールネジ、７・・テーブル、８・・回転検出器、９・・位置検出器、１０，１１，３２・・減算器、２０・・反転動作判定装置、２１・・反転距離演算装置、２２・・反転時情報取得装置、２３・・補正量演算記憶装置、２４・・検出位置補正装置、２５・・反転開始判別部、２６・・反転終了判別部、２８・・位置誤差記憶部、２９・・検出位置補正量演算部、３０・・検出位置補正量記憶部、３１・・検出位置補正量出力部。
【図１】
0005631787.tif 000004
【図２】
0005631787.tif 000005
【図３】
0005631787.tif 000006
【図４】
0005631787.tif 000007
【図５】
0005631787.tif 000008
【図６】
0005631787.tif 000009
【図７】
0005631787.tif 000010