APP下载

航行训练模拟器陆标定位功能的模拟与实现

2012-11-24肖剑波胡大斌胡锦晖

浙江交通职业技术学院学报 2012年4期
关键词:罗经视景海图

肖剑波,胡大斌,胡锦晖

(海军工程大学 船舶与动力学院,武汉 430033)

0 引 言

航行训练模拟器是一种典型的人在回路仿真,人作为一个环节参与到仿真系统中,通过对仿真系统提供的各种信息进行判断和决策,从而进行模拟操纵和控制,以实现船员训练、方案论证、海事分析等目的[1]。

利用目力能见范围内的陆岸、岛上固定物标测定舰 (船)位的方法,称为陆标定位。陆标定位是舰船沿岸航行时保证航行安全的主要手段[2-3]。方位定位是利用罗经观测物标方位确定舰位的方法,其观测方便迅速,在海图上标绘容易,因而是沿岸航行时最常用的方法。在海船船员适任评估项目“航海仪器的正确使用”中,“方位仪的正确使用”是其中一项很重要的实训项目,也是驾驶员必须熟练掌握的基本技能之一[4]。本文结合船舶航行操作训练实际,在视景仿真系统中开发陆标定位功能,介绍了船舶航行训练系统的组成及功能。针对某型船舶所用方位仪对陆标定位功能进行了模拟罗经功能设计,基于GDI+的方式实现了罗经的模拟开发。为保证系统中方位定位的准确性,基于实际地形高程数据对地形场景进行建模,并依据电子海图等相关数据对助航标志和地貌特征等进行定位。通过实验比较分析,船舶训练模拟器中的方位定位结果符合真实地形数据,可以满足船员方位定位训练的需求。

1 航行训练系统功能及组成

本文所述的船舶航行训练模拟系统总体主要由船舶操纵模拟台、二维海图导调台、运算控制台、三维视景显示台以及投影系统五个部分组成。船舶操纵模拟台采用和实船相同布置、相同手感的设计原则,并通过PLC对操纵按钮以及手柄进行数据采集,同时将操纵解算的结果在相应的仪表进行实时显示,可充分模拟船员的操作环境,实现模拟系统和船员的交互。二维导调台基于电子海图对当前训练海域环境进行二维显示,并可实现航行训练海域的选择、练习的保存和设置、海区环境的设置、目标船只的航迹标绘和目标船只的设定等功能,教练员可以方便的进行训练内容的设置和模拟。运算控制台主要进行实时求解船舶六自由度运动方程,并控制系统的仿真行为和过程,同时将解算的相关参数输出到操纵模拟台进行仪器仪表的动态显示,辅助船舶操纵人员进行决策判断。

三维视景显示通过接收二维海图导调台的相关信息,调用相关的三维模型数据进行视景的渲染和驱动,并通过球幕投影系统进行显示。同时,视景显示的内容还发送到在教练员控制站中的视景通道复现显示器,供教练员进行观察和监视。三维模型数据包括港口地形模型、目标船只、港口设施 (房屋建筑、码头、港口设施等)、航行标记物 (航行灯塔、浮筒)等。实体模型采用视景建模软件Creator完成的,采用现场拍摄的照片作为模型的纹理源。对于实际无法进行拍摄的模型,如敌方军舰、潜艇等采用3D Max进行建模后,再将模型进行转化和精简面片数,并调整模型的层级结构,以满足视景仿真实时性的需求。系统的视景驱动采用MultiGen-Paradigm公司的Vega Prime软件,视景仿真系统在开始运行时,通过加载ACF文件加载这些参数,在运行期间,通过Vega Prime提供的API函数接口调用函数库和核心类库保持或不断更改这些参数值,并分别利用绘制线程和I/O线程实现图像的实时绘制和系统交互请求的处理和响应。为满足实时性的需求,视景仿真采用了双线程设计,对用户交互界面和绘制进行分开处理。

