説明

シミュレーション装置,シミュレーション方法およびシミュレーションプログラム

【課題】三次元モデルを用いたシミュレーション装置において,画像認識を行わずに,パターン認識による二次元位置の検出をシミュレートする技術を提供する。
【解決手段】シミュレーション装置において,三次元機構モデル情報記憶部33には,マークセンサモデルと基準マークモデルとを含む三次元機構モデルのデータが記憶されている。基準マーク検出部34において,マークセンサ検出領域設定部303は,マークセンサモデルに設定された,実カメラの光学的仕様のデータに基づいて,三次元機構モデルの空間にマークセンサ検出領域を設定する。基準マーク抽出部304は,マークセンサ検出領域内に存在する基準マークモデルを抽出する。検出結果設定部308は,抽出された基準マークモデルの位置から求められる,基準マーク検出の目的となる検出位置の座標を,基準マーク検出結果に設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,実装置の三次元モデルを用いてシミュレーションを行うシミュレーション装置,シミュレーション方法およびシミュレーションプログラムに関するものである。
【背景技術】
【0002】
産業用ロボットなどの装置において,パターン認識による二次元位置の検出を行うものがある。
【0003】
例えば,フリップチップボンダ等の部品搭載装置は,カメラでプリント基板や半導体チップなどの部品上の基準マークを認識することにより,部品の位置を補正し,部品の搭載を行う。基準マークの認識では,パターン認識処理,すなわちカメラ画像とテンプレート画像とのマッチング処理が行われる。
【0004】
このような部品搭載装置の開発段階では,部品搭載装置をコンピュータ制御するための機構制御プログラムの開発や,搭載対象の部品に関するデータの作成が行われる。開発された機構制御プログラムや搭載対象の部品に関するデータの検証では,機構制御プログラムを組み込んだコンピュータからの制御で部品搭載装置の実装置を制御し,実ワークや専用の治具などを使用して,実際に部品搭載装置に搭載動作を行わせる。専用の治具としては,例えば,ガラス基板とガラスチップなどが用いられる。その後,搭載されたワークの状態を顕微鏡で測定して確認するなどにより,開発された機構制御プログラムや搭載対象の部品に関するデータの検証が行われる。
【0005】
なお,産業用ロボットなどの装置において,装置による作業の対象となる物品は,ワークとも呼ばれる。例えば,フリップチップボンダ等の部品搭載装置では,基板やチップなどの搭載対象部品が,ワークと呼ばれる。
【0006】
しかし,実装置を用いる方法では,部品搭載装置の立上げ,すなわち部品搭載装置の機械的な調整や認識データの確定が完了するまで,機構制御プログラムのデバッグが行えないという問題がある。また,機構制御プログラムにおけるアライメントアルゴリズムや搭載対象の部品に関するデータに起因する計算誤差と,画像認識や顕微鏡測定における計測誤差との切り分けが困難であるという問題がある。
【0007】
なお,実装置の代わりにコンピュータ上の三次元モデルを使用して,機構制御プログラムの検証を行うシミュレーションの技術が知られている。また,視覚センサを使うロボットの動作シミュレーションを行う際に,視覚センサによるワークの位置・姿勢の検出結果をあらかじめ補正量として設定しておき,ロボットの動作シミュレーション中に読み出してロボットの移動目標位置を補正する技術が知られている。また,視覚センサをモデル化し,シミュレーション中にワークモデルの位置を模擬的に三次元計測する技術が知られている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2001−147703号公報
【特許文献2】特開2005−135278号公報
【特許文献3】特開2007−241857号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記の三次元機構モデルを用いるシミュレーションの技術を用いることにより,実装置の立上げを待たずに機構制御プログラムの検証を行うことが可能となる。例えば,部品搭載装置の三次元モデルを用いたシミュレーションでは,機構制御プログラムによるモータ制御の検証を行うことができる。
【0010】
しかし,実装置においてパターン認識による二次元位置検出処理が必要となる制御については,三次元モデルを用いたシミュレーションによる検証が,困難となる。
【0011】
例えば,部品搭載装置において,アライメント制御では,ワークの位置を調整する制御が行われる。具体的には,部品搭載装置では,カメラによってワーク上の基準マークがあると予測される位置の画像が撮像され,そのカメラ画像とテンプレート画像とのマッチングによって,基準マークの位置検出が行われる。機構制御プログラムによるアライメント制御では,検出された基準マークの位置に基づいて,部品搭載装置におけるワークの位置を調整する制御が行われる。
【0012】
しかし,部品搭載装置の三次元モデルに実際の部品搭載装置が備えるカメラに対応する部品モデルがあっても,あくまでカメラの形状を模した部品モデルであり,その部品モデルがワークモデル上の基準マークを撮像して画像認識を行えるわけではない。そのため,部品搭載装置の三次元モデルを用いたシミュレーションによって,機構制御プログラムによるアライメント制御の検証を行うことは,非常に困難となる。
【0013】
本発明は,上記の問題の解決を図り,三次元モデルを用いたシミュレーションにおいて,画像認識を行わずに,パターン認識による二次元位置の検出をシミュレートすることが可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【0014】
シミュレーション装置は,画像認識のシミュレーションに用いるイメージセンサモデルと,画像認識のシミュレーションで検出する認識対象モデルとを含む三次元モデルのデータを記憶する三次元モデル情報記憶部と,シミュレーション空間上にイメージセンサモデルによって決定されるイメージセンサ検出領域を設定する検出領域設定部と,三次元モデル情報記憶部からイメージセンサ検出領域内に存在する認識対象モデルを抽出する認識対象抽出部と,抽出された認識対象モデルの位置に基づいてシミュレーションが対象とする画像認識の目的である検出位置を求め,得られた検出位置を検出結果に設定する検出結果設定部とを備える。
【発明の効果】
【0015】
上記の技術により,三次元モデルを用いたシミュレーションにおいて,画像認識を行わずに,パターン認識による二次元位置の検出をシミュレートすることが可能となる。
【図面の簡単な説明】
【0016】
【図1】本実施の形態による実装置システムの構成例を示す図である。
【図2】本実施の形態によるシミュレーションシステムの例を示す図である。
【図3】本実施の形態による三次元機構モデルの例を示す図である。
【図4】本実施の形態によるマークセンサモデルの例を説明する図である。
【図5】本実施の形態によるマークセンサモデル属性データの例を示す図である。
【図6】本実施の形態による基準マークモデルの例を説明する図である。
【図7】本実施の形態によるテンプレート画像の原点位置に相当する位置への基準マークモデルの設置を説明する図である。
【図8】本実施の形態による基準マークモデル属性データの例を示す図である。
【図9】本実施の形態による基準マーク検出部の構成例を示す図である。
【図10】本実施の形態の実装置におけるカメラの撮像を説明する図である。
【図11】本実施の形態によるカメラデータの例を示す図である。
【図12】本実施の形態の実装置におけるカメラのカメラ視野を示す図である。
【図13】本実施の形態の実装置におけるカメラにより得られたカメラ画像の例を示す図である。
【図14】本実施の形態によるマークセンサ検出領域の設定を説明する図である。
【図15】本実施の形態による認識データの例を示す図である。
【図16】本実施の形態の実装置によるサーチ範囲の設定を説明する図である。
【図17】本実施の形態のシミュレーション装置による基準マーク検出範囲の設定を説明する図である。
【図18】本実施の形態による回転サーチ範囲を説明する図である。
【図19】本実施の形態によるテンプレート画像の例(1)を示す図である。
【図20】本実施の形態によるテンプレート画像の例(2)を示す図である。
【図21】本実施の形態の実装置によるテンプレート画像を用いた画像認識を説明する図である。
【図22】本実施の形態によるテンプレート画像領域の設定と判定とを説明する図である。
【図23】本実施の形態による検出結果データの例を示す図である。
【図24】本実施の形態の実装置による基準マーク検出結果を説明する図である。
【図25】本実施の形態のシミュレーション装置による基準マークモデルの検出結果の設定(1)を説明する図である。
【図26】本実施の形態のシミュレーション装置による基準マークモデルの検出結果の設定(2)を説明する図である。
【図27】本実施の形態のシミュレーション装置による検出角度の設定を説明する図である。
【図28】本実施の形態の実装置による基準マーク検出処理フローチャートである。
【図29】本実施の形態のシミュレーション装置の基準マーク検出部による基準マーク検出処理フローチャートである。
【図30】本実施の形態のシミュレーション装置の基準マーク検出部による基準マーク検出処理フローチャートである。
【図31】本実施の形態によるフリップチップボンダの構成例を示す図である。
【図32】本実施の形態のフリップチップボンダにおけるチップ供給部・チップ搭載部の機構の例を示す図である。
【図33】本実施の形態によるフリップチップボンダの三次元機構モデルへのマークセンサモデルの設置例を示す図である。
【図34】本実施の形態によるフリップチップボンダの三次元機構モデルへの基準マークモデルの設置例を示す図である。
【発明を実施するための形態】
【0017】
以下,本実施の形態について,図を用いて説明する。
【0018】
図1は,本実施の形態による実装置システムの構成例を示す図である。
【0019】
図1に示す実装置システムは,産業用ロボットなどの実装置20と,実装置20を制御する制御装置10とを有する。
【0020】
制御装置10は,CPU(Central Processing Unit ),メモリ等を備えるコンピュータである。制御装置10は,機構制御処理部11を備える。
【0021】
機構制御処理部11は,実装置20に対して各種指令を送ることにより,実装置20を制御する。機構制御処理部11は,制御装置10のコンピュータが備えるCPU,メモリ等のハードウェアと,機構制御プログラムとにより実現される。
【0022】
機構制御処理部11は,モータ制御部12,アライメント制御部13を備える。モータ制御部12は,実装置20が備えるモータの制御を行う。アライメント制御部13は,実装置20におけるワーク25の位置調整などの制御を行う。
【0023】
図1に示すシステムにおける実装置20は,画像認識によって検出対象の位置検出を行う機能を有する。具体的には,実装置20は,カメラ21,画像認識部22を備える。また,実装置20は,カメラ21に関するデータであるカメラデータ23や,テンプレート画像に関するデータを含む画像認識に関するデータである認識データ24などを記憶する記憶部(図示省略)を備える。
【0024】
カメラ21は,検出対象を含む画像を撮像するイメージセンサである。カメラ21は,撮像により得られたカメラ画像を画像認識部22に送る。例えば,ワーク25上に存在する基準マークが検出対象である場合に,カメラ21は,ワーク25上の基準マークを含む領域の画像を撮像する。
【0025】
画像認識部22は,カメラデータ23と認識データとに基づいて,パターンマッチングの処理により,検出対象の位置検出を行う。パターンマッチングでは,画像認識部22は,カメラ画像内をあらかじめ用意されたテンプレート画像で走査して,テンプレート画像との近似度が最も高いカメラ画像内の領域の位置情報を得る。カメラ画像内の領域とテンプレート画像との近似度は,例えば正規化相関法によって得られる相関値などである。画像認識部22は,実装置20のコンピュータが備えるCPU,メモリ等のハードウェアと,ソフトウェアプログラムとにより実現される。
【0026】
なお,本実施の形態では,実装置20の作業対象であるワーク25上に存在する基準マークが検出対象となる例を中心に,説明を行う。
【0027】
図1に示す実装置システムにおいて,例えば,機構制御処理部11から実装置20にモータ指令が送られると,実装置20では,モータ指令に応じた駆動制御が行われる。このとき,実装置20から機構制御処理部11に対して,センサ値などの結果が返される。
【0028】
また,例えば,機構制御処理部11から実装置20に対して,ワーク25のアライメント制御のための基準マーク検出指令が送られると,実装置20では,カメラ21がワーク25上の基準マークを撮像し,画像認識部22によるパターンマッチングが行われる。実装置20から機構制御処理部11に対しては,基準マークの検出位置,検出角度,相関値等のデータを含む基準マーク検出結果が返される。
【0029】
図2は,本実施の形態によるシミュレーションシステムの例を示す図である。
【0030】
図2に示すシミュレーションシステムは,図1に示す実装置システムにおける実装置20の代わりに,実装置20の機構を三次元モデルでシミュレートするシミュレーション装置30を用いたシステムである。以下では,実装置20を電子的にモデル化した三次元モデルを,三次元機構モデルと呼ぶものとする。このようなシミュレーション装置30を用いることにより,実装置20を用いなくても,制御装置10における機構制御プログラムの検証を行うことができる。
【0031】
図2に示すシミュレーションシステムは,制御装置10,シミュレーション装置30,表示装置35を有する。
【0032】
制御装置10は,図1に示す制御装置10と同様である。
【0033】
シミュレーション装置30は,入出力処理部31,三次元機構シミュレーション部32を備える。シミュレーション装置30およびシミュレーション装置が備える各機能部は,コンピュータが備えるCPU,メモリ等のハードウェアと,ソフトウェアプログラムとにより実現される。
【0034】
入出力処理部31は,制御装置10からの各種指令の入力や,各種指令に対する結果の制御装置10への出力を行う。
【0035】
三次元機構シミュレーション部32は,三次元機構モデルを用いたシミュレーションを行う。三次元機構シミュレーション部32は,三次元機構モデル情報記憶部33,基準マーク検出部34を備える。
【0036】
三次元機構モデル情報記憶部33は,図1に示す実装置20を模した三次元機構モデルのデータを記憶する,コンピュータがアクセス可能な記憶装置である。
【0037】
基準マーク検出部34は,三次元機構モデルにおける基準マーク検出処理を行う。基準マーク検出部34による処理の詳細については後述する。
【0038】
表示装置35は,シミュレーション装置30による三次元機構モデルの動作を画面に表示するディスプレイなどの装置である。
【0039】
なお,制御装置10とシミュレーション装置30とは,1台のコンピュータで実現されてもよいし,それぞれ別のコンピュータで実現されてもよい。
【0040】
図2に示すシミュレーションシステムにおいて,例えば,機構制御処理部11からシミュレーション装置30にモータ指令が送られると,シミュレーション装置30では,入出力処理部31が,そのモータ指令を入力する。
【0041】
三次元機構シミュレーション部32は,入出力処理部31を介して入力されたモータ指令に基づいて,三次元機構モデルにおける各部品モデルの位置を更新する。具体的には,三次元機構シミュレーション部32は,モータ指令の内容に応じた機構演算を行い,その演算結果に応じて変更が必要となる部品モデルの位置を算出する。三次元機構シミュレーション部32は,算出された部品モデルの位置に基づいて,三次元機構モデルの描画処理を行う。表示装置35に,各部品モデルの位置が更新された三次元機構モデルが表示される。
【0042】
三次元機構シミュレーション部32は,三次元機構モデルにおける各部品モデルの位置と,あらかじめ設定されたセンサ定義とに基づいて,入出力処理部31を介して機構制御処理部11にセンサ値を出力する。センサ定義では,部品モデルの位置とセンサON/OFFの条件が定義されている。
【0043】
また,例えば,機構制御処理部11からシミュレーション装置30に対して,アライメント制御のための基準マーク検出指令が送られると,シミュレーション装置30では,入出力処理部31が,その基準マーク検出指令を入力する。
【0044】
三次元機構シミュレーション部32において,基準マーク検出部34は,入出力処理部31を介して入力された基準マーク検出指令に基づいて,三次元機構モデルにおける基準マーク検出処理を行う。基準マーク検出部34による基準マーク検出処理の詳細については,後述する。
【0045】
三次元機構シミュレーション部32は,基準マーク検出部34による基準マークの検出結果として,検出位置,検出角度,相関値等の基準マーク検出結果を,入出力処理部31を介して機構制御処理部11に出力する。
【0046】
本実施の形態による三次元機構モデルを用いたシミュレーションでは,基準マーク検出のシミュレーションを行うための準備として,三次元機構モデルにマークセンサモデルと基準マークモデルとが設置される。
【0047】
図3は,本実施の形態による三次元機構モデルの例を示す図である。
【0048】
図3に示す三次元機構モデル360は,フリップチップボンダにおけるチップ供給部の機構を模した三次元機構モデル360の例である。このような三次元機構モデル360は,三次元CAD(Computer Aided Design )等を用いて作成される。
【0049】
三次元機構モデル360は,複数の部品モデルを有するアセンブリモデルである。三次元機構モデル360において,カメラモデル361は,実装置20におけるカメラ21を模した部品モデルである。図3に示すカメラモデル361は,フリップチップボンダにおいて,チップトレイ上に置かれた半導体チップを撮像するカメラ21を模した部品モデルである。
【0050】
また,三次元機構モデル360において,ワークモデル362は,実装置20の作業の対象であるワーク25を模した部品モデルである。図3に示すワークモデル362は,フリップチップボンダにおいて,チップトレイ上に置かれた半導体チップを模した部品モデルである。
【0051】
三次元機構モデル情報記憶部33には,三次元CAD等を用いて作成された三次元機構モデル360のデータが記憶される。
【0052】
三次元機構モデル360のデータには,三次元機構モデル360における各部品モデルの形状や位置座標,ローカル座標系などのデータが記録される。また,各部品モデルには,それぞれ個別に属性データが設定可能である。なお,部品モデルの位置座標は,すべてが,アセンブリモデルである三次元機構モデル360の座標系で位置表現されているわけではない。通常,三次元のアセンブリモデルを構成する部品モデル同士の関係は木構造となっており,子となる部品モデルの位置座標は,親となる部品モデルに設定されたローカル座標系で位置表現される。
【0053】
図4は,本実施の形態によるマークセンサモデルの例を説明する図である。
【0054】
マークセンサモデル363は,実装置20におけるカメラ21などのイメージセンサをモデル化した部品モデルである。本実施の形態では,ワーク25上に存在する基準マークを検出対象としているので,イメージセンサの部品モデルを,マークセンサモデル363と呼んでいる。
【0055】
本実施の形態では,マークセンサモデル363は,図4に示すように,四角錐で表される。これは,表示装置35に表示される三次元ビュー上での視覚的表現を目的としたものである。内部的には,マークセンサモデル363は,実体として形状を持たない,すなわち体積を持たない部品モデルとして,三次元機構モデル360の空間に設置される。
【0056】
本実施の形態では,マークセンサモデル363は,図4に示すように,実装置20におけるカメラ21に相当するカメラモデル361に設置される。このとき,マークセンサモデル363を表す四角錐の底面中心が,カメラモデル361において,実装置20のカメラ21の入射面であるレンズ先端の中心に相当する位置となるように,マークセンサモデル363が設置される。
【0057】
また,図4に示すように,マークセンサモデル363のローカル座標系として,マークセンサモデル363にマークセンサ座標系が設定される。本実施の形態では,マークセンサ座標系のX軸,Y軸,Z軸を,それぞれXc 軸,Yc 軸,Zc 軸と表すものとする。マークセンサ座標系のXc 軸,Yc 軸は,それぞれ実装置20のカメラ21による撮像で得られるカメラ画像のX軸,Y軸に相当する方向に設定される。マークセンサ座標系のZc 軸は,実装置20のカメラ21の撮像方向となる。
【0058】
本実施の形態では,実装置20のカメラ21による撮像で得られるカメラ画像の原点は,カメラ画像の中心であるものとする。実装置20の仕様に対応するために,三次元機構モデル360におけるマークセンサ座標系の原点は,実装置20のカメラ21におけるレンズの中心に相当する位置,すなわちマークセンサモデル363を表す四角錐の底面中心の位置に設定される。
【0059】
図5は,本実施の形態によるマークセンサモデル属性データの例を示す図である。
【0060】
三次元機構モデル360に設置されるマークセンサモデル363には,その部品モデルの属性データとして,図5に示すようなマークセンサモデル属性データ331が設定される。
【0061】
図5に示すマークセンサモデル属性データ331において,マークセンサ番号(MSNO)は,三次元機構モデル360に設置された各マークセンサモデル363を一意に識別する識別情報である。また,検出サイズ(DX,DY),検出距離(ZOFF),検出範囲(DZ)は,実装置20のカメラ21における光学的仕様に対応する情報である。マークセンサモデル属性データ331についての詳細な説明は,後述する。
【0062】
なお,図4に示す例は,すでにカメラモデル361が設置された三次元機構モデル360に対して,後からカメラモデル361とは別にマークセンサモデル363を設置する例である。例えば,三次元機構モデル360の作成時に,カメラモデル361自身をマークセンサモデル363として設置するようにしてもよい。この場合には,カメラモデル361がマークセンサモデル363の実態となる。このとき,カメラモデル361のローカル座標系としてマークセンサ座標系を設定し,カメラモデル361の属性データとしてマークセンサモデル属性データ331を設定するようにすればよい。
【0063】
図6は,本実施の形態による基準マークモデルの例を説明する図である。
【0064】
基準マークモデル364は,実装置20における画像認識による認識の対象をモデル化した部品モデルである。本実施の形態では,実装置20による作業の対象であるワーク25上に存在する基準マークを検出対象としているので,画像認識の対象を表す部品モデルを,基準マークモデル364と呼んでいる。
【0065】
本実施の形態では,基準マークモデル364は,図6(A)に示すように,矩形付き矢印で表される。これは,表示装置35に表示される三次元ビュー上での視覚的表現を目的としたものである。内部的には,基準マークモデル364は,実体として形状を持たない,すなわち体積を持たない部品モデルとして,三次元機構モデル360の空間に設置される。
【0066】
また,図6(A)に示すように,基準マークモデル364のローカル座標系として,基準マークモデル364に基準マーク座標系が設定される。基準マーク座標系は,空間内での基準マークモデル364の位置と姿勢とを表している。本実施の形態では,基準マーク座標系のX軸,Y軸,Z軸を,それぞれXm 軸,Ym 軸,Zm 軸と表すものとする。
【0067】
本実施の形態では,図6(A)に示すように,基準マークモデル364を表す矩形付き矢印において,矢印の出発点が,基準マーク座標系の原点を表している。また,基準マークモデル364を表す矩形付き矢印において,矢印が向く方向が,基準マーク座標系のZm 軸方向を表している。また,基準マークモデル364を表す矩形付き矢印において,矢印に対して矩形片が張り出した方向が,基準マーク座標系のXm 軸方向を表している。
【0068】
本実施の形態では,実装置20の画像認識による位置検出の対象がワーク25上の基準マークであるので,その基準マークのモデルである基準マークモデル364は,図6(B)に示すように,ワーク25に相当するワークモデル362に設置される。このとき,基準マークモデル364が設置される位置は,画像認識によりテンプレート画像と一致すると判定されるワーク25上の位置に相当する,ワークモデル362上の位置である。
【0069】
具体的には,例えば,実装置20においてワーク25上の基準マークの中心位置が目的とする検出位置であるような場合に,その検出位置に相当するワークモデル362上の位置が基準マーク座標系の原点となるように,基準マークモデル364が設置される。また,例えば,実装置20において画像認識により基準マークが認識されたときのテンプレート画像の原点位置に対応するワーク25上の位置に相当する,ワークモデル362上の位置が基準マーク座標系の原点となるように,基準マークモデル364が設置される。このような具体的な基準マークモデル364の設置位置は,実装置20における画像認識処理の設計や,シミュレーション装置30における基準マーク検出部34による処理の設計に応じて定められる。
【0070】
図7は,本実施の形態によるテンプレート画像の原点位置に相当する位置への基準マークモデルの設置を説明する図である。
【0071】
図7(A)は,カメラ21の撮像方向から見たワーク25の例である。ワーク25上に,画像認識による位置検出の対象である基準マーク26が存在する。
【0072】
図7(B)は,図7(A)に示す基準マーク26の位置検出に用いるテンプレート画像27である。図7(B)に示すテンプレート画像27の原点は,テンプレート画像27の中心位置であるものとする。
【0073】
図7(A)において,破線で示す枠の領域が,カメラ21による撮像画像とテンプレート画像27とがマッチする領域である。すなわち,図7(A)において,点aの位置が,テンプレート画像27の原点に対応する位置となる。
【0074】
図7(C)は,図7(A)に示すワーク25をモデル化したワークモデル362である。図(C)に示すワークモデル362において,点bの位置が,図7(A)に示すワーク25の点aの位置に相当する位置である。図7(C)に示すワークモデル362において,テンプレート画像27の原点位置に相当する位置に基準マークモデル364が設置される場合には,点bの位置が基準マーク座標系の原点となるように,基準マークモデル364が設置される。
【0075】
また,基準マークモデル364は,マークセンサモデル363に対してワークモデル362が正しい姿勢で設置されるときに,マークセンサ座標系の各軸の方向と基準マーク座標系の各軸の方向との関係が,所定の関係になるように設置される。例えば,ワークモデル362が正しい姿勢で設置されるときに,マークセンサ座標系のXc 軸,Yc 軸,Zc 軸と基準マーク座標系のXm 軸,Ym 軸,Zm 軸とがそれぞれ平行になるように,基準マークモデル364がワークモデル362に設置される。
【0076】
図8は,本実施の形態による基準マークモデル属性データの例を示す図である。
【0077】
三次元機構モデル360に設置される基準マークモデル364には,その部品モデルの属性データとして,図8に示すような基準マークモデル属性データ332が設定される。図8に示す基準マークモデル属性データ332において,マークセンサ番号(MSNO)は,三次元機構モデル360を用いるシミュレーションで,その基準マークモデル364を検出の対象とするマークセンサモデル363のマークセンサ番号である。また,相関値(TH)は,パターンマッチング結果を仮定して設定される相関値である。基準マークモデル属性データ332におけるマークセンサ番号や相関値が,基準マーク検出処理においてどのように使用されるかについては,後述する。
【0078】
図9は,本実施の形態による基準マーク検出部の構成例を示す図である。
【0079】
基準マーク検出部34は,基準マーク検出指令受付部301,カメラ部品移動処理部302,マークセンサ検出領域設定部303,基準マーク抽出部304,認識情報記憶部305,テンプレート画像領域判定部306,相関値判定部307,検出結果設定部308,基準マーク検出結果記憶部309,基準マーク検出結果出力部310を備える。
【0080】
基準マーク検出指令受付部301は,入出力処理部31を介して入力された,制御装置10からの基準マーク検出指令を受け付ける。基準マーク検出指令には,実装値20において撮像を行うカメラ21を特定するカメラ番号や,実装置20における画像認識に用いる認識データを特定するテンプレート番号などの情報が含まれている。
【0081】
カメラ部品移動処理部302は,シミュレーション上で三次元機構モデル360を動作し,カメラモデル361の位置を,実装置20におけるカメラ21の撮像位置に相当する位置に移動する。移動するカメラモデル361は,基準マーク検出指令で指定されたカメラ番号のカメラ21に対応するカメラモデル361である。このときのカメラモデル361の移動先の位置は,実装置20におけるカメラ21の撮像位置に応じて,あらかじめ設定された位置である。
【0082】
なお,カメラモデル361に設置されたマークセンサモデル363は,カメラモデル361のローカル座標系を用いた相対位置が設定されているので,カメラモデル361の移動と同時に目的とする位置に移動される。
【0083】
マークセンサ検出領域設定部303は,マークセンサモデル363に設定された属性データに基づいて,三次元機構モデル360を用いたシミュレーション空間上に,基準マークモデル364の検出を行う領域の設定を行う。以下では,基準マークモデル364の検出を行う領域を,マークセンサ検出領域と呼ぶものとする。マークセンサ検出領域の設定の詳細については,後述する。
【0084】
基準マーク抽出部304は,三次元機構モデル情報記憶部33に記憶された三次元機構モデル360のデータから,マークセンサ検出領域内に存在する基準マークモデル364を抽出する。ここで抽出される基準マークモデル364は,その属性データに設定されたマークセンサ番号が,マークセンサ検出領域が設定されたマークセンサモデル363の属性データのマークセンサ番号に一致するものである。図5に示すように,マークセンサモデル363の属性データであるマークセンサモデル属性データ331には,マークセンサ番号が設定されている。また,図8に示すように,基準マークモデル364の属性データである基準マークモデル属性データ332には,マークセンサ番号が設定されている。
【0085】
例えば,ワーク25上の狭い範囲に,それぞれが別々のカメラ21によって検出される複数の基準マークが存在するようなケースも考えられる。このような場合には,そのワーク25をモデル化したワークモデル362上の狭い範囲に,別々のマークセンサモデル363から設定されたマークセンサ検出領域で抽出されるべき基準マークモデル364が,存在するようになる。すなわち,あるマークセンサモデル363から設定されたマークセンサ検出領域内に,そのマークセンサ検出領域で抽出されるべきではない基準マークモデル364が存在するようになる。
【0086】
このような狭い範囲に異なる複数の基準マークモデル364が存在する場合でも,属性データのマークセンサ番号によってマークセンサモデル363と基準マークモデル364との対応を設定することにより,適切な基準マークモデル364の抽出が可能となる。
【0087】
認識情報記憶部305は,実装置20における画像認識による基準マーク26の認識に使用する,テンプレート画像27に関するデータである認識データ24を記憶する,コンピュータがアクセス可能な記憶装置である。認識データ24には,画像認識における環境設定のデータや,パターンマッチング用のテンプレート画像27のデータなどが含まれている。本実施の形態では,実装置20で基準マーク26の検出に用いられる認識データ24を,シミュレーション装置30による基準マーク検出のシミュレーションに,そのまま用いる。
【0088】
テンプレート画像領域判定部306は,マークセンサ検出領域から抽出された基準マークモデル364に対応するテンプレート画像27の領域を設定し,設定されたテンプレート画像領域が,マークセンサ検出領域内に収まるか否かを判定する。テンプレート画像領域は,実装置20での画像認識においてテンプレート画像27とマッチするカメラ画像上の領域に相当する,基準マークモデル364を含むXc −Yc 平面上の領域である。テンプレート画像領域の設定とその判定との詳細については,後述する。
【0089】
相関値判定部307は,マークセンサ検出領域から抽出された基準マークモデル364の属性データに設定された相関値が,所定の閾値以上であるか否かを判定する。図8に示すように,基準マークモデル364の属性データである基準マークモデル属性データ332には,相関値が設定されている。
【0090】
例えば,制御装置10からの基準マーク検出指令に対して,実装置20における画像認識では,カメラ画像上の領域を少しずつずらしながら,カメラ画像上の領域とテンプレート画像27との相関値を算出する処理が行われる。実装置20では,算出された相関値が所定の閾値以上で最も高いカメラ画像上の領域が基準マーク26の検出領域と判断され,その基準マーク検出結果が制御装置10に返される。
【0091】
実装置20では,所定の閾値以上の相関値が得られるカメラ画像上の領域がなかった場合には,基準マーク26が検出されなかったと判断され,その旨が基準マーク検出結果として制御装置10に返される。すなわち,実装置20では,実際にはカメラ画像上に目的とする基準マーク26が写っている領域があったとしても,テンプレート画像27とのマッチング結果が悪ければ基準マーク26は検出されなかったものと判断され,基準マーク26なしの結果が制御装置10に返される。
【0092】
制御装置10上の機構制御プログラムに,実際にはカメラ21の視野内に存在する基準マーク26が検出されなかった場合の対処アルゴリズムが用意されている場合もある。シミュレーション装置30を用いた検証によって,このようなアルゴリズムの検証を行うためには,シミュレーション装置30上で,実存する基準マーク26が画像認識により検出されないケースを演出する必要がある。ところが,本実施の形態によるシミュレーション装置30による基準マーク26の検出では,実際に画像認識が行われないため,相関値の算出は行われない。
【0093】
そこで,本実施の形態では,基準マークモデル364の属性データに相関値を設定し,その相関値の閾値判定により,基準マーク26が検出されるケースと検出されないケースとが演出できるようになっている。シミュレーションにおいて,基準マークモデル364が検出されるケースを想定する場合には,基準マークモデル364の属性データに設定された相関値を所定の閾値以上に設定しておけばよい。また,シミュレーションにおいて,あえて実存する基準マークモデル364が検出されないケースを想定する場合には,基準マークモデル364の属性データに設定された相関値を所定の閾値より小さい値に設定しておけばよい。
【0094】
このように,基準マークモデル364の属性データとして相関値を設定できるようにすることにより,シミュレーション装置30によって,実存する基準マーク26が画像処理により検出されないようなケースに対処するプログラムの検証などが可能となる。
【0095】
検出結果設定部308は,テンプレート画像領域がマークセンサ検出領域内に収まっており,かつ属性データに設定された相関値が所定の閾値以上である場合に,基準マークモデル364が検出されたと判断する。検出結果設定部308は,三次元機構モデル情報記憶部33から検出されたと判断された基準マークモデル364の位置データを取得し,取得された基準マークモデル364の位置データに基づいて,目的とする検出位置を求める。
【0096】
検出結果設定部308は,得られた検出位置を基準マーク検出結果として設定し,基準マーク検出結果記憶部309に記憶する。このとき,検出結果設定部308は,得られた検出位置をマークセンサ座標系に変換して,基準マーク検出結果に設定する。
【0097】
基準マーク検出結果記憶部309は,基準マーク検出結果を記憶する,コンピュータがアクセス可能な記憶装置である。
【0098】
基準マーク検出結果出力部310は,基準マーク検出結果記憶部309に記憶された基準マーク検出結果を,入出力処理部31を介して,制御装置10に出力する。
【0099】
このような本実施の形態による基準マーク検出部34を備えるシミュレーション装置30によって,三次元機構モデル360を用いたシミュレーションで,画像認識を行わずに,パターン認識による基準マーク26の二次元位置の検出をシミュレートすることが可能となる。
【0100】
以下では,実装置20の動作と比較しながら,シミュレーション装置30の基準マーク検出部34が備える各機能部による処理の詳細を説明する。
【0101】
図10〜図14を用いて,マークセンサ検出領域の設定を詳細に説明する。
【0102】
図10は,本実施の形態の実装置におけるカメラの撮像を説明する図である。
【0103】
図10に示す例は,実装置20において,カメラ21がワーク25上面の基準マーク26を撮像している状態を示している。図10に示すX軸,Y軸,Z軸で示される座標は,実装置20の座標系を示している。ここでは,カメラ21は,Z軸に平行な方向を向いているものとする。また,カメラ21の撮像素子28の水平方向はX軸に,垂直方向はY軸に平行であるものとし,撮像素子28の撮像面はX−Y平面に平行であるものとする。
【0104】
図11は,本実施の形態によるカメラデータの例を示す図である。
【0105】
図11に示すカメラデータ23は,実装置20が備えるカメラ21に関するデータである。
【0106】
図11に示すカメラデータ23において,カメラ番号(1〜n)は,実装置20が備えるカメラ21を一意に識別する識別番号である。
【0107】
図11に示すカメラデータ23において,画素数(HN,VN)は,カメラ21における水平方向すなわちX軸方向の画素数HNと,垂直方向すなわちY軸方向の画素数VNとを示す。セルサイズ(XS,YS)は,カメラ21の撮像素子28におけるセルのX軸方向のサイズXSと,Y軸方向のサイズYSとを示す。レンズ倍率(LN)は,カメラ21のレンズの設定倍率を示す。
【0108】
図11に示すカメラデータ23において,ワーキングディスタンス(WD)は,図10に示すように,カメラ21のレンズ先端からワーク25までの距離を示す。
【0109】
図11に示すカメラデータ23において,被写界深度(SZ)は,カメラ21のピントが合う奥行き方向の幅を示す。
【0110】
図12は,本実施の形態の実装置におけるカメラのカメラ視野を示す図である。
【0111】
図10において,カメラ視野(SX,SY)は,カメラ21の視野の範囲を示す。カメラ視野の中心が,カメラの中心と一致する。カメラ視野は,図11に示すカメラデータ23における画素数,セルサイズ,レンズ倍率などのデータから求められる。すなわち,図12に示すように,カメラ視野のX軸方向のサイズSX,Y軸方向のサイズSYは,それぞれ,
SX=HN*XS/LN
SY=VN*YS/LN
で求められる。
【0112】
図10において,カメラ視野(SX,SY)と被写界深度(SZ)からなる空間は,カメラ21により撮像されたカメラ画像から,テンプレート画像27を用いたマッチングにより,ワーク25上の基準マーク26が十分に検出可能な空間領域を示している。すなわち,図10において,ワーク25上の基準マーク26が,カメラ視野と被写界深度からなる空間内に含まれていれば,実装置20の画像認識部22による処理で,基準マーク26の位置が検出される可能性は高い。
【0113】
図13は,本実施の形態の実装置におけるカメラにより得られたカメラ画像の例を示す図である。
【0114】
カメラ21の撮像により得られたカメラ画像29は,例えば,図13に示すようなものとなる。図13に示すカメラ画像29において,太線は撮像されたワーク25の辺であり,十字型の図形はワーク25上面に存在する基準マーク26である。実装置20において,画像認識部22は,図13に示すようなカメラ画像29上をテンプレート画像27で走査することにより,基準マーク26の検出を行う。
【0115】
本実施の形態では,図13に示すように,カメラ画像29の原点を,カメラの中心に設定している。図13に示すように,カメラ画像29の座標系は,Xc 軸,Yc 軸とで示される座標系となる。実装置20におけるカメラ画像29の座標系と,三次元機構モデル360におけるマークセンサ座標系とが,ともにXc 軸,Yc 軸とで示されているが,これは,マークセンサ座標系が,実装置20におけるカメラ画像29の座標系に合わせて設定されているからである。
【0116】
図14は,本実施の形態によるマークセンサ検出領域の設定を説明する図である。
【0117】
マークセンサ検出領域設定部303は,図5に示すようなマークセンサモデル属性データ331に基づいて,図14に示すようなマークセンサ検出領域365の設定を行う。
【0118】
図14(A)は,マークセンサモデル363と,設定されるマークセンサ検出領域365との関係を示す図である。図14(B)は,設定されるマークセンサ検出領域365の形状を示す図である。図14(A)に示すX軸,Y軸,Z軸で示される座標は,実装置20の座標系に合わせて設定された三次元機構モデル360の座標系である。
【0119】
図5に示すマークセンサモデル属性データ331において,検出サイズ(DX,DY)は,それぞれ,図10,図12に示すカメラ視野(SX,SY)に相当する。図5に示すマークセンサモデル属性データ331において,検出距離(ZOFF)は,図11に示すカメラデータ23におけるワーキングディスタンス(WD)に相当する。図5に示すマークセンサモデル属性データ331において,検出範囲(DZ)は,図11に示すカメラデータ23における被写界深度(SZ)に相当する。このように,マークセンサモデル属性データ331には,実カメラ21の光学的使用に基づいたデータが設定されている。
【0120】
マークセンサ検出領域365の形状は,マークセンサモデル属性データ331に設定された検出サイズと検出範囲とに基づいて設定される。すなわち,本実施の形態によるマークセンサ検出領域365は,図14(B)に示すように,マークセンサ座標系のXc 軸方向のサイズがDX,Yc 軸方向のサイズがDY,Zc 軸方向のサイズがDZである直方体の形状となる。
【0121】
三次元機構モデル360の空間におけるマークセンサ検出領域365の位置は,マークセンサモデル属性データ331に設定された検出距離に基づいて設定される。本実施の形態では,図14(A)に示すように,マークセンサモデル363の底面中心から,Zc 軸方向にZOFFだけ離れた位置がマークセンサ検出領域365の重心の位置となるように,マークセンサ検出領域365が設定される。なお,マークセンサモデル363の底面は,実装置20におけるカメラ21の入射面であるレンズ先端に合わせて,設定されている。
【0122】
このように,マークセンサ検出領域設定部303は,マークセンサモデル363に設定された属性データに基づいて,実装置20におけるカメラ視野と被写界深度からなる空間に対応する,マークセンサ検出領域365の空間を設定する。
【0123】
マークセンサ検出領域365の設定後,基準マーク抽出部304が,三次元機構モデル情報記憶部33に記憶された三次元機構モデル360のデータに基づいて,マークセンサ検出領域365内に存在する基準マークモデル364を抽出する。基準マーク抽出部304によって,図14(B)に示すように,設定されたマークセンサ検出領域365の空間内に設置されている基準マークモデル364が,基準マーク検出部34により位置検出が行われる基準マークモデル364の候補として抽出される。
【0124】
図15〜図22を用いて,テンプレート画像領域の設定と,テンプレート画像領域がマークセンサ検出領域に収まるかの判定とを詳細に説明する。
【0125】
図15は,本実施の形態による認識データの例を示す図である。
【0126】
図15に示す認識データ24は,実装置20において,画像認識部22で用いられるテンプレート画像27に関するデータなどの,画像認識に関するデータである。また,図15に示す認識データ24は,シミュレーション装置30において,基準マーク検出部34の認識情報記憶部305に記憶されるデータでもある。
【0127】
図15に示す認識データ24において,テンプレート番号(1〜m)は,実装置20において画像認識に用いるテンプレート画像27を一意に識別する識別情報である。
【0128】
図15に示す認識データ24において,照明種別(LTID)は,同軸照明,斜光照明などの,カメラ21による撮像時の被写体に対する照明の種別を示す。照明ボリューム(LTVOL)は,カメラ21による撮像時の被写体に対する照明の光量を示す。露光時間(EXPOS)は,カメラ21による撮像時の露光時間を示す。
【0129】
画像認識に用いるテンプレート画像27は,例えば,カメラ21によってあらかじめ撮像された画像から生成される。認識データ24における照明種別,照明ボリューム,露光時間などのデータは,テンプレート画像27の生成時における撮像条件である。基準マーク26の検出時には,撮像条件を画像認識に用いるテンプレート画像27の生成時の撮像条件に合わせて,カメラ21による撮像が行われる。
【0130】
図15に示す認識データ24において,テンプレート画像(TMPLT.BMP )は,画像認識に用いるテンプレート画像27のファイル名を示す。テンプレートサイズ(XL,YL)は,テンプレート画像27のXt 軸方向のサイズXL,Yt 軸方向のサイズYLを示す。本実施の形態では,テンプレート画像27の座標系を,テンプレート画像27の中心を原点とするXt 軸,Yt 軸で表すものとする。
【0131】
図15に示す認識データ24において,基準位置(XP,YP)としては,テンプレート画像27の原点を基準として,基準マーク26を含むテンプレート画像27の中心や,テンプレート画像27の中で特徴のある位置などの座標値が示される。検出位置(XOFF,YOFF)としては,基準マーク26の検出結果として出力される点が,基準位置からのオフセット量で示される。
【0132】
図15に示す認識データ24において,範囲指定有無(AREFLG)は,テンプレート画像27を用いた画像認識を,カメラ画像29上の領域の範囲を指定して行うか否かを示すフラグである。AREFLG=1のときには範囲指定が行われ,AREFLG=0のときには範囲指定が行われない。サーチ範囲(AX1,AY1,AX2,AY2)は,AREFLG=1のときに指定される,カメラ画像29上の領域の範囲を示す。カメラ画像29上の座標(AX1,AY1)の点と,座標(AX2,AY2)の点とを対角とする矩形の領域が,テンプレート画像27を用いた画像認識の範囲となる。
【0133】
図16は,本実施の形態の実装置によるサーチ範囲の設定を説明する図である。
【0134】
実装置20において,図15に示す認識データ24の範囲指定有無(AREFLG)が1である場合には,テンプレート画像27を用いた画像認識を行うカメラ画像29上の範囲が限定される。
【0135】
画像認識部22は,認識データ24の範囲指定有無(AREFLG)が1である場合に,認識データ24のサーチ範囲で指定された点(AX1,AY1),点(AX2,AY2)を対角とする矩形の範囲に,テンプレート画像27を用いた画像認識を行う範囲を限定する。図16に示すように,点(AX1,AY1),点(AX2,AY2)を対角とする矩形の範囲が,サーチ範囲210,すなわちテンプレート画像27を用いた画像認識を行う範囲となる。
【0136】
図17は,本実施の形態のシミュレーション装置による基準マーク検出範囲の設定を説明する図である。
【0137】
シミュレーション装置30において,認識情報記憶部305に記憶された認識データ24の範囲指定有無(AREFLG)が1である場合には,マークセンサ検出領域365における基準マークモデル364を抽出する領域の範囲が限定される。マークセンサ検出領域設定部303は,認識データ24の範囲指定有無(AREFLG)が1である場合に,認識データ24のサーチ範囲(AX1,AY1,AX2,AY2)の指定に従って,基準マークモデル364を抽出する領域の範囲を限定する。
【0138】
図17(A)は,二次元のXc −Yc 平面で表されたマークセンサ検出領域365を示す。図17(A)に示すマークセンサ検出領域365は,実装置20におけるカメラ画像29に相当する。すなわち,図17(A)に示すマークセンサ検出領域365のXc −Yc 平面において,点(AX1,AY1),点(AX2,AY2)を対角とする矩形の範囲が,限定された基準マーク抽出範囲366となる。
【0139】
図17(B)は,三次元空間で表されたマークセンサ検出領域365である。マークセンサ検出領域365の三次元空間では,図17(B)に示すように,(AX1,AY1)の直線と(AX2,AY2)直線とに基づいて設定された直方体の空間が,基準マーク抽出範囲366となる。
【0140】
図15に示す認識データ24において,回転サーチ有無(ROTFLG)は,回転されたテンプレート画像27を用いた画像認識を行うか否かを示すフラグである。ROTFLG=1のときには回転されたテンプレート画像27を用いた画像認識が行われ,ROTFLG=0のときには回転されたテンプレート画像27を用いた画像認識が行われない。回転サーチ範囲(ANG1,ANG2)は,ROTFLG=1のときに指定される,テンプレート画像27の回転角度の範囲を示す。
【0141】
図18は,本実施の形態による回転サーチ範囲を説明する図である。
【0142】
図18(A)に示すように,図15に示す認識データ24の回転サーチ範囲において,ANG1は,時計回り方向のテンプレート画像27の回転角度の上限を示す。また,図18(B)に示すように,図15に示す認識データ24の回転サーチ範囲において,ANG2は,反時計回り方向のテンプレート画像27の回転角度の上限を示す。
【0143】
実装置20の画像認識部22は,図15に示す認識データ24において,ROTFLG=1のときに,ANG1〜ANG2の範囲で,例えば1度ずつテンプレート画像27の角度を変えながら画像認識を行う。
【0144】
図15に示す認識データ24において,判定閾値(THRSLD)は,カメラ画像29上の領域とテンプレート画像27との間の相関値の下限を示す閾値である。すなわち,画像認識部22は,画像認識の結果,カメラ画像29上の領域とテンプレート画像27との間の最大の相関値が判定閾値以上でなければ,基準マーク26が検出されなかったと判定する。なお,シミュレーション装置30において,基準マーク検出部34の相関値判定部307では,認識情報記憶部305に記憶された認識データ24の判定閾値を所定の閾値として,相関値の判定を行う。
【0145】
図19は,本実施の形態によるテンプレート画像の例(1)を示す図である。
【0146】
図19に示すテンプレート画像27は,原点,基準位置,検出位置が同じ点である場合の例である。このとき,図15に示す認識データ24において,基準位置(XP,YP)=(0,0),検出位置(XOFF,YOFF)=(0,0)となる。
【0147】
図19に示すテンプレート画像27において,基準マーク26の中心位置の座標が目的とする検出位置である。基準マーク26の大きさがテンプレート画像27の大きさに対して十分に小さい場合などには,図19に示すような原点,基準位置,検出位置が同じであるテンプレートが用意できる。
【0148】
図20は,本実施の形態によるテンプレート画像の例(2)を示す図である。
【0149】
図20において,基準マーク26の中心位置の座標が目的とする検出位置であるものとする。このとき,図20(A)に示すように,基準マーク26の大きさに対してテンプレート画像27の大きさが十分でないような場合には,原点,基準位置,検出位置を同じ点に設定することが難しい。このような場合には,図20(B)に示すように,原点,基準位置,検出位置が異なったテンプレート画像が用意される。
【0150】
図20(A)において,特徴点は,画像認識において認識しやすい特徴のある点である。図20(A)に示す例では,矩形の基準マーク26の角の部分が,認識が容易な特徴点となる。図20(B)に示すように,認識しやすい特徴点が,テンプレート画像27の基準位置として設定される。認識データ24の基準位置(XP,YP)には,テンプレート画像27の原点に対する特徴点の座標が設定される。
【0151】
図20(B)に示すように,検出位置は,図20(A)に示す基準マーク26の中心位置である。認識データ24の検出位置(XOFF,YOFF)には,テンプレート画像27の原点に対する特徴点の座標が設定される。
【0152】
なお,図19,図20に示すテンプレート画像27は,基準マーク26を検出対象として,目的となる検出位置を求めるためのテンプレート画像27である。検出対象が基準マーク26以外,例えばプリント基板に搭載する半導体チップなどであってもよい。例えば,図20に示すテンプレート画像27において,検索対象が基準マーク26ではなく基板に搭載するチップであり,基準位置がチップの角であり,検出位置がチップの中心位置であってもよい。
【0153】
図21は,本実施の形態の実装置によるテンプレート画像を用いた画像認識を説明する図である。
【0154】
実装置20において,画像認識部22は,図21(A)に示すように,テンプレートサーチを行い,テンプレート画像27とマッチするカメラ画像29上の領域を検出する。
【0155】
具体的には,画像認識部22は,カメラ画像29の領域を少しずつ変えながらテンプレート画像27とのマッチングを行い,テンプレート画像27との相関値が最大となるカメラ画像29上の領域を検出する。画像認識部22は,得られた最大の相関値が図15に示す認識データの判定閾値以上である場合に,その相関値が得られたカメラ画像29上の領域とテンプレート画像27とがマッチすると判定する。そのテンプレート画像27とマッチすると判定されたカメラ画像29上の領域が,目的とする基準マーク26が写った領域とされる。
【0156】
このように,実装置20では,テンプレート画像27とマッチする領域が,カメラ画像29上に存在する場合に,基準マーク26が検出されたものと判定される。逆に言えば,カメラ画像29に基準マーク26が写っていても,画像認識によって十分な相関値が得られなければ,テンプレート画像27とマッチするカメラ画像29上の領域はないと判定され,基準マーク26が検出されなかったものと判定される。
【0157】
例えば,図21(B)に示すように,基準マーク26がカメラ画像29の端の方に写っているようなケースも考えられる。このようなケースでは,カメラ画像29上の基準マーク26が写った部分にテンプレート画像27とマッチする十分な領域が確保できない。すなわち,実装置20では,カメラ視野内に基準マーク26が存在しても,テンプレート画像とのマッチングでは,その基準マーク26を検出できない場合がある。
【0158】
これに対して,本実施の形態の三次元機構モデル360を用いたシミュレーション装置30では,テンプレート画像27を用いた画像認識を行わずに,三次元機構モデル360に設置された基準マークモデル364の検出を行う。具体的には,図14(B)に示すように,シミュレーション装置30では,マークセンサ検出領域365内に存在する基準マークモデル364の抽出が行われる。このとき,単純にマークセンサ検出領域365内から抽出された基準マークモデル364を基準マーク検出結果としてしまうと,実装置20における画像認識では検出されない基準マーク26に相当する基準マークモデル364が,検出されてしまう可能性がある。
【0159】
そこで,本実施の形態によるシミュレーション装置30では,基準マーク検出部34におけるテンプレート画像領域判定部306が,抽出された基準マークモデル364の周囲にテンプレート画像領域を設定する。テンプレート画像領域判定部306は,設定されたテンプレート画像領域が,マークセンサ検出領域365内に収まるか否かを判定する。
【0160】
図22は,本実施の形態によるテンプレート画像領域の設定と判定とを説明する図である。
【0161】
図22では,マークセンサ検出領域365が,基準マーク抽出部304により抽出された基準マークモデル364の位置を含むXc −Yc 平面で表されている。これは,実装置20におけるカメラ画像29に相当する。
【0162】
上述したように,本実施の形態では,基準マークモデル364は,ワークモデル362上の,実ワーク25上のテンプレート画像27の原点位置が想定された位置に設置されている。すなわち,三次元機構モデル360のシミュレーション空間上で,実装置20において画像認識により基準マーク26が検出されたときのテンプレート画像27の領域をシミュレートすると,図22(A)に示すような基準マークモデル364を中心とする矩形領域となる。
【0163】
テンプレート画像領域判定部306は,図22(A)に示すような基準マークモデル364を中心とする矩形領域を,テンプレート画像領域367として設定する。なお,本実施の形態による基準マーク検出部34における認識情報記憶部305には,実装置20と同じ認識データ24が記憶されている。テンプレート画像領域判定部306は,認識情報記憶部305に記憶された認識データ24から,テンプレート画像領域367のサイズ等を求めることができる。
【0164】
テンプレート画像領域判定部306は,設定されたテンプレート画像領域367が,マークセンサ検出領域365内に収まるか否かを判定する。
【0165】
図22(A)は,設定されたテンプレート画像領域367が,マークセンサ検出領域365内に収まっている例である。すなわち,図22(A)においてマークセンサ検出領域365から抽出された基準マークモデル364は,実装置20における画像認識で検出され得る基準マーク26に相当する基準マークモデル364であるといえる。
【0166】
図22(B)は,設定されたテンプレート画像領域367が,マークセンサ検出領域365内に収まっていない例である。すなわち,図22(B)においてマークセンサ検出領域365から抽出された基準マークモデル364は,実装置20における画像認識では検出されない基準マーク26に相当する基準マークモデル364であるといえる。
【0167】
このように,シミュレーション装置30における基準マーク検出部34のテンプレート画像領域判定部306により,実装置20におけるテンプレート画像27を用いたカメラ画像29上の領域のマッチング走査を,シミュレートすることができる。
【0168】
図23〜図27を用いて,基準マーク検出結果の設定について詳細に説明する。
【0169】
図23は,本実施の形態による検出結果データの例を示す図である。
【0170】
図23に示す検出結果データ211は,実装置20における基準マーク26の検出結果である。また,図23に示す検出結果データ211は,シミュレーション装置30における基準マークモデル364の検出結果でもある。
【0171】
実装置20での検出結果データ211において,検出結果番号(1〜TNO)は,検出された基準マーク26の1つ1つに割り振られた番号である。また,シミュレーション装置30での検出結果データ211において,検出結果番号(1〜TNO)は,検出された基準マークモデル364の1つ1つに割り振られた番号である。
【0172】
実装置20での検出結果データ211において,検出座標(TX,TY)は,基準マーク26が検出されたと判定されたカメラ画像29の領域の位置に基づいて求められた,検出位置の座標を示す。検出座標は,基準マーク26の検出に用いられたテンプレート画像27の原点,基準位置,検出位置の関係から求められる。また,シミュレーション装置30での検出結果データ211において,検出座標(TX,TY)は,マークセンサ検出領域365から抽出された基準マークモデル364の位置に基づいて求められた,検出位置の座標を示す。
【0173】
実装置20での検出結果データ211において,検出角度(TA)は,基準マーク26が検出されたときのテンプレート画像27の回転角度を示す。また,シミュレーション装置30での検出結果データ211において,検出角度(TA)は,マークセンサ座標系と,検出された基準マークモデル364の基準マーク座標系との関係から求められた,基準マークモデル364の姿勢を示す角度である。なお,実装置20またはシミュレーション装置30において,検出角度は,認識データ24の回転サーチ有無ROTFLGが1である場合に,検出結果として求められる。
【0174】
実装置20での検出結果データ211において,相関値(TV)は,基準マーク26が検出されたときの,テンプレート画像27とカメラ画像29上の領域との間の相関値を示す。また,シミュレーション装置30での検出結果データ211において,相関値(TV)は,マークセンサ検出領域365から抽出された基準マークモデル364の属性データに設定された相関値(TH)である。
【0175】
シミュレーション装置30の基準マーク検出部34において,検出結果データ211は,基準マーク検出結果記憶部309に記憶される。
【0176】
図24は,本実施の形態の実装置による基準マーク検出結果を説明する図である。
【0177】
図24において,破線の矩形枠で示す領域は,テンプレート画像27とマッチすると判定されたカメラ画像29上の領域である。検出位置がテンプレート画像27の中心位置である場合には,図24に示すカメラ画像29において,破線の矩形枠で示す領域の中心位置が,目的とする基準マーク26の検出位置となる。図24に示すように,検出位置の座標(TX,TY)は,カメラ画像29の座標系で表される。
【0178】
また,認識データ24において,回転サーチ有無ROTFLG=1である場合には,検出結果データ211に検出角度が設定される。このとき,例えば図24に示すように,検出角度(TA)は,テンプレート画像27の回転角度,すなわちカメラ画像29に対する破線の矩形枠で示す領域の角度である。
【0179】
図25は,本実施の形態のシミュレーション装置による基準マークモデルの検出結果の設定(1)を説明する図である。
【0180】
図25に示す例は,実装置20における図19に示す原点,基準位置,検出位置が同じテンプレート画像27を用いた基準マーク26の検出が,シミュレーション装置30によってシミュレートされた場合の例である。
【0181】
図25(A)では,マークセンサ検出領域365が,基準マーク抽出部304により抽出された基準マークモデル364の位置を含むXc −Yc 平面で表されている。これは,実装置20におけるカメラ画像29に相当する。
【0182】
図25(A)に示すように,マークセンサ検出領域365から抽出された基準マークモデル364を中心として,テンプレート画像領域367が設定されている。図25に示すテンプレート画像領域367は,図19に示すテンプレート画像27に相当する。すなわち,図25(B)に示すように,テンプレート画像領域367に,テンプレート画像27の座標系を想定すると,基準マークモデル364の位置が,テンプレート画像27の原点であると仮定できる。
【0183】
シミュレーション装置30の基準マーク検出部34において,検出結果設定部308は,認識情報記憶部305に記憶された認識データ24から,基準位置,検出位置のデータを取得する。ここでは,検出結果設定部308は,図19に示すテンプレート画像27の認識データ24から,基準位置(XP,YP)=(0,0),検出位置(XOFF,YOFF)=(0,0)のデータを得る。
【0184】
取得された基準位置,検出位置のデータから,図25(B)に示すように,テンプレート画像領域367において,テンプレート画像27の原点,基準位置,検出位置は,すべて同じ位置である。すなわち,図25に示す例において,基準マークモデル364の検出結果として求める検出座標は,基準マークモデル364の位置座標となる。
【0185】
図25に示す例において,検出結果設定部308は,目的とする検出位置の座標,すなわち基準マークモデル364の位置座標を,基準マークモデル364の検出座標として,基準マーク検出結果記憶部309に記憶する検出結果データ211に設定する。本実施の形態では,図25(A)に示すように,検出座標として,マークセンサ座標系に変換された検出位置の座標(TX,TY)が,検出結果データ211に設定される。なお,ここで設定される検出座標は,カメラ画像29の座標系を想定したマークセンサ座標系のXc 軸,Yc 軸からなる二次元の位置座標である。
【0186】
図26は,本実施の形態のシミュレーション装置による基準マークモデルの検出結果の設定(2)を説明する図である。
【0187】
図26に示す例は,実装置20における図20(B)に示す原点,基準位置,検出位置がそれぞれ異なるテンプレート画像27を用いた基準マーク26の検出が,シミュレーション装置30によってシミュレートされた場合の例である。
【0188】
図26(A)では,マークセンサ検出領域365が,基準マーク抽出部304により抽出された基準マークモデル364の位置を含むXc −Yc 平面で表されている。これは,実装置20におけるカメラ画像29に相当する。
【0189】
図26(A)に示すように,マークセンサ検出領域365から抽出された基準マークモデル364を中心として,テンプレート画像領域367が設定されている。図26に示すテンプレート画像領域367は,図20(B)に示すテンプレート画像27に相当する。すなわち,図26(B)に示すように,テンプレート画像領域367に,テンプレート画像27の座標系を想定すると,基準マークモデル364の位置が,テンプレート画像27の原点であると仮定できる。
【0190】
シミュレーション装置30の基準マーク検出部34において,検出結果設定部308は,認識情報記憶部305に記憶された認識データ24から,基準位置,検出位置のデータを取得する。ここでは,検出結果設定部308は,図20(B)に示すテンプレート画像27の認識データ24から,基準位置(XP,YP),検出位置(XOFF,YOFF)のデータを得る。
【0191】
図26(B)に示すように,テンプレート画像領域367において,基準位置は,テンプレート画像27の原点に対して(XP,YP)の位置となる。また,図26(B)に示すように,テンプレート画像領域367において,検出位置は,基準位置に対して(XOFF,YOFF)の位置となる。検出結果設定部308は,テンプレート画像領域367において,テンプレート画像27の原点,基準位置,検出位置との関係から,基準マークモデル364の位置に対する検出位置,すなわちテンプレート画像の原点に対する検出位置を求める。
【0192】
検出結果設定部308は,図26(A)に示すように,基準マークモデル364の位置に対する検出位置の座標をマークセンサ座標系に変換し,得られた座標(TX,TY)を検出座標として,基準マーク検出結果記憶部309に記憶する検出結果データ211に設定する。なお,ここで設定される検出座標は,カメラ画像29の座標系を想定したマークセンサ座標系のXc 軸,Yc 軸からなる二次元の位置座標である。
【0193】
図27は,本実施の形態のシミュレーション装置による検出角度の設定を説明する図である。
【0194】
実装置20では,図15に示す認識データ24の回転サーチ有無(ROTFLG)が1である場合に,回転されたテンプレート画像27を用いた画像認識が行われる。このとき,実装置20では,検出結果データ211に検出角度が設定される。
【0195】
シミュレーション装置30では,認識情報記憶部305に記憶された認識データ24の回転サーチ有無が1である場合に,基準マーク検出部34の検出結果設定部308が,マークセンサ座標系と基準マーク座標系との関係に基づいて,基準マークモデル364の検出角度を求める。検出結果設定部308は,得られた検出角度を,基準マーク検出結果記憶部に記憶する検出結果データ211に設定する。
【0196】
本実施の形態では,上述したように,マークセンサモデル363に対してワークモデル362が正しい姿勢で設置されるときに,マークセンサ座標系のXc 軸,Yc 軸と基準マーク座標系のXm 軸,Ym 軸とがそれぞれ平行になるように,基準マーク座標系が設定される。すなわち,マークセンサ座標系のXc 軸,Yc 軸と基準マーク座標系のXm 軸,Ym 軸とが平行でなければ,基準マークモデル364が設置されたワークモデル362が,マークセンサモデル363に対して,正しい姿勢から回転した状態で設置されていることになる。
【0197】
図27では,マークセンサ検出領域365が,基準マーク抽出部304により抽出された基準マークモデル364の位置を含むXc −Yc 平面で表されている。図27に示すマークセンサ検出領域365において,マークセンサ座標系のXc 軸,Yc 軸と,検出された基準マークモデル364に設定された基準マーク座標系のXm 軸,Ym 軸とは,時計回りにTAだけズレていることがわかる。
【0198】
検出結果設定部308が,マークセンサ座標系と基準マーク座標系との関係が,あらかじめ定められた関係からどのくらいの角度でズレているかを求め,得られたズレの角度TAを検出角度として,検出結果データ211に設定する。
【0199】
以下では,実装置20による基準マーク検出処理の流れと比較して,シミュレーション装置30の基準マーク検出部34による基準マーク検出処理の流れを説明する。
【0200】
図28は,本実施の形態の実装置による基準マーク検出処理フローチャートである。
【0201】
実装置20が制御装置10の機構制御処理部11から基準マーク検出指令を受けると(ステップS10),画像認識部22は,基準マーク検出指令に含まれるカメラ番号,テンプレート番号で指示されたカメラデータ23,認識データ24を,記憶部から取得する(ステップS11)。
【0202】
実装置20は,基準マーク検出指令に含まれるカメラ番号で指示されたカメラ21を,目的とする基準マーク26を撮像するための所定の位置に移動する(ステップS12)。このときのカメラ21の移動先となる位置は,あらかじめ設定された位置である。
【0203】
実装置20は,目的とする基準マーク26を撮像するカメラ21の照明をONにする(ステップS13)。
【0204】
画像認識部22は,カメラ21で撮像されたカメラ画像29を取得する(ステップS14)。
【0205】
画像認識部22は,画像認識処理を行う(ステップS15)。具体的には,画像認識部22は,カメラ画像29上の領域と,基準マーク検出指令に含まれるテンプレート番号に応じたテンプレート画像27とのマッチング処理を行う。画像認識部22は,マッチング処理において,テンプレート画像27との相関値が最も高くかつ所定の判定閾値より大きいカメラ画像29上の領域が検出された場合に,そのカメラ画像29上の領域が目的とする基準マーク26が検出された領域であると判定する。画像認識部22は,基準マーク検出指令に含まれるテンプレート番号で指示された認識データ24に基づいて,基準マーク26が検出されたと判定されたカメラ画像29上の領域の位置から,目的とする検出位置の座標を求める。
【0206】
実装置20は,得られた検出位置の座標を基準マーク検出結果として,制御装置10の機構制御処理部11に出力する(ステップS16)。また,実装置20は,カメラ21の照明をOFFにする(ステップS17)。
【0207】
図29,図30は,本実施の形態のシミュレーション装置の基準マーク検出部による基準マーク検出処理フローチャートである。
【0208】
シミュレーション装置30の基準マーク検出部34において,基準マーク検出指令受付部301は,制御装置10の機構制御処理部11から発行された,基準マーク検出指令を受け付ける(ステップS20)。基準マーク検出部34は,受け付けられた基準マーク検出指令に含まれるカメラ番号とテンプレート番号とを取得する(ステップS21)。
【0209】
カメラ部品移動処理部302は,三次元機構モデル360において,取得されたカメラ番号に対応するカメラモデル361を,目的とする基準マークモデル364が設置された所定の位置に移動する(ステップS22)。このときのカメラモデル361の移動先となる位置は,あらかじめ設定された位置である。
【0210】
マークセンサ検出領域設定部303は,基準マーク検出指令に含まれるカメラ番号から,マークセンサ番号を取得する(ステップS23)。例えば,実装置20における該当カメラ21のカメラ番号と,三次元機構モデル360における該当マークセンサモデル363に設定されたマークセンサ番号とが,同じ番号に設定されている場合には,マークセンサ検出領域設定部303は,カメラ番号をマークセンサ番号に読み替える。また,例えば,マークセンサ検出領域設定部303は,あらかじめ用意されたカメラ番号とマークセンサ番号との対応テーブルを参照して,カメラ番号からマークセンサ番号を取得する。
【0211】
ここで取得されたマークセンサ番号が属性データに設定されたマークセンサモデル363が,実装置20におけてカメラ番号に該当するカメラ21の役割を,シミュレーション装置30の三次元機構モデル360上で実現するマークセンサモデル363となる。
【0212】
マークセンサ検出領域設定部303は,三次元機構モデル情報記憶部33に記憶された三次元機構モデル360のデータを参照し,マークセンサモデル363の属性データに設定された検出サイズ,検出距離,検出幅を取得する(ステップS24)。
【0213】
マークセンサ検出領域設定部303は,取得された検出サイズ,検出距離,検出幅に基づいて,三次元機構モデル360のシミュレーション空間上に,マークセンサ検出領域365を設定する(ステップS25)。なお,認識情報記憶部305に記憶された認識データ24の範囲指定有無(AREFLG)=1である場合には,マークセンサ検出領域設定部303は,図17に示すように,マークセンサ検出領域365を減縮した基準マーク抽出範囲366を設定する。
【0214】
基準マーク抽出部304は,三次元機構モデル情報記憶部33に記憶された三次元機構モデル360のデータを参照し,三次元機構モデル360に設定されたすべての基準マークモデル364から,属性データに設定されたマークセンサ番号を確認する。基準マーク抽出部304は,マークセンサモデル363のマークセンサ番号と一致するマークセンサ番号が設定された基準マークモデル364を抽出する(ステップS26)。
【0215】
基準マーク検出部34は,基準マーク検出処理による基準マークモデル364の検出数と,基準マークモデル364のカウンタiとを初期化する。すなわち,基準マーク検出部34は,検出数を0に設定し(ステップS27),iを1に設定する(ステップS28)。
【0216】
基準マーク抽出部304は,三次元機構モデル情報記憶部33の三次元機構モデル360のデータを参照し,抽出されたi番目の基準マークモデル364の座標を取得する(ステップS29)。基準マーク抽出部304は,取得された座標から,抽出されたi番目の基準マークモデル364がマークセンサ検出領域365内に存在するか否かを判定する(ステップS30)。
【0217】
抽出されたi番目の基準マークモデル364がマークセンサ検出領域365内に存在しなければ(ステップS30のNO),基準マーク検出部34は,ステップS38の処理に進む。
【0218】
抽出されたi番目の基準マークモデル364がマークセンサ検出領域365内に存在すれば(ステップS30のYES),テンプレート画像領域判定部306は,抽出されたi番目の基準マークモデル364に対するテンプレート画像領域367を設定する(ステップS31)。具体的には,テンプレート画像領域判定部306は,認識情報記憶部305に記憶された,基準マーク検出指令に含まれるテンプレート番号を持つ認識データ24から,テンプレートサイズを取得する。テンプレート画像領域判定部306は,取得されたテンプレートサイズに基づいて,図22に示すように,基準マークモデル364の位置を中心とするテンプレート画像領域367を設定する。
【0219】
テンプレート画像領域判定部306は,設定されたテンプレート画像領域367がマークセンサ検出領域365内に収まっているか否かを判定する(ステップS32)。
【0220】
設定されたテンプレート画像領域367がマークセンサ検出領域365内に収まっていなければ(ステップS32のNO),基準マーク検出部34は,ステップS38の処理に進む。
【0221】
設定されたテンプレート画像領域367がマークセンサ検出領域365内に収まっていれば(ステップS32のYES),相関値判定部307は,抽出されたi番目の基準マークモデル364に設定された相関値を取得する(ステップS33)。より具体的には,相関値判定部307は,三次元機構モデル情報記憶部33に記憶された三次元機構モデル360のデータを参照し,抽出されたi番目の基準マークモデル364の属性データに設定された相関値を取得する。
【0222】
相関値判定部307は,認識情報記憶部305に記憶された,基準マーク検出指令に含まれるテンプレート番号を持つ認識データ24から判定閾値を取得し,取得された相関値が取得された判定閾値以上であるか否かを判定する(ステップS34)。
【0223】
取得された相関値が取得された判定閾値以上でなければ(ステップS34のNO),すなわち取得された相関値が取得された判定閾値より小さければ,基準マーク検出部34は,ステップS38の処理に進む。
【0224】
取得された相関値が取得された判定閾値以上であれば(ステップS34のYES),基準マーク検出部34は,検出数をインクリメントする(ステップS35)。
【0225】
検出結果設定部308は,抽出されたi番目の基準マークモデル364の位置をテンプレート画像27の原点としたときの検出位置の座標を,マークセンサモデル363のマークセンサ座標系に変換する(ステップS36)。具体的には,検出結果設定部308は,認識情報記憶部305に記憶された,基準マーク検出指令に含まれるテンプレート番号を持つ認識データ24から,該当テンプレート画像27における基準位置,検出位置を取得する。検出結果設定部308は,取得された該当テンプレート画像27における基準位置,検出位置に基づいて,抽出されたi番目の基準マークモデル364の位置をテンプレート画像27の原点としたときの検出位置の座標を求める。検出結果設定部308は,得られた検出位置の座標を,マークセンサモデル363のマークセンサ座標系に変換する。
【0226】
なお,認識情報記憶部305に記憶された認識データ24の回転サーチ有無(ROTFLG)=1である場合には,検出結果設定部308は,図27に示すように,抽出されたi番目の基準マークモデル364の検出角度を求める。
【0227】
検出結果設定部308は,抽出されたi番目の基準マークモデル364の検出結果を,基準マーク検出結果記憶部309に記憶される検出結果データ211に設定する(ステップS37)。具体的には,検出結果設定部308は,検出結果データ211の検出結果番号に,検出数を設定する。また,検出結果設定部308は,検出結果データ211の検出座標に,マークセンサ座標系に変換された検出位置の座標を設定する。なお,ここで設定される検出座標は,カメラ画像29の座標系を想定したマークセンサ座標系のXc 軸,Yc 軸からなる二次元の位置座標となる。また,検出結果設定部308は,検出結果データ211の検出角度に,マークセンサ座標系と基準マーク座標系との関係から求められた検出角度を設定する。また,検出結果設定部308は,検出結果データ211の相関値に,基準マークモデル364の属性データから得られた相関値を設定する。
【0228】
基準マーク検出部34は,ステップS26で抽出されたすべての基準マークモデル364についての処理が終了したか否かを判定する(ステップS38)。
【0229】
すべての基準マークモデル364についての処理が終了していなければ(ステップS38のNO),基準マーク検出部34は,iをインクリメントし(ステップS39),ステップS29に戻って,次の基準マークモデル364についての処理に進む。
【0230】
すべての基準マークモデル364についての処理が終了していれば(ステップS38のYES),基準マーク検出結果出力部310は,基準マーク検出結果記憶部309に記憶された検出結果データ211を,基準マーク検出結果として,制御装置10の機構制御処理部11に出力する(ステップS40)。
【0231】
以下では,実装置20としてフリップチップボンダを想定し,三次元機構モデル360を用いたシミュレーション装置30によって,フリップチップボンダにおける基板やチップなどの部品上にある基準マーク26の検出をシミュレートする実施例の説明を行う。
【0232】
図31は,本実施の形態によるフリップチップボンダの構成例を示す図である。
【0233】
基板292上にチップ291を搭載するフリップチップボンダ250は,チップ供給部260,反転供給部270,チップ搭載部280を備える。なお,図31では省略されているが,フリップチップボンダ250は制御装置10に接続されており,フリップチップボンダ250は,制御装置10からの制御により,各種動作,処理を行う。
【0234】
チップ供給部260は,チップトレイ261からチップ291を供給する。チップ供給部260では,画像認識によってチップ291の外形を認識して,チップ291の中心位置や姿勢を検出するチップ外形認識が行われる。なお,チップ外形認識の処理は,検出対象が基準マーク26の代わりにチップ291自身の外形となった,基準マーク認識処理であると考えてよい。このとき,例えば,図20(B)に示すようなテンプレート画像27を用いた,チップ291の中心位置を検出する画像認識が行われる。また,チップ供給部260では,プリアライメントと呼ばれる,チップ291の姿勢の調整が行われる。
【0235】
反転供給部270は,チップ供給部260から供給されたチップ291を反転(フリップ)する。チップ291は,チップ供給部260のチップトレイ261上に,裏側が上を向いた状態で置かれている。反転供給部270は,裏側が上を向いた状態となっているチップ291を,表側が上を向いた状態に反転する。
【0236】
チップ搭載部280は,チップ291を基板292に搭載する。チップ搭載部280では,アライメントと呼ばれる,チップ291と基板292との間の位置関係や姿勢の調整が行われる。
【0237】
図32は,本実施の形態のフリップチップボンダにおけるチップ供給部・チップ搭載部の機構の例を示す図である。
【0238】
図32(A)は,チップ供給部260の機構の例を示す。チップ供給部260は,チップトレイ261,吸着ノズル262,チップ供給カメラ263,仮置き台264を備える。なお,図32(A)において,太線の矢印は,チップ供給部260の機構の可動方向を示している。
【0239】
チップ供給部260は,チップトレイ261上の目的とするチップ291に,チップ供給カメラ263を位置決めする。チップ供給部260は,チップ供給カメラ263での撮像により得られたカメラ画像29とテンプレート画像27とを用いた画像認識によりチップ291の外形認識を行う。チップ供給部260では,チップ291の外形認識の結果として,チップ291の中心位置と,傾きの角度が得られる。なお,認識エラーが発生した場合,すなわちチップ291の外形認識に失敗した場合には,チップトレイ261上の該当位置にチップなしと判定され,次のチップ291に,チップ供給カメラ263が位置決めされる。
【0240】
チップ供給部260は,チップ291の外形認識の結果に基づいて,目的とするチップ291の中心位置に吸着ノズル262を位置決めし,吸着ノズル262によりチップ291をピックアップする。チップ供給部260は,チップ291の外形認識の結果に基づいて,吸着ノズル262を回転させてチップ291の傾きを補正するプリアライメントを行い,チップ291を仮置き台264に設置する。
【0241】
図32(B)は,チップ搭載部280の機構の例を示す。チップ搭載部280は,アライメントカメラ281,カメラステージ282,上下2視野光学系部283,ヘッド284,アライメントステージ285を備える。なお,図32(B)において,太線の矢印は,チップ搭載部280の機構の可動方向を示している。
【0242】
チップ搭載部280において,カメラステージ282上のアライメントカメラ281の先に取り付けられた上下2視野光学系部283は,プリズムとミラーとを用いた仕組みによって,上下2視野の光景をアライメントカメラ281に送る。すなわち,アライメントカメラ281は,上下2視野光学系部283によって,ヘッド284に付いたチップ291側の上視野の画像と,アライメントステージ285上に置かれた基板292側の下視野画像とを,1台で撮像できる。
【0243】
チップ搭載部280は,上下2視野光学系部283を介したアライメントカメラ281の撮像により,ヘッド284に付いたチップ291の画像と,アライメントステージ285上に置かれた基盤292のチップ291を搭載する部分の画像とを取得する。チップ搭載部280は,得られたチップ291の画像と,基板292の画像とのそれぞれに対して画像認識による基準マーク26の検出を行う。
【0244】
ここでは,チップ291の画像と基盤292のチップ291を搭載する部分の画像とから,それぞれ2つずつ基準マーク26が検出される。チップ搭載部280は,基準マーク26の検出結果として,チップ291上の2つの基準マーク26の位置と,基板292上の2つの基準マーク26の位置とを取得する。それぞれ得られた2つずつの基準マーク26の位置から,チップ291の中心位置と傾き,基盤292のチップ291を搭載する部分の中心位置と傾きを求めることができる。
【0245】
チップ搭載部280は,アライメントを行う。すなわち,チップ搭載部280は,アライメントステージ285を動作し,チップ291と傾きが同じになるように基板292を回転させる。また,チップ搭載部280は,アライメントステージ285を動作し,チップ291の中心位置と基盤292のチップ291を搭載する部分の中心位置とを合わせるように,基板292を移動する。
【0246】
このようにチップ291の位置や傾きと基板292の位置や傾きとの関係が調整されたところで,チップ搭載部280は,基盤292へのチップ291の搭載を行う。
【0247】
図33は,本実施の形態によるフリップチップボンダの三次元機構モデルへのマークセンサモデルの設置例を示す図である。
【0248】
フリップチップボンダ250を制御するプログラムにおけるアライメントアルゴリズムや搭載データの検証が行われるときには,シミュレーション装置30で用いるフリップチップボンダ250の三次元機構モデル360に対して,マークセンサモデル363が設置される。
【0249】
上述のように,フリップチップボンダ250では,チップ供給部260とチップ搭載部280との2箇所で,画像認識による位置の取得が行われる。
【0250】
図33において,チップ供給カメラモデル361aは,図32(A)に示す実装置20のチップ供給部260におけるチップ供給カメラ263をモデル化したものである。チップ供給カメラモデル361aには,実装置20におけるチップ供給カメラ263の撮像方向に合わせて,マークセンサモデル363aが設置される。マークセンサモデル363aには,Xc1軸,Yc1軸,Zc1軸からなるマークセンサ座標系が設定される。
【0251】
図33において,上下2視野光学系部モデル361bは,図32(A)に示す実装置20のチップ搭載部280における上下2視野光学系部283をモデル化したものである。上述したように,チップ搭載部280では,上下2視野光学系部283を介してアライメントカメラ281で撮像を行うことにより,上下2方向の画像が1台のカメラ21で撮像される。このことは,実質的に,上下2視野光学系部283の部分に,上視野を撮像するカメラ21と下視野を撮像するカメラ21とが別々に配置されていることと同じである。そのため,三次元機構モデル360では,上下2視野光学系部モデル361bに対して,2つのマークセンサモデル363が設置される。
【0252】
上下2視野光学系部モデル361bには,実装置20における上下2視野光学系部283の下視野方向に合わせて,マークセンサモデル363bが設置される。マークセンサモデル363bには,Xc2軸,Yc2軸,Zc2軸からなるマークセンサ座標系が設定される。また,上下2視野光学系部モデル361bには,実装置20における上下2視野光学系部283の上視野方向に合わせて,マークセンサモデル363cが設置される。マークセンサモデル363cには,Xc3軸,Yc3軸,Zc3軸からなるマークセンサ座標系が設定される。
【0253】
図34は,本実施の形態によるフリップチップボンダの三次元機構モデルへの基準マークモデルの設置例を示す図である。
【0254】
図34において,チップモデル362aは,実装置20のフリップチップボンダ250におけるワーク25であるチップ291をモデル化したワークモデル362である。また,基板モデル362bは,実装置20のフリップチップボンダ250におけるワーク25である基板292をモデル化したワークモデル362である。
【0255】
図34に示すように,チップモデル362aには,基準マークモデル364aと,2つの基準マークモデル364cとが設置されている。なお,基準マークモデル364aと基準マークモデル364cは,実ワーク25であるチップ291の裏面に相当する,チップモデル362aの面に設置されている。また,図34に示すように,基板モデル362bには,シミュレーションにおいてチップモデル362を搭載する位置ごとに,2つずつの基準マークモデル364bが設置されている。設置された基準マークモデル364には,基準マーク座標系が設定される。
【0256】
なお,基準マークモデル364aには,図33に示すマークセンサモデル363aに設定されたマークセンサ番号と同じマークセンサ番号が設定されている。また,基準マークモデル364bには,図33に示すマークセンサモデル363bに設定されたマークセンサ番号と同じマークセンサ番号が設定されている。また,基準マークモデル364cには,図33に示すマークセンサモデル363cに設定されたマークセンサ番号と同じマークセンサ番号が設定されている。
【0257】
本実施の形態では,フリップチップボンダ250のチップ供給部260におけるチップ外形認識で,検出対象であるチップ291の角の部分を基準位置とする,図20(B)に示すようなテンプレート画像27を用いた画像認識が行われる。すなわち,図20(B)に示すテンプレート画像27において,検出対象が基準マーク26の代わりにチップ291自身であるものとする。なお,検出位置は,チップ291の中心位置である。
【0258】
基準マークモデル364aは,フリップチップボンダ250のチップ供給部260におけるチップ外形認識の処理をシミュレーション装置30でシミュレートすることを想定して,チップモデル362a上に設置される。図34に示すように,基準マークモデル364aは,チップ291の左上角が写っているテンプレート画像27の原点に相当する位置に設置される。
【0259】
シミュレーション装置30による,実装置20のチップ供給部260におけるチップ外形認識のシミュレートでは,図33に示すマークセンサモデル363aの属性データから設定されるマークセンサ検出領域365からの基準マークモデル364aの抽出が行われる。シミュレーション装置30では,チップ外形認識のシミュレートによって,チップモデル362aの中心位置が検出される。なお,設定されたマークセンサ番号が異なるので,マークセンサモデル363aの属性データから設定されるマークセンサ検出領域365から,基準マークモデル364cは抽出されない。
【0260】
また,その後のプリアライメントのシミュレートのために,マークセンサモデル363aのマークセンサ座標系と基準マークモデル364aの基準マーク座標系との関係から,基準マークモデル364aの検出角度,すなわちチップモデル362aの傾きが検出される。
【0261】
本実施の形態では,フリップチップボンダ250のチップ搭載部280におけるアライメントのための基準マーク26の検出で,図19に示すような十字型の基準マーク26のテンプレート画像27を用いた画像認識が行われる。
【0262】
基準マークモデル364bは,フリップチップボンダ250のチップ搭載部280における基準マーク26の検出処理をシミュレーション装置30でシミュレートすることを想定して,基板モデル362b上に設置される。基準マークモデル364bは,基準マーク26が写っているテンプレート画像27の原点に相当する位置に設置される。
【0263】
また,基準マークモデル364cは,フリップチップボンダ250のチップ搭載部280における基準マーク26の検出処理をシミュレーション装置30でシミュレートすることを想定して,チップモデル362a上に設置される。基準マークモデル364cは,基準マーク26が写っているテンプレート画像27の原点に相当する位置に設置される。
【0264】
シミュレーション装置30による,実装置20のチップ搭載部280における基準マーク26検出のシミュレートでは,図33に示すマークセンサモデル363bの属性データから設定されるマークセンサ検出領域365からの基準マークモデル364bの抽出が行われる。シミュレーション装置30では,基準マーク26検出のシミュレートによって,基板モデル362b上のチップモデル362aを搭載する部分の外側に配置された基準マーク364bの中心位置が検出される。
【0265】
また,シミュレーション装置30による,実装置20のチップ搭載部280における基準マーク26検出のシミュレートでは,図33に示すマークセンサモデル363cの属性データから設定されるマークセンサ検出領域365からの基準マークモデル364cの抽出が行われる。シミュレーション装置30では,基準マーク26検出のシミュレートによって,チップモデル362aの角部分に配置された基準マーク364cの中心位置が検出される。
【0266】
以上説明した本実施の形態のシミュレーション装置30による処理は,コンピュータが備えるCPU,メモリ等のハードウェアとソフトウェアプログラムとにより実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
【0267】
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【0268】
例えば,本実施の形態では,主にフリップチップボンダ等の部品搭載装置における基準マーク26の位置検出を,三次元機構モデルを用いてシミュレートするシミュレーション装置30について説明したが,本発明はこのような本実施の形態に限られるものではない。例えば,テンプレート画像27を用いた画像認識により目的とする対象の位置検出を行う実装置20のシミュレートであれば,本実施の形態で説明したシミュレーション装置30の技術が,十分に適用可能である。
【0269】
また,必ずしもワーク25やワーク25上の基準マーク26が検出対象である必要はない。例えば,検出対象が,実装置20自身の一部であってもよい。
【符号の説明】
【0270】
10 制御装置
11 機構制御処理部
12 モータ制御部
13 アライメント制御部
20 実装置
21 カメラ
22 画像認識部
23 カメラデータ
24 認識データ
25 ワーク
30 シミュレーション装置
31 入出力処理部
32 三次元機構シミュレーション部
33 三次元機構モデル情報記憶部
34 基準マーク検出部
35 表示装置
301 基準マーク検出指令受付部
302 カメラ部品移動処理部
303 マークセンサ検出領域設定部
304 基準マーク抽出部
305 認識情報記憶部
306 テンプレート画像領域判定部
307 相関値判定部
308 検出結果設定部
309 基準マーク検出結果記憶部
310 基準マーク検出結果出力部

