玩转Matlab-Simscape(初级)- 02 -对单摆模型进行仿真

**

玩转Matlab-Simscape(初级)- 02 - 对单摆模型进行仿真

**

目录

    • [玩转Matlab-Simscape(初级)- 02 - 对单摆模型进行仿真](#玩转Matlab-Simscape(初级)- 02 - 对单摆模型进行仿真)
  • 前言
  • 一、一级简单倒立摆
  • 二、建模过程
  • [三、 从SW中导入3D模型到Simscape Multibody](#三、 从SW中导入3D模型到Simscape Multibody)
    • [3.1 在SW中建立3D装配模型](#3.1 在SW中建立3D装配模型)
    • [3.2 将上述3D模型通过Simscape Multibody Link插件导出](#3.2 将上述3D模型通过Simscape Multibody Link插件导出)
    • [3.3 从Matlab中导入3D模型](#3.3 从Matlab中导入3D模型)
    • [3.4 对模型进行预处理](#3.4 对模型进行预处理)
    • [3.5 运行仿真](#3.5 运行仿真)
  • 总结

前言

在产品开发中,多体动力学控制仿真是一种常见方法,本文从初学者的角度一点点解开应用Maltab simscape对多体进行仿真的面纱。写这篇博文是为后续做旋翼无人机的多体系统仿真打基础。

本文用两种方法对一个简单的倒立摆进行建模仿真。目的是对比和掌握通过SW软件建立复杂模型,并将其导入simscape中进行控制系统仿真分析的方法。

欢迎各位小伙伴关注、赞赞、留言和收藏。


一、一级简单倒立摆

一级倒立摆(钟摆)是最简单的机械系统。由两部分构成:摆杆和固定座,二者通过一个铰链关节联结。结构如下图所示。

二、建模过程

2.1 建模

  • 在Matlab命令窗口中,输入 smnew,打开Simscape Multibody 模型模板;
  • 删除"Rigid Transform "、"Simulink-PS Converter "、"PS-Simulink Converter "、"Scope"这些本例中不用的模块;
  • 将文中玩转Matlab-Simscape(初级)- 01 - 从一个简单模型开始学习之旅自定义的连杆模型添加到该例中;
  • 添加一个铰链关节模块;
    在Simulink Library中 Simscape→Multibody→Joints→Revolute Joint可以找到该铰链关节模块。
    【关于"Revolute Joint "模块:表示作用于两个框架之间的回转关节。该关节具有一个旋转自由度,由一个回转原语表示。该关节限制了两个框架原点重合,并且基础框架和跟随框架的z轴也必须重合,同时允许跟随框架的x轴和y轴围绕z轴旋转。在"属性"下的可展开节点中,指定关节原语的状态、驱动方式、感知能力及内部机械特性。应用这些设置后,块将显示相应的物理信号端口。端口B和F分别为表示基础框架和跟随框架的框架端口。关节的方向由跟随框架相对于基础框架的相对运动来定义。】

    双击"Brick Solid"模块,定义如下参数。

  • 将各模块联结,如下图所示。

2.2指定重力

为了能让杆在重力作用下运动,设置重力加速度矢量沿Y轴向下,双击"Mechanism Configuration "模块进行配置如下。

2.3 设置摆的起始位置

双击"Revolute Joint"模块,设置摆杆的初始角度位置(这里设置为0度)

2.4 求解器配置

MODELING 选项卡中点击Model Settings 进行求解器参数设置:求解器选择ode15s,最大步长设置为0.01。

2.5运行模型

一级简单摆模型

2.6保存模型

将模型保存,后续继续使用。

三、 从SW中导入3D模型到Simscape Multibody

3.1 在SW中建立3D装配模型

在SW中创建一个由连杆和基座构成的简单摆3D模型,如下图所示。

3.2 将上述3D模型通过Simscape Multibody Link插件导出

将装配体模型导出,并自定义命名为"Mylink_SW.xml "

3.3 从Matlab中导入3D模型

在Matlab命令窗中输入smimport('Mylink_SW.xml'),打开模型如图所示。

smimport('Mylink_SW.xml')

3.4 对模型进行预处理

更新模型,如图所示,发现摆杆与座的初始角度跟第一种方法不一致,这里需要做些调整才可以。此外,一般还需要调整模型的坐标系,重力场才能进行仿真。由于这个模型比较简单,所以仅调整铰链关节的初始角度就可以。

3.5 运行仿真

仿真结果如图所示。

一级简单摆模型-SW


总结

以上就是今天分享的关于Matlab simscape 的基础内容,简单分享了在Simscape中搭建一级简单摆模型,同时用另一种方法从SW创建3D模型,并将其调入Matlab供分析用。重点掌握第二种方法,为将来深入学习和研究复杂装配体的建模和控制仿真打下基础。欢迎各位小伙伴关注、赞赞、留言和收藏。

相关推荐
火山口车神丶1 小时前
某车企ASW面试笔试题
c++·matlab
今天吃饺子2 小时前
2024年SCI一区最新改进优化算法——四参数自适应生长优化器,MATLAB代码免费获取...
开发语言·算法·matlab
Evand J14 小时前
集合卡尔曼滤波(Ensemble Kalman Filter),用于二维滤波(模拟平面上的目标跟踪),MATLAB代码
matlab·平面·目标跟踪
我是博博啦19 小时前
matlab例题
人工智能·算法·matlab
2402_8713219520 小时前
MATLAB方程组
gpt·学习·线性代数·算法·matlab
Matlab程序猿小助手1 天前
【MATLAB源码-第218期】基于matlab的北方苍鹰优化算法(NGO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·嵌入式硬件·算法·matlab·机器人·无人机
Matlab精灵2 天前
使用MATLAB进行字符串处理
开发语言·matlab
机器学习之心2 天前
POD-Transformer多变量回归预测(Matlab)
matlab·回归·transformer·pod-transformer
WangYan20223 天前
高光谱遥感是什么?高光谱遥感数据如何处理?(基于Matlab和Python多案例解析)从小白到精通
matlab·高光谱遥感数据处理·混合像元分解
Matlab精灵3 天前
利用Matlab函数实现深度学习算法
深度学习·算法·matlab