发明内容
有鉴于此,本申请实施例提供一种异形元器件抓取方法、装置、系统、控制装置及计算机可读存储介质,以解决现有生产线上依赖人工抓取异形元器件从而导致生产效率低下,生产成本较高的问题。
本申请实施例的第一方面提供一种抓取方法,包括:
获取第一图像,所述第一图像包括异形元器件和/或抓取装置;
根据所述第一图像生成控制指令,并发送所述控制指令至所述抓取装置,所述控制指令用于指示所述抓取装置抓取目标异形元器件。
结合第一方面,在一种可能的实现方式中,当所述第一图像包括至少一个所述异形元器件时,所述根据所述第一图像生成控制指令,包括:
根据所述第一图像得到目标位姿信息;
根据所述目标位姿信息,生成所述控制指令。
结合第一方面,在一种可能的实现方式中,所述根据所述第一图像得到目标位姿信息,包括:
对所述第一图像进行预处理;
从预处理后的所述第一图像中提取各个所述异形元器件的特征信息;
根据所述特征信息去除不符合预设抓取要求的异形元器件;
识别所述第一图像中剩余异形元器件的目标位姿信息,所述剩余异形元器件为所述第一图像中去除不符合预设抓取要求的异形元器件后剩余的异形元器件。
结合第一方面,在一种可能的实现方式中,所述根据所述第一图像得到目标位姿信息,包括:
获取所述异形元器件的图像数据;
获取所述异形元器件的姿态识别模型;
将所述图像数据输入所述姿态识别模型中,输出目标位姿信息;
或
获取所述异形元器件的图像数据;
获取所述异形元器件的姿态识别模型;
将所述图像数据输入所述姿态识别模型中,输出所述图像数据中与所述异形元器件关联的特征信息的识别结果;
根据所述识别结果得到目标位姿信息。
结合第一方面,在一种可能的实现方式中,所述根据所述特征信息去除不符合预设抓取要求的异形元器件,包括:
计算每个所述异形元器件的特征参数;
根据所述特征参数判断所述异形元器件是否满足所述预设抓取要求;
去除不符合所述预设抓取要求的异形元器件。
结合第一方面,在一种可能的实现方式中,所述根据所述特征参数判断所述异形元器件是否满足所述预设抓取要求,包括:
判断所述特征参数是否落入预设数值范围;
当所述特征参数落入所述预设数值范围时,所述异形元器件符合所述预设抓取要求;
当所述特征参数未落入所述预设数值范围时,所述异形元器件不符合所述预设抓取要求。
结合第一方面,在一种可能的实现方式中,在所述识别所述第一图像中剩余异形元器件的目标位姿信息之后,还包括:
根据所述剩余异形元器件之间的位姿参数,从所述剩余异形元器件中确定目标剩余异形元器件;
将所述目标剩余异形元器件作为待选目标异形元器件。
结合第一方面,在一种可能的实现方式中,所述根据所述剩余异形元器件之间的位姿参数,从所述剩余异形元器件中确定目标剩余异形元器件,包括:
根据所述位姿参数,计算各个所述剩余异形元器件之间的位姿参数差值;
分别判断各个所述差值是否大于预设差值阈值;
当所述差值大于所述预设差值阈值时,确定所述剩余异形元器件为所述目标剩余异形元器件。
结合第一方面,在一种可能的实现方式中,在所述根据所述第一图像生成控制指令之后,还包括:
生成第一装配指令,并发送所述第一装配指令至第一装配装置,所述第一装配指令用于指示所述第一装配装置将所述目标异形元器件装配至第一预设装配位置;
生成第二装配指令,并发送所述第二装配指令至第二装配装置,所述第二装配指令用于指示所述第二装配装置将所述目标异形元器件装配至第二预设装配位置。
结合第一方面,在一种可能的实现方式中,在将所述目标异形元器件装配至第二预设装配位置之后,还包括:
获取所述目标异形元器件的第二图像;
根据预先训练的缺陷检测神经网络模型和所述第二图像进行缺陷检测,得出缺陷检测结果;
根据所述缺陷检测结果,对所述目标异形元器件执行相应的操作。
结合第一方面,在一种可能的实现方式中,所述根据所述缺陷检测结果,对所述目标异形元器件执行相应的操作,包括:
当所述缺陷检测结果为有缺陷时,生成去除指令,并发送所述去除指令至去除装置,所述去除指令用于指示所述去除装置去除所述目标异形元器件;
当所述缺陷检测结果为没有缺陷时,生成第三装配指令,并发送所述第三装配指令至第三装配装置,所述第三装配指令用于指示所述第三装配装置将所述目标异形元器件装配至第三预设装配位置。
本申请实施例的第二方面提供一种抓取装置,包括:
第一图像获取模块,用于获取第一图像,所述第一图像包括异形元器件和/或抓取装置;
抓取模块,用于根据所述第一图像生成控制指令,并发送所述控制指令至所述抓取装置,所述控制指令用于指示所述抓取装置抓取目标异形元器件。
结合第二方面,在一种可能的实现方式中,当所述第一图像包括至少一个所述异形元器件时,所述抓取模块包括:
位姿识别单元,用于根据所述第一图像得到目标位姿信息;
生成单元,用于根据所述目标位姿信息,生成所述控制指令。
结合第二方面,在一种可能的实现方式中,所述位姿识别单元具体用于:
对所述第一图像进行预处理;
从预处理后的所述第一图像中提取各个所述异形元器件的特征信息;
根据所述特征信息去除不符合预设抓取要求的异形元器件;
识别所述第一图像中剩余异形元器件的目标位姿信息,所述剩余异形元器件为所述第一图像中去除不符合预设抓取要求的异形元器件后剩余的异形元器件。
结合第二方面,在一种可能的实现方式中,所述位姿识别单元具体用于:
获取所述异形元器件的图像数据;
获取所述异形元器件的姿态识别模型;
将所述图像数据输入所述姿态识别模型中,输出目标位姿信息;
或
获取所述异形元器件的图像数据;
获取所述异形元器件的姿态识别模型;
将所述图像数据输入所述姿态识别模型中,输出所述图像数据中与所述异形元器件关联的特征信息的识别结果;
根据所述识别结果得到目标位姿信息。
结合第二方面,在一种可能的实现方式中,所述位姿识别单元具体用于:
计算每个所述异形元器件的特征参数;
根据所述特征参数判断所述异形元器件是否满足所述预设抓取要求;
去除不符合所述预设抓取要求的异形元器件。
结合第二方面,在一种可能的实现方式中,所述位姿识别单元具体用于:
判断所述特征参数是否落入预设数值范围;
当所述特征参数落入所述预设数值范围时,所述异形元器件符合所述预设抓取要求;
当所述特征参数未落入所述预设数值范围时,所述异形元器件不符合所述预设抓取要求。
结合第二方面,在一种可能的实现方式中,所述位姿识别单元还用于:
根据所述剩余异形元器件之间的位姿参数,从所述剩余异形元器件中确定目标剩余异形元器件;
将所述目标剩余异形元器件作为待选目标异形元器件。
结合第二方面,在一种可能的实现方式中,所述位姿识别单元具体还用于:
根据所述位姿参数,计算各个所述剩余异形元器件之间的位姿参数差值;
分别判断各个所述差值是否大于预设差值阈值;
当所述差值大于所述预设差值阈值时,确定所述剩余异形元器件为所述目标剩余异形元器件。
结合第二方面,在一种可能的实现方式中,还包括:
第一装配模块,用于生成第一装配指令,并发送所述第一装配指令至第一装配装置,所述第一装配指令用于指示所述第一装配装置将所述目标异形元器件装配至第一预设装配位置:
第二装配模块,用于生成第二装配指令,并发送所述第二装配指令至第二装配装置,所述第二装配指令用于指示所述第二装配装置将所述目标异形元器件装配至第二预设装配位置。
结合第二方面,在一种可能的实现方式中,还包括:
第二图像获取模块,用于获取所述目标异形元器件的第二图像;
缺陷检测模块,用于根据预先训练的缺陷检测神经网络模型和所述第二图像进行缺陷检测,得出缺陷检测结果;
执行模块,用于根据所述缺陷检测结果,对所述目标异形元器件执行相应的操作。
结合第二方面,在一种可能的实现方式中,所述执行模块具体用于:
当所述缺陷检测结果为有缺陷时,生成去除指令,并发送所述去除指令至去除装置,所述去除用于指示所述去除装置去除所述目标异形元器件;
当所述缺陷检测结果为没有缺陷时,生成第三装配指令,并发送所述第三装配指令至第三装配装置,所述第三装配指令用于指示所述第三装配装置将所述目标异形元器件装配至第三预设装配位置。
本申请实施例的第三方面提供一种抓取系统,包括控制装置、抓取装置和图像采集装置,所述控制装置分别与所述抓取装置、所述图像采集装置连接;
所述图像采集装置用于采集图像;
所述抓取装置用于根据所述控制装置的控制指令执行对应操作;
所述控制装置用于获取第一图像,所述第一图像包括异形元器件和/或抓取装置;根据所述第一图像生成控制指令,并发送所述控制指令至所述抓取装置,所述控制指令用于指示所述抓取装置抓取目标异形元器件。
结合第三方面,在一种可能的实现方式中,所述控制装置还用于:
生成第一装配指令,并发送所述第一装配指令至第一装配位置,所述第一装配指令用于指示所述第一装配装置将所述目标异形元器件装配至第一预设装配位置:
生成第二装配指令,并发送所述第二装配指令至第二装配装置,所述第二装配指令用于指示所述第二装配装置将所述目标异形元器件装配至第二预设装配位置。
结合第三方面,在一种可能的实现方式中,所述控制装置还用于:
获取所述目标异形元器件的第二图像;
根据预先训练的缺陷检测神经网络模型和所述第二图像进行缺陷检测,得出缺陷检测结果;
根据所述缺陷检测结果,对所述目标异形元器件执行相应的操作。
本申请实施例的第四方面提供一种控制装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述方法的步骤。
本申请实施例的第五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述方法的步骤。
本申请实施例通过获取包括异形元器件和/或抓取装置的第一图像,根据第一图像控制机械手抓取目标异形元器件,实现了异形元器件的自动化抓取,替代了传统的人工手动抓取,节省了大量人力成本,降低了生产成本,提高了生产效率。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。
异形元器件的特殊性,使得异形元器件的装配工作一般是人工完成的,效率和成本均较高。本申请实施例提供一种异形元器件的抓取和装配方案,以自动抓取符合相应要求的异形元器件,并将异形元器件自动装配进产品,从而提供效率和降低成本。
本申请实施例中的异形元器件的类型可以是任意的,例如,电容、电阻、弹片、二极管、弹弓等。根据异形元器件的不同,应用场景也会相应不同。
举例来说,本申请实施例提供的技术方案可以具体应用于弹弓装配场景,弹弓是指电源适配器中的弹弓,也可以称为弹簧。在该场景下,抓取弹弓之后,需要将弹弓装配至导槽,然后再装配至模芯,最后装配至电源适配器内。此时,装配流程可以具体为:通过图像采集装置获取载具上的弹弓图像;根据该弹弓图像识别出弹弓的位姿;再根据该位姿控制机械手抓取弹弓,然后,机械手再依据示教的装配动作,将弹弓装配至导槽;通过操作杆将导槽内的弹弓装配至模芯,再通过机械手将模芯中的弹弓装配至电源适配器。
当然,本申请实施例提供的技术方案不仅仅限定在弹弓装配场景,还可以应用于其他场景,在此不作限定。在介绍完本申请实施例可能涉及的应用场景之后,下面将对本申请实施例的技术方案进行详细说明。为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一
请参见图1,为本申请实施例提供的一种异形元器件抓取系统的结构示意框图,该系统可以包括控制装置11、抓取装置12和图像采集装置13,控制装置分别与抓取装置、图像采集装置连接。
其中,图像采集装置用于采集图像;抓取装置用于根据控制装置的控制指令执行对应操作;控制装置用于获取第一图像,第一图像包括异形元器件和/或抓取装置;根据第一图像生成控制指令,并发送控制指令至抓取装置,控制指令用于指示抓取装置抓取目标异形元器件。
可以理解的是,上述图像采集装置用于采集图像,其可以具体为但不限于图像传感器、相机或者其他具备图像采集功能的设备,相机可以是单目相机、双目相机或深度相机等。其中,当图像采集装置具体为图像传感器时,图像传感器的固定方式可以是任意的,一般地,固定方式包括eye to hand和eye inhand。图像传感器固定方式可以根据实际应用场景和需求进行选取。例如,当应用场景为弹弓装配场景时,为获取更大的视野,优选地,采用eye to hand的固定方式。另外,图像采集装置的数量可以是任意的,即可以通过一个或多个图像采集装置拍摄图像。图像采集装置的数量可以根据实际应用场景和需求进行设定。例如,当应用场景为弹弓装配场景时,弹弓的外形较小,故需要3个相机进行拍摄定位。
上述抓取装置可以具体为但不限于机械手,其可以用于根据控制装置的控制指令执行相应的动作,例如,从载具中夹取待抓取弹弓或将待抓取弹弓放入至导槽中。机械手的类型可以是任意的,例如,四轴机械手或六轴机械手。机械手一般包括机械臂和末端执行器,末端执行器可以例如为但不限于人形手、夹具或抓盘等,末端执行器的类型可以根据实际应用场景和装配需求进行选择。
上述控制装置可以具体外现为具备数据处理能力的一个或多个计算机设备,其可以获取图像采集装置采集的图像,对图像进行分析处理,得到相关图像信息,并基于图像信息生成相应的控制指令,以控制机械手执行相应的动作。
当然,根据不同应用场景和需求,上述异形元器件抓取系统还可以相应地包括其他一些设备。例如,当为弹弓装配场景时,该弹弓抓取系统还可以包括透光载具和高速震动盘等,其中,透光载具可以具体为但不限于玻璃载具,用于呈放弹弓,而高速震动盘用于向透光载具自动弹出或打出弹弓。
抓取异形元器件之后,还可以根据需要执行对应的动作,例如,装配动作。其中,上述异形元器件可以为但不限于为弹弓。
进一步地,上述异形元器件抓取系统还可以包括装配工位,上述控制装置还可以用于:
生成第一装配指令,并发送第一装配指令至第一装配位置,第一装配指令用于指示第一装配装置将目标异形元器件装配至第一预设装配位置:生成第二装配指令,并发送第二装配指令至第二装配装置,第二装配指令用于指示第二装配装置将目标元器件装配至第二预设装配位置。
在弹弓装配场景下,将弹弓装配至预设装配位置之后,还可以对其进行缺陷检测,再将无缺陷的弹弓的装配至电源适配器内,将有缺陷的弹弓去除。
进一步地,上述抓取系统还可以包括缺陷检测工位,上述控制装置还可以用于:获取目标异形元器件的第二图像;根据预先训练的缺陷检测神经网络模型和第二图像进行缺陷检测,得出缺陷检测结果;根据缺陷检测结果,对目标异形元器件执行相应的操作。需要说明的是,控制装置的其他工作流程可以参见其他实施例。
本实施例中,通过异形元器件抓取系统可以实现自动化抓取异形元器件,降低了生产成本,提高了生产效率。
实施例二
请参见图2,为本申请实施例提供的一种异形元器件抓取方法的流程示意框图,该方法可以包括以下步骤:
步骤S201、获取第一图像,第一图像包括异形元器件和/或抓取装置。
需要说明的是,上述抓取装置是指用于抓取上述异形元器件的装置,其可以为但不限于机械手。上述第一图像可以是只包括异形元器件的图像,可以是只包括抓取装置的图像,也可以是同时包括异形元器件和抓取装置的图像。采集何种图像可以根据实际应用需求进行旋转。一般情况下,上述第一图像只包括异形元器件的图像,通过第一图像识别异形元器件的位姿,再根据位姿控制抓取装置抓取相应的异形元器件。
而在异形元器件的位姿已知道的情况下,例如,待抓取弹弓整齐排列。此时,需要采集包括抓取装置的图像,通过该图像识别出抓取装置的位姿,再根据抓取装置的位姿和异形元器件的位姿规划出抓取轨迹。
当第一图像内包括异形元器件和抓取装置,即抓取装置和异形元器件位于同一画面内,此时,可以通过抓取装置和异形元器件之间的位姿迭代进行抓取轨迹规划,即抓取装置与异形元器件之间的距离差值不断更迭变小,趋近于零。
上述第一图像可以是由多张拍摄图片拼接而成的图像,即设置有多个图像采集装置,每个图像采集装置分别某个视角的图像,将多个图像采集装置采集的图像进行拼接得到完整的异形元器件视场图。当然,也可以设置一个图像采集装置,该图像采集装置被设置在机械手上,采用飞拍的形式拍摄多张照片,再将多张照片拼接成一张完整图像。更具体地,图像采集装置的数量和拍摄角度等可以根据实际应用场景和需求选择,在此不作限定;也可以是由一个图像采集装置采集的一副图像,即通过一个图像采集装置采集一副图像即可得到完整的异形元器件视场图。其中,拍摄的每张图片包括至少一个完整的异形元器件或者不完整异形元器件。
第一图像可以包括一个或多个元器件,也可以只包括一个元器件的局部。
具体应用中,当需要采集只包括异形元器件的第一图像时,异形元器件一般放置在载具上,载具上可能同时存在一个或多个异形元器件,通过图像采集装置拍摄照片,得到包括至少一个异形元器件的图像。在拍照时,为了更有利于获取异形元器件的外轮廓,一般采用背面打光方式,背面打光可以使得光源更加稳定。当然,也可以不采用背面打光方式,而是通过其他方式得到异形元器件的轮廓信息。
步骤S202、根据第一图像生成控制指令,并发送控制指令至抓取装置,控制指令用于指示抓取装置抓取目标异形元器件。
需要说明的是,在一个实施例中,获取到第一图像之后,可以根据第一图像识别出异形元器件的位姿和/或抓取装置的位姿,然后再根据位姿生成控制指令,将该控制指令发送至抓取装置,抓取装置根据该控制指令执行抓取动作,抓取相应的元器件。也可以直接通过相应的AI算法,基于图像直接给机械手输出相应的控制指令,以控制机械手抓取元器件,不用获取相应位姿信息。其中,通过第一图像直接得到抓取装置控制指令的过程可以通过基于卷积神经网络模型的图像特征学习实现,具体包括但不限于通过强化学习、监督学习、模仿学习得到机械手控制指令。
需要说明的是,抓取装置可以随机抓取一定数量的异形元器件,也可以抓取预设数量的异形元器件。上述预设数量可以由机械手的末端执行器的数量和实际装配需求决定,例如,当机械手有两个末端执行器,上述预设数量为2。而末端执行器的数量由实际应用场景和抓取需求设定。
上述目标异形元器件是指多个异形元器件中需要抓取的异形元器件。一般情况下,异形元器件可能会存在多种姿态,也可能会存在变形的元器件,而目标异形元器件为符合预设抓取要求的异形元器件。而预设抓取要求可以例如是没有变形、分离且姿态属于预设姿态的异形元器件。
本申请实施例通过获取包括异形元器件和/或抓取装置的第一图像,根据第一图像控制机械手抓取目标异形元器件,实现了异形元器件的自动化抓取,替代了传统的人工手动抓取,节省了大量人力成本,降低了生产成本,提高了生产效率。
实施例三
基于第一图像,可以通过AI算法直接给出控制指令以控制抓取装置完成异形元器件抓取动作,也可以先识别出位姿信息,再基于位姿信息控制抓取装置完成异形元器件抓取动作。
基于上述实施例一,在一些实施例中,当第一图像包括至少一个异形元器件时,参见图3示出的步骤S202的流程示意框图,上述根据第一图像生成控制指令的过程可以具体包括:
步骤S301、根据第一图像得到目标位姿信息。
需要说明的是,上述目标位姿信息是指表征异形元器件的位置和姿态的信息,其可以包括但不限于异形元器件被夹取的关键点位置信息和旋转角度。关键点位置是指机械手的末端执行器最终要夹取的位置。该关键点位置可以是人为设置的抓取点,也可以是计算机根据一定的设置规则自动设置的抓取点。
其中,通过位姿识别算法可以识别出第一图像内所有异形元器件的位姿信息,而位姿识别算法可以是现有任意算法,例如,linemod算法。当然,也可以通过其他方式识别位姿信息,例如,通过预先训练的位姿识别神经网络模型进行识别。
需要说明的是,在位姿识别过程中,可以直接利用相应的识别算法识别第一图像中所有异形元器件的位姿信息。但是,对于第一图像内包括的异形元器件的数量过多,且存在大量缠绕在一起的异形元器件的场景,例如,弹弓装配场景下,弹弓数量较多且包括大量缠绕在一起的弹弓,识别耗时会急剧增加,从而降低生产效率。此时,为了减少识别耗时,提高生产效率,可以先去除第一图像中不符合预设抓取要求的异形元器件,然后再识别去除操作后第一图像中剩余异形元器件的位姿信息。而去除不符合预设抓取要求的异形元器件的方式可以是任意的。例如,可以通过对第一图像进行二值化阈值处理,提取出第一图像中各个异形元器件的外轮廓信息,然后再根据外轮廓信息去除不符合预设抓取要求的异形元器件。
可以理解的是,异形元器件的关键点位置可以具体外现为相应的坐标值,而通过图像识别出的坐标为图像坐标系下的坐标值,需要将图像坐标系下的坐标值转换为抓取装置坐标系下的坐标值。坐标值的转换依赖于预先设定的图像坐标系和机械手坐标系之间的转换关系,这一转换关系是通过手眼标定过程得到的。
在本申请实施例中,以抓取装置为机械手为例,手眼标定的过程可以具体为:在异形元器件的所在平面预先设置至少4个标记点,再将机械手的Z轴自身中心与多个标记点的中心点重合,然后读取异形元器件在机械手坐标系下的坐标,以将异形元器件的所在平面的坐标系和机械手坐标系关联起来;读取各个标记点在图像坐标系下的坐标,计算机械手坐标系下的坐标和图像坐标系下的坐标的单应性,得到图像坐标系和机械手坐标系统之家的转换关系;最后标定机械手的末端执行器与Z轴的偏移量,完成手眼标定过程。
需要说明的是,异形元器件所在区域为平面时,在手眼标定过程中,只需要二维机械手坐标系与图像坐标系的二维转换关系,不用相机内参和畸变参数,即可得到手眼标定信息,可以节省手眼标定的时间。当然,假如异形元器件所在区域为非平面时,需要先求出相机内参和畸变参数,然后再根据图像坐标系下的坐标和机械手坐标系下的坐标之间的单应性,实现手眼标定过程。
步骤S302、根据目标位姿信息,生成控制指令。
具体地,控制装置根据得出的抓取坐标信息和姿态信息等目标位姿信息,生成控制指令,然后将控制指令传输至抓取装置的控制器,抓取装置控制根据该控制指令抓取相应的目标异形元器件。
在异形元器件的位姿识别过程中,可以直接用识别算法一次性识别第一图像中所有异形元器件的位姿,但是,在实际应用过程中发现,这样可能会增加识别算法的运算时间,从而降低生产效率。为了减少位姿识别耗时,进一步提高生产效率,可以在识别位姿信息之前去除不符合预设抓取要求的异形元器件。
进一步地,参见图4示出的位姿识别过程的流程示意框图,在一些实施例中,上述根据第一图像得到目标位姿信息的具体过程可以包括以下步骤:
步骤S401、对第一图像进行预处理。
需要说明的是,上述图像预处理操作可以包括但不限于二值化处理,可选地,还可以包括图像增强、去噪等操作。进行图像预处理是为了更好地提取轮廓信息,而在具体应用中,根据不同的情况可以采用不同的预处理算法。
其中,对于背光板边缘与中心亮度不均匀的情况,无法预先确定固定阈值,故选用自适应阈值算法。自适应阈值算法不需要预先确定一个固定阈值,而是通过图像的局部特征算法自适应确定阈值,然后根据该自适应确定的阈值对第一图像进行二值化处理。自适应阈值算法是现有任意算法,其具体过程已被本领域技术人员所熟知,在此不再赘述。
当然,在一些情况下,背光板边缘与中心亮度不均的问题可以通过替换背光板等方式解决,因此这种情况下可以使用全局固定阈值方式对图像进行二值化处理。而对于一些背光板边缘与中心亮度均匀的情况,也可以采用普通的阈值算法进行图像二值化处理,即预先确定固定阈值,然后通过该固定阈值进行二值化处理。
步骤S402、从预处理后的第一图像中提取各个异形元器件的特征信息。
需要说明的是,上述特征信息可以为但不限于轮廓信息。该轮廓信息是指异形元器件的最小外包图形的图形参数信息,图形参数信息包括但不限于图形长宽、面积或长宽比等。一般情况下,异形元器件轮廓的最小外包图形为矩形。
步骤S403、根据特征信息去除不符合预设抓取要求的异形元器件。
需要说明的是,当异形元器件的姿态符合预设姿态,且没有与其他异形元器件缠绕在一起,则该异形元器件符合预设抓取要求;反之,姿态不符合预设姿态和/或缠绕的异形元器件则不符合预设抓取要求。例如,弹弓装配场景下,预设姿态有四种姿态,当弹弓姿态不是这四种姿态,或者与其他弹弓缠绕在一起,则该弹弓不符合预设抓取要求。
此外,在轮廓信息提取时,除了可以得到异形元器件的轮廓之外,假如场景中存在例如纸屑、灰尘等噪声时,还可以得到噪声的轮廓。在一些实施例中,参加图5示出的去除过程的流程示意框图,上述根据特征信息去除不符合预设抓取要求的异形元器件的具体过程可以包括:
步骤S501、计算每个异形元器件的特征参数。
需要说明的是,上述特征信息包括特征参数,该特征参数可以具体为但不限于图像中异形元器件轮流的最小外包图形的图形参数。该最小外包图形一般为但不限于矩形。图形参数可以具体为矩形长宽、面积或者长宽比等等。
步骤S502、根据特征参数判断异形元器件是否满足预设抓取要求。
具体地,通过判断特征参数是否落入相应的阈值范围,以判断异形元器件是否满足预设抓取要求。当特征参数落入相应的阈值范围,则判定异形元器件满足预设抓取要求,反之,当特征参数未落入相应的阈值范围,则判定异形元器件不满足预设抓取要求。
也就是说,上述根据特征参数判断异形元器件是否满足预设抓取要求的过程可以包括:判断特征参数是否落入预设数值范围;当特征参数落入预设数值范围时,判定异形元器件符合预设抓取要求;当特征参数未落入预设数值范围时,判定异形元器件不符合预设抓取要求。
需要说明的是,上述预设数值范围根据异形元器件的型号不同会相应地不同。例如,对于某一型号的弹弓,当特征参数为图形参数时,其面积阈值为4000像素,长宽比阈值为200像素。
例如,当图形参数为矩形面积时,当某个待抓取弹弓的最小外包矩形的面积落入预先设定的面积范围内时,则判定该待抓取弹弓符合预设抓取要求,反之,则判定该待抓取弹弓不符合预设抓取要求。
步骤S503、去除不符合预设抓取要求的异形元器件。
其中,去除是指将异形元器件从第一图像中涂鸦式去除,具体地,在第一图像中利用蒙板在不符合预设抓取要求的异形元器件位置涂白,以将不符合预设抓取要求的异形元器件去除。
需要说明的是,通过特征参数和预设数值范围的比对也可以将场景中的噪声识别为不符合预设抓取要求的异形元器件,故通过上述去除操作可以去除场景中的噪声。
步骤S404、识别第一图像中剩余异形元器件的目标位姿信息,剩余异形元器件为第一图像中去除不符合预设抓取要求的异形元器件后剩余的异形元器件。
具体地,去除第一图像中的所有不符合预设抓取要求的异形元器件之后,理论上第一图像中的剩余异形元器件都符合预设抓取要求的。此时,通过位姿识别算法(例如,linemod算法)识别第一图像中所有剩余异形元器件的位姿信息,位姿信息包括异形元器件的位置信息和姿态信息。位置信息具体外现为图像坐标系的坐标信息。然后基于手眼标定得到的转换关系,将图像坐标系下的第一坐标信息转换为机械手坐标系下的第二坐标信息。然后通过第二坐标信息控制机械手抓取相应的异形元器件。
可见,在位姿识别之前,将第一图像中不符合预设抓取要求的异形元器件去除,减少了第一图像中需要位姿识别的异形元器件数量,从而减少位姿识别耗时,进一步提高生产效率。
在使用多个图像采集装置进行视觉定位时,由于多个图像采集装置有重叠区域,可能会出现同一个异形元器件在两个图像采集装置中出现的情况。此时,可以根据各个异形元器件的位姿参数,筛选出合适的异形元器件。
在一些实施例中,在上述识别第一图像中剩余异形元器件的目标位姿信息之后,还可以包括:根据剩余异形元器件之间的位姿参数,从剩余异形元器件中确定目标剩余异形元器件;将目标剩余异形元器件作为待选目标异形元器件。
需要说明的是,上述位姿参数可以是表征各个剩余异形元器件之间的相对位置的参数,其可以具体表现为但不限于距离,而距离可以为但不限于欧式距离,即可以计算坐标值之间的欧式距离,通过坐标值欧式距离的大小表征各个异形元器件的相对位置。
上述待选目标异形元器件是指基于位姿参数从剩余异形元器件中筛选出的异形元器件,从这些待选目标异形元器件中选取出目标异形元器件。所筛选出的待选目标异形元器件应当是符合抓取要求的,即抓取这些待选目标异形元器件时,不会碰到其他的异形元器件。例如,当位姿参数为坐标间的距离时,将坐标距离大于某个预设距离阈值的待抓取弹弓作为目标待选异形元器件,反之,坐标距离小于或等于某个预设距离阈值时,在抓取这些待抓取弹弓时可能会碰到其他的待抓取弹弓,故不将其作为待选目标待抓取弹弓。
在一些实施例中,参加图6示出的筛选过程的流程示意框图,上述根据剩余异形元器件之间的位姿参数,从剩余异形元器件中确定目标剩余异形元器件的过程可以包括:
步骤S601、根据位姿参数,计算各个剩余异形元器件之间的位姿参数差值。
需要说明的是,上述位姿参数差值可以具体为剩余异形元器件之间的坐标值距离,该距离可以是指欧式距离,也可以是指其他形式的距离,例如,曼哈顿距离或者马式距离等,距离的表现形式具体可以根据实际应用需求选用。上述预设距离阈值可以根据实际应用场景和需求进行设定,例如,对于某一型号的弹弓,预设距离阈值为6mm,在此不再赘述。
步骤S602、分别判断各个差值是否大于预设差值阈值。当差值大于预设差值阈值时,进入步骤S603,反之,当差值小于或等于预设差值阈值时,进入步骤S604。
步骤S603、确定剩余异形元器件为目标剩余异形元器件。
步骤S604、去除相应的坐标。
其中,可以通过坐标值的距离对机械坐标系或图像坐标系下的坐标进行过滤和筛选,可以预防同一个异形元器件出现在两个以上图像采集装置采集的图像中,以避免异形元器件识别困难;且通过欧式距离阈值限定异形元器件之间距离,保证机械手末端执行器抓取异形元器件时不会碰到其他异形元器件,提高抓取准确性。
本实施例中,在位姿识别之前,将第一图像中不符合预设抓取要求的异形元器件去除,减少了第一图像中需要位姿识别的异形元器件数量,从而减少位姿识别耗时,进一步提高生产效率。还基于位姿参数对剩余异形元器件进行过滤,提高了抓取精确性。
实施例四
在另一些实施例中,也可以使用预先建立的姿态识别模型识别异形元器件的目标位姿信息。
基于上述任意实施例,参见图7示出的上述步骤S301的流程示意图,上述根据第一图像得到目标位姿信息的具体过程可以包括以下步骤:
步骤S701、获取异形元器件的图像数据。
可以理解的是,上述异形元器件的图像数据可以是图像传感器采集并实时发送的图像数据,或者是从存储器或者服务器等获取的图像数据。
在一个实施例中,图像数据可以为包括异形元器件和复杂背景的图像数据;除此之外,在另一个实施例中,该图像数据也可以为只包括异形元器件、或者包括异形元器件和单一背景(即除异形元器件之外还包括单一的颜色或图案的背景)的图像数据,图像数据可以是各种类型的2D图像数据(比如:RGB图像、灰度或黑白图像)。图像传感器可以包括但不限于:照相机、摄像机、扫描仪或其他带有相关功能的设备(手机、电脑)等等。
步骤S702、获取异形元器件的姿态识别模型。
需要说明的是,上述异形元器件的姿态识别模型是从存储器或者服务器等获取预先经过训练的姿态识别模型。,即该姿态识别模型是预先建立,并预先训练好的的模型。该姿态识别模型可以采用监督学习、半监督学习或无监督学习等等现在已有或者将来开发的训练方法进行训练,在此不再赘述。
该姿态识别模型的网络模型可以为但不限于卷积神经网络(CNN),在本申请实施例中,CNN模型的类型可以是任意的。常见的CNN模型可以包括但不限于:LeNet,AlexNet,ZFNet,VGG,GoogLeNet,Residual Net,DenseNet,R-CNN,SPP-NET,Fast-RCNN,Faster-RCNN,YOLO,SSD,BB8,YOLO-6D,Deep-6dPose,PoseCNN,Hourglass,CPN以及其他现在已知或将来开发的网络模型结构。
步骤S703、将图像数据输入姿态识别模型中,输出目标位姿信息。
需要说明的是,上述目标位姿信息包括但不限于:符合预设抓取要求的异形元器件的整体位姿信息、异形元器件的局部位姿信息、与异形元器件的全局特征关联的位姿信息、与异形元器件的局部特征关联的位姿信息等中的一种或多种。
根据与异形元器件的全局特征关联的位姿信息能够得到符合预设抓取要求的异形元器件的整体或局部位姿信息,根据与异形元器件的局部特征关联的位姿信息能够得到符合预设抓取要求的异形元器件的局部位姿信息。例如,符合预设抓取要求的异形元器件适于抓取的抓取点的位姿信息;或符合预设抓取要求的异形元器件适于抓取的抓取点关联的位姿信息,通过适于抓取的抓取点关联的位姿信息可以得到抓取点的位姿信息。
在一个实施例中,姿态识别模型输出的识别结果即为目标位姿信息,即通过姿态识别模型直接输出符合预设抓取要求的异形元器件的姿态识别结果。即该识别结果可以直接为异形元器件的三维姿态信息。
姿态识别模型输出的识别结果可以包括目标位姿信息;也可以包括图像数据中与第一端插头关联的特征信息的第一识别结果。在姿态识别模型输出的识别结果为第一识别结果时,在获得第一识别结果之后,还需要根据第一识别结果进一步得出第一目标位姿态信息。
参见图8示出的上述步骤S301的流程示意图,上述根据第一图像得到目标位姿信息的具体过程可以包括以下步骤:
步骤S801、获取异形元器件的图像数据。
步骤S802、获取异形元器件的姿态识别模型。
步骤S803、将图像数据输入姿态识别模型中,输出图像数据中与异形元器件关联的特征信息的识别结果。
需要说明的是,上述步骤S801~S803中与图7对应实施例的相似内容,可以参见上文相应内容,在此不再赘述。
上述特征信息可以但不限于:关键点和/或关键线(其中,关键线可以看作多个连续关键点的组合)。该关键点可以为归属异形元器件上的关键点;或者为归属包围异形元器件的包围盒的关键点。
在一个实施例中,图像数据中与异形元器件关联的特征信息的识别结果除上述姿态识别相关的结果外,还可以包括图像中目标物的类别、掩码等等辅助识别结果。比如:目标物的类别可以表征物体具体是什么,掩码通常是用户在图像中感兴趣的区域。
步骤S804、根据识别结果得到目标位姿信息。
具体地,在获得图像数据中与异形元器件关联的特征信息的识别结果之后,通过某些算法,生成目标位姿信息,比如最小化异形元器件的3D模型在照片中的重投影误差等。
当识别结果中包括图像数据中与异形元器件关联的特征信息的第一识别结果时,还需要作进一步地处理,(比如:结合第一端插头的3D模型),才能根据图像中的二维的特征信息结果得到上述目标位姿信息。
值得一提的是,图像数据的得到以及后续处理有以下一种或多种现在已有或者将来开发的基于深度学习的图像处理方式,如image classification(图像分类)、objectlocalization(目标定位)、object detection(目标检测)、image segmentation(图像分割)比如semantic segmentation(语义分割)、instance segmentation(实例分割)、panoptic segmentation(全景分割)等。比如基于图像分类的图像级预测,输出图像数据中符合预设抓取要求的异形元器件的图像数据;或基于目标检测在第一图像中以包围盒的形式框出符合预设抓取要求的异形元器件在图像中的位置,基于包围盒的8个顶点及中点的坐标得到异形元器件的特征信息;或基于语义分割的像素级预测,输出图像数据中符合预设抓取要求的异形元器件的特征信息。
实施例五
抓取异形元器件之后,可以执行对应的动作,例如装配动作。本实施例将对抓取异形元器件之后进行装配的过程进行介绍。
基于上述任意实施例,参见图9示出的装配流程示意框图,具体包括以下步骤:
步骤S901、获取第一图像,第一图像包括异形元器件和/或抓取装置。
步骤S902、根据第一图像生成控制指令,并发送控制指令至抓取装置,控制指令用于指示抓取装置抓取目标异形元器件。
需要说明的是,步骤S901~S902与上文的步骤S201~S202相同,相关介绍请参加上文相应内容,在此不再赘述。
步骤S903、生成第一装配指令,并发送第一装配指令至第一装配装置,第一装配指令用于指示第一装配装置将目标异形元器件装配至第一预设装配位置:
步骤S904、生成第二装配指令,并发送第二装配指令至第二装配装置,第二装配指令用于指示第二装配装置将目标异形元器件装配至第二预设装配位置。
需要说明的是,上述第一预设装配位置和第二预设装配位置可以基于产品装配流程进行设定。第一装配装置和第二装配装置也可以根据实际装配动作进行设定。例如,第一预设装配位置为导槽,第二预设装配为模芯,第一装配装置为机械手,第二装配装置为操作杆;即抓取目标异形元器件之后,根据预先示教的装配动作,机械手将抓取的异形元器件装配至导槽,然后通过操作杆再从导槽装配至模芯。
在将抓取的异形元器件装配至第二预设装配位置之后,可能还需要将第二装配位置处的异形元器件装配至产品内部,而为了提高产品的成品率,可以在装配至产品之前,先进行缺陷检测,将没有缺陷的元器件装配至产品,有缺陷的异形元器件去除。
可选地,在将目标异形元器件装配至第二预设装配位置之后,还包括:
步骤S905、获取目标异形元器件的第二图像。
具体地,通过操作杆等将第一预设装配位置处的目标异形元器件装配至第二预设装配位置,然后,再采集第二预设装配位置处的目标异形元器件的图像。其中,上述第二预设装配位置可以根据实际产品的装配流程进行设定。例如,弹弓装配场景下,第一预设装配位置为导槽,第二预设装配位置为模芯,在将弹弓装配至导槽之后,通过操作杆将导槽中的弹弓捅进模芯中,然后,再采集模芯中的弹弓的图像。
可以理解的是,第二图像具体可以通过图像传感器或相机等方式采集,在此不作限定。
步骤S906、根据预先训练的缺陷检测神经网络模型和第二图像进行缺陷检测,得出缺陷检测结果。
具体地,在第二图像中圈出异形元器件的ROI区域后,传入预先训练的缺陷检测神经网络模型,得出缺陷检测结果。其中,缺陷检测结果包括但不限于放置位置不准确、异形元器件的自身结构缺陷和不在第一预设装配位置处。缺陷检测结果根据应用场景的不同,也会有相应的不同。例如,弹弓装配场景下,弹弓缺陷状态包括弹弓不在导槽位置、弹弓位置不准确以及弹弓结构自身缺陷。
上述缺陷检测神经网络模型的模型类型可以是任意的,本实施例中,该神经网络模型可以具体为VGG16。缺陷检测神经网络模型的训练过程可以具体包括:采集待抓取弹弓的样本数据集,该样本数据集包括训练集、验证集和测试集。训练集用于训练多个模型,验证集用于从多个模型中寻找出最佳模型,测试集用于对最佳模型进行性能评价;采集样本数据集之后,可以从图像中提取出待抓取弹弓的ROI区域,一般地,每张图具有两个ROI区域,然后对样本数据集进行标签分类,一般分为正负样本;然后利用数据集训练预先构建神经网络模型,再进行验证、测试,确定出模型参数。
需要说明的是,上述缺陷检测结果为表征异形元器件是否有缺陷的结果,即通过缺陷检测结果可以得知异形元器件是否有缺陷,不能得知具体的缺陷类型。但是,在另一些实施例中,可以在神经网络模型训练中将标签设置为多个缺陷类别,这样不仅可以检测出异形元器件是否正常,还可以检测出缺陷类型具体为哪种类型。
步骤S907、根据缺陷检测结果,对目标异形元器件执行相应的操作。
具体地,当缺陷检测结果为有缺陷时,生成去除指令,并发送去除指令至去除装置,去除指令用于指示去除装置去除目标异形元器件;当缺陷检测结果为没有缺陷时,生成第三装配指令,并发送第三装配指令至第三装配装置,第三装配指令用于指示第三装配装置将目标异形元器件装配至第三预设装配位置。其中,上述第三预设装配位置和第三装配装置可以根据实际应用场景的装配流程进行设定。例如,弹弓装配场景下,第三预设装配位置为电源适配器内部,第三装配装置和去除装置均为机械手。
需要说明的是,上述缺陷检测结果为表征异形元器件是否有缺陷的结果,即通过缺陷检测结果可以得知异形元器件是否有缺陷,不能得知具体的缺陷类型。但是,在另一些实施例中,可以在神经网络模型训练中将标签设置为多个缺陷类别,这样不仅可以检测出异形元器件是否正常,还可以检测出缺陷类型具体为哪种类型。
本实施例中,在将异形元器件装配至产品内部时,通过预先训练的神经网络模型进行缺陷检测,当有缺陷时,则去除该异形元器件,不将有缺陷的异形元器件装配至产品,只将没有缺陷的异形元器件装配至产品,可以有效地提高产品的成品率。
实施例六
本申请实施例提供的技术方案可以应用于各种场景。本实施例将以弹弓装配场景进行示例说明。
弹弓是指电源适配器内的弹弓,也可以称为弹簧。在该场景下,需要将载具上的弹弓装配至导槽,再将导槽中的弹弓装配至模芯中,最后将模芯中弹弓装配至电源适配器。
装配系统包括控制装置、4轴机械手、相机、背光板、弹弓机以及弹弓载具,机械手上有两个夹具。弹弓机利用离心力将缠绕在一起的弹弓离心出来,打在载具上。每打出一盘弹弓之后,则启动背面打光方案,采集包括至少一个弹弓的图像。根据该图像进行位姿识别,得出弹弓的位姿,再根据弹弓位姿抓取弹弓放入导槽,然后再通过操作杆将导槽中的弹弓捅进模芯,经过缺陷检测后,再将没有缺陷的弹弓装配进电源适配器。
参加图10示出的弹弓装配流程的示意框图,弹弓装配包括以下步骤:
步骤S1001、采集包括至少一个弹弓的图像。
步骤S1002、对图像进行预处理。
步骤S1003、对预处理后的图像进行弹弓轮廓提取。
步骤S1004、根据弹弓轮廓信息去除不符合预设抓取要求的弹弓。
需要说明的是,由于载具上的弹弓是弹弓机打出的,其位置是随机的,弹弓有分离的状态,也有缠绕的状态,也可能存在弹弓变形的情况,故符合抓取要求的弹弓为已分离、没有变形且姿态为图11所示的4种弹弓。其中,图11中示出了4种符合抓取要求的弹弓姿态。
步骤S1005、通过位姿识别算法识别图像中剩余弹弓的位姿信息。
步骤S1006、根据弹弓的位姿信息控制机械手夹取弹弓放入导槽。
本实施例中,机械手的末端执行器上有两个夹具,故依次可以夹取两个符合抓取要求的弹弓,其中,夹取的两个弹弓均为同一种姿态的弹弓。抓取之后,将两个弹弓分别放入两个对应的导槽中。
需要说明的是,在一些情况下,也可以夹取不同姿态的弹弓。但是,在本申请实施例中,对胶盒内的弹弓有形态要求,因此置入导槽内的弹弓需要一致。而如果抓取不同姿态的弹弓,可能一个夹具可以将弹弓直接置入,另一个需要等待导槽翻转180°再置入,需要花费更多的时间。因此,优先抓取姿态相同的两个弹弓更有效率,而后抓取姿态不同的两个弹弓。
步骤S1007、控制操作杆将导槽中的弹弓捅进模芯。
步骤S1008、采集模芯中的弹弓图像。
步骤S1009、利用预先训练的神经网络模型对弹弓图像进行缺陷检测,得出检测结果。
其中,弹弓缺陷可以包括但不限于弹弓不在导槽位置、弹弓放置位置不准确和弹弓结构自身缺陷。存在弹弓缺陷的原因是:弹弓因某种原因异位,例如,抓盘不准确等;弹弓变形。
需要说明的是,弹弓的缺陷检测也可以通过传统的视觉检测进行,但是,对于弹弓装配场景下,弹弓较小,且特征不明显,因此传统的视觉检测方法的检测准确率较低。而通过神经网络模型进行缺陷检测,可以识别细微缺陷的弹弓,提高了检测准确效率。
步骤S1010、将有缺陷的弹弓去除,无缺陷的弹弓装配至电源适配器。
需要说明的是,本实施例与上述各个实施例的相同或相似之处,可相互参加,在此不再赘述。
本实施例中,通过机械手自动抓取弹弓,并将弹弓装配至导槽、模芯,最后装配至电源适配器,相较于传统的手工装配,提高了装配效率,降低了生产成本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例七
参加图12,为本申请实施例提供的一种异形元器件抓取装置的结构示意框图,该装置可以包括:
第一图像获取模块121,用于获取第一图像,第一图像包括异形元器件和/或抓取装置;
抓取模块122,用于根据第一图像生成控制指令,并发送控制指令至抓取装置,控制指令用于指示抓取装置抓取目标异形元器件。
在一种可能的实现方式中,当第一图像包括至少一个异形元器件时,抓取模块包括:
位姿识别单元,用于根据第一图像得到目标位姿信息;
生成单元,用于根据目标位姿信息,生成控制指令。
在一种可能的实现方式中,位姿识别单元具体用于:
对第一图像进行预处理;
从预处理后的第一图像中提取各个异形元器件的特征信息;
根据特征信息去除不符合预设抓取要求的异形元器件;
识别第一图像中剩余异形元器件的目标位姿信息,剩余异形元器件为第一图像中去除不符合预设抓取要求的异形元器件后剩余的异形元器件。
在一种可能的实现方式中,位姿识别单元具体用于:
获取异形元器件的图像数据;
获取异形元器件的姿态识别模型;
将图像数据输入姿态识别模型中,输出目标位姿信息;
或
获取异形元器件的图像数据;
获取异形元器件的姿态识别模型;
将图像数据输入姿态识别模型中,输出图像数据中与异形元器件关联的特征信息的识别结果;
根据识别结果得到目标位姿信息。
在一种可能的实现方式中,位姿识别单元具体用于:
计算每个异形元器件的特征参数;
根据特征参数判断异形元器件是否满足预设抓取要求;
去除不符合预设抓取要求的异形元器件。
在一种可能的实现方式中,位姿识别单元具体用于:
判断特征参数是否落入预设数值范围;
当特征参数落入预设数值范围时,异形元器件符合预设抓取要求;
当特征参数未落入预设数值范围时,异形元器件不符合预设抓取要求。
在一种可能的实现方式中,位姿识别单元还用于:
根据剩余异形元器件之间的位姿参数,从剩余异形元器件中确定目标剩余异形元器件;
将目标剩余异形元器件作为待选目标异形元器件。
在一种可能的实现方式中,位姿识别单元具体还用于:
根据位姿参数,计算各个剩余异形元器件之间的位姿参数差值;
分别判断各个差值是否大于预设差值阈值;
当差值大于预设差值阈值时,确定剩余异形元器件为目标剩余异形元器件。
在一种可能的实现方式中,上述装置还包括:
第一装配模块,用于生成第一装配指令,并发送第一装配指令至第一装配装置,第一装配指令用于指示第一装配装置将目标异形元器件装配至第一预设装配位置:
第二装配模块,用于生成第二装配指令,并发送第二装配指令至第二装配装置,第二装配指令用于指示第二装配装置将目标异形元器件装配至第二预设装配位置。
在一种可能的实现方式中,上述装置还包括:
第二图像获取模块,用于获取目标异形元器件的第二图像;
缺陷检测模块,用于根据预先训练的缺陷检测神经网络模型和第二图像进行缺陷检测,得出缺陷检测结果;
执行模块,用于根据缺陷检测结果,对目标异形元器件执行相应的操作。
在一种可能的实现方式中,执行模块具体用于:
当缺陷检测结果为有缺陷时,生成去除指令,并发送去除指令至去除装置,去除用于指示去除装置去除目标异形元器件;
当缺陷检测结果为没有缺陷时,生成第三装配指令,并发送第三装配指令至第三装配装置,第三装配指令用于指示第三装配装置将目标异形元器件装配至第三预设装配位置。
需要说明的是,本实施例提供的抓取装置与上述各个抓取方法的实施例对应,相关介绍请参见上文相应内容,在此不再赘述。
本申请实施例通过获取包括异形元器件和/或抓取装置的第一图像,根据第一图像控制机械手抓取目标异形元器件,实现了异形元器件的自动化抓取,替代了传统的人工手动抓取,节省了大量人力成本,降低了生产成本,提高了生产效率。
实施例八
图13是本申请一实施例提供的控制装置的示意图。如图13所示,该实施例的控制装置13包括:处理器130、存储器131以及存储在所述存储器131中并可在所述处理器130上运行的计算机程序132。所述处理器130执行所述计算机程序132时实现上述各个装配方法实施例中的步骤,例如图2所示的步骤S201至S202。或者,所述处理器130执行所述计算机程序132时实现上述各装置实施例中各模块或单元的功能,例如图12所示模块121至122的功能。
示例性的,所述计算机程序132可以被分割成一个或多个模块或单元,所述一个或者多个模块或单元被存储在所述存储器131中,并由所述处理器130执行,以完成本申请。所述一个或多个模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序132在所述控制装置13中的执行过程。例如,所述计算机程序132可以被分割成第一图像获取模块和抓取模块,各模块具体功能如下:
第一图像获取模块,用于获取第一图像,第一图像包括异形元器件和/或抓取装置;抓取模块,用于根据第一图像生成控制指令,并发送控制指令至抓取装置,控制指令用于指示抓取装置抓取目标异形元器件。
所述控制装置可包括,但不仅限于,处理器130、存储器131。本领域技术人员可以理解,图13仅仅是控制装置13的示例,并不构成对控制装置13的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述控制装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器130可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器131可以是所述控制装置13的内部存储单元,例如控制装置13的硬盘或内存。所述存储器131也可以是所述控制装置13的外部存储设备,例如所述控制装置13上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器131还可以既包括所述控制装置13的内部存储单元也包括外部存储设备。所述存储器131用于存储所述计算机程序以及所述控制装置所需的其他程序和数据。所述存储器131还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置、控制装置和方法,可以通过其它的方式实现。例如,以上所描述的装置、控制装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块或单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。