一种航天器GNC系统快速设计方法,步骤为:(1)将航天器GNC系统划分为动态模型和事件驱动模型,并分别采用Simulink模型库和Stateflow的有限状态机进行建模;(2)将安装有VxWorks操作系统的工控机作为运行GNC系统的硬件系统,把相关VxWorks驱动程序编写成Simulink的库文件;(3)在Simulink编辑环境中,根据信息流向和数据依存关系,把各模型和库文件进行连接,形成完整GNC系统的mdl文件;(4)将mdl文件转换为目标代码,对目标代码进行编译并链接辅助文件后生成可执行目标程序;(5)通过网络将可执行目标程序下载至工控机上,在工控机上运行可执行目标程序,由此得到一个GNC系统原型。
【技术实现步骤摘要】
本专利技术属于控制领域,涉及一种航天器制导、导航与控制(GNC)系统的快速设计实现方法。
技术介绍
GNC系统是航天器的重要组成部分。传统航天器GNC系统的设计流程大致如下:(1)根据航天器总体指标要求完成方案设计及算法仿真工作;(2)对控制方案的技术实现进行设计,完成系统的硬件配置、部件的指标分解、信息流及协议制定等工作;(3)完成各部件的设计、制造及软硬件实现;(4)所有部件产品研制完成后,将实物进行集成并进行系统级测试。上述航天器GNC系统的传统设计流程的弊端主要体现在:设计任务初期欠缺有效的总体设计,主要是参考经验数据和人工估算,使得很多接口及时序问题在系统级测试阶段才得以暴露,由此造成了设计过程迭代,严重的可能造成颠覆性影响。且由于各单机产品生产周期的不同步,系统集成初期可能会因为缺少某关键单机无法实现系统闭环,导致验证环节滞后,直接影响任务的整体进度。
技术实现思路
本专利技术解决的技术问题是:克服现有技术的不足,为航天器GNC系统研制初期提供了一种快速设计手段,最大限度的避免设计过程中出现迭代或反复现象,同时为系统级测试提供与真实星上产品接口特性一致的GNC系统原型,可以在提高测试灵活性的同时有效缩短设计工作的周期。本专利技术的技术解决方案是:一种航天器GNC系统快速设计方法,包括如下步骤:(1)将航天器GNC系统划分为动态模型和事件驱动模型,对动态模型采用Simulink模型库进行建模,对事件驱动模型采用Stateflow的有限状态机进行建模;所述的事件驱动模型是可以根据外部的遥控指令或者跳转逻辑从一种状态跳转到另外一种状态的模型;所述的动态模型是可以用连续微分方程描述的模型;(2)将安装有VxWorks操作系统的工控机作为运行GNC系统的硬件系统,把与工控机相关的VxWorks驱动程序编写成Simulink的S-Function,并对所述S-Function进行编译封装生成相应的库文件;(3)在Simulink编辑环境中,根据信息流向和数据依存关系,把所述的动态模型和事件驱动模型,以及步骤(2)中得到的库文件用Signal连线进行连接组合后,形成一个完整的GNC系统,并保存形成一个mdl文件;(4)在Simulink编辑环境中,将所述mdl文件转换为目标代码,对目标代码进行编译并链接辅助文件后生成针对硬件平台的可执行目标程序;(5)通过网络将所述可执行目标程序下载至所述工控机上,在工控机上运行所述可执行目标程序,由此得到一个GNC系统原型。所述步骤(2)中生成库文件的方法为:利用Matlab自带的mex命令将S-Function编译成.mexw32文件,然后对.mexw32文件进行封装,留出配置数据接口后添加到Simulink的Library中,由此形成Simulink的库文件。所述步骤(4)中将mdl文件转换为目标代码的方法为:利用Matlab内建函数rtwgen将mdl文件生成中间.rtw文件,然后使用Matlab自带的目标语言编译器把.rtw文件转换为目标代码。本专利技术与现有技术相比的优点在于:本专利技术方法可以使系统设计人员在MATLAB/Simulink和Stateflow环境中直接完成航天器GNC系统模型的建立,可执行文件的编译链接及下载运行,不需要编写具体代码,仅需模块拖拽参数设置即可。且对已有各种外部模型的兼容性较好,能直接将诸如星载计算机软件等封装后嵌入模型系统,因此可以实现航天器GNC系统快速设计。由于工控机中运行VxWorks实时操作系统,在保证了GNC系统模型运行周期的准确性以及系统时序的正确性的同时,也保证测试数据可以真实反映所构建模型的各种特性,确实达到了将验证过程前移的目的,实现了风险的早期规避。通过分析工控机运行产生的测试结果数据,可以对所设计的GNC系统各项性能进行评估测试,测试数据可上传至控制计算机以图形和曲线形式显示。已建立好的航天器GNC系统原型具有可裁剪性,可以将真实单机产品与工控机连接,在保留接口特性的基础上实现与某一内嵌单机模型功能的互换和通信匹配,实现在缺少某些关键单机的情况下完成系统级集成工作,使之具备闭环测试的条件,提前开展测试工作。附图说明图1为本专利技术方法运行系统的示意图;图2为本专利技术方法中将硬件资源封装成的Simulink模型库文件示意图;图3为本专利技术方法搭建的某航天器GNC系统模型主要构成示意图;图4为本专利技术方法的流程图。具体实施方式本专利技术方法适用于图1所示的系统。应用该方法能够通过一台PC机(控制器计算机)和若干台cPCI下位机快速实现为目标航天器控制需求设计GNC系统并完成对该系统的测试。该方法的主要技术包括:(1)cPCI硬件系统资源的封装技术:将硬件相关的VxWorks驱动程序封装为Simulink可以调用的库文件,供用户Simulink建模时直接调用;(2)C代码文件的自动生成控制及编译下载技术:需要部分修改Matlab自带的目标语言编译器和编译链接工具,主要是修改文件工具的路径指向,使其适用GNC系统建模需求;(3)GNC系统的建模技术:根据所构建GNC系统的特点,将GNC系统中的动态部分和事件驱动部分进行分离,两者之间通过信息数据构成整个GNC系统模型;对于已有的用户C代码,可以直接将C代码嵌入模型中。此建模技术能够有效提高模型运行效率、能对系统的硬件逻辑行为进行详尽描述。在此,本专利技术将GNC系统划分为动态模型和事件驱动模型。所谓的事件驱动模型,是值可以根据外部的遥控指令或者跳转逻辑,从一种状态跳转到另外一种状态的模型。所谓的动态模型,是指可以用连续微分方程描述的一种模型。GNC系统中的动力学模型部分是典型的动态模型;GNC系统控制器模型为典型的事件驱动模型;输入输出是连续变化量的单机模型则一般为动态模型,例如红外地球敏感器模型、太阳敏感器模型;输入输出是非连续变化量的单机模型则一般为事件驱动模型,例如发动机模型。本专利技术中,对于GNC系统中的动态模型采用Simulink建模,对于GNC系统中的事件驱动型采用Stateflow建模。为了能够将安装有VxWorks操作系统的工控机作为运行GNC系统的硬件系统,根据所需设计的GNC系统,明确下位机硬件系统资源,将与工控机相关的VxWorks驱动程序封装为Simulink可以调用的S-Function,对S-Function编译封装生成相应的库文件。其编本文档来自技高网...

