基于视听信息的滚珠丝杠滚道磨损检测

2018-11-26 01:58
制造业自动化 2018年11期
关键词:角点滚珠丝杠

(河北工业大学 机械工程学院,天津 300130)

0 引言

当前,数控机床以高速度、高精度为发展趋势,而作为数控机床关键传动部件的滚珠丝杠的精度保持是个重要的问题。这是因为滚珠丝杠在长期工作中,会出现磨损而导致数控机床的精度下降,给高精度加工带来难题,因而对丝杠的磨损检测具有重要意义。滚珠丝杠的磨损失效形式分为六种:断裂、粘合、微裂纹、疲劳剥落、滚道面振纹。而在实际观测中,滚珠丝杠的磨损失效形式往往是多种磨损混合在一起,相互干涉、相互影响[1]。因而,对丝杠磨损的检测是有一定难度的。

在过去的二十年中,磨损检测多针对齿轮、轴承等单一旋转零件,对往复式零件的磨损检测较少[2~4]。而对往复机械的研究多集中在复压缩机、内燃机(柴油机及汽油机)、往复泵等,而对如丝杠这类旋转往复式零件的磨损检测还是较少[5]。滚珠丝杠是将旋转运动转换为直线运动,其磨损形式和滚子轴承的磨损有很大的区别,所以直接运用滚子轴承磨损检测方法是存在问题的。经过多年的研究,虽然滚珠丝杠力学模型已经完备[6],但滚珠丝杠磨损理论还有待进一步发展[7]。

当前,滚珠丝杠副磨损诊断方法可分为:经验法、振动测量法[8]、声发射检测法[9]、温度检测法[10,11]、润滑检测法[12]。针对滚珠丝杠的磨损,王禹林等人[13]提出了一种基于全周期分段步加策略的极小子样滚动功能部件加速实验模型,该模型能高效地获得滚动功能部件在不同时间历程下的在线监测和离线状态数据。孔德顺等人[14]利用滚珠丝杠副磨损特征建立了加速退化模型,能够有效地获取滚珠丝杠副精度寿命特征。徐向红等人[15]根据Archard模型的增量形式建立的滚珠丝杠副的磨损模型,能够很好的反映黏着磨损阶段时的实际磨损变化规律。

对于丝杠副螺母和丝杠滚道之间磨损模式的研究,徐建生等人[16]在研究滚珠丝杠螺母副的磨损时,发现常用的精密滚珠丝杠的滚道磨损比螺母严重。由于本文主要研究精密滚珠丝杠,所以就以滚珠丝杠的滚道磨损为具体研究对象。另外,当前磨损诊断对显著磨损研究的多,而对微弱磨损的研究少[4]。而在本文中,以滚珠丝杠滚道的连续磨损为研究对象,用于提高诊断的应用价值。

基于经验方法的滚珠丝杠磨损检测,是建立在人长时间积累的知识经验上。而视觉信息和听觉信息是人类两大信息来源,对人类学习知识及积累经验累至关重要。本文拟用视听信息来检测滚珠丝杠滚道的磨损状况,实现非接触检测、智能诊断的目的。听觉可以判断滚珠丝杠的健康状态,而视觉可以判断丝杠不同位置对应的健康状态。利用视听信息检测丝杠磨损,需要提前进行视听信息的预处理,使之规范化。将处理后的听觉信息采用栈式自编码器(Stacked Autoencoder)神经网络进行训练,并得到训练模型。利用训练得到的模型,就能测试当前丝杠滚道的磨损状况。

1 视觉信息的处理

由于滚珠丝杠螺杆一般只有旋转运动,直接用视觉测量丝杠的运动是不方便的,因此在这里主要测量丝杠拖动的滑块的运动。用视觉测量滑块的运动,需要从相机拍摄的每一帧图像中,提取滑块角点的位移即可。常用的角点检测方法有SIFT算法[16]、SUSAN算法[17]、Harris算法[18]等,其中Harris算法是最成熟的,所以在这里使用Harris算法进行角点检测。

1.1 Harris角点检测

Harris角点检测依据:当图像中某一窗口向任何方向移动时,都会引起灰度大幅度的改变,则可认为该窗口处在一个角点上。在一幅图像I(x,y)中,从像素点(x,y)平移(u,v)个单位后,得到移动窗口的灰度插值。

