説明

ロボットの干渉回避方法およびロボット

【課題】複数のロボットの干渉(衝突)を回避する。
【解決手段】2台のロボット1,2は、作業領域が互いに重なり合う領域を共有領域Bとして記憶している。また、2台のロボット1,2は互いに通信して互いの現在位置、その現在位置で制動をかけたとしたときの停止位置の情報を交換している。各ロボット1,2は、現在位置で制動を掛けたときの停止位置が共有領域内に進入すると判断したとき、相手のロボットが共有領域に位置し、または制動をかけたとしたときの停止位置が共有領域になると判断した場合、自身に制動をかけて停止し、共有領域内に進入する状態となることを回避する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のロボットが作業領域を共有する場合にそれら複数のロボットの干渉を回避する方法および干渉を回避できるロボットに関する。
に関する。
【背景技術】
【0002】
複数のロボットが互いに接近して配置された場合、それらロボットが作業領域を共有することがある。例えば、前後2工程の作業を行う2台のロボットが互いに接近して配置され、前工程を担うロボットが作業を終えたワークをパレットに収納し、次工程を担うロボットがそのパレットからワークを把持して次工程の作業を行うような場合、その2台のロボットは作業領域の一部をパレット部分において共有する。このように互いに重なり合う作業領域を有する複数台のロボットは、その重なり合う領域(以下、共有領域という。)において互いに干渉する恐れがある。
【0003】
共有領域での干渉を回避する方法として、特許文献1に開示された方法がある。これは、ロボットどうしではないが、ロボットと外部機器との共有領域での干渉を回避するために、予めロボットと外部機器に共有領域を設定しておき、外部機器とロボットのどちらか一方が共有領域にある場合には、他方に対して共有領域への進入を禁止する進入禁止信号を出力して動作を停止させるようにしている。
【特許文献1】特開平10−3308号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された干渉回避方法を2台のロボットに適用すると、一方のロボットが共有領域に進入すると、当該一方のロボットが他方のロボットに対して進入禁止信号を出力してその動作を停止させる、ということとなる。
しかしながら、進入禁止信号を受けたロボットは、直ちに制動を開始したとしても、その時点で瞬時停止できるわけではなく、慣性によって停止するまでにある距離移動する。この制動開始から停止するまでのロボットの移動距離(以下、制動距離という。)は、ロボットのアームの重量やその時の速度によって異なるが、進入禁止信号を受けた位置が共有領域近くであった場合には、停止位置が共有領域内に大きく入り込んでしまう場合もあり、干渉回避に万全を期すことができない。
【0005】
本発明は上記の事情に鑑みてなされたもので、その目的は、複数のロボットのうち1のロボットが共有領域内にある場合、他のロボットを共有領域内に進入させることなく、仮に進入したとしてもごく僅かに進入したところで停止させることができるロボットの干渉回避方法およびロボットを提供することにある。
【課題を解決するための手段】
【0006】
請求項1の発明は、作業領域を共有する複数のロボットの干渉を回避する方法において、前記複数のロボットに作業領域が互いに重なり合う共有領域を設定しておき、前記各ロボットは、現時点で制動を開始したと仮定したときの停止位置を逐次演算し、その停止位置が前記共有領域内で、且つ他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされたとき、実際に制動を開始して動作を停止させ、前記他のロボットとの干渉を回避するようにしてなるロボットの干渉回避方法にある。
【0007】
また、請求項2の発明は、他のロボットと作業領域を共有するロボットにおいて、ロボット本体と、このロボット本体の動作を制御する制御手段と、前記他のロボットと作業領域が重なり合う領域を共有領域として記憶する記憶手段と、前記他のロボットと通信する通信手段とを具備し、前記制御手段は、更に、現時点において制動を開始したと仮定したときの停止位置を逐次演算する停止位置演算手段と、前記停止位置演算手段による停止位置が前記記憶手段に記憶された前記共有領域内で、且つ前記他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または前記他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされた時、緊急制動を開始する緊急制動開始手段とを有することを特徴とするロボットにある。
【0008】
上記ロボットの干渉回避方法およびロボットによれば、各ロボットは、現時点の速度を加味した制動距離を逐次演算しており、現在位置で制動を開始したと仮定してその停止位置が共有領域内になった時、他のロボットが共有領域にいるか、または、他のロボットが現時点で制動を開始したと仮定したとき、その停止位置が共有領域内になるとされると、その時点で実際に制動を開始して動作停止を行うので、他のロボットが共有領域内にあるときに、別のロボットが共有領域内に進入することはなく、また、仮に進入してもごく僅かであるので、複数のロボットが共有領域内で干渉することをより確実に回避できる。
【発明を実施するための最良の形態】
【0009】
以下、本発明の一実施形態を図面に基いて説明する。この実施形態では、図5に示すように、2台のロボット1,2が互いに接近して配置され、それら2台のロボットのうち、第1のロボット1が前工程作業を行い、第2のロボット2が後工程作業を行うものとする。そして、第1のロボット1は、作業台3で前工程作業を行い、その作業終了後、作業対象物であるワーク4をパレット5に収納し、第2のロボット2は、パレット5からワーク4を把持して作業台6にて次工程作業を行うものとする。このような2台のロボット1,2において、それらの作業領域A1,A2は、その一部領域、この実施形態ではパレット5部分において互いに重なり合っている。この重なり合う領域は、2台のロボット1,2の共有領域B(図5にハッチングをして示す領域)である。
【0010】
第1および第2のロボット1および2は同一構成のもので、図3に示すように、ロボット本体7、制御装置8およびティーチングペンダント9からなる。ロボット本体7は、例えば6軸の垂直多関節型のもので、床に固定されたベース10と、このベース10に水平方向に旋回可能に支持されたショルダ部11と、このショルダ部11に上下方向に旋回可能に支持された下アーム12と、この下アーム12に上下方向に旋回可能に支持された第1の上アーム13と、この第1の上アーム13の先端部に捻り回転可能に支持された第2の上アーム14と、この第2の上アーム14に上下方向に回転可能に支持された手首15と、この手首15に回転(捻り動作)可能に支持されたフランジ16とから構成されている。上記のベース10を含め、ショルダ部11、下アーム12、第1の上アーム13、第2の上アーム14、手首15、フランジ16は、ロボットにおけるリンクとして機能する。そして、ワーク4を把持するハンド17(図1、図5参照)は、最先端のリンクであるフランジ16に取り付けられている。
【0011】
一方、前記制御装置8は、図4に示すように、制御手段としてのCPU18、駆動回路19、位置検出手段としての位置検出回路20を備えている。そして、上記CPU18には、記憶手段として、ロボット全体のシステムプログラムおよび動作プログラムを作成するためのロボット言語などを記憶するROM21と、垂直多関節型ロボット2の動作プログラムなどを記憶するRAM22とが接続されていると共に、ティーチング作業を行なう際に使用する前記ティーチングペンダント9および他のロボットと通信して当該他のロボットの現在位置情報を取得する通信手段としての通信回路23が接続されている。
【0012】
上記位置検出回路20は、ベース10を除く各リンク11〜16の位置を検出するためのもので、この位置検出回路20には、各リンク11〜16の駆動源であるモータ24に設けられた位置センサとしてのロータリエンコーダ25が接続されている。上記位置検出回路20は、ロータリエンコーダ25の検出信号によってベース10に対するショルダ部11の回転角度、ショルダ部11に対する下アーム12の回転角度、下アーム12に対する第1の上アーム13の回転角度、第1の上アーム13に対する第2の上アーム14の回転角度、第2の上アーム14に対する手首15の回転角度、および手首15に対するフランジ16の回転角度を検出し、その位置検出情報はCPU18に与えられる。
【0013】
そして、CPU18は、動作プログラムに基づいてショルダ部11、各アーム12〜14、手首15およびフランジ16を動作させる際、位置検出回路20からの入力信号をフィードバック信号としてそれらの動作を制御するようになっている。なお、図4では、モータ24およびロータリエンコーダ25は1個のみ示すが、実際には、ベース10を除く各リンク11〜16に対して一対一の関係で複数設けられているものである。
【0014】
各モータ24は、ベース10を除く各リンク11〜16の駆動源であると共に、回生制動、或いは逆転トルク制動(逆転トルクを発生して制動する。)によって各リンク11〜16を制動する制動手段としても機能する。そして、各リンク11〜16の質量が既知であり、またモータ24の回転速度から所望時点での各リンク11〜16の速度を検出可能であることから、所望の時点で制動の開始から停止までの間に各リンク11〜16およびハンド17が移動する距離(制動距離、図1にハンド17の制動距離をSで示した。)を演算することができるようになっている。
【0015】
ロボット1,2に、ロボット本体7が行う作業内容を記憶させるためのティーチングは、ティーチングペンダント9を用いてハンド17を所望する複数の目標点に移動させ且つ各目標点でハンド17に所望の姿勢を取らせることによって行われる。ティーチングによって定められたハンド17の目標点とハンド17の姿勢、即ちフランジ16の目標位置と姿勢、およびフランジ16にその目標点と姿勢を取らせるための各リンク11〜16の位置と姿勢は、制御装置8のRAM22に記憶される。本実施形態でのティーチングは、各ロボット1,2について作業台3,6での作業、作業台3,6とパレット5との間でのワーク4の搬送作業である。また、本実施形態では、ティーチング時に、2台のロボット1,2の作業領域A1,A2が重なり合う前記共有領域Bを、2台のロボット1,2のRAM22に記憶させておく。
【0016】
さて、2台のロボット1,2に前工程作業および後工程作業を行わせるためにティーチングした作業を実行させると、各制御装置8のCPU18は、各モータ24に動作指令を所定の時間間隔で逐次出力して各リンク11〜16を動作指令毎の目標位置に移動するように制御する。そして、第1のロボット1は、前工程作業を終えたワーク4をパレット5に収容し、次のワーク4を前工程処理するために前工程の作業台6に戻る。一方、第2のロボット2は、後工程作業を行うためにパレット5からワーク4を取り出して後工程の作業台6に搬送し、後工程作業を終えると、ワーク4を次工程に送った後、新たに後工程作業を施すためのワーク4をパレット5に取りに行く。
【0017】
以上のような作業を繰り返し行う両ロボット1,2にあっては、第1のロボット1がパレット5にワーク4を収納し、第2のロボット2がパレット5からワーク4を取り出すとき、場合によっては両ロボット1,2が同時に干渉領域B内に進入しようとすることがある。本実施形態では、各ロボット1,2が有する干渉回避機能によって実際に2台のロボット1,2が同時に干渉領域B内に進入することはない。この干渉回避機能について、図2のフローチャートをも参照しながら説明する。
【0018】
両ロボット1,2において、その制御装置8のCPU18は、前述のように短時間毎に各モータ24に動作指令を出力し、各リンク11〜16が現在位置(前回の動作指令における目標位置)から今回の動作指令による目標位置に移動するように制御する。このようなCPU18の制御動作によって各ロボット1,2のロボット本体7はティーチングされた動作を継続する(ステップS1)。
【0019】
各CPU18は、短時間毎にハンド17の現在位置を検出すると共に、現時点で制動を開始したと仮定した場合の各リンク11〜16とハンド17(以下、単にロボット本体7という。)の制動距離を各リンク11〜16やハンド17の質量および速度に基づいて計算し、現在位置と制動距離とからロボット本体7の停止位置を求める(ステップS2:停止位置演算手段)。そして、各CPU18は、ロボット本体7の停止位置と共有領域Bとの間の距離を演算する(ステップS3)。
【0020】
次いで、CPU18は、ロボット本体7の停止位置と共有領域Bとの間の距離に基づいて、ロボット本体7の停止位置が共有領域B内であるか否かを判断し(ステップS3:共有領域内停止判断手段)、停止位置が共有領域B外であった場合(ステップS4で「NO」)、そのまま動作を継続する。この場合、本実施形態では、制動距離Sを求めるための制動力は、後述する緊急制動の際の制動力よりもやや弱い制動力とする。
【0021】
そして、動作継続によってロボット本体7が共有領域Bの近くまで移動すると、やがて、制動をかけたと仮定したときのロボット本体7の停止位置が共有領域B内に進入した位置となるようになる。すると、CPU18は、ステップS4で「YES」と判断し、次いで通信回路23を介する他のロボット(第1のロボット1にあっては第2のロボット2、第2のロボット2にあっては第1のロボット1)との通信によって当該他のロボットの現在位置、およびその位置で制動を開始した場合に他のロボットのロボット本体7が停止する位置を検出する(ステップS5)。
【0022】
次いで、CPU18は、検出した他のロボットのロボット本体7の現在位置、或いは制動を開始したと仮定したときのロボット本体7の停止位置が共有領域B内であるか否かを判断する(ステップS6)。他のロボットのロボット本体7の現在位置または停止位置が共有領域B内になければ(ステップS6で「NO」)、CPU18は、動作指令を継続して出力し、ロボット本体7の動作を継続させる。これにより、ロボット本体7は、共有領域Bに進入してパレット5にワーク4を収納し、またはパレット5からワーク4を取り出す作業を行い、その後、共有領域B外へ移動する(ステップS7〜ステップS9)。
【0023】
一方、制動を開始したと仮定したときのロボット本体7の停止位置が共有領域B内となる場合、他のロボットのロボット本体7の現在位置または制動を開始したと仮定したときのロボット本体7の停止位置が共有領域B内となる場合がある。この場合には、CPU18は、ステップS6で「YES」と判断してステップS10へ移行し、例えばモータ24に逆転トルクを発生させるなどして緊急制動をかける(ステップS10:緊急制動開始手段)。この緊急制動は、前述してきた仮定での制動の場合よりも強い制動力で行われるものとし、ロボット本体7の制動距離も前述してきた仮定での制動時における制動距離Sよりも短い。
【0024】
この緊急制動によりロボット本体7は、ロボット本体7が共有領域Bに進入する直前で停止し、他のロボットが共有領域Bから退出するのを待つ(ステップS11で「NO」)。そして、他のロボットが共有領域Bでの作業を終え、当該共有領域Bから退出すると、CPU18は、これを通信回路23を介する他のロボットとの通信により検出し(ステップS11で「YES」)、動作を再開する(ステップS12)。これにより、ロボット本体7は、共有領域B内へ進入して当該共有領域Bでの作業を実行し、その作業の終了と共に共有領域B外へと退出する(ステップS7〜9)。
【0025】
このように本実施例によれば、制動を開始したと仮定してその停止位置が共有領域B内となったとき、他のロボットの現在位置が共有領域B内であったり、他のロボットが制動をかけたと仮定したときの停止位置が共有領域B内であったりした場合には、その時点で制動をかけてロボット本体7を停止させるので、2台のロボット1,2が共に共有領域内に進入して衝突するといった不具合の発生を未然に防止することができる。
【0026】
なお、本発明は上記し且つ図面に示す実施例に限定されるものではなく、以下のような拡張或いは変更が可能である。
緊急制動は、制動したと仮定したときの制動距離を演算する場合の制動力と同等の制動力で行っても良い。この場合には、ロボット本体7は、共有領域B内に進入したところで停止する蓋然性が強いが、共有領域B内への進入量は僅かであるから、他のロボットとの干渉(衝突)は回避できる。
【0027】
ステップS6の他のロボットの現在位置と制動を開始したと仮定したときのロボット本体の停止位置を検出する場合、現在位置は他のロボットから通信により取得するとして、ロボット本体の停止距離は他のロボットから各リンクの速度などを通信により取得して演算によって求めるようにしても良い。
【0028】
ロボットは2台に限らない。3台以上であっても良い。
【図面の簡単な説明】
【0029】
【図1】本発明の一実施形態を示すもので、干渉回避時における2台のロボットの状態を示す該略的な平面図
【図2】干渉回避のための制御内容を示すフローチャート
【図3】2台のロボットを示す斜視図
【図4】ロボットの電気的構成を示すブロック図
【図5】2台のロボットの作業内容を説明するための概略的な平面図
【符号の説明】
【0030】
図面中、1,2はロボット、7はロボット本体、8は制御装置、11〜16はリンク、17はハンド、18はCPU(制御手段、停止位置演算手段、緊急制動開始手段)、22はRAM(記憶手段)、24は通信回路(通信手段)である。


