一种三引脚电子元器件的引脚自适应定位插装方法及系统转让专利

申请号 : CN202010410898.5

文献号 : CN111405842B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 寇昌谢德恒贺明妍高胜杰

申请人 : 大连日佳电子有限公司

摘要 :

本发明涉及一种三引脚电子元器件的引脚自适应定位插装方法及系统,涉及电子加工领域,基于机器视觉算法重建元件引脚的3D信息,依据异形元器件的引脚构成的3D空间尺寸信息和电路板插装孔位的相对位置和平面,计算出插件机器人需要以怎样的空间姿态来快速地完成电子元器件的精准插装。如果不能一次性直接快速插装,则先计算出插件机器人先以某一特定空间姿态先将一至两个引脚快速插装入电路板插装孔位内,然后计算插件机器人的二次空间位姿移动数据,通常为平移和空间旋转,将剩余引脚快速插装入电路板插装孔位内。本发明公开的方法及系统,能够使引脚间距误差较大的异形电子元器件正常用于自动化插装作业。

权利要求 :

1.一种三引脚电子元器件的引脚自适应定位插装方法,其特征在于,包括:

获取电路板上的插装孔图像,并根据所述插装孔图像计算机器人坐标系下电路板上各插装孔中心位置坐标和各插装孔半径;

获取引脚柔软的电子元器件的引脚图像,并根据所述引脚图像计算机器人坐标系下各引脚末端中心位置坐标和各引脚末端半径;

判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;

若所述第一判断结果表示最大引脚末端半径小于最小插装孔半径,则依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;

若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;

若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则根据各引脚的长度值确定变形引脚的类别;所述变形引脚的类别包括最长引脚、次长引脚和最短引脚;所述变形引脚为引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外的引脚;

若所述变形引脚是最长引脚,则发送第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与次长引脚之间的第一长度差值,并将所述第一长度差值发送至机器人以控制所述机器人按照所述第一长度差值向下移动电子元器件,垂直插入所述变形引脚;然后计算机器人坐标系下次长引脚末端中心位置和最短引脚末端中心位置连线的第一中点位置坐标,以及机器人坐标系下次长引脚对应的插装孔中心位置和最短引脚对应的插装孔中心位置连线的第二中点位置坐标,并将所述第一中点位置坐标与所述第二中点位置坐标的第一坐标差值发送至机器人以控制所述机器人按照所述第一坐标差值移动电子元器件,垂直插入次长引脚和最短引脚;

若所述变形引脚是次长引脚,则发送第二移动指令至机器人以控制所述机器人按照所述第二移动指令移动电子元器件至最长引脚位于最长引脚对应的插装孔中心位置的正上方;计算最长引脚与所述变形引脚之间的第二长度差值,并将所述第二长度差值发送至机器人以控制所述机器人按照所述第二长度差值向下移动,垂直插入最长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与最短引脚之间的第三长度差值,并将所述第三长度差值发送至机器人以控制所述机器人按照所述第三长度差值向下移动,垂直插入所述变形引脚;最后发送第三移动指令至机器人以控制所述机器人按照所述第三移动指令移动电子元器件至最短引脚位于最短引脚对应的插装孔中心位置的正上方,垂直插入最短引脚;

若所述变形引脚是最短引脚,则计算机器人坐标系下最长引脚末端中心位置和次长引脚末端中心位置连线的第三中点位置坐标,以及机器人坐标系下最长引脚对应的插装孔中心位置和次长引脚对应的插装孔中心位置连线的第四中点位置坐标,并将所述第三中点位置坐标与所述第四中点位置坐标的第二坐标差值发送至机器人以控制所述机器人按照所述第二坐标差值移动电子元器件;计算次长引脚与所述变形引脚之间的第四长度差值,并将所述第四长度差值发送至机器人以控制所述机器人按照所述第四长度差值向下移动电子元器件,垂直插入最长引脚和次长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方,垂直插入所述变形引脚;

若所述第一判断结果为否,则发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。

2.根据权利要求1所述的三引脚电子元器件的引脚自适应定位插装方法,其特征在于,在执行所述根据各引脚的长度值确定变形引脚的类别之前,还包括:发送第一旋转指令至机器人以控制所述机器人旋转电子元器件至引脚处于水平方向;

获取水平引脚图像,并根据所述水平引脚图像计算各引脚的长度值;

发送第二旋转指令至机器人以控制所述机器人旋转电子元器件恢复至引脚朝下状态。

3.根据权利要求1所述的三引脚电子元器件的引脚自适应定位插装方法,其特征在于,所述第一移动指令具体包括第一移动量和第一移动方向;所述第一移动量为变形引脚对应的插装孔中心位置坐标与变形引脚末端中心位置坐标之间的第一差值;所述第一移动方向由所述第一差值的正负号决定。

4.根据权利要求1所述的三引脚电子元器件的引脚自适应定位插装方法,其特征在于,所述第二移动指令具体包括第二移动量和第二移动方向;所述第二移动量为最长引脚对应的插装孔中心位置坐标与最长引脚末端中心位置坐标之间的第二差值;所述第二移动方向由所述第二差值的正负号决定。

5.根据权利要求1所述的三引脚电子元器件的引脚自适应定位插装方法,其特征在于,所述第三移动指令具体包括第三移动量和第三移动方向;所述第三移动量为最短引脚对应的插装孔中心位置坐标与最短引脚末端中心位置坐标之间的第三差值;所述第三移动方向由所述第三差值的正负号决定。

6.一种三引脚电子元器件的引脚自适应定位插装方法,其特征在于,包括:

获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径;

获取引脚间距误差大的电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径;

判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;

若所述第一判断结果表示最大引脚末端半径小于最小插装孔半径,则依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;

若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;

若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则根据所述各引脚末端中心位置坐标拟合三引脚末端中心位置所处平面方程;

根据所述平面方程计算平面法向量;

分别在X轴、Y轴和Z轴上各取一个单位向量,并利用线面角公式计算所述平面与X轴、Y轴和Z轴所成的第一夹角、第二夹角和第三夹角;

发送X轴旋转指令、Y轴旋转指令和Z轴旋转指令至机器人以控制所述机器人按照所述第一夹角在X轴方向旋转电子元器件、按照所述第二夹角在Y轴方向旋转电子元器件和按照所述第三夹角在Z轴方向旋转电子元器件;

获取旋转后电子元器件的引脚图像,并根据所述旋转后电子元器件的引脚图像计算旋转后电子元器件各引脚末端边缘上任意一点的坐标;

依次判断旋转后电子元器件各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第三判断结果;

若所述第三判断结果表示旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;

若所述第三判断结果表示旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则发送无法插装指令至机器人以控制所述机器人丢弃电子元器件;

若所述第一判断结果表示最大引脚末端半径大于或等于最小插装孔半径,则发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。

7.一种三引脚电子元器件的引脚自适应定位插装系统,其特征在于,包括:

插装孔图像获取模块,用于获取电路板上的插装孔图像,并根据所述插装孔图像计算机器人坐标系下电路板上各插装孔中心位置坐标和各插装孔半径;

