系统仿真-第9讲-系统建模.ppt

上传人:小飞机 文档编号:6597630 上传时间:2023-11-16 格式:PPT 页数:51 大小:2.72MB
返回 下载 相关 举报
系统仿真-第9讲-系统建模.ppt_第1页
第1页 / 共51页
系统仿真-第9讲-系统建模.ppt_第2页
第2页 / 共51页
系统仿真-第9讲-系统建模.ppt_第3页
第3页 / 共51页
系统仿真-第9讲-系统建模.ppt_第4页
第4页 / 共51页
系统仿真-第9讲-系统建模.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《系统仿真-第9讲-系统建模.ppt》由会员分享,可在线阅读,更多相关《系统仿真-第9讲-系统建模.ppt(51页珍藏版)》请在三一办公上搜索。

1、1,机械工程学院2011级硕士研究生,系统仿真课程 System Simulation,计时鸣2011年12月,2,第九讲Simscape语言,3,9.1 Simscape简介,Simscape是mathworks公司在MATLAB和Simulink基础上针对多域物理系统仿真推出的可视化仿真工具,使用者可以在集成了多领域物理仿真工具的单一环境下进行设计和仿真工作。Simscape建模比使用抽象的数学模型建模更为直观和方便,并按照能量传递的原则构成物理元件之间的连接,因此称Simscape是物理系统建模与仿真工具。,4,Simscape使用跨越型变量和通过型变量表达物理模型的外部特性。跨越型变量

2、以并联的形式表征元件两连接端之间的物理量(例如电压),通过型变量则以串联的形式表征元件两连接端之间的物理量(例如电流)。,5,9.2 SimMechanics仿真程序举例,作为一个实例,在Matlab运行窗口中,运行mech_conveyor命令,可以在Simulink设计窗口中打开mech_conveyor.mdl仿真程序,点击工具栏中的三角形符号按钮可以运行该程序。,6,刚体模块,转动关节模块,机器环境模块,静止点 模块,角度驱动模块,角度传感器模块,电气控制,7,8,转动关节,平移关节,9,刚体模块,静止点模块,10,角度或位移传感器,11,4,1,2,3,Pusher,12,9.3 S

3、imElectronics仿真程序举例,作为一个实例,在Matlab的Demos窗口中,运行Controlled DC Motor例子,可以在Simulink设计窗口中打开elec_controlled_dcmotor.mdl 仿真程序,点击工具栏中的三角形符号按钮可以运行该程序。,13,14,elec_controlled_dcmotor,15,第九讲基于SimMechanics的机械系统建模与仿真,16,9.1 SimMechanics简介,SimMechanics是以牛顿力学为基础的机械建模和工程设计的动态系统仿真工具,使用Simulink交互式框图设计界面,具有交互仿真能力。SimMe

4、chanics提供了大量真实物理元件模型来表述被仿真的系统,例如刚体、关节、驱动器和传感器等,为多体动力机械系统及其控制系统提供了直观有效的建模分析手段。应用SimMechanics建立的模型可以与传统的Simulink模型相融合。,17,9.1.1 SimMechanics的特点,1)提供三维刚体机械系统的建模环境,具有多种连接和约束形式,提供多种本地坐标系统,可以通过SolidWorks转换器定义机械模型,可进行系统的运动学以及正向、逆向动力学分析。2)允许机械模块与其它类型模块结合使用,可在Simulink中建立高精度、非线性模型以支持控制系统的开发和测试,提供平衡点和线性化工具以支持控

5、制系统设计。3)使用Virtual Reality Toolbox或Matlab图形(Handle Graphics)支持机械系统可视化及动画显示。,18,9.1.2 SimMechanics的功能,1在Simulink环境中进行动力学和运动学分析 SimMechanics使用Simulink交互式框图设计界面建立机械多体动力学系统模型,可方便地修改系统的物理参数,包括位置、方位角和运动参数等,使用变步长积分法获得较高的仿真计算精度。SimMechanics提供了如下动力学仿真与分析算法:,19,1)正向动力学分析算法,用于求解机械系统在给定激励下的响应;2)逆向动力学分析算法,用于求解机械系

6、统在给定运动结果时所需的力和力矩;3)运动学分析算法,用于在给定约束条件下求解系统的位移、速度和加速度,并做一致性检查;4)线性化分析算法,用于可解系统在指定小扰动或初始状态下的线性化模型,分析系统的响应特性;5)平衡点分析算法,用于确定系统稳态平衡点,以供系统分析和线性化使用。,20,2提供典型机械系统模型1)具有质量的刚体单元;2)平移和旋转关节单元;3)向机械系统提供力和力矩作用的驱动器单元,可接受Simulink模型的信号;4)测量机械系统运动物理量的传感器单元,可向Simulink模型输出信号;5)航空器件空气动力学模块,例如副翼和方向舵;6)车辆主动悬架系统,例如防侧翻机械装置和控

7、制器;7)可用于飞行器和地面车辆的轮胎。,21,3机械系统动画显示SimMechanics可使用Virtual Reality工具箱或是Matlab图形功能生成系统三维动画,Matlab图形方式提供基本的动画显示,Virtual Reality工具箱则可提供更加高级、真实的动画,两者都可以用于显示机械系统的数值分析结果。,22,4定义刚体、关节、约束和坐标系统SimMechanics支持任意数量的刚体建模,刚体需进行质量和坐标系定义,并通过关节与其它刚体相连,可在运动刚体上添加相应的运动约束。约束通过Simulink信号来限定刚体运动,并可以时间函数的形式驱动刚体运动。SimMechanics

8、提供了多种方式定义坐标系统、约束和驱动条件。包括:1)在刚体上连接多个本地坐标,用于施加作用条件和测量物理量;2)通过添加用户订制的模块来扩展关节库;3)在SimMechanics模块中使用Matlab表达式和Simulink工具。,23,5驱动器和传感器 Simulink和SimMechanics模块之间的联系是通过驱动器和传感器模块建立的,驱动器使用Simulink信号来指定刚体或关节上的力和运动。包括:1)指定刚体或关节的运动参数,如按某种时间函数变化的位移、速度或加速度;2)指定并施加在刚体或关节上的力和力矩;3)计算系统的初始状态(位移和速度),用于动力学仿真;传感器用来检测刚体和关

9、节的运动参数,并以Simulink信号的形式输出,可在Simulink示波器模块中显示系统的位移、速度和加速度,监视系统中的作用力。,24,6代码生成 使用Real-Time Workshop工具可以对SimMechanics模型进行自动代码生成,利用生成的代码可实现以下功能:1)建立与SimMechanics模型相对应的可执行文件,这些可执行文件可以集成到C程序和其它Matlab程序中使用;2)可将SimMechanics模型代码下载到实时的处理器中进行硬件在路仿真;3)对C代码进行编译,以提高模型的运算速度。,25,7利用SolidWorks将CAD组件导入SimMechanicsSimM

10、echanics具有可将SolidWorks中的CAD组件自动转换为SimMechanics模型的转换器。只要将SolidWorks中的CAD组件另存为SimMechanics中的XML文件,即可完成模型的转换。,26,9.2 SimMechanics的主要操作方法,9.2.1 SimMechanics的启动,打开Simulink交互式框图设计窗口,1)单击Matlab软件左下角的Start按钮;2)单击弹出菜单Simulink子目录SimMechanicsblock library按钮;3)单击模块库窗口弹出菜单FileNewModel按钮,打开Simulink交互式框图设计窗口。,27,9

11、.2.2 打开SimMechanics模型文件,打开已存在的SimMechanics模型文件的主要方法为:1)在MATLAB命令窗口中直接键入模型文件名(不需要加扩展名.mdl);2)在MATLAB的菜单中选择FileOpen打开Open窗口,选择文件类型为扩展名.mdl,选择对应文件打开。,28,9.2.3 保存SimMechanics模型,保存SimMechanics模型文件的主要方法为:1)在Simulink设计窗口菜单中选择FileSave as,在Save as窗口选择文件类型*.mdl,填入适当的文件名称,按保存按钮即可;2)不更改已存在的SimMechanics模型文件名称而保存

