SimMechanics入门学习笔记(1)

SimMechanics基本概念(以单摆模型为例)

这里我们以建立一个简单的单摆模型为例,介绍几个基本的simmechanics的概念。这里使用的MATLAB版本是R2018a。打开MATLAB,在命令行窗口输入smnew,新建一个simmechanics模型。如图所示。
SimMechanics入门学习笔记(1)_第1张图片
这些是新建simmechanics模型后自动生成的模块。其中,world frame是世界坐标系,是固定在空间不会动的基准坐标系。Mechanism configuration用来设置重力。双击图标后如下图所示:
SimMechanics入门学习笔记(1)_第2张图片
默认的重力方向是沿着Z轴的负方向。
双击solid模块,更改solid的外形为[6 1 1]。将solid与world frame连接起来。点击运行,于是可以看到窗口中出现长方体。左边的树状图描述了各个solid、frame等。
SimMechanics入门学习笔记(1)_第3张图片

Rigid Transform

按照图上的方式连线
SimMechanics入门学习笔记(1)_第4张图片
双击Rigid Transform,如下图所示设置:
SimMechanics入门学习笔记(1)_第5张图片
这样设置意思是,添加了一个刚体变换,变换的方法是translation(平移),方向沿+X,距离是3m,也就是长方体长度的一半。这样,我们就在长方体的一端添加了一个坐标系。再运行一遍,结果如图所示:
SimMechanics入门学习笔记(1)_第6张图片
点击rigid transform可以看到,图上有两个坐标系被标出,中心的带有字母F,端部的带有字母B。原因是这个连线方式中,我们将B(Base)与世界坐标系world frame相连,F(Follower)与solid相连。所以Follower的原点在solid质心处。而我们添加的rigid transform是沿着+X方向平移3m,所以从B到F正好是沿着+X方向平移了3m。

Revolute Joint

下面我们添加一个转动副使得单摆的一端被固定起来。连线方式如图:
SimMechanics入门学习笔记(1)_第7张图片
这样连线的意思是,我们用一个revolute joint把solid和world连接起来。Revolute joint的B端连接了world frame,F端连接了Rigid transform的B端(就是长方体的端部)。所以这就相当于这个长方体被揪住一端吊了起来。需要注意的是,revolute joint规定的转轴是Z轴,也就是说,revolute joint相当于把它的B和F连接的两个坐标系的Z轴重合起来了。看来我们已经把整个系统连接好了,接下来可以运行了。

点击一下运动按钮,也许你会感到惊讶,这个单摆为什么还是静止的啊!为什么没有震荡呢?别急,我们刚才不是说了吗,revolute joint的转轴是Z轴。由于我们到目前为止还没有添加任何旋转的rigid transform,所以转轴和world frame的Z轴也是平行的。而我们的重力是沿着Z轴负方向的,所以当然不会转动啦。这个时候我们可以改一下mechanism configuration,把重力从Z轴负方向改为沿着Y轴负方向。再次运行,就会发现单摆开始摆动了。

如果你一步一步做到了这里,可能会发现单摆的运动没有任何衰减的趋势。这是因为我们没有添加任何的阻尼,所以单摆的能量在摆动过程中不会有任何衰减。如果你选中revolute joint,可以观察到revolute joint重合起来的两个坐标系在单摆震荡过程中不断发生相对旋转,而它们的Z轴始终保持重合。
SimMechanics入门学习笔记(1)_第8张图片

你可能感兴趣的:(Simulink)