基于模型的设计范式以物理组件和系统的模型为中心,作为设计、测试和实现活动的基础。本教程将设计的构件添加到现有系统模型中。
该模型是一个平面机器人,可以借助两个轮子移动或旋转,类似于家用吸尘机器人。通过在MATLAB命令行中输入打开模型:
开放式系统(“system_model.slx”)
本教程分析这个系统并为其添加功能。
设计目标的规范是设计任务的关键第一步。即使是一个简单的系统,也可以有多个甚至是竞争的设计目标。
设计一个控制器,改变力输入,使车轮以所需速度转动。
设计使设备按预定路径移动的输入。
设计一个传感器和控制器,使设备遵循一条线。
设计一种规划算法,使设备在避开障碍物的同时,尽可能地使用最短路径到达某一点。
设计一个传感器和算法,使设备在避开障碍物的同时移动到特定区域。
本教程设计了一个警报系统。确定测量与障碍物距离的传感器的参数。一个完美的传感器精确地测量与障碍物的距离。警报系统以固定的间隔对这些测量值进行采样,以便输出始终在测量值的0.05 m范围内。该系统会及时发出警报,以便机器人在撞到障碍物之前停止。
新组件的设计需要分析机器人的直线运动,以确定:
当给轮子的动力被切断时,机器人能以最高速度行驶多远
机器人的最高速度
在启动运动的力输入下运行模型,等待机器人达到稳定的速度,然后将输入的力设为零:
在模型中,双击input子系统。
删除现有步骤输入并添加脉冲发生器块。
设置脉冲发生器布洛克:
振幅:1
期:20.
脉冲宽度:15
这些参数的设计是为了确保达到最高速度。您可以更改参数以查看其效果。
运行模型20秒。
第一个范围显示,当此时断电时,速度开始迅速下降3.
.速度逐渐趋近于零,但并没有完全达到它。这是建模的局限性;在没有外力的低速下的动力学需要一个更复杂的表示。然而,对于这里的目标,我们可以做一些近似。放大位置信号。
在时间3.
时,机器人的位置在0.55 m左右。仿真结束时,位置小于0.71 m。可以肯定的说,在切断电源后,机器人的行走距离不到0.16米。
要找到最高速度:
放大时间内速度输出的稳定区域,从1秒到3秒。
再次单击缩放按钮以退出缩放模式。单击光标测量按钮.
将第二个光标设置到速度曲线平坦的区域。
的价值中的列光标测量面板显示机器人的最高速度为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米。
构建传感器:
使用所示的端口创建一个子系统。
构建测距子系统。在传感器模型块中,使用减去,数学函数与作用震级^2
,总和,及Sqrt块,如图所示。请注意输入端口的重新排序。
模型采样。添加一个零级举行从离散库阻塞到子系统,并设置样品时间参数0.25
.
对警报逻辑进行建模。添加一个与常数相比块,并设置参数:
操作符:<=
定值:0.21
输出数据类型:布尔值
此逻辑块将其输出设置为1
当其输入小于或等于0.21
.
完成积木的连接。
用障碍物的位置来测试设计X=0.65,Y=0使用常数块作为传感器模型子系统的输入。这个测试在X方向验证设计功能。您可以为不同的路径创建类似的测试。这个模型只生成一个警报。它不控制机器人。
设置障碍物位置。加两个常数源库中的块将常量值设置为0.65
和0
.将机器人的位置输出连接到传感器的输入。
向Alert输出添加范围。
运行模型。
观察警报状态变为1
一旦位置在距离障碍物位置0.21 m以内,且满足该组件的设计要求。
对于具有复杂组件和形式化需求的真实系统,Simulink万博1manbetx®产品系列包括用于优化和自动化设计过程的附加工具。万博1manbetx仿真软件需求™提供用于正式定义需求并将其链接到模型组件的工具。万博1manbetxSimulink控制设计™如果你想为这个机器人设计一个控制器的话。万博1manbetxSimulink Verification and Validation™s manbetx 845产品为测试组件和系统建立了一个正式的框架。