JP7066671B2 - 干渉判定装置、干渉判定方法、プログラム及びシステム - Google Patents

干渉判定装置、干渉判定方法、プログラム及びシステム Download PDF

Info

Publication number
JP7066671B2
JP7066671B2 JP2019223746A JP2019223746A JP7066671B2 JP 7066671 B2 JP7066671 B2 JP 7066671B2 JP 2019223746 A JP2019223746 A JP 2019223746A JP 2019223746 A JP2019223746 A JP 2019223746A JP 7066671 B2 JP7066671 B2 JP 7066671B2
Authority
JP
Japan
Prior art keywords
work
gripping
interference determination
model
interference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019223746A
Other languages
English (en)
Other versions
JP2020049651A (ja
Inventor
大輔 渡邊
晋二 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019223746A priority Critical patent/JP7066671B2/ja
Publication of JP2020049651A publication Critical patent/JP2020049651A/ja
Application granted granted Critical
Publication of JP7066671B2 publication Critical patent/JP7066671B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)

Description

本発明は、ワークを把持する際の干渉判定の技術に関するものである。
工場などの生産ラインにおいて、山積みされたワークの中から一個体をビジョンシステムを用いて特定し、三次元位置姿勢を認識することで、ロボットに取り付けたハンドにより把持を行う、山積みピッキング技術が近年開発されている。この技術において認識したワークを把持する際に、ワークの収容箱、あるいは把持対象以外のワークなどの周辺物体とハンドとの衝突を避けるためには、衝突の有無を事前に判定する処理が必要となる。
特許文献1には、上方に取り付けたセンサからワークまでの距離を画像様式で取得し、取得した情報からワークの位置姿勢を認識する。そして、ワークを把持するハンドの形状と位置姿勢、および取得した距離情報に基づき、事前に干渉判定を行う方法が記載されている。具体的には、認識したワークのz方向上方の基準高さ位置にハンドを仮想的に持っていく。そして、基準高さ位置からワークの把持位置までハンドをz方向に仮想的に下降させる。そして、下降させた把持位置で第1指部と第2指部との間を少し開き、第1指部と第2指部の各指先のz方向下方に指先から適当な余裕Δを持たせ、かつワークからも適当な余裕Δを持たせ、干渉判定用の仮想平板を仮想的に設定する。そして、センサで取得した画像様式の距離情報において仮想平板と重なる画素の距離値に、仮想平板よりも大きなz値を持つものが存在すれば干渉が発生すると判定する。これにより、認識したワークをハンドが把持する際の周辺物体との干渉の有無を高速に事前判定可能となる。
特開2010-207989号公報
しかしながら、特許文献1の方法では、取得した画像様式の距離情報の中に、把持の対象となるワークの形状を表す距離情報も含まれる。特許文献1では、把持対象ワーク自身と干渉があると判定されるのを防ぐため、各指をワークから適当な余裕Δだけ離間させている。そのため、実際に把持対象ワークを把持する際に干渉しない周囲の物体とも干渉ありと判定されてしまう場合がある。
本発明は以上の課題に鑑みてなされたものであり、把持対象ワーク以外の周辺物体とハンドとの干渉を事前に正しく判定することを目的とする。
本発明にかかる干渉判定装置は、例えば、複数のワークを含んだ空間内の複数の3次元計測点までの距離を取得する取得手段と、前記取得手段の取得結果に基づいて、前記複数のワークに含まれる把持対象ワークの位置姿勢を特定する特定手段と、前記複数の3次元計測点のうち、前記特定手段によって特定された位置姿勢にある前記把持対象ワークのモデルを把持手段のモデルが把持する際に前記把持対象ワークのモデルと前記把持手段のモデルとが接する面上の点からの距離が所定の値より小さい3次元計測点、を除いた3次元計測点と、前記把持手段のモデルと、の干渉判定を行う干渉判定手段と、前記干渉判定手段の干渉判定の結果を出力する出力手段とを備える。
本発明によれば、把持対象ワーク以外の物体とハンドとの干渉を事前に正しく判定することが可能となる。
第1の実施形態における山積みピッキングシステムの構成を示す図である。 第1の実施形態における干渉判定装置1の構成例を示すブロック図である。 第1の実施形態における干渉判定装置1を備えたワークの山積みピッキングシステムによるピッキング処理のフローチャートである。 第1の実施形態における、把持対象ワーク周辺の物体とハンドとの干渉判定を説明する図である。 第2の実施形態における、把持対象ワーク周辺の物体とハンドとの干渉判定を説明する図である。
(第1の実施形態)
第1の実施形態では、検出したワークを把持する際に、把持対象ワークの位置姿勢を利用して、2D画像上で把持対象ワーク領域を特定し、周辺物体とハンドとの干渉の有無を事前判定する方法について述べる。
具体的には、まず検出したワークの位置姿勢に基づき、計測装置と同様のカメラパラメータを持つ仮想カメラの観測画像平面上にワークの三次元形状モデルを投影する。そして、ワークの投影が行われた画素に距離画像上で対応する三次元点は把持対象ワーク領域と判定する。そして、把持対象ワーク領域の三次元点を除いた三次元形状データとハンドモデルとを用いて、三次元空間的な重なりを検出することで干渉の有無を判定する。
これにより、ハンドを把持対象ワークに極めて近づけた把持動作に対しても、把持対象ワーク部分の計測点による誤検出なく、周辺(周囲)物体とハンドとの干渉を正しく判定することが可能となる。
図1は、この実施形態に係る干渉判定装置1を備える対象ワークの山積みピッキングシステム10の構成を示している。山積みピッキングシステム10は、干渉判定装置1と、ロボット作業指示部18と、ロボット制御部19と、対象とするワーク22を把持可能なハンド20を有するロボットアーム21と、同一形状のワークを山積みで収容する(複数含んでいる)ワーク収容箱23と、から構成される。まず、各構成物について説明する。
ロボット作業指示部18は、干渉判定装置1の出力結果に基づき、ハンドと周辺物体との間に把持動作時の干渉が発生しないと判断されたワークを把持するよう、ロボット制御部19に指示を行う。
ロボット制御部19は、ロボット作業指示部18からの指示情報を受けて、ロボットアーム21およびハンド20の動作制御を行い、把持対象ワークの把持、搬送動作を行う。
ハンド(把持部)20は、ロボットアーム先端であるフランジに取り付けられ、ロボット制御部19からの動作制御によりワークの把持動作を行うエンドエフェクタである。たとえば、ワークの平面部に押しつけることで把持を行う磁石式あるいは吸着式ハンドでもよいし、二指、三指といった多数の指の開閉により物体を内側あるいは外側から挟み込むことで把持を行うグリッパー式ハンドでもよい。その他、ロボットアームに取り付け可能で把持機構を有するエンドエフェクタであればいかなるものであってもよい。
ロボットアーム21は、ロボット制御部の動作制御により対象ワークを把持可能な位置姿勢までハンドを動作可能な多自由度のロボットである。
距離センサ2は、各画素に奥行きの情報を保持する距離画像を取得するセンサである。距離センサ2としては、たとえば対象物体に照射したレーザ光やスリット光・ランダムドットパターン光の反射光をカメラで撮影し、三角測量により距離を計測するアクティブ式のものが利用できる。アクティブ式の距離計測方法としては,空間符号化法、位相シフト法などのさまざまな方式を用いてよい。さらに、距離センサはこれに限るものではなく、光の飛行時間を利用するTime-of-flight方式であってもよい。また、ステレオカメラが撮影する画像から三角測量によって各画素の奥行きを計算するパッシブ式であってもよい。この他、対象物体の表面上の三次元位置を距離画像から取得できる方法であれば、いかなるものであっても本発明の本質を損なうものではない。
次に、干渉判定装置1の構成について、干渉判定装置の機能構成例を示すブロック図である図2を用いて説明する。
干渉判定装置1は、取得部11、ワーク位置姿勢導出部12、ワークモデル保持部13、対象領域特定部14、ハンド位置姿勢導出部15、ハンドモデル保持部16、干渉判定部17とから構成される。以下、各処理部について説明する。
3次元形状データ取得部11は、対象ワークの山積み状態の表面形状を表す三次元形状データを取得する。より具体的には、距離センサにより距離画像を撮影し、各画素の座標と奥行き値から三次元の座標を算出した三次元点群を三次元形状データとして取得する。
3次元形状データ取得部11が取得した計測情報はワーク位置姿勢導出部12に入力される。ワーク位置姿勢導出部12に設定された座標系を以後、センサ座標系と呼ぶ。なお、本実施形態において、距離センサとロボットとの幾何関係は固定であるものとし、両者間の相対位置姿勢は事前にロボット・ビジョンキャリブレーションを実施して求めておくことにより既知であるものとする。また、本実施形態では、センサは、ワーク収容箱の上部に固定されたものとして説明を行ったが、センサはロボットアームに固定してもかまわない。
ワーク位置姿勢導出部12は、3次元形状データ取得部11により入力された情報を手がかりに、ワーク収容箱23内に存在するワークの一個体を検出するとともに、センサ座標系における、検出ワークの位置姿勢を表す6パラメータを算出する。
本実施形態ではまず、多数の位置姿勢からワークを観測した距離画像情報をそれぞれパターンとしてデータベースに保持しておき、距離センサ2で計測した距離画像とこれらのパターンとをマッチングすることで一個体を検出し、ワークのおおまかな位置姿勢を算出する。次に、おおまかな位置姿勢からワークの位置姿勢を再度算出し直す。まず、ワークを距離画像として取得した際に観測されるであろう三次元点群を後段の処理で用いるワークの三次元形状モデルから抽出しておく。そして、おおまかな位置姿勢に基づいて、その三次元点群と、距離センサ2で取得した距離画像上から導出された三次元点群との対応関係を求め、両者がフィッティングするように位置姿勢を導出する。ただし、取得部11で取得した距離画像を用いて、山積みワークの中から把持対象となる個体を発見し、その三次元位置姿勢を導出できる方法であれば、ここで述べた以外のいかなる方法であってもかまわない。
ワークモデル保持部13は、山積みピッキングの対象となるワークの三次元形状モデルを保持する。三次元形状モデル(3次元モデル情報)には、たとえばワークの三次元形状を近似表現したポリゴンモデルを用いることができる。ポリゴンモデルは、対象ワーク形状の表面点の3次元座標と、形状を近似する三角形の面(ポリゴン)を構成するための各表面点の連結情報によって構成される。なお、ポリゴンは三角形で構成されるのが一般的であるが、四角形や五角形であってもよい。その他、表面点の座標とその連結情報によりワーク形状を近似表現できるポリゴンモデルであればいかなるものであってもかまわない。ただし、三次元形状モデルはポリゴンモデルに限らない。たとえばCADデータ(CADモデル)のように、B-Rep(Boundary-Representation)表現と呼ばれる、区分されたパラメータ曲面の集合で形状を表現したモデルであってもよい。その他、ワークの三次元形状として、面形状を表現可能なモデルであればいかなるものであってもかまわない。三次元形状モデルは、干渉判定部17において、距離画像から得られる三次元点群から、把持対象ワーク領域に該当する三次元点を特定する際に用いられる。
対象領域特定部14は、3次元形状データ取得部11により取得される把持対象ワークを含んだ空間の3次元形状データから、把持対象ワークの領域を除いた領域を特定する。そして、対象領域特定部14は、干渉判定部17に送出する。
ハンド位置姿勢導出部15は、ワーク位置姿勢導出部12により導出されたワークの位置姿勢に基づいて、該把持対象ワークを把持するハンドの位置姿勢を導出する。具体的な処理は後述する。ハンド位置姿勢導出部15は、導出されたハンドの位置姿勢を干渉判定部17に送出する。
ハンドモデル保持部16は、把持対象ワークを把持するハンドの3次元形状モデルを保持する。ハンドモデルの3次元形状モデルに関しても、ワークの3次元形状モデルと同様なので説明を省略する。ハンドモデル保持部16は、保持するハンドの3次元形状モデルを上述のハンド位置姿勢導出部15と干渉判定部17に送出する。
干渉判定部17は、3次元形状データ取得部11が取得した三次元形状データのうち、把持対象ワーク領域特定部14が特定した把持対象ワークの領域を除いた領域に対して、干渉判定を行う。干渉判定は、ハンド位置姿勢導出部16により導出されるハンドの位置姿勢でのハンドモデルと、把持対象ワーク周辺物体との干渉の有無を判定する。これには、ハンドモデル保持部15に保持されるハンドの三次元形状を表現したポリゴンモデルを用いて、ゲームプログラミングなどで一般的に利用される衝突判定技術を利用する。具体的には、ビジョンシステムにより山積みワークを撮影した距離画像から得られる三次元形状データと、検出したワークを把持する際の位置姿勢におけるハンド形状との、三次元空間上での重なりを検出することで、干渉の発生を検出する。干渉判定部17は、上記の干渉判定処理を行い、干渉がないと判定された場合に、把持対象ワークをロボット作業指示部18に出力する。もちろん、干渉があると判定された場合にも、干渉判定の結果を出力してもかまわない。
図3は、本実施形態において、干渉判定装置1を利用して把持動作時の干渉を事前判定しながら山積みワークのピッキングを行う処理手順を示すフローチャートである。
(ステップS201)
ステップS201では、ワークモデル保持部13が、保持しているワークの三次元形状モデルをワーク位置姿勢導出部12および干渉判定部17に入力する。
(ステップS202)
ステップS202では、ハンドモデル保持部13が、保持しているハンドの三次元形状を表すモデルをハンド位置姿勢導出部15および干渉判定部17に入力する。ここでは、三次元形状をポリゴンの集合により近似したポリゴンモデルを入力するものとする。
(ステップS203)
ステップS203では、3次元形状データ計測部11が、山積みされた対象ワークの距離画像を撮影し、各画素の座標と奥行き値から三次元点群の座標データを算出して、ワーク位置姿勢導出部12に入力する。三次元点群の点の総数をNとする。なお、得られる三次元点群の各点の座標は、基準座標系で表現されているものとする。これ以後、基準座標系で表現された三次元点群の各点にIDをつけ、i番目の三次元点をkc_iと呼ぶことにする。ここで、本ステップで生成した三次元点の座標と、対応する距離画像の各画素の座標には、互いに参照できるようにリンク情報を記録しておく。
(ステップS204)
ステップS204では、ワーク位置姿勢導出部12が、山積み中のワークの中から把持対象となる個体を一つ検出し、センサ座標系における検出ワークの位置姿勢を表す6つのパラメータを算出する。個体の検出および位置姿勢の算出にはさまざまな方法を利用できる。前述したように、本ステップではまず、ワークを多数の位置姿勢から観測したときの各距離画像のパターンと、ステップS201で得られた距離画像とのマッチングを行い、もっともスコアの高かったデータに対応する観測位置姿勢を把持対象ワークの概略位置姿勢として求める。具体的には、特開2001-14307号公報明細書に記載されている方法を利用し、距離画像上の特徴点間の位置関係と、データベース上に存在する、各観測位置姿勢における特徴点間の位置関係とを比較して、最も一致する特徴点群を選別することで概略位置姿勢を算出する。次に、得られた概略位置姿勢を初期値として、ICP(Iterative Closest Point)法と呼ばれる手法を用いて、距離画像から得られた三次元点群に対して、ワークの三次元形状モデルが三次元空間中で当てはまるような位置姿勢を算出する。
まず、ワークの三次元形状モデル表面上から抽出した点群をPとする。
P = { pm_1 m_2 …, pm_N } (1)
次に、距離画像から得られる三次元点群をKとする。
K = { km_1, m_2, …, km_N } (2)
三次元形状モデルからサンプリングした表面点群Pを変換して、距離画像から得られる三次元点群Kに一致するような位置姿勢パラメータを算出する。概略位置姿勢に基づき、点群Pの各点pをセンサ座標系に変換した時に点群Kの中で距離が最も近い点をb∈Kとしたとき、(3)のように誤差関数を定義できる。ここで、Rとtはそれぞれ、求める姿勢パラメータと移動ベクトルである。
Figure 0007066671000001
この誤差関数Eを小さくするRとtを求めることで、位置姿勢を表す6パラメータを算出する。なお、誤差関数Eを小さくするRとtを求める方法については、以下の文献に載っている。
K.S.Arun,T.S.Huang,and S.D.Blosteln,”Least-Squares Fitting of Two3-D Point Sets,”PAMI,vol.9,no.5,1987
なお、本ステップでは上記のようにR,tを直接求めるのではなく、Gauss-Newton法など非線形最適化手法を用いてワークの位置姿勢パラメータの補正を繰り返すことで算出しても良い。その他、山積み中のワークの中から一個体を検出し、センサ座標系におけるワークの位置姿勢を表す6つのパラメータを算出可能な方法であればいかなる方法であってもよい。
(ステップS205)
ステップS205では、対象領域特定部14が、ステップS204で導出した把持対象ワークの位置姿勢に基づき、三次元形状データ上で把持対象ワーク以外に該当する三次元点を特定する。本ステップの処理について図3を用いて説明する。
図4(a)は、収容箱に山積みされたワークを撮影した距離画像、および、その距離画像からステップS20において検出、位置姿勢が算出された把持対象ワークを示している。ここで、ワークモデル保持部13の保持するワークの三次元形状モデルと、把持対象ワークの位置姿勢とを用いて、以下の方法により、把持対象ワーク以外の三次元形状データを特定する。
まず、仮想カメラの観測画像平面を用意し、その観測画像平面上に、算出した位置姿勢に基づいてワークの三次元形状モデルをレンダリングする。なお、仮想カメラのカメラパラメータには、計測部11で実際に用いる撮像装置と同一のものを取得して利用するのがよい。同一のカメラパラメータを利用することで、計測部で撮影した距離画像の各画素(x,y)が、仮想カメラの観測画像平面上の(x,y)に対応する。ただし、撮影した距離画像と、仮想カメラの観測画像平面との画素の対応関係が特定できれば、必ずしも同一のカメラパラメータである必要はない。なお、レンダリング処理に先立って、まず、画像平面全体をたとえば(R,G,B)=(0,0,0)などの色で初期化しておく。
次に、ワークがレンダリングされた画素を特定できるよう、三次元形状モデルを構成する各面に対して、初期化に利用した色以外で固有の色を割り当て、割り当てた色で各面をレンダリングする。たとえば、ポリゴンモデルを利用するのであれば、ポリゴンモデルを構成する全ポリゴンに(R,G,B)=(255,0,0)の色を割り当ててレンダリングを行う。あるいはB-Rep表現の区分パラメータ曲面のモデルを利用する場合においても、各曲面に対して固有の色を割り当ててレンダリングを行う。なお、ワークがレンダリングされている領域の画素を特定できれば、カラー画像、濃淡画像を用いてもかまわないし、各面ごとに異なる色を割り当てても同一の色を割り当ててもかまわない。あるいは、二値化画像を利用してもかまわない。図(a)の把持対象ワークに対して、上記処理により生成された画像を図(b)に示す。
次に、距離画像上の各画素(x,y)に対して、その画素に対応する観測画像平面上の各画素の輝度値(R,G,B)を順次参照することで、その画素から算出した三次元点が把持対象ワークに該当する領域であるか順次判定する。たとえば距離画像の注目画素(x,y)に対応する観測画像平面上の画素の輝度値が(R,G,B)=(255,0,0)であったとする。この場合、その画素から算出した三次元点は把持対象ワークに該当する形状を表すデータであるものと判定して、その画素に対応付けて0の値を記録しておく。あるいは注目画素(x,y)に対応する観測画像平面上の画素の輝度値が(R,G,B)=(255,0,0)であったとする。この場合、その画素から算出した三次元点は、ワーク収容箱あるいは把持対象以外のワークなど周辺物体の形状を表すデータであるものと判定して、その画素に対応付けて1の値を記録しておく。この処理を全画素に行うことで、各画素から算出した三次元点について、把持対象ワークの形状を表すもの、把持対象ワーク以外の周辺物体の形状を表すもの、のいずれに該当するかを特定可能となる。
なお、ここでは、レンダリングの結果画像を格納するフレームバッファのうち、カラーバッファの輝度値を参照することで把持対象ワーク領域を特定したが、カラーバッファの代わりに、デプスバッファやステンシルバッファの値を参照して特定を行ってもよい。あるいはレンダリングを行わずに、仮想カメラ座標系の原点から各画素に対して向かう仮想の光線を計算し、その光線と対象ワークとが交わるか否かを判定することで把持対象ワーク領域か否かを判定してもよい。
ここで、図4(c)は、図4(a)の距離画像に対する太線部の断面図を示したものである。計測装置により取得した距離画像から算出された各三次元点を白丸で示す。また、その中で、上記処理により把持対象ワークに該当するものを破線部で示す。破線部で示された把持対象ワークに該当する三次元点は除き(除外して)、実線の白丸で表示された三次元点を用いて干渉判定を行うことで、把持対象ワーク以外の物体との干渉判定が可能となる。
なお、把持対象ワークの領域の特定は、以下の方法によっても可能である。たとえば、各種類が固有の色をもつような、異なる複数種のワークが混合で山積みされた中から、1種類のワークを把持する場合には、距離画像との対応が特定可能な輝度画像を取得し、輝度画像の画素の色情報に基づいて、把持対象ワークの領域を特定してもよい。すなわち、把持対象ワークが赤色なのであれば、輝度画像上で赤色の画素に対応する距離画像上の画素の計測点は無効、赤色以外の画素に対応する距離画像上の計測点は有効という情報を付与することで、把持対象ワークの特定処理が可能である。
(ステップS206)
ステップS206では、ハンド位置姿勢導出部15が、ステップS204で導出したワークの位置姿勢に基づき、センサ座標系におけるワークの把持動作を行うハンドの位置姿勢を導出する。具体的には、把持を行う際のワークとハンドとの相対位置姿勢を、把持教示情報として記録させる作業を事前に行っておく。ワークとハンドとの相対位置姿勢の設定は、ワークのモデルとハンドのモデルとを仮想環境で操作することで行う。あるいは、センサにより計測したデータに基づき、センサ座標系における位置姿勢を求めたワークに対して、センサとハンド間の相対位置姿勢が取得可能なハンドにより、そのワークを把持できるような位置姿勢へハンドを動かし、両者の位置姿勢から算出してもよい。そして算出したワークの位置姿勢を表す座標変換行列に対して、記録しておいた把持教示情報に基づき、ワーク・ハンド間の相対位置姿勢を表す座標変換行列を掛け合わせることでセンサ座標系におけるハンドの座標変換行列を求め、両者間の位置姿勢を算出する。
図4(d)に、図4(c)の把持対象ワークに対して、本ステップにより把持を行うハンドの位置姿勢を導出して配置した様子を示す。なお、ステップS205により把持対象ワークに該当すると判定された三次元点は取り除いている。
(ステップS207)
ステップS207では、干渉判定部14が、ステップS205で特定した、把持対象ワーク以外に該当する三次元形状データと、ステップS206で算出した位置姿勢におけるハンドとの干渉判定を行う。
まず、ステップS206で導出された位置姿勢にハンドの形状を表現するポリゴンモデルを配置する。さらに、把持対象ワーク以外に該当する三次元形状データの各三次元点の位置に半径rの微小な球を配置する。そして、各ポリゴンと球との三次元空間的な重なりを検出することで干渉判定を行う。球とポリゴンとに重なりがあれば干渉あり、なければ干渉なしと判定する。ポリゴンと球との干渉判定方法については、「Christer Ericson, ”ゲームプログラミングのためのリアルタイム衝突判定”,(ボーンデジタル,2005)」に記載されている方法を用いることができる。図3(d)中において、把持対象ワーク以外の三次元点のうち、球とポリゴンとの干渉判定により、ハンドとの干渉ありと判定されたものを黒丸で示す。
ただし、干渉判定はこのほかの方法で行ってもよい。たとえば、距離画像上で隣接した画素間の三次元点を連結することで山積みワークの三次元形状データを表現するポリゴンを生成し、把持位置姿勢におけるハンドのポリゴンモデルとの、ポリゴン間の交差を検出することで干渉判定を実施する。この場合、ポリゴン間に交差があれば干渉あり、なければ干渉なしと判定し、結果を出力する。ポリゴン間の干渉判定方法については、「Tomas Moller,”A Fast Triangle-Triangle Intersection Test”,1997」に記載されている方法を用いることができる。なお、ハンドの形状モデルにはポリゴンモデルを利用したが、円柱や球、直方体などの簡単な幾何形状の組み合わせで三次元形状を表現したモデルを用いてもかまわない。このほか、山積みワークの三次元形状データと、ワークを把持するハンドの形状モデルとの間の三次元空間的な重なりを検出できる方法であればいかなる方法であってもかまわない。また、ハンドの形状モデルを把持対象ワークと反対側の方向に拡大してもよい。拡大したハンドの形状モデルを用いて干渉判定を行うことにより、実際に行われる把持動作に余裕を持たせることができる。
(ステップS208)
ステップS208では、ステップS207の結果、干渉がないと判定されればステップS209へ進む。干渉があると判定されればステップS20へ進み、別の個体の検出、位置姿勢導出を行う。
(ステップS209)
ステップS209では、ロボットアームを動作させて、把持対象ワークを把持できる位置姿勢へハンドを移動し、ハンドによるワークの把持、所定位置への搬送動作を行う。
(ステップS210)
ステップS210では、ワーク収容箱が空であるか判定する。空でなければ、ステップS203へ進む。空であれば処理を終了する。
以上の方法により、干渉判定装置1を利用して把持動作時の干渉を事前判定し、干渉がないと判定された把持対象ワークに対してピッキング(把持)を行う。
第1の実施形態では、検出したワークを把持する際に、把持対象ワークの位置姿勢を利用して、2D画像上で把持対象ワーク領域を特定し、周辺物体とハンドとの干渉の有無を事前判定する方法について説明した。具体的には、検出したワークの位置姿勢に基づき、計測装置と同様のカメラパラメータを持つ仮想カメラの観測画像平面上にワークの三次元形状モデルを投影し、ワークの投影が行われている画素に対応する三次元点は把持対象ワーク領域と判定する。そして、把持対象ワーク領域の三次元点を除いた三次元形状データとハンドモデルとを用いて、三次元空間的な重なりを検出することで干渉の有無を判定する。これにより、ハンドを把持対象ワークに極めて近づけた把持動作に対しても、把持対象ワーク部分の計測点による誤検出なく、周辺物体とハンドとの干渉を正しく判定することが可能である。この方法は主に、ワークの検出方法が、他の個体に遮蔽されていない山積み表層の個体を検出する性質を持つ場合に有効である。
なお、本実施形態では、把持教示情報は一つだけ記録してハンドの把持位置姿勢を算出したが、ワークが把持可能な相対位置姿勢を複数記録しておき、ワークの姿勢などに応じて把持教示情報を選択してハンドの位置姿勢を算出してもよい。あるいは、複数の把持教示情報に対して優先順位を設定しておき、優先順位の高い把持教示情報を選択して位置姿勢を算出してもよい。複数の把持教示情報を記録しておく場合、干渉判定処理により干渉が発生すると判定された場合には、次点の把持教示情報に基づく把持動作を選択して位置姿勢を算出し、再度干渉判定を行う。
(第2の実施形態)
第2の実施形態(以下、本実施形態)では、検出したワークを把持する際に、把持対象ワークの位置姿勢を利用して、3D空間上で把持対象ワーク領域を特定し、周辺物体とハンドとの干渉の有無を事前判定する方法について述べる。本実施例では、算出した位置姿勢における把持対象ワークの三次元形状モデルと、三次元形状データを構成する各三次元点との距離に基づき、距離が小さいものを把持対象ワークに該当するものと判定することで、周辺物体に該当する三次元点群を特定する。これにより、他の個体により遮蔽された個体を検出した場合においても、把持対象ワーク部分の計測点による誤検出なく、周辺物体とハンドとの干渉を正しく判定することが可能となる。
なお、本実施形態における装置構成および各処理部の処理内容は基本的には第1の実施形態において図2で示した干渉判定装置1と同様のため、説明を省略する。また、持動作時の干渉を事前判定しながら山積みワークのピッキングを行う処理手順についても、基本的には第1の実施形態において図2に示したフローチャートと同様のため、説明を省略する。ただし、本実施形態では、ステップS205、S206、S207の処理内容が第1の実施形態と異なる。したがって、そのほかのステップS201、S202、S203、S204、S208、S209、S210については説明を省略し、以下ではステップS205、S206、S207についてのみ説明する。
(ステップS205)
ステップS205は、対象領域特定部14が、ステップS204で導出したワークの位置姿勢に基づき、三次元形状データ上で把持対象ワーク以外に該当する三次元点を特定する。本ステップの処理について図4を用いて説明する。
図5(a)は、収容箱に山積みされたワークを撮影した距離画像、および、その距離画像からステップS202において検出され、位置姿勢が算出された把持対象ワークを示している。センサにより取得した距離画像上で、他の個体に遮蔽されずに観察された把持対象ワーク表面上の三次元点は、算出された位置姿勢に基づいて配置された把持対象ワークの表面との距離が十分に小さくなることが期待される。そこで、ワークモデル保持部13の保持するワークの三次元形状モデルと、把持対象ワークの位置姿勢とを用いて以下の方法により、把持対象ワーク以外の三次元形状データを特定する。
まず、各三次元点kc_i(i=1~N)に対して、算出した位置姿勢におけるワークの三次元形状モデルとの距離dを算出する。具体的には、センサ座標系の原点から、三次元点kc_iに対応する距離画像上の画素へ向かう視線ベクトルを求め、算出した位置姿勢におけるワークの三次元形状モデルと視線ベクトルとが最短距離で交わる点を求める。この交点と三次元点kc_iとの距離をdとして、3次元点と対応付けて記録する。なお、交点が存在しなかった場合には、想定される距離値に対して極端に大きい値を距離値として記録する。たとえば、d<10 が想定できるのであれば、交点が存在しなかった場合には、d=1000000を記録しておく。ここで、図5(b)は、図5(a)の断面図を示している。この図において、破線で示された直線は視線ベクトルを、太線で示された直線は求めた交点と三次元点との距離を示している。次に、記録された距離値dを参照して、三次元点kc_iが把持対象ワークに該当するか否かを判定する。具体的には、小さい距離値を判定するための閾値θを定めておき、d<θのものは把持対象ワークに該当する三次元点、θ≦dであれば把持対象ワーク以外の別の物体に該当する三次元点、と判定する。この処理により、図4(b)において破線で示された白丸は、ワークの三次元形状モデルとの距離値が小さいため、把持対象ワークに該当する三次元点と判定される。
(ステップS206)
ステップS205で導出したワークの位置姿勢に基づき、センサ座標系における、ワークの把持動作を行うハンドの位置姿勢を導出する。具体的には、把持を行う際のワークとハンドとの相対位置姿勢を、把持教示情報として記録させる作業を事前に行っておく。そして導出したワークの位置姿勢を表す座標変換行列に対して、記録しておいた把持教示情報に基づき、ワーク・ハンド間の相対位置姿勢を表す座標変換行列を掛け合わせることでセンサ座標系におけるハンドの座標変換行列を求め、両者間の位置姿勢を算出する。
図5(c)に、図5(b)の把持対象ワークに対して、本ステップにより把持を行うハンドの位置姿勢を算出して配置した様子を示す。なお、ステップS205により把持対象ワークに該当すると判定された三次元点は取り除いている。
(ステップS207)
ステップS205で特定した、把持対象ワーク以外に該当する三次元形状データと、ステップS206で算出した位置姿勢におけるハンドとの干渉判定を実施する。なお、干渉判定には、第1の実施形態と同様の方法を用いればよい。ここで図5(d)中において、把持対象ワーク以外の三次元点のうち、ハンドとの干渉ありと判定されたものを黒丸で示す。
第2の実施形態では、検出したワークを把持する際に、把持対象ワークの位置姿勢を利用して、3D空間上で把持対象ワーク領域を特定し、周辺物体とハンドとの干渉の有無を事前判定する方法について述べた。具体的には、算出した位置姿勢における把持対象ワークの三次元形状モデルと、三次元形状データを構成する各三次元点との距離に基づき、距離が小さいものを把持対象ワークに該当するものと判定することで、周辺物体に該当する三次元点群を特定する。これにより、他の個体により遮蔽された個体を検出した場合においても、把持対象ワーク部分の計測点による誤検出なく、周辺物体とハンドとの干渉を正しく判定することが可能となる。この方法は主に、ワークの検出方法が他の個体に一部遮蔽されているような個体を検出する性質を持つ場合に有効である。
なお、本実施形態では、各三次元点に対応する距離画像上の画素へ向かう視線ベクトルと、三次元形状モデルとの交点を求めることで、三次元点との距離を算出した。しかし、ワークの三次元形状モデルと各三次元点との距離の算出方法はこの他の方法であってもかまわない。たとえば、算出した位置姿勢におけるワークの三次元形状モデルの表面との最短距離を求め、この値を代わりに利用してもよい。
(第3の実施形態)
図2に示した干渉判定装置1内の各部はハードウェアで構成しても良い。また、ワークモデル保持部13をメモリで構成し、その他の各部をコンピュータプログラムで構成しても良い。
その場合、一般のPC(パーソナルコンピュータ)等を情報処理装置1~3に適用することができる。例えば、ワークモデル保持部13をハードディスク内に構成し、且つモデル保持部以外の各部の機能をCPUに実行させるためのコンピュータプログラムをこのハードディスクに保存しておく。そしてPCのCPUがハードディスクに保存されているコンピュータプログラムやデータをRAMに読み出し、読み出したコンピュータプログラムやデータを用いて処理を実行することで、このPCは、干渉判定装置1として機能することになる。また、上記の各実施形態や変形例は、適宜組み合わせて用いても良い。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (8)

  1. 複数のワークを含んだ空間内の複数の3次元計測点までの距離を取得する取得手段と、
    前記取得手段の取得結果に基づいて、前記複数のワークに含まれる把持対象ワークの位置姿勢を特定する特定手段と、
    前記複数の3次元計測点のうち、前記特定手段によって特定された位置姿勢にある前記把持対象ワークのモデルを把持手段のモデルが把持する際に前記把持対象ワークのモデルと前記把持手段のモデルとが接する面上の点からの距離が所定の値より小さい3次元計測点、を除いた3次元計測点と、前記把持手段のモデルと、の干渉判定を行う干渉判定手段と、
    前記干渉判定手段の干渉判定の結果を出力する出力手段とを備えることを特徴とする干渉判定装置。
  2. 更に、前記把持対象ワークの3次元モデル情報を保持する保持手段を備え、
    前記特定手段は、前記保持手段に保持される3次元モデル情報及び前記取得手段の取得結果に基づいて前記把持対象ワークの位置姿勢を特定することを特徴とする請求項1に記載の干渉判定装置。
  3. 更に、前記干渉判定手段により干渉がないと判定された把持対象ワークを把持するように前記把持手段を制御する制御手段を備えることを特徴とする請求項1又は2に記載の干渉判定装置。
  4. 前記取得手段は、山積みされた前記複数のワークを含んだ空間に投影されたパターンを撮像した画像に基づいて、前記3次元計測点までの距離を取得することを特徴とする請求項1乃至3のいずれか1項に記載の干渉判定装置。
  5. 前記3次元モデル情報は、CADモデルであることを特徴とする請求項2に記載の干渉判定装置。
  6. 複数のワークを含んだ空間内の複数の3次元計測点までの距離を取得する取得工程と、
    前記取得工程の取得結果に基づいて、前記複数のワークに含まれる把持対象ワークの位置姿勢を特定する特定工程と、
    前記複数の3次元計測点のうち、特定された位置姿勢にある前記把持対象ワークのモデルを把持手段のモデルが把持する際に前記把持対象ワークのモデルと前記把持手段のモデルとが接する面上の点からの距離が所定の値より小さい3次元計測点、を除いた3次元計測点と、前記把持手段のモデルと、の干渉判定を行う干渉判定工程と、
    前記干渉判定工程の干渉判定の結果を出力する出力工程とを備えることを特徴とする干渉判定方法。
  7. コンピュータを請求項1乃至5のいずれか1項の干渉判定装置の各手段として機能させるプログラム。
  8. 請求項1乃至5のいずれか1項の干渉判定装置と
    前記干渉判定装置により干渉がないと判定された把持対象ワークを把持する把持手段を備えることを特徴とするシステム。
