説明

ロボットの着目部位と周辺物との干渉を予測する方法及び装置

【課題】ロボットの手先に搭載されているツールやセンサ等の着目部位がロボットの動作に伴って移動する場合に、移動経路上での着目部位とロボットの周りに固定設置されている周辺物との干渉を、実用的な精度及び計算速度にて予測する方法及び装置の提供。
【解決手段】各時点Tでツール3が占有する領域をD1,jとして、隣接する時点Tj−1、Tの領域D1,j−1、D1,jの凸包Cを計算する(ステップ111)。凸包Cと多面体領域Dとの共通領域の有無を調べる(ステップ112)。凸包Cと多面体領域Dとの共通領域が有る場合は、移動経路中でツール3と収納箱4とが干渉すると判断(ステップ113)して処理を終了し、共通領域が無い場合は、j<n(ステップ114)か否かを調べ、j≧nならば、移動経路中でツール3と収納箱4とが干渉しないと判断(ステップ115)して処理を終了する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの手先に搭載されているツールやセンサ等の着目部位がロボットの動作に伴って移動する場合において、その移動経路上での着目部位と、ロボットの周りに固定設置されている周辺機器や柵等の周辺物との干渉を予測する方法及び装置に関する。
【背景技術】
【0002】
視覚センサを用いてロボットがワークピースを取出すピッキング作業の場合、視覚センサによって位置決めされていないワークピースの位置姿勢を計測し、その計測結果を基にワークピースを把持できる位置姿勢へのロボットの移動経路を生成することが行われている。ワークピースの位置姿勢が変化するとロボットの移動経路も変化するため、ロボットの手先に搭載されているツールやセンサ等の着目部位と、ロボットの周りに固定設置されている周辺機器や柵等の周辺物との移動経路上での干渉の有無も変化する。
【0003】
複数のワークピースがバラ積みされている場合、視覚センサによって計測したそれぞれのワークピースに対して、ロボットの移動経路が生成される。生成された複数の移動経路について干渉予測を行い、干渉しないと判断された移動経路に対応するワークピースをロボットに把持させることが好ましい。ここで、干渉を予測する従来技術としては、移動経路の移動終了位置でのロボットの着目部位と周辺物との干渉の確認を行うものがある。例えば特許文献1には、スカラ型ロボットの干渉チェック方法が開示されており、ここでは、ロボットの目標位置についての指令を各関節軸のストローク値に変換し、各関節軸のストローク限についてのチェックを行うとともに、ロボットの目標位置についての指令を直交座標空間上の位置に変換し、直交座標空間上において前記干渉領域についてのチェックを行い、目標位置が前記ストローク限及び前記干渉領域についての制限を満足することが確認された場合に、各関節軸に動作指令を与える、とされている。
【0004】
また特許文献2には、ロボットと他の物体のとの干渉を回避するための干渉回避装置が開示されており、その〔0024〕には、ツール3の形状情報及び収納箱4の形状情報と位置姿勢情報、更に、教示時のワークピース10の位置姿勢Wn、ツールの位置姿勢Tnをロボット制御装置6のメモリに設定記憶させておき、上記1式で求められたツールの位置姿勢Taのツール形状情報と、収納箱4の形状情報と位置姿勢情報に基づいて、ツール3と収納箱4が干渉するか否かを判断することができる、と記載されている。
【0005】
干渉を予測する他の従来技術として、特許文献3には、教示作業が自動化されているロボットの制御装置及び制御システムが開示されており、ここでは、所定作業に対するロボットの動作をシミュレーションして作業経路における部材との干渉の有無をチェックし、ロボットアームあるいはその先端に装着されたツールが部材と干渉すると判定された場合において、干渉区間長が所定値を超えていなければ、干渉個所でロボットの作業経路を分断し、その分断された作業経路内においてロボットを動作させるようにする、とされている。
【0006】
また他の従来技術として、特許文献4には、非凸多面体の凸包を生成し、該凸包と他の物体間の干渉チェックを行い、干渉し始めた時、凸包を解除して前記非凸多面体と他の物体間の干渉チェックを行う干渉チェック方法が開示されており、該方法は、非凸多面体を構成する頂点を、第1軸(例えばX軸)の座標値の差が零あるいは微小量ε以内の複数の頂点群に分割するステップ、各頂点群について第2−第3軸平面(例えばYZ平面)上で2次元凸包を生成するステップ、隣接する2次元凸包を併合して3次元凸包を生成し、以後、隣接する3次元凸包を順次併合して目的とする非凸多面体の凸包を生成するステップ、を有する、とされている。
【0007】
さらなる他の従来技術として、特許文献5には、複数のロボットの動作をシミュレートするシミュレーション装置が開示されており、該シミュレーション装置は、1台ごとのロボットモデルの一定時間動作した軌跡の形状を表す複数の多面体の座標値とシミュレーション時刻を記録する軌跡情報記録手段と、前記複数のロボットの軌跡の形状を表す複数の多面体の、三次元座標値と時刻とを、それぞれスプレッドシートに入力し、複数シート間の同じ時刻で空間的に干渉する多面体を計算により検出する干渉検出手段とを備えるとされている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2000−326280号公報
【特許文献2】特開2002−331480号公報
【特許文献3】特開2002−273675号公報
【特許文献4】特開平9−27046号公報
【特許文献5】特開2004−280635号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1又は2に記載の技術では、移動終了位置での干渉は確認できても、移動経路上での干渉を確認・予測することは難しい。例えば、特許文献2の図2は、収納箱4の中にあるワークピース7を取出す時のツール3の移動経路を示すものであるが、移動終了時刻T4でのツール3と収納箱4とは干渉しないが、移動中の時刻T2とT3の間にツール3と周辺物4とが干渉してしまう場合がある。
【0010】
一方、特許文献3に記載の技術は、生成された移動経路上での干渉を高い精度で予測するために、移動経路上の全補間位置について、逐次的にロボットの着目部位と周辺物とが干渉するか否かを調べるものと解される。しかしこの技術では、計算時間が過度に長くなってしまい、ロボット動作中にリアルタイムで干渉を予測するには適さないと思われる。
【0011】
特許文献4に記載の技術は、干渉予測に際しいわゆる凸包を利用するものであるが、これは静止状態にある多面体同士の干渉を予測するものであり、移動する多面体には適用できない。
【0012】
また特許文献5に記載の技術は、複数のロボットや加工機械・治具が同時に動作する際に、該ロボット間等の干渉判定を、それぞれの動作領域を覆う多面体を計算し、該多面体同士の干渉判定に置き換えるものと解される。しかし、動作領域に対応する多面体が凸多面体に限定されないため、干渉判定計算が複雑で時間が掛かる場合があり、ロボット動作中にリアルタイムで干渉判定を行うには適さない。
【0013】
そこで本発明は、ロボットの手先に搭載されているツールやセンサ等の着目部位がロボットの動作に伴って移動する場合に、移動経路上での着目部位とロボットの周りに固定設置されている周辺機器や柵等の周辺物との干渉を、実用的な精度及び計算速度にて予測する干渉予測方法及び干渉予測装置を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するために、請求項1に記載の発明は、空間に固定されている周辺物の形状を多面体で近似した周辺物近似多面体が前記空間を占有する領域である周辺物占有領域と、ロボットの着目部位の形状を多面体で近似した着目部位近似多面体とを記憶し、前記ロボットの動作に伴って、前記着目部位近似多面体が複数の時刻の各々において前記空間を占有する領域である、複数の着目部位占有領域を計算し、前記複数の着目部位占有領域と前記周辺物占有領域とに基づいて、前記ロボットの着目部位と前記周辺物との干渉の有無を予測する、干渉予測方法であって、前記複数の着目部位占有領域を前記複数の時刻の順に並べたときに、隣り合う着目部位占有領域同士の組合せの凸包を全て計算し、前記周辺物占有領域を凸多面体の和として計算し、全ての前記凸包と前記凸多面体との共有領域の有無を、前記ロボットの着目部位と前記周辺物との干渉の有無として判定する、干渉予測方法を提供する。
【0015】
請求項2に記載の発明は、空間に固定されている周辺物の形状を多面体で近似した周辺物近似多面体が前記空間を占有する領域である周辺物占有領域と、ロボットの着目部位の形状を多面体で近似した着目部位近似多面体とを記憶する記憶部と、前記ロボットの動作に伴って、前記着目部位近似多面体が複数の時刻の各々において前記空間を占有する領域である、複数の着目部位占有領域を計算する着目部位占有領域計算部と、前記複数の着目部位占有領域と前記周辺物占有領域とに基づいて、前記ロボットの着目部位と前記周辺物との干渉の有無を予測する干渉予測部と、を備える干渉予測装置であって、前記干渉予測部は、前記複数の着目部位占有領域を前記複数の時刻の順に並べたときに、隣り合う着目部位占有領域同士の組合せの凸包を全て計算する凸包計算部と、前記周辺物占有領域を凸多面体の和として計算する周辺物占有領域計算部と、を有し、前記干渉予測部は、全ての前記凸包と前記凸多面体との共有領域の有無を、前記ロボットの着目部位と前記周辺物との干渉の有無として判定する、干渉予測装置を提供する。
【発明の効果】
【0016】
本発明によれば、動作直前に実用的な精度及び計算速度で自動的に干渉を予測できるので、バラ積みされたワークピースの取出し等の用途において、干渉を避けながらロボットを動作させることができる。また本願発明では、ロボットの着目部位の隣り合う補間位置における領域同士の凸包(凸多面体の範疇)を求め、周辺物を凸多面体の和で表し、干渉判定を凸多面体同士のそれに置き換え、計算の簡素化・高速化を図り、ロボット動作中のリアルタイムでの干渉判定を実現している。
【図面の簡単な説明】
【0017】
【図1】本発明に係る干渉予測装置の一実施形態の概略構成を示す図である。
【図2】ツール及び収納箱を多面体で近似した例を示す図である。
【図3】凸多面体の例である正四面体にインデックスを割り当てた例を示す図である。
【図4】本発明に係る干渉予測装置又は干渉予測方法による、干渉予測手順を示すフローチャートである。
【図5】分割数が4である場合の各時点でのツールの位置姿勢と、収納箱と、ワークピースとの位置関係を表した図である。
【図6】各時点での多面体の頂点の直線度を求める例を説明する図である。
【図7】多面体領域から凸包を求める例を説明する図である。
【図8】多角形を複数の三角形に分割した例を示す図である。
【図9】凸包と周辺物を示す多面体との位置関係を示す図である。
【発明を実施するための形態】
【0018】
図1は、本発明に係る干渉予測装置の一実施形態の概要図である。なお、本願発明における「ロボットの着目部位」とは、ロボットアームの本体又は付属物のうち、動作中に周辺機器と干渉する可能性のある部位をいう。本実施形態では、ロボット制御装置6内に干渉予測のためのソフトウエアを設けることによって、干渉予測装置を構成している。ロボット5の手首先端には、ワークピース7を取出すためのツール3、ワークピース7を撮像するためのカメラ2、及びワークピース7にレーザ光を投光するレーザ投光器1が取り付けられている。カメラ2及びレーザ投光器1によって、ワークピース7の位置及び姿勢(以降、位置姿勢と称する)を検出する3次元視覚センサが構成される。本実施形態では、ワークピース7は収納箱4内に収納されている。この収納箱4には複数のワークピース7がバラ積み状態で収納されており、故に各々のワークピース7はその位置姿勢が不規則な状態である。
【0019】
ロボット5、レーザ投光器1、カメラ2及びツール3は従来周知のものでよく、故に詳細な説明は省略する。ロボット制御装置6は、プロセッサ、ROM、RAM、不揮発性RAM、表示装置付き入力手段、入出力インタフェース、カメラインタフェース、ロボット各関節軸のサーボモータ等を駆動制御するサーボ制御器等を備える点では、従来のロボット制御装置と同様でよい。図示例のロボット5の関節軸の数は6つであり、ツール3の位置姿勢が命令されると、ロボット制御装置6は各関節軸の回転角を逆算し、ツール3がその位置姿勢となるようにロボット5の各軸の動作を制御する。また、入出力インタフェースにはレーザ投光器1及びツール3が接続され、カメラインタフェースにはカメラ2が接続される。
【0020】
ロボット5の手首先端に対するツール3の位置姿勢と、ツール3の形状と、収納箱4の位置姿勢と、収納箱4の形状と、教示時のワークピース7の位置姿勢と、その位置姿勢に対してワークピース7を把持する際のツールの位置姿勢とは、ロボット制御装置6のメモリに予め設定・記憶させておくものとする。その際、記憶するツール3及び収納箱4の形状に関して、図2に示すように、ツール3は2つの直方体を組み合わせて多面体で近似した領域Dで表し、収納箱4は直方体の上側から少し小さめの直方体をくり抜いた多面体で近似した領域Dで表すものとする。
【0021】
領域D、Dは共に複数の直方体領域の和として表現することができるが、干渉予測の計算が簡単になるように、近似する領域は凸多面体の和で表せるようにする。具体的には、それぞれの多面体領域の持つ頂点、辺の各々にインデックスを割り振り、各頂点の空間上の座標値、各辺の両端にある頂点のインデックス、各面の端にある辺のインデックスを記憶する。例えば、近似された領域が、図3に示すような各辺の長さが3である正四面体(凸多面体)の場合、各頂点及び各辺にインデックスを割り振り、ある座標系における頂点V、頂点V、頂点V、頂点Vそれぞれの座標値(0.000, 0.000, 2.449)、(1.732, 0.000, 0.000)、(-0.866, 1.500, 0.000)、(-0.866, -1.500, 0.000)と、辺E、辺E、辺E、辺E、辺E、辺Eそれぞれの両端の頂点のインデックス(V, V)、(V, V4)、(V, V3)、(V, V4)、(V, V)、(V, V3)と、面S、面S、面S、面Sそれぞれの端にある辺のインデックス(E, E, E)、(E, E, E)、(E, E, E)、(E, E, E)を記憶することになる。
【0022】
図4は、ロボット5を用いたワークピース7の取出し作業において、ツール3と収納箱4との干渉が起こるか否かを判断する処理手順を示すフローチャートである。処理手順では、まず、ロボット制御装置6からの指令により、ロボット5を収納箱4内のワークピース7を撮像できる位置姿勢に移動させた後、レーザ投光器1及びカメラ2を用いて、収納箱4内のワークピース7の位置姿勢を計測する(ステップ101)。
【0023】
次に、この計測したワークピース7の位置姿勢と、予め記憶しておいた教示時のワークピース7の位置姿勢と、予め記憶しておいたワークピースを把持する際のツールの位置姿勢とを合わせて、計測したワークピース7をツール3で把持して収納箱から取出すことのできるツール3の位置姿勢を算出する。そして、ツール3に関して、ワークピース7を計測した時の位置姿勢を移動開始時の位置姿勢とし、計測したワークピース7をツール3で把持して収納箱から取出すことのできる位置姿勢を移動終了時の位置姿勢とした、ツール3の移動経路を生成する(ステップ102)。移動経路の生成方法には様々なものがあるが、例えば、ロボット各関節軸の回転速度が常に一定となるような移動経路の生成方法がある。即ち、移動開始時のロボット5の各関節軸k(k=1,2,・・・,6)の回転角の値をθとし、移動終了時の各関節軸kの回転角の値をφとし、移動開始時刻を0(ゼロ)とし、移動終了時刻をTとした場合に、時刻t(0≦t≦T)における各関節軸kの回転角がθ+Δ×tとなるような移動経路を生成する方法である。但し、Δ=(φ−θ)/Tである。但しこのような移動経路の生成方法は一例であって、ここで述べる干渉予測の適用は、移動経路の生成方法に依るものではない。
【0024】
次に、移動開始から移動終了までの移動時間をn等分し、得られたn+1個の時刻(時点)をT, T,・・・, T とする(ステップ103)。T および T はそれぞれ移動開始時刻と移動終了時刻である。分割数nは、干渉予測の粗精や処理時間を考慮して、予め与えておいてもよいし、移動時間及び移動経路長とから逐次決定してもよい。分割数を大きくすれば干渉予測の精度は向上するが、処理時間は分割数にほぼ比例して大きくなる。リアルタイムで干渉予測の処理を行わなければならないため、処理時間はできるだけ短い方がよい。
【0025】
図5は、分割数n=4である場合の各時点でのツール3の位置姿勢と、収納箱4と、ワークピース7との位置関係を表したものである。ここではツール3の移動時間を2.0秒、移動経路長を400mmとする。移動時間を4等分した場合、移動開始時より、0.0秒、0.5秒、1.0秒、1.5秒、2.0秒の5つの時点が生成されることになり、隣接する時点間でのロボットの移動経路長は100mmになる。
【0026】
次に、変数jに2を設定(j←2)し、ツールの凸包D'の計算を行う(ステップ104)。先ず、ツール3が占有する領域Dに対し、その凸包D'の頂点を計算する。凸包とは与えられた集合の任意の2点を結ぶ線分を含む(集合の包含関係の意味で)最小の集合のことであり、換言すれば点の集合体を全て含む最小の凸形状、すなわち点の集合体のうち最も外側の点を直線で結ぶことによって形成される多面体をいう。従って領域Dが多面体であれば凸包D'も凸多面体となる。凸包D'の頂点は、例えばQuickHull(“The Quickhull Algorithm for Convex Hull” Geometry Center Technical Report GCG53, July 1993)と呼ばれるアルゴリズムを用いて、多面体領域Dの各頂点から求めることができる。
【0027】
次にステップ105において、時点Tでの直線度Ljを求める。具体的には、ステップ104で求めた凸包D'の各頂点Vに対し、図6に示すように、各頂点Vについて時点Tj−1、T、Tj+1でのその頂点の位置をそれぞれPj−1、P、Pj+1とし、点Pから線分Pj−1j+1へ下した垂線の足をHとして、頂点Vの時点Tでの直線度Lv,jを以下の式(1)から計算する。
【0028】
【数1】

