舰船科学技术  2024, Vol. 46 Issue (4): 158-161    DOI: 10.3404/j.issn.1672-7649.2024.04.029   PDF    
基于前端开发框架的舰船运动姿态数据监测系统
吴亚林, 吕太之     
江苏海事职业技术学院 信息工程学院,江苏 南京 211170
摘要: 利用运动姿态监测结果为舰船可靠航行提供决策依据。为此,设计了基于前端开发框架的舰船运动姿态数据监测系统。系统设施层中,利用MEMS陀螺仪芯片与3轴MEMS加速度计采集舰船运动姿态信息,并将所采集信息传送至业务逻辑层;业务逻辑层利用控制子层和管理子层为用户提供姿态数据监测服务;控制子层中的姿态解算模块,依据传感器信息采集结果,利用卡尔曼滤波算法解算舰船运动姿态信息。基于此,利用Bootstrap的前端开发框架,通过viewport元数据标签完成前端UI设计,为用户提供可视化的人机交互界面,将姿态解算结果利用用户界面层为用户展示。测试结果表明,该系统对舰船航行运动姿态的监测结果与实际结果极为接近,适用于实际工作。
关键词: 前端开发框架     舰船运动姿态     数据监测系统     业务逻辑层     卡尔曼滤波    
Ship motion attitude data monitoring system based on front-end development framework
WU Ya-lin, LV Tai-zhi     
School of Information Engineering, Jiangsu Maritime Institute, Nanjing 211170, China
Abstract: Utilizing the results of motion attitude monitoring to provide decision-making basis for reliable navigation of ships. For this purpose, a ship motion attitude data monitoring system based on a front-end development framework was designed. In the system infrastructure layer, MEMS gyroscope chips and 3-axis MEMS accelerometers are used to collect ship motion attitude information, and the collected information is transmitted to the business logic layer; The business logic layer utilizes the control and management sub layers to provide posture data monitoring services for users; The attitude calculation module in the control sub layer uses the Kalman filtering algorithm to calculate the ship's motion attitude information based on the sensor information collection results. Based on this, the front-end development framework of Bootstrap is utilized to complete the front-end UI design through the viewport metadata tag, providing users with a visual human-machine interaction interface. The posture calculation results are presented to users through the user interface layer. The test results show that the monitoring results of the system for the ship's navigation motion attitude are very close to the actual results, and are suitable for practical work.
Key words: front-end development framework     ship motion attitude     data monitoring system     business logic layer     Kalman filtering    
0 引 言

舰船的运动姿态决定了其航行的安全性与航行效率。舰船的俯仰角度或倾斜角度过大时,对舰船的航行安全性影响较大[1]。舰船航行时,受海浪等外界环境作用,姿态变化幅度更加明显[2-3]。实时监测舰船的运动姿态,可为舰船航行决策者提供决策依据,降低舰船航行中的事故率,保障舰船的可靠航行[4]

目前,已有众多研究学者针对舰船运动姿态监测展开研究。任群亭等[5]利用RCS方法,测量舰船目标姿态和位置变化,利用角度内均值方法,对舰船姿态数据进行修正,获取舰船姿态变化的时间序列,明确舰船姿态角度与测试数据之间的关系,通过角度修正方法提升舰船姿态测量精度;王康勃等[6]利用分布式仿真训练平台,模拟舰船姿态平衡状态,通过模拟结果确定舰船运动姿态。该方法针对仿真训练平台的物理架构进行详细研究,利用舰船运动姿态监测结果,强化舰船的姿态监测能力。以上2种方法虽然可有效监测舰船运动姿态,对于静态环境下的舰船运动姿态监测精度较高,但难以满足舰船实际航行时,复杂环境下的运动姿态监测。因此,针对以上方法在舰船运动姿态监测中存在的问题,设计了基于前端开发框架的舰船运动姿态数据监测系统,以期能够提升舰船的航行安全性。

1 舰船运动姿态数据监测系统 1.1 系统总体结构

舰船运动姿态数据监测系统的总体结构如图1所示。

图 1 系统总体结构图 Fig. 1 Overall structure of the system

