主要内容

创建架构模型

在此示例中,创建由传感器,运动和规划算法组成的移动机器人的架构模型。定义接口并链接要求。

在视觉上代表系统

使用System Composer™捕获机器人臂的构造。机器人臂由该初步草图中所示的组件组成。

图中箭头从左指向称为目标位置的轨迹规划,以及一个周期的轨迹规划、传感器和运动。

创建架构模型

  1. 在MATLAB®命令窗口中,键入

    systemcomposer

    的仿真软金宝app件®开始页打开到系统编写器。

    从Simulink Start页面访问新的系统Composer架构模型。金宝app

  2. 点击建筑模型

    使用新的架构模型打开“构图编辑器”窗口。您可以通过左下角的徽章和左侧的组件调色板识别架构模型。

    System Composer中一个新的无标题架构模型。

  3. 双击架构模型标题并更改无标题机器人.模型的名称通常反映您正在构建的体系结构的系统。

    重命名为“机器人”的建筑模型。

  4. 保存模型。

绘制组件

  1. 单击并拖动组件从左侧调色板。

    从左侧面板中单击并拖动组件,将其添加到体系结构模型中。

  2. 将组件重命名为传感器

  3. 添加轨迹规划运动组件。

    一个名为“机器人”的架构模型,由三个组件组成

创建端口和连接

你可以在任何一端为组件添加端口,端口可以有输入或输出方向。若要创建端口,请将鼠标光标暂停在组件一侧。单击并松开鼠标按钮查看方向选项。选择向右箭头左箭头选择方向。使用代表流经该端口的信息的名称重命名端口。

  1. 在sensor组件的底部创建一个输出端口。重命名它Sensoldata.

    “机器人”架构模型,带有向下的“传感器”元件下方的向下的输出端口,称为“传感器数据”。

  2. 单击并从中拖动一行Sensoldata.输出端口到运动组件。当您看到在组件侧创建的输入端口时,请释放鼠标按钮。默认情况下,此新端口具有与源端口相同的名称。

  3. 悬停在角落Sensoldata.行,直到看到分支图标。.右键单击并将分支线拖动到轨迹规划组件。

    “机器人”架构模型带有一个“传感器数据”连接端口,从“传感器”组件连接到两个端口,进入“轨迹规划”和“运动”组件。

  4. 连接完成如下图所示。

    在“机器人”架构模型中,添加一个从“轨迹规划”组件到“运动”组件的“运动命令”连接,以及一个从“运动”组件到“传感器”组件的“编码器”连接。

体系结构模型的根级别还可以具有描述系统与其环境交互的端口。在这个例子中,机器人的目标位置是由机器人外部的计算机提供的。用输入端口表示这种关系。

  1. 单击架构模型的左边缘并键入端口名称目标是

  2. 连接一个架构端口到一个组件通过从目标是输入端口轨迹规划组件。与架构端口的连接或来自架构端口的连接显示为标记。

    最终的“机器人”模型有一个从“轨迹规划”组件连接到“目标位置”输入端口的架构端口。

编辑界面

通过使用数据类型、单元、维度和其他属性配置数据接口,指定组件之间的数据流。接口可以简单到发送一个整数值,但它也可以是一组数字、枚举、数字和字符串的组合,或其他预定义接口的集合。

考虑之间的界面传感器运动组件。传感器数据包括:

  • 定位数据从两个电机

  • 障碍物接近的数据来自两个传感器

  • 捕获数据新鲜度的时间戳

数据具有这些规范。

姓名 数据类型 单位
时间戳
1号电机位置
2号电机位置
距离1为传感器1
传感器1的方向1
传感器2的距离2
direction2传感器2
  1. 造型选项卡,选择“接口编辑器”。

  2. 单击按钮以添加一个界面并为其命名Sensoldata.

    接口与组件端口分开命名和定义,然后分配给端口。

  3. 单击Sensoldata.输出端口传感器组件。在界面编辑器中,右键单击Sensoldata.并选择分配给所选端口

    如果您点击Sensoldata.再次,三Sensoldata.端口被突出显示,表示端口与该接口相关联。

    模型与三个“传感器数据”端口突出显示为紫色。

  4. 向选定的界面添加一个元素。单击添加界面元素按钮添加元素并命名它时间戳

  5. 通过单击“添加元素”按钮,继续向接口添加元素。

  6. 使用属性检查器编辑接口元素的属性。右键单击任何元素并选择检查属性.属性检查器在接口编辑器上方打开。

    单击每个界面元素,并按照规范中所示添加单元。单击旁边的下拉菜单按钮将接口保存到数据字典中。数据字典允许您在相互关联的模型中共同管理和共享一组接口。例如,稍后在设计中,如果选择将外部计算机建模为单独的架构模型,那么此模型和机器人模型可以共享相同的数据字典。它被保存为robotdd.

    RobotDD字典与接口命名为'传感器数据'和接口元素命名为'时间戳','方向1',方向2',距离1',距离2','位置1',和'位置2'。

分解组件

每个组件都可以拥有自己的架构。双击组件以将其分解为其子组件。

  1. 双击轨迹规划组件。标题或模型浏览器表示模型层次结构中的组件的位置。

    “轨迹规划”组件的内部显示了三个名为“目标位置”,“传感器数据”和“Motion命令”的架构端口。

    此组件首先使用该组成的电机位置数据Sensoldata.接口计算理想位置和速度命令。然后,根据一些安全规则,它根据一些安全规则处理相同接口中的障碍物距离信息以使该运动命令。

  2. 添加运动控制安全规则组件的一部分轨迹规划建筑学。

    拖着目标是港口到运动控制组件。添加A.命令输出端口到运动控制,然后拖动一条线到安全规则组件。拖出线路Sensoldata.港口运动控制安全规则组件。

    “轨迹规划”组件的端口连接。

实现组件行为

如果您有一个表示单个功能单元的组件,它不需要进一步的架构分解,那么您可以在Simulink中定义其预期的或详细的行为模型。金宝app

  1. 右键单击运动控制组件和选择创建模型的行为金宝app

  2. 键入新的Simulink模型的名称。金宝app选择空白的Simulink模板(默认)或您创金宝app建的模板,然后单击好吧.有关创建自己的Simulink模板的更多信息,请参阅金宝app从模型中创建模板

    “创建Simul金宝appink行为”对话框,新模型名称指定为“运动控制器”,来自默认的Simulink模板和数据字典RobotDD。

    这将在当前目录中创建一个新的Simul金宝appink模型,将组件转换为引用组件(引用作为单独工件存储的另一个模型),并在组件上添加一个带有被引用模型名称的Simulink模型标识。Simu金宝applink行为模型预先配置了来自架构模型中的组件的端口。您现在可以使用Simulink来金宝app详细说明运动控制的行为模型。

    金宝app“运动控制”组件右上角的Simulink图标,指定其中的Simulink行为。

  3. 双击运动控制.添加A.块减去Sensoldata.目标是,并添加获得在连接到输出之前阻塞命令表示一个简单的比例控制器。

    “运金宝app动控制”组件内的Simulink模型。

链接到现有的Simulink行为模型金宝app

您还可以从System Composer组件链接到现有的Simul金宝appink行为模型(如果以前的设计已经提供了该模型)。

  1. 右键单击组件并选择链接到模型

  2. 输入Simulink模型的名称。金宝app

    使用名为“数据处理”的现有Simulink模型的模型对话框链接。金宝app

当组件链接到Simulink模型时,组件中存在的任何子组件和端口都会被删除。金宝app然后使用与Simulink模型中描述的相同的端口创建组件。金宝app

也可以看看

职能

相关的话题