(57)【特許請求の範囲】
【請求項１】
被測定対象を撮像して得られる画像データに基づいて被測定対象を測定する画像測定装置に用いられ、測定の手順を記述したパートプログラムをオフラインティーチングによって生成するパートプログラム生成装置であって、
被測定対象のワークデータを読み込むワークデータ入力手段と、
このワークデータ入力手段によって読み込まれたワークデータをグラフィックス表示する表示手段と、
この表示手段で表示されたワークデータの中から前記被測定対象の測定すべき測定要素に対応した図形を選択する図形選択手段と、
各図形の種類毎に適用されるエッジ検出ツールの生成条件及び撮像倍率を含む測定条件を予め設定するための測定条件設定手段と、
この測定条件設定手段に設定された測定条件に基づいて前記選択された各図形に対するエッジ検出ツールを生成すると共に前記設定された撮像倍率に基づいて前記被測定対象を撮像して得られる画像情報の表示領域の中に判定領域を設定し、前記生成されたエッジ検出ツールが前記判定領域の中に収まるかどうかを判定し、この判定結果に基づいて前記生成されたエッジ検出ツールによるエッジ検出コマンドを含むパートプログラムを生成するパートプログラム生成手段と
を備えたことを特徴とする画像測定装置用パートプログラム生成装置。
【請求項２】
前記パートプログラム生成手段は、前記被測定対象を撮像して得られる画像情報の表示領域の座標系における前記選択された各図形のベクトルデータから前記エッジ検出ツールの位置及び向きを決定し、その図形についてのエッジ検出ツール生成条件から前記エッジ検出ツールの長さ及び数を決定するものであることを特徴とする請求項１記載の画像測定装置用パートプログラム生成装置。
【請求項３】
前記生成されたパートプログラムにより配置される前記エッジ検出ツールを編集する編集手段を更に備え、
前記表示手段は、前記編集手段による前記エッジ検出ツールの編集操作の間、撮像される画像の大きさと同じ倍率で前記ワークデータをグラフィックス表示するものである
ことを特徴とする請求項１又は２記載の画像測定装置用パートプログラム生成装置。
【請求項４】
前記測定条件設定手段は、前記測定要素毎の公差照合のための公差情報を設定するものであり、
前記パートプログラム生成手段は、前記測定条件設定手段で設定された公差情報に基づいて公差照合のための公差情報を前記パートプログラムに記録するものである
ことを特徴とする請求項１〜３のいずれか１項記載の画像測定装置用パートプログラム生成装置。
【請求項５】
前記測定条件設定手段は、前記画像測定装置にオートフォーカス動作を実行させるオートフォーカス実行条件を設定するものであり、
前記パートプログラム生成手段は、前記測定条件設定手段で設定されたオートフォーカス実行条件に基づいてオートフォーカスコマンドを前記パートプログラムに記録するものである
ことを特徴とする請求項１〜４のいずれか１項記載の画像測定装置用パートプログラム生成装置。
【請求項６】
前記パートプログラム生成手段は、前記生成されたエッジ検出ツールが前記判定領域の中に収まったときのみ前記生成されたエッジ検出ツールに基づくエッジ検出コマンドを前記パートプログラムに記述し、前記生成されたエッジ検出ツールが前記判定領域の中に収まらなかったときには警告表示を行ってエッジ検出ツールの生成を中止するものであることを特徴とする請求項１〜５のいずれか１項記載の画像測定装置用パートプログラム生成装置。
【請求項７】
前記測定条件設定手段は、各図形の種類毎に生成されたエッジ検出ツールの１次候補と２次候補とをエッジ検出ツール生成条件として設定するものであり、
前記パートプログラム生成手段は、前記１次候補として生成されたエッジ検出ツールが前記判定領域の中に収まったときのみ前記生成されたエッジ検出ツールに基づくエッジ検出コマンドを前記パートプログラムに記述し、前記１次候補として生成されたエッジ検出ツールが前記判定領域の中に収まらなかったときには前記２次候補のエッジ検出ツールを生成するものであることを特徴とする請求項１〜５のいずれか１項記載の画像測定装置用パートプログラム生成装置。
【請求項８】
前記パートプログラム生成手段は、前記判定領域の中に複数のエッジ検出ツールが含まれているときに、これら複数のエッジ検出ツールによるエッジ検出コマンドの実行を、画像測定装置のステージ移動を伴わずに連続的に実行させるようにパートプログラムを生成するものであることを特徴とする請求項１〜７のいずれか１項記載の画像測定装置用パートプログラム生成装置。
【請求項９】
前記パートプログラム生成手段は、前記判定領域の中に最も多くのエッジ検出ツールが収まるようなステージ移動コマンドを含むパートプログラムを生成するものであることを特徴とする請求項８記載の画像測定装置用パートプログラム生成装置。
【請求項１０】
前記のワークデータは、被測定対象のＣＡＤデータあるいは被測定対象の画像データであることを特徴とする請求項１〜９のいずれか１項記載の画像測定装置用パートプログラム生成装置。
【請求項１１】
被測定対象を撮像して得られる画像データに基づいて被測定対象を測定する画像測定装置に使用され、測定の手順を記述したパートプログラムをオフラインティーチングによって生成するパートプログラム生成方法であって、
被測定対象のワークデータを読み込んで、
この読み込まれたワークデータをグラフィックス表示し、
この表示されたワークデータの中から選択操作によって選択された前記被測定対象の測定すべき測定要素に対応した図形に対し、予め設定された各図形の種類毎に適用されるエッジ検出ツールの生成条件及び撮像倍率を含む測定条件に基づいて、エッジ検出ツールを生成すると共に前記設定された撮像倍率に基づいて前記被測定対象を撮像して得られる画像情報の表示領域の中に判定領域を設定し、前記生成されたエッジ検出ツールが前記判定領域の中に収まるかどうかを判定し、この判定結果に基づいて前記生成されたエッジ検出ツールによるエッジ検出コマンドを含むパートプログラムを生成する
ことを特徴とする画像測定装置用パートプログラム生成方法。
【請求項１２】
被測定対象を撮像して得られる画像データに基づいて被測定対象を測定する画像測定装置に使用され、測定の手順を記述したパートプログラムをオフラインティーチングによって生成するパートプログラム生成プログラムを記録してなる媒体であって、
被測定対象のワークデータを読み込むステップと、
このステップによって読み込まれたワークデータをグラフィックス表示するステップと、
このステップで表示されたワークデータの中から前記被測定対象の測定すべき測定要素に対応した図形を選択するステップと、各図形の種類毎に適用されるエッジ検出ツールの生成条件及び撮像倍率を含む測定条件を予め設定するためのステップと、
このステップで設定された測定条件に基づいて前記選択された各図形に対するエッジ検出ツールを生成すると共に前記設定された撮像倍率に基づいて前記被測定対象を撮像して得られる画像情報の表示領域の中に判定領域を設定し、前記生成されたエッジ検出ツールが前記判定領域の中に収まるかどうかを判定し、この判定結果に基づいて前記生成されたエッジ検出ツールによるエッジ検出コマンドを含むパートプログラムを生成するステップと
を備えた画像測定装置用パートプログラム生成プログラムを記憶してなる媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像測定機のパートプログラムを実機を使わずに被測定対象の形状データに基づいてオフラインで簡易に一括自動生成するオフラインティーチングシステムを利用した、画像測定装置用パートプログラム生成装置及び方法、並びに画像測定装置及びその測定結果表示方法に関する。
【０００２】
【従来の技術】
従来、ＣＮＣタイプの画像測定機のオフラインティーチングは２次元ＣＡＤデータを画面上に表示しておいて、オペレータが測定箇所となる図形要素をマウス等を用いて指定し、さらにどのエッジ検出ツールを使うかを個別に判断してパートプログラムを生成していた。
【０００３】
【発明が解決しようとする課題】
しかし、ＣＡＤデータには線分、円、円弧の他に楕円、自由曲線等の複雑なデータが含まれ、またエッジ検出ツールの種類も豊富であるため、どの図形要素にどのエッジ検出ツールを使用するかを選択することは難しく、測定時間や測定精度等にオペレータの習熟度に依存した個人差を生じ、パートプログラム生成に要する作業量も多くなり、時間が掛かっていた。
また、一度出来上がったパートプログラムに対して後からエッジ検出ツールの位置や向き、幅等を適切に調節するといった修正は、困難なため行われていなかった。よって、このような修正を行う際にはパートプログラムを生成し直さなければならず、柔軟性・汎用性に欠けるといった問題もあった。
【０００４】
本発明はこのような点に鑑み、オペレータにとって使いやすく、複雑な操作を必要とすることなく、効率的にＣＮＣ画像測定機用パートプログラムを生成することのできる画像測定装置用パートプログラム生成装置及び方法、並びに画像測定装置及びその測定結果表示方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明に係る画像測定用パートプログラム測定は、被測定対象を撮像して得られる画像データに基づいて被測定対象を測定する画像測定装置に用いられ、測定の手順を記述したパートプログラムをオフラインティーチングによって生成するパートプログラム生成装置であって、被測定対象のワークデータ（ＣＡＤデータあるいは画像データ）を読み込むワークデータ入力手段と、このワークデータ入力手段によって読み込まれたワークデータをグラフィックス表示する表示手段と、この表示手段で表示されたワークデータの中から前記被測定対象の測定すべき測定要素に対応した図形を選択する図形選択手段と、各図形の種類毎に適用されるエッジ検出ツールの生成条件及び撮像倍率を含む測定条件を予め設定するための測定条件設定手段と、この測定条件設定手段に設定された測定条件に基づいて前記選択された各図形に対するエッジ検出ツールを生成すると共に前記設定された撮像倍率に基づいて前記被測定対象を撮像して得られる画像情報の表示領域の中に判定領域を設定し、前記生成されたエッジ検出ツールが前記判定領域の中に収まるかどうかを判定し、この判定結果に基づいて前記生成されたエッジ検出ツールによるエッジ検出コマンドを含むパートプログラムを生成するパートプログラム生成手段とを備えたことを特徴とする。
【０００６】
前記パートプログラム生成手段には、例えば前記被測定対象を撮像して得られる画像情報の表示領域の座標系における前記選択された各図形のベクトルデータから前記エッジ検出ツールの位置及び向きを決定し、その図形についてのエッジ検出ツール生成条件から前記エッジ検出ツールの長さ及び数を決定する手法を適用することができる。
【０００７】
また、前記生成されたパートプログラムにより配置される前記エッジ検出ツールを編集する編集手段を更に備え、前記表示手段は、前記編集手段による前記エッジ検出ツールの編集操作の間、撮像される画像の大きさと同じ倍率で前記ワークデータをグラフィックス表示するようにしてもよい。
【０００８】
更に、前記測定条件設定手段は、前記測定要素毎の公差照合のための公差情報を設定するものであり、前記パートプログラム生成手段は、前記測定条件設定手段で設定された公差情報に基づいて公差照合のための公差情報を前記パートプログラムに記録するような態様をとることも可能である。
【０００９】
ここで、前記測定条件設定手段には、例えば前記画像測定装置にオートフォーカス動作を実行させるオートフォーカス実行条件を設定するものであり、前記パートプログラム生成手段は、前記測定条件設定手段で設定されたオートフォーカス実行条件に基づいてオートフォーカスコマンドを前記パートプログラムに記録するような方法もとり得る。
【００１０】
また、前記パートプログラム生成手段においては、前記生成されたエッジ検出ツールが前記判定領域の中に収まったときのみ前記生成されたエッジ検出ツールに基づくエッジ検出コマンドを前記パートプログラムに記述し、前記生成されたエッジ検出ツールが前記判定領域の中に収まらなかったときには警告表示を行ってエッジ検出ツールの生成を中止させることもできる。
【００１１】
前記測定条件設定手段は、例えば各図形の種類毎に生成されたエッジ検出ツールの１次候補と２次候補とをエッジ検出ツール生成条件として設定するものであり、前記パートプログラム生成手段は、前記１次候補として生成されたエッジ検出ツールが前記判定領域の中に収まったときのみ前記生成されたエッジ検出ツールに基づくエッジ検出コマンドを前記パートプログラムに記述し、前記１次候補として生成されたエッジ検出ツールが前記判定領域の中に収まらなかったときには前記２次候補のエッジ検出ツールを生成する。
【００１２】
また、前記パートプログラム生成手段には、前記判定領域の中に複数のエッジ検出ツールが含まれているときに、これら複数のエッジ検出ツールによるエッジ検出コマンドの実行を、画像測定装置のステージ移動を伴わずに連続的に実行させるようにパートプログラムを生成する機能を付加してもよい。
【００１３】
なお、前記パートプログラム生成手段は、前記判定領域の中に最も多くのエッジ検出ツールが収まるようなステージ移動コマンドを含むパートプログラムを生成することもできる。
【００１４】
本発明に係る画像測定装置用パートプログラム生成方法は、被測定対象を撮像して得られる画像データに基づいて被測定対象を測定する画像測定装置に使用され、測定の手順を記述したパートプログラムをオフラインティーチングによって生成するパートプログラム生成方法であって、被測定対象のワークデータを読み込んで、この読み込まれたワークデータをグラフィックス表示し、この表示されたワークデータの中から選択操作によって選択された前記被測定対象の測定すべき測定要素に対応した図形に対し、予め設定された各図形の種類毎に適用されるエッジ検出ツールの生成条件及び撮像倍率を含む測定条件に基づいて、エッジ検出ツールを生成すると共に前記設定された撮像倍率に基づいて前記被測定対象を撮像して得られる画像情報の表示領域の中に判定領域を設定し、前記生成されたエッジ検出ツールが前記判定領域の中に収まるかどうかを判定し、この判定結果に基づいて前記生成されたエッジ検出ツールによるエッジ検出コマンドを含むパートプログラムを生成することを特徴とする。
【００１５】
また、本発明に係る画像測定装置用パートプログラム生成プログラムを記憶してなる媒体は、被測定対象を撮像して得られる画像データに基づいて被測定対象を測定する画像測定装置に使用され、測定の手順を記述したパートプログラムをオフラインティーチングによって生成するパートプログラム生成プログラムを記録してなる媒体であって、被測定対象のワークデータを読み込むステップと、このステップによって読み込まれたワークデータをグラフィックス表示するステップと、このステップで表示されたワークデータの中から前記被測定対象の測定すべき測定要素に対応した図形を選択するステップと、各図形の種類毎に適用されるエッジ検出ツールの生成条件及び撮像倍率を含む測定条件を予め設定するためのステップと、このステップで設定された測定条件に基づいて前記選択された各図形に対するエッジ検出ツールを生成すると共に前記設定された撮像倍率に基づいて前記被測定対象を撮像して得られる画像情報の表示領域の中に判定領域を設定し、前記生成されたエッジ検出ツールが前記判定領域の中に収まるかどうかを判定し、この判定結果に基づいて前記生成されたエッジ検出ツールによるエッジ検出コマンドを含むパートプログラムを生成するステップとを備えたことを特徴とする。
【００２０】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好ましい実施例について説明する。図１は、本発明の第一の実施例に係る画像測定システムの全体構成を示す斜視図である。
このシステムは、非接触型の画像測定機１と、この画像測定機１を駆動制御すると共に、必要なデータ処理を実行するコンピュータシステム２と、計測結果をプリントアウトするプリンタ３とにより構成されている。
【００２１】
画像測定機１は、次のように構成されている。即ち、架台１１上には、被測定対象（以下、ワークと呼ぶ）１２を載置する測定テーブル１３が装着されており、この測定テーブル１３は、図示しないＹ軸駆動機構によってＹ軸方向に駆動される。架台１１の両側縁中央部には上方に延びる支持アーム１４，１５が固定されており、この支持アーム１４、１５の両上端部を連結するようにＸ軸ガイド１６が固定されている。このＸ軸ガイド１６には、撮像ユニット１７が支持されている。撮像ユニット１７は、図示しないＸ軸駆動機構によってＸ軸ガイド１６に沿って駆動される。撮像ユニット１７の下端部には、ＣＣＤカメラ１８が測定テーブル１３と対向するように装着されている。また、撮像ユニット１７の内部には、図示しない照明装置及びフォーカシング機構の他、ＣＣＤカメラ１８のＺ軸方向の位置を移動させるＺ軸駆動機構が内蔵されている。
【００２２】
コンピュータシステム２は、コンピュータ本体２１、キーボード２２、ジョイスティックボックス（以下、Ｊ／Ｓと呼ぶ）２３、マウス２４及びＣＲＴ画面２５を備えて構成されている。
コンピュータ本体２１は、例えば図２に示すように構成されている。即ち、ＣＣＤカメラ１８から入力される画像情報は、インタフェース（以下、Ｉ／Ｆと呼ぶ）３１を介して画像メモリ３２に格納される。また、図示しないＣＡＤシステムにより作成されたＩ／Ｆ３３を介して入力された、又はハードディスクドライブ（以下、ＨＤＤと呼ぶ）３８に格納されたオフラインティーチングを行う際に使用するワーク１２のＣＡＤデータも同様にＣＰＵ３５でビットマップの画像情報に展開された後、画像メモリ３２に格納される。画像メモリ３２に格納された画像情報は、表示制御部３６を介してＣＲＴ画面２５に表示される。
【００２３】
一方、キーボード２２、Ｊ／Ｓ２３、及びマウス２４から入力されるコード情報及び位置情報は、Ｉ／Ｆ３４を介してＣＰＵ３５に入力される。ＣＰＵ３５は、ＲＯＭ３７に格納されたマイクロプログラム及びＨＤＤ３８からＩ／Ｆ３９を介してＲＡＭ４０に格納されたパートプログラム生成プログラム、測定実行プログラム、測定結果表示プログラム等に従って、パートプログラムの生成処理、パートプログラムに基づく測定実行処理及び測定結果の表示処理等を実行する。ＣＰＵ３５は、測定実行処理によって、Ｉ／Ｆ４１を介して画像測定機１を制御する。ＨＤＤ３８は、オフラインティーチングに使用するＣＡＤデータや生成されたパートプログラム等を格納する。ＲＡＭ４０は、各種プログラムを格納する他、各種処理のワーク領域を提供する。
【００２４】
図３は、パートプログラム生成プログラム、ＣＰＵ３５及びその周辺回路によって実現されるオフラインティーチングによるパートプログラム生成装置の機能ブロック図である。
ワーク１２の設計図面として作成されたＣＡＤデータは、ＣＡＤデータ入力部５１によって取り込まれる。ＣＡＤデータ入力部５１は、キーボード２２，マウス２４等の操作に基づいて、ＣＡＤデータを指定された取り込み形式（例えばＤＸＦ形式、ＩＧＥＳ形式等）で指定倍率に変換して取り込む。倍率変換されて取り込まれたＣＡＤデータは、ＣＡＤデータ記憶部５２に格納される。座標系設定部５３は、ＣＡＤデータ記憶部５２に記憶されたＣＡＤデータの座標系をワーク座標系に一致させるための座標設定処理を実行する。ＣＡＤデータ展開部５４は、ＣＡＤデータ記憶部５２に格納されたＣＡＤデータをベクタ・ラスタ変換して画像メモリ３２に供給する。また、ＣＡＤデータ記憶部５２に格納されたＣＡＤデータのうち、ワーク１２の測定箇所に対応した図形要素のＣＡＤデータが、マウス２４の操作に基づいて図形選択部５５で選択される。
【００２５】
パートプログラム生成部５６は、図形選択部５５で選択された図形要素に対する測定手順を記述したパートプログラムファイルを、測定条件設定部５７で設定された測定条件に基づいて生成する。生成されたパートプログラムファイルは、パートプログラム編集部５８で適宜編集処理される。生成及び編集されたパートプログラムファイルは、パートプログラム出力部５９を介してＨＤＤ３８等に格納される。
【００２６】
次に、このように構成された非接触画像測定システムにおけるパートプログラム生成手順について説明する。
図４は、パートプログラムの自動生成処理の手順を示すフローチャートである。
【００２７】
まず、ワーク１２についてＣＡＤシステムを用いて予め作成されているＤＸＦまたはＩＧＥＳ形式のＣＡＤデータを取り込み、ＣＲＴ画面２５上のグラフィックウィンドウに画像表示する（Ｓ１）。このとき、ＣＡＤデータの取り込み時の倍率を設定することができる。このため、使用するワーク１２のＣＡＤデータの図面縮尺に依存することなく、取り込みを行うことができる。
例えば取り込むＣＡＤデータが図面縮尺０．５倍で描かれている場合、取り込み時の倍率を２倍とすることで、ワーク１２のＣＡＤデータを実寸に変換して取り込むことができる。図５は、取り込んだＣＡＤデータによる画像情報の表示例を示している。ＣＡＤデータによる画像情報６１は、グラフィックウィンドウ６２の中に表示される。グラフィックウィンドウ６２の中に表示されている点線矩形の領域６３は、ＣＣＤカメラ１８による撮像領域を示している。この撮像領域６３の大きさは、ＣＡＤデータの縮尺、取り込み倍率及び後述するレンズ倍率によって決定される。この撮像領域６３は、６３′に示すように適宜ズームアップしたり、移動させたりすることができる。撮像領域６３の把握と、測定対象図形６４の認識及び選択を容易にするため、画像情報６１には、ＣＡＤデータ中の寸法線や寸法値等は含まれないようにしている。
【００２８】
次に、測定条件の設定を行う（Ｓ２）。本設定では、例えば、照明については、垂直落射照明、透過照明、リングファイバ照明、プログラム制御リング照明等の照明の種類についての設定と、照明の光量設定（光なし（０％）から最大光（１００％）まで）を行う。レンズについては、固定倍率レンズ、プログラム制御パワータレット、プログラム制御ズームレンズ等の数種のレンズについてのレンズ倍率の設定を行う。エッジ検出ツールに関しては、例えばエッジ検出ツールの種類の設定、配置するエッジ検出ツールの数の設定、エッジ検出ツールのサイズの設定、オフセット値の設定等を行う。図６は、エッジ検出ツールの例を示す図である。同図（ａ）は最もシンプルなツール（以下、シンプルツールと呼ぶ）７１で、矢印の基端から先端に向けてワーク１２を撮像して得られる画像情報７２の濃度レベルが急激に変化している点をエッジ点として検出するためのものである。このシンプルツールは、中点の位置座標（Ｘ，Ｙ）と、その長さＷと、角度θとによって定義される。同図（ｂ）は矩形の箱形のツール（以下、ボックスツールと呼ぶ）７３で、中点の位置情報（Ｘ，Ｙ）と、両側の矢印の長さＷと、両側の矢印間の幅Ｈと、角度θとによって定義される。ボックスツール７３の場合、幅Ｈの中に予め設定された間隔ΔＨで、矢印の基端から先端に向かうエッジ検出が繰り返される。これらツール７１，７３の全てのパラメータを各図形要素毎に演算によって求めても良いが、演算処理が複雑になるので、ここではツール７１，７３の位置と傾きのみを、測定対象として選択された各図形要素毎に演算して決定することにより、演算処理量を削減している。
【００２９】
従って、この測定条件の設定では、図形要素の種類（線、円、円弧等）毎に、エッジ検出ツールの種類、数、長さＷ（ピクセル数）、オフセット数のみを設定する。図７（ａ）は、線について、シンプルツール７１を適用し、数ｎが３で、線の両端からそれぞれＯＦＦだけオフセットを設定し、図中Ａの範囲をシンプルツール７１の配置範囲として設定している例を示している。オフセットＯＦＦを設定するのは、線や円弧の端部にツール７１が配置されることによりエッジ検出不能のエラーが発生するのを回避するためである。オフセットＯＦＦは、長さで設定しても良いし、線の長さのパーセントで設定するようにしても良い。同図（ｂ）は、円８２について、４つのシンプルツール７１を配置した例である。円の場合には、オフセットは不要である。
このようにして設定された内容を図８に示す。各図形要素について、そのツールタイプ、ツール数、長さＷ及びオフセットＯＦＦがエッジ検出ツール生成条件として測定条件設定部５７の中に設定される。この例では、１次候補だけでなく、１次候補のツールの生成に失敗した場合の他のツール候補も２次候補として設定されている。
【００３０】
前記ＣＡＤデータの取り込みによって、オフラインでパートプログラムの生成を行うためには、ＣＡＤデータによる画像情報の座標系とワーク１２の座標系とを一致させることが必要である。そこで、位置合わせのための座標系設定を行う（Ｓ３）。
例えば、図５に示すＣＡＤデータによる画像情報６１に対して、いまワーク座標系の原点位置が円要素６５の中心であるとすると、円要素６５をマウス２４のポインタ６７で選択して、原点移動処理を実行し、ワーク座標系のＸ軸が円要素６５の中心から円要素６６の中心に延びる線と一致する場合には、引き続いて円要素６６をマウス２４のポインタ６７で選択してＸ軸設定処理を実行する。これにより、ＣＡＤデータによる画像情報６１の座標系とワーク座標系とが一致する。
【００３１】
次に、実際の測定データとＣＡＤデータとの公差照合を行う際に必要となる公差情報の設定を行う（Ｓ４）。本設定では、数種の公差に対応できるようになっており、例えば、上下限公差として、座標値、角度、距離に対して、設計値からの許容範囲を上限公差と下限公差で設定する。また、公差範囲として、位置度、形状（真直度、真円度等）に対して、公差域を設定する。また、この他はめ合い公差等についても公差情報の設定を行うことができ、これらの公差情報は公差リストとして保存することができる。
【００３２】
また、前記公差情報の設定には、全ての測定対象図形に対して共通の公差情報を設定する方法と、普通公差ファイルによって設計値に合わせて公差情報を設定する方法の二つの設定方法が用意されている。
【００３３】
次に、画面上に表示されているＣＡＤデータによる画像情報６１からパートプログラムを生成しようとする対象図形を選択する（Ｓ５）。この選択操作は、例えば図５に示すように、選択すべき測定対象図形６４を内部に含む矩形領域６８を、その矩形の対角方向にマウス２４のポインタ６７をドラッグ操作させることで指定して行うことができる。
測定対象図形の選択方法としては、この他にも、数値入力、及びマウス２４等の操作で測定対象図形を個別に選択する方法があり、状況による使い分けが可能となっている。
【００３４】
ここで、測定対象図形６４が選択されたら、ＣＰＵ３５は、予め設定されたエッジ検出ツール生成条件に基づいて、選択された各測定対象図形に対してエッジ検出ツールを選択し、配置する（Ｓ６）。なお、このとき各測定対象図形は、撮像領域６３に設定された画像（ビデオ）座標系に変換される。従ってツールの配置位置や大きさは画像座標系で計算される。
画像測定機において、エッジ検出処理を行うには、撮像領域６３内に個々のエッジ検出ツールの全域が収まっていることが必要である。個々のエッジ検出ツールの一部が撮像領域６３内に収まっていないと、撮像データのない領域でエッジ検出を行うことになるため、エッジ検出エラーが発生し、測定が中断する、あるいは測定結果を得ることができない。
【００３５】
そこで、この実施例では、図９に示すように、撮像領域６３内にその全域が収まる最大の判定円６９を設定し（Ｓ７）、この判定円６９内に選択されたエッジ検出ツールが収まるかどうかでエッジ検出ツールの配置が可能かどうかを判定する（Ｓ８）。
【００３６】
例えば同図（ａ）に示すように、前記エッジ検出ツール生成条件のツールタイプとしてボックスツールが選択されており、このツール７３が前記判定円６９内に収まらない場合には、警告表示をした後、同図（ｂ）に示すように、次候補として予め設定しておいたシンプルツール７１に変更し（Ｓ９）、再度前記判定を行う。
【００３７】
また、さらに前記次候補として使用したエッジ検出ツールが前記判定円６９内に収まらない場合には、警告表示をした後、次々候補として設定しておいたエッジ検出ツールに変更し、再度前記判定を行うこともできる。
また、例えば、前記次候補として使用したエッジ検出ツールが再び前記判定円内に収まらない場合に、警告表示をした後にパートプログラム生成処理を強制終了する方法も適用可能である。
【００３８】
このように、本実施例での判定方法によれば、前記次候補として設定するエッジ検出ツールを前候補に比べて判定円内に収まり易いものとすることによって、パートプログラム生成時におけるエッジ検出エラー発生をなくすことができる。
なお、エッジ検出エラーが発生するかどうかは、エッジ検出ツールが矩形の撮像領域６３内に収まっているかどうかを判定すればよいが、この実施例のように撮像領域６３内に更に判定円６９を設定し、この判定円６９内にエッジ検出ツールが収まるかどうかを判定することで、実際の測定時に設置されたワーク１２の傾きに依存せずに判定が可能であるという利点がある。つまり、判定円６９の中心から各エッジ検出ツールの端点までの距離のみを判定すればよく、ワーク設置に傾きを生じた場合の座標系の回転演算は不要である。
【００３９】
次に、図１０に示すように、配置した判定円６９内に前記配置したエッジ検出ツール７１又は７３ができるだけ多く含まれるように撮像領域６３の位置を決定してステージ移動コマンドを生成する（Ｓ１０）。そして、判定円６９内に含まれる全エッジ検出ツールに関しては、ステージ移動を行わずにエッジ検出を行うように、ステージ移動コマンド生成処理の省略を行う（Ｓ１１）。なお、前記判定には、例えば対象となるそれぞれのエッジ検出ツール１つずつに対して前記判定円６９内に収まるかどうかを判定する方法を適用できる。また、前記判定の別の手法として、対象となるエッジ検出ツール全てを使って最小外接円を求め、同最小外接円が前記判定円内に収まるかどうかを判定する方法も適用できる。また、図１１（ａ）に示すように、判定円６９内に全てのエッジ検出ツールが収まらない場合には、基準となるエッジ検出ツール７４、例えば左上から右下に順次エッジ検出ツールを配置していく場合には、最初は最も左上のエッジ検出ツールを撮像領域６３の中心に配置するようにステージ移動命令をパートプログラムに記述し、続いて同図（ｂ）に示すように、次の基準となるエッジ検出ツール７４を撮像領域６３の中心に配置するようにステージ移動命令をパートプログラムに記述して、同様の操作を繰り返す。
【００４０】
このようにステージ移動コマンドの省略を行い、複数の前記測定対象図形の図形要素をステージ移動せずにエッジ検出することで、測定に要する時間を短縮することができ、特に検出対象となる測定対象図形の図形要素が複数近接している場合などに効果を発揮する。
【００４１】
次にＣＰＵ３５はその他のステージ移動コマンド、オートフォーカスコマンド、照明コマンド、レンズコマンド、測定コマンド、公差照合コマンドの生成を行い、パートプログラムへ追加し、パートプログラムファイルとしてＨＤＤ３８等へ記憶する（Ｓ１２）。オートフォーカスについては、前もって、オートフォーカス条件を設定しておく。すなわち、オートフォーカス実行は、ティーチング開始時に一回のみオートフォーカスを行う、新しい形状要素の測定開始時にオートフォーカスを行う、ステージ移動命令後にオートフォーカスを行う、前回のオートフォーカス位置から別途指定された半径以上離れた位置にステージが移動した場合にオートフォーカスを行う、等のいずれの条件でオートフォーカスを行うかを設定しておく。更に、異常に浅い位置や深い位置にフォーカスが行われないようにするため、どの程度の範囲でオートフォーカスを行うかの幅も設定しておく。
オートフォーカスコマンドはこれらの条件を元にして、条件が合致した場合においてオートフォーカスが行われるようにオートフォーカスコマンドが生成される。
【００４２】
図１２は上述のような処理により生成されたパートプログラムの例を示す図である。同図（ａ）には従来のパートプログラム生成方法に基づいて生成されたパートプログラムの一部を、同図（ｂ）には上述したステージ移動コマンドの省略を行って生成されたパートプログラムの一部を示す。両図のパートプログラムは同一のワークに対して生成されている。従来のパートプログラム生成方法ではパートプログラムの処理過程におけるステージ移動コマンドの実行回数が８回であるのに比べ、本実施例におけるパートプログラム生成方法では２回と、１／４に減少していることがわかる。この効果により本実施例におけるパートプログラム生成方法によれば、非接触画像測定機により実際に計測を行う際に従来の方法に比べ、ステージ移動に要する時間は１／４に減少し、全体としての測定時間を短縮できることが確認できる。
また、同図（ｃ）に示すパートプログラムの生成例では、円測定［１：Ｃｉｒｃｌｅ＿１］を行うためのツール生成時にエラーが発生し、ツールが置換わったことを示す△マークが追加されている。
【００４３】
次に、生成されたパートプログラムファイルの編集処理ついて説明する。
図１３は、パートプログラム編集部５８で実行される編集処理のうち、エッジ検出ツールの調整手順を示すフローチャートである。
この実施例では、図１２に示すように、生成されたパートプログラムの内容が、ズーム、ステージ移動、照明、エッジ検出ツール等のコマンド毎にツリー構造化されて表示される。この中から必要なコマンドを選択することにより、そのコマンドに関する設定値を変更するためのダイアログボックスが表示される。また、エッジ検出ツールのコマンドを選択すると、図１３の処理が起動される。
まず、エッジ検出ツールの配置状態を確認するため、ワーク１２が実際に撮像された時の大きさと同じ大きさでＣＡＤデータによる画像情報が表示される（Ｓ２１）。
この状態で、画像表示されたエッジ検出ツールに対して、数値入力、又はマウス２４のドラッグ操作等を行って、エッジ検出ツールの大きさ、位置、向き等の修正を行うことができる（Ｓ２２）。
【００４４】
ここで、修正したパートプログラムが再度修正を要すると判断された場合には、前記エッジ検出ツールの修正処理を順次繰り返すことにより、パートプログラムを修正していく。この修正処理（Ｓ２２〜Ｓ２４）により、測定対象図形に適合したエッジ検出コマンドを生成することで、より効率的で精度の良い測定を行うことができる。
【００４５】
ところで、上述したオフラインティーチングにより生成されたパートプログラムにＣＡＤデータが含まれていると、画像測定結果から生成された画像情報と、ＣＡＤデータから得られる設計値としての画像情報とを画像で対比することが可能になる。そこで、次にＣＡＤデータを含むパートプログラムを使用した測定結果表示処理について説明する。
【００４６】
図１４は、測定結果表示処理のためのプログラム、ＣＰＵ３５及びその周辺装置により実現される装置の機能ブロック図である。
ＨＤＤ３８に保存されたパートプログラムファイルは、パートプログラム入力部９１によって読み込まれ、パートプログラム実行部９２で実行される。これにより測定制御された画像測定機１から得られたワーク画像は、測定演算処理部９３で演算処理されて、必要な測定値が求められる。図形情報生成部９４は、求められた測定値（例えば円の中心、半径等）から測定結果を示す図形を生成し、画像メモリ３２に出力する。一方、パートプログラム入力部９１で読み込まれたパートプログラムファイルは、ＣＡＤデータも含まれているので、このＣＡＤデータからも設計値による図形が生成され、画像メモリ３２に出力される。これら２つの図形が例えば異なる色で重ねて表示されることになる。
【００４７】
図１５は、この装置による測定結果表示処理のフローチャートである。
まず、生成したパートプログラムを実際に画像測定機１を用いて実行し、ワーク１２を撮像することによって、測定データを取得する（Ｓ３１）。
【００４８】
そして、図１６に示すように、得られたワーク１２の測定データに基づく画像と読み込んだＣＡＤデータに基づく画像をそれぞれ異なる色でＣＲＴ画面２５上の画像表示領域内に重ねて描画する（Ｓ３２）。さらに位置情報、誤差情報を数値で、描画されている画面上の対象図形の対象位置近傍に重ねて表示することもできる（Ｓ３３）。このような表現方法をとることによって、これまでの方法ではＣＡＤ図面上に測定結果の寸法値や誤差値が数値として表示されているだけで、数字同士が混み合うと見にくくなっていたのに対し、一目で位置ずれ、寸法誤差等の測定結果が確認できる。ここで、同図に示す位置情報および誤差情報を数値で表示する画面上の測定対象図形の該当位置は自由に変更可能である。
【００４９】
なお、本発明は上述した実施例に限定されるものではない。前記実施例では前記判定円内にエッジ検出ツールが収まらない場合、予め設定しておいた次候補のエッジ検出ツールに変更し、再度前記判定を行うことで、パートプログラム生成における柔軟性、及び汎用性を向上させるようにした。これに対し、例えば図１７に示すように判定円内に収まらないエッジ検出ツールがある場合には、ＣＰＵ３５は、ＣＲＴディスプレイ２５上に警告表示を行い、同時にパートプログラム生成処理を強制終了する（Ｓ９４）ようにしてもよい。このように警告後にパートプログラム生成処理を強制終了することで、無理なパートプログラム生成を行わないことによって、不完全なパートプログラム実行による無駄な測定動作を回避すると共に、実際の測定時におけるエッジ検出エラー発生を極力回避することができる。
【００５０】
又、これらの実施例においては、ＣＡＤデータを元にしてパートプログラムを生成する例を説明したが、これに限らずＣＡＤデータの代りに実際に画像測定機やデジタルカメラで撮像した画像データあるいはスキャナで入力した画像データなどを元にしてパートプログラムを生成することも可能である。このようにすれば、ＣＡＤデータがない場合であっても、例えばワークをスキャナで読取ったデータから簡便にパートプログラムを生成することができる利点を有する。画像データの場合に、ワークの正確な寸法が不明な場合があるが、この場合は、例えば画像データの一部の要素形状（例えば円）の直径の実寸を測定して、これを元に画像データ全体の寸法を補正することも可能である。
更に、本発明の画像測定装置用パートプログラム生成方法は、実機を使わずにオフラインでパートプログラムを生成する方法を提供するが、この方法を画像測定機において実施することも可能である。この場合には、画像測定機で撮像した画像データをそのまま使用できるという利点を有する。
【００５１】
【発明の効果】
以上述べたように、本発明によれば、画像測定機のパートプログラムをワークデータに基づいてオフラインで自動生成する際に、オペレータにとって使いやすく、複雑な操作をすることなく、効率的にＣＮＣ画像測定機用パートプログラムを生成することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施例に係る非接触画像測定システムの構成を示す斜視図である。
【図２】本発明の実施例に係る画像測定システムにおけるコンピュータ本体の構成を示すブロック図である。
【図３】同システムにおけるパートプログラム生成装置の機能ブロック図である。
【図４】同システムにおけるパートプログラムの自動生成処理の手順を示すフローチャートである。
【図５】同システムにおける画像情報の表示例を示す図である。
【図６】エッジ検出ツールの例を示す図である。
【図７】測定条件の設定について説明するための図である。
【図８】測定条件の設定について説明するための図である。
【図９】本発明の実施例に係る画像測定システムにおける処理の手順を説明するための図である。
【図１０】本発明の実施例に係る画像測定システムにおける処理の手順を説明するための図である。
【図１１】本発明の実施例に係る画像測定システムにおける処理の手順を説明するための図である。
【図１２】本発明の実施例に係る画像測定システムにおいて生成されたパートプログラムについて説明するための図である。
【図１３】本発明の実施例に係る画像測定システムにおける処理の手順を説明するためのフローチャートである。
【図１４】本発明の実施例に係る画像測定システムにおける測定結果表示処理装置の機能ブロック図である。
【図１５】本発明の実施例に係る画像測定システムにおける処理の手順を説明するためのフローチャートである。
【図１６】本発明の実施例に係る画像測定システムにおける機能を説明するための図である。
【図１７】本発明の他の実施例に係る画像測定システムにおける処理の手順を説明するためのフローチャートである。
【符号の説明】
１・・・画像測定機、２・・・コンピュータシステム、３・・・プリンタ、１１・・・架台、１２・・・被測定対象、１３・・・測定テーブル、１４，１５・・・支持アーム、１６・・・Ｘ軸ガイド、１７・・・撮像ユニット、１８・・・ＣＣＤカメラ、２１・・・コンピュータ本体、２２・・・キーボード、２３・・・ジョイスティックボックス、２４・・・マウス、２５・・・ＣＲＴ画面、３１，３４・・・インタフェース、３２・・・画像メモリ、３６・・・表示制御部、３５・・・ＣＰＵ、６１・・・画像情報、６２・・・グラフィックウィンドウ、６４・・・測定対象図形、６９・・・判定円、７１，７３・・・測定対象図形の図形要素に設置されたエッジ検出ツール。
【図１】
0003596753.tif 000002
【図２】
0003596753.tif 000003
【図３】
0003596753.tif 000004
【図４】
0003596753.tif 000005
【図５】
0003596753.tif 000006
【図６】
0003596753.tif 000007
【図７】
0003596753.tif 000008
【図８】
0003596753.tif 000009
【図９】
0003596753.tif 000010
【図１０】
0003596753.tif 000011
【図１１】
0003596753.tif 000012
【図１２】
0003596753.tif 000013
【図１３】
0003596753.tif 000014
【図１４】
0003596753.tif 000015
【図１５】
0003596753.tif 000016
【図１６】
0003596753.tif 000017
【図１７】
0003596753.tif 000018