説明

ロボットの侵入禁止領域算出方法

【課題】ロボットの侵入禁止領域を効率良く求める。
【解決手段】ロボットの動作を擬似的に再現する空間領域のうち、他のロボットの侵入を禁止する侵入禁止領域を算出するロボットの侵入禁止領域算出方法であって、前記空間領域を段階的に細かく分割して、複数の空間ブロックを形成するとともに、前記ロボットの動作を含まない前記空間ブロックを演算の対象から除外し、演算対象領域を絞り込みながら、前記侵入禁止領域を算出する算出ステップを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの侵入禁止領域算出方法に関する。
【背景技術】
【0002】
複数のロボットを動作させるとき、ロボット同士の衝突を防止する必要がある。そのため、ロボットが動作する空間をメモリー空間に擬似的に再現し、ロボットの周囲に他のロボットの侵入を禁止する侵入禁止領域を形成する方法が知られている。また、このような方法に対しては、ロボットの動作の自由度を保つため、不要な領域に侵入禁止領域を形成しないことが要求される。このため、メモリー空間をできるだけ細かく区分し、当該区分されたメモリー空間内にロボットのパターンを形成するとともに、侵入禁止領域を生成するロボットの侵入禁止領域算出方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−68488号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記のロボットの侵入禁止領域算出方法では、最初から細かく区分けされたメモリー空間からロボットのパターンを形成し、侵入禁止領域を特定する必要があるため、侵入禁止領域を特定するまでに、計算処理量が膨大となり、算出処理時間がかかってしまう、という課題があった。
【課題を解決するための手段】
【0005】
本発明は、上記課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0006】
[適用例1]本適用例にかかるロボットの侵入禁止領域算出方法は、ロボットの動作を擬似的に再現する空間領域のうち、他のロボットの侵入を禁止する侵入禁止領域を算出するロボットの侵入禁止領域算出方法であって、前記空間領域を段階的に細かく分割して、複数の空間ブロックを形成するとともに、前記ロボットの動作を含まない前記空間ブロックを演算の対象から除外し、演算対象領域を絞り込みながら、前記侵入禁止領域を算出する算出ステップを含むことを特徴とする。
【0007】
この構成によれば、空間領域を分割し、分割された空間領域のうちからロボットの動作を含まない空間領域を演算の対象から除外し、残りの空間領域を演算対象とする。そして、空間領域を段階的に細かく分割しながら、非演算領域を除外して演算対象領域を狭めていく。従って、速い段階で、ロボットの領域を特定できるとともに、計算処理量が低減するので、算出処理速度を高めることができる。
【0008】
[適用例2]上記適用例にかかるロボットの侵入禁止領域算出方法の前記算出ステップでは、前記空間領域を分割して、複数の第1空間ブロックを形成する第1空間分割ステップと、前記第1空間ブロックのうち、前記ロボットの動作が含まれる前記第1空間ブロックを第1演算対象ブロックと判断するとともに、前記ロボットの動作が含まれない前記第1空間ブロックを第1非演算対象ブロックと判断する第1演算対象判別ステップと、演算の対象から前記第1非演算対象ブロックを除外する第1除外ステップと、前記第1演算対象ブロックを分割して、複数の第2空間ブロックを形成する第2空間分割ステップと、前記第2空間ブロックのうち、前記ロボットの動作が含まれる前記第2空間ブロックを第2演算対象ブロックと判断するとともに、前記ロボットの動作が含まれない前記第2空間ブロックを第2非演算対象ブロックと判断する第2演算対象判別ステップと、演算の対象から前記第2非演算対象ブロックを除外する第2除外ステップと、を含むことを特徴とする。
【0009】
この構成によれば、第1空間分割ステップにおいて、複数の第1空間ブロックが形成される。そして、ロボットの動作が含まれる第1空間ブロックとロボットの動作が含まれない第1空間ブロックとに分けられ、ロボットの動作が含まれる第1空間ブロックを第1演算対象ブロックとし、第2空間分割ステップでは、第1演算対象ブロックの第1空間部ブロックを分割して、複数の第2空間ブロックを形成する。すなわち、ロボットの動作が含まれない第1空間ブロックは、演算対象から外されることになる。そして、演算対象となる第1空間ブロックが分割され、ロボットの動作が含まれる第2空間ブロックとロボットの動作が含まれない第2空間ブロックとに分けられる。従って、第2演算対象判別ステップでは、第1演算対象判別ステップに比べ、演算領域対象領域が狭まっている。このように、演算に不要な部分を除外しながら、演算領域対象領域が狭められるので、演算処理速度を高めることができる。
【0010】
[適用例3]上記適用例にかかるロボットの侵入禁止領域算出方法の前記算出ステップでは、前記空間領域を段階的に規定の大きさの前記空間ブロックに細かく分割することを特徴とする。
【0011】
この構成によれば、空間領域を規定の大きさに分割することにより、算出処理ルーチンを容易に行うことができる。
【0012】
[適用例4]上記適用例にかかるロボットの侵入禁止領域算出方法の前記算出ステップでは、前記空間領域を、前記ロボットが緊急停止可能な領域を有する大きさの空間ブロックまで分割することを特徴とする。
【0013】
この構成によれば、空間領域を分割する限度を規制する。これにより、不用意な空間領域の分割の繰り返しを防止することができる。
【0014】
[適用例5]上記適用例にかかるロボットの侵入禁止領域算出方法において、前記侵入禁止領域には、前記ロボットの周囲に設けられた保護領域を含むことを特徴とする。
【0015】
この構成によれば、ロボットの周囲に設けられた保護領域を含めて侵入禁止領域を演算するので、さらに、ロボットの安全性を高めることができる。
【0016】
[適用例6]上記適用例にかかるロボットの侵入禁止領域算出方法において、前記算出ステップの後に、前記演算対象領域に対応する前記空間ブロックに対して、インターロックを設定するインターロック設定ステップを含むことを特徴とする。
【0017】
この構成によれば、他のロボットは、インターロックが設定された領域への侵入が阻止されるので、ロボット同士の衝突を防止することができる。
【図面の簡単な説明】
【0018】
【図1】ロボットの侵入禁止領域算出方法を示すフローチャート。
【図2】侵入禁止領域算出方法例を示す説明図。
【図3】侵入禁止領域算出方法例を示す説明図。
【発明を実施するための形態】
【0019】
以下、本発明を具体化した実施形態について図面に従って説明する。
【0020】
図1は、ロボットの侵入禁止領域演算方法を示すフローチャートである。図2および図3は、ロボットの侵入禁止領域演算方法を説明する説明図である。
【0021】
まず、ロボット10が動作する空間領域20について説明する。空間領域20は、例えば、図2(a)に示すように、ロボット10が動作する動作空間を擬似的に再現したメモリー空間である。そして、ロボット10が空間領域20の中に配置され、空間領域20においてロボット10の駆動制御等を行うことができる。また、空間領域20は、ロボット10が動作する空間を擬似的に、例えば、3次元の立方体として再現することができる(なお、本実施形態では、2次元で表している)。
【0022】
このような空間領域20の中に、例えば、複数のロボット10を協働して動作させる場合には、ロボット10同士の衝突等を防止する必要がある。このため、空間領域20を分割して複数の空間ブロックを形成し、各ロボット10の動作領域にインターロックを設定して、他のロボットの侵入を禁止する侵入禁止領域を形成する方法を採用することができる。また、このような方法においては、一の空間ブロックをロボット10の形状や動作状況に応じて、可能な限り小さく形成する必要がある。これは、ロボット10の動作の自由度を上げ、作業効率を高めるためである。
【0023】
しかしながら、当初の段階から空間ブロックを小さく形成した場合には、全ての空間ブロックに対して、侵入禁止領域の有無を判断しなければならない。すなわち、全ての空間ブロックが侵入禁止領域を算出するための演算対象領域となるので、演算処理量が膨大となり、算出速度が低下するおそれがある。本発明は、上記の不都合を解決するためになされたものであり、以下、ロボットの侵入禁止領域算出方法について、具体的に説明する。
【0024】
図1において、ステップS1では、空間領域を分割する(第1空間分割ステップ)。具体的には、図2(b)に示すように、空間領域20を分割して、複数の第1空間ブロック21を形成する。ここで、分割する大きさは、ロボット10の形状、大きさ、配置、動作等に応じて、適宜設定することができる。本実施形態では、空間領域20を3×3の9個の第1空間ブロック21に分割している。なお、この時点で、第1空間ブロック21の全ての領域が、侵入禁止領域を算出するための演算領域15となる。
【0025】
ステップS2では、演算対象判別を行う(第1演算対象判別ステップ)。具体的には、図2(b)に示すように、分割された第1空間ブロック21に対して、ロボット10の動作が含まれる第1空間ブロック21aと、ロボット10の動作が含まれない第1空間ブロック21bとを区別する。そして、ロボット10の動作が含まれる第1空間ブロック21aを第1演算対象ブロック21aと判断するとともに、ロボット10の動作が含まれない第1空間ブロック21bを第1非演算対象ブロック21bと判断する。
【0026】
なお、本実施形態では、ロボット10の周囲には保護領域11を予め設定している。当該保護領域11は、ロボット10が緊急停止した場合に、ロボット10が停止可能な範囲を保護領域11と設定している。本実施形態では、ロボット10と保護領域11を合わせた領域をロボット10の領域として説明する。
【0027】
ステップS3では、非演算対象ブロックがあるか否かを判断する。非演算対象ブロックがある(YES)場合には、ステップS4に移行し、非演算対象ブロックがない(NO)場合には、ステップS7に移行する。
【0028】
ステップS4では、非演算対象ブロックを演算対象から除外する(第1除外ステップ)。具体的には、図2(c)に示すように、基の演算領域15から第1非演算対象ブロック21bを除外し、第1演算対象ブロック21aのみが残る。そして、当該第1演算対象ブロック21aが、新たな演算領域15aとして設定される。一方、第1非演算対象ブロック21bの全領域は、非演算対象領域16aとして設定され、以降の演算対象から外れる。
【0029】
ステップS5では、空間ブロックの分割を継続するか否かを判断する。空間ブロックの分割を継続する(YES)場合には、ステップS6に移行し、空間ブロックの分割を継続しない(NO)場合には、ステップS7に移行する。
【0030】
本実施形態では、空間ブロックの分割を継続する(YES)場合について説明する。
【0031】
ステップS6では、第1演算対象ブロック21aを分割する(第2空間分割ステップ)。具体的には、図2(d)に示すように、第1演算対象ブロック21aを分割して、複数の第2空間ブロック22を形成する。ここで、分割する大きさは、ロボット10の形状、大きさ、配置、動作等に応じて、適宜設定することができる。本実施形態では、一の第1演算対象ブロック21aを2×2の4個の第2空間ブロック22に分割している。次いで、ステップS2に移行する。
【0032】
ステップS2では、演算対象判別を行う(第2演算対象判別ステップ)。具体的には、図2(d)に示すように、分割された第2空間ブロック22に対して、ロボット10の動作が含まれる第2空間ブロック22aと、ロボット10の動作が含まれない第2空間ブロック22bとを区別する。そして、ロボット10の動作が含まれる第2空間ブロック22aを第2演算対象ブロック22aと判断するとともに、ロボット10の動作が含まれない第2空間ブロック22bを第2非演算対象ブロック22bと判断する。
【0033】
次いで、ステップS3では、非演算対象ブロックがあるか否かを判断し、非演算対象ブロックがある(YES)場合には、ステップS4に移行し、非演算対象ブロックがない(NO)場合には、ステップS7に移行する。
【0034】
ステップS4では、非演算対象ブロックを演算対象から除外する(第2除外ステップ)。具体的には、図2(e)に示すように、先に設定された演算領域15aから第2非演算対象ブロック22bを除外し、第2演算対象ブロック22aのみが残る。そして、第2演算対象ブロック22aが、新たな演算領域15bとして設定される。一方、第2非演算対象ブロック22bは、第1非演算対象ブロック21bとともに、非演算対象領域16bとして設定され、以降の演算対象から外れる。
【0035】
次いで、ステップS5では、空間ブロックの分割を継続するか否かを判断し、空間ブロックの分割を継続する(YES)場合には、ステップS6に移行し、空間ブロックの分割を継続しない(NO)場合には、ステップS7に移行する。以降、図2および図3に従って、空間ブロックの分割を継続する(YES)場合について説明する。
【0036】
ステップS6では、第2演算対象ブロック22aを分割する(第3空間分割ステップ)。具体的には、図2(f)に示すように、第2演算対象ブロック22aを分割して、複数の第3空間ブロック23を形成する。ここで、分割する大きさは、ロボット10の形状、大きさ、配置、動作等に応じて、適宜設定することができる。本実施形態では、一の第2演算対象ブロック22aを2×2の4個の第3空間ブロック23に分割している。次いで、ステップS2に移行する。
【0037】
ステップS2では、演算対象判別を行う(第3演算対象判別ステップ)。具体的には、図2(f)に示すように、分割された第3空間ブロック23に対して、ロボット10の動作が含まれる第3空間ブロック23aと、ロボット10の動作が含まれない第3空間ブロック23bとを区別する。そして、ロボット10の動作が含まれる第3空間ブロック23aを第3演算対象ブロック23aと判断するとともに、ロボット10の動作が含まれない第3空間ブロック23bを第3非演算対象ブロック23bと判断する。
【0038】
次いで、ステップS3では、非演算対象ブロックがあるか否かを判断し、非演算対象ブロックがある(YES)場合には、ステップS4に移行し、非演算対象ブロックがない(NO)場合には、ステップS7に移行する。
【0039】
ステップS4では、非演算対象ブロックを演算対象から除外する(第3除外ステップ)。具体的には、図3(a)に示すように、先に設定された演算領域15bから第3非演算対象ブロック23bを除外し、第3演算対象ブロック23aのみが残る。そして、第3演算対象ブロック23aが、新たな演算領域15cとして設定される。一方、第3非演算対象ブロック23bは、第1非演算対象ブロック21bおよび第2非演算対象ブロック22bとともに、非演算対象領域16cとして設定され、以降の演算対象から外れる。
【0040】
次いで、ステップS5では、空間ブロックの分割を継続するか否かを判断し、空間ブロックの分割を継続する(YES)場合には、ステップS6に移行する。
【0041】
ステップS6では、第3演算対象ブロック23aを分割する(第4空間分割ステップ)。具体的には、図3(b)に示すように、第3演算対象ブロック23aを分割して、複数の第4空間ブロック24を形成する。ここで、分割する大きさは、ロボット10の形状、大きさ、配置、動作等に応じて、適宜設定することができる。本実施形態では、一の第3演算対象ブロック23aを2×2の4個の第4空間ブロック24に分割している。次いで、ステップS2に移行する。
【0042】
ステップS2では、演算対象判別を行う(第4演算対象判別ステップ)。具体的には、図3(b)に示すように、分割された第4空間ブロック24に対して、ロボット10の動作が含まれる第4空間ブロック24aと、ロボット10の動作が含まれない第4空間ブロック24bとを区別する。そして、ロボット10の動作が含まれる第4空間ブロック24aを第4演算対象ブロック24aと判断するとともに、ロボット10の動作が含まれない第4空間ブロック24bを第4非演算対象ブロック24bと判断する。
【0043】
次いで、ステップS3では、非演算対象ブロックがあるか否かを判断し、非演算対象ブロックがある(YES)場合には、ステップS4に移行し、非演算対象ブロックがない(NO)場合には、ステップS7に移行する。
【0044】
ステップS4では、非演算対象ブロックを演算対象から除外する(第4除外ステップ)。具体的には、図3(c)に示すように、先に設定された演算領域15cから第4非演算対象ブロック24bを除外し、第4演算対象ブロック24aのみが残る。そして、第4演算対象ブロック24aが、新たな演算領域15dとして設定される。一方、第4非演算対象ブロック24bは、第1非演算対象ブロック21b、第2非演算対象ブロック22bおよび第3非演算対象ブロック23bとともに、非演算対象領域16dとして設定される。
【0045】
以上、空間領域20を、ロボット10が緊急停止可能な領域を有する大きさの第4演算対象ブロック24aまで段階的に分割するとともに、演算領域15を演算領域15dにまで絞り込む方法について説明した。次に、ステップS7について説明する。
【0046】
ステップS7では、インターロックを設定する(インターロック設定ステップ)。具体的には、図3(c)に示すように、最終的に演算対象が絞り込まれた演算領域15dは、侵入禁止領域30と判断され、当該侵入禁止領域30を構成する第4空間ブロック24aの全てにインターロックを設定する。これにより、他のロボットの侵入を防止し、ロボット間同士の衝突等を回避することができる。
【0047】
従って、上記の実施形態によれば、以下に示す効果がある。
【0048】
まず、空間領域20を適宜分割して第1空間ブロック21を形成した。そして、ロボット10の位置に対応する第1空間ブロック21を第1演算対象ブロック21aとし、他の第1空間ブロック21bを演算対象から除外した。次いで、第1演算対象ブロック21aを分割し、ロボット10の位置に対応する第2空間ブロック22を第2演算対象ブロック22aとし、他の第2空間ブロック22bを演算対象から除外した。そして、上記ステップを繰り返し行い、段階的に、空間ブロック21〜24を分割するとともに、不要な演算領域を演算対象から外していき、演算対象領域を絞りこんだ。このように、大きな領域(空間領域20)から小さな領域(第4演算対象ブロック24a)に絞り込む過程における演算量が削減されるので、高速で侵入禁止領域30を算出することができる。
【0049】
なお、上記の実施形態に限定されるものではなく、以下のような変形例が挙げられる。
【0050】
(変形例1)本実施形態では、ロボット10の領域に保護領域11を予め設けたが、これを省略してもよい。このようにしても、ロボット10が緊急停止可能な領域を有する大きさの空間ブロックに分割し、当該空間ブロックにインターロックを設定することにより、保護領域11を設けた場合と同様の効果を得ることができる。
【0051】
(変形例2)本実施形態では、空間ブロックの分割を3回繰り返して行ったが、これに、限定されない。例えば、図2(c)の第1演算対象判別ステップが終了した後に、図3(b)に示す空間ブロック24の大きさ(ロボット10が緊急停止可能な領域を有する大きさ)に分割してもよい。このようにしても、当初から細かく空間ブロックを形成する方法に比べ、計算量は削減できるので、侵入禁止領域30を早く算出することができる。
【0052】
(変形例3)上記実施形態では、主に、産業用ロボットを例に説明したが、これに限定されない。例えば、他の運動体や玩具等にも適用することができる。このようにしても、上記同様の効果を得ることができる。
【符号の説明】
【0053】
10…ロボット、11…保護領域、15,15a〜15d…演算領域、16a〜16d…非演算対象領域、20…空間領域、21〜24…空間ブロック、21a〜24a…演算対象ブロックとしての空間ブロック、21b〜24b…非演算対象ブロックとしての空間ブロック、30…侵入禁止領域。

