2次元画像による3次元組立て検査
組立て検査の方法と装置を開示する。画像を同時に収集する3台のカメラによる三角測量を用いた、各サブコンポーネントの3次元位置測定を実行する。オペレータは、カメラを用いた組立ての同じサブコンポーネントに対応した1つの2次元モデルを学習させる。実行時間中、各モデルは各カメラの視野に記録されて、サブコンポーネントの測定された3次元位置を提供する。そして、測定された3次元位置は、期待される名目上の3次元位置と比較されて、3次元位置における差異が許容範囲にあるか照合される。本発明は、アセンブリ検査を簡素化するものであり、組立てライン上に固定された複数のカメラのみを必要とする。わずかなオペレータの作業の後に、本発明は自動的に組立て検査を実行する。本発明は、固定冶具を用いずに組立て検査を実行するので、機械視覚システムに、任意の3次元位置と向きを備えた部品が提供される。高速に移動する組立てライン上の部品を照明するために、ストロボ照明を利用することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、製品品質管理のための機械視覚に関し、より詳細には、機械視覚を用いた製品部品の正確なアセンブリ検査に関する。
【背景技術】
【0002】
多くの製品が、複数の部品によって構成され、部品は実用的な製品を提供するために、正確に組立てられる必要がある。一般的に、より大きな組立て品の内部又は上にサブコンポーネントを配置することによって、部品は組立てられる。部品を組立てる工程の間に、又はその後に、すべての部品が正確に配置されているか検査することが多くの場合に有用である。組立て作業の大部分は、「垂直組立て」作業であって、部品は上から挿入されて、別の部品の上に降ろす。従って、サブコンポーネントの位置は、少なくとも3次元、例えばx、y、z方向で検査する必要がある。組立て検査を早期に実施することの1つの利益は、工程においてできるだけ早く品質問題を特定することによって、廃棄物を減らすことである。
【0003】
ほとんどの組立ては、手作業で検査されている。時には、後に続く作業の本質上、前の作業が不正確に行なわれたことによって、後に続く作業が実施できない場合に、検査が後に続く作業の一部として本質的に実施される。この部分検査の形態は、部品の再加工のための材料の浪費や時間の浪費に帰結する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械的3次元一点測定システム(例えばタッチセンサ)や、一点距離測定システム(例えばレーザーベースセンサ)や、組織化照明による3次元測定システム(例えばデフォーカスセンサからの深さ)を用いた、自動組立て検査の実施方法が知られている。
【0005】
座標測定装置は、機械的3次元一点測定システムである。この装置は、3本の垂直軸と球面のタッチセンサを用いている。タッチセンサは、部品に触れるまで動き続け、3つの座標軸の位置が記録される。タッチセンサは、部品に非常に軽く触れるので、部品自身が動くことはない。これによって、ユーザーは、単一の部品からサンプリングされた複合的な三次元位置を求めることができる。
【0006】
しかし、一点センサは、一度に1つの位置しか測定できないという欠点を有し、処理能力の減少、又は、一点センサを同時多重に配置する必要性に帰結した。どちらにしても、検査すべき部品が変更された場合に、一点センサは手動で再配置する必要があり、わずらわしく非効率的であった。
【0007】
レーザーベースセンサは、単一部分から多重3次元位置を測定するためのもう1つの方法である。レーザーベースセンサは、非接触方式であって、部品に接触しない(接触することによって、部品を動かしたり変形させたりすることがない)。レーザーベースセンサは、レーザー源から部品までの距離を測定する距離センサである。
【0008】
レーザーベースセンサは、一次元(距離)のみを測定することができるので、部品を走査するために、通常レーザーは2軸に沿って動くか、又は、ビームが作動ミラーを用いて移動するが、時間を消費するものである。
【0009】
組織化照明センサは、組織化された照明と2次元光学センサアレイを用いて、距離の2次元アレイを測定する。組織的照明の一例には、部品にストライプ光を投影するものがある。ストライプ光は、異なる角度から視認されて、各ストライプ光のドットの位置における部品の高さに応じて、ストライプ光の各ドットの位置が、ストライプの名目上の位置から変化する。組織的照明をベースにした3次元システムの1つの欠点は、組織化照明法が、検査すべき部品を走査するために、比較的長時間を要することである。
【課題を解決するための手段】
【0010】
本発明の組立て検査方法においては、各サブコンポーネントのx、y、z(3次元)位置の測定が、それぞれ2枚又は3枚の画像を同時に収集する、少なくとも2台、通常3台のカメラからの三角測量を用いて実施される。オペレータは、検査すべき部品の同じサブコンポーネントに対応した各カメラのためのモデルパターンを訓練する。実行時間において、サブコンポーネントに関する測定された3次元位置情報を提供するために、各パターンは、3つのカメラからの視野に実質上記録される。そして、測定された3次元位置は、予想された名目上の3次元位置と比較され、3次元位置における差分が、特定の許容範囲にあるかチェックされる。
【0011】
本発明は、組立てライン上に固定された複数のカメラのみを要するように、組立て検査作業を単純化するものである。訓練は、オペレータが「正確に組立てられた部品」の画像を収集し、それから、検査すべき各サブコンポーネントに対応したパターンを選択することのみを要求する。訓練時間には、オペレータは各サブコンポーネントに対する位置的許容範囲もさらに選択する。ほんの僅かなオペレータの活動の後に、本発明は、自動化された組立て検査を実行する。
【0012】
本発明は、固定冶具を用いない組立て検査を実行し、全体的な部品の姿勢に適応できる。部品自体が冶具に固定されていないので、機械視覚システムには、任意の3次元位置と、任意のピッチ、ヨー、ロール方向が示される。本発明は、それにもかかわらず、全てのサブアセンブリの実行時間3次元位置を検出でき、それら実行時間3次元位置を用いて、それら実行時間3次元位置を変換してモデルに適合可能な全体的な部品姿勢が得られたかどうかを決定することができる。
【0013】
本発明は、複数の点を同時に測定することができ、より高速の処理能力と、より単純な装置を提供する。また、本発明は、検査すべき部品が変化した場合に、高速に再構成することができる。本発明のカメラは画像を高速かつ同時に収集するので、検査すべき組立て部品の画像が高速に得られ、高速に動く組立てライン上の部品のストロボ照明応用を可能にしている。
【0014】
訓練時間を簡単化するために、予め工場で調整された2カメラ又は3カメラシステムを製造販売することができる。従って、このステレオ/3眼予備調整カメラシステムは、訓練時間と実行時間に高速に位置付けられて、正確で繰り返し可能な多重カメラ調整を可能にしている。
【図面の簡単な説明】
【0015】
【図1】それぞれの視野に3つのサブコンポーネントが含まれる3台のカメラを示す図である。
【図2】本発明のユーザーインタフェースと、訓練窓の訓練時間選択状態と、第二サブアセンブリの原点を示すスクリーンショットである。
【図3】本発明のユーザーインタフェースと、第二サブアセンブリの3次元モデル位置の訓練時間測定を示すスクリーンショットである。
【図4】本発明のユーザーインタフェースと、第四サブアセンブリと他のアブアセンブリの3次元モデル位置の訓練時間測定を示すスクリーンショットである。
【図5】本発明のユーザーインタフェースと、3つの全体的なアセンブリの像と、全体的な姿勢と、全体的な向きと、全体的なRMSエラーと、首尾一貫性エラーと、検査結果と、を備えた実行時間結果と、を示すスクリーンショットである。
【図6】本発明の訓練時間フェーズを示すフローチャートである。
【図7】本発明の実行時間フェーズを示すフローチャートである。
【図8】3点の3次元点を含んだ本発明の実行時間フェーズのアスペクトを示すフローチャートである。
【図9】一貫性のチェックを含んだ本発明の実行時間フェーズのアスペクトを示すフローチャートである。
【図10】本発明の全体的な訓練時間フェーズを示すフローチャートである。
【図11】本発明の全体的な実行時間フェーズを示すフローチャートである。
【発明を実施するための形態】
【0016】
以下の実施例の詳細な説明において、本明細書の一部を形成し、本発明を実施することができる特定の実施形態を図によって示す添付の図面を参照する。他の実施形態を利用することができること、ならびに本発明の範囲を逸脱せずに構造的、論理的、および電気的変更を加えることができることを理解されたい。
【0017】
本発明の方法と装置は、本質的に、部品のサブコンポーネントの測定された(「実行時間の」とも呼ぶ)3次元位置と、それらの予想された(「モデル」又は「正しい」とも呼ぶ)3次元位置とを比較する。もし測定した3次元位置が、予想された3次元位置と十分に接近している(許容範囲内)場合、サブコンポーネントの組立ては、「検証された」と見なされる。幾つかの場合において、組立て工程においてサブコンポーネントが配置される基板(これ自身もサブコンポーネントと呼ぶことができる)に対して、ただ1つのサブコンポーネントであっても適正に配置されなかった場合に、組立て品は廃棄される。多くの組立て工程には、プリント回路基板上のコネクタソケットに向かって下向きにサブコンポーネントが挿入される、サブコンポーネントの垂直配置が含まれる。例えば、もしコネクタに挿入されるサブコンポーネントが部分的にのみ挿入された場合、基板に対して、又は検証された3次元位置を有する他の正確に挿入されたサブコンポーネントに対して、不正確な高さ(z)であると測定される。
【0018】
本発明は、複数の調整されたカメラの物理的に参照された枠内の絶対的な3次元位置(x、y、z)と、部品のサブコンポーネントの組立て品の相対的な3次元位置(Δx、Δy、Δz)とを比較する。本発明は、少なくとも2台のカメラの視野内において、少なくとも2つのサブコンポーネントが存在する限りにおいて、その位置や向きに関らず、組立て品を検証することができる。従って、本発明を用いることで、冶具を用いない組立て検査が実行可能である。その代わりに、もし検査すべき部品が冶具に固定されていた場合、冶具に対するサブコンポーネントの正確な相対的位置を検査するために、本発明を用いることができる。
【0019】
1つの実施例において、本発明は、各3台のカメラの視野内の3つのサブコンポーネントを用いて、その位置や向きに関らず組立て品を検証する。
【0020】
もし3つのサブコンポーネントが、少なくとも2台の各カメラの視野に入っていれば、この3つのサブコンポーネントは、面を定義し、3つ全ての回転自由度(ピッチ、ヨー、ロール)が、x、y、z位置と同様に検証可能である。
【0021】
3次元位置(x、y、z)は、調整されたカメラの物理的参照枠内において、水平位置(x)、前後位置(y)、と高さ(z)として表現される。本発明によれば、サブコンポーネントの3次元位置は、図面を参照して以下で説明するように、サブコンポーネント上の一点の3次元位置であって、この点はユーザーによって選択されるものである。
【0022】
より詳細は以下で説明するが、もし選択された点が、少なくとも2台のカメラの視野内で目に見えるものであれば、三角測量を用いて3次元位置を決定することができる。もし選択された点が、3台以上の相互に調整されたカメラの視野内で目に見えるものであれば、三角測量の精度が向上する。1つの実施例において、相互に調整されたカメラは、同一のキャリブレーションプレートを用いて調整され、これは"Methods and Apparatus for Practical 3D Vision System"(米国特許出願番号11/246,024)出願人Aaron WallackとDavid Michael、譲受人マサチューセッツ州ナティックのCognex Corporation、に記載されており、参照することにより本書に組み込まれる。
【0023】
三角測量の位置情報の精度は、三角測量RMS(二乗平均平方根)エラーと呼ばれるパラメータによって評価し表現することができる。三角測量RMSエラーは、以下で説明するように、「許容範囲」パラメータと比較されて、コンポーネントの実質的に同一の点が、各3つの視野内で選択されていることを保証する。
【0024】
その代わりに、エラーを絶対差の合計として表現することができ、差の絶対値が加算されて三角測量位置の精度の測定を提供する。もし絶対差の合計が閾値以下の場合、精度は許容範囲である。他の測定方法も、当業者には、本発明の範囲から逸脱することなく用いることができる。
【0025】
図1を参照して、それぞれの視野に部品111の3つのサブコンポーネント106、108、110を捕らえた、機械視覚システムの3台のカメラ100、102、104を示す。部品111は、この3つのサブコンポーネント106、108、110が配置された基板112(これも組立て品のサブコンポーネントである)を有し、検査すべきサブコンポーネントの少なくとも2つが少なくとも2台のカメラの視野内に入るように配置されている。3つのサブコンポーネント106、108、110は互いに直接接続して部品111を形成しているので、本発明を実施するためには、基板112は不要であることに留意されたい。
【0026】
三角測量を実行して、物理空間に3次元位置を得るためには、少なくとも2台のカメラが必要である。この技術の明確で完全な説明は、"Methods and Apparatus for Practical 3D Vision System"(米国特許出願番号11/246,024) 出願人Aaron WallackとDavid Michael、譲受人マサチューセッツ州ナティックのCognex Corporation、に記載されており、参照することにより本書に組み込まれる。カメラの調整法も、この文献に記載されており、3台のカメラ100、102、104から、部品111と3つのサブコンポーネント106、108、110が含まれる3次元空間の各点への画素データをマッピングするようになっている。この発明は、三角測量と、上記の調整方法とに限定されるものではなく、同じ所望の結果を得ることができる従来技術である他の方法を代わりに用いることもできる。
【0027】
2台のカメラを用いて3次元の点を求めることができるが、3台のカメラを実施例として図1に示す。実施例では3つのサブコンポーネントが示されているが、幾つかの用途において、少なくとも4つのサブコンポーネントを各カメラの視野に入れることが有用であり、3つのサブコンポーネントは、内部整合性をチェックするように選択でき、それによって4つのサブコンポーネントの他の3つのサブコンポーネントに対する相対的な位置関係を検証できる。この技術は、以下で議論する。
【0028】
また、より多くのカメラを用いることで、より高いラバスト性と精度を得ることができる。また、より多くのカメラによって、各部品を見る可能性が高まり、少なくとも2台のカメラ、さらに良いのは3台のカメラで見ることである。
【0029】
また、より多くのサブコンポーネントが用いられた場合、少なくとも1つのサブコンポーネントを見る可能性が高まるが、しかし、より多くのサブコンポーネントが用いられた場合、全てのサブコンポーネントを見る可能性は低下する。
【0030】
図2を参照して、本発明を具体化する機械視覚システムのユーザーインタフェースを示す。訓練時間において、ユーザーが"Acquire Train Image"206と"Display Train Image"208をクリックすると、3つのカメラビュー窓200、202、204が示される。各カメラビュー窓は、図1の3つのカメラ100、102、104のうちの1つの視野内の少なくとも一部を示している。各カメラ100、102、104は同一のサブコンポーネントの異なる斜視図を示している。例えば、図2はPCBに挿入されるチップチャリアの
3つのビューをしめしており、チップキャリアは上部に大きな"Z"を有している。
【0031】
次に、ユーザーは"Add PatMax Models"ボタン210をクリックして、新たな3次元サーチモデルの作成を開始する。そうすることで、各ビュー窓の2次元サーチモデルが作成される。この2次元モデルは、各ビュー窓における取得された画像の選択されたサブ窓である。3次元モデルは、2次元モデルの集まりで構成され、対応する同一場所の基点から発生した3次元モデルである。"Model Points"窓212に示すように、サブコンポーネント上の一点の3次元サーチモデル0はすでに作成されており、三角測量RMSエラー0.11を有している。この三角測量RMSエラー0.11は、ユーザーの選択する三角測量RMSエラー許容範囲214の範囲内であって、ここでエラー許容範囲は0.30である。
【0032】
図2で、モデル1はまだ作成されておらず、プロンプト216が表われて、「訓練窓を位置付けて、基点を選択しなさい」と入力要求している。これに応答して、ユーザーは「訓練窓」(細く白い四角形枠で示す)206、208、210を各カメラ100、102、104の視野内に定義し、「基点」を各窓に見つけることができる。白い十字線で、各訓練窓206、208、210内の選択された「基点」を示す。訓練窓内の画像と、基点は、サーチモデル例えば正規化相関サーチや、回転不変量と大きさ不変量サーチのモデル、を訓練するために用いられる(例えばCognex社のPatMaxTM)。
【0033】
ユーザーは、サブコンポーネントの「基点」(白い十字線で示す)である左すみのボタン"Z"を選択し、それを指示しチェックすることで、各ビューにおけるZ上の点を選択する。このように、サブコンポーネントの同一点を、3つの異なる視点から見ることになる。
【0034】
図3を参照して、ユーザーは"Train PatMax Model(s)"ボタン300をクリックする。その応答として、3つの2次元サーチモデルが作成され、各画像200、202、204の選択された点を見つけるために用いられる。 各窓における2次元サーチのサーチ結果は、三角測量を用いて3次元の点("Z"上の選択された点の物理的3次元位置)に変換され、モデル点窓302に示すように、x、y、z座標値(11.02、−12.68、−13.96)を有する。この三角座標RMSエラー0.11は、ユーザーが定義した三角測量RMSエラー許容範囲304の0.390より、まだ小さいことに留意する。
【0035】
図4を参照して、各サブアセンブリ上の4つの異なる実際の点の4つの3次元モデル(0,1,2,3)が、訓練された。各3次元モデルは、モデル窓400に記載の3次元位置を有している。各三角測量RMSエラー402は、三角測量RMSエラー許容範囲404より下でなければならない。なぜなら、三角測量RMSエラー402が実行時間に測定されたものであっても、三角測量RMSエラー許容範囲404は実行時間で用いられ、訓練時間の三角測量RMSエラー402は通常、三角測量RMSエラー許容範囲404に下部限界を提供するからである。三角測量RMSエラー許容範囲404は、訓練時間に、オペレータによって用いられて、各カメラの3つの視野のそれぞれにおいて、サブアセンブリの同じ点上にオペレータが配置した十字線が、どの程度一貫しているかについて、フィードバックを提供する。もし三角測量RMSエラーが許容範囲404を超えていた場合、許容範囲404以下になるまで、三角測量RMSエラーを減らすように、十字線が再配置される。代替的に、アプリケーションが、オペレータが点を再選択すべきか判断するために用いられる異なる三角測量RMSエラー許容範囲訓練時間を有することができる。
【0036】
要約すると、訓練時間において、本発明の方法の一部として、ユーザーはサブアセンブリのそれぞれの上に単一点を選択し、各サブコンポーネントの3次元サーチモデルが作成される。各3次元サーチモデルは、実際には2次元サーチモデルのセットで構成され、同じ部品を視野に入れた多数のカメラから画像窓をサーチすることによって、物理的な空間上の3次元点を見つけ出すために用いられ、見出した2次元位置と(上述の)三角測量技術を用いて、各サブコンポーネントの正確な(モデル)3次元位置が算出される。
【0037】
実行時間において、図5を参照して、先の図1〜4の調整されたカメラのセットによって得られたビューを用いて、図4からの3次元モデルが、サブアセンブリを見つけ出すために用いられる。ユーザー(又はオペレータ)が単に"Run 3D Inspection"ボタンをクリックすれば、窓502、504、506内の3つの画像のそれぞれが、それぞれのサブアセンブリに対応した3次元モデルから適切な2次元サーチモデルを用いてサーチされる。この例では、4つの検査すべきサブアセンブリがあるにもかかわらず、(4つのサブアセンブリのそれぞれが3つのカメラすべてで見えているので)3枚の画像の1セットのみが取得される。(それぞれ窓502、504、506における)同一の画像が、4つの各2次元サーチモデルによって、4回サーチされて、4つの三角測量で測定された3次元位置を提供する。各三角測量で測定された3次元位置は、3つの2次元の見つけられた(測定された)位置を用いた三角測量計算の結果である。
【0038】
各三角測量された3次元位置は、"Results"窓508にリスト表示され、x、y、z成分と、三角測量RMSエラー値と、三角測量RMSエラー許容範囲に応じた三角測量RMSエラーのPASS/FAIL判定とが表示される。
【0039】
サブコンポーネントの測定結果から算出された組立て品全体の全体的姿勢(x、y、z位置)が"Results"窓508の下に表示されている。その下には、サブコンポーネントの測定結果から算出された、3つの回転自由度、例えばピッチとヨーとロールで示された全体的な向きが表示されている。さらに下には、サブコンポーネントの4つの予想されたモデル3次元位置と4つの測定されたモデル3次元位置とを比較した全体的なRMSエラーが表示されている。また、3つの他のサブコンポーネントの測定位置から求められた、各サブアセンブリが予想された位置からどの程度ずれているかを示す"Self-Consistency Error"が表示されている。最後に、一つ以上の測定及び計算結果を、特定用途に従ってオペレータ又はユーザーが設定した許容値と比較することによって算出された、全体的な検査結果が表示されている。例えば、もし個々の三角測量RMS許容範囲の全てが満たされ、全体的なRMS許容範囲が満たされていた場合、組立て品は、PASSであると認められる。
【0040】
GUIに関する前述の議論は、特定の実施例に関連し、大幅な変形をしても類似の結果を得ることが意図されている。GUIは、例えばボタンやインジケータを有するパーソナル・ディジタル・アシスタント又はヒューマン・マシーン・インタフェースを利用することができる。実行時間や訓練時間の間、ユーザーインタフェースがおよそ測定結果及び/又は画像を表示でき、そして、測定項目が、数値を用いて又はグラフを用いて、そして例えばPASS又はFAILに対して色を用いるなどして表わすことができるのは、明らかである。
【0041】
モデルを作成して3次元点を作成するための他の方法も用いることができて、例えば、部品に光線を照射し、次に(一致した原点を見つけるために)この光線を記録し、(各画像において)原点まわりの固定半径の円によるモデルを作成する。図6を参照して、サブコンポーネントを有する部品の正確な組立て検査のための本発明の方法について、さらに議論する。この方法は、訓練時間段階と実行時間段階とを備えている。訓練時間において、少なくとも2台のカメラが、少なくとも1台のカメラの視野に部品600の少なくとも1つのサブコンポーネントが含まれるように配置される。3台のカメラを用いたものを図1に示す。3台のカメラは、2台のカメラより精度が高くなる。
【0042】
次に、その少なくとも2台のカメラのそれぞれが、画像座標を物理座標602と関連付けるように調整される。この技術は、"Methods and Apparatus for Practical 3D Vision System" (Express Mail Label No. EV 324 850 053 US) by Aaron Wallack and David Michael, マサチューセッツ州NatickのCognex社が譲り受けた文献に記載されており、参照することにより本書に組み込まれる。多数のカメラの画像座標を共通の物理空間と関連付ける既知のあらゆる技術が、有効である。少なくとも2台のカメラのそれぞれの調整には、少なくとも2台のカメラそれぞれのカメラ原点の3次元位置を決定することが含まれている。次に、三角測量は、各カメラの視野内のサブコンポーネントの原点の2次元位置と、各カメラのカメラ原点の3次元位置とを見つけ出す。
【0043】
ユーザーがカメラの調整を必要とするのを回避するためには、ユーザーは代わりに予め調整された2台又は3台のカメラシステムを採用することができる。この場合、ユーザーは、予め調整されたステレオ/3眼式カメラシステムを用いて、ステップ600から開始する。これによって、ユーザーは、ステップ600で堅く取り付けられた3台のカメラを有する予め調整されたカメラシステムを単に位置付けるのみでよく、調整ステップを実行する必要がないので、訓練を簡素化できる(ステップ602)。次に、少なくとも2つのサブコンポーネントのそれぞれに対し、少なくとも2台のカメラのそれぞれが、正確に組立てられた位置におけるサブコンポーネントの画像を同時に取得するように用いられる。画像については、同時に取得されることが望ましいが、必須ではないことに留意する(ステップ604)。もし2つのサブコンポーネントが用いられていた場合、その2つのサブコンポーネント間のスパン(距離)が測定され、それによって、「スパン検査測定基準」が提供される。実行時間におけるスパン検査測定基準は、訓練時間におけるスパン検査測定基準に基づいた範囲内になければならない。サブコンポーネントの多くのペアを用いることができ、各ペアはスパン検査測定基準を提供し、スパン検査測定基準の合計が、累積スパン検査測定基準を提供し、これは、実行時間における累積スパン検査許容閾値と比較される。他の測定基準も、当業者が思い付くであろうが、それらは本発明の範囲内である。
【0044】
もし3つのサブコンポーネントが用いられた場合、さらに以下で説明するように、姿勢をマッピングした3次元モデルと、検出された3次元実行時間点との間の二乗誤差の合計を最小化する、剛体変換姿勢を見出すことができる。
【0045】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、少なくとも2台のカメラのそれぞれを用いて、サブコンポーネントを備えた訓練窓がユーザーによって選択される。また、各訓練窓において、サブコンポーネント上の同一点が選択され、この同一点は、サブコンポーネントに関連付けられた原点として用いられる(ステップ606)。このステップは、図2にも示されている。
【0046】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、サブコンポーネントの予想される3次元位置が、三角測量によって計算される(ステップ608)。これは、"Methods and Apparatus for Practical 3D Vision System" (Express Mail Label No. EV 324 850 053 US) by Aaron Wallack and David Michael, マサチューセッツ州NatickのCognex社が譲り受けた文献に説明されており、参照することにより本書に組み込まれる。また、三角測量は、従来技術の多数の引用文献の中で説明されている。
【0047】
本発明を実施するために、多数の画像ビューから3次元位置を求めるあらゆる方法を用いることができる。例えば、3次元位置を求めるためには、パターンの原点に基づいた三角測量を用いたものが必ずしも必要ではない。代わりに、3次元位置は、(画像内の)線形特徴を記録して、次にこれら線形特徴を横断することによって求められて、最終的な3次元位置が提供される。重要な物は、組立て検査において使用するための正確な3次元位置を生成する方法である。各サブコンポーネントの許容範囲内で正確な3次元位置測定を提供するあらゆる方法が利用可能である。
【0048】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、訓練窓とそれに対応した原点が用いられて、訓練窓のサブコンポーネントの2次元サーチモデルが作成される(ステップ610)。正規化相関サーチの訓練ルーチンを用いることができ、又は例えばPatMax(登録商標)の回転と大きさ不変サーチの訓練ルーチンを用いることができる。代替的に、例えばCADデータから由来したモデルのようなモデルを供給することができる。また、粗いモデルを採用することもでき、それは本発明を用いることによって精度が向上する。実用的なモデルを得るための他の変形も、当業者には思い付くことができる。次に、ユーザーは、例えば三角測量RMSエラー許容範囲や、全体的なRMSエラー許容範囲や、首尾一貫性許容範囲といった、特定の用途や状況に応じて設定可能な検査パラメータを選択する(ステップ612)。三角測量RMSエラー許容範囲は、どの程度正確にユーザーが各カメラの各視野内の同一点を選択したかを示す測定閾値である。全体的なRMSエラー許容範囲は、どの程度測定した3次元点がサブアセンブリの予想された3次元点から集合体として変化したかを示す測定閾値である。首尾一貫性許容範囲は、以下でさらに議論するところの集合体の首尾一貫性エラーの測定閾値である。また、検査パラメータの選択には、正確な3次元位置からの測定した3次元位置の差異の許容できる範囲を定義する距離許容範囲の選択が含まれる。
【0049】
各訓練窓でのサブコンポーネント上の同一点の選択には、オペレータが各訓練窓でサブコンポーネント上の同一点を選択するための助けになるように、選択された多数点とユニークな3次元点とを一致させる測定に関する情報を提供することが含まれる。一致性の測定とは、RMSエラーのことである。
【0050】
実行時間において、検査すべき組立てられた部品の少なくとも2つのサブコンポーネントのそれぞれに対して、少なくとも2台のカメラがそれぞれ用いられて、図5に示すように候補組立て位置におけるサブコンポーネントの画像を同時に収集する(ステップ700)。画像を同時に収集することは望ましいが、必須ではない点に留意する。3台のカメラを用いると、より正確な三角測量ができる。以下でさらに説明するように、少なくとも3つのサブコンポーネントが画像化された場合、姿勢マッピング3次元モデル点と見出された3次元実行時間点との間の二乗誤差の合計を最小にする、剛体変換姿勢を見出すことができる。もし3つより多くのサブコンポーネントが画像化された場合、3つの画像の1つより多いサブグループを用いて、二乗誤差の合計を最小化する少なくとも1つの剛体変換姿勢を見出すことができる。訓練段階の間に調整されたカメラやレンズは、正確に同一位置に維持されていることに留意する。最小化するための他の方法も、本発明の範囲から逸脱することなく利用することができる。
【0051】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、候補となる組立て位置におけるサブコンポーネントの画像が、サブコンポーネントの2次元サーチモデルを用いて見出され、サブコンポーネントの原点の測定した2次元位置が提供される(ステップ702)。再び、正規化相関サーチ又は例えばPatMax(登録商標)のような回転と大きさ不変サーチを用いることができる。
【0052】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、サブコンポーネントの測定された3次元位置が三角測量によって算出される(ステップ704)。一般的に、各カメラの視野内のサブコンポーネントの原点の測定された2次元位置と、各カメラのカメラ原点の3次元位置とが、各サブコンポーネントの測定された3次元位置を見つけるために用いられる。また、三角測量によるサブコンポーネントの測定された3次元位置の算出には、エラー測定の算出と、検査パラメータを伴うエラー測定の算出とが含まれ、部品が正確に組立てられたかどうかを判断するのに貢献している。
【0053】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、サブコンポーネントの測定した3次元位置とサブコンポーネントのそれぞれの正確な3次元位置との間の差異が算出される(ステップ706)。
【0054】
次に、3次元位置の差異を検査パラメータと比較して、部品が正しく組立てられたかどうかを決定するために貢献する(ステップ708)。幾つかの実施例において、3次元位置の差異の単一の成分が検査パラメータの単一の成分と比較されて、部品が正しく組立てられたかどうかを判断するために貢献している。これら実施例の幾つかにおいて、その単一の成分はz位置(高さ)である。
【0055】
幾つかの状況において、実行時間には、それぞれのサブコンポーネントの複数の3次元位置を用いて、部品の全体的な姿勢を計算する時間が含まれる。一般的に、部品の全体的な姿勢の計算には、全体的な姿勢エラーの算出と、全体的な姿勢エラーを最小化する姿勢を見出すことが含まれる。また、検査パラメータを伴う全体的な姿勢エラーの算出も含まれて、部品が正確に組立てられたかどうかを判断するのに貢献している。
【0056】
ここで、対応する3次元点の3つ以上のペアから、どのように物体の姿勢が評価されるかについての情報を示す。各ペアは、3次元モデル点に対応した3次元の測定された実行時間点で構成されている。3次元の予想された点のセットと一対一で対応している3次元の実行時間見出された点のセットが与えられると、姿勢マッピングした3次元予想された点と、測定された3次元実行時間点との間の二乗エラーの合計を最小にする剛体変換姿勢が存在する。この剛体変換姿勢は、平行移動と回転のみによって構成されている。2つの点セット間の剛体変換姿勢の最小二乗を計算する既知の方法が存在する。
【0057】
数学的に言えば、訓練時間3次元点Dのセットと、実行時間3次元点Mのセットとを与えると、以下のような剛体変換(3×3回転行列Rと3×1並進行列Tとで示す)が示される。
M=RD+T
又は各点に対し、
mi=Rdi+T
最小化によるRとTの最適推定値は、
Sum(mi−Rdi+t)2
又はより形式的に、
【数1】
まず、miとdiの平均を算出する。
meanm=Sum mi/N
meand=Sum di/N
mi−meanmとdi−meandに対応した新しいセットM’とD’を構築する。
最適剛体回転行列Rについて解くために、マトリクス解析と四元法算法を用いる。
Sum m’i transpose(d’i)と等しい共分散行列Cを求める。
C−transpose(C)に等しい行列Aを生成する。
行列Aから、transpose([A23 A31 A12])に等しい列ベクトルDeltaを作成する。
[trace(C) transpose(Delta)]
[Delta C+transpose(C)−trace(C)*id(3)]
に等しい対称4×4行列Qを作成する。
ここで、traceは対角線要素の積に等しく、id(3)は3×3の恒等行列である。
最大の正の固有値Qに対応する固有ベクトルq=[q0 q1 q2 q3]を求める。
【数2】
以下の議論で、対応する3次元点の利用可能なペアのすべてより少ない数から姿勢を算出する理由を説明する。
【0058】
図8を参照して、部品が少なくとも3つのサブコンポーネントを有する場合、実行時間における方法は、さらに、選択した点の測定した3次元位置を、選択された点の正確な3次元位置に最も接近してマッピングする変換を求めるステップ(ステップ800)と、選択した点のすべての測定した3次元位置に逆変換を施して、部品の基準系と比較するステップ(ステップ802)と、部品の基準系における選択した点の測定した3次元位置と、選択された点の正確な3次元位置とを比較して、部品の比較測定基準を提供するステップ(ステップ804)と、部品の比較測定基準と検査パラメータとを比較して、部品が正確に組立てられたかを判断するのに貢献するステップ(806)とを備えている。
【0059】
幾つかの実施例において、比較には、部品の基準系における選択した点のマッピングされた測定した3次元位置の単一成分と、選択された点の正確な3次元位置のそれぞれの単一成分とを比較して、単一成分の部品比較測定基準を提供することが含まれる。また、部品が正確に組立てられたかを判断することには、単一コンポーネント比較測定基準が、単一成分許容閾値を超えているかどうかを判断することが含まれ、それによって少なくとも部分的に、部品が正確に組立てられたかどうかが判断される。
【0060】
代替的に、比較基準を固定のユーザーが定義した閾値と比較する代わりに、測定の統計を編集して、新しい測定が、データ由来の許容範囲と比較される。例えば、データ由来の許容範囲から6シグマ以上逸脱した測定は、受け入れられないであろう。当業者が思いつく他の測定基準は、本発明の範囲内である。
【0061】
もしサブコンポーネントのすべて(そして従って、すべての3次元実行時間測定された点)が、正確な位置にあった場合、全体的な姿勢見積もりは正確であり、個々の相違は比較的小さい。
【0062】
しかし、もし1つ以上のサブコンポーネントが正確な位置からずれていた場合、全体的な姿勢見積もりは正確であるか、又は正確ではない。もし全体的な姿勢見積もりが正確であった場合、正確に位置したサブコンポーネントのすべてが、小さな相違を有し、不正確に位置したサブコンポーネントは、大きな相違を有する。
【0063】
もしサブコンポーネントが不正確に位置していた場合、相違は不正確な位置あわせを示す。結果的に、相違が存在する(もし位置ずれが大きくなければ、相違も大きくない)。しかし、もし全体的な姿勢が正確であれば、位置的相違は確実に不正確な位置あわせを表わす。
【0064】
しかしもしサブコンポーネントの1つが位置から外れていて、そしてもし全体的な姿勢見積もりが不正確であれば、正確に位置合わせされたサブコンポーネントは大きな相違を有し、及び/又は、不正確に位置合わせされたサブコンポーネントは小さな相違を有する。
【0065】
もし姿勢見積もりが不正確であれば、正確に位置合わせされたサブコンポーネントは大きな相違を有し、及び/又は、不正確に位置合わせされたサブコンポーネントは小さな相違を有する。
【0066】
特に、憂慮すべき1つの状況が存在する。サブコンポーネントの1つが位置を外れていても、全てのサブコンポーネントが小さな相違を誘発するケースである。運の悪いことに、このケースは、不正確に位置合わせされたサブコンポーネントを収容するように全体的な姿勢見積もりが算出された場合に、発生する。
【0067】
従って、実施例において、この状況を防ぐために、追加の測定をすることになる。これらの測定は、測定を意図しているサブコンポーネントを意図的に無視することによって姿勢見積もりを算出するステップを含んでいる。このようにして、特定の不正確な位置を用いることなく姿勢見積もりを算出することによって、この位置を収容した姿勢見積もりを防いでいる。この方法は、一般的に相互検証と呼ばれており、データのサブセットからパラメータを見積もり、次にデータの残りを見積もることで検証している。特定のデータ点を無視することが、望ましくない状況が起きないことを保証するものではないことに留意すべきであって、この状況が起きる可能性を大幅に減じることによって、憂慮を軽減するものである。
【0068】
この場合、3つ以上の対応する3次元点のペアを用いることができる(ペアとは、3次元モデル点と対応する3次元実行時間測定された位置との組み合わせである)(6自由度の姿勢を求めるためには、少なくとも3つのペアが必要である)。1つの方法は、対応するデータのペアのすべての3つのエレメントサブセットから対象の姿勢見積もりを算出し、次に、対応する3次元点の各ペアに対して最大の相違を維持しながら、各相違を算出することである。代替的に、3次元点の各選択されたペアに対して相違を測定する時に、その3次元点の選択されたペアを除く全てを用いることができる。
【0069】
点の特定のサブセットでは、姿勢見積もりを正確に律則することができない場合があることを指摘しておく必要がある。これは、点のサブセットが共線的又はほとんど共線的であるか、又は、点が相対的に接近していることによって起こる。どちらの場合にも、(相違を算出する目的のために)特定の姿勢見積もりを無視することができ、そして、別な姿勢見積もりを用いることができる(又は、必要であれば、測定しようとする3次元点のペアを含めることができる)。
【0070】
従って、図9を参照して、部品が少なくとも4つのサブコンポーネントを含んでいる場合、実行時間における方法は、さらに、3つのサブコンポーネントのセットを選択し、少なくとも4番目のサブコンポーネントを除外するステップ(ステップ900)と、3つのサブコンポーネントのセットを用いて、部品の全体的な姿勢を算出するステップ(ステップ902)と、部品の全体的な姿勢を用いて、少なくとも4番目のサブコンポーネントに対応するサブコンポーネントの正確な3次元位置をマッピングして、マッピングされた正確な3次元位置を提供するステップ(ステップ904)と、少なくとも4番目のサブコンポーネントの測定した位置と、マッピングされた正確な3次元位置とを比較して、一貫性エラーを提供するステップ(ステップ906)と、一貫性エラーと検査パラメータとを比較して、部品が正確に組立てられたかどうかの判断に貢献するステップ(ステップ908)とを備えている。
【0071】
少なくとも2つのサブコンポーネント位置の複数のセットが選択された場合、それによって複数の一貫性エラーが提供されて、方法はさらに、各一貫性エラーと検査パラメータとを比較して、部品が正確に組立てられたかどうかの判断に貢献する。時には、少なくとも3つのサブコンポーネント位置の複数のセットが選択される。
【0072】
図10を参照して、本発明は、ほとんどの場合には、少なくとも2つのサブコンポーネントを有する部品の正確な組立てを検査するための方法であって、訓練時間において、各サブコンポーネントに対し、サブコンポーネント上の点を選択するステップ(ステップ1000)と、各サブコンポーネントに対して、物理座標系における選択された点の正確な3次元位置を求めるステップ(ステップ1002)とを備えている。上で議論したように、2より多くのサブコンポーネントを取り扱うことは有利である。
【0073】
図11を参照して、実行時間において、方法は、各サブコンポーネントに対して、サブコンポーネント上の選択された点をそれぞれ検出するステップ(ステップ1100)と、各サブコンポーネントに対して、物理座標系における検出された選択された点の測定された3次元位置を求めるステップ(ステップ1102)と、検出された選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、部品の比較測定基準を提供するステップ(ステップ1104)と、部品の比較測定基準が部品の許容閾値を超えているかどうかを求めて、それによって部品が正確に組立てられているかを判断するステップ(ステップ1106)と、を備えている。
【0074】
実施例において、比較するステップ1104には、検出され選択された点の測定された3次元位置の単一成分を、選択された点の正確な3次元位置のそれぞれの単一成分と比較して、単一成分の部品比較測定基準を提供するステップが含まれており、判断するステップ1106には、単一成分比較測定基準が単一成分許容閾値を超えているかどうかを判断するステップが含まれ、それによって部品が正確に組立てられているかどうかを少なくとも部分的に判断する。
【0075】
また別の実施例において、単一成分を比較するステップには、検出され選択された点の測定された3次元位置の各x、y、z成分の1つの成分を、選択された点の正確な3次元位置の各x、y、z成分のそれぞれの単一成分と、独立して比較して、各x、y、z成分のそれぞれにおける単一成分比較測定基準を提供するステップが含まれている。この場合、「部品の比較測定基準が、部品の許容閾値を超えているかどうかを判断する」ステップには、x、y、z成分比較測定基準のそれぞれが、対応するx、y、z成分許容閾値を超えているか判断し、それによって部品が正確に組立てられているかを少なくとも部分的に判断するステップが含まれている。ユーザーは、x、y、z成分のそれぞれにおける成分許容閾値を選択することができる。
【0076】
比較ステップ1104には、また、各サブコンポーネントに対し、検出した選択した点の測定した3次元位置を、選択された点の正確な3次元位置と比較して、3次元位置エラーを提供するステップと、各3次元位置エラーを組み合わせて、部品比較測定基準を提供するステップとを含めることができる。
【0077】
また、比較ステップ1104には、検出した選択した点の測定した3次元位置を、選択した点の正確な3次元位置に最も接近してマッピングする変換を求めるステップと、マッピングされた測定された3次元位置と、正確な3次元位置との間のRMSエラーを算出するステップと、少なくとも部品比較測定基準の一部として、RMSエラーを提供するステップとを含めることができる。
【0078】
比較ステップ1104には、実行時間において、検出した選択した点の測定した3次元位置を、選択した点の正確な3次元位置に最も接近してマッピングする変換を求めるステップと、そして、検出され選択された点のすべての測定された3次元位置に3次元逆変換を加えて、部品の基準系の比較をするステップとを含めることができる。そして、訓練時間において、比較ステップ1104には、部品の基準系における検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、部品比較測定基準を提供するステップを含めることができる、
【0079】
比較ステップ1104には、部品の基準系における検出され選択された点のマッピングされた測定された3次元位置の単一成分を、選択された点の正確な3次元位置のそれぞれの単一成分と比較して、単一成分の部品比較測定基準を提供するステップを含めることができる。従って、判断ステップ1106には、単一成分比較測定基準が単一成分許容閾値を超えたか判断し、それによって少なくとも部分的に、部品が正確に組立てられているかを判断するステップを含めることができる。
【0080】
比較ステップ1104には、部品の基準系における検出され選択された点のマッピングされ測定された3次元位置と、正確な3次元位置との間のRMSエラーを算出するステップと、少なくとも部品比較測定基準の一部としてRMSエラーを提供するステップとをさらに含めることができる。
【0081】
他の実施例において、比較ステップ1104には、検出され選択された点の3つの測定された3次元位置を選択するステップと、選択された点の対応する3つの正確な3次元位置を、検出され選択された点の3つの測定された点に最も接近してマッピングする変換を求めるステップと、この変換を用いて、選択された点の正確な3次元位置からの4番目の3次元位置を、検出され選択された点の予測された3次元位置へマッピングするステップと、検出され選択された点の予測され測定された3次元位置を、検出され測定された点の実際に測定された3次元位置と比較して、一貫性チェック3次元位置エラーを提供するステップとを含めることができる。
【0082】
比較ステップ1104には、検出され選択された点の3つの測定された3次元位置を選択するステップと、選択された点の対応する3つの正確な3次元位置を、検出され選択された点の3つの測定された点に最も接近してマッピングする変換を求めるステップと、この変換を用いて、選択された点の正確な3次元位置からの4番目の3次元位置を、検出され選択された点の予測された3次元位置へマッピングするステップと、検出され選択された点の予測される測定された3次元位置の単一成分と、検出され選択された点の実際の測定された3次元位置の単一成分とを比較して、少なくとも部品比較測定基準への貢献を提供するステップとをさらに含めることができる。
【0083】
この手順は、検出され測定された点の3つの測定された3次元位置の複数の異なるセットに対して繰り返し行なうことができ、それによって複数の一貫性チェック3次元位置エラーを提供できる。そして、この方法には、一貫性チェック3次元位置エラーの総計を算出するステップと、少なくとも部品比較測定基準の一部として、一貫性チェック3次元位置エラーの総計を提供するステップとを含めることができる。
【0084】
実行時間において、各サブコンポーネントに対し、サブコンポーネント上の点を選択するステップは、例えば図2に示すように、オペレータによって手動で行なうことができることに留意すべきである。
【0085】
また、実行時間において、各サブコンポーネントに対し、オペレータは複数の訓練窓のそれぞれに表示されるサブコンポーネント上の点を選択するが、各訓練窓は、3つのそれぞれの調整されたカメラの視野の一部を示している。実施例において、再び図2を参照して、少なくとも3つの訓練窓が存在している。
【0086】
各サブコンポーネントに対し、誤差関数を最小にするために、オペレータが各訓練窓内の点をクリックすることによって、複数の訓練窓のそれぞれの点を選択することは、説明に役立つ。
【0087】
また、各サブコンポーネントに対し、2次元サーチモデルが訓練されて、複数の訓練窓のそれぞれの中のサブコンポーネントを検出し、そして、選択された点が、前記2次元サーチモデルの原点として働く。
【0088】
2次元サーチモデルは、正規化相関サーチ、回転不変かつ大きさ不変サーチ、PatMaxサーチのうちの1つに基づいている。
【0089】
図10を参照して、訓練時間において、各サブコンポーネントに対し、サブコンポーネント上の点を選択するステップ1000には、複数の他のサブコンポーネントを支持している基板の表面上の基準の中心にある点を選択するステップが含まれている。基板の表面上の基準は、サブコンポーネントとみなすことができる。基板を用いることは、本発明を実施するにあたり、不可欠なことではない。
【0090】
図10を参照して、実行時間において、各サブコンポーネントに対し、三角測量を用いて、物理座標系における選択された点の正確な3次元位置が求められる(ステップ1002)。三角測量の1つの結果は、三角測量RMSエラーである。三角測量RMSエラーは、許容閾値と比較することができて、ここでは図4に示すように、三角測量RMSエラー許容範囲404と称す。三角測量RMSエラー許容範囲404は、訓練時間にオペレータによって用いることができて、各カメラの3つの視野のそれぞれにおいて、どの程度一貫してオペレータがサブアセンブリ上の同一の点に対して照準線を配置することができるかに関するフィードバックを提供する。もし三角測量RMSエラーが許容範囲404を超えていた場合、三角測量RMSエラーが許容範囲404以下になるまで、照準線は再び配置され続ける。代替的に、アプリケーションは異なる訓練時間三角測量RMSエラー許容範囲を有し、これは、オペレータが点を再選択するべきかどうかを判断するために用いられる。
【0091】
2つのサブコンポーネントの場合に、本発明を実施しようとすると、本発明の方法には、訓練時間において、2つのサブコンポーネントそれぞれの上の点を選択するステップ1000と、2つのサブコンポーネントの両方に対し、物理座標系における選択された点の正確な3次元位置を求めるステップ1002とが含まれている。実行時間において、本発明の方法の1つの実施例には、両方のサブコンポーネントに対し、それぞれサブコンポーネント上の選択された点を検出するステップ1100と、両方のサブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップ1102と、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、部品比較測定基準を提供するステップ1104と、部品比較測定基準が部品許容閾値を超えたか判断して、それによって部品が正確に組立てられているか判断するステップ1106と、が含まれている。
【0092】
実施例において、比較ステップ1104には、両方のサブコンポーネントに対し、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、3次元位置エラーを提供するステップと、3次元位置エラーの両方を組み合わせて部品比較測定基準を提供するステップとが含まれている。
【0093】
図11を参照して、サブコンポーネント対のスパン検査測定基準を採用するために、本発明の方法には、訓練時間において、2つのサブコンポーネントのそれぞれの上の点を選択し、少なくとも選択した2つの点のうち1つが、前回選択された点の対と異なっているステップ1000と、両方のサブコンポーネントに対し、物理座標系における選択された点の正確な3次元位置を求めるステップ1002と、が含まれている。次に、実行時間において、両方のサブコンポーネントに対し、サブコンポーネント上の選択された点をそれぞれ検出するステップ1100と、両方のサブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップ1102と、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、(2つの検出され選択された点の間の距離として定義される)サブコンポーネント対のスパン検査測定基準を提供するステップ1104と、サブコンポーネント対スパン検査測定基準を、少なくとも第二のサブコンポーネント対スパン検査測定基準と組み合わせて、累積サブコンポーネント対スパン検査測定基準を提供するステップと、累積サブコンポーネント対スパン検査測定基準が、部品の許容閾値を超えているかを判断して、それによって、部品が正確に組立てられているかを判断するステップ1106と、が含まれている。
【0094】
本発明の組立て検査方法は、検出され選択された点の測定された3次元位置の複数の対に対して繰り返すことができ、それによって複数のサブコンポーネント対スパン検査測定基準を提供する。次に、本方法には、サブコンポーネント対スパン検査測定基準の総計を算出するステップと、少なくとも部品比較測定基準の一部として、サブコンポーネント対スパン検査測定基準の総計を提供するステップと、がさらに含まれている。
【0095】
実施例では、少なくとも4つのサブコンポーネントが用いられているが、組立て検査を実施するために必要な数だけ用いることができる。実施例では、さらに、各サブコンポーネントを一度に測定している。
【0096】
請求項に記載された本発明の趣旨及び範囲から逸脱することなく、当業者は、他の変更や実施を思い付くことができる。従って、上述の記載は、以下に記載する請求項に明示されたものを除き、発明を限定することを意図したものではない。
【技術分野】
【0001】
本発明は、製品品質管理のための機械視覚に関し、より詳細には、機械視覚を用いた製品部品の正確なアセンブリ検査に関する。
【背景技術】
【0002】
多くの製品が、複数の部品によって構成され、部品は実用的な製品を提供するために、正確に組立てられる必要がある。一般的に、より大きな組立て品の内部又は上にサブコンポーネントを配置することによって、部品は組立てられる。部品を組立てる工程の間に、又はその後に、すべての部品が正確に配置されているか検査することが多くの場合に有用である。組立て作業の大部分は、「垂直組立て」作業であって、部品は上から挿入されて、別の部品の上に降ろす。従って、サブコンポーネントの位置は、少なくとも3次元、例えばx、y、z方向で検査する必要がある。組立て検査を早期に実施することの1つの利益は、工程においてできるだけ早く品質問題を特定することによって、廃棄物を減らすことである。
【0003】
ほとんどの組立ては、手作業で検査されている。時には、後に続く作業の本質上、前の作業が不正確に行なわれたことによって、後に続く作業が実施できない場合に、検査が後に続く作業の一部として本質的に実施される。この部分検査の形態は、部品の再加工のための材料の浪費や時間の浪費に帰結する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械的3次元一点測定システム(例えばタッチセンサ)や、一点距離測定システム(例えばレーザーベースセンサ)や、組織化照明による3次元測定システム(例えばデフォーカスセンサからの深さ)を用いた、自動組立て検査の実施方法が知られている。
【0005】
座標測定装置は、機械的3次元一点測定システムである。この装置は、3本の垂直軸と球面のタッチセンサを用いている。タッチセンサは、部品に触れるまで動き続け、3つの座標軸の位置が記録される。タッチセンサは、部品に非常に軽く触れるので、部品自身が動くことはない。これによって、ユーザーは、単一の部品からサンプリングされた複合的な三次元位置を求めることができる。
【0006】
しかし、一点センサは、一度に1つの位置しか測定できないという欠点を有し、処理能力の減少、又は、一点センサを同時多重に配置する必要性に帰結した。どちらにしても、検査すべき部品が変更された場合に、一点センサは手動で再配置する必要があり、わずらわしく非効率的であった。
【0007】
レーザーベースセンサは、単一部分から多重3次元位置を測定するためのもう1つの方法である。レーザーベースセンサは、非接触方式であって、部品に接触しない(接触することによって、部品を動かしたり変形させたりすることがない)。レーザーベースセンサは、レーザー源から部品までの距離を測定する距離センサである。
【0008】
レーザーベースセンサは、一次元(距離)のみを測定することができるので、部品を走査するために、通常レーザーは2軸に沿って動くか、又は、ビームが作動ミラーを用いて移動するが、時間を消費するものである。
【0009】
組織化照明センサは、組織化された照明と2次元光学センサアレイを用いて、距離の2次元アレイを測定する。組織的照明の一例には、部品にストライプ光を投影するものがある。ストライプ光は、異なる角度から視認されて、各ストライプ光のドットの位置における部品の高さに応じて、ストライプ光の各ドットの位置が、ストライプの名目上の位置から変化する。組織的照明をベースにした3次元システムの1つの欠点は、組織化照明法が、検査すべき部品を走査するために、比較的長時間を要することである。
【課題を解決するための手段】
【0010】
本発明の組立て検査方法においては、各サブコンポーネントのx、y、z(3次元)位置の測定が、それぞれ2枚又は3枚の画像を同時に収集する、少なくとも2台、通常3台のカメラからの三角測量を用いて実施される。オペレータは、検査すべき部品の同じサブコンポーネントに対応した各カメラのためのモデルパターンを訓練する。実行時間において、サブコンポーネントに関する測定された3次元位置情報を提供するために、各パターンは、3つのカメラからの視野に実質上記録される。そして、測定された3次元位置は、予想された名目上の3次元位置と比較され、3次元位置における差分が、特定の許容範囲にあるかチェックされる。
【0011】
本発明は、組立てライン上に固定された複数のカメラのみを要するように、組立て検査作業を単純化するものである。訓練は、オペレータが「正確に組立てられた部品」の画像を収集し、それから、検査すべき各サブコンポーネントに対応したパターンを選択することのみを要求する。訓練時間には、オペレータは各サブコンポーネントに対する位置的許容範囲もさらに選択する。ほんの僅かなオペレータの活動の後に、本発明は、自動化された組立て検査を実行する。
【0012】
本発明は、固定冶具を用いない組立て検査を実行し、全体的な部品の姿勢に適応できる。部品自体が冶具に固定されていないので、機械視覚システムには、任意の3次元位置と、任意のピッチ、ヨー、ロール方向が示される。本発明は、それにもかかわらず、全てのサブアセンブリの実行時間3次元位置を検出でき、それら実行時間3次元位置を用いて、それら実行時間3次元位置を変換してモデルに適合可能な全体的な部品姿勢が得られたかどうかを決定することができる。
【0013】
本発明は、複数の点を同時に測定することができ、より高速の処理能力と、より単純な装置を提供する。また、本発明は、検査すべき部品が変化した場合に、高速に再構成することができる。本発明のカメラは画像を高速かつ同時に収集するので、検査すべき組立て部品の画像が高速に得られ、高速に動く組立てライン上の部品のストロボ照明応用を可能にしている。
【0014】
訓練時間を簡単化するために、予め工場で調整された2カメラ又は3カメラシステムを製造販売することができる。従って、このステレオ/3眼予備調整カメラシステムは、訓練時間と実行時間に高速に位置付けられて、正確で繰り返し可能な多重カメラ調整を可能にしている。
【図面の簡単な説明】
【0015】
【図1】それぞれの視野に3つのサブコンポーネントが含まれる3台のカメラを示す図である。
【図2】本発明のユーザーインタフェースと、訓練窓の訓練時間選択状態と、第二サブアセンブリの原点を示すスクリーンショットである。
【図3】本発明のユーザーインタフェースと、第二サブアセンブリの3次元モデル位置の訓練時間測定を示すスクリーンショットである。
【図4】本発明のユーザーインタフェースと、第四サブアセンブリと他のアブアセンブリの3次元モデル位置の訓練時間測定を示すスクリーンショットである。
【図5】本発明のユーザーインタフェースと、3つの全体的なアセンブリの像と、全体的な姿勢と、全体的な向きと、全体的なRMSエラーと、首尾一貫性エラーと、検査結果と、を備えた実行時間結果と、を示すスクリーンショットである。
【図6】本発明の訓練時間フェーズを示すフローチャートである。
【図7】本発明の実行時間フェーズを示すフローチャートである。
【図8】3点の3次元点を含んだ本発明の実行時間フェーズのアスペクトを示すフローチャートである。
【図9】一貫性のチェックを含んだ本発明の実行時間フェーズのアスペクトを示すフローチャートである。
【図10】本発明の全体的な訓練時間フェーズを示すフローチャートである。
【図11】本発明の全体的な実行時間フェーズを示すフローチャートである。
【発明を実施するための形態】
【0016】
以下の実施例の詳細な説明において、本明細書の一部を形成し、本発明を実施することができる特定の実施形態を図によって示す添付の図面を参照する。他の実施形態を利用することができること、ならびに本発明の範囲を逸脱せずに構造的、論理的、および電気的変更を加えることができることを理解されたい。
【0017】
本発明の方法と装置は、本質的に、部品のサブコンポーネントの測定された(「実行時間の」とも呼ぶ)3次元位置と、それらの予想された(「モデル」又は「正しい」とも呼ぶ)3次元位置とを比較する。もし測定した3次元位置が、予想された3次元位置と十分に接近している(許容範囲内)場合、サブコンポーネントの組立ては、「検証された」と見なされる。幾つかの場合において、組立て工程においてサブコンポーネントが配置される基板(これ自身もサブコンポーネントと呼ぶことができる)に対して、ただ1つのサブコンポーネントであっても適正に配置されなかった場合に、組立て品は廃棄される。多くの組立て工程には、プリント回路基板上のコネクタソケットに向かって下向きにサブコンポーネントが挿入される、サブコンポーネントの垂直配置が含まれる。例えば、もしコネクタに挿入されるサブコンポーネントが部分的にのみ挿入された場合、基板に対して、又は検証された3次元位置を有する他の正確に挿入されたサブコンポーネントに対して、不正確な高さ(z)であると測定される。
【0018】
本発明は、複数の調整されたカメラの物理的に参照された枠内の絶対的な3次元位置(x、y、z)と、部品のサブコンポーネントの組立て品の相対的な3次元位置(Δx、Δy、Δz)とを比較する。本発明は、少なくとも2台のカメラの視野内において、少なくとも2つのサブコンポーネントが存在する限りにおいて、その位置や向きに関らず、組立て品を検証することができる。従って、本発明を用いることで、冶具を用いない組立て検査が実行可能である。その代わりに、もし検査すべき部品が冶具に固定されていた場合、冶具に対するサブコンポーネントの正確な相対的位置を検査するために、本発明を用いることができる。
【0019】
1つの実施例において、本発明は、各3台のカメラの視野内の3つのサブコンポーネントを用いて、その位置や向きに関らず組立て品を検証する。
【0020】
もし3つのサブコンポーネントが、少なくとも2台の各カメラの視野に入っていれば、この3つのサブコンポーネントは、面を定義し、3つ全ての回転自由度(ピッチ、ヨー、ロール)が、x、y、z位置と同様に検証可能である。
【0021】
3次元位置(x、y、z)は、調整されたカメラの物理的参照枠内において、水平位置(x)、前後位置(y)、と高さ(z)として表現される。本発明によれば、サブコンポーネントの3次元位置は、図面を参照して以下で説明するように、サブコンポーネント上の一点の3次元位置であって、この点はユーザーによって選択されるものである。
【0022】
より詳細は以下で説明するが、もし選択された点が、少なくとも2台のカメラの視野内で目に見えるものであれば、三角測量を用いて3次元位置を決定することができる。もし選択された点が、3台以上の相互に調整されたカメラの視野内で目に見えるものであれば、三角測量の精度が向上する。1つの実施例において、相互に調整されたカメラは、同一のキャリブレーションプレートを用いて調整され、これは"Methods and Apparatus for Practical 3D Vision System"(米国特許出願番号11/246,024)出願人Aaron WallackとDavid Michael、譲受人マサチューセッツ州ナティックのCognex Corporation、に記載されており、参照することにより本書に組み込まれる。
【0023】
三角測量の位置情報の精度は、三角測量RMS(二乗平均平方根)エラーと呼ばれるパラメータによって評価し表現することができる。三角測量RMSエラーは、以下で説明するように、「許容範囲」パラメータと比較されて、コンポーネントの実質的に同一の点が、各3つの視野内で選択されていることを保証する。
【0024】
その代わりに、エラーを絶対差の合計として表現することができ、差の絶対値が加算されて三角測量位置の精度の測定を提供する。もし絶対差の合計が閾値以下の場合、精度は許容範囲である。他の測定方法も、当業者には、本発明の範囲から逸脱することなく用いることができる。
【0025】
図1を参照して、それぞれの視野に部品111の3つのサブコンポーネント106、108、110を捕らえた、機械視覚システムの3台のカメラ100、102、104を示す。部品111は、この3つのサブコンポーネント106、108、110が配置された基板112(これも組立て品のサブコンポーネントである)を有し、検査すべきサブコンポーネントの少なくとも2つが少なくとも2台のカメラの視野内に入るように配置されている。3つのサブコンポーネント106、108、110は互いに直接接続して部品111を形成しているので、本発明を実施するためには、基板112は不要であることに留意されたい。
【0026】
三角測量を実行して、物理空間に3次元位置を得るためには、少なくとも2台のカメラが必要である。この技術の明確で完全な説明は、"Methods and Apparatus for Practical 3D Vision System"(米国特許出願番号11/246,024) 出願人Aaron WallackとDavid Michael、譲受人マサチューセッツ州ナティックのCognex Corporation、に記載されており、参照することにより本書に組み込まれる。カメラの調整法も、この文献に記載されており、3台のカメラ100、102、104から、部品111と3つのサブコンポーネント106、108、110が含まれる3次元空間の各点への画素データをマッピングするようになっている。この発明は、三角測量と、上記の調整方法とに限定されるものではなく、同じ所望の結果を得ることができる従来技術である他の方法を代わりに用いることもできる。
【0027】
2台のカメラを用いて3次元の点を求めることができるが、3台のカメラを実施例として図1に示す。実施例では3つのサブコンポーネントが示されているが、幾つかの用途において、少なくとも4つのサブコンポーネントを各カメラの視野に入れることが有用であり、3つのサブコンポーネントは、内部整合性をチェックするように選択でき、それによって4つのサブコンポーネントの他の3つのサブコンポーネントに対する相対的な位置関係を検証できる。この技術は、以下で議論する。
【0028】
また、より多くのカメラを用いることで、より高いラバスト性と精度を得ることができる。また、より多くのカメラによって、各部品を見る可能性が高まり、少なくとも2台のカメラ、さらに良いのは3台のカメラで見ることである。
【0029】
また、より多くのサブコンポーネントが用いられた場合、少なくとも1つのサブコンポーネントを見る可能性が高まるが、しかし、より多くのサブコンポーネントが用いられた場合、全てのサブコンポーネントを見る可能性は低下する。
【0030】
図2を参照して、本発明を具体化する機械視覚システムのユーザーインタフェースを示す。訓練時間において、ユーザーが"Acquire Train Image"206と"Display Train Image"208をクリックすると、3つのカメラビュー窓200、202、204が示される。各カメラビュー窓は、図1の3つのカメラ100、102、104のうちの1つの視野内の少なくとも一部を示している。各カメラ100、102、104は同一のサブコンポーネントの異なる斜視図を示している。例えば、図2はPCBに挿入されるチップチャリアの
3つのビューをしめしており、チップキャリアは上部に大きな"Z"を有している。
【0031】
次に、ユーザーは"Add PatMax Models"ボタン210をクリックして、新たな3次元サーチモデルの作成を開始する。そうすることで、各ビュー窓の2次元サーチモデルが作成される。この2次元モデルは、各ビュー窓における取得された画像の選択されたサブ窓である。3次元モデルは、2次元モデルの集まりで構成され、対応する同一場所の基点から発生した3次元モデルである。"Model Points"窓212に示すように、サブコンポーネント上の一点の3次元サーチモデル0はすでに作成されており、三角測量RMSエラー0.11を有している。この三角測量RMSエラー0.11は、ユーザーの選択する三角測量RMSエラー許容範囲214の範囲内であって、ここでエラー許容範囲は0.30である。
【0032】
図2で、モデル1はまだ作成されておらず、プロンプト216が表われて、「訓練窓を位置付けて、基点を選択しなさい」と入力要求している。これに応答して、ユーザーは「訓練窓」(細く白い四角形枠で示す)206、208、210を各カメラ100、102、104の視野内に定義し、「基点」を各窓に見つけることができる。白い十字線で、各訓練窓206、208、210内の選択された「基点」を示す。訓練窓内の画像と、基点は、サーチモデル例えば正規化相関サーチや、回転不変量と大きさ不変量サーチのモデル、を訓練するために用いられる(例えばCognex社のPatMaxTM)。
【0033】
ユーザーは、サブコンポーネントの「基点」(白い十字線で示す)である左すみのボタン"Z"を選択し、それを指示しチェックすることで、各ビューにおけるZ上の点を選択する。このように、サブコンポーネントの同一点を、3つの異なる視点から見ることになる。
【0034】
図3を参照して、ユーザーは"Train PatMax Model(s)"ボタン300をクリックする。その応答として、3つの2次元サーチモデルが作成され、各画像200、202、204の選択された点を見つけるために用いられる。 各窓における2次元サーチのサーチ結果は、三角測量を用いて3次元の点("Z"上の選択された点の物理的3次元位置)に変換され、モデル点窓302に示すように、x、y、z座標値(11.02、−12.68、−13.96)を有する。この三角座標RMSエラー0.11は、ユーザーが定義した三角測量RMSエラー許容範囲304の0.390より、まだ小さいことに留意する。
【0035】
図4を参照して、各サブアセンブリ上の4つの異なる実際の点の4つの3次元モデル(0,1,2,3)が、訓練された。各3次元モデルは、モデル窓400に記載の3次元位置を有している。各三角測量RMSエラー402は、三角測量RMSエラー許容範囲404より下でなければならない。なぜなら、三角測量RMSエラー402が実行時間に測定されたものであっても、三角測量RMSエラー許容範囲404は実行時間で用いられ、訓練時間の三角測量RMSエラー402は通常、三角測量RMSエラー許容範囲404に下部限界を提供するからである。三角測量RMSエラー許容範囲404は、訓練時間に、オペレータによって用いられて、各カメラの3つの視野のそれぞれにおいて、サブアセンブリの同じ点上にオペレータが配置した十字線が、どの程度一貫しているかについて、フィードバックを提供する。もし三角測量RMSエラーが許容範囲404を超えていた場合、許容範囲404以下になるまで、三角測量RMSエラーを減らすように、十字線が再配置される。代替的に、アプリケーションが、オペレータが点を再選択すべきか判断するために用いられる異なる三角測量RMSエラー許容範囲訓練時間を有することができる。
【0036】
要約すると、訓練時間において、本発明の方法の一部として、ユーザーはサブアセンブリのそれぞれの上に単一点を選択し、各サブコンポーネントの3次元サーチモデルが作成される。各3次元サーチモデルは、実際には2次元サーチモデルのセットで構成され、同じ部品を視野に入れた多数のカメラから画像窓をサーチすることによって、物理的な空間上の3次元点を見つけ出すために用いられ、見出した2次元位置と(上述の)三角測量技術を用いて、各サブコンポーネントの正確な(モデル)3次元位置が算出される。
【0037】
実行時間において、図5を参照して、先の図1〜4の調整されたカメラのセットによって得られたビューを用いて、図4からの3次元モデルが、サブアセンブリを見つけ出すために用いられる。ユーザー(又はオペレータ)が単に"Run 3D Inspection"ボタンをクリックすれば、窓502、504、506内の3つの画像のそれぞれが、それぞれのサブアセンブリに対応した3次元モデルから適切な2次元サーチモデルを用いてサーチされる。この例では、4つの検査すべきサブアセンブリがあるにもかかわらず、(4つのサブアセンブリのそれぞれが3つのカメラすべてで見えているので)3枚の画像の1セットのみが取得される。(それぞれ窓502、504、506における)同一の画像が、4つの各2次元サーチモデルによって、4回サーチされて、4つの三角測量で測定された3次元位置を提供する。各三角測量で測定された3次元位置は、3つの2次元の見つけられた(測定された)位置を用いた三角測量計算の結果である。
【0038】
各三角測量された3次元位置は、"Results"窓508にリスト表示され、x、y、z成分と、三角測量RMSエラー値と、三角測量RMSエラー許容範囲に応じた三角測量RMSエラーのPASS/FAIL判定とが表示される。
【0039】
サブコンポーネントの測定結果から算出された組立て品全体の全体的姿勢(x、y、z位置)が"Results"窓508の下に表示されている。その下には、サブコンポーネントの測定結果から算出された、3つの回転自由度、例えばピッチとヨーとロールで示された全体的な向きが表示されている。さらに下には、サブコンポーネントの4つの予想されたモデル3次元位置と4つの測定されたモデル3次元位置とを比較した全体的なRMSエラーが表示されている。また、3つの他のサブコンポーネントの測定位置から求められた、各サブアセンブリが予想された位置からどの程度ずれているかを示す"Self-Consistency Error"が表示されている。最後に、一つ以上の測定及び計算結果を、特定用途に従ってオペレータ又はユーザーが設定した許容値と比較することによって算出された、全体的な検査結果が表示されている。例えば、もし個々の三角測量RMS許容範囲の全てが満たされ、全体的なRMS許容範囲が満たされていた場合、組立て品は、PASSであると認められる。
【0040】
GUIに関する前述の議論は、特定の実施例に関連し、大幅な変形をしても類似の結果を得ることが意図されている。GUIは、例えばボタンやインジケータを有するパーソナル・ディジタル・アシスタント又はヒューマン・マシーン・インタフェースを利用することができる。実行時間や訓練時間の間、ユーザーインタフェースがおよそ測定結果及び/又は画像を表示でき、そして、測定項目が、数値を用いて又はグラフを用いて、そして例えばPASS又はFAILに対して色を用いるなどして表わすことができるのは、明らかである。
【0041】
モデルを作成して3次元点を作成するための他の方法も用いることができて、例えば、部品に光線を照射し、次に(一致した原点を見つけるために)この光線を記録し、(各画像において)原点まわりの固定半径の円によるモデルを作成する。図6を参照して、サブコンポーネントを有する部品の正確な組立て検査のための本発明の方法について、さらに議論する。この方法は、訓練時間段階と実行時間段階とを備えている。訓練時間において、少なくとも2台のカメラが、少なくとも1台のカメラの視野に部品600の少なくとも1つのサブコンポーネントが含まれるように配置される。3台のカメラを用いたものを図1に示す。3台のカメラは、2台のカメラより精度が高くなる。
【0042】
次に、その少なくとも2台のカメラのそれぞれが、画像座標を物理座標602と関連付けるように調整される。この技術は、"Methods and Apparatus for Practical 3D Vision System" (Express Mail Label No. EV 324 850 053 US) by Aaron Wallack and David Michael, マサチューセッツ州NatickのCognex社が譲り受けた文献に記載されており、参照することにより本書に組み込まれる。多数のカメラの画像座標を共通の物理空間と関連付ける既知のあらゆる技術が、有効である。少なくとも2台のカメラのそれぞれの調整には、少なくとも2台のカメラそれぞれのカメラ原点の3次元位置を決定することが含まれている。次に、三角測量は、各カメラの視野内のサブコンポーネントの原点の2次元位置と、各カメラのカメラ原点の3次元位置とを見つけ出す。
【0043】
ユーザーがカメラの調整を必要とするのを回避するためには、ユーザーは代わりに予め調整された2台又は3台のカメラシステムを採用することができる。この場合、ユーザーは、予め調整されたステレオ/3眼式カメラシステムを用いて、ステップ600から開始する。これによって、ユーザーは、ステップ600で堅く取り付けられた3台のカメラを有する予め調整されたカメラシステムを単に位置付けるのみでよく、調整ステップを実行する必要がないので、訓練を簡素化できる(ステップ602)。次に、少なくとも2つのサブコンポーネントのそれぞれに対し、少なくとも2台のカメラのそれぞれが、正確に組立てられた位置におけるサブコンポーネントの画像を同時に取得するように用いられる。画像については、同時に取得されることが望ましいが、必須ではないことに留意する(ステップ604)。もし2つのサブコンポーネントが用いられていた場合、その2つのサブコンポーネント間のスパン(距離)が測定され、それによって、「スパン検査測定基準」が提供される。実行時間におけるスパン検査測定基準は、訓練時間におけるスパン検査測定基準に基づいた範囲内になければならない。サブコンポーネントの多くのペアを用いることができ、各ペアはスパン検査測定基準を提供し、スパン検査測定基準の合計が、累積スパン検査測定基準を提供し、これは、実行時間における累積スパン検査許容閾値と比較される。他の測定基準も、当業者が思い付くであろうが、それらは本発明の範囲内である。
【0044】
もし3つのサブコンポーネントが用いられた場合、さらに以下で説明するように、姿勢をマッピングした3次元モデルと、検出された3次元実行時間点との間の二乗誤差の合計を最小化する、剛体変換姿勢を見出すことができる。
【0045】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、少なくとも2台のカメラのそれぞれを用いて、サブコンポーネントを備えた訓練窓がユーザーによって選択される。また、各訓練窓において、サブコンポーネント上の同一点が選択され、この同一点は、サブコンポーネントに関連付けられた原点として用いられる(ステップ606)。このステップは、図2にも示されている。
【0046】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、サブコンポーネントの予想される3次元位置が、三角測量によって計算される(ステップ608)。これは、"Methods and Apparatus for Practical 3D Vision System" (Express Mail Label No. EV 324 850 053 US) by Aaron Wallack and David Michael, マサチューセッツ州NatickのCognex社が譲り受けた文献に説明されており、参照することにより本書に組み込まれる。また、三角測量は、従来技術の多数の引用文献の中で説明されている。
【0047】
本発明を実施するために、多数の画像ビューから3次元位置を求めるあらゆる方法を用いることができる。例えば、3次元位置を求めるためには、パターンの原点に基づいた三角測量を用いたものが必ずしも必要ではない。代わりに、3次元位置は、(画像内の)線形特徴を記録して、次にこれら線形特徴を横断することによって求められて、最終的な3次元位置が提供される。重要な物は、組立て検査において使用するための正確な3次元位置を生成する方法である。各サブコンポーネントの許容範囲内で正確な3次元位置測定を提供するあらゆる方法が利用可能である。
【0048】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、訓練窓とそれに対応した原点が用いられて、訓練窓のサブコンポーネントの2次元サーチモデルが作成される(ステップ610)。正規化相関サーチの訓練ルーチンを用いることができ、又は例えばPatMax(登録商標)の回転と大きさ不変サーチの訓練ルーチンを用いることができる。代替的に、例えばCADデータから由来したモデルのようなモデルを供給することができる。また、粗いモデルを採用することもでき、それは本発明を用いることによって精度が向上する。実用的なモデルを得るための他の変形も、当業者には思い付くことができる。次に、ユーザーは、例えば三角測量RMSエラー許容範囲や、全体的なRMSエラー許容範囲や、首尾一貫性許容範囲といった、特定の用途や状況に応じて設定可能な検査パラメータを選択する(ステップ612)。三角測量RMSエラー許容範囲は、どの程度正確にユーザーが各カメラの各視野内の同一点を選択したかを示す測定閾値である。全体的なRMSエラー許容範囲は、どの程度測定した3次元点がサブアセンブリの予想された3次元点から集合体として変化したかを示す測定閾値である。首尾一貫性許容範囲は、以下でさらに議論するところの集合体の首尾一貫性エラーの測定閾値である。また、検査パラメータの選択には、正確な3次元位置からの測定した3次元位置の差異の許容できる範囲を定義する距離許容範囲の選択が含まれる。
【0049】
各訓練窓でのサブコンポーネント上の同一点の選択には、オペレータが各訓練窓でサブコンポーネント上の同一点を選択するための助けになるように、選択された多数点とユニークな3次元点とを一致させる測定に関する情報を提供することが含まれる。一致性の測定とは、RMSエラーのことである。
【0050】
実行時間において、検査すべき組立てられた部品の少なくとも2つのサブコンポーネントのそれぞれに対して、少なくとも2台のカメラがそれぞれ用いられて、図5に示すように候補組立て位置におけるサブコンポーネントの画像を同時に収集する(ステップ700)。画像を同時に収集することは望ましいが、必須ではない点に留意する。3台のカメラを用いると、より正確な三角測量ができる。以下でさらに説明するように、少なくとも3つのサブコンポーネントが画像化された場合、姿勢マッピング3次元モデル点と見出された3次元実行時間点との間の二乗誤差の合計を最小にする、剛体変換姿勢を見出すことができる。もし3つより多くのサブコンポーネントが画像化された場合、3つの画像の1つより多いサブグループを用いて、二乗誤差の合計を最小化する少なくとも1つの剛体変換姿勢を見出すことができる。訓練段階の間に調整されたカメラやレンズは、正確に同一位置に維持されていることに留意する。最小化するための他の方法も、本発明の範囲から逸脱することなく利用することができる。
【0051】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、候補となる組立て位置におけるサブコンポーネントの画像が、サブコンポーネントの2次元サーチモデルを用いて見出され、サブコンポーネントの原点の測定した2次元位置が提供される(ステップ702)。再び、正規化相関サーチ又は例えばPatMax(登録商標)のような回転と大きさ不変サーチを用いることができる。
【0052】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、サブコンポーネントの測定された3次元位置が三角測量によって算出される(ステップ704)。一般的に、各カメラの視野内のサブコンポーネントの原点の測定された2次元位置と、各カメラのカメラ原点の3次元位置とが、各サブコンポーネントの測定された3次元位置を見つけるために用いられる。また、三角測量によるサブコンポーネントの測定された3次元位置の算出には、エラー測定の算出と、検査パラメータを伴うエラー測定の算出とが含まれ、部品が正確に組立てられたかどうかを判断するのに貢献している。
【0053】
次に、少なくとも2つのサブコンポーネントのそれぞれに対し、サブコンポーネントの測定した3次元位置とサブコンポーネントのそれぞれの正確な3次元位置との間の差異が算出される(ステップ706)。
【0054】
次に、3次元位置の差異を検査パラメータと比較して、部品が正しく組立てられたかどうかを決定するために貢献する(ステップ708)。幾つかの実施例において、3次元位置の差異の単一の成分が検査パラメータの単一の成分と比較されて、部品が正しく組立てられたかどうかを判断するために貢献している。これら実施例の幾つかにおいて、その単一の成分はz位置(高さ)である。
【0055】
幾つかの状況において、実行時間には、それぞれのサブコンポーネントの複数の3次元位置を用いて、部品の全体的な姿勢を計算する時間が含まれる。一般的に、部品の全体的な姿勢の計算には、全体的な姿勢エラーの算出と、全体的な姿勢エラーを最小化する姿勢を見出すことが含まれる。また、検査パラメータを伴う全体的な姿勢エラーの算出も含まれて、部品が正確に組立てられたかどうかを判断するのに貢献している。
【0056】
ここで、対応する3次元点の3つ以上のペアから、どのように物体の姿勢が評価されるかについての情報を示す。各ペアは、3次元モデル点に対応した3次元の測定された実行時間点で構成されている。3次元の予想された点のセットと一対一で対応している3次元の実行時間見出された点のセットが与えられると、姿勢マッピングした3次元予想された点と、測定された3次元実行時間点との間の二乗エラーの合計を最小にする剛体変換姿勢が存在する。この剛体変換姿勢は、平行移動と回転のみによって構成されている。2つの点セット間の剛体変換姿勢の最小二乗を計算する既知の方法が存在する。
【0057】
数学的に言えば、訓練時間3次元点Dのセットと、実行時間3次元点Mのセットとを与えると、以下のような剛体変換(3×3回転行列Rと3×1並進行列Tとで示す)が示される。
M=RD+T
又は各点に対し、
mi=Rdi+T
最小化によるRとTの最適推定値は、
Sum(mi−Rdi+t)2
又はより形式的に、
【数1】
まず、miとdiの平均を算出する。
meanm=Sum mi/N
meand=Sum di/N
mi−meanmとdi−meandに対応した新しいセットM’とD’を構築する。
最適剛体回転行列Rについて解くために、マトリクス解析と四元法算法を用いる。
Sum m’i transpose(d’i)と等しい共分散行列Cを求める。
C−transpose(C)に等しい行列Aを生成する。
行列Aから、transpose([A23 A31 A12])に等しい列ベクトルDeltaを作成する。
[trace(C) transpose(Delta)]
[Delta C+transpose(C)−trace(C)*id(3)]
に等しい対称4×4行列Qを作成する。
ここで、traceは対角線要素の積に等しく、id(3)は3×3の恒等行列である。
最大の正の固有値Qに対応する固有ベクトルq=[q0 q1 q2 q3]を求める。
【数2】
以下の議論で、対応する3次元点の利用可能なペアのすべてより少ない数から姿勢を算出する理由を説明する。
【0058】
図8を参照して、部品が少なくとも3つのサブコンポーネントを有する場合、実行時間における方法は、さらに、選択した点の測定した3次元位置を、選択された点の正確な3次元位置に最も接近してマッピングする変換を求めるステップ(ステップ800)と、選択した点のすべての測定した3次元位置に逆変換を施して、部品の基準系と比較するステップ(ステップ802)と、部品の基準系における選択した点の測定した3次元位置と、選択された点の正確な3次元位置とを比較して、部品の比較測定基準を提供するステップ(ステップ804)と、部品の比較測定基準と検査パラメータとを比較して、部品が正確に組立てられたかを判断するのに貢献するステップ(806)とを備えている。
【0059】
幾つかの実施例において、比較には、部品の基準系における選択した点のマッピングされた測定した3次元位置の単一成分と、選択された点の正確な3次元位置のそれぞれの単一成分とを比較して、単一成分の部品比較測定基準を提供することが含まれる。また、部品が正確に組立てられたかを判断することには、単一コンポーネント比較測定基準が、単一成分許容閾値を超えているかどうかを判断することが含まれ、それによって少なくとも部分的に、部品が正確に組立てられたかどうかが判断される。
【0060】
代替的に、比較基準を固定のユーザーが定義した閾値と比較する代わりに、測定の統計を編集して、新しい測定が、データ由来の許容範囲と比較される。例えば、データ由来の許容範囲から6シグマ以上逸脱した測定は、受け入れられないであろう。当業者が思いつく他の測定基準は、本発明の範囲内である。
【0061】
もしサブコンポーネントのすべて(そして従って、すべての3次元実行時間測定された点)が、正確な位置にあった場合、全体的な姿勢見積もりは正確であり、個々の相違は比較的小さい。
【0062】
しかし、もし1つ以上のサブコンポーネントが正確な位置からずれていた場合、全体的な姿勢見積もりは正確であるか、又は正確ではない。もし全体的な姿勢見積もりが正確であった場合、正確に位置したサブコンポーネントのすべてが、小さな相違を有し、不正確に位置したサブコンポーネントは、大きな相違を有する。
【0063】
もしサブコンポーネントが不正確に位置していた場合、相違は不正確な位置あわせを示す。結果的に、相違が存在する(もし位置ずれが大きくなければ、相違も大きくない)。しかし、もし全体的な姿勢が正確であれば、位置的相違は確実に不正確な位置あわせを表わす。
【0064】
しかしもしサブコンポーネントの1つが位置から外れていて、そしてもし全体的な姿勢見積もりが不正確であれば、正確に位置合わせされたサブコンポーネントは大きな相違を有し、及び/又は、不正確に位置合わせされたサブコンポーネントは小さな相違を有する。
【0065】
もし姿勢見積もりが不正確であれば、正確に位置合わせされたサブコンポーネントは大きな相違を有し、及び/又は、不正確に位置合わせされたサブコンポーネントは小さな相違を有する。
【0066】
特に、憂慮すべき1つの状況が存在する。サブコンポーネントの1つが位置を外れていても、全てのサブコンポーネントが小さな相違を誘発するケースである。運の悪いことに、このケースは、不正確に位置合わせされたサブコンポーネントを収容するように全体的な姿勢見積もりが算出された場合に、発生する。
【0067】
従って、実施例において、この状況を防ぐために、追加の測定をすることになる。これらの測定は、測定を意図しているサブコンポーネントを意図的に無視することによって姿勢見積もりを算出するステップを含んでいる。このようにして、特定の不正確な位置を用いることなく姿勢見積もりを算出することによって、この位置を収容した姿勢見積もりを防いでいる。この方法は、一般的に相互検証と呼ばれており、データのサブセットからパラメータを見積もり、次にデータの残りを見積もることで検証している。特定のデータ点を無視することが、望ましくない状況が起きないことを保証するものではないことに留意すべきであって、この状況が起きる可能性を大幅に減じることによって、憂慮を軽減するものである。
【0068】
この場合、3つ以上の対応する3次元点のペアを用いることができる(ペアとは、3次元モデル点と対応する3次元実行時間測定された位置との組み合わせである)(6自由度の姿勢を求めるためには、少なくとも3つのペアが必要である)。1つの方法は、対応するデータのペアのすべての3つのエレメントサブセットから対象の姿勢見積もりを算出し、次に、対応する3次元点の各ペアに対して最大の相違を維持しながら、各相違を算出することである。代替的に、3次元点の各選択されたペアに対して相違を測定する時に、その3次元点の選択されたペアを除く全てを用いることができる。
【0069】
点の特定のサブセットでは、姿勢見積もりを正確に律則することができない場合があることを指摘しておく必要がある。これは、点のサブセットが共線的又はほとんど共線的であるか、又は、点が相対的に接近していることによって起こる。どちらの場合にも、(相違を算出する目的のために)特定の姿勢見積もりを無視することができ、そして、別な姿勢見積もりを用いることができる(又は、必要であれば、測定しようとする3次元点のペアを含めることができる)。
【0070】
従って、図9を参照して、部品が少なくとも4つのサブコンポーネントを含んでいる場合、実行時間における方法は、さらに、3つのサブコンポーネントのセットを選択し、少なくとも4番目のサブコンポーネントを除外するステップ(ステップ900)と、3つのサブコンポーネントのセットを用いて、部品の全体的な姿勢を算出するステップ(ステップ902)と、部品の全体的な姿勢を用いて、少なくとも4番目のサブコンポーネントに対応するサブコンポーネントの正確な3次元位置をマッピングして、マッピングされた正確な3次元位置を提供するステップ(ステップ904)と、少なくとも4番目のサブコンポーネントの測定した位置と、マッピングされた正確な3次元位置とを比較して、一貫性エラーを提供するステップ(ステップ906)と、一貫性エラーと検査パラメータとを比較して、部品が正確に組立てられたかどうかの判断に貢献するステップ(ステップ908)とを備えている。
【0071】
少なくとも2つのサブコンポーネント位置の複数のセットが選択された場合、それによって複数の一貫性エラーが提供されて、方法はさらに、各一貫性エラーと検査パラメータとを比較して、部品が正確に組立てられたかどうかの判断に貢献する。時には、少なくとも3つのサブコンポーネント位置の複数のセットが選択される。
【0072】
図10を参照して、本発明は、ほとんどの場合には、少なくとも2つのサブコンポーネントを有する部品の正確な組立てを検査するための方法であって、訓練時間において、各サブコンポーネントに対し、サブコンポーネント上の点を選択するステップ(ステップ1000)と、各サブコンポーネントに対して、物理座標系における選択された点の正確な3次元位置を求めるステップ(ステップ1002)とを備えている。上で議論したように、2より多くのサブコンポーネントを取り扱うことは有利である。
【0073】
図11を参照して、実行時間において、方法は、各サブコンポーネントに対して、サブコンポーネント上の選択された点をそれぞれ検出するステップ(ステップ1100)と、各サブコンポーネントに対して、物理座標系における検出された選択された点の測定された3次元位置を求めるステップ(ステップ1102)と、検出された選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、部品の比較測定基準を提供するステップ(ステップ1104)と、部品の比較測定基準が部品の許容閾値を超えているかどうかを求めて、それによって部品が正確に組立てられているかを判断するステップ(ステップ1106)と、を備えている。
【0074】
実施例において、比較するステップ1104には、検出され選択された点の測定された3次元位置の単一成分を、選択された点の正確な3次元位置のそれぞれの単一成分と比較して、単一成分の部品比較測定基準を提供するステップが含まれており、判断するステップ1106には、単一成分比較測定基準が単一成分許容閾値を超えているかどうかを判断するステップが含まれ、それによって部品が正確に組立てられているかどうかを少なくとも部分的に判断する。
【0075】
また別の実施例において、単一成分を比較するステップには、検出され選択された点の測定された3次元位置の各x、y、z成分の1つの成分を、選択された点の正確な3次元位置の各x、y、z成分のそれぞれの単一成分と、独立して比較して、各x、y、z成分のそれぞれにおける単一成分比較測定基準を提供するステップが含まれている。この場合、「部品の比較測定基準が、部品の許容閾値を超えているかどうかを判断する」ステップには、x、y、z成分比較測定基準のそれぞれが、対応するx、y、z成分許容閾値を超えているか判断し、それによって部品が正確に組立てられているかを少なくとも部分的に判断するステップが含まれている。ユーザーは、x、y、z成分のそれぞれにおける成分許容閾値を選択することができる。
【0076】
比較ステップ1104には、また、各サブコンポーネントに対し、検出した選択した点の測定した3次元位置を、選択された点の正確な3次元位置と比較して、3次元位置エラーを提供するステップと、各3次元位置エラーを組み合わせて、部品比較測定基準を提供するステップとを含めることができる。
【0077】
また、比較ステップ1104には、検出した選択した点の測定した3次元位置を、選択した点の正確な3次元位置に最も接近してマッピングする変換を求めるステップと、マッピングされた測定された3次元位置と、正確な3次元位置との間のRMSエラーを算出するステップと、少なくとも部品比較測定基準の一部として、RMSエラーを提供するステップとを含めることができる。
【0078】
比較ステップ1104には、実行時間において、検出した選択した点の測定した3次元位置を、選択した点の正確な3次元位置に最も接近してマッピングする変換を求めるステップと、そして、検出され選択された点のすべての測定された3次元位置に3次元逆変換を加えて、部品の基準系の比較をするステップとを含めることができる。そして、訓練時間において、比較ステップ1104には、部品の基準系における検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、部品比較測定基準を提供するステップを含めることができる、
【0079】
比較ステップ1104には、部品の基準系における検出され選択された点のマッピングされた測定された3次元位置の単一成分を、選択された点の正確な3次元位置のそれぞれの単一成分と比較して、単一成分の部品比較測定基準を提供するステップを含めることができる。従って、判断ステップ1106には、単一成分比較測定基準が単一成分許容閾値を超えたか判断し、それによって少なくとも部分的に、部品が正確に組立てられているかを判断するステップを含めることができる。
【0080】
比較ステップ1104には、部品の基準系における検出され選択された点のマッピングされ測定された3次元位置と、正確な3次元位置との間のRMSエラーを算出するステップと、少なくとも部品比較測定基準の一部としてRMSエラーを提供するステップとをさらに含めることができる。
【0081】
他の実施例において、比較ステップ1104には、検出され選択された点の3つの測定された3次元位置を選択するステップと、選択された点の対応する3つの正確な3次元位置を、検出され選択された点の3つの測定された点に最も接近してマッピングする変換を求めるステップと、この変換を用いて、選択された点の正確な3次元位置からの4番目の3次元位置を、検出され選択された点の予測された3次元位置へマッピングするステップと、検出され選択された点の予測され測定された3次元位置を、検出され測定された点の実際に測定された3次元位置と比較して、一貫性チェック3次元位置エラーを提供するステップとを含めることができる。
【0082】
比較ステップ1104には、検出され選択された点の3つの測定された3次元位置を選択するステップと、選択された点の対応する3つの正確な3次元位置を、検出され選択された点の3つの測定された点に最も接近してマッピングする変換を求めるステップと、この変換を用いて、選択された点の正確な3次元位置からの4番目の3次元位置を、検出され選択された点の予測された3次元位置へマッピングするステップと、検出され選択された点の予測される測定された3次元位置の単一成分と、検出され選択された点の実際の測定された3次元位置の単一成分とを比較して、少なくとも部品比較測定基準への貢献を提供するステップとをさらに含めることができる。
【0083】
この手順は、検出され測定された点の3つの測定された3次元位置の複数の異なるセットに対して繰り返し行なうことができ、それによって複数の一貫性チェック3次元位置エラーを提供できる。そして、この方法には、一貫性チェック3次元位置エラーの総計を算出するステップと、少なくとも部品比較測定基準の一部として、一貫性チェック3次元位置エラーの総計を提供するステップとを含めることができる。
【0084】
実行時間において、各サブコンポーネントに対し、サブコンポーネント上の点を選択するステップは、例えば図2に示すように、オペレータによって手動で行なうことができることに留意すべきである。
【0085】
また、実行時間において、各サブコンポーネントに対し、オペレータは複数の訓練窓のそれぞれに表示されるサブコンポーネント上の点を選択するが、各訓練窓は、3つのそれぞれの調整されたカメラの視野の一部を示している。実施例において、再び図2を参照して、少なくとも3つの訓練窓が存在している。
【0086】
各サブコンポーネントに対し、誤差関数を最小にするために、オペレータが各訓練窓内の点をクリックすることによって、複数の訓練窓のそれぞれの点を選択することは、説明に役立つ。
【0087】
また、各サブコンポーネントに対し、2次元サーチモデルが訓練されて、複数の訓練窓のそれぞれの中のサブコンポーネントを検出し、そして、選択された点が、前記2次元サーチモデルの原点として働く。
【0088】
2次元サーチモデルは、正規化相関サーチ、回転不変かつ大きさ不変サーチ、PatMaxサーチのうちの1つに基づいている。
【0089】
図10を参照して、訓練時間において、各サブコンポーネントに対し、サブコンポーネント上の点を選択するステップ1000には、複数の他のサブコンポーネントを支持している基板の表面上の基準の中心にある点を選択するステップが含まれている。基板の表面上の基準は、サブコンポーネントとみなすことができる。基板を用いることは、本発明を実施するにあたり、不可欠なことではない。
【0090】
図10を参照して、実行時間において、各サブコンポーネントに対し、三角測量を用いて、物理座標系における選択された点の正確な3次元位置が求められる(ステップ1002)。三角測量の1つの結果は、三角測量RMSエラーである。三角測量RMSエラーは、許容閾値と比較することができて、ここでは図4に示すように、三角測量RMSエラー許容範囲404と称す。三角測量RMSエラー許容範囲404は、訓練時間にオペレータによって用いることができて、各カメラの3つの視野のそれぞれにおいて、どの程度一貫してオペレータがサブアセンブリ上の同一の点に対して照準線を配置することができるかに関するフィードバックを提供する。もし三角測量RMSエラーが許容範囲404を超えていた場合、三角測量RMSエラーが許容範囲404以下になるまで、照準線は再び配置され続ける。代替的に、アプリケーションは異なる訓練時間三角測量RMSエラー許容範囲を有し、これは、オペレータが点を再選択するべきかどうかを判断するために用いられる。
【0091】
2つのサブコンポーネントの場合に、本発明を実施しようとすると、本発明の方法には、訓練時間において、2つのサブコンポーネントそれぞれの上の点を選択するステップ1000と、2つのサブコンポーネントの両方に対し、物理座標系における選択された点の正確な3次元位置を求めるステップ1002とが含まれている。実行時間において、本発明の方法の1つの実施例には、両方のサブコンポーネントに対し、それぞれサブコンポーネント上の選択された点を検出するステップ1100と、両方のサブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップ1102と、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、部品比較測定基準を提供するステップ1104と、部品比較測定基準が部品許容閾値を超えたか判断して、それによって部品が正確に組立てられているか判断するステップ1106と、が含まれている。
【0092】
実施例において、比較ステップ1104には、両方のサブコンポーネントに対し、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、3次元位置エラーを提供するステップと、3次元位置エラーの両方を組み合わせて部品比較測定基準を提供するステップとが含まれている。
【0093】
図11を参照して、サブコンポーネント対のスパン検査測定基準を採用するために、本発明の方法には、訓練時間において、2つのサブコンポーネントのそれぞれの上の点を選択し、少なくとも選択した2つの点のうち1つが、前回選択された点の対と異なっているステップ1000と、両方のサブコンポーネントに対し、物理座標系における選択された点の正確な3次元位置を求めるステップ1002と、が含まれている。次に、実行時間において、両方のサブコンポーネントに対し、サブコンポーネント上の選択された点をそれぞれ検出するステップ1100と、両方のサブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップ1102と、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、(2つの検出され選択された点の間の距離として定義される)サブコンポーネント対のスパン検査測定基準を提供するステップ1104と、サブコンポーネント対スパン検査測定基準を、少なくとも第二のサブコンポーネント対スパン検査測定基準と組み合わせて、累積サブコンポーネント対スパン検査測定基準を提供するステップと、累積サブコンポーネント対スパン検査測定基準が、部品の許容閾値を超えているかを判断して、それによって、部品が正確に組立てられているかを判断するステップ1106と、が含まれている。
【0094】
本発明の組立て検査方法は、検出され選択された点の測定された3次元位置の複数の対に対して繰り返すことができ、それによって複数のサブコンポーネント対スパン検査測定基準を提供する。次に、本方法には、サブコンポーネント対スパン検査測定基準の総計を算出するステップと、少なくとも部品比較測定基準の一部として、サブコンポーネント対スパン検査測定基準の総計を提供するステップと、がさらに含まれている。
【0095】
実施例では、少なくとも4つのサブコンポーネントが用いられているが、組立て検査を実施するために必要な数だけ用いることができる。実施例では、さらに、各サブコンポーネントを一度に測定している。
【0096】
請求項に記載された本発明の趣旨及び範囲から逸脱することなく、当業者は、他の変更や実施を思い付くことができる。従って、上述の記載は、以下に記載する請求項に明示されたものを除き、発明を限定することを意図したものではない。
【特許請求の範囲】
【請求項1】
複数のサブコンポーネントを有する部品の正確な組立てを検査する方法であって、
訓練時間において、
少なくとも1台のカメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、少なくとも2台の前記カメラを配置するステップと、
少なくとも画像の座標を物理座標と関連付けるように、少なくとも2台の前記カメラのそれぞれを較正するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、少なくとも2台の前記カメラのそれぞれを用いて、正確に組立てられた位置における前記サブコンポーネントの画像を収集するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、少なくとも2台の前記カメラのそれぞれを用いて、前記サブコンポーネントが含まれる訓練窓を選択し、各前記訓練窓における前記サブコンポーネント上の同一点を選択し、前記同一点を前記サブコンポーネントに関連した原点とするステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、三角測量によって予想される3次元位置を算出するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、前記訓練窓とそれに対応した前記原点とを用いて、前記訓練窓内に前記サブコンポーネントの2次元サーチモデルを作成するステップと、
検査パラメータを選択するステップと、を有し、
実行時間において、
検査すべき組立てられた部品の少なくとも2つの前記サブコンポーネントのそれぞれに対し、少なくとも2台の前記カメラをそれぞれ用いて、候補組立て位置における前記サブコンポーネントの画像を収集するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、前記サブコンポーネントの前記原点の測定された2次元位置を提供するために、前記サブコンポーネントの前記2次元サーチモデルを用いて、前記対象組立て位置における前記サブコンポーネントの前記画像を検出するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、三角測量によって前記サブコンポーネントの測定された3次元位置を算出するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、前記サブコンポーネントの前記測定された3次元位置と、前記サブコンポーネントのそれぞれの正確な3次元位置との間の3次元位置における差異を算出するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、前記3次元位置における差異と、前記検査パラメータとを比較するステップと、
を有していることを特徴とする組立て検査方法。
【請求項2】
前記訓練時間における前記画像が、同時に収集されていることを特徴とする請求項1に記載の組立て検査方法。
【請求項3】
前記実行時間における前記画像が、同時に収集されていることを特徴とする請求項1に記載の組立て検査方法。
【請求項4】
少なくとも1台の前記カメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、前記少なくとも2台の前記カメラを配置する前記ステップが、
少なくとも2台の予め調整したカメラを配置するステップを含み、
それによって、ユーザーにとって少なくとも前記画像の座標を前記物理座標と関連付けるための少なくとも2台の前記カメラのそれぞれを調整するステップを省略することができるということを特徴とする請求項1に記載の組立て検査方法。
【請求項5】
前記比較するステップには、前記部品が正確に組立てられているかの判断に貢献するために、前記3次元位置における差異の単一成分と、前記検査パラメータの単一成分とを比較するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項6】
前記単一成分が、z軸方向の位置であることを特徴とする請求項5に記載の組立て検査方法。
【請求項7】
少なくとも1台の前記カメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、前記少なくとも2台の前記カメラを配置する前記ステップが、
前記各カメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、3台の前記カメラを配置するステップを含んでいることを特徴とする請求項1に記載の組立て検査方法。
【請求項8】
少なくとも2台の前記カメラをそれぞれ調整する前記ステップが、
少なくとも2台の前記カメラのそれぞれのカメラ原点の3次元位置を求めるステップを含んでいることを特徴とする請求項1に記載の組立て検査方法。
【請求項9】
訓練時間において、三角測量には、
前記各カメラの視野内において前記サブコンポーネントの前記原点の2次元位置と、
前記各カメラの前記カメラ原点の3次元位置と、を用いるステップが含まれていることを特徴とする請求項8に記載の組立て検査方法。
【請求項10】
訓練時間において、前記検査パラメータを選択する前記ステップには、
測定した3次元位置の正確な3次元位置からのずれ量が受け入れ可能である範囲を定義する距離許容範囲を選択するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項11】
訓練時間において、前記訓練窓内に前記サブコンポーネントの2次元サーチモデルを作成する前記ステップには、
回転不変と大きさ不変のサーチモデルを作成するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項12】
実行時間において、三角測量には、
前記各カメラの視野内において、前記サブコンポーネントの原点の測定された2次元位置と、
前記各カメラの前記カメラ原点の3次元位置と、を用いるステップが含まれていることを特徴とする請求項11に記載の組立て検査方法。
【請求項13】
前記サブコンポーネントの前記測定された3次元位置と、前記サブコンポーネントのそれぞれの正確な3次元位置との間の3次元位置における差異を算出する前記ステップには、
測定された3次元位置と、それぞれの正確な3次元位置との間の高低差を算出するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項14】
実行時間において、前記組立て検査方法には、
それぞれのサブコンポーネントの複数の3次元位置を用いて、前記部品の全体的な姿勢を算出するステップが、さらに含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項15】
前記部品の全体的な姿勢を算出する前記ステップには、
全体的な姿勢エラーを算出するステップと、
前記全体的な姿勢エラーを最小化する姿勢を検出するステップと、が含まれていることを特徴とする請求項14に記載の組立て検査方法。
【請求項16】
前記ステップには、
前記部品が正確に組立てられているかの判断に貢献するために、
前記全体的な姿勢エラーと前記検査パラメータとを比較するステップがさらに含まれていることを特徴とする請求項15に記載の組立て検査方法。
【請求項17】
実行時間において、
三角測量によって前記サブコンポーネントの測定された3次元位置を算出する前記ステップには、
エラー測定を算出するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、
前記エラー測定と前記検査パラメータとを比較するステップと、が含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項18】
前記部品が少なくとも4つのサブコンポーネントを有し、
前記組立て検査方法には、実行時間において、
3つのサブコンポーネントからなるセットを選択し、少なくとも4番目のサブコンポーネントを除外するステップと、
前記3つのサブコンポーネントからなるセットを用いて、前記部品の全体的な姿勢を算出するステップと、
前記部品の全体的な姿勢を用いて、少なくとも4番目のサブコンポーネントに対応したサブコンポーネントの正確な3次元位置をマッピングして、マッピングされた正確な3次元位置を提供するステップと、
少なくとも4番目のサブコンポーネントの測定された位置と、マッピングされた正確な3次元位置とを比較して、一貫性エラーを提供するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、前記一貫性エラーと前記検査パラメータとを比較するステップと、がさらに含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項19】
少なくとも2つのセットが選択されて、それによって複数の一貫性エラーが提供され、そして、前記組立て検査方法には、
前記部品が正確に組立てられているかの判断に貢献するために、各一貫性エラーが前記検査パラメータと比較されるステップが、さらに含まれていることを特徴とする請求項18に記載の組立て検査方法。
【請求項20】
少なくとも3つのセットが選択されることを特徴とする請求項19記載の組立て検査方法。
【請求項21】
前記部品には、少なくとも3つのサブコンポーネントが含まれており、
実行時間における前記組立て検査方法には、
検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置に
最も接近してマッピングをする変換を求めるステップと、
前記部品の基準系において比較するために、前記検出され選択された点の測定された3次元位置のすべてに対して、前記変換の逆変換を適用するステップと、
前記部品の基準系における検出され選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、部品比較測定基準を提供するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、前記部品比較測定基準と前記検査パラメータとを比較するステップと、
がさらに含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項22】
前記比較するステップには、
前記部品の基準系における検出され選択された点のマッピングされた測定された3次元位置の単一成分と、選択された点の正確な3次元位置のそれぞれの単一成分とを比較して、単一成分部品比較測定基準を提供するステップが含まれており、そして、
前記部品が正確に組立てられているかを判断するステップには、
前記単一成分比較測定基準が、単一成分許容閾値を超えているかを判断し、それによって、前記部品が正確に組立てられているかを少なくとも部分的に判断するステップが含まれていることを特徴とする請求項21に記載の組立て検査方法。
【請求項23】
各前記訓練窓における前記サブコンポーネント上の同一点を選択する前記ステップには、
ユーザーが各前記訓練窓における前記サブコンポーネント上の同一点を選択する助けとなるように、ユニークな3次元位置として選択された多数の点の対応の測定に関する情報を提供するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項24】
前記対応の測定が、RMSエラーであることを特徴とする請求項23に記載の組立て検査方法。
【請求項25】
請求項1ないし24のいずれかに従って動作する機械視覚装置。
【請求項26】
少なくとも3つのサブコンポーネントを有する部品の正確な組立てを検査する方法であって、
訓練時間において、
前記各サブコンポーネントに対し、前記サブコンポーネント上の点を選択するステップと、
前記各サブコンポーネントに対し、物理座標系において、選択された点の正確な3次元位置を求めるステップと、
前記各サブコンポーネントに対し、前記サブコンポーネント上の前記選択された点をそれぞれ検出するステップと、
前記各サブコンポーネントに対し、物理座標系において、検出され選択された点の測定された3次元位置を求めるステップと、
前記検出され選択された点の測定された3次元位置と、前記選択された点の正確な3次元位置とを比較して、部品比較測定基準を提供するステップと、
前記部品比較測定基準が部品許容閾値を超えているかを判断して、それによって、前記部品が正確に組立てられているかを判断するステップと、
が含まれていることを特徴とする組立て検査方法。
【請求項27】
前記比較するステップには、
前記検出され選択された点の測定された3次元位置の単一成分を、前記選択された点の正確な3次元位置の単一成分のそれぞれと比較して、単一成分部品比較測定基準を提供するステップが含まれており、
前記判断するステップには、
前記単一成分比較測定基準が、単一成分許容閾値を超えているかを判断し、それによって少なくとも部分的に前記部品が正確に組立てられているかを判断するステップが含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項28】
前記単一成分を比較するステップには、
検出され測定された点の測定された3次元位置の各x、y、z成分のそれぞれを、選択された点の正確な3次元位置の各x、y、z成分のそれぞれと独立して比較して、各x、y、z成分における成分部品比較測定基準を提供するステップが含まれており、
前記判断するステップには、
比較測定基準の各x、y、z成分のそれぞれが、対応するx、y、z成分の許容閾値を超えているかを判断して、それによって、少なくとも部分的に前記部品が正確に組立てられているかを判断するステップが含まれている
ことを特徴とする請求項27に記載の組立て検査方法。
【請求項29】
前記各x、y、z成分許容閾値が、ユーザーが選択するものであることを特徴とする請求項28に記載の組立て検査方法。
【請求項30】
前記比較するステップには、
各前記サブコンポーネントに対し、検出され選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、3次元位置エラーを提供するステップと、
前記3次元位置エラーのそれぞれを組み合わせて、部品比較測定基準を提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項31】
前記比較するステップには、
前記検出され選択された点の測定された3次元位置を、前記選択された点の正確な3次元位置に最も接近してマッピングをする変換を求めるステップと、
マッピングされた測定された3次元位置と正確な3次元位置とから、RMSエラーを算出するステップと、
前記RMSエラーを少なくとも前記部品比較測定基準の一部として提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項32】
前記比較するステップには、
実行時間において、
前記検出され選択された点の測定された3次元位置を、前記選択された点の正確な3次元位置に最も接近してマッピングをする変換を求めるステップと、
前記部品の基準系において比較するために、前記検出され選択された点の測定された3次元位置のすべてに対して、前記変換の逆変換を適用するステップと、
前記部品の基準系における検出され選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、部品比較測定基準を提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項33】
前記比較するステップには、
前記部品の基準系における検出され選択された点のマッピングされた測定された3次元位置の単一成分と、選択された点の正確な3次元位置のそれぞれの単一成分とを比較して、単一成分部品比較測定基準を提供するステップが含まれており、そして、
前記判断するステップには、
前記単一成分比較測定基準が、単一成分許容閾値を超えているかを判断し、それによって、前記部品が正確に組立てられているかを少なくとも部分的に判断するステップが含まれていることを特徴とする請求項32に記載の組立て検査方法。
【請求項34】
前記比較するステップには、
前記部品の基準系における検出され測定された点のマッピングされた測定された3次元位置と正確な3次元位置とから、RMSエラーを算出するステップと、
前記RMSエラーを少なくとも前記部品比較測定基準の一部として提供するステップと、
が含まれていることを特徴とする請求項32に記載の組立て検査方法。
【請求項35】
前記比較するステップには、
検出され選択された点の3つの測定された3次元位置を選択するステップと、
対応する前記選択された点の正確な3次元位置を、前記検出され選択された点の3つの測定された3次元位置に最も接近してマッピングをする変換を求めるステップと、
前記変換を用いて、前記選択された点の正確な3次元位置から4番目の3次元位置を、前記検出され測定された点の予測された測定された3次元位置にマッピングするステップと、
前記検出され選択された点の予測され測定された3次元位置を、前記検出され測定された点の実際に測定された3次元位置と比較して、一貫性チェック3次元位置エラーを提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項36】
前記比較するステップには、
検出され選択された点の3つの測定された3次元位置を選択するステップと、
対応する前記選択された点の正確な3次元位置を、前記検出され選択された点の3つの測定された3次元位置に最も接近してマッピングをする変換を求めるステップと、
前記変換を用いて、前記選択された点の正確な3次元位置から4番目の3次元位置を、前記検出され測定された点の予測された測定された3次元位置にマッピングするステップと、
前記検出され選択された点の予測され測定された3次元位置の単一成分を、前記検出され測定された点の実際に測定された3次元位置の単一成分と比較して、少なくとも部品比較検査基準に貢献を提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項37】
請求項33に記載の組立て検査方法が、検出され選択された点の3つの測定された3次元位置の複数の異なるセットに対して繰り返されて、複数の一貫性チェック3次元位置エラーを提供するステップと、
一貫性チェック3次元位置エラーの総計を算出するステップと、
少なくとも前記部品比較測定基準の一部として、前記一貫性チェック3次元位置エラーの総計を提供するステップと、
がさらに含まれていることを特徴とする請求項35に記載の組立て検査方法。
【請求項38】
請求項39に記載の組立て検査方法が、検出され選択された点の3つの測定された3次元位置の複数の異なるセットに対して繰り返されて、複数の一貫性チェック3次元位置エラーを提供するステップと、
一貫性チェック3次元位置エラーの総計を算出するステップと、
少なくとも前記部品比較測定基準の一部として、前記一貫性チェック3次元位置エラーの総計を提供するステップと、
がさらに含まれていることを特徴とする請求項35に記載の組立て検査方法。
【請求項39】
実行時間において、
各前記サブコンポーネントに対し、前記サブコンポーネント上の点の選択が、オペレータによって手動で行なわれることを特徴とする請求項26に記載の組立て検査方法。
【請求項40】
実行時間において、
各サブコンポーネントに対し、オペレータが複数の訓練窓のそれぞれから見ることのできる点を選択し、そして、各訓練窓は、3台のそれぞれ調整されたカメラの1台の視野の一部を表わしていることを特徴とする請求項26に記載の組立て検査方法。
【請求項41】
前記訓練窓は、少なくとも3つ存在していることを特徴とする請求項40に記載の組立て検査方法。
【請求項42】
実行時間において、
各前記サブコンポーネントに対し、誤差関数を最小にするために、オペレータが各訓練窓内の点をクリックすることによって、複数の訓練窓のそれぞれの点を選択することを特徴とする請求項40に記載の組立て検査方法。
【請求項43】
各前記サブコンポーネントに対し、2次元サーチモデルが訓練されて、複数の訓練窓のそれぞれの中の前記サブコンポーネントを検出し、そして、選択された点が、前記2次元サーチモデルの原点として働くことを特徴とする請求項40に記載の組立て検査方法。
【請求項44】
前記2次元サーチモデルが、正規化相関サーチ、回転不変かつ大きさ不変サーチ、PatMaxサーチのうちの1つに基づいていることを特徴とする請求項43に記載の組立て検査方法。
【請求項45】
訓練時間において、
前記各サブコンポーネントに対し、前記サブコンポーネント上の点を選択する前記ステップには、
複数の他のサブコンポーネントを支持する基板の表面上の基準の中央にある点を選択するステップが含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項46】
訓練時間において、
選択された点の物理座標系における正確な3次元位置が、三角測量によって求められることを特徴とする請求項26に記載の組立て検査方法。
【請求項47】
前記三角測量の1つの結果が、三角測量RMSエラーであることを特徴とする請求項46に記載の組立て検査方法。
【請求項48】
前記三角測量RMSエラーが、許容閾値と比較されることを特徴とする請求項47に記載の組立て検査方法。
【請求項49】
複数のサブコンポーネントを有する部品の正確な組立てを検査する方法であって、
訓練時間において、
2つの前記サブコンポーネントのそれぞれの上の点を選択するステップと、
両方の前記サブコンポーネントに対し、物理座標系における選択された点の正確な3次元位置を求めるステップと、
実行時間において、
両方の前記サブコンポーネントに対し、前記サブコンポーネント上の選択された点をそれぞれ検出するステップと、
両方の前記サブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップと、
前記検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、部品の比較測定基準を提供するステップと、
前記部品の比較測定基準が、部品の許容閾値を超えているかを判断して、それによって前記部品が正確に組立てられているかを判断するステップと、
を有していることを特徴とする組立て検査方法。
【請求項50】
前記比較するステップには、
両方の前記サブコンポーネントに対し、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、3次元位置エラーを提供するステップが含まれていることを特徴とする請求項49に記載の組立て検査方法。
【請求項51】
前記比較するステップには、
訓練時間において、
2つの前記サブコンポーネントのそれぞれの上の点を選択し、少なくとも選択した2つの点のうち1つが、前回選択された点の対と異なっているステップと、
両方の前記サブコンポーネントに対し、物理座標系における選択された点の正確な3次元位置を求めるステップと、
実行時間において、
両方の前記サブコンポーネントに対し、前記サブコンポーネント上の前記選択された点をそれぞれ検出するステップと、
両方の前記サブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップと、
前記検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、サブコンポーネント対のスパン検査測定基準を提供するステップと、
前記サブコンポーネント対スパン検査測定基準を、少なくとも第二のサブコンポーネント対スパン検査測定基準と組み合わせて、累積サブコンポーネント対スパン検査測定基準を提供するステップと、
前記累積サブコンポーネント対スパン検査測定基準が、部品の許容閾値を超えているかを判断して、それによって、前記部品が正確に組立てられているかを判断するステップと、
が含まれていることを特徴とする請求項49に記載の組立て検査方法。
【請求項52】
請求項51に記載の組立て検査方法が、検出され選択された点の測定された3次元位置の複数の対に対して繰り返されて、複数のサブコンポーネント対スパン検査測定基準を提供するステップと、
サブコンポーネント対スパン検査測定基準の総計を算出するステップと、
少なくとも前記部品比較測定基準の一部として、前記サブコンポーネント対スパン検査測定基準の総計を提供するステップと、
がさらに含まれていることを特徴とする請求項51に記載の組立て検査方法。
【請求項1】
複数のサブコンポーネントを有する部品の正確な組立てを検査する方法であって、
訓練時間において、
少なくとも1台のカメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、少なくとも2台の前記カメラを配置するステップと、
少なくとも画像の座標を物理座標と関連付けるように、少なくとも2台の前記カメラのそれぞれを較正するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、少なくとも2台の前記カメラのそれぞれを用いて、正確に組立てられた位置における前記サブコンポーネントの画像を収集するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、少なくとも2台の前記カメラのそれぞれを用いて、前記サブコンポーネントが含まれる訓練窓を選択し、各前記訓練窓における前記サブコンポーネント上の同一点を選択し、前記同一点を前記サブコンポーネントに関連した原点とするステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、三角測量によって予想される3次元位置を算出するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、前記訓練窓とそれに対応した前記原点とを用いて、前記訓練窓内に前記サブコンポーネントの2次元サーチモデルを作成するステップと、
検査パラメータを選択するステップと、を有し、
実行時間において、
検査すべき組立てられた部品の少なくとも2つの前記サブコンポーネントのそれぞれに対し、少なくとも2台の前記カメラをそれぞれ用いて、候補組立て位置における前記サブコンポーネントの画像を収集するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、前記サブコンポーネントの前記原点の測定された2次元位置を提供するために、前記サブコンポーネントの前記2次元サーチモデルを用いて、前記対象組立て位置における前記サブコンポーネントの前記画像を検出するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、三角測量によって前記サブコンポーネントの測定された3次元位置を算出するステップと、
少なくとも2つの前記サブコンポーネントのそれぞれに対し、前記サブコンポーネントの前記測定された3次元位置と、前記サブコンポーネントのそれぞれの正確な3次元位置との間の3次元位置における差異を算出するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、前記3次元位置における差異と、前記検査パラメータとを比較するステップと、
を有していることを特徴とする組立て検査方法。
【請求項2】
前記訓練時間における前記画像が、同時に収集されていることを特徴とする請求項1に記載の組立て検査方法。
【請求項3】
前記実行時間における前記画像が、同時に収集されていることを特徴とする請求項1に記載の組立て検査方法。
【請求項4】
少なくとも1台の前記カメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、前記少なくとも2台の前記カメラを配置する前記ステップが、
少なくとも2台の予め調整したカメラを配置するステップを含み、
それによって、ユーザーにとって少なくとも前記画像の座標を前記物理座標と関連付けるための少なくとも2台の前記カメラのそれぞれを調整するステップを省略することができるということを特徴とする請求項1に記載の組立て検査方法。
【請求項5】
前記比較するステップには、前記部品が正確に組立てられているかの判断に貢献するために、前記3次元位置における差異の単一成分と、前記検査パラメータの単一成分とを比較するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項6】
前記単一成分が、z軸方向の位置であることを特徴とする請求項5に記載の組立て検査方法。
【請求項7】
少なくとも1台の前記カメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、前記少なくとも2台の前記カメラを配置する前記ステップが、
前記各カメラの視野に、前記部品の少なくとも1つの前記サブコンポーネントが含まれるように、3台の前記カメラを配置するステップを含んでいることを特徴とする請求項1に記載の組立て検査方法。
【請求項8】
少なくとも2台の前記カメラをそれぞれ調整する前記ステップが、
少なくとも2台の前記カメラのそれぞれのカメラ原点の3次元位置を求めるステップを含んでいることを特徴とする請求項1に記載の組立て検査方法。
【請求項9】
訓練時間において、三角測量には、
前記各カメラの視野内において前記サブコンポーネントの前記原点の2次元位置と、
前記各カメラの前記カメラ原点の3次元位置と、を用いるステップが含まれていることを特徴とする請求項8に記載の組立て検査方法。
【請求項10】
訓練時間において、前記検査パラメータを選択する前記ステップには、
測定した3次元位置の正確な3次元位置からのずれ量が受け入れ可能である範囲を定義する距離許容範囲を選択するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項11】
訓練時間において、前記訓練窓内に前記サブコンポーネントの2次元サーチモデルを作成する前記ステップには、
回転不変と大きさ不変のサーチモデルを作成するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項12】
実行時間において、三角測量には、
前記各カメラの視野内において、前記サブコンポーネントの原点の測定された2次元位置と、
前記各カメラの前記カメラ原点の3次元位置と、を用いるステップが含まれていることを特徴とする請求項11に記載の組立て検査方法。
【請求項13】
前記サブコンポーネントの前記測定された3次元位置と、前記サブコンポーネントのそれぞれの正確な3次元位置との間の3次元位置における差異を算出する前記ステップには、
測定された3次元位置と、それぞれの正確な3次元位置との間の高低差を算出するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項14】
実行時間において、前記組立て検査方法には、
それぞれのサブコンポーネントの複数の3次元位置を用いて、前記部品の全体的な姿勢を算出するステップが、さらに含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項15】
前記部品の全体的な姿勢を算出する前記ステップには、
全体的な姿勢エラーを算出するステップと、
前記全体的な姿勢エラーを最小化する姿勢を検出するステップと、が含まれていることを特徴とする請求項14に記載の組立て検査方法。
【請求項16】
前記ステップには、
前記部品が正確に組立てられているかの判断に貢献するために、
前記全体的な姿勢エラーと前記検査パラメータとを比較するステップがさらに含まれていることを特徴とする請求項15に記載の組立て検査方法。
【請求項17】
実行時間において、
三角測量によって前記サブコンポーネントの測定された3次元位置を算出する前記ステップには、
エラー測定を算出するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、
前記エラー測定と前記検査パラメータとを比較するステップと、が含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項18】
前記部品が少なくとも4つのサブコンポーネントを有し、
前記組立て検査方法には、実行時間において、
3つのサブコンポーネントからなるセットを選択し、少なくとも4番目のサブコンポーネントを除外するステップと、
前記3つのサブコンポーネントからなるセットを用いて、前記部品の全体的な姿勢を算出するステップと、
前記部品の全体的な姿勢を用いて、少なくとも4番目のサブコンポーネントに対応したサブコンポーネントの正確な3次元位置をマッピングして、マッピングされた正確な3次元位置を提供するステップと、
少なくとも4番目のサブコンポーネントの測定された位置と、マッピングされた正確な3次元位置とを比較して、一貫性エラーを提供するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、前記一貫性エラーと前記検査パラメータとを比較するステップと、がさらに含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項19】
少なくとも2つのセットが選択されて、それによって複数の一貫性エラーが提供され、そして、前記組立て検査方法には、
前記部品が正確に組立てられているかの判断に貢献するために、各一貫性エラーが前記検査パラメータと比較されるステップが、さらに含まれていることを特徴とする請求項18に記載の組立て検査方法。
【請求項20】
少なくとも3つのセットが選択されることを特徴とする請求項19記載の組立て検査方法。
【請求項21】
前記部品には、少なくとも3つのサブコンポーネントが含まれており、
実行時間における前記組立て検査方法には、
検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置に
最も接近してマッピングをする変換を求めるステップと、
前記部品の基準系において比較するために、前記検出され選択された点の測定された3次元位置のすべてに対して、前記変換の逆変換を適用するステップと、
前記部品の基準系における検出され選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、部品比較測定基準を提供するステップと、
前記部品が正確に組立てられているかの判断に貢献するために、前記部品比較測定基準と前記検査パラメータとを比較するステップと、
がさらに含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項22】
前記比較するステップには、
前記部品の基準系における検出され選択された点のマッピングされた測定された3次元位置の単一成分と、選択された点の正確な3次元位置のそれぞれの単一成分とを比較して、単一成分部品比較測定基準を提供するステップが含まれており、そして、
前記部品が正確に組立てられているかを判断するステップには、
前記単一成分比較測定基準が、単一成分許容閾値を超えているかを判断し、それによって、前記部品が正確に組立てられているかを少なくとも部分的に判断するステップが含まれていることを特徴とする請求項21に記載の組立て検査方法。
【請求項23】
各前記訓練窓における前記サブコンポーネント上の同一点を選択する前記ステップには、
ユーザーが各前記訓練窓における前記サブコンポーネント上の同一点を選択する助けとなるように、ユニークな3次元位置として選択された多数の点の対応の測定に関する情報を提供するステップが含まれていることを特徴とする請求項1に記載の組立て検査方法。
【請求項24】
前記対応の測定が、RMSエラーであることを特徴とする請求項23に記載の組立て検査方法。
【請求項25】
請求項1ないし24のいずれかに従って動作する機械視覚装置。
【請求項26】
少なくとも3つのサブコンポーネントを有する部品の正確な組立てを検査する方法であって、
訓練時間において、
前記各サブコンポーネントに対し、前記サブコンポーネント上の点を選択するステップと、
前記各サブコンポーネントに対し、物理座標系において、選択された点の正確な3次元位置を求めるステップと、
前記各サブコンポーネントに対し、前記サブコンポーネント上の前記選択された点をそれぞれ検出するステップと、
前記各サブコンポーネントに対し、物理座標系において、検出され選択された点の測定された3次元位置を求めるステップと、
前記検出され選択された点の測定された3次元位置と、前記選択された点の正確な3次元位置とを比較して、部品比較測定基準を提供するステップと、
前記部品比較測定基準が部品許容閾値を超えているかを判断して、それによって、前記部品が正確に組立てられているかを判断するステップと、
が含まれていることを特徴とする組立て検査方法。
【請求項27】
前記比較するステップには、
前記検出され選択された点の測定された3次元位置の単一成分を、前記選択された点の正確な3次元位置の単一成分のそれぞれと比較して、単一成分部品比較測定基準を提供するステップが含まれており、
前記判断するステップには、
前記単一成分比較測定基準が、単一成分許容閾値を超えているかを判断し、それによって少なくとも部分的に前記部品が正確に組立てられているかを判断するステップが含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項28】
前記単一成分を比較するステップには、
検出され測定された点の測定された3次元位置の各x、y、z成分のそれぞれを、選択された点の正確な3次元位置の各x、y、z成分のそれぞれと独立して比較して、各x、y、z成分における成分部品比較測定基準を提供するステップが含まれており、
前記判断するステップには、
比較測定基準の各x、y、z成分のそれぞれが、対応するx、y、z成分の許容閾値を超えているかを判断して、それによって、少なくとも部分的に前記部品が正確に組立てられているかを判断するステップが含まれている
ことを特徴とする請求項27に記載の組立て検査方法。
【請求項29】
前記各x、y、z成分許容閾値が、ユーザーが選択するものであることを特徴とする請求項28に記載の組立て検査方法。
【請求項30】
前記比較するステップには、
各前記サブコンポーネントに対し、検出され選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、3次元位置エラーを提供するステップと、
前記3次元位置エラーのそれぞれを組み合わせて、部品比較測定基準を提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項31】
前記比較するステップには、
前記検出され選択された点の測定された3次元位置を、前記選択された点の正確な3次元位置に最も接近してマッピングをする変換を求めるステップと、
マッピングされた測定された3次元位置と正確な3次元位置とから、RMSエラーを算出するステップと、
前記RMSエラーを少なくとも前記部品比較測定基準の一部として提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項32】
前記比較するステップには、
実行時間において、
前記検出され選択された点の測定された3次元位置を、前記選択された点の正確な3次元位置に最も接近してマッピングをする変換を求めるステップと、
前記部品の基準系において比較するために、前記検出され選択された点の測定された3次元位置のすべてに対して、前記変換の逆変換を適用するステップと、
前記部品の基準系における検出され選択された点の測定された3次元位置と、選択された点の正確な3次元位置とを比較して、部品比較測定基準を提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項33】
前記比較するステップには、
前記部品の基準系における検出され選択された点のマッピングされた測定された3次元位置の単一成分と、選択された点の正確な3次元位置のそれぞれの単一成分とを比較して、単一成分部品比較測定基準を提供するステップが含まれており、そして、
前記判断するステップには、
前記単一成分比較測定基準が、単一成分許容閾値を超えているかを判断し、それによって、前記部品が正確に組立てられているかを少なくとも部分的に判断するステップが含まれていることを特徴とする請求項32に記載の組立て検査方法。
【請求項34】
前記比較するステップには、
前記部品の基準系における検出され測定された点のマッピングされた測定された3次元位置と正確な3次元位置とから、RMSエラーを算出するステップと、
前記RMSエラーを少なくとも前記部品比較測定基準の一部として提供するステップと、
が含まれていることを特徴とする請求項32に記載の組立て検査方法。
【請求項35】
前記比較するステップには、
検出され選択された点の3つの測定された3次元位置を選択するステップと、
対応する前記選択された点の正確な3次元位置を、前記検出され選択された点の3つの測定された3次元位置に最も接近してマッピングをする変換を求めるステップと、
前記変換を用いて、前記選択された点の正確な3次元位置から4番目の3次元位置を、前記検出され測定された点の予測された測定された3次元位置にマッピングするステップと、
前記検出され選択された点の予測され測定された3次元位置を、前記検出され測定された点の実際に測定された3次元位置と比較して、一貫性チェック3次元位置エラーを提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項36】
前記比較するステップには、
検出され選択された点の3つの測定された3次元位置を選択するステップと、
対応する前記選択された点の正確な3次元位置を、前記検出され選択された点の3つの測定された3次元位置に最も接近してマッピングをする変換を求めるステップと、
前記変換を用いて、前記選択された点の正確な3次元位置から4番目の3次元位置を、前記検出され測定された点の予測された測定された3次元位置にマッピングするステップと、
前記検出され選択された点の予測され測定された3次元位置の単一成分を、前記検出され測定された点の実際に測定された3次元位置の単一成分と比較して、少なくとも部品比較検査基準に貢献を提供するステップと、
が含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項37】
請求項33に記載の組立て検査方法が、検出され選択された点の3つの測定された3次元位置の複数の異なるセットに対して繰り返されて、複数の一貫性チェック3次元位置エラーを提供するステップと、
一貫性チェック3次元位置エラーの総計を算出するステップと、
少なくとも前記部品比較測定基準の一部として、前記一貫性チェック3次元位置エラーの総計を提供するステップと、
がさらに含まれていることを特徴とする請求項35に記載の組立て検査方法。
【請求項38】
請求項39に記載の組立て検査方法が、検出され選択された点の3つの測定された3次元位置の複数の異なるセットに対して繰り返されて、複数の一貫性チェック3次元位置エラーを提供するステップと、
一貫性チェック3次元位置エラーの総計を算出するステップと、
少なくとも前記部品比較測定基準の一部として、前記一貫性チェック3次元位置エラーの総計を提供するステップと、
がさらに含まれていることを特徴とする請求項35に記載の組立て検査方法。
【請求項39】
実行時間において、
各前記サブコンポーネントに対し、前記サブコンポーネント上の点の選択が、オペレータによって手動で行なわれることを特徴とする請求項26に記載の組立て検査方法。
【請求項40】
実行時間において、
各サブコンポーネントに対し、オペレータが複数の訓練窓のそれぞれから見ることのできる点を選択し、そして、各訓練窓は、3台のそれぞれ調整されたカメラの1台の視野の一部を表わしていることを特徴とする請求項26に記載の組立て検査方法。
【請求項41】
前記訓練窓は、少なくとも3つ存在していることを特徴とする請求項40に記載の組立て検査方法。
【請求項42】
実行時間において、
各前記サブコンポーネントに対し、誤差関数を最小にするために、オペレータが各訓練窓内の点をクリックすることによって、複数の訓練窓のそれぞれの点を選択することを特徴とする請求項40に記載の組立て検査方法。
【請求項43】
各前記サブコンポーネントに対し、2次元サーチモデルが訓練されて、複数の訓練窓のそれぞれの中の前記サブコンポーネントを検出し、そして、選択された点が、前記2次元サーチモデルの原点として働くことを特徴とする請求項40に記載の組立て検査方法。
【請求項44】
前記2次元サーチモデルが、正規化相関サーチ、回転不変かつ大きさ不変サーチ、PatMaxサーチのうちの1つに基づいていることを特徴とする請求項43に記載の組立て検査方法。
【請求項45】
訓練時間において、
前記各サブコンポーネントに対し、前記サブコンポーネント上の点を選択する前記ステップには、
複数の他のサブコンポーネントを支持する基板の表面上の基準の中央にある点を選択するステップが含まれていることを特徴とする請求項26に記載の組立て検査方法。
【請求項46】
訓練時間において、
選択された点の物理座標系における正確な3次元位置が、三角測量によって求められることを特徴とする請求項26に記載の組立て検査方法。
【請求項47】
前記三角測量の1つの結果が、三角測量RMSエラーであることを特徴とする請求項46に記載の組立て検査方法。
【請求項48】
前記三角測量RMSエラーが、許容閾値と比較されることを特徴とする請求項47に記載の組立て検査方法。
【請求項49】
複数のサブコンポーネントを有する部品の正確な組立てを検査する方法であって、
訓練時間において、
2つの前記サブコンポーネントのそれぞれの上の点を選択するステップと、
両方の前記サブコンポーネントに対し、物理座標系における選択された点の正確な3次元位置を求めるステップと、
実行時間において、
両方の前記サブコンポーネントに対し、前記サブコンポーネント上の選択された点をそれぞれ検出するステップと、
両方の前記サブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップと、
前記検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、部品の比較測定基準を提供するステップと、
前記部品の比較測定基準が、部品の許容閾値を超えているかを判断して、それによって前記部品が正確に組立てられているかを判断するステップと、
を有していることを特徴とする組立て検査方法。
【請求項50】
前記比較するステップには、
両方の前記サブコンポーネントに対し、検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、3次元位置エラーを提供するステップが含まれていることを特徴とする請求項49に記載の組立て検査方法。
【請求項51】
前記比較するステップには、
訓練時間において、
2つの前記サブコンポーネントのそれぞれの上の点を選択し、少なくとも選択した2つの点のうち1つが、前回選択された点の対と異なっているステップと、
両方の前記サブコンポーネントに対し、物理座標系における選択された点の正確な3次元位置を求めるステップと、
実行時間において、
両方の前記サブコンポーネントに対し、前記サブコンポーネント上の前記選択された点をそれぞれ検出するステップと、
両方の前記サブコンポーネントに対し、物理座標系における検出され選択された点の測定された3次元位置を求めるステップと、
前記検出され選択された点の測定された3次元位置を、選択された点の正確な3次元位置と比較して、サブコンポーネント対のスパン検査測定基準を提供するステップと、
前記サブコンポーネント対スパン検査測定基準を、少なくとも第二のサブコンポーネント対スパン検査測定基準と組み合わせて、累積サブコンポーネント対スパン検査測定基準を提供するステップと、
前記累積サブコンポーネント対スパン検査測定基準が、部品の許容閾値を超えているかを判断して、それによって、前記部品が正確に組立てられているかを判断するステップと、
が含まれていることを特徴とする請求項49に記載の組立て検査方法。
【請求項52】
請求項51に記載の組立て検査方法が、検出され選択された点の測定された3次元位置の複数の対に対して繰り返されて、複数のサブコンポーネント対スパン検査測定基準を提供するステップと、
サブコンポーネント対スパン検査測定基準の総計を算出するステップと、
少なくとも前記部品比較測定基準の一部として、前記サブコンポーネント対スパン検査測定基準の総計を提供するステップと、
がさらに含まれていることを特徴とする請求項51に記載の組立て検査方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2010−528318(P2010−528318A)
【公表日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2010−510268(P2010−510268)
【出願日】平成19年5月29日(2007.5.29)
【国際出願番号】PCT/US2007/012637
【国際公開番号】WO2008/147355
【国際公開日】平成20年12月4日(2008.12.4)
【出願人】(500576452)コグネックス・テクノロジー・アンド・インベストメント・コーポレーション (14)
【出願人】(509329512)
【Fターム(参考)】
【公表日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願日】平成19年5月29日(2007.5.29)
【国際出願番号】PCT/US2007/012637
【国際公開番号】WO2008/147355
【国際公開日】平成20年12月4日(2008.12.4)
【出願人】(500576452)コグネックス・テクノロジー・アンド・インベストメント・コーポレーション (14)
【出願人】(509329512)
【Fターム(参考)】
[ Back to top ]