(57)【特許請求の範囲】
【請求項１】
ワーク又はそのワークを加工する工具を対象物としてその対象物を移動させる複数の移動装置を備える工作機械であって、前記各移動装置は、前記対象物を支持する支持体と、その支持体を特定の機械軸方向に動かすことにより前記対象物を移動させる駆動装置とをそれぞれ有し、前記複数の移動装置には、前記対象物を移動させる移動軸が互いに平行な移動装置として第１移動装置と第２移動装置が含まれ、前記第１移動装置は、前記支持体としての第１支持体と、その第１支持体を第１機械軸方向に動かす前記駆動装置としての第１駆動装置とを有し、前記第２移動装置は、前記支持体としての第２支持体と、その第２支持体を前記第１機械軸方向と平行な第２機械軸方向に動かす前記駆動装置としての第２駆動装置とを有する工作機械に設けられ、前記各移動装置の数値制御を行う数値制御装置であって、
前記対象物を特定の位置に配置する場合に前記各移動装置の前記駆動装置が示す前記機械軸の理論的な座標である理論的機械軸座標と前記対象物を前記特定の位置に実際に配置した場合に前記各移動装置の前記駆動装置が示す前記機械軸の座標である実測機械軸座標との差からなる誤差データを算出する誤差演算部と、
前記誤差演算部によって算出された誤差データを格納する誤差データ格納部と、
前記各移動装置の前記駆動装置に前記支持体の移動を指示するための数値制御プログラムを記憶するプログラム記憶部と、
前記プログラム記憶部に記憶された前記数値制御プログラムからその数値制御プログラムが指示する前記対象物の移動位置である指令位置を読み取る指令位置読取り部と、
前記指令位置読取り部によって読み取られた前記指令位置から前記各移動装置に駆動を指示するための前記機械軸毎の座標を算出する機械軸座標算出部と、
前記機械軸座標算出部によって算出された前記機械軸毎の座標を前記誤差データ格納部に格納された対応する機械軸毎の前記誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出する補正演算部と、
前記補正演算部により算出された前記機械軸毎の前記補正座標に従って前記各移動装置の前記駆動装置に前記支持体を駆動させる駆動制御部とを備え、
前記誤差演算部は、前記第１駆動装置が前記第１支持体を前記第１機械軸方向において基準位置から所定の向きに特定距離だけ動かすことにより前記対象物を前記特定の位置に配置する場合の前記誤差データを算出するとともに、前記第２駆動装置が前記第２支持体を前記第２機械軸方向において前記基準位置と同じ位置から前記所定の向きと同じ向きに前記特定距離と同じ距離だけ動かすことにより前記対象物を前記特定の位置に配置する場合の前記誤差データを算出する、数値制御装置。
【請求項２】
前記誤差演算部は、前記対象物が前記特定の位置に位置決めされた時の前記実測機械軸座標からその特定の位置における前記理論的機械軸座標を減じることにより前記誤差データを算出する、請求項１に記載の数値制御装置。
【請求項３】
請求項１又は２に記載の数値制御装置と、
水平面内の特定方向にワークを移動させるワーク移動装置と、
水平方向でかつ前記ワークの移動方向と直交する方向において前記ワーク移動装置から離間した位置に立設され、鉛直方向に延びるコラムと、
ワークを加工するための工具と、
前記工具をその軸回りに回転させる主軸ヘッドと、
前記コラムに設けられ、前記主軸ヘッドを移動させるための鉛直移動装置、第１水平移動装置及び第２水平移動装置とを備え、
前記ワーク移動装置は、ベースと、水平面内で特定方向に延びるワーク機械軸方向に移動可能に前記ベース上に設けられ、ワークを下から支持するワーク支持体と、そのワーク支持体を前記ワーク機械軸方向に動かすワーク駆動装置とを有し、
前記鉛直移動装置は、前記コラムに沿って鉛直方向に延びる鉛直機械軸方向に移動可能に設けられ、前記第１水平移動装置を支持する鉛直支持体と、その鉛直支持体を前記鉛直機械軸方向に動かす鉛直駆動装置とを有し、
前記第１水平移動装置は、前記ワーク機械軸と前記鉛直機械軸の両方に垂直な第１水平機械軸方向に移動可能に前記鉛直支持体に設けられ、前記第２水平移動装置を支持する第１水平支持体と、その第１水平支持体を前記第１水平機械軸方向に動かす第１水平駆動装置とを有し、
前記第２水平移動装置は、前記第１水平機械軸と平行な第２水平機械軸方向に移動可能に前記第１水平支持体に設けられ、前記主軸ヘッドを当該主軸ヘッドによる工具の回転軸が前記第２水平機械軸と平行となるような姿勢で支持する第２水平支持体と、その第２水平支持体を前記第２水平機械軸方向に動かす第２水平駆動装置とを有し、
前記数値制御装置は、数値制御プログラムが指示する工具又はワークの指令位置から得られる前記各機械軸毎の座標を前記各機械軸毎の誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出し、その算出した前記機械軸毎の補正座標に従って前記各駆動装置の駆動を制御する、工作機械。
【請求項４】
請求項１又は２に記載の数値制御装置と、
水平面内の特定方向にワークを移動させるワーク移動装置と、
水平方向でかつ前記ワークの移動方向と直交する方向において前記ワーク移動装置を挟んで互いに対向する位置にそれぞれ立設され、鉛直方向に延びるコラムと、
ワークを加工するための工具と、
前記工具をその軸回りに回転させる主軸ヘッドと、
前記コラムに設けられ、前記主軸ヘッドを移動させるための第１鉛直移動装置、水平移動装置、第２鉛直移動装置、回転移動装置及び揺動装置とを備え、
前記ワーク移動装置は、ベースと、水平面内で特定方向に延びるワーク機械軸方向に移動可能に前記ベース上に設けられ、ワークを下から支持するテーブルと、そのテーブルを前記ワーク機械軸方向に動かすテーブル駆動装置とを有し、
前記第１鉛直移動装置は、前記テーブルの上方において前記ワーク移動装置の両側のコラム間に掛け渡されるとともにそのコラムに沿って鉛直方向に延びる第１鉛直機械軸方向に移動可能に設けられ、前記水平移動装置を支持するクロスレールと、そのクロスレールを前記第１鉛直機械軸方向に動かす第１鉛直駆動装置とを有し、
前記水平移動装置は、前記ワーク機械軸と前記第１鉛直機械軸の両方に垂直な水平機械軸方向に移動可能に前記クロスレールに搭載され、前記第２鉛直移動装置を支持するサドルと、そのサドルを前記水平機械軸方向に動かす水平駆動装置とを有し、
前記第２鉛直移動装置は、前記第１鉛直機械軸と平行な第２鉛直機械軸方向に移動可能に前記サドルに設けられ、前記回転移動装置を支持する鉛直支持体と、その鉛直支持体を前記第２鉛直機械軸方向に動かす第２鉛直駆動装置とを有し、
前記回転移動装置は、鉛直軸回りの回転機械軸方向に回転可能に前記鉛直支持体に設けられ、前記揺動装置を支持する回転支持体と、その回転支持体を前記回転機械軸方向に回転させる回転駆動装置とを有し、
前記揺動装置は、水平軸を中心とした揺動機械軸方向に揺動可能に前記回転支持体に設けられ、前記主軸ヘッドを当該主軸ヘッドによる工具の回転軸が前記水平軸に対して垂直となるように支持する揺動支持体と、その揺動支持体を前記揺動機械軸方向に揺動させる揺動駆動装置とを有し、
前記数値制御装置は、数値制御プログラムが指示する工具又はワークの指令位置から得られる前記各機械軸毎の座標を前記各機械軸毎の誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出し、その算出した前記機械軸毎の補正座標に従って前記各駆動装置の駆動を制御する、工作機械。
【請求項５】
請求項１又は２に記載の数値制御装置と、
ワークを加工するための工具と、
前記工具をその軸回りに回転させる主軸ヘッドと、
前記主軸ヘッドを当該主軸ヘッドによる工具の回転軸が水平方向に延びるような姿勢で支持し、その主軸ヘッドを平行移動させるパラレルリンク機構と、
前記パラレルリンク機構全体を水平面内の特定方向へ移動させる水平移動装置とを備え、
前記水平移動装置は、基台と、水平面内で特定方向に延びる水平機械軸方向に移動可能に前記基台上に設けられ、前記パラレルリンク機構を下から支持する水平支持体と、その水平支持体を前記水平機械軸方向に動かす水平駆動装置とを有し、
前記パラレルリンク機構は、前記主軸ヘッドを支持するヘッド支持部と、一方向に延びる棒状に形成され、その一端部が前記ヘッド支持部に関節駆動可能なように接続されてそのヘッド支持部を支持するストラットと、前記水平支持体上に設置され、前記各ストラットをその前記一端部側が前記水平支持体上から張り出すような姿勢でそれぞれ支持するとともに、前記各ストラットをその長手方向に延びるストラット機械軸方向に移動可能にそれぞれ支持するストラット支持機構と、前記各ストラット毎に設けられ、前記ヘッド支持部に支持された前記主軸ヘッドが平行移動するように前記各ストラットを各々の前記ストラット機械軸方向に動かすストラット駆動装置とを有し、
前記数値制御装置は、前記水平機械軸と平行な第１水平移動軸、鉛直方向に延びる鉛直移動軸及び前記第１水平移動軸と前記鉛直移動軸の両方に垂直な第２水平移動軸の各移動軸の座標からなる工具の指令位置から得られる前記各機械軸毎の座標を前記各機械軸毎の誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出し、その算出した前記機械軸毎の補正座標に従って前記水平駆動装置及び前記各ストラット駆動装置の駆動を制御する、工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置及び工作機械に関するものである。
【背景技術】
【０００２】
従来、各種工作機械において工具やワークを移動させる移動装置の数値制御（ＮＣ）が行われている。そして、このような数値制御では、各種要因により移動対象物の位置や姿勢に指令値からの誤差が生じることがあるため、その誤差補正が行われる。下記特許文献１及び２には、移動装置の数値制御に伴ってこのような誤差補正を行う数値制御装置の例が開示されている。
【０００３】
特許文献１に開示された数値制御装置は、パラレルリンク機構を備えた工作機械に設けられており、工具を移動させるパラレルリンク機構の各ロッドの動作について誤差補正を行う。具体的には、この数値制御装置では、工具の位置及び姿勢を指示する当該工具の各移動軸毎の指令値の座標と当該工具の各移動軸毎の実測値の座標との誤差を特定の点毎に記録することにより誤差マップを予め作成しておく。この誤差マップは、ニューラルネットワークによって学習され、当該ニューラルネットワークは、加工指令値が入力されるとその指令値に応じた工具の移動軸毎の誤差値を出力する。数値制御装置では、ニューラルネットワークから出力された誤差値に基づいて加工指令値を補正した後、その補正後の指令値をパラレルリンク機構の各ロッドの機械軸毎の指令値に変換し、当該変換後の指令値に基づいてパラレルリンク機構の各駆動部に各ロッドを駆動させる。
【０００４】
特許文献２に開示された数値制御装置は、５軸マシニングセンターに設けられており、工具を移動させる複数の移動装置の動作について誤差補正を行う。具体的には、この数値制御装置では、工具の位置及び姿勢についての誤差データが工具の移動軸毎に登録されたエラーマップが記憶手段に記憶されており、加工プログラムから求めた工具の移動軸毎の指令値に対応する誤差データを前記エラーマップに基づいて算出する。そして、この数値制御装置は、算出した誤差データに基づいて工具の各移動軸毎の補正データを算出し、その算出した補正データに基づいて移動軸毎の指令値の補正を行う。数値制御装置は、その補正後の指令値に基づいて各軸の移動装置を駆動させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２３７１１２号公報
【特許文献２】特開２００８−２６９３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１及び２に開示された数値制御装置による誤差補正のシステムは、その数値制御装置が適用された工作機械の機械構造に依存したものとなっている。このため、その数値制御装置を他の機械構造の工作機械に流用することが難しく、機械構造の異なる工作機械毎に数値制御装置のほぼ全部を構成し直す必要がある。
【０００７】
具体的には、上記特許文献１のパラレルリンク機構の工作機械に適用された数値制御装置では、工具の位置及び姿勢についての誤差データを用いて指令値の補正を行っているが、このような工具の位置及び姿勢の形態は工作機械の機械構造によって様々である。このため、工作機械の機械構造が異なれば、上記特許文献１に開示された数値制御装置の誤差補正システムの殆どの部分が流用できなくなる。
【０００８】
また、上記特許文献２の５軸マシニングセンターに用いられた数値制御装置でも、工具の位置及び姿勢に基づく誤差データを用いて加工時の工具の指令値を補正しているため、上記特許文献２の数値制御装置と同様、機械構造の異なる他の工作機械にはその誤差補正システムの殆どの部分が流用できない。
【０００９】
また、上記特許文献１及び２に開示された数値制御装置は、工具等の移動対象物を移動させる複数の移動装置に互いに平行な移動軸を持つものが含まれているような工作機械には適用できない。すなわち、上記各数値制御装置では、対象物の位置及び姿勢に関する誤差データに基づいて対象物の指令値の座標を補正しているが、複数の移動装置の移動軸が互いに平行である場合には、対象物の位置及び姿勢の誤差データの中に平行な移動軸それぞれについての誤差が同じ方向の誤差として含まれるため、前記誤差データから互いに平行な移動軸それぞれについての補正量を算出することができない。このため、上記各数値制御装置では、互いに平行な移動軸を持つ移動装置の動作の誤差補正が不可能となる。
【００１０】
本発明は、上記の課題を解決するためになされたものであり、その目的は、機械構造の異なる各種工作機械における誤差補正システムの共通化を促進しつつ、互いに平行な移動軸を持つ複数の移動装置を含む工作機械でもその平行な移動軸を持つ各移動装置の動作の誤差補正を行えるようにすることである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明による数値制御装置は、ワーク又はそのワークを加工する工具を対象物としてその対象物を移動させる複数の移動装置を備える工作機械であって、前記各移動装置は、前記対象物を支持する支持体と、その支持体を特定の機械軸方向に動かすことにより前記対象物を移動させる駆動装置とをそれぞれ有し、前記複数の移動装置には、前記対象物を移動させる移動軸が互いに平行な移動装置として第１移動装置と第２移動装置が含まれ、前記第１移動装置は、前記支持体としての第１支持体と、その第１支持体を第１機械軸方向に動かす前記駆動装置としての第１駆動装置とを有し、前記第２移動装置は、前記支持体としての第２支持体と、その第２支持体を前記第１機械軸方向と平行な第２機械軸方向に動かす前記駆動装置としての第２駆動装置とを有する工作機械に設けられ、前記各移動装置の数値制御を行う数値制御装置であって、前記対象物を特定の位置に配置する場合に前記各移動装置の前記駆動装置が示す前記機械軸の理論的な座標である理論的機械軸座標と前記対象物を前記特定の位置に実際に配置した場合に前記各移動装置の前記駆動装置が示す前記機械軸の座標である実測機械軸座標との差からなる誤差データを算出する誤差演算部と、前記誤差演算部によって算出された誤差データを格納する誤差データ格納部と、前記各移動装置の前記駆動装置に前記支持体の移動を指示するための数値制御プログラムを記憶するプログラム記憶部と、前記プログラム記憶部に記憶された前記数値制御プログラムからその数値制御プログラムが指示する前記対象物の移動位置である指令位置を読み取る指令位置読取り部と、前記指令位置読取り部によって読み取られた前記指令位置から前記各移動装置に駆動を指示するための前記機械軸毎の座標を算出する機械軸座標算出部と、前記機械軸座標算出部によって算出された前記機械軸毎の座標を前記誤差データ格納部に格納された対応する機械軸毎の前記誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出する補正演算部と、前記補正演算部により算出された前記機械軸毎の前記補正座標に従って前記各移動装置の前記駆動装置に前記支持体を駆動させる駆動制御部とを備え、前記誤差演算部は、前記第１駆動装置が前記第１支持体を前記第１機械軸方向において基準位置から所定の向きに特定距離だけ動かすことにより前記対象物を前記特定の位置に配置する場合の前記誤差データを算出するとともに、前記第２駆動装置が前記第２支持体を前記第２機械軸方向において前記基準位置と同じ位置から前記所定の向きと同じ向きに前記特定距離と同じ距離だけ動かすことにより前記対象物を前記特定の位置に配置する場合の前記誤差データを算出する。
【００１２】
この数値制御装置では、機械構造の異なる各種工作機械における誤差補正システムの共通化を促進することができる。具体的には、この数値制御装置のうち誤差データ格納部、プログラム記憶部及び指令位置読取り部は、工作機械の機械構造に依存しない部分であるため、機械構造が異なる各種工作機械に共通して適用可能である。また、各種工作機械の機械構造が異なることに起因してその工作機械の移動装置が移動させる対象物の位置や姿勢の形態が異なる場合であっても、複数の移動装置の各駆動装置がそれぞれの機械軸で支持体を動かすことによって対象物を移動させるという構成は共通しているため、前記補正演算部と前記制御部は機械構造が異なる工作機械に共通して適用することが可能である。従って、この数値制御装置では、指令位置から各移動装置に駆動を指示するための機械軸毎の座標を算出する機械軸座標算出部のみが工作機械の機械構造に依存する部分であり、この機械軸座標算出部のみを各工作機械の機械構造に応じて構成し直せば、当該数値制御装置の誤差補正システムの大部分を機械構造の異なる各種工作機械に流用することができる。このため、この数値制御装置では、機械構造の異なる各種工作機械における誤差補正システムの共通化を促進することができる。
【００１３】
また、この数値制御装置では、補正演算部が、各移動装置を構成する駆動装置の機械軸毎の誤差データに基づいて数値制御プログラムが指示する指令位置に対応する機械軸毎の座標を補正する。すなわち、対象物の位置や姿勢に基づく誤差データからは互いに平行な移動軸毎の誤差が判別不可能であることによりその平行な移動軸を持つ移動装置の動作を誤差補正できないが、この数値制御装置では、各移動装置による対象物の移動を実行するための駆動装置の駆動の誤差補正を各々の機械軸についての誤差データに基づいて行うため、そのような駆動装置の動作の誤差補正は、各移動装置の移動軸が互いに平行であるか否かに関係なく行うことができる。その結果、この数値制御装置では、移動装置の移動軸が互いに平行であっても、それらの移動装置の動作をそれぞれ誤差補正することができる。
【００１４】
従って、この数値制御装置では、機械構造の異なる各種工作機械における誤差補正システムの共通化を促進しつつ、互いに平行な移動軸を持つ複数の移動装置を含む工作機械でもその平行な移動軸を持つ各移動装置の動作の誤差補正を行うことができる。
【００１５】
上記数値制御装置において、前記誤差演算部は、前記対象物が前記特定の位置に位置決めされた時の前記実測機械軸座標からその特定の位置における前記理論的機械軸座標を減じることにより前記誤差データを算出することが好ましい。
【００１６】
この構成によれば、工作機械に設けられた数値制御装置内で誤差データの蓄積からその誤差データに基づく前記各機械軸毎の誤差補正に至る一連の誤差補正のプロセスを実施することができる。
【００１７】
本発明の工作機械は、上記数値制御装置と、水平面内の特定方向にワークを移動させるワーク移動装置と、水平方向でかつ前記ワークの移動方向と直交する方向において前記ワーク移動装置から離間した位置に立設され、鉛直方向に延びるコラムと、ワークを加工するための工具と、前記工具をその軸回りに回転させる主軸ヘッドと、前記コラムに設けられ、前記主軸ヘッドを移動させるための鉛直移動装置、第１水平移動装置及び第２水平移動装置とを備え、前記ワーク移動装置は、ベースと、水平面内で特定方向に延びるワーク機械軸方向に移動可能に前記ベース上に設けられ、ワークを下から支持するワーク支持体と、そのワーク支持体を前記ワーク機械軸方向に動かすワーク駆動装置とを有し、前記鉛直移動装置は、前記コラムに沿って鉛直方向に延びる鉛直機械軸方向に移動可能に設けられ、前記第１水平移動装置を支持する鉛直支持体と、その鉛直支持体を前記鉛直機械軸方向に動かす鉛直駆動装置とを有し、前記第１水平移動装置は、前記ワーク機械軸と前記鉛直機械軸の両方に垂直な第１水平機械軸方向に移動可能に前記鉛直支持体に設けられ、前記第２水平移動装置を支持する第１水平支持体と、その第１水平支持体を前記第１水平機械軸方向に動かす第１水平駆動装置とを有し、前記第２水平移動装置は、前記第１水平機械軸と平行な第２水平機械軸方向に移動可能に前記第１水平支持体に設けられ、前記主軸ヘッドを当該主軸ヘッドによる工具の回転軸が前記第２水平機械軸と平行となるような姿勢で支持する第２水平支持体と、その第２水平支持体を前記第２水平機械軸方向に動かす第２水平駆動装置とを有し、前記数値制御装置は、数値制御プログラムが指示する工具又はワークの指令位置から得られる前記各機械軸毎の座標を前記各機械軸毎の誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出し、その算出した前記機械軸毎の補正座標に従って前記各駆動装置の駆動を制御する。
【００１８】
この工作機械では、例えば第１水平移動装置の第１水平支持体及び第２水平移動装置の第２水平支持体がワーク移動装置側へ張り出した場合に、工具、主軸ヘッド、第１水平支持体及び第２水平移動装置の重量によりコラムが撓み、それによって工具の指令位置に対して工具の実際の位置が誤差を生じる虞がある。しかし、このような場合でも、この工作機械では、前記数値制御装置が各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正を行うことによって、前記重量によるコラムの撓みに起因する工具位置の誤差を補正することができる。
【００１９】
また、この工作機械では、第１水平支持体を動かす第１水平機械軸と第２水平支持体を動かす第２水平機械軸が互いに平行となっているが、前記数値制御装置により各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正が行われるため、その互いに平行な第１水平機械軸と第２水平機械軸について個別に補正量を求めることができ、工具位置の誤差補正を適切に行うことができる。
【００２０】
また、本発明の工作機械は、上記数値制御装置と、水平面内の特定方向にワークを移動させるワーク移動装置と、水平方向でかつ前記ワークの移動方向と直交する方向において前記ワーク移動装置を挟んで互いに対向する位置にそれぞれ立設され、鉛直方向に延びるコラムと、ワークを加工するための工具と、前記工具をその軸回りに回転させる主軸ヘッドと、前記コラムに設けられ、前記主軸ヘッドを移動させるための第１鉛直移動装置、水平移動装置、第２鉛直移動装置、回転移動装置及び揺動装置とを備え、前記ワーク移動装置は、ベースと、水平面内で特定方向に延びるワーク機械軸方向に移動可能に前記ベース上に設けられ、ワークを下から支持するテーブルと、そのテーブルを前記ワーク機械軸方向に動かすテーブル駆動装置とを有し、前記第１鉛直移動装置は、前記テーブルの上方において前記ワーク移動装置の両側のコラム間に掛け渡されるとともにそのコラムに沿って鉛直方向に延びる第１鉛直機械軸方向に移動可能に設けられ、前記水平移動装置を支持するクロスレールと、そのクロスレールを前記第１鉛直機械軸方向に動かす第１鉛直駆動装置とを有し、前記水平移動装置は、前記ワーク機械軸と前記第１鉛直機械軸の両方に垂直な水平機械軸方向に移動可能に前記クロスレールに搭載され、前記第２鉛直移動装置を支持するサドルと、そのサドルを前記水平機械軸方向に動かす水平駆動装置とを有し、前記第２鉛直移動装置は、前記第１鉛直機械軸と平行な第２鉛直機械軸方向に移動可能に前記サドルに設けられ、前記回転移動装置を支持する鉛直支持体と、その鉛直支持体を前記第２鉛直機械軸方向に動かす第２鉛直駆動装置とを有し、前記回転移動装置は、鉛直軸回りの回転機械軸方向に回転可能に前記鉛直支持体に設けられ、前記揺動装置を支持する回転支持体と、その回転支持体を前記回転機械軸方向に回転させる回転駆動装置とを有し、前記揺動装置は、水平軸を中心とした揺動機械軸方向に揺動可能に前記回転支持体に設けられ、前記主軸ヘッドを当該主軸ヘッドによる工具の回転軸が前記水平軸に対して垂直となるように支持する揺動支持体と、その揺動支持体を前記揺動機械軸方向に揺動させる揺動駆動装置とを有し、前記数値制御装置は、数値制御プログラムが指示する工具又はワークの指令位置から得られる前記各機械軸毎の座標を前記各機械軸毎の誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出し、その算出した前記機械軸毎の補正座標に従って前記各駆動装置の駆動を制御する。
【００２１】
この工作機械では、コラムやクロスレールに生じる撓みに起因する誤差が本発明に係る数値制御装置によって有効に補正される。具体的には、コラムによって支持される各装置の重量により、コラムには水平方向の撓みが生じやすく、また、クロスレールに搭載された各装置の重量により、クロスレールに上下方向の撓みが生じやすく、これらの撓みは工具の指令位置に対する工具の実際の位置の誤差の要因となるが、前記数値制御装置が各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正を行うことによって、前記コラム及びクロスレールの撓みに起因する工具位置の誤差を補正することができる。
【００２２】
また、この工作機械では、クロスレールを動かす第１鉛直機械軸と鉛直支持体を動かす第２鉛直機械軸が互いに平行となっているが、前記数値制御装置により各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正が行われるため、その互いに平行な第１鉛直機械軸と第２鉛直機械軸について個別に補正量を求めることができ、工具位置の誤差補正を適切に行うことができる。
【００２３】
また、工具を所定の軸回りに回転移動させてその軸回りの工具の回転角度を変更する回転移動装置を備える工作機械では、工具の空間位置及び姿勢の誤差データに基づいて誤差補正を行う従来の数値制御装置によって、回転移動装置による前記軸回りの回転角度毎の工具の誤差補正を適切に行うことができない。すなわち、工具の空間位置及び姿勢の誤差データからは、工具の回転角度がどの角度でどのような誤差を生じるかを判別することができないため、従来の数値制御装置では工具の回転角度毎の誤差補正が不可能となる。本発明の工作機械でも、回転駆動装置により回転支持体を回転させて工具を回転機械軸方向に回転させるため、その回転機械軸における回転角度毎に異なった誤差が生じ得るが、前記数値制御装置が各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正を行うため、回転機械軸方向における回転角度毎に補正すべき誤差を求めることができる。その結果、この工作機械では、回転機械軸方向の回転角度毎に適切な誤差補正を行うことができる。
【００２４】
また、本発明の工作機械は、上記数値制御装置と、ワークを加工するための工具と、前記工具をその軸回りに回転させる主軸ヘッドと、前記主軸ヘッドを当該主軸ヘッドによる工具の回転軸が水平方向に延びるような姿勢で支持し、その主軸ヘッドを平行移動させるパラレルリンク機構と、前記パラレルリンク機構全体を水平面内の特定方向へ移動させる水平移動装置とを備え、前記水平移動装置は、基台と、水平面内で特定方向に延びる水平機械軸方向に移動可能に前記基台上に設けられ、前記パラレルリンク機構を下から支持する水平支持体と、その水平支持体を前記水平機械軸方向に動かす水平駆動装置とを有し、前記パラレルリンク機構は、前記主軸ヘッドを支持するヘッド支持部と、一方向に延びる棒状に形成され、その一端部が前記ヘッド支持部に関節駆動可能なように接続されてそのヘッド支持部を支持するストラットと、前記水平支持体上に設置され、前記各ストラットをその前記一端部側が前記水平支持体上から張り出すような姿勢でそれぞれ支持するとともに、前記各ストラットをその長手方向に延びるストラット機械軸方向に移動可能にそれぞれ支持するストラット支持機構と、前記各ストラット毎に設けられ、前記ヘッド支持部に支持された前記主軸ヘッドが平行移動するように前記各ストラットを各々の前記ストラット機械軸方向に動かすストラット駆動装置とを有し、前記数値制御装置は、前記水平機械軸と平行な第１水平移動軸、鉛直方向に延びる鉛直移動軸及び前記第１水平移動軸と前記鉛直移動軸の両方に垂直な第２水平移動軸の各移動軸の座標からなる工具の指令位置から得られる前記各機械軸毎の座標を前記各機械軸毎の誤差データに基づいて補正することにより前記機械軸毎の補正座標を算出し、その算出した前記機械軸毎の補正座標に従って前記水平駆動装置及び前記各ストラット駆動装置の駆動を制御する。
【００２５】
この工作機械では、各ストラットに生じる撓みに起因する誤差が、本発明に係る数値制御装置によって有効に補正される。具体的には、この工作機械では、水平支持体上から張り出すように設けられた各ストラットの端部にヘッド支持部が接続されているとともに、そのヘッド支持部によって主軸ヘッドが支持されているため、工具、主軸ヘッド及びヘッド支持部等の重量により各ストラットに上下方向の撓みが生じやすく、この撓みは工具の指令位置に対する工具の実際の位置の誤差の要因となるが、前記数値制御装置が各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正を行うことによって、前記各ストラットの撓みに起因する工具位置の誤差を補正することができる。
【００２６】
また、この工作機械では、パラレルリンク機構全体を支持する水平支持体を移動させる水平機械軸と、工具の指令位置を構成する第１水平移動軸が互いに平行となっているが、前記数値制御装置により各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正が行われるため、前記第１水平移動軸と前記水平機械軸とが平行であっても、その水平機械軸を含む各機械軸毎の補正量を個別に求めることができ、工具位置の誤差を適切に補正することができる。
【発明の効果】
【００２７】
以上説明したように、本発明によれば、機械構造の異なる各種工作機械における誤差補正システムの共通化を促進しつつ、互いに平行な移動軸を持つ複数の移動装置を含む工作機械でもその平行な移動軸を持つ各移動装置の動作の誤差補正を行うことができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１実施形態による工作機械の概略的な側面図である。
【図２】本発明の第１実施形態による数値制御装置の機能ブロック図である。
【図３】誤差データの取得のために用いる治具プレートの正面図である。
【図４】図３に示した治具プレートのＩＶ−ＩＶ線に沿った断面図である。
【図５】本発明の第１実施形態の数値制御装置による誤差データ取得時のプロセスを示すフローチャートである。
【図６】本発明の第１実施形態の数値制御装置による工作機械の制御プロセスを示すフローチャートである。
【図７】本発明の第２実施形態による工作機械の概略的な斜視図である。
【図８】本発明の第２実施形態による数値制御装置の機能ブロック図である。
【図９】図７に示した工作機械において誤差データを取得する際の治具プレートの設置状態を示す図である。
【図１０】本発明の第２実施形態の数値制御装置による誤差データ取得時のプロセスを示すフローチャートである。
【図１１】本発明の第３実施形態による工作機械の概略的な斜視図である。
【図１２】本発明の第３実施形態による数値制御装置の機能ブロック図である。
【図１３】図１１に示した工作機械において誤差データを取得する際の治具プレートの配置状態を正面から見た図である。
【図１４】図１１に示した工作機械において誤差データを取得する際の治具プレートの配置状態を側方から見た図である。
【図１５】本発明の第３実施形態の数値制御装置による誤差データ取得時のプロセスを示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態を図面を参照して説明する。
【００３０】
（第１実施形態）
まず、図１を参照して、本発明の第１実施形態による工作機械の構成について説明する。
【００３１】
この第１実施形態による工作機械は、被加工物であるワークを加工するための工具を回転させる主軸ヘッド１２を当該主軸ヘッド１２による工具の回転軸が水平方向に延びるように配置するとともに、当該主軸ヘッド１２を回転軸の延びる方向に沿って進退移動させることによりワークに対して工具を側方から接離させるように構成されている。そして、この工作機械には、主軸ヘッド１２をその回転軸の延びる方向へ移動させる移動装置が２つ設けられており、その２つの移動装置による工具の移動軸が互いに平行となっている。
【００３２】
具体的には、この第１実施形態による工作機械は、ワーク移動装置２と、コラム４と、鉛直移動装置６と、第１水平移動装置８と、第２水平移動装置１０と、主軸ヘッド１２と、制御盤１４とを備えている。コラム４、鉛直移動装置６、第１水平移動装置８及び第２水平移動装置１０は、一体的にまとまって設けられており、それらに対してワーク移動装置２は、離間して配設されている。
【００３３】
ワーク移動装置２は、ワークを移動させるための装置である。このワーク移動装置２は、所定の設置場所上に固設されるベース２ａと、そのベース２ａ上に設けられるワーク支持体２ｂと、そのワーク支持体２ｂを動かすワーク駆動装置２ｃ（図２参照）とを有する。
【００３４】
ワーク支持体２ｂは、ワークを支持するものである。このワーク支持体２ｂは、図１において紙面に垂直な方向に延びるＸ軸方向に移動可能にベース２ａ上に設けられたテーブル２ｄと、そのテーブル２ｄのうち前記Ｘ軸方向と直交する方向において前記コラム４と反対側に位置する端部に設けられた背面支持部２ｅとを有する。ワークは、ワーク支持体２ｂのうちテーブル２ｄ上に載置されるとともにその背面が背面支持部２ｅに接触するようにセットされる。ワーク駆動装置２ｃは、ベース２ａに設けられ、ワーク支持体２ｂのテーブル２ｄをＸ軸方向に動かす。これにより、ワーク支持体２ｂにセットされたワークがＸ軸方向に移動するようになっている。すなわち、このワーク移動装置２では、ワーク駆動装置２ｃの機械軸がＸ軸であるとともに、移動対象物であるワークの移動軸も同じＸ軸となっている。
【００３５】
コラム４は、前記ベース２ａの設置場所から背面支持部２ｅと反対側に離間した設置場所に立設されており、鉛直方向に延びている。
【００３６】
鉛直移動装置６は、コラム４に設けられている。この鉛直移動装置６は、鉛直支持体６ａと、鉛直駆動装置６ｂ（図２参照）とを有する。
【００３７】
鉛直支持体６ａは、鉛直方向に移動可能にコラム４に取り付けられている。すなわち鉛直支持体６ａは、コラム４に沿って上下に移動可能となっている。この鉛直支持体６ａは、第１水平移動装置８を支持している。第１水平移動装置８は、後述するように第２水平移動装置１０及び主軸ヘッド１２を介して工具を支持するため、鉛直支持体６ａは間接的に工具を支持する。鉛直駆動装置６ｂは、コラム４に設けられており、鉛直支持体６ａを鉛直方向に延びるＹ軸方向に動かす。これにより、鉛直駆動装置６ｂは、鉛直支持体６ａとともに第１水平移動装置８、第２水平移動装置１０、主軸ヘッド１２及び工具をＹ軸方向に移動させる。すなわち、この鉛直移動装置６では、鉛直駆動装置６ｂの機械軸が鉛直方向に延びるＹ軸であるとともに、工具を移動させる移動軸も同じＹ軸となっている。
【００３８】
第１水平移動装置８は、鉛直支持体６ａに設けられている。この第１水平移動装置８は、第１水平支持体８ａと、第１水平駆動装置８ｂ（図２参照）とを有する。
【００３９】
第１水平支持体８ａは、前記Ｘ軸と前記Ｙ軸の両方に対して垂直に延びるＷ軸方向に移動可能に鉛直支持体６ａに設けられている。第１水平支持体８ａは、第２水平移動装置１０を支持しており、その第２水平移動装置１０及び主軸ヘッド１２を介して工具を支持する。第１水平駆動装置８ｂは、鉛直支持体６ａに設けられており、第１水平支持体８ａを前記Ｗ軸方向に進退移動させる。これにより、第１水平支持体８ａとともに第２水平移動装置１０、主軸ヘッド１２及び工具がＷ軸方向において進退移動し、それによって、工具が水平方向に延びるＷ軸方向でワークに対して接離する。すなわち、この第１水平移動装置８では、第１水平駆動装置８ｂの機械軸がＷ軸であるとともに、工具を移動させる移動軸も同じＷ軸となっている。
【００４０】
第２水平移動装置１０は、第１水平支持体８ａに設けられている。この第２水平移動装置１０は、第１水平移動装置１０による工具の移動軸であるＷ軸と平行なＺ軸方向に工具を進退移動させるものである。第２水平移動装置１０は、第２水平支持体１０ａと、第２水平駆動装置１０ｂ（図２参照）とを有する。
【００４１】
第２水平支持体１０ａは、前記Ｗ軸と平行なＺ軸方向に移動可能に第１水平支持体８ａに設けられている。第２水平支持体１０ａは、主軸ヘッド１２を支持しており、その主軸ヘッド１２を介して工具を支持する。第２水平駆動装置１０ｂは、第１水平支持体８ａに設けられており、第２水平支持体１０ａを前記Ｚ軸方向に進退移動させる。これにより、第２水平支持体１０ａとともに主軸ヘッド１２及び工具がＺ軸方向に進退移動し、それによって、工具が水平方向に延びるＺ軸方向でワークに対して接離する。すなわち、この第２水平移動装置１０では、第２水平駆動装置１０ｂの機械軸がＺ軸であるとともに、工具を移動させる移動軸も同じＺ軸となっている。
【００４２】
主軸ヘッド１２は、その回転軸が前記Ｗ軸及び前記Ｚ軸と平行となるように第２水平支持体１０ａに設けられている。この主軸ヘッド１２は、工具を保持し、その工具を軸回りに回転させる。なお、工具は、その軸回りに回転された状態でその先端部がワークに当接されることによってワークに対して旋削等の加工を施与するものである。また、各機械軸毎の座標を算出する基準となる後述の主軸位置は、工具の基端の位置に相当する。
【００４３】
制御盤１４は、前記各移動装置２，６，８，１０や、主軸ヘッド１２、その他、工作機械の各部の制御及び操作を行うためのものである。この制御盤１４は、前記各移動装置２，６，８，１０の各駆動装置２ｃ，６ｂ，８ｂ，１０ｂ及び主軸ヘッド１２の駆動源と電気的に接続されている。
【００４４】
制御盤１４には、手動操作装置１４ａが設けられている。この手動操作装置１４ａは、操作者が手動で操作することにより前記各駆動装置２ｃ，６ｂ，８ｂ，１０ｂを個別に任意の駆動量だけ駆動させることができ、それによって前記各支持体２ｂ，６ａ，８ａ，１０ａを個別に任意の移動量だけ動かせるように構成されている。また、制御盤１４には、データ取得スイッチ１４ｂが設けられている。このデータ取得スイッチ１４ｂは、後述するように、操作者が押すことにより、前記各駆動装置２ｃ，６ｂ，８ｂ，１０ｂが示す各々の機械軸（Ｘ，Ｙ，Ｗ，Ｚ）の座標が後述する数値制御装置１６の誤差データ取得部２０の実測座標取得部２０ｂによって取り込まれるように構成されている。
【００４５】
そして、この制御盤１４の中には、前記各移動装置２，６，８，１０及び主軸ヘッド１２の駆動部の数値制御を行う数値制御装置１６（図２参照）が組み込まれている。
【００４６】
次に、この第１実施形態による数値制御装置１６の詳細な構成について説明する。
【００４７】
数値制御装置１６は、図２に示すように、誤差データ取得部２０と、誤差データ格納部２２と、メモリ２４と、指令位置読取り部２６と、機械軸座標算出部２８と、補正演算部３０と、駆動制御部３２とを有する。
【００４８】
誤差データ取得部２０は、前記各移動装置２，６，８，１０の各駆動装置２ｃ，６ｂ，８ｂ，１０ｂが示す対応する機械軸（Ｘ，Ｙ，Ｗ，Ｚ）毎の誤差データを取得するものである。すなわち、この誤差データ取得部２０は、ＮＣプログラムの指示する工具の指令位置に対応する理論的な各機械軸の座標から各種要因によって生じるそれら各機械軸の実際の座標の誤差を取得する。この誤差データ取得部２０は、この誤差データ取得部２０は、理論的座標取得部２０ａと、実測座標取得部２０ｂと、誤差演算部２０ｃと、カウンタ２０ｄとを有する。
【００４９】
理論的座標取得部２０ａは、移動対象物を特定の位置に配置する場合に各移動装置２，６，８，１０の各駆動装置２ｃ，６ｂ，８ｂ，１０ｂが示す理論的な機械軸座標である理論的機械軸座標を取得するものである。具体的には、この理論的座標取得部２０ａは、操作者が手動操作装置１４ａを操作して各駆動装置２ｃ，６ｂ，８ｂ，１０ｂを駆動させることにより対象物を移動させる際、手動操作装置１４ａが指示する対象物の位置をＮＣプログラムに基づいて逆運動学変換することにより各機械軸毎の理論的機械軸座標を算出する。
【００５０】
実測座標取得部２０ｂは、移動対象物を特定の位置に実際に配置した場合に各移動装置２，６，８，１０の各駆動装置２ｃ，６ｂ，８ｂ，１０ｂが示す機械軸座標である実測機械軸座標を取得するものである。この実測座標取得部２０ｂは、前記データ取得スイッチ１４ｂが押されることに応じて、前記各駆動装置２ｃ，６ｂ，８ｂ，１０ｂからそのときの各機械軸毎の実測機械軸座標を取り込む。
【００５１】
誤差演算部２０ｃは、前記各移動装置２，６，８，１０の支持体２ｂ，６ａ，８ａ，１０ａの対応する機械軸毎の誤差データを算出するものである。具体的には、この誤差演算部２０ｃは、前記データ取得スイッチ１４ｂが押されたことに応じて、前記実測座標取得部２０ｂによって取得された実測機械軸座標から前記理論的座標取得部２０ａによって取得された理論的機械軸座標を減じることにより各機械軸毎の誤差データを算出する。
【００５２】
カウンタ２０ｄは、誤差データの取得プロセスにおいて、誤差データの取得サイクル毎に後述するｉ値及びｊ値をカウントするものである。
【００５３】
誤差データ格納部２２は、誤差演算部２０ｃによって算出された誤差データを格納するものである。この誤差データ格納部２２では、誤差データをＸ軸、Ｙ軸、Ｚ軸、Ｗ軸の各機械軸毎にその誤差データの取得位置に対応した配列で登録した誤差テーブルの形態で格納する。
【００５４】
メモリ２４は、ＮＣプログラム（数値制御プログラム）や各種データを記憶するものであり、本発明のプログラム記憶部の概念に含まれるものである。ＮＣプログラムは、ワークの加工時に所定のツールパスに従って工具を移動させるように前記駆動装置２ｃ，６ｂ，８ｂ，１０ｂに支持体２ｂ，６ａ，８ａ，１０ａの駆動を指示するプログラムである。このメモリ２４が記憶するＮＣプログラム以外のデータとしては、後述する、指令位置、その指令位置から変換された機械軸座標及び機械軸毎の補正座標等がある。
【００５５】
指令位置読取り部２６は、メモリ２４に記憶されたＮＣプログラムからそのプログラムが指示する工具又はワークの移動位置である指令位置を読み取るものである。この指令位置読取り部２６は、読み取った指令位置をメモリ２４に記憶させる。
【００５６】
機械軸座標算出部２８は、指令位置読取り部２６によって読み取られてメモリ２４に記憶された工具の指令位置から各移動装置２，６，８，１０の各駆動装置２ｃ，６ｂ，８ｂ，１０ｂに駆動を指示するための各機械軸毎の座標を算出するものである。具体的には、この機械軸座標算出部２８は、前記指令位置の座標から、ワーク駆動装置２ｃがワーク支持体２ｂを移動させるＸ軸の座標、鉛直駆動装置６ｂが鉛直支持体６ａを移動させるＹ軸の座標、第１水平駆動装置８ｂが第１水平支持体８ａを移動させるＷ軸の座標及び第２水平駆動装置１０ｂが第２水平支持体１０ａを移動させるＺ軸の座標をそれぞれ算出する。この機械軸座標算出部２８は、指令位置から主軸ヘッド１２の主軸位置を算出する主軸位置算出部２８ａと、その主軸位置算出部２８ａによって算出された主軸位置を前記駆動装置２ｃ，６ｂ，８ｂ，１０ｂに駆動を指示するための各機械軸毎の座標に変換する座標変換部２８ｂとを有する。座標変換部２８ｂは、前記主軸位置から各機械軸の座標への変換を逆運動学関係式を用いて行う。座標変換部２８ｂは、変換した後の各機械軸毎の座標をメモリ２４に記憶させる。
【００５７】
補正演算部３０は、座標変換部２８ｂによって変換されてメモリ２４に記憶された変換後の機械軸座標を誤差データ格納部２２に格納された誤差データに基づいて補正することにより機械軸毎の補正座標を算出する。そして、補正演算部３０は、算出した補正座標をメモリ２４に記憶させる。
【００５８】
駆動制御部３２は、補正演算部３０により算出されてメモリ２４に記憶された機械軸毎の補正座標に従って前記各移動装置２，６，８，１０の各駆動装置２ｃ，６ｂ，８ｂ，１０ｂに各支持体２ｂ，６ａ，８ａ，１０ａを駆動させる制御を行うものである。すなわち、駆動制御部３２は、各支持体２ｂ，６ａ，８ａ，１０ａを対応する機械軸毎に前記補正座標が示す位置へ移動させるように各駆動装置２ｃ，６ｂ，８ｂ，１０ｂを駆動する。
【００５９】
数値制御装置１６を構成する上記各部のうち機械軸座標算出部２８は、工作機械の機械構造に依存する部分である。すなわち、工作機械のうち工具やワークを支持する部分から各駆動装置に至る機械構造は、工作機械によって様々であるため、ＮＣプログラムが指示する工具又はワークの指令位置から各駆動装置毎に駆動を指示するための機械軸座標を算出する機械軸座標算出部２８の機能は適用される工作機械の機械構造に応じて構成する必要がある。一方、数値制御装置１６のうち機械軸座標算出部２８以外の各部は、工作機械の機械構造に依存しないため、各種工作機械において流用可能である。
【００６０】
次に、図５のフローチャートに沿って第１実施形態の数値制御装置１６による誤差データの取得プロセスについて説明する。
【００６１】
この第１実施形態による誤差データの取得に際しては、まず、図３及び図４に示すような治具プレート１００をワーク支持体２ｂのテーブル２ｄ上の初期位置にセットする（ステップＳ１）。
【００６２】
治具プレート１００は、この第１実施形態では正面から見て正方形の板材に９個の基準穴１００ａが形成されたものである。各基準穴１００ａは、後述するように基準工具１０２の先端を位置決めするために用いられるものであり、治具プレート１００の板厚方向に貫通する円穴である。基準穴１００ａは、治具プレート１００の縦横に３つずつ並ぶように配置されている。縦方向に並ぶ基準穴１００ａは、治具プレート１００の縦方向に延びる辺に沿って直線上に配置され、横方向に並ぶ基準穴１００ａは、治具プレート１００の横方向に延びる辺に沿って直線上に配置されている。そして、縦方向に隣り合う基準穴１００ａ間の間隔と横方向に隣り合う基準穴１００ａ間の間隔は、等しい間隔に設定されており、この第１実施形態では当該間隔は共に５００ｍｍとなっている。９個の基準穴１００ａのうちそれらの中央に位置する基準穴１００ａは、治具プレート１００の中央に設けられている。治具プレート１００をセットする初期位置は、テーブル２ｄ上のうち背面支持部２ｅに治具プレート１００の背面が接触する位置である。このように治具プレート１００がセットされた状態では、前記縦方向に並ぶ基準穴１００ａはＹ軸方向に並び、前記横方向に並ぶ基準穴１００ａはＸ軸方向に並ぶ。
【００６３】
次に、主軸ヘッド１２に基準工具１０２を取り付ける（ステップＳ３）。
【００６４】
基準工具１０２は、誤差データの取得において治具プレート１００の基準穴１００ａに対する位置決めの基準となるものである。この基準工具１０２は、基準穴１００ａの内径よりも僅かに小径の円柱状に形成されている。当該ステップＳ３では、基準工具１０２の軸心と主軸ヘッド１２の回転軸とが同軸となるように基準工具１０２を主軸ヘッド１２に取り付ける。これにより、基準工具１０２は、主軸ヘッド１２から水平方向で前記初期位置にセットされた治具プレート１００側へ突出するように配置される。
【００６５】
次に、治具プレート１００の中央の基準穴１００ａに対応する機械軸座標（基準座標）の計測を行う（ステップＳ５）。
【００６６】
具体的には、まず、操作者が手動操作装置１４ａを操作することにより各駆動装置２ｃ，６ｂ，８ｂ，１０ｂを駆動させて各支持体２ｂ，６ａ，８ａ，１０ａを移動させ、それによって治具プレート１００と基準工具１０２を移動させて基準工具１０２の先端が前記中央の基準穴１００ａと同軸となるとともに、その基準工具１０２の先端面の位置が治具プレート１００の移動装置６，８，１０側の面の位置に一致するように治具プレート１００と基準工具１０２を配置する。そして、この状態で操作者がデータ取得スイッチ１４ｂを押すことにより、実測座標取得部２０ｂがそのときの各駆動装置２ｃ，６ｂ，８ｂ，１０ｂが示す機械軸座標を基準座標（Ｘ０，Ｙ０，Ｚ０，Ｗ０）として取得する。
【００６７】
その後、前記取得された基準座標（Ｘ０，Ｙ０，Ｚ０，Ｗ０）に基づいて誤差データ格納部２２に誤差テーブルの格子区切り座標が登録される（ステップＳ７）。この格子区切り座標は、Ｘ軸では（−５００＋Ｘ０，Ｘ０，５００＋Ｘ０）、Ｙ軸では（−５００＋Ｙ０，Ｙ０，５００＋Ｙ０）、Ｚ軸では（Ｚ０，５００＋Ｚ０）、Ｗ軸では（Ｗ０，５００＋Ｗ０）となる。
【００６８】
次に、カウンタ２０ｄにおいて、第１水平駆動装置８ｂが示すＷ軸座標と第２水平駆動装置１０ｂが示すＺ軸座標とをどのような組み合わせで誤差データの取得を行うかを表すｊ値がｊ＝０にリセットされる（ステップＳ９）。なお、ｊ＝０は（Ｚ０，Ｗ０）の座標に対応し、ｊ＝１は（５００＋Ｚ０，Ｗ０）の座標に対応し、ｊ＝２は（Ｚ０，５００＋Ｗ０）の座標に対応し、ｊ＝３は（５００＋Ｚ０，５００＋Ｗ０）の座標に対応する。
【００６９】
次に、操作者が手動で治具プレート１００のセット位置を調節して治具プレート１００を前記ｊ値に対応する位置に配置する（ステップＳ１１）。この際、治具プレート１００のうち移動装置６，８，１０側の面の位置がｊ値に対応する位置となるように治具プレート１００を配置する。なお、ここでは、前記ステップＳ９でｊ＝０とされているため、その対応するＺ軸座標とＷ軸座標は（Ｚ０，Ｗ０）であるから、治具プレート１００を先にセットした位置から移動させる必要はない。
【００７０】
次に、操作者は、手動操作装置１４ａを操作して第１水平駆動装置８ｂが駆動する第１水平支持体８ａのＷ軸座標をｊ値に対応する座標に位置決めする（ステップＳ１３）。ここで、前記ステップＳ９でｊ＝０とされていることから、第１水平支持体８ａのＷ軸座標はそのｊ値に対応したＷ０とされるため、第１水平支持体８ａを動かす必要はない。なお、ｊ＝１のときは、ｊ＝０のときと同様、第１水平支持体８ａのＷ軸座標はＷ０とされ、ｊ＝２，３のときは、第１水平支持体８ａのＷ軸座標は５００＋Ｗ０とされる。
【００７１】
次に、カウンタ２０ｄにおいて、治具プレート１００の９個の基準穴１００ａのうちどれを用いるかを表すｉ値がｉ＝０にリセットされる（ステップＳ１５）。なお、ｉ値は、例えば、テーブル２ｄ上にセットされた治具プレート１００を移動装置２，６，８，１０側から見て図２に示すように各基準穴１００ａと対応付けされているものとする。
【００７２】
次に、操作者が手動操作装置１４ａを用いてワーク駆動装置２ｃと鉛直駆動装置６ｂと第２水平駆動装置１０ｂを駆動させ、基準工具１０２をｉ値に対応する基準穴１００ａに位置決めする（ステップＳ１７）。
【００７３】
この基準穴１００ａに対する基準工具１０２の位置決めは、前記ステップＳ５で行った位置決めと同様にして行う。そして、ｉ値に対応する基準穴１００ａに基準工具１０２が位置決めされた時の各機械軸毎の理論的機械軸座標は、理論的座標取得部２０ａによって取得されている。
【００７４】
次に、操作者がデータ取得スイッチ１４ｂを押し、それに応じて、実測座標取得部２０ｂがその時の各機械軸毎の実測機械軸座標を取得し、誤差演算部２０ｃがこの時の理論的機械軸座標と実測機械軸座標との差である誤差データを算出する（ステップＳ１９）。具体的には、誤差演算部２０ｃは、各機械軸（Ｘ，Ｙ，Ｚ，Ｗ）毎の実測機械軸座標から対応する理論的機械軸座標を減じることにより誤差データを算出する。
【００７５】
この後、誤差演算部２０ｃは、算出した誤差データを誤差データ格納部２２に格納させる（ステップＳ２１）。この際、誤差データは、その取得された位置を表すインデックスと関連付けられ、誤差データ格納部２２においてそのインデックスと対応する誤差テーブルの誤差配列の該当箇所に登録される。
【００７６】
次に、カウンタ２０ｄにおいてｉ値が＋１だけカウントアップされる（ステップＳ２３）。
【００７７】
その後、誤差データ取得部２０において、ｉ値が９以上であるか否かが判断される（ステップＳ２５）。この際、ｉ値が９以上ではない、すなわちｉ値が８以下であると判断された場合には、前記ステップＳ１７以降の処理が繰り返し行われる。具体的には、ｉ＝１以降にそれぞれ対応する基準穴１００ａに基準工具１０２が位置決めされ、その度に、誤差データの算出、誤差テーブルへの誤差データの登録が行われる。そして、ｉ＝８となるまで合計９個の基準穴１００ａに対応する９個の誤差データが誤差データ格納部２２に格納される。
【００７８】
そして、ステップＳ２３でｉ値が９にカウントアップされ、その結果、ステップＳ２５でｉ値が９以上であると判断されると、次に、カウンタ２０ｄにおいて、ｊ値が＋１だけカウントアップされる（ステップＳ２７）。
【００７９】
その後、誤差データ取得部２０において、ｊ値が４以上であるか否かが判断される（ステップＳ２９）。この際、ｊ値が４以上ではない、すなわちｊ値が３以下であると判断した場合には、前記ステップＳ１１以降の処理が繰り返し行われる。
【００８０】
具体的には、治具プレート１００のセット位置をｊ＝０以降にそれぞれ対応する位置に調節する。ｊ＝１のときは（５００＋Ｚ０，Ｗ０）の位置に対応し、ｊ＝２のときは（Ｚ０，５００＋Ｗ０）の位置に対応するため、これらｊ＝１，２のときは共にテーブル２ｄ上において初期位置からＺ軸（Ｗ軸）方向で＋５００ｍｍだけ移動させた位置に治具プレート１００をセットする。また、ｊ＝３のときは（５００＋Ｚ０，５００＋Ｗ０）の位置に対応するため、治具プレート１００をｊ＝１，２のときよりもＺ軸（Ｗ軸）方向でさらに＋５００ｍｍだけ移動させた位置、すなわち初期位置からＺ軸（Ｗ軸）方向で＋１０００ｍｍだけ移動させた位置にセットする。そして、前記ステップＳ１３の処理において、その各ｊ値に対応するＷ軸の座標に第１水平駆動装置８ｂが駆動する第１水平支持体８ａのＷ軸座標を設定する。すなわち、ｊ＝１のときにはＷ０、ｊ＝２，３のときには５００＋Ｗ０にそれぞれ前記Ｗ軸座標を設定する。そして、ｊ＝１〜３の各場合において、前記ステップＳ１７〜Ｓ２５からなる９個の基準穴１００ａに対応する誤差データの取得プロセスがそれぞれ行われる。
【００８１】
そして、ステップＳ２７において、カウンタ２０ｄによりｊ＝４にカウントアップされると、ステップＳ２９において、誤差データ取得部２０によりｊ値が４以上であると判断され、全ての誤差データ取得プロセスが終了する。
【００８２】
次に、図６のフローチャートに沿って、第１実施形態の数値制御装置１６による工作機械の数値制御プロセスについて説明する。
【００８３】
この数値制御では、まず、指令位置読取り部２６がメモリ２４に記憶されたＮＣプログラム中のツールパスを読み取る（ステップＳ３１）。このツールパスは、ワークの加工のために移動させる工具の先端の軌跡を表すものであり、時間単位もしくは距離単位で工具の先端の位置の変遷が示されている。
【００８４】
その後、指令位置読取り部２６は、読み取ったツールパスから工具の現在位置の次の時間単位後もしくは距離単位後の工具の先端位置（指令位置）を抽出する（ステップＳ３３）。そして、指令位置読取り部２６は、求めた工具の指令位置をメモリ２４に記憶させる。
【００８５】
次に、機械軸座標算出部２８の主軸位置算出部２８ａが、前記工具の指令位置から主軸ヘッド１２の主軸位置を算出する（ステップＳ３５）。この際、主軸位置算出部２８ａは、工具の指令位置から工具の長さを減じることによって主軸位置を算出する。
【００８６】
その後、座標変換部２８ｂが、主軸位置算出部２８ａによって算出された主軸位置を逆運動学関係式を用いて各駆動装置２ｃ，６ｂ，８ｂ，１０ｂの各機械軸毎の座標に変換する（ステップＳ３７）。そして、座標変換部２８ｂは、変換した機械軸座標をメモリ２４に記憶させる。
【００８７】
次に、補正演算部３０が、前記変換した機械軸座標が誤差データ格納部２２に格納された誤差テーブルのうちのどの区間に属するかを求める（ステップＳ３９）。
【００８８】
具体的には、補正演算部３０は、変換後の機械軸座標のＸ軸座標、Ｙ軸座標、Ｚ軸座標、Ｗ軸座標と、誤差テーブルの格子区切り座標（−５００＋Ｘ０，Ｘ０，５００＋Ｘ０）、（−５００＋Ｙ０，Ｙ０，５００＋Ｙ０）、（Ｚ０，５００＋Ｚ０）、（Ｗ０，５００＋Ｗ０）とを比較して、そのＸ，Ｙ，Ｚ，Ｗ軸座標が対応する格子区切り座標に対してどの位置にあるかを求める。
【００８９】
すなわち、Ｘ軸座標が−５００＋Ｘ０以下の区間、−５００＋Ｘ０よりも大きく、かつ、Ｘ０以下の区間、Ｘ０よりも大きく、かつ、５００＋Ｘ０以下の区間、又は、５００＋Ｘ０よりも大きい区間のいずれに属するかを判別する。また、Ｙ軸座標が−５００＋Ｙ０以下の区間、−５００＋Ｙ０よりも大きく、かつ、Ｙ０以下の区間、Ｙ０よりも大きく、かつ、５００＋Ｙ０以下の区間、又は、５００＋Ｙ０よりも大きい区間のいずれに属するかを判別する。また、Ｚ軸座標がＺ０以下の区間、Ｚ０よりも大きく、かつ、５００＋Ｚ０以下の区間、又は、５００＋Ｚ０よりも大きい区間のいずれに属するかを判別する。また、Ｗ軸座標がＷ０以下の区間、Ｗ０よりも大きく、かつ、５００＋Ｗ０以下の区間、又は、５００＋Ｗ０よりも大きい区間のいずれに属するかを判別する。
【００９０】
次に、補正演算部３０は、判別された属する区間と誤差テーブルの誤差データとに基づいて前記変換後の機械軸座標のＸ，Ｙ，Ｚ，Ｗ軸の各座標毎の誤差推定量を算出する（ステップＳ４１）。
【００９１】
具体的には、前記変換後の機械軸座標のＸ軸座標が−５００＋Ｘ０以下の区間に属する場合には、−５００＋Ｘ０の位置で取得された誤差データをそのままそのＸ軸座標に対応する誤差推定量とする。また、前記変換後の機械軸座標のＸ軸座標が−５００＋Ｘ０よりも大きく、かつ、Ｘ０以下の区間に属する場合には、−５００＋Ｘ０とＸ０との間のどの位置にＸ軸座標が位置しているかに応じて−５００＋Ｘ０の位置に対応する誤差データとＸ０の位置に対応する誤差データとから比例計算することにより、そのＸ軸座標に対応する誤差推定量を算出する。また、前記変換後の機械軸座標のＸ軸座標がＸ０よりも大きく、かつ、５００＋Ｘ０以下の区間に属する場合には、Ｘ０と５００＋Ｘ０との間のどの位置にＸ軸座標が位置しているかに応じてＸ０の位置に対応する誤差データと５００＋Ｘ０の位置に対応する誤差データとから比例計算することにより、そのＸ軸座標に対応する誤差推定量を算出する。また、前記変換後の機械軸座標のＸ軸座標が５００＋Ｘ０よりも大きい区間に属する場合には、５００＋Ｘ０の位置に対応する誤差データをそのままそのＸ軸座標に対応する誤差推定量とする。そして、前記変換後の機械軸座標のＹ軸座標、Ｚ軸座標及びＷ軸座標についても前記Ｘ軸座標の場合と同様の方法によりそれぞれ誤差推定量を求める。
【００９２】
その後、補正演算部３０が、ステップＳ４１で得られた各機械軸毎の誤差推定量を前記変換後の機械軸の対応する座標から減じることにより補正座標を算出する（ステップＳ４３）。そして、補正演算部３０は、算出した補正座標をメモリ２４に記憶させる。
【００９３】
次に、駆動制御部３２は、前記補正座標へ各支持体２ｂ，６ａ，８ａ，１０ａを移動させることを指示する移動指令を各駆動装置２ｃ，６ｂ，８ｂ，１０ｂへ出力することによりそれら駆動装置の駆動制御を行う（ステップＳ４５）。これにより、各駆動装置２ｃ，６ｂ，８ｂ，１０ｂは、補正座標に従って各支持体２ｂ，６ａ，８ａ，１０ａを移動させる。
【００９４】
最後に、数値制御装置１６は、ＮＣプログラム中のツールパスが終了か否かを判断する（ステップＳ４７）。ここで、ツールパスが終了ではないと判断された場合には、前記ステップＳ３３以降の処理が繰り返し行われる。一方、ツールパスが終了であると判断された場合には、数値制御が終了する。以上のようにして、当該第１実施形態の数値制御装置１６による工作機械の数値制御が行われる。
【００９５】
以上説明したように、この第１実施形態では、数値制御装置１６のうち誤差データ取得部２０、誤差データ格納部２２、メモリ２４及び指令位置読取り部２６は、工作機械の機械構造に依存しない部分であるため、機械構造が異なる各種工作機械に共通して適用可能である。また、各種工作機械の機械構造が異なることに起因してその工作機械の移動装置が移動させる対象物の位置や姿勢の形態が異なる場合であっても、複数の移動装置の各駆動装置がそれぞれの機械軸で支持体を動かすことによって対象物を移動させるという構成は共通しているため、補正演算部３０と駆動制御部３２は機械構造が異なる工作機械に共通して適用することが可能である。従って、第１実施形態の数値制御装置１６では、指令位置から機械軸座標を算出する機械軸座標算出部２８のみが工作機械の機械構造に依存する部分であり、この機械軸座標算出部２８のみを各工作機械の機械構造に応じて構成し直せば、当該数値制御装置１６の誤差補正システムの大部分を機械構造の異なる各種工作機械に流用することができる。このため、第１実施形態では、機械構造の異なる各種工作機械における誤差補正システムの共通化を促進することができる。
【００９６】
また、第１実施形態の数値制御装置１６では、補正演算部３０が、各移動装置２，６，８，１０を構成する駆動装置２ｃ，６ｂ，８ｂ，１０ｂの機械軸毎の誤差データに基づいて、数値制御プログラムが指示する指令位置に対応する機械軸毎の座標を補正する。すなわち、工具等の移動対象物の位置や姿勢に基づく誤差データからは互いに平行な移動軸毎の誤差が判別不可能であることによりその平行な移動軸を持つ移動装置の動作を誤差補正できないが、第１実施形態の数値制御装置１６では、各移動装置２，６，８，１０による対象物の移動を実行するための駆動装置２ｃ，６ｂ，８ｂ，１０ｂの駆動の誤差補正を各々の機械軸についての誤差データに基づいて行うため、そのような駆動装置２ｃ，６ｂ，８ｂ，１０ｂの動作の誤差補正は、各移動装置２，６，８，１０の移動軸が互いに平行であるか否かに関係なく行うことができる。その結果、第１実施形態の数値制御装置１６では、移動装置８，１０の移動軸が互いに平行であっても、それらの移動装置８，１０の動作をそれぞれ誤差補正することができる。
【００９７】
従って、第１実施形態の数値制御装置１６では、機械構造の異なる各種工作機械における誤差補正システムの共通化を促進しつつ、互いに平行な移動軸を持つ移動装置８，１０を含む工作機械でもその移動装置８，１０の動作の誤差補正を行うことができる。
【００９８】
また、第１実施形態では、数値制御装置１６が、移動対象物が特定の位置に位置決めされた時の実測機械軸座標からその特定の位置における理論的機械軸座標を減じることにより誤差データを算出する誤差演算部２０ｃを備えるため、工作機械に設けられた数値制御装置１６内で誤差データの蓄積からその誤差データに基づく各機械軸毎の誤差補正に至る一連の誤差補正のプロセスを実施することができる。
【００９９】
また、第１実施形態では、第１水平支持体８ａ及び第２水平支持体１０ａがワーク移動装置２側へ張り出した状態で、工具、主軸ヘッド１２、第１水平支持体８ａ及び第２水平移動装置１０の重量によりコラム４が撓み、それによって工具の指令位置に対して工具の実際の位置が誤差を生じる虞がある。しかし、この第１実施形態では、数値制御装置１６によって、前記重量によるコラム４の撓みに起因する工具位置の誤差を補正することができる。
【０１００】
（第２実施形態）
次に、図７を参照して、本発明の第２実施形態による工作機械の構成について説明する。
【０１０１】
この第２実施形態による工作機械は、テーブル４２ｂ上に載置されたワーク上で工具を水平方向、鉛直方向、鉛直軸回りの回転方向、水平軸を中心とした揺動方向の各方向に移動させながらその工具でワークの加工を行うものである。そして、この工作機械では、工具を鉛直方向に移動させる２つの移動装置（第１鉛直移動装置４６，第２鉛直移動装置５０）が設けられており、その両移動装置の機械軸が互いに平行となっている。
【０１０２】
具体的には、この工作機械は、ワーク移動装置４２と、複数本のコラム４４と、図略の工具と、主軸ヘッド１２と、第１鉛直移動装置４６と、水平移動装置４８と、第２鉛直移動装置５０と、回転移動装置５２と、揺動装置５４と、制御ボックス５６とを備える。これらのうち第１鉛直移動装置４６、水平移動装置４８、第２鉛直移動装置５０、回転移動装置５２及び揺動装置５４は、主軸ヘッド１２に保持された工具を各方向へ移動させるものである。
【０１０３】
ワーク移動装置４２は、ワークを水平面内の特定方向に移動させる。このワーク移動装置４２は、所定の設置場所に設置されたベッド４２ａと、そのベッド４２ａ上に移動可能に設けられたテーブル４２ｂと、そのテーブル４２ｂを動かすテーブル駆動装置４２ｃ（図８参照）とを有する。テーブル４２ｂは、ワークを下から支持するものである。すなわち、ワークは、テーブル上に載置される。そして、テーブル４２ｂは、水平面内で特定方向に延びるＸ軸方向に移動可能にベッド４２ａ上に搭載されている。Ｘ軸は、本発明のワーク機械軸の概念に含まれるものである。テーブル駆動装置４２ｃは、ベッド４２ａに設けられており、テーブル４２ｂをＸ軸方向に動かす。
【０１０４】
各コラム４４は、ワーク移動装置４２の幅方向においてそのワーク移動装置４２を挟んで互いに対向する位置にそれぞれ立設されている。すなわち、コラム４４は、水平方向でワークの移動方向と直交する方向においてワーク移動装置４２を挟んで互いに対向する位置に立設されている。各コラム４４は、鉛直方向に延びている。
【０１０５】
主軸ヘッド１２は、上記第１実施形態と同様、工具を保持し、その工具を軸回りに回転させるものである。
【０１０６】
第１鉛直移動装置４６は、クロスレール４６ａと、第１鉛直駆動装置４６ｂ（図８参照）とを有する。クロスレール４６ａは、ワーク移動装置４２の両側のコラム４４に水平姿勢で掛け渡されている。このクロスレール４６ａは、コラム４４の前面で支持されている。そして、クロスレール４６ａは、コラム４４によりそのコラム４４に沿って鉛直方向に延びるＷ軸方向に移動可能に支持されている。なお、Ｗ軸は、本発明の第１鉛直機械軸の概念に含まれるものである。また、クロスレール４６ａは、水平移動装置４８を支持している。
【０１０７】
第１鉛直駆動装置４６ｂは、クロスレール４６ａをＷ軸方向に動かすものである。この第１鉛直駆動装置４６ｂは、クロスレール４６ａの設けられた図略のモータと、各コラム４４にそれぞれ沿うように付設された図略のボールねじと、前記モータの動力を前記各ボールねじに同期するように伝達する図略の伝達機構とを有している。各ボールねじは、クロスレール４６ａの長手方向における対応する端部と螺合しており、そのボールねじの回転駆動に応じてクロスレール４６ａがＷ軸方向に移動するようになっている。
【０１０８】
水平移動装置４８は、サドル４８ａと、水平駆動装置４８ｂ（図８参照）とを有する。サドル４８ａは、前記Ｘ軸と前記Ｗ軸の両方に垂直なＹ軸方向に移動可能にクロスレール４６ａに搭載されている。すなわち、サドル４８ａは、テーブル４２ｂの上方においてそのテーブル４２ｂを幅方向に横切るようにクロスレール４６ａの長手方向に移動可能となっている。なお、前記Ｙ軸は、本発明の水平機械軸の概念に含まれるものである。サドル４８ａは、第２鉛直移動装置５０を支持している。水平駆動装置４８ｂは、サドル４８ａをＹ軸方向に動かすものである。
【０１０９】
第２鉛直移動装置５０は、鉛直支持体５０ａと、第２鉛直駆動装置５０ｂ（図８参照）とを有する。鉛直支持体５０ａは、前記Ｗ軸と平行なＺ軸方向（鉛直方向）に移動可能にサドル４８ａに設けられている。なお、Ｚ軸は、本発明の第２鉛直機械軸の概念に含まれるものである。鉛直支持体５０ａは、クロスレール４６ａよりも下側でかつワーク移動装置４２の上方の位置において回転移動装置５２を支持している。第２鉛直駆動装置５０ｂは、鉛直支持体５０ａをＺ軸方向に動かすものである。
【０１１０】
回転移動装置５２は、回転支持体５２ａと、回転駆動装置５２ｂ（図８参照）とを有する。回転支持体５２ａは、鉛直軸回りのＣ軸方向に回転可能に鉛直支持体５０ａに設けられている。なお、Ｃ軸は、本発明の回転機械軸の概念に含まれるものである。回転支持体５２ａは、その下部において揺動装置５４を支持している。回転駆動装置５２ｂは、回転支持体５２ａをＣ軸方向に回転させるものである。
【０１１１】
揺動装置５４は、揺動支持体５４ａと、揺動駆動装置５４ｂ（図８参照）とを有する。揺動支持体５４ａは、水平軸を中心としたＡ軸方向に揺動可能に回転支持体５２ａに設けられている。なお、Ａ軸は、本発明の揺動機械軸の概念に含まれるものである。揺動支持体５４ａは、主軸ヘッド１２をその主軸ヘッド１２による工具の回転軸が当該揺動支持体５４ａの揺動中心である水平軸に対して垂直となるように支持している。揺動駆動装置５４ｂは、揺動支持体５４ａをＡ軸方向に揺動させるものである。
【０１１２】
制御ボックス５６は、上記第１実施形態の制御盤１４と基本的に同様のものであり、前記各駆動装置４２ｃ，４６ｂ，４８ｂ，５０ｂ，５２ｂ，５４ｂや、主軸ヘッド１２、その他、工作機械の各部の制御及び操作を行う。この制御ボックス５６には、上記第１実施形態の手動操作装置１４ａ及びデータ取得スイッチ１４ｂと同様の手動操作装置５６ａ及びデータ取得スイッチ５６ｂが設けられている。そして、この制御ボックス５６内に数値制御装置５８が組み込まれている。
【０１１３】
次に、図８を参照して、この第２実施形態による数値制御装置５８の構成について説明する。
【０１１４】
この第２実施形態の数値制御装置５８では、前記第１実施形態の数値制御装置１６と機械軸座標算出部２８に異なる部分がある。
【０１１５】
すなわち、この第２実施形態の数値制御装置５８の機械軸座標算出部２８は、指令位置から主軸ヘッド１２の主軸位置を算出する主軸位置算出部２８ａと、その主軸位置算出部２８ａによって算出された主軸位置を前記各駆動装置４２ｃ，４６ｂ，４８ｂ，５０ｂ，５２ｂ，５４ｂに駆動を指示するための各機械軸（Ｘ軸，Ｗ軸，Ｙ軸，Ｚ軸，Ｃ軸，Ａ軸）毎の座標に変換する座標変換部２８ｃとを有する。座標変換部２８ｃは、前記主軸位置から前記各機械軸の座標への変換を逆運動学関係式を用いて行うが、この逆運動学関係式が上記第１実施形態の数値制御装置１６の座標変換部２８ｂが用いる逆運動学関係式と異なる。この第２実施形態では、当該第２実施形態の工作機械の機械構造、すなわち各移動装置４２，４６，４８，５０，５２，５４それぞれの構造やそれら各移動装置間の相対的な位置関係及び支持構造等に応じて、主軸位置の座標を各機械軸（Ｘ軸，Ｗ軸，Ｙ軸，Ｚ軸，Ｃ軸，Ａ軸）の座標に適切に変換可能な関係式が作成されて座標変換部２８ｃで用いられるようにプログラムされている。
【０１１６】
また、駆動制御部３２は、補正座標に基づいて、上記第１実施形態の場合よりも多い６つの駆動装置４２ｃ，４６ｂ，４８ｂ，５０ｂ，５２ｂ，５４ｂの駆動制御を行うようになっている。
【０１１７】
この第２実施形態による数値制御装置５８の上記以外の構成は、上記第１実施形態による数値制御装置１６の構成と同様である。
【０１１８】
次に、図１０のフローチャートに沿って第２実施形態の数値制御装置５８による誤差データの取得プロセスについて説明する。
【０１１９】
当該誤差データの取得プロセスでは、まず、図９に示すように、治具プレート１００をワーク移動装置４２のテーブル４２ｂ上の初期位置にセットする（ステップＳ１）。この際、用いる治具プレート１００は、上記第１実施形態で用いた治具プレート１００と同様のものである。この治具プレート１００をテーブル４２ｂ上に寝かせた状態で載置し、揺動支持体５４ａの揺動角度が０度の状態（主軸ヘッド１２の回転軸が鉛直方向に延びる状態）で治具プレート１００の中央の基準穴１００ａの中心に主軸ヘッド１２の回転軸の位置が一致するように治具プレート１００を配置する。
【０１２０】
次に、上記第１実施形態で用いたのと同様の基準工具１０２を主軸ヘッド１２に取り付ける（ステップＳ３）。この際、揺動装置５４において、揺動支持体５４ａを揺動角度が０の姿勢、すなわち基準工具１０２の軸心が鉛直方向に延びる姿勢で固定しておく。
【０１２１】
その後、上記第１実施形態と同様にして治具プレート１００の中央の基準穴１００ａに対応する機械軸座標（基準座標）を計測し（ステップＳ５）、その計測された基準座標に基づいて、数値制御装置５８の誤差データ格納部２２に誤差テーブルの格子区切り座標が登録される（ステップＳ７）。ここで、Ｘ軸、Ｙ軸、Ｚ軸、Ｗ軸については、第１実施形態と同様の格子区切り座標が登録される一方、それらに加えて、Ａ軸について０度が格子区切り座標として登録され、Ｃ軸について（０度，９０度，１８０度，２７０度，３６０度）が格子区切り座標として登録される。なお、Ａ軸の格子区切り座標として０度が登録されるのは、本実施形態では、揺動支持体５４ａをＡ軸方向において０度、すなわち鉛直姿勢に固定した状態で誤差データを取得するためである。
【０１２２】
その後、ステップＳ９，Ｓ１１，Ｓ１３の各処理は、上記第１実施形態おけるステップＳ９，Ｓ１１，Ｓ１３の各処理と同様に行われる。
【０１２３】
次に、カウンタ２０ｄにおいて、ｃｉ値がｃｉ＝０にリセットされる（ステップＳ１５）。このｃｉ値は、誤差データを取得する際のＣ軸方向における回転支持体５４ａの回転角度に対応した値である。すなわち、ｃｉ＝０は回転支持体５４ａの回転角度を０度とすること、ｃｉ＝１は回転支持体５４ａの回転角度を９０度とすること、ｃｉ＝２は回転支持体５４ａの回転角度を１８０度とすること、ｃｉ＝３は回転支持体５４ａの回転角度を２７０度とすること、ｃｉ＝４は回転支持体５４ａの回転角度を３６０度とすることをそれぞれ表す。
【０１２４】
次に、操作者が、手動操作装置５６ａを操作して回転支持体５４ａをｃｉ値に対応するＣ軸方向の回転角度に位置決めする（ステップＳ１７）。ここで、前記ステップＳ１５でｃｉ＝０とされていることから、Ｃ軸方向の回転角度が０度となるように回転支持体５４ａを位置決めする。
【０１２５】
その後、ステップＳ１９，Ｓ２１，Ｓ２３，Ｓ２５，Ｓ２７，Ｓ２９の各処理は、上記第１実施形態におけるＳ１５，Ｓ１７，Ｓ１９，Ｓ２１，Ｓ２３，Ｓ２５の各処理とほぼ同様に行われる。ただし、ステップＳ２３の誤差データの算出においては、Ｘ軸、Ｙ軸、Ｚ軸、Ｗ軸、Ａ軸、Ｃ軸についての誤差データがそれぞれ算出される。
【０１２６】
次に、カウンタ２０ｄにおいてｃｉ値が＋１だけカウントアップされ（ステップＳ３１）、その後、誤差データ取得部２０においてｃｉ値が５以上であるか否かが判断される（ステップＳ３３）。ここで、ｃｉ値が５以上ではない、すなわちｃｉ値が４以下であると判断された場合には、ステップＳ１７以降の処理が繰り返し行われる。具体的には、ｃｉ＝１以降のｃｉ値にそれぞれ対応するＣ軸方向の回転角度（９０度，１８０度，２７０度，３６０度）に回転支持体５４ａがそれぞれ位置決めされ、その度に、治具プレート１００の９個の基準穴１００ａに対応する誤差データの算出及びその誤差データの誤差テーブルへの登録が行われる。
【０１２７】
そして、ステップＳ３１でｃｉ値が５にカウントアップされ、その結果、ステップＳ３３でｃｉ値が５以上であると判断されると、次に、カウンタ２０ｄにおいてｊ値が＋１だけカウントアップされ（ステップＳ３５）、その後、誤差データ取得部２０においてｊ値が４以上であるか否かが判断される（ステップＳ３７）。ここで、ｊ値が４以上ではない、すなわちｊ値が３以下であると判断された場合には、ステップＳ１１以降の処理が繰り返し行われる。この処理は、上記第１実施形態の場合と基本的に同様である。具体的には、この処理では、治具プレート１００をｊ値に対応する各位置にそれぞれセットし、その度に、回転支持体５４ａをｃｉ＝０〜４に対応する各回転角度にそれぞれ位置決めするとともに、その各回転角度毎に９個の基準穴１００ａに対応する誤差データをそれぞれ取得する。
【０１２８】
なお、治具プレート１００のｊ＝１以降の各値に対応する各位置へのセットの仕方は以下の通りである。
【０１２９】
すなわち、ｊ＝１の時には、図９に示すように、ｊ＝０の時にセットした治具プレート１００のＹ軸方向における両端部の上に５００ｍｍの高さを有するスペーサ１０４をそれぞれ載置し、その上に２枚目の治具プレート１００を積載する。この際、ｊ＝０の時に用いた１枚目の治具プレート１００と２枚目の治具プレート１００の外縁の４面に定規１０６を当てて１枚目の治具プレート１００に対して２枚目の治具プレート１００の位置を合わせることにより、ｊ＝０の時に用いた１枚目の治具プレート１００に対して２枚目の治具プレート１００を直上に配置する。ｊ＝１の時は、ｊ＝０の時に１枚目の治具プレート１００を用いて誤差データを取得した方法と同様の方法で２枚目の治具プレート１００の各基準穴１００ａに対して基準工具１０２を位置決めして誤差データを取得する。また、ｊ＝２の時は、ｊ＝１の時に用いた２枚目の治具プレート１００を同様に用いて誤差データを取得する。そして、ｊ＝３の時には、２枚目の治具プレート１００の上にさらに５００ｍｍの高さのスペーサ１０４を上記と同様に積み重ね、その上に３枚目の治具プレート１００を同様に載置する。この場合も、定規１０６を用いて１枚目及び２枚目の治具プレート１００の直上に３枚目の治具プレート１００を配置する。そして、この３枚目の治具プレート１００を用いてｊ＝０〜２の時と同様にｊ＝３の時の誤差データの取得を行う。
【０１３０】
この第２実施形態の数値制御装置５８による誤差データの取得プロセスの上記以外の構成は、上記第１実施形態と同様である。
【０１３１】
次に、第２実施形態の数値制御装置５８による工作機械の数値制御プロセスについて説明する。
【０１３２】
この第２実施形態における工作機械の数値制御プロセスは、基本的には上記第１実施形態における工作機械の数値制御プロセスと同様である。ただし、この第２実施形態では、工具の指令位置からＸ軸，Ｙ軸，Ｚ軸，Ｗ軸，Ａ軸，Ｃ軸の各機械軸毎の座標を算出し、その各機械軸座標について誤差テーブルに基づいて上記第１実施形態と同様の手法で各機械軸毎の誤差推定量を算出する。なお、この際、Ａ軸については、補間計算を行わず、当該Ａ軸方向の揺動支持体５４ａの揺動角度は０度とされる。そして、算出された各機械軸毎の誤差推定量に基づいて前記各機械軸座標を補正することにより各機械軸毎の補正座標が算出され、その補正座標へテーブル４２ｂ、クロスレール４６ａ、サドル４８ａ、鉛直支持体５０ａ、回転支持体５２ａ及び揺動支持体５４ａを移動させるようにテーブル駆動装置４２ｃ、第１鉛直駆動装置４６ｂ、水平駆動装置４８ｂ、第２鉛直駆動装置５０ｂ、回転駆動装置５２ｂ及び揺動駆動装置５４ｂの駆動が制御される。
【０１３３】
この第２実施形態による数値制御プロセスの上記以外の構成は、上記第１実施形態と同様である。
【０１３４】
この第２実施形態では、コラム４４によって支持される各装置の重量によりコラム４４に撓みが生じたり、クロスレール４６ａに搭載された各装置の重量によりクロスレールに撓みが生じたりすることがある。コラム４４及びクロスレール４６ａに撓みが生じると、工具の指令位置に対して工具の実際の位置が誤差を生じる虞がある。しかし、この場合でも、数値制御装置５８によって、コラム４４及びクロスレール４６ａの撓みに起因する工具位置の誤差を補正することができる。
【０１３５】
また、この第２実施形態では、クロスレール４６ａを動かすＷ軸と鉛直支持体５０ａを動かすＺ軸が互いに平行となっているが、数値制御装置５８により各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正が行われるため、その互いに平行なＷ軸とＺ軸について個別に補正量を求めることができ、工具位置の誤差補正を適切に行うことができる。
【０１３６】
また、この第２実施形態では、回転駆動装置５２ｂにより回転支持体５２ａを回転させて工具をＣ軸方向に回転させるため、そのＣ軸方向における回転角度毎に異なった誤差が生じ得るが、数値制御装置５８が各機械軸毎の誤差データに基づいて各機械軸毎の誤差補正を行うため、Ｃ軸方向における回転角度毎に補正すべき誤差を求めることができる。その結果、この第２実施形態では、Ｃ軸方向の回転角度毎に適切な誤差補正を行うことができる。
【０１３７】
この第２実施形態による上記以外の効果は、上記第１実施形態と同様である。
【０１３８】
（第３実施形態）
次に、図１１を参照して、本発明の第３実施形態による工作機械の構成について説明する。
【０１３９】
この第３実施形態による工作機械は、パラレルリンク機構６６を備えた工作機械である。そして、この工作機械では、パラレルリンク機構６６全体を水平方向に移動させる水平移動装置６４を備えており、その水平移動装置６４による移動軸（Ｕ軸）と、パラレルリンク機構６６が工具を移動させる複数の移動軸のうちの水平方向の移動軸（Ｘ軸）とが平行となっている。
【０１４０】
具体的には、この工作機械は、ワーク支持装置６２と、図略の工具と、主軸ヘッド１２と、水平移動装置６４と、パラレルリンク機構６６と、図略の制御盤とを備えている。
【０１４１】
ワーク支持装置６２は、ワークを支持するための装置であり、所定の設置場所に設置されている。このワーク支持装置６２は、鉛直面である支持面６２ａを有しており、この支持面６２ａにワークを接触させた状態でそのワークを支持する。
【０１４２】
主軸ヘッド１２は、上記第１実施形態と同様、工具を保持し、その工具を軸回りに回転させるものである。
【０１４３】
水平移動装置６４は、パラレルリンク機構６６全体を水平面内においてワーク支持装置６２の支持面６２ａに平行な方向に延びるＵ軸方向へ移動させるものである。なお、Ｕ軸は、本発明の水平機械軸の概念に含まれるものである。この水平移動装置６４は、基台６４ａと、水平支持体６４ｂと、水平駆動装置６４ｃ（図１２参照）とを有する。
【０１４４】
基台６４ａは、支持面６２ａに垂直な方向においてワーク支持装置６２から離間した場所に設置されている。
【０１４５】
水平支持体６４ｂは、Ｕ軸方向に移動可能に基台６４ａ上に設けられている。この水平支持体６４ｂは、パラレルリンク機構６６を下から支持している。具体的には、この水平支持体６４ｂの上面は、略水平面となっており、この上面にパラレルリンク機構６６の後述する支持脚７８ａが設置されている。
【０１４６】
水平駆動装置６４ｃは、水平支持体６４ｂをＵ軸方向に動かすものである。
【０１４７】
パラレルリンク機構６６は、主軸ヘッド１２を当該主軸ヘッド１２による工具の回転軸が水平方向でかつワーク支持装置６２の支持面６２ａに対して垂直な方向に延びるような姿勢で支持し、その姿勢の主軸ヘッド１２を平行移動させるものである。このパラレルリンク機構６６は、主軸ヘッド１２とともに工具をＸ軸、Ｙ軸、Ｚ軸の各座標からなる指令位置に移動させる。なお、Ｘ軸は、前記Ｕ軸に平行な水平軸であり、Ｙ軸は、鉛直軸である。Ｚ軸は、Ｘ軸とＹ軸の両方に垂直な方向に延びる軸である。このパラレルリンク機構６６は、ヘッド支持部６８と、複数のストラット７０〜７５と、先端ジョイント７６と、ストラット支持機構７８と、複数のストラット駆動装置８０〜８５とを有する。
【０１４８】
ヘッド支持部６８は、主軸ヘッド１２を支持するものである。このヘッド支持部６８は、主軸ヘッド１２による工具の回転軸が当該ヘッド支持部６８の軸心と同軸となるように主軸ヘッド１２を支持する。また、ヘッド支持部６８は、主軸ヘッド１２が保持する工具の先端がワーク支持装置６２の支持面６２ａに対向するとともにその支持面６２ａに対して垂直な水平方向に工具の回転軸が延びるように主軸ヘッド１２を支持する。
【０１４９】
第１〜第６ストラット７０〜７５は、それぞれ、一方向に延びる棒状に形成されている。本実施形態では、６本のストラット７０〜７５が設けられている。各ストラット７０〜７５は、その一端部が先端ジョイント７６を介してヘッド支持部６８の基端部側（主軸ヘッド１２を支持する側と反対側）に関節駆動可能なように接続されている。そして、第１〜第６ストラット７０〜７５は、このようにヘッド支持部６８に接続されることによってヘッド支持部６８を支持している。
【０１５０】
ストラット支持機構７８は、水平移動装置６４の水平支持体６４ｂ上に設置され、ストラット７０〜７５を支持するものである。このストラット支持機構７８は、各ストラット７０〜７５をそのヘッド支持部６８を支持する一端部側が水平支持体６４ｂ上からワーク支持装置６２側へ張り出すような姿勢でそれぞれ支持する。そして、このストラット支持機構７８は、各ストラット７０〜７５をその長手方向に延びるＬ軸方向に移動可能にそれぞれ支持する。なお、Ｌ軸は、本発明のストラット機械軸の概念に含まれるものである。
【０１５１】
具体的には、ストラット支持機構７８は、水平支持体６４ｂ上に設置された支持脚７８ａと、その支持脚７８によって支えられたストラット支持部７８ｂとを有する。ストラット支持部７８ｂは、ワーク支持装置６２側から見て正三角形の各頂点に位置するように配設されている。各ストラット支持部７８ｂは、ストラット７０〜７５を２本ずつ支持している。そして、各ストラット支持部７８ｂは、ストラット７０〜７５のうち対応するものの長手方向の中間部分を支持している。各ストラット支持部７８ｂは、２つの中間ジョイント７８ｃをそれぞれ有しており、各中間ジョイント７８ｃが１本のストラットと接続している。各中間ジョイント７８ｃは、接続するストラットをその長手方向（Ｌ軸方向）に移動可能に支持している。
【０１５２】
第１〜第６ストラット駆動装置８０〜８５（図１２参照）は、ヘッド支持部６８に支持された主軸ヘッド１２が平行移動するように第１〜第６ストラット７０〜７５を各々のＬ軸方向に動かすものである。すなわち、第１ストラット駆動装置８０は第１ストラット７０を、第２ストラット駆動装置８１は第２ストラット７１を、第３ストラット駆動装置８２は第３ストラット７２を、第４ストラット駆動装置８３は第４ストラット７３を、第５ストラット駆動装置８４は第５ストラット７４を、第６ストラット駆動装置８５は第６ストラット７５を、それぞれ各ストラットのＬ軸方向に動かす。
【０１５３】
図略の制御盤は、前記各駆動装置６４ｃ，８０〜８５や主軸ヘッド１２、その他の駆動部の制御及び操作を行うためのものである。この制御盤には、上記第１実施形態の手動操作装置１４ａ及びデータ取得スイッチ１４ｂと同様の手動操作装置及びデータ取得スイッチが設けられている。この第３実施形態での手動操作装置は、水平駆動装置６４ｃ及び第１〜第６ストラット駆動装置８０〜８５を個別に任意の駆動量だけ駆動できるように構成されている。これにより、水平支持体６４ｂと第１〜第６ストラット７０〜７５を個別に任意の移動量だけ動かせるようになっている。また、データ取得スイッチは、操作者が押すことにより、第１〜第６ストラット駆動装置８０〜８５が示す第１〜第６ストラット７０〜７５各々のＬ機座標が数値制御装置９０の誤差データ取得部２０の実測座標取得部２０ｂによって取り込まれるようになっている。そして、制御盤内には、数値制御装置９０が組み込まれている。
【０１５４】
次に、図１２を参照して、この第３実施形態による数値制御装置９０の構成について説明する。
【０１５５】
この第３実施形態の数値制御装置９０は、機械軸座標算出部２８の部分において、第１実施形態の数値制御装置１６と異なっている。
【０１５６】
具体的には、この第３実施形態の数値制御装置９０の機械軸座標算出部２８は、工具の指令位置から主軸位置及び工具の姿勢ベクトルを算出する主軸位置算出部２８ａと、その主軸位置算出部２８ａによって算出された主軸位置及び姿勢ベクトルを前記各駆動装置６４ｃ，８０〜８５に駆動を指示するためのＵ軸及び各ストラット７０〜７５のＬ軸毎の座標に変換する座標変換部２８ｄとを有する。
【０１５７】
座標変換部２８ｄは、前記主軸位置からＵ軸及び各ストラット７０〜７５のＬ軸の座標への変換を逆運動学関係式を用いて行うが、この逆運動学関係式が上記第１実施形態の数値制御装置１６の座標変換部２８ｂが用いる逆運動学関係式と異なる。この第３実施形態では、当該第３実施形態の工作機械の機械構造、すなわち水平移動装置６４及びパラレルリンク機構６６の構造やそれらの相対的な位置関係等に応じて、主軸位置の座標をＵ軸及び各ストラット７０〜７５のＬ軸の座標に適切に変換可能な関係式が作成されて座標変換部２８ｄで用いられるようにプログラムされている。また、駆動制御部３２は、補正座標に基づいて、水平駆動装置６４ｃ及び第１〜第６ストラット駆動装置８０〜８５をそれぞれ駆動制御する。
【０１５８】
この第３実施形態による数値制御装置９０の上記以外の構成は、上記第１実施形態による数値制御装置１６の構成と同様である。
【０１５９】
次に、図１５のフローチャートに沿って第３実施形態の数値制御装置９０による誤差データの取得プロセスについて説明する。
【０１６０】
当該誤差データの取得プロセスでは、まず、治具プレート１００を図１３及び図１４に示すワーク支持装置６２における初期位置にセットする（ステップＳ１）。この際、用いる治具プレート１００は、上記第１実施形態で用いた治具プレート１００と同様のものである。
【０１６１】
次に、上記第１実施形態で用いたのと同様の基準工具１０２を主軸ヘッド１２に取り付け（ステップＳ３）、その後、上記第１実施形態と同様にして治具プレート１００の中央の基準穴１００ａに対応する基準座標（Ｘ０，Ｙ０，Ｚ０）を計測する（ステップＳ５）。
【０１６２】
そして、数値制御装置９０の誤差データ格納部２２に、計測された基準座標に基づいて誤差テーブルの格子区切り座標が登録される（ステップＳ７）。ここで、Ｘ軸、Ｙ軸、Ｚ軸については、第１実施形態と同様の格子区切り座標が登録される一方、それらに加えて、Ｕ軸について（０，１０００，２０００）が格子区切り座標として登録される。
【０１６３】
その後、カウンタ２０ｄにおいて、ｊ値がｊ＝０にリセットされる（ステップＳ９）。なお、この第３実施形態では、ｊ値は、治具プレート１００をＸ軸（Ｕ軸）方向とＸ軸方向においてどの位置にセットして誤差データの取得を行うかを表す。具体的には、図１３及び図１４に示すように、ｊ＝０は、前記支持面６２ａに対向する状態でＸ軸（Ｕ軸）方向において左端寄りの位置でかつＺ軸方向において支持面６２ａ寄りの位置、すなわち初期位置と同じ位置に対応しており、ｊ＝１は、Ｘ軸方向においてｊ＝０と同様の位置でかつＺ軸方向においてｊ＝０の位置から＋２００ｍｍ移動した位置に対応している。また、ｊ＝２は、ｊ＝０の位置からＸ軸方向において＋１０００ｍｍ移動した位置に対応しており、ｊ＝３は、ｊ＝２の位置からＺ軸方向において＋２００ｍｍ移動した位置に対応している。また、ｊ＝４は、ｊ＝０の位置からＸ軸方向において＋２０００ｍｍ移動した位置に対応しており、ｊ＝５は、ｊ＝４の位置からＺ軸方向に＋２００ｍｍ移動した位置に対応している。
【０１６４】
次に、操作者が、手動操作装置を操作して水平駆動装置６４ｃが駆動する水平支持体６４ｂのＵ軸座標をｊ値に対応する座標に位置決めする（ステップＳ１３）。ここで、前記ステップＳ９でｊ＝０とされていることから、水平支持体６４ｂのＵ軸座標はそのｊ値に対応した０ｍｍとされ、基準座標の計測時から水平支持体８ａを動かす必要はない。なお、ｊ＝１のときは、ｊ＝０のときと同様、水平支持体６４ｂのＵ軸座標は０ｍｍとされ、ｊ＝２，３のときは、水平支持体６４ｂのＵ軸座標は１０００ｍｍとされる。また、ｊ＝４，５のときは、水平支持体６４ｂのＵ軸座標は２０００ｍｍとされる。
【０１６５】
次に、カウンタ２０ｄにおいて、ｉ値がｉ＝０にリセットされ（ステップＳ１５）、その後、操作者が手動操作装置を操作して基準工具１０２をｉ値に対応する基準穴１００ａにその基準工具１０２の姿勢を含めて位置決めする（ステップＳ１７）。ここで、基準工具１０２の姿勢については、当該基準工具１０２の軸心がＺ軸方向に延びるような姿勢となるように位置決めする。
【０１６６】
次に、操作者がデータ取得スイッチを押すことにより、実測座標取得部２０ｂがその時の各ストラット７０〜７５のＬ軸についての実測機械軸座標を取得し、誤差演算部２０ｃがこの時の実測機械軸座標と工具の理論的機械軸座標及び工具の姿勢に基づいて誤差データを算出する（ステップＳ１９）。
【０１６７】
具体的には、誤差演算部２０ｃは、前記理論的機械軸座標及び工具の姿勢からなるデータを逆運動学関係式を用いて各ストラット７０〜７５のＬ軸座標に変換する。そして、誤差演算部２０ｃは、変換して得られた各ストラット７０〜７５のＬ軸座標から実測のＬ軸座標を減じることにより、各ストラット７０〜７５のＬ軸についての誤差データを算出する。なお、誤差演算部２０ｃは、誤差データにＵ軸の誤差を０として含める。
【０１６８】
この後、上記第１実施形態のステップＳ２１と同様の誤差データの格納が行われる（ステップＳ２１）。この際、誤差データは、その取得された位置を表すＸ軸、Ｙ軸、Ｚ軸及びＵ軸についてのインデックスと関連付けられ、誤差データ格納部２２においてそのインデックスと対応する誤差テーブルの誤差配列の該当箇所に登録される。その後、上記第１実施形態と同様のステップＳ２３，Ｓ２５の処理が行われる。これにより、治具プレート１００の９個の基準穴１００ａのそれぞれについて誤差データの取得が行われる。
【０１６９】
次に、カウンタ２０ｄにおいてｊ値が＋１だけカウントアップされ（ステップＳ２７）、その後、誤差データ取得部２０においてｊ値が６以上であるか否かが判断される（ステップＳ２９）。ここで、ｊ値が６以上ではない、すなわちｊ値が５以下であると判断された場合には、ステップＳ１１以降の処理が繰り返し行われる。この処理では、治具プレート１００をｊ値に対応する各位置にそれぞれセットし、その度に、その各位置毎に９個の基準穴１００ａに対応する誤差データをそれぞれ取得する。
【０１７０】
この第３実施形態の数値制御装置９０による誤差データの取得プロセスの上記以外の構成は、上記第１実施形態と同様である。
【０１７１】
次に、第３実施形態の数値制御装置９０による工作機械の数値制御プロセスについて説明する。
【０１７２】
この第３実施形態における工作機械の数値制御プロセスは、基本的には上記第１実施形態における工作機械の数値制御プロセスと同様である。ただし、この第２実施形態では、主軸位置算出部２８ａが工具の指令位置から主軸位置のＸ軸，Ｙ軸，Ｚ軸の座標及び工具の姿勢ベクトルを算出し、座標変換部２８ｄがその算出された主軸位置及び姿勢ベクトルから各ストラット７０〜７５のＬ軸座標及びＵ軸座標を算出する。この際、座標変換部２８ｄは、主軸位置のＸ軸座標が５００よりも大きい場合には、そのＸ軸座標から５００を減じた値をＵ軸座標ｕとし、主軸位置のＸ軸座標が５００以下の場合には、Ｕ軸座標ｕを０とする。そして、座標変換部２８ｄは、主軸位置のＸ軸座標から前記Ｕ軸座標ｕを減じた値を変換前のＸ軸座標とし、それ以外のＹ軸座標、Ｚ軸座標及び姿勢ベクトルは前記指令位置から求めた算出した値を用いて、それらの各座標（ｘ−ｕ，ｙ，ｚ）及び姿勢ベクトルを逆運動学変換することにより、各ストラット７０〜７５のＬ軸座標を算出する。
【０１７３】
そして、補正演算部３０は、誤差テーブルの格子区切り座標と前記変換前の各座標（ｘ−ｕ，ｙ，ｚ）及びＵ軸座標ｕとを比較して、その座標（ｘ−ｕ，ｙ，ｚ，ｕ）が誤差テーブル内のどの区間に位置するかを求め、その位置に応じて必要であれば補間計算を行うことにより、各ストラット７０〜７５のＬ軸及びＵ軸の誤差推定量を求める。この誤差推定量を求める手法は、上記第１実施形態で用いられた手法と同様である。そして、補正演算部３０は、算出した各Ｌ軸及びＵ軸の誤差推定量に基づいて各ストラット７０〜７５のＬ軸座標及びＵ軸座標を補正することによりその各Ｌ軸及びＵ軸の補正座標を算出する。駆動制御部３２は、算出された補正座標へ対応する各ストラット７０〜７５及び水平支持体６４ｂを移動させるように第１〜第６ストラット駆動装置８０〜８５及び水平駆動装置６４ｃの駆動を制御する。
【０１７４】
この第３実施形態による数値制御プロセスの上記以外の構成は、上記第１実施形態と同様である。
【０１７５】
この第３実施形態では、水平支持体６４ｂ上から張り出すように設けられた各ストラット７０〜７５の端部にヘッド支持部６８が接続されているとともに、そのヘッド支持部６８によって主軸ヘッド１２が支持されているため、工具、主軸ヘッド１２及びヘッド支持部６８等の重量により各ストラット７０〜７５に撓みが生じ、それによって工具の指令位置に対して工具の実際の位置が誤差を生じる虞がある。しかし、この場合でも、数値制御装置９０によって、各ストラット７０〜７５の撓みに起因する工具位置の誤差を補正することができる。
【０１７６】
また、この第３実施形態では、パラレルリンク機構６６全体を支持する水平支持体６４ｂを移動させるＵ軸と、工具の指令位置を構成するＸ軸が互いに平行となっているが、数値制御装置９０により各ストラット７０〜７５のＬ軸及びＵ軸のそれぞれについての誤差データに基づいて各Ｌ軸及びＵ軸の誤差補正が行われるため、Ｕ軸とＸ軸とが平行であっても、そのＵ軸を含む各機械軸毎の補正量を個別に求めることができ、工具位置の誤差を適切に補正することができる。
【０１７７】
この第３実施形態による上記以外の効果は、上記第１実施形態と同様である。
【０１７８】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれる。
【０１７９】
例えば、上記実施形態では、数値制御装置が誤差演算部を有する誤差データ取得部を備えているが、誤差データの取得は工作機械に組み込まれた数値制御装置とは別の誤差取得用の装置によって行い、その取得した誤差データを工作機械に設けられた数値制御装置に付与するようにしてもよい。
【０１８０】
また、本発明による数値制御装置は、上記各実施形態で示したような工作機械以外の工作機械に適用してもよい。この場合でも、その適用する工作機械の機械構造に応じて機械軸座標算出部を構成すればよく、数値制御装置のうち機械軸座標算出部以外の部分は流用可能である。
【符号の説明】
【０１８１】
２  ワーク移動装置
２ａ  ベース
２ｂ  ワーク支持体
２ｃ  ワーク駆動装置
４  コラム
６  鉛直移動装置
６ａ  鉛直支持体
６ｂ  鉛直駆動装置
８  第１水平移動装置
８ａ  第１水平支持体
８ｂ  第１水平駆動装置
１０  第２水平移動装置
１０ａ  第２水平支持体
１０ｂ  第２水平駆動装置
１２  主軸ヘッド
１６  数値制御装置
２０ｃ  誤差演算部
２２  誤差データ格納部
２４  メモリ（プログラム記憶部）
２６  指令位置読取り部
２８  機械軸座標算出部
３０  補正演算部
３２  駆動制御部
４２  ワーク移動装置
４２ａ  ベース
４２ｂ  テーブル
４２ｃ  テーブル駆動装置
４４  コラム
４６  第１鉛直移動装置
４６ａ  クロスレール
４６ｂ  第１鉛直駆動装置
４８  水平移動装置
４８ａ  サドル
４８ｂ  水平駆動装置
５０  第２鉛直移動装置
５０ａ  鉛直支持体
５０ｂ  第２鉛直駆動装置
５２  回転移動装置
５２ａ  回転支持体
５２ｂ  回転駆動装置
５４  揺動装置
５４ａ  揺動支持体
５４ｂ  揺動駆動装置
６４  水平移動装置
６４ａ  基台
６４ｂ  水平支持体
６４ｃ  水平駆動装置
６６  パラレルリンク機構
６８  ヘッド支持部
７０〜７５  ストラット
７８  ストラット支持機構
８０〜８５  ストラット駆動装置
【図１】
0005632181.tif 000002
【図２】
0005632181.tif 000003
【図３】
0005632181.tif 000004
【図４】
0005632181.tif 000005
【図５】
0005632181.tif 000006
【図６】
0005632181.tif 000007
【図７】
0005632181.tif 000008
【図８】
0005632181.tif 000009
【図９】
0005632181.tif 000010
【図１０】
0005632181.tif 000011
【図１１】
0005632181.tif 000012
【図１２】
0005632181.tif 000013
【図１３】
0005632181.tif 000014
【図１４】
0005632181.tif 000015
【図１５】
0005632181.tif 000016