(57)【要約】【課題】ロボットを予め教示されたルートに従って移動制御するロボット制御システムにおいて、常に２点間（開始点から目標点）のみの移動時間にて制御する。【解決手段】目標ルートｓと、目標時間Ｔと、教示ルートｋと、前記教示ルートｋに従い移動するロボット１と、からなるロボット制御システム１００において、前記それぞれの教示点ｋ（ｎ）からの前記目標ルートｓに対する垂線の足であるシフト教示点ｓ（ｎ）と、前記目標ルートｓを、それぞれのシフト教示点ｓ（ｎ）によって区画するそれぞれの目標セクション[ｓ（ｎ）]と、前記目標ルートｓを前記目標時間Ｔで等速移動する場合の前記それぞれの目標セクション[ｓ（ｎ）]のセクション目標時間ｔ（ｎ）と、を備え、前記ロボットは、前記それぞれの教示セクション[ｋ（ｎ）]上を、対応するセクション目標時間ｔ（ｎ）にて移動するロボット制御システム１００。【選択図】図４
2008229796.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間にて開始点と目標点とを直線で結んだ目標ルートと、
前記目標ルートを移動する目標時間と、
開始点から目標点までの間において、予め与えられた少なくとも一つの教示点と、
開始点から前記教示点を通過し目標点までを順に直線で結んだ教示ルートと、
前記教示ルートに従い移動するロボットと、
からなるロボット制御システムにおいて、
前記一つの教示点、前記開始点、及び前記目標点より形成される平面と、
前記平面上において、前記それぞれの教示点からの前記目標ルートに対する垂線の足であるシフト教示点と、
前記目標ルートを、それぞれのシフト教示点によって区画するそれぞれの目標セクションと、
前記目標ルートを前記目標時間で移動する場合の前記それぞれの目標セクションに所要するセクション目標時間と、
前記教示ルートを、それぞれの教示点によって区画するそれぞれの教示セクションと、
を備え、
前記ロボットは、前記それぞれの教示セクション上を、対応するセクション目標時間にて移動するように制御する
ことを特徴とするロボット制御システム。
【請求項２】
請求項１記載のロボット制御システムにおいて、
前記セクション目標時間を、前記目標ルートを通過すると仮定した時の前記目標時間で、加速及び減速を含んで前記それぞれの目標セクションを移動する場合に所要する時間とする
ことを特徴とするロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのハンドを予め教示したルートに従い移動制御させるロボット制御システムの技術に関する。
【背景技術】
【０００２】
従来、半導体ウェハや液晶基板等の被搬送物をステーションからステーションへ搬送するための多関節の搬送用ロボットは周知である。例えば、特許文献１は、カセット内に収納された四角形状の板ガラスである被搬送物を、カセットから一枚ずつ取り出し、これを処理装置に移送する搬送用ロボットを開示している。
【特許文献１】特開２００５−２４６５４７号公報
【０００３】
搬送用ロボットは、ベースと、回転駆動および上下駆動可能に連接される複数のアームと、被搬送物を保持するハンドとで構成される。コントローラは、搬送用ロボットのアームの各駆動部を制御することで、ハンドに載置される被搬送物を搬送する。
例えば、３次元空間においてある開始点から目標点まで被搬送物を搬送する場合において、最短時間及び最短距離で搬送するには、２点を直線で結んだルートに従って搬送することが望ましい。しかし、実際に直線で搬送した場合には、被搬送物の重量、アームの重量又は撓み等の予め分かっている外乱が要因となって、被搬送物を目標点より外れて搬送することがある。特に、被搬送物の重量が重くなると、そのズレも大きくなってしまう。そのため、コントローラには、予め分かっている外乱を考慮して、目標点に到達できるように教示ルートが記憶されている。この教示ルートは、いくつかの教示点を移動する順に結んだルートである。コントローラは、この教示ルートに従って被搬送物を搬送する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、教示ルートに従う移動は、直線での移動に比較して、開始点から目標点までを常に一定の移動時間で移動させることは困難である。また、教示ルートは被搬送物の種類（重さ・大きさ）によって変更する必要があるため、被搬送物の変更の度に教示点から次の教示点までの移動時間を全て計算する必要があり、制御システムの計算が複雑になる。さらに、教示点と教示点との間のルートにおいて、移動する被搬送物やロボットの状態（予め認識できない外乱）によってルートが異なった場合は、教示ルート全体を通して一定の時間で移動制御ができないため、動作タクトが長くなる、すなわち生産性の低下につながる。
【０００５】
そこで、解決しようとする課題は、ロボット又はアクチュエータを予め教示されたルートに従って移動制御するロボット制御システムにおいて、常に２点間（開始点から目標点）のみの移動時間を定めてそれに従うように制御することである。
【課題を解決するための手段】
【０００６】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段を説明する。
【０００７】
すなわち、請求項１においては、３次元空間にて開始点と目標点とを直線で結んだ目標ルートと、前記目標ルートを移動する目標時間と、開始点から目標点までの間において、予め与えられた少なくとも一つの教示点と、開始点から前記教示点を通過し目標点までを順に直線で結んだ教示ルートと、前記教示ルートに従い移動するロボットと、からなるロボット制御システムにおいて、前記一つの教示点、前記開始点、及び前記目標点より形成される平面と、前記平面上において、前記それぞれの教示点からの前記目標ルートに対する垂線の足であるシフト教示点と、前記目標ルートを、それぞれのシフト教示点によって区画するそれぞれの目標セクションと、前記目標ルートを前記目標時間で移動する場合の前記それぞれの目標セクションに所要するセクション目標時間と、前記教示ルートを、それぞれの教示点によって区画するそれぞれの教示セクションと、を備え、前記ロボットは、前記それぞれの教示セクション上を、対応するセクション目標時間にて移動するように制御するものである。
【０００８】
請求項２においては、請求項１記載のロボット制御システムにおいて、前記セクション目標時間を、前記目標ルートを通過すると仮定した時の前記目標時間で、加速及び減速を含んで前記それぞれの目標セクションを移動する場合に所要する時間とするものである。
【発明の効果】
【０００９】
本発明の効果として、以下に示すような効果を奏する。
【００１０】
請求項１においては、ロボット又はアクチュエータを予め教示されたルートに従って動作制御するロボット制御システムにおいて、常に２点間（開始点から目標点）のみの動作時間にて制御できる。また、教示ルートが変更された場合であっても、複雑な計算を要することなく常に一定の移動時間で移動制御ができる。さらに、教示点と教示点との間の軌道において、移動させる被搬送物やロボットの状態によってルートが異なった場合でも、教示ルート全体を通して常に一定の移動時間で移動制御ができる。
【００１１】
請求項２においては、請求項１記載の効果に加え、実際のロボット又はアクチュエータによる搬送に適する近い制御ができる。
【発明を実施するための最良の形態】
【００１２】
次に、発明の実施の形態を説明する。
図１は本発明の実施例に係る搬送用ロボットの一例であって、全体的な構成を示す概略構成図、図２は同じくロボット制御システムの概略構成を示すブロック図、図３は同じく被搬送物の教示ルートを示す動作説明図である。図４は同じく教示ルート及び目標ルートを示す動作説明図、図５は同じくある一つの目標セクション及び教示セクションを示す動作説明図、図６は同じくセクション目標時間を示すグラフ図である。図７は同じく別のセクション目標時間を示すグラフ図である。
なお、本発明は、実施例で説明したロボットに限定されるものでは無く、例えば、平行リンク機構によって上下方向に駆動するロボットの替わりに他の方法であって例えば上下駆動軸によってアーム機構を上下させる機構を有するものでも同様の効果を得ることができる。
【００１３】
まず、図１を用いて、本発明の実施例として搬送用ロボット（以下、単にロボットと称する）１について、簡単に説明する。ロボット１は、半導体ウェハ及び液晶基板等の被搬送物をステーションからステーションへ搬送するための多関節のロボットである。
図１に示すように、ロボット１は、フロア等に固定されるベース部材８０、２軸パンタリンク２、及び３軸水平スカラ型アーム３から構成されている。
【００１４】
ベース部材８０は、上述のようにロボット１を設置する箇所のフロア等に固設されている。ベース部材８０の上面にはブラケット８１・８１が設けられている。また、ブラケット８１・８１の間には、２軸パンタリンク２のアーム４０・４０ａの基部（部位２ｃ）と平行リンク７２が設けられ、それぞれ部位２ｃに設けられるＹ方向の軸により回動可能に枢支されている。
【００１５】
２軸パンタリンク２は、主にアーム４０・４０ａ及びアーム５０から構成されている。アーム４０・４０ａの下端部は上記部位２ｃにおいて枢支され、アーム４０・４０ａの上端部はアーム５０の下端部と部位２ａにおいてＹ方向に配置される軸により互いに回動可能に連結されている。また、アーム５０の上端部（部位２ａとは異なる他端側の部位２ｂ）には、３軸水平スカラ型アーム３を支持するための支持ベース６５がＹ方向に配置される軸により回動可能に枢支されている。
【００１６】
３軸水平スカラ型アーム３は、Ａ軸回転アーム１０、Ｂ軸回転アーム２０、及びハンド部材３０から構成されている。
Ａ軸回転アーム１０の一端（Ａ軸１１ａ）は、支持ベース６５に固設される支持部材６０に対してＺ方向に配置されるＡ軸１１ａを中心に回動可能に枢支されている。
Ｂ軸回転アーム２０の一端（Ｂ軸２１ａ）は、Ａ軸回転アーム１０におけるＡ軸１１ａとは異なる端部側にて回動可能に連結されている。
コの字形状を有するハンド部材３０は、コの字形状の基部側中央にＭ軸３１ａが、Ｂ軸回転アーム２０におけるＢ軸２１ａとは異なる端部側にて回動可能に設けられる。
【００１７】
２軸パンタリンク２のアーム４０及びアーム５０に対しては、平行リンク７１、７２が設けられている。すなわち、平行リンク７１の下端側及び平行リンク７２の上端側は、部位２ａに回動可能に設けられるリンクベース７０上の突起７３ｂ、７４ａに枢支されている。さらに、平行リンク７１の上端側は上記支持ベース６５の突起部７３ａに、他方、平行リンク７２の下端側はベース部材８０上の突起７４ｂに、各々枢支されている。つまり、アーム４０及びアーム５０に対して、平行リンク７１及び平行リンク７２が設けられているので、３軸水平スカラ型アーム３を水平の姿勢を保ったまま、上下方向及び水平方向に２軸パンタリンクの可動範囲内で移動させることが可能となる。
【００１８】
上記２軸パンタリンク２を動作させるために、部位２ｃにはアーム４０を回動するためのモータ、部位２ａにはアーム５０を回動するためのモータが各々設けられている。
また、３軸水平スカラ型アーム３を動作させるためにも、Ａ軸１１ａにはＡ軸回転アーム１０を回動するためのモータ、Ｂ軸２１ａにはＢ軸回転アーム２０を回動するためのモータ、Ｗ軸３１ａにはハンド部材３０を回動するためのモータが各々設けられている。
さらに、上述の各モータの回転軸等には、回転角度を検出するためのエンコーダが設けられている。
【００１９】
このような構成とすることで、コントローラ９３（図２参照）は、エンコーダが検出するモータの回転角度等の情報を取得することによって、該情報に基づいて各種処理を実行することを可能としている。
また、ロボット１は、２軸パンタリンク２を作動させることによって３軸水平スカラ型アーム３全体を略水平に保った状態で上下方向（Ｚ方向）及び水平（Ｘ方向）に動かすことが可能になるとともに、被搬送物を搬送するハンド部材３０を各アームの可動範囲内においてＸ方向、Ｙ方向、Ｚ方向の各々の方向に移動することができる。
なお、図１においては、Ａ軸１１ａを回動することによって、３軸水平スカラ型アーム３を回転させた場合の一例を点線で示している。また、図１に示す点線及び実線で示す状態以外にも可動範囲内であれば様々な状態とすることができる。
【００２０】
次に、図２を用いて、ロボット１を制御するためのシステムであるロボット制御システム１００の構成について、簡単に説明する。
ロボット制御システム１００は、主に、ロボット１、モータドライバ９１、ティーチングボックス９２、及びコントローラ９３とから構成されている。
モータドライバ９１は、ロボット１の各軸に設けられるモータを直接駆動するために電力等を供給するための駆動装置である。
ティーチングボックス９２は、ロボット１の動作を入力操作するための入力操作手段であって、キースイッチ、タッチパネル、レバー等が設けられるものであっても良い。
コントローラ９３は、ティーチングボックス９２によって入力された内容を記憶する記憶機能、各軸に設けられるモータ回転軸の回転角度の情報をエンコーダより取得して演算する演算機能、或いは該演算の結果に基づいてモータドライバ９１に対して制御信号等を発することによってロボット１の各軸のモータを制御するモーションコントローラの機能等を備えて構成されている。
【００２１】
このような構成とすることで、コントローラ９３は、モータドライバ９１やティーチングボックス９２と接続され、互いに通信することによって、ロボット制御システム１００全体を制御できる。また、コントローラ９３は、外部に設けられ、ロボット制御システム１００のユーザが用いるコンピュータ等の情報処理装置である上位コントローラ９４等に接続され、通信可能であっても良い。
このようにして、ロボット制御システム１００によって、２軸パンタリンク２及び３軸水平スカラ型アーム３は、コントローラ９３が発する信号によって各軸に設けられるモータが動作することによって、その形状を変形させることが可能となる。また、ハンド部材３０に載置した被搬送物を、上記２軸パンタリンク２と３軸水平スカラ型アーム３の可動範囲内において、所望の場所に搬送することができる。
【００２２】
以下に、本発明の特色であるロボット制御システム１００について説明する。ここで、本発明を説明する上で必要である、教示ルートｋ、教示点ｋ（ｎ）、教示セクション[ｋ（ｎ）]、目標ルートｓ、目標時間Ｔ、シフト教示点ｓ（ｎ）、目標セクション[ｓ（ｎ）]、及びセクション目標時間ｔ（ｎ）について順に説明する。なお、これらの情報は、予めコントローラ９３に記憶されているものとする。
また、ロボット制御システム１００において、少なくともロボット１の移動中の経過時間及び現在の位置を認識できるものとする。
【００２３】
まず、図３を用いて、教示ルートｋについて詳細に説明する。
図３に示すように、３次元空間において、ロボット１がある地点Ｏから別の地点Ｅに移動する場合を想定する。
ここで、ロボット１の移動基準として、分かり易く説明するため、ロボット１のハンド３０の回動中心である基部側中央Ｍを移動基準とする。
コントローラ９３は、ロボット１を開始点Ｏから目標点Ｅまで移動させる。このとき、コントローラ９３は、ロボット１を開始点Ｏから教示点ｋを経由し目標点Ｅまでを、それぞれ直線で結ぶ教示ルートｋ（図中実線）に従い移動させる。ロボット１を開始点Ｏから目標点Ｅまで移動は、開始点Ｏから目標点Ｅまでを直線で結ぶ目標ルートｓ（図中一点鎖線）が、距離・時間において最短である。しかし、実際に目標ルートｓで搬送した場合には、被搬送物の重量、アーム１０・２０の重量又は撓み等が要因となって、目標点Ｅより外れて移動することがある。そこで、開始点Ｏから目標点Ｅまでの間に予め分かっている外乱を考慮して目標点Ｅに確実に到達できるように、少なくとも一つ（実際は複数）の教示点ｋ（ｎ）を設定し記憶させておき、コントローラ９３は、この教示点ｋ（ｎ）を経由させて教示ルートｋに従いロボット１を作動させてハンド３０を移動させる。
なお、コントローラ９３は、ロボット１を、目標時間Ｔによって開始点Ｏから目標点Ｅまで移動させる。
【００２４】
一方、目標ルートｓは、開始点Ｏから目標点Ｅまでを直線で結ぶルートである。
各教示点ｋ（ｎ）とｋ（ｎ＋１）との間の教示ルートｋ（後述する教示セクション[ｋ（ｎ）]）は、目標ルートｓに対して、３次元のねじれの関係にあるといえる。
【００２５】
次に、図４を用いて、シフト教示点ｓ（ｎ）について詳細に説明する。
図４に示すように、シフト教示点ｓ（ｎ）は、各教示点ｋ（ｎ）から目標ルートｓに下ろした垂線（図中２点鎖線）の足である。すなわち、コントローラ９３は、ある教示点ｋ（ｎ）に対して、教示点ｋ（ｎ）、開始点Ｏ、及び目標点Ｅの３点で形成される平面を仮定し、その平面上において教示点ｋ（ｎ）から目標ルートｓに垂線を下ろし、その垂線の足をシフト教示点ｓ（ｎ）とする。ここで、シフト教示点ｓ（ｎ）は、上述の平面は教示点ｋ（ｎ）によって異なるため、目標ルートｓ上において全く規則性のない間隔で位置付けられる。
【００２６】
次に、図５を用いて、目標セクション[ｓ（ｎ）]について詳細に説明する。
図５に示すように、目標セクション[ｓ（ｎ）]は、目標ルートｓにおけるシフト教示点ｓ（ｎ）と次のシフト教示点ｓ（ｎ＋１）との間の区間である。
一方、教示ルートｋにおいて、教示点ｋ（ｎ）と次の教示点ｋ（ｎ＋１）との間の区間を教示セクション[ｋ（ｎ）]と定義する。
【００２７】
次に、図６を用いて、セクション目標時間ｔ（ｎ）について詳細に説明する。
セクション目標時間ｔ（ｎ）は、目標ルートｓを目標時間Ｔで等速移動すると仮定するときにおける、目標セクション[ｓ（ｎ）]の移動時間である。
図６は、横軸に目標時間Ｔの大きさを示し、縦軸に開始点０から目標点Ｅまでの目標ルートｓの距離Ｓにおける各シフト教示点ｓ（ｎ）の距離を示している。
各シフト教示点ｓ（ｎ）の距離とセクション目標時間ｔ（ｎ）とは、等速移動すると仮定すると比例関係となり、目標ルートｓの距離Ｓ、目標時間Ｔ、及び各シフト教示点ｓ（ｎ）の距離によって各セクション目標時間ｔ（ｎ）は算出される。すなわち、各セクション目標時間ｔ（ｎ）の目標時間Ｔにおける割合は、開始点Ｏから目標点ｓ（Ｅ）の距離における対応する各目標セクション[ｓ（ｎ）]の割合と同じである。
【００２８】
また、図７を用いて、別実施例であるセクション目標時間ｔ（ｎ）について詳細に説明する。
セクション目標時間ｔ（ｎ）は、目標ルートｓを目標時間Ｔで前半に加速、その後等速、目標点に向かって減速移動すると仮定するときにおける、目標セクション[ｓ（ｎ）]の移動時間である。
図７は、横軸及び縦軸は図６と同様であるため、説明を省略する。各シフト教示点ｓ（ｎ）の距離とセクション目標時間ｔ（ｎ）とは、前半に加速し以後等速移動した後に目標点に向かって減速すると仮定すると図７に示す曲線となり、目標ルートｓの距離Ｓ、目標時間Ｔ、及び各シフト教示点ｓ（ｎ）の距離によって各セクション目標時間ｔ（ｎ）は算出される。
【００２９】
以上の各定義を行なった上で、図５を用いて、本発明のロボット制御について詳細に説明する。
図５に示すように、コントローラ９３は、ハンド３０を教示ルートｋに従って移動させる（図中矢印の向き）。このとき、コントローラ９３は、ハンド３０の各教示セクション教示セクション[ｋ（ｎ）]間の移動を、対応する各セクション目標時間ｔ（ｎ）によって行なう。言い換えると、コントローラ９３は、前記目標ルートｓを通過すると仮定した時のそれぞれの目標セクション[ｓ（ｎ）]を移動する場合に所要する時間をセクション目標時間ｔ（ｎ）とし、このセクション目標時間ｔ（ｎ）で各教示セクション[ｋ（ｎ）]を移動するように制御する。
また、コントローラ９３は、ある教示セクション[ｋ（ｎ）]において、セクション目標時間ｔ（ｎ）に至らない（遅れている）場合には加速制御を行い、セクション目標時間ｔ（ｎ）を越えている（進んでいる）場合には減速制御を行い、目標点Ｅに目標時間Ｔで到達するように制御することもできる。
さらに、コントローラ９３は、ある教示セクション[ｋ（ｎ）]移動時において、教示セクション[ｋ（ｎ）]から位置がズレた場合には、教示セクション[ｋ（ｎ）]に戻るようにロボットを制御する。例えば、想定した荷重よりも重く教示セクション[ｋ（ｎ）]より下がる場合には、教示セクション[ｋ（ｎ）]の高さにもどるように上昇させる。
結果として、実際のロボット１の移動は、各教示セクション[ｋ（ｎ）]においてそれぞれ速度の異なる移動を行なうことになる。また、それぞれの教示セクション[ｋ（ｎ）]の速度は、その教示セクション[ｋ（ｎ）]と目標セクション[ｓ（ｎ）]とのねじれが大きい（平行でない）程、大きい速度となることが分かる。
【００３０】
このようにして、コントローラ９３は、ハンド３０を常に目標時間Ｔによって移動することができる。被搬送物の種類が変わって教示ルートｋが変更された場合、被搬送物や被搬送物の状態が変わる等の予め予期せぬ外乱が発生し教示セクション[ｋ（ｎ）]のルートが異なった場合でも、同様に常に目標時間Ｔによって移動することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施例に係る搬送用ロボットの一例であって、全体的な構成を示す概略構成図。
【図２】同じくロボット制御システムの概略構成を示すブロック図。
【図３】同じく被搬送物の教示ルートを示す動作説明図。
【図４】同じく教示ルート及び目標ルートを示す動作説明図。
【図５】同じくある一つの目標セクション及び教示セクションを示す動作説明図。
【図６】同じくセクション目標時間を示すグラフ図。
【図７】同じく別のセクション目標時間を示すグラフ図。
【符号の説明】
【００３２】
１    ロボット
２０    回転アーム
３０    回転アーム
４０    アーム
５０    アーム
３０    ハンド
９２    ティーチングボックス
９３    コントローラ
１００    ロボット制御システム
ｋ    教示ルート
ｋ（ｎ）    教示点
[ｋ（ｎ）]    教示セクション
ｓ    目標ルート
Ｔ    目標時間
ｓ（ｎ）    シフト教示点
[ｓ（ｎ）]    目標セクション
ｔ（ｎ）    セクション目標時間
【図１】
2008229796.tif 000003
【図２】
2008229796.tif 000004
【図３】
2008229796.tif 000005
【図４】
2008229796.tif 000006
【図５】
2008229796.tif 000007
【図６】
2008229796.tif 000008
【図７】
2008229796.tif 000009