(57)【要約】【課題】２台のロボットが同時に動作する際に、相互干渉の有無を短時間で検証する。【解決手段】作業における所定時間毎の第１多関節ロボットの姿勢を求めて記録する。作業における所定時間毎の第２多関節ロボットの姿勢を求めて記録する。前回の検証実行時における第１多関節ロボットの姿勢に対する姿勢変化量εが所定閾値Ｃより大きいときに、第２多関節ロボットの姿勢が干渉するか否かを検証する。第１多関節ロボットと第２多関節ロボットとが干渉することが確認された箇所についてはマーク２１２を記録する。【選択図】図９
2004358564.tif 000002
【特許請求の範囲】
【請求項１】
第１ロボット及び第２ロボットに作業を行わせる際の前記第１及び第２ロボット同士の相互干渉を検証するロボットの相互干渉検証方法において、
前記作業における所定時間毎の前記第１ロボットの姿勢を求めて記録する第１ステップと、
前記作業における所定時間毎の前記第２ロボットの姿勢を求めて記録する第２ステップと、
前記作業の時間順に、前記第１ステップで記録した前記第１ロボットの姿勢に対して前記第２ステップで記録した前記第２ロボットの姿勢が干渉するか否かを検証する第３ステップと、
を実行する方法であって、
前記第３ステップは、前回実行時における前記第１ロボットの姿勢に対して姿勢変化量が所定閾値より大きいときに再度実行することを特徴とするロボットの相互干渉検証方法。
【請求項２】
請求項１記載のロボットの相互干渉検証方法において、
前記第３ステップで、前記第１ロボットと前記第２ロボットが干渉することが確認されたときに、前記第３ステップの実行間隔を延ばすことを特徴とするロボットの相互干渉検証方法。
【請求項３】
請求項１又は２記載のロボットの相互干渉検証方法において、
前記第１ロボットは複数の可動部を有する多関節型のロボットであり、前記可動部の各変位量に対して重み付けを付けて加算することにより、前記姿勢変化量を求めることを特徴とするロボットの相互干渉検証方法。
【請求項４】
請求項３記載のロボットの相互干渉検証方法において、
前記ロボットには一対の電極を備えるＣ型溶接ガンが設けられ、前記姿勢変化量は、前記電極の移動量を除く他の可動部の移動量に基づいて算出することを特徴とするロボットの相互干渉検証方法。
【請求項５】
請求項３記載のロボットの相互干渉検証方法において、
前記ロボットには一対の電極を備えるＸ型溶接ガンが設けられ、前記姿勢変化量は、前記電極の移動量を含めて算出することを特徴とするロボットの相互干渉検証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの相互干渉検証方法に関し、特に、２台のロボット同士の干渉に関する検証を迅速に行うためのロボットの相互干渉検証方法に関する。
【０００２】
【従来の技術】
従来、製造ラインに設置された多関節ロボットを直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならないため、その分、作業が非効率的となってしまう。また、その作業は、製造ラインを停止させた状態で行う必要があるために当該製造ラインの稼動率も低下してしまう。
【０００３】
そこで、近時ティーチング作業の効率化を図るため、あるいは、前記製造ラインの稼動率を向上させるために、オフラインによるティーチング（オフラインティーチング）が行われている。すなわち、コンピュータ上に多関節ロボット並びに作業対象物であるワーク及び周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、前記ティーチングデータを現場の多関節ロボットに供給するようにすれば、ティーチングデータの作成中に製造ラインを停止させる必要がない。
【０００４】
ところで、近時、生産性向上等を目的として、一度の工程において複数の多関節ロボットを採用し、これらの多関節ロボットを同時且つ集中的に動作させる作業形態が増えている。特に、複雑な形状のワークに対して作業を行う場合には、多関節ロボットを密集して配置させることもある。このような作業形態においては、ワークや他の障害物との干渉を回避することは当然ながら、多関節ロボット同士の干渉も回避するように動作プログラムを設定しなければならない。
【０００５】
このための検証方法として所定動作時間毎に一方のロボットの姿勢を求め、該姿勢に対して他方のロボットの作業時間内における全ての姿勢を対応させて干渉の有無を検証する方法が提案されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】
特開２００３−１０３４９１号公報（図６）
【０００７】
【発明が解決しようとする課題】
上記の特許文献１で開示されている方法では、仮に、一方のロボットが途中停止した場合でも適切なインターロックを設けることにより相互干渉を防止することができて好適である。
【０００８】
しかしながら、干渉を確認する時間幅を微小時間に設定したり、作業時間が長いときには確認回数が増大し、相互干渉の検証に多大な時間を要する。従って、条件を変えながら何度も検証を行うということが実際上困難である。また、検証に用いるコンピュータを占有する時間が長い。
【０００９】
本発明はこのような課題を考慮してなされたものであり、２台のロボットが同時に動作する際に、相互干渉の有無を短時間で検証することを可能にするロボットの相互干渉検証方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明に係るロボットの相互干渉検証方法は、第１ロボット及び第２ロボットに作業を行わせる際の前記第１及び第２ロボット同士の相互干渉を検証するロボットの相互干渉検証方法において、前記作業における所定時間毎の前記第１ロボットの姿勢を求めて記録する第１ステップと、前記作業における所定時間毎の前記第２ロボットの姿勢を求めて記録する第２ステップと、前記作業の時間順に、前記第１ステップで記録した前記第１ロボットの姿勢に対して前記第２ステップで記録した前記第２ロボットの姿勢が干渉するか否かを検証する第３ステップと、を実行する方法であって、前記第３ステップは、前回実行時における前記第１ロボットの姿勢に対して姿勢変化量が所定閾値より大きいときに再度実行することを特徴とする。
【００１１】
このように、第１ロボットの姿勢変化量が所定閾値より大きくなったときに相互干渉の検証を行うことにより、検証の回数を低減することができ、相互干渉の有無を短時間で検証することができる。姿勢変化量が小さいときには、第１ロボットと第２ロボットとの相互干渉に関する状態もほとんど変化しないと判断できるため、検証の実行間隔を伸ばすことができる。
【００１２】
この場合、前記第３ステップで、前記第１ロボットと前記第２ロボットが干渉することが確認されたときに、前記第３ステップの実行間隔を伸ばすようにしてもよい。
【００１３】
また、前記第１ロボットは複数の可動部を有する多関節型のロボットであり、前記可動部の各変位量に対して重み付けを付けて加算することにより、前記姿勢変化量を求めるようにしてもよい。
【００１４】
この場合、前記ロボットには一対の電極を備えるＣ型溶接ガンが設けられ、前記姿勢変化量は、前記電極の移動量を除く他の可動部の移動量に基づいて算出するようにしてもよい。Ｃ型溶接ガンにおける電極の進退動作は、ロボットの姿勢変化に影響がないため省略することができる。これにより、電極のみが動作したときには、姿勢変化量が一定値となり、検証の実行間隔をさらに伸ばすことができる。
【００１５】
また、前記ロボットには一対の電極を備えるＸ型溶接ガンが設けられ、前記姿勢変化量は、前記電極の移動量を含めて算出するようにしてもよい。これにより、Ｘ型溶接ガンにおける電極が大きく動作したときには、相互干渉の検証を実行させることができる。
【００１６】
【発明の実施の形態】
以下、本発明に係るロボットの相互干渉表示パターンを用いた相互干渉検証方法の実施の形態例を図１〜図１２を参照しながら説明する。
【００１７】
図１に示すように、本実施の形態において使用するオフラインティーチング装置１０は、溶接用の第１多関節ロボット５０ａ、第２多関節ロボット５０ｂ及び第３多関節ロボット５０ｃの動作のティーチングを行うものであり、作成されたティーチングデータに基づき作業対象物に対して所望の作業を行うロボット装置１２と連係されている。
【００１８】
また、ロボット装置１２は、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃと、ティーチングデータに基づいて前記第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃのそれぞれの動作制御を行うロボット制御部２２ａ、２２ｂ、２２ｃとを備える。
【００１９】
図２に示すように、オフラインティーチング装置１０を構成する制御部１４は、オフラインティーチング装置１０の全体の制御を行う制御手段としてのＣＰＵ（コンピュータ）２６と、記録部であるＲＯＭ２８及びＲＡＭ２９と、ハードディスク３４に対してデータのアクセスを行うハードディスクドライブ（ＨＤＤ）３６と、モニタ１６の画面上における描画制御を行う描画制御回路３０と、入力装置としてのキーボード１８及びマウス２０が接続されるインタフェース回路３２と、外部記録媒体３８ａ（例えば、磁気的、光学的に記録・読み込み可能なディスク等）を制御する記録媒体ドライブ３８とを有する。
【００２０】
ハードディスク３４には、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの動作経路を設定する機能等をもつ相互干渉検証プログラム３５、相互干渉の検証結果を記録するデータベース３７及び図示しないＯＳ等が格納されている。
【００２１】
図３に示すように、相互干渉検証プログラム３５は、ＲＡＭ２９及びハードディスク３４等からデータを読み込む機能を持つデータ読込み部１００と、データを書き込む機能を持つデータ書込み部１０２と、キーボード１８及びマウス２０等の入力状態を監視するオペレータ指示認識部１０４と、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの姿勢データを３次元ＣＡＤによって定義されているロボットモデルに設定して描画する画像作成部１０６を有する。
【００２２】
画像作成部１０６は、オペレータが設定するロボット姿勢設定コマンドと、描画コマンドとによりＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を用いて多関節ロボットのモデルや、所定のグラフをモニタ１６の画面に描画する機能を持つ。
【００２３】
データ読込み部１００によって得られたデータは、ロボット動作プログラム生成部１０８において自動的にロボット動作プログラムに変換・生成されて相互干渉確認部１１０に伝えられる。ロボット動作プログラム生成部１０８では、オペレータの操作によって手動的又は半自動的にロボット動作プログラムを生成することも可能である。
【００２４】
ロボット動作プログラムは、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃを制御するプログラムであり、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃに対して個別のロボット動作プログラムが適用される。このロボット動作プログラムは、ロボット制御部２２ａ、２２ｂ、２２ｃにそれぞれロードされた後に実行されるが、制御部１４において、シミュレーションに適用して仮実行することも可能である。
【００２５】
相互干渉確認部１１０は、ＲＣＳモジュール等によって動作計画を計算する動作計画計算部１１０ａと、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃ同士の相互干渉及び他の障害物との干渉の有無を検証する相互干渉計算部１１０ｄを有する。
【００２６】
相互干渉計算部１１０ｄは、３次元ＣＡＤをベースにしており、コンピュータプログラム上の仮想空間において、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃをソリッドモデルとして表し、互いのモデル同士が相互干渉を起こすか否かを検証するものであり、相互干渉の有無を判断するとともに、モニタ１６の画面上にその様子を模写的に表示する機能を持つ。
【００２７】
さらに、相互干渉確認部１１０は、ＲＣＳモジュールによる任意時刻における第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの姿勢を計算するロボット姿勢サンプリング部１１０ｂと、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃのうち２台の多関節ロボットの姿勢組合せの記録領域を確保する姿勢組合せ生成部１１０ｃと、所定時間毎の第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの姿勢の変化量を求めるロボット姿勢変化判定部１１０ｅとを有する。
【００２８】
なお、ＲＣＳモジュールとは、一般的な多関節ロボットのモーション設計のためのソフトウェアであり、多関節ロボットの各軸の加減速度を決定する機能等を持ち、ロボット動作データをロボット姿勢サンプリング部１１０ｂに擬似的に与えるものである。
【００２９】
相互干渉確認部１１０において検証された結果は相互干渉検証結果記録部１１２に伝えられ、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの姿勢と、相互干渉判別結果と組合せの情報をデータ書込み部１０２を介してハードディスク３４にデータベース３７等の形式で記録する。
【００３０】
キーボード１８及びマウス２０の入力情報はオペレータ指示認識部１０４を介して姿勢組合せ計算部１１４に伝えられる。姿勢組合せ計算部１１４では作業開始時点からのオフセット量（動作経過時間）を計算する。
【００３１】
求められた第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの動作経過時間は、ロボット姿勢計算部１１６へ伝えられる。ロボット姿勢計算部１１６は、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの動作経過時間に相当する第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの姿勢データをデータベース３７等の記録から読み出す。相互干渉検証プログラム３５は、データ転送部１１８を介してデータの入出力を行う。
【００３２】
第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃは全て同構造であり、図４に示すように、取付台である第１ベース５４に対して、先端側に向かって順に、第２ベース５６、第１リンク５８、第２リンク６０、第３リンク６２、第４リンク６４及びガン着脱部６６が接続されている。先端のガン着脱部６６にはガンユニット（エンドエフェクタ）６８が接続されている。第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃは、必ずしも同構造でなくてもよい。
【００３３】
第２ベース５６は鉛直軸である軸Ｊ１を中心にして第１ベース５４に対して旋回可能に軸支されている。第１リンク５８の基端部は水平軸である軸Ｊ２により第２ベース５６に俯仰可能に軸支されている。また、第２リンク６０の基端部は水平軸である軸Ｊ３により第１リンク５８の先端部に揺動可能に軸支されている。そして、第３リンク６２は第２リンク６０の先端側に軸Ｊ４を共通の回転中心軸として接続されている。さらに、第４リンク６４の基端部は軸Ｊ４に対して直角方向の軸Ｊ５により第３リンク６２の先端部に揺動可能に軸支されている。ガン着脱部６６は第４リンク６４の先端側に軸Ｊ６を共通の回転中心軸として接続されている。
【００３４】
ガン着脱部６６に接続されたガンユニット６８はいわゆるＣ型溶接ガンであり、アーチ状のアーム７４の両端部には、ガン軸Ｊ７に沿って開閉する一対の電極７０、７２を有する。この電極７０、７２は閉状態ではガン軸Ｊ７上の作業点（以下、ＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）という。）において図示しないワークに接触する。
【００３５】
軸Ｊ１〜Ｊ６の駆動機構並びに電極７０、７２の進退機構（つまり、ガン軸Ｊ７）は、それぞれ図示しないアクチュエータにより駆動され、ＴＣＰは軸Ｊ１〜Ｊ６のそれぞれの回転角θ１〜θ６の値及び第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの各部寸法により決定される。
【００３６】
また、ガンユニット６８はＣ型溶接ガンに限らず、例えば、図５に示すＸ型溶接ガン（共通の支軸に軸支された開閉する一対のガンアームを備える溶接ガン）６８ａであってもよい。
【００３７】
図６に示すように、第１多関節ロボット５０ａの動作を途中の教示姿勢点Ｐｎ（ｎ＝１、２、３…）における姿勢として記録するパステーブル１８０は、「ガンユニットの向き」欄１８０ａ、「ＴＣＰの位置」欄１８０ｂ及び「各軸角度」欄１８０ｃから構成されており、「各軸角度」欄１８０ｃは回転角θ１〜θ６から構成されている。「ガンユニットの向き」欄１８０ａ及び「ＴＣＰの位置」欄１８０ｂは、それぞれ３つのパラメータで表されている。
【００３８】
図６に示す例では、８つの教示姿勢点Ｐ１〜Ｐ８によってパステーブル１８０が構成されている例を示しているが、動作経路が最終的に初期位置である教示姿勢点Ｐ１に戻るような経路であるときには最終の教示姿勢点Ｐ８をＰ１に置き換えるとよい。
【００３９】
なお、第２及び第３多関節ロボット５０ｂ、５０ｃについても同様のパステーブルが存在する。
【００４０】
次に、このように構成されるオフラインティーチング装置１０及び相互干渉検証プログラム３５を用いて、第１及び第２多関節ロボット５０ａ、５０ｂの相互干渉を検証する方法について図７〜図１２を参照しながら説明する。
【００４１】
以下の説明では、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃのうち２台の第１及び第２多関節ロボット５０ａ、５０ｂについて相互干渉を検証する方法を例にして説明する。また、以下の処理は、基本的に相互干渉検証プログラム３５によって自動的に行われる。
【００４２】
先ず、図７のステップＳ１において、ロボット動作プログラム生成部１０８が、パステーブル１８０等のデータを読み込み、第１及び第２多関節ロボット５０ａ、５０ｂについてそれぞれロボット動作プログラムを生成する。
【００４３】
次に、ステップＳ２において、動作計画計算部１１０ａがパステーブル１８０とＲＣＳモジュールに基づいて第１及び第２多関節ロボット５０ａ、５０ｂの動作計画を生成する。この動作計画は、パステーブル１８０で表されている教示姿勢点Ｐｎ間を動作速度等の条件によって補間するものである。
【００４４】
この動作計画は、第１及び第２多関節ロボット５０ａ、５０ｂの各８０［ｓｅｃ］間の動作を表し、それぞれ１［ｓｅｃ］毎にサンプリングした８０通りの姿勢によって構成されるものとする。
【００４５】
次に、ステップＳ３において、ロボット姿勢サンプリング部１１０ｂが、生成された動作計画から、各サンプリング時刻、すなわち各オフセット量における第１及び第２多関節ロボット５０ａ、５０ｂのロボット姿勢データを計算する。つまり、各サンプリング時刻におけるＴＣＰや各回転角θ１〜θ６を計算して記録する。
【００４６】
次に、ステップＳ４において、ロボット姿勢変化判定部１１０ｅがサンプリング結果から第１多関節ロボット５０ａの所定時間毎の姿勢変化量εを求め、姿勢変化が大きい箇所の抽出を行う。このステップＳ４の詳細な処理については後述する。
【００４７】
次に、ステップＳ５において、姿勢組合せ生成部１１０ｃが、サンプリングした姿勢での組合せを示す組合せデータ２１０（図８参照）を記録するための記録領域をＲＡＭ２９上に確保する。組合せデータ２１０は、図８から了解されるように、微小時間毎の等間隔ではなく、第１多関節ロボット５０ａの動作時間が間引かれているので、記録容量を低減することができる。
【００４８】
図８に示す例は、組合せデータ２１０を模式的に示したものであり、第１多関節ロボット５０ａのサンプリング数を横方向にとり、第２多関節ロボット５０ｂのサンプリング数を縦方向にとることにより平面状に表している。
【００４９】
次に、ステップＳ６において、ロボット姿勢変化判定部１１０ｅで記録した比較時間ｔｃに対して、第２多関節ロボット５０ｂとの干渉判別計算を行う。
【００５０】
つまり、前記ステップＳ４で抽出した比較時間ｔｃにおける第１多関節ロボット５０ａの姿勢に対して、前記ステップＳ３で計算した動作姿勢を適用する。そして各姿勢の組合せについて、３次元ＣＡＤの標準的な機能により、第１多関節ロボット５０ａと第２多関節ロボット５０ｂとが干渉しているか否かを確認する。
【００５１】
干渉が確認された組合せについては、組合せデータ２１０上の相当するメモリに干渉を示すマーク２１２を記録する。図８に示す例では、マーク２１２が黒丸「●」で示される。また、組合せデータ２１０では、第１多関節ロボット５０ａ及び第２多関節ロボット５０ｂが想定通りに動作した場合には、対角状に設定される行程線２１４に沿って動作する。従って、図８に示す例では、行程線２１４上にマーク２１２が存在しないことから、一方が途中停止するトラブルがなければ相互干渉を起こすことなく動作可能であることが確認できる。
【００５２】
なお、第１多関節ロボット５０ａの動作は、パステーブル１８０（図６参照）の「番号」欄で示されるように、所定の教示番号を示す教示姿勢点Ｐ１、Ｐ２…によって区切られている。これらの教示番号で区切られたエリアのうち干渉が検出されたエリアについては、そのエリアの手前で停止させる必要があるため、干渉確認の時間間隔を適当に伸ばしてもよい。干渉確認の時間間隔を伸ばすことによって処理時間を短縮することができる。
【００５３】
次に、ステップＳ７において、相互干渉検証結果記録部１１２が干渉判別結果として組合せデータ２１０をデータベース３７としてハードディスク３４に記録する。
【００５４】
このようにして、第１及び第２多関節ロボット５０ａ、５０ｂが動作する際の相互干渉の状況を検証することができる。
【００５５】
次に、前記ステップＳ４で実行する処理について図９を参照しながら説明する。このステップＳ４の処理は主にロボット姿勢変化判定部１１０ｅによって自動的に実行される。
【００５６】
先ず、ステップＳ１０１において、基準時間ｔｂと比較時間ｔｃを初期値に設定する。つまり、基準時間ｔｂを作業時間の開始時間に設定するとともに、比較時間ｔｃを基準時間ｔｂに対して所定の短い時間幅Δｔを加算した値に設定する。基準時間ｔｂと比較時間ｔｃは、ステップＳ１０５及びステップＳ１０７で更新される。時間幅Δｔはサンプリング幅に設定するとよく、上記の例では１［ｓｅｃ］とするとよい。
【００５７】
次に、ステップＳ１０２において、その時点における比較時間ｔｃと作業時間の終了時間とを比較する。比較時間ｔｃが作業時間に達しているときには図９に示す処理を終了してステップＳ５（図７参照）へ移り、未達であるときには次のステップＳ１０３に進む。
【００５８】
ステップＳ１０３においては、基準時間ｔｂと比較時間ｔｃとの間における第１多関節ロボット５０ａの姿勢変化量εを求める。
【００５９】
具体的には、基準時間ｔｂにおける第１多関節ロボット５０ａの各軸の回転角θ１〜θ６がθ０１、θ０２、θ０３、θ０４、θ０５及びθ０６で、比較時間ｔｃにおける回転角がθ１１、θ１２、θ１３、θ１４、θ１５及びθ１６であるとき、姿勢変化量εを次の（１）式により求める。
ε＝ａ１・｜θ０１−θ１１｜＋ａ２・｜θ０２−θ１２｜＋ａ３・｜θ０３−θ１３｜＋ａ４・｜θ０４−θ１４｜＋ａ５・｜θ０５−θ１５｜＋ａ６・｜θ０６−θ１６｜                                              …（１）
【００６０】
ここで、ａ１〜ａ６は、各軸Ｊ１〜Ｊ６に対する重み付けのための正の係数であり、第１多関節ロボット５０ａの構造によって予め設定されている。第１多関節ロボット５０ａの姿勢変化は、例えば、先端側の軸Ｊ６の回転角であるθ６よりも、第１ベース５４に近い軸Ｊ１の回転角であるθ１によって大きく影響を受けることから、θ６に関する係数ａ６よりもθ１に関する係数ａ１を大きく設定するとよい。
【００６１】
この（１）式によれば、例えば、基準時間ｔｂ及び比較時間ｔｃでＴＣＰの位置が一定である場合にも、その他の部分が変位していることを定量的に判断することができる。
【００６２】
なお、Ｃ型溶接ガンであるガンユニット６８の電極７２が変位しても、第１多関節ロボット５０ａの姿勢は変化しないことから、第２多関節ロボット５０ｂに干渉することはないと判断できる。従って、（１）式では、電極７２の移動量を示す項は含まれていない。これに対して、Ｘ型溶接ガン６８ａ（図５参照）を用いる場合では、電極８０、８２を保持する指示部が大きく変位するので、電極８０、８２の移動量を示す項を付加するとよい。
【００６３】
また、電極７２の移動量は、他のロボットと干渉することがないことが明らかであるから、この電極の移動量は、（１）式に加えなくてもよい。
【００６４】
姿勢変化量εは、（１）式に限らず、第１多関節ロボット５０ａの姿勢の変化を定量的に示すことのできる式により求めればよい。
【００６５】
次に、ステップＳ１０４において、姿勢変化量εを所定の閾値Ｃと比較する。姿勢変化量εが閾値Ｃより小さいときにはステップＳ１０５に移り、姿勢変化量εが閾値Ｃ以上であるときには次のステップＳ１０６に移る。閾値Ｃは、第１多関節ロボット５０ａの姿勢変化の大小を区別することのできる適当な値であり、予め設定されている。
【００６６】
具体的には、図１０に示すように、姿勢変化量εの積算値Σεが閾値Ｃを超えた時間を抽出することができる。図１０では、作業時間を時間ｔ０、ｔ１、ｔ２…（時間幅Δｔ）と表すとともに、ｎ＝１、２、３…として、時間ｔｎ〜ｔ（ｎ＋１）の姿勢変化量εをεｎと表している。積算値Σεは、閾値Ｃを超える毎にリセットされるように処理されて、積算値Σεが閾値Ｃを超えた時間ｔ２、ｔ６、ｔ７及びｔ９が抽出されるとともに時間ｔ０、ｔ１、ｔ３、ｔ４、ｔ５及びｔ８は省かれる。なお、図１０はロボット姿勢変化判定部１１０ｅが行う処理をイメージ的に表現したものであって、θ１〜θ６の正負符合によって、姿勢変化量εが必ずしもそのまま積算されないこともあるが、（１）式によれば基準時間ｔｂにおける前記第１多関節ロボット５０ａの姿勢に対して姿勢変化量εが閾値Ｃより大きくなる比較時間ｔｃを確実に抽出することができる。
【００６７】
ステップＳ１０５においては、比較時間ｔｃを時間幅Δｔだけ増加・更新した後にステップＳ１０２に戻る。このように、基準時間ｔｂの値を維持して比較時間ｔｃだけを更新することにより、第１多関節ロボット５０ａ姿勢変化量εが閾値Ｃを下回るまま連続して動作する場合でも、その変化量を積算的に処理することになり、やがて姿勢変化量εが閾値Ｃ以上となって、ステップＳ１０６に移るようになる。
【００６８】
一方、ステップＳ１０６においては、その時点における比較時間ｔｃを記録するとともに、所定のメモリ領域を確保する。
【００６９】
次に、ステップＳ１０７において、基準時間ｔｂにその時点の比較時間ｔｃを代入するとともに、新たな比較時間ｔｃを基準時間ｔｂより時間幅Δｔだけ長く設定する。これにより、基準時間ｔｂと比較時間ｔｃとの時間幅はΔｔとなる。この後、ステップＳ１０２に戻り処理を続行する。
【００７０】
図７及び図９のフローチャートで示される処理が終了した後、記録されたデータベース３７等に基づいて、干渉を検証するグラフを作成するとよい。このグラフは、例えば、前記特許文献１で開示されている方法により作成するとよい。さらに、干渉が確認されたエリアについては所定のインターロックを設けることにより、ロボットの相互干渉を防止することができる。
【００７１】
また、第１多関節ロボット５０ａと第３多関節ロボット５０ｃとの相互干渉、及び第２多関節ロボット５０ｂと第３多関節ロボット５０ｃとの相互干渉についても同様に検証することができる。
【００７２】
この方法では、単にＴＣＰの移動距離だけでなく、各軸Ｊ１〜Ｊ６の姿勢変化を考慮していることから、例えば、図１１に示すように、ＴＣＰの移動距離が少ない場合であってもガンユニット６８が反転するような場合には、干渉確認を行うようにすることができる。
【００７３】
上記の説明では、第１多関節ロボット５０ａの姿勢変化量εに基づいて、干渉確認回数を低減する例について説明したが、図１２に示すように、第２多関節ロボット５０ｂについても姿勢の変化の少ない箇所を間引くようにしてもよい。
【００７４】
また、電極７０、７２に通電して溶接を行っている最中には、ロボットは動作しないことから、少なくともこの間における検証回数を削減することができる。
【００７５】
この発明に係るロボットの相互干渉検証方法は、上述の実施の形態例に限らず、この発明の要旨を逸脱することなく、種々のステップを採り得ることはもちろんである。
【００７６】
【発明の効果】
以上説明したように、本発明に係るロボットの相互干渉検証方法によれば、２台のロボットが同時に動作する際に、一方のロボットの姿勢変化量が小さい箇所については相互干渉の有無を検証する時間を伸ばすことにより、短時間で検証を行うことができるという効果が達成される。
【図面の簡単な説明】
【図１】本実施の形態で使用するオフラインティーチング装置及びロボット装置を示す説明図である。
【図２】オフラインティーチング装置の構成を示すブロック図である。
【図３】相互干渉検証プログラムの構成を示すブロック図である。
【図４】多関節ロボットの構成を示す説明図である。
【図５】Ｘ型溶接ガンを示す説明図である。
【図６】パステーブルを示す説明図である。
【図７】本実施の形態に係るロボットの相互干渉検証方法の手順を示すフローチャートである。
【図８】第１多関節ロボットについて姿勢の変化の少ない箇所を間引いた組合せデータを示す説明図である。
【図９】ロボット姿勢変化判定部によって、第１多関節ロボットの姿勢変化量の小さい箇所を抽出する手順を示すフローチャートである。
【図１０】ロボット姿勢変化判定部によって、第１多関節ロボットの姿勢変化量の小さい箇所が抽出された比較時間を示す模式図である。
【図１１】ロボットの姿勢変化量が大きいときで、ＴＣＰの移動量が小さい場合のガンユニットの移動状態を示す模式図である。
【図１２】第１多関節ロボット及び第２多関節ロボットの双方について姿勢の変化の少ない箇所を間引いた組合せデータを示す説明図である。
【符号の説明】
１０…オフラインティーチング装置      １２…ロボット装置
１４…制御部                          １６…モニタ
１８…キーボード                      ２０…マウス
２２ａ〜２２ｃ…ロボット制御部        ２６…ＣＰＵ（コンピュータ）
２８…ＲＯＭ                          ２９…ＲＡＭ
３４…ハードディスク                  ３５…相互干渉検証プログラム
３７…データベース                    ５０ａ〜５０ｃ…多関節ロボット
６８…ガンユニット                    ６８ａ…Ｘ型溶接ガン
７０、７２、８０、８２…電極          １００…データ読込み部
１０２…データ書込み部
１０８…ロボット動作プログラム生成部  １１０…相互干渉確認部
１１０ａ…動作計画計算部
１１０ｂ…ロボット姿勢サンプリング部  １１０ｃ…姿勢組合せ生成部
１１０ｄ…相互干渉計算部              １１０ｅ…ロボット姿勢変化判定部
１１２…相互干渉検証結果記録部        １１４…姿勢組合せ計算部
１１６…ロボット姿勢計算部            １８０…パステーブル
２１０…組合せデータ
【図１】
2004358564.tif 000003
【図２】
2004358564.tif 000004
【図３】
2004358564.tif 000005
【図４】
2004358564.tif 000006
【図５】
2004358564.tif 000007
【図６】
2004358564.tif 000008
【図７】
2004358564.tif 000009
【図８】
2004358564.tif 000010
【図９】
2004358564.tif 000011
【図１０】
2004358564.tif 000012
【図１１】
2004358564.tif 000013
【図１２】
2004358564.tif 000014
【手続補正書】
【提出日】平成16年2月3日(2004.2.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
【従来の技術】
従来、製造ラインに設置された多関節ロボットを直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならない。その為、作業時間が限られ作業が非効率的となってしまう。また、その作業は、製造ラインを停止させた状態で行う必要があるために当該製造ラインの稼働率も低下してしまう。


【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
さらに、相互干渉確認部１１０は、動作計画計算部１１０ａによる任意時刻における第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの姿勢を計算するロボット姿勢サンプリング部１１０ｂと、第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃのうち２台の多関節ロボットの姿勢組合せの記録領域を確保する姿勢組合せ生成部１１０ｃと、所定時間毎の第１〜第３多関節ロボット５０ａ、５０ｂ、５０ｃの姿勢の変化量を求めるロボット姿勢変化判定部１１０ｅとを有する。


【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
次に、ステップＳ２において、動作計画計算部１１０ａがパステーブル１８０に基づいて第１及び第２多関節ロボット５０ａ、５０ｂの動作計画を生成する。この動作計画は、パステーブル１８０で表されている教示姿勢点Ｐｎ間を動作速度等の条件によって補間するものである。