其中,E(u,v)是图像窗口内的图像灰度;w(x,y)为窗函数,在这里选用高斯函数,这样有利于提升中间像素的权重,降低边缘噪声的影响。将I(x+u,y+v)按照泰勒级数进行展开,并只取前两阶:

其中,Ix和Iy分别为图像x方向和y方向的梯度。将上式进行如下变换:

将式(3)代入式(1),得:

为了方便表示,现令:

由上可知,矩阵M为一个2×2的实对称阵。令M的特征值分别为和,以特征值作为角点响应值:

其中,k是常量,通常取0.04~0.06[19];当R大于设定的阈值时,则可以认为像素点(x,y)为角点。

1.2 角点匹配

假设相机连续拍摄了两张丝杠运行的图片,I1和I2。由Harris角点检测得到这两张图片中的特征点的集合分别为A1和A2。为了提取丝杠拖动滑块的位移,只需将这两张图像中的特征点匹配上,就可以求得。在本文中相机拍摄的视角是固定的,因而得到的背景也是固定。而由Harris角点检测得到的特征点中,有很多属于背景的角点。为了减少匹配误差,以及提升匹配速度,而将A1和A2中相同的点去除掉(这里的相同的点是指两个特征点间的距离小于一个像素),分别得到新的集合A1'和A2'。令点(x1,y1)∈A1',该点在A2'中对应的点为(x2,y2),从(x1,y1)到(x2,y2)的映射为:

其中,H∈R3×3为变换矩阵。单凭一对特征点是无法解出H,这至少还需要3对特征点。在这里,角点匹配算法采用随机抽样一致(Random Sample Consensus,RANSAC[20])算法。RANSAC算法是从A1'和A2'中随机选取4对特征点来计算变换矩阵H,其过程如下:

步骤1:选取最大匹配次数q和距离阈值 ,特征点对数设为m;

步骤2:分别从集合A1'和A2'中随机选取4个点,构成4对特征点,并计算出变换矩阵H;

步骤3:利用上面所得H,计算A2'剩余点对应的配对点,记做(xb,yb)(b=1,2,…,m-4)。

步骤4:令A1'中剩余的点为(xa,ya),则计算(xb,yb)到(xa,ya)的距离di(i=1,2,…,m-4)。当di< 时,可认为该点为内点。与此同时,计算所有内点的个数ni(i=1,2,…,q);

步骤5:重复第2步到第4步的方法,直到迭代上限q。从ni中找出最大的数所对应的变换矩阵H,即为所求匹配关系。

1.3 求取位移

以上求得的特征点中,虽然不包括背景特征点,但是还包括了很多丝杠螺纹运动的特征点。所以,求取所有特征点对的平均距离是不能当作滑块的位移大小。为了将丝杠螺纹的特征点对去除掉,这里采用概率密度来区分。这是因为滑块只有平移运动,所以隶属于滑块上的特征点对的距离基本保持一致。而丝杠上的特征点对的距离随机性很大,所以比较容易辨别。对特征点对的距离的这种分析,属于聚类分析。常用的聚类分析有K-means算法、RCOSD算法、DBSCAN算法等[22]。由于经过上一节求取到的特征点对已经很少了,所以在这里采用一个简单的方法进行分类。将{di}从小到大排列成{di'},在区间[d1', dm']之间平分成10份。之后,检索每个区间中di'的个数,并取个数最多的区间中的di'的平均值作为滑块的位移大小。

2 听觉信息的预处理

如果将得到的听觉信号全部进行速傅里叶变换(Fast Fourier Transformation, FFT),就可以得到其频谱图,但是这种方法只能针对时不变信号。如果用这种方法处理非稳定的信号,则得到的效果是很差的。而短时傅里叶变换(Short-Time Fourier Transform, STFT)可在一定程度上应对这种时变信号,能够揭示信号频率随时间的变换过程。

2.1 STFT处理过程

首先从离散信号x读取M个采样点:

其中,xm代表输入信号的第m帧,R为每帧数据的间隔长度,M=2Ml+1。为了减少频谱泄露,现令xm(n)与汉明窗口W(n)相乘,得到新的截取数据:

其中N是FFT的尺寸大小。则得到在m时刻的STFT为:

其中,wk=2 πkfs/N,fs是采样频率。

2.2 丝杠信号的规范化

丝杠信号的周期性分为两种形式,一种是丝杠转动一圈产生的信号,另一种是滑块往返丝杠一次产生的信号。丝杠的滚道磨损信号的产生只存在磨损处,其不同于轴承每转都会经过磨损处。所以,经由STFT得到的丝杠信号与滑块所在丝杠的位置有很强的关联性。当丝杠以不同的速度运行时,得到的STFT数据量也是不同的。这样就导致以不同速度得到的样本,无法直接进行对比处理。现将STFT得到的信号进行进一步处理:令丝杠旋转一圈为一个单位,目标是在一个单位内产生固定个数(ns)的STFT。假设丝杠在转速r0(单位:r/s)的情况下,经由一个单位产生的STFT个数为n0(n0>ns)。令源STFT为S={X1,X2,…,Xn0},目标STFT为S'={X1',X2',…,X'ns},Xi'∈S'。则:

