舰船的运动姿态决定了其航行的安全性与航行效率。舰船的俯仰角度或倾斜角度过大时,对舰船的航行安全性影响较大[1]。舰船航行时,受海浪等外界环境作用,姿态变化幅度更加明显[2-3]。实时监测舰船的运动姿态,可为舰船航行决策者提供决策依据,降低舰船航行中的事故率,保障舰船的可靠航行[4]。
目前,已有众多研究学者针对舰船运动姿态监测展开研究。任群亭等[5]利用RCS方法,测量舰船目标姿态和位置变化,利用角度内均值方法,对舰船姿态数据进行修正,获取舰船姿态变化的时间序列,明确舰船姿态角度与测试数据之间的关系,通过角度修正方法提升舰船姿态测量精度;王康勃等[6]利用分布式仿真训练平台,模拟舰船姿态平衡状态,通过模拟结果确定舰船运动姿态。该方法针对仿真训练平台的物理架构进行详细研究,利用舰船运动姿态监测结果,强化舰船的姿态监测能力。以上2种方法虽然可有效监测舰船运动姿态,对于静态环境下的舰船运动姿态监测精度较高,但难以满足舰船实际航行时,复杂环境下的运动姿态监测。因此,针对以上方法在舰船运动姿态监测中存在的问题,设计了基于前端开发框架的舰船运动姿态数据监测系统,以期能够提升舰船的航行安全性。
1 舰船运动姿态数据监测系统 1.1 系统总体结构舰船运动姿态数据监测系统的总体结构如图1所示。
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所示。
三维姿态传感器利用微处理器处理数据的采集全过程,包含单轴的传感器芯片以及三轴的陀螺仪芯片。利用AD转换器转换所采集信号[7],利用微控制器处理所采集数据,利用CAN总线将采集的舰船运动姿态数据传送至计算机。
三维姿态传感器的技术参数如表1所示。
选取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 基于卡尔曼滤波的舰船运动姿态监测系统的业务逻辑层中的姿态解算模块,利用卡尔曼滤波算法,融合加速度传感器和陀螺仪传感器采集的角度数据,输出舰船运动姿态的实时监测数据。假设
$ \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) |
式中:
用
$ \Delta a = \frac{{\left| {a - {g_c}} \right|}}{{{g_c}}}。$ | (3) |
式中,
卡尔曼滤波的协方差方程如下:
$ P\left( {k\left| {k - 1} \right.} \right) = AP\left( {k - 1\left| {k - 1} \right.} \right)\Delta a{A^{\rm T}} + Q 。$ | (4) |
式中:
舰船运动姿态监测的卡尔曼增益表达式如下:
$ 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) |
式中:
舰船运动姿态监测的状态变量更新公式如下:
$ 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) |
式中,
实验选取某总长15.64 m的船舶作为测试对象。该船舶宽为1.78 m,排水量为4.85 t,设计吃水为0.586 m,航速为6.5 kn。
船舶航行环境如下:海浪方向为45°,海浪级别保持在轻微至中等的范围内,且海域潮流较小。
采用Bootstrap v4.0版本的前端开发框架开发本文系统,对船舶的运动姿态数据实施监测。
在该环境下,本文系统得到的横摇角与俯仰角监测结果如图3所示。
分析可知,采用本文系统监测舰船运动姿态数据,横摇角与俯仰角的监测结果与实际结果相差极小,吻合度较高。实验结果验证本文系统具有较高的舰船运动姿态数据监测精度。
统计采用本文系统监测舰船运动姿态数据,三轴姿态传感器中陀螺仪和加速度计的零偏估计曲线如图4所示。
可知,采用本文系统监测舰船运动姿态数据,陀螺仪和加速度计的姿态解算误差与0极为接近。系统测试结果验证,本文系统利用卡尔曼滤波方法,实时监测舰船运动姿态数据,舰船运动姿态数据监测结果与舰船实际运行姿态极为接近,传感器的监测误差低,适用于舰船运动姿态监测的实际应用中。
进一步以船舶航向速度为监测指标,对比本文系统得到的监测结果与实际结果,如图5所示。可知,尽管随着航行时间的增加,船舶的航向速度发生改变,但采用本文系统监测舰船运动姿态数据,船舶航向速度的监测结果与实际结果相差极小,进一步证明了本文系统具有较高监测精度。
本研究设计了基于前端开发框架的舰船运动姿态数据监测系统,利用前端开发框架提升系统的用户界面显示性能。利用前端开发框架设计的舰船运动姿态数据监测系统,前端界面更加友好,为用户带来更好的视觉感受。此外,该系统选取三维姿态传感器采集舰船运动姿态数据,选取卡尔曼滤波算法,进行舰船运动姿态数据的实时监测。通过系统测试验证,该系统具有较高监测精度,能满足舰船航行的运动姿态实时监测需求。
[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. |