(57)【特許請求の範囲】
【請求項１】
工具を保持する主軸を備えるとともに、該主軸の軸線に沿った方向のＺ軸、並びに該Ｚ軸に直交し且つ相互に直交するＸ軸及びＹ軸の各基準軸に対応する送り軸を備えた工作機械の前記各送り軸を数値制御する数値制御装置であって、
前記各送り軸における、前記Ｘ軸まわりの角度誤差Ｅａｘ，Ｅａｙ，Ｅａｚ、前記各送り軸における、前記Ｙ軸まわりの角度誤差Ｅｂｘ，Ｅｂｙ，Ｅｂｚ、及び前記各送り軸における、前記Ｚ軸まわりの角度誤差Ｅｃｘ，Ｅｃｙ，Ｅｃｚに係る成分を含んだ誤差データを記憶する誤差データ記憶部と、
前記各送り軸に対する指令位置Ｉｘ，Ｉｙ，Ｉｚを、該各指令位置Ｉｘ，Ｉｙ，Ｉｚに対応する補正量Ｃｘ，Ｃｙ，Ｃｚであって、前記各送り軸における運動誤差を補正するための補正量Ｃｘ，Ｃｙ，Ｃｚに基づいて補正する位置補正部とを備えた数値制御装置において、
前記位置補正部は、更に、前記各送り軸に対する指令位置Ｉｘ，Ｉｙ，Ｉｚと、前記誤差データ記憶部に記憶された誤差データと、加工に使用する工具の工具長に係るデータとを基に、該工具長に応じた修正量であって、前記各送り軸の前記補正量Ｃｘ，Ｃｙ，Ｃｚに対する修正量Ｍｘ，Ｍｙ，Ｍｚを下式によって算出し、算出した修正量Ｍｘ，Ｍｙ，Ｍｚにより前記補正量Ｃｘ，Ｃｙ，Ｃｚを下式によって修正し、修正した補正量Ｃｘ’，Ｃｙ’，Ｃｚ’によって前記指令位置Ｉｘ，Ｉｙ，Ｉｚを補正するように構成されていることを特徴とする数値制御装置。
Ｍｘ＝−（Ｅｃｘ＋Ｅｃｙ＋Ｅｃｚ）・Ｌｙ＋（Ｅｂｘ＋Ｅｂｙ＋Ｅｂｚ）・Ｌｚ
Ｍｙ＝−（Ｅａｘ＋Ｅａｙ＋Ｅａｚ）・Ｌｚ＋（Ｅｃｘ＋Ｅｃｙ＋Ｅｃｚ）・Ｌｘ
Ｍｚ＝−（Ｅｂｘ＋Ｅｂｙ＋Ｅｂｚ）・Ｌｘ＋（Ｅａｘ＋Ｅａｙ＋Ｅａｚ）・Ｌｙ
Ｃｘ’＝Ｃｘ＋Ｍｘ
Ｃｙ’＝Ｃｙ＋Ｍｙ
Ｃｚ’＝Ｃｚ＋Ｍｚ
但し、Ｌｘ，Ｌｙ及びＬｚは、工作機械の主軸に装着された工具の先端位置の、予め設定された基準位置からの偏差であって、ＬｘはＸ軸方向の偏差、ＬｙはＹ軸方向の偏差、ＬｚはＺ軸方向の偏差である。
【請求項２】
前記加工に使用する工具の工具長に応じたデータを記憶する工具長データ記憶部を更に備え、
前記位置補正部は、前記工具長データ記憶部に格納されたデータを基に、前記修正量Ｍｘ，Ｍｙ，Ｍｚを算出するように構成されていることを特徴とする請求項１記載の数値制御装置。
【請求項３】
前記工具長データ記憶部は、工具長に応じて指令位置Ｉｘ，Ｉｙ，Ｉｚをオフセットするための工具オフセット量を記憶するように構成されていることを特徴とする請求項２記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主軸の軸線に沿ったＺ軸、並びに前記Ｚ軸に直交し且つ相互に直交するＸ軸及びＹ軸の各送り軸を備えた工作機械の、当該各送り軸を数値制御する数値制御装置に関する。
【背景技術】
【０００２】
従来、工作機械の運動誤差要因として、Ｘ軸、Ｙ軸及びＺ軸の各送り軸についての位置決め誤差、各送り軸の真直度、並びに、三次元空間内における主軸の姿勢誤差などが考慮されており、このような運動誤差を補償する数値制御装置として、従来、特開平８−１５２９０９号公報（下記特許文献１）に開示される数値制御装置が提案されている。
【０００３】
この数値制御装置は、特許文献１に開示されるように、座標系を各座標軸方向に一定間隔の格子状領域に分割し、この格子状領域の格子点において予め測定された格子点補正ベクトルを格納する格子点補正ベクトル記憶手段と、移動指令に応じて各送り軸の補間パルスを出力する補間手段と、補間パルスを加算して各送り軸における現在位置を認識する現在位置認識手段と、現在位置における現在位置補正ベクトルを格子点補正ベクトルに基づいて算出する現在位置補正ベクトル算出手段と、現在位置補正ベクトルを、補間前の旧現在位置における始点位置補正ベクトルと比較し、変化量を補正パルスとして出力する補正パルス出力手段と、補正パルスを補間パルスに加算する加算手段とを備えている。
【０００４】
そして、この数値制御装置によれば、補間パルスが出力されるごとに、現在位置における三次元補正ベクトルを求め、これを補正パルスとして補間パルスに加算するようにしているので、機械系に起因した三次元空間上の位置誤差を、一つの補間形の誤差補正機能で補正することができる。
【０００５】
尚、上記格子状領域の各格子点における格子点補正ベクトルは、前記各送り軸についてこれらを一定間隔で位置決め制御したときの、主軸の軸線上に適宜設定された基準位置の三次元空間内における位置決め誤差を測定することによって得られる。また、測定は、一般的には、レーザ干渉計、レーザ測長器やオートコリメータなどを用いて行われる。また、前記基準位置は、一般的には、例えば、主軸の軸線と主軸前端面とが交差する位置や、主軸軸線において主軸前端面から所定距離だけ前方の位置に設定され、測定方法によって適宜決定される。
【０００６】
ところで、加工プログラムで指令される指令位置は、通常、加工ポイント、即ち、主軸軸線上における工具の先端位置が想定されている。したがって、数値制御装置の位置決め制御においては、使用する工具の長さに応じて、その相異分（変動分）を補償する必要がある。そして、従来、このような補償を実現するために、一般的には、上記基準位置から工具先端までの長さを工具オフセット量とし、この工具オフセット量を各工具について予め設定して、使用される工具に応じて、その工具オフセット量分だけ、前記指令位置を工具の長手方向であるＺ軸方向にオフセットするようにしている。
【０００７】
例えば、図１０に示すように、Ｘ軸−Ｚ軸平面で見たときに、上記基準位置Ｒから工具先端Ｔｔまでの長さ、即ち、工具オフセット量をＬとすると、加工プログラム上の指令位置Ｐ１（ｘ１，ｚ１）は、工具の長手方向であるＺ軸方向において、そのプラス方向に工具オフセット量Ｌだけオフセットされた位置Ｐ１’（ｘ１’，ｚ１’）となる。
ｘ１’＝ｘ１
ｚ１’＝ｚ１＋Ｌ
【０００８】
尚、図１０では、説明が容易になるように、Ｘ軸−Ｚ軸の二次元平面における関係を示している。因みに、この二次元平面において、運動誤差は、上記基準位置Ｒについて測定されるので、Ｘ軸−Ｚ軸平面において、オフセットされた位置Ｐ１’（ｘ１’，ｚ１’）に対して、上記基準位置Ｒが位置Ｐ１”（ｘ１”，ｚ１”）に位置しているとすると、位置決め誤差を補償するための補正値Ｃｘ１、Ｃｚ１は、それぞれ以下により計算される。
Ｃｘ１＝ｘ１’−ｘ１”＝ｘ１−ｘ１”
Ｃｚ１＝ｚ１’−ｚ１”＝ｚ１＋Ｌ−ｚ１”
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平８−１５２９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところが、上述した従来の数値制御装置では、各送り軸についての位置決め誤差、各送り軸の真直度、並びに三次元空間内における主軸の姿勢誤差については、その誤差を補正することができるようになっているが、工具の長さに起因した位置決め誤差の補正については、依然として、工具長に応じたＺ軸方向の工具オフセットのみに依存しており、この面において正確な位置決めを行うことができないという問題があった。
【００１１】
図１１は、図１０と同じく、説明が容易になるように、Ｘ軸−Ｚ軸の二次元平面における関係を示しているが、この図１１に示すように、主軸Ｓの姿勢に誤差が生じ、当該主軸ＳがＺ軸に対して角度θだけ傾いているとすると、工具の先端位置Ｔｔは、図１０に示した位置から、Ｘ軸方向にＬ・ｓｉｎθだけ変位するとともに、Ｚ軸方向にＬ・（１−ｃｏｓθ）だけ変位することになる。
【００１２】
したがって、この変位量を補正しなければ、工具先端Ｔｔの正確な位置決めは実現されない。言い換えれば、工具先端Ｔｔの高精度な位置決めを実現するには、かかる工具長に起因した誤差を補正する必要があるのである。しかしながら、上記従来の数値制御装置では、このような工具長に起因した位置決め誤差を補正することができなかった。
【００１３】
本発明は、以上の実情に鑑みなされたものであって、主軸に装着された工具の先端位置を、三次元空間内においてより高精度に位置決めすることができる数値制御装置の提供を、その目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するための本発明は、
工具を保持する主軸を備えるとともに、該主軸の軸線に沿った方向のＺ軸、並びに該Ｚ軸に直交し且つ相互に直交するＸ軸及びＹ軸の各基準軸に対応する送り軸を備えた工作機械の前記各送り軸を数値制御する数値制御装置であって、
前記各送り軸における、前記Ｘ軸まわりの角度誤差Ｅａｘ，Ｅａｙ，Ｅａｚ、前記各送り軸における、前記Ｙ軸まわりの角度誤差Ｅｂｘ，Ｅｂｙ，Ｅｂｚ、及び前記各送り軸における、前記Ｚ軸まわりの角度誤差Ｅｃｘ，Ｅｃｙ，Ｅｃｚに係る成分を含んだ誤差データを記憶する誤差データ記憶部と、
前記各送り軸に対する指令位置Ｉｘ，Ｉｙ，Ｉｚを、該各指令位置Ｉｘ，Ｉｙ，Ｉｚに対応する補正量Ｃｘ，Ｃｙ，Ｃｚであって、前記各送り軸における運動誤差を補正するための補正量Ｃｘ，Ｃｙ，Ｃｚに基づいて補正する位置補正部とを備えた数値制御装置において、
前記位置補正部は、更に、前記各送り軸に対する指令位置Ｉｘ，Ｉｙ，Ｉｚと、前記誤差データ記憶部に記憶された誤差データと、加工に使用する工具の工具長に係るデータとを基に、該工具長に応じた修正量であって、前記各送り軸の前記補正量Ｃｘ，Ｃｙ，Ｃｚに対する修正量Ｍｘ，Ｍｙ，Ｍｚを下式によって算出し、算出した修正量Ｍｘ，Ｍｙ，Ｍｚにより前記補正量Ｃｘ，Ｃｙ，Ｃｚを下式によって修正し、修正した補正量Ｃｘ’，Ｃｙ’，Ｃｚ’によって前記指令位置Ｉｘ，Ｉｙ，Ｉｚを補正するように構成された数値制御装置に係る。
Ｍｘ＝−（Ｅｃｘ＋Ｅｃｙ＋Ｅｃｚ）・Ｌｙ＋（Ｅｂｘ＋Ｅｂｙ＋Ｅｂｚ）・Ｌｚ
Ｍｙ＝−（Ｅａｘ＋Ｅａｙ＋Ｅａｚ）・Ｌｚ＋（Ｅｃｘ＋Ｅｃｙ＋Ｅｃｚ）・Ｌｘ
Ｍｚ＝−（Ｅｂｘ＋Ｅｂｙ＋Ｅｂｚ）・Ｌｘ＋（Ｅａｘ＋Ｅａｙ＋Ｅａｚ）・Ｌｙ
Ｃｘ’＝Ｃｘ＋Ｍｘ
Ｃｙ’＝Ｃｙ＋Ｍｙ
Ｃｚ’＝Ｃｚ＋Ｍｚ
【００１５】
但し、Ｌｘ，Ｌｙ及びＬｚは、工作機械の主軸に装着された工具の先端位置の、予め設定された基準位置からの偏差であって、ＬｘはＸ軸方向の偏差、ＬｙはＹ軸方向の偏差、ＬｚはＺ軸方向の偏差である。
【００１６】
尚、Ｍｘ、Ｍｙ及びＭｚを算出するための上式において、前の項の正負及び後の項の正負は、それぞれ、前記Ｘ軸，Ｙ軸及びＺ軸の正負の方向に応じて決定されるものである。
【００１７】
本発明の数値制御装置によれば、前記位置補正部により、前記Ｘ軸，Ｙ軸，Ｚ軸に対する指令位置Ｉｘ，Ｉｙ，Ｉｚが、該各指令位置Ｉｘ，Ｉｙ，Ｉｚに対応する補正量（工作機械の三次元空間内における運動誤差を補償する補正量）Ｃｘ，Ｃｙ，Ｃｚによって補正され、このような補正によって、工作機械の三次元空間内における運動誤差が高精度に補償される。
【００１８】
そして、前記位置補正部は、更に、前記各送り軸に対する指令位置Ｉｘ，Ｉｙ，Ｉｚと、前記誤差データ記憶部に記憶された誤差データと、加工に使用する工具の工具長に係るデータとを基に、該工具長に応じた修正量であって、前記各送り軸の前記補正量Ｃｘ，Ｃｙ，Ｃｚに対する修正量Ｍｘ，Ｍｙ，Ｍｚを算出し、算出した修正量Ｍｘ，Ｍｙ，Ｍｚによって前記補正量Ｃｘ，Ｃｙ，Ｃｚを修正し、修正した補正量Ｃｘ’，Ｃｙ’，Ｃｚ’によって前記指令位置Ｉｘ，Ｉｙ，Ｉｚを補正する。尚、この修正量Ｍｘ，Ｍｙ，Ｍｚは、三次元空間における主軸の姿勢誤差に起因し、工具の長さに応じて生じる工具先端部の位置誤差を補正するものである。
【００１９】
斯くして、本発明の数値制御装置によれば、工作機械の三次元空間内における運動誤差を補正するとともに、主軸の姿勢誤差と工具長に応じて生じる工具先端部の位置誤差を補正することができるので、三次元空間内における工具の先端位置を、従来に比べてより高精度に位置決め制御することができる。
【００２０】
本発明に係る数値制御装置は、更に、加工に使用する工具の工具長に応じたデータを記憶する工具長データ記憶部を備え、前記位置補正部は、前記工具長データ記憶部に格納されたデータを基に、前記修正量Ｍｘ，Ｍｙ，Ｍｚを算出するように構成されていても良い。
【００２１】
また、前記工具長データ記憶部は、工具長に応じて指令位置Ｉｘ，Ｉｙ，Ｉｚをオフセットするための工具オフセット量を記憶するように構成されていても良い。
【発明の効果】
【００２２】
以上のように、本発明によれば、工作機械の三次元空間内における運動誤差を補正するとともに、主軸の姿勢誤差と工具長に応じて生じる工具先端部の位置誤差を補正することができるので、三次元空間内における工具の先端位置を、従来に比べてより高精度に位置決め制御することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係る数値制御装置の概略構成を示したブロック図である。
【図２】工作機械及びその運動誤差の測定を説明するための説明図である。
【図３】測定された運動誤差を示すグラフである。
【図４】測定された運動誤差を示すグラフである。
【図５】測定された運動誤差を示すグラフである。
【図６】工作機械の運動領域を格子状に分割した各格子点における運動誤差を示す説明図である。
【図７】工作機械の運動領域を格子状に分割した各格子点における運動誤差を示す説明図である。
【図８】工作機械の運動領域を格子状に分割した各格子点における運動誤差を示す説明図である。
【図９】運動誤差の補正量の算出について説明するための説明図である。
【図１０】従来の問題点を説明するための説明図である。
【図１１】従来の問題点を説明するための説明図である。
【発明を実施するための形態】
【００２４】
以下、本発明の具体的な実施の形態について、図面を参照しながら説明する。図１には、本発明の一実施形態に係る数値制御装置の概略構成を示し、図２には、この数値制御装置によって制御される工作機械の一例を示している。
【００２５】
図２に示すように、本例の工作機械５０は、上面がワーク載置面（所謂テーブル）となったベッド５１と、門形をしたフレーム５２と、サドル５３とから構成される。フレーム５２は、その水平部がベッド５１の上方に位置するように配設されるとともに、その２つ垂直部がそれぞれベッド５１の側部に係合して、全体としてＹ軸方向に移動可能になっている。また、サドル５３は、フレーム５２の水平部に係合し、この水平部に沿ってＸ軸方向に移動可能となっている。更に、このサドル５３には、主軸５４がＺ軸方向に移動可能に、且つ、Ｚ軸と平行な軸線を中心に回転可能に保持されている。
【００２６】
前記Ｘ軸、Ｙ軸及びＺ軸は、相互に直交する基準軸であり、この基準軸に対応した各送り軸が、図１に示したＸ軸送り機構５５、Ｙ軸送り機構５６及びＺ軸送り機構５７によって構成される。尚、前記Ｘ軸送り機構５５は、ボールねじ（図示せず）、ボールナット（図示せず）及びこのボールねじ（図示せず）を駆動するＸ軸サーボモータ５５ａなどから構成され、前記サドル５３をＸ軸方向に移動させる。
【００２７】
前記Ｙ軸送り機構５６も同様に、ボールねじ（図示せず）、ボールナット（図示せず）及びこのボールねじ（図示せず）を駆動するＹ軸サーボモータ５６ａなどから構成され、前記フレーム５２をＹ軸方向に移動させる。
【００２８】
更に、前記Ｚ軸送り機構５７も同様に、ボールねじ（図示せず）、ボールナット（図示せず）及びこのボールねじ（図示せず）を駆動するＺ軸サーボモータ５７ａなどから構成され、前記主軸５４をＺ軸方向に移動させる。
【００２９】
図１に示すように、本例の数値制御装置１は、プログラム記憶部２、プログラム解析部３、位置指令部４、位置補正部５、工具オフセット記憶部９、誤差データ記憶部１０、Ｘ軸制御部１１、Ｙ軸制御部１２及びＺ軸制御部１３といった機能部を備えて構成される。
【００３０】
前記プログラム記憶部２は、工作機械５０による加工を実行するための加工プログラムを記憶する機能部である。尚、加工プログラムには、送り軸である前記Ｘ軸送り機構５５、Ｙ軸送り機構５６及びＺ軸送り機構５７についての移動位置及び送り速度に係る指令、主軸５４の回転に係る指令や、使用工具に係る工具番号等が含まれている。
【００３１】
前記工具オフセット記憶部９は、加工に使用される複数の工具について、その工具長に応じて設定されるオフセット量を記憶する機能部である。尚、本例では、工具オフセット量は、具体的には、図１０に示すように、主軸Ｓ（本例の主軸５４に相当）の軸線上に設定された基準位置Ｒから工具Ｔの先端Ｔｔまでの距離Ｌとしている。また、図２では具体的に図示していないが、工作機械５０には、複数の工具が格納される工具マガジン、及びこの工具マガジンに格納された工具を主軸５４に装着する工具交換装置が付設されており、前記加工プログラムが実行されると、当該加工プログラム中に指令される工具が、この工具交換装置によって、主軸５４に装着される。
【００３２】
前記誤差データ記憶部１０は、前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７におけるＸ軸，Ｙ軸及びＺ軸方向の位置決め誤差Ｅｘｘ，Ｅｙｙ，Ｅｚｚ、前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７における真直誤差Ｅｙｘ，Ｅｚｘ，Ｅｘｙ，Ｅｚｙ，Ｅｘｚ，Ｅｙｚ、前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７における前記Ｘ軸まわりの角度誤差Ｅａｘ，Ｅａｙ，Ｅａｚ、前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７における前記Ｙ軸まわりの角度誤差Ｅｂｘ，Ｅｂｙ，Ｅｂｚ、及び前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７における前記Ｚ軸まわりの角度誤差Ｅｃｘ，Ｅｃｙ，Ｅｃｚに係る誤差データを記憶する機能部である。
【００３３】
より正確には、上記各誤差は以下のように定義される。
Ｅｘｘ；Ｘ軸送り機構５５のＸ軸方向における位置決め誤差
Ｅｙｙ；Ｙ軸送り機構５６のＹ軸方向における位置決め誤差
Ｅｚｚ；Ｚ軸送り機構５７のＺ軸方向における位置決め誤差
Ｅｙｘ；Ｘ軸送り機構５５のＸ軸−Ｙ軸平面における真直誤差
Ｅｚｘ；Ｘ軸送り機構５５のＸ軸−Ｚ軸平面における真直誤差
Ｅｘｙ；Ｙ軸送り機構５６のＹ軸−Ｘ軸平面における真直誤差
Ｅｚｙ；Ｙ軸送り機構５６のＹ軸−Ｚ軸平面における真直誤差
Ｅｘｚ；Ｚ軸送り機構５７のＺ軸−Ｘ軸平面における真直誤差
Ｅｙｚ；Ｚ軸送り機構５７のＺ軸−Ｙ軸平面における真直誤差
Ｅａｘ；Ｘ軸送り機構５５におけるＸ軸まわりの角度誤差
Ｅａｙ；Ｙ軸送り機構５６におけるＸ軸まわりの角度誤差
Ｅａｚ；Ｚ軸送り機構５７におけるＸ軸まわりの角度誤差
Ｅｂｘ；Ｘ軸送り機構５５におけるＹ軸まわりの角度誤差
Ｅｂｙ；Ｙ軸送り機構５６におけるＹ軸まわりの角度誤差
Ｅｂｚ；Ｚ軸送り機構５７におけるＹ軸まわりの角度誤差
Ｅｃｘ；Ｘ軸送り機構５５におけるＺ軸まわりの角度誤差
Ｅｃｙ；Ｙ軸送り機構５６におけるＺ軸まわりの角度誤差
Ｅｃｚ；Ｚ軸送り機構５７におけるＺ軸まわりの角度誤差
【００３４】
上記各誤差は、例えば、図２に示すような、レーザ測長器１０１を用いた測定結果から得られる。具体的には、ベッド５１上にレーザ測長器１０１を配設するとともに、主軸５４にミラー１０２を装着した状態で、前記Ｘ軸送り機構５５、Ｙ軸送り機構５６及びＺ軸送り機構５７について、それぞれを一定間隔毎に位置決め制御することにより、三次元空間内を前記一定間隔で格子状に分割した各格子点に前記ミラー１０２を位置決めし、各格子点において、レーザ測長器１０１からミラー１０２にレーザ光を照射するとともに、その反射光をレーザ測長器１０１に受光することによって、当該レーザ測長器１０１によりミラー１０２との間の距離を測長する。
【００３５】
ついで、レーザ測長器１０１を他の異なる２点以上の位置（例えば、図２において破線で示した位置）にレーザ測長器１０１を設置し、また、ミラー１０２についても少なくとも１ヶ所のレーザ測長器１０１に対して、上記の位置とは異なる位置に設置して、上記と同様にして、三次元空間内の各格子点に前記ミラー１０２を位置決めしながら、各格子点において、レーザ測長器１０１によりミラー１０２との間の距離を測長する。
【００３６】
そして、以上のようにして得られた測定データを基に、三辺測量法の原理に従って、三次元空間内の前記各格子点におけるミラー１０２の位置を算出し、算出された位置データ及び当該位置データを解析することによって、上記各誤差が得られる。尚、このミラー１０２の位置の一つが主軸５４の軸線上に設定される基準位置（図１０及び図１１に示した基準位置Ｒに相当）となる。
【００３７】
以上のようにして得られるミラー１０２の各格子点における位置データ（位置決め誤差、以下同様）の一例を図６〜図８に示しており、図６は、或るＸ−Ｚ平面における格子点の位置データを示し、図７は、或るＹ−Ｚ平面における格子点の位置データを示し、図８は、或るＸ−Ｙ平面における格子点の位置データを示している。また、かかる位置データから得られる上記各誤差を図３〜図５に示す。図３はＸ軸送り機構５５における各誤差、図４は、Ｙ軸送り機構５６における各誤差、図５は、Ｚ軸送り機構５７における各誤差を示している。前記誤差データ記憶部１０には、このような誤差データが格納される。
【００３８】
前記プログラム解析部３は、前記プログラム記憶部２に格納された加工プログラムを読み出して、これを実行する機能部であり、加工プログラム中に含まれる動作指令を認識して、認識した動作指令を位置指令部４に送信する処理を行う。この加工プログラム中の動作指令には、少なくとも前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７の各送り軸方向の移動位置及び送り速度に係る指令が含まれる。
【００３９】
前記位置指令部４は、前記プログラム解析部３から受信した前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７に係る動作指令を基に、それぞれについての所謂機械座標系に係る位置指令を生成する。その際、位置指令部４は、前記工具オフセット記憶部９に格納された工具オフセット量の内、現在の使用工具について設定された工具オフセット量を基に、これらを考慮した、即ち、指令位置を工具オフセット量だけＺ軸方向にオフセットした位置指令を生成する。尚、工具オフセットの意義については、図１０を基に説明した上述の通りである。
【００４０】
そして、位置指令部４は、このようにして生成したＸ軸送り機構５５に係る位置指令Ｉｘ（以下、指令位置Ｉｘともいう）をＸ軸制御部１１に送信し、Ｙ軸送り機構５６に係る位置指令Ｉｙ（以下、指令位置Ｉｙともいう）をＹ軸制御部１２に送信し、Ｚ軸送り機構５７に係る位置指令Ｉｚ（以下、指令位置Ｉｚともいう）をＺ軸制御部１３に送信するとともに、これらの位置指令Ｉｘ，Ｉｙ，Ｉｚを位置補正部５にも送信する。また、位置指令部４は、前記プログラム解析部３から使用工具に係る指令を受信した場合には、当該工具情報を位置補正部５に送信する。
【００４１】
前記位置補正部５は、図１に示すように、補正量算出部６、修正量算出部７及び修正補正量算出部８から構成される。
【００４２】
前記補正量算出部６は、前記位置指令部４から受信した前記Ｘ軸送り機構５５に係る指令位置Ｉｘ、Ｙ軸送り機構５６に係る指令位置Ｉｙ及びＺ軸送り機構５７に係る指令位置Ｉｚを基に、前記誤差データ記憶部１０に格納された誤差データを参照して、指令位置Ｉｘ，Ｉｙ，Ｉｚに対する補正量Ｃｘ，Ｃｙ，Ｃｚを算出する機能部である。具体的には、指令位置Ｉｘ，Ｉｙ，Ｉｚが各格子点に当たる場合には、前記誤差データ記憶部１０に格納された当該格子点における誤差データを基に、Ｘ軸，Ｙ軸及びＺ軸方向の各誤差を補償する補正量Ｃｘ，Ｃｙ，Ｃｚを算出する。
【００４３】
また、図９に示すように、位置指令Ｉｘ，Ｉｙ，Ｉｚに係る位置Ｐが格子点Ｐ１〜Ｐ８の間に在る場合には、補正量算出部６は、次式によって補正量Ｃｘ，Ｃｙ，Ｃｚを算出する。
【００４４】
【数１】
0006595273.tif 000002
【００４５】
【数２】
0006595273.tif 000003
【００４６】
【数３】
0006595273.tif 000004
【００４７】
但し、ｘ，ｙ，ｚは、位置Ｐの格子点間における内分比であり、Ｃｘｎ，Ｃｙｎ，Ｃｚｎは格子点Ｐｎにおける補正量である（ｎ＝１〜８）。
【００４８】
前記修正量算出部７は、前記位置指令部４から受信した工具情報（使用工具に係る情報）を基に、前記工具オフセット記憶部９を参照して、当該使用工具に係るオフセット量を読み出し、読み出したオフセット量と、前記誤差データ記憶部１０に格納された誤差データとを基に、前記補正量算出部６で算出された補正量Ｃｘ，Ｃｙ，Ｃｚに対する修正量Ｍｘ，Ｍｙ，Ｍｚを算出する機能部である。
【００４９】
この修正量はＭｘ，Ｍｙ，Ｍｚは、主軸５４の姿勢誤差に起因し、使用工具の工具長に応じて生じる誤差分を修正するための修正量であって、それぞれ下式によって算出される。
Ｍｘ＝−（Ｅｃｘ＋Ｅｃｙ＋Ｅｃｚ）・Ｌｙ＋（Ｅｂｘ＋Ｅｂｙ＋Ｅｂｚ）・Ｌｚ
Ｍｙ＝−（Ｅａｘ＋Ｅａｙ＋Ｅａｚ）・Ｌｚ＋（Ｅｃｘ＋Ｅｃｙ＋Ｅｃｚ）・Ｌｘ
Ｍｚ＝−（Ｅｂｘ＋Ｅｂｙ＋Ｅｂｚ）・Ｌｘ＋（Ｅａｘ＋Ｅａｙ＋Ｅａｚ）・Ｌｙ
【００５０】
但し、Ｌｘ，Ｌｙ及びＬｚは、主軸５４に装着された工具の先端位置の、予め設定された主軸軸線上の基準位置からの偏差であって、ＬｘはＸ軸方向の偏差、ＬｙはＹ軸方向の偏差、ＬｚはＺ軸方向の偏差である。また、前記工具先端位置は、図１０及び図１１におけるＴｔが相当する。また、前記基準位置は、上述したように、前記ミラー１０２の位置であって、図１０及び図１１に示した位置Ｒに相当する。
【００５１】
ところで、図１１から分かるように、工具先端位置Ｔｔが基準位置ＲからＺ軸方向に偏差Ｌｚで変位している場合には、主軸５４の姿勢誤差によって生じる工具先端位置Ｔｔの位置誤差は、Ｘ軸−Ｚ軸平面で見ると、Ｘ軸方向の誤差が大きく、Ｚ軸方向の誤差は小さい。同様に、Ｘ軸−Ｙ軸平面で見ると、Ｙ軸方向の誤差が大きく、Ｚ軸方向の誤差は小さい。したがって、工具先端位置ＴｔのＺ軸方向の変位（偏差Ｌｚ）は、主にＸ軸方向とＹ軸方向の位置誤差を生じさせるものと考えられ、同様に、工具先端位置ＴｔのＸ軸方向の変位（偏差Ｌｘ）は、主にＹ軸方向とＺ軸方向の位置誤差を生じさせるものと考えられ、また、工具先端位置ＴｔのＹ軸方向の変位（偏差Ｌｙ）は、主にＸ軸方向とＺ軸方向の位置誤差を生じさせるものと考えられる。
【００５２】
斯くして、Ｘ軸方向の位置誤差は、主軸５４の姿勢誤差に起因して生じる偏差Ｌｙ及びＬｚに応じた誤差と見做され、これを補償するための修正量Ｍｘは、上式のように、Ｌｙの補正項及びＬｚの補正項によって算出される。同様に、Ｙ軸方向の位置誤差は、主軸５４の姿勢誤差に起因して生じる偏差Ｌｘ及びＬｚに応じた誤差と見做され、これを補償するための修正量Ｍｙは、上式のように、Ｌｘの補正項及びＬｚの補正項によって算出される。また、Ｚ軸方向の位置誤差は、主軸５４の姿勢誤差に起因して生じる偏差Ｌｘ及びＬｙに応じた誤差と見做され、これを補償するための修正量Ｍｚは、上式のようにＬｘの補正項及びＬｙの補正項によって算出される。
【００５３】
尚、上式は、工具先端位置Ｔｔが基準位置ＲからＸ軸，Ｙ軸及びＺ軸方向にそれぞれ変位している場合の修正量算出式であるが、このように、工具先端位置Ｔｔが基準位置ＲからＸ軸，Ｙ軸及びＺ軸方向にそれぞれ変位する工作機械５０の態様としては、主軸５４が旋回するように構成されたものを例示することができる。一方、上式において、主軸５４が旋回しない構成のように、工具先端位置が主軸軸線上にある場合には、Ｌｘ＝Ｌｙ＝０となるため、この場合には、Ｌｚのみを考慮したＭｘ及びＭｙのみを用いた修正が行われる。
【００５４】
また、Ｅａｘ，Ｅｂｘ，Ｅｃｘ、Ｅａｙ，Ｅｂｙ，Ｅｃｙ、Ｅａｚ，Ｅｂｚ，Ｅｃｚは、位置指令Ｉｘ，Ｉｙ，Ｉｚが各格子点に当たる場合には、前記誤差データ記憶部１０に格納された当該格子点における各誤差データとし、図９に示すように、位置指令Ｉｘ，Ｉｙ，Ｉｚに係る位置Ｐが格子点Ｐ１〜Ｐ８の間に在る場合には、それぞれ下式によって算出される。
【００５５】
Ｅｉｘ＝Ｅｉｘ１・(１−ｘ)＋Ｅｉｘ２・ｘ
Ｅｉｙ＝Ｅｉｙ１・(１−ｙ)＋Ｅｉｙ４・ｙ
Ｅｉｚ＝Ｅｉｚ１・(１−ｚ)＋Ｅｉｚ５・ｚ
【００５６】
但し、ｉ＝ａ，ｂ，ｃである。また、ｘ，ｙ，ｚは、位置Ｐの格子点間における内分比であり、Ｅｉｘｎ、Ｅｉｙｎ及びＥｉｚｎは、格子点Ｐｎにおけるそれぞれの誤差量である（ｎ＝１〜８）。
【００５７】
尚、Ｍｘ、Ｍｙ及びＭｚを算出するための上式において、前の項の正負及び後の項の正負は、それぞれ、前記Ｘ軸，Ｙ軸及びＺ軸の正負の方向に応じて決定されるものである。
【００５８】
前記修正補正量算出部８は、前記補正量算出部６によって算出された位置指令Ｉｘ，Ｉｙ，Ｉｚに対する補正量Ｃｘ，Ｃｙ，Ｃｚと、前記修正量算出部７によって算出された位置指令Ｉｘ，Ｉｙ，Ｉｚに対する修正量Ｍｘ，Ｍｙ，Ｍｚとを基に、位置指令Ｉｘ，Ｉｙ，Ｉｚに対する修正補正量Ｃｘ’，Ｃｙ’，Ｃｚ’を算出し、算出した修正補正量Ｃｘ’，Ｃｙ’，Ｃｚ’を前記位置指令部４からＸ軸制御部１１，Ｙ軸制御部１２及びＺ軸にそれぞれ送信される位置指令Ｉｘ，Ｉｙ，Ｉｚに加算する機能部である。具体的には、修正補正量算出部８は、修正補正量Ｃｘ’を位置指令Ｉｘに加算し、修正補正量Ｃｙ’を位置指令Ｉｙに加算し、修正補正量Ｃｚ’を位置指令Ｉｚに加算する。
【００５９】
尚、修正補正量Ｃｘ’，Ｃｙ’，Ｃｚ’は次式による。
Ｃｘ’＝Ｃｘ＋Ｍｘ
Ｃｙ’＝Ｃｙ＋Ｍｙ
Ｃｚ’＝Ｃｚ＋Ｍｚ
【００６０】
前記Ｘ軸制御部１１は、位置指令部４から送信され、位置補正部５によって補正された位置指令（Ｉｘ＋Ｃｘ’）に従ってＸ軸送り機構５５のＸ軸サーボモータ５５ａをフィードバック制御する。同様に、前記Ｙ軸制御部１２は、位置指令部４から送信され、位置補正部５によって補正された位置指令（Ｉｙ＋Ｃｙ’）に従ってＹ軸送り機構５６のＹ軸サーボモータ５６ａをフィードバック制御する。更に、前記Ｚ軸制御部１３も同様に、位置指令部４から送信され、位置補正部５によって補正された位置指令（Ｉｚ＋Ｃｚ’）に従ってＺ軸送り機構５７のＺ軸サーボモータ５７ａをフィードバック制御する。
【００６１】
以上の構成を備えた本例の数値制御装置１によれば、前記プログラム記憶部２に格納された加工プログラムを起動する実行信号が外部から入力されることによって、処理が開始される。
【００６２】
即ち、前記実行信号が外部から入力されると、まず、前記プログラム解析部３によって、対応する加工プログラムが前記プログラム記憶部２から読み出されて順次解析され、当該加工プログラム中に含まれる動作指令が順次認識され、認識された動作指令が順次位置指令部４に送信される。
【００６３】
そして、送信される動作指令が前記Ｘ軸送り機構５５，Ｙ軸送り機構５６及びＺ軸送り機構５７に係る移動位置及び送り速度である場合には、当該位置指令部４は、それぞれについての所謂機械座標系に係る位置指令Ｉｘ，Ｉｙ，Ｉｚを順次生成して、それぞれ位置指令ＩｘをＸ軸制御部１１に送信し、位置指令ＩｙをＹ軸制御部１２に送信し、位置指令ＩｚをＺ軸制御部１３に送信する。その際、位置指令部４は、現在の使用工具に係る工具オフセット量を前記工具オフセット記憶部９から読み出し、この工具オフセット量を考慮した位置指令Ｉｘ，Ｉｙ，Ｉｚを生成する。
【００６４】
一方、前記位置補正部５では、その前記補正量算出部６により、前記位置指令部４から受信した前記位置指令Ｉｘ，Ｉｙ，Ｉｚを基に、前記誤差データ記憶部１０に格納された誤差データを参照して、当該位置指令Ｉｘ，Ｉｙ，Ｉｚに対する補正量Ｃｘ，Ｃｙ，Ｃｚが算出される。
【００６５】
また、前記修正量算出部７により、前記位置指令部４から受信した工具情報（使用工具に係る情報）を基に、前記工具オフセット記憶部９を参照して、当該使用工具に係るオフセット量を読み出し、読み出したオフセット量と、前記誤差データ記憶部１０に格納された誤差データとを基に、前記補正量算出部６で算出された補正量Ｃｘ，Ｃｙ，Ｃｚに対する修正量Ｍｘ，Ｍｙ，Ｍｚが算出される。
【００６６】
そして、前記修正補正量算出部８により、前記補正量算出部６で算出された補正量Ｃｘ，Ｃｙ，Ｃｚと、前記修正量算出部７で算出された修正量Ｍｘ，Ｍｙ，Ｍｚとを基に、位置指令Ｉｘ，Ｉｙ，Ｉｚに対する修正補正量Ｃｘ’，Ｃｙ’，Ｃｚ’が算出され、それぞれ修正補正量Ｃｘ’が位置指令Ｉｘに加算され、修正補正量Ｃｙ’が位置指令Ｉｙに加算され、修正補正量Ｃｚ’が位置指令Ｉｚに加算されることによって、位置指令Ｉｘ，Ｉｙ，Ｉｚが補正される。
【００６７】
斯くして、Ｘ軸制御部１１は、補正された位置指令（Ｉｘ＋Ｃｘ’）に従ってＸ軸サーボモータ５５ａをフィードバック制御し、前記Ｙ軸制御部１２は、補正された位置指令（Ｉｙ＋Ｃｙ’）に従ってＹ軸サーボモータ５６ａをフィードバック制御し、Ｚ軸制御部１３も同様に、補正された位置指令（Ｉｚ＋Ｃｚ’）に従ってＺ軸サーボモータ５７ａをフィードバック制御する。
【００６８】
このように、本例の数値制御装置１によれば、位置補正部５により、前記Ｘ軸送り機構５５，Ｙ軸送り機構５６，Ｚ軸送り機構５７に対する指令位置Ｉｘ，Ｉｙ，Ｉｚと、前記誤差データ記憶部１０に記憶された誤差データとを基に、前記指令位置Ｉｘ，Ｉｙ，Ｉｚに対する補正量Ｃｘ，Ｃｙ，Ｃｚが算出されるとともに、算出された補正量Ｃｘ，Ｃｙ，Ｃｚによって対応する指令位置Ｉｘ，Ｉｙ，Ｉｚが補正され、このような補正によって、工作機械５０の三次元空間内における運動誤差が高精度に補償される。
【００６９】
そして、位置補正部５は、更に、前記指令位置Ｉｘ，Ｉｙ，Ｉｚと、前記誤差データ記憶部１０に記憶された誤差データと、加工に使用する工具の工具長に係る工具オフセット量とを基に、当該工具長に応じた修正量であって、前記補正量Ｃｘ，Ｃｙ，Ｃｚに対する修正量Ｍｘ，Ｍｙ，Ｍｚを算出し、算出した修正量Ｍｘ，Ｍｙ，Ｍｚによって前記補正量Ｃｘ，Ｃｙ，Ｃｚを修正するようにしているので、主軸５４の姿勢誤差と工具長に応じて生じる工具先端部の位置誤差を補正することができ、三次元空間内における工具の先端位置を、従来に比べてより高精度に位置決め制御することができる。
【００７０】
以上、本発明の一実施形態について説明したが、本発明が採り得る具体的な態様は、何らこれに限定されるものではない。
【００７１】
例えば、上例の前記補正量算出部６では、可動領域を一定間隔毎の格子点に分割し、各格子点における位置決め誤差を基に、補間処理によって任意の指令位置（ｘ，ｙ，ｚ）の誤差を算出して、これを補償する補正量を算出するようにしたが、これに限られるものではなく、幾何学モデルを用い、指令位置（ｘ，ｙ，ｚ）に応じて、幾何学モデルから誤差を予測するようにしても良い。
【００７２】
また、誤差データ記憶部１０に格納される誤差データは、上述した誤差データそのものに限られるものではなく、これらの誤差成分を抽出可能な状態で含むデータ（例えば、ベクトルデータ）であっても良い。
【００７３】
また、上例では、前記補正量Ｃｘ，Ｃｙ，Ｃｚを、位置補正部５、具体的には補正量算出部６によって算出するように構成したが、これに限られるものではなく、この補正量Ｃｘ，Ｃｙ，Ｃｚを予め算出して前記誤差データ記憶部１０などの適宜記憶部に格納するように構成しても良い。この場合、前記補正量算出部６は特に設ける必要はなく、例えば、前記修正補正量算出部８において、指令位置Ｉｘ，Ｉｙ，Ｉｚに応じた補正量Ｃｘ，Ｃｙ，Ｃｚを前記記憶部から読み出すとともに、読み出した補正量Ｃｘ，Ｃｙ，Ｃｚを、前記修正量算出部７によって算出された修正量Ｍｘ，Ｍｙ，Ｍｚで修正するように構成しても良い。
【符号の説明】
【００７４】
１    数値制御装置
２    プログラム記憶部
３    プログラム解析部
４    位置指令部
５    位置補正部
６    補正量算出部
７    修正量算出部
８    修正補正量算出部
９    工具オフセット記憶部
１０  誤差データ記憶部
１１  Ｘ軸制御部
１２  Ｙ軸制御部
１３  Ｚ軸制御部
５５  Ｘ軸送り機構
５５ａ  Ｘ軸サーボモータ
５６  Ｙ軸送り機構
５６ａ  Ｙ軸サーボモータ
５７  Ｚ軸送り機構
５７ａ  Ｚ軸サーボモータ
【図１】
0006595273.tif 000005
【図２】
0006595273.tif 000006
【図３】
0006595273.tif 000007
【図４】
0006595273.tif 000008
【図５】
0006595273.tif 000009
【図６】
0006595273.tif 000010
【図７】
0006595273.tif 000011
【図８】
0006595273.tif 000012
【図９】
0006595273.tif 000013
【図１０】
0006595273.tif 000014
【図１１】
0006595273.tif 000015