论文部分内容阅读
船员的操纵能力对保障海事航行安全至关重要,所以通过训练提高船员的操纵能力必须作为重中之重。国内起初运用VR(Virtual Reality)技术或者仿真技术逼真地再现船舶操纵训练系统中的三维环境,培训人员可以身临其境地进行船舶航行操纵训练,在短时间内达到理想而有效的培训效果,但由于大型船舶操纵训练系统成本高、开发周期长、可扩展性差,而且场地固定,受训人数和培训时间都受到限制,这些弱点都难以保证受训人员有足够的训练时间。随着HTML5的出现和广泛使用以及JavaScript虚拟引擎性能的提升,基于Web的船舶仿真训练系统逐渐发展起来,它允许多用户随时随地地进行船舶操纵训练。但沉重繁琐的浏览器插件安装是Web渲染的一个弊端,不仅限制了模型的可移植性,而且还不利于维护和更新。WebGL(Web Graphic Library)的出现解决了需插件安装、可移植性差等缺点,利用它可以直接创建逼真的三维场景。同时WebSocket通信协议的出现,实现了浏览器端与服务器端之间的双向连接,不仅浏览器端可以向服务器端传输数据,服务器端也可以向浏览器端推送数据,使得浏览器端与服务器之间的数据交换变得更加简单,避免了传统轮询、Ajax轮询等传统传输方式占用带宽率高、服务器无法主动传输数据等缺点,从而满足了船舶操纵训练对实时数据传输的要求。本文综合考虑WebGL与WebSocket的诸多特性,搭建了基于B/S(Browser/Server)架构的船舶操纵训练系统。利用WebGL技术渲染船舶操纵训练的三维场景,使用WebSocket协议实现船舶操纵训练信息的实时交互,为多船员的船舶操纵训练提供了一个协同互见、不受时空限制的逼真环境,能有效地提高船员的训练水平。主要的研究工作包含如下:1,)船舶操纵训练系统的框架设计系统采用B/S架构,数据库端使用MySQL数据库存储用户的信息、港口数据和船舶信息;服务器端使用SpringBoot框架搭建服务器,并完成数学模型解算的工作;前端使用JavaScript、HTML、CSS完成界面设计,主要有船舶静态信息区、船舶动态信息区以及船舶操纵控制区。2)基于WebGL的船舶操纵训练环境的三维场景仿真采用WebGL技术实现Web端的船舶操纵训练环境的三维仿真,其中包括海面、近岸地形、岛屿、海面助航设施的可视化,海面航行的船舶的三维可视化,还包括雨、雪等的气象仿真。3)基于WebSocket协议的船舶操纵环境数据实时交互采用WebSocket协议作为数据传输的通道,实现了 Web端向服务器端发送船舶操控信息,服务器端向所有训练中的Web端推送练习环境信息、所有船舶的位置姿态、以及其它航行环境信息,最后对网络延迟进行了实验和分析,并在此基础上提出了基于时间补偿的改进方法。