説明

補正マトリクス導出装置、誤差補正装置及び工作機械

【課題】ワークの加工位置の誤差を補正するとともに、ワーク上の複数の位置においてそれぞれ異なる大きさの誤差が生じている場合でもそれらの各誤差を全体的に小さくする補正を行えるようにする。
【解決手段】補正マトリクス導出装置20では、演算部26は、仮補正マトリクスにより第1補正変換した後の座標に基づいて選出した第1最大離間基準点の重み係数Gを所定の増加分g1だけ増加した値に再設定する第1重み係数再設定と、その後、各基準点100aの基準座標を補正変換するための補正マトリクスであって、各基準点100aの基準座標を当該補正マトリクスによって補正変換した後の座標と対応する計測座標との間の距離の二乗の値にその各基準点100aの重み係数Gを掛けた値を全ての基準点100aの分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する第2補正マトリクス算出演算とを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、補正マトリクス導出装置、誤差補正装置及び工作機械に関するものである。
【背景技術】
【0002】
従来、工作機械において、様々な要因によりワークの加工位置にずれが生じるため、その加工位置のずれを補正することが行われている。例えば、下記特許文献1には、このようなワークの加工位置のずれを補正するための工作機械の基準位置補正装置が開示されている。
【0003】
特許文献1に示された工作機械の基準位置補正装置は、工作機械の構成部材の熱変形に起因して発生するワークの加工誤差を補正するものである。この基準位置補正装置は、工作機械のワーク支持用のテーブルに固定され、第1基準穴と第2基準穴が設けられた治具と、ワーク加工用の工具が取り付けられて回転させられる工作機械の主軸に工具の代わりに取り付けられたタッチセンサとを有しており、そのタッチセンサを用いて前記治具の両基準穴の位置を検出するようになっている。具体的には、タッチセンサを水平軸方向に移動させて各基準穴の水平軸方向の中心位置を検出するとともにタッチセンサを垂直軸方向に移動させて各基準穴の垂直軸方向の中心位置を検出し、それら検出した両中心位置から各基準穴の中心位置間の距離を求める。そして、工作機械の構成部材が常温の時の前記両基準穴の中心位置間の距離を予め計測しておき、その常温時の両基準穴の中心位置間の距離に対する今回計測した両基準穴の中心位置間の距離の変化量を算出する。そして、この基準位置補正装置では、第1基準穴の中心位置を基準位置として、前記算出した距離の変化量の分、主軸とテーブルとの相対位置を補正するようになっている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−251621号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1の基準位置補正装置は、あくまで、装置側の熱変形に起因する主軸とテーブルとの相対位置の誤差を補正するものであり、ワークに各種要因による変形が生じたり、テーブルへのワークの設置位置にずれが生じたりした場合における加工位置の誤差を補正することはできず、さらに、ワーク上の複数の位置においてそれぞれ異なる加工位置の誤差が生じている場合には、それらの誤差が全体的に小さくなるような補正を行うことはできない。
【0006】
本発明は、上記の課題を解決するためになされたものであり、その目的は、ワークの変形や設置位置のずれに起因するワークの加工位置の誤差を補正できるようにするとともに、ワーク上の複数の位置においてそれぞれ異なる大きさの誤差が生じている場合でもそれらの各誤差を全体的に小さくする補正を行えるようにすることである。
【課題を解決するための手段】
【0007】
本願発明者は、上記目的を達成するために、基準座標軸上における座標が既知であるワーク上の複数の基準点について実際の座標(計測座標)を計測し、各基準点の基準座標軸上における既知の座標である基準座標を補正変換した場合にその補正変換後の各基準点の座標と対応する計測座標との間の距離の二乗の値を全ての基準点の分足し合わせた値が極小となるように各基準点の基準座標を補正変換可能な補正マトリクスを最小二乗法によって算出し、その補正マトリクスによりワークの加工指令を補正変換することを思いついた。
【0008】
この誤差補正の技術によれば、ワークの基準点の基準座標と計測座標との距離(誤差)に基づいてワークの加工指令を補正することになるので、ワークの変形や設置位置のずれに起因するワークの加工位置の誤差を補正できるようになる。また、この誤差補正では、前記補正マトリクスにより、前記補正変換後の各基準点の基準座標と対応する計測座標との間の距離の二乗和が極小となるようにワークの加工指令を補正変換することが可能であるので、ワーク上の複数の位置においてそれぞれ異なる大きさの誤差が生じている場合でもそれらの各誤差を全体的に小さくすることができる。
【0009】
ところで、機械加工の分野では、計測したワーク上の各基準点の全てにおいてその誤差が許容値以下になることを保証する必要がある場合が多いが、上記の誤差補正の技術では、ワーク上の複数の基準点の中に計測座標が基準座標から著しく変位している少数の基準点が含まれている場合には、その基準点の誤差を許容値以下になるような補正ができない虞がある。
【0010】
具体的には、上記の誤差補正の技術では、前記複数の基準点の中に計測座標が基準座標から著しく変位している少数の基準点が含まれていても、その基準点以外の基準点の誤差が補正マトリクスの算出に影響を与える要素として大きな比重を占める。このため、算出される補正マトリクスによって全基準点の基準座標の補正を行うと、前記著しく変位した基準点以外の基準点の誤差については許容値以下に補正されるものの、前記著しく変位した基準点の誤差については十分な補正ではなく、補正後も許容値よりも大きい誤差が残ってしまう場合がある。
【0011】
そこで、本願発明者は、このような著しく変位した基準点の誤差を最小化しつつ、全ての基準点の誤差を全体的に小さくする補正を行うために、以下のような構成の補正マトリックス導出装置、誤差補正装置及び工作機械を発明した。
【0012】
すなわち、本発明による補正マトリクス導出装置は、ワークとそのワークを加工するための工具とのうち少なくとも一方を基準座標軸上の移動ベクトルで表される加工指令に従って移動させることにより前記工具によるワークの加工を実行する駆動装置を備えた工作機械でのワークの実際の加工時に生じる加工位置の誤差を補正するように前記加工指令を変換するための補正マトリクスを導出する補正マトリクス導出装置であって、前記基準座標軸上における座標がそれぞれ与えられたワーク上の複数の基準点についてそれらの実際の座標をそれぞれ計測する計測装置と、前記複数の基準点に与えられた座標である基準座標と前記計測装置によって計測された前記複数の基準点の実際の座標である計測座標とに基づいて前記補正マトリクスを算出するための演算を行う演算部とを備え、前記演算部は、前記各基準点の前記基準座標を補正変換するための仮補正マトリクスであって、前記各基準点の前記基準座標を当該仮補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値を全ての基準点の分足し合わせた値が極小となるような仮補正マトリクスを最小二乗法によって算出する第1補正マトリクス算出演算と、その第1補正マトリクス算出演算によって算出された前記仮補正マトリクスにより前記各基準点の前記基準座標を補正変換する第1補正変換と、前記各基準点について等しい重み係数をそれぞれ設定する第1重み係数設定と、前記各基準点のうち前記基準座標を前記第1補正変換した後の座標と対応する前記計測座標との間の距離が最も大きい基準点である第1最大離間基準点を選出する第1選出と、その選出した前記第1最大離間基準点の前記重み係数を所定の増加分だけ増加した値に再設定する第1重み係数再設定と、その第1重み係数再設定の後、前記各基準点の前記基準座標を補正変換するための補正マトリクスであって、前記各基準点の前記基準座標を当該補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値にその各基準点について設定されている前記重み係数を掛けた値を全ての基準点の分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する第2補正マトリクス算出演算とを行う。
【0013】
この補正マトリクス導出装置では、演算部が、第1最大離間基準点の重み係数を所定の増加分だけ増加した値に再設定した後、各基準点の基準座標の補正変換後の座標と対応する計測座標との間の距離の二乗の値にその各基準点について設定されている重み係数を掛けた値を全ての基準点の分足し合わせた値が極小となるように各基準点の基準座標を補正変換可能な補正マトリクスを最小二乗法によって算出するため、単に各基準点の基準座標と計測座標との間の距離の二乗和が極小となるように各基準点の基準座標を補正変換可能な補正マトリクスを求める場合に比べて、各基準点のうち第1最大離間基準点の基準座標からの実際の座標の誤差を大きく加味した補正マトリクスを算出することができる。従って、この算出した補正マトリクスによってワークの加工指令を補正変換すれば、計測座標が基準座標から最大に変位した基準点、すなわち、計測座標が基準座標から著しく変位した基準点の誤差を最小化しつつ、全ての基準点の誤差を全体的に小さくする補正を行うことができる。
【0014】
上記補正マトリクス導出装置において、前記演算部は、前記第2補正マトリクス算出演算によって算出した前記補正マトリクスにより前記各基準点の前記基準座標を補正変換する第2補正変換と、前記各基準点のうち前記基準座標を前記第2補正変換した後の座標と対応する前記計測座標との間の距離が最も大きい基準点である第2最大離間基準点を選出する第2選出と、前記第2補正変換後の前記各基準点の座標と対応する前記計測座標との間の距離である補正後離間距離の算出と、その各基準点についての補正後離間距離の平均値である補正後離間距離平均値の算出と、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも大きいという第1条件が満たされているかの判断と、今回の前記第2補正マトリクス算出演算に伴って算出した前記補正後離間距離平均値がその1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値よりも大きいという第2条件が満たされているかの判断とを行い、前記第1条件と前記第2条件の両方が満たされたと判断した場合には、前記1つ前の回の補正マトリクス算出演算で算出した補正マトリクスを最終の算出結果とし、前記第1条件と前記第2条件のうち少なくとも一方が満たされていないと判断した場合には、前記第2最大離間基準点の前記重み係数を所定の増加分だけ増加した値に再設定する第2重み係数再設定と、その第2重み係数再設定の後、前記各基準点の前記基準座標を補正変換するための補正マトリクスであって、前記各基準点の前記基準座標を当該補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値にその各基準点について設定されている前記重み係数を掛けた値を全ての基準点の分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する次回の第2補正マトリクス算出演算を行ってもよい。
【0015】
この構成では、演算部が、今回の第2補正マトリクス算出演算に伴って算出した第2最大離間基準点についての補正後離間距離が前回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも大きくなり、かつ、今回の第2補正マトリクス算出演算に伴って算出した補正後離間距離平均値が前回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値よりも大きくなるまで、第2最大離間基準点の選出と、その選出した第2最大離間基準点の補正後離間距離の二乗の値に所定の増加分だけ増加させた重み係数を掛けて行う第2補正マトリクス算出演算とを行うことになるため、計測座標が基準座標から著しく変位した基準点の誤差を良好に小さくしつつ、全ての基準点の誤差を全体的に良好に小さくする補正を行うことが可能な補正マトリクスを算出することができる。
【0016】
上記補正マトリクス導出装置において、前記演算部は、前記第2補正マトリクス算出演算によって算出した前記補正マトリクスにより前記各基準点の前記基準座標を補正変換する第2補正変換と、前記各基準点のうち前記基準座標を前記第2補正変換した後の座標と対応する前記計測座標との間の距離が最も大きい基準点である第2最大離間基準点を選出する第2選出と、前記第2補正変換後の前記各基準点の座標と対応する前記計測座標との間の距離である補正後離間距離の算出と、その各基準点についての補正後離間距離の平均値である補正後離間距離平均値の算出と、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも大きいという第1条件、及び、今回の前記第2補正マトリクス算出演算に伴って算出した前記補正後離間距離平均値がその1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値よりも大きいという第2条件が満たされているかの判断と、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも小さいという第3条件、及び、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離から今回の前記第2補正マトリクス算出演算に伴って算出した前記補正後離間距離平均値を減じた値がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離から当該1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値を減じた値よりも大きいという第4条件が満たされているかの判断とを行い、前記第1条件と前記第2条件の両方が満たされたか、又は、前記第3条件と前記第4条件の両方が満たされたと判断した場合には、前記1つ前の回の補正マトリクス算出演算で算出した補正マトリクスを最終の算出結果とし、それ以外の場合には、前記第2最大離間基準点の前記重み係数を所定の増加分だけ増加した値に再設定する第2重み係数再設定と、その第2重み係数再設定の後、前記各基準点の前記基準座標を補正変換するための補正マトリクスであって、前記各基準点の前記基準座標を当該補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値にその各基準点について設定されている前記重み係数を掛けた値を全ての基準点の分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する次回の第2補正マトリクス算出演算を行ってもよい。
【0017】
この構成では、前回の補正マトリクス算出演算に伴って算出された最大離間基準点についての補正後離間距離に比べて今回の第2補正マトリクス算出演算に伴って算出された第2最大離間基準点についての補正後離間距離が減少している場合でも、最大離間基準点についての補正後離間距離に対する補正後離間距離平均値の差が前回の補正マトリクス算出演算の場合に比べて今回の第2補正マトリクス算出演算の場合の方が増加すれば、それ以降の回の第2補正マトリクス算出演算は行われず、前回の補正マトリクス算出演算で算出した補正マトリクスが最終の算出結果となる。すなわち、この構成では、計測座標が基準座標から著しく変位した基準点(最大離間基準点)の基準座標に対する誤差を小さくしつつ、そのような最大離間基準点の誤差が全基準点の誤差の平均値に近づくような補正を行うことが可能な補正マトリクスを算出することができる。
【0018】
上記補正マトリクス導出装置において、前記演算部は、前記第1補正マトリクス算出演算に先立って温度によるワークの膨張収縮率を表すスケーリング倍率の導出を行い、前記第1補正マトリクス算出演算では、前記スケーリング倍率を含む前記仮補正マトリクスで前記各基準点の前記基準座標を補正変換した場合について前記仮補正マトリクスの算出を行い、前記第2補正マトリクス算出演算では、前記スケーリング倍率を含む前記補正マトリクスで前記各基準点の前記基準座標を補正変換した場合について前記補正マトリクスの算出を行うことが好ましい。
【0019】
この構成では、温度によるワークの膨張収縮率を表すスケーリング倍率の要素を加えた最小二乗法による演算で前記仮補正マトリクス及び前記補正マトリクスが算出されるため、ワークの温度による膨張収縮に起因する誤差を加味した補正マトリクスを得ることができる。このため、その補正マトリクスによってワークの加工指令を補正変換すれば、ワークの温度による膨張収縮に起因する誤差を補正することができる。
【0020】
本発明による誤差補正装置は、ワークとそのワークを加工するための工具とのうち少なくとも一方を基準座標軸上の移動ベクトルで表される加工指令に従って移動させることにより前記工具によるワークの加工を実行する駆動装置を備えた工作機械に設けられ、ワークの実際の加工時に生じる加工位置の誤差を補正するための誤差補正装置であって、上記補正マトリクス導出装置と、その補正マトリクス導出装置によって導出された前記補正マトリクスを用いて前記加工指令を補正変換する加工指令補正変換部とを備えている。
【0021】
この誤差補正装置では、加工指令補正変換部が上記補正マトリクス導出装置によって導出された補正マトリクスを用いてワークの加工指令を補正変換するため、ワークの各基準点の中で基準座標から最大に変位した基準点に対応する部位の加工誤差を最小化しつつ、ワークの全ての基準点に対応する部位の加工誤差を全体的に小さくする補正を行うことができる。
【0022】
本発明による工作機械は、ワークを加工するための工作機械であって、ワークとそのワークを加工するための工具とのうち少なくとも一方を基準座標軸上の移動ベクトルで表される加工指令に従って移動させることにより前記工具によるワークの加工を実行する駆動装置と、上記誤差補正装置と、その誤差補正装置によって補正変換された加工指令に従って前記駆動装置にワークと前記工具のうち少なくとも一方の移動を実行させてワークを加工させる制御装置とを備えている。
【0023】
この工作機械では、制御装置が、上記誤差補正装置によって補正変換された加工指令に従って駆動装置にワークと工具のうち少なくとも一方の移動を実行させてワークを加工させるため、ワークの各基準点の中で基準座標から最大に変位した基準点に対応する部位の加工誤差を最小化しつつ、ワークの全ての基準点に対応する部位の加工誤差を全体的に小さくすることができる。
【発明の効果】
【0024】
以上説明したように、本発明によれば、ワークの各基準点のうち計測座標が基準座標から著しく変位した基準点の誤差を最小化しつつ、全ての基準点の誤差を全体的に小さくする補正を行うことができる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態による工作機械の概略的な斜視図である。
【図2】本発明の一実施形態による工作機械の機能ブロック図である。
【図3】本発明の一実施形態の工作機械によるワークの加工プロセスを示すフローチャートである。
【図4】本発明の一実施形態の工作機械におけるキャリブレーションの方法を説明するための図である。
【図5】本発明の一実施形態の工作機械におけるスケーリング倍率導出時の基準バーの測定方法を説明するための図である。
【図6】ワーク上に配置された基準球の状態を示す斜視図である。
【図7】本発明の一実施形態の工作機械における基準点の計測座標の計測方法を説明するための図である。
【図8】本発明の一実施形態の補正マトリクス導出装置による補正マトリクスの算出プロセスを示すフローチャートのうち第1最大離間基準点の選出までのプロセスを示す図である。
【図9】本発明の一実施形態の補正マトリクス導出装置による補正マトリクスの算出プロセスを示すフローチャートのうち第2補正マトリクス算出演算以降のプロセスを示す図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態を図面を参照して説明する。
【0027】
まず、図1及び図2を参照して、本発明の一実施形態による工作機械の構成について説明する。
【0028】
本実施形態による工作機械は、加工対象物であるワークWを加工するためのものであって、基準座標軸上の移動ベクトルで表される加工指令に従ってワークWと工具5を移動させることにより、その工具5によるワークWの加工を行うものである。
【0029】
具体的には、本実施形態の工作機械は、駆動装置2と、工具5と、誤差補正装置6(図2参照)と、制御装置7(図2参照)とを備えている。
【0030】
駆動装置2は、ワークWとそのワークWを加工するための工具5を加工指令に従って移動させることにより工具5によるワークWの加工を実行する装置である。この駆動装置2は、ワーク駆動装置3と、工具駆動装置4とを備えている。
【0031】
ワーク駆動装置3は、加工指令に従ってワークWを水平方向であるX軸方向に移動させるものである。このワーク駆動装置3は、設置面上に固定されたベッド3a上において前記X軸方向にテーブル3bを移動させることにより、そのテーブル3b上に載置されたワークWをX軸方向に移動させる。このワーク駆動装置3は、テーブル3bをX軸方向に移動させるための駆動源として図略のサーボモータを備えている。
【0032】
工具駆動装置4は、加工指令に従って、水平方向で前記X軸方向に直交するY軸方向と、X軸及びY軸の両方に直交するZ軸方向(鉛直方向)とに工具5を移動させるものである。
【0033】
具体的には、工具駆動装置4は、一対のコラム8と、クロスレール10と、水平移動装置12と、垂直移動装置14と、主軸装置16とを備えている。
【0034】
一対のコラム8は、ベッド3aの幅方向(Y軸方向)においてそのベッド3aの両側に分かれて立設されている。
【0035】
クロスレール10は、ベッド3aの上方においてY軸方向に延びるように配置されており、一対のコラム8によって上下方向に移動可能に支持されている。そして、このクロスレール10は、図略の駆動機構によりコラム8に沿って上下方向に移動させられるようになっている。
【0036】
水平移動装置12は、クロスレール10によってY軸方向(クロスレール10の長手方向)に移動可能に支持されている。水平移動装置12は、図略のサーボモータを備えており、そのサーボモータの駆動力によってクロスレール10に沿ってY軸方向に移動するようになっている。
【0037】
垂直移動装置14は、水平移動装置12に搭載されている。この垂直移動装置14は、図略のサーボモータを備えており、そのサーボモータの駆動力によって水平移動装置12に対してZ軸方向に移動するようになっている。
【0038】
主軸装置16は、垂直移動装置14によって支持されている。この主軸装置16は、工具5を保持し、その工具5をZ軸方向に延びる軸心回りに回転させる。この主軸装置16によって回転させられた工具5によりワークWが切削加工される。
【0039】
そして、Y軸方向への水平移動装置12の移動とZ軸方向への垂直移動装置14の移動とにより、工具5がY軸方向及びZ軸方向に移動させられ、この工具5のY軸方向及びZ軸方向への移動とワーク駆動装置3によるワークWのX軸方向への移動との組み合わせにより工具5をワークWに対して相対的に加工パスに従って移動させ、ワークWを所定の形状に加工するようになっている。
【0040】
誤差補正装置6は、ワークWの実際の加工時に生じる加工位置の誤差を補正するためのものである。具体的には、誤差補正装置6は、図2に示すように、補正マトリクス導出装置20と、加工指令補正変換部22とを有する。
【0041】
補正マトリクス導出装置20は、ワークWの実際の加工時に生じる加工位置の誤差を補正するように加工指令を補正変換するための補正マトリクスを導出するものである。ワークWの実際の加工時に生じる加工位置の誤差は、加工指令で指示されるワークW上の加工位置と実際に工具5によって切削加工されるワークW上の位置との間で生じる誤差のことであり、温度によるワークWの膨張収縮、ワークWの捩れ、ワークWの重力変形、その他、ワークWの設置位置のずれ等に起因して生じるものである。
【0042】
補正マトリクス導出装置20は、計測装置24と、演算部26と、記憶部28とを有する。
【0043】
計測装置24は、計測対象物の座標を計測するものである。この計測装置24は、基準座標軸上における座標がそれぞれ与えられたワークW上の複数の基準点100aについてそれらの実際の座標をそれぞれ計測する。具体的には、ワークWには、図6に示すように、複数の基準球100が設けられている。この複数の基準球100は、平板状のワークWの上面から突出するように設けられており、互いに離間して設置されている。そして、この各基準球100の中心点がそれぞれ基準点100aとなっている。計測装置24は、図2に示すように、測定プローブ34と、座標取得部36と、座標算出部38と、座標記憶部40とを有する。
【0044】
測定プローブ34(図4参照)は、直線的に延びる軸部34aと、その軸部34aの先端(下端)に設けられた球状のセンサ部34bとを有するタッチセンサである。この測定プローブ34は、工具5の代わりに主軸装置16に取り付けられる。この際、測定プローブ34は、Z軸方向に延びる姿勢で主軸装置16に保持され、その軸心が主軸装置16に保持される工具5の軸心(回転軸)の位置と一致するように主軸装置16に保持される。測定プローブ34は、その先端のセンサ部34bが対象物に接触することによって、座標取得部36へ信号を送るように構成されている。
【0045】
座標取得部36は、ワーク駆動装置3からX軸方向の移動座標のデータを、工具駆動装置4の水平移動装置12からY軸方向の移動座標のデータを、工具駆動装置4の垂直移動装置14からZ軸方向の移動座標のデータをそれぞれ得ており、測定プローブ34のセンサ部34bが対象物に接触して測定プローブ34から信号が送られてくるのに応じてそのときのセンサ部34bが接触した部位の座標を前記各移動座標のデータから求める。
【0046】
座標算出部38は、測定プローブ34のセンサ部34bがワークW上の各基準球100の外面にXYZ軸の各方向から接触して座標取得部36がその接触部位の座標を取得した場合に、その座標取得部36の取得した前記接触部位の座標から各基準球100の中心に位置する基準点100aの座標を算出する。当該計測装置24の測定プローブ34、座標取得部36及び座標算出部38によるワークW上の各基準点100aの座標の詳細な導出プロセスについては、後述する。
【0047】
座標記憶部40は、座標算出部38によって算出された各基準点100aの座標を記憶する。なお、座標取得部36、座標算出部38及び座標記憶部40は、工作機械に設けられた演算装置に組み込まれている。
【0048】
演算部26は、ワークW上の複数の基準点100aに与えられた基準座標と計測装置24によって計測された複数の基準点100aの実際の座標である計測座標とに基づいて補正マトリクスを算出するための演算や、その他各種演算、判断等を行う。補正マトリクスは、オイラー角と平行移動ベクトルとによって表され、ワークW上の複数の基準点100aの基準座標を計測座標に近づけるためにその複数の基準点100aの基準座標をどのように回転させて平行移動させるかを表す。この演算部26が補正マトリクスの算出のために行う各種演算や判断等の詳細な内容については、後述する。
【0049】
記憶部28は、ワークWの加工指令(NCプログラム)、キャリブレーションによって算出された補正値、スケーリング倍率、ワークW上の各基準点100aの基準座標、計測装置24によって計測されたワークW上の各基準点100aの計測座標、第1補正マトリクス算出演算によって算出される仮補正マトリクスのデータ、第2補正マトリクス算出演算によって算出される補正マトリクスのデータ、補正マトリクスによって補正変換された後の加工指令、その他、各種データを保存する。
【0050】
加工指令補正変換部22は、補正マトリクス導出装置20の演算部26によって導出され、記憶部28に保存された補正マトリクスを用いて加工指令を補正変換するものである。
【0051】
制御装置7は、ワーク駆動装置3の駆動及び工具駆動装置4の駆動を制御するものである。この制御装置7は、加工指令補正変換部22によって補正変換された加工指令に従ってワーク駆動装置3にワークWの移動を実行させるとともに工具駆動装置4の水平移動装置12及び垂直移動装置14に工具5の移動を実行させてワークWを加工させる。
【0052】
次に、本実施形態の工作機械によるワークWの加工プロセスについて説明する。
【0053】
本実施形態による工作機械では、ワークWの加工を行うに当たって、図3に示すように、まず、キャリブレーションを行う(ステップS1)。このキャリブレーションは、図4に示すような基準治具102を用いて行われる。具体的には、基準治具102は、工作機械のテーブル3b上に設置される基部102aと、その基部102aから延びる脚部102bと、その脚部102bの先端に設けられた球体102cとを有する。そして、このキャリブレーションは、主軸装置16に測定プローブ34を取り付け、その測定プローブ34で前記球体102cの外面の複数箇所の座標を検出することによって行う。詳細には、ワーク駆動装置3と工具駆動装置4の駆動によって、測定プローブ34のセンサ部34bを図4中の矢印で示すように前記球体102cの外面の複数箇所に対して接触させる。これにより、球体102cのうちセンサ部34bが接触した各箇所の座標が座標取得部36によって取得される。そして、演算部26が、座標取得部36によって取得された座標とセンサ部34bが球体102cに接触すべき本来の座標とのずれを算出するとともに、そのずれを補正するための補正値を算出し、その算出した補正値の分だけワークWの加工指令(NCプログラム)を補正する。このキャリブレーションによる補正後の加工指令は、記憶部28に保存される。
【0054】
次に、基準バー104の計測及びその計測結果に基づくスケーリング倍率mの算出が行われる(ステップS2)。基準バー104としては、図5に示すような形状で捩れや歪み等の変形がなく、ワークWと同じ材質からなり、常温での長さが既知のものを用いる。この基準バー104の常温での長さのデータは、記憶部28に保存されている。そして、この基準バー104の測定では、まず、基準バー104をテーブル3b上にY軸方向に延びるようにセットする。その後、工具駆動装置4によって測定プローブ34が移動させられ、計測装置24により基準バー104の両端の座標がそれぞれ計測される。そして、演算部26が、計測装置24によって計測された基準バー104の両端の座標から基準バー104の実際の長さを算出し、その算出した実際の長さを記憶部28に保存された基準バー104の常温での長さによって除することにより基準バー104の常温での長さに対する前記実際の長さの倍率を算出する。この倍率がスケーリング倍率mとなる。この算出されたスケーリング倍率mのデータは、記憶部28に保存される。
【0055】
次に、ワークWがテーブル3b上にセットされ、ワークW上の各基準点100aの実際の座標の計測が行われる(ステップS3)。基準点100aの実際の座標の計測時には、ワーク駆動装置3により測定プローブ34が図7に示す矢印i方向から基準球100に対して相対的に接近させられてセンサ部34bが基準球100に接触し、その接触した部位の座標が座標取得部36によって取得される。次に、ワーク駆動装置3及び工具駆動装置4により、前記矢印i方向と反対の矢印ii方向から基準球100に対して測定プローブ34が接近させられてセンサ部34bが基準球100に接触し、その接触した部位の座標が座標取得部36によって取得される。そして、これらX軸方向において取得された2つの部位の座標の間の中心の座標が、座標算出部38によって算出される。この算出された座標は、座標記憶部40に記憶される。
【0056】
その後、ワーク駆動装置3及び工具駆動装置4により、座標算出部38によって算出された前記i方向における基準球100に対するセンサ部34bの接触部位と前記ii方向における基準球100に対するセンサ部34bの接触部位との中点の座標を通るとともにY軸方向に延びる直線上において、基準球100の一方側に測定プローブ34のセンサ部34bが配置され、そのセンサ部34bが図7中の矢印iii方向から基準球100に接触させられてその接触した部位の座標が座標取得部36によって取得される。次に、工具駆動装置4により、前記矢印iii方向と反対の矢印iv方向から基準球100に対して測定プローブ34が接触させられてその接触した部位の座標が座標取得部36によって取得される。そして、これらY軸方向において取得された2つの部位の座標の間の中心の座標が、座標算出部38によって算出される。このようにして、Y軸方向における基準球100の中心の座標が求められる。この算出された基準球100のY軸方向の中心の座標は、座標記憶部40に記憶される。
【0057】
次に、ワーク駆動装置3及び工具駆動装置4により、座標算出部38によって算出された基準球100のY軸方向の中心の座標を通るとともにX軸方向に延びる直線上において、基準球100の一方側に測定プローブ34のセンサ部34bが配置され、そのセンサ部34bが矢印v方向から基準球100に接触させられてその接触した部位の座標が座標取得部36によって取得される。その後、工具駆動装置4により、前記矢印v方向と反対の矢印vi方向から基準球100に対して測定プローブ34が接近させられてセンサ部34bが基準球100に接触し、その接触した部位の座標が座標取得部36によって取得される。そして、これらX軸方向において取得された2つの部位の座標の間の中心の座標が、座標算出部38によって算出される。このようにして、基準球100のX軸方向の中心の座標が求められる。この算出された基準球100のX軸方向の中心の座標は、座標記憶部40に記憶される。
【0058】
次に、ワーク駆動装置3及び工具駆動装置4により、上記のようにして求められた基準球100のX軸方向及びY軸方向の中心の座標を通るとともにZ軸方向に延びる直線上において、測定プローブ34のセンサ部34bが基準球100の上側に配置され、そのZ軸方向においてセンサ部34bが基準球100に上側から接触させられ、その接触した部位の座標が座標取得部36によって取得される。そして、その座標取得部36によって取得されたZ軸方向におけるセンサ部34bの接触部位の座標と記憶部28に保存された基準球100の半径のデータとから、座標算出部38が、基準球100のZ軸方向の中心の座標を算出する。この算出された基準球100のZ軸方向の中心の座標は、座標記憶部40に記憶される。
【0059】
以上のようにして、X,Y,Z軸方向における基準球100の中心点(基準点100a)の実際の座標(計測座標)が求められる。なお、座標算出部38によって求められた基準球100の中心点の計測座標は、座標記憶部40に加えて記憶部28にも記憶される。そして、このような基準点の実際の座標の計測は、全ての基準点100a(基準球100)についてそれぞれ行われ、計測された全ての基準点100aの計測座標のデータが記憶部28に保存される。
【0060】
次に、補正マトリクス導出装置20の演算部26による補正マトリクスの算出が行われる(ステップS4)。
【0061】
この補正マトリクスの算出は、図8及び図9に示すフローチャートに基づいて行われる。具体的には、まず、演算部26が初期値計算を行う(図8のステップS11)。
【0062】
この初期値計算では、演算部26は、補正マトリクスを算出可能な最小の個数の基準点100aの組合せを選択する。本実施形態では、基準点100aが全部でn個あり、このn個の基準点100aの中から補正マトリクスを算出可能な最小の個数の基準点100aとして例えば3個の基準点100aが選択される。そして、演算部26は、その選択した基準点100a(以下、選択基準点という)の基準座標を対応する計測座標に近づくように変換するためのマトリクスを構成する初期値t0[j]を求める。この初期値t0[j]には、前記選択基準点の基準座標を対応する計測座標に近づくように変換するためのオイラー角及び平行移動ベクトルと、前記ステップS2において求められたスケーリング倍率mとが含まれる。具体的には、初期値t0[j]には、前記平行移動ベクトルとしての(t0[0],t0[1],t0[2])と、前記オイラー角としての(t0[3],t0[4],t0[5])と、前記スケーリング倍率mとしてのt0[6]とが含まれる。
【0063】
そして、初期値t0[j]に含まれるオイラー角及び平行移動ベクトルは、例えば、選択基準点の基準座標によって平面が構成される場合には、その基準座標によって構成される平面が選択基準点の計測座標によって構成される平面に重なるように前記基準座標を変換するために必要なオイラー角及び平行移動ベクトルであって、各選択基準点の基準座標を変換した後の座標のうち少なくとも1つの座標がその選択基準点の計測座標に一致するようなオイラー角及び平行移動ベクトルである。
【0064】
次に、演算部26は、各基準点100aの基準座標を補正変換するための仮補正マトリクスを算出する第1補正マトリクス算出演算を行う(ステップS13)。この際、演算部26は、各基準点100aの基準座標を当該補正マトリクスによって補正変換した後の座標と対応する計測座標との間の距離の二乗の値を全ての基準点100aの分足し合わせた値が極小となるような仮補正マトリクスを最小二乗法によって算出する。
【0065】
具体的には、まず、基準点100aの計測座標をPi=(Xi,Yi,Zi)、基準点100aの基準座標をpi=(xi,yi,zi)、計測座標Piと基準座標piとの間の距離をLi、計測座標Piと基準座標piとの間の距離Liの二乗の値をFiとする。ここで、i=0,1,2,・・・,n−1である。
【0066】
演算部26は、前記Fiを全ての基準点100aの分足し合わせた値F=Σ(Fi)を最小とする解t[j]を次の非線形連立方程式(1)を満たす解として求める。この解t[j]が仮補正マトリクスを構成する要素となる。
【0067】
∂F/∂t[j]=0・・・(1)
【0068】
上記非線形連立方程式(1)は、解析的には解けないため、演算部26は、この方程式(1)を漸近法を使用して解く。この際、最初に用いる解t[j]として、前記初期値計算で求めた初期値t0[j]を用いる。演算部26は、各基準点の基準座標pi=(xi,yi,zi)を初期値t0[j]で構成されるマトリクスによってそれぞれ補正変換する。この補正変換後の座標(x,y,z)は、以下の式(2)〜(4)で求められる。
【0069】
x=m×[{cos(a)・cos(c)−sin(a)・cos(b)・sin(c)}×xi−{cos(a)・sin(c)+sin(a)・cos(b)・cos(c)}×yi+{sin(a)・sin(b)}×zi+u]・・・(2)
y=m×[{sin(a)・cos(c)+cos(a)・cos(b)・sin(c)}×xi+{−sin(a)・sin(c)+cos(a)・cos(b)・cos(c)}×yi+{−cos(a)・sin(b)}×zi+v]・・・(3)
z=m×{sin(b)・sin(c)×xi+sin(b)・cos(c)・yi+cos(b)×zi+w}・・・(4)
【0070】
ここで、u=t0[0],v=t0[1],w=t0[2],a=t0[3],b=t0[4],c=t0[5],m=t0[6]である。
【0071】
そして、演算部26は、以下の式(5)により、各基準点100aについて補正変換後の座標(x,y,z)と対応する計測座標Pi=(Xi,Yi,Zi)との間の距離の二乗の値Eをそれぞれ算出する。
【0072】
E=(x−Xi)+(y−Yi)+(z−Zi)・・・(5)
【0073】
さらに、演算部26は、以下の式(6)に示すように、上記式(5)で求めた距離の二乗の値Eを全ての基準点100a(i=0〜n−1までの基準点100a)の分足し合わせた値Fを算出する。
【0074】
F=ΣE・・・(6)
【0075】
そして、演算部26は、以下の式(7)で表されるdF[j]を求める。
【0076】
dF[j]=Σ(∂E/∂t[j])=Σ(dE[j])・・・(7)
【0077】
なお、j=0,1,2,3,4,5であり、ここでは、t[j]として前記初期値t0[1]〜t0[5]が用いられる。すなわち、演算部26は、前記Eを前記初期値t0[1]〜t0[5]でそれぞれ偏微分した値を全て足し合わせた値dF[j]を求める。
【0078】
そして、dE[j]は、以下の式(8)で表される。
【0079】
dE[j]=2×{(x−Xi)・dX[j]+(y−Yi)・dY[j]+(z−Zi)・dZ[j]}・・・(8)
【0080】
なお、dX[j]、dY[j]、dZ[j]は、各基準点100aの補正変換後の座標(x,y,z)の各座標値をそれぞれt[j](ここでは、前記初期値t0[1]〜t0[5])で偏微分した値である。すなわち、dX[j]=∂x/∂t[j]であり、dY[j]=∂y/∂t[j]であり、dZ[j]=∂z/∂t[j]である。
【0081】
そして、演算部26は、以下の式(9)で表されるaa[j][k]を求める。
【0082】
aa[j][k]=Σ(∂(∂E/∂t[j])/∂t[k])=Σ(dEE[j][k])・・・(9)
【0083】
なお、k=0,1,2,3,4,5であり、ここでは、t[k]として前記初期値t0[1]〜t0[5]が用いられる。すなわち、演算部26は、上記式(9)により、前記dF[j]を前記初期値t0[1]〜t0[5]でそれぞれ偏微分した値を全て足し合わせた値aa[j][k]を求める。
【0084】
ここで、dEE[j][k]は、以下の式(10)で表される。
【0085】
dEE[j][k]=2×G×{dX[k]・dX[j]+(x−Xi)・dXX[j][k]+dY[k]×dY[j]+(y−Yi)・dYY[j][k]+dZ[k]・dZ[j]+(z−Zi)・dZZ[j][k]}・・・(10)
【0086】
なお、dXX[j][k]は、dX[j]をt[k]で偏微分した値であり、dYY[j][k]は、dY[j]をt[k]で偏微分した値であり、dZZ[j][k]は、dZ[j]をt[k]で偏微分した値である。なお、ここでは、t[k]として前記初期値t0[1]〜t0[5]が用いられる。
【0087】
そして、演算部26は、∂F/∂t[j]=0を漸近展開した以下の線形連立方程式(11)を解いて、漸近解t[j]、すなわち、t[0]〜t[5]を求める。
【0088】
aa[j][0]×t[0]+aa[j][1]×t[1]+・・・+aa[j][5]×t[5]=s[j]+dF[j]・・・(11)
【0089】
なお、s[j]は、偏微分によって生じる定数部分の合計である。
【0090】
この線形連立方程式(11)を解く際には、前記式(7)で求めたdF[j]及び前記式(9)で求めたaa[j][k]を用いる。
【0091】
演算部26は、このような前記式(2)〜(11)に係る漸近解t[j]を求めるための演算を、得られた漸近解t[j]が収束するか、又は、演算回数が予め設定された特定の設定回数に達するまで行う。演算部26は、演算を繰り返し行う場合には、1つの回の前記式(2)〜(11)に係る演算によって得られた漸近解t[j]を次回の演算で初期値として用いて同様の演算を繰り返し行う。
【0092】
そして、演算部26は、前記漸近解t[j]が収束したか否かについての判断を行う(ステップS15)。この際、演算部26は、dF[0]+dF[1]+・・・+dF[5]の値が設定値を下回ることを前記漸近解t[j]の収束条件とする。具体的には、演算部26は、dF[0]+dF[1]+・・・+dF[5]の値が設定値を下回った場合には、前記漸近解t[j]が収束したと判断し、dF[0]+dF[1]+・・・+dF[5]の値が設定値以上である場合には、前記漸近解t[j]が収束していないと判断する。
【0093】
そして、演算部26は、前記漸近解t[j]が収束していないと判断した場合には、初期値計算において選択すべき選択基準点の組み合わせが他にないか否かを判断する(ステップS17)。ここで、演算部26は、初期値計算において選択すべき選択基準点の組み合わせが他にはないと判断した場合には、エラー表示を図略のディスプレイに出力する。一方、演算部26は、初期値計算において選択すべき選択基準点の組合せが他にもあると判断した場合には、新たな選択基準点を選択して前記ステップS11以降の処理を再度行う。
【0094】
また、前記ステップS15の判断において、演算部26は、前記漸近解t[j]が収束したと判断した場合には、その収束した漸近解t[j]によって構成されるマトリクスを仮補正マトリクスとして記憶部28に保存させる(ステップS19)。
【0095】
そして、演算部26は、その仮補正マトリクスを用いて各基準点100aの基準座標の補正変換(第1補正変換)を行う(ステップS21)。
【0096】
その後、演算部26は、前記ステップS21で仮補正マトリクスにより補正変換した後の各基準点100aの座標と対応する計測座標との間の距離である補正後離間距離の算出と、その各基準点100aの補正後離間距離の平均値である補正後離間距離平均値の算出とを行う(ステップS22)。
【0097】
次に、演算部26は、重み係数付与計算の回数N1,N2の初期設定と、重み係数Gの初期設定(第1重み係数設定)とを行う(ステップS23)。ここで、重み係数Gは、後述する第2補正マトリクス算出演算において各基準点100aの補正変換した後の座標と対応する計測座標との間の距離の二乗の値をどの程度の重みをもって反映させるかを表す値であり、全ての基準点100aに対して個別に重み係数Gがそれぞれ用意される。そして、ここでは、演算部26は、各基準点100aについての重み係数Gを等しい値(1.0)に初期設定する。なお、この重み係数Gの初期設定値は、1よりも大きい任意の値に設定変更することも可能である。また、後述の第2補正マトリクス算出演算を繰り返し行う場合には、その演算毎に対応して選出される最大離間基準点の重み係数Gが再設定されるが、前記重み係数付与計算の回数N1,N2は、その重み係数Gの設定回数に相当する。ここでは、演算部26は、重み係数付与計算回数N1,N2を共に1に初期設定する。なお、N1は、重み係数Gの全ての設定回数に相当し、N2は、後述の第2補正マトリクス算出演算において漸近解t[j]が収束しない場合に重み係数Gを再設定する際の重み係数Gの設定回数に相当する。
【0098】
次に、演算部26は、各基準点100aのうち前記ステップS21で基準座標を仮補正マトリクスにより補正変換した後の座標と対応する計測座標との間の距離が最も大きい基準点である第1最大離間基準点の選出(第1選出)を行う(ステップS25)。
【0099】
次に、演算部26は、選出した第1最大離間基準点の重み係数Gを予め設定された所定の増加分g1だけ増加した値に再設定(第1重み係数再設定)する(ステップS26)。なお、重み係数Gの増加分g1は、予め任意の値に設定可能であり、記憶部28に保存されている。
【0100】
次に、演算部26は、各基準点100aの基準座標を補正変換するための補正マトリクスを算出する第2補正マトリクス算出演算を行う(図9のステップS27)。この際、演算部26は、各基準点100aの基準座標を当該補正マトリクスによって補正変換した後の座標と対応する計測座標との間の距離の二乗の値にその各基準点100aについてそれぞれ設定されている重み係数Gを掛けた値を全ての基準点100aの分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する。
【0101】
具体的には、演算部26は、第2補正マトリクス算出演算において基本的に前記第1補正マトリクス算出演算と同様の演算を行う。ただし、この1回目の第2補正マトリクス算出演算では、非線形連立方程式∂F/∂t[j]=0を漸近法を使用して解く際に最初に用いる解として、前記初期値t0[j]の代わりに前記仮補正マトリクスを構成する前記漸近解t[j]を用いる。
【0102】
そして、演算部26は、この第2補正マトリクス算出演算では、上記式(5)の代わりに次式(13)を用いて各基準点100aについてのEの値を算出する。
【0103】
E=G×{(x−Xi)+(y−Yi)+(z−Zi)}・・・(13)
【0104】
ここで、第1最大離間基準点については、前記ステップS26において重み係数Gが増加されているので、他の基準点に比べて第1最大離間基準点についてのEの値が大きくなる。演算部26は、この第2補正マトリクス算出演算において上記以外は第1補正マトリクス算出演算と同様にして補正マトリクスを構成する漸近解t[j]を求める。従って、当該第2補正マトリクス算出演算では、第1最大離間基準点の補正後離間距離の二乗の値が他の基準点の補正後離間距離の二乗の値に比べて大きく反映された補正マトリクスが求められる。
【0105】
次に、演算部26は、前記第2補正マトリクス算出演算で求めた漸近解t[j]が収束したか否かを判断する(ステップS29)。この際、演算部26は、前記ステップS15と同様にして収束判断を行う。
【0106】
そして、演算部26は、第2補正マトリクス算出演算で求めた漸近解t[j]が収束していないと判断した場合には、その後、重み係数付与計算回数N2が予め設定された最大値を超えるか否かを判断する(ステップS31)。なお、この重み係数付与計算回数N2の最大値は、予め任意の回数に設定可能であり、記憶部28に保存される。
【0107】
そして、演算部26は、重み係数付与計算回数N2が予め設定された最大値を超えたと判断した場合には、その時点で記憶部28に保存されていた補正マトリクスのデータを最終の算出結果とする(ステップS33)。一方、演算部26は、重み係数付与計算回数N2が予め設定された最大値を超えていないと判断した場合には、その後、重み係数付与計算回数N1,N2のインクリメントと前記第1最大離間基準点の重み係数Gの再設定(ステップS35)を行った後、次回の第2補正マトリクス算出演算(ステップS27)とその第2補正マトリクス算出演算で算出される漸近解t[j]の収束判断(ステップS29)を再度行う。
【0108】
なお、前記ステップS35における重み係数付与計算回数N1,N2のインクリメントでは、演算部26は、重み係数付与計算回数N1及びN2をそれぞれ1だけ増加させる。また、前記ステップS35では、演算部26は、第1最大離間基準点の重み係数Gを増加分g1だけ増加させる。そして、次回の第2補正マトリクス算出演算では、演算部26は、第1最大離間基準点について前記ステップS35で再設定した重み係数Gを付与して漸近解t[j](補正マトリクス)の算出を行う。
【0109】
そして、演算部26は、第2補正マトリクス算出演算で求めた漸近解t[j]が収束したと前記ステップS29において判断した場合には、その漸近解t[j]で構成される補正マトリクスを用いて各基準点100aの基準座標の補正変換(第2補正変換)を行う(ステップS37)。
【0110】
その後、演算部26は、前記ステップS37で補正マトリクスにより補正変換した後の各基準点100aの座標と対応する計測座標との間の距離である補正後離間距離の算出と、その各基準点100aの補正後離間距離の平均値である補正後離間距離平均値の算出とを行う(ステップS38)。
【0111】
次に、演算部26は、各基準点100aのうち前記ステップS37で基準座標を補正マトリクスにより補正変換した後の座標と対応する計測座標との間の距離(補正後離間距離)が最も大きい基準点である第2最大離間基準点の選出(第2選出)を行う(ステップS39)。
【0112】
その後、演算部26は、重み係数付与計算回数N1が予め設定された最大値を超えるか否かを判断する(ステップS40)。なお、この重み係数付与計算回数N1の最大値は、予め任意の回数に設定可能であり、記憶部28に保存される。
【0113】
そして、演算部26は、重み係数付与計算の回数N1が予め設定された最大値を超えたと判断した場合には、次に、今回の第2補正変換後に前記ステップS39で選出した第2最大離間基準点についての補正後離間距離が前回の補正変換後に選出した最大離間基準点についての補正後離間距離よりも小さいという条件が満たされたか否かを判断する(ステップS41)。なお、1回目の第2補正マトリクス算出演算後における当該ステップS41の判断では、前回の補正変換後に選出した最大離間基準点についての補正後離間距離として、前記第1最大離間基準点の基準座標を仮補正マトリクスで補正変換した座標と対応する計測座標との間の補正後離間距離を用いる。
【0114】
そして、演算部26は、前記条件が満たされたと判断した場合には、前記ステップS27で算出した漸近解t[j]によって構成されるマトリクスを補正マトリクスとして記憶部28に保存させる(ステップS42)。この際、先に記憶部28に保存されていた補正マトリクス(仮補正マトリクス)のデータがある場合には、そのマトリクスのデータは、新しく保存する補正マトリクスのデータに更新される。その後、演算部26は、記憶部28に保存された補正マトリクスのデータを最終の算出結果とする(ステップS33)。
【0115】
一方、演算部26は、前記ステップS41において前記条件が満たされていないと判断した場合には、前記ステップS33の処理を行う。すなわち、その時点で記憶部28に保存されていた補正マトリクスのデータを最終の算出結果とする。
【0116】
また、演算部26は、前記ステップS40において重み係数付与計算回数N1が予め設定された最大値を超えないと判断した場合には、次に、以下の第1条件と第2条件の両方が満たされているか、又は、以下の第3条件と第4条件の両方が満たされているかについて判断する(ステップS45)。
【0117】
第1条件は、今回の第2補正マトリクス算出演算に伴って算出した第2最大離間基準点についての補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも大きいという条件である。また、第2条件は、今回の第2補正マトリクス算出演算に伴って算出した補正後離間距離平均値(前記ステップS43で算出した補正後離間距離平均値)がその1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値よりも大きいという条件である。また、第3条件は、今回の第2補正マトリクス算出演算に伴って算出した第2最大離間基準点についての補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも小さいという条件である。また、第4条件は、今回の第2補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離から今回の第2補正マトリクス算出演算に伴って算出した補正後離間距離平均値を減じた値がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離から当該1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値を減じた値よりも大きいという条件である。
【0118】
なお、1回目の第2補正マトリクス算出演算に伴う当該ステップS45の判断では、1つ前の回の補正変換後に選出した最大離間基準点として、前記ステップS25で選出した第1最大離間基準点を用い、1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離及び補正後離間距離平均値として、第1補正マトリクス算出演算に伴って前記ステップS22で算出した補正後離間距離及び補正後離間距離平均値を用いる。
【0119】
このステップS45の判断において、演算部26は、前記第1条件と前記第2条件の両方が満たされたか、又は、前記第3条件と前記第4条件の両方が満たされたと判断した場合には、前記ステップS33の処理を行い、それ以外の場合には、前記ステップS42の処理と同様に前記ステップS27で算出した漸近解t[j]によって構成されるマトリクスを補正マトリクスとして記憶部28に保存させる(ステップS47)とともに、重み係数付与計算回数N1のインクリメント及び第2最大離間基準点の重み係数Gの再設定(第2重み係数再設定)を行った(ステップS49)後、次回の第2補正マトリクス算出演算を行う。すなわち、この場合には、演算部26は、ステップS27,S29,S37,S38,S39,S40,S45,S49からなるサイクルを繰り返し行う。
【0120】
なお、前記ステップS49における重み係数付与計算回数N1のインクリメントでは、演算部26は、重み係数付与計算回数N1を1だけ増加させる。また、前記ステップS49では、演算部26は、前記ステップS39で選出した第2最大離間基準点の重み係数Gのみを増加分g1だけ増加させ、他の基準点100aの重み係数Gは増加させない。
【0121】
そして、演算部26は、次回の第2補正マトリクス算出演算において、前記ステップS27で説明した第2補正マトリクス算出演算を第1最大離間基準点の代わりに前記ステップS39で選出した第2最大離間基準点を用いて再度実行し、その際、前記ステップS39で選出した第2最大離間基準点については前記ステップS49で再設定した重み係数Gを用いて前記Eの値を算出し、その他の基準点100aについては各々の重み係数Gを用いて前記Eの値を算出する。
【0122】
また、演算部26は、次回のサイクルの第2補正マトリクス算出演算において、非線形連立方程式∂F/∂t[j]=0を漸近法を使用して解く際に最初に用いる解として、その1つ前のサイクルの第2補正マトリクス算出演算で算出した補正マトリクスを構成する漸近解t[j]を用いる。
【0123】
また、演算部26は、次回のサイクルのステップS41の判断では、前回の補正後離間距離として1つ前のサイクルのステップS39で選出した第2最大離間基準点についての補正後離間距離を用いる。
【0124】
そして、演算部26が以上のようにして補正マトリクスを算出した後、加工指令補正変換部22がその算出された補正マトリクスを用いて加工指令(NCプログラム)の補正変換を行う(ステップS5)。
【0125】
その後、制御装置7が、加工指令補正変換部22によって補正変換された加工指令に従ってワーク駆動装置3にワークWの移動を実行させるとともに工具駆動装置4に工具5の移動を実行させてワークWを加工させる。
【0126】
以上説明したように、本実施形態では、演算部26が、最大離間基準点の重み係数Gを所定の増加分g1だけ増加した値に再設定した後、各基準点100aの基準座標の補正変換後の座標と対応する計測座標との間の距離の二乗の値にその各基準点100aについて設定されている重み係数Gを掛けた値を全ての基準点100aの分足し合わせた値が極小となるように各基準点100aの基準座標を補正変換可能な補正マトリクスを最小二乗法によって算出するため、単に各基準点の基準座標と計測座標との間の距離の二乗和が極小となるように各基準点の基準座標を補正変換可能な補正マトリクスを求める場合に比べて、各基準点100aのうち最大離間基準点の基準座標に対する実際の座標の誤差を大きく加味した補正マトリクスを算出することができる。従って、この算出した補正マトリクスによってワークWの加工指令を補正変換することにより、計測座標が基準座標から最大に変位した基準点、すなわち、計測座標が基準座標から著しく変位した基準点の誤差を最小化しつつ、全ての基準点の誤差を全体的に小さくする補正を行うことができる。
【0127】
また、本実施形態では、演算部26が、今回の第2補正マトリクス算出演算に伴って算出した第2最大離間基準点についての補正後離間距離が前回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも大きくなり、かつ、今回の第2補正マトリクス算出演算に伴って算出した補正後離間距離平均値が前回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値よりも大きくなるまで、第2最大離間基準点の選出と、その選出した第2最大離間基準点の補正後離間距離の二乗の値に所定の増加分g1だけ増加させた重み係数Gを掛けて行う第2補正マトリクス算出演算とを行うため、計測座標が基準座標から著しく変位した基準点の誤差を良好に小さくしつつ、全ての基準点の誤差を全体的に良好に小さくする補正を行うことが可能な補正マトリクスを算出することができる。
【0128】
また、本実施形態では、前回の補正マトリクス算出演算に伴って算出された最大離間基準点についての補正後離間距離に比べて今回の第2補正マトリクス算出演算に伴って算出された第2最大離間基準点についての補正後離間距離が減少している場合でも、最大離間基準点についての補正後離間距離に対する補正後離間距離平均値の差が前回の補正マトリクス算出演算の場合に比べて今回の第2補正マトリクス算出演算の場合の方が増加すれば、それ以降の回の第2補正マトリクス算出演算は行われず、前回の補正マトリクス算出演算で算出した補正マトリクスが最終の算出結果となる。すなわち、本実施形態では、計測座標が基準座標から著しく変位した基準点(最大離間基準点)の基準座標に対する誤差を小さくしつつ、そのような最大離間基準点の誤差が全基準点の誤差の平均値に近づくような補正を行うことが可能な補正マトリクスを算出することができる。
【0129】
また、本実施形態では、温度によるワークWの膨張収縮率を表すスケーリング倍率mの要素を加えた最小二乗法による演算で仮補正マトリクス及び補正マトリクスが算出されるため、ワークWの温度による膨張収縮に起因する誤差を加味した補正マトリクスを得ることができる。このため、その補正マトリクスによってワークWの加工指令を補正変換することにより、ワークWの温度による膨張収縮に起因する誤差を補正することができる。
【0130】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれる。
【0131】
例えば、本発明による補正マトリクス導出装置及び誤差補正装置は、上記実施形態で示したような工作機械以外の工作機械に適用してもよい。
【0132】
また、演算部26、記憶部28及び加工指令補正変換部22は、工作機械に組み込まれていなくてもよい。例えば、これら演算部26、記憶部28及び加工指令補正変換部22は、パーソナルコンピュータ等の外部端末に組み込まれていて、その外部端末で演算処理して補正変換した加工指令のデータを工作機械の制御装置7に出力するようにしてもよい。
【0133】
また、前記ステップS45の判断において、第1条件と第2条件の両方を満たすか否かの判断のみを行い、第1条件と第2条件の両方を満たす場合には、ステップS33の処理を行い、それ以外の場合には、ステップS47及びS49を経て次回の第2補正マトリクス算出演算を行うようにしてもよい。
【0134】
また、スケーリング倍率の導出方法は、上記実施形態で示した方法に限定されない。例えば、工作機械にワークWの温度を検出する検出装置を設置しておくとともに、予め測定した温度とワークWのスケーリング倍率との相関関係を記憶部28に登録しておいて、前記検出装置によって検出されたワークWの温度と前記相関関係とに基づいてその温度のときのワークWのスケーリング倍率を演算部26が求めるようにしてもよい。
【符号の説明】
【0135】
4 工具駆動装置
5 工具
7 制御装置
20 補正マトリクス導出装置
22 加工指令補正変換部
24 計測装置
26 演算部
W ワーク