其中,a=[in0/ns],b=[n0/(2ns)],符号[●]为取整运算。采用这种变化,可以将丝杠的磨损位置与频率直接关联上,并能将不同速度下频率特征的数据量保持一致。

在一般情况下,麦克风的采样频率都很高,为了保持频率的分辨率,而导致每个FFT的数据量都很大。单个FFT中含有相当大的冗余数据,这会严重影响后期的计算速度。为了方便后期的处理,这里采用降采样的方式,只截取丝杠频谱的5000Hz以内的频谱,并将FFT分辨率设置成10Hz,即每个FFT只含有500个数据。为了进一步优化数据,还需在每个样本中进行归一化,这样方便后续处理。

3 听觉信息的深度处理

经过STFT得到的听觉信息包含了大量的信息,需要进一步降维处理才能得到最能表征丝杠健康状态的信息。在这里采用栈式自编码器神经网络,它是由多个稀疏自编码器(Sparse Autoencoder)组成的。

3.1 稀疏自编码器

稀疏自编码器是无监督学习的一种方式,其分为两个过程:编码和解码,如图1所示。令输入样本集合为{x(1),x(2),x(3),…},x(i)∈Rm,1<i<m;输出为中间隐藏层为hh(1)},h(1)∈Rn。在编码过程中,将输入x(i)映射到隐藏层h(1),其计算形式如下:

其中,W(1)∈Rn×m是编码权值矩阵,b(1)∈Rn是编码偏置向量;(x)是一个向量值函数,在非线性情况下通常取为逐元sigmoid函数或者逐元tanh函数。

图1 稀疏自编码器结构

在解码过程中,将隐藏层h(1)映射到输出层,以对输入x(i)进行重建的过程,其计算形式如下:

其中,W(2)∈Rn×m是解码权值矩阵,b(2)∈Rn为解码偏置向量;(x)是一个与(x)类似的逐元函数。

为了最大程度的保存网络输入信息,现求取与参数W和b相关的代价函数J(W,b):

其中,J(W,b)定义中的第一项是均方差项,m为神经元个数;第二项是权重衰减项,nl为网络中层数,sl为第l层的单元数目(不包含偏置单元), 为权重衰减系数,其目的是减小权重的幅度,防止过度拟合。

用aj(x)来表示在给定输入为x情况下,自编码神经网络隐藏神经元j的激活度。令隐藏神经元的平均活跃度为:

之后,选取稀疏性参数 ,它代表所用网络要达到最终的稀疏程度,其通常是一个接近于0的较小的值(比如0.06)。在这里用KL散度(Kullback-Leibler divergence)来求取网络的稀疏程度与目标的差距程度。则 与之间的KL散度为:

为了让隐藏神经元的平均活跃度接近 ,而将KL散度引入代价函数,得到稀疏自编码器的代价函数:

其中,β为稀疏性惩罚因子的权重。当Jsparse(W,b)取得最小值时,此时得到的W和b的值便是最终所求值。这里首先需要将参数初始化为一个接近零的随机值,之后采用重复梯度下降的迭代方法来减小Jsparse(W,b)的值,进而得到稀疏自编码器的参数。

3.2 栈式自编码神经网络

多层稀疏自编码器可以构成栈式自编码器,其前一层稀疏自编码器的编码输出作为其后一层稀疏自编码器的输入,如图2所示。栈式自编码神经网络参数的方法是采用逐层贪婪训练(Greedy Layer-wise Training)进行训练,即先利用原始输入x(i)来训练网络的第一层,得到原始输入的一阶特征h(1),以及其参数W(1)和b(1);然后再用这些一阶特征作为另一个稀疏自编码器的输入,使用它们来学习二阶特征h(2),以及得到第二层的参数W(2)和b(2);最后,对后面的各层同样采用的策略,即将前层的输出作为下一层输入依次进行训练。

