倒立摆:Simscape建模

物理设置

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

系统参数定义如下:
(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模型中,对方程序进行同时评估。

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

组装底盘和推车

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

添加块的提示:
  1. 使用快速插入添加块。在图中依次并键入块的名称(使用下面的 粗体 字母)。将出现一个块列表,您可以从列表中选择所需的块。
  2. 输入块后,将出现提示您输入参数。输入变量名称,如下所示。
  3. 要旋转块或旋转块,请拖动垂直该块,然后从“ 旋转和倾斜” 菜单中选择一个选项。
  4. 要在块名称下面显示参数,请参见Simulink文档中的“ 设置块注释属性 ”。
添加以下块:
* 小学 级参考
* sco的 PE
* 普勒 SE发电机
对于脉冲发生器,双击该块,然后将“ 周期 ”设置为“ 10”,将“ 幅度 ”设置为“ 1000”,将“ 脉冲宽度”设置 为“ 0.01”, 将“ 相位 延迟”设置 为“ 1”。
棱柱关节将通过力输入来致动。
  • 双击棱柱形关节以打开任一
  • 在“ 内部力学” 组中,将“ 阻尼系数 ”设置为“ 0.1 N /(m / s)”
  • 在“ 驱动 ”组下,将“ ”设置为“由输入提供”
  • 在“ 传感” 组中,选择“ 位置 速度”
  • 将棱柱接头重命名为“棱柱车”

下一步,需要将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]”
  • 将块重命名为“购物车”

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

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

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

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

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

转向购物车的连接点建模:
  • 双击摆块
  • 在“ 框架” 组中, 预设 新建框架” 旁边的+,这将打开框架定义界面
  • 找到面向您的砖的小面(沿正x方向)以将其选中
  • 在“ 框架原点” 部分中,选择“ 基于几何特征” 单选按钮
  • 首先插入底部的“ 保存” 按钮
  • 将“ Frame1”的名称更改为“ B”
  • 取消取消“ 显示端口R” 取消
  • 点击 确定
  • 将摆锤的B端口连接到“变换摆锤枢轴”的F端口

生成的模型应如下所示:

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

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

现在,我们需要测量摆的角度和角速度:
  • 双击“革命钟摆”
  • 在“ 传感” 下的“ 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”
在这里,您可以看到生成的用于包裹角度的重叠

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

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

为摆锤和手推车创造原型

现在,我们已经成功创建了倒立摆系统的所有元素。
  • 在图中描绘一次(但不要在块上),然后按 CTRL-A 选择所有块
  • 按住 Shift 键,然后 预设 “干扰”块和每个“对话框”以取消选择那些块
  • CTRL-G 创建类别
  • 重命名类别“购物车上的倒立摆”
您的模型现在应如下所示:

闭环设置

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

控制器实施

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

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

  • 10
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 二阶倒立摆是指一种由两个旋转质量连接而成的机构,这种机构在反向的重力作用下可以自我平衡。在Simscape中,可以通过建立等效电气模型来表示二阶倒立摆,将旋转角加速度、位置和控制信号转化为电压/电流信号,然后进行仿真计算。 Simscape提供了用于构建旋转质量、弹簧、振动器和其他元素的库,以及用于建立倍增器、PID控制器等控制器的库。用户可以将这些模块组合成一个完整的二阶倒立摆模型,并对其进行仿真分析。 在建立二阶倒立摆Simscape模型时,需要注意以下几点: 1.建立旋转质量模型时,需要考虑其惯性矩和阻尼系数等因素。 2.建立控制器模型时,需要考虑系统稳定性和控制算法的正确性。 3.模型参数的设定和仿真分析的结果需要与实际物理系统进行比较,验证Simscape模型的准确性和可靠性。 总之,二阶倒立摆Simscape模型的建立需要深入理解物理机制和数学控制方法,以及Simscape软件的使用技巧。这种模型在机器人控制、交通工具控制和航空航天等领域中有广泛应用。 ### 回答2: 二阶倒立摆是一种非常经典的控制系统,它可以应用于机器人的平衡和姿态控制等领域。Simscape是一种用于物理建模和仿真的MATLAB工具箱。通过使用Simscape,我们可以实现一个二阶倒立摆系统的模拟和控制,从而了解控制系统的工作原理。 二阶倒立摆系统主要由电机、直流电机控制器、摆杆、摆轮和支撑结构等组成。其中,直流电机控制器控制电机的转速,并将转速输入到摆杆上,产生控制作用。摆杆和摆轮的转动受到重力和支撑结构的约束,从而产生相应的角度和角速度输出。控制系统需要根据输出信息来控制电机的转速,实现二阶倒立摆的平衡。 在Simscape中,我们可以建立一个基于物理模型的二阶倒立摆系统。通过使用Simulink进行控制算法的设计和仿真,在仿真环境中进行快速的控制系统开发和调试。在仿真过程中,我们还可以对系统的各个参数进行调整,优化控制系统的性能。 总之,利用Simscape对二阶倒立摆系统进行建模和仿真,可以有效地帮助我们理解该系统的基本原理,更好地掌握控制系统的设计和调试技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水月流萤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值