【特許請求の範囲】
【請求項1】
ワークとそのワークを加工するための工具とのうち少なくとも一方を基準座標軸上の移動ベクトルで表される加工指令に従って移動させることにより前記工具によるワークの加工を実行する駆動装置を備えた工作機械でのワークの実際の加工時に生じる加工位置の誤差を補正するように前記加工指令を変換するための補正マトリクスを導出する補正マトリクス導出装置であって、
前記基準座標軸上における座標がそれぞれ与えられたワーク上の複数の基準点についてそれらの実際の座標をそれぞれ計測する計測装置と、
前記複数の基準点に与えられた座標である基準座標と前記計測装置によって計測された前記複数の基準点の実際の座標である計測座標とに基づいて前記補正マトリクスを算出するための演算を行う演算部とを備え、
前記演算部は、前記各基準点の前記基準座標を補正変換するための仮補正マトリクスであって、前記各基準点の前記基準座標を当該仮補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値を全ての基準点の分足し合わせた値が極小となるような仮補正マトリクスを最小二乗法によって算出する第1補正マトリクス算出演算と、その第1補正マトリクス算出演算によって算出された前記仮補正マトリクスにより前記各基準点の前記基準座標を補正変換する第1補正変換と、前記各基準点について等しい重み係数をそれぞれ設定する第1重み係数設定と、前記各基準点のうち前記基準座標を前記第1補正変換した後の座標と対応する前記計測座標との間の距離が最も大きい基準点である第1最大離間基準点を選出する第1選出と、その選出した前記第1最大離間基準点の前記重み係数を所定の増加分だけ増加した値に再設定する第1重み係数再設定と、その第1重み係数再設定の後、前記各基準点の前記基準座標を補正変換するための補正マトリクスであって、前記各基準点の前記基準座標を当該補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値にその各基準点について設定されている前記重み係数を掛けた値を全ての基準点の分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する第2補正マトリクス算出演算とを行う、補正マトリクス導出装置。
【請求項2】
前記演算部は、前記第2補正マトリクス算出演算によって算出した前記補正マトリクスにより前記各基準点の前記基準座標を補正変換する第2補正変換と、前記各基準点のうち前記基準座標を前記第2補正変換した後の座標と対応する前記計測座標との間の距離が最も大きい基準点である第2最大離間基準点を選出する第2選出と、前記第2補正変換後の前記各基準点の座標と対応する前記計測座標との間の距離である補正後離間距離の算出と、その各基準点についての補正後離間距離の平均値である補正後離間距離平均値の算出と、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも大きいという第1条件が満たされているかの判断と、今回の前記第2補正マトリクス算出演算に伴って算出した前記補正後離間距離平均値がその1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値よりも大きいという第2条件が満たされているかの判断とを行い、前記第1条件と前記第2条件の両方が満たされたと判断した場合には、前記1つ前の回の補正マトリクス算出演算で算出した補正マトリクスを最終の算出結果とし、前記第1条件と前記第2条件のうち少なくとも一方が満たされていないと判断した場合には、前記第2最大離間基準点の前記重み係数を所定の増加分だけ増加した値に再設定する第2重み係数再設定と、その第2重み係数再設定の後、前記各基準点の前記基準座標を補正変換するための補正マトリクスであって、前記各基準点の前記基準座標を当該補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値にその各基準点について設定されている前記重み係数を掛けた値を全ての基準点の分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する次回の第2補正マトリクス算出演算を行う、求項1に記載の補正マトリクス導出装置。
【請求項3】
前記演算部は、前記第2補正マトリクス算出演算によって算出した前記補正マトリクスにより前記各基準点の前記基準座標を補正変換する第2補正変換と、前記各基準点のうち前記基準座標を前記第2補正変換した後の座標と対応する前記計測座標との間の距離が最も大きい基準点である第2最大離間基準点を選出する第2選出と、前記第2補正変換後の前記各基準点の座標と対応する前記計測座標との間の距離である補正後離間距離の算出と、その各基準点についての補正後離間距離の平均値である補正後離間距離平均値の算出と、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも大きいという第1条件、及び、今回の前記第2補正マトリクス算出演算に伴って算出した前記補正後離間距離平均値がその1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値よりも大きいという第2条件が満たされているかの判断と、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離よりも小さいという第3条件、及び、今回の前記第2補正マトリクス算出演算に伴って算出した前記第2最大離間基準点についての前記補正後離間距離から今回の前記第2補正マトリクス算出演算に伴って算出した前記補正後離間距離平均値を減じた値がその1つ前の回の補正マトリクス算出演算に伴って算出した最大離間基準点についての補正後離間距離から当該1つ前の回の補正マトリクス算出演算に伴って算出した補正後離間距離平均値を減じた値よりも大きいという第4条件が満たされているかの判断とを行い、前記第1条件と前記第2条件の両方が満たされたか、又は、前記第3条件と前記第4条件の両方が満たされたと判断した場合には、前記1つ前の回の補正マトリクス算出演算で算出した補正マトリクスを最終の算出結果とし、それ以外の場合には、前記第2最大離間基準点の前記重み係数を所定の増加分だけ増加した値に再設定する第2重み係数再設定と、その第2重み係数再設定の後、前記各基準点の前記基準座標を補正変換するための補正マトリクスであって、前記各基準点の前記基準座標を当該補正マトリクスによって補正変換した後の座標と対応する前記計測座標との間の距離の二乗の値にその各基準点について設定されている前記重み係数を掛けた値を全ての基準点の分足し合わせた値が極小となるような補正マトリクスを最小二乗法によって算出する次回の第2補正マトリクス算出演算を行う、請求項1に記載の補正マトリクス導出装置。
【請求項4】
前記演算部は、前記第1補正マトリクス算出演算に先立って温度によるワークの膨張収縮率を表すスケーリング倍率の導出を行い、前記第1補正マトリクス算出演算では、前記スケーリング倍率を含む前記仮補正マトリクスで前記各基準点の前記基準座標を補正変換した場合について前記仮補正マトリクスの算出を行い、前記第2補正マトリクス算出演算では、前記スケーリング倍率を含む前記補正マトリクスで前記各基準点の前記基準座標を補正変換した場合について前記補正マトリクスの算出を行う、請求項1〜3のいずれか1項に記載の補正マトリクス導出装置。
【請求項5】
ワークとそのワークを加工するための工具とのうち少なくとも一方を基準座標軸上の移動ベクトルで表される加工指令に従って移動させることにより前記工具によるワークの加工を実行する駆動装置を備えた工作機械に設けられ、ワークの実際の加工時に生じる加工位置の誤差を補正するための誤差補正装置であって、
請求項1〜4のいずれか1項に記載の補正マトリクス導出装置と、
その補正マトリクス導出装置によって導出された前記補正マトリクスを用いて前記加工指令を補正変換する加工指令補正変換部とを備えた、誤差補正装置。
【請求項6】
ワークを加工するための工作機械であって、
ワークとそのワークを加工するための工具とのうち少なくとも一方を基準座標軸上の移動ベクトルで表される加工指令に従って移動させることにより前記工具によるワークの加工を実行する駆動装置と、
請求項5に記載の誤差補正装置と、
その誤差補正装置によって補正変換された加工指令に従って前記駆動装置にワークと前記工具のうち少なくとも一方の移動を実行させてワークを加工させる制御装置とを備えた、工作機械。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−35399(P2012−35399A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−180601(P2010−180601)
【出願日】平成22年8月11日(2010.8.11)
【出願人】(000191180)新日本工機株式会社 (51)
【Fターム(参考)】