CN104573193A - 一种航天器gnc系统快速设计方法 - Google Patents
一种航天器gnc系统快速设计方法 Download PDFInfo
- Publication number
- CN104573193A CN104573193A CN201410790930.1A CN201410790930A CN104573193A CN 104573193 A CN104573193 A CN 104573193A CN 201410790930 A CN201410790930 A CN 201410790930A CN 104573193 A CN104573193 A CN 104573193A
- Authority
- CN
- China
- Prior art keywords
- file
- model
- simulink
- gnc
- spacecraft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
一种航天器GNC系统快速设计方法,步骤为:(1)将航天器GNC系统划分为动态模型和事件驱动模型,并分别采用Simulink模型库和Stateflow的有限状态机进行建模;(2)将安装有VxWorks操作系统的工控机作为运行GNC系统的硬件系统,把相关VxWorks驱动程序编写成Simulink的库文件;(3)在Simulink编辑环境中,根据信息流向和数据依存关系,把各模型和库文件进行连接,形成完整GNC系统的mdl文件;(4)将mdl文件转换为目标代码,对目标代码进行编译并链接辅助文件后生成可执行目标程序;(5)通过网络将可执行目标程序下载至工控机上,在工控机上运行可执行目标程序,由此得到一个GNC系统原型。
Description
技术领域
本发明属于控制领域,涉及一种航天器制导、导航与控制(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编译封装生成相应的库文件。其编译封装方法是:利用Matlab自带的mex命令将编写的S-Function编译成.mexw32文件;然后对该文件进行封装,留出相应的配置数据接口;将其添加到Simulink的Library中,即可变为Simulink的库文件,可供用户Simulink建模时直接调用。编译封装生成的库文件构成如图2所示。
然后,在Simulink编辑环境中,根据信息流向和数据依存关系,把上述建立的各模型及自行构建的库文件用Signal连线连接组合成完整的GNC系统,并保存形成一个mdl文件。GNC系统模型主要构成如图3所示。
在此基础上,利用mdl文件生成目标代码,对目标代码编译连接后,得到可执行目标程序。其具体操作方法是:在Simulink编辑环境中,利用Matlab内建函数rtwgen将mdl文件生成中间.rtw文件;然后使用Matlab的目标语言编译器把.rtw文件转换为目标代码(model.c,model.h);调用Tornado软件编译器对目标代码进行编译,并链接辅助文件(操作系统文件、环境变量文件),生成针对硬件平台的可执行目标程序。
可执行目标程序生成流程如图4所示。
1、通过网络将可执行文件下载至安装有VxWorks操作系统的工控机上。其实现方法是:在Vxworks开发环境Windriver的命令行中使用ld命令将生成的.lo可执行目标程序下载至工控机中。
2、运行工控机上的GNC系统模型,分析工控机运行产生的测试结果数据,对设计的GNC系统各项性能进行评估。其实现方式是:在PC机中,将模型的运行方式设定为Extern mode,则PC机与工控机自动通过网线构建了TCP/IP连接,在PC机中即可对工控机模型的运行进行控制,并可对产生的测试数据实时分析。
3、在航天器GNC系统集成测试过程中,可以将真实单机产品与运行GNC系统模型的工控机进行物理连接。此时,需要将系统模型中对应的单机模型进行屏蔽,仅保留接口库函数及其对应配置和参数。该模式适应多种扩展与级联方式,最终可以在仅保留动力学模型的基础上对所有虚拟单机模型进行实物替换。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (3)
1.一种航天器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.根据权利要求1所述的一种航天器GNC系统快速设计方法,其特征在于:所述步骤(2)中生成库文件的方法为:利用Matlab自带的mex命令将S-Function编译成.mexw32文件,然后对.mexw32文件进行封装,留出配置数据接口后添加到Simulink的Library中,由此形成Simulink的库文件。
3.根据权利要求1或2所述的一种航天器GNC系统快速设计方法,其特征在于:所述步骤(4)中将mdl文件转换为目标代码的方法为:利用Matlab内建函数rtwgen将mdl文件生成中间.rtw文件,然后使用Matlab自带的目标语言编译器把.rtw文件转换为目标代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410790930.1A CN104573193B (zh) | 2014-12-18 | 2014-12-18 | 一种航天器gnc系统快速设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410790930.1A CN104573193B (zh) | 2014-12-18 | 2014-12-18 | 一种航天器gnc系统快速设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104573193A true CN104573193A (zh) | 2015-04-29 |
CN104573193B CN104573193B (zh) | 2017-07-28 |
Family
ID=53089247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410790930.1A Active CN104573193B (zh) | 2014-12-18 | 2014-12-18 | 一种航天器gnc系统快速设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104573193B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562605A (zh) * | 2017-05-27 | 2018-01-09 | 中科钢研节能科技有限公司 | 一种新技术产品的信息验证系统及信息验证方法 |
CN107656731A (zh) * | 2017-10-10 | 2018-02-02 | 株洲欧格瑞传动股份有限公司 | 一种Matlab模型的一键编译方法 |
CN108089501A (zh) * | 2017-12-20 | 2018-05-29 | 西安中车永电电气有限公司 | 基于Simulink和Sateflow的地铁永磁牵引变流器控制逻辑建模方法 |
CN108132667A (zh) * | 2017-11-21 | 2018-06-08 | 北京特种机械研究所 | 一种agv导航状态机 |
CN108549395A (zh) * | 2018-06-19 | 2018-09-18 | 西安特种飞行器工程研究院有限公司 | 水下无人自主航行器导航控制系统及方法 |
CN109426675A (zh) * | 2017-08-23 | 2019-03-05 | 中国航空工业集团公司西安航空计算技术研究所 | 基于Stateflow的机载机电综合管理系统余度管理方法 |
CN110297769A (zh) * | 2019-05-06 | 2019-10-01 | 重庆长安汽车股份有限公司 | 基于服务器与Simulink库的协同开发测试系统及方法 |
CN111103810A (zh) * | 2019-12-25 | 2020-05-05 | 北京控制工程研究所 | 基于原型数字双胞胎架构的航天器gnc系统仿真试验方法 |
CN114296505A (zh) * | 2021-12-01 | 2022-04-08 | 深圳市深台科科技有限公司 | 一种高可靠供电的cpci工控主机 |
CN117234696A (zh) * | 2023-11-13 | 2023-12-15 | 北京控制工程研究所 | 高频率gnc系统多任务执行策略的确定方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120217338A1 (en) * | 2008-07-09 | 2012-08-30 | Flood William M | Roll isolation bearing |
CN104199440A (zh) * | 2014-08-20 | 2014-12-10 | 中国运载火箭技术研究院 | 一种四机三总线冗余异构gnc系统 |
-
2014
- 2014-12-18 CN CN201410790930.1A patent/CN104573193B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120217338A1 (en) * | 2008-07-09 | 2012-08-30 | Flood William M | Roll isolation bearing |
CN104199440A (zh) * | 2014-08-20 | 2014-12-10 | 中国运载火箭技术研究院 | 一种四机三总线冗余异构gnc系统 |
Non-Patent Citations (2)
Title |
---|
晁涛: "空天飞机再入GNC一体化建模与仿真方法", 《系统仿真学报》 * |
胡海霞: "基于代码自动生成的空间交会GNC系统仿真平台", 《空间控制技术与应用》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562605A (zh) * | 2017-05-27 | 2018-01-09 | 中科钢研节能科技有限公司 | 一种新技术产品的信息验证系统及信息验证方法 |
CN109426675A (zh) * | 2017-08-23 | 2019-03-05 | 中国航空工业集团公司西安航空计算技术研究所 | 基于Stateflow的机载机电综合管理系统余度管理方法 |
CN109426675B (zh) * | 2017-08-23 | 2023-01-13 | 中国航空工业集团公司西安航空计算技术研究所 | 基于Stateflow的机载机电综合管理系统余度管理方法 |
CN107656731A (zh) * | 2017-10-10 | 2018-02-02 | 株洲欧格瑞传动股份有限公司 | 一种Matlab模型的一键编译方法 |
CN108132667A (zh) * | 2017-11-21 | 2018-06-08 | 北京特种机械研究所 | 一种agv导航状态机 |
CN108089501A (zh) * | 2017-12-20 | 2018-05-29 | 西安中车永电电气有限公司 | 基于Simulink和Sateflow的地铁永磁牵引变流器控制逻辑建模方法 |
CN108549395B (zh) * | 2018-06-19 | 2022-01-25 | 西安特种飞行器工程研究院有限公司 | 水下无人自主航行器导航控制系统及方法 |
CN108549395A (zh) * | 2018-06-19 | 2018-09-18 | 西安特种飞行器工程研究院有限公司 | 水下无人自主航行器导航控制系统及方法 |
CN110297769A (zh) * | 2019-05-06 | 2019-10-01 | 重庆长安汽车股份有限公司 | 基于服务器与Simulink库的协同开发测试系统及方法 |
CN111103810A (zh) * | 2019-12-25 | 2020-05-05 | 北京控制工程研究所 | 基于原型数字双胞胎架构的航天器gnc系统仿真试验方法 |
CN111103810B (zh) * | 2019-12-25 | 2023-04-14 | 北京控制工程研究所 | 基于原型数字双胞胎架构的航天器gnc系统仿真试验方法 |
CN114296505A (zh) * | 2021-12-01 | 2022-04-08 | 深圳市深台科科技有限公司 | 一种高可靠供电的cpci工控主机 |
CN117234696A (zh) * | 2023-11-13 | 2023-12-15 | 北京控制工程研究所 | 高频率gnc系统多任务执行策略的确定方法及装置 |
CN117234696B (zh) * | 2023-11-13 | 2024-01-19 | 北京控制工程研究所 | 高频率gnc系统多任务执行策略的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104573193B (zh) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104573193A (zh) | 一种航天器gnc系统快速设计方法 | |
US7913222B2 (en) | Automatic generation of code for component interfaces in models | |
US7487080B1 (en) | Partitioning a model in modeling environments | |
Niaki et al. | Formal heterogeneous system modeling with SystemC | |
CN109799971B (zh) | 一种文件生成装置和方法 | |
JP7262818B2 (ja) | エンジンデバッグ、テスト、較正、及び調節を制御するためのソフトウェア環境 | |
CN107505851B (zh) | 基于Rinsim平台的Ovation控制仿真系统及仿真方法 | |
CN104375421A (zh) | 一种基于控制系统开发平台的航空发动机部件建模方法 | |
CN111650847A (zh) | 执行机构模型在航空发动机硬件在回路平台的集成方法 | |
CN102722601B (zh) | 数控系统的模型转换形式化语义集成框架的实现方法 | |
Tariq et al. | Design Specification of Cyber-Physical Systems: Towards a Domain-Specific Modeling Language based on Simulink, Eclipse Modeling Framework, and Giotto. | |
Stoppe et al. | Data extraction from SystemC designs using debug symbols and the SystemC API | |
Shen et al. | The DSPCAD lightweight dataflow environment: Introduction to LIDE version 0.1 | |
Pêcheux et al. | SystemC AMS based frameworks for virtual prototyping of heterogeneous systems | |
Di Natale et al. | An MDA approach for the generation of communication adapters integrating SW and FW components from Simulink | |
Huggi et al. | Design and verification of memory elements using python | |
Barnard | Software development principles applied to graphical model development | |
Sundharam et al. | Model interpretation for an AUTOSAR compliant engine control function | |
CN114792058A (zh) | 一种新能源电磁暂态封装模型统一接口方法及系统 | |
Centomo et al. | Automatic generation of cycle-accurate simulink blocks from hdl ips | |
Bernardeschi et al. | Cross-level co-simulation and verification of an automatic transmission control on embedded processor | |
Centomo et al. | Automatic integration of HDL IPs in Simulink using FMI and S-function interfaces | |
Gilles et al. | Applying WCET analysis at architectural level | |
Iyenghar et al. | Translating timing requirements of Embedded Software systems modeled in Simulink to a timing analysis model | |
Geng et al. | Embedded C code generation platform for electric vehicle controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |