JP3805309B2 - Servo motor drive control device - Google Patents

Servo motor drive control device Download PDF

Info

Publication number
JP3805309B2
JP3805309B2 JP2003022102A JP2003022102A JP3805309B2 JP 3805309 B2 JP3805309 B2 JP 3805309B2 JP 2003022102 A JP2003022102 A JP 2003022102A JP 2003022102 A JP2003022102 A JP 2003022102A JP 3805309 B2 JP3805309 B2 JP 3805309B2
Authority
JP
Japan
Prior art keywords
correction data
command
speed
servo motor
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003022102A
Other languages
Japanese (ja)
Other versions
JP2004234327A (en
Inventor
平輔 岩下
宏之 河村
志▲い▼ 湯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2003022102A priority Critical patent/JP3805309B2/en
Priority to EP04250450A priority patent/EP1443372B1/en
Priority to DE602004004177T priority patent/DE602004004177T2/en
Priority to CNB2004100393524A priority patent/CN100449933C/en
Priority to US10/767,058 priority patent/US7084596B2/en
Publication of JP2004234327A publication Critical patent/JP2004234327A/en
Application granted granted Critical
Publication of JP3805309B2 publication Critical patent/JP3805309B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39191Compensation for errors in mechanical components
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41084Compensation speed axis with changing, reversing direction, quadrant circle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42129Teach, learn position table, model, for each reference a motor control output

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position Or Direction (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、工作機械のテーブル等の送り軸を駆動するサーボモータの駆動制御装置に関し、テーブルに取り付けられた被加工物を加工する際に、送り軸の移動方向が反転する際に加工面に生じる突起を少なくするサーボモータの駆動制御装置に関する。
【0002】
【従来の技術】
工作機械等において、テーブルを移動させる送り軸を駆動するサーボモータの駆動方向が反転する際、通常、送りねじ軸のバックラッシュや摩擦のためにテーブルは即座に反転することができない。そのためテーブルに取り付けられた被加工物に対して円弧切削等を行っているとき、この駆動方向反転時の円弧切削面に突起が生じる。
【0003】
例えば、X軸,Y軸の直交平面上を移動するテーブルに取り付けた被加工物に対して円弧切削を行っている場合において、X軸はプラス方向に移動し、Y軸はマイナス方向に移動して円弧切削を行っている途中で象限が変わり(なお、円弧中心を座標系の原点とする)、Y軸はそのままマイナス方向に移動するがX軸は移動方向が変わりマイナス方向に移動するものとする。この場合、Y軸に対してはそれまでの駆動速度で駆動され切削がなされるが、X軸は方向反転時、位置偏差が「0」となりトルク指令が小さくなり、摩擦の影響で即座には反転できない。さらに、送りねじのバックラッシュにより、このバックラッシュ分、テーブルのX軸方向への移動は遅れる。その結果、この象限が変わるときに切削面に突起が生じる。以下この突起を象限突起という。
【0004】
この象限突起を減らす方法として様々な補正方法が提案されている(例えば、特許文献1等)。
【0005】
【特許文献1】
特開平7−110717号公報
【0006】
【発明が解決しようとする課題】
しかし、これら提案されている方法は、象限突起を減少させるために付加する補正量を、この補正の効果を確認しながら補正量の大きさを調整するもので、この調整に多くの時間を必要としていた。
【0007】
そこで、本発明の目的は、この象限突起を減少させる補正を容易にできるようにしたサーボモータの駆動制御装置を提供することにある。
【0008】
【課題を解決するための手段】
本願請求項1に係わる発明は、上位制御装置あるいは上位制御部から所定サンプリング周期で送られる位置指令と位置検出器からの位置フィードバックとの偏差に基づいて所定周期毎に速度指令を出力してサーボモータを駆動制御する制御装置において、前記サーボモータで駆動される被駆動部の所定区間を繰り返して駆動して所定周期に亘る位置偏差を求め、該位置偏差に基づいて学習制御を行い、該学習制御によって得られた速度指令に基づいて補正データを求め、前記補正データを解析し、関数近似した第2の補正データを作成し、所定時間に亘って前記速度指令を前記第2の補正データにより補正しながら前記サーボモータを駆動制御するようにすることによって、加工精度を向上させたものである。又、請求項2に係わる発明は、前記速度指令の補正データを学習制御により得られた速度指令とした。
さらに、請求項3に係わる発明は、前記補正データを、学習制御によって得られた速度指令から、前記位置指令を微分した微分値を差し引いて求めたものとした。
【0009】
又、請求項4に係わる発明は、前記補正データを、位置指令反転時より所定時間の補正データとし、前記位置指令の反転を検出する手段を備え、該位置指令反転時より所定時間に亘って前記補正データより補正量を求めて速度指令を補正するようにした。さらに、請求項に係わる発明は、前記サーボモータの駆動制御装置にコンピュータを接続し、該コンピュータによって前記速度指令の第2の補正データを作成するものとした。
【0010】
請求項に係わる発明は、上位制御装置あるいは上位制御部から所定サンプリング周期で送られる位置指令と位置検出器からの位置フィードバックとの偏差に基づいて所定周期毎に速度指令を出力し、前記速度指令と速度検出器からの速度フィードバックとの偏差に基づいて所定周期毎にトルク指令を出力してサーボモータを駆動制御する制御装置において、前記サーボモータで駆動される被駆動部の所定区間を繰り返して駆動して所定周期に亘る位置偏差を求め、該位置偏差に基づいて学習制御を行い、該学習制御によって得られたトルク指令に基づいて補正データを求め、前記補正データを解析し、関数近似した第2の補正データを作成し、所定時間に亘って前記トルク指令を前記第2の補正データにより補正しながら前記サーボモータを駆動制御するようにした。請求項に係わる発明は、前記補正データは、該学習制御によって得られたトルク指令から、前記位置指令を2階微分した微分値を差し引いて求めるものとした。
【0011】
請求項に係わる発明は、前記補正データを、位置指令反転時より所定時間の補正データとし、前記位置指令の反転を検出する手段を備え、位置指令反転後、所定時間に亘って前記トルク指令を該補正データに基づいて補正するようにした。また、請求項に係わる発明は、前記サーボモータの駆動制御装置にコンピュータを接続し、該コンピュータによって前記トルク指令の第2の補正データを作成するものとした。
【0012】
請求項10に係わる発明は、前記補正データを学習制御によって得る代わりに、前記位置指令の反転を検出する手段を備え、前記制御装置の制御対象に働く摩擦のモデルを前記速度指令から前記トルク指令を作成するまでのオープンループ伝達関数の逆関数へ入力した場合の出力を、位置指令の反転から所定時間における前記速度指令の補正データとした。さらに、請求項11に係わる発明は、この逆関数の出力にフィルタを適用し、前記フィルタの出力を前記速度指令の補正データとした。さらに、請求項12に係わる発明は、このフィルタ処理された補正データを前記フィルタの遅れ時間分早めてフィルタによる遅れを補正した補正データとした。
【0013】
【発明の実施の形態】
図1は本発明の第1の実施形態におけるサーボモータの駆動制御装置の要部ブロック図である。
数値制御装置等の上位制御装置又は上位制御部から指令される位置指令から、制御対象5であるサーボモータ、もしくは該サーボモータで駆動させるテーブル等の可動部の実際位置の位置フィードバックを減算器1で減算し、位置偏差を求める。該位置偏差にポジションゲインKp(要素2)を乗じて速度指令を求め該速度指令に速度オフセット手段4に予め設定されている補正データから求められる補正量を加算器3で加算して補正された速度指令を求め、制御対象5のサーボモータを駆動する。なお、符号6は、制御対象に設けられた速度検出器からの速度フィードバックを積分して位置を求める項である。
【0014】
図2は、本発明の第2の実施形態におけるサーボモータの駆動制御装置の要部ブロック図である。この第2の実施形態と第1の実施形態との差異は、位置指令の極性が反転することを検出し速度オフセット手段4に補正開始指令を出力する位置指令の反転検出手段7が設けられている点である。そして、この第2の実施形態では、位置指令の反転検出手段7から出力される補正開始指令から所定時間だけ、予め設定されている速度補正データに基づく補正量を速度指令に加算して補正された速度指令として制御対象5のサーボモータを駆動制御するものである。
【0015】
図3、図4は、速度オフセット手段4に格納される速度補正データを作成するときのブロック図である。
図3に示す補正データ作成方法は、位置ループ制御系に学習コントローラ10を追加し、学習制御を行って得られる速度指令を速度オフセット手段4に設定する速度補正データとするものである。すなわち、数値制御装置等の上位制御装置から指令される位置指令から、制御対象5であるサーボモータ、もしくは該サーボモータで駆動させる可動部の実際位置の位置フィードバックを減算器1で減算し、位置偏差を求める。又、学習コントローラ10はこの位置偏差を格納すると共に、繰り返し指令される周期1周期前の位置偏差に基づいて補正量を求め、位置偏差に加算器11で加算し、補正した位置偏差を求め、この位置偏差にポジションゲインKp(要素2)を乗じて速度指令を求め制御対象5を駆動制御する。
【0016】
学習コントローラ10はすでに周知慣用のものであり、同一形状を加工するために繰り返し指令される同一パターンの位置指令の1パターン周期間に所定周期毎求められる位置偏差に相当するデータを記憶する記憶部を備え、当該周期で求められた位置偏差と1パターン周期前の位置偏差に基づいて記憶したデータとを加算し、フィルタ処理した後当該周期のデータとして記憶する。また、1パターン周期前の記憶データを動特性補償処理して出力し位置偏差に加算するものである。この学習制御を繰り返すことによって、位置偏差が零に収束することが知られている。
【0017】
この学習制御を行いながら(象限突起が発生するような所定区間を加工するために)繰り返し指令される(所定区間の)パターンを複数回繰り返し実行すると、位置偏差は零に収束する。こうして位置偏差が零に収束した段階で、この学習コントローラ10により位置偏差が補正され、この補正された位置偏差にポジションゲインKpが乗じられて求められた速度指令を速度オフセット手段4の速度補正データとして取得する。この速度補正データは、高い精度を得るための速度指令とみなすことができる。この速度補正データを速度指令に加算して補正することは、フィードフォワードを適用することと同じ効果が得られる。
【0018】
フィードフォワードは位置指令の微分値を速度指令に加算することで、ポジションゲインによる位置制御の遅れを補償し、位置偏差量を零に近づけることができるものであるが、位置指令の微分値は速度制御が十分な追従特性を持っている場合に限り、理想的な速度指令となり、制御対象に働くバックラッシの影響が強い場合には、方向反転時に付加トルクが急激に変化するために十分な速度追従性が得られず、位置偏差(象限突起)が発生する。
【0019】
学習制御を適用した場合には速度制御が十分な追従特性を持っている場合だけでなく、象限突起も十分に抑える効果を持っており、学習制御を適用して出力される速度指令は、従来のフィードフォワード制御を越えた実用上の理想的な速度指令とみなすことができる。図3に示した方法により、取得した速度補正データは、この理想的な速度指令(補正データ)に等しく、この取得した速度補正データを学習制御と同じタイミングで速度指令を補正すれば、高い形状精度の加工ができる。
【0020】
図4は、もう1つの補正データ取得方法のブロック図である。この図4に示す例も学習コントローラ10を用い、繰り返し指令される同一パターンの位置指令に対して学習コントローラ10による学習制御を適用することによって所定パターンの位置指令の処理を複数回繰り返し実行する点までは、図3と同一であるが、この学習コントローラ10を用いて位置偏差が零に収束した段階で、位置偏差を学習制御による補正量で補正した位置偏差にポジションゲインKpを乗じて得られた速度指令から、位置指令を微分(要素13)して得られた指令速度を減算器12で減算し、得られた速度差を速度オフセット手段4の速度補正データとして取得する。
【0021】
この図4に示す方法は、学習制御で得られた速度指令からフィードフォワード制御による制御量に相当する位置指令の微分値を減算している。これは、学習制御で得られた速度指令から速度制御が追従しない外乱要素を補償している要素だけを取り出すものである。この取り出したデータのうち位置指令が反転した後のデータは、バックラッシの影響により発生する象限突起を補正するものと見なせるから、これを元にした速度補正量を作成し、適用することは、最適な象限突起補正を実現することになる。
【0022】
以上のようにして得られた速度補正データをそのまま使用してもよいが、採取したままの補正データにはノイズが含まれており、これらノイズを除去して、第2の補正データを作成する方がよい。
図5は、このノイズを除去した第2の補正データ作成方法を示す図である。図5において、符号20は、学習制御を適用し位置偏差が零に収束した状態で移動方向が変わる領域における採取した速度補正データである。この符号20で示す例は、図4に示した指令速度と実際の速度指令との差より求めた速度補正データの例を示している。この採取補正データの図において、横軸は時間、縦軸は速度補正データの大きさで、左上から右下の斜め直線は速度指令を意味する。この補正データにはノイズが含まれ、移動方向が反転したとき、大きな速度差が生じていることがわかる。この採取した補正データをフィルタ21にかけてノイズ成分を除去し、符号22に示すような第2の速度補正データを得る。
【0023】
又、図6に示すように、採取補正データ20を解析し、符号23に示すように、直線近似した第2の速度補正データ23を得るようにしてもよい。
なお、図1に示した実施形態では、移動指令の繰り返されるパターンの1パターン周期分を速度補正データとするものであるから、採取した速度補正データをそのまま設定する速度補正データとするか、もしくは前述したようにして、移動指令が反転する区間を解析したデータとし、他の区間は採取データもしくは「0」として第2の速度補正データとして、速度オフセット手段4に設定する。又、図2に示した実施形態では、位置指令が反転した所定区間だけ速度補正データを補正するものであるから、位置指令が反転した後の所定区間を速度補正データとして選択する。又、上述したように、位置指令の反転から所定区間の速度補正データを解析して得られた第2の速度補正データを速度オフセット手段4に格納する速度補正データとする。
【0024】
このような第2の補正データ22,23を得る場合には、図7に示すように、上位制御装置30や外部のコンピュータ31を利用して解析する。図7に示す例では、図4に示した方法によって得られた採取補正データを数値制御装置等の上位制御装置30に転送し、さらに、この上位制御装置30からコンピュータ31に転送し、該コンピュータ31によって、フィルタ処理又は直線近似処理を行って、第2の補正データ22,23を作成する。直線近似処理を行った場合には図11に示すように、直線近似の直線の始点、終点の補正量の大きさ(例えば、A0,A1,A2)と該点の補正を開始からの時間(例えば、t1,t2,t3)を補正データとする。又、直線近似しない場合は、図10に示すように、補正データを最大の大きさ1、補正開始から終了までの時間を1とする正規化したデータとする。そして、その結果を上位制御装置30に転送して、サーボモータ駆動制御装置に送り速度オフセット手段4にセットするようにすればよい。なお、上位制御装置30によってこの第2の補正データを作成するようにしてもよい。
【0025】
上述した実施形態では、速度オフセット手段4による補正データの作成を、学習制御を行って得られた速度指令等から求めるようにしたが、移動方向反転時の摩擦モデルを作成し、この摩擦モデルから補正データを得るようにしてもよい。図8は、この場合の一例で、横軸を時間、縦軸を摩擦力とした、移動方向反転時の摩擦モデル32を作成し、このモデル32に速度指令からトルク指令までのオープンループ伝達関数の逆関数33を乗じて速度補正データ24を得るようにする。すなわち、速度指令に基づいて速度ループ制御処理等を行う速度コントローラを設けてトルク指令を求めるものであれば(例えば、後述する図15に示すように、位置ループ、速度ループ制御処理を行うサーボモータ駆動制御装置において、位置ループから出力される速度指令より速度ループ処理を行う速度コントローラによりトルク指令を求めるもの)、この速度コントローラの伝達関数Cv(S)の逆関数Cv(S)−1を乗じて、速度補正データ24を得る。
【0026】
又、速度コントローラの逆関数を用いて摩擦モデルより速度補正データを求めたとき、高周波成分を含むことから、急激に変化する補正量を速度指令に加算するおそれがあることから、図9に示すように、フィルタ34によって高周波成分を取り除き速度制御が追従できる程度の補正データ25としてもよい。この場合、フィルタ処理することによって、時間遅れが発生する。例えば、フィルタ34の伝達関数が1/(TS+1)で表される1次のフィルタの場合、立ち上がりの時間Tを遅れ時間とみなすか、又は、設定フィルタの入力波形を周波数分析し、振幅が最も大きい周波数での位相遅れから時間遅れを計算する等の方法で遅れ時間を求める等により遅れ時間を推定する。又は、M次のFIRフィルタの場合、M/2サンプリング時間程度遅れるため、これを遅れ時間とする。こうして求められた遅れ時間分だけ、時間を早めて、速度補正データを速度オフセット手段に設定するようにする。
【0027】
また、この速度補正データを解析して図11に示す直線近似した補正データ、又は図10に示す正規化した補正データとする。この速度補正データは、上位制御装置30や外部のコンピュータで作成し、サーボモータ駆動制御装置に送り速度オフセット手段4にセットするようにすればよい。
【0028】
図12は、上述したような補正データを用いて、サーボモータ駆動制御装置のプロセッサが実施する、図1に示す速度補正処理のフローチャートである。
サーボモータ駆動制御装置のプロセッサは位置ループ処理周期毎、図12に示す処理を実行する。
まず、数値制御装置等の上位制御装置から指令される位置指令と位置フィードバックにより位置偏差を求め、該位置偏差にポジションゲインKpを乗じて速度指令Vcを求める(ステップ100)。次に、フラグFが「1」にセットされ、速度指令の補正を行っている期間かを判断し(ステップ101)、フラグFが「1」にセットされていなければ、補正データ読み込み指令が入力されているか判別し(ステップ102)、補正データ読み込み指令が入力されていなければ、ステップ109に移行して、ステップ100で求めた速度指令Vcを次の速度ループ制御処理へ引き渡す。
【0029】
又、補正データ読み込み指令が入力されていると、カウンタCをクリアし、フラグFを「1」にセットする(ステップ103)。そして、カウンタCを「1」インクリメントし(ステップ104)、速度補正データを記憶する記憶部(速度オフセット手段)からカウンタCの値に対応する速度補正データを読み出し、これを補正量Aとし、ステップ100で求めた速度指令Vcにこの補正量Aを加算し補正された速度指令Vcとする(ステップ105,106)。次に、カウンタの値が速度指令を補正する区間に対応する設定された値C0に達したか判断し(ステップ107)、達してなければ、ステップ109に移行して、この補正された速度指令Vcを出力する。
【0030】
次の周期からは、フラグFが「1」にセットされているから、ステップ100で位置ループ処理して速度指令Vcを求めた後、ステップ101からステップ104に移行して、ステップ104〜109の処理を行う。かくして、位置ループ処理で求められた速度指令Vcは、速度オフセット手段に格納されている速度補正データにより補正されて、次の速度ループ処理等における速度指令とされる。
【0031】
上述した速度指令の補正処理を位置ループ処理周期毎行い、カウンタCの値が設定されたC0に達すると(ステップ107)、フラグFを「0」にリセットし、ステップ109に移行する。次の周期からは、フラグFが「1」にセットされていないから、補正データ読み込み指令が再び入力されない限りステップ100,101,102,109の処理を繰り返し実行することになる。
【0032】
以上の通り、この実施形態では、補正データ読み込み指令が入力されてから所定区間速度補正データに基づいて速度指令が補正されることになり、これによって、象限突起等を減少させ、加工精度の高い加工を行うことができる。
【0033】
図13は、図2に示す方法によりサーボモータ駆動制御装置のプロセッサが位置ループ処理周期毎に実行する本発明に関係する部分の処理のフローチャートである。なお、この図13に示す例では、速度補正データとして、図10に示したような移動方向が反転する区間の直線近似されていない正規化された補正データを用いるものとしている。
【0034】
まず、位置ループ処理して速度指令Vcを求める(ステップ200)。すなわち、位置指令と位置フィードバックにより位置偏差を求め、該位置偏差にポジションゲインを乗じて速度指令Vcを求める。次に、フラグFが「1」にセットされ、速度指令の補正を行っている期間かを判断し(ステップ201)、フラグFが「1」にセットされていなければ、上位制御装置(数値制御装置等)からの位置指令の符号が反転(移動方向の反転)したか判断し(ステップ202)、反転していなければ、ステップ211に移行し、ステップ200の位置ループ処理によって得られた速度指令Vcを次の処理(速度ループ処理等)へ引き渡す。
【0035】
一方、ステップ202で上位制御装置からの位置指令の符号が反転したと判断されたとき、すなわち加工位置の象限が変わるとき、ステップ200の位置ループ処理で求めた速度指令が設定速度V0より小さくなっているか判断し(ステップ204)、小さくなっていなければ、ステップ210に移行する。小さくなっていれば、フラグFを「1」にセットし(ステップ205)、カウンタCをリセットする(ステップ206)。
【0036】
そして、カウンタCを「1」インクリメントし(ステップ207)、カウンタCの値に対応する速度補正データの値に比例係数A0を乗じて補正量Aを求め、この補正量Aをステップ200で求めた速度指令Vcに加算して補正された新たな速度指令とする(ステップ208)。
【0037】
次に、カウンタCの値が補正期間に対応する設定された値C0(補正期間の位置ループ処理周期の数)以上か判断し(ステップ209)、この値C0に達していなければ、ステップ211に移行して、ステップ208で補正された速度指令Vcを出力する。
【0038】
次の周期からは、フラグFが「1」にセットされているから、ステップ201からステップ207に移行し、補正量Aを求め、該補正量Aを位置ループ処理で求めた速度指令に加算して補正された速度指令を出力するステップ200,201,207,208,209,211の処理を繰り返し実行し、補正データに基づく補正量が位置ループ処理で求めた速度指令に加算されて補正されて速度指令とされる。そしてカウンタCの値が設定値C0以上となるとステップ209からステップ210に移行し、フラグFを「0」にリセットし、ステップ211でステップ208で補正された速度指令を出力する。
【0039】
以後の処理周期では、フラグFが「0」にリセットされているから、ステップ201からステップ202に移行し、前述した処理を行うことになる。このようにして、位置指令の符号が反転し、移動方向指令が反転した後、さらに速度指令が所定値より小さくなった後、所定区間だけ速度補正データに基づく速度指令の補正を行って、象限が変わるときに発生する突起を減少させるようにした。
【0040】
上述した図13に示す処理は、補正データとして、図10に示すようなデータがサーボモータ駆動制御装置のメモリ(速度オフセット手段)内に格納されている場合であるが、図11に示すような直線近似したデータが速度オフセット手段としてのメモリに格納されている場合においては、図14に示す処理がなされる。
【0041】
この処理はステップ300〜305までの処理は、ステップ200〜205の処理と同一である。そして、ステップ206〜211の処理がステップ306〜315の処理に変わっている点で相違するものである。
すなわち、位置指令の符号が反転し、速度指令Vcが所定値V0より小さくなるまでは、各位置ループ処理周期毎、ステップ300〜304、315の処理がなされ、通常の位置ループ処理(ステップ300)によって求められた速度指令Vcが出力される。一方、位置指令の符号が反転し、速度指令Vcが所定値V0より小さくなり加工の象限が変わる位置となると、タイマtをリセットしスタートさせた後(ステップ306)、サーボモータ駆動制御装置のプロセッサは、タイマtの計時時間が速度補正データとして記憶する最初の記憶時間t1以下か判断し(ステップ307)、以下ならば、該記憶時間t1に対応して記憶する補正量の大きさA0に(t/t1)を乗じて補正量Aを求め、該補正量Aをステップ300で求めた速度指令Vcに加算して補正された速度指令を求める(ステップ308)。
【0042】
また、タイマtの計時時間が速度補正データとして記憶する第1と第2の記憶時間t1、t2の間であれば、すなわちt1<t≦t2であれば(ステップ309)、第1と第2の記憶時間t1、t2に対応して記憶する補正量の大きさA0,A1に基づいて、次式により内挿補間して補正量Aを求める。
A=A0+(A1−A0)×(t−t1)/(t2−t1)
こうして求められた補正量Aをステップ300で求めた速度指令Vcに加算して補正された速度指令を求める(ステップ310)。
【0043】
又、タイマtの計時時間が速度補正データとして記憶する第2と第3の記憶時間t2、t3の間であれば、すなわちt2<t≦t3であれば(ステップ311)、第2と第3の記憶時間t2、t3に対応して記憶する補正量の大きさA1,A2に基づいて、次式により内挿補間して補正量Aを求める。
A=A1+(A2−A1)×(t−t2)/(t3−t2)
こうして求められた補正量Aをステップ300で求めた速度指令Vcに加算して補正された速度指令を求める(ステップ312)。
【0044】
こうして求められた速度指令はステップ315で、次の処理(速度ループ処理、電流ループ処理等)に引き渡される。
又、タイマtの計時時間が補正期間のt3をこえると(ステップ313)、フラグFを「0」にセットして(ステップ314)、ステップ315に移行する。
【0045】
以上のようにして、加工位置の象限が変わるとき、補正データに基づく補正が速度指令になされて象限突起の発生を防止する。
【0046】
上述した各実施形態では、速度指令を補正することによって、象限突起の発生を防止したが、トルク指令を補正することによっても同様に象限突起の発生を防止することができる。
【0047】
図15は、このトルク指令を補正することによって象限突起の発生を防止した第3の実施形態のサーボモータ制御系のブロック図である。この第3の実施形態と図1の実施形態と相違する点は、この図15に示す実施形態には速度コントローラ14が加わっていることと、該速度コントローラ14から出力されるトルク指令にトルクオフセット手段15からトルク補正量が加算され制御対象5に出力される点である。
【0048】
すなわち、上位制御装置から指令される位置指令から、制御対象5であるサーボモータもしくは、該サーボモータで駆動させるテーブル等の可動部の実位置の位置フィードバックを減算器1で減算し、位置偏差を求め、該位置偏差にポジションゲインKp(要素2)を乗じて速度指令を求め、該速度指令から速度フィードバックを減算器16で減算して速度偏差を求め、速度コントローラ14でPI(比例積分)制御等を行ってトルク指令を求め、該トルク指令にトルクオフセット手段15に予め設定されているトルク補正データから求められるトルク補正量を加算器17で加算して補正されたトルク指令を求め、制御対象5のサーボモータを駆動する。これによって、象限突起の発生を防止する。
【0049】
又、図16は第4の実施形態のブロック図で、図15に示した第3の実施形態と相違する点は、位置指令の極性が反転することを検出しトルクオフセット手段15に補正開始指令を出力する位置指令の反転検出手段7が設けられている点である。そして、この実施形態では、位置指令の反転検出手段7から出力される補正開始指令から所定時間だけ、予め設定されているトルク補正データに基づくトルク補正量をトルク指令に加算して補正されたトルク指令として制御対象のサーボモータを駆動制御するものである。
【0050】
図17は、このトルク指令を補正するトルク補正データの作成方法を示すブロック図である。この方法は、図4に示す速度の補正量を求めるときの方法と比較し、速度制御コントローラ14が加わった点と、位置指令を微分する要素13の代わりに位置指令を2階微分して加速度を求める要素18に変わった点である。学習コントローラ10は、図3,図4に示す実施形態で説明したものと同様で、同一パターンの位置指令の1パターン周期間における所定周期毎求められる位置偏差に相当するデータを記憶する記憶部を備え、当該周期で求められた位置偏差と1パターン周期前の位置偏差に基づいて記憶したデータとを加算し、フィルタ処理した後当該周期のデータとして記憶する。また、1パターン周期前の記憶データを動特性補償処理して出力し位置偏差に加算するものである。
【0051】
上位制御装置から指令される位置指令から、制御対象5からの位置フィードバックを減算器1で減算し、位置偏差を求める。又、学習コントローラ10はこの位置偏差を格納すると共に、繰り返し指令される周期1周期前の位置偏差に基づいて補正量を求め位置偏差に加算器11で加算し、補正した位置偏差を求めこの位置偏差にポジションゲインKp(要素2)を乗じて速度指令を求め、該速度指令から速度フィードバック量を減算器16で減算して速度偏差を求め、該速度偏差に基づき速度コントローラ14が速度ループ処理を行いトルク指令(加速度指令)を求めて制御対象5を駆動制御する。
【0052】
この学習制御を行いながら(象限突起が発生するような所定区間を加工するために)繰り返し指令される(所定区間の)パターンを複数回繰り返し実行すると、位置偏差は零に収束する。こうして位置偏差が零に収束した段階で、この学習コントローラ10により位置偏差が補正され、この補正された位置偏差にポジションゲインKpが乗じられて求められた速度指令と速度フィードバックにより速度制御コントローラ14によって速度ループ制御処理がなされトルク指令から、位置指令を2階微分(要素18)した指令加速度を減算器19で減じてその差を求め、これをトルクオフセット手段にセットするトルク補正データとする。なお、この場合も前述した第1、第2の実施形態と同様に、トルク指令と指令加速度との差から求められたトルク補正データをフィルタ処理してノズルを除去して第2のトルク補正データとしても、又、直線近似して第2のトルク補正データとしてもよい。
【0053】
こうして求めたトルク補正データを規格化、又は直線近似して速度補正データと同様な形式とする。
こうして求めたトルク補正データをトルクオフセット手段15に格納し、トルク指令に対して補正することによって象限突起発生を防止する。
【0054】
このトルク指令を補正することによって、象限突起の発生を防止する実施形態における、サーボモータ駆動制御装置の位置、速度ループ処理周期毎の処理は、図12、図13、図14に示したフローチャートとほぼ同一であり、相違する点は、ステップ100,200,300において、従来と同様に、位置ループ処理して速度指令を求め、さらに該速度指令と速度フィードバックに基づいて速度ループ処理を行いトルク指令を求める点と、ステップ105、208,308,310,312で求める補正量Aがトルク補正データに基づいて求められ、ステップ100,200,300で求めたトルク指令に加算される点、及び、ステップ109,211、315が速度指令の出力ではなくトルク指令の出力に代わるだけである。他は、図12,図13,14に示すフローチャートの処理と同様であるので、詳細は省略する。
【0055】
図18は、本発明の効果を検証するために行った実験結果を表す図である。図18において、(a)は象限突起を減少させるための補正を行わずに円弧加工したときの図である。(b)は従来から行われている象限突起を減少させるための補正を行って同一円弧形状を加工したときの図である。(c)は学習制御を行って同一円弧形状を加工したときの図である。(d)は本発明の第1の実施形態により同一円弧形状を加工したときの図である。(e)は本発明の第2の実施形態により同一円弧形状を加工したときの図である。なお、図18(a)〜(e)において、メモリは、円弧の加工部分において誤差表示を2μm単位で表したものである。又、円で囲んだ部分は象限が変わる点における誤差を拡大表示したものであり、拡大縮尺は(a)〜(e)において同じである。
【0056】
この図18の実験結果、象限突起補正がない場合(a)が、象限が変わると加工面に生じる突起(指令値に対する誤差)が最も大きい。又、従来から行われている象限突起補正による方法を適用したとき(b)が、次に象限突起が大きくなっている。学習制御を適用したときには(c)、象限突起は小さくなっている。さらに、本発明を適用した(d)、(e)では象限突起の発生はほとんどなく、象限が変化しないときの加工精度と格別差異がない程度となっている。
【0057】
【発明の効果】
本発明は、加工精度を向上させ、円弧加工等において象限が変わるときに生じ易い象限突起の発生を防止して、該象限突起を減少させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態におけるサーボモータの駆動制御装置の要部ブロック図である。
【図2】本発明の第2の実施形態におけるサーボモータの駆動制御装置の要部ブロック図である。
【図3】学習制御により各実施形態における速度補正データを作成するときのブロック図である。
【図4】学習制御により各実施形態における速度補正データを作成する別の方法のブロック図である。
【図5】学習制御によって得られた速度補正データからノイズを除去して第2の速度補正データを得るときの説明図である。
【図6】学習制御によって得られた速度補正データを直線近似して第2の速度補正データを得るときの説明図である。
【図7】採取した速度補正データを解析して最終的な速度補正データを得るためのブロック図である。
【図8】摩擦モデルより速度補正データを作成するブロック図である。
【図9】摩擦モデルよりノイズを除去した速度補正データを作成するブロック図である。
【図10】正規化した速度補正データの説明図である。
【図11】直線近似した速度補正データの説明図である。
【図12】第1の実施形態における速度補正の処理フローチャートである。
【図13】第2の実施形態における速度補正の処理フローチャートである。
【図14】第2の実施形態における別の速度補正の処理フローチャートである。
【図15】トルク指令を補正することによって象限突起の発生等を防止した第3の実施形態におけるサーボモータ制御系のブロック図である。
【図16】トルク指令を補正することによって象限突起の発生を防止した第4の実施形態におけるサーボモータ制御系のブロック図である。
【図17】第3、第4の実施形態におけるトルク補正データの作成方法の説明図である。
【図18】本発明の効果を確認するために行った実験結果を示す図である。
【符号の説明】
1 減算器
2 位置ループのポジションゲインの要素
3 加算器
4 速度オフセット手段
5 制御対象
6 積分要素
7 位置指令反転検出手段
10 学習コントローラ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a drive control device for a servo motor that drives a feed shaft such as a table of a machine tool. When machining a workpiece attached to a table, the present invention relates to a processing surface when the direction of movement of the feed shaft is reversed. The present invention relates to a drive control device for a servo motor that reduces the number of protrusions generated.
[0002]
[Prior art]
In a machine tool or the like, when the drive direction of a servo motor that drives a feed shaft for moving the table is reversed, the table cannot usually be reversed immediately due to backlash or friction of the feed screw shaft. Therefore, when arc cutting or the like is performed on the workpiece attached to the table, a projection is generated on the arc cutting surface when the driving direction is reversed.
[0003]
For example, when arc cutting is performed on a workpiece attached to a table that moves on a plane orthogonal to the X and Y axes, the X axis moves in the plus direction and the Y axis moves in the minus direction. The quadrant changes during arc cutting (note that the center of the arc is the origin of the coordinate system), the Y axis moves in the minus direction as it is, but the X axis moves in the minus direction and moves in the minus direction. To do. In this case, the Y-axis is driven at the driving speed up to that point, and cutting is performed. However, when the direction of the X-axis is reversed, the position deviation becomes “0” and the torque command becomes small. It cannot be reversed. Further, due to the backlash of the feed screw, the movement of the table in the X-axis direction is delayed by this backlash. As a result, when this quadrant changes, a projection is generated on the cutting surface. Hereinafter, this protrusion is referred to as a quadrant protrusion.
[0004]
Various correction methods have been proposed as a method for reducing this quadrant protrusion (for example, Patent Document 1).
[0005]
[Patent Document 1]
JP-A-7-110717
[0006]
[Problems to be solved by the invention]
However, these proposed methods adjust the magnitude of the correction amount added to reduce quadrant protrusions while confirming the effect of this correction, and this adjustment requires a lot of time. I was trying.
[0007]
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a servo motor drive control device which can easily perform correction for reducing the quadrant protrusion.
[0008]
[Means for Solving the Problems]
The invention according to claim 1 of the present application outputs a speed command every predetermined cycle based on the deviation between the position command sent from the host controller or the host controller at a predetermined sampling cycle and the position feedback from the position detector. In a control device for driving and controlling a motor, a predetermined section of a driven part driven by the servo motor is repeatedly driven to obtain a position deviation over a predetermined period, and learning control is performed based on the position deviation, and the learning is performed. Obtained by control speed Find correction data based on the command, Analyzing the correction data, creating second correction data approximated by a function, For a predetermined time speed Command The second Machining accuracy is improved by controlling the servo motor while correcting the correction data. In the invention according to claim 2, the speed command correction data is a speed command obtained by learning control.
In the invention according to claim 3, the correction data is obtained by subtracting a differential value obtained by differentiating the position command from a speed command obtained by learning control.
[0009]
According to a fourth aspect of the present invention, there is provided means for detecting the inversion of the position command over a predetermined time from the time of reversing the position command. The speed command is corrected by obtaining the correction amount from the correction data. . The And claims 5 According to the invention, a computer is connected to the servo motor drive control device, and the speed command is transmitted by the computer. The first 2 correction data was created.
[0010]
Claim 6 According to the invention, a speed command is output at every predetermined cycle based on a deviation between a position command sent from the host controller or the host control unit at a predetermined sampling cycle and a position feedback from the position detector. In a control device that drives and controls a servo motor by outputting a torque command at a predetermined cycle based on a deviation from a speed feedback from a detector, a predetermined section of a driven part driven by the servo motor is repeatedly driven. The position deviation over a predetermined period is obtained, learning control is performed based on the position deviation, correction data is obtained based on the torque command obtained by the learning control, Analyzing the correction data, creating second correction data approximated by a function, The torque command for a predetermined time. The second The servo motor is driven and controlled while correcting with correction data. Claim 7 In the invention according to the above, the correction data is obtained by subtracting a differential value obtained by second-order differentiation of the position command from the torque command obtained by the learning control.
[0011]
Claim 8 The invention according to claim 5 includes means for detecting the reversal of the position command after the reversal of the position command, and correcting the torque command for a predetermined time after the reversal of the position command. Correction based on data . Ma Claim 9 According to the invention, a computer is connected to the drive control device of the servo motor, and the torque command is executed by the computer. The first 2 correction data was created.
[0012]
Claim 10 According to the invention, instead of obtaining the correction data by learning control, a means for detecting the reversal of the position command is provided, and a model of friction acting on a control target of the control device is generated from the speed command to generate the torque command. The output when the input to the inverse function of the open loop transfer function up to is the correction data of the speed command in a predetermined time from the reversal of the position command. And claims 11 According to the invention, a filter is applied to the output of the inverse function, and the output of the filter is used as correction data for the speed command. And claims 12 In the invention according to the present invention, the correction data subjected to the filter processing is corrected data by correcting the delay due to the filter by increasing the delay time of the filter.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a principal block diagram of a drive control apparatus for a servo motor according to a first embodiment of the present invention.
From a position command commanded by a host controller such as a numerical controller or a host controller, a position feedback of the actual position of a servo motor that is the control target 5 or a movable part such as a table driven by the servo motor is subtracter 1. To obtain the position deviation. A speed command is obtained by multiplying the position deviation by a position gain Kp (element 2), and a correction amount obtained from correction data preset in the speed offset means 4 is added to the speed command by the adder 3 to be corrected. A speed command is obtained and the servo motor of the controlled object 5 is driven. Reference numeral 6 is a term for obtaining a position by integrating speed feedback from a speed detector provided on the control target.
[0014]
FIG. 2 is a principal block diagram of a drive control apparatus for a servo motor according to the second embodiment of the present invention. The difference between the second embodiment and the first embodiment is that a position command reversal detecting means 7 for detecting that the polarity of the position command is reversed and outputting a correction start command to the speed offset means 4 is provided. It is a point. In the second embodiment, a correction amount based on speed correction data set in advance is added to the speed command for a predetermined time from the correction start command output from the position command inversion detection means 7 to be corrected. As a speed command, the servo motor of the controlled object 5 is driven and controlled.
[0015]
3 and 4 are block diagrams when the speed correction data stored in the speed offset means 4 is created.
The correction data creation method shown in FIG. 3 adds speed learning data to the speed offset means 4 by adding the learning controller 10 to the position loop control system and performing learning control. That is, the position feedback of the actual position of the servo motor that is the control target 5 or the movable part that is driven by the servo motor is subtracted by the subtracter 1 from the position command that is commanded by the host controller such as a numerical controller. Find the deviation. In addition, the learning controller 10 stores the position deviation, obtains a correction amount based on the position deviation one cycle before the cycle that is repeatedly commanded, adds the position deviation with the adder 11, and obtains the corrected position deviation, The position deviation K is multiplied by a position gain Kp (element 2) to obtain a speed command, and the control target 5 is driven and controlled.
[0016]
The learning controller 10 is a well-known and commonly used storage unit that stores data corresponding to a positional deviation obtained every predetermined period during one pattern period of the position command of the same pattern repeatedly commanded to process the same shape. The position deviation obtained in the period and the data stored based on the position deviation of one pattern period before are added, filtered, and stored as data of the period. Further, the stored data before one pattern period is output after being subjected to dynamic characteristic compensation processing and added to the position deviation. It is known that the position deviation converges to zero by repeating this learning control.
[0017]
When this learning control is performed (to process a predetermined section in which quadrant protrusions are generated), when a repeatedly commanded pattern (in the predetermined section) is repeatedly executed a plurality of times, the position deviation converges to zero. When the position deviation converges to zero in this way, the position deviation is corrected by the learning controller 10, and the speed command obtained by multiplying the corrected position deviation by the position gain Kp is used as the speed correction data of the speed offset means 4. Get as. This speed correction data can be regarded as a speed command for obtaining high accuracy. Correcting this speed correction data by adding it to the speed command has the same effect as applying feedforward.
[0018]
Feed forward adds the position command differential value to the speed command to compensate for the position control delay caused by the position gain and bring the position deviation amount close to zero. Only when the control has sufficient follow-up characteristics, it becomes an ideal speed command, and when the influence of backlash acting on the control target is strong, the additional torque changes rapidly when the direction is reversed, so that sufficient speed follow-up is possible. Therefore, a positional deviation (quadrant projection) occurs.
[0019]
When learning control is applied, not only when speed control has sufficient tracking characteristics, it also has the effect of sufficiently suppressing quadrant projections, and the speed command output by applying learning control is the conventional It can be regarded as an ideal speed command in practical use beyond the feedforward control. By the method shown in FIG. 3, the acquired speed correction data is equal to the ideal speed command (correction data). If the acquired speed correction data is corrected at the same timing as the learning control, a high shape is obtained. Precision machining is possible.
[0020]
FIG. 4 is a block diagram of another correction data acquisition method. The example shown in FIG. 4 also uses the learning controller 10, and repeatedly executes the processing of the position command of the predetermined pattern by applying the learning control by the learning controller 10 to the position command of the same pattern that is repeatedly commanded. 3 is the same as that in FIG. 3, but is obtained by multiplying the position deviation obtained by correcting the position deviation with the correction amount by the learning control by the position gain Kp when the position deviation is converged to zero using the learning controller 10. The command speed obtained by differentiating the position command (element 13) from the speed command is subtracted by the subtractor 12, and the obtained speed difference is acquired as speed correction data of the speed offset means 4.
[0021]
In the method shown in FIG. 4, the differential value of the position command corresponding to the control amount by the feedforward control is subtracted from the speed command obtained by the learning control. This is to extract only elements that compensate for disturbance elements that the speed control does not follow from the speed command obtained by the learning control. Of the extracted data, the data after the position command is reversed can be regarded as correcting quadrant projections caused by the effect of backlash, so it is optimal to create and apply a speed correction amount based on this. Correct quadrant projection correction.
[0022]
The speed correction data obtained as described above may be used as it is, but the correction data as collected contains noise, and the second correction data is created by removing these noises. Better.
FIG. 5 is a diagram showing a second correction data creation method from which this noise has been removed. In FIG. 5, reference numeral 20 denotes speed correction data collected in a region where the moving direction changes in a state where the learning control is applied and the position deviation converges to zero. The example indicated by reference numeral 20 shows an example of speed correction data obtained from the difference between the command speed shown in FIG. 4 and the actual speed command. In this collection correction data diagram, the horizontal axis represents time, the vertical axis represents the speed correction data, and the diagonal line from the upper left to the lower right means the speed command. This correction data contains noise, and it can be seen that a large speed difference occurs when the moving direction is reversed. The collected correction data is applied to the filter 21 to remove noise components, and second speed correction data as indicated by reference numeral 22 is obtained.
[0023]
Further, as shown in FIG. 6, the sampling correction data 20 may be analyzed to obtain second speed correction data 23 that is linearly approximated as indicated by reference numeral 23.
In the embodiment shown in FIG. 1, since one pattern period of the pattern in which the movement command is repeated is used as the speed correction data, the collected speed correction data is used as the speed correction data to be set as it is, or As described above, the section in which the movement command is reversed is set as the analyzed data, and the other section is set in the speed offset means 4 as the collection speed or “0” as the second speed correction data. In the embodiment shown in FIG. 2, the speed correction data is corrected only for a predetermined section in which the position command is inverted. Therefore, the predetermined section after the position command is inverted is selected as the speed correction data. Further, as described above, the second speed correction data obtained by analyzing the speed correction data in a predetermined section from the reversal of the position command is used as the speed correction data stored in the speed offset means 4.
[0024]
When such second correction data 22 and 23 are obtained, they are analyzed using the host controller 30 or an external computer 31, as shown in FIG. In the example shown in FIG. 7, the collection correction data obtained by the method shown in FIG. 4 is transferred to the host controller 30 such as a numerical controller, and further transferred from the host controller 30 to the computer 31. The second correction data 22 and 23 are created by performing filter processing or linear approximation processing by 31. When the straight line approximation process is performed, as shown in FIG. 11, the magnitude of the correction amount (for example, A0, A1, A2) at the start point and end point of the straight line of the straight line approximation and the time from the start of the correction of the point ( For example, let t1, t2, t3) be correction data. Further, when the linear approximation is not performed, as shown in FIG. 10, the correction data is normalized data having a maximum size of 1 and a time from the start of correction to the end of 1. Then, the result may be transferred to the host controller 30 and set in the feed speed offset means 4 in the servo motor drive controller. The second correction data may be created by the host control device 30.
[0025]
In the embodiment described above, the correction data by the speed offset unit 4 is created from the speed command obtained by performing the learning control. However, a friction model at the time of reversing the moving direction is created, and this friction model is used. Correction data may be obtained. FIG. 8 shows an example of this case. A friction model 32 at the time of reversal of the moving direction is created with time on the horizontal axis and friction force on the vertical axis. An open loop transfer function from speed command to torque command is created in this model 32. The speed correction data 24 is obtained by multiplying by the inverse function 33 of. That is, if a speed controller that performs speed loop control processing or the like based on the speed command is provided to obtain a torque command (for example, a servo motor that performs position loop and speed loop control processing as shown in FIG. In the drive control device, a torque command is obtained by a speed controller that performs speed loop processing from a speed command output from the position loop), and an inverse function Cv (S) of the transfer function Cv (S) of this speed controller. -1 To obtain the speed correction data 24.
[0026]
Further, when the speed correction data is obtained from the friction model using the inverse function of the speed controller, since it includes a high frequency component, there is a possibility that a rapidly changing correction amount may be added to the speed command. As described above, the correction data 25 may be set to such a degree that the high-frequency component can be removed by the filter 34 and the speed control can be followed. In this case, a time delay occurs due to the filtering process. For example, in the case of a first-order filter in which the transfer function of the filter 34 is represented by 1 / (TS + 1), the rising time T is regarded as a delay time, or the input waveform of the setting filter is subjected to frequency analysis, and the amplitude is the largest. The delay time is estimated by obtaining the delay time by a method such as calculating the time delay from the phase delay at a large frequency. Alternatively, in the case of an Mth-order FIR filter, since it is delayed by about M / 2 sampling time, this is set as the delay time. The speed correction data is set in the speed offset means by advancing the time by the delay time thus obtained.
[0027]
Further, the speed correction data is analyzed to obtain correction data approximated by a straight line shown in FIG. 11 or normalized correction data shown in FIG. This speed correction data may be created by the host control device 30 or an external computer and set in the feed speed offset means 4 in the servo motor drive control device.
[0028]
FIG. 12 is a flowchart of the speed correction process shown in FIG. 1 performed by the processor of the servo motor drive control device using the correction data as described above.
The processor of the servo motor drive control device executes the processing shown in FIG. 12 for each position loop processing cycle.
First, a position deviation is obtained by a position command and position feedback commanded from a host controller such as a numerical controller, and a speed command Vc is obtained by multiplying the position deviation by a position gain Kp (step 100). Next, it is determined whether the flag F is set to “1” and the speed command is being corrected (step 101). If the flag F is not set to “1”, a correction data read command is input. If the correction data read command is not input, the process proceeds to step 109, and the speed command Vc obtained in step 100 is delivered to the next speed loop control process.
[0029]
If a correction data read command is input, the counter C is cleared and the flag F is set to “1” (step 103). Then, the counter C is incremented by “1” (step 104), the speed correction data corresponding to the value of the counter C is read from the storage unit (speed offset means) that stores the speed correction data, and this is set as the correction amount A. The correction amount A is added to the speed command Vc obtained at 100 to obtain a corrected speed command Vc (steps 105 and 106). Next, it is determined whether or not the value of the counter has reached a set value C0 corresponding to the section for correcting the speed command (step 107). If not, the process proceeds to step 109, where the corrected speed command is corrected. Vc is output.
[0030]
From the next cycle, since the flag F is set to “1”, the position loop process is performed in step 100 to obtain the speed command Vc, and then the process proceeds from step 101 to step 104 to perform steps 104 to 109. Process. Thus, the speed command Vc obtained by the position loop process is corrected by the speed correction data stored in the speed offset means and used as a speed command in the next speed loop process or the like.
[0031]
The speed command correction process described above is performed for each position loop processing cycle. When the value of the counter C reaches the set value C0 (step 107), the flag F is reset to “0” and the process proceeds to step 109. From the next cycle, since the flag F is not set to “1”, the processing of steps 100, 101, 102, and 109 is repeatedly executed unless the correction data read command is input again.
[0032]
As described above, in this embodiment, the speed command is corrected based on the predetermined section speed correction data after the correction data read command is input, thereby reducing quadrant protrusions and the like, and high processing accuracy. Processing can be performed.
[0033]
FIG. 13 is a flowchart of the processing related to the present invention, which is executed by the processor of the servo motor drive control device for each position loop processing cycle by the method shown in FIG. In the example shown in FIG. 13, normalized correction data that is not linearly approximated in a section where the moving direction is reversed as shown in FIG. 10 is used as the speed correction data.
[0034]
First, a position loop process is performed to obtain a speed command Vc (step 200). That is, a position deviation is obtained by a position command and position feedback, and a speed command Vc is obtained by multiplying the position deviation by a position gain. Next, it is determined whether the flag F is set to “1” and the speed command is being corrected (step 201). If the flag F is not set to “1”, the host controller (numerical control) It is determined whether the sign of the position command from the apparatus or the like has been reversed (reversed in the moving direction) (step 202). If not reversed, the process proceeds to step 211, and the speed command obtained by the position loop processing in step 200 Vc is transferred to the next process (speed loop process or the like).
[0035]
On the other hand, when it is determined in step 202 that the sign of the position command from the host controller has been reversed, that is, when the quadrant of the machining position changes, the speed command obtained in the position loop process of step 200 becomes smaller than the set speed V0. (Step 204), and if not smaller, the process proceeds to step 210. If it is smaller, the flag F is set to “1” (step 205), and the counter C is reset (step 206).
[0036]
Then, the counter C is incremented by “1” (step 207), and the correction amount A is obtained by multiplying the value of the speed correction data corresponding to the value of the counter C by the proportional coefficient A0, and this correction amount A is obtained in step 200. A new speed command corrected by adding to the speed command Vc is set (step 208).
[0037]
Next, it is determined whether the value of the counter C is equal to or greater than a set value C0 (the number of position loop processing periods in the correction period) corresponding to the correction period (step 209). If this value C0 has not been reached, the process proceeds to step 211. Then, the speed command Vc corrected in step 208 is output.
[0038]
From the next cycle, since the flag F is set to “1”, the process proceeds from step 201 to step 207, where the correction amount A is obtained, and the correction amount A is added to the speed command obtained by the position loop process. Steps 200, 201, 207, 208, 209, and 211 for outputting the corrected speed command are repeatedly executed, and the correction amount based on the correction data is added to the speed command obtained by the position loop process to be corrected. Speed command. When the value of the counter C becomes equal to or larger than the set value C0, the process proceeds from step 209 to step 210, the flag F is reset to “0”, and the speed command corrected in step 208 is output in step 211.
[0039]
In the subsequent processing cycle, since the flag F is reset to “0”, the process proceeds from step 201 to step 202 and the above-described processing is performed. In this manner, after the sign of the position command is reversed and the moving direction command is reversed, and the speed command becomes smaller than a predetermined value, the speed command is corrected based on the speed correction data for a predetermined section, and the quadrant is obtained. Reduced the protrusions that occur when changes occur.
[0040]
The above-described process shown in FIG. 13 is a case where data as shown in FIG. 10 is stored as correction data in the memory (speed offset means) of the servo motor drive control device, but as shown in FIG. In the case where the data approximated by a straight line is stored in the memory as the speed offset means, the processing shown in FIG. 14 is performed.
[0041]
In this process, the processes in steps 300 to 305 are the same as the processes in steps 200 to 205. The difference is that the processing in steps 206 to 211 is changed to the processing in steps 306 to 315.
In other words, until the sign of the position command is reversed and the speed command Vc becomes smaller than the predetermined value V0, the processing of steps 300 to 304 and 315 is performed for each position loop processing cycle, and the normal position loop processing (step 300). The speed command Vc obtained by the above is output. On the other hand, when the sign of the position command is reversed and the speed command Vc becomes smaller than the predetermined value V0 and the machining quadrant changes, the timer t is reset and started (step 306), and then the processor of the servo motor drive control device Determines whether the time measured by the timer t is equal to or shorter than the first storage time t1 stored as speed correction data (step 307), and if not, the correction amount A0 stored corresponding to the storage time t1 is ( The correction amount A is obtained by multiplying by t / t1), and the corrected speed command is obtained by adding the correction amount A to the speed command Vc obtained in step 300 (step 308).
[0042]
If the time measured by the timer t is between the first and second storage times t1 and t2 stored as speed correction data, that is, if t1 <t ≦ t2 (step 309), the first and second Based on the correction amount magnitudes A0 and A1 stored corresponding to the storage times t1 and t2, the correction amount A is obtained by interpolation using the following equation.
A = A0 + (A1-A0) × (t−t1) / (t2−t1)
The corrected speed command is obtained by adding the correction amount A thus obtained to the speed command Vc obtained in step 300 (step 310).
[0043]
If the time measured by the timer t is between the second and third storage times t2 and t3 stored as speed correction data, that is, if t2 <t ≦ t3 (step 311), the second and third Based on the magnitudes A1 and A2 of the correction amount stored corresponding to the storage times t2 and t3, the correction amount A is obtained by interpolation using the following equation.
A = A1 + (A2-A1) × (t−t2) / (t3−t2)
A corrected speed command is obtained by adding the correction amount A thus obtained to the speed command Vc obtained in step 300 (step 312).
[0044]
The speed command thus obtained is transferred to the next process (speed loop process, current loop process, etc.) in step 315.
When the time measured by the timer t exceeds the correction period t3 (step 313), the flag F is set to “0” (step 314), and the process proceeds to step 315.
[0045]
As described above, when the quadrant of the machining position changes, the correction based on the correction data is performed on the speed command to prevent the generation of the quadrant protrusion.
[0046]
In each of the above-described embodiments, the generation of quadrant protrusions is prevented by correcting the speed command. However, the generation of quadrant protrusions can be similarly prevented by correcting the torque command.
[0047]
FIG. 15 is a block diagram of a servo motor control system of the third embodiment in which the generation of quadrant protrusions is prevented by correcting this torque command. The third embodiment differs from the embodiment of FIG. 1 in that the speed controller 14 is added to the embodiment shown in FIG. 15 and that the torque command output from the speed controller 14 is torque offset. The torque correction amount is added from the means 15 and output to the control target 5.
[0048]
That is, the position feedback of the actual position of the movable part such as the servo motor to be controlled 5 or the table driven by the servo motor is subtracted by the subtracter 1 from the position command commanded by the host controller, and the position deviation is calculated. Obtain the speed command by multiplying the position deviation by the position gain Kp (element 2), subtract the speed feedback from the speed command by the subtractor 16 to obtain the speed deviation, and control the PI (proportional integral) by the speed controller 14. Etc. to obtain a torque command, add a torque correction amount obtained from torque correction data preset in the torque offset means 15 to the torque command by an adder 17 to obtain a corrected torque command, and 5 servo motor is driven. This prevents the generation of quadrant protrusions.
[0049]
FIG. 16 is a block diagram of the fourth embodiment. The difference from the third embodiment shown in FIG. 15 is that the polarity of the position command is detected to be reversed and a correction start command is sent to the torque offset means 15. The position command inversion detection means 7 for outputting is provided. In this embodiment, the torque corrected by adding a torque correction amount based on preset torque correction data to the torque command for a predetermined time from the correction start command output from the position command inversion detection means 7. As a command, the servo motor to be controlled is driven and controlled.
[0050]
FIG. 17 is a block diagram showing a method of creating torque correction data for correcting this torque command. Compared with the method for calculating the speed correction amount shown in FIG. 4, this method is different from the method in which the speed controller 14 is added and the acceleration of the second position derivative of the position command instead of the element 13 for differentiating the position command. This is a point that has changed to the element 18 for obtaining. The learning controller 10 is the same as that described in the embodiment shown in FIGS. 3 and 4, and has a storage unit for storing data corresponding to the position deviation obtained every predetermined period during one pattern period of the position command of the same pattern. In addition, the position deviation obtained in the period and the data stored based on the position deviation of one pattern period before are added, filtered and stored as data of the period. Further, the stored data before one pattern period is output after being subjected to dynamic characteristic compensation processing and added to the position deviation.
[0051]
The position feedback from the control object 5 is subtracted by the subtracter 1 from the position command commanded by the host controller to obtain the position deviation. The learning controller 10 stores the position deviation, obtains a correction amount based on the position deviation one cycle before the repeated command, adds it to the position deviation by the adder 11, and obtains the corrected position deviation. A speed command is obtained by multiplying the deviation by the position gain Kp (element 2), a speed feedback amount is subtracted from the speed command by a subtractor 16 to obtain a speed deviation, and the speed controller 14 performs speed loop processing based on the speed deviation. A torque command (acceleration command) is obtained and the controlled object 5 is driven and controlled.
[0052]
When this learning control is performed (to process a predetermined section in which quadrant protrusions are generated), when a repeatedly commanded pattern (in the predetermined section) is repeatedly executed a plurality of times, the position deviation converges to zero. When the position deviation converges to zero, the learning controller 10 corrects the position deviation. The speed controller 14 uses the speed command and speed feedback obtained by multiplying the corrected position deviation by the position gain Kp. A speed loop control process is performed, and the command acceleration obtained by second-order differentiation (element 18) of the position command is subtracted from the torque command by the subtracter 19 to obtain the difference, which is used as torque correction data to be set in the torque offset means. In this case as well, as in the first and second embodiments described above, the torque correction data obtained from the difference between the torque command and the command acceleration is filtered to remove the nozzles to remove the second torque correction data. Alternatively, the second torque correction data may be approximated by a straight line.
[0053]
The torque correction data thus obtained is normalized or linearly approximated to have the same format as the speed correction data.
The torque correction data obtained in this way is stored in the torque offset means 15, and the quadrature protrusion is prevented from occurring by correcting the torque command.
[0054]
The processing for each position and speed loop processing cycle of the servo motor drive control device in the embodiment that prevents the generation of quadrant projections by correcting this torque command is the same as the flowchart shown in FIG. 12, FIG. 13, and FIG. In steps 100, 200, and 300, the speed command is obtained by performing position loop processing in step 100, 200, and 300, and the speed loop processing is further performed based on the speed command and speed feedback. And the correction amount A obtained in steps 105, 208, 308, 310, and 312 is obtained based on the torque correction data, and is added to the torque command obtained in steps 100, 200, and 300. 109, 211, and 315 merely replace the output of the torque command, not the output of the speed command. Others are the same as the processing of the flowcharts shown in FIGS.
[0055]
FIG. 18 is a diagram illustrating a result of an experiment performed for verifying the effect of the present invention. In FIG. 18, (a) is a diagram when arc processing is performed without performing correction for reducing quadrant protrusions. (B) is a figure when the same circular arc shape is processed by performing the correction for reducing the quadrant protrusion conventionally performed. (C) is a figure when learning control is performed and the same circular arc shape is processed. (D) is a figure when processing the same circular arc shape by the 1st Embodiment of this invention. (E) is a figure when processing the same circular arc shape by the 2nd Embodiment of this invention. In FIGS. 18A to 18E, the memory represents an error display in units of 2 μm in a circular arc machining portion. The circled portion is an enlarged display of the error at the point where the quadrant changes, and the enlarged scale is the same in (a) to (e).
[0056]
As a result of the experiment of FIG. 18, when there is no quadrant protrusion correction (a), when the quadrant changes, the protrusion generated on the processing surface (error with respect to the command value) is the largest. In addition, when the conventional method based on quadrant protrusion correction is applied (b), the quadrant protrusion is next enlarged. When learning control is applied (c), the quadrant projections are small. Furthermore, in (d) and (e) to which the present invention is applied, there are almost no quadrant projections, and there is no particular difference from the processing accuracy when the quadrant does not change.
[0057]
【The invention's effect】
The present invention improves the machining accuracy, prevents the occurrence of quadrant projections that are likely to occur when the quadrant changes in arc machining or the like, and reduces the quadrant projections.
[Brief description of the drawings]
FIG. 1 is a principal block diagram of a drive control apparatus for a servo motor according to a first embodiment of the present invention.
FIG. 2 is a principal block diagram of a drive control device for a servo motor in a second embodiment of the present invention.
FIG. 3 is a block diagram when speed correction data in each embodiment is created by learning control.
FIG. 4 is a block diagram of another method for creating speed correction data in each embodiment by learning control.
FIG. 5 is an explanatory diagram when noise is removed from speed correction data obtained by learning control to obtain second speed correction data.
FIG. 6 is an explanatory diagram when second speed correction data is obtained by linearly approximating speed correction data obtained by learning control.
FIG. 7 is a block diagram for analyzing the collected speed correction data to obtain final speed correction data.
FIG. 8 is a block diagram for creating speed correction data from a friction model.
FIG. 9 is a block diagram for creating speed correction data with noise removed from a friction model.
FIG. 10 is an explanatory diagram of normalized speed correction data.
FIG. 11 is an explanatory diagram of speed correction data approximated by a straight line.
FIG. 12 is a speed correction process flowchart according to the first embodiment;
FIG. 13 is a flowchart of speed correction processing in the second embodiment.
FIG. 14 is a flowchart of another speed correction process in the second embodiment.
FIG. 15 is a block diagram of a servo motor control system in a third embodiment in which the generation of quadrant protrusions and the like is prevented by correcting a torque command.
FIG. 16 is a block diagram of a servo motor control system in a fourth embodiment in which the generation of quadrant protrusions is prevented by correcting a torque command.
FIG. 17 is an explanatory diagram of a method for creating torque correction data in the third and fourth embodiments.
FIG. 18 is a diagram showing the results of an experiment conducted to confirm the effect of the present invention.
[Explanation of symbols]
1 Subtractor
2 Position gain element of position loop
3 Adder
4 Speed offset means
5 Control target
6 integral elements
7 Position command reverse detection means
10 Learning controller

Claims (12)

上位制御装置あるいは上位制御部から所定サンプリング周期で送られる位置指令と位置検出器からの位置フィードバックとの偏差に基づいて所定周期毎に速度指令を出力してサーボモータを駆動制御する制御装置において、前記サーボモータで駆動される被駆動部の所定区間を繰り返して駆動して所定周期に亘る位置偏差を求め、該位置偏差に基づいて学習制御を行い、該学習制御によって得られた速度指令に基づいて補正データを求め、前記補正データを解析し、関数近似した第2の補正データを作成し、所定時間に亘って前記速度指令を前記第2の補正データにより補正しながら前記サーボモータを駆動制御するようにしたことを特徴とするサーボモータの駆動制御装置。In a control device for driving and controlling a servo motor by outputting a speed command for each predetermined cycle based on a deviation between a position command sent from a host control unit or a host control unit at a predetermined sampling cycle and a position feedback from a position detector, A predetermined section of the driven part driven by the servo motor is repeatedly driven to obtain a position deviation over a predetermined period, learning control is performed based on the position deviation, and based on a speed command obtained by the learning control Correction data is obtained, the correction data is analyzed, second correction data approximated by a function is created, and the servo motor is driven and controlled while the speed command is corrected with the second correction data over a predetermined time. A drive control device for a servo motor, characterized in that 前記補正データは学習制御によって得られた速度指令である請求項1に記載のサーボモータ駆動制御装置。  The servo motor drive control device according to claim 1, wherein the correction data is a speed command obtained by learning control. 前記補正データは、学習制御によって得られた速度指令から、前記位置指令を微分した微分値を差し引いて求める請求項1に記載のサーボモータ駆動制御装置。  The servo motor drive control device according to claim 1, wherein the correction data is obtained by subtracting a differential value obtained by differentiating the position command from a speed command obtained by learning control. 前記補正データは、位置指令反転時より所定時間の補正データとし、前記位置指令の反転を検出する手段を有し、該位置指令反転時より所定時間に亘って前記補正データより補正量を求めて速度指令を補正することを特徴とする請求項1乃至3の内いずれか1項に記載のサーボモータ駆動制御装置。  The correction data is correction data for a predetermined time from the time of position command reversal, and has means for detecting the reversal of the position command, and obtains a correction amount from the correction data for a predetermined time from the time of position command reversal. 4. The servo motor drive control device according to claim 1, wherein the speed command is corrected. 前記サーボモータの駆動制御装置にコンピュータを接続し、該コンピュータによって前記速度指令の第2の補正データを作成することを特徴とする請求項1乃至の内いずれか1項に記載のサーボモータ駆動制御装置。Wherein connecting the computer to the drive controller of the servo motor, the servo motor drive according to any one of claims 1 to 4, characterized in that to create a second correction data of said velocity command by the computer Control device. 上位制御装置あるいは上位制御部から所定サンプリング周期で送られる位置指令と位置検出器からの位置フィードバックとの偏差に基づいて所定周期毎に速度指令を出力し、前記速度指令と速度検出器からの速度フィードバックとの偏差に基づいて所定周期毎にトルク指令を出力してサーボモータを駆動制御する制御装置において、
前記サーボモータで駆動される被駆動部の所定区間を繰り返して駆動して所定周期に亘る位置偏差を求め、該位置偏差に基づいて学習制御を行い、該学習制御によって得られたトルク指令に基づいて補正データを求め、前記補正データを解析し、関数近似した第2の補正データを作成し、所定時間に亘って前記トルク指令を前記第2の補正データにより補正しながら前記サーボモータを駆動制御するようにしたことを特徴とするサーボモータ駆動制御装置。
Based on the deviation between the position command sent from the host controller or the host controller at a predetermined sampling cycle and the position feedback from the position detector, a speed command is output every predetermined cycle, and the speed command and the speed from the speed detector are output. In a control device that drives and controls a servo motor by outputting a torque command at predetermined intervals based on a deviation from feedback,
A predetermined section of the driven part driven by the servo motor is repeatedly driven to obtain a position deviation over a predetermined period, learning control is performed based on the position deviation, and based on a torque command obtained by the learning control Correction data is obtained, the correction data is analyzed, second correction data approximated by a function is created, and the servo motor is driven and controlled while correcting the torque command with the second correction data over a predetermined time. A servo motor drive control device characterized by that.
前記補正データは、該学習制御によって得られたトルク指令から、前記位置指令を2階微分した微分値を差し引いて求めた請求項に記載のサーボモータ駆動制御装置。The servo motor drive control device according to claim 6 , wherein the correction data is obtained by subtracting a differential value obtained by second-order differentiation of the position command from a torque command obtained by the learning control. 前記補正データは、位置指令反転時より所定時間の補正データとし、前記位置指令の反転を検出する手段を有し、該位置指令反転後、所定時間に亘って前記トルク指令を補正データに基づいて補正することを特徴とする請求項又は請求項に記載のサーボモータ駆動制御装置。The correction data is correction data for a predetermined time from the time of reversing the position command, and has means for detecting the reversal of the position command. servo motor drive controller according to claim 6 or claim 7, characterized in that to correct. 前記サーボモータの駆動制御装置にコンピュータを接続し、該コンピュータによって前記トルク指令の第2の補正データを作成することを特徴とする請求項乃至の内いずれか1項に記載のサーボモータ駆動制御装置。Wherein connecting the computer to the drive controller of the servo motor, the servo motor drive according to any one of claims 6 to 8, characterized in that to create a second correction data of the torque command by the computer Control device. 前記補正データを学習制御によって得る代わりに、前記位置指令の反転を検出する手段を有し、前記制御装置の制御対象に働く摩擦のモデルを前記速度指令から前記トルク指令を作成するまでのオープンループ伝達関数の逆関数へ入力した場合の出力を、位置指令の反転から所定時間における前記速度指令の補正データとすることを特徴とする請求項1に記載のサーボモータ駆動制御装置。  Instead of obtaining the correction data by learning control, it has means for detecting the reversal of the position command, and an open loop until the torque command is created from the speed command for a model of friction that acts on the control target of the control device. 2. The servo motor drive control device according to claim 1, wherein the output when the input to the inverse function of the transfer function is the correction data of the speed command in a predetermined time from the reversal of the position command. 前記逆関数の出力にフィルタを適用し、前記フィルタの出力を前記速度指令の補正データとすることを特徴とする請求項1に記載のサーボモータ駆動制御装置。Wherein applying a filter to the output of the inverse function, the servo motor drive controller according to the output of the filter to claim 1 0, characterized in that the correction data of the velocity command. 前記補正データを前記フィルタの遅れ時間分早めてフィルタによる遅れを補正した補正データとすることを特徴とする請求項1に記載のサーボモータ駆動制御装置。Servo motor drive controller according to claim 1 1, characterized in that the correction data of the correction data to correct the delay due to the delay time period earlier in the filter of the filter.
JP2003022102A 2003-01-30 2003-01-30 Servo motor drive control device Expired - Fee Related JP3805309B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003022102A JP3805309B2 (en) 2003-01-30 2003-01-30 Servo motor drive control device
EP04250450A EP1443372B1 (en) 2003-01-30 2004-01-28 Servomotor driving controller
DE602004004177T DE602004004177T2 (en) 2003-01-30 2004-01-28 Servo motor control
CNB2004100393524A CN100449933C (en) 2003-01-30 2004-01-30 Servo motor drive controller
US10/767,058 US7084596B2 (en) 2003-01-30 2004-01-30 Servomotor driving controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003022102A JP3805309B2 (en) 2003-01-30 2003-01-30 Servo motor drive control device

Publications (2)

Publication Number Publication Date
JP2004234327A JP2004234327A (en) 2004-08-19
JP3805309B2 true JP3805309B2 (en) 2006-08-02

Family

ID=32652891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003022102A Expired - Fee Related JP3805309B2 (en) 2003-01-30 2003-01-30 Servo motor drive control device

Country Status (5)

Country Link
US (1) US7084596B2 (en)
EP (1) EP1443372B1 (en)
JP (1) JP3805309B2 (en)
CN (1) CN100449933C (en)
DE (1) DE602004004177T2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009529A (en) * 2008-06-30 2010-01-14 Fanuc Ltd Drive controller and drive control method for servo motor
JP2010269405A (en) * 2009-05-21 2010-12-02 Fanuc Ltd Servomotor control device for controlling periodic reciprocation
JP2012196742A (en) * 2011-03-22 2012-10-18 Okuma Corp Machine tool

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3739749B2 (en) * 2003-01-07 2006-01-25 ファナック株式会社 Control device
JP3805309B2 (en) * 2003-01-30 2006-08-02 ファナック株式会社 Servo motor drive control device
JP2006039807A (en) * 2004-07-26 2006-02-09 Fanuc Ltd Numerical control device
WO2006011203A1 (en) * 2004-07-29 2006-02-02 Mitsubishi Denki Kabushiki Kaisha Position control device and control method thereof
JP4283214B2 (en) * 2004-12-16 2009-06-24 ファナック株式会社 Machine tip control device
JP4276187B2 (en) * 2005-02-02 2009-06-10 ファナック株式会社 Numerical control device having learning control function
JP5256619B2 (en) * 2007-02-23 2013-08-07 ブラザー工業株式会社 Motor drive device and image forming apparatus
JP5156886B2 (en) * 2007-03-02 2013-03-06 富士機械製造株式会社 Position control device
JP4838817B2 (en) * 2008-01-09 2011-12-14 三菱重工業株式会社 Lost motion elimination control device
JP5139164B2 (en) * 2008-06-10 2013-02-06 オークマ株式会社 Position control device
JP4620148B2 (en) * 2008-10-15 2011-01-26 ファナック株式会社 Servo motor control device
JP4575508B1 (en) 2009-05-20 2010-11-04 ファナック株式会社 Servo control device for dual position feedback control
US9360849B2 (en) * 2010-10-27 2016-06-07 Makino Milling Machine Co., Ltd. Numerical control method
JP4927985B1 (en) * 2010-11-22 2012-05-09 ファナック株式会社 Drive control apparatus for servo motor having at least two feed axes orthogonal to each other for moving table or tool of machine tool
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
JP5852467B2 (en) * 2012-02-23 2016-02-03 オークマ株式会社 Numerical controller
JP5252102B1 (en) * 2012-04-03 2013-07-31 株式会社安川電機 Motor control device, motor control system, and cutting device
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
CN112932672A (en) 2012-08-03 2021-06-11 史赛克公司 Systems and methods for robotic surgery
JP6316323B2 (en) * 2014-01-23 2018-04-25 三菱電機株式会社 Motor control device
TWI558495B (en) 2014-11-12 2016-11-21 財團法人工業技術研究院 Machining assistance method and the apparatus using the same
JP6366563B2 (en) * 2014-12-19 2018-08-01 オークマ株式会社 Position control device of feed axis in machine tool
KR102343572B1 (en) * 2015-03-06 2021-12-28 삼성디스플레이 주식회사 Organic light emitting device
US10108177B2 (en) 2015-06-18 2018-10-23 Mitsubishi Electric Corporation Control parameter adjustment device
US10666180B2 (en) * 2015-07-22 2020-05-26 Texas Instruments Incorporated Adaptive torque disturbance cancellation for electric motors
KR101734718B1 (en) * 2015-12-14 2017-05-11 현대자동차주식회사 Disturbance compensating system for motor
JP6469069B2 (en) * 2016-12-13 2019-02-13 ファナック株式会社 Robot control apparatus and robot control method having function for facilitating learning
US11202682B2 (en) 2016-12-16 2021-12-21 Mako Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
JP6834528B2 (en) * 2017-01-25 2021-02-24 オムロン株式会社 Control devices, control programs and control systems
JP6742943B2 (en) * 2017-04-17 2020-08-19 Dmg森精機株式会社 Machine tool feeding control device
CN107659221A (en) * 2017-08-30 2018-02-02 杭州为诺智能科技有限公司 A kind of multi- drive synchronization system based on RS485 bus marcos
DE112017001162B4 (en) 2017-11-10 2022-06-15 Mitsubishi Electric Corporation servo control device
US10613511B2 (en) 2017-12-22 2020-04-07 Industrial Technology Research Institute Tool machine servo control simulation device and establishing method of structure model
CN108501768B (en) * 2018-03-29 2021-05-07 南京航空航天大学 Two-wheel speed control method based on Z-axis gyroscope and wheel speed difference
DE102019002644A1 (en) 2018-04-17 2019-10-17 Fanuc Corporation Control and control procedures

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63148314A (en) * 1986-12-12 1988-06-21 Fanuc Ltd Controller for semiclosed loop servo control system
JP2703575B2 (en) * 1988-09-30 1998-01-26 ファナック株式会社 Servo control device
JP2813909B2 (en) * 1989-12-28 1998-10-22 東芝機械株式会社 Backlash compensation method for numerical controller
JP2801064B2 (en) * 1990-03-20 1998-09-21 東芝機械株式会社 NC equipment
JP2826391B2 (en) * 1991-05-24 1998-11-18 ファナック株式会社 Backlash acceleration control method
JP2875646B2 (en) * 1991-07-04 1999-03-31 ファナック株式会社 Backlash acceleration correction device
JP3285681B2 (en) * 1993-04-28 2002-05-27 ファナック株式会社 Servo motor control method
JPH07110717A (en) 1993-08-19 1995-04-25 Fanuc Ltd Motor control system
US5710498A (en) * 1994-12-06 1998-01-20 Trinova Corporation Method and apparatus for friction compensation
KR0185951B1 (en) * 1995-07-04 1999-05-15 김광호 A speed control method and apparatus for a motor
US5773938A (en) * 1995-07-04 1998-06-30 Samsung Electronics Co., Ltd. Apparatus for controlling speed of a rotary motor
KR100241148B1 (en) * 1995-07-13 2000-03-02 이종수 Apparatus and method for compensating back-lash of numerical control machine
JP2716024B2 (en) * 1995-11-24 1998-02-18 日本電気株式会社 Digital servo system by pre-reading learning
EP0805383B1 (en) * 1996-04-30 1999-05-19 Samsung Electronics Co., Ltd. Apparatus for controlling speed of a rotary motor
KR100215458B1 (en) * 1996-07-19 1999-08-16 윤종용 Absolute anglle position producing apparatus of a motor and speed controller using it
JP3215067B2 (en) * 1997-03-21 2001-10-02 ファナック株式会社 Position correction method when moving direction is reversed
US6472842B1 (en) * 1997-10-03 2002-10-29 The Texas A&M University System Self-tuning control of switched-reluctance motor drive system
JPH11305839A (en) * 1998-04-21 1999-11-05 Fanuc Ltd Method for controlling plural servo motors
JP3703664B2 (en) * 1998-12-28 2005-10-05 三菱電機株式会社 Backlash correction device
GB2354087B (en) * 1999-05-14 2003-04-02 Mitsubishi Electric Corp Servo control apparatus
US6566837B1 (en) * 1999-06-04 2003-05-20 Kabushiki Kaisha Yaskawa Denki Position controller for motor
JP3209732B2 (en) * 1999-09-10 2001-09-17 義昭 垣野 Control method of NC machine tool
CN1242308C (en) 2000-05-15 2006-02-15 株式会社安川电机 Positioning servocontroller
JP4265874B2 (en) * 2000-07-10 2009-05-20 富士通株式会社 Disk apparatus and track following control method
US6744233B1 (en) * 2000-11-01 2004-06-01 Mitsubishi Denki Kabushiki Kaisha Servo controller and method
JP4183057B2 (en) 2001-03-01 2008-11-19 三菱電機株式会社 Numerical control system
KR100408288B1 (en) * 2001-06-20 2003-12-03 삼성전자주식회사 Disk servo system for eccentricity compensation and method thereof
US6686716B1 (en) * 2001-07-18 2004-02-03 Itt Manufacturing Enterprises, Inc. Tuned open-loop switched to closed-loop method for rapid point-to-point movement of a periodic motion control system
JP4160284B2 (en) * 2001-09-12 2008-10-01 松下電器産業株式会社 Optical disk device and focus control method
JP4043996B2 (en) * 2003-01-20 2008-02-06 ファナック株式会社 Servo motor drive control device
JP2004227163A (en) * 2003-01-21 2004-08-12 Fanuc Ltd Servo control device
JP3805309B2 (en) * 2003-01-30 2006-08-02 ファナック株式会社 Servo motor drive control device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009529A (en) * 2008-06-30 2010-01-14 Fanuc Ltd Drive controller and drive control method for servo motor
JP4741637B2 (en) * 2008-06-30 2011-08-03 ファナック株式会社 Servo motor drive control device and drive control method
JP2010269405A (en) * 2009-05-21 2010-12-02 Fanuc Ltd Servomotor control device for controlling periodic reciprocation
JP4620159B2 (en) * 2009-05-21 2011-01-26 ファナック株式会社 Servo motor control device that controls periodic reciprocating motion
JP2012196742A (en) * 2011-03-22 2012-10-18 Okuma Corp Machine tool

Also Published As

Publication number Publication date
US7084596B2 (en) 2006-08-01
EP1443372B1 (en) 2007-01-10
US20040183495A1 (en) 2004-09-23
CN100449933C (en) 2009-01-07
DE602004004177T2 (en) 2007-04-19
EP1443372A3 (en) 2006-01-04
CN1520025A (en) 2004-08-11
JP2004234327A (en) 2004-08-19
DE602004004177D1 (en) 2007-02-22
EP1443372A2 (en) 2004-08-04

Similar Documents

Publication Publication Date Title
JP3805309B2 (en) Servo motor drive control device
US7187148B2 (en) Controller
EP1439440B1 (en) Servo motor drive control device
JP3739749B2 (en) Control device
JP4283214B2 (en) Machine tip control device
JP4741637B2 (en) Servo motor drive control device and drive control method
JP2008210273A (en) Method of compensating friction, friction compensator, and motor control device
EP1967924A1 (en) Apparatus for synchronously controlling a plurality of servomotors
KR101378624B1 (en) Positioning control device
WO2002039574A1 (en) Servo controller and method
JP3545006B2 (en) Two-degree-of-freedom controller and servo controller for electric motor
JP6214948B2 (en) Friction compensation device, friction compensation method, and servo control device
JP2011072178A (en) Controller of electric motor having function of estimating inertia and friction simultaneously
JP5815784B2 (en) Servo controller for reducing synchronization error in synchronous machining
JP2010049599A (en) Machine tool
WO2020070988A1 (en) Vibration suppression device, vibration suppression method, and program
JP6412071B2 (en) Motor control device, motor control method, and motor control program
JP5283804B1 (en) Servo control device
JP3943061B2 (en) Servo control device
KR20210050303A (en) Control system and method for servomotor
JP6111642B2 (en) Control device, control program, and control method
JP5532784B2 (en) Servo control device
JP4072350B2 (en) Motor control device
JPH086644A (en) Numerical controller
JP6048174B2 (en) Numerical control device and lost motion compensation method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060509

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3805309

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140519

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees