JP6192088B2 - 物体検出方法および物体検出装置 - Google Patents

物体検出方法および物体検出装置 Download PDF

Info

Publication number
JP6192088B2
JP6192088B2 JP2013030667A JP2013030667A JP6192088B2 JP 6192088 B2 JP6192088 B2 JP 6192088B2 JP 2013030667 A JP2013030667 A JP 2013030667A JP 2013030667 A JP2013030667 A JP 2013030667A JP 6192088 B2 JP6192088 B2 JP 6192088B2
Authority
JP
Japan
Prior art keywords
point
points
model
positions
orientation
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.)
Expired - Fee Related
Application number
JP2013030667A
Other languages
English (en)
Other versions
JP2014160370A (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.)
Kyushu Institute of Technology NUC
Yaskawa Electric Corp
Original Assignee
Kyushu Institute of Technology NUC
Yaskawa Electric Corp
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 Kyushu Institute of Technology NUC, Yaskawa Electric Corp filed Critical Kyushu Institute of Technology NUC
Priority to JP2013030667A priority Critical patent/JP6192088B2/ja
Priority to US14/184,638 priority patent/US9317771B2/en
Priority to EP14155759.5A priority patent/EP2770461B1/en
Priority to CN201410058233.7A priority patent/CN104006740B/zh
Publication of JP2014160370A publication Critical patent/JP2014160370A/ja
Application granted granted Critical
Publication of JP6192088B2 publication Critical patent/JP6192088B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/48Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Description

