在此示例中,创建由传感器,运动和规划算法组成的移动机器人的架构模型。定义接口并链接要求。
使用System Composer™捕获机器人臂的构造。机器人臂由该初步草图中所示的组件组成。
在MATLAB®命令窗口中,键入
systemcomposer
的仿真软金宝app件®开始页打开到系统编写器。
点击建筑模型.
使用新的架构模型打开“构图编辑器”窗口。您可以通过左下角的徽章和左侧的组件调色板识别架构模型。
双击架构模型标题并更改无标题到机器人.模型的名称通常反映您正在构建的体系结构的系统。
保存模型。
单击并拖动组件从左侧调色板。
将组件重命名为传感器
.
添加轨迹规划
和运动
组件。
你可以在任何一端为组件添加端口,端口可以有输入或输出方向。若要创建端口,请将鼠标光标暂停在组件一侧。单击并松开鼠标按钮查看方向选项。选择或选择方向。使用代表流经该端口的信息的名称重命名端口。
在sensor组件的底部创建一个输出端口。重命名它Sensoldata.
.
单击并从中拖动一行Sensoldata.
输出端口到运动
组件。当您看到在组件侧创建的输入端口时,请释放鼠标按钮。默认情况下,此新端口具有与源端口相同的名称。
悬停在角落Sensoldata.
行,直到看到分支图标。.右键单击并将分支线拖动到轨迹规划
组件。
连接完成如下图所示。
体系结构模型的根级别还可以具有描述系统与其环境交互的端口。在这个例子中,机器人的目标位置是由机器人外部的计算机提供的。用输入端口表示这种关系。
单击架构模型的左边缘并键入端口名称目标是
.
连接一个架构端口到一个组件通过从目标是
输入端口轨迹规划
组件。与架构端口的连接或来自架构端口的连接显示为标记。
通过使用数据类型、单元、维度和其他属性配置数据接口,指定组件之间的数据流。接口可以简单到发送一个整数值,但它也可以是一组数字、枚举、数字和字符串的组合,或其他预定义接口的集合。
考虑之间的界面传感器
和运动
组件。传感器数据包括:
定位数据从两个电机
障碍物接近的数据来自两个传感器
捕获数据新鲜度的时间戳
数据具有这些规范。
姓名 | 数据类型 | 单位 |
---|---|---|
时间戳 | 双 | 秒 |
1号电机位置 | 双 | 度 |
2号电机位置 | 双 | 度 |
距离1为传感器1 | 双 | 米 |
传感器1的方向1 | 双 | 度 |
传感器2的距离2 | 双 | 米 |
direction2传感器2 | 双 | 度 |
在造型选项卡,选择“接口编辑器”。
单击按钮以添加一个界面并为其命名Sensoldata.
.
接口与组件端口分开命名和定义,然后分配给端口。
单击Sensoldata.
输出端口传感器
组件。在界面编辑器中,右键单击Sensoldata.
并选择分配给所选端口.
如果您点击Sensoldata.
再次,三Sensoldata.
端口被突出显示,表示端口与该接口相关联。
向选定的界面添加一个元素。单击按钮添加元素并命名它时间戳
.
通过单击“添加元素”按钮,继续向接口添加元素。
使用属性检查器编辑接口元素的属性。右键单击任何元素并选择检查属性
.属性检查器在接口编辑器上方打开。
单击每个界面元素,并按照规范中所示添加单元。单击旁边的下拉菜单按钮将接口保存到数据字典中。数据字典允许您在相互关联的模型中共同管理和共享一组接口。例如,稍后在设计中,如果选择将外部计算机建模为单独的架构模型,那么此模型和机器人模型可以共享相同的数据字典。它被保存为robotdd.
.
每个组件都可以拥有自己的架构。双击组件以将其分解为其子组件。
双击轨迹规划
组件。标题或模型浏览器表示模型层次结构中的组件的位置。
此组件首先使用该组成的电机位置数据Sensoldata.
接口计算理想位置和速度命令。然后,根据一些安全规则,它根据一些安全规则处理相同接口中的障碍物距离信息以使该运动命令。
添加运动控制
和安全规则
组件的一部分轨迹规划
建筑学。
拖着目标是
港口到运动控制
组件。添加A.命令
输出端口到运动控制
,然后拖动一条线到安全规则
组件。拖出线路Sensoldata.
港口运动控制
和安全规则
组件。
如果您有一个表示单个功能单元的组件,它不需要进一步的架构分解,那么您可以在Simulink中定义其预期的或详细的行为模型。金宝app
右键单击运动控制
组件和选择创建模型的行为金宝app
.
键入新的Simulink模型的名称。金宝app选择空白的Simulink模板(默认)或您创金宝app建的模板,然后单击好吧.有关创建自己的Simulink模板的更多信息,请参阅金宝app从模型中创建模板.
这将在当前目录中创建一个新的Simul金宝appink模型,将组件转换为引用组件(引用作为单独工件存储的另一个模型),并在组件上添加一个带有被引用模型名称的Simulink模型标识。Simu金宝applink行为模型预先配置了来自架构模型中的组件的端口。您现在可以使用Simulink来金宝app详细说明运动控制的行为模型。
双击运动控制
.添加A.和块减去Sensoldata.
从目标是
,并添加获得在连接到输出之前阻塞命令
表示一个简单的比例控制器。
您还可以从System Composer组件链接到现有的Simul金宝appink行为模型(如果以前的设计已经提供了该模型)。
右键单击组件并选择链接到模型
.
输入Simulink模型的名称。金宝app
当组件链接到Simulink模型时,组件中存在的任何子组件和端口都会被删除。金宝app然后使用与Simulink模型中描述的相同的端口创建组件。金宝app
addComponent
|addElement
|addinterface.
|addPort
|连接
|createmodel.
|create金宝appSimulinkBehavior
|Linktomodel.
|savetodictionary.
|setType