物理设置
在本节中,我们将展示如何使用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度”
-
将“刚性变换”块重命名为“变换车辆轴”
添加块的提示:
-
使用快速插入添加块。在图中依次并键入块的名称(使用下面的 粗体 字母)。将出现一个块列表,您可以从列表中选择所需的块。
-
输入块后,将出现提示您输入参数。输入变量名称,如下所示。
-
要旋转块或旋转块,请拖动垂直该块,然后从“ 旋转和倾斜” 菜单中选择一个选项。
添加以下块:
*
小学
级参考
*
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
或按绿色箭头运行按钮),结果图将显示推车行进的距离及其速度。
摆放在一对手推车连接到摆
将以下块添加到模型:
-
刚性变换块
-
砖实心块(R2019b之前的实心块)
-
革命联合
定义摆的旋转轴:
-
将新的刚性转换模块的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控制器块
-
将参数 比例(P)设置 为“ 100”
-
将参数 积分(I)设置 为“ 1”
-
将参数 微分(D)设置 为“ 20”
双击手动开关,直到选择了PID控制器的输入。
在初始冲击之后,控制器能够将摆角快速降低到零,并且摆速也为零。推车缓慢地以恒定的速度沿X负方向移动,以使摆锤保持平衡。