创建带接口和需求链接的架构模型
在本主题中,您将学习如何使用 System Composer™ 创建机械臂的架构模型、在端口上定义接口,以及向组件添加需求链接。
您将学习如何:
启动 System Composer。
添加架构组件以表示机械臂传感器、轨迹规划及其运动。
创建端口和连接以表示数据交换。
定义数据接口以表示数据结构。
管理需求链接,以表示与模型元素的需求之间的连接。
需要 Requirements Toolbox™ 许可证才能在 System Composer 中链接、追踪和管理需求。
有关 System Composer 中基于模型的系统工程工作流的详细信息,请参阅使用架构模型构建和分析系统。
可视化系统表示
实现架构设计首先需要使用组件及其连接来直观地表示系统。创建架构模型,表示系统组件,并绘制它们之间的连接。
创建架构模型
在 MATLAB® 命令行窗口中输入以下命令。
systemcomposer
Simulink® 起始页面打开为 System Composer。
点击架构模型。
System Composer 提供模板架构模型,可应对系统工程和软件架构建模中的不同领域:架构模型和软件架构模型。所有架构模型都提供相同的结构功能,但有一些领域和平台特定的约束。有关架构模板的详细信息,请参阅选择系统设计的架构模板。
一个新的空白架构模型画布打开。您可以通过左下角的徽章和左侧的组件面板来识别架构模型。
双击架构模型标题,将
untitled
更改为一个描述性的模型名称,例如RobotDesign
。模型的名称通常反映您正在构建的系统的架构。保存模型。
绘制组件
设计一个移动机械臂,通过传感器感应位置,并通过轨迹规划计算机器人需要到达的位置的路径。此类系统的架构模型可由三个主要组件组成:Sensors
、Trajectory Planning
和 Motion
。您可以使用三个 Component 模块在 System Composer 中表示这些组件。
从左侧调色板中点击并拖动一个 Component 模块
。
将组件重命名为
Sensors
。按照以下步骤创建
Trajectory Planning
和Motion
组件。
创建端口和连接
您可以通过描述电力、能量、数据或任何其他代表性信息的流动来开始在组件之间建立连接。在提供或使用信息的组件上创建端口,并在两个组件端口之间创建连接器,以表示信息流。
您可以在任何一侧的组件上添加端口,端口可以是输入或输出方向。要创建端口,请将光标悬停在组件侧。点击并释放以查看端口选项。选择 Input
、Output
或 Physical
以创建端口。使用代表通过该端口流过的信息的名称重命名端口。
在“传感器”组件的底部创建一个输出端口。将其重命名为 SensorData。
点击并拖动一条线从 SensorData 输出端口到
Motion
组件。当您看到组件侧创建了一个输入端口时,请释放指针。默认情况下,新端口与源端口具有相同的名称。在 SensorData 线的拐角处暂停,直到看到分支图标
。右键点击并拖动一条分支线到
Trajectory Planning
组件。按照图中所示完成所有连接。
架构模型的根级别还可以有端口,描述系统与其环境之间的交互。在此示例中,机器人的目标位置由机器人外部的计算机提供。用输入端口表示这种关系。
点击架构模型的左侧边缘,输入端口名称 TargetPosition。
通过从 TargetPosition 输入端口到
Trajectory Planning
组件拖动一条线,将架构端口连接到组件。连接到架构端口或来自架构端口的连接显示为标签。
编辑数据接口
您可以定义一个数据接口来完全指定连接及其关联端口。数据接口可以由多个具有不同维度、单位和数据类型的数据元素组成。要检查连接端口时的一致性,您还可以在组件设计期间将接口与未连接的端口关联起来。
通过配置数据接口的属性,指定组件之间通过端口的信息流。数据接口可以简单地发送一个整数值,但也可以是一组数字、一个枚举、数字和字符串的组合,或者一组其他预定义接口。
考虑 Sensors
和 Motion
组件之间的数据接口。传感器数据包括:
两个电机的位置数据
两个传感器测得的障碍物距离数据
时间戳用于记录数据的最新时间。
要打开接口编辑器,请导航至 建模 > 接口编辑器。
点击
按钮添加数据接口。将接口命名为
sensordata
。数据接口与组件端口分开命名和定义,然后分配给端口。
点击
Sensors
组件上的 SensorData 输出端口。在接口编辑器中,右键点击sensordata
,然后选择分配给选定端口。再次点击
sensordata
,三个 SensorData 端口将被高亮显示,表明连接的端口与该接口相关联。将数据元素添加到所选数据接口。点击
按钮添加一个数据元素,并将其命名为 timestamp。
按照要求点击“添加数据元素”按钮,继续向数据接口添加数据元素。
名称 类型 单位 timestamp
double
seconds
direction1
double
degrees
direction2
double
degrees
distance1
double
meters
distance2
double
meters
position1
double
degrees
position2
double
degrees
编辑接口编辑器中数据元素的属性。点击表中与数据元素相对应的单元格,并按照规格要求添加单位。
点击
按钮旁边的下拉列表,将数据接口保存到数据字典中。数据字典允许您集中管理和共享模型之间的接口集。例如,在设计后期,如果您选择将外部计算机建模为单独的架构模型,则该模型与
Robot
模型可以共享相同的数据字典。这里,字典被保存为RobotDD
。
分解组件
每个组件都可以有自己的架构。双击一个组件将其分解为其子组件。
双击
Trajectory Planning
组件。资源管理器栏和模型浏览器表示组件在模型层次结构中的位置。该组件首先使用
sensordata
接口中的电机位置数据计算理想位置和速度命令。然后,它在相同的接口中处理障碍物距离信息,根据一些安全规则对该运动命令进行条件处理。将
Motion Control
和Safety Rules
组件作为Trajectory Planning
架构的一部分添加。将 TargetPosition 端口拖动到
Motion Control
组件。将命令输出端口添加到Motion Control
,然后将一条线拖到Safety Rules
组件。将线从 SensorData 端口拖到Motion Control
和Safety Rules
组件。
机械臂架构模型
打开一个由传感器、运动作动器和规划算法组成的机械臂的架构模型。您可以使用 System Composer 查看该模型的接口并管理其需求。
管理需求链接
需求是系统工程过程不可或缺的一部分。一些需求与整个系统的功能有关,一些需求与性能方面有关,如功率、尺寸和重量。将高级需求分解为低级需求并推导出附加需求,对于定义整体系统架构至关重要。例如,机器人的总功耗决定了机器人控制器的功耗需求。
为了使用系统元素分配和追踪需求,System Composer 与 Requirements Toolbox 完全集成。为了得出适当的需求,有时必须分析和指定系统元素(包括组件、端口或连接器)的属性(例如功率)。例如,如果系统的总成本是一个问题,则需要一个 unitPrice
属性。
使用 Requirements Toolbox 在 System Composer 的“需求透视”中管理需求。导航至 App > 需求管理器。有关详细信息,请参阅在 Simulink 中查看和链接需求 (Requirements Toolbox)。
为了增强需求的可追溯性,将需求与架构组件和端口关联起来。当您在“需求透视”中点击一个组件时,相关的关联需求会被突出显示。相反,当您点击一个需求时,将显示相关的组件。要直接创建链接,请将需求拖动到组件或端口上。