舰船科学技术  2022, Vol. 44 Issue (21): 63-68    DOI: 10.3404/j.issn.1672-7649.2022.21.014   PDF    
基于LoRa的无人艇运行状态监测系统
温小飞1, 许克荣1, 王海荣2, 厉梁2     
1. 浙江海洋大学 船舶与海运学院,浙江 舟山 316022;
2. 舟山市质量技术监督检测研究院,浙江 舟山 316000
摘要: 针对无人水面艇(unmanned surface vehicle, USV)航行中对远距离通信和自身运行状态监测的需求,设计并实现基于扩频技术超远距离无线传输(long range, LoRa)的无人艇运行状态监测系统。系统采用LoRa技术实现无人艇与岸基端的数据通信,岸基云平台对回传的各项数据进行解析、处理、显示等,实现对无人艇的横纵摇、经纬度等信息的监测。实船测试结果表明,该系统可以满足实时监测无人艇运行状态的需求,为无人艇感知与智控体系研究方面提供参考。
关键词: 无人水面艇     LoRa技术     运行状态     数据通信     监测系统    
Operation status monitoring system of USV based on LoRa
WEN Xiao-fei1, XU Ke-rong1, WANG Hai-rong2, LI Liang2     
1. School of Naval Architecture and Maritime, Zhejiang Ocean University, Zhoushan 316022, China;
2. Zhoushan Institute of Calibration and Testing for Quality and Technology Supervision, Zhoushan 316000, China
Abstract: In order to meet the requirements of long-distance communication and operation status monitoring of USV during navigation, an operation status monitoring system of USV based on LoRa is designed and implemented. LoRa technology is used in the system to realize the data communication between the USV and the shore-base terminal. The shore-base cloud platform analyzes, processes and displays the returned data to monitor the information of USV, such as rolling and pitching, longitude and latitude. The test results show that the system can meet the requirements of real-time monitoring of the operation state of USV, and provide reference for the research of the perception and intelligence control system of USV.
Key words: USV     LoRa technology     running state     data communication     monitoring system    
0 引 言

在人工智能时代背景下,无人水面艇逐渐成为研究热点,艇上无需人员作业,即可完成水质监测、渔业养殖、海上搜救等任务[1-3]。相对传统船舶,无人艇对无人操控技术、无线通信技术等有着更高的要求[4]。GPRS,NB-IoT,LoRa,Zigbee等无线传输技术已广泛应用于国内外无人驾驶水上作业中[5-7]。其中LoRa作为一种基于扩频技术的超远距离无线传输,与其他无线通信技术相比具有功耗低电池寿命长、通信距离远、成本低等优点[8]。针对无人艇在航行过程中受到风、浪等干扰时可能出现的安全问题,需要利用有效的监测手段辨识其实时安全状态。而船舶监测系统作为一种实时监测船舶运行状态的岸基架构体系,可以利用岸基端与船舶的通信数据,实现船舶信息化管控[9]

近年来随着集成化与无线感知技术的成熟[10],无人艇在航行监测领域应用越来越广泛。葛荣等[11]采用Lora-WiFi网关实现对无人船的实时操控与运行状态数据监测及显示,利用LoRa技术弥补了WiFi通信传输距离短、功耗大的缺点。王魏[12]及孙东平等[13]采用GPRS技术解决无人船与地面控制中心间的通信问题,实现对无人船控制与航行状态的监测。虽然GPRS满足远距离通信需求,但是对运营商基站依赖性强,当在海上移动场景下可能会出现GPRS信号差或无信号的情况,导致通信质量低、丢包率高等问题,无法满足监测系统的通信需求。

针对上述研究现状,为了更好地满足无人水面艇对自身运行状态监测的需求,设计一种基于LoRa的无人艇运行状态监测系统,利用搭载多传感器的无人艇巡航采集数据,通过LoRa技术完成船载端与岸基端的数据通信,从而对无人艇运行状态参数进行解析、处理等,实现对无人艇运行状态的实时监测与海况等级评估。构建无人艇运行状态监测系统对保障无人艇航行的安全性、稳定性等具有一定的研究意义。

1 总体架构

无人艇运行状态监测系统主要由无人艇采集端与岸基控制端两大部分组成,系统总体架构图如图1所示,其中船载采集端硬件部分以微控制器模块STM32F103为核心,包括具有信号采集、姿态感知等功能的传感器,通过集成各模块传感器完成硬件部分的搭载,利用LoRa无线通信模块实现与岸基端数据通信;岸基控制端软件部分以B/S架构可视化平台为核心,设计具有信号处理、数据处理、参数显示等功能模块,利用编程加以实现软件功能。

图 1 系统总体架构图 Fig. 1 Overall system architecture diagram

