系统定义和布局

Simulink的的顶层系统设计金宝app®模型是许多工程团队可以使用的公共环境,并且是基于模型的设计范例中许多任务的基础:分析、设计、测试和实现。通过标识结构和各个组件,可以在顶层定义系统。然后以与组件相对应的分层方式组织模型。然后为每个组件和组件之间的连接定义接口。

本教程中的特色模型是一个可以在两个轮子的帮助下移动或旋转的平面机器人,类似于家用吸尘机器人。这个模型假设机器人有两种移动方式:

  • 线性-两个轮子以相同的速度向相同的方向转动,机器人线性移动。

  • 转动-轮子以相同的速度向相反的方向转动,机器人原地转动。

每个类型的运动从静止状态,即开始时,两个旋转和线性速度是零。有了这些假设,线性和旋转运动分量可以分别建模。

确定建模目标

设计一个模型之前,请考虑您的目标和要求。目标决定的结构和细节,为模型的水平。如果目标仅仅是要弄清楚机器人的运行速度,只是直线运动造型就足够了。如果目标是设计一组输入用于设备到遵循给定的路径,则该旋转分量是参与。如果避障为目标,则系统需要的传感器。本教程建立与设计传感器参数的目标模型,使得机器人在时间停止当它检测到其轨道上的障碍。为了实现这一目标,必须对模型:

  • 确定机器人的速度有多快停止时,电机停止

  • 提供线性和旋转运动,以使机器人可以在二维空间中移动的一系列命令

第一建模目的,可以分析的议案,以便您可以设计传感器。第二个目标可以测试你的设计。

识别系统组件和接口

一旦您理解了您的建模需求,您就可以开始识别系统的组件了。在顶层结构中确定各个组件及其关系有助于系统地构建潜在复杂的模型。在开始构建模型之前,需要在Simulink之外执行这些步骤。金宝app

这项任务包括回答以下问题:

  • 系统的结构和功能组成是什么?当布局反映了物理和功能结构时,它可以帮助您理解、构建、通信和测试系统。当系统的各个部分要在设计过程的不同阶段实现时,这一点变得更加重要。

  • 什么是每个组件的输入和输出?画图表示组件之间的连接的图像。这张照片可以帮助您可视化模型中的信号流,标识源和每个信号的接收器,并确定是否所有必需的组件存在。

  • 什么程度的细节是必要的?在图表中包含主要的系统参数。创建系统的图片可以帮助您识别和建模对您想要观察的行为至关重要的部分。为建模目标做出贡献的每个组件和参数必须在模型中有一个表示,但是在复杂性和可读性之间存在权衡。建模可以是一个迭代过程。您可以从一个只有很少细节的高级模型开始,然后在需要的地方逐步增加复杂性。

它往往是有益的考虑以下几点:

  • 系统的哪些部分需要测试?

  • 什么是测试数据和成功标准?

  • 分析和设计任务需要哪些输出?

识别机器人运动组件

本教程中的系统定义了一个在二维空间中使用两个电动轮子移动的机器人。它包括:

  • 线性运动特点

  • 旋转运动特性

  • 变换,以确定在两个维度上的系统的位置

  • 用来测量机器人与障碍物之间距离的传感器

该系统的模型包括两个相同的轮子,施加到车轮,旋转动力学输入力,坐标变换,和传感器。该机型采用了子系统表示每个组件:

  1. 打开一个新的Simul金宝appink模型。看到开放的新模型

  2. 打开库浏览器。看到打开Sim金宝appulink库浏览器

  3. 添加子系统块。拖动5子系统从块港口及子系统图书馆的新模式。

  4. 单击一个子系统。在格式选项卡,单击汽车名称下拉。清除隐藏自动闭塞名复选框。

  5. 安排和重命名子系统块,如图所示。要更改块名称,双击块的名称和编辑文本。

定义组件之间的接口

识别子系统之间的输入和输出连接。在模拟过程中,输入和输出值会动态变化。连接块的线表示数据传输。这个表显示了每个组件的输入和输出。

输入 输出 相关信息
输入 没有

部队右轮

力左轮

不适用
右轮 部队右轮 右车轮速度 指向性,负的意思是相反的方向
左车轮 力左轮 左车轮速度 指向性,负的意思是相反的方向
回转 左右车轮之间的速度差异 旋转角 测量逆时针
坐标转换

正常速度

旋转角

在速度X

速度沿Y

不适用
传感器

X坐标

Y坐标

没有 没有必要进行建模块

有些块输入不完全匹配块的输出。因此,除了个别部件的动态,模型必须计算如下:

  • 输入旋转计算 - 两减去两个轮子和分裂的速度。

  • 输入坐标变换 - 平均两个轮子的速度。

  • 输入到传感器 - 集成的坐标变换的输出。

车轮速度的大小总是相等的,在这个假设下计算是准确的。

添加必要的组件并完成连接:

  1. 添加必要的输入和输出端口,每个子系统。双击子系统块。

    每一个新子系统块包含一个运行轨迹(IN1)和一个外港(输出1)嵌段。这些块定义与在模型层次中的下一个较高的电平的信号的接口。

    每一个运行轨迹块创建的输入端口子系统块,并且每个外港块产生一个输出端口。该模型反映了这些区块的输入/输出端口名的名称。添加更多的块对另外的输入和输出信号。在Simuli金宝appnk的编辑器工具栏上,单击向上导航至父按键回到最高水平。

    对于每个块,添加和重命名运行轨迹外港块。

    当复制一个运行轨迹功能块创建一个新的,使用(CTRL + V)选项。

  2. 计算所需的输入坐标变换回转子系统从左轮和右轮速度。

    1. 计算线性速度输入到坐标变换子系统。添加添加从数学操作库中阻塞并连接两轮组件的输出。添加增益块并将增益参数设置为1/2。连接的输出添加禁止到该获得块。

    2. 计算速度差输入回转子系统。添加减去块从数学操作库。连接右轮速度到+输入左轮速度到-输入。连接两个轮子部件的输出。添加增益块并将增益参数设置为1/2。连接的输出减去禁止到该获得块。

  3. 从X和Y速度计算X和Y坐标。添加两个积分从连续库块和连接的输出坐标变换块。的初始条件积分块设置为0

  4. 完成对系统的连接。

参数和数据

确定作为模型一部分的参数及其值。使用建模目标来确定这些值是否总是固定的,或者在不同的仿真之间不断更改。有助于建模目标的参数需要模型中的显式表示。此表有助于确定对每个组件建模时的详细级别。

参数 符号 类型

左车轮

右轮

2.5公斤 变量
滚动阻力

左车轮

右轮

k_drag 30 Ns2/ m 变量
机器人半径 回转 r 0.15米 变量
初始角 回转 没有 0 rad 固定
初始速度

左车轮

右轮

没有

0米/ s的

0米/ s的

固定
初始(X,Y)坐标 集成 没有 (0,0)米 固定

金宝appSimulink中使用MATLAB®工作区评估参数。设置在MATLAB命令窗口中的这些参数:

米= 2.5;k_drag = 30;R = 0.15;

相关话题