倒立摆:Simscape建模

倒立摆:Simscape建模目录物理设置 创建世界框架和基本配置 组装底盘和推车 摆放在一对手推车连接到摆 选择用于控制器和角度转换的输出 为摆锤和手推车创造原型 闭环设置 控制器实施物理设置在本节中,我们将展示如何使用SimscapeMultibody的物理建模模块来建立倒立摆模型。Simscape库中的块代表实际的物理组件;因此,可以构建复杂的多体动力学模型,而无需通过物理原理来合成数学方程,就像通过应用牛顿定律来生成在倒立摆中实现的模型:SimulinkModeling一样。.

物理设置

在本节中,我们将展示如何使用Simscape Multibody的物理建模模块来建立倒立摆模型。Simscape库中的块代表实际的物理组件;因此,可以构建复杂的多体动力学模型,而无需通过物理原理来合成数学方程,就像通过应用牛顿定律来生成在
倒立摆中
实现的模型
:Simulink Modeling一样

倒立摆:Simscape建模

系统参数定义如下:
(M)推车质量0.5公斤
(m)摆质量0.2公斤
(b)推车的摩擦系数为0.1 N / m / sec
(l)到摆质量中心的长度0.3 m
(I)摆的质量惯性矩0.006 kg.m ^ 2

创建世界框架和基本配置

通过在MATLAB命令窗口中键入
smnew
来打开新的Simscape Multibody模型。如下所示,将打开一个新模型,其中已有一些常用模块。PS-Simulink和Simulink-PS块定义了Simulink输入/输出模型和边界模型之间的边界,在Simulink输入/输出模型中,对块进行顺序评估;在Simscape模型中,对方程序进行同时评估。

倒立摆:Simscape建模

要在模型中配置基本设置,请执行以下操作:
  • :“还原器配置”块,并确保未替换“
    使用本地替换器”替换
  • 键入
    CTRL-E
    打开“
    配置参数”
    对话框
  • 在“
    还原器”
    窗格上,确保将“
    类型
    ”设置为“可变步长”,并且将“
    转化器
    ”设置为“自动”,将“
    停止时间
    ”设置为“ 10”

组装底盘和推车

我们将手推车建模为沿轴移动的点质量。
  • 将“刚性变换”块的B端口连接到World Frame的W端口
  • 双击“刚性变换”块
  • 在“
    旋转
    ”组中,将“
    方法
    ”设置为“标准轴”,将
    轴设置
    为“ + Y”,将角度
    设置
    为“ 90度”
  • 将“刚性变换”块重命名为“变换车辆轴”

倒立摆:Simscape建模

添加块的提示:
  1. 使用快速插入添加块。在图中依次并键入块的名称(使用下面的
    粗体
    字母)。将出现一个块列表,您可以从列表中选择所需的块。
  2. 输入块后,将出现提示您输入参数。输入变量名称,如下所示。
  3. 要旋转块或旋转块,请拖动垂直该块,然后从“
    旋转和倾斜”
    菜单中选择一个选项。
  4. 要在块名称下面显示参数,请参见Simulink文档中的“
    设置块注释属性
    ”。
添加以下块:
*
小学
级参考
*
sco的
PE
*
普勒
SE发电机

对于脉冲发生器,双击该块,然后将“
周期
”设置为“ 10”,将“
幅度
”设置为“ 1000”,将“
脉冲宽度”设置
为“ 0.01”,
将“
相位
延迟”设置
为“ 1”。
棱柱关节将通过力输入来致动。
  • 双击棱柱形关节以打开任一
  • 在“
    内部力学”
    组中,将“
    阻尼系数
    ”设置为“ 0.1 N /(m / s)”
  • 在“
    驱动
    ”组下,将“

    ”设置为“由输入提供”
  • 在“
    传感”
    组中,选择“
    位置

    速度”
  • 将棱柱接头重命名为“棱柱车”

倒立摆:Simscape建模

下一步,需要将Prismatic Joint连接到模型的其余部分。
  • 将棱柱车的B端口连接到块“变换车辆轴”的F端口
  • 将棱柱车的F端口连接到实体块的R端口
  • 将脉冲发生器块重命名为“ Disturbance”,将“ Disturbance”的输出连接到图中已存在的Simulink-PS Converter模块
  • 将Simulink-PS Converter模块的输出连接到Prismatic Cart的力输入
  • 双击该信号串联其命名为“ Force”
  • 双击Simulink-PS Converter模块插入牛顿的
    输入信号单位
    设置为“ N”
  • 制作PS-Simulink块的副本
  • 双击一个PS-Simulink块连接“
    输出信号单位
    ”设置为“ m”,然后将块连接到Prismatic Cart块的p端口。
  • 双击另一个PS-Simulink模块,将
    输出信号单位
    设置为“ m / s”,然后将其连接到Prismatic Cart模块的v端口
  • 将两个PS-Simulink模块连接到显示器
  • 将来自p端口的信号命名为“ x购物车”
  • 将来自v端口的信号命名为“ v购物车”
由于我们将滑车建模为点质量,因此只有质量会影响模拟结果。
  • 双击实体块
  • 将参数
    Dimensions
    设置为“ [0.2,0.04,0.6]”,以使长度的尺寸指向行进方向。
  • 在组
    惯性
    ,组
    类型
    为“点质量”和
    质量
    为“ 0.5公斤”
  • 在“
    图形
    ”组的“
    视觉属性
    ”下,将“
    颜色
    ”设置为“ [0.8 0.45 0]”
  • 将块重命名为“购物车”

倒立摆:Simscape建模

此时的模型现在应如下所示。

倒立摆:Simscape建模

运行模拟(键入
CTRL-T
或按绿色箭头运行按钮),结果图将显示推车行进的距离及其速度。

倒立摆:Simscape建模

摆放在一对手推车连接到摆

将以下块添加到模型:
  1. 刚性变换块
  2. 砖实心块(R2019b之前的实心块)
  3. 革命联合
定义摆的旋转轴:
  • 将新的刚性转换模块的B端口连接到Prismatic Cart的F端口
  • 将新的刚性变换模块的F端口连接到新的旋转关节模块的B端口
  • 双击新的“刚性变换”块
  • 组在
    旋转
    ,设置
    方法
    为“标准轴”,

    以“+ X”,状语从句:
    角度
    为“90度”
  • 重命名块“变换摆轴”

倒立摆:Simscape建模

定义摆的旋转自由度:
  • 将旋转关节重命名为“旋转摆”
  • 将旋转摆的F端口连接到Brick实心块的R端口(R2019b之前的实心块)
要对摆进行建模:
  • 双击实体砖块
  • 在“
    几何
    ”组中,将“
    尺寸
    ”设置为“ [0.6 0.03 0.05] m”
  • 在组
    惯性
    ,组
    类型
    为“点质量”和
    质量
    为“ 0.2公斤”
  • 在“
    图形
    ”组的“
    视觉属性
    ”下,将“
    颜色
    ”设置为“ [0.25 0.4 0.7]”

  • OK
    ,然后将块重命名为“ Pendulum”

倒立摆:Simscape建模

转向购物车的连接点建模:
  • 双击摆块
  • 在“
    框架”
    组中,
    预设

    新建框架”
    旁边的+,这将打开框架定义界面
  • 找到面向您的砖的小面(沿正x方向)以将其选中
  • 在“
    框架原点”
    部分中,选择“
    基于几何特征”
    单选按钮
  • 首先插入底部的“
    保存”
    按钮
  • 将“ Frame1”的名称更改为“ B”
  • 取消取消“
    显示端口R”

    取消
  • 点击
    确定
  • 将摆锤的B端口连接到“变换摆锤枢轴”的F端口

倒立摆:Simscape建模

生成的模型应如下所示:

倒立摆:Simscape建模

运行模拟(键入
CTRL-T
或按绿色箭头运行按钮),将生成以下图,您可以看到,摆的增加改变了推车的行进距离和速度。

倒立摆:Simscape建模

选择用于控制器和角度转换的输出

现在,我们需要测量摆的角度和角速度:
  • 双击“革命钟摆”
  • 在“
    传感”
    下的“
    Z旋转

    元(Rz)”
    组中,选择“
    位置

    速度”记录
  • 制作PS-Simulink转换器模块的两个副本
  • 双击一个PS-Simulink模块插入“
    输出信号单位
    ”设置为“ rad”
  • 进入PS-Simulink块连接到Revolute Pendulum上的q端口
  • 双击另一个PS-Simulink模块,转换
    输出信号单位
    设置为“ rad / s”
  • 进入PS-Simulink块连接到Revolute Pendulum上的w端口
我们需要限制测得的角度,可以保持在-pi和pi弧度之间。
  • 将正方形块添加到模型
  • 重命名淀粉块“包角”
  • 双击进入“包角”三角形
在该样本中,我们将pi弧度添加到测量中,找到信号除以2 * pi的余数,然后称为pi弧度。
  • 重命名输入块“ q”
  • 删除入口和出口之间的信号连接
  • 向模型添加添加块
  • 将参数
    偏差
    设置为“ pi”
  • 将q块连接到Bias块
  • 将数学功能块添加到模型
  • 双击“数学功能”块加入“
    功能
    ”设置为“ rem”
  • 将指定的输出连接到数学功能块的第一个输入
  • 向模型添加一个常量块
  • 将参数
    常量
    设置为“ 2 * pi”
  • 将常量块连接到数学函数的第二个输入
  • 制作样本块的副本
  • 将新块中的参数
    Bias
    设置为“ -pi”
  • 将数学函数输出连接到新替代块的输入
  • 将新数值块的输出连接到输出端口
  • 重命名输出端口“ qwrap”
  • 在图中上一层并重命名类别“ Wrap Angle”
在这里,您可以看到生成的用于包裹角度的重叠

倒立摆:Simscape建模

我们将在示波器上呈现新信号
  • 将用于旋转摆的q测量的PS-Simulink输出连接到包角的输入
  • 添加一个新的范围
  • 将“环绕角度”的qwrap输出连接到新的示波器,变成此信号的名称更改为“ q摆”
  • 将用于测量旋转摆的w的PS-Simulink输出连接到新的示波器,变成该信号的名称更改为“ w摆”。
生成的模型应如下所示:

倒立摆:Simscape建模

运行模拟(键入
CTRL-T
或按绿色箭头运行按钮),将生成以下图。推车的运动与以前相同,但是现在我们可以看到摆锤的运动。还生成了以下所示的关联动画。

倒立摆:Simscape建模

倒立摆:Simscape建模

倒立摆:Simscape建模

为摆锤和手推车创造原型

现在,我们已经成功创建了倒立摆系统的所有元素。
  • 在图中描绘一次(但不要在块上),然后按
    CTRL-A
    选择所有块
  • 按住
    Shift
    键,然后
    预设
    “干扰”块和每个“对话框”以取消选择那些块

  • CTRL-G
    创建类别
  • 重命名类别“购物车上的倒立摆”
您的模型现在应如下所示:

倒立摆:Simscape建模

闭环设置

现在,我们将添加用于开环和闭环测试的块。
添加以下块:
  • 首次
  • PID控制器
  • 持续的
  • 手动开关
干扰也会添加到控制信号中。
  • 删除将Disturbance连接到购物车内置的信号
  • 将求和块的输出连接到购物车上方的Force输入
  • 将Disturbance连接到Sum模块的底部+端口
我们希望手动选择开环或闭环行为。
  • 将手动开关输出连接到Sum模块的+输入
  • 将Constant块连接到手动开关的下部输入,然后将参数
    Constant
    设置为“ 0”,然后将块重命名为“ No Force”
  • 将PID控制器的输出连接到手动开关的上方输入
  • 将减法块输出连接到PID控制器的输入
我们将闭环以控制摆角。
  • 将购物车同轴的q摆放输出连接到减法模块的-端口
  • 复制常量块与其其连接到减法块的+端口,相连其重命名为“所需摆角”。
您的模型现在应如下所示。在开环模式下,模拟的输出与以前的结果保持不变。

倒立摆:Simscape建模

控制器实施

现在,我们将实现在“
倒摆:PID控制器设计”
页面中开发的PID控制增益。
  • 双击PID控制器块
  • 将参数
    比例(P)设置
    为“ 100”
  • 将参数
    积分(I)设置
    为“ 1”
  • 将参数
    微分(D)设置
    为“ 20”
双击手动开关,直到选择了PID控制器的输入。

倒立摆:Simscape建模

在初始冲击之后,控制器能够将摆角快速降低到零,并且摆速也为零。推车缓慢地以恒定的速度沿X负方向移动,以使摆锤保持平衡。

倒立摆:Simscape建模

倒立摆:Simscape建模

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37003.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注