JP2004160588A - 複数ロボットの干渉領域検出方法およびそのプログラム - Google Patents
複数ロボットの干渉領域検出方法およびそのプログラム Download PDFInfo
- Publication number
- JP2004160588A JP2004160588A JP2002328509A JP2002328509A JP2004160588A JP 2004160588 A JP2004160588 A JP 2004160588A JP 2002328509 A JP2002328509 A JP 2002328509A JP 2002328509 A JP2002328509 A JP 2002328509A JP 2004160588 A JP2004160588 A JP 2004160588A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- workspace
- area
- detecting
- teaching data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】干渉領域の検出精度を維持しつつシミュレーションにかかる時間と工数を削減する。
【解決手段】まず、第1ロボット(200)をその教示データによって始点から終点まで1経由点ごとに動かしてワークスペース(300)を作成し、つぎに、第2ロボット(400)をその教示データによって始点から終点まで連続して動かして、ワークスペースとの干渉領域を検出する。
【選択図】 図7
【解決手段】まず、第1ロボット(200)をその教示データによって始点から終点まで1経由点ごとに動かしてワークスペース(300)を作成し、つぎに、第2ロボット(400)をその教示データによって始点から終点まで連続して動かして、ワークスペースとの干渉領域を検出する。
【選択図】 図7
Description
【0001】
【発明の属する技術分野】
本発明は、シミュレーションによって複数ロボットの干渉領域を検出する、複数ロボットの干渉領域検出方法およびそのプログラムに関する。
【0002】
【従来の技術】
従来、たとえば車体のスポット溶接ラインのように、溶接対象となる車体の周辺に複数のロボットが密集して設置されている場合には、同時に動作するロボット相互間の干渉を回避させる必要がある。
【0003】
ロボット相互間の干渉状態を検出する技術としてはさまざまなものが提案されているが、その技術の1つには下記特許文献1に記載するものがある。
【0004】
この技術は、各ロボット制御装置が持っている固有のプログラムを計算機に移植させることなく、各ロボットの動作がシミュレーションできるというものである。このシミュレーションによって各ロボットの干渉領域を検出する。
【0005】
通常、ロボットの干渉領域を検出するためのシミュレーションは、作業領域を共有するロボットについて、画面上で1つのロボットをある一定の距離間隔で1ステップ動作させ、他のロボットはその1ステップの動作に対して作業の始点から終点まで連続して動作させて干渉をチェックするという方法で行われる。
【0006】
【特許文献1】
特開2001−150373号公報
【0007】
【発明が解決しようとする課題】
しかしながら、このような従来の方法では、干渉領域を検出するのに時間と工数がかかりすぎるという問題がある。たとえば、1のロボットがその作業の始点から終点まで1万ステップで動かさなければならないとすれば、他のロボットは前記1のロボットの各ステップに対してその作業の始点から終点まで一回連続して動かさなければならないため、他のロボットは1万回その作業の始点から終点までの動作を要することになる。
【0008】
現在、シミュレーション装置の計算速度が速くなっているとはいうものの、上記のシミュレーションを完了し、そのシミュレーションの結果から干渉領域を検出することは短時間でできるものではない。このシミュレーションにかかる時間を短縮するためには干渉領域を検出するために動かすロボットのステップ数を減らす(経由点の間隔を広げる)ことが考えられるが、ステップ数を減らすと、干渉領域の検出精度がステップ数の減少に伴って低下してしまうため、ステップ数を減らすのはあまり好ましくない。
【0009】
本発明は、以上のような従来のシミュレーションの問題点に鑑みてなされたものであり、干渉領域の検出精度が良好であり、シミュレーションにかかる時間と工数とが少なくて済む、複数ロボットの干渉領域検出方法およびそのプログラムの提供を目的とする。
【0010】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、発明にかかる複数ロボットの干渉領域検出方法は、互いに干渉する作業領域をもつ複数のロボットを、それぞれの教示データに基づいて擬似的に動作させ、それぞれのロボットの干渉領域を検出する複数ロボットの干渉領域検出方法であって、第1ロボットを当該第1ロボットの教示データに基づいて動作させ、当該第1ロボットの動作軌跡からワークスペースを作成するステップと、第2ロボットを当該第2ロボットの教示データに基づいてその始点から終点まで動作させ、前記ワークスペースと干渉を起こした領域を検出するステップと、を含むことを特徴とするものである。
【0011】
【発明の効果】
本発明によれば、まず第1ロボットのワークスペースを作成し、このワークスペースに対して第2ロボットの干渉を検出するようにしたので、第2ロボットをその教示データの始点から終点まで一回だけ連続して動作させれば、両ロボットの干渉領域を検出することができる。したがって、従来と同一の検出精度で良ければ、シミュレーションにかかる時間と工数を大幅に短縮および削減できる。また、従来と同一の時間と工数をかけることができるのであれば、その検出精度を大幅に向上させることができる。
【0012】
【発明の実施の形態】
以下に添付図面を参照して、本発明にかかる複数ロボットの干渉領域検出方法およびそのプログラムの好適な実施の形態を、実施の形態1と実施の形態2に分けて詳細に説明する。
【0013】
[実施の形態1]
図1は、本発明にかかる複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。シミュレーション装置100は、操作端末10、表示部20、干渉領域記憶部30、教示データ記憶部40、ロボット形状データ記憶部50、ワークスペース記憶部60およびロボット干渉領域検出部70を備えている。それぞれの構成要素の概略の機能は、以下のとおりである。
【0014】
操作端末10は、操作者がシミュレーション動作させるロボットの選択指令を入力したり、選択したロボットの動作指令を入力したりするために用いる。表示部20は、ロボットの動作状況の表示、ワークスペースの表示、干渉領域の確認のために用いる。
【0015】
干渉領域記憶部30は、シミュレーションの結果得られた干渉領域を記憶する。具体的には、1のロボットが他のロボットと干渉する1のロボットのワークエリア要素の経由点と、他のロボットが1のロボットと干渉する他のロボットの経由点を記憶する。
【0016】
教示データ記憶部40は、複数のロボットのそれぞれに対する教示データを個別に記憶する。具体的には、教示点の三次元座標や教示点間の通過速度を記憶する。
【0017】
ロボット形状データ記憶部50は、複数のロボットのそれぞれに対する実機の形状データを個別に記憶する。
【0018】
ワークスペース記憶部60は、ロボット形状データと教示データとに基づいて作成された、経由点間ごとのワークスペース要素を記憶する。すべての経由点に対するワークスペース要素の集合がワークスペースとなる。なお、各ワークスペース要素には経由点間の識別情報が対応付けられる。この識別情報によって、たとえば、ワークスペース要素1が経由点1−2間の動作領域であることがわかる。
【0019】
ロボット干渉領域検出部70は、操作端末10からの指令に基づいて、特定のロボットの形状データと教示データとを入力し、経由点ごとにワークスペース要素を作成し、そのワークスペース要素をワークスペース記憶部60に記憶させる。また、特定のロボットのワークスペースを取り出して、他のロボットをその教示データに基づいて動作させ、両ロボットが干渉する領域を検出し、干渉する領域を干渉領域記憶部30に記憶させる。
【0020】
以下に、本発明にかかる複数ロボットの干渉領域検出方法を、図2から図5のフローチャートにしたがって、図6から図11のロボットの動作を示す図面を参照しつつ詳細に説明する。
【0021】
図2は、図1のシミュレーション装置100によって実施される、本発明にかかる複数ロボットの干渉領域検出方法の手順を示すフローチャートである。本発明にかかる複数ロボットの干渉領域検出方法は、図6に示すように、まず、干渉検出の対象となるロボット200を、その教示データに基づいて1経由点ずつ動作させ、それぞれの経由点間におけるロボット200の動作領域を記憶する。教示データに基づいてその始点から終点まで、すべての経由点間の動作領域を記憶すると、ロボット200のワークスペースが作成される(S1)。
【0022】
図6に描かれている、ロボット200の動作軌跡204は、ロボット200の教示データに基づいてその始点から終点まで動かしたときの作業端202の軌跡を示す。ロボット200の教示データを入力し、教示データに基づく経由点ごとのロボット200の三次元形状を記憶していくと、図6の右側の図のような段階的な三次元形状が得られる。この三次元形状を経由点間で教示データの始点から終点まで記憶させると、図7に示してあるようなワークスペース300が得られる。なお、ある1経由点間で得られるロボット200の占める領域をワークスペース要素、ロボット200の教示データに基づいて作業端202をその始点から終点まで動かすことによって得られる動作軌跡領域をワークスペースという。したがって、ワークスペースは、ワークスペース要素の集合となる。
【0023】
次に、図7に示すように、干渉チェックの対象となるロボット400をその教示データにしたがってその始点から終点まで動かす(S2)。ロボット400の教示データに基づいて作業端402をその始点から終点まで動かすと、作業端402は、図7に示すような動作軌跡を描く。
【0024】
そして、ワークスペース300とロボット400が占める領域とが重なった領域を干渉領域として検出する(S3)。
【0025】
本発明にかかる複数ロボットの干渉領域検出方法の概略は以上のとおりであるが、以下に、本発明にかかる複数ロボットの干渉領域検出方法の手順を詳細に説明する。
【0026】
図3は、図2のフローチャートのS1のステップの詳細を示すフローチャート、図4は、そのS2のステップの詳細を示すフローチャート、図5は、そのS3のステップの詳細を示すフローチャートである。
【0027】
まず、「対象ロボットのワークスペース作成」の処理においては次のような処理が行われる。操作者は、端末装置10を操作して、ワークスペースを作成させるべきロボット、たとえばロボット200を指定する。ロボット干渉領域検出部70は、この指定に基づいて、例えば図8に示すロボット200の形状データをロボット形状データ記憶部50から入力する(S11)。そして、経由点の数を積算するカウンタNの値を1にセットする(S12)。ロボット干渉領域検出部70は、ロボット200の教示データを教示データ記憶部40から入力する(S13)。操作者は、操作端末10によって、経由点間隔を任意の間隔に設定できる。ロボット干渉領域検出部70は、入力したロボット200の形状データと教示データおよび経由点間隔から前述のようなワークスペース要素を作成し(S14)、作成したワークスペース要素をワークスペース記憶部60に記憶させる(S15)。なお、作成されたワークスペース要素には経由点間の識別情報が付けられる。たとえば、カウンタNの値が1のときに作成されたワークスペース要素は、経由点Nと経由点N+1の間の経由点間に対応するので、そのワークスペース要素には「N−N+1」という識別情報がつくことになる。
【0028】
そして、カウンタNの値を1だけインクリメントし(S16)、教示データの始点から終点まですべての経由点に対して以上のS13からS16までの処理が終了していなければ(S17:NO)、S13からS16までの処理を繰り返し行い、その始点から終点までのすべてのステップに対してその処理が終了したら(S17:YES)、「対象ロボットのワークスペース作成」の処理を終了する。
【0029】
この処理が終了したときに、ワークスペース記憶部60には連続した経由点のワークスペース要素が記憶され、最終的には、図9に示すようなワークスペース300が記憶されることになる。ワークスペース300は、ロボット200がその教示データに基づいて作業の始点から終点まで動いたときの、ロボット200の構造体が通過した三次元領域となる。
【0030】
次に、図4の「干渉チェック対象ロボットを動作」させる処理では、次のような処理が行われる。操作者は、端末装置10を操作して、干渉チェックを行うロボット、たとえばロボット400を指定する。ロボット干渉領域検出部70は、この指定に基づいて、例えば図9に示すロボット400の形状データをロボット形状データ記憶部50から入力する(S21)。そして、経由点の数を積算するカウンタMの値を1にセットする(S22)。ロボット干渉領域検出部70は、ロボット400の教示データを教示データ記憶部40から入力する(S23)。ロボット干渉領域検出部70は、入力したロボット400の形状データと教示データおよび操作者が端末装置10から指定した経由点に基づいて、その経由点においてロボット400が占める領域を作成する(S24)。
【0031】
ロボット干渉領域検出部70は、ロボット400の教示データの全ステップに対して干渉の検出が終了しているか否かを判断し(S25)、検出が終了していれば(S25:YES)、「干渉チェック対象ロボットを動作」させる処理を終了する。一方、検出が終了していなければ(S25:NO)、ロボット干渉領域検出部70は、図9に示すように、ロボット400の経由点Mにおいてロボット400が占める領域がロボット200のワークスペース300と重複しているか否かを判断する(S26)。
【0032】
図10に示すように重複していれば(S26:YES)、その重複しているロボット200のワークスペース要素の識別情報からロボット200のどの経由点間で干渉しているのかが抽出され、同時に、ロボット400のどの経由点で干渉したのかも抽出される(S27)。ロボット干渉領域検出部70は、抽出したロボット200の経由点間と、ロボット400の経由点を干渉領域記憶部30に記憶させる(S28)。一方、S26のステップで重複していなければ(S26:NO)、カウンタMの値を1だけインクリメントして、S23からS26のステップを繰り返す(S29)。
【0033】
次に、図5の「干渉領域の検出」では次のような処理が行われる。まず、ロボット干渉領域検出部70は、干渉領域記憶部30に記憶されているロボット200の経由点間とロボット400の経由点を入力する(S31)。次に、これらの経由点の情報に基づいて、それぞれのロボットの干渉領域への進入経由点と、その干渉領域からの脱出経由点を検出する(S32)。例えば、図11に示すように、ロボット200のワークスペース要素82が7、8経由点間の姿勢、ワークスペース要素145が11、12経由点間の姿勢、ワークスペース要素202が16、17経由点間の姿勢、ワークスペース要素297が24、25の姿勢であるとし、また、ロボット400が経由点8、9間および経由点18、19間でロボット200のワークスペース300と干渉したとする。この場合、干渉領域記憶部30には、ロボット200の経由点7から12と、経由点16から25が、また、ロボット400の経由点8、9、18、19が記憶される。このときのロボット200の進入経由点は経由点7と経由点16であり、脱出経由点は経由点12と経由点25である。また、ロボット400の進入経由点は経由点8、脱出経由点は経由点19である。
【0034】
以上のようにして干渉の検出をする側のロボットを一サイクル動かすだけで、各ロボットの干渉領域が特定できる。したがって、その処理速度は、従来の方法とは比較にならないほど高速化できる。
【0035】
ただ、本実施の形態の場合、ワークスペースは、実機のロボットの形状データに基づいて作成している。実機のロボットは、その形状が複雑であるからワークスペースの作成にある程度の時間を要することと、ワークスペース記憶部の記憶容量はかなり大きなものが必要である。
【0036】
次に説明する実施の形態2は、実施の形態1のこれらの欠点を解消したものである。
【0037】
[実施の形態2]
本実施の形態は、ワークスペースを作成するロボットとして、実機の形状を包含する簡易な形状のロボットを用い、ワークスペースの作成の時間短縮と、それを記憶するワークスペース記憶部の記憶容量の減少を図るものである。
【0038】
図12は、本発明にかかる他の複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。シミュレーション装置150は、図1に示したシミュレーション装置100に簡易ロボット形状データ記憶部90を付加したものである。簡易ロボット形状データ記憶部90は、ロボット形状データ記憶部50に記憶されているロボットの簡易な形状に関する形状データを記憶するものである。
【0039】
以下に、本発明にかかる複数ロボットの干渉領域検出方法を、図13のフローチャートにしたがって、図14から図17のロボットの動作を示す図面を参照しつつ詳細に説明する。
【0040】
図13は、図12のシミュレーション装置150によって実施される、他の複数ロボットの干渉領域検出方法の手順を示すフローチャートである。この複数ロボットの干渉領域検出方法は、図14に示すように、まず、干渉検出の対象となるロボットの簡易な形状を簡易ロボット形状データに基づいて作成し、その簡易形状のロボット500を、図15に示すようにその教示データに基づいて1経由点ずつ動作させ、それぞれの経由点におけるロボット500の3次元形状を記憶する。教示データの始点から終点まで、すべての経由点に対する三次元形状を記憶すると、ロボット500のワークスペースが作成される(S51)。
【0041】
次に、図14に示すように、干渉チェックの対象となるロボット400をその教示データにしたがってその始点から終点まで動かす(S52)。なお、このステップの詳細な処理は、図4に示した処理と全く同一である。
【0042】
そして、ロボット500のワークスペースとロボット400が占める領域とが重なった領域を干渉領域として検出する(S53)。なおこのステップの詳細な処理は、図5に示した処理と全く同一である。
【0043】
以上までの処理によって、図16に示すように、簡易ロボット500と実機のロボット400との進入経由点および脱出経由点が検出できる。しかし、これらの経由点は簡易ロボット500との間で検出されたものであるから、その検出精度はあまりよくない。このため、本実施の形態では、図17に示すように、簡易ロボット500の形状を、実機の形状データを用いてロボット200として描きなおし、検出された干渉領域内で従来通りの詳細な干渉チェックを行う。例えば、ロボット200とロボット400を干渉する領域内だけで1経由点ずつ動かして、さらに細かい干渉点を検出し、干渉領域の検出精度を向上させる(S54)。
【0044】
以上のように、本実施の形態では、ワークスペースを簡易ロボットの形状に基づいて作成しているので、その作成は実機の形状データに基づいて作成する場合に比較して高速に行うことができる。また、簡易ロボットで作成したワークスペースはその形状が単純であるので、ワークスペース記憶部60の記憶容量も少なくて済む。
【0045】
以上、本発明にかかる複数ロボットの干渉領域検出方法によれば、使用するコンピュータの性能によって一概には言えないが、従来用いているコンピュータにおいて従来の方法と本発明の方法での干渉チェックの速度を比較すると、本発明の速度は従来の2時間から15分程度と、大幅に高速化することができる。
【0046】
本発明にかかる複数ロボットの干渉領域検出方法は、複数ロボットの干渉領域検出プログラムをコンピュータに実行させることによって実施される。上記のいずれの実施の形態も、干渉チェックは表示部20に表示されるロボットの動きや、経由点に関する情報を見ながら、操作者が行う。
【図面の簡単な説明】
【図1】本発明にかかる複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。
【図2】本発明にかかる複数ロボットの干渉領域検出方法の手順を示すフローチャートである。
【図3】図2のフローチャートのS1のステップの詳細を示すフローチャートである。
【図4】図2のフローチャートのS2のステップの詳細を示すフローチャートである。
【図5】図2のフローチャートのS3のステップの詳細を示すフローチャートである。
【図6】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図7】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図8】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図9】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図10】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図11】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図12】本発明にかかる他の複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。
【図13】本発明にかかる他の複数ロボットの干渉領域検出方法の手順を示すフローチャートである。
【図14】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【図15】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【図16】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【図17】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【符号の説明】
10…操作端末、
20…表示部、
30…干渉領域記憶部、
40…教示データ記憶部、
50…ロボット形状データ記憶部、
60…ワークスペース記憶部、
70…ロボット干渉領域検出部、
90…簡易ロボット形状データ記憶部、
100…シミュレーション装置、
200、400…ロボット、
202、402…作業端、
204、404…動作軌跡、
300…ワークスペース。
【発明の属する技術分野】
本発明は、シミュレーションによって複数ロボットの干渉領域を検出する、複数ロボットの干渉領域検出方法およびそのプログラムに関する。
【0002】
【従来の技術】
従来、たとえば車体のスポット溶接ラインのように、溶接対象となる車体の周辺に複数のロボットが密集して設置されている場合には、同時に動作するロボット相互間の干渉を回避させる必要がある。
【0003】
ロボット相互間の干渉状態を検出する技術としてはさまざまなものが提案されているが、その技術の1つには下記特許文献1に記載するものがある。
【0004】
この技術は、各ロボット制御装置が持っている固有のプログラムを計算機に移植させることなく、各ロボットの動作がシミュレーションできるというものである。このシミュレーションによって各ロボットの干渉領域を検出する。
【0005】
通常、ロボットの干渉領域を検出するためのシミュレーションは、作業領域を共有するロボットについて、画面上で1つのロボットをある一定の距離間隔で1ステップ動作させ、他のロボットはその1ステップの動作に対して作業の始点から終点まで連続して動作させて干渉をチェックするという方法で行われる。
【0006】
【特許文献1】
特開2001−150373号公報
【0007】
【発明が解決しようとする課題】
しかしながら、このような従来の方法では、干渉領域を検出するのに時間と工数がかかりすぎるという問題がある。たとえば、1のロボットがその作業の始点から終点まで1万ステップで動かさなければならないとすれば、他のロボットは前記1のロボットの各ステップに対してその作業の始点から終点まで一回連続して動かさなければならないため、他のロボットは1万回その作業の始点から終点までの動作を要することになる。
【0008】
現在、シミュレーション装置の計算速度が速くなっているとはいうものの、上記のシミュレーションを完了し、そのシミュレーションの結果から干渉領域を検出することは短時間でできるものではない。このシミュレーションにかかる時間を短縮するためには干渉領域を検出するために動かすロボットのステップ数を減らす(経由点の間隔を広げる)ことが考えられるが、ステップ数を減らすと、干渉領域の検出精度がステップ数の減少に伴って低下してしまうため、ステップ数を減らすのはあまり好ましくない。
【0009】
本発明は、以上のような従来のシミュレーションの問題点に鑑みてなされたものであり、干渉領域の検出精度が良好であり、シミュレーションにかかる時間と工数とが少なくて済む、複数ロボットの干渉領域検出方法およびそのプログラムの提供を目的とする。
【0010】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、発明にかかる複数ロボットの干渉領域検出方法は、互いに干渉する作業領域をもつ複数のロボットを、それぞれの教示データに基づいて擬似的に動作させ、それぞれのロボットの干渉領域を検出する複数ロボットの干渉領域検出方法であって、第1ロボットを当該第1ロボットの教示データに基づいて動作させ、当該第1ロボットの動作軌跡からワークスペースを作成するステップと、第2ロボットを当該第2ロボットの教示データに基づいてその始点から終点まで動作させ、前記ワークスペースと干渉を起こした領域を検出するステップと、を含むことを特徴とするものである。
【0011】
【発明の効果】
本発明によれば、まず第1ロボットのワークスペースを作成し、このワークスペースに対して第2ロボットの干渉を検出するようにしたので、第2ロボットをその教示データの始点から終点まで一回だけ連続して動作させれば、両ロボットの干渉領域を検出することができる。したがって、従来と同一の検出精度で良ければ、シミュレーションにかかる時間と工数を大幅に短縮および削減できる。また、従来と同一の時間と工数をかけることができるのであれば、その検出精度を大幅に向上させることができる。
【0012】
【発明の実施の形態】
以下に添付図面を参照して、本発明にかかる複数ロボットの干渉領域検出方法およびそのプログラムの好適な実施の形態を、実施の形態1と実施の形態2に分けて詳細に説明する。
【0013】
[実施の形態1]
図1は、本発明にかかる複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。シミュレーション装置100は、操作端末10、表示部20、干渉領域記憶部30、教示データ記憶部40、ロボット形状データ記憶部50、ワークスペース記憶部60およびロボット干渉領域検出部70を備えている。それぞれの構成要素の概略の機能は、以下のとおりである。
【0014】
操作端末10は、操作者がシミュレーション動作させるロボットの選択指令を入力したり、選択したロボットの動作指令を入力したりするために用いる。表示部20は、ロボットの動作状況の表示、ワークスペースの表示、干渉領域の確認のために用いる。
【0015】
干渉領域記憶部30は、シミュレーションの結果得られた干渉領域を記憶する。具体的には、1のロボットが他のロボットと干渉する1のロボットのワークエリア要素の経由点と、他のロボットが1のロボットと干渉する他のロボットの経由点を記憶する。
【0016】
教示データ記憶部40は、複数のロボットのそれぞれに対する教示データを個別に記憶する。具体的には、教示点の三次元座標や教示点間の通過速度を記憶する。
【0017】
ロボット形状データ記憶部50は、複数のロボットのそれぞれに対する実機の形状データを個別に記憶する。
【0018】
ワークスペース記憶部60は、ロボット形状データと教示データとに基づいて作成された、経由点間ごとのワークスペース要素を記憶する。すべての経由点に対するワークスペース要素の集合がワークスペースとなる。なお、各ワークスペース要素には経由点間の識別情報が対応付けられる。この識別情報によって、たとえば、ワークスペース要素1が経由点1−2間の動作領域であることがわかる。
【0019】
ロボット干渉領域検出部70は、操作端末10からの指令に基づいて、特定のロボットの形状データと教示データとを入力し、経由点ごとにワークスペース要素を作成し、そのワークスペース要素をワークスペース記憶部60に記憶させる。また、特定のロボットのワークスペースを取り出して、他のロボットをその教示データに基づいて動作させ、両ロボットが干渉する領域を検出し、干渉する領域を干渉領域記憶部30に記憶させる。
【0020】
以下に、本発明にかかる複数ロボットの干渉領域検出方法を、図2から図5のフローチャートにしたがって、図6から図11のロボットの動作を示す図面を参照しつつ詳細に説明する。
【0021】
図2は、図1のシミュレーション装置100によって実施される、本発明にかかる複数ロボットの干渉領域検出方法の手順を示すフローチャートである。本発明にかかる複数ロボットの干渉領域検出方法は、図6に示すように、まず、干渉検出の対象となるロボット200を、その教示データに基づいて1経由点ずつ動作させ、それぞれの経由点間におけるロボット200の動作領域を記憶する。教示データに基づいてその始点から終点まで、すべての経由点間の動作領域を記憶すると、ロボット200のワークスペースが作成される(S1)。
【0022】
図6に描かれている、ロボット200の動作軌跡204は、ロボット200の教示データに基づいてその始点から終点まで動かしたときの作業端202の軌跡を示す。ロボット200の教示データを入力し、教示データに基づく経由点ごとのロボット200の三次元形状を記憶していくと、図6の右側の図のような段階的な三次元形状が得られる。この三次元形状を経由点間で教示データの始点から終点まで記憶させると、図7に示してあるようなワークスペース300が得られる。なお、ある1経由点間で得られるロボット200の占める領域をワークスペース要素、ロボット200の教示データに基づいて作業端202をその始点から終点まで動かすことによって得られる動作軌跡領域をワークスペースという。したがって、ワークスペースは、ワークスペース要素の集合となる。
【0023】
次に、図7に示すように、干渉チェックの対象となるロボット400をその教示データにしたがってその始点から終点まで動かす(S2)。ロボット400の教示データに基づいて作業端402をその始点から終点まで動かすと、作業端402は、図7に示すような動作軌跡を描く。
【0024】
そして、ワークスペース300とロボット400が占める領域とが重なった領域を干渉領域として検出する(S3)。
【0025】
本発明にかかる複数ロボットの干渉領域検出方法の概略は以上のとおりであるが、以下に、本発明にかかる複数ロボットの干渉領域検出方法の手順を詳細に説明する。
【0026】
図3は、図2のフローチャートのS1のステップの詳細を示すフローチャート、図4は、そのS2のステップの詳細を示すフローチャート、図5は、そのS3のステップの詳細を示すフローチャートである。
【0027】
まず、「対象ロボットのワークスペース作成」の処理においては次のような処理が行われる。操作者は、端末装置10を操作して、ワークスペースを作成させるべきロボット、たとえばロボット200を指定する。ロボット干渉領域検出部70は、この指定に基づいて、例えば図8に示すロボット200の形状データをロボット形状データ記憶部50から入力する(S11)。そして、経由点の数を積算するカウンタNの値を1にセットする(S12)。ロボット干渉領域検出部70は、ロボット200の教示データを教示データ記憶部40から入力する(S13)。操作者は、操作端末10によって、経由点間隔を任意の間隔に設定できる。ロボット干渉領域検出部70は、入力したロボット200の形状データと教示データおよび経由点間隔から前述のようなワークスペース要素を作成し(S14)、作成したワークスペース要素をワークスペース記憶部60に記憶させる(S15)。なお、作成されたワークスペース要素には経由点間の識別情報が付けられる。たとえば、カウンタNの値が1のときに作成されたワークスペース要素は、経由点Nと経由点N+1の間の経由点間に対応するので、そのワークスペース要素には「N−N+1」という識別情報がつくことになる。
【0028】
そして、カウンタNの値を1だけインクリメントし(S16)、教示データの始点から終点まですべての経由点に対して以上のS13からS16までの処理が終了していなければ(S17:NO)、S13からS16までの処理を繰り返し行い、その始点から終点までのすべてのステップに対してその処理が終了したら(S17:YES)、「対象ロボットのワークスペース作成」の処理を終了する。
【0029】
この処理が終了したときに、ワークスペース記憶部60には連続した経由点のワークスペース要素が記憶され、最終的には、図9に示すようなワークスペース300が記憶されることになる。ワークスペース300は、ロボット200がその教示データに基づいて作業の始点から終点まで動いたときの、ロボット200の構造体が通過した三次元領域となる。
【0030】
次に、図4の「干渉チェック対象ロボットを動作」させる処理では、次のような処理が行われる。操作者は、端末装置10を操作して、干渉チェックを行うロボット、たとえばロボット400を指定する。ロボット干渉領域検出部70は、この指定に基づいて、例えば図9に示すロボット400の形状データをロボット形状データ記憶部50から入力する(S21)。そして、経由点の数を積算するカウンタMの値を1にセットする(S22)。ロボット干渉領域検出部70は、ロボット400の教示データを教示データ記憶部40から入力する(S23)。ロボット干渉領域検出部70は、入力したロボット400の形状データと教示データおよび操作者が端末装置10から指定した経由点に基づいて、その経由点においてロボット400が占める領域を作成する(S24)。
【0031】
ロボット干渉領域検出部70は、ロボット400の教示データの全ステップに対して干渉の検出が終了しているか否かを判断し(S25)、検出が終了していれば(S25:YES)、「干渉チェック対象ロボットを動作」させる処理を終了する。一方、検出が終了していなければ(S25:NO)、ロボット干渉領域検出部70は、図9に示すように、ロボット400の経由点Mにおいてロボット400が占める領域がロボット200のワークスペース300と重複しているか否かを判断する(S26)。
【0032】
図10に示すように重複していれば(S26:YES)、その重複しているロボット200のワークスペース要素の識別情報からロボット200のどの経由点間で干渉しているのかが抽出され、同時に、ロボット400のどの経由点で干渉したのかも抽出される(S27)。ロボット干渉領域検出部70は、抽出したロボット200の経由点間と、ロボット400の経由点を干渉領域記憶部30に記憶させる(S28)。一方、S26のステップで重複していなければ(S26:NO)、カウンタMの値を1だけインクリメントして、S23からS26のステップを繰り返す(S29)。
【0033】
次に、図5の「干渉領域の検出」では次のような処理が行われる。まず、ロボット干渉領域検出部70は、干渉領域記憶部30に記憶されているロボット200の経由点間とロボット400の経由点を入力する(S31)。次に、これらの経由点の情報に基づいて、それぞれのロボットの干渉領域への進入経由点と、その干渉領域からの脱出経由点を検出する(S32)。例えば、図11に示すように、ロボット200のワークスペース要素82が7、8経由点間の姿勢、ワークスペース要素145が11、12経由点間の姿勢、ワークスペース要素202が16、17経由点間の姿勢、ワークスペース要素297が24、25の姿勢であるとし、また、ロボット400が経由点8、9間および経由点18、19間でロボット200のワークスペース300と干渉したとする。この場合、干渉領域記憶部30には、ロボット200の経由点7から12と、経由点16から25が、また、ロボット400の経由点8、9、18、19が記憶される。このときのロボット200の進入経由点は経由点7と経由点16であり、脱出経由点は経由点12と経由点25である。また、ロボット400の進入経由点は経由点8、脱出経由点は経由点19である。
【0034】
以上のようにして干渉の検出をする側のロボットを一サイクル動かすだけで、各ロボットの干渉領域が特定できる。したがって、その処理速度は、従来の方法とは比較にならないほど高速化できる。
【0035】
ただ、本実施の形態の場合、ワークスペースは、実機のロボットの形状データに基づいて作成している。実機のロボットは、その形状が複雑であるからワークスペースの作成にある程度の時間を要することと、ワークスペース記憶部の記憶容量はかなり大きなものが必要である。
【0036】
次に説明する実施の形態2は、実施の形態1のこれらの欠点を解消したものである。
【0037】
[実施の形態2]
本実施の形態は、ワークスペースを作成するロボットとして、実機の形状を包含する簡易な形状のロボットを用い、ワークスペースの作成の時間短縮と、それを記憶するワークスペース記憶部の記憶容量の減少を図るものである。
【0038】
図12は、本発明にかかる他の複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。シミュレーション装置150は、図1に示したシミュレーション装置100に簡易ロボット形状データ記憶部90を付加したものである。簡易ロボット形状データ記憶部90は、ロボット形状データ記憶部50に記憶されているロボットの簡易な形状に関する形状データを記憶するものである。
【0039】
以下に、本発明にかかる複数ロボットの干渉領域検出方法を、図13のフローチャートにしたがって、図14から図17のロボットの動作を示す図面を参照しつつ詳細に説明する。
【0040】
図13は、図12のシミュレーション装置150によって実施される、他の複数ロボットの干渉領域検出方法の手順を示すフローチャートである。この複数ロボットの干渉領域検出方法は、図14に示すように、まず、干渉検出の対象となるロボットの簡易な形状を簡易ロボット形状データに基づいて作成し、その簡易形状のロボット500を、図15に示すようにその教示データに基づいて1経由点ずつ動作させ、それぞれの経由点におけるロボット500の3次元形状を記憶する。教示データの始点から終点まで、すべての経由点に対する三次元形状を記憶すると、ロボット500のワークスペースが作成される(S51)。
【0041】
次に、図14に示すように、干渉チェックの対象となるロボット400をその教示データにしたがってその始点から終点まで動かす(S52)。なお、このステップの詳細な処理は、図4に示した処理と全く同一である。
【0042】
そして、ロボット500のワークスペースとロボット400が占める領域とが重なった領域を干渉領域として検出する(S53)。なおこのステップの詳細な処理は、図5に示した処理と全く同一である。
【0043】
以上までの処理によって、図16に示すように、簡易ロボット500と実機のロボット400との進入経由点および脱出経由点が検出できる。しかし、これらの経由点は簡易ロボット500との間で検出されたものであるから、その検出精度はあまりよくない。このため、本実施の形態では、図17に示すように、簡易ロボット500の形状を、実機の形状データを用いてロボット200として描きなおし、検出された干渉領域内で従来通りの詳細な干渉チェックを行う。例えば、ロボット200とロボット400を干渉する領域内だけで1経由点ずつ動かして、さらに細かい干渉点を検出し、干渉領域の検出精度を向上させる(S54)。
【0044】
以上のように、本実施の形態では、ワークスペースを簡易ロボットの形状に基づいて作成しているので、その作成は実機の形状データに基づいて作成する場合に比較して高速に行うことができる。また、簡易ロボットで作成したワークスペースはその形状が単純であるので、ワークスペース記憶部60の記憶容量も少なくて済む。
【0045】
以上、本発明にかかる複数ロボットの干渉領域検出方法によれば、使用するコンピュータの性能によって一概には言えないが、従来用いているコンピュータにおいて従来の方法と本発明の方法での干渉チェックの速度を比較すると、本発明の速度は従来の2時間から15分程度と、大幅に高速化することができる。
【0046】
本発明にかかる複数ロボットの干渉領域検出方法は、複数ロボットの干渉領域検出プログラムをコンピュータに実行させることによって実施される。上記のいずれの実施の形態も、干渉チェックは表示部20に表示されるロボットの動きや、経由点に関する情報を見ながら、操作者が行う。
【図面の簡単な説明】
【図1】本発明にかかる複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。
【図2】本発明にかかる複数ロボットの干渉領域検出方法の手順を示すフローチャートである。
【図3】図2のフローチャートのS1のステップの詳細を示すフローチャートである。
【図4】図2のフローチャートのS2のステップの詳細を示すフローチャートである。
【図5】図2のフローチャートのS3のステップの詳細を示すフローチャートである。
【図6】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図7】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図8】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図9】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図10】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図11】本発明にかかる複数ロボットの干渉領域検出方法の説明に供する図である。
【図12】本発明にかかる他の複数ロボットの干渉領域検出方法を実施するシミュレーション装置のブロック図である。
【図13】本発明にかかる他の複数ロボットの干渉領域検出方法の手順を示すフローチャートである。
【図14】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【図15】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【図16】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【図17】本発明にかかる他の複数ロボットの干渉領域検出方法の説明に供する図である。
【符号の説明】
10…操作端末、
20…表示部、
30…干渉領域記憶部、
40…教示データ記憶部、
50…ロボット形状データ記憶部、
60…ワークスペース記憶部、
70…ロボット干渉領域検出部、
90…簡易ロボット形状データ記憶部、
100…シミュレーション装置、
200、400…ロボット、
202、402…作業端、
204、404…動作軌跡、
300…ワークスペース。
Claims (7)
- 互いに干渉する作業領域をもつ複数のロボットを、それぞれの教示データに基づいて擬似的に動作させ、それぞれのロボットの干渉領域を検出する複数ロボットの干渉領域検出方法であって、
第1ロボットを当該第1ロボットの教示データに基づいて動作させ、当該第1ロボットの動作軌跡からワークスペースを作成するステップと、
第2ロボットを当該第2ロボットの教示データに基づいてその始点から終点まで動作させ、前記ワークスペースと干渉を起こした領域を検出するステップと、
を含むことを特徴とする複数ロボットの干渉領域検出方法。 - 前記第1ロボットは、実機のロボットの形状を包含し、当該実機のロボットの形状よりもその形状が単純な簡易形状のロボットであることを特徴とする請求項1に記載の複数ロボットの干渉領域検出方法。
- 前記ワークスペースを作成するステップは、
前記第1ロボットの形状データを入力するステップと、
前記第1ロボットの教示データを入力するステップと、
前記第1ロボットを前記教示データに基づいて1経由点間動作させ、前記形状データから得られる前記第1ロボットの動作軌跡からワークスペース要素を作成するステップと、
作成されたワークスペース要素を前記1経由点間の識別情報とともに記憶するステップと、
上記3つのステップを、前記教示データの指定された経由点間で繰り返し実行するステップと、
を含むことを特徴とする請求項1または2に記載の複数ロボットの干渉領域検出方法。 - 前記ワークスペースと干渉を起こした領域を検出するステップは、
前記第2ロボットの形状データを入力するステップと、
前記第2ロボットの教示データを入力するステップと、
特定の経由点で前記第2ロボットが占める領域を前記形状データと前記教示データとに基づいて作成するステップと、
前記第1ロボットのワークスペースを入力し前記特定の経由点で前記第2ロボットの占める領域が当該ワークスペースと干渉するか否かを判断するステップと、
干渉していれば、干渉しているワークスペース要素の経由点間の識別情報と前記第2ロボットの経由点とを記憶するステップと、
上記5つのステップを、前記第2ロボットの教示データに基づいてその始点から終点までの複数の経由点で繰り返し実行するステップと、
記憶された第1ロボットの経由点間の識別情報と第2ロボットの経由点のそれぞれからそれぞれのロボットの干渉領域を検出するステップと、
を含むことを特徴とする請求項1または2に記載の複数ロボットの干渉領域検出方法。 - それぞれのロボットの干渉領域を検出するステップは、
前記それぞれのロボットが干渉領域に入る進入経由点と当該干渉領域から出る脱出経由点とをそれぞれのロボットに対して検出するステップを含むことを特徴とする請求項4に記載の複数ロボットの干渉領域検出方法。 - さらに、前記第1ロボットと前記第2ロボットとが干渉を起こした領域に対して、前記第1ロボットと前記第2ロボットの教示データおよび前記第1ロボットと前記第2ロボットの実機の形状データを入力し、干渉を起こした領域をさらに詳細に検出するステップを含むことを特徴とする請求項1または2に記載の複数ロボットの干渉領域検出方法。
- 互いに干渉する作業領域をもつ複数のロボットを、それぞれの教示データに基づいて擬似的に動作させ、それぞれのロボットの干渉領域を検出する複数ロボットの干渉領域検出プログラムであって、コンピュータに、
第1ロボットを当該第1ロボットの教示データに基づいて動作させ、当該第1ロボットの動作軌跡からワークスペースを作成するステップと、
第2ロボットを当該第2ロボットの教示データに基づいてその始点から終点まで動作させ、前記ワークスペースと干渉を起こした領域を検出するステップと、
を実行させるための複数ロボットの干渉領域検出プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002328509A JP2004160588A (ja) | 2002-11-12 | 2002-11-12 | 複数ロボットの干渉領域検出方法およびそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002328509A JP2004160588A (ja) | 2002-11-12 | 2002-11-12 | 複数ロボットの干渉領域検出方法およびそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004160588A true JP2004160588A (ja) | 2004-06-10 |
Family
ID=32806798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002328509A Pending JP2004160588A (ja) | 2002-11-12 | 2002-11-12 | 複数ロボットの干渉領域検出方法およびそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004160588A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006346790A (ja) * | 2005-06-15 | 2006-12-28 | Toyota Motor Corp | ロボットと干渉判別方法と干渉判別装置 |
JP2008502488A (ja) * | 2004-06-15 | 2008-01-31 | エービービー エービー | 複数の相互作用ロボットをオフラインでプログラミングする方法及びシステム |
WO2011080882A1 (ja) * | 2009-12-28 | 2011-07-07 | パナソニック株式会社 | 動作空間提示装置、動作空間提示方法およびプログラム |
US9390203B2 (en) | 2004-06-15 | 2016-07-12 | Abb Ab | Method and system for off-line programming of multiple interacting robots |
JP2019025604A (ja) * | 2017-07-31 | 2019-02-21 | ファナック株式会社 | 多関節ロボットの制御装置 |
-
2002
- 2002-11-12 JP JP2002328509A patent/JP2004160588A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008502488A (ja) * | 2004-06-15 | 2008-01-31 | エービービー エービー | 複数の相互作用ロボットをオフラインでプログラミングする方法及びシステム |
US9390203B2 (en) | 2004-06-15 | 2016-07-12 | Abb Ab | Method and system for off-line programming of multiple interacting robots |
JP2006346790A (ja) * | 2005-06-15 | 2006-12-28 | Toyota Motor Corp | ロボットと干渉判別方法と干渉判別装置 |
WO2011080882A1 (ja) * | 2009-12-28 | 2011-07-07 | パナソニック株式会社 | 動作空間提示装置、動作空間提示方法およびプログラム |
JP4850984B2 (ja) * | 2009-12-28 | 2012-01-11 | パナソニック株式会社 | 動作空間提示装置、動作空間提示方法およびプログラム |
CN102448681A (zh) * | 2009-12-28 | 2012-05-09 | 松下电器产业株式会社 | 动作空间提示装置、动作空间提示方法以及程序 |
US8731276B2 (en) | 2009-12-28 | 2014-05-20 | Panasonic Corporation | Motion space presentation device and motion space presentation method |
JP2019025604A (ja) * | 2017-07-31 | 2019-02-21 | ファナック株式会社 | 多関節ロボットの制御装置 |
US10759056B2 (en) | 2017-07-31 | 2020-09-01 | Fanuc Corporation | Control unit for articulated robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11577393B2 (en) | Method for collision-free motion planning | |
JP3819883B2 (ja) | ロボットプログラム位置修正装置 | |
US7194396B2 (en) | Simulation device | |
EP1769891B1 (en) | Offline teaching apparatus for robot | |
US7894930B2 (en) | Method and device for composite machining based on tool-path pattern types with tool axis orientation rules | |
CN104972468A (zh) | 示教***、机器人***和示教方法 | |
JP6598454B2 (ja) | 教示データの作成方法、作成装置、及び作成プログラム | |
CA2418756A1 (en) | Dual dijkstra search for planning multiple paths | |
JP2004326257A (ja) | シミュレーション装置 | |
WO2013118179A1 (ja) | 工具軌跡表示方法および工具軌跡表示装置 | |
JP7259860B2 (ja) | ロボットの経路決定装置、ロボットの経路決定方法、プログラム | |
CN114365047B (zh) | 数控装置及机器学习装置 | |
JP7474681B2 (ja) | プログラム生成システム、ロボットシステム、プログラム生成方法、および生成プログラム | |
JP2004160588A (ja) | 複数ロボットの干渉領域検出方法およびそのプログラム | |
JP2011238041A (ja) | プログラム作成装置及びプログラム作成方法 | |
JPH0659717A (ja) | 工具軌跡データ描画機能を有するnc装置およびその描画方法 | |
US20180203433A1 (en) | Numerical controller | |
Bulej et al. | Simulation of manipulation task using iRVision aided robot control in Fanuc RoboGuide software | |
JP3066646B2 (ja) | 動作シミュレーションシステム | |
CN112476428B (zh) | 机器人控制装置 | |
JP6777516B2 (ja) | 情報処理装置 | |
Roßgoderer et al. | A concept for automatical layout generation | |
CN106363635B (zh) | 一种机器人运行仿真校准方法及装置 | |
KR20140088685A (ko) | 기억재생형 다층자동용접 장치 및 그 방법 | |
JP7448651B2 (ja) | オフライン教示装置および動作プログラム生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20050928 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070524 |
|
A131 | Notification of reasons for refusal |
Effective date: 20070529 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080212 |