12、修改结果,则在Simulink设计窗口菜单选择FileSave即可保存已做的改动进入原文件。,29,9.2.4 SimMechanics模型设计的主要操作方法,1.移动模块按住鼠标左键将其拖曳,到所需的位置松开鼠标左键即可。2.复制模块鼠标左键选中需要复制的模块,同时按住Ctrl键,拖曳到另外一个位置松开鼠标。3.删除模块鼠标左键点击需要删除的模块,然后按Delete键即可。另外,还可以用鼠标选中窗口中的一个区域,按Delete键即可删除该区域中所有模块和连线。,30,9.2.4 SimMechanics模型设计的主要操作方法,4.模块转向鼠标点击选中需要旋转的模块,然后在Simulink设计

13、窗口菜单中选择FormatFlip Block,使模块产生180度旋转;若在Simulink设计窗口菜单中选择FormatRotate Block,则使模块产生顺时针90度旋转。5.模块改变大小用鼠标点击选中需要改变大小的模块,然后用鼠标拖曳模块四角上的方形黑色标,即可改变模块的大小。,31,9.2.4 SimMechanics模型设计的主要操作方法,6.改变模块命名鼠标点击模块的下方的名称,然后删除原名称,即可重新键入新名称。在Simulink设计窗口菜单中选择FormatHide Name,则可隐藏模块名称。7.改变模块颜色鼠标点击选中需要改变颜色的模块后,在Simulink设计窗口菜单中

14、选择FormatForeground Color,变换前景颜色;选择FormatBackground Color,变换背景颜色。,32,9.2.4 SimMechanics模型设计的主要操作方法,8.模块参数设定双击模块可以打开模块的参数和属性设置对话框,从而对模块的参数或属性进行设置。,33,9.2.4 SimMechanics模型设计的主要操作方法,9.用连线连接模块将鼠标移动到某模块的输出端,鼠标符号变成十字型,点住鼠标左键,移动鼠标到另一模块的输入端,当鼠标十字出现“重影”时,释放鼠标。引出分支线的方法是:在一条连接好的连线上用鼠标右键点住需要分离出分支线的位置,拖曳鼠标引出红色虚线引

15、出线,然后按上述步骤完成分支线的连接。,34,9.2.4 SimMechanics模型设计的主要操作方法,10.设定连线标签双击连接线,就可以弹出标签输入框,在输入框中键入连接线的标签字符即可。11.连线的折弯按住Shift键,用鼠标在要折弯处的连接线上点击一下,线段上会出现黑色标记,用鼠标左键点住标记之间的线段拖曳,即可改变连接线的形状。,35,9.2.4 SimMechanics模型设计的主要操作方法,12.批处理方法用鼠标左键在Simulink设计窗口中的空白处点住,然后拖曳可以划出一个虚线框,就可以选中虚线框中的所有模块,然后用鼠标右键点击所选中的模块,弹出属性参数设置按钮,点击For

16、met或点击Background color,可以完成一系列的修改操作,这些操所对所选中的所有模块均有效。,36,9.2.5 SimMechanics仿真程序的运行,运行SimMechanics仿真程序,需要在一个Simulink设计窗口中打开该程序。在运行SimMechanics仿真程序前,需要设定仿真参数,方法是在已打开的Simulink设计窗口中选择Simulation菜单,在其下拉菜单中点击Configuration Parameters,即可打开Solver(仿真解算器)对话框,可以在该对话框设定仿真开始和结束时间、解算器类型、解算器参数等。对于初学者,对于解算器类型、解算器参数等可

17、以选择默认值。通过点击Simulation菜单中的Start按钮或工具栏中的三角形符号按钮,即可开始程序的运行。,37,9.2.5 SimMechanics仿真程序的运行,作为一个实例,在Matlab运行窗口中,运行mech_conveyor命令,可以在Simulink设计窗口中打开mech_conveyor.mdl仿真程序,点击工具栏中的三角形符号按钮可以运行该程序。,38,刚体模块,转动关节模块,机器环境模块,静止点 模块,角度驱动模块,角度传感器模块,电气控制,39,9.2.6 SimMechanics建模的基本步骤,一个机械系统一般应包括:,1)至少一个静止点模块(即机座),表示将一个

