主要内容

中设计系统动态仿真模块

基于模型的设计范式以物理组件和系统的模型为中心,作为设计、测试和实现活动的基础。本教程将设计好的组件添加到现有的系统模型中。

开放系统模型

该模型是一个平面机器人,可以在两个轮子的帮助下移动或旋转,类似于家庭吸尘机器人。在MATLAB®命令行中输入打开模型:

open_system (“system_model.slx”

本教程分析该系统并为其添加功能。

确定设计组件和设计目标

明确设计目标是完成设计任务的关键第一步。即使是一个简单的系统,也可能存在多个甚至相互竞争的设计目标。考虑示例模型的以下目标:

  • 设计一个控制器,改变输入的力,使车轮以所需的速度转动。

  • 设计输入,使设备在预定的路径上移动。

  • 设计一个传感器和控制器,使设备遵循一条直线。

  • 设计一个规划算法,使设备在避开障碍物的情况下,尽可能使用最短路径到达某一点。

  • 设计一个传感器和算法,使设备在避开障碍物的同时移动到特定区域。

本教程设计了一个警报系统。你要确定传感器的参数,它可以测量距离障碍物的距离。一个完美的传感器可以精确地测量与障碍物的距离。警报系统以固定的间隔对这些测量进行采样,以便输出总是在测量值的0.05米内。该系统及时发出警报,使机器人在撞上障碍物前停下来。

通过仿真分析系统行为

新组件的设计需要分析机器人的线性运动,以确定:

  • 当轮子的动力被切断时,机器人能以最高速度走多远

  • 机器人的最高速度

用一个开始运动的力输入运行模型,等待直到机器人达到稳定的速度,然后将输入力设置为零:

  1. 在模型中,双击input子系统。

  2. 删除现有的步骤输入并添加脉冲发生器块。

  3. 设置参数脉冲发生器布洛克:

    • 振幅:1

    • 期:20.

    • 脉冲宽度:15

    这些参数的设计是为了确保达到最高速度。您可以更改参数以查看其效果。

  4. 运行模型20秒。

第一个范围表明,当电源被切断时,速度迅速开始下降3..然后速度渐近地接近零,但并不完全达到零。这是建模的一个局限性;无外力的低速动力学需要更复杂的表示。然而,对于这里的目标,我们可以做出近似。放大位置信号。

在时间3.时,机器人位置约为0.55 m。模拟结束时,位置小于0.71 m。可以肯定地说,在切断电源后,机器人的飞行距离不到0.16米。

要找到最高速度:

  1. 放大速度输出的稳定区域,从1秒到3秒。

  2. 再次单击缩放按钮离开缩放模式。单击光标测量按钮

  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米。

添加设计组件

构建传感器:

  1. 使用如下所示的端口创建一个子系统。

  2. 构建距离测量子系统。在Sensor模型块中,使用减去数学函数与函数^ 2级总和,√6如图所示。注意输入端口的重新排序。

  3. 模型抽样。添加一个零级举行块从Discrete库到子系统,并设置样品时间参数0.25

  4. 对警报逻辑建模。添加一个比较常量块,并设置参数:

    • 操作符< =

    • 恒定值0.21

    • 输出数据类型布尔

    此逻辑块将其输出设置为1当它的输入小于等于0.21

  5. 完成块的连接。

验证设计

用障碍物位置测试设计X = 0.65, y = 0使用常数块作为传感器模型子系统的输入。该测试在X方向上验证设计功能。您可以为不同的路径创建类似的测试。该模型只生成警报。它不能控制机器人。

  1. 设置障碍物的位置。添加两个常数源码库中的块将常量值设置为0.65而且0.将机器人的位置输出连接到传感器的输入。

  2. 向Alert输出添加一个作用域。

  3. 运行模型。

注意,警报状态变为1一旦位置在距离障碍物位置0.21 m范围内,且满足该组件的设计要求。

对于具有复杂组件和正式需求的真实系统,Simulink®产品族包括用于细化和自动化设计过程的附加工具。要求工具箱™提供工具来正式定义需求并将它们链接到模型组件。Simulink控制设计™如果你想为这个机器人建立一个控制器,可以方便设计。Simulink验证和验证™2022世界杯八强谁会赢?产品为测试组件和系统建立了正式的框架。

相关的话题

Baidu
map