(57)【要約】【課題】位置決めのために定義可能な部位の数が少ない部品であっても、正確に部品の位置を検出することができる部品位置検出方法及び装置を提供する。【解決手段】部品重心３０ｃと部品の他の部位、例えばリード先端３０ｂの位置を部品データに記述し、撮像された部品３０の画像を処理して部品重心とリード先端を検出する。検出された部品重心とリード先端の位置と、部品データに記述されている両位置に基づいて撮像された部品の傾きを算出する。部品中心３０ｄは、算出された部品傾きと、部品重心あるいはリード先端と部品中心３０ｄ間のオフセット値から算出する。このような構成では、撮像された部品画像から重心位置を検出することにより、その座標点を位置決めのデータとして利用することができるので、位置決めのために定義可能な部位の数が少ない部品の位置検出が可能となる。【選択図】図３
2007040968.tif 000002
【特許請求の範囲】
【請求項１】
撮像された部品の画像を処理して部品位置を検出する方法であって、
部品重心と部品の他の部位の位置を部品データとして求め、
撮像された部品画像を処理して部品重心と他の部位を検出し、
検出された部品重心と他の部位の位置と、部品データとして求めた両位置に基づいて撮像された部品の傾きを算出することを特徴とする部品位置検出方法。
【請求項２】
前記算出された部品傾きと、部品重心及び／又は他の部位と部品中心間のオフセット値から撮像された部品の中心を算出することを特徴とする請求項１に記載の部品位置検出方法。
【請求項３】
撮像された部品の画像を処理して部品位置を検出する方法であって、
部品の輪郭重心とソリッド重心の位置を部品データとして求め、
撮像された部品画像を処理して部品の輪郭重心とソリッド重心を検出し、
検出された輪郭重心とソリッド重心の位置と、部品データとして求めた両重心の位置から撮像された部品の傾きを算出することを特徴とする部品位置検出方法。
【請求項４】
前記検出した部品傾きと、部品の輪郭重心及び／又はソリッド重心と部品中心間のオフセット値から撮像された部品の中心を算出することを特徴とする請求項３に記載の部品位置検出方法。
【請求項５】
部品重心を検出するとき、検出された重心の妥当性を判断し、妥当性がないと判断された場合には、エラー処理することを特徴とする請求項１から４のいずれか１項に記載の部品位置検出方法。
【請求項６】
検出された部品重心と他の部位の位置間の距離が、部品データとして求められた部品重心と他の部位の位置間の距離から許容範囲を超えてずれている場合には、エラー処理することを特徴とする請求項１から５のいずれか１項に記載の部品位置検出方法。
【請求項７】
部品重心を部品データとして求めるとき、部品認識条件を変動させて部品重心を検出し、検出された部品重心のばらつきを部品データとして記述することを特徴とする請求項１から６のいずれか１項に記載の部品位置検出方法。
【請求項８】
撮像された部品の画像を処理して部品位置を検出する装置であって、
部品重心と部品の他の部位の位置を記述した部品データを格納する格納手段と、
撮像された部品画像を処理して部品重心と他の部位を検出する検出手段と、
検出された部品重心と他の部位の位置と、部品データに記述されている両位置に基づいて撮像された部品の傾きを算出する算出手段と、
を有することを特徴とする部品位置検出装置。
【請求項９】
前記算出された部品傾きと、部品重心及び／又は他の部位と部品中心間のオフセット値から撮像された部品の中心を算出することを特徴とする請求項８に記載の部品位置検出装置。
【請求項１０】
撮像された部品の画像を処理して部品位置を検出する装置であって、
部品の輪郭重心とソリッド重心の位置を記述した部品データを格納する格納手段と、
撮像された部品画像を処理して部品の輪郭重心とソリッド重心を検出する検出手段と、
検出された輪郭重心とソリッド重心の位置と、部品データとして記述されている両重心の位置から撮像された部品の傾きを算出する算出手段と、
を有することを特徴とする部品位置検出装置。
【請求項１１】
前記検出した部品傾きと、部品の輪郭重心及び／又はソリッド重心と部品中心間のオフセット値から撮像された部品の中心を算出することを特徴とする請求項１０に記載の部品位置検出装置。
【請求項１２】
部品重心を検出するとき、検出された重心の妥当性を判断し、妥当性がないと判断された場合には、エラー処理することを特徴とする請求項８から１１のいずれか１項に記載の部品位置検出装置。
【請求項１３】
検出された部品重心と他の部位の位置間の距離が、部品データとして求められた部品重心と他の部位の位置間の距離から許容範囲を超えてずれている場合には、エラー処理することを特徴とする請求項８から１２のいずれか１項に記載の部品位置検出装置。
【請求項１４】
部品重心を部品データとして求めるとき、部品認識条件を変動させて部品重心を検出し、検出された部品重心のばらつきを部品データとして記述することを特徴とする請求項８から１３のいずれか１項に記載の部品位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部品位置検出方法及び装置、更に詳細には、撮像された電子部品の画像を処理して部品位置を検出する方法及び装置に関するものである。
【背景技術】
【０００２】
従来より、電子部品（以下単に部品という）を基板上に実装する部品実装機では、吸着された部品の画像をＣＣＤカメラなどの撮像手段から取り込み、この部品の画像を認識して部品中心と部品傾きを求めて部品の位置検出を行い、部品の吸着ずれを補正して部品を基板上の所定位置に搭載している。
【０００３】
このように部品中心と部品傾きを求める部品位置検出（部品の位置決め、あるいは部品認識ともいう）に対しては、搭載される部品の所定部位ないし特徴のある部位をエレメントとし、異なるエレメントごとにエレメントの集合であるエレメントグループを作成し、各エレメントグループの位置情報に基づき部品位置を検出することが提案されている（特許文献１）。この方法では、搭載される部品において、座標点としてあらわすことができるエレメント（例えば、リード端子、ボール端子、コーナー）が２つあれば、部品の位置決めが可能である。
【０００４】
さらに、部品の種類に制限を受けることがなく、高精度の位置決めを可能にするために、少なくとも１本の直線部を検出し、この直線部に対して垂直な走査線を用いて部品を走査し、部品に外接する外接線を求め、部品データにより得られる部品寸法を用いて部品中心を求め、また直線部の傾きを部品傾きとして部品位置検出を行うことが提案されている（特許文献２）。この方法では、搭載される部品において、傾きをあらわすことができるエレメント（例えば、辺）が１つあれば、部品の位置決めが可能である。
【０００５】
特許文献１、２に記載された部品位置検出方法では、いずれも、ＣＣＤカメラなどの撮像装置で取得された部品の画像を画像処理して、画像内の各エレメントの検出を行い、検出エレメントを結ぶ線分の傾きと基準傾きとの差を求めて、それを部品傾きとし、この算出した傾きと、各エレメントの部品中心へのオフセットから、各検出エレメントについて、部品中心を算出している。
【特許文献１】特開２００１−２０９７９２号公報
【特許文献２】特開２００２−２８８６３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方法で用意されたエレメント種別だけでは、図９に示すような部品７０については、一つのリード７０ａしか持たないので、２つ以上の座標点をあらわすエレメント、もしくは１つ以上の傾きを求めることが可能なエレメントを定義することができず、位置決めすることができなかった。
【０００７】
また、図１０（Ａ）に示すような４つのコーナー８０ａ〜８０ｄを有する部品８０の画像は、各コーナーに標準サイズの検出ウインドウ８１ａ〜８１ｄを設定して、位置決め処理が行われているが、図１０（Ｂ）に示すように、部品が吸着ずれを起こしている場合は、検出ウインドウ内にコーナーが存在しないので、段階的にウインドウサイズを大きくしたり、あるいはその位置をずらして補正ウインドウ８２ａ〜８２ｄを生成し、検出処理を繰り返すというリトライ処理を行っていた。
【０００８】
しかしながら、このような処理では指定エレメント付近に類似形状のエレメントがあると、同一ウインドウ内に入ってしまい、誤検出をする恐れがあった。また、リトライ処理や検出ウインドウサイズの拡大で、処理時間が増大するという問題もあった。
【０００９】
また、端子がまったくない部品については、重心＋慣性主軸を部品中心、傾きとして位置決めすることが可能であったが、部品の縦横寸法がほぼ同じ場合、慣性主軸は安定せず、部品アスペクト比が１：２以上であることなどの制限条件をつけなければならなかった。
【００１０】
本発明は、このような問題点を解決するためになされたもので、位置決めのために定義可能な部位の数が少ない部品であっても、正確に部品の位置を検出し、部品の誤搭載を防止することができる部品位置検出方法及び装置を提供することを課題とする。
【課題を解決するための手段】
【００１１】
本発明（請求項１、８）は、
撮像された部品の画像を処理して部品位置を検出する方法及び装置であって、
部品重心と部品の他の部位の位置を部品データとして求めること、
撮像された部品画像を処理して部品重心と他の部位を検出すること、
検出された部品重心と他の部位の位置と、部品データとして求めた両位置に基づいて撮像された部品の傾きを算出することを特徴とする。
【００１２】
また、上記発明で、部品中心は、算出された部品傾きと、部品重心及び／又は他の部位と部品中心との間のオフセット値から算出される。
【００１３】
また、本発明（請求項３、１０）は、
撮像された部品の画像を処理して部品位置を検出する方法及び装置であって、
部品の輪郭重心とソリッド重心の位置を部品データとして求めること、
撮像された部品画像を処理して部品の輪郭重心とソリッド重心を検出すること、
検出された輪郭重心とソリッド重心の位置と、部品データとして求めた両重心の位置から撮像された部品の傾きを算出することを特徴とする。
【００１４】
また、上記発明で、部品中心は、算出された部品傾きと、部品の輪郭重心及び／又はソリッド重心と部品中心との間のオフセット値から算出される。
【００１５】
また、本発明では、部品重心を検出するとき、検出された重心の妥当性を判断し、妥当性がないと判断された場合、あるいは、検出された部品重心と他の部位の位置間の距離が、部品データとして求められた部品重心と他の部位の位置間の距離から許容範囲を超えてずれている場合には、エラー処理がなされる。
【００１６】
また、本発明では、部品重心を部品データとして求めるとき、部品認識条件を変動させて部品重心を検出し、検出された部品重心のばらつきが部品データとして記述される。
【発明の効果】
【００１７】
本発明によれば、重心を位置決めのためのエレメントとして定義しているので、撮像された部品画像から重心位置を検出することにより、その座標点を位置決めのデータとして利用することができる。従って、従来では、形状特徴が少なく２点以上の座標点が指定できず、位置決め不可であった部品においても、位置決めが可能となり、信頼性のある部品位置検出が可能となる。
【００１８】
また、本発明では、検出された重心に妥当性がない場合、あるいは、検出された重心が部品データとして求めた重心位置と所定値以上ずれている場合にはエラー処理がなされるので、部品の誤搭載を防止することができる。
【００１９】
さらに、本発明では、部品重心を部品データとして求めるとき、部品認識条件を変動させて部品重心を検出し、検出された部品重心のばらつきが部品データとして記述されるので、重心のばらつきが大きい場合には、定義できない部品として取り扱い、重心を用いた位置決めを中止することができ、誤搭載を未然に防止できる。
【発明を実施するための最良の形態】
【００２０】
以下、図面に示す実施例に基づいて本発明を詳細に説明する。
【実施例１】
【００２１】
図１は本発明の部品の位置検出に用いられるシステムの構成図である。このシステムは、部品２を吸着し、撮像位置へセットするための吸着ノズル１と、吸着ノズル１の移動や照明装置３の駆動など部品の基板（不図示）上への搭載動作を制御するマシン制御装置１３と、部品２を撮像するための撮像装置として機能する標準カメラ４及び高解像度カメラ５と、撮像された画像を処理して部品認識する画像処理装置１２とによって構成される。
【００２２】
画像処理装置１２は、カメラ４、５で撮像された部品の画像をデジタル画像に変換するＡ／Ｄコンバータ６、デジタル画像に変換された画像を格納する画像メモリ７、作業用メモリ８、画像メモリ８のデータを演算処理する演算装置９、部品データ格納メモリ１０、インターフェース１１並びに、各装置ないしメモリ間のデータの流れを制御するとともに、部品搭載に必要なデータを演算する制御装置４から構成され、演算装置９並びに制御装置４は、ＣＰＵなどで構成される。また、撮像された画像あるいは処理された画像を表示させるモニタ１４が設けられる。
【００２３】
マシン制御装置１３は、後述する部品データをインタフェース１１を介して画像処理装置１２へ送信する。画像処理装置１２は受信した部品データを部品データ格納メモリ（部品データ格納手段）１０に格納する。
【００２４】
マシン制御装置１３は、通常、部品の電極サイズによって、標準カメラ４あるいは高解像度カメラ５を選択し、部品２を吸着ノズル１で吸着し、選択したカメラの撮像位置にセットする。このとき、照明装置３を選択したカメラで撮像できるように移動、点灯させ、画像処理装置１２にインタフェース１１を介して、選択したカメラチャネル情報とともに処理実行を指示する。
【００２５】
画像処理装置１２は、指定されたカメラ４もしくは５を制御し、撮像された部品２の画像を、Ａ／Ｄコンバータ６でデジタル化し、画像メモリ７に多値画像データとして記憶させる。そして、演算装置（検出手段、算出手段）９は、画像メモリ７のデータを処理し、後述するように部品重心（輪郭重心あるいはソリッド重心）並びに他の部位（リード先端やコーナーなど）の位置を検出し、部品中心と吸着中心間のずれ、並びに部品の吸着傾きを算出する。
【００２６】
マシン制御装置１３は、位置決め結果を受け取り、吸着ノズル１を搭載位置に移動させ、部品認識結果に従って部品の吸着ずれ（部品中心と吸着中心間のずれ並びに吸着角度ずれ）を補正し、部品２を基板上の所定位置に搭載する。
【００２７】
部品は、属性を設定した電極（リード、ボール等）や位置決め可能な特徴がある部位（リード端子、辺、コーナー、マーク等）を最小構成単位要素（以下エレメントと記述）として扱い、このエレメントとその配置情報などを属性としたエレメント構成要素（以下エレメントグループと記述）を設定し、また、このエレメントグループの集合と部品の縦（高さ）、横（幅）寸法などの部品としての属性情報で構成されるデータとして記述され、これらが、部品データとして部品データ格納メモリ１０に格納される。
【００２８】
本発明では、新たなエレメント種別として、重心が追加される。以下、これを、重心エレメントという。重心エレメントは、図２（Ａ）、（Ｂ）に示したように、部品２０、２１の重心２０ａ、２１ａに相当するエレメント基点（エレメント中心）の位置と、エレメントＸ、Ｙサイズで規定されるエレメント領域（重心演算領域）２０ｂ、２１ｂのデータとして記述される。図２（Ｂ）に示すように、重心演算領域中心と重心が一致しないときには、エレメントの相対座標２１ｃを指定し、補正する。エレメントＸ、Ｙサイズを０と指定した場合には、画像全体を重心演算領域とする。
【００２９】
また、重心エレメントの属性データとして、重心演算方法の指定と２値化しきい値の補正値を用意する。重心演算方法は、部品の外形輪郭内のすべてを埋めつくして重心を演算する輪郭重心演算方法と、輪郭内の空白部を除き、実質部分のみを対象として重心を演算するソリッド重心演算方法の２種類をサポートする。また、２値化しきい値は演算時に自動的に求めるが、それを属性データとして用意した補正値で補正し、外部からしきい値を
調整することができるようになっている。
【００３０】
重心座標は、丸や四角形のような単純な図形であれば、従来のエレメント同様、机上で入力することが可能であるが、複雑な形状においては通常、正確に入力することは難しい。そこで、重心エレメントのデータは、ティーチング操作で作成することで、正確に設定する。これは、以下のようにして行われる。
【００３１】
オペレータは、マシン制御装置１３を操作し、撮像するカメラ４又は５を選択し、部品を吸着ノズル１で吸着し、予め正しい姿勢に補正した状態で、選択したカメラの撮像位置にセットし、部品を撮像して、その画像を、画像メモリ７に記憶させる。そして、オペレータは、モニタ１４を見ながら、ウインドウカーソルを操作し、重心演算領域を指定する。このとき、重心演算領域が画像全域である場合は、この操作は必要でない。重心演算領域が確定したならば、オペレータは、マシン制御装置１３を操作し、画像処理装置１２にインタフェース１１を介して、重心演算処理を行うよう指示する。画像処理装置１２は、画像メモリ７の重心演算領域のデータを処理し、部品の重心を算出し、インタフェース１１を介し、マシン制御装置１３に結果を返答する。そこで、マシン制御装置１３は、重心エレメントデータを完成させ、それを部品データに追加し、部品データ格納メモリ１０に格納する。
【００３２】
このように、追加的に重心エレメントを部品データとして持つときの位置決め処理の例を以下に説明する。
【００３３】
図３と図４は、重心エレメントとリードエレメントが定義されている部品３０の位置決め処理の例であり、重心エレメントの重心の座標を位置決め用の座標点として使用するものである。図３に示したように、部品３０は、リード３０ａを有し、重心エレメントとリードエレメントを有する部品として定義され、その重心３０ｃ、リード先端３０ｂの座標データが部品データとして記述されている。なお、ここで、部品が、ボールやコーナー、マークを有する場合には、リードエレメントの代わりにボールやコーナー、マークエレメントなどを使用しても同様に部品の位置決めが可能である。
【００３４】
まず、部品３０を吸着して、選択したカメラで撮像し、その画像を画像メモリ７に取り込み、サンプリングを行って、自動で二値化しきい値を求める。この自動で求めた二値化しきい値に対して、重心エレメントの属性データに記述されている補正値を加算し、重心演算で使用する二値化しきい値を決める。重心エレメントに指定された重心演算領域に対して、指定方式で指定された輪郭重心あるいはソリッド重心演算方法により重心演算を行い、重心座標を求める（ステップＳ１）。この重心座標は、公知の方法（たとえば、特公平７−１１３９７５号公報）により求めることができ、重心座標（ｐ、ｑ）は、部品画像の各画素の濃度値を重みとして、モーメントを用いて以下の式で表現できる。
【００３５】
ｐ＝Ｍ（１，０）／Ｍ（０，０），ｑ＝Ｍ（０，１）／Ｍ（０，０）
Ｍ（０，０）：図形の面積
Ｍ（１，０）：Ｙ軸に対するモーメント，Ｍ（０，１）：Ｘ軸に対するモーメント
続いて、リード検出処理を行い、リード先端座標を求める（ステップＳ２）。このリード先端座標は、公知の方法（例えば、特開平１０−３２０５６５号公報）により求めることができ、リード３０ａを含む大きさのウインドウを設定し、この枠内でリード幅方向へフィルタ処理（ＤＯＧ）を行なうことによりゼロクロスを検出してリードエッジを検出し、リード先端３０ｂの座標を求める。
【００３６】
続いて、求めた重心とリード先端の２点を結ぶ線分の傾きを求め、部品データで記述されている重心３０ｃとリード先端３０ｂを結ぶ線分の傾きを減算し、部品傾きとする（ス
テップＳ３）。
【００３７】
続いて、ステップＳ４では、部品中心が算出される。部品データには、部品中心３０ｄからの重心３０ｃとリード先端３０ｂのオフセット値がそれぞれ記述されているので、ステップＳ３で算出した傾きと、重心座標のオフセット値とから部品中心を求めるとともに、該傾きとリード先端座標のオフセット値とからも部品中心を求める。そして、それぞれの座標の検出精度を考慮し、重心座標から求めた部品中心とリード先端から求めた部品中心の加重平均を、最終的な部品中心の座標値とする。このとき、リード先端で求めた方が検出精度がよいので、リード先端から求めた部品中心に対する重み係数を、大きくするようにする。また、部品中心を、ステップＳ３で求めた部品傾きと、部品重心あるいはリード先端のいずれか１つのオフセット値とから算出するようにしてもよい。
【実施例２】
【００３８】
次に、図５と図６を参照して、重心エレメントとコーナーエレメントが定義されている部品の位置決め処理を説明する。
【００３９】
図５に示した部品４０は、４つのコーナー４０ａ〜４０ｄと重心４０ｅを有し、重心４０ｅの座標が、次エレメント検出のための基点として使用される。
【００４０】
まず、ステップＳ１１で、部品４０の画像を取り込んで、ステップＳ１に述べたのと同様な処理を施して重心演算を行い、重心座標を求める。
【００４１】
図５（Ａ）は、吸着ずれがない場合の部品４０の画像であり、図５（Ｂ）は、ｘｙ方向に吸着ずれを起こしたときの画像であり、図５（Ｃ）は角度ずれ（θずれ）を起こしたときの画像である。
【００４２】
部品データとして各エレメントの位置関係が保持されているので、例えば図５（Ｂ）に示したように、ｘｙ方向に吸着ずれがある場合には、各コーナー４０ａ〜４０ｄを検出するための検出ウインドウ４１ａ〜４１ｄを、ステップＳ１１で求めた重心座標を基準に補正する（ステップＳ１２）。つまり、図５（Ａ）に示した重心４０ｅからのずれに応じて、各検出ウインドウ４１ａ〜４１ｄの位置を補正し、各検出ウインドウ４１ａ〜４１ｄを設定する。
【００４３】
続いて、設定された検出ウインドウ４１ａ〜４１ｄ内でコーナーエレメントの検出処理を行い、コーナー４０ａ〜４０ｄの座標を求める（ステップＳ１４）。このとき、部品４０に傾きがなければ、検出に成功し、ステップＳ１４〜Ｓ１６のループを脱出する。
【００４４】
部品４０に傾きがある場合、最初に設定したウインドウ内ではコーナーを検出することができないので、θずれを補正する（ステップＳ１６）。部品に傾きがあった場合、コーナーエレメントは、ｘｙずれ補正時の位置を基準として、重心回転中心とする円弧軌跡上に存在するはずである。そこで、図５（Ｃ）に示したように、ウインドウのサイズは必要最小のサイズとし変動させず、０°時の位置を基準に振り子状にウインドウ４１ａを移動させ、コーナー４０ａの検出を繰り返す。ウインドウサイズを小さくすることで類似形状が誤検出されることを防ぎ、所望のコーナーを検出することができる。
【００４５】
すべてのコーナー検出が終了したら、部品傾きを算出する（ステップＳ１７）。部品傾きは、コーナーエレメントの中から２点の組み合わせを検証し、エレメントの検出精度が高く、最も離れている２点を選択し、傾き算出に使用する。この２点を結ぶ線分の撮像画像上の傾きを求め、対応する線分の部品データ上の傾きを減算し、部品傾きとする。コーナーは重心より検出精度がよいので、このような組み合わせでは、重心エレメントは傾き
演算に関与しない。
【００４６】
続いて、ステップＳ１７で求めた傾きと部品データで記述された部品中心４０ｆからのオフセット値を用い、ステップＳ１１，Ｓ１４それぞれのエレメント検出座標から部品中心点を計算する（ステップＳ１８）。それぞれの点の検出精度を考慮し、加重平均で最終的な部品中心座標は計算する。加重平均計算時の各エレメントの重み係数は外部指定も可能である。例えば、重心エレメントの重み係数を０にすれば、コーナー座標のみで部品中心座標を計算できる。
【実施例３】
【００４７】
次に、重心エレメントが定義されていて、輪郭重心演算と、ソリッド重心演算を行って位置決め処理を行う例を、図７、図８を参照して説明する。
【００４８】
これは、特に、図７（Ａ）、（Ｂ）に示したように、穴５０ａ、６０ａのある部品５０、６０の場合で、外部輪郭内部をすべて埋め尽くし穴がないものとして計算したときの輪郭重心５０ｂ、６０ｂの位置と、穴を除いた実質部（白色部分）だけで重心を計算したときのソリッド重心５０ｃ、６０ｃの位置が異なる部品の位置決めに適するものである。
【００４９】
位置決めの流れは、吸着された部品５０、６０を撮像して、その画像を処理し、自動で二値化しきい値を求め、それに重心エレメントに指定された補正値を加算して、重心演算で使用する二値化しきい値を決め、重心エレメントに指定された演算領域に対して、輪郭重心演算を行って、輪郭重心座標５０ｂ、６０ｂを求める（ステップＳ２１）。
【００５０】
続いて、撮像画像について、同様な処理をして、重心エレメントに指定された演算領域に対して、ソリッド重心演算を行い、ソリッド重心座標５０ｃ、６０ｃを求める（ステップＳ２２）。
【００５１】
次に、輪郭重心とソリッド重心５０ｂと５０ｃ；６０ｂと６０ｃの２点を結ぶ線分の傾きを求め、部品データ上の対応する線分の傾きを減算し、部品傾きとする（ステップＳ２３）。
【００５２】
また、ステップＳ２３で求めた傾きと、部品データで記述された部品中心からの輪郭重心及び／又はソリッド重心のオフセット値とを用い、部品中心を計算する。このとき、それぞれの重心の検出精度を考慮し、加重平均で最終的な部品中心座標を計算する（ステップＳ２４）。
【実施例４】
【００５３】
以上の実施例１、２，３で求める重心は、照明条件や部品姿勢によって、出力値が大きく変わってしまう場合がある。しかし、常に何らかの値が出力され、出力値そのものでは、その妥当性は判定できない。例えば、透過照明でティーチングし、部品データを作成したが、後で照明の設定を反射照明に変更してしまった場合、部品姿勢が変わり反射状態が変わった場合、あるいは、あるロットからモールドの色が変わった場合などには、図１１に示したように、本来の重心３０ｃではなく、誤った重心３０ｅが出力されてしまう場合があるが、この妥当性は判定できない場合が多い。
【００５４】
これでは、重心がずれていることを検知できず、正確な部品位置決めができないで、誤搭載につながるという問題がある。そこで、重心演算結果の妥当性をチェックし、誤搭載を防止するようにする。
【００５５】
誤搭載防止には、部品データ生成時、重心が環境変化で不安定になるような部品に対しては定義できないようにする方法、あるいは、部品認識時、重心演算結果の妥当性を判定したり、他のエレメントとの相互関係を検査するなどの方法が考えられる。
【００５６】
部品データ生成時に対処する方法では、まず、ティーチング時に計測条件（照明、傾き、位置）を変動させ、重心のばらつきを測定する。計測条件としては、たとえば、部品を照明する照明強さを、±１５％の範囲で変動させ、照明量が、標準値、標準値の１１５％、標準値の８５％の３パターンを設定する。また、部品の傾きを、±３．５°の範囲で変動させ、０°、＋３．５°、−３．５°の３パターンを設定する。また、部品データ作成時の位置を、図１２に示したように、８方向へ軸を移動させ、基準位置を含め、９パターンを設定する。そして、これらパターンを順次変化させ、計８１パターンに対して重心を取得し、その統計処理を行う。なお、重心演算に対しては、部品の軸移動量を検出値から引き、基準位置ベースの値となるよう、補正する。しかし、部品を回転させても重心は変動しないはずなので、それに関しては、補正はしないようにする。
【００５７】
また、重心のばらつきは、ｘ方向、ｙ方向の変動幅の最大値で表すようにし、変動幅の許容値とともに、部品データに記述する。そのとき、変動幅が許容値を超えるときは、重心エレメントは定義不可な部品とし、重心を用いた位置決めを中止し、誤搭載を未然に防止する。変動幅の許容値は、重心値をセンタリング演算に使用する場合、要求する搭載精度にあわせて設定しなければならならず、重心を粗サーチとして使用する場合は、精サーチの探索領域マージンの範囲で設定するようにする。
【００５８】
また、部品データ生成時に、重心演算結果の妥当性を判定できる照合データを取得するようにする。照合データとしては、例えば、部品周囲長、面積、しきい値などを利用する。また、照合時の許容範囲をユーザがマニュアルで設定することは難しいので、照合時の許容範囲も自動取得するようにする。たとえば、ティーチング時に照合データの平均値、標準偏差を求め、平均値を基準値とし、±３σを各照合データの許容範囲とする。各照合データ並びにその許容範囲の値は、重心エレメントデータとして、部品データに記述しておき、部品認識時にこれらのデータを用いて、重心演算結果の妥当性を判定する。
【００５９】
図１３には、上述したように求めた部品データに記述されているエレメントデータや種々の照合データを用いて、重心演算結果の妥当性を判断しながら、部品認識（位置決め）する流れが図示されている。
【００６０】
まず、カメラ４あるいは５で撮像された部品画像について、サンプリングを行い、自動で二値化しきい値を求め、この自動で求めた二値化しきい値に対して、重心エレメントに指定された補正値を加算し、重心演算で使用する二値化しきい値を決める（ステップＳ３１）。そして、この求めた二値化しきい値が、予め定められた許容範囲内であるか検査し（ステップＳ３２）、許容範囲外の場合エラーとし、部品認識処理を打ち切る（ステップＳ３３のＹ）。
【００６１】
求めた二値化しきい値が、予め定められた許容範囲内である場合には、重心エレメントに指定された演算領域に対して、輪郭重心あるいはソリッド重心の指定方式で重心演算を行い、部品の重心座標を求める（ステップＳ３４）。このとき、部品の面積、周囲長などの照合データも同時に求めておくようにする。次に、この求めた部品の面積が許容範囲内であるかを検査して（ステップＳ３５）、許容範囲外の場合にはエラーとし、部品認識処理を打ち切る（ステップＳ３６のＹ）。同様に、求めた周囲長が許容範囲内であるか検査し（ステップＳ３７）、許容範囲外の場合にはエラーとし、処理を打ち切る（ステップＳ３８のＹ）。
【００６２】
ステップＳ３６、Ｓ３８でエラーがなければ、ステップＳ３４で求めた重心演算結果に妥当性があると判断して、リード検出処理を行い、リード先端座標を求め（ステップＳ３９）、ステップＳ３４で求めた重心座標間の相互距離を計算する。そして、リード先端座標の許容範囲と、重心座標の許容範囲より上記相互距離の許容範囲を取得し、相互距離が許容範囲内であるかを検査する（ステップＳ４０）。許容範囲外の場合には、エラーとし、処理を打ち切る（ステップＳ４１のＹ）。なお、エラーと判定するときの許容範囲は、たとえば、リード先端座標の許容範囲と、重心座標の許容範囲の和とすることができる。
【００６３】
ステップＳ４１でエラーがなければ、重心とリード先端の２点を結ぶ線分の傾きを求め、部品データ上の対応する線分の傾きを減算し、部品傾きとする（ステップＳ４２）。そして、ステップＳ４２で求めた傾きと部品データで記述された中心へのオフセットを用い、ステップＳ３４、Ｓ３９で求めたそれぞれのエレメント検出座標から部品中心点を計算する（ステップＳ４３）。それぞれの点の検出精度を考慮し、加重平均で最終的な部品中心座標を計算する。ステップＳ４２、Ｓ４３の処理は、実施例１、２、３などのステップＳ３、Ｓ４、Ｓ１７、Ｓ１８、Ｓ２３、Ｓ２４と同様である。
【００６４】
なお、図１３の処理は、たとえば、図３に示したような部品に対する処理であるが、図５のような部品に対しても同様に適用できる。また、重心の演算は、輪郭重心、ソリッド重心でも同様であるので、図７に図示した部品に対しても、図１３の流れが適用できるものである。
【００６５】
重心演算はどんな状況でもほとんどエラーが発生せず、値が求まってしまうにもかかわらず、演算された重心の値に対する評価は行われていなかったが、この実施例４では、重心演算結果に対して妥当性が判断されるので、妥当性がない場合には、部品認識処理を中断することにより部品の誤搭載を防止することができる。また、部品重心を部品データとして求めるとき、部品認識条件を変動させて部品重心を検出し、検出された部品重心のばらつきが大きい場合には、定義できない部品として取り扱い、重心を用いた位置決め処理を中止することができ、同様に誤搭載を未然に防止することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明に使用される部品実装機と画像処理装置の構成を示したブロック図である。
【図２】重心エレメントの定義を説明する説明図である。
【図３】重心とリードのエレメントを有する部品の説明図である。
【図４】図３の部品の位置決め処理の流れを示したフローチャートである。
【図５】重心とコーナーのエレメントを有する部品の位置決めの流れを示す説明図である。
【図６】図５の部品の位置決め処理の流れを示したフローチャートである。
【図７】部品の輪郭重心とソリッド重心を説明する説明図である。
【図８】図７の部品の位置決め処理の流れを示したフローチャートである。
【図９】リードエレメントを有する部品の説明図である。
【図１０】コーナーエレメントを有する部品の従来の位置決めを説明する説明図である。
【図１１】誤った重心検出の例を示す説明図である。
【図１２】部品データ生成時、部品の位置を移動させる方向を説明した説明図である。
【図１３】重心演算結果の妥当性を判断して部品の位置決め処理を行う流れを示したフローチャートである。
【符号の説明】
【００６７】
１  吸着ノズル
２  電子部品
７  画像メモリ
１２  画像処理装置
１３  マシン制御装置
【図１】
2007040968.tif 000003
【図２】
2007040968.tif 000004
【図３】
2007040968.tif 000005
【図４】
2007040968.tif 000006
【図５】
2007040968.tif 000007
【図６】
2007040968.tif 000008
【図７】
2007040968.tif 000009
【図８】
2007040968.tif 000010
【図９】
2007040968.tif 000011
【図１０】
2007040968.tif 000012
【図１１】
2007040968.tif 000013
【図１２】
2007040968.tif 000014
【図１３】
2007040968.tif 000015