Simulink的顶级系统布局金宝app®模型是许多工程团队可以使用的常见背景,并且是基于模型的设计范式中许多任务的基础:分析,设计,测试和实现。通过识别结构和单个组件,您可以在顶级定义一个系统。然后,您以与组件对应的分层方式组织模型。然后,您为每个组件和组件之间的连接定义接口。
本教程中的特色模型是一个扁平机器人,可以在两个轮子的帮助下移动或旋转,类似于家庭吸尘机器人。该模型假定机器人以两种方式之一移动:
线性 - 两个车轮以相同的速度转向相同的方向,机器人线性移动。
旋转 - 车轮以相同的速度和机器人旋转到位的相反方向。
每种类型的运动从静止状态开始,即旋转和线性速度都为零。利用这些假设,可以单独建模线性和旋转运动组件。
在设计型号之前,请考虑您的目标和要求。目标决定了模型的结构和细节水平。如果目标只是弄清楚机器人可以去的速度,用于线性运动的建模就足够了。如果目标是为设备设计一组输入,则遵循给定路径,则涉及旋转分量。如果避免障碍是目标,则系统需要传感器。本教程构建了一个模型,其目标是设计传感器参数,使机器人在其路径中检测到障碍时停止。为实现这一目标,模型必须:
在电机停止时,确定机器人停止的速度有多快
提供一系列用于线性和旋转运动的命令,以便机器人可以在二维空间中移动
第一个建模目标使您可以分析运动,以便您可以设计传感器。第二个目标使您可以测试您的设计。
了解您的建模要求后,您可以开始识别系统的组件。在顶级结构中识别单个组件及其关系有助于系统地帮助构建潜在的复杂模型。在开始构建模型之前,您可以在Simulink外部执行这些步骤。金宝app
此任务涉及回答这些问题:
系统的结构和功能组件是什么?当布局反映物理和功能结构时,它可以帮助您了解,构建,沟通和测试系统。当在设计过程中的不同阶段将在不同阶段实现时,这变得更重要。
每个组件的输入和输出是什么?绘制显示组件之间连接的图片。此图片可帮助您在模型中可视化信号流,识别每个信号的源极和接收器,并确定是否存在所有必要的组件。
需要什么样的细节?包括图中的主要系统参数。创建系统的图片可以帮助您识别和模拟对要观察的行为至关重要的部分。每个组件和参数有助于建模目标的组件和参数必须在模型中具有表示,但复杂性和可读性之间存在权衡。建模可以是一个迭代过程。您可以使用少量细节开始高级模型,然后在需要时逐渐增加复杂性。
考虑以下内容通常有益:
系统的哪些部分需要测试?
什么是测试数据和成功标准?
分析和设计任务需要哪些输出?
本教程中的系统定义了一种机器人,其具有两个维度的两个电动轮移动。这包括:
线性运动特性
旋转运动特性
转换以确定系统中的两个维度位置
传感器以测量机器人距离障碍物的距离
该系统的模型包括两个相同的车轮,施加到车轮,旋转动力学,坐标变换和传感器的输入力。该模型使用子系统表示每个组件:
打开一个新的Simul金宝appink模型。看开放新模型。
打开库浏览器。看打开Sim金宝appulink库浏览器。
添加子系统块。拖五子系统街区来自端口和子系统图书馆到新模型。
单击子系统。在里面格式标签,单击汽车名称下拉。清除隐藏自动块名称复选框。
安排和重命名子系统如图所示的块。要更改块名称,请双击块名称并编辑文本。
识别子系统之间的输入和输出连接。输入和输出值在仿真期间动态地改变。连接块线表示数据传输。此表显示了每个组件的输入和输出。
堵塞 | 输入 | 输出 | 相关信息 |
---|---|---|---|
输入 | 没有任何 | 逼迫右轮 施力到左轮 |
不适用 |
右轮 | 逼迫右轮 | 右轮速度 | 方向,负表示反向方向 |
左轮 | 施力到左轮 | 左轮速度 | 方向,负表示反向方向 |
回转 | 左右轮之间的速度差异 | 旋转角度 | 逆时针测量 |
协调转换 | 正常的速度 旋转角度 |
X.的速度 速度在Y. |
不适用 |
传感器 | x坐标 y坐标 |
没有任何 | 造型不需要块 |
一些块输入不完全匹配块输出。因此,除了各个组件的动态之外,模型必须计算以下内容:
输入到旋转计算 - 减去两个轮子的速度并将两个分为两个。
输入到坐标变换 - 平均两个轮子的速度。
输入传感器 - 集成坐标变换的输出。
车轮速度始终相等,并且计算在该假设中准确。
添加必要的组件并完成连接:
将必要的输入和输出端口添加到每个子系统。双击a子系统堵塞。
每个新的子系统块包含一个inport.(In1)和一个外港(OUT1.) 堵塞。这些块定义了模型层次结构中的下一个更高级别的信号接口。
每个inport.block创建一个输入端口子系统块,每个外港块创建输出端口。该模型将这些块的名称反映为输入/输出端口名称。添加更多块以进行其他输入和输出信号。在“Simul金宝appink Editor”工具栏上,单击向父母导航按钮返回顶级。
对于每个块,添加和重命名inport.和外港块。
复制A.inport.块创建一个新的,使用粘贴(Ctrl + V)选项。
计算所需的输入坐标变换和回转来自左轮和右轮速度的子系统。
计算输入线性速度输入坐标变换子系统。加一个添加块从数学操作库并连接双轮组件的输出。添加增益块并将增益参数设置为1/2
。连接输出添加块到这一点获得堵塞。
计算输入的速度差差回转子系统。添加A.减去从数学操作库中块。将右轮速度连接到+输入和左轮速度到-输入。连接两个车轮组件的输出。添加增益块并将增益参数设置为1/2
。连接输出减去块到这一点获得堵塞。
从x和y速度计算x和y坐标。加二积分商从持续库中的块并连接输出坐标变换堵塞。留下初始条件积分商块设置为0.
。
完成系统的连接。
确定模型的一部分的参数及其值。使用建模目标来确定这些值是否始终固定或从模拟变更为模拟。有助于建模目标的参数需要模型中的显式表示。此表有助于在建模每个组件时确定细节级别。
范围 | 堵塞 | 象征 | 价值 | 类型 |
---|---|---|---|---|
大量的 | 左轮 右轮 |
m | 2.5千克 | 多变的 |
滚动阻力 | 左轮 右轮 |
k_drag. | 30 NS.2/ M. | 多变的 |
机器人半径 | 回转 | R. | 0.15米 | 多变的 |
初始角度 | 回转 | 没有任何 | 0 rad. | 固定的 |
初始速度 | 左轮 右轮 |
没有任何 | 0米/秒 0米/秒 |
固定的 |
初始(x,y)坐标 | 集成商 | 没有任何 | (0,0)m | 固定的 |
金宝appsimulink使用matlab®工作区评估参数。在MATLAB命令窗口中设置这些参数:
m = 2.5;K_DRAG = 30;r = 0.15;