開示の実施形態は、物体検出方法および物体検出装置に関する。
従来、距離センサによって取得される物体までの距離に基づいて、物体の位置および姿勢を検出する物体検出方法がある。例えば、特許文献1には、距離センサから物体のエッジ上に位置する点までの距離をハフ変換してハフ空間へ投票し、ハフ空間における得票数の多い点に基づいて物体の位置および姿勢を検出する物体検出方法が開示されている。
特許第5088278号公報
しかしながら、ハフ変換を用いた物体の検出方法では、ハフ空間への投票数が膨大であるため、物体の位置および姿勢の検出に要する処理量が嵩むという問題がある。
実施形態の一態様は、上記に鑑みてなされたものであって、物体の位置および姿勢の検出に要する処理量を低減しつつ、検出精度を向上させることができる物体検出方法および物体検出装置を提供することを目的とする。
実施形態の一態様に係る物体検出方法では、物体のモデルの外部空間に、前記物体の位置および姿勢の推定材料となる複数の外部基準点を設定し、前記モデルの内部空間に、前記推定材料の可否判定材料となる内部基準点を設定する。前記モデルの表面に位置する点群から順次選択する始点および終点の対を含む局所表面の特徴量と、前記始点に対する前記外部基準点および前記内部基準点の位置の組とを対応付けたテーブルを記憶する。実空間に存在する物体の表面に位置するサンプル点群から始点および終点の対を順次選択し、該始点および終点の対を含む局所表面における前記物体の特徴量を算出する。前記テーブルから前記物体の特徴量と一致する特徴量が対応付けられた前記位置の組を取得して実空間における位置の組へ変換し、該位置の組に含まれる前記内部基準点の位置が前記物体の外部にある場合に、該位置の組に含まれる前記外部基準点の位置を前記推定材料から除外して前記物体の位置および姿勢を推定する。
実施形態の一態様によれば、物体の位置および姿勢の検出に要する処理量を低減しつつ、検出精度を向上させることができる。
図1Aは、実施形態に係る物体検出方法を示す説明図である。 図1Bは、実施形態に係る物体検出方法を示す説明図である。 図2は、実施形態に係るロボットシステムを示す説明図である。 図3は、実施形態に係る物体検出装置の構成の一例を示す説明図である。 図4Aは、実施形態に係るテーブルの作成手順を示す説明図である。 図4Bは、実施形態に係るテーブルの作成手順を示す説明図である。 図5Aは、実施形態に係るテーブルの作成手順を示す説明図である。 図5Bは、実施形態に係るテーブルの作成手順を示す説明図である。 図6は、実施形態に係るテーブルの作成手順を示す説明図である。 図7は、実施形態に係るテーブルの一例を示す説明図である。 図8Aは、実施形態に係る物体の位置および姿勢を検出する手順を示す説明図である。 図8Bは、実施形態に係る物体の位置および姿勢を検出する手順を示す説明図である。 図9は、実施形態に係る物体の位置および姿勢を検出する手順を示す説明図である。 図10は、実施形態に係る物体の位置および姿勢を検出する手順を示す説明図である。 図11は、実施形態に係るテーブルの作成処理を示すフローチャートである。 図12は、実施形態に係る物体の位置および姿勢の検出処理を示すフローチャートである。 図13は、実施形態に係る把持候補に関する情報の作成処理を示すフローチャートである。
以下、添付図面を参照して、本願の開示する物体検出方法および物体検出装置の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。また、以下では、位置および姿勢の検出対象となる物体の形状が円筒形状の場合を例に挙げて説明するが、検出対象の物体の形状は円筒形状に限定されるものではない。
図1Aおよび図1Bは、実施形態に係る物体検出方法を示す説明図である。図1Aに示すように、実施形態に係る物体検出方法では、検出対象の物体と同一形状で、実空間における位置および姿勢が既知のモデルMの表面形状を示す情報を取得する。
具体的には、モデルMの表面に位置する点群の各点に関する情報を取得する。各点に関する情報には、各点の実空間における3次元の位置情報(位置ベクトル)、各点におけるモデルMの表面に対する法線ベクトルの情報が含まれる。
続いて、モデルMの外部空間に、物体の位置および姿勢の推定材料となる複数の外部基準点O、O、Oを設定し、モデルMの内部空間に、物体の位置および姿勢の推定材料の可否判定材料となる内部基準点Oを設定する。なお、設定する基準点の個数はこれに限定されるものではない。
そして、モデルMの表面に位置する点群から順次選択する始点Pおよび終点Pの対を含むモデルMの局所表面の特徴量を算出する。ここでの特徴量は、例えば、始点Pおよび終点P間の距離、始点Pおよび終点Pの法線の内積、始点Pの法線と始点Pおよび終点Pを結ぶベクトルとの内積などである。
続いて、算出した特徴量と、始点Pに対する外部基準点O、O、Oおよび内部基準点Oの位置ベクトル(始点Pから外部基準点O、O、O、内部基準点Oへ向かう矢印参照)の組とを対応付けたテーブルを作成して記憶する。なお、これまでの工程は、実空間に存在する物体の位置および姿勢を検出する以前に、予めオフラインにて行っておく。
その後、図1Bに示すように、実空間に存在する物体Wの表面の表面形状を示す情報を取得する。ここでは、図示を省略したが、物体Wの表面の表面形状を示す情報には、物体Wの表面に位置するサンプル点群の実空間における3次元の位置情報(位置ベクトル)が含まれる。
続いて、サンプル点群から始点P(i)および終点P(j)の対を順次選択し、始点P(i)および終点P(j)の対を含む局所表面における物体Wの特徴量を算出し、先に記憶したテーブルから物体Wの特徴量と一致する特徴量が対応付けられた複数の位置ベクトルの組を取得する。
ここで取得される位置ベクトルの始点PのモデルMにおける位置が、サンプル群から選択した始点P(i)の物体Wにおける位置と一致していれば、位置ベクトルの組を実空間の位置ベクトルへ変換することで、物体Wの正しい基準点位置を取得することができる。したがって、かかる変換した3点の位置ベクトルに基づいて、物体Wの正しい位置および姿勢を推定して検出することができる。
ただし、テーブルから取得される位置ベクトルの始点PのモデルMにおける位置は、サンプル群から選択した始点P(i)の物体Wにおける位置と一致しない場合がある。例えば、物体Wの位置や姿勢によっては、物体Wにおける始点P(i)の位置と、モデルMにおける始点Pの位置とが異なる場合にも、物体Wにおける局所表面の特徴量とモデルMにおける局所表面の特徴量とが一致することがある。
かかる場合、テーブルから取得した位置ベクトルの組を実空間の位置ベクトルへ変換しても、物体Wの正しい基準点位置を取得することができず、物体Wの正しい位置および姿勢を検出することができない。
このため、実施形態に係る物体検出方法では、ハフ変換を利用して、テーブルから取得した複数の位置ベクトルの組を実空間における位置ベクトルの組へ変換し、変換後の位置ベクトルが示す3次元位置をハフ空間となる実空間の投票点へ投票する。そして、3点ずつ投票される投票点の組のなかで、得票数の多い投票点の組に含まれる位置ベクトルを物体Wの正しい基準点の位置と判定し、かかる位置に基づいて物体Wの位置および姿勢を判定する。
しかしながら、テーブルから取得した全ての位置ベクトルの組を投票の対象とした場合、物体Wの位置および姿勢を検出する処理量が嵩むという問題が生じる。また、前述したように、テーブルから取得した複数の位置ベクトルの組の中には、物体Wの位置および姿勢の推定材料として不適切な位置ベクトルも含まれている。
さらに、物体Wの位置や姿勢等によっては、位置および姿勢の推定材料として不適切な位置ベクトルの投票点が、適切な位置ベクトルの投票点よりも多くの票を獲得することもあり、物体Wの位置および姿勢の検出精度が低下する恐れがある。
そこで、実施形態に係る物体検出方法では、投票を行う前に、位置および姿勢の推定材料として不適切な位置ベクトルの組を投票の対象から除外することで、物体の位置および姿勢の検出に要する処理量を低減しつつ、検出精度を向上させる。
具体的には、テーブルから取得した位置ベクトルの組を実空間の位置ベクトルへ変換した場合に、図1Bに示すように、モデルMに設定された外部基準点O、O、Oが実空間で3点A、B、Cに、内部基準点Oが物体W外部の点Dに位置していたとする。
このように、本来であれば物体Wの内部に存在するはずの内部基準点Oが物体W外部の点Dに存在した場合、かかる点Dと同じ組に含まれる実空間における3点A、B、Cを投票対象、つまり、物体Wの位置および姿勢の推定材料から排除する。
したがって、実施形態に係る物体検出方法によれば、投票を行う前に、位置および姿勢の推定材料として不適切な位置ベクトルの組を投票の対象から除外することができるので、物体Wの位置および姿勢の検出に要する処理量を低減しつつ、検出精度を向上させる。
なお、モデルMに設定された内部基準点Oに対応する実空間の点Dが適切に物体Wの内部に存在していた場合、外部基準点O、O、Oに対応する実空間の3点A、B、Cの位置を投票し、投票結果に基づいて物体Wの位置および姿勢を検出する。なお、かかる物体検出方法の詳細については、実施形態に係る物体検出装置の動作と合わせて後述する。
次に、図2を参照して、実施形態に係る物体検出装置を備えたロボットシステムについて説明する。図2は、実施形態に係るロボットシステム1を示す説明図である。図2に示すように、ロボットシステム1は、ロボット2と、センサ3と、物体検出装置4と、ロボット制御装置5とを備える。
ロボット2は、床面などに設置される胴部21と、胴部21から延伸する右アーム22および左アーム23とを備える。右アーム22および左アーム23は、いずれも7軸の自由度を有するロボットアームである。また、右アーム22の先端には、内部に円筒状の物体Wがバラ積みされた箱体6を把持するハンド24が設けられ、左アーム23の先端には、箱体6の内部から物体Wをピックアップするハンド25が設けられる。
センサ3は、箱体6の内部にバラ積みされた物体Wの3次元形状を検出するものであり、例えば、三次元スキャナである。かかるセンサ3は、支持体31によって支持されて箱体6の鉛直上方に配置される。
センサ3は、レーザ光によって物体Wを走査し、物体Wから反射される反射光に基づいて物体Wの3次元形状を検出する。そして、センサ3は、物体Wの3次元形状を示す情報(以下、「シーンデータ」と記載する)を物体検出装置4へ出力する。シーンデータには、前述した物体Wの表面に位置するサンプル点群の実空間における3次元の位置情報(位置ベクトル)が含まれる。
物体検出装置4は、センサ3から入力されるシーンデータと前述したテーブルとに基づいて、箱体6の内部にバラ積みされた物体Wの位置および姿勢を検出し、ロボット2の把持対象となる物体Wの位置および姿勢をロボット制御装置5へ出力する。なお、物体検出装置4の構成の一例については、図3を参照して後述する。
ロボット制御装置5は、物体検出装置4から入力される把持対象の物体Wの位置および姿勢に基づいてロボット2の制御信号を生成し、制御信号をロボット2へ出力することによってロボット2に物体Wのピックアップ動作を行わせる。
次に、図3を参照して、物体検出装置4の構成の一例について説明する。図3は、実施形態に係る物体検出装置4の構成の一例を示す説明図である。図3に示すように、物体検出装置4は、処理部7と記憶部8とを備える。記憶部8は、前述のテーブル81を記憶する。なお、テーブル81の一例については、図7を参照して後述する。
処理部7は、モデルデータ取得部71と、シーンデータ取得部72と、基準点設定部73と、エッジ検出部74と、サーフレット選択部75と、演算部76と、位置・姿勢推定部77と、把持対象情報生成部78とを備える。
物体検出装置4では、モデルデータ取得部71と、基準点設定部73と、エッジ検出部74と、サーフレット選択部75と、演算部76とによって、前述したテーブル81を作成して記憶部8へ記憶させる。
ここで、図4A〜図7を合わせて参照しながら、物体検出装置4によるテーブル81の作成手順およびテーブル81の一例について説明する。図4A〜図6は、実施形態に係るテーブル81の作成手順を示す説明図であり、図7は、実施形態に係るテーブル81の一例を示す説明図である。
モデルデータ取得部71は、ロボット2の把持対象となる物体Wとサイズおよび形状が等しい図4Aに示すモデルMのCADデータを所定の情報処理装置(図示略)から読み込む。そして、モデルデータ取得部71は、CADデータからモデルMの表面形状を示すモデルデータを抽出して取得する。
具体的には、モデルデータ取得部71は、図4Bに示すように、モデルM表面に位置する点群の各点の実空間における3次元の位置情報(位置ベクトル)、各点におけるモデルMの表面に対する法線ベクトルの情報等をモデルデータとして取得する。そして、モデルデータ取得部71は、取得したモデルデータを基準点設定部73へ出力する。
基準点設定部73は、図4Bに示すように、モデルデータに対してモデルMの外部空間に、3点の外部基準点O、O、Oを設定するとともに、モデルMの内部空間に、内部基準点Oを設定する。なお、外部基準点O、O、Oおよび内部基準点Oを区別しない場合、これらを基準点Oと総称する。かかる基準点設定部73は、基準点Oを設定したモデルデータをエッジ検出部74へ出力する。
エッジ検出部74は、図5Aに示すように、基準点設定部73から入力されるモデルデータに基づいて、モデルMのエッジEdを検出する。さらに、エッジ検出部74は、モデルMのエッジEdを形成する点群に対してエッジEd上の点であることを示す情報(以下、「ラベルE」と記載する)を付加する。また、エッジ検出部74は、モデルMのエッジEd以外の部分を形成する点群に対して面上の点であることを示す情報(以下、「ラベルF」と記載する)を付加する。そして、エッジ検出部74は、ラベルEとラベルFとを付加したモデルデータをサーフレット選択部75へ出力する。
サーフレット選択部75は、エッジ検出部74から入力されるモデルデータから、モデルMの表面に位置する2点の対を始点Pおよび終点Pの対として順次選択し、選択した点に関する情報(以下、「サーフレット」と記載する)を取得する。
例えば、サーフレット選択部75は、図5Bに示すように、円筒形状のモデルMの周面に位置する始点Pを選択する場合、始点Pの実空間における位置ベクトルp、ラベルF、法線ベクトルnの組を始点PのサーフレットΔ(p)として取得する。
また、サーフレット選択部75は、モデルMのエッジEd(図5A参照)に位置する終点Pを選択する場合、終点Pの実空間における位置ベクトルp、ラベルE、終点Pの勾配ベクトルgを終点PのサーフレットΔ(p)として取得する。
ここでの勾配ベクトルgは、終点PにおけるモデルMの周面と端面とのなす角度である。なお、面上の点を終点として選択する場合、サーフレット選択部75は、終点のサーフレットとして、終点の位置ベクトル、ラベルF、終点の法線ベクトルの組を取得する。
サーフレット選択部75は、選択する始点Pおよび終点Pを変更しながら、複数のサーフレットΔ(p)とサーフレットΔ(p)との対(以下、「サーフレットペア」と記載する)を取得し、演算部76へ出力する。
かかるサーフレットペアは、演算部76が始点Pおよび終点Pの対を含むモデルMの局所表面の特徴量を演算する処理などで使用される情報である。このため、サーフレット選択部75は、モデルMの表面に位置する全ての点を始点Pおよび終点Pとして選択してサーフレットペアを取得する構成でもよく、終点PとしてラベルEが付加された点、または、ラベルFが付加された点を選択する構成でもよい。
モデルMの表面に位置する全ての点を始点Pおよび終点Pとして選択する構成によれば、モデルMにおける局所表面の特徴量をより多くテーブル81に蓄積させることができるため、物体Wの検出精度を向上させることができる。
また、終点PとしてラベルEが付加された点を限定して選択する構成は、モデルに占める平面部分の領域が比較的広い場合に有効である。具体的には、平面部分の占める領域が広いモデルでは、平面部分のいずれの点を始点Pおよび終点Pとして選択しても、算出される局所表面の特徴量に大差がなく、エッジEd部分を終点Pとして選択した方が、よりモデルの特徴を表す特徴量を得ることができる。しかも、ラベルFが付加された面上の点を終点Pの選択肢から除外することができるので、特徴量を算出する処理量を低減することができる。
したがって、終点PとしてラベルEが付加された点を限定して選択する構成によれば、平面部分の占める領域が広いモデルについて、処理量を低減しつつ、物体の位置および姿勢の検出精度を向上させることができる。
一方、終点PとしてラベルFが付加された点を限定して選択する構成は、モデルに占める曲面部分の領域が比較的広い場合に有効である。具体的には、曲面部分の占める領域が広いモデルでは、モデルの面状における局所平面のそれぞれにモデルの特徴がある。
したがって、終点PとしてラベルFが付加された点を限定して選択する構成によれば、モデルの面状における局所平面のそれぞれについて特徴量を取得することで、曲面部分の占める領域が広い物体の位置および姿勢の検出精度を向上させることができる。
演算部76は、サーフレット選択部75から入力されるサーフレットペアを使用して、始点Pおよび終点Pの対を含むモデルMの局所表面の特徴量を算出する。例えば、演算部76は、始点Pおよび終点P間の距離、始点Pおよび終点Pの法線ベクトルnの内積、始点Pの法線ベクトルnと始点Pおよび終点Pを結ぶベクトルfi,jとの内積を特徴量として算出する。
さらに、演算部76は、始点Pを原点とする局所座標系を算出し、局所座標系における基準点Oの位置ベクトル(図5Bに示す一点鎖線矢印参照)を算出する。基準点Oの位置ベクトルの算出には、始点Pの位置ベクトルp、終点Pの位置ベクトルp、位置ベクトルpと位置ベクトルpとの差分ベクトルfi,jが用いられる。
具体的には、実空間における各基準点Oの位置ベクトルは、下記の式(1)によって表すことができる。
Figure 0006192088
この実空間における各基準点Oの位置ベクトルを〈p、n、fi,j〉により定まる局所座標系を用いて表す。局所座標系は、以下のように定める。
Figure 0006192088
上記式(2)、式(3)、式(4)によって算出される直交基底を用いて、各基準点Oの局所座標系における位置ベクトルは、下記の式(5)によって算出する。
Figure 0006192088
こうして、図6に示すように、始点Pを原点とした局所座標系における外部基準点O、O、O、および、内部基準点Oの各位置ベクトル(図6に示す一点鎖線矢印参照)を算出する。
続いて、演算部76は、図7に示すように、先に算出した始点Pおよび終点Pの対を含む局所表面の特徴量(H1、H2など)と、始点Pを原点とした局所座標系における基準点Oの位置ベクトル(ここでは、外部基準点O、O、O、内部基準点Oの4つ位置ベクトル)の組とを対応付けたテーブル81を作成する。
ここで、モデルMには、特徴量が一致する複数の局所表面が存在する。このため、テーブル81では、一つの特徴量(H1、H2など)に対して、それぞれ局所座標系における複数の基準点Oの組が対応付けられる。つまり、テーブル81は、各特徴量(H1、H2など)をキーとするハッシュテーブルのデータ構造となる。演算部76は、こうして形成したテーブル81を記憶部8へ記憶させる。
また、物体検出装置4では、シーンデータ取得部72と、エッジ検出部74と、サーフレット選択部75と、演算部76と、位置・姿勢推定部77と、把持対象情報生成部78とによって、物体Wの位置および姿勢を推定して検出する。
ここで、図8A〜図10を合わせて参照しながら、物体検出装置4が物体Wの位置および姿勢を検出する手順の一例について説明する。図8A〜図10は、実施形態に係る物体Wの位置および姿勢を検出する手順を示す説明図である。
シーンデータ取得部72は、センサ3から、図8Aに示すバラ積みされた物体Wの3次元形状を示すシーンデータを取得する。具体的には、シーンデータ取得部72は、図8Bに示すように、物体W表面に位置するサンプル点群の各点の実空間における3次元の位置情報(位置ベクトル)、各点における物体Wの表面に対する法線ベクトルn(i)の情報等をシーンデータとして取得する。そして、シーンデータ取得部72は、取得したシーンデータをエッジ検出部74へ出力する。
エッジ検出部74は、シーンデータ取得部72から入力されるシーンデータに基づいて、物体Wのエッジを検出する。さらに、エッジ検出部74は、物体Wのエッジを形成するサンプル点群に対してエッジ上の点であることを示すラベルEを付加し、ラベルEを付加した各サンプル点の勾配ベクトルg(j)を算出する。
また、エッジ検出部74は、物体Wのエッジ以外の部分を形成するサンプル点群に対して面上の点であることを示すラベルFを付加する。そして、エッジ検出部74は、ラベルEとラベルFとを付加したモデルデータをサーフレット選択部75へ出力する。なお、エッジ検出部74は、エッジ上のサンプル点の勾配ベクトルg(j)についてもサーフレット選択部75へ出力する。
サーフレット選択部75は、エッジ検出部74から入力されるシーンデータから、物体Wの表面に位置する2点の対を始点P(i)および終点P(j)の対として順次選択し、選択したサンプル点に関するサーフレットを取得する。
例えば、サーフレット選択部75は、円筒形状の物体Wの周面に位置する始点P(i)を選択する場合、始点P(i)の実空間における位置ベクトルp(i)、ラベルF、法線ベクトルn(i)の組を始点P(i)のサーフレットΔ(p)として取得する。
また、サーフレット選択部75は、物体Wのエッジに位置する終点P(j)を選択する場合、終点P(j)の実空間における位置ベクトルp(j)、ラベルE、終点P(j)の勾配ベクトルg(j)を終点P(j)のサーフレットΔ(p)として取得する。
ここでの勾配ベクトルg(j)は、終点P(j)における物体Wの周面と端面とのなす角度である。なお、面上の点を終点として選択する場合、サーフレット選択部75は、終点のサーフレットとして、終点の位置ベクトル、ラベルF、終点の法線ベクトルの組を取得する。
サーフレット選択部75は、選択する始点P(i)および終点P(j)を変更しながら、複数のサーフレットΔ(p)とサーフレットΔ(p)との対であるサーフレットペアを取得し、演算部76へ出力する。
かかるサーフレットペアは、演算部76が始点P(i)および終点P(j)の対を含む物体Wの局所表面の特徴量を演算する処理などで使用される情報である。したがって、モデルMのサーフレットペアを取得する場合と同様に、サーフレット選択部75によって、全ての点を始点P(i)および終点P(j)として選択してサーフレットペアを取得することで、物体Wの検出精度を向上させることができる。
また、ラベルEが付加された終点Pをサーフレット選択部75によって限定して選択させることにより、平面部分の占める領域が広い物体について、処理量を低減しつつ、物体の位置および姿勢の検出精度を向上させることができる。一方、ラベルFが付加された終点Pをサーフレット選択部75によって限定して選択させることにより、曲面部分の占める領域が広い物体について、位置および姿勢の検出精度を向上させることができる。
演算部76は、サーフレット選択部75から入力されるサーフレットペアを使用して、始点P(i)および終点P(j)の対を含む物体Wの局所表面の特徴量を算出する。例えば、演算部76は、始点P(i)および終点P(j)間の距離、始点P(i)および終点P(j)の法線ベクトルn(i)の内積、始点P(i)の法線ベクトルn(i)と始点P(i)および終点P(j)を結ぶベクトルf(i,j)との内積を特徴量として算出する。そして、演算部76は、特徴量の算出に使用したサーフレットペアと、算出した物体Wの局所表面の特徴量とを位置・姿勢推定部77へ出力する。
位置・姿勢推定部77は、演算部76から入力される物体Wの局所表面の特徴量と一致する特徴量が対応付けられた基準点Oの位置ベクトルの組をテーブル81から複数取得する。さらに、位置・姿勢推定部77は、始点P(i)を原点とする局所座標系を算出する。そして、位置・姿勢推定部77は、テーブル81から取得した位置ベクトルの組を、下記式(6)によって、始点P(i)を原点とする局所座標系における位置ベクトルの組へ変換する。
Figure 0006192088
続いて、位置・姿勢推定部77は、始点P(i)を原点とする局所座標系における変換後の位置ベクトルの組を、下記式(7)によって、実空間における位置ベクトルの組へと変換する。
Figure 0006192088
これにより、図8Bに一点鎖線で示すように、外部基準点O、O、O、および、内部基準点Oの実空間における位置ベクトルが算出される。ここで、位置・姿勢推定部77は、図9に示すように、黒丸で示す物体W表面のサンプル点と、白丸で示す内部基準点Oとの位置関係に基づいて、外部基準点O、O、Oの可否を判定する。なお、図9に示すX軸およびY軸は、水平面と平行な平面上に位置する直交ベクトルであり、Z軸は、XY平面に対して直交し、鉛直下方を正方向にとった軸である。
そして、位置・姿勢推定部77は、図9に示すように、内部基準点Oが物体Wの内部にある場合、内部基準点Oの位置ベクトルと同組に含まれる外部基準点O、O、Oの位置ベクトルを、物体Wの位置および姿勢の推定材料として適切な基準点と判定する。
一方、内部基準点Oのように、物体Wの外部にある場合、位置・姿勢推定部77は、内部基準点Oの位置ベクトルと同組に含まれる外部基準点を、物体Wの位置および姿勢の推定材料として不適切な基準点と判定し、推定材料から除外する。
具体的には、位置・姿勢推定部77は、内部基準点Oの実空間における座標値を(x、y、z)とし、下記式(8)によって、内部基準点Oが物体Wの内部にあるか否かを検証し、外部基準点O、O、Oの可否を判定する。
Figure 0006192088
ただし、上記式(8)におけるscanZ(x,y)は、実空間におけるx座標値およびy座標値が、内部基準点Oのx座標値およびy座標値と一致するサンプル点のz座標値である。
このように、位置・姿勢推定部77は、物体Wの位置および姿勢の推定材料として不適切な基準点Oを、物体Wの位置および姿勢の推定材料から除外する。これにより、位置・姿勢推定部77は、後に行われる外部基準点O、O、Oの投票処理量を低減しつつ、物体Wの位置および姿勢の推定精度を向上させることができる。
なお、本実施形態では、モデルMの内部空間に内部基準点Oを設定したが、モデルMの内部空間以外であれば、例えば、モデルMの表面に内部基準点Oを設定してもよい。ただし、かかる場合、内部基準点Oに対応する内部基準点O10が物体Wの表面にあるか否かを、外部基準点O、O、Oの可否判定基準とすると、可否判定基準が高くなり過ぎて、適切な基準点Oを不適切と誤判定するおそれがある。
そこで、位置・姿勢推定部77では、上記式(8)に所定の閾値thを設け、外部基準点O、O、Oの可否判定基準に一定の幅を持たせることにより、適切な基準点を不適切とする誤判定の発生を抑制する。
続いて、位置・姿勢推定部77は、物体Wの位置および姿勢の判定材料として適切と判定した外部基準点O、O、Oの実空間における位置と一致する実空間内の投票点へそれぞれ投票する処理を行う。
例えば、位置・姿勢推定部77は、図10の上図に示す始点P(i)を原点とする局所座標系における外部基準点O、O、Oの位置を、図10の下図に示す実空間で対応する3点A、B、Cへそれぞれ投票する。位置・姿勢推定部77は、推定材料として適切と判定した全ての外部基準点について、順次実空間への投票を行う。
これにより、例えば、図10に示す3点A、B、Cの投票点の組は、徐々に得票数が増加する。また、実空間では、3点A、B、C以外の投票点にも、3点の外部基準点の組毎に、それぞれ実空間内の他の3投票点の組へ順次投票が行われる。位置・姿勢推定部77は、かかる各3投票点の組毎に、各投票点の得票数を監視する。
ここで、例えば、3点の外部基準点の組に含まれる各外部基準点の各x、y、x座標値、つまり9個の座標値で1点が決定する9次元空間内の投票点へ投票を行った場合、得票数が最多の投票点に基づいて、最も確からしい外部基準点を検出することができる。しかし、かかる場合、投票空間が膨大となり、投票に要する計算量も膨大となる。
このため、位置・姿勢推定部77は、3点の外部基準点の組に含まれる各外部基準点の位置を3次元の実空間における独立した3投票点の組へそれぞれ投票する。これにより、投票に要する計算量を大幅に低減することができる。ただし、位置・姿勢推定部77では、本来一つの3投票点の組へ投票されるべき3票のうち、いずれかが別の投票点の組へ投票される所謂干渉現象が発生する。
そこで、位置・姿勢推定部77は、3投票点の組に含まれる各投票点のうち、投票数が最小の投票点の得票数が所定の閾値Vthに達した場合に、その3投票点の組をリストアップする。そして、位置・姿勢推定部77は、リストアップした3投票点の組毎に総得票数を集計し、得票数が多い組の順に、その組に含まれる投票点の実空間における位置に基づいて、物体Wの位置および姿勢を推定する。
例えば、位置・姿勢推定部77は、図10に示す3点A、B、Cの組の中で、点Aの得票数が最も少ないと、点Aの得票数が閾値Vthに達した場合に、3点A、B、Cの組をリストアップする。これにより、例えば、干渉によって、2点B、Cの得票数が増大しても、点Aの得票数が閾値Vthに達しない限り、適切か否かが未定の3点A、B、Cの組を早まって適切な得票点の組と判定することを抑制することができる。
続いて、位置・姿勢推定部77は、推定した複数の物体Wの位置および姿勢を示す情報を把持対象情報生成部78へ出力する。把持対象情報生成部78は、位置・姿勢推定部77から入力される情報に基づいて、ロボット2の把持候補となる物体Wの有無を判定し、把持候補がある場合、把持候補の位置および姿勢を示す情報を、ない場合、その旨を示す情報をロボット制御装置5へ出力する。
次に、図11〜図13を参照し、物体検出装置4の処理部7が実行する処理について説明する。図11は、実施形態に係るテーブル81の作成処理を示すフローチャートである。図12は、実施形態に係る物体Wの位置および姿勢の検出処理を示すフローチャートである。図13は、実施形態に係る把持候補に関する情報の作成処理を示すフローチャートである。
物体検出装置4の処理部7は、物体Wの位置および姿勢を検出する以前に、予め図11に示す処理を実行することによってテーブル81を作成する。具体的には、処理部7は、図11に示すように、まず、モデルデータを取得し(ステップS101)、モデルデータからモデルMのエッジEdを抽出する(ステップS102)。
続いて、処理部7は、モデルMの表面から選択する始点PのモデルM表面における位置に対応する変数iへ1を設定する(ステップS103)。その後、処理部7は、モデルMの表面から選択する終点PのモデルM表面における位置に対応する変数jへ1を設定する(ステップS104)。
続いて、処理部7は、変数iの値と変数jの値とが等しくないか否かを判定する(ステップS105)。つまり、処理部7は、モデルMの表面から選択する始点Pと終点Pとが同一点か否かを判定する。なお、ここでは、変数iの値および変数jの値は、ともに1である。このため、処理部7は、始点Pと終点Pとが同一点であると判定し(ステップS105,No)、処理をステップS109へ移す。
ステップS109において、処理部7は、処理を変数jのループの先頭、つまり、ステップS104へ移す。ステップS104において、処理部7は、変数jの値へ1を加算し、処理をステップS105へ移す。以後、処理部7は、処理がステップS109まで進む度に、ステップS104で変数jの値へ1を加算し、変数jの値がMに達した後に、処理がステップS109まで進むと、処理をステップS110へ移す。つまり、処理部7は、モデルMの表面からM個の終点Pを選択する。
また、処理部7は、ステップS105において、変数iの値と変数jの値とが等しくないと判定した場合(ステップS105,Yes)、処理をステップS106へ移す。ステップS106において、処理部7は、始点Pの位置ベクトルpと、始点Pの法線ベクトルnと、終点Pの位置ベクトルpとから、始点Pを原点とする局所座標系を算出する。
続いて、処理部7は、算出した局所座標系における各基準点Oの位置ベクトルを算出する(ステップS107)。ここで、処理部7は、始点Pおよび終点Pを含むモデルMの局所表面の特徴量であるサーフレットペア〈Δ(p)、Δ(p)〉の特徴量についても算出する。
続いて、処理部7は、サーフレットペア〈Δ(p)、Δ(p)〉の特徴量をキーとしたテーブル81に算出した基準点Oの位置ベクトルを格納し(ステップS108)、処理をステップS109へ移す。そして、処理部7は、一つの始点Pと、M個の終点Pとについて、ステップS104〜ステップS109の処理を繰り返し、その後、処理をステップS110へ移す。
ステップS110において、処理部7は、処理を変数iのループの先頭、つまり、ステップS103へ移す。ステップS103において、処理部7は、変数iの値へ1を加算し、処理をステップS104へ移す。以後、処理部7は、処理がステップS110まで進む度に、ステップS103で変数iの値へ1を加算し、変数iの値がMに達した後に、処理がステップS110まで進むと、処理をステップS111へ移す。
つまり、処理部7は、モデルMの表面からM個の始点Pを選択し、M個の各始点Pと、M個の終点Pとについて、ステップS103〜ステップS110の処理を繰り返した後、処理をステップS111へ移す。最後に、処理部7は、作成したテーブル81を記憶部8に保存して、処理を終了する。
なお、テーブル81は、物体検出装置4以外の装置によって作成されてもよい。かかる場合、物体検出装置4は、他の装置から作成されたテーブル81を取得して、記憶部8に保存する。
また、処理部7は、図12に示す処理を実行することによって、物体Wの位置および姿勢を検出するサーフェスマッチングを行う。具体的には、処理部7は、図12に示すように、まず、センサ3からバラ積みされた物体Wのシーンデータを取得し(ステップS201)、シーンデータから物体Wのエッジを抽出する(ステップS202)。
続いて、処理部7は、シーンデータから各サンプル点の法線ベクトルを算出する。ここで、処理部7は、エッジを形成するサンプル点については、勾配ベクトルも算出する(ステップS203)。続いて、処理部7は、物体Wの表面から選択する始点P(i)の物体W表面における位置に対応する変数iへ1を設定し、(ステップS204)、シーンデータから始点P(i)のサーフレットΔ(p)を取得する(ステップS205)。
その後、処理部7は、物体Wの表面から選択する終点P(j)の物体W表面における位置に対応する変数jへ1を設定し(ステップS206)、シーンデータから終点P(j)のサーフレットΔ(p)を取得する(ステップS207)。
続いて、処理部7は、取得したサーフレットペア〈Δ(p)、Δ(p)〉が制約条件を満たすか否かを判定する(ステップS208)。ここで、処理部7は、例えば、始点P(i)および終点P(j)がいずれも面上の点である場合、始点P(i)の法線ベクトルn(i)と終点P(j)の法線ベクトルn(j)とのなす角度が所定の閾値Tより大きい場合に、制約条件を満たすと判定する。一方、始点P(i)の法線ベクトルn(i)と終点P(j)の法線ベクトルn(j)とのなす角度が所定の閾値T以下の場合、処理部7は、制約条件を満たさないと判定する。
また、処理部7は、例えば、始点P(i)が面上の点であり、終点P(j)がエッジ上の点である場合、始点P(i)の法線ベクトルn(i)と終点P(j)の勾配ベクトルg(j)とのなす角度が所定の閾値Tより大きい場合に、制約条件を満たすと判定する。一方、始点P(i)の法線ベクトルn(i)と終点P(j)の勾配ベクトルg(j)とのなす角度が所定の閾値T以下の場合、処理部7は、制約条件を満たさないと判定する。
かかる、制約条件を設けることにより、処理部7は、際立った特徴が表れ難い始点P(i)およびP(j)のペアについて、無駄にサーフレットペア〈Δ(p)、Δ(p)〉を取得することを防止することができるので、処理量を低減することができる。
そして、処理部7は、取得したサーフレットペア〈Δ(p)、Δ(p)〉が制約条件を満たすと判定した場合(ステップ208,Yes)、処理をステップS209へ移す。一方、制約条件を満たさないと判定した場合(ステップS208,No)、処理部7は、処理をステップS218へ移す。
ステップS209において、処理部7は、テーブル81から、ステップS205およびステップS207で取得したサーフレットペア〈Δ(p)、Δ(p)〉と特徴量が一致する全サーフレットペア(Nv個)の基準点Oの位置ベクトルの組を取得する。
続いて、処理部7は、ステップS205およびステップS207で取得したサーフレットペア〈Δ(p)、Δ(p)〉の局所座標系を算出する(ステップS210)。つまり、処理部7は、サーフレットペア〈Δ(p)、Δ(p)〉に基づいて、始点P(i)を原点とする局所座標系を算出する。
その後、処理部7は、ステップS209で取得した位置ベクトルの組の取得順番を示す変数rに1を設定する(ステップS211)。続いて、処理部7は、ステップS210で算出した局所座標系と、r番目の基準点Oの位置ベクトルの組とに基づいて、各基準点Oの実空間における位置ベクトルの組を算出する(ステップS212)。
ここで、処理部7は、内部基準点Oが物体Wの内部にあるか否かを判定する(ステップS213)。そして、処理部7は、内部基準点Oが物体Wの内部にあると判定した場合(ステップS213,Yes)、処理をステップS214へ移す。一方、内部基準点Oが物体Wの外部にあると判定した場合(ステップS213,No)、処理をステップS217へ移す。
ステップS214において、処理部7は、ステップS213で物体Wの内部にあると判定された内部基準点Oと同じ組に含まれる外部基準点O、O、Oの位置ベクトルと一致する実空間内の投票点へ投票を行う。そして、処理部7は、ステップS214で投票した3点の投票点の組の中で、投票数が最小の投票点の得票数が閾値Vthに達したか否かの判定を行う(ステップS215)。
ここで、処理部7は、閾値Vthに達したと判定した場合(ステップS215,Yes)、処理をステップS216へ移し、ステップS214で投票した3点の投票点の組をリストアップして(ステップS216)、処理をステップS217へ移す。一方、閾値Vthに達していないと判定した場合(ステップ215,No)、処理をステップS217へ移す。
ステップS217において、処理部7は、処理を変数rのループの先頭、つまり、ステップS211へ移す。ステップS211において、処理部7は、変数rの値へ1を加算する。以後、処理部7は、処理がステップS217まで進む度に、ステップS211で変数rの値へ1を加算し、変数rの値がNvに達した後に、処理がステップS217まで進むと、処理をステップS218へ移す。つまり、処理部7は、ステップS209で取得した基準点Oの位置ベクトルの全組について、ステップS212〜ステップS216の処理を行う。
ステップS218において、処理部7は、処理を変数jのループの先頭、つまり、ステップS206へ移す。ステップS206において、処理部7は、変数jの値へ1を加算する。以後、処理部7は、処理がステップS218まで進む度に、ステップS206で変数jの値へ1を加算し、変数jの値がNhに達した後に、処理がステップS218まで進むと、処理をステップS219へ移す。
ステップS219において、処理部7は、処理を変数iのループの先頭、つまり、ステップS204へ移す。ステップS204において、処理部7は、変数iの値へ1を加算する。以後、処理部7は、処理がステップS219まで進む度に、ステップS204で変数iの値へ1を加算し、変数iの値がNtに達した後に、処理がステップS219まで進むと、処理をステップS220へ移す。
ステップS220において、処理部7は、リストアップした投票点の組毎に総得票数を集計し、総得票数が高い順に投票点の組をソートする。続いて、処理部7は、総得票数の高い上位G個の投票点の組から物体Wの位置および姿勢を算出し、(ステップS221)、処理を終了する。
また、処理部7は、図13に示す処理を実行することによって、ロボット2の把持候補となる物体Wに関する情報を生成し、ロボット制御装置5へ出力する。具体的には、処理部7は、図13に示すように、まず、シーンデータを計測する(ステップS301)。
続いて、図12に示す処理(サーフェスマッチング)によって算出したG個の把持候補を検出する(ステップS302)。そして、処理部7は、把持候補に対する後述の詳細マッチングを行う順番を示す変数tに1を設定し(ステップS303)、処理をステップS304へ移す。ステップS304において、処理部7は、変数tの値がG未満であるか否かを判定する(ステップS304)。
ここで、処理部7は、変数tの値がG未満であると判定した場合(ステップS304,Yes)、処理をステップS305へ移す。一方、変数tの値がGに達したと判定した場合(ステップS304,No)、把持候補なしフラグをロボット制御装置5へ設定し(ステップS310)、処理を終了する。
ステップS305において、処理部7は、t番目の把持候補に対して詳細マッチングを行う。例えば、処理部7は、詳細マッチングとして、ICP(Iterative Closest Point)アルゴリズムによる詳細なパターンマッチングを行う。そして、処理部7は、詳細マッチングに成功したか否かを判定する(ステップS306)。
ステップS306において、処理部7は、詳細マッチングに成功したと判定した場合(ステップS306,Yes)、処理をステップS307へ移す。一方、詳細マッチングに失敗したと判定した場合(ステップS306,No)、処理をステップS311へ移す。
ステップS307において、処理部7は、把持候補に対してロボット2がピッキング動作を行う際にハンド25が干渉するかどうかのハンド干渉チェックを行う。そして、処理部7は、干渉がないか否かを判定し(ステップS308)、干渉がないと判定した場合(ステップS308,Yes)、処理をステップS309へ移す。
一方、干渉があると判定した場合(ステップS308,No)、処理をステップS311へ移す。ステップS311において、処理部7は、変数tの値へ1を加算し、処理をステップS304へ移す。また、ステップS309において、処理部7は、ステップS308で干渉なしと判定した把持候補の位置および姿勢(ピッキング位置および姿勢)をロボット制御装置5へ設定して、処理を終了する。
上述したように、実施形態に係る物体検出方法では、物体のモデルの外部空間に、物体の位置および姿勢の推定材料となる複数の外部基準点を設定し、モデルの内部空間に、推定材料の可否判定材料となる内部基準点を設定する。そして、モデルの表面に位置する点群から順次選択する始点および終点の対を含む局所表面の特徴量と、始点に対する外部基準点および内部基準点の位置の組とを対応付けたテーブルを記憶する。
さらに、実施形態に係る物体検出方法では、実空間に存在する物体の表面に位置するサンプル点群から始点および終点の対を順次選択し、始点および終点の対を含む局所表面における物体の特徴量を算出する。
そして、テーブルから物体の特徴量と一致する特徴量が対応付けられた位置の組を取得して実空間における位置の組へ変換し、位置の組に含まれる内部基準点の位置が物体の外部にある場合に、位置の組に含まれる外部基準点の位置を推定材料から除外して物体の位置および姿勢を推定する。かかる物体検出方法によれば、物体の位置および姿勢の検出に要する処理量を低減しつつ、検出精度を向上させることができる。
また、実施形態に係る物体検出方法では、変換後の位置の組に含まれる内部基準点の位置が物体の内部にある場合に、位置の組に含まれる複数の外部基準点の位置と一致する実空間内の投票点へそれぞれ投票する。そして、一つの位置の組に含まれる複数の外部基準点の位置に基づいて投票が行われた投票点の組の中で、投票数が最小の投票点の得票数が所定の閾値に達した場合に、投票点の組をリストアップする。
その後、リストアップした投票点の組毎に総得票数を集計し、総得票数が多い組の順に組に含まれる投票点の実空間における位置に基づいて、物体の位置および姿勢を推定する。これにより、本来投票されるべきでない投票点へ投票される所謂干渉が発生しても、物体の位置および姿勢に関する推定精度が低下することを抑制することができる。
また、実施形態に係る物体検出方法では、物体およびモデルのエッジを検出し、モデルの表面に位置する点群および物体の表面に位置するサンプル点群をエッジ上の点と、面上の点とに分類する。
そして、物体の形状に応じて、始点として選択する点と終点として選択する点とをエッジ上の点および面上の点から選択する。これにより、実施形態に係る物体検出方法では、物体の形状に応じた、より特徴的な局所表面の特徴量に基づいて、物体の位置および姿勢を推定することができるので汎用性を向上させることができる。
また、実施形態に係る物体検出方法では、サンプル点から選択する始点として、面上の点を選択し、サンプル点から選択する終点として、エッジ上の点を選択することにより、物体に占める平面部分の面積が比較的大きな物体の検出精度を向上させることができる。
また、実施形態に係る物体検出方法では、サンプル点から選択する始点および終点として、始点における法線ベクトルと、終点における法線ベクトルまたは勾配ベクトルとのなす角度が所定の閾値より大きい2点を選択する。これにより、物体の比較的特徴的でない部分の局所表面については、位置および姿勢の推定材料から除外することができるので、位置および姿勢の検出に要する処理量を低減することができる。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
1 ロボットシステム
2 ロボット
3 センサ
4 物体検出装置
5 ロボット制御装置
7 処理部
71 モデルデータ取得部
72 シーンデータ取得部
73 基準点設定部
74 エッジ検出部
75 サーフレット選択部
76 演算部
77 位置・姿勢推定部
78 把持対象情報生成部
8 記憶部
81 テーブル
W 物体
M モデル

