一、引入

本科学机械设计的时候,就发现ppt上有很多运动的机构,一直想知道是怎么做出来的,后来发现solidwork、admas可以制作动画,也用3dmax制作过,但总感觉不太像回事。

这是一个共轴旋翼的运动仿真,也是意外的发现simlink竟然可以做那么多有趣的事。碰巧研究了一下simscape_multibody。

二、功能介绍

Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。 Simulink提供图形编辑器、可自定义的模块库以及求解器,能够进行动态系统建模和仿真。Simulink - Simulation and Model-Based Design - MATLAB & Simulink

Simscape构建物理组件模型基于直接物理连接,集成块图和其他建模范例。如电动马达,桥整流器,液压执行机构,和制冷系统,通过装配基本组件示意图。Simscape - MATLAB & Simulink

Simscape Multibody提供了一个为3d机械系统多体仿真环境,如机器人、车辆悬挂、建筑设备、飞机起落架。您可以使用块模型多体系统代表身体关节,约束、力元素,和传感器。Simscape多体制定和解决整个机械系统的运动方程。可以导入完整的CAD程序集,包括所有的质量、惯量、关节,限制,3d模型。Simscape Multibody - MATLAB & Simulink

三、操作经验

3.1安装Simscape Multibody

1.进入官网 Simscape Multibody - SimMechanics Link - MATLAB & Simulink,可以看到支持多种三维建模软件。

2. 在下方输入邮箱及各种信息便可以跳转网页,选取适合自己matlab版本下载即可(两个文件都需要下载),一个install_addon.m文件,一个smlink.rxxxx.win64.zip文件。

3.下载好后,打开matlab,在matlab切换至包含这两个文件的文件夹,在命令行中输入install_addon('smlink.rxxxx.win64.zip')即可安装完成。 若要查看此工具的help,在命令行输入doc smlink即可。

4.与三维建模软件建立联系,以常用的SolidWorks为例。在matlab命令行中输入 smlink_linksw,会提示

Registering dll: regsvr32 "F:\Matlab_R2014a\bin\win64\cl_sldwks2sm.dll"。

5.打开SolidWorks,点击工具,选择插件。在此处勾选 SimMechanics Link。完成后就会看到SimMechanics Link添加到新的菜单中(需要在打开装配体*.SLDASM时才能看到)。

6. 将sldasm文件导出为xml格式,选择 SimMechanics Link 插件里面的export,选择第二个版本。关于第一和第二版本,官方文档这样说的:Export in first-generation format generates a Physical Modeling XML file. Export in second-generation format generates a SimMechanics Import XML file. 两种不同的版本,有不同的打开方式,切换到xml文件所在的文件目录,第一种使用 mech_import命令打开,第二版本使用smimport命令打开。语法为  H = smimport('filename').。执行后会出现一个树状机构,上面是每一个部件的名字。点击run可以看到三维模型。

附官网视频:Simscape Multibody - Videos - MATLAB & Simulink

官方documentation: Simscape Multibody Documentation

3.2可能会出现的问题

启动安装位置(“D:\Program Files\MATLAB\R2018b\bin\win64\MATLAB.exe”)下的matlab(如果启动慢,可以先创建快捷方式到桌面,打开快捷方式属性,在目标位置添加 -c +“注册表路径”,便可快速启动),在命令窗口输入

enableservice('AutomationServer')

看其是否为1判断期前是否是服务器版本的matlab

若为0,在命令窗口输入:

enableservice('AutomationServer' ,true)

将其转换为服务器版本的matlab

然后再次打开solidwork,尝试运行Simscape Multibody Link——export。

3.3Simscape Multibody的坐标系统

一些例子(Example List- MATLAB & Simulink)

3.4利用刚体变换创建坐标系

3.4.1World Frame

在这个系统中,有世界坐标系,它是一切坐标系的基准,所有的World Frame指代同一个坐标系。

3.4.2Graphic

第二是:,模块名为:Graphic,表示可以添加到机械模型中的参数化图形元素。

1.shape可以定义形状,包括cube正方体, sphere球形,Frame坐标系三种形式

2.diffuse color:漫射颜色

3.opacity:不透明度

3.4.3Rigid Transform

与B相连的代表基坐标系,与F相连的代表变换后的坐标系。

包括两种变换,旋转和平移变换。为了将两个坐标系区别开来,先介绍一下平移变换:

基本含义
cartesian 笛卡儿坐标系
 standard Axis 标准轴坐标系
cylindrical 圆柱坐标系

前两个平移变换形式比较容易理解,我们尝试一下第三个cylindrical:

因此:Radius代表绕Z轴的半径,Theta代表与坐标系原点连线与基坐标系的夹角,Z offset代表相对于基坐标系的偏移量。

再来看旋转变换,有5中方式:

基本含义
 Aligned Axes 轴对齐形式
 Standard axis 标准轴形式
Arbitrary axis 任意轴
Rotation sequence 旋转序列
Rotation matrix 旋转矩阵

第一种: Aligned Axes:轴对齐。顾名思义就是基坐标系和变换坐标系的轴相互对应。如下图,

变换后的坐标系的+X轴与基坐标系的+Y对应,+Y与+Z对应。

具体效果,和预期的一样。

第二种:  Standard axis。

第三种:  Arbitrary axis。

以xz对角线为轴线,旋转90度:

第四种:Rotation sequence。

以右手定则,先绕基坐标X轴90度,在绕Y轴90度。

第五种:Rotation matrix,高级表达

3.4.4Transform Sensor:用于测坐标系的位置关系

3.4.5Connection Label:用于标记信号,无线连接。

3.4.6 PS-Simulink Converter(Simulink-PS Converter):用于信号转化。

3.4.7 Scope:示波器

先测试一下:

效果:

位移变化很好理解,但是angle和axis不够直观。官方给出的解释如下图:

Rotational Measurements- MATLAB & Simulink

意思就是Axis是一个F相对于B的向量,angle代表相对于Axis转动多少。我们希望得到的是相对于自身XYZ的转角。具体如何推导,容我后续更新。

3.4.8 Solid(可以用它进行简单的物理模型构建,也可以导入)

下面举一个例子:

我们来新建一个坐标系:

3.5常用工具

在命令行输入

 sm_lib

  3.6运动副

3.6.1 Revolute

下面用Revolute来演示运动副的使用:

运动效果:

可以看出,在两个坐标系之间添加运动副后,F坐标系相对于B坐标系发生运动。使用Revolute的效果是F坐标系绕B坐标系的Z轴以一定转速转动。也可以给定一个初始角度:

3.6.2 后续更新

Matlab—simulink—simscape学习指导相关推荐

  1. 四旋翼飞行器轨迹跟踪仿真MATLAB simulink/simscape

    四旋翼飞行器轨迹跟踪仿真MATLAB simulink/simscape ID:6929669117089277

  2. MATLAB Simulink Statflow学习笔记

    MATLAB Simulink Statflow学习笔记 1.概述 在做算法设计时,会用到Statflow模块和MATLAB Function模块,我们可以在这里搭建自己需要的程序逻辑. (1) St ...

  3. matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?

    自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...

  4. Simulink Simscape基础仿真电路

    在网上找了挺多关于MATLAB Simulink simscape仿真电路的资料都没有自己想要的,大都是Sympowersystem的教程,最后还是上了YouTube观看了一些教程,现在做下学习记录. ...

  5. Simulink simscape绳索和滑轮的使用总结

    在做仿真的时候使用了绳索和滑轮,网上的资料不是很多,所以想想还是自己做一下记录,提供了一个小案例,文件上传到我的资源里了. 1.滑轮约束 Pulley 这个模块可以建立滑轮和绳索之间的约束.这个约束保 ...

  6. MATLAB simulink 模型验证学习笔记

    MATLAB simulink 模型验证学习笔记 一.静态验证 1.Model Advisor 模型验证意思是用matlab自带的规范检查工具来检查自己画的模型是否符合规范. 进行模型验证需要用到的模 ...

  7. Simulink Simscape电路仿真初探(附MATLAB R2021a安装包)

    最近需要使用Simscape搭建逆变器主电路,于是自己就研究了一下(参考了部分博主文章,链接见文章最后) 软件版本:R2021a 进入Simulink,打开Library Browser 找到Sims ...

  8. matlab/simulink石良臣,《MATLAB/Simulink系统仿真超级学习手册》——2.6 MATLAB的图形绘制...

    本节书摘来自异步社区<MATLAB/Simulink系统仿真超级学习手册>一书中的第2章,第2.6节,作者:MATLAB技术联盟 , 石良臣著,更多章节内容可以访问云栖社区"异步 ...

  9. 使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真

    使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真 总论 环境配置 系统搭建 总论 使用MATLAB中的强化学习工具箱作为核心算法的建立工具,在simuli ...

最新文章

  1. C++动态二维数组演示的代码
  2. MySQL教程之concat以及group_concat的用法
  3. 基于Swoole和Redis实现的并发队列处理系统 1
  4. 海鸥表表带太长了怎么拆_表带安装,表带太长了,怎么拆解和安装?
  5. 你永远都不知道你老公可以多幼稚......
  6. C++新特性探究(十五):bind
  7. A* search算法解迷宫
  8. java_eclipse中添加外部动态链接库(dll文件)的三种方式
  9. 内核低分辨率定时器实现
  10. Mac下安装Eclipse
  11. 用人机对话系统设计逻辑探究人工智能产品经理
  12. 网赚项目:揭秘闲鱼项目,信息差赚钱新手也能日入200+
  13. 冷静 仔细 认真 分析
  14. 易宝支付[钱麦](附代码)
  15. 立志做中国市场TOP2,新华三云屏底气何来?
  16. polished_project 源码分析 知识点总结
  17. Stay Hungry, Stay Foolish — 求知若饥,虚心若愚!
  18. 我是如何实现「朋友圈图片评论」的?
  19. 阜阳一中2021高考成绩查询,安徽阜阳“赫赫有名”的4所高中,成绩说话,2021谁能摘得桂冠?...
  20. 6路网络IO控制器远程带模拟量采集模块可联网PLC串口服务器Modbus

热门文章

  1. windows 映射samba Linux服务器,输入正确的账号密码却提示“ 指定的网络密码不正确
  2. 注册制为国产奶粉正名,但迎来“春天”仍任重道远
  3. 北京单位申请小客车指标条件
  4. 工厂方法模式——应用最广泛的模式
  5. 数学建模多元线性回归内生性问题的蒙特卡洛模拟matlab代码
  6. 计算机不能联网怎么设置吗,电脑不能联网怎么设置
  7. 将samsung Salaxy S2双清
  8. VS2017 Enterprise(企业版)离线包下载
  9. Android Studio使用Gitee
  10. 【关系抽取-mre-in-one-pass】加载数据(二)