温小飞, 王广哲*, 周 枫, 李同兰
(1.浙江海洋大学 船舶与海运学院,浙江 舟山 316022;2.浙江省海洋开发研究院,浙江 舟山 316021;3.舟山市卓林船舶设计有限公司,浙江 舟山 316000)
随着物联网(Internet of Things,IoT)技术的发展,无人驾驶技术得到快速提升,无人水面艇(Unmanned Surface Vessel,USV)因小巧灵活、操作简单而广泛用于替代人类在危险和恶劣环境中执行任务,例如环境监测、海洋资源勘探、海上搜救、反潜作战等[1-2]。然而,在复杂和危险水域执行任务时,需要实时获取参数并辨识其安全状态,要求监测系统具有高实时性和可靠性,一旦USV航行状态参数(航速、航向、风速、风向、横摇、纵摇、主机运行参数等)在传输系统中延迟或误差过大,会对其航行安全产生致命的后果[3]。在主机航行试验和航速、操纵性、耐波性等航行性能试验中,同样需要获取航行状态数据对USV性能进行评估。针对USV航行需求设计监测系统,实时监测航行状态信息并对异常参数进行预警,对提高USV航行安全性与任务成功性具有重要意义。
目前,在船舶监测研究方面取得一定成果。Alpha Ori Technology 公司研发监测船舶运行状况的SMARTShip监测系统[4]。文献[5]~文献[7]针对USV的综合电力系统智能监控进行研究。胡剑等[8]对 USV健康管理系统需求进行分析。余永华等[9]设计船用柴油机缸压在线监测系统。乔大雷等[10]设计USV预测性维护系统。任兵等[11]设计基于移动浮标式的USV航行位置监测系统。IoT 3层架构监测平台作为“智慧航运”的重要组成部分,在智能化、自动化、连续性及可靠性等方面均具有良好的表现,能够提供实时便捷的监控网络[12]。然而,上述研究中的IoT技术在USV运行状态监测方面的相关研究却较少,且现有监测系统的测量物理对象单一,仅解决若干关键子设备的监测问题,系统数据传输丢包率与延时较高,尚无法为USV动态调整任务及航行性能评估试验提供全面的信息支持。
综上所述,针对USV运行状态监测物理对象类别不足与远程传输丢包等问题,基于IoT 3层架构开展研究工作,设计USV航行状态监测系统,利用多源传感器和现场总线对航行状态参数进行采集,丰富监测参数种类。数据远程传输采用远距离无线电(Long Range Radio,LoRa)终端与LoRa无线网关相结合的方式可有效解决传输丢包与延时的问题,提高系统实时性,为USV的任务成功性及航行性能评估试验提供推理依据。
根据IoT体系结构设计原则,设计USV航行状态监测系统主体架构,分为感知层、传输层和应用层,如图1所示,其中,TCP为传输控制协议,I2C(Inter-Integrated Circuit)为集成电路互连。该系统具有实时数据采集、远程传输、异常报警等功能。
图1 系统主体构架
(1)感知层由STM32微控制器、多源传感器、模拟量采集器、RS485集线器、现场总线等组成。采用RS485与I2C组合的通信方式,执行上级的操作指令,STM32微控制器最终将采集的实时数据通过现场总线向上传输。
(2)传输层主要由互联网和无线通信网组成。LoRa是一种低功耗广域网通信技术[13],鉴于其低成本、功耗小、抗干扰能力强等特点,选用LoRa终端作为近距离传输网络。远距离数据传输选用双通道LoRa网关,对上使用TCP/网际协议(IP)接入云平台,对下通过内部LoRa通道与终端节点进行通信。传输层的主要功能是将感知层中监测数据上传至应用层,并将应用层的指令下发至感知层,起到上传下达的桥梁作用[14]。
(3)应用层作为IoT和用户的接口,需要实现对接收的原始数据进行解码、计算和存储,并在监测到异常数据时及时反馈至用户。应用层主要由上位机和移动终端组成。Web端和手机小程序可实现人机交互,授权用户可通过Web端和小程序访问该数据可视化展示平台,实时获取USV航行状态数据,并可人为下发指令。计算模型主要用于将采集的数据转换成所需参数,再将其与设置的静态阈值进行对比分析,在不满足条件时发送预警指令,管理者根据实际情况及时调整航行策略。
系统硬件分别由数据采集模块、存储模块、无线通信模块和电源模块组成,详细技术指标如表1所示,其中,DC为直流电,ASCII(American Standard Code for Information Interchange)为美国信息交换标准代码,LSB(Least Significant Bit)为最低有效位(即最小分辨率)。系统主要电路原理如图2所示。
表1 技术指标
图2 系统电路原理
数据采集模块是感知层的核心部分,由微控制器和多源传感器组成。数据采集与处理功能由微控制器完成。使用STM32F103C8T6作为主控制器,该芯片基于32位高性能ARM Cortex-M3芯片,工作频率最高可达72 MHz,拥有2个串行外设接口(Serial Peripheral Interface,SPI)、2个I2C接口、2组12位模数转换器(Analog-to-Digtal Converter,ADC)、3个通用同步/异步收发器(Universal Synchronous/Asynchronous Receiver/Transmitter,USART)接口,性能高,功耗低。丰富的接口和杰出的控制能力使其适用于控制多个传感器的应用。多源传感器选型及计算模型如下:
(1)姿态数据。采用MPU60506轴姿态传感器,芯片内部涵盖3轴陀螺仪和3轴加速度传感器,且内置卡尔曼滤波算法,提高数据处理精度,减少误差累积[15]。MPU6050通过I2C接口与微控制器进行通信。各轴的角速度分量、加速度分量经数字运动处理器(Digital Motion Processor,DMP)直接融合并输出四元数,采用q30格式,放大至230[16],将四元数转换为欧拉角。
(2)依托Here+基站[实时动态(Real-Time Kinematic,RTK)全球导航卫星系统(Global Navigation Satellite System,GNSS)]差分定位模块获取位置信息,该模块支持多卫星系统联合定位,可根据需求选择数据输出协议,供电电压为3.3 V,追踪灵敏度为-161 dBm、网络RTK定位更新速率最高可达8 Hz,通过I2C接口直接与微控制器进行通信。
(3)利用SJ1011CY-1615-070-H电涡流位移传感器采集振动数据,工作电压为±15 V,整体采用“二次注塑”技术具有耐腐蚀、防油、防水的功能,适合在恶劣环境下工作。根据标准特性方程可计算振动位移:
X=(V+1.000 4)/2.548 9
(1)
式中:X为探头与试件之间的距离,mm;V为电涡流传感器输出电压,V。
(4)风向、风速传感器均采用Modbus远程终端单元(Remote Terminal Unit,RTU)协议,工作电压为DC 12 V,动态响应速度小于0.3 s,灵敏度高。基于输出电压与风速风向成正比关系,可计算实时海上气象数据。风向换算关系如表2所示。
表2 风向换算关系
(5)由于USV工作环境恶劣,为准确、稳定地采集舵角数据采用防护等级为IP67的BTR50单圈绝对值编码器,工作电压为5 V,舵角计算公式[17]为
(2)
式中:θ为输出舵角;v为绝对值编码器输出ASCII码经转换后的十进制数。
(6)转速采集采用HY1954霍尔转速传感器,输出信号为模拟量,需外接模拟量转换器使用。转速计算公式[18]为
(3)
式中:n为主机转速;P为主机轴转一圈的脉冲数;T为输出方波信号周期。
传感器采用现场总线型拓扑结构进行组网,如图3所示。微控制器RS485接口拓出1根现场总线作为多源传感器与微控制器的公共传输通道,依托微控制器轮询传感器应答的通信模式,减少数据冲突,提高数据采集效率与准确率。
图3 现场总线组网结构
系统在运行时受到海浪、洋流和海风等海洋环境因素的影响,数据远程传输会造成数据丢失。因此,先将数据存储至SD卡,建立支持决策和管理过程、面向主题、集成、相对稳定、反映历史变化的数据集合,再远程传输至云平台,为后续USV航行性能评价提供数据支持。
USV自身电力资源有限且系统中的模块工作电压差较大,如数据采集模块需要3.3 V、5 V、12 V、±15 V等,因此采用多路输出DC降压模块,电路原理如图4所示。
图4 DC降压模块电路原理
具体供电方案如下:系统采用24 V锂电池作为电源,通过LM2596-5.0、LM25960-12固定降压芯片将锂电池输入的24 V电压分别转换为5 V、12 V电压,而3.3 V、±15 V电压则需要2个LM25960-ADJ可调降压芯片分别转换。
数据近距离传输使用LoRa终端模块,工作电压及温度分别为12 V、-20~80 ℃。该模块选用SX1278射频芯片[19]、LoRa调制解调器并集成30 dBm功率放大器,结合前向纠错码和数字信号处理技术,具有超远距离扩频通信、高抗干扰性和低功耗性,适用于复杂环境下的无线数据传输。在使用时需进行同速率、信道、目标地址参数配对设置,配对LoRa终端采用点对点数据透传模式。
数据远程传输可使用LoRa无线网关实现。数据采集模块依托RS485串行总线将数据传输至LoRa终端。LoRa终端以Modbus RTU协议通过发送短报文数据格式点对点上传至LoRa无线网关。LoRa无线网关使用Modbus TCP将数据上传至云平台,实时监测USV运行状态。管理者可在任何无线网络覆盖的地方,通过云平台对参数预警阈值进行设定,云平台将设定的阈值以Modbus TCP格式下发至LoRa无线网关。对下发的数据进行Modbus TCP与Modbus RTU协议转换,形成Modbus RTU报文数据格式,经LoRa终端依次发送至STM32对应的指令寄存区,最终实现异常预警功能。数据远程传输框架如图5所示。
图5 数据远程传输框架
考虑航行体内部狭小、可加装的空间固定且有限、在不同工况条件下的电磁干扰波动大等问题,在兼顾控制数据采集及传输流程等相关要求基础上,将各模块采用活动卡扣封装在电磁屏蔽箱内,以减小电磁对各模块的干扰,方便安装与维护。多源传感器接口均采用四芯航空插头,每个航空插头包含2根电源线和2根信号线,便于灵活安装。监测设备内部实物如图6所示。
图6 监测设备内部实物
选用Keil μVision5[20]集成开发环境,应用C语言编写数据采集与传输程序,其运行流程如图7所示。数据采集模块在接收到云平台发送的采集任务指令后,根据指令完成采集任务,通过LoRa终端与无线网关上传至云平台。
图7 主程序运行流程
LoRa无线网关接收云平台下发的指令或LoRa终端发送的数据,两者通过命令字进行判别。若是云平台下发的预警阈值设定指令,则通过LoRa终端发送至数据采集模块的STM32控制器;若是LoRa终端上传数据,则直接发送至云平台。无线网类程序执行流程如图8所示。
图8 无线网关程序执行流程
应用程序开发通过云平台中的组态设计功能实现。通过组态编辑器实现实时显示和数据反演功能,将关联数据进行可视化展示。具体设计步骤如下:①创建模板,选择合适模板对应用程序进行组态;②设计应用程序界面,进行需求分析,详细考虑系统参数监测需求,对主界面、数据收发测试与分析界面、监测与历史数据查询界面进行设计,如图9所示;③关联系统监测参数,对组态界面中的每个按钮设定输入框、圆饼及线型数据显示框,并将对应变量进行数据关联。
图9 应用程序组态界面
监测应用程序工作流程如图10所示。建立数据获取接口链接,判断校验是否正确,遵循一对一原则识别不同传感器原始报文并进行分组。根据解码规则对原始报文信息进行解码、进制转换与计算。根据预先设置的静态阈值进行数据异常判断,在出现异常时发出警报。
图10 监测应用程序工作流程
在对系统进行硬件设计、程序设计与开发后,进入系统功能与性能测试阶段。功能测试包括监测及预警功能测试。系统性能测试主要包括精度测试、信息传输丢包率及通信延迟测试。
测试区域长4 000 m、宽3 000 m、深8 m,场地开阔、无遮挡,满足无线通信设备架设需求。海况为3级,温度为23~33 ℃,相对湿度为35%~45%。监测对象为一艘长7.6 m、宽2.8 m、高3.0 m柴油机驱动且运行良好的USV,船体采用滚塑材质。测试区域及监测对象如图11所示。
图11 测试区域及监测对象
将所设计的监测系统安装在USV上进行持续测试,时长约8 h。系统运行结果表明:监测数据实时稳定地上传至云服务器,并通过应用程序以图形化界面展示;用户通过应用程序下发指令设置风速预警阈值5 m/s,在风速超过5 m/s时系统预警,达到预期的功能要求。系统预警阈值应根据船型参数及稳定性要求进行设定,参见中国船级社《钢质海船入级规范》[21]和《智能船舶规范》[22]。
(1)精度测试。由第三方检测公司进行精度测试和标定,因此对系统精度不再进行测试,结果如表3所示。结果表明,该系统风速误差为(0.2±0.03)m/s,风向为±2.5°,定位为0.025 m,所有参数均符合系统技术指标,整体数据正确率较高。
表3 系统精度测试结果
(2)信息传输丢包率测试。试验共分10组,每组通信距离间隔为 0.3 km,将串口调试工具波特率设置为115 200,向无线通信模块发送200个数据包,每包1 000字节,发送间隔为1 ms。数据传输丢包率测试条件和结果如表4所示。由表4可知:通信距离在1.0 km以内,系统无乱码、无丢包。与文献[23]相比,在数据传输距离小于1.4 km时丢包率为1.5%,降低约22%。
表4 数据传输丢包率测试条件和结果
(3)通信延迟测试。通信延迟会影响USV运行的稳定性和安全性,通过标记时间戳的方式计算系统延迟时间。T1为数据发送时刻,T2为云服务器数据接收时刻,T2-T1即为数据传输延迟。由于数据先写入存储模块SD卡中再进行远程传输,因此将SD卡中的数据时间戳作为T1。取100组数据进行对比分析,如图12所示。结果表明,系统平均通信延迟为23 ms,满足监测实时性要求。
图12 系统延迟分析
(1)针对USV航行状态监测及试航性能评估试验中的参数获取需求,并结合中国船级社《钢质海船入级规范》设计一套综合监测系统。该系统依托感知层、传输层、应用层等3层体系结构,应用多源传感器与现场总线对多类型航行参数持续采集,经传输层传输与应用层解算,最终实现实时监测与预警功能,未来可应用于USV日常航行监测与性能监测试验。
(2)基于系统监测数据远程传输要求,选择LoRa终端和无线网关组合通信方式,对STM32内部嵌入基于Modbus RTU协议的数据采集与传输程序,完成与LoRa终端之间的通信。无线网关以Modbus TCP为桥梁与云平台进行信息交互,用户可通过手机小程序在任何互联网覆盖的地方远程查看监测数据。
(3)通过对系统功能与性能进行测试,结果表明:所设计的系统运行稳定,监测数据准确率高,所有参数精度均符合系统技术指标,风速、风向、定位误差分别为(0.2±0.03)m/s、±2.5°、0.025 m;数据传输平均通信延迟23 ms,可实现实时监控;通信距离在小于1.4 km时的丢包率为1.5%,对比传统方法降低约22%,满足预期的监测与预警功能需求。