(57)【特許請求の範囲】
【請求項１】
複数のアーム部材が複数の関節で連結されると共に前記各関節ごとに駆動源を備えるロボットと前記ロボットを傾斜状態で保持する旋回台と前記旋回台を旋回させる旋回駆動源とを備えるロボットシステムと、
前記ロボットシステムの教示点を入力するための教示点入力装置と、
前記旋回台の旋回軸に対して垂直となる平面に前記ロボットの動作開始時の先端位置と前記入力された教示点とを正射影して求まる二点が前記旋回軸回りでなす角を旋回台の目標旋回角度とし、当該目標旋回角度に基づいて、前記ロボットの動作開始時の先端位置から教示点を結ぶ直線上に点在する複数の補間点とこれらの補間点に個別に対応する前記旋回台の旋回角度を算出する旋回角度算出部と、
前記各補間点に個別に対応する前記旋回台の旋回角度に基づいて、前記ロボットの先端位置が前記各補間点を通過するように、当該ロボットの各関節角度を算出する関節角度算出部と、
前記旋回角度算出部及び関節角度算出部から求まる算出角度に基づいて前記ロボットシステムの再生時の動作制御を行う動作制御部とを備え、
前記動作制御部は、前記教示点に向かって旋回角度が推移する場合に、前記ロボットの動作限界により前記ロボットの先端位置を前記旋回角度に対応する補間点に合わせることができない場合に、対応する補間点に合わせることが可能となる旋回角度となるまでロボットの先端位置が前記直線上の途中の補間点を維持するように前記ロボットを制御することを特徴とするロボットシステム制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節型のロボットとその旋回装置とを備えるロボットシステムの制御装置に関する。
【背景技術】
【０００２】
産業用ロボットは主に複数のアーム部材を連結した構造からなり、図５のような垂直多関節構造のロボットや、図６のような水平多関節構造のロボットが代表的な構造のものである。これらのロボットは、ティーチングペンダントと呼ばれるリモートコントローラによって、各軸を動かしたり、ツールの先端を直線動作させたり、姿勢を変えたりすることで、ツール先端をワークの適切な位置へ移動させ、その位置を記憶させる教示作業(ティーチング)と、その教示された点を自動的にたどる再生動作(プレイバック)によってワークに対して何らかの作業を実施する。これをティーチングプレイバックと呼ぶ。
しかしながら、ティーチングして再生動作できる範囲は、図５，６に示されるロボットの動作範囲を越えることはできない。
例えば図７のような作業範囲外近くに作業対象がきた場合、ロボットが極端に折りたたまれてしまうなどの問題が生じる。そこで、ロボットを傾斜させる従来技術を適用することが考えられる（例えば、特許文献１参照）。これによれば、作業範囲外近くであった領域がより作業範囲内となり、ロボットに対して傾斜の下方となる領域にツールの先端部を容易に到達させることが可能となり、極端に折りたたまれてしまうなどの問題を解消することが可能となる。
【特許文献１】特開平７−３０２１０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ロボットを傾斜設置した場合、ロボットに対して傾斜の上側となる領域の動作範囲は極端に狭くなり、地面に最も近い旋回軸を180度回したとしてもかなり動作範囲が限定されてしまい、作業が不可能となる。
そこで、ロボットを傾斜設置する台の下に地面と垂直に旋回軸を設けることで動作範囲を拡大する方法が考えられる。しかしながら、かかる構成の場合、旋回軸が実質的に冗長となるため、旋回軸とロボットの各関節角度とが一意に決まらなくなり、旋回軸とロボットを同時に動作させることができないという問題があった。一方、旋回軸を動作させて所定位置で固定し、その後、ロボットを動作させる等のように、垂直旋回軸とロボットとを独立に動作させる動作形態をとれば、旋回軸とロボットの各関節角度とをそれぞれ一意に定めることが可能となるが、その場合には、ロボットと旋回軸が独立に動作するため、サイクルタイムが延長してしまうという問題が生じる。
【０００４】
本発明は、動作範囲を拡大しつつ適切に動作を行うことを可能とすることをその目的とする。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、複数のアーム部材が複数の関節で連結されると共に前記各関節ごとに駆動源を備えるロボットと前記ロボットを傾斜状態で保持する旋回台と、前記旋回台を旋回させる旋回駆動源とを備えるロボットシステムと前記ロボットシステムの教示点を入力するための教示点入力装置と、前記旋回台の旋回軸に対して垂直となる平面に前記ロボットの動作開始時の先端位置と前記入力された教示点とを正射影して求まる二点が前記旋回軸回りでなす角を旋回台の目標旋回角度とし、当該目標旋回角度に基づいて、前記ロボットの動作開始時の先端位置から教示点を結ぶ直線上に点在する複数の補間点とこれらの補間点に個別に対応する前記旋回台の旋回角度を算出する旋回角度算出部と、前記各補間点に個別に対応する前記旋回台の旋回角度に基づいて、前記ロボットの先端位置が前記各補間点を通過するように、当該ロボットの各関節角度を算出する関節角度算出部と、前記旋回角度算出部及び関節角度算出部から求まる算出角度に基づいて前記ロボットシステムの再生時の動作制御を行う動作制御部とを備える、という構成を採っている。
【０００６】
なお、上記構成において「ロボットの動作開始時の先端位置から教示点を結ぶ直線」との記載があるが、連続する複数の教示点が入力された場合には、二番目以降の教示点については「直前の教示点からそれに続く二番目以降の教示点を結ぶ直線」と読み替えるものとする。
同様に、「前記ロボットの動作開始時の先端位置と前記入力された教示点とを正射影して求まる二点」との記載も「直前の教示点とそれに続く二番目以降の教示点とを正射影して求まる二点」と読み替えるものとする。
【０００７】
さらに、請求項１記載の発明は、前記動作制御部は、前記教示点に向かって旋回角度が推移する場合に、前記ロボットの動作限界により前記ロボットの先端位置を前記旋回角度に対応する補間点に合わせることができない場合に、対応する補間点に合わせることが可能となる旋回角度となるまでロボットの先端位置が前記直線上の途中の補間点を維持するように前記ロボットを制御する、という構成を採っている。
【発明の効果】
【０００８】
請求項１記載の発明は、動作の目標位置となる教示点が入力されると、旋回角度算出部は、旋回軸に垂直な平面にロボットの動作開始時の先端位置を正射影して求まる点から旋回軸への垂線と教示点を正射影して求まる点から旋回軸へ垂線とのなす角を旋回台の目標旋回角度（動作開始におけるロボットの先端位置が教示点に到達するまでに旋回軸を回転させる角度）に定める。そして、当該目標旋回角度に基づいて各補間点における旋回角度を算出する。各補間点は、動作開始時の先端位置から教示点を結ぶ直線上に点在する所定周期ごとの通過点であり、例えば、動作開始から教示点到達までの所要時間や動作角度に応じて加減速パターンが定められている場合には、それに従って旋回動作を行った場合における各補間点での旋回角度が算出される。
上記のように、旋回角度算出部が各補間点における旋回角度を定めるので、ロボットシステムにおいて旋回軸の自由度が冗長となる場合でも、各補間点におけるロボットの各関節角度をすべて一意に定めることができる。即ち、関節角度算出部は、各補間点においてロボットの先端位置が動作開始時の先端位置と教示点とを結ぶ直線に乗るように各関節角度を算出する。なお、各補間点が、動作開始時の先端位置と教示点とを結ぶ直線上のいずれに位置するかは、例えば、補間点周期に従って均一間隔に配置しても良いし、各補間点ごとの旋回角度に応じた間隔で配置しても良いし、その他の周知の補間点の配置法に従っても良い。
そして、動作制御部は、旋回角度算出部及び関節角度算出部から求まる旋回軸及び各関節の算出角度に基づいて、各補間点について順番に角度制御を行うことで、ロボットシステムが再生動作を実行する。
このように、本発明は、ロボットを旋回台に傾斜配置したことで旋回軸との協働により周囲の動作死角を低減し、動作範囲を拡大することが可能となる。
また、教示点が入力されると各補間点の旋回角度を定めるので、ロボットの各関節角度も一意に定めることができ、冗長関節の問題を解消すると共に、旋回動作とロボットの動作とを並行して行うことができ、再生時のサイクルタイムを短縮化することが可能となる。従って、動作範囲を拡大しつつ適切に動作を行うことが可能となる。
なお、旋回角度算出部と関節角度算出部の算出処理を予め済ませてから再生動作を実行しても良いし、算出処理と再生動作とを並行して行っても良い。
【０００９】
さらに、請求項１記載の発明は、動作制御部が、算出されたいずれかの旋回角度にロボットが位置する場合にはその動作限界によりロボットの先端位置を対応する補間点に合わせることができないと判断した場合に、対応する補間点に合わせることが可能となる旋回角度となるまでロボットの先端位置及び姿勢が直線上の途中の補間点で静止するようにロボットの動作制御を行う。
これにより、ロボットの動作限界により動作開始時の先端位置と教示点とを結ぶ直線上に通過できない箇所が発生しても、当該直線からロボットの先端位置が逸脱して移動することを回避することができると共に、そのような通過できない補間点を含むために移動不可能となる動作範囲を低減し、ロボットシステムの動作可能範囲をより拡大することが可能となる。
【発明を実施するための最良の形態】
【００１０】
（発明の実施形態の全体構成）
本発明の実施の形態を図１乃至図４に基づいて説明する。図１は、実施形態であるロボットシステム制御装置５０の概略構成図である。
上記ロボットシステム制御装置５０は、ツール１５を保持可能であると共に当該ツール先端（ロボットの先端位置）を任意の位置に移動させ或いは任意の向きに向ける動作を行うロボット１０と当該ロボット１０を旋回させる旋回装置２０とからなるロボットシステム１と、入力される教示点に基づいてロボットシステム１に再生動作を行わせる制御回路３０とを備えている。
【００１１】
（ロボットシステム）
上述のロボットシステム１のロボット１０は、土台となるベース１１と、関節１３で連結された複数のアーム部材１２と、各関節１３ごとに設けられた駆動源としてのサーボモータ（図示略）と、各サーボモータの軸角度をそれぞれ検出するエンコーダ（図示略）とを備えている。そして、連結された各アーム部材１２の先端部１４にはロボットシステム１の用途に応じたツール１５（例えば溶接ガン、ハンド等）が装備される。
上記各関節１３は、アーム部材１２の一端部を揺動可能として他端部を軸支する揺動関節と、アーム自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。また、最もベース１１側となる第一関節は回転関節、次の第二及び第三関節は揺動関節となっており、これら第一〜三関節によりツール１５の位置決めを行う。即ち、本実施形態におけるロボット１０は垂直多関節構造のロボットに相当する。
【００１２】
旋回装置２０は、円錐台形状の旋回台２１と当該旋回台２１を旋回させる図示しない旋回駆動源としての旋回モータとを備えている。
かかる旋回装置２０は、通常は水平面上に設置される。そして、旋回モータは旋回台２１を設置面に対して垂直軸周りに旋回駆動させる。つまり、旋回軸はＺ軸方向に平行になっている。また、この旋回モータはその旋回角度を検出するエンコーダ（図示略）が併設されたサーボモータであり、制御回路３０により任意の旋回角度に制御されるようになっている。
【００１３】
旋回台２１は略円錐台形状に形成され、その円錐面の一部が平滑に切り欠かれてなる傾斜面２２を具備している。そして、当該傾斜面２２にロボット１０が傾斜設置されている。かかる旋回台２１の傾斜面２２は、設置面に対して45°の傾斜角度に設定されているがこれに限定されず、当該傾斜角度ｓは0°＜ｓ≦90°の範囲内であれば良く、さらに30°＜ｓ≦90°の範囲内であればより望ましい。
【００１４】
（制御回路）
制御回路３０は、当該制御回路３０全体を制御するシステムプログラムとロボットシステム１の教示を実行するための教示プログラム３２ａとロボットシステム１の再生動作を実行するための各種プログラム３２ｂ〜３２ｄと各種の初期設定データが格納されたＲＯＭ３２と、ＲＯＭ３２に格納された各種のプログラムを実行するＣＰＵ３１と、ＣＰＵ３１の処理により各種データをワークエリアに格納するＲＡＭ３３と、ＣＰＵ３１の実行する教示プログラム３２ａ及び再生のための各種プログラム３２ｂ〜３２ｄに従って決定されるロボット１０及び旋回装置２０の各サーボモータのトルク値に応じたサーボモータ駆動電流を通電するサーボ制御回路３４と、各サーボモータに併設されたエンコーダ出力を受信するインターフェイス３５と、前述の教示プログラム３２ａ及び再生のための各種プログラム３２ｂ〜３２ｄの処理により求められるロボットシステム１の制御データが格納される記憶手段としての補助記憶装置３６と、ロボットシステム１の教示点、その他の各種の設定を入力するための例えばティーチペンダント等の教示入力装置としての入力装置３７と、各種の処理において所定の情報の表示を行うディスプレイである表示手段３８と、上記各構成を信号の送受が可能に接続するバス３９とを備えている。
なお、上述の補助記憶装置３６は、格納されたデータを書き替え可能に記憶保持可能な手段であれば良く、例えば、不揮発性の半導体メモリ或いはいわゆるハードディスク装置等で構成されている。
【００１５】
（制御回路の処理）
制御回路３０において行われる主要な処理について図２及び図３に基づいて説明する。
なお、以下の説明において、ロボットシステム１の設置面（水平面）に平行な一方向をＸ軸方向とし、設置面に平行でＸ軸方向に直交する方向をＹ軸方向とし、設置面に垂直な方向をＺ軸方向とする。
【００１６】
まず、教示プログラム３２ａに基づく教示処理について説明する。なお、ここで、説明の明確化のために、ロボット１０はツール先端の位置決めを行う３自由度のロボットであるものとして説明を行うが、ロボット１０はツールの姿勢を決める４自由度以上の関節を備えていても良いことは言うまでもない。
前述の入力装置３７は、少なくとも、３次元上の任意の位置にツール先端を誘導するようにロボットシステム１全体を操作する方向キーと、任意の位置を教示点として確定するための確定キーと、確定された教示点に基づく動作の再生を実行させる再生キーとを備えている。
入力装置３７の方向キーの入力を受けると、教示プログラム３２ａによりＣＰＵ３１は、ロボットシステム１の旋回モータを含む全サーボモータを制御して方向キーの示す方向にツール先端を移動させる。このときのロボットシステム１の動作制御は、方向キーの示すＸ，Ｙ成分の移動量が所定範囲を超えなければロボット１０のみを動作させ、Ｘ，Ｙ成分の移動量が所定範囲を超える場合には冗長となる旋回モータが足りない移動量を補う方向に動作するように制御される。なお、旋回モータについては冗長関節についての周知の制御を行っても良い。
そして、任意の位置にツール先端が位置決めされて確定キーが入力されると、当該先端位置を教示点として補助記憶装置３６に記憶する。
また、教示プログラム３２ａの実行に際し、入力装置３７からは、教示点到達までの予定到達時間、教示点におけるツール先端の速度、その他、ロボット１０が４自由度を超える場合にはツールの姿勢等が入力され、これらも補助記憶装置３６に記憶される。
【００１７】
次に、再生のための各種プログラムである旋回角度算出プログラム３２ｂ、関節角度算出プログラム３２c、再生動作制御プログラム３２ｄについて説明する。ここでは、入力装置３７の再生キーの入力時のロボットシステム１のツール先端位置（動作開始位置）から最初の教示点までの再生動作を行う場合を例に説明する。
図２（Ａ）はＺ軸方向に沿って真上からロボットシステム１を見た場合の各点を示す概略図、図２（Ｂ）は再生動作による位置変化する場合の各点を示す概略図である。
再生キーの入力を受けると、旋回角度算出プログラム３２ａにより、ＣＰＵ３１は、ロボットシステム１の各エンコーダから動作開始位置を求めると共に記憶された教示点を読み出して、動作開始位置から教示点までの複数の補間点における旋回角度を算出する処理を実行する。補間点とは、動作開始位置から教示点までを結ぶ直線（移動軌跡Ｌとする）の再生動作においてロボット１０のツール先端が移動軌跡Ｌ上を所定周期で通過すべき複数の通過点のことである。
【００１８】
ＣＰＵ３１は、この旋回角度算出プログラム３２ｂによって各補間点ごとに旋回モータの動作角度（旋回角度）を求めた後に、関節角度算出プログラム３２ｃによりロボット１０の各関節のサーボモータの動作角度（関節角度）を算出する。これにより、冗長となる旋回モータの旋回角度が定数に定まるので、各ロボット１０の関節角度も一意に定めることができる。
まず、ＣＰＵ３１は、各補間点ごとに旋回モータの旋回角度は、図２（Ａ）に示すように、教示点Ｋｄ及び動作開始位置ＫｓについてＸ−Ｙ平面に正射影された二点の位置を求め、各点からＸ−Ｙ平面の原点に延びた直線同士のなす角θを算出する。そして、この角度θを教示点までの目標旋回角度に定める。
次いで、ＣＰＵ３１は、教示点までの到達予定時間や教示点におけるツール先端の速度から角度θだけ旋回するための加減速パターンを定める。加減速パターンは、例えば、複数種類のものが予め記憶されており、旋回角度量やその所要時間に応じて適宜選択して決定しても良い。或いはこの加減速パターンも入力装置３７から入力しても良い。
そして、ＣＰＵ３１は、加減速パターンにより所定周期ごとの角度位置を各補間点における旋回角度として算出し、ＲＡＭ３３に記憶する。
このように、旋回角度算出プログラム３２ｂを実行することによりＣＰＵ３１は、「旋回角度算出部」として機能する。
【００１９】
各補間点における旋回角度が求まると、ＣＰＵ３１は、関節角度算出プログラム３２ｃを実行する。ＣＰＵ３１は、まず、補間点を算出する。即ち、ＣＰＵ３１は、Ｚ軸と動作開始時のツール先端位置とを含む平面を各旋回角度だけＺ軸回りで回転させた各平面と移動軌跡Ｌとの交点を求め、これらをそれぞれの補間点とする。
さらに、ＣＰＵ３１は、各補間点とそれぞれの旋回角度が求まると、ロボット１の各関節角度を算出する。即ち、旋回角度が決まると、ロボット１のベース１１の位置及び向きが定まり、そこからのツール先端を合わせる補間点も定まっているので、ロボット１０に固有の逆変換行列を用いて各関節角度を一意に定めることが可能となる。
このように、関節角度算出プログラム３２ｃを実行することによりＣＰＵ３１は、「関節角度算出部」として機能する。
【００２０】
次に、ＣＰＵ３１は、再生動作制御プログラム３２ｄを実行して、算出された旋回角度及び関節角度となるように旋回モータ及び各関節のサーボモータを順次駆動させて、ロボットシステム１のツール先端が各補間点を通過して教示点に至るように動作制御を実行する。
また、この再生動作制御プログラム３２ｄによれば、ＣＰＵ３１は、教示点Ｋｄに至るまでの各補間点を通過させる際に、いずれかの旋回角度においてロボット１０の動作限界によりツール先端位置を対応する補間点に合わせることができない場合には、旋回を継続して対応する補間点に合わせることが可能となる旋回角度となるまでロボット１０の先端位置が途中の補間点を維持するようにロボット１０を制御する。
上記制御を図３により詳しく説明する。
旋回角度θ１においてロボット１０のツール先端が補間点Ｋ１に合わせられた状態から次の旋回角度θ２に移行する過程において、リーチが届かない或いは構造上の動作死角に該当するなどの理由により、次の旋回角度θ２に移動すると対応する補間点Ｋ２にツール先端に合わせることができないと判断すると、ＣＰＵ３１は、ロボット１０が旋回角度θ２に位置する状態で直前の補間点Ｋ１にツール先端を位置合わせするための各関節角度を算出し直し、当該関節角度となるようにロボット１０を制御する。つまり、ロボットシステム１は旋回角度θ２において補間点Ｋ１を維持した状態となる。そして、次の旋回角度θ３において対応する補間点Ｋ３にツール先端に合わせることができるか判定を行い、できない場合には旋回角度θ２と同様に補間点Ｋ１を維持する処理を行う。図３では、次の旋回角度θ３において補間点Ｋ３にツール先端に合わせることが可能と判断された場合の動作を示している。その場合、図３に示すように、ロボット１０は補間点Ｋ２を飛ばして補間点Ｋ３に至ることになる。
このように、再生動作制御プログラム３２ｄを実行することによりＣＰＵ３１は、「動作制御部」として機能する。
【００２１】
（教示及び再生動作）
以下、上記構成からなるロボットシステム制御装置５０におけるロボットシステム１の教示及び再生の一連の動作を図４に示すフローチャートに基づいて説明する。
まず、入力装置３７の方向キーにより教示点の位置の入力が行われると（ステップＳ１）、ＣＰＵ３１は、教示プログラム３２ａに従って、方向キーが示す方向にロボット１０のツール先端が移動するようにロボットシステム１の動作制御を実行する。そして、確定キーの入力により教示点位置が確定し、教示点到達までの予定到達時間、教示点におけるツール先端の速度等の諸条件が入力されると、それらを補助記憶装置３６に記憶する。
【００２２】
次に、ＣＰＵ３１は、入力装置３７からの再生キーの入力があるか判定する（ステップＳ２）。そして、入力があると、ＣＰＵ３１は、旋回角度算出プログラム３２ｂに従って、旋回モータのエンコーダとロボット１０の各関節のエンコーダとからツール先端位置（動作開始位置）を算出すると共に補助記憶装置３６に記憶された教示点の読み込みを行う（ステップＳ３）。そして、これら教示点及びツール先端位置の正射影から教示点まで到達させるための旋回角度を求め、当該旋回角度とその加減速パターンとから各補間点Ｔｎにおける旋回角度の算出を行う（ステップＳ４）。
【００２３】
次に、ＣＰＵ３１は、関節角度算出プログラム３２ｃにより、各旋回角度から全ての補間点Ｔｎの位置の算出を行う（ステップＳ５）。そして、補間点Ｔｎのカウント値ｎを１に設定する（ステップＳ６）。さらに、現在のカウント値ｎにおける補間点Ｔｎにツール先端の位置合わせを行うためのロボット１０の各関節角度を算出する（ステップＳ７）。
【００２４】
次に、ＣＰＵ３１は、再生動作制御プログラム３２ｄにより、現在のカウント値ｎにおける補間点Ｔｎが、現在の旋回角度θｎに位置するロボット１０の動作範囲内にあるか否かを判定する（ステップＳ８）。
当該補間点Ｔｎがロボット１０の動作範囲内であれば、ＲＡＭ３３内に設定された一時記憶領域に当該補間点Ｔｎの値を上書きする（ステップＳ９）。
そして、旋回モータを補間点Ｔｎにおける旋回角度θｎとなるように制御すると共にステップＳ７で求めた各関節角度となるように各サーボモータを制御して（ステップＳ１０）、ステップＳ１３に処理を進める。
一方、補間点Ｔｎがロボット１０の動作範囲外の場合には、ＣＰＵ３１は、一時記憶領域に最後に記憶された補間点Ｔn-mを読み出すと共に、旋回角度θｎに位置するロボット１０のツール先端を補間点Ｔn-mに合わせるための関節角度を新たに算出し直す処理を実行する。
ここで、一時記憶領域は、補間点Ｔｎがロボット１０の動作範囲外である場合に、ロボット１０の動作範囲内であった最後の補間点を読み出すためのものである。例えば、ステップＳ８において動作範囲外の判定がｍ回連続した場合には最後に動作範囲内と判定された補間点Ｔn-mの値が読み出されることとなる。
そして、旋回モータを補間点Ｔｎにおける旋回角度θｎとなるように制御すると共にステップＳ１１で求めた各関節角度となるように各サーボモータを制御して（ステップＳ１２）、ステップＳ１３に処理を進める。
【００２５】
ステップＳ１３では、ＣＰＵ３１は、補間点Ｔｎのカウント値が全補間点数ｅ（教示点を含む）に達したかを判定し、達していない場合にはカウント値を１加算してステップＳ７に処理を戻し、達している場合には処理を終了する。
【００２６】
（ロボットシステム制御装置の効果）
ロボットシステム制御装置５０では、制御回路３０のＣＰＵ３１が旋回角度算出部として機能することにより、各補間点における旋回角度を定めるので、関節角度算出部として機能するＣＰＵ３１は、ロボットシステム１において旋回軸の自由度が冗長となる場合でも、各補間点におけるロボットの各関節角度をすべて一意に定めることができる。
従って、ロボット１０を旋回台２１に傾斜配置したことで旋回軸との協働により周囲の動作死角を低減し、動作範囲を拡大することを可能としつつも、旋回装置２０の動作停止を待ってからロボット１０を駆動する必要がなくなり、旋回動作とロボット１０の動作とを並行して行うことができ、再生時のサイクルタイムを短縮化することが可能となる。
【００２７】
さらに、制御回路３０のＣＰＵ３１が動作制御部として機能することにより、いずれかの旋回角度においてロボットが動作限界により先端位置を対応する補間点に合わせることができない場合に、ロボットの先端位置がそれ以前の補間点で静止するようにロボットの動作制御を行う。このため、ロボット１０の先端位置が通過できない補間点が発生しても、移動軌跡Ｌから逸脱して移動することを回避することができると共に、そのような通過できない補間点を含むために移動不可能となる動作範囲を低減し、ロボットシステム１の動作可能範囲をより拡大することが可能となる。
【００２８】
（その他）
なお、上記教示装置３０に処理にあっては、二軸のロボット１０を例示したが、図１に示すような、より多くの関節を有するロボット１０に対して同様の教示処理を行っても良いことはいうまでもない。その場合、第四関節以降は、ツールの姿勢制御に用いられることが一般的であるが、教示の際には教示点におけるツールの姿勢も設定することが必要となる。そして、第四関節以降について、再生の際には、動作開始時の姿勢の各関節角度から教示点における姿勢をとるための各関節角度になるように所定の加減速パターンで回転駆動するように制御が行われる。
【００２９】
また、上記実施形態では、各補間点における旋回角度を求めた後に、補間点一ずつについて、位置及び当該補間点における各関節角度の算出と再生動作とを交互に繰り返す処理を行っているが、一括して全補間点の位置及び関節角度を算出してから再生動作に移行しても良い。また、その場合、動作制御部としての処理（通過できない補間点の判定とそれ以前の補間点にツール先端を位置合わせするための関節角度を求める処理）については一つ一つの補間点の再生動作時に行っても良いし、一括して全補間点の位置及び関節角度を算出してから再生動作前に全ての補間点について行っても良い。
【００３０】
また、上記実施形態では、教示点が一つだけ設定された場合を例に説明したが、連続して移動する複数の教示点を入力しても良いことは言うまでもない。その場合、二番目以降の教示点について処理を行う場合には、連続する二つの教示点のＸ−Ｙ平面に対する正射影位置から目標旋回角度を求め、二つの教示点間の各補間点における旋回角度は前述と同様にして求めることができる。さらに、二つの教示点を結ぶ移動軌跡と各旋回角度でＺ軸回りに傾斜した各平面との交点から各補間点の位置も求めることができる。さらに、各旋回角度と各補間点の位置とからロボット１０の各関節角度も求めることができる。また、通過できない補間点の判定とそれ以前の補間点にツール先端を位置合わせするための関節角度を求める処理については、上記実施形態における説明と同様にして求めることができる。
【００３１】
また、教示プログラム３２ａ、旋回角度算出プログラム３２ｂ、関節角度算出プログラム３２c、再生動作制御プログラム３２ｄに基づく処理の全部又は一部については、上記のようにマイコン等のソフトウェアを用いる演算装置によりその機能を実現して良いし、アナログ回路等のハードウェアを用いてその機能を実現しても良い。
【図面の簡単な説明】
【００３２】
【図１】実施形態であるロボットシステム制御装置の概略構成図である。
【図２】図２（Ａ）はＺ軸方向に沿って真上からロボットシステムを見た場合の各点を示す概略図、図２（Ｂ）は再生動作による位置変化する場合の各点を示す概略図である。
【図３】動作制御部としての処理示すロボットシステムの概略説明図
【図４】ロボットシステム制御装置におけるロボットシステムの教示及び再生の一連の動作を示すフローチャートである。
【図５】従来の垂直多関節構造のロボットの動作範囲を示す側面図である。
【図６】図６（Ａ）は従来の水平多関節構造のロボットの側面図、図６（Ｂ）は平面図である。
【図７】従来の垂直多関節構造のロボットが極端に折りたたまれてしまった状態を示す側面図である。
【符号の説明】
【００３３】
１  ロボットシステム
１０  ロボット
１２  アーム部材
１５  ツール
２０  旋回装置
２１  旋回台
３０  制御回路
３１  ＣＰＵ（旋回角度算出部、関節角度算出部、動作制御部）
３２ａ  教示プログラム
３２ｂ  旋回角度算出プログラム
３２ｃ  関節角度算出プログラム
３２ｄ  再生動作制御プログラム
３２  ＲＯＭ
３４  補助記憶装置（記憶手段）
３７  入力装置（教示点入力装置）
５０  ロボットシステム制御装置
【図１】
0005056241.tif 000002
【図２】
0005056241.tif 000003
【図３】
0005056241.tif 000004
【図４】
0005056241.tif 000005
【図５】
0005056241.tif 000006
【図６】
0005056241.tif 000007
【図７】
0005056241.tif 000008