无人艇航行时,无人艇采集端通过传感器开始采集包含姿态、定位、风向等数据,微控制器STM32F103对采集的数据按类分配内存并添加标识信息,按照自编通信协议对数据封装,利用LoRa无线模块与岸基端完成数据通信,岸基端按照协议对有效数据包进行解析,数据解析完成后,对数据进行处理后将无人艇实时数据存储至MySQL数据库,系统后台从数据库调取最新数据实现数据的实时显示,并对无人艇海况等级进行评估与分析。

2 系统硬件

系统硬件主要是对无人艇采集端硬件模块的设备型号、参数等方面进行介绍,为岸基端解析与处理数据等提供依据。无人艇采集端硬件系统结构主要由5部分组成:微控制器、GPS/BD、姿态传感器、多传感器、无线通信,如图2所示。

图 2 系统硬件结构图 Fig. 2 System hardware structure diagram

1)微控制器

微控制器模块采用战舰STM32F103开发板,12 V供电,波特率为115200 bps。微控制器主要用于:通过各种接口与传感器联动读取数据,根据自编通信协议对GPS/BD和IMU 等采集到的原始数据进行数据封装、打包等预处理,与Lora发送模块连接,实现岸基端与无人艇端的数据交互。

2)GPS/BD

GPS/BD双定位模块型号为ATK1218-BD,5 V供电,波特率和信息刷新频率分别设置为115200 bps和20 Hz。定位模块通过串口与控制器连接,经过解析后得到无人艇实时位置、行驶方向、行驶速度等信息,以便实时掌握无人艇状况。

3)姿态传感器

姿态传感器以MPU6050芯片为核心,5 V供电,波特率设置为115200 bps。姿态传感器通过ATK模块接口与控制器连接,经过解析后可全面地获取无人艇运动姿态信息,例如无人艇姿态xyz等3个方向上的加速度、角速度等信息。

4)多传感器

考虑到单MCU处理压力大、数据传输速度较慢等影响系统性能因素,采用RS485通信总线协议选取遵循485MODBUS-RTU协议的风向/风速传感器、转速传感器、舵角传感器等组成多传感器模块进行优化,波特率设置为115200 bps,STM32与多传感器模块连接如图3所示,经过解析后可得到无人艇转速、舵角等信息。

图 3 多传感器模块硬件连接图 Fig. 3 Hardware connection diagram of multi-sensor module

风向/风速、转速传感器均采用RS485型号,采用12V供电。风向/风速传感器主要用于采集海上气象信息,通过风向采集值换算出其他信息如表1所示。利用风速信息和横摇信息结合,实现无人艇海况等级评估算法。转速传感器分为感应探头和转速变送器,通过转速变送器记录输出脉冲信号,利用输出电平频率与转速成正比关系,实时获取无人艇转速。

表 1 风向采集值对应信息表 Tab.1 Corresponding information table of wind direction collected values

电涡流位移传感器采用SJ1011CY型号,−15 V~+15 V供电均可,该电涡流传感器为一体式,不需要额外加装前置器。由于输出电压值为模拟信号无法直接读取,故需要通过模拟量采集模块转换成485数字信号输出。根据电压信号的高低和感应探头到金属体之间的距离呈成线性关系,由式(1)可计算出无人艇xyz轴系位移。

$ {X}=\frac{({V}+1.000\;4)}{2.548\;6} 。$ (1)

式中:V为采集的模拟电压值,V;X为探头与金属体间的距离,mm。

舵角传感器采用RS485型号绝对值编码器,5 V供电,具有断电记忆功能,断电后仍能保存转动位置信息。主要通过码道单独输出电路输出二进制位编码值表示舵角转动角度,由式(2)可以计算出无人艇舵角。

$ \mathrm{\theta }=\frac{\mathrm{u}\mathrm{*}360}{{2}^{12}} 。$ (2)

式中:θ为输出舵角值,(°);u为输出二进制代码的数据位转换的十进制数。

5)无线通信

无人艇采集端无线通信采用LoRa模块,在数据传输前,进行同速率、信道、目标地址参数配对设置。当MCU接收到完整数据包则采用透传模式与配对LoRa终端进行数据通信,实现无人艇采集端与岸基端数据信息流交互。

3 系统软件

系统软件基于面向对象和功能模块化的设计思想,将岸基端平台功能需求分为5个模块:串口通信模块、数据解析模块、数据处理模块、数据显示模块,数据评估模块如图4所示,其中实现监测功能关键在于解析模块、显示模块与评估模块。

图 4 系统软件设计总体架构图 Fig. 4 System software design overall architecture diagram
3.1 解析模块

