JP2020525305A - ロボットによる製品の品質検査改良方法及びシステム - Google Patents

ロボットによる製品の品質検査改良方法及びシステム Download PDF

Info

Publication number
JP2020525305A
JP2020525305A JP2019571669A JP2019571669A JP2020525305A JP 2020525305 A JP2020525305 A JP 2020525305A JP 2019571669 A JP2019571669 A JP 2019571669A JP 2019571669 A JP2019571669 A JP 2019571669A JP 2020525305 A JP2020525305 A JP 2020525305A
Authority
JP
Japan
Prior art keywords
camera
image
mechanical arm
product
sections
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
JP2019571669A
Other languages
English (en)
Other versions
JP6865865B2 (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.)
Midea Group Co Ltd
Original Assignee
Midea Group Co Ltd
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 Midea Group Co Ltd filed Critical Midea Group Co Ltd
Publication of JP2020525305A publication Critical patent/JP2020525305A/ja
Application granted granted Critical
Publication of JP6865865B2 publication Critical patent/JP6865865B2/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/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • 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
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/9515Objects of complex shape, e.g. examined with use of a surface follower device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by quality surveillance of production
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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/30Measuring arrangements characterised by the use of optical techniques for measuring roughness or irregularity of surfaces
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8854Grading and classifying of flaws
    • G01N2021/8861Determining coordinates of flaws
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8887Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/9515Objects of complex shape, e.g. examined with use of a surface follower device
    • G01N2021/9518Objects of complex shape, e.g. examined with use of a surface follower device using a surface follower, e.g. robot
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • 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/40613Camera, laser scanner on end effector, hand eye manipulator, local
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biochemistry (AREA)
  • Mechanical Engineering (AREA)
  • Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Robotics (AREA)
  • General Health & Medical Sciences (AREA)
  • Immunology (AREA)
  • Chemical & Material Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

(i)製品の表面の第1画像を取り込む第1コマンドを受信することと、(ii)複数の回転関節を作動させることにより、カメラをほぼ製品の表面と隣接する第1位置に位置決めし、かつ、製品の表面の第1画像を取り込むことを含む品質検査改良方法である。当該方法は、第1画像を取り込んだ後、(i)第1画像における欠陥及び欠陥の第1画像における相対的な位置を識別するように、第1画像を処理することと、(ii)カメラの第1位置及び欠陥の第1画像における相対的な位置によって、カメラの第2位置を確定することと、(iii)複数の回転関節を作動させることにより、カメラを第1位置から第2位置に改めて位置決めすることとをさらに含む。当該方法は、第2画像を取り込むことをさらに含む。

Description

本出願は、概ね生産ラインに関し、生産ラインにおける製品の目視検査を含むがこれに限らない。
メーカーは、商品流通に入る不良品数を低減させるために、種々の品質管理の手段を施している。品質管理の手段には、製品の目視検査に関わっているものがある。しかしながら、人間である従業員による目視検査のような従来の目視検査の技術では、よく不良品を見逃すとともに、新たな製品の欠陥(例えば、経年劣化した生産ラインによる製品の欠陥)を考慮する手順が欠けている。従って、製品の欠陥、特に経時的な製品の欠陥を初めに識別することにおいて、課題が存在している。
これにより、不良品が商品流通に入る前に不良品を識別する方法及びシステムが必要になる。この課題を解决する手段の一つとしては、ロボット(例えば、メカニカルアーム402の端部に取り付けられたカメラ408を有するメカニカルアーム402、図4A)により、製品が商品流通に入る前に製品の目視検査を行うことである。こうすると、ロボットは、製品の関連する表面及び/又は特徴(又は、場合によっては、製品の各々の表面及び/又は特徴)を検査することができる。なお、製品の初期検査期間にロボットにより異常が識別される(例えば、ロボットにより取り込まれた画像が異常、例えば、製品の欠陥を含む)と、ロボットは、製品に対するより厳しい検査(例えば、異常に焦点を合わせるように改めて自分を位置付けること)を実行することができる。このようにして、ロボットの精度と正確性及びロボットに繋がっているコンピュータのプロセスパワーを調整することにより、メーカーは商品流通に入る不良品数をさらに低減させることができる。さらに、ロボットは、識別された欠陥のそれぞれに欠陥データベースを作成することができ、当該欠陥データベースは今後、将来の製品上の欠陥の識別に用いられることができる。以下、このようなロボットを操作する方法を述べる。
(A1)幾つかの実施例においては、品質検査改良方法は、複数のセクションと、メカニカルアームの端部に位置するカメラと、複数の回転関節であって、各回転関節はそれぞれ、複数のセクションのうちの2つのセクションを接続し、又は、カメラと複数のセクションのうちの1つのセクションとを接続する、複数の回転関節と、1つ又は複数のプロセッサと、プロセッサにより実行される命令を記憶するためのメモリとを有するメカニカルアーム(例えば、メカニカルアーム300、図3、メカニカルアーム402、図4A)において、(i)製品の表面の第1画像を取り込むコマンドを受信することと、(ii)複数の回転関節を作動させることにより、カメラを製品の表面とほぼ隣接する第1位置に位置決めすることと、カメラが第1位置に位置決めされると、カメラを介して、製品の表面の第1画像を取り込むこととを含む。当該方法は、第1画像を取り込んだ後、(i)第1画像における欠陥及び欠陥の第1画像における相対的な位置を識別するように、第1画像を処理することと、(ii)カメラの第1位置及び欠陥の第1画像における相対的な位置によって、カメラの第2位置を確定することと、(iii)複数の回転関節を作動させることにより、カメラを第1位置から第2位置に改めて位置決めすることとをさらに含む。第2位置と製品の表面は、第1位置と製品の表面との空間関係と異なる空間関係を有する。当該方法は、カメラが第2位置に位置決めされると、カメラを介して、製品の表面の第2画像を取り込むことをさらに含む。
(A2)A1の方法の幾つかの実施例において、カメラが第1位置に位置決めされたとき、カメラと製品の表面との間に第1距離が置かれ、カメラが第2位置に改めて位置決めされたとき、カメラと製品の表面との間に第2距離が置かれ、かつ、第2距離が第1距離よりも小さい。
(A3)A1からA2のいずれか一項の方法による幾つかの実施例において、カメラが第1位置に位置決めされたとき、カメラが第1焦点距離に設置され、カメラが第2位置に改めて位置決めされたとき、カメラが第2焦点距離に設置され、かつ、第2焦点距離が第1焦点距離よりも大きい。
(A4)A1からA3のいずれか一項の方法による幾つかの実施例において、当該方法は、製品の表面の第1画像及びカメラの第1位置から、製品のサイズを確定することと、確定されたサイズに基づき、メカニカルアームのために作業空間を割り当てることとをさらに含む。サイズは、製品の高さ、幅、長さと体積のうちの1つ又は複数を含んでよい。幾つかの実施例において、メカニカルアームの構成に基づき、メカニカルアーム用の作業空間をさらに確定する。例えば、第1構成を有するメカニカルアーム(例えば、メカニカルアーム402、図4A)は、第1作業空間に(例えば、第1作業空間方程式を用いて)割り当てられてもよく、また、第2構成を有するメカニカルアーム(例えば、メカニカルアーム440、図4C)は、第2作業空間に(例えば、第2作業空間方程式を用いて)割り当てられてもよい。
(A5)A1からA4のいずれか一項の方法による幾つかの実施例において、メカニカルアームのために確定された作業空間内に、カメラを第1位置に位置決めすること、及びカメラを第1位置から第2位置に改めて位置決めすることを実行する。
(A6)A1からA5のいずれか一項の方法による幾つかの実施例において、複数の回転関節は、メカニカルアームに4自由度(例えば、少なくとも幾つかの実施例において、メカニカルアーム402は4自由度を有する)を付与する。
(A7)A1からA5のいずれか一項の方法による幾つかの実施例において、複数の回転関節は、メカニカルアームに5自由度(例えば、少なくとも幾つかの実施例において、メカニカルアーム420は5自由度を有する)を付与する。
(A8)A1からA7のいずれか一項の方法による幾つかの実施例において、複数の回転関節のうちの第1群の回転関節は、第1軸周りに回転し、かつ、複数の回転関節のうちの第2群の回転関節は、第2軸周りに回転する。
(A9)A1からA8のいずれか一項の方法による幾つかの実施例において、第1群の回転関節は、本体回転関節(例えば、回転関節406−B及び406−C、図4A)であり、かつ、第2群の回転関節は、端部回転関節(例えば、回転関節406−A及び406−D、図4A)である。
(A10)A1からA9のいずれか一項の方法による幾つかの実施例において、当該方法は、(i)複数の回転関節を作動させることにより、カメラを、1つ又は複数の追加の位置に改めて位置決めし、各追加の位置はそれぞれ、ほぼ製品における対応する追加の表面と隣接することと、(ii)カメラが1つ又は複数の追加の位置に位置決めされると、カメラを介して、製品における対応する各追加の表面の追加の画像を取り込むこととをさらに含む。
(A11)A1からA10のいずれか一項の方法による幾つかの実施例において、製品は、回転可能な基台(例えば、回転可能な基台410、図4A)に置かれる。なお、当該方法は、第1画像を取り込んだ後、欠陥の第1画像における相対的な位置に応じて、回転可能な基台を回転させることをさらに含む。回転可能な基台を回転させた後、第2画像を取り込む。
(A12)他の態様においては、メカニカルアーム(例えば、メカニカルアーム300、図3)を提供する。メカニカルアームは、複数のセクションと、メカニカルアームの端部に位置するカメラと、複数の回転関節であって、各回転関節はそれぞれ、複数のセクションのうちの2つのセクションを接続し、又は、カメラと複数のセクションのうちの1つのセクションとを接続する、複数の回転関節と、1つ又は複数のプロセッサと、1つ又は複数のプログラムを記憶するメモリとを備え、1つ又は複数のプログラムが1つ又は複数のプロセッサにより実行されると、メカニカルアームがA1からA11のいずれか一項に記載の方法を実行するようにする。
(A13)さらに他の態様においては、メカニカルアームを提供し、メカニカルアームは、A1からA11のいずれか一項に記載の方法を実行するデバイスを備える。
(A14)さらに他の態様においては、非一時的コンピュータ読み出し可能記憶媒体を提供する。非一時的コンピュータ読み出し可能記憶媒体は、実行可能な命令を記憶し、1つ又は複数のプロセッサ/チップを有するメカニカルアーム(例えば、メカニカルアーム300、図3)により実行されると、メカニカルアームがA1からA11のいずれか一項に記載の方法を実行するようにする。
記載される各種の実施例をより良く理解するために、以下の図面に合わせて下記の具体的な実施形態を参照すべきであり、全ての図面及び明細書において、類似する符号は対応する部分を参照してよい。
幾つかの実施例による製品検査ネットワークのネットワークアーキテクチャの例を示すブロック図である。 幾つかの実施例によるサーバシステムの例を示すブロック図である。 幾つかの実施例によるメカニカルアームの例を示すブロック図である。 幾つかの実施例による製品を検査するためのメカニカルアームの例の図である。 幾つかの実施例による製品を検査するためのメカニカルアームの例の図である。 幾つかの実施例による製品を検査するためのメカニカルアームの例の図である。 幾つかの実施例により、メカニカルアームにより製品の第1画像を取込むこと、及び得られた欠陥付きの画像を示す図である。 幾つかの実施例により、メカニカルアームにより製品の第1画像を取込むこと、及び得られた欠陥付きの画像を示す図である。 幾つかの実施例により、メカニカルアームにより製品の第2画像を取込むこと、及び得られた欠陥付きの画像を示す図である。 幾つかの実施例により、メカニカルアームにより製品の第2画像を取込むこと、及び得られた欠陥付きの画像を示す図である。 幾つかの実施例による欠陥モデル、及び欠陥モデルに加えられた新たな欠陥を示す図である。 幾つかの実施例による欠陥モデル、及び欠陥モデルに加えられた新たな欠陥を示す図である。 幾つかの実施例による品質検査改良方法を示すフローチャートである。
今、実施例を参照するが、実施例を図面に示している。下記において、記載される各種の実施例が理解されるように、幾つかの具体的な詳細を説明する。しかしながら、当業者にとって明らかなこととして、記載される各種の実施例は、これらの具体的な詳細がなくても実現可能である。一方、実施例のことが必要以上に理解され難くならないように、周知の方法、工程、部材、回路やネットワークを詳細に記載していない。
また、第1、第2などの用語で各種の素子を説明する場合があるが、これらの素子はこれらの用語に制限されるべきではないということが理解される。これらの用語は、1つの素子ともう1つの素子を区分するためだけに用いる。例えば、記載される各種の実施例の範囲から逸脱しない場合には、第1画像は、第2画像と称されてもよく、また同様に、第2画像は第1画像と称されてもよい。第1画像と第2画像とは何れも画像であるが、それらは同一の画像ではない。
本文に記載される各種の実施例の記載に使用される用語は、ただ特定の実施例を説明するためであり、限定する意図はない。記載される各種の実施例及び付属する特許請求の範囲の記載に使用される場合に、文脈に別途明らかに指摘していない限り、「1つ」、「一種」や「当該」という単数形も、複数形を含むことを意図する。また、理解すべきことは、本文に用いられる「及び/又は」という用語が、1つ又は複数の関連する挙げられた事項の何れかと全ての可能な組合せを含むことを意味する。また、理解されることは、本明細書中に用いられる場合、「備える」及び/又は「含む」という用語が、記述される特徴、全体、工程、操作、素子及び/又は部材の存在を規定するが、1つ又は複数の他の特徴、全体、工程、操作、素子、部材及び/又はその組合せの存在や追加を予め排除しない。
本文に用いられるように、文脈によって、「…すると」という用語は、「…した時」、「…した後」、又は「…確定したことに応じて」、又は「…検出したことに応じて」、又は「…確定したことにより」と選択的に解釈される。同様に、「…確定すると」又は「『述べられた状況又は事件』が検出されると」という言葉遣いは、「…確定した後」、「…確定することに応じて」、又は「『述べられた状況又は事件』を検出した後」、又は「『述べられた状況又は事件』を検出したことに応じて」、又は「『述べられた状況又は事件』を検出したことを確定したことに応じて」と選択的に解釈される。
本文に用いられるように、「例示」という用語は、「その同種のもののうちの最も好ましいものを表す」という意味ではなく、「例、実例や例証として用いる」という意味で使用される。
図1は、幾つかの実施例による製品の検査ネットワークのネットワークアーキテクチャ100の例を示すブロック図である。ネットワークアーキテクチャ100は、1つ又は複数のネットワーク106により、サーバシステム104と通信可能に接続される幾つかの周辺装置102−1、102−2、…102−nを備える。
幾つかの実施例において、周辺装置102−1、102−2、…102−nは、サーバシステム104との間、同士間や、その他の装置との間に通信可能な電子装置である。幾つかの実施例において、サーバシステム104は、例えば、コンピュータのサーバのような単一の計算装置であるが、その他の実施例において、サーバシステム104は、共に作動することでサーバシステムの動作を実行する(例えば、クラウドコンピューティング)複数の計算装置により実施される。幾つかの実施例において、サーバシステム104は、周辺装置102−1、102−2、…102−nのうちの1つ(又はそれぞれ)にある。このような実施例において、サーバシステム104は、対応する周辺装置におけるコンピュータ(すなわち、サーバシステム104は、ローカルコンピュータ及び/又は対応する周辺装置の一部)である。幾つかの実施例において、ネットワーク106は、公衆通信ネットワーク(例えば、インターネット又はセル方式のデータネットワーク)、専用通信ネットワーク(例えば、専用LANや専用回線)、又はこれらの通信ネットワークの組合せである。
周辺装置102−1、102−2、…102−nは、製品を検査(例えば、監視)するためである。幾つかの実施例において、周辺装置102−1、102−2、…102−nは、製品に対する操作の効果を監視する(例えば、品質管理を実行する。)。これを達成させるために、周辺装置102−1、102−2、…102−nのそれぞれは、例えばカメラ、赤外線カメラ、X線カメラ、デプスカメラなどの1つ又は複数の取込装置を備える。周辺装置102−1、102−2、…102−nは、製品の欠陥を識別し、又は、製品の欠陥の識別に利用可能なデータを集めることを図る。
幾つかの実施例において、周辺装置102は、カニカルアームの端部に付設されるメカメラ付きのメカニカルアーム(例えば、メカニカルアーム402、図4A)である。図1には、複数の周辺装置を示しているが、幾つかの実施例においては、単一の周辺装置がサーバシステム104と通信する。
幾つかの実施例において、周辺装置102−1、102−2、…102−nは、取り込まれたデータをサーバシステム104に送信する。そして、サーバシステム104は、受信されたデータを利用し、製品の欠陥を評価することができる。その一方、幾つかの実施例(例えば、そのうちの、サーバシステム104が周辺装置102−1、102−2、…102−nにおけるコンピュータであるような実施例)においては、周辺装置102−1、102−2、…102−nは、現場で製品の欠陥を評価する。
図2は、幾つかの実施例によるサーバシステム200の例を示すブロック図である。幾つかの実施例において、サーバシステム200は、サーバシステム104(図1)の例である。上述したように、幾つかの実施例において、サーバシステム104は、周辺装置102−1、102−2、…102−nと別にして独立する。その一方、幾つかの実施例においては、サーバシステム104は、周辺装置102−1、102−2、…102−nの一部(又は、対応する周辺装置の一部)である。
サーバシステム200は、一般的に、1つ又は複数のプロセスユニット(プロセッサ又はチップ)202と、1つ又は複数のネットワークインターフェースやその他の通信インターフェース204と、メモリ206と、これらの部材を双方向通信させるための1つ又は複数の通信バス208とを備える。通信バス208は、システム部材を双方向通信させるとともにシステム部材間での通信を制御する回路(チップセットと称されることがある。)を選択的に備える。サーバシステム200は、ユーザインターフェース(図示せず)を選択的に備える。できれば、ユーザインターフェースは、表示装置を備えてもよく、また、例えば、キーボード、マウス、トラックパッド、及び/又は入力ボタンの入力を選択的に備える。選択的に、又は、さらに、表示装置は、タッチパネルを備え、この場合に、表示装置はタッチディスプレーである。
メモリ206は、例えば、DRAM、SRAM、DDRRAMや、その他のランダムアクセス固体記憶装置といった高速ランダムアクセスメモリを備え、かつ、例えば、1つ又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリやその他の不揮発性固体記憶装置といった不揮発性メモリを備えてもよい。選択的には、メモリ206は、(複数の)プロセッサ202から離れて位置付けられる1つ又は複数の記憶装置を備えてもよい。メモリ206は、非一時的コンピュータ読み出し可能記憶媒体を備え、又は、メモリ206における(複数の)不揮発性記憶装置は、非一時的コンピュータ読み出し可能記憶媒体を備える。幾つかの実施例において、メモリ206又はメモリ206のコンピュータに読み出し可能記憶媒体は、
各種の基本システムサービスを処理するための工程と、ハードウェアに関するタスクを実行するための工程とを含むオペレーティングシステム210と、
サーバシステム200を、1つ又は複数の通信ネットワークインターフェース204(有線又は無線)、及び、例えば、インターネット、携帯電話ネットワーク、移動データネットワーク、その他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つ又は複数の通信ネットワーク106(図1)を介してその他のコンピュータ(例えば、メカニカルアーム300、図3)に接続するためのネットワーク通信モジュール212と、
1つ又は複数の周辺装置から受信されたデータを処理し、処理されたデータを解析するための画像検査モジュール214であって、幾つかの実施例において、目視検査モジュールにより、処理されたデータと(複数の)欠陥モデル220(例えば、欠陥リスト600、図6A)とを比較する画像検査モジュール214と、
欠陥を記録して報告するための報告モジュール216と、
例えば、
1つ又は複数の欠陥モデル220、
1つ又は複数の基準及び閾値222、及び、
コンテンツ224
といったサーバシステムに関連するデータを記憶するためのサーバデータベース218と、
を含むプログラム、モジュールとデータ構造、又はその部分集合や上位集合を記憶する。
幾つかの実施例において、1つの又は複数の欠陥モデル220は、前に識別された欠陥、及び/又は所望の結果(すなわち、無欠陥画素)を含む。
1つ又は複数の基準及び閾値222は、欠陥を識別するための閾値を含んでもよい。例えば、取り込まれた1つの画像と欠陥モデル220とに含まれた欠陥の画素間での閾値の差(又は閾値類似性)である。さらに、幾つかの実施例において、画像の閾値数のブロックが欠陥を含むと見なされないと、画像は欠陥を含むとは見なされない。
コンテンツ224は、例えば、メカニカルアームにより取り込まれた画像といったメカニカルアーム300から受信されたデータ(図3)を含んでもよい。幾つかの実施例において、コンテンツ230は、テキスト(例えば、ASCII、SGML、HTML)、画像(例えば、jpeg、tifやgif)、図形(例えば、ベクトル又はビットマップに基づく)、音声、映像(例えば、mpeg)や、その他の複数の媒体、及び/又はその組合せを含む。
サーバデータベース218は、サーバシステム200に関連するデータを、例えば、テキストデータベース、図形データベース、多次元データベース、平面データベース、階層型データベース、ネットワークデータベース、オブジェクト指向データベース、リレーショナルデータベース、及び/又はXMLデータベースといった1つ又は複数のタイプのデータベースに記憶する。
幾つかの実施例において、サーバシステム200は、周辺装置の図形をメモリに記憶する。例えば、図形は、特定の生産ラインにおけるそれぞれの周辺装置、及びそれぞれの周辺装置間のジョイントに付けられる。ジョイントは、周辺装置の位置、周辺装置の方向付け、隣接する周辺装置などを含んでもよい。
図3は、幾つかの実施例によるメカニカルアーム300の例を示すブロック図である。メカニカルアーム300は、1つ又は複数の周辺装置102−1、102−2、…102−nのうちの1つの例である(図1)。メカニカルアーム300は、一般的に、1つ又は複数のプロセスユニット(プロセッサ又はチップ)302と、1つ又は複数のネットワークインターフェースやその他の通信インターフェース304と、メモリ306と、これらの部材を双方向通信させるための1つ又は複数の通信バス308と、アクチュエータ309(例えば、回転関節406−A〜406−D、図4A)とを備える。通信バス308は、システム部材を双方向通信させるとともにシステム部材間での通信を制御する回路(チップセットと称されることがある)を選択的に備える。メカニカルアーム300は、メカニカルアーム300の位置を確定するために、例えば、GNSS(例えば、GPS、グロナスなど)といった位置検出装置310やその他の地理位置情報受信機を選択的に備える。メカニカルアーム300は、例えば、カメラ、赤外線カメラ、X線カメラ、デプスカメラ、3次元カメラなどの1つ又は複数の取込装置312をさらに備える。
幾つかの実施例において、メカニカルアーム300は、メカニカルアーム300の方向付けの変更、及び/又はメカニカルアーム300の運動を検出するための1つ又は複数の選択的なセンサ(例えば、ジャイロスコープ、加速度計)を備える。幾つかの実施例において、検出されたメカニカルアーム300の運動、及び/又は方向付けは、メカニカルアーム300の位置付けの期間に使用され、或いは、メカニカルアーム300に、調整する又は改めて位置合わせるように指示する。
幾つかの実施例において、メカニカルアーム300は、回転可能な基台311(例えば、回転可能な基台410、図4A)を備え、又は、制御する。幾つかの実施例において、メカニカルアーム300は、1つ又は複数の通信バス308を介して回転可能な基台311に通信する。その一方、幾つかの実施例において、メカニカルアーム300は、それぞれ、(複数の)通信インターフェース304及び通信ンターフェース313を介して回転可能な基台311に通信する。幾つかの実施例において、サーバシステム200は、回転可能な基台311を制御する。
メモリ306は、例えば、DRAM、SRAM、DDRRAMやその他のランダムアクセス固体記憶装置といった高速ランダムアクセスメモリを備え、また、1つ又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置やその他の不揮発性固体記憶装置といった不揮発性メモリを備えてもよい。選択的には、メモリ306は、(複数の)プロセッサ302から離れて位置付けられる1つ又は複数の記憶装置を備えてもよい。メモリ306は、非一時的コンピュータ読み出し可能記憶媒体を備え、又は、メモリ306における(複数の)不揮発性記憶装置は、非一時的コンピュータ読み出し可能記憶媒体を備える。幾つかの実施例において、メモリ306又はメモリ306のコンピュータ読み出し可能記憶媒体は、
各種の基本システムサービスを処理するための工程と、ハードウェアに関するタスクを実行するための工程とを含むオペレーティングシステム314と、
メカニカルアーム300を、1つ又は複数の通信ネットワークインターフェース304(有線又は無線)、及び、例えば、インターネット、携帯電話ネットワーク、移動データネットワーク、その他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つ又は複数の通信ネットワーク106(図1)を介してその他のコンピュータ(例えば、その他の周辺装置、サーバシステム200、回転可能な基台311)に接続するためのネットワーク通信モジュール316と、
アクチュエータ309を制御し、かつ、取込装置312を製品の隣りに位置付けるための位置付けモジュール318と、
(複数の)取込装置312を制御し、かつ、(複数の)取込装置312により取り込まれた対応する画像や映像(又はその他のデータ)を処理するための取込モジュール320と、
(例えば、位置検出装置310により)メカニカルアーム300の位置を確定し、かつ、この位置情報をその他の周辺装置、及び/又はサーバシステム200に供給するための位置検出モジュール322(例えば、GPS、Wi−Fi、又は混合位置付けモジュール)と、
取込装置312により取り込まれたデータを利用し、製品の欠陥を検出するための画像検査モジュール324と、
例えば、
1つ又は複数の欠陥モデル328、
コンテンツ330、及び、
運動学のアルゴリズム及びその他の方程式332
といったメカニカルアーム300に関連するデータを記憶するためのデータベース326と
を含むプログラム、モジュールとデータ構造、又はその部分集合や上位集合を記憶する。
幾つかの実施例において、位置付けモジュール318は、回転可能な基台311を制御する(すなわち、回転させる)ための回転可能な基台モジュール334を備える。以下に詳述されるように、(複数の)取込装置312により取り込まれた画像に識別される欠陥の位置に応じて、回転可能な基台モジュール334は、回転可能な基台311を回転させる。なお、幾つかの実施例において、画像(例えば、第1画像500、図5B)を取り込む前に、回転可能な基台モジュール334は、回転可能な基台311を初期位置に回転させる。
幾つかの実施例において、1つの又は複数の欠陥モデル328は、前に識別された欠陥、及び/又は所望の結果(すなわち、無欠陥画素)を含む。以下、図5B及び図6Aから図6Bを参照し、1つ又は複数の欠陥モデル328をさらに詳述する。
幾つかの実施例において、コンテンツ330は、(複数の)取込装置312により取り込まれたデータを含む。幾つかの実施例において、コンテンツ334は、テキスト(例えば、ASCII、SGML、HTML)、画像(例えば、jpeg、tifやgif)、図形(例えば、ベクトル又はビットマップに基づく)、音声、映像(例えば、mpeg)や、その他の複数の媒体、及び/又は其組合せを含む。なお、幾つかの実施例において、コンテンツ330は、メカニカルアーム300により生成されるローカルバイナリパターン(LBP)を含む。
幾つかの実施例において、運動学のアルゴリズム332は、順運動学の方程式及び逆運動学の方程式である。順運動学の方程式及び逆運動学の方程式は、それぞれ、メカニカルアーム300のエンドエフェクタ(又は、複数のエンドエフェクタ)の位置を識別し、関節のパラメータを確定するためであり、関節のパラメータは、メカニカルアームのエンドエフェクタのそれぞれの所望の位置を提供する。その他の方程式332は、作業空間方程式と検索経路方程式とを含んでもよく、そのうちのそれぞれを、以下にさらに詳しく説明する。
上述した識別モジュールとアプリケーションのそれぞれは、実行可能な命令セットに対応し、当該実行可能な命令は、上述したような1つ又は複数の機能、及び/又は、本出願に記載された方法(例えば、コンピュータにより実施される方法や、本文に記載された他の情報処理方法)を実行するためである。これらのモジュール(すなわち、命令セット)は、独立したソフトウェアプログラム、工程やモジュールとして実施する必要がなく、これにより、これらのモジュールの各種の部分集合は、各種の実施例において選択的に組み合わせられ、又は、その他の方式で改めて配置される。幾つかの実施例において、メモリ206及び/又は306は、上述した識別されたデータ構造とモジュールの部分集合を記憶する。さらに、メモリ206及び/又は306は、上記に記載されていない別のモジュールとデータ構造を選択的に記憶する。
図4Aから図4Cは、幾つかの実施例による、製品を検査するためのロボットアームの例を示す。
図4Aは、幾つかの実施例による、製品412を検査するためのメカニカルアーム402の例である。図示されるように、メカニカルアーム402は、生産ライン400の一部であり、生産ライン400は、回転可能な基台410と、回転可能な表面410の頂部に設けられた製品412とをさらに含む。メカニカルアーム402はメカニカルアーム300の例である(図3)。注意すべきことは、メカニカルアーム402は、多くの異なる製品を検査することができ、また、製品412は、ただ一例に過ぎない。
メカニカルアーム402は、複数のセクション(又は、セグメント)404−A、404−B及び404−Cを備える。幾つかの実施例において、複数のセクション404−A、404−B及び404−Cのそれぞれの長さは、ほぼ同じである。その一方、幾つかの実施例において、複数のセクション404−A、404−B及び404−Cのうちの少なくとも1つのセクションの長さは、複数のセクションのうちの他のセクションの長さと違っている。図4Aに示す長さは、ただ例示のためであり、制限的なものではない。例えば、第2セクション404−Bは第1セクション404−Aよりも短いと示されているが、幾つかの実施例において、第2セクション404−Bは、第1セクション404−Aよりも長い(環境によっては、第3セクション404−Cがその他のセクションよりも長くても、短くてもよい)。メカニカルアーム402は、3つのセクションを備えると示されているが、メカニカルアーム402は、各数量のセクション(例えば、2つのセクション、4つのセクション、…N個のセクション)を備えてもよい。
メカニカルアーム402は、複数の回転可能な関節406−A〜406−D(例えば、アクチュエータ309、図3)をさらに含む。幾つかの実施例において、複数の回転可能な関節406−A〜406−Dに含まれる回転関節の数は、複数のセクション404−A、404−B及び404−Cにおけるセクションの数(例えば、複数の回転関節の数は、複数のセクションの数よりも1つ多い)に対応する。図示されるように、第1回転関節406−Aは第1回転軸線(例えば、Y軸)の周りに回転し、第2回転関節406−B及び第3回転関節406−Cは、第2回転軸線(例えば、Z軸)の周りに回転し、また、第4回転関節406−Dは、第1回転軸線及び第2回転軸線のうちの1つ又は複数の回転軸線の周りに回転する。幾つかの実施例において、第4回転関節406−Dも第3回転軸線(例えば、X軸)の周りに回転する。注意すべきことは、回転関節は、時計回りに、及び/又は、反時計回りに回転してもよく、図4Aから図4Cに用いられる矢印は、回転関節の回転方向を制限するものと解釈されるべきではない。
図示されるように、それぞれの回転関節406は、(i)複数のセクション404のうちの2つのセクションに接続され、又は、(ii)メカニカルアーム402のカメラ408(後述する)は、複数のセクション404のうちの1つのセクションに接続される。このようにして、メカニカルアーム402は、ほぼ隣接しているセクションを備える。
メカニカルアーム402は、メカニカルアームの端部に接続されるカメラ408(例えば、取込装置312、図3)をさらに備える。メカニカルアーム402(又は、その(複数の)プロセッサ302や取込モジュール320といった部材、図3)は、カメラ408の操作を制御する。例えば、上記にさらに詳述されるように、カメラ408を所望の位置に位置付けた後、メカニカルアーム402は、カメラ408により製品412の画像を取り込む。さらに、幾つかの実施例において、メカニカルアーム402は、特徴/機能に基づき、ズーム(例えば、メカニカルアーム402によるカメラ408の焦点距離の調整)のようなカメラ408の他の特徴/機能を制御する。
幾つかの実施例において、メカニカルアーム402は、カメラ408を、製品412の表面(又は、特徴)とほぼ隣接するように位置付ける。さらに、幾つかの実施例において、メカニカルアーム402は、カメラ408が製品412の表面(又は、特徴)に関して真ん中にあるように、カメラ408を位置付ける。これを達成するために、メカニカルアーム402は、(例えば、(複数の)プロセッサ302、及び/又は位置付けモジュール318)複数の回転関節406−A〜406−Cのうちの1つの又は複数を作動させる。このようにして、カメラ408は、製品412の表面の画像を取り込み、また、メカニカルアーム402(又はサーバシステム200、図2)は、画像の欠陥を評価する。カメラ408を所望の位置に位置付ける際に、メカニカルアーム402は、運動学の方程式(例えば、正運動学及び/又は逆運動学)を利用する。運動学の方程式は、本文において運動学のアルゴリズム332とも称される(図3)。
なお、製品412のそれぞれの表面及び/又は特徴を評価するために、生産ライン400は、回転可能な基台410を備える。幾つかの実施例において、メカニカルアーム402(又は、その(複数の)プロセッサ302や回転可能な基台モジュール334といった部材、図3)は、回転可能な基台410を制御する。その一方、幾つかの実施例において、例えば、サーバシステム200(図2)の幾つかの他の計算装置により回転可能な基台を制御する。生産ライン400に回転可能な基台410が備えられることにより、(i)メカニカルアーム402が最小の動きで製品412の表面及び/又は特徴を評価可能にされ、及び、(ii)複数のセクション404−A〜404−Cのそれぞれの長さが低減される。例えば、回転可能な基台410は、製品412を回転させることにより、製品412のそれぞれの側面をカメラ408に見せる。従って、それぞれの側面がメカニカルアーム402の前方に置かれた場合、メカニカルアーム402は、ほぼ固定したままである(例えば、図4B〜図4Cに示すように、メカニカルアーム402は製品412の遠端表面に届かなければならないのに対し、メカニカルアーム402は、ただ製品412の頂部表面だけに届かなければならない。)。
幾つかの実施例において、カメラ408を位置付ける際に、メカニカルアーム402は、カメラ408の視野を考慮する。例えば、取り込まれた製品のサイズによっては、メカニカルアーム402は、製品412の全面が取り込まれるように、カメラ408を、製品412から特定の距離を離れた箇所に設置しなければならない。当該特定の距離は、カメラの視野によって決められる。例示される視野は、60度の視野であってよいが、その他の視野であってもよい(例えば、レンズのタイプ、焦点距離、カメラのタイプなどによって決められる。)。下記の作業空間方程式に視野(β)を表す。
幾つかの実施例において、製品412の初期画像を取り込むことにより(又は、カメラに撮られた映像フィードバックを評価することにより)、メカニカルアーム402は、その作業空間を識別する。例えば、ある場合には、製品412は、ティーポットのようなより小さい製品であるが、第1作業空間が求められる。しかし、幾つかの他の場合に、製品412は、冷蔵庫のようなより大きい製品であるが、第1作業空間と異なる第2作業空間が求められる。幾つかの実施例において、メカニカルアーム402の作業空間は、下記の方程式で表わされる。
メカニカルアーム402は、製品間のサイズ差を識別することができるので、メカニカルアーム402は、それに応じて、製品412の初期画像が取り込まれるように、製品412の表面(又は特徴)とほぼ隣接するとともに当該表面(又は特徴)に関して真ん中にあるように位置付けることができる。このようにして、特定の製品をキャリブレーションする複数のメカニカルアームを有することとは逆に、生産ライン400は、単一のメカニカルアームを利用することができることで、生産ライン400の総コストが低減される。
図4Bは、幾つかの実施例による、製品412を検査するためのメカニカルアーム420の例である。メカニカルアーム420は、メカニカルアーム300の例である(図3)。簡単化するために、図4Bには、上記に図4Aを参照して示され、及び/又は記載された1つ又は複数の特徴を描いていない(又は、ある特徴が簡単に描かれている。)。
メカニカルアーム420は、複数のセクション(又はセグメント)424−A、424−B及び424−Cを備える。幾つかの実施例において、複数のセクション424−A、424−B及び424−Cのそれぞれの長さは、ほぼ同じである。その一方、幾つかの実施例において、複数のセクション424−A、424−B及び424−Cのうちの少なくとも1つのセクションの長さは、複数のセクションのうちの他のセクションと違っている。メカニカルアーム420は、3つのセクションを備えると示されているが、理解すべきことは、メカニカルアーム420は、各数量のセクション(例えば、2つのセクション、4つのセクション、…N個のセクション)を備えてもよい。
メカニカルアーム420は、複数の回転関節426−A〜426−Dをさらに備える。幾つかの実施例において、複数の回転関節426−A〜426−Dに含まれる関節の数は、複数のセクション424−A、424−B及び424−Cのうちのセクションの数に対応する(例えば、関節の数は複数のセクションの数よりも1つ多い。)。図示されるように、第1回転関節426−Aは、第1回転軸線(例えば、Y軸)の周りに回転し、第2回転関節426−B及び第3回転関節426−Cは、第2回転軸線(例えば、Z軸)の周りに回転し、また、第4回転関節426−Dは、第1回転軸線及び第2回転軸線の周りに回転する。
メカニカルアーム402(図4A)に比べると、メカニカルアーム420の複数のセクション424−A〜424−Cの長さは、ほぼメカニカルアーム402の複数のセクション404−A〜404−Cの長さよりも大きい。これは、製品412が固定基台430の頂部に置かれているからであり、これにより、メカニカルアーム420が製品412のそれぞれの表面に届かなければならない。回転可能な基台410を有していないので、第4回転関節426−Dは、第1回転軸線及び第2回転軸線の周りに回転する。
メカニカルアーム420は、メカニカルアーム420の端部に接続されるカメラ428(例えば、取込装置312、図3)をさらに備える。メカニカルアーム420は、上記に図4Aを参照して検討された工程を利用することで、カメラ428を、ほぼ製品412の表面(又は特徴)と隣接するとともに、製品412の表面(又は特徴)に関して真ん中にあるように位置付ける。
幾つかの実施例において、製品412の初期画像を取り込むことにより(又は、カメラ428に撮られた映像フィードバックを評価することにより)、メカニカルアーム420は、その作業空間を識別する。幾つかの実施例において、メカニカルアーム420の作業空間は下記の方程式で表される。
図4Cは、幾つかの実施例による、製品412を検査するためのメカニカルアーム440の例である。メカニカルアーム440は、メカニカルアーム300の例である(図3)。簡単化するために、図4Cには、上記に図4Aを参照して記載された1つ又は複数の特徴を描いていない(又は、ある特徴が簡単に記載されている。)。
メカニカルアーム440は、複数のセクション(又はセグメント)444−A、444−B及び444−Cを備える。幾つかの実施例において、複数のセクション444−A、444−B及び444−Cのそれぞれの長さは、ほぼ同じである。その一方、幾つかの実施例において、複数のセクション444−A、444−B及び444−Cのうちの少なくとも1つの長さは、複数のセクションのうちの他のセクションと違っている。メカニカルアーム440は、3つのセクションを備えると示されているが、理解すべきことは、メカニカルアーム440は、各数量のセクション(例えば、2つのセクション、4つのセクション、…N個のセクション)を備えてもよい。
メカニカルアーム440は、複数の回転関節446−A〜446−Dをさらに備える。幾つかの実施例において、複数の回転関節446−A〜446−Dに含まれる関節の数は、複数のセクション444−A、444−B及び444−Cのうちのセクションの数に対応する(例えば、関節の数は、複数のセクションの数よりも1つ多い)。図示されるように、第1回転関節446−Aは、第1回転軸線(例えば、X軸)の周りに回転し、第2回転関節446−B及び第3回転関節446−Cは、第2回転軸線(例えば、Z軸)の周りに回転し、また、第4回転関節446−Dは、第2回転軸線及び第3回転軸線のうちの1つ又は複数(例えば、Y軸)の周りに回転する。
メカニカルアーム440は、メカニカルアームの端部に接続されるカメラ448(例えば、取込装置312、図3)をさらに備える。メカニカルアーム440は、上記に図4Aを参照して検討された工程を利用することで、カメラ448を、ほぼ製品412の表面(又は特徴)と隣接するとともに、製品412の表面(又は特徴)に関して真ん中にあるように位置付ける。
メカニカルアーム402(図4A)に比べると、メカニカルアーム440の複数のセクション444−A〜444−Cの長さは、ほぼメカニカルアーム402の複数のセクション404−A〜404−Cの長さよりも大きい。これは、製品412が固定基台450の頂部に置かれているからであり、これにより、メカニカルアーム440が製品412のそれぞれの表面に届かなければならない。しかし、メカニカルアーム420(図4B)に比べると、メカニカルアーム440は、メカニカルアーム420よりも少ない関節により作動させて製品412の5つの露出面を取り込むことができる。これは、メカニカルアーム440のユニークな関節の配置により実現される(例えば、第1回転関節446−AはX軸の周りに回転し、これにより、第1回転関節446−Aを作動させることにより製品412の3つの表面を取り込むことができる。)。
幾つかの実施例において、製品412の初期画像を取り込むことにより(又は、カメラ448に撮られた映像フィードバックを評価することにより)、メカニカルアーム440はその作業空間を識別する。幾つかの実施例において、メカニカルアーム440の作業空間は下記の方程式で表される。
図5Aから図5Bは、幾つかの実施例による、メカニカルアーム402による製品412の第1画像500の取込み、及び取り込んだ結果を示す。
上記に図4Aから図4Cを参照して記載されたように、メカニカルアーム402(又は、その(複数の)プロセッサ302や位置付けモジュール318といった部材、図3)は、カメラ408を、ほぼ製品412の表面(又は特徴)と隣接するとともに、製品412の表面(又は特徴)に関して真ん中にあるように、位置付ける。幾つかの実施例において、メカニカルアーム402は、このようにこれを達成させる。まず、取り込むべき製品412(例えば、電子レンジ対冷蔵庫)を識別し、また、識別された製品に基づき、メカニカルアーム402は、カメラ408の視野を考慮に入れるように、その作業空間を確定する。さらに、メカニカルアーム402は、1つ又は複数の運動学の方程式を実行することにより、自分を位置付ける。このような場合に、メカニカルアーム402は、カメラ408が許容可能な画像(例えば、製品全体の表面又は全ての特徴の画像)を取り込むように、カメラ408を製品412の表面から十分に離れた距離に位置付ける。当該配置は、図5Aに示す。
図5Bは、カメラ408により取り込まれた第1画像500を示す。第1画像500は、カメラ408により取り込まれた製品412の表面501と、製品の表面501における欠陥502とを含む。
幾つかの実施例において、メカニカルアーム402(又は、その(複数の)プロセッサ302や画像検査モジュール324といった部材、図3)は、第1画像500を処理(例えば、解析、評価など)することにより、欠陥502を識別する。幾つかの実施例において、第1画像500の処理は、第1画像500の一部(例えば、ブロック)と、1つ又は複数の欠陥モデル(例えば、(複数の)欠陥モデル328、図3)とを比較することに関わる。これを達成させるために、メカニカルアーム402は、第1画像500をブロック504−1〜504−Nに分割し(例えば、格子を形成し、その中、格子のそれぞれのブロックは同じサイズを有する。)、また、ブロック504−1〜504−Nの少なくとも1つの部分集合と1つ又は複数の欠陥モデル(例えば、欠陥モデル600、図6A)とを比較する。図6Aに示すように、欠陥モデル600は、欠陥画素602−A〜602−Nを含む。注意すべきことは、幾つかの実施例において、「欠陥画素」は1×1画素であるが、幾つかの他の実施例においては、欠陥画素は、複数の画素(例えば、25×25画素、100×100画素、又は、数がより大きい又はより小さい幾つかの画素)を含む。
幾つかの実施例において、欠陥画素は、第1画像500のブロックに対応する(例えば、欠陥モデル600の左上隅は、第1画像500の左上隅の欠陥画素に対応する。)。従って、メカニカルアーム402は、第1画像500の第1ブロック504−1と、製品412の表面501に用いられる欠陥モデルからの1つ又は複数の対応する欠陥画素(例えば、欠陥画素602−A、図6A)とを比較する。幾つかの実施例において、比較する間に、メカニカルアーム402は、左から右へ、及び/又は、上方から下方へ、1つ又は複数の対応する欠陥画素をひっくり返す。なお、幾つかの実施例において、比較する間に、メカニカルアーム402は、1つ又は複数の対応する欠陥画素を90度、180度、及び/又は270度回転させる。このようにして、メカニカルアーム402は、1つ又は複数の対応する欠陥画素の有り得る変形を評価する。注意すべきことは、欠陥画素を「ひっくり返す」ことは、欠陥画素を「回転」させることではない(例えば、欠陥画素をひっくり返すことにより、欠陥画素における特徴が、得られた欠陥画素に鏡像になる。)。
幾つかの実施例において、メカニカルアーム402は、順次に第1画像500のブロックと欠陥画素とを比較する。例えば、ブロック504−1と、1つ又は複数の第1の対応する欠陥画素とを比較し、ブロック504−2と、1つ又は複数の第2対応する欠陥画素とを比較するなど。その一方、メカニカルアーム402は、第1画像500のブロックと欠陥画素とをランダム又は疑似ランダムに比較する。幾つかの実施例において、メカニカルアーム402は、第1画像500の初期解析を実行することにより、第1画像500における任意の異常を識別する。異常を発見すると、例えば、第1画像500の右下隅が制御表面と異なるようになり(後述する)、メカニカルアーム402は、第1画像500の右下隅での1つ又は複数のブロックと、1つ又は複数の対応する欠陥画素とを比較する。このようにして、メカニカルアーム402は、第1画像500に対する異常を含まないの他の部分の処理を飛ばすので、時間とコンピューティング資源が節約される。
幾つかの実施例において、欠陥画素は、前に識別された欠陥である。例えば、前に識別された欠陥は、テスト/キャリブレーション段階の期間、及び/又は、この前の検査期間に識別されることができる(例えば、製品412は電子レンジである場合に、前に検査された電子レンジの表面における欠陥が記録、記憶される。)。選択的に、又は、さらに、幾つかの実施例において、製品412の表面501のそれぞれのブロックに対しては、欠陥画素が所望のの結果である(すなわち、無欠陥画素)。例えば、テスト/キャリブレーション段階の期間に、制御される製品の制御表面の画像が取り込こまれ、制御表面のそれぞれのブロックが記録、記憶される(制御表面が製品の表面501に対応する)。なお、幾つかの制御される製品に対しては、欠陥モデル328が形成されるように、当該プロセスを繰り返してもよい(図3)。このようにして、欠陥モデル328は、許容可能な誤差を有する所望の結果(例えば、異常を、欠陥に要求される制御表面の閾値との差と認めるべきである。)を含む。
図5Bに示すように、第1画像500は、ブロック504−5のうちの欠陥502を含む。これに対応して、欠陥502に応じて、メカニカルアームは、図5C〜図5Dに示すように、製品512の表面501の第2画像530が取り込まれるように、改めて位置付ける。注意すべきことは、欠陥のサイズによっては、欠陥は、幾つかのブロックを跨ってもよい。検討及び説明を容易にするために、欠陥502は、単一のブロック504−1内に含まれる。さらに、幾つかの実施例において、メカニカルアーム402の代わりに、サーバシステム200(図2)は、第1画像500を処理する(例えば、メカニカルアーム402は、評価するために、第1画像500をサーバシステム200に送信する。)。なお、幾つかの実施例において、第1画像500における異常を識別した後、メカニカルアーム402は、評価するために、第1画像500をサーバシステム200に送信する。
図5C〜図5Dは、幾つかの実施例による、メカニカルアームによる製品の第2画像530の取込み、及び取り込まれた結果を示す。
第1画像500における欠陥502が識別されたことに応じて、メカニカルアーム402は、自分で第1位置520−A(破線)から第2位置520−Bへ運動する(例えば、改めて位置付ける)。図5A中のメカニカルアーム402は、第1位置520−Aに位置付けられ、これにより、第1位置520−Aに位置付けられると、メカニカルアーム402は、第1画像500を取り込む。幾つかの実施例において、カメラ408(又は、回転関節のうちの1つ)の第1位置520−A、及び欠陥502の第1画像500における相対的な位置によって、第1位置520−Aと第2位置520−Bとの間の運動を確定する。なお、第2位置520−Bが、メカニカルアーム402により確定された作業空間内にあり、かつ、第1位置520−Aと第2位置520−Bとの間の運動が作業空間によって確定される。しかし、注意すべきことは、メカニカルアーム402が自分の目標を改めて位置付けるのは、(全体として製品の表面501を取り込むこととは逆に)カメラ408を欠陥502に焦点を合わせることである。
幾つかの実施例において、第1画像500における欠陥502が識別されたことに応じて、メカニカルアーム402(又は、その(複数の)プロセッサ302や回転可能な基台モジュール334といった部材、図3)は、回転可能な基台410を回転させる。図5A中の回転可能な基台410は、第1位置に位置付けられ(示された製品412−Aは第1位置(破線)にある)、これにより、製品412−Aが第1位置にある場合に、メカニカルアーム402は、第1画像500を取り込む。幾つかの実施例において、欠陥502の第1画像500における相対的な位置に応じて、メカニカルアーム402は、回転可能な基台410を第2位置(製品412−Bが第2位置にあることを示している。)に回転させる。
ある場合には、メカニカルアーム402が自分を改めて位置付ける時に、カメラ408を複数の方向に沿って運動させる。例えば、メカニカルアーム402は、カメラ408をY軸、X軸及びZ軸に沿って運動させる。欠陥502が第1画像500の中心からオフセットした(例えば、欠陥502が第1画像500において製品の表面501の左上隅へオフセットした)場合に、メカニカルアーム402は、カメラ408を複数の方向に沿って運動させる。しかし、ある場合には、欠陥502は、第1画像500の中心から垂直にオフセットしないと、メカニカルアーム502は、カメラ408を単一の方向に沿って運動させる(例えば、X軸に沿って製品412−Bの表面501に向かう)ことができる。回転可能な基台410は、欠陥502をカメラの前方に改めて位置付けているので、カメラ408の最小の動きが実現される。無論、回転可能な基台410の回転のために、カメラ408は、製品412−Bの表面501と隣接しなくなり、メカニカルアーム402は、必要に応じて更に改めて位置付ける動作をとることができる。
幾つかの実施例において、第1位置520−Aから第2位置520−Bへ運動する際に、メカニカルアーム402は、運動学の方程式(例えば、運動学のアルゴリズム332、図3)を利用する。運動学の方程式は、順運動学の方程式、及び/又は、逆運動学の方程式を含むことができる。順運動学とは、ロボットの運動学の方程式を利用することにより、関節のパラメータの具体的な値から、エンドエフェクタ(例えば、カメラ)の位置を算出することである。幾つかの実施例において、順運動学の方程式の例は下記の方程式で表される。
ただし、θ、d、a及びαは、当業者に知られているようなDenavit−Hartenbergパラメータである。図4Aに示すメカニカルアーム402に対して、下記の順運動学のマトリクスを適用する。
ただし、「C」=余弦、かつ、「S」=正弦である。
例示された順運動学の方程式及びマトリクスを利用して、メカニカルアーム402は、エンドエフェクタの上記作業空間方程式により限定された作業空間における位置を確定する(例えば、カメラ408、及び/又は、1つの回転関節の位置)。
ロボット技術において、逆運動学は、運動学の方程式を利用して、メカニカルアームののエンドエフェクタのそれぞれに所望の位置を与える関節のパラメータを確定する。逆運動学は、エンドエフェクタを、第1位置から第2位置への運動計画を、ロボットの関節アクチュエータの跡に変換する。幾つかの実施例において、逆運動学の方程式の例は下記の方程式で表される。
ただし、n、o、a及びpは、4つの関節がデカルト座標系における空間位置に対応する。
幾つかの実施例において、メカニカルアーム402は、上述した逆運動学の方程式を利用して、その第1位置520−Aから第2位置520−Bへの検索経路を定義する(すなわち、カメラ408(又は、回転関節のうちの1つ又は複数)の経路を定義する。)。幾つかの実施例において、検索経路方程式の例は、メカニカルアーム402用のそれぞれの関節の下記の方程式で表される(三次補間法に基づく方程式による)。
注意すべきことは、上記方程式は、ただ、メカニカルアーム402の運動を制御するために利用可能な方程式の一例に過ぎない。当業者は、各種の他の方程式が、メカニカルアーム402の運動の制御に利用可能であることが理解される。さらに、幾つかの実施例において、異なる方程式は、メカニカルアーム420及び440を制御することに利用可能である。これらの方程式は、以下に提供される(方法700を検討した後)。
図6Aから図6Bは、幾つかの実施例による欠陥モデル(欠陥リスト)600、及び欠陥リスト600に加えられた欠陥502を示す。上述したように、欠陥モデル600(例えば、(複数の)欠陥モデル328、図3)は、欠陥画素602−A〜602−Nを含む。幾つかの実施例において、欠陥画素602の欠陥モデル600における位置は、検査される画像のブロック(又は複数のブロック)に対応する(例えば、欠陥モデル600の左上隅は、第1画像500の左上隅の画素に対応する。図5B)。その一方、幾つかの実施例において、第1欠陥モデルは、検査される画像の第1ブロック又は第1部分に対応し、第2欠陥モデルは、検査される画像の第2ブロック又は第2部分に対応するなど。
幾つかの実施例において、欠陥モデル600における欠陥画素602−A〜602−Nは、前に識別された欠陥である。例えば、前に識別された欠陥は、テスト/キャリブレーション段階の期間、及び/又は、この前の検査期間に識別されることができる(例えば、製品412は電子レンジである場合に、前に検査された電子レンジの表面における欠陥が欠陥モデル600に記録、記憶される。)。選択的に、又は、さらに、幾つかの実施例において、欠陥画素602は検査される製品のブロックの所望の結果である(すなわち、無欠陥画素)。例えば、テスト/キャリブレーション段階の期間に、制御される製品の制御表面の画像が取り込まれ、制御表面のそれぞれのブロックが欠陥モデル600に記録、記憶される。なお、幾つかの制御される製品に対しては、欠陥モデル600が形成されるように、当該プロセスを繰り返してもよい。
幾つかの実施例において、メカニカルアームにより第2画像530を取り込んだ後、欠陥502(図5B)が欠陥モデル600に加えられる。例えば、欠陥モデル600は、欠陥502を含む新たな欠陥画素604を含む。このようにして、メカニカルアーム402は、欠陥モデル600が連続して更新されるように、機械学習を行う。従って、欠陥502を参照して、メカニカルアーム402により検査される後に続く製品における欠陥を識別することができる。
図7は、幾つかの実施例による、改良された製品の品質検査の方法700のフローチャートを示す。方法700の工程は、メカニカルアーム(例えば、周辺装置102、図1、メカニカルアーム300、図3)により実行することができる。図7は、コンピュータメモリ、又はコンピュータ読み出し可能記憶媒体(例えば、メカニカルアーム300のメモリ306)に記憶される命令に対応する。例えば、方法700の操作の少なくとも一部は、通信モジュール(例えば、通信モジュール316、図3)、位置付けモジュール(例えば、位置付けモジュール318、図3)、取込モジュール(例えば、取込モジュール320、図3)、及び画像検査モジュール(例えば、画像検査モジュール324、図3)により実行される。
メカニカルアームは、複数のセクション(例えば、セクション404−A、404−B及び404−C、図4A)と、メカニカルアームの端部に位置するカメラ(例えば、メカニカルアーム402の端部に位置するカメラ408、図4A)と、それぞれが複数のセクションのうちの2つのセクションを接続し、又は、カメラと複数のセクションのうちの1つのセクションとを接続する複数の回転関節(例えば、回転関節406−A〜406−D、図4A)とを備える(702)。幾つかの実施例において、複数の回転関節はメカニカルアームに4自由度を付与する。その一方、幾つかの実施例において、複数の回転関節は、メカニカルアームに5自由度を付与する。幾つかの実施例において、複数の回転関節のうちの第1群の回転関節は、第1軸(例えば、Z軸)の周りに回転し、複数の回転関節のうちの第2群の回転関節は、第2軸(例えば、Y軸)の周りに回転し、又は、逆の場合も同じである。幾つかの実施例において、第1群の回転関節は、本体回転関節であり(例えば、回転関節406−B及び406−C、図4A)、また、第2群の回転関節は、端部回転関節である(例えば、回転関節406−A及び406−D、図4A)。幾つかの実施例において、回転関節のうちの少なくとも1つは、2つの軸の周りに回転する(例えば、回転関節406−D、幾つかの実施例において、Z軸とY軸、又は、軸の幾つかの他の組合せの周りに回転する。)。
方法700は、製品(例えば、製品412、図4A)の表面(又は特徴)の第1画像を取り込むコマンドを受信する(704)ことを含む。幾つかの実施例において、メカニカルアームは、サーバシステムや幾つかの他のコンピュータ(例えば、生産ライン400の制御コンピュータ、図4A)からコマンドを受信する。コマンドの受信の代わりに、幾つかの実施例において、メカニカルアームは、その前方に置かれた製品を識別する。例えば、メカニカルアームは、カメラの映像フィードバックから製品のサイズを確定してもよく、また、製品のサイズは、製品のタイプ(例えば、第1サイズを有する製品はティーポットであり、第2サイズを有する製品は電子レンジである。)に対応してもよい。製品の識別に応じて、メカニカルアームは、製品の表面の第1画像(後述する)を取り込む。それに応じて、これらの実施例におうて、コマンドの受信は、選択的である。
幾つかの実施例において、メカニカルアームは、製品の初期画像(第1画像とは異なる)を取り込む。初期画像を利用することにより、メカニカルアームは、メカニカルアームのエンドエフェクタの作業空間を確定する。作業空間は、製品のそれぞれの表面(又は特徴)から製品のそれぞれの表面(特徴)から離れた特定距離に延伸することができる。幾つかの実施例において、メカニカルアームのエンドエフェクタは、カメラである。選択的に、又は、さらに、メカニカルアームのエンドエフェクタは、複数の回転関節のうちの1つ又は複数である。幾つかの実施例において、製品の形状/サイズ(例えば、製品の高さ、幅、長さ及び体積)に基づき、エンドエフェクタの作業空間を確定する。選択的に、又は、さらに、幾つかの実施例において、カメラの視野に基づき、エンドエフェクタの作業空間を確定する。以上、図4Aを参照してメカニカルアームの作業空間の確定をさらに詳述した。
幾つかの実施例において、コマンドの受信に応じて(又は、製品の識別に応じて)、方法700は、複数の回転関節を作動させることにより、カメラを製品の表面とほぼ隣接する第1位置に位置付ける(706)ことをさらに含む。幾つかの実施例において、第1位置にある場合に、カメラは、製品の表面に関して真ん中にある。幾つかの実施例において、カメラは、第1位置にある場合に、製品の表面の所定部分(例えば、製品の表面の欠陥の有り得る部分)と隣接する。幾つかの実施例において、第1位置は、メカニカルアームにより確定される作業空間内にあり、また、カメラは、メカニカルアームのエンドエフェクタである。
幾つかの場合に、先にある製品を点検した後、メカニカルアームは、自分を初期位置に位置付ける。初期位置は、収縮される位置であり、これにより、入り込む製品がカメラを損なわないことが確保される(例えば、カメラと入り込む製品との衝突が回避される。)。前に点検された製品が、ほぼ入り込む製品よりも小さい場合には、特に重要である。従って、初期位置に収縮された時に、カメラを第1位置(706)に位置付け、メカニカルアームを初期位置から第1位置へ運動させる。メカニカルアームは、カメラが初期位置から第1位置へ運動されるように、運動学のアルゴリズム332を使用することができる。
注意すべきことは、幾つかの場合に、カメラは、既に第1位置にあり、これにより、環境によって、操作706が選択的である。例えば、前に点検された電子レンジのような製品は検査をパスすることができれば、その後、続きの同じモデルである電子レンジの製品を点検することができるので、カメラを動かせる必要がない。
幾つかの実施例において、カメラは、第1位置に位置付けられた場合に、カメラと表面との間に第1距離がある。第1距離は、メカニカルアームにより確定された作業空間に対応する。なお、幾つかの実施例において、カメラが第1位置に位置付けられた場合に、カメラが第1焦点距離に設置される(例えば、第1ズームに設置される)。幾つかの実施例において、カメラの視野は、少なくとも一部がカメラの焦点距離に基づくものである。それに応じて、幾つかの実施例において、作業空間を確定する際に、メカニカルアームは、カメラの焦点距離を調整する(例えば、環境によって、レンズを近く又は遠くする。)。
方法700は、カメラが第1位置に位置付けられた(例えば、第1位置520−A、図5C)場合に、カメラにより製品の表面の第1画像を取り込む(708)ことをさらに含む。例えば、図5Bを参照して、第1画像500は製品412の表面501を含む。
方法700は、第1画像を取り込んだ後、第1画像における欠陥、及び欠陥の第1画像における相対的な位置を識別するように、第1画像を処理する(710)ことをさらに含む。幾つかの実施例において、第1画像を処理することは、第1画像のブロックと、1つ又は複数の欠陥モデル(例えば、1つ又は複数の欠陥モデル328、図3)とを比較することを含む。これを達成させるために、メカニカルアームは、第1画像をブロック(例えば、ブロック504−1〜504−N、図5B)に分割し、ブロックの少なくとも1つの部分集合と、1つ又は複数の欠陥モデルとを比較する。図6Aに示すように、欠陥モデル600は、欠陥画素602−A〜602−Nを含む。幾つかの実施例において、欠陥画素は1×1画素である。その一方、幾つかの実施例において、欠陥画素は、複数の画素(例えば、25×25画素、100×100画素又は幾つかの更大又は更小数量の画素)を含む。以上、図5Bを参照して画像の処理をさらに詳述した。
幾つかの実施例において、第1画像を処理することは、第1画像における任意の異常を識別するように、第1画像の初期解析を実行することをさらに含む。初期解析は、第1画像の領域と製品の表面の型板(すなわち、制御)とを比較することを含んでもよい(例えば、上記に検討された比較操作と比べ、当該解析の需要がさらに小さい。)。表面の型板は、表面の所望の結果(例えば、前に点検された品質管理をパスした製品の表面)を含む。例えば、第1画像の右下隅が型板と異なるという異常を発見すると、メカニカルアームは、(上述したように)第1画像の右下隅での1つ又は複数のブロックと、1つ又は複数の対応する欠陥画素とを比較する。このようにして、メカニカルアームは、第1画像の異常を含まない他のブロックへの処理を飛ばすことにより、時間とコンピューティング資源が節約される。検討を容易にするために、本文に用いられる異常は、必ずしも欠陥ではなく、その一方制御/型板からのオフセットである。しかし、さらに調査することにより、異常が欠陥に変え得る。
幾つかの実施例において、方法700は、処理に基づき(すなわち、第1画像のブロックと1つ又は複数の欠陥モデルとの比較に基づき)、第1画像が欠陥を含むか否かを確定する(712)ことをさらに含む。幾つかの実施例において、第1画像のブロック(又は、閾値数量のブロック)は、(1)欠陥モデルにおける欠陥画素にマッチングする(又は、一部マッチングする)、又は、(2)欠陥モデルにおける何れかの無欠陥画素にマッチングしない(又は、一部マッチングする)場合に、メカニカルアームは、第1画像が欠陥を含むことを確定する。幾つかの実施例において、閾値百分率の欠陥が欠陥画素にマッチングする場合に、一部マッチングは、十分であると考えられる。上述したように、幾つかの実施例において、欠陥モデルは、「無欠陥画素」を含み、それは、製品のブロックの所望の結果(例えば、前に品質管理をパスして欠陥モデル328に記録された製品のブロック、図3)である。以上、図5Bを参照して画像が欠陥を含むことを確定することをさらに詳述した。
幾つかの実施例において、メカニカルアームは、ローカルバイナリパターン(LBP)を作成することにより、第1画像が欠陥を含むか否かを確定する。LBPを作成するために、値は、処理(710)に基づきブロックに割り当てられる。例えば、ブロックが直接に欠陥画素にマッチングする場合に(例えば、90%マッチング)、第1値がブロックに割り当てられ、ブロックが欠陥画素に一部マッチングする(例えば、60%マッチングする)場合に、第1値よりも小さい第2値がブロックに割り当てられる(無欠陥画素の割り当て値を用いてもよい.)。さらに、ブロックの値と隣接するブロックの値とを比較する(例えば、何れの与えられたブロックも8つの隣接するブロックを有する。)。そして、ブロックの値が隣接するブロックの値よりも大きいと、ブロックが「1」に割り当てられ、また、ブロックの値が隣接するブロックの値よりも小さいと、ブロックが「0」に割り当てられる。比較した後、全体的なメートル(metric)がブロックに割り当てられる。幾つかの実施例において、メートルは、8桁2進数であり、その中、それぞれの桁は8つの比較の1つに対応する。第1画像における複数のブロック(又は、それぞれのブロック)に対して、上述したプロセスを繰り返し、また、図表(例えば、ヒストグラム)を作成して結果を説明する。図表は、それぞれの2進数の現れる頻度を含む。ヒストグラムの領域(例えば、第1位置)には、第1の2進数(又は平均して第1の2進数)があり、当該領域が欠陥を含むことを示すことができ、ヒストグラムの別の領域(例えば、第2位置)には第2の2進数(又は、平均して第2の2進数)があり、当該領域が欠陥を含まないことを示すことができる。ヒストグラムは、N−次元特徴ベクトルであってもよいが、幾つかの実施例において、ヒストグラムは、一意化される。このような実施例では、第1画像のために特徴ベクトルを作る。
幾つかの実施例において、サポートベクターマシン(SVM)も第1画像が欠陥を含むことを確定することに用いられる。SVMは、機械学習における教師付き学習モデルの一つであり、分類及び回帰分析のためにデータを解析する相関学習アルゴリズムを有する。例えば、トレーニング実例集合を与え、それぞれの実例は、2種類の一種又は他種に属するとマークされ、SVMトレーニングアルゴリズムは、新たな実例を1つの種類又は他の種類に割り当てる2元分類器を構築する。SVMモデルは、独立した種類の実例ができるだけ広くて明らかな隙間で分けられるように、実例を空間にマップした点として表す。新たな実例は、さらに同一の空間内にマップされ、新たな実例が隙間のどちらの側にあるかによって、その属する種類を予測する。幾つかの実施例において、上述したLBPを利用して、SVMは第1画像が欠陥を含むことを確定する。
第1画像が欠陥を含まないことを確定したこと(712−いいえ)に応じて、方法700は、当該製品を許容可能と記録、報告することをさらに含む。その一方、第1画像が欠陥を含むことを確定したこと(712−はい)に応じて、方法700は、カメラの第1位置及び欠陥の第1画像における相対的な位置によって、カメラの第2位置を確定する(716)。注意すべきことは、第1画像が欠陥を含むと確定した場合に、メカニカルアームは、第1画像が欠陥を有する可能性が大きいと確定することができる。従って、後述するように、メカニカルアームは、製品の表面の第2画像を取り込むことにより、識別された欠陥が実際に欠陥であることをチェックする。
方法700は、複数の回転関節を作動させることにより、カメラを第1位置から第2位置へ改めて位置付ける(718)ことをさらに含む。第2位置と製品の表面は、第1位置と製品の表面との空間関係と異なる空間関係を有する。例えば、第2位置に改めて位置付けられた場合に、カメラと製品の表面との間に第2距離が置かれ、また、第2距離が第1距離よりも小さい。なお、幾つかの実施例において、第2位置に改めて位置付けられた場合に、カメラが第2焦点距離に設置され、また、第2焦点距離が第1焦点距離よりも大きい(例えば、第2ズームに設置される)。メカニカルアームが自分の目標を改めて位置付けるのは、(全体として製品の表面を取り込むこととは逆に)カメラを欠陥に焦点を合わせることである。例えば、図5Dに示すように、第2画像530の中央部分で欠陥を拡大する。このようにして、メカニカルアームは、識別された欠陥が実際に欠陥であることをチェックすることができる。
方法700は、カメラが第2位置に位置付けられた場合に、カメラにより製品の表面の第2画像を取り込む(720)ことをさらに含む。第2画像を取り込むことに応じて、幾つかの実施例において、メカニカルアームは、識別された欠陥が実際に欠陥であることをチェックする。欠陥をチェックするために、メカニカルアームは、再び、欠陥と、欠陥モデルにおける欠陥画素(及び/又は無欠陥画素)とを比較する。しかし、第1画像の比較操作に対して、当該比較操作はさらに細かい。ロボットは、欠陥が既に識別された欠陥(例えば、ツールによる欠陥)に対応することを確定することができる。その一方、ロボットは、欠陥がいずれの識別された欠陥にも対応しないことを確定することができるが、それはやはり欠陥である。何れの場合にも、メカニカルアームはレポートを生成し、また、レポートをふさわしい側(例えば、製造プロセスの具体的な部分を担当する工程技師)に提供することができる。欠陥をチェックした後、幾つかの実施例において、方法700は、製品を許容不可と記録、報告することを含む。
なお、幾つかの実施例において、方法700は、欠陥モデルを、当該欠陥を含むと更新することさらに備える。例えば、図6Bを参照して、欠陥502を含む新たな欠陥画素604が、欠陥モデル610に加えられる。幾つかの実施例において、工程712−はいの後、欠陥が欠陥モデルに加えられる。その一方、幾つかの実施例において、欠陥をチェックした後、当該欠陥が欠陥モデルに加えられる。
しかし、幾つかの実施例において、メカニカルアームは、欠陥をチェックすることができない。このような場合には、方法700は、製品を許容可能と報告、記録することを含む。これらの場合に、メカニカルアームは、欠陥モデルを、許容可能な異常となるチェックされていない欠陥(すなわち、無欠陥画素)を含むと更新してもよい。
幾つかの実施例において、製品は、回転可能な基台上(例えば、回転可能な基台311、図3、回転可能な基台410、図4A)に置かれる。さらに、幾つかの実施例において、第1画像を取り込んだ後、方法700は、欠陥の第1画像における相対的な位置に応じて、回転可能な基台を回転させることを含む。回転可能な基台を回転させた後、さらに第2画像を取り込む。例えば、メカニカルアーム(又は、そのプロセッサ302や回転可能な基台モジュール334といった部材、図3)は、欠陥がカメラの前方に位置付けられるように、回転可能な基台を制御し、回転可能な基台を回転させる。当該配置は、メカニカルアームに要求される運動程度を最小化するが、これは、基本的に、カメラが欠陥へ行くのではなく、欠陥がカメラへ行くからである。従って、回転可能な基台を含むと、時間と資源が節約される。なお、複数のセクションのうちのそれぞれのセクションの長さは、ほぼ低減されることができるが、これは、メカニカルアームが製品の遠端側方向表面に届く必要がないからである。多くとも、製品の頂部表面を検査する必要がある場合には、メカニカルアームが製品の頂部表面に届かなければならない。
幾つかの実施例において、第1画像を取り込む前に、方法700は、製品のサイズを確定し、また、確定されたサイズに基づき、メカニカルアームがその作業空間を確定することを含む。例えば、メカニカルアームは、初期位置に位置付けられた場合に、製品の前方で製品を検出し、また、カメラにより取り込まれた画像及びカメラの位置を利用して、製品のサイズを確定する。幾つかの実施例において、製品のサイズを確定するために、メカニカルアームは、製品の初期画像を取り込み、また、初期画像、及び初期画像を取り込むカメラの位置から、製品のサイズを確定する。その一方、幾つかの実施例において、メカニカルアームは、カメラの映像フィードバックに基づき、製品を評価する。
幾つかの実施例において、方法700は、複数の回転関節を作動させることにより、カメラを、それぞれが製品の対応する追加の表面(又は、追加の特徴)とほぼ隣接する1つの又は複数の追加の位置に改めて位置付けることをさらに含む。例えば、図4Bから図4Cを参照して、メカニカルアーム420及び440は製品412の遠端側方向表面に届く。しかし、回転可能な基台に関わる上記実施例(例えば、図4A)では、メカニカルアームは、製品のそれぞれの対応する追加の表面がカメラの前方に位置付けられるように、回転可能な基台を調節して製品を回転させることができる。さらに、当該配置により、カメラが欠陥へ行くのではなく、追加の表面がカメラへ行くのである。このようにして、時間と資源が節約される。
幾つかの実施例において、方法700は、1つ又は複数の追加の位置に位置付けられたカメラを利用し、カメラにより製品のそれぞれの対応する追加の表面の追加の画像を取り込むことを含む。上述したことと同様にして、それぞれの追加の画像を処理する。
下記の方程式は、以上に図4Bから図4Cを参照して検討したメカニカルアーム420及び440に関わっている。
幾つかの実施例において、ある位置から他の位置へ運動する時に、メカニカルアーム420は、運動学の方程式(例えば、運動学のアルゴリズム332、図3)を利用する。運動学の方程式は、順運動学の方程式及び/又は逆運動学の方程式を含んでもよい。幾つかの実施例において、順運動学の方程式の例は下記の方程式で表される。
ただし、θ、d、a及びαは、当業者に知られているようなDenavit−Hartenbergパラメータである。図4Bに示すメカニカルアーム420に対して、下記の順運動学のマトリクスを適用する。
ただし、「C」=余弦、かつ、「S」=正弦である。
幾つかの実施例において、メカニカルアーム420用の逆運動学の方程式の例は、下記の方程式で表される。
幾つかの実施例において、メカニカルアーム420は、上記に与えられた逆運動学の方程式を利用して、その第1位置から第2位置への検索経路を定義する(すなわち、カメラ428(又は、回転関節のうちの1つ又は複数)の経路を定義する。)。幾つかの実施例において、検索経路方程式の例は下記の方程式で表される(三次補間法に基づく方程式による)。
この例では、
幾つかの実施例において、ある位置から他の位置へ運動する際に、メカニカルアーム440は、運動学の方程式(例えば、運動学のアルゴリズム332、図3)を利用する。運動学の方程式は、順運動学の方程式及び/又は逆運動学の方程式を含んでもよい。幾つかの実施例において、順運動学の方程式の例は下記の方程式で表される。
ただし、θ、d、a及びαは、当業者に知られているようなDenavit−Hartenbergパラメータである。図4Cに示すメカニカルアーム440に対して、下記の順運動学のマトリクスを適用する。
ただし、「C」=余弦、かつ、「S」=正弦である。
幾つかの実施例において、メカニカルアーム440用の逆運動学の方程式の例は下記の方程式で表される。
幾つかの実施例において、メカニカルアーム440は、上記に与えられた逆運動学の方程式を利用して、その第1位置から第2位置への検索経路を定義する(すなわち、カメラ448(又は回転関節のうちの1つ又は複数)の経路を定義する。)。幾つかの実施例において、検索経路の方程式の例は下記の方程式で表される(三次補間法に基づく方程式による)。
この例では、
各種の図面のうちの幾つかは、特定の順番で幾つかの論理レベルを図示しているが、順番に依存しないレベルは、並び直してもよく、その他のレベルは、組合せ又は分割されてもよい。具体的に、幾つかの並び直し又はその他の群分けを言及したが、当業者にとっては、その他の並び直し又は群分けが明らかなことであり、これに従って、本文に与えられた並び及び群分けは、置き換えられる項の全てを挙げているものではない。なお、レベルは、ハードウェア、ファームウェア、ソフトウェアやその何れの組合せにも実施できることが認められるべきである。
解釈のために、既に特定の実施例を参照して上述した明細書を記載した。しかし、上記における説明的な検討は、特許請求の範囲の全てを挙げたり、特許請求の範囲を開示された精確な形に制限したりすることを意図しない。上述した教示を考えて、たくさんの修正や変形が可能である。実施例は、特許請求の範囲の基礎となる原理及びその実用が最適に解釈されるように選択されているので、この分野における他の技術者は、考えられた具体的な用途に適用される各種の修正で、実施例を最適に利用することができる。

