玩转Matlab-Simscape(初级)- 08 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(案例实战)

**

玩转Matlab-Simscape(初级)- 08 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(案例实战)

**

目录

    • 玩转Matlab-Simscape(初级)- 08 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(案例实战)
  • 前言
  • 一、 倒立摆案例简介
  • 二、模型定义
  • 三、COMSOL Multiphysics with Simulink协同仿真工作流
    • 3.1 工作流概述
    • 结果与讨论
  • 总结


前言

学完《玩转Matlab-Simscape(初级)》系列博客的前三节 ,我发现应用Maltab simscape对多体进行仿真时,如果要研究一个刚体系统的动力学的行为,在Matlab Simscape中还是相对好处理的,但如果3D模型再复杂些,研究的结构中个别组件为柔性体(即对一个复杂刚柔耦合系统的控制进行仿真),或者想要了解系统组件中某个特殊位置的状态,在Matlab Simscape中进行分析,现阶段对我来说貌似有些困难,所以,今天我跳转介绍下COMSOL Multiphysics with Simulink。该部分主要想解决后续可能遇到的复杂3D刚柔耦合控制系统的仿真问题。
本文借助一个倒立摆控制案例学习SW &Matlab Simulink &COMSOL进行协同仿真的整个操作流程。
欢迎各位小伙伴关注、赞赞、留言和收藏。
(Matlab的这种刚柔耦合控制仿真分析模块我还没学习到,待掌握了解后跟此文方法会做个对比研究。😄)


一、 倒立摆案例简介

倒立摆是一种安装在枢轴上的结构,其重心的位置位于枢轴点之上。处于原始位置的结构是不稳定的,如果没有外力,它总是倾向于下落。这是控制系统工程中的一个经典问题——通过在小车上施加外部载荷来保持结构的平衡。控制负荷取决于钟摆的倾斜角、小车的位置和小车的速度。当所有控制参数为零时,假设平衡。

二、模型定义

摆系统由一根50厘米× 0.5厘米× 0.5厘米的杆和一辆2公斤重的小车组成。杆枢枢安装在小车上,最后一根可自由水平移动。在COMSOL Multiphysics中,杆由SW软件建模,并作为刚性域,而车仅用其质量表示。
控制系统在Simulink中使用三个PID控制器来实现,这些控制器提供施加到小车上的力,以保持摆锤的平衡。当倾斜角、小车位置和小车速度为零时,认为摆杆处于平衡状态。这些是PID控制器使用的COMSOL仿真返回的值。
通过从COMSOL模型中导出COMSOL cosimulation文件,然后将该文件添加到Simulink仿真图中的COMSOL cosimulation块中,可以建立与COMSOL Multiphysics和Simulink的联合仿真。块的输入由Simulink提供的摄动力和控制力组成。该块有三个输出:杆的倾斜旋转、位移和小车的速度。
杆以1度的初始倾斜角下落,并以0.2 s的振幅为0.2 N的脉冲施加摄动力。

三、COMSOL Multiphysics with Simulink协同仿真工作流

3.1 工作流概述

  1. 建立COMSOL模型,确保研究运行。仅支持具有单个Stationary或Time Dependent研究步骤的研究进行联合模拟。
  2. 保存COMSOL模型。这一步很重要,因为在Simulink中加载联合仿真文件需要模型的名称。
  3. 将Cosimulation for Simulink特性节点添加到COMSOL模型中。使用它来定义cosimulation的输入、输出和研究。
  4. 在“Cosimulation for Simulink”特性节点,导出Cosimulation文件。任何位置都可以,但最好将此文件导出到保存mph文件的位置。
  5. 在Simulink中创建或加载仿真图,并添加COMSOL Cosimulation模块。
  6. 双 击 COMSOL Cosimulation 模 块 , 输 入 COMSOL Multiphysics 导 出 的Cosimulation文件名称。
  7. 运行仿真、 分析结果
    在matlab命令窗输入:mphlaunch这将启动一个COMSOL桌面,其中包含用于运行联合仿真的模型。在COMSOL软件里可以纵情的进行各种后处理!
    在这里插入图片描述
    在这里插入图片描述