解析模块程序的软件功能设计由串口数据读取、数据类型判断、数据解算3部分子程序组成,具体设计流程如图5所示。利用解析模块程序实现传感器数据解析。以姿态数据为例,当解析模块程序执行读取数据指令时,串口每次读取一串48位数据如图6所示,假设该串数据为x0x1x2…x47,有效数据位为第6~45位,其中有效数据位前12位代表三轴加速度,中间12位代表三轴角速度,较后12位代表横滚角、俯仰角及航向角,最后4位代表时间。执行类型判断指令时,首先对读取到串口数据的开始位、功能位、数据长度位进行辨识确认,然后进行数据检验和,检验和正确后,最后按照每4位构成一组4位的16进制数进行数据分类提取、转换进制。执行解算指令时,按照传感器数据处理公式解算出无人艇姿态数据,将数据按类存储到各自数组。

图 5 解析模块程序设计流程图 Fig. 5 Analysis module programming flow chart

图 6 串口数据结构图 Fig. 6 Serial port data structure diagram
3.2 显示模块

显示模块程序的软件功能设计由数据读取、数据类型转换、数据加载、数据显示4部分子程序组成,具体设计流程如图7所示。利用该显示模块程序实现无人艇运行状态参数可视化。以姿态数据为例,当显示模块执行数据读取指令时,建立Mysql数据库连接并获取无人艇姿态数据。执行数据转换指令时,将姿态数据转换成json类型数据。执行数据加载及显示指令时,利用ajax技术动态加载数据填充至Echarts图表,设置定时读取并刷新数据,实现数据实时显示,便于岸基端监测与分析无人艇的航行状况。

图 7 显示模块程序设计流程图 Fig. 7 Display the flow chart of module programming
3.3 评估模块

为了分析航行海域对于无人艇的影响情况,提出无人艇海况等级评估模块,主要依靠海况等级评估模块相关算法[14]实现。该算法理论依据是国家海洋局规定的海况等级划分与海浪高和风速的对应关系,将规定浪高范围与算法评估浪高对比,从而实现无人艇海况等级评估。

1)海上风速估计算法

通过采集海上风速信息,计算一段时间内的平均风速对应的海浪高。具体公式如下:

$ \left\{\begin{array}{c}V=\dfrac{{V}1+{V}2+\cdot+{V}{n}}{{n}},\\ {{H}}_{0}=0.015*{{V}}^{2}+1.5。\end{array}\right. $ (3)

式中:V为一段时间内的平均风速;n为一段时间内风速信息序列长度;H0为风速估计浪高。

2)无人艇横摇运动估计算法

通过采集无人艇横摇信息,估计横摇运动谱和辨识横摇运动响应函数,进而反演海浪谱信息和海浪谱对应的海浪高。具体公式如下:

$ \left\{\begin{array}{l}{S}_{y}\left(\omega \right)={\left|Y\left(\omega \right)\right|}^{2}\dfrac{1}{2{\text{π}} n},\\ {S}_{u}\left(\omega \right)=\dfrac{Sy\left(\omega \right)}{{\left|H\omega \right|}^{2}},\\ m={\displaystyle\int}_{-\infty}^{+\infty}Su\left(\omega \right){\rm{d}}\omega ,\\ {H}_{1}=4\sqrt{m}。\end{array}\right. $ (4)

式中:Sy(ω)为无人艇横摇运动功率谱;n为无人艇横摇角序列长度;|Y(ω)|为无人艇横摇运动频谱的模值;|H(ω)|为无人艇横摇运动频率响应函数的模值;Su(ω)为反演海浪功率谱;m为海浪功率谱0阶距;H1为海浪谱估计有效浪高。

海况等级评估模块程序的软件功能设计由风速评估模块、横摇运动评估模块、综合评估模块3部分子程序组成,具体设计流程图如图8所示。利用评估模块程序评估无人艇所处海况等级,从而实现对不同海况下无人艇监测数据进行分析。当无人艇航行采集信息时,岸基端从数据库中分别筛选风速与横摇信息进行海况估计,执行风速评估模块时,从数据库中读取一段时间内的风速信息并计算平均风速,然后计算风速推算的海浪高。执行横摇运动评估模块时,从数据库读取出与风速相同时间段内的横摇信息,计算横摇运动功率谱和估计横摇运动响应函数,结合功率谱与响应函数推演出海浪谱对应的海浪高。执行综合评估模块时,将两种方式推演的海浪高取均值与海况等级表对比,从而估计出无人艇航行时最终海况等级。

图 8 评估模块程序设计流程图 Fig. 8 Evaluate module programming flow chart
4 测试与分析

无人艇系统硬软件搭建完毕后,进行多次实验测试,主要为验证无人艇系统以下3个功能:

1)岸基端与无人艇采集端是否能实现稳定、远距离的无线通信;

2)岸基端是否可在云端实时监测数据;

