説明

サーボモータ制御装置及びサーボモータ制御方法

【課題】動作履歴や経年変化による案内面抵抗の変化に影響を受けにくくして誤差の発生を抑制し、加工面品位を向上させると共に、様々な運転条件にも対応可能とする。
【解決手段】サーボモータ制御装置1は、反転動作の開始と終了とを判断する反転動作判定装置20と、位置指令値Xiと検出位置情報との間の位置誤差を算出する減算器14と、算出された位置誤差から補正量を演算して記憶する補正量演算記憶装置23と、補正量演算記憶装置23に記憶された補正量で検出位置情報を補正する検出位置補正装置24と、を備え、検出位置補正装置24は、反転動作の開始判断に伴い、補正量演算記憶装置23に記憶された補正量で検出位置情報を補正する一方、補正量演算記憶装置23は、当該補正後のテーブル7の移動制御によって得られる検出位置情報と位置指令値Xiとの間の位置誤差から新たな補正量を演算して次回の反転動作の際に用いる補正量を更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械等に備えられたサーボモータを駆動制御してテーブル等の制御対象の動作を制御するサーボモータ制御装置及びサーボモータ制御方法に関する。
【背景技術】
【0002】
図7に工作機械における従来のサーボモータ制御装置を示す。このサーボモータ制御装置1では、NCプログラムに基づいて生成された位置指令値Xiに基づいて速度指令値を出力する位置制御部2と、位置制御部2からの速度指令値に基づいてトルク指令値を出力する速度制御部3と、トルク指令値に基づいてサーボモータ5を駆動制御する電流制御部4とを備える。サーボモータ5には、テーブル7をスライドさせるボールネジ6が連結されると共に、回転位置を検出するロータリーエンコーダ等の回転検出器8が設けられている。また、テーブル7にはリニアエンコーダ等の位置検出器9が設けられている。10,11は減算器で、ここでは、回転検出器8及び位置検出器9からの出力信号を位置合成部12で合成して得られる位置フィードバック信号と位置指令値Xiとの偏差が0となるような位置ループが組まれており、位置ループの内側には、回転検出器8からの出力信号を微分器13によって微分して得られる速度フィードバック信号と速度指令値との偏差を0とする速度ループが組まれている。
【0003】
一方、このようなサーボモータ制御装置においては、フィードバック方式で位置指令値を修正して制御しても、送り駆動系の弾性変形等によって位置決め誤差が発生する。そこで、特許文献1には、予めロストモーション量を測定して送り速度及び移動量に対する補正量の関係を設定しておき、送りの向きが反転する前の送り速度及び移動量と当該関係から補正量を演算する補正方法の発明が開示されている。また、特許文献2には、制御対象の系をモデル化した外乱オブザーバを設けて外乱トルクを推定し、外乱トルクによる制御対象系のたわみ量を補償するたわみ量を決定し、位置指令に加算する位置制御装置の発明が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−319418号公報
【特許文献2】特開2006−215626号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、これらの補正方法では、プログラム動作の履歴や長期の機械使用による経年変化に伴う案内面抵抗の変化等によって誤差が発生し、加工精度の低下に繋がる問題があった。また、補正量やたわみ量を予め設定して補正を行うため、様々な運転条件に対応した補償パラメータの設定が困難となっていた。
【0006】
そこで、本発明は、動作履歴や経年変化による案内面抵抗の変化の影響を受けにくくして誤差の発生を抑制し、加工面品位を向上させると共に、様々な運転条件にも対応できるサーボモータ制御装置及び制御方法を提供することを目的としたものである。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1に記載の発明は、位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御装置であって、
前記検出位置情報に対する補正の開始と終了とを判断する補正動作判定装置と、前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出装置と、
算出された前記位置誤差を記憶する位置誤差記憶部と、記憶した前記位置誤差から補正量を演算する検出位置補正量演算部と、演算した補正量を記憶する検出位置補正量記憶部とからなる補正量演算記憶装置と、
前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する検出位置補正装置と、を備え、
前記検出位置補正装置は、前記補正動作判定装置による補正の開始判断に伴い、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する一方、前記補正量演算記憶装置は、当該補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新することを特徴とするものである。
請求項2に記載の発明は、請求項1の構成において、前記補正動作判定装置は、前記移動体の移動方向の反転動作を補正の開始と判断することを特徴とするものである。
請求項3に記載の発明は、請求項2の構成において、前記補正量演算記憶装置は、前記位置誤差を反転からの距離との関係で記憶して前記補正量を演算し、前記検出位置補正装置は、前記反転からの距離に応じて補正を行うことを特徴とするものである。
請求項4に記載の発明は、請求項2又は3の構成において、前記補正量演算記憶装置は、反転時の加速度、反転の方向、反転時の座標、反転時のモータトルクのうちの少なくとも1つの情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似か否かを判別し、反転動作が同一又は類似であれば、補正量の演算及び記憶を行うことを特徴とするものである。
請求項5に記載の発明は、請求項4の構成において、前記補正量演算記憶装置は、今回の反転時の座標が過去の反転時の座標を中心として予め設定された範囲内にあれば、反転動作が同一又は類似と判断することを特徴とするものである。
上記目的を達成するために、請求項6に記載の発明は、位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御方法であって、
前記検出位置情報に対する補正の開始を判断する補正開始判定ステップと、
前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出ステップと、
算出された前記位置誤差を記憶する位置誤差記憶ステップと、
記憶した前記位置誤差から補正量を演算する検出位置補正量演算ステップと、
演算した補正量を記憶する検出位置補正量記憶ステップと、
前記検出位置補正量記憶ステップで記憶された補正量で前記検出位置情報を補正する検出位置補正ステップと、
補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新する補正量更新ステップと、
前記検出位置情報に対する補正の終了を判断する補正終了判定ステップと、
を実行することを特徴とするものである。
【発明の効果】
【0008】
請求項1及び6に記載の発明によれば、位置指令値と検出位置情報との間の位置誤差に基づいて検出位置情報を補正すると共に、次回の補正時に用いる補正量の更新も行うため、動作履歴や経年変化による案内面抵抗の変化、運転条件等に応じて動作時の補正量が自動的に調整される。よって、加工面の品質向上が期待できる。
請求項2に記載の発明によれば、請求項1の効果に加えて、反転を契機とした補正が可能となる。
請求項3に記載の発明によれば、請求項2の効果に加えて、反転からの距離に応じた補正を行うため、動作中でも適正な補正が可能となる。
請求項4に記載の発明によれば、請求項2又は3の効果に加えて、補正が必要な反転動作を選択して補正可能となる。
請求項5に記載の発明によれば、請求項4の効果に加えて、反転動作の同一又は類似の判断が正確に行える。
【図面の簡単な説明】
【0009】
【図1】サーボモータ制御装置のブロック図である。
【図2】補正制御の区間及び当該区間での位置誤差及び反転からの距離の変化を示す説明図である。
【図3】補正量を演算する例を示す説明図である。
【図4】サーボモータ制御方法のフローチャートである。
【図5】反転動作の説明図である。
【図6】補正量を演算する他の例を示す説明図である。
【図7】従来のサーボモータ制御装置のブロック図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、工作機械に用いられるサーボモータ制御装置1の一例を示すブロック図で、位置ループや速度ループ等の基本構成は図7に示したサーボモータ制御装置と同じであるため、重複する説明は省略する。
【0011】
このサーボモータ制御装置1では、制御対象であるテーブル7の反転動作の開始及び終了を判別する補正動作判定装置としての反転動作判定装置20と、その反転からの距離を演算する反転距離演算装置21と、反転時の情報を取得する反転時情報取得装置22と、位置検出器9から得られるテーブル7の位置情報を位置誤差算出装置としての減算器14によって位置指令値Xiから減算して得られる位置誤差DIFF、及び反転距離演算装置21から得られる反転からの距離に基づいて、回転検出器8から得られる検出位置情報に対する補正量を演算する補正量演算記憶装置23と、ここで得られた補正量に基づいて回転検出器8からの検出位置情報を補正する検出位置補正装置24と、を新たに備えている。
【0012】
まず、反転動作判定装置20は、位置指令値Xiに基づいて反転動作の開始(図2に示すT1)を判別する反転開始判別部25と、反転動作の終了(同図に示すT2)を判別する反転終了判別部26とからなる。反転終了判別部26は、同図(c)に示すように、減算器14から出力される位置誤差DIFFが予め設定した値よりも小さくなった場合に反転動作の終了を判別するようにしている。但し、反転距離演算装置21から得られる反転からの距離ΔL:Xi−Xrが所定距離に到達した場合に反転終了を判別するようにしてもよい。なお、反転からの距離ΔLは、位置指令値Xiから得られる距離とする他、同図(d)に示すように、テーブル7の実際の位置とすることができる。この実際の位置は、位置検出器9からの検出位置情報を利用するか、位置指令値Xiから位置誤差DIFFを減算した値を利用することで得ることができる。
【0013】
反転時情報取得装置22は、反転動作判定装置20で反転動作の開始が判別されたら、位置指令値Xiに基づいて、反転時座標(Xr,Yr,Zr)と、位置指令値Xiを微分器27で微分して得られる反転時加速度αXrと、反転時トルクTRQXrとの反転時情報をそれぞれ取得して記憶する。なお、反転時の座標は、反転した軸(補正対象軸)に加えてそれ以外の軸(例えば3軸マシニングセンタでは他の2軸)の座標も記憶する。
【0014】
補正量演算記憶装置23は、図2(e)(f)に示すように、反転距離演算装置21から制御周期ごとに入力される反転からの距離ΔLにそれぞれ応じた位置誤差DIFFとを記憶する位置誤差記憶部28と、位置誤差記憶部28で記憶された位置誤差DIFFに基づいて補正量を演算する検出位置補正量演算部29と、演算された補正量を記憶する検出位置補正量記憶部30とを備える。
【0015】
検出位置補正量演算部29では、図3(b)に示すように、今回位置誤差DIFF及び反転からの距離ΔLに基づいて演算された補正量を修正値として、検出位置補正量記憶部30に前回記憶されて今回使用された同図(a)に示す補正量に加算し、同図(c)に示す新たな補正量として次回の反転動作に使用することができる。
但し、検出位置補正量演算部29では、反転時情報取得装置22で取得された反転時情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似であるかを判別し、反転動作が同一又は類似の場合にのみ補正量の演算を行うようになっている。
【0016】
そして、検出位置補正装置24は、過去に記憶された補正量の情報に基づき、制御周期ごとの反転からの距離ΔLに応じた補正量を選択、又は線形補間等により演算して出力する検出位置補正量出力部31を備え、ここで選択又は演算された補正量は、減算器32において回転検出器8からの検出位置情報から減算されて補正がなされる。
33,33は、減算器14と補正量演算記憶装置23との間及び、検出位置補正装置24における検出位置補正量出力部31と減算器32との間にそれぞれ設けられた開閉器で、反転動作判定装置20における反転開始の判別に伴って閉動作して減算器14からの位置誤差DIFFの入力と補正量の出力とを可能とし、反転終了の判別に伴って開動作する。
【0017】
以上の如く構成されたサーボモータ制御装置1によるサーボモータ制御方法を、図4のフローチャートに基づいて説明する。
まず、S1において、反転動作判定装置20の反転開始判別部25が反転動作の開始を最初に判別すると(補正開始判定ステップ)、S2で反転時情報取得装置22が反転時情報を取得してS3で反転時情報を記憶する。
【0018】
次に、S4〜S6で補正量の演算・記憶制御が、S7〜S11で検出位置の補正制御がそれぞれ行われる。まず、S4では、開閉器33,33が閉動作して位置誤差DIFFと反転からの距離ΔLとが位置誤差記憶部28に記憶され(位置誤差記憶ステップ)、S5では、検出位置補正量演算部29が反転からの距離ΔLに応じた補正量を演算し(検出位置補正量演算ステップ)、演算された補正量を検出位置補正量記憶部30に記憶する(検出位置補正量記憶ステップ)。これが次回の補正量となる。このS4,5の処理は、S6の判別で反転終了判別部26によって反転終了が判別(補正終了判定ステップ)されるまで繰り返される。
【0019】
同時にS7で、検出位置補正量演算部29は、過去に同一又は類似の反転動作があるか否かを判別する。この判別は、例えば図5に示すように、今回の反転動作(Pass2)での反転時座標(X,Y)と前回の反転動作(Pass1)での反転時座標(X,Y)とに基づいて、前回の反転時座標を中心として予め設定した設定半径Rを中心とした円内に今回の反転時座標が含まれるか否かによって判断される。具体的には、以下の式(1)が成立した場合に同一又は類似と判断することになる。同一又は類似と判断しなければ補正制御を終了する。
【0020】
【数1】

