基于神经网络在线建模的非线性动态系统中传感器故障检测方法

  • 格式:pdf
  • 大小:185.71 KB
  • 文档页数:6

第19卷 第1期1998年1月

宇 航 学 报

JOURNALOFASTRONAUTICSVol.19No.1

Jan.1998

本文于1997年3月17日收到*本文研究工作获高等学校博士学科点专项科研基金(批准号:9521308)资助

基于神经网络在线建模的非线性动态系统中传感器故障检测方法*

钮永胜 赵新民(哈尔滨工业大学自动化测试与控制系・哈尔滨・150001)

摘 要 本文提出一种基于神经网络在线建模的动态非线性系统中传感器故障检测方法,它首先利用神经网络在线建立动态非线性系统的超前一步预测模型,然后利用神经网络对传感器的预测输出和传感器实际输出之差与一预定阈值比较以检测传感器故障。本文的优点是可以检测多个传感器故障,同时由于采用在线学习方式,非常适于航天器自主系统传感器故障检测的需要。此外,故障检测阈值的选取也比较简单。为了验证本文方法,仿真了一控制系统中同时发生漂移故障的两个传感器故障检测过程。结果表明,方法十分有效。主题词 非线性系统 传感器故障 故障检测 神经网络 在线学习

MULTIPLESENSORFAILUREDETECTIONINNONLINEARSYSTEMBASEDONSYSTEMIDENTIFICATIONMETHODUSINGON-LINELEARNINGNEURALNETWORK

NiuYongsheng ZhaoXinmin(Dept.ofAutomatedTest,MeasurementandControl.,HarbinInstiuteofTechnology・Harbin・150001)

Abstract Thispaperpresentsaninnovativeapproachformultiplesensorfailuredetectionin

anonlinearsystembasedonsystemidentificationusinganon-linelearningneuralnetwork.Theapproachbuildsanone-stepaheadpredictionmodelforthenonlinearsystemusinganon-linelearningneuralnetworkfirstly,andthenthediscprepancybetweentheon-lineestimationsofthesensorsusingthebuiltneuralsystemmodelandtheactualvaluesofthemiscomparedwithapre-determinedthresholdtodetectsensorfailures.Oneadvantageoftheapproachistheabilitytodetectmultiplesensorfailures.Anotheradvantageisthatitmaybesuitablyusedinautonomoussystemswiththeneuralnetworklearningandworkingon-line.Themethodisprovedtobeveryeffectivebyasimulationresultofdetectingtwosensorfailuresforaspacerobotsystem.Keywords Nonlinearsystem Sensorfailure Faultdetection Neuralnetwork On-linelearning

1 引言随着科学技术的不断进步,高性能的航天器和空间站机器人需具备对传感器故障的容错能力。作为测量控制系统中诸参量的关键部件,如果传感器发生故障,包括硬故障和软故障,就会影响系统的运行。事实上,传感器是控制系统中比较容易损坏的器件[1],因此控制系统需检测传感器是否发生故障,如果检测出传感器发生了故障,则报警,并调用备份传感器,或重构控制率以确保整个控制过程的顺利进行。美国NASA曾规定空间机器人控制系统应有一个故障诊断系统[1]。目前传感器故障诊断方法有多种,比较多的是采用分析冗余方法[1],人工神经网络方法[2-6]等。采用分析冗余方法需要系统的精确数学模型,所以这个方法难以应用于具有模型不确定性的系统和非线性系统。已有的应用神经网络检测传感器故障方法则存在以下缺点:1.难以检测多个传感器故障。2.仍需系统的数学模型来估计系统的状态矢量。3.只能完成静止映射,即神经网络输入和输出都是在同一时刻。4.没有考虑系统的输入量。为此本文提出采用神经网络建模的传感器故障检测方法。此方法的优点是可以检测多个传感器故障,同时由于采用在线学习方式,非常适用于航天器自主系统故障检测需要。此外,故障检测阈值的选取也比较简单。通过对一实际控制系统[1]中两个传感器漂移故障检测的仿真表明本文方法是有效的。

2 基于神经网络在线建模的传感器故障检测方法一个多输入多输出非线性动态系统:y(k+1)=F(y(k),…,y(k-m+1),u(k+1),…,u(k-n+1))(1)(u(k+1)是一p维输入矢量,y(k+1)是一q维输出矢量,n,m是输入和输出的最大延迟,对于线性系统n=m=1,F(…)代表一般的非线性函数)。可以用一个前馈神经网络和带延迟的输入、输出来表示[8]:yd(k+1)=NN(W,y(k),…y(k-m+1),u(k+1),…u(k-n+1))(2)(式中W是网络的权值),即通过一些训练算法,如BP算法等极小化‖y(k+1)-yd(k+1)‖,以建立系统的神经网络预测模型。式(2)的建立可以采取离线训练的方法进行,即训练前准备好所有的输入输出数据,然后采取批处理训练方法建立系统的动态非线性数学模型,也可以采取在线递推方式建立,原理如图1所示,神经网络为多层感知器模型[3,8],如图2所示,其中i,j,k分别表示输入、隐层、输出层,Wij,Wjk分别表示输入与隐层之间的权值和隐层与输出层之间的权值。在线建立神经网络预测模型和传感器故障检测的具体步骤是:(1)假设已经观测到k+1时刻的传感器正常输出样本y(k-m+1),…,y(k),y

