基于推演式聚类学习算法的卫星健康状态监视系统
2016-12-02余晟张海祥宋宏江何晓宇闫金栋
余晟 张海祥 宋宏江 何晓宇 闫金栋
(北京空间飞行器总体设计部,北京 100094)
Key words:satellite;health status monitoring;machine learning;clustering algorithm
基于推演式聚类学习算法的卫星健康状态监视系统
余晟 张海祥 宋宏江 何晓宇 闫金栋
(北京空间飞行器总体设计部,北京 100094)
提出一种基于推演式聚类学习算法的卫星通用健康状态监视系统,应用卫星运行数据构建多维空间向量集,通过聚类生成健康状态知识库,可以实时监视卫星遥测状态。使用某卫星热控分系统的测试数据对该系统的有效性进行了验证,结果表明:该系统具有较好的卫星异常健康状态识别与评估的能力和准确度,可为卫星健康状态监视手段的选择提供参考。
卫星;健康状态监视;机器学习;聚类学习算法
Key words:satellite;health status monitoring;machine learning;clustering algorithm
1 引言
卫星健康状态监视软件的目标是及时发现卫星可能存在的异常问题,提升异常问题的识别率对保障卫星在轨正常运行具有重要意义[1]。随着卫星系统复杂性的快速增长,对健康状态监视软件的功能提出了更高的要求,主要表现在:①表征卫星状态的参数越来越多,由单一的参数判读向多参数的联合判读转变,多参数的状态组合随着参数个数的增加呈几何级数的增长;②对判读的精确度要求越来越高,由定性的状态判读向定量的状态判读转变,为状态的健康程度和偏离度给出定量的数据;③系统自学习要求越来越紧迫,对于复杂的卫星系统,预先给出全面完整而且准确的判读知识越来越困难,需要系统具备自学习功能。
国内外学者对航天器健康状态监视方法进行了研究,文献[2]提出采用聚类分析的方法,利用航天器历史数据进行健康状态建模。研究了基于划分和模型的两种聚类分析系统的方法,在此基础上建立了航天器故障诊断模型,并使用Simlink软件对算法进行仿真。研究的方法主要针对航天器姿态轨道控制系统的故障诊断工作。文献[3]提出采用基于数据统计理论的自适应相关算法,进行液体火箭发动机健康状态的实时监视,并使用火箭实际试车数据对算法有效性进行了验证。文献[4]提出建立有限元模型来进行航天器防热系统的健康状态监视,这类建立模型的方法需要提前对故障知识和机理有深入的理解,不能使用历史数据,因此应用范围比较有限。文献[5]使用BEAM(Beacon-based Exception Analysis for Multi-Missions)系统进行航天飞机主引擎数据的健康状态监视,BEAM系统是一个典型的单参数监视系统,不能进行多维参数联合判读。文献[6]使用基于决策树的方法来进行J-2X火箭发动机的故障诊断任务。
近年来,提出了基于数据驱动的健康状态监视方法,是使用机器学习的技术从卫星运行过程中积累的大量数据中训练系统健康状态模型和判据,以提高监视发现异常问题并预判潜在风险的能力[7-8]。本文提出了一种推演式聚类学习算法来进行卫星健康状态模型训练,实现了一种基于数据驱动的卫星健康状态监视软件,使用某卫星热控分系统在实际地面测试的试验数据对该软件的运行结果进行了验证,结果表明该软件对星上异常健康状态的识别具有很高的准确率。
2 推演式聚类学习算法
2.1 聚类学习算法
聚类学习算法是一类无监督的机器学习方法。在无监督学习算法中,训练数据没有被人工加上标签,通过一定方法根据训练数据本身的属性进行分簇。本文采用的聚类学习算法属于基于距离的聚类算法。其基本思想如下:假设卫星健康状态由一系列特征遥测参数的值来表述。这些遥测参数值映射为多维空间中的一个向量,不同时刻向量间距离大小可以表示状态差异的程度,这是聚类学习算法的基础。聚类算法使用卫星正常状态的运行数据作为训练库,经聚类后获得簇集的信息,簇集的信息构成卫星健康状态模型。在进行健康状态监视时,待评估状态输入该模型,模型则输出评估结果。典型的基于距离的聚类学习算法包括k-均值算法[9]和k-中心点算法[10]。本文采用推演式的聚类学习算法来进行卫星某系统的健康模型的建立。推演式聚类学习算法的思想最早由NASA的喷气推进实验室(JPL)提出,并已应用于“国际空间站”的飞行控制、“战神”(Ares)运载火箭地面测试等的健康状态监视任务,取得了良好的应用效果[11],与k-均值等算法相比,推演式聚类算法引入健康状态区域和簇成长率的概念,采用迭代学习的方式对簇的建立进行推演,使得传统的聚类学习算法可以应用于卫星健康状态监控中。与基于规则的健康模型建立方法相比,本算法采用了基于数据的思想,具有以下优点:①自学习功能,通过建立健康状态评估模型对正常数据进行归一化处理和训练,自动提炼出卫星健康状态;②定量判读功能,通过与健康状态的差异大小来定量描述卫星的健康状态,区分卫星异常状态的等级;③多维判读功能,通过对描述某一分系统或单机设备状态的多个参数进行组合处理,全面反映卫星某一分系统或单机设备的状态,提高判读准确性。
2.2 推演式聚类学习算法设计思想
本文对推演式聚类学习算法参数的选择和演算过程进行了改进,在推演式聚类学习算法中,原始训练数据首先经过归一化处理后转换成高维向量空间中的向量集。在聚类学习的过程中,向量集通过迭代的方式进行聚类。首先选择一个初始向量作为起始的簇中心,然后,在算法执行的每一步中,将训练集中的一个向量根据到现有簇的最近距离将向量加入到现有的分簇中,如果距离超过簇半径,则算法形成一个新的分簇。在每一步中,每个簇对应的健康区域也根据向量分簇情况进行改变,形成对健康区域信息的迭代推演。上述推演式聚类过程主要由3个预先设定的参数控制:①最大簇半径Rmax,控制分簇的大小,如果向量到簇中心的度量距离大于Rmax则建立新的分簇;②新簇起始大小比例Pinit控制分簇对应健康区域的起始大小,在新簇建立时使用;③簇增长率Pinc,控制分簇对应健康区域增长速度的快慢,在向量加入现有分簇时使用。
每个簇对应的健康状态区域是高维空间中的一个“方”形区域,即该区域中包含了每一个子维度上遥测参数值的上下限阈值。低于下限阈值或超过上限阈值的数据将会被认为是异常数据。簇起始大小Pinit和簇增长率Pinc的值用于控制健康状态区域的变化速度。每当有一个新的数据向量加入簇,该簇对应的健康状态区域相应维度的上下限按照簇增长率的大小进行变化。在簇起始大小一定的情况下,如果簇半径和簇增长率越小,得到的分簇数量越大。
在算法实际运行过程中,Rmax、Pinit和Pinc的取值通过迭代的方法确定,首先计算训练集Φ中向量两两之间距离的均方值:
假设通过算法获得的期望分簇数为Nexpect,则Rmax、Pinit和Pinc的初始值为
簇半径初始值为平均距离除以期望分簇数,簇初始大小与期望分簇数成反比,簇增长率初始设为100%,该值表示当新向量加入某簇时,如果该向量在簇范围外,则该簇的范围更新后一定包含该向量。进行首轮分簇后,如果分簇结果数小于期望分簇数,则将Rmax和Pinc的值各减小10%,如果分簇结果数大于期望分簇数,则将Rmax和Pinc的值各增加10%,然后进行下一轮迭代,直至分簇结果数等于或接近期望分簇数为止。
2.3 卫星健康状态监视系统的实现
基于上述算法的健康状态监视软件系统的工作过程如图1所示。
图1 卫星健康状态监视模型工作过程图Fig.1 Satellite health status monitoring process
卫星健康状态监视系统首先对训练库中的遥测数据进行归一化建立输入数据集,然后采用推演式聚类学习算法建立卫星健康状态知识库,健康状态知识的结构如表1所示。在进行健康状态监视应用时,系统将新数据向量与知识库中的健康区域信息进行比较。如果数据向量位于健康区域之内,系统判断分系统处于健康状态。如果数据向量到健康区域的距离为一个较小的非0值,则系统发送一个低等级的警报信息,表示当前状态暂时偏离正常工作状态,但卫星仍处于健康状态。如果数据向量连续处于健康区域之外,且到健康区域的距离较大,则认为系统此时处于异常状态,根据距离值的大小发送中等级或高等级的警报。此时系统根据不同维度上偏离量的大小,报告相应的最有可能导致系统异常状态的遥测参数。
为了验证该系统在实际应用中的有效性,现以某卫星热控分系统健康状态评估与监视系统为例,说明系统的构建过程。该卫星的热控分系统主要由安全开关、加热回路和测温电阻构成,用于健康状态评估的遥测参数主要包含安全开关通断状态、自主控温功能使能/禁止状态、加热回路温度和测温热敏电阻温度,其中i表示星上第i路加热回路和测温电阻。参数信息见表2。
表1 卫星健康状态知识示例Table 1 A sample of satellite health status knowledge
表2 热控分系统健康状态评估相关参数Table 2 Parameters used in health assessment of the thermal control subsystem
基于距离的分簇算法具有较好的通用性,不同遥测参数的组合均可以映射到多维空间中的向量,因此可以灵活地调整模型中遥测参数的类型和权重,适用不同类型的健康状态评估任务。
3 试验结果
为了验证系统的有效性,作者开发了一套卫星健康状态监视软件,它使用C#语言开发,目前已用于卫星整星测试数据的监视任务中。在该软件中以某卫星2014年1月24日至2014年12月31日期间的遥测数据值作为原始数据库。其中,将2014年1月1日至2014年4月31日期间正常的遥测数据作为健康评估模型的训练数据,将2014年5月1日至2014年12月31日期间的遥测数据作为测试数据。训练数据通过聚类学习软件进行健康状态模型的学习,并将所建立的健康状态模型作为输出文件进行保存。其中聚类学习软件的运行界面如图2所示。通过对参数的取值进行调校,在推演式聚类学习算法中使用的参数设置见表3。
图2 航天器遥测数据推演式聚类学习软件界面Fig.2 Interface of the spacecraft telemetry data deductive clustering software
表3 试验中使用的参数值Table 3 Value of the parameters used in the experiment
将由聚类学习软件得到的测试数据和健康状态模型数据输入到Matlab软件,经处理后得到测试数据的评估结果。实验目标是发现测试数据中的异常状态信息,通过与实际卫星测试日报中记录的异常状态进行对比,验证软件有效性和准确度。
Matlab软件统计了2014年5月1日至2014年12月31日期间的遥测数据正常的数据点的数量和软件发送的低、中、高级警报的数量。其中针对中、高级警报来测试日报的记录统计异常状态的误报率和漏报率,即如果该日的测试日报中无异常状态记录,而软件发送了中、高等级的警报,则认为该事件为误报事件。如果该日的测试日报中有异常状态记录,但软件没有发送中、高等级的警报,则认为该事件是漏报事件。通过Matlab软件将每个遥测数据点到健康区域的最小距离进行计算,然后根据这个距离值的大小统计在这段时间内有哪些天出现了低、中、高等级警报。第一组遥测参数数据的算法运行结果如图3所示,图中横轴为测试数据的采集时间,纵轴为测试数据点距离在卫星健康知识库中健康状态区域的最小距离,虚线为各级警报的阈值。
图3 健康状态评估算法运行结果Fig.3 Results of the health status assessment algorithm
对所有十组数据运行了上述算法,经统计,在2014年5月1日至2014年12月31日期间出现过低级警报的天数共有23天,中级警报共有8天,高级警报为2天。通过与测试日报与数据判读软件记录的结果进行对比,在出现过中级警报及高级警报的日期中,均有测试异常状态的记录,其中软件发出的低级警报主要由环境温度的变化引起,中级警报均由进行温度遥测参数解码时的参数设置问题引起,高级警报则来自于热控热敏电阻本身读数的异常。为了验证该算法运行的有效性,统计了算法对试验过程中出现的异常状态的错报率与不漏报率。试验中算法的错报率很低,接近于0%。将算法的不漏报率与传统基于参数门限的健康监视算法的不漏报率进行了对比,异常状态的不漏报率为
式中:Dr为监视软件报告异常状态的数量,DT为卫星出现异常状态的总数量。
试验结果如图4所示。由图4可知,基于推演式聚类的监视方法在对低、中级异常状态具有更好的发现能力,与现有基于规则的监视方法相比,基于推演式聚类学习的监视算法具有较好的异常状态发现能力,由于其具有多维度和自学习判读的特点,可以弥补基于规则和专家知识的判读方法的不足,能推广应用于更多航天器状态监视中。
图4 异常状态不漏报率对比Fig.4 Comparison of the no false negative rate for anomaly status
4 结术语
本文设计了一种基于推演式聚类学习算法的卫星健康状态监视方法,在此基础上实现了一种卫星健康状态监视软件。此方法将原始数据转换为多维向量空间中的向量,通过迭加式的聚类学习算法对原始数据向量进行分簇,从而得到卫星正常运行状态下的健康区域信息,并将这些信息保存于软件知识库中。在监视过程中,通过比较输入数据与知识库中的信息来判断分系统当前的运行状态。该算法具有自学习和多维数据联合判读功能,为卫星健康状态监视工作提供了一种新的思路与方法。本文以热控分系统为例,测试验证了该健康状态监视方法在卫星综合测试应用中的有效性,可有效推广应用于卫星各个分系统的综合测试以及卫星在轨监测工作中,能降低数据判读门槛,提高状态判读的全面性和准确性。
(
)
[1]Iverson D L.Data mining applications for space mission operations system health monitoring[C]//Proceedings of the SpaceOps 2008Conference.Washington D.C.:AIAA,2008
[2]龚学兵.基于聚类分析卫星姿态控制系统故障诊断方法研究[D].哈尔滨:哈尔滨工业大学,2011 Gong Xuebing.The research on satellite attitude control system diagnosis based on clustering analysis[D].Harbin:Harbin Institute of Technology,2011(in Chinese)
[3]刘洪刚,魏鹏飞,谢廷风,等.液体火箭发动机地面试车过程的实时故障检测方法研究[J].宇航学报,2007,28(6):1660-1663 Liu Honggang,Wei Pengfei,Xie Tingfeng,et al.Research of real—time fault detection method for liquid propellant rocket engines in ground test[J].Journal of Astronautics,2007,28(6):1660-1663(in Chinese)
[4]张茂.重复使用跨大气层飞行器防热系统健康监视技术研究[D].西安:西北工业大学,2006 Zhang Mao.Health monitoring for thermal protection systems on reusable launch vehicles[D].Xi’an:Northwestern Polytechnical University,2006(in Chinese)
[5]Park H,Mackey R,James,et al.Analysis of space shuttle main engine data using beacon-based exception analysis for multi-missions[C]//Proceedings of the Aerospace Conference.New York:IEEE,2002
[6]Schwabacher M,Aguilar R,Figueroa F.Using decision trees to detect and isolate simulated leaks in the J-2X rocket engine[C]//Proceedings of the IEEE Aerospace Conference.New York:IEEE,2009
[7]Quinlan J R.Programs for machine learning[M].San Mateo,CA:Morgan Kaufmann,1993
[8]Tao Zan,Min Wang.Information integration and diagnosis analysis of equipment status and production quality for machine process[C]//Fourth International Seminar on Modern Cutting and Measurement Engineering.Bellingham:SPIE,2011
[9]雷小锋,谢昆青,林帆,等.一种基于K-Means局部最优性的高效聚类算法[J].软件学报,2008,19(7):1683-1692 Lei Xiaofeng,Xie Kunqing,Lin Fan,et al.A efficient clustering algorithm based on K-Means local optimization[J].Journal of Software,2008,19(7):1683-1692(in Chinese)
[10]Julia H,Knowles J,Kell D.Computational cluster validation in post—genomic data analysis[J].Bioinformatics,2005,21(15):3201-3212
[11]Iverson D,Matin R,Schwabacher M,et al.Generalpurpose data-driven system monitoring for space operations[J].Journal of Aerospace Computing,Information,and Communication,2012,9(2):26-44
(编辑:李多)
A Satellite Health Status Monitoring System Based on Deductive Clustering Algorithm
YU Sheng ZHANG Haixiang SONG Hongjiang HE Xiaoyu YAN Jindong
(Beijing Institute of Spacecraft System Engineering,Beijing 100094,China)
This paper proposes a satellite health status monitoring system based on a deductive clustering algorithm.The system constructs vector sets based on real data in satellite operations,and then builds a satellite health knowledge database.The system monitors satellite telemetry parameters in real time.The authors verify the correctness of the software based on a real test data set:the results show that the system can achieve high accuracy of satellite health assessment and diagnose,and can be a reference for selection of satellite health status monitoring measures.
V557.1
A
10.3969/j.issn.1673-8748.2016.05.013
2016-03-14;
2016-07-28
余晟,男,博士,工程师,从事星载软件开发技术研究。Email:yusheng00@hotmail.com。