一种面向水质监测应用的无人艇设计与实现
2023-09-14肖玲君熊颖郡陈华龙
肖玲君,何 姝,熊颖郡,朱 曼,陈华龙
应用研究
一种面向水质监测应用的无人艇设计与实现
肖玲君1,2,何 姝2,熊颖郡2,朱 曼3,陈华龙3
(1. 武汉市宇驰检测技术有限公司,武汉 430205;2. 深圳市宇驰检测技术股份有限公司,广东 深圳 518055;3. 武汉理工大学,武汉 430079)
为提高水质监测无人艇的性能,设计了一种基于软件定义的模块化水质监测无人艇。文章首先梳理了其作业流程,并对底层电子电气架构进行改进设计。然后基于硬件虚拟化和微服务技术,详细设计了水质监测无人艇的控制系统,并对软件定义的中央控制器进行了模块化设计。系统测试和实船试验表明,相比于传统船型,该水质监测无人艇的全船控制网络负载降低约50%,任务处理时延下降30%,各系统运行稳定,系统软件定义能力和功能拓展能力显著增强。
水质监测 水面无人艇 电子电气架构
0 引言
传统的水质监测方式主要是由监测人员人工实地采样,这种水质监测方式容易受到天气、水面漂浮物影响,监测范围有限,且作业效率低,无法对水域进行实时动态监测,难以快速、准确的对水域水质进行全面监测[1]。近年来,随着自动控制技术、信息技术、人工智能技术的不断发展,无人艇在水质监测行业中得到快速发展和应用,为有效解决传统人工水质监测存在的问题提供了新的方法和手段[2]。
水质监测无人艇是一种能自主航行和智能作业的无人作业平台,根据其作业需求,需具备自主航行、路径规划、水质采样与监测等功能。目前已有部分学者对该无人系统进行设计和测试,取得了较好的实用效果[3]。目前水质监测无人艇大多采用在已有成熟的通用无人艇平台上加装相关水质监测设备来实现水质监测的目的,通常采用软硬件一体化的设计方案,即定制的硬件系统搭配相应的专用软件,该方式可最大化设备的性能,布置简单,但是却牺牲了设备的灵活性。同时,传统的水质监测无人艇采用分布式的设备布置形式,随着水质监测无人艇智能化需求的提升,无人艇载的电气化设备大幅增加[4]。软硬件系统变得庞大、难以维护和扩展、故障率升高[5]。综上,传统的水质监测无人艇的软硬件布置形式和设计方案导致各子模块间信息交互效率较低,系统的可维护和功能拓展能力有限。
为此,本文设计了一种新型水质监测无人艇,首先对水质监测无人艇的电子电气架构进行设计,以此来满足水质监测无人艇子系统间高速信息交互需求,其次,分别对水质监测无人艇的岸基子系统、艇载子系统进行设计,并对水质监测无人艇系统的硬件架构和软件架构进行解耦设计,实现水质监测无人艇实时控制和非实时控制功能的有效融合。最后,通过系统测试和实船试验对所提出的方案进行了验证。
1 水质监测无人艇的总体设计
无人艇水质监测的作业流程如图1所示,主要步骤分为航线规划、任务执行、返航回收等。
图1 水质监测无人艇的作业流程
电子电气架构最早由汽车工业界提出,通过对功能、性能、成本等方面进行分析,将动力系统、传动系统、感知系统等组件通过合理的物理布局和网络连接以实现设定的系统功能[7]。水质监测无人艇的电子电气架构将无人艇的路径规划、运动控制、态势感知、系统监测、水质采样与在线检测、供电系统、通信网络等系统组件通过一定的方式连接,以更经济、灵活的方式实现水质监测无人艇功能。
水质监测无人艇的电子电气架构采用集中式架构,如图2所示,中央控制器来对无人艇载所搭载的设备进行统一管理,连接激光雷达、摄像头、惯性测量单元、高精度定位器(Real-time Kinematic, RTK)等。水质采样和水质检测设备通过核心交换机和中央控制器进行通信连接,全船采用CAN总线连接中央控制器和外设设备。
图2 水质监测无人艇系统电子电气架构图
2 水质监测无人艇的控制系统设计
2.1 岸基控制子系统
岸基控制系统主要有地面控制站、人工操纵遥控器、通信基站组成。地面控制站是无人艇操纵的主要设备,其主要功能有无人艇的航路规划,无人艇的运动控制,无人艇状态显示等。
岸基子系统中的地面控制站系统软件采用Qt进行设计和开发,软件采用多线程技术架构模式,将软件划分为界面主线程、通信子线程、控制子线程和数据库子线程等4个线程。各线程之间通过Qt信号和槽机制实现数据通信、同步和异步操作。采用Qt中的卫星地图数据库实现地图的显示、标记和路径规划等功能[10]。
通信系统采用工业级电台和4/5G双通信模块,型号为HT-M2022T-DE。采用多模通信的自适应切换设计,可以根据实时传输数据性质和大小选择传输方式,以保证传输的稳定性。功耗最高为20 W,传输距离为 5 km,防水等级为IP65。
为了应对无人艇实际测量中可能出现的紧急状况,在该无人艇的中央控制器中内置了自主航行、地面站远程控制和遥控手动控制3种模式,以便在出现突发状况下可有远程控制器人工手动对无人艇航向、航速、控制模式等进行控制。
2.2 无人艇载子系统
水质监测无人艇作业信息流转如图3所示,无人艇载子系统的硬件主要包括中央控制器,由T506 NVIDIA Jetson Xavier 嵌入式开发板和一块STM32F407备用控制板组成。中央控制器还连接摄像头和雷达,用于对无人艇航行环境和障碍目标信息进行识别[11],水质采样和检测设备通过网口连接中央控制器,由中央控制器依据任务进行控制。
图3 水质监测无人艇作业信息流转图
备用控制板可在紧急情况时通过遥控器接收机接收远程遥控器的控制信号,并将其转换为PWM波传输给油门控制器和转向压力泵,实现应急遥控控制[12]。
采用中海达的SKY2型RTK系统作为无人艇的精确定位设备,通过网络信号,可输出厘米级定位精度的无人艇位置信息。采用HCM365B全姿态三维电子罗盘作为无人艇罗经设备,采用YIS300-A型惯导设备,其集成三轴加速度计、三轴陀螺仪和三轴磁力计,能提供高精度的加速度、角速度和姿态角等信息。视觉传感器采用海康威视生产的DS-2CD3T87FP2型球机,通过软件开发工具对其进行二次开发,采用Robosense RS型16线程激光雷达作为辅助环境感知传感器。
2.3 中央控制器架构设计
中央控制器作为水质监测无人艇的核心部件,是实现无人艇预设功能的关键。中央控制器作为整个无人艇的处理和控制中枢,可以有效地增加设备间信息交互效率,减少通信布置成本。
2.3.1 中央控制器的软、硬件解耦
水质监测无人艇功能需求的增加使得船舶软件系统需要解决的问题愈发复杂,软件系统变得庞大、难以维护和扩展、故障率升高。参考面向功能的架构,将系统所具备的能力抽象为具有调用接口和可重复调用的基础服务,通过调用基础服务来满足系统的功能需求。通过合理的架构组织和运用分散在船舶系统不同部分的基础服务,高效地利用船舶现有能力满足水质监测无人艇功能需求。
通过将功能需求和硬件资源解耦,最小化服务功能组件之间的功能依赖性,提高了服务的可拓展性和重复利用率,如图4所示,船载设备通过中央网关互相联通,抽象为任务需要的独立的基础服务组件,服务之间通过设计的标准通信接口交互,这样简化整个系统的描述,降低架构系统的复杂性。
图4 功能与设备解耦示意图
本文利用基于Docker的资源虚拟化技术对无人艇的抽象应用和服务进行管理,利用无人艇水质监测任务的可分解性和任务时序逻辑,通过软件定义方式,实现数据和应用解耦,根据服务进行,实现计算资源的灵活分配。Docker将单个服务应用的计算流程、数据依赖和应用配置打包,最后将每个应用放到一个隔离容器去运行,避免互相干扰,也有利于上层应用对底层基础服务的调用。
2.3.2 中央控制器的软硬件架构
设计的中央控制器硬件架构如图5示,中央控制器的主要部件是由处理器和控制器组成,处理器和控制器之间通过SPI通信协议交换信息。摄像头、雷达等设备信息输入到处理器中,处理器对信息进行处理后输入至控制器,作为无人艇控制的基础。
图5 中央控制器硬件架构
中央控制器的软件架构采用三层架构如图6示,包括底层系统软件层、功能软件层、应用软件层[13]。底层系统软件层,包括虚拟机、系统内核、中间件组件等。功能软件层包括数据库组件、中间件等,为应用软件提供运行和开发环境。应用软件层包括运动控制算法、动态避障算法,水质采样和检测算发等,用于实际实现对于水质监测无人艇的控制和各种实际功能。
在系统软件层,通过硬件虚拟化技术和容器技术来实现对中央控制器的软、硬件解耦,为水质监测无人艇的控制应用提高标准化的软件运行环境和硬件隔离控制。通过容器技术实现对控制应用的封装,可以更好的支撑各子系统的协同控制,完成更精确和复杂的智能控制功能。
系统软件层将中央控制器虚拟化为若干虚拟模块,包括CPU、内存、硬盘和IO口,并将系统控制分为实时CPU和非实时CPU。实时CPU 虚拟化以计算核心为基本分配单元,将CPU的计算核心分配给某一实时虚拟机,实时虚拟机独占这些计算核心。非实时CPU虚拟化可以将一个计算核心分配给多个虚拟机,多个虚拟机通过时间片轮转的方式分时使用计算核心。I/O虚拟化在I/O硬件之上虚拟出多个虚拟I/O接口,这些虚拟I/O 接口数据读写都通过一个消息队列,I/O硬件将消息队里将数据转发到虚拟I/O。
根据水质监测无人艇需要执行的任务不同,系统软件层可以合理调度硬件资源,来高效执行相关任务。如计算密集型任务的虚拟机需要分配更多的计算资源,对于存储密集型任务,需要分配更多的存储资源。不同的控制应用在中央控制器中也不会发生运行冲突,可以同时运行多个控制应用,提高了任务执行的灵活性和精确性。
在功能软件层,通过部署容器到虚拟机中,实时控制应用和非实时应用可以通过在容器环境中运行,来简化水质监测无人艇工程化部署的难度。
图6 软件定义下的中央控制器架构
通过将中央控制器的I/O接口标准化和虚拟化,可以有效地减少控制器负载设备的接口协议个数,实现高效的数据访问,同时也简化了水质监测无人艇的大规模部署的难度。
2.3.3 水质监测无人艇的一体化设计
无人艇在水质监测过程中需要重点解决数据高效采集、处理和利用的问题。为此,本文在中央控制器软件架构中的功能软件层设计了以基于微型数据中台的数据统一处理、计算和转发机制,如图7所示。
图7 一体化的数据管理架构
通过建立统一的数据管理平台,可以将全局数据进行统一收集和处理,通过数据仓库对数据进行汇集,同时具备实时和离线的数据采集能力,另外,数据仓库可以对结构化、半结构化的数据进行采集和存储。为了更好的服务于水质监测任务,航行状态数据与水质采样检测数据需要进行实时匹配,通过部署在中央控制器的离线分析算法、准实时分析算法、实时分析算法和机器学习算法可以对数据进行统一处理和分析,增强无人艇的水质监测和航行状态匹配能力。通过数据通信协议和消息中间件,实现数据资产的管理,支持数据到处和数据交换的功能。上层微服务和外部API可以调用基础算法引擎对数据进行个性化处理,以实现数据的高效利用。
表1 网络仿真结果
3 系统测试和实船试验
3.1 系统测试
在湖北武汉东湖对水质监测无人艇系统进行实船测试。试验水域相对风速为1.2~2.0 m/s。通过多组实验测试,水质监测无人艇机械部分和电动系统保持稳定。实验测得在设备载荷为40 kg 时,平均航速约为2 m/s,最高航速为5 m/s,电池组续航为328 min,最远通信距离为4.8 km。
同时,为了验证中央控制器对传感器节点的数据收发效率,使用Omnet软件搭建无人艇的网络仿真模型[15],如图8所示,根据中央控制器连接的设备数量预估报文数量,测试中央控制器的网络负载率。
图8 中央控制器下的网络仿真示意图
对比中央控制器架构和传统的分布式架构可以看出,在相同的节点数量下,分布式架构的网络分支要比中央控制器的网络分支多,分布式架构的平均网络负载率要明显高于传统分布式架构;而对于等效带宽,中央控制器架构要明显高于等效带宽。
另外,对所提出的中央控制器的性能进行分析,分别运行10、20、30、40和50个任务,观察完成任务时控制器所需的调度时延。结果如图9所示,基于软件定义架构设计的控制器可以有效减少调度时延
图9 不同控制器调度时延对比
3.2 实船试验
水质监测无人艇的目标识别能力、路径跟踪和运动控制是水质监测无人艇开展水质采样、检测工作的基础。为进一步验证水质监测无人艇的实用性,对水质监测无人艇的实际效能进行实船试验。
在测试时,在地面站软件上设置需要检测的水域范围,地面站软件可根据设定的水域范围自动生成无人艇航线。无人艇的实际航迹如图11所示,可以看出,水质监测无人艇的实际航迹和预设路径的误差较小,可较好的实现无人艇的自主航行。
图10 水质监测无人艇实船
图11 水质监测无人艇实际航迹
4 结论
本文提出了一种软件定义水质监测无人艇的架构设计,详细阐述了水质监测无人艇系统各组成部分的具体设计和实现过程,通过系统测试和实船试验验证了设计的水质监测无人艇系统的可行性。与传统的水质监测无人艇由独立的无人艇系统和水质监测系统组成不同,软件定义水质监测无人艇采用航行功能和水质采样和监测一体化设计,采用中央控制器连接艇载的控制器、传感器、水质采样和监测器,能够提高无人艇数据交换能力,同时布线简洁,便于无人艇系统功能的拓展和系统维护。实船试验结果表明,该水质监测无人艇架构实现设定的设计目标。
[1] 王岩, 王超梁, 杨格格. 一种物联网水质监测云系统设计与实现[J]. 物联网技术, 2022, 12(4): 22-24.
[2] 陈卓, 金建海, 周则兴, 等. 面向水质监测的无人艇岸基控制系统的设计与实现[J]. 计算机测量与控制, 2022, 30(6): 107-112.
[3] 杨阳, 耿巍麟, 李天博, 等. 多功能水体环境监测水面无人艇的设计[J]. 船海工程, 2020, 49(1): 15-18.
[4] 智超群, 鲁旭涛, 张丽娜. 水质监测机器人集群编队路径规划策略[J]. 国外电子测量技术, 2022, 41(5): 15-20.
[5] 黄美根, 黄一才, 郁滨, 等. 软件定义无线传感器网络研究综述[J]. 软件学报, 2018, 29(9): 2733-2752.
[6] 陈亮, 李峰, 任保全, 等. 软件定义物联网研究综述[J]. 电子学报, 2021, 49(5): 1019-1032.
[7] 付朝辉, 王华阳. 功能架构在电子电气架构开发中的应用和实践[J]. 汽车工程, 2021, 43(12): 1871-1879.
[8] 冯志勇, 徐砚伟, 薛霄, 等. 微服务技术发展的现状与展望[J]. 计算机研究与发展, 2020, 57(5): 1103-1122.
[9] 刘晓军, 类成玉, 吴皓, 等. 基于SOA的云机器人服务框架设计[J]. 计算机工程与设计, 2021, 42(2): 567-573.
[10] 肖长诗, 陈华龙, 文元桥, 等. 一种水上搜救机器人系统的设计与实现[J]. 船舶工程, 2020, 42(11): 106-113.
[11] 丁明, 程清, 李林, 等. 一种基于嵌入式系统的园区微电网中央控制器设计[J]. 电力系统保护与控制, 2019, 47(6): 158-165.
[12] 许志荣, 杨苹, 郑成立, 等. 用户侧光储型微电网中央控制器研制[J]. 电网技术, 2017, 41(2): 426-433.
[13] 朱世珂, 束永安. 基于软件定义网络的分层式控制器负载均衡机制[J]. 计算机应用, 2017, 37(12): 3351-3355, 3360.
[14] 李雪, 胡海驹, 王伟平, 等. 水面无人艇远距离通信系统设计与实现[J]. 电信科学, 2021, 37(7): 48-56.
[15] 汪鑫, 林放, 刘轶, 等. 基于OMNet++的大规模InfiniBand互连网络模拟系统[J]. 计算机工程与科学, 2021, 43(5): 792-798.
Design and implementation of the unmanned surface vehicle for water quality monitoring
Xiao lingjun1,2, He Shu2, Xiong Yingjun2, Zhu Man3, Chen Hualong3
(1. Wuhan Yuchi Testing Technology Co, Wuhan 430205, China; 2. Shenzhen Yuchi Testing Technology Co., Shenzhen 518055, China; 3.Intelligent Transportation Systems Research Center, Wuhan University of Technology, Wuhan, 430070, China.)
TP242.3
A
1003-4862(2023)09-0001-06
2023-02-27
湖北省科学技术厅2021年湖北省揭榜制科技项目(项目编号:2021BEC003)
肖玲君(1986-),女, 硕士, 工程师, 研究方向:环境监测。E-mail:xiaolingjun@yctesting.com
陈华龙(1992-),男,博士,研究方向:无人艇设计。E-mail:hualongchen@whut.edu.cn。