【0021】
一方、S7で過去に同一又は類似の反転動作があると判断したら、検出位置補正量出力部31は、S8で、検出位置補正量記憶部30に記憶されている過去の補正量のデータを取得し、S9で、距離ΔLに対応する補正量の選択又は演算を行う。そして、S10では、選択又は演算された補正量を減算器32へ出力し、回転検出器8からの検出位置情報から当該補正量を減算する補正を行う(検出位置補正ステップ)。この補正後の検出位置情報に基づいて速度指令及びトルク指令が出力されることになるため、位置検出器9から得られる検出位置情報と位置指令値Xiとの位置誤差DIFFは小さくなる。
その後、S4において小さくなった位置誤差DIFF及び反転からの距離ΔLが記憶され、S5で、当該記憶に基づいた補正量の演算、記憶処理とが行われて、補正量の更新がなされる(補正量更新ステップ)。これが次回の補正量となる。
【0022】
よって、S11の判別で反転動作が終了した後、S1で再び反転動作が開始されると、前回記憶されている補正量に基づいて補正が行われ、補正後に得られた位置誤差DIFFに基づいて次回の補正量が更新されることになる。このため、反転動作の度に位置誤差DIFFは小さくなる。
【0023】
このように、上記形態のサーボモータ制御装置1及びサーボモータ制御方法によれば、位置指令値Xiと検出位置情報との間の位置誤差に基づいて検出位置情報を補正すると共に、次回の補正時に用いる補正量の更新も行うため、動作履歴や経年変化による案内面抵抗の変化、運転条件等に応じて反転動作時の補正量が自動的に調整される。よって、加工面の品質向上が期待できる。
【0024】
なお、上記形態では、反転動作の同一又は類似の判別を反転時座標と設定半径との関係から行っているが、これに限らず、過去と今回との反転時のY方向の加速度αyi−1及びαyiと、予め設定した加速度変化率kとから、以下の式(2)を満たす場合に補正を行うか否かを判別するようにしてもよい。また、上記式(1)(2)の双方を満たす場合に補正を行うように判別することもできる。
【0025】
【数2】