18、系统固结在一个惯性系统中。2)一个机器环境模块,用来设定机器的机械参数。3)若干刚体模块。4)若干关节模块。5)若干驱动模块。6)若干传感器模块。,Machine EnvironmentGroundJointBodyJointBody-Body,模块连接顺序:,40,1.机器环境模块(Machine Environment)一个模型中可包括一个或更多的装置。机器环境模块则用于定义各装置所使用的仿真环境,包括重力加速度矢量(gravity vector)、维数(machine dimensionality)、分析模型(analysis mode)、解算约束条件(constraint solver

19、 type)、精度容差(tolerances)、线性化(linearization)、可视化(visualization)。重力加速度矢量的缺省值是0-9.81 0,单位是m/s2,表示重力加速度的方向与世界坐标系中的y轴正方向相反,大小是9.81 m/s2。维数可根据所建仿真模型的需要,选择2维或3维。分析模型(analysis mode)、解算约束条件(constraint solver type)、精度容差(tolerances)、线性化(linearization)、可视化(visualization)等的设定,对于初学者来说,只要认可缺省值即可。,41,2.静止点模块(Ground)

20、静止点模块又称接地点模块或机座,用于定义世界坐标系中的一个静止坐标点,以便将关节的一端固定于世界坐标系的一个静止位置。一个装置或一个子装置,至少需要连接一个静止点模块。每个装置中必须有一个静止点模块与机器环境模块连接,静止点模块中与机器环境模块连接的端口,需要通过对静止点模块的参数对话框(双击静止点模块符号即可显示)中show machine environment port进行设置,才能显示出来。,42,3.刚体模块(Body)刚体模块描述一个用户定义的刚体,该刚体有两个连接端,其中一个为主动端,另一端为从动端。通过刚体模块的参数对话框,可以定义刚体的属性,包括质量(Mass)、转动惯性矩(

21、Inertia)、重心(CG)的坐标、原点坐标、刚体初始位置和方位角等。,43,4.关节模块1)装配型关节(Assembled Joints)2)非装配型关节(Disassembled Joints)3)无质量连接器(Massless Connectors),关节模块用于连接两个刚体模块,并表述刚体运动的自由度(即刚体可能运动的方向)。对关节作一个理想约定,即关节本身没有质量或惯量,被关节连接的两个刚体模块所受的力或转矩大小相等,方向相反。关节必须与两个刚体且仅能与两个刚体连接。,44,1)装配型关节(Assembled Joints)装配型关节包括棱柱移动关节(Prismatic)、转动关节

22、(Revolute)、球关节(Spherical)、平面关节(Planar)、通用(Universal)、圆柱移动关节(Cylindrical)、万向节(Gimbal)、用户定义关节(Custom Joint)、焊缝(Weld)、压缩(Telescoping)、In-Plane、轴衬(Bushing)、轴承(Bearing)、六自由度(Six-Dof)、螺旋(Screw)等模块。,45,2)非装配型关节(Disassembled Joints)非装配型圆柱型平移转动关节(Disassembled Cylindrical)、非装配型平移关节(Disassembled Prismatic)、非装配

23、型转动关节(Disassembled Revolute)、非装配型三转动自由度球关节(Disassembled Spherical)等。非装配型关节不对两端连接的刚体的坐标系和旋转轴产生固定约束,仅用于构成一个机械环路,它不能连接传感器和执行器。非装配型关节在仿真之前不被装配在一起。,46,3)无质量连接器(Massless Connectors)包含旋转-旋转(Revolute-Revolute)、旋转-球(Revolute Spherical)和球-球(Spherical-Spherical)连接器。无质量连接器用于将两个关节组合成复合型关节,定义两个关节之间的距离。,47,实例1-gears.mdl,48,实例2-fourbar.mdl,49,实例3-disamm.mdl,50,实例4-masslessfourbar.mdl,51,END,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号