您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > matlab机械机构仿真
4.SimMechanics建模及机构系统仿真4.1SimMechanics简介4.2SimMechanics模块4.3SimMechanics建模4.4机构动态仿真实例分析4.1SimMechanics简介SimMechanics是Matlab仿真中的一个工具箱,同时结合Simulink、Matlab的功能。利用SimMechanics模块框图对机构运动进行建模和动态仿真。通过一系列关联模块来表示机构系统,在仿真时通过SimMechanics可视化工具将机构系统简化为机构结构的直观显示。4.2SimMechanics模块SimMechanics模块组提供了建模的必要模块,可以直接在Simulink中使用。SimMechanics支持用户自定义的构件模块,可以设定质量和转动惯量。通过节点联接各个构件来表示可能的相对运动,还可以在适当的地方添加运动约束、驱动力。•模块组包含刚体子模块组(Bodies)、约束与驱动模块组(Constraints&Drivers)、力单元模块组(ForceElements)、接口单元模块组(InterfaceElements)、运动铰模块组(Joints)及传感器和激励器模块组(Sensors&Actuators)和辅助工具模块组(Utilities)。4.2.1刚体子模块组(Bodies)4.2.2约束与驱动模块组(Constraints&Drivers)4.2.3力单元模块组(ForceElements)4.2.4接口模块组(InterfaceElements)4.2.5运动铰模块组(Joints)4.2.6传感器与激励器模块组(Sensors&Actuators)4.2.7辅助工具模块组(Utilities)4.2.1刚体子模块组(Bodies)•双击此模块,弹出模块组,此模块组包括四个模块:刚体(Body)、机架(Ground)机械环境(MachineEnviroment)和共享机械环境(SharedEnviroment)。•机械环境是为仿真定义环境变量。包含有重力、维数、分析模式、约束求解器、误差、线性化和可视化。共享环境联接两个刚体模块使他们享有相同的机械环境。机架只有一个连接端,另外一个固定。刚体有两个连接端,其中一个为主动端,另一端为从动端。使用刚体时可以定义质量、惯性矩、坐标原点、刚体的初始位置和角度。•双击该模块组,弹出如图所示。4.2.2约束与驱动模块组(Constraints&Drivers)•AngleDriver:设定两个刚体坐标间的角度。•DistanceDriver:设定两个坐标原点的距离。•GearConstraint:齿轮约束。•LinearDriver:确定两个刚体坐标间的向量差。•ParallelConstrant:平行约束。•Point-Constraint:曲线约束。•VelocityDriver:确定两个刚体坐标间的相对线速度和角速度。4.2.3力单元模块组(ForceElements)•BodySpring&Damper:在两个刚体之间施加线性阻尼振子。•JointSpring&Damper:在两个刚体间的单自由度铰或单自由度转动铰建立一个线性阻尼振荡力或力矩。4.2.4接口模块组(InterfaceElements)•双击模块弹出图示模块组分别提供移动副接口和转动副接口。4.2.5运动铰模块组(Joints)•双击模块,弹出图示模块组。•此模块组中提供了各种运动铰,利用这些运动铰就可以将刚体构件连接起来。分别有Bearing(三个方向转动)、Bushing(三个方向移动,三个方向转动)、CustomJoint(自定义铰)、Cylindrical(柱面铰)、Gimbal(万向铰,旋转三个角度)、In-plane(平面内移动)、Planar(平面铰)、Prismatic(单自由运动铰)、Revolute(单自由转动铰)、Screw(螺旋铰)、Six-DoF(六自由度)、Spherical(球面铰,三个自由度)、Telescoping(一个方向移动一个方向转动)、Universal(万向铰,旋转两个角度)、Weld(刚节点)。•打开其中包含的两个子模块组DisassembledJoints和MasslessConnectors。•1.双击DisassembledJoints,弹出如图模块组,其中模块是分解后的铰,不同于Joints中对应的铰,它们有不同的基准点。•2.双击MasslessConnectors,弹出如图模块组,其中模块是Joint中对应的铰的组合。4.2.6传感器与激励器模块组(Sensors&Actuators)•双击模块,弹出图示模块组。该模块组中的模块用来和普通的Simulink模块进行数据交换。•BodyActuator:通过广义力或力矩来驱动刚体。•BodySensor:刚体检测模块。•Constraint&DrivrSensor:检测一对受约束刚体间的力或力矩。•DriverActuator:对一对互相约束的刚体施加相对运动。•JointActuator:在铰链处施加力或力矩。•JointInitialCondition:在仿真之前给铰施加初始位移和速度。•JointSensor:铰检测模块。•JointStictionActuator:给铰施加初始位移和速度。•VariableMass&InertiaActuator:在一个坐标系中,刚体的质量随时间变化。4.2.7辅助工具模块组(Utilities)•双击模块弹出图示模块组•ConnectionPort:子系统物理建模连接端口。•ContinuousAngle:将传感器输出的非连续、有界角度转换成无界连续的角输出。•ConvertfromRotationMatrixtoVirtualRealityToolbox:将3*3的旋转矩阵转换成等价的VRML(虚拟现实语言)的旋转轴和角的形式。•MechanicalBranchingBar:将多个sensor/actuator映射为铰(Joint)、约束(Constraint)、驱动器(Driver)或刚体坐标的系统的一个sensor/actuator端口。4.3SimMechnics建模1.建模基本步骤不管模型有多么复杂都可以用同样的步骤建立模型。这些步骤有些类似建造一个Simulink模型。(1)选择Groud、Body、和Joint模块:从Bodies和Joints模块组中拖放建立模型所必需的Body和Joint模块,还包括MachineEnvironment模块和至少一个Ground模块到Simulink窗口中。其中各个模块介绍如下:•MachineEnvironment模块是用来设定机器的机械参数设置。•Ground模块表示将一个系统固结在一个惯性系统中。•Body模块就表示刚体构件。•Joint模块表示互相连接构件之间的相对运动。(2)定位于联接模块:将Joint和Body模块拖放到适当的位置,然后按正确的顺序将它们依次连接起来,可参考如下形式:MachineEnvironment—Ground—Joint—Body—Joint—Body--……--Body整个系统可以是一个开环的或者是闭环的拓扑结构,但至少有一个构件是Ground模块,而且有一个环境设置模块直接与其相连。一个构件可能不止两个铰(Joint),即可以产生分支。但是一个较只能连接两个构件。(3)配置Body模块:双击模块,打开参数对话框,配置质量属性(质量和惯性矩),然后确定Body模块和Ground模块与整体坐标系或其他坐标系之间的关系。(4)配置Joint模块:双击模块,打开参数对话框,设置移动或转动轴,或球面铰结点等。(5)选择、连接和配置Constraint模块和Driver模块:从它们的模块库中添加模块到模型窗口中,打开并配置它们每一个对话框,为了限制或驱动Constraint/Driver所连接的两个构件的相对运动。(6)选择、连接和配置Actuator和Sensor模块:从对应的模块库中添加所需模块至模型窗口,并依次连接。通过Actuator模块确定控制信号,通过Sensor模块测量运动。Actuator、Sensor模块实现SimMechanics模块与Simulink模块的连接。利用这两个模块就能够达到与Simulink环境实现信号传递。同时,Actuator模块从Simulink模块接受信号(如Sources模块库)来激励机构运动。Sensor模块的输出端口向Simulink中输出信号(Sinks模块库),反馈输出结果。(7)装入子系统:在SimMechanics模块建造的系统完成后就可以装入子系统作为一个模块进行调用,就如同Simulink中的子系统一样使用。通过SimMechanics中的Utilities模块库中的ConnectionPort模块可将SimMechanics模型作为子系统与一个更大的模型连接起来。2.配置、运行模型基本步骤将模块都连接好后,此时的模型还需要确定如何运行,确定各项设置及装载可视化。(1)SimMechanics为运行机器模型提供了四种分析方式,最常用的是ForwardDynamics方式。但是对于一个机器更加完整的分析就需要用到其他三种方式。可以对于一个模型创建多个版本,在同样的基本组合结构下,为每一个版本连接不同的Actuator模块和Sensors模块,以及不同的配置。(2)使用SimMechanics强大的可视化和动画显示效果。在建造模型的同时,或者模型完成后,但必须是在开始仿真之前,可以利用可视化效果,来调试机器的几何形状。还可以在仿真的同时进行动画显示。(3)在MachineEnvironment对话框中设定分析方式以及其他的重要机械设置。在SimulinkConfigurationParameters中设置可视化和调整仿真设置。4.4机构动态仿真实例分析本节将介绍一些简单机械系统(如单摆、平面四连杆机构)的建模及动态仿真。通过实例来熟悉建模、仿真的基本方法与步骤。4.4.1单摆模型仿真4.4.2平面四连杆机构模型仿真单摆为一杆,质量均匀,长度为1m,直径2cm。初始条件为World坐标系X轴负方向的水平位置。其中单摆的一端固定在基本点(3,4,5),绕连接点以矢量(001)为轴转动。建立该模型的SimMechanics模型并进行仿真,得到单摆运动的角位移和角速度规律和运动的XY相图。4.4.1单摆模型仿真•单摆实物模型图如下:1.模型的建立根据上述条件,建立的模型由一个机架模块、一个旋转铰模块、一个刚体模块、一个环境模块、一个铰传感器模块、一个示波器模块、一个混路器模块以及一个XY相图模块构成。从它们各自的库中添加至danbai.mbl的模型窗口中。(如下图所示)•对模块进行连线操作,类似于Simulink模块的连接操作,但SimMechanics模块之间的连线表示物理连接,而Simulink模块之间的连线表示信号传递,为信号线。•各个模块参数设置及说明如下:•Ground模块:如图输入参数,并复选ShowMachineEnvironment选项。设置完后的Ground相对于WorldCS的位置如图•Revolute模块:在NumberofSensor/actuatorPorts对话框中选择1,为模块添加一个传感器或激励器接口。在Parameters-Axes对话框中输入[001]设置转动轴矢量为[001],即Body与Ground模块间绕连接点坐标系的Z轴相对转动。图中的Connectionparameters区中的Currentbase:GND@Ground表示当前连接的基件(原动件)为Ground模块的GND端口,Currentfollower:CS1@Body表示连接的跟随件(从动件)为Body模块的CS1端口。Revolute铰的模型:•Body模块:1)质量属性——质量和惯性张量:Mass(质量):2049(单位为g)。Inertia:设置参数如图。2)刚体坐标系
本文标题:matlab机械机构仿真
链接地址:https://www.777doc.com/doc-4369326 .html