(57)【要約】【課題】５軸加工機における工具先端点位置と工具姿勢を誤差のない位置に移動させることが可能な数値制御装置の提供すること。【解決手段】５軸加工機に発生する、直線軸依存並進誤差、回転軸依存並進誤差、直線軸依存回転誤差、回転軸依存回転誤差、に対応する補正量を設定することによって、それらの補正量から並進補正量ΔＣｔを求め、指令直線軸位置Ｐｌに加算するとともに回転補正量ΔＣｒを求め指令回転軸位置Ｐｒに加算する。補正量は、機械移動可能な領域全体に亘り格子状に分割し、各格子点において機械系に起因する誤差として測定し６次元格子点補正ベクトルとして予め求めておいたものを用いる。【選択図】図２
2011209897.tif 000002
【特許請求の範囲】
【請求項１】
テーブルに取付けられた加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
指令軸位置に基づいて軸依存並進補正量および軸依存回転補正量を求める軸依存補正量計算手段と、
前記軸依存並進補正量によって並進補正量を求める並進補正量計算手段と、
前記軸依存回転補正量によって回転補正量を求める回転補正量計算手段と、
前記並進補正量を指令直線軸位置に加算し、前記回転補正量を指令回転軸位置に加算する補正量加算手段と、
前記直線軸３軸と前記回転軸２軸を前記補正量加算手段によって求められた位置へ駆動する手段を有する数値制御装置。
【請求項２】
前記軸依存補正量計算手段は、前記軸依存並進補正量および前記軸依存回転補正量として指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求め、
前記並進補正量計算手段は、前記回転軸依存並進補正量によって前記並進補正量を求め、
前記回転補正量計算手段は、前記回転軸依存回転補正量によって前記回転補正量を求める請求項１記載の数値制御装置。
【請求項３】
前記軸依存補正量計算手段は、前記軸依存並進補正量および前記軸依存回転補正量として指令直線軸位置に基づいて直線軸依存並進補正量および直線軸依存回転補正量を求め、
前記並進補正量計算手段は、前記直線軸依存並進補正量によって前記並進補正量を求め、
前記回転補正量計算手段は、前記直線軸依存回転補正量によって前記回転補正量を求める請求項１記載の数値制御装置。
【請求項４】
前記軸依存補正量計算手段は、前記軸依存並進補正量および前記軸依存回転補正量として、指令直線軸位置に基づいて直線軸依存並進補正量および直線軸依存回転補正量、および指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求め、
前記並進補正量計算手段は、前記直線軸依存並進補正量および前記回転軸依存並進補正量によって前記並進補正量を求め、
前記回転補正量計算手段は、前記直線軸依存回転補正量および前記回転軸依存回転補正量によって前記回転補正量を求める請求項１記載の数値制御装置。
【請求項５】
テーブルに取付けられた加工物に対して直線軸３軸とヘッド回転用回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
前記回転補正量は工具長補正ベクトルに対して回転誤差を持った回転誤差工具長補正ベクトルを回転補正する回転軸補正量として求める請求項１〜請求項４のいずれか一つに記載の数値制御装置。
【請求項６】
前記直線軸依存補正量計算手段は、前記直線軸３軸による３次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し、直線軸３軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を前記格子点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置。
【請求項７】
前記回転軸依存補正量計算手段は、前記回転軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し、回転軸２軸の位置における回転軸依存回転補正量と回転軸依存並進補正量を前記格子点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置。
【請求項８】
前記回転軸依存補正量計算手段は、前記回転軸２軸のうち一方の回転軸による１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し、他方の回転軸による１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し回転軸２軸のそれぞれの位置における回転軸依存回転補正量および回転軸依存並進補正量を前記分割点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置。
【請求項９】
前記直線軸依存補正量計算手段は、前記直線軸３軸のうち直線軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し、前記直線軸２軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を前記格子点補正ベクトルに基づいて計算するとともに、前記直線軸３軸のうち他の直線軸１軸による１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し、前記直線軸１軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を前記分割点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置。
【請求項１０】
前記直線軸依存補正量計算手段は、前記直線軸３軸のそれぞれに対して１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し、前記直線軸３軸のそれぞれの位置における直線軸依存回転補正量と直線軸依存並進補正量を前記分割点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置。
【請求項１１】
前記指令直線軸位置および前記指令回転軸位置はプログラム指令に基づいて補間された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置。
【請求項１２】
前記指令直線軸位置および前記指令回転軸位置はプログラム指令された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直線軸３軸と回転軸２軸とを有する５軸加工機を制御する数値制御装置に関する。特に、直線軸位置に依存した直線軸依存並進誤差または直線軸依存回転誤差、回転軸位置に依存した回転軸依存並進誤差または回転軸依存回転誤差などの誤差に対応した補正量を設定することによって、工具先端点位置を誤差のない位置に移動するとともに工具姿勢（方向）も誤差のない姿勢（方向）に補正する移動を行い、高精度な加工を行うように制御する数値制御装置に関する。
【背景技術】
【０００２】
特許文献１には、直線軸座標系と回転軸座標系をそれぞれ格子状領域に分割し、格子点において格子点補正ベクトルを格納し、直線軸位置と回転軸位置から軸依存並進補正量と軸依存回転補正量を格子点補正ベクトルに基づいて算出し直線軸位置を補正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５１７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術では、直線軸位置に対する補正が行われるのみである。つまり、工具先端点位置は誤差のない位置に移動するが、工具姿勢（方向）は誤差をもったままである。  
工具先端点で加工する場合はこのような従来技術の補正でも問題ないが、工具側面で加工する場合や穴明け加工のように工具方向に向かって加工する場合は工具姿勢（方向）が重要であり、工具先端点位置を誤差のない位置に補正するだけでは不十分である。つまり、５軸加工機における工具側面での加工や穴明け加工において機械系に起因する誤差がある場合、従来技術では高精度な加工を行うことはできない。
【０００５】
直線軸３軸と回転軸２軸によって加工物を加工する５軸加工機に発生する主な誤差は、並進誤差として、（１）直線軸位置に依存した直線軸依存並進誤差、（２）回転軸位置に依存した回転軸依存並進誤差、及び、回転誤差として、（３）直線軸位置に依存した直線軸依存回転誤差、（４）回転軸位置に依存した回転軸依存回転誤差、の４つからなる。
【０００６】
そこで、本発明は、上記４つの誤差に対応した補正量を設定することによって、それらの補正量から並進補正量を求め指令直線軸位置に加算するとともに回転補正量を求め指令回転軸位置に加算する。このことにより、本発明は、工具先端点位置を誤差のない位置に移動するとともに工具姿勢（方向）も誤差のない方向に補正する移動を行い、高精度な加工を実現する５軸加工機を制御する数値制御装置を提供することを目的とする。つまり、５軸加工機における工具側面での加工や穴明け加工においても指令通りの工具姿勢（方向）での加工を行うことのできる数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、テーブルに取付けられた加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、指令軸位置に基づいて軸依存並進補正量および軸依存回転補正量を求める軸依存補正量計算手段と、前記軸依存並進補正量によって並進補正量を求める並進補正量計算手段と、前記軸依存回転補正量によって回転補正量を求める回転補正量計算手段と、前記並進補正量を指令直線軸位置に加算し、前記回転補正量を指令回転軸位置に加算する補正量加算手段と、前記直線軸３軸と前記回転軸２軸を前記補正量加算手段によって求められた位置へ駆動する手段を有する数値制御装置である。
【０００８】
請求項２に係る発明は、前記軸依存補正量計算手段は、前記軸依存並進補正量および前記軸依存回転補正量として指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求め、前記並進補正量計算手段は、前記回転軸依存並進補正量によって前記並進補正量を求め、前記回転補正量計算手段は、前記回転軸依存回転補正量によって前記回転補正量を求める請求項１記載の数値制御装置である。
【０００９】
請求項３に係る発明は、前記軸依存補正量計算手段は、前記軸依存並進補正量および前記軸依存回転補正量として指令直線軸位置に基づいて直線軸依存並進補正量および直線軸依存回転補正量を求め、前記並進補正量計算手段は、前記直線軸依存並進補正量によって前記並進補正量を求め、前記回転補正量計算手段は、前記直線軸依存回転補正量によって前記回転補正量を求める請求項１記載の数値制御装置である。
【００１０】
請求項４に係る発明は、前記軸依存補正量計算手段は、前記軸依存並進補正量および前記軸依存回転補正量として、指令直線軸位置に基づいて直線軸依存並進補正量および直線軸依存回転補正量、および指令回転軸位置に基づいて回転軸依存並進補正量および回転軸依存回転補正量を求め、前記並進補正量計算手段は、前記直線軸依存並進補正量および前記回転軸依存並進補正量によって前記並進補正量を求め、前記回転補正量計算手段は、前記直線軸依存回転補正量および前記回転軸依存回転補正量によって前記回転補正量を求める請求項１記載の数値制御装置である。
【００１１】
請求項５に係る発明は、テーブルに取付けられた加工物に対して直線軸３軸とヘッド回転用回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、前記回転補正量は工具長補正ベクトルに対して回転誤差を持った回転誤差工具長補正ベクトルを回転補正する回転軸補正量として求める請求項１〜請求項４のいずれか一つに記載の数値制御装置である。
【００１２】
請求項６に係る発明は、前記直線軸依存補正量計算手段は、前記直線軸３軸による３次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し、直線軸３軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を前記格子点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置である。
【００１３】
請求項７に係る発明は、前記回転軸依存補正量計算手段は、前記回転軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し、回転軸２軸の位置における回転軸依存回転補正量と回転軸依存並進補正量を前記格子点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置である。
【００１４】
請求項８に係る発明は、前記回転軸依存補正量計算手段は、前記回転軸２軸のうち一方の回転軸による１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し、他方の回転軸による１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し回転軸２軸のそれぞれの位置における回転軸依存回転補正量および回転軸依存並進補正量を前記分割点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置である。
【００１５】
請求項９に係る発明は、前記直線軸依存補正量計算手段は、前記直線軸３軸のうち直線軸２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転補正量と並進補正量の格子点補正ベクトルを格納し、前記直線軸２軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を前記格子点補正ベクトルに基づいて計算するとともに、前記直線軸３軸のうち他の直線軸１軸による１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し、前記直線軸１軸の位置における直線軸依存回転補正量と直線軸依存並進補正量を前記分割点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置である。
【００１６】
請求項１０に係る発明は、前記直線軸依存補正量計算手段は、前記直線軸３軸のそれぞれに対して１次元座標系空間を所定間隔に分割し、該所定間隔毎の分割点における回転補正量と並進補正量の分割点補正ベクトルを格納し、前記直線軸３軸のそれぞれの位置における直線軸依存回転補正量と直線軸依存並進補正量を前記分割点補正ベクトルに基づいて計算する請求項１〜請求項５のいずれか一つに記載の数値制御装置である。  
請求項１１に係る発明は、前記指令直線軸位置および前記指令回転軸位置はプログラム指令に基づいて補間された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。  
請求項１２に係る発明は、前記指令直線軸位置および前記指令回転軸位置はプログラム指令された直線軸３軸および回転軸２軸への位置である請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。
【発明の効果】
【００１７】
本発明は、それぞれの誤差に対応した補正量を設定することによって、それらの補正量から並進補正量を求め指令直線軸位置に加算するとともに回転軸の補正量として回転補正量も求め指令回転軸位置に加算する。このことにより、工具先端点位置を誤差のない位置に移動するとともに工具姿勢も誤差のない方向に補正する移動を行い、高精度な加工を行うことが可能である。
【図面の簡単な説明】
【００１８】
【図１】５軸加工機の工具ヘッド回転型機械の一実施例である。
【図２】本発明の、回転誤差と並進誤差、およびそれらの誤差の補正について説明する図である。
【図３】Ｍｒによる回転誤差がないと考えた場合はＢ軸の回転中心はＣ＝０の時のＢ軸の回転中心であるＹ軸方向をＣだけ回転した方向（Ｎｂ０）であり、Ｃ軸の回転中心はＺ軸方向であるＮｃ０であることを説明する図である。
【図４】格子状領域に分割された３次元座標系を示す図である。
【図５】補正量ベクトルを算出するべき指令直線軸Ｐｌ（Ｘ，Ｙ，Ｚ）を含む格子状領域を示す図である。
【図６】格子状領域に分割された２次元座標系を示す図である。
【図７】補正ベクトルを算出するべき指令回転軸位置Ｐｒ（Ｂ，Ｃ）を含む格子状領域を示す図である。
【図８】所定間隔に分割されたＢ軸の１次元座標系を示す図である。
【図９】補正ベクトルを算出すべき指令Ｂ軸位置Ｂを含む分割領域を示す図である。
【図１０】Ｃ軸依存補正テーブルからＣ軸座標系を示す図である。
【図１１】本発明である５軸加工機を制御する数値制御装置の第１の実施形態の要部ブロック図である。
【図１２】本発明である５軸加工機を制御する数値制御装置の第２の実施形態の要部ブロック図である。
【図１３】本発明である５軸加工機を制御する数値制御装置の第３の実施形態の要部ブロック図である。
【図１４】本発明の第１の実施形態で実行される補正のアルゴリズムを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明である５軸加工機を制御する数値制御装置の実施形態について図面とともに説明する。５軸加工機には大きく分けて「工具ヘッド回転型」、「テーブル回転型」、「混合型（工具ヘッド、テーブル、両方とも回転）」の３つがある。
ただし、「テーブル回転型」、「混合型」の５軸加工機においては、加工物に対する相対的工具姿勢（方向）に誤差がある場合その誤差を補正するように回転軸を制御できるとは限らないため、本技術は特に「工具ヘッド回転型」の５軸加工機を想定している。  
図１は本発明の数値制御装置が制御する５軸加工機の一例である。図１に示される例は工具ヘッド１１が回転する工具ヘッド回転型である。
【００２０】
次に、図２を用いて、工具ヘッド回転型５軸加工機における回転誤差と並進誤差、およびそれらの誤差の補正について説明する。工具ヘッド座標系を工具ヘッドの回転中心を原点とする（Ｘｔ、Ｙｔ、Ｚｔ）座標で表すと直線軸依存並進誤差および直線軸依存回転誤差によって工具ヘッド座標系が（Ｘｔ’、Ｙｔ’、Ｚｔ’）座標となり、さらに回転軸依存並進誤差および回転軸依存回転誤差によって工具ヘッド座標系が（Ｘｔ’’、Ｙｔ’’、Ｚｔ’’）座標となることを示している。−ΔＩｎ、−ΔＪｎ、−ΔＫｎ（ｎ＝Ｌ、Ｒ）は、それらの座標系間のＸ軸周り、Ｙ軸周り、Ｚ軸周りの回転誤差を示している。
−ΔＸｎ、−ΔＹｎ、−ΔＺｎ（ｎ＝Ｌ、Ｒ）は、それらの座標系間のＸ軸方向、Ｙ軸方向、Ｚ軸方向の並進誤差を示している。これらの誤差はわずかの量であるが、図２では理解し易いように誇張して描いている。
【００２１】
指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に基づく直線軸依存並進補正量を（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量を（ΔＩＬ、ΔＪＬ、ΔＫＬ）、指令回転軸位置Ｐｒ（Ｂ，Ｃ）に基づく回転軸依存並進補正量を（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量を（ΔＩＲ、ΔＪＲ、ΔＫＲ）とする。これらが軸依存並進補正量および軸依存回転補正量である。回転工具ヘッドに対して、誤差と補正量の関係は正負の関係であるため、図および明細書中では誤差をこれらの補正量に「負号」を付けて表している。
【００２２】
工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）T  を反転したベクトル−Ｔ（−Ｔｘ、−Ｔｙ、−Ｔｚ）T  に対して数１式のように各誤差による変換行列を積算することによって実工具長補正ベクトルＴ’（Ｔｘ’、Ｔｙ’、Ｔｚ’）T  を反転したベクトル−Ｔ’（−Ｔｘ’、−Ｔｙ’、−Ｔｚ’）T  を求めることができる。ここで「T」は転置を表す。ただし自明である場合は特に「T」をつけて表記しない。
【００２３】
ここで、数１式の行列は並進および回転の変換行列であり、（ΔＩＬ、ΔＪＬ、ΔＫＬ）、（ΔＩＲ、ΔＪＲ、ΔＫＲ）は、ラジアン単位である。また、数１式の行列の各要素は回転誤差（−ΔＩＬ、−ΔＪＬ、−ΔＫＬ）、（−ΔＩＲ、−ΔＪＲ、−ΔＫＲ）の値が十分に小さいことを前提にし、ＳＩＮ（−ΔＩｎ）＝−ΔＩｎ、ＳＩＮ（−ΔＪｎ）＝−ΔＪｎ、ＳＩＮ（−ΔＫｎ）＝−ΔＫｎ、ＣＯＳ（−ΔＩｎ）＝１、ＣＯＳ（−ΔＩｎ）＝１、ＣＯＳ（−ΔＪｎ）＝１、ＣＯＳ（−ΔＫｎ）＝１  （ｎ＝Ｌ、Ｒ）とし、各三角関数のベキ級数展開における誤差の２乗以上の項は無視した近似式としている。なお、勿論、近似せずに三角関数による変換行列としてもよい。
【００２４】
【数１】
2011209897.tif 000003
【００２５】
また、変換行列の積算の結果、誤差の２乗項を無視することにより、数１式の替わりに数２式とすることもできる。
【００２６】
【数２】
2011209897.tif 000004
【００２７】
また指令回転軸位置Ｐｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）が、指令直線軸位置Ｐｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）よりも重要であり、指令直線軸位置Ｐｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）は無視できる場合もある。その場合は、数１式の替わりに、次のように数１式の右辺２個の変換行列のうち（ΔＸＬ、ΔＹＬ、ΔＺＬ）および（ΔＩＬ、ΔＪＬ、ΔＫＬ）を要素とする行列は削除する。そうすると、数３式が得られる。
【００２８】
【数３】
2011209897.tif 000005
【００２９】
また逆に、指令直線軸位置Ｐｌに基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）および直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）が、指令回転軸位置Ｐｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）よりも重要であり、指令回転軸位置Ｐｒに基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）および回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）は無視できる場合もある。その場合は、数１式の替わりに、次のように数１式の右辺２個の変換行列のうち（ΔＸＲ、ΔＹＲ、ΔＺＲ）および（ΔＩＲ、ΔＪＲ、ΔＫＲ）を要素とする行列は削除する。そうすると、数４式が得られる。
【００３０】
【数４】
2011209897.tif 000006
【００３１】
ここで、数１式の２つの変換行列の積について数２式のように誤差の２乗項を無視することをしないで積を行うと数５式のようになる。
【００３２】
【数５】
2011209897.tif 000007
【００３３】
数５式、数２式、数３式、数４式に関して回転要素と並進要素を分けて、次の数６式のようにまとめて表記する。Ｍｒが変換行列の回転要素でありＭｔが並進要素である。
【００３４】
【数６】
2011209897.tif 000008
【００３５】
これから、Ｔ’，Ｍｒ，Ｔ，Ｍｔの関係は数７式のように表される。数５式、数２式、数３式、数４式からわかるように、Ｍｒは回転誤差からなる行列である。
【００３６】
【数７】
2011209897.tif 000009
【００３７】
数８式に示されるように、並進誤差の符号を反転することにより並進補正量ΔＣｔ（ΔＸ，ΔＹ，ΔＺ）を得られる。これが図２における並進補正量ΔＣｔである。
【００３８】
【数８】
2011209897.tif 000010
【００３９】
回転要素のみに着目し、工具長補正ベクトルＴに対して回転要素Ｍｒによって変換されたベクトルを回転誤差工具長補正ベクトルＴｅ（Ｔｅｘ，Ｔｅｙ，Ｔｅｚ）とすると、数９式のように表される。Ｔｅは回転誤差による誤差を持った工具姿勢（方向）による回転誤差工具長補正ベクトルを示す。（図２参照）
【００４０】
【数９】
2011209897.tif 000011
【００４１】
数７式を図２にしたがって表せば、数１０式のようになる。
【００４２】
【数１０】
2011209897.tif 000012
【００４３】
数９式のように指令された工具長補正ベクトルＴに対して回転誤差が与えられれば回転誤差工具長補正ベクトルＴｅが計算できる。  
逆に、数１１式のように、回転軸Ｂ軸，Ｃ軸の現在位置Ｂ，Ｃとその位置における回転軸Ｂ，Ｃの補正量ΔＢ，ΔＣからなる変換行列Ｒｒ、回転誤差工具長補正ベクトルＴｅ、工具長補正ベクトルＴの関係式を求めることができて、それを解くことにより回転軸Ｂ軸，Ｃ軸の補正量ΔＢ，ΔＣを求めることができれば、回転誤差工具長補正ベクトルＴｅを本来の工具長補正ベクトルＴに変換できる。それらΔＢ，ΔＣが回転誤差による誤差を持った工具姿勢（方向）を指令された工具姿勢(方向)に補正する回転軸Ｂ軸，Ｃ軸に対する回転補正量ΔＣｒ（ΔＢ，ΔＣ）である。
【００４４】
【数１１】
2011209897.tif 000013
【００４５】
Ｒｒ，Ｔｅ，Ｔの関係を説明する。まず、一般に単位ベクトルｎ（n1, n2, n3）を回転中心としてθだけ回転する行列Ｒは数１２式のように表される。（例えば、「ＤＡＶＩＤ  Ｆ．ＲＯＧＥＲＳ，Ｊ．ＡＬＡＮ  ＡＤＡＭＳ，山口富士夫訳  コンピュータグラフィックス  ３．７任意軸回りの３次元回転」に記載されている。）
【００４６】
【数１２】
2011209897.tif 000014
【００４７】
数１１式のＲｒは、Ｙ軸方向をＣ軸の現在位置のＣだけ回転してさらにＭｒの誤差分回転した方向であるＮｂを回転中心としてΔＢだけ回転し、その後Ｚ軸方向をＭｒの誤差分回転した方向であるＮｃを回転中心としてΔＣだけ回転する行列である。（図２参照）  
このＮｂ，Ｎｃについては、Ｍｒによる回転誤差がないと考えた場合はＢ軸の回転中心は図３のようにＣ＝０の時のＢ軸の回転中心であるＹ軸方向をＣだけ回転した方向（Ｎｂ０）であり、Ｃ軸の回転中心はＺ軸方向であるＮｃ０であること、それらの誤差のない回転中心（Ｎｂ０，Ｎｃ０）に対して実際はＭｒによる回転誤差があることから明らかである。つまり、Ｎｂは数１３式のように、Ｎｃは数１４式のように表される。
【００４８】
【数１３】
2011209897.tif 000015
【００４９】
【数１４】
2011209897.tif 000016
【００５０】
数１２式を使用して、Ｎｂを回転中心としてΔＢだけ回転する行列Ｒｂは数１５式のように、Ｎｃを回転中心としてΔＣだけ回転する行列する行列Ｒｃは数１６式のように表される。ここで、ｃｏｓ（Δα）＝１，ｓｉｎ（Δα）＝Δα（α＝Ｂ，Ｃ）と近似し、誤差の２乗項以上は無視している。勿論、このような近似をしないで三角関数によって計算してもよい。
【００５１】
【数１５】
2011209897.tif 000017
【００５２】
【数１６】
2011209897.tif 000018
【００５３】
したがって、ＲｒはＲｃとＲｂの積として数１７式のように表される。
【００５４】
【数１７】
2011209897.tif 000019
【００５５】
Ｒｒを数１１式に適用することにより、数１８式の連立方程式が得られる。
【００５６】
【数１８】
2011209897.tif 000020
【００５７】
これらの連立方程式からΔＢ、ΔＣを求めることができる。つまり、数１８式の（３）式から数１９式のようにΔＢが求められる。
【００５８】
【数１９】
2011209897.tif 000021
【００５９】
ΔＢが求められれば、数１８式の（１）式または（２）式からΔＣが求められる。例えば、（１）式から数２０式のようにΔＣが求められる。
【００６０】
【数２０】
2011209897.tif 000022
【００６１】
これらから、回転誤差工具長補正ベクトルＴｅを元の指令である工具長補正ベクトルに補正する回転補正量ΔＣｒ（ΔＢ、ΔＣ）を求めることができる。そして、並進補正量ΔＣｔ（ΔＸ，ΔＹ，ΔＺ）を指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に加算し修正直線軸位置Ｐｌ’（Ｘ’、Ｙ’、Ｚ’）を求め、回転補正量ΔＣｒ（ΔＢ、ΔＣ）を指令回転軸位置（Ｂ，Ｃ）に加算し修正回転軸位置（Ｂ’，Ｃ’）を求め、それぞれの軸位置へ駆動する。このことによって、工具先端点位置を誤差のない位置に移動するとともに工具姿勢（方向）も誤差のない方向に移動することができる。  
なお、ここで数１９式、数２０式の分母、分子には工具長補正ベクトルまたは回転誤差工具長補正ベクトル要素がある。そのため、分母、分子を工具長補正ベクトルの長さで割ることによりそれらの方向成分だけの方向ベクトルに対する計算とすることも可能である。つまり、Ｔの方向ベクトルを（ｉt，ｊt，ｋt），Ｔｅの方向ベクトルを（ｉte，ｊte，ｋte）とすると、数１９式、数２０式のＴ，Ｔｅの要素をこれらの方向ベクトルの要素で置き換えることも可能である。
【００６２】
つまり、図２において指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に対して本来の工具ヘッド位置は（Ｘｔ、Ｙｔ、Ｚｔ）座標における位置であるが、誤差により実際は（Ｘｔ’’、Ｙｔ’’、Ｚｔ’’）座標における位置となる。そこで、並進補正量ΔＣｔ（ΔＸ，ΔＹ，ΔＺ）および回転補正量ΔＣｒ（ΔＢ，ΔＣ）の補正を行うことによって、実際の工具ヘッドは図２における横縞で表した位置から縦縞で表した位置となり、工具姿勢は指令通りの工具姿勢となる。その結果、工具先端点位置が誤差のない位置に移動するとともに工具姿勢も誤差のない工具姿勢とすることができる。
【００６３】
次に、補正量の設定と計算について説明する。  
指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）、指令回転軸位置Ｐｒ（Ｂ，Ｃ）に基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）を求める一実施例について説明する。  
まず、指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、および、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）を求める方法について説明する。
【００６４】
図４は格子状領域に分割された３次元座標系を示す図である。３次元座標系は一定間隔の格子状に分割されている。格子状に分割する境界線の交わる点が格子点Ｐl0〜Ｐl26である。なお、この図に図示されているのは座標系の１部分であり、実際には機械移動可能な領域全体をこのような格子状に分割する。なお、格子間隔は一定間隔でなくてもよい。例えば、Ｘ軸上の格子位置Ｐ10，Ｐ11，Ｐ12のＸ軸位置、Ｙ軸上の格子位置Ｐ10，Ｐ13，Ｐ16のＹ軸位置、Ｚ軸上の格子位置Ｐ10，Ｐ19，Ｐ118のＺ軸位置などの各軸の格子位置を設定値として設定するようにしてもよい。
【００６５】
そして、各格子点における機械系に起因する誤差（並進誤差と回転誤差）を、予め測定しておく。測定方法についてはここでは詳述しない。前記各格子点における機械系に起因する誤差と絶対値が同じ逆向きのベクトルを格子点補正ベクトルとする。したがって、補正量は、６次元ベクトルＵｎ（ＵｎＸ、ＵｎＹ、ＵｎＺ、ＵｎＩ、ＵｎＪ、ＵｎＫ：ｎ＝０〜２６）で表される。そして、（ＵｎＸ、ＵｎＹ、ＵｎＺ）が直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）に対応する。また、（ＵｎＩ、ＵｎＪ、ＵｎＫ）が直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）に対応する。格子点補正ベクトルは、直線軸依存補正量テーブルとして数値制御装置に内蔵される不揮発性メモリ等に格納される。なお、格子状に分割する際に、あまり細かく分割すると格子点補正ベクトルのデータ量が多くなり、必要とするメモリの記憶容量が大きくなってしまう。従って、なるべく正しい補正量を算出でき、しかもデータ量を少なく抑えることができる格子点の数は、一軸につき数十箇所程度である。
【００６６】
ここで、任意の指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に基づく直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）の算出方法について説明する。
【００６７】
図５は補正ベクトルを算出すべき指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）を含む格子状領域を示す図である。この例では、補正ベクトルを算出すべき指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）が、格子点Ｐ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）を基準点として定める。次に、点Ｐｌで補正ベクトルを求めるために、まず、格子内の位置を［０、１］に正規化する。Ｘ軸の格子間隔をＬｘ、Ｙ軸の格子間隔をＬｙ、Ｚ軸の格子間隔をＬｚとした場合の正規化した点Ｐｌの座標値（ｘ、ｙ、ｚ）を数２１式〜数２３式で定める。
【００７０】
【数２１】
2011209897.tif 000023
【００７１】
【数２２】
2011209897.tif 000024
【００７２】
【数２３】
2011209897.tif 000025
【００７３】
この座標値（ｘ、ｙ、ｚ）をもとに、点Ｐｌでの補正ベクトルΔＬｃ（ΔＸＬ、ΔＹＬ、ΔＺＬ、ΔＩＬ、ΔＪＬ、ΔＫＬ）を数２４式で算出する。
【００７４】
【数２４】
2011209897.tif 000026
【００７５】
このようにして、直線軸座標系上の任意の点Ｐｌ（Ｘ，Ｙ，Ｚ）における直線軸依存並進補正量（ΔＸＬ、ΔＹＬ、ΔＺＬ）、直線軸依存回転補正量（ΔＩＬ、ΔＪＬ、ΔＫＬ）が算出できる。  
ここでは、図４のように３次元座標系を格子状に分割して各格子点における格子点補正ベクトルから点Ｐｌの直線軸３軸位置における補正量ベクトルを求めたが、後述する２次元座標系と１次元座標系を組み合わせ、Ｐｌのうちの直線軸２軸位置における補正量ベクトルとＰｌのうちの残りの直線軸１軸位置における補正量ベクトルとして求めることも可能である。また、１次元座標系を組み合わせ、Ｐｌのうちの直線軸１軸位置における補正量ベクトルと他の直線軸１軸位置における補正量ベクトルと残りの直線軸１軸位置における補正量ベクトルとして求めることも可能である。
【００７６】
次に、指令回転軸位置Ｐｒ（Ｂ，Ｃ）に基づく回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）を求める方法について説明する。
図６は格子状領域に分割された２次元座標系を示す図である。２次元座標系は一定間隔の格子状に分割されている。格子状に分割する境界線の交わる点が格子点Ｐ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（Ｐr0b、Ｐr0c）を基準点として定める。次に、点Ｐｒでの補正ベクトルを求めるために、まず、格子内の位置を［０、１］に正規化する。Ｂ軸の格子間隔をＬｂ、Ｃ軸の格子間隔をＬｃとした場合の正規化した点Ｐｒの座標値（ｂ、ｃ）を数２５式、数２６式で定める。
【００８０】
【数２５】
2011209897.tif 000027
【００８１】
【数２６】
2011209897.tif 000028
【００８２】
この座標値（ｂ、ｃ）をもとに、点Ｐｒでの補正ベクトルΔＲｃ（ΔＸＲ、ΔＹＲ、ΔＺＲ、ΔＩＲ、ΔＪＲ、ΔＫＲ）を数２７式で算出する。
【００８３】
【数２７】
2011209897.tif 000029
【００８４】
このようにして、回転軸座標系上の任意の点Ｐｒ（Ｂ，Ｃ）における回転軸依存並進補正量（ΔＸＲ、ΔＹＲ、ΔＺＲ）、回転軸依存回転補正量（ΔＩＲ、ΔＪＲ、ΔＫＲ）が算出できる。ここでは、図６のように２次元座標系を格子状に分割して各格子点における格子点補正ベクトルから点Ｐｒの回転軸２軸位置における補正量ベクトルを求めたが、後述する１次元座標系を組み合わせ、Ｐｒのうちの回転軸１軸位置における補正量ベクトルと残りの回転軸１軸位置における補正量ベクトルとして求めることも可能である。
【００８５】
図８は所定間隔に分割されたＢ軸の１次元座標系を示す図である。所定間隔に分割する分割点がＰb0〜Ｐb2である。なお、この図に図示されているのは座標系の１部分であり、実際には機械移動可能な領域全体をこのような所定間隔に分割する。なお、図４、図６における説明と同様、分割点間隔は一定間隔でなくてもよい。例えば、Ｂ軸上の分割点位置Ｐb0、Ｐb１、Ｐb2を設定値として設定するようにしてもよい。
【００８６】
そして、各分割点における機械系に起因する誤差（並進誤差と回転誤差）を予め測定しておく。誤差と絶対値が同じで逆向きのベクトルを分割点補正ベクトルとする。したがって、補正量は、６次元ベクトルＶｎ（ＶｎＸ、ＶｎＹ、ＶｎＺ、ＶｎＩ、ＶｎＪ、ＶｎＫ：ｎ＝０〜２）で表される。（ＶｎＸ、ＶｎＹ、ＶｎＺ）がＢ軸依存並進補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）に対応し、（ＶｎＩ、ＶｎＪ、ＶｎＫ）がＢ軸依存回転補正量（ΔＩＢ、ΔＪＢ、ΔＫＢ）に対応する。分割点補正ベクトルは、Ｂ軸依存補正量テーブルとして不揮発性メモリ等に格納される。
【００８７】
図９は補正ベクトルを算出すべき指令Ｂ軸位置Ｂを含む分割領域を示す図である。この例では、補正ベクトルを算出すべき指令Ｂ軸位置Ｂが、分割点Ｐｂ0、Ｐb1に囲まれた領域にある。また、各分割点Ｐb0、Ｐb1には、それぞれ分割点補正ベクトルＶ0（Ｖ0X、Ｖ0Y、Ｖ0Z、Ｖ0I、Ｖ0J、Ｖ0K）、Ｖ1（Ｖ1X、Ｖ1Y、Ｖ1Z、Ｖ1I、Ｖ1J、Ｖ1K）が設定されている。Ｂ軸の分割間隔をＬｂとした場合の正規化した点Ｂの座標値ｂを数２８式で定める。
【００８８】
【数２８】
2011209897.tif 000030
【００８９】
この座標値ｂをもとに、点ＢでのＢ軸依存並進補正量（ΔＸＢ、ΔＹＢ、ΔＺＢ）、Ｂ軸依存回転補正量（ΔＩＢ、ΔＪＢ、ΔＫＢ）を数２９式で算出する。
【００９０】
【数２９】
2011209897.tif 000031
【００９１】
このようにして、Ｂ軸座標系上の任意の点Ｂにおける補正ベクトルが算出できる。
同様の方法で、図１０のように設定されたＣ軸依存補正テーブルからＣ軸座標系上の任意の点ＣにおけるＣ軸依存並進補正量（ΔＸＣ、ΔＹＣ、ΔＺＣ）、Ｃ軸依存回転補正量（ΔＩＣ、ΔＪＣ、ΔＫＣ）が算出される。
【００９２】
回転軸２軸のそれぞれについて、このように１次元座標系における分割点補正ベクトルの組み合わせで補正することも可能である。また、直線軸依存補正量は図４のように３次元座標系を３次元格子状に分割した格子点補正ベクトルとしたが、相関係数の強い直線２軸と相関係数の弱い１軸とに分け、相関関係の強い直線２軸に依存する補正量を図６のような２次元格子状に分割した格子点補正ベクトルで求め、相関関係の弱い１軸に依存する補正量を図８に示すような１次元座標系における分割点補正ベクトルで求めるように組み合わせて補正することも可能である。また、それらのうち１次元座標系における分割点補正ベクトルは使用せず、２次元格子状に分割した格子点補正ベクトルでのみ求めるようにすることも可能である。  
さらに、直線軸３軸のそれぞれについて、図８のような１次元座標系における分割点補正ベクトルの組み合わせで補正することも可能である。また、それらのうち１軸または２軸のみの分割点補正ベクトルの組み合わせで補正することも可能である。
【００９３】
図１１は、本発明である５軸加工機を制御する数値制御装置の第１の実施形態の要部ブロック図である。この第１の実施形態は工具長補正指令の場合の数値制御装置である。この第１の実施形態の場合、プログラムのブロックを指令解析部１で解析し、この解析結果の工具先端点位置の指令位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を加算し、工具長補正ベクトルが加算された直線軸機械座標位置を求める。  
該直線軸機械座標位置、および、指令された回転軸の回転位置に対して補間手段３で補間を行い各軸の機械座標位置を生成し、各軸（Ｘ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸）の加減速処理部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行った後、この各軸の加減速処理終了後の指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に対して補正手段５において数１式〜数６式および数８式で求められる並進補正量を加算し、修正された修正直線軸位置Ｐｌ’（Ｘ’、Ｙ’、Ｚ’）を求める。また、この各軸の加減速処理終了後の指令回転軸位置Ｐｒ（Ｂ，Ｃ）に対して補正手段５において数１式〜数６式、数９式および数１３式〜数２０式で求められる回転補正量を加算し、修正された修正回転軸位置Ｐｒ’（Ｂ’、Ｃ’）を求める。
【００９４】
そして、直線軸Ｘ軸、Ｙ軸、Ｚ軸はこの修正された修正直線軸位置Ｐｌ’（Ｘ’、Ｙ’、Ｚ’）に、回転軸Ｂ（Ａ）軸、Ｃ軸はこの修正された修正回転軸位置Ｐｒ’（Ｂ’、Ｃ’）に、各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。補正手段５において数１式〜数５式において用いられる直線軸依存補正量、回転量依存補正量、および、工具長補正ベクトルの情報は、入力データ部７に予め格納されている。なお、この工具長補正ベクトルの情報は、工具長補正ベクトル加算要素２による情報を用いる。
【００９５】
また、図１２は本発明である５軸加工機を制御する数値制御装置の第２の実施形態の要部ブロック図である。この第２の実施形態は工具先端点制御の場合の数値制御装置である。
この第２の実施形態の場合は、指令解析部１でプログラムのブロックを解析し、この解析結果の指令工具先端点位置に対して補間手段３で補間を行い、補間された工具先端点位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を加算し、各軸の加減速処理部でそれぞれ加減速を行った後の指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に対して補正手段５において数１式〜数６式および数８式で求められる並進補正量を加算し、修正された修正直線軸位置Ｐｌ’（Ｘ’、Ｙ’、Ｚ’）を求める。また、この各軸の加減速処理終了後の指令回転軸位置Ｐｒ（Ｂ，Ｃ）に対して補正手段５において数１式〜数６式、数９式および数１３式〜数２０式で求められる回転補正量を加算し、修正された修正回転軸位置Ｐｌ’（Ｂ’、Ｃ’）を求める。  
そして、直線軸Ｘ軸、Ｙ軸、Ｚ軸はこの修正された修正直線軸位置Ｐｌ’（Ｘ’、Ｙ’、Ｚ’）に、回転軸Ｂ（Ａ）軸、Ｃ軸はこの修正された修正回転軸位置Ｐｒ’（Ｂ’、Ｃ’）に、各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。補正手段５において数１式〜数５式において用いられる直線軸依存補正量、回転量依存補正量、および、工具長補正ベクトルの情報は、入力データ部７に予め格納されている。なお、この工具長補正ベクトルの情報は、工具長補正ベクトル加算要素２による情報を用いる。
【００９６】
図１３は本発明である５軸加工機を制御する数値制御装置の第３の実施形態の要部ブロック図である。この第３の実施形態は工具長補正指令の場合の数値制御装置である。この第３の実施形態の場合、プログラムのブロックを指令解析部１で解析し、この解析結果の工具先端位置の指令位置に対して工具長補正ベクトル加算要素２により工具長補正ベクトルＴ（Ｔｘ、Ｔｙ、Ｔｚ）を加算し、工具長補正ベクトルが加算された指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）を求める。  
該指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に対して補正手段５において数１式〜数６式および数８式で求められる並進補正量を加算し、修正された修正直線軸位置Ｐｌ’（Ｘ’、Ｙ’、Ｚ’）を求める。また、該指令回転軸位置Ｐｒ（Ｂ，Ｃ）に対して補正手段５において数１式〜数６式、数９式および数１３式〜数２０式で求められる回転補正量を加算し、修正された修正回転軸位置Ｐｒ’（Ｂ’、Ｃ’）を求める。
【００９７】
修正直線軸位置および修正回転軸位置に対して補間手段３で補間を行い、補間された各軸（Ｘ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸）の位置に対して加減速処理部部４ｘ、４ｙ、４ｚ、４ｂ（ａ）、４ｃでそれぞれ加減速を行い、各軸の加減速処理終了後の位置に各軸のサーボモータ６ｘ、６ｙ、６ｚ、６ｂ（ａ）、６ｃを駆動する。
【００９８】
図１４は本発明の第１の実施形態で実行される補正のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。  
［ステップＳ１］工具長補正ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）を得る。  
［ステップＳ２］指令位置Ｐｌ（Ｘ，Ｙ，Ｚ）およびＰｒ（Ｂ，Ｃ）、直線軸依存補正量テーブル、回転軸依存補正量テーブルから、数２１式〜数２７式に基づいて軸依存並進補正量および軸依存回転補正量を得る。  
［ステップＳ３］数１式〜数２０式から並進補正量ΔＣｔおよび回転補正量ΔＣｒを算出する。  
［ステップＳ４］直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）にΔＣｔを加算し、直線軸の移動すべき機械座標位置（修正直線軸位置）とし、回転軸位置Ｐｒ（Ｂ，Ｃ）にΔＣｒを加算し、回転軸の移動すべき機械座標位置（修正回転軸位置）とする。
【符号の説明】
【００９９】
１  指令解析部
２  工具長補正ベクトル加算要素
３  補間手段
４ｘ〜４ｃ  加減速処理部
５  補正手段
６ｘ〜６ｃ  サーボモータ
７  入力データ部
１０  工具
１１  工具ヘッド
１２  テーブル
【図１】
2011209897.tif 000032
【図２】
2011209897.tif 000033
【図３】
2011209897.tif 000034
【図４】
2011209897.tif 000035
【図５】
2011209897.tif 000036
【図６】
2011209897.tif 000037
【図７】
2011209897.tif 000038
【図８】
2011209897.tif 000039
【図９】
2011209897.tif 000040
【図１０】
2011209897.tif 000041
【図１１】
2011209897.tif 000042
【図１２】
2011209897.tif 000043
【図１３】
2011209897.tif 000044
【図１４】
2011209897.tif 000045