APP下载

基于Vega的双通道船舶甲板重吊视景仿真系统

2012-07-12佘建国高军丰范晓卫

舰船科学技术 2012年5期
关键词:视景双通道吊车

佘建国,高军丰,范晓卫

(江苏科技大学机械工程学院,江苏 镇江 212003)

基于Vega的双通道船舶甲板重吊视景仿真系统

佘建国,高军丰,范晓卫

(江苏科技大学机械工程学院,江苏 镇江 212003)

针对船舶甲板重吊货物吊装的操作使用,以三维建模软件MultiGen-Creator、实时仿真驱动软件Vega及VC++为平台,创建码头地形、吊车及船舶等三维模型。基于Vega API函数与C++相结合编程实现船舶货物吊装视景仿真系统的驱动。仿真结果表明,该系统具有较高的真实度,能解决船舶货物装卸的运动模拟、吊装方案设计等诸多问题。

Creator/Vega;双通道;甲板重吊;视景仿真

0 引言

随着科学技术的发展,三维建模软件MultiGen-Creator和视景驱动软件Vega近年来在视景仿真领域得到广泛的应用。由于其本身侧重视觉效果模拟,对要求复杂精确的工程模拟有一定的缺陷。基于多通道显示的视景仿真系统受到了越来越多的关注。该系统的主要特点是利用1个或多个计算机的多个显示通道拼合生成1个完整的视景,为用户提供1个具有高度沉浸感的虚拟环境[1]。随着计算机硬件技术的发展,普通PC的图形计算能力有了极大的提高,基于PC的多通道视景仿真系统已成为1个热门的研究方向[2]。

创建双通道船舶甲板重吊视景仿真系统,重点是精确建立相关的三维模型,如码头地形、船舶及吊车等以及根据货物吊装的实际情况创建运动模型。Creator支持多种模型格式相互转化,所以可采用多种建模相结合的方式来创建仿真系统需要的三维模型,经过Creator软件相关技术优化,最后由Vega创建系统程序框架,以此解决船舶货物吊装模拟问题。

1 基于Creator的码头、吊车及船舶多种软件相结合的建模技术

1.1 Creator对其他软件的支持

MultiGen-Creator对很多工程软件都有支持的特殊格式,它可以输入的图形格式有3ds,dxf,obj,stl等,可以输出的格式有 flt,dxf,wrl,obj,stl等。从MultiGen-Creator可以输入的格式可以看出,它支持UG软件中的stl格式,也就是说在UG中绘图完成后,以stl和dxf/dwg格式保存,再以同样的格式输入到 Creator中。同理,AutoCAD导出的 3ds,dxf,stl,3D Studio Max导出的3ds,stl,dxf,Pro/Engineer导出的obj和dxf等,都可以直接输入到Creator进行处理。

同样,UG的prt、cgm、stl、dxf/dwg格式可以输入到Pro/Engineer,然后再变换格式输入到Creator,有时候可以获得出乎意料的良好结果。在该视景仿真系统中所用模型的建立就采用了此种方法。为了能找到较好的转换途径,将所有的转换路径用图1表示。

图1 建模软件之间互用路径Fig.1 Interwork path diagram of modeling sofwares

1.2 船舶、吊车及码头三维模型的创建

1.2.1 吊车模型的建立

吊车模型数据库的内容主要由塔身、吊臂、底座、操纵舱等组成。创建模型时主要用到的建模工具是Creator,辅之以3dsmax,然后将生成的.max格式文件转化为.flt格式文件。吊车模型数据库建模需要处理好各个部分对象之间的层次关系,合理地组织数据库的层次结构便于场景的管理及视景的生成。采用分层表示法把吊车模型分成4个主要的层次:第1层底座、第2层塔身、第3层操纵舱以及第4层吊臂,并且每个层次都包含具体的细节内容。创建好的吊车三维模型如图2所示。

1.2.2 三维船舶模型的创建

图2 吊车三维模型Fig.2 Three-dimensional model diagram of crane

船舶三维模型数据库是主要采用Auto CAD,3ds Max以及MultiGen Creator相结合创建,由AutoCAD创建的实体模型无法直接导入Creator软件中,必须先导入3ds Max生成.max格式文件,再导入Creator中生成.flt格式文件。由于Creator和AutoCAD这2种软件建模时默认计量单位不一致,当把CAD创建的模型导入到Creator中时,他们之间默认单位是一对一原则,CAD中默认单位是mm,而在Creator中默认单位是m,所以模型导入转换后将放大1 000倍。图3和图4分别为在AutoCAD中创建和经过Creator处理过的船舶三维模型。

