説明

物体認識方法及び物体認識装置

【課題】予め登録しておくモデルデータのデータ量を抑制しながら、対象物の位置や姿勢を迅速に求めることができる物体認識方法及び物体認識装置を提供する。
【解決手段】距離センサ1により、対象物201を含む所定領域内の各点までの距離計測を行い、三次元物体認識手段3により、これら各点の計測データをメッシュデータ化し、このメッシュデータのグルーピングを行って複数のメッシュグループとし、各メッシュグループの法線ベクトルに垂直な投影平面を作成し、各メッシュグループを対応する投影平面に投影した投影データを求め、投影データの輪郭データを抽出して、輪郭データと対象物の二次元形状データとを比較して、対象物の位置及び姿勢を認識する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物の位置や姿勢を求める物体認識方法及び物体認識装置に関する。
【背景技術】
【0002】
従来、距離計測装置を用いて、対象物の位置や姿勢を求める物体認識方法及び物体認識装置が提案されている。例えば、非特許文献1には、距離計測装置としてカメラを用いて、物体認識を行う対象物の位置や姿勢を求めるパターンマッチングが行うことにより、対象物の位置や姿勢を求める物体認識方法が記載されている。
【0003】
この物体認識方法におけるパターンマッチングでは、予め対象物のモデルデータ(画像や寸法データなどの二次元形状データ)を登録しておき、実際の作業において、対象物を含むシーンの画像を撮影し、この画像とモデルデータとの相関値を計算して、この相関値から対象物の位置や姿勢を求めている。
【0004】
また、特許文献1には、予め対象物のモデルデータ(二次元形状データ相当)を準備しておき、距離計測装置として距離センサを用いて対象物を含む空間中の距離データ(以下、「シーンデータ」という。)を取得し、これらモデルデータと距離データとを比較して、対象物の位置や姿勢を求める物体認識方法が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−217544号公報
【非特許文献】
【0006】
【非特許文献1】「画像認識と画像理解」(啓学出版社発行)第16頁〜第18頁
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、非特許文献1に記載の物体認識方法においては、対象物がカメラの撮像面に対して正対していない(傾いている)場合には、正対マッチング用のモデルデータを用いてマッチングを行うことができない。そのため、確実なマッチングを行うためには、想定されるすべての条件(傾き)におけるモデルデータを登録しておく必要があるため、データ量が膨大となり、また、相関値を求めるための処理時間が長くなってしまう。
【0008】
また、特許文献1に記載の物体認識方法においては、モデルデータとシーンデータとの比較は、単純な逐次比較によって行うため、比較処理に長時間を要する。
【0009】
そこで、本発明は、前記の実情に鑑みてなされたものであり、その目的は、予め登録しておくモデルデータのデータ量を抑制しながら、対象物の位置や姿勢を迅速に求めることができる物体認識方法及び物体認識装置を提供することにある。
【課題を解決するための手段】
【0010】
前述の課題を解決し、前記目的を達成するため、本発明に係る物体認識方法は、以下の構成を有するものである。
【0011】
〔構成1〕
対象物を含む所定領域内の各点までの距離計測を行い、これら各点の計測データをメッシュデータ化し、このメッシュデータのグルーピングを行って複数のメッシュグループとし、各メッシュグループの法線ベクトルに垂直な投影平面を作成し、各メッシュグループを対応する投影平面に投影した投影データを求め、投影データの輪郭データを抽出して、輪郭データと対象物の二次元形状データとを比較して、対象物の位置及び姿勢を認識することを特徴とするものである。
【0012】
そして、本発明に係る物体認識装置は、以下の構成を有するものである。
【0013】
〔構成2〕
対象物を含む所定領域内の各点までの距離計測を行って距離情報を得る距離センサと、距離センサにより得られた距離情報が送られる三次元物体認識手段とを備え、三次元物体認識手段は、距離センサにより送られた距離情報に基づいて、各点の計測データをメッシュデータ化し、このメッシュデータのグルーピングを行って複数のメッシュグループとし、各メッシュグループの法線ベクトルに垂直な投影平面を作成し、各メッシュグループを対応する投影平面に投影した投影データを求め、投影データの輪郭データを抽出して、輪郭データと対象物の二次元形状データとを比較して対象物の位置及び姿勢を認識することを特徴とするものである。
【発明の効果】
【0014】
本発明に係る物体認識方法及び物体認識装置においては、計測装置として距離センサを用いて計測データとして三次元データが得て、この三次元データに対して任意の回転変換を行って三次元データ中の対象物を常に同じ二次元形状データとして捉えるので、マッチングに必要なモデルデータを1つにすることができる。そのため、モデルデータ登録時のデータ量を抑制し、登録処理時間を短縮し、また、対象物の位置及び姿勢を求めるときの処理時間を短縮することができる。
【0015】
すなわち、本発明は、予め登録しておくモデルデータのデータ量を抑制しながら、対象物の位置や姿勢を迅速に求めることができる物体認識方法及び物体認識装置を提供することができるものである。
【図面の簡単な説明】
【0016】
【図1】本発明に係る物体認識装置が適用されるロボット装置の構成を示す側面図である。
【図2】本発明に係る物体認識方法において対象物を認識する手順を示すフローチャートである。
【図3】メッシュデータ作成方法のうち、近傍4頂点の並び方を説明する図である。
【図4】メッシュデータ作成方法のうち、計測データの場合分けを示す図である。
【図5】メッシュデータ作成方法のうち、4点が存在する場合の三角形メッシュ化を示す図である。
【図6】三角メッシュデータM1の例を示す平面図である。
【図7】メッシュグループM2の例を示す平面図である。
【図8】メッシュグループM2、法線ベクトルV1、投影平面S1の関係を示す図である。
【図9】メッシュグループM2を投影平面S1に投影した状態を示す図である。
【図10】投影データM3において、最外郭輪郭となる頂点を示す図である。
【図11】頂点V3を示す図である。
【図12】抽出されたランダムな隣接する2つの頂点を示す図である。
【図13】抽出した頂点を通る直線を示す図である。
【図14】直線から一定距離内にある頂点を示す図である。
【図15】頂点グループを示す図である。
【図16】頂点グループを除いた状態を示す図である。
【図17】作成された頂点グループを示す図である。
【図18】各頂点グループに当てはまる輪郭直線を示す図である。
【図19】輪郭データL1を任意の幅だけ膨張させた状態を示す図である。
【図20】各輪郭データL2の外包長方形B2を示す図である。
【図21】外包長方形データB1を回転させた状態を示す図である。
【図22】外包長方形データB1に包まれた二次元形状データC1の大まかな位置R1を示す図である。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための形態について図面を参照して説明する。
【0018】
〔物体認識装置の構成〕
図1は、本発明に係る物体認識装置が適用されるロボット装置の構成を示す側面図である。
【0019】
本発明に係る物体認識装置は、図1に示すように、ロボット装置(多関節型ロボット)101に適用される。この物体認識装置は、対象物を計測する距離センサ1と、距離センサ制御手段2と、三次元物体認識手段3とから構成される。
【0020】
距離センサ1は、距離センサ制御手段2に制御されて、対象物201を含む所定領域(視野)内の各点までの距離を測定し、測定データ(距離情報)を距離センサ制御手段2に送る。対象物201は、例えば、バラ積みされたナットなどである。距離センサ制御手段2は、三次元物体認識手段3に制御されて、距離センサ1により得られた距離情報を三次元物体認識手段3に送る。三次元物体認識手段3は、距離センサ制御手段2に対して計測要求を行い、距離センサ制御手段2より送られた距離情報に基づいて、物体認識を行う。
【0021】
この物体認識装置が適用されるロボット装置101は、多関節のアームを有して構成されている。この多関節のアームの先端側には、ハンド(先端ツール)102が設けられている。ハンド102は、対象物201を把持(ピッキング)できるように構成されている。
【0022】
ロボット装置101は、ロボット制御手段103によって制御されてアームを動作させる。また、ハンド102は、ロボット制御手段103により、ハンド制御手段104を介して制御される。
【0023】
すなわち、ロボット制御手段103からは、ロボット装置101に対して制御指令が送られ、ロボット装置101からは、ロボット制御手段103に対してロボット状態を示すデータが送られる。また、ロボット制御手段103からは、ハンド制御手段104に対して把持指令が送られ、ハンド制御手段104からは、ロボット制御手段103に対して把持状態を示すデータが送られる。さらに、ハンド制御手段104からは、ハンド102に対して把持指令が送られ、ハンド102からは、ハンド制御手段104に対して把持状態を示すデータが送られる。
【0024】
また、ロボット制御手段103は、三次元物体認識手段3に対して計測要求を行い、三次元物体認識手段3からは、ロボット制御手段103に対して、対象物の位置及び姿勢を示す位置姿勢情報が送られる。
【0025】
この物体認識装置が適用されたロボット装置においては、ロボット制御手段103が三次元物体認識手段3に対して計測要求を行うと、三次元物体認識手段3が距離センサ制御手段2を制御し、距離センサ1により対象物201までの距離が測定される。三次元物体認識手段3は、距離センサ1により得られた距離情報に基づいて、物体認識処理を行い、対象物201の位置及び姿勢を求める。求められた位置及び姿勢を示す位置姿勢情報は、ロボット制御手段103に送られる。
そして、ロボット制御手段103は、位置姿勢情報に基づいて、ロボット装置101に対して制御指令を発するとともに、ハンド制御手段104に対して把持指令を発する。ロボット装置101のアームは、ロボット制御手段103から送られた制御指令に基づいて動作することにより、ハンド102を対象物201に接近させる。そして、ハンド102は、ロボット制御手段103から送られた把持指令に基づいて動作することにより、対象物201を把持する。
【0026】
〔物体認識方法(物体認識装置の動作)〕
本発明に係る物体認識方法は、前述のように構成された本発明に係る物体認識装置おおいて実行される。
【0027】
図2は、本発明に係る物体認識方法において対象物を認識する手順を示すフローチャートである。
【0028】
この物体認識方法においては、図2に示すように、ステップst1において、対象物の二次元形状データを準備する。すなわち、対象物のCADデータからワイヤーフレーム情報を取得し、その情報から対象物表面の二次元形状データC1と、その外包長方形データB1とを取得する。
【0029】
次に、ステップst2に進み、距離センサによる計測を行う。すなわち、距離センサを用いて対象物を含む視野内の各点までの距離計測を行い、三次元の点データP1を取得する。
【0030】
次に、ステップst3に進み、点データP1のメッシュデータ化を行う。すなわち、点データP1内で幾何学的に隣接する3点を結び、三角メッシュデータM1を取得する。ここで、メッシュデータ作成方法について説明する。
【0031】
図3は、メッシュデータ作成方法のうち、近傍4頂点の並び方を説明する図である。
【0032】
まず、図3に示すように、計測された三次元の点データP1のうち、近傍4頂点として、計測点pji、pj+1i、pj+1i、pj+1i+1を選ぶ。
【0033】
図4は、メッシュデータ作成方法のうち、計測データの場合分けを示す図である。
【0034】
ここで、図4に示すように、各点データP1を、計測状態にしたがって、「計測に成功した点」と「計測に失敗した点」とに分類する。近傍4頂点のそれぞれの計測状態に応じて、さらに3つの場合に分類する。
【0035】
図5は、メッシュデータ作成方法のうち、4点が存在する場合の三角形メッシュ化を示す図である。
【0036】
そして、図5に示すように、近傍4頂点が全て「計測に成功した点」である場合、すなわち、「4点が存在する場合」においては、この4点を頂点とした四角形に対角線を引いて、2つの三角形を作成する。このとき、三角形の作成のしかたには2通りが考えられるが、対角線の長さが短い方を採用する。ここで長さが同一になった場合は、任意に選択することとする。
【0037】
また、近傍4頂点のうちの3点が「計測に成功した点」である場合、すなわち、「3点が存在する場合」においては、3点を頂点とした1つの三角形を作成する。
【0038】
このようにして得られた全ての三角形のうち、1辺の長さが所定の閾値L以下のものを、最終的な三角形メッシュとして登録する。
【0039】
次に、ステップst4に進み、三角メッシュデータM1のグルーピングを行う。すなわち、各三角形メッシュの重心間の幾何学的な距離と、各三角形メッシュの法線ベクトルの角度とを用いて、三角メッシュデータM1内でのグルーピングを行い、メッシュグループM2を取得する。
【0040】
なお、三角形メッシュの重心は、三角形を構成する3頂点の重心である。また、三角形メッシュにおける三角形を構成する3つのベクトルから2つのベクトルを選び、この2つのベクトル外積を求めれば、三角形メッシュの法線ベクトルが求められる。
【0041】
図6は、三角メッシュデータM1の例を示す平面図である。
【0042】
グルーピングは、例えば、以下の手順により行う。ここで、図6に示すような三角メッシュデータM1が得られているとする。
【0043】
まず、三角メッシュデータM1のなかから、任意の三角形メッシュを一つ選ぶ。次に、この三角形メッシュと、これに隣接する三角形メッシュとの重心間の距離が一定値以内で、これら三角形メッシュの法線ベクトルの傾きの差が一定値以内であれば、これら三角形メッシュを同じグループとする。このようなグループ化処理を、選択した1つの三角形メッシュに隣接するすべての三角形メッシュに対して行う。そして、同じグループとなった三角形メッシュを選択し、同様の処理を行う。このようにして、全ての三角形メッシュがグルーピングされるまで、処理を繰り返す。
【0044】
図7は、メッシュグループの例を示す平面図である。
【0045】
このようなグルーピングの処理を行うことにより、図6に示した三角メッシュデータM1は、図7に示すように、1つ又は複数にグルーピングされ、メッシュグループM2が得られる。メッシュグループM2は、三角形メッシュの集合である。
【0046】
次に、ステップst5に進み、各メッシュグループM2の法線ベクトルに垂直な投影平面を作成する。すなわち、各メッシュグループM2内の三角形メッシュの法線を平均した法線ベクトルV1を求め、この法線ベクトルV1に垂直な二次元平面である投影平面S1を取得する。
【0047】
図8は、メッシュグループM2、法線ベクトルV1、投影平面S1の関係を示す図である。
【0048】
各メッシュグループM2と、法線ベクトルV1と、投影平面S1とは、図8に示すような関係となる。
【0049】
次に、ステップst6に進み、各メッシュグループM2を投影平面S1に投影する。すなわち、法線ベクトルV1から回転行列T1を用いて、各メッシュグループM2を投影平面S1に投影し、投影データM3を取得する。
【0050】
投影データM3の取得は、以下の手順により行う。まず、投影平面S1において、新たな座標系を作成する。そして、元の3次元空間上の3次元座標で表した投影平面S1の座標軸x,y及び法線ベクトルV1の傾きから、3×3の回転行列を求め、4×4の同次変換行列T1の回転成分とする。また、メッシュグループM2の重心が、そのメッシュグループM2に対応する投影平面S1の原点となる3次元ベクトルを求め、同次変換行列T1の並進成分とする。このようにして、4×4の同次変換行列T1が求まる。
【0051】
図9は、メッシュグループM2を投影平面S1に投影した状態を示す図である。
【0052】
同次変換行列T1を用いてメッシュグループM2の各頂点を座標変換すると、図9に示すように、メッシュグループM2が投影平面S1に投影された投影データM3のデータを得ることができる。このとき、座標変換後の3次元座標からZ座標を除くことで、2次元座標とする。このとき得られた頂点をV2とする。
【0053】
次に、ステップst7に進み、投影データM3の輪郭を抽出する。すなわち、投影データM3から、投影データM3の輪郭データL1を取得する。例えば、点データとして投影データM3の最外郭点群を抽出する。
【0054】
図10は、投影データM3において、最外郭輪郭となる頂点を示す図である。
【0055】
投影データM3において、最外郭輪郭となる頂点は、図10に示すように、以下の2つのことを満たす頂点である。第1に、隣接頂点のうち共に構成する三角形メッシュが1つしかない隣接頂点があることである。第2に、第1の条件を満たす隣接頂点が2つあることである。図10においては、黒丸最外郭輪郭となる頂点であり、この頂点をV3とする。
【0056】
また、平面上の直線パラメータを求めることができる最小2乗法などの一般的な手法を用いて直線データ(エッジデータ)を求める。この直線データの抽出は、以下のようにして行う。
【0057】
図11は、頂点V3を示す図である。
【0058】
ここで、図11に示すように、頂点V3が得られているとする。
【0059】
図12は、抽出されたランダムな隣接する2つの頂点を示す図である。
【0060】
図12に示すように、ランダムな隣接する2つの頂点を複数組抽出する。なお、ここでは、2つの頂点としているが、2つ以上の複数の頂点でも良い。
【0061】
図13は、抽出した頂点を通る直線を示す図である。
【0062】
次に、図13に示すように、抽出した2つの頂点の各組ごとに、それら頂点を通る直線を算出する。なお、3つ以上の頂点の場合は、最小2乗法などを用いて、それらの頂点に当てはまる直線を算出する。
【0063】
図14は、直線から一定距離内にある頂点を示す図である。
【0064】
そして、図14に示すように、図13において算出された各直線から一定距離内にある頂点の個数を数える。
【0065】
図15は、頂点グループを示す図である。
【0066】
そして、図15に示すように、図14において数えられた頂点の個数が最も多いものを1つの頂点グループとして採用する。
【0067】
図16は、頂点グループを除いた状態を示す図である。
【0068】
次に、図16に示すように、図15において採用した頂点グループを、頂点V3から除く。そして、残りの頂点に関して、図12乃至図16に示した処理を繰り返して、さらに頂点グループを作成する。
【0069】
図17は、作成された頂点グループを示す図である。
【0070】
図12乃至図16に示した処理を繰り返すことにりより、図17に示すように、複数の頂点グループが作成される。
【0071】
図18は、各頂点グループに当てはまる輪郭直線を示す図である。
【0072】
そして、図17で作成した各頂点グループについて、図18に示すように、最小2乗法などを用いて、各頂点グループに当てはまる輪郭直線を求める。この輪郭直線が輪郭データL1となる。
【0073】
図19は、輪郭データL1を任意の幅だけ膨張させた状態を示す図である。
【0074】
次に、ステップst8に進み、図19に示すように、輪郭データL1を任意の幅だけ膨張させる。すなわち、輪郭データL1の重心と輪郭データL1を構成する各エッジとの間の距離を広げることで、輪郭データL1を任意の幅だけ膨張させ、輪郭データL2を取得する。任意の幅とは、例えば、メッシュグループM2から三角メッシュデータM1の重心間の幾何学的な平均距離wを算出し、その0.5倍とする。
【0075】
なお、輪郭データL1を任意の幅だけ膨張させることに代えて、予め、二次元形状データC1を任意の幅だけ縮小させておいてもよい。
【0076】
次に、ステップst9に進み、粗位置決めを行う。すなわち、対象物の大まかな位置R1を取得する。
【0077】
図20は、各輪郭データL2の外包長方形B2を示す図である。
【0078】
図21は、外包長方形データB1を回転させた状態を示す図である。
【0079】
粗位置決めは、例えば、図20に示すように、各輪郭データL2の外包長方形B2を求め、図21に示すように、外包長方形B2の重心とモデルデータから得られた外包長方形データB1の重心とを一致させ、投影平面S1に対して外包長方形データB1をπ/8度ずつ回転させたものと、外包長方形B2との類似度を求めることによって行う。すなわち、外包長方形データB1を回転させるたびに、外包長方形B2の各角と、その角に最も近い回転させたときの外包長方形データB1の角との距離を計算し、その合計を取る。
【0080】
図22は、外包長方形データB1に包まれた二次元形状データC1の大まかな位置R1を示す図である。
【0081】
図20における合計値が最も小さいときの回転にしたB1を、図22に示すように、大まかな位置R1の外包長方形とし、その外包長方形データB1に包まれたモデルデータC1の大まかな位置R1とする。
【0082】
次に、ステップst10に進み、詳細位置決めを行う。すなわち、投影平面S1での対象物の位置及び姿勢データR2を取得する。詳細位置決めは、例えば、大まかな位置R1を初期位置として、二次元形状データC1と輪郭データL2の幾何学的な偏差を最小とするマッチング処理を行う。
【0083】
このマッチング処理は、以下のようにして行う。まず、得られた大まかな位置R1から2×2の回転行列を求め、これを用いてモデルデータの2次元形状データC1の各エッジの要素座標を、輪郭データL2と同じ座標系における座標に変更する。このようにして得られた2次元形状データC1の座標を初期値として、2次元形状データC1と輪郭データL2との幾何学的な偏差が最小となるマッチング処理を行い、投影平面S1上における対象物の詳細位置R2を求める。この処理は、以下の(式1)の値を最小とする回転行列R(2×2の行列)と並進成分t(2×1の行列)を求める処理である。
【0084】
【数1】

