(58)【調査した分野】(Int.Cl.,DB名)
前記距離情報算出部は、前記仮想基板の画像と前記教示用基板の画像とをパターンマッチングすることにより、前記基板載置部から前記教示用基板までの距離情報を算出する、請求項1又は2に記載のロボット。
ロボットアームと、前記ロボットアームの先端に取り付けられたハンドと、前記ハンドの基板が載置される基板載置部を撮影するように基板載置部以外の部分に固定して取付けられたカメラと、を備え、基板を載置すべき基板の目標位置に基板を搬送するロボットの制御装置であって、
前記カメラにより撮影された、教示対象となる基板の目標位置に配置された教示用基板、及び、前記ハンドの基板載置部の画像データを取得する画像データ取得部と、
前記カメラの画像データにおいて前記ハンドの基板載置部に仮想的に配置された仮想基板の情報を生成する仮想基板情報生成部と、
前記カメラの画像データに基づいて前記基板載置部から前記教示用基板までの距離情報を算出する距離情報算出部と、
前記基板載置部から前記教示用基板までの距離情報に基づいて、前記仮想基板が前記教示用基板と一致するように前記ロボットアームの動作を制御するロボット動作制御部と、
前記仮想基板が前記教示用基板と一致したときのハンドの位置を教示データとして記憶する記憶部と、
を備える、ロボットの制御装置。
【発明を実施するための形態】
【0014】
本発明の実施の形態について、図面を参照しつつ説明する。以下では、全ての図面を通じて同一又は相当する要素には同じ符号を付して、重複する説明は省略する。
【0015】
(実施形態)
[半導体処理設備]
図1は、本発明の実施形態に係るロボットを備える半導体処理設備を示す斜視図である。半導体処理設備100は半導体ウェハを処理するための設備である。半導体ウェハとして、シリコンウェハ、サファイヤ(単結晶アルミナ)ウェハ、その他の各種のウェハが例示される。また、ガラスウェハとしては、例えば、FPD(Flat Panel Display)用ガラス基板、MEMS(Micro Electro Mechanical Systems)用ガラス基板が例示される。半導体処理設備100は、たとえばSEMI(Semiconductor Equipment and Materials International)規格によって、予め規定される。この場合、後述のフープ101はSEMI規格の使用に従う。半導体処理設備100の構成はSEMI規格外の構成であってもよい。
【0016】
処理前および処理後の半導体ウェハ(以下、単に基板ともいう)WはFront Opening Unified Pod(FOUP)と呼ばれる容器(以下、「フープ」と呼ぶ)101に収容される。フープ101は、極所クリーン化技術に関し、クリーン環境におけるミニエンバイロメント用基板容器である。3つのフープ101には複数の基板Wが収容される。フープ101に収容される各基板Wは、水平な状態で、上下方向Zに等間隔を空けて配置される。フープ101は、基台102の上に略箱状に形成され、一方に開放される。半導体処理設備100は、基板Wを処理する基板処理装置110を含んでいる。基板Wに対する処理としては、熱処理、不純物導入処理、薄膜形成処理、リソグラフィ処理、洗浄処理および平坦化処理などのプロセス処理が想定される。基板Wは、フープ101と基板処理装置110との間をロボット1により搬送される。
【0017】
[ロボット]
図2は、本発明の実施形態に係るロボット及び基板が収納されるフープの構成を概略的に示す平面図である。フープ101は断面を示している。
図2に示すように、フープ101は、互いに対向する一対の側壁101aと、側壁101aに設けられた複数対の基板支持部101dを備えている。基板支持部101dは、複数の基板Wが水平姿勢で且つ上下方向に間隔をあけて並ぶように複数の基板Wの端部を支持する。そして、フープ101の前面は開放された前面開口101eを構成している。
【0018】
ロボット1は、この前面開口101eを通じて基板Wをフープ101から搬出し、また、基板Wをフープ101に搬入する。即ち、ロボット1は、基板Wを載置すべき基板の目標位置Tに基板Wを搬送するロボットであって、ハンド2により、フープ101からの基板Wの取り出し及びフープ101への基板Wの収納を行う。
図2に示すように、例えば、鉛直方向から見て基板支持部101dに支持される教示対象となる基板Wの中心が基板の目標位置Tを構成するがこれに限られるものではない。この目標位置Tとは、ロボット1の後述する制御部が、教示用の基板Wと後述する仮想基板が一致したときのハンドの位置を教示データとして記憶することによって、ロボット1による基板Wのフープ150からの搬出又は基板Wのフープ101への搬入を可能にする位置である。ロボット1のハンド2の基端側のリスト2a(基端部)にはカメラ3が固定して取付けられている。本実施形態ではカメラ3は、ブレード2bを撮影できるようにリスト2aに固定して取付けられるが、ハンド2のブレード2b以外の部分に固定して取り付けられてもよい。カメラ3はCCD(Charge Coupled Device)カメラ、CMOS(Complementary Metal Oxide Semiconductor)カメラなどにより構成される。ブレード2bはハンド2の『基板載置部』に相当し、基板Wが載置される部分である。
【0019】
以下では、ロボット1の後述する回動軸線L1の延在方向をz方向又は上下方向といい、z方向に直交する方向をx方向又は左右方向といい、z方向及びx方向に直交する方向をy方向又は前後方向という。本実施の形態において、x方向は、ロボット1からフープ101に向かう方向及びこれと反対方向に設定されている。
【0020】
図3は、ロボット1の内部機構の構成を概略的に示す図である。
図3に示すように、ロボット1は、基台10と、下アーム20と、上アーム30と、ハンド2と、ハンド2に取付けられたカメラ3と、ロボット1の動作を制御する制御装置7を備えている。下アーム20,上アーム30及びハンド2がロボットアーム4を構成する。
【0021】
基台10は、例えば、中空の円筒状部材である。基台10の内部には、サーボモータを含む下アーム駆動部15及び制御装置7が配設されている。下アーム駆動部15は、下アーム回動用主働ギヤ16を備えている。
【0022】
また、ロボット1は、昇降機構(図示せず)を備えている。昇降機構は、例えば周知のボールねじ機構(図示せず)及びこれを駆動するエンコーダ付きのサーボモータ(図示せず)を備え、当該ボールねじ機構によって、下アーム回動軸21及び下アーム駆動部15が設置された可動体(図示せず)をz方向に昇降させることによって、下アーム20,上アーム30及びハンド2を一体的にz方向に昇降させる。これによって、ハンド2を上昇位置と下降位置との間で昇降させることができる。下降位置の高さ位置は、フープ101の基台102の高さ位置よりも下方に設定されている。また、上昇位置の高さ位置は、最上段の基板支持部101dの高さ位置よりも上方に設定されている。
【0023】
下アーム20は、例えば、中空の板状部材であり、平面視において大略短冊状に形成されている。
図3に示すように、下アーム20は、その基端部の底面から下方に突出するように下アーム回動軸21が形成されている。そして、下アーム回動軸21は、z方向に延びる回動軸線L1を中心に回動可能に基台10に取り付けられている。従って、下アーム20は、xy平面において回動するように構成されている。なお、本実施の形態において、回動軸線L1がxy平面上における基準点Oを構成する。
【0024】
下アーム回動軸21の下端部には、下アーム回動用従動ギヤ22が固定されている。この下アーム回動用従動ギヤ22は、基台10の下アーム回動用主働ギヤ16と同じ高さ位置に位置するよう設けられ、この下アーム回動用主働ギヤ16と歯合している。下アーム20は、その内部にサーボモータを含む上アーム駆動部25が配設されている。上アーム駆動部25は、上アーム回動用主働ギヤ26を備えている。
【0025】
そして、下アーム20の基台10に対する回動軸線L1周りの相対的な角度位置は、下アーム駆動部15のサーボモータのエンコーダによって検出される。
【0026】
上アーム30は、例えば、中空の板状部材であり、平面視において大略短冊状に形成されている。
図3に示すように、上アーム30は、その基端部の底面から下方に突出するように上アーム回動軸31が設けられている。そして、上アーム回動軸31は、回動軸線L1と平行に延びる回動軸線L2を中心に回動可能に下アーム20に取り付けられている。従って、上アーム30は、xy平面上を回動するように構成されている。
【0027】
上アーム回動軸31の下端部には、上アーム回動用従動ギヤ32が固定されている。この上アーム回動用従動ギヤ32は、下アーム20の上アーム回動用主働ギヤ26と同じ高さ位置に位置するよう設けられ、この上アーム回動用主働ギヤ26と歯合している。上アーム30は、その内部にサーボモータを含むハンド駆動部35が配設されている。ハンド駆動部35は、ハンド回動用主働ギヤ36を備えている。
【0028】
そして、上アーム30の下アーム20に対する回動軸線L2周りの相対的な角度位置は、上アーム駆動部25のサーボモータのエンコーダによって検出される。
【0029】
ハンド2は、ハンド2の基端側に形成されたリスト2aと、ハンド2の先端側に形成されたブレード2bとを含む。リスト2aとブレード2bとは連続して形成されている。
【0030】
リスト2aは、その基端部の底面から下方に突出するように形成されたハンド回動軸41を有している。そして、ハンド回動軸41は、回動軸線L1,L2と平行に延びる回動軸線L3を中心に回動可能にハンド2に取り付けられている。従って、ハンド2は、xy平面において回動するように構成されている。
【0031】
ハンド回動軸41の下端部には、ハンド回動用従動ギヤ42が固定されている。このハンド回動用従動ギヤ42は、ハンド回動用主働ギヤ36と同じ高さ位置に位置するよう設けられ、このハンド回動用主働ギヤ36と歯合している。
【0032】
そして、ハンド2の上アーム30に対する回動軸線L3周りの相対的な角度位置は、ハンド駆動部35のサーボモータのエンコーダによって検出される。
【0033】
そして、上記下アーム駆動部15及び上アーム駆動部25がアーム駆動部を構成する。アーム駆動部は、その駆動によって、下アーム20及び上アーム30を駆動し、ハンド2をxy平面において移動させる。
【0034】
リスト2aは、その基端部の上面に取り付けられたカメラ3を有している。カメラ3は、基板Wを載置するブレード2bを撮像可能な方向に取付けられる。ブレード2bは、例えば薄板状に形成されている。このブレード2bの上面がハンド2の「基板載置部」を相当し、基板Wはブレード2bにより保持される。カメラ3は、ハンド2のブレード2bの回動軸線L3上に取付けられる。
【0035】
[制御装置]
図4は、ロボット1の制御装置7の構成を示すブロック図である。制御装置7は、例えば、CPU等の演算器を有する制御部70と、サーボ制御部71と、ROM及びRAM等のメモリを有する記憶部72と、インターフェース部(図示せず)を備えている。制御装置7は、集中制御する単独の制御装置で構成されていてもよく、互いに協働して分散制御する複数の制御装置で構成されてもよい。尚、制御装置7は教示操作盤(図示せず)を有し、入力部を介して制御装置7に各種指令を入力する構成や、表示部を介して各種指令値や演算結果の他、カメラ3の映像等を表示する構成を備えていてもよい。
【0036】
制御部70は、カメラコントローラ73と、距離情報算出部74、仮想基板情報生成部75、制御指令生成部76、及び、教示データ記録部77を含む。これらの機能部(73〜77)は、記憶部72に格納された所定の制御プログラムを制御部70が実行することにより実現される機能ブロックである。
【0037】
カメラコントローラ73は、インターフェース部(図示せず)を介してカメラ3を制御する。すなわち、カメラ3に撮影指令を出力する。撮像タイミングの調整、又は、カメラ3の位置および姿勢を変更してもよい。本実施形態では、カメラ3は、ハンド2のブレード2bを固定的に撮影可能な位置及び姿勢で取り付けられている。カメラコントローラ73は、カメラ3によって撮影されたカメラ画像を記憶部72に記憶する。
【0038】
距離情報算出部74は、カメラ3により撮影されたカメラ画像に基づいてハンド2のブレード2b(基板載置部)から教示対象となる基板Wまでの距離情報を算出する。距離情報算出部74は、すなわち、記憶部72に記憶されたカメラ画像に基づき、距離情報を算出する。
【0039】
仮想基板情報生成部75は、画像データにおいてハンド2のブレード2bに仮想的に配置された仮想基板VWの情報を生成する。仮想基板VWを生成するための情報は、予め、記憶部72に記憶されている。
【0040】
制御指令生成部76は、ロボットの動作プログラムに基づいて、各駆動部15,25,35,19のサーボモータの位置指令値を生成する。本実施形態では、制御指令生成部76は、ハンド2のブレード2bから教示用基板Wまでの距離情報に基づいて、仮想基板VWが教示用基板Wと一致するような各駆動部15,25,35,19のサーボモータの位置指令値を生成する。制御指令生成部76は、生成した位置指令値とエンコーダの検出値(実際値)の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値(電流指令値)を生成し、生成した電流指令値と電流センサとの偏差の検出値(実際値)に基づいて制御指令を生成し、サーボ制御部71に出力する。
【0041】
サーボ制御部71は、与えられる制御指令に基づいて電流を発生し、発生した電流を、各駆動部15,25,35,19のサーボモータに流し、ロボット1を動作させる。サーボ制御部71は、下アーム駆動部15を制御し、xy平面において下アーム20を回動させ、上アーム駆動部25を制御し、xy平面において上アーム30を回動させる。また、ハンド駆動部35を制御し、xy平面においてハンド2を回動させる。サーボ制御部71は、昇降機構駆動部19を制御し、下アーム20,上アーム30及びハンド2を一体的にz方向に昇降させる。
【0042】
教示データ記録部77は、教示対象となる教示用の基板Wの表面の座標と仮想基板VWの表面の座標が一致したときのハンド2の位置を教示データとして記憶部72に記憶する。本実施形態では、教示データ記録部77は、各駆動部15,25,35,19のサーボモータの位置指令値として記憶部72に記憶する。
【0043】
記憶部72には所定の動作プログラムが記憶されていて、制御部70がこれらの動作プログラムを読み出して実行することにより、ロボット1の動作が制御される。
所定の動作プログラムとは、ロボット1のハンド2を所定の位置に移動させる命令である。そして、記憶部72には、上述した通り、仮想基板VWを生成するための情報として、基板Wの形状、直径、材料、重量等の各種情報が記憶されている。
【0044】
[動作例]
次に、ロボット1に教示対象となる基板Wの目標位置Tを教示する際のロボット1の動作例を説明する。
図5はロボット1の動作の一例を示すフローチャートである。
図6〜
図8は、カメラ3で撮影された画像を示している。
【0045】
本実施形態の教示対象は、ロボット1から見て右端に位置するフープ101の上から13段目に載置された基板Wに対応するハンド2の位置である。この基板Wの中心が目標位置Tに一致している。以下では、教示対象となる基板を教示用基板Wと呼ぶ。
【0046】
まず、制御部70は、ロボット1を初期位置に移動させる(
図5のステップS1)。
図6は、初期位置におけるカメラ3で撮影された画像の第1の例である。
図6に示すように、初期位置とは、カメラ3により、教示用基板W、及び、ハンド2のブレード2bを含む空間Sを撮影可能な位置である。尚、初期位置までの経路は、予め、記憶部72に記憶されている。具体的には、制御指令生成部76は、ロボットの動作プログラムに従って、各駆動部15,25,35,19のサーボモータの位置指令値を生成し、制御指令を出力する。サーボ制御部71は、与えられる制御指令に基づいて、各駆動部15,25,35,19を制御して、初期位置にロボット1を動作させる。
【0047】
次に、カメラ3により、基板W、及び、ハンド2のブレード2bを含む空間Sを撮影する(
図5のステップS2)。3次元カメラコントローラ73は、カメラ3によって撮影されたカメラ画像を記憶部72に記憶する。
【0048】
次に、仮想基板情報生成部75は、記憶部72に予め記憶された基板Wの形状等の情報に基づいて、画像データにおいてハンド2のブレード2bに仮想的に配置された仮想基板VWの情報を生成する(
図5のステップS3)。
図7は、初期位置におけるカメラ3で撮影された画像の第2の例である。
図7に示すように、初期位置においてブレード2bに仮想基板VWが仮想的に配置されている。このとき、距離情報算出部74は、カメラ3により撮影されたカメラ画像に基づいてハンド2のブレード2b(基板載置部)から教示用基板Wまでの距離情報を算出する。本実施形態では、距離情報算出部74は、仮想基板VWの画像と教示用基板Wの画像とをパターンマッチングすることにより、ブレード2bから教示用基板Wまでの距離情報を算出する。
【0049】
次に、制御部70は、ブレード2bから教示用基板Wまでの距離情報に基づいて、仮想基板VWが教示用基板Wと一致するようにロボットアーム4の動作を制御する(
図5のステップS4)。尚、記憶部72には、予め、フープ101の13段目までの大まかな経路が動作プログラムとして記憶されている。制御指令生成部76は、動作プログラムに従って、各駆動部15,25,35,19のサーボモータの位置指令値を生成する。つまり、制御部70は、ロボット座標系においてブレード2bから教示用基板Wまでの距離情報を認識することができるので、これらの基板表面の座標が一致するように、各駆動部15,25,35,19のサーボモータの位置指令値を補正する。
図8は、カメラ3で撮影された画像の第3の例である。サーボ制御部71は、与えられる制御指令に基づいて、各駆動部15,25,35,19を制御して、ロボットアーム4を動作させることにより、
図8に示すように、教示用基板W13と仮想基板VWを一致させることができる。
【0050】
最後に、教示データ記録部77は、教示用基板Wの表面の座標と仮想基板VWの表面の座標が一致したときのハンド2の位置を、記憶部72に教示データとして記憶する(
図5のステップS5)。ここで教示データとして記憶するとは、制御装置7において、動作プログラム等の再生可能な情報としてハンド2の位置を記憶(登録)することを意味する。本実施形態では、教示データ記録部77は、各駆動部15,25,35,19のサーボモータの位置指令値として記憶部72に記憶する。
【0051】
従って、本実施形態によれば、カメラ3により目標位置Tに配置された教示用基板W、及び、ハンド2のブレード2bを含む空間Sを撮影するだけで、カメラ画像に基づいてブレード2bから教示用基板Wまでの距離情報が算出され、この距離情報に基づいて、ブレード2bに仮想的に配置された仮想基板VWが教示用基板Wとが一致するようにロボット1の動作を制御することができる。このときのハンド2の位置を教示データとして記憶することにより、ロボット1に基板Wの目標位置Tに応じたハンド2の位置を教示することができる。これにより、オペレータの技量に頼ることなく、ロボット1に正確な位置を精度良く教示することができる。
【0052】
また、距離情報算出部74は、仮想基板VWの画像と教示用基板Wの画像とをパターンマッチングすることにより、ハンド2のブレード2bから教示用基板Wまでの距離情報を算出したが、これに限られない。その他の公知の方法によって、対象物(教示用基板W)までの距離情報を算出してもよい。例えばカメラ3のレンズにカラーフィルタを取り付けて、撮影画像において物体までの距離に応じて発生するボケと色ずれを画像解析することにより、物体までの距離情報を取得してもよい。
【0053】
(その他の実施形態)
尚、本実施形態では、記憶部72には、予め、目標位置Tに在る教示用基板W13が載置されたフープ101の13段目までの大まかな経路を動作プログラムとして記憶されており、制御指令生成部76は、各駆動部15,25,35,19のサーボモータの位置指令値を補正したが、ハンド2のブレード2bから教示用基板Wまでの距離情報に基づいて、仮想基板VWが教示用基板Wと一致するような各駆動部15,25,35,19のサーボモータの位置指令値を生成するような構成でもよい。
【0054】
尚、本実施形態では、教示用基板Wは実際の半導体ウェハを使用したが、実際の基板を模した形状を有する模擬基板を使用してもよい。
【0055】
尚、本実施形態では、カメラ3はハンド2のリスト2aに固定して取り付けられたが、着脱自在に構成されてもよい。この場合は、教示の際のみカメラ3を取り付けてロボット1をリピートモードで動作させる際には、取り外してもよい。
【0056】
尚、本実施形態のカメラ3は複数配置してもよいし、3次元カメラでもよい。3次元カメラとは、対象物を異なる方向から同時に撮影し、視差を生み出すことによって、対象物までの距離情報を取得するものである。所定の座標系における対象物の表面の座標データを生成することができる。これにより、3次元カメラは、ステレオカメラの一種である。3次元カメラは、所定距離だけ離れて配置された一対のカメラを有し、一対のカメラはそれぞれ撮像素子を有する。3次元カメラは、距離情報だけでなく、対象物の色情報(RGB等)を取得してもよい。また、3次元カメラは、レーザを発射して反射位置および反射時間から反射点の距離情報を取得するものであってもよい。
【0057】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び/又は機能の詳細を実質的に変更できる。