移动机器人的设计架构和活动图
System Composer™ 中的架构模型描述了不同抽象层次的系统。该移动机器人示例介绍了三种架构:
功能架构 - 描述高级函数以及这些函数之间的关系
逻辑架构 - 描述每个子系统中电子硬件和软件组件之间的数据交换
物理架构 - 描述机器人所需的物理硬件或平台。
除了这些架构模型外,您还可以生成代表功能流行为的活动图。要描述从一个架构到另一个架构或从活动图到架构的元素到元素的有向关系,请使用分配编辑器。
注意
此示例使用 Simscape™ 模块。如果您没有 Simscape 许可证,则可以打开模型,但只能进行基本更改,例如修改模块参数。
设计、指定和分配架构模型
该移动机器人工程包括架构模型,您可以在其中将需求与组件关联,并定义分配。该工程还包括一个活动图,以详细说明功能设计并探讨其他选项。
启动工程。
openProject("scMobileRobotExample");
移动机器人的功能流程活动图
功能流程活动图描述了一个操作场景,该场景具有随机起点和随机终点,移动机器人在起点和终点之间移动。算法进行路径规划。如果路径太长,且机器人的电池电量不足,则该过程将提前结束。如果路径可行,机器人从设定的角度开始,沿 x 方向移动,沿 y 方向移动,然后设置最终角度。
systemcomposer.openModel("RobotActivity");
移动机器人的逻辑架构模型
逻辑架构模型描述了移动机器人系统的仿真行为:轨迹生成器、轨迹跟踪器、电机控制器、传感器算法以及机器人和环境。连接代表系统中的交互。要打开逻辑架构模型,请双击文件或运行以下命令。
systemcomposer.openModel("scMobileRobotLogicalArchitecture");
移动机器人的物理架构模型
物理架构模型描述了硬件组件及其连接:传感器、作动器和嵌入式处理器。颜色和图标表示每个元素使用的构造型。要打开物理架构模型,请双击文件或运行以下命令。
systemcomposer.openModel("scMobileRobotHardwareArchitecture");
将需求与组件链接起来
需求可追溯性涉及将技术需求与架构模型中的组件和端口链接起来,从而实现早期需求阶段与系统级设计之间的连接。您可以通过将组件与利益相关者的需求重新连接,轻松跟踪需求是否得到满足。您可以通过将需求拖动到组件来添加需求链接。
要查看需求,请导航至 App > 需求管理器,打开需求管理器。
物理架构模型中的 Payload
组件实现了最大有效载荷需求 SYSTEM-REQ-03
。要显示或隐藏链接的需求,请点击组件右上角的需求图标。
您可以在需求浏览器中查看链接到逻辑架构模型的需求。选择 SYSTEM-REQ-10
后,只显示与传感器寿命需求相关的组件。
分配架构和图
您可以使用模型到模型分配将功能组件分配给物理组件。要打开 分配编辑器,请导航至建模 > 分配编辑器,或运行以下命令。
systemcomposer.allocation.editor
加载分配集。
allocSetPhys = systemcomposer.allocation.load("LogicalToPhysicalAllocation"); allocSetAct = systemcomposer.allocation.load("DiagramToModel");
将功能活动图分配给逻辑架构
在 DiagramToModel
分配集下,选择 Scenario 1
。
在行过滤器和列过滤器部分中选择组件。分配编辑器 工具允许您在不同的架构模型之间链接组件,以建立工程的可追溯性。双击分配矩阵中的框以分配或取消分配两个元素。
从活动图中,将动作节点 Initialize Path Follower
、Apply Path Limits
、Select Target Position
和 Error out
分配给逻辑架构模型上的组件 Alignment Algorithm
,以表明这些动作由该逻辑组件的内容控制。
将逻辑分配到物理架构
在 LogicalToPhysicalAllocation
分配集下,选择 Scenario 1
。
车辆的自主性主要由目标机器句柄处理,目标机器是一种嵌入式计算机,负责处理传感器读数以计算控制输入。因此,许多功能组件(如 Robot Body
、Sensor Fusion
和 Trajectory Generator
)在物理架构模型中被分配到 Target Machine
组件。
参考
[1] Rahman, Mohd Azizi Abdul, Katsuhiro Mayama, Takahiro Takasu, Akira Yasuda, and Makoto Mizukawa. “Model-Driven Development of Intelligent Mobile Robot Using Systems Modeling Language (SysML).” In Mobile Robots: Control Architectures, Bio-Interfacing, Navigation, Multi Robot Motion Planning and Operator Training, edited by Janusz Będkowski. InTech Open, 2011. https://doi.org/10.5772/26906.
另请参阅
allocate
| addComponent
| addPort
| connect