Simscape Multiboby学习笔记7——Multibody仿真实例2双曲柄瞄准系统

6 篇文章 7 订阅
6 篇文章 32 订阅
本文详细介绍了在Matlab的Multibody环境中,从创建并封装零件(包括杆件、滑块和坐标系调整),到修改坐标系、装配、施加动力和传感器,再到设计控制器和进行仿真分析的全过程。通过实例展示了双曲柄瞄准机构的建模步骤。
摘要由CSDN通过智能技术生成


经过了前面的讲解,我们其实可以总结出Multibody中建模的规律了。这里给出我的理解(分析和建模的顺序)

第一步,建立零件并封装零件,这一步里面包括要把需要的坐标系建立出来(坐标系的目的是为了装配,即自由度约束)。这一步就类似于SolidWorks中的建立零件

第二步,修改坐标系,这一步是SolidWorks中没有的,我也是把Multibody弄明白之后反过来理解了SolidWorks的背后装配思路,其实就是坐标系连接,只不过SolidWorks里面是后台操作的,我们看不到这些东西。这一步相当于SolidWorks中装配的第一步。

第三步,装配,即连接坐标系。这一步里面需要增加关节,然后把所有的零件和关节头连尾巴、头连尾巴、头连尾巴,这样子连起来就行了。这一步相当于SolidWorks中装配的第二步。

第四步,施加驱动力和增加传感器。前三步完成了建模,从第四步开始加力和传感器,这样就实现了驱动和数据输出。

第五步,设计控制器。

第六步,仿真分析。

下面我们以Matlab官方的一个双曲柄瞄准机构的建模为例讲解。

img

一. 建立和封装零件

这个例子中包含四个构件,摇杆A,摇杆B,滑块C和大地D。初学时我们做一些简化,大地我们简化成一个杆件,这个杆件在装配的时候和大地固连。A和B从图里面看有孔,我们也忽略,按照前面建立单摆模型时一样,直接让他们干涉连接,最后的效果像下面这个样子。
在这里插入图片描述

(一)建立杆件A

A和D之间是铰接的关系,有一个转动自由度,A和C之间是滑动连接,有一个滑动自由度。所以在A上面我们要建立两个新的坐标系。

使用smnew新建一个Multibody文件,里面的默认组件先不管他。

拖进来一个Cylindrical Solid,命名为Link A,增加两个Rigid Transform,改名如下图 ,增加两个Connection Port,命名Fad和Fac,像下面这样子连起来(注意B都是朝里的,两个坐标系的B连接brick的B)
在这里插入图片描述
然后框选上面的组件,右键Create Subsystem
在这里插入图片描述

多出来的外面的这俩端口删掉,命名为rigid body A
在这里插入图片描述
变成这样
在这里插入图片描述
下面我们指定一下A的尺寸、密度、颜色。
在这里插入图片描述
注意看,右边的预览,轴向方向是沿着Z轴的。前面建立装配体(笔记4)那一篇我重点提醒了,所有的旋转关节转轴都是沿着Z轴的,滑动关节都是沿着Z轴的。 所以,连接处的坐标系必须进行旋转。这一步我们放到后面统一做

(二)建立杆件B

B的形状和A是一样的,不过B两个端部都是转动关节。
我们把刚才建立A的Subsystem直接复制一个,命名为rigid body B。然后双击进去把名字全都改一下
在这里插入图片描述
然后双击Link B,修改属性
在这里插入图片描述

(三)建立滑块C

滑块C一样的,我们复制一个刚才的rigid body A子系统,命名为rigid body C,双击进去。由于C是个滑块,我们要把Cylindrical Solid删掉,换成一个Brick Solid,然后全部重新命名,如图所示。
在这里插入图片描述
然后双击Link C,修改属性
在这里插入图片描述

(四)建立杆件D

