(57)【要約】【課題】多軸加工機における工具側面での加工や穴明け加工においても指令通りの工具位置と工具姿勢（方向）での加工を行うことのできる数値制御装置を提供すること。【解決手段】テーブルに取付けられた加工物に対して少なくとも直線軸３軸と回転軸３軸によって加工する多軸加工機を制御する数値制御装置において、指令軸位置に基づいて軸依存並進誤差量および軸依存回転誤差量を求める軸依存誤差量計算手段３２と、前記軸依存回転誤差量によって回転補正量を求める回転補正量計算手段３４と、前記軸依存並進誤差量によって並進補正量を求める並進補正量計算手段３６と、前記並進補正量を指令直線軸位置に加算し、前記回転補正量を指令回転軸位置に加算する補正量加算手段３８と、前記直線軸３軸と前記回転軸３軸を補正量加算手段３８によって求められた位置へ駆動する手段を有する数値制御装置。【選択図】図２２
2012014335.tif 000002
【特許請求の範囲】
【請求項１】
テーブルに取付けられた加工物に対して少なくとも直線軸３軸と回転軸３軸によって加工する多軸加工機を制御する数値制御装置において、
指令軸位置に基づいて軸依存並進誤差量および軸依存回転誤差量を求める軸依存誤差量計算手段と、
前記軸依存並進誤差量によって並進補正量を求める並進補正量計算手段と、
前記軸依存回転誤差量によって回転補正量を求める回転補正量計算手段と、
前記並進補正量を指令直線軸位置に加算し、前記回転補正量を指令回転軸位置に加算する補正量加算手段と、
前記直線軸３軸と前記回転軸３軸を前記補正量加算手段によって求められた位置へ駆動する手段を有する数値制御装置。
【請求項２】
前記軸依存誤差量計算手段は、前記軸依存並進誤差量および前記軸依存回転誤差量として指令回転軸位置に基づいて回転軸依存並進誤差量および回転軸依存回転誤差量を求め、
前記並進補正量計算手段は、前記回転軸依存並進誤差量によって前記並進補正量を求め、
前記回転補正量計算手段は、前記回転軸依存回転誤差量によって前記回転補正量を求める請求項１記載の数値制御装置。
【請求項３】
前記軸依存誤差量計算手段は、前記軸依存並進誤差量および前記軸依存回転誤差量として指令直線軸位置に基づいて直線軸依存並進誤差量および直線軸依存回転誤差量を求め、
前記並進補正量計算手段は、前記直線軸依存並進誤差量によって前記並進補正量を求め、
前記回転補正量計算手段は、前記直線軸依存回転誤差量によって前記回転補正量を求める請求項１記載の数値制御装置。
【請求項４】
前記軸依存誤差量計算手段は、前記軸依存並進誤差量および前記軸依存回転誤差量として、指令直線軸位置に基づいて直線軸依存並進誤差量および直線軸依存回転誤差量、および指令回転軸位置に基づいて回転軸依存並進誤差量および回転軸依存回転誤差量を求め、
前記並進補正量計算手段は、前記直線軸依存並進誤差量および前記回転軸依存並進誤差量によって前記並進補正量を求め、
前記回転補正量計算手段は、前記直線軸依存回転誤差量および前記回転軸依存回転誤差量によって前記回転補正量を求める請求項１記載の数値制御装置。
【請求項５】
前記回転補正量は工具長補正ベクトルに対して回転誤差を持った実工具長補正ベクトルを回転補正する回転軸補正量として求める請求項１〜請求項４のいずれか一つに記載の数値制御装置。
【請求項６】
前記並進補正量は、テーブル座標系上で工具基準点を示す工具基準点ベクトルに対する並進補正量として求める請求項１〜請求項４のいずれか一つに記載の数値制御装置。
【請求項７】
前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸と工具ヘッド回転用回転軸３軸によって加工する多軸加工機であって、
前記回転依存並進誤差量および回転軸依存回転誤差量は、工具ヘッド回転用回転軸３軸に対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置。
【請求項８】
前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸、工具ヘッド回転用回転軸１軸およびテーブル回転用回転軸２軸によって加工する多軸加工機であって、
前記回転依存並進誤差量および回転軸依存回転誤差量は、工具ヘッド回転用回転軸１軸に対する並進誤差量および回転誤差量、およびテーブル回転用回転軸２軸対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置。
【請求項９】
前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸、工具ヘッド回転用回転軸２軸およびテーブル回転用回転軸１軸によって加工する多軸加工機であって、
前記回転依存並進誤差量および回転軸依存回転誤差量は、工具ヘッド回転用回転軸２軸に対する並進誤差量および回転誤差量、およびテーブル回転用回転軸１軸対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置。
【請求項１０】
前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸およびテーブル回転用回転軸３軸によって加工する多軸加工機であって、
前記回転依存並進誤差量および回転軸依存回転誤差量は、テーブル回転用回転軸３軸に対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置。
【請求項１１】
前記軸依存誤差量計算手段は、前記直線軸３軸または前記回転軸３軸による３次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、直線軸３軸または回転軸３軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置。
【請求項１２】
前記軸依存誤差量計算手段は、前記直線軸３軸のうちの２軸または前記回転軸３軸のうちの２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、前記直線軸２軸または前記回転軸２軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置。
【請求項１３】
前記軸依存誤差量計算手段は、前記直線軸３軸のうちの１軸または前記回転軸３軸のうちの１軸による１次元座標系空間を各軸方向に所定間隔の領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、直線軸１軸または回転軸１軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置。
【請求項１４】
前記指令直線軸位置および前記指令回転軸位置はプログラム指令に基づいて補間された直線軸３軸および回転軸３軸の位置である請求項１〜請求項１３のいずれか一つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも直線軸３軸と回転軸３軸とを有する多軸加工機を制御する数値制御装置に関する。特に、テーブル駆動直線軸位置に依存したテーブル直線軸並進誤差およびテーブル直線軸回転誤差、テーブル駆動回転軸位置に依存したテーブル回転軸並進誤差およびテーブル回転軸回転誤差、工具ヘッド駆動直線軸位置に依存した工具ヘッド直線軸並進誤差および工具ヘッド直線軸回転誤差、工具ヘッド駆動回転軸位置に依存した工具ヘッド回転軸並進誤差および工具ヘッド回転軸回転誤差の誤差に対応した補正を行うことによって、工具先端点位置を誤差のない位置に移動するとともに工具姿勢（方向）も誤差のない姿勢（方向）となる移動を行い、高精度な加工を行うように制御する数値制御装置に関する。
【背景技術】
【０００２】
特許文献１には、直線軸３軸と回転軸２軸とを有する５軸加工機を制御する数値制御装置に関して、直線軸座標系と回転軸座標系をそれぞれ格子状領域に分割し、格子点において格子点補正ベクトルを格納し、直線軸位置と回転軸位置から軸依存並進補正量と軸依存回転補正量を格子点補正ベクトルに基づいて算出し直線軸位置を補正することにより工具先端点位置を誤差のない位置に移動する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５１７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術では、直線軸位置に対する補正が行われるのみである。つまり、工具先端点位置は誤差のない位置に移動するが、工具姿勢（方向）は誤差を持ったままである。  
工具先端点で加工する場合はこのような従来技術による補正でも問題ないが、工具側面で加工する場合や穴あけ加工のように工具方向に向かって加工する場合は工具姿勢（方向）が重要であり、工具先端点位置を誤差のない位置に補正するだけでは不十分である。つまり、特許文献１に開示された従来技術では、工具側面での加工や穴明け加工において機械系に起因する誤差がある場合、高精度な加工を行うことはできない。
【０００５】
また、特許文献１に開示された技術は直線軸３軸と回転軸２軸からなる５軸加工機を対象としている。５軸加工機には大きく分けて「工具ヘッド回転型」、「テーブル回転型」、「混合型（工具ヘッド、テーブル、両方とも回転）」の３つがある。しかし、「テーブル回転型」、「混合型」の５軸加工機においては、加工物に対する相対的工具姿勢（方向）に誤差がある場合、その誤差を補正するように回転軸を制御できるとは限らない。
【０００６】
また、特許文献１に開示された技術では、発生する主な誤差は、並進誤差として、（１）直線軸位置に依存した直線軸依存並進誤差、（２）回転軸位置に依存した回転軸依存並進誤差、及び、回転誤差として、（３）直線軸位置に依存した直線軸依存回転誤差、（４）回転軸位置に依存した回転軸依存回転誤差、の４つからなるとしている。
【０００７】
しかし、主な誤差は移動体から発生する。一般に工作機械において移動体は工具ヘッドまたはテーブルである。また、通常回転移動体は直線移動体の上に載る。したがって、回転工具ヘッドの誤差は回転工具ヘッドを回転する回転軸位置と回転工具ヘッドが載る直線軸位置に依存し、回転テーブルの誤差は回転テーブルを回転する回転軸位置とテーブルが載る直線軸位置に依存する。つまり、特許文献１に開示された４つの誤差の区分は簡易的なものであり、本来は図１のように８つに区分すべきである。
【０００８】
そこで、本発明は、上記８つの誤差に対応した誤差量を設定することによって、それらの誤差量から並進補正量を求め指令直線軸位置に加算するとともに回転補正量を求め指令回転軸位置に加算する。このことにより、本発明は、工具先端点位置を誤差のない位置に移動するとともに工具姿勢（方向）も誤差のない方向に補正する移動を行い、高精度な加工を実現する多軸加工機を制御する数値制御装置を提供することを課題とする。つまり、多軸加工機における工具側面での加工や穴明け加工においても指令通りの工具位置および工具姿勢（方向）での加工を行うことのできる数値制御装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
本願の請求項１に係る発明は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸と回転軸３軸によって加工する多軸加工機を制御する数値制御装置において、指令軸位置に基づいて軸依存並進誤差量および軸依存回転誤差量を求める軸依存誤差量計算手段と、前記軸依存並進誤差量によって並進補正量を求める並進補正量計算手段と、前記軸依存回転誤差量によって回転補正量を求める回転補正量計算手段と、前記並進補正量を指令直線軸位置に加算し、前記回転補正量を指令回転軸位置に加算する補正量加算手段と、前記直線軸３軸と前記回転軸３軸を前記補正量加算手段によって求められた位置へ駆動する手段を有する数値制御装置である。
【００１０】
請求項２に係る発明は、前記軸依存誤差量計算手段は、前記軸依存並進誤差量および前記軸依存回転誤差量として指令回転軸位置に基づいて回転軸依存並進誤差量および回転軸依存回転誤差量を求め、前記並進補正量計算手段は、前記回転軸依存並進誤差量によって前記並進補正量を求め、前記回転補正量計算手段は、前記回転軸依存回転誤差量によって前記回転補正量を求める請求項１記載の数値制御装置である。  
請求項３に係る発明は、前記軸依存誤差量計算手段は、前記軸依存並進誤差量および前記軸依存回転誤差量として指令直線軸位置に基づいて直線軸依存並進誤差量および直線軸依存回転誤差量を求め、前記並進補正量計算手段は、前記直線軸依存並進誤差量によって前記並進補正量を求め、前記回転補正量計算手段は、前記直線軸依存回転誤差量によって前記回転補正量を求める請求項１記載の数値制御装置である。
【００１１】
請求項４に係る発明は、前記軸依存誤差量計算手段は、前記軸依存並進誤差量および前記軸依存回転誤差量として、指令直線軸位置に基づいて直線軸依存並進誤差量および直線軸依存回転誤差量、および指令回転軸位置に基づいて回転軸依存並進誤差量および回転軸依存回転誤差量を求め、前記並進補正量計算手段は、前記直線軸依存並進誤差量および前記回転軸依存並進誤差量によって前記並進補正量を求め、前記回転補正量計算手段は、前記直線軸依存回転誤差量および前記回転軸依存回転誤差量によって前記回転補正量を求める請求項１記載の数値制御装置である。  
請求項５に係る発明は、前記回転補正量は工具長補正ベクトルに対して回転誤差を持った実工具長補正ベクトルを回転補正する回転軸補正量として求める請求項１〜請求項４のいずれか一つに記載の数値制御装置である。  
請求項６に係る発明は、前記並進補正量は、テーブル座標系上で工具基準点を示す工具基準点ベクトルに対する並進補正量として求める請求項１〜請求項４のいずれか一つに記載の数値制御装置である。
【００１２】
請求項７に係る発明は、前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸と工具ヘッド回転用回転軸３軸によって加工する多軸加工機であって、前記回転依存並進誤差量および回転軸依存回転誤差量は、工具ヘッド回転用回転軸３軸に対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置である。  
請求項８に係る発明は、前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸、工具ヘッド回転用回転軸１軸およびテーブル回転用回転軸２軸によって加工する多軸加工機であって、前記回転依存並進誤差量および回転軸依存回転誤差量は、工具ヘッド回転用回転軸１軸に対する並進誤差量および回転誤差量、およびテーブル回転用回転軸２軸対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置である。
【００１３】
請求項９に係る発明は、前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸、工具ヘッド回転用回転軸２軸およびテーブル回転用回転軸１軸によって加工する多軸加工機であって、前記回転依存並進誤差量および回転軸依存回転誤差量は、工具ヘッド回転用回転軸２軸に対する並進誤差量および回転誤差量、およびテーブル回転用回転軸１軸対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置である。  
請求項１０に係る発明は、前記多軸加工機は、テーブルに取付けられた加工物に対して少なくとも直線軸３軸およびテーブル回転用回転軸３軸によって加工する多軸加工機であって、前記回転依存並進誤差量および回転軸依存回転誤差量は、テーブル回転用回転軸３軸に対する並進誤差量および回転誤差量である請求項１〜請求項６のいずれか一つに記載の数値制御装置である。
【００１４】
請求項１１に係る発明は、前記軸依存誤差量計算手段は、前記直線軸３軸または前記回転軸３軸による３次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、直線軸３軸または回転軸３軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。  
請求項１２に係る発明は、前記軸依存誤差量計算手段は、前記直線軸３軸のうちの２軸または前記回転軸３軸のうちの２軸による２次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、前記直線軸２軸または前記回転軸２軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。
【００１５】
請求項１３に係る発明は、前記軸依存誤差量計算手段は、前記直線軸３軸のうちの１軸または前記回転軸３軸のうちの１軸による１次元座標系空間を各軸方向に所定間隔の領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、直線軸１軸または回転軸１軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。  
請求項１４に係る発明は、前記指令直線軸位置および前記指令回転軸位置はプログラム指令に基づいて補間された直線軸３軸および回転軸３軸の位置である請求項１〜請求項１３のいずれか一つに記載の数値制御装置である。
【発明の効果】
【００１６】
本発明は、それぞれの誤差に対応した誤差量を設定することによって、それらの誤差量から並進補正量を求め指令直線軸位置に加算するとともに回転軸の補正量として回転補正量も求め指令回転軸位置に加算する。このことにより、工具先端点位置を誤差のない位置に移動するとともに工具姿勢も誤差のない方向に補正する移動を行い、高精度な加工を行うことが可能である。このような高精度な加工が工具ヘッド回転型、テーブル２軸混合型、工具ヘッド２軸混合型、テーブル回転型の多軸加工機で可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明における誤差の区分を説明する表である。
【図２】回転軸３軸で工具ヘッドを回転する工具ヘッド回転型を説明する図である。
【図３】回転軸２軸でテーブルを回転し、回転軸１軸で工具ヘッドを回転するテーブル２軸混合型を説明する図である。
【図４】回転軸２軸で工具ヘッドを回転し、回転軸１軸でテーブルを回転する工具ヘッド２軸混合型を説明する図である。
【図５】回転軸３軸でテーブルを回転するテーブル回転型を説明する図である。
【図６】並進補正量ΔＣｔおよび回転補正量ΔＣｒについて回転工具ヘッドで補正するイメージを説明する図である。
【図７】回転軸３軸を備えた加工機を制御する指令プログラムの例である。
【図８】図１に基づき、各誤差量について誤差量計算のためのマトリックスとベクトルおよび誤差データの記号を説明する表である。
【図９】回転補正量ΔＣｒについて回転テーブルで補正するとともに、並進補正量ΔＣｔを回転テーブルに対する回転工具ヘッド位置で補正するイメージを説明する図である。
【図１０】格子状領域に分割されたＸＹＺ３次元座標系、およびＸＹＺ３次元座標系の誤差データＤｈｌを示す図である。
【図１１】誤差量を算出すべき指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）を含む格子状領域を示す図である。
【図１２】ＡＢＣ３次元座標系の誤差データＤｈｒ、およびそれから回転誤差マトリックスＭｈｒｒ，並進誤差ベクトルＭｈｒｔが作成されることを説明する図である。
【図１３】ＡＢＣ３次元座標系の誤差データＤｔｒ、およびそれから回転誤差マトリックスＭｔｒｒ，並進誤差ベクトルＭｔｒｔが作成されることを説明する図である。
【図１４】１次元座標系の誤差データＤｈｌ、およびそれから回転誤差マトリックスＭｈｌｒ，並進誤差ベクトルＭｈｌｔが作成されることを説明する図である。
【図１５】１次元座標系の誤差データＤｈｒ、およびそれから回転誤差マトリックスＭｈｒｒ，並進誤差ベクトルＭｈｒｔが作成されることを説明する図である。
【図１６】２次元座標系の誤差データＤｔｌ、およびそれから回転誤差マトリックスＭｔｌｒ，並進誤差ベクトルＭｔｌｔが作成されることを説明する図である。
【図１７】２次元座標系の誤差データＤｔｒ、およびそれから回転誤差マトリックスＭｔｒｒ，並進誤差ベクトルＭｔｒｔが作成されることを説明する図である。
【図１８】２次元座標系の誤差データＤｈｒ、およびそれから回転誤差マトリックスＭｈｒｒ，並進誤差ベクトルＭｈｒｔが作成されることを説明する図である。
【図１９】１次元座標系の誤差データＤｔｒ、およびそれから回転誤差マトリックスＭｔｒｒ，並進誤差ベクトルＭｔｒｔが作成されることを説明する図である。
【図２０】工具ヘッド回転型多軸加工機において、回転誤差量および並進誤差量、ならびに工具長補正量の条件にもとづいて補正量を求めた数値計算例を説明する表である。
【図２１】テーブル回転型多軸加工機において、回転誤差量および並進誤差量、ならびに工具長補正量の条件にもとづいて補正量を求めた数値計算例を説明する表である。
【図２２】本発明にかかる多軸加工機用数値制御装置を説明するブロック図である。
【図２３】本発明に係る処理のアルゴリズムを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面と共に説明する。
本発明は、少なくとも直線軸３軸と回転軸３軸からなる多軸加工機を対象としている。図２〜図５は本発明の数値制御装置が制御する多軸加工機の例である。図２に示される例は回転軸３軸で工具ヘッドを回転する工具ヘッド回転型である。図３に示される例はテーブル２軸混合型（回転軸２軸でテーブルを回転し、回転軸１軸で工具ヘッドを回転）、図４に示される例は工具ヘッド２軸混合型（回転軸２軸で工具ヘッドを回転し、回転軸１軸でテーブルを回転）、図５に示される例は回転軸３軸でテーブルを回転するテーブル回転型である。
【００１９】
＜概要図＞  
まず、本発明の基本方式について説明する。図６は工具ヘッドとテーブルに回転軸を持った多軸加工機を模した図である。工具ヘッドに回転軸１軸、テーブルに回転軸１軸を持ちそれらの回転軸中心は平行であるイメージの図としているが、図示の便宜上そのような構成にしているものである。つまり、図２〜図５のように、一般に工具ヘッドの回転軸中心とテーブルの回転軸中心は平行ではなく、かつそれぞれ０〜３軸の回転軸を持つが、図示の便宜上、回転軸中心が紙面に垂直な工具ヘッドの回転軸１軸、テーブルの回転軸１軸のイメージでそれらを統一的かつ概念的に表している。誤差や補正の量はごくわずかであるが、理解しやすいように誇張して描いている。後述の図９も同様である。
【００２０】
＜機械構成と指令プログラム＞  
テーブル上に固定されていてテーブル回転とともに回転するテーブル座標系上で工具先端点位置がＸ，Ｙ，Ｚ位置として指令される。指令された位置をテーブル座標系上の工具先端点ベクトルＴｐと表す。テーブルが回転する場合、テーブル回転中心とテーブル座標系原点は一致するとする。Ａ軸はＸ軸周りの回転軸、Ｂ軸はＹ軸周りの回転軸、Ｃ軸はＺ軸周りの回転軸であり、工具ヘッド、テーブル、またはそれら両方を回転する。工具方向は回転軸位置Ａ，Ｂ，Ｃで指令され、工具長補正量番号はＨで指令され工具長補正量はｈとする。Ａ＝Ｂ＝Ｃ＝０度の時、工具方向はＺ軸方向とする。数値制御装置は機械の移動すべき位置として工具基準点ベクトルＴｂの位置を機械座標系上のＸ，Ｙ，Ｚ軸で、工具方向を工具ヘッドとテーブルの回転軸位置Ａ，Ｂ，Ｃ軸で制御する。工具基準点Ｔｂは工具ヘッドの特定の位置を示し、工具ヘッドが回転する場合は工具ヘッドの回転中心と工具基準点Ｔｂは一致するとする。図６において、「Ｔｌ，Ｖｌ」のように併記しているベクトルは同じベクトルをテーブル座標系で表した場合と機械座標系で表した場合を意味する。機械座標系は機械に固定した座標系である。  
指令プログラムとしては図７のような指令である。Ｇ４３．４は、Ｘ＿＿Ｙ＿＿Ｚ＿＿でＴｐを指令し、工具方向をＡ＿＿Ｂ＿＿Ｃ＿＿で指令するモード（工具先端点制御モード）の指令である。Ｇ４９はそのキャンセルの指令である。
【００２１】
＜工具長補正ベクトルと工具基準点ベクトル＞
回転軸Ａ，Ｂ，Ｃ軸の位置がそれぞれＡ，Ｂ，Ｃの時、テーブル座標系上の工具長補正ベクトルＴｌ（（ｉ，ｊ，ｋ）T＊ｈ）は数１式のようになる。ここで（ｉ，ｊ，ｋ）Tはテーブル座標系上で工具方向を表す単位ベクトルであり、「T」は転置を表す。ただし、以降自明の場合は特に「T」の表記をしない。Ｒａ，Ｒｂ，ＲｃはＡ軸，Ｂ軸，Ｃ軸がそれぞれの位置Ａ，Ｂ，Ｃに移動することによる回転変換を表す変換マトリックスであり、Ａ＝Ｂ＝Ｃ＝０度の時の工具長補正ベクトルである基準工具長補正ベクトル（０，０，ｈ）に、機械構成における工具からテーブルへの回転軸の順でＲａ，Ｒｂ，Ｒｃを積算する。ここでは、図２〜図５のように工具からテーブルへの回転軸の順をＡ軸，Ｂ軸，Ｃ軸の順としている。
【００２２】
【数１】
2012014335.tif 000003
【００２３】
テーブル座標系上の工具基準点Ｔｂは数２式となる。
【００２４】
【数２】
2012014335.tif 000004
【００２５】
テーブル回転による機械座標系からテーブル座標系への変換マトリックスをＲｔとする。つまり、Ｒｔは機械構成に依存し、図５のようにテーブル回転が工具からテーブルへの軸の順でＡ軸、Ｂ軸、Ｃ軸であれば、Ｒｔ＝Ｒｃ＊Ｒｂ＊Ｒａであり、図２のようにテーブルが回転軸を持たなければＲｔは単位マトリックスであり、図３ではＲｔ＝Ｒｃ＊Ｒｂであり、図４ではＲｔ＝Ｒｃである。
【００２６】
工具基準点ベクトルＴｂを機械座標系で表したＶｂは数３式となる。ここで、Ｒｔ-1はＲｔの逆マトリックスである。
【００２７】
【数３】
2012014335.tif 000005
【００２８】
機械座標系上での工具長補正ベクトルＶｌは数４式となる。
【００２９】
【数４】
2012014335.tif 000006
【００３０】
＜回転誤差と並進誤差＞  
一般に移動体には移動体を移動させる直線軸位置および回転軸位置によってＸ軸方向、Ｙ軸方向、Ｚ軸方向、Ｘ軸周り、Ｙ軸周り、Ｚ軸周りの誤差があることが知られている。例えば、直線軸位置に依存する誤差は「ＪＩＳ  Ｂ６１９１  ５．２３１」に、回転軸位置に依存する誤差は「ＪＩＳ  Ｂ６１９０−７  ３．１．５  図１ ｂ）」に記載されている。
【００３１】
図１に基づき図８のように、各誤差量について誤差量計算のためのマトリックスとベクトルを記号とともに示す。図１に対して、回転誤差量、並進誤差量の欄には工具ヘッド、テーブルごとにまとめた欄を入れ、後述の誤差データ用の欄を右側に加えた。（  ）の中は添え字の意味である。
【００３２】
＜回転誤差マトリックス＞  
各回転誤差を表す回転誤差マトリックスは数５式，数６式のようになる。各要素の文字について、εは誤差量であることを表し、ＩはＸ軸周りの誤差量、ＪはＹ軸周りの誤差量、ＫはＺ軸周りの誤差量を意味する。例えば、Ｍｈｌｒの各要素は移動体である工具ヘッドが載った直線軸位置に依存するＸ軸周り、Ｙ軸周り、Ｚ軸周りの誤差量であり、これは直線軸依存回転誤差量である。Ｍｈｒｒの各要素は工具ヘッドが載った回転軸位置に依存するＸ軸周り、Ｙ軸周り、Ｚ軸周りの誤差量であり、これは回転軸依存回転誤差量である。同様に、Ｍｔｌｒの各要素は移動体であるテーブルが載った直線軸位置に依存するＸ軸周り、Ｙ軸周り、Ｚ軸周りの誤差量であり、Ｍｔｒｒの各要素はテーブルが載った回転軸位置に依存するＸ軸周り、Ｙ軸周り、Ｚ軸周りの誤差量である。そして、これらは軸依存回転誤差量である。ここで、Ｘ，Ｙ，Ｚ軸は機械座標系上の軸である。したがって、移動体であるテーブルに対する誤差量の場合、テーブル自体の機械座標系上での誤差量を表す。
【００３３】
本来これらのマトリックスは三角関数で表されるが、各誤差量は十分小さいとし、ｓｉｎ（ε＊＊＊）＝ε＊＊＊、ｃｏｓ（ε＊＊＊）＝１と近似している。ここでε＊＊＊は各誤差量である。Ｍｈｒ，Ｍｔｒは、Ｍｈｒ＝Ｍｈｌｒ＊Ｍｈｒｒ，Ｍｔｒ＝Ｍｔｌｒ＊Ｍｔｒｒの積算を行うことで２つの回転誤差をまとめたマトリックスである。つまり、Ｍｈｒは工具ヘッドの軸位置に依存した回転誤差マトリックス、Ｍｔｒはテーブルの軸位置に依存した回転誤差マトリックスである。誤差量の２乗以上の項は無視している。勿論、このような近似を行わないマトリックスとしてもよい。図６では、これらのまとめた誤差のみ図示し、マトリックスという表記は省略している。
【００３４】
【数５】
2012014335.tif 000007
【００３５】
【数６】
2012014335.tif 000008
【００３６】
また、移動する軸（移動体が載る軸）がない場合や誤差量の各要素が十分小さくて無視できる場合、各マトリックスは単位マトリックスとなる。したがって、回転軸依存回転誤差は有意であるが、直線軸依存回転誤差は無視できる場合、後者のマトリックスは単位マトリックスとなり、後述の回転補正量および並進補正量の計算においてそれらのマトリックスの計算は行われない。（単位マトリックスの計算そのものは行われても、実質的には計算は行われないのと同じである。）逆に、直線軸依存回転誤差は有意であるが、回転軸依存回転誤差は無視できる場合、後者のマトリックスは単位マトリックスとなり、後述の回転補正量および並進補正量の計算においてそれらのマトリックスの計算は行われない。
【００３７】
＜並進誤差ベクトル＞
各並進誤差を表す並進誤差ベクトルは数７式，数８式のようになる。各要素の文字について、εは誤差量であることを表し、ＸはＸ軸方向の誤差量、ＹはＹ軸方向の誤差量、ＺはＺ軸方向の誤差量を意味する。例えば、Ｍｈｌｔの各要素は移動体である工具ヘッドが載った直線軸位置に依存するＸ軸方向、Ｙ軸方向、Ｚ軸方向の誤差量であり、これは直線軸依存並進誤差量である。Ｍｈｒｔの各要素は工具ヘッドが載った回転軸位置に依存するＸ軸方向、Ｙ軸方向、Ｚ軸方向の誤差量であり、これは回転軸依存並進誤差量である。同様に、Ｍｔｌｔの各要素はテーブルが載った直線軸位置に依存するＸ軸方向、Ｙ軸方向、Ｚ軸方向の誤差量であり、Ｍｔｒｔの各要素はテーブルが載った回転軸位置に依存するＸ軸方向、Ｙ軸方向、Ｚ軸方向の誤差量である。そして、これらは軸依存並進誤差量である。ここで、Ｘ，Ｙ，Ｚ軸は機械座標系上の軸である。したがって、テーブルにおける誤差の場合、テーブル自体の機械座標系上での誤差量を表す。  
Ｍｈｔ，Ｍｔｔは、Ｍｈｔ＝Ｍｈｌｔ＋Ｍｈｒｔ，Ｍｔｔ＝Ｍｔｌｔ＋Ｍｔｒｔの加算を行うことで２つの並進誤差をまとめたベクトルである。つまり、Ｍｈｔは工具ヘッドの軸位置に依存した並進誤差マトリックス、Ｍｔｔはテーブルの軸位置に依存した並進誤差マトリックスである。図６では、これらのまとめた誤差のみ図示し、ベクトルという表記は省略している。
【００３８】
【数７】
2012014335.tif 000009
【００３９】
【数８】
2012014335.tif 000010
【００４０】
また、回転誤差量で述べたと同様に、移動する軸（移動体が載る軸）がない場合や誤差量の各要素が十分小さくて無視できる場合、各ベクトルは０（ゼロ）ベクトルとなる。したがって、回転軸依存並進誤差は有意であるが、直線軸依存並進誤差は無視できる場合、後者のベクトルは０ベクトルとなり、後述の並進補正量の計算においてにそれらのベクトルの計算は行われない。逆に、直線軸依存並進誤差は有意であるが、回転軸依存並進誤差は無視できる場合、後者のベクトルは０ベクトルとなり、後述の並進補正量の計算においてそれらのベクトルの計算は行われない。
【００４１】
＜工具基準点ベクトルと工具長補正ベクトルの回転誤差＞  
前述のように、回転誤差量は機械座標系上のＸ，Ｙ，Ｚ軸周りの誤差量なので、機械座標系上の工具基準点ベクトルおよび工具長補正ベクトルに対して誤差の演算を行う（図６参照）。  
機械座標系上の工具基準点ベクトルＶｂに対して回転誤差を持った実工具基準点ベクトルＶｂｅはテーブルにおける回転誤差マトリックスＭｔｒによって数９式のようになる。このことによって、Ｖｂｅがテーブルの回転誤差分回転したテーブルにおけるテーブル座標系上のＴｂとなる。
【００４２】
【数９】
2012014335.tif 000011
【００４３】
Ｖｌに対して回転誤差を持った実工具長補正ベクトルＶｌｅは工具ヘッドに対する回転誤差マトリックスＭｈｒによって数１０式のようになる。
【００４４】
【数１０】
2012014335.tif 000012
【００４５】
＜回転補正＞  
誤差を持った工具方向を指令された工具方向に補正する回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）を求める（図６参照）。  
Ｖｌｅに対するテーブル座標系上での実工具長補正ベクトルＴｌｅは、誤差を持ったテーブル上のテーブル座標系で見るとテーブル回転誤差分逆変換（数１１式におけるＭｔｒ-1の積）となり、かつＲｃｔの変換を行うことによって回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）によって補正されたテーブル座標系上のベクトルとなるので、数１１式のようになる。
【００４６】
【数１１】
2012014335.tif 000013
【００４７】
Ｒｃｔについて説明する。Ｒｔがテーブル回転による機械座標系からテーブル座標系への変換マトリックスであるのに対して、Ｒｃｔは回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）を考慮したテーブル回転による機械座標系からテーブル座標系への変換マトリックス、つまり機械座標系から回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）によって補正されたテーブル座標系への変換マトリックスである。したがって、Ｒｃｔは数１２式のＲｃａ，Ｒｃｂ，Ｒｃｃによって作成される。Ｒｃｔは図５のようにテーブル回転が工具からテーブルへの軸の順でＡ軸、Ｂ軸、Ｃ軸であれば、Ｒｃｔ＝Ｒｃｃ＊Ｒｃｂ＊Ｒｃａであり、図２のようにテーブルが回転軸を持たなければＲｃｔは単位マトリックスであり、図３ではＲｃｔ＝Ｒｃｃ＊Ｒｃｂであり、図４ではＲｃｔ＝Ｒｃｃである。数１２式のＲｃａ，Ｒｃｂ，Ｒｃｃにおいて、右辺第１式は本来の三角関数によるマトリックス、右辺第２式は各補正量要素（ΔＡ，ΔＢ，ΔＣ）は十分小さいとしｓｉｎ（Δα）＝Δα、ｃｏｓ（Δα）＝１（α＝Ａ，Ｂ，Ｃ）と近似したマトリックスである。
【００４８】
【数１２】
2012014335.tif 000014
【００４９】
さらに、数１３式のように誤差を持った実工具長補正ベクトルＴｌｅに対して回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）による変換マトリックスＲｄを積算して元の指令された工具長補正ベクトルであるＴｌとなる必要がある。
【００５０】
【数１３】
2012014335.tif 000015
【００５１】
ここで、Ｒｄは数１４式に示されるようにＲｄａ，Ｒｄｂ，Ｒｄｃの工具からテーブルへの回転軸順での積であり、Ｒｄａ，Ｒｄｂ，ＲｄｃはＡ軸、Ｂ軸、Ｃ軸が（Ａ，Ｂ，Ｃ）の位置にある時にＡ軸、Ｂ軸、Ｃ軸における誤差補正分の移動ΔＡ，ΔＢ，ΔＣを行った時のテーブル座標系上のベクトルの変化を表す変換マトリックスである。つまり、機械構成において工具からテーブルへの回転軸順はＡ軸、Ｂ軸、Ｃ軸とした時、ＲｄａはＢ軸位置がＢ、Ｃ軸位置がＣの時のテーブル座標系上のＡ軸回転中心を中心としてΔＡだけ回転する変換マトリックスであり、ＲｄｂはＣ軸位置がＣの時のテーブル座標系上のＢ軸回転中心を中心としてΔＢだけ回転する変換マトリックスであり、Ｒｄｃはテーブル座標系上のＣ軸回転中心、つまりＺ軸を中心としてΔＣだけ回転する変換マトリックスである。各補正移動量（ΔＡ，ΔＢ，ΔＣ）は十分小さいとし、ｓｉｎ（Δα）＝Δα、ｃｏｓ（Δα）＝１（α＝Ａ，Ｂ，Ｃ）と近似している。また補正移動量の２乗以上の項は無視している。勿論、このような近似を行わないマトリックスとしてもよい。
【００５２】
【数１４】
2012014335.tif 000016
【００５３】
これらから、数１５式が導かれる。数４式、数１０式とともに、ΔＡ，ΔＢ，ΔＣに関する数１５式の連立方程式を解くことによりΔＡ，ΔＢ，ΔＣを求める。
【００５４】
【数１５】
2012014335.tif 000017
【００５５】
ただし、一般に工具長補正ベクトルＴｌおよび実工具長補正ベクトルＶｌｅが与えられた時、数１５式からΔＡ，ΔＢ，ΔＣは解析的かつ一意には求まらない。そのため、ここでは、ΔＡ＝０，ΔＢ＝０，ΔＣ＝０を条件としてそれぞれの条件のもとでΔＡ，ΔＢ，ΔＣの解を求め（ΔＡ2＋ΔＢ2＋ΔＣ2）が最も小さい解を選択するとする。つまり、ΔＡ＝０の条件で数１５式を解いて求めたΔＢ，ΔＣを第１解（ΔＡ１（＝０），ΔＢ１，ΔＣ１）とし、ΔＢ＝０の条件で数１５式を解いて求めたΔＡ，ΔＣを第２解（ΔＡ２，ΔＢ２（＝０），ΔＣ２）とし、ΔＣ＝０の条件で数１５式を解いて求めたΔＡ，ΔＢを第３解（ΔＡ３，ΔＢ３，ΔＣ３（＝０））とし、数１６式のＤｎが最も小さい（ΔＡｎ，ΔＢｎ，ΔＣｎ）を求めるΔＡ，ΔＢ，ΔＣとする。これにより、回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）が求められる。
【００５６】
【数１６】
2012014335.tif 000018
【００５７】
他にも特異点に最も近い軸の補正量を０として他の２軸の補正量を求めるなどの方法もある。あるいは、数１７式のように（ΔＡｎ，ΔＢｎ，ΔＣｎ）を合成して求めるΔＡ，ΔＢ，ΔＣとしてもよい。
【００５８】
【数１７】
2012014335.tif 000019
【００５９】
ただし、数１７式による（ΔＡ，ΔＢ，ΔＣ）は厳密には数１５式の解ではない。そのため、さらに、数１７式による（ΔＡ，ΔＢ，ΔＣ）を（ΔＡ０，ΔＢ０，ΔＣ０）とし、上記と同様にΔＡ＝ΔＡ０，ΔＢ＝ΔＢ０，ΔＣ＝ΔＣ０を条件としてそれぞれの条件のもとでΔＡ，ΔＢ，ΔＣの第１解、第２解、第３解を求め数１６式のＤｎが最も小さい解を求めるΔＡ，ΔＢ，ΔＣとしてもよい。
【００６０】
＜並進補正＞
並進補正量ΔＣｔ（ΔＸ，ΔＹ，ΔＺ）は数１８式のように求められる。
【００６１】
【数１８】
2012014335.tif 000020
【００６２】
ここで、数１８式の右辺第１項〜第４項が並進補正の要素となることは図６から明らかである。第５項ΔＶｂｔは、数１９式のように、テーブル座標系上の工具基準点ベクトルＴｂに対して上記回転補正のうちテーブル回転軸の回転補正で発生する並進補正移動量（Ｔｂ−Ｒｄｔ＊Ｔｂ）をＲｃｔ-1の積算によって機械座標系上の移動量としたものである。これにより、工具基準点が補正された回転テーブルのテーブル座標系上で正しい工具基準点位置Ｔｂになる。
【００６３】
【数１９】
2012014335.tif 000021
【００６４】
ここで、Ｒｄｔは上記回転補正のうちテーブル回転軸の回転補正を表すマトリックスである。したがって、図２の工具ヘッド回転型の例であればテーブル回転軸はないのでＲｄｔは単位マトリックスでありΔＶｂｔは０（ゼロ）ベクトルである。図３の例であればＲｄｔ＝Ｒｄｃ＊Ｒｄｂであり、図４の例であればＲｄｔ＝Ｒｄｃであり、図５の例であればＲｄｔ＝Ｒｄｃ＊Ｒｄｂ＊Ｒｄａである。
【００６５】
図６は回転補正量ΔＣｒについて回転工具ヘッドで補正するイメージ、つまり回転補正量ΔＣｒについては工具ヘッド回転型のイメージで描いている。そのため、ΔＶｂｔが図中に現われない。回転補正量ΔＣｒについて回転テーブルで補正するイメージで描くと図９のようになり、ΔＶｂｔが図中に現われる。図９のΔＶｂｔは、誤差を持った回転テーブルによって工具基準点ベクトルはＶｂｅとなるが、ΔＣｒの回転補正によって補正された回転テーブルのテーブル座標系上で正しくＴｂとなるようにΔＶｂｔを作成することを示す。
【００６６】
図９中、「Ｖｌｅ，Ｔｌ」と表記しているのは、回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）によって「誤差を持った回転テーブル」が「補正された回転テーブル」となり、Ｖｌｅが補正された回転テーブルにおけるテーブル座標系上でＴｌと等しい、つまりＶｌｅが補正された回転テーブルにおけるテーブル座標系上のＴｌに変換されることを示している。これは数１５式に対応する。  
求められた回転補正量ΔＣｒ（ΔＡ，ΔＢ，ΔＣ）を各Ａ軸、Ｂ軸、Ｃ軸の指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）に加算し、並進補正量ΔＣｔ（ΔＸ，ΔＹ，ΔＺ）を各Ｘ軸、Ｙ軸、Ｚ軸の指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に加算する。このことにより、（補正されたテーブルにおける）テーブル座標系上で工具長補正ベクトルは指令された工具長補正ベクトルＴｌとなり工具基準点は数２式で計算された工具基準点ベクトルＴｂとなる。そのため、工具先端点は指令された工具先端点Ｔｐとなる。その結果、（補正されたテーブルにおける）テーブル座標系上で工具先端点位置は誤差のない位置に移動し工具姿勢も誤差のない方向に補正される。
【００６７】
＜誤差量の設定と計算＞  
指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）および指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）から、各回転誤差マトリックス（Ｍｈｌｒ，Ｍｈｒｒ，Ｍｔｌｒ，Ｍｔｒｒ）および各並進誤差ベクトル（Ｍｈｌｔ，Ｍｈｒｔ，Ｍｔｌｔ，Ｍｔｒｔ）を求める方法を説明する。指令直線軸位置Ｐｌは、従来技術の補間手段において数２０式のように求められている。ここで、Ｐｔ（Ｐｔｘ，Ｐｔｙ，Ｐｔｚ）は機械座標系におけるテーブル座標系の原点位置である。指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）も従来技術の補間手段において求められている。
【００６８】
【数２０】
2012014335.tif 000022
【００６９】
まず、図２のような工具ヘッド回転型の場合に、工具ヘッドを移動させる指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に依存した工具ヘッドの回転誤差マトリックス（Ｍｈｌｒ）および並進誤差ベクトル（Ｍｈｌｔ）を求める方法を述べる。  
図１０は格子状領域に分割されたＸＹＺ３次元座標系を示す図である。ＸＹＺ３次元座標系は一定間隔の格子状に分割されている。格子状に分割する境界線の交わる点が格子点Ｐｌ０〜Ｐｌ２６である。なお、この図に図示されているのは座標系の１部分であり、実際には機械移動可能な領域全体を、このような格子状に分割する。  
そして、各格子点における機械系に起因する誤差量（並進誤差量と回転誤差量）を、予め測定しておく。測定方法についてはここでは説明しない。誤差量は、６次元の格子点誤差ベクトルＵｎ（ＵｎＸ，  ＵｎＹ，  ＵｎＺ，  ＵｎＩ，  ＵｎＪ，  ＵｎＫ  ：  ｎ＝０〜２６）で表される。（ＵｎＸ，  ＵｎＹ，  ＵｎＺ）がＰｌに依存した並進誤差量、つまりＭｈｌｔの各要素（εＸｈｌ，εＹｈｌ，εＺｈｌ）に対応し、（ＵｎＩ，  ＵｎＪ，  ＵｎＫ）がＰｌに依存した回転誤差量、つまりＭｈｌｒの各要素（εＩｈｌ，εＪｈｌ，εＫｈｌ）に対応する。格子点誤差ベクトルのデータ群を誤差データＤｈｌとする。（図８、数５式および数７式を参照。）格子点誤差ベクトルは不揮発性メモリ等に格納される。なお、この格子点誤差ベクトルは、アブソリュート値である。
【００７０】
なお、格子状に分割する際に、あまり細かく分割すると格子点誤差ベクトルのデータ量が多くなり、必要とするメモリの記憶容量が大きくなってしまう。従って、なるべく正しい誤差を算出でき、しかもデータ量を少なく抑えることができる格子点の数は、一軸につき数１０箇所程度である。また、ここでは一定間隔の格子状に分割されているとしたが、一定間隔である必要はない。格子位置を別途設定しておく、格子位置は関数によって計算するなどの方法で間隔を可変にすることもできる。
【００７１】
ここで、任意の指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）から、誤差量（Ｍｈｌｔの各要素（εＸｈｌ，εＹｈｌ，εＺｈｌ）およびＭｈｌｒの各要素（εＩｈｌ，εＪｈｌ，εＫｈｌ））の算出方法について説明する。
図１１は誤差量を算出すべき指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）を含む格子状領域を示す図である。この例では、誤差量を算出すべきＰｌ（Ｘ，Ｙ，Ｚ）が、格子点Ｐｌ０、Ｐｌ１、Ｐｌ３、Ｐｌ４、Ｐｌ９、Ｐｌ１０、Ｐｌ１２、Ｐｌ１３に囲まれた領域にある。Ｘ軸の格子間隔はＬX 、Ｙ軸の格子間隔はＬy 、Ｚ軸の格子間隔はＬZ である。また、各格子点Ｐｌ０、Ｐｌ１、Ｐｌ３、Ｐｌ４、Ｐｌ９、Ｐｌ１０、Ｐｌ１２、Ｐｌ１３には、それぞれ格子点誤差ベクトルＵ０（Ｕ０Ｘ，  Ｕ０Ｙ，  Ｕ０Ｚ，  Ｕ０Ｉ，  Ｕ０Ｊ，  Ｕ０Ｋ）〜Ｕ１３（Ｕ１３Ｘ，  Ｕ１３Ｙ，  Ｕ１３Ｚ，  Ｕ１３Ｉ，  Ｕ１３Ｊ，  Ｕ１３Ｋ）が設定されている。以後この領域を、格子点位置において各格子点に対応する格子点誤差ベクトルが与えられた、線形性を有するベクトル場と想定する。  
Ｐｌ（Ｘ，Ｙ，Ｚ）を含む領域が求められると、格子点Ｐｌ０（Ｐｌ０X，Ｐｌ０Y，Ｐｌ０Z）を基準点として定める。次に、点Ｐｌでの誤差量を求めるために格子内の位置を〔０，１〕に正規化する。Ｘ軸の格子間隔をＬｘ，Ｙ軸の格子間隔をＬｙ，Ｚ軸の格子間隔をＬｚとした場合の正規化した点Ｐｌの座標値（ｘ，ｙ，ｚ）を数２１式で定める。
【００７２】
【数２１】
2012014335.tif 000023
【００７３】
この座標値（ｘ，ｙ，ｚ）をもとに、点Ｐｌでの誤差量（εＸｈｌ，εＹｈｌ，εＺｈｌ，εＩｈｌ，εＪｈｌ，εＫｈｌ）を数２２式の比例配分計算で算出する。
【００７４】
【数２２】
2012014335.tif 000024
【００７５】
このようにして、工具ヘッドが載る指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）における、つまりＰｌに依存するＭｈｌｔの各要素（εＸｈｌ，εＹｈｌ，εＺｈｌ）およびＭｈｌｒの各要素（εＩｈｌ，εＪｈｌ，εＫｈｌ）が算出できる。これらの各要素から数５式、数７式のように工具ヘッドが載る指令直線軸位置Ｐｌに依存する回転誤差マトリックスＭｈｌｒおよび並進誤差ベクトルＭｈｌｔが作成される。  
同様に、工具ヘッドを移動させる指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）に依存した工具ヘッドの回転誤差マトリックス（Ｍｈｒｒ）および並進誤差ベクトル（Ｍｈｒｔ）は、ＡＢＣ３次元座標系の誤差データＤｈｒから求められる（図１２参照）。
【００７６】
図２のような工具ヘッド回転型の場合、テーブルを移動させる直線軸、回転軸はないのでテーブルを移動させる直線軸位置に依存する回転誤差マトリックス（Ｍｔｌｒ）および並進誤差ベクトル（Ｍｔｌｔ）、回転軸位置に依存する回転誤差マトリックス（Ｍｔｒｒ）および並進誤差ベクトル（Ｍｔｒｔ）は不要であり、前述のように計算上は単位マトリックスおよび０ベクトルとする。なお、ここでは「テーブルを移動させる直線軸、回転軸はない」としたが、テーブルを移動させる直線軸が１軸または２軸ある工具ヘッド回転型多軸加工機もある。その場合は後述するようにテーブルを移動させる直線軸の１軸または２軸の位置からテーブルを移動させる直線軸位置に依存する回転誤差マトリックス（Ｍｔｌｒ）および並進誤差ベクトル（Ｍｔｌｔ）を求める。
【００７７】
次に、図５のようなテーブル回転型の場合、同様に、工具ヘッドを移動させる指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）に依存した工具ヘッドの回転誤差マトリックス（Ｍｈｌｒ）および並進誤差ベクトル（Ｍｈｌｔ）は、ＸＹＺ３次元座標系の誤差データＤｈｌから求められる（図１０）。また、同様に、テーブルを移動させる指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）に依存したテーブルの回転誤差マトリックス（Ｍｔｒｒ）および並進誤差ベクトル（Ｍｔｒｔ）は、ＡＢＣ３次元座標系の誤差データＤｔｒから求められる（図１３参照）。
図５のようなテーブル回転型の場合、テーブルを移動させる直線軸、工具ヘッドを移動させる回転軸はないので、テーブルを移動させる直線軸位置に依存する回転誤差マトリックス（Ｍｔｌｒ）および並進誤差ベクトル（Ｍｔｌｔ）、工具ヘッドを移動させる回転軸位置に依存する回転誤差マトリックス（Ｍｈｒｒ）および並進誤差ベクトル（Ｍｈｒｔ）は不要であり、前述のように計算上は単位マトリックスおよび０ベクトルとする。なお、ここでは「テーブルを移動させる直線軸、工具ヘッドを移動させる回転軸はない」としたが、テーブルを移動させる直線軸が１軸または２軸あるテーブル回転型多軸加工機もある。その場合は後述するようにテーブルを移動させる直線軸の１軸または２軸の位置からテーブルを移動させる直線軸位置に依存する回転誤差マトリックス（Ｍｔｌｒ）および並進誤差ベクトル（Ｍｔｌｔ）を求める。
【００７８】
さらに、図３のようなテーブル２軸混合型の場合は、工具ヘッドを移動させる指令直線軸は１軸（Ｚ軸）なので、誤差データＤｈｌをＺ１次元座標系として指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）のうちＺ軸位置から工具ヘッドを移動させる直線軸位置に依存した工具ヘッドの回転誤差マトリックス（Ｍｈｌｒ）および並進誤差ベクトル（Ｍｈｌｔ）を求める（図１４）。同様に、工具ヘッドを移動させる指令回転軸は１軸（Ａ軸）なので、誤差データＤｈｒをＡ１次元座標系として指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）のうちＡ軸位置から工具ヘッドを移動させる回転軸位置に依存した工具ヘッドの回転誤差マトリックス（Ｍｈｒｒ）および並進誤差ベクトル（Ｍｈｒｔ）を求める（図１５）。また、テーブルを移動させる指令直線軸は２軸（Ｘ軸，Ｙ軸）なので、誤差データＤｔｌをＸＹ２次元座標系として指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）のうちＸ軸およびＹ軸位置からテーブルを移動させる直線軸位置に依存したテーブルの回転誤差マトリックス（Ｍｔｌｒ）および並進誤差ベクトル（Ｍｔｌｔ）を求める（図１６）。同様に、テーブルを移動させる指令回転軸は２軸（Ｂ軸，Ｃ軸）なので、誤差データＤｔｒをＢＣ２次元座標系として指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）のうちＢ，Ｃ軸位置からテーブルを移動させる回転軸位置に依存したテーブルの回転誤差マトリックス（Ｍｔｒｒ）および並進誤差ベクトル（Ｍｔｒｔ）を求める（図１７参照）。
【００７９】
なお、Ｚ１次元座標系、Ａ１次元座標系、ＸＹ２次元座標系、およびＢＣ２次元座標系のような格子点誤差ベクトルを持つ１次元および２次元座標系を記載したが、これらはすでに説明した格子点誤差ベクトルを持つ３次元座標系（図１０参照）から不要な座標系を削除し１次元および２次元座標系を取り出したものである。誤差ベクトルの計算式についても、数２１式、数２２式から不要な座標系に関する要素を削除するように変更すればよい。その変更方法は自明なので特に説明しない。
【００８０】
さらに、図４のような工具ヘッド２軸混合型の場合は、工具ヘッドを移動させる指令直線軸は１軸（Ｚ軸）なので、誤差データＤｈｌをＺ１次元座標系として指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）のうちＺ軸位置から工具ヘッドを移動させる直線軸位置に依存した工具ヘッドの回転誤差マトリックス（Ｍｈｌｒ）および並進誤差ベクトル（Ｍｈｌｔ）を求める（図１４参照）。同様に、工具ヘッドを移動させる指令回転軸は２軸（Ａ軸，Ｂ軸）なので、誤差データＤｈｒをＡＢ２次元座標系として指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）のうちＡ，Ｂ軸位置から工具ヘッドを移動させる回転軸位置に依存した工具ヘッドの回転誤差マトリックス（Ｍｈｒｒ）および並進誤差ベクトル（Ｍｈｒｔ）を求める（図１８参照）。また、テーブルを移動させる指令直線軸は２軸（Ｘ軸，Ｙ軸）なので、誤差データＤｔｌをＸＹ２次元座標系として指令直線軸位置Ｐｌ（Ｘ，Ｙ，Ｚ）のうちＸ軸およびＹ軸位置からテーブルを移動させる直線軸位置に依存したテーブルの回転誤差マトリックス（Ｍｔｌｒ）および並進誤差ベクトル（Ｍｔｌｔ）を求める（図１６参照）。同様に、テーブルを移動させる指令回転軸は１軸（Ｃ軸）なので、誤差データＤｔｒをＣ１次元座標系として指令回転軸位置Ｐｒ（Ａ，Ｂ，Ｃ）のうちＣ軸位置からテーブルを移動させる回転軸位置に依存したテーブルの回転誤差マトリックス（Ｍｔｒｒ）および並進誤差ベクトル（Ｍｔｒｔ）を求める（図１９）。
【００８１】
ここでは、図２〜図５の機械構成例によって１次元、２次元、３次元座標系を格子状に分割した格子点誤差ベクトルを持つ誤差データと指令直線軸位置および指令回転軸位置から回転誤差および並進誤差についての誤差量を求めたが、機械構成はこれらに限るものでない。他の様々な機械構成の多軸加工機においても、指令直線軸位置および指令回転軸位置に対する１次元、２次元または３次元座標系における最寄の格子点誤差ベクトルからすでに述べた数２１式、数２２式のような比例配分計算によって指令直線軸位置および指令回転軸位置の回転誤差量および並進誤差量を求め、図８記載の指令直線軸位置および指令回転軸位置に依存した工具ヘッドおよびテーブルの回転誤差マトリックスおよび並進誤差ベクトルを求めることができる。
【００８２】
＜数値計算例＞
工具ヘッド回転型とテーブル回転型について数値計算例を示す。回転補正量ΔＣｒについては度表示としている。工具ヘッド２軸混合型やテーブル２軸混合型についても同様に計算可能である。  
１）工具ヘッド回転型の場合  
図２の工具ヘッド回転型多軸加工機において、指令直線軸位置Ｐｌ，指令回転軸位置Ｐｒから工具ヘッドの直線軸位置に依存した回転誤差量および並進誤差量、工具ヘッドの回転軸位置に依存した回転誤差量および並進誤差量、および工具長補正量が図２０の条件のように与えられた場合、図２０の補正の欄に記載した回転補正量ΔＣｒ，並進補正量ΔＣｔが数１式〜数１９式から求められる。ただし、回転補正量ΔＣｒは数１６式で述べたＤｎが最も小さい解としている。この点は以下の計算例でも同様である。  
２）テーブル回転型の場合  
図５のテーブル回転型多軸加工機において、指令直線軸位置Ｐｌ，指令回転軸位置Ｐｒから工具ヘッドの直線軸位置に依存した回転誤差量および並進誤差量、テーブルの回転軸位置に依存した回転誤差量および並進誤差量、および工具長補正量が図２１の条件のように与えられた場合、図２３の補正の欄に記載した回転補正量ΔＣｒ，並進補正量ΔＣｔが数１式〜数１９式から求められる。
【００８３】
＜ブロック図＞
図２２に示されるように、一般に数値制御装置は、指令プログラム１０を解析手段２０で解析し補間手段３０で補間し各軸のサーボ５０ｘ，５０ｙ，５０ｚ，５０ａ，５０ｂ，５０ｃを駆動する。本発明における軸依存誤差量計算手段３２、回転補正量計算手段３４、並進補正量計算手段３６、補正量加算手段３８は図２２のように補間手段３０に属する。軸依存誤差量計算手段３２は誤差データ４０を用いて軸依存誤差量を計算する。
【００８４】
＜フローチャート＞
本発明の各手段に関するフローチャートを示す。ステップＳＡ１００とステップＳＡ１０２が軸依存誤差量計算手段３２に、ステップＳＡ１０４が回転補正量計算手段３４と並進補正量計算手段３６に、ステップＳＡ１０６が補正量加算手段３８に対応する。
【符号の説明】
【００８５】
１０  指令プログラム
２０  解析手段
３０  補間手段
３２  軸依存誤差量計算手段
３４  回転補正量計算手段
３６  並進補正量計算手段
３８  補正量加算手段
４０  誤差データ
５０ｘ〜５０ｃ  サーボモータ
【図１】
2012014335.tif 000025
【図２】
2012014335.tif 000026
【図３】
2012014335.tif 000027
【図４】
2012014335.tif 000028
【図５】
2012014335.tif 000029
【図６】
2012014335.tif 000030
【図７】
2012014335.tif 000031
【図８】
2012014335.tif 000032
【図９】
2012014335.tif 000033
【図１０】
2012014335.tif 000034
【図１１】
2012014335.tif 000035
【図１２】
2012014335.tif 000036
【図１３】
2012014335.tif 000037
【図１４】
2012014335.tif 000038
【図１５】
2012014335.tif 000039
【図１６】
2012014335.tif 000040
【図１７】
2012014335.tif 000041
【図１８】
2012014335.tif 000042
【図１９】
2012014335.tif 000043
【図２０】
2012014335.tif 000044
【図２１】
2012014335.tif 000045
【図２２】
2012014335.tif 000046
【図２３】
2012014335.tif 000047
【手続補正書】
【提出日】平成23年10月20日(2011.10.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
請求項１３に係る発明は、前記軸依存誤差量計算手段は、前記直線軸３軸のうちの１軸または前記回転軸３軸のうちの１軸による１次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、直線軸１軸または回転軸１軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置である。  
請求項１４に係る発明は、前記指令直線軸位置および前記指令回転軸位置はプログラム指令に基づいて補間された直線軸３軸および回転軸３軸の位置である請求項１〜請求項１３のいずれか一つに記載の数値制御装置である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１３
【補正方法】変更
【補正の内容】
【請求項１３】
前記軸依存誤差量計算手段は、前記直線軸３軸のうちの１軸または前記回転軸３軸のうちの１軸による１次元座標系空間を各軸方向に所定間隔の格子状領域に分割し、該格子状領域の各格子点における回転誤差量と並進誤差量の格子点誤差ベクトルを格納し、直線軸１軸または回転軸１軸の位置における直線軸依存回転誤差量と直線軸依存並進誤差量または回転軸依存回転誤差量と回転軸依存並進誤差量を前記格子点誤差ベクトルに基づいて計算する請求項１〜請求項１０のいずれか一つに記載の数値制御装置。