【MATLAB 学习笔记】 SimMechanics 流程攻略(1)

来源:互联网 发布:摩托车车架号网络查询 编辑:程序博客网 时间:2024/06/08 19:54

在寻找虚拟样机的漫漫长路中,最终回归到了传统的办法——MATLAB


概念摘自百科:

SimMechanics 立足于Simulink 之上,是进行控制器和对象系统跨领域/学科的研究分析环境。SimMechanics 为多体动力机械系统及其控制系统提供了直观有效的建模分析手段,一切工作均在 Simulink 环境中完成。


中文学习资料不多,在YouTube上找到密歇根大学的Gordon Parker教授的教学视频共5集,看完之后决定开坑记录一下,顺便巩固复习。

地址:https://www.youtube.com/watch?v=iVrjuHYtr_o


====================================================================

本章将做一个简单的弹簧阻尼滑块系统。



在MATLAB的command window中键入:

smnew


此时会弹出两个窗口,一个是simmechanics的library,一个是工作窗口。


library可以再simulink中的库中找到:

simulink >> simscape >> simmechanics >> second generation



我们回到工作窗口:



插播几条simulink的操作:

左键拖动 —— 移动

右键拖动 —— 复制

中键拖动 —— 移动视图

滚轮   —— 放大缩小

空格 —— 调整视图至全局

ctrl + R    —— 旋转元件方向

双击元件 —— 调整参数

右键元件 >> properties  —— 修改备注


回到上图:


这三个元件为基本环境配置,大多数情况下不去修改它。

solver configuration 求解器配置 。。。不动它

world frame 世界坐标系,接下来一切的机构或者系统都是基于这个根的。

mechanism configuration 双击打开可以修改重力场参数(大小或方向)


下面来修改这个系统的主角,滑块mass,双击solid:



右边为预览窗口,左边为description和properties,我们仔细看下properties部分:


>>Geometry   几何

           >> Shape   形状

                              

                               圆柱,球体,方块,椭圆,多棱柱,自定义柱体,旋转体,来自文件。

>> Inertia  惯性

          >> density 密度

          >> mass 质量

>> Graphic 图形

          >> color 颜色

          >> opacity 透明度

(以上,做了一下百度翻译的工作。。)


将solid的参数修改为如下:



简单设置一下备注:

右键solid,选择properties >> Block Annotation

这里设置备注可以将元件内部的参数调出来,实时地显示。

在左边菜单中找到两个参数,双击到右边,进行一些装饰。



确定后,发现solid元件旁边的备注为:(灰色字为备注,黑色的是名字需要手动修改)



接下来,配置弹簧阻尼。


在库中找到,Joints >> Prismatic Joint 添加进系统。

双击修改参数:



Internal Mechanics 内部力学

                equilibrium position 静态位置,弹簧原长。

                spring stiffness 弹性系数

                damping coefficient 阻尼系数


再返回来介绍 State Targets

勾选specific position 特定的位置,我们设置5cm,意思为阻尼弹簧的初始位置。


sensing中的position表示,输出末端的位置。


在设置一下阻尼弹簧的备注:


效果如下:




现在我们有了世界坐标系,阻尼弹簧,以及滑块。

接下来将这些东西联系在一起。


首先,利用随创建就有的Rigid Transform,将阻尼弹簧安装到世界坐标系。




链接如下图:



这里稍微解释一下,transform中,B表示base,F表示follower,连接的时候顺序不能颠倒。

在spring中由于我们勾选了sensing中的position,所以会有一个p的输出口,输出位置量。然而这里输出的位置量,为一个物理量我们要通过PS converter将物理量转化为数字量,在接到scope示波器中显示。


运行一下可以看到模拟阻尼弹簧滑块系统:


左边的结构树可以看到每个元件的坐标系,可据此参考修改各元件之间的位置关系。


双击示波器查看波形:



可能波形不是很光滑,运动跳帧明显,可在simulink中的设置修改参数如下:




这样运动就变得流畅了。



0 0