当前位置: 首页 > news >正文

玩转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进行控制仿真的实现流程。迎各位小伙伴关注、赞赞、留言和收藏。

相关文章:

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

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

vue嵌套路由

一、嵌套 children配置 1.父类路由 mymusic 2.子类路由 musicson 1.创建MusicSon组件 <template><div><p>从前和后来</p><p>唯一</p><p>运气来的似有若无</p></div> </template><script>export defaul…...

视频降噪算法 hqdn3d 原理分析

视频降噪 视频降噪是一种处理技术&#xff0c;旨在减少视频中的噪声&#xff0c;提高画面质量。噪声可能来自多种源头&#xff0c;包括摄像机的传感器、压缩算法、传输过程中的干扰等。降噪处理对于视频监控、视频会议、电影后期制作以及任何需要高画质输出的应用场景都非常重…...

Ansys Mechanical|屈曲分析技术

屈曲分析的基本概念 当受拉杆件的应力达到屈服极限或强度极限时&#xff0c;将引起塑性变形或断裂。这些是由于强度不足所引起的失效。 在工程中&#xff0c;我们会注意到当细长杆件受压时&#xff0c;表现出与强度失效完全不同的性质。当杆件受压超过某一临界值时&#xff0…...

【大模型微调】一文掌握7种大模型微调的方法

本篇文章深入分析了大型模型微调的基本理念和多样化技术&#xff0c;细致介绍了LoRA、适配器调整(Adapter Tuning)、前缀调整(Prefix Tuning)等多个微调方法。详细讨论了每一种策略的基本原则、主要优点以及适宜应用场景&#xff0c;使得读者可以依据特定的应用要求和计算资源限…...

MySQL表突然卡死,删、查操作加载不停解决办法

今天遇到了MySQL删表的时候卡死情况。然后通过网上查阅资料和项目组沟通&#xff0c;了解到了有多人同时对同一张表进行了操作。我和另一个同事同时进行了删除操作&#xff0c;然后另两位同时进行了查询操作&#xff0c;然后还有一位同事用dolphin调度&#xff0c;用datax采集数…...

Rust 标准库的结构及其模块路径

在 Rust 中&#xff0c;标准库提供了一组核心功能&#xff0c;以帮助开发者执行常见的编程任务。当使用这些功能时&#xff0c;我们需要通过特定的模块路径来引用它们。下面&#xff0c;我们将详细介绍 Rust 标准库的结构&#xff0c;并提供相应的 use 路径。 Rust 标准库模块…...

003_PyCharm的安装与使用

如果你正在学习PyQt&#xff0c;本系列教程完全可以带你入门直至入土。 所谓从零开始&#xff0c;就是从软件安装、环境配置开始。 不跳过一个细节&#xff0c;不漏掉一行代码&#xff0c;不省略一个例图。 IDE 开始学习一个编程语言&#xff0c;我们肯定是首先得安装好它&…...

事件传递机制

IOS面试题(UIView) ----- 事件传递机制 - 简书 面试题&#xff1a; 在以下场景中&#xff0c;父视图 ParentView 上有三个子视图 ViewA、ViewB 和 ViewC。ViewA 完全位于 ParentView 的范围内&#xff0c;ViewB 有一半在 ParentView 的范围内&#xff0c;而 ViewC 完全位于 Par…...

DE2-115串口通信

目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助…...

Danfoss丹佛斯S90泵比例放大器

S90R042、S90R055、S90R075、S90R100、S90R130、S90R180、S90R250电气排量控制变量泵比例阀放大器&#xff0c;电气排量控制为高增益控制方式&#xff1a;通过微小变化的输入电流控制信号即可推动伺服阀主阀芯至全开口位置&#xff0c;进而将最大流量的控制油引入到伺服油缸。伺…...

对话YashanDB CTO陈志标:如何推动国产数据库长远发展

深圳计算科学研究院&#xff08;以下简称“深算院”&#xff09;是深圳市人民政府2018年11月批准建设的“十大基础研究机构”之一&#xff0c;由深圳市科技创新委员会主管、深圳大学举办、深圳市龙华区人民政府共建的二类事业法人单位。 崖山数据库系统YashanDB是深算院完全自主…...

ip显示地址和实际地址不一样:原因解析与应对策略

在数字化时代&#xff0c;IP地址作为我们在互联网上的身份标识&#xff0c;其重要性不言而喻。然而&#xff0c;有时我们会遇到ip显示地址和实际地址不一样的情况&#xff0c;这不仅可能影响到我们的网络体验&#xff0c;还可能引发一系列安全和隐私问题。那么&#xff0c;造成…...

visual studio snippet常用注释片段

Visual Studio 2022 添加自定义代码片段_vs2022 代码片段-CSDN博客 dclass.snippet: <?xml version"1.0" encoding"utf-8"?> <CodeSnippets xmlns"http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> …...

ubuntu下不生成core dumped

1、先用ulimit -c&#xff0c;如果看到0&#xff0c;说明没有开core dump。 所以我们输入ulimit -c unlimited&#xff0c;打开core dump。 再次用ulimit -c&#xff0c;看到unlimited了&#xff0c;说明core dump打开了。 注意这句ulimit -c unlimited只对当前会话有效。要永…...

python开发的学习路线

I. 基础知识学习 A. Python基础语法 变量和数据类型 学习如何定义变量&#xff0c;理解并使用不同的数据类型&#xff08;整数、浮点数、字符串、布尔值等&#xff09;。 掌握数字类型的转换和操作。 熟悉字符串的基本操作&#xff0c;如拼接、切片、替换和查找。 …...

vite+vue3 部署后,总是需要清除缓存的问题

1.每次部署后&#xff0c;需要清除缓存&#xff0c;才能看到最新代码&#xff0c;给打包文件加上hash就可以解决此问题。 vite.config.ts文件中加以下代码 build: {rollupOptions: {output: {entryFileNames: assets/[name].[hash].js,chunkFileNames: assets/[name].[hash].j…...

多态:解锁面向对象编程的无限可能

1. 概述 多态&#xff08;Polymorphism&#xff09;是面向对象编程的三大核心特性之一&#xff08;另两个是封装和继承&#xff09;。多态意味着不同的对象对同一消息做出不同的响应。简单来说&#xff0c;多态允许你使用父类引用指向子类对象&#xff0c;并且当调用方法时&am…...

学习MySQL(四):记录的增删改查

记录的增、删、改 增 -- 插入一条数据 INSERT INTO 表名&#xff08;字段 1&#xff0c;字段2&#xff0c;字段3&#xff09; VALUES&#xff08;值 1&#xff0c;值2&#xff0c;值3&#xff09; INSERT INTO 表名 VALUES&#xff08;值 1&#xff0c;值2&#xff0c;值3&am…...

如何使用Python进行网页爬取

Python爬虫案例可以有很多种&#xff0c;但我会为你提供一个简单的案例&#xff0c;该案例使用Python的requests库来爬取一个网页的内容&#xff0c;并使用BeautifulSoup库来解析HTML并提取特定的信息。 假设我们要从某个新闻网站&#xff08;例如&#xff1a;示例网站&#x…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...

PH热榜 | 2025-06-08

1. Thiings 标语&#xff1a;一套超过1900个免费AI生成的3D图标集合 介绍&#xff1a;Thiings是一个不断扩展的免费AI生成3D图标库&#xff0c;目前已有超过1900个图标。你可以按照主题浏览&#xff0c;生成自己的图标&#xff0c;或者下载整个图标集。所有图标都可以在个人或…...

rm视觉学习1-自瞄部分

首先先感谢中南大学的开源&#xff0c;提供了很全面的思路&#xff0c;减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接&#xff1a;https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架&#xff1a; 代码框架结构&#xff1a;readme有…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...

Qwen系列之Qwen3解读:最强开源模型的细节拆解

文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...

未授权访问事件频发,我们应当如何应对?

在当下&#xff0c;数据已成为企业和组织的核心资产&#xff0c;是推动业务发展、决策制定以及创新的关键驱动力。然而&#xff0c;未授权访问这一隐匿的安全威胁&#xff0c;正如同高悬的达摩克利斯之剑&#xff0c;时刻威胁着数据的安全&#xff0c;一旦触发&#xff0c;便可…...