図1は、本発明の実施の一形態であるロボット11の主要な構成を示すブロック図である。ロボット11は、ロボット本体12と、ロボット本体12を制御する制御装置13とを含む。ロボット11は、本実施の形態では半導体ウエハ14を収容するカセット体15とボート体16との間において半導体ウエハ14を搬送する装置である。ロボット本体12は、可動体に相当するハンド17を有するロボットアーム19と、駆動体に相当するサーボ機構18とを含んで構成される。ロボットアーム19は、変位可能に設けられる。サーボ機構18は、制御装置13の指令に従ってロボットアーム19を変位駆動することによってハンド17を変位駆動する。
制御装置13は、ハンド17が障害物に衝突したことを検知すると、サーボ機構18を制御し、衝突によって発生する各部材の損傷を可及的に抑制するようにハンド17を動作させる。障害物とは、ハンド17が不所望に衝突する物体であって、たとえばロボット11が半導体ウエハ14を搬送するときにハンド17と衝突する可能性の高い半導体ウエハ14である。
サーボ機構18は、ロボットアーム19を変位駆動するための駆動体と、駆動体の動力をロボットアーム19に伝達するための伝達機構とを含む。なお、駆動体には、駆動量を検出する駆動量検出手段が設けられる。本実施の形態では、駆動体は、電動モータ、たとえばサーボモータによって実現される。サーボモータには、駆動量検出手段としてモータの回転量を検出するエンコーダ21が設けられる。
制御装置13は、電流発生回路22と、移動量指令手段23と、衝突検知手段24と、指令生成手段25と、電流制限手段26とを含む。移動量指令手段23は、ハンド17を予め定める位置に移動させるために必要な電流指令値を演算する。ハンド17が障害物に衝突しない正常状態では、移動量指令手段23が演算した電流指令値が、電流発生回路22に与えられる。電流発生回路22は、与えられる電流指令値に基づいて電流を発生し、発生した電流をサーボモータに流す。電流発生回路22は、電流指令値に応じてモータの駆動電流を発生する増幅器、いわゆるサーボアンプである。
衝突検知手段24は、ハンド17の変位、すなわちハンド17の動きに基づいてハンド17が障害物に衝突したことを検知する。衝突検知手段24は、本実施の形態では障害物に衝突することによって生じるハンド17の速度偏差および加速度偏差に基づいて、ハンド17が障害物に衝突したことを検知し、衝突したことを示す衝突検知信号を出力する。指令生成手段25は、衝突検知手段24から衝突検知信号が与えられると、衝突後において衝突によって発生する各部材の損傷を可及的に抑制することが可能なハンド17の後退移動経路を演算し、演算した後退移動径路を示す情報を移動量指令手段23に与える。移動量指令手段23は、指令生成手段25から後退移動径路を示す情報が与えられると、その後退移動径路に基づいた電流指令値を演算して電流発生回路22に与える。
電流制限手段26は、衝突検知手段24から衝突検知信号が与えられると、移動量指令手段23が演算した電流指令値を制限し、制限した電流指令値を電流発生回路22に与える。これによってハンド衝突検知時には、電流発生回路22から出力される電流は、電流制限前に比べて減少されて、モータに与えられる。
本発明において電流を制限することは、移動量指令手段23の電流指令値を予め定める減少率で減少させる場合、移動量指令手段23の電流指令値にかかわらず予め定める一定値に制限する場合のいずれであってもよい。また予め定める減少率は、100%である場合も含む。この場合、電流制限時には、電流発生回路22からサーボモータに与えられる電流はゼロであり、モータに電流が流れることが阻止される。
制御装置13は、いわゆるロボットコントローラによって実現される。この場合、本発明のロボットコントローラは、通常のロボットコントローラに比べて、衝突検知手段24、電流制限手段26および指令生成手段25をさらに備える構成である。したがって衝突検知手段24、電流制限手段26および指令生成手段25以外の他の構成については、通常のロボットコントローラと同様の構成であってもよい。
図2は、本発明のロボット11の構成を模式的に示す図である。ロボット11は、半導体ウエハ14を保持する基板保持装置27と、この基板保持装置27を移動するための移動装置28とを含む。
半導体ウエハ14は、酸化処理、アニーリング処理、化学気相成長(Chemical Vapour
Deposition、略称CVD)または拡散処理などのプロセス処理が行われて、複数の半導体素子が形成される。半導体ウエハ14は、円板薄板状に形成され、たとえば直径が300mmで、厚みが0.7mmに形成される。
ロボット11は、カセット体15に収容された半導体ウエハ14を、半導体製造装置に収容されるボート体16に移載する。またロボット11は、半導体製造装置によるプロセス処理が完了すると、ボート体16に収容された半導体ウエハ14をカセット体15に移載する。
カセット体15およびボート体16は、複数の突起片を有し、この突起片によって半導体ウエハ14の周縁部を下方から支持し、半導体ウエハ14を乗載する。カセット体15およびボート体16は、複数の半導体ウエハ14を上下方向Zに並んだ状態で収容する。本実施の形態では上下方向Zは、たとえば鉛直方向に平行であって第2方向に相当する。
カセット体15は、複数の半導体ウエハ14を収容した状態で搬送される。カセット体15が、半導体製造装置に隣接した位置に配置されると、カセット体15内の各半導体ウエハ14は、基板保持装置27によって複数枚同時に搬送され、ボート体16の収容位置に収容される。カセット体15は、30枚程度の半導体ウエハ14を保持可能に形成される。
ボート体16は、たとえば石英などによって形成される縦型ウエハボートによって実現され、半導体製造装置に収容される。半導体製造装置は、たとえば縦型拡散炉によって実現される。半導体製造装置は、ボート体16に半導体ウエハ14が移載されると、ボート体16に収容された半導体ウエハ14に酸化処理または拡散処理などのプロセス処理を行う。プロセス処理が完了すると、ボート体16に収容される半導体ウエハ14は、ロボット11によって複数枚同時に搬送されてカセット体15に再び収容される。このようにカセット体15には予め定めるプロセス処理が施された半導体ウエハ14が収容されて、次の工程に搬送される。ボート体16は、100枚程度の半導体ウエハ14を保持可能に形成される。
移動装置28は、基板保持装置27を上下方向Zに移動する。また移動装置28は、基板保持装置27に設定され、上下方向Zに平行な軸線L1周りに基板保持装置27を角変位する。
基板保持装置27は、半導体ウエハ14を乗載する複数のハンド17を有するロボットアーム19と、ハンド17を連動して上下方向Zに変位させるためのピッチ変換モータ31と、上下方向Zに交差する可動方向Xにハンド17を変位させるための可動モータ32とを含む。以後ピッチ変換モータ31および可動モータ32を総称する場合には、モータMと記載する場合がある。可動方向Xは、基板保持装置27の座標系に設定される方向であって、本実施の形態では水平方向となり、第1方向に相当する。可動方向Xは、移動装置28が前記軸線L1周りに基板保持装置27を角変位することによって、その向きを水平面において変える。
各ハンド17は、上下方向Zに変位自在に、等しいピッチ間隔で並んで配置される。ピッチ間隔とは、上下方向Zに互いに隣接するハンド17間の上下方向Zの間隔である。各ハンド17は、ピッチ変換モータ31によってピッチ間隔を互いに等しく保ちながら上下方向Zに連動して変位する。本実施の形態では基板保持装置27は、5本のハンド17を有する。上下方向Zの中央に配置される第1ハンド17aは、上下方向Zに固定されて配置される。ハンド17のうちの第1ハンド17aを除く残余のハンド17が上下方向Zに移動することによってピッチ間隔が変わる。また後述するように可動モータ32は、第1ハンド17aを可動方向Xに移動する第1可動モータ32aと、ハンド17のうちの第1ハンド17aを除く残余のハンド17を可動方向Xに移動する第2可動モータ32bとを含む。したがって第1ハンド17aは、第1ハンド17aを除く残余のハンド17と独立して可動方向Xに移動可能である。カセット体15に半導体ウエハ14を収容するとき、またはカセット体15に収容された半導体ウエハ14を取出すときには、ピッチ変換モータ31は、各ハンド17のピッチ間隔を、カセット体15に半導体ウエハ14が収容されたときの半導体ウエハ14の上下方向Zのピッチ間隔に合わせる。またボート体16に半導体ウエハ14を収容するとき、またはボート体16に収容された半導体ウエハ14を取出すときには、ピッチ変換モータ31は、各ハンド17のピッチ間隔を、ボート体16に半導体ウエハ14が収容されたときの半導体ウエハ14の上下方向Zのピッチ間隔に合わせる。
また各ハンド17は、可動方向Xに延び、この可動方向Xに変位自在に設けられる。各ハンド17は、可動モータ32に駆動されることによって可動方向Xに移動する。各ハンド17が半導体ウエハ14を乗載した状態で可動方向Xに移動することによって、ロボット11は、半導体ウエハ14を移送する。
図3は、制御装置13の物理的構成を示すブロック図である。制御装置13は、コンピュータによって実現され、予め定められるプログラムを実行することによって、上述した移動量指令手段23、衝突検知手段24、指令生成手段25、電流制限手段26を実現することができる。またコンピュータによって制御装置13が実現されることで、モータを瞬時に制御することができる。
制御装置13は、演算部33と、記憶部34と、インターフェース部35と、電流発生回路22とを含んで構成される。記憶部34は、後述する各演算器の全てまたは一部の機能を実現するためのプログラムを記憶する。演算部33は、記憶部34に記憶されるプログラムを読取り、プログラムを実行することによって各演算器の全てまたは一部の機能を実現することができる。これによって本発明の各手段を物理的に有していない制御装置であっても、記憶媒体に記憶されるプログラムを読取ることによって構成を大きく変更することなく、本発明の制御装置13として機能させることができる。すなわちソフトウェアを変更するだけで、新たにハードウェアを加える必要がないので、容易に本発明の制御装置13を実現することができる。
演算部33は、たとえばCPU(Central Processing Unit)などの演算回路によって実現される。また記憶部34は、たとえばRAM(Random Access Memory)およびROM(Read Only Memory)などの記憶回路によって実現される。
各演算器の機能を実現するためのプログラムは、別途コンピュータ読取り可能な記憶媒体に記憶されてもよい。この場合、演算部33が記憶媒体に記憶されるプログラムを読取り、そのプログラムを実行することによって、各演算器全てまたは一部の機能を実現することができる。またインターフェース部35は、演算部33と記憶部34との情報伝達を行う。またインターフェース部35は、ティーチングペンダント36、エンコーダ21および電流発生回路22と、演算部33との情報伝達を行う。
演算部33は、ティーチングペンダント36から与えられる情報または記憶部34に記憶される情報に基づいて外部位置指令値を生成する。また演算部33は、エンコーダ21から検知位置情報が与えられる。これらの情報に基づいて、電流指令値を演算し、演算した電流指令値を電流発生回路22に与える。電流発生回路22は、電流指令値に従って電流を発生し、その電流をピッチ変換モータ31および可動モータ32に与える。
またハンド17が障害物に衝突すると、演算部33は、位置指令値とエンコーダ値とに基づいて、ハンド17が障害物に衝突したか否かを検知する。そして演算部33は、ハンド17の衝突を検知すると、電流指令値を制限してピッチ変換モータ31および可動モータ32に与えられる電流を制限するとともに、ハンド17の移動方向の移動を制限し、かつハンド17の移動方向に垂直な方向の位置を衝突後の位置を維持するような電流指令値を生成して電流発生回路22に与える。
図4は、制御装置13の機能的構成を示すブロック図である。図3に示す演算部33が記憶部34に記憶されるプログラムを実行することによって、図4に示す移動量指令手段23、衝突検知手段24、指令生成手段25、電流制限手段26の機能を実現することができる。
移動量指令手段23は、予め定められる位置指令値とエンコーダ21によるエンコーダ値との偏差に基づいて、ピッチ変換モータ31および可動モータ32を駆動するための移動指令値を決定する。具体的には、移動量指令手段23は、外部位置指令値生成部37と、位置偏差算出器38と、第1比例器41と、速度偏差算出器42と、第2比例器43と、第3比例器44と、積分器45と、加算器46と、フィードバック速度算出器47とを含む。
外部位置指令値生成部37は、予め教示されるハンド17の移動径路に従って位置指令値を生成する。位置指令値は、時間経過毎に移動すべき各ハンド17の可動方向Xおよび上下方向Zの位置を表わす情報である。したがって各ハンド17を移動させる場合には、位置指令値も時間毎に変化する。
以後、各ハンド17の上下方向Zの移動を駆動するピッチ変換モータ31を制御する制御装置13および各ハンド17の可動方向Xの移動を駆動する可動モータ32を制御する制御装置のうちの、ピッチ変換モータ31を制御する制御装置13について説明する。前述したように各ハンド17のうちの上下方向Zの中央に配置される第1ハンド17aは、ピッチ変換モータ31によって変位駆動されないので、特にこの第1ハンド17aを除く残余のハンド17に着目して説明する。可動モータ32を制御する制御装置の構成の一部は、ピッチ変換モータ31を制御する制御装置13の構成と同様なので、可動モータ32を制御する制御装置については、ピッチ変換モータ31を制御する制御装置13と異なる構成についてのみ説明する。
位置偏差算出器38は、ハンド17が障害物に衝突しない正常状態では、外部位置指令値生成部37から位置指令値が与えられ、ハンド17が障害物に衝突したハンド衝突時には、後述する内部位置指令値生成部48から位置指令値が与えられる。また位置偏差算出器38は、エンコーダ21から検知位置情報が与えられる。検知位置情報は、エンコーダ21のエンコーダ値であって、各ハンド17の上下方向Zの位置を表わす情報である。また各ハンド17は、ピッチ間隔が等しく保たれた状態で連動して上下方向Zに移動するので、検知位置情報は、各ハンド17のピッチ間隔を表す情報である。
位置偏差算出器38は、位置指令値の表わす位置から検知位置情報の表わす位置を減算して、位置偏差を表わす位置偏差情報を演算する。位置偏差算出器38は、第1比例器41に演算した位置偏差情報を与える。
第1比例器41は、位置偏差算出器38から与えられる位置偏差情報の表わす位置偏差に、予め定める第1係数Kpを乗算して、ハンド17の速度を表わす速度情報を演算する。第1比例器41は、演算した速度情報を速度偏差算出器42に与える。
またフィードバック速度算出器47は、エンコーダ21から時間経過ごとに検知位置情報が随時与えられ、その検知位置情報の表わす位置を時間で微分して速度を表わすフィードバック速度情報を演算する。フィードバック速度算出器47は、演算したフィードバック速度情報を、速度偏差算出器42および推定速度偏差算出器52に与える。
速度偏差算出器42は、第1比例器41から与えられる速度情報の表わす速度から、フィードバック速度情報の表わす速度を減算して、速度偏差を表わす速度偏差情報を演算する。速度偏差算出器42は、速度偏差情報を第2比例器43に与える。第2比例器43は、速度偏差算出器42から与えられる速度偏差情報の表わす速度偏差に、予め定める第2係数Kvpを乗算して、ピッチ変換モータ31に与える第1の電流の変化量を表わす1次電流指令値を演算する。
第3比例器44は、1次電流指令値の表わす電流の変化量に予め定める第3係数Kviを乗算して、第2の電流の変化量を表わす2次電流指令値を演算し、2次電流指令値を積分器45に与える。積分器45は、2次電流指令値の表わす第2の電流の変化量を時間で積分し、第2の電流の変化量の積分値を表わす積分電流指令値を演算する。
加算器46は、積分電流指令値と1次電流指令値とが与えられる。加算器46は、与えられるそれぞれの指令値の表わす電流値を互いに加算し、指示電流指令値を演算する。指示電流指令値は、ピッチ変換モータ31に与える電流の値を表わす情報である。加算器46は、指示電流指令値を電流制限手段26に与える。
電流制限手段26は、正常状態すなわちハンド17が障害物に衝突していない状態では、指示電流指令値を制限せずに、指示電流指令値を駆動電流指令値として電流発生回路22に与える。電流発生回路22は、駆動電流指令値の表わす電流の値に応じた駆動電流を発生し、発生した電流をピッチ変換モータ31に流す。
電流制限手段26は、ハンド17が障害物に衝突したハンド衝突状態以降では、指示電流指令値を予め定める減少率で減少して制限し、それを駆動電流指令値として電流発生回路22に与える。電流発生回路22は、駆動電流指令値の表わす電流の値に応じた駆動電流を発生し、発生した電流をピッチ変換モータ31に流す。ピッチ変換モータ31は、電流発生回路22から電流が流れることによって各ハンド17を上下方向Zに駆動し、ピッチ間隔を変位駆動する。
なお、加算器46で、1次電流指令値が示す電流値と、積分電流指令値が示す電流値とを加算して指示電流指令値として演算するのは、各ハンド17の移動動作を維持させるためである。たとえば各ハンド17のピッチ間隔を一定速度で変更させる場合、目標速度に到達して速度偏差がゼロとなり、1次電流指令値がゼロとなった場合であっても、積分電流指令値が加算器46に与えられることで、各ハンド17の速度を維持して動作させることができる。すなわち加算器46は、各ハンド17の現在動作を維持するための現在動作維持指令値生成器として機能する。
第1比例器41は、通常のロボットコントローラに用いられる位置指令値を速度に変換する比例器と同様であってもよい。第2比例器43は、通常のロボットコントローラに用いられる速度を電流指令値に変換する比例器と同様であってもよい。
衝突検知手段24は、各ハンド17の推定速度偏差および推定加速度偏差のうちのいずれか一方がしきい値を超えた場合に、ハンド17が障害物に衝突したとして判断する。具体的には、衝突検知手段24は、推定位置算出器51と、推定速度算出器49と、推定速度偏差算出器52と、推定加速度偏差算出器50と、第1判定器53と、第2判定器59と、OR回路54とを含む。
推定位置算出器51は、各ハンド17の理論上の位置を推定する。推定位置算出器51は、その時定数がロボット11の時定数とほぼ同等に設定される。推定位置算出器51は、外部位置指令値生成部37から外部位置指令値が与えられ、推定位置算出器51に設定される時定数に基づいて、サーボ系などの遅れ要素を考慮して、ハンド17の理論上の位置である推定位置を演算する。推定位置算出器51は、演算した推定位置を表わす推定位置情報を推定速度算出器49に与える。具体的には、ハンド17の上下方向Zの位置を固定した状態で、ハンド17を可動方向Xに移動させるときには、推定位置算出器51は、一定の位置を表す推定位置情報を推定速度算出器49に与え続ける。
推定位置算出器51の時定数は、外部位置指令値が与えられてからハンド17が、その外部位置指令値の表わす位置に移動するまでの時間遅れに基づいて設定される。推定位置算出器51は、与えられる外部位置指令値をフィルタに通過させて、フィルタ処理することで時間遅れを考慮したハンド17の理論上の位置を演算する。
推定速度算出器49は、推定位置情報の表わす推定位置を時間で微分し、推定速度を表わす推定速度情報を演算する。推定速度算出器49は、推定速度情報を推定速度偏差算出器52に与える。また前述したフィードバック速度算出器47は、フィードバック速度情報を推定速度偏差算出器52に与える。推定速度偏差算出器52は、推定速度情報の表わす推定速度からフィードバック速度情報の表わす速度を減算し、推定速度偏差を表わす推定速度偏差情報を演算する。
第1判定器53は、推定速度偏差算出器52から推定速度偏差情報が与えられる。第1判定器53は、推定速度偏差情報の表わす推定速度偏差が予め定められる第1しきい値を超えているか否かを判定する。第1判定器53は、第1しきい値を超えている場合には、ハンド17が障害物に衝突したことを表わす衝突検知信号を作成し、作成した衝突検知信号をOR回路54に与える。
推定加速度偏差算出器50は、推定速度偏差算出器52から推定速度偏差情報が与えられる。推定加速度偏差算出器50は、推定速度偏差情報の表わす推定速度偏差を時間で微分し、推定加速度偏差を表わす推定加速度偏差情報を演算して、その推定加速度偏差情報を第2判定器59に与える。
第2判定器59は、推定加速度偏差算出器50から推定加速度偏差が与えられる。第2判定器59は、推定加速度偏差情報の表わす推定加速度偏差が予め定める第2しきい値を超えているか否かを判定する。第2判定器59は、第2しきい値を超えている場合には、ハンド17が障害物に衝突したことを表わす衝突検知信号を作成し、作成した衝突検知信号をOR回路54に与える。
OR回路54は、第1判定器53および第2判定器59からだけでなく、可動モータ32を制御する制御装置からも衝突検知信号が与えられる。可動モータ32を制御する制御装置は、各ハンド17の可動方向Xの推定速度偏差情報および推定加速度偏差情報に基づいてハンド17が障害物に衝突したか否かを判定して、衝突検知信号をOR回路54に与える。OR回路54は、第1判定器53、第2判定器59および可動モータ32を制御する制御装置のうちの少なくともいずれか1つから衝突検知信号が与えられると、ハンド17が障害物に衝突したことを検知し、衝突検知信号を出力する。OR回路54は、後述する内部位置指令値生成部48、切換スイッチ55、電流制限手段26に衝突検知信号を与えるとともに、可動モータ32を制御する制御装置にも衝突検知信号を与える。
衝突検知手段24は、上下方向Zおよび可動方向Xのハンド17の推定速度偏差および推定加速度偏に基づいて衝突検知を行うので、衝突によってハンド17が上下方向Zおよび可動方向Xのいずれか一方向に推定速度偏差または推定加速度偏が生じると、衝突を検知することができる。したがって、衝突によって移動方向に垂直な方向にのみハンド17が変位したとしても、衝突検知手段24は、衝突を検知することができる。これによって衝突検知手段24は、正面衝突だけでなく、移動方向に垂直な方向にも力が加わるようなオフセット衝突も検知することができ、衝突検知の精度が向上する。
OR回路54は、推定速度偏差および推定加速度偏のうちの少なくとも一方に基づいて衝突検知信号を作成する。これによって制御装置13は、ハンド17と障害物との衝突を精度よく検知することができる。さらに加速度変化は、速度変化よりも速く衝突の影響が現れるので、推定加速度偏差を用いて衝突を検知することで、衝突後迅速に衝突検知信号を出力することができる。
指令生成手段25は、ハンド17が可動方向Xに移動する過程において障害物に衝突した場合に、ハンド17が衝突によって上下方向Zに変位した衝突後の位置に、ハンド17を維持する位置維持指令を生成し、位置維持指令を移動量指令手段23に与える。すなわち指令生成手段25は、衝突前における駆動体によるハンド17の移動方向に相当する可動方向Xに垂直な上下方向Zのハンド17の位置を、衝突によって変位した衝突後の位置に維持する指令を生成する。具体的には指令生成手段25は、衝突検知信号によって衝突を確認すると、衝突時または衝突後のハンド17の上下方向Zの位置を取得し、取得した位置を新たなハンド17の上下方向Zの位置とする指令を生成する。
また指令生成手段25は、ハンド17が上下方向Zに移動する過程において障害物に移動した場合に、ハンド17が衝突前に移動した径路を逆にたどるように、ハンドを移動させる後退指令を生成し、後退指令を移動量指令手段23に与える。すなわち指令生成手段25は、衝突前における駆動体によるハンド17の移動方向に相当する上下方向Zの移動を制限する指令を生成する。
移動量指令手段23は、指令生成手段25から位置維持指令が与えられると、ハンド17の上下方向Zの位置を衝突後の位置に維持する電流指令値を演算する。すなわち制御装置13は、ハンド17が可動方向Xに移動する過程において障害物に衝突すると、ハンド17の上下方向Zの位置を維持する制御を行う。
また移動量指令手段23は、指令生成手段25から後退指令が与えられると、衝突が検知されたときにハンド17が移動していた移動方向と、逆向きに移動する後退方向に移動するような電流指令値を演算する。すなわち制御装置13は、ハンド17が上下方向Zに移動する過程において障害物に衝突すると、衝突前にピッチ変換モータ31がハンド17に与えるトルクとは逆向きのトルクを与えるように、ピッチ変換モータ31に与える電流の向きを逆、すなわち反転する。
指令生成手段25は、内部位置指令値生成部48と、切換スイッチ55とを含む。内部位置指令値生成部48は、エンコーダ値であってハンド17の位置を表わす検知位置情報を随時記録する。内部位置指令値生成部48は、OR回路54から衝突検知信号が与えられると、記録している検知位置情報から位置維持指令または後退指令を表す内部位置指令値を生成し、生成した内部位置指令値を切換スイッチ55に与える。
指令生成手段25は、位置維持指令を生成するときには、最も新しく記録した検知位置情報を出力して内部位置指令値を演算する。指令生成手段25は、後退指令を生成するときには、記憶する検知位置情報のうち、最も新しい検知位置情報から古くなる順に検知位置情報を出力して内部位置指令値を演算する。内部位置指令値生成部48は、その記憶容量に制限がある場合には、時間順に記憶される検知位置情報のうち、衝突前であって、衝突時に最も近い時間に記憶される検知位置情報から内部位置指令値を生成してもよい。
切換スイッチ55は、外部位置指令値と内部位置指令値とを切換える。切換スイッチ55は、外部位置指令値生成部37から外部位置指令値が与えられるとともに内部位置指令値生成部48から内部位置指令値が与えられる。切換スイッチ55は、通常状態では、外部位置指令値を位置偏差算出器38に与える。また切換スイッチ55は、OR回路54から衝突検知信号が与えられると、内部位置指令値を位置偏差算出器38に与える。
位置偏差算出器38は、ハンド17が障害物に衝突すると、切換スイッチ55によって内部位置指令値が与えられる。そして第2比例器43は、指令生成手段25から位置維持指令が与えられたときには、ハンド17の上下方向Zにおける位置を衝突後の位置に維持するような1次電流指令値を演算する。第2比例器43は、指令生成手段25から後退指令が与えられたときには、後退方向にハンド17が移動するような1次電流指令値を演算する。そして電流発生回路22は、指令生成手段25から位置維持指令が与えられたときには、ハンド17の上下方向Zにおける位置を衝突後の位置に維持するような電流をピッチ変換モータ31に流す。また電流発生回路22は、指令生成手段25から後退指令が与えられたときには、後退方向に移動するような電流をピッチ変換モータ31に流す。
可動モータ32を制御する制御装置は、ピッチ変換モータ31を制御する制御装置13と、衝突検知手段および指令生成手段が異なる。可動モータ32を制御する制御装置における衝突検知手段は、推定速度偏差および推定加速度偏のうちの少なくとも一方に基づいて衝突検知信号を作成し、作成した衝突検知信号をピッチ変換モータ31を制御する制御装置13の衝突検知手段24に与える。
また可動モータ32を制御する制御装置における指令生成手段は、ピッチ変換モータ31を制御する制御装置における指令生成手段25と逆の処理を行う。具体的には、指令生成手段は、ハンド17が可動方向Xに移動する過程において障害物に衝突した場合に、ハンド17が衝突前に移動した径路を逆にたどるように、ハンドを移動させる後退指令を生成し、後退指令を移動量指令手段23に与える。また指令生成手段は、ハンド17が上下方向Zに移動する過程において障害物に移動した場合に、ハンド17が衝突によって可動方向Xに変位した衝突後の位置に、ハンド17を維持する位置維持指令を生成し、位置維持指令を移動量指令手段23に与える。
なお、積分器45は、OR回路54から衝突検知信号が与えられると、現在の積分結果を一度ゼロにして、衝突検知信号が与えられてから新たに1次電流指令値の表わす電流の変化量を積分する。言い換えるとハンド衝突時には、積分電流指令値をリセットし、ハンド衝突前におけるハンド17の移動動作の維持を解除する。
これによって衝突前の速度にかかわらず、ハンド衝突後、ハンド17の上下方向Zにおける位置を衝突後の位置に維持する、または可動方向Xに後退させるような指示電流指令値を速く電流発生回路22に与えることができる。また電流指令値をリセットすることによって、ハンド衝突前に比べて指示電流指令値を低減することができ、ピッチ変換モータ31に流れる電流を低減して、ハンド17による障害物の押付け力を緩和することができる。
電流制限手段26は、ハンド衝突時にOR回路54から衝突検知信号が与えられて、与えられる指示電流指令値を制限して、駆動電流指令値として電流発生回路22に与える。電流発生回路22の直前に電流制限手段が設けられることによって、ハンド衝突検知後、直ちにピッチ変換モータ31に流れる電流を低減することができる。
また本実施の形態では、電流制限手段26は、ピッチ変換モータ31の許容電流を越える電流が長時間与えられることを防ぐために、予め設定電流範囲が設定される。ハンド17が衝突しない正常状態において、電流制限手段26は、指示電流指令値が設定電流範囲以上の電流である場合には、設定電流範囲の上限値となる駆動電流指令値を電流発生回路22に与える。また電流制限手段26は、指示電流指令値が設定電流範囲以下の電流である場合には、設定電流範囲の下限値となる駆動電流指令値を電流発生回路22に与える。
また内部位置指令値生成部48は、ハンド衝突検知後にハンド17が予め定める移動距離後退して、ハンド17が障害物から離反したことを判断すると、ハンド17の移動を停止させる位置指令値を出力するとともに、電流制限手段26に衝突解除信号を与える。
図5は、電流制限手段26の具体的構成を示すブロック図である。本発明の実施の一形態である電流制限手段26は、衝突直前にハンド17の移動を駆動するモータに与えられる電流と同じ向きに流れる電流に対応する指示電流指令値を予め定める減少率で減少する。具体的には、ハンド17が可動方向Xに移動する過程において障害物と衝突した場合には、可動モータ32に衝突直前に与えられる電流と同じ向きに流れる電流に対応する指示電流指令値を予め定める減少率で減少し、ピッチ変換モータ31に流れる電流に関しては、両方の向きに流れる電流に対応する指示電流指令値を予め定める減少率で減少する。またハンド17が上下方向Zに移動する過程において障害物と衝突した場合には、ピッチ変換モータ31に衝突直前に与えられる電流と同じ向きに流れる電流に対応する指示電流指令値を予め定める減少率で減少し、可動モータ32に流れる電流に関しては、両方の向きに流れる電流に対応する指示電流指令値を予め定める減少率で減少する。
電流制限手段26は、制限部56と、電流方向検出部57とを有する。ハンド衝突検知前では、制限部56は、指示電流指令値が設定電流範囲にある場合、電流を制限せずに駆動電流指令値として電流発生回路22に与える。
電流方向検出部57は、衝突検知信号が与えられると、そのときに流れる電流の方向を検出し、電流の方向を含んだ電流制限指令を制限部56に与える。制限部56は、電流制限指令が与えられると、電流方向検出部57によって検出される方向のみの電流を制限する場合には、この方向に対応する指示電流指令値を予め定める減少率で減少して駆動電流指令値として電流発生回路22に与える。また制限部56は、電流制限指令が与えられると、両方向の電流を制限する場合には、両方向に対応する指示電流指令値を予め定める減少率で減少して駆動電流指令値として電流発生回路22に与える。
制限部56は、電流方向検出部57によって与えられる方向と反対に流れる電流を表わす指示電流指令値が与えられると、指示電流指令値が設定電流範囲以上および設定電流範囲以下であっても制限せず、指示電流指令値を駆動電流指令値として電流発生回路22に与える。
また制限部56は、ハンド17が障害物から離反して内部位置指令値生成部48から衝突解除信号が与えられると、指示電流指令値を無制限に駆動電流指令値として電流発生回路に与える状態を解除し、設定電流範囲内の駆動電流指令値を電流発生回路22に与える通常制限状態に移行する。したがって内部位置指令値生成部48は、ハンド17が障害物から離反すると、大きい電流の許容を解除する過電流許容解除手段となる。
また他に、電流方向検出部57が指示電流指令値が反転したことを検出して、電流制限解除指令を制限部56に与えることで、電流の制限を解除してもよい。
ハンド17が可動方向Xに移動している過程において障害物と衝突したときの制御装置13の動作手順について説明する。図6は、ハンド衝突時における制御装置13の動作手順を示すフローチャートである。また図7は、現在位置と電流制限状態と駆動電流との時間変化を示すタイムチャートである。図7(1)は、上下方向Zの現在位置の時間変化を実線で示し、可動方向Xの現在位置の時間変化を破線で示す。図7(2)は、ピッチ変換モータ31に関する電流制限手段26の電流制限状態の時間変化を実線で示し、可動モータ32に関する電流制限手段26の電流制限状態の時間変化を破線で示す。図7(3)は、理想的なピッチ変換モータ31の駆動電流の時間変化を実線で示し、理想的な可動モータ32の駆動電流の時間変化を破線で示す。
ステップa0で、制御装置13は、ハンド17を可動方向Xに移動させるために位置指令値を生成し、予め定める移動経路に従ってハンド17が可動方向Xに移動するように、ピッチ変換モータ31および可動モータ32に与える駆動電流を調整する。一定速度でハンド17を可動方向Xに移動させる場合、図7(1)に示すように、ハンド17の可動方向Xの移動位置は、一定の時間変化率で変化し、ハンド17の上下方向Zの移動位置は、定位置に維持される。このとき理想的には、図7(3)に示すように駆動電流は一定値に調整される。そしてハンド17が衝突時刻T1で障害物に衝突すると、ステップa1に進み、ハンド衝突時における動作を開始する。
ステップa1では、制御装置13は、ハンド17が障害物に衝突してハンド17の可動方向Xの移動が停止し、上下方向Zに変位が生じると、エンコーダ値と移動指令値との偏差が大きくなり、衝突前に比べて指示電流指令値を大きくする。このとき電流制限手段26によって、指示電流指令値が設定電流範囲以上となると、駆動電流指令値が大きくなることが阻止され、設定電流範囲の上限値または下限値に応じた駆動電流がピッチ変換モータ31および可動モータ32に与えられる。
またハンド衝突後、衝突検知手段24によって衝突検知工程が行われ、図7に示す衝突検知時刻T2で、ハンド17が衝突したことを検知すると、ステップa2に進む。
ステップa2では、電流制限手段26によって電流制限工程が制限開始時刻T3から行われ、ピッチ変換モータ31および可動モータ32に与える駆動電流をさらに制限し、ステップa3に進む。
ステップa3では、指令生成手段25によって移動制限工程と位置維持工程とが行われ、ピッチ変換モータ31に対しては、位置維持指令が生成され、可動モータ32に対しては後退指令が生成される。この位置維持指令および後退指令に基づいて、ピッチ変換モータ31には上下方向Zにおける位置を衝突後の位置に維持するような電流が与えられ、可動モータ32には可動方向Xにおいて衝突前における電流の向きを反転した電流が与えられる。
衝突検知時刻T2から電流が制限されるまでには、第1遅れ時間W1がかかる。また衝突検知時刻T2から逆向きの電流が可動モータ32に流れるまでには、第2遅れ時間W2がかかり、衝突検知時刻T2から上下方向Zにおける位置を衝突後の位置に維持する電流がピッチ変換モータ31に流れるまでには、第2遅れ時間W2がかかる。たとえばこの第1遅れ時間W1は、約数ミリ秒である。また第2遅れ時間W2は、約数十ミリ秒である。このように第1遅れ時間W1は、第2遅れ時間W2に比べて十分短い。衝突検知時刻T2から衝突検知時刻T2から逆向きの電流が可動モータ32に流れ、衝突検知時刻T2から衝突後の位置を維持する電流がピッチ変換モータ31に流れる反転開始時刻T4に達すると、ステップa4に進む。
ステップa4では、反転開始時刻T4では、電流制限手段26は、電流制限を行わず、指示電流指令値を駆動電流指令値として電流発生回路22に与える。電流発生回路22は、衝突前とは逆方向の駆動電流を可動モータ32に流し、上下方向Zにおける位置を維持する電流をピッチ変換モータ31に流す。これによってハンド17は、上下方向Zにおける位置を衝突後の位置に維持しつつ、可動方向Xの移動を反転して後退する。
この場合、上述したように電流制限手段26は、過電流許容工程を行い、指示電流指令値を駆動電流指令値として無制限に電流発生回路22に与える。これによって大きな駆動電流を発生することが可能となり、ハンド17を速やかに後退方向に移動させることができる。
内部位置指令値生成部48が、エンコーダ値に基づいて、ハンド17が障害物から予め定める移動距離後退したことを判断し、ハンド17が障害物から離れた状態となると、ステップa5に進む。
ステップa5では、内部位置指令値生成部48は、ハンド17の変位駆動を停止するような内部指令値を生成する。また衝突解除信号を電流制限手段26に与え、電流制限手段26による電流の制限状態を衝突前の通常制限状態に移行して過電流許容解除工程を行い、ステップa6に進む。ステップa6では、制御装置13は、衝突時のモータ駆動動作を終了する。
作業者は、ハンド17の移動径路が適切でなかった場合にはプログラムを書き換え、障害物の除去などを行い、ハンド17と障害物とが衝突しないことを確認した後に、ティーチングペンダント36などの入力手段によって、再起動信号を制御装置13に与える。これによって切換スイッチ55が切換り、外部位置指令値生成部37からの位置指令値に従って、ハンド17を移動可能な状態となる。
以上のように本発明の実施の形態に従えば、ハンド17の衝突を検知してから電流の向きを反転してピッチ変換モータ31に電流を流すまでに費やす第2遅れ時間W2に比べて、ハンド17の衝突を検知してから電流を制限するまでに費やす第1遅れ時間W1のほうが短いので、電流制限手段26によって駆動電流を制限することで、反転開始時刻T4に達する前にハンド17が障害物を押付けようとする力を抑制することができ、衝突による衝撃を緩和することができる。
比較例として電流を制限しない場合には、ステップa2において、図7(3)に二点差線で示すように、ハンド17が障害物に衝突した後であっても、反転開始時刻T4に達するまで、ハンド衝突前以上に大きな駆動電流がピッチ変換モータ31および可動モータ32に与えられつづけ、ハンド17が障害物を大きな力で押付け続ける。したがって衝突による衝撃を緩和することができない。
これに対して本実施の形態では、ピッチ変換モータ31および可動モータ32に与える電流を制限することで、衝突による衝撃を緩和することができ、ピッチ変換モータ31、可動モータ32、減速器、アーム本体および障害物などの衝突による損傷を低減することができる。
また本発明の実施の形態における電流制限手段26の構成は、制御装置を構成する記憶部のプログラムを更新することによって実現することができ、非常に容易に実現することができる。また電流発生回路22からの電流を制限して、衝突による衝撃を緩和する方法は、ハンド17の衝突検知方法に無関係であるので、ハンド17の衝突検知が遅れることがない。
また本発明の実施の形態では、反転開始時刻T4に達すると、可動モータ32に後退方向に移動するような電流が流れ、ハンド17に後退方向のトルクを与えることができる。これによってハンド17を速やかに後退させて、ハンド17が障害物を押付ける状態を短時間で解消することができる。
また本発明の実施の形態では、反転開始時刻T4に達すると、ピッチ変換モータ31にハンド17の上下方向Zにおける位置を衝突後の位置に維持するような電流が流れる。これによってハンド17が障害物との衝突後において衝突によって生じた変位を戻すような動作をすることがなく、ハンド17が障害物をさらに上下方向Zに押付けることを防ぐことができる。これによって、ハンド17は、障害物を上下方向Zに押付けることなく、障害物から離反するように後退することができる。
なお本実施の形態ではハンド17が可動方向Xに移動している過程において障害物と衝突した場合について説明したが、可動モータ32とピッチ変換モータ31との両方が動作し、ハンド17が可動方向Xから上下方向Zに傾斜した方向に移動している過程において、障害物と衝突した場合にも、前述と同様の動作をすることによって、衝突によって生じるハンド17と障害物との損傷を低減することができる。具体的には、ハンド17の移動方向を可動方向Xの成分と、上下方向Zの成分とに分解してハンド17の移動を制御する。ハンド17が障害物と衝突すると、衝突前におけるハンド17の移動方向の向きを反転させ、かつ移動方向に垂直な方向の位置を衝突後の位置に保持するような内部位置指令値を、ピッチ変換モータ31および可動モータ32のそれぞれに対して独立に内部位置指令値生成部25が生成する。このようにピッチ変換モータ31および可動モータ32を制御することによって、ハンド17の衝突前における移動方向に垂直な方向にハンド17を押付けることを防ぎつつ、ハンド17と障害物とを離間させることができる。
また電流制限手段26が、衝突前に可動モータ32に流れる方向の電流についてのみ制限し、衝突前に可動モータ32に流れる方向とは反対方向に流れる電流については、制限せずに通過させる。これによってハンド17の速度などによって、ハンド17の衝突を検知してから電流の流れを反転するまでに費やす第2遅れ時間W2がばらつく場合であっても、電流の流れが反転すると直ちに逆向きの電流をハンド17に与えることができる。言い換えると、電流の制限を解除する時間を正確に決定する必要が無く、さらに利便性を向上することができる。
また指示電流指令値が反転した後に、設定電流範囲よりも大きい電流指令値が与えられた場合には、電流制限手段26が制限せずにその指示電流指令値を駆動電流指令値として電流発生回路22に与えることによって、可動モータ32に与える逆向きのトルクを大きくすることができ、ハンド17が障害物を押付ける時間をさらに短くすることができる。また正常状態では、設定電流範囲を超える電流および設定電流範囲未満の電流が流れることが防止され、可動モータ32、ピッチ変換モータ31および電流発生回路22が損傷することを防止することができる。
またハンド17が障害物から離反したことを判断すると、通常制限状態に移行することによって、ピッチ変換モータ31、可動モータ32および電流発生回路22に長時間、大きい電流が流れることを防止することができ、ピッチ変換モータ31、可動モータ32および電流発生回路22の損傷をさらに防止することができる。
また電流制限手段26が、移動量指令手段23によって演算された指示電流指令値を制限する。指令生成手段25は、衝突検知信号が与えられてから、内部位置指令値を生成して移動量指令手段23に与えるまでに時間遅れが生じる。また移動量指令手段23は、フィードバック機構を有するので内部位置指令値が与えられてから、指示電流指令値を電流制限手段26に与えるまでに時間遅れが生じる。駆動電流指令値を制限することは、サーボ系の遅れにかかわらずに行うことができる。したがって衝突検知時から指示電流指令値を制限して駆動電流指令値として生成するまでにかかる時間は、指示電流指令値を生成するまでにかかる時間よりも短い。したがって衝突検知後に、指示電流指令値が演算されるまでに、電流を制限した駆動電流指令値を演算することができる。これによって衝突検知後、ピッチ変換モータ31および可動モータ32に与えられる電流が反転する、または衝突後の位置を維持する電流が流れる前に、ピッチ変換モータ31および可動モータ32に与えられる電流を速く低減することができる。
電流制限手段26によって制限されてピッチ変換モータ31および可動モータ32に流れる電流値は、ゼロまたは可及的に最小値にすることが好ましい。これによってハンド17および障害物の衝突による衝撃をより緩和することができる。これに対し、ピッチ変換モータ31および可動モータ32に流れる電流が大きいと電流の制限が開始される制限開始時刻T3以降でも、ハンド17が障害物を押付ける力を十分に低減することができない。
またハンド17に重力などの外力が与えられる場合、電流制限手段26によって制限されてモータMに流れる電流は、ハンド17が重力などの外力によって変位しないトルクを発生するに必要な電流値以上に設定される。これによってハンド17が、不所望に変位することを防止することができ、ハンド17が自重によって落下することを防ぐことができる。
ハンド17が外力を受ける場合には、ハンド17の重量、モータMの発生可能トルクなどから、ロボットの姿勢に応じてその姿勢を維持し得る最低限の電流を演算し、その電流値を表わす駆動電流指令値を電流発生回路22に与えてもよい。また予め演算される電流指令値の減少率を設定していてもよい。また姿勢毎に演算される減少率と、予め定められる減少率とを、ハンド17の状態に応じて切換えて用いてもよい。
また本実施の制御装置13における衝突検知手段24は、上下方向Zおよび可動方向Xのハンド17の変位に基づいて推定速度偏差および推定加速度偏差を演算し、演算した推定速度偏差および推定加速度偏差に基づいて衝突検知を行うので、衝突によってハンド17が上下方向Zおよび可動方向Xのいずれか一方向に変位すると、衝突を検知することができる。
図8は、ハンド17と半導体ウエハ14とがオフセット衝突したときのハンド17と半導体ウエハ14との側面図である。半導体ウエハ14は、装置の小形化のためにカセット体15およびボート体16内において、上下方向Zに密に配置される。したがって、半導体ウエハ14を搬送するロボット11の場合には、半導体ウエハ14とハンド17とがオフセット衝突をする可能性が高い。つまりハンド17と半導体ウエハ14とが衝突するときには、ハンド17と半導体ウエハ14との衝突角θが、0°よりも大きく、45°未満(0°<θ<45°)となる場合が多い。前記衝突角θは、衝突する半導体ウエハ14の衝突面と、ハンド17の可動方向Xとの成す角度のうちの最小角度である。ハンド17には、半導体ウエハ14の衝突面に垂直な方向の力F1が加わる。このとき、ハンド17には、上下方向Zの下方Z2にF2(F1×sinθ)が加わり、可動方向Xの他方X2にF3(F1×cosθ)が加わる。衝突角θが0°よりも大きく、45°未満(0°<θ<45°)なので、上下方向Zの下方Z2の力F2の方が、可動方向Xの他方X2の力F3よりも大きい(F2>F3)。したがって、ハンド17は、可動方向Xよりも上下方向Zに変位し易く、障害物に衝突したときの推定速度偏差および推定加速度偏差も可動方向Xよりも上下方向Zの方が大きくなる。衝突検知手段24は、より変位し易い上下方向Zの推定速度偏差および推定加速度偏差のうちの少なくともいずれか一方に基づいて衝突を検知するので、衝突検知の精度が向上する。
さらに本実施の制御装置13は、外部位置指令値とエンコーダ値とに基づいて、ハンド17の衝突を正確に検知することができる。比較例として、ピッチ変換モータ31に流れる電流に基づいてハンド衝突を検知する場合には、衝突検知にあたって、ハンド17の関節に充填されている潤滑剤の粘度の影響を受けやすい。たとえば冬季には、潤滑剤の粘度が著しく上昇してしまう。この場合、正常状態であってもピッチ変換モータ31の理論電流値が大きくなり、衝突と誤検知される場合がある。これに対して本実施の形態では、エンコーダ値と位置指令値とに基づくことによって、ピッチ変換モータ31に流れる電流がばらついたとしても、精度よくハンド17の衝突を検知することができる。
また外部位置指令値とエンコーダ値とに基づいて、ハンド17の衝突を検知するので、実際にハンド17が障害物に衝突したことを検知するセンサを必要とせず、コンピュータの演算回路を用いて衝突検知手段を実現することができる。したがって近接センサ、リミットスイッチおよび加速度センサなどの衝突検知センサを設ける必要がない。さらに推定速度偏差および推定角速度偏差を用いて衝突を判定することによって、衝突を検知するために複雑な計算、たとえばハンド17に関する運動方程式の解を演算する必要がなく、衝突検知に要する時間を短縮できる。
またロボットコントローラの制御プログラムを更新することによって、衝突検知および衝突検知後のアーム制御を実現することができるので、衝突検知手段24および指令生成手段25のロボットへの実装に要する期間を短縮できる。また従来と同様の物理的構成で実現することができる。
またハンド衝突後のモータMの制御方法において、ハンド17の衝突を検知すると、現在の積分結果を一度ゼロにして衝突前にモータMの動作を継続させるために与えていた電流指令値を消去した後、ハンド17が移動方向に垂直な方向の衝突後の位置を維持しつつ、後退方向に移動する電流指令値を与える。すなわち、駆動体の被駆動部材に対する現在動作の維持を停止させた後、駆動体の被駆動部材に後退移動経路を辿らせる。これによって衝突後におけるハンド17の後退動作を迅速になし得ることができる。さらに、衝突後に後退動作をさせているので、ハンド17の再起動を迅速になし得る。
比較例としてハンド17が衝突しても積分電流指令値をリセットしない場合には、ハンド17の上下方向Zにおける位置を衝突後の位置に維持するような1次電流指令値を演算したとしても、加算器46で衝突前の速度を表わす積分電流指令値と1次電流指令値とが加算されるので、衝突後にハンド17の上下方向Zにおける位置を衝突後の位置に維持するような指示電流指令値を速く電流発生回路22に与えることができない。したがって、ハンド17による障害物の押付け力を緩和するまでに時間がかかる。
これに対して上述したように、衝突後に積分電流指令値をリセットすることによって、ハンド17の上下方向Zにおける位置を衝突後の位置に維持する動作を迅速に行うことができるとともに、ハンド17による障害物の押し付け力を緩和することができる。
本発明の他の実施の形態の制御装置13の電流制限手段26は、前述の実施の形態の電流制限手段26に加えて、ハンド17が可動方向Xに移動しているときに、ピッチ変換モータ31の電流を、少なくともハンド17の上下方向Zの位置を保持することが可能な値に制限し、ハンド17が上下方向Zに移動しているときに、可動モータ32の電流を、少なくともハンド17の可動方向Xの位置を保持することが可能な値に制限する。
図9は、ボート体16に収容された半導体ウエハ14を取出すときの制御装置13の処理を表すフローチャートである。以後、ピッチ変換モータ31および可動モータ32の電流の制限のうちのピッチ変換モータ31の電流の制限に着目して制御装置13の処理を説明する。ステップb0では、ボート体16に収容された半導体ウエハ14のプロセス処理が行われ、プロセス処理が完了すると、ステップb1に進む。
ステップb1では、電流制限手段26は、ピッチ変換モータ31に流れる電流を第1電流値に制限する。この第1電流値は、ハンド17が半導体ウエハ14を乗載していない状態で、ハンド17を上下方向Zに移動するときに必要な電流値よりも高い値に設定される。ピッチ変換モータ31に流れる電流を第1電流値に制限すると、ステップb2に進む。
ステップb2では、移動量指令手段23は、ハンド17の上下方向Zのピッチ間隔を、ボート体16に収容された半導体ウエハ14の上下方向Zのピッチ間隔に合わせるための指示電流指令値を生成し、電流制限手段26に与える。電流制限手段26は、この指示電流指令値が第1電流値よりも小さいときには、電流制限を行わずに指示電流指令値を駆動電流指令値として電流発生回路22に与える。電流発生回路22は、駆動電流指令値に対応する電流をピッチ変換モータ31に与える。ハンド17の上下方向Zのピッチ間隔を、ボート体16に収容された半導体ウエハ14の上下方向Zのピッチ間隔に対応して変更すると、ステップb3に進む。
ステップb3では、電流制限手段26は、ピッチ変換モータ31に流れる電流を第2電流値に制限する。この第2電流値は、ピッチ変換モータ31に与える電流を少なくともハンド17の上下方向Zの位置を保持することが可能な値に設定される。本実施の形態のハンド17は、後述するように重力に対して釣合いがとれるような構成なので、理想的にはピッチ変換モータ31に電流を与えなかったとしてもハンド17に力が加わらない限り、上下方向Zの位置を保持することができる。したがって、第2電流値は、可能な限りゼロに近い値に設定することができる。ピッチ変換モータ31に流れる電流を第2電流値に制限するとステップb4に移る。
ステップb4では、移動量指令手段23は、ハンド17を可動方向Xに移動し、ボート体16に収容された半導体ウエハ14の上下方向Zの間にハンド17を挿入するための指示電流指令値を生成し、電流制限手段26に与える。電流制限手段26は、この指示電流指令値が第2電流値よりも小さいときには、電流制限を行わずに指示電流指令値を駆動電流指令値として電流発生回路22に与える。電流発生回路22は、駆動電流指令値に対応する電流を可動モータ32に与える。ハンド17を、可動方向Xに移動し、ボート体16に収容された半導体ウエハ14の上下方向Zの間に挿入すると、ステップb5に進む。
ステップb5では、電流制限手段26は、ピッチ変換モータ31に流れる電流を第3電流値に制限する。この第3電流値は、ハンド17が半導体ウエハ14を乗載するときに上下方向Zの下方に加わる力に抗してハンド17の姿勢を保持することが可能な電流値よりも大きい値に設定される。移動装置28によって基板保持装置27が上下方向Zの上方に移動することによって、ハンド17が半導体ウエハ14を乗載すると、ステップb6に進む。
ステップb6では、電流制限手段26は、ピッチ変換モータ31に流れる電流を第4電流値に制限する。この第4電流値は、ハンド17が半導体ウエハ14を保持した状態で少なくともハンド17の上下方向Zの位置を保持することが可能な電流値に設定される。ピッチ変換モータ31に流れる電流を第4電流値に制限すると、ステップb7に進む。
ステップb7では、移動量指令手段23は、ハンド17を可動方向Xのボート体16から離反する向きに移動するための指示電流指令値を生成し、電流制限手段26に与える。電流制限手段26は、この指示電流指令値が第4電流値よりも小さいときには、電流制限を行わずに指示電流指令値を駆動電流指令値として電流発生回路22に与える。電流発生回路22は、駆動電流指令値に対応する電流を可動モータ32に与える。ハンド17が、ボート体16から離反すると、ステップb8に進む。ステップb8では、制御装置13は、ボート体16から半導体ウエハ14を取出す制御を終了する。
ボート体16から半導体ウエハ14を取出すとき、ハンド17が障害物と衝突しなければ、図9に示す処理が行われるが、半導体ウエハ14を取出す過程においてハンド17が障害物と衝突すると、制御装置13は、前述した図6に示す衝突時のモータ駆動動作を行う。
たとえばステップb4においてハンド17が可動方向Xに移動しているときに、障害物と衝突した場合について説明する。このときピッチ変換モータ31に与えられる電流は、少なくともハンド17の上下方向Zの位置を維持することができる第2電流値に予め制限されているので、上下方向Zの力に対する反発力が小さい。したがって、ハンド17が障害物と衝突することによって上下方向Zの下方に力が加わると、ハンド17は上下方向Zの下方に容易に変位する。これによって衝突が発生したときに、ハンド17が障害物を押付ける力を緩和することができ、ハンド17および障害物の損傷を低減することができる。
またハンド17が障害物と衝突することによってハンド17が上下方向Zに大きく変位するので、衝突による推定速度偏差および推定角速度偏差が大きくなり、衝突検知手段24は、高精度にハンド17の衝突を検知することができる。またハンド17が衝突してから、衝突検知手段24がハンド17の衝突を検知することができる推定速度偏差および推定角速度偏差の大きさに達するまでの時間が短くなるので、衝突検知手段24が衝突を検知するまでに要する時間を短くすることができる。これによって、衝突した後の処理を開始する時間を短くすることができる。
図10は、各ハンド17の間隔の変化を説明するための図である。図10(1)に各ハンド17の間隔が狭い状態を示し、図10(2)に各ハンド17の間隔が広い状態を示す。
ロボットアーム19は、ハンド17を連動駆動するリンク機構61と、ハンド17を保持する第1移動体62と第2移動体63とをさらに含む。基板保持装置27は、本実施の形態では第1ハンド17aと、第2ハンド17bと、第3ハンド17cとを含む。可動モータ32は、第1移動体62を可動方向Xに移動する第1可動モータ32aと、第2移動体63を可動方向Xに移動する第2可動モータ32bとを含む。
第1ハンド17aは、上下方向Zに並ぶ複数のハンド17のうち、上下方向Z中央位置に配置されるハンドである。第2ハンド17bは、第1ハンド17aの上下方向Z両側にそれぞれ配置されるハンドである。第3ハンド17は、第1ハンド17aに対して上方Z1に配置される第2ハンド17bよりもさらに上方Z1に配置されるハンドと、また第1ハンド17aよりも下方Z2に配置される第2ハンド17bよりもさらに下方Z2に配置される保持体とを含む。第1〜第3ハンド17の種類を区別せずに説明する場合には、単にハンド17と称する場合がある。
各ハンド17は、半導体ウエハ14を乗載するブレード64と、ブレード64を支持する支持部65とを含む。各ブレード64の形状は、第1〜第3ハンド17で同じ形状に形成され、上下方向Zに等間隔に配置される。ブレード64は、厚み方向一方の面が半導体ウエハ14を乗載する乗載面となる。またブレード64は、薄板状に形成される。ブレード64の厚み寸法は、上下方向Zに並ぶ半導体ウエハ14の間に進入可能にするため、たとえば3.5mmに設定される。
第1ハンド17aの支持部65aは、第1移動体62に固定される。第1移動体62は、可動方向Xに移動可能に設けられ、第1可動モータ32aによって可動方向Xに変位駆動される。これによって第1ハンド17aは、第1移動体62とともに可動方向Xに変位駆動される。
第2および第3ハンド17b,17cの支持部65b,65cは、各リンク部材66,67を介して第2移動体63に支持される。第2移動体63は、可動方向Xに移動可能に設けられ、第2可動モータ32bによって可動方向Xに変位駆動される。第1移動体62と第2移動体63とは、独立して可動方向Xに移動可能に設けられる。
第2移動体63は、第2および第3ハンド17b,17cを上下方向Zに移動可能に案内する案内部が設けられる。また第2および第3ハンド17b,17cの支持部65b、65cには、案内部に嵌合する嵌合部が設けられる。第2および第3ハンド17b,17cは、嵌合部が案内部に嵌合することによって、第2移動体63に対して上下方向Zに移動可能に案内される。たとえば案内部は、上下方向Zに延びるレールによって実現され、案内部および嵌合部は、レールに嵌合するスライダによって実現される。すなわち案内部と嵌合部とによって直動すべり機構が実現される。
リンク機構61は、第2および第3ハンド17b,17cを上下方向Zに連動させる連動機構となる。リンク機構61は、駆動リンク部材67と、複数の従動リンク部材66とが角変位自在に連結されて構成される。本発明のリンク機構61は、駆動リンク部材67を角変位させた場合、隣接するハンド17のブレード64の上下方向Zの間隔が同じ割合で変化するように、各リンク部材66,67の配置および形状が設定される。
第2および第3各ハンド17b,17cは、それぞれ1つの従動リンク部材66が結合される。各ハンド17a,17bは、結合部71がそれぞれ設けられ、結合部71によって、従動リンク部材66の一端部を角変位可能に結合する。また駆動リンク部材67は、すべての従動リンク部材66が結合される。駆動リンク部材67は、それぞれハンド17b,17cごとに1つの連結部72が設けられ、各連結部72によって、各従動リンク部材66の他端部を角変位可能に結合する。これによって第2および第3ハンド17b,17cは、従動リンク部材66を介して、駆動リンク部材67に連結される。
本実施の形態では、駆動リンク部材67および従動リンク部材66は、長尺板状に形成される。各従動リンク部材66は、長手方向一端部が保持体の結合部71に角変位自在に結合され、長手方向他端部が駆動リンク部材67の連結部72に角変位自在に結合される。各従動リンク部材66は、保持体に応じてその長尺方向長さがそれぞれ設定される。また駆動リンク部材67は、予め定められる基準角変位軸線L2周りに角変位可能に設けられる。駆動リンク部材67は、ピッチ変換モータ31によって基準角変位軸線L2周りに角変位駆動される。
ピッチ変換モータ31によって、駆動リンク部材67がその基準角変位軸線L2周りに角変位すると、駆動リンク部材67の各連結部72は、それぞれ角変位して、上下方向Zの位置が変化する。これにあわせて、駆動リンク部材67に連結される各従動リンク部材66が各連結部72周りに角変位する。各ハンド17b,17cは、案内部によって上下方向Zに案内されており、結合部71は、第1仮想直線L3に上下方向Zに並んだ状態を保つ。
これによって各従動リンク部材66は、駆動リンク部材67が角変位したとしても、それぞれ平行状態を保って変位し、隣接するハンド17a,17b,17cの間隔を同じ割合で変化させることができる。すなわち各ハンド17a,17b,17cの各ブレード64のピッチDを等間隔に保った状態で、その間隔を変化させることができる。
たとえば基板保持装置27がカセット体15にアクセスする場合には、図10(1)に示すように、カセット体15用に設定される各ハンド17a,17b,17cのピッチDに調整する。また基板保持装置27がボート体16にアクセスする場合には、図10(2)に示すように、カセット体15用に設定されるピッチDとは異なるピッチ間隔に各ハンド17a,17b,17cを調整する。たとえばカセット体15用に設定される各ハンド17のピッチDは、ボート体16用に設定されるピッチよりも狭い。
2本の第3ハンド17cのうちの上下方向Zの上方Z1に配置される第3ハンド17cは、駆動リンク部材67に対して図10において基準角変位軸線L2周りに反時計回りのトルクを発生する。逆に2本の第3ハンド17cのうちの上下方向Zの下方Z2に配置される第3ハンド17cは、駆動リンク部材67に対して図10において基準角変位軸線L2周りに時計回りのトルクを発生する。2本の第3ハンド17cが互いに同じ形状であって、同じ質量を有する場合には、互いに同じ大きさで逆向きのトルクを発生するので、第3ハンド17cは、駆動リンク部材67に対してトルクを発生しない。また同様に2本の第2ハンド17bが互いに同じ形状であって、同じ質量を有する場合には、第2ハンド17bは、駆動リンク部材67に対してトルクを発生しない。したがって、上述したように理想的には、ハンド17は、重力に対して釣合いがとれるような構成であり、ピッチ変換モータ31に電流を与えなかったとしてもハンド17に力が加わらない限り、上下方向Zの位置を保持することができる。
本実施の形態では、重力に対して釣合いがとれたハンド17を用いるので、前述したように第2電流値を可能な限りゼロに近い値に設定することができる。これによって、障害物に衝突したときに、障害物に対して上下方向Zに反発する力を可能な限り小さくすることができ、衝突によって発生するハンド17および障害物の損傷を抑制することができる。またハンド17が障害物に対して上下方向Zに反発する力を可能な限り小さくすることができるので、障害物に衝突したときに、上下方向Zに大きく変位し、大きな推定速度偏差および推定加速度偏差が生じる。この大きな推定速度偏差および推定加速度偏差を衝突検知手段24が検知するので、衝突検知の精度を向上することができ、衝突を可及的に早く検出することができる。
前述の実施の形態の制御装置13における衝突検知手段24は、推定速度偏差および推定加速度偏差に基づいて衝突を検知したが、衝突検知は、推定速度偏差および推定加速度偏差に限らず、推定位置偏差に基づいて行ってもよい。具体的には、推定位置偏差は、推定位置と、検知位置情報との差分を算出することによって求まる。衝突検知手段24は、推定位置偏差が第3しきい値を超えたときにハンド17が障害物に衝突したと検知する。
また衝突検知手段24は、推定位置偏差、推定速度偏差および推定加速度偏のうちの少なくとも1つの偏差に基づいて衝突検知信号を作成してもよい。これによって制御装置13は、ハンドと障害物との衝突を精度よく検知することができる。また本実施の形態では、衝突検知手段24は、エンコーダ値を微分したフィードバック速度情報に基づいて推定加速度偏差を算出したが、加速度センサをさらに設けた場合には、加速度センサから与えられる情報に基づいて推定加速度偏差を算出して衝突を検知するようにしてもよい。
本発明の他の実施の形態である衝突検知手段は、指示電流指令値に基づいて衝突検知を行ってもよい。具体的には、移動量指令手段23が正常時と異なる指示電流指令値を生成したときにハンド17が障害物に衝突したと検出する。たとえば可動方向Xに移動しているときには、ピッチ変換モータ31に与える指示電流指令値は、正常時にはゼロに近い値であるが、障害物に衝突すると、上下方向Zの位置が正常時の位置から変位するので、この変位を戻すために、ゼロに比べて大きな指示電流指令値が生成される。この指示電流指令値に基づいて、衝突検知手段24は、衝突を検知する。
本発明の他の実施の形態である衝突検知手段は、ピッチ変換モータ31によるハンド17の上下方向Zの変位、および可動モータ32によるハンド17の可動方向Xの変位だけでなく、基板保持装置27を移動するための移動装置28によるハンド17の軸線L1周りの角変位、および移動装置28によるハンド17の上下方向Zの変位に基づいて、衝突を検知してもよい。ハンド17と障害物との衝突によって、ハンド17を有する基板保持装置27自体が軸線L1周りに角変位したり、上下方向Zに変位する場合があるので、これらの変位に基づいて衝突を検知することによって、衝突検知の精度を高くすることができる。
本発明の他の実施の形態である指令生成手段は、ハンド17の移動方向に垂直な方向のハンド17の位置を、衝突によって変位した衝突後の位置よりも、衝突によって変位した方向にさらに予め定める距離だけ移動させる指令を生成してもよい。この場合、障害物に衝突したときに、ハンド17は、移動方向に垂直な方向に離間する。これによって、衝突後においてハンド17が障害物を押付けることを確実に防ぐことができる。前記予め定める距離は、移動方向に垂直な方向の移動によって、前記障害物と異なる他の障害物とハンド17が衝突しない程度に選ばれる。
本発明の他の実施の形態である指令生成手段は、後退指令をティーチングペンダント36から与えられる情報または記憶部34に記憶される移動経路を表す情報に基づいて後退移動経路を演算してもよい。
本発明の他の実施の形態である電流制限手段は、電流方向検出部57に代えて反転開始時刻T4に達すると電流制限手段26による電流の制限を解除するタイマ部を有していてもよい。タイマ部は、衝突検知信号が与えられると、制限部56に電流制限指令を与える。制限部56は、電流の向きにかかわらず指示電流指令値を制限する。
タイマ部は、電流の向きを反転するために必要な第2遅れ時間W2が経過したと判断すると、制限部56に電流制限解除指令を与える。制限部56は、電流制限解除指令が与えられることによって、指示電流指令値の制限を解除する。このとき制限部56は、設定電流範囲以上の電流が流れることを許容する。これによって電流が反転した場合には、モータに与えられる電流が制限されることを防いで、指示電流指令値を駆動電流指令値として与えることができる。そして制限部56に衝突解除信号が与えられると、過電流許容状態を解除し、衝突前の通常制限状態に移行する。
このような他の実施の形態の電流制限手段を有する場合であっても、上述と同様の効果を得ることができる。またこの場合、指示電流指令値から衝突前に流れる電流の方向を検出する必要がない。
またさらに他の形態の電流制限手段として、電流制限手段は、演算部33またはティーチングペンダント36などの入力手段からの解除指令に基づいて、電流の制限を解除してもよい。
なお、上述した本発明の構成は、発明の一例示であって発明の範囲内で構成を変更することができる。本発明の実施の形態では、推定位置偏差と推定速度偏差と推定加速度偏差とに基づいて、ハンド17の衝突を検知することが好ましいが、ハンド17の衝突検知にあたっては、特に限定せず従来技術を用いてもよい。
またロボットの制御方法および制御装置について説明したが、可動体を変位駆動する駆動体を備える装置であれば、同様の制御方法および制御装置を用いることができる。たとえば電動モータを備える駆動体に限らず、油圧駆動源および空気圧駆動源などを備える駆動体の制御方法および制御装置に本発明を適用することができる。またロボット以外の産業機械、たとえばNC(Numerical Control、数値制御)機械、搬送装置などであっても、上述した制御方法および制御装置を用いることで、上述した効果と同様の効果を達成することができる。電動モータを有する。
また移動量指令手段23の具体的な構成も、他の構成であってもよい。また制御装置13は、プログラムを読取ることによって各演算器の構成を実現したが、電気回路などの物理的な構成によって各演算器の構成を実現してもよい。また本発明の制御装置13は、ロボットコントローラと別体に設けられていてもよい。また指示電流指令値が反転した場合、与えられる指示電流指令値に対して予め定める増幅率で増大して駆動電流指令値を生成して、電流発生回路に与えてもよい。これによってハンド17が障害物に押付けられる時間をさらに短縮することができる。