説明

三次元自動領域によるマルチアームロボットシステムの干渉検査

【課題】衝突回避制御システムにおいて、三次元およびリアルタイムの衝突検出、ロボット運動の前もったロボットシステムへの通信、衝突しないプログラム軌道の条件および重要な工程経路の保護を提供する。
【解決手段】本発明によるシステムは一連の命令を含み、その一連の命令は干渉検査自動領域方法を行うために、一連の命令を実行するコントローラに格納されている。干渉検査自動領域方法は、第一のプログラム経路に沿った第一ロボットの動作時に占有される、共通空間の第一の部分を決定する工程と、第二のプログラム経路に沿った第二ロボットの動作時に占有される、共通空間の第二の部分を決定する工程と、第一の部分および第二の部分の間に重複部分が存在するか否か決定するために、第一の部分および第二の部分を比較する工程と、重複部分の存在に対応して第一ロボットおよび第二ロボットを動作させる工程とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して複数のロボットを制御するシステムおよび複数のロボットの運動による干渉回避を制御する方法に関する。
【背景技術】
【0002】
空間における対象物の動作は典型的な製造環境において必須の作業である。その必須の動作を達成するために、ロボット化はますます採用されるようになってきた。しかしながら、多数の対象物が動作する場合、対象物間において干渉する可能性がある。干渉は少なくとも二つの対象物が同一空間を同時に共有している場合に、例えば、共通の基準系に対して対象物が同一の座標を有する場合に存在する。
【0003】
近代の工業用ロボットはかなりの速度により動作するので、ロボット間の干渉はロボットおよびそのロボットによって取扱われるワークに対して衝突と望ましくない損害をもたらす可能性がある。また、その衝突は製造工程において損失の大きい中断時間をもたらす可能性がある。従って、そのような衝突を避けることが望ましい。
【0004】
先行技術のシステムおよび方法は、干渉および衝突を最小限にすることを目的として使用されてきた。しかしながら、先行技術のシステムおよび方法はいくつかの欠陥がある。一般的に、工具中心点(TCP:Tool center point)は、所定の干渉領域または「静的空間」に関してのみ検査されている。そのため、多数のロボットのために直接的にまたは効果的に衝突や干渉を防止することは難しい。さらに、多数の動作するロボットについて静的な座標系に関して、干渉空間を特定することが難しい。あらゆる干渉空間は、ロボットの運動経路の関数だけでなくその運動速度の関数でもある。さらに、二つあるいはそれより多いロボットが同時に共通空間に移動することを要求した場合のデッドロックの状況を扱う試みには困難な点が存在している。
【0005】
さらに、先行技術のシステムは、ワールド座標系に関して固定された空間において、ロボットのTCPが衝突するのを防止することを試みている。作業実行時に多数のロボット(多数のコントローラを有する)が共通空間または「干渉」空間を共有している場合、それぞれのコントローラは全てのロボットが共通空間から退避するまで待機しなければならない。次いで、コントローラはロボットが動くことを許可する運動制御指令を発することが可能になる。この工程は、「待ってから動く(Wait and move)」と呼ばれる工程であり、概して作業するサイクル時間を増やす。しかしながら、干渉空間はロボットの運動経路だけでなく運動スピードの関数でもあるので、固定された座標系に関して干渉空間を効果的に特定するのは難しい。一つよりも多くのロボットが同時に共通空間に移動することを要求する場合、他のロボットを待機するのでどのロボットも動作しないデッドロックの状況が発生する。
【0006】
さらに、先行技術のシステムは、球体および筒体によるロボットをモデル化することを試みている。そのシステムは運動時のロボットの将来の位置をリアルタイムに予測する。そのシステムはロボットが占有する空間を時間とともに累積して決定しないので、そのシステムはロボットの運動時に頻繁に比較する必要がある。そのシステムは作業セル内における全てのロボットのモデルを構成要素毎に比較する。比較はコンピュータを用いた場合には非常にコストがかかるものであり、ロボットならびにロボットおよびツーリングに使用される構成要素の数が増加するにつれて急激にそのコストが増大する。差し迫った衝突が検出された時にその比較はリアルタイムに行われるので、そのシステムは差し迫った衝突に含まれる全てのロボットを停止する必要があり、自動プログラム操作は終了しなければならない。ロボットが異なったコントローラに属している場合、その比較はコントローラ間においてリアルタイムに通信される大量の情報を必要するので、その比較はさらに困難になる。さらに、先行技術のシステムは干渉回避のため入出力装置のハンドシェーキング機構を利用することを試みている。
【0007】
公知のシステムおよび方法の一つは、譲受人の同時係属している特許文献1に開示されており、その出願はその全体において参照により本願明細書に組み入れられる。そのシステムおよび方法は、「動的空間検査」システムを含み、ロボット操作の効率は最大限にされ、複数のロボットの干渉または衝突の可能性が最小限にされている。各コントローラにより制御されたロボットはユーザにより定義された動的空間においてのみ作動し、これにより衝突を回避するようになる。しかしながら、動的空間検査システムは概してユーザにより定義された直線的な空間に対してのみTCPを保護している。
【0008】
公知である別のロボット衝突回避方法は、特許文献2においてポラックらにより報告されている。その方法は所望のロボット動作を含む衝突マップを作り出すことを含んでいる。所望のロボットの初期位置は、論理学上の排他的論理和演算によりロボット地図およびワールド地図を結合して、その後、論理学上の排他的論理和演算により衝突地図およびワールド地図を結合し、続いて、衝突マップおよびワールド地図をバイトバイバイト(byte−by−byte)方法において論理学上の包含的論理和演算により結合することによって、「ワールド」地図から取り除かれる。衝突は、包括的論理和演算および排他的論理和演算の結合のビット位置における相違によって表される。この方法は衝突探知のための二次元のX−Y射影および一次元の高さを提供するが、三次元によるリアルタイム衝突探知を可能にするものではない。
【0009】
さらに公知の方法であって、ロボットと一つあるいは複数の障害物との間の衝突をそれが起こる前に検出する方法が、グリーンスパンらによる特許文献3に開示されている。ロボットは、ボクセル化された作業スペースにおいて、球体によってモデル化されている。作業スペース内のそれぞれのボクセルは、最も近接した障害物からの距離に対応する値が割当てられる。球体の中心であるボクセル値がボクセル内の他の球体の半径未満である場合に、衝突は起こりそうだと決定される。しかしながら、この方法は、単に単体のロボットアームを保護しているだけである。さらに、ロボットは球体によってのみモデル化されており、そのためロボットの重要な工程経路を保護するには不充分な結果をもたらす。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】国際出願PCT/US2007/066638号
【特許文献2】米国特許第5150452号明細書
【特許文献3】米国特許第5347459号明細書
【発明の概要】
【発明が解決しようとする課題】
【0011】
複数のロボットの運動による干渉回避を制御するシステムおよび方法は引き続き必要とされている。そのシステムおよび方法は、三次元およびリアルタイムの衝突検出、ロボット運動の前もったロボットシステムへの通信、衝突しないプログラム軌道の条件および重要な工程経路の保護を提供することが望ましい。
【課題を解決するための手段】
【0012】
本発明によれば、複数のロボットの運動による干渉回避を制御するためのシステムおよび方法が発見され、このシステムおよび方法においては、驚くべきことに三次元およびリアルタイムの衝突検出、ロボット運動の前もったロボットシステムへの通信、衝突しないプログラム軌道の条件および重要な工程経路の保護が提供される。
【0013】
ある実施形態において、多数のロボットを含む作業セル内の衝突回避を制御する衝突回避制御システムは、動力源に接続される少なくとも一つのコントローラを含む。一連の命令は一連の命令を実行するためのコントローラに格納されている。一連の命令は干渉検査自動領域方法を含む。さらに、システムは少なくとも一つのコントローラのうちの一つのコントローラに通信して制御される第一ロボットを含む。さらに、第二ロボットは少なくとも一つのコントローラのうちの一つのコントローラに通信して制御される。作業セル内において、第一ロボットおよび第二ロボットは少なくとも一つの共通空間を選択的に占有するよう構成されている。共通空間は、共通空間の所望の寸法、形状および位置を定義するのに使用されるパラメータのセットにより手動で特定されうる。
【0014】
ある実施形態の前記衝突回避制御システムにおいて、前記一連の命令は、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される前記共通空間の第一の部分を決定する工程と、第二のプログラム経路に沿った前記第二ロボットの動作時に占有される前記共通空間の第二の部分を決定する工程と、前記第一の部分および前記第二の部分の間に重複部分が存在するか否かを決定するために共通空間の前記第一の部分および前記第二の部分を比較する工程とを含むとともに、さらに、前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った第一ロボットと前記第二のプログラム経路に沿った第二ロボットとのうちの一つのロボットのみを動作させる工程と、前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットを動作させ、前記第二のプログラム経路に沿った前記第二ロボットを動作させる工程と、のうちの一方の工程を含む。
【0015】
前記衝突回避制御システムは、さらに、少なくとも一つのコントローラに電気通信する教示装置を備え、前記教示装置は、前記第一ロボット、前記第二ロボット、前記共通空間の前記第一の部分および前記共通空間の前記第二の部分を操作者のために図式化するよう構成され、前記一連の命令は、前記教示装置を通じて前記ロボットを動かすよう生成される。
【0016】
前記衝突回避制御システムにおいて、前記第一ロボットおよび前記第二ロボットは、単一のロボットコントローラに取付けられている。
【0017】
前記衝突回避制御システムにおいて、前記第一ロボットは第一ロボットコントローラに取付けられ、前記第二ロボットは第二ロボットコントローラに取付けられている。
【0018】
前記衝突回避制御システムにおいて、前記作業セルは複数の共通空間を含み、前記第一ロボットおよび前記第二ロボットは、前記共通空間のそれぞれを選択的に占有するよう構成されている。
【0019】
別の実施形態において、複数のロボットを含む作業セル内において衝突を回避する衝突回避方法であって、前記衝突回避方法は、前記作業セル内において第一ロボットおよび第二ロボットによって選択的に占有される少なくとも一つの共通空間を提供する工程と、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される共通空間の第一の部分を決定する工程と、第二のプログラム経路に沿った前記第二ロボットの動作時に占有される共通空間の第二の部分を決定する工程と、前記第一の部分および前記第二の部分の間に重複部分が存在するか否か決定するために前記第一の部分および前記第二の部分を比較する工程とを含み、さらに、前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットと、前記第二のプログラム経路に沿った前記第二ロボットとのうちの一つのロボットのみを動作させる工程と、前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットと前記第二のプログラム経路に沿った前記第二ロボットとを動作させる工程と、のうちの一方の工程を含む。
【0020】
前記衝突回避方法において、前記共通空間、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間が、ボクセルモデルによって表される工程を含む。
【0021】
前記衝突回避方法は、さらに、前記第一ロボットが前記第一のプログラム経路に沿って動作した後または前記第二ロボットが前記第二のプログラム経路に沿って動作した後に、前記共通空間の占有されていない部分を決定する工程を含む。
【0022】
前記衝突回避方法は、さらに、別のプログラム経路のために前記共通空間の占有されていない部分を解放する工程を含む。
【0023】
前記衝突回避方法は、さらに、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間の座標を、少なくとも一つのコントローラに転送する工程を含み、前記コントローラは前記座標からボクセルモデルを生成するよう構成される。
【0024】
前記衝突回避方法において、ロボットのコントローラは、重複部分が前記第一の部分および前記第二の部分の間に存在するか否か決定する工程を実行する。
【0025】
前記衝突回避方法において、重複部分が存在する場合の前記第一ロボットおよび前記第二ロボットのうちの一つのロボットの動作は、優先順位の値によって決定される。
【0026】
前記衝突回避方法において、前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文を有する一連の命令における単一の運動命令文によって提供される。
【0027】
前記衝突回避方法において、前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文によって提供される。
【0028】
前記衝突回避方法において、前記共通空間における前記第一の部分および前記第二の部分のうちの少なくとも一つ空間は、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたツーリングと、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたドレスアウト(dressout)と、のうちの少なくとも一つによって占有された空間を含む。
【0029】
前記衝突回避方法において、前記重複部分を決定する工程は、障害物によって占有される前記共通空間の第三の部分との重複部分を決定する工程を、さらに含む。
【0030】
前記衝突回避方法において、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットは複数のプログラム経路を有し、前記衝突回避方法は、さらに、デッドロックの原因になる重複部分の存在のために、複数のプログラム経路を分析する工程を含む。
【0031】
前記衝突回避方法において、前記複数のプログラム経路の一連の操作は、前記デッドロックを防止するよう調整されている。
【0032】
もう一つ別の実施形態において、複数のロボットを含む作業セルにおける衝突回避方法であって、前記衝突回避方法は、第一ロボットおよび第二ロボットによって選択的に占有される前記作業セル内に少なくとも一つの共通空間を提供する工程を含み、前記第一ロボットおよび前記第二ロボットは少なくとも一つのコントローラに接続しており、さらに、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される前記共通空間の第一の部分を決定する工程と、前記第一の部分を、前記コントローラの第一のボクセルモデルとして表す工程と、第二のプログラム経路に沿った前記第二ロボットの動作時に占有される前記共通空間の第二の部分を決定する工程と、前記第二の部分を、前記コントローラの第二のボクセルモデルとして表す工程と、前記第一のボクセルモデルと前記第二のボクセルモデルとの間に重複部分が存在するか否か決定するよう、前記第一のボクセルモデルと前記第二のボクセルモデルとを比較する工程とを含み、さらに、前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットおよび前記第二のプログラム経路に沿った前記第二ロボットのうちの一つのみを動作させる工程と、前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットを動作させる工程および前記第二のプログラム経路に沿った前記第二ロボットを動作させる工程とのうちの一つと、第一ロボットが前記第一のプログラム経路に沿って動作した後または第二ロボットが前記第二のプログラム経路に沿って動作した後に前記共通空間の占有されていない部分を決定する工程と、別のプログラム経路のために共通空間の占有されていない部分を解放する工程とを含む。
【0033】
添付した図面に照らして考慮される際、上述したことは、本発明の他の利点と同様に、以下の好ましい実施形態の詳細な記述によって当業者に容易に理解されるであろう。
【図面の簡単な説明】
【0034】
【図1】作業セル内において作動する第一ロボットおよび第二ロボットを有する、本発明による典型的なロボットシステムを示す概略図である。
【図2】本発明による干渉検査自動領域方法を図示するフロー図である。
【図3】図1に図示された第一ロボットおよび第二ロボットのうちの一つのボクセル化されたモデルを示す図である。
【図4】図3に図示されたボクセル化されたモデルの等角投影図である。
【図5】図1に図示された第一ロボットおよび第二ロボットのうちの一つを示す拡大図であり、第一ロボットおよび第二ロボットのうちの一つは、それらに重ねられるボクセル化された球体および筒体によって形成されたボクセル化モデルを有する。
【図6】複数のボクセルから形成された、図5に図示されたボクセル化された球体およびボクセル化された筒体を示す斜視図である。
【発明を実施するための形態】
【0035】
以下の記述は、事実上単なる代表例にすぎず、本発明、適用例または使用法を限定することを意図するものではない。さらに、全図面を通じて同様な参照符号は同様のものまたは部品および特徴を指し示すと理解されるべきである。開示された方法に関する限り、提示された工程は事実上代表例にすぎず、従って必要なまたは重要なものではない。
【0036】
図1は、多数のロボット間における衝突回避を制御するためのロボットシステム2を示す概略図である。限定されない例として、ロボットシステム2は、少なくとも二つのロボットを有する、車体工場のロボットシステム、ウォータジェット切断のロボットシステム、レーザ溶接のロボットシステム、アーク溶接ロボットシステムおよび塗装用ロボットシステムのうちの一つのロボットシステムであってもよい。さらに、複数のロボットを有する他のロボットシステム2が要求に応じて採用されてもよい。
【0037】
ロボットシステム2は、空間の範囲を定める作業セル4を含んでおり、作業セル4内においては、第一ロボット6および第二ロボット8が作動するよう構成されている。第一ロボット6および第二ロボット8は、作業セル4内に配置された少なくとも一つの共通空間10を選択的に占有するよう構成されている。第一ロボット6および第二ロボット8のみが図示されているが、本発明の範囲と精神から逸脱することなく、ロボットシステム2は二つよりも多いロボットを有していても構わないものとして理解されるべきである。
【0038】
第一ロボット6は、第一のプログラム経路に沿った第一ロボット6の動作時において、共通空間10の第一の部分12を占有してもよい。第二ロボット8は、第二のプログラム経路に沿った第二ロボット8の動作時において、共通空間10の第二の部分14を占有してもよい。さらに、第一の部分12および第二の部分14は、”自動領域”または”オートゾーン(Autozones)”として公知である。それぞれのプログラム経路は、一つあるいは複数の自動領域からなり、例えば、それぞれの自動領域は、前もって処理されて、一つあるいは複数の運動命令文から導出される。第一および第二のプログラム経路は、例えば多数の運動命令文を有する一連の命令において、一つあるいは複数の運動命令文によって制御されてもよい。第一の部分12および第二の部分14は重複してもよく、従って、第一ロボット6および第二ロボット8の運動を制御する干渉回避方法の使用がない場合にはロボットが衝突する可能性があることを、当業者は理解すべきである。
【0039】
第一ロボット6および第二ロボット8は、少なくとも一つのコントローラ16、18によって制御される。図1に示す実施形態において、第一ロボット6は第一コントローラ16によって制御され、第二ロボット8は第二コントローラ18によって制御される。少なくとも一つのコントローラ16、18は、電力源(図示しない)に電気的に接続するようになっている。コントローラ16、18は、コントローラ16、18に格納されている一連の命令、例えばコンピュータプログラムを実行することができる。他の実施形態においては、コントローラ16、18に通信する一連の命令はコンピュータが読込可能な媒体または記憶装置に格納されてもよい。
【0040】
ロボットシステム2は、当該技術分野において公知の他の構成要素、例えばシステム2の種々の構成要素と接続するよう構成されたネットワーク記憶媒体(図示しない)、プログラム可能装置(図示しない)および少なくとも一つのコントローラ16、18に電気的に接続する教示装置20のうち少なくとも一つをさらに含んでもよい。特定の実施形態においては、教示装置20はモニタを含んでいてもよく、第一ロボット6、第二ロボット8、共通空間10の第一の部分12および共通空間10の第二の部分14を、ロボットシステム2の操作者が見えるように図式化するよう、必要に応じて構成されている。教示装置20はロボットを寸動する一連の命令を教示するための手段を必要に応じて含んでもよい。
【0041】
本発明による典型的な一連の命令を図2に示す。一連の命令は干渉検査自動領域方法200を含む。干渉検査自動領域方法200は、最初に作業セル4内に少なくとも一つの共通空間10を提供する初期工程202を含む。初期工程202は、第一決定工程204および第二決定工程206によって進められる。第一決定工程204は、第一のプログラム経路に沿った第一ロボット6の動作時に占有される共通空間10の第一の部分12を決定することを含む。第二決定工程206は、第二のプログラム経路に沿った第二ロボット8の動作時に占有される共通空間10の第二の部分14を決定することを含む。第一の部分12および第二の部分14は自動的に決定され、すなわち、当該技術分野において知られているように、各ロボットに作用するユーザの指定領域を必要としない。次いで、第一の部分12および第二の部分14は、重複部分210がそれらの間に存在するか否か決定するために、比較工程208において比較される。
【0042】
限定されない例として、第一決定工程204および第二決定工程206は、第一ロボット6および第二ロボット8を有するロボットシステム2の初期操作時に概ねリアルタイムに行われてもよい。初期操作は、第一ロボット6および第二ロボット8と共に、それらが衝突する如何なる可能性をも回避するために封鎖状態において行われてもよい。他の例において、第一のプログラム経路および第二のプログラム経路の作動をオフラインで実行することによって、例えば、リアルタイムの操作時にロボット6、8によって占有される可能性がある、共通空間10の第一の部分12および第二の部分14を特定するために、第一決定工程204および第二決定工程206が行われてもよい。さらに、第一決定工程204および第二決定工程206の間に特定された第一の部分12および第二の部分14は、記憶装置に記憶されてもよく、例えば、第一ロボット6および第二ロボット8の後続の作動時に再使用してもよい。ロボット6、8の運動のプログラム経路または軌道は、ロボット6、8の衝突に対して作用するよう、前もって処理されそして保存されていると理解されるべきである。
【0043】
第一ロボット6および第二ロボット8のための第一動作工程212および第二動作工程214は重複部分210の存在に応じて選択される。第一の部分12および第二の部分14の間に重複部分210がある場合にはロボット6、8の衝突は起こりそうだとみなされ、第一動作工程212が選択される。第一動作工程212は、第一のプログラム経路に沿った第一ロボット6と第二のプログラム経路に沿った第二ロボット8とのうちの一つロボットのみ動作させることを含む。第一の部分12および第二の部分14の間に、重複部分210が無い場合にはロボット6、8の衝突は起こりそうもないとみなされ、第二動作工程214が選択される。第二動作工程214は、第一のプログラム経路に沿って第一ロボット6を動作させることと、第二のプログラム経路に沿って第二ロボット8を動作させることとを含む。
【0044】
第一決定工程204および第二決定工程206は、当該技術分野のいかなる公知の手段により実施されてもよい。本発明による一つの特定の実施形態において、第一決定工程204および第二決定工程206は、少なくとも一つのボクセル302を有する少なくとも一つのボクセルモデル300、例えば図3から図6に具体的に示されたボクセルモデルにより、共通空間10、第一の部分12および第二の部分14のうちの少なくとも一つを表す工程を含んでもよい。ボクセル302は、三次元空間において規則的な格子により値を示す体素である。例えば、比較工程208は、第一の部分12を表す第一のボクセルモデル300と、第二の部分14を表す第二のボクセルモデル300との間に存在する重複部分210を決定する工程を含んでもよい。ボクセルモデル300は、概して複数のボクセル302によって表されており、複数のボクセル302は、種々の構成要素、例えば、第一ロボット6および第二ロボット8のベース、アームおよび工具の形状を近似する。
【0045】
図3および図4を参照するように、具体的なボクセルモデル300は、X軸、Y軸、Z軸による座標に配置された複数のボクセルを含んでもよい。ボクセルモデル300は、共通空間10の三次元による値を図示するよう構成されており、共通空間10は、第一ロボット6および第二ロボット8のうちの少なくとも一つにより占有されている。例えば、ボクセルモデル300は、コントローラ16、18または他のコンピュータ可読な媒体またはメモリに生成されて保存されたデータファイルの形式であってもよい。ある実施形態においては、ボクセルモデル300は動的であり、一連のロボット動作に関連付けられた複数のボクセルモデル300を含んでいる。動的なボクセルモデル300は、第一ロボット6および第二ロボット8のうちの少なくとも一つのロボットの動作時において占有される共通空間10の三次元のボリュームを図示するよう採用されてもよい。例えば、それぞれの自動領域は、ボクセルモデル300の多数のスナップショットの累積および/または重合から得ても良く、それぞれのスナップショットは一つあるいは複数の挿入間隔により取得される。
【0046】
図5から図6を参照すると、第一ロボット6および第二ロボット8のボクセルモデル300は、第一ロボット6および第二ロボット8によって占有される三次元のボリュームを表すよう、ボクセル化された球体500およびボクセル化された筒体502のうちの少なくとも一つを含んでいてもよい。本願明細書において別途示すように、ボクセル化された球体500およびボクセル化された筒体502は、第一ロボット6および第二ロボット8の種々の構成要素、例えばベースおよびアームとして表してもよい。ボクセル化された球体500および筒体502は、概して、第一ロボット6および第二ロボット8のおおよその形状および境界を近似するよう、互いに関連して配置されている複数のボクセル302を含む。
【0047】
当該技術分野における当業者であれば、ボクセル化された球体500および筒体502は、あらゆる適切な手段によって生成されうることを理解すべきである。例えば、ボクセル化された球体500は、ロボット6、8の構成要素を代表する典型的な球体をX−Y平面に最初に射影することによって近似されてもよい。次いで、球体を囲む最小の筒体Aが特定される。次いで、同一の球体がY−Z面に射影され、球体を囲む最小の筒体Bが特定される。次いで、同一の球体がZ−X面に射影され、球体を囲む最小の筒体Cが特定される。次いで、ボクセル化された球体500は、筒体A、BおよびCの共通部分を特定することによって近似される。
【0048】
他の実施形態において、ボクセル化された球体500は、ロボット6、8の構成要素を代表する球体を囲む最小の箱体を、最初に検出することにより近似されてもよい。箱体は、占有するボリュームAを有している。次いで、箱体Aの内部であって球体の外側である、ボクセルの占有するボリュームBが特定される。次いで、ボリュームAからボリュームBを減じることにより、ボクセル化された球体500が近似される。
【0049】
あるいは、ボクセル化された球体500は典型的な球体とX−Y平面との交差部分を特定することによって近似されてもよい。交差部分はZ軸に沿った球体の中心を含み、交差する円板A1を形成する。円板A1は任意の高さが割当てられ、その後、交差する円板A1のボクセル占有領域が特定される。さらに、典型的な球体とZ軸に沿ったX−Y平面との交差部分をシフトすることによって、円板A2、A3...A(n)が配置され、それらのボリュームのある占有領域が同様に特定される。次いで、ボクセル化された球体500は、典型的な球体の円板によって特定されたボクセル占有領域のそれぞれを結合することにより近似される。
【0050】
ボクセル化された筒体502は、半球体/全球体のボクセル占有領域Aの左側を特定し、半球体/全球体のボクセル占有領域Bの右側を特定し、左側の半球体および右側の半球体の間にある複数の円板からなるボクセル占有領域Cを特定することにより、近似されてもよい。次いで、基準線に対して垂直である基礎となる円板が作り出される。その基準線は、円筒の端部にある二つの半球体に接続する。次の円板は、基礎となる円板をZ軸に沿ってシフトさせることによって引き出されうる。あるいは、基準線のボクセル占有領域が算出されてもよく、その後に基準線は二つの半球値の間の全領域を満たすようシフトさせられてもよい。ボクセル化された筒体502は、その後、ボクセル占有領域A、BおよびCのそれぞれを結合することにより近似される。
【0051】
ボクセル化された筒体502を近似する他の方法は、ロボット6、8を代表する典型的な筒体を囲むことが可能な最小の箱体を最初に特定することを含む。箱体はボリュームのある占有領域Aを有する。次いで、箱体の内部であって筒体の外部であるボリュームのあるボクセル占有領域Bが特定される。その後、ボクセル化された筒体502は、ボリュームのあるボクセル占有領域Aからボクセル領域Bを減ずることにより近似される。当該技術分野における当業者であれば、ロボット6、8の構成要素と関連する、ボクセル化された球体500および筒体502を近似するのに適した他の方法が必要に応じて採用されうることを理解すべきである。
【0052】
例えば、ボクセル化手法は、あらゆる任意のCADによる面またはボリュームから同様に決定されてもよく、面またはボリュームはロボット6、8、ロボットアーム、ドレスアウト(dressout)およびツーリングを表すことができる。
【0053】
ボクセル化手法は、ロボット運動セグメントにより占有された共通空間10を表す非常に効率的な方法である。ボクセル化手法の工程は、ボクセル化された空間を作り出すのにいくらかのコンピュータによる処理時間が掛かるが、実行時の処理時間は非常に効率的である。動作時のロボットの経路によって占有される共通空間がどんなに複雑になり多くなろうとも、一旦、空間をボクセル化すれば、ボクセル化された空間の必要な最大記憶容量が固定される。ボクセル化された空間間の干渉を検査する実行時間は、非常に効率的である。好ましい実施形態は、ボクセル化された区域によって表される干渉検査自動領域12、14を提供しているが、運動経路にあるロボット6、8によって占有される空間を三次元により、または面により表す如何なる方法も使用されうる。
【0054】
別の実施形態は、プログラム化された運動、寸動操作により先導された運動または他の方法により先導された運動の間の衝突を回避する。さらに、動作しているロボット6、8は、ロボット6、8ならびに作業セル4内の静止した他の固定された対象物とまたは他の画定された領域との衝突から保護されている。プログラム運動のためのボクセル化手法による工程または他の干渉検査自動領域のモデル工程は、オフライン時またはテスト運転時に実行することができ、ボクセル化されたデータは後の検索のために効率的に蓄積される。さらに、このプロセスは新しい運動経路が新しいプログラム、ロボット6、8の寸動操作または他の方法が先導した運動から決定された場合にリアルタイムに行ってもよい。これらの場合のために、一連の命令は教示装置20の使用によってまたは運動を教示する他の手法によって決定されてもよい。実際の運動は、プロセスが完了してこの干渉検査自動領域および他の占有された干渉検査自動領域に干渉が無くなるまで開始することは許可されない。
【0055】
別の実施形態において、共通空間10の第一の部分12および第二の部分14は、第一ロボット6および第二ロボット8のうちの少なくとも一つのロボットに取付けられているツーリングによって占有されている、ツーリングの空間およびドレスアウト集成体、例えばアークツールワイヤフィーダを含んでもよい。さらに、重複部分210を決定する工程は、共通空間10においてロボットでない障害物(図示しない)によって占有された第三の部分と、第一の部分12および第二の部分14のうちの一つとを比較する工程を含んでもよい。障害物は、寸法、形状および共通空間10の位置を画定するのに使用される、一組のパラメータ一を用いて必要に応じて手動で指定されてもよい。他の例においては、さらに、干渉検査自動領域方法200は共通空間10における障害物によって占有された第三の部分を決定する工程を含んでもよい。さらに、共通空間10においてロボットでない障害物によって占有された第三の部分が、ボクセルモデル300と同種のボクセル302によって、必要に応じて表されてもよいことが理解されるべきである。
【0056】
本発明による干渉検査自動領域方法200は、さらに、第一ロボット6が第一のプログラム経路に沿って動作した後または第二ロボット8が第二のプログラム経路に沿って動作した後に共通空間10の占有されていない部分を決定する工程を含んでもよい。次いで、共通空間10の占有されない部分は、別のプログラム経路または軌道を追従する別のロボットにより使用するために、必要に応じて解放されてもよい。別の実施形態においては、干渉検査自動領域方法200は、本発明の干渉検査自動領域方法200による追加的な使用のために、コントローラ16、18のうちの少なくとも一つのコントローラに、共通空間10の第一の部分および第二の部分の座標を転送する工程を含んでもよい。次いで、コントローラ16、18は、本願明細書において記述されたように、第一決定工程204および第二決定工程206のうちの少なくとも一つの工程を実行することを採用して、第一の部分12および第二の部分14を表すボクセルモデル300へ座標を変換してもよい。
【0057】
当業者は、共通空間10において第一の部分12および第二の部分14の間に、重複部分が存在するか否かどうかを決定した上で、第一ロボット6および第二ロボット8のそれぞれの動作が優先順位の値によって決定されてもよいことを理解すべきである。限定されない例として、第一ロボット6および第二ロボット8の優先順位の値は、先入れ先出しシステムに基づいてもよい。他の例において、第一ロボット6および第二ロボット8のうちの一つが、第一ロボット6および第二ロボット8のうちの他方より高い値を常に有していてもよい。高い優先順位の値は、ロボットシステム2におけるロボット6、8の優先順位の所定のユーザ設定に基づいていてもよい。別の例において、優先順位の値は、共通空間10内の占有されていない部分の利用度に基づいて選択されてもよい。当業者は、必要に応じて第一ロボット6および第二ロボット8に所望の優先順位の値を割当ててもよい。
【0058】
別の実施形態において、干渉検査自動領域方法200は、さらに、デッドロックの状態をもたらす可能性のある重複部分210の存在に対して、複数のプログラム経路を分析する工程を含む。その後、複数のプログラム経路による一連の作動は、必要に応じてデッドロックの状態の発生に対して作用するよう調整されてもよい。一連の作動は、手動によりまたは自動的に、例えば優先順位の値に基づいて必要に応じて調整されてもよい。
【0059】
本発明による干渉検査自動領域システム2および干渉検査自動領域方法200は、有利には従来のマルチアームロボットシステムを越える競争上の優位性を提供する。干渉検査自動領域システム2および干渉検査自動領域方法200は、三次元のおよびリアルタイムの衝突回避を提供する。干渉検査自動領域システム2は干渉領域を指定することまたは教示することを必要としないので、干渉検査自動領域システム2は、最小限のプログラミングでよい。これにより中断時間の発生がさらに減少する。
【0060】
さらに、通常の当業者であれば、ボクセル化された球体500および筒体502の採用は、ロボットモデルの生成に関連する典型的に必要とされる処理を最小限にすることを理解すべきである。第一ロボット6および第二ロボット8の動作は、例えば、オフラインのボクセルモデル300の生成によって前もってシステム2に伝達される。同様に、衝突することのない第一ロボット6および第二ロボット8のプログラム経路または軌道が保存される。プログラム経路は適用する工程、例えば切断、溶接、研摩、ルート割当、塗装、供給または他の類似の工程が実行されている間の一連の運動である。概して、一旦、工程経路が開始されると、全工程が中断することなく完了することが重要である。さらに、第一ロボット6および第二ロボット8の重要な工程経路は、干渉検査自動領域方法200によって同様に保護されることが理解されるべきである。
【0061】
干渉検査自動領域システム2は、同一のコントローラ16、18および多数のコントローラ16、18間におけるマルチアームロボットの衝突回避を必要に応じて支援する。干渉検査自動領域システム2および干渉検査自動領域方法200は、簡略化したロボットの構成を提供し、ある先行技術のシステムおよび方法においてよく行われていた、入出力装置のハンドシェーキング(handshaking)プロトコルを必要としない。干渉検査自動領域システム2および干渉検査自動領域方法200は、多数のアームによる干渉検査の構成を簡略化し、多数のロボットアームによるデッドロックを防止する。
【0062】
ある程度の代表的な実施形態および詳細は、発明を説明することを目的として示されており、添付された特許請求の範囲においてさらに記述されている本発明の範囲から逸脱することなく種々の変更が可能であることは、当業者にとって明らかであろう。

