卫星故障诊断系统智能研制技术研究

2017-07-07 13:20李洪珏董云峰
上海航天 2017年3期
关键词:源代码遥控部件

李洪珏,董云峰

(北京航空航天大学 宇航学院,北京 100191)



卫星故障诊断系统智能研制技术研究

李洪珏,董云峰

(北京航空航天大学 宇航学院,北京 100191)

为解决卫星故障诊断系统研制周期长、重复性工作量大的缺点,针对基于平行系统和数字卫星概念设计的卫星故障诊断系统,提出一种智能研制技术。建立包含参数、接口、原理模型、误差模型、故障模型和三维模型的数字部件库,利用数字装配技术实现对卫星的规范化描述,基于逻辑维分形结构将源代码书写规范分为确定性规则、有限规则和推理规则,采用机器学习的方法完成源代码书写规则的推理和实施,实现包括子系统部件、姿轨控软件、星务软件、耦合场计算、其他文件和地面测控系统等的数字卫星、遥测遥控系统与配套工具的源代码自动书写、编译及部署。针对多颗卫星进行故障诊断系统研制,系统运行结果表明了智能研制技术在提高系统研制效率方面的可行性和有效性。

卫星; 故障诊断; 平行系统; 智能研制; 数字装配; 机器学习; 逻辑维; 分形

0 引言

在轨运行的卫星越来越多,造价也越来越高昂,一旦发生故障将造成重大损失。准确及时发现卫星故障能为卫星争取更多的抢救机会。故障诊断的基本思路是将遥测参数与常态比较。最简单的方法是利用某些单个参数常态变化相对稳定的特性进行故障诊断[1-6]。对利用多个参数的诊断方法也进行了大量研究,在故障分离识别、数据关联分析、证据推理和计算智能诊断等方面取得了一定进展[7-10]。卫星本身是一个各子系统耦合的复杂对象,仅靠反映局部物征的几个参数的诊断方法先天存在很大的局限性。加拿大空间局的TAFAZOLI对1980年至2005年间的156个在轨失效实例(129颗卫星)进行了统计,其中不明原因的故障占17%[11]。哈尔滨工业大学的梁斌等对2006年1月至2009年8月31日的GEO卫星进行了统计,在共计16颗的故障卫星中,不明原因故障1颗,能定位到子系统级故障仅3颗[12]。因此,最理想的方法是建立一颗与真实卫星的组成、结构一一对应的数字卫星,数字卫星运行于虚拟的空间环境中,其模式、程序、操作与真实卫星保持一致。通过比对真实卫星与数字卫星的遥测残差发现问题。北京航空航天大学的赵文利用此概念建立了一套卫星故障地面诊断系统样机,采用机器学习的方法对模拟器与真星间的遥测残差进行分析,初步验证了系统的有效性[13]。这种平行运行的卫星故障诊断系统的主要瓶颈是数字卫星开发的工作量巨大,每颗真实卫星都需要专业团队花费数月时间专门开发一个与之对应的数字卫星。因此迫切需要找寻一种能缩短系统研制周期、降低研制工作量的方法。为此,本文对一种用于卫星故障诊断系统的智能研制技术进行了研究。

1 设计思路

基于平行系统虚拟空间与真实空间的概念,卫星故障诊断系统包括数字卫星、地面分析与诊断系统,以及故障诊断与预测算法库三部分。系统的组成如图1所示。

图1 故障诊断系统组成结构Fig.1 Composition and structure of fault diagnosis system

数字卫星提供卫星的标称运行状态数据和遥测数据。地面分析与诊断系统获取真实卫星和数字卫星的遥测数据进行残差分析,然后调用相应的故障诊断或故障预测算法进行故障分析、诊断或预测。

卫星正常时可利用真实的遥测数据修正虚拟空间中数字卫星的模型。通过数据挖掘方式提取残差中人能理解的简单规律,对数字卫星中的数学模型进行修正。对过于复杂的规律,则可通过机器学习的方法对数字卫星进行修正,这些模型的修正有其通用性。

故障诊断与预测算法库中存放故障诊断和预测所用的单信号分析、多信号分析、聚类分析和其他智能方法,各种算法可不断扩充,多个卫星能共用。