图2 栈式自编码神经网络结构

以上为无监督训练方式,因为在训练每一层参数的时候,其他各层的参数保持不变。而栈式自编码神经网络一般会结合监督式训练方法,即在上述预训练过程完成之后,可以通过反向传播算法同时微调(finetuning)所有层的参数以改善结果。如在图2中,在最后一层自编码器训练完成后,把其输出作为特征输入到Softmax分类器进行分类,利用分类错误的梯度值直接反向传播给前面的编码层。现令训练集由m个已标记的样本构成:

其中,输入特征为x(i)=[x0,x1,…,xn],而x0=1;输出特征为y(i)∈{1,2,…,k}。Softmax回归中将输入数据分类为类别j(j∈{1,2,…,k})的概率为:

Softmax回归算法的代价函数为:

其中,1{.}是示性函数,其取值规则为:1{True}=1,1{False}=1;为衰减系数,用于惩罚过大的参数值。此时,为凸函数,用梯度下降法就可以保证收敛到全局最优解,并最终得到Softmax回归模型。

4 丝杠滚道磨损实验

为了验证以上方法的有效性,而进行了丝杠滚道磨损实验。在实验过程中,保证视听信息的采集不受外部环境的声光影响,以提高实验的准确性。

4.1 实验设置

丝杠滚道磨损实验设置如图3所示。其中丝杠直径为12mm,步长为4mm。丝杠螺母有3列内循环滚珠,且螺母固定在滑块内。在丝杠的滚道上进行人为磨损,磨损方式为从左向右磨损量逐渐增大,之后再逐渐减小,如图3(b)所示。丝杠有30圈参与磨损实验,其中最左边的3圈与最右边的3圈没有磨损,是作为正常样本。丝杠由步进电机驱动,电机型号为57BYGH250B。步进电机驱动器为DM542,设置其每转脉冲为800,输出峰值电流为1.91A。相机与麦克风都置于丝杠的正前方,且麦克风位于相机之下。所用相机为Basler相机,其型号为acA3800-14uc。在本次实验中,相机选用的分辨率为3840 2748,相机的成像畸变需提前矫正。相机采用外触发方式进行拍摄,触发频率为15Hz。麦克风采用的是舒伯乐生产的电容型麦克风,其型号为ECM888B。该电容的频率响应范围为20~20000Hz,符合实验要求。麦克风的数据采集用惠普笔记本(g6-2146tx)自带声卡,声卡的采样频率设置为44100Hz。实验的底层控制系统主要由Stm32F103处理器构成(未在图3中显示),其主要功能为接受来自计算机的控制指令,控制步进电机的旋转和相机的外触发,并将底层系统状态返回到计算机。

图3 实验设置

4.2 实验流程及结果分析

在丝杠磨损实验中,听觉作为故障信息的来源,而视觉作为滑块位置的检测。首先将丝杠磨损区域分为2组,每组含有5种磨损状态,总计10份,每份含有3整圈丝杠,其标签如图3(b)所示。其中,L1为无磨损区域;L5为严重磨损区域。在采集丝杠的视听信息时,以丝杠从左到右运行一个循环为一组样本。则一组样本中含有4个同一标签区域的磨损数据。实验的具体流程图如图4所示。其中,相机记录滑块的运行位置,以及滑块的运行速度;麦克风记录的音频信息通过STFT处理。STFT的窗口宽度为4410个采样点;重叠点数为4000;每次FFT变换的点数为4409;采样频率为44100Hz。根据2.2节中的方法,STFT结合丝杠的位移,便可将STFT映射到丝杠长度上。每组样本中含有500个FFT,则每个标签下有100个FFT。现只取前5000Hz的数据,即FFT的前500个数据点(因为每个FFT的分辨率为10Hz)。则每个样本为100/4×500=12500个数据点。

