JP2010240772A - ロボット制御装置、ロボット制御方法 - Google Patents
ロボット制御装置、ロボット制御方法 Download PDFInfo
- Publication number
- JP2010240772A JP2010240772A JP2009091839A JP2009091839A JP2010240772A JP 2010240772 A JP2010240772 A JP 2010240772A JP 2009091839 A JP2009091839 A JP 2009091839A JP 2009091839 A JP2009091839 A JP 2009091839A JP 2010240772 A JP2010240772 A JP 2010240772A
- Authority
- JP
- Japan
- Prior art keywords
- approach
- robot
- motion
- robots
- region
- 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.)
- Withdrawn
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】複数のロボットの動作における干渉領域に対して、同時期にロボットを進入させ、作業効率の向上を図る。
【解決手段】複数のロボットを制御するロボット制御方法であって、前記ロボットが動作する動作領域を演算する動作領域演算ステップと、前記動作領域に基づいて、前記ロボット間で前記動作領域が相互に干渉する干渉領域を演算する干渉領域演算ステップと、前記ロボットの動作から前記干渉領域に進入する進入動作を抽出し、前記進入動作を、前記干渉領域に進入する前の第1進入動作と、前記干渉領域に進入した後の動作を含む第2進入動作と、に区分けする動作区分けステップと、各前記ロボットの前記第2進入動作を比較し、前記第2進入動作が相互に干渉しないように、前記第2進入動作の順番を割り当てる進入動作割当てステップと、を含む。
【選択図】図5
【解決手段】複数のロボットを制御するロボット制御方法であって、前記ロボットが動作する動作領域を演算する動作領域演算ステップと、前記動作領域に基づいて、前記ロボット間で前記動作領域が相互に干渉する干渉領域を演算する干渉領域演算ステップと、前記ロボットの動作から前記干渉領域に進入する進入動作を抽出し、前記進入動作を、前記干渉領域に進入する前の第1進入動作と、前記干渉領域に進入した後の動作を含む第2進入動作と、に区分けする動作区分けステップと、各前記ロボットの前記第2進入動作を比較し、前記第2進入動作が相互に干渉しないように、前記第2進入動作の順番を割り当てる進入動作割当てステップと、を含む。
【選択図】図5
Description
本発明は、ロボット制御装置、ロボット制御方法に関する。
複数のロボットを協働して動作させるとき、一方のロボットの動作領域と他方のロボットの動作領域とが一部重複する干渉領域が発生する場合がある。そして、双方のロボットが干渉領域に侵入したときに、ロボット同士が衝突するおそれがある。このため、一方のロボットが干渉領域に侵入する際には、他方のロボットが干渉領域に侵入していないことを確認した後、当該ロボットを干渉領域に侵入させるとともに、他方のロボットを干渉領域以外の領域で待機させることにより、干渉領域におけるロボット同士の衝突を防止するロボット制御装置が知られている(例えば、特許文献1参照)。
しかしながら、上記のロボット制御装置では、一方のロボットが干渉領域に侵入した場合には、他方のロボットは、一方のロボットが干渉領域外に移動するまで、干渉領域以外の領域で待機する必要があるため、作業効率が低下してしまう、という課題があった。
本発明は、上記課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1]本適用例にかかるロボット制御方法は、複数のロボットを制御するロボット制御方法であって、前記ロボットが動作する動作領域を演算する動作領域演算ステップと、前記動作領域に基づいて、前記ロボット間で前記動作領域が相互に干渉する干渉領域を演算する干渉領域演算ステップと、前記ロボットの動作から前記干渉領域に進入する進入動作を抽出し、前記進入動作を、前記干渉領域に進入する前の第1進入動作と、前記干渉領域に進入した後の動作を含む第2進入動作と、に区分けする動作区分けステップと、各前記ロボットの前記第2進入動作同士を比較して、前記第2進入動作が相互に干渉しないように、前記第2進入動作の順番を割り当てる進入動作割当てステップと、を含むことを特徴とする。
この構成によれば、干渉領域に進入する各ロボットの進入動作を特定し、ロボット間で干渉領域に進入する第2進入動作が相互に干渉しないように、第2進入動作の動作順番を割り当てる。従って、干渉領域においても、同時期に複数のロボットを安全に動作させ、作業効率を高めることができる。
[適用例2]上記適用例にかかるロボット制御方法の前記動作区分けステップでは、前記第1進入動作と前記第2進入動作の間に、前記ロボットの動作を切り替えるフラグを設定するフラグ設定ステップを有することを特徴とする。
この構成によれば、例えば、フラグを立てた場合に、進入動作は、干渉領域に進入する手前で停止させ、フラグが解除された場合には、干渉領域内に進入させることができる。これにより、干渉領域の境界でロボットの動作が規制される。従って、干渉領域に進入する動作の安全性を高めることができる。
[適用例3]上記適用例にかかるロボット制御方法の前記動作区分けステップでは、前記第2進入動作の手前の前記第1進入動作にインデックスを付与するインデックス付与ステップを有することを特徴とする。
この構成によれば、第1進入動作に付与されたインデックスを監視することにより、フラグの設定や第2進入動作を容易に特定することができる。
[適用例4]上記適用例にかかるロボット制御方法の前記動作区分けステップでは、前記第2進入動作を、前記干渉領域に進入する前の動作と、前記干渉領域に進入した後の動作と、に分割する第2進入動作分割ステップを有することを特徴とする。
この構成によれば、第2進入動作に含まれる干渉領域内の動作と干渉領域外の動作とを明確に分割することにより、ロボットの動作領域が広がり、ロボットの動作の自由度を高めることができる。
[適用例5]上記適用例にかかるロボット制御方法の前記動作区分けステップでは、前記第2進入動作の前記干渉領域に進入した後の動作を複数分割する進入後動作分割ステップを有することを特徴とする。
この構成によれば、干渉領域内における動作を分割することにより、干渉領域でロボット間の動作が干渉する領域が小さくなるので、さらに、ロボットの動作の自由度を高めることができる。
[適用例6]上記適用例にかかるロボット制御方法の前記進入動作割当てステップでは、各前記ロボットの前記第2進入動作の前記動作領域同士を比較して、前記動作領域が相互に干渉しないように、前記第2進入動作の順番を割り当てることを特徴とする。
この構成によれば、第2進入動作を動作領域に関連付けし、当該動作領域を比較対象とするので、第2進入動作の比較を容易に行うことができる。
[適用例7]本適用例にかかるロボット制御装置は、複数のロボットを制御するロボット制御装置であって、前記ロボットが動作する動作領域を演算する動作領域演算部と、前記動作領域に基づいて、前記ロボット間で前記動作領域が相互に干渉する干渉領域を演算する干渉領域演算部と、前記ロボットの動作から前記干渉領域に進入する進入動作を抽出し、前記進入動作を、前記干渉領域に進入する前の第1進入動作と、前記干渉領域に進入した後の動作を含む第2進入動作と、に区分けする動作区分け部と、各前記ロボットの前記第2進入動作同士を比較して、前記第2進入動作が相互に干渉しないように、前記第2進入動作の順番を割り当てる進入動作割当て部と、を備えたことを特徴とする。
この構成によれば、干渉領域に進入する各ロボットの進入動作を特定し、ロボット間で第2進入動作が相互に干渉しないように、干渉領域における第2進入動作の動作順番を割り当てる。従って、干渉領域においても、同時期に複数のロボットを安全に動作させ、作業効率を高めることができる。
以下、本発明を具体化した実施形態について図面に従って説明する。
まず、ロボット制御装置の構成について説明する。図1は、ロボット制御装置の構成を示すブロック図である。ロボット制御装置1は、動作部を有するロボット10と、ロボット10の動作を制御する統括制御部20を備えている。統括制御部20は、動作プログラム等が格納された記憶部21と、動作プログラムに基づいて、動作信号を生成し、当該動作信号をロボット10に対して送信する動作指令部22を備えている。さらに、ロボット10が動作する動作領域を演算する動作領域演算部23と、ロボット10の動作領域に基づいて、ロボット10間の干渉領域を演算する干渉領域演算部24と、ロボット10の動作を区分けする動作区分け部25と、干渉領域におけるロボット10の動作順番を割り当てる進入動作割当て部26等を備えている。以下、これらの部材の機能について説明する。なお、本実施形態では、2台のロボット10a,10bを動作プログラムに従って動作させる構成例について説明する。
まず、ロボット制御装置の構成について説明する。図1は、ロボット制御装置の構成を示すブロック図である。ロボット制御装置1は、動作部を有するロボット10と、ロボット10の動作を制御する統括制御部20を備えている。統括制御部20は、動作プログラム等が格納された記憶部21と、動作プログラムに基づいて、動作信号を生成し、当該動作信号をロボット10に対して送信する動作指令部22を備えている。さらに、ロボット10が動作する動作領域を演算する動作領域演算部23と、ロボット10の動作領域に基づいて、ロボット10間の干渉領域を演算する干渉領域演算部24と、ロボット10の動作を区分けする動作区分け部25と、干渉領域におけるロボット10の動作順番を割り当てる進入動作割当て部26等を備えている。以下、これらの部材の機能について説明する。なお、本実施形態では、2台のロボット10a,10bを動作プログラムに従って動作させる構成例について説明する。
図2は、ロボットの構成および動作内容を示す説明図である。図2(a)は、ロボット10aの構成を示す平面図である。同図(a)に示すように、ロボット10aは、本体部11aと動作部としてのアーム部12aを備えている。そして、動作プログラムに基づいて、アーム部12aが、回転軸13aを中心として回転動作するように構成されている。また、図2(c)に示すように、ロボット10bも同様に、本体部11bと動作部としてのアーム部12bを備えている。そして、動作プログラムに基づいて、アーム部12bが、回転軸13bを中心として回転動作するように構成されている。なお、ロボット10の構成は、上記説明したロボット10の構成に限定されず、動作プログラムに従って動作するロボットであればどのような構成であってもよい。
次に、ロボット10aの動作内容について説明する。なお、本実施形態では、説明を容易にするため、ロボット10aに対して、例えば、動作プログラムAに基づく動作内容について説明する。図2(a)は、動作プログラムAに基づく、ロボット10aの動作内容を示している。ロボット10aは、動作ポイントP0aから動作を開始し、動作ポイントP1aに移動する。次いで、動作ポイントP2a,P3a,P4aと順に移動する。その後、先の動作とは逆方向に、動作ポイントP4aから動作ポイントP3aに移動し、次いで、動作ポイントP2a,P1a,P0aの順に移動する。同図(b)は、これらの動作内容を表にまとめたものであり、ロボット10aが動作する動作順番と、各動作符号と、動作内容を示している。
次に、ロボット10bの動作内容について説明する。本実施形態では、ロボット10bに対して、例えば、動作プログラムBに基づく動作内容について説明する。図2(b)は、動作プログラムBに基づく、ロボット10bの動作内容を示している。ロボット10bは、動作ポイントP0bから動作を開始し、動作ポイントP1bに移動する。次いで、動作ポイントP2b,P3b,P4b,P5bと順に移動する。その後、先の動作とは逆方向に、動作ポイントP5bから動作ポイントP4bに移動し、次いで、動作ポイントP3b,P2b,P1b,P0bの順に移動する。同図(d)は、これらの動作内容を表にまとめたものであり、ロボット10bが動作する動作順番と、各動作符号と、動作内容を示している。
次に、ロボット10a,10bの動作領域および干渉領域について説明する。図3は、ロボットの動作領域および干渉領域を示す説明図である。図3(a)は、ロボット10aが動作プログラムAに基づいて動作する全体の動作領域を示すものである。同図(a)に示すように、ロボット10aのアーム部12aが動作ポイントP0a〜P4aを往復移動する全体の領域は、動作領域RAとして求められる。当該動作領域RAは、動作領域演算部23によって演算される。演算方法としては、例えば、図3(a)において、回転軸13aを基準点PRaとして、アーム部12aの先端部となる動作ポイントP0aからP4aの座標点で取り囲まれる領域を演算することにより求めることができる。
図3(b)は、ロボット10bが動作プログラムBに基づいて動作する全体の動作領域を示すものである。同図(b)に示すように、ロボット10bのアーム部12bが動作ポイントP0b〜P5bを往復移動する全体の領域は、動作領域RBとして求められる。当該動作領域RBは、上記同様に、動作領域演算部23によって、図3(b)において、回転軸13bを基準点PRbとして、アーム部12bの先端部となる動作ポイントP0bからP5bの座標点で取り囲まれる領域を演算することにより求めることができる。
図3(c)は、ロボット10aとロボット10bとの間における干渉領域を示している。同図(c)に示すように、ロボット10aとロボット10bを近接して配置し、双方のロボット10a,10bを動作させた場合に、ロボット10aの動作とロボット10bの動作において互いに干渉する干渉領域RXが発生する。当該干渉領域RXは、干渉領域演算部24によって演算される。例えば、動作領域演算部23で演算した各ロボット10a,10bの動作領域RA,RBに基づいて、座標上から動作領域RA,RBが互いに重複する領域を干渉領域RXとして演算して求められる。本実施形態では、座標上に表された点n1,n2,n3,n4で囲まれた領域が干渉領域RXとなる。
ここで、ロボット10a,10b間で干渉領域RXを形成するため、動作プログラムAに基づくロボット10aの動作と動作プログラムBに基づくロボット10bの動作は、共に干渉領域RXに進入する進入動作に相当することになる。
次に、動作区分け部25の機能について説明する。動作区分け部25は、各ロボット10a,10bの進入動作を、干渉領域RXに進入する前の第1進入動作と、干渉領域RXに進入した後の動作を含む第2進入動作と、に区分けする機能を有する。以下、進入動作の区分け方法について説明する。
まず、ロボット10aの進入動作の区分け方法について説明する。図4は、進入動作の区分け方法示す説明図である。図4(a)では、ロボット10aの進入動作と干渉領域RXとの関係を示している。まず、ロボット10aの動作内容毎の動作領域を演算する。具体的には、ロボット10aの動作を動作ポイントP0a〜P4a毎に動作領域を演算する。例えば、動作ポイントP0a〜P1aに動作する動作領域は、回転軸13aを基準点PRaとして、動作ポイントP0b,P1aの座標点で取り囲まれる領域を演算することにより、動作ポイントP0a〜P1aにおける動作領域RA1が求められる。同様にして、動作ポイントP1a〜P2aにおける動作領域RA2、動作ポイントP2a〜P3aにおける動作領域RA3、動作ポイントP3a〜P4aにおける動作領域RA4が、それぞれ演算される。なお、動作領域RA1〜RA4の合計は、ロボット10aの動作領域RAとなる。
そして、各動作領域RA1〜RA4と干渉領域RXとを比較して、干渉領域RXに進入するロボット10aの動作を特定する。まず、各動作領域RA1〜RA4と干渉領域RXとを比較して、干渉領域RXに対して重複する動作領域を演算する。本実施形態では、動作領域RA3と動作領域RA4が干渉領域RXと重複するとして演算される。次に、演算された動作領域RA3,RA4に対応するロボット10aの動作内容を演算する。本実施形態では、動作領域RA3に対応するロボット10aの動作内容は、動作ポイントP2a〜P3aであり、動作領域RA4に対応するロボット10aの動作内容は、動作ポイントP3a〜P4aであることが演算される。従って、干渉領域RXに進入した後の動作、すなわち、第2進入動作は、動作ポイントP2a〜P3aおよび動作ポイントP3a〜P4aであることが特定される。また、干渉領域RXに干渉しない動作、すなわち、干渉領域RXに進入する前の第1進入動作は、動作ポイントP0a〜P1a,P1a〜P2aであることが特定される。そして、図4(b)に示すように、ロボット10aの動作順、動作符号、動作内容に対応する第1進入動作と第2進入動作が動作テーブル40aとして作成される。
また、第1進入動作と第2進入動作の間に、ロボット10aの動作を切り替えるフラグFgが設定される。本実施形態では、第1進入動作の動作ポイントP1a〜P2aと第2進入動作の動作ポイントP2a〜P3aとの間にフラグFgが設けられている。当ロボット10aの動作において、当該フラグFgを割り込ませ、ロボット10aの停止/解除を切り替えることができる。
さらに、第1進入動作にインデックスIdxを付与する。本実施形態では、第2進入動作の動作ポイントP2a〜P3aの手前の動作となる第1進入動作の動作ポイントP1a〜P2aにインデックスIdxを付与する。これにより、第2進入動作との区分けを明確にすることができる。
次に、ロボット10bの進入動作の区分け方法について説明する。図5(a)では、ロボット10bの進入動作と干渉領域RXとの関係を示している。ここでも、上記同様に、ロボット10bの動作内容毎の動作領域を演算する。
なお、本実施形態では、第2進入動作の動作領域の一部に第1進入動作領域を含む場合、すなわち、一の動作領域に第1進入動作と第2進入動作が含まれる場合、当該一の動作領域を、干渉領域に進入する前の動作と、干渉領域に進入した後の動作と、に分割する。例えば、ロボット10bの動作ポイントP2b〜P3bの動作は、干渉領域RXに進入した後の動作を含む第2進入動作である。そこで、当該第2進入動作を下記のように、干渉領域に進入する前の動作と、干渉領域に進入した後の動作と、に分割する。
図5(a)に示すように、基準点PRbと干渉領域RXの境界点n2を結んだ直線延長上と、動作ポイントP2b〜P3bとが交差する位置に中間動作ポイントP2b’を追加する。これにより、当初のロボット10bの動作ポイントP2b〜P3bは、動作ポイントP2b〜P2b'と動作ポイントP2b’〜動作ポイントP3bに区分けされる。このように、動作ポイントP2b’を追加することにより、干渉領域RXに進入するまでのロボット10bの動作の自由度を高めることができる。
そして、ロボット10bの動作の動作ポイントP0b〜P5b毎に動作領域を演算する。例えば、動作ポイントP0b〜P1bに動作する動作領域は、回転軸13bを基準点PRbとして、動作ポイントP0b,P1bの座標点で取り囲まれる領域を演算し、動作ポイントP0b〜P1bにおける動作領域RB1が求められる。同様にして、動作ポイントP1b〜P2bにおける動作領域RB2、動作ポイントP2b〜P2b’における動作領域RB3、動作ポイントP2b’〜P3bにおける動作領域RB4、動作ポイントP3b〜P4bにおける動作領域RB5、動作ポイントP4b〜P5bにおける動作領域RB6が、それぞれ演算される。なお、動作領域RB1〜RB6の合計は、ロボット10bの動作領域RBと等しい。
そして、干渉領域演算部24において、各動作領域RB1〜RB6と干渉領域RXとを比較して、干渉領域RXに進入するロボット10bの動作を特定する。まず、各動作領域RB1〜RB6と干渉領域RXとを比較して、干渉領域RXに対して重複する動作領域RB1〜RB6を演算する。本実施形態では、動作領域RB4と動作領域RB5と動作領域RB6が干渉領域RXと重複するとして演算される。次に、演算された動作領域RB4,RB5,RB6に対応するロボット10bの動作内容を演算する。本実施形態では、動作領域RB4に対応するロボット10bの動作内容は、動作ポイントP2b’〜P3bであり、動作領域RB5に対応するロボット10bの動作内容は、動作ポイントP3b〜P4bであり、動作領域RB6に対応するロボット10bの動作内容は、動作ポイントP4b〜P5bであることが演算される。従って、干渉領域RXに進入した後の動作、すなわち、第2進入動作は、動作ポイントP2b’〜P3b、動作ポイントP3b〜P4b及び動作ポイントP4b〜P5bであることが特定される。また、干渉領域RXに干渉しない動作、すなわち、干渉領域RXに進入する前の第1進入動作は、動作ポイントP0b〜P1b,P1b〜P2b,P2b〜P2b’であることが特定される。そして、図5(b)に示すように、ロボット10bの動作順、動作符号、動作内容に対応する第1進入動作と第2進入動作が動作テーブル40bとして作成される。
また、ロボット10aの場合と同様に、第1進入動作と第2進入動作の間に、ロボット10bの動作を切り替えるフラグFgが設定される。本実施形態では、第1進入動作の動作ポイントP2b〜P2b’と第2進入動作の動作ポイントP2b’〜P3bとの間にフラグFgを設ける。さらに、本実施形態では、第2進入動作の動作ポイントP2b’〜P3bの手前の動作となる第1進入動作の動作ポイントP2b〜P2b’にインデックスIdxを付与する。
次に、進入動作割当て部26の機能について説明する。進入動作割当て部26では、各ロボット10a,10bの第2進入動作を比較し、第2進入動作が相互に干渉しないように、第2進入動作の順番を割り当てる機能を有する。本実施形態では、各ロボット10a,10bの干渉領域RXにおける動作領域を比較して、当該動作領域が相互に干渉しないように、第2進入動作の順番を割り当てる。
まず、図6(a),(b)に示すように、動作区分け部25において作成された動作テーブル40a,40bからロボット10a,10bのそれぞれの第2進入動作を抽出し、第2進入動作テーブル50a,50bを作成する。第2進入動作テーブル50a,50bには、各ロボット10a,10bの動作順番、動作符号、動作内容、動作領域等が含まれる。
そして、ロボット10aの動作領域RA3,RA4と、ロボット10bの動作領域RB4,RB5,RB6とをそれぞれ比較して、動作領域が重複する動作領域を特定する。例えば、図7に示すように、動作領域RA3は、動作領域RB5,RB6と重複し、動作領域RA4は、動作領域RB4,RB5,RB6と重複する。但し、ロボット10aの動作領域RA3とロボット10bの動作領域RB4は、干渉領域RXにおいて、ロボット10a,10bの動作プログラムの動作順番によっては、相互に干渉しない。そして、各ロボット10a,10bの動作順番に関連付けて比較が行われ、順次、動作順番が割り当てられる。図6(c)では、動作順番が割り当てられた動作順番テーブル60を示している。動作順番テーブル60は、ロボット10aが先に干渉領域RXに進入した場合に、まず、ロボット10aの動作順番が優先して設定される。そして、ロボット10aの動作領域RA3,RA4に対して、ロボット10bの動作領域RB4,RB5,RB6を比較し、相互に干渉しない組み合わせを検索し、検索結果から、動作順番に従って、ロボット10bの動作順番が設定される。
ここで、動作順番テーブル60の動作順番4におけるロボット10a,10bの動作内容について説明する。図6に示すように、ロボット10aは、動作ポイントP3aから動作ポイントP2aに動作する状態である。また、ロボット10bは、動作ポイントP2b’から動作ポイントP3bに動作する状態である。このような場合には、相互の動作が干渉しないので、動作順番4に並行して設定される。
次に、ロボット制御方法について説明する。図8〜10は、ロボット制御方法を示すフローチャートである。図8は、ロボット10が動作する前の前処理方法を示し、図9は、ロボット10の動作方法を示し、図10は、ロボット10の動作割当て方法を示している。
まず、ロボット10が動作する前の前処理方法について説明する。
図8において、ステップS1では、ロボット10a,10bの動作領域RA,RBを演算する。具体的には、図3(a),(b)に示したように、例えば、各ロボット10a,10bの動作プログラムA,Bに基づく動作を座標上に展開し、ロボット10a,10b毎の動作領域RA,RBを演算する。
ステップS2では、ロボット10a,10bの干渉領域RXを演算する。例えば、図3(c)に示したように、ロボット10a,10bの配置を座標上に展開するとともに、配置されたロボット10a,10bの動作領域RA,RBに基づいて、動作領域RA,RBが互いに干渉する領域を干渉領域RXとして演算する。
ステップS3では、干渉領域があるか否かを判断する。干渉領域RXがある(YES)場合には、ステップS4に移行し、干渉領域RXがない(NO)場合には、終了する。
ステップS4では、ロボット10a,10bの進入動作を区分けする。具体的には、図4に示したように、各ロボット10a,10bの動作から干渉領域RXに進入する進入動作を抽出し、当該進入動作を、干渉領域RXに進入する前の第1進入動作と、干渉領域RXに進入した後の動作を含む第2進入動作とに区分けする。
ステップS5では、第2進入動作に対して分割可能か否かを判断する。具体的には、図5(b)に示したように、第2進入動作の一部に干渉領域RXに進入する前の動作が含まれている場合、干渉領域RXに進入する前の動作と干渉領域RXに進入した後の動作とに分割することができる。そして、分割可能である(YES)場合には、ステップS6に移行し、分割できない(NO)場合には、ステップS7に移行する。
ステップS6では、第2進入動作を分割する。具体的には、例えば、図5(a),(b)で示したように、ロボット10bの動作ポイントP2b〜P3bに対して、干渉領域RXに進入する前の動作を含む場合に、干渉領域RXを形成する境界で分割し、ロボット10bの動作ポイントP2b〜P3bを動作ポイントP2b〜P2b’,P2b’〜P3bに分割する。
ステップS7では、図4(b)および図5(b)で示したように、第1進入動作と第2進入動作の間に、ロボット10a,10bの実行/停止の切り替えを行うためのフラグを設定する。
ステップS8では、第1進入動作にインデックスを付与する。具体的には、図4(b),図5(b)で示したように、第2進入動作の手前の動作となる第1進入動作にインデックスを付与する。
次に、ロボット10の動作方法について説明する。
図9において、ステップS11では、動作プログラムを実行する。
ステップS12では、干渉領域RXに進入する動作か否かを判断する。干渉領域RXに進入する動作(YES)の場合には、ステップS13に移行し、干渉領域RXに進入しない動作(NO)の場合には、ステップS15に移行する。
ステップS13では、動作順番の割当て処理を行う。具体的には、干渉領域RXにおけるロボット10a,10bの動作が相互に干渉しないように、動作順番を割り当てる。
ステップS14では、フラグを解除する。これにより、ロボット10a,10bの干渉領域RXへの進入が許可される。
ステップS15では、ロボット10a,10bの動作を実行する。
次に、上記ステップS13の動作割当て処理方法について説明する。
図10において、ステップS13aでは、第2進入動作の前の動作であるか否かを判断する。本実施形態では、第2進入動作の手前の第1進入動作には、インデックスが付与されているため、当該インデックスが付与された動作か否かを判断する。そして、第2進入動作の前の動作である(YES)場合には、ステップS13bに移行し、第2進入動作の前の動作でない(NO)場合には、スタートに戻る。
ステップS13bでは、優先動作の設定を行う。具体的には、干渉領域RXに進入するロボット10a,10bの動作の優先付けを行う。例えば、ロボット10a,10bの動作プログラムA,Bに基づいて、干渉領域RXに進入するタイミングの速い方の動作を優先して決定する。そして、動作プログラムAに基づくロボット10aの進入動作を優先した場合には、図6(c)の動作順番テーブル60に示すように、まず、ロボット10aの第2進入動作を動作順番1から順に設定する。
ステップS13cでは、各ロボット10a,10bの動作領域を比較する。具体的には、図7に示したように、動作プログラムA,Bの動作順に対応して、先に設定されたロボット10aの第2進入動作の動作領域RA3,RA4と、ロボット10bの動作内容毎の動作領域RB4,RB5,RB6とを比較する。
ステップS13dでは、重複領域があるか否かを判断する。そして、重複領域がない(NO)の場合には、ステップS13eに移行し、重複領域がある(YES)の場合には、ステップS13cに移行する。
ステップS13eでは、図6に示すように、動作割り付けを設定し、干渉領域RXにおけるロボット10a,10bの動作順番テーブル60の作成が完了する。
従って、上記の実施形態によれば、以下に示す効果がある。
(1)干渉領域RXに進入する各ロボット10a,10bの動作と、各ロボット10a,10bの動作毎の動作領域とを関連付けし、干渉領域RXにおいて重複する領域を検索し、動作領域が重複しないように動作順番を割り付けた。そして、割り付けされた動作順番に従ってロボット10a,10bを動作させた。従って、干渉領域RXに一方のロボット10aが進入したとしても、ロボット10aの動作に重複しないようにロボット10bを干渉領域RXで動作させることができる。すなわち、干渉領域RXにおいて、同時期に複数のロボット10a,10bを動作させることができ、作業効率を向上させることができる。
なお、上記の実施形態に限定されるものではなく、以下のような変形例が挙げられる。
(変形例1)上記実施形態では、第2進入動作に干渉領域RXに進入しない動作が含まれていた場合、当該第2進入動作を、干渉領域RXに進入する前の動作と、干渉領域RXに進入した後の動作と、に分割したが、これに限定されない。例えば、第2進入動作に干渉領域RXに進入しない動作が含まれていない場合であっても、当該第2進入動作を複数に分割してもよい。このようにすれば、さらに、干渉領域RXにおけるロボット10a,10bの重複する動作が減少するので、ロボット10a,10bの動作の自由度を高めることができる。
(変形例2)上記実施形態では、主に、産業用ロボットを例に説明したが、これに限定されない。例えば、他の運動体や玩具等にも適用することができる。このようにしても、上記同様の効果を得ることができる。
1…ロボット制御装置、10,10a,10b…ロボット、11a,11b…本体部、12a,12b…アーム部、13a,13b…回転軸、20…統括制御部、21…記憶部、22…動作指令部、23…動作領域演算部、24…干渉領域演算部、25…動作区分け部、26…進入動作割当て部、40a,40b…動作テーブル、50a,50b…第2進入動作テーブル、60…動作順番テーブル、RA,RB,RA1〜RA4,RB1〜RB6…動作領域、RX…干渉領域。
Claims (7)
- 複数のロボットを制御するロボット制御方法であって、
前記ロボットが動作する動作領域を演算する動作領域演算ステップと、
前記動作領域に基づいて、前記ロボット間で前記動作領域が相互に干渉する干渉領域を演算する干渉領域演算ステップと、
前記ロボットの動作から前記干渉領域に進入する進入動作を抽出し、前記進入動作を、前記干渉領域に進入する前の第1進入動作と、前記干渉領域に進入した後の動作を含む第2進入動作と、に区分けする動作区分けステップと、
各前記ロボットの前記第2進入動作同士を比較して、前記第2進入動作が相互に干渉しないように、前記第2進入動作の順番を割り当てる進入動作割当てステップと、を含むことを特徴とするロボット制御方法。 - 請求項1に記載のロボット制御方法において、
前記動作区分けステップでは、
前記第1進入動作と前記第2進入動作の間に、前記ロボットの動作を切り替えるフラグを設定するフラグ設定ステップを有することを特徴とするロボット制御方法。 - 請求項1または2に記載のロボット制御方法において、
前記動作区分けステップでは、
前記第2進入動作の手前の前記第1進入動作にインデックスを付与するインデックス付与ステップを有することを特徴とするロボット制御方法。 - 請求項1〜3のいずれか一項に記載のロボット制御方法において、
前記動作区分けステップでは、
前記第2進入動作を、前記干渉領域に進入する前の動作と、前記干渉領域に進入した後の動作と、に分割する第2進入動作分割ステップを有することを特徴とするロボット制御方法。 - 請求項4に記載のロボット制御方法において、
前記動作区分けステップでは、
前記第2進入動作の前記干渉領域に進入した後の動作を複数分割する進入後動作分割ステップを有することを特徴とするロボット制御方法。 - 請求項1〜5のいずれか一項に記載のロボット制御方法において、
前記進入動作割当てステップでは、
各前記ロボットの前記第2進入動作の前記動作領域同士を比較して、前記動作領域が相互に干渉しないように、前記第2進入動作の順番を割り当てることを特徴とするロボット制御方法。 - 複数のロボットを制御するロボット制御装置であって、
前記ロボットが動作する動作領域を演算する動作領域演算部と、
前記動作領域に基づいて、前記ロボット間で前記動作領域が相互に干渉する干渉領域を演算する干渉領域演算部と、
前記ロボットの動作から前記干渉領域に進入する進入動作を抽出し、前記進入動作を、前記干渉領域に進入する前の第1進入動作と、前記干渉領域に進入した後の動作を含む第2進入動作と、に区分けする動作区分け部と、
各前記ロボットの前記第2進入動作同士を比較して、前記第2進入動作が相互に干渉しないように、前記第2進入動作の順番を割り当てる進入動作割当て部と、を備えたことを特徴とするロボット制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009091839A JP2010240772A (ja) | 2009-04-06 | 2009-04-06 | ロボット制御装置、ロボット制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009091839A JP2010240772A (ja) | 2009-04-06 | 2009-04-06 | ロボット制御装置、ロボット制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010240772A true JP2010240772A (ja) | 2010-10-28 |
Family
ID=43094415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009091839A Withdrawn JP2010240772A (ja) | 2009-04-06 | 2009-04-06 | ロボット制御装置、ロボット制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010240772A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012232408A (ja) * | 2011-05-05 | 2012-11-29 | Fanuc Robotics America Corp | マルチロボットシステムのデッドロックを自動的に防止する方法及びシステム |
JP2013144354A (ja) * | 2012-01-13 | 2013-07-25 | Toyota Motor Engineering & Manufacturing North America Inc | 軌道計画最適化のためのロボット、コンピュータプログラムプロダクト及び方法 |
JP2015000442A (ja) * | 2013-06-14 | 2015-01-05 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットの制御方法 |
JP2017013204A (ja) * | 2015-07-03 | 2017-01-19 | 株式会社デンソーウェーブ | ロボットシステム |
CN108290285A (zh) * | 2015-11-17 | 2018-07-17 | Abb瑞士股份有限公司 | 用于在机器人系统中优化工作周期的方法 |
-
2009
- 2009-04-06 JP JP2009091839A patent/JP2010240772A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012232408A (ja) * | 2011-05-05 | 2012-11-29 | Fanuc Robotics America Corp | マルチロボットシステムのデッドロックを自動的に防止する方法及びシステム |
JP2013144354A (ja) * | 2012-01-13 | 2013-07-25 | Toyota Motor Engineering & Manufacturing North America Inc | 軌道計画最適化のためのロボット、コンピュータプログラムプロダクト及び方法 |
JP2015000442A (ja) * | 2013-06-14 | 2015-01-05 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットの制御方法 |
JP2017013204A (ja) * | 2015-07-03 | 2017-01-19 | 株式会社デンソーウェーブ | ロボットシステム |
CN108290285A (zh) * | 2015-11-17 | 2018-07-17 | Abb瑞士股份有限公司 | 用于在机器人系统中优化工作周期的方法 |
CN108290285B (zh) * | 2015-11-17 | 2021-08-06 | Abb瑞士股份有限公司 | 用于在机器人系统中优化工作周期的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5981215B2 (ja) | マルチロボットシステムのデッドロックを自動的に防止する方法及びシステム | |
US9144904B2 (en) | Method and system for automatically preventing deadlock in multi-robot systems | |
US8315738B2 (en) | Multi-arm robot system interference check via three dimensional automatic zones | |
JP7419001B2 (ja) | マニピュレータの衝突回避のための動作計画方法および装置 | |
JP2010240772A (ja) | ロボット制御装置、ロボット制御方法 | |
US9707681B2 (en) | Anti-collision management of overlapping robotic movements | |
CN109890572B (zh) | 用于无碰撞运动规划的方法 | |
US8843234B2 (en) | Dynamic space check for multi-arm system moving on a rail | |
US9846424B2 (en) | Numerical control apparatus | |
WO2018126354A1 (zh) | 机器人运动轨迹规划方法及相关装置 | |
WO2019141217A1 (zh) | 多移动机器人的冲突管理方法及系统 | |
US20160129596A1 (en) | Flexible Cycle Time-Optimized Sharing of a Working Space for Robots | |
CN108919813A (zh) | 路径冲突处理方法及系统 | |
JP2004001217A (ja) | ロボットと他の物体との衝突を回避する方法と装置 | |
JP2018012159A (ja) | ロボットシステム、ロボットシステムの制御方法、プログラム | |
JP2012216151A (ja) | 干渉回避制御装置 | |
JP5918097B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Maragkos et al. | Virtual reality assisted robot programming for human collaboration | |
CN111687829B (zh) | 基于深度视觉的防碰撞控制方法、装置、介质、及终端 | |
CN106325222A (zh) | 进行基于表形式数据的运行的数值控制装置 | |
CN107520838B (zh) | 机械手臂及其控制方法和装置 | |
JP6997068B2 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
WO2020034887A1 (zh) | 智能体行进路径的确定方法及装置 | |
JP6777516B2 (ja) | 情報処理装置 | |
JP2021192949A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120703 |