姜利
(江苏省常州技师学院,江苏 常州 213032)
光伏组件是由单片太阳能电池串焊而成的。在自动串焊过程中,电池片的上料受到外界环境的影响,如电池片在盒中的摆放误差、气动吸装头在吸取电池片时产生的位移误差,传送装置的安装误差等,会引起焊带中心线与电池片主栅线之间的位置误差,从而在焊接时产生过大的露白,因此电池片的位置校正是保证光伏组件串焊质量的关键。机器视觉具有非接触、速度快、精度高等优点,被应用于太阳能电池片的位置误差和缺陷检测。目前很多关于电池片位置误差检测的算法,多是基于电池片轮廓定位的,存在位置检测误差较大的问题[1-2]。例如,霍夫变换能表征电池片位置信息的特征直线,可以在特征直线中检测出最长直线来确定转角和位置中心,但需计算该直线上像素点的个数,降低了实时性,且因拟合直线相互独立的问题,尤其对主栅线和外轮廓线等长的多晶硅电池片就显得无能为力[3]。因此,要立足太阳能电池片的栅线特征设计程序、搭建平台,构建一种更高精度、更快速的视觉检测系统。
为了完成太阳能电池片定位误差检测的高速、高精度需求,设计的总体方案如下:采用工业相机采集电池片的图像,使用开发周期短、面向对象的C语言编程进行界面设计。当系统开始运行时,控制模块发送触发信号,光源打开,相机获取图像传输至计算机内存,接着计算机通过视觉处理算法对获取的图像进行边缘提取等操作,计算出电池片位置误差和倾角偏差,并把计算结果传输至检测平台以便进行位置校正,其视觉检测总体结构图如图1所示。
图1 电池片视觉检测系统的总体结构图
由图1可知,该检测系统主要包括检测平台、图像采集模块、图像处理模块等。其中,检测平台是电池片的放置区域,是整个视觉系统的图像采集区域,同时根据检测结果完成电池片的位置纠正。图像采集模块主要包括工业相机、镜头、光源,负责相机、光源的初始化以及相机帧率、相机曝光值、相机触发模式等参数的设置,通过相机SDK函数获取图像后,导入图像处理模块,并建立高效的图像存取机制,减少不必要的内存占用,提高软件效率。图像处理模块是视觉系统的核心,集中了检测系统最重要的功能视觉测量与定位偏差计算,包含对原始图像的阈值分割、轮廓提取、边界跟踪、栅线拟合等检测算法,最终实现对电池串外形尺寸及尺寸偏差等特征参数的检测。根据总体设计方案可知,镜头是光伏电池片位置误差检测系统的关键元件,是整个系统正常运行的前提,主要负责太阳能电池片的图像采集任务。
镜头的主要功能就是实现光束的调制,在机器视觉检测系统中,镜头就是用来把目标成像在图像传感器的光敏元件上。镜头的选取以及安装是否合适直接影响到机器视觉检测系统的性能。它与工业相机匹配共同完成物体的成像工作,因此镜头的选择除了和镜头本身的焦距、视场、工作距离、景深有关之外,还要考虑到与工业相机的接口以及规格的匹配问题[4]。
镜头的焦距是镜头选型中的关键参数,焦距表示光学系统汇聚或者发散光线的能力,通常焦距小的镜头,视角比较宽,景深较大[5]。按照薄透镜的基本成像原理,镜头的焦距与物体的大小、成像大小以及工作距离定义的关系,可用公式f=L×w/W来表示。式中f表示镜头的焦距;L表示镜头的工作距离;w表示物体的成像宽度;W表示视场的宽度。由工业相机的选型可知,摄像机的成像尺寸约为5.8mm×4.3mm,视场的宽度约为180mm,则根据公式在工作距离为300mm时焦距为9.66mm。
综上计算与分析,选择日本Computar定焦镜头MP2系列的M1214-MP2(图2),该镜头的焦距为12mm,具有手动光圈以及光圈和焦点锁定螺母;靶面为1.7cm(2/3英寸),在整个屏幕内都具有较高的对比度和清晰度;采用C接口连接,满足已选工业相机的要求。
图2 M1214-MP2镜头
为了检测系统进行图像算法实验,设计了系统实验平台如图3所示。主体采用工业铝型材,通过与型材沟槽相匹配的型材滑块可实现相机镜头、条形LED光源的位置调整,光源角度调整机构可以改变打光角度,待调整完毕后通过螺母将其锁紧。利用此实验平台可以对晶硅太阳能电池片进行图像测量、位置误差计算等实验。
图3 电池片视觉检测系统的硬件平台
电池片位置误差视觉检测系统主要包括图像采集模块和图像处理模块,其中电池片图像处理模块完成电池片外形尺寸、位置偏差的计算。图像采集模块采用工业相机自带的视觉图像采集软件实现电池片图像的获取,工业相机与计算机的接口为GigE,用网线直接将工业相机与计算机连接在一起。图像处理模块是视觉检测系统软件的核心部分,主要包括阈值分割、特征提取、边界跟踪、直线拟合与位置误差计算等。太阳能电池片的主栅线是电池片串焊接的位置,其位置偏差的检测直接影响到焊接的质量。因此使用边缘及主栅线平均对位的定位方法,对电池片进行位置误差计算是最优选择。基于边缘及主栅线平均对位算法的主要思想是将电池片的边缘轮廓以及左、右两条主栅线的轮廓分别存放在3个动态数组中,然后将这些点划分到各个边上,再使用最小二乘法对这些点进行拟合,以保证主栅线对应的4条直线相互平行,并与电池片的上、下两边垂直;最后利用这6条直线方程求出它们的交点坐标,则交点坐标的平均值就是要求的电池片中心位置,利用主栅线所对应4条直线的斜率可以确定电池片的偏角,其设计流程如图4所示。
图4 电池片位置误差检测流程图
对原始图像(m,n)进行滤波处理并选用最小误差法进行阈值分割,然后在Roberts算子进行边缘检测,最后通过轮廓跟踪的算法获取了电池片的边缘轮廓点集Ωw以及左、右两条主栅线的轮廓分别记为点集Ωs1、Ωs2。
根据Ωw、Ωs1、Ωs2点集内点的坐标平均值初步计算电池片中心点坐标P(xp,yp),扫描点集Ωs1、Ωs2找出距离P点最近的点记为F。根据P、F两点坐标计算出直线PF的方程;再次扫描点集Ωs1、Ωs2,找出距离直线PF最近的4个点,设定为E(xE,yE)、F(xF,yF)、G(xG,yG)、H(xH,yH);由于主栅线对应的4条直线L1、L2、L3、L4与直线PF垂直。因此可以根据直线PF的斜率以及点E、F、G、H的坐标分别计算出这4条直线L1、L2、L3、L4的方程,如图5所示。
图5 粗定位示意图
根据直线L1、L2、L3、L4的直线方程提取属于每条边的子点集,设定距离阈值D,计算点集Ωs1、Ωs2中每个点到这4条直线的距离d;如果d 对上步获取的点集Ωi(i=1,2,3,4,6,8),采用推广的矩形最小二乘法进行边缘拟合[6]。根据矩形相邻两边斜率为互倒数、对边斜率相等的关系设拟合方程为 利用以上的算法,在MFC软件平台上设定了平行线以及矩形综合拟合检测功能按钮,并用C语言编程实现。该算法的拟合直线如图6所示,位置检测偏差x=-25.03、y=-16.69,倾角偏差θ=0.39,检测算法的总耗时为47ms。 图6 电池片位置误差检测界面 通过图像预处理、粗定位、边缘分割、精定位等步骤,利用基于电池片边缘和主栅线平均定位的位置误差检测算法对太阳能电池片进行了定位误差的分析与计算。实验结果表明:利用推广的最小二乘法实现矩形拟合,保证了电池片栅线之间平行与上、下轮廓线垂直的特性,更精确地表达了电池片的位置误差;该算法不但精度高,而且实时性较好,能够很好地满足电池片串焊机高速、高精度的要求。3.4 直线拟合
4 算法实现与结果分析
5 结语