Claims (20)

  1. メカニカルアームであって、
    複数のセクションと、
    前記メカニカルアームの端部に位置するカメラと、
    複数の回転関節であって、各回転関節はそれぞれ、前記複数のセクションのうちの2つのセクションを接続し、又は、前記カメラと前記複数のセクションのうちの1つのセクションとを接続する、複数の回転関節と、
    1つ又は複数のプロセッサと、
    前記1つ又は複数のプロセッサにより実行される1つ又は複数のプログラムを記憶するためのメモリと
    を備え、前記1つ又は複数のプログラムは、
    製品の表面の第1画像を取り込むコマンドを受信し、
    前記複数の回転関節を作動させることにより、前記カメラを前記製品の表面とほぼ隣接する第1位置に位置決めし、
    前記カメラが前記第1位置に位置決めされると、前記カメラを介して、前記製品の表面の第1画像を取り込み、及び、
    前記第1画像を取り込んだ後、
    前記第1画像における欠陥及び前記欠陥の前記第1画像における相対的な位置を識別するように、前記第1画像を処理し、
    前記カメラの第1位置及び前記欠陥の前記第1画像における相対的な位置に基づいて、前記カメラの第2位置を確定し、
    前記複数の回転関節を作動させることにより、前記カメラを前記第1位置から前記第2位置に改めて位置決めし、前記第2位置と前記製品の表面は、前記第1位置と前記製品の表面との空間関係と異なる空間関係を有し、及び、
    前記カメラが前記第2位置に位置決めされると、前記カメラを介して、前記製品の表面の第2画像を取り込む
    ための命令を含むメカニカルアーム。
  2. 前記カメラが前記第1位置に位置決めされたとき、前記カメラと前記製品の表面との間に第1距離が置かれ、
    前記カメラが前記第2位置に改めて位置決めされたとき、前記カメラと前記製品の表面との間に第2距離が置かれ、
    前記第2距離が前記第1距離よりも小さい
    請求項1に記載のメカニカルアーム。
  3. 前記カメラが第1位置に位置決めされたとき、前記カメラが第1焦点距離に設置され、
    前記カメラが前記第2位置に改めて位置決めされたとき、前記カメラが第2焦点距離に設置され、
    前記第2焦点距離が前記第1焦点距離よりも大きい
    請求項1に記載のメカニカルアーム。
  4. 前記1つ又は複数のプログラムは、
    前記製品の表面の第1画像及び前記カメラの第1位置から、前記製品のサイズを確定し、確定されたサイズに基づき、前記メカニカルアームのために作業空間を割り当てる
    ための命令をさらに含む請求項1に記載のメカニカルアーム。
  5. 前記メカニカルアームのために確定された作業空間において、前記カメラを前記第1位置に位置決めすること、及び前記カメラを前記第1位置から前記第2位置に改めて位置決めすることを実行する請求項4に記載のメカニカルアーム。
  6. 前記複数の回転関節は、前記メカニカルアームに4自由度を付与する請求項1に記載のメカニカルアーム。
  7. 前記複数の回転関節は、前記メカニカルアームに5自由度を付与する請求項1に記載のメカニカルアーム。
  8. 前記複数の回転関節における第1群の回転関節は、第1軸周りに回転し、
    前記複数の回転関節における第2群の回転関節は、第2軸周りに回転する
    請求項1に記載のメカニカルアーム。
  9. 前記第1群の回転関節は、本体回転関節であり、
    前記第2群の回転関節は、端部回転関節である
    請求項8に記載のメカニカルアーム。
  10. 前記1つ又は複数のプログラムは、
    前記複数の回転関節を作動させることにより、前記カメラを1つ又は複数の追加の位置に改めて位置決めし、各追加の位置はそれぞれ、前記製品における対応する追加の表面とほぼ隣接し、
    前記カメラが前記1つ又は複数の追加の位置に位置決めされると、前記カメラを介して、前記製品における対応する各追加の表面の追加の画像を取り込む
    ための命令をさらに含む請求項1に記載のメカニカルアーム。
  11. 前記製品は、回転可能な基台に置かれ、
    前記1つ又は複数のプログラムは、前記第1画像を取り込んだ後、前記欠陥の前記第1画像における相対的な位置に応じて、前記回転可能な基台を回転させ、
    前記回転可能な基台を回転させた後、前記第2画像を取り込むための命令をさらに含む
    請求項1に記載のメカニカルアーム。
  12. 複数のセクションと、メカニカルアームの端部に位置するカメラと、複数の回転関節とを備え、各回転関節はそれぞれ、前記複数のセクションのうちの2つのセクションを接続し、又は、前記カメラと前記複数のセクションのうちの1つのセクションとを接続するメカニカルアームにおいて、
    製品の表面の第1画像を取り込むコマンドを受信することと、
    前記複数の回転関節を作動させることにより、前記カメラを前記製品の表面とほぼ隣接する第1位置に位置決めすることと、
    前記カメラが前記第1位置に位置決めされると、前記カメラを介して、前記製品の表面の第1画像を取り込むことと、
    前記第1画像を取り込んだ後、
    前記第1画像における欠陥及び前記欠陥の前記第1画像における相対的な位置を識別するように、前記第1画像を処理し、
    前記カメラの第1位置及び前記欠陥の前記第1画像における相対的な位置に基づいて、前記カメラの第2位置を確定し、
    前記複数の回転関節を作動させることにより、前記カメラを前記第1位置から前記第2位置に改めて位置決めし、前記第2位置と前記製品の表面は、前記第1位置と前記製品の表面との空間関係と異なる空間関係を有し、及び
    前記カメラが前記第2位置に位置決めされると、前記カメラを介して、前記製品の表面の第2画像を取り込むことと
    を含む品質検査改良方法。
  13. 前記カメラが前記第1位置に位置決めされたとき、前記カメラと前記製品の表面との間に第1距離が置かれ、
    前記カメラが前記第2位置に改めて位置決めされたとき、前記カメラと前記製品の表面との間に第2距離が置かれ、
    前記第2距離が前記第1距離よりも小さい
    請求項12に記載の方法。
  14. 前記カメラが第1位置に位置決めされたとき、前記カメラが第1焦点距離に設置され、
    前記カメラが前記第2位置に改めて位置決めされたとき、前記カメラが第2焦点距離に設置され、
    前記第2焦点距離が前記第1焦点距離よりも大きい
    請求項12に記載の方法。
  15. 前記メカニカルアームにおいて、
    前記製品の表面の第1画像及び前記カメラの第1位置から、前記製品のサイズを確定することと、
    確定されたサイズに基づき、前記メカニカルアームのために作業空間を割り当てることと
    をさらに含む請求項12に記載の方法。
  16. 前記メカニカルアームのために確定された作業空間において、前記カメラを前記第1位置から前記第2位置に改めて位置決めすることを実行する請求項15に記載の方法。
  17. 前記第1群の回転関節は、本体回転関節であり、
    前記第2群の回転関節は、端部回転関節である
    請求項12に記載の方法。
  18. 前記メカニカルアームにおいて、
    前記複数の回転関節を作動させることにより、前記カメラを1つ又は複数の追加の位置に改めて位置決めし、各追加の位置はそれぞれ、ほぼ前記製品における対応する追加の表面と隣接することと、
    前記カメラが前記1つ又は複数の追加の位置に位置付けられると、前記カメラにより、前記製品における対応する各追加の表面の追加の画像を取り込むことと
    をさらに含む請求項12に記載の方法。
  19. 前記製品は、回転可能な基台に置かれ、
    前記第1画像を取り込んだ後、前記欠陥の前記第1画像における相対的な位置に応じて、前記回転可能な基台を回転させることと、
    前記回転可能な基台を回転させた後、前記第2画像を取り込むことと
    をさらに含む請求項12に記載の方法。
  20. メカニカルアームの1つ又は複数のプロセッサにより実行されるように構成された1つ又は複数のプログラムを記憶する非一時的コンピュータ読み出し可能記憶媒体であって、前記メカニカルアームは、複数のセクションと、前記メカニカルアームの端部に位置するカメラと、複数の回転関節とを有し、各回転関節はそれぞれ、前記複数のセクションの2つのセクションを接続し、又は、前記カメラと前記複数のセクションのうちの1つのセクションとを接続し、前記1つ又は複数のプログラムは命令を含み、前記命令は前記1つ又は複数のプロセッサにより実行されると、前記メカニカルアームは、
    製品の表面の第1画像を取り込むコマンドを受信し、
    前記複数の回転関節を作動させることにより、前記カメラを前記製品の表面とほぼ隣接する第1位置に位置決めし、
    前記カメラが前記第1位置に位置決めされると、前記カメラを介して、前記製品の表面の第1画像を取り込み、及び
    前記第1画像を取り込んだ後、
    前記第1画像における欠陥及び前記欠陥の前記第1画像における相対的な位置を識別するように、前記第1画像を処理し、
    前記カメラの第1位置及び前記欠陥の前記第1画像における相対的な位置に基づいて、前記カメラの第2位置を確定し、
    前記複数の回転関節を作動させることにより、前記カメラを前記第1位置から前記第2位置に改めて位置決めし、前記第2位置と前記製品の表面は、前記第1位置と前記製品の表面との空間関係と異なる空間関係を有し、及び、
    前記カメラが前記第2位置に位置決めされると、前記カメラを介して、前記製品の表面の第2画像を取り込む
    ようにする非一時的コンピュータ読み出し可能記憶媒体。