56宇航学报第19卷图1 动态非线性系统模型在线辩识的神经网络方法和传感器故障检测原理图2 神经网络预测器结构(k+1)和系统控制输入u(k-n+1,…,u(k),u

(k+1),我们用k+1时刻以前的输入和k时刻以前的输出u(k-n+1),…,u(k),u(k+1),y(k-m+1),…y(k)作为网络的输入,用k+1时刻的输出y(k+1)作为神经网络的输出,应用误差反向传播算法(BP算法)迭代学习,直到一定迭代次数或一定的训练精度权值收敛。(2)数据向前递推一步,利用收敛后的神经网络连接权值,用k+2时刻以前的输入和k+1时刻以前的输出u(k-n+2),…u(k+1),u(k+2),y(k-m+2),…,y(k+1)作为网络的输入,预测k+2时刻的系统输出估计值yd(k+2)。(3)无传感器故障时,y(k+2),yd(k+2)十分接近,两者之差仅为递推误差和传感器输出噪声,而当传感器发生故障时,相应的残差分量将显著增大,所以如果传感器在k+2步的估计输出yd(k+2)和实际输出y(k+2)之差(残差)分量的绝对值ûyi(k+2)-ydi(k+2)û≥H,i=1,…,q,H为一个事先确定的阈值,则可以判断第i个传感器发生故障。(4)如果传感器没有故障,即ûyi(k+2)-ydi(k+2)û2时刻以前的输入和k+1时刻以前的输出u(k-n+2),…,u(k+2),u(k+2),y(k-m+2),…,y(k+1)作为网络的输入,而将k+2步数据y(k+2)作为网络的输出再次学习直至网络权值收敛到一定的输出精度并返回第3步直至检测到传感器故障。由于神经网络每步只在线学习一组样本,而不是如离线方法那样学习所有的样本,所以收敛速度很快,可以保证实时检测故障的需要。用于建模的前馈神经网络结构常根据经验和试错方法选择。本文根据试验选择神经网

57第1期

钮永胜等:基于神经网络在线建模的非线性动态系统中传感器故障检测方法络结构。阈值的选择在故障诊断领域是一个难点[1],取得过小,当传感器输出噪声比较大时容易引起误报警,阈值取得过大,则难以检测小的传感器故障,引起漏报警。本文根据样本预测误差和噪声标准偏差的大小来确定阈值,即用样本预测误差$和3倍传感器输出噪声标准偏差R之和$+3R作为阈值。由于递推估计输出和传感器实际输出误差在各个采样点并不一样,所以本文用传感器输出最大斜率Q和采样间隔$t之积Q×$t作为最大预测误差$,事实上,预测误差的上限也就是这一数值。这样选择阈值消除了由输出噪声和学习误差引起的误报警,当然也有可能稍微选择偏大,从而难以检测小于阈值的传感器微小故障。如果多个残差分量发生显著变化,则可以断定多个传感器发生故障。

3 仿真实例本文以工业机器人传感器故障的实时诊断仿真说明本文方法,且假定系统是正常的,即传感器是在系统正常条件下发生的。所用的机器人数学模型是一强耦合、非线性系统模型,经过离散化后为[1]:

x1(k+1)=TD(k)A(k)-E(k)B(k)C(k)+x1(k)

x2(k+1)=T-E(k)A(k)+a3B(k)C(k)+x2(k)x3(k+1)=Tx1(k)+x3(k)x4(k+1)=Tx2(k)+x4(k)

y(k+1)=I4x1(k+1)x2(k+1)x3(k+1)x4(k+1)+e(k+1)(3)

式中D(k)=a1+a2cos(x4(k))E(k)=a3+a2cos(x4(k))/2A(k)=a2sin(x4(k))[x1(k)x2(k)+x22(k)/2]-a4cos(x3(k))-a5cos(x3(k)+x4(k))+u1(k)B(k)=-(a2sin(x4(k)))x21(k)/2-a5cos(x3(k)+x4(k))+u2(k)C(k)=(a1+a2cosx4(k))a3-(a3+a2cosx4(k)/2)2

(4)

其中u1(k)=125-5(1-exp(-0.2k))u1(k)=125-10(1-exp(-0.2k))(5)

u1,u2为输入,e为零均值,方差为diag[0.00001,0.00001,0.00001,0.00001]的白噪声。y1,y2,y3,y4分别是测量机器人两个肘关节的角速度和角位移传感器。T为采样间隔,其值为0.001秒,共有100个采样点。并设a1=3.82,a2=2.12,a3=0.71,a4=81.82,a5

=24.6。根据作者以前的工作[2],选择单个隐层的神经网络结构,神经网络的输入节点