引脚图像获取模块,用于获取引脚柔软的电子元器件的引脚图像,并根据所述引脚图像计算机器人坐标系下各引脚末端中心位置坐标和各引脚末端半径;

第一判断模块,用于判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;

第二判断模块,用于当所述第一判断模块的输出结果为最大引脚末端半径小于最小插装孔半径时,依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;

第一引脚直接插入模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;

变形引脚类别确定模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,根据各引脚的长度值确定变形引脚的类别;所述变形引脚的类别包括最长引脚、次长引脚和最短引脚;所述变形引脚为引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外的引脚;

第一纠正引脚插入模块,用于当所述变形引脚类别确定模块的输出结果为变形引脚是最长引脚时,发送第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与次长引脚之间的第一长度差值,并将所述第一长度差值发送至机器人以控制所述机器人按照所述第一长度差值向下移动电子元器件,垂直插入所述变形引脚;然后计算机器人坐标系下次长引脚末端中心位置和最短引脚末端中心位置连线的第一中点位置坐标,以及机器人坐标系下次长引脚对应的插装孔中心位置和最短引脚对应的插装孔中心位置连线的第二中点位置坐标,并将所述第一中点位置坐标与所述第二中点位置坐标的第一坐标差值发送至机器人以控制所述机器人按照所述第一坐标差值移动电子元器件,垂直插入次长引脚和最短引脚;

第二纠正引脚插入模块,用于当所述变形引脚类别确定模块的输出结果为变形引脚是次长引脚时,发送第二移动指令至机器人以控制所述机器人按照所述第二移动指令移动电子元器件至最长引脚位于最长引脚对应的插装孔中心位置的正上方;计算最长引脚与所述变形引脚之间的第二长度差值,并将所述第二长度差值发送至机器人以控制所述机器人按照所述第二长度差值向下移动,垂直插入最长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与最短引脚之间的第三长度差值,并将所述第三长度差值发送至机器人以控制所述机器人按照所述第三长度差值向下移动,垂直插入所述变形引脚;最后发送第三移动指令至机器人以控制所述机器人按照所述第三移动指令移动电子元器件至最短引脚位于最短引脚对应的插装孔中心位置的正上方,垂直插入最短引脚;

第三纠正引脚插入模块,用于当所述变形引脚类别确定模块的输出结果为变形引脚是最短引脚时,计算机器人坐标系下最长引脚末端中心位置和次长引脚末端中心位置连线的第三中点位置坐标,以及机器人坐标系下最长引脚对应的插装孔中心位置和次长引脚对应的插装孔中心位置连线的第四中点位置坐标,并将所述第三中点位置坐标与所述第四中点位置坐标的第二坐标差值发送至机器人以控制所述机器人按照所述第二坐标差值移动电子元器件;计算次长引脚与所述变形引脚之间的第四长度差值,并将所述第四长度差值发送至机器人以控制所述机器人按照所述第四长度差值向下移动电子元器件,垂直插入最长引脚和次长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方,垂直插入所述变形引脚;

第一丢弃模块,用于当所述第一判断模块的输出结果为最大引脚末端半径大于或等于最小插装孔半径时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。

8.根据权利要求7所述的三引脚电子元器件的引脚自适应定位插装系统,其特征在于,还包括:

引脚旋转模块,用于发送第一旋转指令至机器人以控制所述机器人旋转电子元器件至引脚处于水平方向;

引脚长度值计算模块,用于获取水平引脚图像,并根据所述水平引脚图像计算各引脚的长度值;

引脚恢复模块,用于发送第二旋转指令至机器人以控制所述机器人旋转电子元器件恢复至引脚朝下状态。

9.一种三引脚电子元器件的引脚自适应定位插装系统,其特征在于,包括:

插装孔图像获取模块,用于获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径;

引脚图像获取模块,用于获取引脚间距误差大的电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径;

第一判断模块,用于判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;

第二判断模块,用于当所述第一判断模块的输出结果为最大引脚末端半径小于最小插装孔半径时,依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;

第一引脚直接插入模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;

平面方程拟合模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,根据所述各引脚末端中心位置坐标拟合三引脚末端中心位置所处平面方程;

法向量计算模块,用于根据所述平面方程计算平面法向量;

夹角计算模块,用于分别在X轴、Y轴和Z轴上各取一个单位向量,并利用线面角公式计算所述平面与X轴、Y轴和Z轴所成的第一夹角、第二夹角和第三夹角;

机器人姿态旋转模块,用于发送X轴旋转指令、Y轴旋转指令和Z轴旋转指令至机器人以控制所述机器人按照所述第一夹角在X轴方向旋转电子元器件、按照所述第二夹角在Y轴方向旋转电子元器件和按照所述第三夹角在Z轴方向旋转电子元器件;

旋转后坐标计算模块,用于获取旋转后电子元器件的引脚图像,并根据所述旋转后电子元器件的引脚图像计算旋转后电子元器件各引脚末端边缘上任意一点的坐标;

第三判断模块,用于依次判断旋转后电子元器件各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第三判断结果;

第二引脚直接插入模块,用于当所述第三判断模块的输出结果为旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;

第二丢弃模块,用于当所述第三判断模块的输出结果为旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件;

第一丢弃模块,用于当所述第一判断模块的输出结果为最大引脚末端半径大于或等于最小插装孔半径时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。

说明书 :

一种三引脚电子元器件的引脚自适应定位插装方法及系统

技术领域

[0001] 本发明涉及电子加工技术领域,特别是涉及一种三引脚电子元器件的引脚自适应定位插装方法及系统。

背景技术

[0002] 目前,越来越多的电子元器件采取了表面贴装的封装技术,但仍有一大部分元器件因为自身功能的特殊性和制造技术的问题,依然采用插装的封装作业技术,这类电子元器件形状和大小都存在着较大差异,可以称为异形电子元器件。常见的有电解电容、电感、变压器和接插件等。这些因素都使得采用标准的自动化设备来实现异形电子元器件的插装作业变得十分困难。
[0003] 现今,绝大部分厂家都是单纯通过人工方式来完成异形电子元器件的插装作业,虽然也有部分厂家引进了国内外先进的异形插件机,但普及程度还依然很低。
[0004] 而且一部分异形电子元器件在生产之前没有统一的引脚标准,或者不同生产批次的产品标准有所区别,导致最终生产前很多异形电子元器件引脚的间距和形状都存在着较大差异。因此,一些引脚间距误差较大的异形电子元器件不能正常用于自动化插装作业,无论人工还是插件机器人都很难快速精准的完成异形电子元器件的插装作业,从而导致了异形电子元件的错插、漏插等不良产品的产生,这样就对人工和插件机器人提出了更高的要求。

发明内容

