(57)【特許請求の範囲】
【請求項１】
テーブルに取付られたワーク（加工物）に対して少なくとも直線軸３軸と回転軸３軸によって加工する多軸工作機械を制御する数値制御装置において、
ワーク設置時の設置誤差を補正するワーク設置誤差補正部を有し、
前記ワーク設置誤差補正部は、
前記直線軸３軸と前記回転軸３軸の指令位置に基づいてワーク設置時の座標系であるワーク設置座標系上の工具位置と工具方向を計算する工具位置方向計算部と、
前記ワーク設置座標系上の前記工具位置と前記工具方向が前記設置誤差を有するワーク上で保持されるように、前記設置誤差に対応してあらかじめ設定した設置誤差量によって前記ワーク設置座標系上の前記工具位置と前記工具方向に対して補正された工具の位置と方向である補正工具位置と補正工具方向の計算を行う補正工具位置方向計算部と、
前記補正工具位置と前記補正工具方向から前記直線軸３軸の補正直線軸位置を計算するとともに前記補正工具方向から前記回転軸３軸の複数解を計算し前記複数解を合成して前記回転軸３軸の補正回転軸位置を計算する補正直線軸回転軸位置計算部を有し、
前記補正直線軸位置と前記補正回転軸位置に基づいて各軸を駆動することを特徴とする数値制御装置。
【請求項２】
前記補正直線軸回転軸位置計算部の前記補正直線軸軸位置の計算は、前記補正工具位置に対して前記補正回転軸位置のうちテーブル回転軸位置による逆変換行列を乗算して求める請求項１に記載の数値制御装置。
【請求項３】
前記複数解は、第１回転軸は動作しないとした場合の第１回転軸固定解、第２回転軸は動作しないとした場合の第２回転軸固定解、第３回転軸は動作しないとした場合の第３回転軸固定解であることを特徴とする請求項１または２のいずれか１つに記載の数値制御装置。
【請求項４】
前記複数解は、第１回転軸は１周期前の補間周期で求めた第１回転軸の移動量分移動するとした場合の第１回転軸固定解、第２回転軸は１周期前の補間周期で求めた第２回転軸の移動量分移動するとした場合の第２回転軸固定解、第３回転軸は１周期前の補間周期で求めた第３回転軸の移動量分移動するとした場合の第３回転軸固定解であることを特徴とする請求項１または２のいずれか１つに記載の数値制御装置。
【請求項５】
前記補正直線軸回転軸位置計算部の前記補正回転軸位置の計算は、前記複数解に対して移動量が小さいことを大きくする評価する評価値を計算し、前記複数解による移動量に前記評価値を乗算して合成することを特徴とする請求項１乃至４のいずれか１つに記載の数値制御装置。
【請求項６】
前記補正直線軸回転軸位置計算部の前記補正回転軸位置の計算は、求めた前記回転軸３軸の回転軸位置から検証工具方向を求め前記補正工具方向との差が設定されたトレランス以内かどうかを検証し前記トレランス以内でなければ前記評価値について移動量が小さいことをより大きく評価する評価値を求めて前記補正回転軸位置の計算を繰り返すことを特徴とする請求項５に記載の数値制御装置。
【請求項７】
前記多軸工作機械は、前記回転軸３軸で工具ヘッドを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置。
【請求項８】
前記多軸工作機械は、前記回転軸３軸のうち回転軸２軸でテーブルを回転し他の回転軸１軸で工具ヘッドを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置。
【請求項９】
前記多軸工作機械は、前記回転軸３軸のうち回転軸２軸で工具ヘッドを回転し他の回転軸１軸でテーブルを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置。
【請求項１０】
前記多軸工作機械は、前記回転軸３軸でテーブルを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルに取り付けられたワーク（加工物）に対して少なくとも直線軸３軸および回転軸３軸でテーブルまたは工具ヘッドを回転する機構によって加工する多軸工作機械（多軸加工機）を制御する数値制御装置に関し、特にワークを設置した時の設置誤差を補正するワーク設置誤差補正部を備える数値制御装置に関する。
【背景技術】
【０００２】
直線軸３軸（Ｘ，Ｙ，Ｚ軸）に加えて回転軸２軸を持つ５軸加工機が普及してきている。５軸加工機においてワークを設置した時の設置誤差を補正するワーク設置誤差補正部を備える数値制御装置に関して、特許文献１〜３がある。  
特許文献１には、５軸加工機において機械座標系で補間した位置を中間座標系に変換しワーク設置時の誤差に対して誤差補正を行い機械座標系の位置に変換する技術が述べられている（請求項１など参照）。しかし、特許文献２に記載しているような回転軸の複数の解のどれを選択するかの記載がなく、数値制御装置に実装することができない。  
特許文献２には、５軸加工機において工具の指令座標系上の位置と方向を計算しワーク設置時の誤差に対して誤差補正を行った後の回転軸位置を計算する時に解が複数存在した場合に指令位置に近い解を選択する技術が述べられている（請求項１など参照）。  
しかし、特許文献３において特許文献２の問題点として説明しているように特許文献３の図８（ｃ）のような特異点近くでの回転軸の大きな動作が生じる場合がある。特異点近くでの回転軸の大きな動作が生じると、加工時間が長くなる、加工面に段差やスジが発生し加工面品位が低下するなどの不都合が生じる。特許文献３には、回転軸が特異点を越えて反対側に指令されている場合は回転軸の径路を特異点通過とする技術が述べられている（請求項１など参照）。しかし、径路を変更するため加工誤差が生じる。また、これらの従来技術は上記のように全て５軸加工機を対象としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５４６４号公報
【特許文献２】特開２００９−９３２６９号公報
【特許文献３】特開２０１１−１３３９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近、図１，図２に示されるような３軸の回転軸を持ったヘッド回転型多軸加工機用の工具ヘッドが用いられるようになっている。また、テーブル回転２軸とヘッド回転１軸を有する混合型多軸加工機（図３参照）やテーブル回転１軸とヘッド回転２軸を有する混合型多軸加工機（図４参照）も用いられるようになっている。さらに、テーブル回転３軸を有するテーブル回転型多軸加工機（図５参照）も機械構成としては考えられる。上述したように従来技術は直線軸３軸（Ｘ，Ｙ，Ｚ軸）に加えて回転軸２軸を持つ５軸加工機に対する技術であり、これらの回転軸３軸を持つ多軸構成の工作機械（多軸加工機）に対して、数値制御装置においてワークを設置した時の設置誤差を補正する技術思想はなかった。
【０００５】
また、上記特許文献２のように複数存在する解を選択する場合、複数の解は高々２組である（特許文献２の段落「００２１」〜段落「００４５」を参照）。ところが、後述するように回転軸３軸を持つ多軸加工機において回転軸位置を計算する時の解は無数に存在する。そのため、上記記載の５軸加工機に対する技術を単に回転軸３軸を持つ多軸加工機に適用することはできない。  
さらに、５軸加工機においては特異点近くにおいて、上記のような回転軸の大きな動作や加工誤差が生じる場合があるという問題点がある。
【０００６】
そこで、本発明の課題は、テーブルに取り付けられたワーク（加工物）に対して少なくとも直線軸３軸および回転軸３軸でテーブルまたは工具ヘッドを回転する機構によって加工する多軸工作機械においてワークを設置した時の設置誤差を補正するワーク設置誤差補正部を備える数値制御装置を提供することである。また、少なくとも直線軸３軸および回転軸３軸を持つ多軸工作機械においてワーク設置時の設置誤差を補正する時、５軸加工機において発生していた特異点近くの大きな動作を発生しないようにする。これらのことにより、より短時間でより高品位かつより高精度の加工を行うことを可能にする。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、テーブルに取付られたワーク（加工物）に対して少なくとも直線軸３軸と回転軸３軸によって加工する多軸工作機械を制御する数値制御装置において、ワーク設置時の設置誤差を補正するワーク設置誤差補正部を有し、前記ワーク設置誤差補正部は、前記直線軸３軸と前記回転軸３軸の指令位置に基づいてワーク設置時の座標系であるワーク設置座標系上の工具位置と工具方向を計算する工具位置方向計算部と、前記ワーク設置座標系上の前記工具位置と前記工具方向が前記設置誤差を有するワーク上で保持されるように、前記設置誤差に対応してあらかじめ設定した設置誤差量によって前記ワーク設置座標系上の前記工具位置と前記工具方向に対して補正された工具の位置と方向である補正工具位置と補正工具方向の計算を行う補正工具位置方向計算部と、前記補正工具位置と前記補正工具方向から前記直線軸３軸の補正直線軸位置を計算するとともに前記補正工具方向から前記回転軸３軸の複数解を計算し前記複数解を合成して前記回転軸３軸の補正回転軸位置を計算する補正直線軸回転軸位置計算部を有し、前記補正直線軸位置と前記補正回転軸位置に基づいて各軸を駆動することを特徴とする数値制御装置である。
請求項２に係る発明は、前記補正直線軸回転軸位置計算部の前記補正直線軸軸位置の計算は、前記補正工具位置に対して前記補正回転軸位置のうちテーブル回転軸位置による逆変換行列を乗算して求める請求項１に記載の数値制御装置である。  
請求項３に係る発明は、前記複数解は、第１回転軸は動作しないとした場合の第１回転軸固定解、第２回転軸は動作しないとした場合の第２回転軸固定解、第３回転軸は動作しないとした場合の第３回転軸固定解であることを特徴とする請求項１または２のいずれか１つに記載の数値制御装置である。  
請求項４に係る発明は、前記複数解は、第１回転軸は１周期前の補間周期で求めた第１回転軸の移動量分移動するとした場合の第１回転軸固定解、第２回転軸は１周期前の補間周期で求めた第２回転軸の移動量分移動するとした場合の第２回転軸固定解、第３回転軸は１周期前の補間周期で求めた第３回転軸の移動量分移動するとした場合の第３回転軸固定解であることを特徴とする請求項１または２のいずれか１つに記載の数値制御装置である。
【０００８】
請求項５に係る発明は、前記補正直線軸回転軸位置計算部の前記補正回転軸位置の計算は、前記複数解に対して移動量が小さいことを大きくする評価する評価値を計算し、前記複数解による移動量に前記評価値を乗算して合成することを特徴とする請求項１乃至４のいずれか１つに記載の数値制御装置である。  
請求項６に係る発明は、前記補正直線軸回転軸位置計算部の前記補正回転軸位置の計算は、求めた前記回転軸３軸の回転軸位置から検証工具方向を求め前記補正工具方向との差が設定されたトレランス以内かどうかを検証し前記トレランス以内でなければ前記評価値について移動量が小さいことをより大きく評価する評価値を求めて前記補正回転軸位置の計算を繰り返すことを特徴とする請求項５に記載の数値制御装置である。  
請求項７に係る発明は、前記多軸工作機械は、前記回転軸３軸で工具ヘッドを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置である。  
請求項８に係る発明は、前記多軸工作機械は、前記回転軸３軸のうち回転軸２軸でテーブルを回転し他の回転軸１軸で工具ヘッドを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置である。  
請求項９に係る発明は、前記多軸工作機械は、前記回転軸３軸のうち回転軸２軸で工具ヘッドを回転し他の回転軸１軸でテーブルを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置である。  
請求項１０に係る発明は、前記多軸工作機械は、前記回転軸３軸でテーブルを回転する多軸工作機械であることを特徴とする請求項１乃至６のいずれか１つに記載の数値制御装置である。
【発明の効果】
【０００９】
本発明により、少なくとも直線軸３軸および回転軸３軸を有する多軸工作機械においてワーク設置時の設置誤差があっても指令通りの正しい加工、高精度の加工を行うことができる。  
更に本発明では、回転軸３軸を持つ多軸工作機械においてワーク設置時の設置誤差を補正するため回転軸１軸分の冗長性を利用し上記の無数の解のうちから特異点近くの大きな動作が発生しない適切な解を選択することが可能となる。そのことにより、特異点近くでの回転軸の大きな動作を発生させないことによってより短時間でより高品位の、加工誤差がないことによってより高精度の加工を行うことができる。  
このように本発明によって、少なくとも直線軸３軸および回転軸３軸を持つ多軸工作機械において、特異点近くでの回転軸の大きな動作を発生させることなくまた加工誤差なくワーク設置時の設置誤差に対する補正を行った加工を行うことが可能なワーク設置誤差補正部を備える数値制御装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】３軸の回転軸を持ったヘッド回転型多軸加工機用の工具ヘッドをＢ軸方向から見たときの概略構成図である。
【図２】３軸の回転軸を持ったヘッド回転型多軸加工機用の工具ヘッドをＡ軸方向から見たときの概略構成図である。
【図３】テーブル回転２軸とヘッド回転１軸を有する混合型多軸加工機の機械構成を説明する概略構成図である。
【図４】テーブル回転軸１軸とヘッド回転２軸を有する混合型多軸加工機の機械構成を説明する概略構成図である。
【図５】テーブル回転３軸を有するテーブル回転型多軸加工機の機械構成を説明する概略構成図である。
【図６】テーブル回転１軸とヘッド回転２軸を有する混合型多軸加工機におけるワーク設置誤差補正を説明する図である。
【図７】図６のワークと工具ヘッド部分のみ図示したものである。
【図８】Ａ，Ｂ，Ｃ軸の固定する位置を１周期前の補間周期で求められたＡ，Ｂ，Ｃ軸位置（ａ０，ｂ０，ｃ０）として計算した場合の各回転軸固定解をＡ，Ｂ，Ｃ軸を座標として図示して説明する図である。
【図９】本発明のワーク設置誤差補正部を有する多軸工作機械用数値制御装置を説明するブロック図である。
【図１０】本発明の実施形態１における補正直線軸回転軸位置計算部が行う処理のアルゴリズムのフローチャートを示す。
【図１１】本発明を適用したワーク設置誤差補正部を有する多軸工作機械用数値制御装置のハードウェアの構成を説明する図である。
【発明を実施するための形態】
【００１１】
本発明は、テーブルに取付られたワーク（加工物）に対して少なくとも直線軸３軸と回転軸３軸によって加工する多軸工作機械を制御するとともに、ワーク設置時の誤差を補正する前記直線軸３軸の補正直線軸位置と前記回転軸３軸の補正回転軸位置を計算しそれらの位置に駆動する数値制御装置に関する。
【００１２】
以下、本発明の実施形態を図面と共に説明する。  
［実施形態１］
図６はテーブル回転１軸とヘッド回転２軸を有する混合型多軸加工機におけるワーク設置誤差補正を説明する図である。この工作機械においては、直線軸Ｘ、Ｙ、Ｚ軸の動作とともに工具ヘッドがＹ軸回りのＢ軸とＸ軸回りのＡ軸によって回転し、さらに回転テーブルがＺ軸周りのＣ軸で回転するようになっている。  
ワークを設置した時のずれやテーブルの傾斜などによって本来の基準ワーク位置に対して実ワーク位置がずれている。そのずれ量はあらかじめ測定され、ワーク設置座標系に対するＸ，Ｙ，Ｚ軸方向の並進誤差量（δｘ，δｙ，δｚ）、Ｘ軸回りの回転誤差量（α）、Ｙ軸回りの回転誤差量（β）、Ｚ軸回りの回転誤差量（γ）として設定されている。これらの並進誤差量（δｘ，δｙ，δｚ）、回転誤差量（α，β，γ）が設置誤差量である。そして、ワーク設置座標系上の基準ワーク位置と誤差座標系上の実ワーク位置が同じとなるように、この設置誤差量にしたがってワーク設置座標系に対する誤差座標系が作成されている（図７を参照）。図７は図６のワークと工具ヘッド部分のみ図示したものである。
【００１３】
直線軸３軸と回転軸３軸の指令位置（Ｘｃ，Ｙｃ，Ｚｃ，Ａｃ，Ｂｃ，Ｃｃ）は機械座標系で指令される。直線軸３軸の指令位置（Ｘｃ，Ｙｃ，Ｚｃ）は、工具先端点の位置としてもよいし、工具先端点から工具ヘッド側に工具長補正分離れた位置である工具基準点としてもよい。図６ではＡ軸とＢ軸の回転中心の交点を工具基準点として図示している。ここでは、直線軸３軸の指令位置は工具先端点位置とする。ワーク設置座標系はプログラム座標系でもあり、原点はＣ軸回転中心にあるとする。プログラム指令はプログラム座標系で指令され、補間周期毎に補間された機械座標系上の補間位置が直線軸３軸と回転軸３軸の指令位置（Ｘｃ，Ｙｃ，Ｚｃ，Ａｃ，Ｂｃ，Ｃｃ）とする。他にもプログラム指令においてプログラム座標系上で指令された位置を指令位置とすることもできる。誤差座標系上において指令位置に基づく工具位置と工具方向を保つように、換言すれば、誤差座標系上の工具位置と工具方向がワーク設置座標系上の指令位置による工具位置と工具方向と同じになるように、あらかじめ設定されたＸ，Ｙ，Ｚ軸方向の並進誤差量（δｘ，δｙ，δｚ）、Ｘ軸回りの回転誤差量（α）、Ｙ軸回りの回転誤差量（β）、Ｚ軸回りの回転誤差量（γ）によって直線軸３軸と回転軸３軸に対するワーク設置誤差補正を次のように行う。なお、上述の誤差座標系上の工具位置と工具方向は、ワーク設置座標系で見ると後述の補正工具位置と補正工具方向であり、図７でも補正工具位置と補正工具方向として図示している。
【００１４】
図６は、Ａ＝０，Ｂ＝０，Ｃ＝０の位置を示している。Ａ＝０，Ｂ＝０，Ｃ＝０の時の工具方向をＺ軸方向、つまりベクトル（０，０，１）Tとする。まず、指令位置に基づいてワーク設置座標系上の工具位置と工具方向を計算する。なお、ここで「T」は転置を示すが、以降自明の場合省略する。また、ｓｉｎ（Ａｃ）などの三角関数の表記において自明の場合ｓｉｎＡｃのように（  ）を省略する。  
Ａ＝Ａｃ，Ｂ＝Ｂｃ，Ｃ＝Ｃｃの時のワーク設置座標系上の工具方向（ｉｗ，ｊｗ，ｋｗ）は数１式のように、工具位置（ｘｗ，ｙｗ，ｚｗ）は数２式のように計算される。数２式の（ｘ０，ｙ０，ｚ０）は、機械座標系でのワーク設置座標系原点の位置である。ここで、数１式におけるベクトル（０，０，１）に対する行列計算は工具からワークへの回転軸順で行う。また、数２式における行列計算はテーブル回転軸（ここではＣ軸）の回転量分順変換する行列計算である。後述するように、図３、図５のように他にもテーブル回転軸があれば同様に順変換の行列計算を追加する。したがって、これらの数１式、数２式の計算は機械構成による。これらが、工具位置方向計算部の計算である。
【００１５】
【数１】
0005221724.tif 000002
【００１６】
【数２】
0005221724.tif 000003
【００１７】
次に、ワーク設置座標系上の工具位置（ｘｗ，ｙｗ，ｚｗ）と工具方向（ｉｗ，ｊｗ，ｋｗ）に対して誤差補正を次のように行う。  
補正工具位置（ｘａ，ｙａ，ｚａ）は、工具位置（ｘｗ，ｙｗ，ｚｗ）から回転誤差（α、β、γ）および並進誤差（δｘ，δｙ，δｚ）によって数３式に基づいて計算する。回転誤差を補正する順は（α）、（β）、（γ）の順とする。
【００１８】
【数３】
0005221724.tif 000004
【００１９】
ここでは、直線軸３軸の指令位置（Ｘｃ，Ｙｃ，Ｚｃ）は工具先端点の位置としたが、工具基準点の位置とする場合は、（ｘｗ，ｙｗ，ｚｗ）の代わりに（ｘｗ，ｙｗ，ｚｗ）から工具長補正ベクトル分減算したベクトルに対して数３式の行列計算を行った後工具長補正ベクトル分を加算すればよい。この時、後述実施形態のように工具ヘッド回転軸がある場合は、加算する工具長補正ベクトルは次で述べる補正工具方向によって補正された工具長補正ベクトルである。  
補正工具方向（ｉａ，ｊａ，ｋａ）は、工具方向（ｉｗ，ｊｗ，ｋｗ）からＸ軸回りの回転誤差量（α）、Ｙ軸回りの回転誤差量（β）、Ｚ軸回りの回転誤差量（γ）によって数４式に基づいて計算する。これらが、補正工具位置方向計算部の計算である。
【００２０】
【数４】
0005221724.tif 000005
【００２１】
次に、（ｉａ，ｊａ，ｋａ）に対する回転軸位置を求める。（ｉａ，ｊａ，ｋａ）に対する回転軸Ａ，Ｂ，Ｃ軸の位置（ａ，ｂ，ｃ）について、数１式と同様に数５式の関係式が成り立つ。
【００２２】
【数５】
0005221724.tif 000006
【００２３】
しかし数５式を満たす（ａ，ｂ，ｃ）の解は無数に存在し、解析的に一意に求めることは出来ない。そこで、Ａ軸位置を固定させた場合のＡ軸固定解（第１回転軸固定解）、Ｂ軸位置を固定させた場合のＢ軸固定解（第２回転軸固定解）、Ｃ軸位置を固定させた場合のＣ軸固定解（第３回転軸固定解）を求める。各軸の固定のさせ方としては、１周期前の補間周期で求められた各軸位置を採用する、あるいは１周期前の補間周期での各軸移動量が今回の補間周期でも同じであるとした場合の各軸位置を採用する方法などがある。
【００２４】
＜Ａ軸固定解（第１回転軸固定解）＞  
ａは１周期前の補間周期で求められたワーク設置誤差補正後のＡ軸位置とする、あるいは１周期前の補間周期でのワーク設置誤差補正後のＡ軸移動量が今回の補間周期でも同じであるとすることにより固定し、それをａ１とする。つまり、１周期前の補間周期で求められたワーク設置誤差補正後のＡ軸位置をａ０，１周期前の補間周期でのワーク設置誤差補正後のＡ軸移動量をΔａ０とすると、ａ１＝ａ０とする、あるいはａ１＝ａ０＋Δａ０とすることによりａを固定する。ここでは１周期前の位置ａ０、移動量（速度）Δａ０を使用したが、他にも加速度（速度の差分）、加加速度（加速度の差分）などを使用してもよい。  
第１回転軸固定解のｂ，ｃをｂ１，ｃ１とすると、数５式を解くことによってａ１，ｉａ，ｊａ，ｋａから数６式のように計算できる。ｎは整数である。
【００２５】
【数６】
0005221724.tif 000007
【００２６】
ここで、ｃｏｓ-1、ｓｉｎ-1およびｔａｎ-1の関数値は０〜２π間で複数あるがそれらのうちのどの値を選択するかという解選択、および整数ｎの決定については、ｂ１，ｃ１が１周期前の補間周期におけるワーク設置誤差補正後のＢ，Ｃ軸位置に近い解となるように決定する。または、１周期前の補間周期におけるＡ軸固定解のＢ，Ｃ軸位置に近い解となるように決定することもできる。また、ｂ１計算におけるｃｏｓ-1の（  ）中の分母、分子が０の場合は不定となり、またｃｏｓ-1の（  ）中の絶対値が１より大である場合は解なしとなる。その場合、ｂ１は１周期前の補間周期でのワーク設置誤差補正後のＢ軸位置とする、あるいは後述する第１回転軸固定解の評価値を０とする。ｃ１計算についても同様である。  
このような、軸位置を固定する方法、解選択や整数値の決定、および不定、解なしに対する処理は第２回転軸固定解、第３回転軸固定解の計算においても同様である。
【００２７】
＜Ｂ軸固定解（第２回転軸固定解）＞
ｂは１周期前の補間周期で求められたＢ軸位置とする、あるいは１周期前の補間周期でのＢ軸移動量が今回の補間周期でも同じであるとすることなどにより固定し、それをｂ２とする。第２回転軸固定解のａ，ｃをａ２，ｃ２とすると、数５式を解くことによってｂ２，ｉａ，ｊａ，ｋａから次の数７式のように計算できる。ｍは整数である。
【００２８】
【数７】
0005221724.tif 000008
【００２９】
＜Ｃ軸固定解（第３回転軸固定解）＞  
ｃは１周期前の補間周期で求められたＣ軸位置とする、あるいは１周期前の補間周期でのＣ軸移動量が今回の補間周期でも同じであるとすることなどにより固定し、それをｃ３とする。第３回転軸固定解のａ，ｂをａ３，ｂ３とすると、数５式を解くことによってｃ３，ｉａ，ｊａ，ｋａから次の数８式のように計算できる。
【００３０】
【数８】
0005221724.tif 000009
【００３１】
Ａ，Ｂ，Ｃ軸の固定する位置を１周期前の補間周期で求められたＡ，Ｂ，Ｃ軸位置（ａ０，ｂ０，ｃ０）として計算した場合の各回転軸固定解をＡ，Ｂ，Ｃ軸を座標として図示すると図８のようになる。
【００３２】
次に第１回転軸固定解、第２回転軸固定解、第３回転軸固定解に対するそれぞれの仮評価値Ｖ１’，Ｖ２’，Ｖ３’を求める。ここで第１回転軸固定解、第２回転軸固定解、第３回転軸固定解が複数解である。仮評価値は複数解の各解による各軸（Ａ，Ｂ，Ｃ軸）合成移動量が小さいことを大きく評価する値とする。例えば、数９式の計算値を仮評価値とする。ここで、ａ０，ｂ０，ｃ０は１周期前の補間周期におけるＡ，Ｂ，Ｃ軸位置であり、数９式の各式の分母が各解による各軸合成移動量である。ｗは移動量が小さいことをどの程度大きく評価するかを示すべき乗値である。このように、複数解の各解による各軸（Ａ，Ｂ，Ｃ軸）合成移動量が小さいことを大きく評価し、後述のように各解移動量に評価値を乗算して合成することによって、ワーク設置誤差補正によって生じる回転軸の移動量を小さくすることができる。そのことにより、特異点近くでの回転軸の大きな動作を回避することができる。
【００３３】
【数９】
0005221724.tif 000010
【００３４】
これらの仮評価値は１例であり、各解による各軸（Ａ，Ｂ，Ｃ軸）合成移動量が小さいことを大きく評価する値であれば他の計算式もありえる。例えば、Ｖ１’の計算において次のように定数ＢＶ１を加えてもよいし、分母を各移動量の絶対値にしてもよいし、分子を一定値ＮＶ１にしてもよい。Ｖ２’，Ｖ３’についても同様である。
【００３５】
【数１０】
0005221724.tif 000011
【００３６】
Ｖ１’，Ｖ２’，Ｖ３’を正規化したものを評価値Ｖ１，Ｖ２，Ｖ３とする。あるいは、複数解の各解による各軸（Ａ，Ｂ，Ｃ軸）合成移動量の最も小さい解の評価値を１、他の解の評価値を０としてもよい。このように複数解のうち１つを選択する方法も含めてここでは次のように「合成する」と言う。そして、数１１式のように評価値を第１回転軸固定解、第２回転軸固定解、第３回転軸固定解による移動量に乗算し合成する。
【００３７】
【数１１】
0005221724.tif 000012
【００３８】
これによって、今回の補間周期におけるＡ，Ｂ，Ｃ軸の移動すべき回転軸位置（ａ，ｂ，ｃ）が求まる。ただし、第１回転軸固定解、第２回転軸固定解、第３回転軸固定解は数５式に対する解であるが、数１１式で求めたａ，ｂ，ｃは厳密には数５式の解ではない。そのため、ａ，ｂ，ｃを数５式右辺に代入して検証工具方向（ｉｖ，ｊｖ，ｋｖ）を求めて検証する。つまり、数１１式で求めたａ，ｂ，ｃを数５式右辺に代入して求めた数５式左辺を（ｉｖ，ｊｖ，ｋｖ）とすると、数１２式のようにＤを求め、あらかじめ設定されているトレランスＤ０と比較しトレランスＤ０よりも小さければａ，ｂ，ｃを今回の補間周期におけるＡ，Ｂ，Ｃ軸の移動すべき位置とする。トレランスＤ０よりも大きければ、ｗを大きくして再度数９式または数１０式で再度評価値を求め、数１１式、数１２式の計算を行いＤがトレランスＤ０より小さくなるまで繰り返す。ここで、ｗを大きくするには、ｗ＝ｗ＋ｄｗと一定値ｄｗを加算する、ｗ＝ｋｗ＊ｗと１より大の係数ｋｗを乗算するなどの方法がある。
【００３９】
【数１２】
0005221724.tif 000013
【００４０】
最後に求めた（ａ，ｂ，ｃ）が補正回転軸位置である。  
次に補正直線軸位置（ｘ，ｙ，ｚ）を補正工具位置（ｘａ，ｙａ，ｚａ）から数１３式のように計算する。ここで、ｃによる行列計算は補正回転軸位置として求めた（ａ，ｂ，ｃ）のうちテーブル回転軸（ここではＣ軸）位置による逆変換行列の乗算である。後述するように、図３、図５のように他にもテーブル回転軸があれば同様にそれらの逆変換行列の乗算も追加する。
【００４１】
【数１３】
0005221724.tif 000014
【００４２】
したがって、数５式〜数１３式の計算が補正直線軸回転軸位置計算部の計算である。
【００４３】
［実施形態２］
図１、図２の工具ヘッド回転型多軸加工機（工具ヘッド回転３軸）を想定する。工具からワークへの回転軸順はＡ，Ｂ，Ｃ軸なので数１式の代わりに数１４式（数５式の代わりも同様）、テーブル回転軸はないので数２式の代わりに数１５式および数１３式の代わりに数１６式を使用する。
【００４４】
【数１４】
0005221724.tif 000015
【００４５】
【数１５】
0005221724.tif 000016
【００４６】
【数１６】
0005221724.tif 000017
【００４７】
後は実施形態１と同様の計算なので省略する。  
【００４８】
［実施形態３］
図３の混合型多軸加工機（テーブル回転２軸＋ヘッド回転１軸）を想定する。工具からワークへの回転軸順はＢ，Ａ，Ｃ軸なので数１式については実施形態１と同様（数５式も同様）であり、テーブル回転軸はＡ，Ｃ軸なので数２式の代わりに数１７式および数１３式の代わりに数１８式を使用する。
【００４９】
【数１７】
0005221724.tif 000018
【００５０】
【数１８】
0005221724.tif 000019
【００５１】
後は実施形態１と同様の計算なので省略する。
【００５２】
［実施形態４］
図５のテーブル回転型多軸加工機（テーブル回転３軸）を想定する。工具からワークへの回転軸順はＡ，Ｂ，Ｃ軸なので実施形態２と同様数１式の代わりに数１４式（数５式の代わりも同様）、テーブル回転軸はＡ，Ｂ，Ｃ軸なので数２式の代わりに数１９式および数１３式の代わりに数２０式を使用する。
【００５３】
【数１９】
0005221724.tif 000020
【００５４】
【数２０】
0005221724.tif 000021
【００５５】
後は実施形態１と同様の計算なので省略する。
【００５６】
図９は本発明のワーク設置誤差補正部を有する多軸工作機械用数値制御装置を説明するブロック図である。  
数値制御装置１０は一般に、指令解析部１１でプログラム指令を解析し、解析結果に基づいて補間部１２で補間を行い各軸の補間位置を作成し各軸のサーボを駆動する。本発明においては、ワーク設置誤差補正部１３が各軸の補間位置を指令位置として、設置誤差量およびトレランス量記憶部１４に格納された設置誤差量（並進誤差量（δx,δy,δz）、回転誤差量（α,β,γ））によってワーク設置誤差補正の計算を行い直線軸３軸の補正直線軸位置と回転軸３軸の補正回転軸位置を求め、求められた補正直線軸位置と回転軸３軸の補正回転軸位置に基づいて各軸を駆動する。ワーク設置誤差補正部１３は、ワーク設置座標系上の工具位置と工具方向を計算する工具位置方向計算部、その工具位置と工具方向に対して設置誤差量に基づいて補正工具位置と補正工具方向を計算する補正工具位置方向計算部、およびその補正工具位置と補正工具方向に対する直線軸３軸の補正直線軸位置と回転軸３軸の補正回転軸位置を計算する補正直線軸回転軸位置計算部を有する。補正直線軸回転軸位置計算部は設置誤差量およびトレランス量記憶部１４に格納されたトレランスＤ０を参照する。
【００５７】
図１０は本発明の実施形態１における補正直線軸回転軸位置計算部が行う処理のアルゴリズムのフローチャートを示す。  
●［ステップＳＡ０１］補正工具位置方向計算部での補正工具方向（ｉａ，ｊａ，ｋａ）、補正工具位置（ｘａ，ｙａ，ｚａ）を得る。  
●［ステップＳＡ０２］数６式で第１回転軸固定解を、数７式で第２回転軸固定解を、数８式で第３回転軸固定解を計算する。  
●［ステップＳＡ０３］１周期前の補間周期での回転軸補間位置（ａ０，ｂ０，ｃ０）を得る。  
●［ステップＳＡ０４］数９式で、第１回転軸固定解、第２回転軸固定解、第３回転軸固定解に対する仮評価値Ｖ１’，Ｖ２’，Ｖ３’を計算する。  
●［ステップＳＡ０５］仮評価値Ｖ１’，Ｖ２’，Ｖ３’を正規化し各評価値Ｖ１，Ｖ２，Ｖ３を得る。  
●［ステップＳＡ０６］数１１式でＡ，Ｂ，Ｃ軸の移動すべき補正回転軸位置（ａ，ｂ，ｃ）を計算する。  
●［ステップＳＡ０７］補正回転軸位置（ａ，ｂ，ｃ）を数５式右辺に代入して検証工具方向（ｉｖ，ｊｖ，ｋｖ）を求める。  
●［ステップＳＡ０８］数１２式でＤを計算する。  
●［ステップＳＡ０９］ＤはＤ０より小さいか否か判断し、小さい場合（つまりＹＥＳの場合）にはステップＳＡ１１へ移行し、小さくない場合（つまりＮＯの場合）にはステップＳＡ１０へ移行する。  
●［ステップＳＡ１０］べき乗値ｗに一定値ｄｗを加算したものを新たなべき乗値ｗとし、ステップＳＡ０４に戻り、処理を継続する。  
●［ステップＳＡ１１］数１３式で補正直線軸位置（ｘ，ｙ，ｚ）を計算し、処理を終了する。
【００５８】
図１１は本発明を適用したワーク設置誤差補正部を有する多軸工作機械用数値制御装置のハードウェアの構成を説明する図である。プロセッサであるＣＰＵ２１はＲＯＭ２２に格納されたシステムプログラムに従って数値制御装置１０の全体を制御する。図９の指令解析部１１および補間部１２は、ＣＰＵ２１がＲＯＭ２２のシステムプログラムによって実行するソフトウェアによる機能である。同様に請求項１に記載のワーク設置誤差補正部
もソフトウェアによる機能である。ＲＡＭ２３には入出力信号などの一時的なデータが格納される。不揮発性メモリ２４には電源断も保持すべきパラメータ、加工プログラム等が格納される。
【００５９】
表示装置／ＭＤＩパネル２５には、グラフィック制御回路３０、表示装置３１、システムプログラム等によって機能が変化するソフトウェアキー３２、キーボード３３が設けられている。グラフィック制御回路３０はガイダンス情報や入力された指定形状等を表示可能な信号に変換し、表示装置３１に与える。表示装置３１には液晶表示装置が使用される。  
軸制御回路２６はＣＰＵ（プロセッサ）２１から補間パルスＣＰを含む軸の移動指令を受けて、軸の移動指令をサーボアンプ２７に出力制御する。サーボアンプ２７はこの移動指令を受けて、工作機械４０に備わった図示しないサーボモータを駆動する。これらの構成要素はバス２９を介してお互いに接続されている。ＰＭＣ（プログラマブル・マシン・コントローラ）２８は加工プログラムの実行時に、バス２９を経由してＴ機能信号（工具選択指令）等を受け取る。そして、この信号をシーケンス・プログラムで処理して、動作指令として信号を出力し、工作機械４０を制御する。
【符号の説明】
【００６０】
１０  数値制御装置
１１  指令解析部
１２  補間部
１３  ワーク設置誤差補正部
１４  設置誤差量およびトレランス量記憶部
１５Ｘ  Ｘ軸サーボ
１５Ｙ  Ｙ軸サーボ
１５Ｚ  Ｚ軸サーボ
１５Ａ  Ａ軸サーボ
１５Ｂ  Ｂ軸サーボ
１５Ｃ  Ｃ軸サーボ
【図１】
0005221724.tif 000022
【図２】
0005221724.tif 000023
【図３】
0005221724.tif 000024
【図４】
0005221724.tif 000025
【図５】
0005221724.tif 000026
【図６】
0005221724.tif 000027
【図７】
0005221724.tif 000028
【図８】
0005221724.tif 000029
【図９】
0005221724.tif 000030
【図１０】
0005221724.tif 000031
【図１１】
0005221724.tif 000032