《matlab机械机构仿真解读ppt课件.ppt》由会员分享,可在线阅读,更多相关《matlab机械机构仿真解读ppt课件.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、4.SimMechanics4.SimMechanics建模建模及机构系统仿真及机构系统仿真4.1 SimMechanics简介4.2 SimMechanics模块4.3 SimMechanics建模4.4 机构动态仿真实例分析4.1 SimMechanics简介 SimMechanics是Matlab仿真中的一个工具箱,同时结合Simulink、Matlab的功能。利用SimMechanics模块框图对机构运动进行建模和动态仿真。通过一系列关联模块来表示机构系统,在仿真时通过SimMechanics可视化工具将机构系统简化为机构结构的直观显示。4.2 SimMechanics4.2 SimM
2、echanics模块模块 SimMechanics模块组提供了建模的必要模块,可以直接在Simulink中使用。SimMechanics支持用户自定义的构件模块,可以设定质量和转动惯量。通过节点联接各个构件来表示可能的相对运动,还可以在适当的地方添加运动约束、驱动力。 模块组包含刚体子模块组(Bodies)、约束与驱动模块组(Constraints&Drivers)、力单元模块组(Force Elements)、接口单元模块组(Interface Elements)、运动铰 模块组(Joints)及 传感器和激励器模块组 (Sensors&Actuators) 和辅助工具模块组 (Utilit
3、ies)。4.2.1 刚体子模块组(Bodies)4.2.2 约束与驱动模块组(Constraints&Drivers)4.2.3 力单元模块组(Force Elements)4.2.4 接口模块组(Interface Elements)4.2.5 运动铰模块组(Joints)4.2.6 传感器与激励器模块组(Sensors&Actuators)4.2.7 辅助工具模块组(Utilities)4.2.1 刚体子模块组(Bodies) 双击此模块,弹出模块组,此模块组包括四个模块:刚体(Body)、机架(Ground)机械环境(Machine Enviroment)和共享机械环境(Shared
4、Enviroment)。 机械环境是为仿真定义环境变量。包含有重力、维数、分析模式、约束求解器、误差、线性化和可视化。共享环境联接两个刚体模块使他们享有相同的机械环境。机架只有一个连接端,另外一个固定。 刚体有两个连接端,其中一个为主动端,另一端为从动端。使用刚体时可以定义质量、惯性矩、坐标原点、刚体的初始位置和角度。 双击该模块组,弹出如图所示。4.2.2 4.2.2 约束与驱动模块组约束与驱动模块组 (Constraints&DriversConstraints&Drivers) Angle Driver:设定两个刚体坐标间的角度。 Distance Driver:设定两个坐标原点的距离。
5、 Gear Constraint:齿轮约束。 Linear Driver:确定两个刚体坐标间的向量差。 Parallel Constrant:平行约束。 Point-Constraint:曲线约束。 Velocity Driver:确定两个刚体坐标间的相对线速度和角速度。4.2.3 力单元模块组(Force Elements) Body Spring&Damper:在两个刚体之间施加线性阻尼振子。 Joint Spring&Damper:在两个刚体间的单自由度铰或单自由度转动铰建立一个线性阻尼振荡力或力矩。 4.2.4 接口模块组(Interface Elements) 双击模块弹出图示模块组
6、 分别提供移动副接口和转动副接口。4.2.5 运动铰模块组(Joints) 双击模块,弹出图示模块组。 此模块组中提供了各种运动铰,利用这些运动铰就可以将刚体构件连接起来。分别有Bearing(三个方向转动)、Bushing(三个方向移动,三个方向转动)、Custom Joint(自定义铰)、Cylindrical(柱面铰)、Gimbal(万向铰,旋转三个角度)、In-plane(平面内移动)、Planar(平面铰)、Prismatic(单自由运动铰)、Revolute(单自由转动铰)、Screw(螺旋铰)、Six-DoF(六自由度)、Spherical(球面铰,三个自由度)、Telescop
7、ing(一个方向移动一个方向转动)、Universal(万向铰,旋转两个角度)、Weld(刚节点)。 打开其中包含的两个子模块组Disassembled Joints和Massless Connectors。 1.双击Disassembled Joints,弹出如图模块组,其中模块是分解后的铰,不同于Joints中对应的铰,它们有不同的基准点。 2.双击Massless Connectors,弹出如图模块组,其中模块是Joint中对应的铰的组合。4.2.6 传感器与激励器模块组(Sensors&Actuators) 双击模块,弹出图示模块组。该模块组中的模块用来和普通的Simulink模块进行
8、数据交换。 Body Actuator:通过广义力或力矩来驱动刚体。 Body Sensor:刚体检测模块。 Constraint&Drivr Sensor:检测一对受约束刚体间的力或力矩。 Driver Actuator:对一对互相约束的刚体施加相对运动。 Joint Actuator:在铰链处施加力或力矩。 Joint Initial Condition:在仿真之前给铰施加初始位移和速度。 Joint Sensor:铰检测模块。 Joint Stiction Actuator:给铰施加初始位移和速度。 Variable Mass&Inertia Actuator:在一个坐标系中,刚体的质量
9、随时间变化。4.2.7 辅助工具模块组(Utilities) 双击模块弹出图示模块组 Connection Port:子系统物理建模连接端口。 Continuous Angle:将传感器输出的非连续、有界角度转换成无界连续的角输出。 Convert from Rotation Matrix to Virtual Reality Toolbox:将3*3的旋转矩阵转换成等价的VRML(虚拟现实语言)的旋转轴和角的形式。 Mechanical Branching Bar:将多个sensor/actuator映射为铰(Joint)、约束(Constraint)、驱动器(Driver)或刚体坐标的系统
10、的一个sensor/actuator端口。4.3 SimMechnics建模 1.建模基本步骤 不管模型有多么复杂都可以用同样的步骤建立模型。这些步骤有些类似建造一个Simulink模型。 (1)选择Groud、Body、和Joint模块:从Bodies和Joints模块组中拖放建立模型所必需的Body和Joint模块,还包括Machine Environment模块和至少一个Ground模块到Simulink窗口中。其中各个模块介绍如下: Machine Environment模块是用来设定机器的机械参数设置。 Ground模块表示将一个系统固结在一个惯性系统中。 Body模块就表示刚体构件
11、。 Joint模块表示互相连接构件之间的相对运动。 (2)定位于联接模块:将Joint和Body模块拖放到适当的位置,然后按正确的顺序将它们依次连接起来,可参考如下形式: Machine EnvironmentGroundJointBodyJointBody-Body 整个系统可以是一个开环的或者是闭环的拓扑结构,但至少有一个构件是Ground模块,而且有一个环境设置模块直接与其相连。 一个构件可能不止两个铰(Joint),即可以产生分支。但是一个较只能连接两个构件。 (3)配置Body模块:双击模块,打开参数对话框,配置质量属性(质量和惯性矩),然后确定Body模块和Ground模块与整体坐
12、标系或其他坐标系之间的关系。 (4)配置Joint模块:双击模块,打开参数对话框,设置移动或转动轴,或球面铰结点等。 (5)选择、连接和配置Constraint模块和Driver模块:从它们的模块库中添加模块到模型窗口中,打开并配置它们每一个对话框,为了限制或驱动Constraint/Driver所连接的两个构件的相对运动。 (6)选择、连接和配置Actuator和Sensor模块:从对应的模块库中添加所需模块至模型窗口,并依次连接。通过Actuator模块确定控制信号,通过Sensor模块测量运动。Actuator、Sensor模块实现SimMechanics模块与Simulink模块的连接
13、。利用这两个模块就能够达到与Simulink环境实现信号传递。 同时,Actuator模块从Simulink模块接受信号(如Sources模块库)来激励机构运动。Sensor模块的输出端口向Simulink中输出信号(Sinks模块库),反馈输出结果。 (7)装入子系统:在SimMechanics模块建造的系统完成后就可以装入子系统作为一个模块进行调用,就如同Simulink中的子系统一样使用。通过SimMechanics中的Utilities模块库中的Connection Port模块可将SimMechanics模型作为子系统与一个更大的模型连接起来。 2.配置、运行模型基本步骤 将模块都连
14、接好后,此时的模型还需要确定如何运行,确定各项设置及装载可视化。 (1)SimMechanics为运行机器模型提供了四种分析方式,最常用的是Forward Dynamics方式。 但是对于一个机器更加完整的分析就需要用到其他三种方式。可以对于一个模型创建多个版本,在同样的基本组合结构下,为每一个版本连接不同的Actuator模块和Sensors模块,以及不同的配置。 (2)使用SimMechanics强大的可视化和动画显示效果。在建造模型的同时,或者模型完成后,但必须是在开始仿真之前,可以利用可视化效果,来调试机器的几何形状。还可以在仿真的同时进行动画显示。 (3)在Machine Envir
15、onment对话框中设定分析方式以及其他的重要机械设置。在Simulink Configuration Parameters中设置可视化和调整仿真设置。4.4 机构动态仿真实例分析 本节将介绍一些简单机械系统(如单摆、平面四连杆机构)的建模及动态仿真。通过实例来熟悉建模、仿真的基本方法与步骤。 4.4.1 单摆模型仿真 4.4.2 平面四连杆机构模型仿真 单摆为一杆,质量均匀,长度为1m,直径2cm。初始条件为World坐标系X轴负方向的水平位置。其中单摆的一端固定在基本点(3,4,5),绕连接点以矢量(0 0 1)为轴转动。建立该模型的SimMechanics模型并进行仿真,得到单摆运动的角
16、位移和角速度规律和运动的XY相图。 单摆实物模型图如下:1.模型的建立 根据上述条件,建立的模型由一个机架模块、一个旋转铰模块、一个刚体模块、一个环境模块、一个铰传感器模块、一个示波器模块、一个混路器模块以及一个XY相图模块构成。从它们各自的库中添加至danbai.mbl的模型窗口中。(如下图所示) 对模块进行连线操作,类似于Simulink模块的连接操作,但SimMechanics模块之间的连线表示物理连接,而Simulink模块之间的连线表示信号传递,为信号线。 各个模块参数设置及说明如下: Ground模块: 如图输入参数,并复选Show Machine Environment选项。设置
17、完后的Ground相对于World CS的位置如图 Revolute模块: 在Number of Sensor/actuatorPorts对话框中选择1,为模块添加一个传感器或激励器接口。在Parameters-Axes对话框中输入0 0 1设置转动轴矢量为0 0 1,即Body与Ground模块间绕连接点坐标系的Z轴相对转动。 图中的Connection parameters区中的Current base:GNDGround表示当前连接的基件(原动件)为Ground模块的GND端口,Current follower:CS1Body表示连接的跟随件(从动件)为Body模块的CS1端口。 Rev
18、olute铰的模型: Body模块: 1)质量属性质量和惯性张量:Mass(质量):2049(单位为g)。Inertia:设置参数如图。2)刚体坐标系统定义坐标的位置和方向。3)配置Position选项卡,按顺序为:第一个CG只修改Origin position vectorX Y Z为2.5 4 5,其他设置默认。第二个CS1只修改Origin position vectorX Y Z为3 4 5,其他设置默认。第三个CS2直接删除即可。4)配置Orientation选项卡,默认坐标系都是平行于World坐标系。各选项保持默认值即可。如图: 附:对Body模块参数设置及操作的详细说明 质量属
19、性:包括质量和惯性张量。质量是正的实际标量。惯性张量是3*3的对称矩阵,并不一定是对角矩阵。 通过刚体重心的位置以及相对于坐标轴的方位可以知道刚体是怎样旋转的,模型中刚体的初始条件如果不加修改会一直保持到仿真开始。 随动坐标固定在刚体上并随着刚体一起运动,刚体最少有一个坐标,并且坐标的原点在重心。默认有三个坐标系,刚体重心坐标系(CG)和两个 附加坐标系CS1和CS2,分别固定在重心和刚体的两端。并可通过操作增加和删除坐标系。例如为每一个铰、约束、驱动以及激励器和传感器配置一个坐标系。 单摆刚体的属性:此实例中是一个简单的单摆,质量均匀,长度为1m,直径2cm。初始条件为X轴负方向的水平位置。
20、其中单摆的一端固定在基本点(3,4,5),坐标称之为CS1,刚体重心坐标原点所在的重心即为几何中心,且坐标与World坐标系平行。 单摆的密度为常数,在刚体重心坐标中惯性张量为对角矩阵控制了单摆关于Z轴的摆动,即在XY平面内的摆动。由单摆的长度,半径,单摆的质量和惯性张量可以计算出来,具体属性计算方法见下表: 对应的对角矩阵为: Body模块参数对话框中的Position/Orientation选项区右侧一排按钮的作用说明如下图:复制一个新坐标删除选中坐标上移坐标下移坐标 传感器模块: 模块设置如图,在原始输出值选项区内选中角位移(Angle)和角速度(Angle velocity),单位分别
21、为deg和deg/s,并取消下端Output selected parameters as one signal选项,这样输出两个值就会有对应的两条信号线。 机械环境模块: 打开机械环境模块参数对话框,保持默认值如图示: 以上已对SimMechanics模块设置完成。余下的混路器、示波器、XY图表模块设置同上一章的Simulink设置。 2.运行仿真及运动可视化 (1)运行仿真 完成上面的建模之后就可以进行仿真,仿真步骤同Simulink模型。可以通过示波器模块和XY相图模块观察单摆的运动。 1)打开XY相图模块参数设置对话框,设定参数如图。 2)打开示波器模块,开始仿真,XY相图模块会在仿真
22、开始后自动打开。 3)运行结果 左图为系统相图,右图为单摆的角位移和角速度时程曲线。 (2)运动可视化 SimMechanics支持自定义的MATLAB图像处理窗口进行可视化,这个工具以透视图的方式显示机器的运动。刚体可以通过两个方式显示,分别为等价的椭圆体或为刚体坐标中的封闭曲面。 利用两种显示方式其中的一种来解释如何可视化单摆模型,在仿真之前可以看到单摆初始状态在仿真过程中可以动画显示。 1)配置Configuration参数 a)在模型窗口中选择Simulation/Configuration Parameters菜单命令,打开Configuration参数对话框,选择其中的SimMec
23、hanics选项,如下 b)为了能够观察单摆初始静止状态,复选上图中的Display machine after updating diagram。 c)为了能够在仿真中动画显示,复选上图中的 Show animation during simulation。 d)单击OK,然后在模型窗口中单击Edit/Update Diagram菜单命令打开可视化窗口。打开的窗口如下:重心坐标重心坐标系CS1坐标(Ground坐标)CS1坐标系(Ground、铰坐标系) 2)利用MATLAB图像进行可视化 基于MATLAB图形可视化工具已经嵌入到SimMechanics,可以很方便的调用。在模型窗口单击按钮
24、 则可视化窗口显示的动画在仿真过程中与Simulink仿真保持同步。结果如下图示: 单击动画窗口的 按钮则刚体为椭圆体描述,如下图: 附壳体显示和椭圆体显示的动画 壳体: keti.avi 椭圆体: tuoyuanti.avi 四连杆实物模型: 4.4.2 4.4.2 平面四连杆机构模型仿真平面四连杆机构模型仿真 1. 由模型建立SimMechanics模型如下: 2.参数设置: 各模块的参数设置方法同上例,参数设置如下: Ground1模块: Revolute1模块: Bar1模块: Revolute2模块: Bar2模块: Revolute3模块: Bar3模块: Revolute4模块:
25、 Ground2模块: Env模块: Joint sensor模块: Joint sensor1模块: Scope模块: 双击打开模块,单击 按钮,弹出设置框,在General区内Numbleof axes设置框内输入2,单击OK后示波器模块将变成如下图的双波形图。 3.仿真 仿真方法如上例,下图为仿真结束后示波器模块显示的铰2和铰3的角位移图像。 单击示波器模块菜单条的 按钮,则各个波形窗口显示完整波 形。如图 同上例设置Configuration Parameters相应选项后可在仿真过程中同步动画,动画截图如下 椭圆体显示图如图 壳体动画:keti-liangan.avi 椭圆体动画:tuoyuanti-liagan.avi