JP6984633B2 - 対象物の位置姿勢を検出する装置、方法およびプログラム - Google Patents
対象物の位置姿勢を検出する装置、方法およびプログラム Download PDFInfo
- Publication number
- JP6984633B2 JP6984633B2 JP2019085168A JP2019085168A JP6984633B2 JP 6984633 B2 JP6984633 B2 JP 6984633B2 JP 2019085168 A JP2019085168 A JP 2019085168A JP 2019085168 A JP2019085168 A JP 2019085168A JP 6984633 B2 JP6984633 B2 JP 6984633B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- data
- surface element
- points
- feature region
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/002—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/26—Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/145—Illumination specially adapted for pattern recognition, e.g. using gratings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Description
本技術は、対象物の位置姿勢を検出する装置、方法およびプログラムに関する。
従来、対象物をピッキングするロボットの位置決めのために、対象物を撮像することにより得られる三次元点群データに基づいて、対象物の位置姿勢を検出する技術が知られている。
例えば、特開2017−42897号公報(特許文献1)には、対象物の三次元点群であるシーン点群からシーン特徴点を検出し、検出したシーン特徴点を用いて対象物の位置姿勢を算出するロボット制御装置が開示されている。当該ロボット制御装置は、特徴量に対応付けられた領域を示す領域情報を生成し、生成した領域情報に基づいてシーン点群の第1点の特徴量に対応付けられた領域に含まれるシーン点群の一部からシーン特徴点を検出する。
特許文献1に記載の技術は、シーン点群の一部からシーン特徴点を検出するため、シーン点群の全体からシーン特徴点を検出する場合に比べて、シーン点群からシーン特徴点を検出ために要する時間が短縮される。しかしながら、シーン点群の当該一部は、特徴量に対応付けられた領域を示す領域情報に基づいて決定される。領域情報は、対象物の三次元モデルを示す三次元モデル点群から検出されるモデル特徴点に基づいて生成される。そのため、領域情報の生成に要する時間がかかり、対象物の位置姿勢の検出の高速化は十分ではない。
本発明は、上記の問題に鑑みてなされたものであり、その目的は、高速に対象物の位置姿勢を検出する装置、方法およびプログラムを提供することである。
本開示の一例によれば、対象物の位置姿勢を検出する装置は、検出部と、選択部と、位置姿勢決定部とを備える。検出部は、対象物を撮像することにより得られた2次元画像から、対象物の表面を構成する1つの面要素に含まれる特徴領域を検出する。選択部は、対象物を3次元計測することにより得られた3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを選択する。位置姿勢決定部は、少なくとも3つの点のデータと面要素の形状に関する事前情報とを用いて、面要素の位置姿勢に関する位置姿勢情報を決定する。
この開示によれば、2次元画像からの特徴領域の検出は、例えば、2次元のテンプレートを用いたテンプレートマッチングによって行なわれる。2次元のテンプレートマッチングで用意すべきテンプレートの数は、3次元のテンプレートマッチングで用意すべきテンプレートの数よりも少ない。そのため、マッチングに要する処理時間を抑制できる。
さらに、ワークWの位置姿勢を特定する面要素の位置姿勢は、3次元点群データの中から選択された少なくとも3つの点に基づいて決定される。当該少なくとも3つの点は、2次元画像から検出された特徴領域に関連付けられた点である。そのため、3次元点群データから当該少なくとも3つの点のデータの選択に要する時間は短い。以上から、高速に対象物の位置姿勢を検出できる。
上述の開示において、少なくとも3つの点のデータは、特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点のデータを含む。この開示によれば、特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点は、面要素の位置を特定するために利用できる。
上述の開示において、所定の条件は、少なくとも1つの第1点を特徴領域に投影した点と特徴領域の位置を代表する代表点との距離を規定する条件である。この開示によれば、少なくとも1つの第1点は、面要素の位置を特定するために利用できる。
上述の開示において、所定の条件は、少なくとも1つの第1点を特徴領域に投影した点および代表点を通る直線と特徴領域の姿勢を代表する代表方向とのなす角度を規定する条件である。この開示によれば、特徴領域の姿勢を考慮して、3次元点群データから点を選択することができる。
上述の開示において、少なくとも3つの点のデータは、少なくとも1つの第1点のデータの他に、少なくとも1つの第2点のデータを含む。少なくとも1つの第2点と少なくとも1つの第1点との距離が規定範囲内である。この開示によれば、特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点に基づいて、3次元点群データから第2点を容易に選択することができる。
上述の開示において、少なくとも3つの点のデータは、3次元点群データで示される各点を2次元画像に投影したときに特徴領域内に属する点のデータである。この開示によれば、3次元点群データの中から、面要素に含まれる点のデータを容易に選択できる。
上述の開示において、検出部は、面要素に存在する特徴部分および2次元画像における面要素の輪郭の少なくとも一方を用いて特徴領域を検出する。この開示によれば、検出部は、テンプレートマッチングなどの公知の技術を用いて容易に特徴領域を検出できる。
上述の開示において、面要素は、平面または曲率が一定である曲面である。この開示によれば、面要素は、3次元空間における方程式によって表される。そのため、位置姿勢決定部は、方程式に含まれる係数を求めることにより、面要素の位置姿勢を決定することができる。
上述の開示において、装置は、対象物を撮像するための撮像部と、対象物に予め定められたパターン光を照射する照射部とをさらに備える。2次元画像は、パターン光が照射されていない状態で撮像部が撮像することにより得られる。3次元点群データは、パターン光が照射されている状態で撮像部が撮像することにより得られる画像から生成される。
この開示によれば、撮像部の視野領域内の任意の1点の2次元画像におけるx,y座標値は、3次元点群データにおける当該1点のデータのx,y座標値とそれぞれ一致する。したがって、選択部は、3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを容易に選択できる。
上述の開示において、位置姿勢情報は、面要素内の1つの点における法線ベクトルを示す。この開示によれば、例えば対象物をピッキングするロボットの動作を指示するために、法線ベクトルを利用することができる。
上述の開示において、装置は、法線ベクトルに基づいて、対象物をピッキングするロボットへの動作指示を生成する動作指示生成部をさらに備える。この開示によれば、ロボットは、ワークWの位置姿勢に応じたピッキング動作を行なうことができる。
本開示の一例によれば、対象物の位置姿勢を検出する方法は、第1〜第3のステップを備える。第1のステップは、対象物を撮像することにより得られた2次元画像から対象物の表面を構成する1つの面要素に含まれる特徴領域を検出するステップである。第2のステップは、対象物を3次元計測することにより得られた3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを選択するステップである。第3のステップは、少なくとも3つの点のデータと面要素の形状に関する事前情報とを用いて、面要素の位置姿勢に関する位置姿勢情報を決定するステップである。
本開示の一例によれば、プログラムは、上記の方法をコンピュータに実行させる。これらの開示によっても、高速に対象物の位置姿勢を検出することができる。
本開示によれば、高速に対象物の位置姿勢を検出することができる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、生産ラインなどに組み込まれ、トレーなどに載置されたワークWを1個ずつピッキングするような制御を行う。ワークWは、図示しない上流側の製造装置などから搬送されるため、そのトレー内での位置姿勢はランダムになっている。
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、生産ラインなどに組み込まれ、トレーなどに載置されたワークWを1個ずつピッキングするような制御を行う。ワークWは、図示しない上流側の製造装置などから搬送されるため、そのトレー内での位置姿勢はランダムになっている。
図1に例示される制御システムSYSは、画像処理装置100と、ロボットコントローラ200と、ロボット300とを備える。画像処理装置100には、照明装置7および撮像装置8が接続されている。
ロボット300は、ワークWをピッキングする動作を行なう。ロボット300は、ワークWを把持するエンドエフェクタと、指示に従ってエンドエフェクタの位置姿勢を変更するための多関節アームとを含む。ロボット300の動作は、ロボットコントローラ200によって制御される。
ロボットコントローラ200は、画像処理装置100からの動作指示を受けて、ロボット300の多関節アームを移動し、ロボット300にワークWをピッキングさせる。
照明装置7は、一種の面光源として機能するとともに、画像処理装置100からの指示に従って任意の濃淡パターンの照明光を照射できるものとする。この任意の濃淡パターンは、照射面内で明るさが均一であるパターンおよび照射面内の所定方向に沿って明るさが周期的に変化するパターンを含む。
照明装置7は、主要なコンポーネントとして、LED(Light Emitting Diode)やハロゲンランプなどの光源と、照明装置7の照射面の側に配置されたフィルタとを含む。また、フィルタは、後述するような三次元形状の計測に必要な濃淡パターンを発生させるものであり、画像処理装置100からの指令に従って、面内の透光率を任意に変化させることができる。
撮像装置8は、視野領域にトレー上のワークWが含まれるように設置され、照明装置7によって照射された照明光がワークWの表面で反射した光を撮像する。撮像装置8は、撮像により得られた画像を画像処理装置100に出力する。
撮像装置8は、主要なコンポーネントとして、レンズなどの光学系と、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子とを含む。
画像処理装置100は、撮像装置8から受けた画像に基づいて、撮像装置8の視野に存在するワークWの位置姿勢を検出する。画像処理装置100は、検出したワークWの位置姿勢に基づいて、当該ワークWをピッキングするために取るべきエンドエフェクタの位置姿勢を算出し、算出した位置姿勢に移動する動作指示を生成する。画像処理装置100は、生成した動作指示をロボットコントローラ200に出力する。
具体的には、画像処理装置100は、照明装置7によって濃淡パターンの照明光が照射されている状態において撮像装置8によって撮像された画像に基づいて、撮像装置8の視野領域を3次元計測する。当該3次元計測によって、視野領域に存在する物体(ワークWを含む)における撮像装置8に対向する表面上の複数の点の3次元座標値を示す3次元点群データが生成される。
3次元点群データからワークWの位置姿勢を検出する方法として、様々な視点からワークWを見たときの姿勢ごとの3次元形状を示すテンプレートを用意し、3次元点群データに対してこれらのテンプレートのマッチングを行なう探索処理方法が考えられる。テンプレートは、ワークWの3次元形状を示す3D−CADデータから生成される。
しかしながら、上記の探索処理方法では、2次元のテンプレートマッチングと比べて用意すべきテンプレートの数が非常に多くなり、マッチングのための処理時間が増大する。
さらに、上記の探索処理方法では、3次元的な特徴の少ない形状(例えば薄板)のワークWの場合に、ワークWの位置姿勢の検出精度が低下する。
図2は、薄板状のワークWの3次元画像(距離画像)を示す図である。図2の上段には、薄板状のワークWの斜視図が示され、下段には上段のワークWの距離画像が示される。距離画像は、撮像装置8の各画素の値として、撮像装置8から被写体表面までの距離に対応する情報が反映された画像であり、3次元点群データから生成される。図2に示されるように、薄板状のワークWの場合、ワークWと背景物体との境界における画素の値の変化が小さくなる。そのため、上記の探索処理方法では、ワークWの位置姿勢の検出精度が低下する。
本実施の形態に係る画像処理装置100は、このような検出時間の増大および検出精度の低下を抑制するために、3次元点群データに加えて2次元画像を用いて、ワークWの位置姿勢を検出する。2次元画像は、濃淡パターンの照明光が照射されていない状態における撮像装置8の撮像によって得られる。
画像処理装置100は、2次元画像から、ワークWの表面を構成する1つの面要素に含まれる特徴領域を検出する。画像処理装置100は、3次元点群データの中から、検出された特徴領域に関連付けられた少なくとも3つの点のデータを選択する。画像処理装置100は、選択された少なくとも3つの点のデータと上記の面要素の形状に関する事前情報とを用いて、面要素の位置姿勢に関する位置姿勢情報を決定する。ワークWの位置姿勢は、ワークWの面要素の位置姿勢によって特定される。
2次元画像からの特徴領域の検出は、例えば、2次元のテンプレートを用いたテンプレートマッチングによって行なわれる。ワークWの面要素を様々な視点から見た姿勢ごとの複数のテンプレートが予め用意される。ただし、2次元のテンプレートマッチングで用意すべきテンプレートの数は、3次元のテンプレートマッチングで用意すべきテンプレートの数よりも少ない。そのため、マッチングに要する処理時間を抑制できる。
さらに、ワークWの位置姿勢を特定する面要素の位置姿勢は、3次元点群データの中から選択された少なくとも3つの点に基づいて決定される。当該少なくとも3つの点は、2次元画像から検出された特徴領域に関連付けられた点である。そのため、3次元点群データから当該少なくとも3つの点のデータの選択に要する時間は短い。
2次元画像からの特徴領域の検出には、当該特徴領域に対応する面要素に形成された模様、当該面要素と当該面要素の周囲との境界であるエッジなどを利用することができる。そのため、3次元的な特徴の少ない形状(例えば薄板)のワークWであっても、2次元画像からの特徴領域を精度良く検出できる。その結果、ワークWの位置姿勢の検出精度の低下を抑制できる。
このように、本実施の形態の画像処理装置によれば、ワークWの位置姿勢の検出時間の増大を抑制することができる。さらに、3次元的な特徴の少ない形状(例えば薄板)のワークWであっても、ワークWの位置姿勢の検出精度の低下を抑制できる。
§2 具体例
次に、本実施の形態に係る制御システムの具体例について説明する。
次に、本実施の形態に係る制御システムの具体例について説明する。
<A.画像処理装置のハードウェア構成例>
画像処理装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る画像処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して画像処理装置100にインストールされる。
画像処理装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る画像処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して画像処理装置100にインストールされる。
このような汎用的なコンピュータを利用する場合には、本実施の形態に係る画像処理を実行するためのアプリケーションに加えて、コンピュータの基本的な処理を実行するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
図3は、図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。図3に示されるように、画像処理装置100は、演算処理部であるCPU(Central Processing Unit)110と、記憶部としてのメインメモリ112およびハードディスク114と、カメラインターフェイス116と、入力インターフェイス118と、表示コントローラ120と、プロジェクタインターフェイス122と、通信インターフェイス124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。
CPU110は、ハードディスク114にインストールされたプログラム(コード)をメインメモリ112に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク114から読み出されたプログラムに加えて、撮像装置8によって取得された画像、キャリブレーションデータ、計測結果に関する情報などを保持する。さらに、ハードディスク114には、各種設定値などが格納されてもよい。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
カメラインターフェイス116は、CPU110と撮像装置8との間のデータ伝送を仲介する。すなわち、カメラインターフェイス116は、撮像装置8と接続される。カメラインターフェイス116は、撮像装置8からの画像を一時的に蓄積するための画像バッファ116aを含む。そして、カメラインターフェイス116は、画像バッファ116aに所定コマ数の画像が蓄積されると、その蓄積された画像をメインメモリ112へ転送する。また、カメラインターフェイス116は、CPU110が発生した内部コマンドに従って、撮像装置8に対して撮像コマンドを与える。
入力インターフェイス118は、CPU110とマウス104、タッチパネル、キーボードなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス118は、ユーザが入力部を操作することで与えられる操作指令を受付ける。
表示コントローラ120は、ディスプレイ102と接続され、CPU110における処理結果などをユーザに通知する。すなわち、表示コントローラ120は、ディスプレイ102での表示を制御する。
プロジェクタインターフェイス122は、CPU110と照明装置7との間のデータ伝送を仲介する。より具体的には、プロジェクタインターフェイス122は、CPU110が発生した内部コマンドに従って、照明装置7に対して照明コマンドを与える。
通信インターフェイス124は、CPU110とロボットコントローラ200などの外部装置との間のデータ伝送を仲介する。通信インターフェイス124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
データリーダ/ライタ126は、CPU110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ126は、このメモリカード106からプログラムを読出す。また、データリーダ/ライタ126は、CPU110の内部指令に応答して、撮像装置8によって取得された入力画像および/または画像処理装置100における処理結果などをメモリカード106へ書込む。なお、メモリカード106は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体等からなる。
<B.画像処理装置の機能構成例>
図4は、図1に示す画像処理装置の機能構成の一例を示すブロック図である。図4に示されるように、画像処理装置100は、撮像制御部10と、記憶部11と、画像処理部12とを備える。
図4は、図1に示す画像処理装置の機能構成の一例を示すブロック図である。図4に示されるように、画像処理装置100は、撮像制御部10と、記憶部11と、画像処理部12とを備える。
撮像制御部10は、照明装置7および撮像装置8の動作を制御する。撮像制御部10は、3次元撮像モードおよび2次元撮像モードのいずれかのモードに従って照明装置7および撮像装置8の動作を制御する。
3次元撮像モードの場合、撮像制御部10は、濃淡パターンの照明光を照射するように照明装置7を制御し、予め定められた濃淡パターンの照明光(パターン光)が照射されている状態で撮像装置8に撮像指示を出力する。
2次元撮像モードの場合、撮像制御部10は、照明装置7からパターン光が照射されていない状態で撮像装置8に撮像指示を出力する。このとき、撮像制御部10は、オフ状態に照明装置7を制御してもよいし、撮像装置8の視野領域に対して均一な光を照射するように照明装置7を制御してもよい。
記憶部11は、ワークWの表面を構成する1つの面要素を様々な視点から見たときの姿勢ごとの画像を示すテンプレート11aを記憶する。ワークWが直方体形状である場合、面要素は6個の平面のうちのいずれかである。ワークWが円柱状である場合、面要素は、2個の底面および側面のうちのいずれかである。ワークWが球状である場合、面要素は球面である。ワークWが基板である場合、面要素は、電子部品が実装される面であってもよい。
記憶部11は、さらに、テンプレート11aに対応する面要素の形状に関する事前情報11bを記憶する。例えば、面要素が直方体形状のワークWの面や円柱形状のワークWの底面である場合、事前情報11bは、面要素が平面であることを示す。面要素が円柱形状のワークWの側面である場合、事前情報11bは、面要素が円柱側面であることを示す。円柱形状のワークWの半径が既知である場合、事前情報11bはさらに当該半径を示してもよい。ワークWが球状である場合、事前情報11bは、面要素が球面であることを示す。球状のワークWの半径が既知である場合、事前情報11bはさらに当該半径を示してもよい。
画像処理部12は、撮像装置8の撮像により得られた画像に対する処理を行なう。図4に示されるように、画像処理部12は、2D画像取得部13と、3D画像生成部14と、特徴領域検出部15と、選択部16と、位置姿勢決定部17と、動作指示生成部18と、通信部19とを含む。
2D画像取得部13は、2次元撮像モードで撮像装置8によって撮像された2次元画像を撮像制御部10から取得する。
3D画像生成部14は、3次元撮像モードで撮像装置8によって撮像された画像に基づいて、撮像装置8の視野領域に3次元計測を行ない、3次元点群データを生成する。3次元点群データは、撮像装置8の視野領域に存在する物体表面上の各点の三次元座標を示す。
3次元計測処理として、例えば三角測距方式、同軸方式が採用され得る。三角測距方式は、撮像と灯光との光軸を基線長分だけ離間させ、視差を距離に変換する方式である。三角測距方式には、アクティブ法とパッシブ法とが含まれる。アクティブ法には、構造化照明法、位相シフト法、空間コード法が含まれる。同軸方式は、撮像と測距手段との光軸を同一に設定する方式である。測距手段として、TOF(Time of Flight)方式、焦点方式が含まれる。3D画像生成部14は、これらの方式のいずれかを用いて3次元計測処理を実行すればよい。例えば位相シフト法を用いて3次元計測処理が行なわれる。
位相シフト法は、照射面内において正弦波状に濃淡を変化させた濃淡パターンを有する照明光を照射した状態で撮像された画像(正弦波投影画像)を用いる方法である。照射面内の濃淡の変化周期や位相を異ならせた濃淡パターンが複数用意され、照明装置7は、撮像装置8の視野領域に対して、当該複数の濃淡パターンを順次照射する。3D画像生成部14は、複数の濃淡パターンが照射されたときにそれぞれ撮像される画像を正弦波投影画像群として取得する。そして、3D画像生成部14は、これらの正弦波投影画像間における対応する部分の明るさ(輝度や明度)の変化に基づいて、三次元座標を算出する。
特徴領域検出部15は、公知のテンプレートマッチング手法を用いて、2D画像取得部13によって取得された2次元画像から、テンプレート11aに対応する面要素に含まれる特徴領域を検出する。
選択部16は、3D画像生成部14によって生成された3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを選択する。2次元画像および3次元点群データの両者は、撮像装置8の撮像によって生成される。そのため、撮像装置8の視野領域内の任意の1点の2次元画像におけるx,y座標値は、3次元点群データにおける当該1点のデータのx,y座標値とそれぞれ一致する。したがって、選択部16は、3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを容易に選択できる。3次元点群から選択される点の個数は、面要素の形状に応じて定められる。
位置姿勢決定部17は、選択部16によって選択された少なくとも3つの点のデータと事前情報11bとに基づいて、面要素の位置姿勢に関する位置姿勢情報を決定する。位置姿勢情報は、例えば、面要素内の1つ点である対象点と、当該対象点における当該面要素に対する法線ベクトルとを示す。
動作指示生成部18は、位置姿勢情報(例えば、対象点および法線ベクトル)に基づいて、ロボット300に対する動作指示を生成する。例えば、動作指示生成部18は、法線ベクトルを把持方向として決定し、エンドエフェクタが対象点に向かって法線ベクトルに沿って移動するような動作指示を生成する。
通信部19は、ロボットコントローラ200と通信可能であり、動作指示生成部18によって生成された動作指示をロボットコントローラ200に送信する。
<C.画像処理部の処理例>
次に、画像処理部12の具体的な処理例について説明する。
次に、画像処理部12の具体的な処理例について説明する。
(C−1.第1の処理例)
第1の処理例は、円柱形状のワークWの底面(面要素)の位置姿勢を決定する例である。この例では、記憶部11は、ワークWの底面を様々な視点から見た姿勢ごとのテンプレート11aと、面要素が円形の平面であることを示す事前情報11bとを記憶している。テンプレート11aは、ワークWの底面の輪郭となるエッジ画素の位置を示す。
第1の処理例は、円柱形状のワークWの底面(面要素)の位置姿勢を決定する例である。この例では、記憶部11は、ワークWの底面を様々な視点から見た姿勢ごとのテンプレート11aと、面要素が円形の平面であることを示す事前情報11bとを記憶している。テンプレート11aは、ワークWの底面の輪郭となるエッジ画素の位置を示す。
図5は、画像処理部による第1の処理例を示す図である。図5に示されるように、特徴領域検出部15は、2次元画像においてエッジ画素31を抽出する。特徴領域検出部15は、2次元画像から抽出したエッジ画素31とテンプレート11aとを照合することにより、2次元画像からワークWの底面である面要素全体を特徴領域30として検出する。このように、特徴領域検出部15は、面要素の輪郭を用いて、2次元画像における面要素全体を特徴領域として検出する。
選択部16は、3次元点群データから、特徴領域30に対する相対位置が以下の条件(1)を満たす点Pb1のデータを選択する。
条件(1):特徴領域の重心とx,y座標値が一致する。言い換えると、点Pb1を2次元画像に投影した点と特徴領域の重心との距離が0である。
条件(1):特徴領域の重心とx,y座標値が一致する。言い換えると、点Pb1を2次元画像に投影した点と特徴領域の重心との距離が0である。
選択部16は、特徴領域30の重心である特徴点Pa1(x1,y1)を抽出する。特徴点Pa1(x1,y1)は、特徴領域30の位置を代表する点である。選択部16は、3次元点群データから特徴点Pa1に対応する点b1のデータを選択する。上述したように、2次元画像における点のx,y座標値は、3次元点群データにおける当該点のデータのx,y座標値と一致する。そのため、選択部16は、x,y座標値が特徴点Pa1のx、y座標値と一致する点Pb1(x1,y1,z1)のデータを選択すればよい。
さらに、選択部16は、3次元点群データから、特徴領域30に対する相対位置が以下の条件(2)〜(4)を満たす点Pb2,Pb3のデータを選択する。
条件(2):点Pb2,Pb3を2次元画像にそれぞれ投影した特徴点Pa2,Pa3が特徴領域内である。
条件(3):特徴点Pa2,Pa3と特徴領域の重心との距離が規定距離(例えば底面の半径rの1/2)である。
条件(4):特徴領域の重心と特徴点Pa2とを結ぶ線と、特徴領域の重心と特徴点Pa3とを結ぶ線とが平行ではない(典型的には直交する)。
条件(2):点Pb2,Pb3を2次元画像にそれぞれ投影した特徴点Pa2,Pa3が特徴領域内である。
条件(3):特徴点Pa2,Pa3と特徴領域の重心との距離が規定距離(例えば底面の半径rの1/2)である。
条件(4):特徴領域の重心と特徴点Pa2とを結ぶ線と、特徴領域の重心と特徴点Pa3とを結ぶ線とが平行ではない(典型的には直交する)。
選択部16は、特徴領域30の中から、条件(2)〜(4)で規定される特徴点Pa2(x2,y2),Pa3(x3,y3)を抽出する。そして、選択部16は、3次元点群データから、x,y座標値が特徴点Pa2のx、y座標値と一致する点Pb2(x2,y2,z2)のデータを選択する。さらに、選択部16は、3次元点群データから、x,y座標値が特徴点Pa3のx、y座標値と一致する点Pb3(x3,y3,z3)のデータを選択する。
このように、選択部16は、特徴領域30内の特徴点Pa1,Pa2,Pa3にそれぞれ対応する点Pb1,Pb2,Pb3のデータを選択する。特徴領域30は、2次元画像における面要素の領域である。そのため、点Pb1,Pb2,Pb3は、面要素上の点となる。
位置姿勢決定部17は、特徴領域30の重心である特徴点Pa1に対応する点Pb1を、円形の平面である面要素の中心として決定する。
さらに、位置姿勢決定部17は、面要素が平面であるという事前情報に従って、面要素を含む平面を決定する。点Pb1(x1,y1,z1)を通る平面の方程式は、a(x−x1)+b(y−y1)+c(z−z1)=0で表される。ベクトル(a,b,c)は、平面の法線ベクトルである。
図6は、平面の法線ベクトルの算出方法を示す図である。平面の法線ベクトルは、当該平面に沿った2つのベクトルの外積である。そこで、位置姿勢決定部17は、点Pb1から点Pb2に向かうベクトルPb1Pb2と、点Pb1から点Pb3に向かうベクトルPb1Pb3との外積を法線ベクトルとして算出する。すなわち、位置姿勢決定部17は、以下の式に従って、係数a,b,cを算出する。
a=(y2−y1)(z3−z1)−(y3−y1)(z2−z1)
b=(z2−z1)(x3−x1)−(z3−z1)(x2−x1)
c=(x2−x1)(y3−y1)−(x3−x1)(y2−y1)
もしくは、選択部16は、3次元点群データの中から、特徴領域30内の4つ以上の特徴点にそれぞれ対応する4つの以上の点のデータを選択してもよい。位置姿勢決定部17は、最小二乗法に従って、選択部16によって選択された4つ以上の点のデータを用いて上記の係数a,b,cを算出してもよい。
a=(y2−y1)(z3−z1)−(y3−y1)(z2−z1)
b=(z2−z1)(x3−x1)−(z3−z1)(x2−x1)
c=(x2−x1)(y3−y1)−(x3−x1)(y2−y1)
もしくは、選択部16は、3次元点群データの中から、特徴領域30内の4つ以上の特徴点にそれぞれ対応する4つの以上の点のデータを選択してもよい。位置姿勢決定部17は、最小二乗法に従って、選択部16によって選択された4つ以上の点のデータを用いて上記の係数a,b,cを算出してもよい。
このようにして、位置姿勢決定部17は、半径rの円形の平面である面要素の位置姿勢を示す位置姿勢情報として、当該面要素の中心と、当該面要素の法線ベクトル(a,b,c)とを示す情報を生成する。
(C−2.第2の処理例)
図7は、画像処理部による第2の処理例を示す図である。第2の処理例は、第1の処理例と比較して、選択部16の選択処理のみ異なる。
図7は、画像処理部による第2の処理例を示す図である。第2の処理例は、第1の処理例と比較して、選択部16の選択処理のみ異なる。
選択部16は、第1の処理例と同様に、条件(1)を満たす点Pb1のデータを選択する。さらに、選択部16は、条件(2)〜(4)の代わりに、以下の条件(5)(6)を満たす点Pb2,Pb3のデータを選択する。
条件(5):点Pb1からの距離が規定範囲内である。規定範囲は、面要素の半径rを用いて規定され、例えばr/2〜rである。
条件(6):点Pb1と点Pb2とを結ぶ線と点Pb1と点Pb3と結ぶ線とが平行ではない(典型的には直交する)。
条件(5):点Pb1からの距離が規定範囲内である。規定範囲は、面要素の半径rを用いて規定され、例えばr/2〜rである。
条件(6):点Pb1と点Pb2とを結ぶ線と点Pb1と点Pb3と結ぶ線とが平行ではない(典型的には直交する)。
特徴領域検出部15により、2次元画像から円形の平面である面要素全体が特徴領域として検出されている。そのため、特徴領域の重心とx,y座標値が一致する点Pb1は、面要素の中心となる。3次元点群において点Pb1からの距離が半径r以内である点は、面要素上の点となる。従って、条件(5)を満たす点Pb2,Pb3は面要素上の点となる。さらに、条件(6)を満たすため、点Pb1から点Pb2に向かうベクトルPb1Pb2と、点Pb1から点Pb3に向かうベクトルPb1Pb3とは直交する。そのため、ベクトルPb1Pb2とベクトルPb1Pb3とを用いて、面要素の法線ベクトル(a,b,c)を算出することができる。
(C−3.第3の処理例)
第3の処理例は、平面視矩形の薄板であるワークWの上面(面要素)の位置姿勢を決定する例である。この例では、記憶部11は、ワークWの上面を様々な視点から見た姿勢ごとのテンプレート11aと、面要素が矩形の平面であることを示す事前情報11bとを記憶している。テンプレート11aは、ワークWの上面の輪郭となるエッジ画素の位置を示す。
第3の処理例は、平面視矩形の薄板であるワークWの上面(面要素)の位置姿勢を決定する例である。この例では、記憶部11は、ワークWの上面を様々な視点から見た姿勢ごとのテンプレート11aと、面要素が矩形の平面であることを示す事前情報11bとを記憶している。テンプレート11aは、ワークWの上面の輪郭となるエッジ画素の位置を示す。
図8は、画像処理部による第3の処理例を示す図である。図8に示されるように、特徴領域検出部15は、2次元画像においてエッジ画素31を抽出する。特徴領域検出部15は、2次元画像から抽出したエッジ画素31とテンプレート11aとを照合することにより、2次元画像からワークWの上面である面要素全体を特徴領域30として検出する。
選択部16は、第1の処理例と同様に、条件(1)を満たす点Pb1のデータを選択する。さらに、選択部16は、3次元点群データから、特徴領域30に対する相対位置が以下の条件(7)(8)をそれぞれ満たす点Pb2,Pb3のデータを選択する。
条件(7):点Pb2を2次元画像に投影した特徴点Pa2は、特徴領域の1つの角から規定距離(矩形の面要素の対角線の長さの1/2よりも十分に小さい距離)だけ特徴点Pa1(重心)側に位置する。
条件(8):点Pb3を2次元画像に投影した点は、特徴領域において、特徴点Pa2に対応する角に隣り合う角から規定距離(矩形の面要素の対角線の長さの1/2よりも十分に小さい距離)だけ特徴点Pa1(重心)側に位置する。
条件(7):点Pb2を2次元画像に投影した特徴点Pa2は、特徴領域の1つの角から規定距離(矩形の面要素の対角線の長さの1/2よりも十分に小さい距離)だけ特徴点Pa1(重心)側に位置する。
条件(8):点Pb3を2次元画像に投影した点は、特徴領域において、特徴点Pa2に対応する角に隣り合う角から規定距離(矩形の面要素の対角線の長さの1/2よりも十分に小さい距離)だけ特徴点Pa1(重心)側に位置する。
このようにして、選択部16は、特徴領域30内の特徴点Pa1,Pa2,Pa3にそれぞれ対応する点Pb1,Pb2,Pb3のデータを選択する。特徴領域30は、2次元画像における面要素の領域である。そのため、点Pb1,Pb2,Pb3は、面要素上の点となる。
位置姿勢決定部17は、特徴領域30の重心である特徴点Pa1に対応する点Pb1を面要素の中心として決定する。
さらに、位置姿勢決定部17は、面要素が平面であるという事前情報に従って、第1の処理例と同様に、面要素の中心と、当該面要素の法線ベクトルとを決定する。
さらに、位置姿勢決定部17は、点Pb1から点Pb2に向かうベクトルPb1Pb2と、点Pb1から点Pb3に向かうベクトルPb1Pb3とを、面要素における2つの対角線の方向として決定する。対角線の方向は、矩形の面要素の姿勢を示す。
このようにして、位置姿勢決定部17は、矩形の平面である面要素の位置姿勢を示す位置姿勢情報として、当該面要素の中心と当該面要素の法線ベクトルと2つの対角線の方向とを示す情報を生成する。
なお、対角線の方向を特定する必要がない場合には、選択部16は、2次元画像から検出された特徴領域をラベリングし、特徴領域内であることを示すラベルを有する点から、同一直線上にない少なくとも3つの特徴点を選択してもよい。選択部16は、3次元点群データの中から、少なくとも3つの特徴点に対応する点のデータを選択すればよい。
(C−4.第4の処理例)
図9は、画像処理部による第4の処理例を示す図である。図9に示されるように、第4の処理例は、平面視矩形の基板であるワークWの上面(面要素)の位置姿勢を決定する例である。なお、ワークWは、トレー内において、上面40が水平面に略平行となるように積まれるものとする。
図9は、画像処理部による第4の処理例を示す図である。図9に示されるように、第4の処理例は、平面視矩形の基板であるワークWの上面(面要素)の位置姿勢を決定する例である。なお、ワークWは、トレー内において、上面40が水平面に略平行となるように積まれるものとする。
ワークWの上面40には、複数の電子部品41が搭載されている。図9に示す例では、複数の電子部品41は、ワークWの上面40の1つの辺付近に搭載される円柱形状の電子部品41aを含む。第4の処理例では、記憶部11は、ワークWの上面を様々な視点から見た姿勢ごとのテンプレート11aと、面要素が矩形の平面であることを示す事前情報11bとを記憶している。テンプレート11aは、ワークWの上面40の輪郭となるエッジ画素と、ワークWの上面40に搭載された各電子部品41の輪郭となるエッジ画素との位置を示す。
図9に示されるように、特徴領域検出部15は、2次元画像においてエッジ画素31を抽出する。特徴領域検出部15は、2次元画像から抽出したエッジ画素31とテンプレート11aとを照合することにより、2次元画像からワークWの上面40である面要素全体を特徴領域30として検出する。
テンプレート11aは、ワークWの上面40の輪郭となるエッジ画素だけでなく、各電子部品41の輪郭となるエッジ画素の位置も示す。そのため、特徴領域検出部15は、特徴領域30の姿勢を検出できる。すなわち、特徴領域検出部15は、特徴領域30の輪郭を構成する4つの辺のうち、円柱形状の電子部品41aに最も近い辺32の両端である特徴点Pa5,Pa6のx,y座標値を検出する。なお、辺32の両端の点のうち、電子部品41aに近い側の点を特徴点Pa5とし、電子部品41aに遠い側の点を特徴点Pa6とする。辺32は、特徴領域30の姿勢を代表する代表方向を表す。
ワークWの上面40の重心Gには電子部品41が搭載されている。そのため、上記の条件(1)を満たす点Pb1は、面要素である上面40上の点ではなく、電子部品41上の点となる。また、上記の条件(2)〜(4)を満たす点Pb2,Pb3も電子部品41上の点になる可能性がある。
そのため、第4の処理例では、選択部16は、3次元点群データから、特徴領域30に対する相対位置が以下の条件(9)〜(11)を満たす点Pb1,Pb2,Pb3のデータを選択する。
条件(9):点Pb1,Pb2,Pb3を2次元画像にそれぞれ投影した特徴点Pa1,Pa2,Pa3が特徴領域内である。
条件(10):特徴点Pa1,Pa2,Pa3と特徴点Pa5との距離がそれぞれ規定距離d1,d2,d3である。
条件(11):特徴点Pa5と特徴点Pa1とを通る直線と、特徴点Pa5,Pa6を通る直線(辺32を含む直線)とのなす角度が規定角度θ1である。特徴点Pa5と特徴点Pa2とを通る直線と、特徴点Pa5,Pa6を通る直線(辺32を含む直線)とのなす角度が規定角度θ2である。特徴点Pa5と特徴点Pa3とを通る直線と、特徴点Pa5,Pa6を通る直線(辺32を含む直線)とのなす角度が規定角度θ3である。
条件(9):点Pb1,Pb2,Pb3を2次元画像にそれぞれ投影した特徴点Pa1,Pa2,Pa3が特徴領域内である。
条件(10):特徴点Pa1,Pa2,Pa3と特徴点Pa5との距離がそれぞれ規定距離d1,d2,d3である。
条件(11):特徴点Pa5と特徴点Pa1とを通る直線と、特徴点Pa5,Pa6を通る直線(辺32を含む直線)とのなす角度が規定角度θ1である。特徴点Pa5と特徴点Pa2とを通る直線と、特徴点Pa5,Pa6を通る直線(辺32を含む直線)とのなす角度が規定角度θ2である。特徴点Pa5と特徴点Pa3とを通る直線と、特徴点Pa5,Pa6を通る直線(辺32を含む直線)とのなす角度が規定角度θ3である。
規定距離d1,d2,d3および規定角度θ1,θ2,θ3は、電子部品41の配置に応じて、特徴点Pa1,Pa2,Pa3が電子部品41の位置と重ならないように予め定められる。また、規定距離d2,d3および規定角度θ2,θ3は、特徴点Pa2と特徴点Pa3とが上面40の一方の対角線上であり、かつ、特徴点Pa2と特徴点Pa3との中点が特徴領域の重心Gに一致するように定められる。さらに、規定距離d1および規定角度θ1は、特徴点Pa1が上面40の他方の対角線上となるように定められる。
このように、選択部16は、特徴領域30内の特徴点Pa1,Pa2,Pa3にそれぞれ対応する点Pb1,Pb2,Pb3のデータを選択する。特徴点Pa1,Pa2,Pa3は、電子部品41の位置と重ならない位置である。そのため、点Pb1,Pb2,Pb3は、面要素である上面40上の点となる。
図10は、ワークWが傾斜したときの第4の処理例を示す図である。図10に示されるように、選択部16は、ワークWが傾斜したとしても、特徴領域30の姿勢を考慮して、電子部品41を重ならない特徴点Pa1,Pa2,Pa3を選択することができる。
位置姿勢決定部17は、面要素が平面であるという事前情報に従って、第1の処理例と同様に、面要素を含む平面を決定する。
さらに、位置姿勢決定部17は、決定した平面上において、点Pb2と点Pb3との中点Pb4を、面要素の中心として決定する。位置姿勢決定部17は、第1の処理例と同様に、面要素の法線ベクトル(a,b,c)を決定する。
さらに、位置姿勢決定部17は、点Pb2から点Pb3に向かうベクトルPb2Pb3と、点Pb1から面要素の中点Pb4に向かうベクトルPb1Pb4とを、面要素における2つの対角線の方向として決定する。対角線の方向は、矩形の面要素の姿勢を示す。
このようにして、位置姿勢決定部17は、矩形の平面である面要素の位置姿勢を示す位置姿勢情報として、当該面要素の中心と当該面要素の法線ベクトルと2つの対角線の方向とを示す情報を生成する。
なお、トレー内において、ワークWの上面40が水平面に対して傾斜する可能性がある場合、2次元画像において、矩形状の上面40は、射影変換された歪んだ四角形に見える。この場合、射影変換を考慮したテンプレートマッチングにより、ワークWのロールおよびピッチの回転角度を認識することができる。選択部16は、当該回転角度に応じて規定距離d1,d2,d3および規定角度θ1,θ2,θ3を適宜補正することにより、3次元点群データの中から、電子部品41の位置と重ならない位置の上面40上の点のデータを選択することができる。このように、トレー内において、ワークWの上面40が水平面に対して傾斜していても、画像処理装置100は、上面40の位置姿勢を決定することができる。
(C−5.第5の処理例)
面要素は、平面に限定されず、例えば曲率が一定である曲面であってもよい。第5の処理例は、球形のワークWの球面(面要素)の位置姿勢を決定する例である。この例では、記憶部11は、ワークWをある視点から見たときのテンプレート11aと、面要素が半径rの球面であることを示す事前情報11bとを記憶している。テンプレート11aは、ワークWをある視点から見たときの球面の稜線となるエッジ画素の位置を示す。
面要素は、平面に限定されず、例えば曲率が一定である曲面であってもよい。第5の処理例は、球形のワークWの球面(面要素)の位置姿勢を決定する例である。この例では、記憶部11は、ワークWをある視点から見たときのテンプレート11aと、面要素が半径rの球面であることを示す事前情報11bとを記憶している。テンプレート11aは、ワークWをある視点から見たときの球面の稜線となるエッジ画素の位置を示す。
図11は、画像処理部による第5の処理例を示す図である。図11に示されるように、特徴領域検出部15は、2次元画像においてエッジ画素31を抽出する。特徴領域検出部15は、2次元画像から抽出したエッジ画素31とテンプレート11aとを照合することにより、2次元画像からワークWの球面に含まれる特徴領域30を検出する。
選択部16は、3次元点群データの中から、2次元画像に投影したときに特徴領域30内に属する3つの点Pb1,Pb2,Pb3のデータを選択する。具体的には、選択部16は、3次元点群データの中から、特徴領域30内の特徴点Pa1,Pa2,Pa3にそれぞれ対応する点Pb1,Pb2,Pb3のデータを選択する。
位置姿勢決定部17は、面要素が半径rの球面であるという事前情報に従って、面要素の位置姿勢を決定する。球面を示す方程式は、
x2+y2+z2+ax+by+cz+d=0
で表される。
ここで、係数a,b,c,dと半径rとは、以下の式(1)を満たす。
a2+b2+c2−4d=4r2 ・・・式(1)。
x2+y2+z2+ax+by+cz+d=0
で表される。
ここで、係数a,b,c,dと半径rとは、以下の式(1)を満たす。
a2+b2+c2−4d=4r2 ・・・式(1)。
位置姿勢決定部17は、点Pb1(x1,y1,z1),点Pb2(x2,y2,z2),点Pb3(x3,y3,z3)の座標を上記の方程式にそれぞれ代入した以下の式(2)〜(4)と上記の式(1)との連立方程式を解くことにより、係数a,b,c,dを算出する。
x1 2+y1 2+z1 2+ax1+by1+cz1+d=0・・・式(2)
x2 2+y2 2+z2 2+ax2+by2+cz2+d=0・・・式(3)
x3 2+y3 2+z3 2+ax3+by3+cz3+d=0・・・式(4)。
x1 2+y1 2+z1 2+ax1+by1+cz1+d=0・・・式(2)
x2 2+y2 2+z2 2+ax2+by2+cz2+d=0・・・式(3)
x3 2+y3 2+z3 2+ax3+by3+cz3+d=0・・・式(4)。
このようにして、位置姿勢決定部17は、面要素である球面の方程式を示す位置姿勢情報を生成する。
位置姿勢決定部17は、例えば、位置姿勢情報で示される球面の最上点を対象点として決定する。位置姿勢決定部17は、位置姿勢情報で示される球面の方程式から算出される当該球面の中心点(−a/2,−b/2,−c/2)から対象点に向かうベクトルを、対象点における法線ベクトルとして決定すればよい。
なお、ワークWの半径rが既知ではない場合(事前情報11bに半径rが含まれない場合)、選択部16は、2次元画像に投影したときに特徴領域30内に属する4つの点を選択すればよい。位置姿勢決定部17は、当該4つの点の座標を代入した4つの連立方程式を解くことにより、係数a,b,c,dを算出できる。
(C−6.他の処理例)
上記の例では、特徴領域検出部15は、面要素の輪郭または稜線となるエッジ画素に基づいて、2次元画像から特徴領域を検出するものとした。しかしながら、面要素に特徴部分が存在する場合、特徴領域検出部15は、当該特徴部分に基づいて、2次元画像から面要素に含まれる特徴領域を検出してもよい。
上記の例では、特徴領域検出部15は、面要素の輪郭または稜線となるエッジ画素に基づいて、2次元画像から特徴領域を検出するものとした。しかしながら、面要素に特徴部分が存在する場合、特徴領域検出部15は、当該特徴部分に基づいて、2次元画像から面要素に含まれる特徴領域を検出してもよい。
図12は、面要素上の特徴部分の一例を示す図である。図12に示す例では、円柱形状のワークWの底面(面要素)42上に、特徴部分として4つのマーク43が印刷されている。特徴領域検出部15は、テンプレート11aを用いて、面要素上の4つのマーク43を検出し、4つのマーク43を頂点とする矩形を特徴領域として検出してもよい。
特徴部分としては、印刷されマークの他に、印刷された文字、ねじなどの部品、凹部または凸部、などが含まれる。
また、曲率が一定の面要素は、第5の処理例の球面の他に、円柱の側面であってもよい。円柱の側面上の点は、円柱の軸に下した垂線の長さが半径rに等しい。3次元空間における直線(軸)の方程式は、(x−x0)/a=(y−y0)/b=(z−z0)/cで表される。そのため、半径rが既知である場合(事前情報11bに半径rが含まれる場合)、選択部16は、3次元点群データの中から、面要素(円柱の側面)に含まれる特徴領域に関連付けられる6つの点を選択すればよい。これにより、位置姿勢決定部17は、上記の方程式のa,b,c,x0,y0,z0を算出できる。
面要素は、平面、球面、円柱の側面に限定されず、任意の形状であってもよい。この場合、画像処理装置100には、面要素のモデルデータを事前情報として予め登録しておく。位置姿勢決定部17は、登録されたモデルデータと、選択部16によって選択された点のデータとのマッチングを行なうことにより、面要素の位置姿勢を特定すればよい。
<D.処理の流れ>
図13は、制御システムにおける処理の流れを示すフローチャートである。まず、撮像装置8は、所定の濃淡パターンの照明光が照射された状態(3次元撮像モード)で、視野領域を撮像する(ステップS1)。画像処理装置100のCPU110は、ステップS1で得られた画像に基づいて、撮像装置8の視野領域に存在する物体表面上の点のx,y,x座標値を示す3次元点群データを生成する(ステップS2)。
図13は、制御システムにおける処理の流れを示すフローチャートである。まず、撮像装置8は、所定の濃淡パターンの照明光が照射された状態(3次元撮像モード)で、視野領域を撮像する(ステップS1)。画像処理装置100のCPU110は、ステップS1で得られた画像に基づいて、撮像装置8の視野領域に存在する物体表面上の点のx,y,x座標値を示す3次元点群データを生成する(ステップS2)。
次に、撮像装置8は、濃淡パターンの照明光が照射されていない状態(2次元撮像モード)で、視野領域を撮像する(ステップS3)。CPU110は、ステップS2で得られた2次元画像から、ワークWの面要素に含まれる特徴領域を検出する(ステップS4)。
CPU110は、ステップS2で生成された3次元点群データの中から、特徴領域に関連付けられた少なくとも3つの点のデータを選択する(ステップS5)。
CPU110は、選択された少なくとも3つの点のデータと面要素の形状を示す事前情報11bとに基づいて、面要素の位置姿勢(たとえば、面要素上の対象点、および、対象点における面要素に対する法線ベクトル)を決定する(ステップS6)。
CPU110は、面要素の位置姿勢に基づいて、ロボット300に対する動作指示を生成する(ステップS7)。生成された動作指示に従って、ロボットコントローラ200は、ロボットの動作を制御する。これにより、制御システムSYSの処理が終了する。
<E.作用・効果>
以上のように、本実施の形態に係る画像処理装置100は、ワークWの位置姿勢を検出する。画像処理装置100は、特徴領域検出部15と、選択部16と、位置姿勢決定部17とを備える。特徴領域検出部15は、ワークWを撮像することにより得られた2次元画像から、ワークWの表面を構成する1つの面要素に含まれる特徴領域を検出する。選択部16は、ワークWを3次元計測することにより得られた3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを選択する。位置姿勢決定部17は、少なくとも3つの点のデータと面要素の形状に関する事前情報11bとを用いて、面要素の位置姿勢に関する位置姿勢情報を決定する。
以上のように、本実施の形態に係る画像処理装置100は、ワークWの位置姿勢を検出する。画像処理装置100は、特徴領域検出部15と、選択部16と、位置姿勢決定部17とを備える。特徴領域検出部15は、ワークWを撮像することにより得られた2次元画像から、ワークWの表面を構成する1つの面要素に含まれる特徴領域を検出する。選択部16は、ワークWを3次元計測することにより得られた3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを選択する。位置姿勢決定部17は、少なくとも3つの点のデータと面要素の形状に関する事前情報11bとを用いて、面要素の位置姿勢に関する位置姿勢情報を決定する。
2次元画像からの特徴領域の検出は、例えば、2次元のテンプレートを用いたテンプレートマッチングによって行なわれる。2次元のテンプレートマッチングで用意すべきテンプレートの数は、3次元のテンプレートマッチングで用意すべきテンプレートの数よりも少ない。そのため、マッチングに要する処理時間を抑制できる。
さらに、ワークWの位置姿勢を特定する面要素の位置姿勢は、3次元点群データの中から選択された少なくとも3つの点に基づいて決定される。当該少なくとも3つの点は、2次元画像から検出された特徴領域に関連付けられた点である。そのため、3次元点群データから当該少なくとも3つの点のデータの選択に要する時間は短い。ワークWの位置姿勢の検出時間の増大を抑制することができる。
また、2次元画像からの特徴領域の検出には、当該特徴領域に対応する面要素に形成された模様、当該面要素と当該面要素の周囲との境界であるエッジなどを利用することができる。そのため、3次元的な特徴の少ない形状(例えば薄板)のワークWであっても、2次元画像からの特徴領域を精度良く検出できる。
少なくとも3つの点のデータは、特徴領域に対する相対位置が所定の条件を満たす少なくとも1つのの第1点のデータを含む。
これにより、特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点は、面要素の位置を特定するために利用できる。
例えば、上記の条件(1)(3)(7)(8)(10)は、少なくとも1つの第1点を特徴領域に投影した点と特徴領域の位置を代表する代表点との距離を規定する条件である。代表点は、例えば、特徴領域の重心、角、辺の中点などである。これにより、少なくとも1つの第1点は、面要素の位置を特定するために利用できる。
上記の条件(11)は、少なくとも1つの第1点および代表点を通る直線と特徴領域の姿勢を代表する代表方向とのなす角度を規定する条件である。代表方向は、例えば、矩形状の特徴領域の辺の方向である。これにより、特徴領域の姿勢を考慮して、3次元点群データから点を選択することができる。
少なくとも3つの点のデータは、上記の少なくとも1つの第1点のデータの他に、少なくとも1つの第2点のデータを含む。上記の条件(5)では、少なくとも1つの第2点と少なくとも1つの第1点との距離が規定範囲内となる。これにより、特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点に基づいて、3次元点群データから第2点を選択することができる。
上記の条件(2)(9)に従って選択されることにより、少なくとも3つの点のデータは、3次元点群データで示される各点を2次元画像に投影したときに特徴領域内に属する点のデータである。これにより、3次元点群データの中から、面要素に含まれる点のデータを容易に選択できる。
特徴領域検出部15は、面要素に存在する特徴部分および2次元画像における面要素の輪郭の少なくとも一方を用いて特徴領域を検出する。これにより、特徴領域検出部15は、テンプレートマッチングなどの公知の技術を用いて容易に特徴領域を検出できる。
面要素は、平面または曲率が一定である曲面である。これにより、面要素は、3次元空間における方程式によって表される。そのため、位置姿勢決定部17は、方程式に含まれる係数を求めることにより、面要素の位置姿勢を決定することができる。
2次元画像は、パターン光が照射されていない状態で撮像装置8が撮像することにより得られる。3次元点群データは、パターン光が照射されている状態で撮像装置8が撮像することにより得られる画像から生成される。これにより、撮像装置8の視野領域内の任意の1点の2次元画像におけるx,y座標値は、3次元点群データにおける当該1点のデータのx,y座標値とそれぞれ一致する。したがって、選択部16は、3次元点群データから、特徴領域に関連付けられた少なくとも3つの点のデータを容易に選択できる。
位置姿勢情報は、面要素内の1つの点における法線ベクトルを示してもよい。これにより、例えばワークWをピッキングするロボットの動作を指示するために、法線ベクトルを利用することができる。
画像処理装置100は、法線ベクトルに基づいて、ワークWをピッキングするロボットへの動作指示を生成する動作指示生成部18をさらに備える。これにより、ロボットは、ワークWの位置姿勢に応じたピッキング動作を行なうことができる。
<F.変形例>
上記の説明では、照明装置7、撮像装置8および画像処理装置100が別体として構成されるものとした。しかしながら、照明装置7、撮像装置8および画像処理装置100が視覚センサ装置として一体化されてもよい。この場合、照明装置7および撮像装置8は、視覚センサ装置における照明部および撮像部としてそれぞれ動作する。
上記の説明では、照明装置7、撮像装置8および画像処理装置100が別体として構成されるものとした。しかしながら、照明装置7、撮像装置8および画像処理装置100が視覚センサ装置として一体化されてもよい。この場合、照明装置7および撮像装置8は、視覚センサ装置における照明部および撮像部としてそれぞれ動作する。
また、上記の説明では、動作指示生成部18は、画像処理装置100に備えられるものとした。しかしながら、動作指示生成部18は、画像処理装置100の外部の装置(例えばPLC(プログラマブルロジックコントローラ)に備えられていてもよい。
<G.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
以上のように、本実施の形態および変形例は以下のような開示を含む。
(構成1)
対象物(W)の位置姿勢を検出する装置(100)であって、
前記対象物(W)を撮像することにより得られた2次元画像から、前記対象物(W)の表面を構成する1つの面要素に含まれる特徴領域を検出するための検出部(15)と、
前記対象物(W)を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するための選択部(16)と、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するための位置姿勢決定部(17)とを備える、装置(100)。
対象物(W)の位置姿勢を検出する装置(100)であって、
前記対象物(W)を撮像することにより得られた2次元画像から、前記対象物(W)の表面を構成する1つの面要素に含まれる特徴領域を検出するための検出部(15)と、
前記対象物(W)を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するための選択部(16)と、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するための位置姿勢決定部(17)とを備える、装置(100)。
(構成2)
前記少なくとも3つの点のデータは、前記特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点のデータを含む、構成1に記載の装置(100)。
前記少なくとも3つの点のデータは、前記特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点のデータを含む、構成1に記載の装置(100)。
(構成3)
前記所定の条件は、前記少なくとも1つの第1点を前記特徴領域に投影した点と前記特徴領域の位置を代表する代表点との距離を規定する条件である、構成2に記載の装置(100)。
前記所定の条件は、前記少なくとも1つの第1点を前記特徴領域に投影した点と前記特徴領域の位置を代表する代表点との距離を規定する条件である、構成2に記載の装置(100)。
(構成4)
前記所定の条件は、前記少なくとも1つの第1点を前記特徴領域に投影した点および前記代表点を通る直線と前記特徴領域の姿勢を代表する代表方向とのなす角度を規定する条件である、構成3に記載の装置(100)。
前記所定の条件は、前記少なくとも1つの第1点を前記特徴領域に投影した点および前記代表点を通る直線と前記特徴領域の姿勢を代表する代表方向とのなす角度を規定する条件である、構成3に記載の装置(100)。
(構成5)
前記少なくとも3つの点のデータは、前記少なくとも1つの第1点のデータの他に、少なくとも1つの第2点のデータを含み、
前記少なくとも1つの第2点と前記少なくとも1つの第1点との距離が規定範囲内である、構成2から4のいずれかに記載の装置(100)。
前記少なくとも3つの点のデータは、前記少なくとも1つの第1点のデータの他に、少なくとも1つの第2点のデータを含み、
前記少なくとも1つの第2点と前記少なくとも1つの第1点との距離が規定範囲内である、構成2から4のいずれかに記載の装置(100)。
(構成6)
前記少なくとも3つの点のデータは、前記3次元点群データで示される各点を前記2次元画像に投影したときに前記特徴領域内に属する点のデータである、構成1に記載の装置(100)。
前記少なくとも3つの点のデータは、前記3次元点群データで示される各点を前記2次元画像に投影したときに前記特徴領域内に属する点のデータである、構成1に記載の装置(100)。
(構成7)
前記検出部(15)は、前記面要素に存在する特徴部分および前記2次元画像における前記面要素の輪郭の少なくとも一方を用いて前記特徴領域を検出する、構成1から6のいずれかに記載の装置(100)。
前記検出部(15)は、前記面要素に存在する特徴部分および前記2次元画像における前記面要素の輪郭の少なくとも一方を用いて前記特徴領域を検出する、構成1から6のいずれかに記載の装置(100)。
(構成8)
前記面要素は、平面または曲率が一定である曲面である、構成1から7のいずれかに記載の装置(100)。
前記面要素は、平面または曲率が一定である曲面である、構成1から7のいずれかに記載の装置(100)。
(構成9)
前記対象物を撮像するための撮像部(8)と、
前記対象物に予め定められたパターン光を照射する照射部(7)とをさらに備え、
前記2次元画像は、前記パターン光が照射されていない状態で前記撮像部(8)が撮像することにより得られ、
前記3次元点群データは、前記パターン光が照射されている状態で前記撮像部が撮像することにより得られる画像から生成される、構成1から8のいずれかに記載の装置(100)。
前記対象物を撮像するための撮像部(8)と、
前記対象物に予め定められたパターン光を照射する照射部(7)とをさらに備え、
前記2次元画像は、前記パターン光が照射されていない状態で前記撮像部(8)が撮像することにより得られ、
前記3次元点群データは、前記パターン光が照射されている状態で前記撮像部が撮像することにより得られる画像から生成される、構成1から8のいずれかに記載の装置(100)。
(構成10)
前記位置姿勢情報は、前記面要素内の1つの点における法線ベクトルを示す、構成1から9のいずれかに記載の装置(100)。
前記位置姿勢情報は、前記面要素内の1つの点における法線ベクトルを示す、構成1から9のいずれかに記載の装置(100)。
(構成11)
前記法線ベクトルに基づいて、前記対象物をピッキングするロボットへの動作指示を生成する動作指示生成部(19)をさらに備える、構成10に記載の装置(100)。
前記法線ベクトルに基づいて、前記対象物をピッキングするロボットへの動作指示を生成する動作指示生成部(19)をさらに備える、構成10に記載の装置(100)。
(構成12)
対象物(W)の位置姿勢を検出する方法であって、
前記対象物(W)を撮像することにより得られた2次元画像から前記対象物(W)の表面を構成する1つの面要素に含まれる特徴領域を検出するステップと、
前記対象物(W)を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するステップと、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するステップとを備える、方法。
対象物(W)の位置姿勢を検出する方法であって、
前記対象物(W)を撮像することにより得られた2次元画像から前記対象物(W)の表面を構成する1つの面要素に含まれる特徴領域を検出するステップと、
前記対象物(W)を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するステップと、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するステップとを備える、方法。
(構成13)
対象物(W)の位置姿勢を検出する方法をコンピュータに実行させるプログラムであって、
前記方法は、
前記対象物(W)を撮像することにより得られた2次元画像から前記対象物(W)の表面を構成する1つの面要素に含まれる特徴領域を検出するステップと、
前記対象物(W)を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するステップと、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するステップとを備える、プログラム。
対象物(W)の位置姿勢を検出する方法をコンピュータに実行させるプログラムであって、
前記方法は、
前記対象物(W)を撮像することにより得られた2次元画像から前記対象物(W)の表面を構成する1つの面要素に含まれる特徴領域を検出するステップと、
前記対象物(W)を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するステップと、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するステップとを備える、プログラム。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
7 照明装置、8 撮像装置、10 撮像制御部、11 記憶部、11a テンプレート、11b 事前情報、12 画像処理部、13 画像取得部、14 画像生成部、15 特徴領域検出部、16 選択部、17 位置姿勢決定部、18 動作指示生成部、19 通信部、30 特徴領域、31 エッジ画素、32 辺、40 上面、41,41a 電子部品、42 底面、43 マーク、100 画像処理装置、102 ディスプレイ、104 マウス、106 メモリカード、110 CPU、112 メインメモリ、114 ハードディスク、116 カメラインターフェイス、116a 画像バッファ、118 入力インターフェイス、120 表示コントローラ、122 プロジェクタインターフェイス、124 通信インターフェイス、126 データリーダ/ライタ、128 バス、200 ロボットコントローラ、300 ロボット、SYS 制御システム、W ワーク。
Claims (13)
- 対象物の位置姿勢を検出する装置であって、
前記対象物を撮像することにより得られた2次元画像から、前記対象物の表面を構成する1つの面要素に含まれる特徴領域を検出するための検出部と、
前記対象物を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するための選択部と、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するための位置姿勢決定部とを備える、装置。 - 前記少なくとも3つの点のデータは、前記特徴領域に対する相対位置が所定の条件を満たす少なくとも1つの第1点のデータを含む、請求項1に記載の装置。
- 前記所定の条件は、前記少なくとも1つの第1点を前記特徴領域に投影した点と前記特徴領域の位置を代表する代表点との距離を規定する条件である、請求項2に記載の装置。
- 前記所定の条件は、前記少なくとも1つの第1点を前記特徴領域に投影した点および前記代表点を通る直線と前記特徴領域の姿勢を代表する代表方向とのなす角度を規定する条件である、請求項3に記載の装置。
- 前記少なくとも3つの点のデータは、前記少なくとも1つの第1点のデータの他に、少なくとも1つの第2点のデータを含み、
前記少なくとも1つの第2点と前記少なくとも1つの第1点との距離が規定範囲内である、請求項2から4のいずれか1項に記載の装置。 - 前記少なくとも3つの点のデータは、前記3次元点群データで示される各点を前記2次元画像に投影したときに前記特徴領域内に属する点のデータである、請求項1に記載の装置。
- 前記検出部は、前記面要素に存在する特徴部分および前記2次元画像における前記面要素の輪郭の少なくとも一方を用いて前記特徴領域を検出する、請求項1から6のいずれか1項に記載の装置。
- 前記面要素は、平面または曲率が一定である曲面である、請求項1から7のいずれか1項に記載の装置。
- 前記対象物を撮像するための撮像部と、
前記対象物に予め定められたパターン光を照射する照射部とをさらに備え、
前記2次元画像は、前記パターン光が照射されていない状態で前記撮像部が撮像することにより得られ、
前記3次元点群データは、前記パターン光が照射されている状態で前記撮像部が撮像することにより得られる画像から生成される、請求項1から8のいずれか1項に記載の装置。 - 前記位置姿勢情報は、前記面要素内の1つの点における法線ベクトルを示す、請求項1から9のいずれか1項に記載の装置。
- 前記法線ベクトルに基づいて、前記対象物をピッキングするロボットへの動作指示を生成する動作指示生成部をさらに備える、請求項10に記載の装置。
- 対象物の位置姿勢を検出する方法であって、
前記対象物を撮像することにより得られた2次元画像から前記対象物の表面を構成する1つの面要素に含まれる特徴領域を検出するステップと、
前記対象物を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するステップと、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するステップとを備える、方法。 - 対象物の位置姿勢を検出する方法をコンピュータに実行させるプログラムであって、
前記方法は、
前記対象物を撮像することにより得られた2次元画像から前記対象物の表面を構成する1つの面要素に含まれる特徴領域を検出するステップと、
前記対象物を3次元計測することにより得られた3次元点群データから、前記特徴領域に関連付けられた少なくとも3つの点のデータを選択するステップと、
前記少なくとも3つの点のデータと前記面要素の形状に関する事前情報とを用いて、前記面要素の位置姿勢に関する位置姿勢情報を決定するステップとを備える、プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019085168A JP6984633B2 (ja) | 2019-04-26 | 2019-04-26 | 対象物の位置姿勢を検出する装置、方法およびプログラム |
EP20796398.4A EP3961149A4 (en) | 2019-04-26 | 2020-03-31 | DEVICE, METHOD AND PROGRAM FOR DETECTING THE POSITION AND ORIENTATION OF AN OBJECT |
PCT/JP2020/014781 WO2020217878A1 (ja) | 2019-04-26 | 2020-03-31 | 対象物の位置姿勢を検出する装置、方法およびプログラム |
US17/600,662 US20220180552A1 (en) | 2019-04-26 | 2020-03-31 | Device, method, and program for detecting position and orientation of target object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019085168A JP6984633B2 (ja) | 2019-04-26 | 2019-04-26 | 対象物の位置姿勢を検出する装置、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020180914A JP2020180914A (ja) | 2020-11-05 |
JP6984633B2 true JP6984633B2 (ja) | 2021-12-22 |
Family
ID=72942067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019085168A Active JP6984633B2 (ja) | 2019-04-26 | 2019-04-26 | 対象物の位置姿勢を検出する装置、方法およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220180552A1 (ja) |
EP (1) | EP3961149A4 (ja) |
JP (1) | JP6984633B2 (ja) |
WO (1) | WO2020217878A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230100238A1 (en) * | 2019-10-11 | 2023-03-30 | Toyota Motor Europe | Methods and systems for determining the 3d-locations, the local reference frames and the grasping patterns of grasping points of an object |
JP7365567B2 (ja) * | 2020-11-12 | 2023-10-20 | オムロン株式会社 | 計測システム、計測装置、計測方法及び計測プログラム |
JP7502641B2 (ja) | 2020-11-17 | 2024-06-19 | 株式会社デンソーウェーブ | 認識システム |
JP7456521B2 (ja) | 2020-12-25 | 2024-03-27 | 日本電気株式会社 | 物体認識装置、物体認識方法、プログラム |
JP7549221B2 (ja) | 2021-02-26 | 2024-09-11 | 株式会社デンソーウェーブ | 認識システム |
CN114750147B (zh) * | 2022-03-10 | 2023-11-24 | 深圳甲壳虫智能有限公司 | 机器人的空间位姿确定方法、装置和机器人 |
CN116399241B (zh) * | 2023-06-07 | 2023-08-15 | 武汉工程大学 | 一种贴片式电感几何参数测量方法及系统 |
CN118552603B (zh) * | 2024-07-30 | 2024-09-27 | 泉州装备制造研究所 | 古建筑三维模型中任意两点的测距方法、系统及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3426002B2 (ja) * | 1993-09-20 | 2003-07-14 | 三菱電機株式会社 | 物体認識装置 |
JP5924862B2 (ja) * | 2010-12-15 | 2016-05-25 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP6425299B2 (ja) * | 2013-12-10 | 2018-11-21 | 国立大学法人 筑波大学 | 手指動作検出装置、手指動作検出方法、手指動作検出プログラム、及び仮想物体処理システム |
JP6426968B2 (ja) * | 2014-10-08 | 2018-11-21 | キヤノン株式会社 | 情報処理装置およびその方法 |
JP6040264B2 (ja) * | 2015-02-13 | 2016-12-07 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
JP2017042897A (ja) | 2015-08-28 | 2017-03-02 | セイコーエプソン株式会社 | ロボットシステム、ロボット、及びロボット制御装置 |
US10192345B2 (en) * | 2016-07-19 | 2019-01-29 | Qualcomm Incorporated | Systems and methods for improved surface normal estimation |
US10109055B2 (en) * | 2016-11-21 | 2018-10-23 | Seiko Epson Corporation | Multiple hypotheses segmentation-guided 3D object detection and pose estimation |
-
2019
- 2019-04-26 JP JP2019085168A patent/JP6984633B2/ja active Active
-
2020
- 2020-03-31 US US17/600,662 patent/US20220180552A1/en active Pending
- 2020-03-31 WO PCT/JP2020/014781 patent/WO2020217878A1/ja unknown
- 2020-03-31 EP EP20796398.4A patent/EP3961149A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3961149A4 (en) | 2023-05-31 |
WO2020217878A1 (ja) | 2020-10-29 |
US20220180552A1 (en) | 2022-06-09 |
EP3961149A1 (en) | 2022-03-02 |
JP2020180914A (ja) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6984633B2 (ja) | 対象物の位置姿勢を検出する装置、方法およびプログラム | |
CN106595528B (zh) | 一种基于数字散斑的远心显微双目立体视觉测量方法 | |
JP6427972B2 (ja) | ロボット、ロボットシステム及び制御装置 | |
US9025857B2 (en) | Three-dimensional measurement apparatus, measurement method therefor, and computer-readable storage medium | |
JP5746477B2 (ja) | モデル生成装置、3次元計測装置、それらの制御方法及びプログラム | |
JP6271953B2 (ja) | 画像処理装置、画像処理方法 | |
JP5602392B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP7331527B2 (ja) | ロボットの動作を決定する装置、方法およびプログラム | |
US11398085B2 (en) | Systems, methods, and media for directly recovering planar surfaces in a scene using structured light | |
US20210291376A1 (en) | System and method for three-dimensional calibration of a vision system | |
US11580667B2 (en) | Systems and methods for characterizing object pose detection and measurement systems | |
JP7180783B2 (ja) | コンピュータビジョンシステムのキャリブレーション方法及びこれに用いる基準立体物 | |
JP6973444B2 (ja) | 制御システム、情報処理装置および制御方法 | |
CN114494316A (zh) | 角点标记方法、参数标定方法、介质及电子设备 | |
JP7439410B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP7099052B2 (ja) | シミュレーション装置、シミュレーション方法およびプログラム | |
WO2022209166A1 (ja) | 情報処理装置、情報処理方法、及び較正用ターゲット | |
JP7502343B2 (ja) | 画像処理システム | |
CN113483669B (zh) | 一种基于立体靶标的多传感器位姿标定方法及装置 | |
JP7003455B2 (ja) | テンプレート作成装置、物体認識処理装置、テンプレート作成方法及びプログラム | |
JP2011059009A (ja) | 位置計測対象物、位置計測システム、位置計測用演算装置およびプログラム | |
JP5938201B2 (ja) | 位置姿勢計測装置、その処理方法及びプログラム | |
JP7327484B2 (ja) | テンプレート作成装置、物体認識処理装置、テンプレート作成方法、物体認識処理方法及びプログラム | |
Mark | A Monocular Vision-based System Using Markers for a Real-Time 6D Pose Estimation of a Trailer | |
Lang et al. | Active object modeling with VIRTUE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201215 |
|
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: 20211026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6984633 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |