基于MNF文件的柔性体云图动画的实现

时间:2022-05-04 07:51:41

基于MNF文件的柔性体云图动画的实现

摘要: 针对国内拥有自主知识产权的多领域仿真系统中柔性体仿真功能较弱的问题,基于浮动坐标法,采用MNF文件,在多领域系统建模与仿真平台MWorks上,借助ACIS和HOOPS图形引擎,实现柔性体三维云图动画显示的功能.介绍柔性体仿真系统的组成以及MNF文件的内容与作用,阐述柔性体云图动画实现的几项关键技术,包括几何模型的创建、模型数据的管理和动画数据的组织等.通过机械手的实际应用证明该方法的有效性.

关键词: 柔性体; 云图; 动画; MNF文件; 浮动坐标法; 多领域仿真; MWorks; Modelica

中图分类号: TP391.9文献标志码: B

Implementation of flexible body contour animation

based on MNF file

ZHANG Hehua, XIE Gang, ZHOU Fanli

(Suzhou Tongyuan Software and Control Technology Co., Ltd., Suzhou 215123, Jiangsu, China)

Abstract: Due to the deficiency in the flexible body simulation of the Chinese multi-domain simulation systems with independent intellectual property rights, based on floating coordinate method, the flexible body 3D contour animation function is implemented for multi-domain system and simulation platform MWorks by using MNF files and ACIS and HOOPS graphic engine. The structure of flexible body simulation system and the content and effect of MNF file are introduced. Several key techniques in the development of flexible body contour animation are presented, including geometric modeling, model data management, animation data organization, and so on. The effectiveness of the method is validated by the practical application of robot arm.

Key words: flexible body; contour; animation; MNF file; floating coordinate method; multi-domain simulation; MWorks; Modelica

引言

在机械系统虚拟样机技术中,对于多刚体系统,无论是理论研究还是工程实际应用,均已比较成熟;而对于柔性体系统,国外已有相关的商业化软件,国内却发展缓慢.因此,作为国内拥有自主知识产权的多领域统一物理建模与仿真分析平台MWorks[1],除具备成熟、强大的多领域系统(包含多刚体系统)建模能力外,也应为用户提供柔性体仿真功能.

1柔性体建模理论

在柔性体动力学的研究发展过程中,浮动坐标法是柔性体系统仿真中应用最广泛的方法之一.[2]其基本思想是将柔性体的运动分解为大范围的刚性运动和相对于浮动坐标系的变形运动.如图1所示,G为全局坐标系,B为柔性体局部坐标系,P为柔性体上任一节点.在任意时刻,P的位置为rP=x+sP+uP(1)式中:rP为节点P相对于全局坐标的位置向量;x为柔性体局部坐标系B相对于全局坐标的位置向量;sP为节点P相对于柔性体局部坐标系B未变形时的位置;uP为节点P从未变形位置到变形后位置的变形向量.

2柔性体云图动画的实现

2.1柔性体仿真系统

柔性体多体仿真系统由前处理程序和动力学仿真系统两部分构成.其中,前处理程序借助第三方有限元软件;动力学仿真系统采用MWorks,它是新一代多领域物理系统建模、仿真、分析与优化的通用CAE平台,基于多领域统一建模语言规范Modelica[3],提供从可视化建模、仿真计算到结果分析的完整功能.基于MWorks和Modelica的柔性体动力学仿真流程见图2.

(1)前处理程序.借助第三方有限元软件(如ANSYS,MD Nastran,Abaqus和I-DEAS等),对柔性体进行模态分析,生成MNF文件.

(2)动力学建模.在MWorks平台上,基于Modelica,利用MNF文件,建立刚柔耦合多体动力学模型.

(3)编译求解.先对模型进行编译,生成方程;再对方程进行翻译,生成C代码;最后执行C代码实现求解,生成结果文件.

(4)结果读取.读取求解结果文件,为动画显示和曲线显示作准备.

(5)动画显示.利用MNF文件和结果文件创建三维几何模型,并进行云图动画仿真.

2.2MNF文件的作用

MNF文件是MD Adams软件采用的一种文件格式,用于描述柔性体模态分析数据,目前,主流的有限元软件(如ANSYS,MD Nastran和Abaqus等)都支持MNF文件格式.[4]MNF文件是一个独立于操作平台的二进制文件,共包含32个数据块.[5]在柔性体仿真系统中,MNF文件的主要作用是:

(1)动力学建模.从MNF文件中提取节点坐标(Nodal Coordinates)、柔性体整体属性(Global Body Properties,包括质量、质心和惯性张量等)、特征值相关数据(Eigenvalues,包括特征值、频率、广义质量和广义刚度等)、模态振型(Mode Shapes)、节点质量(Nodal Masses)、节点惯量(Nodal Inertias,只有界面点才拥有该部分数据)、单位(Units)、界面点(Interface Nodes)以及9个惯性时不变矩阵(Invariants 1~9)等数据,建立基于Modelica表达的刚柔耦合多体动力学模型.

(2)动画显示.从MNF文件中提取节点坐标、有限元单元面、单位和模态振型等数据,结合求解结果文件中的相关数据,建立三维几何模型,并计算出在各时间帧处各个柔性体上每个节点的变形量.变形量的大小变化直接体现为颜色变化,即形成云图动画.

2.3云图动画的关键技术

MWorks作为一个通用CAE平台,已具备建模、求解和曲线显示等功能.然而,曲线显示不能直观、形象地反映仿真过程,需耗费人力和时间去分析一大堆数据,而三维动画正好弥补该缺陷.三维动画模块采用控件形式,可以重复使用,甚至可以在不同的编程语言之间使用,具有良好的可扩展性.在动画控件的开发过程中,必须解决好以下3个问题:(1)几何模型的创建;(2)模型数据的管理;(3)动画数据的组织.

2.3.1几何模型的创建

ACIS[6]是一个基于面向对象软件技术的三维几何造型引擎,但交互功能不足;HOOPS[7]的图形渲染与数据结构优势显著,但造型欠缺.鉴于二者之间具有良好的互补性,三维动画模块采用它们作为底层引擎:通过ACIS生成几何模型,再通过HOOPS将几何模型在图形界面上显示出来.三维几何模型的创建流程见图3.

2.3.2模型数据的管理

三维动画模块采用树状的数据结构,层次清晰、易于维护,见图4.

一个Model代表一个多体模型,一个Model可以拥有多个Part,一个Part可以拥有多个Shape,一个Shape代表一个几何图形.HOOPS通过片段(Segment)管理模型数据,一个Segment可以拥有多个子Segment,每个Segment都有一个Hoops key与之对应.因此,可以通过创建Entity类(Model从Entity派生,Part从Model派生,Shape从Part派生),建立Entity指针与Hoops key的双向映射关系,从而达到模型数据的有效管理,保证三维模型交互操作的实时性.如用户在界面上选中某个部件,动画模块通过Hoops API找到相应的Hoops key,借助Hoops key与Entity指针的双向映射关系,可立即知道用户选择的是哪个部件,然后就可以对该部件进行操作.

2.3.3动画数据的组织

所谓动画,就是利用人类视觉暂留的特性,快速播放一系列静态图像,使视觉产生动态效果.在每一时间帧处,都要获得当前帧的动画数据,用这些数据更新三维几何模型,从而实现动画仿真过程.对于刚体部件,由于只有位姿(位置和姿态)发生改变,可采用4×4的变换矩阵表示;对于柔性体部件,除刚体变化(即式(1)的x),还有柔性体的变形(即式(1)的uP).另外,为更直观地反映柔性体的变形大小,让柔性体上的每个节点都携带一个颜色值,颜色可以从蓝色逐渐变化至红色,如果颜色越趋近于蓝色,表示其变形越小;反之,颜色越趋近于红色,表示其变形越大.因此,柔性体云图动画的数据量非常大,访问也十分频繁.为提高动画数据的读取效率,可在物理组织上采用连续内存存储模式,见图5.该模式将相同类型的数据组织在一块连续的内存区域,当外部模块需要使用这些数据时,可通过获得所需数据的首地址以及数据块的长度,快速访问到该数据,从而实现数据的高效读取.

3应用实例

机械手的闭环控制建模过程中,中间连接杆往往会因为发生变形而影响整个模型的运动精度.为克服该问题,采用以下解决方案,获得良好的控制效果.具体过程为:(1)利用有限元软件对中间杆进行模态分析,生成MNF文件;(2)在MWorks平台上,利用Modelica提供的外部C函数机制读取MNF文件数据,并建立刚柔耦合多体动力学子系统模型;(3)在MWorks平台上对所建立的子模型进行闭环反馈控制,并对整个模型进行求解,生成结果文件;(4)在MWorks平台上读取结果文件和MNF文件,创建三维云图动画,见图6,可知中间杆两端区域位置的变形量最大.(a)初始状态(b)第316帧画面

4结束语

基于MNF文件的柔性体云图动画具有友好的人机交互、高度逼真的动画效果、强大的模型数据管理、良好的可扩展性等优点,并且在实际工程应用中得到有效验证,同时也为刚柔耦合多体系统仿真领域的软件研发提供一定的经验基础.参考文献:

[1]吴义忠, 刘敏, 陈立平. 多领域物理系统混合建模平台开发[J]. 计算机辅助设计与图形学学报, 2006, 18(1): 120-124.

WU Yizhong, LIU Min, CHEN Liping. Development of hybrid modeling platform for multi-domain physical system[J]. J Computer-Aided Des & Comput Graphics, 2006, 18(1): 120-124.

[2]SHABANA A A. Flexible Multibody dynamics: review of past and recent developments[J]. Multibody Syst Dynamics, 1997, 1(2): 189-222.

[3]赵建军, 丁建完, 周凡利, 等. Modelica语言及其多领域统一建模与仿真机理[J]. 系统仿真学报, 2006, 18(S2): 570-573.

ZHAO Jianjun, DING Jianwan, ZHOU Fanli, et al. Modelica and its mechanism of multi-domain unified modeling and simulation[J]. J Syst Simulation, 2006, 18(S2): 570-573.

[4]姜自伟. 机械系统动力学仿真柔性体建模技术研究[D]. 武汉: 华中科技大学, 2007.

[5]李军, 刑俊文, 谭文浩, 等. Adams实例教程[M]. 北京: 北京理工大学出版社, 2002: 190-221.

[6]Spatial Technology Inc. ACIS online help[EB/OL]. (2011-05)[2011-08]. .

[7]Tech Soft American Inc. HOOPS online help[EB/OL]. (2011-05)[2011-08]. .

上一篇:基于FINE/Turbo的高压涡轮叶片流热耦合分析 下一篇:五年三并购 LMS进一步为全球制造业提供完整的...