黄 波 赵 飞 王 佳 何庆中 王宇峰
(四川轻化工大学机械工程学院,四川 宜宾 644000)
随着自动化行业的不断发展,人力成本不断上升,劳动力短缺现象日益严重,在社会生产的各个领域,工业机器人都显示出强大的功能。装配作为生产制造过程中最后一个极其重要的环节,具有可重复、占时比大等特点。工业机器人在装配中具有高速度、高精度、小型化等优势,采用机器人装配可解决企业生产制造人员流动带来的影响,并可以提高企业产品质量一致性、扩大产能、减少材料浪费和增加产出率,同时对于推动工业产业升级,提高市场竞争力具有重要作用。但是目前普遍使用的工业机器人装配大都存在自动化、智能化程度低,柔性差,高精度装配达不到要求的缺点。对此,利用机器视觉技术、机器人技术、数字图像处理以及自动化控制技术等集成,实现目标的自动化装配过程[1-2]。
此设计装配对象为YB100摩托车用转子式机油泵,其尺寸为 64 mm × 8 mm,由泵体、内转子、外转子、泵盖和驱动轴等组成,结构紧凑,体积小,在内燃机上运用越来越多,如图1所示。
图1 YB100 机油泵主要结构组成
YB100机油泵的装配流程与要求为:(1)销轴插入泵体,压入内转子,让轴与内转子能够流畅配合,与此同时内转子与销轴在配合时轴的扭矩和内转子的扭矩要一致,且零件装配角度偏差 ≤ 0.2°。(2)压入外转子,由于外转子与内转子是偏心设计,需要一定的角度装配才能啮合,最后安装泵体盖,拧紧3个M5固定螺栓,其扭紧力矩在3~5 N·m。
根据装配流程与要求,设计装配平台。此次设计平台由1台四自由度SCARA机械手,2台三自由度机械手,1台二自由度机械手,1个旋转平台以及CCD相机组成,全自动装配流程如图2所示。
图2 装配流程图
首先四轴机械手抓取目标零件,上料至旋转平台,传感器检测,工业相机拍摄图像,经过机器视觉系统识别处理,将零件的角度偏差值与旋转平台反馈处理,进行修正,再将装配位姿角度达到理想状态后进行抓取装配[3]。
基于以上装配流程以及工艺要求,采用Solid Works软件对自动装配平台进行三维建模,并对装配虚拟仿真,以及设计结构对装配流程合理性分析[4]。如图3所示。
图3 自动装配平台设计方案
其中包括四自由度SCARA机械手(AR4215),三自由度机械手(松下A5),二自由度机械手(松下A5),迈德威视MV-GED500C-T工业相机,旋转平台1台,欧姆龙可编程控制器CJ2M1台、3台4轴运动控制模块CJ1W-NC413等。
视觉系统是整个系统的核心部分,在确保目标零件能够满足要求的情况下,选用Eye-to-Hand系统,将工业相机固定于工作台上[5]。自动化装配中视觉系统主要可分为3个主要部分:(1)工业相机与相机部分,主要负责目标零件的图像采集。(2)PC端与机器视觉软件模块,负责对采集的图像进行处理分析。(3)旋转平台以及二轴机械手修正模块,负责对零件姿态角度偏差进行修正[6]。相机系统如图4所示。
图4 视觉系统
在采集图像过程中,会出现拍摄零件出现畸变现象,视觉系统首先应完成相机标定,根据标定要求与便捷,采用Halcon软件对相机进行标定,利用Halcon软件库里的算子gen_caltab生成标定图。再将相机初始参数输入Halcon标定助手中,通过加载标定板(15~30幅),生成内参数据[7]。具体标定流程如图5所示。
图5 相机标定流程
得出内参数据如表1所示。
表1 相机标定内参数据
整个控制系统中,主要通过欧姆龙CJ2M型号PLC控制自动化装配平台,其中SCARA机器人自带输出输入口进行开关量的输出与输入,机器视觉系统将采集后的图像传输至PC端进行特征提取,再通过RS232串口将处理后信息发给PLC,最后PLC进行各部分机构动作控制。控制系统框架图如图6所示。整个软件控制系统可以分为表示层、功能层、控制层与远程服务层。各层之间相互联系,在RS232等串口连接下共同控制自动化装配平台[8]。
图6 系统软件架构图
完整且成熟的控制系统应该具有的功能为:(1)标定工业相机内参/外参。(2)实时对目标零件图像进行显示与采集。(3)对采集的图像进行高效、精准的识别以及图像增强等预处理。(4)数据处理,能够在识别到的图像中进行有效信息提取与显示。(5)能够对图像具有的特征进行选择与分类处理。(6)保存采集所得到的参数等,通过通讯要求与上位机/PLC进行实时通讯。(7)实现人机交互,通过人机交互界面,能够在PC端对整个自动化装配平台进行操作与监控[9-10]。
在三维建模的虚拟验证下,整个设计平台能够完成装配工序,其主要可以分为SCARA关节机器人系统、直角坐标系机器人系统、视觉处理系统与上位机控制系统,实物图如图7所示。
图7 装配平台
根据装配要求与各模块化功能要求,利用Visual Studio与Halcon联合编译[11],设计出可进行人机交互的软件界面,如图8所示。该界面简洁,功能齐全,具有相机操作功能,例如打开相机、关闭相机等;具有观测窗口,能实时对装配进行查看与监测;PLC通讯参数配置齐全,能够选择运行状态与通讯状态设置;可对模板进行选择设置与生成。对于图像采集,使用以Halcon视觉库为基础的图像采集,运用厂家提供的SDK开发包进行实时图像采集,采集的图像如图9所示。此方式具有面向面更广,能够更好地进行二次开发,功能多,便捷等特点。
图8 人机交互界面
图9 图像采集图片
在自动化装配系统中,根据装配要求,YB100型机油泵零件装配顺序依次为:泵体、销轴、内转子、外转子、盖板和螺栓。运动路径图如图10所示。
图10 自动化装配运动路径图
通过示教器AR语言编写SCARA机械手运动控制程序,按照一定的速度与角度从A点移动到B点对输送带上C点的目标零件进行抓取,SCARA机械手末端装有夹爪气缸,实现气动抓取。抓取完成后,旋转机械手至位置D,将零件放置等待好的旋转工作台上,二轴机械手直线移动工作台至F点,传感器检测到目标已达预定地点,工业相机进行图像采集,采集到的图像经过传输到PC端,通过采集图像与预设定模板图像比对,根据几何中心点得出定位偏差与姿态角度偏差,再将信息传输至PLC进行运动控制,控制二轴机械手与旋转平台进行位置与角度的修正。修正完成再次进行采集,二次采集,进一步对零件位姿进行反馈。在“合格”后,二轴机械手运动至G点,线性机械手配合夹爪气缸对零件进行夹取,放置于K点,这就完成了一次零件装配,按照装配顺序,依次对泵体、销轴等进行装配,直至整个装配完成。图11为零件上料抓取图,图12为零件抓取到旋转平台。
图11 零件上料图
图12 抓取至旋转平台
完成上料工序后,通过二轴机械手将旋转平台移动至采集位置,按照预设置的拍摄频率进行图像采集。采集的图像经过Halcon软件库内部的高斯混合模型等算法进行零件特征分类。其中,高斯混合模型算法是由K个单高斯模型子分部组合的混合分部。当样本数据X是一维数据时,样本数据高斯分部的概率密度函数分部可表示为
其中: μ为样本数据的均值, σ为样本数据的标准差。
当数据为多维度时,高斯分布可以表示为
其中:D表示样本数据维度,为协方差。
由于单个高斯模型只能解决线性问题,当遇到线性不可分问题时,可引入高斯混合模型解决非线性问题。而在高斯混合模型中,定义的K个子模型是混合模型的隐变量,以便适用于任何概率分布问题的求解。
高斯混合模型可以表示为
混合模型的概率分布是由K个高斯子模型分布的组合,且每个高斯子模型分布都对应有各自的均值、方差以及权重。为了保证概率密度的合理性,高斯子模型分布的权重和必须为1。
选用HALCON软件中的图像处理高斯混合模型分类器函数对图像零件进行分类。创建分类器→获取各个特征的特征向量→将训练样本的特征向量添加到分类器中→训练分类器。进行分类时,计算采集图像的特征向量,通过分类器计算出特征向量的类,从而完成图像分类工作。
采用基于灰度的NCC模板匹配对零件的位姿定位,NCC是一种基于统计学计算两组样本数据相关性算法,利用覆盖的区域子图灰度与模板图的灰度相比较,通过归一化相关度量公式计算二者间的匹配程度,取值范围为[-1,1]。数字图像可以等效成一个矩阵,对图像的处理也就是对矩阵的处理。在进行图像匹配时如果模板图像中有一个子集和模板数据非常相似,此时匹配算法得到的NCC值会非常接近 1,代表此时匹配的相关性很高。相反,如果匹配的NCC值接近-1则代表完全不相关。对数字图像进行NCC模板匹配识别算法的首先就是要对数据进行归一化处理,归一化数学公式为
式中:f表示像素点P的灰度值; μ表示窗口内所有像素平均值; σ表示标准方差。
假设t(x,y)表示模板像素值,则完整的NCC公式为
式中:n表示模板的像素总数;n-1表示自由度。
在进行实际的模板匹配时,将模板在目标图像上下、左右移动。每次模板移动1个像素后就计算1次窗口内像素与模板的NCC值,将计算出的值与设定的阈值作比较,筛选出大于阈值的图像。得到匹配后的位置信息、角度范围等信息后,建立仿射变换矩阵以及旋转矩阵,将模板骨架通过仿射变换显示在图像中。由于模板匹配可以快速的进行定位,且精度较高。因此,选用NCC模板匹配的方法来实现目标零件位姿的定位[12]。
最后与事先训练库里的零件模板位姿进行匹配,得出零件的位置和角度偏差,进行匹配。图13为零件采集图。
图13 零件采集图
位姿调整完成后,将旋转平台移动至抓取点进行抓取,最后将零件装配至预设工位后,准备下一个零件的抓取,如图14所示。
图14 零件抓取
由于设备精度、图像处理方式等影响,装配重复定位会存在一定误差,这会导致装配不稳定,甚至会造成装配失败。因此需要对采集图像的位置坐标进行重复误差分析。误差分析过程以SCARA机械手自带的示教器中的坐标为标准,选用外转子为对象,通过SCARA机械手抓取零件至图像采集点进行采集,通过图像处理后,读取零件起始中心位置坐标和采集图像处坐标。
根据多组重复实验数据,可按照式(6)计算上述重复性实验标准差[13]。
式中:Pi为第i次测试的数据;u(p)为重复性测试误差。
在同一个零件上重复自动测试位置坐标10次,分别读取该零件的不同次数测量的位置坐标,分析得到外转子零件的重复定位误差,如表2所示。
表2 外转子零件的重复性实验
根据式(6)与表2可以计算出:u(p)X1= 0.014 mm;u(p)Y1= 0.010 mm;u(p)X2= 0.012 mm;u(p)Y2=0.013 mm。根据重复性测试误差计算可得出,自动化装配的重复定位精度0.02 mm,满足装配精度要求。
判断一台设备是否可用于工厂运用,效率是一个很重要的指标,此自动化装配需要对定位时间进行统计,其中的定位时间包括图像采集和图像处理,当视觉采集硬件确定后,主要时间消耗取决于视觉算法,分类算法以及匹配时间都会影响零件装配效率[14-15]。测试定位时间选用YB100中的4个零件分别进行10次拍摄,从拍摄到零件定位(位置、角度)结束所用的时间,采用最小均方根平方分析法,得出每种测试零件的定位时间,如表3所示。
表3 测试零件定位时间
本文围绕基于机器视觉机油泵自动装配系统展开研究,以YB100型机油泵为研究对象,针对目前存在的传统人工装配存在的装配效率低,劳动强度大以及半自动化装配存在柔性低等问题,设计全自动化装配。本次设计利用现有的成熟技术,采用创新的方式,将视觉与控制相结合,提高了自动化与智能化。经过实验分析可得,通过对两个点的10次重复定位,自动化装配的重复定位精度为0.02 mm,且根据测试4种不同零件定位时间可得出各个零件在500 ms以内,满足机油泵自动化装配在精度与效率上的要求。