Page 313 - 《软件学报》2026年第3期
P. 313
1276 软件学报 2026 年第 37 卷第 3 期
4.1 非预期故障
4.1.1 控制软件应用逻辑
控制软件作为空间飞行器的核心, 其运行在星载计算机中, 主要完成飞行器的轨道与姿态控制功能. 通过星敏
感器测量航天器本体坐标系相对于某个基准坐标系的相对角位置和角速度, 以确定航天器的姿态. 星敏工作状态
通过其遥测数据进行判断. 如果星敏通信正常, 地面能够正常获得测量数据, 包括姿态数据 (四元数) 和状态数据
(星敏工作模式、识别星数、姿态质量). 如果状态数据连续一段时间异常, 则认为星敏发生故障. 现有方法在星敏
数据出现异常时, 无法自动应对, 需要耗费大量人力和时间成本. 在某些紧急情况下, 故障处理不及时, 甚至可能导
致航天器受损或任务失败.
航天器控制软件总框架分为系统软件和应用软件两部分, 两者经过联合编译后一起存放在程序存储器 NorFlash
中. 系统软件负责维护计算机系统的正常运行以及所有的任务调度, 应用软件负责完成卫星姿态控制任务, 其中故
障诊断和恢复应用逻辑如图 8 所示. 首先针对逐个敏感器和执行机构的部件进行故障诊断, 包括通信层、数据层、
方案层这 3 个维度. 通信层中, 对敏感器采集数据包的帧头和校验和进行检验, 若发现错误则认为通信故障, 相应
执行故障链路重启的操作, 再次发送数据传输请求. 数据层中, 对敏感器采集数据包中关键信息进行检验, 判定所
采集数据有效性 (例如, 星敏数据包中识别星数应大于等于 3, 否则该星图数据无效), 若检测出该故障对相应部件
进行加断电重构. 在方案层中, 根据型号定制化的方案层面需求对数据进行额外的判定或校验 (例如, 星敏常值持
续 10 s 判定为数据无效), 在此情况下启用备选方案 (例如, 启用备份星敏). 之后进行组件级故障诊断, 若该故障发
生则会进行相应模式转换, 避免将故障敏感器数据引入控制闭环. 最后是系统级故障诊断, 在此情况下会触发切换
控制计算机或卫星停控的操作以保持卫星能源.
故障诊断逻辑 故障恢复逻辑
部件故障诊断 部件故障处理
通信层 组件级故障诊断 链路重启 模式转换
数据层 部件重构
系统级故障诊断 切机/停控
方案层 备选方案
图 8 对日定向控制软件故障处理流程
4.1.2 软件自适应控制逻辑
在故障诊断案例中, 自适应改造前后的星上代码如图 9 所示. 改造前, 原星上代码故障诊断和处理功能与控制
应用逻辑强耦合; 改造后, 将故障诊断和处理功能解耦, 作为独立的自适应逻辑依次实现感知 (故障事件匹配)-决
策 (故障条件匹配)-执行 (恢复动作执行) 的自适应回路. 同时, 设计安全性验证模块, 用于在轨动态验证, 保障所执
行动作的可靠性.
动态验证
知识库
ECA规则
控制应用逻辑 故障事件匹配 故障条件匹配 恢复动作执行 安全性验证
控制应用逻辑 (event) (condition) (action) (verification)
故障诊断和处理
自适应逻辑
(a) 自适应改造前星上代码 (b) 自适应改造后星上代码
图 9 在轨故障诊断与恢复自适应逻辑改造框架图

