JP2017123147A - ロボットを案内するための特徴位置の特定 - Google Patents

ロボットを案内するための特徴位置の特定 Download PDF

Info

Publication number
JP2017123147A
JP2017123147A JP2016204026A JP2016204026A JP2017123147A JP 2017123147 A JP2017123147 A JP 2017123147A JP 2016204026 A JP2016204026 A JP 2016204026A JP 2016204026 A JP2016204026 A JP 2016204026A JP 2017123147 A JP2017123147 A JP 2017123147A
Authority
JP
Japan
Prior art keywords
electromagnetic sensor
feature
geometric shape
point cloud
identifying
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.)
Granted
Application number
JP2016204026A
Other languages
English (en)
Other versions
JP6871712B2 (ja
Inventor
シャバング シュリダール,
Sridhar Shubang
シャバング シュリダール,
フィリップ エル. フリーマン,
Philip L Freeman
フィリップ エル. フリーマン,
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.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of JP2017123147A publication Critical patent/JP2017123147A/ja
Application granted granted Critical
Publication of JP6871712B2 publication Critical patent/JP6871712B2/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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring 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
    • G01B11/2513Measuring 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 with several lines being projected in more than one direction, e.g. grids, patterns
    • 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/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring 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
    • G01B11/2545Measuring 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 with one projection direction and several detection directions, e.g. stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/564Depth or shape recovery from multiple images from contours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • 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/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/144Image acquisition using a slot moved over the image; using discrete sensing elements at predetermined points; using automatic curve following means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • 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/40033Assembly, microassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Abstract

【課題】構成要素の特徴を視覚的に識別する特徴検出システムを提供する。
【解決手段】特徴検出システムは、異なる角度又は視点から特徴の画像をキャプチャする少なくとも2つのカメラを含む。これらの画像から、システムは画像の構成要素の3D点群を生成する。点群上に特徴の境界を直接投影する代わりに、3D点群における所定の幾何学的形状を識別する。システムは次に、特徴の境界の画素位置を、点群における識別された幾何学的形状上に投影する。こうすることで、製造プロセスを実施するために次にロボットによって使用されうる特徴の3D座標が作成される。
【選択図】図1

Description

本開示は特徴検出に関し、更に具体的には、特徴のエッジ又は境界に対応する3D点を識別する前に、3D点群において所定の幾何学的形状を識別することに関する。
特徴検出により、製造プロセスを自動化することが可能になりうる。ロボットは、構成要素の特徴を識別する視覚的検出システムを含みうる。例えば、ボルトを検出することによって、ロボットが2つの構成要素を互いに留めるためにボルト上にナットを取り付けることができる。製造プロセスを実施するのにロボットを使用することには、幾つかの利点がありうる。例えば、ロボットは人間が行かれない密閉された又は過密なエリアに適合することが可能でありうる。更に、ロボットは人間にとっては危険なエリアで働くことができる。したがって、特徴検出を実施するために視覚的検出システムを使用することで、人間が実施するのは不可能な、あるいは非常に困難なプロセスをロボットが実施することが可能になりうる。
本明細書の一態様は、第1の電磁センサと、第1の電磁センサとの固定された空間関係に配置された第2の電磁センサと、メモリに保存された検出ロジックとを含む特徴検出システムである。検出ロジックは、プロセッサによって実行された時に、第1の電磁センサ及び第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて3D点群を生成し、3D点群において少なくとも1つの所定の幾何学的形状を識別するように動作可能である。検出ロジックは更に、第1の電磁センサ及び第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別し、境界画素に対応する特徴の3D位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影するように構成されている。
一態様では、上記の組み合わせにおいて、3D点群において所定の幾何学的形状を識別することが、3D点群において所定の幾何学的形状の複数のインスタンスを識別することと、所定の幾何学的形状のインスタンスを、第1の電磁センサと第2の電磁センサの少なくとも1つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、特徴を含むモデル形状と一致する所定に幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することとを含む。
一態様では、上記いずれかの実施例との組み合わせにおいて、第1の電磁センサと第2の電磁センサはそれぞれ可視光カメラであり、特徴検出システムは更に、ランダムドットパターンを放射するように構成されたレーザーを含み、可視光カメラによってキャプチャされた画像は、ランダムドットパターンの少なくとも一部を含む。
一態様では、上記いずれかの実施例との組み合わせにおいて、境界画素が、可視光カメラのうちの1つによりキャプチャされた第1の画像を使用して識別され、第1の画像は、レーザーが動作を停止している時にキャプチャされる。
一態様では、上記いずれかの実施例との組み合わせにおいて、境界画素を識別することが、第1の画像においてエッジ検出を実施することを含み、境界画素は2D画像面上に位置している。
一態様では、上記いずれかの実施例との組み合わせにおいて、3D点群を生成することが、第1の電磁センサによってキャプチャされた第1の画像におけるオブジェクトの位置を、第2の電磁センサによってキャプチャされた第2の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第1の電磁センサ及び第2の電磁マップとの間の距離を提示する視差マップを生成することと、視差マップに基づいて3D点群を生成することとを含む。
一態様では、上記いずれかの実施例との組み合わせにおいて、検出ロジックが、特徴の3D位置を特徴の予測される幾何学的形状に適合させるように構成され、3D位置のうちの幾つかは、外れ値として識別され無視される。
更に、本明細書の態様は、上述した特徴検出システムの先行の配置又は構成の全ての代替例、変形例、及び修正例を含む。
本明細書に記載される別の態様は、第1の電磁センサと第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて3D点群を生成することを含む方法であり、第1の電磁センサは、第2の電磁センサとの固定された空間関係に配置されている。本方法は、3D点群において少なくとも1つの所定の幾何学的形状を識別することと、第1の電磁センサと前記第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することとを含む。本方法は、境界画素に対応する特徴の3D位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影することを含む。
一態様では、上記方法との組み合わせにおいて、3D点群において所定の幾何学的形状を識別することが、3D点群において所定の幾何学的形状の複数のインスタンスを識別することと、所定の幾何学的形状のインスタンスを、第1の電磁センサと第2の電磁センサの少なくとも1つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することとを含む。
一態様では、上記いずれかの方法例との組み合わせにおいて、第1の電磁センサと第2の電磁センサはそれぞれ可視光カメラであり、本方法は、ランダムドットパターンを放射するレーザーを起動することを更に含み、可視光カメラによってキャプチャされた画像が、ランダムドットパターンの少なくとも一部を含む。
一態様では、上記いずれかの方法例との組み合わせにおいて、本方法は、面適合技法を使用して、識別された幾何学的形状に対応する係数を決定することを含み、係数は自由空間における面を表しており、識別された幾何学的形状に境界画素の位置を投影することが、係数によって定義される面に境界画素の位置を投影することとを含む。
一態様では、上記いずれかの方法例との組み合わせにおいて、境界画素を識別することが、第3の画像においてエッジ検出を実施することを含み、境界画素は、2D画像面に位置している。
一態様では、上記いずれかの方法例との組み合わせにおいて、3D点群を生成することが、第1の電磁センサによってキャプチャされた第1の画像におけるオブジェクトの位置を、第2の電磁センサによってキャプチャされた第2の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第1の電磁センサ及び前記第2の電磁マップとの間の距離を提示する視差マップを生成することと、視差マップに基づいて3D点群を生成することとを含む。
更に、本明細書の態様は、上述した方法の先行の配置又は構成の全ての代替例、変形例、及び修正例を含む。
本明細書に記載される別の態様は、特徴を検出するためのコンピュータ可読記憶媒体である。コンピュータ可読記憶媒体は、第1の電磁センサと第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、3D点群を生成するために、一又は複数のコンピュータプロセッサによって実行可能なコンピュータ可読プログラムコードを含み、第1の電磁センサは、第2の電磁センサとの固定された空間関係に配置される。プログラムコードは、3D点群において少なくとも1つの所定の幾何学的形状を識別し、第1の電磁センサと第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて境界画素を識別するための実行可能であり、境界画素は特徴のエッジに対応する。プログラムコードは、識別された幾何学的形状上に境界画素の位置を投影して、境界画素に対応する特徴の3D位置を識別するように実行可能である。
特徴検出システムのブロック図である。 構成要素の特徴を識別するために、特徴検出システムを使用するところを示す図である。 ランダムドットパターンで特徴を照らしているところを示す図である。 構成要素の特徴を視覚的に検出するためのフロー図である。 立体カメラによってキャプチャされた画像から生成された視差マップを示す図である。 A及びBは、視差マップから生成された3D点群を示す図である。 3D点群において所定の幾何学的形状を識別しているところを示す図である。 特徴を含む構成要素の設計モデルを示す図である。 特徴の3D座標を識別しているところを示す図である。
理解しやすくするため、各図面に共通する同一のエレメントを指定する際に、可能であれば、同一の参照番号が使用されている。一態様に開示されたエレメントは、特に列挙することなく、他の態様に有利に用いられうる。
本明細書の態様では、構成要素の特徴を視覚的に識別するために特徴検出システムを使用する。本明細書に記載には孔又は開孔の特定の実施例を示したが、他の特徴には、特定のエッジ、ファスナ(例:ボルト又はナット)、刻み目等が含まれうる。特徴検出システムは、異なる角度又は視点から特徴の画像をキャプチャする少なくとも2台のカメラを含む。これらの画像から、システムは、画像においてキャプチャされた構成要素を表す3D点群を生成する。しかしながら、3D点群のノイズのために特徴の検出が困難になる場合がある。
特徴の境界を点群上に直接投影する代わりに、本明細書の態様では、特徴の境界を3D空間の点にマッピングする前に3D点群において所定の幾何学的形状が識別される。例えば、面適合技法を使用して、3D点群において異なる面形状が識別されうる。3D点群において面を識別することによって、特徴検出システムは、3D点群におけるノイズの大部分を除去する。エッジ検出技法を使用して、システムは2D画像面において特徴の境界を検出する。言い換えれば、特徴検出システムは、カメラによってキャプチャされた画像のうちの1つにおいて、特徴の境界を画定する画素を決定する。システムは、面適合を実施することによって識別された面のうちの1つの面上のこれらの画素位置に投影する。そうすることで、製造プロセスを実施するために次にロボットによって使用されうる特徴の3D座標が作成される。
図1は、装着具105、レーザー115、及びコンピュータシステム120を含む特徴検出システム100のブロック図である。装置具105は、左側のカメラ110Aと右側のカメラ110Bとを含む。カメラ110は、特徴検出システム100が移動したとしてもカメラ110との空間関係が固定されたままであるように、装着具105に取り付けられる。例えば、特徴検出システム100は、製造プロセスを実施するためにある環境において移動するロボットに取り付けられうる。ロボットが移動すると、装着具105によってカメラ110の互いに対する空間関係が固定されたままになる。しかしながら、他の態様では、特徴検出システム100は、本明細書に記載された機能を実施するために、可視光カメラを1台のみ、又は2台を超える可視光カメラを使用しうる。例えば、特徴検出システム100は、レーザープロジェクタ、飛行時間カメラ、又はライダースキャナーと組み合わせて使用される可視光カメラを1台のみ含みうる。言い換えれば、特徴検出システム100は、固定された空間関係にある2つの電磁センサ(例えば可視光カメラ、レーザープロジェクタ、飛行時間カメラ、又はライダースキャナー)を含む。
一態様では、レーザー115も装着具105に取り付けられているが、これは必須ではない。別の態様では、レーザー115は、システム100の他の構成要素にレーザー115を取り付ける別の装着具を有しうる。カメラ110の視覚エリア内にある一又は複数の構成要素上にランダムドットパターンを投影するために、レーザー115が使用されうる。多くの製造環境では、構成要素の表面にテクスチャがない場合がある。以下に記載するように、ランダムドットパターンにより、これらの表面にテクスチャが付与され得、このテクスチャはその後1つの画像の領域を別の画像の領域と照合しやすくするために使用されうる。
コンピュータシステム120は、プロセッサ125とメモリ130とを含む。プロセッサ125は、各々複数の処理コアを含みうる任意の数の処理エレメントを表している。メモリ130は、特徴検出システム100に位置づけされる、又はその他の場所に配置される揮発性又は不揮発性メモリであってよい。例えば、メモリ130は、システム100に配置されたメインメモリ、及びクラウド環境又はリモートサーバーの格納スペースを含みうる。
メモリ130は、画像において(例えば「所望の特徴」又は「探している特徴」とも称される)特徴を検出するために、カメラ110によってキャプチャされた画像を処理するためのソフトウェアアプリケーション又はソフトウェアアプリケーションのパッケージソフトを表す検出ロジック135を含む。本明細書の態様では、構成要素の孔又は開孔の識別が記載されているが、本明細書に記載された技法はまた、構成要素のファスナ、エッジ、又は刻み目等の他の特徴を識別するのにも使用されうる。更に、特徴検出システム100は、検出ロジック135に属する幾つかの又は全ての機能を実施するためのハードウェアコンポーネントを含みうる。
図2は、構成要素の特徴215を識別するために特徴検出システム100を使用している図である。一態様では、図2は、特徴215を識別するために特徴検出システム100が使用される製造環境200を示す。システム100は、環境200を移動させるための推進システムを含むロボットに装着されうる。
環境200は、ファスナを使用して外板210に取り付けられているブラケット205を含む。一態様では、外板210は、航空機本体に支持を提供する。そうするために、ファスナは、外板210とブラケット205を通って延在するボルトを含みうる。異なる構成要素を互いに連結させるために、ナット220がボルトに取り付けられる。本明細書の実施例において、システム100によって識別される特徴215は、ブラケット205の孔又は開孔である。図示していないが、ボルトのねじ込み部が露出するようにボルトを外板210の他方の側へ押し出しうるように、外板210を通って孔が延在しうる。自由空間において特徴215の位置を識別することによって、ロボット(図示せず)が、ボルトが開孔に挿入された後にナット220を取り付けることができる。特徴検出システム100は孔の位置を識別するが、別の実施例では、特徴検出システム100は、ボルトが開孔に押し通された後でボルトを検出しうる。更に別の実施例では、特徴検出システム100は、ナット220を特徴として識別し得、これにより構成要素を分解するためにロボットがナット220を取り外しうる。
これはシステム100の側面図であるため、カメラ110Aのみが図2に示されているが、カメラ110が装着具105に取り付けられている。この実施例では、レーザー115が装着具105に取り付けられる。しかしながら、他の態様では、レーザー115は異なる装着具を使用して特徴検出システム100に取り付けられうる。一般に、特徴検出システム100は、レーザー115によって放射されたランダムドットパターンが当たる領域がカメラ110の視野内になるように、レーザー115を位置調整する。つまり、レーザー115が起動された時に、カメラ110は、レーザー115によって放射されたドットパターンを含む画像をキャプチャする。特に3D空間において特徴215の位置を識別するために、カメラ110Aが特徴215の真上にある必要はない。本明細書に図示したように、カメラ110Aは、カメラ110Aによってキャプチャされた画像において開孔が楕円形に見えるように、特徴215に対して角度をつけて配置される。
図3に、レーザー(図示せず)を使用してランダムドットパターン305で特徴215を照らしている図を示す。この実施例では、ドットパターン305は、特徴215と2つのナット220をカバーする。ドットパターン305は、パターン305内の構成要素と表面にテクスチャを付与する。例えば、ブラケット205の構成要素と、外板210は平滑でテクスチャがない場合がある。ドットパターン305でこれら表面を照らすことで、カメラ110によって検出されうるテクスチャが模倣される。
図3の装着具105の上面図では、装着具105はカメラ110との間にわずかな曲がりを含む。必須ではないが、装着具105が曲がることによって、カメラ110の視覚領域の重なりが大きくなる。特徴がカメラ110に近い環境300においては、装着具105が曲がることによって、視覚領域が重なりやすくなりうる。この実施例では、両方のカメラ110によってキャプチャされた画像には、ナット220と特徴215が含まれる。以下に説明するように、これら共通の特徴をキャプチャすることにより、特徴検出システム100が自由空間(すなわち3D空間)において特徴215の位置を識別することが可能になる。
図4は、構成要素の特徴を視覚的に検出する方法400のフロー図である。明確にするために、方法400におけるブロックの多くが、図5〜9と並行して説明される。ブロック405において、特徴検出システムは、探している特徴をカバーするランダムドットパターンを生成するためにレーザーを起動させる。例えば、特徴検出システムは、特徴があるはずの大まかな位置までシステムを移動させるロボットに取り付けられうる。しかしながら、製造許容誤差のために、ロボットには特徴の正確な位置がわからない場合がある。図2及び3に示す実施例では、ロボットはブラケット205のどこに特徴215、すなわち孔があるか大まかに(数インチ内)に知りうる。この特徴の位置の大まかな推定では、孔を通って突出しているボルトにナットを取り付ける等の機械プロセスを実施するには不十分でありうる。代わりにロボットは、特徴検出システムを使って、特徴の正確な3D位置を識別する。
ブロック410において、レーザーがカメラの視覚エリアの少なくとも一部を照らしている間に、左右のカメラが画像をキャプチャする。一態様では、カメラはフィルタを使用し、このフィルタにより、レーザー(例:赤色の波長)によって放射された光のみが通過することが可能になる一方で、他の色(例:青と緑)の光が画像においてキャプチャされることが防止される。図3に示すように、各カメラ110は、ドットパターン305内の構成要素の画像をキャプチャする。カメラ110の位置及び角度が異なるため、2つの画像において特徴215及びナット220の位置、及びブラケット205と外板210の表面が異なる。一態様では、2つの画像のいずれにおいても、少なくとも特徴215がキャプチャされている。しかしながら、他の態様では、カメラは両方の画像においてナット220等の他の属性又は特性をキャプチャし得、これにより以下に記載されるステップの精度が改善されうる。
ブロック415において、特徴検出システムはレーザーの動作を停止し、フラッシュを起動する。ブロック420において、フラッシュを使用して構成要素が照らされた時に、特徴検出システムにおけるカメラのうちの1つが非レーザー画像(すなわち、レーザーがオフの時に撮影された画像)をキャプチャする。カメラの視覚エリアに十分な光がある場合、フラッシュは必要でない場合がある。一態様では、2つのレーザー画像がブロック410においてキャプチャされた時と同じ位置にカメラがある時に、非レーザー画像がキャプチャされる。例えば、非レーザー画像をキャプチャするのに左側のカメラが使用される場合、この画像は、オブジェクトがレーザーによって照らされていないことを除いては、ブロック410において左側のカメラによってキャプチャされたレーザー画像と同じオブジェクト及び構成要素を含む。
ブロック425において、特徴検出システムは、両方のレーザー画像を修正する。レーザー画像を修正するために使用されるパラメータは、カメラが較正される時に生成されうる。一態様では、画像の修正により、カメラによって導入された効果でありうる画像周辺近くの膨張が除去される。修正されると、画像の周辺で湾曲しているように見える直線が、修正画像では直線に見え、構成要素の実際の形状がより良く表される。更に、修正画像では画像は、両方の画像を通る水平線が同じ特徴を通るように垂直方向に位置調整され、これにより、以下に記載するように視差マップを生成する時に、特徴を照合しやすくなる。
ブロック430において、検出ロジックは修正されたレーザー画像を使用して視差マップを生成する。一般に、視差マップとは、視差マップとカメラの異なる位置間の距離を示す画像の合成物である。本明細書の態様は、視差マップを生成するための任意の特定の技法又はアルゴリズムに限定されない。一実施例では、検出ロジックは、2つの画像における同じオブジェクトの位置の変化を決定することによって、視差マップを生成する。例えば、右側のカメラによってキャプチャされた画像におけるナットの位置は、左側のカメラによってキャプチャされた画像における同じナットの位置から10画素だけ離れている場合がある。一般に、2つの画像におけるオブジェクトの位置の変化が大きいほど、オブジェクトはカメラに近い。逆に、オブジェクトの位置の変化が小さいほど、オブジェクトはカメラから遠く離れている。ドットパターンを放射することによって表面にテクスチャを加えることで、検出ロジックがオブジェクトの位置のシフトを識別しやすくなり、従って視差マップを生成しやすくなりうる。
図5に、補正レーザー画像で、キャプチャされた画像から生成された視差マップ500を示す。具体的には、視差マップ500はグレースケールを使用して、マップ500における各点(又は画素)の、特徴検出システムのカメラまでの距離を示す。色の薄いところはカメラにより近い領域を表すが、濃い領域はカメラからより離れている。マップ500の幾つかの部分は、マップのその位置におけるオブジェクトとカメラとの間の距離が決定できないことを示すためにブランクでありうる。例えば、レーザーによって放射されたドットパターンが画像のこれらの部分に当たらなかった可能性(その部分が影の中にあった可能性)があり、その場合、検出ロジックが2つのレーザー画像を比較することを可能にするテクスチャがなかったということである。
方法400に戻り、ブロック435において、検出ロジックは、視差マップから3D点群を生成する。言い換えると、検出ロジックは、2D視差マップを、レーザー画像によってキャプチャされた構成要素を表す3D点群に変換する。このために、検出ロジックは、視差マップにおける各画素を3D点に変換しうる。この変換を実施するために使用されうる様々な技法及びアルゴリズムはここでは詳細に記載しない。更に、2つの可視光カメラによってキャプチャされた画像を使用する代わりに、一態様においては、3D点群は、例えばレーザープロジェクタ、飛行時間カメラ、又はライダースキャナー等の異なる種類の電磁センサによってキャプチャされたデータから生成される。
図6A及び6Bに、視差マップから生成された3D点群を示す。具体的には、図6Aは、図5における視差マップ500から生成された3D点群の平面図600であり、図6Bは、同じ3D点群の側面図650である。図示したように、3D点群は、3D空間において複数の個々の点を使用して、カメラによってキャプチャされた構成要素の形状と深さを表す。参考として、3D点群において孔の左側と右側に2つのナット220が見えうる。
方法400に戻り、ブロック440において、検出ロジックは、3D点群において一又は複数の所定の幾何学的形状を識別する。一態様では、検出ロジックは、面適合を実施して、3D点群における異なる面を識別する。つまり、検出ロジックは、群における異なる点を評価して、面を形成する点のグループを識別する。面が見つかると、検出ロジックは、3D空間において面を画定する面係数を決定する。更に、一態様では、検出ロジックは、面に対して垂直の方向も決定する。例えば、検出ロジックは、係数を使用して面の垂直方向を決定しうる。
図7に、3D点群において識別された面を示す。図示したように、面適合の実施の結果、3つの分離した面:面705、710、及び715が識別されている。面705及び710は、直角を形成する図2のブラケット205の2つの面に対応する。一方で面715は、ブラケット205の下に延在する図2の外板210の一部に対応する。ナット220に対応する3D点群における点は面を形成しないため、これらの点は無視されうる。
検出ロジックは、面705、710及び715を3D点群における点に適合させる。こうすれば、モデル700は、実際の構成要素の形状及び構成をより正確に表しうる。以下に記載するように、面の係数が識別されたら、検出ロジックはこれらの係数を使用して、特徴の3D点を識別するのに使用されうる面を画定する。
面適合を具体的に説明したが、方法400は上記に限定されない。例えば、異なる所定の幾何学的形状を代わりに使用して、3D点群における表面を識別することができる。例えば、検出ロジックは、円筒又は半球を所定の形状として使用しうる。それにも関わらず、3D点群においてある形状が見つかると、検出ロジックは、識別された各形状の自由空間における形状の位置と方位を画定するパラメータを生成する。
方法400に戻り、ブロック445において、検出ロジックは、識別された幾何学的形状を、探している特徴を有するシステムの所定の設計モデルにおける対応する形状と照合する。言い換えれば、検出ロジックが3D点群における形状(すなわち、図7に示す点群における面)を識別した時点で、検出ロジックは、これらの面を構成要素の所定モデルにおける面と照合する。
図8に、画像にキャプチャされた構成要素の所定モデル800を示す。図示したように、モデル800はモデル面805、810、及び815を含む。これらの面は、部品又は製品(例えば飛行機の胴体)を設計する時に使用される設計モデルの一部であってよい。例えば、モデル800は、面805、810、及び815の所望の寸法を画定する飛行機のコンピュータ援用製図(CAD)であってよい。モデル800は、製品における異なる構成要素間の空間関係、例えばブラケットと飛行機の外板との関係も画定しうる。
図7に示すモデル700を生成するために使用される画像をキャプチャする場合、カメラの様々な異なる位置及び配向のため、面805、810、及び815の配向、形状、及びサイズが面705、710、及び715とは異なる場合がある。それにも関わらず、検出ロジックは面同士の類似点を使って、モデル700の面をモデル800の面と照合しうる。言い換えれば、検出ロジックは、面705と805が両方ともブラケット205の垂直表面に対応し、面710と810が両方ともブラケット205の水平表面に対応し、面715と815が両方とも、ブラケット205の下に延在する外板210の表面に対応することを決定しうる。
ブロック440において識別された面を、構成要素の所定モデルの面と照合することによって、検出ロジックは、探している特徴を含む面を識別しうる。言い換えると、検出ロジックは、モデル700の面705、710、及び715のうちのどれが孔を含むかを決定しうる。例えば、プログラマーがすでに検出ロジックに、モデル面810が所望の特徴を含むことを通知してある場合がある。従って、モデル面810をモデル700の面710と照合した後、その時点で検出ロジックには、面710が検出ロジックが探していた特徴を含む面であることがわかる。
方法400に戻り、ブロック450において、検出ロジックは非レーザー画像を修正する。一態様において、検出ロジックは、ブロック425において使用されたのと同じパラメータを使用して、レーザーが動作を停止している時にキャプチャされた画像を修正する。
ブロック455において、検出ロジックは、エッジ検出を使用して修正された非レーザー画像において特徴の境界を検出する。3D点群は、画像及びカメラにおいてキャプチャされたオブジェクト間の距離を識別するのに良いが、点群は、特定の特徴の境界又はエッジ、すなわち孔の外周を識別するのにはあまり良くない場合がある。このため、方法400は非レーザー画像とエッジ検出アルゴリズムを使用して、特徴の境界を識別する。
一般に、エッジ検出方法は、特徴の境界に対応する非レーザー画像内の画素を識別するものである。この実施例では、検出ロジックは、ブラケット205の孔の外周を画定する画素の一部又は全てを識別する。一態様では、検出ロジックは、2D画像面において、(本明細書においてu、v座標と称される)画素の座標位置に従って画素を識別する。この画素と、画像における画素の座標のリストが次に、特徴検出システムに保存されうる。本明細書に記載される態様は、任意の特定の種類のエッジ検出方法に限定されない。その代わりに、特徴の一又は複数のエッジに対応する画素を識別するいずれかの方法が使用されうる。
ブロック460において、検出ロジックは、特徴の境界を画定する非レーザー画像における画素位置に対応する3D点を決定する。つまり、ブロック455を実施した後、検出ロジックには、特徴の境界を画定する画素の位置がわかっているが、検出ロジックには3D空間における特徴の境界の位置がわからない。言い換えれば、検出ロジックには、2D画像面において特徴の境界がどこにあるかがわかっているが、自由空間においてはそうではない。
一態様では、検出ロジックは、画像面の境界の位置を3D空間に投影する。しかしながら、これらの位置の3D点群への投影ではノイズが発生する場合があり、予測不能な結果につながりかねない。その代りに、検出ロジックは、ブロック440において識別された面のうちの1つの上に境界の画素位置を投影しうる。
方程式1は、画像面の画素位置に、空間における3D位置を投影するのに使用される方程式を表す。
方程式1において、fx及びfyはx及びy方向のレンズの焦点距離であり、cx及びcyはx及びy方向のレンズの光学軸であり、値rxxは、カメラの正規化座標と、定義されたカメラの外部座標との間の変換マトリクスを定義する。これらの値は、カメラの製造によって得られうる、あるいは、カメラの較正中に決定されうる。値u及びvは、画像面における画素位置であり、X、Y、及びZは、3D空間における対応する画素位置を定義する。一般に、方程式1は、投影方程式と称される。
更に、方程式2は、3D空間において面を定義する方程式である。
値a、b、c、及びdは面の係数であり、X、Y、及びZは面上の任意の点を表す。上述したように、3D点群における面の係数はブロック440において決定される。そこで、3D点群において様々な所定の幾何学的形状(例えば面)を識別するために、面適合が使用される。そして検出ロジックにより、その後方程式2で使用されうるこれら各面の面係数が導き出される。具体的には、検出ロジックは、方法400のブロック445において識別された面である、探している特徴を含む面の係数を使用する。図7及び8に示すように、特徴(例:孔)を含む面は、面710である。このため、検出ロジックは、面710の面係数を、方程式2の値a、b、c、及びdとして使用する。
方程式1を方程式2と比較することによってわかるように、方程式はいずれも[X、Y、Z、1]によって定義される同じベクトルを共有する。このため、これらの方程式を結合させて、方程式3が生成されうる。
方程式3は、4つの変数(X、Y、Z、及びs)を有する4つの方程式システムを表すものである。解法を使用して、検出ロジックは、画像面における画素に対応する(変数X、Y、及びZによって定義される)面の3D点を識別しうる。一態様では、面係数a、b、c、及びdは、探している特徴(すなわち、図7の面710)を含む面に対応するため、画素位置を面710の3D点に投影するために方程式3が使用されうる。検出ロジックは、方程式3を使用して、方法400のブロック455において検出された特徴の境界を画定する画素位置に対応する面710の3D点を識別する。3D座標を識別するために、検出ロジックは特徴の境界における特定の画素位置を方程式3の値u及びvとして使用し、次に4つの方程式を解いて、X、Y、Z、及びs(すなわちスカラー値)を識別する。ブロック445において識別された境界における各画素位置に対してこのプロセスを繰り返すことによって、検出ロジックは面710の特徴の境界の3D座標を識別する。
図9に、境界の画素位置に対応する3D座標を示す。具体的には、チャート900における一連の点905は、図7に示す面710の3D座標である。各点905は、ブロック455においてエッジ検出を行っている時に識別された画素位置のうちの1つに対応する。図からわかるように、エッジ検出により、孔の外周に沿った全ての画素位置が識別される、あるいは、孔の境界にある画素位置のみが識別される必要はない。例えば、検出ロジックは、非レーザー画像がキャプチャされる角度、特徴検出システムによって使用されるフラッシュの輝度により、又は特徴の一部が閉鎖されている場合に、特徴の境界全部を検出しうる。更に、検出システムは、破片、引っかき傷、又はその他画像においてエッジに見える画素領域のために、境界にはない点を検出しうる。
方法400に戻り、ブロック465において、検出ロジックは、特徴適合技法を使用して特徴の座標を決定する。図9において、検出ロジックは、所望の特徴に対応する3D座標を識別するために、円適合技法を実施する。例えば、プログラマーには特徴、すなわち孔が円状の境界(すなわち予期される幾何学的形状)を有することがわかっている。このため、プログラマーは検出ロジックに、孔の境界の3D座標を識別するために円適合技法を使うように指示する。円適合技法により、3D点に対応する点905が評価され、予期される形状、この実施例では円に対応する点が識別される。
ここで、3D点905を評価することによって、円適合技法により円910が識別される。その際、円適合技法は、エッジ検出プロセスの間に検出された外れ値又は誤りのある3D点を識別し、無視しうる。チャート900で示すように、点905のうちの幾つか(特にチャートの左下の点)は、円910内に適合しない。これらのドットは、影、又は非レーザー画像を撮影している時に使用された不適切な角度の結果でありうる。それにも関わらず、これらの外れ値があったとしても、図9には、検出ロジックが特徴の外周、すなわち円の予期される幾何学的形状を識別しうることが示されている。
円910が識別されたら、検出ロジックは、円910に沿った3D位置を特徴の境界として指定する。つなり、検出ロジックは、円910に沿った一又は複数の3D点を、自由空間における特徴の位置、すなわち孔の外周として決定する。これらの3D点は次に、ロボットによって、孔を通して配置されたボルトの位置を正確に決定するために使用されうる。例えば、検出ロジックは、(ブロック440において識別された)面に対して垂直の方向、及び円910に沿った3D位置を使用して、自由空間において特徴を通して挿入されるボルトの先端の位置を正確に予測しうる。この位置を使用して、ロボットは、製造プロセスにおいて2つ以上の構成要素を互いに連結させるために、ボルトの先端にファスナ(例:ナット)を配置しうる。
円適合技法を上述したが、検出ロジックは、特定の特徴の形状により異なる技法を使用しうる。例えば、特徴がボルトである場合、検出ロジックはブロック465において、ボルトの3D境界を識別するために円筒を使用しうる。特徴がナットである場合、検出ロジックは、ナットの単一の境界又は複数の境界を識別するために、六角形又は正方形を予期される形状として使用しうる。
つまり、本明細書に記載される態様は、立体カメラ(例えばレーザー画像)によってキャプチャされた2つの画像を使用して、自由空間において特徴を識別するために使用されうる。このため、検出ロジックは、2つの画像から生成された3D点群において所定の幾何学的形状を識別する。例えば、3D点群において異なる面を識別するために、面適合が使用されうる。3D点群において面を識別することによって、特徴検出システムは、3D空間において特徴の位置を識別するために3D点群を直接使用しなくてもよくなる。本システムは、エッジ検出を使用して、カメラのうちの1つによってキャプチャされた画像(例:非レーザー画像)において特徴の境界を検出する。すなわち、特徴検出システムは、特徴の境界を画定する画像の画素を決定する。本システムは次に、面適合を実施することによって、識別された面のうちの1つの面上にこれらの画素位置を投影する。そうすることで、次に製造プロセスを実施するためにロボットによって使用されうる特徴の3D座標が生成される。
様々な態様の記載は、例示を目的として提示されているものであり、網羅的であること、または開示された態様に限定されることは意図されていない。当業者には、記載した態様の範囲及び精神から逸脱することなく、多数の修正形態及び変形形態が明らかになるであろう。本書で使用される用語は、市場において見られる技術の諸態様、実際的な施用、もしくは技術的改良の原理を最も良く説明するため、または本明細書で開示する諸態様を他の当業者に理解せしめるために、選択されたものである。
前の段落において、本開示で提示される諸態様が参照される。しかし、本開示の範囲は、記載される具体的な諸態様に限定されない。代わりに、検討される諸態様の実装及び実施のため、種々の諸態様に関連しているかどうかに関わらず、以下の特徴及び要素の任意の組み合わせが検討される。さらに、本明細書で開示される諸態様によって他の可能な解決法または先行技術と比べた利点が達成可能であるかもしれないが、具体的な利点が所与の態様によって達成されるかどうかは、本開示の範囲を限定するものではない。したがって、先の態様、特徴、及び利点は単なる例示であり、添付の特許請求の範囲で明示されていない限り、特許請求の範囲の要素であると考えたり、または特許請求の範囲を限定すると考えるべきではない。
諸態様は、専らハードウェアである態様、専らソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)である態様、またはソフトウェアとハードウェアの態様を組み合わせた態様の形式をとり得る。本書では、それらは全て「回路」、「モジュール」または「システム」と広く称され得る。
諸態様とは、システム、方法、及び/またはコンピュータプログラム製品であり得る。コンピュータプログラム製品は、本書に記載の諸態様をハードウェア及びソフトウェアを含むプロセッサに実行させるコンピュータ可読プログラム命令を内に有する、コンピュータ可読記憶媒体(単数または複数)を含み得る。
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持及び記憶することが可能な、有形の装置であることができる。コンピュータ可読記憶媒体は、限定しないが例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストには、ポータブルコンピュータ用ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROM またはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、持ち運び可能なコンパクトディスク読出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、パンチカードまたは記録された命令を有する溝内の隆起構造といった機械的にエンコードされた装置、及びこれらの任意の適切な組み合わせ、が含まれる。コンピュータ可読記憶媒体とは、本明細書で使用される場合、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を通って伝播する電磁波(例えば光ファイバーケーブルを通過する光パルス)、または電線を通って伝送される電気信号といった、一過性信号それ自体と解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からハードウェア及びソフトウェアを含む各コンピュータデバイス/処理デバイスに対して、または、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/もしくはワイヤレスネットワークといったネットワークを経由して外部のコンピュータもしくは外部記憶装置に対して、ダウンロード可能である。ネットワークは、銅の伝送ケーブル、光伝送ファイバー、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/またはエッジサーバを含み得る。各コンピュータデバイス/処理デバイスのネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各コンピュータデバイス/処理デバイス内のコンピュータ可読記憶媒体内に保存するために、該コンピュータ可読プログラム命令を転送する。
様々な態様の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、スモールトーク、C++などといったオブジェクト指向プログラミング言語、及び、プログラミング言語「C」または同様のプログラミング言語といった従来型の手続き型プログラミング言語を含む、1以上のプログラミング言語の任意の組み合わせによって書かれたソースコードもしくはオブジェクトコードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上且つ部分的にリモートコンピュータ上で、または完全にリモートのコンピュータもしくはサーバ上で、実行され得る。後者の場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るか、または、(例えば、インターネットサービスプロバイダを利用してインターネットを介して)外部のコンピュータへの接続がなされてもよい。いくつかの態様では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本開示の諸態様を実行する目的で該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行してよい。
方法、装置(システム)、及びコンピュータプログラム製品のフロー図及び/またはブロック図を参照して、本明細書で諸態様が記載される。フロー図及び/またはブロック図の各ブロック、並びにフロー図及び/またはブロック図のブロックの組み合わせが、コンピュータ可読プログラム命令によって実行可能であることは、理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行を行う命令が、フロー図及び/またはブロック図の一または複数のブロック内で特定されている機能/動作を実装するための手段を生成するように、汎用コンピュータ、特殊用途コンピュータ、または、機器を作製するための他のプログラマブルデータ処理装置のプロセッサに、提供され得る。これらのコンピュータ可読プログラム命令は、コンピュータに命令可能なコンピュータ可読記憶媒体内、プログラム可能なデータ処理装置内、及び/または特有の方法で機能する他の装置内にもまた、記憶され得る。それによって、命令が記憶されているコンピュータ可読記憶媒体には、該フロー図及び/またはブロック図の単数もしくは複数のブロックで特定されている機能/動作の態様を実装する命令を含む製品が含まれる。
コンピュータ可読プログラム命令はまた、一連の動作ステップをコンピュータ上、他のプログラム可能な装置上、またはコンピュータに実装されるプロセスを生み出す他の装置上で実行させるために、コンピュータ、他のプログラム可能なデータ処理装置、または他の装置にもロードされうる。これによって、コンピュータ上、他のプログラム可能な装置上、または他の装置上で実行される命令は、該フロー図及び/またはブロック図の単数もしくは複数のブロックで特定されている機能/動作を実装する。
図面のフロー図及びブロック図は、本明細書に開示された様々な態様によるシステム、方法及びコンピュータプログラム製品の可能な実装態様のアーキテクチャ、機能性、及び操作を示すものである。その際、フロー図及びブロック図の各ブロックは、特定の一又は複数の論理機能を実装する一又は複数の実行可能な命令を含む命令のモジュール、セグメント、又は部分を表し得る。いくつかの代替的な実施態様では、ブロックに記載された機能は図面に記載された順序を逸脱して現われてよい。例えば、場合によっては、連続して示されている2つのブロックはほぼ同時に実行されてもよく、または、含まれる機能によってはブロックは逆順に実行されてもよい。ブロック図及び/またはフロー図の各ブロック、並びにブロック図及び/またはフロー図のブロックの組み合わせは、特定機能または動作を行う特殊用途のハードウェアベースのシステムによって実装可能であるか、または特殊用途のハードウェア及びコンピュータ命令の組み合わせによって実行可能であることもまた、留意されるであろう。
更に、本開示は下記の条項による実施形態を含む。
条項1.第1の電磁センサと、
第1の電磁センサとの固定された空間関係に配置された第2の電磁センサと、
プロセッサと、
メモリに保存された検出ロジックと
を備え、
プロセッサによって実行された時に、メモリに保存された検出ロジックが、
第1の電磁センサ及び第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて3D 点群を生成し、
3D点群において少なくとも1つの所定の幾何学的形状を識別し、
第1の電磁センサ及び前記第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別し、
境界画素に対応する特徴の3D位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影する
ように動作可能である、
特徴検出システム。
条項2.3D点群において所定の幾何学的形状を識別することが、
3D点群において所定の幾何学的形状の複数のインスタンスを識別することと、
所定の幾何学的形状のインスタンスを、第1の電磁センサと第2の電磁センサの少なくとも1つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することと
を含む、条項1に記載の特徴検出システム。
条項3.第1の電磁センサと第2の電磁センサはそれぞれ可視光カメラであり、特徴検出システムが更に、
ランダムドットパターンを放射するように構成されたレーザーを備え、
可視光カメラによってキャプチャされた画像は、ランダムドットパターンの少なくとも一部を含む、条項1に記載の特徴検出システム。
条項4.境界画素が、可視光カメラのうちの1つによりキャプチャされた第1の画像を使用して識別され、第1の画像は、レーザーが動作を停止している時にキャプチャされる、条項3に記載の特徴検出システム。
条項5.境界画素を識別することが、
第1の画像においてエッジ検出を実施することを含み、
境界画素が、2D画像面上に位置している、条項4に記載の特徴検出システム。
条項6.3D点群を生成することが、
第1の電磁センサによってキャプチャされた第1の画像におけるオブジェクトの位置を、第2の電磁センサによってキャプチャされた第2の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第1の電磁センサ及び第2の電磁センサとの間の距離を示す視差マップを生成することと、
視差マップに基づいて3D点群を生成することとを含む、条項1に記載の特徴検出システム。
条項7.検出ロジックが、
特徴の3D位置を特徴の予測される幾何学的形状に適合させるように構成され、3D位置のうちの幾つかは、外れ値として識別され無視される、条項1に記載の特徴検出システム。
条項8.第1の電磁センサと第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて3D点群を生成することであって、第1の電磁センサは、第2の電磁センサとの固定された空間関係に配置されている、生成することと、
3D点群において少なくとも1つの所定の幾何学的形状を識別することと、
第1の電磁センサと第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することと、
境界画素に対応する特徴の3D位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影することと
を含む方法。
条項9.3D点群において所定の幾何学的形状を識別することが、
3D点群において所定の幾何学的形状の複数のインスタンスを識別することと、
所定の幾何学的形状のインスタンスを、第1の電磁センサと第2の電磁センサの少なくとも1つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することと
を含む、条項8に記載の方法。
条項10.第1の電磁センサと第2の電磁センサはそれぞれ可視光カメラであり、
方法が更に、ランダムドットパターンを放射するレーザーを起動することを含み、可視光カメラによってキャプチャされた画像が、ランダムドットパターンの少なくとも一部を含む、条項8に記載の方法。
条項11.面適合技法を使用して、識別された幾何学的形状に対応する係数を決定することであって、係数は自由空間における面を表す、決定することを更に含み、
識別された幾何学的形状に境界画素の位置を投影することが、係数によって定義される面に境界画素の位置を投影することとを含む、条項10に記載の方法。
条項12.境界画素を識別することが、
第3の画像においてエッジ検出を実施すること
を含み、
境界画素は2D画像面に位置している、条項8に記載の方法。
条項13.3D点群を生成することが、
第1の電磁センサによってキャプチャされた第1の画像におけるオブジェクトの位置を、第2の電磁センサによってキャプチャされた第2の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第1の電磁センサ及び第2の電磁センサとの間の距離を示す視差マップを生成することと、
視差マップに基づいて3D点群を生成することと
を含む、条項8に記載の方法。
条項14.特徴を検出するためのコンピュータ可読記憶媒体であって、
一又は複数のコンピュータプロセッサによって、
第1の電磁センサ及び第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて3D 点群を生成することであって、第1の電磁センサが第2の電磁センサとの固定された空間関係に配置される、生成することと、
3D点群において少なくとも1つの所定の幾何学的形状を識別することと、
第1の電磁センサ及び前記第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することと、
境界画素に対応する特徴の3D位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影することと
を実行可能なコンピュータ可読プログラムコードを含む、コンピュータ可読記憶媒体。
条項15.3D点群において所定の幾何学的形状を識別することが、コンピュータ可読プログラムコードに
3D点群において所定の幾何学的形状の複数のインスタンスを識別することと、
所定の幾何学的形状のインスタンスを、第1の電磁センサと第2の電磁センサの少なくとも1つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することと
を実行させることを含む、条項14に記載のコンピュータ可読記憶媒体。
条項16.第1の電磁センサと第2の電磁センサがそれぞれ可視光カメラであり、記憶媒体が更にコンピュータ可読プログラムコードに、
ランダムドットパターンを放射するレーザーを起動すること
を実行させることを含み、可視光カメラによってキャプチャされた画像は、ランダムドットパターンの少なくとも一部を含む、条項14に記載のコンピュータ可読記憶媒体。
条項17.境界画素が、可視光カメラのうちの1つによってキャプチャされた第1の画像を使用して識別され、第1の画像は、レーザーが動作を停止している時にキャプチャされる、条項16に記載のコンピュータ可読記憶媒体。
条項18.コンピュータ可読プログラムコードに、
面適合技法を使用して、識別された幾何学的形状に対応する係数を決定すること
を実行させることを更に含み、
識別された幾何学的形状の境界画素の位置を投影することが、境界画素の位置を係数によって定義された面に投影することを含む、条項14に記載のコンピュータ可読記憶媒体。
条項19.境界画素を識別することがコンピュータ可読プログラムコードに、
第3の画像においてエッジ検出を実施すること
を含み、境界画素は2D画像面に位置している、条項14に記載のコンピュータ可読記憶媒体。
条項20.3D点群を生成することがコンピュータ可読プログラムコードに、
第1の電磁センサによってキャプチャされた第1の画像におけるオブジェクトの位置を、第2の電磁センサによってキャプチャされた第2の画像におけるオブジェクトの位置と比較することによって、第1の電磁マップ及び第2の電磁マップとオブジェクトとの間の距離を示す視差マップを生成することと、
視差マップに基づいて3D点群を生成することと
を実行させることを含む、条項14に記載のコンピュータ可読記憶媒体。
前記は本発明の諸態様を対象としているが、本発明の他の、及びさらなる態様は、その基本的な範囲及び以下の特許請求の範囲によって決定されるその範囲を逸脱することなく、考案され得る。

