"2軸以上の並進軸と1軸以上の回転軸を有する工作機械において、幾何学的な誤差による被加工物に対する工具の位置および姿勢の誤差を補正する、前記工作機械の補正値演算方法であって、前記幾何学的な誤差を表す幾何パラメータを用いて前記回転軸の補正値を演算する回転軸補正値演算ステップと、前記各回転軸の指令値及び前記各並進軸の指令値と前記幾何パラメータを用いて前記並進軸の補正値を演算する並進軸補正値演算ステップと、を含むことを特徴とする工作機械の補正値演算方法。前記並進軸補正値演算ステップにおいて、更に、前記回転軸の補正値を用いて前記並進軸の補正値を演算することを特徴とする請求項1に記載の工作機械の補正値演算方法。前記並進軸補正値演算ステップにおいて、前記回転軸の補正値によって前記回転軸の補正を行うことで、前記並進軸において発生すると想定される誤差を更に補正するための前記並進軸の補正値を演算することを特徴とする請求項1又は請求項2に記載の工作機械の補正値演算方法。前記並進軸補正値演算ステップは、前記各回転軸の指令値及び前記各並進軸の指令値を用いて前記幾何学的な誤差がない場合の理想的な工具位置を演算する理想工具位置演算ステップと、前記各回転軸の指令値及び前記各並進軸の指令値と前記幾何パラメータと前記回転軸補正値演算ステップで算出された前記回転軸の補正値を用いて前記幾何学的な誤差がある場合の実際の工具位置を演算する実工具位置演算ステップと、前記理想的な工具位置と前記実際の工具位置の差分を演算する工具位置誤差演算ステップと、前記差分を座標変換する工具位置座標変換ステップと、を含むことを特徴とする請求項1ないし請求項3の何れかに記載の工作機械の補正値演算方法。前記回転軸補正値演算ステップにおいて、前記回転軸と同じ回転方向の複数の前記幾何パラメータの和もしくは和の逆符号を当該回転軸の補正値とすることを特徴とする請求項1ないし請求項4の何れかに記載の工作機械の補正値演算方法。前記工作機械は前記回転軸を1軸有しており、前記回転軸補正値演算ステップにおいて、前記回転軸と同じ回転方向の全ての前記幾何パラメータの和もしくは和の逆符号を当該回転軸の補正値とすることを特徴とする請求項5に記載の工作機械の補正値演算方法。前記工作機械は前記回転軸を2軸有しており、前記回転軸補正値演算ステップにおいて、工具から工作物までの軸の連鎖とみなし、工具から2番目の前記回転軸までの間における、1番目の前記回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記1番目の回転軸の補正値とし、前記1番目の回転軸から工作物までの間における、前記2番目の回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記2番目の回転軸の補正値とすることを特徴とする請求項5に記載の工作機械の補正値演算方法。前記工作機械は前記回転軸を3軸有しており、前記回転軸補正値演算ステップにおいて、工具から工作物までの軸の連鎖とみなし、工具から2番目の前記回転軸までの間における、1番目の前記回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記1番目の回転軸の補正値とし、前記1番目の回転軸から3番目の前記回転軸までの間における、前記2番目の回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記2番目の回転軸の補正値とし、前記2番目の回転軸から工作物までの間における、前記3番目の回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記3番目の回転軸の補正値とすることを特徴とする請求項5に記載の工作機械の補正値演算方法。請求項1ないし請求項8の何れかに記載の工作機械の補正値演算方法を、コンピュータに実行させるための工作機械の補正値演算プログラム。しかし、特許文献2のものでは、上記[数1]によりA軸指令値aが0の場合は計算できず、A軸指令値aが0の近傍でも非常に大きな値になる、いわゆる特異点であるため、補正値を正しく導出できず例外処理を行う必要があるという課題がある。これは、5軸機が並進軸3軸および回転軸2軸の構成であるため、幾何誤差による空間6自由度並進3自由度、回転3自由度の誤差全てに対応できないという根本的な理由による。又、上述の工具姿勢ベクトルTVGの演算は、工具先端点の位置誤差の補正値の演算とほぼ同じ計算量が必要であり、工具の姿勢誤差を補正するには計算量の増大を招くという課題がある。そこで、本発明のうち、請求項1~8,9では、5軸機を始めとする工作機械において、幾何誤差による工具先端点の位置誤差を補正すると共に工具の姿勢誤差を補正可能であり、しかも計算量が少なく、回転軸指令値に依存しない回転軸の補正値を演算可能である方法,プログラムを提供することを目的とする。上記目的を達成するために、請求項1に記載の発明は、2軸以上の並進軸と1軸以上の回転軸を有する工作機械において、幾何学的な誤差による被加工物に対する工具の位置および姿勢の誤差を補正する、前記工作機械の補正値演算方法であって、前記幾何学的な誤差を表す幾何パラメータを用いて前記回転軸の補正値を演算する回転軸補正値演算ステップと、前記各回転軸の指令値及び前記各並進軸の指令値と前記幾何パラメータを用いて前記並進軸の補正値を演算する並進軸補正値演算ステップと、を含むことを特徴とするものである。請求項2に記載の発明は、上記発明にあって、前記並進軸補正値演算ステップにおいて、更に、前記回転軸の補正値を用いて前記並進軸の補正値を演算することを特徴とするものである。請求項3に記載の発明は、上記発明にあって、前記並進軸補正値演算ステップにおいて、前記回転軸の補正値によって前記回転軸の補正を行うことで、前記並進軸において発生すると想定される誤差を更に補正するための前記並進軸の補正値を演算することを特徴とするものである。請求項4に記載の発明は、上記発明にあって、前記並進軸補正値演算ステップは、前記各回転軸の指令値及び前記各並進軸の指令値を用いて前記幾何学的な誤差がない場合の理想的な工具位置を演算する理想工具位置演算ステップと、前記各回転軸の指令値及び前記各並進軸の指令値と前記幾何パラメータと前記回転軸補正値演算ステップで算出された前記回転軸の補正値を用いて前記幾何学的な誤差がある場合の実際の工具位置を演算する実工具位置演算ステップと、前記理想的な工具位置と前記実際の工具位置の差分を演算する工具位置誤差演算ステップと、前記差分を座標変換する工具位置座標変換ステップと、を含むことを特徴とするものである。請求項5に記載の発明は、上記発明にあって、前記回転軸補正値演算ステップにおいて、前記回転軸と同じ回転方向の複数の前記幾何パラメータの和もしくは和の逆符号を当該回転軸の補正値とすることを特徴とするものである。請求項6に記載の発明は、上記発明にあって、前記工作機械は前記回転軸を1軸有しており、前記回転軸補正値演算ステップにおいて、前記回転軸と同じ回転方向の全ての前記幾何パラメータの和もしくは和の逆符号を当該回転軸の補正値とすることを特徴とするものである。請求項7に記載の発明は、上記発明にあって、前記工作機械は前記回転軸を2軸有しており、前記回転軸補正値演算ステップにおいて、工具から工作物までの軸の連鎖とみなし、工具から2番目の前記回転軸までの間における、1番目の前記回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記1番目の回転軸の補正値とし、前記1番目の回転軸から工作物までの間における、前記2番目の回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記2番目の回転軸の補正値とすることを特徴とするものである。請求項8に記載の発明は、上記発明にあって、前記工作機械は前記回転軸を3軸有しており、前記回転軸補正値演算ステップにおいて、工具から工作物までの軸の連鎖とみなし、工具から2番目の前記回転軸までの間における、1番目の前記回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記1番目の回転軸の補正値とし、前記1番目の回転軸から3番目の前記回転軸までの間における、前記2番目の回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記2番目の回転軸の補正値とし、前記2番目の回転軸から工作物までの間における、前記3番目の回転軸と同じ回転方向の前記幾何パラメータの和もしくは和の逆符号を、前記3番目の回転軸の補正値とすることを特徴とするものである。上記目的を達成するために、請求項9に記載の発明は、上記の工作機械の補正値演算方法をコンピュータに実行させるための工作機械の補正値演算プログラムであることを特徴とする。本発明によれば、計算量の少ない単純な演算方法で回転軸指令値に依存しない回転軸の補正値を計算量の少ない状態で算出し、5軸機等の工作機械の幾何誤差に起因する工具先端点の位置誤差を補正すると共に、幾何誤差に起因する工具の姿勢誤差も補正することが可能になる。以下、本発明に係る実施の形態の例として、図1に示す5軸機における補正について、適宜図面に基づいて説明する。当該補正は補正プログラムを実行するコンピュータにより行われるが、そのコンピュータとは、5軸機の数値制御装置であっても良いし、これと接続された独立の制御装置であっても良いし、これらの組合せであっても良い。なお、当該形態は、下記の例に限定されず、例えば4軸以下や6軸以上の工作機械に適用しても良いし、回転軸によりテーブル3が回転2自由度を持つことに代えて、主軸頭2が回転2自由度を持つこととしても良いし、主軸頭2とテーブル3がそれぞれ回転1自由度以上を持つこととしても良い。又、工作機械として、マシニングセンタ図1に代えて、旋盤、複合加工機、研削盤等を採用することができる。図3は本発明の制御方法を行うための数値制御装置10の一例である。指令値生成手段11は、加工プログラムGが入力されると、各駆動軸の指令値を生成する。補正値演算手段12は、指令値生成手段11で生成された指令値を基に各軸の補正値を演算し、当該指令値と補正値の合計値を受けたサーボ指令値変換手段13は、各軸のサーボ指令値を演算して、各軸のサーボアンプ14a~14eへ送る。各軸のサーボアンプ14a~14eはそれぞれサーボモータ15a~15eを駆動し、テーブル3に対する主軸頭2の相対位置および姿勢を制御する。次に、幾何誤差について説明する。幾何誤差を各軸間の相対並進誤差3方向および相対回転誤差3方向の合計6成分δx,δy,δz,α,β,γであると定義する。5軸機のテーブル3に固定されるワーク7から主軸頭2に固定される工具までの軸のつながりは、C軸,A軸,Y軸,X軸,Z軸の順番であり、Z軸と工具間及びワーク7とC軸間も考慮すると合計36個の幾何誤差が存在する。但し、36個の幾何誤差の中には冗長の関係にあるものが複数存在するため、最終的な幾何誤差としては、それらを除外する。すると、最終的な幾何誤差は、軸名並びに各幾何誤差の工具側からの順番を添え字として表すと、δx5,δy5,α5,β5,δy4,δz4,β4,γ4,γ3,α2,β2,α1,β1の合計13個となる。これらは、順に、それぞれ、C軸中心位置X方向誤差,C-A軸間オフセット誤差,A軸角度オフセット誤差,C-A軸間直角度,A軸中心位置Y方向誤差,A軸中心位置Z方向誤差,A-X軸間直角度,A-Y軸間直角度,X-Y軸間直角度,Y-Z軸間直角度、Z-X軸間直角度、主軸-Y軸間直角度、主軸-X軸間直角度である。なお、数値制御装置10には、これらの幾何誤差を記憶する記憶手段図示せずが含まれる。続いて、数値制御装置10により実行される、幾何誤差に対する補正値の演算方法について説明する。図4は補正値演算のフローチャートである。ステップS1では工具姿勢誤差の補正を行うかどうかを判定する。工具姿勢誤差を補正しない場合、ステップS2において回転軸の補正値を演算せず0とする。一方、工具姿勢誤差を補正する場合は、ステップS3において回転軸の補正値を演算する。ステップS3の演算については後述する。最後に、ステップS4において並進軸の補正値の演算を行う。ステップS3の演算の説明の前に、ステップS4の並進軸の補正値の演算方法について説明する。主軸頭2にある主軸座標系上の工具先端点ベクトルPTを、テーブル3にあるワーク座標系に変換するには、使用する工具の長さをtとし、X,Y,Z,A,C軸の指令位置をそれぞれx,y,z,a,cとすると、次に示す[数2]を用いて同次座標変換を行うことで求めることができる。即ち、幾何誤差がない場合のワーク座標系での工具先端点ベクトルPIを求める。一方、次の[数3]のように、各幾何誤差を、変換マトリックスとして上記[数2]の各軸の変換マトリックス間に配置することで、幾何誤差がある場合のワーク座標系での工具先端点ベクトルPRを求める。なお、[数3]は幾何誤差が微小であるとしてそれらの積を0とみなした近似式である。従って、ワーク座標系での工具先端点の位置誤差ΔPW=δx,δy,δzは次に示す[数4]となる。更に、ワーク座標系での工具先端点の位置誤差ΔPWを、次の[数5]のように座標変換することで、指令値における誤差ΔPOを求めることができる。よって、各軸の指令値と、上述の式の幾何誤差を予め計測同定したパラメータ幾何パラメータとした下記[数6]により、X,Y,Z軸の補正値ΔP=Δx,Δy,Δzが得られる。このようにして得た各並進軸の補正値ΔPを、対応する並進軸の指令値にそれぞれ加算して指令することで、幾何誤差による工具先端点の位置誤差を補正することができる。又、後述する工具姿勢補正をする場合、回転軸の指令値を補正する必要があるが、この回転軸の補正値により回転軸が動作すると、ワークに対する工具先端点の位置も移動するため、回転軸補正値による工具先端点位置の移動分だけ並進軸補正値を修正する。換言すれば、回転軸の補正を指令することで並進軸において発生すると想定される誤差である当該工具先端点位置の移動分につき並進軸補正値を修正する必要がある。この修正を行うために、幾何誤差がある場合のワーク座標系での工具先端点ベクトルPRを求める際に回転軸指令値に補正値を加算した回転軸補正指令値を用いる。即ち、上記[数3]に代えて次の[数7]を用いる。ここで、ΔaはA軸の補正値、ΔcはC軸の補正値である。なお、[数7]を近似した[数8]を用いても良い。続いて、ステップS3の回転軸の補正演算について説明する。工具からワークまでの軸のつながり順番を考えると、A軸の方がC軸に比べて工具側に近いことから、A軸を第1回転軸、C軸を第2回転軸と呼ぶ。又、工具側から見てA軸は4番目、C軸は5番目に位置する。これらの順番の数を各回転軸の位置に対応付けると、第1回転軸の位置Loc1が4、第2回転軸の位置Loc2が5となる。また、第3回転軸の位置Loc3は、回転軸が2軸しかないため考慮しない。更に、幾何誤差の工具側からの順番についても、幾何誤差の位置と対応付け、1~6で表すことにする。回転軸の補正値は、図5の幾何誤差の開始位置lsと終了位置leの間の幾何パラメータのうち、その回転軸と同じ回転方向の幾何パラメータA軸はα、B軸はβ、C軸はγの合計値の逆符号とする。ここで、は上述の位置を示す数のうち当該回転軸に対応するものが入ることを示す。即ち、第1回転軸の補正値はls1からle1まで、第2回転軸はls2からle2までの合計値の逆符号とする。なお、第3回転軸がある場合はls3からle3までとする。図5に示されるように、補正値として選択する幾何パラメータは、回転軸の数により異なる。回転軸が2軸の場合は、第1回転軸の補正値としては1番目ls1=1から第2回転軸の位置le1=Loc2の幾何パラメータまでであり、第2回転軸の補正値としては、第1回転軸の位置の1つワーク側の位置ls2=Loc11から最終位置le2=6までである。したがって、5軸機の場合は、A軸補正値ΔaとC軸補正値Δcは、次の[数9]により求められる。そして、求めた各回転軸の補正値を、対応する指令値にそれぞれ加算して指令することで、幾何誤差による工具の姿勢誤差を補正することができる。更に、この回転軸補正値に基づいて、上述のように並進軸の補正値を演算し、求めた各並進軸の補正値を、対応する指令値にそれぞれ加算して指令することで、幾何誤差による工具先端点の位置誤差も、同時に補正することができる。なお、回転軸の位置や、回転軸と幾何誤差成分の対応、開始位置終了位置は、予め関連付けや設定をしておくと、実際の補正値演算時には、[数9]の右辺の加算のみを行うだけで済み、よって計算量が非常に少なく演算できる。次いで、本発明の作用効果等につき、数式を用いて説明する。機械には14個の幾何誤差δx5,δy5,α5,β5,γ5,δy4,δz4,β4,γ4,γ3,α2,β2,α1,β1が存在しているとする。なお、以降の式は簡略化のため、幾何誤差が微小であるとして幾何誤差同士の積を0として扱う近似を行っている。ワーク座標系での工具先端点の位置誤差δx,δy,δzは、[数4]を変形した下記[数10]となる。一方、ワーク座標系における工具姿勢誤差は、[数2]及び[数3]のPTをVT=[0010]tに変えたものから求めることができる。よって、工具姿勢誤差δi,δj,δkは次の[数11]となる。回転軸補正指令による工具姿勢誤差の補正効果について検討する。まず、回転軸を補正指令した場合の工具姿勢誤差δi’,δj’,δk’は、次の[数12]で表される。これに対して、幾何誤差が既知であるとして、その値を幾何パラメータとして[数9]で算出される回転軸の補正値は、次の[数13]となる。[数13]を[数12]に代入すると、次に[数14]として示すように、回転軸補正指令後の工具姿勢誤差δi,δj,δkが得られる。[数14]等によれば、回転軸補正指令後の工具姿勢誤差は、α系の幾何誤差が補正され小さくなっており、高精度な加工が可能になる。しかし、β系の幾何誤差の影響が残っている。これは、2つの回転軸では、姿勢誤差の回転3自由度を全て補正することが理論的に不可能であるためである。次に、本発明に即した、回転軸及び並進軸補正指令による工具先端点位置誤差の補正の作用効果につき検討する。回転軸および並進軸の補正値を加味して指令した場合のワーク座標系での工具先端点の位置誤差δx’,δy’,δz’は[数7]を変形した下記[数15]となる。これに対して、幾何誤差が既知であるとして、その値を幾何パラメータとして[数7]を代入した[数6]で算出された並進軸の補正値Δx、Δy、Δzは次の[数16]となる。[数16]を[数15]に代入すると、次の[数17]が得られる。これが並進軸および回転軸補正指令後の工具先端点位置誤差δx,δy,δzである。従って、工具姿勢誤差はβ系の幾何誤差の影響が補正しきれず誤差が残るが、工具先端点位置誤差はβ系の幾何誤差も含めた全ての幾何誤差の影響が補正により消えることになり、加工精度の向上が可能になる。"