(58)【調査した分野】(Int.Cl.,DB名)
前記余裕距離は、前記移動機構を予め定められた移動量だけ移動させて、当該移動後の対象物の位置を前記画像処理手段が特定した結果と、当該予め定められた移動量との比較により決定される第1の距離と、前記画像処理手段が画像データを取得してから前記特徴部分の位置を特定するまでの間だけ前記移動機構を前記第2の速度にて移動させ、さらに前記移動機構を許容される最大加速度で前記第2の速度から減速させ停止させるまでの間の前記移動機構の移動量である第2の距離との和である、請求項1に記載の制御システム。
前記位置決めするステップは、前記対象物と目標地点との間の距離が、前記画像データから特定される位置に生じる誤差に応じた距離以下になると、前記第1の制御動作から前記第2の制御動作への切替えるステップを含み、
前記制御方法は、さらに
前記移動機構を予め定められた移動量だけ移動させるステップと、
前記移動後の対象物の位置を撮影して得られる画像データから位置を特定するステップと、
前記移動機構を複数回移動させるとともに、前記予め定められた移動量と前記特定された対象物の位置とのそれぞれの比較に応じて、前記誤差に応じた距離を決定するステップとを含む、請求項8に記載の制御方法。
【発明を実施するための形態】
【0023】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0024】
<A.適用例>
まず、本実施の形態に係る制御システムの一つの適用例について説明する。
図1は、本実施の形態に係る制御システム1の全体構成を示す模式図である。
図1に示す制御システム1は、画像処理を用いてアライメントを行う。アライメントは、典型的には、工業製品の製造過程などにおいて、対象物(以下、「ワーク」とも称す)を生産ラインの本来の位置に配置する処理などを意味する。このようなアライメントの一例として、制御システム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスク4に対するガラス基板2の位置決めを制御する。ワークには、予め定められた位置に位置決め用の特徴部分である位置決めマーク12および14が設けられている。制御システム1では、ガラス基板上に予め設けられている位置決めマーク12および14を撮影し、この撮影した画像に対して画像処理を行うことで、精密な位置決めを実現する。
【0025】
制御システム1は、画像処理装置100と、モーションコントローラ200と、ステージ300とを含む。画像処理装置100は、1つ以上のカメラ(
図1の例では、カメラ102および104)が撮影した画像データを取得し、その取得した画像データに含まれる位置決めマーク12および14の位置からワークであるガラス基板2の位置を特定する。そして、その特定したガラス基板2の位置に基づいて、ガラス基板2を本来の位置に配置するための指令をモーションコントローラ200へ出力する。すなわち、画像処理手段に相当する画像処理装置100は、予め定められた位置に特徴部分が設けられた対象物を、撮影して得られる画像データを取得するとともに、画像データに含まれる特徴部分の位置を特定する。
【0026】
モーションコントローラ200は、画像処理装置100からの指令に従って、ステージ300に対して指令を与えることで、ガラス基板2に対するアライメントを実現する。すなわち、制御手段に相当するモーションコントローラ200は、対象物の位置を変更する移動機構に対して、特定された特徴部分の位置に基づいて制御指令を与えることで、対象物を所定の最終目標位置に位置決めする。
【0027】
ステージ300は、ワークであるガラス基板2を本来の位置に配置できる機構であればどのような自由度のものであってもよい。本実施の形態においては、ステージ300は、水平方向の変位と回転の変位をガラス基板2に与えることができるものとする。すなわち、ガラス基板2をX方向およびY方向にそれぞれ移動させることができるとともに、所定の回転軸を中心にガラス基板2を回転させることができるとする。このようなステージ300に対する制御としては、先にガラス基板2を水平方向に目標地点まで移動させ(以下、「XY移動」とも称す)、その後、必要に応じてガラス基板2を回転させる。
【0028】
<B.装置構成>
次に、本実施の形態に係る制御システム1を構成する装置の構成について説明する。
【0029】
[b1:画像処理装置100]
図2は、本実施の形態に係る制御システム1を構成する画像処理装置100のハードウェア構成を示す模式図である。
図2を参照して、画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【0030】
より具体的には、画像処理装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ110と、RAM(Random Access Memory)112と、表示コントローラ114と、システムコントローラ116と、I/O(Input Output)コントローラ118と、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、モーションコントローラインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130とを含む。これらの各部は、システムコントローラ116を中心として、互いにデータ通信可能に接続される。
【0031】
プロセッサ110は、システムコントローラ116との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
【0032】
システムコントローラ116は、プロセッサ110、RAM112、表示コントローラ114、およびI/Oコントローラ118とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置100全体の処理を司る。
【0033】
RAM112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク120から読み出されたプログラムや、カメラ102および104によって取得されたカメラ画像(画像データ)、カメラ画像に対する処理結果、およびワークデータなどを保持する。
【0034】
表示コントローラ114は、表示部132と接続されており、システムコントローラ116からの内部コマンドに従って、各種の情報を表示するための信号を表示部132へ出力する。
【0035】
I/Oコントローラ118は、画像処理装置100に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ118は、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、モーションコントローラインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130と接続される。
【0036】
ハードディスク120は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ110で実行される制御プログラム150に加えて、各種設定値などが格納される。このハードディスク120にインストールされる制御プログラム150は、メモリカード136などに格納された状態で流通する。なお、ハードディスク120に代えて、フラッシュメモリなどの半導体記憶装置やDVD−RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置を採用してもよい。
【0037】
カメラインターフェイス122は、ワークを撮影することで生成された画像データを受付ける入力部に相当し、プロセッサ110とカメラ102,104との間のデータ伝送を仲介する。カメラインターフェイス122は、カメラ102および104からの画像データをそれぞれ一時的に蓄積するための画像バッファ122aおよび122bを含む。複数のカメラに対して、カメラの間で共有できる単一の画像バッファを設けてもよいが、処理高速化のため、それぞれのカメラに対応付けて独立に複数配置することが好ましい。
【0038】
入力インターフェイス124は、プロセッサ110とキーボード134、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
【0039】
モーションコントローラインターフェイス126は、プロセッサ110とモーションコントローラ200との間のデータ伝送を仲介する。
【0040】
通信インターフェイス128は、プロセッサ110と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス128は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
【0041】
メモリカードインターフェイス130は、プロセッサ110と記録媒体であるメモリカード136との間のデータ伝送を仲介する。メモリカード136には、画像処理装置100で実行される制御プログラム150などが格納された状態で流通し、メモリカードインターフェイス130は、このメモリカード136から制御プログラムを読み出す。メモリカード136は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス128を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。
【0042】
上述のような汎用的なコンピュータアーキテクチャに従う構造を有するコンピュータを利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係る制御プログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼び出して処理を実行するものであってもよい。
【0043】
さらに、本実施の形態に係る制御プログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係る制御プログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
【0044】
なお、代替的に、制御プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【0045】
[b2:モーションコントローラ200]
図3は、本実施の形態に係る制御システム1を構成するモーションコントローラ200のハードウェア構成を示す模式図である。
図3を参照して、モーションコントローラ200は、主制御ユニット210と、複数のサーボユニット240,242,244とを含む。本実施の形態に係る制御システム1では、ステージ300が3軸分のサーボモータ310,312,314を有する例を示し、この軸数に応じた数のサーボユニット240,242,244がモーションコントローラ200に含まれる。
【0046】
主制御ユニット210は、モーションコントローラ200の全体制御を司る。主制御ユニット210は、内部バス226を介して、サーボユニット240,242,244と接続されており、互いにデータを遣り取りする。サーボユニット240,242,244は、主制御ユニット210からの内部指令などに従って、サーボドライバ250,252,254に対して制御コマンド(典型的には、駆動パルスなど)をそれぞれ出力する。サーボドライバ250,252,254は、接続されているサーボモータ310,312,314をそれぞれ駆動する。
【0047】
主制御ユニット210は、チップセット212と、プロセッサ214と、不揮発性メモリ216と、主メモリ218と、システムクロック220と、メモリカードインターフェイス222と、通信インターフェイス228と、内部バスコントローラ230とを含む。チップセット212と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
【0048】
プロセッサ214およびチップセット212は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ214は、チップセット212から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット212は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ214に必要な命令コードを生成する。システムクロック220は、予め定められた周期のシステムクロックを発生してプロセッサ214に提供する。チップセット212は、プロセッサ214での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
【0049】
主制御ユニット210は、記憶手段として、不揮発性メモリ216および主メモリ218を有する。不揮発性メモリ216は、OS、システムプログラム、ユーザプログラム、データ定義情報、ログ情報などを不揮発的に保持する。主メモリ218は、揮発性の記憶領域であり、プロセッサ214で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
【0050】
主制御ユニット210は、通信手段として、通信インターフェイス228および内部バスコントローラ230を有する。これらの通信回路は、データの送信および受信を行う。
【0051】
通信インターフェイス228は、画像処理装置100との間でデータを遣り取りする。
内部バスコントローラ230は、内部バス226を介したデータの遣り取りを制御する。より具体的には、内部バスコントローラ230は、バッファメモリ236と、DMA(Dynamic Memory Access)制御回路232と、内部バス制御回路234とを含む。
【0052】
メモリカードインターフェイス222は、主制御ユニット210に対して着脱可能なメモリカード224とプロセッサ214とを接続する。
【0053】
<C.関連技術>
次に、本実施の形態に係るアライメントに係る制御方法の理解を容易にするために、本発明の関連技術について説明する。
【0054】
[c1:繰返し位置決め(関連技術その1)]
図1に示すような適用例におけるアライメントでは、高い位置精度が要求されるため、1回の移動では要求精度を満たさない場合がある。この主たる原因は、キャリブレーション誤差やカメラのノイズなどによる画像処理における計測誤差である。そのため、特許文献1に開示されるように、位置計測と移動とを数回繰返すことで、位置精度を高めるという手法が採用される場合がある。
【0055】
図4は、本発明の関連技術に係る繰返し位置決めのアライメントを説明するための図である。
図4に示すように、まず撮影を行ってワークの目標地点までの差分(ベクトル量)を算出するとともに、ワークに対するXY移動の動きを決定して実行する(撮影1回目)。このXY移動の動きは、典型的には、一定加速度で加速し、その後一定速度(基本的には、システム許容の最大速度)を維持した後、一定減速度で減速して停止する。この停止時点で、再度撮影を行ってワークの目標地点までの差分を再算出し、ワークが目標地点から所定の許容誤差範囲内に到達していなければ、ワークに対するXY移動の動きを再決定して再実行する(撮影2回目)。
【0056】
以下、誤差が一定以内になるまで、撮影、目標地点までの差分の算出、移動、および停止という一連の処理サイクルが繰返される。すなわち、目標地点に到達するまでの間、撮影→加速→減速→停止という処理が繰返されることになり、加減速に要する時間だけ全体としての移動時間に無駄が生じる。また、一旦停止させる場合には、装置全体の振動を無くすまでの安定化時間(整定時間)が必要であるため、この点においても、全体としての移動時間が長くなる。
【0057】
移動時間の短縮のために、ステージ300を停止させることなく、一連の移動によって目標地点に到達することが要求されている。
【0058】
[c2:ノンストップアライメント(関連技術その2)]
装置の駆動機構を止めずに位置決めする方法として、「ビジュアルサーボ」が知られている。この「ビジュアルサーボ」は、動いているワークをカメラで連続的に撮影し、その画像処理の結果からワークの動きの方向や速度を時々刻々と調整する方法である。非特許文献1に開示されるように、ロボットの制御などの分野において研究が進んでいる。
【0059】
このような「ビジュアルサーボ」の技術を上述したようなアライメントに適用することができる。このようなアライメントの手法では、
図4に示すよう目標地点に到達するまでに、位置計測のためにステージ300を停止させなくともよいので、以下「ノンストップアライメント」あるいは「NSA」と称することにする。
【0060】
図5は、本発明の関連技術に係るノンストップアライメントを説明するための図である。
図5に示すように、まず撮影を行ってワークの目標地点までの差分を算出するとともに、ワークに対するXY移動の動きを決定して実行する。続いて、ステージ300の移動中に再度撮影を行って、ワークの目標地点までの差分を算出するとともに、動きの修正を行う。すなわち、先の撮影の結果に応じて決定された動き(目標軌道、速度パターン、または加速度パターンなど)を新たに撮影された結果に応じて修正する。この撮影と動きの修正とを連続的に繰返すことで、ワークを目標地点まで移動させる。
【0061】
しかしながら、ノンストップアライメントでは、テーブルを停止させないので、初期地点から目標地点までの移動において、ワークが目標地点を行き過ぎないように制御しなければならない。これは、ワークが目標地点を行き過ぎると、その直前の移動とは逆方向の移動を行わなければならず、移動機構を逆転させる必要がある。このような移動機構の逆転動作によって、バックラッシが発生したり、慣性モーメントによって移動機構を損傷させたりする可能性があるからである。
【0062】
そのため、ワークの動きを正確に調整し、精度よく目標地点に到達させる必要があり、これを実現するためには、システム許容の最大速度より大幅に低い移動速度でワークを制御する必要がある。その結果、全体としての移動に要する時間を短縮できない、あるいはより長くなる場合がある。
【0063】
<D.本実施の形態に係るアライメントの概要>
本実施の形態に係るアライメントは、上述したような関連技術に比較して、アライメント開始から終了までに要する時間を最小化することを目的とする。具体的な手法として、アライメントの最初の段階では、システム許容の最大速度で目標地点に近付くとともに、目標地点からある範囲内に到達すると、上述したようなノンストップアライメントに切替えて目標地点に到達する。すなわち、本実施の形態に係るアライメントは、移動速度を高めることができる通常アライメントと、ステージ300を停止させることなく目標地点への位置決めが可能なノンストップアライメントとを組み合わせた方法である。ステージ300の動きを停止させることなく、通常アライメントとノンストップアライメントとを切替えることで、全体としての移動に要する時間を最小化する。
【0064】
図6は、本実施の形態に係るアライメントを説明するための図である。
図6に示すように、まず撮影を行ってワークの目標地点までの差分(ベクトル量)を算出するとともに、ワークに対するXY移動の動きを決定して実行する(撮影1回目)。つまり、1回目の撮影で最初の目標地点を決定し、その決定した目標地点(中間目標位置)に向けてシステム許容の最大速度でステージ300を移動させる。そして、ステージ300が目標地点からある距離だけ離れた位置まで到達すると、ステージ300の減速を開始する。なお、
図6に示すステージ300の速度パターンは、撮影1回目の結果によって先に決定されていてもよい。すなわち、ステージ300の減速開始の位置(あるいは、経過時間)は、予め決定されてもよい。
【0065】
その後、ステージ300が一定速度まで減速されると、ノンストップアライメントを開始し、誤差が一定以内になるまで、撮影と動き修正とが連続的に繰返され、ワークを目標地点まで移動させる。このとき、ノンストップアライメント制御周期fで撮影が実行される。但し、目標地点に十分近づいている場合には、1回の撮影で目標地点に到達できる場合もある。
【0066】
このような通常アライメントとノンストップアライメントとを組み合わせることで、ワークを目標地点に位置決めするのに要する時間を短縮できる。すなわち、本実施の形態に係る制御システム1は、第1の制御動作(通常アライメント)を実行後に第2の制御動作(ノンストップアライメント)を実行する。第1の制御動作において、画像処理手段(画像処理装置100)は、画像データを取得して特徴部分の位置を特定し、制御手段(モーションコントローラ200)は、当該特定された特徴部分の位置に基づいて、対象物を所定の第1の速度まで加速した後で第1の速度より小さい所定の第2の速度まで減速して最終目標位置から所定の余裕距離だけ離れた中間目標位置に移動するための制御指令を決定する。第2の制御動作において、画像処理手段(画像処理装置100)は、移動機構の移動中に画像データを取得して特徴部分の位置を特定し、制御手段(モーションコントローラ200)は、当該特定された特徴部分の位置に基づいて、対象物を最終目標位置に位置決めするための制御指令を決定する。このとき、余裕距離は、移動機構を許容される最大加速度で第2の速度から減速させたときに対象物が最終目標位置を行き過ぎることのないよう定められている。
【0067】
なお、多くの場合、第2の制御動作において、制御システム1は、画像処理手段(画像処理装置100)による特徴部分の位置の特定と、制御手段(モーションコントローラ200)による対象物を最終目標位置に位置決めするための制御指令の決定とを繰返し実行する。
【0068】
なお、第2の制御動作における第1回目の撮影および計測は、中間目標位置への到達の前(例えば、第1の速度から第2の速度への減速中)に実行してもよい。
【0069】
<E.本実施の形態に係るアライメントの設定>
次に、本実施の形態に係るアライメントの実施に必要な設定について説明する。
【0070】
図7は、本実施の形態に係るアライメントの速度パターンを説明するための図である。
図8は、本実施の形態に係るアライメントの実施に必要なシステムパラメータを示す図である。
【0071】
図7を参照して、本実施の形態に係るアライメントの動きは、時間t0〜時間t5の合計6区間に分けることができる。
【0072】
時間t0は、画像処理装置100によってワークを撮影するとともに、ワークの目標地点までの差分(ベクトル量)を算出して、ワークに対するXY移動の動きを決定(初期計測)するのに要する時間である。この時間t0において、通常アライメントに係る速度パターンなどが決定される。
【0073】
時間t1〜t3までが通常アライメントの期間に相当する。時間t1は、通常アライメントにおける加速期間に相当する。時間t1において、ステージ300は、システム許容の最大加速度で加速する。時間t2は、最も高速に目標地点に近付く期間に相当する。時間t2においては、ステージ300は、システム許容の最大速度Vsys_maxで等速移動する。時間t3は、通常アライメントにおける減速期間に相当する。時間t3において、ステージ300は、システム許容の最大減速度で減速する。
【0074】
続いて、時間t4〜t5は、ノンストップアライメントの期間に相当する。時間t4において、撮影と動き修正とが連続的に繰返され、ステージ300がワークを目標地点付近まで移動させる。この時間t4において、基本的には、ステージ300はノンストップアライメント許容最大速度Vns_maxで等速移動する。時間t5は、ノンストップアライメントにおける減速期間に相当する。時間t5の経過時点で、ワークは目標地点に位置決めされている。
【0075】
上述の時間t1〜t5の長さおよび対応する移動距離d1〜d5については、
図8に示すようなシステムパラメータを用いて、以下の(1)〜(6)式に従って算出できる。なお、
図8に示すシステムパラメータは、システム構成部品の仕様およびシステム要求を含む。
【0077】
ここで、全体としての移動時間を短縮するためには、以下のような要件が重要となる。
(a)通常アライメントにおける減速開始タイミング:遅いほど好ましい
(b)ノンストップアライメント開始タイミング:遅いほど好ましい
すなわち、時間t2をより長くするとともに、時間t4をより短くすることが好ましい。上述の(3)式および(5)式を参照すると、ノンストップアライメント開始距離dns(以下、「NSA開始距離dns」とも称す)をより短くすることで、上述の(a)および(b)の要件を満たすことがわかる。
【0078】
NSA開始距離dnsは、キャリブレーション誤差やカメラのノイズなどによる画像処理における計測誤差の影響があったとしても、制御モードがノンストップアライメントへ変更された時点(
図7に示すノンストップアライメント開始タイミング(時間t4の開始時点))で、ワークが目標地点を行き過ぎていないようにするための余裕距離に相当する。つまり、システムに応じてこの余裕距離(NSA開始距離dns)を最適化することで、全体としての移動時間を短縮できる。NSA開始距離dnsの決定方法および最適化方法については、後述する。
【0079】
なお、NSA開始距離dnsと共に、ノンストップアライメント許容最大速度Vns_maxについても最適化することが好ましい。
【0080】
図9は、本実施の形態に係るアライメントに用いるノンストップアライメント許容最大速度Vns_maxを決定する方法を説明するための図である。まず、ノンストップアライメントの制御性を維持するために、1つのノンストップアライメント制御周期f内で停止する必要がある。つまり、ノンストップアライメント制御周期f内で減速が完了する必要がある。そのため、この要件を満足するための条件としては、システム許容最大加速度をαとして、以下のように示すことができる。
【0081】
Vns_max≦α×f …(1)
また、制御システム1では、画像処理装置100によって取得された位置情報に基づいてモーションコントローラ200からサーボユニットに対して指示を与えるので、最大で1つのノンストップアライメント制御周期f分だけ遅延する。そのため、ステージ300の2周期分に亘って移動する距離(
図9の面積S1と面積S2の合計に相当)だけ誤差が発生する。この発生し得る誤差を要求精度Rより小さくする必要がある。そのため、この要件を満足するための条件としては、以下のように示すことができる。
【0082】
S≡S1+S2=Vns_max×f+Vns_max×f/2=Vns_max×f×3/2≦R
これを整理すると、以下のような条件が導き出される。
【0083】
Vns_max≦2R/3f …(2)
上記の(1)式および(2)式を同時に満たすように、ノンストップアライメント許容最大速度Vns_maxが決定される。
【0084】
このように、対象物と目標地点との間の距離が、画像処理装置100により特定される位置に生じる誤差に応じた距離以下になると、第1の制御動作(通常アライメント)から第2の制御動作(ノンストップアライメント)への切替えが実行される。この誤差に応じた距離を決定する手順については、後述する。
【0085】
また、第1の制御動作(通常アライメント)における制御指令は、移動機構(ステージ300)を許容される最大加速度で加速させる指令を含む。
【0086】
<F.本実施の形態に係るアライメントの処理手順>
次に、本実施の形態に係るアライメントの処理手順について説明する。
図10は、本実施の形態に係るアライメントの処理手順を示すフローチャートである。
図10に示す各ステップは、基本的には、画像処理装置100およびモーションコントローラ200が協働して実行する。なお、本実施の形態においては、2つの処理主体(画像処理装置100およびモーションコントローラ200)を用いる構成を例示するが、これらの処理主体を一体化した実装形態を採用することもできる。この場合には、以下に示す各ステップは、その一体化された処理主体が実行することになる。すなわち、本実施の形態に係るアライメントの実施に必要な各処理は、画像処理装置100およびモーションコントローラ200が互いに連係して、または、いずれか一方が単独で実行する。この処理の分担は、一種の設計事項であり、システム要求や各種制約に応じて適宜選択される。
【0087】
図10を参照して、画像処理装置100は、カメラ102および104における視野とステージ300の座標との位置関係を特定するためのキャリブレーションを実行する(ステップS2)。このキャリブレーションによって、カメラ102および104によりそれぞれ撮影される位置決めマーク12および14の位置(画素位置)からステージ300の移動量を算出できる。
【0088】
続いて、画像処理装置100は、カメラ102および104によりワーク上の位置決めマーク12および14をそれぞれ撮影して、ワークの目標地点を決定する(ステップS4)。ステップS2およびS4は、アライメントに係る前処理であり、一度実行されると、対象のワークが変更されるまでは、その前処理において取得されたパラメータを利用できる。そのため、2回目以降のアライメントの実行時には、ステップS2およびS4の実行が省略されてもよい。
【0089】
続いて、アライメント対象のワークがステージ300上に配置された後、ステップS10以降の処理が実行される。より具体的には、まず、画像処理装置100は、ステージ300上のワークを撮影する(ステップS10)。続いて、画像処理装置100は、カメラ102および104がワークを撮影することで生成された画像データに含まれる位置決めマーク12および14をサーチし、そのサーチ結果に基づいて、ワークの現在地点および目標地点までの差分を算出する(ステップS12)。すなわち、画像処理装置100は、ワーク上の位置決めマーク12および14をカメラ102および104で撮影し、ワークの座標を計測する。つまり、画像処理装置100は、ワークについての位置計測を実行する。この計測結果は、画像処理装置100からモーションコントローラ200へ送信される。
【0090】
モーションコントローラ200は、目標地点までの差分に基づいて、ステージ300が移動すべき距離(移動量)を算出するとともに、ステージ300の動き(目標軌道、速度パターン、または加速度パターンなど)を決定する(ステップS14)。このとき算出される差分は、ベクトル量であり、例えば、現在地点から目標地点に対する距離および角度が算出される。そして、モーションコントローラ200は、決定された動きに従ってサーボドライバに対して指示を与えることで、ステージ300を移動させる(ステップS16)。ここで、ステップS14において決定される動きは、通常アライメントの区間に相当するものであり、ノンストップアライメントの区間における動きは、ステップS20以降において逐次決定される。
【0091】
なお、モーションコントローラ200が決定または修正する、動きを定義するデータ構造はどのようなものであってもよい。つまり、ステージ300を
図7に示すように移動させることができれば十分である。
【0092】
ステップS14において決定された動きに従うステージ300の移動が完了すると、つまり
図7に示す時間t1〜t3の移動処理が完了すると、ノンストップアライメントが開始される。言い換えれば、上述のステップS10〜S16の処理は、通常のアライメントにおける処理に相当し、ステップS20〜S32の処理は、ノンストップアライメントにおける処理に相当する。
【0093】
ノンストップアライメントが開始されると、画像処理装置100は、ステージ300上のワークを撮影する(ステップS20)。続いて、画像処理装置100は、カメラ102および104がワークを撮影することで生成された画像データに含まれる位置決めマーク12および14をサーチし、そのサーチ結果に基づいて、ワークの現在地点および目標地点までの差分を算出する(ステップS22)。画像処理装置100によるワークについての位置計測の結果は、画像処理装置100からモーションコントローラ200へ送信される。
【0094】
モーションコントローラ200は、ワークの目標地点に対する誤差を算出し(ステップS24)、算出した誤差が予め既定された許容値以内であるか否かを判定する(ステップS26)。算出した誤差が許容値以内である場合(ステップS26においてYESの場合)には、アライメントを終了する。すなわち、モーションコントローラ200は、ワークの現在地点と目標地点との間の差分が許容値以内になるように、ステージ300を移動させる。
【0095】
算出した誤差が許容値を超えている場合(ステップS26においてNOの場合)には、モーションコントローラ200は、画像処理装置100から取得した位置計測の結果がステージ300の制御に使用できるか否かを判定する(ステップS28)。すなわち、画像処理装置100においてワークの位置計測が適切に実行されたか否かが判定される。
【0096】
画像処理装置100から取得した位置計測の結果がステージ300の制御に使用できると判定された場合(ステップS28においてYESの場合)には、モーションコントローラ200は、目標地点までの差分に基づいて、ステージ300が移動すべき距離(移動量)を算出するとともに、ステージ300の動き(目標軌道、速度パターン、または加速度パターンなど)を修正する(ステップS30)。そして、モーションコントローラ200は、決定された動きに従ってサーボドライバに対して指示を与えることで、ステージ300を移動させる(ステップS32)。
【0097】
これに対して、画像処理装置100から取得した位置計測の結果がステージ300の制御に使用できないと判定された場合(ステップS28においてNOの場合)には、ステップS30の処理がスキップされる。すなわち、先に決定/修正されている動きをそのまま利用する。
【0098】
ステップS32の実行後、既定の時間が経過すると、ステップS20以下の処理が再度実行される。
【0099】
以上のような処理手順によって、本実施の形態に係るアライメントが実行される。なお、あるワークについてのアライメントが完了すると、その位置決めされたワークは次工程へ搬送され、新たなワークを受け入れる。この新たなワークに対して、ステップS10以下の処理が繰返し実行される。
【0100】
以下、上述のステップのうちいくつかのステップについて、その処理の内容をより詳細に説明する。なお、上述のステップS28の処理は、オプションであり必須の処理ではない。すなわち、ステップS28の判定を行うことなく、ステップS30を実行してもよい。
【0101】
<G.キャリブレーション>
図10の処理手順のステップS2のキャリブレーションについて説明する。キャリブレーションは、ステージ300の座標系とカメラ102および104の座標系との整合をとる処理を意味する。すなわち、カメラ102および104がワークを撮影することで得られる位置情報と、実際のワーク(または、ステージ300)の位置情報との関係性を決定する処理である。
【0102】
図11は、本実施の形態に係るアライメントの前処理としてのキャリブレーションを説明するための図である。
図12は、本実施の形態に係るアライメントの前処理としてのキャリブレーションの原理を説明するための図である。
【0103】
図11を参照して、ワーク(ガラス基板2)上の位置決めマーク12および14をカメラ102および104で撮影すると、現実のステージ300の座標系であるステージXY座標系と、カメラ102および104が認識するカメラxy座標系(画像データの画素位置に相当)とは一致しない。そのため、キャリブレーションにおいては、これらの座標系の間で整合をとる。
【0104】
より具体的には、
図12に示すように、位置決めマーク12および14が設けられているワークを移動させ、ステージXY座標系に生じる移動量とカメラxy座標系に生じる移動量とを比較することで、後述するようなキャリブレーションパラメータ(典型的には、アフィン変換パラメータ)を最適化計算する。
【0105】
より具体的には、ワーク上の位置決めマーク(
図12に示す例では、十字マーク)を撮影し、その後、そのワークをステージ300のX方向に沿って所定距離(移動量ΔX)だけ移動させ(Y方向には移動させない)、移動後の位置決めマークを再度撮影する。同様に、そのワークを当初の位置からステージ300のY方向に沿って所定距離(移動量ΔY)だけ移動させ(X方向には移動させない)、移動後の位置決めマークを再度撮影する。
【0106】
各座標系において、
図12に示す3つの位置決めマークのそれぞれについて算出された位置(座標)を用いることで、キャリブレーションパラメータを決定できる。より具体的には、ステージXY座標系における3つの座標とカメラxy座標系における対応する3つの座標とを用いて、以下の式におけるアフィン変換パラメータa〜fを算出する。
【0108】
このアフィン変換パラメータによって、カメラxy座標系とステージXY座標系との座標値を相互に変換することができる。
【0109】
<H.目標地点(回転中心)の決定>
図10の処理手順のステップS4のワークの目標地点の決定処理について説明する。本実施の形態に係る制御システム1において、ステージ300はXY方向の移動およびθ方向の回転が可能になっている。ステージ300によるワークの回転中心を目標地点に設定することで、ステージ300を用いてワークのXY方向の移動およびθ方向の回転を合せた位置決めを行うことができる。そのため、本実施の形態においては、前処理として、ステージ300の回転中心を予め特定しておき、この回転中心を目標地点に決定する。
【0110】
図13は、本実施の形態に係るアライメントの前処理としての目標地点(回転中心)の決定処理を説明するための図である。
図14は、本実施の形態に係るアライメントの前処理としての目標地点(回転中心)の決定処理の原理を説明するための図である。
【0111】
図13を参照して、まず、ワーク(ガラス基板2)をステージ300の正しい位置に配置する。このとき、ワークを配置する位置精度が重要であるので、専用の治具や寸法が正確なマスタワークを用いる。
【0112】
そして、画像処理装置100は、ワーク上の位置決めマーク12および14をそれぞれカメラ102および104で撮影し、ワークの座標(回転中心の座標と回転角度)を計測する。この回転中心の座標が目標地点に設定される。すなわち、視野が離れた2つのカメラ102および104で撮影した位置決めマーク12および14の座標から、ワーク(ステージ300)の回転中心の座標が算出される。
【0113】
図14に示すように、ステージ300を角度θだけ回転させて、その前後での位置決めマークの位置の変化に基づいて回転中心を推定する。より具体的には、
図14(a)に示すように、位置決めマークが設けられているワークをステージ300によって角度θだけ回転させる。この回転前後における位置決めマークをそれぞれ「サンプリング1点目」および「サンプリング2点目」と示す。そして、
図14(b)に示すように、角度θの回転前後における2つの位置決めマークの座標点を通る直線を定義するとともに、
図14(c)に示すように、その直線の垂直二等分線上で、2つの位置決めマークとの間になす角が角度θになる座標を算出する。この算出した座標をステージ300の回転中心の座標として決定する。
【0114】
なお、詳細については、特開2006−049755号公報(特許文献2)を参照されたい。
【0115】
<I.ノンストップアライメント開始距離dnsの決定方法>
上述したように、ノンストップアライメント開始距離(NSA開始距離)dnsをより短くすることで、全体としての移動時間を短縮できる。すなわち、本実施の形態に係るアライメントを早く完了させるためには、NSA開始距離dnsは、なるべく小さい、すなわちNSA開始距離(ノンストップアライメント開始位置)が目標地点になるべく近い方が好ましい。
一方で、NSA開始距離dnsは、ワークが目標地点を行き過ぎないようにするための余裕距離に相当し、制御安定性の観点からは、より長い方が好ましい。そのため、NSA開始距離dnsを適切に決定する必要がある。
【0116】
図15は、本実施の形態に係るアライメントに用いるノンストップアライメント開始距離dnsの理論値を決定する方法を説明するための図である。
図15を参照して、画像処理装置100がワークを撮影してからモーションコントローラ200へ指令を与えるまでに1つのノンストップアライメント制御周期fに相当するむだ時間が発生し、さらに、減速期間(時間t5)の間もステージ300は移動する。このような滑走距離を考慮すると、NSA開始距離dnsは、以下のような数式に従って算出できる。
【0117】
dns=Vns_max×f+α×t5
2/2
=Vns_max×Vns_max
2/2α
上述の理論値での考慮に加えて、各種の動的に変動する誤差を考慮して、ノンストップアライメント開始距離dnsを決定する必要がある。具体的には、NSA開始距離dnsの最小値は、1回目の撮影による画像処理の結果から算出した移動量に含まれる誤差の最大値に相当する。このような誤差の原因は、(a)カメラのノイズによる計測誤差、および、(b)ステージや光学系の特性に分類できる。(a)の原因は、計測毎に変化し、(b)の原因は、計測位置に依存し、計測毎には変化しない。
【0118】
(a)の原因については、カメラに用いられている撮像素子の統計的なデータを用いることで、ある程度推測できる。また、(b)の原因については、後述するような手順によって、事前に実験的に測定しておくことで推測できる。
【0119】
実際にワークを移動させた場合に生じる誤差を実験的に測定しておくことで、NSA開始距離を実験的に決定できる。
【0120】
最終的には、上述したように決定されるNSA開始距離の理論値と実験値との和をNSA開始距離dnsとして決定する。つまり、余裕距離(NSA開始距離dns)は、移動機構を予め定められた移動量だけ移動させて、当該移動後の対象物の位置を画像処理手段が特定した結果と、当該予め定められた移動量との比較により決定される第1の距離と、画像処理手段が画像データを取得してから特徴部分の位置を特定するまでの間だけ移動機構を第2の速度にて移動させ、さらに移動機構を許容される最大加速度で第2の速度から減速させ停止させるまでの間の移動機構の移動量である第2の距離との和である。
【0121】
以下、NSA開始距離を実験的に決定する手法について説明する。
[i1:決定方法その1]
図16は、本実施の形態に係るアライメントに用いるノンストップアライメント開始距離dnsを決定する方法(その1)を説明するための図である。
図16に示す方法は、ワークの移動量(ベクトル量)をランダムに決定し、このようにランダムに決定された移動量だけワークを移動させた場合に生じる誤差を実験的に取得する。
図17は、
図16に示すノンストップアライメント開始距離dnsを決定する手順を示すフローチャートである。
【0122】
図16および
図17を参照して、画像処理装置100は、カメラ102および104における視野とステージ300の座標との位置関係を特定するためのキャリブレーションを実行する(ステップS100)。すなわち、ステージ300の座標系とカメラ102および104の座標系との整合をとる。続いて、ユーザは、ワーク(ガラス基板2)をステージ300の所定の位置に配置する(ステップS102)。このとき、ワークを配置する位置精度が重要であるので、専用の治具や寸法が正確なマスタワークを用いる。
【0123】
そして、画像処理装置100は、ワーク上の位置決めマーク12および14をそれぞれカメラ102および104で撮影し、ワークの座標(回転中心の座標と回転角度)を計測する(ステップS104)。この回転中心の座標(X0,Y0,θ0)が目標地点に設定される。
【0124】
これによって、NSA開始距離を決定するための前処理が完了する。画像処理装置100は、NSA開始距離dnsの初期値としてゼロをセットする(ステップS106)。続いて、モーションコントローラ200は、位置決めマーク12および14がそれぞれカメラ102および104の視野に入るように、移動量(xt,yt,θt)をランダムに決定し(ステップS108)、決定された移動量に従ってサーボドライバに対して指示を与えることで、ステージ300を移動させる(ステップS110)。
【0125】
ステージ300の移動後、モーションコントローラ200は、ステージ300を再度目標地点まで移動させる(ステップS112)。すなわち、移動機構(ステージ300)を予め定められた移動量だけ移動させる工程が実行される。画像処理装置100は、ワーク上の位置決めマーク12および14をそれぞれカメラ102および104で撮影し、ワークの座標(X1,Y1,θ1)を計測するとともに、目標地点の座標と計測されたワークの座標との間のステージ300上の距離dを算出する(ステップS114)。すなわち、距離dは、目標地点の座標(X0,Y0)と計測されたワークの座標(X1,Y1)との間の距離に相当する。すなわち、移動後の対象物の位置を撮影して得られる画像データから位置を特定する工程が実行される。
【0126】
その後、画像処理装置100は、NSA開始距離dnsの現在値と算出された距離dとを比較し、算出された距離dがNSA開始距離dnsの現在値より大きいか否かを判定する(ステップS116)。算出された距離dがNSA開始距離dnsの現在値より大きい場合(ステップS116においてYESの場合)には、画像処理装置100は、NSA開始距離dnsを算出された距離dに更新する(ステップS118)。そして、ステップS108以下の処理が繰返される。
【0127】
これに対して、算出された距離dがNSA開始距離dnsの現在値より小さい場合(ステップS116においてNOの場合)には、画像処理装置100は、NSA開始距離dnsの更新が所定の回数連続して行われなかったか否かを判定する(ステップS120)。すなわち、NSA開始距離dnsの現在値が生じ得る誤差の最大値になっているか否かが判定される。NSA開始距離dnsの更新が直近の所定回数内に行われている場合(ステップS120においてNOの場合)には、ステップS108以下の処理が繰返される。
【0128】
これに対して、NSA開始距離dnsの更新が所定の回数連続して行われていない場合(ステップS120においてYESの場合)には、画像処理装置100は、NSA開始距離dnsの現在値を最終的なNSA開始距離dnsの最適値として出力する(ステップS122)。そして、処理は終了する。
【0129】
以上のとおり、移動機構(ステージ300)を複数回移動させるとともに、予め定められた移動量と特定された対象物の位置とのそれぞれの比較に応じて、誤差に応じた距離(NSA開始距離dns)を決定する工程が実行される。
【0130】
[i2:決定方法その2]
図18は、本実施の形態に係るアライメントに用いるノンストップアライメント開始距離dnsを決定する方法(その2)を説明するための図である。上述の
図16に示す方法では、ワークの移動量をランダムに決定してNSA開始距離dnsを算出する手法について説明したが、
図18に示す方法では、規則的に配置された各座標について誤差を評価することで、NSA開始距離dnsを算出する手法について説明する。
図19は、
図18に示すノンストップアライメント開始距離dnsを決定する手順を示すフローチャートである。
【0131】
図18および
図19を参照して、画像処理装置100は、カメラ102および104における視野とステージ300の座標との位置関係を特定するためのキャリブレーションを実行する(ステップS200)。すなわち、ステージ300の座標系とカメラ102および104の座標系との整合をとる。続いて、ユーザは、ワーク(ガラス基板2)をステージ300の所定の位置に配置する(ステップS202)。このとき、ワークを配置する位置精度が重要であるので、専用の治具や寸法が正確なマスタワークを用いる。
【0132】
そして、画像処理装置100は、ワーク上の位置決めマーク12および14をそれぞれカメラ102および104で撮影し、ワークの座標(回転中心の座標と回転角度)を計測する(ステップS204)。この回転中心の座標(X0,Y0,θ0)が目標地点に設定される(
図18(a)参照)。これによって、NSA開始距離を決定するための前処理が完了する。
【0133】
まず、モーションコントローラ200は、ステージ300を原点((x,y,θ)=(0,0,0))に移動させる(ステップS206)。その後、モーションコントローラ200は、
図18(b)に示すように、ステージ300を原点から目標地点(x0,y0,θ0)に再度移動させる(ステップS208)。画像処理装置100は、ステージ300の移動後に、ワーク上の位置決めマーク12および14をそれぞれカメラ102および104で撮影し、ワークの座標(X1,Y1,θ1)を計測するとともに、目標地点の座標(X0,Y0,θ0)と計測されたワークの座標(X1,Y1,θ1)との間のステージ300上の距離d1を算出する(ステップS210)。すなわち、距離dは、目標地点の座標(X0,Y0)と計測されたワークの座標(X1,Y1)との間の距離に相当する。
【0134】
次に、モーションコントローラ200は、所定規則に従ってステージ300の移動先を決定する(ステップS212)。具体的には、
図18(c)に示すように、ステージ300のX方向に沿って移動させた座標(T,0,0),(2T,0,0),(3T,0,0)を移動先としてそれぞれ決定する。すなわち、あるX軸上の移動先としては、一定の変化量Tずつ変化させた座標が順次設定される。
【0135】
そして、モーションコントローラ200は、ステージ300をステップS212において決定された移動先に移動させる(ステップS214)。その後、モーションコントローラ200は、ステージ300を移動先から目標地点(x0,y0,θ0)に再度移動させる(ステップS216)。画像処理装置100は、ステージ300の移動後に、ワーク上の位置決めマーク12および14をそれぞれカメラ102および104で撮影し、ワークの座標を計測するとともに、目標地点の座標(X0,Y0,θ0)と計測されたワークの座標との間のステージ300上の距離dnを算出する(ステップS218)。
【0136】
その後、モーションコントローラ200は、X方向のすべての点を移動先として決定したか否かを判定する(ステップS220)。X方向のすべての点を移動先として決定していない場合(ステップS220においてNOの場合)には、ステップS212以下の処理が再度実行される。
【0137】
以上のような処理によって、各移動先への移動後に取得された計測座標(X2,Y2,θ2)、(X3,Y3,θ3)、(X4,Y4,θ4)…が取得され、各計測座標と(X0,Y0)との間の距離d2,d3,d4,…が算出される。
【0138】
X方向のすべての点を移動先として決定している場合(ステップS220においてYESの場合)には、モーションコントローラ200は、ステージ300の移動先のY方向の値を所定値だけインクリメントする(ステップS222)。すなわち、ステージ300の端またはカメラの視野の端まで到達したら、ステージ300をY方向にTだけ移動させる。そして、モーションコントローラ200は、Y方向のすべての点を移動先として決定したか否かを判定する(ステップS224)。Y方向のすべての点を移動先として決定していない場合(ステップS224においてNOの場合)には、ステップS212以下の処理が再度実行される。
【0139】
Y方向のすべての点を移動先として決定している場合(ステップS224においてYESの場合)、すなわちステージ300上のすべての座標について移動距離を算出できれば、モーションコントローラ200は、ステージ300の移動先のθ成分の値を所定値だけインクリメントする(ステップS226)。すなわち、ステージ300の端またはカメラの視野の端まで到達したら、ステージ300をθ方向に所定値だけ回転させる。そして、モーションコントローラ200は、θ成分のすべての点を移動先として決定したか否かを判定する(ステップS228)。θ成分のすべての点を移動先として決定していない場合(ステップS228においてNOの場合)には、ステップS212以下の処理が再度実行される。
【0140】
このようにして、
図18(d)に示すように、規則的に配置された各座標へ移動させた場合に生じる誤差をそれぞれ算出する処理が実行される。
【0141】
θ成分のすべての点を移動先として決定している場合(ステップS228においてYESの場合)には、算出されたすべての移動先(X,Y,θ)についての、計測座標(X,Y)と(X0,Y0)との距離dの最大値を算出し、その算出した最大値をNSA開始距離dnsの最適値として出力する(ステップS230)。そして、処理は終了する。
【0142】
<J.計測失敗時の処理>
図10の処理手順のステップS28において、モーションコントローラ200は、画像処理装置100から取得した位置計測の結果がステージ300の制御に使用できるか否かを判定する。この判定処理は、必須のステップではないが、ノンストップアライメントの位置決め精度を高めるためには、実行することが好ましい。
【0143】
すなわち、ノンストップアライメントでは、画像処理による計測結果に基づいて動的に速度や位置を制御するため、計測結果に誤差が大きい場合や、画像処理による計測により多くの時間がかかる場合には、制御に大きな外乱が生じ得る。その結果、大幅な時間ロスを生じてしまう。
【0144】
図20は、本実施の形態に係るアライメントの実行時に計測処理が失敗した場合の処理を説明するための図である。
図20に示すように、画像処理装置100から取得した位置計測の結果がステージ300の制御に使用できるか否かが判定され(
図10のステップS28参照)、使用できないと判定された場合には、ステージ300の動きを修正しないで、先に決定/修正されている動きに従ってステージ300の移動を継続する。なお、先に決定/修正されている動きでは、目標地点までの挙動が定義されているので、動きをそのまま使用したとしても、大きな問題は生じない。
【0145】
このように、本実施の形態に係るアライメントにおいては、画像処理の結果がステージ300の制御に使用できるか否かを判定するロジックが含まれており、ステージ300の制御に使用できないと判定された場合には、ステージ300の移動方向の修正をせずに現状の移動が継続される。すなわち、本実施の形態に係る制御システム1は、第2の制御動作(ノンストップアライメント)において、画像処理装置100による特徴部分の位置の特定が正常ではない場合に、制御指令の決定をスキップする。
【0146】
この位置計測の結果がステージ300の制御に使用できるか否かを判定する基準の一例としては、例えば、以下のようなものが挙げられる。
【0147】
(1)ワークを検出できなかった
(2)前回の計測結果からの移動距離が大き過ぎる、または、サーボモータのエンコーダ値から推測される現在位置との差がしきい値以上離れている(なお、ノンストップアライメントにおける移動距離は、
図8に示す時間t4のうちに進む距離d4を越えることはない)
(3)画像処理が所定処理時間内に完了しなかった(ノンストップアライメントのための画像処理は、
図8に示すノンストップアライメント制御周期fを超えてはいけない)
なお、上記の(3)の場合には、最初に、画像処理装置100における画像処理を中断するようにしてもよい。
【0148】
なお、位置計測の結果がステージ300の制御に使用できるか否かの判定機能を画像処理装置100側に搭載してもよい。この場合には、判定結果が画像処理装置100からモーションコントローラ200へ通知されることになる。また、画像処理装置100は、自身による特徴部分の位置の特定が正常ではない場合に、制御指令の決定をスキップする。
【0149】
<K.視野サイズの異なる2種類のカメラの使用例(変形例1)>
上述の実施の形態においては、1種類のカメラで位置決めマークを撮影する構成について例示したが、要求される位置精度を満足するために、異なる視野をもつ複数のカメラを用いる構成が採用される場合がある。すなわち、単一のカメラでは視野サイズの広さと分解能の高さとの両方を満足することが困難である。そのため、移動量に対して要求精度が厳しい場合には、視野サイズの異なる複数種類のカメラを用いたアライメントシステムが構成される場合がある。
【0150】
図21は、本実施の形態の変形例1に係る制御システムの構成を説明するための模式図である。
図22は、本実施の形態の変形例1に係るアライメントを説明するための図である。
【0151】
図21に示す制御システムにおいては、位置決めマーク12および14の各々に対応付けて、視野サイズの異なる2種類のカメラを用意する。カメラ102−1および104−1(広視野カメラ)は、より広い視野を有しており、ワークが存在し得るすべての領域を撮影する。一方、カメラ102−2および104−2(狭視野カメラ)は、より狭い視野を有しており、目標地点の近傍をより高解像度で撮影する。
【0152】
すなわち、本実施の変形例1に係る画像処理装置100は、互いに視野サイズの異なる第1および第2のカメラからそれぞれ画像データを取得するように構成されている。
【0153】
図22を参照して、変形例1に係るアライメントでは、広視野カメラの撮影によって粗く位置計測を行い、ワークを狭視野カメラの視野内まで移動させる。その後、狭視野カメラでより精密に位置計測を行うことで、ワークを目標地点に位置決めする。変形例1においては、説明の便宜上、広視野カメラで粗く位置決めすることを「プリアライメント」と称し、狭視野カメラで精密に位置決めすることを「本アライメント」と称す。
【0154】
このように、本実施の形態の変形例1に係るアライメントにおいては、高精度および広視野を両立するために、異なる視野をもつ複数種類のカメラを用いる構成において、プリアライメントと本アライメントとの間でステージ300を停止することなく、移動制御を継続することで、移動に要する時間を短縮する。
【0155】
本アライメントは、ワークが狭視野カメラの視野に入ったタイミング(本アライメント開始タイミング)で開始されてもよい。この場合、狭視野カメラの撮影開始タイミングTp(本アライメント開始タイミング)は、広視野カメラでの計測位置から、狭視野カメラの視野までの最短距離に基づいて、以下の式に従って算出できる。
【0157】
なお、広視野カメラおよび狭視野カメラの両方の視野に位置決めマークを配置してキャリブレーションを行うことで、カメラ切替えによるアライメントへの影響を回避できる。
【0158】
図21に示すような視野サイズの異なる2種類のカメラを使用する場合であっても、ステージを停止させることなく、連続的に移動させて、アライメントを行うことができる。
【0159】
すなわち、本実施の形態の変形例1に係る制御システム1は、視野サイズがより大きい第1のカメラ(広視野カメラ)からの画像データに基づいて第1の制御動作(通常アライメント)において用いられる制御指令を決定し、第1の制御動作において、移動機構の移動中に、画像データの取得先を第1のカメラに代えて視野サイズがより小さい第2のカメラ(狭視野カメラ)に切換える。
【0160】
このようにステージを停止せることなく、広視野カメラから狭視野カメラへの切替えを行うことで、全体の移動に要する時間を短縮できる。
【0161】
なお、第1のカメラ(広視野カメラ)および第2のカメラ(狭視野カメラ)がともに画像処理装置100に接続されることから、画像処理装置100側に、(1)制御指令の決定する機能、および、(2)第2のカメラの視野にワークが入ることを第1または第2のカメラで監視し、視野に入るまで通常アライメントを継続し、視野に入ったら上記のカメラ切替える機能、の少なくとも一方を搭載してもよい。この場合には、画像処理装置100は、視野サイズがより大きい第1のカメラからの画像データに基づいて第1の制御動作(通常アライメント)において用いられる制御指令を決定し、第1の制御動作において、移動機構の移動中に、画像データの取得先を第1のカメラに代えて視野サイズがより小さい第2のカメラに切換える。
【0162】
<L.垂直方向の移動(変形例2)>
図1に示すアライメントシステムの適用例においては、ステージを水平方向(XY平面)のみならず、垂直方向(Z軸)にも移動させることがある。変形例2として、このような垂直方向の移動が同時に行われる場合の補正処理について説明する。
【0163】
図23は、本実施の形態の変形例2に係る適用例を説明するための模式図である。
図24は、
図23に示す適用例における補正処理を説明するための図である。
【0164】
図23を参照して、例えば、ガラス基板2に露光マスク4を貼り合せる工程においては、アライメントしながら露光マスク4とガラス基板2との距離を徐々に縮めていき、アライメント完了時点には、露光マスク4が下に置かれたガラス基板2と密着しているようにする。
【0165】
このような工程において、水平方向(XY平面)の移動を行うXYステージと垂直方向(Z軸)の移動を行うZ軸ステージとがそれぞれ独立に配置される場合がある。すなわち、移動機構であるステージは、第1および第2の制御動作(通常アライメントおよびノンストップアライメント)に従って位置決めされる座標系に加えて、さらに移動可能な別の座標系を有している。このような場合には、Z軸ステージがXYステージに対して垂直になっていない場合がある。このような場合には、次のような問題が発生し得る。
【0166】
図24を参照して、XYステージおよびZ軸ステージは同時に制御されるが、基本的には、ノンストップアライメントはXY平面に対して実行されるため、XY平面での位置決めが完了すると、Z軸方向の移動が継続しているにもかかわらず、ノンストップアライメントが完了してしまう場合がある。
【0167】
すなわち、ノンストップアライメントに係る位置決めを行っている対象はXY平面であり、Z軸の移動中に、XY平面の位置決め精度が要求精度内に入ったことで、ノンストップアライメントが終了してしまう(
図24の時刻T2)。
【0168】
ノンストップアライメント終了後、上述のようなステージ間のずれによって、Z軸移動に伴いXY平面に位置ずれが生じる場合がる。
図24には、位置決め精度が要求精度内に入り、時刻T=2においてノンストップアライメントは停止するが、その後のZ軸の移動に伴って位置ずれが生じる様子を示す。
【0169】
このような課題に対する対策として、Z軸の移動に伴うXY平面における変化量を予め取得しておき、ノンストップアライメントの目標地点に対する補正値として与えることが好ましい。具体的には、以下のような数式に従って、目標地点を補正する。
【0170】
X=X’+AZ
Y=Y’+BZ
ここで、X,Yは補正前の座標を示し、X’,Y’は補正後の座標を示し、ZはZ軸方向の移動量を示す。係数AおよびBは、予めキャリブレーションによって取得しておく。上式において、補正量がZ軸方向の移動量に関する値になっているのは、
図24に示すように、目標地点に対するオフセット成分は、露光マスク4のZ位置によって動的に変化させる必要があるからである。
【0171】
このように、本実施の形態の変形例2においては、アライメント中にステージがXY方向のみならずZ方向にも移動する構成が採用されている。このような構成において、Z軸がXY軸に垂直でない場合、Z軸の移動量に伴うXY方向における変化量を予めキャリブレーションしておくことで、アライメント時にXY位置を補正する。すなわち、本実施の形態の変形例2に係る制御システムは、別の座標系(Z軸)において移動機構(ステージ)が移動することによって生じる誤差に応じて、第2の制御動作(ノンストップアライメント)における制御指令を補正する。
【0172】
このような補正を行うことで、水平方向および垂直方向にアライメントさせる必要がある場合であっても、その精度を高めることができる。
【0173】
<M.利点>
本実施の形態に係るアライメント手法では、静止しているワークに対して一回の撮影で目標地点までの移動に係る動きを決定し、その決定した動きに従って当該ワークを移動させる制御(一種のフィードフォワード制御)手法と、移動しているワークに対して一回以上の撮影を順次行うことで、移動速度や移動量を順次調整する制御(一種のフィードバック制御)手法とを途中で切替える。これによって、アライメントに要する時間を短縮化できる。
【0174】
このとき、上記2つの制御手法を切替えるタイミングを可能な限り遅くすることで、移動速度の遅いフィードバック制御手法が実行される時間を最小化することができる。このとき、システムに生じ得る誤差の最大値を予め計測しておき、この計測によって得られた誤差の最大値に応じて、上記2つの制御手法を切替えるタイミングを決定する。つまり、フィードフォワード制御手法によってワークが当該計測された誤差範囲内に移動すると、そのタイミングで制御手法を切替える。
【0175】
上述したように、本実施の形態n係るアライメントは、通常アライメントとノンストップアライメントとを組み合わせることで、ワークを目標地点に位置決めするのに要する時間を短縮する。
【0176】
図25は、本実施の形態に係るアライメントによる移動時間の短縮効果を説明するための図である。
図25には、本実施の形態に係るアライメントによる時間短縮化の効果を従来のアライメントと比較した図である。
図25に示すように、本実施の形態においては、一旦移動を開始したステージ300(ワーク)を停止させることなく、位置決め制御を行うので、停止に伴う時間のロスがなく、従来のアライメントに比較して、アライメントの完了までに要する時間を大幅に短縮できる。
【0177】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。