Claims (13)

  1. 第1の電磁センサと、
    前記第1の電磁センサとの固定された空間関係に配置された第2の電磁センサと、
    プロセッサと、
    メモリに保存された検出ロジックと
    を備え、
    前記プロセッサによって実行された時に、前記メモリに保存された検出ロジックが、
    前記第1の電磁センサ及び前記第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて3D点群を生成し、
    前記3D点群において少なくとも1つの所定の幾何学的形状を識別し、
    前記第1の電磁センサ及び前記第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別し、
    前記境界画素に対応する前記特徴の3D位置を識別するために、前記識別された幾何学的形状上に前記境界画素の位置を投影する
    ように動作可能である、
    特徴検出システム。
  2. 前記3D点群において前記所定の幾何学的形状を識別することが、
    前記3D点群において前記所定の幾何学的形状の複数のインスタンスを識別することと、
    前記所定の幾何学的形状の前記インスタンスを、前記第1の電磁センサと前記第2の電磁センサの少なくとも1つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
    前記特徴を含むモデル形状と一致する前記所定の幾何学的形状のインスタンスを識別することによって、前記識別された幾何学的形状を選択することと
    を含む、請求項1に記載の特徴検出システム。
  3. 前記第1の電磁センサと前記第2の電磁センサはそれぞれ可視光カメラであり、前記特徴検出システムが更に、
    ランダムドットパターンを放射するように構成されたレーザーを備え、
    前記可視光カメラによってキャプチャされた画像は、前記ランダムドットパターンの少なくとも一部を含む、請求項1に記載の特徴検出システム。
  4. 前記境界画素が、前記可視光カメラのうちの1つによりキャプチャされた第1の画像を使用して識別され、前記第1の画像は、前記レーザーが動作を停止している時にキャプチャされる、請求項3に記載の特徴検出システム。
  5. 前記境界画素を識別することが、
    前記第1の画像においてエッジ検出を実施することを含み、
    前記境界画素が、2D画像面上に位置している、請求項4に記載の特徴検出システム。
  6. 前記3D点群を生成することが、
    前記第1の電磁センサによってキャプチャされた第1の画像におけるオブジェクトの位置を、前記第2の電磁センサによってキャプチャされた第2の画像における前記オブジェクトの位置と比較することによって、前記オブジェクトと、前記第1の電磁センサ及び前記第2の電磁センサとの間の距離を示す視差マップを生成することと、
    前記視差マップに基づいて前記3D点群を生成することとを含む、請求項1に記載の特徴検出システム。
  7. 前記検出ロジックが、
    前記特徴の前記3D位置を前記特徴の予測される幾何学的形状に適合させるように構成され、前記3D位置のうちの幾つかは、外れ値として識別され無視される、請求項1に記載の特徴検出システム。
  8. 第1の電磁センサと第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて3D点群を生成することであって、前記第1の電磁センサは、前記第2の電磁センサとの固定された空間関係に配置されている、生成することと、
    前記3D点群において少なくとも1つの所定の幾何学的形状を識別することと、
    前記第1の電磁センサと前記第2の電磁センサのうちの少なくとも1つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することと、
    前記境界画素に対応する前記特徴の3D位置を識別するために、前記識別された幾何学的形状上に前記境界画素の位置を投影することと
    を含む方法。
  9. 前記3D点群において前記所定の幾何学的形状を識別することが、
    前記3D点群において前記所定の幾何学的形状の複数のインスタンスを識別することと、
    前記所定の幾何学的形状の前記インスタンスを、前記第1の電磁センサと前記第2の電磁センサの少なくとも1つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
    前記特徴を含むモデル形状と一致する前記所定の幾何学的形状のインスタンスを識別することによって、前記識別された幾何学的形状を選択することと
    を含む、請求項8に記載の方法。
  10. 前記第1の電磁センサと前記第2の電磁センサはそれぞれ可視光カメラであり、
    前記方法が更に、ランダムドットパターンを放射するレーザーを起動することを含み、前記可視光カメラによってキャプチャされた画像が、前記ランダムドットパターンの少なくとも一部を含む、請求項8に記載の方法。
  11. 面適合技法を使用して、前記識別された幾何学的形状に対応する係数を決定することであって、前記係数は自由空間における面を表す、決定することを更に含み、
    前記識別された幾何学的形状に前記境界画素の前記位置を投影することが、前記係数によって定義される前記面に前記境界画素の前記位置を投影することとを含む、請求項10に記載の方法。
  12. 前記境界画素を識別することが、
    第3の画像においてエッジ検出を実施することを含み、
    前記境界画素は2D画像面に位置している、
    請求項8に記載の方法。
  13. 前記3D点群を生成することが、
    前記第1の電磁センサによってキャプチャされた第1の画像におけるオブジェクトの位置を、前記第2の電磁センサによってキャプチャされた第2の画像における前記オブジェクトの位置と比較することによって、前記オブジェクトと、前記第1の電磁センサ及び前記第2の電磁センサとの間の距離を示す視差マップを生成することと、
    前記視差マップに基づいて前記3D点群を生成することと
    を含む、請求項8に記載の方法。
