创新机构拼装与运动学仿真虚拟实验平台研究

2015-03-10 07:05范秀敏刘振峰邓逸辰
实验技术与管理 2015年2期
关键词:运动学约束构件

田 力, 范秀敏,2, 刘振峰, 邓逸辰

(1. 上海交通大学 机械与动力工程学院, 上海 200240;2. 上海市网络化制造与企业信息化重点实验室, 上海 200030)



创新机构拼装与运动学仿真虚拟实验平台研究

田 力1, 范秀敏1,2, 刘振峰1, 邓逸辰1

(1. 上海交通大学 机械与动力工程学院, 上海 200240;2. 上海市网络化制造与企业信息化重点实验室, 上海 200030)

通过分析真实实验流程,基于OSG(OpenSceneGraph)图形渲染引擎及Bullet物理引擎,提出根据机构设计方案,在虚拟环境中进行机构拼装,并对完成拼装的机构进行运动学仿真的实现方法,包括虚拟构件的信息建模与管理、装配约束特征识别、约束解算及机构运动学自动建模与运动解算等。基于这些方法,开发了机构拼装与运动仿真虚拟实验平台,以曲柄摇杆与摇杆滑块机构拼装实验对实现方法进行了验证。

虚拟实验; 虚拟装配; 机构运动仿真; Bullet

机械基础实验教学是机械教学中不可或缺的重要环节。通过实验,学生不仅能加深对课程理论知识的理解和掌握,而且能将理论知识与实际应用结合起来,在锻炼学生动手能力的同时,也能锻炼学生分析问题、解决问题的能力。传统的机械基础实验面临资金投入大、实验过程损耗大、实验室管理难度大及设备维护费用高等突出问题[1]。

笔者在课题组以往虚拟装配领域研究[2]的基础上,对机构拼装与运动仿真虚拟实验平台(mechanical assembly virtual experiment platform, MAVEP)进行了创新研究和成功应用。

1 机构拼装及运动仿真虚拟实验平台结构

机构拼装及运动仿真虚拟实验是机械类虚拟实验的一种。许多学者对这类实验进行了研究,提出的实现方案主要分为3类。

第一类是将操作过程录制为视频进行演示教学。文献[3]通过动画演示典型机构的运行效果;文献[4]基于Solidworks的网络浏览器eDrawings建设了机械基础网络交互式虚拟实验系统,进行机械设计教学辅助演示;文献[5]基于Cult 3D技术实现了机构的装配复现,并以动画方式实现对机构运动的动态显示。

第二类是对商业软件进行二次开发,借助商业软件内核实现装配及仿真。文献[6]提出利用Solidworks建立典型机构的三维模型库,将装配模型导入ADAMS中进行运动仿真;文献[7]建立了一种三自由度平面并联机构虚拟样机实验平台,利用ADAMS完成对平面3RRR并联机构的仿真分析;文献[8]设计了一套基于Solidworks的虚拟装配实验系统,采用Cosmosmontion插件进行机构运动仿真分析。

第三类是自主开发机构装配和运动仿真软件。文献[9]采用Modelica语言实现了对典型机构的逻辑运算,驱动机构运动仿真;文献[10]采用Matlab的SimMechanics仿真模块实现对简单机构的运动学解算。但是,目前除了使用商业软件外,能支持在三维虚拟环境中自行设计的机构进行拼装,并且拼装后可进行机构运动仿真的平台并不多。商业软件使用时需要较高理论知识,学生需先学会软件的复杂操作流程,这给本科生的教学带来不便。

笔者创新开发的机构拼装与运动仿真虚拟实验平台以OSG(OpenSceneGraph)作为渲染引擎进行三维可视化显示,以Bullet物理引擎支持运动学仿真。平台建有典型虚拟构件库,能选择构件进行自由拼装;在装配过程中能实现约束的动态识别,自动完成几何模型至刚体模型、几何约束至运动副映射,完成装配后可进行机构的运动学仿真。该平台主要包括两大功能模块——CAD环境建模模块与虚拟实验环境模块(见图1),每个模块中又分别包含若干子功能模块。

图1 机构拼装与运动仿真虚拟实验平台框架图

(1) CAD环境建模模块。该模块主要用于创建虚拟构件三维模型,同时利用CAD二次开发功能编写接口程序,提取构件模型信息并创建构件信息文件。接口程序的主要功能包括:交互式几何特征选取、构件模型基本信息提取(包括位置、姿态、点线面信息等)、约束特征信息生成、信息文件输出。本文以Pro/E建模软件实现。

(2) 虚拟场景控制模块。该模块作为平台的最主要模块,对虚拟场景进行组织管理,其主要功能包括:虚拟构件管理、模型操纵控制、虚拟场景更新、视角控制、3D立体显示支持、分析结果图表显示支持。

(3) 装配操作仿真模块。该模块主要用于进行机构装配仿真操作和建立几何约束,其主要功能包括:装配约束自动识别和装配约束确认解算。

(4) Bullet机构运动学仿真模块。该模块支持机构的运动学仿真,其主要功能包括:几何模型至刚体模型映射、运动副自动建模、机构运动学解算。

2 关键技术及解决方案

创新机构拼装与运动仿真虚拟实验平台的关键技术主要有基于约束特征的构件信息建模与管理、装配约束特征识别与约束解算、机构运动学自动建模与运动解算。

2.1 基于约束特征的构件信息建模与管理

为实现机构的自由拼装,需要对典型构件进行抽象与统一数字化建模。为提高交互的实时性,在装配系统中采用了多边形面片模型对零部件进行描述。本文利用Pro/E的二次开发功能,将几何实体模型转换为三角面片模型进行零部件的几何外形描述。但使用三角面片模型进行简化也存在一些问题,如缺失一定的几何精度、拓扑信息和工程设计信息。因此,需要采用构件信息文件与三角面片模型共同描述虚拟构件。

利用构件信息文件来补充描述完整的构件信息,包括构件ID、构件基本信息、版本信息、属性信息、几何拓扑信息、约束项信息。

(1) 构件ID:它是虚拟构件的唯一标志,用于区分与查找各个虚拟构件。

(2) 构件基本信息:包括构件名称,构件类型,构件功能描述,三维模型路径等,用于对虚拟构件进行描述以及与三维模型进行关联。

(3) 版本信息:包括版本号,创建者,创建日期,修改日期,用于对虚拟构件进行版本管理。

(4) 属性信息:它是描述构件的物理信息,赋予虚拟构件物理特性。

(5) 几何拓扑信息:用于构建约束项信息并参与约束识别。

(6) 约束项信息:通常有单向和双向2种约束方式,单向约束即约束信息完全存储于待装零部件,而双向约束将约束信息分解为两部分,分别存储于已装配零部件与待装零部件。本文采用双向约束,将每一个约束分解为2个约束项,约束项由约束类型、约束参数、约束范围及构成约束项的几何元素ID构成。几何元素ID与几何拓扑信息中的几何元素一一对应。每一个零部件存储若干约束项,若两个零部件之间的约束项满足一定关系,即可进行识别并建立一个完整的约束。图2及表1分析了连杆构件所具有约束项及组成约束项的几何元素。

图2 连杆构件几何元素

约束项类型约束项元素1约束项元素2约束项元素3轴孔约束轴A面A⁃轴孔约束轴A面B⁃轴孔约束轴B面A⁃轴孔约束轴B面B⁃移动约束面A面C面D移动约束面B面C面D

由于虚拟实验平台中虚拟构件数量较多,有必要对构件的几何模型文件及构件的信息文件进行管理。本文以XML实现虚拟构件库对虚拟构件进行组织管理,以DOM技术对XML文档进行解析。DOM技术是基于树型的解析技术[11],XML文档被加载后,在内存形成DOM树,通过遍历DOM树,可方便获取指定构件节点的信息。虚拟构件库的XML形式描述如下:

虚拟构件库的XML描述中包括构件几何模型文件目录,所有的构件模型及构件信息文件均存放在该目录之下进行统一管理。对每个虚拟构件的描述包含序号、文件名称、显示名称及参数等4项信息。

2.2 装配约束特征识别与约束解算

虚拟装配过程即建立各零部件之间约束关系的过程,约束关系的建立分为两部分:约束特征的自动识别与约束解算。用户操作待拼装零部件,平台根据用户的操作意图,对待拼装零部件与已拼装零部件之间可能存在的匹配约束项进行识别,由用户进行确认。装配约束识别与约束解算的具体过程如图3所示。

图3 装配约束识别与约束解算过程

在进行约束识别时,需要判断是否存在已装配构件与待装构件接近。已装配构件中通常包含若干已装配构件,利用AABB包围盒或包围球相交测试来判断接近性通常不能满足精度要求。本文利用已装配构件与待装构件的OBB包围盒相交测试来判断两个构件之间的接近性。但对于杆件,若直接进行OBB包围盒相交测试,则两杆件发生穿透时才相交,真实性差。因此,要对已装配构件的包围盒设定一个放大系数,将放大包围盒与待装构件包围盒进行相交测试。OBB包围盒的相交测试采用分离轴算法[12],调整已装配构件的放大系数,可以设定识别精度。包围盒与待装构件包围盒相交的已装配构件将被设定为识别构件,进行约束项的识别解算。图4为虚拟构件接近识别。

图4 虚拟构件接近识别

在识别出接近虚拟构件后,需要识别出匹配的约束对。本文根据约束的类型、约束几何元素的相对位置关系以及约束的尺寸参数等,来增强约束项识别的准确性。例如在一个连杆与一个转动副轴之间建立轴孔约束时,需识别出一对对齐轴线及一对贴合面。虚拟实验平台根据调整的待装构件的位置姿态,计算连杆与转动副轴中每个孔或轴的轴线之间的距离,按最小距离识别出用户希望建立约束的孔与轴的位置;计算2个连杆可形成贴合面的各面之间的距离,按最小距离识别出用户希望建立约束的贴合面。由识别出的轴线与贴合面确定出两构件各自的匹配约束项。

2.3 基于Bullet的机构运动学仿真

Bullet是一个跨平台的物理引擎,支持三维碰撞检测、刚体动力学与柔体动力学解算。本文利用Bullet实现机构的运动学仿真。图5是利用Bullet进行运动学解算的流程。在进行运动学解算前,需要将装配仿真过程中导入的几何模型及建立的几何约束关系转换成Bullet支持的刚体模型及运动副。刚体模型用于描述参与仿真的物理实体模型;运动副用于描述参与运动的刚体模型之间的约束关系;几何模型用于可视化显示及装配仿真。

图5 基于Bullet的运动学解算流程

首先,由OSG描述的三角面片几何模型转换为由Bullet描述的刚体碰撞模型,支持仿真过程中的碰撞检测;其次,读取构件信息文件中的物理信息并赋予刚体碰撞模型,形成包含物理信息的完整构件描述模型;最后,获取装配完成后几何模型的位置与姿态信息,设置刚体模型的位置与姿态属性,使两者保持一致。在几何模型映射为刚体模型过程中,静态构件(如机架)与动态构件以构件质量进行区分:若其质量为零,则为静态构件,在机构运动过程中保持固定;若其质量为正值,则其为动态构件,在运动过程中参与运动。

Bullet物理引擎基于运动副进行运动解算。用户在进行机构的拼装过程中,创建虚拟构件之间的几何约束。在运动学仿真前,需实现由几何约束至运动副的自动建模,提取几何约束中有关信息进行组织转换,建立Bullet引擎所支持的运动副。通常在形成运动约束关系的两个运动构件上分别建立约束坐标系来共同描述运动副。约束坐标系相对虚拟构件自身局部坐标系建立,以相对于局部坐标系的变换矩阵表达,在机构运动过程中,约束坐标系相对虚拟构件保持不变。以轴孔约束至铰接副的自动建模为例,轴孔约束利用轴与孔的一对轴线及一对贴合面建立,如图6所示。

图6 轴孔约束至铰接副自动建模

建立铰接副需建如图6所示的2个约束坐标系,约束坐标系以相对构件局部坐标系的变换矩阵表达:

式中,Mc为约束坐标系变换矩阵,Ml为构件局部坐标系变换矩阵,Ml_c为局部坐标系至约束坐标系的转换矩阵。Ml_c通过提取几何约束信息计算建立。铰接副绕z轴旋转,必须保证两构件约束坐标系z轴同向,否则在机构运动仿真时,构件会发生翻转,破坏运动副。

完成几何模型至刚体模型、几何约束至运动副的自动转换后,设置驱动及仿真参数。Bullet引擎根据刚体之间的运动副关系及驱动信息,对机构运动进行解算,计算每个时刻各运动构件刚体模型的位置及姿态、速度、加速度等信息,以计算结果设置刚体模型对应属性,刚体模型再根据自身属性更新几何模型相应的状态,实现机构运动的可视化仿真。

3 系统开发与应用实例

以C++作为开发语言,Visual Studio 2005作为开发工具,以OSG图形渲染引擎及Bullet物理引擎作为支持,开发了创新机构拼装与运动仿真虚拟实验平台,实现了虚拟场景创建与管理、模型节点维护、基本模型操作等虚拟现实基本功能。该平台适用于学生进行机构拼装仿真、机构运动分析、机构设计方案验证等。典型的机构拼装实验过程如图7所示。

图7 实验过程

以曲柄摇杆与摇杆滑块机构的拼装与仿真为例,在3D环境下进行虚拟实验的具体过程如下。

步骤1:根据自行设计的机构简图,在平台虚拟构件库中选择所需尺寸的构件,将其从构件库导入虚拟场景中,将基座、连杆、转动副轴、移动副轴等导入虚拟实验平台。

步骤2:进行虚拟拼装过程仿真,将各个虚拟构件拼装成完整机构。依次调整各个构件的位置与姿态,对动态识别约束进行确认,建立各个构件之间的几何约束关系。

步骤3:通过平台功能,检查各个构件之间运动副的正确性,对错误运动副进行修改,选定主动件,设定驱动信息。

步骤4:设置仿真运行参数、设置仿真开始时间和结束时间、仿真步数或仿真步长。

步骤5:进行机构运动仿真,查看仿真结果。

利用Pro/E建模软件建立同样的曲柄摇杆与摇杆滑块机构并对其运动分析,将分析结果与创新机构拼装与运动仿真虚拟实验平台的分析结果进行了对比,两者的分析结果一致(见图8),由此验证了该实验平台分析结果的正确性。

图8 曲柄摇杆与摇杆滑块机构运动分析结果对比

4 结束语

为构建创新的机构拼装与运动仿真虚拟实验系统,对CAD软件进行了二次开发,采用XML对虚拟构件进行组织与管理,利用扩大OBB包围盒进行相交测试,实现约束动态识别并建立虚拟构件之间的约束,以Bullet实现机构的运动学解算。这些方法的提出,解决了根据设计简图进行自由拼装后,系统能自动进行机构运动学仿真的问题。虚拟实验平台采用积木式组合装配方案,支持3D立体显示,操作过程简单,更好地模拟了实物的拼装实验。

References)

[1] 陈小红.基于仿真软件的虚拟实验设计与应用[D].上海:上海师范大学,2010.

[2] 杨润党,武殿梁,范秀敏,等.基于约束的虚拟装配技术研究[J].计算机集成制造系统,2006(3):413-419.

[3] 付顺玲,王洪欣,李允旺.机械原理虚拟实验系统的开发与应用[J].实验室研究与探索,2004,23(2):56-57,62.

[4] 姜淑敏,杨洋,冯巍.机械基础网络交互式虚拟实验室的研究与实现[J].实验室研究与探索,2005,24(9):17-19,47.

[5] 胡林岚,包峥嵘.基于Cult 3D的机械创新虚拟实验项目研究[J].实验室研究与探索,2013,32(5):250-254.

[6] 张继忠,隋博,秦世安,等.机构运动方案仿真实验平台研究[J].实验科学与技术,2010(3):17-19.

[7] 许冯平,赵军,李月满.平面三自由度并联机构虚拟实验平台的设计[J].实验技术与管理,2008,25(6):79-82.

[8] 杨文敏,朱山立,吴明亮.虚实结合开设机构运动方案创新设计实验[J].实验技术与管理,2006,23(11):21-23.

[9] 马彦军,程奂翀,周鑫,等.机械原理虚拟实验构件统一建模及应用[J].实验室研究与探索,2010,29(10):266-269,287.

[10] Alvarez J C, Su H J. VRMDS: an intuitive virtual environment for supporting the conceptual design of mechanisms[J].Virtual Reality,2012,16(1):57-68.

[11] 刘芳,肖铁军.XML应用的基石:XML解析技术[J].计算机工程与设计,2005(10):2823-2824,2839.

[12] 朱洪敏,武殿梁,范秀敏.分布式虚拟装配环境中碰撞检测方法研究[J].系统仿真学报,2009(22):7154-7159.

Research on experimental platform for innovative mechanism assembly and simulation

Tian Li1, Fan Xiumin1,2,Liu Zhenfeng1,Deng Yichen1

(1. School of Mechanical Engineering, Shanghai Jiao Tong University, Shanghai 200240, China; 2. Shanghai Key Lab of Advanced Manufacturing Environment, Shanghai 200230, China )

A complete virtual machinery experiment platform with mechanical innovation assembly and kinetic simulation modules are built to re-appear the real material experiments. The platform proposes several methods to realized mechanical system assembly according to innovation designing scheme and mechanical system kinetic simulation, including the modeling and management of virtual parts, detection and resolving of assembly constraints, as well as auto-modeling and calculation of kinetic parameters. The platform integrates the above methods and builds a virtual reality environment using OSG graphic render engine and Bullet physics engine. A case study is given under the platform by assembling a crank-rocker-slider mechanism and solving its kinetic parameters.

virtual experiment; virtual assembly; mechanism simulation; Bullet

2014- 07- 26

国家科技支撑计划项目(2008BAH29B03);上海交通大学特色实验项目(CE204)

田力(1988—),男,江苏金坛,硕士研究生,研究方向为虚拟现实、虚拟装配技术

E-mail:tiantangtl@sjtu.edu.cn

范秀敏(1971—),女,福建南平,博士,教授,博士生导师,研究方向为数字化制造、虚拟现实、虚拟样机技术.

E-mail:xmfan@sjtu.edu.cn

TP391.9

A

1002-4956(2015)2- 0131- 05

猜你喜欢
运动学约束构件
“碳中和”约束下的路径选择
基于MATLAB的6R机器人逆运动学求解分析
约束离散KP方程族的完全Virasoro对称
工业机器人在MATLAB-Robotics中的运动学分析
基于D-H法的5-DOF串并联机床运动学分析
建筑构件
建筑构件
建筑构件
建筑构件
自我约束是一种境界