Simscape Multibody简介与入门 (下)

2023-11-27 18:30

本文主要是介绍Simscape Multibody简介与入门 (下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Simscape Multibody简介与入门 (下)

转载自https://zhuanlan.zhihu.com/p/67768339

开头简介

下图是摆动导杆的机构简图:

在这里插入图片描述

其中曲柄1为主动件。总共有3个构件,4个低副(三个转动副一个移动副),该机构自由度为1。
下面介绍从CAD软件导出xml文件,再导入到simulink的工作流程。

CAD建模

首先,依据上面的机构简图,在CAD软件中建立零件的三维模型,指定材料,然后零件之间通过恰当的约束与联接形成装配图,在专业CAD软件里面指定约束还是很方便的,对于熟悉CAD的同学操作起来应该很快。装配图:
在这里插入图片描述接下来就是将装配图导出xml文件,这就用到之前安装的插件了,不同软件具体操作可能不一样~Inventor操作倒是挺简单的。
在这里插入图片描述直接就生成对应的xml文件,还有附带的STEP模型。

Matlab导入XML

接着,打开Matlab,把Matlab的工作目录移到xml文件所在文件夹。使用smimport命令。
在这里插入图片描述smimport(‘filename’);
filename为xml文件名(带后缀)。
成功后会自动新建一个Simulink模型,里面就是对应的物理网络。
在这里插入图片描述直接运行之后报错,检查错误信息,是因为过度约束的问题,将红圈内多余的约束去掉之后即能开始仿真,官方对于物理仿真推介的解算器是ode15s(stiff/NDF),还挺快的。
默认设置是仿真的时候会自动出现一个Mechanics Explorer窗口播放仿真动画。
在这里插入图片描述如果发现动画帧数过低,可能是因为仿真步长过大。解决方法是不断地眨眼,眨眼补帧 : (
也可以通过缩小仿真的最大步长来增加帧数 : )
各种高副低副还有坐标系测量模块实际上联接或测量的都是坐标系(固定在构件上,可以自定义这些坐标系,可以平移这些坐标系,也可以旋转它们)。

分析

对于这个机构,当曲柄作匀速转动的时候,滑块到转动副的水平距离应该是一个三角函数。我们可以通过施加一个力矩作用在曲柄上,并在simulink中增加坐标测量模块来考察这一点。
像各种高副低副模块,比如说转动副模块,都可以设置State Targets里的参数来设定初始位置、初始转速等。还可以对摩擦进行设置,这里设定为不存在摩擦力。另外,重力加速度设定为0。
在这里插入图片描述

在曲柄上加上一个作用0.5秒的0.001牛米的力矩,
用到一个“外力(矩)模块”(External Force and Torque):
在这里插入图片描述

坐标系的测量模块Transform Sensor

使用十分简单,测量B端和F端间距离,相对坐标,角度,角速度等数据,输出接一个PS-Simulink Convertor模块由物理信号转化成Simulink信号。测量出来的曲柄杆长跟CAD图里的杆长一致。
测量下图第二个坐标系(青蓝色的笛卡尔坐标系)在第一个坐标系x轴上的坐标。
在这里插入图片描述
在这里插入图片描述
按照我一开始想的,这个数值应该有一个正弦或者余弦的变化规律,但是出来却是下面这个样子:
在这里插入图片描述
后来我想了很久,才发现自己忽略了一个很基本的事实,虽然约束是理想约束,且0.5秒后撤掉力矩,但是曲柄并不是做匀速转动,而是会周期性的增减速。后来就在一瞬间发现自己的弱智之处,虽然没有了外力矩的作用,角动量守恒,但是这几个构件相对与曲柄-机架转轴转动惯量是变化的,导致角速度也在随着变化。
于是,把这几个构件的质量都设置为1e-6克(没法设置成0,哈哈),就是满足了各种力学课本上经常出现而又经常被忽略掉的一个条件,即忽略杆件自重。
于是就仿真出来一个余弦图了。
在这里插入图片描述动图:

相关资料

在Matlab控制台输入sm_four_bar即可打开官方的一个四连杆物理仿真例程,作为一个入门教学还是不错的。Help文档里搜索Simscape Multibody,也有很多有用的例程。

结语

其实本来是尝试用Simulink来做悬架的物理仿真,但是鉴于Adams使用得更广泛,所以这篇教程当做是摸索过程中的一个总结与笔记吧
Measure
Measure

这篇关于Simscape Multibody简介与入门 (下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428282

相关文章

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2