Claims (6)

  1. 物体のモデルの外部空間に、前記物体の位置および姿勢の推定材料となる複数の外部基準点を設定し、前記モデルの内部空間に、前記推定材料の可否判定材料となる内部基準点を設定する工程と、
    前記モデルの表面に位置する点群から順次選択する始点および終点の対を含む局所表面の特徴量と、前記始点に対する前記外部基準点および前記内部基準点の位置の組とを対応付けたテーブルを記憶する工程と、
    実空間に存在する物体の表面に位置するサンプル点群から始点および終点の対を順次選択し、該始点および終点の対を含む局所表面における前記物体の特徴量を算出する工程と、
    前記テーブルから前記物体の特徴量と一致する特徴量が対応付けられた前記位置の組を取得して実空間における位置の組へ変換し、該位置の組に含まれる前記内部基準点の位置が前記物体の外部にある場合に、該位置の組に含まれる前記外部基準点の位置を前記推定材料から除外して前記物体の位置および姿勢を推定する工程と
    を含むことを特徴とする物体検出方法。
  2. 前記変換後の位置の組に含まれる前記内部基準点の位置が物体の内部にある場合に、該位置の組に含まれる複数の前記外部基準点の位置と一致する実空間内の投票点へそれぞれ投票する工程と、
    一つの前記位置の組に含まれる複数の前記外部基準点の位置に基づいて投票が行われた投票点の組の中で、投票数が最小の投票点の得票数が所定の閾値に達した場合に、該投票点の組をリストアップする工程と、
    リストアップした前記投票点の組毎に総得票数を集計し、前記総得票数が多い組の順に該組に含まれる前記投票点の実空間における位置に基づいて、前記物体の位置および姿勢を推定する工程と
    をさらに含むことを特徴とする請求項1に記載の物体検出方法。
  3. 前記物体および前記モデルのエッジを検出する工程と、
    前記モデルの表面に位置する点群および前記物体の表面に位置する前記サンプル点群を前記エッジ上の点と、面上の点とに分類する工程と、
    前記物体の形状に応じて、前記始点として選択する点と前記終点として選択する点とを前記エッジ上の点および前記面上の点から選択する工程と
    をさらに含むことを特徴とする請求項1または2に記載の物体検出方法。
  4. 前記サンプル点から選択する前記始点として、前記面上の点を選択する工程と、
    前記サンプル点から選択する前記終点として、前記エッジ上の点を選択する工程と
    をさらに含むことを特徴とする請求項3に記載の物体検出方法。
  5. 前記サンプル点から選択する前記始点および終点として、前記始点における法線ベクトルと、前記終点における法線ベクトルまたは勾配ベクトルとのなす角度が所定の閾値より大きい2点を選択する工程
    をさらに含むことを特徴とする請求項1〜4のいずれか一つに記載の物体検出方法。
  6. 物体のモデルの外部空間に、前記物体の位置および姿勢の推定材料となる複数の外部基準点を設定し、前記モデルの内部空間に、前記推定材料の可否判定材料となる内部基準点を設定する設定部と、
    前記モデルの表面に位置する点群から順次選択する始点および終点の対を含む局所表面の特徴量と、前記始点に対する前記外部基準点および前記内部基準点の位置の組とを対応付けたテーブルを記憶する記憶部と、
    実空間に存在する物体の表面に位置するサンプル点群から始点および終点の対を順次選択し、該始点および終点の対を含む局所表面における前記物体の特徴量を算出する演算部と、
    前記テーブルから前記物体の特徴量と一致する特徴量が対応付けられた前記位置の組を取得して実空間における位置の組へ変換し、該位置の組に含まれる前記内部基準点の位置が前記物体の外部にある場合に、該位置の組に含まれる前記外部基準点の位置を前記推定材料から除外して前記物体の位置および姿勢を推定する推定部と
    を備えることを特徴とする物体検出装置。