杆件D也是回转体,和A、B形状是一样的,但是D除了与A、与B铰接之外,还要与地球固连,所以要给他新建一个坐标系。我们直接复制一个Rigid Body A过来,命名为Rigid Body D,双击进去,修改名字。
在这里插入图片描述
然后双击Link D,修改属性
在这里插入图片描述

现在我们的文件里面包含了四个杆件了

把大小和位置调整一下,像下面这个样子
在这里插入图片描述

二. 修改坐标系

下面是重点了,怎么旋转坐标系。

我们刚才已经把坐标系建立进去了,但现在里面没有设置,默认没有旋转,也没有平移,也就是说新建立的坐标系和零件的基坐标系重合(基坐标系R一般是几何中心)。

下面我们开始修改坐标系。修改坐标系我是按照装配关系来的,也就是先改D(和大地连接),再改A,再B,最后改C。

(一)修改D的坐标系

展开D零件,双击World Frame Transform,修改如下。把这个坐标系移动到头上面,然后绕Y轴旋转-90°。注意Fdw是要接到地理坐标系的,也就是地理坐标系绕着D的Y轴转-90度,那么反过来D绕着地理坐标系的Y轴转+90度。

以上这句话请深刻理解。
在这里插入图片描述
退出去,把A、B、C comment out(注释掉)操作如下:
在这里插入图片描述
然后把地理坐标系与D连起来,
在这里插入图片描述

运行一下,结果是这样的。请重点看这个图,Fdw与世界坐标系(左下角显示)是固连的,Fdw与D的极坐标系(在杆件的重心)的关系就是我们刚才设定的,沿Z轴平移半个长度,绕Y轴旋转-90度。

我们做的这件事其实就是把D给横过来。
在这里插入图片描述
好了,现在回头再双击进入rigid body D,修改两个Hole FrameTransform。我们还是看上面这个图,我们要把两个Hole FrameTransform的z轴转到地理-y轴这个朝向。所以修改方法为,绕x轴旋转90度。
在这里插入图片描述
在这里插入图片描述

再次运行,看看结果,图示就是left Hole FrameTransform坐标系。z轴已经转过来了,与设定的一致。点一下左侧浏览器的right Hole FrameTransform,可以看到在尾巴上也有一个坐标系了,朝向和这个一样。
在这里插入图片描述

(二)修改B的坐标系

经过刚才的讲解,我们已经知道套路了,对于B,依然要把两个关节坐标系Z轴转过来。

修改方法这样的,还是绕X轴旋转90度,两个都是。
在这里插入图片描述
在这里插入图片描述

(三)修改A的坐标系

A的话只有一个旋转关节,这个坐标系跟上面B的坐标系旋转方法一样,移动关节不需要改,因为z轴本来就是沿着轴向的。
在这里插入图片描述
在这里插入图片描述

(四)修改C的坐标系

C的话又不一样了,因为C是个方块,他与A是滑动连接,与B要转动连接,我们回头看看C的预览
在这里插入图片描述
X轴长度是10,我们其实是想沿着C的x轴方向滑动的,那么怎么转呢?提问三秒钟。

显然,绕着Y轴转90度就可以了。

然后C还要绕着B来转,其实是想让它绕着自己的y轴转,怎么转呢?又是提问三秒钟。

这里绕着x轴旋转90度就行了。

不能理解请回头看这句话:

Multibody中所有的旋转关节转轴都是沿着Z轴的,滑动关节都是沿着Z轴的。所以,连接处的坐标系必须进行旋转,转完后新的z轴要沿着想要的转动方向或滑动方向

图示如下:
在这里插入图片描述
在这里插入图片描述

三. 装配(连接坐标系)

经过刚才的步骤,我们把所有的坐标系都建立起来了,现在可以连接了。连接是通过关节来连接的,拖进来三个Revolute Joint和一个Prismatic Joint,然后依次连接起来。这一步是最爽的了哈哈,超级简单。
在这里插入图片描述
双击Rdb关节,把初始角度改成30度
在这里插入图片描述
运行一下,效果就出来了
在这里插入图片描述
我们的安装方向是竖着装的,此时还没有设置任何外部力与内部力,所以在重力的作用下系统会乱动,像下面这样子
在这里插入图片描述

