基于小波修正贝叶斯卷积能量的水下机器人推进器故障诊断方法与流程

文档序号:17547306发布日期:2019-04-30 17:53阅读:127来源:国知局
基于小波修正贝叶斯卷积能量的水下机器人推进器故障诊断方法与流程

本发明属于水下机器人故障诊断技术,具体涉及一种基于小波修正贝叶斯卷积能量的水下机器人推进器故障诊断方法。



背景技术:

水下机器人在推进器的推力作用下进行运动。当推进器发生故障时,水下机器人速度信号、推进器控制电压变化率信号等动态信号通常会产生奇异行为,且推进器故障程度越大,奇异行为所含有的能量越大。据此可以提取能量故障特征,用于推进器故障诊断。

公知信号幅值平方和方法是一种常用的能量特征提取方法,该公知方法将奇异行为区域的信号幅值进行平方后再求和。采用公知方法提取能量故障特征的过程中,遇到如下问题:水下机器人动态信号奇异行为幅值较为微弱,需要进行增强;信号中的随机噪声干扰影响故障能量特征的大小;动态信号奇异行为波动性较强,影响故障能量区域的边界识别。



技术实现要素:

发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于小波修正贝叶斯卷积能量的水下机器人推进器故障诊断方法,基于小波分解降低信号中随机噪声干扰的影响,基于修正贝叶斯算法增强动态信号奇异行为幅值,基于卷积计算减小动态信号奇异行为的波动性,并以动态信号中的极小值位置作为能量区域边界,提取能量故障特征,基于同态变换对故障特征和故障分类进行协调,最后基于支持向量域算法实现推进器故障程度分类。

技术方案:本发明的一种基于小波修正贝叶斯卷积能量的水下机器人推进器故障诊断方法,包括以下步骤:

第一步,采集和记录水下机器人速度和推进器控制电压变化率等动态信号,采用长度为l1的时域窗函数对动态信号进行截取;

第二步,对第一步所得的数据进行常规小波分解,获得小波近似分量sa(n),n为数据序号,n的取值范围为1~l1之间的整数;

第三步,采用常规修正贝叶斯算法对第二步所得小波近似分量sa(n)进行运算,结果为dsa(n),其中,修正贝叶斯步长为n2,计算公式如公式(1)至公式(6)所示;

式(1)至(6)中,dsa(n)为修正贝叶斯算法处理结果,n为数据序号,n的取值为1~l1之间的整数;n2为修正贝叶斯步长,n2是4~l1的任意正整数,j1是一个临时变量,j1=1,2,…,n2,sa(n)为第二步所得小波近似分量,sa0(n)为推进器无故障时水下机器人动态信号小波近似分量,n3为一个较大的整数,为中间过程变量;

第四步,对修正贝叶斯计算结果dsa(n)进行卷积计算,计算过程如公式(7)所示:

sconv(n)=dsa(n)*dsa(n)(7)

式(7)中,sconv(n)为dsa(n)的卷积计算结果;

第五步,提取能量故障特征,构造故障样本:

在上述所得卷积计算结果sconv(n)中,确定所有极小值点,将相邻两个极小值点之间数据进行求和,所得结果作为这两个极小值点包含的波峰区域能量,根据此过程计算所有相邻两个极小值点所包含的波峰区域能量,得到波峰区域能量分布,从波峰区域能量分布中,选择最大值作为推进器故障特征;

将水下机器人动态信号s(n)分别实例化为水下机器人速度信号和推进器控制电压变化率信号,从而得到速度信号故障特征eu和控制信号故障特征ec;接着将提取到的故障特征构成故障样本x=[euec]t;将时间窗函数向右滑动,每滑动一个时间节拍,提取一个故障样本,滑动n4个时间节拍,得到故障样本集x={xi1},n4为任意正整数,i1为故障样本编号,取值范围为1~n4;

第六步,建立推进器故障程度分类模型,具体步骤分两步:(1)建立单类超球模型;(2)通过多个单类超球模型建立推进器故障程度分类模型;

(1)建立单类超球模型的具体过程为:

将故障样本集x={xi1}带入公式(8)进行优化求解,得到一组最优解α={αi1},最优解中,多数αi1=0,少数αi1>0,这些大于零的αi1所对应的故障样本称为支持向量,记为xsvi1;将支持向量xsvi1带入公式(9),求得超球半径r;

式(8)~(9)中,0≤αi1≤c,c为惩罚系数,k(xi1,xj1)=exp(-||xi1-xj1||22),n4为故障样本数目;

(2)建立推进器故障程度分类模型的过程为:

建立不同故障程度下的单类超球模型qs,q为故障程度等级,q=1,2,3,…,q,q为故障等级数目,多个单类超球模型qs共同构成推进器故障程度分类模型;

第七步,故障样本分类:

采集水下机器人推进器运行状态未知时的动态信号数据,采用第一步至第五步内容,提取故障特征,构造未知故障样本xu,将未知故障样本xu带入公式(10)计算未知故障样本xu到各个单类超球模型qs的广义距离qd;

式(10)中,qd为广义距离,k(xi1,xj1)=exp(-||xi1-xj1||22),xu为未知故障样本,qα={qαi1}为故障程度等级q的故障样本集qx={qxi1}对应一组最优解,n4为故障样本数目;

将广义距离qd带入公式(11)计算未知故障样本xu到各个单类超球模型的相对距离,相对距离最小值对应的单类超球模型的故障程度,即为该未知故障样本xu对应的故障程度;

qε=qd/qr(11)

式(11)中,qε未知故障样本xu到各个单类超球模型的相对距离,qd为广义距离,qr为单类超球模型qs的半径。

本发明能够有效减小修正贝叶斯步长n2对故障程度分类精度的影响,但是该种实施方式所建立的单类超球模型,不同模型的惩罚系数c、核函数参数σ是不相同的,不便于分类模型的训练。

进一步的,在步骤五中得到波峰区能量后,先同态变换再提取能量故障特征构造故障样本,具体内容为:

在第四步所得的卷积计算结果sconv(n)中,确定所有极小值点,将相邻两个极小值点之间数据进行求和,所得结果作为这两个极小值点包含的波峰区域能量,根据此过程计算所有相邻两个极小值点所包含的波峰区域能量,得到波峰区域能量分布,从波峰区域能量分布中,选择波峰区域能量最大值pmax;将pmax带入公式(12)进行同态变换,结果为es,将es作为推进器故障特征;

es=log10(pmax)(12)

将水下机器人动态信号s(n)分别实例化为水下机器人速度信号和推进器控制电压变化率信号,从而得到速度信号故障特征eu和控制信号故障特征ec;接着将提取到的故障特征构成故障样本x=[euec]t;将时间窗函数向右滑动,每滑动一个时间节拍,提取一个故障样本,滑动n4个时间节拍,得到故障样本集x={xi1},n4为任意正整数,i1为故障样本编号,取值范围为1~n4。

此过程中的单类超球模型,不同模型的惩罚系数c、核函数参数σ是相同的,便于分类模型的训练;同时各个单类超球模型的auc始终为1,最终的分类模型的分类精度始终为100%。

有益效果:本发明从水下机器人速度信号、推进器控制电压变化率信号等动态信号中有效提取能量故障特征,并能够实现故障特征与故障程度分类方法的协调,进而实现推进器故障程度的准确分类,分类精度为100%。

附图说明

图1为本发明实施例1流程图;

图2为本发明实施例2流程图;

图3为水下机器人速度信号和推进器控制信号数据时域波形图;

图4为本发明实施例1的故障特征及故障样本分布图;

图5为本发明实施例2的故障特征及故障样本分布图;

图6为本发明实施例1的单类超球模型auc分布图;

图7为本发明实施例2的单类超球模型auc分布图;

图8为本发明实施例1的分类精度分布图;

图9为本发明实施例2的分类精度分布图。

具体实施方式

下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

实施例1:

如图1所示,本实施例的一种基于小波修正贝叶斯卷积能量的水下机器人推进器故障诊断方法,具体步骤如下:

第一步,采集和记录水下机器人速度和推进器控制电压变化率等动态信号,采用长度为l1=400的时域窗函数对动态信号进行截取;

第二步,对第一步所得的数据进行常规小波分解,获得小波近似分量sa(n),n为数据序号,n的取值范围为1~l1之间的整数;

第三步,采用常规修正贝叶斯算法对第二步所得小波近似分量sa(n)进行运算,其中,修正贝叶斯步长为n2,计算公式如公式(1)至公式(6)所示。