JP2016204026A 2015-11-03 2016-10-18 ロボットを案内するための特徴位置の特定 Active JP6871712B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/930,931 US10002431B2 (en) 2015-11-03 2015-11-03 Locating a feature for robotic guidance
US14/930,931 2015-11-03

Publications (2)

Publication Number Publication Date
JP2017123147A true JP2017123147A (ja) 2017-07-13
JP6871712B2 JP6871712B2 (ja) 2021-05-12

Family

ID=56979336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016204026A Active JP6871712B2 (ja) 2015-11-03 2016-10-18 ロボットを案内するための特徴位置の特定

Country Status (3)

Country Link
US (1) US10002431B2 (ja)
EP (1) EP3166043B1 (ja)
JP (1) JP6871712B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109655009A (zh) * 2017-10-10 2019-04-19 南京金正奇交通设备有限责任公司 一种高铁构件快速检测系统
EP3495202B1 (en) * 2017-12-05 2020-08-19 Guima Palfinger S.A.S. Truck-mountable detection system
US10664974B2 (en) 2018-02-23 2020-05-26 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for object detection using edge characteristics
JP2019158691A (ja) * 2018-03-15 2019-09-19 セイコーエプソン株式会社 制御装置、ロボット、ロボットシステム,及び、物体を認識する方法
US10657419B2 (en) * 2018-03-28 2020-05-19 The Boeing Company Machine vision and robotic installation systems and methods
US10935365B2 (en) * 2018-04-18 2021-03-02 Faro Technologies, Inc. Mounting arrangement for 3D sensor
US11040452B2 (en) * 2018-05-29 2021-06-22 Abb Schweiz Ag Depth sensing robotic hand-eye camera using structured light
US10964053B2 (en) * 2018-07-02 2021-03-30 Microsoft Technology Licensing, Llc Device pose estimation using 3D line clouds
US11029146B2 (en) 2018-10-18 2021-06-08 Cyberoptics Corporation Three-dimensional sensor with counterposed channels
US10839556B2 (en) 2018-10-23 2020-11-17 Microsoft Technology Licensing, Llc Camera pose estimation using obfuscated features
JP2020149672A (ja) * 2019-03-11 2020-09-17 株式会社ミツトヨ 測定結果表示装置及びプログラム
US10488185B1 (en) * 2019-03-14 2019-11-26 The Boeing Company Methods and systems for characterizing a surface of a structural component
US11120280B2 (en) 2019-11-15 2021-09-14 Argo AI, LLC Geometry-aware instance segmentation in stereo image capture processes
CN111156983B (zh) * 2019-11-19 2023-06-13 石化盈科信息技术有限责任公司 目标设备定位方法、装置、存储介质以及计算机设备
FR3105053B1 (fr) * 2019-12-20 2022-09-09 Airbus Operations Sas Procédé de vissage ou de sertissage automatisé et dispositif pour sa mise en œuvre
CN113103226A (zh) * 2021-03-08 2021-07-13 同济大学 一种面向陶瓷素坯加工制造的视觉引导机器人系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006048725A1 (de) * 2006-10-16 2008-04-17 Robert Bosch Gmbh Verfahren zum Ermitteln der Drehachse eines Fahrzeugrades
US9098908B2 (en) * 2011-10-21 2015-08-04 Microsoft Technology Licensing, Llc Generating a depth map
US9324190B2 (en) * 2012-02-24 2016-04-26 Matterport, Inc. Capturing and aligning three-dimensional scenes
CN104346608B (zh) 2013-07-26 2017-09-08 株式会社理光 稀疏深度图稠密化方法和装置
TWI534755B (zh) * 2013-11-20 2016-05-21 財團法人資訊工業策進會 三維立體模型之建立方法和裝置
US9436987B2 (en) * 2014-04-30 2016-09-06 Seiko Epson Corporation Geodesic distance based primitive segmentation and fitting for 3D modeling of non-rigid objects from 2D images