根据工程方法论的逻辑维,完成任何工作都需经过明确目标、制订方案与实施执行三个阶段。针对故障诊断系统研制,明确目标是明确所研制的数字卫星及其对应的地面遥测遥控编码解码系统;制订方案是确定开发所用语言、开发程序数量、每个程序包含的文件,每个文件包含的函数,每个函数的书写;实施执行是完成具体的书写,然后编译成可执行文件。

目前对真实卫星的描述文档大部分采用的是便于人理解的语言文字,而现阶段机器智能还达不到能准确理解这些文档的程度,因此需引入数字装配概念。

数字装配特指由人阅读真实卫星描述的相关文档,用辅助工具给出计算机能理解的卫星数据描述此过程。数字装配的结果是计算机能理解的卫星描述,是在数字世界中对卫星设计结果的规范化记录。常用的规范化记录载体包括XML文件和数据库。

本文的智能研制技术特指由人来明确输入需要模拟的卫星信息,基于机器学习等计算智能理论方法,由计算机自主制定出书写仿真源代码与编译部署的方案,最终自动完成方案定义的工作,生产出符合任务目标的数字卫星。

2 数字装配

数字装配基于数字部件库,包括点数字装配、流数字装配和包数字装配三部分。

数字部件是数字装配的基础,是真实卫星零部件的数字化描述,包括基于ProE等商业软件开发的三维模型、质量材料等特性的规范化参数,以及包括部件的原理模型、误差模型和失效模型的源程序文件。部件的原理模型具备不同的模拟粒度,部件失效模型覆盖各类部件的常见故障模式。将数字部件按一定规则进行统一的组织、存储和管理,即形成数字卫星零部件库。

点数字装配将卫星看成一个抽象的点,不包括任何具体的部件特性。点数字装配主要包括任务性能指标描述、任务约束描述、飞行轨道描述与姿态机动要求描述四部分。

流数字装配只考虑各部件功能上的相互关系,包括结构、供电、热、测控、推进和姿轨控,以及有效载荷等部分。

结构子系统装配包括主承力结构选取与各部件安装位置配置。在动力学仿真的框架内给出柔性帆板、天线、机械臂、贮箱液体晃动描述参数。电源子系统装配将太阳能电池、太阳帆板、蓄电池、充放电调节器、配电箱、星上各设备供电分支网络等部件的参数转换为规范化的描述。热控子系统装配根据卫星结构的几何与材料特性完成外、内表面单元和体单元划分,确定卫星热场计算网络节点与节点间的热传导、热辐射交换系数等规范化数字描述。测控子系统装配完成天线、功率放大器、应答机等上下行测控链路的规范化描述。推进子系统装配完成阀门管路联通的高压气瓶、氧化剂贮箱、燃料贮箱到推力器的物流规范化描述。姿轨控子系统装配给出各种飞行模式采用的敏感器与执行机构、控制器所用的剔野算法、滤波算法、姿态确定算法和姿态控制算法,星上模式自主切换条件等规范化描述。

包数字装配将卫星内部信息传输过程转换为标准化的描述。每个部件在入库时需记录其包含的信息传输通道,每个通道可接收和输出的信息包,每个信息包所含参数。卫星包装配是明确卫星的实际通道,每个通道上连接的部件,部件间是按一问一答、一问多答或其他传输协议交换信息。

包数字装配的重点是星上数据处理中心运行的软件系统,数管的核心是遥测遥控信息处理。目前遥测编码处理方式主要分为基于高级在轨协议(AOS)的分包遥测和传统的波道遥测两种。AOS分包遥测包括虚拟信道访问业务、数据单元业务、多路复用业务、位流业务和包装业务装配。波道遥测装配分为波道层次分解、波道分配工况定义和波道内容定义三个核心部分。遥控指令装配主要是定义离散、比例、直接、数管等各种格式的遥控指令,进一步定义多个指令组合在一起的遥控包。

3 源代码智能书写技术

美国系统工程专家霍尔提出了时间、逻辑、知识三维结构。包妙琴在研究工程学时指出应该用系统维代替知识维。

源代码书写方案制订从系统维的角度可分解为程序、文件、函数、语句、表达式、变量六个层次。

逻辑维可从层次上最终分解明确目标、指标设计、方案综合、方案分析、结果评价、系统决策和执行计划七步,如图2所示。

逻辑维本身具分形特征,除每步可在系统维分解外,第二至第六步中每歩都可在下一层次的逻辑维中进一步展开。

源代码书写中最主要的方法是用逻辑维的分形特征将代码书写过程分解为多个层次的任务,让机器从最基本的任务学起,然后在已学会的任务上逐步扩展,最终完成全部书写任务。书写方案任务分解决策如图3所示。

图2 逻辑维的分形特征Fig.2 Fractal characteristic of logic dimension

图3 源代码书写的任务分解决策Fig.3 Decomposition of source code writing task

在每个任务书写方案制订时,需根据任务的复杂性与可选的技术手段确定相应的书写规则。书写规则分为确定性规则、有限规则和推理规则三种类型。

确定性规则是指代码具备明确的书写规范且不随卫星而变。确定性规则可固化在源代码书写程序中。

有限规则是指源代码随卫星变化,但由于卫星技术传统的限制,不同卫星的选择很有限,故对应的书写规则也有限。这时可将所有可选的书写规则存放在数据库中,每次书写时根据卫星的实际选择。

推理规则是指不仅源代码随卫星变化,而且这种变化由于不同层次的决策造成了大量分支,不能简单地用有限的书写规则完成任务,必须根据卫星和书写规范进行推理后才能得出书写规则。

推理规则需采用PROLOG等描述性语言编写推理程序,由人对决策过程所用的事实和推理规则进行描述完成知识存贮。与常用的过程性语言不同,描述性语言利用回溯机制遍历求得可行解,无特定的运行顺序。

4 源代码书写程序研制

卫星故障诊断系统中需用源代码书写技术进行研制的程序包括数字卫星、地面测控系统、二维三维显示与载荷成像显示三部分。数字卫星源代码的书写可进一步细分为各子系统部件源代码集成、星载姿轨控与数管软件书写,以及反映卫星动态运行规律力电热磁耦合场计算源代码书写三部分。系统维分解如图4所示。

图4 源代码书写的系统维分解Fig.4 Decomposition of source code writing procedure from perspective of system dimension

4.1 子系统部件书写程序研制

每个数字部件根据所在的单机组个数对应一个或多个源代码文件,文件名与单机组名称相同,在装配时保证不重复。

数字部件文件主要由参数接口、模型、输入和输出组成。分别对应初始化函数、模型函数、输入函数和输出函数。函数命名方式遵循确定性规则,由单机组名称、部件类型名称、部件型号名称和函数名称构成,名称间用下划线连接。

参数接口书写遵循确定性规则,检索部件库后在初始化函数中逐条书写。部件原理模型、误差模型和故障模型以代码片段的形式存放在文件中,书写时直接读取部件各模型代码片段并逐行写入模型函数。输入和输出函数书写遵循有限规则。根据用户装配的包传输协议和收发条件,遍历该部件所有传输通道、发送包和接收包,采用switch…case语句书写每个通道传输的所有信息包,采用if语句书写一问一答的传输协议,采用while语句书写一问多答的传输协议。

4.2 姿轨控软件书写程序研制

星载姿轨控软件从软件模块结构的角度可分为数学基础层、力学基础层、算法层和实体层。

数学基础层和力学基础层分别由两个固定不变的源程序文件与头文件组成,在书写时直接将文件拷贝至相应位置。

算法层书写主要包括姿态确定算法和姿态控制算法文件书写,总体遵循有限规则。算法文件的结构遵循确定性规则,自上至下分别为头文件声明、变量定义、函数声明、函数定义四部分。以姿态确定算法文件为例,头文件声明遵循固化在书写程序中的确定性规则直接书写,然后针对流数字装配中的每个敏感器,检索数据库中该敏感器在星载姿轨控软件中对应的接口变量、姿态确定算法的函数声明语句和函数主体代码片段,分别写入姿态确定算法文件的变量定义、函数声明和函数定义区域,如此遍历所有敏感器,最终完成整个文件书写。

实体层主要指星载姿轨控软件的逻辑处理文件,遵循有限的书写规则,主要包括飞行模式书写和飞行流程书写。飞行模式采用switch…case语句书写,每个case分支对应一个飞行模式,依照确定性规则顺序列写该模式采用的滤波算法、姿态确定算法、姿态控制算法、控制指令分配逻辑的函数调用语句。飞行流程切换采用一个if…else if…else语句书写,每个条件判断语句对应一个逻辑切换条件。

4.3 星务软件书写程序研制

星务软件源代码书写主要包括星上遥测代码书写和星上遥控代码书写两部分。

以基于AOS协议的遥测代码为例,星上遥测代码包括工程源包组包函数、EPDU等组包程序文件和一系列参数配置头文件。其中工程源包组包函数位于星务软件程序文件中,根据包数字装配结果采用switch…case语句逐个书写。组包程序文件不随卫星而变,书写时直接拷贝到相应位置。参数配置头文件中以宏定义或结构体的方式定义EPDU等各类包的长度、主导头、包尾和标识符等参数。

星上遥控代码包括星上中央遥控程序文件、解包程序文件,指令分发程序文件和遥控参数配置头文件。

中央遥控程序文件书写时,首先检索数字部件库中中心遥控部件的状态量取值范围并采用宏定义的方式书写,然后采用确定性规则逐行书写接收函数和解包函数调用语句,最后从包数字装配结果中获取所有遥控指令的内部传输包,传输条件作为if语句的条件判断表达式,遍历所有传输包完成发送函数的逐行书写。解包程序文件提供遥控指令包解包函数实现,并根据包标示符调用相应处理函数完成指令后续处理,不随卫星而变。

指令分发程序文件中包含分别针对定时指令和立即执行指令的缓冲区存取函数和发送条件刷新函数,皆采用switch…case语句书写。对于缓冲区存取函数,检索包数字装配结果中缓冲区个数和ID,书写缓冲区存取函数的case个数为缓冲区个数,case条件为缓冲区ID,根据确定性规则逐行书写语句内读写缓冲区的代码。

参数配置头文件书写时,根据包数字装配中的遥控指令装配结果,采用宏定义或结构体形式定义定时指令编号、比照指令包标示符等参数和遥控指令结构等信息。

4.4 耦合场计算源代码书写程序研制

耦合场源代码书写包括引力场、热场、电场和磁场。

力学计算确定卫星的轨道、姿态状态,不随卫星而变,力学方程的各项采用宏定义方式封装,卫星质量、惯量、柔性动力学参数等通过配置文件读入。

电场计算确定卫星实时的产电量和耗电量,刷新电池的剩余电量和部件的供电状态,包括计算程序文件和头文件。计算程序文件中采用结构体数组定义母线,结构体中包含连接的电池、连接的帆板等信息和负载功率等参数,完成主要计算功能,无需书写。头文件书写遵循,根据电源子系统流数字装配确定母线个数、电池个数等参数,以宏定义形式书写,供计算文件中的数组变量定义。统计确定每根母线连接的负载部件个数,以变量形式书写,供计算文件中的母线负载计算等循环语句使用。

热场根据热平衡方程计算卫星各热单元的温度变化,包括计算程序文件和头文件。头文件中,根据流数字装配中的部件安装信息和热单元划分信息,创建包含部件编号和所在热单元编号的结构体并逐行书写。计算程序文件中引用头文件,然后完成热场初始化、空间辐射计算和热单元温度更新,具备通用性。热计算所需的热传导、热辐射交换系数等系数矩阵从配置文件中读取。

磁场文件按与电热场文件类似的方法书写。

4.5 其他文件书写程序研制

工程框架中包含数字卫星源代码编译所需的配置信息,其中工程包含的文件列表根据工程文件名逐个列写,其他内容固定。

其他必要文件包括数字卫星运行依赖的地球引力场模型、国际地磁参考场模型、JPL星历表、卫星信息配置文件和仿真工况配置文件。地球引力场模型、国际地磁参考场模型和JPL星历表不随卫星而变,直接拷贝至相应位置。卫星信息配置文件是对数字卫星点描述和流描述的归纳与综合,仿真工况配置文件由用户通过仿真工况配置程序生成。

4.6 地面测控系统书写程序研制

地面测控系统主要包括地面遥测和地面遥控两部分。

