这节的目标是做这个。

Simscape Multibody -- 建立一个单摆_matlab

首先完成这个,我们这节会用到这个建立好的杆件模型。​​Simscape Multibody - 建立一个简单杆件模型​​。

首先还是smnew打开一个新的simscape multibody。组合成如图所示,把上一节的杆件模型复制过来。一定要注意Revolute Joint的

B和F的方向。B一定指向Solid模块,因为旋转关节的基点就是下面的这个Solid块,也就是第一幅图中的正方块。这个B和F的连接顺序关系着动力学的建立和计算,所以一定不要搞错。

Simscape Multibody -- 建立一个单摆_simscape multibody_02

 双击solid模块,设置如图的三个地方。

Simscape Multibody -- 建立一个单摆_matlab_03

基座和杆件使用他们共同的Z轴作为旋转轴,所以要实现杆件的摆动效果,需要把重力偏移Z轴。按照建立模型的逻辑,X轴是沿着杆件的,Z轴是作为旋转轴,所以根据右手定则,Y轴就是向上的,如图所示

Simscape Multibody -- 建立一个单摆_matlab_04

所以我们需要把重力的作用线沿着Y轴的负方向。双击 Mechanism Configuration模块,

Simscape Multibody -- 建立一个单摆_simscape multibody_05

 配置成如图

Simscape Multibody -- 建立一个单摆_simscape multibody_06

 然后,设置倒立摆杆件的初始位置。双击Revolute Joint模块,配置如图。

Simscape Multibody -- 建立一个单摆_生成模型_07

 然后配置solver。点击Simulation选项卡,选择Model Configuration Parameters

Simscape Multibody -- 建立一个单摆_simscape multibody_08

 

Simscape Multibody -- 建立一个单摆_simscape multibody_09

 Max step size的设置关系着仿真速度和精度。如果设置的太小,仿真速度会很慢,但是精度很高。反之亦反之。0.01是一个相对平衡的值,在速度和精度的考量上面。ode15s是一个比较合适的solver对于物理系统。

然后重新生成模型。

Simscape Multibody -- 建立一个单摆_matlab_10

选择 Update Diagram。这时候在matlab的主窗口就会显示模型,

Simscape Multibody -- 建立一个单摆_生成模型_11

接着按如图设置。这样设置的目的是为了让重力的方向垂直。因为我们设置重力沿着Y 轴的方向。

Simscape Multibody -- 建立一个单摆_物理系统_12

 这时候视图还没有更新,选择View->standard views,front view。这时候就更新了。可以直接点运行看效果。