[0005] 本发明的目的是提供一种三引脚电子元器件的引脚自适应定位插装方法及系统,能够使引脚间距误差较大的异形电子元器件正常用于自动化插装作业。
[0006] 为实现上述目的,本发明提供了如下方案:
[0007] 一种三引脚电子元器件的引脚自适应定位插装方法,包括:
[0008] 获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径;
[0009] 获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径;
[0010] 判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;
[0011] 若所述第一判断结果表示最大引脚末端半径小于最小插装孔半径,则依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;
[0012] 若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;
[0013] 若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则根据各引脚的长度值确定变形引脚的类别;所述变形引脚的类别包括最长引脚、次长引脚和最短引脚;所述变形引脚为引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外的引脚;
[0014] 若所述变形引脚是最长引脚,则发送第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与次长引脚之间的第一长度差值,并将所述第一长度差值发送至机器人以控制所述机器人按照所述第一长度差值向下移动电子元器件,垂直插入所述变形引脚;然后计算次长引脚末端中心位置和最短引脚末端中心位置连线的第一中点位置坐标,以及次长引脚对应的插装孔中心位置和最短引脚对应的插装孔中心位置连线的第二中点位置坐标,并将所述第一中点位置坐标与所述第二中点位置坐标的第一坐标差值发送至机器人以控制所述机器人按照所述第一坐标差值移动电子元器件,垂直插入次长引脚和最短引脚;
[0015] 若所述变形引脚是次长引脚,则发送第二移动指令至机器人以控制所述机器人按照所述第二移动指令移动电子元器件至最长引脚位于最长引脚对应的插装孔中心位置的正上方;计算最长引脚与所述变形引脚之间的第二长度差值,并将所述第二长度差值发送至机器人以控制所述机器人按照所述第二长度差值向下移动,垂直插入最长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与最短引脚之间的第三长度差值,并将所述第三长度差值发送至机器人以控制所述机器人按照所述第三长度差值向下移动,垂直插入所述变形引脚;最后发送第三移动指令至机器人以控制所述机器人按照所述第三移动指令移动电子元器件至最短引脚位于最短引脚对应的插装孔中心位置的正上方,垂直插入最短引脚;
[0016] 若所述变形引脚是最短引脚,则计算最长引脚末端中心位置和次长引脚末端中心位置连线的第三中点位置坐标,以及最长引脚对应的插装孔中心位置和次长引脚对应的插装孔中心位置连线的第四中点位置坐标,并将所述第三中点位置坐标与所述第四中点位置坐标的第二坐标差值发送至机器人以控制所述机器人按照所述第二坐标差值移动电子元器件;计算次长引脚与所述变形引脚之间的第四长度差值,并将所述第四长度差值发送至机器人以控制所述机器人按照所述第四长度差值向下移动电子元器件,垂直插入最长引脚和次长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方,垂直插入所述变形引脚;
[0017] 若所述第一判断结果表示最大引脚末端半径大于或等于最小插装孔半径,则发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0018] 为实现上述目的,本发明还提供了如下方案:
[0019] 一种三引脚电子元器件的引脚自适应定位插装方法,包括:
[0020] 获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径;
[0021] 获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径;
[0022] 判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;
[0023] 若所述第一判断结果表示最大引脚末端半径小于最小插装孔半径,则依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;
[0024] 若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;
[0025] 若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则根据所述各引脚末端中心位置坐标拟合三引脚末端中心位置所处平面方程;
[0026] 根据所述平面方程计算平面法向量;
[0027] 分别在X轴、Y轴和Z轴上各取一个单位向量,并利用线面角公式计算所述平面与X轴、Y轴和Z轴所成的第一夹角、第二夹角和第三夹角;
[0028] 发送X轴旋转指令、Y轴旋转指令和Z轴旋转指令至机器人以控制所述机器人按照所述第一夹角在X轴方向旋转电子元器件、按照所述第二夹角在Y轴方向旋转电子元器件和按照所述第三夹角在Z轴方向旋转电子元器件;
[0029] 获取旋转后电子元器件的引脚图像,并根据所述旋转后电子元器件的引脚图像计算旋转后电子元器件各引脚末端边缘上任意一点的坐标;
[0030] 依次判断旋转后电子元器件各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第三判断结果;
[0031] 若所述第三判断结果表示旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;
[0032] 若所述第三判断结果表示旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则发送无法插装指令至机器人以控制所述机器人丢弃电子元器件;
[0033] 若所述第一判断结果表示最大引脚末端半径大于或等于最小插装孔半径,则发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0034] 为实现上述目的,本发明还提供了如下方案:
[0035] 一种三引脚电子元器件的引脚自适应定位插装系统,包括:
[0036] 插装孔图像获取模块,用于获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径;
[0037] 引脚图像获取模块,用于获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径;
[0038] 第一判断模块,用于判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;
[0039] 第二判断模块,用于当所述第一判断模块的输出结果为最大引脚末端半径小于最小插装孔半径时,依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;
[0040] 第一引脚直接插入模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;
[0041] 变形引脚类别确定模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,根据各引脚的长度值确定变形引脚的类别;所述变形引脚的类别包括最长引脚、次长引脚和最短引脚;所述变形引脚为引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外的引脚;
[0042] 第一纠正引脚插入模块,用于当所述变形引脚类别确定模块的输出结果为变形引脚是最长引脚时,发送第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与次长引脚之间的第一长度差值,并将所述第一长度差值发送至机器人以控制所述机器人按照所述第一长度差值向下移动电子元器件,垂直插入所述变形引脚;然后计算次长引脚末端中心位置和最短引脚末端中心位置连线的第一中点位置坐标,以及次长引脚对应的插装孔中心位置和最短引脚对应的插装孔中心位置连线的第二中点位置坐标,并将所述第一中点位置坐标与所述第二中点位置坐标的第一坐标差值发送至机器人以控制所述机器人按照所述第一坐标差值移动电子元器件,垂直插入次长引脚和最短引脚;
[0043] 第二纠正引脚插入模块,用于当所述变形引脚类别确定模块的输出结果为变形引脚是次长引脚时,发送第二移动指令至机器人以控制所述机器人按照所述第二移动指令移动电子元器件至最长引脚位于最长引脚对应的插装孔中心位置的正上方;计算最长引脚与所述变形引脚之间的第二长度差值,并将所述第二长度差值发送至机器人以控制所述机器人按照所述第二长度差值向下移动,垂直插入最长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与最短引脚之间的第三长度差值,并将所述第三长度差值发送至机器人以控制所述机器人按照所述第三长度差值向下移动,垂直插入所述变形引脚;最后发送第三移动指令至机器人以控制所述机器人按照所述第三移动指令移动电子元器件至最短引脚位于最短引脚对应的插装孔中心位置的正上方,垂直插入最短引脚;
[0044] 第三纠正引脚插入模块,用于当所述变形引脚类别确定模块的输出结果为变形引脚是最短引脚时,计算最长引脚末端中心位置和次长引脚末端中心位置连线的第三中点位置坐标,以及最长引脚对应的插装孔中心位置和次长引脚对应的插装孔中心位置连线的第四中点位置坐标,并将所述第三中点位置坐标与所述第四中点位置坐标的第二坐标差值发送至机器人以控制所述机器人按照所述第二坐标差值移动电子元器件;计算次长引脚与所述变形引脚之间的第四长度差值,并将所述第四长度差值发送至机器人以控制所述机器人按照所述第四长度差值向下移动电子元器件,垂直插入最长引脚和次长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方,垂直插入所述变形引脚;
[0045] 第一丢弃模块,用于当所述第一判断模块的输出结果为最大引脚末端半径大于或等于最小插装孔半径时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0046] 为实现上述目的,本发明还提供了如下方案:
[0047] 一种三引脚电子元器件的引脚自适应定位插装系统,包括:
[0048] 插装孔图像获取模块,用于获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径;
[0049] 引脚图像获取模块,用于获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径;
[0050] 第一判断模块,用于判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果;
[0051] 第二判断模块,用于当所述第一判断模块的输出结果为最大引脚末端半径小于最小插装孔半径时,依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果;
[0052] 第一引脚直接插入模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;
[0053] 平面方程拟合模块,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,根据所述各引脚末端中心位置坐标拟合三引脚末端中心位置所处平面方程;
[0054] 法向量计算模块,用于根据所述平面方程计算平面法向量;
[0055] 夹角计算模块,用于分别在X轴、Y轴和Z轴上各取一个单位向量,并利用线面角公式计算所述平面与X轴、Y轴和Z轴所成的第一夹角、第二夹角和第三夹角;
[0056] 机器人姿态旋转模块,用于发送X轴旋转指令、Y轴旋转指令和Z轴旋转指令至机器人以控制所述机器人按照所述第一夹角在X轴方向旋转电子元器件、按照所述第二夹角在Y轴方向旋转电子元器件和按照所述第三夹角在Z轴方向旋转电子元器件;
[0057] 旋转后坐标计算模块,用于获取旋转后电子元器件的引脚图像,并根据所述旋转后电子元器件的引脚图像计算旋转后电子元器件各引脚末端边缘上任意一点的坐标;
[0058] 第三判断模块,用于依次判断旋转后电子元器件各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第三判断结果;
[0059] 第二引脚直接插入模块,用于当所述第三判断模块的输出结果为旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚;
[0060] 第二丢弃模块,用于当所述第三判断模块的输出结果为旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0061] 第一丢弃模块,用于当所述第一判断模块的输出结果为最大引脚末端半径大于或等于最小插装孔半径时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0062] 根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明公开的三引脚电子元器件的引脚自适应定位插装方法及系统,基于机器视觉算法重建元件引脚的3D信息,依据异形元器件的引脚所构成的3D空间尺寸信息和电路板插装孔位的相对位置和平面,计算出插件机器人需要以怎样的空间姿态来快速地完成电子元器件的精准插装。如果不能一次性直接快速插装,则先计算出插件机器人以某一特定空间姿态将一至两个引脚快速插装入电路板插装孔位内,然后计算插件机器人的二次空间位姿移动数据,通常为平移和空间旋转,将剩余引脚快速插装入电路板插装孔位内,从而使引脚间距误差较大的异形电子元器件能够正常用于自动化插装作业,实现异形电子元器件的快速、精准插装。

