JP6758903B2 - 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法 - Google Patents

情報処理装置、情報処理方法、プログラム、システム、および物品製造方法 Download PDF

Info

Publication number
JP6758903B2
JP6758903B2 JP2016093306A JP2016093306A JP6758903B2 JP 6758903 B2 JP6758903 B2 JP 6758903B2 JP 2016093306 A JP2016093306 A JP 2016093306A JP 2016093306 A JP2016093306 A JP 2016093306A JP 6758903 B2 JP6758903 B2 JP 6758903B2
Authority
JP
Japan
Prior art keywords
information
distance
information processing
processing
processing unit
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
JP2016093306A
Other languages
English (en)
Other versions
JP2017201276A (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 JP2016093306A priority Critical patent/JP6758903B2/ja
Priority to US15/586,718 priority patent/US20170323456A1/en
Priority to EP17169571.1A priority patent/EP3242108A1/en
Publication of JP2017201276A publication Critical patent/JP2017201276A/ja
Application granted granted Critical
Publication of JP6758903B2 publication Critical patent/JP6758903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders

Description

本発明は、情報処理装置、情報処理方法、プログラム、システム、および物品製造方法に関する。
パレットもしくはコンテナなどの容器または領域に配置されたワークなどの対象物(物体)を撮像し、対象物を含む計測対象の画像や距離計測値等の情報を基に、対象物の位置および姿勢を高精度に推定する情報処理装置(認識装置)が知られている。対象物の位置および姿勢の情報は、ロボットの制御部に送信され、ロボットにより部品の供給や組立等に利用されうる。そのようなロボットを含むシステムでは、容器または領域において対象物が空となったかの判定(空判定ともいう)を行う機能を備えているのが好ましい。空判定の処理は、対象物を配置しうる面と距離計測点との間の距離を求め、その距離の総和が閾値を超えない場合に対象物が空であると判定しうる(特許文献1)。
特開2015−197312号公報
特許文献1の情報処理装置は、対象物を配置しうる面(例えば容器の底面)を単一の平面としている。しかしながら、当該面は、単一の平面であるとは限らない。例えば、対象物が容器内の中央部に配置されるように、側壁が中央部に向かって傾斜しているようなすり鉢状の容器が使用されうる。また、対象物が滑らないようにする滑り止めの構造として突起物等を底面等の内面に備えた容器も使用されうる。このような容器を用いて空判定の処理を実施しようとすると、距離計測点との間の距離を得るところの面(基準面ともいう)を一意に設定できない。仮に、1つの基準面を選択してしまうと、選択した基準面によって空判定の結果が変わってしまう。また、基準面以外の容器の面に関する距離計測点が基準面から離れたものとして認識される。その結果、対象物が容器の中にないのに空であるとの判定ができない可能性がある。
本発明は、例えば、物体を配置しうる領域に当該物体がないか判定するのに有利な情報処理装置を提供することを目的とする。
本発明の一つの側面は、物体の位置および姿勢の認識のための処理を行う情報処理装置であって、
前記物体の距離の情報を得る処理を行う第1処理部と、
前記物体が配置されうる領域を表す複数の面それぞれと、前記第1処理部により前記情報を得られた各点との間の距離の最小値の統計量に基づいて、前記物体が前記領域にないか判定する処理を行う第2処理部と、
を有することを特徴とする情報処理装置である。
本発明によれば、例えば、物体を配置しうる領域に当該物体がないか判定するのに有利な情報処理装置を提供することができる。
情報処理装置を含むシステムの構成例を示す図 情報処理装置の構成例を示す図 実施形態1に係るパレットおよび空判定処理を説明するための図 情報処理装置の処理の流れを例示する図 実施形態2に係るパレットおよび空判定処理を説明するための図 各距離計測点に関する最近傍距離を得る処理の流れを例示する図
以下、添付図面を参照して本発明の実施形態を説明する。なお、実施形態を説明するための全図を通して、原則として(断りのない限り)、同一の部材等には同一の符号を付し、その繰り返しの説明は省略する。
〔実施形態1〕
図1は、情報処理装置を含むシステムの構成例を示す図である。図1において、情報処理装置1は、部品2(ワークまたは物体ともいう)と、それらを収容する為の容器としてのパレット3とを含む計測対象との距離を計測する距離計測装置10(単に計測装置ともいう)を含みうる。また、情報処理装置1は、距離計測装置10の出力に基づいて情報処理を行う情報処理部20を含みうる。また、情報処理装置1は、距離計測装置10および情報処理部20の動作の制御や解析処理を行うコントローラ30をも含みうる。距離計測装置10は、3次元情報取得部11(単に計測部ともいう)と距離取得部12とを含み、要求される計測精度によってはデータ修正部13も含みうる。3次元情報取得部11は、計測対象を測定し、計測データを取得するデバイスであり、距離取得部12は、当該計測データに基づいて計測対象の距離情報(3次元情報)を取得するデバイスである。3次元情報取得部11の構成は、例えば、いわゆるTOF(Time of Flight)センサを含むものとしうる。または、3次元情報取得部11は、2台のカメラ(撮像部)を含むステレオカメラを含むものとしうる。または、3次元情報取得部11は、パターン投影部(プロジェクター)とカメラ(撮像部)とを含んで構成され、パターンを投影された対象物の撮像結果(画像データ)を取得するものとしうる。投影パターンは、空間符号化法や位相シフト法によるものが用いられうる。または、3次元情報取得部11は、スリット光投影部と撮像部とを含み、光切断法にしたがったものとしうる。また、3次元情報取得部11は、1次元または2次元の情報を取得するデバイス(撮像部)を含み、デバイスと対象物との間の相対的なスキャンによりデータを取得するものとしうる。
距離取得部12(第1処理部を構成しうる)は、3次元情報取得部11に付帯するか、コントローラ30の内部に存在するかしうるものであり、CPUなどの処理部を含んで構成されうる。距離取得部12は、3次元情報取得部11の計測方法に対応した解析方法で計測データに基づいて3次元情報(距離情報)を得る。データ修正部13(距離取得部12とともに第1処理部を構成しうる)は、距離取得部12により得られた3次元情報の補正を行ったり、信頼性が低い距離計測点の除外を行ったりする。当該補正は、例えば、3次元情報取得部に含まれている光学系の収差に係る情報に基づく計測データの補正を含む。また、距離計測点の除外は、例えば、得られた距離計測値が周囲の距離計測値に対して大きく(閾値を超えて)ずれている距離計測点を後続の認識処理から除外することを含みうる。なお、3次元情報は、距離計測装置10内の基準点からの距離(距離画像)の情報としてもよいし、3次元座標を表す情報であってもよい。以上の距離計測装置10における動作の制御や解析処理は、コントローラ30によって行われうる。
コントローラ30は、部品2を把持するためのロボット4と接続されている。情報処理部20は、距離計測装置10により得られた3次元情報に基づいて解析を行い、その結果をロボット4に通知(送信)する機能を有する。情報処理部20は、空判定部21(第2処理部を構成しうる)と位置姿勢取得部22とを含みうる。
空判定部21は、パレット3(容器)内の領域のような物品2が配置されうる領域に部品2がない(残存していない又は空である)かの判定(空判定ともいう)を行う。当該領域に部品がない(パレットが空である)場合には、情報処理装置1は、後述の表示部を介して、その旨をユーザに通知し、部品2の補充を促す。なお、容器が存在せず、部品2が床や台の上の領域に直接配置されている場合は、計測(撮像)視野内の当該領域の面を容器内の(底)面と同様に扱って以下の処理を行えば、空判定を行うことができる。
位置姿勢取得部22は、例えば、部品2の距離計測値に対して部品2の形状情報をフィッティングさせることにより、部品2の位置および姿勢(例えば並進3自由度および回転3自由度に関する情報(座標))を得る。当該フィッティングにより位置および姿勢を精度良く推定することができ、よって、ロボットによる部品に対する把持等の処理を高精度に行うことができる。さらに、部品2の位置および姿勢に基づいて、部品を処理するロボット(ハンド)の位置および姿勢を得てもよい。また、ロボット(ハンド)の形状情報に基づいて、部品2の周囲のものに干渉せずにロボット4が部品2処理することができるかの判定を行ってもよい。なお、ロボットは、例えば、磁力または吸着により部品を保持するハンドを有しうる。また、ロボットは、複数の指の動きにより部品を保持するハンドを有しうる。ロボットハンドは、ロボットアームに取り付け可能なエンドエフェクタであれば、いかなるものであってもよい。
コントローラ30は、距離取得部12およびデータ修正部13ならびに情報処理部20を含みうるものであり、情報処理に必要なデータの取得や情報処理の結果の通知(送信)を行いうる。コントローラ30は、例えば、情報処理部20で得られた結果をロボット4(の制御部)に通知する機能も有する。
図2は、情報処理装置の構成例を示す図である。なお、情報処理装置は、図2に示されるパーソナルコンピュータ(PC)のような汎用システムの構成に限られず、例えば、組み込みシステムの構成やネットワークを介した分散システムの構成もとりうる。図2において、CPU201は、プログラムにしたがって、情報処理やデバイスの制御を行う。ROM202は、不揮発性のメモリで、情報処理装置の初期動作に必要なプログラムを記憶している。RAM203および2次記憶部204は、CPU201が使用する情報220を記憶する。この情報220は、例えば、OS221、アプリケーション222、モジュール223、およびデータ224を含みうる。データ解析部205は、距離取得部12や、空判定部21、位置姿勢取得部22等での処理の少なくとも一部のための専用ハードウェア回路である。なお、データ解析部205を備えず、CPU201で動作させるプログラムにより全ての処理を行う構成とすることもできる。しかし、そのようにすると、コストの点では有利となりうるが、処理速度の点では不利となりうる。
以上のハードウェアデバイス201ないし205は、バス206を介して情報をやり取りしうる。当該バス206には、計測制御部207、ディスプレイ208、キーボード209、マウス210、I/Oデバイス211が接続されている。計測制御部207は、3次元情報取得11に接続して計測タイミングの制御等を行う専用I/Fを備える。ディスプレイ208は、処理の結果等の情報を表示しうる。ディスプレイ208は、例えば、空判定の結果(部品が空になったこと)を表示しうる。なお、当該表示は、視覚に係るものに限定されず、他の感覚(例えば聴覚)に係るものであってもよい。キーボード209およびマウス210は、ユーザからの指示を入力するのに用いられうる。I/Oデバイス211は、新規データや登録用データを取り込むのに用いられうる。本実施形態は、入力データとして3次元情報を必要とし、よって、インプットデバイスとして、3次元情報取得部11を含みうる。3次元情報取得部11は、3次元情報の取得のためのデータまたは当該取得のための補助的データとして2次元画像データを取り込む場合は、物体を撮像する1台のカメラ(撮像部)を含みうる。I/Oデバイス(209)に接続されるアウトプットデバイスは、情報処理の結果を他の情報処理装置へ出力するデバイスを含みうる。出力先は、例えば、ロボット4(の制御部)等としうる。ロボット4は、当該結果(位置および姿勢)の情報に基づいて、パレット3からの部品2の取り出し等の部品2の処理を行いうる。
次に、本実施形態における処理の流れを図3および図4を参照して説明する。図3は、実施形態1に係るパレットおよび空判定処理を説明するための図である。図3(A)は、パレットモデルの斜視図、図3(B)は、パレットモデルの上視図、図3(C)は、パレットモデルの断面図、図3(D)は、パレットモデルと距離計測点との間の位置関係をそれぞれ示している。ここで、パレットモデル300は、パレット3の細部構造や細かい凹凸を無視または簡略化した面の集合として、CAD(Computer−aided Design)またはポリゴン等でパレット3を表現したモデルとしうる。パレットモデル300の内側は、9つの平面、すなわち、4つの垂直面301(301−A、301−B、301−C、301−D)と、4つの傾斜面302(302−A、302−B、302−C、302−D)と、水平面303とで構成されている。矢印305−Aまたは305−Bは、対応する(平)面(の法線)の向きを示している(図3(C)において、不図示の(平)面に対応する矢印は不図示)。ここで、視線ベクトル304(光軸ベクトルまたは単に光軸ともいう)は、3次元情報取得部11の視線または光軸の向きを示す。パレットモデル300の各面の向き305−Aは、視線ベクトル304に対して凡そ正対しており、305−Bは、凡そ正対してはいない。垂直面301−B、傾斜面302−A、302−B、302−C、水平面303の向きが向き305−Aであり、垂直面301−A、301−C、301−D、傾斜面302−Dの向きが向き305−Bである。
距離計測点306(306−A、306−B、306−C、306−D)は、距離取得部12により得られた距離計測点である。距離計測点306−Aおよび距離計測点306−Bは、パレット内面の点に対応し、パレットモデルの面に属している。一方、距離計測点306−Cおよび距離計測点306−Dは、パレット内に格納された部品2の表面の点に対応し、パレットモデルの面から離れている(宙に浮いている)。
ここで、図4は、情報処理装置の処理の流れを例示する図である。図4において、ステップS401では、情報処理装置1は、ロボット4(の制御部)またはユーザからの指示に基づいて、計測対象物の3次元情報としての距離計測点のデータD402を取得する。距離計測点のデータD402は、データ修正部により計測値の補正や信頼性の低い計測点の除去を行われたものであってもよい。
ステップS403では、距離計測点D402に対してパレットモデル300のフィッティングを実施してパレットモデルの位置および姿勢を取得する。フィッティングは、パレットモデル300の開口部の周囲の上枠部に関して行うと好ましい場合が多い。なぜなら、パレット3内にワーク3がばら積みされていても、当該上枠部が遮られることは少ないからである。勿論フィッティングは、それに加えて又はそれ以外の遮られないパレットの部位に関して行ってもよい。また、カメラからの2次元画像データの輝度勾配等を解析してパレットの位置および姿勢を取得してもよい。また、パレット3の位置および姿勢の情報は、それが既知である場合やユーザにより直接指定された場合は、それをそのまま利用してもよい。パレットモデル300の位置および姿勢の情報が得られると、パレット300の構造の事前情報に基づいて、パレットの各面の位置および姿勢のデータD404を得る(生成する)ことができる。
ステップS405では、空判定の処理で基準とするべき複数の(基準)面(の位置および姿勢)のデータD406を生成(設定または選択)する。当該基準面は、部品2が配置されうる領域を表す面である。基準面は、パレットモデル300の内面の形状に基づいて複数生成(設定)される。基準面は、視線ベクトル304に対して60度以上120度以下程度の角度をなすように設定すると望ましい場合が多い。なぜなら、そのような面(垂直面301−B、傾斜面302−A、302−B、302−C、水平面303)の距離計測点の計測精度が高く、データ修正部によるノイズ除去処理等によるデータの欠損が生じにくいからである。また、重力の方向とは反対の方向となす角度が閾値より小さい法線方向を有する面を基準面に設定してもよい。当該設定によれば、少なくなった部品2が配置される確率が高い面が選ばれ、空判定で誤る確率が比較的抑えられるからである。当該閾値は、例えば、部品が面から転がり落ちないような面の角度の上限値としうる。
ステップS407では、空判定に使用しない不要な距離計測点を除外する。距離計測点306−Aおよび距離計測点306−Bは、それぞれ非基準面である垂直面301−Dおよび傾斜面302−B内の点である。そのため、空判定を誤らないように、それらの距離計測点は除外することが望ましい。よって、いずれかの非基準面との距離が閾値より小さい距離計測点を除外するのがよい。
ステップS408では、距離計測点それぞれに関して最近傍に存在する基準面との距離(最近傍距離)を得る。基準面として設定した5面(垂直面301−B、傾斜面302−A、302−B、302−C、水平面303)は、面同士(任意の2面)が互いに凹角をなして配置(接続)されているため、距離計測点との距離が最小となる基準面が必ず最近傍に位置する。従って、各基準面と距離計測点との間の距離の最小値を得ればよい。そうすると、距離計測点306−Cは、5面のうち水平面303が最近傍の基準面であり、それへの距離が最近傍距離307となる。
ステップS409では、各距離計測点の最近傍距離307の総和が閾値を超えない場合に部品が存在しない(空である)と判定する。逆に、当該最近傍距離の総和が閾値を超える場合には、部品が存在すると判定する。当該判定に用いる量は、最近傍距離307の総和に替えて、最近傍距離307の平均値もしくは標準偏差などの他の統計量または最近傍距離307のヒストグラムから得られる他の統計量等としうる。なお、部品が存在する領域把握する為に、空判定の対象となる領域を分割して得られた領域毎に上述の空判定を実施してもよい。当該分割は、例えば、3次元情報取得部11により得ら得られた2次元画像において位置(座標)の近い計測点どうしが同じ領域に属するようになしうる。全ての領域で「空である」と判定されれば、パレット3の内部に部品がない(パレットは空である)と判定することができる。
各基準面と距離計測点との距離および最近傍距離は、負の値も有するように取り扱ってもよい。すなわち、距離計測点が基準面のどちら側にあるかに基づいて正または負の符号を定義できる。符号が負となるのは、基準面に関して3次元情報取得部11の反対側に計測点が存在する場合としうる。その場合、負の距離は信頼性の低いものとして取り扱う(当該符号に基づいて計測点の信頼性を評価する、例えば、当該符号が負となる計測点を除外する)ことにより、より正確な空判定が可能となる。
また、他の基準面と隣接しない境界を持つ基準面は、空判定機能に影響のない範囲でパレット3の有する面の境界を超えて領域を拡大してもよい。例えば、基準面の一つである垂直面301−Bの領域をパレットの上方へ拡大すると、パレットの上端部の距離計測点は、垂直面301−Bより外側に存在し、負の距離を有するものとして認識される。よって、そのような空判定に不要な距離計測点を除外しうる。
上記ステップS409においてパレット3が空であると判定された場合、ディスプレイ208またはロボットにその旨を通知し、部品の補充またはパレットの交換を促す(ステップS410)。パレット3が空でないと判定された場合は、距離計測点D402に基づいて、パレット3に配置された部品2の位置および姿勢を推定する(ステップS411)。当該推定の結果は、ロボット4に通知され、ロボット4は、当該結果に基づいてパレット3の内部から部品2を取り出す(ステップS412)。
以上のように、本実施形態によれば、例えば、物体を配置しうる領域に当該物体がないか判定するのに有利な情報処理装置を提供することができる。
〔実施形態2〕
本実施形態は、基準面同士(ある2面)が互いに凸角をなして配置(接続)されている箇所が存在し、かつ曲面を含むようなパレット(モデル)に関する。情報処理装置1のハードウェア構成は、実施形態1におけるそれと同様としうる。図5は、実施形態2に係るパレットおよび空判定処理を説明するための図である。図5(A)は、パレットモデルの斜視図、図5(B)は、パレットモデルの上視図、図5(C)は、パレットモデルの断面図、図5(D)は、パレットモデルと距離計測点との間の位置関係を示している。パレットモデル500は、突起部付きのパレット3をモデル化して得られたものである。パレットモデル500の内面は、4つの垂直面501(501−A、501−B、501−C、501−D)と、2つの傾斜面502(502−A、502−B)と、2つの水平面503(503−A、503−B)との合計8面からなる。境界線506−Aは、傾斜面502−Aと傾斜面502−Bとの間の境界線であり、境界線506−Bは、傾斜面502−Bと水平面503−Bとの間の境界線である。
本実施形態では、パレット3は、水平な面に置かれ、重力の方向とは反対の方向504と方向が近い傾斜面502と水平面503との合計4面を基準面に設定する。距離計測点507−Aおよび507−Bは、部品2の表面を計測して得られた距離計測点の例である。距離計測点507−Aから傾斜面502−B、水平面503−Bに下ろした垂線の足は、いずれも有界(境界を有すること)の基準面の内部にはなく、距離計測点507−Bから水平面503−Bに下ろした垂線の足は、有界の基準面503−Bの内部に存在する。
図6は、各距離計測点に関する最近傍距離を得る処理の流れを例示する図である。当該処理において、実施形態1におけるそれと異なる点は、距離計測点507−Aのように全ての基準面へ下ろした垂線の足が有界の基準面の内部に存在しない場合に、基準面の境界線やその端点を参照して最近傍距離を得る点である。なお、最近傍距離を得た後の空判定の処理は、実施形態1におけるそれと同様であるため、割愛する。まず、ステップS601では、距離取得部12により距離計測点のデータを得る。ステップS602では、パレットの構造や配置に基づいて予め設定された複数の基準面から1つを選択する。ステップS603からステップS606までのステップは、基準面との間の最小距離が有界の基準面の内部に存在するか判定を行い、そうであった場合に当該最小距離を最近傍距離とするものである。最小距離が有界の基準面の内部に存在しなければ、ステップS611に処理を進める。
ステップS603では、距離計測点と基準面との間の距離のうち最小となる距離Aを得る。ここで、基準面が平面であれば、距離計測点から基準面に下ろした垂線の長さを距離Aとすればよい。基準面が球面や円筒面、円錐面、放物面等の解析的な曲面であれば、当該曲面と接する接平面の法線ベクトルと重なる直線の上に距離計測点が存在するとの条件を満たす接平面の接点と距離計測点との間の距離を得ればよい。また、基準面がパラメトリック曲面や自由曲面であれば、基準面に属する各点と距離計測点との間の距離の最小値を得る方法を採用しうる。この場合、各点(画素)のピッチが部品2のサイズより十分小さければ、空判定の正確さを確保できる。
例えば、距離計測点507−Aと基準面(曲面)としての傾斜面502−Bとの距離A(509)は、接平面508−Aの接点と、接平面の法線ベクトルに重なる直線の上に存在する距離計測点507−Aとの間の距離である。なお、パレットモデル500を構成する基準面は、実物のパレット2の面の形状を近似する精度と計算負荷とのバランスを考慮して設定すればよい。例えば、基準面を単純な形状(例えば平面)で近似すれば、近似精度では不利となり、計算負荷では有利となりうる。基準面をパラメトリック曲面とすれば、近似精度では有利となり、計算負荷では不利となりうる。
ステップS604では、ステップS603で得られた最小距離(距離A)に対応する点は、基準面の境界内(有界の基準面の内部)にあるか判定する。当該判定は、ステップS603で判明している、距離計測点から最小距離にある(境界なしの又は有界でない)基準面上の座標に基づいて行いうる。例えば、基準面が平面ならば、距離計測点から下ろした垂線の足の座標がその平面の境界内(有界の平面の内部)にあるか判定する。当該座標が境界内にあれば、ステップS605に処理を進め、そうでなければ、ステップS611に処理を進める。
例えば、距離計測点が507−Aと基準面が502−Bとの間の距離A(509)に係る垂線の足は、基準面502−Bの境界外に存在するため、当該距離Aの値は採用せず、ステップS611に処理を進める。
ステップS605では、最近傍距離の候補として距離Aを参照する。すなわち、他に最近傍距離の候補がなければ、最近傍距離を距離Aとし、当該候補があれば、それと距離Aとを比較して大きくない方の値で最近傍距離を更新する。
ステップS606では、すべての基準面に関して距離計測点との距離を評価したか判定する。まだ参照していない基準面が存在する場合は、ステップS602に戻り、別の基準面に関して以上の処理を繰り返す。全ての基準面を評価し終えた場合、その時点の最近傍距離の候補が最近傍距離(D607)となる。空判定は、距離計測点毎に得られた最近傍距離D607を実施形態1におけるのと同様に統計処理することにより判定しうる。
ステップS611からステップS616までのステップは、基準面の境界である境界線に基づいて最小距離を得るものである。ステップS611では、基準面の境界をなす未評価の境界線のうち1つを選択し、当該境界線を記述する情報(数式またはパラメータ等)を取得する。ステップS612では、現在評価している基準面と隣接する別の基準面とが(境界線の全域において)互いに凹角で隣接しているか判定する。凹角で隣接していれば、境界線と距離計測点との間の最小距離は、必当該別の基準面との最小距離より大きくなるため、最近傍距離の候補とはならない。よって、当該境界線と距離計測点との間の距離を評価する必要がないため、ステップS616に処理を進める。そうでなければ、ステップS613に処理を進める。ステップS612における判定条件を満す例として、距離計測点が507−Bであり、基準面が傾斜面502−Bであり、かつ境界線が506−Bである場合がある。
ステップS613では、距離計測点と境界線との間の最小距離Bを得る。境界線が直線ならば、距離計測点から当該直線に降ろした垂線の長さを得る。境界線が円弧もしくは放物線等の解析的な曲線またはパラメトリック曲線ならば、ステップS603で記した、面への最小距離を得る方法と同様に、それぞれ解析的に又は近似的に最小距離を得ればよい。例えば、距離計測点507−Aであり、かつ基準面が傾斜面502−Bである場合、傾斜面502−Bと傾斜面502−Aとの境界線506−Aが距離Bを与える境界線となる。
ステップS614では、ステップS613で得た距離Bに対応する点(垂線の足)は、境界線の両端点の間(有界の境界線上)にあるか判定する。ステップS604との違いは、基準面の替わりに境界線を用いることである。当該判定は、例えば、各端点の座標または各端点を示す境界線のパラメータに基づいて行いうる。ステップS613で例示した距離Bに対応する点は、ステップS614の条件を満たす(有界の境界線上にある)。ステップS614の条件が満たされた場合、ステップS615に処理を進める。ステップS615では、ステップS605で行ったのと同様の最近傍距離の更新を行う。ただし、距離Aの替わりに距離Bを用いる。ステップS614の条件が満たされなかった場合、境界線の各端点(頂点)の情報(座標)を取得し(ステップS621)、各端点と距離計測点との間の距離を得た後、そのうちの最小値として距離Cを得る(ステップS622)。つづいて、ステップS605で行ったのと同様の最近傍距離の更新を行う。ただし、距離Aの替わりに距離Cを用いる(ステップS623)。ステップS623で更新がなされる場合として、3つの基準面が端点(頂点)を共有する場合がある。
ステップS615またはステップS623が実施されたら、評価している基準面が有する全ての境界線を評価したか判定する(ステップS616)。全境界線のうち未だ評価していないものがあれば、ステップS611に戻り別の境界線に関してステップS611から処理を繰り返す。全境界線の評価を終了したら、ステップS606に処理を進める。
ステップS606で全基準面の評価を終了したと判定されたら、その時点での最近傍距離の候補を最終的な最近傍距離D607として確定する。
以上の処理では、境界線の情報を各基準面に関して必要となる度に得ている。しかし、互いに異なる基準面が境界線および端点を共有している場合が多いから、境界線および端点の情報をステップS601の時点で予め取得して、より効率的な処理とすることもできる。なお、上述したように、基準面どうしが互いに凹角で接続され、その境界線や当該境界線の端点からの距離が、評価している基準面とは別の基準面からの距離より小さくなる可能性がない場合もある。その場合は、当該境界線や当該端点と距離計測点との間の距離の評価をスキップ(省略)しうる。
以上のように、本実施形態によれば、例えば、物体を配置しうる領域に当該物体がないか判定するのに有利な情報処理装置を提供することができる。
〔物品製造方法に係る実施形態〕
上述の計測部11は、ある支持部材に支持された状態で使用されうる。計測部11は、例えば、ロボット4(把持装置)に備え付けられて使用されうる。ここで、情報処理装置1とロボット4とを含むシステムが構成されうる。当該情報処理装置、当該ロボット、または当該システムは、物品製造方法に用いられうる。情報処理装置1は、物体2の位置および姿勢の認識のための処理を行い(第1工程)、当該処理により得られた位置および姿勢の情報をロボット(の制御部)4が取得する。ロボット4は、当該位置および姿勢の情報に基づいて、物体2の処理を行う(第2工程)。当該処理は、例えば、ロボットの先端のハンドなど(保持部またはエンドエフェクタ)で物体2を保持して移動(並進や回転など)させることである。または、ロボット4によって物体2を他の物体に組み付けることである。または、ロボット4によって物体2を加工することである。このような処理により、複数の物体(部品)で構成された物品(例えば電子回路基板や機械など)を製造することができる。なお、ロボットの制御部は、CPUなどの演算装置やメモリなどの記憶装置を含みうる。また、ロボットを制御する制御部は、ロボットの外部に設けてもよい。また、計測装置10により得られた計測データや画像データは、ディスプレイ208などの表示部に表示しうる。
〔その他の実施形態〕
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ(またはCPUやMPU等)がソフトウェアを読み出して実行する処理である。
1 情報処理装置
12 距離取得部(第1処理部を構成)
21 空判定部(第2処理部を構成)

Claims (15)

  1. 物体の位置および姿勢の認識のための処理を行う情報処理装置であって、
    前記物体の距離の情報を得る処理を行う第1処理部と、
    前記物体が配置されうる領域を表す複数の面それぞれと、前記第1処理部により前記情報を得られた各点との間の距離の最小値の統計量に基づいて、前記物体が前記領域にないか判定する処理を行う第2処理部と、
    を有することを特徴とする情報処理装置。
  2. 前記第2処理部は、前記領域の情報を生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2処理部は、前記複数の面それぞれと前記各点との間の距離の符号を前記複数の面それぞれのどちら側に前記各点があるかに基づいて正または負とし、前記符号に基づいて当該距離を有する点の信頼性を評価することを特徴とする請求項に記載の情報処理装置。
  4. 前記第2処理部は、前記複数の面それぞれを平面または曲面として生成することを特徴とする請求項1ないし請求項のうちいずれか1項に記載の情報処理装置。
  5. 前記第1処理部は、前記物体を撮像する撮像部からの画像データに基づいて前記物体の距離の情報を得、
    前記第2処理部は、前記撮像部の光軸の情報に基づいて、前記領域の情報を生成する、ことを特徴とする請求項2に記載の情報処理装置。
  6. 前記第2処理部は、前記物体を収容する容器の配置の情報に基づいて、前記領域の情報を生成する請求項2に記載の情報処理装置。
  7. 前記第2処理部は、重力の方向に基づいて、前記領域の情報を生成する請求項に記載の情報処理装置。
  8. 前記第2処理部は、互いに凹角をなす2面を前記複数の面が含むように、前記複数の面を生成することを特徴とする請求項に記載の情報処理装置。
  9. 前記第2処理部は、互いに凸角をなす2面を前記複数の面が含むように、前記複数の面を生成することを特徴とする請求項または請求項に記載の情報処理装置。
  10. 前記判定に係る表示を行う表示部を含むことを特徴とする請求項1ないし請求項のうちいずれか1項に記載の情報処理装置。
  11. 前記物体の距離の情報を得るための計測データを得る計測部を含むことを特徴とする請求項1ないし請求項10のうちいずれか1項に記載の情報処理装置。
  12. 物体の位置および姿勢の認識のための処理を行う情報処理方法であって、
    前記物体の距離の情報を得る処理を行う第1処理工程と、
    前記物体が配置されうる領域を表す複数の面それぞれと、前記第1処理部により前記情報を得られた各点との間の距離の最小値の統計量に基づいて、前記物体が前記領域にないか判定する処理を行う第2処理工程と、
    を含むことを特徴とする情報処理方法。
  13. 請求項12に記載の情報処理方法の各工程をコンピュータに実行させることを特徴とするプログラム。
  14. 物体の位置および姿勢の認識のための処理を行う請求項1ないし請求項11のうちいずれか1項に記載の情報処理装置と、
    前記情報処理装置により行われた前記処理に基づいて、前記物体を保持して移動させるロボットと、
    を含むシステム。
  15. 請求項1ないし請求項11のうちいずれか1項に記載の情報処理装置を用いて物体の位置および姿勢の認識のための処理を行う工程と、
    前記工程で前記処理を行われた前記物体を処理する工程と、
    を含むことを特徴とする物品製造方法。
JP2016093306A 2016-05-06 2016-05-06 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法 Active JP6758903B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016093306A JP6758903B2 (ja) 2016-05-06 2016-05-06 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
US15/586,718 US20170323456A1 (en) 2016-05-06 2017-05-04 Information processing apparatus, information processing method, program, system, and article manufacturing method
EP17169571.1A EP3242108A1 (en) 2016-05-06 2017-05-04 Information processing apparatus, information processing method, program, system, and article manufacturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016093306A JP6758903B2 (ja) 2016-05-06 2016-05-06 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法

Publications (2)

Publication Number Publication Date
JP2017201276A JP2017201276A (ja) 2017-11-09
JP6758903B2 true JP6758903B2 (ja) 2020-09-23

Family

ID=59053869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016093306A Active JP6758903B2 (ja) 2016-05-06 2016-05-06 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法

Country Status (3)

Country Link
US (1) US20170323456A1 (ja)
EP (1) EP3242108A1 (ja)
JP (1) JP6758903B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7064664B2 (ja) * 2018-03-28 2022-05-11 太平洋セメント株式会社 対象認識装置、方法およびプログラムならびに対象除去システム
KR102163660B1 (ko) * 2018-11-13 2020-10-08 현대오트론 주식회사 라이다의 신호 처리 장치 및 라이다 장치
CN113804100B (zh) * 2020-06-11 2023-02-10 华为技术有限公司 确定目标对象的空间坐标的方法、装置、设备和存储介质
CN113858188A (zh) * 2020-06-30 2021-12-31 罗伯特·博世有限公司 工业机器人的抓取方法和设备、计算机存储介质以及工业机器人
CN113988607A (zh) * 2021-10-26 2022-01-28 成都飞机工业(集团)有限责任公司 零件装配超差的分析方法、装置、设备以及存储介质
DE102022202587A1 (de) 2022-03-16 2023-09-21 Volkswagen Aktiengesellschaft Entnahmevorrichtung zur Entnahme von Werkstücken aus einem Werkstückbehälter

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3805302B2 (ja) * 2002-12-13 2006-08-02 ファナック株式会社 ワーク取出し装置
DE102007060653A1 (de) * 2007-12-15 2009-06-18 Abb Ag Positionsermittlung eines Objektes
US8285034B2 (en) * 2009-08-26 2012-10-09 Bally Gaming, Inc. Apparatus, method and article for evaluating a stack of objects in an image
US9437005B2 (en) * 2011-07-08 2016-09-06 Canon Kabushiki Kaisha Information processing apparatus and information processing method
JP5975685B2 (ja) * 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
JP5620445B2 (ja) * 2012-09-13 2014-11-05 ファナック株式会社 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置
JP6415026B2 (ja) * 2013-06-28 2018-10-31 キヤノン株式会社 干渉判定装置、干渉判定方法、コンピュータプログラム
EP2869023B1 (en) * 2013-10-30 2018-06-13 Canon Kabushiki Kaisha Image processing apparatus, image processing method and corresponding computer program
JP6338421B2 (ja) 2014-03-31 2018-06-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、把持システムおよびプログラム

Also Published As

Publication number Publication date
US20170323456A1 (en) 2017-11-09
EP3242108A1 (en) 2017-11-08
JP2017201276A (ja) 2017-11-09

Similar Documents

Publication Publication Date Title
JP6758903B2 (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
US11046530B2 (en) Article transfer apparatus, robot system, and article transfer method
JP7083189B2 (ja) 学習データセット作製方法及び装置
US9616569B2 (en) Method for calibrating an articulated end effector employing a remote digital camera
US7894661B2 (en) Calibration apparatus, calibration method, program for calibration, and calibration jig
JP6324025B2 (ja) 情報処理装置、情報処理方法
JP6594129B2 (ja) 情報処理装置、情報処理方法、プログラム
US11654571B2 (en) Three-dimensional data generation device and robot control system
US11446822B2 (en) Simulation device that simulates operation of robot
US20180290300A1 (en) Information processing apparatus, information processing method, storage medium, system, and article manufacturing method
CN109313015B (zh) 用于视觉系统的校准
CN111683798A (zh) 工件拾取装置以及工件拾取方法
JP6885856B2 (ja) ロボットシステムおよびキャリブレーション方法
JP2018136896A (ja) 情報処理装置、システム、情報処理方法、および物品の製造方法
WO2020217878A1 (ja) 対象物の位置姿勢を検出する装置、方法およびプログラム
JP5544464B2 (ja) 対象物の3次元位置・姿勢認識装置及びその方法
JP7331527B2 (ja) ロボットの動作を決定する装置、方法およびプログラム
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP7264247B2 (ja) 情報処理装置及び情報処理方法
JP7180783B2 (ja) コンピュータビジョンシステムのキャリブレーション方法及びこれに用いる基準立体物
US10656097B2 (en) Apparatus and method for generating operation program of inspection system
JP2009216480A (ja) 三次元位置姿勢計測方法および装置
EP3708309A1 (en) A method for determining positional error within a robotic cell environment
JP7401250B2 (ja) 画像処理装置、制御方法およびプログラム
JP2017156968A (ja) 情報処理装置、情報処理方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200902

R151 Written notification of patent or utility model registration

Ref document number: 6758903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151