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

http://www.lryc.cn/news/350554.html

相关文章:

  • vue嵌套路由
  • 视频降噪算法 hqdn3d 原理分析
  • Ansys Mechanical|屈曲分析技术
  • 【大模型微调】一文掌握7种大模型微调的方法
  • MySQL表突然卡死,删、查操作加载不停解决办法
  • Rust 标准库的结构及其模块路径
  • 003_PyCharm的安装与使用
  • 事件传递机制
  • DE2-115串口通信
  • Danfoss丹佛斯S90泵比例放大器
  • 对话YashanDB CTO陈志标:如何推动国产数据库长远发展
  • ip显示地址和实际地址不一样:原因解析与应对策略
  • visual studio snippet常用注释片段
  • ubuntu下不生成core dumped
  • python开发的学习路线
  • vite+vue3 部署后,总是需要清除缓存的问题
  • 多态:解锁面向对象编程的无限可能
  • 学习MySQL(四):记录的增删改查
  • 如何使用Python进行网页爬取
  • Spring的IOC(Inversion of Control)设计模式
  • 深度学习知识点总结
  • 以色列人Andi Gutmans开发的php zend
  • Python筑基之旅-溯源及发展
  • 网页打开:为什么国内用新标签页,国外用当前页?
  • 用户运营4大核心(C端版)
  • SBM模型、超效率SBM模型代码及案例数据(补充操作视频)
  • C#知识|上位机子窗体嵌入主窗体方法(实例)
  • 【汇编】算术指令
  • 如何知晓自己手机使用状况-入网时长
  • 机器学习 - 决策树