房红征,年夫强,罗 凯,王晓栋,李 蕊
(1.北京航天测控技术有限公司,北京 100041;2.北京市高速交通工具智能诊断与健康管理重点实验室,北京 100041;3.中国航发沈阳发动机研究所,沈阳 110015)
故障预测与健康管理技术(PHM)是一项复杂的系统工程,能够显著降低维修、使用和保障费用,提高战备完好率和任务成功率,提高装备安全性和可用性。而PHM平台架构作为PHM技术的顶层规划与设计,对于PHM技术的成功应用发挥着至关重要的作用。目前研究主要从基于PHM应用需求的物理框架与基于PHM功能需求的软件框架结构出发对PHM平台架构进行研究,形成了相应的PHM架构体系,开发出具有实时监测与诊断功能的机载系统与地面支持系统,并在实际中取得了成功应用。
在飞行器健康管理系统架构方面,美国F-35战机采用的是分布式的PHM体系架构,主要从软硬件监控层、分系统管理层、平台管理层三层结构来进行规划与设计,其中地面PHM系统完成如状态趋势分析、剩余寿命预测、维修计划优化、维修工作范围制定、维修成本管理等需要复杂模型计算与决策工作[1-4]。飞行器综合健康管理IVHM框架是由美国NASA和波音等多家单位共同提出的,其地面支持系统负责收集更为广泛的信息和资源,完成对航空器的故障诊断、预测和维护等,并将其发送给后勤保障系统与地面维护系统;地面维护系统根据传输的信息确定需要进行的维护工作,优化组织人员,维护资源配置,记录维护数据,测试和验证维修结果[5-8]。此外,国内在分析总结典型PHM系统架构的基础上,提出了一种基于SOA架构,双总线技术的民用客机PHM地面支持系统架构设计方法,有效地实现了信息资源的共享,保障了系统的运营服务质量[9]。
大多数航天器系统具有长期实时运行、无人值守等特点。即使是载人空间站,其运行和维护也受到严格的成本、周期、重量等条件的限制。因此,对航天器进行准确及时的状态监测、故障诊断和合理的寿命预测,对于航天器的高可靠性和长寿命使用具有重要价值和意义。空间环境、复杂工况、老化失效等综合因素,使得航天器故障检测、诊断、预测异常困难。传统专家知识系统在航天器系统级故障处理方面能力有限,依然需要设计师、领域专家花费大量时间进行机理分析、公式推导、试验验证。这种人工分析为主的工作模式显然无法满足航天器数量增长与高可靠运行等发展需求。
近年来,微软的Azure、谷歌的Cloud Machine Learning、阿里巴巴的PAI等机器学习平台,凭借其友好的流程化分析框架、丰富的即插即用机器学习工具、分布式的服务等诸多优点,为航天器等PHM领域复杂问题分析处理和平台构建提出了新思路[10-11]。
本文在对机器学习技术在航天器PHM领域的应用分析基础上,提出了基于机器学习建模的航天器健康管理平台的设计思路,初步建成了相应平台,并进行了验证案例分析,为促进航天器PHM系统工程化水平提升进行了有益的探索。
常见的航天器故障预测与健康管理方法包括数据驱动、基于模型等方法,其中神经网络等机器学习方法是数据驱动的PHM方法的重要组成部分。按照 OSA-CBM+要求,PHM 的主要技术流程包括“数据获取”、“数据处理”、“状态检测”、“健康评估”、“预测评估”和“建议生成”等。根据机器学习技术应用领域定义中提到的分类、回归、聚类、密度估计等能力,PHM的数据预处理、状态检测、健康评估和预测评估这4个部分会用到相关的机器学习技术,包括:数据处理:包括预处理、特征提取、降维相关和密度估计等;状态检测:包括阈值检测、模糊逻辑、聚类相关性和密度估计等;健康评估:包括分类、聚类、相关性分析等用于诊断和推理;预测:利用回归、相关性分析等用于故障预测和寿命预测。
对于卫星、空间站等航天器,由于受复杂的空间环境中外部影响的不确定性以及光照和阴影、开关机、姿态调整、变轨等运行条件因素影响,存在着设备潜在故障难以识别的问题。在航天器健康管理过程汇总应用机器学习技术主要存在以下几个方面的挑战:航天器产品数量少,故障样本少,诊断预测等较为依赖自学习能力;航天器产品可测试性水平有待提高,较为依赖基于故障特征的数据挖掘;空间和地面环境的差异导致知识不准确并且需要动态优化;紧急任务和需求条件下的维护和预测困难。
近年来,随着人工智能科学的发展,一方面,机器学习算法不断丰富,学习深度不断加深,性能不断提高,基于深度学习的机器学习方法得到广泛应用,在图像、视觉和智能对弈等领域取得了空前的成功,深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,展现了强大的从少数样本集中学习数据集本质特征的能力,因此也在包括航天器在内的复杂装备中得到越来越多的研究应用[12-13]。使用深度神经网络等机器深度学习方法,能更有效的深入分析卫星电源等分系统试验运行数据,不仅有助于改进试验方案本身,而且可以很好的校验设计模型,发现重点薄弱环节,最终提高卫星等航天器设计能力。深度学习通过贪婪逐层训练算法解决了深度神经网络的训练问题,使得网络在特征提取与健康状况识别方面都有极大提高[14]。另一方面,如前所述,许多国际知名的制造或IT企业都专注于设备的智能在线监控和PHM应用,推出了多个机器学习云服务平台产品,如微软的Azure、谷歌的Cloud Machine Learning、阿里巴巴的PAI等机器学习平台,利用商业智能数据分析服务,实现了状态监测、可预防维护等健康管理应用,提升了企业产品的服务质量和智能服务水平。
例如,罗罗公司与微软公司合作,通过微软的Azure云平台技术对地理位置分散的不同数据源进行收集与汇总,提供的基于大数据分析的性能衰退与剩余寿命预测服务能够帮助航空公司合理规划维修工作,避免计划外停运,在1年中帮助航空公司避免了近70%的潜在发动机维修工作,从而为航空公司节省了可观的维修费用[15]。谷歌、阿里巴巴的机器学习平台产品也形成了较多PHM案例[16-18]。
结合很多案例可以发现,机器学习云平台在PHM的应用中相对于传统的软件系统具有一定的优势,例如分布式云服务架构让更多用户能够构建PHM并与之交互、机器学习工具降低了对人员技术水平的要求、远程主机平台降低了应用单位的维护压力、为第三方用户提供更高效的服务等等,从而为基于机器学习建模的航天器PHM平台设计实现提供了技术基础。
根据航天器系统的特点及其PHM建模要求,借鉴了主流的机器学习平台产品理念,在以往航天器PHM平台技术研究基础上[19-21],设计了基于机器学习的航天器PHM平台的架构,如图1所示,具体包括:
图1 基于机器学习建模的航天器PHM平台架构示意图
1)PHM服务接口。使用Eureka服务客户端查看平台提供的服务接口,使用http协议,调用诊断、预测、评估等健康管理微服务计算,最后返回计算结果。
2)PHM微服务。使用TensorFlow、Python、C++等不同类型语言编写的计算模型,通过Spring Cloud发布服务。
3)消息中间件。使用Kafka分布式消息系统解决TB级数据处理,可以保持长期稳定。
4)基础算法库。借助Spring Cloud支持的计算服务引擎,可以集成自己开发的算法或第三方算法包,如TensorFlow、Pandas等,并通过接口封装。
5)集成开发平台。使用图形化建模工具,可以在平台上拖拽构建算法模型流程。进程发布为微服务,支持外部Http调用。
6)专用模型。在之前工作的基础上,建立属于航天器领域的专用PHM算法模型,如控制系统的陀螺动力学方程和供配电系统的电池寿命预测模型,这些都是在长期研发过程中逐步积累的。
7)典型入口。平台提供运行控制、测试分析、安全调度、知识工程、设计改进等入口。
TensorFlow、Pandas等算法包不仅有传统的统计分析、时频域计算、神经网络等算法,还提供深度机器学习支持,包括CNN神经网络、GAN神经网络等(如图4所示)。这些深度学习算法有效地提高了图像、声音等的模式识别精度,并且可以将其应用于健康管理领域。
针对航天器健康管理的具体要求,在参考阿里云PAI和微软Azure等机器学习平台的基础上,设计开发了航天器健康管理模型集成开发工具,如图2所示。
图2 通用算法库界面示意图
需要配置模型的输入输出接口和中间参数。算法模型的接口是否完整和正确直接影响到后续算法模型的使用。 在设计这部分时,可以参考开发文档,也可以参考官方的图形界面如TensorBoard,如图3所示。
图3 PHM图形模型集成开发工具示意图
为了支持机器学习应用,需要设计一套机器学习的训练和数据计算服务。外部用户可以通过http接口调用服务。响应微服务请求后,平台中的Spring Cloud通过调用输入的训练数据和计算数据完成模型的训练和计算,并输出计算结果。 具体流程如图4所示。
如图4所示,具体流程包括:
课程设计改革 高年级学生开始具有机械设计课程设计、机械制造装备课程设计等,传统的执行方式是学生在电脑上完成设计结构的三维模型和绘制相应的装配图、零件图。不少高校出于课时、安全、成本等各种因素考虑,学生真正利用传统的加工机床完成实物制作的少之又少,进而无法验证设计结构的合理性,也未能得到直观的认识。3D打印技术具有快速实现、安全等优势,因此考虑用3D打印技术来进行课程设计的实物制作,提升学生对设计结构的认识,是可行且十分需要的。通过课程设计的实物3D打印,学生一方面能够认识设计结构,另外一方面能够更深层次理解3D打印技术。
图4 航天器机器学习平台工作流程示意图
1)数据输入,计算请求的任务信息(任务id、计算周期、请求地址等),模型参数(如预处理方法、神经网络层数、输入层定义、隐藏层神经元个数等)、训练数据和计算数据等。
2)任务请求,平台收到任务请求后,解析服务数据,并将数据发送给服务器主控制器(Master)。Master根据Mesos、TensorFlow等并行计算资源设置条件将计算出的数据发送到多个服务容器。
3)循环计算,计算服务器资源采用并行方式,根据CPU和内存资源的分配情况读取特定数据,训练神经网络,通过多次迭代完成模型训练。
4)模型文件保存,文件经过训练后由服务器保存,保存在服务器硬盘中。
5)数据返回,计算后PHM微服务通过http协议将计算结果返回给用户系统,用户系统加载并显示计算结果。
6)模型优化,平台通过设置模型训练周期,利用用户输入的数据,计算并修正模型文件的误差,实现自学习能力。
健康管理算法模型是PHM平台的核心技术,这些模型主要用来实现对航天器不同分系统、部件的异常检测、故障诊断、故障预测、维修决策等综合性需求,当针对卫星等进行健康管理平台开发时,由于其结构的复杂性,一般开发团队由于其技术领域限制,已无法实现装备级的PHM系统开发,需要来自不同领域、不同专业的团队合作,开发满足不同需求的算法模型,进而实现部件级、分系统级的健康管理。但这种合作带来的问题在于不同的团队使用的技术尤其是语言有比较大的差异,比如开发人员普遍采用面向对象的java语言进行web开发,而算法工程师更偏向于采用python和matlab语言进行算法模型的开发。在实际工程应用中,如何解决这种多语言融合的问题一直是PHM平台开发的热点研究方向。当前针对这种多语言融合的问题暂时没有比较高效的方法,主要采用算法设计和算法实现分离的形式,避免算法开发出现多语言的问题。主要是算法工程师提供算法设计的总体思路,以伪代码或者解决方案的形式提供给开发人员,开发人员采用C或者java语言,根据算法的原理来实现相应的功能,并集成到对应的业务系统中。这种方法在一定程度上是可行的,但是会明显地降低开发效率。
随着机器深度学习技术、大数据技术的兴起,PHM的核心故障诊断、预测、评估算法模型趋向于海量数据建模、神经网络运算,而且有别于业务逻辑系统的开发,PHM算法得实现核心依赖于海量数据,基于矩阵的GPU运算具备更高的优势,针对复杂的GPU并行计算,也依赖于当前专业的机器学习框架如Tensorflow、Keras、Matlab等。合理使用相应的技术架构、开发语言能够快速的作为PHM系统的开发,而这种技术架构、开发语言的融合由于缺乏成功的工程经验,也导致了各种现有的技术无法有机融合,无法实现更先进的PHM系统。
使用Docker容器技术和微服务是解决上述问题的关键技术。Docker容器是一种先进的虚拟化技术,它能够轻量级的搭建一个具有核心功能的Linux系统,基于此系统能够安装所需的任何运行环境,并且能够将各种运行环境隔离开来,以接口的形式实现各种运行环境的交互,能够实现技术架构层次的统一。而微服务技术能够将不同的应用发布成独立的微服务,而忽略实现相应应用的过程,包括开发语言和技术架构。采用Docker+微服务的技术结合形式,是实现多语言融合的算法模型构建有效的方法,如图5所示。
图5 多语言推理引擎技术框架
图6 分布式健康管理服务引擎技术框架
通过采用的分布式服务架构,可实现以下服务流程:应用服务器经数据中间件服务器,将计算任务请求发送至计算服务器,支持的任务类型为Python等引擎,“Scheduler”部分根据任务请求创建出多个Job,每个Job代表了一个独立应用的计算分析任务,例如某航天器XX功率预测等;具体流程包括如下内容:
1)发送资源请求及任务信息:由应用服务器,根据TensorFlow计算架构,将Job转换为TensorFlow Job,该Job将根据计算任务预先配置的资源需求(例如PS:1个,需求1 CPU、1 GB内存;Workers:3个,每个Worker 1 CPU、2 GB内存。总计:4 CPU、7 GB);
2)反馈资源:Mesos Master(独立的物理主机)实时接收下设多台Mesos Slave计算服务器,反馈的各自物理空闲资源。例如:Mesos Slave-1剩余3 CPU、4 GB,Mesos Slave-2剩余1 CPU、2 GB,Mesos Slave-3剩余2 CPU、4 GB…;
3)分配任务资源:Mesos Master服务器的Moduler将根据下设各Slave资源,采用最优化的方案,对Job资源进行分配,例如将PS1及Worker(1~3)分别分配在Mesos Slave1~3中;
4)识别身份:Mesos Slave通过与Master通信,识别自身在Job中的身份,例如Task1、Task2等;
5)建立TF结构:在Slave识别自身在Job的身份,按照身份开辟多个Task线程,组成PS、Works结构;
6)计算执行:由Slave根据TensorFlow结构进行计算;
7)向Master反馈执行结果:由Slave向Master反馈计算结果;
8)向Web-Server反馈执行结果:由Master向应用服务反馈计算结果。
利用通用故障预测与健康管理开发工业软件实现了基于机器学习建模的航天器健康管理平台,以卫星电源分系统关键部件预测为例进行验证。卫星电源分系统的太阳电池阵具有额定功率,在长期的轨道运行过程中,整个太阳能电池阵的输出功率会因为粒子撞击和材料老化等原因发生下降并逐渐减少,从而导致寿命退化。
航天器太阳电池阵输出功率预测主要基于光电转换的经验模型,利用地面试验数据估算模型参数。 具体的模型方法如图7所示。结合以往的经验,实际工程中的这种预测模型需要获取大量的测试数据,而实际工程中往往会进行等效的简化模型构建与应用。
图7 基于经验模型的太阳阵输出功率预测原理及电压电流关系
如图7所示,对电源分系统的关键部件太阳电池阵,分析其工作机理,建立基于等效电路的太阳电池阵输出功率衰减模型。根据太阳电池阵的工作原理,考虑太阳光强、入射角、衰减因子等空间环境的影响,建立基于等效电路的太阳阵输出功率预测模型,并用遥测数据对已建立的模型进行修正,可以对输出功率的短期异常进行检测和判断,并对长期工作中出现的性能衰退趋势进行预测。
利用PHM机器学习平台中的深度学习模型,建立了太阳电池阵列功率预测的数学模型。通过读取卫星电源分系统关键部件的遥测数据,包括母线电压、充电电流、放电电流、分流电流等,计算出太阳电池阵的输出功率,利用长短期记忆网络(LSTM,long short-term memory)实现功率预测。与传统模型方法相比,LSTM具有建模方法简单、无需获取过多参数、预测精度好等优点,主要步骤包括:
1)图形化建模。使用平台提供的图形化工具进行建模,整个过程包括数据采集模块、数据预处理模块、LSTM神经网络训练模块、LSTM神经网络预测模块、预测值精度测试模块等,如图8所示。具体包括:
图8 航天器机器学习平台下太阳电池阵LSTM 预测建模过程
(1)数据库模块:通过提供数据库接口访问航天器遥测数据。
(2)预处理模块:根据电流和电压计算功率,进行平滑降噪等处理。
(3)归一化模块:对计算出来的数据进行归一化处理,避免不同维度数据的影响。
(4)LSTM训练模块:配置LSTM网络训练模块,用输入的部分数据训练LSTM网络预测模型。
(5)LSTM计算模块,计算并输出预测结果。
(6)评估模块:将原始数据与结果和输出预测精度进行比较评价。
2)LSTM训练。使用平台提供的模型训练工具完成模型初始化训练。 由于深度学习神经网络的复杂结构,海量数据训练是计算密集型和长期的。建议使用高性能机器学习 GPU 服务器进行训练。
3)微服务发布。训练好的太阳能电池阵列功率预测模型发布后,可以通过Eureka等服务客户端查看服务微服务,客户端WEB页面还提供具体微服务的详细信息供外部用户查看参考,如图9所示。
图9 微服务发布和状态监控界面示意图
4)使用经过训练的 LSTM 网络,通过输入一段历史数据进行数值预测。无需复杂的网络设置和调整,LSTM 就可以实现更好的数据预测,并预测特定时间内太阳能电池阵列功率变化的趋势,如图10所示。
图10 基于LSTM的太阳阵输出功率预测结果示意图
通过添加更多遥测数据并提取最大功率极值特征,预测太阳能电池阵列功率,如图11所示。
图11 太阳阵输出功率不同方法预测结果对比示意图
机器学习平台可以通过微服务、机器学习和消息中间件系统为 PHM 应用程序提供先进和高效的支持。本文提出了面向机器学习建模的航天器健康管理平台设计方案与方法,但PHM应用效果更依赖于核心算法模型,相关研究和项目体系建设还存在诸多技术难点。后续将继续在该领域进行研发,以加快航天器健康管理的发展,提高系统技术的成熟度。