"2軸以上の並進軸と、1軸以上のクランプ機構を備えた回転軸とを有する工作機械において、幾何学的な誤差による被加工物に対する工具の位置および姿勢の誤差を補正する、前記工作機械の補正値演算方法であって、前記クランプ機構がクランプ状態でない場合に、前記幾何学的な誤差を表す幾何パラメータを用いて前記回転軸の補正値を演算して更新し、前記クランプ機構がクランプ状態である場合に、前記回転軸の補正値を従前のものに維持する回転軸補正値更新演算ステップと、前記各回転軸の指令値及び前記各並進軸の指令値と前記幾何パラメータを用いて前記並進軸の補正値を演算する並進軸補正値演算ステップと、を含むことを特徴とする工作機械の補正値演算方法。前記並進軸補正値演算ステップにおいて、更に、前記回転軸の補正値を用いて前記並進軸の補正値を演算することを特徴とする請求項1に記載の工作機械の補正値演算方法。前記並進軸補正値演算ステップにおいて、前記クランプ機構がクランプ状態である場合に、前記工具の姿勢の誤差に関する前記幾何パラメータが変更されると、当該変更により発生する前記工具の位置の誤差の変化分を補正するための前記並進軸の補正値を演算することを特徴とする請求項1又は請求項2に記載の工作機械の補正値演算方法。請求項1ないし請求項3の何れかに記載の工作機械の補正値演算方法を、コンピュータに実行させるための工作機械の補正値演算プログラム。工作機械の回転軸の多くは、加工時の剛性を確保するため、クランプ機構を有するものが多い。工具姿勢の補正を行うための補正パラメータが変更もしくは変化して、回転軸の補正値が変化するが、クランプ機構により回転軸がクランプされた状態では、クランプされているにも関わらず回転軸補正値により回転軸が動作しようとするため、回転軸がねじれるなどして大きな負荷がかかり、部材の変形による回転誤差が発生し精度の低下を招く。又、回転軸を駆動するモータがオーバーヒートを起こす可能性もあり、機械の故障を招く恐れもある。そこで、本発明のうち、請求項1~3,4では、回転軸がクランプ状態の時に回転軸の補正値が変化し回転軸が無理に動作するのを回避して、工具の先端点の位置誤差および工具の姿勢誤差を補正するための補正値の演算方法,プログラムを提供することを目的とする。上記目的を達成するために、請求項1に記載の発明は、2軸以上の並進軸と、1軸以上のクランプ機構を備えた回転軸とを有する工作機械において、幾何学的な誤差による被加工物に対する工具の位置および姿勢の誤差を補正する、前記工作機械の補正値演算方法であって、前記クランプ機構がクランプ状態でない場合に、前記幾何学的な誤差を表す幾何パラメータを用いて前記回転軸の補正値を演算して更新し、前記クランプ機構がクランプ状態である場合に、前記回転軸の補正値を従前のものに維持する回転軸補正値更新演算ステップと、前記各回転軸の指令値及び前記各並進軸の指令値と前記幾何パラメータを用いて前記並進軸の補正値を演算する並進軸補正値演算ステップと、を含むことを特徴とするものである。請求項2に記載の発明は、上記発明にあって、前記並進軸補正値演算ステップにおいて、更に、前記回転軸の補正値を用いて前記並進軸の補正値を演算することを特徴とするものである。請求項3に記載の発明は、上記発明にあって、前記並進軸補正値演算ステップにおいて、前記クランプ機構がクランプ状態である場合に、前記工具の姿勢の誤差に関する前記幾何パラメータが変更されると、当該変更により発生する前記工具の位置の誤差の変化分を補正するための前記並進軸の補正値を演算することを特徴とするものである。上記目的を達成するために、請求項4に記載の発明は、上記の工作機械の補正値演算方法をコンピュータに実行させるための工作機械の補正値演算プログラムであることを特徴とする。本発明によれば、回転軸がクランプされた状態において回転軸の補正値を更新せず保持することで、回転軸に無理な負荷が発生せずに工具先端点の位置誤差を補正することが可能になる。以下、本発明に係る実施の形態の例として、図1に示す5軸機における補正について、適宜図面に基づいて説明する。当該補正は補正プログラムを実行するコンピュータにより行われるが、そのコンピュータとは、5軸機の数値制御装置であっても良いし、これと接続された独立の制御装置であっても良いし、これらの組合せであっても良い。なお、当該形態は、下記の例に限定されず、例えば4軸以下や6軸以上の工作機械に適用しても良いし、回転軸によりテーブル3が回転2自由度を持つことに代えて、主軸頭2が回転2自由度を持つこととしても良いし、主軸頭2とテーブル3がそれぞれ回転1自由度以上を持つこととしても良い。又、工作機械として、マシニングセンタ図1に代えて、旋盤、複合加工機、研削盤等を採用することができる。5軸機にあっては、A,C軸の双方に、図示しないクランプ機構が設けられている。クランプ機構は、加工時の剛性を確保するため、加工時あるいはその前後において回転軸をクランプする。クランプ機構は、コンピュータにより、クランプないしアンクランプするように制御される。なお、A,C軸の何れか一方においてクランプ機構を具備しないようにすることができる。又、回転軸数の異なる工作機械において、全ての回転軸にクランプ軸を設けても良いし、一部の回転軸のみクランプ機構を具備するようにしても良い。図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~S5を、回転軸の数nだけ繰り返す。ステップS3では、i番目i=1~nの回転軸の新補正値を演算するが、その演算については後述する。次に、ステップS4において、i番目の回転軸がクランプ状態であるかを判定し、クランプ状態ではないアンクランプ状態の場合、ステップS5に移行して、i番目の回転軸補正値をステップS3で算出した新補正値に更新する。一方、クランプ状態であれば、回転軸補正値は更新されず、前回演算した値のままとなる。全ての回転軸に対して回転軸の補正値を演算した後、ステップS6において、並進軸の補正値の演算を行う。一連の補正値演算は、補正値を更新する周期毎に行い、その間、補正値を、図示しない記憶手段において記憶しておく。なお、各軸の補正値の初期値は0とする。又、ステップS4でのクランプ状態の判定は、クランプ指令の有無で行っても良いし、クランプ機構に設けたセンサにおける信号の状態により行っても良い。ステップS3の演算の説明の前に、ステップS6の並進軸の補正値の演算方法について説明する。主軸頭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軸の新補正値ΔatempとC軸の新補正値Δctempは、次の[数9]により求められる。そして、回転軸がクランプ状態でなければ、ステップS5にて、各新補正値を、対応する回転軸の補正値に代入する。例えば、A,C軸ともクランプ状態でなければ、次の[数10]に示す処理が行われる。このようにして求めた各回転軸の補正値を、対応する指令値にそれぞれ加算して指令することで、幾何誤差による工具の姿勢誤差を補正することができる。更に、この回転軸補正値に基づいて、上述のように並進軸の補正値を演算し、求めた各並進軸の補正値を、対応する指令値にそれぞれ加算して指令することで、幾何誤差による工具先端点の位置誤差も、同時に補正することができる。なお、回転軸の位置や、回転軸と幾何誤差成分の対応、開始位置終了位置は、予め関連付けや設定をしておくと、実際の補正値演算時には、[数9]の右辺の加算のみを行うだけで済み、よって計算量が非常に少なく演算できる。一方、回転軸がクランプ状態である場合、回転系の幾何パラメータα、β、γを変更してもは任意の添え字を示す、クランプ中である回転軸についてステップS5は実行されないため、前回演算し記憶されている当該回転軸の補正値をそのまま使って並進軸の補正値の演算が行われる。即ち、当該回転軸の補正値が従前のものに維持された状態で、並進軸の補正値の演算が行われる。この並進軸の補正値の演算に用いる幾何パラメータは更新されているため、工具姿勢誤差は残るものの、工具先端点の位置誤差はその影響も含めて補正される。更に、トラニオン5自身やワーク7の重量等による変形誤差や、A軸角度誤差や他の軸の位置及び/又は角度に依存して変動する変位等が存在する場合、それらの誤差を変動する幾何誤差として扱う。この場合、予め与えた複数点のデータを用いて各点間を直線もしくは曲線で補間して算出した値や、モデル式から算出した値を幾何パラメータに代入する。例えば、ワーク7の重量によるA軸まわりの回転誤差A軸角度誤差を、変動する幾何誤差α4として扱い、ワーク7の重量や重心等が変数となる変形モデル式を用いて、補正値演算周期毎に算出した値を、α4に代入する。又、A軸をある角度に割り出して加工を行う場合、剛性を上げるためにA軸をクランプする。加工が進むに連れてワーク7の重量や重心が変化するため、A軸まわりの回転誤差が変化し、α4が変更される。この時、A軸がクランプ中であるため、回転軸の補正値は更新されず、並進軸の補正値だけが更新される。その結果、工具姿勢誤差はα4変化分だけ残るが、工具先端点位置誤差は正確に補正される。工具姿勢誤差も補正したい場合は、A軸を一度アンクランプすることで、回転軸補正値が更新され、回転軸が変化分だけ動作して工具姿勢誤差が補正される。この時、同時に並進軸補正値も更新されて並進軸が動作し、回転軸動作により発生する工具先端点位置誤差が補正されることとなる。なお、以上ではクランプ中も回転軸の補正値一時値,ΔatempやΔctempを演算し続けたが、クランプ中は回転軸の補正値の演算を一時停止するようにしても良い。"