专利名称:基于构件机械原理的机构运动虚拟实验仿真方法
技术领域:
本发明涉及一种机械动力实验教学的仿真方法,尤其是涉及一种基于构件机械原理的机构运动虚拟实验仿真方法。
背景技术:
多领域通用建模仿真Modelica(MO)是为解决复杂物理系统多领域统一建模与仿真问题,而提出的一种面向对象基于方程的陈述式建模语言。OpenSceneGraph是一款高性能的3D图形开发库。广泛应用在可视化仿真、游戏、 虚拟现实、高端技术研发以及建模等领域。传统的实验教学需要提供给学生动手操作的硬件环境与软件环境,这需要占用大量的教学资源。近年来,由于学生人数的增加,给实验教学造成了一定的压力,而虚拟实验教学平台在提高学生创新能力方面可以起到重要作用。目前的虚拟实验大多面向特定学科,而现在还没有虚拟实验通用开发平台,虚拟实验的开发基本上属于单件开发,这限制了虚拟实验在实验教育上的普及。国内虚拟实验领域处于起步阶段吉林大学的基于Virtools的大学物理网络三维虚拟实验,四川师范大学的基于Jini技术的虚拟实验平台,太原理工大学基于LabView 的远程虚拟实验室,郑州大学的基于VRML和MATLAB的智能控制虚拟实验室。国外虚拟实验领域起步较早,取得了不少成果如哥伦比亚州立大学的信息安全保障教学虚拟实验室, 东加利福尼亚大学的信息技术教学虚拟实验实,瑞士联邦理工学院的多媒体电子虚拟实验室,普渡大学e-Learning虚拟实验室等。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于构件机械原理的机构运动虚拟实验仿真方法。本发明的目的可以通过以下技术方案来实现一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,包括以下步骤1)在分析机械原理机构运动实验的各个构件之间的逻辑关系基础上,从机构构件中抽象出基本构件,以统一建模语言Modelica的方式建立这些基本构件的逻辑模型,统一存放到Modelica模型库,同时通过三维建模软件建立构件的三维几何模型,将构件的三维几何模型与构件的逻辑模型进行整合,建立以XML描述的完整实验构件模型,建立实验构件列表;2)从实验构件列表中选取需要的构件,并定义各个构件的连接关系,搭建出虚拟实验的实验场景Modelica模型;根据实验所需的构件,读入对应的构件文件,选择构件的三维模型,对构件之间需要连接的接口进行组装;3)组装完成后,获得实验场景模型的Modelica描述文件,设置仿真的参数,开始场景模型的编译求解仿真;4)对求解结果文件进行数据处理,获得构件模型几何运动数据文件,从而驱动虚拟实验装配仿真环境中机构三维模型的可视化,实现机械原理实验的三维搭建和可视化仿真。所述的步骤1)中的XML描述的完整实验构件模型信息包括(1)构件基本信息构件ID、构件名称、构件类型、学科信息、创建者信息、创建日期,所述的构件ID与Modelica库中的构件一一对应;(2)构件接口列表用于构件与构件之间连接的接口 ;(3)构件属性列表构件内部用数学表达式表述的参数;(4)构件在Modelica库中的逻辑位置;(5)几何构件的可视化模型信息和坐标系转换矩阵。所述的构件内部用数学表达式表述的参数包括参数的ID、名称、符号、值、单位、最小值、最大值、是否在建模环境显示和是否可修改;所述的是否可修改用于表明可供用户输入值的参数,所述的是否在建模环境显示定义了需要返回到建模环境的结果参数。所述的Modelica库为树状结构,逻辑位置存放的是该构件从根节点到其子节点的路径。所述的步骤幻中的场景模型的编译求解仿真步骤如下实验场景的Modelica描述文件传入求解模块,求解器求解时先调入各学科 Modelica基本构件库和各学科Modelica组合构件库,获取仿真时间设置,调用编译求解器求解实验场景Modelica文件,获得各运动构件的pit格式输出数据格式的结果,求解结果通过求解数据解析工具转换成结果描述文件返回到建模环境。所述的编译求解器求解实验场景Modelica文件具体如下将实验场景Modelica模型转换成用系列方程组描述的平坦模型,通过 OpenModelica编译器,将平坦模型转换成C语言源代码,再通过GCC编译器将C语言程序编译成可执行文件,实现对实验场景模型的计算求解。所述的步骤4)中的对求解结果文件进行数据处理具体如下将pit格式的文件转换成VR Flier动画路径文件,其过程为,首先从pit文件中截取需要的数据;其次通过C++文件流操作,将数据文件读入系统内存,赋值给相应的数组; 最后,将位置坐标与角度转化为变换矩阵。与现有技术相比,本发明具有以下优点1)采用面向对象的物理系统建模语言Modelica,利用不同领域物理规律内在数学方程描述的一致性,实现不同学科实验构件模型的统一建模;2)基于实验构件模型,建立构件之间的链接关联,装配成实验场景模型,再进行实验求解,建立虚拟实验平台,支持完成多学科的虚拟实验;3)针对机械学科机构运动认知实验的特点,将整个机构运动实验过程抽象为统一方式描述的虚拟实验构件模型,该模型包含可视化信息和逻辑信息,逻辑信息通过统一建模语言Modelica建模,在虚拟现实环境下组装虚拟实验场景,通过对场景的MO模型进行数学方程的编译求解,获得机构运动的输出数据,再返回虚拟现实环境将仿真结果可视化;4)基于原有的虚拟现实平台VR Filer,开发了机构运动认知实验的虚拟实验装配仿真系统,通过虚拟实验系统的开发和应用,学生可以在该虚拟环境中上,利用构件库对机构实验进行搭建并仿真,这使学生更好地理解机构组成及运动原理,让枯燥的理论知识变得形象易于掌握;5)采用用统一建模方法对虚拟实验建模和仿真计算求解,各模块之间具有相对独立性,具有通用性,因而该系统很容易拓展到其他学科的虚拟实验。
图1为本发明的试验仿真流程图;图2为本发明的编译求解器求解流程图。
具体实施例方式下面结合附图和具体实施例对本发明进行详细说明。实施例如图1所示,一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于, 包括以下步骤1)在分析机械原理机构运动实验的各个构件之间的逻辑关系基础上,从机构构件中抽象出基本构件,以统一建模语言Modelica的方式建立这些基本构件的逻辑模型,统一存放到Modelica模型库,同时通过三维建模软件建立构件的三维几何模型,将构件的三维几何模型与构件的逻辑模型进行整合,建立以XML描述的完整实验构件模型,建立实验构件列表;2)从实验构件列表中选取需要的构件,并定义各个构件的连接关系,搭建出虚拟实验的实验场景Modelica模型;根据实验所需的构件,读入对应的构件文件,选择构件的三维模型,对构件之间需要连接的接口进行组装;3)组装完成后,获得实验场景模型的Modelica描述文件,设置仿真的参数,开始场景模型的编译求解仿真;4)对求解结果文件进行数据处理,获得构件模型几何运动数据文件,从而驱动虚拟实验装配仿真环境中机构三维模型的可视化,实现机械原理实验的三维搭建和可视化仿真。所述的步骤1)中的XML描述的完整实验构件模型信息包括(1)构件基本信息构件ID、构件名称、构件类型、学科信息、创建者信息、创建日期,所述的构件ID与Modelica库中的构件一一对应;(2)构件接口列表用于构件与构件之间连接的接口 ;(3)构件属性列表构件内部用数学表达式表述的参数;该参数包括参数的ID、名称、符号、值、单位、最小值、最大值、是否在建模环境显示和是否可修改;所述的是否可修改用于表明可供用户输入值的参数,所述的是否在建模环境显示定义了需要返回到建模环境的结果参数。(4)构件在Modelica库中的逻辑位置;所述的Modelica库为树状结构,逻辑位置存放的是该构件从根节点到其子节点的路径。(5)几何构件的可视化模型信息和坐标系转换矩阵。
如图2所示,所述的步骤3)中的场景模型的编译求解仿真步骤如下实验场景的 Modelica描述文件传入求解模块,求解器求解时先调入各学科Modelica基本构件库和各学科Modelica组合构件库,获取仿真时间设置,调用编译求解器求解实验场景Modelica文件,获得各运动构件的Plt格式输出数据格式的结果,求解结果通过求解数据解析工具转换成结果描述文件返回到建模环境。所述的编译求解器求解实验场景Modelica文件具体如下将实验场景Modelica 模型转换成用系列方程组描述的平坦模型,通过OpenModelica编译器,将平坦模型转换成 C语言源代码,再通过GCC编译器将C语言程序编译成可执行文件,实现对实验场景模型的计算求解。所述的步骤4)中的对求解结果文件进行数据处理具体如下将Plt格式的文件转换成VR Flier动画路径文件,其过程为,首先从pit文件中截取需要的数据;其次通过C++ 文件流操作,将数据文件读入系统内存,赋值给相应的数组;最后,将位置坐标与角度转化为变换矩阵。利用上面数据处理后得到的路径文件,创建模型加载列表文件,并保证加载模型的顺序必须与输出关键点的顺序相对应。通过VR Flier平台可以加载相关的数据,并设置动画的帧与帧之间的时间参数,即可对三维模型进行驱动仿真。以简易冲床机构的虚拟实验为例,其中表1为基本单元构件逻辑模型表
权利要求
1.一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,包括以下步骤1)在分析机械原理机构运动实验的各个构件之间的逻辑关系基础上,从机构构件中抽象出基本构件,以统一建模语言Modelica的方式建立这些基本构件的逻辑模型,统一存放到Modelica模型库,同时通过三维建模软件建立构件的三维几何模型,将构件的三维几何模型与构件的逻辑模型进行整合,建立以XML描述的完整实验构件模型,建立实验构件列表;2)从实验构件列表中选取需要的构件,并定义各个构件的连接关系,搭建出虚拟实验的实验场景Modelica模型;根据实验所需的构件,读入对应的构件文件,选择构件的三维模型,对构件之间需要连接的接口进行组装;3)组装完成后,获得实验场景模型的Modelica描述文件,设置仿真的参数,开始场景模型的编译求解仿真;4)对求解结果文件进行数据处理,获得构件模型几何运动数据文件,从而驱动虚拟实验装配仿真环境中机构三维模型的可视化,实现机械原理实验的三维搭建和可视化仿真。
2.根据权利要求1所述的一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,所述的步骤1)中的XML描述的完整实验构件模型信息包括(1)构件基本信息构件ID、构件名称、构件类型、学科信息、创建者信息、创建日期,所述的构件ID与Modelica库中的构件——对应;(2)构件接口列表用于构件与构件之间连接的接口;(3)构件属性列表构件内部用数学表达式表述的参数;(4)构件在Modelica库中的逻辑位置;(5)几何构件的可视化模型信息和坐标系转换矩阵。
3.根据权利要求2所述的一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,所述的构件内部用数学表达式表述的参数包括参数的ID、名称、符号、值、单位、最小值、最大值、是否在建模环境显示和是否可修改;所述的是否可修改用于表明可供用户输入值的参数,所述的是否在建模环境显示定义了需要返回到建模环境的结果参数。
4.根据权利要求2所述的一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,所述的Modelica库为树状结构,逻辑位置存放的是该构件从根节点到其子节点的路径。
5.根据权利要求1所述的一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,所述的步骤幻中的场景模型的编译求解仿真步骤如下实验场景的Modelica描述文件传入求解模块,求解器求解时先调入各学科Modelica 基本构件库和各学科Modelica组合构件库,获取仿真时间设置,调用编译求解器求解实验场景Modelica文件,获得各运动构件的pit格式输出数据格式的结果,求解结果通过求解数据解析工具转换成结果描述文件返回到建模环境。
6.根据权利要求5所述的一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,所述的编译求解器求解实验场景Modelica文件具体如下将实验场景Modelica模型转换成用系列方程组描述的平坦模型,通过OpenModelica 编译器,将平坦模型转换成C语言源代码,再通过GCC编译器将C语言程序编译成可执行文件,实现对实验场景模型的计算求解。
7.根据权利要求1所述的一种基于构件机械原理的机构运动虚拟实验仿真方法,其特征在于,所述的步骤4)中的对求解结果文件进行数据处理具体如下将Plt格式的文件转换成VR Flier动画路径文件,其过程为,首先从pit文件中截取需要的数据;其次通过C++文件流操作,将数据文件读入系统内存,赋值给相应的数组;最后,将位置坐标与角度转化为变换矩阵。
全文摘要
本发明涉及一种基于构件机械原理的机构运动虚拟实验仿真方法,包括以下步骤1)以统一建模语言Modelica的方式建立这些基本构件的逻辑模型,同时通过三维建模软件建立构件的三维几何模型,将构件的三维几何模型与构件的逻辑模型进行整合,建立以XML描述的完整实验构件模型;2)搭建出虚拟实验的实验场景Modelica模型;根据实验所需的构件,读入对应的构件文件,选择构件的三维模型,对构件之间需要连接的接口进行组装;3)组装完成后,设置仿真的参数,开始场景模型的编译求解仿真;4)对求解结果文件进行数据处理,驱动虚拟实验装配仿真环境中机构三维模型的可视化。与现有技术相比,本发明具有让枯燥的理论知识变得形象易于掌握、通用性强等优点。
文档编号G09B9/00GK102254464SQ201110228978
公开日2011年11月23日 申请日期2011年8月10日 优先权日2011年8月10日
发明者张曦, 程奂翀, 范秀敏, 马彦军 申请人:上海交通大学