以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
図1は、本発明の実施例に係る幾何学量取得装置が搭載される平面研削盤100の正面図であり、図2は、その右側面図である。平面研削盤100は、主に、本体ベッド1、X軸テーブル2、立軸砥石用コラム3、立軸砥石ヘッド4、砥石ヘッド回転用モータ5、砥石ヘッド上下送り用アクチュエータ6、砥石ヘッド左右送り用アクチュエータ7、テーブル移動用アクチュエータ8、センサヘッド9、表示装置10、入力装置11、及び制御装置12を含む。
本体ベッド1は、X軸テーブル2をX軸方向に移動可能に支持する台座である。具体的には、本体ベッド1は、X軸テーブル2の下面に取り付けられるラック(図示せず。)とかみ合うピニオン(図示せず。)をその上面に有する。
X軸テーブル2は、図示しない駆動機構によって、本体ベッド1上をX軸方向に摺動させられるテーブルであり、その上面で被研削物であり且つ被測定物であるワークW(例えば、定盤である。)を支持する。本実施例では、X軸テーブル2は、ラックアンドピニオン機構により駆動されるが、ボールねじ機構等の他の駆動機構により駆動されてもよい。
立軸砥石用コラム3は、立軸砥石ヘッド4を上下方向(Z軸方向)及び左右方向(Y軸方向)に移動可能に支持する装置である。
立軸砥石ヘッド4は、垂直方向(Z軸方向)に平行に延びる砥石軸40を有する砥石ヘッドである。なお、砥石軸40の先端には、砥石車41が取り付けられる。
砥石ヘッド回転用モータ5は、立軸砥石ヘッド4の砥石軸40を回転させるモータであり、例えば、ACサーボモータが用いられる。
砥石ヘッド上下送り用アクチュエータ6は、立軸砥石ヘッド4をZ軸方向に移動させるための上下移動機構を駆動するアクチュエータである。本実施例では、砥石ヘッド上下送り用アクチュエータ6は、図1の矢印AR1で示すように、立軸砥石ヘッド4をZ軸方向に移動させるボールねじ機構におけるボールねじ軸又はボールねじナットを回転させるためのACサーボモータである。
砥石ヘッド左右送り用アクチュエータ7は、立軸砥石ヘッド4をY軸方向に移動させるための左右移動機構を駆動するアクチュエータである。本実施例では、砥石ヘッド左右送り用アクチュエータ7は、図2の矢印AR2で示すように、立軸砥石ヘッド4をY軸方向に移動させるボールねじ機構におけるボールねじ軸又はボールねじナットを回転させるためのACサーボモータである。
テーブル移動用アクチュエータ8は、X軸テーブル2をX軸方向に移動させるためのテーブル移動機構を駆動するアクチュエータである。本実施例では、テーブル移動用アクチュエータ8は、図1の矢印AR3で示すように、X軸テーブル2をX軸方向に移動させるボールねじ機構におけるボールねじ軸又はボールねじナットを回転させるためのACサーボモータである。
なお、上下移動機構、左右移動機構、及びテーブル移動機構は、ラックアンドピニオン機構等の他の機構であってもよい。
センサヘッド9は、被測定物としての研削加工後のワークWの表面の真直度又は平面度を取得するための装置であり、立軸砥石ヘッド4に取り付けられる。また、センサヘッド9は、X軸に平行な方向に等間隔に配置される少なくとも3つの距離センサと、Y軸に平行な方向に等間隔に配置される少なくとも3つの距離センサとを含む。本実施例では、センサヘッド9は、永久磁石等を用いて立軸砥石ヘッド4に脱着可能に取り付けられる。しかしながら、本発明はこれに限定されるものではない。センサヘッド9は、例えば、立軸砥石ヘッド4に脱着不能に取り付けられてもよい。この場合、センサヘッド9は、平面研削盤100による研削加工が行われる際に専用のカバーが被せられ、外部環境から隔離される。
図3は、センサヘッド9を鉛直下方(−Z方向)から見たセンサヘッド9の底面図であり、距離センサの配置例を示す。
図3に示すように、センサヘッド9は、三角柱形状の本体部9sと、X軸に平行な方向にそれぞれ距離Da、Dbだけ間隔を空けて本体部9s上に配置される3つの距離センサ9a、9b、9cと、Y軸に平行な方向にそれぞれ距離Dc、Ddだけ間隔を空けて本体部9s上に配置される3つの距離センサ9c、9d、9eとを含む。なお、距離センサ9cは、2つのセンサ列の双方に含まれる。そのため、センサヘッド9は、5つの距離センサ9a〜9eを含む。なお、距離Da〜距離Ddのそれぞれは、同じ値であってもよく、異なる値であってもよい。
また、本実施例では、距離センサは、非接触式のレーザ変位計であり、レーザ変位計の投光ビームは、ラインビーム形状を採用する。また、ラインビーム形状の延在方向は、X軸方向及びY軸方向のそれぞれに対して傾斜する。本実施例では、X軸方向及びY軸方向のそれぞれに対して45度の角度を形成する。しかしながら、本発明はこれに限定されるものではない。例えば、ラインビーム形状の延在方向は、X軸又はY軸に平行であってもよい。また、レーザ変位計の投光ビームは、スポット形状であってもよい。また、距離センサは、レーザ干渉計であってもよい。
図4及び図5は、センサヘッドの別の構成例を示す図であり、図3に対応する。
図4のセンサヘッド9Aは、底面が十字形状の多角柱である本体部9Asと、X軸に平行な方向にそれぞれ距離Da、Dbだけ間隔を空けて本体部9As上に配置される3つの距離センサ9a、9b、9cと、Y軸に平行な方向にそれぞれ距離Dc、Ddだけ間隔を空けて本体部9As上に配置される3つの距離センサ9d、9b、9eとを含む。なお、距離センサ9bは、2つのセンサ列の双方に含まれる。そのため、センサヘッド9Aは、センサヘッド9と同様、5つの距離センサ9a〜9eを含む。なお、距離Da〜距離Ddのそれぞれは、同じ値であってもよく、異なる値であってもよい。
図5のセンサヘッド9Bは、底面がT字形状の多角柱である本体部9Bsと、X軸に平行な方向にそれぞれ距離Da、Dbだけ間隔を空けて本体部9Bs上に配置される3つの距離センサ9a、9b、9cと、Y軸に平行な方向にそれぞれ距離Dc、Ddだけ間隔を空けて本体部9Bs上に配置される3つの距離センサ9d、9e、9bとを含む。なお、距離センサ9bは、2つのセンサ列の双方に含まれる。そのため、センサヘッド9Bは、センサヘッド9、9Aと同様、5つの距離センサ9a〜9eを含む。なお、距離Da〜距離Ddのそれぞれは、同じ値であってもよく、異なる値であってもよい。
なお、上述の実施例では、センサヘッド9、9A、9Bは、何れも2つのセンサ列の双方に含まれる距離センサを1つ有し、距離センサの数を減らすようにするが、本発明はこれに限定されるものではない。すなわち、センサヘッド9は、個々に独立したセンサ列を形成する6つの距離センサを含むようにしてもよい。
ここで、再び図1及び図2を参照して、平面研削盤100の構成要素の説明を継続する。
表示装置10は、各種情報を表示するための装置であり、例えば、液晶ディスプレイ等である。
入力装置11は、平面研削盤100に各種情報を入力するための装置であり、例えば、キーボード、タッチパネル、ジョイスティック、リモートコントローラ、エスカッションボタン等である。
制御装置12は、平面研削盤100の動きを制御するための装置であり、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)等を備えたコンピュータである。
図6は、平面研削盤100に搭載される幾何学量取得装置50の構成例を示すブロック図である。幾何学量取得装置50は、主に、砥石ヘッド回転用モータ5、砥石ヘッド上下送り用アクチュエータ6、砥石ヘッド左右送り用アクチュエータ7、テーブル移動用アクチュエータ8、センサヘッド9、表示装置10、入力装置11、及び制御装置12で構成される。
制御装置12は、例えば、研削制御部120、距離データ取得部121、ドリフト誤差除去部122、及び幾何学量算出部123を機能要素として有し、各機能要素に対応するプログラムをROM又はRAMから読み出しながら、各機能要素に対応する処理をCPUに実行させる。
研削制御部120は、平面研削盤100によるワークWの研削加工を制御する機能要素である。具体的には、研削制御部120は、入力装置11を通じて入力される研削深さ、研削幅等の各種情報に基づいて、ワークWに対する立軸砥石ヘッド4の動作内容を決定する。そして、研削制御部120は、決定した動作内容に応じた制御信号を適切なタイミングで砥石ヘッド回転用モータ5、砥石ヘッド上下送り用アクチュエータ6、砥石ヘッド左右送り用アクチュエータ7、及びテーブル移動用アクチュエータ8のそれぞれに対して出力しながら、平面研削盤100によるワークWの研削加工を制御する。
距離データ取得部121は、幾何学量取得装置50によるセンサヘッド9を用いた距離データの取得を制御する機能要素である。具体的には、距離データ取得部121は、入力装置11を通じて入力される測定範囲、サンプリング間隔、走査ライン間隔、目標測定繰り返し回数等の各種情報に基づいて、ワークWに対するセンサヘッド9の動作内容を決定する。なお、目標測定繰り返し回数は、対象物を測定するために同じ走査ラインを何回走査するかを示す自然数である。繰り返し回数が多いほど、累積の偶然誤差が小さくなり、測定値に対する信頼度が高くなる。距離データ取得部121は、決定した動作内容に応じた制御信号を適切なタイミングで砥石ヘッド上下送り用アクチュエータ6、砥石ヘッド左右送り用アクチュエータ7、及びテーブル移動用アクチュエータ8のそれぞれに出力しながら、センサヘッド9をワークWに対して相対移動させる。また、距離データ取得部121は、その相対移動の際に、センサヘッド9を用いて距離データを取得し、取得した距離データを制御装置12のRAMに記録する。
ドリフト誤差除去部122は、距離センサのドリフトに起因するドリフト誤差を除去する機能要素である。具体的には、ドリフト誤差除去部122は、距離データ取得部121が取得した距離データからドリフト誤差を除去する。なお、ドリフト誤差除去部122によるドリフト誤差の除去については後述する。
幾何学量算出部123は、ワークWの幾何学量を算出する機能要素である。具体的には、幾何学量算出部123は、RAMに記録された、ドリフト誤差が除去された距離データに基づいてワークWの幾何学量を算出する。
ここで、図7及び図8を参照しながら、幾何学量取得装置50がワークWと距離センサとの間の距離を測定する処理(以下、「第1距離データ取得処理」とする。)について説明する。なお、図7は、第1距離データ取得処理の流れを示すフローチャートである。また、図8は、センサヘッド9のワークWに対する相対位置の推移を示す図である。なお、図8において、白丸から黒丸に延びる破線矢印は、センサヘッド9のワークWに対する相対移動の経路を示し、実線矢印は、X軸テーブル2によるワークWの+X方向への移動量を示す。また、白丸及び黒丸は、基準位置Ptを表す白丸を除き、センサヘッド9による測定点を表す。また、図8は、図8(A)〜図8(E)の順に、センサヘッド9のワークWに対する相対位置が移動することを示す。
最初に、制御装置12の距離データ取得部121は、入力装置11を通じて入力される測定範囲、サンプリング間隔SD、走査ライン間隔LD、及び目標測定繰り返し回数を取得する(ステップS1)。
測定範囲は、第1距離データ取得処理の対象となるワークW上の範囲であり、例えば、開始座標Ps(Xs、Ys)、終了座標Pe(Xe、Ye)で指定される。また、測定範囲は、測定長さX1及び測定幅Y1で指定されてもよい。
サンプリング間隔SDは、センサヘッド9によるサンプリングの間隔である。本実施例では、センサヘッド9がY軸方向に走査されるため、例えば、Y軸に平行な方向のセンサ間隔Dcがサンプリング間隔SDとして採用される。
走査ライン間隔LDは、センサヘッド9の走査ライン間の距離である。本実施例では、センサヘッド9がY軸方向に走査されるため、走査ライン間隔LDは、走査ライン間のX軸方向における距離を意味し、例えば、X軸に平行な方向のセンサ間隔Daが走査ライン間隔LDとして採用される。
その後、距離データ取得部121は、測定範囲に基づいてセンサヘッド9の基準位置Ptの座標(Xt、Yt)を決定し(図8(A)参照。)、センサヘッド9を基準位置Ptに移動させる(ステップS2)。具体的には、距離データ取得部121は、砥石ヘッド左右送り用アクチュエータ7及びテーブル移動用アクチュエータ8のうちの少なくとも1つに制御信号を出力し、センサヘッド9及びX軸テーブル2の少なくとも1つを駆動させ、センサヘッド9を基準位置Ptに移動させる。
その後、距離データ取得部121は、測定範囲に基づいてY軸方向に沿う走査距離を決定した上で、砥石ヘッド左右送り用アクチュエータ7及びセンサヘッド9に制御信号を出力し、図8(A)に示すように、センサヘッド9を基準位置Ptから−Y方向に走査距離だけ移動させる。この移動中、センサヘッド9における5つの距離センサ9a〜9eのそれぞれは、サンプリング間隔SD毎に距離を測定し、測定結果としての距離データを制御装置12のRAM上に記録する(ステップS3)。以下、距離の測定を伴うセンサヘッド9の相対移動を「スキャン移動」と称する。
センサヘッド9が−Y方向に走査距離だけスキャン移動した後、距離データ取得部121は、テーブル移動用アクチュエータ8に対して制御信号を出力し、図8(B)に示すように、X軸テーブル2を走査ライン間隔LDだけ+X方向に移動させる(ステップS4)。その結果、センサヘッド9は、ワークWに対して、走査ライン間隔LDだけ−X方向に相対的に移動する。以下、距離の測定を伴わないセンサヘッド9の相対移動を「ステップ移動」と称する。
その後、距離データ取得部121は、センサヘッド9が測定範囲のX軸方向の端部に達したか否かを判定する(ステップS5)。距離データ取得部121は、例えば、X軸テーブル2を更に走査ライン間隔LDだけ+X方向に移動させた場合にセンサヘッド9が測定範囲のX軸方向の端部からはみ出ると判断した場合に、センサヘッド9が測定範囲のX軸方向の端部に達したと判定する。
センサヘッド9が測定範囲のX軸方向の端部に達していないと判定した場合(ステップS5のNO)、距離データ取得部121は、ステップS3及びステップS4の処理を再び実行する。
具体的には、距離データ取得部121は、測定範囲に基づいてY軸方向に沿う走査距離を決定した上で、図8(C)に示すように、センサヘッド9を+Y方向に走査距離だけスキャン移動させる。このスキャン移動中、センサヘッド9における5つの距離センサ9a〜9eのそれぞれは、サンプリング間隔SD毎に距離を測定し、測定結果としての距離データを制御装置12のRAM上に記録する(ステップS3)。
センサヘッド9が+Y方向に走査距離だけスキャン移動した後、距離データ取得部121は、図8(D)に示すように、X軸テーブル2を走査ライン間隔LDだけ+X方向に移動させる(ステップS4)。その結果、センサヘッド9は、ワークWに対して、走査ライン間隔LDだけ−X方向に相対的にステップ移動する。
距離データ取得部121は、センサヘッド9が測定範囲のX軸方向の端部に達したと判定するまでこれらの処理を繰り返す。
一方、センサヘッド9が測定範囲のX軸方向の端部に達したと判定した場合(ステップS5のYES)、距離データ取得部121は、ステップS2〜ステップS5までの処理の繰り返し回数が目標測定繰り返し回数になったか否かを判定する(ステップS6)。
繰り返し回数が目標測定繰り返し回数になっていないと判定した場合(ステップS6のNO)、距離データ取得部121は、ステップS2〜ステップS5の処理を繰り返す。
繰り返し回数が目標測定繰り返し回数になったと判定した場合(ステップS6のYES)、距離データ取得部121は、第1距離データ取得処理を終了させる。
その後、制御装置12のドリフト誤差除去部122は、RAMに記録された距離データからドリフト誤差を除去する。また、制御装置12の幾何学量算出部123は、ドリフト誤差が除去された距離データに基づいて逐次3点法によりワークWの平面度を算出し、算出したワークWの平面度を表示装置10上に表示させる。なお、ドリフト誤差除去部122によるドリフト誤差の除去については後述する。
これにより、幾何学量取得装置50は、X軸方向におけるスキャン移動を実行することなく、X軸方向及びY軸方向の双方におけるセンサヘッド9の運動誤差を取り除いた状態で、ワークWの平面度を算出することができる。
なお、第1距離データ取得処理では、Y軸に平行な方向のセンサ間隔Dcがサンプリング間隔SDとして採用され、X軸に平行な方向のセンサ間隔Daが走査ライン間隔LDとして採用される。しかしながら、本発明はこれに限定されるものではない。例えば、センサ間隔Dcの自然数倍の距離がサンプリング間隔SDとして採用されてもよく、センサ間隔Daの自然数倍の距離が走査ライン間隔LDとして採用されてもよい。
また、第1距離データ取得処理では、砥石ヘッド左右送り用アクチュエータ7によりボールねじ機構を用いてスキャン移動を実行し、テーブル移動用アクチュエータ8によりボールねじ機構を用いてステップ移動を実行する。しかしながら、油圧シリンダ機構のような、ボールねじ機構よりも位置決め精度が低い機構を用いてテーブル移動用アクチュエータ8がX軸テーブル2を移動させる構成では、ステップ移動は、砥石ヘッド左右送り用アクチュエータ7によりボールねじ機構を用いて実行されてもよい。この場合、スキャン移動は、テーブル移動用アクチュエータ8により油圧シリンダ機構を用いて実行される。位置決め精度が高いほうの機構を用いてステップ移動を実行することで、ステップ間隔のばらつきを抑えるためである。なお、センサヘッド9は、スキャン移動の際に継続的に距離を測定する構成であれば、サンプリング間隔毎の測定点の位置決めに高い精度を要求することはない。
このように、位置決め精度が高いほうの機構を用いてステップ移動を実行することにより、幾何学量取得装置50は、X軸方向(ステップ移動の方向)に並ぶ3つ1組の測定点の距離データを繋ぎ合わせて算出される真直度の信頼性を向上させることができる。また、幾何学量取得装置50は、1つの測定点に関する距離を複数回のステップ移動を挟んで測定し、その測定結果を合成して真直度を算出する場合のその真直度の信頼性を向上させることができる。また、幾何学量取得装置50は、X軸方向(ステップ移動の方向)に関する真直度とY軸方向(スキャン移動の方向)に関する真直度とを組み合わせて算出される平面度の信頼性を向上させることができる。
なお、油圧シリンダ機構は、等速性に関しては、ボールねじ機構と同等であるため、スキャン移動に悪影響を及ぼすことはない。
また、スキャン移動が砥石ヘッド左右送り用アクチュエータ7ではなくテーブル移動用アクチュエータ8により実行される場合、立軸砥石ヘッド4及びセンサヘッド9は、スキャン移動の際に静止したままの状態となる。そのため、センサヘッド9は、距離測定の際に、センサヘッド9と制御装置12とを繋ぐケーブルのケーブルテンションの変動や環境振動の影響を受けにくい。その結果、センサヘッド9は、ノイズのより少ない距離データを出力することができる。
次に、図9及び図10を参照しながら、幾何学量取得装置50がワークWと距離センサとの間の距離を測定する処理の別の例(以下、「第2距離データ取得処理」とする。)について説明する。なお、図9は、第2距離データ取得処理の流れを示すフローチャートであり、図7に対応する。また、図10は、センサヘッド9のワークWに対する相対位置の推移を示す図であり、図8に対応する。図10は、図10(A)〜図10(E)の順に、また、図10(F)〜図10(J)の順に、センサヘッド9のワークWに対する相対位置が移動することを示す。
最初に、距離データ取得部121は、入力装置11を通じて入力される測定範囲、X方向サンプリング間隔SDx、Y方向サンプリング間隔SDy、X方向走査ライン間隔LDx、Y方向走査ライン間隔LDy、及び目標測定繰り返し回数を取得する(ステップS11)。
測定範囲は、第2距離データ取得処理の対象となるワークW上の範囲であり、例えば、開始座標Ps(Xs、Ys)、終了座標Pe(Xe、Ye)で指定される。また、測定範囲は、測定長さX1及び測定幅Y1で指定されてもよい。
X方向サンプリング間隔SDxは、センサヘッド9がワークWに対してX軸に平行な方向に相対移動する際のセンサヘッド9によるサンプリングの間隔である。本実施例では、X軸テーブル2がX軸に平行な方向に移動することによって、静止中のセンサヘッド9がワークWに対してX軸に平行な方向に相対移動するため、例えば、X軸に平行な方向のセンサ間隔DaがX方向サンプリング間隔SDxとして採用される。
Y方向サンプリング間隔SDyは、センサヘッド9がワークWに対してY軸に平行な方向に相対移動する際のセンサヘッド9によるサンプリングの間隔である。本実施例では、センサヘッド9がY軸に平行な方向に走査されることによって、センサヘッド9がワークWに対してY軸に平行な方向に相対移動するため、例えば、Y軸に平行な方向のセンサ間隔DcがY方向サンプリング間隔SDyとして採用される。
X方向走査ライン間隔LDxは、センサヘッド9のX軸に平行な走査ライン間のY軸方向における距離である。本実施例では、例えば、X軸に平行な方向のセンサ間隔DaがX方向走査ライン間隔LDxとして採用される。
Y方向走査ライン間隔LDyは、センサヘッド9のY軸に平行な走査ライン間のX軸方向における距離である。本実施例では、例えば、Y軸に平行な方向のセンサ間隔DcがY方向走査ライン間隔LDyとして採用される。
その後、距離データ取得部121は、測定範囲に基づいてセンサヘッド9の基準位置Ptの座標(Xt、Yt)を決定し(図10(A)参照。)、センサヘッド9を基準位置Ptに移動させる(ステップS12)。具体的には、距離データ取得部121は、砥石ヘッド左右送り用アクチュエータ7及びテーブル移動用アクチュエータ8のうちの少なくとも1つに制御信号を出力し、センサヘッド9及びX軸テーブル2の少なくとも1つを駆動させ、センサヘッド9を基準位置Ptに移動させる。
その後、距離データ取得部121は、測定範囲に基づいてY軸方向に沿う走査距離を決定した上で、砥石ヘッド左右送り用アクチュエータ7及びセンサヘッド9に制御信号を出力し、図10(A)に示すように、センサヘッド9を基準位置Ptから−Y方向に走査距離だけスキャン移動させる。このスキャン移動中、センサヘッド9における5つの距離センサ9a〜9eのそれぞれは、Y方向サンプリング間隔SDy毎に距離を測定し、測定結果としての距離データを制御装置12のRAM上に記録する(ステップS13)。
センサヘッド9が−Y方向に走査距離だけスキャン移動した後、距離データ取得部121は、テーブル移動用アクチュエータ8に対して制御信号を出力し、図10(B)に示すように、X軸テーブル2をX方向走査ライン間隔LDxだけ+X方向に移動させる(ステップS14)。その結果、センサヘッド9は、ワークWに対して、X方向走査ライン間隔LDxだけ−X方向に相対的にステップ移動する。
その後、距離データ取得部121は、センサヘッド9が測定範囲のX軸方向の端部に達したか否かを判定する(ステップS15)。
センサヘッド9が測定範囲のX軸方向の端部に達していないと判定した場合(ステップS15のNO)、距離データ取得部121は、ステップS13及びステップS14の処理を再び実行する。
具体的には、距離データ取得部121は、測定範囲に基づいてY軸方向に沿う走査距離を決定した上で、図10(C)に示すように、センサヘッド9を+Y方向に走査距離だけスキャン移動させる。このスキャン移動中、センサヘッド9における5つの距離センサ9a〜9eのそれぞれは、Y方向サンプリング間隔SDy毎に距離を測定し、測定結果としての距離データを制御装置12のRAM上に記録する(ステップS13)。
センサヘッド9が+Y方向に走査距離だけスキャン移動した後、距離データ取得部121は、図10(D)に示すように、X軸テーブル2をX方向走査ライン間隔LDxだけ+X方向に移動させる(ステップS14)。その結果、センサヘッド9は、ワークWに対して、X方向走査ライン間隔LDxだけ−X方向に相対的にステップ移動する。
距離データ取得部121は、センサヘッド9が測定範囲のX軸方向の端部に達したと判定するまでこれらの処理を繰り返す。
一方、センサヘッド9が測定範囲のX軸方向の端部に達したと判定した場合(ステップS15のYES)、距離データ取得部121は、測定範囲に基づいてY軸方向に沿う走査距離を決定した上で、図10(F)に示すように、センサヘッド9を−Y方向に走査距離だけスキャン移動させる。このスキャン移動中、センサヘッド9における5つの距離センサ9a〜9eのそれぞれは、Y方向サンプリング間隔SDy毎に距離を測定し、測定結果としての距離データを制御装置12のRAM上に記録する。
その後、距離データ取得部121は、測定範囲に基づいてX軸方向に沿う走査距離を決定した上で、テーブル移動用アクチュエータ8及びセンサヘッド9に制御信号を出力し、図10(G)に示すように、センサヘッド9を+X方向に走査距離だけスキャン移動させる。このスキャン移動中、センサヘッド9における5つの距離センサ9a〜9eのそれぞれは、X方向サンプリング間隔SDx毎に距離を測定し、測定結果としての距離データを制御装置12のRAM上に記録する(ステップS16)。
センサヘッド9が+X方向に走査距離だけスキャン移動した後、距離データ取得部121は、砥石ヘッド左右送り用アクチュエータ7に対して制御信号を出力し、図10(H)に示すように、センサヘッド9をY方向走査ライン間隔LDyだけ−Y方向にステップ移動させる(ステップS17)。
その後、距離データ取得部121は、センサヘッド9が測定範囲のY軸方向の端部に達したか否かを判定する(ステップS18)。距離データ取得部121は、例えば、センサヘッド9を更にY方向走査ライン間隔LDyだけ−Y方向にステップ移動させた場合にセンサヘッド9が測定範囲のY軸方向の端部からはみ出ると判断した場合に、センサヘッド9が測定範囲のY軸方向の端部に達したと判定する。
センサヘッド9が測定範囲のY軸方向の端部に達していないと判定した場合(ステップS18のNO)、距離データ取得部121は、ステップS16及びステップS17の処理を再び実行する。
具体的には、距離データ取得部121は、測定範囲に基づいてX軸方向に沿う走査距離を決定した上で、図10(I)に示すように、センサヘッド9を−X方向に走査距離だけスキャン移動させる。このスキャン移動中、センサヘッド9における5つの距離センサ9a〜9eのそれぞれは、X方向サンプリング間隔SDx毎に距離を測定し、測定結果としての距離データを制御装置12のRAM上に記録する(ステップS16)。
センサヘッド9が−X方向に走査距離だけスキャン移動した後、距離データ取得部121は、図10(J)に示すように、センサヘッド9をY方向走査ライン間隔LDyだけ−Y方向にステップ移動させる(ステップS17)。
距離データ取得部121は、センサヘッド9が測定範囲のY軸方向の端部に達したと判定するまでこれらの処理を繰り返す。
一方、センサヘッド9が測定範囲のY軸方向の端部に達したと判定した場合(ステップS18のYES)、距離データ取得部121は、ステップS12〜ステップS18までの処理の繰り返し回数が目標測定繰り返し回数になったか否かを判定する(ステップS19)。
繰り返し回数が目標測定繰り返し回数になっていないと判定した場合(ステップS19のNO)、距離データ取得部121は、ステップS12〜ステップS18の処理を繰り返す。
繰り返し回数が目標測定繰り返し回数になったと判定した場合(ステップS19のYES)、距離データ取得部121は、第2距離データ取得処理を終了させる。
その後、ドリフト誤差除去部122は、RAMに記録された距離データからドリフト誤差を除去する。また、制御装置12の幾何学量算出部123は、ドリフト誤差が除去された距離データに基づいて、逐次3点法により、ワークWの平面度を算出し、算出したワークWの平面度を表示装置10上に表示させる。なお、ドリフト誤差除去部122によるドリフト誤差の除去については後述する。
なお、第2距離データ取得処理では、Y軸に平行な方向のセンサ間隔DcがY方向サンプリング間隔SDy及びY方向走査ライン間隔LDyとして採用され、X軸に平行な方向のセンサ間隔DaがX方向サンプリング間隔SDx及びX方向走査ライン間隔LDxとして採用される。しかしながら、本発明はこれに限定されるものではない。例えば、センサ間隔Dcの自然数倍の距離がY方向サンプリング間隔SDy又はY方向走査ライン間隔LDyとして採用されてもよく、センサ間隔Daの自然数倍の距離がX方向サンプリング間隔SDx又はX方向走査ライン間隔LDxとして採用されてもよい。
また、第2距離データ取得処理では、ステップ移動がX軸方向及びY軸方向の双方で行われ、スキャン移動もX軸方向及びY軸方向の双方で行われる。そのため、ステップ移動の方向に並ぶ3つ1組の測定点の距離データを繋ぎ合わせて真直度を算出する必要はない。その結果、ステップ間隔毎の測定点の位置決め精度に対する要求を緩和させることができる。
次に、幾何学量取得装置50がワークWと距離センサとの間の距離を測定する処理の別の例(以下、「第3距離データ取得処理」とする。)について説明する。
第3距離データ取得処理では、第1距離データ取得処理の場合と同様に、幾何学量取得装置50は、センサヘッド9をY軸方向にスキャン移動させ、且つ、センサヘッド9をX軸方向にステップ移動させながら、測定点が格子状に並ぶように、各測定点で距離を測定する。
これにより、幾何学量取得装置50は、1回目のスキャン移動の際に3つ1組の距離センサ9c〜9eのそれぞれが取得した距離データより、逐次3点法に基づいてセンサヘッド9の運動誤差を取り除いた状態で、第1の走査ラインに関するワークWの真直度を算出できる。これは、幾何学量取得装置50が、第1の走査ライン上の各測定点におけるピッチング誤差及び並進誤差を把握していることを意味する。
そこで、幾何学量取得装置50は、第2及び第3の走査ライン上の各測定点におけるピッチング誤差及び並進誤差が、第1の走査ライン上の対応する測定点におけるピッチング誤差及び並進誤差と同じであると仮定する。
そして、幾何学量取得装置50は、1回目のスキャン移動の際に距離センサ9bが取得した距離データ、すなわち、第2の走査ライン上の各測定点における距離データから、第1の走査ライン上の対応する測定点におけるピッチング誤差及び並進誤差を取り除いた値を、真直度の算出に用いる距離データとする。
同様に、幾何学量取得装置50は、1回目のスキャン移動の際に距離センサ9aが取得した距離データ、すなわち、第3の走査ライン上の各測定点における距離データから、第1の走査ライン上の対応する測定点におけるピッチング誤差及び並進誤差を取り除いた値を、真直度の算出に用いる距離データとする。
その結果、幾何学量取得装置50は、センサヘッド9の1回のスキャン移動により、3本の走査ラインに関するワークWの真直度を算出できる。したがって、幾何学量取得装置50は、1回のステップ移動によるステップ間隔をセンサ間隔の3倍とすることができ、ワークWの平面度をより短時間で効率的に算出できる。すなわち、距離センサ9c〜9eのそれぞれは、2回目のスキャン移動では、第2の走査ラインではなく、第4の走査ライン上の各測定点における距離データを取得する。
なお、幾何学量取得装置50は、X軸方向(ステップ移動の方向)に等間隔に並ぶ距離センサの数を4つ以上にすることによって、ステップ間隔をさらに大きくし、ワークWの平面度の算出に要する時間をさらに短縮させてもよい。
次に、図11を参照して、ドリフト誤差を除去した距離データに基づいて幾何学量取得装置50がワークWの平面度を算出する処理(以下、「平面度算出処理」とする。)について説明する。なお、図11は、平面度算出処理の流れを示すフローチャートであり、幾何学量取得装置50は、例えば、入力装置11を通じた平面度算出処理の開始命令に応じてこの平面度算出処理を実行する。
最初に、幾何学量取得装置50は、第1ドリフト量監視処理を開始する(ステップS21)。第1ドリフト量監視処理において、幾何学量取得装置50は、制御装置12のドリフト誤差除去部122により、距離データ取得処理開始前のセンサヘッド9における5つの距離センサ9a〜9eのそれぞれのドリフト量を監視する。
具体的には、ドリフト誤差除去部122は、センサヘッド9を所定の校正位置に移動させ、センサヘッド9を校正位置に停止させた状態で、5つの距離センサ9a〜9eを用いて校正位置の下に設置されている校正用ゲージまでの距離を測定する。そして、ドリフト誤差除去部122は、第1ドリフト量監視処理で最初に記録した距離センサ9a〜9eのそれぞれの測定値を距離センサ9a〜9eのそれぞれの基準距離とする。なお、距離センサ9aの基準距離は、距離センサ9aのドリフト量ゼロに相当する値である。また、ドリフト誤差除去部122は、起動後一定時間が経過した時点における距離センサ9a〜9eのそれぞれの測定値又は予め決定された値を距離センサ9a〜9eのそれぞれの基準距離としてもよい。
その後、ドリフト誤差除去部122は、センサヘッド9を静止させたまま、所定時間に亘って所定周期で繰り返し校正用ゲージ表面上の同じ測定点までの距離を測定する。
その後、ドリフト誤差除去部122は、第1ドリフト量監視処理で記録した距離センサ9aの測定値のそれぞれから距離センサ9aの基準距離を減算して測定値のそれぞれに対応するドリフト量を算出し、算出したドリフト量をRAMに記録する。また、ドリフト誤差除去部122は、距離センサ9b〜9eについても同様に、対応するドリフト量を算出して記録する。
「校正用ゲージ」は、距離センサの校正に用いるゲージであり、測定毎の再現性を保証できる任意の材料で形成される。また、校正用ゲージは、形状計測を行うことによって、或いは、反転法等を利用することによって、その零点誤差が事前に算出される。そのため、計測毎の基準距離における零点誤差は、校正用ゲージが厳密に真直でなくとも再現性よく除去され得る。具体的には、計測毎の基準距離における零点誤差は、校正用ゲージ表面に距離センサを当てたときの読みを零点とし、その上で予め分かっている校正用ゲージの零点誤差を減算することで再現性よく除去され得る。
その後、所定時間が経過して第1ドリフト量監視処理が終了すると、幾何学量取得装置50は、距離データ取得処理を開始する(ステップS22)。距離データ取得処理において、幾何学量取得装置50は、制御装置12の距離データ取得部121により、ワークW上を相対移動する距離センサ9a〜9eのそれぞれの位置からワークWの表面上の対応する点までの距離を測定し、測定した距離データをRAMに記録する。具体的には、距離データ取得部121は、上述の第1距離データ取得処理、第2距離データ取得処理、第3距離データ取得処理等を実行する。
その後、距離データ取得処理が終了すると、幾何学量取得装置50は、第2ドリフト量監視処理を開始する(ステップS23)。第2ドリフト量監視処理において、幾何学量取得装置50は、ドリフト誤差除去部122により、距離データ取得処理終了後のセンサヘッド9における5つの距離センサ9a〜9eのそれぞれのドリフト量を監視する。具体的には、ドリフト誤差除去部122は、センサヘッド9を校正位置に静止させた状態で、5つの距離センサ9a〜9eを用いて校正位置の下に設置されている校正用ゲージまでの距離を繰り返し測定する。より具体的には、ドリフト誤差除去部122は、センサヘッド9を校正位置に静止させたまま所定時間に亘って所定周期で繰り返し校正用ゲージ表面上の同じ測定点までの距離を測定する。
その後、ドリフト誤差除去部122は、第2ドリフト量監視処理で記録した距離センサ9aの測定値のそれぞれから距離センサ9aの基準距離を減算して測定値のそれぞれに対応するドリフト量を算出し、算出したドリフト量をRAMに記録する。また、ドリフト誤差除去部122は、距離センサ9b〜9eについても同様に、対応するドリフト量を算出して記録する。
なお、ドリフト誤差除去部122は、センサヘッド9を校正位置以外の位置に静止させた状態で第2ドリフト量監視処理を実行してもよい。例えば、ドリフト誤差除去部122は、センサヘッド9をワークWの上に静止させたまま所定時間に亘って所定周期で繰り返しワークWまでの距離を測定し、ドリフト量の時間的推移を記録してもよい。この場合、ドリフト誤差除去部122は、例えば、第2ドリフト量監視処理で最初に記録した距離センサ9a〜9eのそれぞれの測定値を距離センサ9a〜9eのそれぞれの基準距離とする。また、ドリフト誤差除去部122は、第1ドリフト量監視処理で記録したドリフト量の時間的推移に基づいて第2ドリフト量監視処理を開始した時点における基準ドリフト量を推定する。そして、ドリフト誤差除去部122は、第2ドリフト量監視処理で記録した距離センサ9aの測定値のそれぞれから基準距離を減算し且つ基準ドリフト量を加算して測定値のそれぞれに対応するドリフト量を算出し、算出したドリフト量をRAMに記録する。また、ドリフト誤差除去部122は、距離センサ9b〜9eについても同様に、対応するドリフト量を算出して記録する。
また、ドリフト誤差除去部122は、センサヘッド9を校正位置に静止させた状態で第2ドリフト量監視処理を実行する場合には、センサヘッド9を校正位置以外の位置に静止させた状態で第1ドリフト量監視処理を実行してもよい。すなわち、ドリフト誤差除去部122は、センサヘッド9を校正位置に静止させた状態でドリフト量監視処理を任意のタイミングで1回実行しさえすれば、センサヘッド9を校正位置以外の位置に静止させた状態で他のドリフト量監視処理を実行してもよい。センサヘッド9を校正位置に静止させた状態で測定した特定のドリフト量監視処理におけるドリフト量の時間的推移に基づいて、他のドリフト量監視処理における基準ドリフト量を推定できるためである。
その後、所定時間が経過して第2ドリフト量監視処理が終了すると、幾何学量取得装置50は、ドリフト誤差推定処理を開始する(ステップS24)。ドリフト誤差推定処理において、幾何学量取得装置50は、ドリフト誤差除去部122により、距離データ取得処理の前後のドリフト量の時間的推移に基づいて、ドリフト量の時間的推移の記録が行われていない距離データ取得処理中のドリフト量の時間的推移を推定する。具体的には、ドリフト誤差除去部122は、第1ドリフト量監視処理で記録した距離データ取得処理開始前のドリフト量と、第2ドリフト量監視処理で記録した距離データ取得処理終了後のドリフト量とに基づいて、距離データ取得処理中のドリフト量を推定する。距離データ取得処理中のドリフト量の推定は、例えば、内挿法若しくは外挿法を用いて線形補間若しくは非線形補間を実行することによって行われ、或いは、最小二乗法を用いて線形近似若しくは非線形近似を実行することによって行われる。
図12は、ドリフト誤差除去部122によるドリフト誤差推定処理の一例を説明するグラフであり、横軸に時間を配し、縦軸にドリフト量を配する。また、最も太い実線は、第1ドリフト量監視処理中又は第2ドリフト量監視処理中における第1距離センサとしての距離センサ9aのドリフト量の時間的推移を示す。また、最も太い破線は、最も太い実線で示す距離データ取得処理の前後のドリフト量の時間的推移に基づいて推定される距離データ取得処理中のドリフト量の時間的推移を示す。同様に、中程度の太さの実線は、第1ドリフト量監視処理中又は第2ドリフト量監視処理中における第2距離センサとしての距離センサ9bのドリフト量の時間的推移を示し、中程度の太さの破線は、中程度の太さの実線で示す距離データ取得処理の前後のドリフト量の時間的推移に基づいて推定される距離データ取得処理中のドリフト量の時間的推移を示す。さらに、最も細い実線は、第1ドリフト量監視処理中又は第2ドリフト量監視処理中における第3距離センサとしての距離センサ9cのドリフト量の時間的推移を示し、最も細い破線は、最も細い実線で示す距離データ取得処理の前後のドリフト量の時間的推移に基づいて推定される距離データ取得処理中のドリフト量の時間的推移を示す。なお、第4距離センサとしての距離センサ9dのドリフト量の時間的推移、及び、第5距離センサとしての距離センサ9eのドリフト量の時間的推移は、図の明瞭化のため省略する。
図12に示すように、ドリフト誤差除去部122は、距離データ取得処理が開始される前に、時刻t0から時刻t1までの所定時間に亘って第1ドリフト量監視処理を実行し、距離センサ9a〜9eのそれぞれの測定値(校正用ゲージまでの距離)に基づくドリフト量を時系列で記録する。また、ドリフト誤差除去部122は、距離データ取得処理が終了した後で、時刻t2から時刻t3までの所定時間に亘って第2ドリフト量監視処理を実行し、距離センサ9a〜9eのそれぞれの測定値(校正用ゲージまでの距離)に基づくドリフト量を時系列で記録する。
「所定時間」は、ドリフト量監視処理を継続させる時間として設定される時間であり、例えば、所定周期で繰り返し測定される測定値の時間的推移から高精度の近似式を得るのに十分な時間として設定される。具体的には、所定時間は、例えば、1つの距離センサによる測定値の数が所定数に達するまでに要する時間であり、測定周期が長いほど、また、距離データ取得処理の時間が長いほど、長めに設定される。
その後、ドリフト誤差除去部122は、距離データ取得処理の前後でのドリフト量の時間的推移から、距離データ取得処理中のドリフト量の時間的推移を推定する。具体的には、ドリフト誤差除去部122は、内挿法、外挿法、最小二乗法等の公知の手段により距離データ取得処理中のドリフト量の時間的推移を表す式を導き出す。距離データ取得処理中の任意の時刻における距離センサ9a〜9eのそれぞれの測定値に含まれるドリフト量を幾何学量取得装置50が導出できるようにするためである。
また、図12は、距離センサ9a〜9cのドリフト量が時間の経過と共に線形的に増大し、第1ドリフト量監視処理で記録したドリフト量の時間的推移と、第2ドリフト量監視処理で記録したドリフト量の時間的推移との間を線形的に推定できる状態を示す。
この推定により、幾何学量取得装置50は、時間の関数である1次式を得ることができ、距離データ取得処理中の任意の時刻における距離センサ9a〜9eのそれぞれの測定値に含まれるドリフト量を導き出すことができる。そのため、幾何学量取得装置50は、距離データ取得処理中の任意の時刻における距離センサ9a〜9eのそれぞれの測定値から、対応するドリフト量を除去できる。
その後、ドリフト誤差推定処理が終了すると、幾何学量取得装置50は、ドリフト誤差除去処理を開始する(ステップS25)。ドリフト誤差除去処理において、幾何学量取得装置50は、ドリフト誤差除去部122により、距離データ取得処理で記録された距離データからドリフト量を除去する。具体的には、ドリフト誤差除去部122は、距離データ取得処理で記録された距離センサ9a〜9eの測定値のそれぞれから、ドリフト誤差推定処理で得られた式を用いて導出される対応するドリフト量を減算する。
その後、ドリフト誤差除去処理が終了すると、幾何学量取得装置50は、平面度算出処理を開始する(ステップS26)。平面度算出処理において、幾何学量取得装置50は、幾何学量算出部123により、ドリフト量が除去された距離データに基づいてワークWの平面度を算出する。具体的には、幾何学量算出部123は、ドリフト量が除去された距離データに基づいて、ワークWの表面上に並ぶ測定ラインのそれぞれに対して逐次3点法により真直度を算出する。そして、幾何学量算出部123は、複数の測定ラインのそれぞれに対して算出された真直度に基づいてワークWの平面度を算出し、算出したワークWの平面度を表示装置10上に表示させる。
また、図12は、第1ドリフト量監視処理中に校正位置に静止するセンサヘッド9の姿勢(高さ、傾き等である。)と、第2ドリフト量監視処理中に校正位置に静止するセンサヘッド9の姿勢とが同じ姿勢である場合を示す。しかしながら、幾何学量取得装置50は、並進誤差、ピッチング誤差等の影響により距離データ取得処理の前後でドリフト量監視処理中のセンサヘッド9の姿勢が変化する場合にも対応できる。ドリフト量監視処理中の測定値に基づく近似式が導出できる程度に長い時間に亘ってドリフト量監視処理が継続されるためである。具体的には、以下に説明する理由による。
図13は、ドリフト誤差除去部122によるドリフト誤差推定処理の別の一例を説明するグラフであり、図12に対応する。また、図13は、距離データ取得処理の前後でドリフト量監視処理中のセンサヘッド9の相対高さが距離(誤差)EZだけ下がった場合におけるドリフト量の時間的推移を示す。具体的には、第1距離センサ9aの相対高さが距離(誤差)EZ1だけ下がり、第2距離センサ9bの相対高さが距離(誤差)EZ2だけ下がり、第3距離センサ9cの相対高さが距離(誤差)EZ3だけ下がった場合におけるドリフト量の時間的推移を示す。なお、以下では、センサヘッド9に関する距離(誤差)EZを例に説明するが、距離センサ9a〜9cのそれぞれに関する距離(誤差)EZ1、EZ2、EZ3についても同様の説明が適用される。また、センサヘッド9及び距離センサ9a〜9cの相対高さの変動は、校正用ゲージの姿勢変動、センサヘッド9の姿勢変動等に起因する。
図13において、第2ドリフト量監視処理中のドリフト量は、誤差EZが存在しない場合の実線で示すドリフト量に比べ、点線で示すように誤差EZだけ小さい値で推移する。そのため、何らの補正も加えない場合には、距離データ取得処理中のドリフト量の推移は、一点鎖線で示すような直線を用いて推定され得る。
これに対し、幾何学量取得装置50は、以下に説明するような方法によって、誤差EZを除去できる。具体的には、ドリフト誤差除去部122は、第1ドリフト量監視処理におけるドリフト量の時間的推移に基づいて第1近似式y=f(t)を導き出す。また、ドリフト誤差除去部122は、第2ドリフト量監視処理におけるドリフト量の時間的推移に基づいて第2近似式y=f(t)−EZを導き出す。なお、yは、ドリフト量を表す変数であり、tは時間を表す変数である。そして、ドリフト誤差除去部122は、2つの近似式のそれぞれを微分した値が同じであるか否かを判定する。すなわち、2つの一次近似式のそれぞれの傾きが同じであるか否かを判定する。そして、その傾きが同じであれば、ドリフト誤差除去部122は、定数項であるEZがセンサヘッド9の高さ方向の誤差であると判断して、定数項EZを第2近似式から取り除き、第1近似式と同じ近似式を得る。すなわち、ドリフト誤差除去部122は、図13の破線で示すように、定数項EZが取り除かれた第2近似式を用いて距離データ取得処理中のドリフト量の時間的推移を推定する。また、ドリフト誤差除去部122は、第1近似式として指数関数y=a×exp(−b×t)を導き出し、第2近似式として指数関数y=a×exp(−b×t)−EZを導き出した場合も同様に誤差EZを取り除くことができる。なお、a、bは、定数を表し、expは、指数関数を表す。
このように、幾何学量取得装置50は、複数回のドリフト量監視処理のそれぞれにおいて、近似式が得られる程度の適切な数の測定値を記録する。そのため、幾何学量取得装置50は、1回目のドリフト量監視処理で得られたドリフト量の時間的推移と、2回目のドリフト量監視処理で得られたドリフト量の時間的推移とを比較して、センサヘッド9の高さに関する誤差を除去することができる。
このような誤差の除去は、ドリフト量監視処理中に適切な数の測定値を記録することによって実現されるが、本発明は、ドリフト量監視処理中に記録される測定値の数が少ない場合を排除するものではない。例えば、ドリフト誤差除去部122は、第1ドリフト量監視処理中に距離センサ9a〜9eのそれぞれにつき測定値を1つだけ記録し、且つ、第2ドリフト量監視処理中に距離センサ9a〜9eのそれぞれにつき測定値を1つだけ記録した上で、距離データ取得処理中のドリフト量の推移を推定してもよい。
次に、図14〜図17を参照して、ドリフト誤差推定処理の別の一例について説明する。なお、図14は、ドリフト誤差推定処理の流れを示すフローチャートである。
最初に、ドリフト誤差除去部122は、距離データ取得処理の開始前及び終了後のそれぞれで記録されたドリフト量の時間的推移を別々に線形近似する(ステップS31)。本実施例では、ドリフト誤差除去部122は、最小二乗法を用いて、第1ドリフト量監視処理で記録されたドリフト量(以下、「第1ドリフト量」とする。)の時間的推移の近似直線を導き出す。また、ドリフト誤差除去部122は、最小二乗法を用いて、第2ドリフト量監視処理で記録されたドリフト量(以下、「第2ドリフト量」とする。)の時間的推移の近似直線を導き出す。
その後、ドリフト誤差除去部122は、導き出した2つの近似直線が同等であるか否かを判定する(ステップS32)。本実施例では、ドリフト誤差除去部122は、2つの近似直線の傾きの差が所定値未満であり且つ2つの近似直線の切片の差が所定値未満であれば、2つの近似直線が同等であると判定する。
2つの近似直線が同等であると判定した場合(ステップS32のYES)、ドリフト誤差除去部122は、距離データ取得処理の前後のドリフト量の時間的推移に基づいて距離データ取得処理中のドリフト量を推定する(ステップS33)。本実施例では、ドリフト誤差除去部122は、第1ドリフト量と第2ドリフト量とを纏めて線形近似することで距離データ取得処理中のドリフト量を推定する。
一方、2つの近似直線が同等でないと判定した場合(ステップS32のYES)、ドリフト誤差除去部122は、2つの近似直線の傾きが同等であるか否かを判定する(ステップS34)。本実施例では、ドリフト誤差除去部122は、2つの近似直線の傾きの差が所定値未満であれば、2つの近似直線の傾きが同等であると判定する。
2つの近似直線の傾きが同等であると判定した場合(ステップS34のYES)、ドリフト誤差除去部122は、距離データ取得処理の開始前のドリフト量の時間的推移に基づいて距離データ取得処理中のドリフト量を推定する(ステップS35)。本実施例では、ドリフト誤差除去部122は、第1ドリフト量の時間的推移を表す近似直線を用いて距離データ取得処理中のドリフト量を推定する。
なお、2つの近似直線の傾きが同等でないと判定した場合(ステップS34のNO)、ドリフト誤差除去部122は、距離データ取得処理中のドリフト量の時間的推移を線形推定できないと判断して、非線形推定処理を実行する(ステップS36)。
ここで、図15及び図16を参照しながら、非線形推定処理について説明する。なお、図15は、非線形推定処理の流れを示すフローチャートである。また、図16は、非線形推定処理の一例を説明するグラフであり、図12に対応する。なお、図16中の白点は、各時刻の第1距離センサ9aの測定値に基づくドリフト量を表し、図16中の実線は、ドリフト誤差除去部122が導き出す近似曲線を表す。また、図16では、第2距離センサ9b〜第5距離センサ9eのそれぞれに関するドリフト量は、図の明瞭化のため省略する。
最初に、ドリフト誤差除去部122は、図15に示すように、距離データ取得処理の開始前に記録されたドリフト量の時間的推移を非線形近似する(ステップS41)。本実施例では、ドリフト誤差除去部122は、図16(A)に示すように、最小二乗法を用いて、第1ドリフト量の時間的推移を近似する指数関数を導き出す。なお、図16(A)中の破線で示す直線は、第1ドリフト量の時間的推移の近似直線を表し、図16(A)中の一点鎖線で示す直線は、第2ドリフト量の時間的推移の近似直線を表す。このように、図16(A)は、2つの近似直線が同等でないことを表す。
その後、ドリフト誤差除去部122は、距離データ取得処理の終了後のドリフト量のそれぞれを補正する(ステップS42)。本実施例では、ドリフト誤差除去部122は、第2ドリフト量のそれぞれを所定幅だけ増減させる。所定幅は、例えば、第2ドリフト量の各点と、ドリフト誤差除去部122が導き出した近似曲線上の対応する各点との差(乖離量)の平均値である。なお、所定幅は、予め登録されている値であってもよく、その都度決定される乱数であってもよい。図16(B)の黒点は、第2ドリフト量監視処理で記録された白点で示す第2ドリフト量のそれぞれを乖離量の平均値だけ低減させた状態を示す。
その後、ドリフト誤差除去部122は、距離データ取得処理開始前のドリフト量及び距離データ取得処理終了後の補正済みドリフト量の時間的推移を纏めて非線形近似する(ステップS43)。本実施例では、ドリフト誤差除去部122は、図16(C)に示すように、最小二乗法を用いて、第1ドリフト量の時間的推移、及び、乖離量の平均値だけ低減された第2ドリフト量の時間的推移を近似する指数関数を導き出す。
その後、ドリフト誤差除去部122は、非線形近似の結果が終了条件を満たすか否かを判定する(ステップS44)。本実施例では、ドリフト誤差除去部122は、導き出した指数関数に関する残差二乗和が所定値以下であれば終了条件を満たすと判定する。
終了条件を満たしていないと判定した場合(ステップS44のNO)、ドリフト誤差除去部122は、ステップS42以降の処理を再び実行する。なお、ドリフト誤差除去部122は、ステップS42及びステップS43の実行回数が所定回数を上回った場合にも終了条件を満たすと判定してもよい。
終了条件を満たすと判定した場合(ステップS44のYES)、ドリフト誤差除去部122は、直近に導き出した非線形近似の結果を採用して非線形推定処理を終了させる。本実施例では、ドリフト誤差除去部122は、図16(C)の実線で示す指数関数による近似曲線を採用して非線形推定処理を終了させる。
次に、図17を参照しながら、非線形推定処理の別の一例について説明する。なお、図17は、非線形推定処理の別の一例を説明するグラフであり、図16に対応する。図17中の白点は、各時刻の第1距離センサ9aの測定値に基づくドリフト量を表し、図17中の実線は、ドリフト誤差除去部122が導き出す近似曲線を表す。
最初に、ドリフト誤差除去部122は、図17(A)に示すように、最小二乗法を用いて、第1ドリフト量の時間的推移を近似する指数関数を導き出す。なお、図17(A)中の破線で示す直線は、第1ドリフト量の時間的推移の近似直線を表し、図17(A)中の一点鎖線で示す直線は、第2ドリフト量の時間的推移の近似直線を表す。このように、図17(A)は、2つの近似直線が同等でないことを表す。
その後、ドリフト誤差除去部122は、第2ドリフト量のそれぞれを乖離量の平均値だけ低減させる。図17(B)の黒点は、第2ドリフト量監視処理で記録された白点で示す第2ドリフト量のそれぞれを乖離量の平均値だけ低減させた状態を示す。
その後、ドリフト誤差除去部122は、図17(C)に示すように、最小二乗法を用いて、第1ドリフト量の時間的推移、及び、乖離量の平均値だけ低減された第2ドリフト量の時間的推移を近似する近似曲線を導き出す。本実施例では、ドリフト誤差除去部122は、指数関数で近似した場合の残差二乗和が所定値以上の場合に、指数関数の代わりに二次関数を用いて非線形近似を実行する。なお、ドリフト誤差除去部122は、二次関数以外の関数を用いて非線形近似を実行してもよい。例えば、ドリフト誤差除去部122は、第2ドリフト量の時間的推移の変動傾向に応じて、採用する近似曲線の種類を決定してもよい。具体的には、ドリフト誤差除去部122は、第2ドリフト量の時間的推移が減少傾向にある場合に二次関数を採用する。
その後、ドリフト誤差除去部122は、導き出した二次関数に関する残差二乗和が所定値以上であるため終了条件を満たさないと判定し、第2ドリフト量のそれぞれをさらに乖離量の平均値だけ低減させる。図17(D)の黒点は、図17(B)で示すように指数曲線との乖離量の平均値だけ低減させた第2ドリフト量のそれぞれを、二次曲線との乖離量の平均値だけさらに低減させた状態を示す。
この段階において、ドリフト誤差除去部122は、最後に導き出した二次関数に関する残差二乗和が所定値未満であるため終了条件を満たすと判定し、最後に導き出した二次関数を採用して非線形推定処理を終了させる。
なお、上述のように、幾何学量取得装置50は、距離データ取得処理の前後のドリフト量の時間的推移から距離データ取得処理中のドリフト量の時間的推移を推定する。そして、幾何学量取得装置50は、距離データ取得処理中に取得した距離データから、推定したドリフト量を除去する。その結果、幾何学量取得装置50は、距離センサのドリフト誤差を除去した状態で、ワークWの平面度を算出することができる。
しかしながら、本発明はこれに限定されるものではない。例えば、幾何学量取得装置50は、距離データ取得処理開始前のドリフト量の時間的推移のみに基づいて距離データ取得処理中のドリフト量の推移を推定してもよく、距離データ取得処理終了後のドリフト量の時間的推移のみに基づいて距離データ取得処理中のドリフト量の推移を推定してもよい。
また、幾何学量取得装置50は、距離データ取得処理の合間に1又は複数回のドリフト量監視処理を実行し、それらドリフト量監視処理でのドリフト量の時間的推移に基づいて、ドリフト量監視処理の開始前、ドリフト量監視処理の終了後、又は2つのドリフト量監視処理の間における距離データ取得処理中のドリフト量の推移を推定してもよい。具体的には、幾何学量取得装置50は、距離データ取得処理の合間に実行される2回のドリフト量監視処理におけるドリフト量の推移に基づいて、それら2回のドリフト量監視処理の間に実行される距離データ取得処理中のドリフト量の推移を推定してもよい。また、1回目のドリフト量監視処理の前に実行される距離データ取得処理中のドリフト量の推移を推定してもよく、2回目のドリフト量監視処理の後に実行される距離データ取得処理中のドリフト量の推移を推定してもよい。また、幾何学量取得装置50は、距離データ取得処理の合間に実行される1回のドリフト量監視処理におけるドリフト量の推移に基づいて、そのドリフト量監視処理の開始前又は終了後の少なくとも一方で実行される距離データ取得処理中のドリフト量の推移を推定してもよい。
図18〜図20は、ドリフト誤差除去部122によるドリフト誤差推定処理のさらに別の例を説明するグラフであり、図12に対応する。図18は、距離データ取得処理開始前のドリフト量の時間的推移のみに基づいて距離データ取得処理中のドリフト量の推移を推定する場合を示す。図19は、距離データ取得処理終了後のドリフト量の時間的推移のみに基づいて距離データ取得処理中のドリフト量の推移を推定する場合を示す。図20は、距離データ取得処理の前後とその合間にドリフト量監視処理を実行し、それら3回のドリフト量監視処理のそれぞれにおけるドリフト量の時間的推移に基づいて、距離データ取得処理中のドリフト量の推移を推定する場合を示す。
図18では、ドリフト誤差除去部122は、距離データ取得処理が開始される前に、時刻t0から時刻t11までの所定時間に亘って第1ドリフト量監視処理を実行し、距離センサ9a〜9eのそれぞれの測定値(校正用ゲージまでの距離)に基づくドリフト量を時系列で記録する。
そして、ドリフト誤差除去部122は、距離データ取得処理開始前のドリフト量の時間的推移から、距離データ取得処理中のドリフト量の時間的推移を推定する。具体的には、ドリフト誤差除去部122は、外挿法、最小二乗法等の公知の手段により距離データ取得処理中のドリフト量の時間的推移を表す式を導き出す。距離データ取得処理中の任意の時刻における距離センサ9a〜9eのそれぞれの測定値に含まれるドリフト量を幾何学量取得装置50が導き出すことができるようにするためである。
この場合、ドリフト誤差除去部122は、距離データ取得処理開始前に近似式を得る。そのため、ドリフト誤差除去部122は、距離データ取得処理中、距離データを取得したときにドリフト量を減算することによって、ドリフト量が除去された距離データをリアルタイムに算出できる。その結果、ドリフト誤差除去部122は、時刻t12において距離データ取得処理が終了したときに遅滞なくワークWの平面度を算出でき、平面度を算出するまでに要する時間を短縮できる。
図19では、ドリフト誤差除去部122は、距離データ取得処理が終了した後に、時刻t21から時刻t22までの所定時間に亘って第1ドリフト量監視処理を実行し、距離センサ9a〜9eのそれぞれの測定値(校正用ゲージまでの距離)に基づくドリフト量を時系列で記録する。
そして、ドリフト誤差除去部122は、距離データ取得処理終了後のドリフト量の時間的推移から、距離データ取得処理中のドリフト量の時間的推移を推定する。具体的には、ドリフト誤差除去部122は、外挿法、最小二乗法等の公知の手段により距離データ取得処理中のドリフト量の時間的推移を表す式を導き出す。距離データ取得処理中の任意の時刻における距離センサ9a〜9eのそれぞれの測定値に含まれるドリフト量を幾何学量取得装置50が導き出すことができるようにするためである。
この場合、ドリフト誤差除去部122は、距離データ取得処理開始前のドリフト量監視処理を実行することなく、距離データ取得処理終了後のドリフト量監視処理の結果のみに基づいて近似式を得る。そのため、ドリフト誤差除去部122は、距離データ取得処理開始前のドリフト量監視処理に要する時間を省略でき、平面度を算出するまでに要する時間を短縮できる。
図20では、ドリフト誤差除去部122は、距離データ取得処理が開始する前に、時刻t0から時刻t31までの所定時間に亘って第1ドリフト量監視処理を実行する。また、ドリフト誤差除去部122は、距離データ取得処理の合間に、すなわち、距離データ取得処理の前半が終了した後で距離データ記録処理の後半が開始する前に、時刻t32から時刻t33までの所定時間に亘って第2ドリフト量監視処理を実行する。さらに、ドリフト誤差除去部122は、距離データ取得処理の後半が終了した後に、時刻t34から時刻t35までの所定時間に亘って第3ドリフト量監視処理を実行する。
そして、ドリフト誤差除去部122は、距離データ取得処理の前後及びその合間でのドリフト量の時間的推移から、距離データ取得処理中のドリフト量の時間的推移を推定する。具体的には、ドリフト誤差除去部122は、内挿法、外挿法、最小二乗法等の公知の手段により、第1〜第3ドリフト量監視処理のそれぞれにおけるドリフト量の時間的推移に基づいて、距離データ取得処理中のドリフト量の時間的推移を表す式を導き出す。なお、ドリフト誤差除去部122は、第1及び第2ドリフト量監視処理のそれぞれにおけるドリフト量の時間的推移に基づいて距離データ取得処理(前半)中のドリフト量の時間的推移を表す式を導き出し、第2及び第3ドリフト量監視処理のそれぞれにおけるドリフト量の時間的推移に基づいて距離データ取得処理(後半)中のドリフト量の時間的推移を表す式を導き出してもよい。
この場合、ドリフト誤差除去部122は、図12における推定の対象となる連続的な時間幅(時刻t1から時刻t2までの時間)に比べ、推定する連続的な時間幅を短縮することができる。なお、図20における推定の対象となる連続的な時間幅は、時刻t31から時刻t32までの時間、及び、時刻t33から時刻t34までの時間である。その結果、ドリフト誤差除去部122は、距離データ取得処理中のドリフト量の推定をより高精度に実行することができる。
なお、距離データ取得処理の合間は、一回又は複数回のスキャン移動が行われる度に、或いは、一回又は複数回のステップ移動が行われる度に設定される時間であってもよく、スキャン移動の方向とステップ移動の方向とが切り替わるときに設定される時間であってもよい。
また、上述の実施例において、校正用ゲージは、校正位置のところに1つ設置されるが、複数箇所に設置されてもよい。センサヘッド9が校正用ゲージのところに移動するまでの距離及び時間を短縮し、ワークWの平面度を算出するまでに要する時間を短縮するためである。
以上の構成により、幾何学量取得装置50は、ワークWの表面上の測定範囲に対し、X軸に平行な方向に並ぶ3つの距離センサとY軸に平行な方向に並ぶ3つの距離センサとを備えたセンサヘッド9を所定の走査ライン間隔で自動的に走査させながら、距離データを取得する。すなわち、幾何学量取得装置50は、一連の走査により、X軸に平行な複数のX方向測定ラインのそれぞれの上に並ぶ測定点の距離データ、及び、Y軸に平行な複数のY方向測定ラインのそれぞれの上に並ぶ測定点の距離データを取得する。そのため、幾何学量取得装置50は、複数のX方向測定ライン及び複数のY方向測定ラインのそれぞれに対して、逐次3点法による真直度測定を実行することができ、ひいては、ワークWの表面上に格子状に並ぶ測定ラインに基づいて逐次3点法による平面度測定を実行することができる。その結果、幾何学量取得装置50は、ワークWの真直度や平面度の測定効率を高めることができる。また、幾何学量取得装置50は、逐次3点法を利用するため、センサヘッド9の運動真直度(運動誤差)を取り除いた状態で、ワークWの真直度や平面度を算出することができる。
また、一連の走査において、幾何学量取得装置50は、センサヘッド9の向きの変更を要求することなく、逐次3点法による真直度や平面度の測定に必要な距離データを取得することができる。その結果、幾何学量取得装置50は、機器剛性を高めることができる。
また、幾何学量取得装置50は、ラインビーム形状の投光ビームを発するレーザ変位計を距離センサとして採用することによって、測定値に対するノイズの影響を低減させることができる。所定幅のラインビーム内の変位量を平均化した値をラインビームの中心にある測定点の測定値として出力するためである。
また、幾何学量取得装置50は、X軸方向及びY軸方向のそれぞれに対して45度傾斜するラインビーム形状を採用することによって、測定値に対するノイズの影響がX方向測定ライン及びY方向測定ラインの何れか一方に偏るのを防止することができる。ノイズの原因の1つである研削痕は、対象物の延在方向又はその直交方向、すなわち、X軸又はY軸に平行な方向に形成され易いためである。
また、幾何学量取得装置50は、ドリフト量監視処理で得られたドリフト量の時間的推移に基づいて距離データ取得処理中のドリフト量を推定する。そのため、距離センサのドリフト量を除去した状態でワークWの平面度を算出できる。また、幾何学量取得装置50は、ワークWの平面度を算出するまでに要する時間を短縮することができる。距離センサは、通常、初期ドリフトの影響を受けないよう、電源投入後に内部温度が安定するまでの待機時間を必要とするが、幾何学量取得装置50は、ドリフト量を除去するので、そのような待機時間を省略或いは短縮できるためである。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例では、Y軸に平行な方向のセンサ間隔Dc及びX軸に平行な方向のセンサ間隔Daが何れも固定されているが、センサ間隔Dc及びセンサ間隔Daのうちの少なくとも一方は調整可能あってもよい。
また、上述の実施例では、センサヘッド9をX軸方向に移動できない構成が採用されているが、センサヘッド9をX軸方向及びY軸方向に移動可能な構成が採用されてもよい。
同様に、上述の実施例では、X軸テーブル2(ワークW)をY軸方向に移動できない構成が採用されているが、X軸テーブル2(ワークW)をX軸方向及びY軸方向に移動可能な構成が採用されてもよい。
また、上述の実施例では、平面研削盤100による研削加工、及び、幾何学量取得装置50による幾何学量取得が何れも制御装置12によって制御されるが、別々の制御装置によって制御されてもよい。すなわち、幾何学量取得装置50は、平面研削盤100の制御装置から独立した専用の制御装置を備えるようにしてもよい。
また、上述の実施例において、センサヘッド9に搭載される距離センサのそれぞれは、所定のサンプリング間隔で距離を測定し、その測定値を出力する。しかしながら、本発明はこれに限定されるものではない。距離センサのそれぞれは、例えば、継続的に距離を測定しながら、ローパスフィルタ等を適用して複数の測定値を一纏めにし、所定のサンプリング間隔毎にその一纏めにした測定値を出力するようにしてもよい。
また、上述の実施例では、幾何学量取得装置50は、立軸砥石ヘッド4を備えた平面研削盤100に搭載されるが、横軸砥石ヘッドを備えた平面研削盤に搭載されてもよい。また、幾何学量取得装置50は、対象物に対してセンサヘッド9をX軸方向及びY軸方向に相対移動させる機構を備える他の工作機械に搭載されてもよい。
また、上述の実施例では、センサヘッド9は、X軸に平行な方向に等間隔に配置される少なくとも3つの距離センサと、Y軸に平行な方向に等間隔に配置される少なくとも3つの距離センサとを含む。しかしながら、本発明はこれに限定されるものではない。例えば、センサヘッド9は、X軸に平行な方向に等間隔に配置される少なくとも2つの距離センサと、Y軸に平行な方向に等間隔に配置される少なくとも2つの距離センサとを含むものであってもよい。また、センサヘッド9は、X軸に平行な方向に等間隔に配置される少なくとも2つの距離センサのみを含むものであってもよく、Y軸に平行な方向に等間隔に配置される少なくとも2つの距離センサのみを含むものであってもよい。
また、上述の実施例では、幾何学量取得装置50は、平面研削盤に搭載されるものとして説明されたが、他の工作機械に搭載されてもよい。具体的には、幾何学量取得装置50は、半導体製造装置、液晶パネル製造装置等に搭載されてもよい。なお、距離データにおけるドリフト量の影響は、距離データ取得処理の実行時間が長いほど顕著になる。そのため、ドリフト誤差を除去した状態で平面度を算出できるという幾何学量取得装置50による効果は、ワークW等の対象物の表面積が大きいほど顕著なものとなる。
また、上述の実施例において、幾何学量取得装置50は、ドリフト量監視処理と距離データ取得処理とを連続的に実行する。しかしながら、本発明はこれに限定されるものではない。幾何学量取得装置50は、ドリフト量監視処理と距離データ取得処理との間で別の処理を実行してもよく、その間に何らの処理をも実行しない時間を設けるようにしてもよい。
また、上述の実施例において、幾何学量取得装置50は、時間と共に増大するドリフト量を除去するが、時間と共に減少するドリフト量も同様に除去できる。
また、上述の実施例において、幾何学量取得装置50は、逐次3点法により真直度、平面度を算出するが、多点法により真直度、平面度を算出してもよい。具体的には、2点法、3点法、又は、それぞれの逐次多点法等により真直度、平面度を算出してもよい。