(57)【要約】      （修正有）【課題】マシンビジョン検査システムでのプログラミングステップアンドリピート動作のためのＧＵＩを提供する。【解決手段】マシンビジョン検査システムは、撮像部と、撮像部の視野内に１つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェース（ＧＵＩ）とを含む。ユーザは、マシンビジョン検査システムを操作して、ワークピース特徴の第１の構成に対して実行すべき検査動作セットを定義する。ＧＵＩも操作して、ステップアンドリピートダイアログボックス３００を表示させ、定義された検査動作セットを実行するデフォルトステップアンドリピートロケーションセットを定義する第１の複数のパラメータを定義する。さらに定義されたデフォルトステップアンドリピートロケーションセットのサブセットである、検査動作を実際に実行すべき検査ステップアンドリピートロケーションセットを定義する。【選択図】図３
2011203249.tif 000002
【特許請求の範囲】
【請求項１】
マシンビジョン検査システムのステップアンドリピート動作をプログラムする方法であって、前記マシンビジョン検査システムは、撮像部と、前記撮像部の視野（ＦＯＶ）内に１つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェース（ＧＵＩ）とを含み、前記方法は、
前記マシンビジョン検査システムを操作して、ワークピース特徴の第１の構成に対して実行すべき検査動作セットを定義することと、
前記ＧＵＩを操作して、ステップアンドリピートダイアログボックスを表示することであって、前記ステップアンドリピートダイアログボックスは、前記ワークピース特徴の第１の構成の対応するインスタンスに対して前記検査動作セットを実行するためのデフォルトステップアンドリピートロケーションセットを定義する第１の複数のパラメータを含むことと、
前記ＧＵＩを操作して、表示された前記ステップアンドリピートダイアログボックスにおいて前記第１の複数のパラメータを定義して、前記デフォルトステップアンドリピートロケーションセットを定義し、それにより、前記定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現を前記ＧＵＩ内に表示することと、
前記ＧＵＩを操作して、前記デフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義することと、
前記検査ステップアンドリピートロケーションセットを、前記ワークピース特徴の第１の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録することと
を含み、
前記ＧＵＩを操作して、前記検査ステップアンドリピートロケーションセットを定義することは、
前記ＧＵＩに表示された定義された前記デフォルトステップアンドリピートロケーションセットの前記メンバの図的表現において、除外すべき少なくとも１つのメンバを示すことと、
前記検査ステップアンドリピートロケーションセットを、前記デフォルトステップアンドリピートロケーションセットから、前記示された除外すべき少なくとも１つのメンバを除外したものとして定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記ＧＵＩに表示することと
をさらに含む、方法。
【請求項２】
定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現において、除外すべき少なくとも１つの追加のメンバを示すことと、
前記少なくとも１つの追加の除外メンバを除外して、前記検査ステップアンドリピートロケーションセットを定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記ＧＵＩに表示することと
をさらに含む、請求項１に記載の方法。
【請求項３】
除外するメンバを示すことは、定義された前記デフォルトステップアンドロケーションセットの前記メンバの前記図的表現において、カーソルを除外すべき前記メンバの近傍に位置決めすることと、前記マシンビジョン検査システムの入力装置を操作して、除外するメンバを選択することとを含む、請求項１に記載の方法。
【請求項４】
定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現を表示することは、前記デフォルトステップアンドリピートロケーションセットの前記メンバの前記図的表現の上書きおよび変更のうちの少なくとも一方を行い、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現を提供する、請求項１に記載の方法。
【請求項５】
前記検査ステップアンドリピートロケーションセットは、除外すべきメンバの指示に応答して自動的に変更され、その図的表現が自動的に表示される、請求項１に記載の方法。
【請求項６】
定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、表示された前記ステップアンドリピートダイアログボックスにおいて前記第１の複数のパラメータ内に含まれるパラメータ値の入力に応答して、自動的に変更され表示される、請求項１に記載の方法。
【請求項７】
表示された前記ステップアンドリピートダイアログボックス内の前記第1の複数のパラメータは、ステップアンドリピートロケーションのブロック内にデカルト座標ステップアンドリピートオフセット値ｄＸｉｂおよびｄＹｉｂを含むと共に、そのブロック内のメンバ数を示す第１の反復数、ブロックを繰り返すデカルト座標ステップアンドリピートオフセット値ｄＸｂｂおよびｄＹｂｂ、ならびにブロック数を示す第２の反復数を含み、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、ｄＸｉｂ、ｄＹｉｂｂ、ｄＸｂｂ、ｄＹｂｂ、前記第１の反復数、および前記第２の反復数に入力された値に応答する、請求項６に記載の方法。
【請求項８】
表示された前記ステップアンドリピートダイアログボックス内の前記第１の複数のパラメータは、円柱座標ステップアンドリピート離間値ｄＲおよびｄＡならびにメンバ数を示す反復数を含み、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、ｄＲ、ｄＡ、および反復数に入力された値に応答する、請求項６に記載の方法。
【請求項９】
前記デフォルトステップアンドリピートロケーションセットの前記メンバおよび前記検査ステップアンドリピートロケーションセットの前記メンバは、図的表示内の個々のウィジェットで表され、前記除外されたメンバは、変更されたウィジェットおよび空のスペースのうちの一方で表される、請求項１に記載の方法。
【請求項１０】
ワークピース特徴の第１の構成に対して実行すべき前記検査動作セットは、前記デフォルトステップアンドリピートロケーションセットの生成に使用された基準ロケーションに対応して実行される動作により定義され、前記基準ロケーションのウィジェットは、前記図的表示内で一意のウィジェット外観を有する、請求項９に記載の方法。
【請求項１１】
定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現内にメンバとして再び追加する少なくとも１つの除外メンバを示すことと、
前記再び追加されたメンバを含むように前記検査ステップアンドリピートロケーションセットを定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記ＧＵＩ内に表示することと
をさらに含む、請求項１に記載の方法。
【請求項１２】
メンバとして再び追加する除外メンバを示すことは、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現において、カーソルを前記除外メンバの近傍に位置決めすることと、前記マシンビジョン検査システムの入力装置を操作して、前記除外メンバロケーションを選択し、それにより、前記除外メンバロケーションを再び追加することとを含む、請求項１１に記載の方法。
【請求項１３】
前記ダイアログボックスは、前記検査ステップアンドリピートロケーションセットが、単一のワークピース上のワークピース特徴の前記第１の構成の複数のインスタンスを検査するように構成されるか、それとも対応する複数の同様のワークピース上のワークピース特徴の前記第１の構成の複数のインスタンスを検査するように構成されるかを定義するインジケータを含む、請求項１に記載の方法。
【請求項１４】
前記デフォルトステップアンドリピートロケーションセットの前記メンバおよび前記検査ステップアンドリピートロケーションセットの前記メンバは、前記ダイアログボックスの境界内に提示される、請求項１に記載の方法。
【請求項１５】
前記ダイアログボックスは、現在定義され表示されている前記検査ステップアンドリピートロケーションセットを許容するボタンを含み、前記方法は、ユーザが前記ボタンをアクティブ化することをさらに含み、前記検査ステップアンドリピートロケーションセットを前記パートプログラムに記録するステップは、前記ユーザが前記ボタンをアクティブ化することの後に行われる、請求項１に記載の方法。
【請求項１６】
前記ＧＵＩは、学習モード動作セットが、前記記録された検査ステップアンドリピートロケーションセットに対応する前記定義された検査動作セットを実際に繰り返して、実際のステップアンドリピート検査結果を生成することを含むか、それとも、学習モード動作セットが定義された前記検査動作セットを実際に繰り返さずに、記録された前記検査ステップアンドリピートロケーションセットでの定義された前記検査動作セットの繰り返しに対応するデータシミュレーションを行い、シミュレートされたステップアンドリピート検査結果を生成することを含むかを支配するセレクタを含む第２のダイアログボックスをさらに含み、前記方法は、
前記セレクタのうち、実際のステップアンドリピート検査結果を生成し記憶する一方のセレクタを選択すること、または
前記セレクタのうち、シミュレートされたステップアンドリピート検査結果を生成し記憶する他方のセレクタを選択すること
をさらに含む、請求項１に記載の方法。
【請求項１７】
撮像部と、前記撮像部の視野（ＦＯＶ）内に１つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェース（ＧＵＩ）とを含むマシンビジョン検査システムであって、前記制御部は、前記ＧＵＩにより、ユーザが、
前記ＧＵＩを操作して、ワークピース特徴の第１の構成に対して実行すべき検査動作セットを定義することと、
前記ＧＵＩを操作して、ステップアンドリピートダイアログボックスを表示することであって、前記ステップアンドリピートダイアログボックスは、前記ワークピース特徴の第１の構成の対応するインスタンスに対して前記検査動作セットを実行するためのデフォルトステップアンドリピートロケーションセットを定義する第１の複数のパラメータを含むことと、
前記ＧＵＩを操作して、表示された前記ステップアンドリピートダイアログボックスにおいて前記第１の複数のパラメータを定義して、前記デフォルトステップアンドリピートロケーションセットを定義し、それにより、前記定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現を前記ＧＵＩ内に表示することと、
前記ＧＵＩを操作して、前記デフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義することと、
前記検査ステップアンドリピートロケーションセットを、前記ワークピース特徴の第１の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録することと
を含むステップを実行できるようにするコンピュータ実行可能プログラムを含み、
前記ＧＵＩを操作して、前記検査ステップアンドリピートロケーションセットを定義することは、
前記ＧＵＩに表示された定義された前記デフォルトステップアンドリピートロケーションセットの前記メンバの図的表現において、除外すべき少なくとも１つのメンバを示すことと、
前記検査ステップアンドリピートロケーションセットを、前記デフォルトステップアンドリピートロケーションセットから、前記示された除外すべき少なくとも１つのメンバを除外したものとして定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記ＧＵＩに表示することと
をさらに含む、システム。
【請求項１８】
前記ＧＵＩは、前記除外すべきメンバの指示に応答して、前記検査ステップアンドリピートロケーションセットが自動的に変更され、その図的表現が前記ＧＵＩ内に表示されるように構成される、請求項１７に記載のシステム。
【請求項１９】
前記ＧＵＩは、表示されている前記ステップアンドリピートダイアログボックスでの前記第１の複数のパラメータ内に含まれるパラメータ値の入力に応答して、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現が、前記ＧＵＩ内で自動的に変更されて表示されるように構成される、請求項１７に記載のシステム。
【請求項２０】
前記ＧＵＩは、前記ダイアログボックスは、現在定義され表示されている前記検査ステップアンドリピートロケーションセットを許容するボタンを含み、前記ボタンのアクティブ化により、前記検査ステップアンドリピートロケーションセットのパートプログラムへの記録が開始されるように構成される、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはマシンビジョン検査システムに関し、特に、そのようなシステムの検査動作の定義およびプログラムに使用可能な方法、ビデオツール、およびユーザインタフェース機能に関する。
【背景技術】
【０００２】
精密マシンビジョン検査システム（または略して「ビジョンシステム」）は、検査対象物の精密な寸法測定を取得し、他の様々な対象物特徴を検査するために利用することができる。そのようなシステムは、コンピュータ、カメラ、光学システム、および複数の方向に移動可能であり、カメラが検査中のワークピースの特徴をスキャンできるようにする精密ステージを含み得る。市販されている従来技術による例示的な一システムは、イリノイ州オーロラ（Aurora）に所在のMitutoyo America Corporation (MAC)から入手可能なＰＣベースビジョンシステムのQUICK VISION（登録商標）シリーズおよびQVPAK（登録商標）ソフトウェアである。ビジョンシステムのQUICK VISION（登録商標）シリーズおよびQVPAK（登録商標）ソフトウェアの特徴および動作は概して、例えば、２００３年１月に発行されたQVPAK 3D CNC Vision Measuring Machine User's Guideおよび１９９６年９月に発行されたQVPAK 3D CNC Vision Measuring Machine Operation Guideに説明されている。例えば、QV-302 Proモデルにより典型的に示されるこの製品は、顕微鏡型光学システムを使用して、様々な倍率でワークピースのイメージを提供すると共に、必要に応じてステージを移動させ、任意の単一ビデオイメージの限界を超えてワークピース表面を横断することが可能である。単一ビデオイメージは通常、所望の倍率、そのようなシステムの測定分解能、および物理的サイズ制限を所与として、観測中または検査中のワークピースの一部分しか含まない。
【０００３】
マシンビジョン検査システムは一般に、自動ビデオ検査を利用する。米国特許第６，５４２，１８０号（’１８０号特許）には、そのような自動ビデオ検査の様々な態様が教示されている。’１８０号特許に教示されているように、自動ビデオ検査装置は一般に、特定の各ワークピース構成に対してユーザが自動検査イベントシーケンスを定義することができるプログラミング機能を有する。これは、例えば、テキストベースのプログラミングにより、またはグラフィカルユーザインタフェースを用いてユーザが実行した検査動作シーケンスに対応する機械制御命令シーケンスを記憶することにより、検査イベントシーケンスを漸進的に「学習」する記録モードを通して、または両方法の組み合わせを通して実施することができる。そのような記録モードは、「学習モード」または「訓練モード」と呼ばれることが多い。検査イベントシーケンスが「学習モード」において定義されると、そのようなシーケンスを使用して、「実行モード」中にワークピースのイメージを自動的に取得する（さらに、解析または検査する）ことができる。
【０００４】
特定の検査イベントシーケンス（すなわち、各イメージの取得方法および取得された各イメージの解析／検査方法）を含む機械制御命令は一般に、特定のワークピース構成に固有の「パートプログラム」または「ワークピースプログラム」として記憶される。例えば、パートプログラムは、カメラをワークピースに対して、どの照明レベルで、どの倍率レベル等でどのように位置決めするかなどの各イメージの取得方法を定義する。さらに、パートプログラムは、例えば、エッジ／境界検出ビデオツール等の１つまたは複数のビデオツールを使用することにより、取得されたイメージをどのように解析／検査するかを定義する。
【０００５】
ビデオツール（または略して「ツール」）および他のグラフィカルユーザインタフェース機能は、手動検査および／または機械制御動作を達成するために（「手動モード」で）手動で使用し得る。それらツールおよびインタフェースのセットアップパラメータおよび動作も学習モード中に記録して、自動検査プログラムすなわち「パートプログラム」を作成することができる。ビデオツールとしては、例えば、エッジ／境界検出ツール、オートフォーカスツール、形状もしくはパターンマッチングツール、寸法測定ツール等が含まれ得る。他のグラフィカルユーザインタフェース機能としては、データ解析に関連するダイアログボックス、ステップアンドリピートループプログラミング等が含まれる。例えば、そのようなツールは、上述したビジョンシステムのQUICK VISION（登録商標）シリーズおよび関連するQVPAK（登録商標）ソフトウェア等の様々な市販のマシンビジョン検査システムにごく普通に使用されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ステップアンドリピートプログラミングに現在利用可能な特徴およびグラフィカルユーザインタフェース（ＧＵＩ）コントロールは限られている。特に、ステップアンドリピート動作および関連する動作パラメータを学習モード中または手動モード中にセットアップするために利用可能な代替手段は限られている。したがって、既存の代替手段は不十分な場合があり、いくつかのワークピースと併せて効率的に使用するように容易に構成可能ではない場合がある。さらに、ステップアンドリピート動作の既存のユーザインタフェースは、特に直観的ではなく、ユーザによる習得や記憶を難しくする。これらおよび他の欠陥を解消して、精密マシンビジョン検査システムのより効率的、直観的、かつ柔軟な使用およびプログラミングを可能にするステップアンドリピートユーザインタフェース機能に対する必要性が存在する。
【課題を解決するための手段】
【０００７】
この概要は、詳細な説明において以下にさらに説明される概念のうち選択されたものを簡略化された形態で紹介するために提供される。この概要は、特許請求される主要な特徴を識別することを意図されず、特許請求される主旨の範囲を決定するものとして使用されることも意図されない。
【０００８】
本発明のいくつかの例示的な実施形態によれば、マシンビジョン検査システムのステップアンドリピート動作をプログラミングする方法が提供される。マシンビジョン検査システムは、撮像部と、１つまたは複数のワークピース（検査対象）を撮像部の視野（ＦＯＶ）内に保持するステージと、制御部と、グラフィカルユーザインタフェース（ＧＵＩ）とを含む。この方法は一般に、マシンビジョン検査システムの操作者（ユーザ）により実行されるべき５つのステップを含む。
【０００９】
第１に、ユーザは、マシンビジョン検査システムを操作して、ワークピース特徴の第１の構成に対して実行すべき検査動作セットを定義する。第２に、ユーザは、ＧＵＩを操作して、ステップアンドリピートダイアログボックスを表示させる。ステップアンドリピートダイアログボックスは、定義された検査動作セットをワークピース特徴の第１の構成の対応するインスタンスに対して実行し得る「デフォルト」ステップアンドリピートロケーションセットを定義する第１の複数のパラメータを含む。第３に、ユーザはＧＵＩを操作して、表示されたステップアンドリピートダイアログボックス内で第１の複数のパラメータを定義して、デフォルトステップアンドリピートロケーションセットを定義し、それにより、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現がＧＵＩに表示される。第４に、ユーザはＧＵＩを操作して、定義された「デフォルト」ステップアンドリピートロケーションセットのサブセットである「検査」ステップアンドリピートロケーションセットを定義する。検査ステップアンドリピートロケーションは、定義された検査動作セットを実際に実行すべき場所である。検査ステップアンドリピートロケーションセットを定義するために、ユーザはまず、例えば、マウス等の適した入力装置を使用して、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現内の除外すべき少なくとも１つのメンバを示す。次に、ユーザは、検査ステップアンドリピートロケーションセットを、デフォルトステップアンドリピートロケーションセットから、示された少なくとも１つのメンバを除外したものとして定義し、それにより、定義された検査ステップアンドリピートロケーションセットのメンバの図的表現がＧＵＩ内に表示される。第５に、ユーザは、定義された検査ステップアンドリピートロケーションセットを、ワークピース特徴の第１の構成の複数のインスタンスの検査に使用されるパートプログラムに記録する。
【００１０】
本発明のさらなる態様によれば、上述した方法の実行に適したマシンビジョン検査システムも提供される。
【００１１】
様々な例示的な実施形態による本発明は、ユーザがマシンビジョン検査システムにおいてステップアンドリピートループ動作を容易にプログラムし使用できるようにする効率的、直観的、かつ柔軟なＧＵＩ特徴を提供する。
本発明の上記態様及び付随する多くの利点は、添付図面と併せて解釈される以下の詳細な説明を参照することにより、よりよく理解されるため、より容易に理解されるであろう。
【図面の簡単な説明】
【００１２】
【図１】汎用精密マシンビジョン検査システムの代表的な各種構成要素を示す図である。
【図２】図１のマシンビジョン検査システムの制御システム部およびビジョン構成要素部のブロック図である。
【図３】本発明の例示的な実施形態により構成された、デカルト座標においてステップアンドリピートロケーションを定義するためのダイアログボックスを含むグラフィカルユーザインタフェース（ＧＵＩ）を示す、図１のマシンビジョン検査システムの表示の画面ショットである。
【図４】本発明の他の実施形態により構成された、円柱座標においてステップアンドリピートロケーションを定義するためのダイアログボックスを含むＧＵＩを示す、図１のマシンビジョン検査システムの表示の別の画面ショットである。
【図５】本発明の例示的な実施形態による、図３でのようなデカルト座標および図４でのような円柱座標の両方においてステップアンドリピートロケーションを定義する際に使用されるセットアップパラメータの例示的な一編成を概略的に示す図である。
【図６】本発明の例示的な実施形態による、図１のマシンビジョン検査システムの、ステップアンドリピートロケオーションを定義することを含むステップアンドリピート動作をプログラムする方法を示すフローチャートである。
【図７】本発明の一実施形態による、検査対象の各ステップアンドリピートロケーションで実行すべき検査動作の定義に関連付けられたいくつかの特徴（例えば、図示の例では、ステップアンドリピートダイアログボックス内のドットセット）を示す、図１のマシンビジョン検査システムの表示の画面ショットサンプルである。
【図８】本発明の例示的な実施形態による、ステップアンドリピートロケーションの各セットに対して学習モード中に実行すべき動作を定義し検証することを含む、ステップアンドリピート動作をプログラムする方法を示すフローチャートである。
【図９】本発明の例示的な実施形態による、シミュレートされたステップアンドリピート検査結果の生成または実際のステップアンドリピート検査結果の生成のいずれかを選択するように促す（例えば、図８の方法に関連して）、図１のマシンビジョン検査システムに表示されるダイアログボックスのサンプルである。
【図１０】本発明の例示的な実施形態による、図９のダイアログボックスにおいて行われるユーザ選択に応答して、シミュレートされた、または実際のステップアンドリピート検査結果を生成することに関連付けられた処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
図１は、本発明により使用可能な例示的な１つのマシンビジョン検査システム１０のブロック図である。マシンビジョン検査システム１０は、制御コンピュータシステム１４とデータおよび制御信号を交換するために動作可能に接続されたビジョン測定機械１２を含む。制御コンピュータシステム１４はさらに、モニタまたはディスプレイ１６、プリンタ１８、ジョイスティック２２、キーボード２４、およびマウス２６とデータおよび制御信号を交換するために動作可能に接続される。モニタまたはディスプレイ１６は、マシンビジョン検査システム１０の動作の制御および／またはプログラムに適したユーザインタフェースを表示し得る。
【００１４】
ビジョン測定機械１２は、可動式ワークピースステージ３２と、ズームレンズまたは交換レンズを含み得る光学撮像システム３４とを含む。ズームレンズまたは交換レンズは一般に、光学撮像システム３４により提供されるイメージに様々な倍率を提供する。マシンビジョン検査システム１０は一般に、上述したビジョンシステムのQUICK VISION（登録商標）シリーズおよびQVPAK（登録商標）ソフトウェアおよび同様の先端技術の市販されている精密マシンビジョン検査システムと同等である。マシンビジョン検査システム１０は、本願と同じ譲受人に譲渡され、２００８年１２月２３日に出願された米国特許第７，４５４，０５３号、同第７，３２４，６８２号、および米国特許出願第１２／３４３，３８３号、２００９年１０月２９日に出願された米国特許出願第１２／６０８，９４３号にも説明されている。
【００１５】
本明細書において開示される改良されたステップアンドリピートユーザインタフェース機能ならびに関連する方法および動作は、図１に示されるような汎用精密マシンビジョン検査システムのより効率的、直観的、かつ柔軟な使用およびプログラムを特に初心者または頻繁に使用しないユーザに提供することができる。
【００１６】
図２は、本発明によるマシンビジョン検査システム１００の制御システム部１２０およびビジョン構成要素部２００のブロック図である。より詳細に後述するように、制御システム部１２０は、ビジョン構成要素部２００を制御するために利用される。ビジョン構成要素部２００は、光学アセンブリ２０５と、光源２２０、２３０、および２４０と、中央透透明部２１２を有するワークピースステージ２１０とを含む。ワークピースステージ２１０は、ワークピース２０を位置決めし得るステージの表面に略平行する平面にあるＸ軸およびＹ軸に沿って制御可能なように移動可能である。光学アセンブリ２０５は、カメラシステム２６０、交換対物レンズ２５０を含み、レンズ２８６および２８８を有するターレットレンズ・アセンブリ２８０を含み得る。ターレットレンズ・アセンブリに代えて、固定された、または手動で交換可能な倍率変更レンズまたはズームレンズ構成等が含まれてもよい。光学アセンブリ２０５は、さらに後述するように、制御可能なモータ２９４を使用することにより、Ｘ軸およびＹ軸に略直交するＺ軸に沿って制御可能なように移動可能である。
【００１７】
マシンビジョン検査システム１００を使用して撮像すべきワークピース２０または複数のワークピース２０を保持したトレイもしくは取り付け具は、ワークピースステージ２１０上に配置される。ワークピースステージ２１０は、交換対物レンズ２５０がワークピース２０上のロケーション間および／または複数のワークピース２０間で移動するように、光学アセンブリ２０５に相対移動するように制御することができる。ステージ照明２２０、同軸照明２３０、および表面照明２４０のうちの１つまたは複数が、ソース光２２２、２３２、または２４２をそれぞれ発して、１つまたは複数のワークピース２０を照明し得る。ソース光は、ワークピース光２５５として反射または伝達され、ワークピース２５５は、交換対物レンズ２５０およびターレットレンズ・アセンブリ２８０を透過し、カメラシステム２６０に集められる。カメラシステム２６０により取り込まれたワークピース２０のイメージは、信号線２６２を介して制御システム部１２０に出力される。光源２２０、２３０、および２４０は、信号線またはバス２２１、２３１、および２４１をそれぞれ通して制御システム部１２０に接続し得る。イメージの倍率を変更するには、制御システム部１２０は、信号線またはバス２８１を通してターレットレンズ・アセンブリ２８０を軸２８４に沿って回転させ、ターレットレンズを選択し得る。
【００１８】
例示的な様々な実施形態では、光学アセンブリ２０５は、アクチュエータ、接続ケーブル等を駆動する制御可能なモータ２９４を使用して、ワークピースステージ２１０に対して垂直なＺ軸方向において移動可能であり、それにより、光学アセンブリ２０５をＺ軸に沿って移動させて、カメラシステム２６０により取り込まれるワークピース２０のイメージの焦点を変更させる。本明細書において使用される用語Ｚ軸は、光学アセンブリ２０５により取得されるイメージに合焦させるために使用されることを意図された軸を指す。制御可能なモータ２９４は、使用される場合、信号線２９６を介して入／出力インタフェース１３０に接続される。
【００１９】
図２に示されるように、例示的な様々な実施形態では、制御システム部１２０は、コントローラ１２５と、入／出力インタフェース１３０と、メモリ１４０と、ワークピースプログラム生成・実行器１７０と、電源部１９０とを含む。これら各構成要素ならびに後述する追加の構成要素は、１つまたは複数のデータ／制御バスおよび／またはアプリケーションプログラミングインタフェースにより、あるいは各種要素間の直接接続により相互接続し得る。
【００２０】
本発明による様々な実施形態では、ワークピースプログラム生成・実行器１７０はステップアンドリピートループ生成部１７２を含み、ステップアンドリピートループ生成部１７２は、さらに詳細に後述するように、ステップアンドリピート動作および関連するプログラミングに関する様々な動作およびユーザインタフェースの特徴を提供またはアクティブ化する。ステップアンドリピートループ生成部１７２に対して代替の構成も可能である。例えば、いくつかの実施形態では、ワークピースプログラム生成・実行器１７０およびステップアンドリピートループ生成部１７２を統合してもよく、かつ／または区別不可能にしてもよい。より一般には、本発明は、マシンビジョン検査システム１００と併せて動作可能であり、ユーザインタフェース機能、関連するプログラミング、および本明細書に開示される他の動作を提供する、現在既知であるか、または後に開発される任意の形態で実施し得る。
【００２１】
入／出力インタフェース１３０は、撮像制御インタフェース１３１、移動制御インタフェース１３２、照明制御インタフェース１３３、およびレンズ制御インタフェース１３４を含む。移動制御インタフェース１３２は、位置制御要素１３２ａおよび速度／加速度制御要素１３２ｂを含み得る。しかし、例示的な様々な実施形態では、そのような要素を統合してもよく、かつ／または区別不可能にしてもよいことを理解されたい。照明制御インタフェース１３３は、例えば、該当する場合、マシンビジョン検査システム１００の様々な対応する光源の選択、電力、オン／オフスイッチ、およびストローブパルスタイミングを制御する照明制御要素１３３ａ〜１３３ｎを含む。
【００２２】
メモリ１４０は、イメージファイルメモリ部１４１と、１つまたは複数のパートプログラム等を含み得るワークピースプログラムメモリ部１４２と、ビデオツール部１４３とを含む。ビデオツール部１４３は、ＧＵＩ、対応する各ツールのイメージ処理動作等を決定するツール部１４３ａおよび他の同様のツール部（〜１４３ｍ）を含む。ビデオツール部１４３は、ビデオツール部１４３内に含まれる様々なビデオツールにおいて動作可能な様々なＲＯＩを定義する自動、半自動、および／または手動の動作をサポートする関心領域生成器１４３ｘも含む。
【００２３】
一般に、メモリ部１４０は、ワークピース２０のイメージを取り込むまたは取得するためにビジョンシステム構成要素部２００を動作させるのに使用可能なデータを記憶し、ワークピース２０の取得イメージが所望のイメージ特徴を有するようにさせる。メモリ部１４０は、検査結果データも記憶し得、マシンビジョン検査システム１００を動作させて、手動または自動的に様々な検査および測定動作（例えば、部分的にビデオツールとして実装される）を取得イメージに対して実行させ、入／出力インタフェース１３０を通して結果を出力させるのに使用可能なデータをさらに記憶し得る。メモリ部１４０は、入／出力インタフェース１３０を通して操作可能なグラフィカルユーザインタフェースを定義するデータも含み得る。
【００２４】
ステージ照明２２０、同軸照明２３０、および表面照明２４０の信号線またはバス２２１、２３１、および２４１のそれぞれはすべて、入／出力インタフェース１３０に接続される。カメラシステム２６０からの信号線２６２および制御可能なモータ２９４からの信号線２９６は、入／出力インタフェース１３０に接続される。イメージデータの搬送に加えて、信号線２６２は、イメージ取得を開始する信号をコントローラ１２５から搬送し得る。
【００２５】
１つまたは複数の表示装置１３６（例えば、図１のディスプレイ１６）および１つまたは複数の入力装置１３８(例えば、図１のジョイスティック２２、キーボード２４、およびマウス２６）も入／出力インタフェース１３０に接続することができる。表示装置１３６および入力装置１３８を使用してユーザインタフェースを表示することができ、ユーザインタフェースは、検査動作の実行、ならびに／またはパートプログラムの作成および／もしくは変更、カメラシステム２６０により取り込まれたイメージの表示、ビジョンシステム構成要素部２００の直接制御に使用可能な様々なグラフィカルユーザインタフェース（ＧＵＩ）特徴を含み得る。特に、本発明の例示的な様々な実施形態によれば、表示装置１３６および入力装置１３８を使用して、マシンビジョン検査システム１００でのステップアンドリピートループ動作の効率的、直観的、かつ柔軟な使用およびプログラムを可能にするために使用可能な様々なＧＵＩ特徴を提示する。
【００２６】
例示的な様々な実施形態では、ユーザは、マシンビジョン検査システム１００を利用して、ワークピース２０のパートプログラムを作成する場合、ワークピースプログラミング言語を使用して、自動的に、半自動的に、または手動で命令を明示的に符号化することにより、および／またはマシンビジョン検査システム１００を学習モードで動作させて、所望のイメージ取得訓練シーケンスを提供することにより、パートプログラム命令を生成する。例えば、訓練シーケンスは、ワークピース特徴を視野（ＦＯＶ）内に位置決めすること、照明レベルを設定すること、焦点またはオートフォーカスを合焦させること、イメージを取得すること、およびイメージに適用された検査訓練シーケンスを提供すること（例えば、ビデオツールを使用して）を含み得る。学習モードは、シーケンスが取り込まれるか、または記録され、対応するパートプログラム命令に変換されるように動作する。これら命令は、パートプログラムが実行される場合、マシンビジョン検査システムに訓練されたイメージ取得および検査動作を再生成させ、パートプログラムを作成した際に使用されたワークピースと一致する１つまたは複数のワークピースを自動的に検査させる。
【００２７】
ワークピースイメージ内の特徴を検査するために使用されるこれら解析・検査方法は通常、メモリ１４０のビデオツール部１４３内に含まれる様々なビデオツールで具現される。多くの既知のビデオツール、または略して「ツール」が、上述したビジョンシステムのQUICK VISION(登録商標)シリーズおよび関連するQVPAK（登録商標）ソフトウェア等の市販のマシンビジョン検査システムに含まれている。
【００２８】
図３は、ユーザがデカルト座標においてステップアンドリピートロケーションを定義することができるステップアンドリピートダイアログボックス３００を形成するＧＵＩ特徴を示す、表示装置１３６（例えば、図１のディスプレイ１６）の画面ショットサンプルである。ステップアンドリピートダイアログボックス３００は一般に、４つのサブボックス：図的表示サブボックス３０１、ブロック定義サブボックス３０２（あるいは、内部ループ定義サブボックス３０２とも呼ばれる）、ブロック反復定義サブボックス３０３（あるいは、外部ループ定義サブボックス３０３とも呼ばれる）、および「除外範囲定義（Define Excluded Range）」サブボックス３０４を含む。ステップアンドリピートダイアログボックス３００の図示の例は、これらサブボックスを含むが、本発明はこの特定の構成に限定されず、任意の数または構成のサブボックスが、本発明のステップアンドリピートダイアログボックスを形成することが可能である。
【００２９】
以下の説明では、ウィジェットと当該ウィジェットが表されるロケーションとの間に１対１の対応性があるため、同じ参照番号をウィジェットまたは対応するロケーションのどちらか一方に使用した場合（例えば、ウィジェット３１Ｘ、ロケーション３１Ｘにおいて）、特定の説明がより容易に解釈される。同様に付番されたウィジェットとウィジェットが表されるロケーションとのいかなる区別も、説明または文脈に基づいて明確である。
【００３０】
ディスプレイサブボックス３０１は、検査すべき同様の構成の各ワークピース特徴のロケーション「３１Ｘ」(例えば、３１０ａ、３１１ｃ）を図示する。ワークピース特徴の構成のインスタンスのロケーション３１Ｘは、図示の実施形態では、ドット形のウィジェット３１Ｘとして表される。特定の「ステップ」で検査すべきワークピースの構成は、例えば、単一の特徴等の比較的単純な形態から様々なワークピース特徴の複雑な組み合わせ等の比較的複雑な形態まで、様々な形態をとり得る。ドット形ウィジェット３１Ｘが単に、ステップアンドリピートプログラミングのために検査すべきワークピース特徴の構成の相対的なロケーションを（他の構成に対して）象徴的に表すために使用されており、ロケーションでのウィジェット形状が必ずしも、そのロケーションで検査すべきワークピース特徴の実際の構成を表すわけではないことを理解されたい。
【００３１】
ステップアンドリピートプログラミングにおいて、ワークピース特徴の構成の検査が、異なるロケーションでの複数のインスタンス、例えば、図示の実施形態では、第１のブロック内の５つのロケーション３１０ａ〜３１０ｅで繰り返される。図示の実施形態では、５つのロケーション３１０ａ〜３１０ｅでの構成のインスタンスは、ブロック定義サブボックス３０２においてインスタンス反復パラメータセットをユーザが入力することにより定義できる内部ブロック（ｉｂ）「反復ループ」に対応すると見なされ得る。図３に示される実施形態では、ステップアンドリピートロケーションのブロック(例えば、３１０ａ〜３１０ｅ）を定義するインスタンス反復パラメータは、ブロックのインスタンスまたはメンバ同士のＸ軸に沿ったオフセット（デルタ）値（「ｄＸｉｂ」）、Ｙ軸に沿ったオフセット値（「ｄＹｉｂ」）、およびＺ軸に沿ったオフセット値（「ｄＺｉｂ」）を含み、これらオフセット値はすべて基準ロケーション（ロケーション３１０ａ）から開始される。ユーザは、ブロック内で繰り返されるべきインスタンスまたはメンバの数を数値で定義することもできる（「ブロック内反復（Repeats in Block」）。図示の例では、ユーザは、Ｘ軸およびＹ軸の両方に沿ったオフセット値を「１」と指定し、反復値を「５」に指定しており、それにより、５つのドット形ウィジェットがそれぞれ、図的表示サブボックス３０１内の５つのロケーション３１０ａ〜３１０ｅに出現する。非ゼロ値が「ｄＺｉｂ」として入力された場合、インスタンスのロケーションは、これがディスプレイサブボックス３０１内に表示されないにもかかわらず、Ｘ軸およびＹ軸の両方に直交するＺ軸に沿ってオフセットするようにプログラムされる。本発明の例示的な様々な実施形態によれば、ユーザが数値をブロック定義サブボックス３０２内に入力すると、自動的にウィジェットが図的表示サブボックス３０１内の対応するロケーション（例えば、３１０ａ〜３１０ｅ）に表示される。ユーザが、ブロック定義サブボックス３０２内に入力された値を変更した場合、ウィジェットの表示は、新しく指定された値に対応するように自動的に変更される。
【００３２】
ブロック反復定義サブボックス３０３により、ユーザは、ブロック反復パラメータセットを定義することができ、これは、ステップアンドリピートプログラミング動作の外部「反復ループ」を定義することと見なすことができる。しかし、本明細書では内部反復ループおよび外部反復ループの名称が、１つの可能な基本的なプログラミング手法を示唆するために使用されるが、他のプログラミング手法も可能なことを理解されたい。さらに、検査動作の実際の実行は、内部ループおよび外部ループ等に従って制約された検査パスを辿る必要はなく、効率的な任意のパスを辿ってよい。したがって、本明細書において使用される名称は単なる例示であり、限定ではない。図３に示される実施形態では、ブロック反復パラメータは、Ｘ軸に沿ったブロック毎のオフセット値（「ｄＸｂｂ」）、Ｙ軸に沿ったブロック毎のオフセット値（「ｄＹｂｂ」）、およびＺ軸に沿ったブロック毎のオフセット値（「ｄＺｂｂ」）ならびに反復すべきブロック数（「反復ブロック（Block Repeats）」）を含む。図示の例では、ユーザは、Ｘ軸に沿ったブロック毎のオフセット値を「２」と指定し、Ｙ軸に沿ったブロック毎のオフセット値を「０．５」と指定し、ブロック反復値を「２」と指定している。したがって、第１のブロックのロケーション３１０ａ〜３１０ｅにおける５つのウィジェットのそれぞれがまず、ロケーション３１１ａ〜３１１ｅにおいて繰り返され、例えば、ロケーション３１１ａは、ロケーション３１０ａに対してＸ軸に沿って「２」、Ｙ軸に沿って「０．５」だけオフセットされている。ブロック定義サブボックス３０２と同様に、本発明の例示的な様々な実施形態によれば、ユーザがブロック反復定義サブボックス３０３内に数値を入力し編集すると、自動的にウィジェットが図的表示サブボックス３０１内の対応するロケーション（３１１ａ〜３１１ｅ）に表示される。
【００３３】
例示的な様々な実施形態では、ワークピース特徴の構成の各インスタンスに対して実行すべき検査動作セットは、図３のロケーション３１０ａ等の基準ロケーションにおける構成の参照インスタンスに対して実行される動作により定義される。換言すれば、ステップアンドリピートプログラミングにおいて、基準ロケーションで実行された動作と同じ動作を、複数のロケーションにおいて繰り返される構成の複数のインスタンスに対して繰り返すことができる。本発明の例示的な様々な実施形態によれば、基準ロケーション（図３の３１０ａ）は、ユーザが基準ロケーションを容易に識別できるように、他のロケーションとは図的に区別されて（例えば、異なる色で）示すことができる。
【００３４】
ユーザは、「ループ名」ボックス３０５において、定義されたステップアンドリピートロケーションセットの名称を決定することができる。ユーザは、定義されたステップアンドリピートロケーションが複数のワークピースに対応するか、それとも単一のワークピース内の複数のロケーションに対応するかを指定することもできる。特に、ステップアンドリピート動作を、１つのワークピース上の構成と別のワークピース上の構成との間で繰り返すべきである場合、ユーザは「ピース毎にリピート」ボタン３１２を選択し得る。ステップアンドリピート動作を同じワークピース上の複数の構成に対して繰り返すべき場合、ユーザは、「１個のピースに対してリピート」ボタン３１４を選択し得る。
【００３５】
上記説明では、ユーザが、複数の規則正しく配置されたステップアンドリピートロケーション、すなわち、検査すべき構成の複数のインスタンスがそれぞれ配置される規則正しいロケーション配列をどのようにして容易かつ直観的に定義し視覚的に確認することができるかを説明した。上述したインスタンス反復パラメータおよびブロック反復パラメータにより最初に定義される、そのような規則正しいステップアンドリピートロケーション配列は、本明細書では、「デフォルト」ステップアンドリピートロケーションと呼ばれる。本発明の例示的な様々な実施形態によれば、その後、ユーザは任意に、個別にデフォルトステップアンドリピートロケーションを編集し得る。例えば、ユーザは、１つまたは複数のインスタンス（またはロケーション）を、定義されたデフォルトステップアンドリピートロケーションセットから除外したい場合がある。図３を参照して、例えば、ユーザは、セットからロケーション３１１ｅにおけるインスタンスを除外したい場合がある。本発明の一実施形態によれば、ユーザは、マウス２６等の適した入力装置を使用して、除外すべきロケーション３１１ｅを選択し得る。例えば、ユーザは、マウス２６のカーソルをロケーション３１１ｅの近傍に位置決めし、クリックすることにより選択を行い得る。本発明の例示的な様々な実施形態によれば、構成のインスタンス（またはロケーション）が除外される場合、除外ロケーションの図的表現は、図的表示サブボックス３０１内で変更され得る。一例では、除外ロケーションは単に消失し、空のスペースとして示され得る。あるいは、図示の例に見られるように、除外ロケーションを、「Ｘ」が付いた円等の変更されたウィジェットで示し得る（他のドット形ウィジェットと比較して）。本発明のさらなる実施形態によれば、ユーザは、例えば、再びマウス２６を使用して除外ロケーションをクリックすることにより、除外ロケーションを復帰させ得る。すると、復帰したロケーションの図的表現は、元の形態、例えば、ドット形ウィジェットに戻る。ロケーションのうちのいくつかの除外または復帰を含め、検査ステップアンドリピートロケーションの図的表現を表示することは、元のデフォルトステップアンドリピートロケーションの図的表現を上書きするか、または変更することにより行うことができる。
【００３６】
したがって、ユーザは、単一のステップアンドリピートダイアログボックス３００の境界内のブロック定義サブボックス３０２およびブロック反復定義サブボックス３０３内に含まれるパラメータに基づいて元々定義された「デフォルト」ステップアンドリピートロケーションセットの個々のインスタンスまたはメンバを図的に編集（例えば、除外、復帰等）し得る。ユーザは、「除外範囲定義（Define Excluded Range）」サブボックス３０４がステップアンドリピートダイアログボックス３００内に含まれる場合、そのサブボックス３０４を使用することにより、定義されたデフォルトステップアンドリピートロケーションセットの編集をすることもできる。特に、「除外範囲定義」サブボックス３０４が含まれる場合、ユーザは、「Ｆｒｏｍ：［Ｘ，Ｙ］」および「Ｔｏ：［Ｘ，Ｙ］」３２０に関して、デフォルトステップアンドリピートロケーションから除外すべき構成インスタンスのロケーションの範囲（または複数のロケーションの範囲）を数値（またはテキスト）で定義し得る。例えば、ユーザは、「Ｆｒｏｍ：［４，３．５］Ｔｏ：［６，４．５］」内のロケーションを除外すべきであることを指定し得る。Ｘ＝４〜６かつＹ＝３．５〜４．５内のロケーションは、図示の実施形態では、ロケーション３１０ｅ（４，４）、３１１ｄ（５，３．５）、および３１１ｅ（６，４．５）を含むため、これら３つのロケーションは除外されることになる。次に、除外ロケーションのデカルト座標を「除外範囲定義」サブボックス３０２内の「除外ロケーションリスト（Excluded Location List）」３２４内に列挙し得る。除外すべきロケーションの範囲が完全に定義されると、ユーザは、「除外範囲定義」サブボックス３０２内の「ＯＫ」ボタン３２２を選択する。「除外範囲定義」サブボックス３０２は、大きなデフォルトロケーションブロック、例えば、ボールグリッドアレイの中心にある除外すべき複数のロケーション等を除外するために特に有用であり得る。様々な実施形態では、「除外範囲定義」サブボックス３０４への入力が完了すると、その入力は図的表示サブボックス３０１において即座に反映される。同様に、図的表示サブボックス３０１での図的編集も、「除外範囲定義」サブボックス３０４において即座に反映し得る。
【００３７】
上述したように、様々な図的表現および編集特徴を様々なテキストに基づく定義および編集特徴と対話的に組み合わせたステップアンドリピートダイアログボックスが、特に直観的なユーザインタフェースを提供することを理解されたい。さらに、実際の検査ロケーションへの図的表現（視野内または図面上で見ることができる）のおおよその幾何学的類似性により、ユーザは、不規則なステップアンドリピートパターンであっても、プログラムされた構成が意図に適うことを素早く確認できるため、初心者または熟練したユーザのいずれも、極めて容易に自信を持って、そのようなダイアログボックスを使用することができる。
【００３８】
ユーザがデフォルトステップアンドリピートロケーションを編集した後に得られるステップアンドリピートロケーションの最終セットは、本明細書では、「検査」ステップアンドリピートロケーションと呼ばれる。上述したように、本発明は、ユーザが、規則正しい配列のデフォルトステップアンドリピートロケーションのみならず、「検査」ステップアンドリピートロケーションの規則的または不規則的なセットも定義できるようにするいくつかの直観的で柔軟なＧＵＩ特徴を提供する。検査ステップアンドリピートロケーションが完全に定義されると、ユーザは、ＯＫボタン３３０を選択して、現在定義され表示されている検査ステップアンドリピートロケーションセットを許容し得る。他方、ユーザは、これまでに実行されたあらゆるステップアンドリピートロケーション定義をキャンセルしたい場合、キャンセル（CANCEL）ボタン３３２を選択し得る。本発明の例示的な様々な実施形態では、ＯＫボタン３３０を選択すると、定義された検査ステップアンドリピートロケーションセットは、ワークピース特徴の構成の複数のインスタンスの検査に使用すべきパートプログラムに自動的に記憶される。
【００３９】
図４は、ユーザがステップアンドリピートロケーションを円柱座標において定義することができるステップアンドリピートダイアログボックス４００を形成するＧＵＩ特徴を示す、表示装置１３６（例えば、図１のディスプレイ１６）の画面ショットサンプルである。ステップアンドリピートダイアログボックス４００は、図的表示サブボックス４０１および関連付けられたグラフィックスボックスが図３にないにも拘わらず、反復定義サブボックス４０２と呼ばれる場合もある反復パラメータセット４０２を含む。大方の場合、ステップアンドリピートダイアログボックス４００の構造および動作は、図３のダイアログボックス３００と同様であり、それに基づいて理解することができる。したがって、大きな相違のみについてここで説明する。簡潔にするために、ステップアンドリピートダイアログボックス４００は、ワークピース特徴の構成のデフォルトロケーションの「回転」配列を定義するために「入れ子ループ」手法（図３を参照して上述した）を使用しない。しかし、図３と同様に、ステップアンドリピートダイアログボックス４００の構成は、本発明による単なる一例であり、本発明は図４に示されるものに限定されない。
【００４０】
図的表示サブボックス４０１は、４つのロケーション４１０〜４１３にそれぞれ配置された４つのウィジェット（またはドット）４１Ｘを示す。ロケーション４１０は、図４の円柱座標における基準ロケーションであり、基準ロケーション３１０と同様に、その他のロケーション４１１〜４１３とは図的に異なる様式で表現することができる。ユーザは、反復定義サブボックス４０２を使用して、ロケーション４１１〜１３を定義する反復パラメータを定義することにより、デフォルトステップアンドリピートロケーションセットを定義し得る。ユーザは、基準ロケーション４１０に相対する中心オフセット「Ｘｃ」および「Ｙｃ」に数値を入力することにより、円形（または渦巻き形すなわち螺旋形）配置のステップアンドリピートデフォルトロケーションの中心を定義する。図示の例では、ユーザは、ステップアンドリピート回転の公称中心オフセット（Ｘｃ，、Ｙｃ）を（−１．５，０）と設定している。ユーザは、半径「ｄＲ」のオフセット（デルタ）値、角度「ｄＡ」のオフセット値、Ｚ軸に沿ったオフセット値「ｄＺ」、および構成が繰り返されるインスタンス数も定義する。図示の例では、ユーザは、「ｄＡ」＝９０°および反復数を「４」と指定している。したがって、基準ロケーション４１０（Ａ＝０°）から開始して、検査すべき構成のデフォルトロケーションはそれぞれ、（−１．５，０）における相対中心（Ｘｃ，Ｙｃ）を中心として、ロケーションＡ＝９０°、１８０°、および２７０°において３回繰り返される。示されていないが、非ゼロ値が「ｄＲ」として入力される場合、構成のインスタンスは一般に渦巻きパターン（増大または低減する半径を有する）で繰り返されることになり、非ゼロ値が「ｄＺ」に入力される場合、インスタンスは、Ｘ軸およびＹ軸の両方に直交するＺ軸に沿ってずれる螺旋状に繰り返される。
【００４１】
前と同様に、ユーザは、定義されたステップアンドリピートロケーションセットを「ループ名」ボックス４０５において名称決定し得る。ユーザは、上述したように、定義されたステップアンドリピートロケーションが複数のワークピースに対応するか（「ピース毎にリピート」ボタン４１２を使用する）、それとも単一のワークピース内の複数のロケーションに対応するか（「１個のピースに対してリピート」ボタン４１４を使用する）を指定し得る。
【００４２】
これも前と同様に、本発明の例示的な様々な実施形態によれば、ユーザは、定義されたデフォルトステップアンドリピートロケーションをステップアンドリピートダイアログボックス４００において編集または変更し得る。特に、図３に示される実施形態と同様に、ユーザは、マウス２６等の入力装置を使用して、図的表示サブボックス４０１において、検査すべきステップアンドリピートロケーションの最終セットから除外すべき１つまたは複数のデフォルトステップアンドリピートロケーションを選択し得る（すなわち、「検査」ステップアンドリピートロケーション）。これもまた前と同様に、ユーザは、例えば、マウス２６を使用して除外されたロケーションを選択することにより、除外されたロケーションを容易に復帰させ得る。示されていないが、図３に示されるように、適した「除外範囲定義」サブボックスをステップアンドリピートダイアログボックス４００に使用して、ユーザが数値（またはテキスト）で、ステップアンドリピートロケーションの最終検査セットから除外すべきデフォルトステップアンドリピートロケーションの範囲を定義できるようにし得る。
【００４３】
検査ステップアンドリピートロケーションが完全に定義されると、ユーザはＯＫボタン４３０を選択し得る。一方、ユーザは、これまでに実行されたあらゆるステップアンドリピートロケーション定義をキャンセルしたい場合、キャンセルボタン４３２を選択し得る。ステップアンドリピートダイアログボックス４００内に含まれる対話的な図的特徴およびテキストに基づく特徴の組み合わせの利点は、図３に示される実施形態に関して上述した利点と同様である。
【００４４】
図５は、上述したように、デカルト座標または円柱座標のいずれかで「デフォルト」および「検査」ステップアンドリピートロケーションを定義する際に使用されるセットアップパラメータ要素の例示的な一編成を概略的に示す図である。ステップアンドリピートモードプログラムまたはサブルーチン５００は、「デカルト（Cartesian）」モード要素５０１および「円柱（Cylindrical）」モード要素５０２を含む。「デカルト」モード要素５０１は、図３を参照して上述したように、ステップアンドリピートロケーションを定義するために使用される様々なパラメータおよび特徴を含む。図３において上述したものと同じまたは同様の要素は、同じ番号で参照される。
【００４５】
特に、これら要素は、「ループ名（Loop Name）」パラメータ３０５、ブロック定義サブボックス３０２において使用される様々なパラメータ（「リピート（Repeats）」、「ｄＸｉｂ」、「ｄＹｉｂ」、「ｄＺｉｂ」）、反復定義サブボックス３０３において使用される様々なパラメータ（「リピート（Repeats）」、「ｄＸｂｂ」、「ｄＹｂｂ」、「ｄＺｂｂ」ならびに「ピース毎にリピート（Repeat Piece to Piece）」選択ボタン３１２および「１個のピースに対してリピート（Repeat on Piece）」選択ボタン３１４を含む。「デカルト」モード要素５０１内には、「包含ロケーション」要素５１０、「基準ロケーション（Reference Location）」要素５１２、および「除外ロケーション（Excluded Location）」要素５１４等の図的表示サブボックス３０１内で検査ステップアンドリピートロケーションを定義するために使用される様々な要素も含まれる。
【００４６】
「包含ロケーション（Included Location）」要素５１０により、ユーザは、「デフォルト」ステップアンドロケーションが実際に検査すべき「検査」ステップアンドロケーションであることを指定または確認することができる。本発明の大半の用途では、基準ロケーションは、「包含ロケーション」のうちの１つ、すなわち、検査ステップアンドリピートロケーションのうちの１つであり、「基準ロケーション」パラメータ５１２は、基準ロケーションを残りの検査ステップアンドリピートロケーションと異なる様式で図的に表示させるためにさらに使用され得る。「除外ロケーション（Excluded Location）」要素５１４により、ユーザは、「デフォルト」ステップアンドリピートロケーションのうちの１つまたは複数を除外することができ、それにより、これら除外されたロケーションは「検査」ステップアンドリピートロケーションの最終セットの部分を形成しない。上述したように、ステップアンドリピートダイアログボックス３００のＧＵＩ特徴により、ユーザは、例えば、包含または除外すべきロケーション上にカーソルを配置してクリックすることにより、「包含ロケーション」および「除外するロケーション」を容易に変更して、デフォルトステップアンドリピートロケーションのうちの任意のロケーションを直観的に確認、除外、または復帰させて、検査ステップアンドリピートロケーションの最終セットを定義することができる。
【００４７】
「円柱」モード要素５０２も同様に、図４を参照して上述したように、ステップアンドリピートロケーションを定義するために使用される様々なパラメータおよび特徴を含む。図４において上述したものと同じまたは同様の要素は、同じ番号で参照される。特に、これら要素は、「ループ名」パラメータ４０５、反復定義サブボックス４０２に使用される様々なパラメータ（「リピート」、「ｄＲ」、「ｄＡ」、「ｄＺ」、「Ｘｃ」、「Ｙｃ」）、「ピース毎にリピート」選択ボタン４１２、および「１個のピースに対してリピート」選択ボタン４１４を含む。「円柱」モード要素５０２は、「基準ロケーション」要素５１２および「除外するロケーション」要素５１０を含む「包含ロケーション」要素５１０等の、図的表示サブボックス４０１内で検査ステップアンドリピートロケーションを定義するために使用される様々な要素も含む。上述のように、「包含ロケーション」要素５１０により、ユーザは、「デフォルト」ステップアンドリピートロケーションが実際に検査すべき「検査」ステップアンドリピートロケーションであることを指定または確認することができる。「除外ロケーション」要素５１４により、ユーザは、「デフォルト」ステップアンドリピートロケーションのうちの１つまたは複数を除外することができ、それにより、それら除外されたロケオーションは、「検査」ステップアンドリピートロケーションの最終セットの部分を形成しない。
【００４８】
図６は、本発明の例示的な実施形態による、図１のマシンビジョン検査システムの、ステップアンドリピートロケーションを定義することを含む、ステップアンドリピート動作をプログラムする方法を示すフローチャートである。ステップ６１０において、図１のシステム１０（または図２のシステム１００）等のマシンビジョン検査システムが提供され、動作する。システムは、撮像部３４と、可動式ステージ３２と、制御部１４（または図２の制御システム部１２０）と、図３および図４に示されるようなグラフィカルユーザインタフェース（ＧＵＩ）とを含み、ワークピース特徴の第１の構成に対して実行すべき検査セットを定義する。なお、可動式ステージ３２は、撮像部３４の視野（ＦＯＶ）内に１つまたは複数のワークピースを保持するものであり、一般には、１つまたは複数のワークピースを保持する載置台と、この載置台を移動させる機能とを有し、載置台を移動させて該載置台上の１つまたは複数のワークピースの任意の部位を撮像部３４の視野（ＦＯＶ）に入れる。
【００４９】
ステップ６１２において、ＧＵＩが操作されて、図３および図４に示されるダイアログボックス等のステップアンドリピートダイアログボックスが表示される。ステップアンドリピートダイアログボックスは、ワークピース特徴の第１の構成の対応するインスタンスに対して検査動作セットを実行するデフォルトステップアンドリピートロケーションセットを定義する第１の複数のパラメータ（例えば、ブロック定義サブボックス３０２、ブロック反復定義サブボックス３０３、および反復定義サブボックス４０２内のパラメータ）を含む。
【００５０】
ステップ６１４において、ＧＵＩを操作して、表示されたステップアンドリピートダイアログボックス内で第１の複数のパラメータを定義して、デフォルトステップアンドリピートロケーションセットを定義する。換言すれば、第１の複数のパラメータは、デフォルトステップアンドリピートロケーションを定義すると、そこに第１の構成のインスタンスが現れ、検査動作セットを受けるように設定される。
【００５１】
ステップ６１６において、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現がＧＵＩ内に表示される。
【００５２】
ステップ６１８において、ＧＵＩを操作して、デフォルトステップアンドリピートロケーションセットのサブセットである「検査」ステップアンドリピートロケーションセットを定義する。特に、ユーザは、ＧＵＩ内に表示された、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現から除外すべき少なくとも１つのメンバを示す。上述したように、ユーザの指示は、マウス２６のカーソル等の適した入力装置を除外すべきメンバの近傍または上に配置することに基づき得る。すると、検査ステップアンドリピートロケーションセットが、デフォルトステップアンドリピートロケーションセットから指示された少なくとも１つの除外メンバを除いたものとして定義され、それにより、定義された検査ステップアンドリピートロケーションセットのメンバの図的表現をＧＵＩ内に表示する。
【００５３】
ステップ６２０において、検査ステップアンドリピートロケーションセットが、ワークピース特徴の第１の構成の複数のインスタンスの検査に使用すべきパートプログラム内に記録される。例えば、上のステップ６１８において定義された検査ステップアンドリピートロケーションセットは、各検査ステップアンドリピートロケーションにおいて第１の構成に対して実行すべき検査動作セットと共に、パートプログラム内に記録される。
【００５４】
図７は、本発明の一実施形態による、検査ステップアンドリピートロケーションの各セットに対して実行すべき検査動作の定義に関連付けられたいくつかの特徴を示す、図１のマシンビジョン検査システム１０の表示の画面ショットサンプル７００である。図示の例では、マシンビジョン検査システム１０は学習モードで動作しており、画面ショット７００の上部付近のツールバーから、「プログラム（Program）」というプルダウンメニュー７０２が選択されている。さらに、「プログラム」のプルダウンメニュー７０２内で、「学習（Learn）」モードへのチェックマークは、学習モードがアクティブモードであることを示し、「ステップアンドリピート（Step and Repeat）」プログラミングモードセレクタ７０４がアクティブ化されている。可動式ステージ３２は、ウィンドウ７１５に示されるＸ、Ｙ、Ｚ座標により示される位置に移動しており、ＦＯＶ内でのワークピース特徴（例えば、プリント回路基板の円形の穴）の構成７１０の１つまたは複数のインスタンスの撮像（撮像部３４を使用する）および検査をサポートする。ＦＯＶのイメージならびに検査動作のプログラムに使用されるあらゆるビデオツールは一般に、ワークピース表示ウィンドウ７１２内に提供される。ワークピース特徴の構成７１０は、上述したように、基準ロケーションに対応し得る。ユーザは、上述したように、エッジ／境界検出ビデオツール等の様々なビデオツールを使用することにより、ワークピース特徴の構成７１０に対して実行すべき検査動作セットを定義し得る。学習モード中、または学習モードを終了する際、構成７１０に対して定義された検査動作セットは、各ステップアンドリピートロケーションにあるワークピース特徴の同様の構成の複数のインスタンスを検査するために使用すべきパートプログラムに記録される。
【００５５】
なおも図７を参照すると、画面ショット７００は、図的表示サブボックス３０１、ブロック定義サブボックス３０２、およびブロック反復定義サブボックス３０３を含む、図３のステップアンドリピートダイアログボックス３００と同様のステップアンドリピートダイアログボックス７２０をさらに含む。詳細に上述したように、ユーザは、ステップアンドリピートダイアログボックス７２０を使用して、構成７１０に定義された検査動作セットが構成７１０に対応するさらなるインスタンスに対して実行されるようなデフォルトステップアンドリピートロケーションならびに検査ステップアンドリピートロケーションを定義することができる。構成７１０は、図３および図４を参照して説明した基準ロケーション３１０ａと同様の基準ロケーションとして定義することができ、デフォルトステップアンドリピートロケーションセットを生成するための参照点として使用することができる。本発明の例示的な様々な実施形態では、「ステップアンドリピート」プログラミングモードセレクタ７０４が、その特定のインスタンスで実行される検査動作およびワークピース特徴７１０のその特定の構成のロケーションを定義することに関連してアクティブ化されているため、構成７１０を基準ロケーションとして定義し得る。「ステップアンドリピート」プログラミングモードセレクタ７０４のアクティブ化により、ステップアンドリピートダイアログボックス７２０の表示を開始し得る。次に、検査ステップアンドリピートロケーションが、ステップアンドリピートダイアログボックス７２０を使用して定義され、ワークピース特徴の第１の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録され（図６のステップ６２０）、基準ロケーションでの構成７１０に対して元々定義されていた検査動作セットがパートプログラムに記録されて、定義された検査ステップアンドリピートロケーションのそれぞれで繰り返し実行される。
【００５６】
検査動作セットおよび検査ステップアンドリピートロケーションセットが定義される順序が、様々な実施形態において可変であり得ることに留意されたい。いくつかの実施形態では、ユーザは、まず、ステップアンドリピートダイアログボックス７２０を使用して検査ステップアンドリピートロケーションを定義し、その後、基準ロケーションでの構成７１０のインスタンスに対して実行すべき検査動作セットを定義し得る。他の実施形態では、ユーザは、まず、構成７１０に対して実行すべき検査動作セットを定義し、その後、ステップアンドリピートダイアログボックス７２０内の基準ロケーションに基づいて検査ステップアンドリピートロケーションを定義し得る。
【００５７】
図８は、本発明の一実施形態により、各検査ステップアンドリピートロケーションで学習モード中に実行すべき検査動作を定義し検証することを含むステップアンドリピート動作をプログラムする方法を示すフローチャートである。ステップ８１０において、ユーザは、例えば、図７に示される「プログラム（Program）」プルダウンメニュー７０２内の「ステップアンドリピート（Step and Repeat）」７０４を選択することにより、「ステップアンドリピート（Step and Repeat）動作定義を選択する。
【００５８】
ステップ８２０において、ステップアンドリピートダイアログボックス７２０が表示される。ステップ８３０において、ユーザは、ステップアンドリピートダイアログボックス７２０内でデフォルトステップアンドリピートロケーションおよび検査ステップアンドリピートロケーションを定義し、検査ステップアンドリピートロケーションを受け入れた後、ステップアンドリピートダイアログボックス７２０を閉じ得る。
【００５９】
ステップ８４０において、ユーザは、例えば、様々なビデオツールを使用して、ステップアンドリピートダイアログボックス７２０内で定義された検査ステップアンドリピートロケーションに含まれる基準ロケーションにおける第１の構成に対する検査動作セットを定義する。ステップ８５０において、ユーザは、例えば、「ＯＫ」ボタン（図示せず）を選択することにより、基準ロケーションに関連付けられたワークピース特徴の構成７１０に対する検査動作の定義の終了を示す。
【００６０】
ステップ８６０において、ユーザは、シミュレートされたステップアンドリピート検査結果を生成することおよび実際のステップアンドリピート検査結果を生成することのうちの一方を選択する。このために、一実施形態では、ユーザが上述したように基準ロケーションに関連付けられた検査動作の定義の終了を示した後、図９に示されるダイアログボックスをマシンビジョン検査システムの表示装置１３６に自動的に表示し得る。図９に示されるようなダイアログボックスは、ユーザにこれら２つのオプションのうちの一方を選択するように促し得る。特に、学習モード中に、実行すべき検査動作セットならびにすべての検査ステップアンドリピートロケーションが完全に定義されると、シミュレートされたステップアンドリピート検査結果の生成および実際のステップアンドリピート検査結果の生成のいずれか一方を選択するようにユーザを促し得る。この選択を行った後、ユーザは「ＯＫ」ボタンまたは「キャンセル」ボタンを選択して、選択を確定する。学習モード中、ユーザがワークピースプログラムの部分（すなわち、パートプログラム）であるべきステップアンドリピートプログラムを定義し終えた場合、通常、ユーザは、新たに定義されたステップアンドリピートプログラムを実際に実行して、操作性および性能を確かめることを希望する。しかし、検査すべき反復インスタンス数が比較的多い場合によっては、ユーザは、時間のかかる実際の測定／検査を回避して、時間を節減するためにプログラムを実際に実行することを見合わせて、単にプログラムの実行をシミュレートすることを希望することがある。実際またはシミュレートされたステップアンドリピート検査結果を生成する動作については、図１０を参照して詳細に説明する。
【００６１】
ステップ８７０において、上のステップ８６０において行われたユーザ選択に基づいて、実際またはシミュレートされたステップアンドリピート検査結果が生成される。この時点で、ステップアンドリピートプログラミングの定義ならびにその実際またはシミュレートされた実行は完了する。したがって、ユーザは、次の学習モード動作（例えば、他のワークピース特徴に対する追加の検査ステップの定義またはステップアンドリピート検査結果の特別な解析等）の実行に進む。
【００６２】
図１０は、本発明の例示的な実施形態により、図９のダイアログボックス内で行われたユーザ選択に応答しての、シミュレートまたは実際のステップアンドリピート検査結果の生成に関連付けられた処理を示すフローチャートである。
【００６３】
ステップ９１０において、ユーザがシミュレートされたステップアンドリピート検査結果の生成を選択したか否かが判断される。選択していない（「いいえ」）場合、ステップ９１２において、定義されたステップアンドリピート動作が、マシンビジョン検査システム１００上で実際に実行される。特に、ステップ９１４において、マシンビジョン検査システム１００は、検査ステップアンドリピートロケーションシリーズ内の次の検査ステップアンドリピートロケーションに設定される。最初、これはシリーズ内の最初のステップアンドリピートロケーションである。ステップ９１６において、検査動作に関連付けられた特徴ラベルがインクリメントされる。ステップ９１８において、検査動作が現在のステップアンドリピートロケーションで実際に実行され、実際の検査結果（すなわち、検査データおよび測定値）が記憶される。ステップ９２０において、検査ステップアンドリピートロケーションがまだ存在するか否かが判断される。存在する場合、ステップ９１４に戻り、マシンビジョン検査システム１００は、ステップアンドリピートロケーションシリーズ内の次の検査ステップアンドリピートロケーションに設定され、ステップ９２０において、検査ステップアンドリピートロケーションがもう存在しないと判断されるまで、ステップ９１６〜９２０が繰り返される。
【００６４】
ステップ９１０に戻り、ユーザがシミュレートされたステップアンドリピート検査結果を選択した（「はい」）と判断される場合、ステップ９２２において、検査動作に関連付けられた特徴ラベルは、まるでマシンビジョン検査システム１００が次のステップアンドリピートロケーションに設定されたかのように（実際には設定されないが）インクリメントされる。ステップ９２４において、シミュレートされた検査結果（すなわち、シミュレートされた検査データおよび測定値）が生成され、記憶される。シミュレートされた検査結果は、例えば、基準ロケーション検査データ（例えば、基準ロケーションで得られた測定値）を想起し、現在シミュレートされたステップアンドリピートロケーションに蓄積されたステップアンドリピート位置インクリメントに基づいて基準ロケーション検査データを変換することにより得られる結果を含み得、次に、この結果は、現在シミュレートされているステップアンドリピートロケーションに関連付けられて記憶される。ステップ９２６において、検査ステップアンドリピートロケーションがまだ存在するか否かが判断される。存在する場合、ステップ９２２に戻り、検査動作に関連付けられた特徴ラベルが再び、まるでマシンビジョン検査システム１００が次のステップアンドリピートロケーションに設定されたかのように（実際には設定されないが）インクリメントされ、ステップ９２４および９２６が、ステップ９２６において検査ステップアンドリピートロケーションがもうないと判断されるまで繰り返される。次に、ステップ９２８において、マシンビジョン検査システム１００は実際に、ステップアンドリピートロケーションシリーズ内の最後の検査ステップアンドリピートロケーションに位置決めされ、さらなるプログラミング動作に対する準備ができる。シミュレーション検査結果を生成する一価値は、生成されるダミーの座標および測定・検査結果を次に、後のプログラミング動作に使用可能なことである（例えば、ダミー座標と最後に測定された測定特徴とのさらなる検査ディメンション等を生成するために）。
【００６５】
上述したように、本発明の例示的な様々な実施形態は、ユーザがマシンビジョン検査システムにおいてステップアンドリピートループ動作を容易にプログラムし使用することができる効率的、直観的、かつ柔軟なＧＵＩ特徴を提供する。
【００６６】
本発明の例示的な好ましい様々な実施形態を図示し説明したが、本発明の主旨および範囲から逸脱せずに様々な変更を行い得ることが理解されよう。
【符号の説明】
【００６７】
１０  マシンビジョン検査システム
１２  ビジョン測定機械
１４  制御コンピュータシステム
１６  ディスプレイ
１８  プリンタ
２０  ワークピース
２２  ジョイスティック
２４  キーボード
２６  マウス
３２  可動式ワークピースステージ
３４  光学撮像システム
１２０  制御システム部
１２５  コントローラ
１３０  入／出力インタフェース
１３１  撮像制御インタフェース
１３２  移動制御インタフェース
１３２ａ  位置制御要素
１３２ｂ  速度／加速度制御要素
１３３  照明制御インタフェース
１３３ａ−１３３ｎ  照明制御要素
１３４  レンズ制御インタフェース
１３６  表示装置
１３８  入力装置
１４０  メモリ
１４１  イメージファイルメモリ部
１４２  ワークピースプログラムメモリ部
１４３  ビデオツール部
１４３ａ−１４３ｍ  ツール部
１４３ｘ  関心領域生成器
１７０  ワークピースプログラム生成・実行器
１７２  ステップアンドリピートループ生成部
１９０  電源部
２００  ビジョン構成要素部
２０５  光学アセンブリ
２１０  ワークピースステージ
２１２  中央透明部
２２０  ステージ照明
２３０  同軸照明
２４０  表面照明
２２１、２３１、２４１、２６２、２８１、２９６  信号線
２２２  ソース光
２５０  交換対物レンズ
２５５  ワークピース照明
２６０  カメラシステム
２８０  ターレットレンズ・アセンブリ
２８４  軸
２８６、２８８  レンズ
２９４  制御可能なモータ
３００、４００、７２０  ステップアンドリピートダイアログボックス
３０１、４０１  図的表示サブボックス
３０２  ブロック定義サブボックス
３０３  ブロック反復定義サブボックス
３０４  除外範囲定義サブボックス
３０５  ループ名パラメータ
３１０ａ−３１０ｅ、３１１ａ−３１１ｅ、４１０−４１３  ロケーション
３１２、４１２  ピース毎にリピートボタン
３１４、４１４  １個のピースに対してリピートボタン
３２４  除外ロケーションリスト
３３０、４３０  ＯＫボタン
３３２、４３２  キャンセルボタン
４０２  反復定義サブボックス
４０５  ループ名ボックス
５００  ステップアンドリピートモードプログラム
５０１  デカルトモード要素
５０２  円柱モード要素
５１０  包含ロケーション要素
５１２  基準ロケーション要素
５１４  除外ロケーション要素
７００  画面ショットサンプル
７０２  プログラムのプルダウンメニュー
７０４  ステップアンドリピートプログラミングモードセレクタ
７１０  ワークピース特徴の構成
７１２  ワークピース表示ウィンドウ
【図１】
2011203249.tif 000003
【図２】
2011203249.tif 000004
【図３】
2011203249.tif 000005
【図４】
2011203249.tif 000006
【図５】
2011203249.tif 000007
【図６】
2011203249.tif 000008
【図７】
2011203249.tif 000009
【図８】
2011203249.tif 000010
【図９】
2011203249.tif 000011
【図１０】
2011203249.tif 000012