以基于AOS协议的地面遥测代码为例,地面遥测代码主要包括EPDU、MPDU、VCDU、工程源包等解包程序文件、各类参数配置头文件和工程框架文件。其中只有参数配置头文件需根据不同配置进行书写,参数配置头文件中以宏定义的形式定义编码方式、同步位、图像数据尺寸、压缩方式等参数。

地面遥控部分包括遥控程序和遥控数据库。遥控程序为通用的C#界面。遥控指令装配结果保持在流数字装配结果数据库中,在源代码书写时根据流数字装配结果数据库刷新地面遥控数据库,供遥控界面读取完成遥控指令组包和发送。

完成上述源代码书写过程后,配合可定制的二维显示界面、三维演示界面和数据归档程序,即可进行故障诊断系统的仿真运行。

5 应用实例

以某高轨导航卫星为例,进行卫星故障诊断系统研制。该卫星装配有单缝扫描式数字太阳敏感器、摆动扫描红外地球敏感器、星敏感器、陀螺、动量轮、推力器、柔性太阳帆板等部件,采用AOS协议进行测控通信,飞行模式包括速率阻尼、太阳捕获、地球捕获、地球指向、正常运行、东西位置保持、南北位置保持、姿态机动和远地点点火,电源子系统包括母线2条、蓄电池2组和充放电调节器2个,热控子系统包括热管、多个热敏电阻和多个加热器,推进系统包括燃料贮箱1个、氧化剂贮箱1个、气瓶2个、常开电爆阀、常关电爆阀、高压自锁阀、加排阀、减压阀和多条管路。远地点点火模式的仿真运行过程如图5所示。

卫星供电子系统仿真如图6所示。

卫星热控和推进子系统仿真图7所示。

图5 某高轨卫星仿真运行过程示意(远地点点火)Fig.5 Simulation of a high obit satellite (running in orbit maneuver mode)

图6 卫星供电子系统仿真Fig.6 Satellite power subsystem simulation

卫星测控子系统仿真如图8所示。

针对卫星陀螺和动量轮分别设计了陀螺常值漂移增大故障、陀螺输出饱和故障、动量轮停转故障和动量轮摩擦力矩变大故障,采用阈值诊断算法、混沌分析和支持向量机等方法分别进行故障诊断,均能得出正确的诊断结果,部分诊断结果如图9所示。

图7 卫星热控和推进子系统仿真Fig.7 Satellite thermal control and propulsion subsystems simulation

图8 卫星测控子系统仿真Fig.8 Satellite TT&C subsystem simulation

图9 阈值诊断结果示意Fig.9 Fault diagnosis result by threshold diagnosis method

用智能研制技术生产的某灵巧卫星进行失效卫星离轨操作的过程如图10所示,包括接近、悬停绕飞、机械臂展开和抓捕等飞行历程。该卫星装配有激光雷达、光学相机、陀螺、推力器等部件,无地面测控通信,飞行模式主要包括逼近模式和绕飞模式。

图10 灵巧卫星进行失效卫星离轨操作过程Fig.10 On-orbit service by a capture satellite

用智能研制技术生产的某低轨侦查卫星的有效载荷拼接成像如图11所示。该卫星装配有对地观测相机有效载荷,采用AOS协议进行测控通信,包括速率阻尼、太阳捕获、地球捕获、地球指向、正常运行、姿态机动和姿态偏置。

图11 有效载荷拼接成像Fig.11 Assembling of images captured by space camera

6 结束语

本文给出一种智能研制技术,将卫星通用化部件按类型和型号分类建立部件库,设计了基于部件库的数字装配方法,将卫星、测控系统和配套工具的各类设计描述转化为机器能识别的规范化描述,结合逻辑维和分形分析方法对故障诊断系统的源代码进行划分,采用机器学习的方法确定规范化描述与系统源代码间的对应关系,完成整个系统的源代码书写。采用智能研制技术可将故障诊断系统的研制工作量从数十天缩短至数天甚至数小时,同时提高故障诊断系统的移植性和通用性。文中给出的研制实例说明了智能研制技术的有效性。智能研制技术可进一步推广用于卫星辅助方案设计与优化、卫星故障快速推演与反演,以及卫星故障应对措施论证、试验与训练。

[1] 胡迪. 反作用轮不完全数据故障诊断新算法[J]. 中国空间科学技术, 2015, 35(1): 19-26.