JP2019223746A 2019-12-11 2019-12-11 干渉判定装置、干渉判定方法、プログラム及びシステム Active JP7066671B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019223746A JP7066671B2 (ja) 2019-12-11 2019-12-11 干渉判定装置、干渉判定方法、プログラム及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019223746A JP7066671B2 (ja) 2019-12-11 2019-12-11 干渉判定装置、干渉判定方法、プログラム及びシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018093276A Division JP6632656B2 (ja) 2018-05-14 2018-05-14 干渉判定装置、干渉判定方法、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2020049651A JP2020049651A (ja) 2020-04-02
JP7066671B2 true JP7066671B2 (ja) 2022-05-13

Family

ID=69995164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019223746A Active JP7066671B2 (ja) 2019-12-11 2019-12-11 干渉判定装置、干渉判定方法、プログラム及びシステム

Country Status (1)

Country Link
JP (1) JP7066671B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114055472A (zh) * 2021-12-06 2022-02-18 珠海格力智能装备有限公司 机器人抓取控制方法、装置、存储介质和机器人

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001277167A (ja) 2000-03-31 2001-10-09 Okayama Pref Gov Shin Gijutsu Shinko Zaidan 3次元姿勢認識手法
JP2010207989A (ja) 2009-03-11 2010-09-24 Honda Motor Co Ltd 対象物の把持システム及び同システムにおける干渉検出方法
WO2012066819A1 (ja) 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2012125886A (ja) 2010-12-15 2012-07-05 Canon Inc 物体把持装置、物体把持装置の制御方法、およびプログラム
JP2013109691A (ja) 2011-11-24 2013-06-06 Canon Inc 画像処理装置、画像処理方法及び画像処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6134675A (ja) * 1984-07-27 1986-02-18 Hitachi Ltd 画像認識方法および装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001277167A (ja) 2000-03-31 2001-10-09 Okayama Pref Gov Shin Gijutsu Shinko Zaidan 3次元姿勢認識手法
JP2010207989A (ja) 2009-03-11 2010-09-24 Honda Motor Co Ltd 対象物の把持システム及び同システムにおける干渉検出方法
WO2012066819A1 (ja) 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2012125886A (ja) 2010-12-15 2012-07-05 Canon Inc 物体把持装置、物体把持装置の制御方法、およびプログラム
JP2013109691A (ja) 2011-11-24 2013-06-06 Canon Inc 画像処理装置、画像処理方法及び画像処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林 俊寛,他4名,"三次元物体認識技術を応用したバラ積みピッキングシステムの開発",IHI技報 第48巻 第1号,日本,株式会社IHI,2008年03月31日,第48巻,第7ページ-第11ページ

