(58)【調査した分野】(Int.Cl.,DB名)
ボール螺子軸と該ボール螺子軸に螺合するボールナットとを有し該ボールナットに固定した移動体を移動する送り機構と、前記ボール螺子軸を回転駆動するモータと、前記モータを制御して前記移動体の位置を指定する位置指令を生成する制御手段と、前記制御手段が生成した前記位置指令に従い、前記モータを制御するモータ制御手段と、前記移動体の移動方向が反転した後に前記送り機構の弾性変形に起因して生じるロストモーションを補償する補償量を演算する演算手段と、前記演算手段が演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算手段とを備えた数値制御装置において、
前記位置指令に対応する前記移動体の実位置を推定する実位置推定手段と、
前記実位置推定手段が推定した前記実位置を前記移動体の前記移動方向が反転した後の変位量として算出する算出手段と
を備え、
前記演算手段は、
前記算出手段が算出する前記変位量を変数とし、
前記移動体の前記移動方向が反転してから次回反転するまでに生じる複数のロストモーションを夫々補償する為に設定する複数の補償量と、
前記複数の補償量の前記変位量に対する夫々の傾きと、
前記演算手段による前記移動体の前記移動方向が反転したときの前回の最終補償量と、
前記移動体の前記移動方向が反転したときの前記移動体の前回の変位量と
に基づく複数の近似式を用いて前記補償量を演算することを特徴とする数値制御装置。
ボール螺子軸と該ボール螺子軸に螺合するボールナットとを有し該ボールナットに固定した移動体を移動する送り機構と、前記ボール螺子軸を回転駆動するモータとを備えた数値制御装置よって行われ、前記モータを制御して前記移動体の位置を指定する位置指令を生成する制御工程と、前記制御工程で生成した前記位置指令に従い、前記モータを制御するモータ制御工程と、前記移動体の移動方向が反転した後に前記送り機構の弾性変形に起因して生じるロストモーションを補償する補償量を演算する演算工程と、前記演算工程で演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算工程とを備えたロストモーション補償方法において、
前記位置指令に対応する前記移動体の実位置を推定する実位置推定工程と、
前記実位置推定工程で推定した前記実位置を前記移動体の前記移動方向が反転した後の変位量として算出する算出工程と
を備え、
前記演算工程では、
前記算出手段が算出する前記変位量を変数とし、
前記移動体の前記移動方向が反転してから次回反転するまでに生じる複数のロストモーションを夫々補償する為に設定する複数の補償量と、
前記複数の補償量の前記変位量に対する夫々の傾きと、
前記演算手段による前記移動体の前記移動方向が反転したときの前回の最終補償量と、
前記移動体の前記移動方向が反転したときの前記移動体の前回の変位量と
に基づく複数の近似式を用いて前記補償量を演算することを特徴とするロストモーション補償方法。
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1は、線形の近似式を組み合わせる手法であるので、立ち上がり形状を滑らかに近似できないという問題点があった。特許文献2は、指数関数を用いるので、立ち上がり形状を滑らかに近似することはできるが、反転後の距離が長くなるにつれて、ずれ幅が大きくなり近似できないという問題点があった。
【0007】
本発明の目的は、軸移動の移動方向の反転後に生じるロストモーションを精度良く補償できる数値制御装置とロストモーション補償方法を提供することである。
【課題を解決するための手段】
【0008】
本発明の請求項1に係る数値制御装置は、ボール螺子軸と該ボール螺子軸に螺合するボールナットとを有し該ボールナットに固定した移動体を移動する送り機構と、前記ボール螺子軸を回転駆動するモータと、前記モータを制御して前記移動体の位置を指定する位置指令を生成する制御手段と、前記制御手段が生成した前記位置指令に従い、前記モータを制御するモータ制御手段と、前記移動体の移動方向が反転した後に前記送り機構の弾性変形に起因して生じるロストモーションを補償する補償量を演算する演算手段と、前記演算手段が演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算手段とを備えた数値制御装置において、前記位置指令に対応する前記移動体の実位置を推定する実位置推定手段と、前記実位置推定手段が推定した前記実位置を前記移動体の前記移動方向が反転した後の変位量として算出する算出手段とを備え、前記演算手段は、前記算出手段が算出する前記変位量を変数とし、前記移動体の前記移動方向が反転してから次回反転するまでに生じる複数のロストモーションを夫々補償する為に設定する複数の補償量と、前記複数の補償量の前記変位量に対する夫々の傾きと、前記演算手段による前記移動体の前記移動方向が反転したときの前回の最終補償量と、前記移動体の前記移動方向が反転したときの前記移動体の前回の変位量とに基づく複数の近似式を用いて前記補償量を演算することを特徴とする。それ故、数値制御装置は、移動体の移動方向の反転後に緩やかに生じるロストモーションを複数の近似式を用いて補償するので、ロストモーションを精度良く補償できる。
【0009】
請求項2に係る発明の数値制御装置は、請求項1に記載の発明の構成に加え、前記複数の近似式はtanh関数を用いた近似式を含んでもよい。数値制御装置は、tanh関数を用いた近似式を用いることで、緩やかに生じるロストモーションをより精度良く補償できる。
【0010】
請求項3に係る発明の数値制御装置は、請求項2に記載の発明の構成に加え、前記移動体はマイナス方向とプラス方向に往復移動可能であって、
前記演算手段は、第1近似式であるP
1と第2近似式であるP
2を備え、
さらに、前記算出手段が算出する前記変位量を
x'、
所定量b2の大きさに応じて変化する前記変位量のパラメータをx't、前記移動体の前記移動方向が反転した時から生じる第一ロストモーションを補償する第一補償量をP
c1、x'
tが
前記所定量b
2に達した時から生じる第二ロストモーションを補償する第二補償量をP
c2、前記第一補償量のx'
tに対する傾きの立ち上がり係数をa
1、前記第二補償量のx'
tに対する傾きの立ち上がり係数をa
2、前記前回の最終補償量をP
bm、前記前回の変位量をx
bmとし、
b
2=0 ならば x'
t=x'
b
2>x
bm ならば x'
t=x'(b
2/x
bm)
b
2≦x
bm ならば x'
t=x'
とした上で、前記移動体の前記移動方向が前記マイナス方向から前記プラス方向に反転する時に、|P
bm|<P
c2である場合、
P
1=P
c1+P
c2−|P
bm|
P
2=|P
bm|tanh(x'
t/a
2)
であって、P
1で算出した値とP
2で算出した値とを加算したものを前記補償量として演算することを特徴とする。それ故、数値制御装置は、移動体の移動方向がマイナス方向からプラス方向に反転する時に、|P
bm|<P
c2である場合に、ロストモーションを精度よく演算できる。
【0011】
請求項4に係る発明の数値制御装置は、請求項3に記載の発明の構成に加え、前記移動体の前記移動方向が前記マイナス方向から前記プラス方向に反転する時に、|P
bm|>P
c2である場合、x'
tがb
2を超えるまでは、
P
1=(|P
bm|−P
c2)tanh(x'
t/a
1)
で算出した値を前記補償量とし、x'
tがb
2を超えた場合は、
P
2=P
c2tanh{(x'
t−b
2)/a
2}
で算出した値をP
1で算出した値に加算したものを前記補償量として演算することを特徴とする。それ故、数値制御装置は、移動体の移動方向がマイナス方向からプラス方向に反転する時に、|P
bm|>P
c2である場合に、ロストモーションを精度よく演算できる。
【0012】
請求項5に係る発明の数値制御装置は、請求項3又は4に記載の発明の構成に加え、前記移動体の前記移動方向が前記プラス方向から前記マイナス方向に反転する時に、|P
bm|>P
c2である場合、x'
tがb
2を超えるまでは、
P
1=−(|P
bm|−P
c2)tanh(x'
t/a
1)
で算出した値を前記補償量とし、x'
tがb
2を超えた場合は、
P
2=−P
c2tanh{(x'
t−b
2)/a
2}
で算出した値をP
1で算出した値に加算したものを前記補償量として演算することを特徴とする。それ故、数値制御装置は、移動体の移動方向がプラス方向からマイナス方向に反転する時に、|P
bm|>P
c2である場合に、ロストモーションを精度よく演算できる。
【0013】
請求項6に係る発明の数値制御装置は、請求項5に記載の発明の構成に加え、前記移動体の前記移動方向が前記プラス方向から前記マイナス方向に反転する時に、|P
bm|<P
c2である場合、
P
1=−P
c1−P
c2+|P
bm|
P
2=−|P
bm|tanh(x'
t/a
2)
であって、P1で算出した値とP2で算出した値とを加算したものを前記補償量として演算することを特徴とする。それ故、数値制御装置は、移動体の移動方向がプラス方向からマイナス方向に反転する時に、|P
bm|<P
c2である場合に、ロストモーションを精度よく演算できる。
【0014】
請求項7に係る発明のロストモーション補償方法は、ボール螺子軸と該ボール螺子軸に螺合するボールナットとを有し該ボールナットに固定した移動体を移動する送り機構と、前記ボール螺子軸を回転駆動するモータとを備えた数値制御装置よって行われ、前記モータを制御して前記移動体の位置を指定する位置指令を生成する制御工程と、前記制御工程で生成した前記位置指令に従い、前記モータを制御するモータ制御工程と、前記移動体の移動方向が反転した後に前記送り機構の弾性変形に起因して生じるロストモーションを補償する補償量を演算する演算工程と、前記演算工程で演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算工程とを備えたロストモーション補償方法において、前記位置指令に対応する前記移動体の実位置を推定する実位置推定工程と、前記実位置推定工程で推定した前記実位置を前記移動体の前記移動方向が反転した後の変位量として算出する算出工程とを備え、前記演算工程では、前記算出手段が算出する前記変位量を変数とし、前記移動体の前記移動方向が反転してから次回反転するまでに生じる複数のロストモーションを夫々補償する為に設定する複数の補償量と、前記複数の補償量の前記変位量に対する夫々の傾きと、前記演算手段による前記移動体の前記移動方向が反転したときの前回の最終補償量と、前記移動体の前記移動方向が反転したときの前記移動体の前回の変位量とに基づく複数の近似式を用いて前記補償量を演算することを特徴とする。数値制御装置は上記方法を行うことで、移動体の移動方向の反転後に緩やかに生じるロストモーションを複数の近似式を用いて補償するので、ロストモーションを精度良く補償できる。
【発明を実施するための形態】
【0016】
本発明の一実施形態を図面を参照して説明する。
図1に示すテーブル機構20はテーブル3をX軸方向とY軸方向に移動可能に支持する。工作機械の主軸(図示略)はZ軸方向に昇降可能である。数値制御装置1はNCプログラムが指定する経路に従い、主軸とテーブル機構20の動作を制御し、テーブル3上に治具で固定したワーク(図示略)の切削加工を行う。なお、
図1の左斜め下方、右斜め上方、右斜め下方、左斜め上方は、夫々、テーブル機構20の前方、後方、右方、左方である。テーブル機構20の左右方向、前後方向、上下方向は、夫々、X軸方向、Y軸方向、Z軸方向である。
【0017】
図1を参照し、テーブル機構20の構造を説明する。テーブル機構20は基台2、中間テーブル50、テーブル3を備える。基台2は上面に中間テーブル50をY軸方向に移動可能に支持する。中間テーブル50は上面にテーブル3をX軸方向に移動可能に支持する。故にテーブル3は基台2を基準にX軸方向とY軸方向に移動可能となる。
【0018】
基台2は上面に一対のリニアガイド6A、ボール螺子軸4A、モータ2A等を備える。リニアガイド6AはY軸方向に延出する。リニアガイド6Aは中間テーブル50をY軸方向に案内する。ボール螺子軸4Aは一対のリニアガイド6Aの間にY軸方向に平行に設ける。中間テーブル50は下面に第1ボールナット(図示略)を固定する。ボール螺子軸4Aは第1ボールナットに挿入する。モータ2Aはボール螺子軸4Aを回転する。ボール螺子軸4Aが回転すると、中間テーブル50は第1ボールナットを介してY軸方向に移動する。
【0019】
中間テーブル50はX軸方向に長手を有する板状である。中間テーブル50は上面に一対のリニアガイド6B、ボール螺子軸4B、モータ2B等を備える。リニアガイド6BはX軸方向に延出する。リニアガイド6Bはテーブル3をX軸方向に案内する。ボール螺子軸4Bは一対のリニアガイド6Bの間にX軸方向に平行に設ける。テーブル3は下面に第2ボールナット(図示略)を固定する。ボール螺子軸4Bは第2ボールナットに挿入する。モータ2Bはボール螺子軸4Bを回転する。ボール螺子軸4Bが回転すると、テーブル3は第2ボールナットを介してX軸方向に移動する。従って、テーブル機構20はテーブル3をX軸方向とY軸方向に移動できる。
【0020】
数値制御装置1はモータ2A、2Bに夫々接続する。数値制御装置
1はモータ2A,2Bを駆動して、テーブル3をX軸方向とY軸方向に移動する。ボール螺子軸4A、4B、第1ボールナット、第2ボールナットはモータ2A、2Bの回転運動を二軸方向におけるテーブル3の直進運動に変換する。数値制御装置
1はモータ2A、2Bを制御し、テーブル3の位置、速度、加速度を制御する。ロータリーエンコーダ60(以下、エンコーダ60という)はモータ2A、2Bに夫々取り付ける。エンコーダ60はモータ2A、2Bの各位置(回転角)を検出する。数値制御装置1はテーブル3の位置を、モータ2A,2Bの各位置、ボール螺子軸4A、4Bのピッチ(螺子山の間隔)に基づいて算出する。
【0021】
図2を参照し、数値制御装置1の構成を説明する。数値制御装置1は、上位制御部10、位置制御器11、速度制御器12、補償器13、電流制御増幅器15、微分器16、加算器17等を備える。上位制御部10はNCプログラムに基づき、位置指令信号を位置制御器11に出力する。各エンコーダ60はモータ2A、2Bの位置検出信号を位置制御器11に出力する。位置制御器11は位置指令信号と位置検出信号が一致するように速度指令信号を生成し速度制御器12に出力する。微分器16は位置検出信号を速度検出信号に変換し速度制御器12に加える。速度制御器12は速度指令信号と速度検出信号とが一致するようにトルク指令信号を生成し、電流制御増幅器15に出力する。
【0022】
補償器13は上位制御部10からの位置指令信号に基づき、ロストモーション補償信号を生成する。加算器17はロストモーション補償信号を上位制御部10が位置制御器11に出力した位置指令信号に加算する。故に位置制御器11はロストモーション補償した位置指令信号と位置検出信号が一致するようにトルク指令信号を生成する。速度制御器12はロストモーション補償したトルク指令信号を生成する。電流制御増幅器15はトルク指令信号にできる限り忠実なトルクを発生するようにモータ2A、2Bの電流を制御する。
【0023】
図3を参照し、補償器13の構成を説明する。補償器13は、実位置推定部21、微分器22、符号反転検出部23、積分器24、第一補償部26、第二補償部27、加算器29を少なくとも備える。第一、第二補償部26,27は絶対値算出部と極性算出部とを更に内蔵する。絶対値算出部は入力した信号の絶対値を求める。極性算出部は入力した信号の時間微分した信号の極性を求める。
【0024】
上位制御部10は位置指令信号を実位置推定部21に入力する。実位置推定部21はテーブル3の送り運動を行うサーボ制御系のモデルを用いる。実位置推定部21は位置指令信号に対応するテーブル3の実位置を推定して実位置信号を生成する。実位置推定部21は例えば一次遅れ要素等で構成しても良い。微分器22は実位置推定部21に接続する。微分器22は実位置信号を微分して速度信号を出力する。
【0025】
符号反転検出部23と積分器24は微分器22に接続する。符号反転検出部23は速度信号の符号反転を検出する。符号反転検出部23はリセット信号を出力する。積分器24は速度信号を積分して実位置信号を復元する。積分器24は符号反転検出部23が出力するリセット信号毎に積分値を零にリセットする。積分器24はテーブル3が移動方向を反転した位置からの変位信号を生成する。
【0026】
第一補償部26と第二補償部27は積分器24に接続する。第一補償部26は、変位信号と後述する第1近似式を用いて補償量Aを求める。第二補償部27は、変位信号と後述する第2近似式を用いて補償量Bを求める。本実施形態は、第1近似式をP
1、第2近似式をP
2とする。加算器29は第一補償部26と第二補償部27に夫々接続する。加算器29は補償量Aと補償量Bを加算しロストモーション補償信号を生成して加算器17(
図2参照)に出力する。加算器17はロストモーション補償信号を位置指令信号に加算する。故に位置制御器11はロストモーション補償した位置指令信号を受信できる。
【0027】
図4を参照し、ロストモーションの形状を説明する。
図4は、テーブル3がA地点から+方向に移動し、B地点を通過してC地点に移動するまでのロストモーション補償量(以下、補償量という)の変化を示すグラフである。電源投入後、テーブル3の移動方向は不明である。故に本実施形態はテーブル3が移動する一方向を+(プラス)方向、その反対方向を−(マイナス)方向とする。A地点は前回の移動で移動方向が−方向から+方向に反転した地点である。C地点は補償量が最大となる地点である。
【0028】
本実施形態は、テーブル3の移動方向の反転後に生じるロストモーションは少なくとも2つの成分が合成されて生じるものと仮定する。一方の成分はテーブル3の移動方向が反転した直後から増加する第1ロストモーションである。他方の成分はテーブル3の移動方向が反転してから所定量(後述するb
2)遅れて開始する第2ロストモーションである。故にA地点からC地点に至るまでの補償量は所定量ずれて二段階で増加する。一山目はA地点からB地点まで、二山目はB地点からC地点までである。本実施形態は、第1ロストモーションの補償量を第1補償量、第2ロストモーションの補償量を第2補償量とする。
【0029】
次に、補償量の算出方法を説明する。上記のように、補償量はP
1とP
2で算出した補償量Aと補償量Bを加算した値である。P
1とP
2に用いる各種パラメータは以下の通りである。
・P
c1=第1補償量[mm]
・P
c2=第2補償量[mm]
・a
1=第1ロストモーションの立ち上がり係数
・a
2=第2ロストモーションの立ち上がり係数
・b
2=第2ロストモーション開始の遅れ位置[mm]
・x'=移動方向の反転位置からの変位[mm]
・x'
t=b
2の大きさに応じて変化するパラメータ
・P
bm=前回(反転前)の最終補償量[mm]
・x
bm=前回(反転前)の変位量[mm]
なお、x'は正の値である。これら各種パラメータのうち、P
c1、P
c2、a
1、a
2、b
2は、後述する試験2の手法によって予め決定しておく。
【0030】
x'
tはb
2の大きさに応じて以下の通りとする。
b
2=0 ならば x'
t=x'
b
2>x
bm ならば x'
t=x'(b
2/x
bm)
b
2≦x
bm ならば x'
t=x'
【0031】
図4に示すように、A地点からB地点までの変位量はb
2である。A地点からB地点までの一山目の補償量はP
c1である。B地点からC地点までの二山目の補償量はP
c2である。
【0032】
P
1とP
2は、テーブル3の移動方向が反転した位置における前回の最終補償量P
bmと、前回の変位量x
bmとによって夫々異なる。以下、各場面に分けて順に説明する。
【0033】
[場面1:−方向から+方向に反転、|P
bm|<P
c2、b
2>x
bm]
図5に示すように、場面1は、テーブル3がC地点からD地点に−方向に移動後、D地点で反転して+方向に移動する場合である。前回の移動はC地点からD地点までの移動である。P
bmは前回のD地点での補償量である。x
bmはC地点からD地点までの変位量である。場面1では、|P
bm|<P
c2である。更に、C地点からD地点までの変位量が小さいので、b
2>x
bmである。このような場面1で用いるP
1とP
2は以下の通りである。
・P
1=P
c1+P
c2−|P
bm|
・P
2=|P
bm|tanh(x'
t/a
2)
補償量は、P
1で算出した補償量Aと、P
2で算出した補償量Bとを加算した値である。なお、b
2>x
bmであるから、x'
t=x'(b
2/x
bm)である。
【0034】
[場面2:−方向から+方向に反転、|P
bm|>P
c2、b
2<x
bm]
図6に示すように、場面2は、テーブル3がC地点からD地点を通過してE地点まで−方向に移動後、E地点で反転して+方向に移動する場合である。前回の移動はC地点からE地点までの移動である。P
bmは前回のE地点での補償量である。x
bmはC地点からE地点までの変位量である。場面2では、|P
bm|>P
c2である。更に、C地点からE地点までの変位量が大きいので、b
2<x
bmである。このような場面2で用いるP
1とP
2は以下の通りである。
・P
1=(|P
bm|−P
c2)tanh(x'
t/a
1)
・P
2=P
c2tanh{(x'
t−b
2)/a
2}
但し、x'
tがb
2を超えるまでは、補償量はP
1で算出した補償量Aである。x'
tがb
2を超えた場合、補償量は、P
1で算出した補償量Aと、P
2で算出した補償量Bとを加算した値である。なお、b
2<x
bmであるから、x'
t=x'である。
【0035】
[場面3:−方向から+方向に反転、|P
bm|>P
c2、b
2>x
bm、前回反転位置の|P
bm|<P
c1]
図7に示すように、場面3は、テーブル3がA地点からB地点まで+方向に移動し、B地点から−方向への移動が反転しきらずに、更にC地点で反転して+方向に移動する場合である。B地点は前回反転位置、C地点は今回反転位置である。P
bmは前回のC地点での補償量である。x
bmはB地点からC地点までの変位量である。場面3でも、場面2と同様に、|P
bm|>P
c2である。B地点からC地点までの変位量は小さいので、b
2>x
bmである。このような場面3で用いるP
1とP
2は、場面2と同様に以下の通りである。
・P
1=(|P
bm|−P
c2)tanh(x'
t/a
1)
・P
2=P
c2tanh{(x'
t−b
2)/a
2}
但し、x'
tがb
2を超えるまでは、補償量はP
1で算出した補償量Aである。x'
tがb
2を超えた場合、補償量は、P
1で算出した補償量Aと、P
2で算出した補償量Bとを加算した値である。
【0036】
ここで、場面3では、前回反転位置であるB地点の|P
bm|はP
c1より小さい。x
bmの一般的な定義は、前回反転位置から今回反転位置までの変位量である。但し、前回反転位置の|P
bm|がP
c1より小さい場合、x
bmの代わりにx
bm'を用いる。x
bm'は、今回反転位置であるC地点から今回移動時のb
2の位置であるD地点までの変位量である。故に、x'
t=x'(b
2/x
bm')となる。
【0037】
[場面4:+方向から−方向に反転、|P
bm|<P
c2、b
2>x
bm]
図8に示すように、場面4は、テーブル3がC地点からD地点を通過して−方向に移動後、E地点で反転して+方向に移動し、D地点の手前のF地点で更に反転して−方向に移動する場合である。D地点は前々回の移動で第2補償量が開始する地点である。場面4は+方向から−方向への移動であるので、補償量の0基準は場面1〜3とは逆になる。つまり、−方向から+方向への移動における最大補償量の地点は、+方向から−方向への移動においては0基準となる。前回の移動はE地点からF地点までの移動である。P
bmは前回のF地点での補償量である。x
bmはE地点からF地点までの変位量である。場面4では、|P
bm|<P
c2である。E地点からF地点までの変位量が小さいので、b
2>x
bmである。このような場面4で用いるP
1とP
2は以下の通りである。
・P
1=−P
c1−P
c2+|P
bm|
・P
2=−|P
bm|tanh(x'
t/a
2)
補償量は、P
1で算出した補償量Aと、P
2で算出した補償量Bとを加算した値である。なお、b
2>x
bmであるから、x'
t=x'(b
2/x
bm)である。
【0038】
[場面5:+方向から−方向に反転、|P
bm|>P
c2、b
2>x
bm]
図9に示すように、場面5は、テーブル3がC地点からD地点を通過して−方向に移動後、E地点で反転して+方向に移動し、D地点を通過してF地点で更に反転して−方向に移動する場合である。P
bmは前回のF地点での補償量である。x
bmはE地点からF地点までの変位量である。場面5では、|P
bm|>P
c2である。E地点からF地点までの変位量は小さいので、b
2>x
bmである。このような場面5で用いるP
1とP
2は以下の通りである。
・P
1=−(|P
bm|−P
c2)tanh(x'
t/a
1)
・P
2=−P
c2tanh{(x'
t−b
2)/a
2}
但し、x'
tがb
2を超えるまでは、補償量はP
1で算出した補償量Aである。x'
tがb
2を超えた場合、補償量は、P
1で算出した補償量Aと、P
2で算出した補償量Bとを加算した値である。なお、b
2>x
bmであるから、x'
t=x'(b
2/x
bm)である。
【0039】
[場面6:+方向から−方向に反転、|P
bm|>P
c2、b
2>x
bmm、前回反転位置の|P
bm|<P
c1]
図10に示すように、場面6は、テーブル3がC地点からD地点まで−方向に移動し、D地点から+方向への移動が反転しきらずに、更にE地点で反転して−方向に移動する場合である。D地点は前回反転位置、E地点は今回反転位置である。P
bmは前回のE地点での補償量である。x
bmはD地点からE地点までの変位量である。場面6でも、|P
bm|>P
c2である。D地点からE地点までの変位量が小さいので、b
2>x
bmである。このような場面6で用いるP
1とP
2は以下の通りである。
・P
1=−(|P
bm|−P
c2)tanh(x'
t/a
1)
・P
2=−P
c2tanh{(x'
t−b
2)/a
2}
但し、x'
tがb
2を超えるまでは、補償量はP
1で算出した補償量Aである。x'
tがb
2を超えた場合、補償量は、P
1で算出した補償量Aと、P
2で算出した補償量Bとを加算した値である。
【0040】
ここで、場面6では、前回反転位置であるD地点の|P
bm|はP
c1より小さい。前回反転位置の|P
bm|がP
c1より小さい場合、x
bmの代わりにx
bm'を用いる。x
bm'は、今回反転位置であるE地点から今回移動時のb
2の位置であるF地点までの変位量である。故に、x'
t=x'(b
2/x
bm')となる。
【0041】
[場面7:b
2=0、−方向から+方向に反転、|P
bm|<P
c2]
図11に示すように、b
2=0の場合、
図4とは異なり、補償量の曲線は一山である。つまり、第2ロストモーションの開始位置は、第1ロストモーションの開始位置と同じである。場面7は、テーブル3がB地点からC地点に−方向に移動後、C地点で反転して+方向に移動する場合である。前回の移動はB地点からC地点までの移動である。P
bmは前回のC地点での補償量である。x
bmはB地点からC地点までの変位量である。場面7では、|P
bm|<P
c2である。このような場面8で用いるP
1とP
2は場面1と同じである。b
2=0であるので、b
2<xbmである。故にx'
t=x'である。
【0042】
[場面8:b
2=0、−方向から+方向に反転、|P
bm|>P
c2]
図12に示すように、b
2=0の場合、補償量の曲線は一山である。場面8は、テーブル3がB地点からC地点に−方向に移動後、C地点で反転して+方向に移動する場合である。前回の移動はB地点からC地点までの移動である。P
bmは前回のC地点での補償量である。x
bmはB地点からC地点までの変位量である。場面8では、|P
bm|>P
c2である。このような場面8で用いるP
1とP
2は場面2と同じである。b
2=0であるので、b
2<xbmである。故にx'
t=x'である。
【0043】
[場面9:b
2=0、+方向から−方向に反転、|P
bm|<P
c2]
図示しないが、場面9で用いるP
1とP
2は場面4と同じである。b
2=0であるので、b
2<xbmである。故にx'
t=x'である。
【0044】
[場面10:b
2=0、+方向から−方向に反転、|P
bm|>P
c2]
図示しないが、場面10で用いるP
1とP
2は場面5と同じである。b
2=0であるので、b
2<xbmである。故にx'
t=x'である。
【0045】
次に、本実施形態の効果を確認する為に試験を実施した。上記のように、数値制御装置1は、2つのtanh関数を使って、テーブル3の移動方向の反転後に生じるロストモーションを近似して補償する。そこで、1つのtanh関数を使って近似した場合と、2つのtanh関数を使って近似した場合とを比較した。
【0046】
試験方法を説明する。テーブル3をY軸において2mm/minで2mmだけ+方向に移動した後、連続して2mm/minで−方向に反転移動した時の工具端の位置をレーザ変位計で測定した。サンプリングレートは100msecである。低速移動であるので、目標位置とモータ2B(2A)からのフィードバック位置はほぼ一致する。故に目標位置とレーザ変位計による測定位置との差をロストモーションとみなした。ロストモーションは往路も復路も何れも含んでいるが、本試験では、往路を基準(誤差無し)として、復路ではどれだけ差があるかをロストモーション形状としてプロットした。
【0047】
試験1は、1つのtanh関数を使って、ロストモーションの立ち上がり形状を近似した。近似手法は一般的な線形近似法である。
図13に示すように、1つのtanh関数を使った線形近似の場合、実際の誤差に合わせて補償量を綺麗にフィッティングさせることができず、部分的にズレを生じてしまっている。本実施形態は、1つのtanh関数で近似した補償量の曲線に基づき、P
c1、a
1、P
c2、a
2、b
2を求めた。各種パラメータは以下の通りである。
・P
c1=0.0025mm、a
1=0.1030、P
c2=0mm、a
2=0、b
2=0mm
【0048】
試験2は、2つのtanh関数を使って、ロストモーションの立ち上がり形状を試験1と同様に一般的な線形近似法を用いて近似した。
図14に示すように、2つのtanh関数を使った線形近似の場合、実際の誤差に合わせて補償量を綺麗にフィッティングさせることができた。本実施形態は、2つのtanh関数で近似した補償量の曲線に基づき、P
c1、a
1、P
c2、a
2、b
2を求めた。各種パラメータは以下の通りである。
・P
c1=0.0008mm、a
1=0.0137、P
c2=0.0017mm、a
2=0.1545、b
2=0mm
【0049】
本実施形態は、試験2の近似手法を用いることによって、P
1,P
2で用いる各種パラメータを予め決定する。本実施形態は、決定した各種パラメータを上記P
1,P
2に設定することによって、テーブル3の反転後に生じるロストモーションを精度良く補償できる。更に、本実施形態は少ないパラメータを設定するだけで、ロストモーションの効果的な補償を行うことができるので、製造工程において工作機械のパラメータを最適にして出荷できる。
【0050】
試験3は、試験2で決定した各種パラメータを用いて、上記P
1,P
2によるロストモーション補償を行った。試験3では、XY平面で半径10mmの円弧を100mm/minで工具を移動した場合の工具端の位置をグリッドエンコーダで測定し、指令円からの誤差を拡大して補償有りと補償無しで比較した。
図15に示すように、補償無しでは、回転角度が0°、90°、180°、270°において、ロストモーションによるずれが生じていた。これに対し、補償有りのものでは、補償無しと比較して、ロストモーションによるずれが確実に小さくなっている。故に本実施形態の数値制御装置1は、テーブル3を目的位置に正確に移動できるので、ワークの加工精度を制度良く向上できることが実証された。
【0051】
上記説明において、テーブル3が本発明の移動体に相当し、テーブル機構20が本発明の送り機構に相当し、上位制御部10が本発明の制御手段に相当し、位置制御器11、速度制御器12、電流制御増幅器15、微分器16が本発明のモータ制御手段に相当し、補償器13が本発明の演算手段に相当し、加算器17が本発明の加算手段に相当し、実位置推定部21が本発明の実位置推定手段に相当し、微分器22、符号反転検出部23、積分器24が本発明の算出手段に相当する。
【0052】
以上説明したように、本実施形態の数値制御装置1は、テーブル3の移動方向が反転した後に生じるロストモーションを補償する。ロストモーションはテーブル機構20の弾性変形に起因して生じるが、複数のロストモーションが合成されて生じる場合が多い。数値制御装置1は複数の近似式を用いる。近似式は、複数のロストモーションに夫々対応する複数の補償量、複数の補償量の夫々の傾き、前回の最終補償量、前回の変位量に基づくものである。故に数値制御装置1は、テーブル3の移動方向の反転後に緩やかに生じるロストモーションを精度よく補償できるので、テーブル3を目的位置に正確に移動できる。よって、ワークの加工精度は確実に向上する。
【0053】
本実施形態は更に、複数の近似式はtanh関数を用いた近似式を含むので、緩やかに生じるロストモーションをより精度よく補償できる。
【0054】
本実施形態では更に、場面1〜6において(
図5〜
図10参照)、b
2を設定したものを先に説明したが、後で説明した場面7〜10のように、b
2を0に設定できる。これにより、本発明は、複数のロストモーションが同時に開始する場合にも適用できるので、広範囲に適用できる。
【0055】
なお、本発明は上記実施形態に限らず種々の変更が可能である。例えば、ロストモーションを補償する際に、tanh関数は1つでもよいが、本実施形態のように2つ以上であるのが好ましい。上記実施形態は、第一補償部26と第二補償部27を備えているが、3つ以上の補償部を備えてもよい。
【0056】
また本実施形態は、テーブル3をX軸方向とY軸方向に移動可能に支持し、且つ主軸をテーブル3に対してZ軸方向に移動可能に支持する工作機械を一例として説明するが、テーブル3を固定とし、主軸をテーブル3に対してX軸方向とY軸方向に移動させる工作機械であってもよい。主軸に装着する工具とテーブルを相対的に移動するものであればよい。