1)前端UI层选取Bootstrap开发框架设计舰船运动姿态数据监测系统的前端UI界面。

2)用户界面层利用数据接口,访问系统的MySQL数据库,将所采集的舰船运动姿态监测数据传送至业务逻辑层。系统通过用户界面层为用户提供了人机交互界面,实现舰船姿态监测数据的可视化。用户利用用户界面查看舰船运动姿态。

3)利用Spring MVC框架,开发系统的业务逻辑层。业务逻辑层主要包括管理子层和控制子层两部分。利用控制子层接收用户请求,验证请求后进行舰船运动姿态的逻辑运算,将舰船姿态解算结果传送至用户界面层展示。业务逻辑层选取ECharts库作为舰船运动姿态监测的可视化图表库,选取MyEclipse开发系统的Web应用。

4)设施层设置的三维姿态传感器,采集舰船的运动姿态信息,所采集信息利用业务逻辑层,通过卡尔曼滤波算法,进行姿态信息解算,解算结果利用用户界面层展示至用户。系统利用Bootstrap的前端开发框架,进行系统的前端UI设计。

5)选取MySQL数据库作为系统的数据工具,存储舰船运动姿态数据。

1.2 系统硬件设计 1.2.1 三维姿态传感器

利用三维姿态传感器采集舰船的运动姿态。三维姿态传感器内设置了MEMS陀螺仪芯片与3轴MEMS加速度计,利用16位的AD转换器,将舰船姿态变化信号,转换为数字量输出。加速度传感器依据舰船的重力加速度,计算舰船姿态的倾斜角度。陀螺仪通过感应轴的瞬时角速度积分,获取舰船相对于初始状态时的运动偏转角度。

三维姿态传感器还设置了倾角模块,提升舰船运动姿态的监测精度。三维姿态传感器利用角度传感器感知舰船与水平面的偏离角度值,以及舰船的角度变化信息。利用CAN总线通信方式,与串口通信方式结合,将舰船运动姿态的实时测量数据传送至上级控制器。

三维姿态传感器的结构如图2所示。

图 2 三维姿态传感器工作原理 Fig. 2 Working principle of 3D attitude sensor

三维姿态传感器利用微处理器处理数据的采集全过程,包含单轴的传感器芯片以及三轴的陀螺仪芯片。利用AD转换器转换所采集信号[7],利用微控制器处理所采集数据,利用CAN总线将采集的舰船运动姿态数据传送至计算机。

三维姿态传感器的技术参数如表1所示。

表 1 三维姿态传感器技术参数 Tab.1 Technical parameters of 3D attitude sensor
1.2.2 前端开发框架设计

选取Bootstrap开发框架作为系统网站的前端响应设计开发软件。通过Bootstrap网站,下载Bootstrap v4.0版本,应用于HTML5中,进行舰船运动姿态数据监测系统的网站前端响应式开发。前端开发主要包括以下2项内容:

1)viewport元数据标签

Bootstrap v4.0的前端开发软件,设置移动设备为优先级,为了保证所设计舰船运动姿态数据监测系统,在移动设备端采用合适的触屏缩放状态[8],将viewport元数据标签,添加至HTML头部<head>中。

2)bootstrap. css文件

将bootstrap. css文件添加至<head>头部中。Bootstrap中的部分组件,需利用jQuery进行运行,因此需将jQuery.min.js文件加载于<body>后面。完成加载后,在模拟设备上进行舰船运动姿态数据监测系统测试,监测前端开发框架是否保证系统正常响应。

1.3 基于卡尔曼滤波的舰船运动姿态监测

系统的业务逻辑层中的姿态解算模块,利用卡尔曼滤波算法,融合加速度传感器和陀螺仪传感器采集的角度数据,输出舰船运动姿态的实时监测数据。假设$ {\varphi _g} $$ {\varphi _a} $分别为陀螺仪以及加速度计的舰船运动姿态测量角度,$ k $为监测时间,$ \Delta {\varphi _g} $为固定时间段内,陀螺仪监测的舰船运动角度变化。构建舰船运动姿态监测状态方程如下:

