(58)【調査した分野】(Int.Cl.,DB名)
前記照明条件特定部は、前記複数の撮像画像について前記一致度導出処理を順次行い、該一致度導出処理で導出された一致度が所定の閾値より高かった場合には、該一致度が導出された撮像画像の撮像時の前記照明条件を前記対象物の撮像に適した照明条件として特定し、それ以降の前記一致度導出処理を行わない、
請求項1又は2に記載の照明条件特定装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の撮像装置では、上記のように、いずれの発光ダイオード群をどのような光量にするかなどの照明条件を種々変更することができる。しかし、撮像対象の部品に適した照明条件を特定する作業は、従来は人間が行っていた。そのため、人間が作業に時間を取られるという問題や、必ずしも適切な照明条件が特定できるとは限らないという問題があった。
【0005】
本発明は、上述した課題を解決するためになされたものであり、対象物に応じた適切な照明条件を自動的に特定することを主目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述した主目的を達成するために以下の手段を採った。
【0007】
本発明の照明条件特定装置は、
対象物を撮像して得たい理想画像を取得する理想画像取得部と、
照明条件を異ならせて前記対象物を撮像して得られた複数の撮像画像を取得する撮像画像取得部と、
前記理想画像と前記撮像画像との一致度を導出する一致度導出処理を前記複数の撮像画像について行い、該複数の撮像画像のうち該導出された一致度が高いとみなせる撮像画像の撮像時の前記照明条件を前記対象物の撮像に適した照明条件として特定する照明条件特定部と、
を備えたものである。
【0008】
この照明条件特定装置では、対象物を撮像して得たい画像(例えば対象物の特定部分の形状の検出に適した画像)として用意された理想画像を用いて、理想画像との一致度が高いとみなせる撮像画像の撮像時の照明条件を、対象物の撮像に適した照明条件として特定する。このように、理想画像との一致度に基づいて照明条件を特定するため、対象物に応じた適切な照明条件を自動的に特定することができる。ここで、「一致度が高いとみなせる撮像画像」は、複数の撮像画像のうち一致度が最も高い撮像画像としてもよいし、複数の撮像画像のうち一致度が所定の閾値より高い撮像画像としてもよい。
【0009】
本発明の照明条件特定装置において、前記理想画像は、前記対象物の少なくとも一部の形状の輪郭に対応する画素とその外側の画素との輝度値の差が、該差が大きいとみなせる所定範囲の値となっている画像としてもよい。このような画像は、画素の輝度値に基づいて対象物の特定部分の形状を検出しやすいため、理想画像に適している。ここで、「輝度値の差が大きいとみなせる所定範囲」は、輝度値の差が画素の輝度値の階調数の80%以上であるような範囲としてもよいし、90%以上であるような範囲としてもよいし、差が「輝度値の階調数−1」となる(すなわち差が最大になっている)場合としてもよい。あるいは、「輝度値の差が大きいとみなせる所定範囲」は、取り得る照明条件のうちいずれの条件で撮像しても実現できない程度に大きい値の範囲としてもよいし、上記の輪郭を画像処理により特定するために必要な輝度値の差の値として予め定められた値以上の範囲としてもよい。
【0010】
この場合において、前記理想画像取得部は、前記対象物の少なくとも一部の形状に関する情報に基づいて、前記理想画像を作成して取得してもよい。こうすれば、理想画像も自動的に作成することができる。
【0011】
本発明の照明条件特定装置において、前記照明条件特定部は、前記複数の撮像画像について前記一致度導出処理を順次行い、該一致度導出処理で導出された一致度が所定の閾値より高かった場合には、該一致度が導出された撮像画像の撮像時の前記照明条件を前記対象物の撮像に適した照明条件として特定し、それ以降の前記一致度導出処理を行わなくてもよい。こうすれば、理想画像との一致度が高いとみなせる撮像画像(ここでは一致度が所定の閾値より高い撮像画像)の照明条件が特定できた場合に、まだ一致度を導出していない撮像画像についての一致度導出処理を省略するため、全体の処理時間をより短くできる。
【0012】
本発明の照明条件特定装置は、前記照明条件を異ならせて発光が可能な照明部と、前記照明部からの光が照射された前記対象物を撮像する撮像部と、所定の照明条件で前記照明部を発光させて前記撮像部に前記撮像画像を撮像させる撮像処理を、該照明条件を異ならせて複数回行う撮像制御部と、を備え、前記撮像画像取得部は、前記撮像処理で撮像された前記撮像画像を取得してもよい。こうすれば、照明条件特定装置が備える照明部に関して、撮像に適した照明条件を特定することができる。
【0013】
この場合において、複数回の前記撮像処理と、複数回の前記一致度導出処理とが並行して行われてもよい。こうすれば、全体の処理時間をより短くできる。さらに、前記照明条件特定部は、前記一致度導出処理で導出された一致度が所定の閾値より高かった場合には、該一致度が導出された撮像画像の撮像時の前記照明条件を前記対象物の撮像に適した照明条件として特定し、それ以降の前記一致度導出処理を行わず且つそれ以降の前記撮像処理を中止させてもよい。こうすれば、理想画像との一致度が高いとみなせる撮像画像(ここでは一致度が所定の閾値より高い撮像画像)の照明条件が特定できた場合に、まだ撮像していない照明条件での撮像処理及びまだ一致度を導出していない撮像画像についての一致度導出処理を省略するため、全体の処理時間をより短くできる。
【0014】
本発明の照明条件特定方法は、
対象物を撮像して得たい理想画像を取得する理想画像取得ステップと、
照明条件を異ならせて前記対象物を撮像して得られた複数の撮像画像を取得する撮像画像取得ステップと、
前記理想画像と前記撮像画像との一致度を導出する一致度導出処理を前記複数の撮像画像について行い、該複数の撮像画像のうち該導出された一致度が高いとみなせる撮像画像の撮像時の前記照明条件を前記対象物の撮像に適した照明条件として特定する照明条件特定ステップと、
を含むものである。
【0015】
この照明条件特定方法では、上述した照明条件特定装置と同様に、対象物に応じた適切な照明条件を自動的に特定することができる。なお、この照明条件特定方法において、上述した照明条件特定装置の種々の態様を採用してもよいし、また、上述した照明条件特定装置の各機能を実現するようなステップを追加してもよい。
【発明を実施するための形態】
【0017】
本発明の実施形態を図面を参照しながら以下に説明する。
図1は実装装置10の斜視図、
図2は実装装置10が備えるパーツカメラ40の構成の概略説明図、
図3は実装装置10の制御に関わる構成を示すブロック図である。なお、本実施形態において、左右方向(X軸)、前後方向(Y軸)及び上下方向(Z軸)は、
図1に示した通りとする。
【0018】
実装装置10は、基台12と、基台12の上に設置された実装装置本体14と、実装装置本体14に装着された部品供給装置としてのリールユニット70とを備えている。
【0019】
実装装置本体14は、基台12に対して交換可能に設置されている。この実装装置本体14は、基板16を搬送したり保持したりする基板搬送装置18と、XY平面を移動可能なヘッド24と、ヘッド24に取り付けられZ軸に沿って移動可能な吸着ノズル37と、基板16に付された基準マークを撮像するマークカメラ38と、吸着ノズル37に吸着された部品を撮像するパーツカメラ40と、各種制御を実行するコントローラ60とを備えている。
【0020】
基板搬送装置18は、
図1の前後に間隔を開けて設けられ左右方向に延びる支持板20,20と、両支持板20,20の互いに対向する面に設けられたコンベアベルト22,22(
図1では片方のみ図示)とを備えている。コンベアベルト22,22は、支持板20,20の左右に設けられた駆動輪及び従動輪に無端状となるように架け渡されている。基板16は、一対のコンベアベルト22,22の上面に乗せられて左から右へと搬送される。この基板16は、多数立設された支持ピン23によって裏面側から支持されている。
【0021】
ヘッド24は、X軸スライダ26の前面に取り付けられている。X軸スライダ26は、前後方向にスライド可能なY軸スライダ30の前面に、左右方向にスライド可能となるように取り付けられている。Y軸スライダ30は、前後方向に延びる左右一対のガイドレール32,32にスライド可能に取り付けられている。Y軸スライダ30の前面には、左右方向に延びる上下一対のガイドレール28,28が設けられ、このガイドレール28,28にX軸スライダ26が左右方向にスライド可能に取り付けられている。ヘッド24は、X軸スライダ26が左右方向に移動するのに伴って左右方向に移動し、Y軸スライダ30が前後方向に移動するのに伴って前後方向に移動する。なお、各スライダ26,30は、それぞれ駆動モータ26a,30a(
図3参照)により駆動される。また、ヘッド24は、Z軸モータ34を内蔵し、Z軸に沿って延びるボールネジ35に取り付けられた吸着ノズル37の高さをZ軸モータ34によって調整する。さらに、ヘッド24は、吸着ノズル37を回転させるQ軸モータ36(
図3参照)を内蔵している。また、X軸スライダ26の下面には、マークカメラ38が取り付けられている。マークカメラ38は、マークカメラ38の下方が撮像範囲であり、X軸スライダ26と共に前後左右に移動する。
【0022】
吸着ノズル37は、ノズル先端に部品を吸着して保持したり、ノズル先端に吸着している部品を吸着解除したりする部材である。吸着ノズル37は、図示しない圧力供給源から圧力を供給可能であり、例えば負圧が供給されると部品を吸着し、負圧の供給が停止されるか又は正圧が供給されると部品を吸着解除する。吸着ノズル37は、ヘッド24の本体底面から下方に突出している。また、Z軸モータ34によって吸着ノズル37がZ軸方向に沿って昇降することで、吸着ノズル37に吸着された部品の高さが調整される。Q軸モータ36によって吸着ノズル37が回転することで、吸着ノズル37に吸着された部品の向きが調整される。
【0023】
パーツカメラ40は、基板搬送装置18の前側の支持板20の前方に配置されている。パーツカメラ40は、パーツカメラ40の上方が撮像範囲であり、吸着ノズル37に保持された部品を下方から撮像して撮像画像を生成する。パーツカメラ40は、
図2に示すように、撮像対象の部品に対して光を照射する照明部41と、受光した光に基づいて部品を撮像する撮像部51と、パーツカメラ40全体を制御する撮像制御部52と、を備えている。
【0024】
照明部41は、ハウジング42と、連結部43と、落射用光源44と、ハーフミラー46と、側射用光源47と、を備えている。ハウジング42は、上面及び下面(底面)が八角形状に開口した椀状の部材である。ハウジング42は、下面の開口よりも上面の開口の方が大きく、下面から上面に向かって内部空間が大きくなる傾向の形状をしている。連結部43は、ハウジング42と撮像部51とを連結する筒状の部材である。落射用光源44から照射される光や撮像部51に受光される光は、この連結部43の内部空間を通過する。落射用光源44は、吸着ノズル37に保持された部品に対して撮像部51の光軸51aに沿う方向に光を照射するための光源である。落射用光源44は、ハーフミラー46に向けて光軸51aに垂直な方向に光を照射するLED45を複数有している。この複数のLED45は、連結部43の内周面に取り付けられている。本実施形態では、光軸51aは上下方向に沿っており、LED45からの光は水平方向(例えば左右方向)に照射される。ハーフミラー46は、連結部43の内部に、光軸51aから傾斜して(例えば傾斜角45°)配置されている。ハーフミラー46は、落射用光源44からの水平方向の光を上方に反射する。そのため、落射用光源44のLED45からの光は、ハーフミラー46での反射後に、撮像部51の光軸51aに沿う方向(ここでは上方向)に照射される。また、ハーフミラー46は上方からの光については撮像部51に向けて透過する。側射用光源47は、吸着ノズル37に保持された部品に対して光軸51aから傾斜した方向に光を照射するための光源である。側射用光源47は、複数のLED48aを有する上段光源47aと、上段光源47aよりも下方に配置され複数のLED48bを有する中段光源47bと、中段光源47bよりも下方に配置され複数のLED48cを有する下段光源47cと、を備えている。これらのLED48a〜48cは、ハウジング42の内周面に取り付けられている。LED48a〜48cは、いずれも光軸51aから傾斜した方向(光軸51aからの傾斜角が0°超過90°未満)に光を照射する。LED48a〜48cの照射方向の光軸51aからの傾斜角は、LED48aが最も大きく、LED48aは水平に近い方向に光を照射する。また、この傾斜角は、LED48cが最も小さくなっている。
【0025】
撮像部51は、図示しないレンズなどの光学系及び撮像素子を備えている。落射用光源44及び側射用光源47から発せられ撮像対象の部品で反射した後の光がハーフミラー46を透過して撮像部51に到達すると、撮像部51はこの光を受光する。そして、撮像部51は、受光した光を光電変換して撮像画像中の各々の画素に対応する電荷を生成し、生成された電荷に基づいて各々の画素の情報を含むデジタルデータである撮像画像を生成する。
【0026】
撮像制御部52は、照明部41に制御信号を出力して照明部41からの光の照射を制御したり、撮像部51に制御信号を出力して画像の撮像を行わせたり、撮像部51が生成した撮像画像をコントローラ60に出力したりする。撮像制御部52は、照明部41のLED45,48a〜48cの各々に通電する電流の値及び通電時間を制御して、落射用光源44及び側射用光源47の単位時間当たりの発光量及び発光時間を個別に制御可能である。撮像制御部52は、側射用光源47の上段光源47a,中段光源47b,及び下段光源47cの各々について、単位時間当たりの発光量及び発光時間を個別に制御可能である。
【0027】
ここで、パーツカメラ40が撮像する部品の一例について
図2を用いて説明する。
図2に示す部品90の図のうち、上段の図は部品90の下面図であり、下段の図は部品90の正面図である。部品90は、例えばフリップチップとして構成されており、本体部91と、本体部91を基板16上に配置する際の基板16との接続に用いられる複数の端子92と、を有している。端子92は、半球状の形状をした金属などの導体であり、本体部91の下面に配置されて下方に突出している。端子92は複数存在し、本体部91の下面にマトリックス状に配列されている。複数の端子92は、複数のグループに分かれていてもよい。本実施形態では、複数の端子92は
図2に示すように第1〜第4グループ93a〜93dの4つのグループに分かれているものとした。端子92は、この複数のグループ毎に端子92の態様が異なっていてもよい。端子92の態様としては、例えば端子92の径,端子92の個数(例えば
図2の上段における縦方向の個数及び横方向の個数),端子92のピッチのうち1以上などが挙げられる。本実施形態では、端子92の径及びピッチは第1〜第4グループ93a〜93dのいずれについても同じとした。また、第1,第3グループ93a,93cは互いに端子92の個数が同じ(ここでは縦8個×横2個=16個)とし、第2,第4グループ93b,93dは互いに端子92の個数が同じ(ここでは縦2個×横4個=8個)とした。パーツカメラ40は、吸着ノズル37に吸着された部品90の本体部91の下面に照明部41からの光を照射し、その光の反射光を撮像部51が受光して、端子92を含む本体部91の下面を撮像する。
【0028】
コントローラ60は、
図3に示すように、CPU61を中心とするマイクロプロセッサとして構成されており、処理プログラムを記憶するROM62、各種データを記憶するHDD63、作業領域として用いられるRAM64、外部装置と電気信号のやり取りを行うための入出力インターフェース65などを備えており、これらはバス66を介して接続されている。このコントローラ60は、基板搬送装置18、X軸スライダ26の駆動モータ26a、Y軸スライダ30の駆動モータ30a、Z軸モータ34、Q軸モータ36、及び吸着ノズル37用の図示しない圧力供給源へ駆動信号を出力する。また、コントローラ60は、マークカメラ38に制御信号を出力したり、マークカメラ38からの撮像画像を入力したりする。また、コントローラ60は、撮像時の落射用光源44及び側射用光源47の制御量などを含む照明条件に関する情報をパーツカメラ40に出力したり、パーツカメラ40からの撮像画像を入力したりする。なお、図示しないが、各スライダ26,30には図示しない位置センサが装備されており、コントローラ60はそれらの位置センサからの位置情報を入力しつつ、各スライダ26,30の駆動モータ26a,30aを制御する。
【0029】
リールユニット70は、複数のリール72を備え、実装装置本体14の前側に着脱可能に取り付けられている。各リール72には、テープが巻き付けられ、テープの表面には、部品がテープの長手方向に沿って保持されている。これらの部品は、テープの表面を覆うフィルムによって保護されている。こうしたテープは、リールから後方に向かって巻きほどかれ、フィーダ部74においてフィルムが剥がされて部品が露出した状態となる。この露出した状態の部品を吸着ノズル37が吸着することで、部品は吸着ノズル37に保持されてヘッド24と共に移動可能になる。
【0030】
管理コンピュータ80は、実装装置10の生産ジョブを管理するコンピュータであり、実装装置10のコントローラ60と通信可能に接続されている。なお、生産ジョブは、実装装置10においてどの部品をどういう順番でどの基板16に装着するか、また、何枚の基板16に部品の実装を行うかなどを定めた情報である。管理コンピュータ80は、この生産ジョブを記憶しており、生産ジョブに含まれる情報を必要に応じて実装装置10に出力する。
【0031】
次に、本実施形態の実装装置10の動作、特に、パーツカメラ40を用いた部品の撮像に適した照明条件を特定する処理、及び特定した照明条件を用いた部品の撮像を伴って部品を基板16に実装する処理について説明する。まず、照明条件を特定する処理について説明する。実装装置10のコントローラ60のCPU61は、例えば実装装置10が備える図示しない操作パネル又は管理コンピュータ80を介して、作業者から所定の部品について適切な照明条件を特定すべき指示を入力すると、照明条件特定処理を実行する。
図4は、照明条件特定処理ルーチンの一例を示すフローチャートである。
図4の照明条件特定処理ルーチンは、HDD63に記憶されている。
【0032】
図4の照明条件特定処理ルーチンを開始すると、CPU61は、まず、適切な照明条件を特定する対象となる部品の情報を取得する(ステップS100)。以下では、対象部品が部品90である場合について説明する。CPU61は、ステップS100において、部品90の情報を、例えば管理コンピュータ80から取得したり作業者の操作に基づいて取得したりする。部品90の情報は、部品90の少なくとも一部の形状に関する情報を含んでいてもよい。部品90の情報は、例えば、部品90の形状のうち後述する部品実装処理において撮像画像から検出すべき部分の形状に関する情報を含んでいてもよい。本実施形態では、部品90の情報には、撮像画像から検出すべき部分の形状として、端子92の形状に関する情報が含まれるものとした。より具体的には、第1〜第4グループ93a〜93dの各々について、端子92の径、端子92の個数(
図2の上段における縦方向の個数及び横方向の個数)、端子92のピッチ、及び本体部91の下面における各グループの位置を特定可能な情報(例えば本体部91の下面の中心を基準とした各グループの中心の座標など)が、端子92の形状に関する情報に含まれるものとした。また、本実施形態では、部品90の情報には、
図2における下面視での部品90の外形に関する情報として、本体部91の大きさに関する情報(例えば
図2の上段における本体部91の縦方向及び横方向の長さ)が含まれるものとした。
【0033】
ステップS100で部品90の情報を取得すると、CPU61は、取得した情報に基づいて理想画像を作成する(ステップS110)。
図5は、部品90の理想画像190の説明図である。理想画像190は、後述する部品実装処理において部品90を撮像して得ることが望まれる理想的な画像である。本実施形態では、理想画像190は、各画素が256階調で表される輝度値を有するグレースケール画像とした。また、理想画像190は、撮像画像から検出すべき部分である複数の端子92の各々に対応する円形の領域の画素が白画素192(輝度値が最大値255である画素)であり、それ以外の部分が黒画素191(輝度値が最小値0である画素)であるものとした。この理想画像190は、部品90のうち複数の端子92の輪郭に対応する画素(ここでは白画素192で表される円形の各領域の縁部分の画素)と、その外側の画素(ここでは白画素192に隣接する黒画素191)との輝度値の差が、差が大きいとみなせる所定範囲の値(ここでは最大値すなわち輝度値の階調数−1)になっている。CPU61は、例えば、以下のようにして理想画像190を作成する。まず、CPU61は、ステップS100で取得した部品90の外形に関する情報、ここでは本体部91の縦方向及び横方向の長さに基づいて、理想画像190の大きさ(縦方向及び横方向の画素数)を決定する。そして、CPU61は、ステップS100で取得した第1〜第4グループ93a〜93dの各々に関する情報に基づいて、決定した大きさの理想画像190に含まれる各画素のうち、複数の端子92の各々に対応する形状(ここでは円形)の領域の画素を白画素192とし、それ以外の画素を黒画素191として、理想画像190を作成する。このように、CPU61は、ステップS100で取得した部品90に関する情報に基づいて、部品90の形状のうち後述する部品実装処理において撮像画像から検出すべき部分である端子92の輪郭とその周辺とのコントラストを強めた画像を、理想画像190として作成する。なお、CPU61は、作成した理想画像190をHDD63に記憶しておく。
【0034】
なお、理想画像190は、パーツカメラ40が部品90を撮像するときのパーツカメラ40と部品90との撮像距離(Z軸方向の距離)を加味して作成された画像とすることが好ましい。すなわち、例えば理想画像190のうち1つの端子92に対応する円形の領域を構成する白画素192の画素数と、パーツカメラ40が部品90を実際に撮像して得られる撮像画像における端子92に対応する円形の領域を構成する画素数と、がほぼ同じになるように、撮像距離に応じて拡大又は縮小された理想画像190が作成されていることが好ましい。例えば、ステップS100で取得される部品90に関する情報が、予め撮像距離を加味した情報(例えばパーツカメラ40から部品90を見たときの見かけの大きさに基づく情報など)であってもよい。あるいは、ステップS100で取得される部品90に関する情報は部品90の実際の寸法に関する情報とし、ステップS110においてCPU61は予め定められた撮像距離に基づいてこの寸法を換算して理想画像190を作成してもよい。なお、撮像部51がテレセントリックレンズを備えていてもよい。テレセントリックレンズを用いることで、パーツカメラ40と部品90との撮像距離が変化しても撮像画像における部品90の見かけの大きさを一定にすることができる。これにより、撮像距離に応じて拡大又は縮小された理想画像190を作成する必要がなくなる。
【0035】
ステップS110で理想画像190を作成すると、CPU61は、ヘッド24を移動させ、リールユニット70によって供給される対象部品(ここでは部品90)を吸着ノズル37に吸着させる(ステップS120)。続いて、CPU61は、ヘッド24を移動させて吸着ノズル37に吸着された部品90をパーツカメラ40の上方へ移動させる(ステップS130)。なお、CPU61は、部品90とパーツカメラ40との距離が上述した撮像距離になるように、必要に応じてZ軸モータ34を駆動させる。そして、CPU61は、照明条件を異ならせて複数の画像の撮像を開始するようパーツカメラ40を制御する(ステップS140)。これにより、パーツカメラ40の撮像制御部52は、所定の照明条件で照明部41を発光させて撮像部51に撮像画像を撮像させる撮像処理を、照明条件を異ならせて順次実行していく。また、撮像制御部52は、得られた撮像画像をコントローラ60に出力する。なお、本実施形態では、コントローラ60のHDD63には予め複数の照明条件及びその実行順序が記憶されており、CPU61は実行順序に従って照明条件をパーツカメラ40に順次出力して撮像処理を行わせるものとした。また、本実施形態では、LED45及びLED48a〜48cの各々に通電する電流の値は予め定められており、照明部41の各光源の発光時間を異ならせることで、照明条件を異ならせるものとした。より具体的には、落射用光源44,上段光源47a,中段光源47b,及び下段光源47cの4種類の光源の各々について、発光時間が複数(本実施形態では10段階とし発光時間が0秒である場合も含む)設定されており、各発光時間の組み合わせの数だけ(本実施形態では10,000通り)照明条件が存在するものとした。なお、CPU61は、ステップS120〜S140の少なくとも一部を、ステップS110と並列的に実行してもよい。
【0036】
ステップS140でパーツカメラ40に撮像処理を開始させると、CPU61は、撮像処理で生成された撮像画像を撮像制御部52から順次取得して、取得した撮像画像と理想画像190との一致度の導出を開始する(ステップS150)。すなわち、CPU61は、理想画像190と撮像画像との一致度を導出する一致度導出処理を、異なる照明条件で撮像された撮像画像の各々について順次実行していく。一致度は、理想画像190と撮像画像とがどの程度一致しているか(近いか)を表す情報であり、例えば周知のパターンマッチングにより導出することができる。本実施形態では、CPU61は、正規化相関(例えば、ゼロ平均正規化相互相関)によるパターンマッチングを行って導出される相関値(<1)を、一致度として導出するものとした。より具体的には、例えば以下のようにして一致度を導出する。まず、CPU61は、理想画像190をテンプレートとして、撮像画像のうちこの理想画像190と同じ大きさの所定の対象領域(例えば画像中の左上の領域)と理想画像190との相関値を導出する処理を行う。そして、この処理を、撮像画像中の対象領域を変更して順次実行していき、得られた複数の相関値の中で最も高い値を、その撮像画像の一致度として導出する。なお、CPU61は、導出した一致度をHDD63に順次記憶する。
【0037】
上記のステップS140及びS150を実行すると、CPU61は、複数の照明条件の全てについて撮像画像の取得及びそれに基づく一致度の導出が終了するまで待ち(ステップS160)、終了した場合には、導出された一致度に基づいて一致度が最も高い撮像画像の撮像時の照明条件を、撮像に適した照明条件として特定する(ステップS170)。本実施形態では、上述したように複数の照明条件及びその実行順序がHDD63に記憶されている。そのため、例えば、CPU61は導出した各々の一致度とその導出した順序とを対応付けてHDD63に記憶しておき、最も高い一致度に対応付けられた導出順序と照明条件の実行順序とに基づいて、一致度が最も高くなる照明条件を特定する。なお、これに限らず最も高い一致度に対応する照明条件が特定できればよく、例えば撮像制御部52が撮像画像をコントローラ60に出力する際に撮像時の照明条件も併せて出力することにしてもよい。また、CPU61は、一致度が導出される毎に直前に導出された一致度との比較を行って、値の大きい方の一致度のみをその導出順序(又は対応する照明条件)と対応付けてHDD63に記憶していくようにしてもよい。
【0038】
ステップS170で最も高い一致度に対応する照明条件を特定すると、CPU61は、その照明条件を、部品90の撮像時に使用する照明条件としてHDD63に記憶(設定)して(ステップS180)、本ルーチンを終了する。
【0039】
このように、本実施形態の照明条件特定処理では、CPU61は、理想画像190との一致度が最も高い撮像画像の撮像時の照明条件を、部品90の撮像に適した照明条件として特定する。そのため、CPU61は、なるべく理想画像190に近い撮像画像が得られるような照明条件を特定して、部品90の撮像時に使用する照明条件として設定できる。
【0040】
次に、実装装置10が部品を基板16に実装する部品実装処理について説明する。この部品実装処理のルーチンは例えばHDD63に記憶されている。部品実装処理は、管理コンピュータ80からの指令を受けるとコントローラ60により繰り返し実行される。部品実装処理を開始すると、CPU61は、パーツカメラ40による実装対象の部品の撮像を伴って、実装対象の部品を基板16に実装する。以下、実装対象の部品が部品90である場合について説明する。部品実装処理を開始すると、CPU61は、まず、ヘッド24を移動させて実装対象の部品90を吸着ノズル37に吸着させ、その部品90をパーツカメラ40の上方へ移動させる。続いて、CPU61は、吸着ノズル37に吸着された部品90を、上述した照明条件特定処理で設定された照明条件で撮像するようパーツカメラ40を制御する。そして、CPU61は、パーツカメラ40が作成した撮像画像に基づいて、吸着ノズル37に吸着された部品90の少なくとも一部の形状を検出し、検出した形状に基づいて、部品90の異常の有無の判定や部品90の位置(座標)の導出などを行う。
【0041】
例えば、CPU61は、撮像画像(ここではグレースケール画像)の各画素の輝度値に基づいてエッジを検出することで、複数の端子92の形状を検出する、すなわち撮像画像中の端子92の輪郭に対応する画素を検出する。そして、検出した画素に基づいて、部品90中の端子92の数,端子92の配置,及び端子92の各々の径などを導出する。そして、CPU61は、導出した情報と、例えば管理コンピュータ80から取得した生産ジョブに含まれる部品90の情報とに基づいて、部品90の異常の有無及び吸着ノズル37に吸着された部品90の位置(座標)を検出する。部品90の異常の有無は、例えば端子92の数の過不足、端子92の径の異常、端子92の配置の異常などである。部品90の位置は、例えば複数の端子92に基づいて導出される部品90の中心位置などである。
【0042】
そして、CPU61は、部品90に異常があれば部品90を廃棄して再度別の部品90について上記と同様の処理を繰り返す。一方、部品90に異常がなければ部品90の中心位置に基づいて基板16上の所定位置に部品90を配置して、部品実装処理を終了する。CPU61は、実装対象の部品を全て実装完了するまで、この部品実装処理を繰り返し実行する。なお、部品90以外の部品種など、照明条件特定処理で設定された照明条件がない部品種の撮像時には、CPU61は、例えば予めHDD63に記憶された汎用的な照明条件で撮像するようパーツカメラ40を制御してもよい。
【0043】
ここで、上記のように撮像画像に基づいて部品90の端子92を検出する際には、端子92の輪郭に対応する画素とその外側の画素との輝度値の差が大きい方が好ましい。そして、端子92は
図2に示すように下方に突出しており、端子92の外縁付近は上下方向(光軸51aに沿った方向)から傾斜した面になっている。そのため、端子92の輪郭に対応する画素の輝度値を大きく(明るく)するためには、上下方向に近い方向から光を照射するよりも、水平方向に近い方向から光を照射することが好ましい。すなわち、一般的には上段光源47aからの光量を大きくすることが好ましい。しかし、部品90は複数の端子92を有しており、端子92の位置によっては中段光源47bや下段光源47cからの光を照射した方が好ましい場合もある。一方、光軸51aの方向(
図2の上下方向)に近い方向から光を照射すると、その光が本体部91の下面で反射して撮像部51に到達しやすいため、本体部91に対応する画素の輝度値も大きくなってしまう場合がある。このような場合、上段光源47a,中段光源47b,下段光源47cの光量のバランスを適切にした照明条件を決定する必要がある。しかし、例えばそのような照明条件を人間が決定しようとすると、作業に時間を取られる場合や、必ずしも適切な照明条件が特定できるとは限らない場合がある。本実施形態の実装装置10では、理想画像190と撮像画像との一致度に基づくことで、部品90の適切な照明条件を自動的に特定することができる。そして、CPU61は、そのように特定された照明条件で得られた撮像画像に基づいて部品90の少なくとも一部の形状の検出と、それに基づく異常及び位置の検出とを行うため、これらの検出をより精度良く行うことができる。
【0044】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の実装装置10が本発明の照明条件特定装置に相当し、コントローラ60が理想画像取得部,撮像画像取得部,及び照明条件特定部に相当する。なお、本実施形態では、実装装置10の動作を説明することにより本発明の照明条件特定方法の一例も明らかにしている。
【0045】
以上詳述した本実施形態の実装装置10によれば、コントローラ60のCPU61は、対象物(ここでは部品90)を撮像して得たい画像(ここでは、端子92の形状の検出に適した画像)として用意された理想画像190を用いて、理想画像190との一致度が高いとみなせる撮像画像の撮像時の照明条件を、部品90の撮像に適した照明条件として特定する。このように、理想画像190との一致度に基づいて照明条件を特定するため、実装装置10は、部品に応じた(ここでは部品90の)適切な照明条件を自動的に特定することができる。また、CPU61は、理想画像190との一致度が最も高い撮像画像の撮像時の照明条件を、部品90の撮像に適した照明条件であると特定するため、最適な照明条件を特定しやすい。
【0046】
また、理想画像190は、部品90の少なくとも一部の形状(ここでは端子92の形状)の輪郭に対応する画素とその外側の画素との輝度値の差が、差が大きいとみなせる所定範囲の値となっている画像である。このような画像は、画素の輝度値に基づいて部品90の特定部分(ここでは端子92)の形状を検出しやすいため、理想画像に適している。さらに、理想画像190は、端子92の輪郭に対応する画素が白画素192でありその外側の画素が黒画素191であることから、これらの画素の輝度値の差が最大(すなわち輝度値の階調数−1)になっている。
【0047】
さらに、CPU61は、部品90の少なくとも一部の形状に関する情報に基づいて、理想画像190を作成して取得する。そのため、実装装置10は、照明条件の特定だけでなく理想画像190の作成も自動的に行うことができる。
【0048】
さらにまた、実装装置10は、照明条件を異ならせて発光が可能な照明部41と、照明部41からの光が照射された部品90を撮像する撮像部51と、所定の照明条件で照明部41を発光させて撮像部51に撮像画像を撮像させる撮像処理を、照明条件を異ならせて複数回行う撮像制御部52と、を備えている。そして、CPU61は、撮像処理で撮像された撮像画像を取得する。そのため、実装装置10は、実装装置10自身が備える照明部41に関して、撮像に適した照明条件を特定することができる。
【0049】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0050】
例えば、上述した実施形態では、CPU61は、ステップS170において、一致度が最も高い撮像画像の撮像時の照明条件を、撮像に適した照明条件として特定したが、これに限られない。CPU61は、導出された一致度が高いとみなせる撮像画像の撮像時の照明条件を、部品の撮像に適した照明条件として特定すればよい。例えば、導出された一致度が所定の閾値(例えば相関値が値0.8,値0.9など)よりも高い撮像画像の撮像時の照明条件を、部品の撮像に適した照明条件として特定してもよい。また、この場合、CPU61は、ステップS150の一致度導出処理を順次行うにあたり、一致度導出処理で導出された一致度が所定の閾値より高かった場合には、一致度が導出された撮像画像の撮像時の照明条件を部品の撮像に適した照明条件として特定し、それ以降の一致度導出処理を行わず且つそれ以降の撮像処理を中止させてもよい。こうすれば、理想画像との一致度が高いとみなせる撮像画像(ここでは一致度が所定の閾値より高い撮像画像)の照明条件が特定できた場合に、まだ撮像していない照明条件での撮像処理及びまだ一致度を導出していない撮像画像についての一致度導出処理を省略するため、全体の処理時間をより短くできる。
【0051】
上述した実施形態では、ステップS140の撮像処理の複数回の実行とステップS150の一致度導出処理の複数回の実行とを並列的に行ったが、特にこれに限られない。例えば、CPU61は、予め複数回の撮像処理を行って複数の撮像画像をHDD63に記憶しておき、その後に別のタイミングで複数回の一致度導出処理を行ってもよい。
【0052】
上述した実施形態において、理想画像190と撮像画像との一致度を導出する際に、CPU61は理想画像190の一部の領域をマスクして一致度を導出するものとしてもよい。すなわち、CPU61は、理想画像190の一部の領域については一致度の導出に用いなくてもよい。例えば部品90の端子92の輪郭の形状を検出する際には、端子92のうち輪郭以外の領域(端子92の中央付近の領域)の画素は不要である。この場合、理想画像190の白画素192のうちこの端子92の輪郭以外の領域に対応する画素についてはマスクして一致度を導出してもよい。このように、理想画像190のうち部品実装処理における部品90の形状の検出に不要な領域に対応する画素の領域をマスクして一致度を導出してもよい。こうすることで、一致度導出処理で導出される一致度の値に、部品90の形状の検出に必要な領域(例えば端子92の輪郭)の一致度がより強く影響するようになるため、より適切な照明条件を特定することができる。なお、このように理想画像190の一部の領域をマスクして一致度を導出する場合、理想画像190のうちマスクされる領域の画素はどのような輝度値であってもよい。
【0053】
上述した実施形態では、CPU61が理想画像190を作成したが、これに限られない。例えば、CPU61は理想画像190を管理コンピュータ80から取得してもよいし、HDD63に予め理想画像190が記憶されていてもよい。このような場合の理想画像190は、例えば人間が予め作成しておいた画像であってもよい。
【0054】
上述した実施形態では、理想画像190は、端子92の形状の輪郭に対応する画素とその外側の画素との輝度値の差が最大(輝度値の階調数−1)になっていたが、特にこれに限らず、差が大きいとみなせる所定範囲の値となっていればよい。例えば、輝度値の差が画素の輝度値の階調数の80%以上(例えば256階調であれば値205以上)となっていてもよいし、90%以上(例えば256階調であれば値231以上)となっていてもよい。このように、輝度値の差が最大でないような理想画像190を用いた場合でも、その差が十分大きい値であれば、適切な照明条件を特定することはできる。また、「輝度値の差が大きいとみなせる所定範囲」は、取り得る照明条件のうちいずれの条件で撮像しても実現できない程度に大きい値の範囲としてもよいし、部品の特定部分の形状の輪郭(例えば端子92の輪郭)を画像処理により特定するために必要な輝度値の差の値として予め定められた値以上の範囲としてもよい。また、これらに限らず、理想画像190は、部品を撮像して得たい理想的な画像であればよい。
【0055】
上述した実施形態では、撮像制御部52は、落射用光源44,上段光源47a,中段光源47b,及び下段光源47cの4種類の光源の各々の発光時間を異ならせることで照明条件を異ならせたが、これに限られない。例えば、LED45及びLED48a〜48cの各々に通電する電流の値を異ならせることで照明条件を異ならせてもよい。また、上述した実施形態では発光時間は10段階で設定可能としたが、これに限らず、例えば点灯と消灯との2段階としてもよい。
【0056】
上述した実施形態では、照明部41は落射用光源44,上段光源47a,中段光源47b,及び下段光源47cの4種類の光源を有したが、照明条件を異ならせて発光が可能であれば、これに限られない。例えば、側射用光源47は、上段光源47a,中段光源47b,及び下段光源47cの3種類に限らず4種類以上の光源や2種類以下の光源を有していてもよい。また、照明部41は2種類以上の光源を有することが好ましいが、発光の光量を調整可能であれば1種類の光源のみ有していてもよい。
【0057】
上述した実施形態では、CPU61は、ステップS100において、部品実装処理において撮像画像から検出すべき端子92の形状に関する情報の他に、部品90の外形に関する情報(ここでは本体部91の大きさに関する情報)も取得したが、これに限られない。例えば、CPU61は、理想画像190を作成する際に部品90の外形に関する情報を用いなくてもよい。例えば上述した実施形態において、理想画像190は、検出すべき複数の端子92の各々に対応する形状を表す白画素192と、その外側の黒画素191とを含んでいればよく、理想画像190が部品90全体を含んだ画像である必要はない。
【0058】
上述した実施形態では、部品90のうち部品実装処理において撮像画像から検出すべき部分は複数の端子92としたが、特にこれに限られない。例えば、検出すべき部分が部品90の外形すなわち本体部91の輪郭の形状であってもよい。この場合、理想画像は、例えば本体部91の輪郭に対応する領域の画素が白画素であり、その外側(部品90の外側)に対応する領域の画素が黒画素であってもよい。なお、撮像画像から検出すべき部分が本体部91の輪郭及び端子92の輪郭であってもよい。
【0059】
上述した実施形態では、
図2に示した部品90の撮像に適した照明条件を特定する場合について説明したが、これに限らず、撮像の対象物は他の種類の部品であってもよい。なお、部品90はフリップチップであることから、本体部91の下面の反射率が比較的高く、本体部91の下面に対応する画素の輝度値が大きくなりやすい。すなわち端子92の外形の検出精度が低下しやすい。このような部品90は、上述した実施形態のように理想画像190を用いて適切な照明条件を特定する意義が高い。
【0060】
上述した実施形態では、撮像の対象物として部品90を例示したが、対象物は部品に限られない。例えば、基板16を撮像の対象物として、CPU61は基板16に付された基準マークの検出に適した撮像条件を特定してもよい。この場合、マークカメラ38が、上述した実施形態のパーツカメラ40と同様に、照明条件を異ならせて発光が可能な照明部と、照明部からの光が照射された基板16を撮像する撮像部と、照明条件を異ならせて撮像処理を複数回行う撮像制御部と、を備えていてもよい。また、この場合、理想画像として、例えば基板16の基準マークの形状の検出に適した画像を用いればよい。
【0061】
上述した実施形態では、理想画像190はグレースケール画像としたが、これに限らずカラー画像や2値画像であってもよい。なお、理想画像190がカラー画像の場合でも、一致度は輝度値(例えばRGBの階調値から算出した輝度値)に基づいて導出することが好ましい。
【0062】
上述した実施形態では、CPU61は、理想画像190と撮像画像との一致度を導出する際に撮像画像中の部品90の向き(回転)については考慮しなかったが、考慮してもよい。例えば、CPU61は、1つの撮像画像と理想画像190との一致度(上述した対象領域を変えて複数導出した相関値の中の最大値)を、理想画像190を所定角度ずつ回転させた画像をテンプレートとして複数回導出し、導出された複数の一致度の中の最大値を、その撮像画像の一致度として導出してもよい。
【0063】
上述した実施形態では、本発明の照明条件特定装置を実装装置10として具体化した例を示したが、これに限らずパーツカメラ40を備えない管理コンピュータ80として具体化してもよい。また、上述した実施形態では、コントローラ60が理想画像取得部,撮像画像取得部,及び照明条件特定部の機能を有していたが、撮像制御部52がこれらの機能を有していてもよい。
【0064】
上述した実施形態では、実装装置10は部品を吸着して保持する吸着ノズル37を備えていたが、部品の保持が可能であればこれに限られない。例えば、実装装置10は、吸着ノズル37に代えて、部品を把持して保持するメカニカルチャックを備えていてもよい。