(57)【要約】【課題】複数のロボットの干渉（衝突）を回避する。【解決手段】２台のロボット１，２は、作業領域が互いに重なり合う領域を共有領域Ｂとして記憶している。また、２台のロボット１，２は互いに通信して互いの現在位置、その現在位置で制動をかけたとしたときの停止位置の情報を交換している。各ロボット１，２は、現在位置で制動を掛けたときの停止位置が共有領域内に進入すると判断したとき、相手のロボットが共有領域に位置し、または制動をかけたとしたときの停止位置が共有領域になると判断した場合、自身に制動をかけて停止し、共有領域内に進入する状態となることを回避する。【選択図】図１
2007144524.tif 000002
【特許請求の範囲】
【請求項１】
作業領域を共有する複数のロボットの干渉を回避する方法において、
前記複数のロボットに作業領域が互いに重なり合う共有領域を設定しておき、
前記各ロボットは、現時点で制動を開始したと仮定したときの停止位置を逐次演算し、
その停止位置が前記共有領域内で、且つ他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされたとき、実際に制動を開始して動作を停止させ、前記他のロボットとの干渉を回避するようにしてなるロボットの干渉回避方法。
【請求項２】
他のロボットと作業領域を共有するロボットにおいて、
ロボット本体と、
このロボット本体の動作を制御する制御手段と、
前記他のロボットと作業領域が重なり合う領域を共有領域として記憶する記憶手段と、
前記他のロボットと通信する通信手段と
を具備し、
前記制御手段は、更に、
現時点において制動を開始したと仮定したときの停止位置を逐次演算する停止位置演算手段と、
前記停止位置演算手段による停止位置が前記記憶手段に記憶された前記共有領域内で、且つ前記他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または前記他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされた時、緊急制動を開始する緊急制動開始手段と
を有することを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のロボットが作業領域を共有する場合にそれら複数のロボットの干渉を回避する方法および干渉を回避できるロボットに関する。
に関する。
【背景技術】
【０００２】
複数のロボットが互いに接近して配置された場合、それらロボットが作業領域を共有することがある。例えば、前後２工程の作業を行う２台のロボットが互いに接近して配置され、前工程を担うロボットが作業を終えたワークをパレットに収納し、次工程を担うロボットがそのパレットからワークを把持して次工程の作業を行うような場合、その２台のロボットは作業領域の一部をパレット部分において共有する。このように互いに重なり合う作業領域を有する複数台のロボットは、その重なり合う領域（以下、共有領域という。）において互いに干渉する恐れがある。
【０００３】
共有領域での干渉を回避する方法として、特許文献１に開示された方法がある。これは、ロボットどうしではないが、ロボットと外部機器との共有領域での干渉を回避するために、予めロボットと外部機器に共有領域を設定しておき、外部機器とロボットのどちらか一方が共有領域にある場合には、他方に対して共有領域への進入を禁止する進入禁止信号を出力して動作を停止させるようにしている。
【特許文献１】特開平１０−３３０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された干渉回避方法を２台のロボットに適用すると、一方のロボットが共有領域に進入すると、当該一方のロボットが他方のロボットに対して進入禁止信号を出力してその動作を停止させる、ということとなる。
しかしながら、進入禁止信号を受けたロボットは、直ちに制動を開始したとしても、その時点で瞬時停止できるわけではなく、慣性によって停止するまでにある距離移動する。この制動開始から停止するまでのロボットの移動距離（以下、制動距離という。）は、ロボットのアームの重量やその時の速度によって異なるが、進入禁止信号を受けた位置が共有領域近くであった場合には、停止位置が共有領域内に大きく入り込んでしまう場合もあり、干渉回避に万全を期すことができない。
【０００５】
本発明は上記の事情に鑑みてなされたもので、その目的は、複数のロボットのうち1のロボットが共有領域内にある場合、他のロボットを共有領域内に進入させることなく、仮に進入したとしてもごく僅かに進入したところで停止させることができるロボットの干渉回避方法およびロボットを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１の発明は、作業領域を共有する複数のロボットの干渉を回避する方法において、前記複数のロボットに作業領域が互いに重なり合う共有領域を設定しておき、前記各ロボットは、現時点で制動を開始したと仮定したときの停止位置を逐次演算し、その停止位置が前記共有領域内で、且つ他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされたとき、実際に制動を開始して動作を停止させ、前記他のロボットとの干渉を回避するようにしてなるロボットの干渉回避方法にある。
【０００７】
また、請求項２の発明は、他のロボットと作業領域を共有するロボットにおいて、ロボット本体と、このロボット本体の動作を制御する制御手段と、前記他のロボットと作業領域が重なり合う領域を共有領域として記憶する記憶手段と、前記他のロボットと通信する通信手段とを具備し、前記制御手段は、更に、現時点において制動を開始したと仮定したときの停止位置を逐次演算する停止位置演算手段と、前記停止位置演算手段による停止位置が前記記憶手段に記憶された前記共有領域内で、且つ前記他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または前記他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされた時、緊急制動を開始する緊急制動開始手段とを有することを特徴とするロボットにある。
【０００８】
上記ロボットの干渉回避方法およびロボットによれば、各ロボットは、現時点の速度を加味した制動距離を逐次演算しており、現在位置で制動を開始したと仮定してその停止位置が共有領域内になった時、他のロボットが共有領域にいるか、または、他のロボットが現時点で制動を開始したと仮定したとき、その停止位置が共有領域内になるとされると、その時点で実際に制動を開始して動作停止を行うので、他のロボットが共有領域内にあるときに、別のロボットが共有領域内に進入することはなく、また、仮に進入してもごく僅かであるので、複数のロボットが共有領域内で干渉することをより確実に回避できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施形態を図面に基いて説明する。この実施形態では、図５に示すように、２台のロボット１，２が互いに接近して配置され、それら２台のロボットのうち、第１のロボット１が前工程作業を行い、第２のロボット２が後工程作業を行うものとする。そして、第１のロボット１は、作業台３で前工程作業を行い、その作業終了後、作業対象物であるワーク４をパレット５に収納し、第２のロボット２は、パレット５からワーク４を把持して作業台６にて次工程作業を行うものとする。このような２台のロボット１，２において、それらの作業領域Ａ１，Ａ２は、その一部領域、この実施形態ではパレット５部分において互いに重なり合っている。この重なり合う領域は、２台のロボット１，２の共有領域Ｂ（図５にハッチングをして示す領域）である。
【００１０】
第１および第２のロボット１および２は同一構成のもので、図３に示すように、ロボット本体７、制御装置８およびティーチングペンダント９からなる。ロボット本体７は、例えば６軸の垂直多関節型のもので、床に固定されたベース１０と、このベース１０に水平方向に旋回可能に支持されたショルダ部１１と、このショルダ部１１に上下方向に旋回可能に支持された下アーム１２と、この下アーム１２に上下方向に旋回可能に支持された第１の上アーム１３と、この第１の上アーム１３の先端部に捻り回転可能に支持された第２の上アーム１４と、この第２の上アーム１４に上下方向に回転可能に支持された手首１５と、この手首１５に回転（捻り動作）可能に支持されたフランジ１６とから構成されている。上記のベース１０を含め、ショルダ部１１、下アーム１２、第１の上アーム１３、第２の上アーム１４、手首１５、フランジ１６は、ロボットにおけるリンクとして機能する。そして、ワーク４を把持するハンド１７（図１、図５参照）は、最先端のリンクであるフランジ１６に取り付けられている。
【００１１】
一方、前記制御装置８は、図４に示すように、制御手段としてのＣＰＵ１８、駆動回路１９、位置検出手段としての位置検出回路２０を備えている。そして、上記ＣＰＵ１８には、記憶手段として、ロボット全体のシステムプログラムおよび動作プログラムを作成するためのロボット言語などを記憶するＲＯＭ２１と、垂直多関節型ロボット２の動作プログラムなどを記憶するＲＡＭ２２とが接続されていると共に、ティーチング作業を行なう際に使用する前記ティーチングペンダント９および他のロボットと通信して当該他のロボットの現在位置情報を取得する通信手段としての通信回路２３が接続されている。
【００１２】
上記位置検出回路２０は、ベース１０を除く各リンク１１〜１６の位置を検出するためのもので、この位置検出回路２０には、各リンク１１〜１６の駆動源であるモータ２４に設けられた位置センサとしてのロータリエンコーダ２５が接続されている。上記位置検出回路２０は、ロータリエンコーダ２５の検出信号によってベース１０に対するショルダ部１１の回転角度、ショルダ部１１に対する下アーム１２の回転角度、下アーム１２に対する第１の上アーム１３の回転角度、第１の上アーム１３に対する第２の上アーム１４の回転角度、第２の上アーム１４に対する手首１５の回転角度、および手首１５に対するフランジ１６の回転角度を検出し、その位置検出情報はＣＰＵ１８に与えられる。
【００１３】
そして、ＣＰＵ１８は、動作プログラムに基づいてショルダ部１１、各アーム１２〜１４、手首１５およびフランジ１６を動作させる際、位置検出回路２０からの入力信号をフィードバック信号としてそれらの動作を制御するようになっている。なお、図４では、モータ２４およびロータリエンコーダ２５は１個のみ示すが、実際には、ベース１０を除く各リンク１１〜１６に対して一対一の関係で複数設けられているものである。
【００１４】
各モータ２４は、ベース１０を除く各リンク１１〜１６の駆動源であると共に、回生制動、或いは逆転トルク制動（逆転トルクを発生して制動する。）によって各リンク１１〜１６を制動する制動手段としても機能する。そして、各リンク１１〜１６の質量が既知であり、またモータ２４の回転速度から所望時点での各リンク１１〜１６の速度を検出可能であることから、所望の時点で制動の開始から停止までの間に各リンク１１〜１６およびハンド１７が移動する距離（制動距離、図１にハンド１７の制動距離をＳで示した。）を演算することができるようになっている。
【００１５】
ロボット１，２に、ロボット本体７が行う作業内容を記憶させるためのティーチングは、ティーチングペンダント９を用いてハンド１７を所望する複数の目標点に移動させ且つ各目標点でハンド１７に所望の姿勢を取らせることによって行われる。ティーチングによって定められたハンド１７の目標点とハンド１７の姿勢、即ちフランジ１６の目標位置と姿勢、およびフランジ１６にその目標点と姿勢を取らせるための各リンク１１〜１６の位置と姿勢は、制御装置８のＲＡＭ２２に記憶される。本実施形態でのティーチングは、各ロボット１，２について作業台３，６での作業、作業台３，６とパレット５との間でのワーク４の搬送作業である。また、本実施形態では、ティーチング時に、２台のロボット１，２の作業領域Ａ１，Ａ２が重なり合う前記共有領域Ｂを、２台のロボット１，２のＲＡＭ２２に記憶させておく。
【００１６】
さて、２台のロボット１，２に前工程作業および後工程作業を行わせるためにティーチングした作業を実行させると、各制御装置８のＣＰＵ１８は、各モータ２４に動作指令を所定の時間間隔で逐次出力して各リンク１１〜１６を動作指令毎の目標位置に移動するように制御する。そして、第１のロボット１は、前工程作業を終えたワーク４をパレット５に収容し、次のワーク４を前工程処理するために前工程の作業台６に戻る。一方、第２のロボット２は、後工程作業を行うためにパレット５からワーク４を取り出して後工程の作業台６に搬送し、後工程作業を終えると、ワーク４を次工程に送った後、新たに後工程作業を施すためのワーク４をパレット５に取りに行く。
【００１７】
以上のような作業を繰り返し行う両ロボット１，２にあっては、第１のロボット１がパレット５にワーク４を収納し、第２のロボット２がパレット５からワーク４を取り出すとき、場合によっては両ロボット１，２が同時に干渉領域Ｂ内に進入しようとすることがある。本実施形態では、各ロボット１，２が有する干渉回避機能によって実際に２台のロボット１，２が同時に干渉領域Ｂ内に進入することはない。この干渉回避機能について、図２のフローチャートをも参照しながら説明する。
【００１８】
両ロボット１，２において、その制御装置８のＣＰＵ１８は、前述のように短時間毎に各モータ２４に動作指令を出力し、各リンク１１〜１６が現在位置（前回の動作指令における目標位置）から今回の動作指令による目標位置に移動するように制御する。このようなＣＰＵ１８の制御動作によって各ロボット１，２のロボット本体７はティーチングされた動作を継続する（ステップＳ１）。
【００１９】
各ＣＰＵ１８は、短時間毎にハンド１７の現在位置を検出すると共に、現時点で制動を開始したと仮定した場合の各リンク１１〜１６とハンド１７（以下、単にロボット本体７という。）の制動距離を各リンク１１〜１６やハンド１７の質量および速度に基づいて計算し、現在位置と制動距離とからロボット本体７の停止位置を求める（ステップＳ２：停止位置演算手段）。そして、各ＣＰＵ１８は、ロボット本体７の停止位置と共有領域Ｂとの間の距離を演算する（ステップＳ３）。
【００２０】
次いで、ＣＰＵ１８は、ロボット本体７の停止位置と共有領域Ｂとの間の距離に基づいて、ロボット本体７の停止位置が共有領域Ｂ内であるか否かを判断し（ステップＳ３：共有領域内停止判断手段）、停止位置が共有領域Ｂ外であった場合（ステップＳ４で「ＮＯ」）、そのまま動作を継続する。この場合、本実施形態では、制動距離Ｓを求めるための制動力は、後述する緊急制動の際の制動力よりもやや弱い制動力とする。
【００２１】
そして、動作継続によってロボット本体７が共有領域Ｂの近くまで移動すると、やがて、制動をかけたと仮定したときのロボット本体７の停止位置が共有領域Ｂ内に進入した位置となるようになる。すると、ＣＰＵ１８は、ステップＳ４で「ＹＥＳ」と判断し、次いで通信回路２３を介する他のロボット（第１のロボット１にあっては第２のロボット２、第２のロボット２にあっては第１のロボット１）との通信によって当該他のロボットの現在位置、およびその位置で制動を開始した場合に他のロボットのロボット本体７が停止する位置を検出する（ステップＳ５）。
【００２２】
次いで、ＣＰＵ１８は、検出した他のロボットのロボット本体７の現在位置、或いは制動を開始したと仮定したときのロボット本体７の停止位置が共有領域Ｂ内であるか否かを判断する（ステップＳ６）。他のロボットのロボット本体７の現在位置または停止位置が共有領域Ｂ内になければ（ステップＳ６で「ＮＯ」）、ＣＰＵ１８は、動作指令を継続して出力し、ロボット本体７の動作を継続させる。これにより、ロボット本体７は、共有領域Ｂに進入してパレット５にワーク４を収納し、またはパレット５からワーク４を取り出す作業を行い、その後、共有領域Ｂ外へ移動する（ステップＳ７〜ステップＳ９）。
【００２３】
一方、制動を開始したと仮定したときのロボット本体７の停止位置が共有領域Ｂ内となる場合、他のロボットのロボット本体７の現在位置または制動を開始したと仮定したときのロボット本体７の停止位置が共有領域Ｂ内となる場合がある。この場合には、ＣＰＵ１８は、ステップＳ６で「ＹＥＳ」と判断してステップＳ１０へ移行し、例えばモータ２４に逆転トルクを発生させるなどして緊急制動をかける（ステップＳ１０：緊急制動開始手段）。この緊急制動は、前述してきた仮定での制動の場合よりも強い制動力で行われるものとし、ロボット本体７の制動距離も前述してきた仮定での制動時における制動距離Ｓよりも短い。
【００２４】
この緊急制動によりロボット本体７は、ロボット本体７が共有領域Ｂに進入する直前で停止し、他のロボットが共有領域Ｂから退出するのを待つ（ステップＳ１１で「ＮＯ」）。そして、他のロボットが共有領域Ｂでの作業を終え、当該共有領域Ｂから退出すると、ＣＰＵ１８は、これを通信回路２３を介する他のロボットとの通信により検出し（ステップＳ１１で「ＹＥＳ」）、動作を再開する（ステップＳ１２）。これにより、ロボット本体７は、共有領域Ｂ内へ進入して当該共有領域Ｂでの作業を実行し、その作業の終了と共に共有領域Ｂ外へと退出する（ステップＳ７〜９）。
【００２５】
このように本実施例によれば、制動を開始したと仮定してその停止位置が共有領域Ｂ内となったとき、他のロボットの現在位置が共有領域Ｂ内であったり、他のロボットが制動をかけたと仮定したときの停止位置が共有領域Ｂ内であったりした場合には、その時点で制動をかけてロボット本体７を停止させるので、２台のロボット１，２が共に共有領域内に進入して衝突するといった不具合の発生を未然に防止することができる。
【００２６】
なお、本発明は上記し且つ図面に示す実施例に限定されるものではなく、以下のような拡張或いは変更が可能である。
緊急制動は、制動したと仮定したときの制動距離を演算する場合の制動力と同等の制動力で行っても良い。この場合には、ロボット本体７は、共有領域Ｂ内に進入したところで停止する蓋然性が強いが、共有領域Ｂ内への進入量は僅かであるから、他のロボットとの干渉（衝突）は回避できる。
【００２７】
ステップＳ６の他のロボットの現在位置と制動を開始したと仮定したときのロボット本体の停止位置を検出する場合、現在位置は他のロボットから通信により取得するとして、ロボット本体の停止距離は他のロボットから各リンクの速度などを通信により取得して演算によって求めるようにしても良い。
【００２８】
ロボットは２台に限らない。３台以上であっても良い。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態を示すもので、干渉回避時における２台のロボットの状態を示す該略的な平面図
【図２】干渉回避のための制御内容を示すフローチャート
【図３】２台のロボットを示す斜視図
【図４】ロボットの電気的構成を示すブロック図
【図５】２台のロボットの作業内容を説明するための概略的な平面図
【符号の説明】
【００３０】
図面中、１，２はロボット、７はロボット本体、８は制御装置、１１〜１６はリンク、１７はハンド、１８はＣＰＵ（制御手段、停止位置演算手段、緊急制動開始手段）、２２はＲＡＭ（記憶手段）、２４は通信回路（通信手段）である。
【図１】
2007144524.tif 000003
【図２】
2007144524.tif 000004
【図３】
2007144524.tif 000005
【図４】
2007144524.tif 000006
【図５】
2007144524.tif 000007