基于模型的设计范式以物理组件和系统的模型为中心,作为设计、测试和实现活动的基础。本教程将设计好的组件添加到现有的系统模型中。
该模型是一个平面机器人,可以在两个轮子的帮助下移动或旋转,类似于家用吸尘机器人。在MATLAB®命令行中输入:
open_system (“system_model.slx”)
本教程分析此系统并向其添加功能。
设计目标的明确是完成设计任务的关键的第一步。即使是一个简单的系统,也可能存在多个甚至相互竞争的设计目标。考虑示例模型的这些目标:
设计一个控制器,可以改变力输入,使车轮以期望的速度转动。
设计使设备按预定路径移动的输入。
设计一个传感器和控制器,使设备沿直线运行。
设计规划算法,使设备在避开障碍物的同时,使用最短路径到达某一点。
设计一个传感器和算法,让设备在避开障碍物的同时移动特定区域。
本教程设计一个警报系统。您可以为测量到障碍物距离的传感器确定参数。一个完美的传感器可以精确地测量到距离障碍物的距离。警报系统以固定的间隔对这些测量值进行采样,因此输出值始终在测量值的0.05 m以内。该系统及时发出警报,让机器人在撞上障碍物前停下来。
新部件的设计需要分析机器人的线性运动,以确定:
当车轮断电时,机器人能以最高速度行驶多远
机器人的最高速度
使用开始运动的力输入运行模型,等待机器人达到稳定速度,然后将输入力设置为零:
在模型中,双击输入子系统。
删除已有的步骤输入,并添加一个脉冲发生器块
设置脉冲发生器区块:
振幅:1.
期间:20
脉冲宽度:15
这些参数旨在确保达到最高速度。可以更改参数以查看其效果。
运行模型20秒。
第一个范围表明,在时间切断电源时,速度迅速开始下降3.
. 然后,速度逐渐接近零,但并未完全达到。这是建模的局限性;无外力低速动力学需要更复杂的表示。然而,对于这里的目标,可以进行近似。放大位置信号。
当时3.
,机器人的位置约为0.55米。模拟结束时,位置小于0.71 m。可以肯定地说,切断电源后,机器人的行程小于0.16米。
要查找最高速度,请执行以下操作:
在时间上放大速度输出的稳定区域,从1s到3s。
再次点击缩放按钮,离开缩放模式。单击光标测量按钮.
将第二个光标设置为速度曲线平坦的区域。
这个价值列光标测量面板显示机器人的最高速度为0.183 m/s。要计算机器人移动0.05 m所需的时间,请将0.05 m除以0.183 m/s。你有0.27秒。
传感器设计由以下组件组成:
测量机器人与障碍物之间的距离-本例假设测量是完美的。
警报系统测量距离的时间间隔—为了使测量误差保持在0.05 m以下,采样间隔必须小于0.27秒。使用0.25秒。
传感器产生警报的距离分析表明,减速必须从距离障碍物0.16米处开始。实际警报距离还必须考虑离散测量的误差0.05 m。
构建传感器:
创建具有端口的子系统,如图所示。
构建距离测量子系统。在Sensor模型块中,使用减,数学函数有功能^ 2级
,总和,√6块如图所示。请注意输入端口的重新排序。
模型抽样。添加一个零阶保持块从离散库到子系统并设置采样时间参数到0.25
.
对警报逻辑进行建模。添加比较恒定的从逻辑和位操作库中选择块并设置参数:
操作人员:<=
恒定值:0.21
输出数据类型:布尔
这个逻辑块将其输出设置为1.
当它的输入小于等于时0.21
.
完成模块的连接。
使用以下障碍物位置测试设计:X = 0.65, y = 0使用常数块作为传感器模型子系统的输入。此测试验证X方向的设计功能。您可以为不同的路径创建类似的测试。此模型仅生成警报。它不控制机器人。
设置障碍物的位置。添加两个常数块将常量值设置为0.65
和0
. 将机器人的位置输出连接到传感器的输入。
将作用域添加到警报输出。
运行模型。
观察警报状态是否变为1.
一旦该位置位于障碍物位置0.21 m范围内且满足该部件的设计要求。
对于具有复杂组件和正式需求的真实系统,Simulink金宝app®产品家族包括用于改进和自动化设计过程的附加工具。金宝app模拟链路要求™提供工具来正式定义需求并将它们链接到模型组件。金宝app仿真软件控制设计™如果您想为该机器人构建控制器,可以简化设计。金宝appSimulink验证和确认™下载188bet金宝搏产品为测试组件和系统建立了一个正式的框架。