2 分罗经模拟实现

模拟航海罗经由控制电脑、显示器、模拟分罗经安装壳体和网络数据接收驱动构成控制系统,采用GDI+的方式实现罗经面板的绘制,并通过接收潜艇模型解算计算机的航向来更新显示,实现在航行训练模拟器中正确指示船舶的航向。分罗经的安装壳体采用和实船相同的面板,以增强模拟的真实感。

GDI+是对原有的GDI功能上的升级,提供的主要功能有矢量图形输出、光栅图形输出和文字排版等。与传统的GDI相比,GDI+主要有渐变画刷、独立的路径对象、矩阵对象、区域和多格式图片支持等特点。运用GDI+绘制图形时,图形要素的轮廓更平滑,显示效果更好。此外,GDI+将绘制轮廓、填充内部相分离,绘制填充轮廓时显得更加灵活[5]。本系统中采用GDI+对罗经面板进行绘制,通过创建一个图形对象Graphics,设置SmoothingModeHighQuality光滑绘制模式,实现了罗经表盘的反走样,确保了高质量、高精度显示。但是由于本系统中需要绘制罗经内中外三个刻度表盘,且表盘各自反映的数据不同,需要分别予以更新,因此提高绘图效率也就成为一个必须解决的问题。我们对表盘采用双缓冲进行绘制,其基本原理是首先在后台 (内存中)绘图,然后再将后台绘制的图像“贴到”窗口上显示。采用双缓冲的优点主要有两个:第一点是能避免屏幕闪烁;第二点也是最重要的一点,就是采用采用双缓冲技术能够提高绘制的效率。在VC++下并不直接支持双缓冲,需要采用间接的方法,其基本过程如下:

(1)定义一个Bitmap对象。

(2)通过当前的设备创建一个兼容DC。

(3)以Bitmap对象通过CreateCompatibleBitmap创建一幅与当前DC相兼容的位图。

(4)将兼容位图选入兼容DC当中,从而确定DC显示表面的大小。

(5)为兼容DC选择透明画刷。

(6)通过当前DC调用绘制海图和相应的标绘函数进行绘制。

(7)调用Bitblt函数将Bitmap绘制显示窗口上。

采用双缓冲技术以后,消除了之前出现的闪烁现象,每一帧的绘制时间也明显降低,实现了无闪烁平滑显示。

本文所述罗经中间刻度盘显示为反向字体显示,通过方位仪目镜实现方位数据读取。GDI+绘制时,内部刻度的绘制采用字体函数来实现,而对于中间刻度,我们通过TrueType来构建相应的反向字体库,实现反向字体的方便绘制。TrueType字体是由直线和曲线命令生成的轮廓字体,可以缩放和旋转。TrueType是一种所见即所得技术,同时,可以缩放到任意大小,可以调整高度和颜色,目前有许多商用的TrueType造字工具软件,可以方便的制作出相应的字体。

模拟罗经的整体效果如下图1所示:

图1 分罗经显示效果

3 基于真实DEM数据的地形场景建模

视景仿真数据库是海上航行船舶视景中的重要组成部分,包括地理条件 (比如地形)、助航标志信息、物标船形态信息、岸上附属信息 (比如建筑物)等。这些为生成和显示包括水文条件、气象条件、地理条件、助航标志信息、物标船形态信息等视景的基本内容提供了基本依据,且对航行训练中的导航参照、陆标定位等具有至关重要的意义。因而需要在视景仿真数据库建模过程中保证地形地貌的真实性和数据库中助航标志方位的准确性。

地形数据主要包括几何数据和纹理数据两部分。在航海模拟器中,一般通过纸质海图、CAD图以及电子海图等途径获取地形几何数据,但这几种途径对于大规模地形场景并不十分适用,且通过上述方式获取地形数据存在处理误差,可能影响地形建模的准确性。本文通过测量DEM数据对训练海区进行建模,并通过克里金插值的方式对DEM数据进行插值,提高数据精度,利用Google Earth提取高清遥感照片,采用Creator、Terrain Vista等软件进行处理,构建了大规模地形场景,具体实现步骤如下:

