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

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

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

摘 要:传统的仿真系统一般采用Matlab/Simulink进行建模,Simulink模型可以在仿真环境下模拟真实环境下的系统架构和动态数据交互,也可以动态模拟真实目标机的运行。在Simulink建模体系对目标机系统的仿真中,其自身的时钟步长和数据流处理逻辑,可能与真实物理环境要求的系统有一定的出入,不能完全模拟目标机的内部ALU逻辑和真实外围设备工作行为,从而造成一定程度的失真,影响仿真效果。提出了基于同步仿真的卫星姿轨控软件验证方法,包含虚拟目标机能够实现对真实物理目标机运行功能的完全模拟,结合协同仿真组件和Simulink模型对各个子系统单元的动态建模仿真,全面验证软件的功能,增加了卫星控制软件的可靠性和安全性。

关键词:全数字分布式仿真系统;Simulink模型;同步仿真

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搭建的仿真系统进行比对,结果表明,在确保基础功能、算法逻辑正确的前提下,系统在软件功能验证的全面性、可信性,对故障注入、模拟控制软件的执行状态以及对于复杂算法控制处理模拟过程的实时性和执行效率方面有着更大的优势。应用该方法,增加了卫星控制软件的可靠性和安全性。

参考文献 (References)

[1]唐凯,康凤举,黄永华.一种在分布交互仿真系统中使用Simulink模型的方法 [J].西北工业大学学报,2007,19(4):787-789.

TANG K,KANG F J,HUANG Y H.A method of using simulink model in distributed interactive simulation system[J].Journal of Northwestern Polytechnical University,2007,19(4):787-789(in Chinese).

[2]王沫然.Simulink4建模及动态仿真 [M].北京:电子工业出版社,2002.

WANG M R.Simulink 4 modeling and dynamic simulation[M].Beijing:Electronic Industry Press,2002(in Chinese).

[3]谢海斌,张代兵,沈林成.基于MATLAB/SIMULINK与FLUENT的协同仿真方法研究 [J].系统仿真学报,2007,19(8):1824-1827.

XIE H B,ZHANG D B,SHEN L C.Research on collaborative simulation method based on Matlab/Simulink and fluent[J].Journal of System Simulation,2007,19(8):1824-1827(in Chinese).

[4]熊光楞.协同仿真与虚拟样机技术 [M].北京:清华大学出版社,2004.

XIONG G L.Collaborative simulation and virtual prototype technology[M].Beijing:Tsinghua University Press,2004(in Chinese).

[5]王江云,王行仁,贾荣珍.协同仿真环境体系结构 [J].系统仿真学报,2001,13(6):688-710.

WANG J Y,WANG H R,JIA R Z.Collaborative simulation environment[J].Journal of System Simulation,2001,13(6):688-710(in Chinese).

A Verification Method of Satellite Attitude and Orbit Control Software Based on Synchronous Simulation

SHEN Yiwei1,2,HE Yikang1,2,GAO Sihong1,2,ZHU Yanqing1,2,MENG Qichen1,2
(1.Shanghai Aerospace Control Technology Institute,Shanghai 201109;2.Shanghai Key Laboratory of Aerospace Intelligent Control Technology,Shanghai 201109)

Abstract:Traditional simulation systems generally are based on Matlab/Simulink systems,which can simulate the interaction of system framework and dynamic data,and can dynamically simulate the operation of real target machine.But there are still discrepancies between the real physical environment and Matlab/Simulink systems,because these systems cannot totally simulate inner ALU logic units and real peripheral equipments of real target machine for the clock step and data flow processing logic units,which causes a degree of simulation distortion.This paper proposed a verification method of satellite attitude and orbit control software based on synchronous simulation,which contains a complete simulation for virtual target machine to real physical ones,and a dynamic modeling and simulation with synchronous simulation components and simulink models,in order to verify full-scale software functions,and to increase the reliability and security of satellite attitude and orbit control software.

Keywords:all-digital distributed simulation system;Simulink model;synchronous simulation

中图分类号:TP311.5

文献标志码:A

文章编号:2096-5974(2018)02-0023-05

引用格式:沈怡颹,何益康,高四宏,等.基于同步仿真的卫星姿轨控软件验证方法 [J].飞控与探测,2018,1(2):023-027.Shen Yiwei,He Yikang,Gao Sihong,et al.A verification method of satellite attitude and orbit control software based on synchronous simulation[J].Flight Control&Detection,2018,1(2):023-027.

* 收稿日期:2018-03-25;

修回日期:2018-08-15

作者简介:沈怡颹 (1986—),男,工程师,主要从事卫星姿轨控系统软件设计。E-mail:kevin_wei86@163.com