简单摆建模
简单摆是您可对其进行建模的最简单机械系统。此系统包含两个实体,一个连杆和一个固定枢轴,通过一个转动关节连接。在此示例中,您将学习如何使用在简单连杆建模中创建的自定义连杆模块来对一个摆进行建模和仿真。Revolute Joint 模块提供连杆与固定在世界坐标系中的枢轴之间的旋转自由度。

构建模型
在 MATLAB® 命令提示符下,输入
smnew。包含常用模块的 Simscape™ Multibody™ 模型模板将会打开。删除 Simulink-PS Converter、PS-Simulink Converter、Scope 和 Rigid Transform 模块。此示例中不需要它们。
向模型中添加在简单连杆建模中创建的 Simple Link 自定义模块。
向模块中添加 Revolute Joint 模块。您可以在 Simscape > Multibody > Joints 库中找到此模块。此模块在其坐标系之间提供一个旋转自由度。
按下图所示连接模块。当您指定关节状态目标,规定关节作动输入或感测关节动态变量时,Revolute Joint 模块的端口方向变得很重要。Revolute Joint 模块将每个量解释为相对于基端坐标系施加到从端坐标系的量,因此切换端口连接可能会影响模型装配和仿真。

在 Brick Solid 模块对话框中,指定以下参数。此模块刚性连接到世界坐标系,因此对多体模型的动态特性没有影响。有关多体动态特性仿真的详细信息,请参阅多体建模。您可以将惯量参数保留为默认值。
参数 值 单位 几何体 > 尺寸 [4 4 4]cm图形 > 视觉属性 > 颜色 [0.80 0.45 0]不适用
指定重力
Revolute Joint 模块使用基端坐标系和从端坐标系的公共 Z 轴作为关节旋转轴。改变重力矢量,使其不再与 Z 轴方向一致,以确保摆在重力作用下摆动。为此,请在 Mechanism Configuration 模块对话框中,将统一重力 > 重力设置为 [0 -9.81 0]。
设置摆的起始位置
您可以使用 Revolute Joint 模块对话框中的状态目标菜单指定所需的关节角度。为此,请选择状态目标 > 指定位置目标,并为值参数输入所需的关节角度。在本教程中,您可以将该角度保留为默认值,该默认值对应于水平方向的摆起始位置。
配置求解器
打开“配置参数”。在建模选项卡中,点击模型设置。
在求解器选项卡中,将求解器参数设置为 ode15s (stiff/NDF)。对于物理模型,推荐使用此求解器。
将最大步长设置为
0.01,然后点击确定。较小的步长可以提高仿真准确度,并在多体资源管理器中生成更流畅的动画。较小的步长可能会对仿真速度产生不利影响,但在这个简单模型中,值为0.01可以在仿真速度和准确度之间实现良好的平衡。
装配模型
更新模块图。在建模选项卡中,点击更新模型。多体资源管理器将会打开,其中显示模型在其初始配置下的三维视图。
在多体资源管理器工具条中,检查视图约定参数是否设置为 Y 朝上(XY 前视图)。此视图约定可确保屏幕上的重力方向是垂直的。选择标准视图按钮可刷新多体资源管理器的显示。下图显示模型的前视图。点击“将资源管理器配置保存到模型”按钮
,保存可视化设置。

仿真模型
运行仿真。多体资源管理器将播放基于物理特性的摆模型动画。
保存模型
将模型命名为 SimplePendulum,并保存在方便的文件夹中。您将在教程单摆分析中重用此模型。
另请参阅
Revolute Joint | Prismatic Joint