(58)【調査した分野】(Int.Cl.,DB名)
前記類比判定実行部は、前記ローカルシェイプデータと前記ローカル画像とのズレ量と、各グローバルシェープデータと前記ローカル画像とのズレ量との差が重複判定用数値範囲内か否かによって、前記ローカルシェイプデータと各グローバルシェイプデータとが類似しているか否かを判定する、
請求項1又は2に記載のシェイプデータ類比判定装置。
前記第2のズレ量取得部は、前記複数のグローバルシェイプデータの中から前記ローカルシェイプデータの所定の特徴部分と一致するものを選出し、選出されたグローバルシェイプデータと前記ローカル画像とのズレ量を取得する、
請求項1〜3のいずれか1項に記載のシェイプデータ類比判定装置。
前記類比判定実行部は、前記ローカルシェイプデータと類似している前記グローバルシェイプデータを、一致度の高いものから順に前記表示装置に表示するか又は最も一致度の高いものを前記表示装置に表示する、
請求項5に記載のシェイプデータ類比判定装置。
【発明を実施するための形態】
【0009】
本開示のシェイプデータ類比判定装置の好適な実施形態について図面を参照しながら以下に説明する。
図1はシェイプデータ類比判定装置10の電気的な接続関係を示すブロック図、
図2は部品実装機30の概略構成を示す斜視図、
図3はリール41の斜視図である。なお、左右(X軸)方向、前後(Y軸)方向、上下(Z軸)方向は
図2及び
図3に示したとおりである。
【0010】
シェイプデータ類比判定装置10は、CPU12、ROM14、HDD16、RAM18などを備えており、これらは図示しないバスを介して接続されている。こうしたシェイプデータ類比判定装置10としては、例えば周知のパーソナルコンピュータを用いることができる。シェイプデータ類比判定装置10には、ディスプレイ(表示装置)20、マウス22、キーボード24、カメラ26、記憶装置80などが接続されている。ディスプレイ20は周知の出力装置、マウス22及びキーボード24は周知の入力装置である。カメラ26は、後述する部品実装機30のパーツカメラ48と同じものであり、部品載置台28に載せられた部品Pの画像を撮像する。部品Pは、後述する部品実装機30によって基板32に実装されるものであり、ノズル64によって吸着される面とは反対側の面がカメラ26に対向するように部品載置台28に載置される。記憶装置80は、複数のグローバルシェイプデータを記憶している。
【0011】
シェイプデータのうち、部品実装工場全体あるいは部品実装会社全体で集中管理されているシェイプデータを「グローバルシェイプデータ」といい、個別に作成したシェイプデータを「ローカルシェイプデータ」という。シェイプデータは、部品Pのボディサイズ、その部品Pに付いている電極等のサイズ・位置などの情報を定義したものである。シェイプデータは、トレランスやビジョンタイプを含んでいてもよい。トレランスとは寸法の許容範囲であり、ビジョンタイプとは画像処理のアルゴリズムの種類を表す。シェイプデータは、例えば後述する部品実装機30においてノズル64に吸着された部品Pをパーツカメラ48で撮影したときの画像から部品Pの姿勢を求める際などに用いられる。シェイプデータの一例を
図10に示す。
【0012】
シェイプデータ類比判定装置10には、マウス22からのカーソル信号、キーボード24からのキャラクタ信号、カメラ26からの画像信号などが入力される。シェイプデータ類比判定装置10からは、ディスプレイ20への画像信号などが出力される。シェイプデータ類比判定装置10は、記憶装置80に記憶されたグローバルシェイプデータを読み出したり更新したりする。
【0013】
上述したように、部品Pは部品実装機30によって基板32に装着される。ここで、部品実装機30について説明する。
【0014】
部品実装機30は、
図2に示すように、部品供給装置40と、基板搬送装置45と、XYロボット50と、実装ヘッド60と、パーツカメラ48と、マークカメラ49と、コントローラ70とを備えている。
【0015】
部品供給装置40は、部品実装機30の前側に、左右方向(X軸方向)に並ぶように複数設けられている。この部品供給装置40は、
図3に示すように、所定間隔毎に部品Pが収容されたテープ42をリール41から引き出して所定のピッチで送るテープフィーダとして構成されている。リール41に巻回されたテープ42には、複数の凹部42aがテープ42の長手方向に沿って並ぶように形成されている。各凹部42aには、部品Pが収容されている。これらの部品Pは、テープ42の表面を覆うフィルム43によって保護されている。テープ42は、長手方向に沿って形成されたスプロケット穴42bを有している。このスプロケット穴42bに部品供給装置40のスプロケット(図示せず)の歯が嵌まり込んで所定量回転することにより、テープ42は所定のピッチで送られる。予め定められた部品供給位置Fに至った部品Pは、フィルム43が剥がされた状態になる。
【0016】
基板搬送装置45は、前後に間隔を開けて設けられ左右方向に架け渡された1対のコンベアベルト46,46(
図2では一方のみ図示)を有している。基板32はこのコンベアベルト46,46により
図2の一点鎖線の矢印方向に搬送されて所定の取込位置に到達すると、裏面側に多数立設された支持ピン47によって支持される。
【0017】
XYロボット50は、X軸スライダ52と、Y軸スライダ54とを備えている。X軸スライダ52は、Y軸スライダ54の前面に左右方向(X軸方向)に設けられたX軸ガイドレール51,51に沿って移動可能である。Y軸スライダ54は、前後方向(Y軸方向)に設けられたY軸ガイドレール53,53に沿って移動可能である。
【0018】
実装ヘッド60は、X軸スライダ52に取り付けられている。実装ヘッド60は、その下面にノズル64を備えている。ノズル64は、負圧が供給されると部品Pを吸着し、大気圧又は正圧が供給されると部品Pを放す。
【0019】
パーツカメラ48は、部品供給装置40と基板搬送装置45との間に設けられている。パーツカメラ48は、ノズル64に吸着された部品Pを下方から撮像する。
【0020】
マークカメラ49は、X軸スライダ52の下面に取り付けられている。マークカメラ49は、支持ピン47によって支持された基板32の所定位置に付されたマークMを撮像する。
【0021】
コントローラ70は、CPUを中心とするマイクロプロセッサとして構成されている。コントローラ70には、XYロボット50からの位置検出信号、パーツカメラ48からの画像信号、マークカメラ49からの画像信号などが入力される。また、コントローラ70からは、部品供給装置40への制御信号や基板搬送装置45への制御信号、XYロボット50への制御信号、実装ヘッド60への制御信号、パーツカメラ48への制御信号、マークカメラ49への制御信号などが出力される。
【0022】
次に、部品実装機30が部品実装処理を行うときの動作について説明する。コントローラ70は、図示しない管理装置から受信した生産プログラムに基づいて、部品実装機30の各部を制御して複数の部品Pが実装された基板32を生産する。具体的には、コントローラ70は、部品供給装置40によって部品供給位置F(
図3参照)に送り出された部品Pにノズル64が対向するようにXYロボット50を制御する。続いて、コントローラ70は、部品供給位置Fの部品Pがノズル64に吸着されるようにノズル64の圧力を制御する。続いて、コントローラ70は、ノズル64に吸着された部品Pの画像を撮像するようにパーツカメラ48を制御し、得られた部品Pの画像を後述する部品Pのシェイプデータから得られるフレームで処理することにより部品Pの姿勢を認識する。続いて、コントローラ70は、部品Pの姿勢を考慮して部品Pが基板32の指定位置の直上に配置されるようにXYロボット50を制御し、ノズル64が部品Pを放すようにノズル64の圧力を制御する。コントローラ70は、こうした部品実装処理を繰り返し実行することにより、基板32上に予め定められた数、種類の部品Pを実装する。こうした部品実装機30を複数台、左右方向に並べることにより実装ラインが形成される。基板32が1つの実装ラインの最上流の部品実装機30から最下流の部品実装機30まで搬送されると、基板32上に、予め定められたすべての部品Pが実装されるようになっている。部品実装工場には、こうした実装ラインが多数設けられている。
【0023】
次に、シェイプデータ類比判定装置10が類比判定処理を行うときの動作について説明する。シェイプデータ類比判定装置10のCPU12は、類比判定処理ルーチンのプログラムをHDD16から読み出して実行する。
図4は、類比判定処理ルーチンのフローチャートである。ここでは、部品Pとして、
図5に示すように、長方形状のボディBを有し、ノズル吸着面とは反対側の面に4つの長方形状の電極E1〜E4が縦に2つ、横に2つ配置されたものを例に挙げて説明する。
【0024】
CPU12は、類比判定処理ルーチンを開始すると、まず、部品Pのローカル画像を取得する(ステップS100)。具体的には、部品載置台28に載置された部品Pのノズル吸着面とは反対側の面をカメラ26で撮影した画像をローカル画像として取得する。部品Pは、部品実装機30でノズル64に吸着されるときの部品Pの姿勢とできるだけ一致するように部品載置台28に載置される。
【0025】
次に、CPU12は、部品Pのローカルシェイプデータを取得する(ステップS110)。ローカルシェイプデータは、オペレータがディスプレイ20のローカル画像から手動で作成してもよいし、オペレータが部品Pの実物をノギスで計測して作成してもよいし、オペレータが部品PのCADデータの数値を手入力することにより作成してもよいし、CPU12がローカル画像から自動的に作成してもよい。以下には、オペレータがディスプレイ20のローカル画像から手動で作成する場合について説明する。
【0026】
ディスプレイ20には、
図6に示すように、部品Pのローカル画像と十字カーソル21とが表示されている。オペレータは、マウス22を使って、十字カーソル21の縦線、横線が部品Pの縦辺、横辺とできるだけ平行になるように調整すると共に、十字カーソル21の中心が部品Pの中心とできるだけ一致するように調整する(
図7参照)。調整後、オペレータは十字カーソル21の位置合わせが終了したことをマウス22又はキーボード24を介して入力する。すると、CPU12は、十字カーソル21の中心(部品Pのローカル画像の中心とみなす)をディスプレイ20の画面中央に配置すると共に部品Pのローカル画像の回転角(傾き)をゼロにして、部品Pのローカル画像をディスプレイ20に表示する(
図8参照)。オペレータは、ディスプレイ20に表示される伸縮自在な四角形の領域A0(
図8参照)を、マウス22を操作して部品PのボディBの長方形状の輪郭と一致させたあと、領域A0を確定する。なお、領域A0は、予め定められた最小単位ずつ伸縮するため、部品PのボディBの長方形状の輪郭と必ずしも正確に一致するとは限らない。続いて、オペレータは、ディスプレイ20に表示される伸縮自在な四角形の領域A1を、マウス22を操作して部品Pの電極E1の長方形状の輪郭と一致させたあと、領域A1を確定する。オペレータは、電極E2〜E4についても同様の操作を行い、領域A2〜A4を確定する(
図9参照)。CPU12は、領域A0〜A4の各辺の長さに基づいて部品PのボディBのサイズ、電極E1〜E4のサイズ及び位置を決定し、ローカルシェイプデータとしてHDD16に記憶する。CPU12は、オペレータの手入力によって又は自動的に、トレランスやビジョンタイプについてもローカルシェイプデータに加える。こうして得られたローカルシェイプデータの一例を
図10に示す。確定した領域A0〜A4を部品PのフレームFLと称する(
図9や
図11参照)。フレームFLは、
図10のローカルシェイプデータのサイズと位置の情報から作成することができる。
【0027】
次に、CPU12は、ローカルシェイプデータから得られるフレームFLと部品Pのローカル画像とのズレ量(X,Y,Q)を算出し保存する(ステップS120)。具体的には、CPU12は、
図11に示すように、部品PのフレームFLを、所定の最適マッチング手法により部品Pのローカル画像(
図6参照)とできるだけ一致させる。所定の最適マッチング手法は、特に限定するものではないが、例えば部品Pのローカル画像の電極E3の中心とフレームFLの右上の小フレームの中心とが一致すると共に電極E3の回転角とその小フレームの回転角とが一致するように配置する手法などが挙げられる。CPU12は、部品Pのローカル画像から、部品Pの中心位置のXY座標と部品Pの回転角(水平線に対する傾き)を認識する。また、CPU12は、所定の最適マッチング手法を行った後のフレームFLの中心位置のXY座標とフレームFLの回転角を認識する。そして、CPU12は、部品Pのローカル画像の中心位置のXY座標とフレームFLの中心位置のXY座標とのズレ量をX,Yとして算出し、部品Pのローカル画像の回転角とフレームFLの回転角とのズレ量をQとして算出する。ここでは、ズレ量(X,Y,Q)が(0.01,0.02,1)だったとする。X,Yの単位はmm、Qの単位はdegree(°)である。CPU12は、ズレ量(X,Y,Q)が予め定めた許容範囲内に入るならば、そのズレ量を検索キーとなるズレ量としてHDD16に保存する。一方、CPU12は、ズレ量(X,Y,Q)が許容範囲内に入らなかったならば、そのズレ量を破棄してオペレータにローカルシェイプデータの再作成を要求する。なお、CPU12がローカル画像から自動的にローカルシェイプデータを作成した場合には、ズレ量(X,Y,Q)は実質的にゼロになるため、常に許容範囲内に入る。
【0028】
次に、CPU12は、記憶装置80に記憶された複数のグローバルシェイプデータを1つずつ読み出し、各グローバルシェイプデータから得られるフレームFk(k=1,2,…,n)と部品Pのローカル画像とのズレ量(X,Y,Q)を算出し保存する(ステップS130)。nは記憶装置80に記憶されているグローバルシェイプデータの総数を表す。具体的には、CPU12は、ステップS120と同様にしてズレ量(X,Y,Q)を算出する。ここでは、2つのグローバルシェイプデータ(
図12及び
図14)を例に挙げて説明する。まず、CPU12は、
図12のグローバルシェイプデータのサイズと位置の情報からフレームF1(
図13参照)を作成し、そのフレームF1を、先ほどと同じ最適マッチング手法により部品Pのローカル画像(
図6参照)とできるだけ一致させる。CPU12は、所定の最適マッチング手法を行った後のフレームF1の中心位置のXY座標とフレームF1の回転角を認識する。そして、CPU12は、部品Pのローカル画像の中心位置のXY座標とフレームF1の中心位置のXY座標とのズレ量をX,Yとして算出し、部品Pのローカル画像の回転角とフレームF1の回転角とのズレ量をQとして算出する。ここでは、ズレ量(X,Y,Q)が(0.02,0.03,2)だったとする。そして、CPU12は、そのズレ量を検索対象の一つとしてHDD16に保存する。続いて、CPU12は、
図14のグローバルシェイプデータのサイズと位置の情報からフレームF2(
図15参照)を作成し、そのフレームF2を、先ほどと同じ最適マッチング手法により部品Pのローカル画像(
図6参照)とできるだけ一致させる。CPU12は、所定の最適マッチング手法を行った後のフレームF2の中心位置のXY座標とフレームF2の回転角を認識する。そして、CPU12は、部品Pのローカル画像の中心位置のXY座標とフレームF2の中心位置のXY座標とのズレ量をX,Yとして算出し、部品Pのローカル画像の回転角とフレームF2の回転角とのズレ量をQとして算出する。ここでは、ズレ量(X,Y,Q)が(0.19,0.03,2)だったとする。そして、CPU12は、そのズレ量を検索対象の一つとしてHDD16に保存する。
【0029】
次に、CPU12は、ステップS120で得られた検索キーとなるズレ量と、ステップS130で検索対象として保存されたズレ量とを比較することにより、類比判定を行う(ステップS140)。検索対象のズレ量は、通常、複数存在する。そのため、CPU12は、複数の検索対象のズレ量の各々とキーのズレ量とを比較する。例えば、CPU12は、両者のズレ量の差の絶対値(ΔX,ΔY,ΔQ)を算出し、ΔX,ΔY,ΔQの和又はΔX,ΔY,ΔQに重み付けを行ったあとの和が重複判定用数値範囲内か否かによってローカルシェイプデータとグローバルシェイプデータとが類似しているか否かを判定してもよい。上述した例では、フレームF1は類似、フレームF2は非類似と判定される。
【0030】
次に、CPU12は、類比判定結果をディスプレイ20に表示し(ステップS150)、このルーチンを終了する。具体的には、CPU12は、類似していると判定されたグローバルシェイプデータをディスプレイ20に表示してもよい。あるいは、類似していると判定されたグローバルシェイプデータのうち、一致度の高いものから順にディスプレイ20に表示してもよい。その場合、ΔX,ΔY,ΔQの和が小さいものほど一致度が高いと判定してもよいし、ΔX,ΔY,ΔQに重み付けを行ったあとの和を求め、その和が小さいほど一致度が高いと判定してもよい。また、CPU12は、ディスプレイ20に表示するグローバルシェイプデータの数を所定数以内に制限してもよい。
【0031】
オペレータは、ディスプレイ20に表示された類比判定結果をみて、部品Pがグローバルシェイプデータの部品と同一か否かを判定し、同一だったならば、今回作成したローカルシェイプデータを部品Pと同一と判定した部品のグローバルシェイプデータで上書きし、同一でなかったならば、今回作成したローカルシェイプデータをグローバルシェイプデータに新たに追加する。
【0032】
なお、本実施形態のシェイプデータ類比判定装置10が本開示のシェイプデータ類比判定装置に相当し、CPU12がローカル画像取得部、第1のズレ量取得部、第2のズレ量取得部及び類比判定実行部に相当する。
【0033】
以上説明したシェイプデータ類比判定装置10では、部品Pのローカルシェイプデータとローカル画像とのズレ量と、各グローバルシェイプデータとローカル画像とのズレ量とを比較することにより、ローカルシェイプデータと各グローバルシェイプデータとの類比判定を行う。つまり、単に、ローカルシェイプデータとグローバルシェイプデータとを直接比較するのではなく、ローカルシェイプデータとローカル画像とのズレ量と、グローバルシェイプデータとローカル画像とのズレ量とを比較する。そのため、同じ部品のシェイプデータが重複して存在するか否かを精度よく判定することができ、ひいては同じ部品のシェイプデータの重複保存を防止することができる。
【0034】
また、ズレ量は、平面座標のズレ量(X,Y)及び回転角のズレ量(Q)を含むものであるため、比較的簡単に求めることができる。
【0035】
更に、CPU12は、ローカルシェイプデータとローカル画像とのズレ量と、各グローバルシェープデータとローカル画像とのズレ量との差が重複判定用数値範囲内か否かによって、ローカルシェイプデータと各グローバルシェイプデータとが類似しているか否かを判定する。そのため、類比判定を比較的簡単に行うことができる。
【0036】
更にまた、CPU12は、ローカルシェイプデータと類似しているグローバルシェイプデータをディスプレイ20に表示する。そのため、オペレータは、こうした表示内容を見ることにより、今回のローカルシェイプデータと重複するグローバルシェイプデータが既に記憶装置80に存在するか否かの判断を容易に行うことができる。特に、一致度の高いものから順に表示されたり、最も一致度の高いものが表示されるようにすれば、こうした判断をより容易に行うことができる。
【0037】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0038】
例えば、上述した実施形態では、CPU12は、ステップS130で、記憶装置80に記憶された複数のグローバルシェイプデータのすべてについて部品Pのローカル画像とのズレ量(X,Y,Q)を算出したが、以下のようにしてもよい。すなわち、CPU12は、記憶装置80に記憶された複数のグローバルシェイプデータの中から、ローカルシェイプデータの所定の特徴部分と一致するものを選出し、選出されたグローバルシェイプデータと部品Pのローカル画像とのズレ量(X,Y,Q)を算出してもよい。こうすれば、すべてのグローバルシェイプデータについてズレ量を求める場合に比べて、絞り込まれたグローバルシェイプデータについてズレ量を求めればよいため、類比判定速度を上げることが可能となる。所定の特徴部分と一致するものとしては、例えば、グローバルシェイプデータのボディのサイズや電極のサイズ・位置が部品Pのボディのサイズや電極のサイズ・位置のトレランスに入るものとしてもよいし、電極数(リード数やバンプ数などでもよい)が同じものとしてもよいし、ビジョンタイプが同じものとしてもよいし、これらを適宜組み合わせてもよい。
【0039】
上述した実施形態では、部品Pのローカル画像として、部品載置台28に載せられた部品Pをカメラ26によって撮像した画像を用いたが、特にこれに限定されない。例えば、部品Pのローカル画像として、部品実装機30においてノズル64に吸着された部品Pをパーツカメラ48が撮像した画像を用いてもよい。このようにしても、上述した実施形態と同様の効果が得られる。
【0040】
上述した実施形態では、部品Pとして、
図5に示すように長方形状の電極E1〜E4がボディの裏面に設けられているものを例示したが、特にどのような部品であっても構わない。例えば、ボディからリードが突出している部品であってもよいし、ボディの裏面に複数のバンプを有する部品であってもよい。
【0041】
上述した実施形態では、部品Pのローカル画像を用いたが、基板32のマークM(
図2参照)のローカル画像を用いてもよい。このようにしても、上述した実施形態と同様の効果が得られる。なお、マークMとしては、円形、三角形、四角形などがある。円形の場合にはサイズとして直径を用い、三角形や四角形の場合にはサイズとして辺の長さを用いればよい。
【0042】
上述した実施形態では、シェイプデータは、ボディのサイズや電極のサイズ・位置を含むものとしたが、その他の外形的特徴を含めてもよい。例えば、
図16に示すように、4回回転対称のバンプ付き部品P1の四つの角の一つに方向チェック標識Sを備えている場合には、方向チェック標識Sの位置をシェイプデータに含めてもよい。こうすれば、
図16のカッコ外に示したバンプ付き部品P1とカッコ内に示したバンプ付き部品P1(方向チェック標識Sが右下角に位置するもの)とを区別することができる。また、
図16に示すようなバンプ付き部品P1において、転写剤(フラックスなど)にバンプをディップする前後の画像から得られる転写剤なしのバンプの明るさと転写剤ありのバンプの明るさとの差をシェイプデータに含めてもよい。また、三次元データから得られるボディや電極、バンプの高さをシェイプデータに含めてもよい。
【0043】
上述した実施形態では、オペレータがディスプレイ20に表示された類比判定結果をみて、今回の部品Pがグローバルシェイプデータの部品と同一か否かを判定したが、この判定をCPU12が行うようにしてもよい。例えば、CPU12は、ズレ量の差の絶対値((ΔX,ΔY,ΔQ)が実質的にゼロだったならば、その検索対象の部品は今回の部品Pと同一であると判定し、今回作成したローカルシェイプデータをその検索対象の部品のグローバルシェイプデータで上書き保存してもよい。
【0044】
本開示のシェイプデータ類比判定装置は、以下のように構成してもよい。
【0045】
本開示のシェイプデータ類比判定装置において、前記ズレ量は、平面座標のズレ量及び回転角のズレ量を含むようにしてもよい。こうすれば、シェイプデータとローカル画像とのズレ量を比較的簡単に求めることができる。
【0046】
本開示のシェイプデータ類比判定装置において、前記類比判定実行部は、前記ローカルシェイプデータと前記ローカル画像とのズレ量と、各グローバルシェープデータと前記ローカル画像とのズレ量との差が重複判定用数値範囲内か否かによって、前記ローカルシェイプデータと各グローバルシェイプデータとが類似しているか否かを判定してもよい。こうすれば、類比判定を比較的簡単に行うことができる。
【0047】
本開示のシェイプデータ類比判定装置において、前記第2のズレ量取得部は、前記複数のグローバルシェイプデータの中から前記ローカルシェイプデータの所定の特徴部分と一致するものを選出し、選出されたグローバルシェイプデータと前記ローカル画像とのズレ量を取得してもよい。こうすれば、グローバルシェイプデータが絞り込まれるため、類比判定速度を上げることが可能となる。
【0048】
本開示のシェイプデータ類比判定装置において、前記類比判定実行部は、前記ローカルシェイプデータと類似している前記グローバルシェイプデータを表示装置に表示してもよい。その場合、類似しているグローバルシェイプデータを一致度の高いものから順に表示装置に表示してもよいし、最も一致度の高いものを表示装置に表示してもよい。いずれにしても、オペレータは、こうした表示内容を見ることにより、今回のローカルシェイプデータと重複するグローバルシェイプデータが既に記憶装置に存在するか否かを容易に判断することができる。なお、表示装置に表示するグローバルシェイプデータの数を所定数以内に制限してもよい。