$ \left( {\begin{array}{*{20}{c}} {{\varphi _g}\left( {k\left| {k - 1} \right.} \right)} \\ {{\varphi _a}\left( {k\left| {k - 1} \right.} \right)} \\ {\Delta {\varphi _g}\left( {k\left| {k - 1} \right.} \right)} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{\varphi _g}\left( {k - 1\left| {k - 1} \right.} \right)} \\ {{\varphi _a}\left( {k - 1\left| {k - 1} \right.} \right)} \\ {\Delta {\varphi _g}\left( {k - 1\left| {k - 1} \right.} \right)} \end{array}} \right) + \left( {\begin{array}{*{20}{c}} 0 \\ {{v_a}} \\ {{v_g}} \end{array}} \right)。$ (1)

舰船运动姿态监测的观测方程表达式如下:

$ Y\left( k \right) = \left( {\begin{array}{*{20}{c}} {1 - w}&w&0 \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{\varphi _g}\left( {k\left| k \right.} \right)} \\ {{\varphi _a}\left( {k\left| k \right.} \right)} \\ {\Delta {\varphi _g}\left( {k\left| k \right.} \right)} \end{array}} \right) + {v_k} 。$ (2)

式中:$ {v_a} $$ {v_g} $分别为加速度与陀螺仪的过程噪声;$ {v_k} $$ Y\left( k \right) $分别为测量噪声以及舰船运动状态观测值;$ w $表示权值。

$ \Delta a $表示舰船在非惯性运动时的估计算子,其计算公式如下:

$ \Delta a = \frac{{\left| {a - {g_c}} \right|}}{{{g_c}}}。$ (3)

式中,$ a $$ {g_c} $分别为加速度实时测量的合成矢量以及重力加速度常量。

卡尔曼滤波的协方差方程如下:

$ P\left( {k\left| {k - 1} \right.} \right) = AP\left( {k - 1\left| {k - 1} \right.} \right)\Delta a{A^{\rm T}} + Q 。$ (4)

式中:$ P $$ A $分别为后验估计协方差与状态转移矩阵;$ Q $为过程激励噪声协方差。

舰船运动姿态监测的卡尔曼增益表达式如下:

$ K\left( k \right) = HP\left( {k\left| {k - 1} \right.} \right){\left( {HP\left( {k\left| {k - 1} \right.} \right){H^{\rm T}} + {r_k}} \right)^{ - 1}}。$ (5)

式中:$ H $$ {r_k} $分别为状态变量到观测变量的转换矩阵以及测量噪声的协方差。$ {r_k} $为常数时,舰船运动姿态观测数据,呈现平稳的随机过程。

舰船运动姿态监测的状态变量更新公式如下:

$ K\left( {k\left| k \right.} \right) = X\left( {k\left| {k - 1} \right.} \right) + K\left( k \right)\left( {Y\left( k \right) - HX\left( {k\left| {k - 1} \right.} \right)} \right) 。$ (6)

舰船运动姿态监测的协方差矩阵更新公式如下:

$ P\left( {k\left| k \right.} \right) = \left( {1 - K\left( k \right)H} \right)PH\left( {k\left| {k - 1} \right.} \right) 。$ (7)

通过更新状态变量和协方差矩阵,重复进行舰船运动姿态监测的后验估计,直至卡尔曼增益完成收敛,获取三维姿态传感器的最优测量角度。舰船运动的最优姿态角度估计结果表达式如下:

$ \left\{ {\begin{array}{*{20}{c}} {{\varphi _{o1}} = \left( {1 - w} \right){\varphi _{g1}}\left( {k\left| k \right.} \right) + w{\varphi _{a1}}\left( {k\left| k \right.} \right)},\\ {{\varphi _{o2}} = \left( {1 - w} \right){\varphi _{g2}}\left( {k\left| k \right.} \right) + w{\varphi _{a2}}\left( {k\left| k \right.} \right)} 。\end{array}} \right. $ (8)

式中,$ {\varphi _{o1}} $$ {\varphi _{o2}} $分别为舰船的最优横摇角以及俯仰角。

2 系统测试

实验选取某总长15.64 m的船舶作为测试对象。该船舶宽为1.78 m,排水量为4.85 t,设计吃水为0.586 m,航速为6.5 kn。

船舶航行环境如下:海浪方向为45°,海浪级别保持在轻微至中等的范围内,且海域潮流较小。

采用Bootstrap v4.0版本的前端开发框架开发本文系统,对船舶的运动姿态数据实施监测。

在该环境下,本文系统得到的横摇角与俯仰角监测结果如图3所示。

图 3 横摇角与俯仰角监测结果 Fig. 3 Roll angle and pitch angle monitoring results

分析可知,采用本文系统监测舰船运动姿态数据,横摇角与俯仰角的监测结果与实际结果相差极小,吻合度较高。实验结果验证本文系统具有较高的舰船运动姿态数据监测精度。

统计采用本文系统监测舰船运动姿态数据,三轴姿态传感器中陀螺仪和加速度计的零偏估计曲线如图4所示。

图 4 三轴姿态传感器零偏估计曲线 Fig. 4 Zero bias estimation curve of three-axis attitude sensor

可知,采用本文系统监测舰船运动姿态数据,陀螺仪和加速度计的姿态解算误差与0极为接近。系统测试结果验证,本文系统利用卡尔曼滤波方法,实时监测舰船运动姿态数据,舰船运动姿态数据监测结果与舰船实际运行姿态极为接近,传感器的监测误差低,适用于舰船运动姿态监测的实际应用中。

进一步以船舶航向速度为监测指标,对比本文系统得到的监测结果与实际结果,如图5所示。可知,尽管随着航行时间的增加,船舶的航向速度发生改变,但采用本文系统监测舰船运动姿态数据,船舶航向速度的监测结果与实际结果相差极小,进一步证明了本文系统具有较高监测精度。

图 5 船舶航向速度监测结果 Fig. 5 Monitoring results of ship heading speed
3 结 语

本研究设计了基于前端开发框架的舰船运动姿态数据监测系统,利用前端开发框架提升系统的用户界面显示性能。利用前端开发框架设计的舰船运动姿态数据监测系统,前端界面更加友好,为用户带来更好的视觉感受。此外,该系统选取三维姿态传感器采集舰船运动姿态数据,选取卡尔曼滤波算法,进行舰船运动姿态数据的实时监测。通过系统测试验证,该系统具有较高监测精度,能满足舰船航行的运动姿态实时监测需求。

参考文献
[1]
曾国庆, 马国程, 张磊, 等. 基于多领域建模的船舶凝给水系统虚实映射方法[J]. 中国舰船研究, 2022, 17(S1): 81-91+98.
[2]
徐小辉, 刘江涛, 高涵, 等. 基于Spring Boot+Vue框架的采气方案系统开发[J]. 计算机仿真, 2021, 38(6): 248-250+382.
[3]
刘妍, 韩林江, 柴鹏程, 等. 水面船舶运动姿态对声散射特性的影响[J]. 中国舰船研究, 2023, 18(3): 104-110+121.
[4]
贾晓雅, 汪洪桥, 杨亚聃, 等. 基于YOLO框架的无锚框SAR图像舰船目标检测[J]. 系统工程与电子技术, 2022, 44(12): 3703-3709.
[5]
任群亭, 武自卫, 荆惠连, 等. 舰船目标RCS动态测量数据角度修正方法[J]. 微波学报, 2023, 39(1): 41-44+50. DOI:10.14183/j.cnki.1005-6122.202301008
[6]
王康勃, 侯岳, 龚立, 等. 舰艇姿态平衡分布式仿真训练平台[J]. 船舶工程, 2021, 43(2): 57-62.
[7]
周广利, 王鹏, 郭春雨, 等. 水下尾翼对舰船阻力性能的影响研究[J]. 船舶力学, 2022, 26(7): 962-968.
[8]
程春蕊, 毛北行. 一类不确定分数阶舰船运动混沌系统的滑模同步控制[J]. 安徽大学学报(自然科学版), 2021, 45(5): 45-48.