(57)【要約】【課題】衝突回避制御システムにおいて、三次元およびリアルタイムの衝突検出、ロボット運動の前もったロボットシステムへの通信、衝突しないプログラム軌道の条件および重要な工程経路の保護を提供する。【解決手段】本発明によるシステムは一連の命令を含み、その一連の命令は干渉検査自動領域方法を行うために、一連の命令を実行するコントローラに格納されている。干渉検査自動領域方法は、第一のプログラム経路に沿った第一ロボットの動作時に占有される、共通空間の第一の部分を決定する工程と、第二のプログラム経路に沿った第二ロボットの動作時に占有される、共通空間の第二の部分を決定する工程と、第一の部分および第二の部分の間に重複部分が存在するか否か決定するために、第一の部分および第二の部分を比較する工程と、重複部分の存在に対応して第一ロボットおよび第二ロボットを動作させる工程とを含む。【選択図】図２
2009279748.tif 000002
【特許請求の範囲】
【請求項１】
多数のロボットを含む作業セル内の衝突回避を制御するシステムであって、
動力源に接続される少なくとも一つのコントローラと、
一連の命令であって、前記一連の命令の実行のために前記コントローラに格納されており、干渉検査自動領域方法を含む一連の命令と、
前記少なくとも一つのコントローラのうちの一つのコントローラに通信して該一つのコントローラによって制御される第一ロボットと、
前記少なくとも一つのコントローラのうちの一つのコントローラに通信して該一つのコントローラによって制御される第二ロボットと、を備え、
前記第一ロボットおよび前記第二ロボットが、前記作業セル内の少なくとも一つの共通空間を選択的に占有するよう構成されている、衝突回避制御システム。
【請求項２】
前記一連の命令は、
第一のプログラム経路に沿った前記第一ロボットの動作時に占有される、前記共通空間の第一の部分を決定する工程と、
第二のプログラム経路に沿った前記第二ロボットの動作時に占有される、前記共通空間の第二の部分を決定する工程と、
前記第一の部分および前記第二の部分の間に重複部分が存在するか否かを決定するよう、共通空間の前記第一の部分および前記第二の部分を比較する工程とを含み、
さらに、
前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った第一ロボットと前記第二のプログラム経路に沿った第二ロボットとのうちの一つのロボットのみを動作させる工程と、
前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿って前記第一ロボットを動作させ、前記第二のプログラム経路に沿って前記第二ロボットを動作させる工程と、のうちの一方の工程を含む請求項１に記載の衝突回避制御システム。
【請求項３】
さらに、少なくとも一つのコントローラに電気通信する教示装置を備え、前記教示装置は、前記第一ロボット、前記第二ロボット、前記共通空間の前記第一の部分および前記共通空間の前記第二の部分を操作者のために図式化するよう構成され、前記一連の命令は前記教示装置を通じて前記ロボットを動かすよう生成される、請求項１に記載の衝突回避制御システム。
【請求項４】
前記第一ロボットおよび前記第二ロボットは、単一のロボットコントローラに取付けられている、請求項１に記載の衝突回避制御システム。
【請求項５】
前記第一ロボットは第一ロボットコントローラに取付けられ、前記第二ロボットは第二ロボットコントローラに取付けられている、請求項１に記載の衝突回避制御システム。
【請求項６】
前記作業セルは複数の共通空間を含み、前記第一ロボットおよび前記第二ロボットは、前記共通空間のそれぞれを選択的に占有するよう構成されている、請求項１に記載の衝突回避制御システム。
【請求項７】
複数のロボットを含む作業セル内において衝突を回避する衝突回避方法であって、前記衝突回避方法は、
前記作業セル内において第一ロボットおよび第二ロボットによって選択的に占有される少なくとも一つの共通空間を提供する工程と、
第一のプログラム経路に沿った前記第一ロボットの動作時に占有される共通空間の第一の部分を決定する工程と、
第二のプログラム経路に沿った前記第二ロボットの動作時に占有される共通空間の第二の部分を決定する工程と、
前記第一の部分および前記第二の部分の間に重複部分が存在するか否か決定するよう、前記第一の部分および前記第二の部分を比較する工程とを含み、
さらに、
前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットと、前記第二のプログラム経路に沿った前記第二ロボットとのうちの一つのロボットのみを動作させる工程と、
前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットと、前記第二のプログラム経路に沿った前記第二ロボットとを動作させる工程と、のうちの一方の工程を含む、衝突回避方法。
【請求項８】
前記共通空間、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間がボクセルモデルによって表される、請求項７に記載の衝突回避方法。
【請求項９】
さらに、前記第一ロボットが前記第一のプログラム経路に沿って動作した後または前記第二ロボットが前記第二のプログラム経路に沿って動作した後に、前記共通空間の占有されていない部分を決定する工程を含む、請求項７に記載の衝突回避方法。
【請求項１０】
さらに、別のプログラム経路のために、前記共通空間の占有されていない部分を解放する工程を含む、請求項９に記載の衝突回避方法。
【請求項１１】
さらに、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間の座標を、少なくとも一つのコントローラに転送する工程を含み、前記コントローラは前記座標からボクセルモデルを生成するよう構成される、請求項７に記載の衝突回避方法。
【請求項１２】
ロボットのコントローラは、前記重複部分が前記第一の部分および前記第二の部分の間に存在するか否か決定する工程を実行する、請求項７に記載の衝突回避方法。
【請求項１３】
重複部分が存在する場合の前記第一ロボットおよび前記第二ロボットのうちの一つロボットの動作は、優先順位の値によって決定される、請求項７に記載の衝突回避方法。
【請求項１４】
前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文を有する一連の命令における単一の運動命令文によって提供される、請求項７に記載の衝突回避方法。
【請求項１５】
前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文によって提供される、請求項７に記載の衝突回避方法。
【請求項１６】
前記共通空間における前記第一の部分および前記第二の部分のうちの少なくとも一つの空間は、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたツーリングと、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたドレスアウトと、のうちの少なくとも一つによって占有された空間を含む、請求項７に記載の衝突回避方法。
【請求項１７】
前記重複部分を決定する工程は、障害物によって占有される前記共通空間の第三の部分との重複部分を決定する工程を、さらに含む、請求項７に記載の衝突回避方法。
【請求項１８】
前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットは複数のプログラム経路を有し、前記衝突回避方法は、さらに、デッドロックの原因になる重複部分の存在のために、複数のプログラム経路を分析する工程を含む、請求項７に記載の衝突回避方法。
【請求項１９】
前記複数のプログラム経路の一連の操作は、前記デッドロックを防止するよう調整されている、請求項１８に記載の衝突回避方法。
【請求項２０】
複数のロボットを含む作業セルにおける衝突回避方法であって、前記衝突回避方法は、
第一ロボットおよび第二ロボットによって選択的に占有される前記作業セル内に少なくとも一つの共通空間を提供する工程を含み、前記第一ロボットおよび前記第二ロボットは少なくとも一つのコントローラに接続しており、
さらに、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される前記共通空間の第一の部分を決定する工程と、
前記第一の部分を、前記コントローラの第一のボクセルモデルとして表す工程と、
第二のプログラム経路に沿った前記第二ロボットの動作時に占有される前記共通空間の第二の部分を決定する工程と、
前記第二の部分を、前記コントローラの第二のボクセルモデルとして表す工程と、
前記第一のボクセルモデルと前記第二のボクセルモデルとの間に重複部分が存在するか否か決定するよう、前記第一のボクセルモデルと前記第二のボクセルモデルとを比較する工程とを含み、
さらに、
前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットおよび前記第二のプログラム経路に沿った前記第二ロボットのうちの一つのロボットのみを動作させる工程と、
前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットを動作させる工程および前記第二のプログラム経路に沿った前記第二ロボットを動作させる工程と、のうちの一方の工程を含み、
さらに、前記第一ロボットが前記第一のプログラム経路に沿って動作した後または前記第二ロボットが前記第二のプログラム経路に沿って動作した後に、前記共通空間の占有されていない部分を決定する工程と、
別のプログラム経路のために共通空間の占有されていない部分を解放する工程と、を含む、衝突回避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して複数のロボットを制御するシステムおよび複数のロボットの運動による干渉回避を制御する方法に関する。
【背景技術】
【０００２】
空間における対象物の動作は典型的な製造環境において必須の作業である。その必須の動作を達成するために、ロボット化はますます採用されるようになってきた。しかしながら、多数の対象物が動作する場合、対象物間において干渉する可能性がある。干渉は少なくとも二つの対象物が同一空間を同時に共有している場合に、例えば、共通の基準系に対して対象物が同一の座標を有する場合に存在する。
【０００３】
近代の工業用ロボットはかなりの速度により動作するので、ロボット間の干渉はロボットおよびそのロボットによって取扱われるワークに対して衝突と望ましくない損害をもたらす可能性がある。また、その衝突は製造工程において損失の大きい中断時間をもたらす可能性がある。従って、そのような衝突を避けることが望ましい。
【０００４】
先行技術のシステムおよび方法は、干渉および衝突を最小限にすることを目的として使用されてきた。しかしながら、先行技術のシステムおよび方法はいくつかの欠陥がある。一般的に、工具中心点（ＴＣＰ：Ｔｏｏｌ  ｃｅｎｔｅｒ  ｐｏｉｎｔ）は、所定の干渉領域または「静的空間」に関してのみ検査されている。そのため、多数のロボットのために直接的にまたは効果的に衝突や干渉を防止することは難しい。さらに、多数の動作するロボットについて静的な座標系に関して、干渉空間を特定することが難しい。あらゆる干渉空間は、ロボットの運動経路の関数だけでなくその運動速度の関数でもある。さらに、二つあるいはそれより多いロボットが同時に共通空間に移動することを要求した場合のデッドロックの状況を扱う試みには困難な点が存在している。
【０００５】
さらに、先行技術のシステムは、ワールド座標系に関して固定された空間において、ロボットのＴＣＰが衝突するのを防止することを試みている。作業実行時に多数のロボット（多数のコントローラを有する）が共通空間または「干渉」空間を共有している場合、それぞれのコントローラは全てのロボットが共通空間から退避するまで待機しなければならない。次いで、コントローラはロボットが動くことを許可する運動制御指令を発することが可能になる。この工程は、「待ってから動く（Ｗａｉｔ  ａｎｄ  ｍｏｖｅ）」と呼ばれる工程であり、概して作業するサイクル時間を増やす。しかしながら、干渉空間はロボットの運動経路だけでなく運動スピードの関数でもあるので、固定された座標系に関して干渉空間を効果的に特定するのは難しい。一つよりも多くのロボットが同時に共通空間に移動することを要求する場合、他のロボットを待機するのでどのロボットも動作しないデッドロックの状況が発生する。
【０００６】
さらに、先行技術のシステムは、球体および筒体によるロボットをモデル化することを試みている。そのシステムは運動時のロボットの将来の位置をリアルタイムに予測する。そのシステムはロボットが占有する空間を時間とともに累積して決定しないので、そのシステムはロボットの運動時に頻繁に比較する必要がある。そのシステムは作業セル内における全てのロボットのモデルを構成要素毎に比較する。比較はコンピュータを用いた場合には非常にコストがかかるものであり、ロボットならびにロボットおよびツーリングに使用される構成要素の数が増加するにつれて急激にそのコストが増大する。差し迫った衝突が検出された時にその比較はリアルタイムに行われるので、そのシステムは差し迫った衝突に含まれる全てのロボットを停止する必要があり、自動プログラム操作は終了しなければならない。ロボットが異なったコントローラに属している場合、その比較はコントローラ間においてリアルタイムに通信される大量の情報を必要するので、その比較はさらに困難になる。さらに、先行技術のシステムは干渉回避のため入出力装置のハンドシェーキング機構を利用することを試みている。
【０００７】
公知のシステムおよび方法の一つは、譲受人の同時係属している特許文献１に開示されており、その出願はその全体において参照により本願明細書に組み入れられる。そのシステムおよび方法は、「動的空間検査」システムを含み、ロボット操作の効率は最大限にされ、複数のロボットの干渉または衝突の可能性が最小限にされている。各コントローラにより制御されたロボットはユーザにより定義された動的空間においてのみ作動し、これにより衝突を回避するようになる。しかしながら、動的空間検査システムは概してユーザにより定義された直線的な空間に対してのみＴＣＰを保護している。
【０００８】
公知である別のロボット衝突回避方法は、特許文献２においてポラックらにより報告されている。その方法は所望のロボット動作を含む衝突マップを作り出すことを含んでいる。所望のロボットの初期位置は、論理学上の排他的論理和演算によりロボット地図およびワールド地図を結合して、その後、論理学上の排他的論理和演算により衝突地図およびワールド地図を結合し、続いて、衝突マップおよびワールド地図をバイトバイバイト（ｂｙｔｅ−ｂｙ−ｂｙｔｅ）方法において論理学上の包含的論理和演算により結合することによって、「ワールド」地図から取り除かれる。衝突は、包括的論理和演算および排他的論理和演算の結合のビット位置における相違によって表される。この方法は衝突探知のための二次元のＸ−Ｙ射影および一次元の高さを提供するが、三次元によるリアルタイム衝突探知を可能にするものではない。
【０００９】
さらに公知の方法であって、ロボットと一つあるいは複数の障害物との間の衝突をそれが起こる前に検出する方法が、グリーンスパンらによる特許文献３に開示されている。ロボットは、ボクセル化された作業スペースにおいて、球体によってモデル化されている。作業スペース内のそれぞれのボクセルは、最も近接した障害物からの距離に対応する値が割当てられる。球体の中心であるボクセル値がボクセル内の他の球体の半径未満である場合に、衝突は起こりそうだと決定される。しかしながら、この方法は、単に単体のロボットアームを保護しているだけである。さらに、ロボットは球体によってのみモデル化されており、そのためロボットの重要な工程経路を保護するには不充分な結果をもたらす。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際出願ＰＣＴ／ＵＳ２００７／０６６６３８号
【特許文献２】米国特許第５１５０４５２号明細書
【特許文献３】米国特許第５３４７４５９号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
複数のロボットの運動による干渉回避を制御するシステムおよび方法は引き続き必要とされている。そのシステムおよび方法は、三次元およびリアルタイムの衝突検出、ロボット運動の前もったロボットシステムへの通信、衝突しないプログラム軌道の条件および重要な工程経路の保護を提供することが望ましい。
【課題を解決するための手段】
【００１２】
本発明によれば、複数のロボットの運動による干渉回避を制御するためのシステムおよび方法が発見され、このシステムおよび方法においては、驚くべきことに三次元およびリアルタイムの衝突検出、ロボット運動の前もったロボットシステムへの通信、衝突しないプログラム軌道の条件および重要な工程経路の保護が提供される。
【００１３】
ある実施形態において、多数のロボットを含む作業セル内の衝突回避を制御する衝突回避制御システムは、動力源に接続される少なくとも一つのコントローラを含む。一連の命令は一連の命令を実行するためのコントローラに格納されている。一連の命令は干渉検査自動領域方法を含む。さらに、システムは少なくとも一つのコントローラのうちの一つのコントローラに通信して制御される第一ロボットを含む。さらに、第二ロボットは少なくとも一つのコントローラのうちの一つのコントローラに通信して制御される。作業セル内において、第一ロボットおよび第二ロボットは少なくとも一つの共通空間を選択的に占有するよう構成されている。共通空間は、共通空間の所望の寸法、形状および位置を定義するのに使用されるパラメータのセットにより手動で特定されうる。
【００１４】
ある実施形態の前記衝突回避制御システムにおいて、前記一連の命令は、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される前記共通空間の第一の部分を決定する工程と、第二のプログラム経路に沿った前記第二ロボットの動作時に占有される前記共通空間の第二の部分を決定する工程と、前記第一の部分および前記第二の部分の間に重複部分が存在するか否かを決定するために共通空間の前記第一の部分および前記第二の部分を比較する工程とを含むとともに、さらに、前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った第一ロボットと前記第二のプログラム経路に沿った第二ロボットとのうちの一つのロボットのみを動作させる工程と、前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットを動作させ、前記第二のプログラム経路に沿った前記第二ロボットを動作させる工程と、のうちの一方の工程を含む。
【００１５】
前記衝突回避制御システムは、さらに、少なくとも一つのコントローラに電気通信する教示装置を備え、前記教示装置は、前記第一ロボット、前記第二ロボット、前記共通空間の前記第一の部分および前記共通空間の前記第二の部分を操作者のために図式化するよう構成され、前記一連の命令は、前記教示装置を通じて前記ロボットを動かすよう生成される。
【００１６】
前記衝突回避制御システムにおいて、前記第一ロボットおよび前記第二ロボットは、単一のロボットコントローラに取付けられている。
【００１７】
前記衝突回避制御システムにおいて、前記第一ロボットは第一ロボットコントローラに取付けられ、前記第二ロボットは第二ロボットコントローラに取付けられている。
【００１８】
前記衝突回避制御システムにおいて、前記作業セルは複数の共通空間を含み、前記第一ロボットおよび前記第二ロボットは、前記共通空間のそれぞれを選択的に占有するよう構成されている。
【００１９】
別の実施形態において、複数のロボットを含む作業セル内において衝突を回避する衝突回避方法であって、前記衝突回避方法は、前記作業セル内において第一ロボットおよび第二ロボットによって選択的に占有される少なくとも一つの共通空間を提供する工程と、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される共通空間の第一の部分を決定する工程と、第二のプログラム経路に沿った前記第二ロボットの動作時に占有される共通空間の第二の部分を決定する工程と、前記第一の部分および前記第二の部分の間に重複部分が存在するか否か決定するために前記第一の部分および前記第二の部分を比較する工程とを含み、さらに、前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットと、前記第二のプログラム経路に沿った前記第二ロボットとのうちの一つのロボットのみを動作させる工程と、前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットと前記第二のプログラム経路に沿った前記第二ロボットとを動作させる工程と、のうちの一方の工程を含む。
【００２０】
前記衝突回避方法において、前記共通空間、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間が、ボクセルモデルによって表される工程を含む。
【００２１】
前記衝突回避方法は、さらに、前記第一ロボットが前記第一のプログラム経路に沿って動作した後または前記第二ロボットが前記第二のプログラム経路に沿って動作した後に、前記共通空間の占有されていない部分を決定する工程を含む。
【００２２】
前記衝突回避方法は、さらに、別のプログラム経路のために前記共通空間の占有されていない部分を解放する工程を含む。
【００２３】
前記衝突回避方法は、さらに、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間の座標を、少なくとも一つのコントローラに転送する工程を含み、前記コントローラは前記座標からボクセルモデルを生成するよう構成される。
【００２４】
前記衝突回避方法において、ロボットのコントローラは、重複部分が前記第一の部分および前記第二の部分の間に存在するか否か決定する工程を実行する。
【００２５】
前記衝突回避方法において、重複部分が存在する場合の前記第一ロボットおよび前記第二ロボットのうちの一つのロボットの動作は、優先順位の値によって決定される。
【００２６】
前記衝突回避方法において、前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文を有する一連の命令における単一の運動命令文によって提供される。
【００２７】
前記衝突回避方法において、前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文によって提供される。
【００２８】
前記衝突回避方法において、前記共通空間における前記第一の部分および前記第二の部分のうちの少なくとも一つ空間は、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたツーリングと、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたドレスアウト（ｄｒｅｓｓｏｕｔ）と、のうちの少なくとも一つによって占有された空間を含む。
【００２９】
前記衝突回避方法において、前記重複部分を決定する工程は、障害物によって占有される前記共通空間の第三の部分との重複部分を決定する工程を、さらに含む。
【００３０】
前記衝突回避方法において、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットは複数のプログラム経路を有し、前記衝突回避方法は、さらに、デッドロックの原因になる重複部分の存在のために、複数のプログラム経路を分析する工程を含む。
【００３１】
前記衝突回避方法において、前記複数のプログラム経路の一連の操作は、前記デッドロックを防止するよう調整されている。
【００３２】
もう一つ別の実施形態において、複数のロボットを含む作業セルにおける衝突回避方法であって、前記衝突回避方法は、第一ロボットおよび第二ロボットによって選択的に占有される前記作業セル内に少なくとも一つの共通空間を提供する工程を含み、前記第一ロボットおよび前記第二ロボットは少なくとも一つのコントローラに接続しており、さらに、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される前記共通空間の第一の部分を決定する工程と、前記第一の部分を、前記コントローラの第一のボクセルモデルとして表す工程と、第二のプログラム経路に沿った前記第二ロボットの動作時に占有される前記共通空間の第二の部分を決定する工程と、前記第二の部分を、前記コントローラの第二のボクセルモデルとして表す工程と、前記第一のボクセルモデルと前記第二のボクセルモデルとの間に重複部分が存在するか否か決定するよう、前記第一のボクセルモデルと前記第二のボクセルモデルとを比較する工程とを含み、さらに、前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットおよび前記第二のプログラム経路に沿った前記第二ロボットのうちの一つのみを動作させる工程と、前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットを動作させる工程および前記第二のプログラム経路に沿った前記第二ロボットを動作させる工程とのうちの一つと、第一ロボットが前記第一のプログラム経路に沿って動作した後または第二ロボットが前記第二のプログラム経路に沿って動作した後に前記共通空間の占有されていない部分を決定する工程と、別のプログラム経路のために共通空間の占有されていない部分を解放する工程とを含む。
【００３３】
添付した図面に照らして考慮される際、上述したことは、本発明の他の利点と同様に、以下の好ましい実施形態の詳細な記述によって当業者に容易に理解されるであろう。
【図面の簡単な説明】
【００３４】
【図１】作業セル内において作動する第一ロボットおよび第二ロボットを有する、本発明による典型的なロボットシステムを示す概略図である。
【図２】本発明による干渉検査自動領域方法を図示するフロー図である。
【図３】図１に図示された第一ロボットおよび第二ロボットのうちの一つのボクセル化されたモデルを示す図である。
【図４】図３に図示されたボクセル化されたモデルの等角投影図である。
【図５】図１に図示された第一ロボットおよび第二ロボットのうちの一つを示す拡大図であり、第一ロボットおよび第二ロボットのうちの一つは、それらに重ねられるボクセル化された球体および筒体によって形成されたボクセル化モデルを有する。
【図６】複数のボクセルから形成された、図５に図示されたボクセル化された球体およびボクセル化された筒体を示す斜視図である。
【発明を実施するための形態】
【００３５】
以下の記述は、事実上単なる代表例にすぎず、本発明、適用例または使用法を限定することを意図するものではない。さらに、全図面を通じて同様な参照符号は同様のものまたは部品および特徴を指し示すと理解されるべきである。開示された方法に関する限り、提示された工程は事実上代表例にすぎず、従って必要なまたは重要なものではない。
【００３６】
図１は、多数のロボット間における衝突回避を制御するためのロボットシステム２を示す概略図である。限定されない例として、ロボットシステム２は、少なくとも二つのロボットを有する、車体工場のロボットシステム、ウォータジェット切断のロボットシステム、レーザ溶接のロボットシステム、アーク溶接ロボットシステムおよび塗装用ロボットシステムのうちの一つのロボットシステムであってもよい。さらに、複数のロボットを有する他のロボットシステム２が要求に応じて採用されてもよい。
【００３７】
ロボットシステム２は、空間の範囲を定める作業セル４を含んでおり、作業セル４内においては、第一ロボット６および第二ロボット８が作動するよう構成されている。第一ロボット６および第二ロボット８は、作業セル４内に配置された少なくとも一つの共通空間１０を選択的に占有するよう構成されている。第一ロボット６および第二ロボット８のみが図示されているが、本発明の範囲と精神から逸脱することなく、ロボットシステム２は二つよりも多いロボットを有していても構わないものとして理解されるべきである。
【００３８】
第一ロボット６は、第一のプログラム経路に沿った第一ロボット６の動作時において、共通空間１０の第一の部分１２を占有してもよい。第二ロボット８は、第二のプログラム経路に沿った第二ロボット８の動作時において、共通空間１０の第二の部分１４を占有してもよい。さらに、第一の部分１２および第二の部分１４は、”自動領域”または”オートゾーン（Ａｕｔｏｚｏｎｅｓ）”として公知である。それぞれのプログラム経路は、一つあるいは複数の自動領域からなり、例えば、それぞれの自動領域は、前もって処理されて、一つあるいは複数の運動命令文から導出される。第一および第二のプログラム経路は、例えば多数の運動命令文を有する一連の命令において、一つあるいは複数の運動命令文によって制御されてもよい。第一の部分１２および第二の部分１４は重複してもよく、従って、第一ロボット６および第二ロボット８の運動を制御する干渉回避方法の使用がない場合にはロボットが衝突する可能性があることを、当業者は理解すべきである。
【００３９】
第一ロボット６および第二ロボット８は、少なくとも一つのコントローラ１６、１８によって制御される。図１に示す実施形態において、第一ロボット６は第一コントローラ１６によって制御され、第二ロボット８は第二コントローラ１８によって制御される。少なくとも一つのコントローラ１６、１８は、電力源（図示しない）に電気的に接続するようになっている。コントローラ１６、１８は、コントローラ１６、１８に格納されている一連の命令、例えばコンピュータプログラムを実行することができる。他の実施形態においては、コントローラ１６、１８に通信する一連の命令はコンピュータが読込可能な媒体または記憶装置に格納されてもよい。
【００４０】
ロボットシステム２は、当該技術分野において公知の他の構成要素、例えばシステム２の種々の構成要素と接続するよう構成されたネットワーク記憶媒体（図示しない）、プログラム可能装置（図示しない）および少なくとも一つのコントローラ１６、１８に電気的に接続する教示装置２０のうち少なくとも一つをさらに含んでもよい。特定の実施形態においては、教示装置２０はモニタを含んでいてもよく、第一ロボット６、第二ロボット８、共通空間１０の第一の部分１２および共通空間１０の第二の部分１４を、ロボットシステム２の操作者が見えるように図式化するよう、必要に応じて構成されている。教示装置２０はロボットを寸動する一連の命令を教示するための手段を必要に応じて含んでもよい。
【００４１】
本発明による典型的な一連の命令を図２に示す。一連の命令は干渉検査自動領域方法２００を含む。干渉検査自動領域方法２００は、最初に作業セル４内に少なくとも一つの共通空間１０を提供する初期工程２０２を含む。初期工程２０２は、第一決定工程２０４および第二決定工程２０６によって進められる。第一決定工程２０４は、第一のプログラム経路に沿った第一ロボット６の動作時に占有される共通空間１０の第一の部分１２を決定することを含む。第二決定工程２０６は、第二のプログラム経路に沿った第二ロボット８の動作時に占有される共通空間１０の第二の部分１４を決定することを含む。第一の部分１２および第二の部分１４は自動的に決定され、すなわち、当該技術分野において知られているように、各ロボットに作用するユーザの指定領域を必要としない。次いで、第一の部分１２および第二の部分１４は、重複部分２１０がそれらの間に存在するか否か決定するために、比較工程２０８において比較される。
【００４２】
限定されない例として、第一決定工程２０４および第二決定工程２０６は、第一ロボット６および第二ロボット８を有するロボットシステム２の初期操作時に概ねリアルタイムに行われてもよい。初期操作は、第一ロボット６および第二ロボット８と共に、それらが衝突する如何なる可能性をも回避するために封鎖状態において行われてもよい。他の例において、第一のプログラム経路および第二のプログラム経路の作動をオフラインで実行することによって、例えば、リアルタイムの操作時にロボット６、８によって占有される可能性がある、共通空間１０の第一の部分１２および第二の部分１４を特定するために、第一決定工程２０４および第二決定工程２０６が行われてもよい。さらに、第一決定工程２０４および第二決定工程２０６の間に特定された第一の部分１２および第二の部分１４は、記憶装置に記憶されてもよく、例えば、第一ロボット６および第二ロボット８の後続の作動時に再使用してもよい。ロボット６、８の運動のプログラム経路または軌道は、ロボット６、８の衝突に対して作用するよう、前もって処理されそして保存されていると理解されるべきである。
【００４３】
第一ロボット６および第二ロボット８のための第一動作工程２１２および第二動作工程２１４は重複部分２１０の存在に応じて選択される。第一の部分１２および第二の部分１４の間に重複部分２１０がある場合にはロボット６、８の衝突は起こりそうだとみなされ、第一動作工程２１２が選択される。第一動作工程２１２は、第一のプログラム経路に沿った第一ロボット６と第二のプログラム経路に沿った第二ロボット８とのうちの一つロボットのみ動作させることを含む。第一の部分１２および第二の部分１４の間に、重複部分２１０が無い場合にはロボット６、８の衝突は起こりそうもないとみなされ、第二動作工程２１４が選択される。第二動作工程２１４は、第一のプログラム経路に沿って第一ロボット６を動作させることと、第二のプログラム経路に沿って第二ロボット８を動作させることとを含む。
【００４４】
第一決定工程２０４および第二決定工程２０６は、当該技術分野のいかなる公知の手段により実施されてもよい。本発明による一つの特定の実施形態において、第一決定工程２０４および第二決定工程２０６は、少なくとも一つのボクセル３０２を有する少なくとも一つのボクセルモデル３００、例えば図３から図６に具体的に示されたボクセルモデルにより、共通空間１０、第一の部分１２および第二の部分１４のうちの少なくとも一つを表す工程を含んでもよい。ボクセル３０２は、三次元空間において規則的な格子により値を示す体素である。例えば、比較工程２０８は、第一の部分１２を表す第一のボクセルモデル３００と、第二の部分１４を表す第二のボクセルモデル３００との間に存在する重複部分２１０を決定する工程を含んでもよい。ボクセルモデル３００は、概して複数のボクセル３０２によって表されており、複数のボクセル３０２は、種々の構成要素、例えば、第一ロボット６および第二ロボット８のベース、アームおよび工具の形状を近似する。
【００４５】
図３および図４を参照するように、具体的なボクセルモデル３００は、Ｘ軸、Ｙ軸、Ｚ軸による座標に配置された複数のボクセルを含んでもよい。ボクセルモデル３００は、共通空間１０の三次元による値を図示するよう構成されており、共通空間１０は、第一ロボット６および第二ロボット８のうちの少なくとも一つにより占有されている。例えば、ボクセルモデル３００は、コントローラ１６、１８または他のコンピュータ可読な媒体またはメモリに生成されて保存されたデータファイルの形式であってもよい。ある実施形態においては、ボクセルモデル３００は動的であり、一連のロボット動作に関連付けられた複数のボクセルモデル３００を含んでいる。動的なボクセルモデル３００は、第一ロボット６および第二ロボット８のうちの少なくとも一つのロボットの動作時において占有される共通空間１０の三次元のボリュームを図示するよう採用されてもよい。例えば、それぞれの自動領域は、ボクセルモデル３００の多数のスナップショットの累積および／または重合から得ても良く、それぞれのスナップショットは一つあるいは複数の挿入間隔により取得される。
【００４６】
図５から図６を参照すると、第一ロボット６および第二ロボット８のボクセルモデル３００は、第一ロボット６および第二ロボット８によって占有される三次元のボリュームを表すよう、ボクセル化された球体５００およびボクセル化された筒体５０２のうちの少なくとも一つを含んでいてもよい。本願明細書において別途示すように、ボクセル化された球体５００およびボクセル化された筒体５０２は、第一ロボット６および第二ロボット８の種々の構成要素、例えばベースおよびアームとして表してもよい。ボクセル化された球体５００および筒体５０２は、概して、第一ロボット６および第二ロボット８のおおよその形状および境界を近似するよう、互いに関連して配置されている複数のボクセル３０２を含む。
【００４７】
当該技術分野における当業者であれば、ボクセル化された球体５００および筒体５０２は、あらゆる適切な手段によって生成されうることを理解すべきである。例えば、ボクセル化された球体５００は、ロボット６、８の構成要素を代表する典型的な球体をＸ−Ｙ平面に最初に射影することによって近似されてもよい。次いで、球体を囲む最小の筒体Ａが特定される。次いで、同一の球体がＹ−Ｚ面に射影され、球体を囲む最小の筒体Ｂが特定される。次いで、同一の球体がＺ−Ｘ面に射影され、球体を囲む最小の筒体Ｃが特定される。次いで、ボクセル化された球体５００は、筒体Ａ、ＢおよびＣの共通部分を特定することによって近似される。
【００４８】
他の実施形態において、ボクセル化された球体５００は、ロボット６、８の構成要素を代表する球体を囲む最小の箱体を、最初に検出することにより近似されてもよい。箱体は、占有するボリュームＡを有している。次いで、箱体Ａの内部であって球体の外側である、ボクセルの占有するボリュームＢが特定される。次いで、ボリュームＡからボリュームＢを減じることにより、ボクセル化された球体５００が近似される。
【００４９】
あるいは、ボクセル化された球体５００は典型的な球体とＸ−Ｙ平面との交差部分を特定することによって近似されてもよい。交差部分はＺ軸に沿った球体の中心を含み、交差する円板Ａ１を形成する。円板Ａ１は任意の高さが割当てられ、その後、交差する円板Ａ１のボクセル占有領域が特定される。さらに、典型的な球体とＺ軸に沿ったＸ−Ｙ平面との交差部分をシフトすることによって、円板Ａ２、Ａ３．．．Ａ（ｎ）が配置され、それらのボリュームのある占有領域が同様に特定される。次いで、ボクセル化された球体５００は、典型的な球体の円板によって特定されたボクセル占有領域のそれぞれを結合することにより近似される。
【００５０】
ボクセル化された筒体５０２は、半球体／全球体のボクセル占有領域Ａの左側を特定し、半球体／全球体のボクセル占有領域Ｂの右側を特定し、左側の半球体および右側の半球体の間にある複数の円板からなるボクセル占有領域Ｃを特定することにより、近似されてもよい。次いで、基準線に対して垂直である基礎となる円板が作り出される。その基準線は、円筒の端部にある二つの半球体に接続する。次の円板は、基礎となる円板をＺ軸に沿ってシフトさせることによって引き出されうる。あるいは、基準線のボクセル占有領域が算出されてもよく、その後に基準線は二つの半球値の間の全領域を満たすようシフトさせられてもよい。ボクセル化された筒体５０２は、その後、ボクセル占有領域Ａ、ＢおよびＣのそれぞれを結合することにより近似される。
【００５１】
ボクセル化された筒体５０２を近似する他の方法は、ロボット６、８を代表する典型的な筒体を囲むことが可能な最小の箱体を最初に特定することを含む。箱体はボリュームのある占有領域Ａを有する。次いで、箱体の内部であって筒体の外部であるボリュームのあるボクセル占有領域Ｂが特定される。その後、ボクセル化された筒体５０２は、ボリュームのあるボクセル占有領域Ａからボクセル領域Ｂを減ずることにより近似される。当該技術分野における当業者であれば、ロボット６、８の構成要素と関連する、ボクセル化された球体５００および筒体５０２を近似するのに適した他の方法が必要に応じて採用されうることを理解すべきである。
【００５２】
例えば、ボクセル化手法は、あらゆる任意のＣＡＤによる面またはボリュームから同様に決定されてもよく、面またはボリュームはロボット６、８、ロボットアーム、ドレスアウト（ｄｒｅｓｓｏｕｔ）およびツーリングを表すことができる。
【００５３】
ボクセル化手法は、ロボット運動セグメントにより占有された共通空間１０を表す非常に効率的な方法である。ボクセル化手法の工程は、ボクセル化された空間を作り出すのにいくらかのコンピュータによる処理時間が掛かるが、実行時の処理時間は非常に効率的である。動作時のロボットの経路によって占有される共通空間がどんなに複雑になり多くなろうとも、一旦、空間をボクセル化すれば、ボクセル化された空間の必要な最大記憶容量が固定される。ボクセル化された空間間の干渉を検査する実行時間は、非常に効率的である。好ましい実施形態は、ボクセル化された区域によって表される干渉検査自動領域１２、１４を提供しているが、運動経路にあるロボット６、８によって占有される空間を三次元により、または面により表す如何なる方法も使用されうる。
【００５４】
別の実施形態は、プログラム化された運動、寸動操作により先導された運動または他の方法により先導された運動の間の衝突を回避する。さらに、動作しているロボット６、８は、ロボット６、８ならびに作業セル４内の静止した他の固定された対象物とまたは他の画定された領域との衝突から保護されている。プログラム運動のためのボクセル化手法による工程または他の干渉検査自動領域のモデル工程は、オフライン時またはテスト運転時に実行することができ、ボクセル化されたデータは後の検索のために効率的に蓄積される。さらに、このプロセスは新しい運動経路が新しいプログラム、ロボット６、８の寸動操作または他の方法が先導した運動から決定された場合にリアルタイムに行ってもよい。これらの場合のために、一連の命令は教示装置２０の使用によってまたは運動を教示する他の手法によって決定されてもよい。実際の運動は、プロセスが完了してこの干渉検査自動領域および他の占有された干渉検査自動領域に干渉が無くなるまで開始することは許可されない。
【００５５】
別の実施形態において、共通空間１０の第一の部分１２および第二の部分１４は、第一ロボット６および第二ロボット８のうちの少なくとも一つのロボットに取付けられているツーリングによって占有されている、ツーリングの空間およびドレスアウト集成体、例えばアークツールワイヤフィーダを含んでもよい。さらに、重複部分２１０を決定する工程は、共通空間１０においてロボットでない障害物（図示しない）によって占有された第三の部分と、第一の部分１２および第二の部分１４のうちの一つとを比較する工程を含んでもよい。障害物は、寸法、形状および共通空間１０の位置を画定するのに使用される、一組のパラメータ一を用いて必要に応じて手動で指定されてもよい。他の例においては、さらに、干渉検査自動領域方法２００は共通空間１０における障害物によって占有された第三の部分を決定する工程を含んでもよい。さらに、共通空間１０においてロボットでない障害物によって占有された第三の部分が、ボクセルモデル３００と同種のボクセル３０２によって、必要に応じて表されてもよいことが理解されるべきである。
【００５６】
本発明による干渉検査自動領域方法２００は、さらに、第一ロボット６が第一のプログラム経路に沿って動作した後または第二ロボット８が第二のプログラム経路に沿って動作した後に共通空間１０の占有されていない部分を決定する工程を含んでもよい。次いで、共通空間１０の占有されない部分は、別のプログラム経路または軌道を追従する別のロボットにより使用するために、必要に応じて解放されてもよい。別の実施形態においては、干渉検査自動領域方法２００は、本発明の干渉検査自動領域方法２００による追加的な使用のために、コントローラ１６、１８のうちの少なくとも一つのコントローラに、共通空間１０の第一の部分および第二の部分の座標を転送する工程を含んでもよい。次いで、コントローラ１６、１８は、本願明細書において記述されたように、第一決定工程２０４および第二決定工程２０６のうちの少なくとも一つの工程を実行することを採用して、第一の部分１２および第二の部分１４を表すボクセルモデル３００へ座標を変換してもよい。
【００５７】
当業者は、共通空間１０において第一の部分１２および第二の部分１４の間に、重複部分が存在するか否かどうかを決定した上で、第一ロボット６および第二ロボット８のそれぞれの動作が優先順位の値によって決定されてもよいことを理解すべきである。限定されない例として、第一ロボット６および第二ロボット８の優先順位の値は、先入れ先出しシステムに基づいてもよい。他の例において、第一ロボット６および第二ロボット８のうちの一つが、第一ロボット６および第二ロボット８のうちの他方より高い値を常に有していてもよい。高い優先順位の値は、ロボットシステム２におけるロボット６、８の優先順位の所定のユーザ設定に基づいていてもよい。別の例において、優先順位の値は、共通空間１０内の占有されていない部分の利用度に基づいて選択されてもよい。当業者は、必要に応じて第一ロボット６および第二ロボット８に所望の優先順位の値を割当ててもよい。
【００５８】
別の実施形態において、干渉検査自動領域方法２００は、さらに、デッドロックの状態をもたらす可能性のある重複部分２１０の存在に対して、複数のプログラム経路を分析する工程を含む。その後、複数のプログラム経路による一連の作動は、必要に応じてデッドロックの状態の発生に対して作用するよう調整されてもよい。一連の作動は、手動によりまたは自動的に、例えば優先順位の値に基づいて必要に応じて調整されてもよい。
【００５９】
本発明による干渉検査自動領域システム２および干渉検査自動領域方法２００は、有利には従来のマルチアームロボットシステムを越える競争上の優位性を提供する。干渉検査自動領域システム２および干渉検査自動領域方法２００は、三次元のおよびリアルタイムの衝突回避を提供する。干渉検査自動領域システム２は干渉領域を指定することまたは教示することを必要としないので、干渉検査自動領域システム２は、最小限のプログラミングでよい。これにより中断時間の発生がさらに減少する。
【００６０】
さらに、通常の当業者であれば、ボクセル化された球体５００および筒体５０２の採用は、ロボットモデルの生成に関連する典型的に必要とされる処理を最小限にすることを理解すべきである。第一ロボット６および第二ロボット８の動作は、例えば、オフラインのボクセルモデル３００の生成によって前もってシステム２に伝達される。同様に、衝突することのない第一ロボット６および第二ロボット８のプログラム経路または軌道が保存される。プログラム経路は適用する工程、例えば切断、溶接、研摩、ルート割当、塗装、供給または他の類似の工程が実行されている間の一連の運動である。概して、一旦、工程経路が開始されると、全工程が中断することなく完了することが重要である。さらに、第一ロボット６および第二ロボット８の重要な工程経路は、干渉検査自動領域方法２００によって同様に保護されることが理解されるべきである。
【００６１】
干渉検査自動領域システム２は、同一のコントローラ１６、１８および多数のコントローラ１６、１８間におけるマルチアームロボットの衝突回避を必要に応じて支援する。干渉検査自動領域システム２および干渉検査自動領域方法２００は、簡略化したロボットの構成を提供し、ある先行技術のシステムおよび方法においてよく行われていた、入出力装置のハンドシェーキング（ｈａｎｄｓｈａｋｉｎｇ）プロトコルを必要としない。干渉検査自動領域システム２および干渉検査自動領域方法２００は、多数のアームによる干渉検査の構成を簡略化し、多数のロボットアームによるデッドロックを防止する。
【００６２】
ある程度の代表的な実施形態および詳細は、発明を説明することを目的として示されており、添付された特許請求の範囲においてさらに記述されている本発明の範囲から逸脱することなく種々の変更が可能であることは、当業者にとって明らかであろう。
【図１】
2009279748.tif 000003
【図２】
2009279748.tif 000004
【図３】
2009279748.tif 000005
【図４】
2009279748.tif 000006
【図５】
2009279748.tif 000007
【図６】
2009279748.tif 000008