玩转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供分析用。重点掌握第二种方法,为将来深入学习和研究复杂装配体的建模和控制仿真打下基础。欢迎各位小伙伴关注、赞赞、留言和收藏。

相关推荐
studyer_domi8 小时前
matlab质子磁力仪传感器线圈参数绘图
人工智能·matlab
青橘MATLAB学习14 小时前
模糊综合评价法:原理、步骤与MATLAB实现
开发语言·算法·数学建模·matlab·分类
studyer_domi14 小时前
matlab 三维时频图绘制
开发语言·matlab
studyer_domi18 小时前
matlab飞行姿态pid控制
matlab
Matlab仿真实验室18 小时前
基于Matlab实现信道估计仿真(源码)
开发语言·matlab·信道估计仿真
studyer_domi20 小时前
matlab 汽车abs的pid控制仿真
开发语言·matlab·汽车
studyer_domi20 小时前
matlab 汽车abs的模糊pid和pid控制仿真
开发语言·matlab·汽车
freexyn1 天前
Matlab自学笔记四十七:如何把日期时间型数据作为横坐标进行绘图
开发语言·笔记·matlab
见你背影1 天前
matlab数据处理:创建网络数据
matlab
chinakq2 天前
C++学习计划(三周) 有matlab和python基础,如何快速入门C++(利用《C++ primer plus》)
c++·学习·matlab