发明名称 在传感器网络环境下基于格林空间理论的故障估计方法
摘要 本发明提供了一种在传感器网络环境下基于格林空间理论的故障估计方法,包括如下步骤:建立具有执行器和传感器故障的时变系统的动态模型;对各个传感器与其相邻的测量输出进行综合;对动态模型进行分布式故障估计;利用格林空间的线性估计理论获得节点上的故障估计器的存在性判别条件;若存在性条件成立,运用格林空间中的更新分析与投影定理,获得节点上的估计器参数矩阵;将估计器参数矩阵代入分布式故障估计公式,实现在传感器网络环境下对具有执行器和传感器故障的时变系统的分布式故障估计。本发明的方法可以有效处理传感器网络环境下各传感器节点之间的耦合问题,达到保守性小、估计精度高的目的。
申请公布号 CN104714520B 申请公布日期 2017.05.03
申请号 CN201410848073.6 申请日期 2014.12.29
申请人 东华大学 发明人 沈波;王子栋;舒慧生;董宏丽;李楠;胡军;张似晶
分类号 G05B19/418(2006.01)I 主分类号 G05B19/418(2006.01)I
代理机构 上海申汇专利代理有限公司 31001 代理人 翁若莹
主权项 一种在传感器网络环境下基于格林空间理论的故障估计方法,其特征在于:该方法由以下6个步骤组成:步骤1:建立具有执行器和传感器故障的时变系统的动态模型;建立具有执行器和传感器故障的时变系统的动态模型,其状态空间形式为:x(k+1)=A(k)x(k)+B<sub>d</sub>(k)d(k)+B<sub>f</sub>(k)f(k),x(0)=x<sub>0</sub>  (1)y<sub>i</sub>(k)=C<sub>i</sub>(k)x(k)+D<sub>i,f</sub>(k)f(k)+v<sub>i</sub>(k),i=1,2,...,M  (2)式(1)和式(2)中,x(k)为k时刻状态向量;d(k)为k时刻外部扰动;f(k)为k时刻要估计的误差;y<sub>i</sub>(k)为k时刻传感器节点i从系统中接收到的测量输出;v<sub>i</sub>(k)为k时刻传感器节点i的测量噪声;A(k)、B<sub>d</sub>(k)、B<sub>f</sub>(k)、C<sub>i</sub>(k)、D<sub>i,f</sub>(k)是已知的具有适当维数的时变矩阵;M表示传感器节点个数;x<sub>0</sub>为未知的初始值;M个传感器的位置用有向图G=(ν,ε,Α)描述,其中,ν={1,2,...,M}为节点集合;<img file="FDA0001213683490000011.GIF" wi="182" he="42" />为边界集合;Α=[a<sub>ij</sub>]<sub>M×M</sub>是邻接矩阵;G的一条边用(i,j)表示,即<img file="FDA0001213683490000012.GIF" wi="384" he="78" />且对所有i∈ν,a<sub>ii</sub>=1;Μ<sub>i</sub>={j∈ν:a<sub>ij</sub>=1}表示所有与节点i∈ν相邻的节点集合,且Μ<sub>i</sub>中元素个数记为m<sub>i</sub>;步骤2:对各个传感器与其相邻的测量输出进行综合;根据式(2),综合与第i个传感器相邻节点信息后的测量输出公式:<maths num="0001"><math><![CDATA[<mrow><msup><mi>y</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>C</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msubsup><mi>D</mi><mi>f</mi><mi>i</mi></msubsup><mi>f</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msup><mi>v</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001213683490000013.GIF" wi="1533" he="71" /></maths>式(3)中矩阵给出如下:<maths num="0002"><math><![CDATA[<mrow><msup><mi>y</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msubsup><mi>y</mi><msub><mi>j</mi><mn>1</mn></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msubsup><mi>y</mi><msub><mi>j</mi><mn>2</mn></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>...</mn></mtd><mtd><mrow><msubsup><mi>y</mi><msub><mi>j</mi><msub><mi>m</mi><mi>i</mi></msub></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow>]]></math><img file="FDA0001213683490000014.GIF" wi="790" he="85" /></maths><maths num="0003"><math><![CDATA[<mrow><msup><mi>v</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msubsup><mi>v</mi><msub><mi>j</mi><mn>1</mn></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msubsup><mi>v</mi><msub><mi>j</mi><mn>2</mn></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>...</mn></mtd><mtd><mrow><msubsup><mi>v</mi><msub><mi>j</mi><msub><mi>m</mi><mi>i</mi></msub></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow>]]></math><img file="FDA0001213683490000015.GIF" wi="763" he="85" /></maths><maths num="0004"><math><![CDATA[<mrow><msup><mi>C</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msubsup><mi>C</mi><msub><mi>j</mi><mn>1</mn></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msubsup><mi>C</mi><msub><mi>j</mi><mn>2</mn></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>...</mn></mtd><mtd><mrow><msubsup><mi>C</mi><msub><mi>j</mi><msub><mi>m</mi><mi>i</mi></msub></msub><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow>]]></math><img file="FDA0001213683490000016.GIF" wi="797" he="79" /></maths><maths num="0005"><math><![CDATA[<mrow><msubsup><mi>D</mi><mi>f</mi><mi>i</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msubsup><mi>D</mi><mrow><msub><mi>j</mi><mn>1</mn></msub><mo>,</mo><mi>f</mi></mrow><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msubsup><mi>D</mi><mrow><msub><mi>j</mi><mn>2</mn></msub><mo>,</mo><mi>f</mi></mrow><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>...</mn></mtd><mtd><mrow><msubsup><mi>D</mi><mrow><msub><mi>j</mi><msub><mi>m</mi><mi>i</mi></msub></msub><mo>,</mo><mi>f</mi></mrow><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow>]]></math><img file="FDA0001213683490000017.GIF" wi="918" he="86" /></maths>其中j<sub>l</sub>∈Μ<sub>i</sub>,l=1,2,...,m<sub>i</sub>;步骤3:对具有执行器和传感器故障的时变系统的动态模型进行分布式故障估计;分布式故障估计器公式:<maths num="0006"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>A</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msup><mi>K</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>y</mi><mi>i</mi></msup><mo>(</mo><mi>k</mi><mo>)</mo><mo>-</mo><msup><mi>C</mi><mi>i</mi></msup><mo>(</mo><mi>k</mi><mo>)</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>r</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>E</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>y</mi><mi>i</mi></msup><mo>(</mo><mi>k</mi><mo>)</mo><mo>-</mo><msup><mi>C</mi><mi>i</mi></msup><mo>(</mo><mi>k</mi><mo>)</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001213683490000021.GIF" wi="1606" he="254" /></maths>式(4)中<img file="FDA0001213683490000022.GIF" wi="106" he="61" />为第i个节点在k时刻对x(k)的估计,r<sub>i</sub>(k)为第i个节点在k时刻对f(k)的估计,E<sup>i</sup>(k)和K<sup>i</sup>(k)为第i个节点在k时刻的估计器参数;步骤4:利用格林空间的线性估计理论,分别获得节点i上的故障估计器的存在性判别条件;节点i上故障估计器的存在性判别条件:Γ<sub>i</sub>(k)&gt;0且Ψ<sub>i</sub>(k)&lt;0  (5)式(5)中,<img file="FDA0001213683490000023.GIF" wi="950" he="77" /><maths num="0007"><math><![CDATA[<mrow><msub><mi>&Psi;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>&gamma;</mi><mn>2</mn></msup><mo>)</mo></mrow><mi>I</mi><mo>-</mo><msubsup><mi>D</mi><mi>f</mi><mrow><mi>i</mi><mi>T</mi></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>&Gamma;</mi><mi>i</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>D</mi><mi>f</mi><mi>i</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001213683490000024.GIF" wi="786" he="73" /></maths>P<sub>i</sub>(k)为节点i上的状态估计误差最小方差,γ&gt;0是给定参数,I为单位矩阵,矩阵<img file="FDA0001213683490000025.GIF" wi="51" he="63" />由公式<img file="FDA0001213683490000026.GIF" wi="361" he="87" />给出;步骤5:若步骤4中的故障估计器的存在性判别条件(5)成立,运用格林空间中的更新分析与投影定理,分别获得节点i上的估计器参数矩阵E<sup>i</sup>(k)和K<sup>i</sup>(k);由公式:<maths num="0008"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>A</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mi>A</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>B</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msub><mi>Q</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>B</mi><mi>d</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>B</mi><mi>f</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>B</mi><mi>f</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msup><mi>K</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>&Gamma;</mi><mi>i</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mi>K</mi><mrow><mi>i</mi><mi>T</mi></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mrow><mo>(</mo><msub><mi>B</mi><mi>f</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>-</mo><msup><mi>K</mi><mi>i</mi></msup><mo>(</mo><mi>k</mi><mo>)</mo><msubsup><mi>&Gamma;</mi><mi>i</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><mi>k</mi><mo>)</mo><msubsup><mi>D</mi><mi>f</mi><mi>i</mi></msubsup><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><msubsup><mi>&Psi;</mi><mi>i</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mi>B</mi><mi>f</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>-</mo><msup><mi>K</mi><mi>i</mi></msup><mo>(</mo><mi>k</mi><mo>)</mo><msubsup><mi>&Gamma;</mi><mi>i</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><mi>k</mi><mo>)</mo><msubsup><mi>D</mi><mi>f</mi><mi>i</mi></msubsup><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mi>T</mi></msup></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>&Pi;</mi><mn>0</mn></msub></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001213683490000027.GIF" wi="1654" he="310" /></maths>获得节点i上的状态估计误差最小方差P<sub>i</sub>(k),通过公式:<maths num="0009"><math><![CDATA[<mrow><msup><mi>K</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>A</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mi>C</mi><mrow><mi>i</mi><mi>T</mi></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>B</mi><mi>f</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>D</mi><mi>f</mi><mrow><mi>i</mi><mi>T</mi></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001213683490000028.GIF" wi="1534" he="71" /></maths><maths num="0010"><math><![CDATA[<mrow><msup><mi>E</mi><mi>i</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>D</mi><mi>f</mi><mrow><mi>i</mi><mi>T</mi></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msubsup><mi>&Gamma;</mi><mi>i</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001213683490000031.GIF" wi="1526" he="72" /></maths>计算估计器参数矩阵E<sup>i</sup>(k)和K<sup>i</sup>(k);步骤6:将步骤5获得的估计器参数矩阵E<sup>i</sup>(k)和K<sup>i</sup>(k)代入步骤3中的分布式故障估计器公式,实现在传感器网络环境下对具有执行器和传感器故障的时变系统的分布式故障估计。
地址 201620 上海市松江区人民北路2999号