(57)【特許請求の範囲】
【請求項１】
可動部と、前記可動部の移動に伴って目標物との相対位置が変化し、前記目標物の撮影画像を取得する撮像装置と、を有する制御対象装置を制御する制御装置であって、
前記可動部を目標位置に移動させる駆動指令信号に基づいて、前記可動部を駆動する駆動部と、
前記駆動指令信号に基づいて、前記目標物と前記撮像装置との相対位置の推定値を算出する相対位置推定部と、
前記撮像装置の撮影時間内における前記相対位置の推定値の時系列信号に基づいて、予め登録されたテンプレート画像を補正するテンプレート画像補正部と、
補正後の前記テンプレート画像を用いて前記目標位置を補正する目標位置補正部と、
を備えることを特徴とする制御装置。
【請求項２】
前記テンプレート画像補正部は、前記時系列信号に基づいて前記撮影画像のぶれをシミュレーションして、シミュレーション結果に基づいて前記テンプレート画像を補正することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記テンプレート画像補正部は、前記時系列信号に基づいて前記撮像装置の撮影中の前記相対位置の変化に起因する前記撮影画像のぶれに相当するフィルタを計算し、前記テンプレート画像に前記フィルタを作用させることにより、前記テンプレート画像の補正を行うことを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記テンプレート画像補正部は、前記テンプレート画像に前記フィルタを作用させる演算を空間周波数領域上で行うことで空間周波数領域上の補正後の前記テンプレート画像を算出し、
空間周波数領域上の前記撮影画像と補正後の前記テンプレート画像とに基づく画像処理により、前記相対位置の観測値を出力する画像処理部、
をさらに備え、
前記目標位置補正部は、前記推定値および前記観測値に基づいて、前記目標位置を補正することを特徴とする請求項３に記載の制御装置。
【請求項５】
補正後の前記テンプレート画像を用いて前記撮影画像を画像処理して前記相対位置の観測値を出力する画像処理部、
をさらに備え、
前記目標位置補正部は、前記推定値および前記観測値に基づいて、前記目標位置を補正することを特徴とする請求項１から３のいずれか１項に記載の制御装置。
【請求項６】
前記画像処理部は、テンプレートマッチングを用いて前記観測値を出力することを特徴とする請求項４または５に記載の制御装置。
【請求項７】
前記制御対象装置の機械特性を示す伝達関数に基づき、前記制御対象装置の機械振動を励起する周波数成分のゲインを低下した電流フィードフォワード信号と、前記可動部が追従すべき位置参照信号とを含む駆動指令信号を算出して前記駆動部に入力する駆動指令生成部、
をさらに備え、
前記相対位置推定部は、前記駆動部が前記電流フィードフォワード信号および前記位置参照信号を用いた２自由度制御を行った場合における前記相対位置の推定値を前記伝達関数に基づいて算出することを特徴とする請求項１から６のいずれか１項に記載の制御装置。
【請求項８】
可動部と、前記可動部の移動に伴って目標物との相対位置が変化し、前記目標物の撮影画像を取得する撮像装置と、を有する制御対象装置を制御する制御装置が、
前記可動部を駆動する駆動部に入力される駆動指令信号に基づいて、前記目標物と前記撮像装置との相対位置の推定値を算出するステップと、
前記撮像装置の撮影時間内における前記相対位置の推定値の時系列信号に基づいて、予め登録されたテンプレート画像を補正するステップと、
補正後の前記テンプレート画像を用いて前記可動部の移動の目標位置を補正するステップと、
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクチュエータを用いて駆動される実装ヘッドなどの可動部を移動させる目標位置を、撮像装置を使用して補正する制御装置および制御方法に関する。
【背景技術】
【０００２】
電子部品実装機、半導体製造装置などの工作機械では、サーボモータ、リニアモータなどのアクチュエータを駆動して、実装ヘッドなどの可動部を目標位置に移動させる位置決め制御が行われている。このような工作機械においては、加工対象物のばらつき、変形、または装置自体の熱膨張などに起因して生じる位置誤差を、撮像装置の撮影画像に基づいて補正する技術が知られている。【０００３】
特許文献１には、実装ヘッドおよび撮像装置を備える部品実装装置が開示されている。この部品実装装置は撮像装置が取得する撮影画像の輝度分布から実装ヘッドに保持された部品の輪郭を取得し、取得した部品の輪郭位置に基づいて、部品の実装位置を補正する機能を有する。このとき部品実装装置は、実装ヘッドを一時停止させることなく撮影を行うことで、位置決め完了までに要する時間を短縮している。このとき被写体と撮像装置との相対速度はゼロでない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２８７１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術によれば、被写体と撮像装置との相対速度がゼロでないため、露光している間に被写体と撮像装置との相対位置が変化し、撮影画像にぶれが生じる。このため、撮影画像から取得した部品の輪郭位置が、露光時間中のどの時刻に対応するかが一意に定まらず、位置誤差の補正精度が低下してしまうという問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、位置誤差を精度よく補正することが可能な制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる制御装置は、可動部と、可動部の移動に伴って目標物との相対位置が変化し、目標物の撮影画像を取得する撮像装置と、を有する制御対象装置を制御する制御装置であって、可動部を目標位置に移動させる駆動指令信号に基づいて、可動部を駆動する駆動部と、駆動指令信号に基づいて、目標物と撮像装置との相対位置の推定値を算出する相対位置推定部と、撮像装置の撮影時間内における相対位置の推定値の時系列信号に基づいて、予め登録されたテンプレート画像を補正するテンプレート画像補正部と、補正後のテンプレート画像を用いて目標位置を補正する目標位置補正部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、位置誤差を精度よく補正することが可能な制御装置を提供することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１にかかる制御システムの構成を示す模式図
【図２】図１に示す制御システムの第１の状態を示す図
【図３】図１に示す制御システムの第２の状態を示す図
【図４】図１に示す制御システムの第３の状態を示す図
【図５】図１に示す制御システムの機能構成を示す図
【図６】図５に示す機械モデル演算部の構成例を示すブロック図
【図７】図５に示すテンプレート画像補正部の補正前のテンプレート画像の一例を示す図
【図８】図７に示すテンプレート画像の補正後のテンプレート画像を示す図
【図９】図５に示すテンプレート画像補正部が使用するフィルタの各ピクセル座標のフィルタ係数の一例を示す図
【図１０】図５に示す制御装置の駆動制御処理を示すフローチャート
【図１１】図５に示す制御装置の画像処理を示すフローチャート
【図１２】図５に示す制御装置の機能を実現するための専用のハードウェアを示す図
【図１３】図５に示す制御装置の機能を実現するための制御回路の構成を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかる制御装置および制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１にかかる制御システム１０の構成を示す模式図である。制御システム１０は、制御装置１と、制御装置１の制御対象の機械系である制御対象装置２とを備える。制御対象装置２は、本実施の形態では、電子部品を基板上に実装する電子部品実装機である。制御装置１は、制御対象装置２の各部の動作を制御する。制御対象装置２は、Ｘ軸モータ２００と、Ｙ軸モータ２０１と、撮像装置２０２と、可動部２０３と、吸着ノズル２０４と、プリント基板搬送機構２０５とを有する。
【００１２】
Ｘ軸モータ２００およびＹ軸モータ２０１は、可動部２０３の位置を変化させるアクチュエータである。Ｘ軸モータ２００が可動部２０３を移動させる方向は、Ｙ軸モータ２０１が可動部２０３を移動させる方向と直交している。可動部２０３は、電子部品を実装する実装ヘッドであり、Ｘ軸モータ２００およびＹ軸モータ２０１によって、プリント基板２０６の表面と平行に移動させられる。可動部２０３は、吸着ノズル２０４を用いて、電子部品を保持したり、電子部品をプリント基板２０６上の目標位置２０７に載置したりする。なお、Ｘ軸モータ２００およびＹ軸モータ２０１は、図１ではリニアモータを示しているが、回転型のサーボモータとボールねじを組み合わせるなど、他の直動機構を用いることもできる。
【００１３】
撮像装置２０２は、可動部２０３に固定されており、可動部２０３の移動に伴って移動する。このため、撮像装置２０２と目標物であるプリント基板搬送機構２０５との間の相対位置は、可動部２０３の移動に伴って変化する。
【００１４】
プリント基板搬送機構２０５は、制御装置１の指令に従って、プリント基板２０６を搬送する。目標位置２０７は、可動部２０３が移動の目標とする位置であり、プリント基板２０６上において、電子部品が設けられる位置である。
【００１５】
以下、制御システム１０の基本的な動作について説明する。図２は、図１に示す制御システム１０の第１の状態を示す図である。図３は、図１に示す制御システム１０の第２の状態を示す図である。図４は、図１に示す制御システム１０の第３の状態を示す図である。ここでは、可動部２０３の吸着ノズル２０４で電子部品２０８を吸着して、目標位置２０７に電子部品２０８を配置する動作を説明する。
【００１６】
まず、図２に示す第１の状態において、制御システム１０は、可動部２０３の位置決め制御中である。第１の状態では、目標位置２０７は撮像装置２０２の視野領域Ｖに入っていない。制御装置１は、プリント基板２０６の設計データに基づいて予め設定されたデフォルト目標位置Ｐ０を用いて可動部２０３の位置決め制御を行う。プリント基板２０６が歪んでいたり、制御対象装置２が熱膨張していたりすると、誤差が生じて、本来、電子部品２０８を実装すべき目標位置２０７がデフォルト目標位置Ｐ０とずれてしまうことがある。このまま、可動部２０３をデフォルト目標位置Ｐ０に位置決めした状態で、電子部品２０８をプリント基板２０６上に配置すると、制御装置１は、吸着ノズル２０４の中心軸Ｃがデフォルト目標位置Ｐ０と一致するように可動部２０３を移動させた状態で電子部品２０８をプリント基板２０６上に配置するため、本来配置すべき位置とずれた位置に電子部品２０８を配置してしまうことになる。
【００１７】
そこで、制御システム１０は、撮像装置２０２の撮影画像を使用して、デフォルト目標位置Ｐ０を補正する機能を有する。図３に示す第２の状態のように、撮像装置２０２の視野領域Ｖに目標位置２０７が入ってくると、制御装置１は、撮像装置２０２の撮影画像から可動部２０３と目標位置２０７との間の相対位置を算出し、算出した相対位置に基づいて、目標位置２０７とデフォルト目標位置Ｐ０との誤差を補正しながら位置決め制御を行う。このような制御を行うことにより、最終的に、図４に示す第３の状態のように、吸着ノズル２０４の中心軸Ｃと目標位置２０７の中心位置とが一致し、位置決め制御が完了する。
【００１８】
図５は、図１に示す制御システム１０の機能構成を示す図である。制御システム１０は、制御装置１と、制御対象装置２とから構成されている。制御装置１は、指令生成部１００と、機械モデル演算部１０１と、駆動部であるＸ軸駆動部１０２およびＹ軸駆動部１０３と、撮像指令生成部１０４と、相対位置記憶部１０５と、テンプレート画像補正部１０６と、画像処理部１０７と、目標位置補正部１０８とを有する。制御装置１は、制御対象装置２に搭載された撮像装置２０２が取得する撮影画像に基づいて、Ｘ軸モータ２００およびＹ軸モータ２０１の制御を行う。
【００１９】
指令生成部１００は、現在の目標位置Ｐ（ｔ）に基づき、Ｘ軸指令位置ｒｘ（ｔ）およびＹ軸指令位置ｒｙ（ｔ）を含む位置指令を算出する。時々刻々と変化する目標位置に対して補間を行うことで、位置指令を生成する技術としては、例えば、特開２０１２−２０８９５号公報が開示する方法を使用することができる。指令生成部１００は、生成した位置指令を機械モデル演算部１０１に入力する。
【００２０】
機械モデル演算部１０１は、制御対象装置２の機械特性を示す伝達関数と、指令生成部１００が算出したＸ軸指令位置ｒｘ（ｔ）およびＹ軸指令位置ｒｙ（ｔ）を含む位置指令とに基づいて、後述する方法を用いて、制御対象装置２の振動を抑制するために制御対象装置２の機械振動を励起する周波数成分のゲインを低下したＸ軸およびＹ軸の電流フィードフォワード信号と、可動部２０３が追従すべき位置を示し、可動部２０３を目標位置Ｐ（ｔ）に移動させるための位置参照信号とを含む駆動指令信号を算出する。また、機械モデル演算部１０１は、上記の動作と同時並行で、Ｘ軸駆動部１０２およびＹ軸駆動部１０３が駆動指令信号に基づく制御を行った場合における、撮像装置２０２と目標位置２０７との間の相対位置の推定値を算出する。機械モデル演算部１０１は、算出した駆動指令信号をＸ軸駆動部１０２およびＹ軸駆動部１０３に入力し、相対位置の推定値を相対位置記憶部１０５に入力する。
【００２１】
図６は、図５に示す機械モデル演算部１０１の構成例を示すブロック図である。図６に示す機械モデル演算部１０１は、駆動指令生成部３０１と、相対位置推定部３０２とを有する。また、駆動指令生成部３０１は、指令分配器３０３と、Ｘ軸駆動指令生成部３０４と、Ｙ軸駆動指令生成部３０５とを有する。
【００２２】
時刻ｔにおけるＸ軸モータ２００の電流値をｕｘ（ｔ）とし、時刻ｔにおけるＸ軸モータ２００の位置フィードバック値をｘ１（ｔ）とする。同様に、時刻ｔにおけるＹ軸モータ２０１の電流値をｕｙ（ｔ）とし、時刻ｔにおけるＹ軸モータ２０１の位置フィードバック値をｙ１（ｔ）とする。また、時刻ｔにおける撮像装置２０２と目標位置２０７との間の相対位置のＸ成分をｘ２（ｔ）、Ｙ成分をｙ２（ｔ）とする。
【００２３】
制御対象装置２の機械特性を予め同定しておくことにより、Ｘ軸モータ２００の電流値から位置フィードバック値までの伝達関数の分母多項式Ｄｘ（ｓ）および分子多項式Ｎｘ１（ｓ）と、Ｙ軸モータ２０１の電流値から位置フィードバック値までの伝達関数の分母多項式Ｄｙ（ｓ）および分子多項式Ｎｙ１（ｓ）が予め得られていることとする。これらの関係は、以下の数式（１）で表される。ここで関数ｆ（ｔ）のラプラス変換をＬ［ｆ（ｔ）］と表す。
【００２４】
【数１】
0006771674.tif 000002
【００２５】
同様に、Ｘ軸モータ２００の電流値から撮像装置２０２と目標位置２０７との間の相対位置のＸ成分までの伝達関数の分母多項式Ｄｘ（ｓ）および分子多項式Ｎｘ２（ｓ）、並びに、Ｙ軸モータ２０１の電流値から撮像装置２０２と目標位置２０７との間の相対位置のＹ成分までの伝達関数の分母多項式Ｄｙ（ｓ）および分子多項式Ｎｙ２（ｓ）が予め得られていることとする。これらの関係は以下の数式（２）で表される。なお、数式（２）の伝達関数の分母多項式Ｄｘ（ｓ）およびＤｙ（ｓ）は、数式（１）と共通である。
【００２６】
【数２】
0006771674.tif 000003
【００２７】
数式（１）および数式（２）の伝達関数は、制御対象装置２を動作させる試験を行って、Ｘ軸モータ２００およびＹ軸モータ２０１の電流値と位置フィードバック値、および、撮像装置２０２と目標位置２０７との間の相対位置の実測値の時系列データを取得し、それらの時系列データを信号処理することによって、求めることができる。また、位置フィードバックと相対位置のスケールとを調整することで、伝達関数の分子多項式は、以下に示す数式（３）のように正規化されていることとする。
【００２８】
【数３】
0006771674.tif 000004
【００２９】
指令生成部１００が算出したＸ軸指令位置ｒｘ（ｔ）およびＹ軸指令位置ｒｙ（ｔ）は、駆動指令生成部３０１の指令分配器３０３と、相対位置推定部３０２とに入力される。指令分配器３０３は、指令生成部１００が算出したＸ軸指令位置ｒｘ（ｔ）をＸ軸駆動指令生成部３０４に入力し、指令生成部１００が算出したＹ軸指令位置ｒｙ（ｔ）をＹ軸駆動指令生成部３０５に入力する。
【００３０】
このとき、Ｘ軸駆動指令生成部３０４は、予め設定されたＸ軸の指令フィルタの伝達関数Ｆｘ（ｓ）および数式（１）で表される伝達関数を用いて、Ｘ軸モータ２００の電流フィードフォワード信号ｕｘ*（ｔ）および位置参照信号ｘ１*（ｔ）を以下の数式（４）に示す伝達関数に基づいて算出する。
【００３１】
【数４】
0006771674.tif 000005
【００３２】
同様に、Ｙ軸駆動指令生成部３０５は、予め設定されたＹ軸の指令フィルタの伝達関数Ｆｙ（ｓ）および数式（１）で表される伝達関数を用いて、Ｙ軸モータ２０１の電流フィードフォワード信号ｕｙ*（ｔ）および位置参照信号ｙ１*（ｔ）を以下の数式（５）に示す伝達関数に基づいて算出する。
【００３３】
【数５】
0006771674.tif 000006
【００３４】
また、相対位置推定部３０２は、上述の指令フィルタの伝達関数Ｆｘ（ｓ）、Ｆｙ（ｓ）および数式（２）の伝達関数を用いて、相対位置の推定値のＸ成分およびＹ成分を以下の数式（６）に示す伝達関数に基づいて算出する。なお、以下の説明中において、関数の推定値を関数にハットを付けて示すことがある。また、文章中において、ハット付の関数をｈａｔ（関数）と表すことがある。例えば、関数ｘ２（ｔ）の推定値は、ｈａｔ（ｘ２）（ｔ）と表される。数式（６）において、ｈａｔ（ｘ２）（ｔ）は、相対位置の推定値のＸ成分を表し、ｈａｔ（ｙ２）（ｔ）は、相対位置の推定値のＹ成分を表す。
【００３５】
【数６】
0006771674.tif 000007
【００３６】
数式（４）は、Ｘ軸駆動指令生成部３０４が、Ｘ軸の指令フィルタの伝達関数Ｆｘ（ｓ）とＸ軸の電流値から位置フィードバックまでの伝達関数の分母多項式Ｄｘ（ｓ）とを乗算した伝達関数に基づいて、Ｘ軸モータ２００の電流フィードフォワード信号ｕｘ*（ｔ）を計算し、かつ、Ｘ軸の指令フィルタの伝達関数Ｆｘ（ｓ）とＸ軸の電流値から位置フィードバックまでの伝達関数の分子多項式Ｎｘ１（ｓ）とを乗算した伝達関数に基づいて、Ｘ軸の位置参照信号ｘ１*（ｔ）を計算することを表している。
【００３７】
数式（４）と同様に、数式（５）は、Ｙ軸駆動指令生成部３０５が、Ｙ軸の指令フィルタの伝達関数Ｆｙ（ｓ）とＹ軸の電流値から位置フィードバックまでの伝達関数の分母多項式Ｄｙ（ｓ）とを乗算した伝達関数に基づいて、Ｙ軸モータ２０１の電流フィードフォワード信号ｕｙ*（ｔ）を計算し、かつ、Ｙ軸の指令フィルタの伝達関数Ｆｙ（ｓ）とＹ軸の電流値から位置フィードバックまでの伝達関数の分子多項式Ｎｙ１（ｓ）とを乗算した伝達関数に基づいて、Ｙ軸の位置参照信号ｙ１*（ｔ）を計算することを表している。
【００３８】
また、数式（６）は、相対位置推定部３０２が、Ｘ軸の指令フィルタの伝達関数Ｆｘ（ｓ）とＸ軸の電流値から相対位置までの伝達関数の分子多項式Ｎｘ２（ｓ）とを乗算した伝達関数に基づいて、相対位置の推定値のＸ成分ｈａｔ（ｘ２）（ｔ）を計算することを表している。また数式（６）は、相対位置推定部３０２が、Ｙ軸の指令フィルタの伝達関数Ｆｙ（ｓ）とＹ軸の電流値から相対位置までの伝達関数の分子多項式Ｎｙ２（ｓ）とを乗算した伝達関数に基づいて、相対位置の推定値のＹ成分ｈａｔ（ｙ２）（ｔ）を計算することを表している。
【００３９】
Ｘ軸駆動指令生成部３０４は、Ｘ軸の駆動指令信号であるＸ軸モータ２００の電流フィードフォワード信号ｕｘ*（ｔ）および位置参照信号ｘ１*（ｔ）をＸ軸駆動部１０２に入力する。Ｙ軸駆動指令生成部３０５は、Ｙ軸の駆動指令信号であるＹ軸モータ２０１の電流フィードフォワード信号ｕｙ*（ｔ）および位置参照信号ｙ１*（ｔ）をＹ軸駆動部１０３に入力する。また相対位置推定部３０２は、算出した相対位置の推定値のＸ成分ｈａｔ（ｘ２）（ｔ）および相対位置の推定値のＹ成分ｈａｔ（ｙ２）（ｔ）を相対位置記憶部１０５に入力する。
【００４０】
図５の説明に戻る。Ｘ軸駆動部１０２は、機械モデル演算部１０１が算出したＸ軸の駆動指令信号であるＸ軸モータ２００の電流フィードフォワード信号ｕｘ*（ｔ）および位置参照信号ｘ１*（ｔ）に基づき、フィードフォワード制御およびフィードバック制御を組み合わせた２自由度制御によって、Ｘ軸モータ２００の位置制御を行う。
【００４１】
Ｙ軸駆動部１０３は、機械モデル演算部１０１が算出したＹ軸の駆動指令信号であるＹ軸モータ２０１の電流フィードフォワード信号ｕｙ*（ｔ）および位置参照信号ｙ１*（ｔ）に基づき、フィードフォワード制御およびフィードバック制御を組み合わせた２自由度制御によって、Ｙ軸モータ２０１の位置制御を行う。
【００４２】
上記のように、数式（４）および数式（５）を用いてＸ軸およびＹ軸の電流フィードフォワード信号と位置参照信号とを計算することで、電流フィードフォワード信号および位置参照信号に含まれる機械系の振動を励起する周波数成分のゲインを低下させることができる。このため、電流フィードフォワード信号および位置参照信号を用いた２自由度制御によりＸ軸モータ２００およびＹ軸モータ２０１の制御を行うことで、機械系の振動を抑制することが可能である。
【００４３】
また、数式（６）を用いて撮像装置２０２と目標位置２０７との間の相対位置のＸ成分ｈａｔ（ｘ２）（ｔ）および相対位置の推定値のＹ成分ｈａｔ（ｙ２）（ｔ）を計算することで、２自由度制御を行った場合における撮像装置２０２と目標位置２０７との間の相対位置を、制御対象装置２および撮像装置２０２の振動、変位などを考慮した上で精度よく推定することが可能である。
【００４４】
なお、ここでは機械モデル演算部１０１が駆動指令信号として電流フィードフォワード信号および位置参照信号の組を出力する例について説明したが、他の構成例としては、機械モデル演算部１０１が、駆動指令信号として電流フィードフォワード信号、位置参照信号、および速度参照信号の組を出力するようにしてもよい。また、機械モデル演算部１０１が、フィードフォワード信号として、電流フィードフォワード信号の代わりに、トルクフィードフォワード信号を出力するようにしてもよい。
【００４５】
撮像指令生成部１０４は、予め定められた画像処理周期に基づいて、撮像装置２０２の撮影タイミングを制御する撮像指令を生成する。撮像指令生成部１０４は、生成した撮像指令を、撮像装置２０２および相対位置記憶部１０５に入力する。
【００４６】
相対位置記憶部１０５には、機械モデル演算部１０１が算出した相対位置の推定値のＸ成分ｈａｔ（ｘ２）（ｔ）および相対位置の推定値のＹ成分ｈａｔ（ｙ２）（ｔ）と、撮像指令生成部１０４が生成した撮像指令とが入力される。相対位置記憶部１０５は、撮像装置２０２の露光開始時刻から露光終了時刻までの相対位置の推定値のＸ成分ｈａｔ（ｘ２）（ｔ）および相対位置の推定値のＹ成分ｈａｔ（ｙ２）（ｔ）の時系列信号を相対位置記憶として記憶する。
【００４７】
テンプレート画像補正部１０６は、相対位置記憶部１０５に記憶される相対位置記憶に基づいて、画像処理部１０７が使用するテンプレート画像の補正を行うとともに、画像処理部１０７が相対位置の観測値を算出するために使用するテンプレート画像中の基準位置を算出する。ここで、テンプレート画像とは、テンプレートマッチング法などの画像処理手法で使用するパターン画像のことである。本実施形態においては、テンプレート画像は、可動部２０３が静止した状態でプリント基板２０６を予め撮影して得た、目標位置２０７を含む画像のことをいう。テンプレート画像補正部１０６は、相対位置記憶に基づいて、撮影画像のぶれをシミュレーションして、シミュレーション結果に基づいてテンプレート画像を補正する。
【００４８】
画像処理部１０７は、テンプレートマッチング法などの画像処理手法を用いて、位置決め中に撮像装置２０２が撮影した撮影画像から予め登録されたテンプレート画像と一致する領域を探索することで、撮像装置２０２と目標位置２０７との相対位置の観測値を算出する。このとき、位置決め中に撮影画像を取得することによって、撮影中の撮像装置２０２と目標位置２０７との相対位置が変化して被写体ぶれが生じる。このため、静止状態で撮影したテンプレート画像と実際の撮影画像とは厳密にはマッチングしない。このため、静止状態で撮影したテンプレート画像をそのまま使用した画像処理では、相対位置の観測値の計算に誤差が生じる。
【００４９】
これに対して、本実施の形態では、画像処理部１０７が画像処理を行う前段階において、テンプレート画像補正部１０６が、相対位置記憶部１０５が記憶する相対位置記憶に基づいて、被写体ぶれを予測してテンプレート画像を補正することにより、被写体ぶれに起因する相対位置の観測値の誤差を抑制することができる。テンプレート画像補正部１０６は、テンプレート画像が被写体ぶれを含むように補正する。
【００５０】
テンプレート画像補正部１０６の具体的な動作の一例を以下に示す。まず、テンプレート画像補正部１０６は、相対位置記憶部１０５に記憶された相対位置記憶に基づいて、撮像装置２０２の撮影中に撮像装置２０２と目標位置２０７との間の相対位置が変化することにより生じる被写体ぶれに相当するフィルタＭを算出する。
【００５１】
フィルタＭのピクセル座標（Ｘ，Ｙ）のフィルタ係数の計算式の一例は、以下の数式（７）で表される。数式（７）において、撮像装置２０２の露光開始時刻Ｔ１、露光終了時刻Ｔ２、撮像装置２０２の露光時間Ｔｅ、Ｘ軸方向の１ピクセルあたりの長さΔＸ、Ｙ軸方向の１ピクセルあたりの長さΔＹとする。また、δ（・）は、ディラックのデルタ関数を表す。
【００５２】
【数７】
0006771674.tif 000008
【００５３】
数式（７）は、露光開始時刻Ｔ１の相対位置の推定値と時刻ｔの相対位置の推定値との差をピクセル単位に変換し、ピクセル単位の距離でオフセットさせたデルタ関数を時刻［Ｔ１，Ｔ２］で積分したのちに、周囲の±１／２ピクセルの範囲で平均をとったものとなっている。
【００５４】
なお、数式（７）において、ピクセル座標（Ｘ，Ｙ）は負の値を取り得るため、数式（７）を計算機で実現する際には、論理的なピクセル座標（Ｘ，Ｙ）に適当なオフセット値を加えることで、実装上のピクセル座標が負の値にならないようにする。
【００５５】
次に、テンプレート画像補正部１０６は、予め登録されたテンプレート画像Ｋと上述のフィルタＭとの数式（８）に基づく畳み込み和を計算することで、被写体ぶれを考慮した補正後のテンプレート画像Ｋ’を算出する。テンプレート画像補正部１０６は、補正後のテンプレート画像Ｋ’を画像処理部１０７に入力する。
【００５６】
【数８】
0006771674.tif 000009
【００５７】
図７は、図５に示すテンプレート画像補正部１０６の補正前のテンプレート画像Ｋの一例を示す図である。テンプレート画像Ｋは、静止状態で撮影された画像である。図８は、図７に示すテンプレート画像Ｋの補正後のテンプレート画像Ｋ’を示す図である。テンプレート画像Ｋ’は、図７に示すテンプレート画像ＫとフィルタＭとの畳み込み和を計算することで得た、被写体ぶれを考慮した画像である。
【００５８】
図９は、図５に示すテンプレート画像補正部１０６が使用するフィルタＭの各ピクセル座標のフィルタ係数の一例を示す図である。フィルタＭの各ピクセルのフィルタ係数は、時刻［Ｔ１，Ｔ２］の相対位置の推定値に基づいて数式（７）を数値計算することで得ることができる。図９において、フィルタ係数がゼロのピクセルは黒く描画されており、フィルタ係数が非ゼロのピクセルはフィルタ係数の大きさに応じて明るく、つまり白く描画されている。また、図８に示す補正後のテンプレート画像Ｋ’は、図７に示すテンプレート画像Ｋと図９に示すフィルタＭとの畳み込み和を計算することで得られる。
【００５９】
画像処理部１０７には、撮像装置２０２が撮影した撮影画像とテンプレート画像補正部１０６が出力した補正後のテンプレート画像Ｋ’とが入力される。画像処理部１０７は、テンプレートマッチング法などの画像処理手法を用いて、撮影画像中の補正後のテンプレート画像Ｋ’と一致する領域を探索する。このとき、数式（８）において、露光開始時刻Ｔ１の相対位置の推定値を基準にフィルタ係数を設計しているため、撮影画像中の補正後のテンプレート画像Ｋ’の論理的な原点に相当するピクセル座標を計算することで、露光開始時刻Ｔ１における被写体位置を算出することができる。
【００６０】
ここで、画像処理手法の一例として、最も基本的なテンプレートマッチングのアルゴリズムを使用した場合について説明する。その場合、補正後のテンプレート画像Ｋ’で撮影画像を走査し、撮影画像上の各領域における補正後のテンプレート画像Ｋ’との類似度を算出し、類似度が最大、または、予め設定した閾値以上となる領域を特定する。次に、特定した領域内の補正後のテンプレート画像Ｋ’の論理的な原点に相当するピクセル座標に基づき、撮像装置２０２と目標位置２０７との間の相対位置の観測値を算出する。
【００６１】
なお、上記の説明では、テンプレート画像補正部１０６がテンプレート画像ＫとフィルタＭとの畳み込み和の計算を空間領域で行う場合について説明したが、画像処理部１０７が位相限定相関法などの離散フーリエ変換を使用する画像処理方法で位置推定を行う場合には、テンプレート画像補正部１０６がテンプレート画像ＫとフィルタＭの離散フーリエ変換を計算し、さらに空間周波数領域上で両者の乗算を行うことで、補正後のテンプレート画像Ｋ’の離散フーリエ変換を計算してもよい。また、テンプレート画像補正部１０６がオンラインでテンプレート画像Ｋの離散フーリエ変換を計算するのではなく、テンプレート画像Ｋの離散フーリエ変換を予めオフラインで計算した結果をテンプレート画像補正部１０６が記憶しておいてもよい。このような構成を用いることにより、空間領域上で計算した補正のテンプレート画像Ｋ’に対して離散フーリエ変換を行う場合と比べて、計算量を削減することが可能になる。画像処理部１０７は、撮像装置２０２と目標位置２０７との間の相対位置の観測値を目標位置補正部１０８に入力する。
【００６２】
目標位置補正部１０８には、相対位置記憶部１０５に記憶される相対位置記憶と、撮像装置２０２と目標位置２０７との間の相対位置の観測値とが入力される。目標位置補正部１０８は、目標位置の補正量を示す目標位置補正信号を生成し、生成した目標位置補正信号を指令生成部１００に入力する。
【００６３】
例えば、数式（７）に示されるフィルタ係数の計算式を用いた場合、露光開始時刻Ｔ１における相対位置の推定値を基準にフィルタの座標系を設定しているため、露光開始時刻Ｔ１における相対位置の推定値と画像処理で得た相対位置の観測値との誤差に基づき、指令生成部１００に対する目標位置の補正量を計算すればよい。したがって、フィルタＭのフィルタ係数の計算式を、以下に示す数式（９）のように変更し、露光終了時刻Ｔ２における相対位置の推定値と画像処理で得た相対位置の観測値との誤差に基づき、指令生成部１００に対する目標位置の補正量を計算してもよい。
【００６４】
【数９】
0006771674.tif 000010
【００６５】
また、Ｘ軸駆動部１０２およびＹ軸駆動部１０３の追従遅れの無駄時間が予め同定できている場合、フィルタ係数の計算において、露光開始時刻Ｔ１から露光終了時刻Ｔ２までの相対位置の推定値を用いるのではなく、無駄時間分の補正を加えた時刻の相対位置の推定値を使用してもよい。この場合、相対位置記憶部１０５は、露光開始時刻Ｔ１と露光終了時刻Ｔ２のそれぞれに無駄時間分の補正を加えた時間範囲の相対位置の推定値のＸ成分ｈａｔ（ｘ２）（ｔ）および相対位置の推定値のＹ成分ｈａｔ（ｙ２）（ｔ）の時系列信号を相対位置記憶として記憶すればよい。
【００６６】
図１０は、図５に示す制御装置１の駆動制御処理を示すフローチャートである。図１１は、図５に示す制御装置１の画像処理を示すフローチャートである。一般的に、撮像装置２０２の露光時間、画像データの転送速度、画像処理の演算量などの制約があるため、画像処理の演算周期は駆動制御処理の演算周期よりも長くせざるを得ない。このため、制御装置１は、駆動制御処理のタスクと画像処理のタスクとを分離して、それぞれのタスクを異なる演算周期で実行する。また、制御装置１が複数のＣＰＵ（Central  Processing  Unit）を備える場合、それぞれのタスクを別々のＣＰＵに割り当ててもよい。
【００６７】
まず、駆動制御処理について説明する。図１０に示すように、制御装置１の指令生成部１００は、目標位置の現在値に基づき、位置指令を計算する（ステップＳ１０１）。指令生成部１００は、計算した位置指令を機械モデル演算部１０１に入力する。
【００６８】
機械モデル演算部１０１は、位置指令に基づき、可動部２０３を目標位置に移動させる駆動指令信号を計算する（ステップＳ１０２）。機械モデル演算部１０１は、計算した駆動指令信号をＸ軸駆動部１０２およびＹ軸駆動部１０３に入力する。また機械モデル演算部１０１は、位置指令に基づき、撮像装置２０２と目標位置との間の相対位置の推定値を計算する（ステップＳ１０３）。機械モデル演算部１０１は、計算した相対位置の推定値を相対位置記憶部１０５に入力する。
【００６９】
相対位置記憶部１０５は、機械モデル演算部１０１から入力された相対位置の推定値を記憶する（ステップＳ１０４）。Ｘ軸駆動部１０２およびＹ軸駆動部１０３を含む駆動部は、駆動指令信号に基づき、Ｘ軸モータ２００およびＹ軸モータ２０１を含むモータの制御処理を実行する（ステップＳ１０５）。
【００７０】
続いて、画像処理について説明する。図１１に示すように、制御装置１の撮像指令生成部１０４は、撮像装置２０２に対して撮像指令を出力する（ステップＳ２０１）。テンプレート画像補正部１０６は、相対位置記憶に基づき、ぶれ画像のフィルタを計算する（ステップＳ２０２）。テンプレート画像補正部１０６は、ぶれ画像のフィルタに基づき、補正後のテンプレート画像を計算する（ステップＳ２０３）。テンプレート画像補正部１０６は、補正後のテンプレート画像を画像処理部１０７に入力する。
【００７１】
画像処理部１０７は、撮像装置２０２の撮影画像を取得する（ステップＳ２０４）。画像処理部１０７は、画像処理により撮像装置２０２と目標位置との間の相対位置の観測値を計算する（ステップＳ２０５）。画像処理部１０７は、計算した相対位置の観測値を目標位置補正部１０８に入力する。目標位置補正部１０８は、相対位置記憶が示す相対位置の推定値と、相対位置の観測値とに基づき目標位置の補正量を示す目標位置補正信号を算出する（ステップＳ２０６）。
【００７２】
続いて、本実施の形態のハードウェア構成について説明する。指令生成部１００、機械モデル演算部１０１、Ｘ軸駆動部１０２、Ｙ軸駆動部１０３、撮像指令生成部１０４、相対位置記憶部１０５、テンプレート画像補正部１０６、画像処理部１０７、および目標位置補正部１０８は、処理回路により実現される。これらの処理回路は、専用のハードウェアにより実現されてもよいし、ＣＰＵを用いた制御回路であってもよい。
【００７３】
上記の処理回路が、専用のハードウェアにより実現される場合、これらは、図１２に示す処理回路９０により実現される。図１２は、図５に示す制御装置１の機能を実現するための専用のハードウェアを示す図である。処理回路９０は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらを組み合わせたものである。
【００７４】
上記の処理回路が、ＣＰＵを用いた制御回路で実現される場合、この制御回路は例えば図１３に示す構成の制御回路９１である。図１３は、図５に示す制御装置１の機能を実現するための制御回路９１の構成を示す図である。図１３に示すように、制御回路９１は、プロセッサ９２と、メモリ９３とを備える。プロセッサ９２は、ＣＰＵであり、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）などとも呼ばれる。メモリ９３は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（登録商標）（Electrically  ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital  Versatile  Disk）などである。
【００７５】
上記の処理回路が制御回路９１により実現される場合、プロセッサ９２がメモリ９３に記憶された、各構成要素の処理に対応するプログラムを読み出して実行することにより実現される。また、メモリ９３は、プロセッサ９２が実行する各処理における一時メモリとしても使用される。
【００７６】
以上説明したように、本実施の形態にかかる制御装置１によれば、撮像装置２０２と目標位置２０７との間の相対位置の推定値に基づいて、被写体ぶれを予測してテンプレート画像Ｋを補正しながら画像処理による位置推定を行う。このため、位置決め制御における被写体ぶれに起因する位置誤差を精度よく補正することが可能になり、位置決め制御の精度を向上することが可能になる。この手法は、被写体の形状が複雑な場合や、被写体ぶれによって被写体形状が大きく歪むような場合にも適用可能であり、汎用性が高い。
【００７７】
また、一般的に制御対象装置２のような機械系は、有限の機械剛性を有するため、位置決め指令の加速度または減速度を増加させると、機械系に振動が生じて位置決め時間が増加してしまう場合があるという問題がある。
【００７８】
このような問題に対して、本実施の形態にかかる制御装置１では、数式（４）および数式（５）に示したような電流フィードフォワード信号と位置参照信号とを用いて、Ｘ軸駆動部１０２およびＹ軸駆動部１０３の制御を行うことにより、位置決め完了後の機械振動を抑制し、位置決め時間を短縮することができる。
【００７９】
また、位置決め中に機械系の機械剛性に起因して撮像装置２０２と目標位置２０７との間に変位、振動などが生じるため、機械系の機械特性を考慮しない場合には、画像処理による位置推定に誤差が生じてしまうという問題がある。
【００８０】
このような問題に対して、本実施の形態の制御装置１では、数式（６）に示すように、機械特性を考慮した撮像装置２０２と目標位置２０７との間の相対位置の推定値に基づき、目標位置の補正量を計算する。このため、機械系の振動および変位による撮像装置２０２の位置ずれに起因する画像処理の位置推定精度の低下を抑制し、高速且つ高精度な位置決めを行うことができる。
【００８１】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【００８２】
例えば、上記の実施の形態では、制御装置１を位置決め制御に適用する例について説明したが、本実施の形態はかかる例に限定されない。制御装置１が被写体ぶれの予測に基づいて画像処理に使用するテンプレート画像を補正する手法は、軌跡制御装置、ロール・ツー・ロール方式の機械系など、位置決め制御以外のモーション制御装置に適用することもできる。
【００８３】
また、上記の実施の形態では、制御対象装置２の機械特性を表す伝達関数を用いて、駆動指令信号および相対位置の推定値を計算する例について説明したが、本実施の形態はかかる例に限定されない。制御対象装置２の機械剛性が十分に高い場合、機械特性を同定することが困難である場合は、制御対象装置２の詳細な機械特性を用いずに、駆動指令信号および相対位置の推定値を計算することも可能である。この場合、例えば、制御対象装置２が剛体であると仮定、すなわち、制御対象装置２のＸ軸およびＹ軸の伝達関数が以下の数式（１０）で表せると仮定し、駆動指令生成部３０１および相対位置推定部３０２を構成すればよい。ここで、ＪｘはＸ軸の剛体イナーシャであり、ＪｙはＹ軸の剛体イナーシャである。
【００８４】
【数１０】
0006771674.tif 000011
【００８５】
また、上記の実施の形態では、撮像装置２０２が実装ヘッドである可動部２０３に設置されている例について説明したが、本実施の形態の技術は、可動部２０３が目標物を移動させるテーブルであって、目標物の移動に伴って、撮像装置２０２と目標物との相対位置が変化するように構成されている機械に対して適用することも可能である。
【００８６】
また、上記の実施の形態では、機械モデル演算部１０１において、予め同定した機械特性と指令生成部１００が出力した指令位置の情報のみから撮像装置２０２と目標位置２０７との相対位置の推定を行ったが、制御対象装置２に加速度センサなどの付加的なセンサが備えられている場合には、それらの検出値を用いたオブザーバによって、撮像装置２０２と目標位置２０７との相対位置の推定を行うことも可能である。
【００８７】
また、上記の実施の形態では、制御装置１の構成および制御方法について説明したが、本実施の形態に開示された技術は、制御装置１の制御方法を実現するためのコンピュータプログラムとして実施してもよいし、コンピュータプログラムを記憶する記憶媒体として実施してもよい。
【符号の説明】
【００８８】
１  制御装置、２  制御対象装置、１０  制御システム、９０  処理回路、９１  制御回路、９２  プロセッサ、９３  メモリ、１００  指令生成部、１０１  機械モデル演算部、１０２  Ｘ軸駆動部、１０３  Ｙ軸駆動部、１０４  撮像指令生成部、１０５  相対位置記憶部、１０６  テンプレート画像補正部、１０７  画像処理部、１０８  目標位置補正部、２００  Ｘ軸モータ、２０１  Ｙ軸モータ、２０２  撮像装置、２０３  可動部、２０４  吸着ノズル、２０５  プリント基板搬送機構、２０６  プリント基板、２０７  目標位置、２０８  電子部品、３０１  駆動指令生成部、３０２  相対位置推定部、３０３  指令分配器、３０４  Ｘ軸駆動指令生成部、３０５  Ｙ軸駆動指令生成部、Ｃ  中心軸、Ｐ０  デフォルト目標位置、Ｖ  視野領域。
【要約】
可動部と、可動部の移動に伴って目標物との相対位置が変化し、目標物の撮影画像を取得する撮像装置（２０２）と、を有する制御対象装置（２）を制御する制御装置（１）は、可動部を目標位置に移動させる駆動指令信号に基づいて、可動部を駆動する駆動部（１０２，１０３）と、駆動指令信号に基づいて、目標物と撮像装置（２０２）との相対位置の推定値を算出する相対位置推定部と、撮像装置（２０２）の撮影時間内における相対位置の推定値の時系列信号に基づいて、予め登録されたテンプレート画像を補正するテンプレート画像補正部（１０６）と、補正後のテンプレート画像を用いて目標位置を補正する目標位置補正部（１０８）と、を備えることを特徴とする。【図１】
0006771674.tif 000012
【図２】
0006771674.tif 000013
【図３】
0006771674.tif 000014
【図４】
0006771674.tif 000015
【図５】
0006771674.tif 000016
【図６】
0006771674.tif 000017
【図７】
0006771674.tif 000018
【図８】
0006771674.tif 000019
【図９】
0006771674.tif 000020
【図１０】
0006771674.tif 000021
【図１１】
0006771674.tif 000022
【図１２】
0006771674.tif 000023
【図１３】
0006771674.tif 000024