(57)【特許請求の範囲】
【請求項１】
ボール螺子と該ボール螺子に螺合するナットとを有し該ナットに固定した移動体を移動する移動機構と、前記ボール螺子を回転駆動するモータとを有する機械を制御するものであり、前記移動体の位置を指定する位置指令を生成し、前記位置指令に従い、前記モータを制御するモータ制御手段と、前記移動体の移動方向が反転した後に摩擦力により生じる前記移動機構の弾性変形であるロストモーションを補償する補償量を演算する演算手段と、前記演算手段が演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算手段と、を備えた数値制御装置において、
前記演算手段は、
前記機械に固定した基準物に対し、前記移動体を直線往復させ、前記移動体と前記基準物との相対位置を所定時間毎に計測する計測手段と、
前記計測手段が前記所定時間毎に計測した前記相対位置の情報である第一情報と、前記計測手段による前記所定時間毎の前記相対位置の計測時に、前記モータ制御手段が前記所定時間毎に生成した前記位置指令が指定する指令位置の情報である第二情報とに基づき、前記ロストモーションを算出する算出手段と、
前記算出手段が算出した前記ロストモーションに基づき、前記補償量を演算する補償量演算手段と
を備え、
前記算出手段は、
前記第一情報における前記相対位置と、前記第二情報における前記指令位置との夫々の軌跡における前記移動体の前記移動方向が反転する前の部分が互いに一致するように、前記第一情報及び前記第二情報の少なくとも何れかを補正する補正手段を備え、
前記補正手段による補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出すること
を特徴とする数値制御装置。
【請求項２】
前記補正手段は、
前記第一情報における前記移動体の前記移動方向が反転するときの前記相対位置と、前記第二情報における前記移動体の前記移動方向が反転するときの前記指令位置とが一致するように、前記第一情報又は前記第二情報に対し、前記移動方向における距離の補正値である第一補正値を加算する第一補正手段と、
前記第一補正手段による補正後において、前記第一情報が示す前記相対位置の軌跡のうち前記移動方向が反転する前の第一軌跡部分と、前記第二情報が示す前記指令位置の軌跡のうち前記移動方向が反転する前の第二軌跡部分とが一致するように、前記第一情報又は前記第二情報の前記計測手段による前記所定時間毎の計測時間に対し、時間の補正値である第二補正値を加算する第二補正手段と
を備え、
前記第二補正手段による補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出すること
を特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記補正手段は、
前記第一情報が示す前記相対位置の軌跡のうち前記移動方向が反転する前の第三軌跡部分と、前記第二情報が示す前記指令位置の軌跡のうち前記移動方向が反転する前の第四軌跡部分とが一致するように、前記第一情報又は前記第二情報の前記計測手段による前記所定時間毎の計測時間に対し、時間の補正値である第三補正値を加算する第三補正手段と、
前記第三補正手段による補正後において、前記第一情報における前記移動体の前記移動方向が反転するときの前記相対位置が、前記指令位置の軌跡上に重なるように、又は前記第二情報における前記移動体の前記移動方向が反転するときの前記指令位置が、前記相対位置の軌跡上に重なるように、前記第一情報又は前記第二情報に対し、前記移動方向における距離の補正値である第四補正値を加算する第四補正手段と
を備え、
前記第四補正手段による補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出すること
を特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記算出手段は、
前記第一軌跡部分と前記第二軌跡部分とが一致するまで、前記補正手段による補正を繰り返し実行すること
を特徴とする請求項２に記載の数値制御装置。
【請求項５】
前記算出手段は、
前記第三軌跡部分と前記第四軌跡部分とが一致するまで、前記補正手段による補正を繰り返し実行すること
を特徴とする請求項３に記載の数値制御装置。
【請求項６】
前記計測手段は、
前記移動体と前記基準物との前記相対位置をレーザ変位計によって、前記所定時間毎に計測すること
を特徴とする請求項１から５の何れか一つに記載の数値制御装置。
【請求項７】
前記移動体の質量をＭ［ｋｇ］、前記移動体の送り速度をｖ［ｍ／ｓ］、前記移動体が最高速度に達するまでの時定数をｔ１［ｓ］、前記移動体の移動時の摩擦力の大きさをＦ［Ｎ］としたとき、
前記計測手段は、
前記基準物に対し、Ｆ＞Ｍ（ｖ／ｔ１）となるような送り速度ｖで直線往復させ、前記移動体と前記基準物との前記相対位置を前記所定時間毎に計測することにより、前記摩擦力によって生じる弾性変形のみをロストモーションとして測定すること
を特徴とする請求項１から６の何れか一つに記載の数値制御装置。
【請求項８】
ボール螺子と該ボール螺子に螺合するナットとを有し該ナットに固定した移動体を移動する移動機構と、前記ボール螺子を回転駆動するモータとを有する機械を制御するものであり、前記移動体の位置を指定する位置指令を生成し、前記位置指令に従い、前記モータを制御するモータ制御手段とを備えた数値制御装置によって行われ、前記移動体の移動方向が反転した後に摩擦力により生じる前記移動機構の弾性変形であるロストモーションを補償する補償量を演算する演算工程と、前記演算工程で演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算工程とを備えた数値制御装置のロストモーション補償方法において、
前記演算工程は、
前記機械に固定した基準物に対し、前記移動体を直線往復させ、前記移動体と前記基準物との相対位置を所定時間毎に計測する計測工程と、
前記計測工程で前記所定時間毎に計測した前記相対位置の情報である第一情報と、前記計測工程における前記所定時間毎の前記相対位置の計測時に、前記モータ制御手段が前記所定時間毎に生成した前記位置指令が指定する指令位置の情報である第二情報とに基づき、前記ロストモーションを算出する算出工程と、
前記算出工程で算出した前記ロストモーションに基づき、前記補償量を演算する補償量演算工程と
を備え、
前記算出工程は、
前記第一情報における前記相対位置と、前記第二情報における前記指令位置との夫々の軌跡における前記移動体の前記移動方向が反転する前の部分において互いに一致するように、前記相対位置及び前記指令位置の少なくとも何れかを補正する補正工程を備え、
前記補正工程における補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出すること
を特徴とする数値制御装置のロストモーション補償方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置と数値制御装置のロストモーション補償方法に関する。
【背景技術】
【０００２】
数値制御装置は移動体の駆動軸を駆動するモータが検出する検出位置をフィードバックし、検出位置が指令位置に追従するようにモータを駆動することで移動体の位置を制御する。移動体の移動方向が反転した時、駆動軸の駆動機構の弾性変形による偏差（遅れ）が生ずる。該偏差はロストモーションである。特に円弧形状の高精度加工を行う時、駆動機構に生じる偏差を測定して補償することは重要である。特許文献１が開示する補正パラメータ調整装置は、加速度計、機械運動解析部、補正パラメータ計算部を備える。加速度計は、数値制御装置における工作機械の加速度を測定する。機械運動解析部は、加速度計で測定した加速度を二回積分して求めた位置と、検出位置との誤差波形を所定の近似式をもって近似し、加速度を二回積分した結果から近似式による解を差し引くことで機械位置を計算することによって、機械運動を解析する。補正パラメータ計算部は、機械運動解析部の解析結果から工作機械の運動精度を向上する為の補正パラメータを決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２１６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機械運動解析部は加速度計で測定した加速度を二回積分することから、測定誤差を生じ易いという問題点があった。
【０００５】
本発明の目的は、簡単且つ高精度にロストモーションを補償できる数値制御装置と数値制御装置のロストモーション補償方法を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に係る数値制御装置は、ボール螺子と該ボール螺子に螺合するナットとを有し該ナットに固定した移動体を移動する移動機構と、前記ボール螺子を回転駆動するモータとを有する機械を制御するものであり、前記移動体の位置を指定する位置指令を生成し、前記位置指令に従い、前記モータを制御するモータ制御手段と、前記移動体の移動方向が反転した後に摩擦力により生じる前記移動機構の弾性変形であるロストモーションを補償する補償量を演算する演算手段と、前記演算手段が演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算手段と、を備えた数値制御装置において、前記演算手段は、前記機械に固定した基準物に対し、前記移動体を直線往復させ、前記移動体と前記基準物との相対位置を所定時間毎に計測する計測手段と、前記計測手段が前記所定時間毎に計測した前記相対位置の情報である第一情報と、前記計測手段による前記所定時間毎の前記相対位置の計測時に、前記モータ制御手段が前記所定時間毎に生成した前記位置指令が指定する指令位置の情報である第二情報とに基づき、前記ロストモーションを算出する算出手段と、前記算出手段が算出した前記ロストモーションに基づき、前記補償量を演算する補償量演算手段とを備え、前記算出手段は、前記第一情報における前記相対位置と、前記第二情報における前記指令位置との夫々の軌跡における前記移動体の前記移動方向が反転する前の部分が互いに一致するように、前記第一情報及び前記第二情報の少なくとも何れかを補正する補正手段を備え、前記補正手段による補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出することを特徴とする。故に数値制御装置は、移動体の移動方向の反転時に生じるロストモーションを簡単かつ精度良く補償できるので、特に円弧形状の加工を高精度に行うことができる。本発明は工場出荷時において機械全台についてロストモーションの補償量を効率よく演算できる。
【０００７】
請求項２に係る数値制御装置は、請求項１に記載の発明の構成に加え、前記補正手段は、前記第一情報における前記移動体の前記移動方向が反転するときの前記相対位置と、前記第二情報における前記移動体の前記移動方向が反転するときの前記指令位置とが一致するように、前記第一情報又は前記第二情報に対し、前記移動方向における距離の補正値である第一補正値を加算する第一補正手段と、前記第一補正手段による補正後において、前記第一情報が示す前記相対位置の軌跡のうち前記移動方向が反転する前の第一軌跡部分と、前記第二情報が示す前記指令位置の軌跡のうち前記移動方向が反転する前の第二軌跡部分とが一致するように、前記第一情報又は前記第二情報の前記計測手段による前記所定時間毎の計測時間に対し、時間の補正値である第二補正値を加算する第二補正手段とを備え、前記第二補正手段による補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出することを特徴とする。故に数値制御装置は、相対位置と指令位置の夫々の軌跡における反転前の部分を簡単且つ精度良く一致させることができる。
【０００８】
請求項３に係る数値制御装置は、請求項１に記載の発明の構成に加え、前記補正手段は、前記第一情報が示す前記相対位置の軌跡のうち前記移動方向が反転する前の第三軌跡部分と、前記第二情報が示す前記指令位置の軌跡のうち前記移動方向が反転する前の第四軌跡部分とが一致するように、前記第一情報又は前記第二情報の前記計測手段による前記所定時間毎の計測時間に対し、時間の補正値である第三補正値を加算する第三補正手段と、前記第三補正手段による補正後において、前記第一情報における前記移動体の前記移動方向が反転するときの前記相対位置が、前記指令位置の軌跡上に重なるように、又は前記第二情報における前記移動体の前記移動方向が反転するときの前記指令位置が、前記相対位置の軌跡上に重なるように、前記第一情報又は前記第二情報に対し、前記移動方向における距離の補正値である第四補正値を加算する第四補正手段とを備え、前記第四補正手段による補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出することを特徴とする。故に数値制御装置は、相対位置と指令位置の夫々の軌跡における反転前の部分を簡単且つ精度良く一致させることができる。
【０００９】
請求項４に係る数値制御装置は、請求項２に記載の発明の構成に加え、前記算出手段は、前記第一軌跡部分と前記第二軌跡部分とが一致するまで、前記第一補正手段及び前記第二補正手段による補正を繰り返し実行することを特徴とする。相対位置と指令位置の測定間隔が異なる時、補正手段による一回の補正では、第一軌跡部分と第二軌跡部分が一致しない場合がある。その場合、数値制御装置は、補正手段による補正を繰り返し実行するので、第一軌跡部分と第二軌跡部分を一致させることができる。
請求項５に係る数値制御装置は、請求項３に記載の発明の構成に加え、前記算出手段は、前記第三軌跡部分と前記第四軌跡部分とが一致するまで、前記補正手段による補正を繰り返し実行することを特徴とする。
【００１０】
請求項６に係る数値制御装置は、請求項１から５の何れか一つに記載の発明の構成に加え、前記計測手段は、前記移動体と前記基準物との前記相対位置をレーザ変位計によって、前記所定時間毎に計測することを特徴とする。数値制御装置はレーザ変位計を用いるので、相対位置を高精度に測定できる。例えば、機械の検査工程で機械の精度を測定する等の他の目的でレーザ変位計を既に用いている場合、ロストモーション計測の為に特別に他の測定器等を用意する必要が無い。故に機械全台のロストモーションの検査、及び補償量の調整を行うことができる。
【００１１】
請求項７に係る数値制御装置は、請求項１から６の何れかに記載の発明の構成に加え、前記移動体の質量をＭ［ｋｇ］、前記移動体の送り速度をｖ［ｍ／ｓ］、前記移動体が最高速度に達するまでの時定数をｔ１［ｓ］、前記移動体の移動時の摩擦力の大きさをＦ［Ｎ］としたとき、前記計測手段は、前記基準物に対し、Ｆ＞Ｍ（ｖ／ｔ１）となるような送り速度ｖで直線往復させ、前記移動体と前記基準物との前記相対位置を前記所定時間毎に計測することにより、前記摩擦力によって生じる弾性変形のみをロストモーションとして測定することを特徴とする。故に数値制御装置は摩擦力によって生じる弾性変形のみをロストモーションとして精度良く測定できる。
【００１２】
請求項８に係る数値制御装置のロストモーション補償方法は、ボール螺子と該ボール螺子に螺合するナットとを有し該ナットに固定した移動体を移動する移動機構と、前記ボール螺子を回転駆動するモータとを有する機械を制御するものであり、前記移動体の位置を指定する位置指令を生成し、前記位置指令に従い、前記モータを制御するモータ制御手段とを備えた数値制御装置によって行われ、前記移動体の移動方向が反転した後に摩擦力により生じる前記移動機構の弾性変形であるロストモーションを補償する補償量を演算する演算工程と、前記演算工程で演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算工程とを備えた数値制御装置のロストモーション補償方法において、前記演算工程は、前記機械に固定した基準物に対し、前記移動体を直線往復させ、前記移動体と前記基準物との相対位置を所定時間毎に計測する計測工程と、前記計測工程で前記所定時間毎に計測した前記相対位置の情報である第一情報と、前記計測工程における前記所定時間毎の前記相対位置の計測時に、前記モータ制御手段が前記所定時間毎に生成した前記位置指令が指定する指令位置の情報である第二情報とに基づき、前記ロストモーションを算出する算出工程と、前記算出工程で算出した前記ロストモーションに基づき、前記補償量を演算する補償量演算工程とを備え、前記算出工程は、前記第一情報における前記相対位置と、前記第二情報における前記指令位置との夫々の軌跡における前記移動体の前記移動方向が反転する前の部分において互いに一致するように、前記相対位置及び前記指令位置の少なくとも何れかを補正する補正工程を備え、前記補正工程における補正後において、前記第一情報と前記第二情報の差分を前記ロストモーションとして算出することを特徴とする。数値制御装置は上記工程を行うことで請求項１に記載の効果を得ることができる。
【図面の簡単な説明】
【００１３】
【図１】工作機械１の斜視図。
【図２】テーブル移動機構１０の斜視図。
【図３】数値制御装置３０と工作機械１の電気的構成を示すブロック図。
【図４】相対位置測定方法を示す概略図。
【図５】ロストモーション補償量演算処理（第一実施例）の流れ図。
【図６】相対位置の軌跡を示す図表。
【図７】相対位置と指令位置の軌跡を示す図表。
【図８】図７に示す指令位置の軌跡を位置補正値で補正した状態を示す図表。
【図９】図８に示す指令位置の軌跡を時間補正値で補正した状態を示す図表。
【図１０】図９（ａ）のピーク部分を拡大した図表。
【図１１】ロストモーション量の時間変化を示す図表。
【図１２】ロストモーション補償量の相対位置との関係を示す図表。
【図１３】ロストモーション補償量演算処理（第二実施例）の流れ図。
【図１４】相対位置の軌跡を示す図表。
【図１５】相対位置と指令位置の軌跡を示す図表。
【図１６】図１５に示す指令位置の軌跡を時間補正値で補正した状態を示す図表。
【図１７】図１６（ａ）のピーク部分を拡大した図表。
【図１８】図１５に示す指令位置の軌跡を位置補正値で補正した状態を示す図表。
【図１９】図１８（ａ）のピーク部分を拡大した図表。
【図２０】図１８に示す指令位置の軌跡を再度時間補正値で補正した状態を示す図表。
【図２１】図２０（ａ）のピーク部分を拡大した図表。
【図２２】補償処理の流れ図。
【図２３】補償後誤差のシミュレーション結果を示す図表。
【図２４】補償後誤差の実測値を示す図表。
【発明を実施するための形態】
【００１４】
本発明の第一実施形態を図面を参照して説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械１の左右方向、前後方向、上下方向は、夫々、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向である。図１に示す工作機械１は主軸９に装着した工具４を回転し、テーブル１３上面に保持した被削材（図示略）に切削加工を施す。数値制御装置３０（図３参照）は工作機械１の動作を制御する。
【００１５】
図１〜図３を参照し、工作機械１の構造を説明する。図１に示す如く、工作機械１は、基台２、コラム５、主軸ヘッド７、主軸９、テーブル移動機構１０、工具交換装置２０、制御箱６、操作盤１５（図３参照）等を備える。基台２は略直方体状の金属製土台である。コラム５は基台２上部後方に立設する。
【００１６】
主軸ヘッド７はコラム５前面に設けたＺ軸移動機構でＺ軸方向に昇降する。Ｚ軸移動機構は一対のＺ軸リニアガイド（図示略）、Ｚ軸ボール螺子（図示略）、Ｚ軸モータ５１（図３参照）を備える。Ｚ軸リニアガイドはＺ軸方向に沿って延び、主軸ヘッド７をＺ軸方向に案内する。Ｚ軸ボール螺子は一対のＺ軸リニアガイドの間に配置する。主軸ヘッド７は背面にナット（図示略）を備える。ナットはＺ軸ボール螺子に螺合する。Ｚ軸モータ５１はＺ軸ボール螺子を正逆方向に回転する。故に主軸ヘッド７はナットと共にＺ軸方向に移動する。主軸ヘッド７は主軸モータ５２（図３参照）を備える。主軸９は主軸ヘッド７内部に回転可能に設ける（図４参照）。主軸９は下端部（先端部）に装着穴（図示略）を有する。装着穴は主軸ヘッド７下部に位置する。主軸９は装着穴に工具４を装着し、主軸モータ５２の駆動で回転する。テーブル移動機構１０は基台２上部中央に設け、テーブル１３をＸ軸方向とＹ軸方向に駆動する。テーブル移動機構１０の構造は後述する。
【００１７】
工具交換装置２０は主軸ヘッド７前側に設け、円盤型の工具マガジン２１を備える。工具マガジン２１は外周に複数のグリップアーム９０を放射状に備える。グリップアーム９０は工具（図示略）を保持する。工具交換装置２０はマガジンモータ５５（図３参照）を駆動して工具マガジン２１を回転し、ＮＣプログラムに記述した工具交換指令が指示する工具４を工具交換位置に位置決めする。工具交換位置は工具マガジン２１の最下部位置である。工具交換装置２０は、主軸ヘッド７の昇降動作と、グリップアーム９０の揺動動作により、主軸９に現在装着する工具４と、工具交換位置にある次工具とを入れ替え交換する。
【００１８】
制御箱６はコラム５背面側に取り付け、数値制御装置３０（図３参照）を格納する。数値制御装置３０は工作機械１の動作を制御し、テーブル１３上に保持する被削材と主軸９に装着した工具４を相対移動することで、被削材に各種加工を施す。各種加工とは、例えばドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
【００１９】
操作盤１５（図３参照）は、例えば工作機械１を覆うカバー（図示略）の外壁に設ける。操作盤１５は入力部２４と表示部２５を備える。入力部２４は各種情報、操作指示等の入力を受け付け、数値制御装置３０に各種入力情報を出力する。表示部２５は数値制御装置３０からの指令に基づき各種画面等を表示する。
【００２０】
図２を参照し、テーブル移動機構１０の構造を説明する。図２に示すテーブル移動機構１０はＸ軸・Ｙ軸ボール螺子駆動系の機構である。図２は、図１に示すテーブル移動機構１０の主要部分を簡略化して図示する。
【００２１】
テーブル移動機構１０は、テーブル１３、Ｙ軸テーブル１２、Ｘ軸モータ５３、Ｙ軸モータ５４等を備える。テーブル１３は上面に被削材を保持する作業台である。Ｙ軸テーブル１２は上面にテーブル１３をＸ軸方向（左右方向）に移動可能に支持し、且つ基台２上面中央においてＹ軸方向（前後方向）に移動可能である。
【００２２】
テーブル移動機構１０は基台２上面中央に、一対のＹ軸リニアガイド６１、Ｙ軸ボール螺子６２、Ｙ軸モータ５４を備える。Ｙ軸リニアガイド６１はＹ軸方向に延出し、Ｙ軸テーブル１２をＹ軸方向に案内する。Ｙ軸ボール螺子６２は一対のＹ軸リニアガイド６１の間に配置する。Ｙ軸テーブル１２は下面にナット（図示略）を備える。ナットはＹ軸ボール螺子６２に螺合する。Ｙ軸モータ５４はＹ軸ボール螺子６２を正逆方向に回転する。故にＹ軸テーブル１２はナットと共にＹ軸方向に移動する。
【００２３】
Ｙ軸テーブル１２は上面に、一対のＸ軸リニアガイド６３、Ｘ軸ボール螺子６４、Ｘ軸モータ５３を備える。Ｘ軸リニアガイド６３はＸ軸方向に延出し、テーブル１３をＸ軸方向に案内する。Ｘ軸ボール螺子６４は一対のＸ軸リニアガイド６３の間に配置する。テーブル１３は下面にナット（図示略）を備える。ナットはＸ軸ボール螺子６４に螺合する。Ｘ軸モータ５３はＸ軸ボール螺子６４を正逆方向に回転する。故にテーブル１３はナットと共にＸ軸方向に移動する。故にテーブル１３はＹ軸テーブル１２を介してＹ軸方向にも移動する。即ちテーブル１３はＸ軸方向とＹ軸方向に移動可能となる。
【００２４】
図３を参照し、数値制御装置３０と工作機械１の電気的構成を説明する。数値制御装置３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、記憶装置３４、入出力部３５、駆動回路５１Ａ〜５５Ａ等を備える。ＣＰＵ３１は数値制御装置３０を統括制御する。ＲＯＭ３２は、主プログラム、ロストモーション補償量演算プログラム、補償プログラムを含む各種プログラム等を記憶する。主プログラムは主処理を実行する。主処理は、ＮＣプログラムを一行ずつ読み込んで各種動作を実行する。ＮＣプログラムは各種制御指令を含む複数行で構成し、工作機械１の軸移動、工具交換等を含む各種動作を行単位で制御する。ロストモーション補償量演算プログラムは、後述するロストモーション補償量演算処理（図５，図１３参照）を実行することで、テーブル移動機構１０に生じるロストモーション量を測定し、補償パラメータを算出する。補償プログラムは、後述する補償処理（図２２参照）を実行することで、ロストモーション補償量演算処理で算出した補償パラメータに基づき、ＮＣプログラムで指定するテーブル１３の位置の誤差を補償する。ＲＡＭ３３は各種情報を一時的に記憶する。記憶装置３４は不揮発性であり、ＮＣプログラム、後述する基準誤差平均値等の各種情報を記憶する。ＣＰＵ３１は作業者が操作盤１５の入力部２４で入力したＮＣプログラムに加え、外部入力で読み込んだＮＣプログラム等を記憶装置３４に記憶できる。
【００２５】
駆動回路５１ＡはＺ軸モータ５１とエンコーダ５１Ｂに接続する。駆動回路５２Ａは主軸モータ５２とエンコーダ５２Ｂに接続する。駆動回路５３ＡはＸ軸モータ５３とエンコーダ５３Ｂに接続する。駆動回路５４ＡはＹ軸モータ５４とエンコーダ５４Ｂに接続する。駆動回路５５Ａは工具マガジン２１を駆動するマガジンモータ５５とエンコーダ５５Ｂに接続する。Ｚ軸モータ５１、主軸モータ５２、Ｘ軸モータ５３、Ｙ軸モータ５４、マガジンモータ５５は何れもサーボモータである。駆動回路５１Ａ〜５５ＡはＣＰＵ３１から位置指令を受け、対応する各モータ５１〜５５に位置指令信号を夫々出力する。位置指令信号はパルス信号（駆動電流）である。駆動回路５１Ａ〜５５Ａはエンコーダ５１Ｂ〜５５Ｂからエンコーダ情報を受け、位置と速度のフィードバック制御を行う。エンコーダ情報は、トルクモニタ値、速度、位置、位置偏差等の各種情報を含む。ＣＰＵ３１は入出力部３５を介してエンコーダ情報を読み取ることができる。入出力部３５は操作盤１５の入力部２４と表示部２５に夫々接続する。
【００２６】
図４を参照し、レーザ変位計８０を用いたロストモーション補償量演算処理の概要を説明する。テーブル移動機構１０のテーブル１３の移動方向を反転させた時、テーブル移動機構１０には弾性変形による偏差（遅れ）が生ずる。該偏差はロストモーションである。本実施形態の後述するロストモーション補償量演算処理では、テーブル１３上に測定用のビームスプリッタ７０を支持固定し、テーブル１３をＸ軸方向又はＹ軸方向に直線的に往復移動させる。レーザ変位計８０は、ビームスプリッタ７０の主軸９先端に装着するミラー８との相対位置を所定時間毎に連続的に測定する。数値制御装置３０は、レーザ変位計８０で所定時間毎に測定した複数の相対位置を結んだ経路と、該相対位置の夫々の測定時刻に対応する複数の指令位置を結んだ経路とを互いに比較することで、ロストモーション量を精度良く演算する。
【００２７】
図５〜図１２を参照し、ロストモーション補償量演算処理の第一実施例を説明する。第一実施例は、本発明の特徴を分かり易く説明する為、相対位置と指令位置の測定時間を同一時刻とし、指令位置は加減速時定数で補間していないものを想定して説明する。操作盤１５においてロストモーション補償量演算処理の実行操作を受け付けた時、ＣＰＵ３１は、ＲＯＭ３２に記憶したロストモーション補償量演算プログラム（第一実施例）を読み出し、本処理を実行する。
【００２８】
図５に示す如く、ＣＰＵ３１は工作機械１の測定対象軸の往復移動を開始する（Ｓ１）。測定対象軸は例えばＸ軸方向である。往復移動の条件は、例えば送り速度を１ｍｍ／ｍｉｎ、移動距離を１ｍｍとする。ＣＰＵ３１はテーブル１３をＸ軸方向において上記条件で往復移動を開始する。ＣＰＵ３１は主軸９先端に装着するミラー８に対するテーブル１３（ビームスプリッタ７０）の相対位置（座標）を、レーザ変位計８０（図４参照）で所定時間毎に測定し（Ｓ２）、該測定した相対位置を測定時間と共にＲＡＭ３３に記憶する（Ｓ３）。往復移動におけるロストモーション以外の外乱の影響を最小とする為、送り速度は低速とする。
【００２９】
送り速度を低速にする理由を説明する。理由は主に以下の二つである。
・高速移動では、テーブル１３の移動方向反転時に大きな加速度が発生し、加速度によるテーブル移動機構１０の撓みが発生し、摩擦力によるロストモーション量を測定できない。
・汎用的なレーザ変位計８０等を利用する場合、測定間隔が長い場合が有るので、精度良く測定するには、テーブル１３の送り速度を遅くする必要がある。
【００３０】
本実施形態は、テーブル１３の送り速度を決定する為のパラメータについて、例えば、測定対象軸の移動機構の剛性をＫ［Ｎ／ｍ］、移動体の最大加速度をα［ｍ／ｓ２］、移動体の質量をＭ［ｋｇ］、送り速度をｖ［ｍ／ｓ］とする。テーブル１３が最高速度に達するまでの時定数をｔ１［ｓ］としたとき、α＝ｖ／ｔ１である。Ｘ軸を測定対象軸とした場合、剛性Ｋは、Ｘ軸のテーブル移動機構１０の剛性である。このとき、Ｍ（２×ｖ／ｔ１）／Ｋ［ｍ］は、移動方向反転時に加速度により生じる弾性変形である。測定したいロストモーションは、移動方向反転時に摩擦力により生じるテーブル移動機構１０の弾性変形であるから、テーブル移動機構１０の摩擦力の大きさをＦ［Ｎ］とすると、２×Ｆ／Ｋ［ｍ］である。テーブル移動機構１０の摩擦力Ｆは、テーブル１３を一定速度で移動中のモータ電流（トルク）を測定する等の方法で求めることが出来る。このとき、Ｆ≫Ｍ（ｖ／ｔ１）となるような送り速度ｖを定めることで、Ｍ（２×ｖ／ｔ１）／Ｋ＋2×Ｆ／Ｋ≒２×Ｆ／Ｋと見なせるので、反転時の加速度による弾性変形の影響を無視して、精度良くロストモーションを測定できる。具体的には、Ｍ（２×ｖ／ｔ１）／Ｋが、測定したいロストモーション２×Ｆ／Ｋ［ｍ］に対して十分小さい値、例えば０．１μｍ以下になる様に、テーブル１３の送り速度ｖ［ｍｍ／ｓ］を定めればよい。または、汎用的なレーザ変位計８０の測定時間間隔ｔ［ｓ］と送り速度ｖ［ｍ／ｓ］の関係から求まる相対位置の間隔はｖｔであり、ｖｔが測定したいロストモーションの大きさに対して大きいとロストモーションの変化の様子が捉えられなくなるので、ｖはｖｔが例えば０．５μｍ以下になる様に定めてもよい。但し、この場合でもｖはＦ＞Ｍ（ｖ／ｔ１）を満たす必要がある。送り速度ｖ［ｍ／ｓ］の下限値については特に基準は無いが、ｖを小さくすればするほど測定に必要な時間は増大し、また測定した位置を記憶するのに必要なＲＡＭ３３の容量も増加するので、上記で求めた上限値より少し小さい値を用いるのが望ましい。送り速度ｖはパラメータとして入力可能な最小単位でもよい。例えば、パラメータとして入力できる最小単位が１（ｍｍ／ｓ）であれば、１となる。故に数値制御装置３０はテーブル１３の往復移動における加減速のトルクの影響を最小にできる。
【００３１】
ＣＰＵ３１は、所定時間毎に測定した複数の相対位置の夫々に対応する指令位置をＲＡＭ３３に記憶する（Ｓ４）。指令位置はＣＰＵ３１が生成した位置指令が指定する位置を意味する。ＣＰＵ３１は、テーブル１３の往復移動が終了したか否か判断する（Ｓ５）。往復移動が終了する迄（Ｓ５：ＮＯ）、ＣＰＵ３１はＳ２に戻り、相対位置と指令位置を引き続き測定して記憶する（Ｓ２〜Ｓ４）。テーブル１３の往復移動が終了した時（Ｓ５：ＹＥＳ）、ＲＡＭ３３はテーブル１３の往復移動における相対位置の測定時間毎の全データ（本発明の第一情報に相当）と、指令位置の測定時間毎の全データ（本発明の第二情報に相当）を記憶する。ＣＰＵ３１は相対位置と指令位置の夫々の軌跡における反転位置を一致させる為、位置補正値を算出する（Ｓ６）。位置補正値は、指令位置の全データに加算して補正する為の値である。
【００３２】
位置補正値を説明する。図６（ａ）は往復移動中の相対位置の軌跡を示し、図６（ｂ）は往復移動中の相対位置の測定時間毎の全データを示す。図６（ａ）に示す如く、移動開始位置から反転位置に向かう迄の経路は往路、反転位置から移動開始位置に戻る迄の経路は復路である。相対位置の軌跡における反転位置は、測定開始から１．２［ｓ］後で相対位置が最大となる０．９５０［ｍｍ］である。相対位置の軌跡は、０．９５０［ｍｍ］を頂点とする山成り状である。図７（ａ）は、図６（ａ）に示す相対位置の軌跡に対し、往復移動中の指令位置の軌跡を重ねたものである。図７（ｂ）は往復移動中の指令位置の測定時間毎の全データを示す。指令位置の軌跡における反転位置は、測定開始から１．１［ｓ］後で指令位置が最大となる１．００［ｍｍ］である。指令位置の反転位置は、相対位置の反転位置よりも大きく、その差分は距離Ｐである。距離Ｐは−０．０５［ｍｍ］であり、相対位置の反転位置と指令位置の反転位置を一致させる為の位置補正値となる。ＣＰＵ３１は、指令位置の全データに対し、位置補正値である−０．０５［ｍｍ］を加算する（Ｓ７）。その結果、図８（ａ），（ｂ）に示す如く、指令位置の軌跡は下方に移動し、相対位置の反転位置と指令位置の反転位置は０．９５０［ｍｍ］で互いに一致する。
【００３３】
図８（ａ）に示す如く、相対位置の反転位置と指令位置の反転位置は一致したが、夫々の反転位置前の軌跡部分は互いにずれている。続いて、相対位置と指令位置の反転位置前の往路部分の夫々の軌跡を一致させる為、ＣＰＵ３１は時間補正値を算出する（Ｓ８）。時間補正値は、反転位置前の往路における一定区間において、同一時間の相対位置と指令位置の誤差の平均値が最小になる値である。
【００３４】
時間補正値を説明する。図８（ａ）に示す如く、相対位置が例えば０．２５０ｍｍ〜０．９００ｍｍ迄の区間にて、同一時間の指令位置と相対位置の誤差の平均値を計算し、その誤差が最小となる時間を時間補正値として求める。第一実施例における時間補正値は例えば０．１［ｓ］である。ＣＰＵ３１は、Ｓ７で位置補正値を加算した指令位置の全データに対し、時間補正値を加算する（Ｓ９）。その結果、図９（ａ）（ｂ）に示す如く、指令位置の軌跡は右方に移動し、反転位置である０．９５０［ｍｍ］に達する前の０．２５０ｍｍ〜０．９００ｍｍ迄の区間にて、相対位置と指令位置の夫々の軌跡が互いにほぼ一致する。
【００３５】
図９（ａ），図１０に示す如く、反転位置を過ぎた後における相対位置と指令位置の同時刻の差分は、テーブル移動機構１０のＸ軸に生じるロストモーション量に相当する。故にＣＰＵ３１は、相対位置の全データから、時間と位置を補正した指令位置の全データを減算し、測定時間毎のロストモーション量を算出する（Ｓ１０）。図１０，図１１に示す如く、ロストモーション量は、往復移動開始から反転位置に到達した１．２［ｓ］後から急激に上昇し、往復移動開始から１．４［ｓ］後は一定値を示している。
【００３６】
ＣＰＵ３１は、算出したロストモーション量に基づき、該ロストモーション補償量を算出する（Ｓ１１）。ＣＰＵ３１は、算出したロストモーション補償量に基づき、補償パラメータを算出し、記憶装置３４に記憶する（Ｓ１２）。図１２に示す図表は、反転位置前後におけるロストモーション量の変化を実線で示し、該変化に対するロストモーション補償量の変化を点線で示す。ロストモーション量は反転位置からの距離と関連して増加するので、例えばロストモーション量を一次関数として、ロストモーション量の最大量と傾きを補償パラメータとして近似できる。このときロストモーション量と傾きの補償パラメータは、例えば近似関数との誤差の二乗和が最小になる様に、最小二乗法による最適化を用いて求めることが出来る。この他に、ロストモーション量は、例えば指数関数、三角関数、双曲線関数等を用いて近似してもよい。補償パラメータの算出には、テーブル１３の移動方向が反転してから一定距離を進む迄の誤差の最大値や平均値を用いてもよい。最適化のアルゴリズムには最急降下法やニュートン法を用いても良い。
【００３７】
ＣＰＵ３１は上記の通り補償パラメータを算出し、記憶装置３４に記憶した後（Ｓ１１）、本処理を終了する。ＣＰＵ３１はＸ軸と同様にＹ軸を測定対象軸とし、上記のロストモーション補償量演算処理（第一実施例）を実行することで、Ｙ軸方向のロストモーション補償量の補償パラメータを算出でき、記憶装置３４に記憶できる。故にＣＰＵ３１は記憶装置３４においてテーブル移動機構１０の駆動軸毎に補償パラメータを記憶できる。
【００３８】
図１３〜図２１を参照し、ロストモーション演算処理の第二実施例を説明する。第二実施例は、相対位置と指令位置の測定時間が互いに異なり、指令位置は加減速時定数で補間したものを想定して説明する。汎用のレーザ変位計８０を用いると、指令位置の測定間隔に対して、レーザ変位計８０の測定間隔が長い場合がある。故に相対位置の軌跡と指令位置の軌跡が時間軸において大きくずれることがある。第一実施例の如く、相対位置と指令位置の夫々の反転位置前の往路部分の軌跡について、夫々の反転位置を合わせてから時間を合わせる補正工程を一回行っただけでは、反転位置前の軌跡を一致させることができない場合がある。指令位置が加減速時定数で補間されている場合、指令位置の軌跡のピーク形状は緩やかな曲線を描く。故に上記補正工程を一回行っただけで反転位置前の軌跡を一致させることは困難である。第二実施例は、反転位置前の一定区間の指令位置の軌跡を時間で補正してから反転位置を合わせる補正工程を行い、相対位置と指令位置の反転位置前の軌跡が一致するまで繰り返し行う。
【００３９】
操作盤１５においてロストモーション補償演算処理実行の操作を受け付けたとき、ＣＰＵ３１は、ＲＯＭ３２に記憶したロストモーション演算プログラム（第二実施例）を読み出し、図１３に示す本処理を実行する。Ｓ１〜Ｓ５の処理は、第一実施例のロストモーション補償演算処理（図５参照）と同一であるので、説明を省略する。テーブル１３の往復移動が終了した時（Ｓ５：ＹＥＳ）、ＣＰＵ３１は時間補正値算出処理を実行する（Ｓ３１）。時間補正値は、指令位置の全データに加算して補正する為の値である。
【００４０】
図１４（ａ）は、往復移動中の相対位置の軌跡を示し、図１４（ｂ）は往復移動中の相対位置の測定時間毎の全データを示す。第二実施例では、上記の通り、指令位置が加減速時定数で補間されているので、指令位置の軌跡のピーク形状は緩やかに湾曲する。故に指令位置の軌跡における最大値が反転位置とは限らない。故に第二実施例は、相対位置と指令位置の夫々の軌跡において、注目する点とその一つ前の点を結ぶ直線の傾きが右下がりで、且つ注目する点とその一つ後の点を結ぶ直線の傾きが右下がりとなる時間的に最初の点を反転位置と定義する。
【００４１】
移動開始位置から反転位置に向かう迄の経路は往路、反転位置から移動開始位置に戻る迄の経路は復路である。相対位置の軌跡における反転位置は、測定開始から１．４［ｓ］後の０．８８０［ｍｍ］である。相対位置の軌跡は、反転位置の一つ前の最大値である０．９０８［ｍｍ］を頂点とする山成り状である。図１５（ａ）は、図１４（ａ）に示す相対位置の軌跡に対し、往復移動中の指令位置の軌跡を重ねたものである。図１５（ｂ）は往復移動中の指令位置の測定時間毎の全データを示す。指令位置の軌跡における反転位置は、測定開始から１．３［ｓ］後の０．９７０［ｍｍ］である。指令位置の軌跡は、反転位置の一つ前の最大値である１．０００［ｍｍ］を頂点とする山成り状である。指令位置の反転位置は、相対位置の反転位置よりも大きい。
【００４２】
図１５（ａ）に示す如く、相対位置と指令位置の反転位置前の夫々の軌跡は互いにずれている。相対位置と指令位置の反転位置前の往路における夫々の軌跡部分を一致させる為、ＣＰＵ３１は時間補正値算出処理を実行する（Ｓ３１）。第二実施例の時間補正値は、反転位置前の一定区間の同一時間の相対位置と指令位置の誤差の平均値が最小になる値である。ＣＰＵ３１は例えば相対位置が０．２５０ｍｍ〜０．８００ｍｍ迄の区間にて、同一時間の指令位置と相対位置の誤差の平均値を計算し、その誤差が最小となる時間を時間補正値として求める。時間補正値は０．１５［ｓ］である。ＣＰＵ３１はＲＡＭ３３に記憶した指令位置の全データに対し、時間補正値を加算する（Ｓ３２）。その結果、図１６（ａ）（ｂ）に示す如く、指令位置の軌跡は右方に移動し、相対位置の反転位置である０．８８０［ｍｍ］に達する前の０．２５０ｍｍ〜０．８００ｍｍ迄の区間にて、相対位置と指令位置の夫々の軌跡が互いにほぼ一致する。
【００４３】
次いで、相対位置の反転位置が指令位置の経路上に重なるように、ＣＰＵ３１は位置補正値算出処理を実行する（Ｓ３３）。図１７に示す如く、相対位置の反転位置は０．８８０［ｍｍ］（図１４参照）である。これと同時刻（１．４［ｓ］後）の指令位置は、０．９８５［ｍｍ］である。故に位置補正値は、０．８８０−０．９８５＝−０．１０５［ｍｍ］である。ＣＰＵ３１は、時間補正値で補正した指令位置の全データに対し、位置補正値を加算する（Ｓ３４）。その結果、図１８（ａ）（ｂ），図１９に示す如く、相対位置の反転位置は指令位置の経路上に重なる。
【００４４】
図１９に示す如く、指令位置の全データに位置補正値を加算した結果、指令位置と相対位置の反転位置前の往路における軌跡部分は再びずれている。ＣＰＵ３１は、反転前の一定区間の同一時間の相対位置と指令位置の誤差の平均値が基準誤差平均値より小さいか判断する（Ｓ３５）。基準誤差平均値は記憶装置３４（図３参照）に予め記憶する。例えばＣＰＵ３１は相対位置が０．２５０ｍｍ〜０．８００ｍｍ迄の区間にて、同一時間の相対位置と指令位置の誤差の平均値が基準誤差平均値より小さいか判断する。基準誤差平均値以上の時（Ｓ３５：ＮＯ）、指令位置と相対位置の反転位置前の軌跡は大きくずれているので、ＣＰＵ３１はＳ３１に戻り、指令位置の全データに時間補正値と位置補正値を加算したものに対して再度、時間補正値と位置補正値を算出し、指令位置の軌跡を再度補正する（Ｓ３１〜Ｓ３４）。相対位置と指令位置の誤差の平均値が基準誤差平均値より小さくなるまで、ＣＰＵ３１はＳ３１〜Ｓ３４の処理を繰り返し実行する。
【００４５】
相対位置と指令位置の誤差の平均値が基準誤差平均値より小さくなった時（Ｓ３５：ＹＥＳ）、指令位置と相対位置の反転位置前の軌跡は一致する。本実施例では、図２０（ａ）（ｂ），図２１に示す如く、時間補正値を０．０８［ｓ］、位置補正値を−０．０７５［ｍｍ］にした時、相対位置の反転位置が指令位置の経路上に重なると共に、指令位置と相対位置の反転位置前の軌跡はほぼ一致する。故にＣＰＵ３１は第一実施例と同様に、相対位置の全データから、時間と位置を補正した指令位置の全データを減算し、測定時間毎のロストモーション量を算出する（Ｓ１０）。Ｓ１０〜Ｓ１２の処理は第一実施例と同一なので説明を省略する。ＣＰＵ３１はＸ軸と同様にＹ軸を測定対象軸とし、上記のロストモーション補償量演算処理（第二実施例）を実行することで、Ｙ軸方向のロストモーション補償量の補償パラメータを算出でき、記憶装置３４に記憶できる。故にＣＰＵ３１は記憶装置３４においてテーブル移動機構１０の駆動軸毎に補償パラメータを記憶できる。
【００４６】
図２２を参照し、補償処理を説明する。ＣＰＵ３１は記憶装置３４に記憶するＮＣプログラムに基づきテーブル１３の位置を指定する位置指令を実行する時、ＲＯＭ３２に記憶する補償処理プログラムを読み出し、本処理を実行する。例えばテーブル１３のＸ軸方向への移動指令を実行する時、ＣＰＵ３１はＸ軸方向への位置指令信号を生成する（Ｓ２１）。ＣＰＵ３１は、テーブル１３の移動方向が反転した反転位置からの相対位置を特定する（Ｓ２２）。ＣＰＵ３１は、記憶装置３４に記憶した補償パラメータに基づき、図１２に示す如く、特定した相対位置に対応するロストモーション補償量を算出する（Ｓ２３）。ＣＰＵ３１は算出したロストモーション補償量に基づき、ロストモーション補償信号を生成する（Ｓ２４）。ＣＰＵ３１は生成したロストモーション補償信号を、Ｓ２１で生成した位置指令信号に加算し（Ｓ２５）、駆動回路５３Ａ（図３参照）に入力して（Ｓ２６）、本処理を終了する。故にＣＰＵ３１は、ロストモーション量を補償した位置にテーブル１３を移動できるので、被削材の加工精度を向上できる。
【００４７】
図２３，図２４を参照し、ロストモーション補償演算処理の効果を検証する。本実施形態は、二つの検証試験を行った。第一試験は、上記第二実施例で算出した補償パラメータに基づき、テーブル１３の往復移動時におけるテーブル１３の位置の誤差を補償するシミュレーションを行ったものである。図２３にて、太線は補償前の誤差、細線は補償後の誤差のシミュレーション結果を示す。補償前の誤差は、テーブル１３の移動方向が反転する反転位置（移動開始してから約３００００［ｓ］後の位置）を過ぎてから急速に発生し、約−０．００２０［ｍｍ］まで増加した。これに対し、補償後の誤差はほぼ０付近を維持しているので、ロストモーションに起因する誤差を補償できることが確認できた。
【００４８】
第二試験は、第一試験の結果を受け、上記第二実施例で算出した補償パラメータに基づき、テーブル１３を実際に往復移動させた時のテーブル１３の位置の誤差を測定したものである。往復移動の条件は、送り速度を１ｍｍ／ｍｉｎ、移動距離を１ｍｍとした。図２４に示す如く、図２３のシミュレーション結果と同様に、誤差はほぼ０付近を維持したことから、ロストモーションに起因する誤差をほぼ解消できることが実証された。
【００４９】
以上説明の如く、上記実施形態の数値制御装置３０は工作機械１の動作を制御する。工作機械１はテーブル移動機構１０を備える。テーブル移動機構１０は、Ｘ軸・Ｙ軸ボール螺子駆動系の機構であり、テーブル１３をＸ軸方向とＹ軸方向に移動可能である。ＣＰＵ３１はＮＣプログラムに基づき、テーブル１３の位置を指定する位置指令を生成し、Ｘ軸モータ５３とＹ軸モータ５４を制御する。ＣＰＵ３１はロストモーション補償量演算処理を実行する。ロストモーション補償量演算処理は、テーブル１３の移動方向が反転した後に摩擦力により生じるロストモーションを補償する為の補償パラメータを算出する。
【００５０】
ロストモーション補償量演算処理では、ＣＰＵ３１はテーブル１３の往復移動中の主軸９先端との相対位置をレーザ変位計８０を用いて所定時間毎に計測し、ＲＡＭ３３に測定時間と共に記憶する。ＣＰＵ３１は相対位置の計測時に生成した指令位置を取得し、ＲＡＭ３３に測定時間と共に記憶する。ＣＰＵ３１は、相対位置と指令位置の夫々の軌跡における反転位置前の部分を互いに一致させる為、相対位置に対して指令位置の全データの位置と測定時間を補正する。反転位置を過ぎた後における相対位置と指令位置の同時刻の差分は、テーブル移動機構１０の駆動軸に生じるロストモーション量に相当する。故にＣＰＵ３１は、相対位置の全データから、位置と測定時間を補正した指令位置の全データを減算することで、測定時間毎のロストモーション量を簡単に算出できる。ＣＰＵ３１は算出したロストモーション量に基づき補償パラメータを算出する。ＣＰＵ３１は算出した補償パラメータに基づき補償信号を生成し、生成した補償信号を位置指令に加算することで、ロストモーション量を補償した位置にテーブル１３を移動できる。
【００５１】
ロストモーション補償量演算処理では、テーブル１３をＸ軸方向又はＹ軸方向に直線往復した時に計測した相対位置と指令位置の夫々の軌跡を比較するので、夫々の軌跡の直線部分を比較できる。故に相対位置と指令位置の夫々の軌跡における反転位置前の部分を互いに一致させ、反転位置を過ぎた後に生じる誤差をロストモーション量として算出できる。本実施形態は測定間隔の長いレーザ変位計８０を用いても、再現性が高く精度良くロストモーションが測定できる。指令位置の測定時間とレーザ変位計８０の測定間隔が異なっていても精度良くロストモーション量を測定できる。相対位置の測定の際に一つの駆動軸を移動する距離は短くてよいので、測定する際に他に冶具（図示略）等が工作機械１に搭載していてもテーブル１３と干渉し難い。
【００５２】
ロストモーション補償量演算処理では、レーザ変位計８０を用いて測定した相対位置に含まれる、床や機械自身の振動に起因するノイズを除去するためにフィルタ処理を行っても良い。フィルタ処理を行う場合、相対位置と指令位置の位相を合わせるために、相対位置だけではなく指令位置も同一のフィルタで処理する必要がある。ただし、フィルタのカットオフを低くすると測定対象であるロストモーションも減衰するため、適切なカットオフのフィルタを用いる必要がある。レーザ変位計による相対位置の測定は振動によるノイズの影響を受けやすいので、適切なカットオフを持ったフィルタを用いることで、精度良くロストモーション量を測定できる。
【００５３】
ロストモーション補償量演算処理の第一実施例では、相対位置と指令位置の夫々の軌跡における反転位置前の部分を互いに一致させる為、ＣＰＵ３１は位置補正値を算出し、指令位置の全データに加算する。位置補正値は、相対位置の反転位置と指令位置の反転位置を一致させる値である。ＣＰＵ３１は指令位置を位置補正値で補正した後、時間補正値を算出し、位置補正値で補正した指令位置の全データに加算する。時間補正値は、相対位置が反転する前の一定区間にて、同一時間の指令位置と相対位置の誤差の平均値を計算し、その誤差が最小となる時間である。故にＣＰＵ３１は相対位置と指令位置の夫々の軌跡における反転位置前の部分を、簡単且つ速やかに互いに一致させることができる。
【００５４】
ロストモーション補償量演算処理の第二実施例では、相対位置と指令位置の夫々の軌跡における反転位置前の部分を互いに一致させる為、第一実施例とは逆に、ＣＰＵ３１は時間補正値で算出し、指令位置の全データに加算する。時間補正値は、反転位置前の一定区間の同一時間の相対位置と指令位置の誤差の平均値が最小になる値である。ＣＰＵ３１は指令位置時間補正値で補正した後、位置補正値を算出し、指令位置の全データに加算する。位置補正値は、相対位置の反転位置が指令位置の経路上に重なるようにする為の値である。故にＣＰＵ３１は相対位置と指令位置の夫々の軌跡における反転位置前の部分を、簡単且つ速やかに互いに一致させることができる。
【００５５】
第二実施例において、指令位置に対して時間補正値と位置補正値を加算する一回の補正では、相対位置と指令位置の反転位置前の軌跡を一致できない場合がある。ＣＰＵ３１は時間補正値と位置補正値で補正した後、反転前の一定区間の同一時間の相対位置と指令位置の誤差の平均値が基準誤差平均値より小さいか判断する。誤差の平均値が基準誤差平均値以上の時、相対位置と指令位置の反転位置前の軌跡は大きくずれている。ＣＰＵ３１は誤差の平均値が基準誤差平均値よりも小さくなるまで、時間補正値と位置補正値で補正した指令位置に対して、時間補正値と位置補正値を算出して指令位置の全データに加算する補正を繰り返す。故に相対位置と指令位置の反転位置前の軌跡を可能な限り一致できる。
【００５６】
上記実施形態は、レーザ変位計８０を用いてロストモーション量の測定を行う。汎用の測定器であるレーザ変位計８０を用いることができるので、ロストモーション測定の為に特別に他の測定器を設定する必要が無い。故にボールバー、グリッドエンコーダ等の様に準備に手間が掛かるという問題も無い。レーザ変位計８０を用いることで、加速度ピックアップを用いる場合に比べて精度の問題が無く、高精度な測定が行える。
【００５７】
工作機械１の製造、検査工程等では、工作機械の精度を測定する為に既にレーザ変位計８０を用いることがある。故に上記実施形態は、殆ど追加の工数を必要とせずに、工作機械１のロストモーションの全台の検査、及び補償パラメータの調整を簡単に行えるようになる。
【００５８】
以上説明にて、工作機械１は本発明の機械の一例である。テーブル移動機構１０は本発明の移動機構の一例である。テーブル１３が本発明の移動体の一例である。Ｘ軸モータ５３とＹ軸モータ５４は本発明のモータの一例である。図２２のＳ２１の処理を実行するＣＰＵ３１は本発明のモータ制御手段の一例である。図５，図１３のロストモーション補償量演算処理を実行するＣＰＵ３１は演算手段の一例である。図２２のＳ２５の処理を実行するＣＰＵ３１は本発明の加算手段の一例である。主軸９先端に設けたミラー８は本発明の基準物の一例である。図５，図１３のＳ１〜Ｓ３の処理を実行するＣＰＵ３１は本発明の計測手段の一例である。図５のＳ６〜Ｓ１０の処理、図１３のＳ３１〜Ｓ３４、Ｓ１０の処理を実行するＣＰＵ３１は本発明の算出手段の一例である。図５，図１３のＳ１１，Ｓ１２の処理を実行するＣＰＵ３１は本発明の補償量演算手段の一例である。ロストモーション補償量演算処理の第一実施例において、図５のＳ６，Ｓ７の処理を実行するＣＰＵ３１は本発明の第一補正手段の一例である。Ｓ８，Ｓ９の処理を実行するＣＰＵ３１は本発明の第二補正手段の一例である。ロストモーション補償量演算処理の第二実施例において、図１３のＳ３１，Ｓ３２の処理を実行するＣＰＵ３１は本発明の第三補正手段の一例である。Ｓ３３，Ｓ３４の処理を実行するＣＰＵ３１は本発明の第四補正手段の一例である。図５，図１３のロストモーション補償量演算処理は演算工程の一例である。図２２のＳ２５の処理は本発明の加算工程の一例である。図５，図１３のＳ１〜Ｓ３の処理は本発明の計測工程の一例である。図５のＳ６〜Ｓ１０の処理、図１３のＳ３１〜Ｓ３４、Ｓ１０の処理は本発明の算出工程の一例である。図５，図１３のＳ１１，Ｓ１２の処理は本発明の補償量演算工程の一例である。図５のＳ６〜Ｓ９の処理、図１３のＳ３１〜Ｓ３４の処理は本発明の補正工程の一例である。
【００５９】
本発明は上記実施形態に限らず、各種変形が可能なことはいうまでもない。上記実施形態は、相対位置を計測する為にレーザ変位計８０を用いたが、工作機械１の単軸移動を精度良く測定できる機器であれば、他の汎用的な変位計、例えば画像認識を用いた変位計を用いてもよい。
【００６０】
図５に示すロストモーション補償量演算処理の第一実施例は、指令位置に対して位置補正値と時間補正値を加算して補正することで、指令位置の反転位置前の軌跡部分を相対位置の反転位置前の軌跡部分に一致させている。上記実施形態は、相対位置に対して位置補正値と時間補正値を加算して補正することで、相対位置の反転位置前の軌跡部分を指令位置の反転位置前の軌跡部分に一致させてもよい。第二実施例においても同様に、相対位置に対して位置補正値と時間補正値を加算して補正することで、相対位置の反転位置前の軌跡部分を指令位置の反転位置前の軌跡部分に一致させてもよい。
【００６１】
図５のＳ９の処理で指令位置の全データに対して時間補正値を加算した時、相対位置と指令位置の夫々の軌跡における反転位置前の部分が互いに一致しなかった場合、互いに一致するまで、又は反転前の一定区間の同一時間の相対位置と指令位置の誤差の平均値が基準誤差平均値より小さくなるまで、Ｓ６〜Ｓ９の処理を繰り返し実行してもよい。
【００６２】
上記実施形態は、テーブル移動機構１０の駆動軸であるＸ軸とＹ軸を測定対象軸としたが、主軸ヘッド７を昇降するＺ軸移動機構においても同様に、Ｚ軸を測定対象軸としてロストモーション量を測定できる。
【００６３】
上記実施形態の駆動回路５１Ａ〜５５Ａは数値制御装置３０に設けているが、駆動回路５１Ａ〜５５Ａを工作機械１に設けてもよい。
【符号の説明】
【００６４】
１    工作機械
４    工具
９    主軸
１０    テーブル移動機構
１３    テーブル
３０    数値制御装置
３１    ＣＰＵ
５３    Ｘ軸モータ
５４    Ｙ軸モータ
６２    Ｙ軸ボール螺子
６４    Ｘ軸ボール螺子
８０    レーザ変位計
【図１】
0006582814.tif 000002
【図２】
0006582814.tif 000003
【図３】
0006582814.tif 000004
【図４】
0006582814.tif 000005
【図５】
0006582814.tif 000006
【図６】
0006582814.tif 000007
【図７】
0006582814.tif 000008
【図８】
0006582814.tif 000009
【図９】
0006582814.tif 000010
【図１０】
0006582814.tif 000011
【図１１】
0006582814.tif 000012
【図１２】
0006582814.tif 000013
【図１３】
0006582814.tif 000014
【図１４】
0006582814.tif 000015
【図１５】
0006582814.tif 000016
【図１６】
0006582814.tif 000017
【図１７】
0006582814.tif 000018
【図１８】
0006582814.tif 000019
【図１９】
0006582814.tif 000020
【図２０】
0006582814.tif 000021
【図２１】
0006582814.tif 000022
【図２２】
0006582814.tif 000023
【図２３】
0006582814.tif 000024
【図２４】
0006582814.tif 000025