(57)【要約】【課題】搬送室の形状及びステーションの配列に拘わらず、第１ハンドを移動させる際に第２ハンドが周囲の構造物に干渉することを回避することができるロボット制御装置を提供する。【解決手段】ロボット制御装置は、板状のワークＷを保持する第１ハンド２１及び第２ハンド２２が一端部にそれぞれ回転可能に支持されると共に他端部がベースに回転可能に支持されたスカラ型のアーム機構を有する搬送ロボット２を制御する。ロボット制御装置は、ベースから離れる方向へ第１ハンド２１を移動させる場合、ベースより外側に向かって少なくとも一部が凸の曲線をなす退避線Ａを越えてベースから第２ハンド２２が離れないように、第２ハンド２２をアーム機構に対して回転させる制御部を備える。【選択図】図５
2018171690.tif 000002
【特許請求の範囲】
【請求項１】
一端部がベースに回転可能に支持されると共に、板状のワークを保持する第１ハンド及び第２ハンドが他端部にそれぞれ回転可能に支持されたスカラ型のアーム機構を有する搬送ロボットを制御するロボット制御装置であって、
前記ベースから離れる方向へ前記第１ハンドを移動させる場合、前記ベースより外側に向かって少なくとも一部が凸の曲線をなす退避線を越えて前記ベースから前記第２ハンドが離れないように、前記第２ハンドを前記アーム機構に対して回転させる制御部を備える
ロボット制御装置。
【請求項２】
前記退避線は前記一端部の回転軸を中心とした円弧状部分を含む
請求項１に記載のロボット制御装置。
【請求項３】
前記退避線は前記一端部の回転軸を中心とした円弧状部分及び直線状部分を含む
請求項１に記載のロボット制御装置。
【請求項４】
前記制御部は、
前記ベースに対する前記第１ハンド及び第２ハンドの現在位置を示す情報を取得する取得部を備え、取得した現在位置の情報並びに前記第１ハンド及び第２ハンドの目標位置を示す情報に基づいて、前記第１ハンドの移動経路上の複数点毎に設定される退避線を越えないように前記アーム機構に対する前記第２ハンドの回転角度を算出して前記第２ハンドを回転させる
請求項１〜請求項３までのいずれか一項に記載のロボット制御装置。
【請求項５】
一端部がベースに回転可能に支持されると共に、板状のワークを保持する第１ハンド及び第２ハンドが他端部にそれぞれ回転可能に支持されたスカラ型のアーム機構を有し、前記ワークを搬送する搬送ロボットと、
請求項１〜請求項４までのいずれか一項に記載のロボット制御装置と
を備える搬送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを搬送するスカラ型の搬送ロボットを制御するロボット制御装置及び搬送システムに関する。
【背景技術】
【０００２】
半導体ウェハ、ガラス基板等の板状のワークを、ワーク収容体からアライナ、基板処理チャンバ等のステーションへ搬送するスカラ型の搬送ロボットが実用化されている。特許文献１には、一端部がベースに回転可能に支持されると共に、ワークを保持する第１ハンド及び第２ハンドが他端部にそれぞれ回転可能に支持されたアーム機構を有する搬送ロボットが開示されている。搬送ロボットはワークの搬送が行われる搬送室に設置される。インライン型の基板処理装置は、中空略直方体形状の搬送室を有し、複数のチャンバが搬送室の壁面に沿って直線状に配される。ティーチングボックスの手動操作によって第１ハンドがチャンバ側へ移動する場合、ロボット制御装置は、搬送室の壁面に略平行な直線状の退避線を越えて第２ハンドがチャンバ側へ移動しないように当該第２ハンドを回転させる。かかる制御によって、第１ハンドを手動で移動させる際に第２ハンドが周辺の構造物と干渉して第１ハンドの移動が妨げられることを回避することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１６３２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、クラスタ型の半導体処理装置のように搬送室が五角形、六角形等の多角形状である場合、あるいはワーク収容体、アライナ、チャンバ等のステーションが非直線状に配置されているような場合、特許文献１に記載の退避線を用いて第２ハンドを退避させても、第２ハンドが構造物と干渉するおそれがあった。
【０００５】
本発明は斯かる事情に鑑みてなされたものであり、その目的は、第１ハンドを移動させる際、搬送室の形状及びステーションの配列に拘わらず、第２ハンドが周囲の構造物に干渉することを回避することができるロボット制御装置及び搬送システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るロボット制御装置は、一端部がベースに回転可能に支持されると共に、板状のワークを保持する第１ハンド及び第２ハンドが他端部にそれぞれ回転可能に支持されたスカラ型のアーム機構を有する搬送ロボットを制御するロボット制御装置であって、前記ベースから離れる方向へ前記第１ハンドを移動させる場合、前記ベースより外側に向かって少なくとも一部が凸の曲線をなす退避線を越えて前記ベースから前記第２ハンドが離れないように、前記第２ハンドを前記アーム機構に対して回転させる制御部を備える。
【０００７】
第１ハンドがベースから離れる方向へ移動すると、第２ハンドも第１ハンドと共にベースから離れる方向へ移動する。この場合、制御部は、第２ハンドが退避線を越えてベースから離れないように、当該第２ハンドをアーム機構に対して回転させる。退避線は、ベースより外側に向かって少なくとも一部が凸の曲線をなしているため、搬送室の形状及びステーションの配列に拘わらず、第２ハンドが周囲の構造物に干渉しないようにその回転を制御することが可能になる。例えば、構造物が直線的な配置になっていなくても、当該構造物の配置を考慮して退避線を設定することにより、第１ハンドをベースより外側へ移動させる際、第２ハンドが周囲の構造物に干渉しないようにその回転を制御することができる。
【０００８】
本発明の一態様に係るロボット制御装置にあっては、前記退避線は前記一端部の回転軸を中心とした円弧状部分を含む構成が好ましい。
【０００９】
退避線が円弧状部分を含むため、収容体、アライナ、チャンバ等のステーションが非直線状に配列している場合であっても、第１ハンドを移動させる際に第２ハンドが周囲の構造物に干渉することを回避することができる。
【００１０】
本発明の一態様に係るロボット制御装置にあっては、前記退避線は前記一端部の回転軸を中心とした円弧状部分及び直線状部分を含む構成が好ましい。
【００１１】
退避線が円弧状部分及び直線状部分を含むため、収容体、アライナ、チャンバ等のステーションが直線状に配列している箇所と、非直線状に配列している箇所とが混在している場合であっても、第１ハンドを移動させる際に第２ハンドが周囲の構造物に干渉することを回避することができる。
【００１２】
本発明の一態様に係るロボット制御装置にあっては、前記制御部は、前記ベースに対する前記第１ハンド及び第２ハンドの現在位置を示す情報を取得する取得部を備え、取得した現在位置の情報並びに前記第１ハンド及び第２ハンドの目標位置を示す情報に基づいて、前記第１ハンドの移動経路上の複数点毎に設定される退避線を越えないように前記アーム機構に対する前記第２ハンドの回転角度を算出して前記第２ハンドを回転させる構成が好ましい。
【００１３】
第１ハンド及び第２ハンドを確実に目標位置へ移動させることができる。
【００１４】
本発明の一態様に係る搬送システムは、一端部がベースに回転可能に支持されると共に、板状のワークを保持する第１ハンド及び第２ハンドが他端部にそれぞれ回転可能に支持されたスカラ型のアーム機構を有し、前記ワークを搬送する搬送ロボットと、上述のいずれか一つのロボット制御装置とを備える構成が好ましい。
【００１５】
上記の通り、搬送室の形状及びステーションの配列に拘わらず、第２ハンドが周囲の構造物に干渉しないようにその回転を制御することができる。例えば、構造物が直線的な配置になっていなくても、当該構造物の配置を考慮して退避線を設定することにより、第１ハンドをベースより外側へ移動させる際、第２ハンドが周囲の構造物に干渉しないようにその回転を制御することができる。
【発明の効果】
【００１６】
本発明によれば、第１ハンドを移動させる際、搬送室の形状及びステーションの配列に拘わらず、第２ハンドが周囲の構造物に干渉することを回避することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態１に係る搬送システムを示す模式図である。
【図２】搬送ロボットが設けられたクラスタ型の基板処理装置を示す平面図である。
【図３】第２ハンドの退避線を示す模式図である。
【図４】搬送ロボットの制御手順を示すフローチャートである。
【図５】第２ハンドの退避制御を示す模式図である。
【図６】第２ハンドの制御点が退避線を越えていないときの第２ハンドの制御方法を示す模式図である。
【図７】第１ハンドの直線移動に伴う第２ハンドの退避動作の一連の流れを示す模式図である。
【図８】変更前の教示点を示す模式図である。
【図９】教示点へ未到達になる例を示す模式図である。
【図１０】目標教示点へ未到達になる他の例を示す模式図である。
【図１１】自動運転切替後の搬送ロボットの制御手順を示すフローチャートである。
【図１２】教示点が変更された後の自動運転における左手系の退避態様を示す模式図である
【図１３】教示点が変更された後の自動運転動作における右手系の退避態様を示す模式図である。
【図１４】実施形態２に係る基板処理装置を示す平面図である。
【発明を実施するための形態】
【００１８】
以下、本発明をその実施形態を示す図面に基づいて詳述する。
（実施形態１）
図１は、実施形態１に係る搬送システムを示す模式図である。搬送システムは、スカラ型の搬送ロボット２と、搬送ロボット２の動作を制御するロボット制御装置１と、搬送ロボット２の動作を教示する教示装置３とを備える。
【００１９】
搬送ロボット２は、所定箇所に設置されるベース２３と、板状のワークＷ（図２参照）を保持する第１ハンド２１及び第２ハンド２２と、一端部２４ｃがベース２３に回転可能に支持されると共に、第１ハンド２１及び第２ハンド２２が他端部２４ｄにそれぞれ回転可能に支持されたスカラ型のアーム機構２４とを備える。
【００２０】
ベース２３は、例えば柱状であり、長手方向を鉛直にして所定箇所に設置される。ベース２３の上端面の中央部には、中心軸がベース２３の長手方向となるように第１アーム軸２５ａが設けられている。また、ベース２３には、第１ハンド２１及び第２ハンド２２を一体的に昇降させる図示しない昇降機構が設けられている。昇降機構は、例えばボールネジ機構である。
【００２１】
アーム機構２４は、同一方向の回転軸を用いて複数のアームを互いに回転可能に連結してなるリンク機構である。アーム機構２４は、例えば、板状の第１アーム２４ａ及び第２アーム２４ｂを有する。第１アーム２４ａの一端側は第１アーム軸２５ａにてベース２３に回転可能に支持されている。第１アーム２４ａの他端側には、中心軸の方向が第１アーム軸２５ａと略同一の第２アーム軸２５ｂが設けられており、第２アーム２４ｂの一端側は、第１アーム２４ａの他端側に第２アーム軸２５ｂにて回転可能に支持されている。第１アーム２４ａ及び第２アーム２４ｂはベース２３に対して各別に独立して回転することができる。第１アーム２４ａ及び第２アーム２４ｂの長さは略同一であり、平面視において、第２アーム軸２５ｂを中心に第２アーム２４ｂを回転させて重ね合わせたときに、一端部２４ｃと他端部２４ｄとが重なるように形成されている。
このように構成されたアーム機構２４の第１アーム２４ａ及び第２アーム２４ｂは、ベース２３の設置面に略平行な平面において互いに回転することにより、ベース２３に対して進退することができる。
【００２２】
第１ハンド２１及び第２ハンド２２は、例えば平面視において略同形のＵ字板状であり、第２アーム２４ｂに取り付けられる基部と、ベース２３の設置面に対して略平行な方向へ当該基部から二叉に突出した板状の２本の指部とを有する。また、第１ハンド２１及び第２ハンド２２にはワークＷを保持する保持部（不図示）が設けられている。保持部は、例えば真空チャック、ワークＷのエッジを挾持するエッジグリップチャック等である。なお、第１ハンド２１及び第２ハンド２２の形状は特に限定されるものでは無く、異なる形状であっても良い。第２アーム２４ｂの他端側には、中心軸の方向が第１アーム軸２５ａと略同一の第１ハンド軸２５ｃが設けられており、第１ハンド２１の基部は、第１ハンド軸２５ｃにて第２アーム２４ｂの他端側に回転可能に支持されている。また、搬送ロボット２は、第１ハンド軸２５ｃと同軸の第２ハンド軸２５ｄを備える。第２ハンド２２の基部は、第２ハンド軸２５ｄにて第２アーム２４ｂに回転可能に支持されており、第１ハンド２１及び第２ハンド２２は、第２アーム２４ｂに対して各別に独立して回転することができる。
このように構成された第１ハンド２１及び第２ハンド２２はアーム機構２４と共に、ベース２３の設置面に略平行な平面において回転可能である。
【００２３】
第１アーム軸２５ａ、第２アーム軸２５ｂ、第１ハンド軸２５ｃ及び第２ハンド軸２５ｄには図示しないサーボモータ及びサーボアンプが設けられている。つまり、第１アーム軸２５ａには第１アーム２４ａを回転させるためのサーボモータ及びサーボアンプ、第２アーム軸２５ｂには第２アーム２４ｂを回転させるためのサーボモータ及びサーボアンプ、第１ハンド軸２５ｃには第１ハンド２１を回転させるためのサーボモータ及びサーボアンプ、第２ハンド軸２５ｄには第２ハンド２２を回転させるためのサーボモータ及びサーボアンプがそれぞれ設けられている。各サーボモータの回転は、ロボット制御装置１によって制御される。搬送ロボット２は、ロボット制御装置１の制御に従って各サーボモータを回転させることによって、第１ハンド２１及び第２ハンド２２を所要の位置に移動させることができる。
また、サーボモータには、第１アーム２４ａ、第２アーム２４ｂ、第１ハンド２１及び第２ハンド２２の回転角度を検出するエンコーダがそれぞれ設けられている。エンコーダは、検出した回転角度を示す情報をロボット制御装置１へ出力する。
なお、サーボモータ及びサーボアンプの設置位置は上記に限定されない。例えば、サーボモータの出力をプーリーやベルト等の伝達機構を介して第１アーム軸２５ａ、第２アーム軸２５ｂ、第１ハンド軸２５ｃ及び第２ハンド軸２５ｄに伝達させてもよい。また、サーボアンプは、ロボット制御装置１内に設置してもよい。
【００２４】
ロボット制御装置１は、自装置の各部の動作を制御する制御部１１を備える。制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、入出力インタフェース等を有するマイコンであり、制御部１１には教示装置３が接続されている。
【００２５】
教示装置３は、例えばティーチングボックスであり、搬送ロボット２を動作させるための各種スイッチを備える。教示装置３は、関節手動運転モードと、直線手動運転モードと、自動運転モードとを有し、使用者は各モードを任意に切り替えることができる。関節手動運転モードは、任意の一又は複数の関節軸、即ち第１アーム軸２５ａ、第２アーム軸２５ｂ、第１ハンド軸２５ｃ、第２ハンド軸２５ｄを個別に手動操作で回転させることが可能な運転モードである。直線手動運転モードは、第１ハンド２１及び第２ハンド２２を直線的に移動させることが可能な運転モードである。自動運転モードは、予め指定された一の教示点から他の教示点へ第１ハンド２１及び第２ハンド２２を自動的に移動させることが可能な運転モードである。なお、教示点の数は２点に限定されるものでは無い。
教示装置３は、搬送ロボット２を自動運転させるための情報として、第１ハンド２１及び第２ハンド２２の位置及び姿勢を示す一又は複数の教示点を記憶している。第１ハンド２１及び第２ハンド２２の教示点は、例えば、任意のデカルト座標系における各ハンドの座標、及び第２アーム２４ｂに対する各ハンドの回転角度を示す数値情報である。なお、教示点は、上記デカルト座標系における第１ハンド２１及び第２ハンド２２の所定部位の位置を示している。以下、当該部位を制御点と呼ぶ。制御点は、必ずしも第１ハンド２１及び第２ハンド２２の先端を示すものでは無い。制御点は、例えば、第１ハンド２１及び第２ハンド２２の中心点、各ハンドに保持されたワークＷの中心点等を示している。また、デカルト座標系は、第１ハンド２１及び第２ハンド２２の位置ないし教示点の表現方法の一例であり、特にこれに限定されるものでは無い。第１ハンド２１及び第２ハンド２２の角度も同様である。
【００２６】
図２は、搬送ロボット２が設けられたクラスタ型の基板処理装置を示す平面図、図３は、第２ハンド２２の退避線Ａを示す模式図である。図３では、第１アーム２４ａ、第２アーム２４ｂ、第１ハンド２１及び第２ハンド２２は棒線にて模式的に表されている。図中、点Ｐは、第２ハンド２２の制御点を示している。
【００２７】
搬送ロボット２は、例えば図２に示すようなクラスタ型の半導体製造装置に備えられる。半導体製装置は、例えば平面視が六角形状の搬送室４と、複数のステーション５とを備える。ステーション５は、ワークＷの取り出し元のカセット、ワークＷの収納先のカセット、アライナ、基板処理チャンバ及びロードロック室等である。複数のステーション５は、平面視において、搬送室４の外側、各辺に配されている。搬送ロボット２は、搬送室４の中央部に配され、ワークＷをステーション５間で搬入出する。
図２に示すように搬送室４の中央部に搬送ロボット２を設置した場合、図２及び図３中、破線で示すように、平面視において第１アーム軸２５ａを中心とした半径Ｒｗの円弧状の退避線Ａが設定される。なお、制御部１１は、退避線Ａを規定する半径Ｒｗの初期値として、所定半径Ｒ１を記憶している。退避線Ａは、第２ハンド２２の制御点Ｐがこの退避線Ａを越えてベース２３から離れないように、第２ハンド２２の回転を制御するためのものである。
【００２８】
＜関節手動運転＞
関節手動運転モードにおいては、使用者は教示装置３を用いて、第１アーム軸２５ａ、第２アーム軸２５ｂ、第１ハンド軸２５ｃ、第２ハンド軸２５ｄから選択される任意の一又は複数の軸を各別に回転させることができる。例えば、使用者は、第１アーム軸２５ａだけを回転させたり、第１アーム軸２５ａ及び第１ハンド軸２５ｃを同時に回転させたりすることができる。教示装置３は、使用者の操作に応じて、第１アーム軸２５ａ、第２アーム軸２５ｂ、第１ハンド軸２５ｃ及び第２ハンド軸２５の回転及びその回転方向を示す情報をロボット制御装置１へ出力する。
【００２９】
制御部１１は、教示装置３から出力された情報を取得し、取得した情報に基づいて、各サーボモータの駆動を制御するための指令情報を各サーボモータのサーボアンプへ出力する。サーボアンプは指令情報に従ってサーボモータを駆動させ、第１アーム軸２５ａ、第２アーム軸２５ｂ、第１ハンド軸２５ｃ、第２ハンド軸２５ｄを回転させる。
【００３０】
＜直線手動運転モード＞
直線手動運転モードにおいては、使用者は教示装置３のスイッチを操作することによって、第１ハンド２１の移動方向及び姿勢を指定することができる。教示装置３は、第１ハンド２１の移動方向及び姿勢を示す教示情報をロボット制御装置１へ出力する。第１ハンド２１の移動方向は、例えば、上記デカルト座標系における第１ハンド２１の移動方向を示すベクトル情報である。姿勢は、例えば、第２アーム２４ｂに対する第１ハンド２１の回転角度を示す数値情報である。
【００３１】
制御部１１は、教示装置３から出力された教示情報を取得する。また、制御部１１は、上記エンコーダから出力された回転角度の情報を取得する。制御部１１は、取得した情報に基づいて、ベース２３に対する第１ハンド２１及び第２ハンド２２の位置及び姿勢を認識することができる。
そして、制御部１１は、教示情報と、回転角度の情報とに基づいて、各サーボモータの駆動を制御するための指令情報を演算し、演算した指令情報を各サーボモータのサーボアンプへ出力する。サーボアンプは指令情報に従ってサーボモータを回転駆動させる。サーボモータの回転駆動は、ＰＩ制御やＰＩＤ制御等によって制御されるが、特に限定されるものではない。指令情報は、第１アーム２４ａ、第２アーム２４ｂ、第１ハンド２１及び第２ハンド２２を回転させる回転角度を示す情報である。当該回転角度には、例えば回転方向の情報も含まれる。
【００３２】
制御部１１は、現在の第１ハンド２１の位置を基点にして、教示された移動方向へ第１ハンド２１を直線移動させるために必要な第１アーム２４ａ及び第２アーム２４ｂの回転角度を演算する。また、制御部１１は、第１ハンド２１を直線移動させる場合、特にベース２３から離れる方向へ第１ハンド２１を直線移動させる場合、ベース２３の第１アーム軸２５ａの中心から一定距離にある平面視円形の退避線Ａを越えて第２ハンド２２の制御点Ｐがベース２３から離れないように、第２ハンド２２を回転させるための回転角度を演算する。そして、制御部１１は、演算によって得られた第１アーム２４ａ、第２アーム２４ｂ並びに第１ハンド２１及び第２ハンド２２の回転角度を含む指令情報を各サーボアンプへ出力する。
【００３３】
退避線Ａは、第２ハンド２２の制御点Ｐが当該退避線Ａより内側、つまりベース２３寄りに位置している場合、当該第２ハンド２２の各部位が周囲の構造物に干渉しないように設定される線である。好ましくは、退避線Ａは、第２ハンド２２の制御点Ｐが当該退避線Ａより内側に位置している場合、第２ハンド２２の回転角度に拘わらず、当該第２ハンド２２の各部位が周囲の構造物に干渉しないように設定される線である。より好ましくは、退避線Ａは、第２ハンド２２の制御点Ｐが当該退避線Ａより内側に位置している場合、第２ハンド２２の回転角度に拘わらず、当該第２ハンド２２の各部位、及び第２ハンド２２にて保持され得るワークＷが周囲の構造物に干渉しないように設定される線である。
なお、退避線Ａは、第２ハンド２２が当該退避線Ａを越えて外側へ移動しても、直ちに第２ハンド２２及びワークＷが周囲の構造物に干渉しないよう、所定量の余裕を持たせると良い。つまり、第２ハンド２２及びワークＷとその周囲の構造物との干渉を回避することを可能にする退避線の最長半径よりも、所定長、短い半径を有する円弧状の退避線Ａを設定すると良い。
直線手動運転モードにおいて、ベース２３から離れる方向へ第１ハンド２１が移動すると、第１ハンド２１と共に第２ハンド２２も移動する。このとき、第１ハンド２１と共に移動する第２ハンド２２は周囲の構造物に干渉するおそれがあるため、制御部１１は、第２ハンド２２が周囲の構造物と干渉しないように、第２ハンド２２を回転させる。具体的には、制御部１１は、ベース２３から見て、第２ハンド２２が退避線Ａを越えないように、第２ハンド２２を回転させる。
【００３４】
第１ハンド２１を直線手動操作で移動させる場合のロボット制御装置１の動作を説明する。
図４は、搬送ロボット２の制御処理手順を示すフローチャートである。手動運転モードにおいて、教示装置３から出力された教示情報がロボット制御装置１に入力された場合、制御部１１は以下の処理を実行する。当該処理は、教示情報がロボット制御装置１に入力される都度実行される。制御部１１は、各サーボモータから第１ハンド２１及び第２ハンド２２の現在位置の情報を取得する（ステップＳ１１）。具体的には、制御部１１は、第１アーム２４ａ、第２アーム２４ｂ、第１ハンド２１及び第２ハンド２２の回転角度の情報を取得する。当該情報によって、制御部１１は第１ハンド２１及び第２ハンド２２の位置を特定することができる。位置の表現方法は特に限定されるものでは無いが、例えば第１ハンド２１及び第２ハンド２２の位置はデカルト座標系で表される。
【００３５】
そして、制御部１１は、教示装置３から出力されてロボット制御装置１に入力された、第１ハンド２１の移動方向を示す教示情報を取得する（ステップＳ１２）。移動方向は、上記デカルト座標系におけるベクトルで表される。
【００３６】
次いで、制御部１１は、第１ハンド２１の移動を開始させる前に第１ハンド２１の現在位置と、予め演算により求めた移動方向とに基づいて、退避線Ａを設定する（ステップＳ１３）。ここで設定される退避線Ａは、ロボット制御装置１が予め記憶している所定半径Ｒ１の円形の退避線Ａである。
【００３７】
次いで、制御部１１は、第２ハンド２２の制御点Ｐが既に退避線Ａを越えているか否か、つまり当該制御点Ｐと第１アーム軸２５ａとの距離Ｒ２が、所定半径Ｒ１よりも長いか否かを判定する（ステップＳ１４）。直線手動運転モード、自動運転モードで動作している場合、通常は第２ハンド２２の制御点Ｐが退避線Ａを越えることが無いが、間接手動運転モードで動作したときは、制御点Ｐが退避線Ａを越えることがある。第２ハンド２２の制御点Ｐが退避線Ａを越えていると判定した場合（ステップＳ１４：ＹＥＳ）、制御部１１は、現在の第２ハンド２２の制御点Ｐの位置と第１アーム軸２５ａとの距離Ｒ２を半径とする円形の退避線Ａを再設定する（ステップＳ１５）。例えば、読み出された退避線Ａが所定半径Ｒ１の円弧であった場合、第２ハンド２２の制御点Ｐと第１アーム軸２５ａとの距離Ｒ２がＲ２＞Ｒ１であるとき、制御部１１は、半径Ｒ２の円弧を新たな退避線Ａとする。退避線Ａの再設定は、例えば、ロボット制御装置１に教示情報が入力され、ステップＳ１１以下の処理が実行される都度、実行すると良い。
【００３８】
第２ハンド２２の制御点Ｐが退避線Ａの内側に位置すると判定した場合（ステップＳ１４：ＮＯ）、又はステップＳ１５の処理を終えた場合、制御部１１は、ステップＳ１２にて取得した教示情報に基づいて、第１ハンド２１を教示された方向へ移動させる（ステップＳ１６）。
【００３９】
そして、制御部１１は、第１ハンド２１の移動方向が、ベース２３から離れる方向であるか否かを判定する（ステップＳ１７）。ベース２３から離れる方向であると判定した場合（ステップＳ１７：ＹＥＳ）、制御部１１は、第２ハンド２２の制御点Ｐが退避線Ａ上にあるか否かを判定する（ステップＳ１８）。退避線Ａ上にあると判定した場合（ステップＳ１８：ＹＥＳ）、制御部１１は、第２ハンド２２の制御点Ｐが退避線Ａを越えてベース２３から離れないように第２ハンド２２を回転させる（ステップＳ１９）。
【００４０】
図５は、第２ハンド２２の退避制御を示す模式図である。図５Ａは、第２ハンド２２の制御点Ｐが退避線Ａ上にある状態を示しており、図５Ｂは第２ハンド２２の待避動作を示している。図５Ａに示す状態で、第１ハンド２１がステーション５側へ移動しようとすると、第２ハンド２２及びワークＷが搬送室４の壁面と干渉し、第１ハンド２１の移動の妨げになる。そこで、制御部１１は、ステップＳ１９の処理で図５Ｂに示すように、第２ハンド２２の制御点Ｐが退避線Ａを越えないように、第２ハンド軸２５ｄを中心に第２ハンド２２を回転させる。第２ハンド２２の制御点Ｐが退避線Ａを越えないように、第２ハンド２２を回転させることによって、第２ハンド２２が周囲の構造物と干渉しないように制御することができる。制御点Ｐが退避線Ａを越えないようにするための第２ハンド２２の回転角度は、現在の第１アーム２４ａ、第２アーム２４ｂ、第１ハンド２１及び第２ハンド２２の回転角度、各アーム及びハンドの長さ、退避線Ａの半径等に基づいて、例えば余弦定理にて演算することができる。
【００４１】
第１ハンド２１の移動方向が、ベース２３から離れる方向では無いと判定した場合（ステップＳ１７：ＮＯ）、第２ハンド２２の制御点Ｐが退避線Ａ上に無いと判定した場合（ステップＳ１８：ＮＯ）、制御部１１は、第１ハンド２１に対する第２ハンド２２の回転角度が保持されるように、第２ハンド軸２５ｄを中心に第２ハンド２２を回転させ、又は回転を停止させる（ステップＳ２０）。
【００４２】
図６は、第２ハンド２２の制御点Ｐが退避線Ａを越えていないときの第２ハンド２２の制御方法を示す模式図である。ΦＡは、第１ハンド２１に対する第２ハンド２２の回転角度を示し、ΦＢは第２アーム２４ｂの延長線（破線直線部分）に対する第２ハンド２２の回転角度を示している。ステップＳ２０の処理において制御部１１は、第１ハンド２１に対する第２ハンド２２の回転角度ΦＡが保持されるように、第２ハンド軸２５ｄを中心に第２ハンド２２の回転を制御する。なお、ステップＳ２０で、第２アーム２４ｂの延長線に対する第２ハンド２２の回転角度ΦＢが一定となるように制御しても良い。
【００４３】
図７は、第１ハンド２１の直線移動に伴う第２ハンド２２の退避動作の一連の流れを示す模式図である。白抜き矢印で示すように、第１ハンド２１がベース２３から離れる方向へ移動している場合、図７Ａに示すように第２ハンド２２の制御点Ｐが退避線Ａを越えていないとき、第２ハンド２２は第１ハンド２１と共に移動する。ところが、図７Ｂに示すように、第１ハンド２１が更に移動し、第２ハンド２２の制御点Ｐが退避線Ａ上に到達した場合、第２ハンド２２の制御点Ｐが退避線Ａを越えないように回転を開始する。具体的には、第１ハンド２１に対する第２ハンド２２の回転角度ΦＡにΔΦＡを加算して、第２ハンド２２を退避させる。以下、第１ハンド２１が停止するまで、制御部１１は、第２ハンド２２の退避制御を継続する。
【００４４】
＜自動運転モード＞
自動運転モードにおいては、教示装置３は、一又は複数の教示点の情報を読み出し、読み出した教示点の情報を含む教示情報をロボット制御装置１へ出力する。自動運転モードの場合、制御部１１は、現在の第１ハンド２１及び第２ハンド２２の位置又は自動運転を開始する始点としての教示点を起点にして、教示された各ハンドの位置へ第１ハンド２１及び第２ハンド２２を直線移動させ、教示された姿勢とするために必要な第１アーム２４ａ及び第２アーム２４ｂの回転角度を演算する。具体的には、制御部１１は、任意のデカルト座標系において、第１ハンド２１及び第２ハンド２２が現在の位置から次の教示点（以下、目標教示点と呼ぶ）へ至るまでの直線経路上に並ぶ複数の点を補間点として演算する。そして、第１ハンド２１及び第２ハンド２２を各補間点へ順次移動させるために必要な第１アーム２４ａ及び第２アーム２４ｂの回転角度を算出する。なお、教示装置３によって、複数の教示点が教示されている場合、第１ハンド２１及び第２ハンド２２が各教示点へ順番に移動するように、同様の方法で各教示点間の補間点を演算し、各補間点へ順次移動させるために必要な第１アーム２４ａ及び第２アーム２４ｂの回転角度を算出する。そして、制御部１１は、演算によって得られた第１アーム２４ａ、第２アーム２４ｂ並びに第１ハンド２１及び第２ハンド２２の回転角度を含む指令情報を各サーボアンプへ出力する。第１ハンド２１を移動させる際、ベース２３側から見て、第２ハンド２２の制御点Ｐが退避線Ａを越えないように、第２ハンド２２を回転させて退避させる制御は、直線手動運転モードと同様である。ただし、自動運転モードでの退避線は、後述するように退避線Ａｋとなる。
【００４５】
＜運用途中での教示点変更＞
このように位置ずれがある場合、目標教示点に到達するように、制御部１１が第１ハンド２１の移動を制御しても第１ハンド２１及び第２ハンド２２が目標教示点に未到達になることがある。第１ハンド２１及び第２ハンド２２が目標教示点に到達できない場合、ロボット制御装置１は、異常有りと認識し、ワークＷの搬送制御を中断する。
【００４６】
図８は、変更前の教示点を示す模式図、図９は、目標教示点へ未到達になる例を示す模式図である。図８左図は、第１ハンド２１及び第２ハンド２２の後退位置の教示点を示し、図８右図は、第１ハンド２１及び第２ハンド２２の前進位置の教示点を示す。図８左図に示す後退位置の教示点においては、移動開始前にある第２ハンド２２の制御点Ｐが退避線Ａ上にあるため、問題無く、図８左図に示す後退位置の教示点から図８右図に示す前進位置の教示点へ第１ハンド２１及び第２ハンド２２を移動させることができる。
ところが、図９左図に示すように、関節手動運転モードにて第１ハンド２１及び第２ハンド２２の後退位置の教示点を変更し、自動運転開始時において第２ハンド２２の制御点Ｐが退避線Ａの外側になった場合、問題が生ずる。ただし、前進位置の教示点は変更されていないものとする。
図９左図に示す後退位置の教示点においては、自動運転開始時において第２ハンド２２の制御点Ｐが既に退避線Ａより外側に位置している。このため、第１ハンド２１を前進位置の教示位置へ移動させたとしても、第２ハンド２２は退避線Ａ上に戻ること無く当該外側の円弧上を移動することになるため、図９右図に示すように図８右図に示した後退位置の教示点に到達することができず、ワークＷの搬送制御が中断される。自動運転モードにおいては、第２ハンド２２は、第１ハンド２１の移動に追従し、退避線Ａを越えないように回転するだけであるためである。
【００４７】
図１０は、目標教示点へ未到達になる他の例を示す模式図である。図１０左図に示すように、関節手動運転モードにて第１ハンド２１及び第２ハンド２２の後退位置の教示点を変更し、自動運転開始時において第２ハンド２２の制御点Ｐが退避線Ａの内側になった場合も、問題が生ずる。ただし、前進位置の教示点は変更されていないものとする。
図１０左図から図１０中図に示すように第１ハンド２１及び第２ハンド２２が前進位置へ移動すると、第２ハンド２２の制御点Ｐが退避線Ａ上に達し、退避線Ａ上を移動する。その後、図１０右図に示すように第１ハンド２１及び第２ハンド２２が後退位置の教示点へ戻ろうとしても、第２ハンド２２の制御点Ｐは図１０左図に示す後退位置の教示点に戻ることができない。
上記のような異常停止を避けるために、制御部１１は、以下の処理を実行する。
【００４８】
図１１は、自動運転切替後の搬送ロボット２の制御手順を示すフローチャート、図１２は、教示点が変更された後の自動運転における左手系の退避態様を示す模式図、図１３は、教示点が変更された後の自動運転動作における右手系の退避態様を示す模式図である。
まず、制御部１１は、各サーボモータから、第１ハンド２１及び第２ハンド２２の現在の位置情報を取得する（ステップＳ３１）。そして、制御部１１は、教示装置３から出力される教示情報を取得する（ステップＳ３２）。自動運転モードに係る教示情報は、到達すべき第１ハンド２１及び第２ハンド２２の位置及び姿勢を示す情報である。
【００４９】
次いで、制御部１１は、第１ハンド２１の現在位置から目標教示点を結ぶ直線経路上の複数の補間点を決定する（ステップＳ３３）。そして、制御部１１は、各補間点に対応する退避線Ａｋを設定する（ステップＳ３４）。
【００５０】
自動運転開始時の教示点から目標教示点までの第１ハンド２１の移動量に対する、自動運転開始時の教示点から特定の補間点までの移動量の比率をｒｋとする。比率ｒｋは下記式を満たす。
０≦ｒｋ≦１…（１）
上記の通り、自動運転開始時点において第２ハンド２２は厳密に退避線Ａ上にある保証が無い。そこで、第１ハンド２１が各補間点にあるときの退避線Ａｋを以下のように設定する。
すなわち、各補間点における第１アーム軸２５ａから第２ハンド２２の制御点Ｐまでの距離Ｒｋを演算し、第１アーム軸２５ａから距離Ｒｋだけ離れた位置を退避線Ａｋとして設定する。
Ｒｋ＝Ｒｓ＋ｒｋ（Ｒｅ−Ｒｓ）…（２）
但し、
Ｒｓ：自動運転開始時点における第１アーム軸２５ａから第２ハンド２２の制御点Ｐまでの距離
Ｒｅ：目標教示点における第１アーム軸２５ａから第２ハンド２２の制御点Ｐまでの距離
Ｒｋ：補間点における第１アーム軸２５ａから第２ハンド２２の制御点Ｐまでの距離
【００５１】
次いで、制御部１１は、ステップＳ３３で決定した補間点へ第１ハンド２１を移動させる（ステップＳ３５）。次いで、制御部１１は、第１ハンド２１が位置する補間点に対応する退避線Ａｋを越えないように第２ハンド２２を回転させる（ステップＳ３６）。
【００５２】
第２ハンド２２の制御点Ｐが退避線Ａｋ上にあるとき下記式（３）及び（４）を満たす。
【００５３】
【数１】
2018171690.tif 000003
但し、
Φ１：第１アーム軸２５ａと、第１ハンド軸２５ｃとを結ぶ直線に対する第２ハンド２２のなす角度（０≦Φ１≦π）
Φ２：第１アーム軸２５ａと、第１ハンド軸２５ｃとを結ぶ直線に対する第２アーム２４ｂのなす角度（０≦Φ２≦π／２）
Ｌａ：第１ハンド２１及び第２ハンド２２の長さ
Ｘ：補間点における第１アーム軸２５ａから第１ハンド軸２５ｃまでの距離
Ｌ：第１アーム２４ａ及び第２アーム２４ｂの長さ
Ｒｋ：第１アーム軸２５ａから退避線Ａｋまでの距離
【００５４】
第２ハンド２２が拘束される状態は図１２Ａ及び図１２Ｂのように２通りが考えられる。また、第１ハンド２１及び第２ハンド２２の位置には、右手系及び左手系が存在する。図１２の状態を左手系とした場合、右手系の状態は図１３Ａ及び図１３Ｂのようになる。従って、第２ハンド２２が退避線Ａｋ上に拘束される状態としては、図１２及び図１３にそれぞれ示す合計４通りの状態が考えられる。
【００５５】
左手系における第２アーム２４ｂの延長線（一点破線部分）に対する第２ハンド２２のなす角度ｗａ１，ｗａ２は、下記式で表される。第２ハンド２２のなす角度は、当該延長線から反時計回りを正とする。
ｗａ１＝−π＋（Φ１＋Φ２）…（５）
ｗａ２＝−π−（Φ１−Φ２）…（６）
【００５６】
同様に、右手系における第２アーム２４ｂの延長線（一点破線部分）に対する第２ハンド２２のなす角度ｗａ１、ｗａ２は下記式で表される。
ｗａ１＝π−（φ１＋φ２）…（７）
ｗａ２＝π＋（φ１−φ２）…（８）
【００５７】
そして、制御部１１は、このように求められた解ｗａ１、ｗａ２の内、当該補間点における第２ハンド２２の回転角度として近いものを解として選択する。つまり、第２アーム２４ｂの延長線に対する現在の第２ハンド２２の回転角度に近い解を選択する。より具体的には、制御部１１は、現在の第２ハンド２２の回転角度と解ｗａ１との差分の絶対値と、現在の第２ハンド２２の回転角度と解ｗａ２とを比較し、差分の絶対値がより小さな解を選択する。
【００５８】
そして、制御部１１は、第１ハンド２１の移動が完了したか否かを判定する（ステップＳ３７）。移動が完了していないと判定した場合（ステップＳ３７：ＮＯ）、制御部１１は処理をステップＳ３４へ戻す。移動が完了したと判定した場合（ステップＳ３７：ＹＥＳ）、制御部１１は処理を終える。
【００５９】
以上の通り、直線手動運転モードでは、例えば、第１アーム軸２５ａを中心とした半径Ｒｗの円弧状の退避線Ａが設定される。
これに対して、自動運転モードでは、自動運転開始時の第２ハンド２２の制御点Ｐの位置と第２ハンド２２の目標教示点に基づいて補間点が定まり、補間点及び目標教示点に対応する退避線Ａｋが設定される。
そのため、例えば図１０に示すように、第２ハンド２２の制御点Ｐが（直線手動運転モードで設定される）退避線Ａを越えた場合に退避線Ａより内側に戻れない状態を回避できる。
なぜならば、自動運転モードでは第２ハンド２２の制御点Ｐの目標教示点が退避線Ａよりも内側にあれば、その位置に応じた退避線Ａｋが設定されるからである。
更に、自動運転開始時における第２ハンド２２の制御点Ｐの位置が考慮されて退避線Ａｋが設定されるので、当初設定された自動運転時の教示点が自動運転開始前に変更されることにより、当初設定していた第２ハンド２２の制御点Ｐの教示点の位置と自動運転開始時の第２ハンド２２の制御点Ｐの位置とに誤差が生じたとしても問題が生じない。
例えば図９に示すように、当初設定された自動運転時の教示点が自動運転開始前に変更されたとしても、図８右図に示す位置を目標教示点とするために、図９右図に示すように前進位置の教示点に到達できない状態を回避することができる。
【００６０】
このように構成された搬送システム及びロボット制御装置１によれば、第１ハンド２１を移動させる際、搬送室４の形状及びステーション５の配列が非直線的であっても、当該形状及び配列を考慮して退避線Ａｋを設定することにより、第２ハンド２２が周囲の構造物に干渉することを回避することができる。
【００６１】
（実施形態２）
実施形態２に係る搬送システムは、設定される退避線の態様が実施形態１と異なるため、以下では主に上記相違点について説明し、対応する箇所には同様の符号を付して詳細な説明を省略する。
【００６２】
図１４は、実施形態２に係る基板処理装置を示す平面図である。半導体製造装置は、例えば長手方向一端側が幅広に形成された略直方体形状の搬送室２０４を有する。つまり平面視において、搬送室２０４の長手方向一端側の幅寸法は、搬送室２０４の長手方向中央及び他端側の幅寸法よりも長い。搬送室２０４の両長辺外側、長手方向中央及び他端側の壁面に沿って、複数の第１ステーション２０５ａが直線的に並び配されている。また、搬送室２０４の内側、長手方向一端側の空間には、複数の第２ステーション２０５ｂが非直線状に並び配されている。
【００６３】
ロボット制御装置１の制御部１１は、搬送室２０４の長手方向に略平行な直線状部分と、第１アーム軸２５ａを中心とした円弧状部分とを含む退避線Ｂ，Ｃを記憶している。制御部１１は、第１ハンド２１の異なる複数の移動方向毎に円弧状又は直線状の退避線Ｂ，Ｃを記憶している。つまり、制御部１１は、第１ステーション２０５ａ側への移動方向と、直線状の退避線Ｂとを対応付けて記憶しており、第２ステーション２０５ｂ側への移動方向と、円弧状の退避線Ｃとを対応付けて記憶している。
ロボット制御装置１は、直線手動運転モード又は自動運転モードにおいて移動する第１ハンド２１の移動方向に対応する退避線Ｂ，Ｃを選択し、選択された退避線Ｂ，Ｃを越えて第２ハンド２２が第１ステーション２０５ａ又は第２ステーション２０５ｂ側へ移動しないように、第２ハンド２２を回転させる。つまり、ロボット制御装置１の制御部１１は、第１ハンド２１の移動方向として、第１ステーション２０５ａの方向が教示された場合、第２ハンド２２が直線状の退避線Ｂを越えないように当該第２ハンド２２を回転させる。一方、制御部１１は、第１ハンド２１の移動方向として、第２ステーション２０５ｂの方向が教示された場合、第２ハンド２２が円弧状の退避線Ｃを越えないように当該第２ハンド２２を回転させる。
【００６４】
このように構成された搬送システム及びロボット制御装置１によれば、第１ステーション２０５ａ及び第２ステーション２０５ｂが直線状に配列している箇所と、非直線状に配列している箇所とが混在している場合であっても、手動操作で第１ハンド２１を移動させる際に第２ハンド２２が周囲の構造物に干渉することを回避することができる。
【００６５】
なお、実施形態２においても、関節手動運転にて自動運転の教示点が変更され、自動運転を開始した場合、教示点間の各補間点に対応する退避線Ａｋが設定され、第２ハンド２２の制御点Ｐが、ベース２３から見て当該退避線Ａｋを越えないように制御される。
【００６６】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６７】
１  ロボット制御装置
２  搬送ロボット
３  教示装置
４，２０４  搬送室
５，２０５ａ，２０５ｂ  ステーション
１１  制御部
２１  第１ハンド
２２  第２ハンド
２３  ベース
２４  アーム機構
２４ａ  第１アーム
２４ｂ  第２アーム
２４ｃ  一端部
２４ｄ  他端部
２５ａ  第１アーム軸
２５ｂ  第２アーム軸
２５ｃ  第１ハンド軸
２５ｄ  第２ハンド軸
２０５ａ  第１ステーション
２０５ｂ  第２ステーション
Ａ，Ｂ，Ｃ  退避線
Ｗ  ワーク
【図１】
2018171690.tif 000004
【図２】
2018171690.tif 000005
【図３】
2018171690.tif 000006
【図４】
2018171690.tif 000007
【図５】
2018171690.tif 000008
【図６】
2018171690.tif 000009
【図７】
2018171690.tif 000010
【図８】
2018171690.tif 000011
【図９】
2018171690.tif 000012
【図１０】
2018171690.tif 000013
【図１１】
2018171690.tif 000014
【図１２】
2018171690.tif 000015
【図１３】
2018171690.tif 000016
【図１４】
2018171690.tif 000017