【特許請求の範囲】
【請求項1】
作業領域を共有する複数のロボットの干渉を回避する方法において、
前記複数のロボットに作業領域が互いに重なり合う共有領域を設定しておき、
前記各ロボットは、現時点で制動を開始したと仮定したときの停止位置を逐次演算し、
その停止位置が前記共有領域内で、且つ他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされたとき、実際に制動を開始して動作を停止させ、前記他のロボットとの干渉を回避するようにしてなるロボットの干渉回避方法。
【請求項2】
他のロボットと作業領域を共有するロボットにおいて、
ロボット本体と、
このロボット本体の動作を制御する制御手段と、
前記他のロボットと作業領域が重なり合う領域を共有領域として記憶する記憶手段と、
前記他のロボットと通信する通信手段と
を具備し、
前記制御手段は、更に、
現時点において制動を開始したと仮定したときの停止位置を逐次演算する停止位置演算手段と、
前記停止位置演算手段による停止位置が前記記憶手段に記憶された前記共有領域内で、且つ前記他のロボットとの通信により当該他のロボットの現在位置が前記共有領域内にある、または前記他のロボットが現時点で制動を開始したと仮定したときの当該他のロボットの停止位置が前記共有領域内になるとされた時、緊急制動を開始する緊急制動開始手段と
を有することを特徴とするロボット。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate