CN110678275B - 使用机器人改善产品质量检查的方法和*** - Google Patents
使用机器人改善产品质量检查的方法和*** Download PDFInfo
- Publication number
- CN110678275B CN110678275B CN201880035033.6A CN201880035033A CN110678275B CN 110678275 B CN110678275 B CN 110678275B CN 201880035033 A CN201880035033 A CN 201880035033A CN 110678275 B CN110678275 B CN 110678275B
- Authority
- CN
- China
- Prior art keywords
- camera
- image
- robotic arm
- product
- defect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000007689 inspection Methods 0.000 title claims abstract description 17
- 230000007547 defect Effects 0.000 claims abstract description 178
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 24
- 230000002950 deficient Effects 0.000 description 48
- 238000004891 communication Methods 0.000 description 23
- 239000012636 effector Substances 0.000 description 18
- 230000004044 response Effects 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000012706 support-vector machine Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000003908 quality control method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000011179 visual inspection Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/95—Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
- G01N21/9515—Objects of complex shape, e.g. examined with use of a surface follower device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/41875—Total 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/30—Measuring arrangements characterised by the use of optical techniques for measuring roughness or irregularity of surfaces
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan 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/8854—Grading and classifying of flaws
- G01N2021/8861—Determining coordinates of flaws
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan 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/8887—Scan 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/95—Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
- G01N21/9515—Objects of complex shape, e.g. examined with use of a surface follower device
- G01N2021/9518—Objects of complex shape, e.g. examined with use of a surface follower device using a surface follower, e.g. robot
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40613—Camera, laser scanner on end effector, hand eye manipulator, local
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Robotics (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biochemistry (AREA)
- Analytical Chemistry (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)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
一种改善质量检查的方法,包括:(i)接收采集产品表面的第一图像的第一命令,(ii)通过致动多个可旋转关节,将摄像机定位在大致与产品表面相邻的第一位置处,以及采集产品表面的第一图像。方法还包括,在采集第一图像之后:(i)处理第一图像,以识别在第一图像中的缺陷以及缺陷在第一图像中的相对位置,以及,(ii)根据摄像机的第一位置和缺陷在第一图像中的相对位置,确定摄像机的第二位置,以及,(iii)通过致动多个可旋转关节,将摄像机从第一位置重新定位至第二位置。方法还包括采集第二图像。
Description
技术领域
本申请大体涉及生产线,包括但不受限于视觉检查在生产线上的产品。
背景技术
制造商实施各种质量控制措施,以降低进入商品流通的次品的数量。一些质量控制措施涉及视觉检查产品。然而,当前的视觉检查技术,诸如通过人类工人的视觉检查,总是漏掉次品,且也缺乏考虑新的产品缺陷(例如,由老化生产线引起的产品缺陷)的程序。因此,在最初识别产品缺陷,尤其是随时间发展出的产品缺陷方面,存在挑战。
发明内容
相应地,存在对在次品进入商品流通之前识别次品的方法和***的需要。该问题的一个解决方案是使用机器人(例如,带有安装在机械臂402的端部上的摄像机408的机械臂402,图4A)以在产品进入商品流通之前视觉检查产品。在这样做时,机器人能够检查产品的相关表面和/或特征(或者在一些状况中,产品的每一个表面和/或特征)。此外,如果在产品的初始检查期间机器人识别出异常(例如,通过机器人采集的图像包括异常,诸如产品缺陷),则机器人能够执行产品的更苛刻的检查(例如,重新定位自己以聚焦在异常上)。以这种方式,通过调节机器人的精度和准确性以及与机器人关联的计算机的处理功率,制造商能够进一步降低进入商品流通的次品的数量。额外地,机器人能够为每一个识别的缺陷创造缺陷数据库,该缺陷数据库能够然后被用于识别未来产品上的缺陷。在下文中描述了操作一个这种机器人的方法。
(A1)在一些实施例中,一种改善质量检查的方法包括,在机械臂(例如,机械臂300,图3;机械臂402,图4A)处,该机械臂具有多个分段、在机械臂的端部处的摄像机、多个可旋转关节、一个或多个处理器和存储器,每一个可旋转关节连接多个分段中的两个分段或者连接摄像机与多个分段中的一个分段,存储器存储用于通过处理器执行的指令,(i)接收采集产品表面的第一图像的命令,(ii)通过致动多个可旋转关节,将摄像机定位在与产品表面大致相邻的第一位置处,以及,当摄像机被定位在第一位置处时,经由摄像机,采集产品表面的第一图像。方法还包括,在采集第一图像之后:(i)处理第一图像,以识别在第一图像中的缺陷以及缺陷在第一图像中的相对位置,以及,(ii)根据摄像机的第一位置和缺陷在第一图像中的相对位置,确定摄像机的第二位置,以及,(iii)通过致动多个可旋转关节,将摄像机从第一位置重新定位至第二位置。相比第一位置与产品表面的空间关系,第二位置与产品表面具有不同的空间关系。方法还包括当摄像机被定位在第二位置处时,经由摄像机,采集产品表面的第二图像。
(A2)在A1的方法的一些实施例中,当摄像机定位在第一位置处时,摄像机与产品表面间隔第一距离,当摄像机被重新定位在第二位置处时,摄像机与产品表面间隔第二距离,以及,第二距离小于第一距离。
(A3)在根据A1至A2中的任一项的方法的一些实施例中,当摄像机定位在第一位置处时,摄像机被设置在第一焦距处,当摄像机被重新定位在第二位置处时,摄像机被设置在第二焦距处,以及,第二焦距大于第一焦距。
(A4)在根据A1至A3中的任一项的方法的一些实施例中,方法还包括:从产品表面的第一图像和摄像机的第一位置,确定产品的大小,以及,基于所确定的大小,为机械臂分配工作空间。大小可以包括产品的高度、宽度、长度和体积中的一个或多个。在一些实施例中,基于机械臂的配置,进一步确定用于机械臂的工作空间。例如,具有第一配置的机械臂(例如,机械臂402,图4A)可以被分配第一工作空间(例如,使用第一工作空间方程),且具有第二配置的机械臂(例如,机械臂440,图4C)可以被分配第二工作空间(例如,使用第二工作空间方程)。
(A5)在根据A1至A4中的任一项的方法的一些实施例中,在为机械臂确定的工作空间内执行将摄像机定位在第一位置处以及将摄像机从第一位置重新定位至第二位置。
(A6)在根据A1至A5中的任一项的方法的一些实施例中,多个可旋转关节为机械臂提供四个自由度(例如,至少在一些实施例中,机械臂402具有四个自由度)。
(A7)在根据A1至A5中的任一项的方法的一些实施例中,多个可旋转关节为机械臂提供五个自由度(例如,至少在一些实施例中,机械臂420具有五个自由度)。
(A8)在根据A1至A7中的任一项的方法的一些实施例中,在多个可旋转关节中的第一组可旋转关节围绕第一轴旋转,以及,在多个可旋转关节中的第二组可旋转关节围绕第二轴旋转。
(A9)在根据A1至A8中的任一项的方法的一些实施例中,第一组可旋转关节是本体可旋转关节(例如,可旋转关节406-B和406-C,图4A),且第二组可旋转关节是端部可旋转关节(例如,可旋转关节406-A和406-D,图4A)。
(A10)在根据A1至A9中的任一项的方法的一些实施例中,方法还包括:(i)通过致动多个可旋转关节,将摄像机重新定位在一个或多个额外位置处,每一个额外位置大致与产品的相应额外表面相邻,以及,(ii)当摄像机定位在一个或多个额外位置处时,经由摄像机,采集产品的每一个相应额外表面的额外图像。
(A11)在根据A1至A10中的任一项的方法的一些实施例中,产品被放置在可旋转基座(例如,可旋转基座410,图4A)上。此外,方法还包括,在采集第一图像之后,根据缺陷在第一图像中的相对位置,使可旋转基座旋转。在旋转可旋转基座之后,采集第二图像。
(A12)在另一方面中,提供一种机械臂(例如,机械臂300,图3)。机械臂包括多个分段、在机械臂的端部处的摄像机、多个可旋转关节、一个或多个处理器、以及存储一个或多个程序的存储器,每一个可旋转关节连接多个分段中的两个分段,或者连接摄像机与多个分段中的一个分段,一个或多个程序当被一个或多个处理器执行时,导致机械臂执行如在A1至A11中的任一项中描述的方法。
(A13)在又一方面中,提供机械臂,且机械臂包括用于执行在A1至A11中的任一项中描述的方法的器件。
(A14)在又一方面中,提供非瞬态计算机可读存储媒介。非瞬态计算机可读存储媒介存储可执行指令,当通过带有一个或多个处理器/芯的机械臂(例如,机械臂300,图3)执行时,导致机械臂执行如在A1至A11中的任一项所述的方法。
附图说明
为了更好地理解所描述的各种实施例,应当结合以下附图参考下文中的具体实施方式,在整个附图和说明书中,类似的附图标记参考对应部分。
图1是根据一些实施例示出产品检查网络的示例网络架构的框图。
图2是根据一些实施例示出示例服务器***的框图。
图3是根据一些实施例示出示例机械臂的框图。
图4A是根据一些实施例用于检查产品的示例机械臂。
图4B是根据一些实施例用于检查产品的示例机械臂。
图4C是根据一些实施例用于检查产品的示例机械臂。
图5A至图5B示出根据一些实施例,机械臂采集产品的第一图像以及所得到的带有缺陷的图像。
图5C至图5D示出根据一些实施例,机械臂采集产品的第二图像和所得到的带有缺陷的图像。
图6A至图6B示出根据一些实施例的缺陷模型和被增加至缺陷模型的新缺陷。
图7是根据一些实施例示出改善的质量检查的方法的流程图。
具体实施方式
现在将参考实施例,实施例的示例在附图中示出。在下文的描述中,陈述了若干具体细节,以便提供对所描述的各种实施例的理解。然而,对于本领域技术人员来说将显而易见的是,所描述的各种实施例可以在没有这些具体细节的情况下实践。在其他情形中,未详细描述众所周知的方法、步骤、部件、电路和网络,以免不必要地使实施例的方面晦涩难懂。
还将理解,尽管在本文中在一些情形中使用术语第一、第二等描述各种元件,但是这些元件不应该被这些术语限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离所描述的各种实施例的范围的情况下,第一图像可以被称为第二图像,且类似地,第二图像可以被称为第一图像。第一图像和第二图像都是图像,但是它们不是同一图像。
在本文中所描述的各种实施例的描述中使用的术语仅用于描述特定实施例的目的,且没有限制性的意图。如在所描述的各种实施例和所附权利要求的描述中使用的,除非上下文另外明确指出,否则单数形式“一个”、“一种”和“该”也旨在包括复数形式。还应理解,如本文所用的术语“和/或”是指并涵盖一个或多个关联所列事项的任何和所有可能的组合。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”规定了所陈述的特征、整体、步骤、操作、元件和/或部件的存在,但不预先排除存在或增加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组。
如本文中所用,取决于上下文,术语“如果”可选地解释为“当......时”、“在......之后”或者“响应于确定......”或者“响应于检测......”或者“根据确定......”。类似地,短语“如果确定......”或者“如果检测到【所陈述的状况或者事件】”可选地解释为意思是“在确定......之后”、“响应于确定......”或者“在检测【所陈述的状况或者事件】之后”或者“响应于检测【所陈述的状况或者事件】”或者“根据确定检测到【所陈述的状况或者事件】”。
如本文中所用,术语“示例”在“用作示例、例子或者例证”的意义上使用,而不是在“表征其同类中的最佳者”的意义上使用。
图1是根据一些实施例示出产品检查网络的示例网络架构100的框图。网络架构100包括通过一个或多个网络106可通信地连接到服务器***104的若干边缘装置102-1、102-2、...102-n。
在一些实施例中,边缘装置102-1、102-2、...102-n是能够与服务器***104、彼此之间和与其他装置通信的电子装置。在一些实施例中,服务器***104是诸如计算机服务器的单个计算装置,而在其他实施例中,服务器***104通过在一起工作以执行服务器***的动作(例如,云计算)的多个计算装置实施。在一些实施例中,服务器***104在边缘装置102-1、102-2、...102-n中的一个(或者每一个)处。在这种实施例中,服务器***104是在相应边缘装置处的计算机(即,服务器***104是当地计算机和/或是相应边缘装置的部分)。在一些实施例中,网络106是公共通信网络(例如,因特网或蜂窝数据网络),专用通信网络(例如,专用LAN或租用线路)或这些通信网络的组合。
边缘装置102-1、102-2、...102-n用于检查(例如,监测)产品。在一些实施例中,边缘装置102-1、102-2、...102-n监测操作对产品的效果(例如,执行质量控制)。为了做到这一点,边缘装置102-1、102-2、...102-n中的每一者包括一个或多个采集装置,诸如摄像机、红外线摄像机、X射线摄像机、深度摄像机等。目标是,边缘装置102-1、102-2、...102-n识别产品缺陷,或者收集能够用于识别产品缺陷的数据。
在一些实施例中,边缘装置102是带有摄像机的机械臂(例如,机械臂402,图4A),摄像机附接至机械臂的端部。尽管在图1中示出了多个边缘装置,但是在一些实施例中,单个边缘装置与服务器***104通信。
在一些实施例中,边缘装置102-1、102-2、...102-n将采集数据发送至服务器***104。然后,服务器***104能够使用所接收的数据,用于评估产品的产品缺陷。替代地,在一些实施例中,边缘装置102-1、102-2、...102-n在当地评估产品的产品缺陷(例如,在其中服务器***104是在边缘装置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通常包括一个或多个处理单元(处理器或芯)202、一个或多个网络接口或其他通信接口204、存储器206和用于使这些部件交互的一个或多个通信总线208。通信总线208可选地包括使***部件交互且控制在***部件之间的通信的电路(有时称为芯片组)。服务器***200可选地包括用户接口(未示出)。如果提供的话,用户接口可包括显示装置,且可选地包括诸如键盘、鼠标、跟踪板和/或输入按钮的输入。备选地或额外地,显示装置包括触敏表面,在该情形中,显示器是触敏显示器。
存储器206包括高速随机存取存储器,诸如DRAM、SRAM、DDRRAM或其他随机存取固态存储装置;且可包括非易失存储器,诸如一个或多个磁盘存储装置、光盘存储装置、闪存装置或其他非易失固态存储装置。可选地,存储器206可以包括远离(多个)处理器202定位的一个或多个存储装置。存储器206包括非瞬态计算机可读存储媒介,或者在存储器206内的(多个)非易失存储装置包括非瞬态计算机可读存储媒介。在一些实施例中,存储器206或存储器206的计算机可读存储媒介存储如下程序、模块和数据结构或者其子集或超集:
操作***210,该操作***210包括用于处理各种基本***服务和用于执行硬件相关任务的步骤;
网络通信模块212,该网络通信模块212用于将服务器***200经由一个或多个通信网络接口204(有线或无线)和一个或多个通信网络106(图1)连接至其他计算机(例如,机械臂300,图3),通信网络106诸如是因特网、移动电话网络、移动数据网络、其他广域网络、局域网络、城域网络等;
图像检查模块214,图像检查模块214用于处理从一个或多个边缘装置接收的数据,且用于分析已处理数据。在一些实施例中,视觉检查模块比较已处理数据与(多个)缺陷模型220(例如,缺陷表600,图6A);
报告模块216,其用于记录和报告缺陷;以及,
服务器数据库218,其用于存储与服务器***关联的数据,诸如:
一个或多个缺陷模型220;
一个或多个标准和阈值222;以及,
内容224。
在一些实施例中,一个或者多个缺陷模型220包括以前识别的缺陷和/或期望结果(即,无缺陷像素)。
一个或多个标准和阈值222能够包括用于识别缺陷的阈值。例如,在所采集的一张图像和在缺陷模型220中包括的缺陷像素之间的阈值差异(或者阈值相似度)。额外地,在一些实施例中,直到图像的阈值数量的块被视为包括缺陷,图像才被视为包括缺陷。
内容224能够包括从机械臂300接收的数据(图3),诸如通过机械臂采集的图像。在一些实施例中,内容224包括文本(例如,ASCII、SGML、HTML)、图像(例如,jpeg、tif和gif)、图形(例如,基于向量或者位图)、音频、视频(例如,mpeg)、其他多媒体和/或其组合。
服务器数据库218将与服务器***200关联的数据存储在一种或者多种类型的数据库中,诸如文本数据库、图形数据库、多维数据库、平面数据库、层次数据库、网络数据库、面向对象数据库、关系数据库和/或XML数据库。
在一些实施例中,服务器***200将边缘装置的图形存储在存储器中。例如,图形标识在特定生产线上的每一个边缘装置和在每一个边缘装置之间的连接。连接可包括边缘装置的位置、边缘装置的定向、相邻的边缘装置等。
图3是根据一些实施例示出示例机械臂300的框图。机械臂300是一个或多个边缘装置102-1、102-2、...102-n中的一个的示例(图1)。机械臂300通常包括一个或多个处理单元(处理器或芯)302、一个或多个网络接口或其他通信网络接口304、存储器306、用于使这些部件交互的一个或多个通信总线308和致动器309(例如,可旋转关节406-A-406-D,图4A)。通信总线308可选地包括使***部件交互且控制在***部件之间的通信的电路(有时称为芯片组)。机械臂300可选地包括诸如GNSS(例如,GPS、格罗纳斯等)的位置检测装置310或其他地理定位接收器,用于确定机械臂300的位置。机械臂300还包括一个或多个采集装置312,诸如摄像机、红外线摄像机、X射线摄像机、深度摄像机、三维摄像机等。
在一些实施例中,机械臂300包括一个或多个可选的传感器(例如,陀螺仪、加速度计),该传感器用于检测机械臂300的定向的改变和/或机械臂300的运动。在一些实施例中,所检测的机械臂300的运动和/或定向在机械臂300的定位期间使用或指示机械臂300要求调整或重新对准。
在一些实施例中,机械臂300包括或控制可旋转基座311(例如,可旋转基座410,图4A)。在一些实施例中,机械臂300经由一个或多个通信总线308与可旋转基座311通信。替代地,在一些实施例中,机械臂300分别经由(多个)通信接口304和通信接口313与可旋转基座311通信。在一些实施例中,服务器***200控制可旋转基座311。
存储器306包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储装置;且可包括非易失存储器,诸如一个或多个磁盘存储装置、光盘存储装置、闪存装置或其他非易失固态存储装置。可选地,存储器306可以包括远离(多个)处理器302定位的一个或多个存储装置。存储器306包括非瞬态计算机可读存储媒介,或者在存储器306内的(多个)非易失存储装置包括非瞬态计算机可读存储媒介。在一些实施例中,存储器306或存储器306的计算机可读存储媒介存储如下程序、模块和数据结构或者其子集或超集:
操作***314,该操作***314包括用于处理各种基本***服务和用于执行硬件相关任务的步骤;
网络通信模块316,其用于将机械臂300经由一个或多个通信网络接口304(有线或无线)和诸如因特网、移动电话网络、移动数据网络、其他广域网络、局域网络、城域网络等的一个或多个通信网络106(图1)连接至其他计算机(例如,其他边缘装置、服务器***200、可旋转基座311);
定位模块318,其用于控制致动器309,以及将采集装置312定位在产品附近;
采集模块320,其用于控制(多个)采集装置312,以及处理由(多个)采集装置312采集的相应图像或视频(或其他数据);
位置检测模块322(例如,GPS、Wi-Fi或混合定位模块),其用于(例如,使用位置检测装置310)确定机械臂300的位置,以及将该位置信息提供至其他边缘装置和/或服务器***200;
图像检查模块324,其用于使用由采集装置312采集的数据检测产品缺陷;以及,
数据库326,其用于存储与机械臂300关联的数据,诸如:
一个或多个缺陷模型328;
内容330;以及,
运动算法332。
在一些实施例中,定位模块318包括用于控制可旋转基座311(即,使其旋转)的可旋转基座模块334。如下文中更详细讨论地,根据在由(多个)采集装置312采集的图像中识别的缺陷的位置,可旋转基座模块334使可旋转基座311旋转。此外,在一些实施例中,在采集图像(例如,第一图像500,图5B)之前,可旋转基座模块334将可旋转基座311旋转至初始位置。
在一些实施例中,一个或者多个缺陷模型328包括以前识别的缺陷和/或期望结果(即,无缺陷像素)。下文参考图5B和图6A至图6B,更详细地讨论一个或多个缺陷模型328。
在一些实施例中,内容330包括由(多个)采集装置312采集的数据。在一些实施例中,内容330包括文本(例如,ASCII、SGML、HTML)、图像(例如,jpeg、tif和gif)、图形(例如,基于向量或者位图)、音频、视频(例如,mpeg)、其他多媒体和/或其组合。此外,在一些实施例中,内容330包括由机械臂300生成的局部二值模式(LBP)。
在一些实施例中,运动算法332是正运动学方程和逆运动学方程。正运动学方程和逆运动学方程分别用于识别机械臂300的末端效应器(或者多个末端效应器)的位置和确定关节参数,关节参数提供机械臂的末端效应器中的每一者的期望位置。其他方程332可包括工作空间方程和搜索路径方程,其中的每一者在下文中更详细地描述。
上述识别模块和应用中的每一者对应于可执行指令集,该可执行指令用于执行如上文所描述的一个或多个功能和/或在本申请中描述的方法(例如,计算机实施的方法和本文中所描述的其他信息处理方法)。这些模块(即,指令集)不需要实施为独立的软件程序、步骤或模块,且因此,这些模块的各种子集被可选地组合或以其他方式再布置在各种实施例中。在一些实施例中,存储器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中的至少一个分段的长度不同于多个分段中的其他分段的长度。在图4A中示出的长度仅仅用于示例目的,且不是限制性的。例如,即使第二分段404-B被示出为相比第一分段404-A更短,但是在一些实施例中,第二分段404-B相比第一分段404-A更长(取决于环境,第三分段404-C也可以相比其他分段更长或者更短)。机械臂402被示出为包括三个分段,然而,机械臂402能够包括各种数量的分段(例如,两个分段、四个分段......N个分段)。
机械臂402还包括多个可旋转关节406-A至406-D(例如,致动器309,图3)。在一些实施例中,在多个可旋转关节406-A至406-D中包括的可旋转关节的数量对应于在多个分段404-A、404-B和404-C中的分段的数量(例如,复数个可旋转关节的数量比多个分段的数量多一)。如图所示,第一可旋转关节406-A围绕第一旋转轴线(例如,Y轴)旋转,第二可旋转关节406-B和第三可旋转关节406-C围绕第二旋转轴线(例如,Z轴)旋转,且第四可旋转关节406-D围绕第一旋转轴线和第二旋转轴线中的一个或多个旋转。在一些实施例中,第四可旋转关节406-D也围绕第三旋转轴线(例如,X轴)旋转。应注意到的是,可旋转关节能够顺时针和/或逆时针旋转,且在图4A至图4C中使用的箭头不应当被解释为限制可旋转关节的旋转方向。
如图所示,每一个可旋转关节406连接:(i)多个分段404中的两个分段,或者(ii)机械臂402的摄像机408(下文中讨论)与多个分段404中的一个分段。以这种配置,机械臂402包括大致毗连的分段。
机械臂402还包括连接到机械臂的端部的摄像机408(例如,采集装置312,图3)。机械臂402(或者,其诸如(多个)处理器302或采集模块320的部件,图3)控制摄像机408的操作。例如,如将在上文中更详细地讨论地,在将摄像机408定位在期望位置处之后,机械臂402经由摄像机408采集产品412的图像。额外地,在一些实施例中,机械臂402基于特征/功能控制摄像机408的其他特征/功能,诸如变焦(例如,机械臂402调整摄像机408的焦距)。
在一些实施例中,机械臂402将摄像机408定位成与产品412的表面(或者特征)大致相邻。额外地,在一些实施例中,机械臂402定位摄像机408,以便摄像机408关于产品412的表面(或者特征)居中。为了实现这一点,机械臂402致动(例如,(多个)处理器302和/或定位模块318)多个可旋转关节406-A至406-C中的一个或者多个。以这种方式,摄像机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必须将摄像机408置放在远离产品412的特定距离处,以采集产品412的整个表面。该特定距离取决于摄像机的视场。示例视场可以是60度的视场,但是其他视场是可能的(例如,取决于透镜类型、焦距、摄像机类型等)。在下文的工作空间方程中表示视场(β)。
在一些实施例中,通过采集产品412的初始图像(或者通过评估由摄像机拍摄的视频反馈),机械臂402识别其工作空间。例如,在一些情况下,产品412是更小的产品,诸如,茶壶,这要求第一工作空间。然而,在一些其他环境中,产品412是更大的产品,诸如冰箱,这要求不同于第一工作空间的第二工作空间。在一些实施例中,机械臂402的工作空间由如下方程表示:
其中,l、w和h是用于机械臂402的期望工作空间(例如,机械臂402的末端效应器应当到达的点);L、W和H分别是产品412的长度、宽度和高度;以及,β是摄像机408的视场。在一些实施例中,机械臂402的末端效应器是摄像机408。替代地,在一些实施例中,机械臂402的末端效应器是多个可旋转关节中的一个(或者多个可旋转关节)。应当注意,上述工作空间方程考虑可旋转基座410。额外地,用于各种产品的工作空间可以被存储在机械臂的存储器306(图3)中。
因为机械臂402能够识别在产品之间的大小差异,故机械臂402能够相应地本身定位成大致与产品412的表面(或特征)相邻和关于该表面(或特征)居中,以采集产品412的初始图像。以这种方式,与具有针对特定产品校准的多个机械臂相反,生产线400能够使用单个机械臂,由此降低生产线400的总成本。
图4B是根据一些实施例,用于检查产品412的示例机械臂420。机械臂420是机械臂300的示例(图3)。为了简洁起见,在图4B中未描述上文中参考图4A示出和/或描述的一个或多个特征(或某些特征具有简化的描述)。
机械臂420包括多个分段(或者区段)424-A、424-B和424-C。在一些实施例中,多个分段424-A、424-B和424-C中的每一者的长度是大致相同的。替代地,在一些实施例中,多个分段424-A、424-B和424-C中的至少一个分段的长度不同于多个分段的其他分段。尽管机械臂420被示出为包括三个分段,但是应当理解,机械臂420能够包括各种数量的分段(例如,两个分段、四个分段......N个分段)。
机械臂420还包括多个可旋转关节426-A至426-D。在一些实施例中,在多个可旋转关节426-A至426-D中包括的关节的数量对应于在多个分段424-A、424-B和424-C中的分段的数量(例如,关节的数量将比多个分段的数量多一)。如图所示,第一可旋转关节426-A围绕第一旋转轴线(例如,Y轴)旋转,第二可旋转关节426-B和第三可旋转关节426-C围绕第二旋转轴线(例如,Z轴)旋转,且第四可旋转关节426-D围绕第一旋转轴线和第二旋转轴线旋转。
如与机械臂402(图4A)相比较,机械臂420的多个分段424-A至424-C的长度大致大于机械臂402的多个分段404-A至404-C的长度。这是因为产品412被放置在固定基座430的顶部,且因此,要求机械臂420到达产品412的每一个表面。由于不具有可旋转基座410,第四可旋转关节426-D围绕第一旋转轴线和第二旋转轴线旋转。
机械臂420还包括连接到机械臂420的端部的摄像机428(例如,采集装置312,图3)。机械臂420使用上文中参考图4A讨论的步骤,以将摄像机428定位成大致与产品412的表面(或特征)相邻,以及关于产品412的表面(或特征)居中。
在一些实施例中,通过采集产品412的初始图像(或者通过评估由摄像机428拍摄的视频反馈),机械臂420识别其工作空间。在一些实施例中,机械臂420的工作空间由如下方程表示:
其中,l、w和h是用于机械臂420的期望工作空间(例如,机械臂420的末端效应器应当到达的点);L、W和H分别是产品412的长度、宽度和高度;以及,β是摄像机428的视场。应当注意,可旋转基座410不是上述工作空间方程的部分。
图4C是根据一些实施例用于检查产品412的示例机械臂440。机械臂440是机械臂300的示例(图3)。为了简洁起见,在图4C中未描述上文中参考图4A描述的一个或多个特征(或某些特征具有简化的描述)。
机械臂440包括多个分段(或者区段)444-A、444-B和444-C。在一些实施例中,多个分段444-A、444-B和444-C中的每一者的长度是大致相同的。替代地,在一些实施例中,多个分段444-A、444-B和444-C中的至少一者的长度不同于多个分段的其他分段。尽管机械臂440被示出为包括三个分段,但是应当理解,机械臂440能够包括各种数量的分段(例如,两个分段、四个分段、......N个分段)。
机械臂440还包括多个可旋转关节446-A至446-D。在一些实施例中,在多个可旋转关节446-A至446-D中包括的关节的数量对应于在多个分段444-A、444-B和444-C中的分段的数量(例如,关节的数量将比多个分段的数量多一)。如图所示,第一可旋转关节446-A围绕第一旋转轴线(例如,X轴)旋转,第二可旋转关节446-B和第三可旋转关节446-C围绕第二旋转轴线(例如,Z轴)旋转,且第四可旋转关节446-D围绕第二旋转轴线和第三旋转轴线中的一个或多个(例如,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到达(reach)产品412的每一个表面。然而,当与机械臂420(图4B)相比较时,机械臂440能够利用相比机械臂420更少的关节致动来采集产品412的五个暴露表面。这由于机械臂440的独特关节布置实现(例如,第一可旋转关节446-A围绕X轴旋转,且因此能够通过致动第一可旋转关节446-A采集产品412的三个表面)。
在一些实施例中,通过采集产品412的初始图像(或者通过评估由摄像机448拍摄的视频反馈),机械臂440识别其工作空间。在一些实施例中,机械臂440的工作空间由如下方程表示:
h=H+2sinθΔ
其中,
以及,其中,l、w和h是是用于机械臂440的期望工作空间(例如,机械臂440的末端效应器应当到达的点);L、W和H分别是产品412的长度、宽度和高度;以及,β是摄像机448的视场。应当注意,可旋转基座410不是上述工作空间方程的部分。
图5A至图5B示出根据一些实施例机械臂402采集产品412的第一图像500和采集的结果。
如上文参考图4A至图4C所述,机械臂402(或者其诸如(多个)处理器302或定位模块318的部件,图3)定位摄像机408,以便摄像机408大致与产品412的表面(或特征)相邻且关于产品412的表面(或特征)居中。在一些实施例中,机械臂402通过如下实现这一点:首先识别要采集的产品412(例如,微波炉对冰箱),以及基于所识别的产品,机械臂402确定其工作空间,这将摄像机408的视界纳入考虑。额外地,机械臂402执行一个或多个运动学方程以定位自己。在这样做时,机械臂402将摄像机408定位在距离产品412的表面足够远的距离处,以便摄像机408采集可接受的图像(例如,包括整个产品表面或者整个特征的图像)。该布置在图5A中示出。
图5B示出由摄像机408采集的第一图像500。第一图像500包括由摄像机408采集的产品412的表面501和在产品表面501上的缺陷502。
在一些实施例中,机械臂402(或者其诸如(多个)处理器302或图像检查模块324的部件,图3)通过处理(例如,分析、评估等)第一图像500识别缺陷502。在一些实施例中,处理第一图像500涉及比较第一图像500的部分(例如,块)与一个或多个缺陷模型(例如,(多个)缺陷模型328,图3)。为了实现这一点,机械臂402将第一图像500分成块504-1至504-N(例如,形成网格,其中,网格的每一块具有相同的大小),以及比较块504-1至504-N的至少一个子集与一个或多个缺陷模型(例如,缺陷模型600,图6A)。如在图6A中所示,缺陷模型600包括缺陷像素602-A至602-N。应当注意,在一些实施例中,“缺陷像素”是1x1像素,而在一些其他实施例中,缺陷像素包括多个像素(例如,25x25像素、100x100像素或一些更大或更小数量的像素)。
在一些实施例中,缺陷像素对应于第一图像500的块(例如,缺陷模型600的左上角包括对应于第一图像500的左上角的缺陷像素)。因此,机械臂402比较第一图像500的第一块504-1与来自用于产品412的表面501的缺陷模型的一个或多个对应缺陷像素(例如,缺陷像素602-A,图6A)。在一些实施例中,在比较期间,机械臂402从左到右和/或从上到下翻转一个或多个对应缺陷像素。此外,在一些实施例中,在比较期间,机械臂402将一个或多个对应缺陷像素旋转90度、180度和/或270度。以这种方式,机械臂402评估一个或多个对应缺陷像素的可能的变型。应当注意,“翻转”缺陷像素不等于“旋转”缺陷像素(例如,翻转缺陷像素导致在缺陷像素中的特征在所得到的缺陷像素中变成镜像)。
在一些实施例中,机械臂402顺序地比较第一图像500的块与缺陷像素。例如,块504-1与一个或多个第一对应缺陷像素比较,块504-2与一个或多个第二对应缺陷像素比较等。替代地,机械臂402随机或者伪随机地比较第一图像500的块与缺陷像素。在一些实施例中,机械臂402执行第一图像500的初始分析,以识别在第一图像500中的任何异常。如果发现异常,例如,第一图像500的右下角与控制表面不同(在下文中讨论),则机械臂402比较在第一图像500的右下角中的一个或多个块与一个或多个对应缺陷像素。以这种方式,机械臂402跳过对第一图像500的不包括异常的其他部分的处理,因此节约时间和计算资源。
在一些实施例中,缺陷像素是以前识别的缺陷。例如,以前识别的缺陷可以在测试/校准阶段期间和/或在以前检查期间识别(例如,如果产品412是微波炉,则在以前检查的微波炉的表面上的缺陷被记录和存储)。备选地或额外地,在一些实施例中,对于产品412的表面501的每个块,缺陷像素是期望的结果(即,无缺陷像素)。例如,在测试/校准阶段期间,采集控制产品的控制表面的图像,且控制表面的每个块被记录和存储(控制表面对应于产品表面501)。此外,对于若干控制产品,可以重复该过程,以形成缺陷模型328(图3)。以这种方式,缺陷模型328包括带有可接受的误差的期望结果(例如,要将异常认定为缺陷所要求的与控制表面的阈值差异)。
如在图5B中所示,第一图像500包括在块504-5中的缺陷502。相应地,响应于缺陷502,机械臂转而重新定位以采集产品512的表面501的第二图像530,如在图5C至图5D中所示。应当注意,取决于缺陷的大小,缺陷可以跨越若干个块。为了易于讨论和说明,缺陷502被包含在单个块504-1内。额外地,在一些实施例中,代替机械臂402,服务器***200(图2)处理第一图像500(例如,机械臂402将第一图像500发送至服务器***200用于评估)。此外,在一些实施例中,在识别在第一图像500中的异常之后,机械臂402发送第一图像500至服务器***200用于评估。
图5C至图5D示出根据一些实施例机械臂采集产品的第二图像530和采集的结果。
响应于识别在第一图像500中的缺陷502,机械臂402自己从第一位置520-A(虚线)运动(例如,重新定位)到第二位置520-B。在图5A中的机械臂402定位在第一位置520-A处,且因此,当定位在第一位置520-A处时,机械臂402采集第一图像500。在一些实施例中,根据摄像机408(或者可旋转关节中的一个)的第一位置520-A和缺陷502在第一图像500中的相对位置,确定在第一位置520-A和第二位置520-B之间的运动。此外,第二位置520-B在由机械臂402确定的工作空间内,且在第一位置520-A和第二位置520-B之间的运动根据工作空间确定。然而,应当注意,机械臂402重新定位自己的目标是使摄像机408聚焦于缺陷502(与作为整体采集产品表面501相反)。
在一些实施例中,响应于识别在第一图像500中的缺陷502,机械臂402(或者其诸如(多个)处理器302或可旋转基座模块334的部件,图3)使可旋转基座410旋转。在图5A中的可旋转基座410定位在第一位置中(示出产品412-A处于第一位置中(虚线)),且因此,当产品412-A在第一位置中时,机械臂402采集第一图像500。在一些实施例中,根据缺陷502在第一图像500中的相对位置,机械臂402将可旋转基座410旋转至第二位置(示出产品412-B在第二位置中)。
在一些情况下,当机械臂402重新定位自己时,其使摄像机408沿着多个方向运动。例如,机械臂402使摄像机408沿Y轴、X轴和Z轴运动。当缺陷502从第一图像500的中心偏移时(例如,缺陷502在第一图像500中朝向产品表面501的左上角偏移),机械臂402可以使摄像机408沿多个方向运动。然而,在一些情形中,当缺陷502不从第一图像500的中心竖直地偏移时,机械臂502可以使摄像机408沿单个方向运动(例如,沿X轴朝向产品412-B的表面501)。因为可旋转基座410将缺陷502重新定位在摄像机的前方,所以实现摄像机408的最小运动。当然,如果由于可旋转基座410的旋转,摄像机408不再与产品412-B的表面501相邻,则机械臂402可以需要采取进一步的重新定位动作。
在一些实施例中,当从第一位置520-A运动至第二位置520-B时,机械臂402使用运动学方程(例如,运动算法332,图3)。运动学方程可包括正运动学方程和/或逆运动学方程。正运动学指的是,使用机器人的运动学方程来从关节参数的具体值计算末端效应器(例如,摄像机)的位置。在一些实施例中,示例正运动学方程由如下方程表示:
θ | d | a | α | |
关节1 | θ<sub>1</sub> | 0 | a1 | 90° |
关节2 | θ<sub>2</sub> | 0 | a2 | 0 |
关节3 | θ<sub>3</sub> | 0 | a3 | 0 |
关节4 | θ<sub>4</sub> | 0 | a4 | 90° |
其中,θ、d、a和α是如由本领域技术人员已知的Denavit-Hartenberg参数。对于在图4A中示出的机械臂402,应用如下正运动学矩阵:
其中,“C”=余弦,且“S”=正弦。
使用示例正运动学方程和矩阵,机械臂402确定末端效应器在由上述工作空间方程限定的工作空间中的位置(例如,摄像机408和/或一个可旋转关节的位置)。
在机器人技术中,逆运动学使用运动学方程确定为机械臂的末端效应器中的每一者提供期望位置的关节参数。逆运动学将末端效应器从第一位置至第二位置的运动计划变换成机器人的关节致动器轨迹。在一些实施例中,示例逆运动学方程由如下方程表示:
θ234=atan(az,C1ax+S1ay)
θ4=θ234-θ2-θ3
其中,n、o、a和p对应于四个关节在笛卡尔坐标系中的空间位置。
在一些实施例中,机械臂402使用上文中给出的逆运动学方程来定义其从第一位置520-A至第二位置520-B的搜索路径(即,定义摄像机408(或可旋转关节中的一个或多个)的路径)。在一些实施例中,示例搜索路径方程由用于机械臂402的每一个关节的如下方程表示(根据基于三次插值的方程):
θ(t)=a0+a1t+a2t2+a3t3
θ0=a0
a0=θ0
a0=θ0
其中,(θf-θ0)=Δθ,“a”和“t”分别是加速度和时间。
应注意到的是,上述方程仅仅是能够用于控制机械臂402的运动的方程的一个示例。本领域技术人员将理解,各种其他方程能够用于控制机械臂402的运动。额外地,在一些实施例中,不同的方程能够用于控制机械臂420和440。这些方程在下文中提供(在方法700的讨论之后)。
图6A至图6B示出根据一些实施例的缺陷模型(缺陷表)600和被增加至缺陷表600的缺陷502。如上文所述,缺陷模型600(例如,(多个)缺陷模型328,图3)包括缺陷像素602-A至602-N。在一些实施例中,缺陷像素602在缺陷模型600中的位置对应于被检查的图像的块(或者多个块)(例如,缺陷模型600的左上角包括对应于第一图像500的左上角的像素,图5B)。替代地,在一些实施例中,第一缺陷模型对应于被检查的图像的第一块或第一部分,第二缺陷模型对应于被检查的图像的第二块或第二部分等。
在一些实施例中,在缺陷模型600中的缺陷像素602-A至602-N是以前识别的缺陷。例如,以前识别的缺陷可以在测试/校准阶段期间和/或在以前检查期间识别(例如,如果产品412是微波炉,则在以前检查的微波炉的表面上的缺陷被记录和存储在缺陷模型600中)。备选地或额外地,在一些实施例中,缺陷像素602是被检查的产品的块的期望结果(即,无缺陷像素)。例如,在测试/校准阶段期间,采集控制产品的控制表面的图像,且控制表面的每个块被记录和存储在缺陷模型600中。此外,对于若干控制产品,可以重复该过程,以形成缺陷模型600。
在一些实施例中,在机械臂采集第二图像530之后,缺陷502(图5B)被增加至缺陷模型600。例如,缺陷模型600包括新的缺陷像素604,其包括缺陷502。以这种方式,机械臂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)和多个可旋转关节(例如,可旋转关节406-A至406-D,图4A),每一个可旋转关节连接多个分段中的两个分段或者连接摄像机与多个分段(702)中的一个分段。在一些实施例中,多个可旋转关节为机械臂提供四个自由度。替代地,在一些实施例中,多个可旋转关节为机械臂提供五个自由度。在一些实施例中,在多个可旋转关节中的第一组可旋转关节围绕第一轴(例如,Z轴)旋转,且在多个可旋转关节中的第二组可旋转关节围绕第二轴(例如,Y轴)旋转,或者反之亦然。在一些实施例中,第一组可旋转关节是本体可旋转关节(例如,可旋转关节406-B和406-C,图4A),且第二组可旋转关节是端部可旋转关节(例如,可旋转关节406-A和406-D,图4A)。在一些实施例中,可旋转关节中的至少一者围绕两个轴旋转(例如,可旋转关节406-D,在一些实施例中,围绕Z轴和Y轴或轴的一些其他组合旋转)。
方法700包括接收(704)采集产品(例如,产品412,图4A)的表面(或特征)的第一图像的命令。在一些实施例中,机械臂从服务器***或一些其他计算机(例如,生产线400的控制计算机,图4A)接收命令。作为接受命令的替代,在一些实施例中,机械臂识别被放置在其前方的产品。例如,机械臂可以从摄像机的视频反馈确定产品的大小,且产品的大小可以对应于产品类型(例如,具有第一大小的产品是茶壶,且具有第二大小的产品是微波炉)。响应于识别产品,机械臂采集产品表面的第一图像(在下文中讨论)。相应地,在这些实施例中,接收命令是可选的。
在一些实施例中,机械臂采集产品的初始图像(与第一图像不同)。使用初始图像,机械臂确定机械臂的末端效应器的工作空间。工作空间可以从产品的每一个表面(或者特征)延伸至远离产品的每一个表面(特征)特定距离。在一些实施例中,机械臂的末端效应器是摄像机。备选地或额外地,机械臂的末端效应器是多个可旋转关节中的一个或多个。在一些实施例中,基于产品的形状/大小(例如,产品的高度、宽度、长度和体积)确定末端效应器的工作空间。备选地或额外地,在一些实施例中,基于摄像机的视场确定末端效应器的工作空间。在上文中参考图4A更详细地讨论确定机械臂的工作空间。
在一些实施例中,响应于接收命令(或者响应于识别产品),方法700还包括通过致动多个可旋转关节,将摄像机定位(706)在与产品表面大致相邻的第一位置处。在一些实施例中,当处于第一位置时,摄像机关于产品表面居中。在一些实施例中,摄像机在处于第一位置时,与产品表面的预定部分(例如,产品表面的容易有缺陷的部分)相邻。在一些实施例中,第一位置在由机械臂确定的工作空间内,且摄像机是机械臂的末端效应器。
在一些情形中,在检验在先产品之后,机械臂将自己定位在默认位置中。默认位置是收缩位置,这确保进入的产品不损坏摄像机(例如,避免在摄像机和进入的产品之间的碰撞)。当以前检验的产品大致小于进入的产品之后,这尤其重要。因此,当被收缩至默认位置时,将摄像机定位在第一位置(706)处涉及使机械臂从默认位置运动至第一位置。机械臂可以使用运动算法332,以使摄像机从默认位置运动至第一位置。
应当注意,在一些情形中,摄像机已经在第一位置处,且因此,取决于环境,操作706可以是可选的。例如,以前检验的诸如微波炉的产品可以通过检查,且然后可以检验属于相同模型微波炉的后续产品,因此不要求摄像机的运动。
在一些实施例中,当摄像机被定位在第一位置处时,摄像机与表面间隔第一距离。第一距离对应于由机械臂确定的工作空间。此外,在一些实施例中,当摄像机定位在第一位置处时,摄像机被设置在第一焦距处(例如,设置为第一变焦)。在一些实施例中,摄像机的视场至少部分基于摄像机的焦距。相应地,在一些实施例中,当确定工作空间时,机械臂调整摄像机的焦距(例如,取决于环境,镜头拉近或者拉远)。
方法700还包括在摄像机定位在第一位置处(例如,第一位置520-A,图5C)的情况下,经由摄像机采集(708)产品表面的第一图像。例如,参考图5B,第一图像500包括产品412的表面501。
方法700还包括,在采集第一图像之后,处理(710)第一图像以识别在第一图像中的缺陷和缺陷在第一图像中的相对位置。在一些实施例中,处理第一图像包括比较第一图像的块与一个或多个缺陷模型(例如,一个或多个缺陷模型328,图3)。为了实现这一点,机械臂将第一图像分成块(例如,块504-1至504-N,图5B),且比较块的至少一个子集与一个或多个缺陷模型。如在图6A中所示,缺陷模型600包括缺陷像素602-A至602-N。在一些实施例中,缺陷像素是1x1像素。替代地,在一些实施例中,缺陷像素包括多个像素(例如,25x25像素、100x100像素或一些更大或更小数量的像素)。在上文中参考图5B更详细地讨论处理图像。
在一些实施例中,处理第一图像还包括执行第一图像的初始分析,以识别在第一图像中的任何异常。初始分析可包括比较第一图像的区域与产品表面的模板(即,控制)(例如,相比上文中讨论的比较操作,该分析需求更小)。表面的模板包括表面的期望结果(例如,以前检验的通过了质量控制的产品表面)。如果发现异常,例如,第一图像的右下角与模板不同,则机械臂比较在第一图像的右下角中的一个或多个块与一个或多个对应缺陷像素(如上文所述)。以这种方式,机械臂跳过对第一图像的不包括异常的其他块的处理,因此节约时间和计算资源。为了易于讨论,如在本文中使用的异常不必然是缺陷,而是作为替代从控制/模板的偏移。然而,利用进一步的调查,异常能够变换成缺陷。
在一些实施例中,方法700还包括基于处理确定(712)第一图像是否包括缺陷(即,基于比较第一图像的块与一个或多个缺陷模型)。在一些实施例中,当第一图像的块(或阈值数量的块):(1)匹配(或部分匹配)缺陷模型中的缺陷像素或(2)不匹配(或部分匹配)在缺陷模型中的任何无缺陷像素时,机械臂确定第一图像包括缺陷。在一些实施例中,当阈值百分率的缺陷匹配缺陷像素时,部分匹配被认为是足够的。如上文中所述,在一些实施例中,缺陷模型包括“无缺陷像素”,其是产品的块的期望结果(例如,以前通过了质量控制且被记录在缺陷模型328中的产品的块,图3)。在上文中参考图5B更详细地讨论确定图像包括缺陷。
在一些实施例中,机械臂创造局部二值模式(LBP),以确定第一图像是否包括缺陷。为了创造LBP,值被基于处理(710)分配到块。例如,当块直接匹配缺陷像素时(例如,90%匹配)时,第一值被分配到块,且当块部分匹配缺陷像素时(例如,60%匹配),小于第一值的第二值被分配给块(还可以使用无缺陷像素分配值)。此外,块的值与相邻的块的值相比较(例如,任何给定块具有八个相邻的块)。继续,如果块的值大于相邻的块的值,则块被分配“1”,且如果块的值小于相邻的块的值,则块被分配“0”。在比较之后,总度量(metric)被分配给块。在一些实施例中,度量是八位二进制数,其中,每一位对应于八个比较中的一个。对在第一图像中的多个块(或者每个块),重复上文中描述的过程,且创造图表(例如,直方图)以说明结果。图表包括每一个二进制数出现的频率。直方图的区域(例如,第一位置)具有第一二进制数(或者平均第一二进制数)可以指示该区域包括缺陷,且直方图的不同区域(例如,第二位置)具有第二二进制数(或者平均第二二进制数)可以指出该区域不包括缺陷。直方图可以是N-数维特征向量,且在一些实施例中,直方图被归一化。在这种实施例中,为第一图像建立特征向量。
在一些实施例中,支持向量机(SVM)也用于确定第一图像包括缺陷。SVM是机器学习中的一种监督式学习模型,其带有分析数据用于分类和回归分析的关联学习算法。例如,给定训练示例集,每一个示例被标记为属于两种类别中的一种或者另一种,SVM训练算法构建二元分类器,该二元分类器将新的示例分配给一个类别或者另一类别。SVM模型将示例表征为映射到空间中的点,以便独立的类别的示例被尽可能宽的清晰的间隙分开。新示例然后被映射到同一空间内,且基于新示例落在间隙的哪一侧,预测其所属于的类别。在一些实施例中,使用上文中讨论的LBP,SVM确定第一图像包括缺陷。
响应于确定第一图像不包括缺陷(712-否),方法700还包括将该产品记录和报告(714)为可接受的。替代地,响应于确定第一图像包括缺陷(712-是),方法700还包括根据摄像机的第一位置和缺陷在第一图像中的相对位置,确定(716)摄像机的第二位置。应当注意,当确定第一图像包括缺陷时,机械臂可以确定第一图像很可能具有缺陷。因此,如下文中讨论地,机械臂采集产品表面的第二图像,以核实所识别的缺陷实际上是缺陷。
方法700还包括通过致动多个可旋转关节,将摄像机从第一位置重新定位(718)至第二位置。相比第一位置与产品表面的空间关系,第二位置与产品表面具有不同的空间关系。例如,当被重新定位在第二位置处时,摄像机与产品表面间隔第二距离,且第二距离小于第一距离。此外,在一些实施例中,当被重新定位在第二位置处时,摄像机被设置在第二焦距处,且第二焦距大于第一焦距(例如,设置成第二变焦)。机械臂重新定位自己的目标是使摄像机聚焦于缺陷(与作为整体采集产品表面相反)。例如,如在图5D中所示,在第二图像530的中央部分中放大缺陷。以这种方式,机械臂能够核实所识别的缺陷实际上是缺陷。
方法700还包括,在摄像机定位在第二位置处的情况下,经由摄像机采集(720)产品表面的第二图像。响应于采集第二图像,在一些实施例中,机械臂核实所识别的缺陷实际上是缺陷。为了核实缺陷,机械臂再次比较缺陷与在缺陷模型中的缺陷像素(和/或无缺陷像素)。然而,相对于第一图像的比较操作,该比较操作更细化。机器人可以确定缺陷对应于已经识别的缺陷(例如,由工具引起的缺陷)。替代地,机器人可以确定缺陷不对应于任何已经识别的缺陷,但是其仍然是缺陷。在任一个情形中,机械臂可以生成报告,且将报告提供至合适的一方(例如,负责制造过程的具体部分的处理工程师)。在核实缺陷之后,在一些实施例中,方法700包括将产品记录和报告为不可接受。
此外,在一些实施例中,方法700还包括将缺陷模型更新为包括该缺陷。例如,参考图6B,包括缺陷502的新缺陷像素604被增加至缺陷模型610。在一些实施例中,在步骤712-是之后,缺陷被增加至缺陷模型。替代地,在一些实施例中,在核实缺陷之后,该缺陷被增加至缺陷模型。
然而,在一些实施例中,机械臂不能核实缺陷。在这种情形中,方法700包括将产品报告和记录为可接受。在这些情形中,机械臂可以将缺陷模型更新为包括作为可接受异常的未核实缺陷(即,无缺陷像素)。
在一些实施例中,产品被放置在可旋转基座上(例如,可旋转基座311,图3;可旋转基座410,图4A)。进一步,在一些实施例中,在采集第一图像之后,方法700包括根据缺陷在第一图像中的相对位置,使可旋转基座旋转。在使可旋转基座旋转之后,然后采集第二图像。例如,机械臂(或其诸如处理器302或可旋转基座模块334的部件,图3)控制可旋转基座和使可旋转基座旋转,以便缺陷被定位在摄像机的前方。该配置最小化机械臂所要求的运动程度,因为基本上是缺陷走向摄像机,而不是摄像机走向缺陷。因此,当包括可旋转基座时,节约了时间和资源。此外,多个分段中的每一个分段的长度能够被大致减少,因为机械臂不必到达产品的远端侧向表面。最多,假定产品的顶部表面需要检查,要求机械臂到达产品的顶部表面。
在一些实施例中,在采集第一图像之前,方法700还包括确定产品的大小,且基于所确定的大小,机械臂确定其工作空间。例如,机械臂,当被定位在默认位置时,在产品的前方检测产品,以及使用通过摄像机采集的图像和摄像机的位置,确定产品的大小。在一些实施例中,为了确定产品的大小,机械臂采集产品的初始图像,以及从初始图像和采集初始图像的摄像机的位置确定产品的大小。替代地,在一些实施例中,机械臂基于来自摄像机的视频反馈评估产品。
在一些实施例中,方法700还包括,通过致动多个可旋转关节,将摄像机重新定位在一个或者多个额外位置处,其中,每一个额外位置与产品的相应额外表面(或者额外特征)大致相邻。例如,参考图4B至图4C,机械臂420和440到达产品412的远端侧向表面。然而,在涉及可旋转基座的那些实施例中(例如,图4A),机械臂能够调节可旋转基座以使产品旋转,以便产品的每一个相应额外表面被定位在摄像机的前方。再次,该布置导致额外表面走向摄像机,而不是摄像机走向缺陷。以这种方式,节约了时间和资源。
在一些实施例中,方法700还包括利用定位在一个或多个额外位置处的摄像机,经由摄像机采集产品的每一个相应额外表面的额外图像。以与上文中所述相同的方式,处理每一个额外图像。
如下方程涉及上文中参考图4B至图4C讨论的机械臂420和440。
在一些实施例中,当从一个位置运动至另一位置时,机械臂420使用运动学方程(例如,运动算法332,图3)。运动学方程可包括正运动学方程和/或逆运动学方程。在一些实施例中,示例正运动学方程由如下方程表示:
θ | d | a | α | |
关节1 | θ<sub>1</sub> | 0 | a<sub>1</sub> | 90° |
关节2 | θ<sub>2</sub> | 0 | a<sub>2</sub> | 0 |
关节3 | θ<sub>3</sub> | 0 | a<sub>3</sub> | 0 |
关节4 | θ<sub>4</sub> | 0 | 0 | 0 |
关节5 | θ<sub>5</sub> | 0 | 0 | 90° |
其中,θ、d、a和α是如由本领域技术人员已知的Denavit-Hattenberg参数。对于在图4B中示出的机械臂420,应用如下正运动学矩阵:
其中,“C”=余弦,且“S”=正弦。
在一些实施例中,用于机械臂420的示例逆运动学方程通过如下方程表示:
以及,
θ234=atan(az,C1ax+S1ay)
θ4=θ234-θ2-θ3
在一些实施例中,机械臂420使用上文中给出的逆运动学方程来定义其从第一位置至第二位置的搜索路径(即,定义摄像机428(或可旋转关节中的一个或多个)的路径)。在一些实施例中,示例搜索路径方程由如下方程表示(根据基于三次插值的方程):
θ(t)=a0+a1t+a2t2+a3t3
θ0=a0
a0=θ0
在我们的例子中,
a0=θ0
在一些实施例中,当从一个位置运动至另一位置时,机械臂440使用运动学方程(例如,运动算法332,图3)。运动学方程可包括正运动学方程和/或逆运动学方程。在一些实施例中,示例正运动学方程由如下方程表示:
其中,θ、d、a和α是如由本领域技术人员已知的Denavit-Hartenberg参数。对于在图4C中示出的机械臂440,应用如下正运动学矩阵:
其中,“C”=余弦,且“S”=正弦。
在一些实施例中,用于机械臂440的示例逆运动学方程通过如下方程表示:
以及,
θ234=atan(az,C1ax+S1ay)
θ4=θ234-θ2-θ3
在一些实施例中,机械臂440使用上文中给出的逆运动学方程来定义其从第一位置至第二位置的搜索路径(即,定义摄像机448(或可旋转关节中的一个或多个)的路径)。在一些实施例中,示例搜索路径方程由如下方程表示(根据基于三次插值的方程):
θ(t)=a0+a1t+a2t2+a3t3
θ0=a0
a0=θ0
在我们的例子中,
a0=θ0
尽管各种图片中的一些以特定次序图示了若干逻辑级,但是不依赖于次序的级可以被重新排序,而其他级可以组合或者拆分。虽然具体提及了一些重新排序或者其他分组,但是对于本领域技术人员来说,其他重新排序或者分组将是显而易见的,因此在本文中给出的排序和分组不是替代项的穷举。此外,应当认识到,级可以在硬件、固件、软件或者其任何组合中实施。
已经出于解释的目的,参考特定实施例描述了前述说明书。然而,上文中的说明性讨论不旨在穷举权利要求的范围或者使权利要求的范围受限于所公开的精确形式。考虑上述教导,许多修改和变型是可能的。实施例被选择为以便最佳解释作为权利要求基础的原理及其实际的应用,因此允许本领域中的其他技术人员能够以适用于所考虑的具体用途的各种修改来最佳地使用实施例。
Claims (19)
1.一种机械臂,包括:
多个分段;
在所述机械臂的端部处的摄像机;
多个可旋转关节,每一个可旋转关节连接所述多个分段中的两个分段,或者连接所述摄像机与所述多个分段中的一个分段;
一个或多个处理器;以及,
存储器,所述存储器存储用于由所述一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括指令用于:
接收采集产品表面的第一图像的命令;
通过致动所述多个可旋转关节,将所述摄像机定位在与所述产品表面大致相邻的第一位置处;
当所述摄像机被定位在所述第一位置处时,经由所述摄像机,采集所述产品表面的第一图像;以及,
在采集所述第一图像之后:
处理所述第一图像,以识别在所述第一图像中的缺陷以及所述缺陷在所述第一图像中的相对位置;
根据所述摄像机的第一位置和所述缺陷在所述第一图像中的相对位置,确定所述摄像机的第二位置;
通过致动所述多个可旋转关节,将所述摄像机从所述第一位置重新定位至所述第二位置,其中,相比所述第一位置与所述产品表面的空间关系,所述第二位置与所述产品表面具有不同的空间关系;以及,
当所述摄像机被定位在所述第二位置处时,经由所述摄像机,采集所述产品表面的带有所述缺陷的第二图像,将所述缺陷的像素增加至缺陷模型,
其中,所述处理所述第一图像包括比较所述第一图像的部分与所述缺陷模型。
2.根据权利要求1所述的机械臂,其中:
当所述摄像机定位在所述第一位置处时,所述摄像机与所述产品表面间隔第一距离;
当所述摄像机被重新定位在所述第二位置处时,所述摄像机与所述产品表面间隔第二距离;以及,
所述第二距离小于所述第一距离。
3.根据权利要求1所述的机械臂,其中:
当所述摄像机定位在第一位置处时,所述摄像机被设置在第一焦距处;
当所述摄像机被重新定位在所述第二位置处时,所述摄像机被设置在第二焦距处;以及,
所述第二焦距大于所述第一焦距。
4.根据权利要求1所述的机械臂,其中,所述一个或多个程序还包括指令用于:
从所述产品表面的第一图像和所述摄像机的第一位置,确定所述产品的大小;以及,
基于所确定的大小,为所述机械臂分配工作空间。
5.根据权利要求4所述的机械臂,其中,在为所述机械臂确定的工作空间内执行将所述摄像机定位在所述第一位置处以及将所述摄像机从所述第一位置重新定位至所述第二位置。
6.根据权利要求1所述的机械臂,其中,所述多个可旋转关节为所述机械臂提供四个自由度。
7.根据权利要求1所述的机械臂,其中,所述多个可旋转关节为所述机械臂提供五个自由度。
8.根据权利要求1所述的机械臂,其中:
在所述多个可旋转关节中的第一组可旋转关节围绕第一轴旋转;以及,
在所述多个可旋转关节中的第二组可旋转关节围绕第二轴旋转。
9.根据权利要求8所述的机械臂,其中:
所述第一组可旋转关节是本体可旋转关节;以及,
所述第二组可旋转关节是端部可旋转关节。
10.根据权利要求1所述的机械臂,其中,所述一个或多个程序还包括指令用于:
通过致动所述多个可旋转关节,将所述摄像机重新定位在一个或多个额外位置处,每一个额外位置与所述产品的相应额外表面大致相邻;以及,
当所述摄像机定位在所述一个或多个额外位置处时,经由所述摄像机,采集所述产品的每一个相应额外表面的额外图像。
11.根据权利要求1所述的机械臂,其中:
所述产品被放置在可旋转基座上;
所述一个或多个程序还包括指令用于,在采集所述第一图像之后,根据所述缺陷在所述第一图像中的相对位置,使所述可旋转基座旋转;以及,
在使所述可旋转基座旋转之后,采集所述第二图像。
12.一种改善的质量检查方法,包括:
在机械臂处,所述机械臂包括多个分段、在所述机械臂的端部处的摄像机和多个可旋转关节,每一个可旋转关节连接所述多个分段中的两个分段或者连接所述摄像机与所述多个分段中的一个分段:
接收采集产品表面的第一图像的命令;
通过致动所述多个可旋转关节,将所述摄像机定位在与所述产品表面大致相邻的第一位置处;
当所述摄像机被定位在所述第一位置处时,经由所述摄像机,采集所述产品表面的第一图像;以及,
在采集所述第一图像之后:
处理所述第一图像,以识别在所述第一图像中的缺陷以及所述缺陷在所述第一图像中的相对位置;
根据所述摄像机的第一位置和所述缺陷在所述第一图像中的相对位置,确定所述摄像机的第二位置;
通过致动所述多个可旋转关节,将所述摄像机从所述第一位置重新定位至所述第二位置,其中,相比所述第一位置与所述产品表面的空间关系,所述第二位置与所述产品表面具有不同的空间关系;以及,
当所述摄像机被定位在所述第二位置处时,经由所述摄像机,采集所述产品表面的带有所述缺陷的第二图像,将所述缺陷的像素增加至缺陷模型,
其中,所述处理所述第一图像包括比较所述第一图像的部分与所述缺陷模型。
13.根据权利要求12所述的方法,其中:
当所述摄像机定位在所述第一位置处时,所述摄像机与所述产品表面间隔第一距离;
当所述摄像机被重新定位在所述第二位置处时,所述摄像机与所述产品表面间隔第二距离;以及,
所述第二距离小于所述第一距离。
14.根据权利要求12所述的方法,其中:
当所述摄像机定位在第一位置处时,所述摄像机被设置在第一焦距处;
当所述摄像机被重新定位在所述第二位置处时,所述摄像机被设置在第二焦距处;以及,
所述第二焦距大于所述第一焦距。
15.根据权利要求12所述的方法,还包括,在所述机械臂处:
从所述产品表面的第一图像和所述摄像机的第一位置,确定所述产品的大小;以及,
基于所确定的大小,为所述机械臂分配工作空间。
16.根据权利要求15所述的方法,其中,在为所述机械臂确定的工作空间内,执行所述摄像机从所述第一位置至所述第二位置的重新定位。
17.根据权利要求12所述的方法,还包括,在所述机械臂处:
通过致动所述多个可旋转关节,将所述摄像机重新定位在一个或多个额外位置处,每一个额外位置大致与所述产品的相应额外表面相邻;以及,
当所述摄像机定位在所述一个或多个额外位置处时,经由所述摄像机,采集所述产品的每一个相应额外表面的额外图像。
18.根据权利要求12所述的方法,其中:
所述产品被放置在可旋转基座上;
所述方法还包括,在采集所述第一图像之后,根据所述缺陷在所述第一图像中的相对位置,使所述可旋转基座旋转;以及,
在使所述可旋转基座旋转之后,采集所述第二图像。
19.一种非瞬态计算机可读存储媒介,其存储配置成用于通过机械臂的一个或多个处理器执行的一个或多个程序,所述机械臂具有多个分段、在所述机械臂的端部处的摄像机和多个可旋转关节,每一个可旋转关节连接所述多个分段的两个分段或者连接所述摄像机与所述多个分段的一个分段,所述一个或多个程序包括指令,所述指令当通过所述一个或多个处理器执行时导致所述机械臂:
接收采集产品表面的第一图像的命令;
通过致动所述多个可旋转关节,将所述摄像机定位在与所述产品表面大致相邻的第一位置处;
当所述摄像机被定位在所述第一位置处时,经由所述摄像机,采集所述产品表面的第一图像;以及,
在采集所述第一图像之后:
处理所述第一图像,以识别在所述第一图像中的缺陷以及所述缺陷在所述第一图像中的相对位置;
根据所述摄像机的第一位置和所述缺陷在所述第一图像中的相对位置,确定所述摄像机的第二位置;
通过致动所述多个可旋转关节,将所述摄像机从所述第一位置重新定位至所述第二位置,其中,相比所述第一位置与所述产品表面的空间关系,所述第二位置与所述产品表面具有不同的空间关系;以及,
当所述摄像机被定位在所述第二位置处时,经由所述摄像机,采集所述产品表面的带有所述缺陷的第二图像,将所述缺陷的像素增加至缺陷模型,
其中,所述处理所述第一图像包括比较所述第一图像的部分与所述缺陷模型。
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 |
---|---|
CN110678275A CN110678275A (zh) | 2020-01-10 |
CN110678275B true CN110678275B (zh) | 2021-01-26 |
Family
ID=65517363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880035033.6A Active CN110678275B (zh) | 2017-09-01 | 2018-06-07 | 使用机器人改善产品质量检查的方法和*** |
Country Status (5)
Country | Link |
---|---|
US (2) | US10269108B2 (zh) |
EP (1) | EP3618980B1 (zh) |
JP (1) | JP6865865B2 (zh) |
CN (1) | CN110678275B (zh) |
WO (1) | WO2019041952A1 (zh) |
Families Citing this family (22)
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 | 株式会社日立製作所 | 倉庫システム |
EP3802009A4 (en) * | 2018-05-28 | 2022-03-09 | MMAPT IP Pty Ltd | PRODUCT MEDIA CAPTURE SYSTEM |
WO2020004792A1 (ko) * | 2018-06-29 | 2020-01-02 | 주식회사 고영테크놀러지 | 플리퍼 장치 및 이를 이용한 대상물 검사방법 |
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 |
CN113272106A (zh) * | 2019-12-12 | 2021-08-17 | 牧今科技 | 基于由相机生成的图像信息执行运动规划的方法和计算*** |
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 |
JP2023528378A (ja) * | 2020-05-29 | 2023-07-04 | ラム リサーチ コーポレーション | 自動外観検査システム |
JP2023543310A (ja) * | 2020-09-29 | 2023-10-13 | キトフ システムズ リミテッド | 検査対象のセマンティックセグメンテーション |
CN112428264B (zh) * | 2020-10-26 | 2021-12-07 | 中国计量大学 | 一种机器人臂的矫正方法及*** |
CN114880888B (zh) * | 2022-07-08 | 2022-09-09 | 四川大学 | 多旋转关节机器人末端效应器位姿相关动力学的预测方法 |
US20240129632A1 (en) * | 2022-10-18 | 2024-04-18 | Jun-Fu Technology Inc | Wafer position status inspection apparatus |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508535A (zh) * | 2002-12-20 | 2004-06-30 | 宝山钢铁股份有限公司 | 扫描式带钢表面检测方法和装置 |
JP2005121599A (ja) * | 2003-10-20 | 2005-05-12 | Komatsu Ltd | プレス成形品の欠陥検査装置 |
JP2006208258A (ja) * | 2005-01-31 | 2006-08-10 | Aisin Seiki Co Ltd | 欠陥検査方法および欠陥検査装置 |
CN102308201A (zh) * | 2008-12-24 | 2012-01-04 | 斯奈克玛 | 机械零件的无损检查方法 |
CN202676614U (zh) * | 2012-06-14 | 2013-01-16 | 孙征 | 产品外观自动检测*** |
CN103163144A (zh) * | 2011-12-09 | 2013-06-19 | C.R.F.阿西安尼顾问公司 | 用于在喷漆之前监视施加到机动车车身上的底漆层的质量的方法 |
CN204330609U (zh) * | 2014-12-09 | 2015-05-13 | 深圳明锐理想科技有限公司 | 六轴机械手aoi检测*** |
CN105478529A (zh) * | 2015-02-02 | 2016-04-13 | 广东工业大学 | 全自动冲压生产线制品表面质量在线检测***及方法 |
CN105572133A (zh) * | 2014-11-05 | 2016-05-11 | 财团法人工业技术研究院 | 瑕疵检测方法及其装置 |
CN205262988U (zh) * | 2015-12-16 | 2016-05-25 | 常熟宝升精冲材料有限公司 | 一种生产精冲材的平整机带钢表面检测仪 |
CN106226325A (zh) * | 2016-07-22 | 2016-12-14 | 广东工业大学 | 一种基于机器视觉的座椅表面缺陷检测***及其方法 |
CN106383126A (zh) * | 2016-10-24 | 2017-02-08 | 张家港清研再制造产业研究院有限公司 | 一种用于再制造汽车零部件检测的装置及方法 |
Family Cites Families (16)
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 |
JP2004317190A (ja) * | 2003-04-14 | 2004-11-11 | Neomax Co Ltd | 高速凹凸判定可能な表面検査方法及び表面検査システム |
KR20060015557A (ko) * | 2003-04-28 | 2006-02-17 | 스티븐 제임스 크램톤 | 외골격을 구비한 cmm 암 |
US7187436B2 (en) * | 2004-03-30 | 2007-03-06 | General Electric Company | Multi-resolution inspection system and method of operating same |
JP2007155412A (ja) * | 2005-12-01 | 2007-06-21 | Nippon Mini Computer System Kk | 外観検査装置及び外観検査方法 |
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 |
JP5018868B2 (ja) * | 2009-11-24 | 2012-09-05 | 株式会社日立製作所 | 試料の観察方法およびその装置 |
US20120093422A1 (en) | 2010-10-14 | 2012-04-19 | Ya-Chen Hsu | Method for sorting balls by image recognition |
JP2013092430A (ja) * | 2011-10-25 | 2013-05-16 | Kojima Press Industry Co Ltd | 表面検査方法 |
WO2014209226A1 (en) * | 2013-06-07 | 2014-12-31 | Asti Holdings Limited | Systems and methods for automatically verifying correct die removal from film frames |
JP2015135253A (ja) * | 2014-01-16 | 2015-07-27 | アイシン精機株式会社 | 欠陥検査装置 |
ES2967886T3 (es) | 2014-09-19 | 2024-05-06 | Hexagon Metrology Inc | Máquina de medición por coordenadas portátil multimodo |
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 |
JP6088679B1 (ja) * | 2016-02-19 | 2017-03-01 | ファナック株式会社 | カメラの画像により故障を判定するロボットシステムの故障診断装置 |
-
2017
- 2017-09-01 US US15/694,115 patent/US10269108B2/en active Active
-
2018
- 2018-06-07 CN CN201880035033.6A patent/CN110678275B/zh active Active
- 2018-06-07 JP JP2019571669A patent/JP6865865B2/ja active Active
- 2018-06-07 WO PCT/CN2018/090307 patent/WO2019041952A1/en unknown
- 2018-06-07 EP EP18851341.0A patent/EP3618980B1/en active Active
-
2019
- 2019-03-05 US US16/293,417 patent/US10580125B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508535A (zh) * | 2002-12-20 | 2004-06-30 | 宝山钢铁股份有限公司 | 扫描式带钢表面检测方法和装置 |
JP2005121599A (ja) * | 2003-10-20 | 2005-05-12 | Komatsu Ltd | プレス成形品の欠陥検査装置 |
JP2006208258A (ja) * | 2005-01-31 | 2006-08-10 | Aisin Seiki Co Ltd | 欠陥検査方法および欠陥検査装置 |
CN102308201A (zh) * | 2008-12-24 | 2012-01-04 | 斯奈克玛 | 机械零件的无损检查方法 |
CN103163144A (zh) * | 2011-12-09 | 2013-06-19 | C.R.F.阿西安尼顾问公司 | 用于在喷漆之前监视施加到机动车车身上的底漆层的质量的方法 |
CN202676614U (zh) * | 2012-06-14 | 2013-01-16 | 孙征 | 产品外观自动检测*** |
CN105572133A (zh) * | 2014-11-05 | 2016-05-11 | 财团法人工业技术研究院 | 瑕疵检测方法及其装置 |
CN204330609U (zh) * | 2014-12-09 | 2015-05-13 | 深圳明锐理想科技有限公司 | 六轴机械手aoi检测*** |
CN105478529A (zh) * | 2015-02-02 | 2016-04-13 | 广东工业大学 | 全自动冲压生产线制品表面质量在线检测***及方法 |
CN205262988U (zh) * | 2015-12-16 | 2016-05-25 | 常熟宝升精冲材料有限公司 | 一种生产精冲材的平整机带钢表面检测仪 |
CN106226325A (zh) * | 2016-07-22 | 2016-12-14 | 广东工业大学 | 一种基于机器视觉的座椅表面缺陷检测***及其方法 |
CN106383126A (zh) * | 2016-10-24 | 2017-02-08 | 张家港清研再制造产业研究院有限公司 | 一种用于再制造汽车零部件检测的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3618980A4 (en) | 2020-05-27 |
US10580125B2 (en) | 2020-03-03 |
CN110678275A (zh) | 2020-01-10 |
JP2020525305A (ja) | 2020-08-27 |
EP3618980A1 (en) | 2020-03-11 |
US10269108B2 (en) | 2019-04-23 |
US20190206045A1 (en) | 2019-07-04 |
EP3618980B1 (en) | 2022-04-06 |
JP6865865B2 (ja) | 2021-04-28 |
WO2019041952A1 (en) | 2019-03-07 |
US20190073760A1 (en) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110678275B (zh) | 使用机器人改善产品质量检查的方法和*** | |
CN110621984B (zh) | 用于改进质量检查的方法和*** | |
CN109101966B (zh) | 基于深度学习的工件识别定位和姿态估计***和方法 | |
Nerakae et al. | Using machine vision for flexible automatic assembly system | |
JP2014511772A (ja) | ロボットシステムにおいてピッキング動作後にセンサ測定値を無効にする方法 | |
US10708479B2 (en) | Optical measurement of object location in three dimensions | |
CN113096094A (zh) | 三维物体表面缺陷检测方法 | |
CN113532277B (zh) | 板状不规则曲面工件的检测方法及*** | |
JP2018169660A (ja) | オブジェクト姿勢検出装置、制御装置、ロボットおよびロボットシステム | |
JP2014126494A (ja) | 検査支援装置、検査支援方法、ロボットシステム、制御装置、ロボット、及び、プログラム | |
Sardelis et al. | 2-Stage vision system for robotic handling of flexible objects | |
US20230330858A1 (en) | Fine-grained industrial robotic assemblies | |
Huo et al. | A sensor-based robotic line scan system with adaptive ROI for inspection of defects over convex free-form specular surfaces | |
JP2022152845A (ja) | ロボット制御用のキャリブレーション装置 | |
JP7508206B2 (ja) | 画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 | |
CN114187312A (zh) | 目标物的抓取方法、装置、***、存储介质及设备 | |
US11398074B1 (en) | Method and apparatus for identifying planes of objects in 3D scenes | |
Tiwan et al. | Cylindrical pellet pose estimation in clutter using a single robot mounted camera | |
CN113366535A (zh) | 识别三维场景中物体平面的方法和装置 | |
Ruediger-Flore et al. | Comparing Binary Classification and Autoencoders for Vision-Based Anomaly Detection in Material Flow | |
US20230191634A1 (en) | Multistep Visual Assistance for Automated Inspection | |
Gao et al. | A screen-based method for automated camera intrinsic calibration on production lines | |
JP2023168240A (ja) | 情報処理方法、画像処理方法、ロボットの制御方法、物品の製造方法、情報処理装置、画像処理装置、ロボットシステム、プログラム、及び記録媒体 | |
He et al. | Deep Learning-based Mobile Robot Target Object Localization and Pose Estimation Research | |
Okumura* et al. | Error prevention in robotic assembly tasks by a machine vision and statistical pattern recognition method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |