基于同步仿真的卫星姿轨控软件验证方法*

2018-04-18 08:27沈怡颹何益康高四宏朱晏庆孟其琛
飞控与探测 2018年2期
关键词:闭环卫星软件

沈怡颹,何益康,高四宏,朱晏庆,孟其琛

(1.上海航天控制技术研究所·上海·201109;2.上海市空间智能控制技术重点实验室·上海·201109)

0 引 言

基于Matlab的Simulink仿真工具箱,在从编程转向模型构造的过程中,能够快速、准确地实现动态系统的建模和仿真,支持各类线性、非线性、混合、连续和离散等系统[1],同时为用户提供了不少基本模块,使用户可以根据需要从库浏览器里复制出模块,并通过修改参数得到想要的模型,从而轻松有效地完成系统的仿真。同时,Simulink模型的特点是非常直观,直接面向方框图[2],可以直接用鼠标画出所需要的控制系统模型,这样无论多么复杂的系统,都能相当容易且直观地完成模型的输入和仿真计算。

图1 使用Simulink进行仿真系统搭建Fig.1 Simulation systems architecture using Simulink

随着应用的深入,采用Simulink技术进行系统仿真也暴露出一些弊端,主要反映在以下几个方面。

对于在Simulink模型中集成的计算机处理算法,相比基于具体CPU的硬件设备嵌入式软件开发方式,其内部嵌入式架构的算术与逻辑处理单元的执行方式有比较大的差异,Simulink模型无法完美模拟微控制器的结构[3],例如内部定时机制、外部中断触发、不同外设工作逻辑等,使得运行在Simulink中的计算机核心算法处理和真实CPU算法,在任务调度过程中可能存在较大的差异,从而降低仿真效果,使得关键技术的方案设计与实际结果有出入。

传统的Simulink模型仿真在模拟航天器载设备运行软件行为的过程中,基本都能满足计算精度的要求,对于16位、32位甚至64位的算法处理有着很好的支持,然而相对于具体硬件设备的特殊要求,例如字或字节序的颠倒、特殊寄存器的位支持等,往往不能很方便地进行仿真。

Simulink模型不便于开展全系统闭环仿真测试、故障模拟、命令数据注入测试,往往是动态连续的过程,而真实环境下运行在CPU中的控制软件在运行过程中,由于存在任务抢占调度、中断触发等外部激励情况,可以是非线性、离散型的状态,导致使用Simulink进行仿真降低了其验证分析的可信性。

对于特殊单机的协议定制,相对于C、C++等高级语言,使用Simulink建模未必能够规避工作量大、资源浪费的问题,且缺乏灵活性。

在Simulink环境下,复杂的软件算法过程设计往往导致相对庞大的模型构建体系,导致执行效率低下,不能体现实时性,其仿真验证结果不适用于对时序要求很高的航天领域。

基于上述分析,本文提出了一种基于同步仿真的卫星姿轨控软件验证方法,为嵌入式软件开发提供了一个全面的、纯数字的软件开发和验证平台;该平台能够较好地弥补Simulink在嵌入式建模中存在的问题和不足。

1 将模型集成到卫星控制系统软件的实现

1.1 Simulink模型仿真系统验证方案设计

在航天项目研制的早期,需要验证整个方案设计的可行性,在软件与硬件设备尚未开始设计的情况下,使用Matlab搭建Simulink模型仿真系统。在Simulink模型内部的仿真软件算法控制等模型,与动力学模型之间进行输入输出数据交互,形成一个全数字的闭环仿真系统,以验证整个系统方案的可行性,如图2所示。

图2 Simulink模型仿真系统Fig.2 Simulink model simulation systems

Simulink模型的仿真数据在内部传递,使用共享内存技术可以实现对Simulink模型的控制。输入模块接口实现对Simulink模型的运行控制,输出模块接口获取Simulink模型数据,使得Simulink算法控制等模型可以与外部数据交互,从而达到验证系统方案设计的目的。

1.2 虚拟目标机系统验证卫星控制系统软件功能

航天项目的系统方案设计验证通过后,可以开始硬件设备的设计及软件设计。在具体的软件开发过程中,Simulink模型仿真系统无法对真实计算机算法处理软件进行功能验证与性能测试。针对这种情况,提出了全数字超实时仿真系统,使用虚拟目标机[4]和虚拟计算机软件来仿真真实硬件目标板,替代早期的Simulink仿真系统中的算法控制单元,在虚拟平台上直接加载卫星控制软件的二进制运行文件,仿真出与真实硬件相同的运行效果,用以验证控制软件的功能,并能进行运行调试,如图3所示。

仿真数据在虚拟目标机软件内部传递,使用全局变量以及分布式总线可以使其与外部数据交互。输入模块以及输出模块完全模拟真实硬件单机接口,与软件进行数据交互,从而达到验证软件功能的目的。

图3 分布式超实时仿真系统Fig.3 Distributed super-real-time simulation systems

1.3 全数字超实时仿真系统与Simulink模型仿真的集成

在验证软件功能的同时,也需要验证系统控制算法的正确性,使得Simulink算法控制等模型与控制软件之间能够进行数据交互,形成一个闭环。由此可以将Simulink模型仿真系统与分布式超实时仿真系统集成,形成一个全数字闭环仿真系统,如图4所示。

