(57)【特許請求の範囲】
【請求項１】
テーブルに取付られたワーク（加工物）に対して少なくとも直線軸３軸によって加工する工作機械を制御するとともに、該工作機械を構成する各軸の各軸位置に依存した誤差補正を行う誤差補正手段を備えた数値制御装置において、
該誤差補正手段は、前記工作機械のベッドから工具を経由した工具先端点へのリンク軸順における着目軸の軸依存回転誤差中心から次軸の軸依存回転誤差中心または工具先端点への１個または複数個のリンクベクトルまたは前記工作機械のベッドからテーブルを経由した工具先端点へのリンク軸順における着目軸の軸依存回転誤差中心から次軸の軸依存回転誤差中心または工具先端点への１個または複数個のリンクベクトルに対して、該各軸位置に依存した軸依存並進誤差量または軸依存回転誤差量によって誤差リンクベクトルの演算を行い、該リンクベクトルと該誤差リンクベクトルとの差分によって補正量を演算し誤差補正を行う機能を有することを特徴とする誤差補正手段を備えた数値制御装置。
【請求項２】
該軸依存並進誤差量または該軸依存回転誤差量は、該各軸位置に対応した誤差量が設定されている誤差量データテーブルと該各軸位置によって演算される値であることを特徴する請求項１に記載の誤差補正手段を備えた数値制御装置。
【請求項３】
該軸依存並進誤差量または該軸依存回転誤差量は、該軸位置に依存した関数として決定される値であることを特徴とする請求項１に記載の誤差補正手段を備えた数値制御装置。
【請求項４】
該リンクベクトルの要素は設定されている定数用データテーブルの定数であることを特徴とする請求項１〜請求項３のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【請求項５】
該リンクベクトルの要素は該軸位置に依存した関数として決定される変数であることを特徴とする請求項１〜請求項３のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【請求項６】
前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸によって加工する３軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【請求項７】
前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸とヘッド回転用回転軸２軸によって加工する５軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【請求項８】
前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸とテーブル回転用回転軸２軸によって加工する５軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【請求項９】
前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸とヘッド回転用回転軸１軸とテーブル回転用回転軸１軸によって加工する５軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルに取付けられたワーク（加工物）に対して少なくとも直線軸３軸によって加工する工作機械を制御する数値制御装置において、該工作機械のベッドから工具を経由した工具先端点へ１個または複数個のリンクベクトルまたは工作機械のベッドから工具を経由した工具先端点への１個または複数個のリンクベクトルに対して誤差リンクベクトルの演算を行い、リンクベクトルと誤差リンクベクトルから補正量を演算することにより、工具先端点位置の補正を可能とする数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置により動作が制御される工作機械の送り軸は、目標位置と実際に到達する位置との間に誤差が生じる。工作機械の誤差として並進誤差と回転誤差が存在することは知られており、工具長補正ベクトルや工具先端点ベクトルに対して並進誤差補正や回転誤差補正を行っていた。
【０００３】
特許文献１には、座標系を格子状領域に分割し、格子点において格子点補正ベクトルを格納し、現在位置補正ベクトルを格子点補正ベクトルに基づいて算出し補正する技術が開示されている。  
特許文献２には、基準軸心に対する回転軸誤差と指令角度に基づき加工原点を補正する
技術が開示されている。
【０００４】
特許文献３には、回転軸のずれ量や主軸旋回中心のずれ量から、機械誤差がない場合の工具と加工物の相対関係が保持されるように補正する方法が開示されている。  
特許文献４には、位置にもとづいて位置誤差（並進誤差）と姿勢誤差（回転誤差）を補正する方法が開示されている。  
特許文献５には、直線軸依存回転補正量、直線軸依存並進補正量、回転軸依存回転補正量および回転軸依存並進補正量によって、誤差補正を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３１７４７０４号公報
【特許文献２】特開２００５−５９１０２号公報
【特許文献３】特許第４０３８１８５号公報
【特許文献４】特開２００８−２６９３１６号公報
【特許文献５】特開２００９−１５１７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
背景技術の欄で説明した技術では、工作機械の一部の要素、５軸加工機の回転部分（回転ヘッドや回転テーブル）に対してのみ並進誤差補正や回転誤差補正を行っているにすぎず、工作機械全体に対する誤差補正としては不十分であった。特に３軸加工機も含めて工作機械のベッドから工具先端点までの誤差補正としては不十分であった。
【０００７】
特許文献１に開示される技術では、単に座標位置にもとづいて並進誤差補正が行われるのみであり、本発明におけるリンクベクトルに対して並進誤差および回転誤差の演算を行い誤差補正を行う技術思想はない。
【０００８】
特許文献２に開示される技術では、基準軸心に対する回転軸誤差と指令角度にもとづいて並進誤差補正が行われるのみであり、各軸位置に対応した誤差量を格納しておきその誤差量から座標位置に依存した並進誤差量と回転誤差量を求めリンクベクトルに対して並進誤差および回転誤差の演算を行い誤差補正を行うという本発明の技術思想はない。
【０００９】
特許文献３に開示される技術では、回転軸のずれ量や主軸旋回中心のずれ量を対象としているのみでは正確な補正ができない。例えば、直線軸間（Ｘ軸とＹ軸の間など）に存在する真直度誤差はこの方式では補正できない。また、各軸位置に対応した誤差量を格納しておきその誤差量から座標位置に依存した並進誤差量と回転誤差量を求めリンクベクトルに対して並進誤差および回転誤差の演算を行い誤差補正を行うという本発明の技術思想はない。
【００１０】
特許文献４に開示される技術では、単に座標位置にもとづいて並進誤差補正および回転誤差補正が行われるのみであり、工作機械のベッドから工具を経由した工具先端点へ１個または複数個のリンクベクトルまたは工作機械のベッドからテーブルを経由した工具先端点への１個または複数個のリンクベクトルに対して並進誤差および回転誤差の演算を行い誤差補正を行うという本発明の技術思想はない。
【００１１】
特許文献５に開示される技術では、工作機械のベッドから工具を経由した工具先端点へ１個または複数個のリンクベクトルまたは工作機械のベッドからテーブルを経由した工具先端点への１個または複数個のリンクベクトルに対して並進誤差および回転誤差の演算を行い誤差補正を行うという本発明の技術思想はない。
【００１２】
そこで、本発明の目的は、工作機械の各軸位置に依存した軸依存並進誤差量または軸依存回転誤差量によって前記工作機械のベッドから工具を経由した工具先端点への１個または複数個のリンクベクトルまたは前記工作機械のベッドからテーブルを経由した工具先端点への１個または複数個のリンクベクトルに対して誤差リンクベクトルの演算を行い、該リンクベクトルと該誤差リンクベクトルとの差分によって補正量を演算し補正を行う誤差補正手段を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【００１３】
本願の請求項１に係る発明は、テーブルに取付られたワーク（加工物）に対して少なくとも直線軸３軸によって加工する工作機械を制御するとともに、該工作機械を構成する各軸の各軸位置に依存した誤差補正を行う誤差補正手段を備えた数値制御装置において、該誤差補正手段は、前記工作機械のベッドから工具を経由した工具先端点へのリンク軸順における着目軸の軸依存回転誤差中心から次軸の軸依存回転誤差中心または工具先端点への１個または複数個のリンクベクトルまたは前記工作機械のベッドからテーブルを経由した工具先端点へのリンク軸順における着目軸の軸依存回転誤差中心から次軸の軸依存回転誤差中心または工具先端点への１個または複数個のリンクベクトルに対して、該各軸位置に依存した軸依存並進誤差量または軸依存回転誤差量によって誤差リンクベクトルの演算を行い、該リンクベクトルと該誤差リンクベクトルとの差分によって補正量を演算し誤差補正を行う機能を有することを特徴とする誤差補正手段を備えた数値制御装置である。
【００１４】
請求項２に係る発明は、該軸依存並進誤差量または該軸依存回転誤差量は、該各軸位置に対応した誤差量が設定されている誤差量データテーブルと該各軸位置によって演算される値であることを特徴する請求項１に記載の誤差補正手段を備えた数値制御装置である。
【００１５】
請求項３に係る発明は、該軸依存並進誤差量または該軸依存回転誤差量は、該軸位置に依存した関数として決定される値であることを特徴とする請求項１に記載の誤差補正手段を備えた数値制御装置である。
【００１６】
請求項４に係る発明は、該リンクベクトルの要素は設定されている定数用データテーブルの定数であることを特徴とする請求項１〜請求項３のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【００１７】
請求項５に係る発明は、該リンクベクトルの要素は該軸位置に依存した関数として決定される変数であることを特徴とする請求項１〜請求項３のいずれか１つに記載の誤差補正手段を備えた数値制御装置である。  
請求項６に係る発明は、前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸によって加工する３軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置である。
【００１８】
請求項７に係る発明は、前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸とヘッド回転用回転軸２軸によって加工する５軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置である。
請求項８に係る発明は、前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸とテーブル回転用回転軸２軸によって加工する５軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置である。
【００１９】
請求項９に係る発明は、前記工作機械はテーブルに取付られたワーク（加工物）に対して直線軸３軸とヘッド回転用回転軸１軸とテーブル回転用回転軸１軸によって加工する５軸加工機であることを特徴とする請求項１〜請求項５のいずれか１つに記載の誤差補正手段を備えた数値制御装置。
【発明の効果】
【００２０】
本発明により、各軸位置に依存した軸依存並進誤差量または軸依存回転誤差量による誤差に対して工具先端点での誤差補正を正確に行うことができる数値制御装置を提供できる。
【図面の簡単な説明】
【００２１】
【図１】ヘッド回転型の５軸加工機の機械構成を説明する図である。
【図２】５軸加工機のＸ軸コラム上のＹ軸コラムにおける誤差を説明する図である。
【図３】５軸加工機のＺ軸コラム上のＣ軸ヘッドにおける誤差を説明する図である。
【図４】図１に図示される機械構成の５軸加工機におけるリンクベクトルを説明する図である。
【図５】ベッド上のＸ軸コラム回転誤差（Ｘ軸依存回転誤差）中心からＹ軸コラム回転誤差（Ｙ軸依存回転誤差）中心へのリンクベクトルＶｘと誤差との関係を説明する図である。
【図６】Ｙ軸コラム回転誤差（Ｙ軸依存回転誤差）中心からＺ軸コラム回転誤差（Ｚ軸依存回転誤差）中心へのリンクベクトルＶｙと誤差との関係を説明する図である。
【図７】Ｚ軸コラム回転誤差（Ｚ軸依存回転誤差）中心からＣ軸ヘッド回転誤差（Ｃ軸依存回転誤差）中心へのリンクベクトルＶｚと誤差との関係を説明する図である。
【図８】Ｃ軸ヘッド回転誤差（Ｃ軸依存回転誤差）中心からＡ軸ヘッド回転誤差（Ａ軸依存回転誤差）中心へのリンクベクトルＶｃと誤差との関係を説明する図である。
【図９】Ａ軸ヘッド回転誤差（Ａ軸依存回転誤差）中心から工具先端点へのリンクベクトルＶａと誤差との関係を説明する図である。
【図１０】合成リンクベクトルＶLを説明する図である。
【図１１】合成誤差リンクベクトルＶL’を説明する図である。
【図１２】合成リンクベクトルＶL’合成誤差リンクベクトルＶL’の関係と補正量Δ３Ｄと工具との関係を説明する図である。
【図１３】Ｘ軸依存の誤差量を用いて軸依存並進誤差量および軸依存回転誤差量の設定を説明する図である。
【図１４】ＥＸＸ（ｘ）がＸ軸位置（ｘ）に依存した３次式で表される場合を説明する図である。
【図１５】本発明である、補正量Δ３Ｄを求め従来技術の補正量に加算して補正を行う誤差補正手段を備えた数値制御装置の要部ブロック図である。
【図１６】本発明である、指令解析手段で解析したプログラム指令の各ブロック終点位置を機械座標位置としてその位置に対して誤差補正手段によって誤差の補正を行う形態の誤差補正手段を備えた数値制御装置の要部の機能ブロック図である。
【図１７】プログラム指令を説明する図である。
【図１８】第１の実施形態における補正手段が行う補正処理のアルゴリズムのフローチャートである。
【図１９】テーブル回転型の５軸加工機の機械構成を説明する図である。
【図２０】ベッド上のＹ軸テーブルにおける誤差を説明する図である。
【図２１】図１９に示される機械構成の５軸加工機におけるリンクベクトルＶｙ，Ｖｘ，Ｖｂ，Ｖｃ，Ｖｚを説明する図である。
【図２２】Ｚ軸コラムとＢ，Ｃ軸テーブルにおけるリンクベクトルの詳細を説明する図である。
【図２３】ベッド上のＹ軸テーブル回転誤差（Ｙ軸依存回転誤差）中心からＸ軸テーブル回転誤差（Ｘ軸依存回転誤差）中心へのリンクベクトルＶｙと誤差との関係を説明する図である。
【図２４】Ｘ軸テーブル回転誤差（Ｘ軸依存回転誤差）中心からＢ軸テーブル回転誤差（Ｂ軸依存回転誤差）中心へのリンクベクトルＶｘと誤差との関係を説明する図である。
【図２５】Ｂ軸テーブル回転誤差（Ｂ軸依存回転誤差）中心からＣ軸テーブル回転誤差（Ｃ軸依存回転誤差）中心へのリンクベクトルＶｂと誤差との関係を説明する図である。
【図２６】Ｃ軸テーブル回転誤差（Ｃ軸依存回転誤差）中心から工具先端点へのリンクベクトルＶｃと誤差との関係を説明する図である。
【図２７】Ｚ軸コラム回転誤差（Ｚ軸依存回転誤差）中心から工具先端点へのリンクベクトルＶｚと誤差との関係を説明する図である。
【図２８】数１５式と数１７式とを図示したベクトル図である。
【図２９】数１４式と数１６式とを図示したベクトル図である。
【図３０】ＶL1，ＶL1’， ＶL2，ＶL2’の関係とΔ３Ｄと工具との関係を説明する図である。
【図３１】図１に図示される機械構成の５軸加工機におけるリンクベクトルを説明する図である。
【図３２】リンクベクトルＶｘｙｚと誤差との関係を説明する図である。
【図３３】リンクベクトルＶｃａと誤差との関係を説明する図である。
【図３４】数２６式を説明する図である。
【図３５】数２５式を説明する図である。
【図３６】Ｘ，Ｙ，Ｚ軸依存誤差量として、Ｘ，Ｙ，Ｚ位置に対応した軸依存並進誤差量および軸依存回転誤差量の設定した誤差量データテーブルを説明する図である。
【図３７】Ｘ，Ｙ，Ｚ軸位置が（ｘ，ｙ，ｚ）の時の並進誤差量および回転誤差量を誤差量データテーブルに記憶された最寄の位置のデータを比例配分して求めることを説明する図である。
【図３８】Ｃ，Ａ軸依存の誤差量データテーブルを説明する図である。
【図３９】Ｃ，Ａ軸位置が（ｃ，ａ）の時の並進誤差量および回転誤差量を誤差量データテーブルに記憶された最寄の位置のデータを比例配分して求めることを説明する図である。
【図４０】混合型の５軸加工機の一例を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面と共に説明する。  
まず、ヘッド回転型の本発明の第１の実施形態を説明する。
【００２３】
＜機械構成＞
図１は、ヘッド回転型の５軸加工機の機械構成を説明する図である。
両端部が立設する構造のベッド１に架設されるＸ軸コラム２には、Ｙ軸コラム３が取付けられている。Ｙ軸コラム３にはＺ軸コラム４が取付けられている。工具が取付けられたＡ軸ヘッドがＣ軸ヘッドに取付けられ、Ｃ軸ヘッドがＺ軸コラム４に取付けられている。Ｘ軸コラム２やＣ軸ヘッドなどはＸ軸やＣ軸で動作する部分を指す。ここでの実施形態としては図１のような５軸加工機の機械構成で説明する。回転軸はＣ軸とＡ軸としているが、他の軸（Ｃ，Ｂ軸やＡ，Ｂ軸など）の組合せもある。また、回転軸に関する処理や演算を除けば３軸加工機での誤差補正となる。
【００２４】
＜並進誤差と回転誤差＞
図２は、５軸加工機のＸ軸コラム２とＹ軸コラム３における誤差を説明する図である。各軸位置に依存した並進誤差量と回転誤差量を表１に示されるように表記する。ただし、不要な要素は誤差量０として省略可である。回転軸（Ｃ，Ａ軸）要素を除けば、つまり、ＥＸＣ（ｘ）、ＥＸＡ（ａ）のような３文字目がＣまたはＡの誤差量を０とすれば、３軸加工機に適用できる。
【００２５】
表１に示される表記はＪＩＳ規格Ｂ６１９１にならっている。ＪＩＳハンドブック  １３  工作機械２００６  日本規格協会，工作機械−静的精度試験方法及び工作精度試験方法通則Ｂ６１９１  ５．２３１に、Ｚ軸方向の運動による偏差として、ＥＸＺ：直進偏差、ＥＹＺ：直進偏差、ＥＺＺ：位置偏差、並びに、角度偏差であるＥＡＺ：ピッチ，ＥＢＺ：ヨー，ＥＣＺ：ロールが規定されている。
【００２６】
【表１】
0005411617.tif 000002
【００２７】
本発明では、直進偏差および位置偏差を並進誤差、角度偏差を回転誤差と記述する。表１では、この表記にならって各軸位置に依存した、各軸方向の並進誤差量、各軸周りの回転誤差量を表記し、さらに各軸位置に依存した関数であることを数学的に明確にするために、ＥＸＺ（ｚ）、ＥＡＺ（ｚ）などのように関数の形にしている。
【００２８】
誤差量の方向についてさらに説明する。例えば、Ｘ軸コラム２上のＹ軸コラム３の位置に依存する誤差、ＥＸＹ（ｙ），ＥＹＹ（ｙ），ＥＺＹ（ｙ），ＥＡＹ（ｙ），ＥＢＹ（ｙ），ＥＣＹ（ｙ）を図示すると図２のようになる。ＥＸＹ（ｙ），ＥＹＹ（ｙ），ＥＺＹ（ｙ）はあるＹ軸位置ｙにおける、それぞれＸ方向、Ｙ方向、Ｚ方向のＹ軸コラム３の誤差である。つまり、Ｙ軸依存の並進誤差である。ＥＡＹ（ｙ），ＥＢＹ（ｙ），ＥＣＹ（ｙ）はあるＹ軸位置ｙにおける、それぞれＸ軸周り、Ｙ軸周り、Ｚ軸周りのＹ軸コラム３の誤差である。つまり、Ｙ軸依存の回転誤差である。なお、図２上では大きく描いているが、これらの誤差はごくわずかである。
【００２９】
さらにＺ軸コラム４上のＣ軸ヘッドの位置に依存する誤差、ＥＸＣ（ｃ），ＥＹＣ（ｃ），ＥＺＣ（ｃ），ＥＡＣ（ｃ），ＥＢＣ（ｃ），ＥＣＣ（ｃ）を図示すると図３に示すようになる。ＥＸＣ（ｃ），ＥＹＣ（ｃ），ＥＺＣ（ｃ）はあるＣ軸位置ｃにおける、それぞれＸ方向、Ｙ方向、Ｚ方向のＣ軸ヘッドの誤差である。つまり、Ｃ軸依存の並進誤差である。
ＥＡＣ（ｃ），ＥＢＣ（ｃ），ＥＣＣ（ｃ）はあるＣ軸位置ｃにおける、それぞれＸ軸周り、Ｙ軸周り、Ｚ軸周りのＣ軸ヘッドの誤差である。つまり、Ｃ軸依存の回転誤差である。
【００３０】
＜リンクベクトル＞  
ここで、リンクベクトルについて説明する。リンクベクトルとは、工作機械のベッドから工具を経由した工具先端点への、または工作機械のベッドからテーブルを経由した工具先端点への各軸間の結合を示すベクトルである。図１におけるリンクベクトルは図４のように表される。
【００３１】
Ｖｘ：ベッドからＸ軸コラム２へのリンクベクトル
Ｖｙ：Ｘ軸コラム２からＹ軸コラム３へのリンクベクトル
Ｖｚ：Ｙ軸コラム３からＺ軸コラム４へのリンクベクトル
Ｖｃ：Ｚ軸コラム４からＣ軸ヘッドへのリンクベクトル
Ｖａ：Ｃ軸ヘッドから工具先端点へのリンクベクトル
【００３２】
各リンクベクトルは各軸で動作する部分の任意の場所を指すことが出来るが、ここでは回転誤差を考慮して各リンクベクトルを次のようにする。  
Ｖｘ：Ｘ軸コラム回転誤差（Ｘ軸依存回転誤差）中心からＹ軸コラム回転誤差（Ｙ軸依存回転誤差）中心へのベクトルとする。ここでは、Ｘ軸コラム回転誤差中心はベッドとＸ軸コラムの接触部分の中心であると想定し、Ｙ軸コラム回転誤差中心はＸ軸コラムとＹ軸コラムの接触部分の中心であると想定する。  
Ｖｙ：Ｙ軸コラム回転誤差（Ｙ軸依存回転誤差）中心からＺ軸コラム回転誤差（Ｚ軸依存回転誤差）中心へのベクトルとする。ここでは、Ｚ軸コラム回転誤差中心はＹ軸コラムとＺ軸コラムの接触部分の中心であると想定する。  
Ｖｚ：Ｚ軸コラム回転誤差（Ｚ軸依存回転誤差）中心からＣ軸ヘッド回転誤差（Ｃ軸依存回転誤差）中心へのベクトルとする。ここでは、Ｃ軸ヘッド回転誤差中心はＺ軸コラムとＣ軸ヘッドの接触部分の中心であると想定する。  
Ｖｃ：Ｃ軸ヘッド回転誤差（Ｃ軸依存回転誤差）中心からＡ軸ヘッド回転誤差（Ａ軸依存回転誤差）中心へのベクトルとする。ここでは、Ａ軸ヘッド回転誤差中心は工具を含めたＡ軸ヘッドの回転中心中央であると想定する。  
Ｖａ：Ａ軸ヘッド回転誤差（Ａ軸依存回転誤差）中心から工具先端点へのベクトルとする。ここで、Ｖｃ、Ｖａを無視する（Ｖｃ＝Ｖａ＝０としＶｚをＺ軸コラム回転誤差（Ｚ軸依存回転誤差）中心から工具先端点へのリンクベクトルとする）と、３軸加工機での誤差補正となる。
【００３３】
＜リンクベクトル演算＞
それぞれ、ここでは同次座標系で次のように演算する。ｘ，ｙ，ｚ，ａ，ｃは機械座標位置（機械座標系上の各軸位置）である。Ｘ，Ｙ，Ｚ軸の機械座標位置はＡ軸ヘッド回転中心中央（Ａ軸依存回転誤差中心）としている。したがって、ｘ，ｙ，ｚはＸ，Ｙ，Ｚ軸の移動とともに変化する。Ｖｘの第２要素、Ｖｚの第３要素、Ｖａの第１〜第３要素のようにｙ，ｚ，ａ，ｃを使用したベクトル要素は軸位置に依存した関数として決定される変数である。定数となっているデータはあらかじめ定数用データテーブルに設定しておきそれを使用するが、各軸位置による変数とすることも可能である。ここでは値として０となっている要素についても、定数にしたり各軸位置による変数とすることも可能である。
【００３４】
Ｖｘ＝（０，ｙ−ｃｘｙ，０，０）T 
ｙ：Ｙ軸位置、ｃｘｙ：Ｘ軸依存回転誤差中心（Ｘ軸コラム回転誤差中心）Ｙ位置（定数）
【００３５】
Ｖｙ＝（ｃｙｚ，０，０，０）T
ｃｙｚ：Ｙ軸依存回転誤差中心（Ｙ軸コラム回転誤差中心）からＺ軸依存回転誤差中心（Ｚ軸コラム回転誤差中心）への距離（定数）
【００３６】
Ｖｚ＝（０，０，ｚ−ｃｚｚ＋ｃｃａ，０）T
ｚ：Ｚ軸位置、ｃｚｚ：Ｚ軸依存回転誤差中心（Ｚ軸コラム回転誤差中心）のＺ軸位置（定数）、ｃｃａ：Ｃ軸依存回転誤差中心（Ｃ軸ヘッド回転誤差中心）からＡ軸依存回転誤差中心（Ａ軸ヘッド回転中心）への距離（定数）
【００３７】
Ｖｃ＝（０，０，−ｃｃａ，０）T
【００３８】
Ｖａ＝（Ｖａｘ，Ｖａｙ，Ｖａｚ，１）T
Ｖａ（Ｖａｘ，Ｖａｙ，Ｖａｚ）：Ａ軸依存回転誤差中心（Ａ軸ヘッド回転中心中央）から工具先端点へのベクトルであり、Ａ，Ｃ軸の回転によって数１式で表される。ａはＡ軸位置（機械座標位置）、ｃはＣ軸位置（機械座標位置）である。ｈはＡ軸ヘッド回転中心から工具先端点への工具長を含めた距離であり、工具長補正量と定数から求められる。工具は、ａ＝０，ｃ＝０の時、Ｚ軸マイナス方向を向くとする。
【００３９】
【数１】
0005411617.tif 000003
【００４０】
そして、各リンクベクトルＶｘ，Ｖｙ，Ｖｚ，Ｖｃ，Ｖａと誤差との関係を図示すると、図５〜図９に示されるようになる。図５は、ベッド１からＸ軸コラム２へのリンクベクトルＶｘと誤差との関係を説明する図である。図６は、Ｘ軸コラム２からＹ軸コラム３へのリンクベクトルＶｙと誤差との関係を説明する図である。図７は、Ｙ軸コラム３からＺ軸コラム４へのリンクベクトルＶｚと誤差との関係を説明する図である。図８は、Ｚ軸コラム４からＣ軸ヘッドへのリンクベクトルＶｃと誤差との関係を説明する図である。図９は、Ｃ軸ヘッドから工具先端点へのリンクベクトルＶａと誤差との関係を説明する図である。
【００４１】
ここで、図６は、図２の誤差をリンクベクトルに対する誤差として図示したものである。図６のＥＡＹ（ｙ），ＥＢＹ（ｙ），ＥＣＹ（ｙ）は図２のＥＡＹ（ｙ），ＥＢＹ（ｙ），ＥＣＹ（ｙ）と相違するように見えるが、図２はＹ軸コラム３全体に対する誤差として図示しているのに対して、図６はリンクベクトルに対する誤差として図示しているものであり、共に同じ誤差を図示している。
【００４２】
＜誤差と補正＞
ある機械座標位置Ｐ（ｘ，ｙ，ｚ，ｃ，ａ）における、Ｘ，Ｙ，Ｚ軸への補正量Δ３Ｄ（Δ３Ｄｘ，Δ３Ｄｙ，Δ３Ｄｚ，０）Tは、数２式〜数４式により演算される。ここで、補正を行っているのはＸ，Ｙ，Ｚ軸に対してであり、回転軸Ｃ，Ａ軸に対しては本発明による補正は行わない。回転軸の演算部分（Ｍｃ，Ｖｃ，Ｍａ，Ｖａによる演算部分）を除けば、３軸加工機における演算となる。
【００４３】
【数２】
0005411617.tif 000004
【００４４】
【数３】
0005411617.tif 000005
【００４５】
【数４】
0005411617.tif 000006
【００４６】
ここで、数２式は機械構造のリンク軸順の計算となる。リンク軸順とは、ベッド１上でＸ軸コラム２が動作し、Ｘ軸コラム２上でＹ軸コラム３が動作し、Ｙ軸コラム３上でＺ軸コラム４が動作し、Ｚ軸コラム４上でＣ軸ヘッドが動作し、Ｃ軸ヘッド上で工具を取付けられたＡ軸ヘッドが動作するという、ベッドから工具を経由した工具先端点までの軸並びの順を言う。したがって、リンク軸順は機械構造に依存する。
【００４７】
図１に示される機械構造では、全ての軸がベッドから工具側にあるので、テーブル側のリンク軸順はないが、テーブルを動作する軸が存在する場合（例えば、第２の実施形態における図１９に示される機械構造）は、テーブルを経由するリンク軸順もある。ＶLを合成リンクベクトル、ＶL’を合成誤差リンクベクトルと呼ぶ。各マトリックスは下記のマトリックスを意味する。
【００４８】
Ｍｘ：Ｘ軸依存の誤差生成マトリックス
Ｍｙ：Ｙ軸依存の誤差生成マトリックス
Ｍｚ：Ｚ軸依存の誤差生成マトリックス
Ｍｃ：Ｃ軸依存の生成マトリックス
Ｍａ：Ａ軸依存の生成マトリックス
【００４９】
各誤差生成マトリックスＭｘ，Ｍｙ，Ｍｚ，Ｍｃ，Ｍａは数５式〜数９式のようになる。ここで、回転誤差量の要素（１〜３行、１〜３列の要素）は、本来はｓｉｎ（ＥＣＸ（ｘ）），ｃｏｓ（ＥＣＸ（ｘ））などのように三角関数によって表される。回転誤差量はラジアン単位の十分小さい量であるとして、ｓｉｎ（ＥＣＸ（ｘ））＝ＥＣＸ（ｘ），ｃｏｓ（ＥＣＸ（ｘ））＝１と近似し、三角関数によらないマトリックスとしている。
【００５０】
【数５】
0005411617.tif 000007
【００５１】
【数６】
0005411617.tif 000008
【００５２】
【数７】
0005411617.tif 000009
【００５３】
【数８】
0005411617.tif 000010
【００５４】
【数９】
0005411617.tif 000011
【００５５】
ここで、前述した数３式をベクトル図として図示すると、図１０に示されるようになる。図１０は、合成リンクベクトルＶLを説明する図である。それに対して、各リンクベクトルＶｘ，Ｖｙ，Ｖｚ，Ｖｃ，Ｖａに各誤差生成マトリックスＭｘ，Ｍｙ，Ｍｚ，Ｍｃ，Ｍａの積が演算されることにより数２式をベクトル図として図示すると図１１のようになる。図１１は、合成誤差リンクベクトルＶL’を説明する図である。ここで、Ｖｘ’，Ｖｙ’，Ｖｚ’，Ｖｃ’，Ｖａ’は、それぞれリンクベクトルＶｘ，Ｖｙ，Ｖｚ，Ｖｃ，Ｖａに誤差生成マトリックスＭｘ，Ｍｙ，Ｍｚ，Ｍｃ，Ｍａが乗算された誤差リンクベクトルを表す。つまり、誤差リンクベクトルＶｘ’，Ｖｙ’，Ｖｚ’，Ｖｃ’，Ｖａ’はそれぞれ、数１０式のように表される。
【００５６】
【数１０】
0005411617.tif 000012
【００５７】
したがって、合成リンクベクトルＶL，合成誤差リンクベクトルＶL’の関係と補正量Δ３Ｄと工具との関係を図示すると図１２のようになる。つまり、補正量Δ３Ｄの補正を行うことは、工具先端点を合成誤差リンクベクトルの先端（ＶL’の先端）から誤差のない合成リンクベクトルの先端（ＶLの先端）に移動し補正することである。したがって、各リンクベクトルＶｘ，Ｖｙ，Ｖｚ，Ｖｃ，Ｖａに並進誤差または回転誤差があっても工具先端点は正しい位置に移動し、正しい加工が行われる。なお、図１２においてＺ軸コラム４、Ｃ軸ヘッドなどを傾けているが、誤差を持っていることを明確にするために傾けて図示している。実際の機械でこのように大きく傾くものではない。
【００５８】
＜誤差量の設定＞
軸依存並進誤差量および軸依存回転誤差量の設定について説明する。例として、図１３に示されるＸ軸依存の誤差量で説明する。図１３は、Ｘ軸依存の誤差量を用いて軸依存並進誤差量および軸依存回転誤差量の設定を説明する図である。Ｘ軸位置がｘ０のときの並進誤差量（ＥＸＸ（ｘ０），ＥＹＸ（ｘ０），ＥＺＸ（ｘ０））および回転誤差量（ＥＡＸ（ｘ０），ＥＢＸ（ｘ０），ＥＣＸ（ｘ０))を、ｘ０に対応した誤差量データテーブルに並進誤差量および回転誤差量として設定する。同様に、ｘ１，ｘ２，・・・に対応した誤差量を並進誤差量および回転誤差量として設定する。ｘ０，ｘ１，ｘ２・・・の位置については最初のｘ０を固定値にしておき、それから等間隔でｘ１，ｘ２・・・が並んでいるとしてもよいし、ｘ０，ｘ１，ｘ２・・・の位置を別途パラメータに設定しておいてもよい。
【００５９】
ここで、Ｘ軸位置がｘの時の並進誤差量（ＥＸＸ（ｘ），ＥＹＸ（ｘ），ＥＺＸ（ｘ））および回転誤差量（ＥＡＸ（ｘ），ＥＢＸ（ｘ），ＥＣＸ（ｘ））は、最寄のｘn，ｘn+1（ｎ＝０，１，２・・・）から比例配分で求める。つまり、ｘn≦ｘ＜ｘn+1としたとき、Ｘ軸依存並進誤差ＥＸＸ（ｘ）の値を数１１式により求める。他の要素も同様である。
【００６０】
【数１１】
0005411617.tif 000013
【００６１】
他の軸位置に依存した並進誤差量および回転誤差量も同様に誤差量データテーブルに設定されたデータと各軸の位置から求める。
【００６２】
ここでは各軸位置による１次元のデータテーブルとしたが、関連性の強い軸同士ではそれらの軸の組合せによる２次元、３次元のデータテーブルとし、２軸または３軸の位置とそれらの誤差データテーブルから比例配分で求めてもよい。（詳細には第３の実施形態の説明で述べる。）
また、軸依存並進誤差量および軸依存回転誤差量は軸位置に依存して値が決定される関数による値であってもよい。図１４はＥＸＸ（ｘ）がＸ軸位置（ｘ）に依存した３次式で表されるとした場合の図である。係数α、β、γ、δは別途パラメータとして設定しておく。他の要素も同様である。
【００６３】
次に、図１５を用いて本発明の誤差補正手段を備えた数値制御装置を説明する。数値制御装置１０は一般に、指令解析手段１１でプログラム指令を解析して補間用のデータを作成し、補間手段１２で補間用データにもとづいて補間を行って各軸の移動すべき位置を求め、各軸用の加減速手段１３Ｘ，１３Ｙ，１３Ｚ，１３Ａ（Ｂ），１３Ｃによって各軸の加減速を行った後の各軸位置を求め、補正手段１４でピッチ誤差補正やバックラッシ補正などの従来技術の補正を行い、その結果の位置によって各軸のサーボ１５Ｘ，１５Ｙ，１５Ｚ，１５Ａ（Ｂ），１５Ｃを駆動する。
【００６４】
ここで、本発明によって、すでに述べたように、各軸の機械座標位置、誤差量データテーブル、定数用データテーブルおよび工具長補正量から各軸依存回転誤差量、各軸依存並進誤差量および各リンクベクトルを求め、求めた各軸依存回転誤差量、各軸依存並進誤差量および各リンクベクトルに対して数２式、数３式、数４式の演算を行うことにより、補正量Δ３Ｄを求める。これを新たな補正量Δ３Ｄとして従来技術の補正量に加算して補正を行う。
【００６５】
なお、図１６のように、指令解析手段１１で解析したプログラム指令における各ブロックのブロック終点位置を機械座標位置としてその位置に対して同様の補正を行うことも可能である。図１７に示されるプログラム指令例において、Ｇ９０は指令位置がアブソリュート指令であること、Ｇ０１は直線補間指令であること、Ｆは速度指令を表す。各Ｘ，Ｙ，Ｚ，Ａ，Ｃの組がブロック終点位置である。
【００６６】
図１８は、第１の実施形態における補正手段が行う補正処理のアルゴリズムのフローチャートである。以下、各ステップに従って説明する。  
●［ステップＳＴ１］機械座標位置（ｘ，ｙ，ｚ，ｃ，ａ）のデータ、および、工具長補正量を取得する。  
●［ステップＳＴ２］誤差量データテーブルおよび機械座標位置から、数１１式およびそれにならって、各軸依存並進誤差量、各軸依存回転誤差量を演算する。つまり、数１１式によりＸ軸依存並進誤差ＥＸＸ（ｘ）の値を求め、他の要素も同様な計算式により値を求める。  
●［ステップＳＴ３］定数用データテーブル、工具長補正量、および機械座標位置から各リンクベクトルを演算する。  
●［ステップＳＴ４］各軸依存並進誤差量、各軸依存回転誤差量および各リンクベクトルから数２式、数３式、数４式により補正量を演算し、終了する。
【００６７】
次に、テーブル回転型機械の本発明の第２の実施形態を説明する。  
＜機械構成＞  
図１９は、テーブル回転型の５軸加工機の機械構成を説明する図である。Ｙ軸テーブルやＢ軸テーブルなどはＹ軸やＢ軸で動作する部分を指す。回転軸はＢ軸とＣ軸としているが、他の軸（Ａ，Ｃ軸やＡ，Ｂ軸など）の組合せもある。また、回転軸に関する処理や演算を除けば３軸加工機での誤差補正となるのは第１の実施形態と同じである。なお、第２の実施形態において、記号は第１の実施形態と同じものがあるが、それらは第１の実施形態と同じ意味ではなく第２の実施形態における意味を持つ。
【００６８】
＜並進誤差と回転誤差＞
各軸位置に依存した並進誤差量と回転誤差量を表２のように表記する。ただし、不要な要素は誤差量０として省略可である。回転軸（Ｂ，Ｃ軸）要素を除けば３軸加工機に適用できる。
【００６９】
【表２】
0005411617.tif 000014
【００７０】
誤差量の方向についてさらに説明する。図２０は、誤差量の方向について説明する図である。例えば、ベッド１上のＹ軸テーブルの位置に依存する誤差、ＥＸＹ（ｙ），ＥＹＹ（ｙ），ＥＺＹ（ｙ），ＥＡＹ（ｙ），ＥＢＹ（ｙ），ＥＣＹ（ｙ）を図示すると図２０に示されるようになる。誤差ＥＸＹ（ｙ），ＥＹＹ（ｙ），ＥＺＹ（ｙ）は、あるＹ軸位置ｙにおける、それぞれＸ方向、Ｙ方向、Ｚ方向のＹ軸テーブルの誤差である。つまり、Ｙ軸依存の並進誤差である。誤差ＥＡＹ（ｙ），ＥＢＹ（ｙ），ＥＣＹ（ｙ）は、あるＹ軸位置ｙにおける、それぞれＸ軸周り、Ｙ軸周り、Ｚ軸周りのＹ軸テーブルの誤差である。つまり、Ｙ軸依存の回転誤差である。図２０では大きく描いているが、これらの誤差はごくわずかである。
【００７１】
＜リンクベクトル＞
リンクベクトルは、工作機械のベッド１から工具を経由した工具先端点への、または工作機械のベッド１からテーブルを経由した工具先端点への各軸間の結合を示すベクトルである。図２１は、図１９に示される機械構成の５軸加工機におけるリンクベクトルＶｙ，Ｖｘ，Ｖｂ，Ｖｃ，Ｖｚを説明する図である。
【００７２】
Ｖｙ：ベッドからＹ軸テーブルへのリンクベクトル
Ｖｘ：Ｙ軸テーブルからＸ軸テーブルへのリンクベクトル
Ｖｂ：Ｘ軸テーブルからＢ軸テーブルへのリンクベクトル
Ｖｃ：Ｂ軸テーブルから工具先端点へのリンクベクトル
Ｖｚ：ベッドから工具を経由した工具先端点へのリンクベクトル
【００７３】
図２２は、Ｚ軸コラム５とＢ，Ｃ軸テーブルの間のリンクベクトルの詳細を説明する図である。したがって、各リンクベクトルは各軸で動作する部分の任意の場所を指すことができるが、ここでは回転誤差を考慮して各リンクベクトルを次のように演算する。
【００７４】
Ｖｙ：Ｙ軸テーブル回転誤差（Ｙ軸依存回転誤差）中心からＸ軸テーブル回転誤差（Ｘ軸依存回転誤差）中心へのベクトルとする。ここでは、Ｙ軸テーブル回転誤差中心はベッドとＹ軸テーブルの接触部分の中心であると想定し、Ｘ軸テーブル回転誤差中心はＹ軸テーブルとＸ軸テーブルの接触部分の中心であると想定する。  
Ｖｘ：Ｘ軸テーブル回転誤差（Ｘ軸依存回転誤差）中心からＢ軸テーブル回転誤差（Ｂ軸依存回転誤差）中心へのベクトルとする。ここでは、Ｂ軸テーブル回転誤差中心はＢ軸テーブル回転中心の中央であると想定する。  
Ｖｂ：Ｂ軸テーブル回転誤差（Ｂ軸依存回転誤差）中心からＣ軸テーブル回転誤差（Ｃ軸依存回転誤差）中心へのベクトルとする。ここでは、Ｃ軸テーブル回転誤差中心はＢ軸テーブルとＣ軸テーブルの接触部分の中心であると想定する。  
Ｖｃ：Ｃ軸テーブル回転誤差（Ｃ軸依存回転誤差）中心から工具先端点へのベクトルとする。  
Ｖｚ：Ｚ軸コラム回転誤差（Ｚ軸依存回転誤差）中心から工具先端点へのベクトルとする。Ｚ軸コラム回転誤差中心は、ベッドとＺ軸コラムの接触部分の中心であると想定する。
ここで、Ｖｂ，Ｖｃを無視する（Ｖｂ＝Ｖｃ＝０としＶｘをＸ軸テーブル回転誤差（Ｘ軸依存回転誤差）中心から工具先端点へのリンクベクトルとする）と、３軸加工機での誤差補正となる。
【００７５】
＜リンクベクトル演算＞
それぞれ、ここでは同次座標系で次のように演算する。ｘ，ｙ，ｚ，ｂ，ｃは機械座標位置（機械座標系上の各軸位置）である。直線軸の機械座標位置ｘ，ｙ，ｚは、Ｂ軸回転中心とＣ軸回転中心の交点を機械座標系原点とした工具ホルダの端面の位置（工具長補正量０の位置）としている（図２１でのＰｌ）。したがって、ｘ，ｙ，ｚはＸ，Ｙ，Ｚ軸の移動とともに変化する。Ｖｘの第１要素、Ｖｂ，Ｖｃの第１〜第３要素のようにｘ，ｙ，ｚ，ｂ，ｃを使用したベクトル要素は軸位置に依存した関数として決定される変数である。定数となっているデータはあらかじめ定数用データテーブルに設定しておきそれを使用するが、各軸位置による変数とすることも可能である。ここでは値として０となっている要素についても、定数にしたり各軸位置による変数とすることも可能である。
【００７６】
Ｖｙ＝（−ｘ，０，ｃｙｚ２，０）T
ｘ：Ｘ軸位置、ｃｙｚ２：Ｙ軸依存回転誤差中心（Ｙ軸テーブル回転誤差中心）からＸ軸依存回転誤差中心（Ｘ軸テーブル回転誤差中心）へのＺ軸距離（定数）
【００７７】
Ｖｘ＝（０，０，ｃｘｚ２，０）T
ｃｘｚ２：Ｘ軸依存回転誤差中心（Ｘ軸テーブル回転誤差中心）からＢ軸依存回転誤差中心（Ｂ軸テーブル回転中心）へのＹ軸距離（定数）
【００７８】
Ｖｂ＝（Ｖｂｘ，Ｖｂｙ，Ｖｂｚ，０）T
リンクベクトルＶｂは、Ｂ軸依存回転誤差中心（Ｂ軸テーブル回転中心の中央）からＣ軸依存回転誤差中心（Ｂ軸テーブル面上のＣ軸テーブル回転中心）へのベクトルである。
【００７９】
リンクベクトルＶｂは、Ｂ軸の回転によって数１２式で表される。ｂはＢ軸位置である。ｃｂｚ２は、Ｂ軸テーブルが水平状態（ｂ＝０）でのＢ軸依存回転誤差中心（Ｂ軸テーブル回転中心の中央）からＣ軸依存回転誤差中心（Ｂ軸テーブル面上のＣ軸テーブル回転中心）へのＺ軸距離（定数）。
【００８０】
【数１２】
0005411617.tif 000015
【００８１】
Ｖｃ＝（Ｖｃｘ，Ｖｃｙ，Ｖｃｚ，１）T
Ｃ軸依存回転誤差中心（Ｂ軸テーブル面上のＣ軸テーブル回転中心）から工具先端点へのベクトルであり、直線軸機械座標位置をＰｌ（ｘ，ｙ，ｚ）と工具長補正量ｈによって、数１３式で表される。
【００８２】
【数１３】
0005411617.tif 000016
【００８３】
Ｖｚ＝（０，０，−ｈ−ｃｚｚ２，１）T
Ｚ軸依存回転誤差中心（Ｚ軸コラム回転誤差中心）から工具先端点へのベクトルである。ｈは工具長補正量、ｃｚｚ２はＺ軸依存回転誤差中心（Ｚ軸コラム回転誤差中心）から工具ホルダ端面への距離（定数）である。
図２２は図２１のうち特にＶｚ，Ｖｂ，Ｖｃ，Ｐｌ，ｈの関係を図示したものである。
【００８４】
各リンクベクトルＶｙ，Ｖｘ，Ｖｂ，Ｖｃ，Ｖｚと誤差との関係を図示すると、図２３〜図２７のようになる。図２３は、Ｙ軸テーブル回転誤差（Ｙ軸依存回転誤差）中心からＸ軸テーブル回転誤差（Ｘ軸依存回転誤差）中心へのリンクベクトルＶｙと誤差との関係を説明する図である。図２４は、Ｘ軸テーブル回転誤差（Ｘ軸依存回転誤差）中心からＢ軸テーブル回転誤差（Ｂ軸依存回転誤差）中心へのリンクベクトルＶｘと誤差との関係を説明する図である。図２５は、Ｂ軸テーブル回転誤差（Ｂ軸依存回転誤差）中心からＣ軸テーブル回転誤差（Ｃ軸依存回転誤差）中心へのリンクベクトルＶｂと誤差との関係を説明する図である。図２６は、Ｃ軸テーブル回転誤差（Ｃ軸依存回転誤差）中心から工具先端点へのリンクベクトルＶｃと誤差との関係を説明する図である。図２７は、Ｚ軸コラム回転誤差（Ｚ軸依存回転誤差）中心から工具先端点へのリンクベクトルＶｚと誤差との関係を説明する図である。
【００８５】
＜誤差と補正＞
ある機械座標位置Ｐ（ｘ，ｙ，ｚ，ｃ，ａ）における、Ｘ，Ｙ，Ｚ軸への補正Δ３Ｄ（Δ３Ｄｘ，Δ３Ｄｙ，Δ３Ｄｚ，０）Tは、数１４式〜数１８式のように演算される。回転軸の演算部分（Ｍｂ，Ｖｂ，Ｍｃ，Ｖｃによる演算部分）を除けば、３軸加工機における演算となる。
【００８６】
【数１４】
0005411617.tif 000017
【００８７】
【数１５】
0005411617.tif 000018
【００８８】
【数１６】
0005411617.tif 000019
【００８９】
【数１７】
0005411617.tif 000020
【００９０】
【数１８】
0005411617.tif 000021
【００９１】
ここで、数１４式、数１６式は機械構造のリンク軸順の計算となる。リンク軸順とは、ベッド１上でＺ軸コラム５が動作し工具先端点に至るという、ベッド１から工具を経由した工具側の軸並びの順と、ベッド１上でＹ軸テーブルが動作し、Ｙ軸テーブル上でＸ軸テーブルが動作し、Ｘ軸テーブル上でＢ軸テーブルが動作し、Ｂ軸テーブル上でＣ軸テーブルが動作し工具先端点に至るという、ベッドからテーブルを経由したテーブル側の軸並びの順を言う。したがって、機械構造に依存する。ＶL1を工具側合成リンクベクトル、ＶL1’を工具側合成誤差リンクベクトル、ＶL2をテーブル側合成リンクベクトル、ＶL2’をテーブル側合成誤差リンクベクトルと呼ぶ。各マトリックスは次を示す。
【００９２】
Ｍｘ：Ｘ軸依存の誤差生成マトリックス
Ｍｙ：Ｙ軸依存の誤差生成マトリックス
Ｍｚ：Ｚ軸依存の誤差生成マトリックス
Ｍｃ：Ｃ軸依存の誤差生成マトリックス
Ｍｂ：Ｂ軸依存の誤差生成マトリックス
【００９３】
各誤差生成マトリックスＭｘ，Ｍｙ，Ｍｚ，Ｍｃ，Ｍｂは数１９式〜数２３式に示すようになる。
【００９４】
【数１９】
0005411617.tif 000022
【００９５】
【数２０】
0005411617.tif 000023
【００９６】
【数２１】
0005411617.tif 000024
【００９７】
【数２２】
0005411617.tif 000025
【００９８】
【数２３】
0005411617.tif 000026
【００９９】
数１５式、数１７式は、図２８に示されるベクトル図で表される。  
【０１００】
それに対して、各リンクベクトルに各誤差生成マトリックスの積が演算されることにより数１４式、式１６式を図示すると図２９のようになる。ここで、Ｖｙ’，Ｖｘ’，Ｖｂ’，Ｖｃ’，Ｖｚ’は、それぞれＶｙ，Ｖｘ，Ｖｂ，Ｖｃ，Ｖｚに誤差生成マトリックスＭｙ，Ｍｘ，Ｍｂ，Ｍｃ，Ｍｚが乗算された誤差リンクベクトルを表す。つまり、Ｖｙ’，Ｖｘ’，Ｖｂ’，Ｖｃ’，Ｖｚ’は数２４式のように表される。
【０１０１】
【数２４】
0005411617.tif 000027
【０１０２】
したがって、ＶL1，ＶL1’、ＶL2，ＶL2’の関係と、Δ３Ｄと、工具との関係を図示すると図３０のようになる。Δ３Ｄの補正を行うことは、工具先端点を誤差のある工具側合成誤差リンクベクトルの先端（ＶL1’の先端）から誤差のない工具側合成リンクベクトルの先端（ＶL1の先端）に移動するとともに、誤差のないテーブル側合成リンクベクトルの先端（ＶL2の先端）から誤差のあるテーブル側合成誤差リンクベクトルの先端（ＶL2’の先端）に移動し補正することである。つまり、工具側では誤差分引き戻し、テーブル側では誤差分追いかけて補正を行う。これは、数値制御装置はテーブルに対する相対的な工具位置を制御するので、工具側で発生する誤差はその分テーブル（ワーク（加工物））の方に引き戻し、テーブル側から発生する誤差についてはテーブル上にワーク（加工物）が存在するので工具がその分追いかけて補正する必要があるためである。この結果、各リンクベクトルに並進誤差または回転誤差があっても工具先端点は正しい位置に移動し、正しい加工が行われる。
【０１０３】
なお、図３０ではＺ軸コラム５がＺ方向のみならずＸ，Ｙ方向にも補正され動作しているように描いているが、テーブルに対する相対的なＺ軸コラム位置を描いているものである。Ｚ軸コラム自体がＸ、Ｙ方向に補正動作するのではなく、Ｘ、Ｙ方向の補正動作はテーブルの動作によって行われる。また、図３０においてＺ軸コラム５、工具を傾けているが、誤差を持っていることを明確にするために傾けて図示している。実際にこのように大きく傾くものではない。  
さらに、本実施形態の誤差補正手段を備えた数値制御装置は、図１５、図１６に示されるものと同様である。但し、補正演算における演算は、数１４式〜数１８式の演算を行う。
【０１０４】
次に、本発明の第３の実施形態を説明する。
＜機械構成＞
第１の実施形態の図１と同様の機械構成とする。  
＜並進誤差と回転誤差＞
各軸に依存した並進誤差量と回転誤差量を表３のように表記する。ただし、不要な要素は誤差量０として省略可である。回転軸（Ｃ，Ａ軸）要素を除けば３軸加工機に適用できることは第１の実施形態と同様である。
【０１０５】
【表３】
0005411617.tif 000028
【０１０６】
第１の実施形態、第２の実施形態では、各軸位置による１次元のデータテーブルとしたが、ここでは、Ｘ，Ｙ，Ｚ軸間での関連性が強いとしてそれらに関する誤差量はＸ，Ｙ，Ｚの３次元データ、Ｃ，Ａ軸間での関連性が強いとしてそれらに関する誤差量はＣ，Ａの２次元データとしている。
【０１０７】
＜リンクベクトル＞
ここでは、リンクベクトルを図３１に示すようにする。図３１は、図１に図示される機械構成の５軸加工機におけるリンクベクトルを説明する図である。  
Ｖｘｙｚ：ベッドにおけるＸ軸コラム回転誤差（Ｘ軸依存回転誤差）中心からＸ軸コラム、Ｙ軸コラム、Ｚ軸コラムを経由してＣ軸ヘッド回転誤差（Ｃ軸依存回転誤差）中心へのリンクベクトルとする。ここでは、Ｃ軸ヘッド回転誤差中心はＺ軸コラムとＣ軸ヘッドの接触部分の中心であると想定する。  
Ｖｃａ：Ｃ軸ヘッド回転誤差（Ｃ軸依存回転誤差）中心からＡ軸ヘッドを経由して工具先端点へのリンクベクトルとする。
ここでＶｃａを無視する（Ｖｃａ＝０としＶｘｙｚをベッドから工具先端点へのリンクベクトルとする）と３軸加工機での誤差補正となる。
【０１０８】
＜リンクベクトル演算＞
それぞれ、ここでは同次座標系で次のように演算する。ｘ，ｙ，ｚ，ａ，ｃは機械座標位置（機械座標系上の各軸位置）である。直線軸の機械座標位置ｘ，ｙ，ｚはＡ軸ヘッド回転中心中央（Ａ軸依存回転誤差中心）としている。したがって、各軸の移動とともに変化する。ｙ，ｚ，ａ，ｃを使用したベクトル要素が変数であることは第１の実施形態と同じである。定数となっているデータはあらかじめ定数用データテーブルに設定しておきそれを使用するが、各軸位置による変数とすることも可能である。ここでは値として０となっている要素についても、定数にしたり各軸位置による変数とすることも可能である。
【０１０９】
Ｖｘｙｚ＝（ｃｙｚ，ｙ−ｃｘｙ，ｚ−ｃｚｚ＋ｃｃａ，０）T
ｙ：Ｙ軸位置、ｚ:Ｚ軸位置。ｃｙｚなどの定数については、第１の実施形態と同じである。  
Ｖｃａ＝（Ｖａｘ，Ｖａｙ，Ｖａｚ−ｃｃａ，１）T 
Ｖａ（Ｖａｘ，Ｖａｙ，Ｖａｚ）がＡ軸依存回転誤差中心（Ａ軸ヘッド回転中心中央）から工具先端点へのベクトルでありＡ，Ｃ軸の回転によって数１式で表されること、ｃｃａが定数であることなどは第１の実施形態と同じである。
【０１１０】
各リンクベクトルと誤差との関係を図示すると図３２、図３３となる。図３２はリンクベクトルＶｘｙｚと誤差との関係を説明する図である。図３３はリンクベクトルＶｃａと誤差との関係を説明する図である。
【０１１１】
＜誤差と補正＞
ある機械座標位置Ｐ（ｘ，ｙ，ｚ，ｃ，ａ）における、Ｘ，Ｙ，Ｚ軸への補正量Δ３Ｄ（Δ３Ｄｘ，Δ３Ｄｙ，Δ３Ｄｚ，０）Tは、数２５式〜数２７式のように演算される。回転軸の演算部分（Ｍｃａ，Ｖｃａによる演算部分）を除けば、３軸加工機における演算となる。
【０１１２】
【数２５】
0005411617.tif 000029
【０１１３】
【数２６】
0005411617.tif 000030
【０１１４】
【数２７】
0005411617.tif 000031
【０１１５】
ここで、数２５式は機械構造のリンク軸順となる。つまり、Ｘ、Ｙ、Ｚ軸上でＣ、Ａ軸が動作するという軸並びの順である。また、Ｍｘｙｚ：Ｘ，Ｙ，Ｚ軸依存の誤差生成マトリックスであり、Ｍｃａ：Ｃ，Ａ軸依存の誤差生成マトリックスである。各誤差生成マトリックスＭｘｙｚ，Ｍｃａは数２８式、数２９式となる。
【０１１６】
【数２８】
0005411617.tif 000032
【０１１７】
【数２９】
0005411617.tif 000033
【０１１８】
数２６式で求められる合成リンクベクトルＶLは、図３４のベクトル図として表せる。
【０１１９】
それに対して、各リンクベクトルに各誤差生成マトリックスの積が演算されることにより、数２５式を図示すると図３５のようになる。ここで、Ｖｘｙｚ’，Ｖｃａ’は、それぞれＶｘｙｚ，Ｖｃａに誤差生成マトリックスＭｘｙｚ，Ｍｃａが乗算された誤差リンクベクトルを表す。つまり、Ｖｘｙｚ’，Ｖｃａ’は数３０式のように表される。
【０１２０】
【数３０】
0005411617.tif 000034
【０１２１】
合成リンクベクトルＶL，合成誤差リンクベクトルＶL’の関係と工具の関係は、第１の実施形態と同じである。したがって、各リンクベクトルに並進誤差または回転誤差があっても工具先端点は正しい位置に移動し、正しい加工が行われる。  
＜誤差量の設定＞  
軸依存並進誤差量および軸依存回転誤差量の設定について説明する。例として、Ｘ，Ｙ，Ｚ軸依存の誤差量で説明する。Ｘ，Ｙ，Ｚ軸位置が（ｘ０，ｙ０，ｚ０）のときの並進誤差量（ＥＸＸＹＺ（ｘ０，ｙ０，ｚ０），ＥＹＸＹＺ（ｘ０，ｙ０，ｚ０），ＥＺＸＹＺ（ｘ０，ｙ０，ｚ０））および回転誤差量（ＥＡＸＹＺ（ｘ０，ｙ０，ｚ０），ＥＢＸＹＺ（ｘ０，ｙ０，ｚ０），ＥＣＸＹＺ（ｘ０，ｙ０，ｚ０））を、（ｘ０，ｙ０，ｚ０）に対応した誤差量補正データテーブルに並進誤差量および回転誤差量として設定する。
【０１２２】
同様に、（ｘi，ｙj，ｚk）（ｉ，ｊ，ｋ＝０，１、２・・・）に対応した誤差量を並進誤差量および回転誤差量として設定する。ｘ０，ｘ１，ｘ２・・・，ｙ０，ｙ１，ｙ２・・・，ｚ０，ｚ１，ｚ２・・・の位置については最初のｘ０，ｙ０，ｚ０を固定値にしておき、それから等間隔でｘ１，ｘ２・・・，ｙ１，ｙ２・・・，ｚ１，ｚ２・・・が並んでいるとしてもよいし、ｘ０，ｘ１，ｘ２・・・，ｙ０，ｙ１，ｙ２・・・，ｚ０，ｚ１，ｚ２・・・の位置を別途パラメータに設定しておいてもよい。
【０１２３】
＜誤差量データテーブル＞
例えば、図３６には誤差量データテーブルが示されており、Ｘ，Ｙ，Ｚ軸位置が（ｘ１，ｙ０，ｚ１）において、並進誤差量（ＥＸＸＹＺ（ｘ１，ｙ０，ｚ１），ＥＹＸＹＺ（ｘ１，ｙ０，ｚ１），ＥＺＸＹＺ（ｘ１，ｙ０，ｚ１））および回転誤差量（ＥＡＸＹＺ（ｘ１，ｙ０，ｚ１），ＥＢＸＹＺ（ｘ１，ｙ０，ｚ１），ＥＣＸＹＺ（ｘ１，ｙ０，ｚ１））が設定されている。
【０１２４】
Ｘ，Ｙ，Ｚ軸位置が（ｘ，ｙ，ｚ）の時の並進誤差量（ＥＸＸＹＺ（ｘ，ｙ，ｚ），ＥＹＸＹＺ（ｘ，ｙ，ｚ），ＥＺＸＹＺ（ｘ，ｙ，ｚ））および回転誤差量（ＥＡＸＹＺ（ｘ，ｙ，ｚ），ＥＢＸＹＺ（ｘ，ｙ，ｚ），ＥＣＸＹＺ（ｘ，ｙ，ｚ））は、最寄のｘi，ｘi+1（ｘi≦ｘ≦ｘi+1），ｙj，ｙj+1（ｙj≦ｙ≦ｙj+1），ｚk，ｚk+1（ｚk≦ｚ≦ｚk+1）（ｉ，ｊ，ｋ＝０，１，２・・・）における並進誤差量および回転誤差量から、図３７に示されるように比例配分でそれぞれの誤差量を求める。図３７は、Ｘ，Ｙ，Ｚ軸位置が（ｘ，ｙ，ｚ）の時の並進誤差量および回転誤差量を誤差量データテーブルのデータから比例配分で求めることを説明する図である。
【０１２５】
さらに、Ｃ，Ａ軸依存の誤差量を説明する。Ｃ，Ａ軸位置が（ｃ０，ａ０）のときの並進誤差量（ＥＸＣＡ（ｃ０，ａ０），ＥＹＣＡ（ｃ０，ａ０），ＥＺＣＡ（ｃ０，ａ０））および回転誤差量（ＥＡＣＡ（ｃ０，ａ０），ＥＢＣＡ（ｃ０，ａ０），ＥＣＣＡ（ｃ０，ａ０））を、（ｃ０，ａ０）に対応した誤差量データテーブルに並進誤差量および回転誤差量として設定する。同様に、（ｃｍ，ａｎ）（ｍ，ｎ＝０，１，２・・・）に対応した誤差量を並進誤差量および回転誤差量として設定する。ｃ０，ｃ１，ｃ２，・・・，ａ０，ａ１，ａ２・・・位置については最初のｃ０，ａ０を固定値にしておき、それから等間隔でｃ１，ｃ２・・・，ａ１，ａ２・・・が並んでいるとしてもよいし、ｃ０，ｃ１，ｃ２・・・，ａ０，ａ１，ａ２・・・の位置を別途パラメータに設定しておいてもよい。
【０１２６】
例えば、図３８はＣ，Ａ軸依存の誤差量を説明する図であり、図３８では（ｃ１，ａ１）において、並進誤差量（ＥＸＣＡ（ｃ１，ａ１），ＥＹＣＡ（ｃ１，ａ１），ＥＺＣＡ（ｃ１，ａ１））および回転誤差量（ＥＡＣＡ（ｃ１，ａ１），ＥＢＣＡ（ｃ１，ａ１），ＥＣＣＡ（ｃ１，ａ１））を設定していることを示している。
【０１２７】
そして、Ｃ，Ａ軸位置が（ｃ，ａ）の時の並進誤差量（ＥＸＣＡ（ｃ，ａ），ＥＹＣＡ（ｃ，ａ），ＥＺＣＡ（ｃ，ａ））および回転誤差量（ＥＡＣＡ（ｃ，ａ），ＥＢＣＡ（ｃ，ａ），ＥＣＣＡ（ｃ，ａ））は、最寄のｃm，ｃm+1（ｃm≦ｃ≦ｃm+1），ａn，ａn+1（ａn≦ａ≦ａn+1），（ｍ，ｎ＝０，１，２・・・）における並進誤差量および回転誤差量から図３９に示されるように比例配分でそれぞれの誤差量を求める。図３９は、Ｃ，Ａ軸位置が（ｃ，ａ）の時の並進誤差量および回転誤差量を誤差量データテーブルに記憶された最寄の位置のデータから比例配分で求めることを説明する図である。
【０１２８】
また、これらの軸依存並進誤差量および該軸依存回転誤差量は、第１の実施形態と同様に、軸位置に依存して値が決定される関数（（ｘ，ｙ，ｚ）や（ｃ，ａ）に依存した関数）による値であってもよい。
【０１２９】
第１の実施形態および第３の実施形態はヘッド回転型の５軸加工機、第２の実施形態ではテーブル回転型の５軸加工機で説明したが、既に述べたように、回転軸２軸に対するデータや処理を除けばそのまま３軸加工機に適用できる。また、５軸加工機にはヘッドに回転軸が１軸ありテーブルに回転軸が１軸ある混合型と呼ばれる５軸加工機もある。本発明は、混合型の５軸加工機にも同様に適用できる。図４０は、テーブルに回転軸Ｃ軸がありヘッドに回転軸Ｂ軸がある混合型の５軸加工機の一例を示す図である。
【符号の説明】
【０１３０】
１  ベッド
２  Ｘ軸コラム
３  Ｙ軸コラム
４，５  Ｚ軸コラム
１０  数値制御装置
１１  指令解析手段
１２  補間手段
１３Ｘ  Ｘ軸加減速手段
１３Ｙ  Ｙ軸加減速手段
１３Ｚ  Ｚ軸加減速手段
１３Ａ（Ｂ）  Ａ（Ｂ）軸加減速手段
１３Ｃ  Ｃ軸加減速手段
１４  補正手段  
１５Ｘ  Ｘ軸サーボ
１５Ｙ  Ｙ軸サーボ
１５Ｚ  Ｚ軸サーボ
１５Ａ（Ｂ）  Ａ（Ｂ）軸サーボ
１５Ｃ  Ｃ軸サーボ
２０  補正手段
【図１】
0005411617.tif 000035
【図２】
0005411617.tif 000036
【図３】
0005411617.tif 000037
【図４】
0005411617.tif 000038
【図５】
0005411617.tif 000039
【図６】
0005411617.tif 000040
【図７】
0005411617.tif 000041
【図８】
0005411617.tif 000042
【図９】
0005411617.tif 000043
【図１０】
0005411617.tif 000044
【図１１】
0005411617.tif 000045
【図１２】
0005411617.tif 000046
【図１３】
0005411617.tif 000047
【図１４】
0005411617.tif 000048
【図１５】
0005411617.tif 000049
【図１６】
0005411617.tif 000050
【図１７】
0005411617.tif 000051
【図１８】
0005411617.tif 000052
【図１９】
0005411617.tif 000053
【図２０】
0005411617.tif 000054
【図２１】
0005411617.tif 000055
【図２２】
0005411617.tif 000056
【図２３】
0005411617.tif 000057
【図２４】
0005411617.tif 000058
【図２５】
0005411617.tif 000059
【図２６】
0005411617.tif 000060
【図２７】
0005411617.tif 000061
【図２８】
0005411617.tif 000062
【図２９】
0005411617.tif 000063
【図３０】
0005411617.tif 000064
【図３１】
0005411617.tif 000065
【図３２】
0005411617.tif 000066
【図３３】
0005411617.tif 000067
【図３４】
0005411617.tif 000068
【図３５】
0005411617.tif 000069
【図３６】
0005411617.tif 000070
【図３７】
0005411617.tif 000071
【図３８】
0005411617.tif 000072
【図３９】
0005411617.tif 000073
【図４０】
0005411617.tif 000074