(57)【要約】【課題】障害物との干渉を確実に防止し、タクトタイムを可及的に短縮できる最適な内回り軌跡で作業ツールを内回り移動させる。【解決手段】作業ツールを取出スタート位置ＲＢからトップ位置ＥＴに移動させる移動軌跡に内回り軌跡Ｌscを設定する場合、カセット２００の下空間ＳB内にボトム位置ＥＢを含む内回り範囲ＡＲ1を設定する。内回り範囲ＡＲ1と移動軌跡Ｌa，Ｌbの交点Ｐa，Ｐbを求め、作業ツールを交点Ｐaからボトム位置ＥＢに移動させる移動時間Ｔaとボトム位置ＥＢから交点Ｐbに移動させる移動時間Ｔbを求め、移動時間Ｔa，Ｔbのうち小さい方を内回り軌跡Ｌscの移動時間Ｔscに設定する。移動時間Ｔdと移動軌跡Ｌa，Ｌbの速度制御特性とから内回り軌跡Ｌscの内回り開始位置と内回り終了位置を設定する。【選択図】図４
2015104773.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる第１、第２、第３の位置の位置情報と、マニピュレータのアームの先端に取り付けられた作業ツールを前記第１の位置から前記第２の位置に移動させるときの当該作業ツールの速度を制御するための第１の速度制御特性の情報と、前記作業ツールを前記第２の位置から前記第３の位置に直線移動させるときの当該作業ツールの速度を制御するための第２の速度制御特性の情報とが予め教示されており、
前記作業ツールを、前記第１の位置と前記第２の位置とを結ぶ第１の移動軌跡と前記第２の位置と前記第３の位置とを結ぶ第２の移動軌跡とを移動させて前記第１の位置から前記第３の位置に移動させる場合、前記第１の移動軌跡上に内回り開始位置を設定するとともに、前記第２の移動軌跡上に内回り終了位置を設定し、前記作業ツールを前記内回り開始位置から前記第２の位置より内側を通る湾曲した内回り軌跡に沿って前記内回り終了位置に内回り移動させるマニピュレータの移動制御装置であって、
予め設定された前記第２の位置を含む内回り範囲の情報を記憶する内回り範囲情報記憶手段と、
前記内回り範囲と前記第１の移動軌跡とが交差する第１の交点を算出し、その第１の交点と前記第２の位置と前記第１の速度制御特性とに基づいて、前記作業ツールが前記第１の交点から前記第２の位置まで移動するのに要する第１の移動時間を算出する第１の移動時間演算手段と、
前記内回り範囲と前記第２の移動軌跡とが交差する第２の交点を算出し、その第２の交点と前記第２の位置と前記第２の速度制御特性とに基づいて、前記作業ツールが前記第２の位置から前記第２の交点まで移動するのに要する第２の移動時間を算出する第２の移動時間演算手段と、
前記第１の移動時間と前記第２の移動時間を用いて、前記作業ツールを前記内回り軌跡に沿って移動させるときの内回り時間を設定する内回り時間設定手段と、
前記内回り時間と前記第１，第２の速度制御特性とを用いて前記内回り開始位置と前記内回り終了位置とを設定する内回り開始／終了位置設定手段と、
を備えたことを特徴とするマニピュレータの移動制御装置。
【請求項２】
前記内回り範囲は、所定の三次元形状を有する範囲である、請求項１に記載のマニピュレータの移動制御装置。
【請求項３】
前記内回り範囲は、前記第１の位置、前記第２の位置及び前記第３の位置を含む平面内に設定される所定の二次元形状を有する範囲である、請求項１に記載のマニピュレータの移動制御装置。
【請求項４】
前記二次元形状は、矩形である、請求項３に記載のマニピュレータの移動制御装置。
【請求項５】
前記第１の移動時間演算手段は、前記第１の交点から前記第２の位置までの第１の距離を算出し、その第１の距離と前記第１の速度制御特性とに基づいて前記第１の移動時間を算出し、
前記第２の移動時間演算手段は、前記第２の位置から前記第２の交点までの第２の距離を算出し、その第２の距離と前記第２の速度制御特性とに基づいて前記第２の移動時間を算出する、請求項１乃至４のいずれかに記載のマニピュレータの移動制御装置。
【請求項６】
前記内回り時間設定手段は、前記第１の移動時間と前記第２の移動時間を比較し、移動時間の短い方を前記内回り時間に設定する、請求項１乃至５のいずれかに記載のマニピュレータの移動制御装置。
【請求項７】
互いに異なる第１、第２、第３の位置の位置情報と、マニピュレータのアームの先端に取り付けられた作業ツールを前記第１の位置から前記第２の位置に移動させるときの当該作業ツールの速度を制御するための第１の速度制御特性の情報と、前記作業ツールを前記第２の位置から前記第３の位置に直線移動させるときの当該作業ツールの速度を制御するための第２の速度制御特性の情報とが予め教示されており、
前記作業ツールを、前記第１の位置と前記第２の位置とを結ぶ第１の移動軌跡と前記第２の位置と前記第３の位置とを結ぶ第２の移動軌跡とを移動させて前記第１の位置から前記第３の位置に移動させる場合、前記第１の移動軌跡上に内回り開始位置を設定するとともに、前記第２の移動軌跡上に内回り終了位置を設定し、前記作業ツールを前記内回り開始位置から前記第２の位置より内側を通る湾曲した内回り軌跡に沿って前記内回り終了位置に内回り移動させるマニピュレータの移動制御方法であって、
予め設定された前記第２の位置を含む内回り範囲と前記第１の移動軌跡とが交差する第１の交点を算出し、その第１の交点と前記第２の位置と前記第１の速度制御特性とに基づいて、前記作業ツールが前記第１の交点から前記第２の位置まで移動するのに要する第１の移動時間を算出する第１の演算工程と、
前記内回り範囲と前記第２の移動軌跡とが交差する第２の交点を算出し、その第２の交点と前記第２の位置と前記第２の速度制御特性とに基づいて、前記作業ツールが前記第２の位置から前記第２の交点まで移動するのに要する第２の移動時間を算出する第２の演算工程と、
前記第１の演算工程で算出された第１の移動時間と前記第１の演算工程で算出された前記第２の移動時間を用いて、前記作業ツールを前記内回り軌跡に沿って移動させるときの内回り時間を設定する第１の設定工程と、
前記第１の設定工程で設定された前記内回り時間と前記第１，第２の速度制御特性とを用いて前記内回り開始位置と前記内回り終了位置とを設定する第２の設定工程と、
を備えたことを特徴とするマニピュレータの移動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ティーチング・プレイバック方式により産業用ロボットのマニピュレータの動き（特に、アームの先端部に取り付けられる作業ツールの移動）を制御する移動制御装置及び移動制御方法に関する。
【背景技術】
【０００２】
従来、図１３に示すように、産業用ロボットの作業ツールを位置Ｐ0から位置Ｐ1に直線的に移動させる第１の移動軌跡Ｌ１と、位置Ｐ1で移動方向を変化させて位置Ｐ2に作業ツールを直線的に移動させる第２の移動軌跡Ｌ２が教示されている場合、作業ツールを第１の移動軌跡Ｌ１の位置Ｐ1の手前の位置Ｐsから第２の移動軌跡Ｌ２上の位置Ｐeまで湾曲した第３の移動軌跡Ｌ３で内回りに移動させる技術が知られている（特許文献１）。
【０００３】
この技術は、第１の移動軌跡Ｌ１の第１の速度制御特性Ｋ（作業ツールを第１の移動軌跡Ｌ１で移動させるときの作業ツールの移動速度と経過時間との関係を示す特性）と第２の移動軌跡Ｌ２の第２の速度制御特性Ｈ（作業ツールを第２の移動軌跡Ｌ２で移動させるときの作業ツールの移動速度と経過時間との関係を示す特性）が図１３に示すように設定されている場合、例えば、図１４に示すように、第１の速度制御特性Ｋの減速期間Ｔdec（減速開始時点ｔk2から停止時点ｔk3までの期間）と第２の速度制御特性Ｈの加速期間Ｔacc（移動開始時点ｔh0から等速開始時点ｔh1までの期間）を重複させて産業用ロボットのアームの動きを制御することにより、作業ツールを位置Ｐs（以下、「内回り開始位置Ｐs」という。）から第３の移動軌跡Ｌ３で内回りさせて第２の移動軌跡Ｌ２上の位置Ｐe（以下、「内回り終了位置Ｐe」という。）に移動させた後、第２の移動軌跡Ｌ２に沿って位置Ｐ2に移動させるものである。
【０００４】
作業ツールが位置Ｐ0に停止している状態で第１の移動軌跡Ｌ１の教示点と第１の速度制御特性Ｋに基づいて産業用ロボットのアームの動きを制御すると、作業ツールは移動開始時点ｔk0から減速開始時点ｔk2までは第１の移動軌跡Ｌ１上を移動する。減速開始時点ｔk2から停止時点ｔk3までは第２の移動軌跡Ｌ２の教示点と第２の速度制御特性Ｈに基づく制御が第１の移動軌跡Ｌ１の教示点と第１の速度制御特性Ｋに基づく制御に重畳されるので、作業ツールの移動位置は、減速開始時点ｔk2からの経過時間毎に算出される第１の移動軌跡Ｌ１の移動方向の移動位置と第２の移動軌跡Ｌ２の移動方向の移動位置をベクトル合成した位置となり、作業ツールの移動軌跡は、図１３に示すような湾曲した第３の移動軌跡Ｌ３（以下、「内回り軌跡Ｌ３」という。）となる。そして、停止時点ｔk3（移動開始時点ｔh0）から停止時点ｔh3までは第２の移動軌跡Ｌ２の教示点と第２の速度制御特性Ｈに基づく制御が行われるので、作業ツールは、内回り終了位置Ｐeから第２の移動軌跡Ｌ２上を位置Ｐ2まで移動することになる。
【０００５】
図１４に示す制御では、作業ツールが内回り軌跡Ｌ３を移動するときの速度が同図の点線で示すように変化するので、内回り時の減速度は第１の速度制御特性Ｋの減速度より大きくなり、加速度も第２の速度制御特性Ｈの加速度より大きくなる。このため、作業ツールの方向転換する角度（第１の移動軌跡Ｌ１と第２の移動軌跡Ｌ２によって挟まれる角度）が鋭角になると、内回り時に作業ツールに掛る負荷が過大になるという問題がある。
【０００６】
この問題を解決するため、図１５に示すように、第１の速度制御特性Ｋの減速度曲線と第２の速度制御特性Ｈの加速度曲線の傾斜を途中で緩くするように変化させ、内回り期間の減速度と加速度が過度に大きくならないように制御する方法も提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭６４−２６９１１号公報
【特許文献２】特開平８−１２３５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の作業ツールを内回りさせる制御では、第１の移動軌跡Ｌ１の教示情報（教示点の情報と移動速度の情報）に基づいて作業ツールの移動を制御している途中（第１の速度制御特性Ｋの減速期間Ｔdec内の所定のタイミング）で第２の移動軌跡Ｌ２の教示情報に基づく作業ツールの移動の制御を開始することによって、作業ツールが内回り軌跡Ｌ３を描いて第２の移動軌跡Ｌ２に移動するようにしている。第１の移動軌跡Ｌ１における内回り開始位置Ｐsと第２の移動軌跡Ｌ２における内回り終了位置Ｐeは、第１の速度制御特性Ｋの減速期間Ｔdecにおける第２の速度制御特性Ｈの加速開始時点ｔh0と第２の速度制御特性Ｈの加速期間Ｔaccにおける第１の速度制御特性Ｋの減速停止時点ｔk2の設定によって決定されるので、作業ツールの移動可能な範囲の条件によっては、設定された内回り開始位置Ｐsと内回り終了位置Ｐeが不適切になる場合が生じる。
【０００９】
例えば、半導体基板や液晶基板などの製造プロセスに用いられる基板搬送ロボットでは、図１６に示すように、基板搬送ロボットのアームの先端に取り付けられたハンド（図示省略）をカセット２００の入り口正面からカセット２００の奥行方向にコの字を描くように移動させてカセット２００内のスロット２０１に基板を載置したり、スロット２０１に載置された基板を取り出したりする動作を行わせている。
【００１０】
この基板の収納／取出動作については、基板搬送ロボットに対して、ハンドの移動軌跡Ｌが予め教示されている。移動軌跡Ｌは、カセット２００の下段の入り口の中央を通る水平方向の移動軌跡Ｌaと、カセット２００の上段の入り口の中央を通る水平方向の移動軌跡Ｌcと、カセット２００内の奥行方向の略中央を通る垂直方向の移動軌跡Ｌbとによって構成される。
【００１１】
移動軌跡Ｌaは、カセット２００の下段の入り口中央より所定の距離だけ手前の位置に設定された取出スタート位置ＲＢからカセット２００内に設定されたボトム位置ＥＢまでハンドを水平に直線移動（水平移動）させる軌跡である。移動軌跡Ｌcは、カセット２００の上段の入り口中央より所定の距離だけ手前の位置に設定された収納スタート位置ＲＴからカセット２００内に設定されたトップ位置ＥＴまでハンドを水平に直線移動（水平移動）させる軌跡である。トップ位置ＥＴはボトム位置ＥＢを通る鉛直線上に設定されている。移動軌跡Ｌbは、ボトム位置ＥＢからトップ位置ＥＴまで、若しくはトップ位置ＥＴからボトム位置ＥＢまでハンドを垂直に直線移動（垂直移動）させる軌跡である。
【００１２】
基板搬送ロボットは、カセット２００内のスロット２０１に収納されている基板を取り出す場合、ハンドを取出スタート位置ＲＢに移動させた後、移動軌跡Ｌa、移動軌跡Ｌb、移動軌跡Ｌcの順にハンドを移動させて基板（図示省略）を取り出す。ハンドがボトム位置ＥＢから垂直に上方向移動をする際に基板がハンド上に載り、その状態でハンドがトップ位置ＥＴから収納スタート位置ＲＴまで移動することにより、基板がカセット２００から収納スタート位置ＲＴに取り出される。
【００１３】
基板搬送ロボットは、基板をカセット２００内のスロット２０１に収納する場合、他のカセット２００から基板を取り出したハンドを収納スタート位置ＲＴに移動させた後、移動軌跡Ｌc、移動軌跡Ｌb、移動軌跡Ｌaの順にハンドを移動させて基板をスロット２０１に収納する。ハンドがトップ位置ＥＴから垂直に下方向移動をする際に基板がスロット２０１上に載って当該ハンドから離れ、空の状態でハンドがボトム位置ＥＢから取出スタート位置ＲＢまで移動することにより、基板がカセット２００内に収納される。
【００１４】
例えば、図１７に示すように、収納スタート位置ＲＴを通る鉛直線上であって当該収納スタート位置ＲＴから所定の距離だけ離れた位置ＲＡにハンドの移動位置が教示され、基板をカセット２００内のスロット２０１に収納するときの移動軌跡として、ハンドを位置ＲＡから収納スタート位置ＲＴまで上方向に垂直移動させる移動軌跡Ｌdが教示されている場合の内回り軌跡Ｌ３について検討する。
【００１５】
この場合は、図１７に示すように、移動軌跡Ｌdと移動軌跡Ｌcを接続する収納スタート位置ＲＴの部分と、移動軌跡Ｌcと移動軌跡Ｌbを接続するトップ位置ＥＴの部分と、移動軌跡Ｌbと移動軌跡Ｌaを接続するボトム位置ＥＢの部分に内回り軌跡Ｌ３を設けることができる。
【００１６】
例えば、収納スタート位置ＲＴの部分に内回り軌跡Ｌ３を設ける場合、従来の方法では、移動軌跡Ｌd上の内回り開始位置Ｐsが取出スタート位置ＲＢからの距離Ｄs（以下、「内回り開始距離Ｄs」という。）によって決定されるので、この内回り開始距離Ｄsが長すぎると、移動軌跡Ｌc上に設定される内回り終了位置Ｐeの収納スタート位置ＲＴからの距離Ｄe（以下、「内回り終了距離Ｄe」という。）も長くなり、内回り軌跡Ｌ３は、図１７の点線で示されるように、収納スタート位置ＲＴからかなり離れた内側を移動する軌跡となる。この内回り軌跡Ｌ３は、タイムタクト短縮の点では有効であるが、ハンドに載置された基板が当該スロット２０１から先端側にはみ出している場合には、ハンドがスロット２０１の高さ位置に移動したときに、基板Ｗがスロット２０１と干渉する恐れが生じる。
【００１７】
一方、基板のスロット２０１への衝突を回避するために、内回り開始距離Ｄsを短くし過ぎると、内回り軌跡Ｌ３は、図１７の細い線で示されるように、収納スタート位置ＲＴに接近した内側を移動する軌跡となるので、タイムタクト短縮の効果が期待できない。
【００１８】
トップ位置ＥＴの部分やボトム位置ＥＢの部分に内回り軌跡Ｌ３を設ける場合は、移動軌跡Ｌbの長さが移動軌跡Ｌa，Ｌcに対して非常に短いので、移動軌跡Ｌb上に設定される内回り終了距離Ｄeが非常に短くなる。このため、可及的にタイムタクト短縮の効果を有効にしようとすると、移動軌跡Ｌaや移動軌跡Ｌcに設定される内回り開始距離Ｄsを可及的に長くする必要がある。従来の内回り軌跡Ｌ３の設定方法では、内回り開始距離Ｄsと内回り終了距離Ｄeが２つの速度制御特性Ｋ，Ｈによってほぼ同じ距離に設定されるので、内回り開始距離Ｄsと内回り終了距離Ｄeを大きく異ならせる場合には、図１８に示すように、内回り開始位置Ｐs又は内回り終了位置Ｐeを適切な位置に設定することができない。図１８は基板Ｗをカセット２００から取り出す場合の例であるが、この例では、内回り終了位置Ｐeが基板Ｗよりも上側に配置され、ハンドが内回り移動中に基板Ｗを受け取るようになり、ハンドにおける基板Ｗの受取位置が変動する。
【００１９】
図１７，図１８の例は、ハンドを垂直方向に移動させる移動軌跡についての例であるが、図１９に示すように、ハンドを水平方向に移動させる移動軌跡の場合についても同様である。
【００２０】
図１９は、取出スタート位置ＲＢを通る水平線上であって当該取出スタート位置ＲＢから所定の距離だけ離れた位置ＲＡ’が教示され、基板（図示省略）をカセット２００内のスロット２０１に収納するときの移動軌跡として、ハンド（図示省略）を位置ＲＡ’から収納スタート位置ＲＴまで横方向に水平移動させる移動軌跡Ｌd′が教示されている場合の例である。
【００２１】
図１９の場合は、位置ＲＡ’のカセット２００の開口面からの距離が比較的長いので、ハンドに載置された基板がカセット２００の側壁に衝突する恐れは少ない。このため、移動軌跡Ｌd′上に設定される内回り開始距離Ｄsを比較的長くすることができるが、その内回り開始距離Ｄsが短く設定された場合は、タイムタクトを有効に短縮することができないという問題が生じる。
【００２２】
上記のように、第１の移動軌跡Ｌ１に設定された第１の速度制御特性Ｋと第２の移動軌跡Ｌ２に設定された第２の速度制御特性Ｈとに基づいて内回り開始位置Ｐs（内回り開始距離Ｄs）と内回り終了位置Ｐe（内回り終了距離Ｄe）を設定する方法では、作業ツールの移動範囲が障害物などによって制限される場合には、内回り開始位置Ｐsと内回り終了位置Ｐeを適切に設定することができない場合が生じるという問題がある。
【００２３】
本発明は、上記の課題に鑑みてなされたものであって、作業ツールの移動範囲が障害物などで制限させる場合であっても、障害物との干渉を確実に防止し、かつ、最適なタイムタクトで作業ツールを内回り移動させることができるマニピュレータの移動制御装置及び移動制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２４】
本発明の第１の側面で提供されるマニピュレータの移動制御装置は、互いに異なる第１、第２、第３の位置の位置情報と、マニピュレータのアームの先端に取り付けられた作業ツールを前記第１の位置から前記第２の位置に移動させるときの当該作業ツールの速度を制御するための第１の速度制御特性の情報と、前記作業ツールを前記第２の位置から前記第３の位置に直線移動させるときの当該作業ツールの速度を制御するための第２の速度制御特性の情報とが予め教示されており、前記作業ツールを、前記第１の位置と前記第２の位置とを結ぶ第１の移動軌跡と前記第２の位置と前記第３の位置とを結ぶ第２の移動軌跡とを移動させて前記第１の位置から前記第３の位置に移動させる場合、前記第１の移動軌跡上に内回り開始位置を設定するとともに、前記第２の移動軌跡上に内回り終了位置を設定し、前記作業ツールを前記内回り開始位置から前記第２の位置より内側を通る湾曲した内回り軌跡に沿って前記内回り終了位置に内回り移動させるマニピュレータの移動制御装置であって、予め設定された前記第２の位置を含む内回り範囲の情報を記憶する内回り範囲情報記憶手段と、前記内回り範囲と前記第１の移動軌跡とが交差する第１の交点を算出し、その第１の交点と前記第２の位置と前記第１の速度制御特性とに基づいて、前記作業ツールが前記第１の交点から前記第２の位置まで移動するのに要する第１の移動時間を算出する第１の移動時間演算手段と、前記内回り範囲と前記第２の移動軌跡とが交差する第２の交点を算出し、その第２の交点と前記第２の位置と前記第２の速度制御特性とに基づいて、前記作業ツールが前記第２の位置から前記第２の交点まで移動するのに要する第２の移動時間を算出する第２の移動時間演算手段と、前記第１の移動時間と前記第２の移動時間を用いて、前記作業ツールを前記内回り軌跡に沿って移動させるときの内回り時間を設定する内回り時間設定手段と、前記内回り時間と前記第１，第２の速度制御特性とを用いて前記内回り開始位置と前記内回り終了位置とを設定する内回り開始／終了位置設定手段と、を備えたことを特徴とする（請求項１）。
【００２５】
上記のマニピュレータの移動制御装置の好ましい実施の形態によれば、前記内回り範囲は、所定の三次元形状を有する範囲にするとよい（請求項２）。また、前記内回り範囲は、前記第１の位置、前記第２の位置及び前記第３の位置を含む平面内に設定される所定の二次元形状を有する範囲にするとよい（請求項３）。また、前記二次元形状は、矩形にするとよい（請求項４）。
【００２６】
さらに、上記のマニピュレータの移動制御装置の好ましい実施の形態によれば、前記第１の移動時間演算手段は、前記第１の交点から前記第２の位置までの第１の距離を算出し、その第１の距離と前記第１の速度制御特性とに基づいて前記第１の移動時間を算出し、前記第２の移動時間演算手段は、前記第２の位置から前記第２の交点までの第２の距離を算出し、その第２の距離と前記第２の速度制御特性とに基づいて前記第２の移動時間を算出する（請求項５）。また、前記内回り時間設定手段は、前記第１の移動時間と前記第２の移動時間を比較し、移動時間の短い方を前記内回り時間に設定する（請求項６）。
【００２７】
本発明の第２の側面で提供されるマニピュレータの移動制御方法は、互いに異なる第１、第２、第３の位置の位置情報と、マニピュレータのアームの先端に取り付けられた作業ツールを前記第１の位置から前記第２の位置に移動させるときの当該作業ツールの速度を制御するための第１の速度制御特性の情報と、前記作業ツールを前記第２の位置から前記第３の位置に直線移動させるときの当該作業ツールの速度を制御するための第２の速度制御特性の情報とが予め教示されており、前記作業ツールを、前記第１の位置と前記第２の位置とを結ぶ第１の移動軌跡と前記第２の位置と前記第３の位置とを結ぶ第２の移動軌跡とを移動させて前記第１の位置から前記第３の位置に移動させる場合、前記第１の移動軌跡上に内回り開始位置を設定するとともに、前記第２の移動軌跡上に内回り終了位置を設定し、前記作業ツールを前記内回り開始位置から前記第２の位置より内側を通る湾曲した内回り軌跡に沿って前記内回り終了位置に内回り移動させるマニピュレータの移動制御方法であって、予め設定された前記第２の位置を含む内回り範囲と前記第１の移動軌跡とが交差する第１の交点を算出し、その第１の交点と前記第２の位置と前記第１の速度制御特性とに基づいて、前記作業ツールが前記第１の交点から前記第２の位置まで移動するのに要する第１の移動時間を算出する第１の演算工程と、前記内回り範囲と前記第２の移動軌跡とが交差する第２の交点を算出し、その第２の交点と前記第２の位置と前記第２の速度制御特性とに基づいて、前記作業ツールが前記第２の位置から前記第２の交点まで移動するのに要する第２の移動時間を算出する第２の演算工程と、前記第１の演算工程で算出された第１の移動時間と前記第１の演算工程で算出された前記第２の移動時間を用いて、前記作業ツールを前記内回り軌跡に沿って移動させるときの内回り時間を設定する第１の設定工程と、前記第１の設定工程で設定された前記内回り時間と前記第１，第２の速度制御特性とを用いて前記内回り開始位置と前記内回り終了位置とを設定する第２の設定工程と、を備えたことを特徴とする（請求項７）。
【発明の効果】
【００２８】
本発明によれば、作業ツールを第１の移動軌跡と第２の移動軌跡を移動させて第１の位置から第３の位置に移動させる場合、第１の移動軌跡と第２の移動軌跡が連結される第２の位置に当該第２の位置を含む内回り範囲を予め設定しておき、作業ツールを内回り範囲と第１の移動軌跡が交差する第１の交点から第２の位置まで移動させるのに要する第１の移動時間と、作業ツールを第２の位置から内回り範囲と第２の移動軌跡が交差する第２の交点まで移動させるのに要する第２の移動時間を求め、その第１，第２の移動時間に基づいて作業ツールが内回り軌跡を移動するときの内回り時間を設定した後、その内回り時間に基づいて、第１の移動軌跡上の内回り開始位置と第２の移動軌跡上の内回り終了う位置を設定するので、障害物との干渉を確実に防止し、かつ、タクトタイムを可及的に短縮することができる最適の内回り軌跡で作業ツールを内回り移動させることができる。
【図面の簡単な説明】
【００２９】
【図１】基板搬送ロボットの一例を示す図である。
【図２】基板をカセットに収納したり、カセットから取り出したりするために、基板搬送ロボットに教示されるハンドの移動軌跡の一例を示す図である。
【図３】カセットの開口面の示す図である。
【図４】カセットの内部でハンドを移動させる場合のボトム位置の部分に内回り軌跡を設定する方法を説明するための図である。
【図５】互いに連結された２つの移動軌跡Ｌa，Ｌbにそれぞれ設定されている速度制御特性Ｋa，Ｋbと内回り範囲ＡＲ1を用いて設定された内回り開始距離及び内回り終了距離とを用いて内回り軌道を設定する方法を説明するための図である。
【図６】内回り範囲を用いて設定される内回り軌道の一例を示す図である。
【図７】垂直平面上のカセットの外部にある任意の位置からハンドを取出スタート位置に移動させた後、移動軌跡に沿ってカセット内に進入させる場合の内回り範囲の設定例を示す図である。
【図８】互いに連結された２つの移動軌跡Ｌd，Ｌaにそれぞれ設定されている速度制御特性ｋd，Ｋaと内回り範囲ＡＲ2を用いて設定された内回り開始距離及び内回り終了距離とを用いて内回り軌道を設定する方法を説明するための図である。
【図９】水平平面内でハンドを移動軌跡に沿ってカセットの内外で内回り移動させるために設定される内回り範囲の一例を示す図である。
【図１０】基板搬送ロボットの移動制御装置のハンドの移動制御に関するブロック構成図である。
【図１１】三次元形状の内回り範囲を設定する場合の一例を示す図である。
【図１２】移動制御装置が行うハンドの内回り移動の制御手順を示すフローチャートである。
【図１３】第１の移動軌跡に設定される第１の速度制御特性と第２の移動軌跡に設定される第２の速度制御特性の一例を示す図である。
【図１４】作業ツールを内回りの移動軌跡で移動させるときの第１の速度制御特性と第２の速度制御特性の組み合わせ方の一例を示す図である。
【図１５】作業ツールを内回りの移動軌跡で移動させるときの第１の速度制御特性と第２の速度制御特性の組み合わせ方の他の例を示す図である。
【図１６】基板をカセットに収納する又はカセットから取り出すためのハンドの移動軌跡の一例を示す図である。
【図１７】ハンドの内回り軌跡が不適切となる第１の例を示す図である。
【図１８】ハンドの内回り軌跡が不適切となる第２の例を示す図である。
【図１９】ハンドの内回り軌跡が不適切となる第３の例を示す図である。
【発明を実施するための形態】
【００３０】
本発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。以下の説明では、半導体基板や液晶基板などの製造プロセスで基板の搬送に用いられる産業用ロボットについて説明する。
【００３１】
半導体基板や液晶基板などの製造プロセスでは、複数枚の基板をカセットと呼ばれる基板搬送容器に多段収納し、その基板搬送容器をプロセス装置や検査装置に搬送して基板搬送容器内の基板のプロセス処理や検査処理が行われる。そして、プロセス装置や検査装置では、搬送されたカセットに基板を収納したり、カセットから基板を取り出したりする産業用ロボットとして、基板搬送ロボットが用いられている。
【００３２】
本発明は、産業用ロボットの作業ツールの移動制御、特に内回り移動の制御に関するものである。以下の説明では、基板搬送ロボットの作業ツールであるハンド（基板を保持する部材）によって半導体基板や液晶基板などの基板をカセットに収納したり、カセットから取り出したりするときのハンドの移動における内回り移動の制御について説明する。
【００３３】
図１は、基板搬送ロボットの一例を示す斜視図である。
【００３４】
基板搬送ロボット１００は、カセット２００から当該カセット２００内に多段収納された基板Ｗを取り出し、例えば、カセット２００と反対側に配設される図略のプロセス装置や検査装置などの処理装置に搬送したり、逆にその処理装置から処理の終了した基板Ｗを排出し、カセット２００に戻したりする作業を行う。
【００３５】
基板搬送ロボット１００をカセット２００と正対した状態で、基板搬送ロボット１００からカセット２００に向かう方向をＸ方向、水平面内でＸ方向と直交する方向をＹ方向、垂直方向をＺ方向とするローカル座標系を設定すると、基板搬送ロボット１００は、基板Ｗを保持するハンド１０１をＸＹＺの各方向にそれぞれ独立して移動させるためのＸ方向駆動機構１０２、Ｙ方向駆動機構１０３、Ｚ方向駆動機構１０４を備えている。
【００３６】
Ｙ方向駆動機構１０３は、基板搬送ロボット１００全体を搭載するするとともに、底面に敷設されたガイドレール１０５に沿って移動可能に構成されたベース盤１０３ａと、モータなどのベース盤１０３ａの駆動源が収納されたＹ方向駆動部１０３ｂと、を備えている。
【００３７】
Ｚ方向駆動機構１０４は、ベース盤１０３ａ上の適所に固定されている。Ｚ方向駆動機構１０４は、角柱状の支持体１０４ａと、この支持体１０４ａ内に昇降可能に支持されたＺ軸１０４ｂと、モータや油圧シリンダなどで構成されるＺ軸１０４ｂを昇降動作させるためのＺ方向駆動部と、を備えている。なお、Ｚ方向駆動部は支持体１０４ａ内の底部に設けられているため、図では見えていない。
【００３８】
Ｘ方向駆動機構１０２は、Ｚ軸１０４ｂの上面に設けられている。Ｘ方向駆動機構１０２は、一対のアーム１０２ａ，１０２ｂが回転可能に連結されたリンクで構成され、アーム１０２ｂの先端にハンド１０１が取り付けられている。ハンド１０１は、横長長方形の支持部１０１ａの前側の側部に一対の細長い保持部１０１ｂ，１０１ｃを延設したＵ字状の板部材である。ハンド１０１の上面が基板Ｗを載置する基板載置面となっている。基板搬送ロボット１００は、ハンド１０１を水平に保持した状態で基板載置面に基板Ｗを載置し、この状態でハンド１０１を昇降、ＸＹ面内での回転や移動などを行うことにより、カセット２００内のスロット２０１に載置したり（カセット２００への基板Ｗの収納）、スロット２０１に載置された基板Ｗをハンド１０１で受け取ってカセット２００外に取り出したりする（基板Ｗのカセット２００からの取出し）。
【００３９】
カセット２００は、直方体形状の箱体を成し、少なくとも基板搬送ロボット１００に対向する側面は基板Ｗを出し入れするための面として開口している。カセット２００内の両側面には基板Ｗを多段収納するためのスロット２０１が複数個、内側に突設されている。カセット２００内の両側面には、各段に対応する高さ位置にスロット２０１が取り付けられており、基板Ｗの幅方向の両端部を同じ高さ位置の一対のスロット２０１の上面に載せることにより、基板Ｗはその高さ位置の段に収納される。カセット２００内の向かい合う一対のスロット２０１で挟まれた隙間の間隔は、ハンド１０１がカセット２００内でスロット２０１に干渉することなく上下動できるようにするために、ハンド１０１の基板載置面の横方向の長さ（ハンド１０１の幅）よりも長く設定されている。
【００４０】
次に、ハンド１０１を用いて、基板Ｗをカセット２００に収納したり、カセット２００に収納されている基板Ｗをカセット２００から取り出したりするためのハンド１０１の移動制御の方法について説明する。
【００４１】
図２は、基板Ｗをカセット２００に収納したり、カセット２００から取り出したりするために、基板搬送ロボット１００に教示されるハンド１０１の移動軌跡の一例を示す図である。（ａ）は斜視図、（ｂ）は横から見た図である。なお、説明を簡単にするために、カセット２００は、高さ方向の中央に一対のスロット２０１が設けられた、基板Ｗを一段だけ収納するタイプにしている。
【００４２】
移動軌跡Ｌは、互いに連結された３本の直線的な移動軌跡Ｌa，Ｌb，Ｌcで構成される。移動軌跡Ｌaは、ハンド１０１を取出スタート位置ＲＢとボトム位置ＥＢとの間を水平に直線移動（水平移動）させる軌跡である。取出スタート位置ＲＢは、ハンド１０１にカセット２００に対して基板Ｗの取出動作を行わせるときに、カセット２００の開口面に対峙させるハンド１０１の位置である。
【００４３】
カセット２００内の空間は、両側面の高さ方向のほぼ中央に突出して設けられた一対のスロット２０１により、上側の空間ＳA（以下、「上空間ＳA」という。）と下側の空間ＳB（以下、「下空間ＳB」という。）に分けられる。従って、カセット２００の開口面も２つの空間ＳA，ＳBに対応して開口面２００Ａと開口面２００Ｂに分けられる。開口面２００Ａ，２００Ｂは、図３に示されるように、高さ寸法が幅寸法に対して半分以下の横長長方形の形状を有している。取出スタート位置ＲＢは、下側の開口面２００Ｂのほぼ中心の位置ＯBから手前側に水平距離で所定の距離Ｄx1だけ離れた位置である。
【００４４】
ボトム位置ＥＢは、取出スタート位置ＲＢからカセット２００の下空間ＳB内に水平に延ばした直線上の下空間ＳBのほぼ中央に相当する位置である。下空間ＳBの奥行方向の寸法をＤx2とすると、位置ＯBとボトム位置ＥＢとの距離は約Ｄx2／２である。取出スタート位置ＲＢとボトム位置ＥＢは、教示点の一つとして基板搬送ロボット１００に教示される。
【００４５】
移動軌跡Ｌcは、ハンド１０１を収納スタート位置ＲＴとトップ位置ＥＴとの間を水平に直線移動（水平移動）させる軌跡である。収納スタート位置ＲＴは、ハンド１０１にカセット２００に対して基板Ｗの収納動作を行わせるときに、カセットの開口面に対峙させるハンド１０１の位置である。収納スタート位置ＲＴは、上側の開口面２００Ａのほぼ中心の位置ＯAから手前側に水平距離で所定の距離Ｄx1だけ離れた位置である。位置ＯAは、位置ＯBを通る鉛直線上にあるから、収納スタート位置ＲＴも取出スタート位置ＲＢを通る鉛直線上にある。カセットの開口面の高さ方向の寸法をＤz1とすると、位置ＯAと位置ＯBの距離と、収納スタート位置ＲＴと取出スタート位置ＲＢの距離は、約Ｄz1／２である。
【００４６】
移動軌跡Ｌbは、ハンド１０１をトップ位置ＥＴとボトム位置ＥＢとの間を垂直に直線移動（垂直移動）させる軌跡である。トップ位置ＥＴは、収納スタート位置ＲＴからカセット２００の上空間ＳA内に水平に延ばした直線上の上空間ＳAのほぼ中心に相当する位置である。トップ位置ＥＴは、ボトム位置ＥＢを通る鉛直線上にある。従って、位置ＯAとトップ位置ＥＴとの距離は、位置ＯBとボトム位置ＥＢとの距離（約Ｄx2／２）と同一である。収納スタート位置ＲＴとトップ位置ＥＴも教示点の一つとして基板搬送ロボット１００に教示される。
【００４７】
収納スタート位置ＲＴ、トップ位置ＥＴ、ボトム位置ＥＢ及び取出スタート位置ＲＢを含む平面（垂直平面）は、カセット２００内の空間を左右に二分する垂直平面を構成する。従って、移動軌跡Ｌa、移動軌跡Ｌb及び移動軌跡Ｌcを連結した移動軌跡Ｌは、その垂直平面上でコの字形を形成する移動軌跡となっている。
【００４８】
基板搬送ロボット１００は、基板Ｗをカセット２００に収納するときは、基板Ｗを載せたハンド１０１を、カセット２００の外側の空間の任意の位置ＲＡ（但し、収納スタート位置ＲＴを含まない）から一旦、収納スタート位置ＲＴに移動させ、収納スタート位置ＲＴからトップ位置ＥＴとボトム位置ＥＢを経由して取出スタート位置ＲＢに至る経路（移動軌跡Ｌc、移動軌跡Ｌb、移動軌跡Ｌaの順番で移動させる経路）で移動させる。基板搬送ロボット１００は、基板Ｗをカセット２００から取り出すときは、空のハンド１０１を、位置ＲＡから一旦、取出スタート位置ＲＢに移動させ、取出スタート位置ＲＢからボトム位置ＥＢとトップ位置ＥＴを経由して収納スタート位置ＲＴに至る経路（移動軌跡Ｌa、移動軌跡Ｌb、移動軌跡Ｌcの順番で移動させる経路）で移動させる。
【００４９】
ハンド１０１を教示された移動軌跡Ｌa，Ｌb，Ｌcに沿って移動させると、ハンド１０１は、図２（ｂ)に示されるように、コの字形を描くように移動する。本実施形態では、移動軌跡Ｌの屈曲する部分をハンド１０１が最適な内回り軌跡で移動するように制御する。最適な内回り軌跡とは、ハンド１０１がカセット２００に衝突することを確実に防止し、かつ、タクトタイムを可及的に短縮することができる軌跡である。
【００５０】
次に、ハンド１０１を内回り軌跡で移動させる制御方法について説明する。
【００５１】
まず、カセット２００から基板Ｗを取り出す場合に、カセット２００内でハンド１０１を移動軌跡Ｌaから移動軌跡Ｌbに移動させる際の内回り軌跡を例に、図４を用いて説明する。
【００５２】
カセット２００から基板Ｗを取り出す場合、基板搬送ロボット１００は、ハンド１０１を移動軌跡Ｌaに沿って移動させるための教示情報Ｊａと、ハンド１０１を移動軌跡Ｌbに沿って移動させるための教示情報Ｊｂとを用いて、ハンド１０１を取出スタート位置ＲＢからボトム位置ＥＢを経由してトップ位置ＥＴまで移動させる。教示情報Ｊａは、取出スタート位置ＲＢ及びボトム位置ＥＢの位置情報と、ハンド１０１が取出スタート位置ＲＢとボトム位置ＥＢとの間で水平移動するときのハンド１０１の速度を制御するための速度制御情報とを含み、教示情報Ｊｂは、ボトム位置ＥＢ及びトップ位置ＥＴの位置情報と、ハンド１０１がボトム位置ＥＢとトップ位置ＥＴとの間で垂直移動するときのハンド１０１の速度を制御するための速度制御情報とを含む。取出スタート位置ＲＢなどの位置情報は、例えば、ハンド１０１の移動位置の情報として教示された情報である。
【００５３】
移動軌跡Ｌaと移動軌跡Ｌbを連結したＬ字形の移動軌跡の屈曲した部分でハンド１０１を内回り移動させる場合、ハンド１０１がカセット２００に衝突することを確実に防止するためには、移動軌跡Ｌaのカセット２００内の部分に内回り移動を開始させる内回り開始位置Ｐsを設定し、移動軌跡Ｌbの下空間ＳB内の部分に内回り移動を終了させる内回り終了位置Ｐeを設定する必要がある。移動軌跡Ｌbの下空間ＳB内の部分の距離（約Ｄz1／４）は、移動軌跡Ｌaのカセット２００内の部分の距離（約Ｄx2／２）に対して非常に短いので、教示情報Ｊａに含まれる速度制御情報の減速特性と教示情報Ｊｂに含まれる速度制御情報の加速特性とに基づいて内回り開始位置Ｐs及び内回り終了位置Ｐeを設定する従来の方法では、適切な位置に内回り開始位置Ｐsと内回り終了位置Ｐeを設定することは困難である。
【００５４】
本実施形態では、図４の点線で示されるように、下空間ＳBにボトム位置ＥＢを含む内回り軌跡Ｌscが設定可能な範囲ＡＲ1（以下、「内回り範囲ＡＲ1」という。）を設定し、その内回り範囲ＡＲ1と移動軌跡Ｌa及び移動軌跡Ｌbの速度制御情報を用いて、内回り開始位置Ｐs及び内回り終了位置Ｐeを設定するようにしている。
【００５５】
移動軌跡Ｌa及び移動軌跡Ｌbは垂直平面上にあるので、内回り範囲ＡＲ1は、その垂直平面が下空間ＳBを縦に切断する縦断面内に設定される。内回り範囲ＡＲ1の位置は、当該内回り範囲ＡＲ1のほぼ中央にボトム位置ＥＢが配置される位置である。内回り範囲ＡＲ1の形状は、図４に示されるように、下空間ＳBの奥行方向に横長の長方形である。内回り軌跡Ｌscは内回り範囲ＡＲ1内に設定されるから、内回り開始位置Ｐsは、移動軌跡Ｌaが内回り範囲ＡＲ1の開口面２００Ｂ側の縦辺と交差する交点Ｐaとボトム位置ＥＢとの間に設定され、内回り終了位置Ｐeは、移動軌跡Ｌbが内回り範囲ＡＲ1の上側の横辺と交差する交点Ｐbとボトム位置ＥＢとの間に設定される。
【００５６】
横長長方形の内回り範囲ＡＲ1のサイズをＤdx（Ｘ方向の長さ）×Ｄdz（Ｚ方向の長さ）とすると、Ｘ方向の長さＤdxは、下空間ＳBのＸ方向の長さＤx2まで設定可能であるが、Ｚ方向の長さＤdzは、ハンド１０１の基板Ｗとの接触を考慮して下空間ＳBのＺ方向の長さＤz1／２の約１／２程度に設定される。内回り開始位置Ｐsとボトム位置ＥＢとの間の距離（内回り開始距離Ｄs）の最大値は、Ｄdx／２となり、ボトム位置ＥＢと内回り終了位置Ｐeとの間の距離（内回り終了距離Ｄe）の最大値は、Ｄdz／２となる。
【００５７】
基板搬送ロボット１００には、取出スタート位置ＲＢとボトム位置ＥＢとの間を移動軌跡Ｌaに沿ってハンド１０１を移動させるための速度制御特性Ｋaと、ボトム位置ＥＢとトップ位置ＥＴとの間を移動軌跡Ｌｂに沿ってハンド１０１を移動させるための速度制御特性Ｋbとが、図５に示すように設定されている。
【００５８】
ハンド１０１が移動軌跡Ｌaの移動を開始してから速度制御特性Ｋaの減速期間Ｔdecの時刻ｔsに交点Ｐaを通過するとし、その時刻ｔsから移動を停止する時刻ｔa3までの移動時間を「Ｔa」とすると、移動時間Ｔaにハンド１０１が移動する距離は、Ｄdx／２であるから、移動時間Ｔaは、Ｄdx／２＝（Ｖs×Ｔa）／２（Ｖs：時刻ｔsの速度）より、
Ｔa＝Ｄdx／Ｖs  …（１）
で表される。
【００５９】
ハンド１０１が移動軌跡Ｌbの移動を開始してから速度制御特性Ｋbの加速期間Ｔaccの時刻ｔeに交点Ｐeを通過するとし、移動を開始する時刻ｔb0から時刻ｔeまでの移動時間を「Ｔb」とすると、移動時間Ｔbにハンド１０１が移動する距離は、Ｄdz／２であるから、移動時間Ｔaは、Ｄdz／２＝（Ｖe×Ｔb）／２（Ｖe：時刻ｔeの速度）より、
Ｔb＝Ｄdz／Ｖe  …（２）
で表される。
【００６０】
ハンド１０１が内回り軌跡Ｌscを移動する内回り時間を「Ｔsc」とすると、Ｔa＝Ｔbであれば、移動時間Ｔa又は移動時間Ｔbを内回り時間Ｔscに設定すれば、そのときの内回り開始位置Ｐsと内回り終了位置Ｐeは、それぞれ交点Ｐaと交点Ｐbとなるから、内回り軌跡Ｌscを内回り範囲ＡＲ1内に設定することができる。
【００６１】
一方、Ｔa＜Ｔbであれば、移動時間Ｔbを内回り時間Ｔscに設定すると、内回り終了位置Ｐeは、交点Ｐbとなるが、速度制御特性Ｋaにおける内回り開始時刻ｔsが内回り開始位置Ｐsを交点Ｐaとした場合よりも早くなり、内回り開始位置Ｐsは交点Ｐaよりも外側に設定されることになる。逆に、移動時間Ｔaを内回り時間Ｔscに設定すると、図６（ａ）に示されるように、内回り開始位置Ｐsは交点Ｐaとなり、内回り終了位置Ｐeは、速度制御特性Ｋbにおける内回り終了時刻ｔeが内回り終了位置Ｐeを交点Ｐbとした場合よりも早くなるので、交点Ｐbよりもボトム位置ＥＢ側にずれた位置に設定されることになる。
【００６２】
同様に、Ｔb＜Ｔaであれば、移動時間Ｔaを内回り時間Ｔscに設定すると、内回り開始位置Ｐsは、交点Ｐaとなるが、速度制御特性Ｋbにおける内回り終了時刻ｔeが内回り終了位置Ｐeを交点Ｐbとした場合よりも遅くなり、内回り終了位置Ｐeは交点Ｐbよりも外側に設定されることになる。逆に、移動時間Ｔbを内回り時間Ｔscに設定すると、図６（ｂ）に示されるように、内回り終了位置Ｐeは交点Ｐbとなり、内回り開始位置Ｐsは、速度制御特性Ｋaにおける内回り開始時刻ｔsが内回り開始位置Ｐsを交点Ｐaとした場合よりも遅くなるので、交点Ｐaよりもボトム位置ＥＢ側にずれた位置に設定されることになる。従って、Ｔa＜Ｔbの場合は、移動時間Ｔaを内回り時間Ｔscに設定し、Ｔb＜Ｔaの場合は、移動時間Ｔbを内回り時間Ｔscに設定することにより、内回り軌跡Ｌscを内回り範囲ＡＲ1内に設定することができる。
【００６３】
本実施形態では、カセット２００の内部でハンド１０１を内回り移動させる場合は、内回り範囲ＡＲ1と移動軌跡Ｌa及び移動軌跡Ｌbとを用いて内回り開始距離Ｄsと内回り終了距離Ｄeを算出し、更に算出した内回り開始距離Ｄs及び内回り終了距離Ｄeと速度制御特性Ｋaと速度制御特性Ｋbとを用いて、移動時間Ｔaと移動時間Ｔbを算出し、Ｔa≦Ｔbの場合は、移動時間Ｔaを内回り時間Ｔscに設定し、Ｔb≦Ｔaの場合は、移動時間Ｔbを内回り時間Ｔscに設定することによって、ハンド１０１が内回り範囲ＡＲ1内を通る内回り軌跡Ｌscを移動するように制御している。
【００６４】
図４の例は、カセット２００から基板Ｗを取り出す場合の例であったが、カセット２００に基板Ｗを収納する場合も同様の方法で、ハンド１０１が内回り範囲ＡＲ1’内を通る内回り軌跡Ｌscを移動するように制御される。この場合の内回り範囲ＡＲ1’は、上空間ＳAに設けられるが、上空間ＳAと下空間ＳBはほぼ同一形状であり、移動軌跡Ｌcと移動軌跡Ｌaはスロット２０１に対して上下に対称な位置に設定されているから、内回り範囲ＡＲ1’は、上空間ＳA内のスロット２０１に対して上下に対称な位置に設けられ、その形状は内回り範囲ＡＲ1と同一である。
【００６５】
従って、カセット２００に基板Ｗを収納する場合は、内回り範囲ＡＲ1’と移動軌跡Ｌc及び移動軌跡Ｌbを用いて内回り開始距離Ｄsと内回り終了距離Ｄeを算出し、更に算出した内回り開始距離Ｄs及び内回り終了距離Ｄeと速度制御特性Ｋcと速度制御特性Ｋbとを用いて、移動時間Ｔcと移動時間Ｔbを算出し、Ｔc≦Ｔbの場合は、Ｔsc＝Ｔcに設定し、Ｔc≧Ｔbの場合は、Ｔsc＝Ｔbに設定することによって、ハンド１０１が内回り範囲ＡＲ1’内を通る内回り軌跡Ｌscを移動するように制御される。
【００６６】
なお、速度制御特性Ｋcは、収納スタート位置ＲＴとトップ位置ＥＴとの間を移動軌跡Ｌcに沿ってハンド１０１を移動させるための速度制御特性であり、移動時間Ｔcは、速度制御特性Ｋcの減速期間Ｔdecの時刻ｔsから時刻ｔa3（移動停止時刻）まで、内回り範囲ＡＲ1’と移動軌跡Ｌcとの交点Ｐcからトップ位置ＥＴまでの距離（Ｄdx／２）を移動するとした場合の移動時間である。移動軌跡Ｌaと移動軌跡Ｌcは、互いに平行な同一距離の移動軌跡であるから、速度制御特性Ｋcの波形は、速度制御特性Ｋaの波形と同一である。
【００６７】
従って、カセット２００に基板Ｗを収納する場合のトップ位置ＥＴの部分に設定される内回り軌跡Ｌscは、カセット２００から基板Ｗを取り出す場合のボトム位置ＥＢの部分に設定される内回り軌跡Ｌsc（図４の内回り軌跡Ｌsc参照）をスロット２０１に対して上下に反転させた軌跡と同一の形になっている。
【００６８】
図４は、カセット２００の内部でハンド１０１を内回り移動させる場合の例であるが、カセット２００の外部で、ハンド１０１を任意の位置ＲＡから取出スタート位置ＲＢに移動させた後、移動軌跡Ｌaに沿ってカセット２００内に進入させる場合やハンド１０１を任意の位置ＲＡから収納スタート位置ＲＴに移動させた後、移動軌跡Ｌcに沿ってカセット２００内に進入させる場合も同様の考え方で内回り移動の制御をすることができる。
【００６９】
図７は、垂直平面上のカセット２００の外部にある任意の位置ＲＡからハンド１０１を取出スタート位置ＲＢに移動させた後、移動軌跡Ｌaに沿ってカセット２００内に進入させる場合の内回り範囲の設定例を示す図である。
【００７０】
位置ＲＡは、取出スタート位置ＲＢを通る鉛直線に対して角度φだけ左側に傾いた直線上に位置している。位置ＲＡは、基板搬送ロボット１００に教示されており、位置ＲＡと取出スタート位置ＲＢの位置情報と、ハンド１０１を位置ＲＡと取出スタート位置ＲＢとを結ぶ移動軌跡Ｌdに沿って移動させるときのハンド１０１の速度を制御するための速度制御特性Ｋdも基板搬送ロボット１００に設定されている。
【００７１】
図７の例では、点線で示されるように、カセット２００の外部に取出スタート位置ＲＢを含む内回り軌跡Ｌscが設定可能な内回り範囲ＡＲ2が設定される。カセット２００の外部に内回り範囲ＡＲ2を設定する場合は、カセット２００の内部に内回り範囲ＡＲ1を設定する場合のように、ハンド１０１が基板Ｗに接触することを考慮する必要がないので、Ｚ方向の長さは、下側の開口面２００Ｂの高さ寸法Ｄz1／２まで設定することができる。従って、図７の例では、内回り範囲ＡＲ2は、Ｘ方向における位置ＲＡと取出スタート位置ＲＢとの間の距離をＤx3とすると、（Ｄx1＋Ｄx3）（Ｘ方向の長さ）×Ｄz1／２（Ｚ方向の長さ）のサイズを有する横長長方形の範囲である。内回り範囲ＡＲ2のカセット２００側の縦辺の位置は、カセット２００の開口面２００Ｂに一致させている。
【００７２】
なお、図７の例では、内回り範囲ＡＲ2のＸ方向の長さを（Ｄx1＋Ｄx3）にしているが、移動軌跡Ｌdが内回り範囲ＡＲ2の下側の横辺と交差するサイズであれば、内回り範囲ＡＲ2のＸ方向の長さを（Ｄx1＋Ｄx3）よりも短くしてもよい。また、図７の例では、内回り範囲ＡＲ2のカセット２００側の縦辺の位置をカセット２００の開口面２００Ｂに一致させているが、縦辺の位置をカセット２００の開口面２００Ｂから適当な距離だけ離すようにしてもよい。
【００７３】
内回り軌跡Ｌscは内回り範囲ＡＲ2内に設定されるから、内回り開始位置Ｐsは、移動軌跡Ｌdが内回り範囲ＡＲ2の下側の横辺と交差する交点Ｐdと取出スタート位置ＲＢとの間に設定され、内回り終了位置Ｐeは、移動軌跡Ｌaが内回り範囲ＡＲ2のカセット２００側の縦辺と交差する交点ＯBと取出スタート位置ＲＢとの間に設定される。
【００７４】
図７の例では、内回り範囲ＡＲ2と移動軌跡Ｌd及び移動軌跡Ｌaを用いて内回り開始距離Ｄsと内回り終了距離Ｄeが算出され、更に算出した内回り開始距離Ｄs及び内回り終了距離Ｄeと速度制御特性Ｋdと速度制御特性Ｋaとを用いて、移動時間Ｔdと移動時間Ｔaが算出される。
【００７５】
速度制御特性Ｋdにおける内回り開始位置Ｐsに対応する時刻Ｔsと速度制御特性Ｋaにおける内回り終了位置Ｐeに対応する時刻Ｔeが図８に示す関係となる場合、交点Ｐdと取出スタート位置ＲＢとの間の距離を「ＤL」とし、速度制御特性Ｋdの時刻ｔsから時刻ｔf3（移動停止時刻）までのハンド１０１の移動時間を「ＴL」とすると、移動時間ＴLは、ＴL＝２・ＤL／Ｖs（Ｖs：時刻ｔsの速度）で算出される。また、交点Ｐeと取出スタート位置ＲＢとの間の距離は「Ｄx1」であるから、速度制御特性Ｋaの時刻ｔa0（移動開始時刻）から時刻ｔeまでのハンド１０１の移動時間を「Ｔa」とすると、移動時間Ｔaは、Ｔa＝Ｄx1／Ｖa＋ｔa1／２で算出される。
【００７６】
そして、Ｔa≦Ｔdの場合は、移動時間Ｔaを内回り時間Ｔscに設定し、Ｔd≦Ｔaの場合は、移動時間Ｔdを内回り時間Ｔscに設定することによって、ハンド１０１は内回り範囲ＡＲ2内を通る内回り軌跡Ｌscを移動するように制御される。
【００７７】
図４、図７の例は、垂直平面内でハンド１０１を移動軌跡に沿ってカセット２００の内外で内回り移動させる場合の例であるが、水平平面内でハンド１０１を移動軌跡に沿ってカセット２００の内外で内回り移動させる場合も同様の方法で、ハンド１０１が内回り範囲ＡＲ2’内を通る内回り軌跡Ｌscを移動するように制御することができる。
【００７８】
図９は、水平平面内でハンド１０１を移動軌跡に沿ってカセット２００の内外で内回り移動させるために設定される内回り範囲ＡＲ2’の一例を示す図である。図９は、基板搬送ロボット１００とカセット２００を上から見た図である。
【００７９】
カセット２００の外側に設定される内回り範囲ＡＲ2’は、基板搬送ロボット１００が収納スタート位置ＲＴ（又は取出スタート位置ＲＢ）を含む水平平面内の任意の位置ＲＡから移動軌跡Ｌdに沿ってハンド１０１を当該収納スタート位置ＲＴに水平に移動させた後、移動軌跡Ｌaに沿ってトップ位置ＥＴ（又はボトム位置ＥＢ）に移動させる場合、収納スタート位置ＲＴ又は取出スタート位置ＲＢの屈曲部分に内回り軌跡Ｌscを設定するための内回り範囲である。
【００８０】
ハンド１０１の支点から先端までの距離を「Ｄhx」とすると、ハンド１０１の支点を収納スタート位置ＲＴ又は取出スタート位置ＲＢに移動させたときにハンド１０１の先端がカセット２００に接触しなければよいので、収納スタート位置ＲＴ又は取出スタート位置ＲＢから内回り範囲ＡＲ2’のカセット２００側に面した辺までの距離Ｄdx1は、Ｄhxに設定される。
【００８１】
収納スタート位置ＲＴ又は取出スタート位置ＲＢから内回り範囲ＡＲ2’の他の辺までの距離Ｄdx2、Ｄdy1、Ｄdy2は、ハンド１０１の動きに対して特に制約がないので、設定可能な最大値が設定される。図９では、Ｄdy2は、内回り範囲ＡＲ2’の基板搬送ロボット１００側に面した辺が当該基板搬送ロボット１００に干渉しない位置までの距離に設定され、Ｄdy1は、Ｄdy2と同一の寸法に設定されている。また、Ｄdx2は、内回り範囲ＡＲ2’のカセット２００とは反対側に面した辺がＸ方向における基板搬送ロボット１００の位置とほぼ同じ位置となる距離に設定されている。
【００８２】
基板搬送ロボット１００には、内回り範囲ＡＲ2’よりも外側に教示される位置ＲＡから収納スタート位置ＲＴ又は取出スタート位置ＲＢにハンド１０１を水平移動させる移動軌跡Ｌdが設定されるので、その移動軌跡Ｌdが内回り範囲ＡＲ2’のハンド１０１側に面した辺と必ず交差し、その交点を内回り開始位置Ｄsに設定することができる。
【００８３】
カセット２００の内部に設定される内回り範囲ＡＲ2’は、基板搬送ロボット１００がトップ位置ＥＴ（又はボトム位置ＥＢ）を含む水平平面内でハンド１０１を水平移動させる場合に内回り軌跡Ｌscを設定するための内回り範囲である。この場合は、カセット２００内でハンド１０１が当該カセット２００に干渉することなく水平移動が可能な範囲に内回り範囲ＡＲ2’を設定することができる。図９では、カセット２００内のスロット２０１との接触を考慮して、内回り範囲ＡＲ2’は、一対のスロット２０１に挟まれた空間とほぼ同じサイズに設定されている。
【００８４】
図１０は、基板搬送ロボット１００の構成を示すブロック構成図である。図１と同一の部材には同一の符号を付している。
【００８５】
基板搬送ロボット１００は、ハンド１０１の移動を制御する移動制御装置１０６と、サーボコントローラ１０７と、マニピュレータ１０８とを備える。マニピュレータ１０８は、図１に示したハンド１０１、Ｘ方向駆動機構１０２、Ｙ方向駆動機構１０３及びＺ方向駆動機構１０４からなる多関節機構に相当するものである。サーボコントローラ１０７は、Ｙ方向駆動部１０３ｂ及びＺ方向駆動部の各駆動部に設けられたサーボモータの駆動を制御するコントローラである。
【００８６】
移動制御装置１０６は、ティーチング・プレイバック方式により、予め教示された教示情報に基づいてサーボコントローラ１０７の駆動を制御し、マニピュレータ１０８のハンド１０１を教示された移動軌跡Ｌに沿って移動させる制御を行う。この移動制御には、上述した内回り軌跡Ｌscに沿ってハンド１０１を移動させる制御も含まれる。
【００８７】
移動制御装置１０６は、マイクロコンピュータを主要な構成要素としている。移動制御装置１０６は、相互に接続されたＣＰＵ、ＲＯＭ、ＲＡＭ及び入出力インターフェイスなどを備えている。移動制御装置１０６は、ＲＯＭに予め記憶された制御プログラムを実行することにより、本発明に係るハンド１０１の内回り移動の制御を行う。
【００８８】
移動制御装置１０６は、ハンド１０１の内回り移動の制御行うための機能ブロックとして、教示情報記憶部１０６ａと、内回り範囲情報記憶部１０６ｂと、内回り開始／終了位置演算部１０６ｃと、軌道制御部１０６ｄとを備える。教示情報記憶部１０６ａは、上述した教示情報Ｊａ，Ｊｂ等の教示情報を記憶する。内回り範囲情報記憶部１０６ｂは、上述した内回り範囲ＡＲ1，ＡＲ1’，ＡＲ2，ＡＲ2’等の予め設定された内回り範囲ＡＲの情報を記憶する。教示情報記憶部１０６ａ及び内回り範囲情報記憶部１０６ｂは、ＲＡＭの所定の記憶領域に設定されている。
【００８９】
教示情報には、取出スタート位置ＲＢ等の位置情報としてハンド１０１の移動位置を教示した情報が含まれるが、ハンド１０１の移動位置に代えて各教示位置におけるマニピュレータの各軸の情報であってもよい。また、教示情報には、図４の例のボトム位置ＥＢや図８の例の取出スタート位置ＲＢなどの内回り移動をさせる教示位置に対して内回り移動をさせることを示すフラグ等の情報が含まれている。
【００９０】
教示点の情報は、予め基板搬送ロボット１００のハンド１０１を実際に移動させて取得され、移動軌跡Ｌa，Ｌb等の移動軌跡の情報や各移動軌跡を移動させるときのハンド１０１の速度を制御する速度制御特性や内回り移動をさせるか否かのフラグの情報は、教示点の情報用いて作業者により設定される。また、内回り移動をさせる教示点には、教示点毎に、図４や図７に示したように、各教示点を含む内回り範囲ＡＲが作業者により設定される。
【００９１】
上述した説明では、内回り範囲ＡＲを、互いに連結された２つの移動軌跡（例えば、図７に示した移動軌跡Ｌdと移動軌跡Ｌaを連結した移動軌跡等）を含む平面内に設定される２次元の範囲としたが、例えば、図７の例では、異なる位置に設定された複数の位置ＲＡから取出スタート位置ＲＢを経由してボトム位置ＥＢにハンド１０１を移動させる複数の移動軌跡Ｌや収納スタート位置ＲＴを経由して収納スタート位置ＲＴにハンド１０１を移動させる複数の移動軌跡Ｌが設定されるので、このような場合は、図１１に示すように、カセット２００の開口面２００Ｂの手前に直方体形状の内回り範囲ＡＲ3を設定するようにしてもよい。この場合の内回り範囲ＡＲ3は、例えば、平面視のサイズが図９に示したＤx×Ｄyで、高さが図７に示したＤz1／２の直方体で、カセット２００の開口面２００Ｂの前に設定される。そして、移動軌跡Ｌdと移動軌跡Ｌaを含む平面が直方体形状の内回り範囲ＡＲ3を切断したときの断面の形状が二次元の内回り範囲ＡＲ2となり、その内回り範囲ＡＲ2内に内回り軌跡Ｌscが設定されることになる。
【００９２】
内回り開始/終了位置演算部１０６ｃは、内回り範囲ＡＲの情報とその内回り範囲ＡＲ内を通過する移動軌跡Ｌの情報とを用いて、内回り軌跡Ｌscの内回り開始位置Ｐsと内回り終了位置Ｐeを演算する。内回り範囲ＡＲ内を通過する移動軌跡Ｌとは、上述した図４の取出スタート位置ＲＢ（教示位置）から内回り範囲ＡＲ1内のボトム位置ＥＢ（教示位置）に至る移動軌跡Ｌaや図７の位置ＲＡ（教示位置）から内回り範囲ＡＲ2内の取出スタート位置ＲＢ（教示位置）に至る移動軌跡Ｌd等のハンド１０１を内回り範囲ＡＲに進入させる移動軌跡（以下、ハンド１０１を内回り範囲ＡＲに進入させる移動軌跡を「移動軌跡Ｌin」という。）と、図４のボトム位置ＥＢから内回り範囲ＡＲ1よりも外にあるトップ位置ＥＴ（教示位置）に至る移動軌跡Ｌbや図７の取出スタート位置ＲＢから内回り範囲ＡＲ2外のボトム位置ＥＢに至る移動軌跡Ｌa等のハンド１０１を内回り範囲ＡＲから退出させる移動軌跡（以下、ハンド１０１を内回り範囲ＡＲから退出させる移動軌跡を「移動軌跡Ｌout」という。）と、を連結した移動軌跡である。
【００９３】
内回り開始/終了位置演算部１０６ｃは、例えば、図４の例では、取出スタート位置ＲＢとボトム位置ＥＢから移動軌跡Ｌaを表す直線の式を算出し、その直線の式と内回り範囲ＡＲ1を表す式とを用いて内回り開始位置Ｐsを算出する。同様に、ボトム位置ＥＢと収納スタート位置ＲＴから移動軌跡Ｌbを表す直線の式を算出し、その直線の式と内回り範囲ＡＲ1を表す式とを用いて内回り終了位置Ｐeを算出する。図７の例の場合も同様である。
【００９４】
軌道制御部１０６ｄは、内回り軌跡Ｌscの内回り開始位置Ｐs及び内回り終了位置Ｐeと、ハンド１０１を移動軌跡Ｌinに沿って移動させるための速度を制御する速度制御特性Ｋinと、ハンド１０１を移動軌跡Ｌoutに沿って移動させるためときの速度を制御する速度制御特性Ｋoutとを用いて、ハンド１０１が内回り軌跡Ｌscで移動するように制御する。速度制御特性Ｋinは、上述した図５の速度制御特性Ｋaや図８の速度制御特性Ｋdなどのハンド１０１を内回り範囲ＡＲに進入させる移動軌跡Ｌinに設定された速度制御特性である。また、速度制御特性Ｋoutは、上述した図５の速度制御特性Ｋbや図８の速度制御特性Ｋaなどのハンド１０１を内回り範囲ＡＲから退出させる移動軌跡Ｌoutに設定された速度制御特性である。内回り開始/終了位置演算部１０６ｃ及び軌道制御部１０６ｄの処理は、ＣＰＵによって行われる。
【００９５】
次に、図１２に示すフローチャートを用いて、移動制御装置１０６が行うハンド１０１の内回り移動の制御について説明する。以下の説明では、図４に示した取出スタート位置ＲＢからボトム位置ＥＢを経由してトップ位置ＥＴに移動させる際にハンド１０１を内回り軌跡Ｌscで内回り移動させる例について説明する。従って、制御開始時のハンド１０１の位置は取出スタート位置ＲＢにあるものとする。
【００９６】
移動制御装置１０６は、取出スタート位置ＲＢとボトム位置ＥＢの位置情報から取出スタート位置ＲＢからボトム位置ＥＢに向かうベクトルの式を算出する（Ｓ１）、この式は、移動軌跡Ｌaを表す式である。続いて、移動制御装置１０６は、移動軌跡Ｌaと内回り範囲ＡＲ1を表す情報とを用いて移動軌跡Ｌaと内回り範囲ＡＲ1との交点Ｐaを算出する（Ｓ２）。内回り範囲ＡＲ1は、長方形の形状を特定する４個の頂点の位置座標によって定義されているので、移動制御装置１０６は、その４個の頂点の位置座標を用いて長方形の各辺を表す式を求め、各辺の式と移動軌跡Ｌaを表す式とによって移動軌跡Ｌaが内回り範囲ＡＲ1の長方形の輪郭線と交差する位置を交点Ｐaとして算出する。
【００９７】
続いて、移動制御装置１０６は、交点Ｐaの位置座標とボトム位置ＥＢの位置座標とを用いて交点Ｐaとボトム位置ＥＢとの間の距離を算出する（Ｓ３）。更に、移動制御装置１０６は、移動軌跡Ｌaに設定されている速度制御特性ＫaとステップＳ３で算出した距離とを用いて、移動時間Ｔaを算出する（Ｓ４）。減速期間Ｔdecに移動する距離がステップＳ３で算出した距離よりも長くなるように、速度制御特性Ｋaの減速度特性が設定されている場合は、移動時間Ｔaは、上述した（１）式によって算出される。
【００９８】
続いて、移動制御装置１０６は、ボトム位置ＥＢとトップ位置ＥＴの位置情報からボトム位置ＥＢからトップ位置ＥＴに向かうベクトルの式を算出する（Ｓ５）、この式は、移動軌跡Ｌbを表す式である。続いて、移動制御装置１０６は、移動軌跡Ｌbと内回り範囲ＡＲ1を表す情報とを用いて移動軌跡Ｌbと内回り範囲ＡＲ1との交点Ｐbを算出する（Ｓ６）。移動制御装置１０６は、内回り範囲ＡＲ1の各辺の式と移動軌跡Ｌbを表す式とによって移動軌跡Ｌbが内回り範囲ＡＲ1の長方形の輪郭線と交差する位置を交点Ｐbとして算出する。
【００９９】
続いて、移動制御装置１０６は、交点Ｐbの位置座標とトップ位置ＥＴの位置座標とを用いて交点Ｐbとトップ位置ＥＴとの間の距離を算出する（Ｓ７）。更に、移動制御装置１０６は、移動軌跡Ｌbに設定されている速度制御特性ＫbとステップＳ７で算出した距離とを用いて、移動時間Ｔbを算出する（Ｓ８）。加速期間Ｔaccに移動する距離がステップＳ７で算出した距離よりも長くなるように、速度制御特性Ｋbの減速度特性が設定されている場合は、移動時間Ｔbは、上述した（２）式によって算出される。
【０１００】
続いて、移動制御装置１０６は、算出した移動時間Ｔaと移動時間Ｔbを比較し（Ｓ９）、Ｔa≦Ｔbであれば（Ｓ９：ＹＥＳ）、移動時間Ｔaを内回り時間Ｔscとし、移動時間Ｔaと速度制御特性Ｋaとを用いて、ハンド１０１が移動軌跡Ｌaの移動を開始してから内回り移動を開始する内回り開始時刻ｔs（内回り開始位置Ｐsを通過する時刻。内回り開始タイミングｔs）を算出する（Ｓ１０）。一方、Ｔb＜Ｔaであれば（Ｓ９：ＮＯ）、移動制御装置１０６は、移動時間Ｔbを内回り時間Ｔscとし、移動時間Ｔbと速度制御特性Ｋaとを用いて、ハンド１０１が移動軌跡Ｌaの移動を開始してから内回り移動を開始する内回り開始時刻ｔsを算出する（Ｓ１１）。
【０１０１】
続いて、移動制御装置１０６は、速度制御特性Ｋaと移動軌跡Ｌaとに基づいてハンド１０１を移動軌跡Ｌaに沿って移動させる駆動制御信号を生成し、その駆動制御信号をサーボコントローラ１０７に出力してハンド１０１の移動を開始させる（Ｓ１２）。この後、ハンド１０１は、取出スタート位置ＲＢから移動を開始し、移動軌跡Ｌaでボトム位置ＥＢに向かって移動する。
【０１０２】
移動制御装置１０６は、ハンド１０１が移動を開始してからの経過時刻を計時しており、その経過時刻が内回り開始時刻ｔsになると（ハンド１０１が内回り開始位置Ｐsに到達すると）（Ｓ１３：ＹＥＳ）、速度制御特性Ｋa及び移動軌跡Ｌaと速度制御特性Ｋb及び移動軌跡Ｌbとに基づいてハンド１０１を内回り軌跡Ｌscに沿って移動させる駆動制御信号を生成し、その駆動制御信号をサーボコントローラ１０７に出力してハンド１０１の内回り移動を開始させる（Ｓ１４）。
【０１０３】
ハンド１０１が内回り移動を開始した後、内回り時間Ｔscが経過すると、速度制御特性Ｋaの減速期間Ｔdecが終了するので、ハンド１０１の内回り移動は終了し、ハンド１０１は移動軌跡Ｌb上の内回り終了位置Ｐeに到達する。この後は、移動制御装置１０６は、速度制御特性Ｋbと移動軌跡Ｌbとに基づいてハンド１０１を移動軌跡Ｌbに沿って移動させる駆動制御信号を生成し、その駆動制御信号をサーボコントローラ１０７に出力するので、ハンド１０１は、内回り終了位置Ｐeから移動軌跡Ｌbに沿ってトップ位置ＥＴまで移動する。
【０１０４】
以上、説明したように、本実施形態によれば、２つの連結された移動軌跡Ｌinと移動軌跡Ｌoutの連結点の部分を内回り移動させる場合、その連結点の回りに内回り範囲ＡＲを設定し、移動軌跡Ｌinの内回り範囲ＡＲ内にある部分の距離を算出するとともに、移動軌跡Ｌoutの内回り範囲ＡＲ内にある部分の距離を算出し、算出した２つの距離と、移動軌跡Ｌinに設定された速度制御特性Ｋin及び移動軌跡Ｌoutに設定された速度制御特性Ｋoutと、を用いて、ハンド１０１を内回り移動させるときの内回り時間Ｔscを設定するようにしているので、内回り範囲ＡＲ内を通る内回り軌跡Ｌscを設定することができる。
【０１０５】
従って、ハンド１０１に対する障害物等を考慮して、適当なサイズと形状の内回り範囲ＡＲを設定することにより、ハンド１０１を、障害物との干渉を確実に防止し、かつ、最適なタクトタイムで内回り移動させることができる内回り軌跡Ｌscを設定することができる。
【０１０６】
上記実施形態では、内回り範囲ＡＲの形状として、矩形や直方体の形状を例に説明したが、内回り範囲ＡＲの形状は、ハンド１０１を移動させる領域に存在する障害物を考慮して、任意の適当な形状を設定することができる。二次元形状の内回り範囲の場合、例えば、三角形や五角形等の多角形を用いることができ、三次元形状の内回り範囲の場合、円錐、四角錐、円柱、三角柱などの形状を用いることができる。
【０１０７】
また、上記実施形態では、基板Ｗを搬送する基板搬送ロボット１００について説明したが、本発明は、溶接ロボットなどの他の産業用ロボットにも適用できることは言うまでもない。
【符号の説明】
【０１０８】
１００  基板搬送ロボット
１０１  ハンド
１０１ａ  支持部
１０１ｂ，１０１ｃ  保持部
１０２  Ｘ方向駆動機構
１０２ａ，１０２ｂ  アーム
１０３  Ｙ方向駆動機構
１０３ａ  ベース盤
１０３ｂ  Ｙ方向駆動部
１０４  Ｚ方向駆動機構
１０４ａ  支持体
１０４ｂ  Ｚ軸
１０５  ガイドレール
１０６  移動制御装置
１０６ａ  教示情報記憶部
１０６ｂ  内回り範囲情報記憶部（内回り範囲情報記憶手段）
１０６ｃ  内回り開始/終了位置演算部（第１，第２の移動時間演算手段，内回り時間設定手段，内回り開始/終了位置演算手段）
１０６ｄ  軌道制御部
１０７  サーボコントローラ
１０８  マニピュレータ
２００  カセット
２００Ａ，２００Ｂ  開口面
２０１  スロット
ＡＲ  内回り範囲
ＲＢ  取出スタート位置
ＥＢ  ボトム位置
ＥＴ  トップ位置
ＲＴ  収納スタート位置
Ｌa，Ｌb，Ｌc  移動軌跡
Ｌsc  内回り軌跡
ＯA，ＯB  中心の位置
Ｐa，Ｐb，Ｐc，Ｐd  交点
Ｐs  内回り開始位置
Ｐe  内回り終了位置
ＳA  上空間
ＳB  下空間
Ｔa，Ｔb  移動時間
Ｔsc  内回り時間
【図１】
2015104773.tif 000003
【図２】
2015104773.tif 000004
【図３】
2015104773.tif 000005
【図４】
2015104773.tif 000006
【図５】
2015104773.tif 000007
【図６】
2015104773.tif 000008
【図７】
2015104773.tif 000009
【図８】
2015104773.tif 000010
【図９】
2015104773.tif 000011
【図１０】
2015104773.tif 000012
【図１１】
2015104773.tif 000013
【図１２】
2015104773.tif 000014
【図１３】
2015104773.tif 000015
【図１４】
2015104773.tif 000016
【図１５】
2015104773.tif 000017
【図１６】
2015104773.tif 000018
【図１７】
2015104773.tif 000019
【図１８】
2015104773.tif 000020
【図１９】
2015104773.tif 000021