【0026】
また、検出位置補正量演算部における補正量の演算は、前回と今回との位置誤差DIFFをそのまま加算する場合に限らず、補正量を修正して加算することもできる。図6にその例を示す。まず最初の反転動作(Pass1)で記憶されたΔLごとの位置誤差DIFF(同図(a)のD1)に係数を乗じて得た値を補正量(同図(b)のY1)として記憶する。これが次の反転動作(Pass2)の際の補正量となる。反転動作Pass2では、補正量Y1を用いて小さくなった位置誤差DIFF(同図(c)のD2)に係数を乗じて得た値(D2′)を、先の反転動作Pass1で記憶されている補正量Y1に加算して、得られた補正量(同図(d)のY2)を次の反転動作(Pass3)の際の補正量とする。反転動作(Pass3)では、補正量Y2を用いて小さくなった位置誤差DIFF(同図(e)のD3)に係数を乗じて得た値(D3′)を、先の反転動作Pass2で記憶されている補正量Y2に加算して、得られた補正量(同図(f)のY3)を次の反転動作(Pass4)の際の補正量とする。これが同一又は類似の反転動作であれば繰り返されることになる。
【0027】
一方、位置誤差記憶部で記憶された最大位置誤差が予め設定された値よりも小さい場合、補正量を修正しないようにすることもできる。
そして、上記形態では、反転動作を契機にして検出位置情報の補正を行っているが、加速動作や減速動作の開始を契機にして当該補正を開始するようにしてもよい。この場合、補正の終了は、加速時点または減速時点からの距離によって判別すればよい。
その他、サーボモータ制御装置の具体的な構成も上記形態に限らず、開閉器をなくしたり、反転時情報として取得するパラメータの増減や変更を行ったり等、適宜変更可能である。
【符号の説明】
【0028】
1・・サーボモータ制御装置、2・・位置制御部、3・・速度制御部、4・・電流制御部、5・・サーボモータ、6・・ボールネジ、7・・テーブル、8・・回転検出器、9・・位置検出器、10,11,32・・減算器、20・・反転動作判定装置、21・・反転距離演算装置、22・・反転時情報取得装置、23・・補正量演算記憶装置、24・・検出位置補正装置、25・・反転開始判別部、26・・反転終了判別部、28・・位置誤差記憶部、29・・検出位置補正量演算部、30・・検出位置補正量記憶部、31・・検出位置補正量出力部。