なお、このような処理については、“A Method for Registration of 3D Shapes”(P.J.Besl 、N.D.McKay)(IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(2):238-256, (1992).)にも記載されている。
【0085】
次に、ステップst11に進み、対象物の位置及び姿勢を計測座標系において取得する。すなわち、詳細位置R2から回転行列T1の逆行列T2を求め、計測座標系における対象物の位置及び姿勢データR3を取得する。すなわち、まず、投影平面S1上の対象物の位置を、3次元空間上の対象物の位置とするために、回転行列T1の逆行列T2を求める。そして、詳細位置R2の各要素の座標に、Z座標値の0を追加したうえで、逆行列T2を用いて、その座標を元の3次元空間上の座標とし、対象物の位置及び姿勢データR3を取得する。
【産業上の利用可能性】
【0086】
本発明は、対象物の位置や姿勢を求める物体認識方法及び物体認識装置に関し、例えば、バラ積みされた部品を認識して把持するピッキングシステムに適用される。
【符号の説明】
【0087】
M1 三角メッシュデータ
M2 メッシュグループ
M3 投影データ
S1 投影平面
L1 輪郭データ
L2 輪郭データ
B1 外包長方形データ
B2 外包長方形
R1 大まかな位置

【特許請求の範囲】
【請求項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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2011−159042(P2011−159042A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−19207(P2010−19207)
【出願日】平成22年1月29日(2010.1.29)
【出願人】(000000099)株式会社IHI (5,014)
【Fターム(参考)】