(57)【特許請求の範囲】
【請求項１】
被測定物表面をスタイラスで走査して得られた測定データを前記スタイラス半径を用いて補正し、補正データから、補正データとワークの実面データとの差分である逆行データを削除することにより前記被測定物の形状を解析する装置であって、
前記補正データのデータ間角度に基づいて逆行データの開始位置である逆行開始位置を特定する手段を有することを特徴とする形状解析装置。
【請求項２】
請求項１記載の装置において、さらに、
少なくとも前記逆行開始位置の前あるいは後に存在する交点を検出する手段と、
前記交点に基づいて前記逆行データを特定して削除する手段と、
を有することを特徴とする形状解析装置。
【請求項３】
請求項１、２のいずれかに記載の装置において、さらに、
前記補正データの配列方向変化に基づいて前記逆行データを特定して削除する手段を有することを特徴とする形状解析装置。
【請求項４】
請求項１〜３のいずれかに記載の装置において、
前記補正データのデータ間角度が所定値以上となる補正データの位置を前記逆行開始位置とすることを特徴とする形状解析装置。
【請求項５】
請求項４記載の装置において、
前記所定値は９０度であることを特徴とする形状解析装置。
【請求項６】
請求項４記載の装置において、
前記所定値は９０度に対して所定の許容値を設定した値であることを特徴とする形状解析装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は形状解析装置及び方法、特にスタイラスで走査して得られた被測定物（ワーク）の測定データ処理に関する。
【０００２】
【従来の技術】
従来より、ワーク表面をスタイラスで走査し、ワーク表面の形状を解析する形状解析装置、あるいは三次元座標測定機が知られている。
【０００３】
スタイラスを走査して得られた測定データは、ワークの形状そのものではなく、あくまでスタイラスを介したワーク表面形状であるため、実際のワーク表面形状データを得るためには、測定データからスタイラスの形状、具体的にはスタイラスの半径データを控除（スタイラス半径補正と称する）したデータを求める必要がある。
【０００４】
図１３には、ワーク表面をスタイラスで走査した場合の様子が示されている。スタイラスを有する検出器からの検出データは、図中一点鎖線のデータであり、これは実際の測定面（実線で示す）からスタイラスのプローブ１００半径分だけオフセットされたプローブ中心の軌跡となる。従って、この測定データをデータ処理によりプローブ半径分だけ逆のオフセットを行い、ワークの実面データを得ている。
【０００５】
しかし、スタイラス半径補正を行った後の実面データ（補正データ）には、図１４に示されるように、特にワークのコーナ部分で逆行データ２００（破線で示す）が発生する場合があった。逆行データとは、本来一方向のみに配列しているはずのデータが、逆方向に戻り、再び本体の方向に配列するデータを言う。図１４では、図中矢印方向にスタイラスが走査したため、本来であれば矢印方向にデータが配列しているはずであるが、符号２００の部分で一旦逆方向にデータが配列し、再びもとの方向に復帰している。このような逆行データが存在すると、真の実面データを得ることができないので、取り除く必要がある。
【０００６】
そこで、従来においては、スタイラス半径補正後の補正データに対し、補正データの一方向（具体的には、スタイラスをＸ軸方向に移動させて走査した場合にはＸ軸方向）の値を比較し、Ｘ値が増加しておらずＸ値が減少しているデータを検出して逆行データと特定し、削除していた。
【０００７】
【発明が解決しようとする課題】
しかしながら、このようにＸ値変化のみに基づいて逆行データを特定して削除する方法では、Ｘ値が重複しないようにデータを削除するため、図１５に示されるようにコーナ部分が途切れたものとなり、その後に補間処理をしなければならず処理が煩雑となる問題があった。
【０００８】
本発明は、上記従来技術の有する課題に鑑みなされたものであり、その目的は、補正データに存在する逆行データを確実に特定し、途切れのない実面データを得ることができる装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明は、被測定物表面をスタイラスで走査して得られた測定データを前記スタイラス半径を用いて補正し、補正データから、補正データとワークの実面データとの差分である逆行データを削除することにより前記被測定物の形状を解析する装置であって、前記補正データのデータ間角度に基づいて逆行データの開始位置である逆行開始位置を特定する手段を有することを特徴とする。逆行が存在する場合には、データ間の角度が著しく増大する。したがって、データ間角度に着目することで、逆行の開始位置を正確に特定することができる。
【００１０】
ここで、本発明は、さらに少なくとも前記逆行開始位置の前あるいは後に存在する交点を検出する手段と、前記交点に基づいて前記逆行データを特定して削除する手段とを有する。逆行した場合、再び戻る際にデータの交差、すなわち交点が存在する場合が多い。そこで、交点を検出し、この交点に基づいて逆行データの範囲を特定することができる。なお、「削除」には、物理的に当該データを消去する他、データ自体は消去せず何らかのマークを付すことで不要なデータであるとみなすことも含まれる。
【００１１】
また、本発明は、さらに、前記補正データの配列方向変化に基づいて前記逆行データを特定して削除する手段を有することを特徴とする。配列方向変化とは、従来技術におけるＸ値変化であり、従来の削除処理を補完的に用いることで、より確実に逆行データを削除することができる。
【００１２】
本発明において、補正データのデータ間角度が所定値以上となる補正データの位置を前記逆行開始位置とすることができる。前記所定値は好適には９０度であり、９０度に対して所定の許容値を設定した値を所定値とすることもできる。
【００１３】
【発明の実施の形態】
以下、図面に基づき本発明の実施形態について説明する。
【００１４】
図１には、形状解析装置の外観構成図が示されている。基台１０上に載物台１２が設けられ、この載物台１２の上にワーク１４が固定される。また、基台１０にはスタイラスを有する検出装置１６が駆動装置１８により支柱２０に設けられている。検出装置１６は、駆動装置１８により図中Ｘ方向及びＺ方向に駆動され、Ｚ方向の駆動によりスタイラスの先端をワーク１４の表面に接触させ、Ｘ方向の移動によりワーク１４表面の凹凸を検出する。検出された凹凸量は電気信号に変換され、コンピュータディスプレイなどの表示装置２２に供給され表示される。
【００１５】
表示装置２２をコンピュータディスプレイとした場合、コンピュータ本体の制御装置が通信装置を介して駆動装置１８を駆動制御するとともに、検出装置１６からの検出信号を処理して表示装置２２上に表示することができる。また、コンピュータ内の制御装置（ＣＰＵ）は、検出装置１６からの測定データに対してスタイラス半径補正を実行し、スタイラスのプローブ半径を控除した実面データを算出する。実面データを算出する過程では、まず補正データを算出し、その後補正データ内に存在する逆行データを特定して削除する。なお、本実施形態における「削除」とは、逆行データを消去することではなく、逆行データに対して逆行データである旨のフラグをセットし、後の処理で逆行フラグがセットされているデータを処理から除外することを意味する（処理しないという点で、削除と技術的に等価である。また、データ自身は消去せず残しておくことで、他の処理に利用することができる利点がある）。測定データから補正データを得る方法、すなわちプローブ半径の逆オフセット処理は従来と同様であるので、以下では補正データから逆行データを特定する方法について説明する。
【００１６】
図２〜図１０には、本実施形態における制御装置での逆行データの特定処理が模式的に示されている。図中黒丸は補正データであり、制御装置では各補正データ間の変化をベクトルで表す。図においては、ベクトルａ及びｂが示されている。そして、制御装置は、各補正データ間のベクトルから、ベクトルの内積を演算することによりベクトル間のなす角θを算出する。具体的には、ベクトルａ、ｂのなす角度は、
【数１】
0003665506.tif 000002
で算出することができる。制御装置は、このｃｏｓθが一定値（例えば逆行角度を９０度とした場合には０）以下となった場合に逆行データ（図２で言えば、ベクトルｂの先端に位置する補正データが逆行データ）と定義する。
【００１７】
図３には、補正データに対して逆行位置を特定した一例が示されている。図中矢印方向に順次補正データが配列し、途中で逆行している場合、この部分で上記のｃｏｓθが０以下となるため、逆行位置（逆行開始位置）Ｐが特定される。
【００１８】
逆行位置を特定した後、制御装置は次に特定した逆行位置の前後に存在する補正データから交点を探索する。探索する範囲は、バッファのサイズで決めることができ、あるいは予め数（例えば前後１００個のデータ）を決めておくこともできる。交点探索は、逆行位置前後に存在するベクトル群（隣接する補正データから作成されるベクトル）の組が交点を有するか否かで行う。
【００１９】
図４には、図３の補正データにおいて逆行位置の前後を探索して得られる交点Ｑが示されている。この図の場合には、逆行位置の前（矢印方向が順方向であり、逆行位置からこの矢印と反対方向が「前」となり、矢印の向きが「後」である）と後で同一交点が探索されることになる。
【００２０】
そして、交点が探索された後、制御装置は交点に相当する最初の補正データと最後の補正データとの間に存在する補正データを逆行データとみなし、削除（逆行フラグをセット）する。
【００２１】
図５には、逆行位置Ｐと交点Ｑとの間に存在する逆行データの削除の様子が示されている。交点Ｑに相当する最初の補正データと最後の補正データとの間にあるデータ（破線部分）が逆行データと特定され、削除される。（Ｂ）から分かるように、削除後のデータには従来のような途切れはなく、従って補間処理が不要である。
【００２２】
なお、逆行位置を特定し、次いでその前後に存在する交点を探索する過程で、複数の交点が得られる場合がある。この場合にも同様に処理することができる。
【００２３】
図６には逆行位置Ｐ前後の補正データを探索した結果、前に１つ、後ろに２つ交点が得られた場合が示されている。この場合、逆行位置Ｐから前に探索して得られる交点Ｑ３が最も最初の補正データ及び最後の補正データに相当するので、これらの間にある補正データを逆行データと特定する。これにより、逆行データを確実に特定し、途切れのないデータを得ることができる。
【００２４】
また、逆行角度を例えば９０度とした場合、角度が９０度に極めて近いものの９０度に達しないような場合には逆行していないと判定されてしまう場合がある。例えば、図７に示されるように、それぞれの角度が９０度より若干大きいα（α＝１８０度−θ）をなしつつループを構成するようなデータ配列の場合、本来であれば逆行データとして特定しなければならないにもかかわらずｃｏｓθが０より大きいと判定されて逆行していないと誤判定してしまうことになる。
【００２５】
そこで、このような場合にも対応すべく、逆行角度に許容値を設定し、（逆行角度＋許容値）に基づいて逆行位置を特定することもできる。例えば逆行角度を９０度、許容値を−３度とする如くである。これにより、θが８７度以上の場合には逆行位置と特定され、図７のような場合でも確実に逆行データを削除することができる。
【００２６】
なお、このように許容値を設定すると、補正データに本来、逆行が存在していないのに逆行データと誤判定してしまう場合もあり得る。例えば図８に示されるように、９０度より若干大きいβ（β＝１８０度−θ）をなすが逆行は生じていないデータ配列の場合でも、θが８７度以上であれば逆行位置と特定してしまうことになる。しかしながら、一般の形状解析装置においては図８に示されるようなデータ配列の出現確率は極めて低く、実用上問題ない。
【００２７】
さらに、補正データに逆行が存在しているが、逆行位置Ｐのみ存在し、交点が存在しない場合もあり得る。図９にはこのような場合のデータ配列の一例が示されている。逆行角度から逆行位置Ｐを特定することができるが、データ配列がループを構成していないため交点が存在していない。このような場合には逆行データを特定することができないので、従来の方法、すなわちＸ値の変化から逆行データを特定して削除することが好適である。
【００２８】
また、逆行位置及び交点は存在するものの、それだけでは全ての逆行データを特定して削除することができない場合もある。例えば、図１０に示されるような場合、逆行位置Ｐが存在し、逆行位置から後の探索で交点Ｑが存在するが、この交点に相当する最初の補正データと最後の補正データとの間の補正データを逆行データと特定して削除しても（破線部分）、交点の前と後にさらに逆行データが存在（一点鎖線）し、これを特定できないため、全ての逆行データを削除することができない。したがって、このような場合を考慮し、交点に基づいた逆行データの特定（削除）処理の後に、従来のＸ値変化による逆行データの特定（削除）処理を行うのが好適である。この処理により、図中一点鎖線の逆行データをも削除することができる（但し、この場合にはデータの途切れが生じてしまうため、後に円弧補間や自由曲線補間などの補間処理が必要となる）。
【００２９】
図１１及び図１２には、以上述べた制御装置の処理フローチャートが示されている。まず、逆行データの探索位置が補正データ範囲内であるか否かを確認し（Ｓ１０１）。補正データ範囲内である場合には、着目している補正データのベクトルａ、ｂを算出する（Ｓ１０２）。ベクトルａ、ｂを算出した後、角度定義により逆行位置を特定する（Ｓ１０３）。すなわち、２つのベクトルａ、ｂのなす角ｃｏｓθが０以下であるか否か（所定の許容値を設定した場合には、ｃｏｓθが許容値に応じた値以下であるか否か）を判定する。そして、逆行していると判定された場合には（Ｓ１０４でＹＥＳ）、逆行位置からその前後の交点を探索し、交点が存在した場合には交点内のデータ、すなわち交点に相当する最初のデータと最後のデータとの間のデータに逆行フラグをセットする（Ｓ１０５）。逆行フラグがセットされた補正データは、後のデータ処理において無視されるため、結果的に逆行データを削除したことになる（バッファメモリには逆行データは存在する）。逆行フラグをセットした後、逆行探索位置を交点位置にスキップする（Ｓ１０７）。
【００３０】
以上の処理を繰り返すことで、補正データに存在する逆行データを削除することが可能であるが、本実施形態では、さらに図９あるいは図１０のような場合に対応すべく、引き続いて従来のＸ値による逆行削除処理を行う（図９のように交点が存在しない場合には、Ｓ１０６でＮＯと判定されて従来処理に移行する）。
【００３１】
すなわち、図１２に示されるように、探索位置をＳ１０３及びＳ１０４で特定した逆行位置まで再びスキップし（Ｓ１０８）、削除されなかった補正データに対してＸ値による逆行判定を行う（Ｓ１０９）。すなわち、削除されなかった補正データのＸ値が順次増加しているかを判定し、一部Ｘ値が減少した後、減少前のＸ値に戻っている場合には、減少してから戻るまでの補正データを逆行データと判定して逆行フラグをセットする（Ｓ１１０）。
【００３２】
このように、本実施形態では、従来技術のようにＸ値の変化で逆行データを特定するのではなく、角度に基づいて逆行開始位置を特定し、この逆行開始位置を基点として交点を探索し、この交点に基づいて逆行データを削除しているので、途切れのない実面データを得ることができる。
【００３３】
なお、本実施形態では、交点に基づく逆行データの削除処理後に従来技術のＸ値による削除処理を行っているが、交点に基づく逆行データの削除処理のみを行ってもよい。
【００３４】
また、形状解析装置の解析モードとして、
モード１：交点に基づく削除処理
モード２：Ｘ値に基づく削除処理（従来方法）
モード３：交点とＸ値に基づく削除処理
の３モードを有し、ユーザが適宜選択できるように構成することも可能である。
【００３５】
また、本実施形態では、逆行データに対して逆行フラグをセットすることで結果として逆行データを削除しているが、逆行データ自身はメモリ内に存在しているので、メモリ内に存在している補正データを繰り返し使用し、最適の処理を見いだすこともできる。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、補正データに存在する逆行データを確実に特定して削除し、途切れのない実面データを得ることができる。これにより、従来必要であった補間処理が不要となり、処理時間の短縮を図ることができる。
【図面の簡単な説明】
【図１】  実施形態の外観構成図である。
【図２】  ベクトル算出説明図である。
【図３】  逆行位置（逆行開始位置）の説明図である。
【図４】  交点位置の説明図である。
【図５】  逆行データの削除説明図である。
【図６】  複数交点が存在する場合の説明図である。
【図７】  角度特異例の説明図である。
【図８】  他の角度特異例の説明図である。
【図９】  交点が存在しない場合の説明図である。
【図１０】  さらに他の特異例の説明図である。
【図１１】  実施形態の処理フローチャート（その１）である。
【図１２】  実施形態の処理フローチャート（その２）である。
【図１３】  スタイラスを走査して得られる測定データの説明図である。
【図１４】  図１３の測定データを補正して得られる補正データの逆行説明図である。
【図１５】  従来の逆行データ削除説明図である。
【符号の説明】
１０  基台、１２  載物台、１４  ワーク、１６  検出装置、１８  駆動装置、２０  支柱、２２  表示装置。
【図１】
0003665506.tif 000003
【図２】
0003665506.tif 000004
【図３】
0003665506.tif 000005
【図４】
0003665506.tif 000006
【図５】
0003665506.tif 000007
【図６】
0003665506.tif 000008
【図７】
0003665506.tif 000009
【図８】
0003665506.tif 000010
【図９】
0003665506.tif 000011
【図１０】
0003665506.tif 000012
【図１１】
0003665506.tif 000013
【図１２】
0003665506.tif 000014
【図１３】
0003665506.tif 000015
【図１４】
0003665506.tif 000016
【図１５】
0003665506.tif 000017