【特許請求の範囲】
【請求項1】
ロボットの動作を擬似的に再現する空間領域のうち、他のロボットの侵入を禁止する侵入禁止領域を算出するロボットの侵入禁止領域算出方法であって、
前記空間領域を段階的に細かく分割して、複数の空間ブロックを形成するとともに、前記ロボットの動作を含まない前記空間ブロックを演算の対象から除外し、演算対象領域を絞り込みながら、前記侵入禁止領域を算出する算出ステップを含むことを特徴とするロボットの侵入禁止領域算出方法。
【請求項2】
請求項1に記載のロボットの侵入禁止領域算出方法において、
前記算出ステップでは、
前記空間領域を分割して、複数の第1空間ブロックを形成する第1空間分割ステップと、
前記第1空間ブロックのうち、前記ロボットの動作が含まれる前記第1空間ブロックを第1演算対象ブロックと判断するとともに、前記ロボットの動作が含まれない前記第1空間ブロックを第1非演算対象ブロックと判断する第1演算対象判別ステップと、
演算の対象から前記第1非演算対象ブロックを除外する第1除外ステップと、
前記第1演算対象ブロックを分割して、複数の第2空間ブロックを形成する第2空間分割ステップと、
前記第2空間ブロックのうち、前記ロボットの動作が含まれる前記第2空間ブロックを第2演算対象ブロックと判断するとともに、前記ロボットの動作が含まれない前記第2空間ブロックを第2非演算対象ブロックと判断する第2演算対象判別ステップと、
演算の対象から前記第2非演算対象ブロックを除外する第2除外ステップと、を含むことを特徴とするロボットの侵入禁止領域算出方法。
【請求項3】
請求項1または2に記載のロボットの侵入禁止領域算出方法において、
前記算出ステップでは、
前記空間領域を段階的に規定の大きさの前記空間ブロックに細かく分割することを特徴とするロボットの侵入禁止領域算出方法。
【請求項4】
請求項1〜3のいずれか一項に記載のロボットの侵入禁止領域算出方法において、
前記算出ステップでは、
前記空間領域を、前記ロボットが緊急停止可能な領域を有する大きさの空間ブロックまで分割することを特徴とするロボットの侵入禁止領域算出方法。
【請求項5】
請求項1〜4のいずれか一項に記載のロボットの侵入禁止領域算出方法において、
前記侵入禁止領域には、前記ロボットの周囲に設けられた保護領域を含むことを特徴とするロボットの侵入禁止領域算出方法。
【請求項6】
請求項1〜5のいずれか一項に記載のロボットの侵入禁止領域算出方法において、
前記算出ステップの後に、
前記演算対象領域に対応する前記空間ブロックに対して、インターロックを設定するインターロック設定ステップを含むことを特徴とするロボットの侵入禁止領域算出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−240773(P2010−240773A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−91841(P2009−91841)
【出願日】平成21年4月6日(2009.4.6)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】