【特許請求の範囲】
【請求項1】
多数のロボットを含む作業セル内の衝突回避を制御するシステムであって、
動力源に接続される少なくとも一つのコントローラと、
一連の命令であって、前記一連の命令の実行のために前記コントローラに格納されており、干渉検査自動領域方法を含む一連の命令と、
前記少なくとも一つのコントローラのうちの一つのコントローラに通信して該一つのコントローラによって制御される第一ロボットと、
前記少なくとも一つのコントローラのうちの一つのコントローラに通信して該一つのコントローラによって制御される第二ロボットと、を備え、
前記第一ロボットおよび前記第二ロボットが、前記作業セル内の少なくとも一つの共通空間を選択的に占有するよう構成されている、衝突回避制御システム。
【請求項2】
前記一連の命令は、
第一のプログラム経路に沿った前記第一ロボットの動作時に占有される、前記共通空間の第一の部分を決定する工程と、
第二のプログラム経路に沿った前記第二ロボットの動作時に占有される、前記共通空間の第二の部分を決定する工程と、
前記第一の部分および前記第二の部分の間に重複部分が存在するか否かを決定するよう、共通空間の前記第一の部分および前記第二の部分を比較する工程とを含み、
さらに、
前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った第一ロボットと前記第二のプログラム経路に沿った第二ロボットとのうちの一つのロボットのみを動作させる工程と、
前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿って前記第一ロボットを動作させ、前記第二のプログラム経路に沿って前記第二ロボットを動作させる工程と、のうちの一方の工程を含む請求項1に記載の衝突回避制御システム。
【請求項3】
さらに、少なくとも一つのコントローラに電気通信する教示装置を備え、前記教示装置は、前記第一ロボット、前記第二ロボット、前記共通空間の前記第一の部分および前記共通空間の前記第二の部分を操作者のために図式化するよう構成され、前記一連の命令は前記教示装置を通じて前記ロボットを動かすよう生成される、請求項1に記載の衝突回避制御システム。
【請求項4】
前記第一ロボットおよび前記第二ロボットは、単一のロボットコントローラに取付けられている、請求項1に記載の衝突回避制御システム。
【請求項5】
前記第一ロボットは第一ロボットコントローラに取付けられ、前記第二ロボットは第二ロボットコントローラに取付けられている、請求項1に記載の衝突回避制御システム。
【請求項6】
前記作業セルは複数の共通空間を含み、前記第一ロボットおよび前記第二ロボットは、前記共通空間のそれぞれを選択的に占有するよう構成されている、請求項1に記載の衝突回避制御システム。
【請求項7】
複数のロボットを含む作業セル内において衝突を回避する衝突回避方法であって、前記衝突回避方法は、
前記作業セル内において第一ロボットおよび第二ロボットによって選択的に占有される少なくとも一つの共通空間を提供する工程と、
第一のプログラム経路に沿った前記第一ロボットの動作時に占有される共通空間の第一の部分を決定する工程と、
第二のプログラム経路に沿った前記第二ロボットの動作時に占有される共通空間の第二の部分を決定する工程と、
前記第一の部分および前記第二の部分の間に重複部分が存在するか否か決定するよう、前記第一の部分および前記第二の部分を比較する工程とを含み、
さらに、
前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットと、前記第二のプログラム経路に沿った前記第二ロボットとのうちの一つのロボットのみを動作させる工程と、
前記共通空間の前記第一の部分および前記第二の部分の間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットと、前記第二のプログラム経路に沿った前記第二ロボットとを動作させる工程と、のうちの一方の工程を含む、衝突回避方法。
【請求項8】
前記共通空間、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間がボクセルモデルによって表される、請求項7に記載の衝突回避方法。
【請求項9】
さらに、前記第一ロボットが前記第一のプログラム経路に沿って動作した後または前記第二ロボットが前記第二のプログラム経路に沿って動作した後に、前記共通空間の占有されていない部分を決定する工程を含む、請求項7に記載の衝突回避方法。
【請求項10】
さらに、別のプログラム経路のために、前記共通空間の占有されていない部分を解放する工程を含む、請求項9に記載の衝突回避方法。
【請求項11】
さらに、前記第一の部分および前記第二の部分のうちの少なくとも一つの空間の座標を、少なくとも一つのコントローラに転送する工程を含み、前記コントローラは前記座標からボクセルモデルを生成するよう構成される、請求項7に記載の衝突回避方法。
【請求項12】
ロボットのコントローラは、前記重複部分が前記第一の部分および前記第二の部分の間に存在するか否か決定する工程を実行する、請求項7に記載の衝突回避方法。
【請求項13】
重複部分が存在する場合の前記第一ロボットおよび前記第二ロボットのうちの一つロボットの動作は、優先順位の値によって決定される、請求項7に記載の衝突回避方法。
【請求項14】
前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文を有する一連の命令における単一の運動命令文によって提供される、請求項7に記載の衝突回避方法。
【請求項15】
前記第一のプログラム経路および前記第二のプログラム経路のうちの一つのプログラム経路は、複数の運動命令文によって提供される、請求項7に記載の衝突回避方法。
【請求項16】
前記共通空間における前記第一の部分および前記第二の部分のうちの少なくとも一つの空間は、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたツーリングと、前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットに取付けられたドレスアウトと、のうちの少なくとも一つによって占有された空間を含む、請求項7に記載の衝突回避方法。
【請求項17】
前記重複部分を決定する工程は、障害物によって占有される前記共通空間の第三の部分との重複部分を決定する工程を、さらに含む、請求項7に記載の衝突回避方法。
【請求項18】
前記第一ロボットおよび前記第二ロボットのうちの少なくとも一つのロボットは複数のプログラム経路を有し、前記衝突回避方法は、さらに、デッドロックの原因になる重複部分の存在のために、複数のプログラム経路を分析する工程を含む、請求項7に記載の衝突回避方法。
【請求項19】
前記複数のプログラム経路の一連の操作は、前記デッドロックを防止するよう調整されている、請求項18に記載の衝突回避方法。
【請求項20】
複数のロボットを含む作業セルにおける衝突回避方法であって、前記衝突回避方法は、
第一ロボットおよび第二ロボットによって選択的に占有される前記作業セル内に少なくとも一つの共通空間を提供する工程を含み、前記第一ロボットおよび前記第二ロボットは少なくとも一つのコントローラに接続しており、
さらに、第一のプログラム経路に沿った前記第一ロボットの動作時に占有される前記共通空間の第一の部分を決定する工程と、
前記第一の部分を、前記コントローラの第一のボクセルモデルとして表す工程と、
第二のプログラム経路に沿った前記第二ロボットの動作時に占有される前記共通空間の第二の部分を決定する工程と、
前記第二の部分を、前記コントローラの第二のボクセルモデルとして表す工程と、
前記第一のボクセルモデルと前記第二のボクセルモデルとの間に重複部分が存在するか否か決定するよう、前記第一のボクセルモデルと前記第二のボクセルモデルとを比較する工程とを含み、
さらに、
前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がある場合には前記第一のプログラム経路に沿った前記第一ロボットおよび前記第二のプログラム経路に沿った前記第二ロボットのうちの一つのロボットのみを動作させる工程と、
前記共通空間の前記第一のボクセルモデルおよび前記第二のボクセルモデルの間に重複部分がない場合には前記第一のプログラム経路に沿った前記第一ロボットを動作させる工程および前記第二のプログラム経路に沿った前記第二ロボットを動作させる工程と、のうちの一方の工程を含み、
さらに、前記第一ロボットが前記第一のプログラム経路に沿って動作した後または前記第二ロボットが前記第二のプログラム経路に沿って動作した後に、前記共通空間の占有されていない部分を決定する工程と、
別のプログラム経路のために共通空間の占有されていない部分を解放する工程と、を含む、衝突回避方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−279748(P2009−279748A)
【公開日】平成21年12月3日(2009.12.3)
【国際特許分類】
【出願番号】特願2009−39819(P2009−39819)
【出願日】平成21年2月23日(2009.2.23)
【出願人】(505241005)ファナック ロボティクス アメリカ,インコーポレイティド (18)
【Fターム(参考)】