JP2013030667A 2013-02-20 2013-02-20 物体検出方法および物体検出装置 Expired - Fee Related JP6192088B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013030667A JP6192088B2 (ja) 2013-02-20 2013-02-20 物体検出方法および物体検出装置
US14/184,638 US9317771B2 (en) 2013-02-20 2014-02-19 Device and method to detect an object and controlling a device to pick up the detected object
EP14155759.5A EP2770461B1 (en) 2013-02-20 2014-02-19 Object detecting method and object detecting device
CN201410058233.7A CN104006740B (zh) 2013-02-20 2014-02-20 物体检测方法和物体检测装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013030667A JP6192088B2 (ja) 2013-02-20 2013-02-20 物体検出方法および物体検出装置

Publications (2)

Publication Number Publication Date
JP2014160370A JP2014160370A (ja) 2014-09-04
JP6192088B2 true JP6192088B2 (ja) 2017-09-06

Family

ID=50184737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013030667A Expired - Fee Related JP6192088B2 (ja) 2013-02-20 2013-02-20 物体検出方法および物体検出装置

Country Status (4)

Country Link
US (1) US9317771B2 (ja)
EP (1) EP2770461B1 (ja)
JP (1) JP6192088B2 (ja)
CN (1) CN104006740B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6632208B2 (ja) * 2015-03-24 2020-01-22 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6117901B1 (ja) * 2015-11-30 2017-04-19 ファナック株式会社 複数の物品の位置姿勢計測装置及び該位置姿勢計測装置を含むロボットシステム
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
JP6438512B2 (ja) * 2017-03-13 2018-12-12 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
US11312020B2 (en) * 2018-11-20 2022-04-26 Beijing Jingdong Shangke Information Technology Co System and method for fast object detection in robot picking
JP6904327B2 (ja) * 2018-11-30 2021-07-14 オムロン株式会社 制御装置、制御方法、及び制御プログラム
CN111008964B (zh) * 2019-11-27 2023-06-23 易启科技(吉林省)有限公司 一种部件表面缺陷检测方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3560670B2 (ja) * 1995-02-06 2004-09-02 富士通株式会社 適応的認識システム
JP4079690B2 (ja) * 2002-05-23 2008-04-23 株式会社東芝 物体追跡装置及び方法
US7986813B2 (en) * 2004-03-03 2011-07-26 Nec Corporation Object pose estimation and comparison system using image sharpness differences, object pose estimation and comparison method using image sharpness differences, and program therefor
CN101331379B (zh) * 2005-12-16 2012-04-11 株式会社Ihi 自身位置辨认方法和装置以及三维形状的计测方法和装置
US8861834B2 (en) * 2007-03-09 2014-10-14 Omron Corporation Computer implemented method for recognizing an object based on a correspondence relationship between object feature points and pre-registered model feature points
JP5088278B2 (ja) 2008-09-17 2012-12-05 株式会社安川電機 物体検出方法と物体検出装置およびロボットシステム
JP5245938B2 (ja) * 2009-03-12 2013-07-24 オムロン株式会社 3次元認識結果の表示方法および3次元視覚センサ
JP5627325B2 (ja) * 2010-07-23 2014-11-19 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP4940461B2 (ja) * 2010-07-27 2012-05-30 株式会社三次元メディア 3次元物体認識装置及び3次元物体認識方法
JP5771413B2 (ja) * 2011-03-02 2015-08-26 パナソニック株式会社 姿勢推定装置、姿勢推定システム、および姿勢推定方法

