MATLAB-SimMechanics机构动态仿真.ppt

上传人:max****ui 文档编号:7218333 上传时间:2020-03-16 格式:PPT 页数:77 大小:2.53MB
返回 下载 相关 举报
MATLAB-SimMechanics机构动态仿真.ppt_第1页
第1页 / 共77页
MATLAB-SimMechanics机构动态仿真.ppt_第2页
第2页 / 共77页
MATLAB-SimMechanics机构动态仿真.ppt_第3页
第3页 / 共77页
点击查看更多>>
资源描述
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 刚体坐标系统 定义坐标的位置和方向 3 配置Position选项卡 按顺序为 第一个CG只修改Originpositionvector XYZ 为 2 545 其他设置默认 第二个CS1只修改Originpositionvector XYZ 为 345 其他设置默认 第三个CS2直接删除即可 4 配置Orientation选项卡 默认坐标系都是平行于World坐标系 各选项保持默认值即可 如图 附 对Body模块参数设置及操作的详细说明质量属性 包括质量和惯性张量 质量是正的实际标量 惯性张量是3 3的对称矩阵 并不一定是对角矩阵 通过刚体重心的位置以及相对于坐标轴的方位可以知道刚体是怎样旋转的 模型中刚体的初始条件如果不加修改会一直保持到仿真开始 随动坐标固定在刚体上并随着刚体一起运动 刚体最少有一个坐标 并且坐标的原点在重心 默认有三个坐标系 刚体重心坐标系 CG 和两个 附加坐标系CS1和CS2 分别固定在重心和刚体的两端 并可通过操作增加和删除坐标系 例如为每一个铰 约束 驱动以及激励器和传感器配置一个坐标系 单摆刚体的属性 此实例中是一个简单的单摆 质量均匀 长度为1m 直径2cm 初始条件为X轴负方向的水平位置 其中单摆的一端固定在基本点 3 4 5 坐标称之为CS1 刚体重心坐标原点所在的重心即为几何中心 且坐标与World坐标系平行 单摆的密度为常数 在刚体重心坐标中惯性张量为对角矩阵控制了单摆关于Z轴的摆动 即在X Y平面内的摆动 由单摆的长度 半径 单摆的质量和惯性张量可以计算出来 具体属性计算方法见下表 对应的对角矩阵为 细长杆 忽略半径 Body模块参数对话框中的Position Orientation选项区右侧一排按钮的作用说明如下图 复制一个新坐标 删除选中坐标 上移坐标 下移坐标 传感器模块 模块设置如图 在原始输出值选项区内选中角位移 Angle 和角速度 Anglevelocity 单位分别为deg和deg s 并取消下端Outputselectedparametersasonesignal选项 这样输出两个值就会有对应的两条信号线 机械环境模块 打开机械环境模块参数对话框 保持默认值如图示 以上已对SimMechanics模块设置完成 余下的混路器 示波器 XY图表模块设置同上一章的Simulink设置 2 运行仿真及运动可视化 1 运行仿真完成上面的建模之后就可以进行仿真 仿真步骤同Simulink模型 可以通过示波器模块和XY相图模块观察单摆的运动 1 打开XY相图模块参数设置对话框 设定参数如图 2 打开示波器模块 开始仿真 XY相图模块会在仿真开始后自动打开 3 运行结果左图为系统相图 右图为单摆的角位移和角速度时程曲线 2 运动可视化SimMechanics支持自定义的MATLAB图像处理窗口进行可视化 这个工具以透视图的方式显示机器的运动 刚体可以通过两个方式显示 分别为等价的椭圆体或为刚体坐标中的封闭曲面 利用两种显示方式其中的一种来解释如何可视化单摆模型 在仿真之前可以看到单摆初始状态在仿真过程中可以动画显示 1 配置Configuration参数a 在模型窗口中选择Simulation ConfigurationParameters菜单命令 打开Configuration参数对话框 选择其中的SimMechanics选项 如下 b 为了能够观察单摆初始静止状态 复选上图中的Displaymachineafterupdatingdiagram c 为了能够在仿真中动画显示 复选上图中的Showanimationduringsimulation d 单击OK 然后在模型窗口中单击Edit UpdateDiagram菜单命令打开可视化窗口 打开的窗口如下 重心坐标 重心坐标系 CS1坐标 Ground坐标 CS1坐标系 Ground 铰坐标系 2 利用MATLAB图像进行可视化基于MATLAB图形可视化工具已经嵌入到SimMechanics 可以很方便的调用 在模型窗口单击按钮则可视化窗口显示的动画在仿真过程中与Simulink仿真保持同步 结果如下图示 单击动画窗口的按钮则刚体为椭圆体描述 如下图 附壳体显示和椭圆体显示的动画壳体 keti avi椭圆体 tuoyuanti avi 四连杆实物模型 4 4 2平面四连杆机构模型仿真 1 由模型建立SimMechanics模型如下 2 参数设置 各模块的参数设置方法同上例 参数设置如下 Ground1模块 Revolute1模块 Bar1模块 Revolute2模块 Bar2模块 Revolute3模块 Bar3模块 Revolute4模块 Ground2模块 Env模块 Jointsensor模块 Jointsensor1模块 Scope模块 双击打开模块 单击按钮 弹出设置框 在General区内Numbleofaxes设置框内输入2 单击OK后示波器模块将变成如下图的双波形图 3 仿真仿真方法如上例 下图为仿真结束后示波器模块显示的铰2和铰3的角位移图像 单击示波器模块菜单条的按钮 则各个波形窗口显示完整波形 如图 同上例设置ConfigurationParameters相应选项后可在仿真过程中同步动画 动画截图如下 椭圆体显示图如图 壳体动画 keti liangan avi椭圆体动画 tuoyuanti liagan avi
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!