附图说明

[0063] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0064] 图1为本发明三引脚电子元器件的引脚自适应定位插装方法实施例1的流程图;
[0065] 图2为图像采集得到的PCB板图像;
[0066] 图3为插装孔位局部截图;
[0067] 图4为滤波后的插装孔位局部截图;
[0068] 图5为边缘提取后的插装孔位局部截图;
[0069] 图6为边缘形状拟合后的插装孔位局部截图;
[0070] 图7为实际应用中上相机的实际安装位置示意图;
[0071] 图8为实际应用中下相机的实际安装位置示意图;
[0072] 图9为ω和ω0之间存在的坐标变换关系示意图;
[0073] 图10为引脚长度拍照示意图;
[0074] 图11为本发明三引脚电子元器件的引脚自适应定位插装方法实施例3的流程图;
[0075] 图12为本发明三引脚电子元器件的引脚自适应定位插装系统实施例5的结构图;
[0076] 图13为本发明三引脚电子元器件的引脚自适应定位插装系统实施例6的结构图。

具体实施方式

[0077] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0078] 本发明的目的是提供一种三引脚电子元器件的引脚自适应定位插装方法及系统,能够使引脚间距误差较大的异形电子元器件正常用于自动化插装作业。
[0079] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0080] 实施例1
[0081] 图1为本发明三引脚电子元器件的引脚自适应定位插装方法实施例1的流程图。参见图1,该三引脚电子元器件的引脚自适应定位插装方法包括:步骤101:获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径。
[0082] 步骤102:获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径。
[0083] 步骤103:判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果。若所述第一判断结果表示最大引脚末端半径小于最小插装孔半径,则执行步骤104;若所述第一判断结果表示最大引脚末端半径大于或等于最小插装孔半径,则执行步骤110。
[0084] 步骤104:依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果。若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则执行步骤105;若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则执行步骤106。
[0085] 步骤105:发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚。
[0086] 步骤106:根据各引脚的长度值确定变形引脚的类别;所述变形引脚的类别包括最长引脚、次长引脚和最短引脚;所述变形引脚为引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外的引脚。
[0087] 在执行所述根据各引脚的长度值确定变形引脚的类别之前,还包括:发送第一旋转指令至机器人以控制所述机器人旋转电子元器件至引脚处于水平方向。获取水平引脚图像,并根据所述水平引脚图像计算各引脚的长度值。发送第二旋转指令至机器人以控制所述机器人旋转电子元器件恢复至引脚朝下状态。
[0088] 步骤107:若所述变形引脚是最长引脚,则发送第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与次长引脚之间的第一长度差值,并将所述第一长度差值发送至机器人以控制所述机器人按照所述第一长度差值向下移动电子元器件,垂直插入所述变形引脚;然后计算次长引脚末端中心位置和最短引脚末端中心位置连线的第一中点位置坐标,以及次长引脚对应的插装孔中心位置和最短引脚对应的插装孔中心位置连线的第二中点位置坐标,并将所述第一中点位置坐标与所述第二中点位置坐标的第一坐标差值发送至机器人以控制所述机器人按照所述第一坐标差值移动电子元器件,垂直插入次长引脚和最短引脚。
[0089] 该步骤107中,所述第一移动指令具体包括第一移动量和第一移动方向;所述第一移动量为变形引脚对应的插装孔中心位置坐标与变形引脚末端中心位置坐标之间的第一差值;所述第一移动方向由所述第一差值的正负号决定。
[0090] 步骤108:若所述变形引脚是次长引脚,则发送第二移动指令至机器人以控制所述机器人按照所述第二移动指令移动电子元器件至最长引脚位于最长引脚对应的插装孔中心位置的正上方;计算最长引脚与所述变形引脚之间的第二长度差值,并将所述第二长度差值发送至机器人以控制所述机器人按照所述第二长度差值向下移动,垂直插入最长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与最短引脚之间的第三长度差值,并将所述第三长度差值发送至机器人以控制所述机器人按照所述第三长度差值向下移动,垂直插入所述变形引脚;最后发送第三移动指令至机器人以控制所述机器人按照所述第三移动指令移动电子元器件至最短引脚位于最短引脚对应的插装孔中心位置的正上方,垂直插入最短引脚。
[0091] 该步骤108中,所述第二移动指令具体包括第二移动量和第二移动方向;所述第二移动量为最长引脚对应的插装孔中心位置坐标与最长引脚末端中心位置坐标之间的第二差值;所述第二移动方向由所述第二差值的正负号决定。所述第三移动指令具体包括第三移动量和第三移动方向;所述第三移动量为最短引脚对应的插装孔中心位置坐标与最短引脚末端中心位置坐标之间的第三差值;所述第三移动方向由所述第三差值的正负号决定。
[0092] 步骤109:若所述变形引脚是最短引脚,则计算最长引脚末端中心位置和次长引脚末端中心位置连线的第三中点位置坐标,以及最长引脚对应的插装孔中心位置和次长引脚对应的插装孔中心位置连线的第四中点位置坐标,并将所述第三中点位置坐标与所述第四中点位置坐标的第二坐标差值发送至机器人以控制所述机器人按照所述第二坐标差值移动电子元器件;计算次长引脚与所述变形引脚之间的第四长度差值,并将所述第四长度差值发送至机器人以控制所述机器人按照所述第四长度差值向下移动电子元器件,垂直插入最长引脚和次长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方,垂直插入所述变形引脚。
[0093] 步骤110:发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0094] 该实施例中所述机器人为六自由度插件机器人。
[0095] 实施例2:
[0096] 该针对引脚较为柔软的电子元器件的引脚自适应定位插装方法具体包括:插装孔图像中特征点识别提取:具体包括图像的滤波、图像的边缘提取以及边缘形状的拟合。其中,图像的滤波包括:图像采集得到的PCB板图像如图2所示,插装孔位局部截图如图3所示,由图3可见插装孔周边有较多的噪声,对其边缘提取有较大的干扰,故本算法对采样图像点的周围邻域求平均灰度值,并将此均值替换当前采样点的灰度。设P(x,y)为N×N的原图像,采用本算法后得到的图像为P’(x,y),则上述图像的滤波算法可以表达如下:
[0097]
[0098] 式中,S为以(x,y)为中心的邻域集合,M为以(x,y)为中心的邻域的数目总和。由(1)表达式中可以看出,M的取值越大,最终得到的图像滤波效果越明显但也使得图像越模糊,故该取值需要在实践中尝试不同值所产生的效果。该系统中取8较为合适,即可以理解为以3×3大小的邻域对原图像求平均灰度值,并将此均值替换当前采样点的灰度,从而达到对原图进行滤波的效果。按照上述方法,图3中图像处理后如图4所示,取得了很好的滤波效果。
[0099] 图像的边缘提取包括:理论上图像的边缘提取一般都是通过对图像进行梯度运算而实现的。图像梯度可以用如下算术表达式来表述:G(x,y)=dx(i,j)+dy(i,j);其中dx、dy为相邻像素之间的灰度值得偏差值;G(x,y)的取值越大,说明此处有像素灰度变化越剧烈,在此处加以适当的阈值限制,便可以取得目标边缘;常用的梯度运算方法有Sobel,Scharr和Lapacian,这里采用Sobel算法,Sobel的典型滤波核为:
[0100]
[0101] 式(2)中可见Sx其为X方向上的滤波核,继而Y方向上的滤波核应为Sy=SxT;将滤波后得到的图像(即图4所示图像),与式(2)所示滤波核作图像卷积运算,并选取低通80,高通100的阈值即可得到图5所示图像。由图5可知,经过边缘提取后可以很好的得到需求的边缘图像。
[0102] 边缘形状的拟合包括:拟合的过程就是要根据边缘图像得到插装孔的中心位置。图5中得到的为一个近似圆形的孔,而我们需要得到的是插装孔的中心位置,即此刻我们需要进行边缘形状拟合来实现图5中非圆的近似圆心的坐标的计算。
[0103] 圆的标准方程为:(x-a)2+(y-b)2=r2   (3)
[0104] 设点(xi,yi)i∈(1,2,3,4....N)为需要拟合的点,其到圆心的距离为di,则有:
[0105] di2=(xi-a)2+(yi-b)2   (4)
[0106] 点(xi,yi)i∈(1,2,3,4....N)到圆心的距离与其圆半径的平方差值为:
[0107] δi=di2-r2=(xi-a)2+(yi-b)2-r2   (5)
[0108] 令A=-2a;B=-2b;C=a2+b2-r2,将上述(5)表达式展开,即为:
[0109] δi=xi2+yi2+Axi+Byi+C   (6)
[0110] 令F(A,B,C)为δi的平方和:
[0111] F(A,B,C)=∑δi2=∑[(xi2+yi2+Axi+Byi+C)]2   (7)
[0112] 上述(3)(4)(5)(6)(7)中xi和yi为已知量,故可以求出参数A,B,C使得F(A,B,C)的值为最小,即可求出该圆的表达式。此处以式(8)来表示。
[0113] (x-X1)2+(y-Y1)2-r2=0   (8)
[0114] 拟合后的图像结果如图6所示;依此原理可以将元器件的引脚中心坐标也拟合出来。根据圆表达式式(8)可以得到该圆的中心坐标为:Pt1(X1,Y1);
[0115] 令Pw1(Xw1,Yw1,Zw1)点为插装孔的中心位置Pt1(X,Y)在机器人坐标系中的坐标值;则有[Xw1,Yw1,Zw1]=A[X1,Y1,0]T(9),按照式(9)计算便可以求出Pw1(Xw1,Yw1,Zw1)点。式(9)中A为上相机camera1与插装机械手坐标系之间的变换矩阵。上相机是固定在机器人手臂上的,下相机是固定在机器人之外的不跟随机器人移动。如图7所示为实际应用中上相机的实际安装位置;如图8所示为实际应用中下相机的实际安装位置。A的求解过程如下:相机坐标系与插件机器人坐标系的标定:相机坐标系与插装机器人坐标系的标定可以简单理解为坐标变换,坐标变换常用于描述物体之间的相互位姿关系。通过直角坐标系之间的坐标变换关系,可以使得任意空间点在一个坐标系下的描述转换为另一坐标系下的描述。如图9所示,在ω和ω0之间存在一个坐标变换关系A,使得在ω0下的空间任一点P同时满足在ω下的表达。其表达式可以简写为:X′=AX(10)。其中,X′=[x′,y′,z′,1]T是点P在ω下的表达,X=[x,y,z,1]T是点P在ω0下的表达。由于相机坐标系为平面坐标系,故(10)中的表达式可以改写为:X′=RX+M(11),其中,X′=[x′,y′,z′]T是点P在ω下的表达,X=[x,y,z]T是点P在ω0下的表达。根据上述理论可知,只需要罗列出三组插件机器人和相机中的对应同一点表达式,即可求出(10)表达式中A。找出相机视野范围内三个特征点的坐标和插装机器人坐标系内的该三点的坐标。列出如下方程组:
[0116]
[0117] 上述方程组(12)中(X0,Y0)、(X1,Y1)、(X2,Y2)和(X0’,Y0’)、(X1’,Y1’)、(X2’,Y2’)都为已知数值量,根据上述方程组(12),得出上相机camera1与插件机器人坐标系之间的变换矩阵A为:
[0118]
[0119] 下相机Camera2与插件机器人坐标系之间的变换矩阵A’为:
[0120]
[0121] 令PT2(X2,Y2)为图像圆上任意一点坐标,PW2(XW2,YW2,Zw2)为PT2在插件机器人坐标系中的坐标值;则有[Xw2,Yw2,Zw2]=A[X2,Y2,0]T(15)。
[0122] 按照(15)计算便可以求出Pw2(Xw2,Yw2,Zw2)点。
[0123] 现在已知圆心与圆上一点的坐标,便可以求出该圆的半径;令R1为PCB板1#插装孔的半径,则有:R1=sql((Xw1-Xw2)2+(Yw1-Yw2)2)。
[0124] 异形电子元器件的引脚计算过程与上述PCB板插装孔的位置坐标和孔大小的求取过程类似,同样的原理可以求出元器件的引脚末端中心位置坐标Pwi’(Xwi’,Ywi’,Zwi’)点和引脚末端半径Ri’(其中i=0,1,2)。
[0125] 判断引脚是否可以快速的一次性垂直插装到位:通过如图7中所示的拍照并按照上述过程计算,可以获取PCB电路板的插装孔的尺寸大小,即为半径为Ri(其中i=0,1,2)的圆孔;再进入如图8所示的对电子元器件的引脚拍照过程,可以快速的得出每个引脚的自身尺寸大小Ri’(其中i=0,1,2)。当满足:Max(Ri’)
[0126] 此时,设Mi(xm,ym)为1#引脚边缘上的点,而1#孔的边缘拟合而成的圆为:(xi-A)2+(yi-B)2-Ri2=0(17),将点Mi(xm,ym)代入(17)表达式中应满足:(xm-A)2+(ym-B)2-Ri2<0(18);如果不满足上述式(18)则是无法快速完成插装作业的。2#引脚、孔和3#引脚、孔的计算方式以此类推;如果所有引脚数据都可以通过上述公式(17)、公式(18)的计算,则即可判定为插装机器人可以快速垂直完成插装作业。
[0127] 当算术表达式(18)不成立时,动态调整插件机器人的插装姿势来完成引脚柔软元件的插装作业。
[0128] 如图10所示,通过调整机器人的拍照姿态就可以实现拍元件的引脚长度。即插件机器人带动电子元器件的引脚,使元器件的引脚置于水平方向,一次拍照便可以得到各个元器件的引脚长度。通过图10所示的位姿,相当于从侧面对元器件引脚进行拍照,可以得到电子元器件的引脚的长度信息。由于插装作业之前都是需要先恢复至引脚朝下的状态,因此拍照得到各个元器件的引脚长度后,需要调整插件机器人的姿态,恢复至图8所示,即元器件引脚向下的拍照姿态。
[0129] 例如2#引脚不满足表达式(18),则说明,2#引脚可能发生了变形即平面内的位移问题,理论上只要完成2#引脚的位移纠正动作即可完成插装作业,但在此处,需要先计算3个引脚的长度信息;
[0130] 令Hi为引脚的长度值,D为PCB板的厚度,则有如下表达式:
[0131] Max(Hi)<=H2   (19)
[0132] Min(Hi)>=H2   (20)
[0133] 当满足表达式(19)时,并且2#引脚与次长引脚的长度差值为H’,则以2#引脚和2#孔为基准,上述过程已经求出PCB板插装孔的中心位置坐标Pwi(Xwi,Ywi,Zwi)和各个引脚的引脚末端中心位置坐标Pwi’(Xwi’,Ywi’,Zwi’),其中i=1,2,3。插件机器人的插装机械手移动至2#孔中心位置的正上方,PCB板2#插装孔和2#引脚的坐标差值即为移动量,插装孔与引脚坐标的差值的符号为移动方向,然后以PCB板的上表面为0,PCB板的上表面的垂线为移动轴向,插件机器人带着元器件移动-H’+α,α为允许的间隙配合调整值,在实际应用中应大于插件机器人理论精度的2倍。
[0134] 接下来分别计算1#和3#插装孔的中心连线的中点Pc13(Xa1,Ya1),1#和3#引脚的中心连线的中点Pc13’(Xa2,Ya2)如下:
[0135] Xa1=(Xw1+Xw3)/2;
[0136] Ya1=(Yw1+Yw3)/2;
[0137] Xa2=(Xw1’+Xw3’)/2;
[0138] Ya2=(Yw1’+Yw3’)/2;
[0139] 插件机器人带动元器件移动(Xa2-Xa1,Ya2-Ya1)之后便可以将1#和3#引脚都移动至各自插装孔的上方位置;这里不考虑Z轴坐标,因为此时2#引脚已经在插装孔内了,Z轴不能变动。
[0140] 最后,插件机器人带动元器件,以PCB板的上表面的垂线为移动轴向,向下移动D+m,m为实际调机值,m取值越大元器件插入的越稳妥,但是不能超过元器件引脚的长度,此处Min(Hi)>m≥0,这样就完成了该元器件的插装作业过程。
[0141] 当满足表达式(20)时,并且2#引脚与次短引脚的长度差值为H’,则类似上面提到的方法计算1#、3#孔中心连线的中点和1#和3#引脚的中心连线的中点,插装机械手移动至1#、3#孔中心连线的中点的正上方,然后以PCB板的上表面为0,PCB板的上表面的垂线为移动轴向,移动-H’+α,α在实际应用中应大于插装机器人理论精度的2倍,然后再以2#引脚和
2#孔为基准,插装机械手移动至2#孔中心位置的正上方,PCB板2#插装孔和2#引脚的坐标差值即为移动量,插装孔与引脚坐标的差值的符号为移动方向,最后,插件机器人带动元器件,以PCB板的上表面的垂线为移动轴向,向下移动D+m,m为实际调机值,m取值越大元器件插入的越稳妥,但是不能超过元器件引脚的长度,此处Min(Hi)>m≥0),这样就完成了该元器件的插装作业过程。
[0142] 当表达式(19)、(20)都不成立时,则需计算出最长引脚的索引n,并得出其与2#引脚的长度差值为H’,2#引脚与最后一个引脚的长度差为H”,则以n#引脚和n#孔为基准,插装机械手移动至n#孔正上方,PCB板插装孔和引脚的坐标差值即为移动量,插装孔与引脚坐标的差值的符号为移动方向,然后以PCB板的上表面为0,PCB板的上表面的垂线为移动轴向,移动-H’+α,α在实际应用中应大于插装机器人理论精度的2倍,然后再以2#引脚和2#孔为基准,将插装机器人在当前高度基础上再次下降-H”高度,同理再以最后一个引脚插的其对应的插装孔位基准平移插装机器人,最后再下降D+m(m为实际调机值,m取值越大元件插入的越稳妥,但是不能超过元件引脚的长度,此处Min(Hi)>m≥0),这样就完成了该元器件的插装作业过程。
[0143] 该实施例中所述机器人为六自由度插件机器人。
[0144] 经过实际生产测试,该针对引脚较为柔软的电子元器件的引脚自适应定位插装方法,针对引脚较为柔软的电子元器件的插装非常有效,极大的提升了插装作业的良率和直通率,并且有效的降低了异形电子元器件的损耗。
[0145] 实施例3
[0146] 图11为本发明三引脚电子元器件的引脚自适应定位插装方法实施例3的流程图。参见图11,该三引脚电子元器件的引脚自适应定位插装方法包括:
[0147] 步骤1101:获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径。
[0148] 步骤1102:获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径。
[0149] 步骤1103:判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果。若所述第一判断结果表示最大引脚末端半径小于最小插装孔半径,则执行步骤1104;若所述第一判断结果表示最大引脚末端半径大于或等于最小插装孔半径,则执行步骤1114。
[0150] 步骤1104:依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果。若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则执行步骤1105;若所述第二判断结果表示各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则执行步骤1106。
[0151] 步骤1105:发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚。
[0152] 步骤1106:根据所述各引脚末端中心位置坐标拟合三引脚末端中心位置所处平面方程。
[0153] 步骤1107:根据所述平面方程计算平面法向量。
[0154] 步骤1108:分别在X轴、Y轴和Z轴上各取一个单位向量,并利用线面角公式计算所述平面与X轴、Y轴和Z轴所成的第一夹角、第二夹角和第三夹角。
[0155] 步骤1109:发送X轴旋转指令、Y轴旋转指令和Z轴旋转指令至机器人以控制所述机器人按照所述第一夹角在X轴方向旋转电子元器件、按照所述第二夹角在Y轴方向旋转电子元器件和按照所述第三夹角在Z轴方向旋转电子元器件。
[0156] 步骤1110:获取旋转后电子元器件的引脚图像,并根据所述旋转后电子元器件的引脚图像计算旋转后电子元器件各引脚末端边缘上任意一点的坐标。
[0157] 步骤1111:依次判断旋转后电子元器件各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第三判断结果。若所述第三判断结果表示旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内,则执行步骤1112;若所述第三判断结果表示旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外,则执行步骤1113。
[0158] 步骤1112:发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚。
[0159] 步骤1113:发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0160] 步骤1114:发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0161] 该实施例中所述机器人为六自由度插件机器人。
[0162] 实施例4:
[0163] 该针对引脚较硬的电子元器件的引脚自适应定位插装方法与实施例2中针对引脚较为柔软的电子元器件的引脚自适应定位插装方法相比,其区别在于(18)表达式不成立后的步骤。该针对引脚较硬的电子元器件的引脚自适应定位插装方法在(18)表达式不成立之后,动态调整插件机器人的插装姿势来完成引脚较硬元件的插装作业。当电子元器件的引脚较硬,即无法通过插件机器人来实现其引脚的校正(实施例2所示)时,需要继续以图10所示姿态拍照,计算出各引脚的长度值,结合上面计算出的引脚坐标可以得出待插装电子元器件的引脚顶点(末端)中心的坐标值分别为:P1(X1,Y1,Z1),P2(X2,Y2,Z2),P3(X3,Y3,Z3),根据坐标值求出电子元器件引脚最末端所构成的平面,则可以拟合出该三点所处平面方程:
[0164] ax+by+cz+d=0   (21)
[0165] 由(21)表达式可以求得该平面的法向量为:
[0166] T=(a,b,c)   (22)
[0167] 然后在X轴上取一个单位向量(1,0,0),利用线面角公式可计算出平面P1 P2 P3与X轴所成的夹角α,同理可求得与Y轴和Z轴的夹角β和γ。
[0168] 插件机器人的原拍照坐标设为PP(x,y,z,a,b,c);由机器人的坐标定义可知:x为插装机器人X方向上的分量;y为插装机器人Y方向上的分量;z为插装机器人Z方向上的分量;a为插装机器人X轴方向旋转的分量;b为插装机器人Y轴方向旋转的分量;c为插装机器人Z轴方向旋转的分量;令调整姿态后的机器人坐标为PP’(x’,y’,z’,a’,b’,c’);则有x’=x;y’=y;z’=z;a’=a+α;b’=b+β;c’=c+γ。
[0169] 利用上述求出的α、β、γ可以轻松的让插件机器人调整拍照姿态,即让插件机器人移动至坐标PP’(x’,y’,z’,a’,b’,c’),可以达到电子元器件的引脚顶点(末端)中心所构成平面与PCB板平面相平行的位姿,这时候再次利用下相机对元件的引脚拍照,然后将新得到的点坐标分别代入实施例2中的表达式(17)、(18)中重新计算,如果满足则以当前姿态垂直插装完成,如果表达式不成立,则该电子元器件只能利用其它方法校正之后才可以插装。
[0170] 表达式(18)不成立时代表元器件是无法垂直插入的,只能通过实施例2中矫正引脚的方法或者实施例4中判断三个引脚顶点(末端)所构成的面内此三个引脚是否可以自适应的插入孔内的方法最终实现插装作业。
[0171] 该实施例中所述机器人为六自由度插件机器人。
[0172] 该针对引脚较硬的电子元器件的引脚自适应定位插装方法,针对引脚较为硬实的电子元器件的插装非常有效,极大的提升了插装作业的精度。
[0173] 实施例5
[0174] 图12为三引脚电子元器件的引脚自适应定位插装系统实施例5的结构图。参见图12,该三引脚电子元器件的引脚自适应定位插装系统包括:
[0175] 插装孔图像获取模块1201,用于获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径。
[0176] 引脚图像获取模块1202,用于获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径。
[0177] 第一判断模块1203,用于判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果。
[0178] 第二判断模块1204,用于当所述第一判断模块的输出结果为最大引脚末端半径小于最小插装孔半径时,依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果。
[0179] 第一引脚直接插入模块1205,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚。
[0180] 变形引脚类别确定模块1206,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,根据各引脚的长度值确定变形引脚的类别;所述变形引脚的类别包括最长引脚、次长引脚和最短引脚;所述变形引脚为引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外的引脚。
[0181] 第一纠正引脚插入模块1207,用于当所述变形引脚类别确定模块的输出结果为变形引脚是最长引脚时,发送第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与次长引脚之间的第一长度差值,并将所述第一长度差值发送至机器人以控制所述机器人按照所述第一长度差值向下移动电子元器件,垂直插入所述变形引脚;然后计算次长引脚末端中心位置和最短引脚末端中心位置连线的第一中点位置坐标,以及次长引脚对应的插装孔中心位置和最短引脚对应的插装孔中心位置连线的第二中点位置坐标,并将所述第一中点位置坐标与所述第二中点位置坐标的第一坐标差值发送至机器人以控制所述机器人按照所述第一坐标差值移动电子元器件,垂直插入次长引脚和最短引脚。
[0182] 第二纠正引脚插入模块1208,用于当所述变形引脚类别确定模块的输出结果为变形引脚是次长引脚时,发送第二移动指令至机器人以控制所述机器人按照所述第二移动指令移动电子元器件至最长引脚位于最长引脚对应的插装孔中心位置的正上方;计算最长引脚与所述变形引脚之间的第二长度差值,并将所述第二长度差值发送至机器人以控制所述机器人按照所述第二长度差值向下移动,垂直插入最长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方;计算所述变形引脚与最短引脚之间的第三长度差值,并将所述第三长度差值发送至机器人以控制所述机器人按照所述第三长度差值向下移动,垂直插入所述变形引脚;最后发送第三移动指令至机器人以控制所述机器人按照所述第三移动指令移动电子元器件至最短引脚位于最短引脚对应的插装孔中心位置的正上方,垂直插入最短引脚。
[0183] 第三纠正引脚插入模块1209,用于当所述变形引脚类别确定模块的输出结果为变形引脚是最短引脚时,计算最长引脚末端中心位置和次长引脚末端中心位置连线的第三中点位置坐标,以及最长引脚对应的插装孔中心位置和次长引脚对应的插装孔中心位置连线的第四中点位置坐标,并将所述第三中点位置坐标与所述第四中点位置坐标的第二坐标差值发送至机器人以控制所述机器人按照所述第二坐标差值移动电子元器件;计算次长引脚与所述变形引脚之间的第四长度差值,并将所述第四长度差值发送至机器人以控制所述机器人按照所述第四长度差值向下移动电子元器件,垂直插入最长引脚和次长引脚;然后发送所述第一移动指令至机器人以控制所述机器人按照所述第一移动指令移动电子元器件至所述变形引脚位于变形引脚对应的插装孔中心位置的正上方,垂直插入所述变形引脚。
[0184] 第一丢弃模块1210,用于当所述第一判断模块的输出结果为最大引脚末端半径大于或等于最小插装孔半径时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0185] 该三引脚电子元器件的引脚自适应定位插装系统还包括:
[0186] 引脚旋转模块,用于发送第一旋转指令至机器人以控制所述机器人旋转电子元器件至引脚处于水平方向。
[0187] 引脚长度值计算模块,用于获取水平引脚图像,并根据所述水平引脚图像计算各引脚的长度值。
[0188] 引脚恢复模块,用于发送第二旋转指令至机器人以控制所述机器人旋转电子元器件恢复至引脚朝下状态。
[0189] 该实施例中所述机器人为六自由度插件机器人。
[0190] 实施例6
[0191] 图13为本发明三引脚电子元器件的引脚自适应定位插装系统实施例6的结构图。参见图13,该三引脚电子元器件的引脚自适应定位插装系统包括:
[0192] 插装孔图像获取模块1301,用于获取电路板上的插装孔图像,并根据所述插装孔图像计算电路板上各插装孔中心位置坐标和各插装孔半径。
[0193] 引脚图像获取模块1302,用于获取电子元器件的引脚图像,并根据所述引脚图像计算各引脚末端中心位置坐标和各引脚末端半径。
[0194] 第一判断模块1303,用于判断最大引脚末端半径是否小于最小插装孔半径,得到第一判断结果。
[0195] 第二判断模块1304,用于当所述第一判断模块的输出结果为最大引脚末端半径小于最小插装孔半径时,依次判断各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第二判断结果。
[0196] 第一引脚直接插入模块1305,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚。
[0197] 平面方程拟合模块1306,用于当所述第二判断模块的输出结果为各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,根据所述各引脚末端中心位置坐标拟合三引脚末端中心位置所处平面方程。
[0198] 法向量计算模块1307,用于根据所述平面方程计算平面法向量。
[0199] 夹角计算模块1308,用于分别在X轴、Y轴和Z轴上各取一个单位向量,并利用线面角公式计算所述平面与X轴、Y轴和Z轴所成的第一夹角、第二夹角和第三夹角。
[0200] 机器人姿态旋转模块1309,用于发送X轴旋转指令、Y轴旋转指令和Z轴旋转指令至机器人以控制所述机器人按照所述第一夹角在X轴方向旋转电子元器件、按照所述第二夹角在Y轴方向旋转电子元器件和按照所述第三夹角在Z轴方向旋转电子元器件。
[0201] 旋转后坐标计算模块1310,用于获取旋转后电子元器件的引脚图像,并根据所述旋转后电子元器件的引脚图像计算旋转后电子元器件各引脚末端边缘上任意一点的坐标。
[0202] 第三判断模块1311,用于依次判断旋转后电子元器件各引脚末端边缘上任意一点是否在所述引脚对应的插装孔边缘拟合而成的圆内,得到第三判断结果。
[0203] 第二引脚直接插入模块1312,用于当所述第三判断模块的输出结果为旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆内时,发送垂直插装指令至机器人以控制所述机器人垂直插入三引脚。
[0204] 第二丢弃模块1313,用于当所述第三判断模块的输出结果为旋转后电子元器件各引脚末端边缘上任意一点在所述引脚对应的插装孔边缘拟合而成的圆外时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0205] 第一丢弃模块1314,用于当所述第一判断模块的输出结果为最大引脚末端半径大于或等于最小插装孔半径时,发送无法插装指令至机器人以控制所述机器人丢弃电子元器件。
[0206] 该实施例中所述机器人为六自由度插件机器人。
[0207] 本发明公开的三引脚电子元器件的引脚自适应定位插装方法及系统,针对实际生产中很多异形电子元器件引脚的形状和尺寸参数不规范而不能进行快速自动化插装的问题,基于机器视觉和六自由度插件机器人,先采集PCB板元器件插装孔图像,在特定ROI内提取指定图像信息,从而得出PCB板的插装孔位置数据,然后对机器人拾取的电子元器件的正下方的图像信息和侧面3个方向的图像信息进行分析、计算、整合,并将运行数据发送给六自由度插件机器人,插件机器人按照给定的数据运行特定路径的行走,最终把异形电子元器件插装到位,从而实现异形电子元器件的智能插装作业,以及实现电子元器件的自动化快速插件工作。本发明公开的三引脚电子元器件的引脚自适应定位插装方法及系统,适用于三引脚电子元器件的快速自动插装及变形引脚的自动校正工作,能够大幅度提高生产效率和产品质量,彻底代替繁琐、低效的人工操作。
[0208] 本发明公开的三引脚电子元器件的引脚自适应定位插装方法及系统,为了解决一些引脚间距误差较大的异形电子元器件不能正常用于自动化插装作业的问题,基于机器视觉算法重建元器件引脚的3D信息,这种算法将依据异形元器件的引脚(3pin)所构成的3D空间尺寸信息和电路板插装孔位的相对位置和平面,计算出插件机器人需要以怎样的空间姿态来快速的完成该元器件的精准插装。如果不能一次性直接快速插装,则该算法将先计算出插件机器人以某一特定空间姿态将一至两个引脚快速插装入电路板插装孔位内,给出插装机器人的二次空间位姿移动数据,通常为平移和空间旋转,来实现该异形电子元器件的精准插装作业。
[0209] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0210] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。