在海上航行中,利用电子海图、导航系统、气候监测等外部设备,并结合驾驶员自身的丰富经验对船舶实行操控,保证安全。对于没有经验的航海人员来说,真实的驾驶环境中进行训练成本过高,需要在实际操作前进行模拟训练。
本文基于虚拟现实技术,对船舶航行中的环境视景进行虚拟仿真,研究影响船舶航行的重要因素,为船舶安全航行提供参考。
1 虚拟现实技术 1.1 虚拟现实系统的组成虚拟现实技术(Virtual Reality,VR)是指由计算机生成虚拟的、实时的模拟环境,并将用户投射到这个虚拟环境中,通过视觉、听觉、触觉等对虚拟环境中的物体进行操作,实现人与环境的自然交互。
虚拟现实技术涉及到计算机视觉技术、传感器技术、人工智能等领域,是一项综合性的技术。虚拟现实技术具有交互性、沉浸感、构想性的特点,可以提高生产效率、降低劳动强度、提高产品质量,已经被应用于科研、教学、商业、军事、医学等领域[1]。
常见的虚拟现实系统构成如图1所示,主要由虚拟环境生成、效果生成等模块组成。
![]() |
图 1 虚拟现实系统构成示意图 Fig. 1 Fig.1Schematic diagram of the virtual reality system |
虚拟现实系统最关键的组成部分是虚拟环境生成模块,这个模块需要通过调取三维模拟数据库中的数据,实时生成并输出虚拟环境,并对虚拟环境中的物体进行相应的描述,提供用户的信息[2]。同时还需要在这个虚拟环境中融合大量的数据,并把输出信息转换成用户的听觉、视觉、触觉信息。仿真管理器的作用是对虚拟环境中的物体及相关信息进行调整,使虚拟环境更好地接近于真实环境,让用户得到良好的沉浸感。
效果生成模块实际上是整个虚拟现实系统中用户和虚拟环境之间的连接环节,其作用是将电子信号转变成人体可以感知到的外界信息,并将用户的动作、语音等信息反馈至虚拟环境,实现同步调整,这部分是实现人机实时交互的关键。
位置跟踪器和数据手套相当于虚拟现实系统的输入模块,可以帮助用户在虚拟现实环境中改变位置、视野,并在环境中完成对其他物体及信息的操作。实现人机交互的关键之一是实时跟踪真实环境中物体的位置,需要提供3个位置参量(
环境动态建模技术是虚拟现实中核心技术之一,根据不同的应用需要,通过环境动态建模,获取实际环境的三维数据,并利用这些数据生成虚拟的环境模型。获取三维数据的方式有多种,目前应用比较多的是结合CAD的非接触式视觉建模,可以有效地提高数据获取的效率。
三维图形生成是一种已经比较成熟的技术,更重要的是如何在虚拟现实中的快速、实时生成三维图形,这是最能体现虚拟现实技术的交互性、沉浸感。一般情况下,为了能实现这一目的,三维图形的刷新频率不能低于15帧/s,最好能高于30帧/s。
要使用户得到良好的沉浸感,立体显示和传感器技术在虚拟现实系统中的作用不可忽视,目前比较常见的显示器包括单目镜、头盔式显示器、可移动显示器等,而传感器的精确性以及可重复性对虚拟现实功能的实现也是至关重要的。
2 基于虚拟现实的船舶航行三维仿真 2.1 虚拟航行环境仿真系统组成和工作原理本文基于虚拟现实技术,构建航行环境视景三维仿真系统,如图2所示。
![]() |
图 2 基于虚拟现实的船舶航行环境三维仿真系统 Fig. 2 Three-dimensional simulation system of ship navigation environment based on virtual reality |
船舶的航行环境是指除了航海人员和船舶设备之外的外界环境,比如海洋的水文环境、地形和航道环境以及气象条件等。利用三维动态环境建模技术获取航行中的外界真实环境并建立虚拟模型,同时融合地形、海浪和气候等真实数据,通过相关软件平台驱动、调整三维模型,对航行环境进行实景仿真,实现人机交互。航海人员获取仿真数据后,结合计算机分析,做出航行过程中的有效决策。
在航行过程中,影响船舶航行安全的环境条件最主要的是船舶附近的地形、气象条件以及航道中其他船舶或者助航航标。地形包括港口及附近建筑、桥梁、海底地形等;气象条件是指雨、雾、风等自然环境;航道中的其他船舶和航标都是航行过程中需要考虑的安全因素。因此,上述这些环境条件都必须建立并融合在虚拟环境中。
2.2 三维实体建模和地形生成三维实体建模和地形的生成是仿真系统的基础,这个环节要尽可能地还原真实环境,建模和生成的过程如图3所示。
![]() |
图 3 三维实体建模和地形生成的过程 Fig. 3 The process of 3D solid modeling and terrain generation |
三维实体包括船舶本身、航道中的航标、航道附近的建筑和港口等。获取的相关信息包括这些物体的几何尺寸信息和外形特征(包括材料、颜色、表面纹理等),这些信息可以通过CAD以及非接触式的方式获得,数据越精细,虚拟环境就会越接近于真实环境,真实性更强,图4为经过一系列处理后得到的几种实体三维模型。
![]() |
图 4 生成的三维实体模型 Fig. 4 Three-dimensional solid model |
结合电子海图、卫星航拍图等,经过Photoshop和ArcGIS等图像处理工具的转换,可以得到地形的DEM(Digital Elevation Model,DEM)数据[3],这是地形模型建立的基础。
在生成地形模型前,需要对这些数据进行预处理。首先,由于地形数据量很大,不可能一次性将所有数据全部导入,为了保证流畅度,需要将地形数据分割成若干部分再进行处理。其次,由于获取数据的方式有多种,在使用之前,需要对数据进行误差处理,尤其是关键地点,要和实际地形进行对比,不能存在过大的误差,否则会给船舶安全航行带来很大的影响。
2.3 船舶运动模型在三维仿真中,船舶航行模拟比较关键是船舶运动轨迹和船舶姿态的模拟。在考虑海面风速和海流数据的前提下,建立如下的船舶运动轨迹数学模型[4]:
$ \begin{gathered} {S_X} = \left( {{V_S}{\rm{sin}}\alpha + {V_C}{\rm{sin}}\beta } \right)T + \Delta {B_X} \text{,} \\ {S_Y} = \left( {{V_S}{\rm{cos}}\alpha + {V_C}{\rm{cos}}\beta } \right)T + \Delta {B_Y} \text{。} \\ \end{gathered} $ | (1) |
式中:
$ \Delta B = K{\left( {\frac{{{B_a}}}{{{B_w}}}} \right)^{\frac{1}{2}}}{e^{ - 0.14{V_S}}}{V_a}T \text{。} $ | (2) |
式中:
船舶的运动姿态不仅和船舶本身的特性有关,还与海上环境(海风、海流、海浪等)有关,在图5所示的运动坐标系下对船舶进行受力分析。
![]() |
图 5 船舶的运动坐标系 Fig. 5 The coordinate system of a ship's motion |
$ \left\{ \begin{gathered} X = m\left( {u - v\psi - {x_G}{\psi ^2}} \right) \text{,} \\ Y = m\left( {v + u\psi + {x_G}\psi } \right) \text{,} \\ N = {I_Z}\psi + m{x_G}\left( {v + u\psi } \right) \text{。} \\ \end{gathered} \right. $ | (3) |
式中:
研究表明,海浪可以近似看成若干振幅、频率、方向和相位不同的简单波叠加,叠加的结果是某种随机函数,能够反映海浪的随机性,是目前研究海浪的重要手段[5]。根据这个理论,海浪可以用以下数学模型描述:
$ \zeta \left( t \right) = \sum\limits_{i = 1}^N {{\zeta _{ai}}} \cos \left( {{k_i}x + {\omega _i}t + {\varepsilon _i}} \right) \text{,} $ | (4) |
其中:
对数学模型进行优化,不规则海浪的瞬时波高可以用以下模型表示:
$ \zeta \left( t \right) = Tide + \sum\limits_{i = 1}^N {{\zeta _{ai}}\cos \left[ {{k_i}\left( {x\sin {\theta _i} + z\cos {\theta _i}} \right) + {\omega _i}t + {\varepsilon _i}} \right]} \text{。} $ | (5) |
式中:
影响船舶的风力可以分成平均风力和脉动风力,脉动风力对大型船舶来说影响较小,只研究平均风力和力矩,由以下公式决定[6]:
$ \left\{ \begin{gathered} {X_{wind}} = 0.5{C_x}\left( {{a_R}} \right){\rho _A}U_R^2{A_f} \text{,} \\ {Y_{wind}} = 0.5{C_y}\left( {{a_R}} \right){\rho _A}U_R^2{A_s} \text{,} \\ {N_{wind}} = 0.5{C_n}\left( {{a_R}} \right){\rho _A}U_R^2{A_s}L \text{。} \\ {K_{wind}} = {Y_{wind}}{h_c} \\ \end{gathered} \right. $ | (6) |
式中:
在实际仿真中,由于海浪是不断地在变化的,而每种变化都会影响船舶航行,因此要在虚拟环境中实时改变海浪的动态效果,实现不同情况下的虚拟仿真。同时,在虚拟环境中,还需要添加各种天气情况并在不同的条件进行航行仿真,雨、雾、强风等。此外,为了获得更精确的仿真数据,天空中的云层和真实环境中的光线都要体现在虚拟环境中,提高真实性。
2.5 实验结果基于虚拟现实的航行环境三维仿真系统中,功能实现的基础是虚拟环境的建立,在本文搭建的系统下,建立不同情况下的虚拟环境,如图6所示。
![]() |
图 6 航行仿真系统中不同的虚拟环境 Fig. 6 Different virtual environments in navigation simulation system |
从图中可以看出,基于虚拟现实的船舶航行仿真系统有效地建立了航道周边的建筑物模型、航道中的航标以及其他船舶。同时,海浪的仿真效果、多雾的效果也成功地实现了融合,在一定程度上很接近于真实环境,为仿真提供了更好的沉浸感和真实感,得到的数据也更具有参考性。
3 结 语基于虚拟现实技术的船舶航行环境三维仿真系统,可以成功地建立三维实体模型,通过添加并融合真实的环境条件使虚拟环境十分接近真实环境,能够让航海人员体验真实的海上航行环境,并根据环境的实时变化,对船舶进行操控,实现躲避障碍物等操作,为船舶的安全航行提供了基础。
[1] |
杨青, 钟书华. 国外“虚拟现实技术发展及演化趋势”研究综述[J]. 自然辩证法通讯, 2021, 43(3): 97-106. |
[2] |
王莺. 基于虚拟现实的海浪运动视景仿真系统[D]. 厦门: 厦门大学, 2007. WANG Ying. The emulational display system of wave based on virtual reality[D]Xiamen University, 2007. |
[3] |
熊振南, 周世波. 船舶航行环境可视化仿真[J]. 上海海事大学学报, 2009, 30(1): 6-9. XIONG Zhen-nan, ZHOU Shi-bo. Visual simulation in navigational environment[J]. Journal of Shanghai Maritime University, 2009, 30(1): 6-9. |
[4] |
邓健, 黄立文, 牟军敏, 等. 海-气-浪三维环境场的模拟及其在船舶航海仿真中的应用[C]//中国航海学会. 中国航海学会2006年度学术交流会优秀论文集. 中国航海学会2006年度学术交流会优秀论文集, 2007: 59–63. DENG Jian, HUANG Li-wen, MOU Jun-min, et al. Implement of a mesoscale air-sea-wave coupled model system and its application in environment virtual reality of ship navigation imulation[C]//China Maritime Association. Excellent papers of 2006 annual Academic Exchange Meeting of China Maritime Association, 2007: 59–63. |
[5] |
朱天惠, 任鸿翔, 赵玉然. 基于物理模型的海浪真实感模拟研究[J]. 计算机仿真, 2021, 38(10): 492-496. ZHU Tian-hui, REN Hong-xiang, ZHAO Yu-ran. Research on realistic simulation of ocean wave based on physical model[J]. Computer Simulation, 2021, 38(10): 492-496. |
[6] |
申忆竹. 大型船舶航行姿态虚拟现实仿真[D]. 哈尔滨: 哈尔滨工程大学, 2009.
|