(57)【特許請求の範囲】
【請求項１】
テーブルに取付けられた加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求める回転軸依存補正量計算手段と、
該回転軸依存並進補正量および該回転軸依存回転補正量によって並進回転補正量を求める並進回転補正量計算手段と、
該並進回転補正量を指令直線軸位置に加算する補正量加算手段と、
該直線軸３軸は該補正量加算手段によって求められた位置へ該回転軸２軸は指令された位置へ駆動する手段を有する数値制御装置。
【請求項２】
テーブルに取付けられた加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
指令直線軸位置に基づいて直線軸依存並進補正量および直線軸依存回転補正量を求める直線軸依存補正量計算手段と、
指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求める回転軸依存補正量計算手段と、
該直線軸依存並進補正量、該直線軸依存回転補正量、該回転軸依存並進補正量、および該回転軸依存回転補正量によって並進回転補正量を求める並進回転補正量計算手段と、
該並進回転補正量を指令直線軸位置に加算する補正量加算手段と、
該直線軸３軸は該補正量加算手段によって求められた位置へ該回転軸２軸は指令された位置へ駆動する手段を有する数値制御装置。
【請求項３】
該直線軸依存補正量計算手段は、該直線軸３軸による３次元座標系空間を各軸方向に所定間隔の格子状領域に分割し該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し直線軸３軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を該格子点補正ベクトルに基づいて計算する請求項２に記載の数値制御装置。
【請求項４】
該回転軸依存補正量計算手段は、該回転軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し回転軸２軸の位置における回転軸依存回転補正量と回転軸依存並進補正量を該格子点補正ベクトルに基づいて計算する請求項１または請求項２のいずれか一つに記載の数値制御装置。
【請求項５】
該回転軸依存補正量計算手段は、該回転軸２軸のうち一方の回転軸による１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し他方の回転軸による１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し回転軸２軸のそれぞれの位置における回転軸依存補正量を該分割点補正ベクトルに基づいて計算する請求項１または請求項２のいずれか一つに記載の数値制御装置。
【請求項６】
該直線軸依存補正量計算手段は、該直線軸３軸のうち直線軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し該直線軸２軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を該格子点補正ベクトルに基づいて計算するとともに、該直線軸３軸のうち他の直線軸１軸による１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し該直線軸１軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を該分割点補正ベクトルに基づいて計算する請求項２に記載の数値制御装置。
【請求項７】
該直線軸依存補正量計算手段は、該直線軸３軸のそれぞれに対して１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し該直線軸３軸のそれぞれの位置における直線軸依存補正量を該分割点補正ベクトルに基づいて計算する請求項２に記載の数値制御装置。
【請求項８】
テーブルに取付けられた加工物に対して直線軸３軸とヘッド回転用回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
該並進回転補正量は、工具長補正ベクトルを並進回転補正して実工具長補正ベクトルを求め該実工具長補正ベクトルと工具長補正ベクトルとの差分として求める請求項１〜請求項７のいずれか一つに記載の数値制御装置。
【請求項９】
テーブルに取付けられた加工物に対して直線軸３軸とテーブル回転用回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
該並進回転補正量は、テーブル回転中心から工具先端点位置へのベクトルである工具先端点ベクトルを並進回転補正して実工具先端点ベクトルを求め該実工具先端点ベクトルと工具先端点ベクトルとの差分として求める請求項１〜請求項７のいずれか一つに記載の数値制御装置。
【請求項１０】
テーブルに取付けられた加工物に対して直線軸３軸とヘッド回転用回転軸１軸とテーブル回転用回転軸１軸によって加工する５軸加工機を制御する数値制御装置において、
該並進回転補正量は、工具長補正ベクトルを並進回転補正し実工具長補正ベクトルを求め、かつテーブル回転中心から工具先端点位置へのベクトルである工具先端点ベクトルを並進回転補正して実工具先端点ベクトルを求め、該実工具先端点ベクトルと該工具先端点ベクトルとの差分と該実工具長補正ベクトルと該工具長補正ベクトルとの差分の和として求める請求項１〜請求項７のいずれか一つに記載の数値制御装置。
【請求項１１】
該指令直線軸位置および該指令回転軸位置はプログラム指令に基づいて補間された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置。
【請求項１２】
該指令直線軸位置および該指令回転軸位置はプログラム指令された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置。
【請求項１３】
該格子点補正ベクトルは、長さが相違する複数のテストバーまたはボールエンドミルにおける測定ポイントの実測位置および理論位置によって求める請求項３、請求項４、または請求項６のいずれか一つに記載の数値制御装置。
【請求項１４】
該分割点補正ベクトルは、長さが相違する複数のテストバーまたはボールエンドミルにおける測定ポイントの実測位置および理論位置によって求める請求項５〜請求項７のいずれか一つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直線軸３軸と回転軸２軸とを有する５軸加工機を制御する数値制御装置に関する。特に、直線軸位置に依存した直線軸依存並進誤差、回転軸位置に依存した回転軸依存並進誤差などの誤差に対応した補正量を設定することによって、工具先端点位置を誤差のない位置に移動し、高精度な加工を行うように制御する数値制御装置に関する。
【背景技術】
【０００２】
特許文献１には、座標系を格子状領域に分割し、格子点において格子点補正ベクトルを格納し、現在位置補正ベクトルを格子点補正ベクトルに基づいて算出し補正する技術が開示されている。この開示された技術では、直線軸依存並進補正が行われるのみであり、直線軸依存回転補正、回転軸依存回転補正、及び、回転軸依存並進補正を実行することはできない。  
特許文献２には、基準軸心に対する回転軸誤差と指令誤差に基づき加工原点を補正する技術が開示されている。この開示された技術では、回転軸依存並進補正が行われるのみであり、直線軸依存並進補正、直線軸依存回転補正、及び、回転軸依存回転補正を実行することはできない。  
特許文献３には、回転軸のずれ量や主軸旋回中心のずれ量から、機械誤差がない場合の工具と加工物の相対関係が保持されるように補正する技術が開示されている。この開示された技術では、回転軸のずれ量や主軸旋回中心のずれ量を対象としているのみでは正確な補正が困難である。また、各軸座標系を分割した位置での補正量を格納しておき、その補正量から指令位置に依存した補正量を求める技術は開示されていない。  
特許文献４には、回転軸位置（傾斜送り軸の割り出し角度）、工具長（工具主軸の前端面から使用の刃先までの距離）、前端面からテストバーの複数の基準点までの測定距離、基準点の測定位置に基づいて使用工具の刃先位置を演算する技術が開示されている。この技術では、直線軸３軸とヘッド回転用回転軸２軸による５軸加工機での回転軸依存回転補正が行われるのみであり、直線軸依存並進補正、直線軸依存回転補正、及び、回転軸依存並進補正を実行することは困難である。
【０００３】
【特許文献１】特許第３１７４７０４号公報
【特許文献２】特開２００５−５９１０２号公報
【特許文献３】特開２００４−２７２８８７号公報
【特許文献４】特開２００７−１６８０１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
直線軸３軸と回転軸２軸によって加工物を加工する５軸加工機に発生する主な誤差は、並進誤差として、（１）直線軸位置に依存した直線軸依存並進誤差、（２）回転軸位置に依存した回転軸依存並進誤差、及び、回転誤差として、（３）直線軸位置に依存した直線軸依存回転誤差、（４）回転軸位置に依存した回転軸依存回転誤差、の４つからなる。
【０００５】
そこで、本発明は、上記４つの誤差に対応した補正量を設定することによって、それらの補正量から並進回転補正量を求め、指令直線軸位置に加算する。このことにより、本発明は、工具先端点位置を誤差のない位置に移動し、高精度な加工を実現する５軸加工機を制御する数値制御装置を提供することを目的とする。
【０００６】
また、本発明は、直線軸依存回転補正量、直線軸依存並進補正量、回転軸依存回転補正量、及び、回転軸依存並進補正量をそれぞれ分けて設定できるようにし、直線軸と回転軸とを別々に移動させながら誤差を測定し補正量を設定できる５軸加工機の数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、テーブルに取付けられた加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求める回転軸依存補正量計算手段と、該回転軸依存並進補正量および該回転軸依存回転補正量によって並進回転補正量を求める並進回転補正量計算手段と、該並進回転補正量を指令直線軸位置に加算する補正量加算手段と、該直線軸３軸は該補正量加算手段によって求められた位置へ該回転軸２軸は指令された位置へ駆動する手段を有する数値制御装置である。
【０００８】
請求項２に係る発明は、テーブルに取付けられた加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、指令直線軸位置に基づいて直線軸依存並進補正量および直線軸依存回転補正量を求める直線軸依存補正量計算手段と、指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求める回転軸依存補正量計算手段と、該直線軸依存並進補正量、該直線軸依存回転補正量、該回転軸依存並進補正量、および該回転軸依存回転補正量によって並進回転補正量を求める並進回転補正量計算手段と、該並進回転補正量を指令直線軸位置に加算する補正量加算手段と、該直線軸３軸は該補正量加算手段によって求められた位置へ該回転軸２軸は指令された位置へ駆動する手段を有する数値制御装置である。
【０００９】
請求項３に係る発明は、該直線軸依存補正量計算手段は、該直線軸３軸による３次元座標系空間を各軸方向に所定間隔の格子状領域に分割し該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し直線軸３軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を該格子点補正ベクトルに基づいて計算する請求項請求項２に記載の数値制御装置である。
【００１０】
請求項４に係る発明は、該回転軸依存補正量計算手段は、該回転軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し回転軸２軸の位置における回転軸依存回転補正量と回転軸依存並進補正量を該格子点補正ベクトルに基づいて計算する請求項１または請求項２のいずれか一つに記載の数値制御装置である。
【００１１】
請求項５に係る発明は、該回転軸依存補正量計算手段は、該回転軸２軸のうち一方の回転軸による１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し他方の回転軸による１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し回転軸２軸のそれぞれの位置における回転軸依存補正量を該分割点補正ベクトルに基づいて計算する請求項１または請求項２のいずれか一つに記載の数値制御装置である。
【００１２】
請求項６に係る発明は、該直線軸依存補正量計算手段は、該直線軸３軸のうち直線軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し該直線軸２軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を該格子点補正ベクトルに基づいて計算するとともに、該直線軸３軸のうち他の直線軸１軸による１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し該直線軸１軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を該分割点補正ベクトルに基づいて計算する請求項２に記載の数値制御装置である。
【００１３】
請求項７に係る発明は、該直線軸依存補正量計算手段は、該直線軸３軸のそれぞれに対して１次元座標系空間を所定間隔に分割し該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し該直線軸３軸のそれぞれの位置における直線軸依存補正量を該分割点補正ベクトルに基づいて計算する請求項２に記載の数値制御装置である。
【００１４】
請求項８に係る発明は、テーブルに取付けられた加工物に対して直線軸３軸とヘッド回転用回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、該並進回転補正量は、工具長補正ベクトルを並進回転補正して実工具長補正ベクトルを求め該実工具長補正ベクトルと工具長補正ベクトルとの差分として求める請求項１〜請求項７のいずれか一つに記載の数値制御装置。
【００１５】
請求項９に係る発明は、テーブルに取付けられた加工物に対して直線軸３軸とテーブル回転用回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、該並進回転補正量は、テーブル回転中心から工具先端点位置へのベクトルである工具先端点ベクトルを並進回転補正して実工具先端点ベクトルを求め該実工具先端点ベクトルと工具先端点ベクトルとの差分として求める請求項１〜請求項７のいずれか一つに記載の数値制御装置である。
【００１６】
請求項１０に係る発明は、テーブルに取付けられた加工物に対して直線軸３軸とヘッド回転用回転軸１軸とテーブル回転用回転軸１軸によって加工する５軸加工機を制御する数値制御装置において、該並進回転補正量は、工具長補正ベクトルを並進回転補正し実工具長補正ベクトルを求め、かつテーブル回転中心から工具先端点位置へのベクトルである工具先端点ベクトルを並進回転補正して実工具先端点ベクトルを求め、該実工具先端点ベクトルと該工具先端点ベクトルとの差分と該実工具長補正ベクトルと該工具長補正ベクトルとの差分の和として求める請求項１〜請求項７のいずれか一つに記載の数値制御装置である。
【００１７】
請求項１１に係る発明は、該指令直線軸位置および該指令回転軸位置はプログラム指令に基づいて補間された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。
【００１８】
請求項１２に係る発明は、該指令直線軸位置および該指令回転軸位置はプログラム指令された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。
【００１９】
請求項１３に係る発明は、該格子点補正ベクトルは、長さが相違する複数のテストバーまたはボールエンドミルにおける測定ポイントの実測位置および理論位置によって求める請求項３、請求項４、または請求項６のいずれか一つに記載の数値制御装置である。
請求項１４に係る発明は、該分割点補正ベクトルは、長さが相違する複数のテストバーまたはボールエンドミルにおける測定ポイントの実測位置および理論位置によって求める請求項５〜請求項７のいずれか一つに記載の数値制御装置である。
【発明の効果】
【００２０】
本発明は、それぞれの誤差に対応した補正量を設定することによって、それらの補正量から並進回転補正量を求め、指令直線軸位置に加算し、工具先端点位置を誤差のない位置に移動し、高精度な加工を行うことが可能である。
【００２１】
また、本発明は、直線軸依存回転補正量、直線軸依存並進補正量、回転軸依存回転補正量、および、回転軸依存並進補正量に分けることによって、直線軸と回転軸とを別々に移動させながら誤差を測定し補正量を設定できる。その結果、同時に５軸動作可能な５軸加工機においてそれぞれの誤差を測定し容易に補正量を設定することができる。
【００２２】
また、本発明は、５軸加工機において５軸それぞれの位置に応じた補正量を測定および設定する５次元のデータテーブルを用意することがないので、数値制御装置が有する記憶装置で膨大な容量の記憶領域を使用することがない。
【発明を実施するための最良の形態】
【００２３】
以下、本発明である５軸加工機を制御する数値制御装置の実施形態について図面とともに説明する。５軸加工機には大きく分けて「工具ヘッド回転型」、「テーブル回転型」、「混合型（工具ヘッド、テーブル、両方とも回転）」の３つがある。  
図１は本発明の数値制御装置が制御する５軸加工機の一例である。図１に示される例は工具ヘッド１１が回転する工具ヘッド回転型である。
【００２４】
次に、図２を用いて、工具ヘッド回転型５軸加工機における回転誤差と並進誤差、およびそれらの誤差の補正について説明する。工具ヘッド座標系を工具ヘッド１１の回転中心を原点とする（Ｘｔ、Ｙｔ、Ｚｔ）座標で表すと直線軸依存並進誤差および直線軸依存回転誤差によって工具ヘッド座標系が（Ｘｔ’、Ｙｔ’、Ｚｔ’）座標となり、さらに回転軸依存並進誤差および回転軸依存回転誤差によって工具ヘッド座標系が（Ｘｔ’’、Ｙｔ’’、Ｚｔ’’）座標となることを示している。−ΔＩｎ、−ΔＪｎ、−ΔＫｎ（ｎ＝Ｌ、Ｒ）は、それらの座標系間のＸ軸周り、Ｙ軸周り、Ｚ軸周りの回転誤差を示している。
−ΔＸｎ、−ΔＹｎ、−ΔＺｎ（ｎ＝Ｌ、Ｒ）は、それらの座標系間のＸ軸方向、Ｙ軸方向、Ｚ軸方向の並進誤差を示している。これらの誤差はわずかの量であるが、図２では理解し易いように誇張して描いている。
【００２５】
指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に基づく直線軸依存並進補正量を（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量を（ΔＩＬ、ΔＪＬ、ΔＫＬ）、指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）に基づく回転軸依存並進補正量を（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量を（ΔＩＲ、ΔＪＲ、ΔＫＲ）とする。これらが軸依存並進補正量および軸依存回転補正量である。回転工具ヘッドに対して、誤差と補正量の関係は正負の関係であるため、図および明細書中では誤差をこれらの補正量に「負号」を付けて表している。
【００２６】
工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を反転したベクトル−Ｔ（−Ｔｘ、−Ｔｙ、−Ｔｚ）に対して数１式のように各誤差による変換行列を積算することによって実工具長補正ベクトルＴ’（Ｔｘ’、Ｔｙ’、Ｔｚ’）を反転したベクトル−Ｔ’（−Ｔｘ’、−Ｔｙ’、−Ｔｚ’）を求めることができる。
【００２７】
ここで、数１式における（ΔＩＬ、ΔＪＬ、ΔＫＬ）、（ΔＩＲ、ΔＪＲ、ΔＫＲ）は、ラジアン単位である。また、数１式の行列の各要素は回転誤差（−ΔＩＬ、−ΔＪＬ、−ΔＫＬ）、（−ΔＩＲ、−ΔＪＲ、−ΔＫＲ）の値が十分に小さいことを前提にし、ＳＩＮ（−ΔＩｎ）＝−ΔＩｎ、ＳＩＮ（−ΔＪｎ）＝−ΔＪｎ、ＳＩＮ（−ΔＫｎ）＝−ΔＫｎ、ＣＯＳ（−ΔＩｎ）＝１、ＣＯＳ（−ΔＩｎ）＝１、ＣＯＳ（−ΔＪｎ）＝１、ＣＯＳ（−ΔＫｎ）＝１  （ｎ＝Ｌ、Ｒ）とし、各三角関数のベキ級数展開における誤差の２乗以上の項は無視した近似式としている。なお、勿論、近似せずに三角関数による変換行列としてもよい。
【００２８】
【数１】
0004327894.tif 000002
【００２９】
また、変換行列の積算の結果、誤差の２乗項を無視することにより、数１式の替わりに数２−１式とすることもできる。
【００３０】
【数２−１】
0004327894.tif 000003
また指令回転軸位置Ｐｍｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）が、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）よりも重要であり、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）は無視できる場合もある。その場合は、数１式の替わりに、次のように数１式の右辺２個の変換行列のうち（ΔＸＬ、ΔＹＬ、ΔＺＬ）および（ΔＩＬ、ΔＪＬ、ΔＫＬ）を要素とする行列は削除する。そうすると、数２−２式が得られる。
【００３１】
【数２−２】
0004327894.tif 000004
【００３２】
また逆に、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）が、指令回転軸位置Ｐｍｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）よりも重要であり、指令回転軸位置Ｐｍｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）は無視できる場合もある。その場合は、数１式の替わりに、次のように数１式の右辺２個の変換行列のうち（ΔＸＲ、ΔＹＲ、ΔＺＲ）および（ΔＩＲ、ΔＪＲ、ΔＫＲ）を要素とする行列は削除する。そうすると、数２−３式が得られる。
【００３３】
【数２−３】
0004327894.tif 000005
【００３４】
工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）、および上記の結果得られる実工具長補正ベクトルＴ’（Ｔｘ’、Ｔｙ’、Ｔｚ’）により、工具先端点が誤差の無い位置になるよう補正するための並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）は数３式によって計算される。
【００３５】
【数３】
0004327894.tif 000006
【００３６】
こうして求められた並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）を指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に加算し修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）を求める。各直線軸Ｘ、Ｙ、Ｚ軸はこの修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）へ、回転軸Ｂ、Ｃ軸は指令位置へ駆動する。このことによって、工具先端点位置を誤差のない位置に移動することができる。
【００３７】
つまり、指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に対して本来の工具ヘッド位置は（Ｘｔ、Ｙｔ、Ｚｔ）座標における位置であるが、誤差により実際は（Ｘｔ’’、Ｙｔ’’、Ｚｔ’’）座標における位置となる。そこで、並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）の補正を行うことによって、実際の工具ヘッドは図２における点線で表した位置となり、その結果、工具先端点位置が誤差のない位置に移動することができる。
【００３８】
次に、補正量の設定と計算について説明する。  
指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）、指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）に基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）を求める一実施例について説明する。  
まず、指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、および、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）を求める方法について説明する。
【００３９】
図３は格子状領域に分割された３次元座標系を示す図である。３次元座標系は一定間隔の格子状に分割されている。格子状に分割する境界線の交わる点が格子点Ｐl0〜Ｐl26である。なお、この図に図示されているのは座標系の１部分であり、実際には機械移動可能な領域全体をこのような格子状に分割する。なお、格子間隔は一定間隔でなくてもよい。例えば、Ｘ軸上の格子位置Ｐl0，Ｐl1，Ｐl2のＸ軸位置、Ｙ軸上の格子位置Ｐl0，Ｐl3，Ｐl6のＹ軸位置、Ｚ軸上の格子位置Ｐl0，Ｐl9，Ｐl18のＺ軸位置などの各軸の格子位置を設定値として設定するようにしてもよい。
【００４０】
そして、各格子点における機械系に起因する誤差（並進誤差と回転誤差）を、予め測定しておく。測定方法の一実施例については後述する。前記各格子点における機械系に起因する誤差と絶対値が同じ逆向きのベクトルを格子点補正ベクトルとする。したがって、補正量は、６次元ベクトルＵｎ（ＵｎＸ、ＵｎＹ、ＵｎＺ、ＵｎＩ、ＵｎＪ、ＵｎＫ：ｎ＝０〜２６）で表される。そして、（ＵｎＸ、ＵｎＹ、ＵｎＺ）が直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）に対応する。また、（ＵｎＩ、ＵｎＪ、ＵｎＫ）が直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）に対応する。格子点補正ベクトルは、直線軸依存補正量テーブルとして数値制御装置に内蔵される不揮発性メモリ等に格納される。なお、格子状に分割する際に、あまり細かく分割すると格子点補正ベクトルのデータ量が多くなり、必要とするメモリの記憶容量が大きくなってしまう。従って、なるべく正しい補正量を算出でき、しかもデータ量を少なく抑えることができる格子点の数は、一軸につき数十箇所程度である。
【００４１】
ここで、任意の指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）の算出方法について説明する。
【００４２】
図４は補正ベクトルを算出すべき指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）を含む格子状領域を示す図である。この例では、補正ベクトルを算出すべき指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）が、格子点Ｐl0、Ｐl1、Ｐl3、Ｐl4、Ｐl9、Ｐl10、Ｐl12、Ｐl13に囲まれた領域にある。
【００４３】
Ｘ軸の格子間隔はＬｘ、Ｙ軸の格子間隔はＬｙ、Ｚ軸の格子間隔はＬｚである。また、各格子点Ｐl0、Ｐl1、Ｐl3、Ｐl4、Ｐl9、Ｐl10、Ｐl12、Ｐl13には、それぞれ格子点補正ベクトルＵ0（Ｕ0X、Ｕ0Y、Ｕ0Z、Ｕ0I、Ｕ0J、Ｕ0K）〜Ｕ13（Ｕ13X、Ｕ13Y、Ｕ13Z、Ｕ13I、Ｕ13J、Ｕ13K）が設定されている。以後この領域を、格子点位置において各格子点に対応する格子点補正ベクトルが与えられた線形性を有するベクトル場と想定する。
【００４４】
点Ｐｍｌ（Ｐｍｘ、ｍｙ、ｍｚ）を含む領域が求められると、格子点Ｐl0（Ｐl0x、Ｐl0y、Ｐl0z）を基準点として定める。次に、点Ｐｍｌで補正ベクトルを求めるために、まず、格子内の位置を［０、１］に正規化する。Ｘ軸の格子間隔をＬｘ、Ｙ軸の格子間隔をＬｙ、Ｚ軸の格子間隔をＬｚとした場合の正規化した点Ｐｍｌの座標値（ｘ、ｙ、ｚ）を数４式〜数６式で定める。
【００４５】
【数４】
0004327894.tif 000007
【００４６】
【数５】
0004327894.tif 000008
【００４７】
【数６】
0004327894.tif 000009
【００４８】
この座標値（ｘ、ｙ、ｚ）をもとに、点Ｐｍｌでの補正ベクトルΔＬｃ（ΔＸＬ、ΔＹＬ、ΔＺＬ、ΔＩＬ、ΔＪＬ、ΔＫＬ）を数７式で算出する。
【００４９】
【数７】
0004327894.tif 000010
【００５０】
このようにして、直線軸座標系上の任意の点Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）における直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）が算出できる。  
ここでは、図３のように３次元座標系を格子状に分割して各格子点における格子点補正ベクトルから点Ｐｍｌの直線軸３軸位置における補正量ベクトルを求めたが、後述する２次元座標系と１次元座標系を組み合わせ、Ｐｍｌのうちの直線軸２軸位置における補正量ベクトルとＰｍｌのうちの残りの直線軸１軸位置における補正量ベクトルとして求めることも可能である。また、１次元座標系を組み合わせ、Ｐｍｌのうちの直線軸１軸位置における補正量ベクトルと他の直線軸１軸位置における補正量ベクトルと残りの直線軸１軸位置における補正量ベクトルとして求めることも可能である。
【００５１】
次に、指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）に基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）を求める方法について説明する。
【００５２】
図５は格子状領域に分割された２次元座標系を示す図である。２次元座標系は一定間隔の格子状に分割されている。格子状に分割する境界線の交わる点が格子点Ｐr0〜Ｐr8である。なお、図５に図示されているのは座標系の１部分であり、実際には機械移動可能な領域全体を、このような格子状に分割する。なお、図３における説明と同様、格子間隔は一定間隔でなくてもよい。例えば、Ｂ軸上の格子位置Ｐr0，Ｐr1，Ｐr2のＢ軸位置、Ｃ軸上の格子位置Ｐr0，Ｐr3，Ｐr6のＣ軸位置などの各軸の格子位置を設定値として設定するようにしてもよい。
【００５３】
そして、各格子点における機械系に起因する誤差（並進誤差と回転誤差）を予め測定しておく。測定方法の一実施例については後述する。誤差と絶対値が同じ逆向きのベクトルを格子点補正ベクトルとする。したがって、補正量は、６次元ベクトルＶn（ＶnＸ、ＶnＹ、ＶnＺ、ＶnＩ、ＶnＪ、ＶnＫ：ｎ＝０〜８）で表される。（ＶnＸ、ＶnＹ、ＶnＺ）が回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）に対応する。また、（ＶnＩ、ＶnＪ、ＶnＫ）が回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）に対応する。格子点補正ベクトルは、回転軸依存補正量テーブルとして不揮発性メモリ等に格納される。ここで、任意の指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）に基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）の算出方法について説明する。
【００５４】
図６は、補正ベクトルを算出すべき指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）を含む格子状領域を示す図である。この例では、補正ベクトルを算出すべき指令回転位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）が、格子点Ｐr0、Ｐr1、Ｐr3、Ｐr4に囲まれた領域にある。
【００５５】
また、各格子点Ｐr0、Ｐr1、Ｐr3、Ｐr4には、それぞれ格子点補正ベクトルＶ0（Ｖ0Ｘ、Ｖ0Ｙ、Ｖ0Ｚ、Ｖ0Ｉ、Ｖ0Ｊ、Ｖ0Ｋ）〜Ｖ4（Ｖ4Ｘ、Ｖ4Ｙ、Ｖ4Ｚ、Ｖ4Ｉ、Ｖ4Ｊ、Ｖ4Ｋ）が設定されている。以後この領域を、格子点位置において各格子点に対応する格子点補正ベクトルが与えられた線形性を有するベクトル場と想定する。
【００５６】
指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）を含む領域が求められると、格子点Ｐr0（Ｐrb、Ｐrc）を基準点として定める。次に、点Ｐｍｒでの補正ベクトルを求めるために、まず、格子内の位置を［０、１］に正規化する。Ｂ軸の格子間隔をＬｂ、Ｃ軸の格子間隔をＬｃとした場合の正規化した点Ｐｒの座標値（ｂ、ｃ）を数８式、数９式で定める。
【００５７】
【数８】
0004327894.tif 000011
【００５８】
【数９】
0004327894.tif 000012
【００５９】
この座標値（ｂ、ｃ）をもとに、点Ｐｍｒでの補正ベクトルΔＲｃ（ΔＸＲ、ΔＹＲ、ΔＺＲ、ΔＩＲ、ΔＪＲ、ΔＫＲ）を数１０式で算出する。
【００６０】
【数１０】
0004327894.tif 000013
【００６１】
このようにして、回転軸座標系上の任意の点Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）における回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）が算出できる。ここでは、図５のように２次元座標系を格子状に分割して各格子点における格子点補正ベクトルから点Ｐｍｒの回転軸２軸位置における補正量ベクトルを求めたが、後述する１次元座標系を組み合わせ、Ｐｍｒのうちの回転軸１軸位置における補正量ベクトルと残りの回転軸１軸位置における補正量ベクトルとして求めることも可能である。
【００６２】
図７は、本発明である５軸加工機を制御する数値制御装置の第１の実施形態の要部ブロック図である。この第１の実施形態は工具長補正指令の場合の数値制御装置である。この第１の実施形態の場合、プログラムのブロックを指令解析部１で解析し、この解析結果の工具先端点位置の指令位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を加算し、工具長補正ベクトルが加算された直線軸機械座標位置を求める。  
該直線軸機械座標位置、および、指令された回転軸の回転位置に対して補間手段３で補間を行い各軸の機械座標位置を生成し、各軸（Ｘ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸）の加減速処理部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行った後、この各軸の加減速処理終了後の指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に対して補正手段５において数１式〜数３式で求められる並進回転補正量を加算し、修正された修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）を求める。
【００６３】
そして、直線軸Ｘ軸、Ｙ軸、Ｚ軸はこの修正された修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）に、回転軸Ｂ（Ａ）軸、Ｃ軸は加減速処理終了後の指令回転軸位置に各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。補正手段５において数１式〜数３式により並進回転補正量を算出する際に用いられる直線軸依存補正量、回転量依存補正量、および、工具長補正ベクトルの情報は、入力データ部７に予め格納されている。なお、この工具長補正ベクトルの情報は、工具長補正ベクトル加算要素２による情報を用いる。
【００６４】
また、図８は本発明である５軸加工機を制御する数値制御装置の第２の実施形態の要部ブロック図である。この第２の実施形態は工具先端点制御の場合の数値制御装置である。
この第２の実施形態の場合は、指令解析部１でプログラムのブロックを解析し、この解析結果の指令工具先端点位置に対して補間手段３で補間を行い、補間された工具先端点位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を加算し、各軸の加減速処理部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行った後の指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に対して補正手段５において数１式〜数３式で求められる並進回転補正量を加算し、修正された修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）を求める。  
そして、直線軸Ｘ軸、Ｙ軸、Ｚ軸はこの修正された修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）に、回転軸Ｂ（Ａ）軸、Ｃ軸は加減速処理終了後の指令回転軸位置に各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。補正手段５において数１式〜数３式により並進回転補正量を算出する際に用いられる直線軸依存補正量、回転量依存補正量、および、工具長補正ベクトルの情報は、入力データ部７に予め格納されている。なお、この工具長補正ベクトルの情報は、工具長補正ベクトル加算要素２による情報を用いる。
【００６５】
図９は本発明である５軸加工機を制御する数値制御装置の第３の実施形態の要部ブロック図である。この第３の実施形態は工具長補正指令の場合の数値制御装置である。この第３の実施形態の場合、プログラムのブロックを指令解析部１で解析し、この解析結果の工具先端位置の指令位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を加算し、工具長補正ベクトルが加算された指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）を求める。  
該指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に対して補正手段５において数１式〜数３式で求められる並進回転補正量を加算し、修正された修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、 Ｐｍｚ’）を求め、修正直線軸位置および指令回転軸位置に対して補間手段３で補間を行い、補間された各軸（Ｘ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸）の位置に対して加減速処理部部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行い、各軸の加減速処理終了後の位置に各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。
【００６６】
図１０はテーブル回転型機械の一実施例である。図１０に示される機械構成では、Ｃ軸回転で回転しＢ軸回転で傾斜するテーブル１２がＹ軸上に載りＹ軸はＸ軸上に載って直線移動し、工具ヘッド１１はＺ軸で上下直線移動する。
【００６７】
次に、図１１を用いて、テーブル回転型５軸加工機における回転誤差と並進誤差、およびそれらの補正について説明する。ここでは、テーブル座標系をテーブル回転中心を原点とする（Ｘａ、Ｙａ、Ｚａ）座標で表すと直線軸依存並進誤差および直線軸依存回転誤差によってテーブル座標系が（Ｘａ’、Ｙａ’、Ｚａ’）座標となり、さらに回転軸依存並進誤差および直線軸依存回転誤差によってテーブル座標系が（Ｘａ’’、Ｙａ’’、Ｚａ’’）座標となることを示している。−ΔＩｎ、−ΔＪｎ、−ΔＫｎ（ｎ＝Ｌ、Ｒ）は、それらの座標系間のＸ軸周り、Ｙ軸周り、Ｚ軸周りの回転誤差、−ΔＸｎ、−ΔＹｎ、−ΔＺｎ（ｎ＝Ｌ、Ｒ）は、それらの座標系間のＸ軸方向、Ｙ軸方向、Ｚ軸方向の並進誤差を示す。これらの誤差はわずかの量であるが、理解を助けるために誇張して描いている。
【００６８】
指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に基づく直線軸依存並進補正量を（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量を（ΔＩＬ、ΔＪＬ、ΔＫＬ）、指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）に基づく回転軸依存並進補正量を（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量を（ΔＩＲ、ΔＪＲ、ΔＫＲ）とする。これらが軸依存並進補正量および軸依存回転補正量である。誤差と補正量の関係は正負の関係であるため、図および明細書中では誤差をこれらの補正量に「負号」を付けて表している。
【００６９】
テーブル回転中心から工具先端点へのベクトルを工具先端点ベクトルＴｐ（Ｔｐｘ、Ｔｐｙ、Ｔｐｚ）とし、Ｔｐに対して数１１式のように各誤差による変換行例を積算することによって実工具先端点ベクトルＴｐ’（Ｔｐｘ’、Ｔｐｙ’、Ｔｐｚ’）を求めることができる。ここで、工具先端点ベクトルＴｐは別途設定されているテーブル回転中心位置Ｔａｃ（Ｘａｃ、Ｙａｃ、Ｚａｃ）、指令直線軸位置Ｐｍｌ、工具長補正ベクトルＴから、Ｔｐ＝Ｐｍｌ−Ｔ−Ｔａｃによって求められる。
【００７０】
また、数１１式における（ΔＩＬ、ΔＪＬ、ΔＫＬ）、（ΔＩＲ、ΔＪＲ、ΔＫＲ）がラジアン単位であることや、近似の方法などは数１式と同様である。
【００７１】
【数１１】
0004327894.tif 000014
【００７２】
また、変換行列の積算の結果、誤差の２乗項を無視することにより、数１１式の替わりに次の数１２−１式とすることも可能である。
【００７３】
【数１２−１】
0004327894.tif 000015
【００７４】
また、指令回転軸位置Ｐｍｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）が、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）よりも重要であり、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）は無視できる場合もある。その場合は、数１１式の替わりに、次のように数１１式の右辺の２個の変換行例のうち（ΔＸＬ、ΔＹＬ、ΔＺＬ）および（ΔＩＬ、ΔＪＬ、ΔＫＬ）を要素とする行列は削除する。そうすると、数１２−２式が得られる。
【００７５】
【数１２−２】
0004327894.tif 000016
【００７６】
また逆に、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）が、指令回転軸位置Ｐｍｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）よりも重要であり、指令回転軸位置Ｐｍｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）は無視できる場合もある。その場合は、数１式の替わりに、次のように数１式の右辺の２個の変換行列のうち（ΔＸＲ、ΔＹＲ、ΔＺＲ）および（ΔＩＲ、ΔＪＲ、ΔＫＲ）を要素とする行列は削除する。そうすると、数１２−３式が得られる。
【００７７】
【数１２−３】
0004327894.tif 000017
【００７８】
工具先端点ベクトルＴｐ（Ｔｐｘ、Ｔｐｙ、Ｔｐｚ）、および、数１２−１式の結果得られる実工具先端点ベクトルＴｐ’（Ｔｐｘ’、Ｔｐｙ’、Ｔｐｚ’）により、テーブルから見た工具先端点が誤差の無い位置になるよう補正するための並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）は数１３式によって計算される。
【００７９】
【数１３】
0004327894.tif 000018
【００８０】
こうして求められた並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）を指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に加算し修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）を求める。各直線軸Ｘ、Ｙ、Ｚ軸はこの修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）へ、回転軸Ｂ、Ｃ軸は指令位置へ駆動する。このことによって、テーブルから見た工具先端点位置を誤差のない位置に移動することができる。
【００８１】
換言すると、指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に対して本来のテーブル位置は（Ｘａ、Ｙａ、Ｚａ）座標における位置であるが、誤差により実際は（Ｘａ’’、Ｙａ’’、Ｚａ’’）座標における位置となる。そこで、並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）の補正を行うことによって、工具ヘッドは図１１における点線で示した位置となり、その結果、テーブル座標系上（Ｘａ、Ｙａ、Ｚａ）の工具先端点ベクトルＴｐが実際のテーブル座標系上（Ｘａ’’、Ｙａ’’、Ｚａ’’）の実テーブル上工具先端点ベクトルＴｐａと同じとなる。このことは、実際のテーブル、つまり、加工物からの工具先端点位置が誤差のない位置に移動することを意味している。
【００８２】
また、補正量の設定や、数値制御装置の構成は、図１に示される工具ヘッド回転型の５軸加工機に関して説明した、図３〜図６の補正量の設定や、図７〜図９にブロック図で示される数値制御装置と同様である。ただし、図７〜図９のブロック図における補正手段への入力としての工具長補正ベクトルは工具先端点ベクトルとなる。
また、ここでは、工具ヘッド回転型５軸加工機の実施例に合わせて、「誤差と補正量の関係は正負の関係」としたが、テーブルの誤差については「誤差と補正量の関係は同じ」とすることも可能である。「補正量はテーブル位置の誤差をテーブル位置で補正する量である」とすれば「誤差と補正量の関係は正負の関係」であり、「補正量はテーブル位置の誤差を工具位置で補正する量である」とすれば「誤差と補正量の関係は同じである」となる。後者の場合は、上記の各誤差−ΔＩｎ、−ΔＪｎ、−ΔＫｎ（ｎ＝Ｌ、Ｒ）および−ΔＸｎ、−ΔＹｎ、−ΔＺｎ（ｎ＝Ｌ、Ｒ）の負号を削除し、数１１式、数１２−１式、および図１１における対応する要素の符号を反転する。さらに、補正量の設定については、誤差と同じベクトルを格子点補正ベクトルとする。
【００８３】
図１２は混合型機械（工具ヘッドとテーブルともに回転する機械）の一実施例である。
工具１０はＢ軸回転で回転する。工具ヘッド１１はＺ軸で上下直線運動する。テーブル１２はＣ軸回転で回転する。
【００８４】
次に、図１３を用いて、混合型機械（工具ヘッドとテーブルともに回転する機械）５軸加工機における回転誤差と並進誤差、およびそれらの補正について説明する。ここでは、工具ヘッド座標系を工具ヘッド回転中心を原点とする（Ｘｔ、Ｙｔ、Ｚｔ）座標で表すと直線軸依存並進誤差および直線軸依存回転誤差によって工具ヘッド座標系が（Ｘｔ’、Ｙｔ’、Ｚｔ’）座標となり、さらにＢ軸依存並進および回転誤差によって工具ヘッド座標系が（Ｘｔ’’、Ｙｔ’’、Ｚｔ’’）座標となることを示している。−ΔＩｎ、−ΔＪｎ、−ΔＫｎ（ｎ＝Ｌ、Ｂ）は、それらの座標系間のＸ軸周り、Ｙ軸周り、Ｚ軸周りの回転誤差、−ΔＸｎ、−ΔＹｎ、−ΔＺｎ（ｎ＝Ｌ、Ｂ）は、それらの座標系間のＸ軸方向Ｙ軸方向、Ｚ軸方向の並進誤差を示す。また、テーブル座標系をテーブル回転中心を原点とする（Ｘａ、Ｙａ、Ｚａ）座標で表すとＣ軸依存並進誤差およびＣ軸依存回転誤差によってテーブル座標系が（Ｘａ’、Ｙａ’、Ｚａ’）座標となることを示している。−ΔＸＣ、−ΔＹＣ、−ΔＺＣは、それらの座標系間のＸ軸方向、Ｙ軸方向、Ｚ軸方向の並進誤差、−ΔＩＣ、−ΔＪＣ、−ΔＫＣは、それらの座標系間のＸ軸周り、Ｙ軸周り、Ｚ軸周りの回転誤差を示す。これらの誤差はわずかの量であるが、図上では理解を容易にするために誇張して描いている。
【００８５】
指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に基づく直線軸依存並進補正量を（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量を（ΔＩＬ、ΔＪＬ、ΔＫＬ）、指令Ｂ軸位置Ｐｍｂに基づくＢ軸依存並進補正量を（ΔＸＢ、ΔＹＢ、ΔＺＢ）、Ｂ軸依存回転補正量を（ΔＩＢ、ΔＪＢ、ΔＫＢ）とする。これらが軸依存並進補正量および軸依存回転補正量である。指令Ｃ軸位置Ｐｍｃに基づくＣ軸依存並進補正量を（ΔＸＣ、ΔＹＣ、ΔＺＣ）、Ｃ軸依存回転補正量を（ΔＩＣ、ΔＪＣ、ΔＫＣ）とする。誤差と補正量の関係は正負の関係であるため、図および明細書中では誤差をこれらの補正量に負号を付して表している。テーブル回転中心から工具先端点へのベクトルを工具先端点ベクトルＴｐ（Ｔｐｘ、Ｔｐｙ、Ｔｐｚ）、工具先端点から工具ヘッド回転中心へのベクトルを工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）とし、ＴｐおよびＴに対して数１４式および数１５式のように各誤差による変換行列を積算することによって実工具先端点ベクトルＴｐ’（Ｔｐｘ’、 Ｔｐｙ’、 Ｔｐｚ’）および実工具長補正ベクトルＴ’（Ｔｘ’、 Ｔｙ’、 Ｔｚ’）を求めることができる。ここで、工具先端点ベクトルＴｐの求め方は実施例２と同様に、数１４式および数１５式における（ΔＩＬ、ΔＪＬ、ΔＫＬ）、（ΔＩＢ、ΔＪＢ、ΔＫＢ）、（ΔＩＣ、ΔＪＣ、ΔＫＣ）がラジアン単位である。また、近似の式は数１式と同様である。
【００８６】
【数１４】
0004327894.tif 000019
【００８７】
【数１５】
0004327894.tif 000020
【００８８】
また、変換行列の積算の結果、誤差の２乗項を無視することにより、数１５式の替わりに数１６−１式とすることもできる。
【００８９】
【数１６−１】
0004327894.tif 000021
【００９０】
また、指令Ｂ軸位置Ｐｍｂに基づくＢ軸依存並進補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）およびＢ軸依存回転補正量（ΔＩＢ、ΔＪＢ、ΔＫＢ）が、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）よりも重要であり、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）は無視できる場合もある。その場合は、数１５式の替わりに、次のように数１５式の右辺２個の変換行列のうち（ΔＸＬ、ΔＹＬ、ΔＺＬ）および（ΔＩＬ、ΔＪＬ、ΔＫＬ）を要素とする行列は削除する。そうすると、数１６−２式が得られる。
【００９１】
【数１６−２】
0004327894.tif 000022
【００９２】
また逆に、指令直線軸位置Ｐｍｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）が、指令Ｂ軸位置Ｐｍｂに基づくＢ軸依存並進補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）およびＢ軸依存回転補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）およびＢ軸依存回転補正量（ΔＩＢ、ΔＪＢ、ΔＫＢ）は無視できる場合もある。その場合は、数１５式の替わりに、次のように数１５式の右辺２個の変換行列のうち（ΔＸＢ、ΔＹＢ、ΔＺＢ）および（ΔＩＢ、ΔＪＢ、ΔＫＢ）を要素とする行列は削除する。そうすると、数１６−３式が得られる。
【００９３】
【数１６−３】
0004327894.tif 000023
【００９４】
これらのベクトルＴｐ、Ｔｐ’、Ｔ、Ｔ’により、テーブルから見た工具先端点が誤差の無い位置になるように補正するための並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）は数１７式によって計算される。これは図１３において、Ｔｐ＋Ｔ−Ｔ’＋Δ３Ｄ−Ｔｐ’＝０の関係が成り立つことから導かれる。
【００９５】
【数１７】
0004327894.tif 000024
【００９６】
こうして求められた並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）を指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に加算し修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）を求める。各直線軸Ｘ軸、Ｙ軸、Ｚ軸はこの修正直線軸位置Ｐｍｌ’（Ｐｍｘ’、Ｐｍｙ’、Ｐｍｚ’）へ、回転軸Ｂ、Ｃ軸は指令位置へ駆動する。このことによって、テーブルから見た工具先端点位置を誤差のない位置に移動することができる。
【００９７】
つまり、指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に対して本来の工具ヘッドの位置は（Ｘｔ、Ｙｔ、Ｚｔ）の位置であり本来のテーブル位置は（Ｘａ、Ｙａ、Ｚａ）座標における位置であるが、誤差により実際の工具ヘッド位置は（Ｘｔ’’、Ｙｔ’’、Ｚｔ’’）座標における位置となり実際のテーブル位置は（Ｘａ’、Ｙａ’、Ｚａ’）座標における位置となる。そこで、並進回転補正量Δ３Ｄ（Δ３Ｄｘ、Δ３Ｄｙ、Δ３Ｄｚ）の補正を行うことによって、工具ヘッドは図１３における点線で表した位置となり、その結果、テーブル座標系上（Ｘａ、Ｙａ、Ｚａ）の工具先端点ベクトルＴｐが実際のテーブル座標系上（Ｘａ’、Ｙａ’、 Ｚａ’）の実テーブル上工具先端点ベクトルＴｐａと同じとなる。このことは、実際のテーブルつまり加工物からの工具先端点位置が誤差のない位置に移動することを意味する。
【００９８】
また、補正量の設定や、数値制御装置の構成は、図１に示される工具ヘッド回転型の５軸加工機に関して説明した、図３〜図６の補正量の設定や、図７〜図９にブロック図で示される数値制御装置と同様である。ただし、図７〜図９のブロック図における補正手段への入力としての工具長補正ベクトルに加えて工具先端点ベクトルも追加される。
また、ここでは、工具ヘッド回転型５軸加工機の実施形態に合わせて、「誤差と補正量の関係は正負の関係」としたが、テーブルの誤差については「誤差と補正量の関係は同じ」とすることも可能である。「補正量はテーブル位置の誤差をテーブル位置で補正する量である」とすれば「誤差と補正量の関係は正負の関係であり」、「補正量はテーブル位置の誤差を工具位置で補正する量である」とすれば「誤差と補正量の関係は同じ」となる。後者の場合は、上記の各誤差−ΔＸＣ、−ΔＹＣ、−ΔＺＣ、−ΔＩＣ、−ΔＪＣ、−ΔＫＣの負号を削除し、数１４式および数１３式における対応する要素の符号を反転することになる。さらに、Ｃ軸依存並進補正量とＣ軸依存回転補正量の補正量の設定については、誤差と同じベクトルを格子点補正ベクトルとする。
【００９９】
補正量の設定と計算について説明する。指令直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）に基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）は工具ヘッド回転型の５軸加工機の例と同様である。しかし、指令Ｂ軸位置Ｐｍｂに基づくＢ軸依存並進補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）、Ｂ軸依存回転補正量（ΔＩＢ、ΔＪＢ、ΔＫＢ）および指令Ｃ軸位置Ｐｍｃに基づくＣ軸依存並進補正量（ΔＸＣ、ΔＹＣ、ΔＺＣ）、Ｃ軸依存回転補正量（ΔＩＣ、ΔＪＣ、ΔＫＣ）は工具ヘッド回転型の５軸加工機の例と相違する。そこで、この相違点について説明する。混合型機械（工具ヘッドとテーブルともに回転する機械）５軸加工機の例ではＢ軸、Ｃ軸位置依存の補正量については、「工具ヘッド回転型」や「テーブル回転型」の５軸加工機の例ほどＢ軸Ｃ軸間の相関関係が強くないためである。
【０１００】
図１４は所定間隔に分割されたＢ軸の１次元座標系を示す図である。所定間隔に分割する分割点がＰb0〜Ｐb2である。なお、この図に図示されているのは座標系の１部分であり、実際には機械移動可能な領域全体をこのような所定間隔に分割する。なお、図３、図５における説明と同様、分割点間隔は一定間隔でなくてもよい。例えば、Ｂ軸上の分割点位置Ｐb0、Ｐb１、Ｐb2を設定値として設定するようにしてもよい。
【０１０１】
そして、各分割点における機械系に起因する誤差（並進誤差と回転誤差）を予め測定しておく。誤差と絶対値が同じで逆向きのベクトルを分割点補正ベクトルとする。したがって、補正量は、６次元ベクトルＶｎ（ＶｎＸ、ＶｎＹ、ＶｎＺ、ＶｎＩ、ＶｎＪ、ＶｎＫ：ｎ＝０〜２）で表される。（ＶｎＸ、ＶｎＹ、ＶｎＺ）がＢ軸依存並進補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）に対応し、（ＶｎＩ、ＶｎＪ、ＶｎＫ）がＢ軸依存回転補正量（ΔＩＢ、ΔＪＢ、ΔＫＢ）に対応する。分割点補正ベクトルは、Ｂ軸依存補正量テーブルとして不揮発性メモリ等に格納される。
【０１０２】
図１５は補正ベクトルを算出すべき指令Ｂ軸位置Ｐｍｂを含む分割領域を示す図である。この例では、補正ベクトルを算出すべき指令Ｂ軸位置Ｐｍｂが、分割点Ｐb0、Ｐb1に囲まれた領域である。この例では、補正ベクトルを算出すべき指令Ｂ軸位置Ｐｍｂが、分割点Ｐｂ0、Ｐb1に囲まれた領域にある。また、各分割点Ｐb0、Ｐb1には、それぞれ分割点補正ベクトルＶ0（Ｖ0X、Ｖ0Y、Ｖ0Z、Ｖ0I、Ｖ0J、Ｖ0K）、Ｖ1（Ｖ1X、Ｖ1Y、Ｖ1Z、Ｖ1I、Ｖ1J、Ｖ1K）が設定されている。Ｂ軸の分割間隔をＬｂとした場合の正規化した点Ｐｍｂの座標値ｂを数１８式で定める。
【０１０３】
【数１８】
0004327894.tif 000025
【０１０４】
この座標値ｂをもとに、点ＰｍｂでのＢ軸依並進補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）、Ｂ軸依存回転補正量（ΔＩＢ、ΔＪＢ、ΔＫＢ）を数１９式で算出する。
【０１０５】
【数１９】
0004327894.tif 000026
【０１０６】
このようにして、Ｂ軸座標系上の任意の点Ｐｍｂにおける補正ベクトルが算出できる。
同様の方法で、図１６のように設定されたＣ軸依存補正テーブルからＣ軸座標系上の任意の点ＰｍｃにおけるＣ軸依存並進補正量（ΔＸＣ、ΔＹＣ、ΔＺＣ）、Ｃ軸依存回転補正量（ΔＩＣ、ΔＪＣ、ΔＫＣ）が算出される。
【０１０７】
回転軸２軸のそれぞれについて、このように１次元座標系における分割点補正ベクトルの組み合わせで補正することは、実施例１および実施例２に対して適用することも可能である。また、実施例１〜実施例３において直線軸依存補正量は図３のように３次元座標系を３次元格子状に分割した格子点補正ベクトルとしたが、相関係数の強い直線２軸と相関係数の弱い１軸とに分け、相関関係の強い直線２軸に依存する補正量を図５のような２次元格子状に分割した格子点補正ベクトルで求め、相関関係の弱い１軸に依存する補正量を図１４に示すような１次元座標系における分割点補正ベクトルで求めるように組み合わせて補正することも可能である。また、それらのうち１次元座標系における分割点補正ベクトルは使用せず、２次元格子状に分割した格子点補正ベクトルでのみ求めるようにすることも可能である。  
さらに、直線軸３軸のそれぞれについて、図１４のような１次元座標系における分割点補正ベクトルの組み合わせで補正することも可能である。また、それらのうち１軸または２軸のみの分割点補正ベクトルの組み合わせで補正することも可能である。
【０１０８】
図１７は本発明の第１の実施形態で実行される補正のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。［ステップＳ１］工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を得る。［ステップＳ２］指令位置Ｐｍ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ、Ｐｍｂ、Ｐｍｃ）、直線軸依存補正量テーブル、回転軸依存補正量テーブルから、数４式〜数１０式に基づいて軸依存並進補正量および軸依存回転補正量を得る。［ステップＳ３］数１式〜数３式から並進回転補正量Δ３Ｄを算出する。［ステップＳ４］直線軸位置Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）にΔ３Ｄを加算、直線軸の移動すべき機械座標値とする。
【０１０９】
ここで、前述の工具ヘッド回転型５軸加工機におけるある回転軸位置の回転誤差と並進誤差の測定方法についてその一実施例を説明する。つまり、図５の回転軸依存補正量テーブルのあるＢ、Ｃ軸位置の格子点補正ベクトルに対応する誤差量を測定する。ここでは、直線軸に依存した回転誤差と並進誤差はないことを想定している。図１８に示されるように、先端に半径長が既知である球部を有し工具ヘッド回転中心から先端球部中心までの距離が既知でその長さが長短相違する２つのテストバーを工具１０の代わりに工具ヘッド１１に装着し、その各先端球部をテーブルに固定されたキューブセンサに接触させ測定ポイントの直線軸機械座標値を求める。ここでは測定ポイントは工具ヘッド回転中心の直線軸位置である。接触するのは先端球部の表面であるが、先端球部の表面における少なくとも３点を接触させた時の工具ヘッド回転中心の直線軸機械座標値から測定ポイントつまり工具ヘッド回転中心の直線軸位置の実測位置を求めることができる。なお、テストバーでなく先端が半球状のボールエンドミルを使用することも可能である。
【０１１０】
回転軸位置を測定用Ｂ、Ｃ軸とし、工具ヘッド回転中心の直線軸位置を測定し、第１テストバーでの測定において測定ポイントの本来の位置としての理論位置はＰｓ１（Ｐｓ１ｘ、Ｐｓ１ｙ、Ｐｓ１ｚ）であるところが実測位置はＰｅ１（Ｐｅ１ｘ、Ｐｅ１ｙ、Ｐｅ１ｚ）であり、第２テストバーでの測定において測定ポイントの本来の位置としての理論位置はＰｓ２（Ｐｓ２ｘ、Ｐｓ２ｙ、Ｐｓ２ｚ）であるところが実測位置はＰｅ２（Ｐｅ２ｘ、Ｐｅ２ｙ、Ｐｅ２ｚ）であるとする。それらの位置と並進誤差および回転誤差の関係を図示すると図１９に示すようになる。Ｐｓ１とＰｅ１間、Ｐｓ２とＰｅ２間は実際にはわずかな量であるが、図面では理解を助けるために誇張して描いている。ここで、第１テストバーでの測定における理論位置Ｐｓ１および第２テストバーでの測定における理論位置Ｐｓ２は、テーブルに固定されたキューブセンサの位置、Ｂ、Ｃ軸位置、各テストバーの先端球部半径長および各テストバーの長さＬ１、Ｌ２から計算されている。  
並進誤差−Ｖｅｌ（−ＶｅＸ、−ＶｅＹ、−ＶｅＺ）は数２０式のように求められる。
これが既に述べた補正量の６次元ベクトルＶｎ（ＶｎＸ、ＶｎＹ、ＶｎＺ、ＶｎＩ、ＶｎＪ、ＶｎＫ）の（ＶｎＸ、ＶｎＹ、ＶｎＺ）に負号を付けたものに相当する。
【０１１１】
【数２０】
0004327894.tif 000027
【０１１２】
回転誤差−Ｖｅｒ（−ＶｅＩ、−ＶｅＪ、−ＶｅＫ）は次の方程式を解いて求めることができる。これが既に述べた補正量の６次元ベクトルＶｎ（ＶｎＸ、ＶｎＹ、ＶｎＺ、ＶｎＩ、ＶｎＪ、ＶｎＫ）の（ＶｎＩ、ＶｎＪ、ＶｎＫ）に負号を付けたものに相当する。
変換行列の各要素は数１式などと同様に、回転誤差−Ｖｅｒ（−ＶｅＩ、−ＶｅＪ、−ＶｅＫ）の値が十分に小さいことを前提として変換行列における三角関数を近似している。
近似せずに三角関数による変換行列としてもよい。
【０１１３】
【数２１】
0004327894.tif 000028
【０１１４】
誤差と補正量とは正負の関係にあるので、誤差に負号をつけて図５の対応する格子点の格子点補正ベクトルとして格納する。図５の２軸の格子点の格子点補正ベクトルを求める実施例を説明したが、図１４または図１６の１軸の分割点補正ベクトルはこの実施例を１軸に適用することにより容易に実現できるので説明は省略する。
【０１１５】
また、前述の工具ヘッド回転型５軸加工機におけるある直線軸位置の回転誤差と並進誤差の測定方法についてその一実施例を説明する。つまり、図３の直線軸依存補正量テーブルのあるＸ、Ｙ、Ｚ軸位置の格子点補正ベクトルに対応する誤差量を測定する。テストバーは図１８と同様である。Ｂ、Ｃ軸をある位置にしておき、工具ヘッド回転中心の直線軸位置を測定し、第１テストバーでの測定において測定ポイントの本来の位置としての理論位置はＰｓ３（Ｐｓ３ｘ、Ｐｓ３ｙ、Ｐｓ３ｚ）であるところが実測位置はＰｅ３（Ｐｅ３ｘ、Ｐｅ３ｙ、Ｐｅ３ｚ）であり、第２テストバーでの測定において測定ポイントの本来の位置としての理論位置はＰｓ４（Ｐｓ４ｘ、Ｐｓ４ｙ、Ｐｓ４ｚ）であるところが実測位置はＰｅ４（Ｐｅ４ｘ、Ｐｅ４ｙ、Ｐｅ４ｚ）であるとする。Ｐｓ３とＰｓ４の中点をＰｃとする。それらの位置と並進誤差および回転誤差の関係を図示すると図２０に示すようになる。Ｐｓ３とＰｅ３間、Ｐｓ４とＰｅ４間は実際にはわずかな量であるが、図面では理解を助けるために誇張して描いている。
【０１１６】
このＢ、Ｃ軸位置での回転軸位置に依存する誤差は既に測定されて分かっているので、その誤差分の補正を行い、Ｐｅ３に対して補正された実測位置をＰｅ３’（Ｐｅ３ｘ’、Ｐｅ３ｙ’、Ｐｅ３ｚ’）、Ｐｅ４に対して補正された実測位置をＰｅ４’（Ｐｅ４ｘ’、Ｐｅ４ｙ’、Ｐｅ４ｚ’）とする。Ｐｓ１の代わりにＰｓ３、Ｐｓ２の代わりにＰｓ４、Ｐｅ１の代わりにＰｅ３’、Ｐｅ２の代わりにＰｅ４’を数２０、数２１に適用することにより、−Ｖｅｌ、−Ｖｅｒの代わりに直線軸位置に依存する並進誤差−Ｕｅｌ（−ＵｅＸ、−ＵｅＹ、−ＵｅＺ）、回転誤差−Ｕｅｒ（−ＵｅＩ、−ＵｅＪ、−ＵｅＫ）を求めることができる。これらの誤差に負号を付けたものが既に述べた補正量の６次元ベクトルＵｎ（ＵｎＸ、ＵｎＹ、ＵｎＺ、ＵｎＩ、ＵｎＪ、ＵｎＫ）に相当する。誤差に負号を付けて図３におけるＰｃに対応する格子点の格子点補正ベクトルとして格納する。
【図面の簡単な説明】
【０１１７】
【図１】５軸加工機の工具ヘッド回転型機械の一実施例である。
【図２】本発明の、回転誤差と並進誤差、およびそれらの誤差の補正について説明する図である。
【図３】格子状領域に分割された３次元座標系を示す図である。
【図４】補正量ベクトルを算出するべき指令直線軸Ｐｍｌ（Ｐｍｘ、Ｐｍｙ、Ｐｍｚ）を含む格子状領域を示す図である。
【図５】格子状領域に分割された２次元座標系を示す図である。
【図６】補正ベクトルを算出するべき指令回転軸位置Ｐｍｒ（Ｐｍｂ、Ｐｍｃ）を含む格子状領域を示す図である。
【図７】本発明である５軸加工機を制御する数値制御装置の第１の実施形態の要部ブロック図である。
【図８】本発明である５軸加工機を制御する数値制御装置の第２の実施形態の要部ブロック図である。
【図９】本発明である５軸加工機を制御する数値制御装置の第３の実施形態の要部ブロック図である。
【図１０】テーブル回転型機械の一実施例である。
【図１１】本発明の、回転誤差と並進誤差、およびそれらの補正について説明する図である。
【図１２】混合型機械（工具ヘッドとテーブルともに回転する機械）の一実施例である。
【図１３】本発明の、回転誤差と並進誤差、およびそれらの補正について説明する図である。
【図１４】所定間隔に分割されたＢ軸の１次元座標系を示す図である。
【図１５】補正ベクトルを算出すべき指令Ｂ軸位置Ｐｍｂを含む分割領域を示す図である。
【図１６】Ｃ軸依存補正テーブルからＣ軸座標系を示す図である。
【図１７】本発明の第１の実施形態で実行される補正のアルゴリズムを示すフローチャートである。
【図１８】工具ヘッド回転中心の直線軸位置を求める方法を説明する図である。
【図１９】工具ヘッド回転中心の直線軸位置とある回転軸位置の並進誤差および回転誤差の関係を示す図である。
【図２０】工具ヘッド回転中心の直線軸位置とある直線軸位置の並進誤差および回転誤差の関係を示す図である。
【符号の説明】
【０１１８】
１  指令解析部
２  工具長補正ベクトル加算要素
３  補間手段
４ｘ〜４ｃ  加減速処理部
５  補正手段
６ｘ〜６ｃ  サーボモータ
７  入力データ部
１０  工具
１１  工具ヘッド
１２  テーブル
【図１】
0004327894.tif 000029
【図２】
0004327894.tif 000030
【図３】
0004327894.tif 000031
【図４】
0004327894.tif 000032
【図５】
0004327894.tif 000033
【図６】
0004327894.tif 000034
【図７】
0004327894.tif 000035
【図８】
0004327894.tif 000036
【図９】
0004327894.tif 000037
【図１０】
0004327894.tif 000038
【図１１】
0004327894.tif 000039
【図１２】
0004327894.tif 000040
【図１３】
0004327894.tif 000041
【図１４】
0004327894.tif 000042
【図１５】
0004327894.tif 000043
【図１６】
0004327894.tif 000044
【図１７】
0004327894.tif 000045
【図１８】
0004327894.tif 000046
【図１９】
0004327894.tif 000047
【図２０】
0004327894.tif 000048