图4 集成的闭环超实时仿真系统Fig.4 Integrated closed-loop super-real-time simulation systems

通过分布式数据总线实现Simulink仿真模型与虚拟目标机之间的数据交互。二者之间的数据同步可以通过外部的同步仿真工具[5]来统一控制,确保仿真步长与周期的正确性,控制仿真速率,从而达到对整个闭环系统的验证。

2 应用实例

2.1 项目说明

某型号卫星姿轨控软件闭环调试系统是基于数字化的卫星仿真环境和平台,可以实现超实时的仿真运行,实现姿轨控仿真计算机软件的开发调试与测试,能够对卫星控制策略进行快速仿真验证,用于星载软件进行全寿命周期的白盒 (外部输入输出和软件源代码本身的全过程跟踪、记录)和黑盒 (从单元、部件到系统级的)的验证、开发、测试、维护,对比纯Simulink建模搭建的仿真系统,执行效率更高、系统验证更全面、动态状态执行控制更逼近真实环境,可信度高。

2.2 基于同步仿真的卫星姿轨控软件验证方法的搭建

通过模拟嵌入式软件运行所需要的目标机硬件及外部信号,并让嵌入式软件像在真实目标机上一样运行 (计算和处理)。虚拟目标机及其虚拟外围环境,在同步仿真软件的协同调度下,实现基于Ada/C/汇编等语言的控制软件与Simulink仿真模型在系统仿真与验证平台全数字模式下实时、超实时闭环仿真运行。基于同步仿真的卫星姿轨控软件验证方法系统架构如图5所示。

图5 基于同步仿真的卫星姿轨控软件验证方法系统架构Fig.5 Architecture of the verification methods of satellite attitude and orbit control software based on synchronous simulation

基于分布式网络仿真中间件,虚拟目标机加载CPU软件二进制文件,联合虚拟CPU指令解析内核,根据型号各个功能单机或单元的硬件接口、地址空间定制的接口模块,遥控遥测相关控制、转发和显示功能软件,以及模型仿真模块软件封装执行的动力学Simulink模型一起构建成某型号卫星姿轨控软件闭环调试系统。

将同步仿真软件RTCoordinator用于系统级闭环仿真时,可在目标机或仿真目标机上运行目标软件,在系统仿真与验证平台系统中负责仿真开始和结束的控制、仿真过程中时序的调度、节点间数据的传输,以及模拟星务计算机部分功能和与星务计算机通信等。

由面向用户的操作界面 (Graphical User Interface,GUI)软件生成的控制指令或测试用例,经过RTCoordinator的调度,将数据配置给各个端口和外围环境,从而驱动目标软件的运行。

2.3 验证分析

由于Simulink模型仿真步长为1ms,要做到同步仿真,则虚拟目标机的仿真步长也必须是1ms。在模型与卫星控制软件集成之后,必须引入同步仿真工具来实现二者之间的周期同步,形成一个时序正确的闭环卫星控制系统仿真工具。

由于基于同步仿真的卫星姿轨控软件验证方法是全数字的虚拟仿真平台,在仿真速度上不仅能达到实时仿真的需求,还能实现超实时仿真。在保证时序正确的前提下,整个卫星控制系统的仿真速度可达10倍以上,这在验证一些需要用长时间等待结果的功能时尤为重要。

在基于同步仿真的卫星姿轨控软件验证方法中,还可以接入其他必要的外部终端软件,最常见的就是故障模拟软件、遥控注数软件及遥测显示终端,不需要任何修改,可以实现无缝接入。而在早期的单纯Simulink模型仿真中,却难以进行遥测注数或者故障注入,难以完整验证算法的正确性。

经过最终的测试比对,卫星控制系统软件同步仿真与可信验证的实现方法——超实时仿真运行的遥测闭环曲线与真实物理硬件仿真的遥测闭环曲线基本相同,仿真结果可信。

图6 姿态角曲线对比图Fig.6 Attitude angles comparison curve

图7 姿态角速度曲线对比图Fig.7 Attitude speeds comparison curve

3 结 论

本文利用基于同步仿真的卫星姿轨控软件验证方法构建了一套某型号卫星姿轨控软件闭环调试系统,集成了Simulink算法控制模型与卫星控制软件,实现了整套卫星控制系统的全数字闭环仿真。通过和纯Simulink搭建的仿真系统进行比对,结果表明,在确保基础功能、算法逻辑正确的前提下,系统在软件功能验证的全面性、可信性,对故障注入、模拟控制软件的执行状态以及对于复杂算法控制处理模拟过程的实时性和执行效率方面有着更大的优势。应用该方法,增加了卫星控制软件的可靠性和安全性。

猜你喜欢
闭环卫星软件
大型军工企业集团重大风险全流程闭环管控方法探析
时尚与数字共舞,打造印花供应链生态闭环
公平关切下闭环供应链差别定价决策
miniSAR遥感卫星
禅宗软件
工业软件 自主创新
战略管理型模式下的产业闭环管理体系建设
静止卫星派
Puma" suede shoes with a focus on the Product variables
即时通讯软件WhatsApp