JP2019571669A 2017-09-01 2018-06-07 ロボットによる製品の品質検査改良方法及びシステム Active JP6865865B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/694,115 US10269108B2 (en) 2017-09-01 2017-09-01 Methods and systems for improved quality inspection of products using a robot
US15/694,115 2017-09-01
PCT/CN2018/090307 WO2019041952A1 (en) 2017-09-01 2018-06-07 METHODS AND SYSTEMS FOR ENHANCED PRODUCT QUALITY CONTROL USING A ROBOT

Publications (2)

Publication Number Publication Date
JP2020525305A true JP2020525305A (ja) 2020-08-27
JP6865865B2 JP6865865B2 (ja) 2021-04-28

Family

ID=65517363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019571669A Active JP6865865B2 (ja) 2017-09-01 2018-06-07 ロボットによる製品の品質検査改良方法及びシステム

Country Status (5)

Country Link
US (2) US10269108B2 (ja)
EP (1) EP3618980B1 (ja)
JP (1) JP6865865B2 (ja)
CN (1) CN110678275B (ja)
WO (1) WO2019041952A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017207069A1 (de) * 2017-04-27 2018-10-31 Robert Bosch Gmbh Prüfvorrichtung zur optischen Prüfung eines Objektes, Produktionsanlage mit der Prüfvorrichtung und Verfahren zur optischen Prüfung des Objektes mit der Prüfvorrichtung
JP6646034B2 (ja) * 2017-12-14 2020-02-14 ファナック株式会社 ロボットシステム
WO2019167090A1 (en) * 2018-03-02 2019-09-06 G.T. Une S.R.L. System, software application and method of advanced interaction with transportable containers
JP7073785B2 (ja) 2018-03-05 2022-05-24 オムロン株式会社 画像検査装置、画像検査方法及び画像検査プログラム
JP7079123B2 (ja) * 2018-03-15 2022-06-01 キヤノン株式会社 撮像装置及びその制御方法、撮像システム
WO2019187779A1 (ja) * 2018-03-27 2019-10-03 株式会社日立製作所 倉庫システム
US11838688B2 (en) * 2018-05-28 2023-12-05 MMAPT IP Pty Ltd. System for capturing media of a product
KR102547723B1 (ko) * 2018-06-29 2023-06-27 주식회사 고영테크놀러지 플리퍼 장치 및 이를 이용한 대상물 검사방법
US20220005172A1 (en) * 2018-11-21 2022-01-06 Sony Group Corporation Work determination system, work determination apparatus, and work determination method
IL263399B (en) * 2018-11-29 2022-09-01 Inspekto A M V Ltd Centralized analyzes of multiple devices for visual inspection of a production line
TWI696529B (zh) * 2018-11-30 2020-06-21 財團法人金屬工業研究發展中心 自動定位方法以及自動控制裝置
US11183050B2 (en) * 2019-07-26 2021-11-23 Arrie Mitchell Three-dimensional scanning and tracking device
CN110500999A (zh) * 2019-08-09 2019-11-26 唐山英莱科技有限公司 一种基于视觉装置的相对位置测量方法
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
US11103998B2 (en) 2019-12-12 2021-08-31 Mujin, Inc. Method and computing system for performing motion planning based on image information generated by a camera
CN110926368A (zh) * 2019-12-16 2020-03-27 茂名职业技术学院 一种水果姿态图像采集装置
CN111251296B (zh) * 2020-01-17 2021-05-18 温州职业技术学院 一种适用于码垛电机转子的视觉检测系统
US11772833B1 (en) * 2020-03-30 2023-10-03 Amazon Technologies, Inc. Systems and methods for automated custom shipping containers
US20230222646A1 (en) * 2020-05-29 2023-07-13 Lam Research Corporation Automated visual-inspection system
US20220051395A1 (en) * 2020-08-11 2022-02-17 Baker Hughes Oilfield Operations Llc Automated defect detection
CN116368349A (zh) * 2020-09-29 2023-06-30 基托夫系统有限公司 检查目标的语义分割
CN112428264B (zh) * 2020-10-26 2021-12-07 中国计量大学 一种机器人臂的矫正方法及系统
CN114880888B (zh) * 2022-07-08 2022-09-09 四川大学 多旋转关节机器人末端效应器位姿相关动力学的预测方法
US12101559B2 (en) * 2022-10-18 2024-09-24 Jun-Fu Technology Inc Wafer position status inspection apparatus
NL2034006B1 (en) * 2023-01-23 2024-07-30 Sanders Machb B V Device for inspecting products
WO2024181994A1 (en) * 2023-03-01 2024-09-06 Siemens Corporation Robotic visual tactile surface inspection system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004317190A (ja) * 2003-04-14 2004-11-11 Neomax Co Ltd 高速凹凸判定可能な表面検査方法及び表面検査システム
JP2005121599A (ja) * 2003-10-20 2005-05-12 Komatsu Ltd プレス成形品の欠陥検査装置
JP2005292136A (ja) * 2004-03-30 2005-10-20 General Electric Co <Ge> 多重解像度検査システム及びその動作方法
JP2007155412A (ja) * 2005-12-01 2007-06-21 Nippon Mini Computer System Kk 外観検査装置及び外観検査方法
JP2010080969A (ja) * 2009-11-24 2010-04-08 Hitachi Ltd 試料の観察方法およびその装置
JP2012514193A (ja) * 2008-12-24 2012-06-21 スネクマ 機械部品の非破壊検査の方法
JP2013092430A (ja) * 2011-10-25 2013-05-16 Kojima Press Industry Co Ltd 表面検査方法
JP2015135253A (ja) * 2014-01-16 2015-07-27 アイシン精機株式会社 欠陥検査装置
JP6088679B1 (ja) * 2016-02-19 2017-03-01 ファナック株式会社 カメラの画像により故障を判定するロボットシステムの故障診断装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4620353A (en) * 1981-06-15 1986-11-04 Pryor Timothy R Electro-optical and robotic casting quality assurance
US6959108B1 (en) 2001-12-06 2005-10-25 Interactive Design, Inc. Image based defect detection system
US7390040B2 (en) * 2002-04-22 2008-06-24 Milos Misha Subotincic End effector with multiple pick-up members
CN1234006C (zh) * 2002-12-20 2005-12-28 宝山钢铁股份有限公司 扫描式带钢表面检测方法和装置
WO2004096502A1 (en) * 2003-04-28 2004-11-11 Stephen James Crampton Cmm arm with exoskeleton
JP2006208258A (ja) * 2005-01-31 2006-08-10 Aisin Seiki Co Ltd 欠陥検査方法および欠陥検査装置
EP1932629B1 (en) * 2006-12-11 2019-04-24 ABB Research Ltd. A method and a control system for monitoring the condition of an industrial robot
US20120093422A1 (en) 2010-10-14 2012-04-19 Ya-Chen Hsu Method for sorting balls by image recognition
EP2602763B1 (en) * 2011-12-09 2014-01-22 C.R.F. Società Consortile per Azioni Method for monitoring the quality of the primer layer applied on a motor-vehicle body before painting
CN202676614U (zh) * 2012-06-14 2013-01-16 孙征 产品外观自动检测系统
SG10201708537XA (en) * 2013-06-07 2017-11-29 Asti Holdings Ltd Systems and methods for automatically verifying correct die removal from film frames
EP3194884B1 (en) 2014-09-19 2023-11-01 Hexagon Metrology, Inc Multi-mode portable coordinate measuring machine
TWI558999B (zh) * 2014-11-05 2016-11-21 財團法人工業技術研究院 瑕疵檢測方法及其裝置
CN204330609U (zh) * 2014-12-09 2015-05-13 深圳明锐理想科技有限公司 六轴机械手aoi检测系统
CN105478529B (zh) 2015-02-02 2017-10-27 广东工业大学 全自动冲压生产线制品表面质量在线检测系统及方法
CN205262988U (zh) * 2015-12-16 2016-05-25 常熟宝升精冲材料有限公司 一种生产精冲材的平整机带钢表面检测仪
US10184916B2 (en) * 2016-01-15 2019-01-22 The Boeing Company Systems, methods, and devices for probe assemblies for variable curvature and variable angle configurations
CN106226325B (zh) * 2016-07-22 2019-07-26 广东工业大学 一种基于机器视觉的座椅表面缺陷检测系统及其方法
CN106383126A (zh) * 2016-10-24 2017-02-08 张家港清研再制造产业研究院有限公司 一种用于再制造汽车零部件检测的装置及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004317190A (ja) * 2003-04-14 2004-11-11 Neomax Co Ltd 高速凹凸判定可能な表面検査方法及び表面検査システム
JP2005121599A (ja) * 2003-10-20 2005-05-12 Komatsu Ltd プレス成形品の欠陥検査装置
JP2005292136A (ja) * 2004-03-30 2005-10-20 General Electric Co <Ge> 多重解像度検査システム及びその動作方法
JP2007155412A (ja) * 2005-12-01 2007-06-21 Nippon Mini Computer System Kk 外観検査装置及び外観検査方法
JP2012514193A (ja) * 2008-12-24 2012-06-21 スネクマ 機械部品の非破壊検査の方法
JP2010080969A (ja) * 2009-11-24 2010-04-08 Hitachi Ltd 試料の観察方法およびその装置
JP2013092430A (ja) * 2011-10-25 2013-05-16 Kojima Press Industry Co Ltd 表面検査方法
JP2015135253A (ja) * 2014-01-16 2015-07-27 アイシン精機株式会社 欠陥検査装置
JP6088679B1 (ja) * 2016-02-19 2017-03-01 ファナック株式会社 カメラの画像により故障を判定するロボットシステムの故障診断装置

