(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
<実施形態1>
1.表面実装機の全体構成
表面実装機1は、
図1に示すように、基台11と、プリント基板Pを搬送する搬送コンベア20と、ヘッドユニット60と、ヘッドユニット60を基台11上にて平面方向(X軸−Y軸方向)に移動させる駆動装置30とを備えている。尚、以下の説明において、基台11の長手方向(
図1の左右方向)をX軸方向と呼ぶものとし、基台11の奥行方向(
図1の上下方向)をY軸方向、
図2の上下方向をZ方向とする。また、ヘッドユニット60が本発明の「実装部」に相当する。尚、本明細書において、「実装」とは、「プリント基板に対して電子部品を搭載する」ことを意味するものとする。
【0017】
搬送コンベア20は、基台11の中央に配置されている。搬送コンベア20はX軸方向に循環駆動する一対の搬送ベルト21を備えており、搬送ベルト21上のプリント基板Pを、ベルトとの摩擦によりX軸方向に搬送する。
【0018】
本実施形態では、
図1に示す左側が入り口となっており、プリント基板Pは、
図1に示す左側より搬送コンベア20を通じて機内へと搬入される。搬入されたプリント基板Pは、搬送コンベア20により基台中央の作業位置まで運ばれ、そこで停止される。
【0019】
一方、基台11上には、作業位置の周囲を囲むようにして、部品供給部13が4箇所設けられている。これら各部品供給部13には、電子部品Bを供給するフィーダ80が横並び状に多数設置されている。尚、電子部品Bやプリント基板Pは実装関連部品の一例である。
【0020】
そして作業位置では、上記フィーダ80を通じて供給された電子部品Bを、プリント基板P上に実装する実装処理が、ヘッドユニット60に搭載された実装ヘッド63により行われるとともに、その後、実装処理を終えたプリント基板Pはコンベア20を通じて
図1における右方向に運ばれ、機外に搬出される構成になっている。
【0021】
駆動装置30は、大まかには一対の支持脚41、ヘッド支持体51、Y軸ボールネジ45、Y軸モータ47、X軸ボールネジ55、X軸モータ57から構成される。具体的に説明してゆくと、
図1に示すように基台11上には一対の支持脚41が設置されている。両支持脚41は作業位置の両側に位置しており、共にY軸方向にまっすぐに延びている。
【0022】
両支持脚41にはY軸方向に延びるガイドレール42が支持脚上面に設置されると共に、これら左右のガイドレール42に長手方向の両端部を嵌合させつつヘット支持体51が取り付けられている。
【0023】
また、右側の支持脚41にはY軸方向に延びるY軸ボールねじ45が装着され、更にY軸ボールねじ45にはボールナット(不図示)が螺合されている。そして、Y軸ボールねじ45にはY軸モータ47が付設されている。
【0024】
Y軸モータ47を通電操作すると、Y軸ボールねじ45に沿ってボールナットが進退する結果、ボールナットに固定されたヘッド支持体51、ひいては次述するヘッドユニット60がガイドレール42に沿ってY軸方向に移動する(Y軸サーボ機構)。
【0025】
ヘッド支持体51は、X軸方向に長い形状である。ヘッド支持体51には、
図2に示すように、X軸方向に延びるガイド部材53が設置され、更に、ガイド部材53に対してヘッドユニット60が、ガイド部材53の軸に沿って移動自在に取り付けられている。このヘッド支持体51には、X軸方向に延びるX軸ボールねじ55が装着されており、更にX軸ボールねじ55にはボールナットが螺合されている。
【0026】
そして、X軸ボールねじ55にはX軸モータ57が付設されており、同モータ57を通電操作すると、X軸ボールねじ55に沿ってボールナットが進退する結果、ボールナットに固定されたヘッドユニット60がガイド部材53に沿ってX軸方向に移動する(X軸サーボ機構)。
【0027】
従って、X軸モータ57、Y軸モータ47を複合的に制御することで、基台11上においてヘッドユニット60を平面方向(X軸−Y軸方向)に移動操作出来る構成となっている。
【0028】
係るヘッドユニット60には、電子部品Bの実装作業を行う実装ヘッド63が複数個搭載されている。
図6に示すように実装ヘッド63はX軸方向に等間隔で並んで設けられている。また、実装ヘッド63はマーク67のY軸方向の両側に2列設けられている。
【0029】
マーク67はヘッドユニット60の下面壁61に設けられている。マーク67は、部品認識カメラ90の認識誤差を補正するために設けられている(詳細は後述する)。
【0030】
各実装ヘッド63はR軸モータによる軸回りの回転と、Z軸モータの駆動によりヘッドユニット60に対して昇降可能な構成となっている。また、各実装ヘッド63には図外の負圧手段から負圧が供給されるように構成されており、ヘッド先端に吸引力を生じさせるようになっている。
【0031】
このような構成とすることで、X軸モータ57、Y軸モータ47、Z軸モータを所定のタイミングで作動させることにより、フィーダ80を通じて供給される電子部品Bを実装ヘッド63により取り出して、プリント基板P上に実装する処理を実行することが出来る。
【0032】
図2に示す符号65は基板認識カメラである。基板認識カメラ65はヘッドユニット60に撮像面を下に向けた状態で固定されており、ヘッドユニット60とともに一体的に移動する構成とされている。基板認識カメラ65はプリント基板を撮像して、画像認識する機能を担う。
【0033】
また、
図1、
図3に示す符号「90」は部品認識カメラである。部品認識カメラ90は基台11上において撮像面を上に向けて固定されており、実装ヘッド63に吸着保持された電子部品Bを撮像して、実装ヘッド63に吸着保持された電子部品Bの姿勢を検出する機能を担う。
【0034】
具体的に説明すると、
図4に示すように、部品認識カメラ90は、フレーム91と、被写体(電子部品B)に光を照射する光源92と、第1ミラー93と、第2ミラー94と、レンズ95と、イメージセンサ97と、を備えている。
【0035】
図4に示すように、部品認識カメラ90に入光する光線Gは、第1ミラー93、第2ミラー94で反射した後、レンズ95を透過して、イメージセンサ97に入光する構造となっている。そのため、電子部品Bが部品認識カメラ90の真上を通過するタイミングに合わせて撮影を行うことで、電子部品Bの画像を撮影することが出来る。
【0036】
また、部品認識カメラ90はラインセンサカメラであり、
図3に示すように、イメージセンサ(撮像部)97は、受光素子97AをY軸方向に一列状に配置した一次元のイメージセンサである。本実施形態では、電子部品Bを部品認識カメラ90に対してX軸方向に移動させながら、撮影を複数回連続的に行う。そして、各回の撮影で取得される電子部品Bの一次元画像をX軸方向に並べて二次元化することで、電子部品Bの二次元反射画像を得ること出来る。
【0037】
また、
図5は、表面実装機1の電気的構成を示すブロック図である。表面実装機1は、コントローラ150、ドライバ160、画像処理部170、I/O180を備える。
【0038】
コントローラ150は、CPU151、記憶部153を有する。記憶部153には、実装プログラム等、プリント基板Pに電子部品Bを実装するための各種の情報が記憶されている。また部品認識カメラ90の認識誤差を補正するための補正データ(
図9参照)を記憶している。コントローラ150は表面実装機1を制御・統括する機能を果たす。
【0039】
ドライバ160には、各軸モータ57、47が接続されている。ドライバ160は、コントローラ150からの指令に応答して各軸モータ57、47を制御する機能を果たす。コントローラ150が実装プログラムに従ってドライバ160に指令を与えることで、各軸モータが制御され、プリント基板Pに対する電子部品Bの実装動作が行われる構成になっている。また、コントローラ150には、I/O180を介して、フィーダ80やセンサ類が電気的に接続されている。尚、コントローラ150が本発明の「制御部」に相当する。
【0040】
2.部品認識カメラ90の認識誤差の補正
ところで、部品認識カメラ90の認識誤差ΔX、ΔYは、カメラの認識位置Pyにより、異なる。これは、ミラー93、94やレンズ95の歪みなどの要因によるものであり、一般的には、視野の中心部分(イメージセンサ97の中心部分であると共に平面視のレンズの中心部分)に比べて、視野の中心から離れた位置(イメージセンサ97の中心から離れた位置)で認識誤差ΔX、ΔYが大きくなる。部品認識カメラ90の認識精度を向上させるには、カメラの認識位置Pyに依存する認識誤差ΔX、ΔYを抑えることが好ましい。
【0041】
特に、本実施形態では、ヘッドユニット60に実装ヘッド63を2列搭載しており、
図6の(B)に示すように、部品認識カメラ90の視野中心POだけを利用して電子部品Bを一列ずつ撮影する方法の他、
図6の(A)に示すように視野中心POから離れた2か所の撮影位置PA、PBを利用して2列の電子部品Bを一度に撮影する方法がある。
【0042】
すなわち、認識誤差ΔX、ΔYの比較的小さい視野中心だけでなく、認識誤差ΔX、ΔYが比較的大きい視野端も撮影に使用されることがあるので、カメラの認識位置Pyに依存する認識誤差ΔX、ΔYを抑えることが好ましい。
そこで、本実施形態では、生産準備時などプリント基板Pの生産開始前に、各認識位置Pyでの認識誤差ΔX、ΔYを計測し、各認識位置Pyでの認識誤差ΔX、ΔYを補正値CX、CYとして記憶する(
図9に示す補正データ)。尚、補正値CX、CYは、認識誤差ΔX、ΔYをマイナス方向に補正するものであり、下記の(1)、(2)式で示すように、認識誤差ΔX、ΔYとはプラス、マイナスの符号が逆になる。
【0043】
そして、プリント基板Pの生産時に、部品認識カメラ90により取得される各認識位置Pyでの認識結果を、事前に取得した補正値CX、CYに基づいて補正することにより、部品認識カメラ90の認識位置Pyに依存する認識誤差を抑えるようにしている。
【0044】
尚、本明細書において、認識位置Pyとは、
図7に示すように、カメラ90の像面S2、すなわちイメージセンサ97上の画像位置(像の位置)を指すものとする。但し、カメラ90が撮像対象に対して画像を等倍(y1/Y1=1)に撮像する場合を想定しており、カメラ90の倍率(y1/Y1)が等倍でない場合、撮影対象に対して画像が等倍になるように、画像のスケール(大きさ)を変換した時の画像位置をPyと考える。すなわち、レンズS3により撮像対象の画像を縮小した画像がイメージセンサ上に露光され撮像する場合、実際の露光位置のイメージセンサ中心(画像中心)Poからの距離を、縮小した倍率(あるいは拡大した倍率)で除算して撮像対象と等倍の位置に換算したものを「Py」と考える。また、カメラ90の倍率が等倍でない場合、画像のスケールを等倍に変換するに伴い、イメージセンサ97のスケールも同じ割合で変換する必要がある。
【0045】
尚、
図7はカメラ90の結像作用を示す光路図であり、「S1」は物体面(撮影対象であるマーク67の表面)、「S2」は像面(イメージセンサ97の撮像面)、「S3」はレンズを示している。また、「Po」はイメージセンサ中心(画像中心)、「PO」は視野の中心を示しており、両中心は一致している。
【0046】
また、物体面S1上の「PY」は撮影位置、像面S2上の「Py」は撮影位置PYに対する認識位置を示している。また、物体面S1上の「K1」と「K2」は視野端を示している。また、部品認識カメラ90で撮影された画像の座標は、視野中心POを原点とし、表面実装機1のX軸方向、Y軸方向が、そのまま画像のX軸方向、Y軸方向である。尚、
図4に示すように、部品認識カメラ90は、撮影対象とレンズの間にミラー93、94を介在させているが、
図7では、これらミラー93、94は省略した図としてある。
【0047】
以下、プリント基板の生産開始前におこなわれる補正値(
図9に示す補正データ)の算出方法について説明を行う。
【0048】
まず、認識誤差の計測に使用されるマーク67について説明する。マーク67は、ヘッドユニット60の下面壁61に固定されている。
図6に示すように、マーク67は下面壁61のうちY軸方向中央の位置にあって、X軸方向の両側に一対設けられている。本例では、マーク67は円形となっている。尚、認識誤差計測用の撮影は、2つのマーク67のうち、いずれか一方側のマーク67のみ行えばよい。以下、2つのマーク67のうち撮影対象として選定されたマーク67を選定されたマークと呼ぶ。
【0049】
図3に示すように、選定されたマーク67を、部品認識カメラ90の視野内の複数の位置で撮影する。すなわち、ヘッドユニット60を移動させることにより、選定されたマーク67を部品認識カメラの視野内のうち、所定の撮影位置PYにて、X軸方向に移動させて、所定の撮影位置PYを通過させる。そして、マーク67が所定の撮影位置PYを通過するタイミングに合わせて撮影を行う。
【0050】
このような撮影を、カメラ90の視野内においてY軸方向の座標を変えながら、各撮影位置PYで行う。そして、各撮影位置PYにおける、選定されたマーク67の各認識結果から各認識位置PyでのX軸方向の認識誤差ΔX、Y軸方向の認識誤差ΔYを求める。
【0051】
図8は、撮影位置PAでマーク67を撮影した時の認識結果を示している。
図8中の「Pa」はマーク67の実際の位置である。また、「Pa+ΔY」は画像位置、すなわちマーク67の認識位置である。尚、イメージセンサ97上には、レンズS3の作用により、撮影対象を反転した画像(倒立画像)が形成されるが、
図8は、画像処理部170で把握される認識結果、すなわち反転を画像処理して元の状態に戻した状態の認識結果を示している。
【0052】
認識誤差ΔX、ΔYは、レンズやミラーに歪みがない場合の理想的な認識位置に対する実際の認識結果の誤差であり、ΔXは認識位置Pa+ΔYでのX軸方向の認識誤差、ΔYは認識位置Pa+ΔYでのY軸方向の認識誤差を示している。
図8に示すように、本例では、マーク67の実際の中心位置Osに対する認識されたマーク67の中心位置Oの位置のずれを、認識誤差ΔX、ΔYとして算出している。
【0053】
そして、(1)、(2)式で示すように、算出した認識誤差「ΔX」を、認識位置Pa+ΔYにおける補正値「CX
Pa+ΔY」とし、認識誤差「ΔY」を認識位置Pa+ΔYにおける補正値「CY
Pa+ΔY」とする。
【0054】
CX
Pa+ΔY=−ΔX・・・・(1)
CY
Pa+ΔY=−ΔY・・・・(2)
【0055】
以上により、認識位置Pa+ΔYについて、X軸方向の補正値CX
Pa+ΔYとY軸方向の補正値CY
Pa+ΔYが得られる。同様の処理を各撮影位置PYでの認識結果に対して行うことにより、各認識位置Py+ΔYについて、X軸方向の補正値CX
Py+ΔYとY軸方向の補正値CY
Py+ΔYが得られる。
【0056】
また、認識位置Py+ΔYは、データとして扱い難いことから、本実施形態では、各認識位置Py+ΔYの補正値CX
Py+ΔYを、直線近似あるいは最小二乗法等の近似方法を用いて補間して各認識位置Pyの補正値CX
Pyを算出し、各認識位置Py+ΔYの補正値CY
Py+ΔYを直線近似あるいは最小二乗法等の近似方法を用いて補間して各認識位置Pyの補正値C
YPyを算出している。以上により、
図9に示す補正データが得られる。
【0057】
尚、
図9では、認識位置Pyを5mm刻みとしているが、実際は、後述するように、1mm刻みでマーク67の撮影を行っており、各認識位置PyのX軸方向の補正値、Y軸方向の補正値が1mm刻みで得られる。尚、以下の説明において、認識位置Pyに対する補正値「CX
Py」を「CX」と表記し、認識位置Pyに対する補正値「CY
Py」を「CY」と表記する。
【0058】
図10は補正値CX、CYの算出手順を示すフローチャート図である。まず、S10では、コントローラ150の制御により、部品認識カメラ90でマーク67を撮影して画像認識する処理が行われ、その後、マーク67は部品認識カメラ90の視野中心POに一旦移動する。
【0059】
その後、S20では、コントローラ150の制御により、マーク67を部品認識カメラのマイナス側の視野端に移動させる処理が行われる。続くS30では、Nの値を「1」に設定する処理が行われる。
【0060】
そして、S40では、コントローラ150の制御により、マイナス側の視野端でマーク67をX軸方向に移動させながら、部品認識カメラ90でマーク67を撮影して画像認識する処理が行われる。尚、S40が本発明の「マーク認識処理、マーク認識ステップ」の一例である。
【0061】
その後、S50では、コントローラ150の制御により、マーク67を、移動量(1mm×N)だけ、Y軸方向のプラス側に移動させる処理が行われる。
【0062】
初回に行うS50の処理では、N=1であることから、マーク67は、マイナス側の視野端からY軸方向に1mm移動する。
【0063】
その後、S60ではNの値を「1」加算する処理が行われる。これにより、Nの値は「2」に設定される。
【0064】
その後、S70では、プラス側の視野端でマーク67を撮影したか判断する処理がコントローラ150により行われる。この段階では、プラス側の視野端では撮影をしていないので、処理の流れとしては、S40へ戻り、コントローラ150の制御により、部品認識カメラ90による2回目のマーク認識が実行される。
【0065】
すなわち、マイナス側の視野端から1mmの位置でマーク67をX軸方向に移動させながら、部品認識カメラ90でマーク67を撮影して画像認識する。これにより、マイナス側の視野端から約1mm離れた位置での認識結果が得られる。
【0066】
その後、コントローラ150の制御により、マーク67の位置をY軸方向に1mmずつ移動させながら、部品認識カメラ90でマーク67を撮影して画像認識する処理が行われる。これにより、マイナス側の視野端から1mmずつ離れた各位置での認識結果が得られる。
【0067】
やがて、マーク67はプラス側の視野端に達し、その位置でマーク67の撮影が行われる。
【0068】
そして、プラス側の視野端でマーク67を撮影すると、次にS70の処理を行った時にYES判定され、処理はS80に移行する。
【0069】
S80では、補正データを作成する処理と、作成した補正データを記憶部153に対して保存する処理が、コントローラ150にて実行される。具体的には、マイナス側の視野端から1mmずつ離れた各撮影位置PYでの認識結果より、視野端から約1mmずつ離れた各認識位置PyでのX軸方向の認識誤差ΔX、Y軸方向の認識誤差ΔYがそれぞれ算出される。そして、認識誤差ΔX、ΔYに対して符合をプラス、マイナス逆にした値が、X軸方向の補正値CX、Y軸方向の補正値CYとして記憶される。S80が本発明の「補正値算出処理、補正値算出ステップ」の一例である。
【0070】
尚、先に説明したように、認識結果から実際に算出されるのは各認識位置Py+ΔYでの補正値CX
Py+ΔY、CY
Py+ΔYであり、各認識位置Pyでの補正値CX、CYは、これらのデータを直線近似あるいは最小二乗法等の近似方法を用いて補間することにより得られる。
【0071】
続いて、
図11を参照して、表面実装機1にて実行される電子部品Bの実装処理について説明する。
【0072】
実装処理が開始されると、コントローラ150は、フィーダ80から電子部品Bを取り出す処理を実行する(S100)。具体的には、ドライバ160を介して各軸モータ47、57を制御して、実装ヘッド63をフィーダ80の上方に移動させる。そして、実装ヘッド63をフィーダ80の部品取り出し位置に向けて下降させ、フィーダ80から電子部品Bを取り出す処理を行う。
【0073】
その後、コントローラ150はドライバ160を介して各軸モータ47、57を制御して、実装ヘッド63により吸着した電子部品Bを、部品認識カメラ90の上方を横切るように通過させる。
【0074】
具体的には、
図6の(A)に示すように、Y軸方向に並ぶ2列の実装ヘッド63がY軸方向で部品認識カメラ90の視野と重なる位置にて、ヘッドユニット60をX軸方向に移動させる。そして、2列の実装ヘッド63に吸着保持された電子部品Bが部品認識カメラ90を通過するタイミングに合わせて撮影を行う。
【0075】
これにて、2列の実装ヘッド63に吸着保持された電子部品Bを、部品認識カメラ90で一度に撮影することが出来る。そして、コントローラ150は、電子部品Bの画像から電子部品を画像認識する(S110)。尚、S110が本発明の「実装関連部品認識処理、
「実装関連部品認識ステップ」の一例である。
【0076】
続いて、コントローラ150は、電子部品Bの認識結果を、補正データに基づいて補正する処理を実行する(S120)。すなわち、記憶部153に記憶された補正データを参照して各認識位置Pyに対応する補正値CX、CYを読み出す。尚、S120が本発明の「補正処理、補正ステップ」の一例である。
【0077】
そして、各認識位置Pyでの認識結果を補正値CX、CYで補正する。すなわち、ある認識位置Pyでの補正値がCX、CYである場合、その認識位置Pyの認識結果についてX軸方向とY軸方向の座標を(CX、CY)だけ補正する。このような補正を、各認識位置Pyでの認識結果についてそれぞれ行う。このようにすることで、部品認識カメラ90の認識位置Pyに依存する認識誤差を抑えることが出来る。
【0078】
そして、コントローラ150は、電子部品Bの認識結果を補正する処理を行うと、次に、補正後の認識結果に基づいて、電子部品Bの傾きや吸着位置のずれを検出する処理を行う。その後、検出した傾きや吸着位置のずれを補正しつつ、電子部品Bをプリント基板Pに実装する。
【0079】
(実施形態の効果)
本実施形態の表面実装機1によれば、部品認識カメラ90の認識位置Pyに依存する認識誤差ΔX、ΔYを抑えることが出来る。そのため、部品認識カメラ90の認識精度を向上し、プリント基板Pに対する電子部品Bの搭載精度を向上させることが可能となる。
また、認識誤差を補正する方法には、認識誤差を検出するための専用治具(例えば、各認識位置ごとに目印を設けたもの)をカメラで撮影して行う方法もあるが、本実施形態では、このような治具を使用せずに、部品認識カメラ90の認識誤差を補正することが可能となる。
【0080】
尚、
図12、
図13は、各認識位置Pyにおける認識誤差ΔX、ΔYの大きさを、補正前後で比較した図である。
図12に示すように、補正前の状態では、カメラの中心部分では認識誤差ΔX、ΔYが比較的小さいのに対して、カメラの視野端側では認識誤差ΔX、ΔYが大きくなっており、中心部分と視野端では認識誤差ΔX、ΔYが異なっている。これに対して、
図13に示すように、補正後の状態では、視野端を含む、視野の全範囲について、認識誤差ΔX、ΔYが小さくなっており、データ上も、認識位置Pyに依存する認識誤差ΔX、ΔYを抑えられる結果が得られている。
【0081】
<実施形態2>
実施形態1では、ミラー93、94やレンズ95の歪みに起因する認識誤差を抑えるため、補正値CX、CYを用いて、各認識位置Pyでの認識結果を補正する構成を例示した。
図13は、カメラ90によるマーク認識時から表面実装機1の機内温度に変化がない又は小さい場合の、補正後の認識誤差ΔX、ΔYを示しており、視野の全範囲について認識誤差は小さく抑えられている。
【0082】
ところが、ミラー93、94やレンズ95は温度変化で「ゆがみ」を生じるため、カメラ90によるマーク認識時から表面実装機1の機内温度に変化があると、同じ補正値CX、CYを用いて認識結果を補正しても、温度変化がない又は小さい当初に比べて、補正後の認識誤差ΔX、ΔYが大きくなる。
【0083】
図14は、カメラ90によるマーク認識時から表面実装機1の機内温度に変化があった場合について、部品認識カメラ90の認識結果を、温度変化前の補正値CX、CYを用いて補正した時の認識誤差ΔX、ΔYを示しており、
図13に比べて、補正後の認識誤差ΔX、ΔYが拡大している。
【0084】
そこで、実施形態2では、部品認識カメラ90でマーク67を認識する処理を定期的に実行する。そして、得られた認識結果から、補正値CX、CYを更新する処理を行う。
【0085】
具体的に説明すると、
図15の(a)のグラフは、部品認識カメラ90による前回のマーク認識時から所定時間Tが経過した時に、更新前の補正値CYを用いて認識結果を補正した時の認識誤差ΔYrを示している。
図15の(b)のグラフは、部品認識カメラによる前回のマーク認識時から所定時間Tが経過した時に、更新前の補正値CXを用いて認識結果を補正した後の認識誤差ΔXrを示している。
【0086】
尚、補正前の認識誤差と補正後の認識誤差を区別するため、以下の説明において、更新前の補正値CX、CYを用いて認識結果を補正した後のX軸方向の認識誤差をΔXrとし、Y軸方向の認識誤差をΔYrとする。
【0087】
図15の(a)、(b)に示すように、更新前の補正値CX、CYを用いて認識結果を補正した後の認識誤差ΔXr、ΔYrは、イメージセンサ中心Poから視野端側に向けて概ね大きくなる傾向を示しており、直線で近似することが出来る。
【0088】
すなわち、Y軸方向の認識誤差ΔYrであれば、
図15の(a)にて示すように、マイナス側の領域(Py<0)を近似する「第1近似直線Ly1」と、プラス側の領域(Py≧0)を近似する「第2近似直線Ly2」により近似できる。
【0089】
「第1近似直線Ly1」は、「イメージセンサ中心Poでの認識誤差ΔYr」と「イメージセンサ中心PoからY軸方向のマイナス側に所定距離離れた認識位置Paでの認識誤差ΔYr」とを結ぶ直線である。
【0090】
また「第2近似直線Ly2」は、「イメージセンサ中心Poでの認識誤差ΔYr」と「イメージセンサ中心PoからY軸方向のプラス側に所定距離離れた認識位置Pbでの認識誤差ΔYr」とを結ぶ直線である。
【0091】
尚、
図15の(a)において、θ2、θ4は近似直線Ly1、Ly2の傾きを示している。θ2、θ4の値は、認識位置Pyの正側、負側それぞれについて、X軸を基準として反時計回りの方向をプラスとしており、
図15の(a)の例では、θ2、θ4の双方ともプラスである。
【0092】
また、X軸方向の認識誤差ΔXrであれば、
図15(b)にて示すように、マイナス側の領域(Py<0)を近似する「第1近似直線Lx1」と、プラス側の領域(Py≧0)を近似する「第2近似直線Lx2」により近似できる。
【0093】
「第1近似直線Lx1」は、「イメージセンサ中心Poでの認識誤差ΔXr」と「イメージセンサ中心PoからY軸方向のマイナス側に所定距離離れた認識位置Paでの認識誤差ΔXr」とを結ぶ直線である。
【0094】
また「第2近似直線Lx2」は、「イメージセンサ中心Poでの認識誤差Δ
Xr」と「イメージセンサ中心PoからY軸方向のプラス側に所定距離離れた認識位置Pbでの認識誤差Δ
Xr」とを結ぶ直線である。
【0095】
尚、
図15の(b)において、角度θ1、θ3は近似直線Lx1、Lx2の傾きを示している。角度θ1、θ3の値は、認識位置Pyの正側、負側それぞれについて、X軸を基準として反時計方向をプラスとしており、
図15の(a)の例では、θ1はプラス、θ3はマイナスである。
【0096】
実施形態2では、上記した各近似直線を得るため、
図16の(a)〜(c)に示すように、以下の3点でマーク67を撮影して認識する。
(1)部品認識カメラ90の視野中心PO
(2)視野中心POからY軸方向のマイナス側に所定距離離れた撮影位置PA
(3)視野中心POからY軸方向のプラス側に所定距離離れた撮影位置PB
尚、撮影位置PAは認識位置Paと対応し、撮影位置PBは認識位置Pbと対応する。
【0097】
そして、各撮影位置PO、PA、PBでのマーク撮影により、各認識位置Po、Pa、Pbでの認識結果が得られる。その後、各認識位置Po、Pa、Pbでの認識結果を更新前の補正値CX、CYで補正する。次に、補正後のマーク67の認識結果と実際のマーク67の位置とを比較して、補正後のマーク67の認識誤差、すなわちX軸方向の認識誤差ΔXr、Y軸方向の認識誤差ΔYrを、各認識位置Po、Pa、Pbについてそれぞれ算出する。
【0098】
以上により、各認識位置Po、Pa、Pbについて、認識誤差ΔXr、ΔYrが得られるので、X軸方向の認識誤差ΔXrを近似する2つの近似直線Lx1、Lx2を求めることが出来る。また、Y軸方向の認識誤差ΔYrを近似する2つの近似直線Ly1、Ly2を求めることが出来る。
【0099】
そして、前回のマーク認識時から所定時間Tが経過した時点の認識誤差を補正する最新の補正値CX2、CY2は、以下により算出することが出来る。
【0100】
各認識位置Pyに対するX軸方向の最新の補正値CX2は、Py<0の場合、下記の(3)式で示すように、認識位置Pyの座標と、近似直線Lx1の傾きθ1と、更新前のX軸方向の補正値CX1と、から近似的に算出することが出来る。また、Py≧0の場合、下記の(4)式で示すように、認識位置Pyの座標と、近似直線Lx2の傾きθ3と、更新前のX軸方向の補正値CX1と、から近似的に算出することが出来る。
【0101】
Py<0の場合、CX2=Py×SIN(−θ1)+CX1×COS(−θ1)・・(3)
Py≧0の場合、CX2=Py×SIN(−θ3)+CX1×COS(−θ3)・・(4)
【0102】
尚、「CX1」は、各認識位置PyにおけるX軸方向の更新前の補正値である。θ1は第1近似直線Lx1の傾き、θ3は第2近似直線Lx2の傾きを示している。
【0103】
また、各認識位置Pyに対するY軸方向の最新の補正値CY2は、Py<0の場合、下記の(5)式で示すように、認識位置Pyの座標と、近似直線Ly1の傾きθ2と、更新前のY軸方向の補正値CY1と、から算出することが出来る。また、Py≧0の場合、下記の(6)式で示すように、認識位置Pyと、近似直線Ly2の傾きθ4と、更新前のY軸方向の補正値CY1と、から算出することが出来る。
【0104】
Py<0の時、CY2=Py×SIN(−θ2)+CY1×COS(−θ2)・・・(5)
Py≧0の時、CY2=Py×SIN(−θ4)+CY1×COS(−θ4)・・・(6)
【0105】
尚、「CY1」は、各認識位置PyにおけるY軸方向の更新前の補正値である。θ2は第1近似直線Ly1の傾き、θ4は第2近似直線Ly2の傾きを示している。
【0106】
図17の(A)は、横軸を認識位置Py、縦軸のプラス側を認識誤差ΔX、縦軸のマイナス側を補正値CXとしたグラフである。ΔX1は認識位置Pyに対する温度変化前の未補正時の認識誤差、ΔX2は温度変化後の未補正時の認識誤差である。
【0107】
下記の(7)式で示すように、ΔX2とΔX1の差は更新前の補正値CX1を適用して補正した時の認識誤差ΔXrと概ね等しいことから、
図17の(A)で示すように、2つの直線L1、L2の間の角度は、近似直線Lxの角度「θx」と概ね等しい関係となる。
【0108】
ΔXr=ΔX2−ΔX1・・・・・・(7)
【0109】
一方、認識位置Pyに対する更新前の補正値CX1は、温度変化前の認識誤差ΔX1からプラス、マイナスを入れ替えた値であり、更新後の補正値CX2は温度変化後の認識誤差ΔX2からプラス、マイナスを入れ替えた値である。そのため、2つの直線L3、L4の間の角度は「−θx」と等しい関係となる。上記の(3)、(4)式は、このような関係を利用して算出されている。
【0110】
図17の(B)は、横軸を認識位置Py、縦軸のプラス側を認識誤差ΔY、縦軸のマイナス側を補正値CYとしたグラフである。上記の(5)、(6)式も、上記と同様の関係を利用して算出されている。
【0111】
本実施形態では、上記(3)〜(6)の計算式より、各認識位置Pyに対する最新の補正値CX2、CY2を算出する。そして、
図18に示すように、各認識位置Pyに対するX軸方向の補正値を「CX1」から「CX2」に更新し、Y軸方向の各補正値を「CY1」から「CY2」に更新する。
【0112】
このように、部品認識カメラ90の3点でマーク67を撮影する処理を定期的に行って、補正値CX、CYを更新することで、温度変化によるミラーやレンズのゆがみに起因する認識誤差の拡大を抑えることが可能であり、部品認識カメラ90の認識精度が高まる。そのため、プリント基板Pに対する電子部品Bの搭載精度が高まる。
【0113】
尚、視野中心POから撮影位置PA、PBまでの距離Fa、Fbは、ヘッドユニット60の中心線Lmから実装ヘッド63までの距離Foと等しい長さにしておくことが好ましい(
図16参照)。
【0114】
このようにすることで、認識誤差の計測点PA、PBと同じ位置で、電子部品Bを認識することが出来るため、電子部品Bの認識誤差を抑えることが可能となる。
【0115】
図19は、Y軸方向の認識誤差を例にとって、更新前の補正値CX1、CY1を適用して認識結果を補正した場合と、最新の補正値CX2、CY2を適用して認識結果を補正した場合について、認識誤差の大きさを比較している。同図に示すように、更新前の補正値CX1、CY1を適用した場合の認識誤差ΔYrに比べて、最新の補正値CX2、CY2を適用した場合の認識誤差ΔYtの方が、認識誤差が小さくなっている。
【0116】
また、
図20は、Y軸方向を例にとって、更新前後の補正量の大きさを示している。
図20において白丸線は更新前の補正値CY1、黒丸線は最新の補正値CY2を示しており、最新の補正値CY2の大きさは、更新前の補正値CY1に対して大きくなっている。
【0117】
次に、
図21を参照して、補正値の更新処理について簡単に説明する。
図21に示すように、表面実装機1は自動運転の開始後、まず、自動運転状態に制御され、プリント基板の生産が行われる(S200、S210)。
【0118】
そして、コントローラ150は、表面実装機1の制御と並行して、部品認識カメラ90による前回のマーク認識時からの経過時間をカウントする処理を行い、部品認識カメラ90による前回のマーク認識時から所定時間T(一例として2時間)が経過したか判断する処理を実行する(S220)。
【0119】
所定時間Tが経過していなければ、S220ではNO判定となり、表面実装機1は自動運動状態に制御される。そして、所定時間Tが経過すると、S220ではNO判定となり、その後、コントローラ150の制御により、S230〜S250の処理が実行される。
【0120】
そして、S230では、ドライバ160を介して各軸モータ47、57を制御して、ヘッドユニット60を部品認識カメラ側に移動させる。そして、マーク67が部品認識カメラ90の視野中心POを横切るようにヘッドユニット60をX軸方向に移動させ、
図16の(a)にて示すように、部品認識カメラ90の視野中心POでマーク67を再度撮影して画像認識する処理を実行する。
【0121】
そして、S240では、マーク67が部品認識カメラ90の視野中心POからY軸方向に所定距離離れた撮影位置PAを横切るようにヘッドユニット60をX軸方向に移動させ、
図16の(b)にて示すように、部品認識カメラ90の視野PoからY軸方向に所定距離離れた撮影位置PAでマーク67を再度撮影して画像認識する処理を実行する。
【0122】
また、S250では、マーク67が部品認識カメラ90の視野中心POからY軸方向に所定距離離れた撮影位置PBを横切るようにヘッドユニット60をX軸方向に移動させ、
図16の(c)にて、部品認識カメラ90の視野中心POからY軸方向に所定距離離れた撮影位置PBでマーク67を再度撮影して画像認識する処理を実行する。尚、S230〜S240が本発明の「更新用マーク認識処理、更新用マーク認識ステップ」の一例である。
【0123】
そして続く、S260では、コントローラ150は、3点Po、Pa、Pbでのマーク67の認識結果と、前回の補正値CX1、CY1に基づいて、X軸方向の最新の補正値CX2とY軸方向の最新の補正値CY2を算出する処理を行う。
【0124】
具体的には、まず、各認識位置Po、Pa、Pbでの認識結果を、更新前の補正値CX、CYで補正する。その後、補正後のマーク67の認識結果と実際のマーク67の位置とを比較して、補正後のマーク67の認識誤差、すなわちX軸方向の認識誤差ΔXr、Y軸方向の認識誤差ΔYrを、各認識位置Po、Pa、Pbについてそれぞれ算出する。次に、算出した各認識位置Po、Pa、Pbでの認識誤差ΔXr、ΔYrから近似直線Lx1、Lx2、Ly1、Ly2を算出する。そして、近似直線Lx1の傾きθ1と、近似直線Lx2の傾きθ3と、更新前の補正値CX1に基づいて、各認識位置PyでのX軸方向の最新の補正値CX2を算出する。また、2つの近似直線Ly1の傾きθ2と、近似直線Ly2の傾きθ4と、更新前の補正値CY1に基づいて、各認識位置Pyでの最新の補正値CY2を算出する。
【0125】
その後、コントローラ150は、X軸方向の補正値を「CX1」から「CX2」に更新し、Y軸方向の補正値を「CY1」から「CY2」に書き換えて記憶部153に記憶する処理を行う(S270)。尚、S260、S270が本発明の「補正値更新処理、補正値更新ステップ」処理の一例である。
【0126】
その後、S280では、自動運転終了をするか、否か判断する処理が行われる。自動運転を継続する場合、S280ではNO判定となり、その後、S210に移行して、表面実装機1の自動運転が継続され、プリント基板Pに対する電子部品Bの実装作業が行われる。
【0127】
尚、電子部品Bの実装作業中には、実装ヘッド63で吸着した保持した電子部品Bを部品認識カメラで画像認識する処理が行われ、傾きや位置のずれが検出される。そして、検出した傾きや位置のずれを補正しつつ、電子部品Bはプリント基板P上に実装される。
【0128】
そして、前回のマーク認識時から所定時間Tが経過すると、S220の処理を実行した時に、S220でYES判定されることから、再び、S230〜S270の処理が実行され、補正値CX、CYが更新される。このように、実施形態2では、前回のマーク認識時から所定時間Tが経過するごとに、補正値CX、CYを更新するので、表面実装機1の機内温度などに変化があっても、部品認識カメラ90の認識誤差を抑えることが可能となる。そのため、プリント基板Pに対する電子部品Bの実装精度を高めることが可能となる。
【0129】
<他の実施形態>
本明細書で開示される技術は上記既述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も技術的範囲に含まれる。
【0130】
(1)実施形態1、2では、部品認識カメラ90の一例として、ラインセンサカメラを例示したが、エリアセンサカメラであってもよい。尚、エリアセンサカメラについて補正値のデータを作成するには、二次元の撮影位置(PX、PY)でそれぞれマークを撮影し、各認識位置(Px、Py)での認識誤差を求めるようにすればよい。
【0131】
(2)実施形態1、2では、ヘッドユニット60に設けたマーク67を撮影して、部品認識カメラ90の認識誤差を補正した例を示したが、例えば、ヘッドユニット60に搭載した基板認識カメラ65で基台10上に設けたマーク67を撮影して、基板認識カメラ65の認識誤差を補正するようにしてもよい。またこの場合、認識誤差を補正する補正値を用いて、基板認識カメラ65により撮影されるプリント基板の認識結果を補正するとよい。
【0132】
(3)実施形態2では、近似直線Lx、Lyを正側(Py>0)と負側(Py≦0)で別々に算出した。Y軸方向の近似直線Lyのように、正側と負側で直線の傾きがほぼ一致する場合、近似直線Lx、Lyを1つの直線で近似してもよく、この場合、「PA」や「PB」など2点でマーク67を認識した結果から、近似直線Lx、Lyを求めることが可能である。また、実施形態2では、前回の補正値と近似直線を利用して、補正値を更新する方法を説明したが、これに限らず、カメラ視野内の各撮影位置でマークを撮影し、その認識結果から各認識位置の認識誤差を求めて補正値を更新する方法であってもよい。