式(1)至(6)中,dsa(n)为修正贝叶斯算法处理结果,n为数据序号,n的取值为1~l1之间的整数;n2为修正贝叶斯步长,n2是4~l1的任意正整数,例如取n2=20,j1是一个临时变量,j1=1,2,…,n2,sa(n)为第二步所得小波近似分量,sa0(n)为推进器无故障时水下机器人动态信号小波近似分量,n3为一个较大的整数,本实施例中n3取时间窗的长度l1=400,为中间过程变量;

第四步,对修正贝叶斯计算结果dsa(n)进行卷积计算,计算过程如公式(7)所示:

sconv(n)=dsa(n)*dsa(n)(7)

式(7)中,sconv(n)为dsa(n)的卷积计算结果;

第五步,提取能量故障特征,构造故障样本:

在上述所得卷积计算结果sconv(n)中,确定所有极小值点,将相邻两个极小值点之间数据进行求和,所得结果作为这两个极小值点包含的波峰区域能量,根据此过程计算所有相邻两个极小值点所包含的波峰区域能量,得到波峰区域能量分布,从波峰区域能量分布中,选择最大值作为推进器故障特征;

将水下机器人动态信号s(n)分别实例化为水下机器人速度信号和推进器控制电压变化率信号,从而得到速度信号故障特征eu和控制信号故障特征ec;接着将提取到的故障特征构成故障样本x=[euec]t;将时间窗函数向右滑动,每滑动一个时间节拍,提取一个故障样本,滑动n4个时间节拍,得到故障样本集x={xi1},n4为任意正整数,i1为故障样本编号,取值范围为1~n4;

第六步,建立推进器故障程度分类模型,具体步骤分两步:(1)建立单类超球模型;(2)通过多个单类超球模型建立推进器故障程度分类模型;

(1)建立单类超球模型的具体过程为:

将故障样本集x={xi1}带入公式(8)进行优化求解,得到一组最优解α={αi1},最优解中,多数αi1=0,少数αi1>0,这些大于零的αi1所对应的故障样本称为支持向量,记为xsvi1;将支持向量xsvi1带入公式(9),求得超球半径r;

式(8)~(9)中,0≤αi1≤c,c为惩罚系数,k(xi1,xj1)=exp(-||xi1-xj1||22),n4为故障样本数目;

(2)建立推进器故障程度分类模型的过程为:

建立不同故障程度下的单类超球模型qs,q为故障程度等级,q=1,2,3,…,q,q为故障等级数目,多个单类超球模型qs共同构成推进器故障程度分类模型;

第七步,故障样本分类:

采集水下机器人推进器运行状态未知时的动态信号数据,采用第一步至第五步内容,提取故障特征,构造未知故障样本xu,将未知故障样本xu带入公式(10)计算未知故障样本xu到各个单类超球模型qs的广义距离qd;

式(10)中,qd为广义距离,k(xi1,xj1)=exp(-||xi1-xj1||22),xu为未知故障样本,qα={qαi1}为故障程度等级q的故障样本集qx={qxi1}对应一组最优解,n4为故障样本数目;

将广义距离qd带入公式(11)计算未知故障样本xu到各个单类超球模型的相对距离,相对距离最小值对应的单类超球模型的故障程度,即为该未知故障样本xu对应的故障程度;

qε=qd/qr(11)

式(11)中,qε未知故障样本xu到各个单类超球模型的相对距离,qd为广义距离,qr为单类超球模型qs的半径。

实施例2:

如图2所示,本实施例的一种基于小波修正贝叶斯卷积能量的水下机器人推进器故障诊断方法,具体实施步骤如下:

第一步,采集和记录水下机器人速度信号和推进器控制电压变化率信号等动态信号,采用长度为l1=400的时域窗函数对动态信号进行截取;

第二步,对时间窗内的数据进行小波分解,提取小波近似分量sa(n);

第三步,采用修正贝叶斯算法对第二步所得小波近似分量sa(n)进行运算,修正贝叶斯步长为n2,计算结果为dsa(n),计算过程如公式(1)至公式(6)所示。

第四步,对修正贝叶斯计算结果dsa(n)进行卷积计算,结果为sconv(n);

