説明

マシンビジョン検査システムでのステップアンドリピート動作プログラミングのためのGUI

【課題】マシンビジョン検査システムでのプログラミングステップアンドリピート動作のためのGUIを提供する。
【解決手段】マシンビジョン検査システムは、撮像部と、撮像部の視野内に1つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェース(GUI)とを含む。ユーザは、マシンビジョン検査システムを操作して、ワークピース特徴の第1の構成に対して実行すべき検査動作セットを定義する。GUIも操作して、ステップアンドリピートダイアログボックス300を表示させ、定義された検査動作セットを実行するデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータを定義する。さらに定義されたデフォルトステップアンドリピートロケーションセットのサブセットである、検査動作を実際に実行すべき検査ステップアンドリピートロケーションセットを定義する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的にはマシンビジョン検査システムに関し、特に、そのようなシステムの検査動作の定義およびプログラムに使用可能な方法、ビデオツール、およびユーザインタフェース機能に関する。
【背景技術】
【0002】
精密マシンビジョン検査システム(または略して「ビジョンシステム」)は、検査対象物の精密な寸法測定を取得し、他の様々な対象物特徴を検査するために利用することができる。そのようなシステムは、コンピュータ、カメラ、光学システム、および複数の方向に移動可能であり、カメラが検査中のワークピースの特徴をスキャンできるようにする精密ステージを含み得る。市販されている従来技術による例示的な一システムは、イリノイ州オーロラ(Aurora)に所在のMitutoyo America Corporation (MAC)から入手可能なPCベースビジョンシステムのQUICK VISION(登録商標)シリーズおよびQVPAK(登録商標)ソフトウェアである。ビジョンシステムのQUICK VISION(登録商標)シリーズおよびQVPAK(登録商標)ソフトウェアの特徴および動作は概して、例えば、2003年1月に発行されたQVPAK 3D CNC Vision Measuring Machine User's Guideおよび1996年9月に発行されたQVPAK 3D CNC Vision Measuring Machine Operation Guideに説明されている。例えば、QV-302 Proモデルにより典型的に示されるこの製品は、顕微鏡型光学システムを使用して、様々な倍率でワークピースのイメージを提供すると共に、必要に応じてステージを移動させ、任意の単一ビデオイメージの限界を超えてワークピース表面を横断することが可能である。単一ビデオイメージは通常、所望の倍率、そのようなシステムの測定分解能、および物理的サイズ制限を所与として、観測中または検査中のワークピースの一部分しか含まない。
【0003】
マシンビジョン検査システムは一般に、自動ビデオ検査を利用する。米国特許第6,542,180号(’180号特許)には、そのような自動ビデオ検査の様々な態様が教示されている。’180号特許に教示されているように、自動ビデオ検査装置は一般に、特定の各ワークピース構成に対してユーザが自動検査イベントシーケンスを定義することができるプログラミング機能を有する。これは、例えば、テキストベースのプログラミングにより、またはグラフィカルユーザインタフェースを用いてユーザが実行した検査動作シーケンスに対応する機械制御命令シーケンスを記憶することにより、検査イベントシーケンスを漸進的に「学習」する記録モードを通して、または両方法の組み合わせを通して実施することができる。そのような記録モードは、「学習モード」または「訓練モード」と呼ばれることが多い。検査イベントシーケンスが「学習モード」において定義されると、そのようなシーケンスを使用して、「実行モード」中にワークピースのイメージを自動的に取得する(さらに、解析または検査する)ことができる。
【0004】
特定の検査イベントシーケンス(すなわち、各イメージの取得方法および取得された各イメージの解析/検査方法)を含む機械制御命令は一般に、特定のワークピース構成に固有の「パートプログラム」または「ワークピースプログラム」として記憶される。例えば、パートプログラムは、カメラをワークピースに対して、どの照明レベルで、どの倍率レベル等でどのように位置決めするかなどの各イメージの取得方法を定義する。さらに、パートプログラムは、例えば、エッジ/境界検出ビデオツール等の1つまたは複数のビデオツールを使用することにより、取得されたイメージをどのように解析/検査するかを定義する。
【0005】
ビデオツール(または略して「ツール」)および他のグラフィカルユーザインタフェース機能は、手動検査および/または機械制御動作を達成するために(「手動モード」で)手動で使用し得る。それらツールおよびインタフェースのセットアップパラメータおよび動作も学習モード中に記録して、自動検査プログラムすなわち「パートプログラム」を作成することができる。ビデオツールとしては、例えば、エッジ/境界検出ツール、オートフォーカスツール、形状もしくはパターンマッチングツール、寸法測定ツール等が含まれ得る。他のグラフィカルユーザインタフェース機能としては、データ解析に関連するダイアログボックス、ステップアンドリピートループプログラミング等が含まれる。例えば、そのようなツールは、上述したビジョンシステムのQUICK VISION(登録商標)シリーズおよび関連するQVPAK(登録商標)ソフトウェア等の様々な市販のマシンビジョン検査システムにごく普通に使用されている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ステップアンドリピートプログラミングに現在利用可能な特徴およびグラフィカルユーザインタフェース(GUI)コントロールは限られている。特に、ステップアンドリピート動作および関連する動作パラメータを学習モード中または手動モード中にセットアップするために利用可能な代替手段は限られている。したがって、既存の代替手段は不十分な場合があり、いくつかのワークピースと併せて効率的に使用するように容易に構成可能ではない場合がある。さらに、ステップアンドリピート動作の既存のユーザインタフェースは、特に直観的ではなく、ユーザによる習得や記憶を難しくする。これらおよび他の欠陥を解消して、精密マシンビジョン検査システムのより効率的、直観的、かつ柔軟な使用およびプログラミングを可能にするステップアンドリピートユーザインタフェース機能に対する必要性が存在する。
【課題を解決するための手段】
【0007】
この概要は、詳細な説明において以下にさらに説明される概念のうち選択されたものを簡略化された形態で紹介するために提供される。この概要は、特許請求される主要な特徴を識別することを意図されず、特許請求される主旨の範囲を決定するものとして使用されることも意図されない。
【0008】
本発明のいくつかの例示的な実施形態によれば、マシンビジョン検査システムのステップアンドリピート動作をプログラミングする方法が提供される。マシンビジョン検査システムは、撮像部と、1つまたは複数のワークピース(検査対象)を撮像部の視野(FOV)内に保持するステージと、制御部と、グラフィカルユーザインタフェース(GUI)とを含む。この方法は一般に、マシンビジョン検査システムの操作者(ユーザ)により実行されるべき5つのステップを含む。
【0009】
第1に、ユーザは、マシンビジョン検査システムを操作して、ワークピース特徴の第1の構成に対して実行すべき検査動作セットを定義する。第2に、ユーザは、GUIを操作して、ステップアンドリピートダイアログボックスを表示させる。ステップアンドリピートダイアログボックスは、定義された検査動作セットをワークピース特徴の第1の構成の対応するインスタンスに対して実行し得る「デフォルト」ステップアンドリピートロケーションセットを定義する第1の複数のパラメータを含む。第3に、ユーザはGUIを操作して、表示されたステップアンドリピートダイアログボックス内で第1の複数のパラメータを定義して、デフォルトステップアンドリピートロケーションセットを定義し、それにより、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現がGUIに表示される。第4に、ユーザはGUIを操作して、定義された「デフォルト」ステップアンドリピートロケーションセットのサブセットである「検査」ステップアンドリピートロケーションセットを定義する。検査ステップアンドリピートロケーションは、定義された検査動作セットを実際に実行すべき場所である。検査ステップアンドリピートロケーションセットを定義するために、ユーザはまず、例えば、マウス等の適した入力装置を使用して、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現内の除外すべき少なくとも1つのメンバを示す。次に、ユーザは、検査ステップアンドリピートロケーションセットを、デフォルトステップアンドリピートロケーションセットから、示された少なくとも1つのメンバを除外したものとして定義し、それにより、定義された検査ステップアンドリピートロケーションセットのメンバの図的表現がGUI内に表示される。第5に、ユーザは、定義された検査ステップアンドリピートロケーションセットを、ワークピース特徴の第1の構成の複数のインスタンスの検査に使用されるパートプログラムに記録する。
【0010】
本発明のさらなる態様によれば、上述した方法の実行に適したマシンビジョン検査システムも提供される。
【0011】
様々な例示的な実施形態による本発明は、ユーザがマシンビジョン検査システムにおいてステップアンドリピートループ動作を容易にプログラムし使用できるようにする効率的、直観的、かつ柔軟なGUI特徴を提供する。
本発明の上記態様及び付随する多くの利点は、添付図面と併せて解釈される以下の詳細な説明を参照することにより、よりよく理解されるため、より容易に理解されるであろう。
【図面の簡単な説明】
【0012】
【図1】汎用精密マシンビジョン検査システムの代表的な各種構成要素を示す図である。
【図2】図1のマシンビジョン検査システムの制御システム部およびビジョン構成要素部のブロック図である。
【図3】本発明の例示的な実施形態により構成された、デカルト座標においてステップアンドリピートロケーションを定義するためのダイアログボックスを含むグラフィカルユーザインタフェース(GUI)を示す、図1のマシンビジョン検査システムの表示の画面ショットである。
【図4】本発明の他の実施形態により構成された、円柱座標においてステップアンドリピートロケーションを定義するためのダイアログボックスを含むGUIを示す、図1のマシンビジョン検査システムの表示の別の画面ショットである。
【図5】本発明の例示的な実施形態による、図3でのようなデカルト座標および図4でのような円柱座標の両方においてステップアンドリピートロケーションを定義する際に使用されるセットアップパラメータの例示的な一編成を概略的に示す図である。
【図6】本発明の例示的な実施形態による、図1のマシンビジョン検査システムの、ステップアンドリピートロケオーションを定義することを含むステップアンドリピート動作をプログラムする方法を示すフローチャートである。
【図7】本発明の一実施形態による、検査対象の各ステップアンドリピートロケーションで実行すべき検査動作の定義に関連付けられたいくつかの特徴(例えば、図示の例では、ステップアンドリピートダイアログボックス内のドットセット)を示す、図1のマシンビジョン検査システムの表示の画面ショットサンプルである。
【図8】本発明の例示的な実施形態による、ステップアンドリピートロケーションの各セットに対して学習モード中に実行すべき動作を定義し検証することを含む、ステップアンドリピート動作をプログラムする方法を示すフローチャートである。
【図9】本発明の例示的な実施形態による、シミュレートされたステップアンドリピート検査結果の生成または実際のステップアンドリピート検査結果の生成のいずれかを選択するように促す(例えば、図8の方法に関連して)、図1のマシンビジョン検査システムに表示されるダイアログボックスのサンプルである。
【図10】本発明の例示的な実施形態による、図9のダイアログボックスにおいて行われるユーザ選択に応答して、シミュレートされた、または実際のステップアンドリピート検査結果を生成することに関連付けられた処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
図1は、本発明により使用可能な例示的な1つのマシンビジョン検査システム10のブロック図である。マシンビジョン検査システム10は、制御コンピュータシステム14とデータおよび制御信号を交換するために動作可能に接続されたビジョン測定機械12を含む。制御コンピュータシステム14はさらに、モニタまたはディスプレイ16、プリンタ18、ジョイスティック22、キーボード24、およびマウス26とデータおよび制御信号を交換するために動作可能に接続される。モニタまたはディスプレイ16は、マシンビジョン検査システム10の動作の制御および/またはプログラムに適したユーザインタフェースを表示し得る。
【0014】
ビジョン測定機械12は、可動式ワークピースステージ32と、ズームレンズまたは交換レンズを含み得る光学撮像システム34とを含む。ズームレンズまたは交換レンズは一般に、光学撮像システム34により提供されるイメージに様々な倍率を提供する。マシンビジョン検査システム10は一般に、上述したビジョンシステムのQUICK VISION(登録商標)シリーズおよびQVPAK(登録商標)ソフトウェアおよび同様の先端技術の市販されている精密マシンビジョン検査システムと同等である。マシンビジョン検査システム10は、本願と同じ譲受人に譲渡され、2008年12月23日に出願された米国特許第7,454,053号、同第7,324,682号、および米国特許出願第12/343,383号、2009年10月29日に出願された米国特許出願第12/608,943号にも説明されている。
【0015】
本明細書において開示される改良されたステップアンドリピートユーザインタフェース機能ならびに関連する方法および動作は、図1に示されるような汎用精密マシンビジョン検査システムのより効率的、直観的、かつ柔軟な使用およびプログラムを特に初心者または頻繁に使用しないユーザに提供することができる。
【0016】
図2は、本発明によるマシンビジョン検査システム100の制御システム部120およびビジョン構成要素部200のブロック図である。より詳細に後述するように、制御システム部120は、ビジョン構成要素部200を制御するために利用される。ビジョン構成要素部200は、光学アセンブリ205と、光源220、230、および240と、中央透透明部212を有するワークピースステージ210とを含む。ワークピースステージ210は、ワークピース20を位置決めし得るステージの表面に略平行する平面にあるX軸およびY軸に沿って制御可能なように移動可能である。光学アセンブリ205は、カメラシステム260、交換対物レンズ250を含み、レンズ286および288を有するターレットレンズ・アセンブリ280を含み得る。ターレットレンズ・アセンブリに代えて、固定された、または手動で交換可能な倍率変更レンズまたはズームレンズ構成等が含まれてもよい。光学アセンブリ205は、さらに後述するように、制御可能なモータ294を使用することにより、X軸およびY軸に略直交するZ軸に沿って制御可能なように移動可能である。
【0017】
マシンビジョン検査システム100を使用して撮像すべきワークピース20または複数のワークピース20を保持したトレイもしくは取り付け具は、ワークピースステージ210上に配置される。ワークピースステージ210は、交換対物レンズ250がワークピース20上のロケーション間および/または複数のワークピース20間で移動するように、光学アセンブリ205に相対移動するように制御することができる。ステージ照明220、同軸照明230、および表面照明240のうちの1つまたは複数が、ソース光222、232、または242をそれぞれ発して、1つまたは複数のワークピース20を照明し得る。ソース光は、ワークピース光255として反射または伝達され、ワークピース255は、交換対物レンズ250およびターレットレンズ・アセンブリ280を透過し、カメラシステム260に集められる。カメラシステム260により取り込まれたワークピース20のイメージは、信号線262を介して制御システム部120に出力される。光源220、230、および240は、信号線またはバス221、231、および241をそれぞれ通して制御システム部120に接続し得る。イメージの倍率を変更するには、制御システム部120は、信号線またはバス281を通してターレットレンズ・アセンブリ280を軸284に沿って回転させ、ターレットレンズを選択し得る。
【0018】
例示的な様々な実施形態では、光学アセンブリ205は、アクチュエータ、接続ケーブル等を駆動する制御可能なモータ294を使用して、ワークピースステージ210に対して垂直なZ軸方向において移動可能であり、それにより、光学アセンブリ205をZ軸に沿って移動させて、カメラシステム260により取り込まれるワークピース20のイメージの焦点を変更させる。本明細書において使用される用語Z軸は、光学アセンブリ205により取得されるイメージに合焦させるために使用されることを意図された軸を指す。制御可能なモータ294は、使用される場合、信号線296を介して入/出力インタフェース130に接続される。
【0019】
図2に示されるように、例示的な様々な実施形態では、制御システム部120は、コントローラ125と、入/出力インタフェース130と、メモリ140と、ワークピースプログラム生成・実行器170と、電源部190とを含む。これら各構成要素ならびに後述する追加の構成要素は、1つまたは複数のデータ/制御バスおよび/またはアプリケーションプログラミングインタフェースにより、あるいは各種要素間の直接接続により相互接続し得る。
【0020】
本発明による様々な実施形態では、ワークピースプログラム生成・実行器170はステップアンドリピートループ生成部172を含み、ステップアンドリピートループ生成部172は、さらに詳細に後述するように、ステップアンドリピート動作および関連するプログラミングに関する様々な動作およびユーザインタフェースの特徴を提供またはアクティブ化する。ステップアンドリピートループ生成部172に対して代替の構成も可能である。例えば、いくつかの実施形態では、ワークピースプログラム生成・実行器170およびステップアンドリピートループ生成部172を統合してもよく、かつ/または区別不可能にしてもよい。より一般には、本発明は、マシンビジョン検査システム100と併せて動作可能であり、ユーザインタフェース機能、関連するプログラミング、および本明細書に開示される他の動作を提供する、現在既知であるか、または後に開発される任意の形態で実施し得る。
【0021】
入/出力インタフェース130は、撮像制御インタフェース131、移動制御インタフェース132、照明制御インタフェース133、およびレンズ制御インタフェース134を含む。移動制御インタフェース132は、位置制御要素132aおよび速度/加速度制御要素132bを含み得る。しかし、例示的な様々な実施形態では、そのような要素を統合してもよく、かつ/または区別不可能にしてもよいことを理解されたい。照明制御インタフェース133は、例えば、該当する場合、マシンビジョン検査システム100の様々な対応する光源の選択、電力、オン/オフスイッチ、およびストローブパルスタイミングを制御する照明制御要素133a〜133nを含む。
【0022】
メモリ140は、イメージファイルメモリ部141と、1つまたは複数のパートプログラム等を含み得るワークピースプログラムメモリ部142と、ビデオツール部143とを含む。ビデオツール部143は、GUI、対応する各ツールのイメージ処理動作等を決定するツール部143aおよび他の同様のツール部(〜143m)を含む。ビデオツール部143は、ビデオツール部143内に含まれる様々なビデオツールにおいて動作可能な様々なROIを定義する自動、半自動、および/または手動の動作をサポートする関心領域生成器143xも含む。
【0023】
一般に、メモリ部140は、ワークピース20のイメージを取り込むまたは取得するためにビジョンシステム構成要素部200を動作させるのに使用可能なデータを記憶し、ワークピース20の取得イメージが所望のイメージ特徴を有するようにさせる。メモリ部140は、検査結果データも記憶し得、マシンビジョン検査システム100を動作させて、手動または自動的に様々な検査および測定動作(例えば、部分的にビデオツールとして実装される)を取得イメージに対して実行させ、入/出力インタフェース130を通して結果を出力させるのに使用可能なデータをさらに記憶し得る。メモリ部140は、入/出力インタフェース130を通して操作可能なグラフィカルユーザインタフェースを定義するデータも含み得る。
【0024】
ステージ照明220、同軸照明230、および表面照明240の信号線またはバス221、231、および241のそれぞれはすべて、入/出力インタフェース130に接続される。カメラシステム260からの信号線262および制御可能なモータ294からの信号線296は、入/出力インタフェース130に接続される。イメージデータの搬送に加えて、信号線262は、イメージ取得を開始する信号をコントローラ125から搬送し得る。
【0025】
1つまたは複数の表示装置136(例えば、図1のディスプレイ16)および1つまたは複数の入力装置138(例えば、図1のジョイスティック22、キーボード24、およびマウス26)も入/出力インタフェース130に接続することができる。表示装置136および入力装置138を使用してユーザインタフェースを表示することができ、ユーザインタフェースは、検査動作の実行、ならびに/またはパートプログラムの作成および/もしくは変更、カメラシステム260により取り込まれたイメージの表示、ビジョンシステム構成要素部200の直接制御に使用可能な様々なグラフィカルユーザインタフェース(GUI)特徴を含み得る。特に、本発明の例示的な様々な実施形態によれば、表示装置136および入力装置138を使用して、マシンビジョン検査システム100でのステップアンドリピートループ動作の効率的、直観的、かつ柔軟な使用およびプログラムを可能にするために使用可能な様々なGUI特徴を提示する。
【0026】
例示的な様々な実施形態では、ユーザは、マシンビジョン検査システム100を利用して、ワークピース20のパートプログラムを作成する場合、ワークピースプログラミング言語を使用して、自動的に、半自動的に、または手動で命令を明示的に符号化することにより、および/またはマシンビジョン検査システム100を学習モードで動作させて、所望のイメージ取得訓練シーケンスを提供することにより、パートプログラム命令を生成する。例えば、訓練シーケンスは、ワークピース特徴を視野(FOV)内に位置決めすること、照明レベルを設定すること、焦点またはオートフォーカスを合焦させること、イメージを取得すること、およびイメージに適用された検査訓練シーケンスを提供すること(例えば、ビデオツールを使用して)を含み得る。学習モードは、シーケンスが取り込まれるか、または記録され、対応するパートプログラム命令に変換されるように動作する。これら命令は、パートプログラムが実行される場合、マシンビジョン検査システムに訓練されたイメージ取得および検査動作を再生成させ、パートプログラムを作成した際に使用されたワークピースと一致する1つまたは複数のワークピースを自動的に検査させる。
【0027】
ワークピースイメージ内の特徴を検査するために使用されるこれら解析・検査方法は通常、メモリ140のビデオツール部143内に含まれる様々なビデオツールで具現される。多くの既知のビデオツール、または略して「ツール」が、上述したビジョンシステムのQUICK VISION(登録商標)シリーズおよび関連するQVPAK(登録商標)ソフトウェア等の市販のマシンビジョン検査システムに含まれている。
【0028】
図3は、ユーザがデカルト座標においてステップアンドリピートロケーションを定義することができるステップアンドリピートダイアログボックス300を形成するGUI特徴を示す、表示装置136(例えば、図1のディスプレイ16)の画面ショットサンプルである。ステップアンドリピートダイアログボックス300は一般に、4つのサブボックス:図的表示サブボックス301、ブロック定義サブボックス302(あるいは、内部ループ定義サブボックス302とも呼ばれる)、ブロック反復定義サブボックス303(あるいは、外部ループ定義サブボックス303とも呼ばれる)、および「除外範囲定義(Define Excluded Range)」サブボックス304を含む。ステップアンドリピートダイアログボックス300の図示の例は、これらサブボックスを含むが、本発明はこの特定の構成に限定されず、任意の数または構成のサブボックスが、本発明のステップアンドリピートダイアログボックスを形成することが可能である。
【0029】
以下の説明では、ウィジェットと当該ウィジェットが表されるロケーションとの間に1対1の対応性があるため、同じ参照番号をウィジェットまたは対応するロケーションのどちらか一方に使用した場合(例えば、ウィジェット31X、ロケーション31Xにおいて)、特定の説明がより容易に解釈される。同様に付番されたウィジェットとウィジェットが表されるロケーションとのいかなる区別も、説明または文脈に基づいて明確である。
【0030】
ディスプレイサブボックス301は、検査すべき同様の構成の各ワークピース特徴のロケーション「31X」(例えば、310a、311c)を図示する。ワークピース特徴の構成のインスタンスのロケーション31Xは、図示の実施形態では、ドット形のウィジェット31Xとして表される。特定の「ステップ」で検査すべきワークピースの構成は、例えば、単一の特徴等の比較的単純な形態から様々なワークピース特徴の複雑な組み合わせ等の比較的複雑な形態まで、様々な形態をとり得る。ドット形ウィジェット31Xが単に、ステップアンドリピートプログラミングのために検査すべきワークピース特徴の構成の相対的なロケーションを(他の構成に対して)象徴的に表すために使用されており、ロケーションでのウィジェット形状が必ずしも、そのロケーションで検査すべきワークピース特徴の実際の構成を表すわけではないことを理解されたい。
【0031】
ステップアンドリピートプログラミングにおいて、ワークピース特徴の構成の検査が、異なるロケーションでの複数のインスタンス、例えば、図示の実施形態では、第1のブロック内の5つのロケーション310a〜310eで繰り返される。図示の実施形態では、5つのロケーション310a〜310eでの構成のインスタンスは、ブロック定義サブボックス302においてインスタンス反復パラメータセットをユーザが入力することにより定義できる内部ブロック(ib)「反復ループ」に対応すると見なされ得る。図3に示される実施形態では、ステップアンドリピートロケーションのブロック(例えば、310a〜310e)を定義するインスタンス反復パラメータは、ブロックのインスタンスまたはメンバ同士のX軸に沿ったオフセット(デルタ)値(「dXib」)、Y軸に沿ったオフセット値(「dYib」)、およびZ軸に沿ったオフセット値(「dZib」)を含み、これらオフセット値はすべて基準ロケーション(ロケーション310a)から開始される。ユーザは、ブロック内で繰り返されるべきインスタンスまたはメンバの数を数値で定義することもできる(「ブロック内反復(Repeats in Block」)。図示の例では、ユーザは、X軸およびY軸の両方に沿ったオフセット値を「1」と指定し、反復値を「5」に指定しており、それにより、5つのドット形ウィジェットがそれぞれ、図的表示サブボックス301内の5つのロケーション310a〜310eに出現する。非ゼロ値が「dZib」として入力された場合、インスタンスのロケーションは、これがディスプレイサブボックス301内に表示されないにもかかわらず、X軸およびY軸の両方に直交するZ軸に沿ってオフセットするようにプログラムされる。本発明の例示的な様々な実施形態によれば、ユーザが数値をブロック定義サブボックス302内に入力すると、自動的にウィジェットが図的表示サブボックス301内の対応するロケーション(例えば、310a〜310e)に表示される。ユーザが、ブロック定義サブボックス302内に入力された値を変更した場合、ウィジェットの表示は、新しく指定された値に対応するように自動的に変更される。
【0032】
ブロック反復定義サブボックス303により、ユーザは、ブロック反復パラメータセットを定義することができ、これは、ステップアンドリピートプログラミング動作の外部「反復ループ」を定義することと見なすことができる。しかし、本明細書では内部反復ループおよび外部反復ループの名称が、1つの可能な基本的なプログラミング手法を示唆するために使用されるが、他のプログラミング手法も可能なことを理解されたい。さらに、検査動作の実際の実行は、内部ループおよび外部ループ等に従って制約された検査パスを辿る必要はなく、効率的な任意のパスを辿ってよい。したがって、本明細書において使用される名称は単なる例示であり、限定ではない。図3に示される実施形態では、ブロック反復パラメータは、X軸に沿ったブロック毎のオフセット値(「dXbb」)、Y軸に沿ったブロック毎のオフセット値(「dYbb」)、およびZ軸に沿ったブロック毎のオフセット値(「dZbb」)ならびに反復すべきブロック数(「反復ブロック(Block Repeats)」)を含む。図示の例では、ユーザは、X軸に沿ったブロック毎のオフセット値を「2」と指定し、Y軸に沿ったブロック毎のオフセット値を「0.5」と指定し、ブロック反復値を「2」と指定している。したがって、第1のブロックのロケーション310a〜310eにおける5つのウィジェットのそれぞれがまず、ロケーション311a〜311eにおいて繰り返され、例えば、ロケーション311aは、ロケーション310aに対してX軸に沿って「2」、Y軸に沿って「0.5」だけオフセットされている。ブロック定義サブボックス302と同様に、本発明の例示的な様々な実施形態によれば、ユーザがブロック反復定義サブボックス303内に数値を入力し編集すると、自動的にウィジェットが図的表示サブボックス301内の対応するロケーション(311a〜311e)に表示される。
【0033】
例示的な様々な実施形態では、ワークピース特徴の構成の各インスタンスに対して実行すべき検査動作セットは、図3のロケーション310a等の基準ロケーションにおける構成の参照インスタンスに対して実行される動作により定義される。換言すれば、ステップアンドリピートプログラミングにおいて、基準ロケーションで実行された動作と同じ動作を、複数のロケーションにおいて繰り返される構成の複数のインスタンスに対して繰り返すことができる。本発明の例示的な様々な実施形態によれば、基準ロケーション(図3の310a)は、ユーザが基準ロケーションを容易に識別できるように、他のロケーションとは図的に区別されて(例えば、異なる色で)示すことができる。
【0034】
ユーザは、「ループ名」ボックス305において、定義されたステップアンドリピートロケーションセットの名称を決定することができる。ユーザは、定義されたステップアンドリピートロケーションが複数のワークピースに対応するか、それとも単一のワークピース内の複数のロケーションに対応するかを指定することもできる。特に、ステップアンドリピート動作を、1つのワークピース上の構成と別のワークピース上の構成との間で繰り返すべきである場合、ユーザは「ピース毎にリピート」ボタン312を選択し得る。ステップアンドリピート動作を同じワークピース上の複数の構成に対して繰り返すべき場合、ユーザは、「1個のピースに対してリピート」ボタン314を選択し得る。
【0035】
上記説明では、ユーザが、複数の規則正しく配置されたステップアンドリピートロケーション、すなわち、検査すべき構成の複数のインスタンスがそれぞれ配置される規則正しいロケーション配列をどのようにして容易かつ直観的に定義し視覚的に確認することができるかを説明した。上述したインスタンス反復パラメータおよびブロック反復パラメータにより最初に定義される、そのような規則正しいステップアンドリピートロケーション配列は、本明細書では、「デフォルト」ステップアンドリピートロケーションと呼ばれる。本発明の例示的な様々な実施形態によれば、その後、ユーザは任意に、個別にデフォルトステップアンドリピートロケーションを編集し得る。例えば、ユーザは、1つまたは複数のインスタンス(またはロケーション)を、定義されたデフォルトステップアンドリピートロケーションセットから除外したい場合がある。図3を参照して、例えば、ユーザは、セットからロケーション311eにおけるインスタンスを除外したい場合がある。本発明の一実施形態によれば、ユーザは、マウス26等の適した入力装置を使用して、除外すべきロケーション311eを選択し得る。例えば、ユーザは、マウス26のカーソルをロケーション311eの近傍に位置決めし、クリックすることにより選択を行い得る。本発明の例示的な様々な実施形態によれば、構成のインスタンス(またはロケーション)が除外される場合、除外ロケーションの図的表現は、図的表示サブボックス301内で変更され得る。一例では、除外ロケーションは単に消失し、空のスペースとして示され得る。あるいは、図示の例に見られるように、除外ロケーションを、「X」が付いた円等の変更されたウィジェットで示し得る(他のドット形ウィジェットと比較して)。本発明のさらなる実施形態によれば、ユーザは、例えば、再びマウス26を使用して除外ロケーションをクリックすることにより、除外ロケーションを復帰させ得る。すると、復帰したロケーションの図的表現は、元の形態、例えば、ドット形ウィジェットに戻る。ロケーションのうちのいくつかの除外または復帰を含め、検査ステップアンドリピートロケーションの図的表現を表示することは、元のデフォルトステップアンドリピートロケーションの図的表現を上書きするか、または変更することにより行うことができる。
【0036】
したがって、ユーザは、単一のステップアンドリピートダイアログボックス300の境界内のブロック定義サブボックス302およびブロック反復定義サブボックス303内に含まれるパラメータに基づいて元々定義された「デフォルト」ステップアンドリピートロケーションセットの個々のインスタンスまたはメンバを図的に編集(例えば、除外、復帰等)し得る。ユーザは、「除外範囲定義(Define Excluded Range)」サブボックス304がステップアンドリピートダイアログボックス300内に含まれる場合、そのサブボックス304を使用することにより、定義されたデフォルトステップアンドリピートロケーションセットの編集をすることもできる。特に、「除外範囲定義」サブボックス304が含まれる場合、ユーザは、「From:[X,Y]」および「To:[X,Y]」320に関して、デフォルトステップアンドリピートロケーションから除外すべき構成インスタンスのロケーションの範囲(または複数のロケーションの範囲)を数値(またはテキスト)で定義し得る。例えば、ユーザは、「From:[4,3.5]To:[6,4.5]」内のロケーションを除外すべきであることを指定し得る。X=4〜6かつY=3.5〜4.5内のロケーションは、図示の実施形態では、ロケーション310e(4,4)、311d(5,3.5)、および311e(6,4.5)を含むため、これら3つのロケーションは除外されることになる。次に、除外ロケーションのデカルト座標を「除外範囲定義」サブボックス302内の「除外ロケーションリスト(Excluded Location List)」324内に列挙し得る。除外すべきロケーションの範囲が完全に定義されると、ユーザは、「除外範囲定義」サブボックス302内の「OK」ボタン322を選択する。「除外範囲定義」サブボックス302は、大きなデフォルトロケーションブロック、例えば、ボールグリッドアレイの中心にある除外すべき複数のロケーション等を除外するために特に有用であり得る。様々な実施形態では、「除外範囲定義」サブボックス304への入力が完了すると、その入力は図的表示サブボックス301において即座に反映される。同様に、図的表示サブボックス301での図的編集も、「除外範囲定義」サブボックス304において即座に反映し得る。
【0037】
上述したように、様々な図的表現および編集特徴を様々なテキストに基づく定義および編集特徴と対話的に組み合わせたステップアンドリピートダイアログボックスが、特に直観的なユーザインタフェースを提供することを理解されたい。さらに、実際の検査ロケーションへの図的表現(視野内または図面上で見ることができる)のおおよその幾何学的類似性により、ユーザは、不規則なステップアンドリピートパターンであっても、プログラムされた構成が意図に適うことを素早く確認できるため、初心者または熟練したユーザのいずれも、極めて容易に自信を持って、そのようなダイアログボックスを使用することができる。
【0038】
ユーザがデフォルトステップアンドリピートロケーションを編集した後に得られるステップアンドリピートロケーションの最終セットは、本明細書では、「検査」ステップアンドリピートロケーションと呼ばれる。上述したように、本発明は、ユーザが、規則正しい配列のデフォルトステップアンドリピートロケーションのみならず、「検査」ステップアンドリピートロケーションの規則的または不規則的なセットも定義できるようにするいくつかの直観的で柔軟なGUI特徴を提供する。検査ステップアンドリピートロケーションが完全に定義されると、ユーザは、OKボタン330を選択して、現在定義され表示されている検査ステップアンドリピートロケーションセットを許容し得る。他方、ユーザは、これまでに実行されたあらゆるステップアンドリピートロケーション定義をキャンセルしたい場合、キャンセル(CANCEL)ボタン332を選択し得る。本発明の例示的な様々な実施形態では、OKボタン330を選択すると、定義された検査ステップアンドリピートロケーションセットは、ワークピース特徴の構成の複数のインスタンスの検査に使用すべきパートプログラムに自動的に記憶される。
【0039】
図4は、ユーザがステップアンドリピートロケーションを円柱座標において定義することができるステップアンドリピートダイアログボックス400を形成するGUI特徴を示す、表示装置136(例えば、図1のディスプレイ16)の画面ショットサンプルである。ステップアンドリピートダイアログボックス400は、図的表示サブボックス401および関連付けられたグラフィックスボックスが図3にないにも拘わらず、反復定義サブボックス402と呼ばれる場合もある反復パラメータセット402を含む。大方の場合、ステップアンドリピートダイアログボックス400の構造および動作は、図3のダイアログボックス300と同様であり、それに基づいて理解することができる。したがって、大きな相違のみについてここで説明する。簡潔にするために、ステップアンドリピートダイアログボックス400は、ワークピース特徴の構成のデフォルトロケーションの「回転」配列を定義するために「入れ子ループ」手法(図3を参照して上述した)を使用しない。しかし、図3と同様に、ステップアンドリピートダイアログボックス400の構成は、本発明による単なる一例であり、本発明は図4に示されるものに限定されない。
【0040】
図的表示サブボックス401は、4つのロケーション410〜413にそれぞれ配置された4つのウィジェット(またはドット)41Xを示す。ロケーション410は、図4の円柱座標における基準ロケーションであり、基準ロケーション310と同様に、その他のロケーション411〜413とは図的に異なる様式で表現することができる。ユーザは、反復定義サブボックス402を使用して、ロケーション411〜13を定義する反復パラメータを定義することにより、デフォルトステップアンドリピートロケーションセットを定義し得る。ユーザは、基準ロケーション410に相対する中心オフセット「Xc」および「Yc」に数値を入力することにより、円形(または渦巻き形すなわち螺旋形)配置のステップアンドリピートデフォルトロケーションの中心を定義する。図示の例では、ユーザは、ステップアンドリピート回転の公称中心オフセット(Xc,、Yc)を(−1.5,0)と設定している。ユーザは、半径「dR」のオフセット(デルタ)値、角度「dA」のオフセット値、Z軸に沿ったオフセット値「dZ」、および構成が繰り返されるインスタンス数も定義する。図示の例では、ユーザは、「dA」=90°および反復数を「4」と指定している。したがって、基準ロケーション410(A=0°)から開始して、検査すべき構成のデフォルトロケーションはそれぞれ、(−1.5,0)における相対中心(Xc,Yc)を中心として、ロケーションA=90°、180°、および270°において3回繰り返される。示されていないが、非ゼロ値が「dR」として入力される場合、構成のインスタンスは一般に渦巻きパターン(増大または低減する半径を有する)で繰り返されることになり、非ゼロ値が「dZ」に入力される場合、インスタンスは、X軸およびY軸の両方に直交するZ軸に沿ってずれる螺旋状に繰り返される。
【0041】
前と同様に、ユーザは、定義されたステップアンドリピートロケーションセットを「ループ名」ボックス405において名称決定し得る。ユーザは、上述したように、定義されたステップアンドリピートロケーションが複数のワークピースに対応するか(「ピース毎にリピート」ボタン412を使用する)、それとも単一のワークピース内の複数のロケーションに対応するか(「1個のピースに対してリピート」ボタン414を使用する)を指定し得る。
【0042】
これも前と同様に、本発明の例示的な様々な実施形態によれば、ユーザは、定義されたデフォルトステップアンドリピートロケーションをステップアンドリピートダイアログボックス400において編集または変更し得る。特に、図3に示される実施形態と同様に、ユーザは、マウス26等の入力装置を使用して、図的表示サブボックス401において、検査すべきステップアンドリピートロケーションの最終セットから除外すべき1つまたは複数のデフォルトステップアンドリピートロケーションを選択し得る(すなわち、「検査」ステップアンドリピートロケーション)。これもまた前と同様に、ユーザは、例えば、マウス26を使用して除外されたロケーションを選択することにより、除外されたロケーションを容易に復帰させ得る。示されていないが、図3に示されるように、適した「除外範囲定義」サブボックスをステップアンドリピートダイアログボックス400に使用して、ユーザが数値(またはテキスト)で、ステップアンドリピートロケーションの最終検査セットから除外すべきデフォルトステップアンドリピートロケーションの範囲を定義できるようにし得る。
【0043】
検査ステップアンドリピートロケーションが完全に定義されると、ユーザはOKボタン430を選択し得る。一方、ユーザは、これまでに実行されたあらゆるステップアンドリピートロケーション定義をキャンセルしたい場合、キャンセルボタン432を選択し得る。ステップアンドリピートダイアログボックス400内に含まれる対話的な図的特徴およびテキストに基づく特徴の組み合わせの利点は、図3に示される実施形態に関して上述した利点と同様である。
【0044】
図5は、上述したように、デカルト座標または円柱座標のいずれかで「デフォルト」および「検査」ステップアンドリピートロケーションを定義する際に使用されるセットアップパラメータ要素の例示的な一編成を概略的に示す図である。ステップアンドリピートモードプログラムまたはサブルーチン500は、「デカルト(Cartesian)」モード要素501および「円柱(Cylindrical)」モード要素502を含む。「デカルト」モード要素501は、図3を参照して上述したように、ステップアンドリピートロケーションを定義するために使用される様々なパラメータおよび特徴を含む。図3において上述したものと同じまたは同様の要素は、同じ番号で参照される。
【0045】
特に、これら要素は、「ループ名(Loop Name)」パラメータ305、ブロック定義サブボックス302において使用される様々なパラメータ(「リピート(Repeats)」、「dXib」、「dYib」、「dZib」)、反復定義サブボックス303において使用される様々なパラメータ(「リピート(Repeats)」、「dXbb」、「dYbb」、「dZbb」ならびに「ピース毎にリピート(Repeat Piece to Piece)」選択ボタン312および「1個のピースに対してリピート(Repeat on Piece)」選択ボタン314を含む。「デカルト」モード要素501内には、「包含ロケーション」要素510、「基準ロケーション(Reference Location)」要素512、および「除外ロケーション(Excluded Location)」要素514等の図的表示サブボックス301内で検査ステップアンドリピートロケーションを定義するために使用される様々な要素も含まれる。
【0046】
「包含ロケーション(Included Location)」要素510により、ユーザは、「デフォルト」ステップアンドロケーションが実際に検査すべき「検査」ステップアンドロケーションであることを指定または確認することができる。本発明の大半の用途では、基準ロケーションは、「包含ロケーション」のうちの1つ、すなわち、検査ステップアンドリピートロケーションのうちの1つであり、「基準ロケーション」パラメータ512は、基準ロケーションを残りの検査ステップアンドリピートロケーションと異なる様式で図的に表示させるためにさらに使用され得る。「除外ロケーション(Excluded Location)」要素514により、ユーザは、「デフォルト」ステップアンドリピートロケーションのうちの1つまたは複数を除外することができ、それにより、これら除外されたロケーションは「検査」ステップアンドリピートロケーションの最終セットの部分を形成しない。上述したように、ステップアンドリピートダイアログボックス300のGUI特徴により、ユーザは、例えば、包含または除外すべきロケーション上にカーソルを配置してクリックすることにより、「包含ロケーション」および「除外するロケーション」を容易に変更して、デフォルトステップアンドリピートロケーションのうちの任意のロケーションを直観的に確認、除外、または復帰させて、検査ステップアンドリピートロケーションの最終セットを定義することができる。
【0047】
「円柱」モード要素502も同様に、図4を参照して上述したように、ステップアンドリピートロケーションを定義するために使用される様々なパラメータおよび特徴を含む。図4において上述したものと同じまたは同様の要素は、同じ番号で参照される。特に、これら要素は、「ループ名」パラメータ405、反復定義サブボックス402に使用される様々なパラメータ(「リピート」、「dR」、「dA」、「dZ」、「Xc」、「Yc」)、「ピース毎にリピート」選択ボタン412、および「1個のピースに対してリピート」選択ボタン414を含む。「円柱」モード要素502は、「基準ロケーション」要素512および「除外するロケーション」要素510を含む「包含ロケーション」要素510等の、図的表示サブボックス401内で検査ステップアンドリピートロケーションを定義するために使用される様々な要素も含む。上述のように、「包含ロケーション」要素510により、ユーザは、「デフォルト」ステップアンドリピートロケーションが実際に検査すべき「検査」ステップアンドリピートロケーションであることを指定または確認することができる。「除外ロケーション」要素514により、ユーザは、「デフォルト」ステップアンドリピートロケーションのうちの1つまたは複数を除外することができ、それにより、それら除外されたロケオーションは、「検査」ステップアンドリピートロケーションの最終セットの部分を形成しない。
【0048】
図6は、本発明の例示的な実施形態による、図1のマシンビジョン検査システムの、ステップアンドリピートロケーションを定義することを含む、ステップアンドリピート動作をプログラムする方法を示すフローチャートである。ステップ610において、図1のシステム10(または図2のシステム100)等のマシンビジョン検査システムが提供され、動作する。システムは、撮像部34と、可動式ステージ32と、制御部14(または図2の制御システム部120)と、図3および図4に示されるようなグラフィカルユーザインタフェース(GUI)とを含み、ワークピース特徴の第1の構成に対して実行すべき検査セットを定義する。なお、可動式ステージ32は、撮像部34の視野(FOV)内に1つまたは複数のワークピースを保持するものであり、一般には、1つまたは複数のワークピースを保持する載置台と、この載置台を移動させる機能とを有し、載置台を移動させて該載置台上の1つまたは複数のワークピースの任意の部位を撮像部34の視野(FOV)に入れる。
【0049】
ステップ612において、GUIが操作されて、図3および図4に示されるダイアログボックス等のステップアンドリピートダイアログボックスが表示される。ステップアンドリピートダイアログボックスは、ワークピース特徴の第1の構成の対応するインスタンスに対して検査動作セットを実行するデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータ(例えば、ブロック定義サブボックス302、ブロック反復定義サブボックス303、および反復定義サブボックス402内のパラメータ)を含む。
【0050】
ステップ614において、GUIを操作して、表示されたステップアンドリピートダイアログボックス内で第1の複数のパラメータを定義して、デフォルトステップアンドリピートロケーションセットを定義する。換言すれば、第1の複数のパラメータは、デフォルトステップアンドリピートロケーションを定義すると、そこに第1の構成のインスタンスが現れ、検査動作セットを受けるように設定される。
【0051】
ステップ616において、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現がGUI内に表示される。
【0052】
ステップ618において、GUIを操作して、デフォルトステップアンドリピートロケーションセットのサブセットである「検査」ステップアンドリピートロケーションセットを定義する。特に、ユーザは、GUI内に表示された、定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現から除外すべき少なくとも1つのメンバを示す。上述したように、ユーザの指示は、マウス26のカーソル等の適した入力装置を除外すべきメンバの近傍または上に配置することに基づき得る。すると、検査ステップアンドリピートロケーションセットが、デフォルトステップアンドリピートロケーションセットから指示された少なくとも1つの除外メンバを除いたものとして定義され、それにより、定義された検査ステップアンドリピートロケーションセットのメンバの図的表現をGUI内に表示する。
【0053】
ステップ620において、検査ステップアンドリピートロケーションセットが、ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラム内に記録される。例えば、上のステップ618において定義された検査ステップアンドリピートロケーションセットは、各検査ステップアンドリピートロケーションにおいて第1の構成に対して実行すべき検査動作セットと共に、パートプログラム内に記録される。
【0054】
図7は、本発明の一実施形態による、検査ステップアンドリピートロケーションの各セットに対して実行すべき検査動作の定義に関連付けられたいくつかの特徴を示す、図1のマシンビジョン検査システム10の表示の画面ショットサンプル700である。図示の例では、マシンビジョン検査システム10は学習モードで動作しており、画面ショット700の上部付近のツールバーから、「プログラム(Program)」というプルダウンメニュー702が選択されている。さらに、「プログラム」のプルダウンメニュー702内で、「学習(Learn)」モードへのチェックマークは、学習モードがアクティブモードであることを示し、「ステップアンドリピート(Step and Repeat)」プログラミングモードセレクタ704がアクティブ化されている。可動式ステージ32は、ウィンドウ715に示されるX、Y、Z座標により示される位置に移動しており、FOV内でのワークピース特徴(例えば、プリント回路基板の円形の穴)の構成710の1つまたは複数のインスタンスの撮像(撮像部34を使用する)および検査をサポートする。FOVのイメージならびに検査動作のプログラムに使用されるあらゆるビデオツールは一般に、ワークピース表示ウィンドウ712内に提供される。ワークピース特徴の構成710は、上述したように、基準ロケーションに対応し得る。ユーザは、上述したように、エッジ/境界検出ビデオツール等の様々なビデオツールを使用することにより、ワークピース特徴の構成710に対して実行すべき検査動作セットを定義し得る。学習モード中、または学習モードを終了する際、構成710に対して定義された検査動作セットは、各ステップアンドリピートロケーションにあるワークピース特徴の同様の構成の複数のインスタンスを検査するために使用すべきパートプログラムに記録される。
【0055】
なおも図7を参照すると、画面ショット700は、図的表示サブボックス301、ブロック定義サブボックス302、およびブロック反復定義サブボックス303を含む、図3のステップアンドリピートダイアログボックス300と同様のステップアンドリピートダイアログボックス720をさらに含む。詳細に上述したように、ユーザは、ステップアンドリピートダイアログボックス720を使用して、構成710に定義された検査動作セットが構成710に対応するさらなるインスタンスに対して実行されるようなデフォルトステップアンドリピートロケーションならびに検査ステップアンドリピートロケーションを定義することができる。構成710は、図3および図4を参照して説明した基準ロケーション310aと同様の基準ロケーションとして定義することができ、デフォルトステップアンドリピートロケーションセットを生成するための参照点として使用することができる。本発明の例示的な様々な実施形態では、「ステップアンドリピート」プログラミングモードセレクタ704が、その特定のインスタンスで実行される検査動作およびワークピース特徴710のその特定の構成のロケーションを定義することに関連してアクティブ化されているため、構成710を基準ロケーションとして定義し得る。「ステップアンドリピート」プログラミングモードセレクタ704のアクティブ化により、ステップアンドリピートダイアログボックス720の表示を開始し得る。次に、検査ステップアンドリピートロケーションが、ステップアンドリピートダイアログボックス720を使用して定義され、ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録され(図6のステップ620)、基準ロケーションでの構成710に対して元々定義されていた検査動作セットがパートプログラムに記録されて、定義された検査ステップアンドリピートロケーションのそれぞれで繰り返し実行される。
【0056】
検査動作セットおよび検査ステップアンドリピートロケーションセットが定義される順序が、様々な実施形態において可変であり得ることに留意されたい。いくつかの実施形態では、ユーザは、まず、ステップアンドリピートダイアログボックス720を使用して検査ステップアンドリピートロケーションを定義し、その後、基準ロケーションでの構成710のインスタンスに対して実行すべき検査動作セットを定義し得る。他の実施形態では、ユーザは、まず、構成710に対して実行すべき検査動作セットを定義し、その後、ステップアンドリピートダイアログボックス720内の基準ロケーションに基づいて検査ステップアンドリピートロケーションを定義し得る。
【0057】
図8は、本発明の一実施形態により、各検査ステップアンドリピートロケーションで学習モード中に実行すべき検査動作を定義し検証することを含むステップアンドリピート動作をプログラムする方法を示すフローチャートである。ステップ810において、ユーザは、例えば、図7に示される「プログラム(Program)」プルダウンメニュー702内の「ステップアンドリピート(Step and Repeat)」704を選択することにより、「ステップアンドリピート(Step and Repeat)動作定義を選択する。
【0058】
ステップ820において、ステップアンドリピートダイアログボックス720が表示される。ステップ830において、ユーザは、ステップアンドリピートダイアログボックス720内でデフォルトステップアンドリピートロケーションおよび検査ステップアンドリピートロケーションを定義し、検査ステップアンドリピートロケーションを受け入れた後、ステップアンドリピートダイアログボックス720を閉じ得る。
【0059】
ステップ840において、ユーザは、例えば、様々なビデオツールを使用して、ステップアンドリピートダイアログボックス720内で定義された検査ステップアンドリピートロケーションに含まれる基準ロケーションにおける第1の構成に対する検査動作セットを定義する。ステップ850において、ユーザは、例えば、「OK」ボタン(図示せず)を選択することにより、基準ロケーションに関連付けられたワークピース特徴の構成710に対する検査動作の定義の終了を示す。
【0060】
ステップ860において、ユーザは、シミュレートされたステップアンドリピート検査結果を生成することおよび実際のステップアンドリピート検査結果を生成することのうちの一方を選択する。このために、一実施形態では、ユーザが上述したように基準ロケーションに関連付けられた検査動作の定義の終了を示した後、図9に示されるダイアログボックスをマシンビジョン検査システムの表示装置136に自動的に表示し得る。図9に示されるようなダイアログボックスは、ユーザにこれら2つのオプションのうちの一方を選択するように促し得る。特に、学習モード中に、実行すべき検査動作セットならびにすべての検査ステップアンドリピートロケーションが完全に定義されると、シミュレートされたステップアンドリピート検査結果の生成および実際のステップアンドリピート検査結果の生成のいずれか一方を選択するようにユーザを促し得る。この選択を行った後、ユーザは「OK」ボタンまたは「キャンセル」ボタンを選択して、選択を確定する。学習モード中、ユーザがワークピースプログラムの部分(すなわち、パートプログラム)であるべきステップアンドリピートプログラムを定義し終えた場合、通常、ユーザは、新たに定義されたステップアンドリピートプログラムを実際に実行して、操作性および性能を確かめることを希望する。しかし、検査すべき反復インスタンス数が比較的多い場合によっては、ユーザは、時間のかかる実際の測定/検査を回避して、時間を節減するためにプログラムを実際に実行することを見合わせて、単にプログラムの実行をシミュレートすることを希望することがある。実際またはシミュレートされたステップアンドリピート検査結果を生成する動作については、図10を参照して詳細に説明する。
【0061】
ステップ870において、上のステップ860において行われたユーザ選択に基づいて、実際またはシミュレートされたステップアンドリピート検査結果が生成される。この時点で、ステップアンドリピートプログラミングの定義ならびにその実際またはシミュレートされた実行は完了する。したがって、ユーザは、次の学習モード動作(例えば、他のワークピース特徴に対する追加の検査ステップの定義またはステップアンドリピート検査結果の特別な解析等)の実行に進む。
【0062】
図10は、本発明の例示的な実施形態により、図9のダイアログボックス内で行われたユーザ選択に応答しての、シミュレートまたは実際のステップアンドリピート検査結果の生成に関連付けられた処理を示すフローチャートである。
【0063】
ステップ910において、ユーザがシミュレートされたステップアンドリピート検査結果の生成を選択したか否かが判断される。選択していない(「いいえ」)場合、ステップ912において、定義されたステップアンドリピート動作が、マシンビジョン検査システム100上で実際に実行される。特に、ステップ914において、マシンビジョン検査システム100は、検査ステップアンドリピートロケーションシリーズ内の次の検査ステップアンドリピートロケーションに設定される。最初、これはシリーズ内の最初のステップアンドリピートロケーションである。ステップ916において、検査動作に関連付けられた特徴ラベルがインクリメントされる。ステップ918において、検査動作が現在のステップアンドリピートロケーションで実際に実行され、実際の検査結果(すなわち、検査データおよび測定値)が記憶される。ステップ920において、検査ステップアンドリピートロケーションがまだ存在するか否かが判断される。存在する場合、ステップ914に戻り、マシンビジョン検査システム100は、ステップアンドリピートロケーションシリーズ内の次の検査ステップアンドリピートロケーションに設定され、ステップ920において、検査ステップアンドリピートロケーションがもう存在しないと判断されるまで、ステップ916〜920が繰り返される。
【0064】
ステップ910に戻り、ユーザがシミュレートされたステップアンドリピート検査結果を選択した(「はい」)と判断される場合、ステップ922において、検査動作に関連付けられた特徴ラベルは、まるでマシンビジョン検査システム100が次のステップアンドリピートロケーションに設定されたかのように(実際には設定されないが)インクリメントされる。ステップ924において、シミュレートされた検査結果(すなわち、シミュレートされた検査データおよび測定値)が生成され、記憶される。シミュレートされた検査結果は、例えば、基準ロケーション検査データ(例えば、基準ロケーションで得られた測定値)を想起し、現在シミュレートされたステップアンドリピートロケーションに蓄積されたステップアンドリピート位置インクリメントに基づいて基準ロケーション検査データを変換することにより得られる結果を含み得、次に、この結果は、現在シミュレートされているステップアンドリピートロケーションに関連付けられて記憶される。ステップ926において、検査ステップアンドリピートロケーションがまだ存在するか否かが判断される。存在する場合、ステップ922に戻り、検査動作に関連付けられた特徴ラベルが再び、まるでマシンビジョン検査システム100が次のステップアンドリピートロケーションに設定されたかのように(実際には設定されないが)インクリメントされ、ステップ924および926が、ステップ926において検査ステップアンドリピートロケーションがもうないと判断されるまで繰り返される。次に、ステップ928において、マシンビジョン検査システム100は実際に、ステップアンドリピートロケーションシリーズ内の最後の検査ステップアンドリピートロケーションに位置決めされ、さらなるプログラミング動作に対する準備ができる。シミュレーション検査結果を生成する一価値は、生成されるダミーの座標および測定・検査結果を次に、後のプログラミング動作に使用可能なことである(例えば、ダミー座標と最後に測定された測定特徴とのさらなる検査ディメンション等を生成するために)。
【0065】
上述したように、本発明の例示的な様々な実施形態は、ユーザがマシンビジョン検査システムにおいてステップアンドリピートループ動作を容易にプログラムし使用することができる効率的、直観的、かつ柔軟なGUI特徴を提供する。
【0066】
本発明の例示的な好ましい様々な実施形態を図示し説明したが、本発明の主旨および範囲から逸脱せずに様々な変更を行い得ることが理解されよう。
【符号の説明】
【0067】
10 マシンビジョン検査システム
12 ビジョン測定機械
14 制御コンピュータシステム
16 ディスプレイ
18 プリンタ
20 ワークピース
22 ジョイスティック
24 キーボード
26 マウス
32 可動式ワークピースステージ
34 光学撮像システム
120 制御システム部
125 コントローラ
130 入/出力インタフェース
131 撮像制御インタフェース
132 移動制御インタフェース
132a 位置制御要素
132b 速度/加速度制御要素
133 照明制御インタフェース
133a−133n 照明制御要素
134 レンズ制御インタフェース
136 表示装置
138 入力装置
140 メモリ
141 イメージファイルメモリ部
142 ワークピースプログラムメモリ部
143 ビデオツール部
143a−143m ツール部
143x 関心領域生成器
170 ワークピースプログラム生成・実行器
172 ステップアンドリピートループ生成部
190 電源部
200 ビジョン構成要素部
205 光学アセンブリ
210 ワークピースステージ
212 中央透明部
220 ステージ照明
230 同軸照明
240 表面照明
221、231、241、262、281、296 信号線
222 ソース光
250 交換対物レンズ
255 ワークピース照明
260 カメラシステム
280 ターレットレンズ・アセンブリ
284 軸
286、288 レンズ
294 制御可能なモータ
300、400、720 ステップアンドリピートダイアログボックス
301、401 図的表示サブボックス
302 ブロック定義サブボックス
303 ブロック反復定義サブボックス
304 除外範囲定義サブボックス
305 ループ名パラメータ
310a−310e、311a−311e、410−413 ロケーション
312、412 ピース毎にリピートボタン
314、414 1個のピースに対してリピートボタン
324 除外ロケーションリスト
330、430 OKボタン
332、432 キャンセルボタン
402 反復定義サブボックス
405 ループ名ボックス
500 ステップアンドリピートモードプログラム
501 デカルトモード要素
502 円柱モード要素
510 包含ロケーション要素
512 基準ロケーション要素
514 除外ロケーション要素
700 画面ショットサンプル
702 プログラムのプルダウンメニュー
704 ステップアンドリピートプログラミングモードセレクタ
710 ワークピース特徴の構成
712 ワークピース表示ウィンドウ

【特許請求の範囲】
【請求項1】
マシンビジョン検査システムのステップアンドリピート動作をプログラムする方法であって、前記マシンビジョン検査システムは、撮像部と、前記撮像部の視野(FOV)内に1つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェース(GUI)とを含み、前記方法は、
前記マシンビジョン検査システムを操作して、ワークピース特徴の第1の構成に対して実行すべき検査動作セットを定義することと、
前記GUIを操作して、ステップアンドリピートダイアログボックスを表示することであって、前記ステップアンドリピートダイアログボックスは、前記ワークピース特徴の第1の構成の対応するインスタンスに対して前記検査動作セットを実行するためのデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータを含むことと、
前記GUIを操作して、表示された前記ステップアンドリピートダイアログボックスにおいて前記第1の複数のパラメータを定義して、前記デフォルトステップアンドリピートロケーションセットを定義し、それにより、前記定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現を前記GUI内に表示することと、
前記GUIを操作して、前記デフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義することと、
前記検査ステップアンドリピートロケーションセットを、前記ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録することと
を含み、
前記GUIを操作して、前記検査ステップアンドリピートロケーションセットを定義することは、
前記GUIに表示された定義された前記デフォルトステップアンドリピートロケーションセットの前記メンバの図的表現において、除外すべき少なくとも1つのメンバを示すことと、
前記検査ステップアンドリピートロケーションセットを、前記デフォルトステップアンドリピートロケーションセットから、前記示された除外すべき少なくとも1つのメンバを除外したものとして定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUIに表示することと
をさらに含む、方法。
【請求項2】
定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現において、除外すべき少なくとも1つの追加のメンバを示すことと、
前記少なくとも1つの追加の除外メンバを除外して、前記検査ステップアンドリピートロケーションセットを定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUIに表示することと
をさらに含む、請求項1に記載の方法。
【請求項3】
除外するメンバを示すことは、定義された前記デフォルトステップアンドロケーションセットの前記メンバの前記図的表現において、カーソルを除外すべき前記メンバの近傍に位置決めすることと、前記マシンビジョン検査システムの入力装置を操作して、除外するメンバを選択することとを含む、請求項1に記載の方法。
【請求項4】
定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現を表示することは、前記デフォルトステップアンドリピートロケーションセットの前記メンバの前記図的表現の上書きおよび変更のうちの少なくとも一方を行い、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現を提供する、請求項1に記載の方法。
【請求項5】
前記検査ステップアンドリピートロケーションセットは、除外すべきメンバの指示に応答して自動的に変更され、その図的表現が自動的に表示される、請求項1に記載の方法。
【請求項6】
定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、表示された前記ステップアンドリピートダイアログボックスにおいて前記第1の複数のパラメータ内に含まれるパラメータ値の入力に応答して、自動的に変更され表示される、請求項1に記載の方法。
【請求項7】
表示された前記ステップアンドリピートダイアログボックス内の前記第1の複数のパラメータは、ステップアンドリピートロケーションのブロック内にデカルト座標ステップアンドリピートオフセット値dXibおよびdYibを含むと共に、そのブロック内のメンバ数を示す第1の反復数、ブロックを繰り返すデカルト座標ステップアンドリピートオフセット値dXbbおよびdYbb、ならびにブロック数を示す第2の反復数を含み、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、dXib、dYibb、dXbb、dYbb、前記第1の反復数、および前記第2の反復数に入力された値に応答する、請求項6に記載の方法。
【請求項8】
表示された前記ステップアンドリピートダイアログボックス内の前記第1の複数のパラメータは、円柱座標ステップアンドリピート離間値dRおよびdAならびにメンバ数を示す反復数を含み、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現は、dR、dA、および反復数に入力された値に応答する、請求項6に記載の方法。
【請求項9】
前記デフォルトステップアンドリピートロケーションセットの前記メンバおよび前記検査ステップアンドリピートロケーションセットの前記メンバは、図的表示内の個々のウィジェットで表され、前記除外されたメンバは、変更されたウィジェットおよび空のスペースのうちの一方で表される、請求項1に記載の方法。
【請求項10】
ワークピース特徴の第1の構成に対して実行すべき前記検査動作セットは、前記デフォルトステップアンドリピートロケーションセットの生成に使用された基準ロケーションに対応して実行される動作により定義され、前記基準ロケーションのウィジェットは、前記図的表示内で一意のウィジェット外観を有する、請求項9に記載の方法。
【請求項11】
定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現内にメンバとして再び追加する少なくとも1つの除外メンバを示すことと、
前記再び追加されたメンバを含むように前記検査ステップアンドリピートロケーションセットを定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUI内に表示することと
をさらに含む、請求項1に記載の方法。
【請求項12】
メンバとして再び追加する除外メンバを示すことは、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの前記図的表現において、カーソルを前記除外メンバの近傍に位置決めすることと、前記マシンビジョン検査システムの入力装置を操作して、前記除外メンバロケーションを選択し、それにより、前記除外メンバロケーションを再び追加することとを含む、請求項11に記載の方法。
【請求項13】
前記ダイアログボックスは、前記検査ステップアンドリピートロケーションセットが、単一のワークピース上のワークピース特徴の前記第1の構成の複数のインスタンスを検査するように構成されるか、それとも対応する複数の同様のワークピース上のワークピース特徴の前記第1の構成の複数のインスタンスを検査するように構成されるかを定義するインジケータを含む、請求項1に記載の方法。
【請求項14】
前記デフォルトステップアンドリピートロケーションセットの前記メンバおよび前記検査ステップアンドリピートロケーションセットの前記メンバは、前記ダイアログボックスの境界内に提示される、請求項1に記載の方法。
【請求項15】
前記ダイアログボックスは、現在定義され表示されている前記検査ステップアンドリピートロケーションセットを許容するボタンを含み、前記方法は、ユーザが前記ボタンをアクティブ化することをさらに含み、前記検査ステップアンドリピートロケーションセットを前記パートプログラムに記録するステップは、前記ユーザが前記ボタンをアクティブ化することの後に行われる、請求項1に記載の方法。
【請求項16】
前記GUIは、学習モード動作セットが、前記記録された検査ステップアンドリピートロケーションセットに対応する前記定義された検査動作セットを実際に繰り返して、実際のステップアンドリピート検査結果を生成することを含むか、それとも、学習モード動作セットが定義された前記検査動作セットを実際に繰り返さずに、記録された前記検査ステップアンドリピートロケーションセットでの定義された前記検査動作セットの繰り返しに対応するデータシミュレーションを行い、シミュレートされたステップアンドリピート検査結果を生成することを含むかを支配するセレクタを含む第2のダイアログボックスをさらに含み、前記方法は、
前記セレクタのうち、実際のステップアンドリピート検査結果を生成し記憶する一方のセレクタを選択すること、または
前記セレクタのうち、シミュレートされたステップアンドリピート検査結果を生成し記憶する他方のセレクタを選択すること
をさらに含む、請求項1に記載の方法。
【請求項17】
撮像部と、前記撮像部の視野(FOV)内に1つまたは複数のワークピースを保持するステージと、制御部と、グラフィカルユーザインタフェース(GUI)とを含むマシンビジョン検査システムであって、前記制御部は、前記GUIにより、ユーザが、
前記GUIを操作して、ワークピース特徴の第1の構成に対して実行すべき検査動作セットを定義することと、
前記GUIを操作して、ステップアンドリピートダイアログボックスを表示することであって、前記ステップアンドリピートダイアログボックスは、前記ワークピース特徴の第1の構成の対応するインスタンスに対して前記検査動作セットを実行するためのデフォルトステップアンドリピートロケーションセットを定義する第1の複数のパラメータを含むことと、
前記GUIを操作して、表示された前記ステップアンドリピートダイアログボックスにおいて前記第1の複数のパラメータを定義して、前記デフォルトステップアンドリピートロケーションセットを定義し、それにより、前記定義されたデフォルトステップアンドリピートロケーションセットのメンバの図的表現を前記GUI内に表示することと、
前記GUIを操作して、前記デフォルトステップアンドリピートロケーションセットのサブセットである検査ステップアンドリピートロケーションセットを定義することと、
前記検査ステップアンドリピートロケーションセットを、前記ワークピース特徴の第1の構成の複数のインスタンスの検査に使用すべきパートプログラムに記録することと
を含むステップを実行できるようにするコンピュータ実行可能プログラムを含み、
前記GUIを操作して、前記検査ステップアンドリピートロケーションセットを定義することは、
前記GUIに表示された定義された前記デフォルトステップアンドリピートロケーションセットの前記メンバの図的表現において、除外すべき少なくとも1つのメンバを示すことと、
前記検査ステップアンドリピートロケーションセットを、前記デフォルトステップアンドリピートロケーションセットから、前記示された除外すべき少なくとも1つのメンバを除外したものとして定義し、それにより、定義された前記検査ステップアンドリピートロケーションセットの前記メンバの図的表現を前記GUIに表示することと
をさらに含む、システム。
【請求項18】
前記GUIは、前記除外すべきメンバの指示に応答して、前記検査ステップアンドリピートロケーションセットが自動的に変更され、その図的表現が前記GUI内に表示されるように構成される、請求項17に記載のシステム。
【請求項19】
前記GUIは、表示されている前記ステップアンドリピートダイアログボックスでの前記第1の複数のパラメータ内に含まれるパラメータ値の入力に応答して、定義された前記デフォルトステップアンドリピートロケーションセットの前記図的表現が、前記GUI内で自動的に変更されて表示されるように構成される、請求項17に記載のシステム。
【請求項20】
前記GUIは、前記ダイアログボックスは、現在定義され表示されている前記検査ステップアンドリピートロケーションセットを許容するボタンを含み、前記ボタンのアクティブ化により、前記検査ステップアンドリピートロケーションセットのパートプログラムへの記録が開始されるように構成される、請求項17に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−203249(P2011−203249A)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願番号】特願2011−59624(P2011−59624)
【出願日】平成23年3月17日(2011.3.17)
【出願人】(000137694)株式会社ミツトヨ (979)
【Fターム(参考)】