【特許請求の範囲】
【請求項1】
位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御装置であって、
前記検出位置情報に対する補正の開始と終了とを判断する補正動作判定装置と、
前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出装置と、
算出された前記位置誤差を記憶する位置誤差記憶部と、記憶した前記位置誤差から補正量を演算する検出位置補正量演算部と、演算した補正量を記憶する検出位置補正量記憶部とからなる補正量演算記憶装置と、
前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する検出位置補正装置と、を備え、
前記検出位置補正装置は、前記補正動作判定装置による補正の開始判断に伴い、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する一方、前記補正量演算記憶装置は、当該補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新することを特徴とするサーボモータ制御装置。
【請求項2】
前記補正動作判定装置は、前記移動体の移動方向の反転動作を補正の開始と判断することを特徴とする請求項1に記載のサーボモータ制御装置。
【請求項3】
前記補正量演算記憶装置は、前記位置誤差を反転からの距離との関係で記憶して前記補正量を演算し、前記検出位置補正装置は、前記反転からの距離に応じて補正を行うことを特徴とする請求項2に記載のサーボモータ制御装置。
【請求項4】
前記補正量演算記憶装置は、反転時の加速度、反転の方向、反転時の座標、反転時のモータトルクのうちの少なくとも1つの情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似か否かを判別し、反転動作が同一又は類似であれば、補正量の演算及び記憶を行うことを特徴とする請求項2又は3に記載のサーボモータ制御装置。
【請求項5】
前記補正量演算記憶装置は、今回の反転時の座標が過去の反転時の座標を中心として予め設定された範囲内にあれば、反転動作が同一又は類似と判断することを特徴とする請求項4に記載のサーボモータ制御装置。
【請求項6】
位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御方法であって、
前記検出位置情報に対する補正の開始を判断する補正開始判定ステップと、
前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出ステップと、
算出された前記位置誤差を記憶する位置誤差記憶ステップと、
記憶した前記位置誤差から補正量を演算する検出位置補正量演算ステップと、
演算した補正量を記憶する検出位置補正量記憶ステップと、
前記検出位置補正量記憶ステップで記憶された補正量で前記検出位置情報を補正する検出位置補正ステップと、
補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新する補正量更新ステップと、
前記検出位置情報に対する補正の終了を判断する補正終了判定ステップと、
を実行することを特徴とするサーボモータ制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−198785(P2012−198785A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−62829(P2011−62829)
【出願日】平成23年3月22日(2011.3.22)
【出願人】(000149066)オークマ株式会社 (476)
【Fターム(参考)】