(57)【特許請求の範囲】
【請求項１】
収納体から被搬送物を搬出入するロボットを制御するロボット制御装置であって、
前記ロボットは、一方端がアーム駆動軸を介してベース部材に回動可能に支持されるアーム機構と、
前記アーム機構の他方端に第一ハンド軸を介して支持されるとともに第一の被搬送物を保持することができる第一ハンド部材と、前記アーム機構の他方端に、前記第一ハンド軸と同軸に配置された第二ハンド軸を介して支持されるとともに第二の被搬送物を保持することができる第二ハンド部材とを備え、
前記ロボット制御装置は、前記第一ハンド部材を前進または後退させるように直線移動させる場合において、
前記第二ハンド部材の被搬送物中心位置の現在位置及び目標位置並びに回動中心位置の現在位置及び目標位置を取得する処理と、
前記第二ハンド部材の被搬送物中心位置の現在位置及び目標位置並びに回動中心位置の現在位置及び目標位置に基づいて、前記第二ハンド部材の被搬送物中心位置の現在位置と目標位置との間に経由位置を設定する処理と、を行い、
前記ロボット制御装置は、前記第二ハンド部材の被搬送物中心位置の現在位置及び目標位置に基づいて中点を算出し、前記中点から、回動中心位置の現在位置及び目標位置を結ぶ直線に対して垂線を引き、前記直線と垂線との交点から前記第二ハンド部材のハンド長だけ垂線方向へ離れた点を経由位置として設定する処理を行う
ことを特徴とするロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はロボット制御装置に関し、特に産業用ロボットを制御するロボット制御装置に関するものである。
【背景技術】
【０００２】
半導体ウェハや液晶基板等の被搬送物をカセット等の収納体から搬出入する水平多関節のロボットを制御するロボット制御装置が開示されている（例えば、特許文献1参照）。前記ロボットは、ハンド部材が収納体に向かって直進動作するように制御され、ハンド部材で被搬送物を保持して、収納体から被搬送物を搬出入するものであって、同一のアーム部材の同一の一方端に二つのハンド部材を備えている。
【０００３】
従来のロボット制御装置では、例えば、被搬送物をカセットから搬出する場合に一方のハンド部材（第一ハンド部材）の直進動作を行うと、他方のハンド部材（第二ハンド部材）はカセットと干渉しないように退避動作を開始する。すなわち、第二ハンド部材の被搬送物中心位置が予め定めた退避線よりもカセット側へ移動するのを防止する。なお、退避線の位置は、第一ハンド部材の進行方向に存在するカセット及び他の装置（処理装置等）の位置の情報に基づいて予め定められている。前記退避動作においては、第二ハンド部材の被搬送物中心位置が退避線上に教示された目標位置に向かうとともに、退避線に到達後は退避線に沿って移動するように、第二ハンド部材を回動制御している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１３６９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、従来のロボット制御装置では、第一ハンド部材の直進動作中に第二ハンド部材の被搬送物中心位置を退避線上に教示された目標位置に向かわせ、退避線に到達後は退避線に沿うように移動させている。しかしながら、第二ハンド部材の被搬送物中心位置の目標位置が、何らかの原因で退避線からずれた位置に教示されている場合は、第二ハンド部材を退避線到達後に退避線に沿って移動させると、目標位置に到達することができないためにエラーが発生し、ロボット全体が停止することがあった。
【０００６】
そこで、本発明は係る課題に鑑み、一方のハンド部材の直進動作時における他方のハンド部材の退避動作の際、他方のハンド部材を必ず目標の位置まで移動させることができ、確実に退避動作を行うことができるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
即ち、請求項１においては、収納体から被搬送物を搬出入するロボットを制御するロボット制御装置であって、前記ロボットは、一方端がアーム駆動軸を介してベース部材に回動可能に支持されるアーム機構と、前記アーム機構の他方端に第一ハンド軸を介して支持されるとともに第一の被搬送物を保持することができる第一ハンド部材と、前記アーム機構の他方端に、前記第一ハンド軸と同軸に配置された第二ハンド軸を介して支持されるとともに第二の被搬送物を保持することができる第二ハンド部材とを備え、前記ロボット制御装置は、前記第一ハンド部材を前進または後退させるように直線移動させる場合において、前記第二ハンド部材の被搬送物中心位置の現在位置及び目標位置並びに回動中心位置の現在位置及び目標位置を取得する処理と、前記第二ハンド部材の被搬送物中心位置の現在位置及び目標位置並びに回動中心位置の現在位置及び目標位置に基づいて、前記第二ハンド部材の被搬送物中心位置の現在位置と目標位置との間に経由位置を設定する処理と、を行い、前記ロボット制御装置は、前記第二ハンド部材の被搬送物中心位置の現在位置及び目標位置に基づいて中点を算出し、前記中点から、回動中心位置の現在位置及び目標位置を結ぶ直線に対して垂線を引き、前記直線と垂線との交点から前記第二ハンド部材のハンド長だけ垂線方向へ離れた点を経由位置として設定する処理を行うものである。
【発明の効果】
【０００９】
本発明の効果として、以下に示すような効果を奏する。
【００１０】
請求項１においては、被搬送物中心位置が現在位置から経由位置を経由して目標位置まで移動することで、被搬送物中心位置が現在位置から目標位置まで移動する際に、第二ハンド部材が必ず目標位置まで移動することができ、確実に退避動作を行うことができる。
また、被搬送物中心位置が現在位置から経由位置を経由して目標位置まで移動することで、搬送物中心位置が現在位置から目標位置まで移動する際に、回動中心位置と搬送物中心位置との間の距離が第二ハンド部材のハンド長よりも長くなるような位置を回避して移動することができるため、第二ハンド部材が必ず目標位置まで移動することができ、確実に退避動作を行うことができる。目標位置が退避線からずれた位置に教示されている場合において、第二ハンド部材を目標位置へ到達させる最も単純な制御としては、退避線からずれた位置に教示された目標位置と現在位置との間を単純に補間することが考えられる。しかしながら、目標位置が退避線から第二ハンド部材の回動中心位置側にずれて教示されている場合は、目標位置への軌道として、退避線からカセット側に向かって大きく弧を描く軌道が生成される場合があり、この場合は、干渉が発生する恐れがある。そこで、退避線よりも回動中心位置側に経由位置を設け、この経由位置を通過させることにより、干渉を抑制している。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るロボット制御装置が適用されるロボット制御システムの概略構成を示したブロック図。
【図２】ロボットが所定のカセットから半導体ウェハを搬出するときの動作を示す平面図。
【図３】第二ハンド部材の動作制御を示すフローチャート図。
【図４】（ａ）第二ハンド部材の退避する際の軌道を示す平面概略図（ｂ）経由位置を通る場合の第二ハンド部材の退避する際の軌道を示す平面概略図。
【図５】第二ハンド部材の回動中心位置、回動中心位置を中心としハンド長を半径とする円、及び第二ハンド部材の被搬送物中心位置の軌道を通る直線の関係を示した平面概略図。
【図６】第二ハンド部材の回動角度を示す平面概略図。
【発明を実施するための形態】
【００１３】
次に、発明の実施の形態について説明する。
まず、本発明の一実施形態にかかるロボット制御システム１０について図１を用いて説明する。
【００１４】
ロボット制御システム１０は、図１に示すように、水平多関節のロボット１１と、ロボット１１の動作を制御するロボット制御装置１２と、ロボット１１の動作の教示を行うティーチングボックス１３とを備えている。ロボット制御装置１２は、ロボット１１に取り付けられたサーボモータを駆動させるサーボアンプ１５と、サーボアンプ１５に指令を与えてロボット１１の動作及び姿勢を制御する制御部１４とを含んでいる。
【００１５】
ロボット１１は、所定の場所に設置されるベース部材１６と、ベース部材１６に回動可能に支持されるアーム機構１７と、を備えている。アーム機構１７は、一方端がベース部材１６にアーム駆動軸としての第一軸１８を介して回動可能に支持される下部アーム部材１９と、一方端が下部アーム部材１９の他方端に第二軸２０を介して回動可能に支持される上部アーム部材２１と、を含む機構である。
【００１６】
また、ロボット１１は、端部を上部アーム部材２１の他方端に第一ハンド軸２７を介して回動可能に支持される第一ハンド部材２８と、端部を同じく上部アーム部材２１の他方端に第二ハンド軸２９を介して回動可能に支持される第二ハンド部材３０とを備えている。第一ハンド軸２７と第二ハンド軸２９とは、第一ハンド軸２７の上側に第二ハンド軸２９が同軸上に設置され、平面視において各々の軸中心が一致している。即ち、ロボット１１は、上部アーム部材２１に支持される回動中心が一致した二つのハンド部材を備えている。ベース部材１６の上側に下部アーム部材１９が配置され、下部アーム部材１９の上側に上部アーム部材２１が配置され、上部アーム部材２１の上側に第一ハンド部材２８が配置され、第一ハンド部材２８の上側に第二ハンド部材３０が配置されている。下部アーム部材１９、上部アーム部材２１、第一ハンド部材２８及び第二ハンド部材３０は各々水平方向に回動可能となっている。
【００１７】
被搬送物を保持することができる第一ハンド部材２８及び第二ハンド部材３０は、平面視において同一形状の細長いＵ字状に形成され、屈曲部側が基点となるように（回動中心となるように）第一ハンド軸２７及び第二ハンド軸２９が配置されている。第一ハンド部材２８及び第二ハンド部材３０の各々には図示しない真空吸着等の保持手段を備え、その保持手段により第一ハンド部材２８及び第二ハンド部材３０の各々の上面に被搬送物が固定される。第一ハンド部材２８を固定させて第二ハンド部材３０を第二ハンド軸２９を中心に回動させていくと、両者は重なり、平面視において第一ハンド部材２８が第二ハンド部材３０の下側に隠れるように構成されている。下部アーム部材１９及び上部アーム部材２１は、細長い平板状に形成され、各々の長さは、下部アーム部材１９を固定させて上部アーム部材２１を第二軸２０を中心に回動させたときに、第一軸１８と第二軸２０とが重なるような長さに設定されている。ベース部材１６は、上下方向を長手方向とした四角柱状に形成され、上下方向を長手方向とした円柱状に形成された第一軸１８を収納することができるように構成されている。
【００１８】
第一軸１８、第二軸２０、第一ハンド軸２７及び第二ハンド軸２９は駆動軸であり、各々の駆動軸に図示しないサーボモータが設置されている。第一軸１８には下部アーム部材１９を回動させるためのサーボモータ、第二軸２０には上部アーム部材２１を回動させるためのサーボモータ、第一ハンド軸２７には第一ハンド部材２８を回動させるためのサーボモータ、第二ハンド軸２９には第二ハンド部材３０を回動させるためのサーボモータが各々設置されている。サーボモータの各々の出力軸と、下部アーム部材１９、上部アーム部材２１、第一ハンド部材２８及び第二ハンド部材３０の各々とが連結されて、下部アーム部材１９、上部アーム部材２１、第一ハンド部材２８及び第二ハンド部材３０が各々独立して回動可能となっている。その図示しないサーボモータの各々の回転軸等には、サーボモータの各々の回転軸の回転速度や回転量を検出する動作量検出手段である図示しないエンコーダが各々設置されている。この動作量検出手段により、下部アーム部材１９、上部アーム部材２１、第一ハンド部材２８及び第二ハンド部材３０の回転角度等が検出される。更に、第一軸１８には、第一軸１８を上下方向に昇降させるための図示しないサーボモータまたはシリンダがベース部材１６の内部に設置されている。第一軸１８の昇降距離は、高さ検出手段である図示しないエンコーダにより検出される。
【００１９】
ベース部材１６は所定の位置に設置されるため第一軸１８は移動せず、第一軸１８を基点として、第一ハンド部材２８及び第二ハンド部材３０が水平方向に所定の範囲で移動することとなる。また、第一軸１８が昇降すると、各々連結した下部アーム部材１９、上部アーム部材２１、第一ハンド部材２８及び第二ハンド部材３０が一体となって昇降する。このようにしてロボット１１は動作して所定の範囲において被搬送物を搬送する。
【００２０】
サーボアンプ１５は、制御部１４からの指令信号に基づいて第一軸１８、第二軸２０、第一ハンド軸２７及び第二ハンド軸２９の各々に設置されたサーボモータに電力を供給してサーボモータを駆動させる。また、サーボアンプ１５に上記エンコーダからの回転角度等の検出情報がフィードバックされ、制御部１４からの指令信号とエンコーダからのフィードバック信号との差をなくすように、サーボアンプ１５はサーボモータの駆動を制御する。なお、この制御は、ＰＩ制御やＰＩＤ制御等により行われるが、限定されるものではない。
【００２１】
ティーチングボックス１３は、ロボット１１に近接して設置され、ロボット１１を動作させるためのスイッチを備えている。このティーチングボックス１３を用いて、ロボット１１の位置及び姿勢からなる教示点の教示が行われる。
【００２２】
制御部１４は、サーボアンプ１５やティーチングボックス１３に接続して、ロボット制御システム１０の全体を制御している。制御部１４は、ティーチングボックス１３によって入力された内容を記憶する機能、サーボアンプ１５に指令信号を送ることにより各駆動軸に設定されたサーボモータを駆動させてロボット１１の動作や姿勢を制御する機能、各駆動軸に設置されたサーボモータの回転軸の回転角度等のエンコーダによって検出された情報をサーボアンプ１５を介して取得して演算する機能、等を備えている。制御部１４は、ティーチングボックス１３により教示された教示点間をロボット１１が移動するようにロボット１１の動作を制御する。
【００２３】
次に、制御部１４で制御されるロボット１１の動作について説明する。
【００２４】
図２は、図１で示したロボットが所定のカセットから被搬送物の一例である半導体ウェハ２３を搬出するときの動作を示した平面図である。
【００２５】
ロボット１１は、半導体ウェハ２３が収納された収納体であるカセット２４と任意の距離を開けて設置されている。ロボット１１は、カセット２４から半導体ウェハ２３を搬出入して、半導体ウェハ２３を図示せぬ処理装置等へ搬送する。図２の（ａ）から（ｃ）までは、ハンド部材を二つ備えた上記ロボット１１が、第二ハンド部材３０に半導体ウェハ２３を保持した状態で、第一ハンド部材２８で所定のカセット２４へ半導体ウェハ２３を搬入しようとする一連の動作が示されている。
【００２６】
図２（ａ）で示したように、第一ハンド部材２８及び第二ハンド部材３０には半導体ウェハ２３が保持されている。第二ハンド部材３０は、第一ハンド部材２８の向いている方向（カセット２４方向）から第二ハンド軸２９を中心に平面視反時計方向回りに回動した状態で停止している。図２（ａ）に示すように、退避線Ｌが設定されており、第二ハンド部材３０が退避線Ｌ上にある。本実施形態においては、第二ハンド部材３０に半導体ウェハ２３が保持された場合における半導体ウェハ２３の中心の位置である被搬送物中心位置Ｐが退避線Ｌ上に有る。退避線Ｌの位置は、第一ハンド部材２８の進行方向に存在するカセット２４及び他の装置（処理装置等）の位置の情報に基づいて予め定められている。本実施形態においては、その方向は、第一ハンド部材２８の進行方向に対して直交する方向である。
【００２７】
図２（ｂ）で示したように、第一ハンド部材２８を手動でカセット２４側へ向かって直線運動させた場合、第二ハンド部材３０は、第二ハンド部材３０や第二ハンド部材３０に保持された半導体ウェハ２３がカセット２４と干渉するのを回避するように、第二ハンド軸２９を中心に更に平面視反時計回りに回動する。このとき第二ハンド部材３０が退避線Ｌ上にあるように第二ハンド部材３０は回動する。本実施形態においては、被搬送物中心位置Ｐが退避線Ｌ上にあるように第二ハンド部材３０は回動する。
そして、カセット２４へ第一ハンド部材２８から半導体ウェハ２３を搬入し終える図２（ｃ）で示した位置まで到達すると、第一ハンド部材２８及び第二ハンド部材３０とは同時に停止する。
【００２８】
次に、退避する第二ハンド部材３０の被搬送物中心位置の軌道を算出するための制御について。図３を用いて説明する。
【００２９】
まず、制御部１４は、サーボアンプ１５を介して取得する各サーボモータの回転軸の回転角度等の情報等に基づいて、第一ハンド部材２８を直線移動させる時点における第二ハンド部材３０の被搬送物中心位置Ｐの現在位置（以下、開始時被搬送物中心位置Ｐsという）及び回動中心位置Ｗの現在位置（以下、開始時回動中心位置Ｗsという）の情報を取得する（ステップＳ１０）。
開始時被搬送物中心位置Ｐs、開始時回動中心位置Ｗsの情報はデカルト座標系により定義される情報として取得される。
【００３０】
次に、制御部１４は、制御部１４に記憶されている第一ハンド部材２８の進行方向及び目標位置に関するティーチングボックス１３からの入力内容等に基づいて、第一ハンド部材２８の進行方向及び目標位置の情報を取得する（ステップＳ２０）。
【００３１】
次に、制御部１４は、第一ハンド部材２８の進行方向及び目標位置の情報に基づいて、第一ハンド部材２８の目標位置までの直進動作が完了した時点における第二ハンド部材３０の被搬送物中心位置Ｐの目標位置（以下、目標被搬送物中心位置Ｐeという）及び回動中心位置Ｗの目標位置（以下、目標回動中心位置Ｗeという）を算出する（ステップＳ３０）。
【００３２】
目標被搬送物中心位置Ｐe、目標回動中心位置Ｗeの情報はデカルト座標系により定義される情報として取得される。
また、制御部１４は、退避線Ｌを設定する（ステップＳ４０）。具体的には、予め定められた退避線Ｌ（図２参照）と同一のベクトルを有し、目標被搬送物中心位置Ｐeを含む新たな退避線Ｌ１を設定する。以後は、第二ハンド部材３０は、新たな退避線Ｌ１を越えてカセット２４側へ移動しないように軌道が算出される。
【００３３】
次に、制御部１４は、開始時被搬送物中心位置Ｐsと目標被搬送物中心位置Ｐeを用いて中点Ｐmを算出する（ステップＳ５０）。
次に、制御部１４は、第一回動中心位置Ｗmを算出する（ステップＳ６０）。第一回動中心位置Ｗmは、中点Ｐmから退避線Ｌ１と平行な方向に直線をひき、第二ハンド部材３０の開始時回動中心位置Ｗsを通る進行方向と平行な直線との交点である。
【００３４】
次に、制御部１４は、開始時回動中心位置Ｗs、第一回動中心位置Ｗm、及び目標回動中心位置Ｗeの位置関係について判断する（ステップＳ７０）。
詳細には、開始時回動中心位置Ｗsに対して、第一回動中心位置Ｗmのほうが目標回動中心位置Ｗeよりも近い位置にあるか否かについて判断する。
【００３５】
ステップＳ７０において、開始時回動中心位置Ｗsに対して、第一回動中心位置Ｗmのほうが目標回動中心位置Ｗeよりも近い位置にないと判断された場合、すなわち、開始時回動中心位置Ｗs、目標回動中心位置Ｗe、第一回動中心位置Ｗmの順に並んでいるときは、制御部１４は、開始時被搬送物中心位置Ｐsと目標被搬送物中心位置Ｐeとを結ぶ線分を第二ハンド部材３０の被搬送物中心位置Ｐの軌道として算出する（ステップＳ８０）。
【００３６】
例えば図４の（ａ）に示すように、開始時回動中心位置Ｗs、目標回動中心位置Ｗe、第一回動中心位置Ｗmの順に並んでいるときは、開始時被搬送物中心位置Ｐsと目標被搬送物中心位置Ｐeを結ぶ直線上に、第二ハンド部材３０が移動することが物理的に不可能な位置が存在しないので、図４の（ａ）の実線細線で示すように、開始時被搬送物中心位置Ｐsと目標被搬送物中心位置Ｐeを結ぶ直線をそのまま被搬送物中心位置Ｐの軌道とする。
【００３７】
ステップＳ７０において、開始時回動中心位置Ｗsに対して、第一回動中心位置Ｗmのほうが目標回動中心位置Ｗeよりも近い位置にあると判断された場合、すなわち、開始時回動中心位置Ｗs、第一回動中心位置Ｗm、目標回動中心位置Ｗeの順に並んでいるときは、制御部１４は、経由位置Ｐm2を算出する（ステップＳ９０）。
経由位置Ｐm2は、中点Ｐmと第一回動中心位置Ｗmとを結ぶ直線上にあって、回動中心位置Ｗmから第二ハンド部材３０のハンド長ｒだけ離れた位置に設定される。
【００３８】
次に、制御部１４は、被搬送物中心位置Ｐsと経由位置Ｐm2とを結ぶ線分、及び、経由位置Ｐm2と被搬送物中心位置Ｐeとを結ぶ線分を第二ハンド部材３０の被搬送物中心位置Ｐの軌道として算出する（ステップＳ１００）。
【００３９】
例えば図４の（ｂ）に示すように、開始時回動中心位置Ｗs、第一回動中心位置Ｗm、目標回動中心位置Ｗeの順に並んでいるときは、開始時被搬送物中心位置Ｐsと目標被搬送物中心位置Ｐeを結ぶ直線上に、第二ハンド部材３０が移動することが物理的に不可能な位置である中点Ｐmが存在する。そこで、図４の（ｂ）の実線細線で示すように、被搬送物中心位置Ｐsと経由位置Ｐm2とを結ぶ線分、及び、経由位置Ｐm2と被搬送物中心位置Ｐeとを結ぶ線分を第二ハンド部材３０の被搬送物中心位置Ｐの軌道とする。
【００４０】
次に、軌道上の任意の位置に被搬送物中心位置Ｐがあるときの第二ハンド部材３０の回動角度θの算出方法について、図５及び図６を用いて説明する。
回動角度θとは、回動開始時における第二ハンド部材の位置から回動中心を中心として反時計回りに回動する角度である（図６参照）。
【００４１】
ここで、ある時点での被搬送物中心位置Ｐの任意のＸＹ座標系での座標を（ｘP，ｙP）、開始時被搬送物中心位置Ｐsの任意のＸＹ座標系での座標を（ｘPs，ｙPs）、目標被搬送物中心位置Ｐeの任意のＸＹ座標系での座標を（ｘPe，ｙPe）、中点Ｐmの任意のＸＹ座標系での座標を（ｘPm，ｙPm）、経由位置Ｐm2の任意のＸＹ座標系での座標を（ｘPm2，ｙPm2）、回動中心位置Ｗsの任意のＸＹ座標系での座標を（ｘWs，ｙWs）、回動中心位置Ｗeの任意のＸＹ座標系での座標を（ｘWe，ｙWe）、回動中心位置Ｗmの任意のＸＹ座標系での座標を（ｘWm，ｙWm）、退避線Ｌ１と平行なベクトルａのｘ成分、ｙ成分を（ａx，ａy）と定義する。
【００４２】
ある時点での第二ハンド部材３０の回動中心位置Ｗが回動中心位置ＷsとＷeとの間にいるときの第二ハンド部材３０の回動角度θは以下のように求められる。
【００４３】
まず、線分ＰsＰe、線分ＰsＰm2、または、線分Ｐm2Ｐeの直線式は以下の式でそれぞれ求められる。
【００４４】
【数１】
0005921901.tif 000002
【００４５】
ここでａ3、ｂ3、ｃ3は任意の定数である。以下では、線分ＰsＰe上に被搬送物中心位置Ｐがある場合について示す。なお、線分ＰsＰm2、または、線分Ｐm2Ｐe上に被搬送物中心位置Ｐがある場合も以下と同様の方法で回動角度θを求める。
【００４６】
線分ＰsＰeの方向ベクトルｅ（ｅx，ｅy）及び法線ベクトルｖ（ｖx．ｖy）は以下の式で求められる。
【００４７】
【数２】
0005921901.tif 000003
【００４８】
【数３】
0005921901.tif 000004
【００４９】
次に、回動中心位置Ｗから線分ＰsＰeを通る直線へ下ろした垂線と線分ＰsＰeを通る直線との交点Ｐhの座標（ｘh，ｙh）を求める。ここでは、回動中心位置Ｗの座標を（ｘW，ｙW）とする。
【００５０】
【数４】
0005921901.tif 000005
【００５１】
交点Ｐhは直線上にあるので、以下の式が成立する。
【００５２】
【数５】
0005921901.tif 000006
【００５３】
よって、図５に示すように、ＷからＰhまでの距離ｋは以下の式で表される。
【００５４】
【数６】
0005921901.tif 000007
【００５５】
ここで、図５に示すように、ＰhからＷを中心とする半径ハンド長ｒの円弧と直線（３）の交点への距離をｓとすると、距離ｓは以下の式で表される。
【００５６】
【数７】
0005921901.tif 000008
【００５７】
ただし、ｋ＞ｒの場合には解が無い。
以上より求める二つの交点は、以下の式で表される。
【００５８】
【数８】
0005921901.tif 000009
【００５９】
第二ハンド部材３０が任意の座標系でＸ方向に平行な方向から反時計回りに回動している角度をハンドの姿勢とすると、（ｘ1，ｙ1）（ｘ2，ｙ2）を第二ハンド部材３０の被搬送物中心位置Ｐとしたときの第二ハンド部材３０の姿勢Φ1，Φ2は次の式で表される。
【００６０】
【数９】
0005921901.tif 000010
【００６１】
【数１０】
0005921901.tif 000011
【００６２】
これらの姿勢から前補間点に近い姿勢を解Φとする。
図６に示すように、第二ハンド部材３０の回動角度θは、以下の式で表される。
【００６３】
【数１１】
0005921901.tif 000012
【００６４】
ここで、第二ハンド部材３０の回動角度θは、上部アーム部材２１と第二ハンド部材３０とがなす角の外角とし、本実施形態においては、平面視反時計周り方向（図６のθの矢印方向）を正とする。
また、Φは、第二ハンド軸２９を通るＸ軸と第二ハンド部材３０とがなす角の内角とし、本実施形態においては、平面視反時計周り方向（図６のΦの矢印方向）を正とする。
また、θ１は、第一軸１８を通るＸ軸と下部アーム部材１９とがなす角の内角とし、本実施形態においては、平面視反時計周り方向（図６のθ１の矢印方向）を正とする。
また、θ２は、下部アーム部材１９と上部アーム部材２１とがなす角の外角とし、本実施形態においては、平面視時計周り方向（図６のθ２の矢印方向）を正とする。
【００６５】
このようにθを決定することにより、第二ハンド部材３０の被搬送物中心位置Ｐが確実に軌道上を通って、目標被搬送物中心位置Ｐeへと到達する。
【００６６】
以上のように、カセット２４から半導体ウェハ２３を搬出入するロボット１１を制御するロボット制御装置１２であって、ロボット１１は、一方端が第一軸１８を介してベース部材１６に回動可能に支持されるアーム機構１７と、アーム機構１７の他方端に第一ハンド軸２７を介して支持されるとともに半導体ウェハ２３を保持することができる第一ハンド部材２８と、アーム機構１７の他方端に、第一ハンド軸２７と同軸に配置された第二ハンド軸２９を介して支持されるとともに半導体ウェハ２３を保持することができる第二ハンド部材３０とを備え、ロボット制御装置１２は、第一ハンド部材２８を前進または後退させるように直線移動させる場合において、第二ハンド部材３９の被搬送物中心位置Ｐの開始時被搬送物中心位置Ｐs及び目標被搬送物中心位置Ｐe並びに回動中心位置Ｗの開始時回動中心位置Ｗs及び目標回動中心位置Ｗeを取得する処理と、第二ハンド部材３０の被搬送物中心位置Ｐの開始時被搬送物中心位置Ｐs及び目標被搬送物中心位置Ｐe並びに回動中心位置Ｗの開始時回動中心位置Ｗs及び目標回動中心位置Ｗeに基づいて、第二ハンド部材３０の被搬送物中心位置Ｐの開始時被搬送物中心位置Ｐs及び目標被搬送物中心位置Ｐeとの間に経由位置Ｐm2を設定する処理と、を行うものである。
このように構成することにより、被搬送物中心位置Ｐが開始時被搬送物中心位置Ｐsから経由位置Ｐm2を経由して目標被搬送物中心位置Ｐeまで移動することで、被搬送物中心位置Ｐが開始時被搬送物中心位置Ｐsから目標被搬送物中心位置Ｐeまで移動する際に、移動することが物理的に不可能な位置を回避して移動することができるため、第二ハンド部材３０が必ず目標被搬送物中心位置Ｐeまで移動することができ、確実に退避動作を行うことができる。
【００６７】
また、ロボット制御装置１２は、第二ハンド部材３０の被搬送物中心位置Ｐの開始時被搬送物中心位置Ｐs及び目標被搬送物中心位置Ｐeに基づいて中点Ｐmを算出し、中点Ｐmから、回動中心位置Ｗの及び開始時回動中心位置Ｗs及び目標回動中心位置Ｗeを結ぶ直線に対して垂線を引き、前記直線と垂線との交点から第二ハンド部材３０のハンド長ｒだけ垂線方向へ離れた点を経由位置Ｐm2として設定する処理を行うものである。
このように構成することにより、被搬送物中心位置Ｐが開始時被搬送物中心位置Ｐsから経由位置Ｐm2を経由して目標被搬送物中心位置Ｐeまで移動することで、被搬送物中心位置Ｐが開始時被搬送物中心位置Ｐsから目標被搬送物中心位置Ｐeまで移動する際に、回動中心位置Ｗと搬送物中心位置Ｐとの間の距離が第二ハンド部材３０のハンド長ｒよりも長くなるような位置を回避して移動することができるため、第二ハンド部材３０が必ず目標位置まで移動することができ、確実に退避動作を行うことができる。
【００６８】
なお、本発明の実施形態では、第一ハンド部材２８、第二ハンド部材３０及びアーム機構１７を水平方向に回動させているが、必ずしもこのように構成する必要はなく、他の平面方向に回動してもよい。例えば、垂直多関節のロボットに適用されてもよい。
【００６９】
また、本発明の実施形態では、二つのアーム部材で構成されているが、一つのアーム部材の一方端で二つのハンド部材が同軸に設置された駆動軸の各々を介して支持されていれば、三つ以上で構成されてもよい。
【００７０】
また、本発明の実施形態では、二つのアーム部材は同じ長さに構成されているが、異なる長さに構成してもよい。
【００７１】
また、本発明の実施形態では、アーム機構１７がベース部材１６に支持されているが、他の構成からなる部材により支持されてもよく、また、第一軸１８が上下方向に昇降しなくてもよい。
【００７２】
また、本発明の実施形態では、真空吸着等で被搬送物を保持するように第一ハンド部材２８及び第二ハンド部材３０が構成されているが、被搬送物を保持することができれば、被搬送物を狭持する等の方法で保持するように第一ハンド部材２８及び第二ハンド部材３０を構成してもよい。
【００７３】
また、本発明の実施形態では、退避線Ｌ１は、第一ハンド部材２８の進行方向に対して直交する方向に設定されているがこれに限定するものではなく、例えば、第一ハンド部材２８の進行方向と退避線とが鋭角に交差してもよい。
【符号の説明】
【００７４】
１１    ロボット
１２    ロボット制御装置
１６    ベース部材
１７    アーム機構
１８    第一軸（アーム駆動軸）
１９    下部アーム部材
２０    第二軸
２１    上部アーム部材
２３    半導体ウェハ（被搬送物）
２４    カセット（収納体）
２７    第一ハンド軸
２８    第一ハンド部材
２９    第二ハンド軸
３０    第二ハンド部材
Ｐ    被搬送物中心位置
Ｐs    開始時被搬送物中心位置
Ｐe    目標被搬送物中心位置
Ｐm    中点
Ｐm2    経由位置
Ｗ    回動中心位置
Ｗs    開始時回動中心位置
Ｗe    目標回動中心位置
【図１】
0005921901.tif 000013
【図２】
0005921901.tif 000014
【図３】
0005921901.tif 000015
【図４】
0005921901.tif 000016
【図５】
0005921901.tif 000017
【図６】
0005921901.tif 000018