四. 施加驱动力和增加传感器

下面我们怎么驱动力与传感器。我们把力施加在D和B连接的关节上,输出B和A连接关节的角度和速度

双击Rdb,增加外部驱动力,把初始角度改成150度,通过PS-Simulink Conveter连到输入模块,命名T
在这里插入图片描述

双击Rda,增加传感器,通过PS-Simulink Conveter连到输出模块,命名q,w
在这里插入图片描述
然后把整个模块框选起来,右键创建子系统。成了下面这样子
在这里插入图片描述

五. 设计控制器

本文的控制器直接把Matlab官方的控制器拿过来了,设计的还挺巧妙的。我自己直接加的一个PID控制器稳定性不好,可能有什么动力学因素在里面。
在这里插入图片描述
这个PD控制器里面还比较复杂,感兴趣的可以点进去看一看,如何设计好控制器就是我们仿真的终极目标了,当然就会是重难点部分,我们的目标是熟悉整个流程,就不对控制器详解了。

Aim Reference是输入信号,控制的是两个量,位置和速度。参考信号是下面这样子的
在这里插入图片描述

六. 仿真分析

点击运行,看看系统的跟随效果
在这里插入图片描述
看看示波器的曲线,位置控制效果很棒
在这里插入图片描述

  • 18
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
### 回答1: Simscape Multibody是基于Simulink平台的一个多体动力学仿真工具,在机械、航空、汽车等领域都有广泛应用。为了更好地使用这个工具,建议首先从官方网站了解教程和文档。这些资源以易于理解的方式介绍Simscape Multibody的基本原理、模型构建、仿真操作等方面的知识。 在学习过程中,建议先从Simulink基础开始学起,例如掌握建立模型、添加仿真器等基本操作。熟悉这些操作后,可以学习Simscape工具箱中的Multibody部分,掌握多体系统的建模方法、运动学方法、动力学方法等。在这个过程中,可以通过官网提供的示例来练习,并结合自己的应用需求进行实践。 此外,建议多加了解Simscape Multibody的工具和应用,例如运动学仿真、动力学仿真、控制设计等。这可以通过查阅文献、参加培训、交流等方式来完成。 最后,要注意使用Simscape Multibody时需要有一定的数学和物理基础,不仅要熟悉多体系统的理论,还要了解微积分、线性代数等数学知识,以及动力学、力学、材料力学等相关科学知识。只有全面掌握背景知识,才能正确理解和使用Simscape Multibody。 ### 回答2: Simscape Multibody是MATLAB Simulink中一款先进的工具箱,用于多体系统的建模和仿真。该工具箱具有高度可定制化和灵活性,可进行各种机械系统的建模,如机械臂,汽车悬挂系统,弹簧减震器等。 Simscape Multibody的教程提供了深入的学习资料,包括理论基础、案例研究、演示视频和实践项目。教程旨在帮助用户了解该工具箱的功能和特点,快速掌握建模和仿真技术。 在教程中,用户将学习如何使用Simscape Multibody进行建模和仿真,包括如何创建部件,连接它们,分配参数和添加传感器等。同时,用户还将学习一些高级技术,如动力学分析,控制策略等。 除了基本的多体动力学建模,Simscape Multibody还提供了丰富的工具箱,可用于建模和仿真气体系统,流体力学系统,电子控制系统等。这为用户提供了更多的选择和灵活性,使其能够应对各种真实世界的挑战和需求。 总的来说,Simscape Multibody教程是学习该工具箱的绝佳资源,使用户能够充分利用它的功能和潜力,快速实现各种机械系统的建模和仿真
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何为其然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值