(57)【要約】【課題】画像処理を用いた位置決めをより高速かつより高精度に実現することが要求されている。【解決手段】制御システムは、第１の制御動作を実行後に第２の制御動作を実行し、第１の制御動作において、画像処理手段は、画像データを取得して特徴部分の位置を特定し、制御手段は、特定された特徴部分の位置に基づいて、対象物を所定の第１の速度まで加速した後で第１の速度より小さい所定の第２の速度まで減速して最終目標位置から所定の余裕距離だけ離れた中間目標位置に移動するための制御指令を決定する。第２の制御動作において、画像処理手段は、移動機構の移動中に画像データを取得して特徴部分の位置を特定し制御手段は、特定された特徴部分の位置に基づいて、対象物を最終目標位置に位置決めするための制御指令を決定する。余裕距離は、移動機構を許容される最大加速度で第２の速度から減速させたときに対象物が最終目標位置を行き過ぎることのないよう定められている。【選択図】図６
2014203365.tif 000002
【特許請求の範囲】
【請求項１】
位置決め用の特徴部分が設けられた対象物を撮影して得られる画像データを取得し、前記画像データに含まれる前記特徴部分の位置を特定する画像処理手段と、
前記対象物の位置を変更する移動機構に対して、前記特定された特徴部分の位置に基づいて制御指令を与えることで、前記対象物を所定の最終目標位置に位置決めする制御手段とを備える制御システムであって、
前記制御システムは、第１の制御動作を実行後に第２の制御動作を実行し、
前記第１の制御動作において、前記画像処理手段は、前記画像データを取得して前記特徴部分の位置を特定し、前記制御手段は、前記特定された前記特徴部分の位置に基づいて、前記対象物を所定の第１の速度まで加速した後で前記第１の速度より小さい所定の第２の速度まで減速して前記最終目標位置から所定の余裕距離だけ離れた中間目標位置に移動するための制御指令を決定し、
前記第２の制御動作において、前記画像処理手段は、前記移動機構の移動中に前記画像データを取得して前記特徴部分の位置を特定し前記制御手段は、前記特定された前記特徴部分の位置に基づいて、前記対象物を前記最終目標位置に位置決めするための制御指令を決定し、
前記余裕距離は、前記移動機構を許容される最大加速度で前記第２の速度から減速させたときに前記対象物が前記最終目標位置を行き過ぎることのないよう定められている、制御システム。
【請求項２】
前記第２の制御動作において、前記制御システムは、前記画像処理手段による前記特徴部分の位置の特定と、前記制御手段による前記対象物を前記最終目標位置に位置決めするための制御指令の決定とを繰返し実行する、請求項１に記載の制御システム。
【請求項３】
前記余裕距離は、前記移動機構を予め定められた移動量だけ移動させて、当該移動後の対象物の位置を前記画像処理手段が特定した結果と、当該予め定められた移動量との比較により決定される第１の距離と、前記画像処理手段が画像データを取得してから前記特徴部分の位置を特定するまでの間だけ前記移動機構を前記第２の速度にて移動させ、さらに前記移動機構を許容される最大加速度で前記第２の速度から減速させ停止させるまでの間の前記移動機構の移動量である第２の距離との和である、請求項１に記載の制御システム。
【請求項４】
前記第１の制御動作における前記制御指令は、前記移動機構を許容される最大加速度で加速させる指令を含む、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記制御手段は、前記第２の制御動作において、前記画像処理手段による前記特徴部分の位置の特定が正常ではない場合に、前記制御指令の決定をスキップする、請求項１〜３のいずれか１項に記載の制御システム。
【請求項６】
前記画像処理手段は、互いに視野サイズの異なる第１および第２のカメラからそれぞれ画像データを取得するように構成されており、
前記制御手段は、
視野サイズがより大きい第１のカメラからの画像データに基づいて前記第１の制御動作において用いられる前記制御指令を決定し、
前記第１の制御動作において、前記移動機構の移動中に、前記画像データの取得先を前記第１のカメラに代えて視野サイズがより小さい第２のカメラに切換える、請求項１〜３のいずれか１項に記載の制御システム。
【請求項７】
前記画像処理手段は、前記第２の制御動作において、前記特徴部分の位置の特定が正常ではない場合に、前記制御指令の決定をスキップする、請求項１〜３のいずれか１項に記載の制御システム。
【請求項８】
前記画像処理手段は、互いに視野サイズの異なる第１および第２のカメラからそれぞれ画像データを取得するように構成されており、
前記画像処理手段は、
視野サイズがより大きい第１のカメラからの画像データに基づいて前記第１の制御動作において用いられる前記制御指令を決定し、
前記第１の制御動作において、前記移動機構の移動中に、前記画像データの取得先を前記第１のカメラに代えて視野サイズがより小さい第２のカメラに切換える、請求項１〜３のいずれか１項に記載の制御システム。
【請求項９】
前記移動機構は、前記第１および第２の制御動作に従って位置決めされる座標系に加えて、さらに移動可能な別の座標系を有しており、
前記制御手段は、当該別の座標系において前記移動機構が移動することによって生じる誤差に応じて、前記第２の制御動作における制御指令を補正する、請求項１〜３のいずれか１項に記載の制御システム。
【請求項１０】
位置決め用の特徴部分が設けられた対象物を撮影して得られる画像データを取得し、前記画像データに含まれる前記特徴部分の位置を特定するステップと、
前記対象物の位置を変更する移動機構に対して、前記特定された特徴部分の位置に基づいて制御指令を与えることで、前記対象物を所定の最終目標位置に位置決めするステップとを含む制御方法であって、
前記制御方法において、第１の制御動作を実行後に第２の制御動作が実行され、
前記第１の制御動作において、前記画像データを取得して前記特徴部分の位置を特定するステップが実行された後、前記位置決めするステップは、前記特定された前記特徴部分の位置に基づいて、前記対象物を所定の第１の速度まで加速した後で前記第１の速度より小さい所定の第２の速度まで減速して前記最終目標位置から所定の余裕距離だけ離れた中間目標位置に移動するための制御指令を決定するステップを含み、
前記第２の制御動作において、前記移動機構の移動中に前記画像データを取得して前記特徴部分の位置を特定するステップが実行された後、前記位置決めするステップは、特定された前記特徴部分の位置に基づいて、前記対象物を前記最終目標位置に位置決めするステップを含み、
前記余裕距離は、前記移動機構を許容される最大加速度で前記第２の速度から減速させたときに前記対象物が前記最終目標位置を行き過ぎることのないよう定められている、制御方法。
【請求項１１】
前記位置決めするステップは、前記対象物と目標地点との間の距離が、前記画像データから特定される位置に生じる誤差に応じた距離以下になると、前記第１の制御動作から前記第２の制御動作への切替えるステップを含み、
前記制御方法は、さらに
前記移動機構を予め定められた移動量だけ移動させるステップと、
前記移動後の対象物の位置を撮影して得られる画像データから位置を特定するステップと、
前記移動機構を複数回移動させるとともに、前記予め定められた移動量と特定された前記対象物の位置とのそれぞれの比較に応じて、前記誤差に応じた距離を決定するステップとを含む、請求項１０に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理を用いて対象物を位置決めするための制御システムおよび制御方法に関する。
【背景技術】
【０００２】
従来から、製造現場では様々な自動化技術が開発されている。このような自動化技術の一つとして、画像処理を用いた自動制御技術が知られている。
【０００３】
例えば、特開２０００−１８０８１０号公報（特許文献１）は、それぞれに位置合わせ用のマークが設けられた一対の透明基板を位置決めして重ね合わせて組み立てる液晶表示セルの製造装置において、上基板ロボットもしくは下基板ロボットいずれかのテーブル搬送位置（教示位置）を上下透明基板の位置ズレ量分修正し制御する構成を開示する。
【０００４】
非特許文献１は、ロボティクスシステムにおいて、画像処理技術を応用したadaptive control schemeを開示する。
【０００５】
なお、ワークの位置決めに関して、特開２００６−０４９７５５号公報（特許文献２）は、ステージの回転中心を簡易な方法で精度良く求めることにより、ワークの位置決めの精度を向上する方法を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１８０８１０号公報
【特許文献２】特開２００６−０４９７５５号公報
【非特許文献】
【０００７】
【非特許文献１】P. Papnikopoulos and Khosla P. K., "Adaptive robotic visual tracking", Theory and experiments., IEEE Transactions on Automatic Control, 38(3):429-445, March 1993
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、製造現場では、高速化および高精度化の要求がますます高まっている。上述の先行技術では、このような要求に応えることができない。具体的には、特許文献１に開示される位置決め技術では、繰返しの位置決めが必要になり、高速化の要求に応えることができない。また、非特許文献１に開示される方法では、精度を高めるために移動速度を抑制する必要があり、全体としては、高速化の要求に応えることが難しい。
【０００９】
そのため、画像処理を用いた位置決めをより高速かつより高精度に実現することが要求されている。
【課題を解決するための手段】
【００１０】
本発明のある局面に係る制御システムは、位置決め用の特徴部分が設けられた対象物を撮影して得られる画像データを取得し、画像データに含まれる特徴部分の位置を特定する画像処理手段と、対象物の位置を変更する移動機構に対して、特定された特徴部分の位置に基づいて制御指令を与えることで、対象物を所定の最終目標位置に位置決めする制御手段とを含む。制御システムは、第１の制御動作を実行後に第２の制御動作を実行し、第１の制御動作において、画像処理手段は、画像データを取得して特徴部分の位置を特定し、制御手段は、特定された特徴部分の位置に基づいて、対象物を所定の第１の速度まで加速した後で第１の速度より小さい所定の第２の速度まで減速して最終目標位置から所定の余裕距離だけ離れた中間目標位置に移動するための制御指令を決定する。第２の制御動作において、画像処理手段は、移動機構の移動中に画像データを取得して特徴部分の位置を特定し制御手段は、特定された特徴部分の位置に基づいて、対象物を最終目標位置に位置決めするための制御指令を決定する。余裕距離は、移動機構を許容される最大加速度で第２の速度から減速させたときに対象物が最終目標位置を行き過ぎることのないよう定められている。
【００１１】
好ましくは、第２の制御動作において、制御システムは、画像処理手段による特徴部分の位置の特定と、制御手段による対象物を最終目標位置に位置決めするための制御指令の決定とを繰返し実行する。
【００１２】
好ましくは、余裕距離は、移動機構を予め定められた移動量だけ移動させて、当該移動後の対象物の位置を画像処理手段が特定した結果と、当該予め定められた移動量との比較により決定される第１の距離と、画像処理手段が画像データを取得してから特徴部分の位置を特定するまでの間だけ移動機構を第２の速度にて移動させ、さらに移動機構を許容される最大加速度で第２の速度から減速させ停止させるまでの間の移動機構の移動量である第２の距離のうち、大きい方の値である。
【００１３】
好ましくは、第１の制御動作における制御指令は、移動機構を許容される最大加速度で加速させる指令を含む。
【００１４】
好ましくは、制御手段は、第２の制御動作において、画像処理手段による特徴部分の位置の特定が正常ではない場合に、制御指令の決定をスキップする。
【００１５】
好ましくは、画像処理手段は、互いに視野サイズの異なる第１および第２のカメラからそれぞれ画像データを取得するように構成されている。制御手段は、視野サイズがより大きい第１のカメラからの画像データに基づいて第１の制御動作において用いられる制御指令を決定し、第１の制御動作において、移動機構の移動中に、画像データの取得先を第１のカメラに代えて視野サイズがより小さい第２のカメラに切換える。
【００１６】
好ましくは、画像処理手段は、第２の制御動作において、特徴部分の位置の特定が正常ではない場合に、制御指令の決定をスキップする。
【００１７】
好ましくは、画像処理手段は、互いに視野サイズの異なる第１および第２のカメラからそれぞれ画像データを取得するように構成されている。画像処理手段は、視野サイズがより大きい第１のカメラからの画像データに基づいて第１の制御動作において用いられる制御指令を決定し、第１の制御動作において、移動機構の移動中に、画像データの取得先を第１のカメラに代えて視野サイズがより小さい第２のカメラに切換える。
【００１８】
好ましくは、移動機構は、第１および第２の制御動作に従って位置決めされる座標系に加えて、さらに移動可能な別の座標系を有している。制御手段は、当該別の座標系において移動機構が移動することによって生じる誤差に応じて、第２の制御動作における制御指令を補正する。
【００１９】
本発明の別の局面に係る制御方法は、位置決め用の特徴部分が設けられた対象物を撮影して得られる画像データを取得し、画像データに含まれる特徴部分の位置を特定するステップと、対象物の位置を変更する移動機構に対して、特定された特徴部分の位置に基づいて制御指令を与えることで、対象物を所定の最終目標位置に位置決めするステップとを含む。制御方法において、第１の制御動作を実行後に第２の制御動作が実行される。第１の制御動作において、画像データを取得して特徴部分の位置を特定するステップが実行された後、位置決めするステップは、特定された特徴部分の位置に基づいて、対象物を所定の第１の速度まで加速した後で第１の速度より小さい所定の第２の速度まで減速して最終目標位置から所定の余裕距離だけ離れた中間目標位置に移動するための制御指令を決定するステップを含む。第２の制御動作において、移動機構の移動中に画像データを取得して特徴部分の位置を特定するステップが実行された後、位置決めするステップは、特定された特徴部分の位置に基づいて、対象物を最終目標位置に位置決めするステップを含む。余裕距離は、移動機構を許容される最大加速度で第２の速度から減速させたときに対象物が最終目標位置を行き過ぎることのないよう定められている。
【００２０】
好ましくは、位置決めするステップは、対象物と目標地点との間の距離が、画像データから特定される位置に生じる誤差に応じた距離以下になると、第１の制御動作から第２の制御動作への切替えるステップを含む。制御方法は、さらに、移動機構を予め定められた移動量だけ移動させるステップと、移動後の対象物の位置を撮影して得られる画像データから位置を特定するステップと、移動機構を複数回移動させるとともに、予め定められた移動量と特定された対象物の位置とのそれぞれの比較に応じて、誤差に応じた距離を決定するステップとを含む。
【発明の効果】
【００２１】
本発明によれば、画像処理を用いた位置決めをより高速かつより高精度に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態に係る制御システムの全体構成を示す模式図である。
【図２】本実施の形態に係る制御システムを構成する画像処理装置のハードウェア構成を示す模式図である。
【図３】本実施の形態に係る制御システムを構成するモーションコントローラのハードウェア構成を示す模式図である。
【図４】本発明の関連技術に係る繰返し位置決めのアライメントを説明するための図である。
【図５】本発明の関連技術に係るノンストップアライメントを説明するための図である。
【図６】本実施の形態に係るアライメントを説明するための図である。
【図７】本実施の形態に係るアライメントの速度パターンを説明するための図である。
【図８】本実施の形態に係るアライメントの実施に必要なシステムパラメータを示す図である。
【図９】本実施の形態に係るアライメントに用いるノンストップアライメント許容最大速度Ｖｎｓ＿ｍａｘを決定する方法を説明するための図である。
【図１０】本実施の形態に係るアライメントの処理手順を示すフローチャートである。
【図１１】本実施の形態に係るアライメントの前処理としてのキャリブレーションを説明するための図である。
【図１２】本実施の形態に係るアライメントの前処理としてのキャリブレーションの原理を説明するための図である。
【図１３】本実施の形態に係るアライメントの前処理としての目標地点（回転中心）の決定処理を説明するための図である。
【図１４】本実施の形態に係るアライメントの前処理としての目標地点（回転中心）の決定処理の原理を説明するための図である。
【図１５】本実施の形態に係るアライメントに用いるノンストップアライメント開始距離ｄｎｓの理論値を決定する方法を説明するための図である。
【図１６】本実施の形態に係るアライメントに用いるノンストップアライメント開始距離を決定する方法（その１）を説明するための図である。
【図１７】図１６に示すノンストップアライメント開始距離を決定する手順を示すフローチャートである。
【図１８】本実施の形態に係るアライメントに用いるノンストップアライメント開始距離を決定する方法（その２）を説明するための図である。
【図１９】図１８に示すノンストップアライメント開始距離を決定する手順を示すフローチャートである。
【図２０】本実施の形態に係るアライメントの実行時に計測処理が失敗した場合の処理を説明するための図である。
【図２１】本実施の形態の変形例１に係る制御システムの構成を説明するための模式図である。
【図２２】本実施の形態の変形例１に係るアライメントを説明するための図である。
【図２３】本実施の形態の変形例２に係る適用例を説明するための模式図である。
【図２４】図２３に示す適用例における補正処理を説明するための図である。
【図２５】本実施の形態に係るアライメントによる移動時間の短縮効果を説明するための図である。
【発明を実施するための形態】
【００２３】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２４】
＜Ａ．適用例＞
まず、本実施の形態に係る制御システムの一つの適用例について説明する。図１は、本実施の形態に係る制御システム１の全体構成を示す模式図である。図１に示す制御システム１は、画像処理を用いてアライメントを行う。アライメントは、典型的には、工業製品の製造過程などにおいて、対象物（以下、「ワーク」とも称す）を生産ラインの本来の位置に配置する処理などを意味する。このようなアライメントの一例として、制御システム１は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理（露光処理）前に、露光マスク４に対するガラス基板２の位置決めを制御する。ワークには、予め定められた位置に位置決め用の特徴部分である位置決めマーク１２および１４が設けられている。制御システム１では、ガラス基板上に予め設けられている位置決めマーク１２および１４を撮影し、この撮影した画像に対して画像処理を行うことで、精密な位置決めを実現する。
【００２５】
制御システム１は、画像処理装置１００と、モーションコントローラ２００と、ステージ３００とを含む。画像処理装置１００は、１つ以上のカメラ（図１の例では、カメラ１０２および１０４）が撮影した画像データを取得し、その取得した画像データに含まれる位置決めマーク１２および１４の位置からワークであるガラス基板２の位置を特定する。そして、その特定したガラス基板２の位置に基づいて、ガラス基板２を本来の位置に配置するための指令をモーションコントローラ２００へ出力する。すなわち、画像処理手段に相当する画像処理装置１００は、予め定められた位置に特徴部分が設けられた対象物を、撮影して得られる画像データを取得するとともに、画像データに含まれる特徴部分の位置を特定する。
【００２６】
モーションコントローラ２００は、画像処理装置１００からの指令に従って、ステージ３００に対して指令を与えることで、ガラス基板２に対するアライメントを実現する。すなわち、制御手段に相当するモーションコントローラ２００は、対象物の位置を変更する移動機構に対して、特定された特徴部分の位置に基づいて制御指令を与えることで、対象物を所定の最終目標位置に位置決めする。
【００２７】
ステージ３００は、ワークであるガラス基板２を本来の位置に配置できる機構であればどのような自由度のものであってもよい。本実施の形態においては、ステージ３００は、水平方向の変位と回転の変位をガラス基板２に与えることができるものとする。すなわち、ガラス基板２をＸ方向およびＹ方向にそれぞれ移動させることができるとともに、所定の回転軸を中心にガラス基板２を回転させることができるとする。このようなステージ３００に対する制御としては、先にガラス基板２を水平方向に目標地点まで移動させ（以下、「ＸＹ移動」とも称す）、その後、必要に応じてガラス基板２を回転させる。
【００２８】
＜Ｂ．装置構成＞
次に、本実施の形態に係る制御システム１を構成する装置の構成について説明する。
【００２９】
［ｂ１：画像処理装置１００］
図２は、本実施の形態に係る制御システム１を構成する画像処理装置１００のハードウェア構成を示す模式図である。図２を参照して、画像処理装置１００は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【００３０】
より具体的には、画像処理装置１００は、ＣＰＵ（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）制御回路２３２と、内部バス制御回路２３４とを含む。
【００５２】
メモリカードインターフェイス２２２は、主制御ユニット２１０に対して着脱可能なメモリカード２２４とプロセッサ２１４とを接続する。
【００５３】
＜Ｃ．関連技術＞
次に、本実施の形態に係るアライメントに係る制御方法の理解を容易にするために、本発明の関連技術について説明する。
【００５４】
［ｃ１：繰返し位置決め（関連技術その１）］
図１に示すような適用例におけるアライメントでは、高い位置精度が要求されるため、１回の移動では要求精度を満たさない場合がある。この主たる原因は、キャリブレーション誤差やカメラのノイズなどによる画像処理における計測誤差である。そのため、特許文献１に開示されるように、位置計測と移動とを数回繰返すことで、位置精度を高めるという手法が採用される場合がある。
【００５５】
図４は、本発明の関連技術に係る繰返し位置決めのアライメントを説明するための図である。図４に示すように、まず撮影を行ってワークの目標地点までの差分（ベクトル量）を算出するとともに、ワークに対するＸＹ移動の動きを決定して実行する（撮影１回目）。このＸＹ移動の動きは、典型的には、一定加速度で加速し、その後一定速度（基本的には、システム許容の最大速度）を維持した後、一定減速度で減速して停止する。この停止時点で、再度撮影を行ってワークの目標地点までの差分を再算出し、ワークが目標地点から所定の許容誤差範囲内に到達していなければ、ワークに対するＸＹ移動の動きを再決定して再実行する（撮影２回目）。
【００５６】
以下、誤差が一定以内になるまで、撮影、目標地点までの差分の算出、移動、および停止という一連の処理サイクルが繰返される。すなわち、目標地点に到達するまでの間、撮影→加速→減速→停止という処理が繰返されることになり、加減速に要する時間だけ全体としての移動時間に無駄が生じる。また、一旦停止させる場合には、装置全体の振動を無くすまでの安定化時間（整定時間）が必要であるため、この点においても、全体としての移動時間が長くなる。
【００５７】
移動時間の短縮のために、ステージ３００を停止させることなく、一連の移動によって目標地点に到達することが要求されている。
【００５８】
［ｃ２：ノンストップアライメント（関連技術その２）］
装置の駆動機構を止めずに位置決めする方法として、「ビジュアルサーボ」が知られている。この「ビジュアルサーボ」は、動いているワークをカメラで連続的に撮影し、その画像処理の結果からワークの動きの方向や速度を時々刻々と調整する方法である。非特許文献１に開示されるように、ロボットの制御などの分野において研究が進んでいる。
【００５９】
このような「ビジュアルサーボ」の技術を上述したようなアライメントに適用することができる。このようなアライメントの手法では、図４に示すよう目標地点に到達するまでに、位置計測のためにステージ３００を停止させなくともよいので、以下「ノンストップアライメント」あるいは「ＮＳＡ」と称することにする。
【００６０】
図５は、本発明の関連技術に係るノンストップアライメントを説明するための図である。図５に示すように、まず撮影を行ってワークの目標地点までの差分を算出するとともに、ワークに対するＸＹ移動の動きを決定して実行する。続いて、ステージ３００の移動中に再度撮影を行って、ワークの目標地点までの差分を算出するとともに、動きの修正を行う。すなわち、先の撮影の結果に応じて決定された動き（目標軌道、速度パターン、または加速度パターンなど）を新たに撮影された結果に応じて修正する。この撮影と動きの修正とを連続的に繰返すことで、ワークを目標地点まで移動させる。
【００６１】
しかしながら、ノンストップアライメントでは、テーブルを停止させないので、初期地点から目標地点までの移動において、ワークが目標地点を行き過ぎないように制御しなければならない。これは、ワークが目標地点を行き過ぎると、その直前の移動とは逆方向の移動を行わなければならず、移動機構を逆転させる必要がある。このような移動機構の逆転動作によって、バックラッシが発生したり、慣性モーメントによって移動機構を損傷させたりする可能性があるからである。
【００６２】
そのため、ワークの動きを正確に調整し、精度よく目標地点に到達させる必要があり、これを実現するためには、システム許容の最大速度より大幅に低い移動速度でワークを制御する必要がある。その結果、全体としての移動に要する時間を短縮できない、あるいはより長くなる場合がある。
【００６３】
＜Ｄ．本実施の形態に係るアライメントの概要＞
本実施の形態に係るアライメントは、上述したような関連技術に比較して、アライメント開始から終了までに要する時間を最小化することを目的とする。具体的な手法として、アライメントの最初の段階では、システム許容の最大速度で目標地点に近付くとともに、目標地点からある範囲内に到達すると、上述したようなノンストップアライメントに切替えて目標地点に到達する。すなわち、本実施の形態に係るアライメントは、移動速度を高めることができる通常アライメントと、ステージ３００を停止させることなく目標地点への位置決めが可能なノンストップアライメントとを組み合わせた方法である。ステージ３００の動きを停止させることなく、通常アライメントとノンストップアライメントとを切替えることで、全体としての移動に要する時間を最小化する。
【００６４】
図６は、本実施の形態に係るアライメントを説明するための図である。図６に示すように、まず撮影を行ってワークの目標地点までの差分（ベクトル量）を算出するとともに、ワークに対するＸＹ移動の動きを決定して実行する（撮影１回目）。つまり、１回目の撮影で最初の目標地点を決定し、その決定した目標地点（中間目標位置）に向けてシステム許容の最大速度でステージ３００を移動させる。そして、ステージ３００が目標地点からある距離だけ離れた位置まで到達すると、ステージ３００の減速を開始する。なお、図６に示すステージ３００の速度パターンは、撮影１回目の結果によって先に決定されていてもよい。すなわち、ステージ３００の減速開始の位置（あるいは、経過時間）は、予め決定されてもよい。
【００６５】
その後、ステージ３００が一定速度まで減速されると、ノンストップアライメントを開始し、誤差が一定以内になるまで、撮影と動き修正とが連続的に繰返され、ワークを目標地点まで移動させる。このとき、ノンストップアライメント制御周期ｆで撮影が実行される。但し、目標地点に十分近づいている場合には、１回の撮影で目標地点に到達できる場合もある。
【００６６】
このような通常アライメントとノンストップアライメントとを組み合わせることで、ワークを目標地点に位置決めするのに要する時間を短縮できる。すなわち、本実施の形態に係る制御システム１は、第１の制御動作（通常アライメント）を実行後に第２の制御動作（ノンストップアライメント）を実行する。第１の制御動作において、画像処理手段（画像処理装置１００）は、画像データを取得して特徴部分の位置を特定し、制御手段（モーションコントローラ２００）は、当該特定された特徴部分の位置に基づいて、対象物を所定の第１の速度まで加速した後で第１の速度より小さい所定の第２の速度まで減速して最終目標位置から所定の余裕距離だけ離れた中間目標位置に移動するための制御指令を決定する。第２の制御動作において、画像処理手段（画像処理装置１００）は、移動機構の移動中に画像データを取得して特徴部分の位置を特定し、制御手段（モーションコントローラ２００）は、当該特定された特徴部分の位置に基づいて、対象物を最終目標位置に位置決めするための制御指令を決定する。このとき、余裕距離は、移動機構を許容される最大加速度で第２の速度から減速させたときに対象物が最終目標位置を行き過ぎることのないよう定められている。
【００６７】
なお、多くの場合、第２の制御動作において、制御システム１は、画像処理手段（画像処理装置１００）による特徴部分の位置の特定と、制御手段（モーションコントローラ２００）による対象物を最終目標位置に位置決めするための制御指令の決定とを繰返し実行する。
【００６８】
なお、第２の制御動作における第１回目の撮影および計測は、中間目標位置への到達の前（例えば、第１の速度から第２の速度への減速中）に実行してもよい。
【００６９】
＜Ｅ．本実施の形態に係るアライメントの設定＞
次に、本実施の形態に係るアライメントの実施に必要な設定について説明する。
【００７０】
図７は、本実施の形態に係るアライメントの速度パターンを説明するための図である。図８は、本実施の形態に係るアライメントの実施に必要なシステムパラメータを示す図である。
【００７１】
図７を参照して、本実施の形態に係るアライメントの動きは、時間ｔ０〜時間ｔ５の合計６区間に分けることができる。
【００７２】
時間ｔ０は、画像処理装置１００によってワークを撮影するとともに、ワークの目標地点までの差分（ベクトル量）を算出して、ワークに対するＸＹ移動の動きを決定（初期計測）するのに要する時間である。この時間ｔ０において、通常アライメントに係る速度パターンなどが決定される。
【００７３】
時間ｔ１〜ｔ３までが通常アライメントの期間に相当する。時間ｔ１は、通常アライメントにおける加速期間に相当する。時間ｔ１において、ステージ３００は、システム許容の最大加速度で加速する。時間ｔ２は、最も高速に目標地点に近付く期間に相当する。時間ｔ２においては、ステージ３００は、システム許容の最大速度Ｖｓｙｓ＿ｍａｘで等速移動する。時間ｔ３は、通常アライメントにおける減速期間に相当する。時間ｔ３において、ステージ３００は、システム許容の最大減速度で減速する。
【００７４】
続いて、時間ｔ４〜ｔ５は、ノンストップアライメントの期間に相当する。時間ｔ４において、撮影と動き修正とが連続的に繰返され、ステージ３００がワークを目標地点付近まで移動させる。この時間ｔ４において、基本的には、ステージ３００はノンストップアライメント許容最大速度Ｖｎｓ＿ｍａｘで等速移動する。時間ｔ５は、ノンストップアライメントにおける減速期間に相当する。時間ｔ５の経過時点で、ワークは目標地点に位置決めされている。
【００７５】
上述の時間ｔ１〜ｔ５の長さおよび対応する移動距離ｄ１〜ｄ５については、図８に示すようなシステムパラメータを用いて、以下の（１）〜（６）式に従って算出できる。なお、図８に示すシステムパラメータは、システム構成部品の仕様およびシステム要求を含む。
【００７６】
【数１】
2014203365.tif 000003
【００７７】
ここで、全体としての移動時間を短縮するためには、以下のような要件が重要となる。
（ａ）通常アライメントにおける減速開始タイミング：遅いほど好ましい
（ｂ）ノンストップアライメント開始タイミング：遅いほど好ましい
すなわち、時間ｔ２をより長くするとともに、時間ｔ４をより短くすることが好ましい。上述の（３）式および（５）式を参照すると、ノンストップアライメント開始距離ｄｎｓ（以下、「ＮＳＡ開始距離ｄｎｓ」とも称す）をより短くすることで、上述の（ａ）および（ｂ）の要件を満たすことがわかる。
【００７８】
ＮＳＡ開始距離ｄｎｓは、キャリブレーション誤差やカメラのノイズなどによる画像処理における計測誤差の影響があったとしても、制御モードがノンストップアライメントへ変更された時点（図７に示すノンストップアライメント開始タイミング（時間ｔ４の開始時点））で、ワークが目標地点を行き過ぎていないようにするための余裕距離に相当する。つまり、システムに応じてこの余裕距離（ＮＳＡ開始距離ｄｎｓ）を最適化することで、全体としての移動時間を短縮できる。ＮＳＡ開始距離ｄｎｓの決定方法および最適化方法については、後述する。
【００７９】
なお、ＮＳＡ開始距離ｄｎｓと共に、ノンストップアライメント許容最大速度Ｖｎｓ＿ｍａｘについても最適化することが好ましい。
【００８０】
図９は、本実施の形態に係るアライメントに用いるノンストップアライメント許容最大速度Ｖｎｓ＿ｍａｘを決定する方法を説明するための図である。まず、ノンストップアライメントの制御性を維持するために、１つのノンストップアライメント制御周期ｆ内で停止する必要がある。つまり、ノンストップアライメント制御周期ｆ内で減速が完了する必要がある。そのため、この要件を満足するための条件としては、システム許容最大加速度をαとして、以下のように示すことができる。
【００８１】
Ｖｎｓ＿ｍａｘ≦α×ｆ  …（１）
また、制御システム１では、画像処理装置１００によって取得された位置情報に基づいてモーションコントローラ２００からサーボユニットに対して指示を与えるので、最大で１つのノンストップアライメント制御周期ｆ分だけ遅延する。そのため、ステージ３００の２周期分に亘って移動する距離（図９の面積Ｓ１と面積Ｓ２の合計に相当）だけ誤差が発生する。この発生し得る誤差を要求精度Ｒより小さくする必要がある。そのため、この要件を満足するための条件としては、以下のように示すことができる。
【００８２】
Ｓ≡Ｓ１＋Ｓ２＝Ｖｎｓ＿ｍａｘ×ｆ＋Ｖｎｓ＿ｍａｘ×ｆ／２＝Ｖｎｓ＿ｍａｘ×ｆ×３／２≦Ｒ
これを整理すると、以下のような条件が導き出される。
【００８３】
Ｖｎｓ＿ｍａｘ≦２Ｒ／３ｆ  …（２）
上記の（１）式および（２）式を同時に満たすように、ノンストップアライメント許容最大速度Ｖｎｓ＿ｍａｘが決定される。
【００８４】
このように、対象物と目標地点との間の距離が、画像処理装置１００により特定される位置に生じる誤差に応じた距離以下になると、第１の制御動作（通常アライメント）から第２の制御動作（ノンストップアライメント）への切替えが実行される。この誤差に応じた距離を決定する手順については、後述する。
【００８５】
また、第１の制御動作（通常アライメント）における制御指令は、移動機構（ステージ３００）を許容される最大加速度で加速させる指令を含む。
【００８６】
＜Ｆ．本実施の形態に係るアライメントの処理手順＞
次に、本実施の形態に係るアライメントの処理手順について説明する。図１０は、本実施の形態に係るアライメントの処理手順を示すフローチャートである。図１０に示す各ステップは、基本的には、画像処理装置１００およびモーションコントローラ２００が協働して実行する。なお、本実施の形態においては、２つの処理主体（画像処理装置１００およびモーションコントローラ２００）を用いる構成を例示するが、これらの処理主体を一体化した実装形態を採用することもできる。この場合には、以下に示す各ステップは、その一体化された処理主体が実行することになる。すなわち、本実施の形態に係るアライメントの実施に必要な各処理は、画像処理装置１００およびモーションコントローラ２００が互いに連係して、または、いずれか一方が単独で実行する。この処理の分担は、一種の設計事項であり、システム要求や各種制約に応じて適宜選択される。
【００８７】
図１０を参照して、画像処理装置１００は、カメラ１０２および１０４における視野とステージ３００の座標との位置関係を特定するためのキャリブレーションを実行する（ステップＳ２）。このキャリブレーションによって、カメラ１０２および１０４によりそれぞれ撮影される位置決めマーク１２および１４の位置（画素位置）からステージ３００の移動量を算出できる。
【００８８】
続いて、画像処理装置１００は、カメラ１０２および１０４によりワーク上の位置決めマーク１２および１４をそれぞれ撮影して、ワークの目標地点を決定する（ステップＳ４）。ステップＳ２およびＳ４は、アライメントに係る前処理であり、一度実行されると、対象のワークが変更されるまでは、その前処理において取得されたパラメータを利用できる。そのため、２回目以降のアライメントの実行時には、ステップＳ２およびＳ４の実行が省略されてもよい。
【００８９】
続いて、アライメント対象のワークがステージ３００上に配置された後、ステップＳ１０以降の処理が実行される。より具体的には、まず、画像処理装置１００は、ステージ３００上のワークを撮影する（ステップＳ１０）。続いて、画像処理装置１００は、カメラ１０２および１０４がワークを撮影することで生成された画像データに含まれる位置決めマーク１２および１４をサーチし、そのサーチ結果に基づいて、ワークの現在地点および目標地点までの差分を算出する（ステップＳ１２）。すなわち、画像処理装置１００は、ワーク上の位置決めマーク１２および１４をカメラ１０２および１０４で撮影し、ワークの座標を計測する。つまり、画像処理装置１００は、ワークについての位置計測を実行する。この計測結果は、画像処理装置１００からモーションコントローラ２００へ送信される。
【００９０】
モーションコントローラ２００は、目標地点までの差分に基づいて、ステージ３００が移動すべき距離（移動量）を算出するとともに、ステージ３００の動き（目標軌道、速度パターン、または加速度パターンなど）を決定する（ステップＳ１４）。このとき算出される差分は、ベクトル量であり、例えば、現在地点から目標地点に対する距離および角度が算出される。そして、モーションコントローラ２００は、決定された動きに従ってサーボドライバに対して指示を与えることで、ステージ３００を移動させる（ステップＳ１６）。ここで、ステップＳ１４において決定される動きは、通常アライメントの区間に相当するものであり、ノンストップアライメントの区間における動きは、ステップＳ２０以降において逐次決定される。
【００９１】
なお、モーションコントローラ２００が決定または修正する、動きを定義するデータ構造はどのようなものであってもよい。つまり、ステージ３００を図７に示すように移動させることができれば十分である。
【００９２】
ステップＳ１４において決定された動きに従うステージ３００の移動が完了すると、つまり図７に示す時間ｔ１〜ｔ３の移動処理が完了すると、ノンストップアライメントが開始される。言い換えれば、上述のステップＳ１０〜Ｓ１６の処理は、通常のアライメントにおける処理に相当し、ステップＳ２０〜Ｓ３２の処理は、ノンストップアライメントにおける処理に相当する。
【００９３】
ノンストップアライメントが開始されると、画像処理装置１００は、ステージ３００上のワークを撮影する（ステップＳ２０）。続いて、画像処理装置１００は、カメラ１０２および１０４がワークを撮影することで生成された画像データに含まれる位置決めマーク１２および１４をサーチし、そのサーチ結果に基づいて、ワークの現在地点および目標地点までの差分を算出する（ステップＳ２２）。画像処理装置１００によるワークについての位置計測の結果は、画像処理装置１００からモーションコントローラ２００へ送信される。
【００９４】
モーションコントローラ２００は、ワークの目標地点に対する誤差を算出し（ステップＳ２４）、算出した誤差が予め既定された許容値以内であるか否かを判定する（ステップＳ２６）。算出した誤差が許容値以内である場合（ステップＳ２６においてＹＥＳの場合）には、アライメントを終了する。すなわち、モーションコントローラ２００は、ワークの現在地点と目標地点との間の差分が許容値以内になるように、ステージ３００を移動させる。
【００９５】
算出した誤差が許容値を超えている場合（ステップＳ２６においてＮＯの場合）には、モーションコントローラ２００は、画像処理装置１００から取得した位置計測の結果がステージ３００の制御に使用できるか否かを判定する（ステップＳ２８）。すなわち、画像処理装置１００においてワークの位置計測が適切に実行されたか否かが判定される。
【００９６】
画像処理装置１００から取得した位置計測の結果がステージ３００の制御に使用できると判定された場合（ステップＳ２８においてＹＥＳの場合）には、モーションコントローラ２００は、目標地点までの差分に基づいて、ステージ３００が移動すべき距離（移動量）を算出するとともに、ステージ３００の動き（目標軌道、速度パターン、または加速度パターンなど）を修正する（ステップＳ３０）。そして、モーションコントローラ２００は、決定された動きに従ってサーボドライバに対して指示を与えることで、ステージ３００を移動させる（ステップＳ３２）。
【００９７】
これに対して、画像処理装置１００から取得した位置計測の結果がステージ３００の制御に使用できないと判定された場合（ステップＳ２８においてＮＯの場合）には、ステップＳ３０の処理がスキップされる。すなわち、先に決定／修正されている動きをそのまま利用する。
【００９８】
ステップＳ３２の実行後、既定の時間が経過すると、ステップＳ２０以下の処理が再度実行される。
【００９９】
以上のような処理手順によって、本実施の形態に係るアライメントが実行される。なお、あるワークについてのアライメントが完了すると、その位置決めされたワークは次工程へ搬送され、新たなワークを受け入れる。この新たなワークに対して、ステップＳ１０以下の処理が繰返し実行される。
【０１００】
以下、上述のステップのうちいくつかのステップについて、その処理の内容をより詳細に説明する。なお、上述のステップＳ２８の処理は、オプションであり必須の処理ではない。すなわち、ステップＳ２８の判定を行うことなく、ステップＳ３０を実行してもよい。
【０１０１】
＜Ｇ．キャリブレーション＞
図１０の処理手順のステップＳ２のキャリブレーションについて説明する。キャリブレーションは、ステージ３００の座標系とカメラ１０２および１０４の座標系との整合をとる処理を意味する。すなわち、カメラ１０２および１０４がワークを撮影することで得られる位置情報と、実際のワーク（または、ステージ３００）の位置情報との関係性を決定する処理である。
【０１０２】
図１１は、本実施の形態に係るアライメントの前処理としてのキャリブレーションを説明するための図である。図１２は、本実施の形態に係るアライメントの前処理としてのキャリブレーションの原理を説明するための図である。
【０１０３】
図１１を参照して、ワーク（ガラス基板２）上の位置決めマーク１２および１４をカメラ１０２および１０４で撮影すると、現実のステージ３００の座標系であるステージＸＹ座標系と、カメラ１０２および１０４が認識するカメラｘｙ座標系（画像データの画素位置に相当）とは一致しない。そのため、キャリブレーションにおいては、これらの座標系の間で整合をとる。
【０１０４】
より具体的には、図１２に示すように、位置決めマーク１２および１４が設けられているワークを移動させ、ステージＸＹ座標系に生じる移動量とカメラｘｙ座標系に生じる移動量とを比較することで、後述するようなキャリブレーションパラメータ（典型的には、アフィン変換パラメータ）を最適化計算する。
【０１０５】
より具体的には、ワーク上の位置決めマーク（図１２に示す例では、十字マーク）を撮影し、その後、そのワークをステージ３００のＸ方向に沿って所定距離（移動量ΔＸ）だけ移動させ（Ｙ方向には移動させない）、移動後の位置決めマークを再度撮影する。同様に、そのワークを当初の位置からステージ３００のＹ方向に沿って所定距離（移動量ΔＹ）だけ移動させ（Ｘ方向には移動させない）、移動後の位置決めマークを再度撮影する。
【０１０６】
各座標系において、図１２に示す３つの位置決めマークのそれぞれについて算出された位置（座標）を用いることで、キャリブレーションパラメータを決定できる。より具体的には、ステージＸＹ座標系における３つの座標とカメラｘｙ座標系における対応する３つの座標とを用いて、以下の式におけるアフィン変換パラメータａ〜ｆを算出する。
【０１０７】
【数２】
2014203365.tif 000004
【０１０８】
このアフィン変換パラメータによって、カメラｘｙ座標系とステージＸＹ座標系との座標値を相互に変換することができる。
【０１０９】
＜Ｈ．目標地点（回転中心）の決定＞
図１０の処理手順のステップＳ４のワークの目標地点の決定処理について説明する。本実施の形態に係る制御システム１において、ステージ３００はＸＹ方向の移動およびθ方向の回転が可能になっている。ステージ３００によるワークの回転中心を目標地点に設定することで、ステージ３００を用いてワークのＸＹ方向の移動およびθ方向の回転を合せた位置決めを行うことができる。そのため、本実施の形態においては、前処理として、ステージ３００の回転中心を予め特定しておき、この回転中心を目標地点に決定する。
【０１１０】
図１３は、本実施の形態に係るアライメントの前処理としての目標地点（回転中心）の決定処理を説明するための図である。図１４は、本実施の形態に係るアライメントの前処理としての目標地点（回転中心）の決定処理の原理を説明するための図である。
【０１１１】
図１３を参照して、まず、ワーク（ガラス基板２）をステージ３００の正しい位置に配置する。このとき、ワークを配置する位置精度が重要であるので、専用の治具や寸法が正確なマスタワークを用いる。
【０１１２】
そして、画像処理装置１００は、ワーク上の位置決めマーク１２および１４をそれぞれカメラ１０２および１０４で撮影し、ワークの座標（回転中心の座標と回転角度）を計測する。この回転中心の座標が目標地点に設定される。すなわち、視野が離れた２つのカメラ１０２および１０４で撮影した位置決めマーク１２および１４の座標から、ワーク（ステージ３００）の回転中心の座標が算出される。
【０１１３】
図１４に示すように、ステージ３００を角度θだけ回転させて、その前後での位置決めマークの位置の変化に基づいて回転中心を推定する。より具体的には、図１４（ａ）に示すように、位置決めマークが設けられているワークをステージ３００によって角度θだけ回転させる。この回転前後における位置決めマークをそれぞれ「サンプリング１点目」および「サンプリング２点目」と示す。そして、図１４（ｂ）に示すように、角度θの回転前後における２つの位置決めマークの座標点を通る直線を定義するとともに、図１４（ｃ）に示すように、その直線の垂直二等分線上で、２つの位置決めマークとの間になす角が角度θになる座標を算出する。この算出した座標をステージ３００の回転中心の座標として決定する。
【０１１４】
なお、詳細については、特開２００６−０４９７５５号公報（特許文献２）を参照されたい。
【０１１５】
＜Ｉ．ノンストップアライメント開始距離ｄｎｓの決定方法＞
上述したように、ノンストップアライメント開始距離（ＮＳＡ開始距離）ｄｎｓをより短くすることで、全体としての移動時間を短縮できる。すなわち、本実施の形態に係るアライメントを早く完了させるためには、ＮＳＡ開始距離ｄｎｓは、なるべく小さい、すなわちＮＳＡ開始距離（ノンストップアライメント開始位置）が目標地点になるべく近い方が好ましい。
一方で、ＮＳＡ開始距離ｄｎｓは、ワークが目標地点を行き過ぎないようにするための余裕距離に相当し、制御安定性の観点からは、より長い方が好ましい。そのため、ＮＳＡ開始距離ｄｎｓを適切に決定する必要がある。
【０１１６】
図１５は、本実施の形態に係るアライメントに用いるノンストップアライメント開始距離ｄｎｓの理論値を決定する方法を説明するための図である。図１５を参照して、画像処理装置１００がワークを撮影してからモーションコントローラ２００へ指令を与えるまでに１つのノンストップアライメント制御周期ｆに相当するむだ時間が発生し、さらに、減速期間（時間ｔ５）の間もステージ３００は移動する。このような滑走距離を考慮すると、ＮＳＡ開始距離ｄｎｓは、以下のような数式に従って算出できる。
【０１１７】
ｄｎｓ＝Ｖｎｓ＿ｍａｘ×ｆ＋α×ｔ５２／２
＝Ｖｎｓ＿ｍａｘ×Ｖｎｓ＿ｍａｘ２／２α
上述の理論値での考慮に加えて、各種の動的に変動する誤差を考慮して、ノンストップアライメント開始距離ｄｎｓを決定する必要がある。具体的には、ＮＳＡ開始距離ｄｎｓの最小値は、１回目の撮影による画像処理の結果から算出した移動量に含まれる誤差の最大値に相当する。このような誤差の原因は、（ａ）カメラのノイズによる計測誤差、および、（ｂ）ステージや光学系の特性に分類できる。（ａ）の原因は、計測毎に変化し、（ｂ）の原因は、計測位置に依存し、計測毎には変化しない。
【０１１８】
（ａ）の原因については、カメラに用いられている撮像素子の統計的なデータを用いることで、ある程度推測できる。また、（ｂ）の原因については、後述するような手順によって、事前に実験的に測定しておくことで推測できる。
【０１１９】
実際にワークを移動させた場合に生じる誤差を実験的に測定しておくことで、ＮＳＡ開始距離を実験的に決定できる。
【０１２０】
最終的には、上述したように決定されるＮＳＡ開始距離の理論値と実験値との和をＮＳＡ開始距離ｄｎｓとして決定する。つまり、余裕距離（ＮＳＡ開始距離ｄｎｓ）は、移動機構を予め定められた移動量だけ移動させて、当該移動後の対象物の位置を画像処理手段が特定した結果と、当該予め定められた移動量との比較により決定される第１の距離と、画像処理手段が画像データを取得してから特徴部分の位置を特定するまでの間だけ移動機構を第２の速度にて移動させ、さらに移動機構を許容される最大加速度で第２の速度から減速させ停止させるまでの間の移動機構の移動量である第２の距離との和である。
【０１２１】
以下、ＮＳＡ開始距離を実験的に決定する手法について説明する。
［ｉ１：決定方法その１］
図１６は、本実施の形態に係るアライメントに用いるノンストップアライメント開始距離ｄｎｓを決定する方法（その１）を説明するための図である。図１６に示す方法は、ワークの移動量（ベクトル量）をランダムに決定し、このようにランダムに決定された移動量だけワークを移動させた場合に生じる誤差を実験的に取得する。図１７は、図１６に示すノンストップアライメント開始距離ｄｎｓを決定する手順を示すフローチャートである。
【０１２２】
図１６および図１７を参照して、画像処理装置１００は、カメラ１０２および１０４における視野とステージ３００の座標との位置関係を特定するためのキャリブレーションを実行する（ステップＳ１００）。すなわち、ステージ３００の座標系とカメラ１０２および１０４の座標系との整合をとる。続いて、ユーザは、ワーク（ガラス基板２）をステージ３００の所定の位置に配置する（ステップＳ１０２）。このとき、ワークを配置する位置精度が重要であるので、専用の治具や寸法が正確なマスタワークを用いる。
【０１２３】
そして、画像処理装置１００は、ワーク上の位置決めマーク１２および１４をそれぞれカメラ１０２および１０４で撮影し、ワークの座標（回転中心の座標と回転角度）を計測する（ステップＳ１０４）。この回転中心の座標（Ｘ０，Ｙ０，θ０）が目標地点に設定される。
【０１２４】
これによって、ＮＳＡ開始距離を決定するための前処理が完了する。画像処理装置１００は、ＮＳＡ開始距離ｄｎｓの初期値としてゼロをセットする（ステップＳ１０６）。続いて、モーションコントローラ２００は、位置決めマーク１２および１４がそれぞれカメラ１０２および１０４の視野に入るように、移動量（ｘｔ，ｙｔ，θｔ）をランダムに決定し（ステップＳ１０８）、決定された移動量に従ってサーボドライバに対して指示を与えることで、ステージ３００を移動させる（ステップＳ１１０）。
【０１２５】
ステージ３００の移動後、モーションコントローラ２００は、ステージ３００を再度目標地点まで移動させる（ステップＳ１１２）。すなわち、移動機構（ステージ３００）を予め定められた移動量だけ移動させる工程が実行される。画像処理装置１００は、ワーク上の位置決めマーク１２および１４をそれぞれカメラ１０２および１０４で撮影し、ワークの座標（Ｘ１，Ｙ１，θ１）を計測するとともに、目標地点の座標と計測されたワークの座標との間のステージ３００上の距離ｄを算出する（ステップＳ１１４）。すなわち、距離ｄは、目標地点の座標（Ｘ０，Ｙ０）と計測されたワークの座標（Ｘ１，Ｙ１）との間の距離に相当する。すなわち、移動後の対象物の位置を撮影して得られる画像データから位置を特定する工程が実行される。
【０１２６】
その後、画像処理装置１００は、ＮＳＡ開始距離ｄｎｓの現在値と算出された距離ｄとを比較し、算出された距離ｄがＮＳＡ開始距離ｄｎｓの現在値より大きいか否かを判定する（ステップＳ１１６）。算出された距離ｄがＮＳＡ開始距離ｄｎｓの現在値より大きい場合（ステップＳ１１６においてＹＥＳの場合）には、画像処理装置１００は、ＮＳＡ開始距離ｄｎｓを算出された距離ｄに更新する（ステップＳ１１８）。そして、ステップＳ１０８以下の処理が繰返される。
【０１２７】
これに対して、算出された距離ｄがＮＳＡ開始距離ｄｎｓの現在値より小さい場合（ステップＳ１１６においてＮＯの場合）には、画像処理装置１００は、ＮＳＡ開始距離ｄｎｓの更新が所定の回数連続して行われなかったか否かを判定する（ステップＳ１２０）。すなわち、ＮＳＡ開始距離ｄｎｓの現在値が生じ得る誤差の最大値になっているか否かが判定される。ＮＳＡ開始距離ｄｎｓの更新が直近の所定回数内に行われている場合（ステップＳ１２０においてＮＯの場合）には、ステップＳ１０８以下の処理が繰返される。
【０１２８】
これに対して、ＮＳＡ開始距離ｄｎｓの更新が所定の回数連続して行われていない場合（ステップＳ１２０においてＹＥＳの場合）には、画像処理装置１００は、ＮＳＡ開始距離ｄｎｓの現在値を最終的なＮＳＡ開始距離ｄｎｓの最適値として出力する（ステップＳ１２２）。そして、処理は終了する。
【０１２９】
以上のとおり、移動機構（ステージ３００）を複数回移動させるとともに、予め定められた移動量と特定された対象物の位置とのそれぞれの比較に応じて、誤差に応じた距離（ＮＳＡ開始距離ｄｎｓ）を決定する工程が実行される。
【０１３０】
［ｉ２：決定方法その２］
図１８は、本実施の形態に係るアライメントに用いるノンストップアライメント開始距離ｄｎｓを決定する方法（その２）を説明するための図である。上述の図１６に示す方法では、ワークの移動量をランダムに決定してＮＳＡ開始距離ｄｎｓを算出する手法について説明したが、図１８に示す方法では、規則的に配置された各座標について誤差を評価することで、ＮＳＡ開始距離ｄｎｓを算出する手法について説明する。図１９は、図１８に示すノンストップアライメント開始距離ｄｎｓを決定する手順を示すフローチャートである。
【０１３１】
図１８および図１９を参照して、画像処理装置１００は、カメラ１０２および１０４における視野とステージ３００の座標との位置関係を特定するためのキャリブレーションを実行する（ステップＳ２００）。すなわち、ステージ３００の座標系とカメラ１０２および１０４の座標系との整合をとる。続いて、ユーザは、ワーク（ガラス基板２）をステージ３００の所定の位置に配置する（ステップＳ２０２）。このとき、ワークを配置する位置精度が重要であるので、専用の治具や寸法が正確なマスタワークを用いる。
【０１３２】
そして、画像処理装置１００は、ワーク上の位置決めマーク１２および１４をそれぞれカメラ１０２および１０４で撮影し、ワークの座標（回転中心の座標と回転角度）を計測する（ステップＳ２０４）。この回転中心の座標（Ｘ０，Ｙ０，θ０）が目標地点に設定される（図１８（ａ）参照）。これによって、ＮＳＡ開始距離を決定するための前処理が完了する。
【０１３３】
まず、モーションコントローラ２００は、ステージ３００を原点（（ｘ，ｙ，θ）＝（０，０，０））に移動させる（ステップＳ２０６）。その後、モーションコントローラ２００は、図１８（ｂ）に示すように、ステージ３００を原点から目標地点（ｘ０，ｙ０，θ０）に再度移動させる（ステップＳ２０８）。画像処理装置１００は、ステージ３００の移動後に、ワーク上の位置決めマーク１２および１４をそれぞれカメラ１０２および１０４で撮影し、ワークの座標（Ｘ１，Ｙ１，θ１）を計測するとともに、目標地点の座標（Ｘ０，Ｙ０，θ０）と計測されたワークの座標（Ｘ１，Ｙ１，θ１）との間のステージ３００上の距離ｄ１を算出する（ステップＳ２１０）。すなわち、距離ｄは、目標地点の座標（Ｘ０，Ｙ０）と計測されたワークの座標（Ｘ１，Ｙ１）との間の距離に相当する。
【０１３４】
次に、モーションコントローラ２００は、所定規則に従ってステージ３００の移動先を決定する（ステップＳ２１２）。具体的には、図１８（ｃ）に示すように、ステージ３００のＸ方向に沿って移動させた座標（Ｔ，０，０），（２Ｔ，０，０），（３Ｔ，０，０）を移動先としてそれぞれ決定する。すなわち、あるＸ軸上の移動先としては、一定の変化量Ｔずつ変化させた座標が順次設定される。
【０１３５】
そして、モーションコントローラ２００は、ステージ３００をステップＳ２１２において決定された移動先に移動させる（ステップＳ２１４）。その後、モーションコントローラ２００は、ステージ３００を移動先から目標地点（ｘ０，ｙ０，θ０）に再度移動させる（ステップＳ２１６）。画像処理装置１００は、ステージ３００の移動後に、ワーク上の位置決めマーク１２および１４をそれぞれカメラ１０２および１０４で撮影し、ワークの座標を計測するとともに、目標地点の座標（Ｘ０，Ｙ０，θ０）と計測されたワークの座標との間のステージ３００上の距離ｄｎを算出する（ステップＳ２１８）。
【０１３６】
その後、モーションコントローラ２００は、Ｘ方向のすべての点を移動先として決定したか否かを判定する（ステップＳ２２０）。Ｘ方向のすべての点を移動先として決定していない場合（ステップＳ２２０においてＮＯの場合）には、ステップＳ２１２以下の処理が再度実行される。
【０１３７】
以上のような処理によって、各移動先への移動後に取得された計測座標（Ｘ２，Ｙ２，θ２）、（Ｘ３，Ｙ３，θ３）、（Ｘ４，Ｙ４，θ４）…が取得され、各計測座標と（Ｘ０，Ｙ０）との間の距離ｄ２，ｄ３，ｄ４，…が算出される。
【０１３８】
Ｘ方向のすべての点を移動先として決定している場合（ステップＳ２２０においてＹＥＳの場合）には、モーションコントローラ２００は、ステージ３００の移動先のＹ方向の値を所定値だけインクリメントする（ステップＳ２２２）。すなわち、ステージ３００の端またはカメラの視野の端まで到達したら、ステージ３００をＹ方向にＴだけ移動させる。そして、モーションコントローラ２００は、Ｙ方向のすべての点を移動先として決定したか否かを判定する（ステップＳ２２４）。Ｙ方向のすべての点を移動先として決定していない場合（ステップＳ２２４においてＮＯの場合）には、ステップＳ２１２以下の処理が再度実行される。
【０１３９】
Ｙ方向のすべての点を移動先として決定している場合（ステップＳ２２４においてＹＥＳの場合）、すなわちステージ３００上のすべての座標について移動距離を算出できれば、モーションコントローラ２００は、ステージ３００の移動先のθ成分の値を所定値だけインクリメントする（ステップＳ２２６）。すなわち、ステージ３００の端またはカメラの視野の端まで到達したら、ステージ３００をθ方向に所定値だけ回転させる。そして、モーションコントローラ２００は、θ成分のすべての点を移動先として決定したか否かを判定する（ステップＳ２２８）。θ成分のすべての点を移動先として決定していない場合（ステップＳ２２８においてＮＯの場合）には、ステップＳ２１２以下の処理が再度実行される。
【０１４０】
このようにして、図１８（ｄ）に示すように、規則的に配置された各座標へ移動させた場合に生じる誤差をそれぞれ算出する処理が実行される。
【０１４１】
θ成分のすべての点を移動先として決定している場合（ステップＳ２２８においてＹＥＳの場合）には、算出されたすべての移動先（Ｘ，Ｙ，θ）についての、計測座標（Ｘ，Ｙ）と（Ｘ０，Ｙ０）との距離ｄの最大値を算出し、その算出した最大値をＮＳＡ開始距離ｄｎｓの最適値として出力する（ステップＳ２３０）。そして、処理は終了する。
【０１４２】
＜Ｊ．計測失敗時の処理＞
図１０の処理手順のステップＳ２８において、モーションコントローラ２００は、画像処理装置１００から取得した位置計測の結果がステージ３００の制御に使用できるか否かを判定する。この判定処理は、必須のステップではないが、ノンストップアライメントの位置決め精度を高めるためには、実行することが好ましい。
【０１４３】
すなわち、ノンストップアライメントでは、画像処理による計測結果に基づいて動的に速度や位置を制御するため、計測結果に誤差が大きい場合や、画像処理による計測により多くの時間がかかる場合には、制御に大きな外乱が生じ得る。その結果、大幅な時間ロスを生じてしまう。
【０１４４】
図２０は、本実施の形態に係るアライメントの実行時に計測処理が失敗した場合の処理を説明するための図である。図２０に示すように、画像処理装置１００から取得した位置計測の結果がステージ３００の制御に使用できるか否かが判定され（図１０のステップＳ２８参照）、使用できないと判定された場合には、ステージ３００の動きを修正しないで、先に決定／修正されている動きに従ってステージ３００の移動を継続する。なお、先に決定／修正されている動きでは、目標地点までの挙動が定義されているので、動きをそのまま使用したとしても、大きな問題は生じない。
【０１４５】
このように、本実施の形態に係るアライメントにおいては、画像処理の結果がステージ３００の制御に使用できるか否かを判定するロジックが含まれており、ステージ３００の制御に使用できないと判定された場合には、ステージ３００の移動方向の修正をせずに現状の移動が継続される。すなわち、本実施の形態に係る制御システム１は、第２の制御動作（ノンストップアライメント）において、画像処理装置１００による特徴部分の位置の特定が正常ではない場合に、制御指令の決定をスキップする。
【０１４６】
この位置計測の結果がステージ３００の制御に使用できるか否かを判定する基準の一例としては、例えば、以下のようなものが挙げられる。
【０１４７】
（１）ワークを検出できなかった
（２）前回の計測結果からの移動距離が大き過ぎる、または、サーボモータのエンコーダ値から推測される現在位置との差がしきい値以上離れている（なお、ノンストップアライメントにおける移動距離は、図８に示す時間ｔ４のうちに進む距離ｄ４を越えることはない）
（３）画像処理が所定処理時間内に完了しなかった（ノンストップアライメントのための画像処理は、図８に示すノンストップアライメント制御周期ｆを超えてはいけない）
なお、上記の（３）の場合には、最初に、画像処理装置１００における画像処理を中断するようにしてもよい。
【０１４８】
なお、位置計測の結果がステージ３００の制御に使用できるか否かの判定機能を画像処理装置１００側に搭載してもよい。この場合には、判定結果が画像処理装置１００からモーションコントローラ２００へ通知されることになる。また、画像処理装置１００は、自身による特徴部分の位置の特定が正常ではない場合に、制御指令の決定をスキップする。
【０１４９】
＜Ｋ．視野サイズの異なる２種類のカメラの使用例（変形例１）＞
上述の実施の形態においては、１種類のカメラで位置決めマークを撮影する構成について例示したが、要求される位置精度を満足するために、異なる視野をもつ複数のカメラを用いる構成が採用される場合がある。すなわち、単一のカメラでは視野サイズの広さと分解能の高さとの両方を満足することが困難である。そのため、移動量に対して要求精度が厳しい場合には、視野サイズの異なる複数種類のカメラを用いたアライメントシステムが構成される場合がある。
【０１５０】
図２１は、本実施の形態の変形例１に係る制御システムの構成を説明するための模式図である。図２２は、本実施の形態の変形例１に係るアライメントを説明するための図である。
【０１５１】
図２１に示す制御システムにおいては、位置決めマーク１２および１４の各々に対応付けて、視野サイズの異なる２種類のカメラを用意する。カメラ１０２−１および１０４−１（広視野カメラ）は、より広い視野を有しており、ワークが存在し得るすべての領域を撮影する。一方、カメラ１０２−２および１０４−２（狭視野カメラ）は、より狭い視野を有しており、目標地点の近傍をより高解像度で撮影する。
【０１５２】
すなわち、本実施の変形例１に係る画像処理装置１００は、互いに視野サイズの異なる第１および第２のカメラからそれぞれ画像データを取得するように構成されている。
【０１５３】
図２２を参照して、変形例１に係るアライメントでは、広視野カメラの撮影によって粗く位置計測を行い、ワークを狭視野カメラの視野内まで移動させる。その後、狭視野カメラでより精密に位置計測を行うことで、ワークを目標地点に位置決めする。変形例１においては、説明の便宜上、広視野カメラで粗く位置決めすることを「プリアライメント」と称し、狭視野カメラで精密に位置決めすることを「本アライメント」と称す。
【０１５４】
このように、本実施の形態の変形例１に係るアライメントにおいては、高精度および広視野を両立するために、異なる視野をもつ複数種類のカメラを用いる構成において、プリアライメントと本アライメントとの間でステージ３００を停止することなく、移動制御を継続することで、移動に要する時間を短縮する。
【０１５５】
本アライメントは、ワークが狭視野カメラの視野に入ったタイミング（本アライメント開始タイミング）で開始されてもよい。この場合、狭視野カメラの撮影開始タイミングＴｐ（本アライメント開始タイミング）は、広視野カメラでの計測位置から、狭視野カメラの視野までの最短距離に基づいて、以下の式に従って算出できる。
【０１５６】
【数３】
2014203365.tif 000005
【０１５７】
なお、広視野カメラおよび狭視野カメラの両方の視野に位置決めマークを配置してキャリブレーションを行うことで、カメラ切替えによるアライメントへの影響を回避できる。
【０１５８】
図２１に示すような視野サイズの異なる２種類のカメラを使用する場合であっても、ステージを停止させることなく、連続的に移動させて、アライメントを行うことができる。
【０１５９】
すなわち、本実施の形態の変形例１に係る制御システム１は、視野サイズがより大きい第１のカメラ（広視野カメラ）からの画像データに基づいて第１の制御動作（通常アライメント）において用いられる制御指令を決定し、第１の制御動作において、移動機構の移動中に、画像データの取得先を第１のカメラに代えて視野サイズがより小さい第２のカメラ（狭視野カメラ）に切換える。
【０１６０】
このようにステージを停止せることなく、広視野カメラから狭視野カメラへの切替えを行うことで、全体の移動に要する時間を短縮できる。
【０１６１】
なお、第１のカメラ（広視野カメラ）および第２のカメラ（狭視野カメラ）がともに画像処理装置１００に接続されることから、画像処理装置１００側に、（１）制御指令の決定する機能、および、（２）第２のカメラの視野にワークが入ることを第１または第２のカメラで監視し、視野に入るまで通常アライメントを継続し、視野に入ったら上記のカメラ切替える機能、の少なくとも一方を搭載してもよい。この場合には、画像処理装置１００は、視野サイズがより大きい第１のカメラからの画像データに基づいて第１の制御動作（通常アライメント）において用いられる制御指令を決定し、第１の制御動作において、移動機構の移動中に、画像データの取得先を第１のカメラに代えて視野サイズがより小さい第２のカメラに切換える。
【０１６２】
＜Ｌ．垂直方向の移動（変形例２）＞
図１に示すアライメントシステムの適用例においては、ステージを水平方向（ＸＹ平面）のみならず、垂直方向（Ｚ軸）にも移動させることがある。変形例２として、このような垂直方向の移動が同時に行われる場合の補正処理について説明する。
【０１６３】
図２３は、本実施の形態の変形例２に係る適用例を説明するための模式図である。図２４は、図２３に示す適用例における補正処理を説明するための図である。
【０１６４】
図２３を参照して、例えば、ガラス基板２に露光マスク４を貼り合せる工程においては、アライメントしながら露光マスク４とガラス基板２との距離を徐々に縮めていき、アライメント完了時点には、露光マスク４が下に置かれたガラス基板２と密着しているようにする。
【０１６５】
このような工程において、水平方向（ＸＹ平面）の移動を行うＸＹステージと垂直方向（Ｚ軸）の移動を行うＺ軸ステージとがそれぞれ独立に配置される場合がある。すなわち、移動機構であるステージは、第１および第２の制御動作（通常アライメントおよびノンストップアライメント）に従って位置決めされる座標系に加えて、さらに移動可能な別の座標系を有している。このような場合には、Ｚ軸ステージがＸＹステージに対して垂直になっていない場合がある。このような場合には、次のような問題が発生し得る。
【０１６６】
図２４を参照して、ＸＹステージおよびＺ軸ステージは同時に制御されるが、基本的には、ノンストップアライメントはＸＹ平面に対して実行されるため、ＸＹ平面での位置決めが完了すると、Ｚ軸方向の移動が継続しているにもかかわらず、ノンストップアライメントが完了してしまう場合がある。
【０１６７】
すなわち、ノンストップアライメントに係る位置決めを行っている対象はＸＹ平面であり、Ｚ軸の移動中に、ＸＹ平面の位置決め精度が要求精度内に入ったことで、ノンストップアライメントが終了してしまう（図２４の時刻Ｔ２）。
【０１６８】
ノンストップアライメント終了後、上述のようなステージ間のずれによって、Ｚ軸移動に伴いＸＹ平面に位置ずれが生じる場合がる。図２４には、位置決め精度が要求精度内に入り、時刻Ｔ＝２においてノンストップアライメントは停止するが、その後のＺ軸の移動に伴って位置ずれが生じる様子を示す。
【０１６９】
このような課題に対する対策として、Ｚ軸の移動に伴うＸＹ平面における変化量を予め取得しておき、ノンストップアライメントの目標地点に対する補正値として与えることが好ましい。具体的には、以下のような数式に従って、目標地点を補正する。
【０１７０】
Ｘ＝Ｘ’＋ＡＺ
Ｙ＝Ｙ’＋ＢＺ
ここで、Ｘ，Ｙは補正前の座標を示し、Ｘ’，Ｙ’は補正後の座標を示し、ＺはＺ軸方向の移動量を示す。係数ＡおよびＢは、予めキャリブレーションによって取得しておく。上式において、補正量がＺ軸方向の移動量に関する値になっているのは、図２４に示すように、目標地点に対するオフセット成分は、露光マスク４のＺ位置によって動的に変化させる必要があるからである。
【０１７１】
このように、本実施の形態の変形例２においては、アライメント中にステージがＸＹ方向のみならずＺ方向にも移動する構成が採用されている。このような構成において、Ｚ軸がＸＹ軸に垂直でない場合、Ｚ軸の移動量に伴うＸＹ方向における変化量を予めキャリブレーションしておくことで、アライメント時にＸＹ位置を補正する。すなわち、本実施の形態の変形例２に係る制御システムは、別の座標系（Ｚ軸）において移動機構（ステージ）が移動することによって生じる誤差に応じて、第２の制御動作（ノンストップアライメント）における制御指令を補正する。
【０１７２】
このような補正を行うことで、水平方向および垂直方向にアライメントさせる必要がある場合であっても、その精度を高めることができる。
【０１７３】
＜Ｍ．利点＞
本実施の形態に係るアライメント手法では、静止しているワークに対して一回の撮影で目標地点までの移動に係る動きを決定し、その決定した動きに従って当該ワークを移動させる制御（一種のフィードフォワード制御）手法と、移動しているワークに対して一回以上の撮影を順次行うことで、移動速度や移動量を順次調整する制御（一種のフィードバック制御）手法とを途中で切替える。これによって、アライメントに要する時間を短縮化できる。
【０１７４】
このとき、上記２つの制御手法を切替えるタイミングを可能な限り遅くすることで、移動速度の遅いフィードバック制御手法が実行される時間を最小化することができる。このとき、システムに生じ得る誤差の最大値を予め計測しておき、この計測によって得られた誤差の最大値に応じて、上記２つの制御手法を切替えるタイミングを決定する。つまり、フィードフォワード制御手法によってワークが当該計測された誤差範囲内に移動すると、そのタイミングで制御手法を切替える。
【０１７５】
上述したように、本実施の形態ｎ係るアライメントは、通常アライメントとノンストップアライメントとを組み合わせることで、ワークを目標地点に位置決めするのに要する時間を短縮する。
【０１７６】
図２５は、本実施の形態に係るアライメントによる移動時間の短縮効果を説明するための図である。図２５には、本実施の形態に係るアライメントによる時間短縮化の効果を従来のアライメントと比較した図である。図２５に示すように、本実施の形態においては、一旦移動を開始したステージ３００（ワーク）を停止させることなく、位置決め制御を行うので、停止に伴う時間のロスがなく、従来のアライメントに比較して、アライメントの完了までに要する時間を大幅に短縮できる。
【０１７７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７８】
２  ガラス基板、４  露光マスク、１２、４  位置決めマーク、１００  画像処理装置、１０２，１０４  カメラ、１１０，２１４  プロセッサ、１１２  ＲＡＭ、１１４  表示コントローラ、１１６  システムコントローラ、１１８  コントローラ、１２０  ハードディスク、１２２  カメラインターフェイス、１２２ａ，１１２ｂ  画像バッファ、１２４  入力インターフェイス、１２６  モーションコントローラインターフェイス、１２８，２２８  通信インターフェイス、１３０，２２２  メモリカードインターフェイス、１３２  表示部、１３４  キーボード、１３６，２２４  メモリカード、１５０  制御プログラム、２００  モーションコントローラ、２１０  主制御ユニット、２１２  チップセット、２１６  不揮発性メモリ、２１８  主メモリ、２２０  システムクロック、２２６  内部バス、２３０  内部バスコントローラ、２３２  制御回路、２３４  内部バス制御回路、２３６  バッファメモリ、２４０，２４２，２４４  サーボユニット、２５０，２５２，２５４  サーボドライバ、３００  ステージ、３１０，３１２，３１４  サーボモータ。
【図２】
2014203365.tif 000006
【図３】
2014203365.tif 000007
【図４】
2014203365.tif 000008
【図５】
2014203365.tif 000009
【図６】
2014203365.tif 000010
【図７】
2014203365.tif 000011
【図８】
2014203365.tif 000012
【図９】
2014203365.tif 000013
【図１０】
2014203365.tif 000014
【図１１】
2014203365.tif 000015
【図１２】
2014203365.tif 000016
【図１３】
2014203365.tif 000017
【図１４】
2014203365.tif 000018
【図１５】
2014203365.tif 000019
【図１６】
2014203365.tif 000020
【図１７】
2014203365.tif 000021
【図１８】
2014203365.tif 000022
【図１９】
2014203365.tif 000023
【図２０】
2014203365.tif 000024
【図２１】
2014203365.tif 000025
【図２２】
2014203365.tif 000026
【図２３】
2014203365.tif 000027
【図２４】
2014203365.tif 000028
【図２５】
2014203365.tif 000029
【図１】
2014203365.tif 000030