第五步,提取能量故障特征,构造故障样本。具体为:在第四步所得的卷积计算结果sconv(n)中,确定所有极小值点,将相邻两个极小值点之间数据进行求和,所得结果作为这两个极小值点包含的波峰区域能量,根据此过程计算所有相邻两个极小值点所包含的波峰区域能量,得到波峰区域能量分布,从波峰区域能量分布中,选择波峰区域能量最大值pmax。将pmax带入公式(12)进行同态变换,结果为es,将es作为推进器故障特征。

es=log10(pmax)(12)

将水下机器人动态信号s(n)分别实例化为水下机器人速度信号、推进器控制电压变化率信号,从而得到速度信号故障特征eu、控制信号故障特征ec。将提取到的故障特征构成故障样本x=[euec]t。将时间窗函数向右滑动,每滑动一个时间节拍,提取一个故障样本,滑动多个时间节拍,得到故障样本集x={xi1}。

第六步,采用公式(8)~公式(9)建立推进器故障程度分类模型;

第七步,采用公式(10)~公式(11)对推进器故障程度进行分类。

实施例1:

如图3所示,在第250个时间节拍处,推进器发生故障,故障程度λ分别为0%、10%、20%、30%、40%。如图3(b)中虚线框所示,速度信号在第250拍至350拍这段时间内形成先下降后上升的奇异行为,如图3(a)所示控制信号从250拍开始逐渐增加,最后在一稳定值上下波动。

采用长度为400的时间窗截取图3中第101拍至500拍数据,采用实施例1中第一步至第五步内容,提取故障特征构造故障样本,结果如图4所示。图4中,修正贝叶斯步长为20,时间窗共计滑动50个时间节拍,使得每一种故障程度各有50个故障样本。

采用长度为400的时间窗截取图3中第101拍至500拍数据,采用实施例2中第一步至第五步内容,提取故障特征构造故障样本,结果如图5所示。图5中,修正贝叶斯步长为20,时间窗共计滑动50个时间节拍,使得每一种故障程度各有50个故障样本。

将图4、图5中推进器每一种故障程度的50个故障样本进行划分,即,随机选取50%的故障样本作为分类模型训练样本,剩下的50%作为测试样本,故障样本划分结果如表1所示。

表1故障样本划分结果

采用一种故障程度的训练样本对该故障程度对应的单类超球模型进行训练,将该故障程度的测试样本作为目标样本,将其他故障程度的测试样本作为非目标样本,对该单类超球模型的分类性能进行测试,采用auc指标进行评价,结果如表2所示。表2中,auc为roc曲线下与坐标轴围成的面积,roc为接受者操作特征曲线,auc越大分类器效果越好,auc的极值为1。

表2本专利不同实施方式的各个单类超球模型的auc

表2中,实施例1和施例2的各个单类超球模型的auc均为1,说明本发明建立的单类超球模型的分类效果较好。本专利方法是有效的。

将不同故障程度对应的单类超球模型集成在一起构成推进器故障程度分类模型,将测试样本带入分类模型进行分类,结果如表3所示。表3中,实施例1和施例2的分类精度为100%,说明本发明具有较好的故障程度分类效果本专利方法是有效的。(这里原来多了一个句号)

表3本发明不同实施方式的分类精度

将修正贝叶斯步长n2由单一数值20扩展到4~100这个区间,在此区间内,修正贝斯步长每取一个整数值,都计算出每个单类超球模型的auc以及每种实施方式的分类精度,结果如图6至图9所示。

在单类超球模型auc方面,如图6所示,当修正贝叶斯步长n2为4~100时,实施例1的各个单类超球模型的auc都大于0.95,其中,故障程度20%、30%、40%对应的单类超球模型的auc均为1;如图7所示,当修正贝叶斯步长n2为4~100时,实施例2的各个单类超球模型的auc始终为1。

在故障程度分类模型的分类精度方面,如图8所示,当修正贝叶斯步长n2为4~100时,实施例1的分类模型的分类精度均大于98%;如图9所示,当修正贝叶斯步长n2为4~100时,实施例2的分类模型的分类精度始终为100%。

此外,在故障程度分类模型训练过程中,对于实施例1建立的单类超球模型,不同模型的惩罚系数c、核函数参数σ也不相同,使得分类模型的训练较为繁琐;对于实施例2建立的单类超球模型,不同模型的惩罚系数c、核函数参数σ是相同的,便于分类模型的训练。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1