(57)【要約】      （修正有）【課題】対象物を高速に位置決めできる制御システムを提供する。【解決手段】制御システムは、推定部と、決定部とを備える。推定部は、移動機構からの第１情報に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の対象物の移動量を推定する。決定部は、第１撮像タイミングで撮像された画像５０から特定された特徴部分の位置ＰＳと移動量Δｐとに基づいて、第２撮像タイミングにおける特徴部分の位置ＰＥを予測し、予測した位置を含む探索範囲ＳＲを決定する。画像処理装置は、第２撮像タイミングで撮像された画像のうち探索範囲の中から特徴部分を探索して、特徴部分の位置を特定する。【選択図】図２
2019215633.tif 000002
【特許請求の範囲】
【請求項１】
対象物を移動させる移動機構を制御して、前記対象物の位置決めを行なう制御システムであって、
前記対象物を撮像する撮像部によって撮像タイミングごとに得られる画像の中から、前記対象物の特徴部分を探索し、前記特徴部分の位置を特定するための画像処理装置と、
前記画像処理装置によって特定された前記特徴部分の位置に基づいて、前記対象物の位置が目標位置に近づくように前記移動機構を制御するための移動制御部と、
前記移動機構からの第１情報および前記移動制御部によって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の前記対象物の移動量を推定するための推定部と、
前記第１撮像タイミングで撮像された画像から前記画像処理装置によって特定された前記特徴部分の第１位置と前記移動量とに基づいて、前記第２撮像タイミングにおける前記特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するための決定部とを備え、
前記画像処理装置は、前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索して、前記特徴部分の第２位置を特定する、制御システム。
【請求項２】
前記移動機構は、前記対象物を移動させるために駆動されるモータを含み、
前記推定部は、前記第１撮像タイミングから前記第２撮像タイミングまでの間の前記モータの駆動量を示す前記第１情報に基づいて、前記移動量を推定する、請求項１に記載の制御システム。
【請求項３】
前記移動機構は、前記対象物を移動させるために駆動されるモータを含み、
前記移動制御部は、制御周期ごとに前記移動機構に対する移動指令を生成し、
前記推定部は、前記第１撮像タイミングから前記第１撮像タイミングと前記第２撮像タイミングとの間の中間タイミングまでの間の前記モータの駆動量を示す前記第１情報と、前記中間タイミングから前記第２撮像タイミングまでの間に前記移動制御部によって生成された移動指令を示す前記第２情報とに基づいて、前記移動量を推定する、請求項１に記載の制御システム。
【請求項４】
前記移動制御部は、前記目標位置に対する前記対象物の位置の偏差に基づいて前記移動機構の目標軌道を決定し、決定した前記目標軌道に従って移動するように前記移動機構を制御し、
前記推定部は、前記目標軌道を示す前記第２情報に基づいて、前記移動量を推定する、請求項１に記載の制御システム。
【請求項５】
画像取得範囲が前記探索範囲となるように前記撮像部に指示するための指示部をさらに備える、請求項３または４に記載の制御システム。
【請求項６】
前記決定部は、前記移動量が大きいほど前記探索範囲のサイズを大きくする、請求項１から５のいずれか１項に記載の制御システム。
【請求項７】
対象物を移動させる移動機構と、前記対象物を撮像する撮像部によって撮像タイミングごとに得られた画像の中から、前記対象物の特徴部分を探索し、前記特徴部分の位置を特定するための画像処理装置とを制御して、前記対象物の位置決めを行なう制御装置であって、
前記画像処理装置によって特定された前記特徴部分の位置に基づいて、前記対象物の位置が目標位置に近づくように前記移動機構を制御するための移動制御部と、
前記移動機構からの第１情報および前記移動制御部によって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の前記対象物の移動量を推定するための推定部と、
前記第１撮像タイミングで撮像された画像から前記画像処理装置によって特定された前記特徴部分の位置と前記移動量とに基づいて、前記第２撮像タイミングにおける前記特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するための決定部と、
前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索するように前記画像処理装置に指示するための指示部とを備える、制御装置。
【請求項８】
対象物を撮像することにより得られた画像に基づいて前記対象物の特徴部分の位置を特定する画像処理装置であって、
探索範囲の指定を受け付けるための受付部と、
前記画像のうちの前記探索範囲の中から前記特徴部分を探索し、前記特徴部分の位置を特定するための位置特定部とを備える、画像処理装置。
【請求項９】
対象物を移動させる移動機構を制御して、前記対象物の位置決めを行なう制御システムをサポートするためのプログラムであって、
前記制御システムは、撮像タイミングごとに前記対象物を撮像することにより得られた画像の中から前記対象物の特徴部分を探索し、前記特徴部分の位置を特定するための画像処理装置を備え、
コンピュータに、
前記画像処理装置によって特定された前記特徴部分の位置に基づいて、前記対象物の位置が目標位置に近づくように前記移動機構を制御するステップと、
前記移動機構からの第１情報および前記制御するステップによって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の前記対象物の移動量を推定するステップと、
前記第１撮像タイミングで撮像された画像から前記画像処理装置によって特定された前記特徴部分の位置と前記移動量とに基づいて、前記第２撮像タイミングにおける前記特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するステップと、
前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索するように前記画像処理装置に指示するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、対象物を位置決めするための制御システム、制御装置、画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
ＦＡ（ファクトリーオートメーション）において、対象物の位置を目標位置に合わせる技術（位置決め技術）が各種実用化されている。この際、目標位置に対する対象物の位置の偏差を計測する方法として、対象物を撮像することにより得られた画像を用いる方法がある。
【０００３】
特開２０１４−２０３３６５号公報（特許文献１）には、対象物の位置を変更する移動機構の移動中に対象物を撮像して画像データを取得し、画像データに含まれる特徴部分の位置に基づいて、対象物を目標位置に位置決めする制御システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２０３３６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術では、対象物を撮像して得られた画像の全域を探索範囲として特徴部分が探索され、特徴部分の位置が特定される。そのため、特徴部分の位置の特定に要する時間が長くなり、位置決めの速度が低下する。
【０００６】
本発明は、上記の問題を鑑みてなされたものであり、その目的は、対象物を高速に位置決めできる制御システム、制御装置、画像処理装置およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本開示の一例によれば、対象物を移動させる移動機構を制御して、対象物の位置決めを行なう制御システムは、画像処理装置と、移動制御部と、推定部と、決定部とを備える。画像処理装置は、対象物を撮像する撮像部によって撮像タイミングごとに得られる画像の中から、対象物の特徴部分を探索し、特徴部分の位置を特定する。移動制御部は、画像処理装置によって特定された特徴部分の位置に基づいて、対象物の位置が目標位置に近づくように移動機構を制御する。推定部は、移動機構からの第１情報および移動制御部によって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の対象物の移動量を推定する。決定部は、第１撮像タイミングで撮像された画像から画像処理装置によって特定された特徴部分の第１位置と移動量とに基づいて、第２撮像タイミングにおける特徴部分の位置を予測し、予測した位置を含む探索範囲を決定する。画像処理装置は、第２撮像タイミングで撮像された画像のうち探索範囲の中から特徴部分を探索して、特徴部分の第２位置を特定する。
【０００８】
この開示によれば、画像処理装置は、画像の全域から特徴部分を探索する場合に比べて、特徴部分の位置を高速に特定することができる。その結果、制御システムは、対象物を高速に位置決めできる。
【０００９】
本開示の一例によれば、移動機構は、対象物を移動させるために駆動されるモータを含む。推定部は、第１撮像タイミングから第２撮像タイミングまでの間のモータの駆動量を示す第１情報に基づいて、移動量を推定する。
【００１０】
この開示によれば、第１撮像タイミングから第２撮像タイミングまでの間のモータの駆動量を示す第１情報は、第１撮像タイミングから第２撮像タイミングまでの間における移動機構の移動量を直接的に示す。そのため、推定部は、対象物の移動量を精度良く推定することができる。
【００１１】
本開示の一例によれば、移動機構は、対象物を移動させるために駆動されるモータを含む。移動制御部は、制御周期ごとに移動機構に対する移動指令を生成する。推定部は、第１撮像タイミングから第１撮像タイミングと第２撮像タイミングとの間の中間タイミングまでの間のモータの駆動量を示す第１情報と、中間タイミングから第２撮像タイミングまでの間にフィードバック制御部によって生成された移動指令を示す第２情報とに基づいて、移動量を推定する。
【００１２】
この開示によれば、第２撮像タイミングと重なる制御周期の開始時刻において、推定部は、第１撮像タイミングから第２撮像タイミングまでの間における移動機構の移動量を推定することができる。そのため、決定部は、第２撮像タイミングの前に、探索範囲を決定できる。その結果、画像処理装置は、撮像部による撮像終了後に、探索範囲から特徴部分を探索する処理を即座に開始することができる。
【００１３】
本開示の一例によれば、移動制御部は、目標位置に対する対象物の位置の偏差に基づいて移動機構の目標軌道を決定し、決定した目標軌道に従って移動するように移動機構を制御する。推定部は、目標軌道を示す第２情報に基づいて、移動量を推定する。
【００１４】
この開示によっても、決定部は、第２撮像タイミングの前に、探索範囲を決定できる。そのため、画像処理装置は、撮像部による撮像終了後に、探索範囲から特徴部分を探索する処理を即座に開始することができる。
【００１５】
本開示の一例によれば、制御システムは、画像取得範囲が探索範囲となるように撮像部に指示するための指示部をさらに備える。
【００１６】
この開示によれば、特徴部分が含まれる可能性のほとんどない範囲を撮像する必要がなくなり、撮像部における撮像処理に要する時間を短縮できる。
【００１７】
本開示の一例によれば、決定部は、移動量が大きいほど探索範囲のサイズを大きくする。
【００１８】
移動量が大きい場合、決定部によって予測される位置の誤差が大きくなる。この開示によれば、移動量が大きいほど探索範囲のサイズを大きくすることにより、特徴部分が探索範囲から外れることを抑制できる。
【００１９】
本開示の一例によれば、制御装置は、対象物を移動させる移動機構と、対象物を撮像する撮像部によって撮像タイミングごとに得られた画像の中から、対象物の特徴部分を探索し、特徴部分の位置を特定するための画像処理装置とを制御して、対象物の位置決めを行なう。制御装置は、移動制御部と、推定部と、決定部と、指示部とを備える。移動制御部は、画像処理装置によって特定された特徴部分の位置に基づいて、対象物の位置が目標位置に近づくように移動機構を制御する。推定部は、移動機構からの第１情報および移動制御部によって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の対象物の移動量を推定する。決定部は、第１撮像タイミングで撮像された画像から画像処理装置によって特定された特徴部分の位置と移動量とに基づいて、第２撮像タイミングにおける特徴部分の位置を予測し、予測した位置を含む探索範囲を決定する。指示部は、第２撮像タイミングで撮像された画像のうち探索範囲の中から特徴部分を探索するように画像処理装置に指示する。
【００２０】
本開示の一例によれば、対象物を撮像することにより得られた画像に基づいて対象物の特徴部分の位置を特定する画像処理装置は、受付部と、位置特定部とを備える。受付部は、探索範囲の指定を受け付ける。位置特定部は、画像のうちの探索範囲の中から特徴部分を探索し、特徴部分の位置を特定する。
【００２１】
本開示の一例によれば、対象物を移動させる移動機構を制御して、対象物の位置決めを行なう制御システムをサポートするためのプログラムは、コンピュータに、第１〜第４のステップを実行させる。制御システムは、撮像タイミングごとに対象物を撮像することにより得られた画像の中から対象物の特徴部分を探索し、特徴部分の位置を特定するための画像処理装置を備える。第１のステップは、画像処理装置によって特定された特徴部分の位置に基づいて、対象物の位置が目標位置に近づくように移動機構を制御するステップである。第２のステップは、移動機構からの第１情報および第１のステップによって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の対象物の移動量を推定するステップである。第３のステップは、第１撮像タイミングで撮像された画像から画像処理装置によって特定された特徴部分の位置と移動量とに基づいて、第２撮像タイミングにおける特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するステップである。第４のステップは、第２撮像タイミングで撮像された画像のうち探索範囲の中から特徴部分を探索するように画像処理装置に指示するステップである。
【００２２】
これらの開示によって、画像処理装置は、画像の全域から特徴部分を探索する場合に比べて、特徴部分の位置を高速に特定することができる。その結果、対象物を高速に位置決めできる。
【発明の効果】
【００２３】
本発明によれば、対象物を高速に位置決めできる。
【図面の簡単な説明】
【００２４】
【図１】本実施の形態に係る制御システムの全体構成を示す模式図である。
【図２】第１撮像タイミングで撮像された画像から特定されたマークの位置と、第２撮像タイミングにおけるマークの予測位置と、探索範囲との関係を示す図である。
【図３】本実施の形態に係る制御システムを構成する画像処理装置のハードウェア構成を示す模式図である。
【図４】実施の形態に係る制御システムを構成するモーションコントローラのハードウェア構成を示す模式図である。
【図５】図１に示される制御システムの機能構成を示すブロック図である。
【図６】撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの間のワークの移動量Δｐを推定する方法を説明する図である。
【図７】制御システムの位置決め処理の流れの一例を示すフローチャートである。
【図８】移動制御部による移動機構の制御処理の流れの一例を示すフローチャートである。
【図９】前半移動量Δｐ１を推定する方法を説明する図である。
【図１０】変形例３に係る制御システムの機能構成を示すブロック図である。
【図１１】目標軌道ＴＧＸ，ＴＧＹ，ＴＧθの一例を示す図である。
【図１２】目標軌道決定部における処理の流れを示すフローチャートである。
【図１３】変形例６における探索範囲の決定方法を示す図である。
【発明を実施するための形態】
【００２５】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２６】
§１  適用例
まず、本実施の形態に係る制御システムの一つの適用例について説明する。図１は、本実施の形態に係る制御システム１の全体構成を示す模式図である。図１に示す制御システム１は、画像処理を用いてアライメントを行う。アライメントは、典型的には、工業製品の製造過程などにおいて、対象物（以下、「ワーク」とも称す）を生産ラインの本来の位置に配置する処理などを意味する。このようなアライメントの一例として、制御システム１は、液晶パネルの生産ラインにおいて、ガラス基板であるワーク２に対する回路パターンの焼付処理前に、露光マスク４に対するワーク２の位置決めを制御する。ワーク２には、予め定められた位置に位置決め用の特徴部分であるマーク５ａ，５ｂが設けられている。制御システム１は、ワーク２上に設けられたマーク５ａ，５ｂを撮像し、撮像により得られた画像に対して画像処理を行うことで、ワーク２の位置決めを実現する。
【００２７】
制御システム１は、移動機構１００と、ドライバユニット２００と、視覚センサ３００と、モーションコントローラ４００とを備える。
【００２８】
移動機構１００は、ワーク２を移動させる。移動機構１００は、ワーク２を目標位置に配置できる機構であればどのような自由度のものであってもよい。移動機構１００は、たとえば、水平方向の並進移動と回転移動とをワーク２に与えることができるＸＹθステージである。
【００２９】
図１に示す例の移動機構１００は、Ｘステージ１１０Ｘと、Ｙステージ１１０Ｙと、θステージ１１０θと、サーボモータ１２０Ｘ，１２０Ｙ，１２０θとを含む。図１に示す例では、サーボモータ１２０Ｘ，１２０Ｙ，１２０θの各々は回転式モータで構成される。サーボモータ１２０Ｘは、Ｘステージ１１０ＸをＸ軸方向に沿って並進駆動する。サーボモータ１２０Ｙは、Ｙステージ１１０ＹをＹ軸方向に沿って並進駆動する。サーボモータ１２０θは、Ｚ軸に平行な軸を中心にθステージ１１０θを回転駆動する。
【００３０】
ドライバユニット２００は、制御周期Ｔｓごとに受ける移動指令に従って、移動機構１００に対するフィードバック制御を行なう。図１に示されるように、ドライバユニット２００は、サーボドライバ２００Ｘ，２００Ｙ，２００θを含む。サーボドライバ２００Ｘは、Ｘステージ１１０Ｘの移動量が移動指令に近付くように、サーボモータ１２０Ｘに対してフィードバック制御を行なう。サーボドライバ２００Ｙは、Ｙステージ１１０Ｙの移動量が移動指令に近付くように、サーボモータ１２０Ｙに対してフィードバック制御を行なう。サーボドライバ２００θは、θステージ１１０θの移動量が移動指令に近付くように、サーボモータ１２０θに対してフィードバック制御を行なう。
【００３１】
視覚センサ３００は、１つ以上のカメラ（図１の例では、カメラ３０２ａ，３０２ｂ）と、カメラ３０２ａ，３０２ｂが撮像した画像に対して画像処理を行なうことにより、画像に含まれるマーク５ａ，５ｂの位置を特定する画像処理装置３０４とを含む。すなわち、画像処理装置３０４は、ワーク２を撮像する撮像部であるカメラ３０２ａ，３０２ｂから得られた画像の中からマーク５ａ，５ｂをそれぞれ探索し、マーク５ａ，５ｂの位置を特定する。
【００３２】
モーションコントローラ４００は、たとえばＰＬＣ（プログラマブルロジックコントローラ）であり、各種のＦＡ制御を行なう。制御装置であるモーションコントローラ４００は、画像処理装置３０４によって特定されたマーク５ａ，５ｂの位置に基づいて、ワーク２の位置が目標位置に近づくように移動機構１００を制御する。具体的には、モーションコントローラ４００は、制御周期Ｔｓごとに、ワーク２の位置を目標位置に近づけるための移動指令を生成し、生成した移動指令をドライバユニット２００に出力する。
【００３３】
モーションコントローラ４００は、移動機構１００からの情報に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間のワーク２の移動量を推定する。移動機構１００からの情報は、たとえば、サーボモータ１２０Ｘ，１２０Ｙ，１２０θの駆動量（ここでは回転量）を示すエンコーダ値である。
【００３４】
モーションコントローラ４００は、第１撮像タイミングで撮像された画像から画像処理装置３０４によって特定されたマーク５ａの位置と推定された移動量とに基づいて、第２撮像タイミングにおけるマーク５ａの位置（以下、「予測位置」という）を予測する。同様に、モーションコントローラ４００は、第１撮像タイミングで撮像された画像から画像処理装置３０４によって特定されたマーク５ｂの位置と推定された移動量とに基づいて、第２撮像タイミングにおけるマーク５ｂの予測位置を予測する。モーションコントローラ４００は、マーク５ａの予測位置を含む探索範囲と、マーク５ｂの予測位置を含む探索範囲とを決定する。
【００３５】
モーションコントローラ４００は、第２撮像タイミングでカメラ３０２ａによって撮像された画像のうち探索範囲の中からマーク５ａを探索するように画像処理装置３０４に指示する。同様に、モーションコントローラ４００は、第２撮像タイミングでカメラ３０２ｂによって撮像された画像のうち探索範囲の中からマーク５ｂを探索するように画像処理装置３０４に指示する。
【００３６】
図２は、第１撮像タイミングで撮像された画像から特定されたマークの位置と、第２撮像タイミングにおけるマークの予測位置と、探索範囲との関係を示す図である。モーションコントローラ４００は、第１撮像タイミングから第２撮像タイミングまでの間のワーク２の移動量Δｐを推定する。
【００３７】
図２に示されるように、画像処理装置３０４は、第１撮像タイミングでカメラ３０２ａによって撮像された画像５０ａから、マーク５ａの位置（「以下、「計測位置ＰＳａ」という）を特定する。モーションコントローラ４００は、計測位置ＰＳａと移動量Δｐとに基づいて、第２撮像タイミングにおけるマーク５ａの位置（以下、「予測位置ＰＥａ」）を予測する。モーションコントローラ４００は、予測位置ＰＥａを含む探索範囲（以下、「探索範囲ＳＲａ」という）を決定する。
【００３８】
同様に、画像処理装置３０４は、第１撮像タイミングでカメラ３０２ｂによって撮像された画像５０ｂから、マーク５ｂの位置（「以下、「計測位置ＰＳｂ」という）を特定する。モーションコントローラ４００は、計測位置ＰＳｂと移動量Δｐとに基づいて、第２撮像タイミングにおけるマーク５ｂの位置（以下、「予測位置ＰＥｂ」という）を予測する。モーションコントローラ４００は、予測位置ＰＥｂを含む探索範囲（以下、「探索範囲ＳＲｂ」という）を決定する。
【００３９】
画像処理装置３０４は、第２撮像タイミングでカメラ３０２ａによって撮像された画像のうち探索範囲ＳＲａの中からマーク５ａを探索して、マーク５ａの位置を特定する。同様に、画像処理装置３０４は、第２撮像タイミングでカメラ３０２ｂによって撮像された画像のうち探索範囲ＳＲｂの中からマーク５ｂを探索して、マーク５ｂの位置を特定する。
【００４０】
これにより、画像処理装置３０４は、画像の全域からマーク５ａ，５ｂを探索する場合に比べて、マーク５ａ，５ｂの位置を高速に特定することができる。その結果、制御システム１は、ワーク２を高速に位置決めできる。
【００４１】
§２  具体例
次に、本実施の形態に係る制御システム１の具体例について説明する。
【００４２】
＜２−１．画像処理装置のハードウェア構成＞
図３は、本実施の形態に係る制御システムを構成する画像処理装置のハードウェア構成を示す模式図である。図３を参照して、画像処理装置３０４は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【００４３】
より具体的には、画像処理装置３０４は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ３１０と、ＲＡＭ（Random Access Memory）３１２と、表示コントローラ３１４と、システムコントローラ３１６と、Ｉ／Ｏ（Input Output）コントローラ３１８と、ハードディスク３２０と、カメラインターフェイス３２２と、入力インターフェイス３２４と、モーションコントローラインターフェイス３２６と、通信インターフェイス３２８と、メモリカードインターフェイス３３０とを含む。これらの各部は、システムコントローラ３１６を中心として、互いにデータ通信可能に接続される。
【００４４】
プロセッサ３１０は、システムコントローラ３１６との間でプログラム（コード）などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
【００４５】
システムコントローラ３１６は、プロセッサ３１０、ＲＡＭ３１２、表示コントローラ３１４、およびＩ／Ｏコントローラ３１８とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置３０４全体の処理を司る。
【００４６】
ＲＡＭ３１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置であり、ハードディスク３２０から読み出されたプログラムや、カメラ３０２ａ，３０２ｂによって取得された画像（画像データ）、画像に対する処理結果、およびワークデータなどを保持する。
【００４７】
表示コントローラ３１４は、表示部３３２と接続されており、システムコントローラ３１６からの内部コマンドに従って、各種の情報を表示するための信号を表示部３３２へ出力する。
【００４８】
Ｉ／Ｏコントローラ３１８は、画像処理装置３０４に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、Ｉ／Ｏコントローラ３１８は、ハードディスク３２０と、カメラインターフェイス３２２と、入力インターフェイス３２４と、モーションコントローラインターフェイス３２６と、通信インターフェイス３２８と、メモリカードインターフェイス３３０と接続される。
【００４９】
ハードディスク３２０は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ３１０で実行される制御プログラム３５０に加えて、各種設定値などが格納される。このハードディスク３２０にインストールされる制御プログラム３５０は、メモリカード３３６などに格納された状態で流通する。なお、ハードディスク３２０に代えて、フラッシュメモリなどの半導体記憶装置やＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）などの光学記憶装置を採用してもよい。
【００５０】
カメラインターフェイス３２２は、ワークを撮影することで生成された画像データを受付ける入力部に相当し、プロセッサ３１０とカメラ３０２ａ，３０２ｂとの間のデータ伝送を仲介する。カメラインターフェイス３２２は、カメラ３０２ａ，３０２ｂからの画像データをそれぞれ一時的に蓄積するための画像バッファ３２２ａ，３２２ｂを含む。複数のカメラに対して、カメラの間で共有できる単一の画像バッファを設けてもよいが、処理高速化のため、それぞれのカメラに対応付けて独立に複数配置することが好ましい。
【００５１】
入力インターフェイス３２４は、プロセッサ３１０とキーボード３３４、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
【００５２】
モーションコントローラインターフェイス３２６は、プロセッサ３１０とモーションコントローラ４００との間のデータ伝送を仲介する。
【００５３】
通信インターフェイス３２８は、プロセッサ３１０と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス３２８は、典型的には、イーサネット（登録商標）やＵＳＢ（Universal Serial Bus）などからなる。
【００５４】
メモリカードインターフェイス３３０は、プロセッサ３１０と記録媒体であるメモリカード３３６との間のデータ伝送を仲介する。メモリカード３３６には、画像処理装置３０４で実行される制御プログラム３５０などが格納された状態で流通し、メモリカードインターフェイス３３０は、このメモリカード３３６から制御プログラムを読み出す。メモリカード３３６は、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記録媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体等からなる。あるいは、通信インターフェイス３２８を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置３０４にインストールしてもよい。
【００５５】
上述のような汎用的なコンピュータアーキテクチャに従う構造を有するコンピュータを利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのＯＳ（Operating System）がインストールされていてもよい。この場合には、本実施の形態に係る制御プログラムは、ＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および／またはタイミングで呼び出して処理を実行するものであってもよい。
【００５６】
さらに、本実施の形態に係る制御プログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係る制御プログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
【００５７】
なお、代替的に、制御プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【００５８】
＜２−２．モーションコントローラのハードウェア構成＞
図４は、実施の形態に係る制御システムを構成するモーションコントローラ４００のハードウェア構成を示す模式図である。モーションコントローラ４００は、チップセット４１２と、プロセッサ４１４と、不揮発性メモリ４１６と、主メモリ４１８と、システムクロック４２０と、メモリカードインターフェイス４２２と、通信インターフェイス４２８と、内部バスコントローラ４３０と、フィールドバスコントローラ４３８とを含む。チップセット４１２と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
【００５９】
プロセッサ４１４およびチップセット４１２は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ４１４は、チップセット４１２から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット４１２は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ４１４に必要な命令コードを生成する。システムクロック４２０は、予め定められた周期のシステムクロックを発生してプロセッサ４１４に提供する。チップセット４１２は、プロセッサ４１４での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
【００６０】
モーションコントローラ４００は、記憶手段として、不揮発性メモリ４１６および主メモリ４１８を有する。不揮発性メモリ４１６は、プロセッサ４１４で実行される制御プログラム４４０に加えて、データ定義情報、ログ情報などを不揮発的に保持する。制御プログラム４４０は、記録媒体４２４などに格納された状態で流通する。主メモリ４１８は、揮発性の記憶領域であり、プロセッサ４１４で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
【００６１】
モーションコントローラ４００は、通信手段として、通信インターフェイス４２８および内部バスコントローラ４３０を有する。これらの通信回路は、データの送信および受信を行う。
【００６２】
通信インターフェイス４２８は、画像処理装置３０４との間でデータを遣り取りする。内部バスコントローラ４３０は、データの遣り取りを制御する。より具体的には、内部バスコントローラ４３０は、バッファメモリ４３６と、ＤＭＡ（Dynamic Memory Access）制御回路４３２と、内部バス制御回路４３４とを含む。
【００６３】
メモリカードインターフェイス４２２は、モーションコントローラ４００に対して着脱可能な記録媒体４２４とプロセッサ４１４とを接続する。
【００６４】
フィールドバスコントローラ４３８は、フィールドネットワークに接続するための通信インターフェイスである。モーションコントローラ４００は、フィールドバスコントローラ４３８を介してサーボドライバ２００Ｘ，２００Ｙ，２００θと接続される。当該フィールドネットワークには、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが採用される。
【００６５】
＜２−３．画像処理装置の機能構成＞
図５は、図１に示される制御システムの機能構成を示すブロック図である。図５に示されるように、画像処理装置３０４は、画像取得部３２と、受付部３４と、位置特定部３６とを含む。
【００６６】
画像取得部３２は、モーションコントローラ４００から撮像トリガＴＲを受けると、撮像するようにカメラ３０２ａ，３０２ｂを制御し、カメラ３０２ａ，３０２ｂから所定サイズの画像を取得する。
【００６７】
受付部３４は、カメラ３０２ａによって撮像された画像に対する探索範囲ＳＲａの指示をモーションコントローラ４００から受け付ける。受付部３４は、カメラ３０２ｂによって撮像された画像に対する探索範囲ＳＲｂの指示をモーションコントローラ４００から受け付ける。
【００６８】
位置特定部３６は、カメラ３０２ａによって撮像された画像の中からマーク５ａを探索し、マーク５ａの計測位置ＰＳａを特定する。位置特定部３６は、カメラ３０２ｂによって撮像された画像の中からマーク５ｂを探索し、マーク５ｂの計測位置ＰＳｂを特定する。位置特定部３６は、公知のパターン認識技術を用いて、画像の中からマーク５ａ，５ｂを認識し、認識したマーク５ａ，５ｂの座標を計測する。当該座標は、カメラ３０２ａ，３０２ｂ各々のローカル座標系で示される。位置特定部３６は、特定したマーク５ａの計測位置ＰＳａの座標と、特定したマーク５ｂの計測位置ＰＳｂの座標とをモーションコントローラ４００に出力する。
【００６９】
位置特定部３６は、受付部３４がマーク５ａの探索範囲ＳＲａの指示を受け付けている場合、カメラ３０２ａによって撮像された画像のうち当該探索範囲ＳＲａの中からマーク５ａを探索する。位置特定部３６は、受付部３４がマーク５ａの探索範囲ＳＲａの指示を受け付けていない場合、カメラ３０２ａによって撮像された画像の全域からマーク５ａを探索する。同様に、位置特定部３６は、受付部３４がマーク５ｂの探索範囲ＳＲｂの指示を受け付けている場合、カメラ３０２ｂによって撮像された画像のうち当該探索範囲ＳＲｂの中からマーク５ｂを探索する。位置特定部３６は、受付部３４がマーク５ｂの探索範囲ＳＲｂの指示を受け付けていない場合、カメラ３０２ｂによって撮像された画像の全域からマーク５ｂを探索する。
【００７０】
＜２−４．モーションコントローラの機能構成＞
図５に示されるように、モーションコントローラ４００は、指示部４１と、推定部４２と、範囲決定部４３と、移動制御部４４とを備える。指示部４１と推定部４２と範囲決定部４３と移動制御部４４とは、図４に示すプロセッサ４１４が制御プログラム４４０を実行することにより実現される。
【００７１】
また、図５に示されるように、移動機構１００はエンコーダ１３０を含む。エンコーダ１３０は、サーボモータ１２０Ｘ，１２０Ｙ，１２０θの移動量に応じたパルス信号をそれぞれ発生する。エンコーダ１３０は、サーボモータ１２０Ｘに対応するパルス信号に含まれるパルス数をカウントすることにより、初期位置からのＸステージ１１０ＸのＸ方向の並進移動量をエンコーダ値ＰＶｍＸとして計測する。パルス数のカウント値と移動量とは、所定の係数によって関係付けられる。そのため、エンコーダ１３０は、パルス数のカウント値に当該係数を乗ずることにより、移動量を計測できる。同様に、エンコーダ１３０は、初期位置からのＹステージ１１０ＹのＹ方向の並進移動量をエンコーダ値ＰＶｍＹとして計測するとともに、初期位置からのθステージ１１０θの回転移動量をエンコーダ値ＰＶｍθとして計測する。エンコーダ１３０は、制御周期Ｔｓと同じ周期で、エンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθを計測して出力する。
【００７２】
＜２−４−１．指示部＞
指示部４１は、画像処理装置３０４に対して動作指示を出力する。指示部４１は、上位の制御装置から位置決め処理の開始指示を受けると、撮像周期Ｔｂに従って、撮像トリガＴＲ（撮像指示）を画像処理装置３０４に出力する。具体的には、指示部４１は、上位の制御装置から位置決め処理の開始指示を受けると、１回目の撮像トリガＴＲを出力する。その後、指示部４１は、撮像周期Ｔｂだけ経過するたびに、２回目以降の撮像トリガＴＲを出力する。
【００７３】
指示部４１は、２回目以降の撮像トリガＴＲに応じて撮像された画像について、範囲決定部４３によって決定された探索範囲ＳＲａ，ＳＲｂの中からマーク５ａ，５ｂをそれぞれ探索するように画像処理装置３０４に指示する。
【００７４】
＜２−４−２．推定部＞
推定部４２は、（ｋ−１）回目（ｋは２以上の整数）の撮像トリガＴＲに対応する撮像タイミングｔ（ｋ−１）からｋ回目の撮像トリガＴＲに対応する撮像タイミングｔｋまでの間のワーク２の移動量Δｐ＝（ΔＸ，ΔＹ，Δθ）を推定する。ΔＸは、Ｘステージ１１０ＸのＸ方向の並進移動量を示す。ΔＹは、Ｙステージ１１０ＹのＹ方向の並進移動量を示す。Δθは、θステージ１１０θの回転移動量を示す。
【００７５】
図６は、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの間のワーク２の移動量を推定する方法を説明する図である。図６に示されるように、推定部４２は、撮像タイミングｔ（ｋ−１）におけるエンコーダ値ＰＶｍ（ｋ−１）と撮像タイミングｔｋにおけるエンコーダ値ＰＶｍ（ｋ）とに基づいて、移動量Δｐを推定する。なお、タイミングｔｉにおけるＰＶｍ（ｉ）は、（ＰＶｍＸ（ｉ），ＰＶｍＹ（ｉ），ＰＶｍθ（ｉ））で表される。ＰＶｍＸ（ｉ），ＰＶｍＹ（ｉ），ＰＶｍθ（ｉ）は、それぞれタイミングｔｉにおいてエンコーダ１３０から出力されるエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθである。もしくは、タイミングｔｉとエンコーダ１３０の検出時刻とがずれている場合、ＰＶｍＸ（ｉ）は、タイミングｔｉに近接する２つの検出時刻にエンコーダ１３０から出力されるエンコーダ値ＰＶｍＸの内挿補間値である。同様に、ＰＶｍＹ（ｊ）は、時刻ｔｊに近接する２つの検出時刻にエンコーダ１３０から出力されるエンコーダ値ＰＶｍＹの内挿補間値である。ＰＶｍθ（ｊ）は、時刻ｔｊに近接する２つの検出時刻にエンコーダ１３０から出力されるエンコーダ値ＰＶｍθの内挿補間値である。内挿補間値の算出方法については後述する。
【００７６】
指示部４１が撮像トリガＴＲを出力してから、カメラ３０２ａ，３０２ｂが露光を開始するまで一定の遅延時間が発生する。当該遅延時間は、予め実験等により確認されている。推定部４２は、撮像トリガＴＲを出力してから当該遅延時間だけ経過した時刻を撮像タイミングとして特定する。
【００７７】
推定部４２は、撮像タイミングｔ（ｋ−１）におけるエンコーダ値ＰＶｍ（ｋ−１）と撮像タイミングｔｋにおけるエンコーダ値ＰＶｍ（ｋ）との差を、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまで間のワーク２の移動量Δｐとして推定する。つまり、推定部４２は、以下の式（１）に従って、移動量Δｐを推定する。
【００７８】
Δｐ＝（ΔＸ，ΔＹ，Δθ）
＝（ＰＶｍＸ（ｋ）−ＰＶｍＸ（ｋ−１），ＰＶｍＹ（ｋ）−ＰＶｍＹ（ｋ−１），ＰＶｍθ（ｋ）−ＰＶｍθ（ｋ−１））  ・・・式（１）。
【００７９】
＜２−４−３．範囲決定部＞
範囲決定部４３は、撮像タイミングｔ（ｋ−１）で撮像された画像から特定されたマーク５ａの計測位置ＰＳａと、推定部４２によって推定された移動量Δｐとに基づいて、撮像タイミングｔｋにおけるマーク５ａの予測位置ＰＥａを予測する。以下、範囲決定部４３による予測位置ＰＥａの予測手順について説明する。
【００８０】
範囲決定部４３は、画像処理装置３０４から受けた計測位置ＰＳａの座標（カメラ３０２ａのローカル座標系）をワールド座標系（移動機構１００の機械座標系）の座標に変換する。範囲決定部４３は、カメラ３０２ａのローカル座標系とワールド座標系とを対応付ける第１キャリブレーションデータを用いて、ワールド座標系における計測位置ＰＳａのＸＹ座標（ｘｓａ，ｙｓａ）を求める。
【００８１】
範囲決定部４３は、移動量Δｐ＝（ΔＸ，ΔＹ，Δθ）だけワーク２が移動したときの計測位置ＰＳａから予測位置ＰＥａへの変換式を用いて、ワールド座標系における予測位置ＰＥａの座標を求める。変換式は、以下の式（２）に示される。
【００８２】
Ｅａ＝Ｔ（Ｒａ（Ｓａ））  ・・・式（２）
式（２）において、Ｓａは、ワールド座標系における計測位置ＰＳａのＸ座標ｘｓａおよびＹ座標ｙｓａの転置行列である（ｘｓａ，ｙｓａ）Ｔを示す。Ｒａ（  ）は、回転移動に対応する変換式を示し、θステージ１１０θの回転中心と計測位置ＰＳａとの距離と、θステージ１１０θの回転移動量Δθとに基づいて定められる。Ｔ（  ）は、並進移動に対応する変換式を示し、Ｘステージ１１０Ｘの移動量ΔＸとＹステージ１１０Ｙの移動量ΔＹと応じて定められる。Ｅａは、ワールド座標系における予測位置ＰＥａのＸ座標ｘｅａおよびＹ座標ｙｅａの転置行列である（ｘｅａ，ｙｅａ）Ｔを示す。
【００８３】
範囲決定部４３は、第１キャリブレーションデータを用いて、ワールド座標系における予測位置ＰＥａの座標をカメラ３０２ａに対応するローカル座標系の座標に逆変換する。これにより、範囲決定部４３は、ローカル座標系における予測位置ＰＥａの座標を得ることができる。
【００８４】
同様の方法により、範囲決定部４３は、撮像タイミングｔｋにおけるマーク５ｂの予測位置ＰＥｂを予測する。つまり、範囲決定部４３は、画像処理装置３０４から受けた計測位置ＰＳｂの座標（カメラ３０２ｂのローカル座標系）をワールド座標系の座標に変換する。範囲決定部４３は、カメラ３０２ｂのローカル座標系とワールド座標系とを対応付ける第２キャリブレーションデータを用いて、ワールド座標系における計測位置ＰＳｂのＸＹ座標（ｘｓｂ，ｙｓｂ）を求める。
【００８５】
範囲決定部４３は、移動量Δｐ＝（ΔＸ，ΔＹ，Δθ）だけワーク２が移動したときの計測位置ＰＳｂから予測位置ＰＥｂへの変換式を用いて、ワールド座標系における予測位置ＰＥｂの座標を求める。変換式は、以下の式（３）に示される。
【００８６】
Ｅｂ＝Ｔ（Ｒｂ（Ｓｂ））  ・・・式（３）
式（３）において、Ｓｂは、ワールド座標系における計測位置ＰＳｂのＸ座標ｘｓｂおよびＹ座標ｙｓｂの転置行列である（ｘｓｂ，ｙｓｂ）Ｔを示す。Ｒｂ（  ）は、回転移動に対応する変換式を示し、θステージ１１０θの回転中心と計測位置ＰＳｂとの距離と、θステージ１１０θの回転移動量Δθとに基づいて定められる。Ｔ（  ）は、並進移動に対応する変換式を示し、Ｘステージ１１０Ｘの移動量ΔＸとＹステージ１１０Ｙの移動量ΔＹと応じて定められる。Ｅｂは、ワールド座標系における予測位置ＰＥｂのＸ座標ｘｅｂおよびＹ座標ｙｅｂの転置行列である（ｘｅｂ，ｙｅｂ）Ｔを示す。
【００８７】
範囲決定部４３は、第２キャリブレーションデータを用いて、ワールド座標系における予測位置ＰＥｂの座標をカメラ３０２ｂに対応するローカル座標系の座標に変換する。これにより、範囲決定部４３は、ローカル座標系における予測位置ＰＥｂの座標を得ることができる。
【００８８】
範囲決定部４３は、予測位置ＰＥａを含む所定サイズの範囲を、マーク５ａ用の探索範囲ＳＲａとして決定する。たとえば、範囲決定部４３は、予測位置ＰＥａを中心とする矩形状の範囲を探索範囲ＳＲａとして決定する。範囲決定部４３は、予測位置ＰＥｂを含む所定サイズの範囲を、マーク５ｂ用の探索範囲ＳＲｂとして決定する。たとえば、範囲決定部４３は、予測位置ＰＥｂを中心とする矩形状の範囲を探索範囲ＳＲｂとして決定する。
【００８９】
探索範囲ＳＲａ，ＳＲｂの所定サイズは、マーク５ａ，５ｂのサイズよりもわずかに大きく、カメラ３０２ａ，３０２ｂによって撮像される画像サイズよりも小さい。探索範囲ＳＲａ，ＳＲｂのサイズとマーク５ａ，５ｂのサイズとの差（マージン）は、予測位置ＰＥａ，ＰＥｂの誤差を考慮して予め定められる。誤差の要因は、計測位置ＰＳａ，ＰＳｂの計測誤差、カメラ３０２ａ，３０２ｂの座標系と移動機構１００の座標系との対応関係を示すキャリブレーションの誤差、移動機構１００の誤差などが挙げられる。
【００９０】
範囲決定部４３は、探索範囲ＳＲａを示す第１範囲情報と、探索範囲ＳＲｂを示す第２範囲情報とを指示部４１に出力する。第１範囲情報および第２範囲情報は、たとえば矩形状の探索範囲の４頂点のＸＹ座標値（ローカル座標系）である。第１範囲情報を受けた指示部４１は、ｋ回目の撮像トリガＴＲに対応してカメラ３０２ａが撮像した画像のうち、第１範囲情報で示される探索範囲ＳＲａの中からマーク５ａを探索するように画像処理装置３０４に指示する。第２範囲情報を受けた指示部４１は、ｋ回目の撮像トリガＴＲに対応してカメラ３０２ｂが撮像した画像のうち、第２範囲情報で示される探索範囲ＳＲｂの中からマーク５ｂを探索するように画像処理装置３０４に指示する。
【００９１】
＜２−４−４．移動制御部＞
移動制御部４４は、画像処理装置３０４によって特定された、マーク５ａの計測位置ＰＳａおよびマーク５ｂの計測位置ＰＳｂに基づいて、ワーク２の位置が目標位置ＳＰに近づくように移動機構１００を制御する。
【００９２】
ワーク２の目標位置ＳＰは、生産工程ごとに予め決められている。たとえば、マーク５ａとマーク５ｂとの中点が予め定められた座標に位置し、かつ、マーク５ａとマーク５ｂとを結ぶ直線とＸ軸またはＹ軸とのなす角度が予め定められた角度となるようなワーク２の位置が目標位置ＳＰとして設定される。
【００９３】
もしくは、カメラ３０２ａ，３０２ｂは、ワーク２のマーク５ａ，５ｂと合わせて、露光マスク４（図１参照）に設けられた２つの目標マークも撮像してもよい。この場合、撮像された画像に含まれる当該２つの目標マークの位置に応じて目標位置ＳＰが設定される。たとえば、マーク５ａが２つの目標マークの一方と一致し、かつ、マーク５ｂが２つの目標マークの他方と一致するようなワーク２の位置が目標位置ＳＰとして設定される。
【００９４】
移動制御部４４は、画像処理装置３０４によって特定されたマーク５ａの計測位置ＰＳａおよびマーク５ｂの計測位置ＰＳｂに基づいて、ワーク２の位置を目標位置ＳＰに近づけるための移動指令を生成する。
【００９５】
計測位置ＰＳａ，ＰＳｂは、撮像周期Ｔｂごとに特定される。一方、移動指令は、制御周期Ｔｓごとに生成される。一例として、撮像周期Ｔｂは、撮像状況などに応じて変動し、たとえば約６０ｍｓである。制御周期Ｔｓは、固定であり、たとえば１ｍｓである。このように、撮像周期Ｔｂは、制御周期Ｔｓよりも長い。そのため、画像処理装置３０４によって特定された計測位置ＰＳａ，ＰＳｂのみを用いて移動機構１００が制御されると、オーバシュートおよび振動が生じやすくなる。このようなオーバシュートおよび振動を避けるため、移動制御部４４は、計測位置ＰＳａ，ＰＳｂと、エンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθとを用いて、ワーク２の推定位置ＰＶを決定し、推定位置ＰＶに基づいて制御指令を生成する。
【００９６】
図５に示されるように、移動制御部４４は、位置決定部４５と、減算部４６と、演算部４７とを含む。
【００９７】
位置決定部４５は、画像処理装置３０４によって特定されたマーク５ａの計測位置ＰＳａおよびマーク５ｂの計測位置ＰＳｂとエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθとに基づいて、ワーク２の推定位置ＰＶを制御周期Ｔｓごとに決定する。推定位置ＰＶの決定方法の詳細については、後述する動作例において説明する。
【００９８】
減算部４６は、目標位置ＳＰに対する推定位置ＰＶの偏差を出力する。演算部４７は、目標位置ＳＰに対する推定位置ＰＶの偏差が０に収束するように演算（たとえばＰ演算、ＰＩＤ演算など）を行ない、制御周期Ｔｓごとに移動指令ＭＶＸ、ＭＶＹ，ＭＶθを算出する。移動指令ＭＶＸは、Ｘステージ１１０Ｘに対する移動指令である。移動指令ＭＶＹは、Ｙステージ１１０Ｙに対する移動指令である。移動指令ＭＶθは、θステージ１１０θに対する移動指令である。演算部４７は、算出した移動指令ＭＶＸ、ＭＶＹ，ＭＶθをサーボドライバ２００Ｘ，２００Ｙ，２００θにぞれぞれ出力する。移動指令ＭＶＸ、ＭＶＹ，ＭＶθは、たとえば位置指令または速度指令である。
【００９９】
§３  動作例
＜３−１．制御システムの位置決め処理の流れ＞
図７を参照して、制御システム１の位置決め処理の流れの一例について説明する。図７は、制御システムの位置決め処理の流れの一例を示すフローチャートである。
【０１００】
まずステップＳ１において、モーションコントローラ４００は、推定位置ＰＶおよびエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθを初期化する。次にステップＳ２において、ワーク２が移動機構１００上に載置されると、指示部４１は、画像処理装置３０４に対して１回目の撮像トリガＴＲを出力する。これにより、移動機構１００が停止した状態で、カメラ３０２ａ，３０２ｂは、ワーク２を撮像する。
【０１０１】
次にステップＳ３において、画像処理装置３０４は、カメラ３０２ａによって撮像された画像に含まれるマーク５ａの計測位置ＰＳａと、カメラ３０２ｂによって撮像された画像に含まれるマーク５ｂの計測位置ＰＳｂとを特定する。次にステップＳ４において、移動制御部４４は、移動機構１００の移動制御を開始する。
【０１０２】
次にステップＳ５において、移動制御部４４は、目標位置ＳＰに対する推定位置ＰＶの偏差が閾値未満か否かを判断する。閾値は、要求される位置決め精度に応じて予め定められる。目標位置ＳＰに対する推定位置ＰＶの偏差が閾値未満である場合（ステップＳ５でＹＥＳ）、移動制御部４４は、移動機構１００の移動制御を終了する。これにより、位置決め処理が終了する。
【０１０３】
目標位置ＳＰに対する推定位置ＰＶの偏差が閾値未満でない場合（ステップＳ５でＮＯ）、ステップＳ６〜ステップＳ１１の処理が撮像周期Ｔｂごとに繰り返される。なお、ステップＳ６〜Ｓ１１の間にも、移動制御部４４による移動制御が並行して実行される。
【０１０４】
ステップＳ６において、指示部４１は、現時刻が撮像トリガＴＲの出力時刻であるか否かを判断する。撮像トリガＴＲの出力時刻は、撮像周期Ｔｂに従って、予め定められる。現時刻が撮像トリガＴＲの出力時刻でない場合（ステップＳ６でＮＯ）、処理はステップＳ５に戻る。
【０１０５】
現時刻が撮像トリガＴＲの出力時刻である場合（ステップＳ６でＹＥＳ）、指示部４１は、撮像トリガＴＲを画像処理装置３０４に出力する。これにより、ステップＳ７において、撮像トリガＴＲを受けた画像処理装置３０４の画像取得部３２は、撮像するようにカメラ３０２ａ，３０２ｂを制御し、カメラ３０２ａ，３０２ｂによって撮像された画像を取得する。
【０１０６】
ステップＳ７と並行してステップＳ８およびＳ９が行なわれる。ステップＳ８において、推定部４２は、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでのワーク２の移動量Δｐを推定する。ステップＳ９において、範囲決定部４３は、計測位置ＰＳａと移動量Δｐとに基づいて探索範囲ＳＲａを決定するとともに、計測位置ＰＳｂと移動量Δｐとに基づいて探索範囲ＳＲｂを決定する。
【０１０７】
次にステップＳ１０において、指示部４１は、探索範囲ＳＲａ，ＳＲｂの中からマーク５ａ，５ｂをそれぞれ探索するように画像処理装置３０４に指示する。これにより、画像処理装置３０４の位置特定部３６は、探索範囲ＳＲａ，ＳＲｂの中からマーク５ａ，５ｂをそれぞれ探索する。ステップＳ１１において、位置特定部３６は、探索されたマーク５ａ，５ｂの計測位置ＰＳａ，ＰＳｂをそれぞれ特定する。ステップＳ１１の後、処理はステップＳ５に戻る。
【０１０８】
＜３−２．移動制御部の処理＞
図８は、移動制御部による移動機構の制御処理の流れの一例を示すフローチャートである。まずステップＳ２１において、位置決定部４５は、画像処理装置３０４によって特定された最新の計測位置ＰＳａ，ＰＳｂを取得する。位置決定部４５は、上記の第１キャリブレーションデータ，第２キャリブレーションデータを用いて、画像処理装置３０４から受けた計測位置ＰＳａ，ＰＳｂの座標（ローカル座標系）をワールド座標系の座標にそれぞれ変換する。
【０１０９】
ステップＳ２２において、位置決定部４５は、撮像タイミングｔ（ｋ−１）の時刻（撮像時刻）を取得する。位置決定部４５は、撮像トリガＴＲが出力されてから所定の遅延時間だけ経過した時刻を撮像時刻として特定する。
【０１１０】
次にステップＳ２３において、位置決定部４５は、撮像時刻に近い複数の時刻のエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθを取得する。
【０１１１】
次にステップＳ２４において、位置決定部４５は、複数の時刻のエンコーダ値ＰＶｍＸの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値ＰＶｍｓＸとする。同様に、位置決定部４５は、複数の時刻のエンコーダ値ＰＶｍＹの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値ＰＶｍｓＹとする。位置決定部４５は、複数の時刻のエンコーダ値ＰＶｍθの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値ＰＶｍｓθとする。
【０１１２】
具体的には、位置決定部４５は、以下のようにして内挿補間値を算出する。検出時刻ｔ（ｎ）においてエンコーダ１３０によって検出されたエンコーダ値ＰＶｍＸをエンコーダ値ＰＶｍＸ（ｎ）とする。位置決定部４５は、撮像時刻ｔｖｉに近接する２つの時刻、例えば、時間軸上で、撮像時刻ｔｖｉを挟む検出時刻ｔ（ｎ−ｋ）と検出時刻ｔ（ｎ−ｋ＋１）とを特定する。
【０１１３】
位置決定部４５は、検出時刻ｔ（ｎ−ｋ）のエンコーダ値ＰＶｍＸ（ｎ−ｋ）と、検出時刻ｔ（ｎ−ｋ＋１）のエンコーダ値ＰＶｍＸ（ｎ−ｋ＋１）とを取得する。過去に検出されたエンコーダ値は、モーションコントローラ４００の記憶部（たとえば不揮発性メモリ４１６または主メモリ４１８（図４参照））に記憶される。
【０１１４】
位置決定部４５は、エンコーダ値ＰＶｍＸ（ｎ−ｋ）とエンコーダ値ＰＶｍＸ（ｎ−ｋ＋１）との内挿補間値を用いて、撮像時刻ｔｖｉのエンコーダ値ＰＶｍｓＸ（ｖｉ）を算出する。具体的には、位置決定部４５は、次の式（４）を用いて、撮像時刻ｔｖｉのエンコーダ値ＰＶｍｓＸ（ｖｉ）を算出する。
【０１１５】
ＰＶｍｓＸ（ｖｉ）＝ＰＶｍＸ（ｎ−ｋ）＋Ｋｋ＊（ＰＶｍＸ（ｎ−ｋ＋１）−ＰＶｍＸ（ｎ−ｋ））  ・・・（４）
ここで、Ｋｋは、内挿補間係数である。制御周期をＴｓとし、エンコーダ値ＰＶｍＸの伝送遅延時間をＴｅｄとし、撮像トリガＴＲの伝送遅延時間をＴｓｄとして、Ｔｓ−Ｔｅｄ≦Ｔｓｄ＜２Ｔｓ−Ｔｅｄの場合、内挿補間係数Ｋｋは、次の式（５）を用いて算出される。
【０１１６】
Ｋｋ＝｛Ｔｓｄ−（Ｔｓ−Ｔｅｄ）｝／Ｔｓ  ・・・（５）
このような内挿補間値の算出方法を用いることによって、撮像時刻ｔｖｉのエンコーダ値ＰＶｍｓＸ（ｖｉ）を高精度に算出できる。同様にして、撮像時刻ｔｖｉのエンコーダ値ＰＶｍｓＹ（ｖｉ），ＰＶｍｓθ（ｖｉ）が算出される。なお、撮像時刻がエンコーダ値の算出時刻と一致する場合には、このエンコーダ値をそのまま用いればよい。
【０１１７】
次にステップＳ２５において、位置決定部４５は、最新の計測位置ＰＳａ，ＰＳａと、撮像時刻以後のエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθと、撮像時刻のエンコーダ値ＰＶｍｓＸ，ＰＶｍｓＹ，ＰＶｍｓθとを用いて、推定位置ＰＶを算出する。
【０１１８】
具体的には、Ｘ方向に（ＰＶｍＸ−ＰＶｍｓＸ）だけ並進移動し、Ｙ方向に（ＰＶｍＹ−ＰＶｍｓＹ）だけ並進移動し、（ＰＶｍθ−ＰＶｍｓθ）だけ回転移動するときのアフィン変換式に計測位置ＰＳａを入力し、アフィン変換後の位置ＰＳｗａが算出される。同様に、当該アフィン変換式に計測位置ＰＳｂを入力し、アフィン変換後の位置ＰＳｗｂが算出される。位置決定部４５は、マーク５ａが位置ＰＳｗａに位置し、マーク５ｂが位置ＰＳｗｂに位置するときのワーク２の位置を推定位置ＰＶとして決定する。つまり、位置決定部４５は、位置ＰＳｗａと位置ＰＳｗｂとの中点の座標と、位置ＰＳｗａと位置ＰＳｗｂとを結ぶ直線とＸ軸またはＹ軸とのなす角度とを、推定位置ＰＶを特定する情報として算出する。
【０１１９】
次にステップＳ２６において、演算部４７は、目標位置ＳＰに対する推定位置ＰＶの偏差に基づいて、たとえばＰ演算により、移動指令ＭＶＸ，ＭＶＹ，ＭＶθを生成して、サーボドライバ２００Ｘ，２００Ｙ，２００θにそれぞれ出力する。
【０１２０】
このような処理を実行することによって、モーションコントローラ４００は、画像処理による高精度な計測位置ＰＳａ，ＰＳｂが入力される時刻には、この高精度な計測位置ＰＳａ，ＰＳｂを用いて推定位置ＰＶを算出し、高精度な位置決め制御を実現できる。ここで、計測位置ＰＳａ，ＰＳｂが入力される時間間隔は、撮像周期Ｔｂであり、エンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθが入力される制御周期Ｔｓに比べて長い。しかしながら、時間軸上で隣り合う計測位置ＰＳａ，ＰＳｂの入力時刻間において、位置決定部４５は、入力周期が短いエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθの入力時刻毎に、推定位置ＰＶを決定して、移動機構１００の移動制御を行う。これにより、高精度且つ短周期の位置決め制御が可能になる。さらに、位置決定部４５は、上述の簡単な四則演算を用いる処理を行なう。そのため、簡素な構成および処理による高速且つ高精度な位置決めを実現できる。
【０１２１】
＜３−３．作用・効果＞
以上のように、制御システム１は、画像処理装置３０４と移動制御部４４とを備える。画像処理装置３０４は、ワーク２を撮像するカメラ３０２ａ，３０２ｂによって撮像タイミングごとに得られる画像の中から、ワーク２の特徴部分であるマーク５ａ，５ｂを探索し、マーク５ａ，５ｂの計測位置ＰＳａ，ＰＳｂをそれぞれ特定する。移動制御部４４は、画像処理装置３０４によって特定された計測位置ＰＳａ，ＰＳｂに基づいて、ワーク２の位置が目標位置ＳＰに近づくように移動機構１００を制御する。さらに、制御システム１は、推定部４２と範囲決定部４３とを備える。推定部４２は、移動機構１００からの情報に基づいて、撮像タイミングｔ（ｋ−１）から次の撮像タイミングｔｋまでの間のワーク２の移動量Δｐを推定する。範囲決定部４３は、撮像タイミングｔ（ｋ−１）で撮像された画像から特定された計測位置ＰＳａ，ＰＳｂと移動量Δｐとに基づいて、撮像タイミングｔｋにおけるマーク５ａ、５ｂの位置をそれぞれ予測する。範囲決定部４３、予測したマーク５ａ、５ｂの位置を含む探索範囲ＳＲａ，ＳＲｂをそれぞれ決定する。画像処理装置３０４は、撮像タイミングｔｋで撮像された画像のうち探索範囲ＳＲａ，ＳＲｂの中からマーク５ａ，５ｂをそれぞれ探索して、マーク５ａ，５ｂの位置を特定する。
【０１２２】
これにより、画像処理装置３０４は、画像の全域からマーク５ａ，５ｂを探索する場合に比べて、マーク５ａ，５ｂの位置を高速に特定することができる。その結果、制御システム１は、ワーク２を高速に位置決めできる。
【０１２３】
移動機構１００からの情報は、ワーク２を移動させるために駆動されるサーボモータ１２０Ｘ，１２０Ｙ，１２０θの回転量をそれぞれ示すエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθである。カメラ３０２ａ，３０２ｂの露光期間におけるエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθは、露光期間における移動機構１００の移動量を直接的に示す。そのため、推定部４２は、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの間のワーク２の移動量Δｐを精度良く推定することができる。
【０１２４】
§４  変形例
＜４−１．変形例１＞
推定部４２は、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの間に生成された移動指令ＭＶＸ，ＭＶＹ，ＭＶθに基づいて、当該期間におけるワーク２の移動量Δｐを推定してもよい。
【０１２５】
ワーク２が載置された移動機構１００は、移動指令ＭＶＸ，ＭＶＹ，ＭＶθに従って移動する。そのため、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間におけるワーク２のＸ方向の並進移動量ΔＸは、当該期間に生成された移動指令ＭＶＸから推定される。同様に、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間におけるワーク２のＹ方向の並進移動量ΔＹは、当該期間に生成された移動指令ＭＶＹから推定される。撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間におけるワーク２の回転移動量Δθは、当該期間に生成された移動指令ＭＶθから推定される。
【０１２６】
推定部４２は、たとえば移動指令ＭＶＸが速度指令であり、時刻ｔにおける移動指令ＭＶＸの値をＭＶＸ（ｔ）とすると、以下の式（６）に従って、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間におけるＸ方向の並進移動量ΔＸを算出する。制御周期Ｔｓの間、ＭＶＸ（ｔ）は一定である。
【０１２７】
【数１】
2019215633.tif 000003
【０１２８】
同様に、推定部４２は、以下の式（７），（８）に従って、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間における、Ｙ方向の並進移動量ΔＹと、回転移動量Δθとを算出する。式（７）において、ＭＶＹ（ｔ）は、時刻ｔにおける移動指令ＭＶＹの値を示す。式（８）において、ＭＶθ（ｔ）は、時刻ｔにおける移動指令ＭＶθの値を示す。移動指令ＭＶＹ，ＭＶθは速度指令であり、ＭＶＹ（ｔ）およびＭＶθ（ｔ）は、制御周期Ｔｓの間、一定である。
【０１２９】
【数２】
2019215633.tif 000004
【０１３０】
変形例１に係る制御システムによれば、撮像タイミングｔｋと重なる制御周期Ｔｓの開始時刻において、推定部４２は、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間におけるワーク２の移動量Δｐを推定できる。すなわち、推定部４２は、撮像タイミングｔｋの前に、ワーク２の移動量Δｐを推定できる。そのため、画像処理装置３０４の位置特定部３６は、カメラ３０２ａ，３０２ｂによって撮像された画像に対するマーク５ａ，５ｂのそれぞれの探索を即座に行なうことができる。これにより、撮像トリガＴＲが出力されてから計測位置ＰＳａ，ＰＳｂが特定されるまでの時間を短縮できる。
【０１３１】
さらに、モーションコントローラ４００は、撮像トリガＴＲと探索範囲ＳＲａ，ＳＲｂとを同時に画像処理装置３０４に出力することができる。そのため、画像処理装置３０４とモーションコントローラ４００との間の通信シーケンスを簡略化できる。
【０１３２】
＜４−２．変形例２＞
推定部４２は、撮像タイミングｔ（ｋ−１）から中間タイミングｔｍまでの間のワーク２の移動量（以下、「前半移動量Δｐ１」という）と、中間タイミングｔｍから撮像タイミングｔｋまでの間のワーク２の移動量（以下、「後半移動量Δｐ２」という）とを推定してもよい。中間タイミングｔｍは、撮像タイミングｔ（ｋ−１）と撮像タイミングｔｋとの間のタイミングである。推定部４２は、前半移動量Δｐ１と後半移動量Δｐ２とを合わせて、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間におけるワーク２の移動量Δｐを推定する。
【０１３３】
図９は、前半移動量Δｐ１を推定する方法を説明する図である。図７に示されるように、推定部４２は、撮像タイミングｔ（ｋ−１）におけるエンコーダ値ＰＶｍ（ｋ−１）と中間タイミングｔｍにおけるエンコーダ値ＰＶｍ（ｍ）とに基づいて、前半移動量Δｐ１を推定する。つまり、推定部４２は、以下の式（９）に従って、前半移動量Δｐ１を推定する。
【０１３４】
Δｐ１＝（ΔＸ１，ΔＹ１，Δθ１）
＝（ＰＶｍＸ（ｍ）−ＰＶｍＸ（ｋ−１），ＰＶｍＹ（ｍ）−ＰＶｍＹ（ｋ−１），ＰＶｍθ（ｍ）−ＰＶｍθ（ｋ−１））  ・・・式（９）。
【０１３５】
さらに、推定部４２は、中間タイミングｔｍから撮像タイミングｔｋまでの期間と重なる制御周期Ｔｓにおいて生成された移動指令ＭＶＸ，ＭＶＹ，ＭＶθに基づいて、後半移動量Δｐ２＝（ΔＸ２，ΔＹ２，Δθ２）を推定する。推定部４２は、上記＜４−１．変形例１＞で説明した方法に従って後半移動量Δｐ２を生成すればよい。
【０１３６】
推定部４２は、以下の式（１０）に従って、移動量Δｐを推定する。
Δｐ＝Δｐ１＋Δｐ２
＝（ΔＸ１＋ΔＸ２，ΔＹ１＋ΔＹ２，Δθ１＋Δθ２）  ・・・式（１０）。
【０１３７】
これにより、推定部４２によって推定される移動量Δｐは、変形例１に係る制御システムと比較して、ワーク２の実移動量により近くなる。その結果、範囲決定部４３は、探索範囲ＳＲａ，ＳＲｂを精度良く決定することができる。変形例１と同様に、推定部４２は、撮像タイミングｔｋの前に、ワーク２の移動量Δｐを推定できる。これにより、撮像トリガＴＲが出力されてから計測位置ＰＳａ，ＰＳｂが特定されるまでの時間を短縮できる。
【０１３８】
さらに、モーションコントローラ４００は、撮像トリガＴＲと探索範囲ＳＲａ，ＳＲｂとを同時に画像処理装置３０４に出力することができる。そのため、画像処理装置３０４とモーションコントローラ４００との間の通信シーケンスを簡略化できる。
【０１３９】
なお、中間タイミングｔｍから撮像タイミングｔｋまでの期間が微小である場合（たとえば、制御周期Ｔｓの数倍程度の時間である場合）、当該期間において移動指令はほとんど変化しない。すなわち、中間タイミングｔｍにおける移動指令が撮像タイミングｔｋまで継続されるとみなしてもよい。そこで、範囲決定部４３は、前半移動量Δｐ１に従って、中間タイミングｔｍにおけるマーク５ａの予測位置を予測する。次に、範囲決定部４３は、中間タイミングｔｍにおけるマーク５ａの予測位置を上記の式（２）のＳａに代入することにより、撮像タイミングｔｋにおける予測位置ＰＥａを予測してもよい。この場合、式（２）におけるＲａ（  ）は、θステージ１１０θの回転中心と中間タイミングｔｍにおけるマーク５ａの位置との距離と、中間タイミングｔｍにおける移動指令ＭＶθと、中間タイミングｔｍから撮像タイミングｔｋまでの時間とに基づいて定められる。Ｔ（  ）は、中間タイミングｔｍにおける移動指令ＭＶＸ，ＭＶＹと、中間タイミングｔｍから撮像タイミングｔｋまでの時間とに応じて定められる。
【０１４０】
同様に、範囲決定部４３は、前半移動量Δｐ１に従って、中間タイミングｔｍにおけるマーク５ｂの予測位置を予測する。次に、範囲決定部４３は、中間タイミングｔｍにおけるマーク５ｂの予測位置を上記の式（３）のＳｂに代入することにより、撮像タイミングｔｋにおける予測位置ＰＥｂを予測してもよい。
【０１４１】
＜４−３．変形例３＞
上記の説明では、移動制御部４４は、推定位置ＰＶが目標位置ＳＰに近づくように、移動指令ＭＶＸ，ＭＶＹ，ＭＶθを生成する。しかしながら、ワーク２をより滑らかに移動させるための移動機構１００の目標軌道が決定され、決定された目標軌道に従って移動機構１００が制御されてもよい。この場合、ワーク２は、決定された目標軌道に従って移動する。そのため、制御システムは、撮像タイミングｔｋの前に、目標軌道に基づいて、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの期間におけるワーク２の移動量Δｐを推定することができる。これにより、変形例１，２と同様に、撮像トリガＴＲが出力されてから計測位置ＰＳａ，ＰＳｂが特定されるまでの時間を短縮できる。
【０１４２】
さらに、モーションコントローラ４００は、撮像トリガＴＲと探索範囲ＳＲａ，ＳＲｂとを同時に画像処理装置３０４に出力することができる。そのため、画像処理装置３０４とモーションコントローラ４００との間の通信シーケンスを簡略化できる。
【０１４３】
＜４−３−１．制御システムの機能構成＞
図１０は、変形例３に係る制御システム１Ａの機能構成を示すブロック図である。図１０に示されるように、制御システム１Ａは、図４に示す制御システム１と比較して、モーションコントローラ４００の代わりにモーションコントローラ４００Ａを備える点で相違する。モーションコントローラ４００Ａは、モーションコントローラ４００と比較して、推定部４２および移動制御部４４の代わりに、推定部４２Ａおよび移動制御部４４Ａをそれぞれ含む点で相違する。移動制御部４４Ａは、移動制御部４４と比較して、位置決定部４５、減算部４６および演算部４７の代わりに目標軌道決定部４８および演算部４７Ａを備える点で相違する。
【０１４４】
＜４−３−１−１．目標軌道決定部＞
目標軌道決定部４８は、画像処理装置３０４によって特定されたマーク５ａの計測位置ＰＳａおよびマーク５ｂの計測位置ＰＳｂと、目標位置ＳＰとに基づいて、移動機構１００の目標軌道を決定する。具体的には、以下のようにして目標軌道を決定する。
【０１４５】
目標軌道決定部４８は、計測位置ＰＳａ，ＰＳｂに基づいて、撮像タイミングｔ（ｋ−１）におけるワーク２の実位置を特定する。目標軌道決定部４８は、特定したワーク２の実位置から目標位置ＳＰに移動させるための移動機構１００の必要移動距離Ｌｏを算出する。目標軌道決定部４８は、移動機構１００の必要移動距離Ｌｏを、Ｘ軸方向の必要移動距離ＬＸとＹ軸方向の必要移動距離ＬＹと回転方向の必要移動距離Ｌθに分解する。
【０１４６】
目標軌道決定部４８は、必要移動距離ＬＸと、Ｘステージ１１０Ｘの目標位置ＳＰＸとに基づいて、Ｘステージ１１０Ｘの目標軌道ＴＧＸを決定する。目標軌道決定部４８は、必要移動距離ＬＹと、Ｙステージ１１０Ｙの目標位置ＳＰＹとに基づいて、Ｙステージ１１０Ｙの目標軌道ＴＧＹを決定する。目標軌道決定部４８は、必要移動距離Ｌθと、θステージ１１０θの目標位置ＳＰθとに基づいて、θステージ１１０θの目標軌道ＴＧθを決定する。
【０１４７】
図１１は、目標軌道ＴＧＸ，ＴＧＹ，ＴＧθの一例を示す図である。目標軌道ＴＧＸは、時刻ｔにおける目標軌道ＴＧＸの位置と目標位置ＳＰＸとの偏差の時間変化を示す関数ＬＸ（ｔ）が５次以上の多次関数となるように決定される。関数ＬＸ（ｔ）は、必要移動距離ＬＸと時刻ｔとを少なくとも説明変数とする関数である。同様に、目標軌道ＴＧＹは、時刻ｔにおける目標軌道ＴＧＹの位置と目標位置ＳＰＹとの偏差の時間変化を示す関数ＬＹ（ｔ）が５次以上の多次関数となるように決定される。目標軌道ＴＧθは、時刻ｔにおける目標軌道ＴＧθの位置と目標位置ＳＰθとの偏差の時間変化を示す関数Ｌθ（ｔ）が５次以上の多次関数となるように決定される。
【０１４８】
目標軌道決定部４８は、決定した目標軌道ＴＧＸ，ＴＧＹ，ＴＧθと目標位置ＳＰＸ，ＳＰＹ，ＳＰθとの偏差の時間変化をそれぞれ示す関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）を演算部４７Ａに出力する。関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）は、それぞれ目標軌道ＴＧＸ，ＴＧＹ，ＴＧθを示す情報である。
【０１４９】
目標軌道決定部４８は、撮像周期Ｔｂごとに、画像処理装置３０４によって特定されたマーク５ａ，５ｂの最新の計測位置ＰＳａ，ＰＳｂに従って、関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）を更新する。
【０１５０】
＜４−３−１−２．演算部＞
演算部４７Ａは、関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）に基づいて、制御周期Ｔｓごとに移動指令ＭＶＸ、ＭＶＹ，ＭＶθをそれぞれ算出する。具体的には、演算部４７Ａは、関数ＬＸ（ｔ）に現時刻ｔを代入することにより、目標位置ＳＰＸに対する目標軌道ＴＧＸにおける現時刻ｔの位置の偏差を算出する。演算部４７Ａは、算出した偏差に対してたとえばＰ演算を行なうことにより、移動指令ＭＶＸを算出する。演算部４７Ａは、同様の方法により、移動指令ＭＶＹ，ＭＶθを算出する。
【０１５１】
＜４−３−１−３．推定部＞
推定部４２Ａは、目標軌道決定部４８によって決定された目標軌道ＴＧＸ，ＴＧＹ，ＴＧθに基づいて、撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでのワーク２の移動量Δｐを推定する。具体的には、図１１に示されるように、推定部４２Ａは、目標軌道ＴＧＸにおける撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの移動量を、ワーク２のＸ方向の並進移動量ΔＸとして算出する。同様に、推定部４２Ａは、目標軌道ＴＧＹにおける撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの移動量を、ワーク２のＹ方向の並進移動量ΔＹとして算出する。推定部４２Ａは、目標軌道ＴＧθにおける撮像タイミングｔ（ｋ−１）から撮像タイミングｔｋまでの移動量を、ワーク２の回転移動量Δθとして算出する。
【０１５２】
＜４−３−２．目標軌道決定部の処理＞
図１２は、目標軌道決定部における処理の流れを示すフローチャートである。図１２に示される処理は、画像処理装置３０４によってマーク５ａ，５ｂの計測位置ＰＳａ，ＰＳｂが特定されるたびに行なわれる。
【０１５３】
ステップＳ３１において、目標軌道決定部４８は、マーク５ａ，５ｂの計測位置ＰＳａ，ＰＳｂを画像処理装置３０４から取得する。
【０１５４】
ステップＳ３２において、目標軌道決定部４８は、マーク５ａ，５ｂの計測位置ＰＳａ，ＰＳｂに基づいて、ワーク２の実位置を特定する。そして、目標軌道決定部４８は、特定したワーク２の実位置から目標位置ＳＰに移動させるための、Ｘ軸方向の必要移動距離ＬＸとＹ軸方向の必要移動距離ＬＹと回転方向の必要移動距離Ｌθとを算出する。
【０１５５】
ステップＳ３３において、目標軌道決定部４８は、必要移動距離ＬＸ，ＬＹ，Ｌθを補正する。当該補正は、移動機構１００上におけるワーク２のすべりや、移動機構１００の位置決め後における残留振動を抑制するために行なわれる。なお、ワーク２のすべりや残留振動が無視できる程度に小さい場合には、ステップＳ３３は省略されてもよい。
【０１５６】
ステップＳ３３の補正方法は、以下の通りである。目標軌道決定部４８は、エンコーダ１３０からのエンコーダ値に基づいて決定される移動機構１００の実位置と、前回決定した目標軌道における現時刻の位置との位置偏差Ｅｎ（ｔ）を誤差として算出する。位置偏差Ｅｎ（ｔ）は、Ｘ軸方向の成分ＥｎＸ（ｔ）と、Ｙ軸方向の成分ＥｎＹ（ｔ）と、回転方向の成分Ｅｎθ（ｔ）とに分解される。
【０１５７】
目標軌道決定部４８は、必要移動距離ＬＸを位置偏差ＥｎＸ（ｔ）で補正することにより、補正後の必要移動距離ＬＸｍを算出する。同様に、目標軌道決定部４８は、必要移動距離ＬＹを位置偏差ＥｎＹ（ｔ）で補正することにより、補正後の必要移動距離ＬＹｍを算出する。目標軌道決定部４８は、必要移動距離Ｌθを位置偏差Ｅｎθ（ｔ）で補正することにより、補正後の必要移動距離Ｌθｍを算出する。
【０１５８】
ステップＳ３４において、目標軌道決定部４８は、計測時刻ｔをゼロに初期化する。ステップＳ３５において、目標軌道決定部４８は、軌道時間Ｔを算出する。軌道時間Ｔは、目標軌道ＴＧＸ，ＴＧＹ，ＴＧθの開始点から終了点まで移動機構１００を移動するために要する時間を表わす。一例として、軌道時間Ｔは、以下の式（１１）に基づいて算出される。
【０１５９】
Ｔ＝ｍａｘ｛ｆ（Ａｍａｘ），Ｔｍｉｎ｝ ・・・（１１）
上記式（１１）に示される「Ａｍａｘ」は、最大加速度を表わす。「ｆ（）」は、最大加速度Ａｍａｘで必要移動距離を移動機構１００に移動させた場合にかかる軌道時間を求めるための関数である。「Ｔｍｉｎ」は、所定の最小軌道時間である。「ｍａｘ（α，β）」は、数値α，βの内から最大値を取得するための関数である。
【０１６０】
上記式（１１）により、軌道時間Ｔは、最小軌道時間Ｔｍｉｎ未満にならないように決められる。最小軌道時間Ｔｍｉｎが設けられていなければ、必要移動距離Ｌｏが非常に小さい場合に、移動機構１００が目標位置にすぐに到達してしまうので、次の撮像タイミングまでの時間を無駄にすることになる。しかしながら、最小軌道時間Ｔｍｉｎが設けられることで、必要移動距離Ｌｏが非常に小さい場合に、移動機構１００は、最大加速度よりも低い加速度で移動することとなり、移動機構１００は、滑らかに移動することができる。一例として、最小軌道時間Ｔｍｉｎは、平均撮像間隔に対して一定の割合（たとえば、５０％）を乗じることで算出される。
【０１６１】
ステップＳ３６において、目標軌道決定部４８は、ステップＳ３３で得られた必要移動距離ＬＸｍ，ＬＹｍ，Ｌθｍと、ステップＳ３５で算出された軌道時間Ｔとに基づいて、目標軌道ＴＧＸ，ＴＧＹ，ＴＧθをそれぞれ決定する。
【０１６２】
具体的には、目標軌道決定部４８は、目標軌道ＴＧＸの位置と目標位置ＳＰＸとの偏差の時間変化を示す関数ＬＸ（ｔ）が以下の式（１２）で表されるように、目標軌道ＴＧＸを決定する。目標軌道決定部４８は、目標軌道ＴＧＹの位置と目標位置ＳＰＹとの偏差の時間変化を示す関数ＬＹ（ｔ）が以下の式（１３）で表されるように、目標軌道ＴＧＹを決定する。目標軌道決定部４８は、目標軌道ＴＧθの位置と目標位置ＳＰθとの偏差の時間変化を示す関数Ｌθ（ｔ）が以下の式（１４）で表されるように、目標軌道ＴＧθを決定する。
【０１６３】
ＬＸ（ｔ）＝ＬＸｍ＊［１−（ｔ／Ｔ）３｛１０−１５（ｔ／Ｔ）＋６（ｔ／Ｔ）２｝］・・・（１２）
ＬＹ（ｔ）＝ＬＹｍ＊［１−（ｔ／Ｔ）３｛１０−１５（ｔ／Ｔ）＋６（ｔ／Ｔ）２｝］・・・（１３）
Ｌθ（ｔ）＝Ｌθｍ＊［１−（ｔ／Ｔ）３｛１０−１５（ｔ／Ｔ）＋６（ｔ／Ｔ）２｝］・・・（１４）
式（１２）〜（１４）に示されるように、関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）は、必要移動距離ＬＸｍ，ＬＹｍ，Ｌθｍと時刻ｔとを少なくとも説明変数とし、目標位置ＳｐＸ，ＳＰＹ，ＳＰθとの偏差を目的変数とする多次関数である。
【０１６４】
なお、上記の式（１２）〜（１４）に示す関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）は、５次関数であるが、関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）は、６次以上の多次関数であってもよい。
【０１６５】
最大加速度Ａｍａｘが与えられた場合、軌道時間Ｔは、下記式（１５）〜式（１７）で計算される。なお、式（１５）において、Ｌｍは、ＬＸｍ，ＬＹｍ，Ｌθｍである。
【０１６６】
ｆ（Ａｍａｘ）＝Ｃ１＊Ｌｍ／Ａｍａｘ ・・・（１５）
Ｃ１＝６０Ｃ２（２Ｃ２２−３Ｃ２＋１） ・・・（１６）
Ｃ２＝０．５−３１／２／６ ・・・（１７）
このようにして、目標軌道決定部４８は、計測位置ＰＳａ，ＰＳｂが特定されるたびに、移動機構１００が目標位置ＳＰに到達するまでの間の目標軌道ＴＧＸ，ＴＧＹ，ＴＧθをそれぞれ示す関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）を一括して算出する。
【０１６７】
＜４−４．変形例４＞
撮像タイミングｔｋよりも前に探索範囲ＳＲａ，ＳＲｂが決定される上記の変形例１〜３では、指示部４１は、画像取得範囲が探索範囲ＳＲａとなるようにカメラ３０２ａに指示し、画像取得範囲が探索範囲ＳＲｂとなるようにカメラ３０２ｂに指示してもよい。具体的には、指示部４１は、撮像トリガＴＲと合わせて探索範囲ＳＲａ，ＳＲｂを画像取得部３２に出力する。画像取得部３２は、画像取得範囲が探索範囲ＳＲａとなるようにカメラ３０２ａを制御するとともに、画像取得範囲が探索範囲ＳＲｂとなるようにカメラ３０２ｂを制御する。このように、指示部４１は、画像取得部３２を介して、カメラ３０２ａ，３０２ｂに画像取得範囲を指示する。
【０１６８】
これにより、マーク５ａ，５ｂが含まれる可能性のほとんどない範囲を撮像する必要がなくなり、カメラ３０２ａ，３０２ｂにおける撮像処理に要する時間を短縮できる。
【０１６９】
＜４−５．変形例５＞
上記の説明では、範囲決定部４３は、所定サイズの探索範囲ＳＲａ，ＳＲｂを決定する。しかしながら、範囲決定部４３は、推定部４２，４２Ａによって推定された移動量Δｐが大きいほど探索範囲ＳＲａ，ＳＲｂのサイズを大きくしてもよい。移動量Δｐが大きい場合、範囲決定部４３によって予測される予測位置ＰＥａ，ＰＥｂの誤差が大きくなる。そのため、移動量Δｐが大きいほど探索範囲ＳＲａ，ＳＲｂのサイズを大きくすることにより、マーク５ａ，５ｂが探索範囲ＳＲａ，ＳＲｂから外れることを抑制できる。
【０１７０】
＜４−６．変形例６＞
範囲決定部４３は、撮像タイミングｔｋにおけるマーク５ａ，５ｂの姿勢も予測し、予測した姿勢に応じて、探索範囲ＳＲａ，ＳＲｂの姿勢を決定してもよい。
【０１７１】
図１３は、変形例６における探索範囲の決定方法を示す図である。範囲決定部４３は、撮像タイミングｔ（ｋ−１）におけるマーク５ａの計測姿勢ΘＳａと推定部４２によって推定された回転移動量Δθとに基づいて、撮像タイミングｔｋにおけるマーク５ａの予測姿勢ΘＥａを予測する。範囲決定部４３は、ΘＥａ＝ΘＳａ＋Δθに従って、予測姿勢ΘＥａを予測すればよい。同様に、範囲決定部４３は、撮像タイミングｔ（ｋ−１）におけるマーク５ｂの計測姿勢ΘＳｂと推定部４２，４２Ａによって推定された回転移動量Δθとに基づいて、撮像タイミングｔｋにおけるマーク５ｂの予測姿勢ΘＥｂを予測する。範囲決定部４３は、ΘＥｂ＝ΘＳｂ＋Δθに従って、予測姿勢ΘＥｂを予測すればよい。
【０１７２】
範囲決定部４３は、図１３に示されるように、予測姿勢ΘＥａ，ΘＥｂを考慮して、探索範囲ＳＲａ，ＳＲｂの姿勢を決定する。
【０１７３】
＜４−７．その他の変形例＞
上記の説明では、移動機構１００はＸＹθテーブルとした。しかしながら、移動機構１００は、θＸＹテーブル、ＵＶＷテーブル、ＸＹテーブル、ＸＹＺテーブル、多関節ロボットなどであってもよい。
【０１７４】
上記の説明では、ワーク２に設けられたマーク５ａ，５ｂをワーク２の特徴部分として用いてワーク２が位置決めされる。しかしながら、ワーク２の他の部分をワーク２の特徴部分として用いてワーク２が位置決めされてもよい。たとえば、ワーク２に設けられたネジまたはネジ穴をワーク２の特徴部分として用いてもよい。もしくは、ワーク２の角部をワーク２の特徴部分として用いてもよい。
【０１７５】
上記の説明では、推定部４２（または推定部４２Ａ）および範囲決定部４３は、モーションコントローラに含まれるものとした。しかしながら、推定部４２（または推定部４２Ａ）および範囲決定部４３は、画像処理装置３０４に含まれていてもよい。この場合、画像処理装置３０４に含まれる推定部４２は、移動機構１００からの情報であるエンコーダ値ＰＶｍＸ，ＰＶｍＹ，ＰＶｍθをモーションコントローラ４００から取得して、移動量Δｐを推定する。もしくは、画像処理装置３０４に含まれる推定部４２は、移動制御部４４によって生成された情報である移動指令ＭＶＸ，ＭＶＹ，ＭＶθをモーションコントローラ４００から取得して、移動量Δｐを推定する。もしくは、画像処理装置３０４に含まれる推定部４２Ａは、移動制御部４４Ａによって生成された、目標軌道ＴＧＸ，ＴＧＹ，ＴＧθを示す情報（関数ＬＸ（ｔ），ＬＹ（ｔ），Ｌθ（ｔ）をモーションコントローラ４００Ａから取得して、移動量Δｐを推定する。
【０１７６】
サーボモータ１２０Ｘ，１２０Ｙ，１２０θは、回転式モータではなく、リニアモータであってもよい。また、エンコーダ１３０は、リニアエンコーダであってもよい。この場合、推定部４２は、モータの駆動量を示す情報として直線軸の位置を示す情報を取得し、取得した情報に基づいて、移動量Δｐを推定すればよい。
【０１７７】
§５  付記
以上のように、本実施の形態および変形例は以下のような開示を含む。
【０１７８】
（構成１）
対象物（２）を移動させる移動機構（１００）を制御して、前記対象物（２）の位置決めを行なう制御システム（１，１Ａ）であって、
前記対象物（２）を撮像する撮像部によって撮像タイミングごとに得られる画像の中から、前記対象物（２）の特徴部分を探索し、前記特徴部分の位置を特定するための画像処理装置（３０４）と、
前記画像処理装置（３０４）によって特定された前記特徴部分の位置に基づいて、前記対象物（２）の位置が目標位置に近づくように前記移動機構（１００）を制御するための移動制御部（４４，４４Ａ）と、
前記移動機構（１００）からの第１情報および前記移動制御部（４４，４４Ａ）によって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の前記対象物（２）の移動量を推定するための推定部（４２，４２Ａ）と、
前記第１撮像タイミングで撮像された画像から前記画像処理装置（３０４）によって特定された前記特徴部分の第１位置と前記移動量とに基づいて、前記第２撮像タイミングにおける前記特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するための決定部（４３）とを備え、
前記画像処理装置（３０４）は、前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索して、前記特徴部分の第２位置を特定する、制御システム（１，１Ａ）。
【０１７９】
（構成２）
前記移動機構（１００）は、前記対象物（２）を移動させるために駆動されるモータ（１２０Ｘ，１２０Ｙ，１２０θ）を含み、
前記推定部（４２）は、前記第１撮像タイミングから前記第２撮像タイミングまでの間の前記モータの駆動量を示す前記第１情報に基づいて、前記移動量を推定する、構成１に記載の制御システム（１）。
【０１８０】
（構成３）
前記移動機構（１００）は、前記対象物（２）を移動させるために駆動されるモータを含み、
前記移動制御部（４４）は、制御周期ごとに前記移動機構（１００）に対する移動指令を生成し、
前記推定部（４２）は、前記第１撮像タイミングから前記第１撮像タイミングと前記第２撮像タイミングとの間の中間タイミングまでの間の前記モータの駆動量を示す前記第１情報と、前記中間タイミングから前記第２撮像タイミングまでの間に前記フィードバック制御部によって生成された移動指令を示す前記第２情報とに基づいて、前記移動量を推定する、構成１に記載の制御システム（１）。
【０１８１】
（構成４）
前記移動制御部（４４Ａ）は、前記目標位置に対する前記対象物（２）の位置の偏差に基づいて前記移動機構（１００）の目標軌道を決定し、決定した前記目標軌道に従って移動するように前記移動機構（１００）を制御し、
前記推定部（４２Ａ）は、前記目標軌道を示す前記第２情報に基づいて、前記移動量を推定する、構成１に記載の制御システム（１Ａ）。
【０１８２】
（構成５）
画像取得範囲が前記探索範囲となるように前記撮像部に指示するための指示部（４１）をさらに備える、構成３または４に記載の制御システム（１，１Ａ）。
【０１８３】
（構成６）
前記決定部（４３）は、前記移動量が大きいほど前記探索範囲のサイズを大きくする、構成１から５のいずれかに記載の制御システム（１，１Ａ）。
【０１８４】
（構成７）
対象物（２）を移動させる移動機構（１００）と、前記対象物（２）を撮像する撮像部によって撮像タイミングごとに得られた画像の中から、前記対象物（２）の特徴部分を探索し、前記特徴部分の位置を特定するための画像処理装置（３０４）とを制御して、前記対象物（２）の位置決めを行なう制御装置であって、
前記画像処理装置（３０４）によって特定された前記特徴部分の位置に基づいて、前記対象物（２）の位置が目標位置に近づくように前記移動機構（１００）を制御するための移動制御部（４４，４４Ａ）と、
前記移動機構（１００）からの第１情報および前記移動制御部（４４，４４Ａ）によって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の前記対象物（２）の移動量を推定するための推定部（４２，４２Ａ）と、
前記第１撮像タイミングで撮像された画像から前記画像処理装置（３０４）によって特定された前記特徴部分の位置と前記移動量とに基づいて、前記第２撮像タイミングにおける前記特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するための決定部（４３）と、
前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索するように前記画像処理装置（３０４）に指示するための指示部（４１）とを備える、制御装置（４００，４００Ａ）。
【０１８５】
（構成７’）
構成１から６のいずれかの制御システム（１，１Ａ）に用いられる制御装置（４００，４００Ａ）であって、
前記移動制御部（４４，４４Ａ）と、
前記推定部（４２，４２Ａ）と、
前記決定部（４３）と、
前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索するように前記画像処理装置（３０４）に指示するための指示部（４１）とを備える、制御装置（４００，４００Ａ）。
【０１８６】
（構成８）
対象物（２）を撮像することにより得られた画像に基づいて前記対象物（２）の特徴部分の位置を特定する画像処理装置（３０４）であって、
探索範囲の指定を受け付けるための受付部（３２）と、
前記画像のうちの前記探索範囲の中から前記特徴部分を探索し、前記特徴部分の位置を特定するための位置特定部（３４）とを備える、画像処理装置（３０４）。
【０１８７】
（構成８’）
構成１から６のいずれかの制御システム（１，１Ａ）に用いられる画像処理装置（３０４）であって、
探索範囲の指定を受け付けるための受付部（３２）と、
前記画像のうちの前記探索範囲の中から前記特徴部分を探索し、前記特徴部分の位置を特定するための位置特定部（３４）とを備える、画像処理装置（３０４）。
【０１８８】
（構成９）
対象物（２）を移動させる移動機構（１００）を制御して、前記対象物（２）の位置決めを行なう制御システム（１，１Ａ）をサポートするためのプログラム（４４０）であって、
前記制御システム（１，１Ａ）は、撮像タイミングごとに前記対象物（２）を撮像することにより得られた画像の中から前記対象物（２）の特徴部分を探索し、前記特徴部分の位置を特定するための画像処理装置（３０４）を備え、
コンピュータに、
前記画像処理装置（３０４）によって特定された前記特徴部分の位置に基づいて、前記対象物（２）の位置が目標位置に近づくように前記移動機構（１００）を制御するステップと、
前記移動機構（１００）からの第１情報および前記制御するステップによって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の前記対象物（２）の移動量を推定するステップと、
前記第１撮像タイミングで撮像された画像から前記画像処理装置（３０４）によって特定された前記特徴部分の位置と前記移動量とに基づいて、前記第２撮像タイミングにおける前記特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するステップと、
前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索するように前記画像処理装置（３０４）に指示するステップとを実行させる、プログラム（４４０）。
【０１８９】
（構成９’）
構成１から６のいずれかの制御システム（１，１Ａ）をサポートするためのプログラム（４４０）であって、
コンピュータに、
前記画像処理装置（３０４）によって特定された前記特徴部分の位置に基づいて、前記対象物（２）の位置が目標位置に近づくように前記移動機構（１００）を制御するステップと、
前記移動機構（１００）からの第１情報および前記制御するステップによって生成される第２情報の少なくとも一方に基づいて、第１撮像タイミングから次の第２撮像タイミングまでの間の前記対象物（２）の移動量を推定するステップと、
前記第１撮像タイミングで撮像された画像から前記画像処理装置（３０４）によって特定された前記特徴部分の位置と前記移動量とに基づいて、前記第２撮像タイミングにおける前記特徴部分の位置を予測し、予測した位置を含む探索範囲を決定するステップと、
前記第２撮像タイミングで撮像された画像のうち前記探索範囲の中から前記特徴部分を探索するように前記画像処理装置（３０４）に指示するステップとを実行させる、プログラム（４４０）。
【０１９０】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
【符号の説明】
【０１９１】
１，１Ａ  制御システム、２  ワーク、４  露光マスク、５ａ，５ｂ  マーク、３２  画像取得部、３４  受付部、３６  位置特定部、４１  指示部、４２，４２Ａ  推定部、４３  範囲決定部、４４，４４Ａ  移動制御部、４５  位置決定部、４６  減算部、４７，４７Ａ  演算部、４８  目標軌道決定部、５０ａ，５０ｂ  画像、１００  移動機構、１１０Ｘ  Ｘステージ、１１０Ｙ  Ｙステージ、１１０θ  θステージ、１２０Ｘ，１２０Ｙ，１２０θ  サーボモータ、１３０  エンコーダ、２００  ドライバユニット、２００Ｘ，２００Ｙ，２００θ  サーボドライバ、３００  視覚センサ、３０２ａ，３０２ｂ  カメラ、３０４  画像処理装置、３１０，４１４  プロセッサ、３１２  ＲＡＭ、３１４  表示コントローラ、３１６  システムコントローラ、３１８  Ｉ／Ｏコントローラ、３２０  ハードディスク、３２２  カメラインターフェイス、３２２ａ，３２２ｂ  画像バッファ、３２４  入力インターフェイス、３２６  モーションコントローラインターフェイス、３２８，４２８  通信インターフェイス、３３０，４２２  メモリカードインターフェイス、３３２  表示部、３３４  キーボード、３３６  メモリカード、３５０，４４０  制御プログラム、４００，４００Ａ  モーションコントローラ、４１２  チップセット、４１６  不揮発性メモリ、４１８  主メモリ、４２０  システムクロック、４２４  記録媒体、４３０  内部バスコントローラ、４３２  ＤＭＡ制御回路、４３４  内部バス制御回路、４３６  バッファメモリ、４３８  フィールドバスコントローラ。
【図１】
2019215633.tif 000005
【図２】
2019215633.tif 000006
【図３】
2019215633.tif 000007
【図４】
2019215633.tif 000008
【図５】
2019215633.tif 000009
【図６】
2019215633.tif 000010
【図７】
2019215633.tif 000011
【図８】
2019215633.tif 000012
【図９】
2019215633.tif 000013
【図１０】
2019215633.tif 000014
【図１１】
2019215633.tif 000015
【図１２】
2019215633.tif 000016
【図１３】
2019215633.tif 000017