, ,
(石家庄铁道大学 机械工程学院,河北 石家庄 050043)
普通冲床落料工艺主要是通过人工操作冲床得到落料件。随着国内人力成本不断提高和生产制造自动化的发展趋势,人工落料体现出很多不足,如劳动强度大、人工成本高、定位不准确、生产效率低、板料利用率低等[1]。同时,如果能够将板料加工企业在生产过程中产生的大量不规则板料进行二次利用,将极大地提高板料的利用率,降低企业成本,提高经济效益。
随着机器视觉技术的不断发展,机器视觉在机械制造业领域中的应用越来越广泛。文献[2]进行了智能化上料系统中工件视觉定位的研究,解决工业生产线生产效率不高,人工成本过大问题;文献[3]进行了基于机器视觉的焊缝追踪技术的应用研究,实现焊缝自动跟踪,达到实时和精确,保证了焊接质量。文献[4]提出了基于机器视觉的机械产品装配系统在线作业方法并应用于某型号变速箱阀体装配工艺中。而机器视觉在冲床应用方面相对少见报道,为实现冲床的自动化布料和落料,提出了实现冲床自动化的机器视觉系统,研究了机器视觉系统中图像采集、图像处理和系统控制等,并对图像处理中布料算法进行了重点阐述。
机器视觉系统主要包括工业相机、工业镜头、照明光源、图像采集卡,图像处理软件等。图1为实现冲床自动化改造的机器视觉系统整体示意图,该系统从结构上划分主要组成为机器视觉部分、系统控制部分和机械结构3大部分;从功能上划分包括:图像采集与图像处理功能模块、控制功能模块和机械运动功能模块。图2为功能实现流程图,启动设备后对设备进行调试,根据落料的直径和布料间隙设定系统参数,从送料口入料,当板料随辊子移动设定距离时,视觉系统完成图像采集,并传输到工控机中;控制程序进行图像处理,实现自动布料并得到布料位置坐标和布料位置数量;根据布料参数,控制程序对其进行处理,调用运动控制卡控制函数,运动控制卡发生动作,控制两台伺服电机转动,送料平台将板料送到实际落料位置后工控机再次调用运动控制卡控制函数,运动控制卡控制冲床动作实现落料。
图1 系统整体示意图
图2 功能实现流程图
图3 图像采集装置侧视图
图像采集和处理模块主要包括工业摄像机、照明光源和工控计算机及机器视觉相关软件等。图3和图4分别为图像采集装置的侧视图和俯视图,其中工业相机选用普通黑白CCD工业相机并选配合适焦距的手动调焦镜头,光源照明采用背光照明方式,工控机选用Windows系统,选择Halcon机器视觉软件完成自动布料算法的开发。图5为图像采集和处理流程图,图像采集和处理实现过程为:根据所要加工出零件的尺寸参数和加工工艺,辊子带动板料移动一定距离时触发相机拍摄图像,对图像进行矫正后提取参考物两交点对角线所在区域图像,即图4中虚线框区域的背光区域图像;获取背光区域后,对其进行全局阈值分割,分离出板料所在区域,然后通过一定的算法进行布料,筛选出能够获得完整零件的布料位置,获取位置参数后,程序控制模块根据位置参数控制平台和冲头的运动实现落料。
图4 图像采集装置俯视图
图5 图像采集和处理流程图
首先在Halcon的Hdevelop开发环境中开发和调试机器视觉算法;然后将调试好的算法导出高级语言的程序,如C++、VB等;最后将导出的机器视觉程序和运动控制卡落料控制程序集成在同一软件中,实现自动布料和落料控制等全部功能。
搭建好视觉平台,并对设备进行调试;打开摄像机用传统标定方法对摄像机进行标定[5]。摄像机拍摄图像后对图像使用map_image等算子进行畸变校正;利用get_mbutton算子对矫正图像进行操作,获取光源面板对角处两个参考物的角点的坐标,使用crop_domain_rel算子截取背光区域图像ImagePart,如图6所示。
图像分割[6]是指按照一定标准,将图像空间换分成若干个互不重叠的区域。为便于后续布料算法的特征提取,对背光区域图像应用图像分割分离出板料存在区域。图像分割中阈值分割是从图像中提取物体形状的基本方法,阈值分割的操作定义为[7]
S+{(r,c)}∈R|gmin≤fr,c≤gmax
阈值分割将图像R内灰度值处于某一指定灰度值范围内全部点选到输出区域S中。阈值分割是基于灰度值自身的,所以只要被分割的物体和背景存在非常显著的灰度差时都能使用阈值分割。如果光照保持恒定,阈值在系统设置时被选定且永远不用被调节。分析截取的背光区域图像ImagePart,背光区域被板料遮挡,区域灰度值较低,而未被板料遮挡的区域灰度值较高,二者的灰度值差异明显,符合阈值分割的条件,因此使用全局阈值分割算子threshold进行图像分割,对矫正后的图像中对象和背景进行分离,转换为二值图像,如图7所示。图像分割后提取出图像中板料存在区域只有转化为图像才能进行布料,使用region_to_bin算子将分割后的区域连接起来并转化为图像。
图6 背光区域图像ImagePart
图7 阈值分割图像
图8 筛选前板料布料图像
图9 布料算法对比图
以圆形落料件布料为例,对分割图像应用自动布料算法。自动布料的实现首先是进行单个布料,然后通过循环语句实现多次布料的过程达到重复布料。首先通过gen_circle算子生成单个落料等直径大小的圆形区域,然后对region_to_bin算子输出的图像进行操作,使用overpaint_region算子将生成的圆形区域以region_to_bin算子输出的图像中背光区相同灰度值绘制到region_to_bin算子输出的图像中,得到单个圆布料后的图像,通过循环语句多次实现上述过程得到筛选前板料布料图像,如图8所示。
实现自动布料的同时,进行了布料算法的优化。图9为两种布料方式的对比图像。由图所示,R为布料半径,M为布料间隙,两种算法相邻圆心的距离均为2R+M,第一种布料方式是矩形布料算法,相邻布料的圆心连心线呈矩形样式,算法实现是每行从左到右等距离依次进行单个布料,当第一行布满之后,由控制语句控制第二行开始布料,重复第一行布料,通过逐行扫描的形式,布料圆布满整个板料图像,完成布料;第二种布料方式是等边三角形布料算法,相邻布料的圆心连心线呈等边三角形样式,与矩形布料算法相比,单行布料方法相同,均是从左向右依次等距离排布布料圆,不过每行行距L发生改变,行距L由公式(1)确定,算法实现是判断语句首先判断排列行数,当判断为奇数行时按照矩形算法排布布料圆,当判断是偶数行时,所有布料圆心向右移动R+M/2距离,按照从左到右等距离依次进行单个布料,直到达到指定数量,布满整行,重复上述过程对下一行进行布料。
L=sqrt(2/3)×(2R+M)
(1)
矩形布料算法简单,但布料区域围成的区域较大,板料利用率没有达到最优;等边三角形布料算法相对复杂,运算量和运算时间有一定的增加,相对于前一种布料算法板料利用率有较大提升,利用率提高了将近8%。
图10 筛选后板料布料图像
对布料后的结果进行分析,发现板料所布位置在边界处可能存在不完整的布料,需要筛选出能够实现完整落料位置的布料区域并提取出相应的位置坐标;与此同时发现能够实现完整落料的位置,都是等直径并完整的圆形轮廓区域并且面积相等,因此可以使用区域的等面积属性,剔除不想要的落料位置,筛选出完整落料区域,该过程的实现本质上是区域特征提取过程。首先使用fast_threshold算子对图像再次分割,分割之后求得布料后板料的区域,使用complement算子求取图像域中的补集,这样就可以得到未筛选的布料区域和背光区域,剔除的布料区域和背光区域相连通并且远大于要筛选出的等面积的布料区域,使用select_ shape求取等面积的布料区域,筛选出完整的圆形落料,图10为在板料上通过求取图像域中的补集后进行基于形状属性的等面积筛选的结果,其中板料上完整的圆形中心位置即为布料位置,通过count_obj和area_center算子求得板料需要布料位置的个数与布料的位置坐标。
图11 控制流程
图像处理的目的就是对板料进行布料并获取布料位置,而系统控制是通过基于 PC的运动控制卡对送料平台和普通冲床进行控制,完成自动落料的工艺,得到所要零件,真正实现普通冲床自动化。
控制系统的组成:主要包括工控机及控制软件、基于PC的运动控制卡、伺服电机及伺服控制器和冲床等。图11为落料控制实现过程流程图,得到了布料位置,工控机控制运动伺服平台将板料送到算法指定位置,配合冲床动作实现落料工艺。
提出了冲床自动化布-落料的机器视觉系统的实现方法,对机器视觉系统的图像采集与处理和控制模块进行了细致的研究。开发的自动布料算法不仅能够实现对规则板料的布料,而且同样适用于不规则板料,从而很大程度提高了系统的柔性和自动化程度;同时还对布料算法进行了优化,优化后板料的利用率提升了将近8%。基于机器视觉的冲床自动化布料和落料的实现方法同样对其它视觉系统的开发提供参考,具有良好的可移植性。
参 考 文 献
[1]房超. 机器视觉及其在工业检测中的应用[J]. 自动化博览,2007(4):46-48.
[2]郭斌,朱戈,陆艺,等. 智能化上料系统中工件视觉定位的研究[J]. 计算机测量与控制,2016,24(2):232-234+238.
[3]潘东,王琪,潘旭红. 基于机器视觉的焊接跟踪技术的应用研究[J]. 机械制造,2011,49(11):13-16.
[4]刘明周,马靖,张淼,等. 基于机器视觉的机械产品装配系统在线作业方法[J]. 计算机集成制造系统,2015,21(9):2343-2353.
[5]罗珍茜,薛雷,孙峰杰,等. 基于HALCON的摄像机标定[J]. 电视技术,2010,3(4):100-102.
[6]白福忠.视觉测量技术基础[M].北京:电子工业出版社,2013.
[7]斯蒂格,尤里奇,威德曼.机器视觉算法和应用[M].北京:清华大学出版社,2008.