(1)地形数据的获取。本文采用USGS提供的SRTM90数据,所用高程数据来源于中科院数据服务网站,预先获得所要建模区域经纬度坐标,根据这一坐标下载相应区域的高程数据。

(2)高程数据截取。下载数据范围较大,采用Global Mapper软件进行截取目标区域内的数据。

(3)高程数据插值。在进行插值之前需要对截取的数据进行离散化,运用Global Mapper软件将1、2步骤获取的数据转化为XYZ格式的离散数据。将转换后的离散数据导入Surfer中,采用克里金插值方法进行插值处理。

(4)插值数据处理。进行插值后所得数据为Surfer所支持的GRD格式文件,对其进行格式转换,转换为ASC格式。

(5)卫星图片获取。卫星图片的获取是通过谷歌卫星图片下载器所得,可以下载指定范围内不同级别的卫星图片,并可以实时查看,进而导出合并。

(6)三维地形建模。将如上所得插值后的ASC数据导入到Terra Vista中,进行三维建模,并设置LOD,实现细节层次划分。

(7)纹理映射。将建立的模型进行纹理映射,加贴所下载得到的卫星图片纹理,以提高模型的逼真度。

通过上述步骤建立的地形,还需要添加地表特征 (包括码头建筑、海岸工程建筑等)和助航标志(包括航标灯、灯塔、浮标等)等,通过Creator建立模型,并依据电子海图对其在地形中的位置进行定位。为满足视景仿真渲染和剔除绘制的要求,对模型层级进行调整,按照逻辑结构和空间结构相结合的形式进行组织管理。按照模型所在区域进行分块,对分块中的模型采用逻辑结构进行分类,将相同类型的模型放在相同的节点内,将具有相同属性的面节点集中放置在一起,以减少绘制状态变更的次数。

采用上述方法实现的地形模型渲染效果图见图2。

图2 视景仿真渲染效果

4 实验及分析

为保证罗经测量的准确性,在进行模拟罗经的定位时需要将罗经放置于球幕系统的球心位置,以减少罗经在测量各个方向的物标时由于投影系统的弧度而引起的测量误差。为验证陆标定位功能的准确度,进行如下实验:在电子海图中,对本船进行位置设定,并读取本船的经纬度信息,在视景仿真系统中采用两标方位定位法,通过方位仪和罗经对孤立明显的物标进行测定,并通过测定在纸质海图中进行标绘,得出本船当前的位置点信息,并与设定的本船位置点 (即模拟系统中的实际船舶位置点)进行比对,得出的测量结果误差在1度左右,满足陆标定位的要求。

[1]肖剑波,胡大斌,胡锦晖.二三维互动映射的潜望镜视景仿真系统设计与实现[J].舰船科学技术,2011,33(10):102-106.

[2]胡定军,石红梅,张芊.一种新型模拟航海罗经控制[J].舰船科学技术,2009,31(1):104-106.

[3]江杰,尹勇.航海模拟器中测天定位的仿真研究[J].系统仿真学报,2008,20(S1):63-66.

[4]赵仁余.航海学[M].北京:人民交通出版社,2009:12-23.

[5]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2007.

猜你喜欢

罗经视景海图
虚拟现实技术在游戏设计中的应用及研究
磁罗经北极高纬海区航向误差分析与补偿
船上磁罗经自差表相关要求
纸海图AI小改正制作模式探讨
少林功夫拳(三)
基于预测和双缓冲区的直升机视景仿真
民用海图编绘中数据一致性分析和改进
随机游走对罗经方位对准的精度影响分析
粒子群算法优化的捷联罗经初始对准方法
关于电子海图单元叠盖拼接问题的探讨