(57)【要約】【課題】指令加工形状を定義する基準座標系と実際の加工時の座標系との間に存在する誤差を補正できる数値制御装置を得る。【解決手段】基準座標系と実座標系間には、並進誤差、回転誤差がある。基準座標系上で指令された工具先端点位置Ｐｔにそのときの工具長補正ベクトルＴを加算し、直線軸機械座標位置Ｐｍを求める。この直線軸機械座標位置Ｐｍと、与えられた並進誤差、回転誤差の誤差行列より、工具先端点位置の補正量ΔＤを求める。直線軸機械座標位置Ｐｍにこの補正量ΔＤを加算して、直線軸修正機械座標位置Ｐｍ’を求め、各直線軸をこの直線軸修正機械座標位置Ｐｍ’に駆動する。回転軸は、指令された回転位置に駆動する。基準機械座標系上の工具先端点位置Ｐｔと実機械座標系上の工具先端点位置Ｐｔ'が等しくなる。その結果、被加工物に対して高精度な加工を行うことができる。【選択図】図１
2009009274.tif 000002
【特許請求の範囲】
【請求項１】
テーブルに取付られた被加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
与えられた基準機械座標系に対する実機械座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）と、直線軸機械座標位置及び工具長補正ベクトルから工具先端点位置の補正量（ΔＸ，ΔＹ，ΔＺ）Tを求める補正量算出手段と、前記補正量（ΔＸ，ΔＹ，ΔＺ）Tに基づいて直線軸修正機械座標位置を求める補正手段と、各直線軸は前記直線軸修正機械座標位置へ、各回転軸は指令された回転位置に駆動する手段を有する数値制御装置。
【請求項２】
前記補正量算出手段は、補間周期毎に前記工具先端点位置の補正量を求める請求項１記載の数値制御装置。
【請求項３】
補間周期において前記工具先端点位置の補正量を求める周期かどうか判断する判断手段を有し、前記判断手段において工具先端点位置の補正量を求めると判断した周期において前記補正量算出手段は前記工具先端点位置の補正量を求めて更新記憶し、前記補正手段は、記憶した補正量に基づいて補間周期毎に前記直線軸修正機械座標位置を求める請求項１記載の数値制御装置。
【請求項４】
並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）の誤差基準値を設定する手段を有し、前記並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）は変更可能とし、変更前と変更後の前記並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）の差を求める手段を有し、前記判断手段は、変更前と変更後の前記並進誤差（δx，δy，δz）又は回転誤差（α，β，γ）の差が該設定された誤差基準値よりも大きい場合に前記工具先端点位置の補正量を求める周期と判断する請求項３記載の数値制御装置。
【請求項５】
補間周期回数を設定する手段を有し、前記判断手段は該設定された補間周期回数毎に前記工具先端点位置の補正量を求める周期と判断する請求項３記載の数値制御装置。
【請求項６】
前記工具長補正ベクトルは前記基準機械座標系で指令された基準工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tと前記実機械座標系での実工具長補正ベクトルＴ'(Ｔx'，Ｔy'，Ｔz') Tとする請求項１乃至請求項５記載の数値制御装置。
【請求項７】
前記実工具長補正ベクトルは並進誤差（Ｔδx，Ｔδy，Ｔδz）と回転誤差（Ｔα，Ｔβ，Ｔγ）から成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求める請求項６記載の数値制御装置。
【請求項８】
前記実工具長補正ベクトルは工具方向誤差（ΔＴa）と工具直角方向誤差（ΔＴrx，ΔＴry）から成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求める請求項６記載の数値制御装置。
【請求項９】
前記実工具長補正ベクトルは直線軸方向誤差（ΔＴz，ΔＴx，ΔＴy）Tから成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求める請求項６記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直線軸３軸と回転軸２軸を有する５軸加工機を制御する数値制御装置に関する。特に、組立誤差等から生じる並進誤差、回転誤差等の誤差を補正する数値制御装置に関する。
【背景技術】
【０００２】
工作機械による実際の加工形状は指令加工形状に対して誤差がある。この誤差は、ボールネジのピッチ誤差、工作機械の組立誤差や、コラム等の機械各部や被加工物の自重による変形、温度変化による変形によっても生じる。又、被加工物（ワーク）が取り付けられたテーブルの案内面上の位置に応じて、案内面等が変形し、この変形が加工誤差の原因となる。加工形状は基準座標系に基づいて指令されるが、実際に加工を行うときの座標系はこの基準座標系に対してずれ、誤差が発生しこの誤差によって、加工形状誤差が発生する。
これらの誤差を補正する方法とした、非特許文献１には、座標系間に存在する並進誤差（δx，δy，δz）と回転誤差（α，β，γ）を補正する方法が述べられている。
【０００３】
工作機械が有するｉ軸とｋ軸間の組立誤差（真直度誤差と平行度誤差）を表す誤差行列εikは、Ｘ軸周り、Ｙ軸周り、Ｚ軸周りそれぞれの回転誤差αik、βik、γikによって次の式（１）になることが示されている。なお、αik、βik、γikはそれぞれ十分小さいものとし、ｓｉｎ（αik）をαikで、ｓｉｎ（βik）をβikで、ｓｉｎ（γik）をγikで近似している。また、同次座標系で示している。なお、ｉ、ｋは工作機械が有する任意の軸（直線軸Ｘ、Ｙ、Ｚ、回転軸Ａ、Ｂ、Ｃ）である。
【０００４】
【数１】
2009009274.tif 000003
また、ｉ軸とｋ軸間の組立誤差（軸心ずれ誤差）を表す誤差行列εikは、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向それぞれの並進誤差δxik，δyik，δzikによって、次の式（２）のようになることが示されている。
【０００５】
【数２】
2009009274.tif 000004
２つの座標系間の誤差はこれらの和であるので、一般に２つの座標系間の誤差を表す誤差行列εは、それらの間の回転誤差（α，β，γ）と並進誤差（δx，δy，δz）によって次の式（３）のようになる。
【０００６】
【数３】
2009009274.tif 000005
つまり、Ｘ、Ｙ、Ｚ３軸の基準座標系に対して実座標系がＸ軸周り、Ｙ軸周り、Ｚ軸周りそれぞれの回転誤差α、β、γとＸ軸方向、Ｙ軸方向、Ｚ軸方向それぞれの並進誤差δx、δy、δzを持っているとした場合、基準座標系上のある点Ｐ(Ｐx，Ｐy，Ｐz)Tが基準座標系から実座標系への座標変換後に基準座標系上の点Ｐ'(Ｐx'，Ｐy'，Ｐz')Tとなるとすると、次の式（４）のような関係となる。この関係を図８に示す。なお、各位置も同次座標系で示している。
【０００７】
【数４】
2009009274.tif 000006
点Ｐと点Ｐ’間の基準座標系の直線軸Ｘ，Ｙ，Ｚ軸上の誤差をΔＤ(ΔＸ，ΔＹ，ΔＺ) Tとすると、
ΔＤ＝Ｐ’−Ｐ
となる。
【０００８】
従来、数値制御装置では、図９、図１０に示すように各軸の加減速処理を行われた後に、補正手段において各軸の機械位置に対してピッチ誤差補正や真直度補正などの補正を行っている。  
図９は、工具長補正指令の場合での、数値制御装置の動作処理の概要ブロック図である。又、図１０は、工具先端点制御の場合での、数値制御装置の動作処理の概要ブロック図である。
【０００９】
図９に示す、工具長補正指令の場合、プログラムのブロックを指令解析部１で解析し、この解析結果の工具先端点位置による指令位置に対して工具長補正ベクトル加算要素２により、指令位置である工具先端点位置に工具長補正ベクトルを加算し、直線軸機械座標位置を求める（図１１参照）。該直線軸機械座標位置及び回転軸の指令位置に対して補間手段３で補間を行い各軸の機械座標値を生成し、各軸（Ｘ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸）の加減速処理部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行った後、補正手段５で各軸の加減速処理終了後の指令位置に対し、上述したピッチ誤差補正や真直度補正等が行った後、各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。
【００１０】
また、工具先端点制御の場合は、数値制御装置は、図１０に示したように補間手段３で工具先端点の補間を行い補間された工具先端点位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルを加算し、直線軸機械座標位置を生成し、該直線軸機械座標位置及び補間された回転軸の位置に対して各加減速処理部４ｘ〜４ｃで加減速を行った後に各軸の各種補正を行い、各軸のサーボモータを駆動する。
【００１１】
この図９（図１０）に示す従来の数値制御装置により、上述した非特許文献１に記載された組立誤差等により生じる誤差ΔＤを、補正手段５で補正した場合を図１１に示す。  
図１１では、工具１０が取り付けられている工具ヘッド１１の端面が機械座標位置とされ、数値制御装置は工具ヘッド１１の端面の位置を制御する。そこで、指令位置である工具先端点位置Ｐｔｃに工具長補正ベクトルＴを加算し、工具長補正ベクトルＴが加算された直線軸機械座標位置Ｐｍｃを求め、該直線軸機械座標位置Ｐｍｃ、及び回転軸位置を補間手段３で補間を行い、各軸の機械座標位置を生成し、加減速処理部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行った後の加減速処理終了後の指令位置に対し、上述した組立誤差等により生じる誤差ΔＤ補正して、機械座標位置Ｐｍｃ’を求めて各軸のサーボモータを駆動することになる。しかし、後述するように、この補正により、基準座標系から実座標系へ座標変換による補正を行っても工具先端点位置に対する補正とはならない。つまり、基準座標系上の指令位置と実座標系上の工具先端点位置は相違する。
【００１２】
又、上述した非特許文献１以外にも、工作機械の組付誤差等を補正する方法として、特許文献１には、基準軸心に対する回転軸誤差と指令角度に基づき加工原点を補正することによって、テーブル等の組付誤差や加工誤差から生じる回転軸の傾き誤差、位置誤差を補正する方法が記載されて公知である。
又、特許文献２には、回転軸のずれ量、又は主軸旋回中心のずれ量から、機械誤差がない場合の工具と被加工物の相対関係が保持されるように補正する方法が記載されている。
【００１３】
【特許文献１】特開２００５−５９１０２号公報
【特許文献２】特開２００４−２７２８８７号公報
【非特許文献１】稲崎一郎監修、「工作機械の形状創成理論」、第１版、株式会社養賢堂、１９９７年７月２８日、第７６頁〜第８６頁
【発明の開示】
【発明が解決しようとする課題】
【００１４】
図９、図１０に示した従来の補正手段５で、指令加工形状を定義する基準座標系に対して誤差のある実座標系へ座標変換による補正を行っても機械座標位置に対する補正であるため工具先端点位置に対する補正とはならない。つまり、工具先端点位置に工具長補正ベクトルを加算して直線軸の機械座標位置を求め、該機械座標位置に対して補正したとしても、工具先端点位置を補正したものとはならない。数式上の説明は後述する。さらに、回転軸がなく直線軸だけであれば基準座標系上の指令位置と実座標系上の工具先端点位置の相違量はおおむね静的であり座標系原点を変更するなどの方法で対応可能だが、５軸加工機のように回転軸があると基準座標系上の指令位置と実座標系上の工具先端点位置の相違量は回転軸の位置や工具先端点位置の回転中心からの距離などによって動的に変化する。  したがって、工具先端点位置（加工点）での補正が正しく行われないため精度の良い加工ができない。
【００１５】
又、特許文献１に記載された発明は、基準軸心に対する回転軸誤差と指令角度に基づき加工原点を補正する方法であり、基準軸心に対する回転軸誤差を対象としているのみでは、基準座標系と実座標系の間に存在する並進誤差（δx，δy，δz）と回転誤差（α，β，γ）は正確に補正ができない。例えば、直線軸間（Ｘ軸とＹ軸の間など）に存在する真直度誤差はこの特許文献１の方法では補正できない。  
同様に、特許文献２に記載された回転軸のずれ量、主軸旋回中心のずれ量を補正対象とする補正では、前述したように基準座標系と実座標系の間に存在する並進誤差（δx，δy，δz）と回転誤差（α，β，γ）に対して正確な補正ができない。  
そこで、本発明の目的は、指令加工形状を定義する基準座標系と実際の加工時の座標系との間に存在する全ての誤差を補正できる数値制御装置を提供することにある。
【課題を解決するための手段】
【００１６】
本願請求項１に係る発明は、テーブルに取付られた被加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、与えられた基準機械座標系に対する実機械座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）と、直線軸機械座標位置及び工具長補正ベクトルから工具先端点位置の補正量（ΔＸ，ΔＹ，ΔＺ）Tを求める補正量算出手段と、前記補正量（ΔＸ，ΔＹ，ΔＺ）Tに基づいて直線軸修正機械座標位置を求める補正手段と、各直線軸は前記直線軸修正機械座標位置へ、各回転軸は指令された回転位置に駆動する手段を備え、工具先端点位置の誤差補正を行うものである。
【００１７】
請求項２に係る発明は、前記補正量算出手段を、補間周期毎に前記工具先端点位置の補正量を求めるものとした。さらに、請求項３に係る発明は、補間周期において前記工具先端点位置の補正量を求める周期かどうか判断する判断手段を備え、前記判断手段において工具先端点位置の補正量を求めると判断した周期において前記補正量算出手段は前記工具先端点位置の補正量を求めて更新記憶するようにし、前記補正手段は、記憶した補正量に基づいて補間周期毎に前記直線軸修正機械座標位置を求めるものとした。
【００１８】
請求項４に係る発明は、並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）の誤差基準値を設定する手段を有し、前記並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）は変更可能とし、変更前と変更後の前記並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）の差を求める手段を有し、前記判断手段は、変更前と変更後の前記並進誤差（δx，δy，δz）又は回転誤差（α，β，γ）の差が該設定された誤差基準値よりも大きい場合に前記工具先端点位置の補正量を求める周期と判断するようにした。  
請求項５に係る発明は、補間周期回数を設定する手段を有し、前記判断手段は該設定された補間周期回数毎に前記工具先端点位置の補正量を求める周期と判断するものとした。
請求項６に係る発明は、前記工具長補正ベクトルを前記基準機械座標系で指令された基準工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tと前記実機械座標系での実工具長補正ベクトルＴ'(Ｔx'，Ｔy'，Ｔz') Tとした。又、請求項７に係る発明は、前記実工具長補正ベクトルを並進誤差（Ｔδx，Ｔδy，Ｔδz）と回転誤差（Ｔα，Ｔβ，Ｔγ）から成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求めるものとした。又、請求項８に係る発明は、前記実工具長補正ベクトルを工具方向誤差（ΔＴa）と工具直角方向誤差（ΔＴrx，ΔＴry）から成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求めるものとした。又、請求項９に係る発明は、前記実工具長補正ベクトルを直線軸方向誤差（ΔＴz，ΔＴx，ΔＴy）Tから成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求めるものとした。
【発明の効果】
【００１９】
指令加工形状を定義する基準座標系と加工時の実際の座標系との間の誤差を、加工点である工具先端点位置で補正できることから、高精度な加工ができる。
【発明を実施するための最良の形態】
【００２０】
まず、本発明の原理、基本的なアルゴリズムについて説明する。図１は、本発明の原理、基本的なアルゴリズムの説明図である。図１において、符号１０は、工具であり、符号１１は工具ヘッドである。又、数値制御装置が指令する直線軸機械座標位置Ｐｍは、工具ヘッド１１の端面とされているものとして図１では説明する。  
加工形状を指令する基礎となる基準座標系と実際に加工するときの実座標系間の、並進誤差（δx，δy，δz）と回転誤差（α，β，γ）が与えられたとき、現在の機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz) Tと現在の工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) Tから、次の式（５）によって工具先端点位置の補正量ΔＤ(ΔＸ，ΔＹ，ΔＺ) Tを求める。
【００２１】
【数５】
2009009274.tif 000007
すなわち、式（３）で示される２つの座標系間の誤差を示す誤差行列εと、現在の直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz) Tから現在の工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) Tを減じて得られる工具先端点位置Ｐｔ（Ｐtx，Ｐty，Ｐtz）Tとにより、工具先端点位置Ｐｔ（Ｐtx，Ｐty，Ｐtz）Tの補正量ΔＤ(ΔＸ，ΔＹ，ΔＺ) Tを求める。なお、各式におけるベクトルや行列は同次座標系で表記しているが、最後の項の０や１が自明の場合は特に記載しない。また、Tは転置を表すが自明の場合はTを記載しない場合がある。特に図面では、このTを記載していない。
【００２２】
そして、次の式（６）によって直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz') Tを求め、その位置へ各直線軸を駆動する。又、回転軸は指令された位置に駆動する。これによって、加工点である工具先端点位置Ｐｔ（Ｐtx，Ｐty，Ｐtz）Tでの並進誤差（δx，δy，δz）と回転誤差（α，β，γ）が補正されて精度の良い加工がなされる。
【００２３】
【数６】
2009009274.tif 000008
基準座標系に対する実座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）は基準座標系に対する実座標系のすべての誤差を含ませることができる。つまり、回転軸のずれ量、及び／又は主軸旋回中心のずれ量や、直線軸間（Ｘ軸とＹ軸の間など）に存在する真直度誤差も含めて、基準座標系に対する実座標系のすべての誤差を表現することができ、この補正を行うことによって、精度の高い加工を実施できる。
【００２４】
上記式（６）によって求められる直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz') Tに各直線軸を駆動することによって、工具先端点位置Ｐｔ（Ｐtx，Ｐty，Ｐtz）Tでの並進誤差（δx，δy，δz）Tと回転誤差（α，β，γ）が補正される理由は、次の通りである。
【００２５】
まず、誤差行列εに単位行列Ｅを加算して実機械座標値から基準機械座標値に変換する位置変換行列をＭとする（Ｍ＝Ｅ＋ε）。該位置変換行列Ｍは次の式（７）で表される。
【００２６】
【数７】
2009009274.tif 000009
図１において、基準座標系上の工具先端点位置Ｐｔ(Ｐtx，Ｐty，Ｐtz) T、実座標系上の工具先端点位置Ｐｔ'(Ｐtx'，Ｐty'，Ｐtz') T、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) Tは、次の関係となる。
【００２７】
Ｐｔ'＝Ｍ-1（Ｐｍ’−Ｔ）
＝Ｍ-1（Ｐｍ＋ΔＤ−Ｔ）
＝Ｍ-1（Ｐｍ−Ｔ＋ε(Ｐｍ−Ｔ)）
＝Ｍ-1(Ｅ＋ε)(Ｐｍ−Ｔ)
＝Ｍ-1Ｍ(Ｐｍ−Ｔ)
＝Ｐｔ
となる。つまり、基準座標系上の工具先端点位置Ｐｔ(Ｐtx，Ｐty，Ｐtz) Tと実座標系上の工具先端点位置Ｐｔ'(Ｐtx' ，Ｐty' ，Ｐtz') Tは等しい。  
したがって、修正機械座標位置Ｐｍ'(Ｐmx'， Ｐmy'， Ｐmz') Tへ駆動することによって工具先端点（加工点）におけるすべての誤差を補正することが可能であり、高精度な加工を行うことができることを意味している。
ここで、図９、図１０に示した従来の補正手段５で、指令加工形状を定義する基準座標系に対して誤差のある実座標系へ座標変換による補正を行っても工具先端点位置に対する補正とはならないことを、数式でも説明する。図１１において、基準座標系上の工具先端点位置（指令位置）Ｐｔｃ(Ｐtcx，Ｐtcy，Ｐtcz) T、実座標系上の工具先端点位置Ｐｔｃ'(Ｐtcx'，Ｐtcy'，Ｐtcz') T、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)T、直線軸機械座標位置Ｐｍｃ(Ｐmcx，Ｐmcy，Ｐmcz)T、修正された直線軸機械座標位置Ｐｍｃ’(Ｐmcx'，Ｐmcy'，Ｐmcz')Tは、次の関係となる。ここでΔＤは式（５）と同様のＰｍｃとＰｍｃ’の間における誤差とする。
Ｐｔｃ'＝Ｍ-1（Ｐｍｃ’−Ｔ）
＝Ｍ-1（Ｐｍｃ＋ΔＤ−Ｔ）
＝Ｍ-1（Ｐｍｃ−Ｔ＋εＰｍｃ）
＝Ｍ-1（Ｐｍｃ−Ｔ＋ε（Ｐｍｃ−Ｔ）＋εＴ）
＝Ｍ-1Ｍ(Ｐｍｃ−Ｔ) ＋Ｍ-1εＴ
＝Ｐｔｃ＋Ｍ-1εＴ
つまり、Ｐｔｃ' とＰｔｃはＭ-1εＴだけ相違する。
さらに、図１３に示したように、工具長補正ベクトルは基準機械座標系ではプログラムで指令された基準工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tだが実機械座標系では誤差を持った実工具長補正ベクトルＴ'（Ｔx'，Ｔy'，Ｔz' ）Tである場合がある。つまり、実機械座標系での実工具長補正ベクトルＴ'（Ｔx'，Ｔy'，Ｔz' ）Tは工具自重によるたわみや熱膨張または伸縮あるいは組立誤差などによって基準機械座標系でプログラム指令された基準工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tに対して誤差を持つ場合がある。この場合、補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tは前記数式（５）ではなく次の式（８）によって計算される。
【００２８】
【数８】
2009009274.tif 000010
【００２９】
次に、本発明を各種５軸加工機に適用した動作原理を説明する。  
図２は、本発明の数値制御装置が制御対象とする工具ヘッド回転型機械における本発明の動作原理説明図である。この工具ヘッド回転型機械は、直線軸のＸ、Ｙ、Ｚ軸と工具１０をＹ軸周りに回転させる回転軸のＢ軸と、Ｚ軸周りに回転させる回転軸のＣ軸を備えるものである。ここで、被加工物を取り付けるテーブル１２の実テーブル位置が基準テーブル位置に対して誤差を持っている。実テーブル位置に対応する機械座標系が実機械座標系であり、基準テーブル位置に対応する機械座標系が基準機械座標系である。基準機械座標系に対して実機械座標系は並進誤差（δx，δy，δz）と回転誤差（α，β，γ）を持っている。回転軸Ｂ、Ｃ軸によって工具１０が傾斜しており、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) Tも工具１０の傾斜に応じた値を持っている。
【００３０】
この場合、基準機械座標系に対する実機械座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）が与えられ、現在の直線軸機械座標値Ｐｍ(Ｐmx， Ｐmy， Ｐmz) Tと現在の工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) Tおよび実工具長補正ベクトル用誤差から式（５）又は式（８）によって工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを求める。なお、工具ヘッド１１における、Ｂ軸の回転中心軸とＣ軸の回転中心軸が交差する点が直線軸機械座標位置Ｐｍ(Ｐmx， Ｐmy， Ｐmz) Tである。
【００３１】
そして式（６）によって直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tを求めその位置へ各直線軸を駆動する。又、回転軸のＢ軸、Ｃ軸は指令された回転位置に駆動する。このことにより、基準機械座標系上の工具先端点位置Ｐｔ(Ｐtx，Ｐty，Ｐtz) Tと実機械座標系上の工具先端点位置Ｐｔ'(Ｐtx' ，Ｐty' ，Ｐtz') Tが等しくなる。その結果、実テーブル１２上に設置された被加工物に対して工具先端点（加工点）における高精度な加工を行うことができる。
【００３２】
なお、工具先端点位置の補正量は、補間周期毎に求めてもよいものであるが、前記並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）は変更可能とし変更前と変更後の前記並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）の差を求め、その変更前と変更後の前記並進誤差（δx，δy，δz）及び回転誤差（α，β，γ）の差が設定された誤差基準値よりも大きい場合に前記工具先端点位置の補正量を求め更新するようにすることも可能である。  
また、回数を設定し、設定された補間周期回数毎に前記工具先端点位置の補正量を求め更新するようにしてもよいものである。
【００３３】
図３は、本発明の数値制御装置が制御対象とするテーブル回転型機械おける本発明の動作原理説明図である。このテーブル回転型機械は、直線軸としてＸ、Ｙ、Ｚ軸を備え、被加工物が取り付けられるテーブル１２をＸ軸周りに回転させる回転軸Ａ軸とＺ軸周りに回転させる回転軸Ｃ軸とを備えるものである。この例においても、実テーブル位置が基準テーブル位置に対して誤差を持っている。実テーブル位置に対応する機械座標系が実機械座標系であり、基準テーブル位置に対応する機械座標系が基準機械座標系である。基準機械座標系に対して実機械座標系は並進誤差（δx，δy，δz）と回転誤差（α，β，γ）を持っている。工具は傾斜しないため、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) TについてＴzのみ０でない値を持ちＴx、Ｔyは０である。
【００３４】
この場合、基準機械座標系に対する実機械座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）が与えられ、現在の機械座標値Ｐｍ(Ｐmx， Ｐmy， Ｐmz) Tと現在の工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tおよび実工具長補正ベクトル用誤差から、式（５）又は式（８）によって工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを求める。そして式（６）によって修正機械座標値Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz') Tを求め、その位置へ各直線軸Ｘ、Ｙ、Ｚ軸を駆動する。又、回転軸のＣ軸、Ａ軸は、指令された回転位置に駆動する。そのことにより、基準機械座標系上の工具先端点位置Ｐｔ(Ｐtx，Ｐty，Ｐtz) Tと実機械座標系上の工具先端点位置Ｐｔ'(Ｐtx' ，Ｐty' ，Ｐtz') Tが等しくなる。その結果、実テーブル１２上に設置された被加工物に対して工具先端点（加工点）における高精度な加工を行うことができる。
【００３５】
図４は、本発明の数値制御装置が制御対象とする混合型機械おける本発明の動作原理説明図である。この混合型機械は、Ｘ、Ｙ、Ｚ軸の直線軸と被加工物が取り付けられるテーブル１２をＺ軸周りに回転させる回転軸Ｃ軸と工具１０をＹ軸周りに回転させる回転軸Ｂ軸とを備えたものである。  
テーブル１２の実テーブル位置が基準テーブル位置に対して誤差を持っている。実テーブル位置に対応する機械座標系が実機械座標系であり、基準テーブル位置に対応する機械座標系が基準機械座標系である。基準機械座標系に対して実機械座標系は並進誤差（δx，δy，δz）と回転誤差（α，β，γ）を持っている。工具１０はＹ軸回りの回転軸Ｂ軸で傾斜するため、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)TについてＴx，Ｔzは０でない値を持ちＴyは０である。
【００３６】
この場合、基準機械座標系に対する実機械座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）が与えられ、現在の直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz) Tと現在の工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) T および実工具長補正ベクトル用誤差から、式（５）又は式（８）によって工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを求める。そして式（６）によって直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz') Tを求めその位置へ各直線軸Ｘ、Ｙ、Ｚ軸を駆動する。又、回転軸のＣ軸、Ａ軸は、指令された回転位置に駆動する。そのことにより、基準機械座標系上の工具先端点位置と実機械座標系上の工具先端点位置が等しくなる。その結果、実テーブル上に設置された被加工物に対して工具先端点（加工点）における高精度な加工を行うことができる。
図１４は、本発明の数値制御装置において実工具長補正ベクトルは並進誤差（Ｔδx，Ｔδy，Ｔδz）と回転誤差（Ｔα，Ｔβ，Ｔγ）から成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求める場合の動作原理説明図である。ここでは、基準機械座標系における工具ヘッド座標系を（Xt，Yt，Zt）座標で表すと実機械座標系では工具ヘッド座標系が（Ｘt’，Ｙt’，Ｚt’）座標となり、それらの座標系間の誤差が並進誤差（Ｔδx，Ｔδy，Ｔδz）と回転誤差（Ｔα，Ｔβ，Ｔγ）であることを示している。この場合、実工具長補正ベクトルＴ’（Ｔx’，Ｔy’，Ｔz’）Tは基準工具長補正ベクトルＴ（Ｔx，Ｔy，Ｔz）Tから次のように計算して求める。なお、図１４では実施例として工具ヘッド回転型機械における工具ヘッドの図としている。したがって工具ヘッドには２軸の回転軸がある。
【００３７】
【数９】
2009009274.tif 000011
図１５は、本発明の数値制御装置において実工具長補正ベクトルは工具方向誤差（ΔＴa）と工具直角方向誤差（ΔＴrx，ΔＴry）から成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求める場合の動作原理説明図である。この場合、実工具長補正ベクトルＴ’（Ｔx’，Ｔy’，Ｔz’）Tは基準工具長補正ベクトルＴ（Ｔx，Ｔy，Ｔz）Tから次のように計算して求める。ここで、(eax，eay，eaz)Tは工具方向の単位ベクトル、(erxx，erxy，erxz) T，(eryx，eryy，eryz) Tは工具直角方向の単位ベクトルである。(erxx，erxy，erxz) T，(eryx，eryy，eryz) Tは互いに独立とする。なお、図１５では実施例として混合型機械における工具ヘッドの図としている。したがって工具ヘッドには１軸の回転軸がある。
【００３８】
【数１０】
2009009274.tif 000012
図１６は、本発明の数値制御装置において実工具長補正ベクトルは工具先端点における直線軸方向誤差（ΔＴz，ΔＴx，ΔＴy）Tから成る実工具長補正ベクトル用誤差によって前記基準工具長補正ベクトルから求める場合の動作原理説明図である。この場合、実工具長補正ベクトルＴ’（Ｔx’，Ｔy’，Ｔz’）Tは基準工具長補正ベクトルＴ（Ｔx，Ｔy，Ｔz）Tから次のように計算して求める。なお、図１６では実施例としてテーブル回転型機械における工具ヘッドの図としている。したがって工具ヘッドには回転軸はない。
【００３９】
【数１１】
2009009274.tif 000013
【００４０】
図５は、本発明の第１の実施形態の数値制御装置の要部ブロック図である。この第１の実施形態は、図９に示した工具長補正指令により数値制御を実行する数値制御装置の例であり、図９と比較し、補正手段５にデータを入力する入力データ部７が追加されている点で相違する。  
又、図６は、本発明の第２の実施形態の数値制御装置の要部ブロック図である。この第２の実施形態は、図１０に示した工具先端点制御により数値制御を実行する数値制御装置の例であり、図１０と比較し、補正手段５にデータを入力する入力データ部７が追加されている点で相違する。
【００４１】
この入力データ部７は、基準機械座標系に対する実機械座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) T、さらには、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新するタイミングを決める誤差基準値、補間周期回数を補正手段５に入力するものである。ここで、工具長補正ベクトルが基準機械座標系ではプログラムで指令された基準工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) Tだが実機械座標系では誤差を持った実工具長補正ベクトルＴ'（Ｔx'，Ｔy'，Ｔz' ）Tである場合、前記工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tに対しては基準工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz）Tと実工具長補正ベクトルＴ'（Ｔx'，Ｔy'，Ｔz' ）T用誤差を補正手段５に入力するものである。
【００４２】
基準機械座標系に対する実機械座標系の並進誤差（δx，δy，δz）と回転誤差（α，β，γ）および実工具長補正ベクトル用誤差は、予め機械座標位置に対応して求められており、加工を開始する際には、数値制御装置のメモリに格納されている。又、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tは指令解析処理、補間処理を行うときに従来から求められており、これを利用する。図５に示す第１の実施形態においては、指令解析部１で工具先端点位置に工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tを加算する演算を従来から行っており、この処理で求められた工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tを利用する。又、図６に示す第２の実施形態は、補間手段３で補間された工具先端点位置に対して工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tを加算する処理を従来から行っており、この処理で求められた工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tを利用する。
さらに、並進誤差（δx，δy，δz）と回転誤差（α，β，γ）および実工具長補正ベクトル用誤差は、前記のように加工を開始する際に数値制御装置のメモリに格納されている場合以外にも、図１２のようにパーソナルコンピュータなどの数値制御装置外の装置から加工状況に応じて通信回線を通じて数値制御装置のインタフェースメモリに格納されるように数値制御装置外から与えられる場合もある。
【００４３】
又、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新するタイミングを決める誤差基準値、補間周期回数は予め設定しておく。この補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tの更新は、移動指令が出力される補間周期毎に行ってもよいものであるが、並進誤差や回転誤差は大きな値になるものではないことから、これらを補正する補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを必ずしも補間周期毎に更新する必要がないことから、この更新タイミングを設定するものである。
【００４４】
誤差基準値を設定したときは、入力された並進誤差（δx，δy，δz）と記憶する並進誤差（δx，δy，δz）の差、又は入力された回転誤差（α，β，γ）と記憶する回転誤差（α，β，γ）の差が設定した誤差基準値を超えたとき、工具先端点位置を補正する補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新するものであり、補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新させるため誤差基準値を設定するものである。  
又、補間周期回数は、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新するタイミングを補間周期数で設定するものであり、この補間周期回数を「１」と設定すれば、補間周期毎に補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tの更新がなされ、「ｎ」と設定すれば、補間周期ｎ回毎に補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tの更新がなされるように設定するものである。
【００４５】
図５に示す第１の実施形態の場合、プログラムのブロックを指令解析部１で解析し、この解析結果の工具先端点位置の指令位置に対して、工具長補正ベクトル加算要素２により工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz) Tを加算し、工具長補正ベクトルが加算された直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz) Tを求める。該直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz) T及び指令された回転軸の回転位置に対して補間手段３で補間を行い各軸の機械座標位置を生成し、各軸（Ｘ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸）の加減速処理部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行い、この各軸の加減速処理終了後の直線軸の指令機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz)Tに対して補正手段５で誤差補正処理を実行し、修正された直線軸機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tを求めて、各直線軸Ｘ、Ｙ、Ｚ軸は、この直線軸機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tに、回転軸Ｂ（Ａ）軸、Ｃ軸は加減速処理終了後の指令回転位置に各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。
【００４６】
また、図６に示す第２の実施形態の場合は、指令解析部１でプログラムのブロックを解析しこの解析結果の指令工具先端点位置を補間手段３で補間を行い補間された工具先端点位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tを加算し、直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz)Tを生成し、該直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz)T及び補間された回転軸の回転位置を各加減速処理部４ｘ〜４ｃでそれぞれ加減速を行った後、直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz)Tに対して補正手段５で誤差補正処理を実行し、修正された機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tを求めて各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。なお、回転軸のＢ（Ａ）軸、Ｃ軸に対しては、加減速処理部４ｂ（ａ）、４ｃから出力される加減速処理後の指令位置がそのまま出力される。
【００４７】
図７は、上述した第１、第２の実施形態において、補正手段５で実行する基準機械座標系に対する実機械座標系の誤差を補正する誤差補正処理のアルゴリズムを示すフローチャートである。なお、このフローチャートでは設定された誤差基準値（δx0，δy0，δz0）、（α0，β0，γ0）に基づいて補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tの更新を行うものとしている。
【００４８】
数値制御装置のプロセッサは、補間周期毎にこの図７に示す処理を実行する。  
まず、プログラムで指令された工具先端点位置に対する並進誤差（δx，δy，δz）と回転誤差（α，β，γ）および実工具長補正ベクトル用誤差を読み出し、又、レジスタに記憶されている工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)Tを読み出す（ステップＳ１）。次に、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新するか否かの判断処理を行う（ステップＳ２）。この実施形態では、設定された誤差基準値（δx0，δy0，δz0）、（α0，β0，γ0）に基づいて、この判断を行うものとしており、まず、ステップＳ１で読み取った並進誤差（δx，δy，δz）から、レジスタに記憶する並進誤差（δxp，δyp，δzp）を差し引き、その各要素の絶対値が設定された並進誤差の各基準値（δx0，δy0，δz0）を超えているか判断する。又、ステップＳ１で読み取った回転誤差（α，β，γ）から、レジスタに記憶する回転誤差（αp，βp，γp）を差し引き、その各要素の絶対値が、設定された回転誤差の各基準値（α0，β0，γ0）を超えているか判断する。この並進誤差又は回転誤差の差の要素のいずれかがそれぞれの設定基準値を超えていれば、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tの更新を行うとしてステップＳ３に進む。又、いずれもそれぞれの設定基準値を超えていなければステップＳ５に進む。  
なお、レジスタに記憶される並進誤差（δxp，δyp，δzp）、回転誤差（αp，βp，γp）は、加工開始の初期設定で最初は「０」が記憶されている。又、レジスタに記憶する工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tも、最初は初期設定で「０」が記憶されている。
【００４９】
ステップＳ２で、「Ｎｏ」の場合、すなわち、並進誤差の差も回転誤差の差のいずれかもそれぞれの設定基準値を超えてないときには、ステップＳ５に進み、、各軸（Ｘ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸）の加減速処理部４ｘ、４ｙ、４ｚで加減速処理された直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz)Tと、レジスタに記憶する工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tに基づいて、式（６）の演算を行って、直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tを求める（ステップＳ５）。そして、該直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tを出力してＸ、Ｙ、Ｚ軸のサーボモータ６ｘ、６ｙ、６ｚを駆動する。又、回転軸のＢ（Ａ）軸、Ｃ軸に対しては、加減速処理部４ｂ（ａ）、４ｃから出力される加減速処理後の指令位置がそのまま出力し、回転軸のサーボモータ６ｂ（ａ）、６ｃを駆動する。
【００５０】
一方、ステップＳ２で、「Ｙｅｓ」のとき、すなわち、並進誤差の差もしくは回転誤差の差、のいずれかがその設定基準値を超えているときには、ステップＳ１で読み込んだ並進誤差（δx，δy，δz）、回転誤差（α，β，γ）を、ステップＳ２での誤差の変化を判断するために、前回変更時の並進誤差（δxp，δyp，δzp）、回転誤差（αp，βp，γp）として、レジスタに記憶し更新する（ステップＳ３）。
【００５１】
次に、加減速処理された直線軸機械座標位置Ｐｍ(Ｐmx，Ｐmy，Ｐmz)TとステップＳ１で読み込んだ工具先端点位置に対する並進誤差（δx，δy，δz）、回転誤差（α，β，γ）、工具長補正ベクトルＴ(Ｔx，Ｔy，Ｔz)T および実工具長補正ベクトル用誤差により、式（５）又は式（８）の演算を行って、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを求め、レジスタに格納しこの補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新する（ステップＳ４）。その後、ステップＳ５に移行し、前述したステップＳ５の処理を実行する。
【００５２】
以上のように、並進誤差の差及び回転誤差の差がいずれもその設定基準値を超えないときは、ステップＳ１、Ｓ２、Ｓ５の処理がなされて、レジスタに記憶されている工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tに基づいて、式（６）の演算がなされて直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tが求められて出力され、Ｘ、Ｙ、Ｚ軸のサーボモータ６ｘ、６ｙ、６ｚが駆動されることになる。又、回転軸Ｂ、Ａ、Ｃ軸は、加減速処理された指令回転位置がそのまま出力されて、それぞれの回転軸のサーボモータ６ｂ、６ａ、６ｃが駆動されることになる。又、並進誤差の差（変化量）又は回転誤差の差（変化量）、のいずれかがその設定基準値を超える毎に、ステップＳ１、Ｓ２、Ｓ３〜Ｓ５の処理がなされて工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tが更新され、この補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tによって、直線軸修正機械座標位置Ｐｍ’(Ｐmx'，Ｐmy'，Ｐmz')Tが求められることになる。
【００５３】
なお、図７で示した例では、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tが更新タイミングを並進誤差の差（変化量）又は回転誤差の差（変化量）がその設定基準値を超えた補間周期としたが、補間周期毎に、工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新するものとしたときは、ステップＳ２、Ｓ３の処理がなくなりステップＳ１からステップＳ４に移行するようにすればよい。又、設定補間周期数毎に工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tを更新するものとしたときは、ステップＳ２、Ｓ３の代わりに、補間周期を計数するカウンタ（１インクリメントするカウンタ）を設け、該カウンタの値が設定値以上か判断し、設定値以上になったとき、該カウンタを「０」にクリアして、ステップＳ４に移行し、ステップＳ４、ステップＳ５の処理を実行させ、カウンタが設定値まで達していないときには、ステップＳ４の処理は実行せず、ステップＳ５の処理だけを実行するようにすればよいものである。
さらに、ステップＳ２では，実工具補正ベクトル用誤差についても判断を行うことも可能である。例えば実工具補正ベクトル用誤差が工具方向誤差（ΔＴa）と工具直角方向誤差（ΔＴrx，ΔＴry）から成る場合、図７のステップＳ２でＮＯと判断されると、さらに設定された工具方向誤差基準値（ΔＴa0）と工具直角方向誤差基準値（ΔＴrx0，Δtry0）に基づいて判断を行う。まず、ステップＳ１で読み取った工具方向誤差（ΔＴa）からレジスタに記憶する工具方向誤差（ΔＴap）を差し引き、その要素の絶対値が設定された工具方向誤差基準値（ΔＴa0）を超えているか判断する。又、ステップＳ１で読み取った工具直角方向誤差（ΔＴrx，ΔＴry）からレジスタに記憶する工具直角方向誤差（ΔＴrxp，ΔＴryp）を差し引きその各要素の絶対値が設定された工具直角方向誤差基準値（ΔＴrx0，ΔＴry0）を超えているか判断する。この工具方向誤差と工具直角方向誤差の差の要素のいずれかがそれぞれの設定基準値を超えていれば、ステップＳ５に進むのでなく工具先端点位置の補正量ΔＤ（ΔＸ，ΔＹ，ΔＺ）Tの更新を行うとしてステップＳ３に進む。又、いずれもそれぞれの設定基準値を超えていなければステップＳ５に進む。又、ステップＳ３では、今回の工具方向誤差（ΔＴa）と工具直角方向誤差（ΔＴrx，ΔＴry）をレジスタΔＴap、レジスタΔＴrxpおよびΔＴrypに記憶する。
【図面の簡単な説明】
【００５４】
【図１】本発明の原理、基本的なアルゴリズムの説明図である。
【図２】工具ヘッド回転型機械に本発明を適用したときの動作原理説明図である。
【図３】テーブル回転型機械に本発明を適用したときの動作原理説明図である。
【図４】混合型機械（工具ヘッドとテーブルが共に回転する機械）に本発明を適用したときの動作原理説明図である。
【図５】本発明の第１の実施形態の数値制御装置の要部ブロック図である。
【図６】本発明の第２の実施形態の数値制御装置の要部ブロック図である。
【図７】本発明の各実施形態における補正手段による誤差補正処理のアルゴリズムを示すフローチャートである。
【図８】基準座標系に対して実座標系が回転誤差と並進誤差を持っているときの、基準座標系上のある点と基準座標系から実座標系への座標変換後にある基準座標系上の点との関係説明図である。
【図９】工具長補正指令の場合での、従来の数値制御装置の動作処理の概要ブロック図である。
【図１０】工具先端点制御の場合での、従来の数値制御装置の動作処理の概要ブロック図である。
【図１１】従来の数値制御装置で組立誤差等により生じる誤差を補正した場合の説明図である。
【図１２】並進誤差（δx，δy，δz）と回転誤差（α，β，γ）および実工具長補正ベクトル用誤差が数値制御装置外から与えられる場合の説明図である。
【図１３】実機械座標系での実工具長補正ベクトルが誤差を持っている場合の説明図である。
【図１４】実工具長補正ベクトル用誤差が並進誤差と回転誤差から成る場合の説明図である。
【図１５】実工具長補正ベクトル用誤差が工具方向誤差と工具直角方向誤差から成る場合の説明図である。
【図１６】実工具長補正ベクトル用誤差が直線軸方向誤差から成る場合の説明図である。
【符号の説明】
【００５５】
１  指令解析部
２  工具長補正ベクトル加算要素
３  補間手段
４ｘ〜４ｃ  加減速処理部
５  補正手段
６ｘ〜６ｃ  サーボモータ
７  入力データ部
１０  工具
１１  工具ヘッド
１２  テーブル
【図１】
2009009274.tif 000014
【図２】
2009009274.tif 000015
【図３】
2009009274.tif 000016
【図４】
2009009274.tif 000017
【図５】
2009009274.tif 000018
【図６】
2009009274.tif 000019
【図７】
2009009274.tif 000020
【図８】
2009009274.tif 000021
【図９】
2009009274.tif 000022
【図１０】
2009009274.tif 000023
【図１１】
2009009274.tif 000024
【図１２】
2009009274.tif 000025
【図１３】
2009009274.tif 000026
【図１４】
2009009274.tif 000027
【図１５】
2009009274.tif 000028
【図１６】
2009009274.tif 000029