1.2.3 码头地形三维模型的创建

码头地形三维模型数据库主要采用MultiGen-Creator建模工具,辅之以建模软件3ds Max和Auto CAD,由.max或者.dxf格式导入 Creator生成.flt格式。然后在码头地形模型表面添加RGB以及RGBA格式的纹理,如山脉、树木、水面等图片纹理,使虚拟场景看起来更加接近现实的码头场景。完成之后的码头地形模型数据库如图5所示。

1.3 三维模型数据库的优化

图5 码头地形场景模型数据库Fig.5 Scene model database of terminal

为了增强仿真系统的实时性及真实性,需要对三维模型进行优化。该系统主要用到的优化技术包括细节层次模型(LOD)、纹理映射和实例技术等[3]。

1)LOD技术

根据实际需要设定一定的判断条件,仿真过程中实时地选择不同细节层次的模型,在既不影响视觉画面的同时也能实现虚拟场景显示的实时性,减少仿真系统的开销,协调仿真系统的实时性和逼真性的关系[4],如图6 所示。

图6 吊车滑轮的层次细节模型Fig.6 The level of detail crane pulley

2)纹理映射

采用纹理映射技术不但能表达出模型细节,赋予模型鲜明的材质和贴图特征等,而且不会增加模型的复杂程度[5]。它可以增加三维模型细节水平,增强虚拟场景的真实性;提高模型对象的三维像素水平;模型多边形数量大大减少,提高了仿真系统的实时渲染性能。

3)实例技术

通过实例化创建的模型副本并不会增加模型数据库的多边形数量。因此,创建模型对象的过程中,适当地采用实例化技术创建模型实例,可以节省仿真系统的内存空间以及磁盘存储的空间,与此同时,还能提高实时仿真系统的处理性能。实例化技术是简化模型数据库的有效手段,特别是对于模型数据库中简单的、具有重复性的模型对象更是如此,如图7所示。

图7 实例技术的应用Fig.7 Application of instance technic

2 基于Vega的实时仿真系统的建立

2.1 吊车模型的控制

根据视景仿真系统实时互动的特点,本文采用手动操作鼠标和键盘的输入方式来控制克令吊的各种运动,达到实时互动的要求。根据克令吊的运动特性,把克令吊的运动分为回转和提升2个主要运动,如图8所示。在建立克令吊模型时,定义相应的DOF节点,如以塔身与底座的联接处的中心为局部坐标系的原点,塔身中心线为z轴、吊臂方向为x轴、由xz面确定y轴。通过VC++编程,调用Vega函数库中的vgFindPart()函数找到之前定义好的DOF节点即可,如图9所示。首先定义吊车正向旋转、反向旋转、货物提升及货物下降4个函数:Rotate(),RevRotate(),StepUp()及StepDown(),然后在主循环程序中调用相应的函数,采用键盘上的A,D,W,S键分别控制吊车的4种运动。这样1个完整的运动模型就建立了,可以通过基于VC++的Vega应用程序来驱动各个部件,使其产生运动[6]。

代码如下:

2.2 双通道窗口的配置

Vega具有多通道(Multi_Channels)显示功能,不但可以1个窗口显示多个通道,甚至可以多个窗口显示多个通道,通道与通道之间实现无缝拼接,相互重叠等功能。因此,本仿真系统预先设定的双通道显示功能可以轻松实现,即可以同时显示从操纵舱正前方向、斜前下方向的视景,从而进行监视和控制,双通道视景的目的是为仿真中的观察者或参与者提供大视场,如图10所示。

图10 Vega双通道显示Fig.10 Vega dual-channel display

2.3 基于VC++的Vega应用程序设计

从程序员的角度看,Vega本质上是1套与图形硬件无关的开发高级视景仿真应用的软件接口,它包含上百个用C语言编写的应用程序编程接口(API)函数,可以通过这些函数高效地对虚拟场景进行实时的交互控制。Vega结合先进的模拟技术通过简单可利用的应用工具,提供了一种能快速准确地建立复杂应用模型的方法,并且能提供复杂的虚拟模拟原型[7]。Vega内部含有多种用途的模块,可以方便实现仿真系统中要求的功能[8]。

