机械装备仿真系统生成方法

文档序号:6368966阅读:686来源:国知局
专利名称:机械装备仿真系统生成方法
技术领域
本发明涉及一种系统生成方法,特别地,涉及一种机械装备的仿真系统的生成方法。
背景技术
随着机械装备越来越复杂化与智能化,目前装备制造和应用培训涉及到了生产、安装调试、售后服务人员和用户的培训。由此应运而生的虚拟培训具有可模拟实际生产环境下机械装备操作和了解机械装备实时运转状况的互动性,不受时间和空间限制,培训费用低等优点。为提高虚拟培训系统的开发效率,实现虚拟培训系统的快速搭建,在结构和装配工艺培训、机械装备原理培训以及操作培训中则分别需要提高虚拟装配动画、运动仿真动画和操作控制逻辑的制作效率。

发明内容
本发明的主要目的是提供一种虚拟装配动画、运动仿真动画和操作控制逻辑自动生成的方法。本发明的虚拟装配动画自动生成方法,包括如下步骤确定各个零件的首末位置及执行时间,确定各个零件在装配体中的位置信息,对上述位置信息的数据处理,生成代码并导出代码保存。较佳地,零件首末位置的确定包括人为拖动确定,确定各个零件在装配体中的位置信息,包括通过系统先遍历装配体,确定我们所选择的哪个零件,获得其操作句柄,然后通过系统来获取它的变换矩阵,对位置信息的数据处理包括坐标数据转换,即从位姿矩阵中获取零部件的坐标信息以转变为虚拟场景中能够识别的坐标信息并保存转换后的数据,代码生成包括代码临时储存在子代码内和子代码整合成长字符串,代码导出包括文件代码追加。较佳地,生成代码符合vrml语言规范。本发明的运动仿真动画自动生成方法,包括如下步骤运动关系的建立,零件位姿信息的获取和转换,对上述位姿信息的数据处理,生成代码并导出代码保存。较佳地,运动关系的建立包括主动零件的确定,旋转中心的确定,旋转时间设置,旋转时间设置,动画录制及预览;零件位姿信息的获取和转换包括遍历装配体,获取变换矩阵;位姿信息的数据处理包括变换矩阵的转换及相应的数据保存;代码生成包括代码临时储存和整合,代码导出包括文件代码追加。较佳地,通过Solidworks的api函数,提取圆柱面或圆形边等环型实体的中心坐标和矢量,通过调用该方法来获取参数以构造变换矩阵。较佳地,代码生成的插补器代码段,其中间的数据是根据在前面录制动画的过程中获取而来的各个状态下的值。本发明的操作控制逻辑自动生成方法,包括如下步骤根据其实际的操作要求,填写并生成控制参数数据库;采用自定义控制节点的形式,来实现控制逻辑的自动生成;在数据库中形成操作对象的数据库,并把操作对象和运动对象、控制端按钮关联起来,通过自定义的控制节点,虚拟场景中的检测模块、反馈模块一起,形成完整的控制系统;当需要调用某一操作时,只需调用相关的数据库,系统并会自动生成该操作的控制逻辑。较佳地,本发明机械装备仿真系统生成方法,包括虚拟装配动画自动生成方法,运动仿真动画自动生成方法,及操作控制逻辑自动生成方法。本发明的有益效果是通过分析一般机械运动仿真的共性、操作控制逻辑关系以及交互式虚拟场景的生成及控制的原理,对Solidworks和VRMLPad进行二次开发,实现了装配与运动仿真动画以及操作控制逻辑的自动生成,不仅使运动模型的自动化、可视化、快速化的建立,而且可使培训系统生成更灵活,提高系统搭建效率,大大降低开发成本。


