(58)【調査した分野】(Int.Cl.,DB名)
前記第2の関数は、前記第2の曲面が、第1の関数の前記複数の係数を変更することによって、前記補正点の一連の位置データに最もよく当てはまるよう定義される請求項1に記載の工具経路生成方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の発明のように、算出した形状誤差の符号を反転して従前の設計形状に重畳することによっても一定程度補正が可能であるが、形状特性に合った補正は難しい。この補正方法では、測定のノイズに対して過敏に反応し、適切な工具経路を生成することができないという問題がある。
【0005】
本発明は、こうした従来技術の問題を解決することを技術課題としており、曲面を表す関数が有する特性を維持しつつ、形状誤差を少なくするよう、工具経路の一層良好な補正を可能とした工具経路生成方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
上述の目的を達成するために、本発明によれば、3次元空間内で曲面を定義する関数に基づいて工具経路を生成する工具経路生成方法において、
ワークに形成すべき表面である第1の曲面を定義する複数の係数を有する多項式より成る第1の関数を入力し、前記第1の関数に基づいて第1の工具経路を生成し、前記第1の工具経路を工作機械のNC装置に入力して、該第1の工具経路に沿って工具をワークに対して相対移動させて該ワークを加工し、加工された前記ワークの表面上の複数の測定点で該ワークの形状を測定し、前記測定点の各々につき、前記第1の曲面に対して垂直な方向に前記第1の曲面に対しての対称な位置を演算して補正点とし、前記補正点の一連の位置データに基づいて
、前記第1の関数の前記複数の係数を変更した第2の曲面を表す第2の関数を求め、前記第2の関数に基づいて第2の工具経路を生成するようにした工具経路生成方法が提供される。
【発明の効果】
【0007】
本発明によれば、測定点の各々につき、第1の曲面に対して垂直な方向に第1の曲面に対しての対称な位置を演算して補正点とし、該補正点の一連の位置データに最もよく当てはまる第2の曲面を表す第2の関数を求め、該第2の関数に基づいて第2の工具経路を生成するようにしたので、第1の曲面形状特性に適合した補正が可能となる。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明の好ましい実施形態を説明する。
図1において、工具経路生成装置10は、入力部12、記憶部14、工具経路生成部16、係数演算部18を主要な構成要素として具備する。工具経路生成部16で生成された工具経路は、工作機械100に出力される。
【0010】
工作機械100は、例えば、回転可能に支持された主軸(図示せず)と、ワーク108を該主軸に対面させてに固定するテーブル(図示せず)と、前記主軸とワーク108とを少なくともX、Y、Zの直交3軸方向に相対移動させる送り装置(図示せず)とを具備したフライス盤のような加工機と、該加工機の工具送りを制御するNC装置とを具備するマシニングセンタとすることができる。加工機は、回転可能に支持された主軸にワーク108を取付け、刃物台(図示せず)にバイトを固定した旋盤とし、刃物台をX、Y、Zの直交3軸方向に相対移動させる送り装置をNC装置によって制御するようにしてもよい。また、工作機械100には、加工されたワークWの加工面を測定するために測定器102が備えられている。測定器102による測定結果は係数演算部18に供給される。
【0011】
入力部12は、数式や数値を記憶部14に入力可能なキーボードやタッチパネル等から構成することができる。ワーク108に形成する表面を定義する複数の係数を有した多項式より成る関数および前記複数の係数の各々の数値が入力部12を介して記憶部14に入力される。記憶部14は、フラッシュメモリやハードドライブから構成することができ、少なくとも入力部12から入力される前記関数および数値を格納する関数記憶領域20と、係数記憶領域22とを有している。
【0012】
工具経路生成部16は、記憶部14に格納されている関数および該関数の各係数の数値に基づき工具経路またはNCデータが生成され、該工具経路またはNCデータが所定時間間隔で工作機械100のNC装置に供給される。工作機械100は、NC装置に供給された工具経路に沿って工具をワークに対して相対移動させてワークを加工する。
【0013】
以下、
図2に示すフローチャートおよび
図3〜
図7を参照して、本発明の工具経路生成方法をより詳細に説明する。
先ず、入力部12から第1の関数および該第1の関数の係数の数値が記憶部14に入力され、初期設定が実行される(ステップS10)。第1の関数は、ワーク108に形成すべき表面である曲面を定義する複数の係数を有した多項式とすることができる。本実施形態では、ワーク108は非球面レンズを成形するための金型であり、第1の関数は、該レンズの非球面表面を定義する多項式である。より詳細には、第1の関数は一般的に以下の式(1)にて表される。
【数1】
【0014】
ここで、z(h)はサグ量であって、光軸からの距離(ラジアル方向)hにおける表面の頂点(h=0)からの光軸方向の変位である。cは曲率、Kは円錐定数である。A〜Dは非球面係数であって、ステップS10の初期設定において入力部12から入力される。更に、後述するように、非球面係数A〜Dは係数演算部18によって演算され修正される。
【0015】
初期設定が終了すると、工具経路生成部16は、入力された関数、本実施形態では式(1)および各非球面係数(A〜D)の数値に基づいて工具経路または加工データを生成する(ステップS12)。生成された工具経路または加工データは、所定時間間隔で工作機械100のNC装置に出力され、工作機械100がワーク108を加工する(ステップS14)。
図3〜
図5の例では、工作機械100は、主軸の先端に装着される工具としてボールエンドミル106を有したマシニングセンタである。また、
図3〜5の例では、ボールエンドミル106の中心軸線方向にZ軸が定義され、該Z軸に垂直な方向にX軸およびY軸が定義される。
【0016】
加工が終了すると、加工面110(
図3、4)が測定器102によって測定される(ステップS14)。
図3、4に示す例では、測定器102は、工作機械100の主軸先端に装着可能なプローブ104を有したタッチセンサを具備することができる。その場合、プローブ104の先端がワーク108の表面に接触したときに、測定器102からスキップ信号が生成され、該スキップ信号をトリガーとして、工作機械100の送り装置のX軸、Y軸、Z軸の座標が係数演算部18に出力されるようにできる。
【0017】
加工面110は加工面110に沿って複数の測定点において測定され、各測定点のX、Y、Z座標が係数演算部18に出力される。ワーク108が非球面レンズを成形するための金型である場合、設計上の表面120は式(1)で示される非球面であり、成形されるレンズの光軸はZ軸に平行となる。加工面110は、設計上の表面120と完全に一致することはなく、加工面110上の測定点112と設計上の表面120との間のZ軸方向の差分である誤差δzを含む。
図4は、δzは正の値であり切削不足であることを示しているが、δzが負の値となり切削過多の場合もある。
【0018】
ワーク108の測定が終了すると、
図4に示すように、測定点112の各々につき、設計上の表面120に対して対称となる点の座標が演算され補正点132として設定される(ステップS18)。より具体的には、先ず、測定点112を通り設計上の表面120に対して垂直な直線Lが演算される。
図4において点122は、測定点112から設計上の表面120に引いた垂線Lの足である。次いで、直線L上に設計上の表面120に関して測定点112の対称な点132の座標が演算される。本願では、測定点112の対称な点132を補正点と称する。
【0019】
次いで、一連の補正点132の座標データ群に最もよく当てはまる仮想的な曲面(第2の曲面)が決定される。本実施形態では、以下に説明するように、この仮想的な曲面である第2の曲面は、測定器102で測定された測定点112の座標データ群に基づき、係数演算部18で式(1)の非球面係数A〜Dを補正することによって得られた式(1)と同様の関数で規定される(ステップS20)。ここで、非球面係数A〜Dを補正した式(1)は第2の関数となる。次いで、工具経路生成部16は、関数記憶領域20に格納されている関数と、係数演算部18で演算され係数記憶領域22に格納されている補正後の非球面係数A〜Dに基づいて、つまり第2の関数に基づいて第2の工具経路を生成する(ステップS22)。工作機械100は、第2の工具経路に従ってワーク108を加工する(ステップS24)。
【0020】
以下、
図6、7を参照して、第2の関数を求める方法をより具体的に説明する。
一般的に、パラメータ空間上の点pから3次元空間内の点qに変換する関数fとすると、以下のpとqの関係は以下の式に(2)にて表される。
【数2】
【0021】
ここで、
【数3】
【数4】
であり、u、vはパラメータ空間上の1点であり、x、y、zはu、vに対応する3次元空間内の1点を表す。
【0022】
次いで、関数fに補正用の係数を導入する。係数は補正量を十分に表現できるものである必要がある。補正用の係数を導入した関数をF、補正用の係数ベクトルをa、係数ベクトルの次数をNとすると以下のようになる。
【数5】
【数6】
【0023】
式(1)で示したように、レンズのような光学部品の形状を表す式には、光学特性を補正するための非球面係数A〜Dが既に含まれている。その場合、非球面係数A〜Dを補正用の係数a
1〜a
Nとして使用することができる。その場合、以降に出現する係数ベクトルaを各非球面係A〜Dの設計上の値との差として読み替えることで対応できる。ステップS14におけるワーク108の加工は、係数ベクトルaをゼロベクトルとしたときの曲面の加工である。係数ベクトルaがゼロベクトルであるとき、関数fと関数Fは等しくなる。
【数7】
【0024】
測定点112は3次元空間内の点群として取得される。一連の測定点112を含む群をr、測定点112の個数をMとすると、
【数8】
である。
【0025】
測定点112の群rは3次元空間内の点の集まりだが、これをパラメータ空間(u−v空間)上の点と符号付き距離とから成る点に変換する。ここで、符号付き距離とは、パラメータ空間(u−v空間)上の点に対応する3次元空間内の点からの距離を、その点での法線方向への距離を正、法線方向とは逆方向への距離を負とした実数で表したものある。
【0026】
この変換は例えば以下のように処理できる。
まず、設計上の表面または第1の曲面を表すパラメータ空間(u−v空間)上に点を格子状に生成し(処理I)、次いで、処理Iで生成した点の各々を3次元空間内の点に変換し対応付ける(処理II)。このとき、処理IIで変換した3次元空間内の点に対してk−d木(k-dimensional tree)のようなデータ構造を生成して、任意の3次元空間内の点から近い点を高速に検索できる状態にすると後の処理を高速に処理できる。この検索は必ずしも最も近い点である必要はないため、近似最近傍探索の各種アルゴリズムを適用してもよい。
【0027】
次に、測定点112の1つを処理対象点qとする(
図6、7参照)。上記処理IIで変換した3次元空間内の点のうち、対象点qから近いものを検索し、これをq1とする。また、対応するパラメータ空間(u−v空間)上の点をp1とする。つまり、
【数9】
【0028】
次いで、i=1〜∞について以下の処理を行う。
(処理1)処理対象点p
iでの関数fのu偏微分、v偏微分を求め、それぞれ∂f/∂u、∂f/∂vとする。
(処理2)∂f/∂uと、∂f/∂vから点p
iでの法線方向を計算する。ここで、法線ベクトルは以下の式(4)で表される。
【数10】
ここで
【数11】
【数12】
である。
【0029】
(処理3)qiからqに向かうベクトルを、∂f/∂u方向、∂f/∂v方向、法線方向に分配し、それぞれΔu、Δv、Δnする。
また、Δu、Δv、Δnは以下の式(5)〜(7)で表される。
【数13】
【数14】
【数15】
ただし、
【数16】
【数17】
【数18】
【数19】
である。また、「×」は外積、「・」は内積もしくは乗算を表す。
【0030】
(処理4)Δu、vが十分に小さい場合は、処理を終了する。変換後の点の座標は(p
iu、p
iv、Δn)となる。
(処理5)p
iのu成分にΔu、v成分にΔvを加算したものをp
(i+1)、p
(i+1)を3次元空間上の点に変換したものをq
(i+1)として、(処理1)に戻って処理1〜処理4を実行する。つまり、
【数20】
である。
【0031】
以上の処理により、測定点112がパラメータ空間上の点と符号付き距離に変換される。以下、変換後の点群をRとして以下のように表す。
【数21】
【0032】
設計上の表面120に対して測定点112とは反対側に対称となるように補正点132を設定するように補正量を決定することによって、誤差δzを打ち消すことが可能となる。一連の測定点112の座標データの誤差δzは、変換後の点群Rのw成分として計算される。つまり、点群Rの各点のu、v座標を関数Fで変換した時、関数fで変換した場合に比べてw成分だけ法線方向とは逆方向に移動するよう係数ベクトルaをフィッティングすれば良い。フィッティング処理を最適化問題と考えると、以下の目的関数Eを最小化する問題と考えられる。
【数22】
【0033】
nは法線ベクトルであるが、通常、補正量は微小な値で、補正による法線方向の変化は無視できる場合が多い。その場合、法線方向を毎回計算するのではなく、式(4)で計算した法線方向を保存しておいて計算に使用することができる。
【0034】
式(8)は、二乗和の最小化問題のため、例えばレーベンバーグ・マーカート法で計算することができる。関数Eを最小化する係数aが求まったら、係数aを関数Fに代入することで補正後の関数(第2の関数)を得ることができる。