虽然Vega三维图形开发库功能强大,但它毕竟不是万能的,当需要建立完整、灵活多变并且具有校核功能的视景仿真系统,就体现出了它的局限性。此时,基于C++的应用程序编程接口(Vega API)函数可以方便地解决相应问题。仿真系统进行货物吊装时,有复杂的数学运算、货物的吊装点选择计算等,这些都可以通过VC++平台编程实现。在船舶货物吊装过程中,货物是被动的,它的空间位置也在实时变化,并跟绳子端点相连接,绳子与船舶吊车所受的力也在不断变化,仿真系统需要对这些变化实时控制。在VC++自带的函数库中可以进行编程计算,实现上述功能。应用程序框架图如图11所示。

图11 应用程序框架Fig.11 Application framework chart

3 结语

本文根据船舶甲板重吊吊装货物的特点,利用多种建模软件相结合的方式分别创建地形码头、船舶、吊车等对象的三维模型,并利用C++语言基于Vega三维图形开发库开发此仿真系统,本文主要完成了以下工作:

1)根据甲板重吊的运动特性,建立了吊车的运动模型;

2)以视景驱动软件Vega,实现了吊车视景仿真系统,解决了仿真过程中模拟操作吊车的控制、双通道显示等问题。

仿真结果表明,该仿真系统具有较高的逼真度,达到了良好的视景仿真效果,符合人们的操作习惯,可以满足甲板重吊模拟培训的要求。但仿真细节还不够完善,在吊装货物时吊钩与货物不能完全联动,这将通过进一步的分析来完善此仿真系统。

[1]肖鹏,刘更代,徐明亮.OpenSceneGraph三维渲染引擎编程指南[M].北京:清华大学出版社,2010.

[2]王锐,钱学雷.OpenSceneGraph三维渲染引擎设计与实践[M].北京:清华大学出版社,2010.

[3]洪光,李洪儒,牟建国.基于Creator的三维模型的简化研究[J].计算机仿真,2004,21(1):57-58,115.

HONGGuang, LIHong - ru, MU Jian-guo.The simplification of the 3D model based on creator[J].Computer Simulation,2004,21(1):57-58,115.

[4]官巍,蔡晓琳,陈海.细节层次技术在场景建模中的应用[J].系统仿真学报,2006,18(S2):427-429.GUAN Wei,CAI Xiao-lin,CHEN Hai.Application of level of detail technique in scene modeling[J].Journal of System Simulation,2006,18(S2):427-429.

[5]王延红,袁媛,杨平利,等.建模软件Creator中的纹理映射技术[J].中国体视学与图像分析,2008,13(1):63-66.

WANG Yan-hong,YUAN Yuan,YANG Ping-li,et al.Texture mapping technology in modeling software Creator[J].Chinese Journal of Stereology and Image Analysis,2008,13(1):63-66.

[6]龚卓蓉.Vega程序设计[M].北京:国防工业出版社,2002.

[7]MultiGen-paradigm Inc.Vega diguy help[M].Dallas:MultiGen-Paradigm,Inc,2001.

[8]和平鸽工作室.OpenGL三维图形系统开发与实用技术[M].重庆:重庆大学出版社,2003.

Research on dual-channel ship crane visual simulation system based on Vega

SHE Jian-guo,GAO Jun-feng,FAN Xiao-wei
(School of Mechanical Engineering,Jiangsu University of Science and Technology,Zhenjiang 212003,China)

For the operation of ship crane hoisting,this study constructs 3D models of wharf terrain,crane and ship et al.Based on three-dimension modeling software MultiGen-Creator,the real-time visual driving software Vega and VC++,realized ship's cargo hoisting visual simulation system driving based on Vega API combined with C++ .Simulation results show that the system is highly realistic,can solve many problems about hoisting including the moving simulation and the hoisting project.

Creator/Vega;dual-channel;ship crane;visual simulation

U663.6;TP31

A

1672-7649(2012)05-0062-05

10.3404/j.issn.1672-7649.2012.05.014

2011-05-11;

2011-07-19

佘建国(1963-),男,硕士,副教授,研究方向为机构学和视景仿真。

猜你喜欢

视景双通道吊车
近端胃切除双通道重建及全胃切除术用于胃上部癌根治术的疗效
虚拟现实技术在游戏设计中的应用及研究
福建省医保局率先上线省级“双通道”电子处方流转服务
炼钢厂吊车啃轨原因调查与分析
某炮模拟训练系统中三维视景的设计与实现
电力信息网络双通道故障自动探测策略探究
基于预测和双缓冲区的直升机视景仿真
骄傲的大吊车
智典DDR2 800 2GB/4GB
全回转拖轮运动建模与视景仿真