来源:第三维度
作者:翟小明、尹勇、任鸿翔
单位:大连海事大学航海动态仿真与控制实验室
摘要:基于过程法建立河流流体运动模型 并利用有限差分的方法解算 从而获取视景系统中河流运动的速度场利用 建模软件创建视景系统中的场景模型 并运用细节层次技术提升视景系统仿真的效率 最后采用相关的可视化技术 实现了内河船舶操纵模拟器中视景系统的实时仿真 仿真结果表明 建立的河流流体速度场模型可较真实地体现河流流动性 视景系统可增强内河船舶操纵模拟器的环境真实感 并且视景系统的效率远超过仿真实时性要求。
0 引 言
内河航运是现代综合运输体系中重要组成部分,它是连接内陆腹地与沿海地区的纽带,在运输和集散进出口货物中起着重要的作用[1]、 内河航运的空前发展对内河航运人才的要求越来越高,亟待建立一支高素质的内河船员队伍保障内河航运发展、 为确保内河船员队伍高速度、高质量发展,交通运输部海事局 2007 年下发了《中华人民共和国内河船舶船员实际操作考试办法》,其中第二十一条规定“经主管机关认可,考试发证机关可采用模拟器开展实际操作考试”;2015 年交通运输部通过了《中华人民共和国内河船舶船员适任考试和发证规则》 (交通运输部令2015 年第 21 号),在文件中第三章第二十五条明确规定:“实际操作考试应当通过对相应船舶、模拟器或者其他设备的操作等方式,对内河船舶船员专业知识综合运用、操作及应急等能力进行技能测评”;国际海事组 织 ( International Maritime Organization, IMO) 在《STCW 78/ 95 公约》 和 2010 年最新修订的 STCW( International Convention on Standards of Training,Certification and Watchkeeping for Seafarers)马尼拉修正案中多次强调了船舶模拟器的作用,并就其在航海训练中的应用做出了明确的强制性与建议性规定[2、4]。
我国海事局也就该公约在《海船船员适任考试和评估大纲》以及“有关专业和特殊培训考试和评估大纲”中对强制性和非强制性模拟器训练提出了要求,这都为利用内河船舶操纵模拟器进行内河船员实操培训和考试提供了依据、
船舶操纵模拟器已在航海教学和培训中发挥着积极和显著的作用,针对内河船员的培训与考试可利用内河船舶操纵模拟器、 内河船舶操纵模拟器作为航海模拟器的一种,其开发的关键技术集中体现在行为真实感、环境真实感和物理真实感 3 方面。
其中环境真实感主要由视景系统所确定,由于视觉可为人们提供 70%以上的有用信息,因此视景系统是模拟器操纵者获取信息的最直接、数量最大的来源,视景系统的好坏己成为评价航海模拟器成败的关键[5]、 内河船舶操纵模拟器的视景系统应具备如下特点:符合河水流动现象的仿真;满足视景系统仿真实时性要求、 现有船舶操纵模拟器并不能完全适用于内河船员培训,尤其是船舶模拟器的视景仿真系统环境真实感不够真实,未体现河流流动效果[6]。
笔者结合虚拟现实技术,构建高真实感的内河船舶操纵模拟器视景仿真系统。
1 内河船舶模拟器发展现状
1.1 国外发展现状
目前, 国外航海模拟器主要由挪威的Kongsberg Maritime 公司,英国 Transas 公司以及荷兰VSTEP 等商业性公司研制与开发。
2014 年 11 月,Kongsberg Maritime 公司为适应将来更高级和综合的航海仿真培训,推出新一代船桥模拟 器, 被命名为K、SIM NAVIGATION[7、8]、 K、SIM NAVIGATION 视景系统采用 Kongsberg 开发的第七代视景系统 SeaView R5,该系统基于 Open Scene Graph(OSG)三维图形引擎开发,以 Multigen Creator 作为建模软件、 K、SIM NAVIGATION 以高级的物理引擎和先进的水动力建模技术为特色,船舶、物体以及其他设备能像真实世界中一样的体现和交互、 视景系统的主要功能及特点有:SeaView R5 视景系统可真实地体现船间、岸壁效应并且能提供不同天气状况(晴天、多云)、不同海况(风、浪、流)、不同时间(黎明、白天、夜晚)条件下的航行、操纵模拟;可真实地表现不同海况下的海面、深度可达 16 m 的三维海浪以及风驱动下的白浪运动。
2015 年 12 月,英国船商公司为巴拉圭 CAFyM中心安装了该公司研发的最新航海操纵模拟器Navi、Trainer Professional 5000 (NTPRO 5000),这是船商公司首次为内河航行培训机构安装船舶操纵模拟器,该模拟器主要用于在巴拉那—巴拉圭内河航道上进行拖轮操纵的船员培训[9]、 TRANSAS 为NTPRO 5000 提供了一个全新的高度真实的视景系统,该视景系统展示全新的海面波纹,包括三维船首波、漂浮物体的干扰波、整个场景的折射、水面透明和光反射、白浪、泡沫及飞溅、 NTPRO 5000 也是第一个呈现动态阴影计算的航海模拟器,其冰区效果在视觉和运动模型上都完全满足 DNV 标准、 场景中能显示天空、三维云、雨雪等视景特效;视景的水平视场角可达到 360°,能模拟各个时间段的天气变化以及不同能见度的天气情况。
VSTEP 成立于 2002 年,经过十几年的发展,其开发的航海模拟器通过 DNV GL 最高等级 A 级别认证,并 满 足 最 新 的 STCW 标 准[10]、 其核心产品NAUTIS 航海模拟器配备了 240° 或者 360° 视景系统,可显示不同时段、不同能见度、以及不同天气的视景;性价比更高并开放接口方便用户二次开发。
上述 3 家国外商业公司开发的最新航海模拟器都达到甚至超出 STCW、DNV GL 以及 IMO Model course 的标准,但从可查阅的资料分析,只有 Transas公司为巴拉圭 CAFyM 中心安装了一套 NTPRO 5000航海模拟器用于内河拖轮船员培训,该系列航海模拟器视景系统基于 Seagull 6000 开发,视景系统中的河水仍是基于海水建模方法生成、 其他两家都未提到关于内河船舶操纵模拟器的视景研发。
1.2 国内发展现状
20 世纪 80 年代末,以“引进、消化、自主研发”为基本路线,上海海事大学、大连海事大学、海军大连舰艇学院以及武汉理工大学和集美大学等国内相关高等航海院校开始研发航海模拟器,经过多年发展,已取得重大突破[5]。
大连海事大学 V.Dragon 系列模拟器视景系统配备了 360°视场角的投影,场景中主要有海面、陆地、码头及其重要设施、助航设施、典型建筑物、港区 的城市背景、目标船等;海面能随风向和风力的作用做相应的起伏运动;能生成不同能见度等级的雾景;能模拟日昼的连续变化以及雨、雪等[11];整个画面的更新速度高于 30 帧/ s、 该模拟器的视景系统以较低的成本为操纵者提供了较逼真、具有一定沉浸感的虚拟海上训练环境、 2010 年后,大连海事大学在 V.Dragon 系列模拟器基础上进行开发,先后为国内多家航海院校及培训中心安装用于船员培训的内河船舶模拟器,但视景系统构建仍基于原有船舶操纵模拟器的海水视景系统,并没有针对内河船舶操纵模拟器视景系统的特点进行建模和仿真,从发表的文献来看,并未实现视景系统的建模与仿真[6]。
上海海事大学研制的综合船舶操纵模拟器配备了较为完整的驾驶台设备,具备雷达模拟器的全部功能[12]、 该模拟器的视景系统配备 12 通道 360 度宽视场角大屏幕投影;场景管理采用 Vega Prime 平台;可显示白天与夜间及各种能见度的场景;可生成海浪并反映风向、风速的影响;可模拟船舶尾迹效果、 2011 年,上海海事大学为长江海事培训中心安装了国内第一套专门用于内河船员培训、考试的内河船舶模拟器、 随后,上海海事大学为国内多家航海院校和培训机构安装了内河船舶模拟器,这些内河船舶操纵模拟器的视景系统也是基于其原有的航海模拟器视景系统搭建,不足以体现内河船舶操纵模拟器的视景系统环境真实感。
2 视景系统的建模
内河船舶模拟器的河流视景具有场景模型丰富、场景尺度大、场景的环境真实感要求高等特点、 场景模型主要包括:河流场景、地形场景、建筑物场景以及岸界其他场景、 因此,搭建内河船舶操纵模拟器视景系统首先要对场景模型建模,之后采用相关的可视化技术并选择高效的三维渲染引擎进行场景绘制。
2.1 河流视景模型的建模
内河船舶操纵模拟器对仿真实时性有着较高的要求,视景的更新速率不低于 30 帧/ s,河流视景在绘制过程中,每帧都需要与河流视景数据库进行交互,因此良好的数据库结构是内河船舶模拟器运行性能好坏的重要影响因素、 内河船舶模拟器河流视景的数据库采用树形层次结构,该结构将视景中各个对象定义为独立的模块,利于用户管理和操作;同时树形层次结构也便于视景驱动程序对数据进行读取。
笔者 针 对 河 流 视 景 模 型 的 建 模 主 要 基 于Multigen Creator 软件,Multigen Creator 三维虚拟仿真建模软件拥有针对实时应用优化的 OpenFlight 数据格式,强大的多边形建模、矢量建模、大面积地形精确生成功能,以及多种专业选项及插件,能高效、最优化地生成实时三维数据库,并能与三维渲染程序良好结合,在视景仿真、模拟训练、城市仿真、交互式游戏及工程应用、科学可视化等实时仿真领域有着广泛地应用[13、16]、 图 1 为 Multigen Creator 创建视景数据库的层次结构。
图 1 Multigen Creator 软件的层次结构
Multigen Creator 为用户提供了内嵌 Vega Prime的建模环境,构建三维河流视景等场景时,可实时、高效地编辑、管理多个模型,所见即所得的三维建模环境极大地提升了建模的效率和质量。
2.2 河流场景模型 LOD 结构
内河船舶模拟器河流视景仿真系统中,包含了数百万的模型、 在河流视景仿真过程中,可利用GPU 加速场景模型的绘制速度、 但图形显示卡的内存和计算能力有限,一旦加载过多的场景模型,并超出图形显卡的显存或计算能力,仿真系统就会出现卡顿,即不能达到实时渲染、 为提升内河船舶模拟器河流视景仿真系统的实时性,可利用细节层次(Level of Detail,LOD)技术创建河流场景模型以及渲染河流视景、 LOD 技术是应用最为广泛的复杂三维场景表达技术之一,其基本思想是在不影响渲染外观的前提下,根据实际情况选择一种更为简单的方式来表达要渲染的物体,减轻系统绘制场景的负担、 LOD 技术使系统既能够提供足够的细节,又能保持 相 对 较 快 速 和 稳 定 的 显 示、 笔 者 选 择 的Multigen Creator 建模软件在创景河流场景模型时,通过 LOD 技术可创建包含不同细节版本的模型,可在河流视景的实时系统多边形预算范围内,有效地提升内河船舶模拟器河流视景仿真系统的渲染速度和环境真实感、 图 2 为笔者构建河流视景 LOD 时采用的 Multigen Creator 的嵌套结构示意。
图 2 Multigen Creator 嵌套结构
2.3 河流流体运动建模
河流作为内河船舶模拟器视景系统的重要组成部分,其建模与仿真的结果直接影响内河船舶操纵模拟器的环境真实感、 笔者在进行河流流体建模时,主要考虑河流流体的流动性特征,提出一种基于过程法构建河流流体运动模型、 内河船舶操纵模拟器视景系统中的河流流动具有一定的方向性,且受真实的岸界限制、 因此,笔者提出利用流函数的性质求解河流流动速度场。
流函数概念的提出是仅对不可压缩流体的平面流动而言的[17]、 不可压缩流体做平面流动时必须满足质量守恒方程[18]:
平面流动的流线微分方程为
udy-vdx = 0 (2)
式(2)是式(1)成为某一函数 ψ(x,y)全微分的必要且充分条件,即
于是:
代入到式(2),两者之和等于 0。 ψ 称为流函数。
关于流函数,有两个重要性质:
1)沿同一流线流函数数值为常数,即 ψ=C。
2)平面流动中两条流线间单位厚度通过的体积流量等于两条流线上的流函数常数之差、 如图 3,过 A 点的流线为 ψ = ψA ,过 B 点的流线为 ψ = ψB ,分别是 A 点和 B 点的流函数,要计算通过任意曲线 AB的体积流量、 为此,在 AB 曲线上任取一有向线元dl = idx+jdy,而 n = icos<n,x>+jcos<n,y>
是曲线的法线单位矢量、 通过 dl 微段上的体积流量就可以写成:
所以,通过任意曲线 AB 的流量:
图 3 流线与流量关系
2.4 河流流体运动仿真
根据流函数基本理论介绍可知,在二维平面计算流体速度场时,流函数的导数即为速度矢量分量、笔者在仿真河流流体运动过程中,利用该性质以及河道的真实边界构建恰当的流函数,之后基于有限差分的方法求解河道内各点的速度场、 图 4 是基本河道示意,其中 Q 为两河道边界流线间的单位体积流量;ψL 为河道左边界流线的流函数值;ψR 为河道右边界流线的流函数值。
图 4 河道示意
为测试算法的实用性,笔者选取内河船舶模拟器中海道图 50000 进行实验、 实验所用的 PC 为:Intel Core 2 Duo CPU, 2. 8GHz, 内 存 3G, 显 卡 为NVIDIA GeForce GT 630。图 5 为基于笔者建模方法仿真的真实河道内河流流体速度场分布,其中曲线为河流流体的流线,箭头为河流流体速度场。
图 5 河道内河流流体速度场分布
由图 5 可见,沿着河道方向,河流流体速度场与流线相切,符合流函数的性质,能体现河流方向流动性,这也是河水区别于海水的一个重要特性、 河流流体速度越靠近河道中间,速度越大;反之,越靠近河道边界,速度越小、 符合河流流体真实的真实流动情况。
3 视景系统仿真
通过分析比较现有的主流三维视景程序,笔者选取 OSG 作为河流视景的三维渲染引擎,主要基于3 方面的因素:
1)现有的航海模拟器视景系统的开发工具为OSG、 笔者选择 OSG 作为河流视景的视景开发程序,可方便地与现有视景系统交互、节省开发时间和精力、较快捷地将现有内河河流视景集成到航海模拟器的视景系统。
2)OSG 自身的特点和优势、 OSG 是一个高性能的开源三维图形引擎,不仅具有开源的特点,还包含了大规模场景的分页支持,多线程、多显示的渲染,粒子系统与阴影,支持多文件格式等功能、 因此被广泛的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索等领域。
3)OSG 的 LOD 类支持 Multigen Creator 创建的最普遍的静态离散细节层次节点,即它的每个子节点都是一种细节层次的表达方案。
视景系统仿真的源数据仍基于海道图 50000 建模,河流流体速度场源于上述河流流体运动建模结果、 实验环境与 2.4 节一致,整个河流场景约为 6×4km2,河道长度约为 12 km、 图 6 为视点逐渐靠近河流 表面视景仿真效果、 笔者在绘制河流视景系统时,充分利用 GPU 处理图形场景的能力和优势,在 Shader中实现部分河流表面绘制以及反射关照等效果、 图 6(c)为视点距河流表面较近时绘制效果,因只是一张静态图片,不能展现笔者算法实现的河流方向性流动效果、 但可看出渲染的三维河流视景河流表面平滑、具有河流表面反射效果、场景范围大、 整个视景系统可极大提升内河船舶操纵模拟器的环境真实感。
图6 场景绘制效果
由图6 可见,笔者在视景系统建模及三维场景渲染时均采用了 LOD 技术,可控制场景的模型显示细节,因此极大地提升了视景系统的绘制效率、 表1 给出了视点到河流表面不同距离情况下的场景模型数量以及绘制帧率、 LOD 技术的应用和 GPU 的优势使得视景系统渲染过程中,场景模型数量自适应视点到河面的距离,减少了场景模型的绘制数量,提升了整个视景系统的绘制效率,在不同视点到河流表面的距离情况下,视景系统的仿真帧率始终保持在 60 FPS,远超过三维图形渲染的实时绘制要求。
表1 不同视线距离下场景绘制结果
4 结 语
笔者主要研究了内河船舶操纵模拟器中三维场景模型的建模与仿真、 选择海道图 50000 作为实验的基 础 数 据 来 源, 场 景 模 型 建 模 利 用 Multigen Creator 软件并采用 LOD 技术构建不同细节层次模型、 基于过程法的河流流体运动模型可真实体现河流流动特性,最终基于 GPU 和三维渲染引擎 OSG 实现了内河船舶操纵模拟器河流视景系统的实时仿真。
参考文献(略)