论文部分内容阅读
船舶动力装置系统仿真是仿真技术应用于船舶的一个热点,通过对特定船舶动力装置系统进行建模和仿真,能够在避开实船试验和推进主机台架试验情况下,获得动力装置相关数据,实现动力系统的运行监控与测试。目前很多研究机构也展开了相应领域的可视化研究,但是大多是基于特定软件进行的研究,如Vega等,使研究成本相应提高,而且二次开发困难,使用盗版软件会使开发系统不稳定,很多功能不能使用,又不可能进行二次开发,所有这些情况已不能满足现代虚拟现实可视化开发的要求。本文借助与目前应用越来越广泛的三维渲染引擎OpenSceneGraph(OSG)来开发基于船舶驾驶的可视化系统。OSG以其开源特性在虚拟社区迅速传播开来,受到了越来越多的开发者的青睐,应用领域也越来越广泛。视景的显示部分全部依靠OSG的渲染功能显示输出。本课题研究的是船舶的动力装置运动可视化仿真,动力装置的仿真使用Matlab软件,借助windows下VS2005软件开发平台,利用C++语言来管理仿真的运行与仿真运算,数据的存储和读取是利用SQL 2000数据库。首先调用Matlab软件,计算出仿真结果后存入SQL数据库,前台显示则是利用OSG强大的渲染功能,包括动态海洋的渲染,港口模型的显示,运动船舶的渲染等等都放在前台机器上来完成,这样就把大量的工作内容分配到两台计算机里运行,可以使单机配置相对较低,减少开发费用。海面部分采用的是网络上王锐的模拟水面工程,港口则是模拟我国天然深水港口洋山港,按照比例模拟的方法建立模型,特征建筑为东海大桥。船舶则是采用三大船型之一的集装箱船为主。更确切的说本课题模拟了船舶的离、靠泊操作。显示部分主要分为键盘驱动漫游和船舶读取数据自动运行两部分,漫游操纵主要利用OSG交互类osgGA库,文中很多类都是继承自此类库。此外,要实现驾驶效果,还设置了视点跟随效果,漫游和自动运行都设置了视点跟随。本课题具有较强是实际使用意义,特别是以第一人称角色漫游,在完善模型的基础上,可以后续开发出手柄操作和数字手套操作等交互手段,这样可以浏览一些平时在学校和实验室很难看到的大型船厂或船舶,使研究者和学习者都能够对自己所学领域有一个更加感性的直观认识。