Also Published As

Publication number Publication date
JP2020049651A (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
JP6415026B2 (ja) 干渉判定装置、干渉判定方法、コンピュータプログラム
JP6632656B2 (ja) 干渉判定装置、干渉判定方法、コンピュータプログラム
JP5977544B2 (ja) 情報処理装置、情報処理方法
JP6529302B2 (ja) 情報処理装置、情報処理方法、プログラム
KR101453234B1 (ko) 워크 취출 장치
JP6598814B2 (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
JP2018144144A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP7377627B2 (ja) 物体検出装置、物体把持システム、物体検出方法及び物体検出プログラム
JP7387117B2 (ja) 計算システム、方法及び非一時的コンピュータ可読媒体
JP2020121352A (ja) 物体把持システム
JP7066671B2 (ja) 干渉判定装置、干渉判定方法、プログラム及びシステム
US20230297068A1 (en) Information processing device and information processing method
JP7454132B2 (ja) ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム
JP2018146347A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
WO2023092519A1 (zh) 抓取控制方法、装置、电子设备和存储介质
JP6915326B2 (ja) 画像処理装置、画像処理システムおよびプログラム
CN116175542A (zh) 抓取控制方法、装置、电子设备和存储介质
CN116188559A (zh) 图像数据处理方法、装置、电子设备和存储介质
JP2003141511A (ja) 3次元形状認識方法、装置およびプログラム
WO2022137509A1 (ja) 物体認識装置、物体認識方法、非一時的なコンピュータ可読媒体及び物体認識システム
US20230415349A1 (en) Method for controlling a robot for manipulating, in particular picking up, an object
JP7391342B2 (ja) 計算システム、方法及び非一時的コンピュータ可読媒体
US11436754B2 (en) Position posture identification device, position posture identification method and position posture identification program
JP2021071420A (ja) 情報処理装置、情報処理方法、プログラム、システム、物品の製造方法、計測装置及び計測方法
CN116197887A (zh) 图像数据处理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220427

R151 Written notification of patent or utility model registration

Ref document number: 7066671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151