图I是本发明虚拟装配动画自动生成方法的功能模块图。图2是本发明虚拟装配动画自动生成方法的步骤流程示意图。图3是本发明运动仿真动画自动生成方法的功能模块图。图4是本发明运动仿真动画自动生成方法的步骤流程示意图。图5是本发明运动仿真动画自动生成方法中构造变换矩阵的流程图。图6是本发明操作控制逻辑的自动生成方法的流程示意图。
具体实施例方式以下参照附图详细描述本发明机械装备仿真系统生成方法的技术方案。本发明的机械装备仿真系统生成方法包括三个方面一.虚拟装配动画自动生成方法二.运动仿真动画自动生成方法三.操作控制逻辑的自动生成方法上述自动生成方法都是在系统程序的控制下进行,下面逐个说明各个生成方法。一 .虚拟装配动画是对机械装备某个部件的各个零件如何装配起来的过程进行自动演示,用户可一目了然地看到装配过程,该虚拟装配动画的自动生成方法包括五个步骤,也是五大功能模块,如图I、图2所示,即零件首末位置确定,零件位置信息,数据的处理,代码生成及代码导出,下面逐一进行说明。a.该部件各个零件首末位置及执行时间的确定;通过运行虚拟装配动画自动模块,在Solidworks中加载模型并利用Solidworks可视化的界面,选择定义动画的零部件,在装配空间内沿着某一坐标轴或某一参考平面,移动或旋转到某一位置,系统会获取零件移动的首末位置,并记录两个位置的数据,以获取装配的路径,也可通过手动输入始末位置的translation和rotation值。此外,装配动画还需要进行该步动作的时间设置,如将起始时间设置为0,代表该步动作在整个动画开始时刻执行;终止时间为5,代表该步动作执行5秒后停止。完成以上设置就可以保存该步骤的动画。若需对该零件进行下一步动画设置,只需重复以上的步骤。每一步动作的参数设置都、可浏览。也可进行数据的修改并保存。b.各个零件位置信息的确定装配体的各个零件在装配体中拥有确定本身几何信息的部件空间和一个确定其空间位置的装配空间,为了准确获取各个零件在装配空间的位置,通过系统先遍历装配体,确定我们所选择的哪个零件,获得其操作句柄。然后通过系统来获取它的变换矩阵。c.对位置信息的数据处理 对信息的数据处理主要涉及数据转换,因通常在三维CAD软件中零件在装置体中的位置信息包括在一位姿矩阵中,为了确定生成的三维模型在场景中确定的位置,并有利于后期仿真运动的参数设定,需要从位姿矩阵中获取零部件的坐标信息以转变为虚拟场景中能够识别的坐标信息,这样就涉及到坐标数据转换。在本实施例中,获取而来的位姿矩阵是一个4x4矩阵,包含着零件的在装配空间中的位置和姿态信息,一共包含16个元素,包括9个元素,是一个3x3的旋转子阵,3个元素定义了平移向量,I个元素是缩放因子,还有3个元素一般不使用,在透视变换中会用到。这些数据便需要通过坐标数据转换,本实施例的vrml语言规范中,确定模型在场景中空间位置是通过设置transform节点下的translation和rotating值。数据转换功能在整个功能模块中起着决定性作用。对于转换之后的数据,还应该及时的存储下来,供后面生成代码使用。d.生成代码当我们对零件的一步动画进行完设置后,便要把这步动作用本实施例中的vrml语言利用已知数据表达出来,并临时保存在一个字符串数组内。当用户对每个零件都设置完动作,其中的每一步都应该有属于自己的子代码,然后再将这这些子代码整合成一个长字符串,它们都应该符合vrml语言规范,包括时间传感器,位置插补器,路由的传递代码
坐寸οe.导出代码当生成完所有的用于建立动作的vrml代码之后,便要将这些代码导出到只含有零件几何信息的Wl格式文件中,即如何追加代码的问题。在实际操作中首先对一个零件完成动画设置后,可以进行下步动画设置,步骤同上,当点击“确定”,完成该零件的动作设置,当对有动作的所有零件进行完参数设置后,便可以生成该装配体的虚拟装配动画。当进度条结束以后,该装配动画的vrml文件被默认保存至相应文件夹。用BS浏览器打开,可浏览动画的效果。二.运动仿真动画如图3-5所示,要实现机械装备运动仿真动画,主要步骤有a.运动关系的建立运动仿真动画中区别于装配动画的是,运动仿真动画往往有一个主运动件,且该零件多为旋转运动。因而,系统在处理时不仅要选择主动零件,即主运动件,还要判断确定旋转中心。主运动件是对运动链而言,因而,在做运动仿真前需要定义好自由度,运动约束等,该部分在虚拟样机建立时已经完成。运动仿真动画模块和虚拟装配动画模块的在功能组成上最大的区别,是准备工作上的不同,前者要求用户提前建立整个装配体的运动关系,即定义哪个零件做为主动零件,主动零件采用何种运动方式,如旋转必须先要确定用什么轴作为旋转中心,以及确定旋转时间。另外需要提供动画预览,即在可视化界面中预览预期的动画效果。另外,在获取零部件的位姿信息时,为了使最终生成的动画细腻、逼真,需要在一定的精度控制下来获取数据,即在把整个运动模拟动画分为η步,在这η个间隔内分别记录各个零件的位姿信息,η值越大,动画越细腻。
b.零件位姿信息的获取和转换为了保证旋转类零件能够沿着某一旋转轴旋转,必须先要确定旋转中心轴。而在三维cad软件中,零件的任何空间位置变换都是通过变换矩阵来实现的,因此,必须构造一个变换矩阵,该矩阵的作用是让零件绕空间某一中心轴旋转给定的角度。该轴的建立必须具备两个要素中心坐标、轴的方向矢量。在本实施例的Solidworks的api函数中,为我们提供了相应的提取圆柱面或圆形边等环型实体的中心坐标和矢量的方法。通过调用该方法,我们便能获取这些参数来构造我们所需的变换矩阵。具体的实现流程如图5所示,从圆柱面获得中心坐标和方向矢量参数后,这些参数是属于该零件所在的零件坐标系的,因此,必须将中心坐标和方向矢量乘以该零件的变换矩阵,转换成装配坐标系内的坐标值,如果零部件的原点和装配体的原点不同,零件将被变换到错误的位置。矩阵变换后,再利用参数构造soIidworks的api函数识别的对象,得到装配坐标系内的坐标值Mathpoint,Mathvector,旋转角度 angle 等,再调用相应的对象,如 IcreateTransformRotateAxis (center, vector, angle)得到绕某轴旋转指定角度的变换矩阵。在实际运行中,拾取旋转轴,先在三维模型中选中轴所属的圆柱面,在选择“拾取旋转轴”按钮。若拾取成功,系统会出现提示对话框,点击确定即可,这样即确定运动关系建立成功。本实施例中驱动零件连续旋转的实现方式由上述方法构造的变换矩阵mid_transform,乘以零部件目前状态下的变换矩阵pre_transform,得到一个新的变换矩阵new_transform。即new_transform = pre_transform. IMultiply(mid_transform)通过调用mathtransform的Imultiply方法,得到新的变换矩阵,将new_transform应用到该零件,并重新计算装配关系,跟主动零件建立了运动关系的零件将会随着原动件位置的改变而改变,从而达到了运动仿真的目的,其实现是通过调用component SetTransformAndSoIve2 方法,即Status = swChildComp. SetTransformAndSolve2(new_transform)执行完此语句,该零件的变换矩阵改变,重建Solidworks模型,就能看到该零件空间位置的变化,即沿着所指定中心轴旋转了某一角度。要实现零件的连续转动,只需要将新得到的newjransform矩阵不断得进行矩阵变换,用for循环语句就能实现这一过程。在运行运动仿真模块时,选择主动件,设置运动仿真的相关参数即指定旋转圈数和旋转的时间。录制动画功能的实现以及状态的记录零件的变换矩阵每进行一次矩阵变换,就调用modeldoc2 editrebuild2方法一次,就能在浏览界面上看到零件的连续转动效果,而在这每一次变换间隔内,我们必须获得此刻状态下各零件的位姿信息,获取的方法和虚拟装配模块中的获取方法一致,再次不再赘述。在运行仿真模块时选择“录制”按钮。可在模型浏览界面预览动画效果。c.数据的处理与代码的生成对数据的处理依然是用vrmlpad的api函数来完成,然后将处理之后的数据临时保存在被定义为 用户自定义类型的一个数组中。代码的生成,跟虚拟装配模块中的代码生成略有不同,后者的插补器代码段,只使用了始末位置的两个数据,中间的数据代码都是通过插补的方式来生成,而在这里,中间的数据是根据在前面录制动画的过程中获取而来的各个状态下的值。d.代码导出功能的实现与虚拟装配模块中的代码导出方法一致。选择“生成vrml”,完成运动仿真的动画制作。在制定的文件夹里用BS浏览器打开对应的文件,即可浏览运动仿真的过程。三.操作控制逻辑的自动生成方法机械装备的操作控制逻辑是根据其实际的操作要求,按照一定的规则填写并生成数据库即控制参数数据库,在虚拟培训系统集成时载入系统并和虚拟样机关联。本实施例中采用自定义控制节点的形式,来实现控制逻辑的自动生成。该节点包含以下一些参数开始、停止、速度控制、方向控制等。并关联虚拟场景和界面控制端。如以下语句
Control {
event In SFBool Start控制运动开始event In SFBool Stop控制运动停止event In SFFloatVeloci ty 控制运动速度event In SFBool Direct ion 控制运动方向event In SFNodeObjects关联虚拟场景运动对象event In SFFloat Controler 关联控制端对象}在数据库中形成操作对象的数据库,并把操作对象和运动对象、控制端按钮关联起来,通过自定义的控制节点,虚拟场景中的检测模块、反馈模块一起,形成完整的控制系统,当需要调用某一操作时,只需调用相关的数据库,系统并会自动生成该操作的控制逻辑。图6为操作控制逻辑自动生成流程。虽然本发明的机械装备仿真系统已参照当前的具体实例进行了描述,但是本技术领域的技术人员应该认识到,以上的实例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化和修改都将落在本发明的权利要求书的范围内。
权利要求
1.一种机械装备仿真系统生成方法,包括虚拟装配动画自动生成方法,其特征在于,包括如下步骤 确定各个零件的首末位置及执行时间; 确定各个零件在装配体中的位置信息; 对上述位置信息的数据处理; 生成代码并导出代码保存。
2.如权利要求I所述的机械装备仿真系统生成方法,其特征在于,零件首末位置的确定包括人为拖动确定,确定各个零件在装配体中的位置信息,包括通过系统先遍历装配体,确定我们所选择的哪个零件,获得其操作句柄,然后通过系统来获取它的变换矩阵,对位置信息的数据处理包括坐标数据转换,即从位姿矩阵中获取零部件的坐标信息以转变为虚拟场景中能够识别的坐标信息并保存转换后的数据,代码生成包括代码临时储存在子代码内和子代码整合成长字符串,代码导出包括文件代码追加。
3.如权利要求2所述的机械装备仿真系统生成方法,其特征在于,生成代码符合vrml语目规范。
4.一种机械装备仿真系统生成方法,包括运动仿真动画自动生成方法,其特征在于,包括如下步骤 运动关系的建立; 零件位姿信息的获取和转换; 对上述位姿信息的数据处理; 生成代码并导出代码保存。
5.如权利要求4所述的机械装备仿真系统生成方法,其特征在于, 运动关系的建立包括主动零件的确定,旋转中心的确定,旋转时间设置,旋转时间设置,动画录制及预览; 零件位姿信息的获取和转换包括遍历装配体,获取变换矩阵; 位姿信息的数据处理包括变换矩阵的转换及相应的数据保存; 代码生成包括代码临时储存和整合,代码导出包括文件代码追加。
6.如权利要求5所述的机械装备仿真系统生成方法,其特征在于,通过Solidworks的api函数,提取圆柱面或圆形边等环型实体的中心坐标和矢量,通过调用该方法来获取参数以构造变换矩阵。
7.如如权利要求5所述的机械装备仿真系统生成方法,其特征在于,代码生成的插补器代码段,其中间的数据是根据在前面录制动画的过程中获取而来的各个状态下的值。
8.一种机械装备仿真系统生成方法,包括操作控制逻辑自动生成方法,其特征在于 根据其实际的操作要求,填写并生成控制参数数据库; 采用自定义控制节点的形式,来实现控制逻辑的自动生成; 在数据库中形成操作对象的数据库,并把操作对象和运动对象、控制端按钮关联起来,通过自定义的控制节点,虚拟场景中的检测模块、反馈模块一起,形成完整的控制系统; 当需要调用某一操作时,只需调用相关的数据库,系统并会自动生成该操作的控制逻辑。
9.一种机械装备仿真系统生成方法,其特征在于,包括权利要求I中的虚拟装配动画自动生成方法,权利要求4中的运动仿真动画自动生成方法,及权利要求8中的操作控制逻 辑自动生成方法。
全文摘要
本发明公开了一种机械装备仿真系统生成方法,包括虚拟装配动画自动生成方法,包括如下步骤,确定各个零件的首末位置及执行时间,确定各个零件在装配体中的位置信息,对上述位置信息的数据处理,生成代码并导出代码保存。
文档编号G06T13/20GK102629388SQ20121013348
公开日2012年8月8日 申请日期2012年4月28日 优先权日2012年4月28日
发明者吴恩启, 闵锐, 黄圣 申请人:上海沪江虚拟制造技术有限公司, 上海隧道工程股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1