当前位置:    首页  虚拟仿真实验平台
虚拟现实场景构建和虚拟装拆实验
发布部门:  发布时间: 2017-07-25  浏览次数: 624

实验项目名称:

虚拟现实场景构建和虚拟装拆实验

项目介绍:

课程性质及背景:

本课程为使机械制造及其自动化专业和车辆工程专业学生能深刻理解机械传动、连接、轴系在定位、固定、拆装、润滑和密封等机械结构设计中的问题,采用VS2010、OSG软件创建一个减速器的三维虚拟现实场景,并可反复虚拟拆装,同时掌握虚拟现实装配的核心功能。 

课程特点及必要性:  

1、可重复性强,零件拆装顺序等操作可模拟真实实验场景;

2、整合虚拟现实技术与网络平台,打破时间、地域限制。

项目目的:

1、通过盾构掘进虚拟现实系统各模块的演示及力反馈、虚拟装配等功能演示,使学生感受虚拟现实的沉浸感等感知。

2、通过本课程的学习,使学生深刻理解减速器设计中零件结构设计对其加工、装拆等影响,提高设计能力;  3、利用虚拟现实技术,深入理解CAD/CAM技术在产品设计、制造和后期维修中的作用,培养数字化设计与制造人才;

面向理论课程:

CAD/CAM技术等

面向专业:

机械设计制造及其自动化、车辆工程、食工、化工

仪器硬件设备及软件环境:

数据手套,位置跟踪装置,虚拟现实软件平台

实验项目功能及效果:

实验内容或任务:

o 将已建立的三维实体模型转换成OSG文件;

o 创建虚拟现实场景,调用OSG文件;

o 通用程序中修改拆装规则(比如某螺栓不拆,箱盖拿不下来;轴系不拆,齿轮拆不出来等规则),实现虚拟装拆。

实验效果:

图1 掘进过程仿真

图2 工作过程性能额仿真

图3 某速度时值面图

图4 学生所做减速器虚拟现实拆装仿真系统

1、将三维模型转换成OSG文件

由于OSG中没有支持solidworks文件的插件,首先在solidworks中将F:\CADCAM实验\虚拟现实认知与场景创建实验\一级减速器\减速器装配体.SLDASM导出wrl文件;然后用3DMAX将文件打开,对模型进行材质设置,图片的渲染,模型坐标的调整以及模型各个节点的命名;3DMAX不能直接导出OSG格式,需要安装一个插件OSGExp1.2.1Install_x64,安装完成后会自动挂在3DMAX上,导出时选中该格式即可,最后导出格式为OSG格式。

2、创建虚拟现实场景

创建虚拟场景通过CCoreOSG::InitManipulators(void)方法来实现,方法中使用了OSG标准的漫游器创建方法,OSG中代码格式为:操作器名称 = new osgGA::创建操作器的方法,如:trackball = new osgGA::TrackballManipulator();

3、初始化虚拟现实场景

通过CCoreOSG::InitSceneGraph(void)方法来实现,其中包含了模型的优化以及把模型加入到场景的操作。

其中优化的代码如下:

osgUtil::Optimizer optimizer;

optimizer.optimize(asmSwitch.get());

初始化相机:通过CCoreOSG::InitCameraConfig(void)方法实现,其中包含了读取窗口,创建相机等操作。

帧前操作:通过CCoreOSG::PreFrameUpdate()方法实现

帧后操作:通过CCoreOSG::PostFrameUpdate()方法实现

4、调用OSG文件

然后通过程序调用OSG文件,把模型读到我们的虚拟环境中去,这就需要我们通过Visual Stduio 2010来实现这个目标。模型的导入主要是读入模型,其核心代码参考如下:

pats = new PositionAttitudeTransform;

pats -> addChild ( chipan6.get() );

pats -> setPosition ( Vec3(0 ,0 , 0) );

ref_ptr<CPnoInfo> pno = new CPnoInfo;

pno->pos_ori = Vec3(0 ,0 , 0 );

pno->quat_ori = Quat(0,Y_AXIS);

pno->pos_obj = Vec3(0 ,0 , 0.3);

pno->quat_obj = Quat(0,Y_AXIS);

pats->setUserData( pno.get() );



联系方式 网站地图 留言板
李立伟设计
地址:郑州市东风路5号郑州轻工业学院机电工程学院    邮编:450002    电话:0371-63556785