为了更好地实现实验目的,提高实验效率,作者以机构运动方案设计实验的要求、实验原理、方法为蓝本,用计算机虚拟实验技术,模拟仿真该实验的全过程,设计了一个机构运动方案设计虚拟实验系统.应用该系统,学生在实验前在计算机上对自己所设计方案的可行性、正确性进行可视化验证,然后再进行实际的拼接,提高了实验效率.
1 虚拟实验系统的功能
1)必须具备齐全的模型、而且尽量接近实物,这样才能对实验进行真实的模拟.
2)灵活性强,零件的参数能根据需要随时进行调整,实现尺寸驱动功能,即改变其中一个零件的参数后,只需要重建模型,其它零件的相应点的位置会跟着发生改变,零件之间依然保持相应的联结关系,而不需重新进行装配.
3)对于机构运动的模拟仿真功能.
4)具有运动特性分析和动力特性分析的功能.
5)具有实验指导功能.系统的结构流程图如图1所示.
2系统开发方法
虚拟实验系统选用的平台是三维设计软件系统SolidWorks。SolidWorks它是基于Windows的全参数化特征造型软件,可十分方便地实现复杂的三维零件实体造型、复杂装配和生成工程图,以参数化和特征建模的技术为核心,为设计人员提供了良好的设计环境,还可以方便地对SolidWorks进行二次开发.用户二次开发的应用程序,可直接挂在SolidWorks的菜单下,形成统一的界面.一般而言,开发人员首先需要在SolidWorks的界面上添加自己的菜单项,以此作为激活用户程序的接口,完成与用户的数据交换。
SolidWorks的API(Application Programming Interface应用编程接口)提供了两种接口方式:有OLE Automation的Idispatch和作为Windows基础的COM(Component Object model).Idispatch的方法可用于VB、VBA或VC的开发环境,常作为快速开发的手段.本文开发的实验系统所使用的程序就是采用的Idispatch接口方法,用VC++6.0编写的.在程序编好后,编译即可形成DLL文件.不同的操作系统需要用不同的设置:Windows95/98采用"MBCS";WindowsNT/2000采用"Unicode";生成需要的3dll文件后,就可以使用SolidWorks的"文件/打开"菜单,在过滤器中选择"AddIns(3.dll)",加载自己的DLL.若该DLL在注册表中注册成功,还可使用"工具/插件"菜单进行一次性加载,以后启动SolidWorks,就可自动加载该DLL,无须再进行加载操作,十分方便.
3系统功能的实现
3.1实验装配零件库的建立
为了满足模型齐全的要求,笔者选用SolidWorks2001进行零件的三维造型,并把所有实验室内要用到的零件做成了一个零件库.通过对SolidWorks进行设置,可以使自己创建的零件库像工具条一样陈列在SolidWorks主窗口中.具体方法是:通过选择SolidWorks主菜单中的工具选项选择文件位置,将文件夹显示为调色板零件,再选"添加",选中自己的零件库文件夹的存放位置.要使用这个零件库,只需要打开它就可以了.方法是,启动SolidWorks后,在工具下选择FeaturePalette,随后便有一个小窗口被打开,选中用户添加的文件夹,就会有一个新的窗口打开,创建的零件库内所有零件都以图标的形式陈列在窗口内,就好象在真实实验里看到的摆放在实验室里的零件一样.但使用起来比在真实实验室里方便多了,你只需要移动滑动条,就可以找到所需要的零件.
3.2机构运动设计方案的确定
在拟订方案之前,首先可以从过去成功的设计案例中进行检索,看是否有与设计要求类似的设计案例.如果有,则以这个案例为模板,并对其作适当的修改,以满足当前的设计要求.这样做即可以保证设计要求,还可提高设计效率.如果没有类似的设计案例,则利用所掌握的专业知识和经验进行新的设计.机构运动方案的设计具体由以下几个步骤组成:
1)输入设计要求(包括输入输出间的函数关系和工艺动作要求等等)以及外部的各种约束条件.
2)将设计要求及外部条件分解成各个基本动作、基本运动及其约束条件
3)初步选定能完成设计要求的基本机构或已有案例.
4)将初步选定的基本机构进行组合,得到多种可能的设计方案.
5)对各种方案进行初步的尺度综合.
6)对各种方案的机构进行性能分析(包括运动和动力性能分析).
7)对各种方案进行评价和排序,以选出最满意的方案.
8)如果所有方案均不满意,则重新进行机构选型及组合、尺度综合及性能分析、方案评价及排序等工作.其中对方案的机构性能分析可以通过所设计的虚拟实验系统来完成.
学生要做的就是先按以上步骤初步确定设计方案,画出机构运动简图,然后利用虚拟实验系统进行虚拟装配,给出初始输入条件,让系统进行分析计算,学生根据分析计算结果对设计方案优劣作出判断,如果满意,则根据确定的方案进行实际的拼接,如果不满意,则对机构进行构型演化,再装配,再分析,直至得出满意方案.
3.3虚拟装配
在虚拟装配之前在磁盘上新建一个文件夹,用以存放选择的零件和最后形成的装配体.首先选出装配所需要的零件,从零件库拖出相应零件的图标,系统就会打开相应零件的编辑窗口,选择另存为,把这个零件存放到新建的文件夹中.注意不要改变没有保存的编辑窗口中零件的各项参数,因为放在这个零件库中的零件是一个参考模板文件,它的参数一旦发生改变,所有以它为参考模板文件生成的文件中的相应参数都会发生改变,所以在拖出图标后,一定要将其另存到自己的文件夹中.即可以在装配之前选好所要用的零件,也可在装配时随取,一般只需要选好几类零件就可以了.SolidWorks是基于Windows操作系统的 ,使用起来完全和 Windows 一样 ,可以利用复制、粘贴的形式在装配体窗口内生成同样类型的多个零件.
如果是初始装配,则需打开一个新的装配体文件,将选好的零件插入到这个装配体文件中,在零件之间添加相应的装配配合关系就可以了.各构件之间的装配关系和其运动副关系是这样定义的:若是转动副,则在两零件连接处添加端面贴合和同轴心关系;若是移动副,则在两零件接触处添加平面贴合关系.对于机架和导轨等固定不动的构件通过右击SolidWorks特征管理树(Feature manager)中相应零件的实体名,在弹出的菜单内选择固定来实现.
由于是虚拟装配,自然比真实装配轻松得多.因为SolidWorks可以实现尺寸驱动,所以改变装配完的机构中构件的某些参数,如杆长,机架的位置后,只需要对装配体机构进行重建模型,其它零件的相应位置会根据配合关系跟着改变,而不需要拆卸后重新装配.图2所示为运用此系统装配好的四杆机构,并且已在SolidWorks界面上加载了自己的菜单,准备进行运动仿真.
3.4对机构运动的干涉检查
在装配体形成后,首先要对其进行初步的干涉检查.可以使用SolidWorks自带的干涉检查功能.如果觉得不够直观的话,则可以用拖动其中某个构件的方法,观察各个构件的运动情况,直观地看它们的运动是否会发生干涉.进一步的干涉检查,可以在运动的仿真过程中.选择编程加载的菜单下运动仿真项,对装配搭建的机构进行运动仿真.在仿真过程中可以观察到是否发生干涉,如果发生干涉,两个零件将有重叠的部分,这就需要对机构中的参数进行调整.
3.5机构运动的仿真
机构的动态仿真的实现相当于在每一运动时刻,将各个构件根据约束摆放到空间的指定位置上.构件的初始位置在装配体装配好以后就确定了,其中机架位置的坐标值用户是可以自己设定的,而构件在运动当中的各个数据是由外部机构分析程序提供.因此,这种机构三维仿真方法不受机构的复杂性和自由度所限制.给出不同的输入,外部分析程序会提供不同的运动数据分析结果,使机构得以实现不同的运动.运动数据分析结果被存储在数据库中以便需要时进行调用.
3.6机构运动特性分析和动力学特性分析
运动仿真之后,还需要对机构进行运动特性和动力学特性分析.从而判断出所设计出的机构的优劣.方法是输出特征点的位置、速度、加速度、和力分析曲线.具体实现是通过VC编程绘制曲线图,从数据库中取出保存好的绘图所用的数据.如果所设计的方案未打到设计要求,就需要修改设计方案,进行机构构型的演化.演化的方法主要有运动副变换、加杆组、运动倒置、加自由度、运动等效变换,不断对方案进行修改,然后装配,进行运动学特性和力学特性分析,直到形成最满意的方案.
3.7实验指导功能
实验指导主要是在修改设计方案时,系统提供帮助信息,告诉以通过那些方法来优化机构,在学生选好一种方法后,系统会给出方法的原理,帮助使用者快速地修改方案。