(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、
図1〜
図18を参照して本発明の実施形態に係る物品取出装置について説明する。
図1は、本発明の一実施形態に係る物品取出装置10の概略構成を示す図である。物品取出装置10は、三次元測定機11と、ロボット12と、三次元測定機11とロボット12とに接続して、三次元測定機11とロボット12を制御するロボット制御装置13とを有する。ロボット12は、アーム12aの先端部に取り付けられたグリッパー14を有する。ロボット12の側方にはコンテナ16が配置されている。なお、
図1には、XYZの直交3軸座標系を併せて示している。Z方向は鉛直方向、X方向及びY方向は水平方向であり、コンテナ16はXZ平面上に示されている。
【0013】
上方が開放されたコンテナ16内には、複数の物品17がバラ積みされている。本実施形態の物品取出装置10は、物品17を把持可能なグリッパー14の位置及び姿勢(位置姿勢)を決定し、決定された位置姿勢にグリッパー14を移動するようにロボット12を制御する。さらに、その位置姿勢でグリッパー14により物品17を把持し、ロボット12の動作によりコンテナ16内から物品17を取出してコンテナ16外の所定位置へ搬送する。複数の物品17は、
図1では互いに同一形状として示しているが、不定形や複数の品種を含むものでもよい。
【0014】
三次元測定機11は、コンテナ16の中央部上方に配置され、コンテナ16内にバラ積みされた物品17のうち、露出した物品17の表面を測定して、複数の三次元点の位置情報(三次元情報)を取得する。三次元測定機11の測定範囲は、コンテナ16を含む必要があるが、測定範囲が大き過ぎると測定分解能の低下を招く。したがって、測定範囲は、コンテナ16の占有範囲と同等、例えばコンテナ16の占有範囲に一致させることが好ましい。なお、
図1では、三次元測定機11が専用の架台15に固定されているが、ロボット12の先端部に三次元測定機11を取り付けてもよい。三次元測定機11とロボット制御装置13とは通信ケーブル等の通信手段によって互いに接続されており、互いに通信できるようになっている。
【0015】
三次元測定機11としては、種々の非接触方式のものを利用することができる。例えば、カメラ2台のステレオ方式、レーザスリット光を走査する方式、レーザスポット光を走査する方式、プロジェクタ等の装置を用いてパターン光を物品に投影する方式、光が投光器から出射されてから物品表面で反射し受光器に入射するまでの飛行時間を利用する方式などが挙げられる。
【0016】
三次元測定機11は、取得した三次元情報を距離画像または三次元マップといった形式で表現する。距離画像とは、画像形式で三次元情報を表現したものであり、画像の各画素の明るさや色により、その画像上の位置の高さまたは三次元測定機11からの距離を表す。一方、三次元マップとは、測定された三次元座標値(x,y,z)の集合として三次元情報を表現したものである。本実施形態では、距離画像における各画素や三次元マップにおける三次元座標値を有する点を、三次元点と称し、複数の三次元点からなる集合を、三次元点集合と称する。三次元点集合は、三次元測定機11で測定した三次元点全体の集合であり、三次元測定機11により取得できる。
【0017】
図2は、グリッパー14の概略構成を示す斜視図である。グリッパー14は、ロボットアーム12aの先端部に固定された軸部141と、軸部141の下端部に設けられた板部142と、板部142の両端部に設けられた一対の把持爪143とを有する。軸部141は、その中心を通る軸線L1に沿って延在し、板部142は、軸線L1に垂直な軸線L2に沿って延在する。一対の把持爪143は、軸線に平行な長さLと、軸線L2に平行な厚さTと、軸線L1と軸線L2とにそれぞれ垂直である軸線L3に平行な幅Wとをそれぞれ有し、軸線L1に対し互いに対称形状を呈する。把持爪143は、板部142の下面に沿って軸線L2に対し平行に移動可能であり、これにより把持爪143,143間の距離Dが変化する。一対の把持爪143が物品17を把持する際に必要とする把持爪143の先端からの長さであって、軸線L1に平行な長さを把持深さLaとする。
【0018】
図中、軸線L1,L2,L3が交差する点から所定距離だけ下方に位置する点、例えば軸線L1と把持爪143の底面とが交差する点P0をグリッパー14の基準点とすると、基準点P0の位置座標(x、y、z)によりグリッパー14の位置が決定される。軸線L1とZ軸、L2とX軸、およびL3とY軸(
図1)がそれぞれ平行な姿勢をグリッパー14の基準姿勢とすると、グリッパー14は、基準姿勢から軸線L1を中心として所定角度ψ(例えば−90°≦ψ≦90°)だけ回転可能であり、軸線L2を中心として所定角度φ(例えば−30°≦φ≦30°)だけ回転可能であり、軸線L3を中心として所定角度θ(−30°≦θ≦30°)だけ回転可能である。したがって、角度φ,θ,ψによりグリッパー14の姿勢が決定される。すなわち、3次元空間におけるグリッパー14の位置姿勢は、並進3方向(x,y,z)および回転3方向(φ,θ,ψ)からなる6方向(x,y,z,φ,θ,ψ)の6自由度により決定される。
【0019】
図3A,
図3Bは、それぞれグリッパー14の把持爪143の動作を模式的に示す図である。物品17は、一例として円板部171と、円板部171の中心部から垂直に立設する円柱部172とを有する。物品17を把持するときは、例えば
図3Aに示すように、把持爪143の開放状態において、物品(円柱部
172)の両側に一対の把持爪143を配置する。この状態から、
図3Bに示すように、一対の把持爪143を互いに近づけ、一対の把持爪143で物品17を把持する。なお、物品17が上下反転して配置されているときは、把持爪143で円板部171を挟持することができる。
【0020】
本実施形態では、
図3Aに示すような開放状態の把持爪143を、グリッパーモデル20として予めロボット制御装置13に設定しておく。グリッパーモデル20は、一対の把持爪143が存在する実体部分の領域である実体領域SP1と、実体領域SP1の内側の把持領域SP2とを含む。把持領域SP2に物品17が配置されるように、開放状態にあるグリッパー14の位置姿勢を制御することで、物品17を把持することが可能となる。
【0021】
図4は、ロボット制御装置13で実行される処理、特に物品取出しに係る処理の一例を示すフローチャートである。以下、物品取出装置10による動作を、
図4のフローチャート及び関連する図面を参照しつつ説明する。
【0022】
図4の処理は、例えば図示しない操作スイッチの操作により、物品17の取出開始指令が入力されると開始される。まず、ステップS1で、三次元空間にバラ積みされた複数の物品17の表面を三次元測定機11で測定して三次元点集合30を取得する。
図5は、三次元測定機11で取得した三次元点集合30と、三次元点集合30を構成する三次元点31の一例を示す図である。図では、三次元点31が黒丸で示されており、三次元点集合30は、黒丸全体を含む点線で囲まれた領域として示されている。
【0023】
次に、ステップS2で、三次元空間におけるグリッパー14の位置姿勢の候補である1以上の把持位置姿勢候補を設定する。把持位置姿勢候補は、グリッパー14の位置姿勢を表す6自由度、すなわち位置座標(x,y,z)および角度(φ,θ,ψ)によって表され、6自由度(x,y,z,φ,θ,ψ)のうち、1以上の自由度をパラメータとして設定する。
【0024】
例えば、xをパラメータ(x1,x2,・・・)とし、y,z,φ,θ,ψを固定値(y0,z0,φ0,θ0,ψ0)とする場合、まず、xの取りうる範囲(探索範囲)Δxを設定する。探索範囲Δxは、三次元点集合30に属する三次元点31のx座標の最小値xminと最大値xmaxとによって与えることができる(xmin≦x≦xmax)。なお、ロボット制御装置13に予め探索範囲Δxを設定しておいてもよい。次に、把持位置姿勢候補のx方向のピッチ(探索間隔)pxを設定する。探索間隔pxは、予め設定しておいてもよいし、範囲Δxを所定数で除算して求めてもよい。これにより、x方向に等間隔に把持位置姿勢候補(x1,y0,z0,φ0,θ0,ψ0),(x2,y0,z0,φ0,θ0,ψ0),・・・が設定される。
【0025】
y,z,φ,θ,ψをパラメータとする場合も、上述したのと同様に行う。但し、φ,θ,ψの探索範囲については、グリッパー自体の取りうる範囲、すなわち、−30°≦φ≦30°、−30°≦θ≦30°、−90°≦ψ≦90°に設定すればよい。6自由度のうち、複数の自由度(例えばx、y)をパラメータとする場合、把持位置姿勢候補は、xをパラメータとした把持位置姿勢候補とyをパラメータとした把持位置姿勢候補の組み合わせによって与えられる。例えば、xをパラメータとした把持位置姿勢候補が5点あり、yをパラメータとした把持位置姿勢候補が4点ある場合、把持位置姿勢候補は全体で5×4=20点となる。なお、xおよびyをパラメータとし、zを固定値とする場合、計測された三次元点31の中から所定の条件を満たすzを選択してもよい。例えば、(x、y)から所定距離内にある三次元点31の中で、最も高位置にある三次元点31のz座標を、把持位置姿勢候補のz座標としてもよい。
【0026】
ステップS3では、ステップS2で設定された把持位置姿勢
候補の各々にグリッパー14が配置されたときの、物品17の把持が成功する可能性、すなわち把持成功可能性Eを演算する。把持成功可能性Eは、三次元点31の位置情報と予め設定されたグリッパーモデル20とに基づいて、例えば0〜1.0の範囲で算出され、数値が大きいほど物品17を把持できる可能性が高いことを意味する。把持成功可能性Eは、例えば、把持領域SP2内に存在する全ての三次元点31の重心位置に基づいて、次式(I)により算出することができる。
【0027】
【数1】
上式(I)のベクトルpは、
図6に示すように、把持領域SP2の上面の中心位置40に至るベクトルであり、ベクトルgは、把持領域SP2内に存在する三次元点31の重心位置41に至るベクトルである。D1は、把持領域SP2上面の中心位置40から把持領域SP2内の最も離れた点42までの距離である。上式(I)によれば、三次元点31の重心位置41が把持領域SP2上面の中心位置40に近いほど、把持成功可能性Eが高くなる。すなわち、この場合には、物品17を把持する部分の長さが長くなり、かつ、一対の把持爪143で物品17を両側から均等に把持することができるようになるため、把持成功可能性Eは高い。
【0028】
なお、把持成功可能性Eを算出する場合、把持領域
SP2内に存在する三次元点31の重心位置41と把持領域SP2
の上面との間の距離を、X、Y、Zの各軸毎に求めてEを算出するようにしてもよい。ユークリッド距離ではなく、マンハッタン距離を用いてEを算出することもできる。把持領域SP2内に存在する三次元点31の分布に基づき、把持成功可能性Eを次式(II)により算出することもできる。
【0029】
【数2】
上式(II)のNは、把持領域SP2内に存在する三次元点31の個数、z0は、把持領域SP2内の全ての三次元点31の重心のz座標、ziは、把持領域SP2内に存在するi番目の三次元点31のz座標、D2は、把持領域SP2の高さ(z方向の長さ)である。上式(II)によれば、上式(II)は、把持領域SP2内に存在する物品17の上面が平面的であれば物品17を把持しやすい点を考慮したものであり、物品17の上面が平面的であるほど、把持成功可能性Eが高くなる。例えば、
図7Aの状態は、
図7Bの状態よりも把持成功可能性Eが高くなる。なお、上式(II)で、z座標の分散値を用いることもでき、z座標以外(例えばx座標またはy座標)の分布に基づき、把持成功可能性Eを算出するようにしてもよい。
【0030】
上式(I)によって求めた把持成功可能性(E1で表す)と上式(II)によって求めた把持成功可能
性(E2で表す)の和(E1+E2)から把持成功可能性Eを算出してもよく、他の複数の評価式の和から把持成功可能性Eを算出してもよい。この場合、重み付け係数を予め設定し、各評価式に所定の重み付け係数を乗じて、把持成功可能性Eを算出してもよい。
【0031】
把持成功可能性Eを算出する際に、実体領域SP1内に三次元点31が存在するか否かを判定し、三次元点31が1つでも存在するとき、把持成功可能性Eを0にしてもよい。これによりグリッパー14で物品17を把持する際に、グリッパー(把持爪143)が他の物品17に衝突することを防止することができる。したがって、物品17を把持し損ねる可能性が低減され、物品17やグリッパー14の破損も防止することができる。
【0032】
予めロボット制御装置13にコンテナ16のモデル(コンテナモデル)を設定し、把持成功可能性Eを算出する際に、コンテナモデルを用いてグリッパー14とコンテナ16の衝突の有無を判定するようにしてもよい。
図8は、コンテナモデル161の一例を示す図である。
図8に示すように、コンテナモデル161は、コンテナ16が存在する実体部分の領域である実体領域SP3を含む。位置姿勢候補の各々についてグリッパー14の実体領域SP1内に、コンテナ16の実体領域SP3が存在するか否かを判定し、実体領域SP3が存在するとき、把持成功可能性Eを0にすればよい。これによりグリッパー14で物品17を把持する際に、グリッパー14がコンテナ16に衝突することを防止することができ、グリッパー14やコンテナ16の破損を防止することができる。
【0033】
ステップS4では、ステップS3で算出した把持成功可能性Eに基づき、ステップS2で設定した把持位置姿勢候補の中から1以上の把持位置姿勢候補を選択し、グリッパー14の把持位置姿勢(グリッパー位置姿勢)として設定する。例えば、把持成功可能性Eが最大となる把持位置姿勢候補を選択し、グリッパー位置姿勢として設定する。三次元空間あるいは所定の二次元平面において、把持成功可能性Eが極大となる把持位置姿勢候補を選択し、グリッパー位置姿勢として設定してもよい。
【0034】
ステップS5では、各々のグリッパー位置姿勢にP1,P2,・・・,Pnとナンバリングする。但し、nはグリッパー位置姿勢の個数である。
図9は、ナンバリングされたグリッパー位置姿勢を示す図であり、所定の座標軸35に対する座標値の降順、つまり、高い位置にある(z座標が大きい)ものから順番にナンバリングされている。なお、
図9では、n=3である。座標値の降順ではなく、把持成功可能性Eの大きいものから順にナンバリングしてもよい。
【0035】
図9では、グリッパー位置姿勢P1,P2,P3がそれぞれ一対の矢印A1,A2で示され、一対の矢印A1,A2の交点がグリッパー位置姿勢の位置を、矢印A1,A2の向きがグリッパー位置姿勢の姿勢を表す。グリッパー位置姿勢の位置は、例えば
図2のグリッパー14の軸線L1と把持爪143の底面とが交差する点(基準点P0)である。また、グリッパー位置姿勢の姿勢(矢印A1,A2の向き)は、
図2のグリッパー14の軸線L1,L2と平行な方向である。なお、グリッパー位置姿勢は三次元空間において表されるため、グリッパー位置姿勢には軸線L3の方向も定義されている。
【0036】
ステップS6では、自然数値を取る変数kに対して初期値を与える。すなわち、k←1とする。変数kは、グリッパー位置姿勢Pkの番号の指定に用いる。
【0037】
ステップS7では、ロボット駆動用のアクチュエータ(電動モータ)に制御信号を出力し、
図10に示すように、グリッパー14をグリッパー位置姿勢Pk(例えばP1)に移動させる。これにより一対の把持爪143が、取出すべき物品17の両側に、物品17を挟むように配置される。
【0038】
ステップS8では、グリッパー駆動用のアクチュエータに物品17を把持するための制御信号を出力する。これにより、
図11に示すように、物品17が把持爪143で把持される。グリッパー位置姿勢Pkは、所定の座標軸35に対する降順にナンバリングしているので(ステップS5)、取出すべき物品17はコンテナ16内の最も高い位置にある物品17となり、グリッパー14の移動中に、グリッパー14が物品17と衝突するおそれを低減できる。なお、把持成功可能性Eの大きいものから順にナンバリングすると、把持できる可能性の高い物品17から取出されるようになり、物品17の荷崩れ等により物品17の積載状態が変化することを抑制できる。
【0039】
次に、ステップS9で、ロボット駆動用のアクチュエータに制御信号を出力し、
図12に示すように、物品17を把持したままグリッパー14を所定方向、例えば所定の座標軸35(
図9)の方向に沿って所定量上昇させる。
【0040】
ステップS10では、物品17の上昇位置において、グリッパー14による物品17の把持が成功したか否かを判定する。例えば、グリッパー
14に重量を検出する重量検出器を設け、検出値が所定値以上となった場合に、把持が成功したと判定する。なお、近接センサで物品17が存在するか否かを判定し、把持が成功するか否かを判定してもよい。グリッパー14の先端にスイッチを設け、スイッチのオンオフによって把持が成功したか否かを判定してもよい。把持が成功したと判定されると、ステップS11へ進み、把持が成功していないと判定されると、ステップS11をパスしてステップS12へ進む。
【0041】
ステップS11では、ロボット駆動用アクチュエータに制御信号を出力し、物品17をロボット12の動作により所定位置に搬送し、物品17をグリッパー14から取り外す。
【0042】
ステップS12では、kに1を加算してk←k+1とし、さらにステップS13でk<nか否かを判定する。この判定は、n個(
図9では3個)のグリッパー位置姿勢Pkの中にグリッパー14が未だ到達していないものが存在するか否かの判定である。k<nと判定されると、グリッパー位置姿勢Pkにグリッパー14が未だ到達していないので、ステップS7へ戻る。そして、グリッパー14を次のグリッパー位置姿勢Pk(例えばP2)へ移動させ、物品17を把持する。ステップS13でk≧nと判定されると、n個のグリッパー位置姿勢Pkの全てにグリッパー14が到達したので、処理を終了する。
【0043】
以上では、ステップS2で把持位置姿勢候補を設定し、ステップS3で各々の把持位置姿勢候補における把持成功可能性Eを演算したが、これらの処理は、例えば以下のようにして行うこともできる。
図13は、
図4のステップS2およびステップS3の変形例を示すフローチャートである。
【0044】
まず、ステップS21で、三次元測定機11によって取得した三次元点31を所定方向に投影(正射影)し、投影面(正射影画像と呼ぶ)を生成する。
図14は、正射影画像50の一例を示す図である。正射影の方向は、物品17をグリッパー14で把持するときのグリッパー14のアプローチ方向(例えば−Z方向)である。
図14では、三次元点31a〜31cがそれぞれXY平面と平行な正射影画像50上に投影されている。
【0045】
ここで、正射影画像50の各々の三次元点31a〜31cに対応する画素は、各々の三次元点31a〜31cのz座標に相当する画素値(
図14では、「1」,「3」,「9」)をそれぞれ有する。正射影画像50の画素の大きさ(x,y方向の長さ)は予め設定されている。画像50の画素数が所定値となるように画素の大きさを設定してもよい。把持位置姿勢候補の姿勢に関しては、x軸周りの回転角φおよびy軸周りの回転角θを固定値(例えば0)として設定し、z軸周りの回転角ψをパラメータとする。したがって、各画素において回転角ψを所定の角度ピッチで所定回数だけ変更する場合、把持位置姿勢候補は全体で正射影画像50の画素数×ψの変更回数となる。
【0046】
ステップS22では、把持位置姿勢候補の各々の姿勢に対応したグリッパーモデル20(
図3A)を正射影画像50上に投影(正射影)し、フィルタ画像を生成する。本変形例では、フィルタ画像はψの候補数と同一だけ生成される。
図15は、フィルタ画像60の一例を示す図である。図中のDは、一対の把持爪143間の距離に相当し、TおよびWは把持爪143の厚さおよび幅に相当する(
図2参照)。フィルタ画像60は、グリッパーモデル20の実体領域SP1に対応する実体画像61と、把持領域SP2に対応する把持画像62とを含む。
【0047】
ステップS23では、フィルタ画像60を用いて、各々の把持位置姿勢候補の高さzaを演算する。例えば、フィルタ画像60の中心と把持位置姿勢候補に対応する正射影画像50上の画素の中心を一致させた際の、把持画像62内に含まれる正射影画像50中の最大画素値Zbから把持深さLaを減算した値(Zb−La)を、把持位置姿勢候補の高さzaとする。
【0048】
ステップS24では、ステップS3と同様、各々の把持位置姿勢候補に対応する把持成功可能性Eを演算する。この場合、フィルタ画像60のうちの実体画像61内に含まれる正射影画像50中の最大画素値が、把持位置姿勢候補の高さよりも大きいか否かを判定する。最大画素値がzaよりも大きい場合には、把持爪143の下端が物品17に衝突するため、把持成功可能性Eを0にする。これにより、把持成功可能性Eの演算を高速で行うことができ、グリッパー14と物品17の干渉の有無を短時間で判断することができる。
【0049】
なお、
図4のステップS2では、(x,y,z,φ,θ,ψ)の6自由度によりグリッパー14の位置姿勢候補を設定するようにしたが、グリッパー14の開放量d、すなわち一対の把持爪143間の距離Dを調整可能である場合、開放量dを追加的なパラメータとして把持位置姿勢候補を設定することもできる。この場合、グリッパー14の位置姿勢は、(x,y,z,φ,θ,ψ,d)の7自由度となる。
【0050】
図16は、開放量dをパラメータとした把持位置姿勢候補の一例を示す平面図である。
図16には、3つの物品17A,17B,17Cが互いに異なる姿勢で示されている。すなわち、物品17Aの円柱部172は下方を向き、物品17Bの円柱部172は上方を向き、物品17Cの円柱部
172は側方を向いている。物品17Aに対しては、グリッパー14の開放量dを拡大することで、物品17Aを安定的に把持することができる。また、物品17B,17Cに対しては、開放量dを縮小することで、把持爪143が他の物品17と干渉することなく、物品17B,17Cを把持することができる。なお、開放量dをパラメータとする場合、把持位置姿勢候補が多くなるため、
図14に示すように正射影画像50を用いて把持位置姿勢候補を設定することが好ましい。これにより、把持成功可能性Eを高速で演算することができる。この場合、開放量dに応じて把持画像62の大きさを増減したフィルタ画像60を生成すればよい。このとき、生成するフィルタ画像60の枚数は
、ψの候補数×開放量dの候補数となる。
【0051】
本実施形態によれば以下のような作用効果を奏することができる。
(1)三次元点空間にバラ積みされた複数の物品
17の表面位置を三次元測定機11で測定して複数の三次元点31の位置情報を取得し(ステップS1)、開放状態にあるグリッパー14の実体領域SP1と把持領域SP2とを含むグリッパーモデル20を設定し、グリッパー14の位置および姿勢の候補として1以上の位置姿勢候補を設定し(ステップS2)、三次元測定機11により取得された位置情報とグリッパーモデル20とに基づき、位置姿勢候補の各々にグリッパー14が配置されるときの物品17の把持成功可能性Eを演算し(ステップS3)、把持成功可能性Eに基づき、位置姿勢候補の中から1以上の位置姿勢候補を選択してグリッパー位置姿勢として設定し(ステップS4)、このグリッパー位置姿勢へグリッパー14を移動して物品17を取出すようにロボット12を制御した(ステップS7〜ステップS13)。これにより、予め物品17の情報を入力することなく、バラ積みされた物品17をグリッパーで把持して取出すことができる。物品17の情報を入力する必要がないため、多品種や不定形の物品17であっても、物品17を自動的に取出すことが可能である。
【0052】
これに対し、例えば、物品の三次元モデルパターンを用いて三次元パターンマッチングにより物品の位置を認識する方法(第1比較例による方法)では、三次元モデルパターンを作成する必要があり、手間を要する。とくに、物品が多品種の場合には、品種数分のモデルパターンを作成する必要があり、多大な手間が必要となる。
さらに、第1比較例による方法には、本実施形態と比較した場合に以下のような問題点がある。不定形の物品は、三次元モデルパターンを作成できないので、その位置を認識することはできない。バラ積みされた物品
17は、三次元測定機11に向いていない側の三次元点31を取得できない上に、大きく傾いたり近隣の物品に邪魔されたりするため、撮影条件が悪い。このため、三次元パターンマッチングにより物品の三次元姿勢を決定できるほど質、量ともに十分な三次元点集合を得るのは困難であり、物品の位置姿勢の認識失敗や誤認識が発生したり、上方に位置する取出すべき物品の位置の認識に失敗し、下方に位置する物品の位置が先に認識されたりするおそれがある。誤認識された物品位置姿勢や下方にある物品位置を目掛けてロボット12の
グリッパー14の位置姿勢を制御すると、物品
17を取損ねて装置の作業効率が落ちるばかりか、
グリッパーと物品
17とが衝突してそれらを損傷させるおそれがある。損傷を回避しようとすると、ロボット12の移動速度を遅くせざるを得ず、作業効率が悪化する。
【0053】
また、例えば、物品の把持される部分領域である把持部分領域を用いて物品の位置姿勢を認識し、把持位置姿勢を設定する方法(第2比較例による方法)では、予めユーザが物品の把持部分領域を教示する必要があり、手間を要する。また、物品の形状および姿勢によっては把持部分領域が三次元測定機側に露出していない場合があり、この場合には、物品を認識することができず、物品の取出しが困難である。物品の位置姿勢に拘わらずに物品を認識しようとすると、把持部分領域を複数教示する必要があり、多大な手間が必要となる。さらに、第2比較例による方法では、不定形の物品は把持部分領域を教示できないので、不定形の物品を取出すことはできない。
【0054】
(2)把持領域SP2の上面の中心位置40と把持領域SP2内に存在する三次元点31の重心位置41との距離に基づいて把持成功可能性Eを演算すれば(上式(I))、物品17を一対の把持爪143で深く把持できる位置姿勢であり、かつ、一対の把持爪143の中央部で把持できる位置姿勢をグリッパー位置姿勢として設定することができる。このため、物品17を安定的に把持することができる。把持領域SP2内の三次元点31の分布、例えば平面度に基づいて把持成功可能性Eを演算すれば(上式(II)
)、物品17のより把持しやすい部分を把持することができる。
【0055】
(3)把持位置姿勢候補におけるグリッパー14の実在領域SP1と物品17またはコンテナ16との干渉の有無を判定し、干渉している場合に把持成功可能性Eを0にすれば、グリッパー14と物品17またはコンテナ16との衝突を避けることができる。これにより、物品17を安定して取出すことができるとともに、グリッパー14と物品17およびコンテナ16との損傷を防ぐことができる。
【0056】
これに対し、例えば物品の位置姿勢を認識し、その位置姿勢のみからグリッパー位置姿勢を求める場合(例えば第1比較例による方法)には、グリッパー位置姿勢にグリッパーを移動させた場合に他の物品がグリッパーと干渉し、把持
対象となる物品を把持できないおそれがある。また、グリッパーと物品やコンテナが衝突し、グリッパー、物品、コンテナを破損するおそれもある。
【0057】
(4)グリッパー14の把持位置姿勢候補の設定および把持成功可能性Eの演算を、三次元点31とグリッパーモデル20を投影した画像50上で行うことで(
図13)、グリッパー位置姿勢を高速で設定することができる。この場合、三次元点31とグリッパーモデル20を正射影した画像50及びフィルタ画像60を用いて処理を行うので、次のような利点もある。通常の視点有の距離画像上では、隣り合う画素の実空間上における間隔は一定ではない。すなわち、実空間上における対象物が画素から離れているほど、対象物が縮小して画素上に現れる。このため、画素間の距離で実空間上におけるグリッパー14の大きさを扱うことはできず、グリッパーモデルを距離画像上の大きさで表現する必要がある。しかしながら、グリッパー14の大きさを距離画像上で表現すると、正確性に欠けるうえ、グリッパー位置姿勢の設定が難しくなる。この点、正射影画像50を用いることで、隣り合う画素間の距離がそのまま実空間上の距離となり、グリッパーモデル20の設定に実空間の単位を直接使用することができるので、グリッパー位置姿勢の設定が簡易である。
【0058】
(5)グリッパー14の開放量が調整可能である場合、グリッパー14を物品17へ接近させる際のグリッパー14の開放量dをパラメータとして把持位置姿勢候補を設定することで、物品17の積載状態に応じてグリッパー14の開放量dを最適化したグリッパー位置姿勢を求めることができる。これにより、グリッパー14が取出すべき物品17(対象物品)以外の物品17と干渉することがなく、物品17をより確実に取出すことができる。
【0059】
なお、複数の物品17の表面位置を三次元測定機11で測定して複数の三次元点31の位置情報を取得し、開放状態にあるグリッパー14の実体部分の領域である実体領域SP1と、実体領域SP1の内側の把持領域SP2とを含むグリッパーモデル20を設定し、グリッパー14の位置および姿勢の候補として1以上の位置姿勢候補を設定し、三次元測定機11により取得された位置情報とグリッパーモデル20とに基づき、位置姿勢候補の各々にグリッパー14が配置されるときの、グリッパー14による物品17の把持成功可能性Eを演算し、把持成功可能性Eに基づき、位置姿勢候補の中から1以上の位置姿勢候補を選択してグリッパー位置姿勢として設定し、設定されたグリッパー位置姿勢へグリッパー14を移動して物品17を取出すようにロボット12を制御するのであれば、開閉可能なグリッパー14を有するロボット12を用いて、三次元空間にバラ積みされた物品を取出す物品取出方法の構成はいかなるものでもよい。
【0060】
図17は、
図1のロボット制御装置13の内部構成を示すブロック図である。ロボット制御装置13は、把持部モデル設定部131と、位置姿勢候補設定部132と、把持可能性演算部133と、位置姿勢設定部134と、ロボット制御部135とを有する。
【0061】
上記実施形態では、一対(2指)の
把持爪を有するグリッパー14により物品17を把持するようにしたが、グリッパー14は3指以上でもよく、物品17を把持する開閉可能な把持部の構成は上述したものに限らない。したがって、開放状態にある把持部の実体部分の領域である実体領域と、実体領域の内側の把持領域とを含む把持部モデルを設定する把持部モデル設定部131の構成も上述したものに限らない。
【0062】
上記実施形態では、6方向の自由度(x,y,z,φ,θ,ψ)のうち1以上の自由度をパラメータとして、あるいはグリッパー14の開放量dをパラメータとして、グリッパー14の位置姿勢候補を設定するようにしたが(ステップS2)、把持部の位置および姿勢の候補として1以上の位置姿勢候補を設定する位置姿勢候補設定部132の構成はこれに限らない。
【0063】
例えば、三次元測定機11により測定された複数の三次元点31の中から、互いに近傍にある三次元点31を連結してなる1以上の連結集合を求め、各連結集合に基づいてグリッパー14の位置姿勢候補を設定するようにしてもよい。連結集合は、例えば、隣り合う第1三次元点31と第2三次元点31との間の距離が所定値以内であるときに、第1三次元点31と第2三次元点31とを互いに連結することで構成される。
【0064】
図18は、連結集合32の一例を示す図である。
図18に示すように複数の三次元点31(311〜317で表す)が三次元測定機11により測定され、このうち、311と312、312と313、313と314、及び315と316がそれぞれ所定距離内に存在するとき、これらは互いに連結される。この場合、312と313を介して311と314も連結されるため、311〜314は同一の連結集合321を構成する。一方、315と316は、311〜314のいずれにも連結されないため、別の連結集合322を構成する。317は、311〜316のいずれにも連結されないため、317のみで連結集合323を構成する。
【0065】
三次元的測定機11によりバラ積みされた物品17の表面が測定される場合、同一物品17上における隣り合う三次元点31(例えば
図18の313,314)は互いに近距離に位置する。これに対し、物品17の境界部では隣り合う三次元点(例えば
図18の314,315)の位置が大きく変化する。したがって、三次元点313,314は同一の連結集合32に属するのに対し、三次元点314,315は互いに異なる連結集合32に属する。このため、連結集合32を構成する3次元点間の最大距離や、連結集合32の最小点数、最大点数等を適宜設定することで、連結集合32を、単一の物品17の表面形状とみなすことができる。
【0066】
連結集合32に基づいてグリッパー14の把持位置姿勢候補を設定する場合、例えば各連結集合32を構成する三次元点31の重心位置を把持位置姿勢候補の把持位置候補とする。そして、この把持位置候補において姿勢を変化させて、あるいは把持位置候補において所定の姿勢を組み合わせて、把持位置姿勢候補を設定する。なお、連結集合32の重心位置を中心とした所定の範囲(探索範囲)内で把持位置姿勢候補を設定するようにしてもよく、連結集合32を構成する三次元点31が存在する領域を探索範囲として把持位置姿勢候補を設定してもよい。
【0067】
上記実施形態では、三次元測定機11により取得された三次元点31の位置情報とグリッパーモデル20(把持部モデル)とに基づき、所定の演算式(式(I),式(II))を用いて、把持位置姿勢候補の各々にグリッパー14が配置されるときの物品17の把持成功可能性Eを演算するようにしたが、把持可能性演算部133の構成はこれに限らない。グリッパーモデル20の実体領域SP1に物品17が存在するか否かを判定し、物品17が存在すると判定された把持位置姿勢候補における把持成功可能性Eを0にしたが、把持成功可能性Eを0ではなく低下させるようにしてもよい。
【0068】
上記実施形態では、グリッパー14の実体領域SP1内にコンテナモデル161の実体領域SP3が存在するか否かを判定し、実体領域SP3が存在するときに把持成功可能性Eを0にしたが、把持成功可能性Eを0ではなく低下させるようにしてもよい。コンテナ16(収容部)の形状は種々のものを採用することができ、収容部のモデルを設定する収容部モデル設定部としてのロボット制御装置13の構成はいかなるものでもよい。
【0069】
上記実施形態(
図13)では、三次元測定機11により測定された複数の三次元点31を正射影して正射影画像50を生成し、正射影画像50上で位置姿勢候補を設定し、この位置姿勢候補と正射影画像50上に正射影したフィルタ画像60とに基づいて把持成功可能性Eを演算するようにしたが、正射影以外によって三次元点31を画像上に投影してもよい。したがって、三次元点31を平面上に投影した投影点に基づいて位置姿勢候補を設定し、グリッパーモデル20等の把持部モデルを平面上に投影したフィルタ画素60等の投影モデルと、投影点とに基づいて把持可能性Eを演算するのであれば、この実施形態は種々の変形が可能である。
【0070】
上記実施形態では、把持可能性演算部133で演算された把持可能性Eが最大または極大となる把持位置姿勢候補をグリッパー位置姿勢として設定したが、把持可能性演算部133により演算された把持成功可能性Eに基づき、位置姿勢候補設定部132により設定された位置姿勢候補の中から1つ以上の位置姿勢候補を選択し、把持部位置姿勢として設定するのであれば、位置姿勢設定部134の構成はいかなるものでもよい。
【0071】
上記実施形態では、グリッパー位置姿勢を矢印A1,A2で表し(
図9)、このグリッパー位置姿勢にグリッパー14を移動するようにしたが、位置姿勢設定部134により設定されたグリッパー位置姿勢(把持部位置姿勢)へグリッパー14を移動して物品17を取出すようにロボット12を制御するのであれば、ロボット制御部135の構成はいかなるものでもよい。
【0072】
以上の説明はあくまで一例であり、本発明の特徴を損なわない限り、上述した実施形態及び変形例により本発明が限定されるものではない。上記実施形態及び変形例の構成要素には、発明の同一性を維持しつつ置換可能かつ置換自明なものが含まれる。すなわち、本発明の技術的思想の範囲内で考えられる他の形態についても、本発明の範囲内に含まれる。また、上記実施形態と変形例の1つまたは複数を任意に組み合わせることも可能である。