Also Published As

Publication number Publication date
EP3618980A1 (en) 2020-03-11
JP6865865B2 (ja) 2021-04-28
WO2019041952A1 (en) 2019-03-07
US10269108B2 (en) 2019-04-23
EP3618980A4 (en) 2020-05-27
US10580125B2 (en) 2020-03-03
US20190206045A1 (en) 2019-07-04
CN110678275B (zh) 2021-01-26
CN110678275A (zh) 2020-01-10
EP3618980B1 (en) 2022-04-06
US20190073760A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
JP2020525305A (ja) ロボットによる製品の品質検査改良方法及びシステム
JP7568727B2 (ja) Ai外観検査のためのシステム及び方法
CN110621984B (zh) 用于改进质量检查的方法和系统
CN109101966B (zh) 基于深度学习的工件识别定位和姿态估计系统和方法
US20160195390A1 (en) Inspecting components using mobile robotic inspection systems
JP2019530261A (ja) 改良されたカメラ較正システム、標的、およびプロセス
US20180264648A1 (en) Method and apparatus for controlling robot
US20180286030A1 (en) System and method for testing an electronic device
KR20140034816A (ko) 휴대형 광학 측정 검사 시스템
US20170151676A1 (en) Optical measurement of object location in three dimensions
US20160065901A1 (en) Thermal pattern monitoring of machine
US20240328774A1 (en) CMM Downtime System
US20190159748A1 (en) Method and apparatus for calibrating an x-ray system
JPWO2015011782A1 (ja) 検査装置
JP2014126494A (ja) 検査支援装置、検査支援方法、ロボットシステム、制御装置、ロボット、及び、プログラム
WO2020142496A1 (en) Application-case driven robot object learning
US20220084188A1 (en) Image processing apparatus, image processing method, inspection apparatus, and non-transitory computer readable recording medium
Ferreira et al. Smart system for calibration of automotive racks in Logistics 4.0 based on CAD environment
US20220101558A1 (en) Automated Tuning and Calibration of a Computer Vision System
Gao et al. A screen-based method for automated camera intrinsic calibration on production lines
US20230191634A1 (en) Multistep Visual Assistance for Automated Inspection
TWI662248B (zh) 三維空間觸控面板雙指檢測方法與系統
US20220261943A1 (en) Image processing device, image processing method, production system, product manufacturing method, and storage medium
Su et al. Design of Multi-CPU Automatic Sorting System Based on Machine Vision
Kulpate et al. Precise 3d positioning of a robotic arm using a single camera and a flat mirror

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210308

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

R150 Certificate of patent or registration of utility model

Ref document number: 6865865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250