卫星GNC系统设计及验证
基于某卫星GNC系统的研发实践,完成卫星GNC系统的需求建模、系统模型设计、模型数字仿真、模型半物理仿真,最后使用自动代码生成技术生成卫星GNC系统软件,加载到星载计算机中,完成卫星的系统测试及在轨验证。
某型号卫星GNC系统以卫星控制计算机为核心,使用传感器测量数据进行位置和姿态的导航解算,根据目标进行制导算法设计,控制不同执行机构实现闭环控制。完成卫星总体下达的指向、定位、高精度轨控、相对导航等任务需求。
GNC分系统是典型的控制闭环系统,功能设计主要包括控制算法设计和系统方案设计。控制算法设计主要是根据总体需求和任务约束,设计控制方法以及控制参数寻优。系统方案设计包括GNC系统单机选型、冗余容错、系统内外通信和时序的设计。
一、基于模型的GNC系统设计
1、系统设计
首先建立了卫星GNC系统的需求模型,完成了利益相关者需求分析。
2、模型设计
模型设计使用Simulink工具进行建模和验证。以系统中典型的某三轴姿态精确指向功能为例,建立陀螺数据处理、星敏感器滤波、目标姿态计算、姿态机动规划、姿态控制量计算、动量轮控制和磁卸载模型。具体子功能模型,使用Simulink Library、Matlab Function和Stateflow完成建模,主要实现具体算法和逻辑。
对顶层工作流程、外部变量交互进行建模,将各个子功能模型作为Simulink Function进行调用,如下图所示。模型设计在架构建模基础上形成工作流调用模型,主要负责将上述功能模块按时序和逻辑调用。
工作流建模和子功能模型调用
星敏感器滤波模型
建模后需对模型进行单元测试,与工作流模型集成后进行模型组装测试,并使用Simulink测试管理工具进行比对调试。
二、基于模型的GNC系统验证
在基于模型的卫星控制系统研发过程中,对系统研发每个阶段的设计结果进行了验证。对系统运行场景模型的验证,确认系统功能是否满足GNC系统需求;
1、对系统功能模型的验证,确认系统架构、接口、状态逻辑是否满足系统级需求;
2、建立“卫星GNC系统数字孪生设计平台”,模型驱动闭环卫星试验环境,确认卫星GNC系统等的功能/性能/接口;
3、经过全数字仿真验证后的模型,使用自动代码生成技术,加载到卫星控制计算机中,进行半实物闭环测试,完成硬件在环测试;
GNC模型的测试验证采用ATSPACE卫星GNC系统数字孪生设计与验证平台构建模型测试验证环境,分别实现模型规范检查、模型在环测试、运行时错误检查、软件在环测试以及硬件在环测试相关测试验证内容。

三、验证结果
1、模型与原设计的一致性验证
1) 建立模型测试环境,进行了模型闭环仿真测试,与算法方案仿真曲线一致
2) 建立原有C代码的运行环境,进行了姿态确定,姿态机动过程中,模型和C代码运行结果一致
3) 进行模型的人工走查,确认模型和用户需求一致
2、代码与原设计的一致性验证
1) 自动生成代码通过了人工走查,确认代码和用户需求一致
2) 在软平台和星地联试设备上分别进行了配置项测试工作。语句和分支覆盖率经人工确认后达到100%;功能覆盖率达到100%
3) 使用代码静态分析工具SpecCheck 对自动生成代码进行静态分析,确认自动生成代码符合航天C代码编程规范
3、代码与原设计的一致性验证
在轨实施结果证明模型设计正确、自动生成的代码正确、满足控制系统功能性能指标要求。