(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0027】
以下、本発明の実施の形態を、図面を参照して具体的に説明する。
【0028】
図1は、第1実施形態に係る搬送ロボット100を説明するための図である。
図1(a)は、搬送ロボットの一例を示す斜視図である。
【0029】
搬送ロボット100は、カセット200から当該カセット200内に多段収納された基板Wを取り出し、例えば、カセット200と反対側に配設される図略のプロセス装置や検査装置などの処理装置に搬送したり、逆にその処理装置から処理の終了した基板Wを排出し、カセット200に戻したりする作業を行う。
【0030】
搬送ロボット100をカセット200と正対した状態で、搬送ロボット100からカセット200に向かう方向をX方向、水平面内でX方向と直交する方向をY方向、垂直方向をZ方向とするローカル座標系を設定すると、搬送ロボット100は、基板Wを保持するハンド101をXYZの各方向にそれぞれ独立して移動させるためのX方向駆動機構102、Y方向駆動機構103、および、Z方向駆動機構104を備えている。なお、以下では、カセット200などにおける方向を説明する場合にも、このローカル座標系を用いて説明している。
【0031】
Y方向駆動機構103は、搬送ロボット100全体を搭載するするとともに、底面に敷設されたガイドレール105に沿って移動可能に構成されたベース盤103aと、モータなどのベース盤103aの駆動源が収納されたY方向駆動部103bを備えている。
【0032】
Z方向駆動機構104は、ベース盤103a上の適所に固定されている。Z方向駆動機構104は、角柱状の支持体104aと、この支持体104a内に昇降可能に支持されたZ軸104bと、モータや油圧シリンダなどで構成される、Z軸104bを昇降動作させるためのZ方向駆動部とを備えている。なお、Z方向駆動部は支持体104a内の底部に設けられているため、図では見えていない。
【0033】
X方向駆動機構102は、Z軸104bの上面に設けられている。X方向駆動機構102は、一対のアーム102a,102bが回転可能に連結されたリンクで構成され、アーム102bの先端にハンド101が取り付けられている。ハンド101は、横長略矩形状の支持部101aの前側の側部に2つの細長い保持部101bを延設した略U字形状の板部材である。ハンド101の上面が基板Wを載置する基板載置面となっている。搬送ロボット100は、ハンド101を水平に保持した状態で基板載置面に基板Wを載置し、この状態でハンド101を昇降、XY面内での回転や移動などを行うことにより、カセット200内のスロット201に載置したり(カセット200への基板Wの収納)、スロット201に載置された基板Wをハンド101で受け取ってカセット200外に取り出したりする(基板Wのカセット200からの取出し)。
【0034】
ハンド101の保持部101bの先端には、物体検出センサ101cが設けられている。物体検出センサ101cの詳細については後述する。
【0035】
カセット200は、直方体形状の箱体を成し、少なくとも搬送ロボット100に対向する側面は基板Wを出し入れするための面として開口している。カセット200内の両側面には基板Wを多段収納するためのスロット201が複数個、内側に突設されている。基板Wは、同じ高さ位置の一対のスロット201の上面に載置されることにより、その高さ位置の段に収納される。カセット200内の向かい合う一対のスロット201で挟まれた隙間の間隔は、ハンド101がカセット200内でスロット201に干渉することなく上下動できるようにするために、ハンド101の基板載置面の横方向の長さ(ハンド101の幅)よりも長く設定されている。
【0036】
図1(b)は、搬送ロボット100の構成を示すブロック構成図である。
【0037】
搬送ロボット100は、ハンド101の移動を制御する移動制御装置106、サーボコントローラ107、マニピュレータ108、および、作業者がティーチング作業や手動操作を行うためのティーチペンダント109を備えている。マニピュレータ108は、
図1(a)に示したハンド101、X方向駆動機構102、Y方向駆動機構103およびZ方向駆動機構104からなる多関節機構に相当するものである。サーボコントローラ107は、マニピュレータ108に設けられた各サーボモータの駆動を制御するコントローラである。
【0038】
移動制御装置106は、予め教示された教示情報に基づいてサーボコントローラ107を制御し、マニピュレータ108のハンド101を教示された移動軌跡に沿って移動させる制御を行う。
【0039】
移動制御装置106は、マイクロコンピュータを主要な構成要素としている。移動制御装置106は、相互に接続されたCPU、ROM、RAMおよび入出力インターフェイスなどを備えている。移動制御装置106は、ROMに予め記憶された制御プログラムを実行することにより、ハンド101の移動の制御を行う。移動制御装置106は、機能ブロックとして、制御部106aおよび教示情報記憶部106bを備えている。
【0040】
制御部106aは、教示情報記憶部106bに記憶されている教示情報に基づいて、サーボコントローラ107の駆動を制御する。また、制御部106aは、ティーチペンダント109からの入力される情報に基づいてサーボコントローラ107の駆動を制御する。さらに、制御部106aは、後述するティーチング処理に基づいて、ティーチング作業の補助を行い、半自動的にティーチング作業を行う。ティーチング処理については後述する。
【0041】
教示情報記憶部106bは、ハンド101の移動の軌跡を示すための教示情報を記憶する。教示情報記憶部106bは、RAMの所定の記憶領域に設定されている。教示情報には、ハンド101の移動の軌跡を示すためのいくつかの教示点の情報が含まれている。なお、教示点の情報は、位置を示す情報であってもよいし、各教示点におけるマニピュレータの各軸の情報であってもよい。教示点の情報は、ティーチング処理によって予め取得されて、教示情報記憶部106bに記憶される。
【0042】
次に、ハンド101を用いて、基板Wをカセット200に収納したり、カセット200に収納されている基板Wをカセット200から取り出したりするためのハンド101の移動制御の方法について説明する。
【0043】
図2は、基板Wをカセット200に収納したり、カセット200から取り出したりするために、搬送ロボット100に教示されるハンド101の移動軌跡の一例を示す図であり、カセット200の斜視図を示している。なお、
図2においては、説明を簡単にするために、カセット200は、高さ方向の中央に一対のスロット201が設けられた、基板Wを一段だけ収納するタイプにしている。
【0044】
ハンド101の移動軌跡は、互いに連結された3本の直線的な移動軌跡L
a,L
b,L
cで構成される。移動軌跡L
aは、ハンド101を取出スタート位置RBとボトム位置EBとの間を水平に直線移動(水平移動)させる軌跡である。取出スタート位置RBは、ハンド101が基板Wを取り出す動作(以下では、「取出動作」とする)を行うときのスタート位置であり、カセット200の開口面の外側に設定される。ボトム位置EBは、取出スタート位置RBからカセット200の奥行き方向に水平に延ばした直線上の位置であり、カセット200の奥行きの長さのほぼ中間に相当する位置である。移動軌跡L
aは、ハンド101を移動させた時に、ハンド101が一対のスロット201に載置される基板Wに接触しないように設定される。また、カセット200の内部底面や、下側にある一対のスロット201(
図2の場合には記載されていない)に載置される基板Wにも、ハンド101が接触しないように設定される。
【0045】
移動軌跡L
bは、ハンド101をトップ位置ETとボトム位置EBとの間を垂直に直線移動(垂直移動)させる軌跡である。トップ位置ETは、ボトム位置EBを通る鉛直線上にある。
【0046】
移動軌跡L
cは、ハンド101を収納スタート位置RTとトップ位置ETとの間を水平に直線移動(水平移動)させる軌跡である。収納スタート位置RTは、トップ位置ETからカセット200の奥行き方向に手前に水平に延ばした直線上の位置であり、取出スタート位置RBを通る鉛直線上にある。収納スタート位置RTは、ハンド101が基板Wを収納する動作(以下では、「収納動作」とする)を行うときのスタート位置になる。移動軌跡L
cは、ハンド101を移動させた時に、ハンド101の上面に載置された基板Wがカセット200の内部上面や、上側にある一対のスロット201(
図2の場合には記載されていない)に接触しないように設定される。また、ハンド101の上面に載置された基板Wがカセット200の内部側面に接触しないように、移動軌跡L
cは、カセット200の横幅方向の中央に設定される。
【0047】
搬送ロボット100は、基板Wをカセット200に収納するときは、基板Wを載せたハンド101を収納スタート位置RTに移動させ、収納スタート位置RTからトップ位置ETとボトム位置EBを経由して取出スタート位置RBに至る経路(移動軌跡L
c、移動軌跡L
b、移動軌跡L
aの順番で移動させる経路)で移動させる。また、搬送ロボット100は、基板Wをカセット200から取り出すときは、空のハンド101を、取出スタート位置RBに移動させ、取出スタート位置RBからボトム位置EBとトップ位置ETを経由して収納スタート位置RTに至る経路(移動軌跡L
a、移動軌跡L
b、移動軌跡L
cの順番で移動させる経路)で移動させる。
【0048】
ハンド101をこれらの経路で移動させるために、取出スタート位置RB、ボトム位置EB、収納スタート位置RTおよびトップ位置ETを、あらかじめ教示点として搬送ロボット100に教示しておく必要がある。
【0049】
本実施形態では、ハンド101に設けられた物体検出センサ101cと、カセット200の一対のスロット201の上面に載置された治具とを用いて、これらの教示点を教示するためのティーチング作業を簡略化している。
【0050】
図3は、ハンド101に設けられた物体検出センサ101cを説明するための図であり、カセット200内の基板(シリコンウエハ)Wを検出している状態を示している。
図3(a)はカセット200の側面側から内部を見た状態を示しており、
図3(b)はカセット200の上面側から内部を見た状態を示している。
【0051】
物体検出センサ101cは、例えば光学式センサの一種であるフォトインタラプタが用いられる。フォトインタラプタは、発光素子と受光素子とを備え、発光素子が発する光を受光素子が受光するか否かで発光素子と受光素子との間にものがあるか否かを検知するセンサである。もちろん、物体検出センサ101cは、フォトインタラプタに限定されるものではなく、物体の有無を検出できるセンサであればよい。以下の説明では、物体検出センサ101cがフォトインタラプタであるとして説明する。
図3(b)に示すように、ハンド101の一方の保持部101bの先端に物体検出センサ101cの発光素子が設けられ、他方の保持部101bの先端に物体検出センサ101cの受光素子が設けられている。発光素子は、例えばレーザダイオードや発光ダイオードであり、受光素子は、発光素子が発する光に対して受光感度を有する半導体受光素子である。
【0052】
物体検出センサ101cは、カセット200のどのスロット201に基板Wが載置されているかを検出するために設けられている。具体的には、搬送ロボット100は、物体検出センサ101cの発光素子を発光させながら、ハンド101を上下方向(
図3(a)に示すZ方向)に移動させる。なお、この時、基板Wのエッジが物体検出センサ101cの光軸を遮ることができ、かつ、ハンド101が基板Wに接触しないように、ハンド101を移動させる。スロット201に基板Wが載置されていない場合、発光素子が発する光を受光素子が受光し、スロット201に基板Wが載置されている場合、発光素子が発する光が基板Wによって遮られるので、受光素子が受光しない。したがって、物体検出センサ101cの検出結果に基づいて、どのスロット201に基板Wが載置されているかを検出することができる。
【0053】
本実施形態では、物体検出センサ101cを、ティーチング作業の補助のためにも用いている。
【0054】
図4は、ティーチング作業のために用いる治具Dを説明するための図である。
図4(a)は治具Dを側面から見た図であり、
図4(b)は治具Dを下面から見た図である。各図においては、治具Dをカセット200に載置した場合の各方向を示すローカル座標系を示している。
【0055】
治具Dは、実際にカセット200に収納される基板Wと同じ厚さの板状のダミー基板である。治具Dの材質は特に限定されず、実際の基板Wと同じ材質であってもよいし、別の材質であってもよい。治具Dは、カセット200のスロット201に載置して用いられる(
図6(a)、(b)など参照)。治具Dのカセット200内での載置位置(XY面での位置)が変わらないように、本実施形態では、治具Dの形状を、カセット200の内面の形状とほぼ一致する矩形状としている。すなわち、治具Dの横幅方向(
図4(b)に示すY方向)の長さをカセット200の内面の横幅方向の長さと同程度で少し小さくすることで、治具Dをスロット201に載置でき、かつ、治具Dのカセット200内での載置位置の横幅方向(Y方向)のずれが生じないようにし、治具Dをスロット201の一番奥に載置することで、治具Dのカセット200内での載置位置の奥行き方向(X方向)のずれが生じないようにしている。これにより、後述する突出部D3およびD4のXY面での位置が特定の位置になるようにすることができる。なお、治具Dの形状はこれに限られず、突出部D3およびD4のXY面での位置を特定できるようにしていればよい。
【0056】
治具Dには、カセット200のスロット201に載置された場合にカセット200の開口部側(
図4(b)に示すXの負の方向側)になる端部に、2つの切り欠き部D1およびD2が設けられている。切り欠き部D1およびD2は、ハンド101の保持部101bが治具Dに接触しないようにするために設けられている。したがって、この目的を満たすものであれば、切り欠き部D1およびD2の形状は限定されない。また、治具Dの切り欠き部D1とD2との間の部分の下面には、円柱形状の2つの突出部D3およびD4が設けられている。2つの突出部D3およびD4は、Y方向に平行に並んでいる。
【0057】
次に、本実施形態における、半自動的にティーチング作業を行うための処理(以下では、「ティーチング処理」とする)について、説明する。
【0058】
従来のティーチング作業では、取出スタート位置RB、ボトム位置EB、収納スタート位置RTおよびトップ位置ET(
図2参照)などの教示点を教示する場合、作業者がティーチペンダント109を用いて手作業で搬送ロボット100を操作して、ハンド101が各教示点に位置したときに位置情報を取得していた。しかし、本実施形態におけるティーチング処理では、作業者による手作業を減らし、ハンド101に設けられた物体検出センサ101cと、カセット200の一対のスロット201の上面に載置された治具Dとを用いて、半自動的に各教示点の位置情報を取得する。
【0059】
図5は、制御部106aが行うティーチング処理を説明するためのフローチャートである。制御部106aは、作業者がティーチペンダント109からティーチング処理を行うことを指示した場合に、ティーチング処理を開始する。
【0060】
ティーチング処理は、直進方向調整処理(S1)、直進方向軸調整処理(S2)、直進方向位置計測処理(S3)、上下方向位置計測処理(S4)、ダレ計測処理(S5)、および、教示点算出処理(S6)を備えている。
【0061】
<直進方向調整処理>
位置情報を取得する前に、カセット200へ基板Wの出し入れを行う際のハンド101の直進方向(X方向)を、カセット200の奥行き方向と一致させる必要がある。本実施形態のティーチング処理では、まずは、ハンド101の直進方向(X方向)がカセット200の奥行き方向に一致するように調整する直進方向調整処理が行われる(S1)。
【0062】
図6は、直進方向調整処理を説明するための図であり、ハンド101を直進方向(X方向)に移動させながら、カセット200内の一対のスロット201に載置された治具Dの突出部D3およびD4を検出している状態を示している。
図6(a)はカセット200の側面側から内部を見た状態を示しており、
図6(b)はカセット200の上面側から内部を見た状態を示している。
図6(b)において、突出部D3,D4は上面側からは見えないので、破線で示している。なお、
図7(a)、
図9(a)、
図14(b)、
図16(b)も同様である。
【0063】
直進方向調整処理では、まず、作業者によって、ハンド101が治具Dの下方に配置される。ハンド101の配置位置は、ハンド101がX方向に移動した場合に、ハンド101が治具Dやカセット200に接触しない位置であり、物体検出センサ101cが突出部D3,D4を検出できる位置(
図6(a)参照)である。搬送ロボット100は、物体検出センサ101cによる検出を行いながら、ハンド101をX方向に移動させる。
【0064】
図6(c)は、物体検出センサ101cの検出結果を説明するための図である。
【0065】
本実施形態では、物体検出センサ101cの受光素子が発光素子の発する光を受光できた場合の出力をOFFとし、受光素子が発光素子の発する光を受光できない場合の出力をONとしている。なお、出力を逆にしてもよい。ハンド101の移動により物体検出センサ101cが矢印のように移動する。物体検出センサ101cの発光素子と受光素子との間に突出部D3,D4が位置しない間、物体検出センサ101cの出力はOFFとなっており、突出部D3,D4が位置している間だけ、物体検出センサ101cの出力がONになり、また突出部D3,D4が位置しなくなると物体検出センサ101cの出力はOFFになる。したがって、物体検出センサ101cの出力波形は、最下段に示す波形のようになる。
【0066】
図6においては、ハンド101の直進方向(X方向)(以下では、単に「X方向」とする)がカセット200の奥行き方向と一致しており、カセット200の奥行き方向を示す直線Lと物体検出センサ101cの光軸とが直交している(
図6(b)参照)。したがって、物体検出センサ101cの出力波形のONである時間tは最小になっている。しかし、X方向がカセット200の奥行き方向と一致していない場合、時間tが長くなったり、ONが2回ある波形になる。
【0067】
図7は、X方向がカセット200の奥行き方向と一致していない場合を説明するための図である。
図7(a)は、
図6(b)と同様に、カセット200の上面側から内部を見た状態を示している。この場合、カセット200の奥行き方向を示す直線Lと物体検出センサ101cの光軸とが直交しないので、ハンド101の移動による物体検出センサ101cの位置と、突出部D3,D4の位置との関係は、
図7(b)のようになる。この場合、物体検出センサ101cの出力波形は最下段に示す波形のようになり、ONである時間tが
図6(c)と比べて長くなっている。
【0068】
図7(c)は、X方向がカセット200の奥行き方向から更にずれた場合を示している。この場合、物体検出センサ101cの出力は、ONからOFFになった後、もう一度ONになっている。つまり、ONが2回ある波形になっている。
【0069】
直進方向調整処理では、物体検出センサ101cの出力に基づいて、X方向を調整する。すなわち、Z軸104b(
図1参照)(または、Z軸104bに設けられた回転用のθ軸)をXY平面で少しずつ回転させながら、物体検出センサ101cの出力のONである時間tが最小になる状態を検出する。
【0070】
図8は、直進方向調整処理を示すフローチャートの一例である。
【0071】
まず、ハンド101の所定の位置への配置が完了したか否かが判別される(S11)。作業者がティーチペンダント109に表示される指示(例えば、「直進方向調整処理開始位置に配置してください。」の表示)に従い、ハンド101を所定の位置に配置して、配置完了を示す操作を行った場合、配置が完了したと判別される。
【0072】
配置が完了したと判別された場合(S11:YES)、物体検出センサ101cが検出を開始して、ハンド101が直進方向(X方向)に移動される(S12)。所定の距離の移動が終わった後、物体検出センサ101cの出力波形からONである時間tが検出される(S13)。次に、時間tが所定の時間t
0以下であるか否かが判別される(S14)。時間t
0は、時間tの最小値に検出誤差を勘案した値であり、最小値より少し大きい値が設定されている。時間tが時間t
0以下である場合に、X方向がカセット200の奥行き方向に一致したと判断される。なお、時間tが最小値に一致したか否かを判別するようにしてもよい。また、ONが2回検出された場合も、ステップS14がNOであると判別される。
【0073】
時間tが所定の時間t
0以下である場合(S14:YES)、このときのハンド101の直進方向(X方向)が記録され、直進方向調整処理が終了する。一方、時間tが所定の時間t
0より大きい場合(S14:NO)、Z軸104bが所定の角度だけ回転され(S15)、ステップS12に戻る。回転の方向は、前回の回転方向と、前回検出された時間tと今回検出された時間tとの比較とに基づいて決定される。すなわち、今回検出された時間tが前回検出された時間tより小さい場合、X方向がカセット200の奥行き方向に近づいているので前回と同じ回転方向とし、今回検出された時間tが前回検出された時間tより大きい場合、X方向がカセット200の奥行き方向から遠ざかっているので前回と反対の回転方向とする。なお、最初の回転方向は適宜決めておけばよい。時間tが所定の時間t
0以下になるまで(S14:YES)、ステップS12〜S15が繰り返される。
【0074】
なお、直進方向調整処理は、上述したものに限定されない。例えば、時間tを時間t
0や最小値と比較することなしに、Z軸104bを所定の角度ずつ回転させ、時間tが最小となる場合を探索するようにしてもよい。また、ステップS15での所定の角度を、最初は大きな角度にしておき、反対の回転方向に変更したときには所定の角度を小さい角度に変更するようにしてもよい。
【0075】
<直進方向軸調整処理>
X方向がカセット200の奥行き方向と一致していても、カセット200へ基板Wの出し入れを行う際のハンド101の経路が、カセット200の横幅方向(Y方向)の中心を通らない場合がある。本実施形態のティーチング処理では、直進方向調整処理(S1)の後に、ハンド101の直進方向(X方向)の軸がカセット200の横幅方向の中心を通るように調整する直進方向軸調整処理が行われる(S2)。
【0076】
図9は、直進方向軸調整処理を説明するための図である。
図9(a)は、
図6(b)と同様に、カセット200の上面側から内部を見た状態を示している。
図9(a)では、ハンド101の直進方向(X方向)の軸L’が、カセット200の横幅方向の中心を通る軸LよりΔyだけY方向の負の向きにずれている場合を示している。直進方向軸調整処理では、軸L’が軸Lに一致するように調整を行う。具体的には、
図9(b)に示すように、Z軸104bを−Δθだけ回転させた状態(X方向の軸をL1’にした状態)と、Z軸104bを+Δθだけ回転させた状態(X方向の軸をL2’にした状態)とで、それぞれ物体検出センサ101cによる検出を行いながら、ハンド101をX方向に移動させる。そして、それぞれの状態での物体検出センサ101cの出力波形に基づいて、軸L’をY方向にずらすことで、軸L’を軸Lに一致させる。なお、Z軸104bの回転においては、X方向の正の向きからY方向の正の向きに向かう(すなわち、上面側から見た場合に時計回り)回転角度を正の値としている。
【0077】
図10および
図11は、直進方向軸調整処理を説明するための図であり、Z軸104bを−Δθだけ回転させた場合と+Δθだけ回転させた場合とで、物体検出センサ101cによる出力波形が異なることを説明するための図である。
【0078】
図10は、
図9と同様に、軸L’が軸LよりΔyだけY方向の負の向きにずれている場合(Δy<0)を示している。
図10(a)はZ軸104bを+Δθだけ回転させて、軸L’を軸L2’に移動した状態を示している。点C’はZ軸104bの中心を示している。また、比較のために、軸L’が軸Lに一致している場合(Δy=0)にZ軸104bを+Δθだけ回転させたときの軸L’(軸L)である軸L2を記載している。点CはこのときのZ軸104bの中心を示している。軸L2’に直交し突出部D4に接する破線V(物体検出センサ101cの光軸に相当)と軸L2’との交点を点A’とし、破線V(軸L2にも直交する)と軸L2との交点を点Aとすると、点C’と点A’との距離は点Cと点Aとの距離より長くなる。
【0079】
図10(b)はZ軸104bを−Δθだけ回転させて、軸L’を軸L1’に移動した状態を示している。点C’はZ軸104bの中心を示している。また、比較のために、軸L’が軸Lに一致している場合(Δy=0)にZ軸104bを−Δθだけ回転させたときの軸L’(軸L)である軸L1を記載している。点CはこのときのZ軸104bの中心を示している。軸L1’に直交し突出部D3に接する破線V(物体検出センサ101cの光軸に相当)と軸L1’との交点を点A’とし、破線V(軸L1にも直交する)と軸L1との交点を点Aとすると、点C’と点A’との距離は点Cと点Aとの距離より短くなる。
【0080】
つまり、Δy<0の場合、Z軸104bを+Δθだけ回転させときの点C’と点A’との距離は、Z軸104bを−Δθだけ回転させときの点C’と点A’との距離より長くなる。点C’と点A’との距離が長い場合、物体検出センサ101cの出力がONになるまでの時間が長くなる。
図10(c)は、軸L2’に沿ってハンド101を移動させたときの物体検出センサ101cの出力波形と、軸L1’に沿ってハンド101を移動させたときの物体検出センサ101cの出力波形とを示している。物体検出センサ101cの出力がONになるタイミングは、軸L2’に沿った場合の方が、軸L1’に沿った場合より遅くなる。
【0081】
図11は、軸L’が軸LよりΔyだけY方向の正の向きにずれている場合(Δy>0)を示している。
図11(a)は、
図10(a)と同様に、Z軸104bを+Δθだけ回転させて、軸L’を軸L2’に移動した状態を示している。この場合、点C’と点A’との距離は点Cと点Aとの距離より短くなる。
図11(b)は、
図10(b)と同様に、Z軸104bを−Δθだけ回転させて、軸L’を軸L1’に移動した状態を示している。この場合、点C’と点A’との距離は点Cと点Aとの距離より長くなる。つまり、Δy>0の場合、Z軸104bを+Δθだけ回転させときの点C’と点A’との距離は、Z軸104bを−Δθだけ回転させときの点C’と点A’との距離より短くなる。
図11(c)は、
図10(c)と同様に、軸L2’に沿ってハンド101を移動させたときの物体検出センサ101cの出力波形と、軸L1’に沿ってハンド101を移動させたときの物体検出センサ101cの出力波形とを示している。物体検出センサ101cの出力がONになるタイミングは、軸L2’に沿った場合の方が、軸L1’に沿った場合より早くなる。
【0082】
つまり、Z軸104bを+Δθだけ回転させて、軸L’を軸L2’に移動した場合の物体検出センサ101cの出力がONになるまでの時間t
2と、Z軸104bを−Δθだけ回転させて、軸L’を軸L1’に移動した場合の物体検出センサ101cの出力がONになるまでの時間t
1とを比較することで、軸L’が軸Lに対してどちら側にずれているかを判断することができる。また、軸L’が軸Lに一致している場合(Δy=0)は、時間t
1と時間t
2とが一致し、物体検出センサ101cの出力波形が一致する。
【0083】
図12は、直進方向軸調整処理を示すフローチャートの一例である。
【0084】
まず、ハンド101の開始位置への配置が完了したか否かが判別される(S21)。直進方向軸調整処理の開始位置は、直進方向調整処理の開始位置と同様である。したがって、直進方向調整処理に続いて直進方向軸調整処理を行う場合は、ステップS21を省略してもよい。
【0085】
配置が完了したと判別された場合(S21:YES)、Z軸104bが所定の角度Δθだけ回転され(S22)、物体検出センサ101cが検出を開始して、ハンド101がX方向(
図9(b)における軸L2’に沿う方向)に移動される(S23)。所定の距離の移動が終わった後、物体検出センサ101cの出力波形からONになるまでの時間t
2が検出され(S24)、Z軸104bの回転が元に戻される。続いて、Z軸104bが所定の角度−Δθだけ回転され(S25)、物体検出センサ101cが検出を開始して、ハンド101がX方向(
図9(b)における軸L1’に沿う方向)に移動される(S26)。所定の距離の移動が終わった後、物体検出センサ101cの出力波形からONになるまでの時間t
1が検出され(S27)、Z軸104bの回転が元に戻される。
【0086】
次に、時間t
1と時間t
2とが等しいか否かが判別される(S28)。時間t
1と時間t
2とが等しい場合(S28:YES)、X方向の軸がカセット200の横幅方向の中心を通るように調整されたとして、このときのベース盤103a(
図1参照)の位置が記録され、直進方向軸調整処理が終了する。なお、時間t
1と時間t
2との差が所定値以下である場合に、時間t
1と時間t
2とが等しいと判断するようにしてもよい。一方、時間t
1と時間t
2とが等しくない場合(S28:NO)、時間t
1が時間t
2より小さいか否かが判別される(S29)。
【0087】
時間t
1が時間t
2より小さい場合(S29:YES)、軸L’が軸LよりY方向の負の向きにずれていると判断されて、ベース盤103aがY方向の正の向きに所定量だけ移動され(S291)、ステップS22に戻る。一方、時間t
1が時間t
2より大きい場合(S29:NO)、軸L’が軸LよりY方向の正の向きにずれていると判断されて、ベース盤103aがY方向の負の向きに所定量だけ移動され(S292)、ステップS22に戻る。時間t
1と時間t
2とが等しくなるまで(S28:YES)、ステップS22〜S292が繰り返される。
【0088】
なお、直進方向軸調整処理は、上述したものに限定されない。例えば、時間t
1と時間t
2との差が大きいほど、ステップS291およびS292での移動量を大きくするようにしてもよい。また、Z軸104bを所定の角度Δθだけ回転させた場合の物体検出センサ101cの出力波形と、Z軸104bを所定の角度−Δθだけ回転させた場合の物体検出センサ101cの出力波形とを比較して、両者の波形が一致するように、ベース盤103aを移動させるようにしてもよい。また、ベース盤103aをY方向に少しずつ移動させて、時間t
1と時間t
2とが等しくなる位置を探索するようにしてもよい。
【0089】
<直進方向位置計測処理>
本実施形態のティーチング処理では、直進方向調整処理(S1)および直進方向軸調整処理(S2)が完了した後、治具WのX方向位置を取得するための直進方向位置計測処理が行われる(S3)。
【0090】
図13は、直進方向位置計測処理を示すフローチャートの一例である。
【0091】
まず、ハンド101の開始位置への配置が完了したか否かが判別される(S31)。直進方向位置計測処理の開始位置は、直進方向調整処理および直進方向軸調整処理の開始位置と同様である。したがって、直進方向調整処理または直進方向軸調整処理に続いて直進方向位置計測処理を行う場合は、ステップS31を省略してもよい。
【0092】
配置が完了したと判別された場合(S31:YES)、物体検出センサ101cが検出を開始して、ハンド101が直進方向(X方向)に移動される(S32)(
図6参照)。所定の距離の移動が終わった後、物体検出センサ101cの出力波形から、ONになった時の物体検出センサ101cのX方向位置(ON位置)とOFFになった時の物体検出センサ101cのX方向位置(OFF位置)とが検出される(S33)。次に、ON位置とOFF位置との中間のX方向位置が、突出部D3,D4のX方向の中心位置として算出され、治具W上での突出部D3,D4の位置はあらかじめ分かっているので、突出部D3,D4のX方向の中心位置から治具WのX方向の中心位置が算出される(S34)。そして、治具WのX方向の中心位置が記憶される(S35)。この記憶された位置情報が、トップ位置ETおよびボトム位置EBのX方向位置として利用される。なお、直進方向位置計測処理は、上述したものに限定されない。例えば、突出部D3,D4のX方向の中心位置を算出することなく、ON位置から治具WのX方向の中心位置を算出するようにしてもよい。また、算出および記憶されるのは、必ずしも中心位置でなくてもよい。また、治具Dの中心に突出部D3,D4とは別の突出部を設けておいて、物体検出センサ101cがこれを読み取るようにしてもよい。
【0093】
<上下方向位置計測処理>
本実施形態のティーチング処理では、直進方向位置計測処理(S3)の次に、治具Wの上下方向(Z方向)位置を取得するための上下方向位置計測処理が行われる(S4)。
【0094】
図14は、上下方向位置計測処理を説明するための図であり、ハンド101を上方向(Z方向の正の向き)に移動させながら、カセット200内の一対のスロット201に載置された治具Dを検出している状態を示している。
図14(a)はカセット200の側面側から内部を見た状態を示しており、
図14(b)はカセット200の上面側から内部を見た状態を示している。
【0095】
上下方向位置計測処理では、まず、作業者によって、ハンド101が治具Dの下方に配置される。ハンド101の配置位置は、ハンド101がZ方向に移動した場合に、ハンド101が治具Dやカセット200に接触しない位置であり、物体検出センサ101cが治具Dを検出できる位置(
図14(b)参照)である。搬送ロボット100は、物体検出センサ101cによる検出を行いながら、ハンド101をZ方向の正の向きに移動させる。
【0096】
図15は、上下方向位置計測処理を示すフローチャートの一例である。
【0097】
まず、ハンド101の開始位置への配置が完了したか否かが判別される(S41)。配置が完了したと判別された場合(S41:YES)、物体検出センサ101cが検出を開始して、ハンド101が上方向(Z方向の正の向き)に移動される(S42)(
図14参照)。所定の距離の移動が終わった後、物体検出センサ101cの出力波形から、ONになった時の物体検出センサ101cのZ方向位置(ON位置)とOFFになった時の物体検出センサ101cのZ方向位置(OFF位置)とが検出される(S43)。次に、ON位置とOFF位置との中間のZ方向位置が、治具DのZ方向の中心位置として算出され(S44)、記憶される(S45)。この記憶された位置情報が、教示点の算出に利用される。なお、上下方向位置計測処理は、上述したものに限定されない。例えば、ON位置のみを検出して、あらかじめ分かっている治具Dの厚さ(Z方向の長さ)から治具DのZ方向の中心位置を算出するようにしてもよい。
【0098】
<ダレ計測処理>
ハンド101が直進方向(X方向)の正の方向に移動された場合、ハンド101自体の重みにより、ハンド101の上下方向(Z方向)の位置が、下方向(Z方向の負の向き)に変化する。この変化量を以下では、「ダレ」とする。また、搬送ロボット100やカセット200の配置時のずれにより、ハンド101が直進方向(X方向)の正の方向に移動された場合に、ハンド101の上下方向(Z方向)の位置がずれる場合がある。「ダレ」には、この上下方向(Z方向)の位置のずれ量も含まれる。ダレが大きい場合、ダレを考慮して教示しないと、ハンド101が基板Wやカセット200に接触してしまう場合がある。本実施形態のティーチング処理では、上下方向位置計測処理(S4)の後に、ダレによる変化分を補正するための情報を取得するダレ計測処理が行われる(S5)。
【0099】
図16は、ダレ計測処理を説明するための図である。
図16(a)は、
図14(a)のうち、スロット201、治具Dおよび物体検出センサ101cのみを示した図であり、物体検出センサ101cの移動経路を示している。
図16(a)の矢印aは、上下方向位置計測処理における、物体検出センサ101cの移動経路を示している。上下方向位置計測処理では、ハンド101を上方向(Z方向の正の向き)に移動させることで、物体検出センサ101cを矢印aのように移動させて、治具DのZ方向の中心位置(
図16(a)における黒丸の位置)を検出している。ダレ計測処理では、さらに、物体検出センサ101cを矢印cおよび矢印eのように移動させて、それぞれのX方向の位置での治具DのZ方向の中心位置(黒丸の位置)を検出する。
図16(b)は、矢印eに示す移動時の、カセット200の上面側から内部を見た状態を示している。ダレが発生する場合、矢印aに示す移動で検出された治具DのZ方向の中心位置と、矢印eに示す移動で検出された治具DのZ方向の中心位置とで、上下方向(Z方向)にずれが生じる。この差の情報が記録され、教示点の算出に利用される。
【0100】
図17は、ダレ計測処理を示すフローチャートの一例である。
【0101】
上下方向位置計測処理(S4)が終了したときの位置から、ハンド101が直進方向(X方向)の正の向きに移動される(S51)。
図16(a)の矢印bは、この移動による物体検出センサ101cの移動を示している。次に、物体検出センサ101cが検出を開始して、ハンド101が下方向(Z方向の負の向き)に移動される(S52)(
図16(a)の矢印c参照)。所定の距離の移動が終わった後、物体検出センサ101cの出力波形から、ONになった時の物体検出センサ101cのZ方向位置(ON位置)とOFFになった時の物体検出センサ101cのZ方向位置(OFF位置)とが検出される(S53)。次に、ON位置とOFF位置との中間のZ方向位置が、治具DのZ方向の中心位置として算出され(S54)、記憶される(S55)。
【0102】
さらに、ハンド101が直進方向(X方向)の正の向きに移動される(S51’)。
図16(a)の矢印dは、この移動による物体検出センサ101cの移動を示している。次に、物体検出センサ101cが検出を開始して、ハンド101が上方向(Z方向の正の向き)に移動される(S52’)(
図16(a)の矢印e参照)。所定の距離の移動が終わった後、物体検出センサ101cの出力波形から、ONになった時の物体検出センサ101cのZ方向位置(ON位置)とOFFになった時の物体検出センサ101cのZ方向位置(OFF位置)とが検出される(S53’)。次に、ON位置とOFF位置との中間のZ方向位置が、治具DのZ方向の中心位置として算出され(S54’)、記憶される(S55’)。
【0103】
そして、ステップS55、S55’、および、上下方向位置計測処理(
図15)のステップS45でそれぞれ記憶された治具DのZ方向の中心位置に基づいて、直進方向(X方向)に応じたダレが算出され(S56)、記憶される(S57)。この記憶されたダレ情報が、教示点の算出に利用される。なお、ダレ計測処理は、上述したものに限定されない。例えば、上下方向位置計測処理の場合と同様に、ON位置のみを検出して、治具DのZ方向の中心位置を算出するようにしてもよい。また、本実施形態では、治具DのZ方向の中心位置の検出をX方向の3つの位置(
図16(a)の黒丸の位置参照)で行っているが、これに限られず、2つ以上の位置で検出を行えばよい。
【0104】
<教示点算出処理>
最後に、上記各処理によって記憶された情報に基づいて、教示点を算出するための教示点算出処理が行われる(S6)。本実施形態においては、教示点として、
図2に示す取出スタート位置RB、ボトム位置EB、収納スタート位置RTおよびトップ位置ETがそれぞれ算出される。
【0105】
直進方向調整処理(S1)および直進方向軸調整処理(S2)によって、ハンド101の直進方向(X方向)がカセット200の奥行き方向と一致し、ハンド101の直進時の経路がカセット200の横幅方向(Y方向)の中心を通るように調整されている。このことを利用して、取出スタート位置RB、ボトム位置EB、収納スタート位置RTおよびトップ位置ETのY方向位置が算出される。
【0106】
また、直進方向位置計測処理(S3)によって、治具WのX方向の中心位置が取得されており、これに基づいて、トップ位置ETおよびボトム位置EBのX方向位置が算出される。
【0107】
さらに、上下方向位置計測処理(S4)によって取得された治具DのZ方向の中心位置からZ方向の正の向きに所定の大きさだけ移動した位置を、収納スタート位置RTおよびトップ位置ETのZ方向位置とし、治具DのZ方向の中心位置からZ方向の負の向きに所定の大きさだけ移動した位置を、取出スタート位置RBおよびボトム位置EBのZ方向位置とする。このとき。ダレ計測処理(S5)で取得されたダレ情報を用いて、ダレの影響を補正する。
【0108】
なお、制御部106aが行うティーチング処理は、
図5に示すフローチャートに限定されない。例えば、直進方向調整処理および直進方向軸調整処理は、すでに調整がされている場合や、調整の必要がない場合などには、行わなくてもよい。また、ダレを考慮する必要がない場合は、ダレ計測処理を省略してもよい。
【0109】
本実施形態によると、制御部106aが行うティーチング処理によって、半自動的にティーチング作業が行われる。当該ティーチング処理において、作業者が手作業で行う処理はごくわずかであり、簡単に行えるものだけである。したがって、ティーチング作業にかかる時間を大幅に短縮することができる。
【0110】
また、一般的な搬送ロボットのハンドに設けられている物体検出センサを用いるので、搬送ロボットに他の装備を設ける必要がない。ティーチング処理のためのプログラムをインストールすれば、従来の搬送ロボットをそのまま用いることができる。
【0111】
さらに、直進方向調整処理によって、ハンド101の直進方向(X方向)がカセット200の奥行き方向に一致するように調整されるので、教示点を精度よく教示することができる。直進方向軸調整処理によって、ハンド101の直進方向(X方向)の軸がカセット200の横幅方向(Y方向)の中心を通るように調整されるので、教示点を精度よく教示することができる。ダレ計測処理によって、直進方向(X方向)に応じたダレが算出され、ダレによる変化分が補正された教示点を教示することができる。また、搬送ロボット100が、直進方向調整処理(S1)、直進方向軸調整処理(S2)直進方向位置計測処理(S3)、上下方向位置計測処理(S4)、ダレ計測処理(S5)、および、教示点算出処理(S6)を実行して、各教示点の位置情報を取得する際に複雑な演算をする必要がない。
【0112】
なお、治具Dは、
図4に示すものに限定されない。例えば、突出部D3およびD4を治具Dの上面側に設けてもよい。この場合、直進方向調整処理(
図6参照)、直進方向軸調整処理(
図9参照)および直進方向位置計測処理においては、各処理の開始時に、ハンド101を治具Dの上方に配置する必要がある。
【0113】
また、
図18(a)に示すように、治具Dの形状を円形状としてもよい。また、
図18(b)に示すように、略矩形状の部分を突出させて、当該突出部分に突出部D3およびD4を設けるようにしてもよい。なお、ダレ計測処理を行う必要があるのであれば、
図4と同様に切り欠き部D1,D2が必要である。
【0114】
また、
図18(c)に示すように、さらに突出部D3およびD4を設け、追加された突出部D3およびD4を用いて再度、直進方向調整処理を行うようにしてもよい。2段階で調整することにより、調整の精度が向上する。同様に、直進方向軸調整処理も2段階行うようにしてもよい。
【0115】
また、突出部D3およびD4の形状は円柱形状に限定されず、角柱形状であってもよい。さらに、
図19(a)、(b)に示すように、突出部D3およびD4に代えて、直方体形状の突出部D5を設けるようにしてもよい。この場合でも、
図19(c)、(d)に示すように、X方向がカセット200の奥行き方向と一致している場合にONである時間tが最短になるので、直進方向調整処理を行うことができる。また、直進方向軸調整処理にも利用することができる。なお、突出部D5は、直方体形状に限定されず、角柱形状であればよい。また、3つ以上の突出部が設けられていてもよい。
【0116】
また、
図20(a)、(b)に示すように、側面に切り欠き部分が設けられた突出部D3’およびD4’をX方向に3組並べて設けるようにしてもよい。この場合、物体検出センサ101cが治具Dの薄板状の本体部分を検出する代わりに、突出部D3’およびD4’の切り欠き部分を検出することで、上下方向位置計測処理およびダレ計測処理を行うことができる。すなわち、
図20(c)の矢印a,c,eに示すように、物体検出センサ101cを上下方向(Z方向)に移動させて突出部D3’およびD4’を検出し、物体検出センサ101cの出力波形から、ONからOFFになった時の物体検出センサ101cのZ方向位置(OFF位置)とOFFからONになった時の物体検出センサ101cのZ方向位置(ON位置)とを検出する。そして、OFF位置とON位置との中間のZ方向位置を、突出部D3’およびD4’の切り欠き部分のZ方向の中心位置として算出する。治具Dにおける突出部D3’およびD4’の切り欠き部分の位置はあらかじめ分かっているので、治具DのZ方向の中心位置を算出することができる。本実施例の場合、物体検出センサ101cによって治具Dの薄板状の本体部分の上下方向(Z方向)の位置を直接検出しなくてもよいので、切り欠き部D1,D2を設ける必要がない。したがって、例えば、
図20に示すように、治具Dの形状を切り欠きのない矩形状等にすることができる。そのため、
図4に示した切り欠き部D1,D2を設けた治具Dに比べて強度を向上させることができる。また、治具Dの構造を簡素化することができる。もちろん、本実施例の場合でも、突出部D3’およびD4’を用いて、直進方向調整処理(S1)、直進方向軸調整処理(S2)および直進方向位置計測処理(S3)を行うことができる。なお、これらの処理を行う場合は、突出部D3’およびD4’の切り欠き部分または非切り欠き部分のどちらか一方を用いて行えばよい。なお、突出部D3’およびD4’をX方向に並べる数は3組に限定されない。上下方向位置計測処理を行うためであれば1組だけあればよいし、ダレ計測処理を行うためには、2組以上あればよい。
【0117】
もちろん、
図20に示す実施例においても、突出部D3’およびD4’を治具Dの下面側に設けるのではなく、上面側に設けるようにしてもよい。この場合、各処理の開始時に、ハンド101を治具Dの上方に配置する必要がある。
【0118】
また、ハンド101における物体検出センサ101cの位置は、
図3等に示すものに限定されない。例えば、
図21に示すように、2つの保持部101bの先端付近で互いに対向する面に、発光素子および受光素子をそれぞれ設けるようにしてもよい。
【0119】
本発明に係る搬送ロボット、
および、ティーチングシステ
ムは、上述した実施形態に限定されるものではない。本発明に係る搬送ロボット、
および、ティーチングシステ
ムの各部の具体的な構成は、種々に設計変更自在である。