玩转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 的基础内容,搭建了一个曲柄滑块机构的控制模型,进一步熟悉整个分析流程,为一步步研究复杂模型,打下基础。欢迎各位小伙伴关注、赞赞、留言和收藏。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯QQ/TIM本地特权提升(CVE-2023-34312)

受影响的产品: QQ 9.7.1.28940 ~ 9.7.8.29039 TIM 3.4.5.22071 ~ 3.4.7.22084 受影响的组件: QQProtect.exe 4.5.0.9424(在 TIM 3.4.5.22071 中) QQ权限.exe 4.5.0.9426(QQ 9.7.1.28940 中) QQProtectEngine.dll 4.5.0…

【机器学习】消息传递神经网络(MPNN)在分子预测领域的医学应用

1. 引言 1.1. 分子性质预测概述 分子性质预测是计算机辅助药物发现流程中至关重要的任务之一,它在许多下游应用如药物筛选和药物设计中发挥着核心作用: 1.1.1. 目的与重要性: 分子性质预测旨在通过分子内部信息(如原子坐标、原…

用统一的方式处理数据

在日常工作,生活中,有大量的数据需要保存到文件中,如文本,图像,以及Word和excel等软件数据。但是。如果大量的数据由多个人一同使用,久而久之就弄不清楚谁将数据存到什么地方了。虽然可以使用文件服务器来管…

Mysql的 存储过程(procedure)

什么是存储过程 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名字和参数(如果有)来执行它。存储过程可以在很多数据库管理系统&#x…

vue2 组件封装

vue2 组件封装 文件组织形式Vue 组件的三大核心属性(props、data 和样式)data vs props打破 props 单向数据流 事件表单修饰符事件修饰符 插槽新指令 v-slot 其他杂项组件生成 id\$nextTick 函数的使用在父级组件中调用子组件的方法 样式总结参考 本文记…

11.Spring AOP

文章目录 1.什么是 Spring AOP?2.为什要用 AOP?3.Spring AOP 应该怎么学习呢?3.1 AOP 组成3.1.1 切⾯(Aspect) 切点 通知3.1.2 连接点(Join Point)3.1.3 切点(Pointcut)…

《python程序语言设计》2018版第5章第46题均值和标准方差-下部(本来想和大家说抱歉,但成功了)

接上回,5.46题如何的标准方差 本来想和大家说非常抱歉各位同学们。我没有找到通过一个循环完成两个结果的代码。 但我逐步往下的写,我终于成功了!! 这是我大前天在单位找到的公式里。x上面带一横是平均值。 我不能用函数的办法…

数据处理之图像压缩

简介 图像压缩是很多应用场景中非常重要的技术,主要有以下几个原因: 减小文件大小 原始的图像文件通常非常大,尤其是高分辨率或者 RAW 格式的图片。压缩图像可以显著减小文件大小,有利于存储和传输。 节省存储空间 在许多应用中,需要存储大量的图像数据,如相册、电子商务平…

腾讯医疗大模型,不止大模型

“千呼万唤始出来,腾讯健康终于祭出医疗大模型。但或许这只是新故事的开始。下一步通过应用场景的打磨,全面嵌入生态合作伙伴,才能让医疗行业加速全面拥抱「数智化」工具。 在今年几乎所有企业都卷入AI大模型这场豪赌时,腾讯健康…

苹果智能:iOS 18 AI增强功能

苹果计划在 2024 年 WWDC 上推出一项名为“Apple Intelligence”的重大 AI 举措,将 AI 功能深度整合到其操作系统和核心应用程序中,同时优先考虑用户的隐私和安全。 该计划的名称是“Apple Intelligence”,这个名字很有市场价值。名字很简单…

Pod之间的通信详解

在Kubernetes集群中,Pod之间的通信是非常核心的功能。Pod是Kubernetes中的最小部署单元,它们之间经常需要进行通信以完成各种任务。本文将深入探讨Pod之间的通信方式,并通过示例代码来进一步解释。 目录 第一章. Pod间通信的实现原理 第二章…

C++做题

我们可以将0——9看成一个一维数组&#xff1a;a[11] #include<cstdio> int a[11],n; int x,p; int main(){scanf("%d",&n);for(int i1;i<n;i){pi;while(p!0){xp%10;a[x];//让下标x每次出现时增加1(描述不清楚)p/10;}}for(int i0;i<9;i){printf(&qu…

Flink学习-时间语义

含义 事件时间&#xff1a;数据产生的时间 处理时间&#xff1a;数据的处理时刻 水位线 用来衡量事件时间进展的标记&#xff0c;就被称作『水位线』&#xff0c;水位线可以看作是一条特殊的数据记录&#xff0c;是插入到数据流中的一个标记点&#xff0c;主要内容是个时间戳…

IO多路复用详解

1. 概念 IO多路复用也称IO多路转接&#xff0c;它是一种网络通信的手段&#xff08;机制&#xff09;&#xff0c;通过这种方式可以同时监测多个文件描述符并且这个过程是阻塞的&#xff0c;一旦检测到有文件描述符就绪&#xff08; 可以读数据或者可以写数据&#xff09;程序的…

Oracle基本操作

操作 DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表、视图等等,DDL 对这些对象和属性的管理和定义具体表现在 create、drop 和 alter 上。 create 可以创建数据库和数据库的一些对象 drop …

TypeScript看这篇就够了

TypeScript 技术文档 目录 TypeScript 技术文档1. 简介2. 安装与配置3. 基本类型3.1 布尔值3.2 数字3.3 字符串3.4 数组3.5 元组3.6 枚举3.7 Any3.8 Void3.9 Null 和 Undefined3.10 Never3.11 Object 4. 接口4.1 简单示例4.2 可选属性4.3 只读属性4.4 函数类型4.5 可索引类型 5…

轻NAS玩客云使用Docker部署小雅并挂载到AList详细流程分享

文章目录 前言1. 本地部署AList2. AList挂载网盘3. 部署小雅alist3.1 Token获取3.2 部署小雅3.3 挂载小雅alist到AList中 4. Cpolar内网穿透安装5. 创建公网地址6. 配置固定公网地址 前言 本文主要介绍如何在安装了CasaOS的玩客云主机中部署小雅AList&#xff0c;并在AList中挂…

C语言基础学习之位运算

枚举类型 enum 枚举名 { 枚举常量 //名字 }; 注意: 1.c语言中 对于枚举类型 实际上是 当作整型处理的 2.提高代码可读性&#xff0c; 写成枚举&#xff0c;可以做语法检查 3.枚举常量&#xff0c;之间用逗号隔开 4.枚举常量&#xff0c;可以给初值&#xff0c;给了初值之后&…

新电脑必装的7款软件,缺一不可

如果你买了新电脑或者是重装了新系统&#xff0c;那么这7款软件你一定要安装。 1、SpaceSniffer 如果你的C盘经常爆红&#xff0c;但是不知道是什么原因&#xff0c;那么你应该需要SpaceSniffer这款软件&#xff0c;它可以把你C盘中文件的空间占用情况&#xff0c;以大小方框…

当我拿到百度文心智能体大赛top1后,我又开发了...

目录 一、写在前面 二、代码助手 三、关于智能体 四、写在后面 一、写在前面 在不久前结束的文心智能体大赛&#xff08;第一期&#xff09;中&#xff0c;我有幸凭借一款名为恋爱助手的智能体斩获了大赛的桂冠。这个成绩&#xff0c;既是对我努力的认可&#xff0c;也是对…