[2] LI Z Z, ZHANG R, LIU G H, et al. Fault detection, identification and reconstruction for gyroscope in satellite based on independent component analysis[J]. Acta Astronautica, 2011, 68(7-8): 1015-1023.

[3] 李知周, 张锐, 朱振才, 等. 基于扩展卡尔曼滤波的动量轮故障检测方法[J]. 航空学报, 2010, 31(8): 1614-1621.

[4] HU D, SAROSH A, DONG Y F. A novel KFCM based fault diagnosis method for unknown faults in satellite reaction wheels[J]. ISA Transactions, 2012, 51(2): 309-316.

[5] 龚学兵, 王日新, 徐敏强. 飞轮传感器的高斯混合模型故障检测方法[J]. 宇航学报, 2015, 36(6): 699-704.

[6] WANG Z H, SHEN Y, ZHANG X L. Satellite gyroscopes fault diagnosis based on numerical differentiation scheme[J]. Journal of Astronautics, 2012, 33(9): 1262-1268.

[7] 高春岩. 基于模型的执行器故障诊断及其在卫星姿控系统中的应用[D]. 哈尔滨: 哈尔滨工业大学, 2013.

[8] 龚学兵, 王日新, 徐敏强. 基于数据关联性分析的飞轮异常检测[J]. 航空学报, 2015, 36(3): 898-906.

[9] 杨天社, 杨开忠, 曹雨平. 应用证据推理理论实现卫星故障诊断信息的融合方法[J]. 空间科学学报, 2003, 23(3): 226-232.

[10] TALEBI H A, KHORASANI K. A neural network-based multiplicative actuator fault detection and isolation of nonlinear systems[J]. IEEE Transactions on Control Systems Technology, 2013, 21(3): 842-851.

[11] TAFAZOLI M. A study of on-orbit spacecraft failures[J]. Acta Astronautica, 2009, 64: 195-205.

[12] 梁斌, 徐文福, 李成, 等. 地球静止轨道在轨服务技术研究现状与发展趋势[J]. 宇航学报, 2010, 31(1): 1-13.

[13] 赵文, 董云峰. 卫星在轨故障地面诊断系统设计[J]. 航天器工程, 2014, 32(3): 92-97.

Intelligent Development Technology of Satellite Fault Diagnosis System

LI Hong-jue, DONG Yun-feng

(School of Astronautics, Beihang University, Beijing 100191, China)

To deal with the problem of long development cycle and heavily repetitive program workload of traditional satellite fault diagnosis system, an intelligent development technology was proposed to develop satellite fault diagnosis system based on parallel system and digital satellite. A digital device database was established including device parameters, interfaces, principle models, error models, fault models and 3-dimension models. The standard description of the digital satellite was determined by digital assembly. Based on the fractal structure of logic dimension, the source code generation rules of the satellite fault diagnosis system can be divided into three types that are deterministic rules, limited rules and rules worked out by inference. Machine learning is applied for reasoning and establishing source code generation rules, and these rules are used to accomplish source code generation, compilation and disposition of parts of sub system, attitude and orbit control software, satellite operation software, coupling field computation, other documents and ground test and control system. Several satellite fault diagnosis systems are developed according to different satellites, whose performances and effectiveness in improving system development efficiency are proved by simulation results.

satellites; fault diagnosis; parallel system; intelligent development; digital assembly; machine learning; logical dimension; fractal

1006-1630(2017)03-0052-08

2016-09-10;

2016-11-23

国家重点基础研究发展计划(973计划)资助(613237XX)

李洪珏(1990—),男,博士生,主要研究方向为飞行器动力学与控制、数字飞行器智能研制。

董云峰(1965—),男,博士,教授,主要从事航天器总体设计技术、航天器动力学与控制技术、数字航天器动态模拟技术研究。

TP277

A

10.19328/j.cnki.1006-1630.2017.03.007

猜你喜欢
源代码遥控部件
“遥控”老师
基于TXL的源代码插桩技术研究
奥迪e-tron纯电动汽车的高电压部件(下)
一种陀飞轮表的双秒轮结构
现代汉字的两种分析法与国家文字规范(四)
他是如何遥控引爆的
古文字中“口”部件的作用研究
保护好自己的“源代码”
解密别克安全“源代码”
遥控赛车