基于模型的天基应用系统工程
的概述立方体卫星基于模型的系统工程项目模板,可从Simulink®开始页,在Aerospace 金宝appBlockset™。它演示了如何在Simulink中使用System Composer™和Aerospace Blockset为近地轨道(LE金宝appO)的1U立方体卫星建模空间任务架构。立方体卫星的任务是每天至少对马萨诸塞州纳蒂克的MathWorks总部进行一次成像。该项目引用了航空航天区块集立方体卫星仿真项目,重用该项目中定义的飞行器动力学、环境模型、数据字典和飞行控制系统模型。
这个项目演示了如何:
在Simulink中定义CubeSat任务的系统级需求金宝app
在system Composer中为任务编写系统架构
使用需求工具箱™将系统级需求链接到体系结构中的组件
模型车辆动力学和飞行控制系统与航天Blockset
使用任务分析工具和Simulink Test™验证轨道需求金宝app
打开项目
控件的新实例立方体卫星基于模型的系统工程项目中,选择创建项目在Simuli金宝appnk开始页.当项目加载时,立方体卫星的架构模型将打开。
打开(“asbCubeSatMBSEProject.sltx”);
定义系统级需求
为任务定义一组系统级需求。您可以从第三方需求管理工具(如ReqIF(需求交换格式)文件)导入这些需求,或者直接在需求编辑器中编写它们。
此示例包含一组系统级需求,存储在SystemRequirements.slreqx.中打开此需求说明文件要求编辑器.访问要求编辑器从应用程序选项卡或双击SystemRequirements.slreqx在项目文件夹浏览器中.
我们对这项任务的最高要求是:
该系统应提供并存储MathWorks总部[42.2775 N, 71.2468 W]的视觉图像,每天一次,分辨率为10米。
从这个顶级需求分解出额外的需求,为体系结构创建需求层次结构。
组成系统架构
System Composer为 基于模型的系统工程提供了体系结构的规范和分析。使用上面定义的系统级需求来指导在System Composer中创建体系结构模型。本例中的体系结构是基于立方体卫星参考模型(CRM)由国际系统工程理事会(INCOSE)空间系统工作组(SSWG)[1]开发。
该体系结构由组件、端口和连接器组成。组件是在体系结构上下文中实现明确功能的系统的一部分。它定义了一个体系结构元素,如系统、子系统、硬件、软件或其他概念实体。
端口是组件或体系结构上的节点,表示与其环境的交互点。端口允许信息流进出其他组件或系统。连接器是提供端口之间连接的线路。连接器描述了架构中组件之间的信息流动方式。
用原型和接口扩展体系结构
您可以使用原型和接口向体系结构添加额外的细节级别。
刻板印象
原型通过向每个元素添加特定于领域的元数据来扩展体系结构元素。原型应用于组件、连接器、端口和其他体系结构元素,为这些元素提供一组公共属性,如质量、成本、功率等。
一个或多个体系结构使用的原型包存储在概要文件中。此示例包括一个原型概要文件,称为CubeSatProfile.xml.要查看、编辑或向概要文件添加新的构造型,请在概要文件编辑器从建模选项卡。
该概要文件定义了一组应用于CubeSat体系结构中的组件和连接器的原型。
原型也可以从抽象基本原型继承属性。例如,BaseSCComponent
在上面的配置文件中包含尺寸、质量、成本和功率需求的属性。我们可以在侧写中添加另一个原型,CubeSatTotal
,并定义BaseSCComponent
作为它的基本原型。CubeSatTotal
添加了它自己的属性nominalVoltage,但也继承了它的基本原型的属性。
在体系结构模型中,应用CubeSatTotal
立方体卫星系统组件原型(asbCubeSatArchModel/CubeSat任务企业/空间段/CubeSat
).选择模型中的组件。在属性检查器中,从下拉窗口中选择所需的原型。接下来,设置CubeSat组件的属性值。
接口
数据接口定义流经端口的信息类型。同一个接口可以分配给多个端口。数据接口可以是复合的,这意味着它可以包括描述接口信号属性的数据元素。控件中创建和管理接口接口编辑器.Simulink的现有用户可以在Sy金宝appstem Composer中的接口和Simulink中的总线之间进行并行。事实上,总线可以用来定义接口(反之亦然)。例如,数据字典asbCubeSatModelData.sldd包含多个总线定义,包括ACSOutBus
,可在接口编辑器并应用于架构端口。
使用体系结构视图可视化系统
现在我们已经使用组件、构造型、端口和接口实现了我们的体系结构,我们可以用体系结构视图可视化我们的系统。在建模选项卡上,选择的观点.
使用组件层次结构视图显示我们的系统组件层次结构。每个组件还列出了它的原型属性值和端口。
您还可以在体系结构的不同深度查看层次结构。例如,导航到动力系统厂
控件中的组件查看浏览器.
将需求链接到体系结构组件
要将需求链接到实现需求的体系结构元素,请使用要求经理。将需求拖放到相应的组件、端口或接口上。使用这种链接机制,我们可以确定如何在架构模型中满足需求。控件中标记为“已实现”的列要求经理显示文本需求是否已链接到给定模型中的组件。例如,我们的顶级需求“提供视觉图像”链接到我们的顶级组件CubeSat Mission Enterprise
将分解的需求链接到各自分解的体系结构组件。
将架构连接到设计模型
随着设计过程通过分析和其他系统工程过程的成熟,我们可以开始用动态和行为模型填充我们的架构。System Composer是建立在Simulink之上的一个层,这使得我们所创建的组件可金宝app以直接引用Simulink模型。然后,我们可以将架构模型模拟为Simulink模型,并生成用于分析的结果。金宝app例如,GNC子系统
组件包含3个Simulink模型引用金宝app立方体卫星模拟项目。
双击这些引用组件以打开底层Simulink模型。金宝app注意,体系结构中定义的接口映射到Simulink模型中的总线信号。金宝app
本例使用航天器动力学块,以传播立方体卫星的轨道和旋转状态。
模拟系统架构以验证轨道需求
我们可以使用模拟来验证我们的系统级需求。在此场景中,我们的顶级需求要求CubeSat机载摄像机以10米分辨率每天一次在[42.2775 N, 71.2468 W]处捕获MathWorks总部的图像。我们可以用各种任务分析工具手动验证这个需求。要获得这些分析的示例,请单击项目快捷方式使用映射工具箱进行分析而且用卫星场景分析。
中创建的卫星场景卫星场景分析快捷方式示例如上图所示。
使用Simulink测试验证轨道要求金宝app
虽然我们可以使用MATLAB来可视化和分析CubeSat的行为,但我们也可以使用Simulink Test来构建测试用例。金宝app这个测试用例通过使用测试框架来测试我们的CubeSat轨道和姿态是否满足我们的高级需求,从而自动化了基于需求的测试过程。测试用例方法使我们能够基于文本需求创建一个可伸缩的、可维护的、灵活的测试基础设施。
这个例子包含一个测试文件systemTests.mldatx。在项目文件夹浏览器中双击此文件以在测试经理.我们的测试文件包含一个测试来验证我们的顶级需求。“验证视觉图像”测试点被映射到需求“提供视觉图像”,并定义了一个MATLAB函数来用作测试的自定义标准。虽然这个测试用例并不是对我们整个任务的全面验证,但它在早期开发中很有用,可以确认我们最初的轨道选择是合理的,允许我们继续完善和添加我们的架构细节。
中的测试点运行测试经理并确认测试通过。通过结果表明,在模拟窗口期间,CubeSat机载摄像机对成像目标具有可见性。
参考文献
[1]“空间系统工作组。”INCOSE, 2019, https://www.incose.org/incose-member-resources/working-groups/Application/space-systems。
另请参阅
轨道传播算子(航天Blockset)|航天器动力学(航天Blockset)|态度概要(航天Blockset)