(57)【特許請求の範囲】
【請求項１】
エンドエフェクタを出発点から到達点へ動作させる多関節ロボットの動作経路設定方法において、
前記出発点と前記到達点とを結ぶ経路を想定し、前記エンドエフェクタを前記経路上に動作させることが可能であるか否かを調査する第１のステップと、
前記第１のステップで、前記経路上を動作させることが不可能である場合に、前記出発点または前記到達点から前記エンドエフェクタを前記出発点または前記到達点における前記エンドエフェクタの姿勢を基準とした所定の方向へ規定距離だけ動作する待避経路を設定する第２のステップと
を有することを特徴とする多関節ロボットの動作経路設定方法。
【請求項２】
請求項１記載の多関節ロボットの動作経路設定方法において、
前記第２のステップで、前記経路上を動作させることが不可能である場合に、前記エンドエフェクタを空間上の定点の方向へ規定距離だけ動作する待避経路を設定する第３のステップ
を有することを特徴とする多関節ロボットの動作経路設定方法。
【請求項３】
請求項２記載の多関節ロボットの動作経路設定方法において、
前記定点は、前記多関節ロボットの元軸の中心点であることを特徴とする多関節ロボットの動作経路設定方法。
【請求項４】
請求項２記載の多関節ロボットの動作経路設定方法において、
前記待避経路の終点を新たな出発点または到達点として規定し、前記第１のステップおよび第３のステップを再度実行することを特徴とする多関節ロボットの動作経路設定方法。
【請求項５】
請求項１〜４のいずれか１項に記載の多関節ロボットの動作経路設定方法において、
前記終点が、前記多関節ロボットにとって到達不可能な点または干渉を発生する点であるとき、前記規定距離を修正した前記待避経路を再設定することを特徴とする多関節ロボットの動作経路設定方法。
【請求項６】
エンドエフェクタを出発点から到達点へ動作させる多関節ロボットの動作経路設定装置において、
前記出発点と前記到達点とを結ぶ経路を想定し、前記エンドエフェクタを前記経路上に動作させることが可能であるか否かを調査する経路調査部と、
前記経路調査部で、前記経路上を動作させることが不可能であると判断された場合に、前記出発点または前記到達点から前記エンドエフェクタを前記出発点または前記到達点における前記エンドエフェクタの姿勢を基準とした所定の方向へ規定距離だけ動作する待避経路を設定する経路設定部と
を有することを特徴とする多関節ロボットの動作経路設定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多関節ロボットの動作経路設定方法および設定装置に関し、特に、多関節ロボットの先端部に設けられたエンドエフェクタが、所定の出発点から到達点へ動作するための経路を設定するための多関節ロボットの動作経路設定方法および設定装置に関する。
【０００２】
【従来の技術】
従来、製造ラインに設置された多関節ロボットを直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならないため、その分作業が非効率的となってしまう。また、その作業は、製造ラインを停止された状態で行う必要があるために当該製造ラインの稼動率も低下してしまう。
【０００３】
そこで、近時前記ティーチング作業の効率化を図るため、あるいは、前記製造ラインの稼動率を向上させるために、オフラインによるティーチング（オフラインティーチング）が行われている。すなわち、コンピュータ上に多関節ロボット並びに作業対象物であるワークおよび周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、前記ティーチングデータを現場の多関節ロボットに供給するようにすれば、ティーチングデータの作成中に製造ラインを停止させる必要がない。
【０００４】
【発明が解決しようとする課題】
ところで、従来技術によるオフラインティーチングは、必ずしも広範に利用されてはいない。
【０００５】
なぜならば、多関節ロボットは様々な周辺構造物、ワーク等との干渉（接触等）を回避する必要があることは当然であるが、周辺構造物の種類が多い場合やワークの形状が複雑である場合にはそれらの障害物を回避する動作経路を設定することは困難であるからである。
【０００６】
より具体的には、多関節ロボットのとりうる姿勢全てについて干渉の調査を行う総当たり法は、計算量が膨大になり実用的でなく、また、所謂、数理計画などの最適化手法は解法が存在しないことがある。またさらに、乱数を利用した確率的手法では、解が収束する保証がないことおよび計算の再現性がないことが問題である。
【０００７】
これらの問題を解決するためにいくつかの手法が提案されている。
【０００８】
例えば、出発点と到達点とを含む平面を利用する手法（特許第２８７５４９８号公報参照）がある。この手法では、規定した平面上において障害物の断面を適当に拡大した進入禁止領域を規定し、この進入禁止領域の頂点を通る動作経路を設定して干渉を回避する。しかしながら、この手法においては、進入禁止領域との干渉をその都度検証して動作経路を設定するために、検証作業が繁雑になるとともに動作経路が複雑になる。さらに、動作経路が適正であっても、多関節ロボットが実際にその動作経路上を動作することができるのか否かを各軸の動作範囲等の観点から検証することができない。
【０００９】
また、他の手法として、例えば生産現場において障害物の位置や形状を専用のコントローラで入力指示して動作経路を設定する手法（特開平９−８１２２８号公報参照）がある。しかしながら、この手法においては、生産現場にて実機を動作させながら教示させるので、自動で動作経路を設定することはできない。
【００１０】
本発明はこのような課題を考慮してなされたものであり、多関節ロボットの動作経路を、ワークや障害物の形状に影響を受ける複雑な演算をすることなく、かつ、自動的に効率よく設定することを可能にする多関節ロボットの動作経路設定方法および設定装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明に係る多関節ロボットの動作経路設定方法は、エンドエフェクタを出発点から到達点へ動作させる多関節ロボットの動作経路設定方法において、前記出発点と前記到達点とを結ぶ経路を想定し、前記エンドエフェクタを前記経路上に動作させることが可能であるか否かを調査する第１のステップと、前記第１のステップで、前記経路上を動作させることが不可能である場合に、前記出発点または前記到達点から前記エンドエフェクタを前記出発点または前記到達点における前記エンドエフェクタの姿勢を基準とした所定の方向へ規定距離だけ動作する待避経路を設定する第２のステップとを有することを特徴とする。
【００１２】
これにより、エンドエフェクタを基準とした所定の方向に規定距離だけ移動させるという規定動作を適用させるので、多関節ロボットの動作経路を、ワークや障害物の形状に影響を受ける複雑な演算をすることなく、かつ、自動的に効率よく設定することができる。
【００１３】
ここで、多関節ロボットおよびエンドエフェクタはコンピュータによるプログラム処理でモデルとして構成された仮想のものである。
【００１４】
また、前記第２のステップで、前記経路上を動作させることが不可能である場合に、前記エンドエフェクタを空間上の定点の方向へ規定距離だけ動作する待避経路を設定する第３のステップを有するとよい。
【００１５】
これにより、エンドエフェクタを定点の方向に規定距離だけ移動させるという規定動作を適用させるので、多関節ロボットの動作経路を、ワークや障害物の形状に影響を受ける複雑な演算をすることなく、かつ、自動的に効率よく設定することができる。
【００１６】
さらに、前記定点は、前記多関節ロボットの元軸の中心点であってもよい。
【００１７】
さらにまた、前記第３のステップの後に、前記待避経路の終点を新たな出発点または到達点として規定し、前記第１のステップおよび第３のステップを再度実行するようにしてもよい。
【００１８】
前記終点が、前記多関節ロボットにとって到達不可能な点または干渉を発生する点であるとき、前記規定距離を修正した前記待避経路を再設定するようにしてもよい。
【００１９】
また、本発明に係る多関節ロボットの動作経路設定装置は、エンドエフェクタを出発点から到達点へ動作させる多関節ロボットの動作経路設定装置において、前記出発点と前記到達点とを結ぶ経路を想定し、前記エンドエフェクタを前記経路上に動作させることが可能であるか否かを調査する経路調査部と、前記経路調査部で、前記経路上を動作させることが不可能であると判断された場合に、前記出発点または前記到達点から前記エンドエフェクタを前記出発点または前記到達点における前記エンドエフェクタの姿勢を基準とした所定の方向へ規定距離だけ動作する待避経路を設定する経路設定部とを有することを特徴とする。
【００２０】
【発明の実施の形態】
以下、本発明に係る多関節ロボットの動作経路設定方法および設定装置の実施の形態例を図１〜図１０を参照しながら説明する。
【００２１】
本実施の形態における多関節ロボットの動作経路設定方法および設定装置は、基本的には、多関節ロボットの先端部に設けられたエンドエフェクタを、出発点から規定方向へ規定距離だけ移動するテンプレート動作を組み合わせながら動作させ、障害物を回避しながら到達点へ移動させる動作経路を設定するものである。
【００２２】
図１に示すように、本実施の形態において使用するオフラインティーチング装置（動作経路設定装置）１０は多関節ロボット５０の動作のティーチングを行うものであり、作成されたティーチングデータに基づき作業対象物に対して所望の作業を行うロボット装置１２と連係されている。
【００２３】
ロボット装置１２は、多関節ロボット５０と、前記ティーチングデータに基づいて前記多関節ロボット５０の動作制御を行うロボット制御部２２とを備える。
【００２４】
図２に示すように、オフラインティーチング装置１０を構成する制御部１４は、オフラインティーチング装置１０の全体の制御を行う制御手段としてのＣＰＵ（コンピュータ）２６と、記憶部であるＲＯＭ２８およびＲＡＭ２９と、ハードディスク３４に対してデータのアクセスを行うハードディスクドライブ（ＨＤＤ）３９と、モニタ１６の画面上における描画制御を行う描画制御回路３０と、入力装置としてのキーボード１８およびマウス２０が接続されるインタフェース回路３２と、外部記録媒体３６ａ（例えば、フレキシブルディスクやコンパクトディスク等）を制御する記録媒体ドライブ３６と、ティーチングデータを作成するデータ作成回路３８と、ティーチングデータに基づきモニタ１６の画面上でシミュレーションを行うシミュレーション回路４０とを有する。このシミュレーション回路４０は、３次元ＣＡＤをベースにしており前記モデルを作成し、また該モデル相互の干渉を調査する機能等を有する。
【００２５】
ハードディスク３４には、多関節ロボット５０の動作経路を設定する機能をもつ動作経路設定プログラム３５、動作経路を設定するための条件である条件データ３７および図示しないＯＳ等が格納されている。
【００２６】
動作経路設定プログラム３５は、任意の２点とを結ぶ経路上でガンユニット（エンドエフェクタ）６８（図３参照）を動作させることが可能であるか否かを調査する経路調査部３５ａと、後述する第１および第２テンプレート動作を設定して適用する経路設定部３５ｂとを有する。
【００２７】
図３に示すように、多関節ロボット５０は、取付台である第１ベース５４に対して、先端側に向かって順に、第２ベース５６、第１リンク５８、第２リンク６０、第３リンク６２、第４リンク６４およびガン着脱部６６が接続されている。先端のガン着脱部６６にはガンユニット６８が接続されている。
【００２８】
第２ベース５６は鉛直軸である軸Ｊ１を中心にして第１ベース５４に対して旋回可能に軸支されている。第１リンク５８の基端部は水平軸である軸Ｊ２により第２ベース５６に俯仰可能に軸支されている。また、第２リンク６０の基端部は水平軸である軸Ｊ３により第１リンク５８の先端部に揺動可能に軸支されている。そして、第３リンク６２は第２リンク６０の先端側に軸Ｊ４を共通の回転中心軸として接続されている。さらに、第４リンク６４の基端部は軸Ｊ４に対して直角方向の軸Ｊ５により第３リンク６２の先端部に揺動可能に軸支されている。ガン着脱部６６は第４リンク６４の先端側に軸Ｊ６を共通の回転中心軸として接続されている。
【００２９】
ガン着脱部６６に接続されたガンユニット６８はいわゆるＣ型溶接ガンであり、アーチ状のアーム７４の両端部には、軸Ｊ６上に沿って開閉する一対の電極７０、７２を有する。この電極７０、７２は閉状態では軸Ｊ６上の溶接作業点（以下、ＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）という。）でワーク８０に接触する。
【００３０】
ＴＣＰから本体側の電極７２の軸心に一致する方向をベクトルＺｒとし、ベクトルＺｒに直交しガンユニット６８の外側に向く方向をベクトルＸｒとする。また、ベクトルＸｒ、ベクトルＺｒに互いに直交する方向をベクトルＹｒとする。
【００３１】
軸Ｊ１〜Ｊ６の駆動機構並びに電極７０、７２の開閉機構は、それぞれ図示しないアクチュエータにより駆動され、ＴＣＰは軸Ｊ１〜Ｊ６のそれぞれの回転角θ１〜θ６の値および多関節ロボット５０の各部寸法により決定される。
【００３２】
また、ガンユニット６８はＣ型溶接ガンに限らず、例えば図４に示すＸ型溶接ガン（共通の支軸に軸支された開閉する一対のガンアームを備える溶接ガン）６８ａであってもよい。
【００３３】
多関節ロボット５０に関する座標計算および制御上の基準点として、軸Ｊ１と軸Ｊ２とが交差する点を原点（元軸の中心点）Ｏとして規定し、この原点Ｏを基準として、鉛直上向き方向を高さＺ、回転角θ１がθ１＝０であるときの軸Ｊ２の方向を奥行Ｙ、高さＺと奥行Ｙに垂直な方向を幅Ｘとして表す。この高さＺ、幅Ｘおよび奥行Ｙにより３次元直交座標を示すものとする。
【００３４】
次に、このように構成されるオフラインティーチング装置１０、および動作経路設定プログラム３５を用いて、多関節ロボット５０の動作経路を設定する手順について図５〜図１０を参照しながら説明する。
【００３５】
以下の説明では、図５に示すように、薄板であるワーク８０のある出発点Ｐ１から到達点Ｐ２へガンユニット６８を動作させる例について説明する。出発点Ｐ１および到達点Ｐ２は、溶接を行う空間上の３次元直交座標値（Ｘ、Ｙ、Ｚ）と、ガンユニット６８の姿勢を示すＴＣＰの３つのパラメータの合計６つの値からなる。出発点Ｐ１と到達点Ｐ２との間には障害物８２が存在するものとする。また、出発点Ｐ１および到達点Ｐ２に対して、ガンユニット６８が到達可能であることは予め検証されており、出発点Ｐ１および到達点Ｐ２を溶接する際のガンユニット６８の姿勢、つまりベクトルＸｒ、ベクトルＹｒおよびベクトルＺｒの値も決定されているものとする。
【００３６】
なお、出発点Ｐ１および到達点Ｐ２は溶接ポイント以外であってもよく、例えば予めワーク８０の突起部等を回避した位置を求めておき、その点を出発点Ｐ１および到達点Ｐ２としてもよい。
【００３７】
まず、図６のステップＳ１において、オフラインティーチング装置１０の操作者は、所定の操作方法により、動作経路設定プログラム３５を起動させる。オフラインティーチング装置１０に組み込まれているＯＳはハードディスク３４に格納されている動作経路設定プログラム３５をＲＡＭ２９にロードして実行する。次のステップＳ２以降の処理は、この動作経路設定プログラム３５により実行される。
【００３８】
ステップＳ２において、動作経路設定プログラム３５は、動作経路を設定する条件である条件データ３７をハードディスク３４から読み出してＲＡＭ２９に記憶する。さらに、条件データ３７から、動作経路を設定しようとする出発点Ｐ１、到達点Ｐ２、ワーク８０の形状および障害物８２等の位置および形状を認識する。
【００３９】
次に、ステップＳ３において、出発点Ｐ１と到達点Ｐ２との間を結んだ動作経路（経路）１００を想定し、ガンユニット６８をこの動作経路１００上に動作させたときの、姿勢成立の可否および干渉の有無について調査を行う。
【００４０】
この動作経路１００は、図５に示すように直線状としてもよいし、多関節ロボット５０の動作が容易な任意の曲線としてもよい。なお、後述する動作経路１０２、１０４、１１０および１１２についても同様である。
【００４１】
具体的には、動作経路１００を微小長さに分割した分割点を想定する。そして、この各分割点にガンユニット６８を配置したときの多関節ロボット５０の姿勢、つまり回転角θ１〜θ６を求める。この回転角θ１〜θ６の演算方法は分割点の空間上の位置座標（Ｘ、Ｙ、Ｚ）、およびガンユニット６８の姿勢を表すベクトルＸｒ、ベクトルＹｒ、ベクトルＺｒで規定される合計６つの値と多関節ロボット５０の各部の寸法等から周知の行列演算手法（以下、逆演算という。）を適用すればよい。
【００４２】
出発点Ｐ１および到達点Ｐ２におけるガンユニット６８の姿勢が異なる場合は、各分割点では直線補完的にガンユニット６８の姿勢を示すベクトルＸｒ、ベクトルＹｒおよびベクトルＺｒを規定すればよい。また、この調査では電極７０、７２は開状態として扱い、電極７０、７２がワーク８０と干渉することがないようにする。
【００４３】
各分割点毎に多関節ロボット５０の姿勢が成立するならば、実際に出発点Ｐ１から到達点Ｐ２への動作が保証される。
【００４４】
次に、ステップＳ４において、各分割点において逆演算の解が正常に求まったか、つまり前記ＴＣＰが分割点に到達可能であるかを判断する。解が求まらなかったり、求まっていてもその角度値が軸Ｊ１〜Ｊ６の回転稼動範囲外であったり、また、求まった姿勢において多関節ロボット５０が障害物８２等と干渉していればステップＳ５へ移り、それ以外の場合、つまり解が正常に求まるならばステップＳ２９において終了処理を行う。
【００４５】
干渉の有無については、シミュレーション回路４０が有する干渉に関する機能を用いればよい。
【００４６】
図７のステップＳ５において、障害物８２を回避し、または姿勢を成立させるために、ガンユニット６８を出発点Ｐ１から第１のテンプレート動作を適用して第１中継点Ｑ１（新たな出発点）を設定する。
【００４７】
ここで、テンプレートとは、多関節ロボット５０に実行させる規定の動作を表すもので、第１のテンプレートは、図９に示すように、ガンユニット６８のＴＣＰを基準として、規定方向に規定距離だけ動作した第１中継点Ｑ１を想定して、出発点Ｐ１と第１中継点Ｑ１を結ぶ動作経路（待避経路）１０２へガンユニット６８を移動する動作である。第１中継点Ｑ１は、出発点Ｐ１の位置を移動させただけのものであり、出発点Ｐ１が有するガンユニット６８の向き、つまりＴＣＰの向きは不変であるものとする。
【００４８】
一般に溶接作業を適正に行うために、ベクトルＺｒはワーク８０に対して垂直となるように設定されていることから、規定方向は、ガンユニット６８の引き抜き方向、つまりベクトルＸｒの逆方向とすると好適である。また、規定距離は、ガンユニット６８のサイズにより、ワーク８０から十分離脱できる距離を予め規定しておけばよい。一般的なサイズのガンユニットでは１００ｍｍが好適である。
【００４９】
第１のテンプレートは、一般的なワークである薄板に対して有効な待避方法であり、ワークの形状に影響を受けることなく、予め決められた簡便な待避方法によって動作経路を設定することができる。
【００５０】
次に、図７のステップＳ６において、第１中継点Ｑ１における多関節ロボット５０の姿勢成立の可否と、周辺の障害物８２等との干渉の有無をステップＳ３と同様に調査する。
【００５１】
次に、ステップＳ７において、ステップＳ６の調査の結果、第１中継点Ｑ１における多関節ロボット５０の姿勢が成立し、しかも干渉がないと判断できればステップＳ１２へ移り、それ以外の場合にはステップＳ８に移る。
【００５２】
ステップＳ８においては、第１中継点Ｑ１で適切な姿勢を得るために、ガンユニット６８を、ベクトルＸｒ、ＹｒまたはＺｒを中心にして所定角度だけ回転させた姿勢を想定する。この回転処理は、次の判断処理であるステップＳ９とともに行い、ベクトルＸｒ、Ｙｒ、Ｚｒの全てについて、順に回転させるものとする。
【００５３】
次に、ステップＳ９において、所定角度ずつ回転した積算角度が３６０°に達したか否かを確認し、３６０°未満であればステップＳ６へ移り多関節ロボット５０の姿勢判断を行う。
【００５４】
ベクトルＸｒ、ベクトルＹｒおよびベクトルＺｒのそれぞれについて３６０°回転させても、第１中継点Ｑ１では適正な姿勢が得られない場合には、ステップＳ１０において、この第１中継点Ｑ１を出発点Ｐ１の方向へ所定距離だけ戻した位置に再設定する。すなわち、第１中継点Ｑ１が出発点Ｐ１から１００ｍｍの距離に設定されていたならば、出発点Ｐ１の方向へ１０ｍｍだけ戻して９０ｍｍの位置に再設定する。
【００５５】
次に、ステップＳ１１において、第１中継点Ｑ１を戻す距離の積算値を確認して、当初の点である出発点Ｐ１まで戻ってしまったときは、処理を中断し再計画を行うものとする。出発点Ｐ１まで戻っていないとき、つまり、第１中継点Ｑ１が出発点Ｐ１から１０〜９０ｍｍの範囲にあればステップＳ６へ移り、多関節ロボット５０の姿勢判断を行う。
【００５６】
一方、ステップＳ１２（前記ステップＳ７で多関節ロボット５０の姿勢が成立し、しかも干渉がないと判断された場合）において、第１中継点Ｑ１と出発点Ｐ１との間を結んだ動作経路１０２（図５参照）を想定し、ガンユニット６８をこの動作経路１０２上に動作させたときにおける姿勢成立の可否および干渉の有無についての調査を、ステップＳ３と同様の処理によって行う。
【００５７】
次に、ステップＳ１３において、ステップＳ４と同様の判断を行い、動作経路１０２上の分割点で多関節ロボット５０の姿勢が成立し、動作可能であると判断されたとき、次のステップＳ１４に移る。動作不能であると判断されたときは、ステップＳ１０へ戻り、第１中継点Ｑ１の位置をさらに変更する。
【００５８】
ステップＳ１４では、出発点Ｐ１および到達点Ｐ２について２つの第１中継点Ｑ１および第１中継点Ｑ２（新たな到達点）を設定したことを確認し、次のステップＳ１５へ移る。到達点Ｐ２に対応した第１中継点Ｑ２が未設定であれば、図７のステップＳ５へ戻る。
【００５９】
次に、ステップＳ１５において、２つの第１中継点Ｑ１およびＱ２を結んだ動作経路１０４を想定し、ガンユニット６８をこの動作経路１０４上に動作させたときにおける姿勢成立の可否および干渉の有無についての調査を、ステップＳ３と同様の処理によって行う。
【００６０】
次に、ステップＳ１６において、ステップＳ４と同様の判断を行い、動作経路１０４上の分割点で多関節ロボット５０の姿勢が成立し、動作可能と判断されたときは、図６のステップＳ２９において動作経路の終了処理を行う。動作不能と判断されたときは、次のステップＳ１７へ移る。
【００６１】
図８のステップＳ１７において、障害物８２を回避するために、ガンユニット６８を第１中継点Ｑ１から第２のテンプレート動作を適用して第２中継点Ｒ１を設定する。
【００６２】
第２のテンプレートは、図９に示すように、第１中継点Ｑ１と所定の定点１０６とを結ぶ線１０８を想定し、この線１０８上に第１中継点Ｑ１から規定距離だけ移動した点を第２中継点Ｒ１とするものである。
【００６３】
第２中継点Ｒ１は、第１中継点Ｑ１を空間上の位置だけ移動させたものであり、第１中継点Ｑ１が有するガンユニット６８の向き、つまりＴＣＰの向きは不変であるものとする。
【００６４】
第２のテンプレートは、すでにワーク８０から離脱しているガンユニット６８について、干渉する障害物８２がない方向へ動作させるために、障害物８２の存在する可能性の低いフリースペースとして、原点Ｏの方向へ動作させるものである。つまり、一般的に原点Ｏの近辺ほど、多関節ロボット５０の動作を阻害するような障害物８２は存在しないものであり、この方向へ向かって動作させることで障害物８２を回避できる可能性が高くなり好適である。また規定距離は１００ｍｍが好適である。
【００６５】
定点１０６としては原点Ｏ以外にも、障害物８２が存在しない場所あるいは動作しやすい場所があれば、その場所を定点１０６としてもよい。例えば、多関節ロボット５０の動作範囲を空間上で表現したとき、その中心位置では最も動作の自由度が大きいと考えられるので、その位置を定点１０６としてもよい。
【００６６】
次に、ステップＳ１８において、第２中継点Ｒ１における多関節ロボット５０の姿勢成立の可否と、周辺の障害物８２等との干渉の有無をステップＳ３と同様に調査する。
【００６７】
次に、ステップＳ１９において、ステップＳ１８での調査の結果、第２中継点Ｒ１における多関節ロボット５０の姿勢が成立し、しかも干渉がないと判断できればステップＳ２４へ移り、それ以外の場合にはステップＳ２０に移る。
【００６８】
ステップＳ２０においては、第２中継点Ｒ１で適切な姿勢を得るために、ステップＳ８と同様に、ガンユニット６８を、ベクトルＸｒ、ＹｒまたはＺｒを中心にして所定角度だけ回転させた姿勢を想定する。
【００６９】
次に、ステップＳ２１において、所定角度ずつ回転した積算角度が３６０°に達したか否かを確認し、３６０°未満であればステップＳ６へ移り、多関節ロボット５０の姿勢判断を行う。
【００７０】
ベクトルＸｒ、ベクトルＹｒおよびベクトルＺｒのそれぞれについて３６０°回転させても、第２中継点Ｒ１では適正な姿勢が得られない場合には、ステップＳ２２において、この第２中継点Ｒ１を定点１０６の方向へ所定距離だけ移動した位置に再設定する。すなわち、第２中継点Ｒ１が第１中継点Ｑ１から１００ｍｍの距離に設定されていたならば、さらに１００ｍｍだけ定点１０６の方向へ移動し２００ｍｍの位置に再設定する。
【００７１】
次に、ステップＳ２３において、第２中継点Ｒ１を移動する距離の積算値を確認して、定点１０６まで達しているときは、処理を中断して再計画を行う。定点１０６まで達していないときは、ステップＳ１８へ移り、多関節ロボット５０の姿勢判断を行う。
【００７２】
ステップＳ２４（前記ステップＳ１９で多関節ロボット５０の姿勢が成立し、しかも干渉がないと判断された場合）において、第１中継点Ｑ１と第２中継点Ｒ１を結んだ動作経路１１０を想定し、ガンユニット６８をこの動作経路１１０上に動作させたときにおける姿勢成立の可否および干渉の有無についての調査を、ステップＳ３と同様の処理によって行う。
【００７３】
次に、ステップＳ２５において、ステップＳ４と同様の判断を行う。動作経路１１０上の分割点で多関節ロボット５０の姿勢が成立し、動作可能であると判断すれば、次のステップＳ２６に移り、動作不能であると判断すれば、ステップＳ２２へ戻り、第１中継点Ｑ１の位置をさらに変更する。
【００７４】
ステップＳ２６では、第１中継点Ｑ１およびＱ２について２つの第２中継点Ｒ１およびＲ２を設定したことを確認し、次のステップＳ２７へ移る。第１中継点Ｑ２に対応した第２中継点Ｒ２が未設定であれば、ステップＳ１７へ戻る。
【００７５】
次に、ステップＳ２７において、２つの第２中継点Ｒ１およびＲ２を結んだ動作経路１１２を想定し、この動作経路１１２上の動作について、ステップＳ３と同様の調査を行う。
【００７６】
次に、ステップＳ２８において、ステップＳ４と同様の判断を行い、動作経路１１２上の分割点で多関節ロボット５０の姿勢が成立し、動作可能と判断できれば動作経路の終了処理を行う。障害物８２の干渉などにより、動作不能と判断されたときはステップＳ２２へ戻り、２つの第２中継点Ｒ１、Ｒ２をさらに移動させ、動作経路が成立するまで処理を繰り返せばよい。
【００７７】
出発点Ｐ１から到達点Ｐ２への動作経路の設定が終了した後、図６のステップＳ２９において終了処理を行う。この終了処理としては、例えば設定された動作経路を図１０に示すパステーブル１２０に記録することが挙げられる。このパステーブル１２０は、設定した動作経路である出発点Ｐ１、第１中継点Ｑ１、第２中継点Ｒ１、第２中継点Ｒ２、第１中継点Ｑ２および到達点Ｐ２を動作順に記録する表であり、各点における位置座標（Ｘ、Ｙ、Ｚ）とＴＣＰを示すベクトルＸｒ、ベクトルＹｒ、ベクトルＺｒの値および多関節ロボット５０の各軸の回転角θ１〜θ６の値が記録される。
【００７８】
また、パステーブル１２０に記録された動作経路は、前記データ作成回路３８により、実際の多関節ロボット５０を動作させるためのプログラムデータに変換された後、ロボット制御部２２に転送される。
【００７９】
パステーブル１２０は、ＲＡＭ２９やハードディスク３４内に記録されるが、必要に応じてモニタ１６の画面に表示されまたは印刷され得る。
【００８０】
なお、上述の説明においては、動作経路１０４は、第１中継点Ｑ１およびＱ２を結ぶ経路としたが、出発点Ｐ１側だけに第１のテンプレートを適用して第１中継点Ｑ１を求めて、到達点Ｐ２についてはそのまま適用し、第１中継点Ｑ１と到達点Ｐ２とを結ぶ経路を想定するようにしてもよい。
【００８１】
また、動作経路１１２についても同様に、例えば、第２中継点Ｒ１と第１中継点Ｑ１とを結ぶ経路を想定するようにしてもよい。
【００８２】
出発点Ｐ１から待避するための待避経路としての動作経路１０２および１１０は、到達点Ｐ２以外の他の点へ動作させる際に流用してもよい。
【００８３】
さらに、第１のテンプレートで当初適用する規定距離は１００ｍｍとしたが、１０ｍｍから開始して、２０ｍｍ、３０ｍｍと距離を伸ばす形態にしてもよい。
【００８４】
ワーク８０や、障害物８２等の状況により第１および第２のテンプレートを適用する順序は逆であってもよい。
【００８５】
設定されたパステーブル１２０は、出発点Ｐ１から到達点Ｐ２へ至る動作経路を示すものであるが、この動作経路は可逆性があり、到達点Ｐ２から出発点Ｐ１へ動作する経路に利用してもよく、また全動作経路を利用しなくとも、途中までの経路を利用するようにしてもよい。
【００８６】
さらにまた、本実施の形態は溶接用のロボット以外であっても、例えば、組み立て用ロボットや塗装用ロボット等にも適用可能であり、多関節ロボット５０は、７軸構造やリンク機構、伸縮機構等を有する構造であってもよい。
【００８７】
このように、本実施の形態によれば、まず、出発点Ｐ１と到達点Ｐ２とを結ぶ動作経路１００を想定し、ガンユニット６８を動作経路１００上に動作させることが可能であるかを調査するので、この動作経路１００上をガンユニット６８が動作可能であるならば、動作の中継点等を設けることなく極めて簡便に動作経路を設定することができる。この動作経路１００上の動作が不能であるときでも、出発点Ｐ１または到達点Ｐ２から規定方向であるベクトルＸｒの逆方向へ規定距離だけ動作する第１のテンプレートを適用するので、複雑な演算を行うことなく、またワーク８０の形状に影響されることなく、自動的に効率よく第１中継点Ｑ１およびＱ２を設定することができる。
【００８８】
第１のテンプレートは、ワーク８０に対して最も待避しやすいと考えられる方向に設定した規定方向に向かい、ガンユニット６８のサイズに応じて十分にワーク８０から待避できる規定距離だけ動作するので、簡便な方法でありながらワーク８０から安全に待避できる可能性が高い。しかも、ステップＳ６等において、その安全性の検証を行っているので、実際に多関節ロボット５０を動作させたときには干渉等のおそれがない。
【００８９】
また、本実施の形態によれば、待避経路上に設定する第１中継点Ｑ１、Ｑ２または第２中継点Ｒ１、Ｒ２が、多関節ロボット５０にとって到達不可能な点または干渉を発生する点であるとき、第１および第２のテンプレートの規定距離を修正して第１中継点Ｑ１、Ｑ２または第２中継点Ｒ１、Ｒ２の位置を再設定するので、好適な待避位置を設定することができる。
【００９０】
また、第２のテンプレートでは、規定方向を多関節ロボット５０の座標計算上の原点Ｏへ向かう方向としているので、障害物８２と干渉するおそれが低い。
【００９１】
さらに、本実施の形態によれば、第１のテンプレートと第２のテンプレートとを組み合わせて適用し、まずは第１のテンプレートでワーク８０から待避し、次いで第２のテンプレートで他の障害物８２等から待避するようにし、さらにその後安全性の検証を行うので、複雑な演算を行うことなく、かつ、自動的に効率よく待避および移動の経路を設定することができる。
【００９２】
この発明に係る多関節ロボットの動作経路設定方法および設定装置は、上述の実施の形態例に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【００９３】
【発明の効果】
以上説明したように、本発明に係る多関節ロボットの動作経路設定方法および設定装置によれば、ワークや障害物の形状に影響を受ける複雑な演算をすることなく、かつ、自動的に効率よく多関節ロボットの動作経路を設定することができるという効果が達成される。
【図面の簡単な説明】
【図１】本実施の形態で使用するオフラインティーチング装置およびロボット装置を示す説明図である。
【図２】オフラインティーチング装置の構成を示すブロック図である。
【図３】多関節ロボットの構成を示す説明図である。
【図４】Ｘ型溶接ガンを示す説明図である。
【図５】出発点から到達点への動作経路を示す説明図である。
【図６】本実施の形態における多関節ロボットの動作経路設定方法を示すフローチャート（その１）である。
【図７】本実施の形態における多関節ロボットの動作経路設定方法を示すフローチャート（その２）である。
【図８】本実施の形態における多関節ロボットの動作経路設定方法を示すフローチャート（その３）である。
【図９】第１および第２のテンプレートの動作を示す説明図である。
【図１０】パステーブルを示す説明図である。
【符号の説明】
１０…オフラインティーチング装置  １２…ロボット装置
１４…制御部                      ２２…ロボット制御部
２６…ＣＰＵ                      ２９…ＲＡＭ
３４…ハードディスク              ３５…動作経路設定プログラム
３８…データ作成回路              ４０…シミュレーション回路
５０…多関節ロボット              ６８…ガンユニット
７０、７２…電極                  ８０…ワーク
１００、１０２、１０４、１１０、１１２…動作経路
１０６…定点                      １２０…パステーブル
Ｏ…原点                          Ｐ１…出発点
Ｐ２…到達点                      Ｑ１、Ｑ２…第１中継点
Ｒ１、Ｒ２…第２中継点            Ｘｒ、Ｙｒ、Ｚｒ…ベクトル
【図１】
0003577296.tif 000002
【図２】
0003577296.tif 000003
【図３】
0003577296.tif 000004
【図４】
0003577296.tif 000005
【図５】
0003577296.tif 000006
【図６】
0003577296.tif 000007
【図７】
0003577296.tif 000008
【図８】
0003577296.tif 000009
【図９】
0003577296.tif 000010
【図１０】
0003577296.tif 000011