(57)【要約】【課題】チルトテーブル７や回転テーブル等の組付誤差及び加工誤差による回転軸の傾き誤差又は位置誤差を補正して加工精度を向上させることができる数値制御装置及びＮＣデータ作成装置を提供する。【解決手段】回転軸を有する加工機の数値制御装置であって、ＮＣデータを記憶するＮＣデータ記憶部１０１と、加工原点を記憶する加工原点記憶部１０８と、ＮＣデータに基づき加工機の指令値を算出する指令値算出部１０２と、加工原点及び指令値に基づき加工機を制御する制御部１０３とを備え、さらに、回転軸の回転軸誤差を記憶する回転軸誤差記憶部１０６と、ＮＣデータに基づき得られた回転軸の指令回転角度を記憶する回転角度記憶部１０５と、回転軸誤差及び指令回転角度に基づき加工原点を補正する加工原点補正部１０７とを備える。【選択図】図９
2005059102.tif 000002
【特許請求の範囲】
【請求項１】
ＮＣデータを記憶するＮＣデータ記憶手段と、
ワークの加工位置を定義するワーク座標系におけるワーク原点又は回転軸を有する加工機の絶対的位置を定義する機械座標系における機械原点である加工原点を記憶する加工原点記憶手段と、
前記ＮＣデータに基づき前記加工機の指令値を算出する指令値算出手段と、
前記加工原点及び前記指令値に基づき前記加工機を制御する制御手段と、を備えた回転軸を有する加工機の数値制御装置において、
前記回転軸の基準軸心に対する回転軸誤差を記憶する回転軸誤差記憶手段と、前記ＮＣデータに基づき得られた前記回転軸の指令回転角度を記憶する指令回転角度記憶手段と、
前記回転軸誤差及び前記指令回転角度に基づき前記加工原点を補正する加工原点補正手段と、を備えたことを特徴とする数値制御装置。
【請求項２】
前記ＮＣデータに基づき前記指令回転角度を算出する指令回転角度算出手段とを備えたことを特徴とする請求項１記載の数値制御装置。
【請求項３】
前記回転軸誤差は、前記回転軸の基準方向ベクトルに対する前記回転軸の実方向ベクトルの傾き誤差であり、
前記加工原点補正手段は、
前記傾き誤差及び前記指令回転角度に基づき前記加工原点記憶手段に記憶された前記加工原点を回転変換した回転変換後加工原点を算出する回転変換後加工原点算出手段と、
前記加工原点記憶手段に記憶された前記加工原点を前記回転変換後加工原点に変更する加工原点変更手段と、を備えたことを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記回転軸誤差は、前記回転軸の基準方向ベクトルに対する前記回転軸の実方向ベクトルの傾き誤差及び前記回転軸の基準軸心上の基準位置に対する前記回転軸の実軸心上位置の位置誤差であり、
前記加工原点補正手段は、
前記位置誤差に基づき前記加工原点を位置変換した位置変換後加工原点を算出する位置変換後加工原点算出手段と、
前記傾き誤差及び前記指令回転角度に基づき前記位置変換後加工原点を回転変換した回転変換後加工原点を算出する回転変換後加工原点算出手段と、
前記位置誤差に基づき前記回転変換後加工原点を位置戻し変換した位置戻し変換後加工原点を算出する位置戻し変換後加工原点算出手段と、
前記加工原点記憶手段に記憶された前記加工原点を前記位置戻し変換後加工原点に変更する加工原点変更手段と、を備えたことを特徴とする請求項１又は２に記載の数値制御装置。
【請求項５】
前記回転軸誤差は、前記回転軸の基準軸心上の基準位置に対する前記回転軸の所定角度毎の前記回転軸の実軸心上位置の角度毎位置誤差であり、
前記加工原点補正手段は、
前記角度毎位置誤差及び前記指令回転角度に基づき前記加工原点を位置変換した位置変換後加工原点を算出する位置変換後加工原点算出手段と、
前記指令回転角度に基づき前記位置変換後加工原点を回転変換した回転変換後加工原点を算出する回転変換後加工原点算出手段と、
前記角度毎位置誤差及び前記指令回転角度に基づき前記回転変換後加工原点を位置戻し変換した位置戻し変換後加工原点を算出する位置戻し変換後加工原点算出手段と、
前記加工原点記憶手段に記憶された前記加工原点を前記位置戻し変換後加工原点に変更する加工原点変更手段と、を備えたことを特徴とする請求項１又は２に記載の数値制御装置。
【請求項６】
ＮＣデータを記憶するＮＣデータ記憶手段と、
前記ＮＣデータに基づき回転軸を有する加工機の指令値を算出する指令値算出手段と、
前記指令値に基づき前記加工機を制御する制御手段と、を備えた回転軸を有する加工機の数値制御装置において、
前記回転軸の基準軸心に対する回転軸誤差を記憶する回転軸誤差記憶手段と、前記ＮＣデータに基づき得られた前記回転軸の指令回転角度を記憶する指令回転角度記憶手段と、
前記回転軸誤差及び前記指令回転角度に基づき前記指令値を補正する指令値補正手段と、を備えたことを特徴とする数値制御装置。
【請求項７】
ワーク形状データを記憶する形状データ記憶手段と、
前記ワークの加工に使用する回転軸を有する加工機の機械構成データを記憶する機械構成データ記憶手段と、
前記形状データ及び前記機械構成データに基づき前記加工機を数値制御するためのＮＣデータを作成するＮＣデータ作成手段と、を備えた回転軸を有する加工機のＮＣデータ作成装置において、
前記ＮＣデータ作成手段は、
前記回転軸の基準軸心に対する回転軸誤差を記憶する回転軸誤差記憶手段と、前記形状データ及び前記機械構成データに基づき前記ＮＣデータの基本ＮＣデータを作成する基本ＮＣデータ作成手段と、
前記基本ＮＣデータに基づき得られた前記回転軸の指令回転角度を記憶する指令回転角度記憶手段と、
前記回転軸誤差及び前記指令回転角度に基づき前記基本ＮＣデータを補正した補正ＮＣデータを作成する補正ＮＣデータ作成手段と、を備えたことを特徴とするＮＣデータ作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御装置及びＮＣデータ作成装置に関するものである。
【０００２】
【従来の技術】
金型加工等の加工を行うための回転２軸を有する５軸加工機がある。この５軸加工機の構成としては、例えば、ベッドの上にＡ軸回転するチルトテーブルを搭載し、このチルトテーブル上にＢ軸回転する回転テーブルが搭載され、この回転テーブルの上の被加工物を載置するワークテーブルが配設されているものがある（特許文献１参照）。
【０００３】
【特許文献１】
特開平６−１７９１３８号公報
【０００４】
【発明が解決しようとする課題】
ここで、Ａ軸中心及びＢ軸中心は、それぞれの回転角が０°のときのＸ軸及びＹ軸と一致すべきであるが、チルトテーブルや回転テーブル等の組付誤差及び加工誤差により、Ａ軸中心及びＢ軸中心がそれぞれＸ軸及びＹ軸と一致せずに傾き誤差や位置誤差が生じている場合がある。ただし、これらの誤差は非常に微少であるために、従来は、これらの誤差による加工精度への影響は問題となることはなかった。しかし、近年では、より高い加工精度が求められることになり、これらの誤差による加工精度への影響を解消する必要が生じてきた。
【０００５】
本発明は、このような事情に鑑みて為されたものであり、組付誤差及び加工誤差による回転軸の傾き誤差又は位置誤差を補正して加工精度を向上させることができる数値制御装置及びＮＣデータ作成装置を提供することを目的とする。
【０００６】
【課題を解決するための手段及び発明の効果】
請求項１に係る数値制御装置は、ＮＣデータ記憶手段と、加工原点記憶手段と、指令値算出手段と、制御手段とを備える。ここで、ＮＣデータ記憶手段は、ＮＣデータを記憶する手段である。加工原点記憶手段は、ワークの加工位置を定義するワーク座標系におけるワーク原点又は回転軸を有する加工機の絶対的位置を定義する機械座標系における機械原点である加工原点を記憶する手段である。指令値算出手段は、前記ＮＣデータに基づき前記加工機の指令値を算出する手段である。制御手段は、前記加工原点及び前記指令値に基づき前記加工機を制御する手段である。
【０００７】
そして、請求項１に係る数値制御装置の特徴的な構成は、さらに、回転軸誤差記憶手段と、指令回転角度記憶手段と、加工原点補正手段とを備えたことである。ここで、回転軸誤差記憶手段は、前記回転軸の基準軸心に対する回転軸誤差を記憶する手段である。指令回転角度記憶手段は、前記ＮＣデータに基づき得られた前記回転軸の指令回転角度を記憶する手段である。加工原点補正手段は、前記回転軸誤差及び前記指令回転角度に基づき前記加工原点を補正する手段である。
【０００８】
ここで、回転軸の回転指令がある場合に、従来は指令回転角度のみに基づき加工原点を移動させていた。そのため、回転軸の軸心が基準軸心に対して回転軸誤差を有する場合には、実際の加工原点の位置と数値制御装置が記憶している加工原点の位置とが異なる場合があった。その結果、従来は、回転軸の動作に伴い加工精度が悪化するおそれがあった。しかし、本発明によれば、回転軸の基準軸心に対する回転軸誤差を考慮して加工原点を移動（補正）するので、実際の加工原点と数値制御装置が記憶している加工原点とを一致させることができる。その結果、回転軸の動作を行った場合であっても加工精度を良好にすることができる。
【０００９】
請求項２に係る数値制御装置は、さらに、前記ＮＣデータに基づき前記指令回転角度を算出する指令回転角度算出手段とを備えたことを特徴とする。つまり、指令回転角度は、オペレータによる手入力により行うこともあるが、ＮＣデータに基づき数値制御装置内で自動的に指令回転角度を算出することにより、オペレータの負担を軽減することができる。また、ＮＣデータに基づき、数値制御装置内で演算することにより、より正確に指令回転角度を算出することができる。
【００１０】
請求項３に係る数値制御装置は、前記回転軸誤差は、前記回転軸の基準方向ベクトルに対する前記回転軸の実方向ベクトルの傾き誤差であり、前記加工原点補正手段は、前記傾き誤差及び前記指令回転角度に基づき前記加工原点記憶手段に記憶された前記加工原点を回転変換した回転変換後加工原点を算出する回転変換後加工原点算出手段と、前記加工原点記憶手段に記憶された前記加工原点を前記回転変換後加工原点に変更する加工原点変更手段とを備えたことを特徴とする。
【００１１】
ここで、傾き誤差について説明する。例えば、回転軸をＡ軸とした場合には、Ａ軸軸心はＸ軸に一致するのが理想的である。しかし、組付誤差や加工誤差等により誤差を生じる場合がある。この誤差としては、傾き誤差と位置誤差とがある。ここで、傾き誤差とは、Ａ軸の実際のベクトルであるＡ軸実方向ベクトルとＸ軸のベクトルであるＸ軸基準方向ベクトルとの傾きの誤差である。なお、傾き誤差は、例えば、直交三軸のうちの二軸を含むそれぞれの直交三平面とＡ軸実方向ベクトルとの傾き角度としてもよい。この場合、Ａ軸の傾き誤差は、Ａ軸とＸ−Ｙ平面との傾き角度及びＡ軸とＸ−Ｚ平面との傾き角度となる。また、傾き誤差とは、実方向ベクトルと基準方向ベクトルの内積としてもよい。
【００１２】
つまり、本発明によれば、傾き誤差を考慮して加工原点を回転変換するため、傾き誤差を有する回転軸周りに加工原点を回転させることができる。すなわち、実際の加工原点と数値制御装置が記憶している加工原点とを一致させることができる。なお、従来は、数値制御装置内に記憶する加工原点は傾き誤差を考慮することなく回転変換させていたため、例えば、Ａ軸周りに加工原点を回転させる場合には、数値制御装置内に記憶する加工原点は理想的なＸ軸周りに回転させていた。このため、Ａ軸周りに回転した実際の加工原点と理想的なＸ軸周りに回転した数値制御装置が記憶している加工原点が一致していなかった。つまり、本発明によれば、従来のこのような問題を確実に解消することができる。
【００１３】
請求項４に係る数値制御装置は、前記回転軸誤差は、前記回転軸の基準方向ベクトルに対する前記回転軸の実方向ベクトルの傾き誤差及び前記回転軸の基準軸心上の基準位置に対する前記回転軸の実軸心上位置の位置誤差であり、前記加工原点補正手段は、位置変換後加工原点算出手段と、回転変換後加工原点算出手段と、位置戻し変換後加工原点算出手段と、加工原点変更手段とを備えたことを特徴とする。ここで、位置変換後加工原点算出手段は、前記位置誤差に基づき前記加工原点を位置変換した位置変換後加工原点を算出する手段である。回転変換後加工原点算出手段は、前記傾き誤差及び前記指令回転角度に基づき前記位置変換後加工原点を回転変換した回転変換後加工原点を算出する手段である。位置戻し変換後加工原点算出手段は、前記位置誤差に基づき前記回転変換後加工原点を位置戻し変換した位置戻し変換後加工原点を算出する手段である。加工原点変更手段は、前記加工原点記憶手段に記憶された前記加工原点を前記位置戻し変換後加工原点に変更する手段である。
【００１４】
ここで、位置誤差について説明する。位置誤差とは、上述したように、回転軸の基準軸心上の基準位置に対する回転軸の実軸心上位置の誤差である。例えば、回転軸をＡ軸とした場合には、Ａ軸軸心はＸ軸に一致するのが理想的である。従って、Ａ軸の基準軸心とはＸ軸となる。そして、Ｘ軸上の基準位置は、例えば、Ｘ軸座標値が０の位置等とする。この場合、Ａ軸の位置誤差とは、Ｘ軸座標値が０となるＹ−Ｚ平面上とＡ軸との交差する位置となる。
【００１５】
そして、本発明によれば、上述した傾き誤差及び位置誤差を考慮して加工原点を回転変換するため、実際の回転軸周りに加工原点を回転させることができる。すなわち、実際の加工原点と数値制御装置が記憶している加工原点とを確実に一致させることができる。なお、従来は、数値制御装置内に記憶する加工原点は位置誤差を考慮することなく回転変換されていたため、例えば、Ａ軸周りに加工原点を回転させる場合には、数値制御装置内に記憶する加工原点は理想的なＸ軸周りに回転させていた。このため、Ａ軸に位置誤差がある場合には、Ａ軸周りに回転した実際の加工原点と理想的なＸ軸周りに回転した数値制御装置が記憶している加工原点が一致していなかった。つまり、本発明によれば、従来のこのような問題を確実に解消することができる。さらに、上述した傾き誤差を考慮して加工原点を回転させた場合に比べても、位置誤差をも考慮することにより、より正確に実際の加工原点と数値制御装置内に記憶している加工原点とを一致させることができる。
【００１６】
請求項５に係る数値制御装置は、前記回転軸誤差は、前記回転軸の基準軸心上の基準位置に対する前記回転軸の所定角度毎の前記回転軸の実軸心上位置の角度毎位置誤差であり、前記加工原点補正手段は、位置変換後加工原点算出手段と、回転変換後加工原点算出手段と、位置戻し変換後加工原点算出手段と、加工原点変更手段とを備えたことを特徴とする。ここで、位置変換後加工原点算出手段は、前記角度毎位置誤差及び前記指令回転角度に基づき前記加工原点を位置変換した位置変換後加工原点を算出する手段である。回転変換後加工原点算出手段は、前記指令回転角度に基づき前記位置変換後加工原点を回転変換した回転変換後加工原点を算出する手段である。位置戻し変換後加工原点算出手段は、前記角度毎位置誤差及び前記指令回転角度に基づき前記回転変換後加工原点を位置戻し変換した位置戻し変換後加工原点を算出する手段である。加工原点変更手段は、前記加工原点記憶手段に記憶された前記加工原点を前記位置戻し変換後加工原点に変更する手段である。
【００１７】
ここで、角度毎位置誤差について説明する。一般に、回転軸の回転により回転する回転体は、回転軸周りにアンバランスとなる場合がある。そのため、回転体を回転させた場合には、回転角度に応じて異なるモーメントが作用することがある。このように、回転角度に応じて異なるモーメントが作用した場合には、回転角度毎に回転軸心がずれることになる。すなわち、回転軸の実軸心上位置誤差は、回転角度に応じて異なることになる。そこで、本発明によれば、所定角度毎の実軸心上位置である角度毎位置誤差を考慮して加工原点を回転変換するため、回転軸周りにアンバランスがある場合であっても、より正確に実際の回転軸周りに加工原点を回転させることができる。すなわち、回転軸周りにアンバランスがある場合であっても、実際の加工原点と数値制御装置が記憶している加工原点とを回転角度に関わりなく確実に一致させることができる。
【００１８】
これまでは、加工原点を補正することにより、回転軸を有する加工機の回転軸誤差による加工精度への影響を解消したが、これに限られるものではない。例えば、数値制御装置において、ＮＣデータを逐次補正するようにしてもよい。また、ＮＣデータ作成装置において、加工機の回転軸誤差を考慮したＮＣデータを作成するようにしてもよい。
【００１９】
すなわち、請求項６に係る数値制御装置は、ＮＣデータを記憶するＮＣデータ記憶手段と、前記ＮＣデータに基づき回転軸を有する加工機の指令値を算出する指令値算出手段と、前記指令値に基づき前記加工機を制御する制御手段と、を備えた回転軸を有する加工機の数値制御装置において、さらに、回転軸誤差記憶手段と、指令回転角度記憶手段と、指令値補正手段とを備えたことを特徴とする。
ここで、回転軸誤差記憶手段は、前記回転軸の基準軸心に対する回転軸誤差を記憶する手段である。指令回転角度記憶手段は、前記ＮＣデータに基づき得られた前記回転軸の指令回転角度を記憶する手段である。指令値補正手段は、前記回転軸誤差及び前記指令回転角度に基づき前記指令値を補正する手段である。
【００２０】
これにより、上述した数値制御装置と同様の効果を奏することができる。すなわち、本発明によれば、回転軸の基準軸心に対する回転軸誤差を考慮して指令値を補正するので、工具による実際の加工位置と数値制御装置による工具の指令値とを一致させることができる。その結果、回転軸の動作を行った場合であっても加工精度を良好にすることができる。また、上述の数値制御装置における他の特徴的な構成は、本発明の数値制御装置に同様に適用することもできる。これにより、上述した数値制御装置における他の効果と同様の効果を奏することができる。
【００２１】
また、請求項７に係るＮＣデータ作成装置は、ワーク形状データを記憶する形状データ記憶手段と、前記ワークの加工に使用する回転軸を有する加工機の機械構成データを記憶する機械構成データ記憶手段と、前記形状データ及び前記機械構成データに基づき前記加工機を数値制御するためのＮＣデータを作成するＮＣデータ作成手段と、を備えた回転軸を有する加工機のＮＣデータ作成装置において、前記ＮＣデータ作成手段は、回転軸誤差記憶手段と、基本ＮＣデータ作成手段と、指令回転角度記憶手段と、補正ＮＣデータ作成手段とを備えたことを特徴とする。ここで、回転軸誤差記憶手段は、前記回転軸の基準軸心に対する回転軸誤差を記憶する手段である。基本ＮＣデータ作成手段は、前記形状データ及び前記機械構成データに基づき前記ＮＣデータの基本ＮＣデータを作成する手段である。指令回転角度記憶手段は、前記基本ＮＣデータに基づき得られた前記回転軸の指令回転角度を記憶する手段である。補正ＮＣデータ作成手段は、前記回転軸誤差及び前記指令回転角度に基づき前記基本ＮＣデータを補正した補正ＮＣデータを作成する手段である。
【００２２】
これにより、上述した数値制御装置と同様の効果を奏することができる。すなわち、本発明によれば、回転軸の基準軸心に対する回転軸誤差を考慮したＮＣデータ（補正ＮＣデータ）を作成するので、このＮＣデータにより加工機を動作させた場合に、工具による実際の加工位置と数値制御装置による工具の指令値とを一致させることができる。その結果、回転軸の動作を行った場合であっても加工精度を良好にすることができる。また、上述の数値制御装置における他の特徴的な構成は、本発明のＮＣデータ作成装置に同様に適用することもできる。これにより、上述した数値制御装置における他の効果と同様の効果を奏することができる。
【００２３】
【発明の実施の形態】
次に、実施形態を挙げ、本発明をより詳しく説明する。本実施形態において、回転軸を有する加工機は、５軸横型マシニングセンタを例に取り説明する。
【００２４】
（５軸横型マシニングセンタの構成）
５軸横型マシニングセンタ１の構成について、図１を参照して説明する。図１は、５軸横型マシニングセンタ１の外観を示す斜視図である。図１に示すように、５軸横型マシニングセンタ１は、ベッド２と、コラム３と、主軸頭４と、主軸５と、サドル６と、チルトテーブル７と、回転パレット８と、ワークテーブル９と、数値制御装置１０（図９に示す）とから構成される。
【００２５】
ベッド２は、略Ｔ字型に形成された基台２１と、２つのＺ軸ガイド２２と、Ｚ軸駆動用ボールねじ（図示せず）と、Ｚ軸駆動用モータ２３と、Ｘ軸ガイド（図示せず）と、２本のＸ軸駆動用ボールねじ（図示せず）と、２つのＸ軸駆動用モータ２４を有する。Ｚ軸ガイド２２及びＸ軸ガイドは、基台２１上にＺ軸方向及びＸ軸方向にそれぞれ平行に配設されている。Ｚ軸駆動用ボールねじは、Ｚ軸ガイド２２のほぼ中央に、Ｚ軸ガイド２２に平行に配設されている。２本のＸ軸駆動用ボールねじは、Ｘ軸ガイドのほぼ中央に、Ｘ軸ガイドに平行に配設されている。これらのＺ軸駆動用ボールねじ及びＸ軸駆動用ボールねじには、それぞれの軸方向に移動可能なボールねじナットが取り付けられている。Ｚ軸駆動用モータ２３及びＸ軸駆動用モータ２４は、それぞれＺ軸駆動用ボールねじの端側及びＸ軸駆動用ボールねじの端側に配設され、それぞれＺ軸駆動用ボールねじ及びＸ軸駆動用ボールねじを回転駆動する。
【００２６】
コラム３は、ベッド２上に立設されている。具体的には、コラム３の下方側が、Ｚ軸ガイド２２に摺動可能に嵌合されると共に、Ｚ軸駆動用ボールねじのボールねじナットに連結されている。すなわち、コラム３は、Ｚ軸駆動用ボールねじの回転駆動に伴い、Ｚ軸ガイド２２に沿ってＺ軸方向に摺動する。そして、コラム３は、Ｙ軸ガイド（図示せず）と、２本のＹ軸駆動用ボールねじ（図示せず）と、２つのＹ軸駆動用モータ３１とを有する。Ｙ軸ガイドは、コラム３のほぼ中央にＹ軸方向に平行に配設されている。Ｙ軸駆動用ボールねじは、Ｙ軸ガイドのほぼ中央に、Ｙ軸ガイドに平行に配設されている。このＹ軸駆動用ボールねじには、軸方向に移動可能なボールねじナットが取り付けられている。そして、Ｙ軸駆動用モータ３１は、Ｙ軸駆動用ボールねじの端側に配設され、Ｙ軸駆動用ボールねじを回転駆動する。
【００２７】
主軸頭４は、コラム３の中央に配設されている。具体的には、主軸頭４は、Ｙ軸ガイドに摺動可能に嵌合されると共に、Ｙ軸駆動用ボールねじのボールねじナットに連結されている。すなわち、主軸頭４は、Ｙ軸駆動用ボールねじの回転駆動に伴い、Ｙ軸ガイドに沿ってＹ軸方向に摺動する。主軸５は、主軸頭４に回動可能に枢支されている。すなわち、主軸５は、Ｚ軸周り（Ｃ軸）に回動可能となる。そして、主軸５の先端側には、工具が装着可能となっている。
【００２８】
サドル６は、ベッド２上に配設されている。このサドル６は、後述するチルトテーブル７を支持する一対の支持部６１をＸ軸方向両端側に有する。さらに、この支持部６１の一方側には、チルトテーブル７を回転可能とするＡ軸回転用モータ（図示せず）が配設されている。さらに、サドル６の下方側が、Ｘ軸ガイドに摺動可能に嵌合されると共に、Ｘ軸駆動用ボールねじのボールねじナットに連結されている。すなわち、サドル６は、Ｘ軸駆動用ボールねじの回転駆動に伴い、Ｘ軸ガイドに沿ってＸ軸方向に摺動する。
【００２９】
チルトテーブル７は、略コの字型形状からなり、両端側がサドル６の一対の支持部６１に回転可能に軸支されている。このチルトテーブル７の回転軸は、Ｘ軸に平行な軸（Ａ軸）となる。なお、チルトテーブル７は、サドル６の支持部６１に配設されているＡ軸回転用モータの駆動により、Ａ軸回転を行う。さらに、チルトテーブル７の下面側には、回転パレット８を回転可能とするＢ軸回転用モータ（図示せず）が配設されている。
【００３０】
回転パレット８は、チルトテーブル７上に載置され、チルトテーブル７の載置面に垂直な方向に回転可能に支持されている。すなわち、チルトテーブル７が図１に示す状態の場合には、回転パレット８の回転軸は、Ｙ軸に平行な軸（Ｂ軸）となる。なお、回転パレット８は、チルトテーブル７の下面側に配設されているＢ軸回転用モータの駆動により、Ｂ軸回転を行う。
【００３１】
ワークテーブル９は、回転パレット８の上に配設され、ワーク（被加工物）を載置可能である。従って、ワークテーブル９は、主軸５に対して、回転パレット８のＢ軸回転によりＢ軸回転が可能となり、チルトテーブル７のＡ軸回転によりＡ軸回転が可能となる。なお、図１に示す状態が、Ａ軸及びＢ軸の回転角０°と定義される。
【００３２】
数値制御装置１０は、入力されるＮＣデータに基づき、Ｘ軸駆動用モータ２４、Ｙ軸駆動用モータ３１、Ｚ軸駆動用モータ２３、Ａ軸回転用モータ、及び、Ｂ軸回転用モータを制御する。
【００３３】
（回転軸が有する誤差について）
次に、５軸横型マシニングセンタ１の回転軸が有する誤差について図２を参照して説明する。５軸横型マシニングセンタ１の回転軸のうちチルトテーブル７が回転するＡ軸は、Ｘ軸と一致することが理想的な状態である。また、５軸横型マシニングセンタ１の回転軸のうち回転パレット８が回転するＢ軸は、図１に示す状態においては、Ｙ軸と一致することが理想的な状態である。さらに、Ａ軸とＢ軸とは、Ｘ軸及びＺ軸の交点において交差することが理想的な状態である。
【００３４】
ところが、チルトテーブル７を軸支するためのサドル６の一対の支持部６１に形成された貫通孔の加工誤差、サドル６及びチルトテーブル７の組付誤差等により、Ａ軸軸心がＸ軸と一致しない場合が生じる。すなわち、図２に示すように、Ａ軸軸心がＸ軸に対して、傾き誤差を有する場合がある。ここで、Ａ軸の傾き誤差は、Ｘ−Ｙ平面に対する傾き誤差角度（Ａ軸Ｘ−Ｙ平面傾き誤差角度）αと、Ｘ−Ｚ平面に対する傾き誤差角度（Ａ軸Ｘ−Ｚ平面傾き誤差角度）βとにより表すことができる。
【００３５】
また、回転パレット８を回転支持するためのチルトテーブル７に形成された貫通孔の加工誤差、回転パレット８の組付誤差等により、Ｂ軸軸心が図１の状態においてＹ軸と一致しない場合が生じる。すなわち、図２に示すように、Ｂ軸軸心がＹ軸に対して、傾き誤差を有する場合がある。ここで、Ｂ軸の傾き誤差は、Ｘ−Ｙ平面に対する傾き誤差角度（Ｂ軸Ｘ−Ｙ平面傾き誤差角度）γと、Ｙ−Ｚ平面に対する傾き誤差角度（Ｂ軸Ｙ−Ｚ平面傾き誤差角度）θとにより表すことができる。
【００３６】
また、上述したように、Ａ軸とＢ軸とは、Ｘ軸及びＺ軸の交点において交差することが理想的な状態である。しかし、サドル６及びチルトテーブル７及び回転パレット８等の加工誤差や組付誤差等により、図２に示すように、Ａ軸とＢ軸とがＸ軸及びＺ軸の交点において交差しない場合が生じる。ここで、Ｘ軸及びＺ軸の交点を基準中心位置（基準位置）Ｏ１とする。そして、Ａ軸及びＢ軸のＸ軸座標値及びＺ軸座標値が同一となるＡ軸及びＢ軸の位置をＡ軸中心位置（実軸心上位置）Ｏ２及びＢ軸中心位置（実軸心上位置）Ｏ３とする。ここで、Ａ軸中心位置Ｏ２及びＢ軸中心位置Ｏ３のＸ軸心誤差をΔＸとし、Ａ軸中心位置Ｏ２のＹ軸心誤差をΔＹとし、Ａ軸中心位置Ｏ２のＺ軸心誤差をΔＺとし、Ａ軸中心位置Ｏ２とＢ軸中心位置Ｏ３のＹ軸座標値の差であるＡＢ軸心誤差をΔＨとすると、Ａ軸中心位置Ｏ２の座標は（ΔＸ，ΔＹ，ΔＺ）となり、Ｂ軸中心位置Ｏ３の座標は（ΔＸ，ΔＨ’，ΔＺ）となる。ここで、Ｘ軸心誤差ΔＸ、Ｙ軸心誤差ΔＹ、Ｚ軸心誤差ΔＺ、ＡＢ軸心誤差ΔＨを位置誤差といい、Ｂ軸中心位置Ｏ３のＹ軸座標値ΔＨ’は、ΔＨ−ΔＹとなる。
【００３７】
（誤差算出方法）
次に、上述したそれぞれの傾き誤差及び位置誤差を算出する方法について説明する。誤差算出に際して、予め、図３に示すように、ワークテーブル９の上に基準球（被測定治具）１１ａ，１１ｂを取り付け、さらに、主軸５には工具に換えてタッチセンサ（位置測定センサ）１２を装着しておく。
【００３８】
（Ｂ軸誤差算出方法）
そして、Ｂ軸に関する誤差の算出方法について図４及び図５を参照して説明する。図４は、Ｂ軸誤差算出方法を示すフローチャートである。図５は、基準球１１ａ，１１ｂの中心位置の測定方法を説明する図である。なお、図５（ａ）は機械構成図であって、図５（ｂ）はＢ軸誤差説明用の模式図であって、図５（ｃ）は後述するＡ軸誤差説明用の模式図である。
【００３９】
まず、図５（ａ）に示すように、Ａ軸を９０°回転する（ステップＳ１）。すなわち、ワークテーブル９を主軸５に対向した向きにする。これは、本実施形態の５軸横型マシニングセンタ１の機械構成上、Ｂ軸の全回転角度における測定を行うことを可能とするためである。続いて、現在のワークテーブル９の位置において、タッチセンサ１２を基準球１１ａの表面のうち異なる３箇所以上、好ましくは５箇所以上に当接させる（ステップＳ２）。そして、数値制御装置１０内の演算部（図示せず）にて、基準球１１ａのそれぞれの当接位置に基づき、基準球１１ａの中心位置（図５（ｂ）の位置ａ）を算出する（ステップＳ３）。
【００４０】
続いて、Ｂ軸回転角度ΔＢが３６０°以上であるか否かを判断する（ステップＳ４）。ここでは、Ｂ軸回転角度ΔＢは０°であるので、３６０°以上ではない。従って、この場合には（ステップＳ４：Ｎｏ）、Ｂ軸回転角度ΔＢが９０°となるまで、ワークテーブル９を回転させる（ステップＳ５）。続いて、Ｂ軸回転角度ΔＢが９０°の場合における基準球１１ａの表面のうち異なる３箇所以上にタッチセンサ１２を当接させる（ステップＳ２）。そして、数値制御装置１０内の演算部（図示せず）にて、基準球１１ａのそれぞれの当接位置に基づき、基準球１１ａの中心位置（図５（ｂ）の位置ｂ）を算出する（ステップＳ３）。このようにして、Ｂ軸回転角度ΔＢが３６０°以上となるまで繰り返して、図５（ｂ）の位置ｃ，ｄについても同様に算出する。ここで、各Ｂ軸回転角度における基準球の中心位置ａ，ｂ，ｃ，ｄの座標を、それぞれ（Ｘａ，Ｙａ，Ｚａ），（Ｘｂ，Ｙｂ，Ｚｂ），（Ｘｃ，Ｙｃ，Ｚｃ），（Ｘｄ，Ｙｄ，Ｚｄ）とする。
【００４１】
そして、Ｂ軸回転角度ΔＢが３６０°以上となると（ステップＳ４：Ｙｅｓ）、Ｂ軸Ｘ−Ｙ平面傾き誤差角度γを算出する（ステップＳ６）。ここで、Ｂ軸Ｘ−Ｙ平面傾き誤差角度γの算出について図６を参照して説明する。ここで、図６（ａ）は、ワークテーブル９と基準球１１ａの中心位置を示すＸ−Ｙ平面上の図である。図６（ｂ）は、ワークテーブル９と基準球１１ａの中心位置を示すＹ−Ｚ平面上の図である。図６（ｃ）は、ワークテーブル９と基準球１１ａの中心位置を示すＸ−Ｚ平面上の図である。
【００４２】
まず、基準球１１ａの中心位置ａ，ｃに基づき、Ｙ−Ｚ平面上のＢ軸ベクトルＢ１（図６（ｂ）に示す）を算出する。ここで、Ｂ軸ベクトルは、図５（ｂ）に示すように、Ｂ軸軸心の方向を示すものである。すなわち、Ｙ−Ｚ平面上のＢ軸ベクトルＢ１とは、Ｂ軸軸心（Ｂ軸ベクトル）のＹ−Ｚ成分となる。続いて、このＹ−Ｚ平面上のＢ軸ベクトルＢ１に基づき、Ｂ軸Ｘ−Ｙ平面傾き誤差角度γを算出する。すなわち、Ｂ軸Ｘ−Ｙ平面傾き誤差角度γは、数１に示すように、測定値Ｙａ，Ｙｃ，Ｚａ，Ｚｃにより算出することができる。
【００４３】
【数１】
2005059102.tif 000003
【００４４】
続いて、図４のフローチャートに戻り説明する。Ｂ軸Ｘ−Ｙ平面傾き誤差角度γを算出した後は、Ｂ軸Ｙ−Ｚ平面傾き誤差角度θを算出する（ステップＳ７）。ここで、Ｂ軸Ｙ−Ｚ平面傾き誤差角度θの算出について図６を参照して説明する。まず、基準球１１ａの中心位置ｂ，ｄに基づき、Ｘ−Ｚ平面上のＢ軸ベクトルＢ２（図６（ｃ）に示す）を算出する。ここで、Ｂ軸ベクトルは、上述したように、Ｂ軸軸心の方向を示すものである。すなわち、Ｘ−Ｚ平面上のＢ軸ベクトルＢ２とは、Ｂ軸軸心（Ｂ軸ベクトル）のＸ−Ｚ成分となる。続いて、このＸ−Ｚ平面上のＢ軸ベクトルＢ２に基づき、Ｂ軸Ｙ−Ｚ平面傾き誤差角度θを算出する。すなわち、Ｂ軸Ｙ−Ｚ平面傾き誤差角度θは、数２に示すように、測定値Ｘｂ，Ｘｄ，Ｚｂ，Ｚｄにより算出することができる。
【００４５】
【数２】
2005059102.tif 000004
【００４６】
続いて、図４のフローチャートに戻り説明する。Ｂ軸傾き誤差角度γ，θを算出した後は、Ｂ軸に関する位置誤差ΔＸ，ΔＨ’を算出する（ステップＳ８）。
ここで、Ｂ軸中心位置Ｏ３は、便宜上ワークテーブル９の上面に位置するものとする。すなわち、Ｂ軸に関する位置誤差ΔＸ及びΔＨ’は、図６（ｂ）（ｃ）に示す誤差となる。この場合、Ｂ軸に関する位置誤差ΔＸ及びΔＨ’は、数３により算出することができる。なお、ワークテーブル９の上面から基準球１１ａまでの距離をｈとする。ここで、Ｂ軸に関する位置誤差ΔＸ及びΔＨ’の算出は、数３によれば、実質的には基準球１１ａの中心位置ａ〜ｄに基づき円弧近似を行っているものである。
【００４７】
【数３】
2005059102.tif 000005
【００４８】
（Ａ軸誤差算出方法）
次に、Ａ軸に関する誤差の算出方法について図５及び図７を参照して説明する。図７は、Ａ軸誤差算出方法を示すフローチャートである。まず、図５（ａ）に示すように、Ａ軸を９０°に位置決めする（ステップＳ１１）。すなわち、ワークテーブル９を主軸５に対向した向きにする。続いて、現在のワークテーブル９の位置において、タッチセンサ１２を基準球１１ａの表面のうち異なる３箇所以上、好ましくは５箇所以上に当接させる（ステップＳ１２）。さらに、現在のワークテーブル９の位置において、タッチセンサ１２を基準球１１ｂの表面のうち異なる３箇所以上、好ましくは５箇所以上に当接させる（ステップＳ１３）。続いて、数値制御装置１０内の演算部（図示せず）にて、基準球１１ａ，１１ｂのそれぞれの当接位置に基づき、基準球１１ａの中心位置ａ１（図５（ｃ）に示す）と、基準球１１ｂの中心位置ａ２（図５（ｃ）に示す）を算出する（ステップＳ１４）。
【００４９】
続いて、Ａ軸回転角度ΔＡが９０°以上であるか否かを判断する（ステップＳ１５）。ここでは、Ａ軸回転角度ΔＡは０°であるので、９０°以上ではない。従って、この場合には（ステップＳ１５：Ｎｏ）、Ａ軸回転角度ΔＡが３０°となるまで、ワークテーブル９を回転させる（ステップＳ１６）。続いて、Ａ軸回転角度ΔＡが３０°の場合における基準球１１ａ，１１ｂの表面のうち異なる３箇所以上にタッチセンサ１２を当接させる（ステップＳ１２，Ｓ１３）。続いて、数値制御装置１０内の演算部（図示せず）にて、基準球１１ａ，１１ｂのそれぞれの当接位置に基づき、基準球１１ａ，１１ｂの中心位置ｂ１，ｂ２（図５（ｃ）に示す）を算出する（ステップＳ１４）。このようにして、Ａ軸回転角度ΔＡが９０°以上となるまで繰り返して、図５（ｃ）の位置ｃ１，ｃ２，ｄ１，ｄ２についても同様に算出する。
【００５０】
そして、Ａ軸回転角度ΔＡが９０°以上となると（ステップＳ１５：Ｙｅｓ）、Ａ軸ベクトルを算出する（ステップＳ１７）。ここで、Ａ軸ベクトル（実方向ベクトル）とは、図５（ｃ）に示すように、Ａ軸軸心の方向を示すものである。Ａ軸ベクトルの算出は、具体的には、基準球１１ａのＡ軸各回転角度における中心位置ａ１〜ｄ１に基づき中心位置ａ１〜ｄ１を含む平面を求め、その平面の法線ベクトルを算出することにより行う。なお、この法線ベクトルがＡ軸ベクトルとなる。また、ここでは、基準球１１ａの中心位置ａ１〜ｄ１のみに基づきＡ軸ベクトルを算出したが、基準球１１ｂの中心位置ａ２〜ｄ２のみに基づきＡ軸ベクトルを算出しても良い。
【００５１】
続いて、Ａ軸Ｘ−Ｙ平面傾き誤差角度α及びＡ軸Ｘ−Ｚ平面傾き誤差角度βを算出する（ステップＳ１８）。ここで、Ａ軸Ｘ−Ｙ平面傾き誤差角度α及びＡ軸Ｘ−Ｚ平面傾き誤差角度βは、Ａ軸ベクトルから容易に算出することができるので、詳細は省略する。
【００５２】
続いて、Ａ軸に関する位置誤差ΔＹ及びΔＺを算出する（ステップＳ１９）。ここで、Ａ軸に関する位置誤差ΔＹ及びΔＺの算出は、Ａ軸回転角度に応じて異なるモーメントがかかることを考慮しない場合の簡易的算出方法と、モーメントを考慮する場合の詳細算出方法とがある。そこで、以下に、それぞれの場合について説明する。
【００５３】
（Ａ軸位置誤差のモーメントを考慮した詳細算出方法）
まず、Ａ軸に関する位置誤差ΔＹ及びΔＺの詳細算出方法について図８を参照して説明する。この算出方法は、チルトテーブル７がＡ軸回転することにより、チルトテーブル７にかかるモーメントがＡ軸回転角度に応じて異なることにより、Ａ軸に関する位置誤差ΔＹ及びΔＺがＡ軸回転角度に応じて異なることを考慮した算出方法である。
【００５４】
ここで、図８は、図５（ｃ）のＸ軸方向から見た図であって、基準球１１ａ及び１１ｂの中心位置を模式的に示した図である。なお、図８に示す符号は、図５（ｃ）と同一符号を付している。すなわち、基準球１１ａの中心位置はａ１〜ｄ１であって、基準球１１ｂの中心位置はａ２〜ｄ２である。ここで、基準球１１ａの中心位置ａ１〜ｄ１の座標は、それぞれ（Ｘａ１，Ｙａ１，Ｚａ１），・・・，（Ｘｄ１，Ｙｄ１，Ｚｄ１）とし、基準球１１ｂの中心位置ａ２〜ｄ２の座標は、それぞれ（Ｘａ２，Ｙａ２，Ｚａ２），・・・，（Ｘｄ２，Ｙｄ２，Ｚｄ２）とする。
【００５５】
そして、Ａ軸回転角度ΔＡの角度に応じてＡ軸に関する位置誤差ΔＹ及びΔＺを算出する。まずは、Ａ軸回転角度ΔＡが０°〜３０°間におけるＡ軸に関する位置誤差を算出する。ここでは、Ｙ軸座標値及びＺ軸座標値のみを用いてＡ軸に関するΔＹ及びΔＺを算出する。具体的には、基準球１１ａの中心位置ａ１の座標（Ｙａ１，Ｚａ１）及び中心位置ｂ１の座標（Ｙｂ１，Ｚｂ１）と、基準球１１ｂの中心位置ａ２の座標（Ｙａ２，Ｚａ２）及び中心位置ｂ２の座標（Ｙｂ２，Ｚｂ２）とに基づき、円弧近似を行うことにより、中心位置Ｏａ（ΔＹａ，ΔＺａ）を算出する。そして、この中心位置ＯａのＹ軸座標値がＹ軸方向の位置誤差ΔＹであって、Ｚ軸座標値がＺ軸方向の位置誤差ΔＺとなる。
【００５６】
同様にして、Ａ軸回転角度ΔＡが３０°〜６０°間、６０°〜９０°間における中心位置Ｏｂ（ΔＹｂ，ΔＺｂ），Ｏｃ（ΔＹｃ，ΔＺｃ）を算出する。このようにして、Ａ軸回転角度に応じた位置誤差ΔＹ及びΔＺを算出する。
【００５７】
（Ａ軸位置誤差の簡易的算出方法）
次に、Ａ軸に関する位置誤差ΔＹ及びΔＺの簡易的算出方法について説明する。既に算出した基準球１１ａの中心位置ａ１〜ｄ１に基づき円弧近似を行い、この円弧の中心位置を算出する。そして、算出した円弧の中心位置と、ステップＳ１７にて算出したＡ軸ベクトルとに基づき、Ｙ−Ｚ平面上でかつＡ軸軸心上である位置座標（０，ΔＹ，ΔＺ）を算出する。この位置座標（０，ΔＹ，ΔＺ）のＹ軸座標値及びＺ軸座標値が、Ａ軸に関する位置誤差ΔＹ及びΔＺとなる。なお、ここでは、基準球１１ａの中心位置のみに基づき円弧の中心位置を算出したが、基準球１１ｂの中心位置のみに基づき円弧近似を行い、この円弧の中心位置を算出してもよい。また、Ａ軸位置誤差の簡易的算出方法によりＡ軸位置誤差を算出する場合には、上述した基準球１１ｂの表面位置の測定及びその中心位置の算出は行わなくてよい。
【００５８】
（第１の数値制御装置）
次に、第１の数値制御装置１０について図９及び図１０を参照して説明する。
図９は、第１の数値制御装置の構成を示す図である。図１０は、Ａ軸回転を示す図である。図９に示すように、数値制御装置１０は、ＮＣデータ記憶部１０１と、指令値算出部１０２と、制御部１０３と、回転角度算出部１０４と、回転角度記憶部１０５と、誤差記憶部１０６と、加工原点補正部１０７と、加工原点記憶部１０８とから構成される。
【００５９】
ＮＣデータ記憶部（ＮＣデータ記憶手段）１０１は、ＣＡＭ等により作成されたＮＣデータを入力して記憶する。ここで、ＮＣデータは、工具先端位置の点群データ及び回転軸の回転角度が含まれている。指令値算出部（指令値算出手段）１０２は、ＮＣデータ記憶部１０１に記憶されたＮＣデータに基づき、５軸横型マシニングセンタ１（図１に示す）の各駆動軸の位置及び回転角からなる指令値を算出する。そして、制御部（制御手段）１０３は、指令値算出部１０２により算出された指令値に基づき、各軸駆動用モータ２３，２４，３１等を数値制御する。
【００６０】
回転角度算出部（回転角度算出手段）１０４は、ＮＣデータ記憶部１０１に記憶されたＮＣデータに基づき、５軸横型マシニングセンタ１のＡ軸及びＢ軸のそれぞれの回転角度を算出する。なお、このＡ軸及びＢ軸のそれぞれの回転角度は、割り出し加工を行う場合にはオペレータが自ら行う場合もある。回転角度記憶部（回転角度記憶手段）１０５は、回転角度算出部１０４により算出されたＡ軸及びＢ軸のそれぞれの回転角度を記憶する。具体的には、Ａ軸回転における始点角度ψａ１及び終点角度ψａ２と、Ｂ軸回転における始点角度ψｂ１及び終点角度ψｂ２とを記憶する。
【００６１】
誤差記憶部（誤差記憶手段）１０６は、上述した回転軸誤差を記憶する。すなわち、Ａ軸傾き誤差、Ａ軸位置誤差、Ｂ軸傾き誤差、及び、Ｂ軸位置誤差を記憶する。ここで、Ａ軸傾き誤差は、Ａ軸Ｘ−Ｙ平面傾き誤差角度α及びＡ軸Ｘ−Ｚ平面傾き誤差角度βである。Ａ軸位置誤差は、Ａ軸回転角度毎のＡ軸に関する位置誤差ΔＹ及びΔＺである。Ｂ軸傾き誤差は、Ｂ軸Ｘ−Ｙ平面傾き誤差角度γ及びＢ軸Ｙ−Ｚ平面傾き誤差角度θである。Ｂ軸位置誤差は、Ｂ軸に関する位置誤差ΔＸ及びΔＨ’である。
【００６２】
ここで、Ａ軸位置誤差について詳述する。Ａ軸位置誤差は、Ａ軸の回転角度毎にそれぞれ存在する。ここでは、図１０に示すように、Ａ軸回転角度がω１（＝０°）、ω２（＝３０°）、ω３（＝６０°）、及び、ω４（＝９０°）におけるＡ軸位置誤差ΔＹ１及びΔＺ１、・・・、ΔＹ４及びΔＺ４を記憶する。そして、Ａ軸回転角度が、ω１〜ω２間の角度範囲をＡ（１）とし、ω２〜ω３間の角度範囲をＡ（２）とし、ω３〜ω４間の角度範囲をＡ（３）とする。これら角度範囲Ａ１〜Ａ３についても、誤差記憶部１０６に記憶する。この記憶方式としては、Ａ軸の特定回転角度毎にＡ軸の位置誤差を記憶するテーブル方式や、Ａ軸の回転角度とＡ軸の位置誤差との関係を直線あるいは曲線で近似する関数を定義してその関数を記憶する方式等がある。なお、テーブル方式の場合には、Ａ軸の回転角度を分割する分割角度が小さい程補正精度が向上する。
【００６３】
加工原点記憶部（加工原点記憶手段）１０８は、加工原点を記憶する。ここで、加工原点とは、ワークの加工位置を定義するワーク座標系におけるワーク原点、又は、５軸横型マシニングセンタ１の絶対的位置を定義する機械座標系における機械原点の何れかをいう。加工原点補正部（加工原点補正手段）１０７は、ＮＣデータ記憶部１０１に記憶されたＮＣデータ、回転角度記憶部１０５に記憶された回転角度、及び、誤差記憶部１０６に記憶された回転軸誤差に基づき、加工原点を補正する。
【００６４】
（加工原点補正部の処理）
加工原点補正部１０７の処理について、図１１〜図１４を参照して説明する。図１１〜図１３は、Ａ軸回転における加工原点補正部１０７の処理を示すフローチャートである。図１４は、Ｂ軸回転における加工原点補正部１０７の処理を示すフローチャートである。以下、Ａ軸回転とＢ軸回転とに分けて説明する。
【００６５】
まず、Ａ軸回転に基づく加工原点の補正について説明する。図１１に示すように、回転角度記憶部１０５に記憶された始点角度ψａ１及び終点角度ψａ２を入力する（ステップＳ２１）。続いて、始点角度ψａ１の角度範囲Ａ（ｍ）を算出する（ステップＳ２２）。例えば、始点角度ψａ１が４５°の場合には、図１０から明らかなように、角度範囲はＡ（２）となり、この場合、ｍは２となる。続いて、終点角度ψａ２の角度範囲Ａ（ｎ）と算出する（ステップＳ２３）。例えば、終点角度ψａ２が９０°の場合には、図１０から明らかなように、角度範囲はＡ（３）となり、この場合ｎは３となる。
【００６６】
続いて、始点角度ψａ１の角度範囲Ａ（ｍ）と終点角度ψａ２の角度範囲Ａ（ｎ）とが一致するか否かを判定する（ステップＳ２４）。ここで、それぞれの角度範囲Ａ（ｍ）、Ａ（ｎ）が一致する場合とは、例えば、始点角度ψａ１及び終点角度ψａ２が、０〜３０°の範囲内にある場合等である。
【００６７】
続いて、それぞれの角度範囲Ａ（ｍ）、Ａ（ｎ）が一致する場合には（ステップＳ２４：Ｙｅｓ）、加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ補正する（ステップＳ２５）（位置変換後加工原点算出手段）。すなわち、現在の加工原点のＹ軸座標値及びＺ軸座標値から、ΔＹ（ｍ）及びΔＺ（ｍ）をそれぞれ減算した加工原点（位置変換後加工原点）を算出する。
【００６８】
続いて、始点角度ψａ１から終点角度ψａ２までの回転角度（ψａ２−ψａ１）だけ、位置変換後加工原点を回転変換した加工原点（回転変換後加工原点）を算出する（ステップＳ２６）（回転変換後加工原点算出手段）。この回転変換は、数４に示す回転変換行列式に基づき行われる。数４より明らかなように、Ａ軸傾き誤差であるＡ軸Ｘ−Ｙ平面傾き誤差角度α及びＡ軸Ｘ−Ｚ平面傾き誤差角度βを考慮して、加工原点が回転変換されている。
【００６９】
【数４】
2005059102.tif 000006
【００７０】
続いて、回転変換後加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ戻し補正した加工原点を算出する（ステップＳ２７）（位置戻し変換後加工原点算出手段）。すなわち、回転変換後加工原点のＹ軸座標値及びＺ軸座標値から、−ΔＹ（ｍ）及び−ΔＺ（ｍ）をそれぞれ減算した加工原点（位置戻し変換後加工原点）を算出する。続いて、加工原点記憶部１０８に記憶されている加工原点を上述のように算出された位置戻し変換後加工原点に変更する（ステップＳ２８）（加工原点変更手段）。そして、この加工原点補正部１０７の処理は終了する。
【００７１】
一方、ステップＳ２４において、始点角度ψａ１の角度範囲Ａ（ｍ）と終点角度ψａ２の角度範囲Ａ（ｎ）が一致しない場合には（ステップＳ２４：Ｎｏ）、回転方向を算出する（ステップＳ３１）（図１２参照）。回転方向とは、Ａ軸正方向又はＡ軸負方向であるか否かである。これは、始点角度ψａ１及び終点角度ψａ２から算出することができる。続いて、回転方向が正方向であるか否かを判定する（ステップＳ３２）。
【００７２】
続いて、回転方向が正方向である場合には（ステップＳ３２：Ｙｅｓ）、初期値設定のために、角度ω（ｍ）を始点角度ψａ１とする（ステップＳ３３）。なお、ここでは、始点角度ψａ１が４５°で、終点角度ψａ２が９０°である場合を例にあげて説明する。すなわち、始点角度ψａ１が４５°であるので、ｍは２となる。続いて、加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ補正する（ステップＳ３４）（位置変換後加工原点算出手段）。すなわち、現在の加工原点のＹ軸座標値及びＺ軸座標値から、ΔＹ（２）及びΔＺ（２）をそれぞれ減算した加工原点（位置変換後加工原点）を算出する。
【００７３】
続いて、角度ω（ｍ）から角度ω（ｍ＋１）までの回転角度（ω（ｍ＋１）−ω（ｍ））だけ、位置変換後加工原点を正回転方向に回転変換した加工原点を算出する（ステップＳ３５）（回転変換後加工原点算出手段）。すなわち、始点角度ψａ１である角度４５°から角度６０°（＝ω（３））まで加工原点を回転変換することになる。なお、この回転変換は、上述した数４に示す回転変換行列式に基づき行われる。
【００７４】
続いて、回転変換後加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ戻し補正した加工原点を算出する（ステップＳ３６）（位置戻し変換後加工原点算出手段）。すなわち、回転変換後加工原点のＹ軸座標値及びＺ軸座標値から、−ΔＹ（２）及び−ΔＺ（２）をそれぞれ減算した加工原点（位置戻し変換後加工原点）を算出する。
【００７５】
続いて、ｍ＋１の値をｍとする（ステップＳ３７）。続いて、角度範囲Ａ（ｍ）、Ａ（ｎ）が一致するか否か判定する（ステップＳ３８）。例えば、始点角度ψａ１が４５°であって、終点角度ψａ２が９０°の場合には、最初の角度範囲Ａ（ｍ）は角度範囲Ａ（２）であって、角度範囲Ａ（ｎ）は角度範囲Ａ（３）である。そして、ステップＳ３７にて、ｍの値が１加算されているので、角度範囲Ａ（ｍ）及びＡ（ｎ）は、共にＡ（３）となり一致することになる。
【００７６】
続いて、それぞれの角度範囲Ａ（ｍ）、Ａ（ｎ）が一致する場合には（ステップＳ３８：Ｙｅｓ）、加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ補正する（ステップＳ３９）（位置変換後加工原点算出手段）。すなわち、始点角度ψａ１が４５°の場合には、ここではｍは３となるので、現在の加工原点のＹ軸座標値及びＺ軸座標値から、ΔＹ（３）及びΔＺ（３）をそれぞれ減算した加工原点（位置変換後加工原点）を算出する。一方、それぞれの角度範囲Ａ（ｍ）、Ａ（ｎ）が一致しない場合には（ステップＳ３８：Ｎｏ）、角度範囲Ａ（ｍ）、Ａ（ｎ）が一致するまで、ステップＳ３４に戻り処理を繰り返す。
【００７７】
続いて、角度ω（ｍ）から終点角度ψａ２までの回転角度（ψａ２−ω（ｍ））だけ、位置変換後加工原点を正回転方向に回転変換した加工原点を算出する（ステップＳ４０）（回転変換後加工原点算出手段）。すなわち、始点角度ψａ１が４５°の場合には、角度６０°（＝ω（３））から終点角度９０°まで加工原点を回転変換することになる。なお、この回転変換は、上述した数４に示す回転変換行列式に基づき行われる。
【００７８】
続いて、回転変換後加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ戻し補正した加工原点を算出する（ステップＳ４１）（位置戻し変換後加工原点算出手段）。すなわち、回転変換後加工原点のＹ軸座標値及びＺ軸座標値から、−ΔＹ（３）及び−ΔＺ（３）をそれぞれ減算した加工原点（位置戻し変換後加工原点）を算出する。
【００７９】
続いて、加工原点記憶部１０８に記憶されている加工原点を上述のように算出された位置戻し変換後加工原点に変更して（ステップＳ２８）（加工原点変更手段）、加工原点補正部１０７の処理は終了する。
【００８０】
一方、回転方向が負方向である場合には（ステップＳ３２：Ｎｏ）、初期値設定のために、角度ω（ｍ）を始点角度ψａ１とする（ステップＳ５１）。なお、ここでは、始点角度ψａ１が４５°で、終点角度ψａ２が０°である場合を例にあげて説明する。すなわち、始点角度ψａ１が４５°であるので、ｍは２となる。続いて、加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ補正する（ステップＳ５２）（位置変換後加工原点算出手段）。すなわち、現在の加工原点のＹ軸座標値及びＺ軸座標値から、ΔＹ（２）及びΔＺ（２）をそれぞれ減算した加工原点（位置変換後加工原点）を算出する。
【００８１】
続いて、角度ω（ｍ）から角度ω（ｍ−１）までの回転角度（ω（ｍ）−ω（ｍ−１））だけ、位置変換後加工原点を負回転方向に回転変換した加工原点を算出する（ステップＳ５３）（回転変換後加工原点算出手段）。すなわち、始点角度ψａ１である角度４５°から角度３０°（＝ω（２））まで加工原点を回転変換することになる。なお、この回転変換は、上述した数４に示す回転変換行列式に基づき行われる。
【００８２】
続いて、回転変換後加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ戻し補正した加工原点を算出する（ステップＳ５４）（位置戻し変換後加工原点算出手段）。すなわち、回転変換後加工原点のＹ軸座標値及びＺ軸座標値から、−ΔＹ（２）及び−ΔＺ（２）をそれぞれ減算した加工原点（位置戻し変換後加工原点）を算出する。
【００８３】
続いて、ｍ−１の値をｍとする（ステップＳ５５）。続いて、角度範囲Ａ（ｍ）、Ａ（ｎ）が一致するか否か判定する（ステップＳ５６）。例えば、始点角度ψａ１が４５°であって、終点角度ψａ２が０°の場合には、最初の角度範囲Ａ（ｍ）は角度範囲Ａ（２）であって、角度範囲Ａ（ｎ）は角度範囲Ａ（１）である。そして、ステップＳ５５にて、ｍの値が１減算されているので、角度範囲Ａ（ｍ）及びＡ（ｎ）は、共にＡ（１）となり一致することになる。
【００８４】
続いて、それぞれの角度範囲Ａ（ｍ）、Ａ（ｎ）が一致する場合には（ステップＳ５６：Ｙｅｓ）、加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ補正する（ステップＳ５７）（位置変換後加工原点算出手段）。すなわち、始点角度ψａ１が４５°の場合には、ここではｍは１となるので、現在の加工原点のＹ軸座標値及びＺ軸座標値から、ΔＹ（１）及びΔＺ（１）をそれぞれ減算した加工原点（位置変換後加工原点）を算出する。一方、それぞれの角度範囲Ａ（ｍ）、Ａ（ｎ）が一致しない場合には（ステップＳ５６：Ｎｏ）、角度範囲Ａ（ｍ）、Ａ（ｎ）が一致するまで、ステップＳ５２に戻り処理を繰り返す。
【００８５】
続いて、角度ω（ｍ）から終点角度ψａ２までの回転角度（ω（ｍ−１）−ψａ２）だけ、位置変換後加工原点を負回転方向に回転変換した加工原点を算出する（ステップＳ５８）（回転変換後加工原点算出手段）。すなわち、始点角度ψａ１が４５°の場合には、角度３０°（＝ω（２））から終点角度０°まで加工原点を回転変換することになる。なお、この回転変換は、上述した数４に示す回転変換行列式に基づき行われる。
【００８６】
続いて、回転変換後加工原点をＡ（ｍ）の位置誤差ΔＹ（ｍ）及びΔＺ（ｍ）だけ戻し補正した加工原点を算出する（ステップＳ５９）（位置戻し変換後加工原点算出手段）。すなわち、回転変換後加工原点のＹ軸座標値及びＺ軸座標値から、−ΔＹ（１）及び−ΔＺ（１）をそれぞれ減算した加工原点（位置戻し変換後加工原点）を算出する。
【００８７】
続いて、加工原点記憶部１０８に記憶されている加工原点を上述のように算出された位置戻し変換後加工原点に変更して（ステップＳ２８）（加工原点変更手段）、加工原点補正部１０７の処理は終了する。
【００８８】
次に、Ｂ軸回転に基づく加工原点の補正について説明する。図１４に示すように、回転角度記憶部１０５に記憶されたＢ軸の始点角度ψｂ１及び終点角度ψｂ２を入力する（ステップＳ６１）。続いて、加工原点をＢ軸の位置誤差ΔＸ及びΔＨ’だけ補正する（ステップＳ６２）（位置変換後加工原点算出手段）。すなわち、現在の加工原点のＸ軸座標値及びＹ軸座標値から、ΔＸ及びΔＨ’をそれぞれ減算した加工原点（位置変換後加工原点）を算出する。
【００８９】
続いて、始点角度ψｂ１から終点角度ψｂ２までの回転角度（ψｂ２−ψｂ１）だけ、位置変換後加工原点を回転変換した加工原点（回転変換後加工原点）を算出する（ステップＳ６３）（回転変換後加工原点算出手段）。この回転変換は、数５に示す回転変換行列式に基づき行われる。数５より明らかなように、Ｂ軸傾き誤差であるＢ軸Ｘ−Ｙ平面傾き誤差角度γ及びＢ軸Ｙ−Ｚ平面傾き誤差角度θを考慮して、加工原点が回転変換されている。
【００９０】
【数５】
2005059102.tif 000007
【００９１】
続いて、回転変換後加工原点をＢ軸の位置誤差ΔＸ及びΔＨ’だけ戻し補正した加工原点を算出する（ステップＳ６４）（位置戻し変換後加工原点算出手段）。すなわち、回転変換後加工原点のＸ軸座標値及びＹ軸座標値から、−ΔＸ及び−ΔＨ’をそれぞれ減算した加工原点（位置戻し変換後加工原点）を算出する。続いて、加工原点記憶部１０８に記憶されている加工原点を上述のように算出された位置戻し変換後加工原点に変更する（ステップＳ６５）（加工原点変更手段）。そして、この加工原点補正部１０７の処理は終了する。
【００９２】
（第１の数値制御装置の変形態様）
上述した第１の数値制御装置１０においては、回転軸誤差のうちのＡ軸位置誤差は、Ａ軸の回転角度毎に一定の位置誤差としたが、これに限られるものではない。ここで、Ａ軸位置誤差をＡ軸の回転角度毎に記憶しているのは、Ａ軸が回転するにつれて、Ａ軸に作用するモーメントが異なるからである。そして、このＡ軸に作用するモーメントは、テーブル上に載置されるワークの質量や取付位置によっても異なる。
【００９３】
そこで、数値制御装置１０の誤差記憶部１０６が記憶するＡ軸位置誤差は、ワーク質量及びワークの重心位置に応じて、Ａ軸の回転角度毎のＡ軸位置誤差を複数記憶させておく。さらに、数値制御装置１０は、ワーク質量及びワーク重心位置の入力部を設けておく。
【００９４】
そして、加工原点補正部１０７は、ＮＣデータ記憶部１０１に記憶されたＮＣデータと、回転角度記憶部１０５に記憶された回転角度と、誤差記憶部１０６に記憶された回転軸誤差と、ワーク質量及びワーク重心位置入力部に入力されたワーク質量及びワーク重心位置とに基づき、加工原点を補正するようにしてもよい。
【００９５】
なお、ワーク質量及びワーク重心位置は、オペレータが直接入力するようにしてもよいし、数値制御装置１０により算出するようにしてもよい。後者の場合は、例えば、Ａ軸駆動用モータの駆動トルクを検出することにより、実質的にワーク質量及びワーク重心位置を検出することができる。
【００９６】
（第２の数値制御装置）
次に、第２の数値制御装置１０について図１５を参照して説明する。図１５は、第２の数値制御装置の構成を示す図である。図１５に示すように、数値制御装置１０は、ＮＣデータ記憶部１０１と、指令値算出部１１２と、制御部１１３と、回転角度算出部１０４と、回転角度記憶部１０５と、誤差記憶部１０６と、指令値補正部１１７と、加工原点記憶部１０８とから構成される。なお、上述した第１の数値制御装置１０と同一構成は、同一符号を付して説明を省略する。
【００９７】
指令値算出部（指令値算出手段）１１２は、ＮＣデータ記憶部１０１に記憶されたＮＣデータ及び後述する指令値補正部１１７の補正指令値に基づき、５軸横型マシニングセンタ１（図１に示す）の各駆動軸の位置及び回転角からなる指令値を算出する。そして、制御部（制御手段）１１３は、指令値算出部１１２により算出された指令値に基づき、各軸駆動用モータ２３，２４，３１等を数値制御する。
【００９８】
指令値補正部（指令値補正手段）１１７は、ＮＣデータ記憶部１０１に記憶されたＮＣデータ、回転角度記憶部１０５に記憶された回転角度、及び、誤差記憶部１０６に記憶された回転軸誤差に基づき、５軸横型マシニングセンタ１の指令値を補正する補正指令値を算出する。この補正指令値は、各駆動軸の位置及び回転角からなる。
【００９９】
ここで、補正指令値は、上述した第１の数値制御装置１０における加工原点補正部１０７における補正処理と実質的に同一である。すなわち、第１の数値制御装置１０の加工原点補正部１０７では加工原点を補正したが、第２の数値制御装置１０における指令値補正部１１７では制御部１１３の指令値を補正している。
つまり、加工原点は、一定としておき、指令値を変更することで、上述した第１の数値制御装置１０と同様に、実際の加工位置と数値制御装置による工具の指令値とを一致させることができる。
【０１００】
（ＮＣデータ作成装置）
次に、ＮＣデータ作成装置について図１６を参照して説明する。図１６は、ＮＣデータ作成装置の構成を示す図である。図１６に示すように、ＮＣデータ作成装置は、形状データ記憶部１２１と、機械構成データ記憶部１２２と、ＮＣデータ作成部１２３とから構成される。
【０１０１】
形状データ記憶部（形状データ記憶手段）１２１は、例えばＣＡＤ等により作成されたワーク形状データを記憶する。機械構成データ記憶部（機械構成データ記憶手段）１２２は、ワークの加工に使用する回転軸を有する加工機、ここでは、５軸横型マシニングセンタ１（図１に示す）の機械構成データを記憶する。例えば、テーブル９（図１に示す）がＡ軸及びＢ軸に回転する構成であること等を示すデータである。
【０１０２】
ＮＣデータ作成部（ＮＣデータ作成手段）１２３は、形状データ記憶部１２１に記憶されたワーク形状データ及び機械構成データ記憶部１２２に記憶された機械構成データに基づき、５軸横型マシニングセンタ１のＮＣデータを作成する。このＮＣデータ作成部１２３は、基本ＮＣデータ作成部１２４と、回転角度算出部１２５と、回転角度記憶部１２６と、誤差記憶部１２７と、補正ＮＣデータ作成部１２８とから構成される。
【０１０３】
基本ＮＣデータ作成部（基本ＮＣデータ作成手段）１２４は、形状データ記憶部１２１に記憶されたワーク形状データ及び機械構成データ記憶部１２２に記憶された機械構成データに基づき、５軸横型マシニングセンタ１のＮＣデータ（基本ＮＣデータ）を作成する。この基本ＮＣデータは、５軸横型マシニングセンタ１の回転軸が有する回転軸誤差を考慮しないＮＣデータである。
【０１０４】
回転角度算出部（指令回転角度算出手段）１２５は、基本ＮＣデータ作成部１２４により作成された基本ＮＣデータに基づき、５軸横型マシニングセンタ１のＡ軸及びＢ軸のそれぞれの回転角度を算出する。なお、このＡ軸及びＢ軸のそれぞれの回転角度は、割り出し加工を行う場合にはオペレータが自ら行う場合もある。回転角度記憶部（指令回転角度記憶手段）１２６は、回転角度算出部１２５により算出されたＡ軸及びＢ軸のそれぞれの回転角度を記憶する。具体的には、Ａ軸回転における始点角度ψａ１及び終点角度ψａ２と、Ｂ軸回転における始点角度ψｂ１及び終点角度ψｂ２とを記憶する。
【０１０５】
誤差記憶部（誤差記憶手段）１２７は、上述した回転軸誤差を記憶する。すなわち、Ａ軸傾き誤差、Ａ軸位置誤差、Ｂ軸傾き誤差、及び、Ｂ軸位置誤差を記憶する。ここで、Ａ軸傾き誤差は、Ａ軸Ｘ−Ｙ平面傾き誤差角度α及びＡ軸Ｘ−Ｚ平面傾き誤差角度βである。Ａ軸位置誤差は、Ａ軸回転角度毎のＡ軸に関する位置誤差ΔＹ及びΔＺである。Ｂ軸傾き誤差は、Ｂ軸Ｘ−Ｙ平面傾き誤差角度γ及びＢ軸Ｙ−Ｚ平面傾き誤差角度θである。Ｂ軸位置誤差は、Ｂ軸に関する位置誤差ΔＸ及びΔＨ’である。
【０１０６】
補正ＮＣデータ作成部（補正ＮＣデータ作成手段）１２８は、回転角度記憶部１２６に記憶された回転角度と、誤差記憶部１２７に記憶された回転軸誤差とに基づき、基本ＮＣデータ作成部１２４により作成された基本ＮＣデータを補正した補正ＮＣデータを作成する。ここで、補正ＮＣデータ作成部１２８におけるＮＣデータの補正処理は、実質的に上述した第１の数値制御装置１０における加工原点補正部１０７（図９に示す）と同一の処理である。すなわち、第１の数値制御装置１０の加工原点補正部１０７では加工原点を補正したが、ＮＣデータ作成装置における補正ＮＣデータ作成部１２８では数値制御装置１０に入力されるＮＣデータを補正している。つまり、加工原点は一定とし、ＮＣデータを補正しておき、その補正されたＮＣデータに基づき数値制御装置を制御して加工を行うことにより、実際の加工位置と数値制御装置による工具の指令値とを一致させることができる。
【図面の簡単な説明】
【図１】５軸横型マシニングセンタの全体構成を示す図である。
【図２】回転軸が有する誤差を説明する図である。
【図３】誤差測定を説明する図である。
【図４】Ｂ軸誤差の算出方法を示すフローチャートである。
【図５】基準球の中心位置の測定方法を説明する図である。
【図６】Ｂ軸傾き誤差を説明する図である。
【図７】Ａ軸誤差の算出方法を示すフローチャートである。
【図８】Ａ軸位置誤差の算出方法を説明する図である。
【図９】第１の数値制御装置の構成を示す図である。
【図１０】Ａ軸回転を示す図である。
【図１１】Ａ軸回転における加工原点補正部の処理を示すフローチャートである。
【図１２】Ａ軸回転における加工原点補正部の処理を示すフローチャートである。
【図１３】Ａ軸回転における加工原点補正部の処理を示すフローチャートである。
【図１４】Ｂ軸回転における加工原点補正部の処理を示すフローチャートである。
【図１５】第２の数値制御装置の構成を示す図である。
【図１６】ＮＣデータ作成装置の構成を示す図である。
【符号の説明】
１  ・・・  ５軸横型マシニングセンタ
２  ・・・  ベッド
３  ・・・  コラム
４  ・・・  主軸頭
５  ・・・  主軸
６  ・・・  サドル
７  ・・・  チルトテーブル
８  ・・・  回転パレット
９  ・・・  ワークテーブル
１０  ・・・  数値制御装置
１１  ・・・  基準球
１２  ・・・  タッチセンサ
【図１】
2005059102.tif 000008
【図２】
2005059102.tif 000009
【図３】
2005059102.tif 000010
【図４】
2005059102.tif 000011
【図５】
2005059102.tif 000012
【図６】
2005059102.tif 000013
【図７】
2005059102.tif 000014
【図８】
2005059102.tif 000015
【図９】
2005059102.tif 000016
【図１０】
2005059102.tif 000017
【図１１】
2005059102.tif 000018
【図１２】
2005059102.tif 000019
【図１３】
2005059102.tif 000020
【図１４】
2005059102.tif 000021
【図１５】
2005059102.tif 000022
【図１６】
2005059102.tif 000023