(57)【要約】【課題】複数のロボットを含むシステムにおいて、オフラインのシミュレーションを行うことによって適切な干渉領域を求め、それに基づいてインターロックを自動的に設定することができるインターロック自動設定装置及び自動設定方法を提供する。【解決手段】インターロック自動設定装置は、動作プログラムに基づいてオフラインのプログラミングシステム上でシミュレーションを行い、各ロボットの動作経路を取得し、第１の２次元干渉領域を求める。次に、第１の２次元干渉領域を鉛直方向に延長して形成された第１の３次元干渉領域内において、各ロボットの３次元モデルを用いて厳密な第２の３次元干渉領域を求める。【選択図】図１
2007164417.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットを含むシステムにおいて、前記複数のロボットの各々の動作プログラムを編集することにより前記複数のロボット間のインターロックを自動的に設定するインターロック自動設定装置であって、
前記複数のロボットの各々の動作プログラムに基づく動作シミュレーションの結果からロボット間の干渉領域を設定する干渉領域設定部と、
前記複数のロボットの各々の動作プログラムに含まれる、前記干渉領域を通過する命令の前後に、前記干渉領域に進入するときの位置及び姿勢、並びに前記干渉領域から離脱するときの位置及び姿勢を指定する動作命令と、前記干渉領域へのあるロボットの進入及び離脱を他のロボットに知らせる通信命令とを追加するプログラム編集部と、
を有するインターロック自動設定装置。
【請求項２】
前記干渉領域設定部は、前記動作シミュレーションの結果に基づいて前記複数のロボットの各々の最遠点の移動経路の２次元座標を求めるとともに、前記２次元座標上の各ロボットの移動経路に基づいて第１の２次元干渉領域を求める第１干渉領域計算部を含む、請求項１に記載のインターロック自動設定装置。
【請求項３】
前記干渉領域設定部は、前記第１の２次元干渉領域を該第１の２次元干渉領域に垂直な方向に掃引して形成される第１の３次元干渉領域内において、前記複数のロボットの３次元モデルを用いて該複数のロボットの移動経路の３次元掃引空間を求めるとともに、前記第１の３次元干渉領域内の複数の掃引空間相互の干渉チェックを行うことにより第２の３次元干渉領域を求める第２干渉計算部をさらに含む、請求項２に記載のインターロック自動設定装置。
【請求項４】
複数のロボットを含むシステムにおいて、前記複数のロボットの各々の動作プログラムを編集することにより前記複数のロボット間のインターロックを自動的に設定するインターロック自動設定方法であって、
前記複数のロボットの各々の動作プログラムに基づく動作シミュレーションの結果からロボット間の干渉領域を設定するステップと、
前記複数のロボットの各々の動作プログラムに含まれる、前記干渉領域を通過する命令の前後に、前記干渉領域に進入するときの位置及び姿勢、並びに前記干渉領域から離脱するときの位置及び姿勢を指定する動作命令と、前記干渉領域へのあるロボットの進入及び離脱を他のロボットに知らせる通信命令とを追加するステップと、
を有するインターロック自動設定方法。
【請求項５】
前記干渉領域を設定するステップは、前記動作シミュレーションの結果に基づいて前記複数のロボットの各々の最遠点の移動経路の２次元座標を求めるとともに、前記２次元座標上の各ロボットの移動経路に基づいて第１の２次元干渉領域を求めることを含む、請求項４に記載のインターロック自動設定方法。
【請求項６】
前記干渉領域を設定するステップは、前記第１の２次元干渉領域を該第１の２次元干渉領域に垂直な方向に掃引して形成される第１の３次元干渉領域内において、前記複数のロボットの３次元モデルを用いて該複数のロボットの移動経路の３次元掃引空間を求めるとともに、前記第１の３次元干渉領域内の複数の掃引空間相互の干渉チェックを行うことにより第２の３次元干渉領域を求めることをさらに含む、請求項５に記載のインターロック自動設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のロボットの干渉を回避するためのインターロックを自動的に設定可能な装置及びその方法に関する。
【背景技術】
【０００２】
ロボットと他の外部機器等とを協働させて作業を行う場合、両者の作業領域が重複する場合には干渉を回避することが必要になる。例えば特許文献１には、ロボットと外部機器との干渉を回避するための干渉回避方法が開示されている。この干渉回避方法においては、外部機器としてのプレス機とロボットとの干渉を回避するために、干渉領域を予め設定した上で、ロボット及びプレス機のいずれか一方が干渉領域内にあるときに他方に対して干渉領域への進入を禁止する信号を出力するものである。
【０００３】
同様に、複数台のロボット間について、それらの動作経路に干渉が生じ得る場合も、干渉領域に複数台のロボットが進入しないようにインターロックを設定する必要がある。しかしロボットの動作経路は一般に複雑であり、上述のプレス機の様に比較的容易に可動範囲（干渉領域）が設定できないことから、従来は、ロボットの干渉領域を目視で確認し、教示プログラムを編集することによってインターロックの設定を行っていた。
【０００４】
【特許文献１】特開平１０−３３０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように従来はロボット間の干渉領域を目視で確認していたため、作業は熟練と時間を要する。故に、干渉の可能性を見落としたり、逆に干渉領域を過剰に見積もってしまったりする場合が多かった。前者の場合はロボット間の衝突、後者の場合はロボットの待機時間が不必要に長くなる等の問題が生じ得る。また最適な干渉領域を見極めるための試行錯誤の段階で実際にロボットを衝突させてしまう場合もあり得る。
【０００６】
そこで本発明は、複数のロボットを含むシステムにおいて、オフラインのシミュレーションを行うことによって適切な干渉領域を求め、それに基づいてインターロックを自動的に設定することができるインターロック自動設定装置及び自動設定方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に記載の発明は、複数のロボットを含むシステムにおいて、前記複数のロボットの各々の動作プログラムを編集することにより前記複数のロボット間のインターロックを自動的に設定するインターロック自動設定装置であって、前記複数のロボットの各々の動作プログラムに基づく動作シミュレーションの結果からロボット間の干渉領域を設定する干渉領域設定部と、前記複数のロボットの各々の動作プログラムに含まれる、前記干渉領域を通過する命令の前後に、前記干渉領域に進入するときの位置及び姿勢、並びに前記干渉領域から離脱するときの位置及び姿勢を指定する動作命令と、前記干渉領域へのあるロボットの進入及び離脱を他のロボットに知らせる通信命令とを追加するプログラム編集部と、を有するインターロック自動設定装置を提供する。
【０００８】
請求項２に記載の発明は、請求項１に記載のインターロック自動設定装置において、前記干渉領域設定部は、前記動作シミュレーションの結果に基づいて前記複数のロボットの各々の最遠点の移動経路の２次元座標を求めるとともに、前記２次元座標上の各ロボットの移動経路に基づいて第１の２次元干渉領域を求める第１干渉領域計算部を含む、インターロック自動設定装置を提供する。
【０００９】
請求項３に記載の発明は、請求項２に記載のインターロック自動設定装置において、前記干渉領域設定部は、前記第１の２次元干渉領域を該第１の２次元干渉領域に垂直な方向に掃引して形成される第１の３次元干渉領域内において、前記複数のロボットの３次元モデルを用いて該複数のロボットの移動経路の３次元掃引空間を求めるとともに、前記第１の３次元干渉領域内の複数の掃引空間相互の干渉チェックを行うことにより第２の３次元干渉領域を求める第２干渉計算部をさらに含む、インターロック自動設定装置を提供する。
【００１０】
また請求項４に記載の発明は、複数のロボットを含むシステムにおいて、前記複数のロボットの各々の動作プログラムを編集することにより前記複数のロボット間のインターロックを自動的に設定するインターロック自動設定方法であって、前記複数のロボットの各々の動作プログラムに基づく動作シミュレーションの結果からロボット間の干渉領域を設定するステップと、前記複数のロボットの各々の動作プログラムに含まれる、前記干渉領域を通過する命令の前後に、前記干渉領域に進入するときの位置及び姿勢、並びに前記干渉領域から離脱するときの位置及び姿勢を指定する動作命令と、前記干渉領域へのあるロボットの進入及び離脱を他のロボットに知らせる通信命令とを追加するステップと、を有するインターロック自動設定方法を提供する。
【００１１】
請求項５に記載の発明は、請求項４に記載のインターロック自動設定方法において、前記干渉領域を設定するステップは、前記動作シミュレーションの結果に基づいて前記複数のロボットの各々の最遠点の移動経路の２次元座標を求めるとともに、前記２次元座標上の各ロボットの移動経路に基づいて第１の２次元干渉領域を求めることを含む、インターロック自動設定方法を提供する。
【００１２】
請求項６に記載の発明は、請求項５に記載のインターロック自動設定方法において、前記干渉領域を設定するステップは、前記第１の２次元干渉領域を該第１の２次元干渉領域に垂直な方向に掃引して形成される第１の３次元干渉領域内において、前記複数のロボットの３次元モデルを用いて該複数のロボットの移動経路の３次元掃引空間を求めるとともに、前記第１の３次元干渉領域内の複数の掃引空間相互の干渉チェックを行うことにより第２の３次元干渉領域を求めることをさらに含む、インターロック自動設定方法を提供する。
【発明の効果】
【００１３】
本発明に係るインターロック自動設定装置及び自動設定方法によれば、オフラインのプログラミングシステムにおいて、シミュレーションにより得られたロボット間の干渉領域から、インターロックを自動的に設定することが可能になる。また干渉領域については、先ず２次元平面上でラフな第１の干渉領域を求め、第１の領域内で３次元の第２の干渉領域を求めることにより、短時間で厳密な干渉領域を求めることができる。
【００１４】
また本発明によれば、想定していなかった箇所でロボット同士が衝突したり、逆にロボットが不必要に長時間待機してタクトタイムが悪化したりすることを防止することができる。またインターロックは自動的に設定されるため、作業者の熟練度に依存しない安定したインターロック設定が可能になり、また作業者の負担も軽減することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら本発明を詳細に説明する。図１は、本発明に係るインターロック設定装置が行う作業すなわち設定方法の流れを示すフローチャートである。インターロック設定装置は、複数のロボットを含むシステムにおいて、各ロボットの動作プログラムや教示プログラムを作成するプログラミング装置に含まれてもよいし、別個に設けられてもよい。また以降は、２つのロボット１０及び２０の間の干渉を回避するためのインターロック設定装置について説明するが、３つ以上のロボットについても考え方は同様である。
【００１６】
先ず図２（ａ）〜（ｃ）に示すように、ロボット１０及び２０を配置したワークセルを作成する（図１のステップＳ１）。なお図２（ａ）〜（ｃ）はロボット１０についてのみ示しており、ロボット２０は同様なので省略する。ここでは、ロボット１０がある姿勢をとっているときに、２次元平面（Ｘ−Ｙ平面）上において、ロボットの原点位置１２から最も離れた点（以降、最遠点と称する）となり得るロボット１０上の位置を設定する。図２（ａ）〜（ｃ）に示すロボットでは、最遠点はロボット１０のツール１４の先端点１６又はリンク１８が挙げられる。例えば、図２（ａ）及び（ｂ）に示す姿勢の場合は最遠点はツール先端点１６であり、図２（ｃ）に示す姿勢の場合は最遠点はリンク１８となる。
【００１７】
次に、各ロボットについての動作プログラムの作成を行う（図１のステップＳ２）。動作プログラムは、各ロボットに要求される作業に基づいて通常の方法で作成される。
【００１８】
次に、ステップＳ２で作成された動作プログラムに基づいて、オフラインのプログラミングシステム上でシミュレーションを行い、各ロボットの動作経路を取得する（図１のステップＳ３）。このシミュレーションによる結果例を図３に示す。図３は、図２（ａ）〜（ｃ）と同一の２次元平面上にロボット１０及び２０を簡略的に、すなわちそれぞれの原点１２及び２２並びに最遠点１６ａ〜１６ｈ及び２６ａ〜２６ｈのみ示す図である。
【００１９】
図３に示すように、動作プログラムのシミュレーションによって、ロボット１０の最遠点は点１６ａから１６ｈまで移動し、ロボット２０の最遠点は点２６ａから２６ｈまで移動するものとする。ここでロボット１０及び２０の、最遠点の軌跡と原点とで形成される領域が重なる平面すなわち２次元領域３０（図３では斜線で図示）を求め、その２次元領域３０を第１の２次元の干渉領域として記憶する（図１のステップＳ４）。従って、この第１の２次元干渉領域をそれに垂直なＺ軸方向に平行（ここでは鉛直上方）に掃引して形成された第１の３次元の干渉領域（すなわちＸ、Ｙ座標が平面領域３０内の各点と同一であり、Ｚ座標が任意の点の集合）は、実際に動作プログラムに従って各ロボットを動かしたときに干渉が生じ得る領域をやや大雑把に包含する領域と言える。逆に言えば、第１の３次元干渉領域以外の領域ではロボット間の干渉を考慮する必要はない。
【００２０】
次に、ステップＳ４で求めた第１の３次元干渉領域内において、動作プログラムに基づいて動作したときの各ロボットの正確な３次元掃引空間すなわち通過領域を求める（図１のステップＳ５）。ここで各ロボットの通過領域は、予め得られている各ロボットの、図２（ａ）〜（ｃ）及び図４に示すような３次元ＣＡＤモデルを使用することにより求めることができる。すなわち、動作シミュレーションにより第１の３次元干渉領域内の任意の位置における各ロボットの姿勢は既知であるから、その姿勢から各ロボットの正確な占有領域を求め、さらに第１の３次元干渉領域内全ての位置における占有領域の和を求めることにより、各ロボットの正確な通過領域を求めることができる。
【００２１】
次に各ロボット（ここではロボット１０及び２０）の第１干渉領域内の通過領域の積（２つの通過領域の重複部分）を求め、第２の３次元干渉領域として記憶する（図１のステップＳ６）。第２の干渉領域は、例えば図４に示す領域４０のように、第１の２次元干渉領域をＺ方向に延長して得られた第１の３次元干渉領域３２内の一部を占有する３次元空間として求められる。この第２の３次元干渉領域が、実際に動作プログラムに従って各ロボットを動かしたときに干渉が生じ得る厳密な領域と言える。上述のように予めこの領域を大雑把に含むラフな第１の干渉領域を求めているので、この第２の干渉領域は短時間で求めることができる。
【００２２】
ロボット１０及び２０の干渉を確実に回避するためには、第２の３次元干渉領域内に同時に２つのロボットの一部又は全部が進入していなければよい。すなわち、一方のロボットの少なくとも一部が第２の干渉領域内に在ることを他方のロボットに告知すれば、他方のロボットは第２の干渉領域に進入しないように待機することが可能となり、換言すれば過不足のないインターロックが設定可能となる。
【００２３】
一方のロボット（例えばロボット１０）が第２の干渉領域内に在ることを他方のロボット（例えばロボット２０）に告知するには、いくつかの好適な方法が考えられる。例えば、ロボット１０及び２０が第２の干渉領域内に入る直前、又は一定距離若しくは一定時間前の位置及び姿勢と、第２の干渉領域から出た直後、又は一定距離若しくは一定時間後の位置及び姿勢とをそれぞれ求めておき、これらの位置及び姿勢をとる動作命令を教示プログラムに挿入する。さらに、Ｉ／Ｏ命令等の、ロボット１０が第２の干渉領域内に進入したこと又は第２の干渉領域から離脱したことを告知する命令を教示プログラムに挿入することにより、ロボット２０を、ロボット１０が第２の干渉領域に進入してそこから離脱するまでの間、上述の動作命令の手前で待機させることができる。このような教示プログラムの編集（図１のステップＳ７）により、ロボット２０の待機時間を最小限に抑えることができ、結果として適切なインターロックを設定することができる。
【００２４】
なお、上述の第１の干渉領域のみに基づいて図１のステップＳ７を実行（すなわちステップＳ５及びＳ６を省略）することも可能である。この場合はより正確な干渉領域である第２の干渉領域を使用しないのでややロボットの待機時間がいくらか過剰になってそれに伴いタクトタイムも延びる虞があるが、３次元ＣＡＤモデルやそれに基づく掃引空間の計算等を必要としないので、さらなる計算時間の短縮等のメリットが得られる。逆に、ステップＳ４を省略していきなり３次元の厳密な干渉領域を求めることも理論的には可能であるが、特にロボットの台数が多いとき等は膨大なメモリーや長い計算時間が必要となり、あまり現実的ではない。
【図面の簡単な説明】
【００２５】
【図１】本発明に係るインターロック設定装置の作業の流れを示す図である。
【図２】（ａ）ロボットの原点及び作業ツール上の最遠点を示す図であり、（ｂ）（ａ）の最遠点がロボットの姿勢の変化によって移動した場合を示す図であり、（ｃ）ロボットの姿勢がさらに変化して最遠点がツール上の点からリンクに移行した場合を示す図である。
【図３】２つのロボット間の第１の２次元干渉領域を説明する図である。
【図４】２つのロボット間の第２の３次元干渉領域を説明する図である。
【符号の説明】
【００２６】
１０、２０    ロボット
１２、２２    原点
１６ａ〜１６ｈ    最遠点
２６ａ〜２６ｈ    最遠点
３０    第１の２次元干渉領域
３２    第１の３次元干渉領域
４０    第２の３次元干渉領域
【図１】
2007164417.tif 000003
【図２】
2007164417.tif 000004
【図３】
2007164417.tif 000005
【図４】
2007164417.tif 000006