JP2004234205A - Numerical controller - Google Patents

Numerical controller Download PDF

Info

Publication number
JP2004234205A
JP2004234205A JP2003020482A JP2003020482A JP2004234205A JP 2004234205 A JP2004234205 A JP 2004234205A JP 2003020482 A JP2003020482 A JP 2003020482A JP 2003020482 A JP2003020482 A JP 2003020482A JP 2004234205 A JP2004234205 A JP 2004234205A
Authority
JP
Japan
Prior art keywords
control
command value
correction
transfer function
friction
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.)
Granted
Application number
JP2003020482A
Other languages
Japanese (ja)
Other versions
JP4361285B2 (en
Inventor
Hiroshi Sugie
弘 杉江
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003020482A priority Critical patent/JP4361285B2/en
Publication of JP2004234205A publication Critical patent/JP2004234205A/en
Application granted granted Critical
Publication of JP4361285B2 publication Critical patent/JP4361285B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a numerical controller capable of precisely compensating elastic change generated when the moving direction of an object to be controlled is inversed. <P>SOLUTION: When the control direction of a table 6 is inversed, the correction command value of backlash is updated according to an elapsed time since the inversion is generated, and the correction command value is added to a position command value, and the rotation of a survo motor 1 for driving the table 6 is controlled based on the addition result. Thus, it is possible to precisely compensate elastic change generated when the moving direction of the table 6 is inversed. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、例えば、テーブルなどの制御対象の位置を制御する数値制御装置に関するものである。
【0002】
【従来の技術】
例えば、ボールネジを用いている駆動機構において、リニアスケールなどのセンサが制御対象の位置情報を検出してフィードバックするフルクローズド制御方式が採用されている場合、その制御対象の移動方向の反転時に機械端で生じるロストモーション(ガタや弾性変形)をセンサで検出することが可能であるが、フィードバック制御系の応答遅れに起因して象限突起を生じることがある。
従来の数値制御装置は、象限突起の発生を抑制するため、制御対象の移動方向が反転すると、所定の幅の台形、あるいは、矩形のバックラッシュ補正量を制御対象の位置指令値に加算するようにしている。なお、台形の幅は、予め、補正を加えない場合に生じる突起形状をセンサで計測して決定している(以下の特許文献1を参照)。
【0003】
【特許文献1】
特開2000−35814公報(第5頁から第9頁、図5)
【0004】
【発明が解決しようとする課題】
従来の数値制御装置は以上のように構成されているので、制御対象の移動速度や円弧半径などの制御条件が変わる度に、補正を加えない場合に生じる突起形状をセンサで計測して、台形の幅を決定する必要がある。そのため、色々な移動速度と円弧半径が組み合わされた連続動作で制御対象を駆動する場合には、多くの手間を要する課題があった。
また、バックラッシュ補正量の形状が台形又は矩形であるものとして制御対象の位置指令値に加算しているが、実際に生じる誤差の形状は必ずしも台形や矩形にはならないため、精度よく象限突起の発生を抑制することができない課題があった。
【0005】
この発明は上記のような課題を解決するためになされたもので、制御対象の移動方向が反転するときに生じる弾性変形を精度よく補償することができる数値制御装置を得ることを目的とする。
【0006】
【課題を解決するための手段】
この発明に係る数値制御装置は、制御対象の制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新する補正指令値更新手段を設け、その補正指令値更新手段により更新されたバックラッシュの補正指令値を位置指令値に加算し、その加算結果に基づいて制御対象を駆動するモータの回転を制御するようにしたものである。
【0007】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による数値制御装置を示す構成図であり、図において、サーボモータ1は制御対象であるテーブル6を図中左方向又は右方向に駆動するものであり、エンコーダ2はサーボモータ1の回転量を検出する。カップリング3はサーボモータ1とボールネジ4を結合し、ボールネジナット5はボールネジ4と嵌合されている。制御対象であるテーブル6は被加工物や工具などが固定され、ボールネジナット5と結合されている。
【0008】
リニアスケール7は図示外のベース部分に固定され、テーブル6の位置を検出する。リニアスケールヘッド8はテーブル6に固定され、リニアスケール7と嵌合されている。
なお、ボールネジ4とボールネジナット5はサーボモータ1の回転運動を直線運動に変換し、テーブル6はボールネジ4とボールネジナット5などの駆動伝達部材と、図示外の直動案内機構(ガイドレール)とに従って所定の位置に移動される。
【0009】
位置指令生成部9はテーブル6の位置(所定の一軸方向の位置)を数値制御する際、例えば加工プログラムなどにしたがって位置指令値を生成する。制御方向検出部10は位置指令生成部9により生成された位置指令値を監視して、テーブル6の軸方向の制御方向を検出し、その制御方向に応じて正又は負の大きさ“1”のステップ状の制御方向信号を出力する。ただし、その制御方向が反転しない場合には、前回と同じ制御方向信号を出力する。初期状態では零値の制御方向信号を出力する。なお、制御方向検出部10は制御方向検出手段を構成している。
【0010】
摩擦補償ゲイン部11は制御方向検出部10から出力された制御方向信号に所定の摩擦補償ゲインを乗算し、その乗算結果をテーブル6に作用する摩擦を打ち消す補正トルク量に相当する電流指令補正値として加算器17に出力する。
最大バックラッシュ補正ゲイン部12は制御方向検出部10から出力された制御方向信号に所定の最大バックラッシュ補正量を乗算し、その乗算結果をステップ状の最大バックラッシュ補正信号として伝達関数型フィルタ13に出力する。伝達関数型フィルタ13はテーブル6に作用する摩擦から、テーブル6の位置とサーボモータ1の位置との偏差に至るまでの伝達関数がモデル化され、最大バックラッシュ補正ゲイン部12から出力された最大バックラッシュ補正信号を入力すると、テーブル6の制御方向の反転が発生してからの経過時間に応じたバックラッシュの補正指令値を出力する。なお、最大バックラッシュ補正ゲイン部12及び伝達関数型フィルタ13から補正指令値更新手段が構成されている。
【0011】
加算器14は位置指令生成部9により生成された位置指令値と伝達関数型フィルタ13により更新された補正指令値を加算し、位置制御部15は加算器14の加算結果とリニアスケールヘッド8から出力されたテーブル6の位置情報との差に基づいて速度指令値を生成する。
速度制御部16はエンコーダ2から出力されたサーボモータ1の回転角度情報を位置座標系に換算してサーボモータ1の速度情報を求め、その速度情報と位置制御部15により生成された速度指令値との差に基づいて電流指令値を生成する。加算器17は速度制御部16により生成された電流指令値と摩擦補償ゲイン部11から出力された電流指令補正値を加算して補正電流指令値(制御信号)を生成する。電流制御部18は加算器17により生成された補正電流指令値に基づいてサーボモータ1の回転を制御する。なお、摩擦補償ゲイン部11、加算器14、位置制御部15、速度制御部16、加算器17及び電流制御部18から制御手段が構成されている。
【0012】
次に動作について説明する。
まず、位置指令生成部9は、テーブル6の位置(所定の一軸方向の位置)を数値制御する際、例えば加工プログラムなどにしたがって位置指令値を生成する。
制御方向検出部10は、位置指令生成部9が位置指令値の生成を開始すると、その位置指令値を監視して、テーブル6の軸方向の制御方向を検出する。
例えば、テーブル6が図中右方向に移動している場合、“+1”の制御方向信号を出力し、左方向に移動している場合、“−1”の制御方向信号を出力する。
【0013】
最大バックラッシュ補正ゲイン部12は、制御方向検出部10から“+1”又は“−1”の制御方向信号を受けると、その制御方向信号に所定の最大バックラッシュ補正量を乗算し、その乗算結果を最大バックラッシュ補正信号として伝達関数型フィルタ13に出力する。
伝達関数型フィルタ13は、最大バックラッシュ補正ゲイン部12から最大バックラッシュ補正信号を受けると、その最大バックラッシュ補正信号を入力条件として、テーブル6の制御方向の反転が発生してからの経過時間に応じたバックラッシュの補正指令値を出力する。
【0014】
加算器14は、伝達関数型フィルタ13がバックラッシュの補正指令値を更新すると、その補正指令値と位置指令生成部9により生成された位置指令値を加算し、位置制御部15は、加算器14の加算結果とリニアスケールヘッド8から出力されたテーブル6の位置情報との差に基づいて速度指令値を生成する。
摩擦補償ゲイン部11は、制御方向検出部10から“+1”又は“−1”の制御方向信号を受けると、その制御方向信号に所定の摩擦補償ゲインを乗算し、その乗算結果を電流指令補正値として加算器17に出力する。
【0015】
加算器17は、速度制御部16により生成された電流指令値と摩擦補償ゲイン部11から出力された電流指令補正値を加算して補正電流指令値を生成する。
電流制御部18は、加算器17が補正電流指令値を生成すると、その補正電流指令値に基づいてサーボモータ1の回転を制御する。即ち、サーボモータ1の駆動電流を制御する。
これにより、サーボモータ1の駆動電流に応じた角度だけサーボモータ1の回転軸が回転し、その回転に応じた距離だけテーブル6が移動する。
【0016】
ここで、図2はサーボモータ1とテーブル6の間で生じる弾性変形を説明する説明図である。
Mはサーボモータ1の回転運動をテーブル6の直線運動座標系に等価変換して表現したものであり、Lはテーブル6を示し、Kはボールネジ4などの駆動伝達部材に含まれる弾性要素をまとめてテーブル6の座標系で表現したものであり、Cは駆動伝達部材に含まれるダンピング要素をまとめてテーブル6の座標系で表現したものである。
【0017】
図2(a)はサーボモータMとテーブルLが右に移動している場合を示している。即ち、サーボモータMに作用する駆動力Uと、テーブルLに作用する動摩擦Fとが釣合い、弾性要素Kが縮んでいることを示している。
図2(b)はサーボモータMとテーブルLが左に移動している場合を示している。即ち、駆動力Uと動摩擦Fの方向が反転し、弾性要素Kは伸びていることを示している。
テーブル6に対する位置指令値が右方向から左方向に反転する場合、テーブル6の位置をリニアスケール7とリニアスケールヘッド8で検出してフィードバック制御するため、テーブル6とサーボモータ1の間に弾性変形が生じていても、テーブル6を位置指令値に追従させることができる。しかし、フィードバック制御系には応答遅れがあるため、フィードバック制御だけでは追従誤差が生じてしまう。
【0018】
図3はこの実施の形態1による数値制御装置の制御系を示すブロック図であり、テーブル6とサーボモータ1は、慣性モーメントとその間に介在するバネを使って力学的にモデル化している。JLはテーブル6の慣性モーメント、JMはサーボモータ1の慣性モーメント、Kはボールネジ4などの駆動伝達部材の剛性を表すバネ定数、Cはバネに作用する粘性摩擦係数、sは微分を表すラプラス演算子である。
また、Fはテーブル6に作用する動摩擦トルク、F0はこの動摩擦を打ち消すための摩擦補償トルクである。V(s)は速度制御部16であり、例えば、Kv(1+Ki/s)で表現され、Kvは速度比例ゲイン、Kiは速度積分ゲインである。P(s)は位置制御部15であり、例えば、位置比例ゲインKpで表現される。θrは位置指令値、θMはサーボモータ1の位置、θLはテーブル6の位置である。
ただし、図3では電流制御部18は、その応答が位置制御部15や速度制御部16と比べて十分早いものとみなして省略している。
【0019】
例えば、テーブル6に対する位置指令が正方向から負方向に反転する場合、反転直前まではテーブル6の位置θLは位置指令値θrに追従しているが、反転時にテーブル6に作用する動摩擦Fの方向が反転するために、バネKが伸びて縮む分だけ大きく動く必要が生じる。
バネKの変位量をθL−θMとすると、動摩擦FからθL−θMまでの伝達関数は下記の式(1)で与えられる。
θL−θM=J・F/{JL・JM・s+J・C・s+J・K}
=[J・K/{JL・JM・s+J・C・s+J・K}]
・(F/K)
=B(s)・(F/K) (1)
ただし、J=(JL+JM)であり、(F/K)は最大バックラッシュ補正ゲイン部12における最大バックラッシュ補正量に相当し、B(s)は最大バックラッシュ補正量の時間変化を表す伝達関数である。
【0020】
位置指令値θrからテーブル6の位置θLまでの伝達関数をQ(s)とすると、位置指令値θrに対するテーブル6の位置θLの追従誤差は1−Q(s)となる。
速度制御部16をV(s)=Kv(1+Ki/s)とし、位置制御部15をP(s)=Kpとすると、伝達関数Q(s)は下記の式(2)で与えられる。
Q(s)={JL・JM・s+(J・C+JL・Kv)s
+(J・K+C・Kv+JL・Kv・Ki)s
+Kv(C・Kp+K+C・Ki)s
+Kv(C・Kp・Ki+K・Kp+K・Ki)s
+K・Kp・Kv・Ki}
/[Kp・Kv{Cs+(K+C・Ki)s+K・Ki}](2)
【0021】
テーブル6に対する位置指令値θrの移動方向が反転するときに生じる誤差Δθは、下記の式(3)で与えられる。
Δθ=(1−Q(s))・B(s) (3)
したがって、最大バックラッシュ補正ゲイン部12及び伝達関数型フィルタ13に対して式(3)に相当する伝達関数を設定すれば、テーブル6の誤差を補正することができる。
また、Q(s)で表される制御系の応答が遅い場合には、その応答遅れを考慮して、下記の式(4)で表される伝達関数を伝達関数型フィルタ13に設定すれば、高精度にテーブル6の誤差を補正することができる。
Δθ/Q(s)=(1−Q(s))・B(s)/Q(s) (4)
【0022】
例えば、JL、JM、Cと比べてKが十分大きい場合には、式(1)は下記の式(5)で近似することができる。
B(s)=1 (5)
更に、速度制御部16の応答が位置制御部15と比べて十分速いとみなせる場合には、制御系の応答Q(s)は下記の式(6)で近似することができる。
Q(s)=1/(s/Kp+1) (6)
以上より、伝達関数型フィルタ13には下記の式(7)あるいは式(8)で与えられる伝達関数を設定すればよい。
(1−Q(s))・B(s)=(s/Kp)/(s/Kp+1) (7)
(1−Q(s))・B(s)=s/Kp (8)
【0023】
また、JL,JMと比べてC,Kが十分大きい場合には、式(1)は下記の式(9)で近似することができる。
B(s)=1/{(C/K)s+1} (9)
したがって、伝達関数型フィルタ13には下記の式(10)あるいは式(11)で与えられる伝達関数を設定すればよい。
(1−Q(s))・B(s)=(s/Kp)
/[{C/(K・Kp)}s+{(C/K)
+(1/Kp)}s+1] (10)
(1−Q(s))・B(s)=s/[Kp{(C/K)s+1}] (11)
【0024】
なお、図4(a)は直交するX−Yの2軸に時計周りの円弧位置指令を与えて運動させた場合のX軸とY軸の時間応答を示しており、図4(b)は象限切り替え近傍のY軸指令値の時間応答を拡大表示している。実線がバックラッシュの補正指令値が加算された位置指令値を示し、点線が補正前の位置指令値を示している。
図4(c)はバックラッシュ補正を実施せず、位置指令値に対するフィードバック制御を実施した場合の円弧の一部を、誤差を拡大して表示したものである。実線がテーブル6の運動軌跡を示し、破線がサーボモータ1の運動軌跡を示している。実線のテーブル6の運動軌跡は、ほぼ円を描いているが、最下端で大きな突起を生じている。これが応答遅れが原因で生じる象限突起である。
図4(d)はバックラッシュ補正を実施して、補正後の位置指令に対するフィードバック制御を実施した場合の円弧の一部を拡大して表示したものである。実線で示されるテーブル6の軌跡は象限切り替え部でも滑らかに円弧を描いている。
【0025】
以上で明らかなように、この実施の形態1によれば、テーブル6の制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新して、その補正指令値を位置指令値に加算し、その加算結果に基づいてテーブル6を駆動するサーボモータ1の回転を制御するように構成したので、テーブル6の移動方向が反転するときに生じる弾性変形を精度よく補償することができるようになり、その結果、テーブル6の位置θLを位置指令値θrに精度よく追従させることができる効果を奏する。
【0026】
また、この実施の形態1によれば、テーブル6の制御方向を考慮してテーブル6に作用する摩擦を打ち消す補正トルク量を求め、その補正トルク量を考慮してサーボモータ1の制御信号を生成するように構成したので、テーブル6に作用する摩擦が大きい場合でも、テーブル6の移動方向が反転するときに生じる弾性変形を精度よく補償することができる効果を奏する。
また、この実施の形態1によれば、テーブル6に作用する摩擦から、テーブル6の位置θLとサーボモータ1の位置θMとの偏差に至るまでの伝達関数がモデル化された伝達関数型フィルタ13を用いてバックラッシュの補正指令値を更新するように構成したので、予め、補正を加えない場合に生じる突起形状をセンサで計測することなく、テーブル6の移動方向が反転するときに生じる弾性変形を補償することができる効果を奏する。
更に、この実施の形態1によれば、テーブル6の制御方向が反転すると、所定のバックラッシュ量を伝達関数型フィルタ13に入力するように構成したので、構成の複雑化を招くことなく、テーブル6の移動方向が反転するときに生じる弾性変形を精度よく補正することができる効果を奏する。
【0027】
実施の形態2.
図5はこの発明の実施の形態2による数値制御装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
最大バックラッシュ補正ゲイン算出部19は位置指令生成部9により生成された位置指令値から最大バックラッシュ補正量を算出し、制御方向検出部10から出力された制御方向信号に当該最大バックラッシュ補正量を乗算し、その乗算結果を最大バックラッシュ補正信号として伝達関数型フィルタ13に出力する。なお、最大バックラッシュ補正ゲイン算出部19は補正指令値更新手段を構成している。
【0028】
図6は最大バックラッシュ補正ゲイン算出部19における最大バックラッシュ補正量の算出法を説明する説明図である。
テーブル6に作用する動摩擦Fは、機械の組み立て具合により、位置に依存して値が増減する。ボールネジ4が両端で軸受に支持されている構造の場合には、両端で動摩擦が大きく、中央では小さくなる場合が多い。予め、等速直線運動をさせた場合の制御電流を計測する方法などで、位置指令値θrと動摩擦Fの関係を計測し、関数F(θr)で近似表現する。この場合、例えば、下記の式(12)で表現される。
F(θr)=1/(a1・θr+b1)+1/(a2・θr+b2)(12)
ただし、a1,a2,b1,b2は適当な定数である。
【0029】
機械のバネ定数は位置に依存して変化する。サーボモータ1からボールネジナット5までの長さが位置に依存して変化するためである。機械の設計データあるいは計測値に基づいて、位置指令値θrとバネ定数Kの関係を関数K(θr)で近似表現する。この場合、例えば、下記の式(13)で表現される。
K(θr)=1/(a3・θr+b3) (13)
ただし、a3,b3は適当な定数である。
上記のように、関数表現された動摩擦F(θr)とバネ定数K(θr)から、最大バックラッシュ補正量maxΔは位置指令値θrの関数として下記の式(14)で与えられる。
maxΔ=F(θr)/K(θr) (14)
【0030】
次に動作について説明する。
最大バックラッシュ補正ゲイン算出部19は、位置指令生成部9から位置指令値を受けると、その位置指令値から最大バックラッシュ補正量を算出する。
例えば、テーブル6がボールネジ4の端部にある場合は、図6に示すように、最大バックラッシュ補正量を大きくし、テーブル6がボールネジ4の中央部にある場合は、最大バックラッシュ補正量を小さくする。
そして、最大バックラッシュ補正ゲイン算出部19は、上記実施の形態1と同様にして、制御方向検出部10から制御方向信号を受けると、その制御方向信号に当該最大バックラッシュ補正量を乗算し、その乗算結果を最大バックラッシュ補正信号として伝達関数型フィルタ13に出力する。
【0031】
以上で明らかなように、この実施の形態2によれば、位置指令生成部9により生成された位置指令値から最大バックラッシュ補正量を算出し、制御方向検出部10から出力された制御方向信号に当該最大バックラッシュ補正量を乗算し、その乗算結果を伝達関数型フィルタ13に出力するように構成したので、テーブル6の移動方向が反転するときに生じる弾性変形が位置に応じて変化する場合でも精度よく弾性変形を補償することができるようになり、その結果、テーブル6の位置θLを位置指令値θrに高精度に追従させることができる効果を奏する。
【0032】
なお、この実施の形態2では、位置指令値θrと最大バックラッシュ補正量maxΔの関係を近似関数で表現するものについて示したが、これらを実測データに基づいて数値表化し、最大バックラッシュ補正量maxΔを補間計算する算出法を用いても同様な効果を奏することができる。
【0033】
実施の形態3.
図7はこの発明の実施の形態3による数値制御装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
摩擦推定部20は位置指令生成部9により生成された位置指令値と加算器17により生成された補正電流指令値(制御信号)からテーブル6に作用する摩擦を推定し、その推定摩擦信号を出力する。最大バックラッシュ補正ゲイン算出部21は摩擦推定部20から出力された推定摩擦信号と位置指令生成部9により生成された位置指令値から最大バックラッシュ補正量を算出し、その最大バックラッシュ補正量を伝達関数型フィルタ13に出力する。なお、摩擦推定部20及び最大バックラッシュ補正ゲイン算出部21は補正指令値更新手段を構成している。
【0034】
摩擦推定部20は、下記の式(15)に基づいてテーブル6に作用する推定摩擦F^を計算する。
F^=KT・i−{Jαr+Dωr+FM・sign(ωr)} (15)
ただし、KTはサーボモータ1のトルク定数、iは摩擦補償を含む補正電流指令値、αrは位置指令値θrの2階微分値である加速度指令値、ωrは位置指令値θrの1階微分値である速度指令値、J(=JL+JM)はテーブル6とサーボモータ1など機械系の慣性モーメントの合計値、Dはサーボモータ1及びテーブル6に作用する粘性摩擦係数の合計値、FMはサーボモータ1に作用する摩擦、sign(ωr)はωrが正のときは“1”を出力し、負のときは“−1”を出力する符号関数を示している。
【0035】
最大バックラッシュ補正ゲイン算出部21は、下記の式(16)に基づいて最大バックラッシュ補正量maxΔを算出する。
maxΔ=F^/K(θr) (16)
ただし、F^は摩擦推定部20から出力された推定摩擦、K(θr)は位置指令値θrとバネ定数Kの関係を表す関数である。
【0036】
次に動作について説明する。
摩擦推定部20は、加算器17から補正電流指令値を受けると、式(15)を用いて、その補正電流指令値と位置指令生成部9により生成された位置指令値からテーブル6に作用する摩擦を推定し、その推定摩擦信号を出力する。
最大バックラッシュ補正ゲイン算出部21は、摩擦推定部20から推定摩擦信号を受けると、式(16)を用いて、その推定摩擦信号と位置指令生成部9により生成された位置指令値から最大バックラッシュ補正量を算出し、その最大バックラッシュ補正量を伝達関数型フィルタ13に出力する。
【0037】
以上で明らかなように、この実施の形態3によれば、位置指令生成部9により生成された位置指令値と加算器17により生成された補正電流指令値からテーブル6に作用する摩擦を推定し、その推定値と位置指令生成部9により生成された位置指令値から最大バックラッシュ補正量を算出し、その最大バックラッシュ補正量を伝達関数型フィルタ13に出力するように構成したので、テーブル6の移動方向が反転するときに生じる弾性変形が位置・速度・移動距離・円弧半径・機械の潤滑状態・温度などの動作条件に応じて変化する場合でも、精度よく弾性変形を補償することができるようになり、その結果、テーブル6の位置θLを位置指令値θrに高精度に追従させることができる効果を奏する。
【0038】
実施の形態4.
図8はこの発明の実施の形態4による数値制御装置を示す構成図であり、図において、図7と同一符号は同一または相当部分を示すので説明を省略する。
摩擦補償値算出部22は制御方向検出部10から出力された制御方向信号に摩擦推定部20から出力された推定摩擦信号を乗算し、その乗算結果を補正トルク量に相当する電流指令補正値として加算器17に出力する。なお、摩擦補償値算出部22は制御手段を構成している。
【0039】
次に動作について説明する。
摩擦補償値算出部22は、制御方向検出部10から制御方向信号を受けると、その制御方向信号に摩擦推定部20から出力された推定摩擦信号F^を乗算し、その乗算結果を補正トルク量に相当する電流指令補正値として加算器17に出力する。
加算器17は、速度制御部16により生成された電流指令値と摩擦補償値算出部22から出力された電流指令補正値を加算して補正電流指令値を生成する。
【0040】
以上で明らかなように、この実施の形態4によれば、制御方向検出部10から出力された制御方向信号に摩擦推定部20から出力された推定摩擦信号を乗算し、その乗算結果を補正トルク量に相当する電流指令補正値として加算器17に出力するように構成したので、テーブル6に作用する摩擦量が位置・速度・移動距離・円弧半径・機械の潤滑状態・温度などの動作条件に応じて変化する場合でも、精度よく弾性変形を補償することができるようになり、その結果、テーブル6の位置θLを位置指令値θrに高精度に追従させることができる効果を奏する。
【0041】
【発明の効果】
以上のように、この発明によれば、制御対象の制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新する補正指令値更新手段を設け、その補正指令値更新手段により更新されたバックラッシュの補正指令値を位置指令値に加算し、その加算結果に基づいて制御対象を駆動するモータの回転を制御するように構成したので、制御対象の移動方向が反転するときに生じる弾性変形を精度よく補償することができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1による数値制御装置を示す構成図である。
【図2】サーボモータとテーブルの間で生じる弾性変形を説明する説明図である。
【図3】この実施の形態1による数値制御装置の制御系を示すブロック図である。
【図4】象限突起の抑制効果を説明する説明図である。
【図5】この発明の実施の形態2による数値制御装置を示す構成図である。
【図6】最大バックラッシュ補正ゲイン算出部における最大バックラッシュ補正量の算出法を説明する説明図である。
【図7】この発明の実施の形態3による数値制御装置を示す構成図である。
【図8】この発明の実施の形態4による数値制御装置を示す構成図である。
【符号の説明】
1 サーボモータ、2 エンコーダ、3 カップリング、4 ボールネジ、5ボールネジナット、6 テーブル、7 リニアスケール、8 リニアスケールヘッド、9 位置指令生成部、10 制御方向検出部(制御方向検出手段)、11 摩擦補償ゲイン部(制御手段)、12 最大バックラッシュ補正ゲイン部(補正指令値更新手段)、13 伝達関数型フィルタ(補正指令値更新手段)、14 加算器(制御手段)、15 位置制御部(制御手段)、16 速度制御部(制御手段)、17 加算器(制御手段)、18 電流制御部(制御手段)、19最大バックラッシュ補正ゲイン算出部(補正指令値更新手段)、20 摩擦推定部(補正指令値更新手段)、21 最大バックラッシュ補正ゲイン算出部(補正指令値更新手段)、22 摩擦補償値算出部(制御手段)。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a numerical controller that controls the position of a control target such as a table.
[0002]
[Prior art]
For example, if a drive mechanism using a ball screw adopts a fully-closed control system in which a sensor such as a linear scale detects position information of a control target and feeds back the information, the machine end is used when the movement direction of the control target is reversed. Although it is possible to detect the lost motion (play or elastic deformation) caused by the sensor with a sensor, a quadrant projection may be generated due to a response delay of the feedback control system.
In order to suppress the occurrence of quadrant protrusions, a conventional numerical control device adds a trapezoidal or rectangular backlash correction amount of a predetermined width to a position command value of a control target when the movement direction of the control target is reversed. I have to. In addition, the width of the trapezoid is determined in advance by measuring the shape of a protrusion that occurs when no correction is made with a sensor (see Patent Document 1 below).
[0003]
[Patent Document 1]
JP-A-2000-35814 (Pages 5 to 9, FIG. 5)
[0004]
[Problems to be solved by the invention]
Since the conventional numerical control device is configured as described above, every time the control conditions such as the moving speed of the control target and the arc radius change, the projection shape generated when no correction is applied is measured by the sensor, and the trapezoidal shape is obtained. Needs to be determined. Therefore, when the control target is driven by a continuous operation in which various moving speeds and arc radii are combined, there is a problem that requires much labor.
In addition, the shape of the backlash correction amount is trapezoidal or rectangular and is added to the position command value of the control target. However, the shape of the error that actually occurs does not always become trapezoidal or rectangular, so the quadrant projections are accurately detected. There was a problem that generation could not be suppressed.
[0005]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and has as its object to provide a numerical control device capable of accurately compensating for elastic deformation that occurs when a moving direction of a control target is reversed.
[0006]
[Means for Solving the Problems]
The numerical control device according to the present invention is provided with a correction command value updating means for updating a backlash correction command value in accordance with an elapsed time after the reversal of the control direction of the control object, The backlash correction command value updated by the command value updating means is added to the position command value, and the rotation of the motor driving the control target is controlled based on the addition result.
[0007]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described.
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a numerical control device according to a first embodiment of the present invention. In the figure, a servo motor 1 drives a table 6 to be controlled in a left or right direction in the figure. Numeral 2 detects the rotation amount of the servo motor 1. The coupling 3 couples the servomotor 1 and the ball screw 4, and the ball screw nut 5 is fitted with the ball screw 4. A work piece, a tool, and the like are fixed to the table 6 to be controlled, and are connected to the ball screw nut 5.
[0008]
The linear scale 7 is fixed to a base portion (not shown) and detects the position of the table 6. The linear scale head 8 is fixed to the table 6 and fitted with the linear scale 7.
The ball screw 4 and the ball screw nut 5 convert the rotary motion of the servo motor 1 into a linear motion, and the table 6 includes a drive transmitting member such as the ball screw 4 and the ball screw nut 5, a linear motion guide mechanism (guide rail) not shown. Is moved to a predetermined position.
[0009]
When numerically controlling the position of the table 6 (the position in the predetermined uniaxial direction), the position command generator 9 generates a position command value according to, for example, a machining program. The control direction detector 10 monitors the position command value generated by the position command generator 9 to detect the control direction of the table 6 in the axial direction, and has a positive or negative magnitude “1” according to the control direction. Is output. However, if the control direction is not reversed, the same control direction signal as the previous one is output. In the initial state, a control value signal having a zero value is output. Note that the control direction detection unit 10 constitutes a control direction detection unit.
[0010]
The friction compensation gain unit 11 multiplies the control direction signal output from the control direction detection unit 10 by a predetermined friction compensation gain, and calculates a current command correction value corresponding to a correction torque amount for canceling friction acting on the table 6 based on the multiplication result. Is output to the adder 17.
The maximum backlash correction gain section 12 multiplies the control direction signal output from the control direction detection section 10 by a predetermined maximum backlash correction amount, and uses the multiplication result as a step-like maximum backlash correction signal as a transfer function filter 13. Output to The transfer function filter 13 models the transfer function from the friction acting on the table 6 to the deviation between the position of the table 6 and the position of the servo motor 1, and outputs the maximum value output from the maximum backlash correction gain unit 12. When a backlash correction signal is input, a backlash correction command value corresponding to the elapsed time after the inversion of the control direction of the table 6 is output. The maximum backlash correction gain unit 12 and the transfer function filter 13 constitute a correction command value updating unit.
[0011]
The adder 14 adds the position command value generated by the position command generator 9 and the correction command value updated by the transfer function filter 13, and the position controller 15 outputs the addition result of the adder 14 and the linear scale head 8. A speed command value is generated based on a difference from the output position information of the table 6.
The speed control unit 16 converts the rotation angle information of the servo motor 1 output from the encoder 2 into a position coordinate system to obtain speed information of the servo motor 1, and obtains the speed information and the speed command value generated by the position control unit 15. And generates a current command value based on the difference between The adder 17 adds the current command value generated by the speed control unit 16 and the current command correction value output from the friction compensation gain unit 11 to generate a corrected current command value (control signal). The current control unit 18 controls the rotation of the servo motor 1 based on the correction current command value generated by the adder 17. The control means includes the friction compensation gain unit 11, the adder 14, the position control unit 15, the speed control unit 16, the adder 17, and the current control unit 18.
[0012]
Next, the operation will be described.
First, when numerically controlling the position of the table 6 (the position in the predetermined uniaxial direction), the position command generator 9 generates a position command value according to, for example, a machining program.
When the position command generator 9 starts generating the position command value, the control direction detector 10 monitors the position command value and detects the control direction of the table 6 in the axial direction.
For example, when the table 6 is moving rightward in the drawing, a control direction signal of "+1" is output, and when the table 6 is moving leftward, a control direction signal of "-1" is output.
[0013]
When receiving the control direction signal of “+1” or “−1” from the control direction detection unit 10, the maximum backlash correction gain unit 12 multiplies the control direction signal by a predetermined maximum backlash correction amount, and calculates the multiplication result. Is output to the transfer function filter 13 as the maximum backlash correction signal.
Upon receiving the maximum backlash correction signal from the maximum backlash correction gain unit 12, the transfer function filter 13 uses the maximum backlash correction signal as an input condition and lapses from the time when the control direction of the table 6 is inverted. And outputs a backlash correction command value corresponding to.
[0014]
When the transfer function filter 13 updates the backlash correction command value, the adder 14 adds the correction command value and the position command value generated by the position command generation unit 9, and the position control unit 15 A speed command value is generated based on the difference between the addition result of No. 14 and the position information of the table 6 output from the linear scale head 8.
When receiving the control direction signal of "+1" or "-1" from the control direction detection unit 10, the friction compensation gain unit 11 multiplies the control direction signal by a predetermined friction compensation gain, and corrects the multiplication result by the current command correction. The value is output to the adder 17 as a value.
[0015]
The adder 17 adds the current command value generated by the speed control unit 16 and the current command correction value output from the friction compensation gain unit 11 to generate a corrected current command value.
When the adder 17 generates the corrected current command value, the current control unit 18 controls the rotation of the servo motor 1 based on the corrected current command value. That is, the drive current of the servo motor 1 is controlled.
Thus, the rotation shaft of the servo motor 1 rotates by an angle corresponding to the drive current of the servo motor 1, and the table 6 moves by a distance corresponding to the rotation.
[0016]
Here, FIG. 2 is an explanatory diagram for explaining elastic deformation occurring between the servo motor 1 and the table 6.
M represents the rotational motion of the servomotor 1 equivalently converted to the linear motion coordinate system of the table 6, L represents the table 6, and K represents the elastic elements included in the drive transmission member such as the ball screw 4. C is a representation of the damping elements included in the drive transmission member collectively in the coordinate system of the table 6.
[0017]
FIG. 2A shows a case where the servo motor M and the table L are moving to the right. That is, the driving force U acting on the servo motor M and the dynamic friction F acting on the table L are balanced, and the elastic element K is contracted.
FIG. 2B shows a case where the servo motor M and the table L are moving to the left. That is, the directions of the driving force U and the dynamic friction F are reversed, and the elastic element K is extended.
When the position command value for the table 6 is reversed from right to left, the position of the table 6 is detected by the linear scale 7 and the linear scale head 8, and feedback control is performed. Table 6 can be made to follow the position command value. However, since the feedback control system has a response delay, a tracking error occurs only with the feedback control.
[0018]
FIG. 3 is a block diagram showing a control system of the numerical controller according to the first embodiment. The table 6 and the servomotor 1 are dynamically modeled using an inertia moment and a spring interposed therebetween. JL is the moment of inertia of the table 6, JM is the moment of inertia of the servomotor 1, K is the spring constant representing the rigidity of the drive transmission member such as the ball screw 4, C is the coefficient of viscous friction acting on the spring, and s is the Laplace operation representing the derivative. I am a child.
F is a dynamic friction torque acting on the table 6, and F0 is a friction compensation torque for canceling the dynamic friction. V (s) is the speed control unit 16 and is expressed by, for example, Kv (1 + Ki / s), where Kv is a speed proportional gain and Ki is a speed integration gain. P (s) is a position control unit 15, which is represented by, for example, a position proportional gain Kp. θr is the position command value, θM is the position of the servo motor 1, and θL is the position of the table 6.
However, in FIG. 3, the response of the current control unit 18 is omitted because the response is considered to be sufficiently faster than the position control unit 15 and the speed control unit 16.
[0019]
For example, when the position command for the table 6 is reversed from the positive direction to the negative direction, the position θL of the table 6 follows the position command value θr until immediately before the reversal, but the direction of the dynamic friction F acting on the table 6 at the time of reversal. Needs to move as much as the spring K expands and contracts.
Assuming that the displacement of the spring K is θL−θM, the transfer function from the dynamic friction F to θL−θM is given by the following equation (1).
θL−θM = J · F / {JL · JM · s2+ J ・ C ・ s + J ・ K}
= [J ・ K / {JL ・ JM ・ s2+ J ・ C ・ s + J ・ K}]
・ (F / K)
= B (s) · (F / K) (1)
Here, J = (JL + JM), (F / K) corresponds to the maximum backlash correction amount in the maximum backlash correction gain unit 12, and B (s) is a transfer function representing the time change of the maximum backlash correction amount. It is.
[0020]
Assuming that the transfer function from the position command value θr to the position θL of the table 6 is Q (s), the tracking error of the position θL of the table 6 with respect to the position command value θr is 1−Q (s).
Assuming that the speed controller 16 is V (s) = Kv (1 + Ki / s) and the position controller 15 is P (s) = Kp, the transfer function Q (s) is given by the following equation (2).
Q (s) = {JL ・ JM ・ s5+ (J ・ C + JL ・ Kv) s4
+ (JK + CKv + JLKvKi) s3
+ Kv (C · Kp + K + C · Ki) s2
+ Kv (C · Kp · Ki + K · Kp + K · Ki) s
+ K ・ Kp ・ Kv ・ Ki}
/ [Kp · Kv {Cs2+ (K + C · Ki) s + K · Ki}] (2)
[0021]
An error Δθ generated when the moving direction of the position command value θr with respect to the table 6 is reversed is given by the following equation (3).
Δθ = (1−Q (s)) · B (s) (3)
Therefore, if the transfer function corresponding to the equation (3) is set for the maximum backlash correction gain unit 12 and the transfer function filter 13, the error of the table 6 can be corrected.
When the response of the control system represented by Q (s) is slow, the transfer function represented by the following equation (4) is set in the transfer function filter 13 in consideration of the response delay. The error of the table 6 can be corrected with high accuracy.
Δθ / Q (s) = (1−Q (s)) · B (s) / Q (s) (4)
[0022]
For example, when K is sufficiently larger than JL, JM, and C, Equation (1) can be approximated by Equation (5) below.
B (s) = 1 (5)
Further, when the response of the speed control unit 16 can be considered to be sufficiently faster than that of the position control unit 15, the response Q (s) of the control system can be approximated by the following equation (6).
Q (s) = 1 / (s / Kp + 1) (6)
As described above, the transfer function filter 13 may be set to the transfer function given by the following equation (7) or (8).
(1−Q (s)) · B (s) = (s / Kp) / (s / Kp + 1) (7)
(1−Q (s)) · B (s) = s / Kp (8)
[0023]
When C and K are sufficiently larger than JL and JM, Expression (1) can be approximated by Expression (9) below.
B (s) = 1 / {(C / K) s + 1} (9)
Therefore, a transfer function given by the following equation (10) or (11) may be set in the transfer function filter 13.
(1−Q (s)) · B (s) = (s / Kp)
/ [{C / (K · Kp)} s2+ {(C / K)
+ (1 / Kp)} s + 1] (10)
(1−Q (s)) · B (s) = s / [Kp {(C / K) s + 1}] (11)
[0024]
FIG. 4A shows the time response of the X-axis and the Y-axis when the robot is moved by giving a clockwise arc position command to two orthogonal X-Y axes, and FIG. The time response of the Y-axis command value near the quadrant switching is enlarged and displayed. The solid line indicates the position command value to which the backlash correction command value has been added, and the dotted line indicates the position command value before correction.
FIG. 4C illustrates a part of an arc when the feedback control is performed on the position command value without performing the backlash correction, with the error being enlarged and displayed. The solid line indicates the motion locus of the table 6, and the broken line indicates the motion locus of the servomotor 1. The movement trajectory of the table 6 indicated by the solid line is almost circular, but has a large protrusion at the lowermost end. This is a quadrant projection caused by a response delay.
FIG. 4D is an enlarged view of a part of the arc when the backlash correction is performed and the feedback control for the corrected position command is performed. The locus of the table 6 indicated by the solid line smoothly draws an arc even in the quadrant switching section.
[0025]
As is clear from the above, according to the first embodiment, when the control direction of the table 6 is reversed, the backlash correction command value is updated in accordance with the elapsed time from the occurrence of the reversal. Since the correction command value is added to the position command value and the rotation of the servo motor 1 for driving the table 6 is controlled based on the result of the addition, the elastic deformation that occurs when the moving direction of the table 6 is reversed is reduced. As a result, it is possible to compensate accurately, and as a result, there is an effect that the position θL of the table 6 can accurately follow the position command value θr.
[0026]
Further, according to the first embodiment, a correction torque amount for canceling the friction acting on the table 6 is determined in consideration of the control direction of the table 6, and a control signal of the servomotor 1 is generated in consideration of the correction torque amount. With such a configuration, even when the friction acting on the table 6 is large, there is an effect that the elastic deformation generated when the moving direction of the table 6 is reversed can be accurately compensated.
Further, according to the first embodiment, the transfer function filter 13 in which the transfer function from the friction acting on the table 6 to the deviation between the position θL of the table 6 and the position θM of the servomotor 1 is modeled. Is used to update the backlash correction command value, so that the elastic deformation that occurs when the moving direction of the table 6 is reversed does not need to be measured in advance by a sensor for the projection shape that occurs when no correction is made. Is achieved.
Further, according to the first embodiment, when the control direction of the table 6 is reversed, a predetermined amount of backlash is input to the transfer function filter 13, so that the table is not complicated. There is an effect that it is possible to accurately correct the elastic deformation that occurs when the moving direction of 6 is reversed.
[0027]
Embodiment 2 FIG.
5 is a block diagram showing a numerical control apparatus according to Embodiment 2 of the present invention. In the figure, the same reference numerals as those in FIG. 1 denote the same or corresponding parts, and a description thereof will be omitted.
The maximum backlash correction gain calculation unit 19 calculates a maximum backlash correction amount from the position command value generated by the position command generation unit 9 and adds the maximum backlash correction amount to the control direction signal output from the control direction detection unit 10. , And outputs the multiplication result to the transfer function filter 13 as a maximum backlash correction signal. The maximum backlash correction gain calculating section 19 constitutes a correction command value updating unit.
[0028]
FIG. 6 is an explanatory diagram illustrating a method of calculating the maximum backlash correction amount in the maximum backlash correction gain calculation unit 19.
The value of the dynamic friction F acting on the table 6 increases and decreases depending on the position, depending on how the machine is assembled. In the case of a structure in which the ball screw 4 is supported by bearings at both ends, dynamic friction is large at both ends, and is often small at the center. The relationship between the position command value θr and the dynamic friction F is measured in advance by a method of measuring a control current in the case of performing a constant-velocity linear motion, and is approximated by a function F (θr). In this case, for example, it is expressed by the following equation (12).
F (θr) = 1 / (a1 · θr + b1) + 1 / (a2 · θr + b2) (12)
Here, a1, a2, b1, and b2 are appropriate constants.
[0029]
The spring constant of the machine changes depending on the position. This is because the length from the servo motor 1 to the ball screw nut 5 changes depending on the position. The relationship between the position command value θr and the spring constant K is approximated by a function K (θr) based on the design data or measured values of the machine. In this case, for example, it is expressed by the following equation (13).
K (θr) = 1 / (a3 · θr + b3) (13)
Here, a3 and b3 are appropriate constants.
As described above, from the dynamic friction F (θr) and the spring constant K (θr) expressed as a function, the maximum backlash correction amount maxΔ is given by the following equation (14) as a function of the position command value θr.
maxΔ = F (θr) / K (θr) (14)
[0030]
Next, the operation will be described.
When receiving the position command value from the position command generator 9, the maximum backlash correction gain calculator 19 calculates a maximum backlash correction amount from the position command value.
For example, when the table 6 is at the end of the ball screw 4, the maximum backlash correction amount is increased as shown in FIG. 6, and when the table 6 is at the center of the ball screw 4, the maximum backlash correction amount is increased. Make it smaller.
Then, the maximum backlash correction gain calculator 19 receives the control direction signal from the control direction detector 10 and multiplies the control direction signal by the maximum backlash correction amount in the same manner as in the first embodiment. The result of the multiplication is output to the transfer function filter 13 as a maximum backlash correction signal.
[0031]
As is clear from the above, according to the second embodiment, the maximum backlash correction amount is calculated from the position command value generated by the position command generator 9 and the control direction signal output from the control direction detector 10 is calculated. Is multiplied by the maximum backlash correction amount, and the result of the multiplication is output to the transfer function filter 13. Therefore, when the elastic deformation generated when the moving direction of the table 6 is reversed changes according to the position. However, elastic deformation can be compensated with high accuracy, and as a result, the effect that the position θL of the table 6 can follow the position command value θr with high accuracy can be achieved.
[0032]
In the second embodiment, the relationship between the position command value θr and the maximum backlash correction amount maxΔ is represented by an approximation function. A similar effect can be obtained by using a calculation method of interpolating maxΔ.
[0033]
Embodiment 3 FIG.
FIG. 7 is a block diagram showing a numerical control apparatus according to Embodiment 3 of the present invention. In the figure, the same reference numerals as those in FIG.
The friction estimating unit 20 estimates the friction acting on the table 6 from the position command value generated by the position command generating unit 9 and the corrected current command value (control signal) generated by the adder 17, and outputs the estimated friction signal. I do. The maximum backlash correction gain calculation unit 21 calculates a maximum backlash correction amount from the estimated friction signal output from the friction estimation unit 20 and the position command value generated by the position command generation unit 9, and calculates the maximum backlash correction amount. Output to the transfer function type filter 13. The friction estimator 20 and the maximum backlash correction gain calculator 21 constitute a correction command value updating unit.
[0034]
The friction estimating unit 20 calculates the estimated friction F # acting on the table 6 based on the following equation (15).
F ^ = KT · i− {Jαr + Dωr + FM · sign (ωr)} (15)
Here, KT is a torque constant of the servo motor 1, i is a correction current command value including friction compensation, αr is an acceleration command value which is a second order differential value of the position command value θr, and ωr is a first order differential value of the position command value θr. , J (= JL + JM) is the total value of the moment of inertia of the mechanical system such as the table 6 and the servo motor 1, D is the total value of the viscous friction coefficient acting on the servo motor 1 and the table 6, and FM is the servo motor. The friction, sign (ωr), acting on 1 indicates a sign function that outputs “1” when ωr is positive and outputs “−1” when ωr is negative.
[0035]
The maximum backlash correction gain calculator 21 calculates the maximum backlash correction amount maxΔ based on the following equation (16).
maxΔ = F ^ / K (θr) (16)
Here, F ^ is the estimated friction output from the friction estimating unit 20, and K (θr) is a function representing the relationship between the position command value θr and the spring constant K.
[0036]
Next, the operation will be described.
Upon receiving the corrected current command value from the adder 17, the friction estimating unit 20 acts on the table 6 from the corrected current command value and the position command value generated by the position command generating unit 9 using Expression (15). Estimate the friction and output the estimated friction signal.
When receiving the estimated friction signal from the friction estimating unit 20, the maximum backlash correction gain calculating unit 21 calculates the maximum backlash from the estimated friction signal and the position command value generated by the position command generating unit 9 using Expression (16). The lash correction amount is calculated, and the maximum backlash correction amount is output to the transfer function filter 13.
[0037]
As is clear from the above, according to the third embodiment, the friction acting on the table 6 is estimated from the position command value generated by the position command generator 9 and the correction current command value generated by the adder 17. Since the maximum backlash correction amount is calculated from the estimated value and the position command value generated by the position command generation unit 9, and the maximum backlash correction amount is output to the transfer function filter 13, the table 6 is used. Even if the elastic deformation that occurs when the direction of movement of the motor changes is changed according to operating conditions such as position, speed, moving distance, arc radius, lubrication state of machine, and temperature, elastic deformation can be compensated with high accuracy. As a result, there is an effect that the position θL of the table 6 can be made to follow the position command value θr with high accuracy.
[0038]
Embodiment 4 FIG.
FIG. 8 is a block diagram showing a numerical control apparatus according to Embodiment 4 of the present invention. In the figure, the same reference numerals as those in FIG.
The friction compensation value calculation unit 22 multiplies the control direction signal output from the control direction detection unit 10 by the estimated friction signal output from the friction estimation unit 20, and sets the multiplication result as a current command correction value corresponding to the correction torque amount. Output to the adder 17. Note that the friction compensation value calculation unit 22 constitutes a control unit.
[0039]
Next, the operation will be described.
When receiving the control direction signal from the control direction detection unit 10, the friction compensation value calculation unit 22 multiplies the control direction signal by the estimated friction signal F # output from the friction estimation unit 20, and calculates the multiplication result as a correction torque amount. Is output to the adder 17 as a current command correction value corresponding to.
The adder 17 adds the current command value generated by the speed controller 16 and the current command correction value output from the friction compensation value calculator 22 to generate a corrected current command value.
[0040]
As is clear from the above, according to the fourth embodiment, the control direction signal output from control direction detection section 10 is multiplied by the estimated friction signal output from friction estimation section 20 and the multiplication result is corrected torque. Since the configuration is such that the current command correction value corresponding to the amount is output to the adder 17, the amount of friction acting on the table 6 depends on the operating conditions such as the position, speed, moving distance, arc radius, lubrication state of the machine, and temperature. Even if it changes accordingly, elastic deformation can be compensated with high accuracy, and as a result, there is an effect that the position θL of the table 6 can follow the position command value θr with high accuracy.
[0041]
【The invention's effect】
As described above, according to the present invention, when the control direction of the control target is reversed, the correction command value updating means for updating the backlash correction command value in accordance with the elapsed time since the inversion is provided, The configuration is such that the backlash correction command value updated by the correction command value updating means is added to the position command value, and the rotation of the motor driving the control target is controlled based on the addition result. There is an effect that the elastic deformation that occurs when the moving direction is reversed can be accurately compensated.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a numerical control device according to Embodiment 1 of the present invention.
FIG. 2 is an explanatory diagram illustrating elastic deformation generated between a servomotor and a table.
FIG. 3 is a block diagram showing a control system of the numerical control device according to the first embodiment.
FIG. 4 is an explanatory diagram illustrating an effect of suppressing a quadrant projection.
FIG. 5 is a configuration diagram showing a numerical control device according to a second embodiment of the present invention.
FIG. 6 is an explanatory diagram illustrating a method of calculating a maximum backlash correction amount in a maximum backlash correction gain calculation unit.
FIG. 7 is a configuration diagram showing a numerical control device according to Embodiment 3 of the present invention.
FIG. 8 is a configuration diagram showing a numerical control device according to Embodiment 4 of the present invention.
[Explanation of symbols]
Reference Signs List 1 servo motor, 2 encoder, 3 coupling, 4 ball screw, 5 ball screw nut, 6 table, 7 linear scale, 8 linear scale head, 9 position command generator, 10 control direction detector (control direction detector), 11 friction Compensation gain section (control means), 12 maximum backlash correction gain section (correction command value updating means), 13 transfer function type filter (correction command value updating means), 14 adder (control means), 15 position control section (control) Means, 16 speed control section (control means), 17 adder (control means), 18 current control section (control means), 19 maximum backlash correction gain calculation section (correction command value updating means), 20 friction estimation section ( Correction command value updating means), 21 maximum backlash correction gain calculating section (correction command value updating means), 22 friction compensation value calculation Outlet (control means).

Claims (7)

制御対象の位置指令値を監視して当該制御対象の制御方向を検出する制御方向検出手段と、上記制御方向検出手段により検出された制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新する補正指令値更新手段と、上記補正指令値更新手段により更新されたバックラッシュの補正指令値を上記位置指令値に加算し、その加算結果に基づいて上記制御対象を駆動するモータの回転を制御する制御手段とを備えた数値制御装置。A control direction detecting means for monitoring a position command value of the control object to detect a control direction of the control object, and an elapsed time since the inversion occurs when the control direction detected by the control direction detection means is inverted. Correction command value updating means for updating the backlash correction command value in accordance with, and adding the backlash correction command value updated by the correction command value updating means to the position command value, based on the addition result. A numerical control device comprising: a control unit that controls rotation of a motor that drives the control target. 制御手段は、制御方向検出手段により検出された制御方向を考慮して制御対象に作用する摩擦を打ち消す補正トルク量を求め、その補正トルク量を考慮してモータの制御信号を生成することを特徴とする請求項1記載の数値制御装置。The control means determines a correction torque amount for canceling friction acting on the controlled object in consideration of the control direction detected by the control direction detection means, and generates a motor control signal in consideration of the correction torque amount. The numerical control device according to claim 1, wherein 補正指令値更新手段は、制御対象に作用する摩擦から、その制御対象の位置とモータの位置との偏差に至るまでの伝達関数がモデル化された伝達関数型フィルタを用いてバックラッシュの補正指令値を更新することを特徴とする請求項1記載の数値制御装置。The correction command value updating means uses a transfer function type filter in which a transfer function from friction acting on the controlled object to a deviation between the position of the controlled object and the position of the motor is corrected using a transfer function type filter. The numerical controller according to claim 1, wherein the value is updated. 補正指令値更新手段は、制御方向検出手段により検出された制御方向が反転すると、所定のバックラッシュ量を伝達関数型フィルタに入力することを特徴とする請求項3記載の数値制御装置。4. The numerical controller according to claim 3, wherein the correction command value updating means inputs a predetermined amount of backlash to the transfer function type filter when the control direction detected by the control direction detecting means is reversed. 補正指令値更新手段は、制御方向検出手段により検出された制御方向が反転すると、制御対象の位置指令値に対応するバックラッシュ量を伝達関数型フィルタに入力することを特徴とする請求項3記載の数値制御装置。4. The correction command value updating means, when the control direction detected by the control direction detecting means is reversed, inputs a backlash amount corresponding to a position command value of a control target to a transfer function type filter. Numerical control device. 補正指令値更新手段は、制御対象の位置指令値とモータの制御信号から当該制御対象に作用する摩擦を推定し、制御方向検出手段により検出された制御方向が反転すると、その摩擦の推定値と当該制御対象の位置指令値からバックラッシュ量を算出して、そのバックラッシュ量を伝達関数型フィルタに入力することを特徴とする請求項3記載の数値制御装置。The correction command value updating means estimates the friction acting on the control target from the position command value of the control target and the control signal of the motor, and when the control direction detected by the control direction detection means reverses, the estimated value of the friction and 4. The numerical controller according to claim 3, wherein a backlash amount is calculated from the position command value of the control target, and the backlash amount is input to a transfer function type filter. 制御手段は、制御対象の位置指令値とモータの制御信号から当該制御対象に作用する摩擦を推定し、その摩擦の推定値から補正トルク量を求めることを特徴とする請求項2記載の数値制御装置。3. The numerical control according to claim 2, wherein the control means estimates friction acting on the control object from a position command value of the control object and a control signal of the motor, and obtains a correction torque amount from the estimated value of the friction. apparatus.
JP2003020482A 2003-01-29 2003-01-29 Numerical controller Expired - Lifetime JP4361285B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003020482A JP4361285B2 (en) 2003-01-29 2003-01-29 Numerical controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003020482A JP4361285B2 (en) 2003-01-29 2003-01-29 Numerical controller

Publications (2)

Publication Number Publication Date
JP2004234205A true JP2004234205A (en) 2004-08-19
JP4361285B2 JP4361285B2 (en) 2009-11-11

Family

ID=32950105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003020482A Expired - Lifetime JP4361285B2 (en) 2003-01-29 2003-01-29 Numerical controller

Country Status (1)

Country Link
JP (1) JP4361285B2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010214560A (en) * 2009-03-18 2010-09-30 Denso Wave Inc Robot control device
JP2010215213A (en) * 2009-03-16 2010-09-30 Hyundai Motor Co Ltd Method for reducing vibration caused by gear backlash in drive system for hybrid vehicle
CN102298394A (en) * 2010-06-28 2011-12-28 北京北方微电子基地设备工艺研究中心有限责任公司 Method and device for improving operation accuracy of electric cylinder and electric cylinder
WO2012057219A1 (en) 2010-10-27 2012-05-03 株式会社牧野フライス製作所 Numerical control method of machine tool, and numerical control device
WO2013031465A1 (en) 2011-09-01 2013-03-07 株式会社神戸製鋼所 Control method and control device
JP2014109785A (en) * 2012-11-30 2014-06-12 Fanuc Ltd Servo controller with position correction function for driven body
CN103872973A (en) * 2012-12-14 2014-06-18 发那科株式会社 Servo controller for correcting position error when moving member reverses
WO2015114861A1 (en) * 2014-01-31 2015-08-06 株式会社牧野フライス製作所 Machining method and machine-tool control device
JP2016004316A (en) * 2014-06-13 2016-01-12 ファナック株式会社 Motor control device for controlling motor
CN105487484A (en) * 2014-10-07 2016-04-13 发那科株式会社 Motor control appratus
JP2016224495A (en) * 2015-05-27 2016-12-28 オークマ株式会社 Position control device
US9658608B2 (en) 2013-03-14 2017-05-23 Mitsubishi Electric Corporation Servo control apparatus
JP6333495B1 (en) * 2016-10-17 2018-05-30 三菱電機株式会社 Servo control device
CN116300687A (en) * 2023-05-11 2023-06-23 深圳市正和楚基科技有限公司 Machining precision prediction method, system and medium based on numerical control machining

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010215213A (en) * 2009-03-16 2010-09-30 Hyundai Motor Co Ltd Method for reducing vibration caused by gear backlash in drive system for hybrid vehicle
JP2010214560A (en) * 2009-03-18 2010-09-30 Denso Wave Inc Robot control device
CN102298394A (en) * 2010-06-28 2011-12-28 北京北方微电子基地设备工艺研究中心有限责任公司 Method and device for improving operation accuracy of electric cylinder and electric cylinder
JP5506945B2 (en) * 2010-10-27 2014-05-28 株式会社牧野フライス製作所 Numerical control method and numerical control device for machine tool
US9477218B2 (en) 2010-10-27 2016-10-25 Makino Milling Machine Co., Ltd. Numerical control method and numerical control device of machine tool
WO2012057219A1 (en) 2010-10-27 2012-05-03 株式会社牧野フライス製作所 Numerical control method of machine tool, and numerical control device
WO2013031465A1 (en) 2011-09-01 2013-03-07 株式会社神戸製鋼所 Control method and control device
JP2013054436A (en) * 2011-09-01 2013-03-21 Kobe Steel Ltd Control method and controller
KR101522511B1 (en) * 2011-09-01 2015-05-21 가부시키가이샤 고베 세이코쇼 Control method and control device
US9874865B2 (en) 2011-09-01 2018-01-23 Kobe Steel, Ltd. Control method and control device
JP2014109785A (en) * 2012-11-30 2014-06-12 Fanuc Ltd Servo controller with position correction function for driven body
US10247301B2 (en) 2012-11-30 2019-04-02 Fanuc Corporation Servo control system with position compensation function for driven member
CN103872973A (en) * 2012-12-14 2014-06-18 发那科株式会社 Servo controller for correcting position error when moving member reverses
JP2014119853A (en) * 2012-12-14 2014-06-30 Fanuc Ltd Servo controller for correcting position error when moving body turns around
US9152142B2 (en) 2012-12-14 2015-10-06 Fanuc Corporation Servo controller for correcting position error when moving member reverses
US9658608B2 (en) 2013-03-14 2017-05-23 Mitsubishi Electric Corporation Servo control apparatus
JP6076507B2 (en) * 2014-01-31 2017-02-08 株式会社牧野フライス製作所 Machining method and machine tool control device
WO2015114861A1 (en) * 2014-01-31 2015-08-06 株式会社牧野フライス製作所 Machining method and machine-tool control device
US10146204B2 (en) 2014-01-31 2018-12-04 Makino Milling Machine Co., Ltd. Machining method and a control device for a machine tool
US9541916B2 (en) 2014-06-13 2017-01-10 Fanuc Corporation Motor control apparatus for controlling motor
CN105320061A (en) * 2014-06-13 2016-02-10 发那科株式会社 Motor control apparatus for controlling motor
JP2016004316A (en) * 2014-06-13 2016-01-12 ファナック株式会社 Motor control device for controlling motor
DE102015007132B4 (en) * 2014-06-13 2016-12-01 Fanuc Corporation Motor controller
CN105487484A (en) * 2014-10-07 2016-04-13 发那科株式会社 Motor control appratus
US9760082B2 (en) 2014-10-07 2017-09-12 Fanuc Corporation Motor control apparatus for compensating reverse delay of motor
JP2016224495A (en) * 2015-05-27 2016-12-28 オークマ株式会社 Position control device
JP6333495B1 (en) * 2016-10-17 2018-05-30 三菱電機株式会社 Servo control device
CN116300687A (en) * 2023-05-11 2023-06-23 深圳市正和楚基科技有限公司 Machining precision prediction method, system and medium based on numerical control machining
CN116300687B (en) * 2023-05-11 2023-08-08 深圳市正和楚基科技有限公司 Machining precision prediction method, system and medium based on numerical control machining

Also Published As

Publication number Publication date
JP4361285B2 (en) 2009-11-11

Similar Documents

Publication Publication Date Title
TWI514099B (en) Servo control device
JP5096019B2 (en) Servo motor control device
JP4361285B2 (en) Numerical controller
JP7117827B2 (en) MOTOR CONTROL SYSTEM, CONTROL METHOD FOR MOTOR CONTROL SYSTEM, AND ROBOT SYSTEM
JP6091523B2 (en) Servo control device
WO2013031465A1 (en) Control method and control device
JP6457569B2 (en) Servo motor control device, servo motor control method, and servo motor control program
JP6051970B2 (en) Numerical controller and friction compensation method
JP2005056254A (en) Device and method for controlling position of machine tool
JP6834528B2 (en) Control devices, control programs and control systems
JP6370866B2 (en) Servo motor control device, servo motor control method, and servo motor control program
JP5836206B2 (en) Servo control device
JP4183057B2 (en) Numerical control system
JP6568035B2 (en) Servo motor control device, servo motor control method, and servo motor control program
JP2006293624A (en) Multiaxis controller
JP7135483B2 (en) electric motor controller
JP6333495B1 (en) Servo control device
JP2001202136A (en) Method for correcting dynamic deflection of motion controller and the motion controller
JP5660482B2 (en) Control method and control device for feed drive system of machine tool
JP2003076425A (en) Control device for feeding driving system
JP2003047269A (en) Servo controller
JP4507071B2 (en) Motor control device
JP2790634B2 (en) Exercise machine control device
JP2706743B2 (en) Control method of belt transmission mechanism
JP2021136824A (en) Motor controller, motor control system, and motor control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071101

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071101

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080428

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080620

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4361285

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: 20120821

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term