一种电子元器件引脚配准PCB板孔的定位优化方法与流程

文档序号:12598010阅读:548来源:国知局
一种电子元器件引脚配准PCB板孔的定位优化方法与流程

本发明涉及插件机中电子元器件引脚与PCB板孔配准方法,更具体地说,涉及一种基于径向基函数(Radial Basis Function,RBF)搜索算法的电子元器件引脚配准PCB板孔的定位优化方法。



背景技术:

随着高科技的发展以及人们对生活水平要求的提高,消费市场对紧凑型、高性能的电子产品的需求量越来越大。此外现如今的可编程集成电路拥有很多的引脚、具有很强的功能,并且很多都采用了具有创新意义的组装形式。由于大部分电子元器件都是非常多的引脚数量和很小的外形尺寸,绝大部分元器件仅能够采用微细间距的封装形式,微细间距的元器件所拥有的引脚非常脆弱,间距只有0.508mm(20mils)或者说间隙几乎没有。PCB线路板目前也是朝着高密度化,高精度化以及高集成化的方向发展,所以对于印刷板的针孔的大小和定位也提出严格的要求。

在自动高速插件操作过程中,一方面由于机械手抓取时导致微细间距的元器件会遇到共面性和其他形式的引脚损伤因素的威胁;另一方面在高速的运动的机器中会导致振动而引起引脚与电路板针孔配合出现一定的误差;此外对于元器件引脚本身出现的一定的歪斜,而且这种细微的倾斜在视觉检查中无法检测到。以上几种情况的出现,都会引起引脚在插进PCB板的过程中导致引脚与电路板的针孔产生刮碰。在引脚和PCB受到轻微损伤的时候,将导致焊接点的可靠性和电子元件使用寿命出现问题;如果出现电子元器件引脚刮花严重时还会损伤PCB板以及造成电子元器件的浪费并且需要重新抓取电子元件再插件影响生产效率,这样导致成本大大上升的同时也造成很多不必要的浪费。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种电子元器件引脚配准PCB板孔的定位优化方法。

本发明解决其技术问题所采用的技术方案是:构造一种电子元器件引脚配准PCB板孔的定位优化方法,用于自动插件机在插件的过程中,包括如下步骤:

S1、获取电子元器件和PCB板孔的初始位置信息;

S2、利用径向基算法定义第一优化目标函数;

S3、利用梯度上升法对所述第一优化目标函数搜索极值K次以获取K个极大值;

S4、根据所述极大值检验是否存在电子元器件的引脚超出PCB板孔,若存在,则执行步骤S5,若不存在,结束定位优化;

S5、利用径向基算法定义第二优化目标函数;

S6、利用梯度下降法对所述第二优化目标函数搜索极值K次以获取K个极小值;

S7、根据所述极小值再次检验所述电子元器件的引脚能否插入PCB板孔中,结束定位优化。

在上述电子元器件引脚配准PCB板孔的定位优化方法中,在所述步骤S1中:电子元器件的初始位置信息为:(Xp1,Yp1),(Xp2,Yp2),(Xp3,Yp3),…,(XpN,YpN);PCB板孔的初始位置信息为:(Xh1,Yh1),(Xh2,Yh2),(Xh3,Yh3),…,(XhN,YhN);电子元器件旋转中心坐标为:(Xrc,Yrc);其中:N为被抓取的电子元器件的引脚的个数;

所述步骤S2具体包括:

S21、确定所述第一优化目标函数因变量:x,y,θ;其中x为水平面的水平方向的平移变量;y为水平面的垂直方向的平移变量;θ为水平面上的旋转的角度变量;

S22、计算电子元器件引脚旋转之后的位置:

Xpi'=(Xpi-Xrc)cosθi-(Ypi-Yrc)sinθi+Xrc

Ypi'=(Xpi-Xrc)sinθi+(Ypi-Yrc)cosθi+Yrc