【特許請求の範囲】
【請求項1】
画像認識のシミュレーションに用いるイメージセンサモデルと,画像認識のシミュレーションで検出する認識対象モデルとを含む三次元モデルのデータを記憶する三次元モデル情報記憶部と,
シミュレーション空間上に,前記イメージセンサモデルによって決定されるイメージセンサ検出領域を設定する検出領域設定部と,
前記三次元モデル情報記憶部から,前記イメージセンサ検出領域内に存在する認識対象モデルを抽出する認識対象抽出部と,
前記抽出された認識対象モデルの位置に基づいて,シミュレーションが対象とする画像認識の目的である検出位置を求め,得られた検出位置を検出結果に設定する検出結果設定部とを備える
ことを特徴とするシミュレーション装置。
【請求項2】
前記画像認識で用いられるテンプレート画像に関するデータを記憶する認識情報記憶部と,
前記テンプレート画像に関するデータに基づいて,前記抽出された認識対象モデルの位置に応じたテンプレート画像の領域を設定し,設定されたテンプレート画像の領域が前記イメージセンサ検出領域内であるか否かを判定するテンプレート画像領域判定部とをさらに備え,
前記検出結果設定部は,前記設定されたテンプレート画像の領域が前記イメージセンサ検出領域内であると判定された場合に,前記抽出された認識対象モデルの位置に基づいて,シミュレーションが対象とする画像認識の目的である検出位置を求め,得られた検出位置を検出結果に設定する
ことを特徴とする請求項1に記載のシミュレーション装置。
【請求項3】
前記検出結果設定部は,さらに,前記イメージセンサモデルの座標系と前記抽出された認識対象モデルの座標系との関係から,前記抽出された認識対象モデルの検出角度を求め,得られた検出角度を検出結果に設定する
ことを特徴とする請求項1または請求項2に記載のシミュレーション装置。
【請求項4】
前記抽出された認識対象モデルに設定された相関値を取得し,その取得された相関値が所定の閾値以上であるか否かを判定する相関値判定部をさらに備え,
前記検出結果設定部は,前記抽出された認識対象モデルのデータに設定された相関値が所定の閾値以上であると判定された場合に,前記抽出された認識対象モデルの位置に基づいて,シミュレーションが対象とする画像認識の目的である検出位置を求め,得られた検出位置を検出結果に設定する
ことを特徴とする請求項1から請求項3までのいずれかに記載のシミュレーション装置。
【請求項5】
三次元モデルのデータが記憶された記憶装置にアクセス可能なコンピュータによるシミュレーション方法であって,
前記コンピュータが,
前記記憶装置に記憶された三次元モデルに含まれるイメージセンサモデルによって決定されるイメージセンサ検出領域を,シミュレーション空間上に設定する過程と,
前記記憶装置に記憶された前記三次元モデルに含まれる認識対象モデルを,前記イメージセンサ検出領域から抽出する過程と,
前記抽出された認識対象モデルの位置に基づいて,シミュレーションが対象とする画像認識の目的である検出位置を求め,得られた検出位置を検出結果に設定する過程とを実行する
ことを特徴とするシミュレーション方法。
【請求項6】
三次元モデルのデータが記憶された記憶装置にアクセス可能なコンピュータに実行させるためのプログラムであって,
前記コンピュータに,
前記記憶装置に記憶された三次元モデルに含まれるイメージセンサモデルによって決定されるイメージセンサ検出領域を,シミュレーション空間上に設定する手順と,
前記記憶装置に記憶された前記三次元モデルに含まれる認識対象モデルを,前記イメージセンサ検出領域から抽出する手順と,
前記抽出された認識対象モデルの位置に基づいて,シミュレーションが対象とする画像認識の目的である検出位置を求め,得られた検出位置を検出結果に設定する手順とを
実行させるためのシミュレーションプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2011−65399(P2011−65399A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−215226(P2009−215226)
【出願日】平成21年9月17日(2009.9.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】