干渉チェック制御装置および干渉チェック制御方法
【課題】複数のロボットの作業効率を改善する。
【解決手段】動作領域に重複部分を有するロボット同士の干渉を回避する干渉チェック制御装置であって、速度・位置記憶手段111と、速度・位置データに基づいてロボット構成部分同士の距離を計算するロボット間距離計算手段112と、速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求める干渉判定用領域計算手段113と、干渉判定領域で規定される干渉判定距離とロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定手段114とを備え、干渉判定用領域計算手段113は、干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、干渉判定手段114は、拡張された干渉判定領域で規定される干渉判定距離とロボット構成部分同士の距離とを比較し干渉の有無を判定する。
【解決手段】動作領域に重複部分を有するロボット同士の干渉を回避する干渉チェック制御装置であって、速度・位置記憶手段111と、速度・位置データに基づいてロボット構成部分同士の距離を計算するロボット間距離計算手段112と、速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求める干渉判定用領域計算手段113と、干渉判定領域で規定される干渉判定距離とロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定手段114とを備え、干渉判定用領域計算手段113は、干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、干渉判定手段114は、拡張された干渉判定領域で規定される干渉判定距離とロボット構成部分同士の距離とを比較し干渉の有無を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、近接配置され、動作領域が重複する複数のロボット間の干渉チェックを行う干渉チェック制御装置および干渉チェック制御方法に関する。
【背景技術】
【0002】
ロボット同士の干渉チェックを行うために、ロボットを、例えば、円柱といった簡易なモデル(近似立体)に近似し、近似したモデル同士の干渉状態をチェックする方法が、従来行われていた。
【0003】
さらに、動作中などのオンラインで干渉チェックを行いながら停止指令を出す場合には、ロボットの動作速度および位置に応じてロボットモデルよりも大きい干渉判定領域を定義して、その領域同士が干渉すれば停止を開始する方法(例えば、特許文献1、2参照)が既知の技術として開示されている。
【0004】
【特許文献1】特開昭62−159203号公報
【特許文献2】特許3351330号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術には、以下のような課題がある。
近似立体サイズを大きくした干渉チェックを行っている従来の方法は、動作速度に応じて近似立体サイズを大きくすることで、停止に必要とされる制動距離を見込んで判定ができる。このため、干渉する可能性を小さくすることができるが、その一方で、干渉することなく作業が継続できる場合にも、干渉チェックで干渉ありと判定し、頻繁に停止してしまい、作業時間が長くなってしまうといった問題があった。
【0006】
本発明は、このような課題を解決するためになされたものであり、干渉することなく作業が継続できる場合に干渉ありと判定してしまうことを抑制し、複数のロボットの作業効率を改善することができる干渉チェック制御装置および干渉チェック制御方法を得ることを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る干渉チェック制御装置は、それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、ロボット同士の干渉を回避する干渉チェック制御装置であって、前回ステップまでの計算周期で算出されたロボットの速度・位置データを記憶する速度・位置記憶手段と、速度・位置記憶手段に記憶された速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算手段と、速度・位置記憶手段に記憶された速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求める干渉判定用領域計算手段と、干渉判定用領域計算手段で求めた干渉判定領域で規定される干渉判定距離と、ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定手段と、干渉判定手段による干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを速度・位置記憶手段に記憶させる指令値生成手段とを備え、干渉判定用領域計算手段は、求めた干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、干渉判定手段は、干渉判定用領域計算手段で決定された拡張された干渉判定領域で規定される干渉判定距離と、ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定するものである。
【0008】
また、本発明に係る干渉チェック制御方法は、それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、ロボット同士の干渉を回避する干渉チェック制御方法であって、記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算ステップと、記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求めるステップと、干渉判定用領域計算ステップで求めた干渉判定領域で規定される干渉判定距離と、ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定ステップと、干渉判定ステップによる干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを記憶部に記憶させる指令値生成ステップとを備え、干渉判定用領域計算ステップは、求めた干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、干渉判定ステップは、干渉判定用領域計算ステップで決定された拡張された干渉判定領域で規定される干渉判定距離と、ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定するものである。
【発明の効果】
【0009】
本発明に係る干渉チェック制御装置および干渉チェック制御方法によれば、干渉判定領域のサイズを、単純に近似立体の法線方向に拡張するのではなくて、移動速度と移動方向に応じた指向性を持たせて拡張することにより、干渉することなく作業が継続できる場合に干渉ありと判定してしまうことを抑制し、複数のロボットの作業効率を改善することができる干渉チェック制御装置および干渉チェック制御方法を得ることができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の干渉チェック制御装置および干渉チェック制御方法の好適な実施の形態につき図面を用いて説明する。
本発明は、近似立体を拡張することによって不必要に停止が生じる場合について分析し、近似立体サイズを単純に大きくすることが原因で停止が頻繁に起こっていることを見出した。そこで、本発明は、近似立体の移動速度と移動方向に注目して、近似立体を効果的に変形させることで、不必要な停止が起こる方向には領域を拡張しない干渉判定領域を設定し、従来と比較して優れた干渉チェックを実現している。
【0011】
実施の形態1.
【0012】
まず始めに、ロボット同士の干渉判定について説明する。まず、ロボットの可動範囲によって形成される、ロボットが通過しうる空間を動作領域と表現する。2台以上のロボット同士で動作領域が交差する場合は、ロボット同士の衝突の危険性が出てくる。このようなロボット同士の衝突を表す表現として、ロボットの占めている空間同士が交差している状態に干渉という表現を用いる。そのほか、後述の干渉判定領域同士が交差する状態にも干渉という表現を用いる。また、このような干渉が生じるかどうかを確認することを干渉チェックと呼ぶ。干渉チェックは、ロボットを、例えば、簡易な幾何モデル(点、線分、球、円筒、多面体)に置き換えて、干渉をチェックしたいロボットモデル間の距離を計算する。そして、計算された距離が許容値以内か否かを判定することで、干渉チェックが行われるのが一般的である。干渉チェックは、目的によって、以下の2つの利用方法がある。
【0013】
シミュレーション上のロボット同士において干渉するか否かを検出する場合は、干渉の検出が目的となる。このため、干渉チェックとしては、動作をシミュレーション上で再生し、ロボットモデル同士の干渉があるか否かを判定することとなり、指令値の変更は、ユーザにゆだねられる。
【0014】
一方で、動作中のロボット同士あるいはシミュレーションにおいては、干渉の検出とともに、干渉を回避することが目的となる。この場合には、実際に干渉が起こるよりも十分に早く干渉チェックを行う必要がある。従って、通常、ロボットモデルよりも大きい制動距離を見込んだ干渉判定領域を定義して、干渉判定領域同士が交差した場合に、停止を開始して干渉を防止する。ここでは、線分の周りに一定距離上に境界をもつ空間領域をロボットモデルとして定義し、干渉判定領域は、ロボットモデルと相似形状をしたロボットモデルよりも大きい一定距離上に境界をもつ空間領域として定義している。
【0015】
上述した干渉チェックに関する事項を踏まえ、次に、本実施の形態1における干渉チェック方法について、具体的に説明する。図1は、本発明の実施の形態1における干渉チェック制御装置の構成図である。この図1の干渉チェック制御装置は、ロボット速度・位置記憶手段111、ロボット間距離計算手段112、干渉判定用領域計算手段113、干渉判定手段114、および指令値生成手段115を備えている。
【0016】
図示していないが、上位に位置するロボット制御装置は、一定の計算周期に従って計算ステップごとに、ロボットの指令値を作り出している。その際に、ロボットの目標手先位置姿勢や各関節の目標角度、目標角速度、目標角加速度を計算している。それらの情報を用いて、干渉チェック制御装置は、ロボットの現在の6自由度手先位置姿勢および現在速度と、ロボットを構成するロボット構成部分の端点位置と端点速度とを算出している。例えば、各関節角度データをもとに運動学を解いてロボットの姿勢を計算して、該当する端点位置を算出可能である。また、端点速度は、端点速度の差分あるいは各駆動関節の変化速度から運動学を用いて解くことができる。また、6自由度手先位置姿勢と端点位置および端点速度の計算は、ロボット制御装置内において得られた結果を用いて計算しているので、ロボット制御装置内でも算出することができる。算出されたこれらのデータを、以下の説明では、速度・位置データ101と称することとする。そして、ロボット制御装置は、算出した速度・位置データ101を、各計算周期ごとにロボット速度・位置記憶手段111に記憶させる。
【0017】
なお、ここで、6自由度手先位置姿勢とは、ハンドなどエンドエフェクタのワールド座標系に対する位置姿勢を指す。ただし、スカラロボット(4自由度)など自由度が6に満たないロボットでは、自由度に応じて手先位置姿勢が求められる。また、ロボット構成部分とは、例えば、ロボットの代表的剛体要素(例えば、ベース部、ベース側アーム部、リスト側アーム部、リスト部、およびエンドエフェクタ部)に分けてそれぞれの部分同士で干渉を考えるための、ロボットの干渉チェックの時のチェックする単位要素である。また、あるロボット構成部分は、ある1つの可動部分の動作により、他のロボット構成部分との干渉が発生しうるが、可動部分ごとにすべてを構成部分にすると計算量が増加するため、この例では、干渉チェックの計算量を減らすためになるべく少ない構成部分に分割している。
【0018】
また、ロボット構成部分の端点情報を記憶しておく理由は、本実施の形態1で後述するように、ロボットをモデル化し距離計算や干渉判定を行う際に、線分モデルを用いているためである。従って、このロボット構成部分の端点情報としては、各リンクのモデルを構成するのに必要な端点位置や端点の移動速度情報であればよい。例えば、ロボット構成部分のベース側アーム部についてみると、ある時刻t0のベース側アーム部について線分化したモデルについて、ベース側アーム部の線分モデルの端点の位置座標とその座標点の移動速度を計算して記憶しておく。線分の端点の位置座標の計算方法は、ある時刻t0の関節角度情報から運動学を用いて求め、線分の端点速度については、例えば、時刻t0における関節角速度情報を情報から運動学を用いて求めることになる。
【0019】
次に、ロボット間距離計算手段112は、ロボット構成部分同士の距離を計算する手段であり、ロボット速度・位置記憶手段111に記憶された前回ステップまでの計算周期で算出された速度・位置データ102と、速度・位置データ101と同等のデータとしてあるロボット制御装置以外の外部から得られる速度・位置データ情報107とを読み込む。ここで、101と同等のデータとは、外部のロボット制御装置で算出されている、ロボットの現在の6自由度手先位置姿勢および現在速度と、ロボットを構成するロボット構成部分の端点位置と端点速度のことである。また、あるロボット制御装置以外の外部とは、例えば、他のロボット制御装置であったり、可動する冶具の制御装置などあるロボットと干渉する危険性のある移動をする機械装置の制御装置が挙げられる。また、移動する機械装置に限らず、干渉する危険性がある静止している機械装置についても、その機械装置の位置情報を外部から提供する。
【0020】
次に、ロボット間距離計算手段112は、読み込んだデータに基づいて、対象としているロボット構成部分同士(例えば、ここでは、ロボット構成部分をモデル化した簡易なロボットモデル同士)の距離計算を行い、ロボット構成部分間距離(例えば、ここでは、ロボットモデル同士のロボットモデル間距離)103を、Lij103として出力する。
【0021】
図2は、本発明の実施の形態1におけるロボット構成部分をモデル化した簡易なロボットモデルと干渉判定領域の例示図である。図2(a)のような構成のロボットモデルは、図2(b)に示すように、ロボット構成部分をモデル化した簡易なロボットモデルとして扱うことができる。
【0022】
より具体的には、各構成部分は、点および線分でモデル化される。さらに、モデル化された構成部分が線分の場合には、干渉を判定するための領域は、その線分から等距離となるような円柱と、その両端を覆う半球とからなる立体モデルとしてモデル化される。また、モデル化された構成部分が点の場合には、干渉を判定するための領域は、その点から等距離となる球からなる立体モデルとしてモデル化される。このような立体モデルをロボットモデルと呼ぶ。
【0023】
例えば、ロボット構成部分であるロボットアーム部11a〜14aは、線分でモデル化されたロボットアーム部モデル11b〜14bに置き換えられる。また、ロボット構成部分の1つであるハンド10aは、ハンドモデル10bに置き換えられる。そして、ロボット間距離計算手段112は、ロボット同士の構成部分間の最も接近している部分の距離測定を、このようにしてモデル化された簡易なロボットモデル同士の構成部分間の最も接近している部分の距離測定により行う。
【0024】
図3は、本発明の実施の形態1におけるモデル化された2線分間の最近接点を幾何的に表した図である。例えば、ロボットモデル間距離を計測するための2つの線分をモデルLinkiとLinkjとすると、ロボット間距離計算手段112は、この2線分間の最近接点31、32(41、42)からモデル間距離Lij33(43)を導くようにしている。
【0025】
2線分間の最近接点およびモデル間距離Lij103の計算方法は、例えば、特開昭60−217410号公報に開示されているような手法を用いることができる。ただし、ロボットモデル間の距離は、線分モデル同士に限らず、その他にも、例えば、球や円筒や多面体でモデル化したロボットモデルに対して、モデル同士の最近接距離を計算しても構わない。
【0026】
次に、所定の干渉判定領域を、さらに移動速度と移動方向に応じて指向性を持って拡張させることで、「拡張された干渉判定領域」を求める干渉判定用領域計算手段113の機能について説明する。ここで、所定の干渉判定領域とは、予めロボットモデルと同じかロボットモデルよりも大きく設定され、ロボットモデルから距離LiLimだけ離れた部分を境界とする領域で定義される。
【0027】
先の図2(b)を例に説明すると、ロボットを包む簡易のLiLimロボットモデルを表す領域は、10c〜14cで表される。そして、干渉を判定するための所定の干渉判定領域は、10d〜14dで表される。前述したように、干渉判定領域は、ロボットモデルよりも常に大きいものとする。そして、本実施の形態1における干渉チェックは、停止動作をするか否かを判定する干渉判定領域を用いて行うものを対象としている。
【0028】
拡張された干渉判定領域を求めるために、干渉判定用領域計算手段113は、前回ステップまでの計算周期にて算出された速度・位置データ102(ロボットの現在の6自由度手先姿勢および現在速度と、ロボットを構成するロボット構成部分である各リンクの端点位置および各リンクの端点速度情報)を用いて、所定の干渉判定領域を、現在進行している方向に対して拡張することで、「拡張された干渉判定領域」を決定する。さらに、「拡張された干渉判定領域」を決定した後に、干渉判定用領域計算手段113は、判定用の閾値を決定する。
【0029】
図4は、本発明の実施の形態1における干渉判定用領域計算手段113による拡張された干渉判定領域の決定方法の説明図である。この図4では、説明を簡単にするために、半径rの球で所定の干渉判定領域が定義されている際に、拡張された干渉判定領域LijexLim804を決定するための方法について説明する。
【0030】
図4における符号800〜805は、次のものを表している。
800:ロボットモデル速度
801:実際のロボットを球で覆うように近似したロボットモデル
802:球でモデル化を行った際の所定の干渉判定領域
803:従来方法による拡張された干渉判定領域
804、805:本発明による拡張された干渉判定領域
【0031】
また、図4(a)は、所定の干渉判定領域802を示した図であり、図4(b)は、従来方法による拡張された干渉判定領域803を示した図である。また、図4(c)、図4(d)は、本発明による2通りの拡張された干渉判定領域804、805を示した図である。
【0032】
拡張された干渉判定領域804の領域拡張方法は、現在のロボットモデルの移動方向に向かって移動速度の大きさに比例して所定の干渉回避領域802を拡張するものである。現在のロボットモデルに対して、このロボットモデルの移動速度を3次元ベクトルVmovとおく。この移動速度とは、例えば、干渉チェック制御装置内で計算された各ロボットモデルの端点速度という速度データ102から求められるロボットモデルの移動速度であり、ロボットモデルの並進速度成分を利用する。例えば、Vmovの大きさに比例した拡張比Kex(ただし、Kex>1)分だけ干渉判定領域rを拡張すると、従来方法による拡張された干渉判定領域803は、LijexLimとして、下式(1)で定義される(図4(b)参照)。
LijexLim=Kex・r (1)
【0033】
これに対して、本発明による拡張された干渉判定領域804は、モデル移動方向に関しては、半径rによる干渉判定領域がKexだけ拡張され、進行していない方向(モデル移動方向と180度異なる方向)に関しては、所定の干渉判定領域(すなわち、半径rによる干渉判定領域)からサイズ変更がないようにして決定される。
【0034】
この結果、モデル移動方向に図4(c)に示す814だけ中心をずらすことで、拡張された干渉判定領域804を決定している。結局、拡張された干渉判定領域804における拡張された半径rexは、下式(2)というサイズになる。
【0035】
【数1】
【0036】
このとき、拡張された干渉判定領域804の中心点位置ベクトルPcexは、ロボットモデル中心点位置ベクトルPcからずれて、下式(3)だけずらせばよいことになる。
【0037】
【数2】
【0038】
このように、拡張された干渉判定領域804を決定した場合に、干渉判定用領域計算手段113は、モデル位置修正情報104aとして上式(2)、(3)で定義されたrexおよびPcexを、ロボット構成部分同士の距離を計算するロボット間距離計算手段112に入力する(図1参照)。
【0039】
本実施の形態1の構成では、ロボット構成部分のモデル同士の距離計算を行う際にも、ロボット構成部分のモデルの中心が移動したものとして扱う必要がある。このため、ロボット構成部分同士の距離を計算するロボット間距離計算手段112は、速度・位置記憶手段111に記憶された速度・位置データ102と、干渉判定用領域計算手段113で求められたモデル位置修正情報104aとに基づいて、ロボット構成部分同士の距離を計算する。
【0040】
干渉判定用領域計算手段113により拡張された干渉判定領域804のサイズは、従来方法による拡張された干渉判定領域803よりも小さくなる。しかしながら、本来干渉の可能性が高いロボットモデルの移動方向に対しては、同等の干渉判定領域を保ったままで、後方方向など不必要に拡張していた干渉判定領域をなくすか、あるいは小さくした状態で、干渉チェックを行うことができる。
【0041】
また、図4(d)に示すような、本発明による拡張された干渉判定領域805を決定することもできる。モデル移動方向に関しては、その移動分(図4(d)における815に相当)だけ中心をずらした上で、所定の干渉判定領域(すなわち、半径rによる干渉判定領域)からサイズ変更がないようにして半球が決定される。
【0042】
一方、進行していない方向(モデル移動方向と180度異なる方向)に関しても、所定の干渉判定領域(すなわち、半径rによる干渉判定領域)からサイズ変更がないようにして半球が決定される。そして、モデル移動方向に関する領域と進行していない方向に関する領域でそれぞれ規定された半球の間を、中心が移動した線分から等距離となるような円柱で結ぶことにより、拡張された干渉判定領域805が決定される。
【0043】
また、図5は、本発明の実施の形態1における干渉判定領域の定義方法の説明図であり、線分から等距離となるような円柱と、その両端を覆う半球とからなる立体モデルとしてモデル化された構成部分における干渉判定領域を示している。図5(a)は、従来方法による干渉判定領域を示しており、図5(b)は、本発明の干渉判定領域を示している。
【0044】
図5における符号811〜814は、次のものを表している。
811:実際のロボットを線分から等距離となるような円柱と、その両端を覆う半球
とで近似したロボットモデル
812:811としてモデル化を行った際の所定の干渉判定領域
813:従来方法による拡張された干渉判定領域
804:本発明による拡張された干渉判定領域
【0045】
このような図5に示すような形状の構成部分についても、先の図4(c)、(d)の説明と同様に、モデル移動方向に関する領域と進行していない方向に関する領域を考慮することで、適切な干渉判定領域を設定できる。
【0046】
この図4(c)、(d)あるいは図5に示したように、拡張された干渉判定領域804、805、814を決定することによるメリットを、図6、図7を用いて具体的に説明する。図6は、本発明の実施の形態1における追う側と逃げる側のモデル間の干渉に関する説明図である。図6(a)は、従来方法による拡張された干渉判定領域803を用いた場合の追う側と逃げる側のモデル間の干渉を例示している。一方、図6(b)は、本発明による拡張された干渉判定領域804を用いた場合の追う側と逃げる側のモデル間の干渉を例示している。
【0047】
速度に応じて制動距離分だけ領域を拡張した場合に、図6(a)に示すように、従来手法の場合には、逃げる側の領域が過剰に延びており、交差領域820が発生し、追う側が過度に停止をすることになる。一方、図6(b)に示すように、本発明では、モデル移動方向と180度異なる方向に関しては、所定の干渉判定領域からサイズ変更がないようにして決定されるため、交差領域が発生しない。この結果、本来拡張しなくてよい方向に緩衝領域を拡張しないことで、ロボットの停止状態を減らし、ロボットシステムの作業効率を上げる効果がある。
【0048】
また、図7は、本発明の実施の形態1におけるハンドなどのエンドエフェクタモデルが近くをすれ違う場合の干渉に関する説明図である。従来手法であるモデル803では、誤検知が発生(すなわち、先の図6(a)と同様に交差領域が発生)していた。これに対して、本発明による拡張された干渉判定領域805では、交差領域が発生せず、干渉判定で停止なくすれ違うことができる。この結果、先の図6の場合と同様に、ロボットの停止状態を減らし、ロボットシステムの作業効率を上げる効果がある。
【0049】
最後に、干渉判定手段114および指令値生成手段115における処理について説明する。干渉判定手段114は、干渉判定を行いたいロボット構成部分2つ(LiとLj)の全てのロボット構成部分の組に対して、ロボット構成部分のロボットモデル同士の最近接距離で定義されるロボット構成部分のモデル間距離Lij103と干渉判定領域(LiLimとLjLim)の和で定義される干渉判定用の閾値LijLim104bを利用して干渉判定を行う。
【0050】
干渉判定手段114は、下式(4)が成り立つときに、干渉危険ありと判定して停止開始を行う指示105を指令値生成手段115に通知する。
Lij≦LijLim (4)
【0051】
次に、指令値生成手段115は、干渉判定結果に応じて計算ステップごとに指令値を作り出す。より具体的には、指令値生成手段115は、干渉判定領域同士が交差している場合には、停止の為の減速を指令し、干渉判定領域が交差していない場合には、目標指令に従った指令値を計算する。さらに、指令値生成手段115は、現在のロボット姿勢と速度101をロボット速度・位置記憶手段111に記憶させる。
【0052】
以上のように、実施の形態1によれば、以下の効果を得ることができる。速度に応じてあるいはロボット間距離に応じて拡張された干渉判定領域を定義する際に、従来技術においては、進行方向に対しては十分に判定領域を広げる効果があった。しかしながら、進行方向以外の方向に対しては、過度に拡張されるために、交差領域を誤検知する結果となっていた。この結果、高速で動作をさせると、不要な停止を引き起こすといった問題があった。
【0053】
これに対して、本実施の形態1では、移動速度と移動方向に応じた指向性を考慮しており、中心が進行方向にずれて、元の領域を含むように拡張された干渉判定領域(図4(c)の干渉判定領域804参照)、あるいは球の進行方向に円筒領域として定義した拡張された干渉判定領域(図4(d)の干渉判定領域805参照)を利用している。この結果、複数台のロボットから構成されるようなロボットシステムにおいて、交差領域を誤検知する可能性を低減することができ、不要な停止指令を少なくして、システムの作業効率を上げる効果がある。
【0054】
実施の形態2.
図8は、本発明の実施の形態2における干渉チェック制御装置の構成図である。先の実施の形態1における図1の構成と比較すると、この図8の構成は、基本的には、図1と同一であるが、モデル位置修正104aが必要ない構成となっている点が異なっている。
【0055】
より具体的には、干渉判定用領域計算手段113の機能が異なっている。本実施の形態2における干渉判定用領域計算手段113は、ロボットモデルの進行方向ベクトルと最短距離方向ベクトルのなす角に応じて干渉判定領域の拡張サイズを決定するように構成されている。
【0056】
先の実施の形態1では、所定の干渉判定領域をさらに移動速度と移動方向に応じて指向性を持って拡張させる干渉判定用領域計算手段113と、ロボット構成部分のモデル同士の距離を計算するロボット間距離計算手段112との間には関連があった。すなわち、先の実施の形態1における干渉判定領域の拡張方法は、モデルが中心軸となる線分を並進移動した際に、干渉判定領域を元の判定領域を包む形で拡張する形態であった。
【0057】
このような、先の実施の形態1の拡張方法では、ロボット構成部分のモデル同士の距離計算を行う際にも、ロボット構成部分のモデルの中心が移動したものとして扱う必要がある。このため、ロボット構成部分同士の距離を計算するロボット間距離計算手段112に、修正されたモデル位置修正情報104aを入力することが必要であった。
【0058】
これに対して、本実施の形態2における干渉判定領域の計算方法では、モデル中心軸となる線分からロボットモデルの進行方向ベクトルと最短距離方向ベクトルのなす角に応じて拡張サイズを決定する。例えば、簡単のために、球モデルにおいて、球モデルの干渉判定領域をLiLim進行方向への拡張率Kex(≧1)、ロボットモデル(ここでは球モデル)の移動する方向で定義する進行方向ベクトルVd、干渉チェックを行う2つのロボットモデルのそれぞれの最近接点を結んでできる方向ベクトルを判定する最近接点の方向ベクトルNclsとする。このとき、判定方向への干渉判定領域の閾値LiLimdは、下式(5)、(6)というLiLimdを定義して、判定する線分モデルLinkiとLinkjに対して、それぞれLiLimdとLjLimdを生成する。
【0059】
【数3】
【0060】
ここで、LijLimdは、
LijLimd=LiLimd+LjLimd (7)
で定義される。干渉判定用領域計算手段113は、このようにして、判定方向への干渉判定用の閾値104を算出し、干渉判定手段114に対して出力する。このとき、LiLimdおよびLjLimdは、例えば、上式(5)(6)のように定義されることで、本実施の形態1に示したような円柱や球のような単純な形状に限らない拡張した干渉判定領域を定義できる。
【0061】
そして、干渉判定手段114は、ロボット構成部分間距離103に対して、このLijLimdを用い、干渉判定領域の交差判定を、下式(8)に基づいて行う。
Lij≦LijLimd (8)
この結果、先の実施の形態1の図1で示したモデル位置修正104aが不要となる。
【0062】
以上のように、実施の形態2によれば、以下の効果を得ることができる。本実施の形態2では、モデル中心軸となる線分からロボットモデルの進行方向ベクトルと最短距離方向ベクトルのなす角に応じて拡張サイズを決定している。これにより、先の実施の形態1と同様に、複数台のロボットから構成されるようなロボットシステムにおいて、不要な停止指令を少なくして、システムの作業効率を上げる効果がある。
【0063】
さらに、本実施の形態2では、拡張される干渉判定領域を、変形する形状として幾何的に算出するのではなく、数値的に算出できるため、判定方法としては、より広く使うことができる。つまり、特に、上式(5)(6)に限定することはなく、すべての方向に対して所定の干渉判定領域LiLimが本実施の形態2で定義される拡張された干渉判定領域LijLimd以下の大きさになっている数式表現であればよいので、本実施の形態1における拡張した干渉判定領域の定義よりも多くの拡張した干渉判定領域を定義することができ、より交差領域を誤検知することの少ない干渉判定領域を選ぶことができる。
【0064】
実施の形態3.
本実施の形態3では、所定の干渉判定領域をさらに移動速度と移動方向に応じて指向性を持って拡張させる干渉判定用領域計算手段113が、停止時などの特定の条件下において、ロボットモデルと干渉判定領域の初期の大きさを揃えるように変更する場合について説明する。構成は、先の実施の形態1における図1と同様である。
【0065】
図9は、本発明の実施の形態3におけるロボットとロボットモデルと干渉回避領域の包含関係を表した説明図である。干渉判定領域を用いた干渉判定方法において、一般的には、ロボットモデルや干渉判定領域は、図9に示すように、ロボット51の周りを十分に取り囲むロボットモデル52のサイズに対して、マージンを持たせた干渉判定領域53を利用している。
【0066】
これは、各ロボット間の精度誤差やロボット高速動作時にも干渉することなく停止するため、余分に領域を広げていることによる。本発明における干渉判定領域の拡張方法においても、先の実施の形態1、2で説明したように、確実に干渉回避を行うために、干渉判定領域は、従来手法と同様に、やや大きめに設定されることになる。しかしながら、このような設定によって、完全には不必要な停止を無くせない場合が生じることとなる。
【0067】
そこで、本実施の形態3では、移動速度に応じて、例えば、ロボットが停止時あるいは所定の速度以下の低速移動時には、ロボットモデルと干渉判定領域の初期の大きさを揃えることで、不必要な停止をより低減させることを行う。このように、拡張させる干渉判定領域を変更し、例えば、停止時にはロボットモデルと干渉判定領域の大きさを同じにすることで、他の移動中のロボットを停止させなくても作業続行可能である場合(例えば、低速で近接してすれ違い移動するような場合)には、作業が続けられるようになる。
【0068】
この際の干渉判定領域の大きさは、速度に応じて、先の数式(1)で定義したもので定義し、ロボットモデルの領域の大きさをrm(<球モデルの干渉判定領域の半径r)とおくときに、干渉判定領域の大きさLijexLimは、
LijexLim=Kex・rm (9)
と定義される。すなわち、rではなくrmに対して、移動速度の大きさに比例した拡張比Kexを掛け合わせることで干渉判定領域の大きさを求めている。
【0069】
以上のように、実施の形態3によれば、先の実施の形態1よりも交差領域を誤検知する可能性を低減することができ、さらに作業停止時間が減り、作業効率が上がるという効果がある。
【0070】
実施の形態4.
本実施の形態4では、干渉ありと判定された後の減速停止動作中に、その速度に応じて干渉判定を継続して行い、干渉の心配がないと判断された場合には、停止のための減速を中断し動作を再開する方法について説明する。
【0071】
図10は、本発明の実施の形態3において、ロボットモデル間距離Lijが許容値LijLimに達したために停止のための減速開始を行う状態を示した図である。また、図11は、本発明の実施の形態3において、減速動作による干渉判定領域の縮小に伴って小さくなった許容値L'ijLimとの比較で、許容値よりもロボットモデル間距離Lijが大きくなり、停止動作が不要になったため、動作を再開した状態を示した図である。
【0072】
図10に示すように、時刻tnowにおいて、拡張された干渉判定領域に対して大きさLijLim603を用いて干渉判定を行った際に、干渉ありと判定された場合には、停止のための減速動作を開始する。この場合、本実施の形態4における干渉チェック制御装置は、減速中にも干渉判定を継続して行う。
【0073】
そして、図11に示すように、時刻t’nowにおいて、減速に従い縮小が生じた干渉判定領域から算出される判定のための閾値L'ijLim606を用いて干渉判定を行った際に、L'ijLim≦LijLimが成り立った場合には、停止のための減速を中断し、動作を再開する。
【0074】
停止動作に入った後に速度が減速すると、先の実施の形態3で説明した方法を用いると、算出される拡張された干渉判定領域の大きさは、現状の速度に応じて変化する。この結果、干渉する危険があるという判定(図10の時刻tnowに相当)から、干渉する危険が無いという判定(図11の時刻t’nowに相当)に変わる場合がある。
【0075】
従って、本実施の形態4のように、現状の速度に応じて拡張された干渉判定領域の大きさを求めることで、干渉回避動作を中断できるかどうかを判定し、干渉回避動作が中断されるときには引き続き動作を継続させることができる。これによって、停止するロボットが停止位置として、より目標位置に近いところで停止する、あるいは作業を継続することもできる。
【0076】
以上のように、実施の形態4によれば、現状の速度に応じて拡張された干渉判定領域の大きさを求めることで、干渉回避動作を再開することが可能となり、先の実施の形態1よりも交差領域を誤検知する可能性を低減することができ、さらに作業停止時間が減り、作業効率が上がるという効果がある。
【0077】
実施の形態5.
第5の実施の形態では、ロボット相互の軌道に応じて、干渉判定領域を切り替える場合について説明する。所定の干渉判定領域をさらに移動速度と移動方向に応じて指向性を持って拡張させる干渉判定用領域計算手段113は、例えば、2つのロボット構成部分が直線軌道で行き違う場合(すなわち、互いの直線軌道が平行である場合)は、先の図4(d)で説明したような、拡張された干渉判定領域805を用いることが考えられる。
【0078】
図12は、本発明の実施の形態5における干渉判定の説明図である。ここでは、図12に示すように、2つのロボット構成部分が直線軌道で行き違うという場合において、従来方法と本発明の手法の比較を説明する。
【0079】
図12では、ある時刻tiからti+4までの離散的な時間におけるロボット構成部分のモデル間の距離計算から干渉チェックを行う場合を例示している。図12において、77aは、実際に停止が必要な場合に対して従来の判定方法を用いた場合を示しており、77bは、実際に停止が不要な場合に対して従来の判定方法を用いた場合を示している。これに対して、78aは、実際に停止が必要な場合に対して本実施の形態5の判定方法を用いた場合を示しており、78bは、実際に停止が不要な場合に対して本実施の形態5の判定方法を用いた場合を示している。
【0080】
従来の判定方法(77a、77b)では、速度に応じて判定領域を大きくする手法を用いることで、ロボット構成部分のモデル同士のチェックで、見落としていた干渉を見落とさなくなっている。しかしながら、77bでは、拡張された干渉判定領域が速度に応じて大きくなっているため、実際には干渉しないのだが、干渉すると判定されてしまっている。
【0081】
一方、本実施の形態5の判定方法(78a、78b)では、先の図4(d)で説明したような、拡張された干渉判定領域805を用いている。この結果、実際に停止が必要な場合(78a)には、干渉すると判定でき、実際に停止が必要な場合(78b)には、不必要な干渉判定をしないで済んでいることが分かる。
【0082】
この例では、直線軌道に適した図4(d)の拡張された干渉判定領域805を用いたが、軌道に応じて、図4(c)の拡張された干渉判定領域804を用いてもよく、ロボット相互の軌道があらかじめ特定できる場合には、その軌道に応じて、拡張された干渉判定領域を適切なサイズに設定することで、不必要な干渉判断を防止することができる。
【0083】
以上のように、実施の形態5によれば、ロボット相互の軌道があらかじめ特定できる場合には、軌道に応じて、拡張された干渉判定領域を適切なサイズに設定することができる。この結果、従来方法では、干渉が実際に起こらなくても干渉すると判定されていた場合に対して、ユーザがチェックと指令値の再編集をする必要があったが、そのような手間がなくなり、オフライン干渉チェックに関して作業効率が上がるという効果が得られる。
【図面の簡単な説明】
【0084】
【図1】本発明の実施の形態1における干渉チェック制御装置の構成図である。
【図2】本発明の実施の形態1におけるロボット構成部分をモデル化した簡易なロボットモデルと干渉判定領域の例示図である。
【図3】本発明の実施の形態1におけるモデル化された2線分間の最近接点を幾何的に表した図である。
【図4】本発明の実施の形態1における干渉判定用領域計算手段による拡張された干渉判定領域の決定方法の説明図である。
【図5】本発明の実施の形態1における干渉判定領域の定義方法の説明図である。
【図6】本発明の実施の形態1における追う側と逃げる側のモデル間の干渉に関する説明図である。
【図7】本発明の実施の形態1におけるハンドなどのエンドエフェクタモデルが近くをすれ違う場合の干渉に関する説明図である。
【図8】本発明の実施の形態2における干渉チェック制御装置の構成図である。
【図9】本発明の実施の形態3におけるロボットとロボットモデルと干渉回避領域の包含関係を表した説明図である。
【図10】本発明の実施の形態3において、ロボットモデル間距離Lijが許容値LijLimに達したために停止のための減速開始を行う状態を示した図である。
【図11】本発明の実施の形態3において、減速動作による干渉判定領域の縮小に伴って小さくなった許容値L'ijLimとの比較で、許容値よりもロボットモデル間距離Lijが大きくなり、停止動作が不要になったため、動作を再開した状態を示した図である。
【図12】本発明の実施の形態5における干渉判定の説明図である。
【符号の説明】
【0085】
111 ロボット速度・位置記憶手段、112 ロボット間距離計算手段、113 干渉判定用領域計算手段、114 干渉判定手段、115 指令値生成手段。
【技術分野】
【0001】
本発明は、近接配置され、動作領域が重複する複数のロボット間の干渉チェックを行う干渉チェック制御装置および干渉チェック制御方法に関する。
【背景技術】
【0002】
ロボット同士の干渉チェックを行うために、ロボットを、例えば、円柱といった簡易なモデル(近似立体)に近似し、近似したモデル同士の干渉状態をチェックする方法が、従来行われていた。
【0003】
さらに、動作中などのオンラインで干渉チェックを行いながら停止指令を出す場合には、ロボットの動作速度および位置に応じてロボットモデルよりも大きい干渉判定領域を定義して、その領域同士が干渉すれば停止を開始する方法(例えば、特許文献1、2参照)が既知の技術として開示されている。
【0004】
【特許文献1】特開昭62−159203号公報
【特許文献2】特許3351330号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術には、以下のような課題がある。
近似立体サイズを大きくした干渉チェックを行っている従来の方法は、動作速度に応じて近似立体サイズを大きくすることで、停止に必要とされる制動距離を見込んで判定ができる。このため、干渉する可能性を小さくすることができるが、その一方で、干渉することなく作業が継続できる場合にも、干渉チェックで干渉ありと判定し、頻繁に停止してしまい、作業時間が長くなってしまうといった問題があった。
【0006】
本発明は、このような課題を解決するためになされたものであり、干渉することなく作業が継続できる場合に干渉ありと判定してしまうことを抑制し、複数のロボットの作業効率を改善することができる干渉チェック制御装置および干渉チェック制御方法を得ることを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る干渉チェック制御装置は、それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、ロボット同士の干渉を回避する干渉チェック制御装置であって、前回ステップまでの計算周期で算出されたロボットの速度・位置データを記憶する速度・位置記憶手段と、速度・位置記憶手段に記憶された速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算手段と、速度・位置記憶手段に記憶された速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求める干渉判定用領域計算手段と、干渉判定用領域計算手段で求めた干渉判定領域で規定される干渉判定距離と、ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定手段と、干渉判定手段による干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを速度・位置記憶手段に記憶させる指令値生成手段とを備え、干渉判定用領域計算手段は、求めた干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、干渉判定手段は、干渉判定用領域計算手段で決定された拡張された干渉判定領域で規定される干渉判定距離と、ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定するものである。
【0008】
また、本発明に係る干渉チェック制御方法は、それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、ロボット同士の干渉を回避する干渉チェック制御方法であって、記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算ステップと、記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求めるステップと、干渉判定用領域計算ステップで求めた干渉判定領域で規定される干渉判定距離と、ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定ステップと、干渉判定ステップによる干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを記憶部に記憶させる指令値生成ステップとを備え、干渉判定用領域計算ステップは、求めた干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、干渉判定ステップは、干渉判定用領域計算ステップで決定された拡張された干渉判定領域で規定される干渉判定距離と、ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定するものである。
【発明の効果】
【0009】
本発明に係る干渉チェック制御装置および干渉チェック制御方法によれば、干渉判定領域のサイズを、単純に近似立体の法線方向に拡張するのではなくて、移動速度と移動方向に応じた指向性を持たせて拡張することにより、干渉することなく作業が継続できる場合に干渉ありと判定してしまうことを抑制し、複数のロボットの作業効率を改善することができる干渉チェック制御装置および干渉チェック制御方法を得ることができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の干渉チェック制御装置および干渉チェック制御方法の好適な実施の形態につき図面を用いて説明する。
本発明は、近似立体を拡張することによって不必要に停止が生じる場合について分析し、近似立体サイズを単純に大きくすることが原因で停止が頻繁に起こっていることを見出した。そこで、本発明は、近似立体の移動速度と移動方向に注目して、近似立体を効果的に変形させることで、不必要な停止が起こる方向には領域を拡張しない干渉判定領域を設定し、従来と比較して優れた干渉チェックを実現している。
【0011】
実施の形態1.
【0012】
まず始めに、ロボット同士の干渉判定について説明する。まず、ロボットの可動範囲によって形成される、ロボットが通過しうる空間を動作領域と表現する。2台以上のロボット同士で動作領域が交差する場合は、ロボット同士の衝突の危険性が出てくる。このようなロボット同士の衝突を表す表現として、ロボットの占めている空間同士が交差している状態に干渉という表現を用いる。そのほか、後述の干渉判定領域同士が交差する状態にも干渉という表現を用いる。また、このような干渉が生じるかどうかを確認することを干渉チェックと呼ぶ。干渉チェックは、ロボットを、例えば、簡易な幾何モデル(点、線分、球、円筒、多面体)に置き換えて、干渉をチェックしたいロボットモデル間の距離を計算する。そして、計算された距離が許容値以内か否かを判定することで、干渉チェックが行われるのが一般的である。干渉チェックは、目的によって、以下の2つの利用方法がある。
【0013】
シミュレーション上のロボット同士において干渉するか否かを検出する場合は、干渉の検出が目的となる。このため、干渉チェックとしては、動作をシミュレーション上で再生し、ロボットモデル同士の干渉があるか否かを判定することとなり、指令値の変更は、ユーザにゆだねられる。
【0014】
一方で、動作中のロボット同士あるいはシミュレーションにおいては、干渉の検出とともに、干渉を回避することが目的となる。この場合には、実際に干渉が起こるよりも十分に早く干渉チェックを行う必要がある。従って、通常、ロボットモデルよりも大きい制動距離を見込んだ干渉判定領域を定義して、干渉判定領域同士が交差した場合に、停止を開始して干渉を防止する。ここでは、線分の周りに一定距離上に境界をもつ空間領域をロボットモデルとして定義し、干渉判定領域は、ロボットモデルと相似形状をしたロボットモデルよりも大きい一定距離上に境界をもつ空間領域として定義している。
【0015】
上述した干渉チェックに関する事項を踏まえ、次に、本実施の形態1における干渉チェック方法について、具体的に説明する。図1は、本発明の実施の形態1における干渉チェック制御装置の構成図である。この図1の干渉チェック制御装置は、ロボット速度・位置記憶手段111、ロボット間距離計算手段112、干渉判定用領域計算手段113、干渉判定手段114、および指令値生成手段115を備えている。
【0016】
図示していないが、上位に位置するロボット制御装置は、一定の計算周期に従って計算ステップごとに、ロボットの指令値を作り出している。その際に、ロボットの目標手先位置姿勢や各関節の目標角度、目標角速度、目標角加速度を計算している。それらの情報を用いて、干渉チェック制御装置は、ロボットの現在の6自由度手先位置姿勢および現在速度と、ロボットを構成するロボット構成部分の端点位置と端点速度とを算出している。例えば、各関節角度データをもとに運動学を解いてロボットの姿勢を計算して、該当する端点位置を算出可能である。また、端点速度は、端点速度の差分あるいは各駆動関節の変化速度から運動学を用いて解くことができる。また、6自由度手先位置姿勢と端点位置および端点速度の計算は、ロボット制御装置内において得られた結果を用いて計算しているので、ロボット制御装置内でも算出することができる。算出されたこれらのデータを、以下の説明では、速度・位置データ101と称することとする。そして、ロボット制御装置は、算出した速度・位置データ101を、各計算周期ごとにロボット速度・位置記憶手段111に記憶させる。
【0017】
なお、ここで、6自由度手先位置姿勢とは、ハンドなどエンドエフェクタのワールド座標系に対する位置姿勢を指す。ただし、スカラロボット(4自由度)など自由度が6に満たないロボットでは、自由度に応じて手先位置姿勢が求められる。また、ロボット構成部分とは、例えば、ロボットの代表的剛体要素(例えば、ベース部、ベース側アーム部、リスト側アーム部、リスト部、およびエンドエフェクタ部)に分けてそれぞれの部分同士で干渉を考えるための、ロボットの干渉チェックの時のチェックする単位要素である。また、あるロボット構成部分は、ある1つの可動部分の動作により、他のロボット構成部分との干渉が発生しうるが、可動部分ごとにすべてを構成部分にすると計算量が増加するため、この例では、干渉チェックの計算量を減らすためになるべく少ない構成部分に分割している。
【0018】
また、ロボット構成部分の端点情報を記憶しておく理由は、本実施の形態1で後述するように、ロボットをモデル化し距離計算や干渉判定を行う際に、線分モデルを用いているためである。従って、このロボット構成部分の端点情報としては、各リンクのモデルを構成するのに必要な端点位置や端点の移動速度情報であればよい。例えば、ロボット構成部分のベース側アーム部についてみると、ある時刻t0のベース側アーム部について線分化したモデルについて、ベース側アーム部の線分モデルの端点の位置座標とその座標点の移動速度を計算して記憶しておく。線分の端点の位置座標の計算方法は、ある時刻t0の関節角度情報から運動学を用いて求め、線分の端点速度については、例えば、時刻t0における関節角速度情報を情報から運動学を用いて求めることになる。
【0019】
次に、ロボット間距離計算手段112は、ロボット構成部分同士の距離を計算する手段であり、ロボット速度・位置記憶手段111に記憶された前回ステップまでの計算周期で算出された速度・位置データ102と、速度・位置データ101と同等のデータとしてあるロボット制御装置以外の外部から得られる速度・位置データ情報107とを読み込む。ここで、101と同等のデータとは、外部のロボット制御装置で算出されている、ロボットの現在の6自由度手先位置姿勢および現在速度と、ロボットを構成するロボット構成部分の端点位置と端点速度のことである。また、あるロボット制御装置以外の外部とは、例えば、他のロボット制御装置であったり、可動する冶具の制御装置などあるロボットと干渉する危険性のある移動をする機械装置の制御装置が挙げられる。また、移動する機械装置に限らず、干渉する危険性がある静止している機械装置についても、その機械装置の位置情報を外部から提供する。
【0020】
次に、ロボット間距離計算手段112は、読み込んだデータに基づいて、対象としているロボット構成部分同士(例えば、ここでは、ロボット構成部分をモデル化した簡易なロボットモデル同士)の距離計算を行い、ロボット構成部分間距離(例えば、ここでは、ロボットモデル同士のロボットモデル間距離)103を、Lij103として出力する。
【0021】
図2は、本発明の実施の形態1におけるロボット構成部分をモデル化した簡易なロボットモデルと干渉判定領域の例示図である。図2(a)のような構成のロボットモデルは、図2(b)に示すように、ロボット構成部分をモデル化した簡易なロボットモデルとして扱うことができる。
【0022】
より具体的には、各構成部分は、点および線分でモデル化される。さらに、モデル化された構成部分が線分の場合には、干渉を判定するための領域は、その線分から等距離となるような円柱と、その両端を覆う半球とからなる立体モデルとしてモデル化される。また、モデル化された構成部分が点の場合には、干渉を判定するための領域は、その点から等距離となる球からなる立体モデルとしてモデル化される。このような立体モデルをロボットモデルと呼ぶ。
【0023】
例えば、ロボット構成部分であるロボットアーム部11a〜14aは、線分でモデル化されたロボットアーム部モデル11b〜14bに置き換えられる。また、ロボット構成部分の1つであるハンド10aは、ハンドモデル10bに置き換えられる。そして、ロボット間距離計算手段112は、ロボット同士の構成部分間の最も接近している部分の距離測定を、このようにしてモデル化された簡易なロボットモデル同士の構成部分間の最も接近している部分の距離測定により行う。
【0024】
図3は、本発明の実施の形態1におけるモデル化された2線分間の最近接点を幾何的に表した図である。例えば、ロボットモデル間距離を計測するための2つの線分をモデルLinkiとLinkjとすると、ロボット間距離計算手段112は、この2線分間の最近接点31、32(41、42)からモデル間距離Lij33(43)を導くようにしている。
【0025】
2線分間の最近接点およびモデル間距離Lij103の計算方法は、例えば、特開昭60−217410号公報に開示されているような手法を用いることができる。ただし、ロボットモデル間の距離は、線分モデル同士に限らず、その他にも、例えば、球や円筒や多面体でモデル化したロボットモデルに対して、モデル同士の最近接距離を計算しても構わない。
【0026】
次に、所定の干渉判定領域を、さらに移動速度と移動方向に応じて指向性を持って拡張させることで、「拡張された干渉判定領域」を求める干渉判定用領域計算手段113の機能について説明する。ここで、所定の干渉判定領域とは、予めロボットモデルと同じかロボットモデルよりも大きく設定され、ロボットモデルから距離LiLimだけ離れた部分を境界とする領域で定義される。
【0027】
先の図2(b)を例に説明すると、ロボットを包む簡易のLiLimロボットモデルを表す領域は、10c〜14cで表される。そして、干渉を判定するための所定の干渉判定領域は、10d〜14dで表される。前述したように、干渉判定領域は、ロボットモデルよりも常に大きいものとする。そして、本実施の形態1における干渉チェックは、停止動作をするか否かを判定する干渉判定領域を用いて行うものを対象としている。
【0028】
拡張された干渉判定領域を求めるために、干渉判定用領域計算手段113は、前回ステップまでの計算周期にて算出された速度・位置データ102(ロボットの現在の6自由度手先姿勢および現在速度と、ロボットを構成するロボット構成部分である各リンクの端点位置および各リンクの端点速度情報)を用いて、所定の干渉判定領域を、現在進行している方向に対して拡張することで、「拡張された干渉判定領域」を決定する。さらに、「拡張された干渉判定領域」を決定した後に、干渉判定用領域計算手段113は、判定用の閾値を決定する。
【0029】
図4は、本発明の実施の形態1における干渉判定用領域計算手段113による拡張された干渉判定領域の決定方法の説明図である。この図4では、説明を簡単にするために、半径rの球で所定の干渉判定領域が定義されている際に、拡張された干渉判定領域LijexLim804を決定するための方法について説明する。
【0030】
図4における符号800〜805は、次のものを表している。
800:ロボットモデル速度
801:実際のロボットを球で覆うように近似したロボットモデル
802:球でモデル化を行った際の所定の干渉判定領域
803:従来方法による拡張された干渉判定領域
804、805:本発明による拡張された干渉判定領域
【0031】
また、図4(a)は、所定の干渉判定領域802を示した図であり、図4(b)は、従来方法による拡張された干渉判定領域803を示した図である。また、図4(c)、図4(d)は、本発明による2通りの拡張された干渉判定領域804、805を示した図である。
【0032】
拡張された干渉判定領域804の領域拡張方法は、現在のロボットモデルの移動方向に向かって移動速度の大きさに比例して所定の干渉回避領域802を拡張するものである。現在のロボットモデルに対して、このロボットモデルの移動速度を3次元ベクトルVmovとおく。この移動速度とは、例えば、干渉チェック制御装置内で計算された各ロボットモデルの端点速度という速度データ102から求められるロボットモデルの移動速度であり、ロボットモデルの並進速度成分を利用する。例えば、Vmovの大きさに比例した拡張比Kex(ただし、Kex>1)分だけ干渉判定領域rを拡張すると、従来方法による拡張された干渉判定領域803は、LijexLimとして、下式(1)で定義される(図4(b)参照)。
LijexLim=Kex・r (1)
【0033】
これに対して、本発明による拡張された干渉判定領域804は、モデル移動方向に関しては、半径rによる干渉判定領域がKexだけ拡張され、進行していない方向(モデル移動方向と180度異なる方向)に関しては、所定の干渉判定領域(すなわち、半径rによる干渉判定領域)からサイズ変更がないようにして決定される。
【0034】
この結果、モデル移動方向に図4(c)に示す814だけ中心をずらすことで、拡張された干渉判定領域804を決定している。結局、拡張された干渉判定領域804における拡張された半径rexは、下式(2)というサイズになる。
【0035】
【数1】
【0036】
このとき、拡張された干渉判定領域804の中心点位置ベクトルPcexは、ロボットモデル中心点位置ベクトルPcからずれて、下式(3)だけずらせばよいことになる。
【0037】
【数2】
【0038】
このように、拡張された干渉判定領域804を決定した場合に、干渉判定用領域計算手段113は、モデル位置修正情報104aとして上式(2)、(3)で定義されたrexおよびPcexを、ロボット構成部分同士の距離を計算するロボット間距離計算手段112に入力する(図1参照)。
【0039】
本実施の形態1の構成では、ロボット構成部分のモデル同士の距離計算を行う際にも、ロボット構成部分のモデルの中心が移動したものとして扱う必要がある。このため、ロボット構成部分同士の距離を計算するロボット間距離計算手段112は、速度・位置記憶手段111に記憶された速度・位置データ102と、干渉判定用領域計算手段113で求められたモデル位置修正情報104aとに基づいて、ロボット構成部分同士の距離を計算する。
【0040】
干渉判定用領域計算手段113により拡張された干渉判定領域804のサイズは、従来方法による拡張された干渉判定領域803よりも小さくなる。しかしながら、本来干渉の可能性が高いロボットモデルの移動方向に対しては、同等の干渉判定領域を保ったままで、後方方向など不必要に拡張していた干渉判定領域をなくすか、あるいは小さくした状態で、干渉チェックを行うことができる。
【0041】
また、図4(d)に示すような、本発明による拡張された干渉判定領域805を決定することもできる。モデル移動方向に関しては、その移動分(図4(d)における815に相当)だけ中心をずらした上で、所定の干渉判定領域(すなわち、半径rによる干渉判定領域)からサイズ変更がないようにして半球が決定される。
【0042】
一方、進行していない方向(モデル移動方向と180度異なる方向)に関しても、所定の干渉判定領域(すなわち、半径rによる干渉判定領域)からサイズ変更がないようにして半球が決定される。そして、モデル移動方向に関する領域と進行していない方向に関する領域でそれぞれ規定された半球の間を、中心が移動した線分から等距離となるような円柱で結ぶことにより、拡張された干渉判定領域805が決定される。
【0043】
また、図5は、本発明の実施の形態1における干渉判定領域の定義方法の説明図であり、線分から等距離となるような円柱と、その両端を覆う半球とからなる立体モデルとしてモデル化された構成部分における干渉判定領域を示している。図5(a)は、従来方法による干渉判定領域を示しており、図5(b)は、本発明の干渉判定領域を示している。
【0044】
図5における符号811〜814は、次のものを表している。
811:実際のロボットを線分から等距離となるような円柱と、その両端を覆う半球
とで近似したロボットモデル
812:811としてモデル化を行った際の所定の干渉判定領域
813:従来方法による拡張された干渉判定領域
804:本発明による拡張された干渉判定領域
【0045】
このような図5に示すような形状の構成部分についても、先の図4(c)、(d)の説明と同様に、モデル移動方向に関する領域と進行していない方向に関する領域を考慮することで、適切な干渉判定領域を設定できる。
【0046】
この図4(c)、(d)あるいは図5に示したように、拡張された干渉判定領域804、805、814を決定することによるメリットを、図6、図7を用いて具体的に説明する。図6は、本発明の実施の形態1における追う側と逃げる側のモデル間の干渉に関する説明図である。図6(a)は、従来方法による拡張された干渉判定領域803を用いた場合の追う側と逃げる側のモデル間の干渉を例示している。一方、図6(b)は、本発明による拡張された干渉判定領域804を用いた場合の追う側と逃げる側のモデル間の干渉を例示している。
【0047】
速度に応じて制動距離分だけ領域を拡張した場合に、図6(a)に示すように、従来手法の場合には、逃げる側の領域が過剰に延びており、交差領域820が発生し、追う側が過度に停止をすることになる。一方、図6(b)に示すように、本発明では、モデル移動方向と180度異なる方向に関しては、所定の干渉判定領域からサイズ変更がないようにして決定されるため、交差領域が発生しない。この結果、本来拡張しなくてよい方向に緩衝領域を拡張しないことで、ロボットの停止状態を減らし、ロボットシステムの作業効率を上げる効果がある。
【0048】
また、図7は、本発明の実施の形態1におけるハンドなどのエンドエフェクタモデルが近くをすれ違う場合の干渉に関する説明図である。従来手法であるモデル803では、誤検知が発生(すなわち、先の図6(a)と同様に交差領域が発生)していた。これに対して、本発明による拡張された干渉判定領域805では、交差領域が発生せず、干渉判定で停止なくすれ違うことができる。この結果、先の図6の場合と同様に、ロボットの停止状態を減らし、ロボットシステムの作業効率を上げる効果がある。
【0049】
最後に、干渉判定手段114および指令値生成手段115における処理について説明する。干渉判定手段114は、干渉判定を行いたいロボット構成部分2つ(LiとLj)の全てのロボット構成部分の組に対して、ロボット構成部分のロボットモデル同士の最近接距離で定義されるロボット構成部分のモデル間距離Lij103と干渉判定領域(LiLimとLjLim)の和で定義される干渉判定用の閾値LijLim104bを利用して干渉判定を行う。
【0050】
干渉判定手段114は、下式(4)が成り立つときに、干渉危険ありと判定して停止開始を行う指示105を指令値生成手段115に通知する。
Lij≦LijLim (4)
【0051】
次に、指令値生成手段115は、干渉判定結果に応じて計算ステップごとに指令値を作り出す。より具体的には、指令値生成手段115は、干渉判定領域同士が交差している場合には、停止の為の減速を指令し、干渉判定領域が交差していない場合には、目標指令に従った指令値を計算する。さらに、指令値生成手段115は、現在のロボット姿勢と速度101をロボット速度・位置記憶手段111に記憶させる。
【0052】
以上のように、実施の形態1によれば、以下の効果を得ることができる。速度に応じてあるいはロボット間距離に応じて拡張された干渉判定領域を定義する際に、従来技術においては、進行方向に対しては十分に判定領域を広げる効果があった。しかしながら、進行方向以外の方向に対しては、過度に拡張されるために、交差領域を誤検知する結果となっていた。この結果、高速で動作をさせると、不要な停止を引き起こすといった問題があった。
【0053】
これに対して、本実施の形態1では、移動速度と移動方向に応じた指向性を考慮しており、中心が進行方向にずれて、元の領域を含むように拡張された干渉判定領域(図4(c)の干渉判定領域804参照)、あるいは球の進行方向に円筒領域として定義した拡張された干渉判定領域(図4(d)の干渉判定領域805参照)を利用している。この結果、複数台のロボットから構成されるようなロボットシステムにおいて、交差領域を誤検知する可能性を低減することができ、不要な停止指令を少なくして、システムの作業効率を上げる効果がある。
【0054】
実施の形態2.
図8は、本発明の実施の形態2における干渉チェック制御装置の構成図である。先の実施の形態1における図1の構成と比較すると、この図8の構成は、基本的には、図1と同一であるが、モデル位置修正104aが必要ない構成となっている点が異なっている。
【0055】
より具体的には、干渉判定用領域計算手段113の機能が異なっている。本実施の形態2における干渉判定用領域計算手段113は、ロボットモデルの進行方向ベクトルと最短距離方向ベクトルのなす角に応じて干渉判定領域の拡張サイズを決定するように構成されている。
【0056】
先の実施の形態1では、所定の干渉判定領域をさらに移動速度と移動方向に応じて指向性を持って拡張させる干渉判定用領域計算手段113と、ロボット構成部分のモデル同士の距離を計算するロボット間距離計算手段112との間には関連があった。すなわち、先の実施の形態1における干渉判定領域の拡張方法は、モデルが中心軸となる線分を並進移動した際に、干渉判定領域を元の判定領域を包む形で拡張する形態であった。
【0057】
このような、先の実施の形態1の拡張方法では、ロボット構成部分のモデル同士の距離計算を行う際にも、ロボット構成部分のモデルの中心が移動したものとして扱う必要がある。このため、ロボット構成部分同士の距離を計算するロボット間距離計算手段112に、修正されたモデル位置修正情報104aを入力することが必要であった。
【0058】
これに対して、本実施の形態2における干渉判定領域の計算方法では、モデル中心軸となる線分からロボットモデルの進行方向ベクトルと最短距離方向ベクトルのなす角に応じて拡張サイズを決定する。例えば、簡単のために、球モデルにおいて、球モデルの干渉判定領域をLiLim進行方向への拡張率Kex(≧1)、ロボットモデル(ここでは球モデル)の移動する方向で定義する進行方向ベクトルVd、干渉チェックを行う2つのロボットモデルのそれぞれの最近接点を結んでできる方向ベクトルを判定する最近接点の方向ベクトルNclsとする。このとき、判定方向への干渉判定領域の閾値LiLimdは、下式(5)、(6)というLiLimdを定義して、判定する線分モデルLinkiとLinkjに対して、それぞれLiLimdとLjLimdを生成する。
【0059】
【数3】
【0060】
ここで、LijLimdは、
LijLimd=LiLimd+LjLimd (7)
で定義される。干渉判定用領域計算手段113は、このようにして、判定方向への干渉判定用の閾値104を算出し、干渉判定手段114に対して出力する。このとき、LiLimdおよびLjLimdは、例えば、上式(5)(6)のように定義されることで、本実施の形態1に示したような円柱や球のような単純な形状に限らない拡張した干渉判定領域を定義できる。
【0061】
そして、干渉判定手段114は、ロボット構成部分間距離103に対して、このLijLimdを用い、干渉判定領域の交差判定を、下式(8)に基づいて行う。
Lij≦LijLimd (8)
この結果、先の実施の形態1の図1で示したモデル位置修正104aが不要となる。
【0062】
以上のように、実施の形態2によれば、以下の効果を得ることができる。本実施の形態2では、モデル中心軸となる線分からロボットモデルの進行方向ベクトルと最短距離方向ベクトルのなす角に応じて拡張サイズを決定している。これにより、先の実施の形態1と同様に、複数台のロボットから構成されるようなロボットシステムにおいて、不要な停止指令を少なくして、システムの作業効率を上げる効果がある。
【0063】
さらに、本実施の形態2では、拡張される干渉判定領域を、変形する形状として幾何的に算出するのではなく、数値的に算出できるため、判定方法としては、より広く使うことができる。つまり、特に、上式(5)(6)に限定することはなく、すべての方向に対して所定の干渉判定領域LiLimが本実施の形態2で定義される拡張された干渉判定領域LijLimd以下の大きさになっている数式表現であればよいので、本実施の形態1における拡張した干渉判定領域の定義よりも多くの拡張した干渉判定領域を定義することができ、より交差領域を誤検知することの少ない干渉判定領域を選ぶことができる。
【0064】
実施の形態3.
本実施の形態3では、所定の干渉判定領域をさらに移動速度と移動方向に応じて指向性を持って拡張させる干渉判定用領域計算手段113が、停止時などの特定の条件下において、ロボットモデルと干渉判定領域の初期の大きさを揃えるように変更する場合について説明する。構成は、先の実施の形態1における図1と同様である。
【0065】
図9は、本発明の実施の形態3におけるロボットとロボットモデルと干渉回避領域の包含関係を表した説明図である。干渉判定領域を用いた干渉判定方法において、一般的には、ロボットモデルや干渉判定領域は、図9に示すように、ロボット51の周りを十分に取り囲むロボットモデル52のサイズに対して、マージンを持たせた干渉判定領域53を利用している。
【0066】
これは、各ロボット間の精度誤差やロボット高速動作時にも干渉することなく停止するため、余分に領域を広げていることによる。本発明における干渉判定領域の拡張方法においても、先の実施の形態1、2で説明したように、確実に干渉回避を行うために、干渉判定領域は、従来手法と同様に、やや大きめに設定されることになる。しかしながら、このような設定によって、完全には不必要な停止を無くせない場合が生じることとなる。
【0067】
そこで、本実施の形態3では、移動速度に応じて、例えば、ロボットが停止時あるいは所定の速度以下の低速移動時には、ロボットモデルと干渉判定領域の初期の大きさを揃えることで、不必要な停止をより低減させることを行う。このように、拡張させる干渉判定領域を変更し、例えば、停止時にはロボットモデルと干渉判定領域の大きさを同じにすることで、他の移動中のロボットを停止させなくても作業続行可能である場合(例えば、低速で近接してすれ違い移動するような場合)には、作業が続けられるようになる。
【0068】
この際の干渉判定領域の大きさは、速度に応じて、先の数式(1)で定義したもので定義し、ロボットモデルの領域の大きさをrm(<球モデルの干渉判定領域の半径r)とおくときに、干渉判定領域の大きさLijexLimは、
LijexLim=Kex・rm (9)
と定義される。すなわち、rではなくrmに対して、移動速度の大きさに比例した拡張比Kexを掛け合わせることで干渉判定領域の大きさを求めている。
【0069】
以上のように、実施の形態3によれば、先の実施の形態1よりも交差領域を誤検知する可能性を低減することができ、さらに作業停止時間が減り、作業効率が上がるという効果がある。
【0070】
実施の形態4.
本実施の形態4では、干渉ありと判定された後の減速停止動作中に、その速度に応じて干渉判定を継続して行い、干渉の心配がないと判断された場合には、停止のための減速を中断し動作を再開する方法について説明する。
【0071】
図10は、本発明の実施の形態3において、ロボットモデル間距離Lijが許容値LijLimに達したために停止のための減速開始を行う状態を示した図である。また、図11は、本発明の実施の形態3において、減速動作による干渉判定領域の縮小に伴って小さくなった許容値L'ijLimとの比較で、許容値よりもロボットモデル間距離Lijが大きくなり、停止動作が不要になったため、動作を再開した状態を示した図である。
【0072】
図10に示すように、時刻tnowにおいて、拡張された干渉判定領域に対して大きさLijLim603を用いて干渉判定を行った際に、干渉ありと判定された場合には、停止のための減速動作を開始する。この場合、本実施の形態4における干渉チェック制御装置は、減速中にも干渉判定を継続して行う。
【0073】
そして、図11に示すように、時刻t’nowにおいて、減速に従い縮小が生じた干渉判定領域から算出される判定のための閾値L'ijLim606を用いて干渉判定を行った際に、L'ijLim≦LijLimが成り立った場合には、停止のための減速を中断し、動作を再開する。
【0074】
停止動作に入った後に速度が減速すると、先の実施の形態3で説明した方法を用いると、算出される拡張された干渉判定領域の大きさは、現状の速度に応じて変化する。この結果、干渉する危険があるという判定(図10の時刻tnowに相当)から、干渉する危険が無いという判定(図11の時刻t’nowに相当)に変わる場合がある。
【0075】
従って、本実施の形態4のように、現状の速度に応じて拡張された干渉判定領域の大きさを求めることで、干渉回避動作を中断できるかどうかを判定し、干渉回避動作が中断されるときには引き続き動作を継続させることができる。これによって、停止するロボットが停止位置として、より目標位置に近いところで停止する、あるいは作業を継続することもできる。
【0076】
以上のように、実施の形態4によれば、現状の速度に応じて拡張された干渉判定領域の大きさを求めることで、干渉回避動作を再開することが可能となり、先の実施の形態1よりも交差領域を誤検知する可能性を低減することができ、さらに作業停止時間が減り、作業効率が上がるという効果がある。
【0077】
実施の形態5.
第5の実施の形態では、ロボット相互の軌道に応じて、干渉判定領域を切り替える場合について説明する。所定の干渉判定領域をさらに移動速度と移動方向に応じて指向性を持って拡張させる干渉判定用領域計算手段113は、例えば、2つのロボット構成部分が直線軌道で行き違う場合(すなわち、互いの直線軌道が平行である場合)は、先の図4(d)で説明したような、拡張された干渉判定領域805を用いることが考えられる。
【0078】
図12は、本発明の実施の形態5における干渉判定の説明図である。ここでは、図12に示すように、2つのロボット構成部分が直線軌道で行き違うという場合において、従来方法と本発明の手法の比較を説明する。
【0079】
図12では、ある時刻tiからti+4までの離散的な時間におけるロボット構成部分のモデル間の距離計算から干渉チェックを行う場合を例示している。図12において、77aは、実際に停止が必要な場合に対して従来の判定方法を用いた場合を示しており、77bは、実際に停止が不要な場合に対して従来の判定方法を用いた場合を示している。これに対して、78aは、実際に停止が必要な場合に対して本実施の形態5の判定方法を用いた場合を示しており、78bは、実際に停止が不要な場合に対して本実施の形態5の判定方法を用いた場合を示している。
【0080】
従来の判定方法(77a、77b)では、速度に応じて判定領域を大きくする手法を用いることで、ロボット構成部分のモデル同士のチェックで、見落としていた干渉を見落とさなくなっている。しかしながら、77bでは、拡張された干渉判定領域が速度に応じて大きくなっているため、実際には干渉しないのだが、干渉すると判定されてしまっている。
【0081】
一方、本実施の形態5の判定方法(78a、78b)では、先の図4(d)で説明したような、拡張された干渉判定領域805を用いている。この結果、実際に停止が必要な場合(78a)には、干渉すると判定でき、実際に停止が必要な場合(78b)には、不必要な干渉判定をしないで済んでいることが分かる。
【0082】
この例では、直線軌道に適した図4(d)の拡張された干渉判定領域805を用いたが、軌道に応じて、図4(c)の拡張された干渉判定領域804を用いてもよく、ロボット相互の軌道があらかじめ特定できる場合には、その軌道に応じて、拡張された干渉判定領域を適切なサイズに設定することで、不必要な干渉判断を防止することができる。
【0083】
以上のように、実施の形態5によれば、ロボット相互の軌道があらかじめ特定できる場合には、軌道に応じて、拡張された干渉判定領域を適切なサイズに設定することができる。この結果、従来方法では、干渉が実際に起こらなくても干渉すると判定されていた場合に対して、ユーザがチェックと指令値の再編集をする必要があったが、そのような手間がなくなり、オフライン干渉チェックに関して作業効率が上がるという効果が得られる。
【図面の簡単な説明】
【0084】
【図1】本発明の実施の形態1における干渉チェック制御装置の構成図である。
【図2】本発明の実施の形態1におけるロボット構成部分をモデル化した簡易なロボットモデルと干渉判定領域の例示図である。
【図3】本発明の実施の形態1におけるモデル化された2線分間の最近接点を幾何的に表した図である。
【図4】本発明の実施の形態1における干渉判定用領域計算手段による拡張された干渉判定領域の決定方法の説明図である。
【図5】本発明の実施の形態1における干渉判定領域の定義方法の説明図である。
【図6】本発明の実施の形態1における追う側と逃げる側のモデル間の干渉に関する説明図である。
【図7】本発明の実施の形態1におけるハンドなどのエンドエフェクタモデルが近くをすれ違う場合の干渉に関する説明図である。
【図8】本発明の実施の形態2における干渉チェック制御装置の構成図である。
【図9】本発明の実施の形態3におけるロボットとロボットモデルと干渉回避領域の包含関係を表した説明図である。
【図10】本発明の実施の形態3において、ロボットモデル間距離Lijが許容値LijLimに達したために停止のための減速開始を行う状態を示した図である。
【図11】本発明の実施の形態3において、減速動作による干渉判定領域の縮小に伴って小さくなった許容値L'ijLimとの比較で、許容値よりもロボットモデル間距離Lijが大きくなり、停止動作が不要になったため、動作を再開した状態を示した図である。
【図12】本発明の実施の形態5における干渉判定の説明図である。
【符号の説明】
【0085】
111 ロボット速度・位置記憶手段、112 ロボット間距離計算手段、113 干渉判定用領域計算手段、114 干渉判定手段、115 指令値生成手段。
【特許請求の範囲】
【請求項1】
それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、前記ロボット同士の干渉を回避する干渉チェック制御装置であって、
前回ステップまでの計算周期で算出されたロボットの速度・位置データを記憶する速度・位置記憶手段と、
前記速度・位置記憶手段に記憶された前記速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算手段と、
前記速度・位置記憶手段に記憶された速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求める干渉判定用領域計算手段と、
前記干渉判定用領域計算手段で求めた前記干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定手段と、
前記干渉判定手段による干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを前記速度・位置記憶手段に記憶させる指令値生成手段と
を備え、
前記干渉判定用領域計算手段は、求めた前記干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、
前記干渉判定手段は、前記干渉判定用領域計算手段で決定された前記拡張された干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する
ことを特徴とする干渉チェック制御装置。
【請求項2】
請求項1に記載の干渉チェック制御装置において、
前記干渉判定用領域計算手段は、前記拡張された干渉判定領域を決定する際に、前記指向性を考慮したことに伴うロボット位置修正情報を生成し、
前記ロボット間距離計算手段は、前記速度・位置記憶手段に記憶された前記速度・位置データ、および前記干渉判定用領域計算手段により生成された前記ロボット位置修正情報に基づいて、ロボット構成部分同士の距離を計算する
ことを特徴とする干渉チェック制御装置。
【請求項3】
請求項1に記載の干渉チェック制御装置において、
前記干渉判定用領域計算手段は、前記干渉判定領域を前記指向性を持って拡張する際に、ロボットの進行方向ベクトルと最短距離方向ベクトルのなす角とに応じて拡張サイズを決定し、前記拡張された干渉判定領域を決定する
ことを特徴とする干渉チェック制御装置。
【請求項4】
それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、前記ロボット同士の干渉を回避する干渉チェック制御方法であって、
記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算ステップと、
前記記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求めるステップと、
前記干渉判定用領域計算ステップで求めた前記干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定ステップと、
前記干渉判定ステップによる干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを前記記憶部に記憶させる指令値生成ステップと
を備え、
前記干渉判定用領域計算ステップは、求めた前記干渉判定領域を、速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、
前記干渉判定ステップは、前記干渉判定用領域計算ステップで決定された前記拡張された干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する
ことを特徴とする干渉チェック制御方法。
【請求項1】
それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、前記ロボット同士の干渉を回避する干渉チェック制御装置であって、
前回ステップまでの計算周期で算出されたロボットの速度・位置データを記憶する速度・位置記憶手段と、
前記速度・位置記憶手段に記憶された前記速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算手段と、
前記速度・位置記憶手段に記憶された速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求める干渉判定用領域計算手段と、
前記干渉判定用領域計算手段で求めた前記干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定手段と、
前記干渉判定手段による干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを前記速度・位置記憶手段に記憶させる指令値生成手段と
を備え、
前記干渉判定用領域計算手段は、求めた前記干渉判定領域を速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、
前記干渉判定手段は、前記干渉判定用領域計算手段で決定された前記拡張された干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算手段で計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する
ことを特徴とする干渉チェック制御装置。
【請求項2】
請求項1に記載の干渉チェック制御装置において、
前記干渉判定用領域計算手段は、前記拡張された干渉判定領域を決定する際に、前記指向性を考慮したことに伴うロボット位置修正情報を生成し、
前記ロボット間距離計算手段は、前記速度・位置記憶手段に記憶された前記速度・位置データ、および前記干渉判定用領域計算手段により生成された前記ロボット位置修正情報に基づいて、ロボット構成部分同士の距離を計算する
ことを特徴とする干渉チェック制御装置。
【請求項3】
請求項1に記載の干渉チェック制御装置において、
前記干渉判定用領域計算手段は、前記干渉判定領域を前記指向性を持って拡張する際に、ロボットの進行方向ベクトルと最短距離方向ベクトルのなす角とに応じて拡張サイズを決定し、前記拡張された干渉判定領域を決定する
ことを特徴とする干渉チェック制御装置。
【請求項4】
それぞれの動作領域に重複する部分を有するロボット同士の動作中の接近をチェックし、前記ロボット同士の干渉を回避する干渉チェック制御方法であって、
記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいて、ロボット構成部分同士の距離を計算するロボット間距離計算ステップと、
前記記憶部に記憶された前回ステップまでの計算周期で算出されたロボットの速度・位置データに基づいてロボット構成部分同士の干渉判定領域を求めるステップと、
前記干渉判定用領域計算ステップで求めた前記干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する干渉判定ステップと、
前記干渉判定ステップによる干渉判定結果に応じて、計算周期ごとに各ロボットに対する移動指令値を作り出すとともに、現在の計算ステップにおけるロボットの速度・位置データを前記記憶部に記憶させる指令値生成ステップと
を備え、
前記干渉判定用領域計算ステップは、求めた前記干渉判定領域を、速度データに基づいて移動速度と移動方向に応じて指向性を持って拡張し、拡張された干渉判定領域を決定し、
前記干渉判定ステップは、前記干渉判定用領域計算ステップで決定された前記拡張された干渉判定領域で規定される干渉判定距離と、前記ロボット間距離計算ステップで計算されたロボット構成部分同士の距離とを比較し干渉の有無を判定する
ことを特徴とする干渉チェック制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−52114(P2010−52114A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−222105(P2008−222105)
【出願日】平成20年8月29日(2008.8.29)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願日】平成20年8月29日(2008.8.29)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]