【0029】
さらに、全ての頂点の時点Tでの直線度Lv , jのうちの最小値を、ツール3の時点Tでの直線度Ljとする(ステップ105)。直線度Lv , jは範囲0〜1の値を取り得るが、値が1に近いほど、折れ線Pj−1j+1が直線に近いと言える。そして、ロボット制御装置に予め記憶させておいた0に近い正値εに対して、ツール3の直線度Lと(1−ε)との大小関係を判定し(ステップ106)、Lが(1−ε)より大きい場合は、T←Tj+1、j+1←Tj+2、・・・、Tnー1←Tn、n←n−1とすることによって、時点の列から時点Tを削除する(ステップ107)。これにより、干渉予測の精度をほとんど低下させることなく、後のステップで計算する凸包の個数を1つ減じて、計算にかかる時間を削減することができる。干渉予測の精度がほとんど低下しない理由に関しては、後述する。
【0030】
ステップ108では、jと(n−1)との大小関係を判定し、j<n−1であるうちはj←j+1として(ステップ109)、ステップ105に戻り、j<n−1が成り立たなくなるまで各時点での直線度Lの値のチェックを行う。
【0031】
次に、j←1として(ステップ110)、各時点T(j=1,2,・・・,n)でツール3が占有する領域をD1,jとして、隣接する時点Tj−1、Tの領域D1,j−1、D1,jの凸包Cを計算する(ステップ111)。領域D1,jは、各時点でTのツール3の移動量に応じて領域Dを3次元空間で剛体変換させた領域である。領域Dは多面体なので、領域D1,jも多面体であり、領域D1,j−1、D1,jの凸包Cも凸多面体となる。
【0032】
ステップ111の詳細について説明する。先ず、凸包Cの各頂点は、多面体領域D1,j−1、D1,jの各頂点から上述のQuickHull等により求める。次に、凸包Cの各辺は、凸包Cの全ての2頂点の組合せ(V1,V2)に対して、線分V12が凸包Cの辺であるかの判断を以下の手順で行って求める。空間上の直線V12に垂直な平面Πに凸包Cの全ての頂点を正射影する。この時、頂点V1,V2は平面Π上の同一点Pに射影される。平面Π上において、正射影した全ての点の凸包の頂点か辺の上に点Pがあるならば、線分V12は凸包Cの辺であると判断できる。平面上の凸包の頂点は同様にQuickHullにより計算可能である。
【0033】
また、平面上において、凸包の各頂点P1,P2を結ぶ線分P12がその凸包の辺であるか否かは、以下のようにして判断する。線分P12に垂直な直線λ上にその凸包の全ての頂点を正射影し、直線λ上において、それらの点の凸包である線分の両端のどちらかに線分P12を正射影した点があるならば、線分P12は辺であると判断できる。また、凸包Cの各面は、凸包Cの3辺の組合せで三角形を成す全ての組合せに対して、その三角形を含む平面に垂直な直線Λに凸包Cの全ての頂点を正射影し、直線Λ上において、それらの点の凸包である線分の両端のどちらかにその三角形を正射影した点があるならば、その三角形は凸包Cの面と判断できる。図7に、領域D1,j−1、D1,jとそれらから計算された凸包Cの例を示す。領域D1,j−1、D1,jが実線で示された各時刻でのツール3に実質相当する領域であるとすると、凸包Cは、領域D1,j−1、D1,jに破線で示された領域を加えたものとなる。
【0034】
次に、凸包Cと多面体領域Dとの共通領域の有無を調べる(ステップ112)。多面体領域Dは複数の凸多面体領域D2,jの和で表されるので、凸包Cと凸多面体D2,jの組み合わせで共通領域を持つものがあれば、凸包Cと多面体領域Dに共通領域があると言える。凸包Cと凸多面体領域D2,jの何れの面も多角形なので、図8のように複数の三角形への分割(図8では六角形を4つの三角形I〜IVに分割)が可能である。すると、凸包Cと凸多面体領域D2,jの何れも三角形のみで覆われた閉領域となり、凸包Cを覆う三角形と凸多面体領域D2,jを覆う三角形の辺(線分)とが交差する組合せが1つ以上あるか、凸包Cを覆う三角形の辺(線分)と凸多面体領域D2,jを覆う三角形とが交差する組合せが1つ以上あるか、もしくは凸包Cと凸多面体領域D2,jのどちらかの領域がもう一方の領域を完全に含むか、これらの3つの条件の少なくとも1つが成立するか否かで、共通領域の有無の判断を行うことができる。
【0035】
線分と三角形の交差は、以下のように判断する。空間上の線分と三角形について、線分の両端の点A、Aの空間上の座標値をそれぞれα、αとし、三角形の頂点B、B、Bの空間上の座標値をβ、β、βとする。α、α、β、β、βは3次元ベクトルで表される。まず、3×3行列(α−α、β−β、β−β)が正則行列であるか否かを計算し、正則である場合は線分Aと三角形Bが平行ではなく、正則ではない場合は線分Aと三角形Bが平行である、と判断する。
【0036】
線分Aと三角形Bが平行ではない場合は、線分Aを含む空間上の直線と三角形Bを含む空間上の平面との交点の空間上の座標値をxとすると、
x=sα+sα、x=tβ+tβ+tβ
と一意に表すことができる。但し、s、s、t、t、t
+s=1、t+t+t=1
を満たす実数値である。計算したs、s、t、t、tの5つの全ての値が0以上かつ1以下である場合は、線分Aと三角形Bは交差するものと判断できる。一方、線分Aと三角形Bが平行である場合は点Aと平面Bの距離を計算し、その距離が0ならば、線分Aと三角形Bが同じ平面上にあることになる。
【0037】
線分Aと三角形Bが同じ平面上にある場合は、2×2行列(α−α、β−β)が正則行列ならば、線分Aと三角形Bの辺Bとは平行ではないので、線分Aを含む空間上の直線と辺Bを含む空間上の直線との交点の座標値をyとすると、
y=sα+sα、x=tβ+tβ
と一意に表すことができる。但し、s、s、t、t
+s=1、t+t=1
を満たす実数値である。計算したs、s、t、tの4つの全ての値が0以上かつ1以下である場合は、線分Aと辺Bが交差するので、線分Aと三角形Bは交差するものと判断できる。線分Aと三角形Bが同じ平面上にある場合は、辺Bと辺Bについても辺Bと同様に、線分Aとの交差を調べ、線分Aと三角形Bの交差を判断する。何れの交差の判断でも線分Aと三角形Bが交差するとの判断が得られなければ、線分Aと三角形Bは交差しないと判断する。
【0038】
凸包Cが凸多面体領域D2,jを完全に含むか否かは、凸多面体領域D2,jの全頂点に関して凸包Cの重心とその頂点を結ぶ線分が凸包Cの表面と交わらないか、そうでないかで判断することができる。凸多面体領域D2,jが凸包Cを完全に含むか否かも、同様にして判断することができる。
【0039】
上述のような共通領域の有無の判断の結果、凸包Cと多面体領域Dとの共通領域が有る場合は、移動経路中でツール3と収納箱4とが干渉すると判断(ステップ113)して処理を終了し、共通領域が無い場合は、j<n(ステップ114)か否かを調べる。
【0040】
ステップ114において、j<nならば、ステップ109に進んでjに(j+1)を設定し(j←j+1)、ステップ105に戻る。一方、ステップ114においてj≧nならば、移動経路中でツール3と収納箱4とが干渉しないと判断(ステップ115)して処理を終了する。
【0041】
図9は、図5に示した時点Tと時点Tの間の部分を拡大したものであり、時点T、Tの各々でツール3が占有する2つの領域の凸包Cと多面体領域Dとの共通領域が有ることになる。よって、図5の移動経路の場合、干渉予測装置はツール3と収納箱4とが干渉すると予測・判断する。
【0042】
凸包Cと領域Dの共通領域の有無の判断の計算に要する時間、2つの領域D1,j−1、D1,jから凸包Cを計算するのに要する時間は、それぞれ1〜2ミリ秒(ms)を要する。図5の移動経路の場合、ロボットの移動時間の分割数nが4なので、干渉予測に要する計算時間は、最大で(2+2)×4=16ms程度となり、ロボットの動作に差し支える程の時間にはならない。先に、直線度Lの値が1に近く、ツール3が占有する領域Dの凸包の各頂点の移動を表す折れ線Pj−1j+1が直線に近い場合、ステップ107で時点の列から時点Tを削除しても、干渉予測の精度は殆ど低下しないと述べたが、それは以下の理由に依る。折れ線Pj−1j+1が直線に近い場合は、領域D1,j−1、D1,jの凸包と領域D1,j、D1,j+1の凸包との和が、領域D1,j−1、D1,j+1の凸包とほぼ一致する。したがって、凸包と多面体領域Dとの共通領域の有無により干渉を判断する場合においては、時点の列から時点Tを削除して領域D1,jの計算を省いても、干渉予測の精度は殆ど低下しない。
【0043】
以上述べてきたように、本発明では、移動経路上の幾つかの補間位置において着目部位が占有する領域を求め、隣り合う補間位置における領域同士の凸包を全て求め、周辺物を凸多面体の和で表し、それら全ての凸包と全ての凸多面体との干渉を調べることによって、移動経路上での着目部位と周辺物との干渉を予測する。
【符号の説明】
【0044】
1 レーザ投光器
2 カメラ
3 ツール
4 収納箱
5 ロボット
6 ロボット制御装置
7 ワークピース