由于丝杠磨损区域比较微小,且丝杠镜面效应严重,所以用相机直接观察磨损区域是困难的。在第一次采集中,需要人工标注相机采集滑块的位置与磨损处的相对位置,即标注丝杠的标签位置。在本次实验中,丝杠的速度有四种:5mm/s、7.5mm/s、10mm/s、12.5mm/s。相机拍摄的连续两帧图像如图5(a)所示(相机采集的是彩色图片,为了方便显示特征点对而转成灰度图),图中丝杠的设置速度为7.5mm/s。根据第1节中的方法,进行Harris角点检测并匹配,得到的分类结果如图5(b)所示,其中有总共有20个特征点对。可知滑块上的特征点对与丝杠上的特征点对有明显的分离,取第一组中的平均值为6.61像素/帧。在每种速度下的STFT如图6所示,其对应的规范化数据如图7所示(为了方便显示,图7中的数据都是归一化后并映射到彩色空间中)。从图6和图7中可知,丝杠的对比磨损信号很微弱,只在L1和L5区域的数据对比有细微差别。

图4 实验流程

在每一种速度下,分别采集1000组样本,这其中750组作为训练样本,250组作为测试样本。之后,将训练样本分别标号并打乱次序后,输入到栈式自编码器神经网络进行训练。训练模型分为5种:其中4种为只对单一速度进行训练和测试;第5种为将这4种速度放到一块,混合训练和测试。栈式自编码器神经网络总共有4层,其中,第一层是输入层,有12500个神经元;第二层为隐藏层,有200个神经元;第三层也为隐藏层,有100个神经元;第四层为Softmax分类层,有5个神经元,这5个神经元对应不同的标签。栈式自编码器神经网络按照第3节中的方法,先将第一次和第二层当做第一个稀疏自编码器并训练;之后,将其输出作为第二个稀疏自编码器的输入,并将第三层作为第二个稀疏自编码器的输出,进行训练第二个稀疏自编码器;最后进行Softmax微调训练。其中,稀疏性惩罚因子的权重;衰减系数 。

等完成模型训练后,将测试数据及其标签输入到模型后,得到测试结果,如表1所示。其中,模型A~D分别对应速度5mm/s、7.5mm/s、10mm/s、12.5mm/s;模型E为混合模型。从测试结果可知,模型B的整体识别正确率最高;模型E整体识别率最低。这说明所用模型对于不同速度下的数据进行统一训练,其效果不如只针对单一速度下的模型。另外,对于模型对于磨损量的识别率没有明显的差距:在模型A、C中,对L1的识别正确率要高于L5;在模型B、D、E中,对L1的识别正确率要低于L5。另外,在本次实验中也加入了其他算法——SVM和广义回归神经网络(General Regression Neural Network,GRNN)。SVM采用LIBSVM软件包中的函数,其类型选用C-SVC;核函数为RBF。采用SVM对同样的样本进行训练和测试,其结果如表2所示。GRNN在光滑因子值为0.01时,得到测试结果如表3所示。由表1~表3可知,栈式自编码器神经网络的正确率要高于SVM和GRNN。

图5 相机采集的数据

图6 不同速度下的STFT

图7 规范化之后的图6

表1 栈式自编码器神经网络测试正确率(%)

表2 SVM测试正确率(%)

表3 GRNN测试正确率(%)

5 结论

针对当前丝杠磨损检测,无法有效的确定磨损量的空间分布,本文采用视听信息来检测丝杠的磨损情况:用视觉确定磨损区域;用听觉判断磨损量。视觉采用Harris角点检测来确定丝杠滑块的位移;听觉采用STFT来提取丝杠健康信息。由于丝杠磨损具有空间上的相关性,所以依据视觉信息将STFT进行规范化,使得磨损信号与空间相关联。为了从规范化的STFT中提取丝杠健康信息,本文采用栈式自编码神经网络进行数据的训练与测试。该神经网络含有两个稀疏自编码器和一个Softmax分类器,能有效地进行数据分类,且微调后的准确率能够达到90%以上。文中采用的方法还有些不足之处:栈式自编码神经网络训练时长过长;检测精度还有有待提高;声音信号易受环境噪音影响等。未来还需进一步提升视听检测的性能,使其能真正用在实际工程中。

猜你喜欢
角点滚珠丝杠
多支撑区域模式化融合角点检测算法仿真
角点检测技术综述①
滚珠丝杠的热力耦合作用仿真
行星滚柱丝杠副的研究
基于FAST角点检测算法上对Y型与X型角点的检测
滚珠丝杠滚道硬车加工技术研究
滚珠直线导轨热处理及磨削工艺优化研究
基于840D sl的滚珠丝杠结构旋转轴非线性定位精度补偿
950 mm冷轧轧机中间辊滚珠轴承失效原因分析
一种无人机影像分块的亚像素角点快速检测算法