【技术保护点】
一种航天器GNC系统快速设计方法,其特征在于包括如下步骤:(1)将航天器GNC系统划分为动态模型和事件驱动模型,对动态模型采用Simulink模型库进行建模,对事件驱动模型采用Stateflow的有限状态机进行建模;所述的事件驱动模型是可以根据外部的遥控指令或者跳转逻辑从一种状态跳转到另外一种状态的模型;所述的动态模型是可以用连续微分方程描述的模型;(2)将安装有VxWorks操作系统的工控机作为运行GNC系统的硬件系统,把与工控机相关的VxWorks驱动程序编写成Simulink的S‑Function,并对所述S‑Function进行编译封装生成相应的库文件;(3)在Simulink编辑环境中,根据信息流向和数据依存关系,把所述的动态模型和事件驱动模型,以及步骤(2)中得到的库文件用Signal连线进行连接组合后,形成一个完整的GNC系统,并保存形成一个mdl文件;(4)在Simulink编辑环境中,将所述mdl文件转换为目标代码,对目标代码进行编译并链接辅助文件后生成针对硬件平台的可执行目标程序;(5)通过网络将所述可执行目标程序下载至所述工控机上,在工控机上运行所述可执行目标程序,由此得到一个GNC系统原型。...
【技术特征摘要】
1.一种航天器GNC系统快速设计方法,其特征在于包括如下步骤:
(1)将航天器GNC系统划分为动态模型和事件驱动模型,对动态模型采
用Simulink模型库进行建模,对事件驱动模型采用Stateflow的有限状态机进
行建模;所述的事件驱动模型是可以根据外部的遥控指令或者跳转逻辑从一种
状态跳转到另外一种状态的模型;所述的动态模型是可以用连续微分方程描述
的模型;
(2)将安装有VxWorks操作系统的工控机作为运行GNC系统的硬件系
统,把与工控机相关的VxWorks驱动程序编写成Simulink的S-Function,并
对所述S-Function进行编译封装生成相应的库文件;
(3)在Simulink编辑环境中,根据信息流向和数据依存关系,把所述的
动态模型和事件驱动模型,以及步骤(2)中得到的库文件用Signal连线进行
连接组合后,形成一个完整的GNC系统,并保存形成一个mdl文件;
(4)在Simulink...
【专利技术属性】
技术研发人员:冯帅,乔德治,高亚楠,范松涛,高伟,于欣欣,蒋金哲,郎燕,
申请(专利权)人:北京控制工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。