时间:2024-09-03
子文江 庄伟涛 彭荣发 饶银辉 陈远明 洪晓斌
学术研究
多无人艇协同避障软件系统设计*
子文江1庄伟涛2彭荣发1饶银辉2陈远明1洪晓斌1
(1.华南理工大学机械与汽车工程学院,广东 广州 510641 2.广船国际有限公司,广东 广州 511462)
针对多无人艇协同避障软件系统的需求,首先,提出多无人艇协同避障软件系统总体框架,并将总体框架划分为多无人艇层、岸基层和云系统层3个层级;然后,详细设计岸基层的岸基监控软件的数据处理与显示、自主航行路径规划模块;接着,建立Hadoop数据采集2层Flume架构,并基于HBase实现Hadoop数据存储,基于LSTM实现Hadoop避障预测;最后,验证该软件系统可满足多无人艇协同避障实际需求。
无人艇;协同避障;Hadoop;软件设计
随着21世纪海上丝绸之路的发展与推进,海上运输业已成为我国对外贸易和海洋开发的重要一环[1]。海上交通运输环境日益复杂繁忙以及危险作业项目增多,使得发展海上无人自主航行技术的需求日益迫切[2]。面对多样化的海洋作业任务和复杂的海洋环境,单无人艇在执行任务时呈现能力不足,难以满足如今海上任务多样化的需要。相较于单无人艇,多无人艇系统具有高效的任务完成能力、灵活的机动能力,从而提高了无人艇可执行任务的类型、扩大了无人艇作业半径及应对复杂海上环境的能力。多无人艇协同技术是多无人艇系统的核心技术之一,对保证多无人艇系统正常运行,提高多无人艇执行任务能力及效率至关重要[3-4]。由于海上交通繁忙且海面情况存在很大的不确定性,多无人艇协同作业时,不仅要考虑外部障碍物的碰撞威胁,还要考虑多无人艇系统内部各无人艇之间的碰撞风险,这对无人艇的自主避障能力提出了更高要求[5-6]。
本文针对多无人艇协同避障软件系统的需求,提出多无人艇协同避障软件系统总体框架,并完成多无人艇协同避障软件系统岸基监控软件和Hadoop平台软件设计。
多无人艇协同避障系统由多无人艇层、岸基平台层和云系统层3层结构组成,总体框架如图1所示。
图1 多无人艇协同避障系统总体框架
无人艇搭载传感设备和通信设备,具有环境信息感知能力、与岸基及其他无人艇通信能力,处于3层结构的前端,是多无人艇协同避障任务的具体执行者。多无人艇协同避障的相互局部决策过程在无人艇层进行,各无人艇独立进行计算和局部决策。
岸基层主要由上位机和Hadoop平台组成,其中岸基上位机用于提供多无人艇协同避障过程的可视化显示及数据的本地存储,并通过Flume将数据上传至Hadoop集群;Hadoop平台通过HDFS文件存储系统和Map/Reduce框架实现大量数据的存储和避障预测等运算,为多无人艇协同避障提供数据存储和算力保障[7-8]。
云系统层为系统提供了良好的可扩展性,可支持无人艇终端的接入,满足未来较多无人艇数据持久化存储和高效分析的需求;实现用户远程接入云端系统实时查看无人艇运行状态等功能;同时为后期复杂环境下避障模型在线更新等更多功能的引入预留空间。
本文采用串口通信实现岸基无线数传电台与无人艇岸基监控软件之间的通信[9]。无人艇岸基监控软件读取串口数据后,需先对无人艇数据进行分割处理,然后在主界面分类显示。无人艇的数据解析及可视化显示流程如图2所示。
图2 数据解析及可视化显示流程图
目前能较准确采集到的实时数据有:1)位置信息,包括经度、纬度;2)姿态信息,包括俯仰角、偏航角、翻滚角;3)转向信息,主要是转舵角;4)运动信息,主要是航速;5)障碍物信息,包括无人艇与障碍物之间的距离和方位。以上数据在主页面进行显示,如图3所示。主页面嵌入了电子卫星图,用于无人艇航线规划结果的显示、实时标注无人艇位置和显示无人艇航行轨迹。除显示上述无人艇数据外,主页面还增加了无人艇航行模式选择、转弯角度、航行速度等参数的设置功能模块,用于无人艇的远程操控以及调试,并可方便对比查看预设状态与无人艇实际运动状态。
图3 无人艇岸基监控软件主页面
自主航行路径规划模块的功能是对无人艇的全局路径进行规划,得出一条能够有效避开全局环境中已知障碍物的平滑路径,提高无人艇的任务执行效率。本文设计的多无人艇系统,路径规划是针对无人艇集群的平均位置而言,即规划路径是无人艇集群平均位置所形成轨迹的期望路径。根据航行环境及任务需求的不同,本文分别采用蚁群路径规划算法和改进RRT路径规划算法对多无人艇系统的协同航行路径进行规划[10-11]。其中,蚁群路径规划算法主要用于处理简单海面情况和面向单个目标点的多无人艇系统路径规划问题;改进RRT路径规划算法主要用于处理复杂海洋环境和面向多途经点任务需求的多无人艇系统路径规划问题。无人艇自主航行路径规划模块程序执行流程如图4所示。
图4 无人艇自主航行路径规划模块程序执行流程
首先,输入所需规划的航行路径的起点和终点或途经点;然后,程序将根据输入目标点的个数自动调用内置的蚁群或RRT无人艇路径规划算法,计算出一条优化的可行航行路径;最后,将规划的航行路径序列点发送到各无人艇,同时将该规划路径在图3中卫星图上予以直观显示。
基于Hadoop平台适配的数据采集器Flume实现数据采集模块,用于采集无人艇航行过程中产生的大量传感信息以及状态数据,并将这些数据上传到HDFS系统进行存储。多无人艇协同避障系统Hadoop平台数据采集模块由2层Flume构成,如图5所示。
图5 Hadoop平台数据采集两层Flume架构
Hadoop平台数据采集模块第一层为数据采集层,部署于岸基上位机,负责监控本地无人艇数据存储目录并将数据实时上传至Hadoop平台。当有多个岸基上位机存在时,每个上位机都需要部署Flume系统。
第二层为数据汇聚层,部署于岸基Hadoop集群,负责将各个上位机上传的无人艇数据进行汇聚并将其写入Hadoop集群的HDFS分布式文件系统。
由于多无人艇协同避障系统只涉及1个Hadoop集群,因此,Hadoop平台的Flume系统只需部署1次,但其Agent的数目可以根据需要配置。根据实际需求,岸基上位机端的Source类型需设置为Spooling Directory Source,用于监控本地无人艇数据存储目录;Hadoop端的Sink类型需设置为HDFS Sink,用于将无人艇数据写入HDFS分布式文件存储系统。
HBase是Hadoop平台的标准数据库,其为Hadoop平台提供了良好的非关系型数据存储能力,可有效存储无人艇航行过程中产生的大量多源异构传感数据。HBase数据库的加载方式包括以HBase自带的API完成数据导入操作、借助Map/Reduce实现数据导入2类方式。考虑到基于Map/Reduce编写自定义数据加载方法较为复杂,且其运行过程花费的时间成本较高;同时多无人艇系统具有数据量较大的特点,本文选择以HBase自带的ImportTSV命令直接将无人艇CSV数据文件导入HBase数据库。HBase数据库的无人艇数据表设计,主要包括无人艇数据表行键(Rowkey)和列族(column family, CF)的设计,数据表结构如表1所示。
表1 HBase无人艇数据表结构
本文以无人艇ID+16位数据产生时间为行键,其中无人艇ID为自定义的无人艇编号;16位数据产生时间为无人艇主控制器实时读取到的艇载GNSS接收机接收到的卫星定位信息中的时刻,该时间可精确到毫秒级。考虑到岸基与多条无人艇进行实时通信的压力,目前岸基与无人艇的数据收发周期维持在秒级,故行键所用时间也只取到秒。基本列族用于存储无人艇传感信息数据,目前主要存储反映无人艇运动状态如无人艇位置经纬度、航速、航向、艏向等基本信息。此外,本文还设计了一个扩展列族(extended column family, ECF)用来存储无人艇感知到的障碍物信息,主要是障碍物相对于无人艇的距离和方位。随着实际需求的变化,可以扩展添加更多列族。在岸基上位机监控软件可对存储于Hadoop平台HBase数据库的无人艇航行历史数据进行查看,查询界面如图6所示。
图6 HBase数据上位机查询界面
本文选择专门为Hadoop平台开发的开源分布式深度学习框架Deeplearning4j作为开发框架,设计一个基于时间窗口的LSTM神经网络模型用于预测动态障碍物的航行轨迹,网络结构模型如图7所示。
图7 LSTM网络模型结构图
在该模型中,时间窗口为6个采样周期时间,即无人艇轨迹在时间上依次相邻的6个位置的经纬度作为输入值,以下一个位置的经纬度作为目标值。第一个隐含层lstm_1和第三个隐含层lstm_2为包含120个单元的LSTM网络;第二个隐含层Dropout_1和第四个隐含层Dropout_2作用是随机失效部分神经元以防止出现过拟合,其Dropout率设置为0.3;dense_1为一个全连接层,作用是对数据进行降维操作以符合目标值维度;输出层的激活函数设置为ReLU函数,模型采用Adam优化器,均方误差作为损失函数。
选择无人艇某次历史航行数据对本文设计的基于时间窗口的LSTM网络障碍物轨迹预测方法进行验证,该无人艇在卫星地图上的航行轨迹如图8所示。将该无人艇航行轨迹数据集划分为训练集和测试集,划分情况示意图如图9所示。该段航迹共有45个点,选取第33~38个点作为测试集的输入值,第39个点作为测试集的目标值,其余数据作为训练集。测试结果如图10所示。LSTM网络模型预测的位置经纬度为(113.41480°E, 22.88535°N),无人艇的实际位置坐标为(113.41480°E, 22.88534°N),预测均方误差为1.0637e-10,预测距离误差为0.7 m。
图8 无人艇航行轨迹图
图9 无人艇航行轨迹数据集划分示意图
图10 测试结果
针对多无人艇协同避障系统的软件需求,结合多无人艇协同避障系统总体框架,开发多无人艇协同避障软件系统。多无人艇协同避障系统的岸基软件为基础部分,可分为无人艇岸基监控软件和Hadoop平台软件2大部分,其中,无人艇岸基监控软件主要包括通信模块、数据处理与显示模块和自主航行路径规划模块;Hadoop平台软件主要包括Hadoop平台数据采集模块、Hadoop平台数据存储模块、Hadoop平台避障预测模块。本文开发的岸基软件系统为多无人艇协同避障系统后续开发工作奠定基础,未来将进一步开展多无人艇协同避障软件系统云系统层软件开发工作。
[1] 李振福,段伟,李肇坤,等.基于“21世纪海上丝绸之路”AIS数据的船舶交通流预测[J].广东工业大学学报,2020,37(6): 1-8.
[2] 李奕雯.无人船技术为“智慧海洋”插上翅膀[J].海洋与渔业,2019(6):94-97.
[3] 王飚,李博,高敏,等.无人船的协同控制策略综述[J].中国水运(下半月),2019,19(2):3-5.
[4] RIGATOS G, BUSAWON K. Unmanned Surface Vessels[M]. Robotic Manipulators and Vehicles. Springer, Cham, 2018: 501-591.
[5] 洪晓斌,魏新勇,黄烨笙,等.融合图像识别和VFH+的无人艇局部路径规划方法[J].华南理工大学学报(自然科学版), 2019,47(10):24-33.
[6] 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.
[7] 洪晓斌,子文江,余蓉,等.大型钢结构无损云检测的可信度融合评估[J].华南理工大学学报(自然科学版),2019,47 (3):70-77.
[8] 陈阳.基于Hadoop平台的FCM算法并行化设计[J].自动化与信息工程,2019,40(1):39-43.
[9] 黄烨笙,徐郑攀,陈远明,等.无人艇自主靠泊控制系统设计[J].中国测试,2020,46(10):111-117.
[10] 洪晓斌,子文江.一种基于蚁群算法的无人船航行路径自主规划方法: CN107816999A[P].2018-03-20.
[11] CHEN X, LIU Y, HONG X, et al. Unmanned Ship Path Planning Based on RRT[C]//International Conference on Intelligent Computing. Springer, Cham, 2018: 102-110.
Software System Design of Multi-USV Cooperative Obstacle Avoidance
Zi Wenjiang1Zhuang Weitao2Peng Rongfa1Rao Yinhui2Chen Yuanming1Hong Xiaobin1
(1.School of Mechanical and Automotive Engineering, South China University of Technology, Guangzhou 510641, China 2.Guangzhou Shipyard International Company Limited, Guangzhou 511462, China)
According to the requirements of multi-USV cooperative obstacle avoidance software system, firstly, the overall framework of multi-USV cooperative obstacle avoidance software system is proposed, and the overall framework is divided into three levels: multi-USV layer, shore-based layer and cloud system layer; secondly, the data processing and display module, autonomous navigation path planning module of shore-based monitoring software of shore-based layer are designed in detail; then the two-layer Flume architecture for Hadoop data acquisition is established, and Hadoop data storage is realized based on HBase, and Hadoop obstacle avoidance prediction is realized based on LSTM; the developed software system can meet the actual needs of multi-USV cooperative obstacle avoidance.
unmanned surface vehicle; cooperative obstacle avoidance; Hadoop; software design
U664.82
A
1674-2605(2021)01-0003-06
10.3969/j.issn.1674-2605.2021.01.003
广东省科技计划项目(2019B151502057、2018A030313209);广东省自然资源厅科技项目(GDoE[2019]A13);广州市科技计划项目(201902010024)。
子文江,男,1995年生,硕士研究生,主要研究方向:多无人系统协同技术。E-mail: django_tzu@qq.com
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!