Also Published As

Publication number Publication date
CN104006740B (zh) 2016-10-19
CN104006740A (zh) 2014-08-27
EP2770461B1 (en) 2019-08-07
EP2770461A3 (en) 2017-04-19
EP2770461A2 (en) 2014-08-27
JP2014160370A (ja) 2014-09-04
US9317771B2 (en) 2016-04-19
US20140233807A1 (en) 2014-08-21

Similar Documents

Publication Publication Date Title
JP6192088B2 (ja) 物体検出方法および物体検出装置
JP6529302B2 (ja) 情報処理装置、情報処理方法、プログラム
CN110992356B (zh) 目标对象检测方法、装置和计算机设备
JP6117901B1 (ja) 複数の物品の位置姿勢計測装置及び該位置姿勢計測装置を含むロボットシステム
EP3550470A1 (en) Object recognition processing apparatus and method, and object picking apparatus and method
US9044858B2 (en) Target object gripping apparatus, method for controlling the same and storage medium
JP5677798B2 (ja) 3次元シーンにおける3次元物体の認識及び位置姿勢決定方法
JP6271953B2 (ja) 画像処理装置、画像処理方法
US9576363B2 (en) Object picking system, object detecting device, object detecting method
JP5480667B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、プログラム
US20170151672A1 (en) Workpiece position/posture calculation system and handling system
JP4766269B2 (ja) 物体検出方法、物体検出装置、及びそれを備えたロボット
JP2011133273A (ja) 推定装置及びその制御方法、プログラム
US10740649B2 (en) Object attitude detection device, control device, and robot system
JP2018136896A (ja) 情報処理装置、システム、情報処理方法、および物品の製造方法
JP2018128897A (ja) 対象物の姿勢等を検出する検出方法、検出プログラム
CN116249607A (zh) 用于机器人抓取三维物体的方法和装置
CN111745640A (zh) 物体检测方法、物体检测装置以及机器人***
CN109508707B (zh) 基于单目视觉的机器人稳定抓取物体的抓取点获取方法
CN114310892A (zh) 基于点云数据碰撞检测的物体抓取方法、装置和设备
JP5476943B2 (ja) 姿勢認識方法およびこの方法を用いた3次元視覚センサ
JP6124566B2 (ja) 画像認識方法および画像認識装置
JP2013072857A (ja) 3次元位置・姿勢認識装置およびその方法、プログラム
JP6729092B2 (ja) 電子機器の製造装置、及びケーブル形状推定プログラム
CN110728222B (zh) 一种用于机械臂抓取***中目标物体的位姿估计方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20151225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170217

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: 20170704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170803

R150 Certificate of patent or registration of utility model

Ref document number: 6192088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees