玩转Matlab-Simscape(初级)- 09 - 在Simulink中创建曲柄滑块机构的控制模型
**
玩转Matlab-Simscape(初级)- 09 - 在Simulink中创建曲柄滑块机构的控制模型
**
目录
- 玩转Matlab-Simscape(初级)- 09 - 在Simulink中创建曲柄滑块机构的控制模型
- 前言
- 一、问题描述
- 二、创建模型
- 2.1 识别机构中的刚体
- 2.2 确定刚体之间是如何相互连接的(关节副、约束等)
- 2.3 孤立每个刚体,简化刚体模型,并定义附着在其上的框架
- 2.4 使用关节和/或约束来组装刚体
- 2.5 利用“模型报告”(Model Report) 识别模型创建过程中产生的问题
- 2.6 利用 Mechanics Explorer 来识别和修复模型的其他问题
- 2.7 设置关节副目标位置以引导装配至所需位置
- 2.8 设置多体机构的输入和输出连接。测试和验证模型没问题后,再连接控制器并测试模型。
- 2.9 细化各个刚体,使模型更准确地表示实际机构
- 总结
前言
在产品开发中,多体动力学控制仿真是一种常见方法,本文从初学者的角度一点点解开应用Maltab simscape对多体进行仿真的面纱。写这篇博文是为后续做旋翼无人机的多体系统仿真打基础。欢迎各位小伙伴关注、赞赞、留言和收藏。
本文进一步深入学习复杂一点点的机构进行建模。
一、问题描述
下图显示了用作瞄准系统的机构。该问题被简化为平面曲柄滑块机构。下图显示了该机构的原理图草图,仅提取了该机构工作的基本要素(通常在设计过程的早期阶段)。滑块 C 可以在杆 A 上滑动。电机在旋转接头 Ri 处施加扭矩,任务是跟踪旋转角的特定轨迹。

二、创建模型
构建模型时要遵循的一个关键原则是从简单的近似开始,以使基本机构先能正常工作。在随后的演进中,逐步增加了模型的复杂性,以使其更接近真实物理模型(也可以选择从CAD软件导入3D模型,这样更简单些)。Simscape Multibody 中推荐的模型构建过程可分为以下步骤:

利用SW中“Simscape Multibody Link”插件工具导出生成一个*.xml文件。

2.1 识别机构中的刚体
要分析的曲柄连杆机构有四个刚体
1.刚体 A(橙色)
2.刚体B(蓝色)
3.刚体 C(绿色)
4.刚体D(灰色)
2.2 确定刚体之间是如何相互连接的(关节副、约束等)
该机构具有以下关节副
- 刚体 A 和 D 通过旋转关节 Ro 连接。
- 刚体 A 和 C 通过棱柱形关节 Pg 连接。
- 刚体 C 和 B 通过旋转关节 Rg 连接。
- 刚体 B 和 D 通过旋转关节 Ri 连接。
此外,刚体 D 刚性地连接到全局世界框架 W(世界坐标系,全局坐标系),因为它是静止的。
2.3 孤立每个刚体,简化刚体模型,并定义附着在其上的框架
将生成的.xml文件,导入matlab simulink,并定义刚体和接口(零件与零件之间的配合运动副)。
利用命令smimport(‘**.xml’)导入xml文件。
通过定义刚体的形状、质量属性以及与其他零件的接口来定义刚体。每个刚体都是孤立地识别和定义的。在上面的例子中,该机构由四个刚体组成:A、B、C 和 D。
在 Simscape Multibody 中定义刚体 A 的形状。一旦定义了物体的形状并设定了它的密度,Simscape Multibody 就可以自动计算惯性。刚入门的小白推荐将刚体的形状简化为长度等于原始零件长度的简单圆柱体,而不是原本相当复杂的形状。

2.4 使用关节和/或约束来组装刚体
装配联结的过程包括附在刚体上的框架之间的关系建立。
2.5 利用“模型报告”(Model Report) 识别模型创建过程中产生的问题
在 Mechanics Explorer 中,从“工具”下拉菜单中选择“模型报告”选项 中,会显示出关节部分设置出现的错误。在这里可以查看错误。
2.6 利用 Mechanics Explorer 来识别和修复模型的其他问题
选择框架方向时,必须考虑到所需的零配置(关节的零配置是指当所有的关节角度为零时,基座与从动框架之间的相对位置和方向)。当关节角度为零时,通过调整各自主体上基座和从动框架的位置和方向,来定义由关节所关联的两个刚体的相对位置和方向。
2.7 设置关节副目标位置以引导装配至所需位置
打开“模型报告”(Model Report) 以查看此装配配置中关节位置的值。
2.8 设置多体机构的输入和输出连接。测试和验证模型没问题后,再连接控制器并测试模型。


2.9 细化各个刚体,使模型更准确地表示实际机构
需要注意的是,SW中装配体建立时使用的配合方式,有时在导出xml文件时,会报错,导出的装配约束形式,貌似不能被Simulink识别。另外,3D模型如果发生了重建,Simulink模型又要重建,有些不方便,如何能一键更新呢?这个得再研究研究。
总结
以上就是今天分享的关于Matlab simscape 的基础内容,搭建了一个曲柄滑块机构的控制模型,进一步熟悉整个分析流程,为一步步研究复杂模型,打下基础。欢迎各位小伙伴关注、赞赞、留言和收藏。
相关文章:
玩转Matlab-Simscape(初级)- 09 - 在Simulink中创建曲柄滑块机构的控制模型
** 玩转Matlab-Simscape(初级)- 09 - 在Simulink中创建曲柄滑块机构的控制模型 ** 目录 玩转Matlab-Simscape(初级)- 09 - 在Simulink中创建曲柄滑块机构的控制模型 前言一、问题描述二、创建模型2.1 识别机构中的刚体2.2 确定刚…...
手撸一个java网关框架
手写一个简易的Java网关框架涉及到很多方面,但我会提供一个基本的框架概念和代码示例,帮助你理解网关的基本构建。以下是一个简单的Java网关框架的实现: 定义路由:需要一个路由表来映射请求的URL到对应的处理器。 请求处理&#x…...
亮数据代理IP助力高效数据采集
文章目录 📑前言一、爬虫数据采集痛点二、代理IP解决爬虫痛点2.1 为什么可以2.2 本篇采用的代理IP 四、零代码获取数据4.1 前置背景4.2 亮数据浏览器自动抓取数据4.3 使用步骤: 五、数据集5.1 免费样本5.2 定制数据集 🌤️个人小结 …...
VS2022,DLL1调用lib,lib调用DLL2
DLL1调用lib,lib调用DLL2 问题1:为什么在dll1中需要引入dll2的.lib文件 当你有一个工程(dll1)调用静态库(lib),而静态库(lib)又调用另一个DLL(dll2…...
Unity Mirror VR联机开发 房间篇
一、需求 在联机时通常有加入房间这个步骤,在mirror示例中也有相应的案例,但是那个比较复杂,我们做教育科普类不需要如此复杂,傻瓜式操作基本就可以了,所以我简化了步骤,省略了点击准备按钮这一步骤&#…...
二叉树—leetcode
前言 本篇博客我们来仔细说一下二叉树二叉树的一些OJ题目 请看完上一篇:数据结构-二叉树-CSDN博客 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:LeetCode_普通young man的博客-CSDN博客 若有问题 评论区见📝 &…...
shell编程(二)——字符串与数组
本文为shell 编程的第二篇,介绍shell中的字符串和数组相关内容。 一、字符串 shell 字符串可以用单引号 ‘’,也可以用双引号 “”,也可以不用引号。 单引号的特点 单引号里不识别变量单引号里不能出现单独的单引号(使用转义符…...
【数据结构】二叉树专题
前言 本篇博客我们来看一些二叉树的经典题型,也是对上篇博客的补充 💓 个人主页:小张同学zkf ⏩ 文章专栏:数据结构 若有问题 评论区见📝 🎉欢迎大家点赞👍收藏⭐文章 目录 1.单值二叉树 …...
开源模型应用落地-LangChain高阶-LCEL-表达式语言(四)
一、前言 尽管现在的大语言模型已经非常强大,可以解决许多问题,但在处理复杂情况时,仍然需要进行多个步骤或整合不同的流程才能达到最终的目标。然而,现在可以利用langchain来使得模型的应用变得更加直接和简单。 LCEL是什么? LCEL是一种非常灵活和强大的语言,可以帮助您更…...
Python第二语言(九、Python第一阶段实操)
目录 1. json数据格式 2. Python与json之间的数据转换 3. pyecharts模块官网 4. pyecharts快速入门(折线图) 5. pyecharts全局配置选项 5.1 set_global_ops使用 5.1.1. title_opts 5.1.2 legend_opts 5.1.3 toolbox_opts 5.1.4 visualmap_opts…...
Java异常机制
1.异常概述和异常处理机制 异常(exception)概述 异常就是程序在运行时出现的意外的,不正常的情况。 若异常产生后没有正确的处理,会导致程序的中断,程序不继续执行,以致造成损失。 2.2 异常处理机制 所以我们在开发中要一套机制来处理各种可能…...
Aws EC2,kubeadm方式安装kubernetes(k8s)
版本 docker版本:20.10.25 k8s版本(kubeadm,kubelet和kubectl):1.20.10-0 初始化 # 禁用 SELinux sudo setenforce 0 sudo sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selinux/config# 关闭防火墙 sudo …...
python 比较 mysql 表结构差异
最近在做项目的时候,需要比对两个数据库的表结构差异,由于表数量比较多,人工比对的话需要大量时间,且不可复用,于是想到用 python 写一个脚本来达到诉求,下次有相同诉求的时候只需改 sql 文件名即可。 com…...
【RAG入门教程01】Langchian框架 v0.2介绍
LangChain 是一个开源框架,旨在简化使用大型语言模型 (LLM) 创建应用程序的过程。可以将其想象成一套使用高级语言工具进行搭建的乐高积木。 它对于想要构建复杂的基于语言的应用程序而又不必管理直接与语言模型交互的复杂性的开发人员特别有用。它简化了将这些模型…...
python 做成Excel并设置打印区域
记录首次用python处理Excel表格的过程。 参考文章:https://www.jianshu.com/p/5e00dc2c9f4c 程序要做的事情: 1. copy 模板文件到 output 文件夹并重命名为客户指定的文件名 2. 从 DB 查询数据并将数据写入 Excel 3. 写数据的同时, 设置每…...
SpringAI(二)
大模型:具有大规模参数和复杂计算结构的机器学习模型.通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数.其设计目的在于提高模型的表达能力和预测性能,应对复杂的任务和数据. SpringAI是一个AI工程领域的应用程序框架 大概推出时间是2023年7月份(不确定) 目的是将S…...
小白都可以通过U盘重装系统,再也不用花50块钱去安装系统啦
下载Ventoy 软件 1、今天带着大家通过Ventoy 安装Windows 11 系统。 2、首先我们通过官网如下地址:https://www.ventoy.net/cn/,找到我们对应系统的Ventoy 软件安装包。 3、通过官网可以找到软件包的地址地址,如下图所示。 4、如下就是我下…...
android 双屏异显-学习笔记
双屏异显 日常生活中,有时候会遇到 Android 设备连接两个屏幕进行显示的问题,比如酒店登记信息时,一个屏幕用于员工操作,一个屏幕显示相关信息供顾客查看。这里就涉及到 Android 的双屏异显的问题,实现Android 的双屏异显,Google 也提供了相应的 API方法 Presentation。…...
Android Lottie 体积优化实践:从 6.4 MB 降到 530 KB
一、说明 产品提出需求:用户有 8 个等级,每个等级对应一个奖牌动画。 按照常用的实现方式: 设计提供 8 个 lottie 动画(8 个 json 文件)。研发将 json 文件打包进入 APK 中。根据不同等级播放指定的动画。 每一个 …...
Django前端页面-模板继承
通过模板的继承,可以将所有共同的前端页面移到母版,那么其他页面就可以用到母版了。 这是母版 <!DOCTYPE html> <html><head>{% block css %}{% endblock %}</head><body><h1>母版</h1><div><!-- …...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