Also Published As

Publication number Publication date
JP6871712B2 (ja) 2021-05-12
US20170124714A1 (en) 2017-05-04
EP3166043B1 (en) 2018-12-05
EP3166043A1 (en) 2017-05-10
US10002431B2 (en) 2018-06-19

Similar Documents

Publication Publication Date Title
JP6871712B2 (ja) ロボットを案内するための特徴位置の特定
TWI566204B (zh) 三維物件識別技術
JP6465789B2 (ja) デプスカメラの内部パラメータを算出するプログラム、装置及び方法
US10867407B2 (en) System and methods for extrinsic calibration of cameras and diffractive optical elements
US10452949B2 (en) System and method for scoring clutter for use in 3D point cloud matching in a vision system
CN112652016B (zh) 点云预测模型的生成方法、位姿估计方法及其装置
JP5539138B2 (ja) シーンにおける物体の姿勢を求めるためのシステム及び方法
KR102011564B1 (ko) 비전 시스템에서 3d 정렬 알고리즘의 자동 선택을 위한 시스템 및 방법
US9639942B2 (en) Information processing apparatus, information processing method, and storage medium
US11446822B2 (en) Simulation device that simulates operation of robot
CN108495113B (zh) 用于双目视觉系统的控制方法和装置
KR20220137926A (ko) 복합 3차원 블롭 도구 및 그 작동 방법
Kinnell et al. Autonomous metrology for robot mounted 3D vision systems
KR102270922B1 (ko) 가정된 캘리브레이션 모델 없이 측정된 데이터를 이용하여 캘리브레이션을 수행하는 방법 및 상기 방법을 수행하는 3차원 스캐너 캘리브레이션 시스템
US20220088784A1 (en) Method and Apparatus for Monitoring Robot System
KR102427739B1 (ko) 거울들을 사용하는 멀티 카메라들의 캘리브레이션을 위한 방법 및 장치
KR101747350B1 (ko) 비주얼 서보잉을 위한 객체의 좌표 인식 방법
CN112819805B (zh) 一种基于一字激光的物体位置识别方法及装置
Kim et al. Pose initialization method of mixed reality system for inspection using convolutional neural network
KR20180107916A (ko) 고정된 패턴 마스크를 이용하여 블랙, 화이트를 프로젝션을 수행하는 방법 및 시스템
KR20180107917A (ko) 서로 다른 편광에 대응하는 패턴 및 인버스 패턴을 이용하는 방법 및 장치
KR101813979B1 (ko) 가정된 캘리브레이션 모델 없이 측정된 데이터를 이용하여 캘리브레이션을 수행하는 방법 및 상기 방법을 수행하는 3차원 스캐너 캘리브레이션 시스템
Xing et al. Target-free Extrinsic Calibration of Event-LiDAR Dyad using Edge Correspondences
CA3173451A1 (en) System for welding at least a portion of a piece and related methods
CN112819805A (zh) 一种基于一字激光的物体位置识别方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210416

R150 Certificate of patent or registration of utility model

Ref document number: 6871712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250