其中i=1,2,3,...,N;

电子元器件引脚平移之后的位置:

X″pi=X'pi+x

Y″pi=Y′pi+y;

其中:x表示电子元器件的水平方向的平移变量;y表示电子元器件竖直方向的平移变量;

S23、计算电子元器件的单个引脚中心到对应的PCB板孔中心的距离di,计算公式如下:

S24、构造基于径向基函数Φ(i),计算公式如下:

其中:α为惩罚因子;

S25、构造第一优化目标函数L(x,y,θ):

其中:L(x,y,θ)为连续可导的函数。

在上述电子元器件引脚配准PCB板孔的定位优化方法中,所述步骤S3包括:

S31、搜索极值K次,同时每搜索一次极值相对应的随机选取一个任意的初始值,设为:(k=1,2,3,...,K);

S32、求解所述第一优化目标函数L(x,y,θ)中各个变量的偏导,计算公式如下:

其中:θ1diff=(Xhi-Xpi'-x)[(Xpi-Xrc)sinθi+(Ypi-Yrc)cosθi];

θ2diff=-(Yhi-Ypi'-y)[(Xpi-Xrc)cosθi-(Ypi-Yrc)sinθi];

S33、设表示第k(k=1,2,3,...,K)次搜索第t次迭代时的变量,第k次搜索第t次迭代时的第一优化目标函数值为从而获得第k次搜索第t次迭代时第一优化目标函数对各变量的偏导

利用梯度上升法计算下一次迭代的数据为:

其中ηxyθ为学习因子,通过控制学习因子来改变梯度变化的速度;

S34、依照所述步骤S33进行了ts次迭代后可得到第一优化目标函数的值上一次迭代值为若满足如下公式停止迭代:

其中:设实际迭代次数为tk,tk=min(ts,T),T为迭代次数上限;

设(xk)max,(yk)max,(θk)max为每次搜索目标函数极值的最优极值解;

且有:

此时电子元器件引脚的位置为:

S35、依照上述步骤搜索K次极大值后,把得到的这K个极大值Lk(x,y,θ)按照从大到小进行降序排列:L1max(x,y,θ),L2max(x,y,θ),...,LKmax(x,y,θ),分别所对应的变量为[(xk)max,(yk)max,(θk)max],(k=1,2,3,...,K);电子元器件引脚相应的位置坐标为:[(Xpi″)kmax,(Ypi″)kmax],(k=1,2,3,...,K)。

在上述电子元器件引脚配准PCB板孔的定位优化方法中,所述步骤S4包括:

S41、设电子元器件引脚外接圆的半径:rp1,rp2,...,rpN

PCB板孔半径:R1,R2,...,RN

电子元器件任意一个引脚边缘与PCB板孔内侧边缘的距离为Di,计算得到Di的值:

Di=Ri-rpi-di;(i=1,2,3,...,N)

将第一优化目标函数极大值所对应的变量[(xk)max,(yk)max,(θk)max]代入上式可得

Dikmax=Ri-rpi-dikmax;(i=1,2,3,...,N;k=1,2,3,...,K);

S42、依次对于给定的k,(k=1,2,3,...,K),若对所有的i=1,2,3,...,N都有Dikmax>0,则停止检验,并且对应的[(xk)max,(yk)max,(θk)max]为最优解;若对于所有的k,都存在至少一个i,使得Dikmax<0,则执行所述步骤S5。

在上述电子元器件引脚配准PCB板孔的定位优化方法中,所述步骤S5包括:

S51、构造基于径基向基函数Φ(i)',计算公式如下:

S52、构造第二优化目标函数J(x,y,θ):

实施本发明的一种电子元器件引脚配准PCB板孔的定位优化方法,具有以下有益效果:利用径向基算法构建第一优化目标函数,并通过梯度上升搜索算法,来获得电子元器件的引脚与PCB板孔配对对准的最优值,并检验获得的配准位置是否使得电子元器件的引脚超出PCB板孔。此外,若电子元器件的引脚有超出PCB板孔,则再利用径向基算法构建第二优化目标函数,同时通过使用梯度下降搜索算法来获得最安全的配准位置。从而实现可以快速判定电子元器件的引脚和PCB板孔的位置对准,提高了电子元器件的利用率。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明一种电子元器件引脚配准PCB板孔的定位优化方法实施例的流程示意图;

图2是本发明一种电子元器件引脚配准PCB板孔的定位优化方法实施例的电子元器件引脚与PCB板孔配准的示意图;

图3是本发明一种电子元器件引脚配准PCB板孔的定位优化方法实施例的第一优化目标函数以及搜索轨迹三维示意图;

图4是本发明一种电子元器件引脚配准PCB板孔的定位优化方法实施例的第一优化目标函数以及搜索轨迹等高线示意图;

图5是本发明一种电子元器件引脚配准PCB板孔的定位优化方法实施例的第一优化目标函数每一次迭代的数据示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

在机器手臂抓取电子元器件插进PCB板孔的过程中,电子元器件的引脚对高密度细间距PCB板的细孔径的对准、优化处理具有很多个引脚的电子元器件在PCB板上的落点位置以及以最优位置插进PCB板,可以提高对电子元器件的插件效率以及电子元器件的利用率。

由此本发明提供一种电子元器件引脚配准PCB板孔的定位优化方法,其与现有技术相比,能够能够有效解决和避免电子元器件引脚的变形,PCB板孔位置的变形,以及引脚与孔径在检查时的位置误差所导致的元件引脚与PCB板之间的刮碰而带来的电子元器件与PCB板的损坏。

如图1所示,为本发明一种电子元器件引脚配准PCB板孔的定位优化方法实施例的流程示意图,在本实施例中,是对一个电子元器件进行优化,该电子元器件具有多个引脚,而对于其它的电子元器件其优化方法是相同的,该定位优化方法具体包括如下步骤:

S1、获取电子元器件和PCB板孔的初始位置信息。

在该步骤中首先获得被抓取的这个电子元器件的引脚的个数:N;通过视觉检测确定被抓取的这个电子元器件的引脚的初始位置信息:(Xp1,Yp1),(Xp2,Yp2),(Xp3,Yp3),…,(XpN,YpN);通过视觉检测确定PCB板孔的初始位置信息:(Xh1,Yh1),(Xh2,Yh2),(Xh3,Yh3),…,(XhN,YhN);电子元器件旋转中心坐标:(Xrc,Yrc)。

S2、利用径向基算法定义第一优化目标函数。

具体地,在该步骤中,又包括如下子步骤:

S21、首先确定第一优化目标函数因变量:x,y,θ;其中各个因变量的含义如下:

x:水平面的水平方向的平移变量;

y:水平面的垂直方向的平移变量;

θ:水平面上的旋转的角度变量。

S22、在构造电子元器件的单个引脚与PCB板孔对准时,需设置一个变量来表示电子元器件的单个引脚中心与PCB板孔中心的距离。这里根据先旋转后平移的步骤进行计算:

首先计算每一电子元器件引脚旋转之后的位置为:

Xpi'=(Xpi-Xrc)cosθi-(Ypi-Yrc)sinθi+Xrc

(1)

Ypi'=(Xpi-Xrc)sinθi+(Ypi-Yrc)cosθi+Yrc

其中i=1,2,3,...,N;

电子元器件引脚平移之后的位置:

X″pi=X'pi+x

;(2)

Y″pi=Y′pi+y

其中:x表示电子元器件的水平方向的平移变量;y表示电子元器件竖直方向的平移变量。

S23、之后再计算这个电子元器件的单个引脚中心到对应的PCB板孔中心的距离di,计算公式如下:

S24、构造基于径基向基函数Φ(i),计算公式如下:

其中:α为惩罚因子,通过惩罚因子可以调整RBF函数的非线性的程度以及权值的设计。

S25、通过上述径向基函数构造第一优化目标函数L(x,y,θ):

其中:L(x,y,θ)为连续可导的函数。

S3、利用梯度上升法对该第一优化目标函数搜索极值K次以获取K个极大值。在该步骤中,利用梯度上升法(Gradient Ascent)来搜索目标函数L(x,y,θ)的极大值,需要随机选取K个任意的初始值以避免陷入局部极值。具体地,其基本步骤包括如下:

S31、搜索极值K次,同时每搜索一次极值相对应的随机选取一个任意的初始值,设为:(k=1,2,3,...,K)。可以理解的是,对每次选取的一个任意的初始值分别进行步骤S32-步骤S34的操作以寻找每一次的极大值。

S32、通过迭代搜索每一次优化目标函数的极大值,迭代上限次数为T次(T为常量),实际迭代次数由下述公式(10)以及上限T决定。这里需要注意的是,每次搜索极值时的实际迭代次数都可能是不同的,设本次搜索极值时迭代次数为变量t,(t=1,2,3,...,T),每次的搜索操作的迭代步骤如下:

求解上述第一优化目标函数L(x,y,θ)中各个变量的偏导,计算公式如下:

其中:θ1diff=(Xhi-Xpi'-x)[(Xpi-Xrc)sinθi+(Ypi-Yrc)cosθi];

θ2diff=-(Yhi-Ypi'-y)[(Xpi-Xrc)cosθi-(Ypi-Yrc)sinθi]; (8)

上述(6),(7),(8)三个公式中的i=1,2,3,...,N。

S33、设表示第k(k=1,2,3,...,K)次搜索第t次迭代时的变量,代入公式(5)即可得到第k次搜索第t次迭代时的目标函数值为将分别代入公式(6)、公式(7)和公式(8),从而获得第k次搜索第t次迭代时目标函数对各变量的偏导为

利用梯度上升法计算下一次迭代的数据为:

其中ηxyθ为学习因子,通过控制学习因子来改变梯度变化的速度;

S34、依照所述步骤S33进行了ts次迭代后可得到目标函数的值上一次迭代值为若满足如下公式即可停止迭代:

同时考虑到迭代次数上限T次,所以实际迭代次数tk=min(ts,T)。

设为本次搜索目标函数极值取得最优极值的解,为方便标记,简写为(xk)max,(yk)max,(θk)max

即(xk)max,(yk)max,(θk)max为每次搜索目标函数极值的最优极值解;

且有:

t为从1开始的迭代次数,到刚好满足条件或者达到迭代上限次数时停止迭代,即实际迭代了tk次。将公式(11)代入公式12,得到此时电子元器件的引脚位置为:

S35、依照上述步骤搜索K次极大值后,把得到的这K个极大值Lk(x,y,θ)按照从大到小进行降序排列:L1max(x,y,θ),L2max(x,y,θ),...,LKmax(x,y,θ),即极值为:Lkmax(x,y,θ),k=1,2,...K,分别所对应的变量为[(xk)max,(yk)max,(θk)max],(k=1,2,3,...,K);对应的电子元器件引脚相应的位置坐标:[(Xpi")kmax,(Ypi")kmax],(k=1,2,3,...,K),即此时找到了该电子元器件所有引脚插入PCB板孔的位置坐标。

S4、根据上述第一优化目标函数的极大值检验是否存在电子元器件的引脚超出PCB板孔,若存在,则执行步骤S5,若不存在,结束定位优化。具体地,需要对上述步骤S3得出的位置坐标进行检验,检验第一优化目标函数对应的变量是否使得有电子元器件的引脚超出PCB板孔。

S41、定义如下参数:

电子元器件的轮廓,这里可以用一个最小外接圆来代替,所以电子元器件引脚外接圆的半径:rp1,rp2,...,rpN

PCB板孔半径:R1,R2,...,RN

电子元器件任意一个引脚边缘与PCB板孔内侧边缘的距离为Di,结合公式(3)计算得到Di的值:

Di=Ri-rpi-di;(i=1,2,3,...,N) (13)

将第一优化目标函数进行K次极值搜索后获得的K个极大值所对应的变量[(xk)max,(yk)max,(θk)max]代入上式可得如下公式:

Dikmax=Ri-rpi-dikmax;(i=1,2,3,...,N;k=1,2,3,...,K) (14)

这里dikmax的计算公式如下:

S42、依次对k=1,2,3,...,K判断Dikmax,对于给定的k,通过比较所有的Dikmax是否大于零来判断引脚是否出界,这里就存在以下几种情况:

若所有的i=1,2,3,...,N都有Dikmax>0,则停止检验,并且有kmax对应的[(xk)max,(yk)max,(θk)max]为最优解,即具有未出界的极值点,不必进一步优化。

若对于所有的k,都存在至少一个i,使得Dikmax<0,则说明该电子元器件某一个引脚位置超出PCB板孔了,需要对该电子元器件定义新的目标函数进行优化处理,即转入执行步骤S5。

这里可以理解的是,从理论上来看当Dikmax>0时,是一定可以让电子元器件的引脚都能顺利查到PCB孔位里的,但是因为实际生产中,需做到Dikmax数值大于0且越大越好,这样在理论上来说就位置更安全,在采集电子元器件引脚的位置信息坐标的时候,采集的只是引脚裸露的下表面底面的截面情况,那么引脚在生产的过程当中有很多并不是绝对的垂直,这样也就是说在引脚的中间截面部位的位置信息坐标已经和底面的截面情况不一样了,所以Dikmax的数值越大,越有利于实际生产,也可以避免机械不准确等很多外界因素产生的干扰误差。

S5、利用径向基算法定义第二优化目标函数。在该步骤中,主要是对于上述中若该电子元器件有引脚超出的PCB板孔时进行进一步的优化,具体地,包括如下子步骤:

S51、构造基于径基向基函数Φ(i)',计算公式如下:

式中Di即为公式(13)中的Di,此函数在阶跃点处不连续。

S52、构造第二优化目标函数J(x,y,θ):

根据公式(15)(16)可知当全部的Di>0时,有J(x,y,θ)<N;当存在任意的一个Di<0,则有J(x,y,θ)>N。

S6、利用梯度下降法对该第二优化目标函数搜索极值K次以获取K个极小值。需要说明的是,这里的搜索次数与步骤S31中的搜索次数可以相同也可以不同,在该步骤中仍然是对第二优化目标函数搜索极值K次为例,且每搜索一次极值相对应的随机选取一个任意的初始值。

通过迭代搜索每一次优化目标函数的极小值,在这里每次搜索时的迭代步骤与上述步骤S32相同,只是这里可以用来替代▽xL,用来替代▽yL,用来替代▽θL,即用泰勒(Taylor)级数的一阶展开,并得到K个目标函数,不同的是,该步骤中是利用梯度下降法计算下一次迭代的数据,即将公式(9)由下式公式代替;

其余均与步骤S31-步骤S35相同,在此不再赘述。最终获得K个目标函数按从小到大升序排列:J1min(x,y,θ),J2min(x,y,θ),…,JKmin(x,y,θ),分别所对应的变量为[(xk)min,(yk)min,(θk)min],(k=1,2,3,...,K)。

S7、根据上述K个极小值检验该电子元器件的引脚能否插入PCB板孔中,结束定位。

具体地,若对于上述的每一个Jkmin(x,y,θ),k=1,2,...K依次判断是否有公式Jkmin(x,y,θ)<N,若有则说明[(xk)min,(yk)min,(θk)min]能够使得电子元器件的引脚都能顺利插入到孔位中,而且此时的位置是比较安全的,[(xk)min,(yk)min,(θk)min]即为最优解。反之,若对于所有的k,均有Jkmin(x,y,θ)>N,则引脚出界,说明这个电子元器件无法插入到PCB板孔中。

为了更好说明本发明工作原理,同时为了能方便的阐述,下面以一个简单的实例进行说明,具体地,以具有四个引脚的一个电子元器件为例,如图2所示,其优化的步骤如下:

首先获得被抓取的电子元器件的引脚的个数:N=4;针脚的初始位置如下:(101,102),(201,101),(102,201),(201,201);通过视觉检测确定PCB板孔的初始位置信息如下:(100,100),(200,100),(100,200),(200,200)。电子元器件引脚半径:rp1=rp2=rp3=rp4=5,PCB板孔半径:R1=R2=R3=R4=10。

为了简化计算和便于直观绘图,这里只考虑只有两个变量x,y的变化的情况。所以目标函数因变量为:x,y。

求取Di表示电子元器件任意一个引脚边缘与PCB板孔内侧边缘的距离,可以公式(13)计算得到Di的值:

当在初始位置的时候(即公式(2)中电子元器件的水平方向的平移变量x为零;电子元器件竖直方向的平移变量y为零)。四个引脚边缘与PCB板的针孔边缘的距离分别是:

D1=2.7639;D2=3.5858;D3=2.7639;D4=3.5858

之后继续根据公式(4)构造基于径基向基(RBF)函数:

其中α=1。

根据公式(5)计算第一优化目标函数L(x,y),第一优化目标函数的解析值如图3所示。

L(x,y)=Φ(1)+Φ(2)+Φ(3)+Φ(4);

利用梯度上升法来搜索目标函数的极大值,这里只搜索极值1次,其基本步骤如下:

给定一个任意的初始值:(2.8,2.8);

求解目标函数的L(x,y)的各个变量的偏导;

根据公式上述的(6),(7),(8),(9)算下一次迭代的数据:

依照上述步骤不断迭代,每次迭代的坐标变换如图3,L(x,y)目标函数的值的变化如图4和图5所示,当满足以下公式即可停止迭代:

同时考虑到迭代次数上限T次,所以实际迭代次数tk=min(ts,T)。即根据上述步骤S31至步骤S35,仅搜索一次该目标函数的极大值,获取对应的变量为[(x1)max,(y1)max]。

检查[(x1)max,(y1)max]是否使得电子元器件的引脚超出PCB板孔,通过计算经平移[(x1)max,(y1)max]后得到新的距离值如下:

D1'=4.1538;D2'=4.7583;D3'=4.1531;D4'=4.7583

从中可以看出,D值获得了不同程度增大,则说明通过优化后,电子元器件的引脚距离孔边缘更远了,距离孔的中心更近了,这样可以使得电子元器件的引脚与PCB板针孔的插入更加安全,更好的保护针脚和PCB板。

综上所述,本发明利用径向基算法构建第一优化目标函数,并通过梯度上升搜索算法,来获得电子元器件的引脚与PCB板孔配对对准的最优值,并检验获得的配准位置是否使得电子元器件的引脚超出PCB板孔。此外,若电子元器件的引脚有超出PCB板孔,则再利用径向基算法构建第二优化目标函数,同时通过使用梯度下降搜索算法来获得最安全的配准位置。

通过以上算法解决了以往由于机械手臂抓取时电子元器件引脚不共面的位置误差、运动过程中振动误差以及电子元器件引脚本身歪曲误差而导致电子元器件引脚与PCB板孔在插件过程中发生刮碰,从而损伤PCB板以及电子元器件,而且需要重新抓取电子元器件再插件而影响生产效率,导致成本大大上升的同时也造成很多不必要的浪费等这一系列问题。从而实现可以快速判定电子元器件的引脚和PCB板孔的位置对准,提高了电子元器件的利用率。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1