本发明提供一种故障诊断方法,特别涉及一种基于卫星热控系统的故障诊断方法,属于基于模型的故障诊断领域。
背景技术:
随着航天任务的日益复杂和对人类生活的影响日益增加,航天器的可靠性和安全性显得极为重要。但是,由于空间环境的复杂性以及航天器测试的局限性,航天器发生故障的几率也在大大增加,为了满足日益增长的航天器健康需求,基于模型的故障诊断方法应运而生。
基于模型的故障诊断总体上可分为两大类:其一是基于控制理论的方法,其核心思想是以系统的数学解析模型为基础生成残差,然后基于某种准则或阈值对该残差进行决策;另一种则是基于人工智能的方法,即基于第一定律的故障诊断,其中推理和搜索是两个关键技术。其中推理用于结合模型描述与观测值生成冲突集,而搜索则根据冲突集搜索出最可能的候选解,然后判断候选解是否为一个诊断解。常用的推理方法有LTMS(基于逻辑的真值维护系统)和ATMS(基于假设的真值维护系统)及其改进型。对于搜索,LTMS和ATMS的策略有所不同,LTMS常用的搜索方法为A*(A星)搜索,而传统的ATMS的搜索方法有HS树,HST树等。
对于弱模型即只有一个正常模式和一个故障模式的模型系统,以上的搜索方法都能够取得良好效果,但是对于拥有多个正常模式或多个故障模式的复杂系统即强模型,其诊断效率和精度将不能保证。
本专利所提出的一种基于卫星热控系统的故障诊断方法是针对作为强模型的卫星热控系统,通过利用ATMS推理方法和两步A*搜索方法来提高其诊断效率。
技术实现要素:
发明目的
本发明的目的是提供一种基于卫星热控系统的故障诊断方法,它针对具备多个正常或故障模式的卫星热控系统,能够减少A*搜索的范围,进而提高故障诊断效率。
技术方案
本发明一种基于卫星热控系统的故障诊断方法,其步骤如下:
步骤一、基于一阶逻辑对卫星热控系统建模;
步骤二、解析模型文件和观测文件,得到模型数据和观测数据;
步骤三、利用ATMS方法对模型进行推理,得到所有的冲突集;
步骤四、利用第一步A*搜索方法搜索冲突集,得到最优碰集;
步骤五、利用第二步A*搜索方法搜索最优碰集,得到最优候选解;
步骤六、利用ATMS对最优候选解进行一致性检验;
通过以上步骤,能够减少A*搜索的范围,进而提高对卫星热控系统的诊断效率,降低诊断时间。
其中,在“步骤一”中所述的“基于一阶逻辑对卫星热控系统建模”,做法如下:其中“一阶逻辑”又称为一阶谓词逻辑,是指只包含个体谓词和个体量词的谓词逻辑,用于研究数学中由个体、函数及关系构成的命题以及由这些命题构成的更复杂的命题和这些命题之间的推理关系通过分析系统的每个元件的行为模式和模式间的概率转移关系,以及元件与元件之间的逻辑转换关系,基于一阶逻辑对系统建模,得到系统模型文件,再根据观测值写出观测文件,最后对元件的模式进行初始化,一般都初始化为正常模式,表示假设该元件是正常的。
在“步骤一”中所述的“基于一阶逻辑对卫星热控系统建模”,其做法如下:其中“一阶逻辑”又称为一阶谓词逻辑,是指只包含个体谓词和个体量词的谓词逻辑,用于研究数学中由个体、函数及关系构成的命题以及由这些命题构成的更复杂的命题和这些命题之间的推理关系;通过分析系统的每个元件的行为模式和模式间的概率转移关系,以及元件与元件之间的逻辑转换关系,基于一阶逻辑对系统建模,得到系统模型文件,再根据观测值写出观测文件,最后对元件的模式进行初始化,一般都初始化为正常模式,表示假设该元件是正常的。
其中,在“步骤二”中所述的“解析模型文件和观测文件,得到模型数据和观测数据”,做法如下:由于步骤一中模型文件和观测文件的语言和格式是人为的且无法被计算机识别,所以这里需要对两个文件进行解析,提取其中的数据信息并将其转化为计算机能识别的数据结构。
其中,在“步骤三”中所述的“利用ATMS方法对模型进行推理,得到所有的冲突集”,做法如下:其中“冲突集”是指与观测值不一致的一组元件,即可能故障的元件组合;通过利用ATMS方法对步骤二的模型数据和观测数据进行推理,可直接得到模型的所有冲突集。
其中,在“步骤四”中所述的“利用第一步A*搜索方法搜索冲突集,得到最优碰集”,做法如下:其中“碰集”是指与所有冲突集相交不为空的集合,表示能满足所有冲突集的可能故障的元件组合;以元件正常模式的概率作为估价函数,利用A*搜索方法搜索冲突集可得出最优的碰集,若概率越大,其故障可能性越低。
其中,在“步骤五”中所述的“利用第二步A*搜索方法搜索最优碰集,得到最优候选解”,做法如下:其中“候选解”是可能的诊断解,它明确指出了元件可能的故障模式;以元件故障模式的概率作为估价函数,利用A*方法根据步骤四中的最优碰集找出最优候选解。
其中,在“步骤六”中所述的“利用ATMS对最优候选解进行一致性检验”,做法如下:利用ATMS对最优候选解进行一致性检验,若检验通过,则该最优候选解就是一个诊断解,若检验不通过,则返回步骤五搜索下一个最优候选解,若最优候选解为空即步骤五中的最优碰集的所有候选解都不是诊断解,则返回步骤四搜索下一个最优碰集,重复以上步骤直到找到诊断解。
发明优点
本发明的优点是通过结合ATMS推理和两步A*搜索方法,能够减少A*搜索的范围,提高对卫星热控系统的诊断效率,降低诊断时间。
附图说明
图1卫星热控系统中某单元电路的模型。
图2本发明所述方法流程图。
具体实施方式
方法实施对象为卫星热控系统中某单元电路,见图1所示。
本发明是一种基于卫星热控系统的故障诊断方法,见图2所示,其步骤如下:步骤一、基于一阶逻辑对卫星热控系统建模;
步骤二、解析模型文件和观测文件,得到模型数据和观测数据;
步骤三、利用ATMS方法对模型进行推理,得到所有的冲突集;
步骤四、利用第一步A*搜索方法搜索冲突集,得到最优碰集;
步骤五、利用第二步A*搜索方法搜索最优碰集,得到最优候选解;
步骤六、利用ATMS对最优候选解进行一致性检验。
其中,步骤一的做法如下:
图1中包含三种元器件:开关,加热器和电流表。其中开关S是是电路的总开关,每个加热器hi与一个开关Si组成电路的一个支路,电流则表监控电路的电流变化。
开关具有三种模式,分别是normal,stuck on,stuck off模式。当开关处于normal模式时,若指令是on,则其输出与输入相同,若指令是off,则无输出;当处于stuck on模式时,无论指令,输出与输入相同;当处于stuck off模式时,无输出。加热器具有四种模式,分别是normal,broken,less power,over power模式。当加热器处于normal模式时,若指令是on,加热器会释放热量且输出正常电流,若指令是off,则无热量释放且无电流输出。当加热器处于broken模式时,加热器无热量释放且无电流输出。当加热器处于less power模式时,若指令是on,加热器会释放少量热量且输出正常电流,若指令是off,则无热量释放且无电流输出。当加热器处于over power模式时,若指令是on,加热器会释放过量热量且输出正常电流,若指令是off,则去热量释放且无电流输出。
电流表具有两种模式:normal,fault。normal模式下,电流表正常显示电路总电流,否则显示电流为0。
设置初始时刻所有元件都处于normal模式,且每个故障模式发生的概率Pi为0.01,而正常模式的概率则是1-ΣPi。
分析图1中模型的元件行为及元件之间的逻辑转移关系,以一阶逻辑的形式写出模型文件,并设置观测值如下:
time=1
in=true
cs=true
cs1=true
cs2=true
cs3=true
cs4=true
t1=tvar.norm
t2=tvar.norm
t3=tvar.norm
t4=tvar.norm
c=current.four
time=2
in=true
cs=true
cs1=true
cs2=true
cs3=true
cs4=true
t1=tvar.over
t2=tvar.less
t3=tvar.less
t4=tvar.none
c=current.three
time=1表示初始时刻的模型观测值,time=2表示下一个时刻的模型观测值。”in”表示输入,“cS,cs1,cs2,cs3,cs4”分别表示5个开关的指令,“t1,t2,t3,t4”分别表示4个加热器释放的热量,“c”表示电流表的值。由此可以看出,系统发生了故障导致观测值改变了。
其中,步骤二的做法如下:
由于步骤一中模型文件和观测文件的语言和格式无法被计算机识别,所以这里需要对两个文件进行解析,提取其中的数据信息并将其转化为计算机能识别的数据结构。
其中,步骤三的做法如下:
利用ATMS方法对步骤二中的模型文件和观测文件进行推理,若无冲突集合,则表示系统正常,诊断结束;否则记录所有冲突集。基于图1的模型和步骤一中的观测值,得到冲突集如下:
{h2.mode@normal}
{S.mode@normal S4.mode@normal h4.mode@normal}
{h1.mode@normal}
{h3.mode@normal}
其中包含了4个冲突集,每个冲突集用{}表示,代表了可能故障的元件组合。其中,步骤四的做法如下:
利用第一步A*搜索方法搜索步骤三中的所有冲突集,找到最优碰集,如下:{S.mode@normal h1.mode@normal h2.mode@normal h3.mode@normal}它代表最可能故障的元件组合,分别是元件S,h1,h2,h3的组合。
其中,步骤五的做法如下:
利用第二步A*搜索方法搜索步骤四中的最优碰集,找到步骤四中元件所在的最可能的模式,得到最优候选解如下:
{S.mode@stuck_off h1.mode@broken h2.mode@broken h3.mode@broken}。
其中,步骤六的做法如下:
对步骤五中的最优候选解进行一致性检验,若无新的冲突集生成,则代表检验通过,且该候选解即是一个诊断解,否则检验失败,则返回步骤五搜索下一个最优候选解,若最优候选解为空,即由步骤五中的最优碰集搜索出的所有最优候选解皆不是诊断解,则返回步骤四搜索下一个最优碰集。重复以上步骤直到找出诊断解。
最终得到的诊断解是:
{S4.mode@stuck_off h1.mode@over_power h2.mode@less_power h3.mode@less_power},表示s4处于stuck_off故障,h1处于over_power故障,h2处于less_power故障,h3处于less_power故障。
通过以上步骤,能够实现对卫星热控系统的故障诊断,且减少了搜索范围,提高了诊断效率。