基于Videotrace的新型船舶模拟器仿真研发
2014-05-07李婷云刘建安徐轶群
李婷云,刘建安,徐轶群
基于Videotrace的新型船舶模拟器仿真研发
李婷云1,刘建安1,徐轶群2
(1. 福建船政交通职业学院,福州 350007;2. 集美大学轮机工程学院,福建厦门 361021)
采用Videotrace和VRML语言开发新型船舶模拟器仿真系统。本文介绍了机舱三维建模、云服务器解析建模、虚拟场景的交互设计和仿真平台的关键技术实现,新型模拟器仿真系统具有良好的二次开发和交互扩展功能,对于复合型船员培训模式的探索提供了重要探索意义。
Videotrace VRML 解析建模 云服务器 复合型船员 船舶模拟器
0 引言
随着现代科学技术和国际航运业的不断发展,船舶的智能化和自动化程度越来越高,已由单一系统自动化向计算机集中控制的船舶综合自动化方向发展,先进国家正在进行智能化船舶的研究。复合型人才的需求将会急剧增加[1]。复合型人才的培训模式将由以前的驾驶和轮机单一培训模式改为驾机合一的双职培训模式。所以研发符合新时代要求的复合型船员培训需求的多船种多平台多模式的驾机合一船舶模拟器也迫在眉睫。从国内外研制船舶模拟器的历史与现状来看,以前受到计算机仿真技术等各方面条件的限制,模拟器功能和界面比较单一,虽然船舶模拟器系统和设备装置的模型越来越逼真,但仿真的目的不仅仅是外观逼真,更重要的是仿真操纵过程和控制逻辑,动态过程的分析和交互操作的需求也日益增加。本文重点探讨复合型船舶虚拟交互仿真平台构建的可行性,为将来培养新型船舶的复合型船员提供重要的培训模式。
1 Videotrace三维建模软件
Videotrace是Australian Centre for Visual Technologies公司开发的基于图像序列或视频的快速交互式三维建模软件,通过输入一段未标定的二维序列图片、视频模式或视频序列,系统能够自动地恢复出camera参数。只需要在少量的图像上简单勾画出建模对象的大概轮廓或形体结构,通过云处理技术向服务器获取自动解析,云服务器解析出多帧之间用户交互的对应关系,从而迅速、逼真地构建出三维交互模型和虚拟场景。
图1 Videotrace建模流程
Videotrace允许用户利用简单直观的交互操作快速重建出二维模型,使得从真实场景中逼真地重建三维模型的过程变得非常容易、方便。它将图像信息、摄像机参数信息和用户交互很好地结合起来,实现了高效的半自动建模方式.系统提供的点与线段、直线与平面以及曲线与曲面的建模功能,能够切实满足船舶机舱中复杂场景的快速逼真的建模要求[2]。
2 云服务器解析建模
云技术通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,由后台服务器进行分析计算,即Videotrace 云处理技术的核心是远程的大型云服务器。
该服务器对我们构建的模型轮廓进行解析处理,并把模型解析结果发回到用户端,我们只需要耐心等待一下,即可用IE进行浏览观看。其最大的优势就是减少我们个人电脑的负担,将复杂化、系统化的处理过程都交给远程服务器来运行,对用户电脑的性能配置要求和空间需求降到很低。即在免费的开放的服务器的软件平台上,一台普通的电脑就可以进行三维的复杂模型的开发,建模的速度和精确度取决于云服务器。
本文对于复杂的不规则建模对象比如电动机进行视频录制,转换成一段视频序列,在Videotrace中对该段视频序列进行手动交互式建模,利用点线面简单素描勾勒出二维上的点和曲线之间的对应关系,云处理服务器利用图像信息和摄像机参数信息构建三维计算机视觉模型,这个简单的直观模型利用云处理服务器解析塑造成一个逼真的3D模型,如图2所示。有些Videotrace视频场景中不可见的部分模型还可以通过手动和自动重建的方式进行重组。
图2 Videotrace服务器解析电动机模型
3 设备模型库
机舱三维场景模型比较复杂繁多,根据部件尺寸、形状、位置、运动关系将机舱分成几大系统,按照不同系统建立不同的文件,机舱部分仿真对象需要精细建模的,有些设备只是勾画简单轮廓,生成不同层次的设备模型库。
机舱内需要重点建模的仿真对象利用Videotrace的Export导出.WRL数据模型文件,再调入VRML编辑器进行编辑交互处理,该文件模型具有良好的通用性、可扩展性、二次开发能力、方便调用、交互操作控制、与web网页的无缝衔接等优点,在网络上传输的是模型文件,而不是视频图像文件,故其传输量大大减小,即在普通电脑上借助视景仿真开发环境Vrmlpad或者文档都能制作可在互联网上实时渲染的3D场景模型。
本文系统中一些不需要精确建模的设备对象借助三维建模工具Solidworks和3D Max共同辅助开发,视景仿真开发环境Vrmlpad、面向对象开发环境PHP,共同完成了驾机合一船舶虚拟仿真交互系统.其中系统的主体框架由面向对象开发环境Window完成,并通过Vrmlpad应用程序的Route接口驱动实时视景仿真应用。
机舱较大型的复杂模型比如主机模型不规则,纹理也较多,为了减小模型对计算机资源的占用,保证视景仿真的实时性,必须利用LOD算法对所建模型进行优化。在距离观察者很远时只显示大概轮廓,当观察者足够接近模型时才调用详细模型,这样既可满足设计需要,又可节省资源,提高VRML编程效率[3]。VRML的颜色插补器、法线插补器、坐标插补器、位置插补器等能更真实地建立模型和场景,更准确地定位模型、描述其运动,达到很好的仿真效果,并且文件所占空间很小(一般为几十KB)。根据Inline节点调入模型文件进行整体组合,同时利用Javascript、Java等语言提供的接口与Javascript、Java集成,共同完成整体的动态交互仿真功能。
4 船舶模拟器虚拟仿真平台关键技术
4.1 子系统模型调用
当学员在机舱虚拟场景中进行浏览时,在虚拟场景中进行自由地缩放、移动、旋转各模型及三维场景,很清楚地了解设备的动态特性并进行交互操作,也可以通过右键选择浏览锚点快速切换浏览场景。
机舱各个门室的开启可以通过操作左键来进行点击触碰,事件TOUCH里包含有数据信息,用来改变虚拟场景状态的触发器,学员在场景中漫游时,事件会根据内置Camera进行实时变换场景模型,还可以根据远近距离和时间推移调用LOD函数,机舱各个子系统仿真模型通过Inline节点和Anchor节点进行调用,在虚拟仿真平台上起着至关重要的作用,场景节点通过事件入口和出口接收和发出事件,传递交互操作数据和三维对象,经过普通IE浏览器的解释执行和客户端的实时渲染,显示动态变化的虚拟场景,再现犹如身临其境的实船效果。
4.2 三维交互操作
在服务器端要完成人机的信息实时交互和操作维护,客户端必须与服务器端进行一系列的交互操作。除了VRML自身的交互功能节点、多媒体功能和网络功能外,同时具有支持与Java 、JavaScript 等语言的接口功能,因此在具体的交互操作应用时就具有更强更大的编辑设计能力,同时也可以更加方便、灵活对各种图形和动画进行有效的控制[4]。
JavaScript是一种解释型的编程语言,可以直接嵌入到HTML语言中并动态改变其各种事件属性,轻松实现模型对象与用户之间的交互;DOM技术可以非常直观地将HTML文档进行统一模型化处理。
本系统主要是采用VRML语言与Java语言结合来实现的,其中Script节点是连接VRML和Java 的桥梁。Java是通过附加的封装类实现VRML浏览器插件的安装,程序自动将这些类安装到指定目录下,通过这些类 Java 程序就能够访问VRML场景接受和发送事件,从场景中实时获得指定点的坐标,得到指定地点的信息、动态控制场景等功能,从页面上得到VRML对象实现对VRML场景的完全控制 VRML[5]。
4.3 二维和三维场景无缝嵌套
本文构建的船舶虚拟仿真平台主要是基于WEB的三维虚拟交互仿真,采用Dreamweaver和FrontPage实现HTML网页制作轮机模拟器的系统界面和网络发布,利用PHP脚本语言实现对网页的管理和外部的链接通信,构建二维和三维场景界面的无缝衔接。
系统是基于B/S(Browser/Server)模式的,其优点在于客户端可通过Internet直接访问服务器端。对客户端配置要求比较低(利用浏览器插件如Cosmo Player浏览vrml文件即可),由于浏览器是本地平台提供的,实现了平台的无关性和开放性;在服务器端主要有三个部分:1)网络部分负责处理来自客户端的请求包括保存用户的登录名和密码;2)实现和客户端的通讯上传和下载相关文件资源,也可以修改和保存数据库和新文件。3)从数据库中取出原始数据来构建虚拟环境。用Java Applet从数据库中获取数据并与VRML文件通信,获得初始数据的VRML文件在浏览器中展现初始场景。Web页面中提供了交互界面,允许学员输入特定参数的值实现设备的动态设计和系统结构。获取数据后的设备性能分析与优化存取数据、处理优化的数学模型和可靠性分析均可通过Java结合数据库编程实现,优化解直接传送给Applet[6],Applet与VRML文件及页面数据进行通信并使之实时显示。
学员除了本地交互操作练习外还可以通过浏览器远程连接本模拟器的网络服务器,实现远程访问和下载轮机模拟器三维虚拟数据模型文件,并且通过接口调用操纵过程中的场景动态效果数据,并能够通过服务器和交互界面把操纵的三维动态效果场景信息与其他用户进行交互操作和动态浏览。
5 小结
本文系统地分析了当今轮机模拟器培训存在的主要问题,通过比较论证,详细阐述了虚拟轮机模拟器的研制开发,使复合型船员需求培训模式和虚拟技术相结合,优化和拓展新型船舶轮机模拟器的功能模块,提高其使用效率。根据新型船舶模拟器的仿真需求,结合三维建模虚拟场景和交互控制操作等相关技术,简要分析了系统的建模过程和关键技术,船舶模拟器虚拟平台的整体框架设计,并对系统的三维图形化建模、子系统调用、模型库管理和交互操作四个主要模块的设计和实现进行了详细的总结和描述。需要指出,本文对轮机模拟器的研究技术也不完全成熟,目的是从航海教育培训角度提出新型船舶模拟器改进和创新的理念与方法,从而可以合理利用教学资源、增强教学中的综合感官效果、改善系统运行的稳定性、提高教学培训效果,积极与海上安全监督部门及各航运公司共同研究协商,在统一思想和行动的基础上,把握国内外航海教育的市场信息走向与行业动态,做好培养航海复合型人才的试行工作。
[1] 刘正江. 培养复合型航海类专门人才大力支持国际航运事业发展[J]. 航海教育研究, 2012, (12): 15.
[2] 姜翰青, 章国锋等. 基于图像序列的交互式快速建模系统[J]. 计算机辅助设计与图形学学报, 2008, (9): 15.
[3] 陈华, 陈福民, 基于VRML的虚拟场景的设计与实现[J]. 计算机工程与应用, 2002, (3): 15.
[4] 胡琦. WEB3D虚拟现实技术在轮机模拟器中的应用研究[D]. 华东师范大学, 2011, (3): 1.
[5] 王汝传, 姚旭敏, 王海艳, 刘丽. 基于Java和VRML虚拟场景通信方式的研究[J]. 系统仿真学报, 2003, (7): 20.
[6] 莫雨帆. 虚拟现实漫游系统的研究和实现方法[D]. 武汉科技大学, 2012, (5): 5.
The Development of A New Virtual Marine Simulator Based on Videotrace
Li Tingyun1, Liu Jian’an1, Xu Yiqun2
(1. Fujian Chuanzheng Communications College, Fuzhou 350007; 2. Jimei University Marine Engineering Institute, XiaMen 361021, Fujian, China)
TP391.9
A
1003-4862(2014)12-0067-03
2014-05-27
福建省交通厅横向课题研究项目(项目编号:201332)
李婷云(1983-),女,硕士研究生,讲师。研究方向:船舶电气,船舶模拟器虚拟仿真。