摘 要:本文介绍了基于机器视觉的轮廓零件自动定位寻位加工方法。该研究在可视化操作平台上,采用松弛复原图像,边缘特征抽取算法,可对任意定位的轮廓零件自动生成数控加工程序。仿真试验表明,该研究能满足无夹具数控加工的要求。
关键字:机器视觉,边缘特征,加工轨迹,松弛复原,轮廓零件
1 引言
发达工业国家已将柔性制造系统(FMS)作为机械制造业的主要发展方向,而组合夹具是该领域的前沿研究课题之一[1]。本系统针对轮廓零件,采用机器视觉图像采集并识别轮廓,直接对任意位姿的工件生成数控加工源程序,实现了数控加工无夹具定位自动寻位加工。在Visual C++ 6.0开发平台上,该系统实现了图像采集、自寻位、源代码生成、模拟走刀全过程。该系统还可预见刀具与工件相撞、过切等问题,能进行参数自动设定、刀具研究、刀具原理数据的动态处理和显示,加工过程的可视化仿真演示。
2 系统结构
本系统通过600线WAT-902系列黑白CCD和手动光圈CS接口T2314FICS-3百万像素工业自动化镜头对工作台上任意位姿的工件进行拍摄,然后将视频模拟信号输入MV-20工业图像采集卡(该图像采集卡具有独特的视频滤波技术,高清晰度和显示速度,4通道切换高质量黑白、彩色图像),模拟信号被转化为数字信号,输入通用PC机进行图像处理,提取工件轮廓边缘特征点并以文本格式存储。
本系统能完成机器视觉系统实现对工作台上工件位姿的自动采集;结合图像处理相关算法,进行工件轮廓边缘特征信息的提取;在Visual C++应用程序的主界面上用二维平面图形模拟数控机床加工定位及走刀动画演示;按照提取的工件轮廓将设备坐标转化为数控机床所能识别的NC语言。
3 机器视觉下工件位姿采集及识别过程
机器视觉系统以计算机为中心,由视觉传感器、高速图像采集系统及具有处理图像功能的专用系统或通用PC机等模块构成,能自动获取物体图像并对其特征量进行处理、分析和测量、定性分析和定量解释,从而得到有关目标物体的某种认识并做出相应的决策。
3.1 机器视觉系统信息来源
视觉传感器(CCD)是获取机器视觉信息的主要来源。CCD表面用T2314FICS-3百万像素工业自动化镜头(手动光圈CS接口)成像,将光能转化为电压。当具有适当波长的光量子撞击装置的特定材料时,产生一个带电量子并停留在产生的区域内,在光栅扫描的水平消隐时刻,计算机从新一行的电压信号编码上获得亮度信息,光栅扫描的回扫中产生有效视频。
3.2 采样和量化过程
检测器上的电荷通过一个电阻转化成电压并放大,模拟到数字的转换器实现该信号转化成数字表示,同时执行采样和量化两个功能。由于数字图像是用光栅扫描及采样获取的,因此在时间和空间上是一一对应的,须将采样信号表示成相对于图像信号顶部垂直消隐时刻的方式,这种时间关系与屏幕上某个特定位置一一对应。量化过程将像素的灰度变换成离散的整数值的操作,量化位数与图像质量直接相关。考虑到计算机内操作的方便性,本系统采用8位量化,图像像素的灰度值在0~255之间。
3.3 图像生成机制
首先将点(x,y)处的亮度定义成两个空间变量的理想函数f(x,y),图像质量退化后得到观测图像g(x,y), g(x,y)=D(f(x,y)), 。拍摄静止的相同物体时,噪声会随时随机出现,且每一个瞬间,噪声的位置和大小都有所不同。图像噪声包括随机噪声和相干噪声。前者表现为麻点干扰,后者表现为网纹干扰。本系统为线性位移不变系统,原始图像f(x,y)和噪声图像n(x,y)都是平稳随机场,噪声n(x,y)是均值为0且和f(x,y)不相关的加性噪声。除了确定性畸变算子D外,还有加性噪声n的干扰,则线性位移不变图像退化的一般模型是一个畸变算子D与随机噪声相迭加g = D(f)+n,将f、n及g按相同间隔采样,产生相同的阵列。用像素点的集合表示定义f、n及g,写成形如[f1,f2,…,fN]T像素列向量的形式。随后得到观测图形g,对f进行最佳估计,即复原(模糊的逆问题),图像复原处理的主要目的是去除干扰和模糊,恢复图像的本来面目。选取准则函数:
(图片) 此函数是与度量有关的噪声项和与真实图像有关的先验项之和,分别取决于观测数据与未知图像。将f视为概念上的函数,在采样点之间赋值,通过插值求解f。接着进行图像特征抽取。边缘是图像中的工件与背景之间的交界,也是图像灰度及颜色急剧变化的地方。由于传感元件的低频特性,工件与背景之间的边缘存在着模糊部分,灰度变化量小。用逐渐非凸(GNC)方法处理弱隔膜情况,通过对采用针对边缘的存在的目标函数最小化,即minf,lHGNC,找到具有尖锐边缘的图像。其中HGNC=Hn+S+P(图片) (图片) 其中t等价于边缘梯度的大小,C*是一个标量常数(图片) 此时结合“退火”的算法,实现对预先先验形状的连续的逐步逼近,在采用的GNC方法中,保留了先验项的原始形状,当p越小,近似结果越接近理想的先验能量。随着p从1下降到0连续地跟踪局部最小值,平稳地改变V*直至精确逼近V,同时生成一个先验能量族。在此阶段对物体进行度量,提取多个度量值,形成特征向量。这种被精简的信息,表达了后续理解和匹配的知识。最后在后续处理中经过先腐蚀,再膨胀消除椒盐噪声,经过处理,白色孤立点噪声在腐蚀时被消除。如图1、图2、图3所示:(图片) 4 仿真软件构架
4.1 VC++程序结构及工程文件的建立
4.1.1 界面设计
本研究项目的大多数Visual C++程序都是在该类库基础上构造的。为使刀具行为在一个固定大小的区域内被模拟,并在另外的视图窗口内可同时看到相应的NC语言,选择切分窗口的同时希望保持视图间分隔线固定。从CSplitterWnd派生出一个类CFixSPlitterWnd来实现窗体分割,然后通过响应鼠标的WM_MOUSEMOVE、WM_LBUTTONDOWN和WM_SETCURSOR等消息,改变鼠标行为,使其在分割窗体内不再显示双箭头形状,且不具备拖动功能。自此,窗体的客户区分为两个固定的部分,一部分对应AppWizard默认的视图类,另一部分对应一个新增的表单视图类CFormView的派生类。
4.1.2 命令及数据的输入
菜单功能实现命令输入,在主选单中添加选单命令以打开数据输入对话框及进行其他操作。打开选单编辑器,插入“选项”选单并在“选项”选单中添加选单选项“文本”、“成型”、“走刀”、“指令”、“刷新”,同时在加速键编辑器中建立相应的加速键表条目,并赋给与选单选项相同的ID号。程序运行过程中,结合实际使用“文本”、“成型”、“走刀”、“指令”、“刷新”选单选项ENABLE属性和GRAYED属性互锁使得读入数据后即可形成指令,工件定位后可更换,走刀模拟过程中不可中断以免资源浪费,走刀完成后刷新即可循环实现等。
通过使用CFileDialog类在程序中嵌入的通用文件对话框,以便实现Windows标准的“打开”对话框,选择基于机器视觉的图像采集进行零件的轮廓识别后零件顶点的存储路径,然后以相同的模式读出。
4.1.3 走刀的模式选择
添加走刀方式对话框资源,编辑对话框。添加标题为“走刀路径”和“走刀速度”的成组框控件,并分别在其中添加了“内圆加工”、“外圆加工”两种走刀路径和“快”、“慢”两种走刀速度的单选钮组,大致模拟数控机床加工工件的要求。选择加工路径,弹出设置背吃刀量的对话框,设置完成后点击“开始”按钮,即开始走刀。
4.2 效果
定时器是按规定时间进行周期调用的一种方法,类似于DOS下的定时中断。使用CWin::SetTime()函数创建定时器有两种方式:其一,允许指定静态函数,在定时器超时的情况下被调用;其二,超时时向调用SetTime()的窗口发送WM_TIMER窗口消息,调用消息处理函数OnTimer()做相应处理。程序在视窗类中的OnOptionsGo()函数中调用定时器设置函数。通过周期调用产生刀头不断旋转和走刀的动画效果。限于篇幅,消息响应函数不再一一详述实现过程,相关代码详见源程序。
5 结论
本系统采用了执行松弛运算的图像复原和图像特征抽取的方法,提高了边缘检测的效果,实现了平滑去噪与抑制退化,为图像分割抽取出更为清晰的特征。该图像处理软件在Visual C++6.0的开发平台下,通过IFS中的图像访问子程序开发,并将识别出的工件顶点以固定模式写入.txt格式的文本中。再以相同模式从该文本中读出顶点,并在PC机上以软件模拟仿真硬件的行为,提供的数控机床加工过程与实际加工过程基本一致,可由此预见加工过程中出现的种种问题。所采用的可去除噪声的GNC算法中,非线性运算是成功的绝对要素,一个线性运算加上后续的适当非线性化,可以计算任意一种映像,这对于GNC算法将用简单直接的神经元网络实现有着重要意义。随着数控机床向柔性化和无人化发展,功能集成化的水平更高地体现在工件自动定位等功能上。
6 本文作者创新点
6.1 本系统采用松弛算法,实践证实该算法是图像边缘检测的优化算法,抽取出更为清晰的图像特征,可达到数控加工精度的要求。
6.2 本系统作为数控系统的视觉系统,可实现无夹具定位、刀具自寻位加工及无人诊断,应用于柔性制造系统可大大提高系统实时性,精确性及高效性。
参考文献
[1].李伯儒等,柔性制造系统中组合夹具研究[D],《先进制造技术论文》,www.e-work.bj.cn.;
[2].孙即祥,图象处理[M],科学出版社,2004;
[3].王俊修,用VC++.Net实现退化图像的恢复[J],《微计算机信息》,(2004)04,第82页.
2/11/2009
|