【特許請求の範囲】
【請求項1】
空間に固定されている周辺物の形状を多面体で近似した周辺物近似多面体が前記空間を占有する領域である周辺物占有領域と、ロボットの着目部位の形状を多面体で近似した着目部位近似多面体とを記憶し、
前記ロボットの動作に伴って、前記着目部位近似多面体が複数の時刻の各々において前記空間を占有する領域である、複数の着目部位占有領域を計算し、
前記複数の着目部位占有領域と前記周辺物占有領域とに基づいて、前記ロボットの着目部位と前記周辺物との干渉の有無を予測する、干渉予測方法であって、
前記複数の着目部位占有領域を前記複数の時刻の順に並べたときに、隣り合う着目部位占有領域同士の組合せの凸包を全て計算し、
前記周辺物占有領域を凸多面体の和として計算し、
全ての前記凸包と前記凸多面体との共有領域の有無を、前記ロボットの着目部位と前記周辺物との干渉の有無として判定する、干渉予測方法。
【請求項2】
空間に固定されている周辺物の形状を多面体で近似した周辺物近似多面体が前記空間を占有する領域である周辺物占有領域と、ロボットの着目部位の形状を多面体で近似した着目部位近似多面体とを記憶する記憶部と、
前記ロボットの動作に伴って、前記着目部位近似多面体が複数の時刻の各々において前記空間を占有する領域である、複数の着目部位占有領域を計算する着目部位占有領域計算部と、
前記複数の着目部位占有領域と前記周辺物占有領域とに基づいて、前記ロボットの着目部位と前記周辺物との干渉の有無を予測する干渉予測部と、
を備える干渉予測装置であって、
前記干渉予測部は、
前記複数の着目部位占有領域を前記複数の時刻の順に並べたときに、隣り合う着目部位占有領域同士の組合せの凸包を全て計算する凸包計算部と、
前記周辺物占有領域を凸多面体の和として計算する周辺物占有領域計算部と、を有し、
前記干渉予測部は、全ての前記凸包と前記凸多面体との共有領域の有無を、前記ロボットの着目部位と前記周辺物との干渉の有無として判定する、干渉予測装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−223845(P2012−223845A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−92413(P2011−92413)
【出願日】平成23年4月18日(2011.4.18)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】