结果与讨论

控制前后杆上某一点的运动轨迹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于控制器的参数没有调整好,可以看到输出并没有得到稳定控制。😅,整体的仿真工作中流程跑通了,后边就慢慢设计控制模块了。


总结

以上就是今天分享的关于COMSOL Multiphysics with Simulink 的案例实践部分,简单分享了应用SW、COMSOL 、 Simulink进行控制仿真的实现流程。迎各位小伙伴关注、赞赞、留言和收藏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632302.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RockTree Capital石木资本品牌升级 沉浸式“加密朋克风”网站震撼上线

总部位于北京的领先的Web3 原生加密基金与投资机构 RockTree Capital 石木资本,宣布推出全新沉浸式网站,在其中呈现一个未来主义电影风格概念:赛博朋克加密城市。这个前沿互动型城市景观代表着 RockTree Capital 对 Web3 普及以及技术、金融与…

AI预测体彩排3采取878定位大底=23策略+杀断组+杀组选+杀和尾+杀和值012缩水测试5月16日预测第2弹

昨天的87823大底测试第一次测试,已经成功命中! 今天继续测试,仍旧目标为:10期中至少5中期。好了,废话不多说了,直接上结果吧~ 首先,878定位如下: 百位:4,5,6,3,8,1,9,0…

【Unity Shader入门精要 第7章】基础纹理(三)

1. 渐变纹理 另外一种对于纹理的使用方式是通过渐变纹理为物体提供漫反射光照效果。 顾名思义,渐变纹理本身就是一张颜色渐变(可以是连续渐变,也可能是突变)的图片,这个渐变的过程模拟的就是光源从不同的角度照射物体…

Python代码:七、小数化整数

1、题目 日常生活中我们会遇到很多小数,但是有的人不喜欢小数,因此会用四舍五入的方式将其去掉。在Python中我们更加简单,可以利用强制类型转换将小数转变成整数,请你试一试。 2、代码 import sysn float(input()) print(int(…

JUnit5超时处理

测试过程中如果某条测试用例执行过程中阻塞,就会发生超时问题: 阻塞其他用例的执行对于某些用例,如果用例执行时间过长,那么本身就是bug 使用场景: 使用JUnit5自带的超时处理,当测试用例执行时间超过执行…

mybatis-plus-ui代码生成器

mybatis-plus-generator-ui 提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。 使用方法 引入mave…

邮箱API发信有哪些限制?如何设置API接口?

腾讯云邮箱API与AokSend相比,有哪些优势和特性差异? 使用邮箱API发信并非毫无限制,如何正确设置API接口并选择合适的服务商,成为企业关注的焦点。接下来,Aok将探讨邮箱API发信的限制、API接口的设置方法,以…

图文并茂:解析Spring Boot Controller返回图片的三种方式

欢迎来到我的博客,代码的世界里,每一行都是一个故事 图文并茂:解析Spring Boot Controller返回图片的三种方式 前言使用Base64编码返回图片使用byte数组返回图片使用Resource对象返回图片图片格式转换与性能对比 前言 在互联网的世界里&…

LiveGBS流媒体平台GB/T28181用户手册-国标设备:设备列表、通道列表、流传输模式修改、查看通道播放、设备录像、在线状态、流量统计

LiveGBS流媒体平台GB/T28181用户手册-国标设备:设备列表、通道列表、流传输模式修改、查看通道播放、设备录像、在线状态、流量统计 1、国标设备1.1、设备列表1.1.1、查看通道1.1.2、更新通道1.1.3、编辑1.1.3、导入导出1.1.4、条件检索1.1.5、设备状态记录1.1.6、设备流量统计…

太平洋产险海南分公司提醒您:高温来袭!新能源车该如何正确充电?

据不完全统计 近三年来 7-8月一直是电动汽车烧车事故的高发期 毕竟夏季的高温影响着动力电池的状态新能源汽车为什么会自燃? 小保替你们找到了央视的官方回答! 原来 新能源汽车比传统燃油车多了一套电池系统 电解液为可燃物 当热量聚集达到燃点却没…

【错题集-编程题】主持人调度(二)(贪心 + 优先级队列)

牛客对应题目链接:主持人调度(二)_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 把区间按照左端点排序,然后搞个堆: 先把第⼀个区间的右端点加⼊到堆中。遍历后⾯的区间,分情况讨论:&#xff…

双向链表结构

1.双向链表定义 双向链表也叫双链表&#xff0c;是链表的一种&#xff0c;它的每个数据节点中都有两个指针&#xff0c;分别指向直接前驱和直接后继。 2.实现双向链表 2.1创建双向链表类 /*** 基于双向链表实现元素存取的容器* param <E>*/ public class MyDoubleLinked…

设计模式六大原则之依赖倒置原则

文章目录 概念逻辑关系 小结 概念 依赖倒置原则指在设计代码架构时&#xff0c;高层模块不应该依赖底层模块&#xff0c;二者都应该依赖抽象。抽象不应该依赖于细节&#xff0c;细节应该依赖于抽象。 逻辑关系 如上图所示&#xff0c;逻辑应该就是这样&#xff0c;高层依赖于…

企业微信网页应用开发(java版)

1、成为开发者 企业微信先认证企业,成为开发者,到开发者中心创建web应用 开发者中心 选择工具 2、创建一个web应用 填写web应用信息 填写配置开发信息 域名地址先填一样的,填好后创建应用 3、配置可信域名 点击检查可信域名归属 下载可信域名验证文件 将下好的文件放到…

[案例分享] 产品需求跨职能团队协作

跨职能团队协作不仅可以激发创新、提升生产力&#xff0c;还能促进业务目标的达成。

最新版★重大升级★神点云连锁餐饮V2独立版点餐系统★公众号/h5/小程序前后端全套源码

提醒&#xff1a; 市场上流通很多老版本代码&#xff0c;一大堆问题且无法保证售后的源码&#xff0c;请各位买家一定要睁大眼睛&#xff0c;以防上当受骗&#xff01;&#xff01;&#xff01;本系统源码全是经本人亲自测试与修复的完好版本&#xff0c;且本人用此版本源码已…

Milvus 快速入门

引言 在本篇文章中&#xff0c;我们将介绍 Milvus 的基本概念&#xff0c;并通过一个简单的示例展示如何在 Milvus 中创建集合、插入向量和执行搜索。最后&#xff0c;我们将概览 Milvus 提供的 API。 一、基本概念 1.1 集合 (Collection) 在 Milvus 中&#xff0c;集合类似…

Ubuntu 24 换国内源及原理 (阿里源)

备份原文件 sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak 编辑源文件 sudo gedit /etc/apt/sources.list.d/ubuntu.sources &#xff08;阿里源&#xff09; Types: deb deb-src URIs: https://mirrors.aliyun.com/ubunt…

学习笔记:使用Ollama项目快速本地化部署Qwen 1.5模型

Ollama简介 Ollama是一个开源框架&#xff0c;专门设计用于在本地运行大型语言模型。它的主要特点是将模型权重、配置和数据捆绑到一个包中&#xff0c;从而优化了设置和配置细节&#xff0c;包括GPU使用情况&#xff0c;简化了在本地运行大型模型的过程。Ollama支持macOS和Li…

【Javaer学习Python】2、Django的MVT设计模式,完成CRUD小应用

系列文章&#xff1a;学习Python Django的MVT设计模式由Model(模型), View(视图) 和Template(模板)三部分组成&#xff0c;分别对应单个app目录下的models.py, views.py和templates文件夹。它们看似与MVC设计模式不太一致&#xff0c;其实本质是相同的&#xff1b; 实践是检验学…