3)不同海况下无人艇运行状态监测系统是否满足监测需求。

岸基PC端界面可以通过折线图、饼图等随着时间变化观测到各类数据的变化,验证功能1和功能2对于稳定远距离无线通信与云端监测无人艇性能数据的要求。

为验证无人艇系统能否适用不同海况下的数据监测,对3种海况等级分别设置3组对照组,通过利用无人艇横摇运动估计浪高和风速估计浪高估算出平均浪高,再将平均浪高和平均风速范围与不同海况等级内的浪高和风速范围对比,推演出无人艇所处海域内的海况等级,通过测试得到如表2所示的测试数据。从表2可以看出同一海况等级下,无人艇横摇运动会受到风速的影响,同时随着海况等级和风速的增大,无人艇横摇的角度也随之增大,验证功能3对于无人艇运行状态监测系统适用于不同海况下数据监测的要求。

表 2 无人艇海况等级评估数据表 Tab.2 Data sheet of sea state grade assessment for USV
5 结 语

基于LoRa的无人艇运行状态监测系统集成多传感器,采用RS485总线协议改善单MCU存在的缺陷,提高了系统综合性能,完成无人艇采集端的硬件搭建;利用LoRa模块作为无线通信工具提供数据传输功能,保障岸基端与无人艇采集端的实时数据通信;设计解析、显示、评估等程序模块,实现了无人艇监测数据的实时解析、处理、存储以及显示等功能。测试结果表明:无人艇系统可以实现远距离无线通信、云端实时监测数据及无人艇海况等级评估功能,证实了系统的有效性及可行性,为无人艇在实际应用提供一种切实可行的设计方案。基于此研究基础,未来研究重点可倾向于航行安全评估算法的测试实验,在云端为岸基端提供安全警告,以防出现无人艇航行异常难控制的问题。

参考文献
[1]
彭艳, 葛磊, 李小毛, 等. 无人水面艇研究现状与发展趋势[J]. 上海大学学报(自然科学版), 2019, 25(5): 645-654.
[2]
魏新勇, 黄烨笙, 洪晓斌. 基于VFH~*的水面无人艇局部避障方法[J]. 中国测试, 2018, 44(12): 39-45. DOI:10.11857/j.issn.1674-5124.2018.12.007
[3]
黄烨笙, 徐郑攀, 陈远明, 等. 无人艇自主靠泊控制系统设计[J]. 中国测试, 2020, 46(10): 111-117. DOI:10.11857/j.issn.1674-5124.2020050071
[4]
WANG N, GAO Y, WENG Y, et al. Implementation of an integrated navigation, guidance and control system for an unmanned surface vehicle[C]//Advanced Computational Intelligence (ICACI), 2018 Tenth International Conference on. IEEE, 2018: 717–722.
[5]
张本任, 熊勇, 张加, 等. 基于Arduino开发环境的无人艇控制系统设计[J]. 舰船科学技术, 2019, 41(05): 83-87. DOI:10.3404/j.issn.1672-7649.2019.03.016
[6]
张启元, 张烈山, 兰益成,等. 基于NB-IoT的养殖塘水质监测无人艇系统研究[J]. 电子测量技术, 2021, 44(07): 170-178. DOI:10.19651/j.cnki.emt.2105838
[7]
SIMONE G, DARIO M, ALESSANDRO P, et al. Anintegrated system for real-time water monitoring based on low cost unmanned surface vehicles[C]//2019 IEEE Sensor Application Symposium(SAS), IEEE, 2019: 1–6.
[8]
AREF, MOHAMED, SIKORA, et al. Free space range measurements with Semtech Lora™technology[C]//Wireless Systems within the Conferences on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS-SWS), 2014.
[9]
Giron-Sierra J M, Esteban S, Recas J, et al. Distributed electronic system for monitoring and control of a fast ship physical model[C]// Conference of the IEEE Industrial Electronics Society. IEEE, 2003: 1–5.
[10]
朱健楠, 虞梦苓, 杨益新. 无人水面艇感知技术发展综述[J]. 哈尔滨工程大学学报, 2020, 41()10: 1486–1492.
[11]
葛荣, 乔大雷, 张超. 基于Android的无人船地面站控制和监测系统设计[J]. 现代信息科技, 2018, 2(9): 177-178+180. DOI:10.3969/j.issn.2096-4706.2018.09.067
[12]
王魏. 无人监测船远程控制系统的研究[D]. 杭州: 浙江大学, 2014.
[13]
孙东平. 无人船控制系统设计与实现[D]. 青岛: 中国海洋大学, 2015.
[14]
侯静, 赵安松, 羊彦, 等. 一种基于无人艇惯导和气象仪信息的海况等级估计方法[P]. 陕西省: CN110926432B, 2021-08-17.