摘 要
随着无人艇技术的快速发展,无人艇人机交互系统不可或缺。本文开展了基于电子海图无人艇人机交互系统设计与开发工作。通过引入电子海图,解决了普 通地图在海洋区域信息缺失的问题,从而使无人艇获得静态已知的海上风险,以提升无人艇的安全性。内容主要分为以下方面:
(1)针对无人艇人机交互系统提出了设计方案。首先通过分析该系统的功能及性能需求,设计了系统整体架构;其次将无人艇人机交互系统分为几个功能模块;最后针对每个模块完成相关设计。
(2)基于 S-57 海图数据标准实现了海图数据的读取。首先利用 GDAL/OGR读取 S-57 海图数据的基础上,进行海图物标的匹配;其次从查找表中获取匹配到的符号描述指令,进行解析;最后在绘制海图符号过程中,利用墨卡托投影坐标转换和屏幕坐标转换,完成海图符号的绘制中的坐标转换。
(3)基于 VS2017 平台,利用 C#和 WPF 框架完成了无人艇人机交互系统的开发。首先在系统界面上添加自定义控件、导航区以及显示区,完成系统界面的开发;其次在后台逻辑层,给界面控件添加路由事件,完成控制命令的下发和反馈信息的解析;最后通过 TCP/IP 的通信协议,完成了通信的连接。通过无人艇实地下海测试,验证了无人艇人机交互系统的可行性。
关键词:人机交互;软件系统;无人艇;电子海图
ABSTRACT
With the rapid development of unmanned craft technology, the man-machine interaction system of unmanned craft is indispensable. In this paper, the design and development of man-machine interaction system of unmanned craft based on electronic chart are carried out. Through the introduction of electronic chart, the problem of information loss in the ocean area of ordinary map is solved, so that the unmanned ship can obtain the static known maritime risk, so as to improve the safety of the unmanned ship. The content is mainly pided into the following aspects:
I. This paper presents a design scheme for man-machine interaction system of unmanned craft. Firstly, by analyzing the function and performance requirements of the system, the overall architecture of the system is designed. Secondly, the man-machine interaction system is pided into several functional modules. Finally, relevant design is completed for each module.
II. The reading of chart data is realized based on s-57 chart data standard. Firstly, on the basis of reading s-57 chart data by GDAL/OGR, object object object matching is carried out. Secondly, the matching symbol description instruction is obtained from the lookup table and analyzed. Finally, in the process of drawing chart symbols, Mercator projection coordinate conversion and screen coordinate conversion are used to complete the coordinate conversion in the drawing of chart symbols.
III. Based on VS2017 platform, the man-machine interaction system of unmanned vehicle was developed by using C# and WPF framework. First, add custom controls, buttons and display blocks on the system interface to complete the development of the system interface. Secondly,at the background logic layer, routing events are added to the interface controls to complete the issuing of control commands and the analysis of feedback information. Finally, through the TCP/IP communication protocol, the communication connection is completed. The feasibility of man-machine interaction system is verified by field test of unmanned craft.
Keywords: Human Computer Interaction; Software System; USV; Electronic chart
目 录
1 绪论
1.1 选题背景及意义
随着无人艇(Unmanned Surface Vehicle, USV)技术的快速发展,越来越多领域开始进行无人艇方面的研究,无人艇承担了重要的军事任务(李家良,2012)和民事应用,比如海域的侦察、日常海域的巡逻等方面(徐玉如等,2006)。
无人艇技术主要分为硬件、通信和软件三个部分,三个部分都是整个系统不可或缺的部分。硬件部分为无人艇自身以及搭载在无人艇上的设备;通信部分为无人艇硬件部分和软件部分之间信息的互通部分;软件部分为无人艇的人机交互软件系统,人机交互(Human-Computer Interation, HCI)主要是通过一个有效的输入和输出手段在人与机器之间完成各种信息的交互过程。目前的输入主要是在智能设备上以触摸点控的方式来完成,通过触摸屏幕来完成人机交互,无人艇的人机交互系统也使用点触触控的方式完成用户的控制操作,然后实时信息的回传显示完成信息交互,在后台逻辑层完成数据的处理(Grudin et al.,2017)。通过软件部分对无人艇进行各种任务的操控并显示信息的反馈,因此设计并实现一个人性化、智能化的无人艇人机交互系统是至关重要的。目前所知的无人艇人机交互系统主要都是搭载在大型的母船或者陆地上,通过无线的通信方式与无人艇进行各种数据信息的交互。
本文开展了基于电子海图的无人艇人机交互系统设计与开发工作。首先无人艇的人机交互系统通过对无人艇的远程操控,提升无人艇交互性;其次系统显示的无人艇姿态信息以及回传信息,提升无人艇的自主性。最后为了解决普通地图在海洋区域信息缺失的问题,电子海图作为一种用数字方式描述海洋具体情况的地图,包含大量具体并确切的海洋环境信息,比如浅滩、海岸线、港口、沉船、灯塔、水深等信息,能给系统提供较为全面的静态地图信息。系统引入电子海图(Electionic Nautical/Navigation Chart, ENC)使无人艇能够获得静态已知的海上风险,提升无人艇任务的安全性。
通过相关研究内容,本论文设计开发实现的无人艇人机交互系统为无人艇的各项军事任务和民事应用做技术支撑。
1.2 相关内容国内外研究
发展人机交互系统存在于我们生活中的方方面面,比如汽车里触控屏、无人机的地面控制站、智能家居控制面板等(Wobbrock J O et al.,2016),系统主要针对的是人与机器之间信息交互的过程。
东南大学的王海丰通过汽车交互界面发展现状和人机交互设计理念,设计了中控触摸屏的交互视觉界面,做到了可以控制车的天窗、车门、车窗等等功能,并且利用车身的传感器可以对周围障碍物进行报警。交互系统 2016 的设计让操作者的操作感受得到进一步的提升(王海丰,2017)。图 1 为汽车中控屏上的人机交互界面。
Cavett D 等人由于无人机在使用过程中存在认知、判断、决策和战术理解等方面的局限性,设计了无人机的人机交互界面,以改善操作人员与无人机之间的交互和通信联系。利用 MATLAB 的图形用户界面功能并将卫星工具套件软件嵌入到图形用户界面中作为仿真环境。该交互系统将减少操作员的认知工作量,以更好地了解环境状况,提高无人机的任务效率(Cavett D,2007)。
在二十世纪九十年代,美国机器人科技工程(Robotek Engineering)公司和第三半球(Third Hemisphere Interactive)公司联合开发了"罗伯斯基"(Roboski)USV. Roboski 是一种可远程遥控、低成本的水面靶船,美国海军将其应用于近海海域对抗训练。通过遥控 Roboski 可以进行激烈的海上对抗演习,而有人船则被禁止进行这种程度的演习。因此,Roboski 是目前美军直升机或水面艇火力演习的低成本解决方案(卢艳爽,2010)。
Fausto Ferreira 等人设计了一个增强操作员和无人艇之间交互能力的人机交互系统如图 2,通过此系统可以提高无人艇在任务和多传感设备方面的有效性(Fausto Ferreira et al., 2012)。但是其设计的人机交互系统体积和重量会在实际任务中带来不便。
2019 年,法国海事学院设计并实现了一个基于网页的无人艇交互系统,用户通过本地网络的计算机上的网页连接到系统,登录页面控制用户的访问,连接后,将从用户数据库中检索角色,登录后,系统首先显示的视图是电子海图的简化版本,可以手动控制、设置预定路线等功能,但是基于网页的方式对于无人艇的控制有比较大的不可控制的隐患。该系统的交互界面如图 3 所示。
葛荣等人在安卓平台上规划了具有路径设置、地图定位与显示、数据回传等功能模块的无人艇地面站控制和监控的一个人机交互系统,图 4 为该系统的交互界面(葛荣,2018)。此界面未能将控件与地图进行很好的融合,另外在需要手动控制无人艇航行姿态时,没有给到用户一个良好的操作感受。
王银花等人设计了一个Windows系统的电子海图显示系统的总体设计框架,采用 VB 语言和 Map Objects 控件初步实现电子海图显示系统的各种功能,显示海图、地图缩放等等(王银花,2017)。
华南理工的蔡晓芝设计了一个安卓平台的无人艇监控系统,此系统能够实现海图显示、地图定位、数据通信等功能,对于电子海图的显示,采用的是插件式电子海图引入方式,此方式的弊端在于海图的读取依赖于插件的解析,不能以自身需求对海图进行分层显示。图 5 是该系统的人机交互界面(蔡晓芝,2019)。
有关电子海图的发展,国外有 ATLAS 和 7CS、OFFSHORE 等著名公司在研究电子海图系统,而国内起步较晚,发展较慢。近年来我国的中国海事局也逐步开始电子海图系统方面的研究,国内有专门的公司发展电子海图系统,如意玛软件等,他们为其他研究海图的系统提供海图解析接口。市面上大多电子海图系统都是采用的插片式的方式,如图 6 所示,插片式就是将电子海图导入一个海图解析系统生成一个可以被应用平台调用的文件格式。图中的 SMWU 文件为 ENCDesigner 软件导出的可识别文件。
大连海事有人用 Android 平台,设计并实现了一种移动电子海图系统。该系统对 S-57 数据进行解析和转换,进行坐标投影与坐标转换、该系统在船舶导航、船舶监控等领域具有广阔的应用前景(李超,2013)。
以上所诉发展现状主要存在以下不足:(1)在需要手动控制时,没有给到用户一个良好的操作感受;(2)此界面未能将控件与地图进行很好的融合;(3)人机交互系统体积和重量都会在实际任务中带来不便;(4)基于网页的方式对于无人艇的控制有比较大的不可控制的隐患;(5)采用了插片式电子海图引入方式。
1.3 论文的主要内容
本文主要的研究内容为设计并实现基于电子海图的无人艇人机交互系统,通过对进行需求功能分析,设计了基于电子海图的无人艇交互系统。系统内容主要分为以下方面:
(1)对无人艇人机交互系统提出了设计方案,通过分析人机交互功能及性能需求,提出了系统整体架构,将无人艇人机交互分为五个功能模块:地图模块、操控模块、数据可视模块、通信模块和视频模块,并对每个模块提出了相应的功能设计。
(2)S-57 电子海图的读取显示。主要针对 S-57 标准,首先通过初始化五个S-52 标准符号库,然后利用 GDAL/OGR 读取 S-57 海图数据的基础上,进行海图物标的匹配;其次从查找表中获取匹配到的符号描述指令,进行解析;最后在绘制海图符号过程中,利用墨卡托投影坐标转换和屏幕坐标转换,从而完成海图符号的绘制。
(3)无人艇人机交互系统的实现:在 Visual2017 平台上使用 C#语言和 WPF框架完成了无人艇人机交互系统的开发。首先在系统界面上添加自定义控件、按钮以及显示块,完成系统界面的开发;其次在后台逻辑层,给界面控件添加路由事件,完成控制命令的下发和反馈信息的解析;最后采用 TCP/IP 的连接方式,完成了通信的连接。通过无人艇实地下海测试,验证了无人艇人机交互系统的有效性。
1.4 章节安排
本论文将研究内容分为五个章节进行介绍,每一章的简要内容如下:
第 1 章:绪论。首先介绍了选题背景以及国内外有关人机交互系统的发展情况,论文主要研究内容,以及章节安排。
第 2 章:无人艇人机交互系统设计方案。从系统的功能需求和性能需求,设计了整体架构,并划分了系统的功能模块。
第 3 章:电子海图的数据读取。首先介绍了电子海图的 S-57 标准。其次介 绍电子海图读取和显示的操作过程,其中包含海图坐标转换。
第 4 章:无人艇人机交互系统各功能模块的实现。依次介绍地图模块、导航模块、控件模块和通信模块四个功能模块的实现过程。 第 5 章:无人艇人机交互系统仿真测试,对无人艇人机交互系统的自动导航功能进行测试,验证系统设计的有效性和可靠性。
第 6 章:总结与展望。
2 无人艇人机交互系统设计方案
2.1 人机交互系统需求分析
2.2 人机交互系统整体构架
2.2.1 系统层次架构
2.2.2 系统整体功能架构
2.3 系统功能设计
2.3.1 地图模块
2.3.2 操控模块
2.3.3 数据可视
2.3.4 通信模块
2.3.5 视频模块
2.4 本章小结
3 电子海图的数据读取
3.1 S-57 数据传输标准
3.2 电子海图处理流程
3.2.1 初始化 S52 标准符号库
3.2.2 读取 S-57 海图数据
3.2.3 海图符号匹配
3.2.4 通过描述指令显示符号
3.3 海图坐标转换
3.4 本章小结
4 无人艇人机交互系统功能实现
4.1 地图模块
4.1.1 地图分层显示
4.1.2 海图漫游
4.2 操控模块
4.2.1 手动控制
4.2.2 任务下发
4.3 数据可视化
4.4 通信模块
4.5 本章小结
5 系统海上任务仿真测试
5.1 设定任务计划
5.2 设定起终点
5.3 海图环境建模
5.4 路径规划
5.5 生成路径下发指令
5.6 本章小结
6 总结与展望
6.1 总结
在海洋无人艇发展领域,为了进一步提升无人艇交互系统的交互感受,本文开展了无人艇人机交互系统的设计与开发工作。针对当前普通平面地图在海洋区域的信息比较空白的问题,系统引用了在海洋领域描绘信息比较全面的电子海图作为地图控件,解决了无人艇人机交互系统中无法确定无人艇在海洋周围障碍物情况的问题,内容主要分为以下方面:
(1)针对当前无人艇和人机交互系统的发展现状,对无人艇人机交互系统提出了设计方案,通过分析人机交互功能及性能需求,提出了系统整体架构,将无人艇人机交互分为四个功能模块:地图模块、操控模块、数据可视模块和通信模块,并对每个模块提出了功能设计。
(2)基于 S57 海图数据标准实现了海图数据的读取和显示。首先利用GDAL/OGR 读取 S57 海图数据的基础上,进行海图物标的匹配;其次从查找表中获取匹配到的符号描述指令,进行解析;最后在绘制海图符号过程中,利用墨卡托投影坐标转换和屏幕坐标转换,从而完成海图符号的绘制。
(3)在 Visual2017 平台上使用 C#语言和 WPF 框架完成了无人艇人机交互系统的开发。首先在系统界面上添加自定义控件、按钮以及显示块,完成系统界面的开发;其次在后台逻辑层,给界面控件添加路由事件,完成控制命令的下发和反馈信息的解析;最后采用 TCP/IP 的连接方式,完成了通信的连接。通过无人艇实地下海测试,验证了无人艇人机交互系统的有效性。
6.2 展望
无人艇人机交互系统在研究过程中,为团队接下来在无人艇人机交互系统的研究上打下了坚实的基础。由于时间和能力有限,本系统还存在以下不足:
(1)由于时间关系,本文仅实现了设计规划的重要交互功能。
(2)自动导航功能还存在不足,本文只提到全局路径规划,在实时航行过程中,需要考虑静态和动态两种航行障碍,因此全局与局部算法结合研究是该系统进一步研究重点。
(3)应进一步发掘人机交互系统的功能,使无人艇操作功能更加全面化。
参考文献
[1] 蔡晓芝。 基于Android的无人船监控系统设计[D].华南理工大学,2019
[2] 陈林。 无源侦察设备显控 S63/S57 格式电子海图应用方法研究[J]. 舰船电子对抗,2017(2)。
[3] 段莉琼, 朱建军, 王庆社,等。 改进的最短路径搜索 A*算法的高效实现[J]. 海洋测绘,2004,024(005):20-22.
[4] 甘朝华。 基于 Windows CE 的嵌入式电子海图导航系统的设计与实现[D]. 武汉大学,2005.
[5] 葛荣, 乔大雷, 张超。 基于 Android 的无人船地面站控制和监测系统设计[J]. 现代信息科技, 2018, 2(0(9)):P.177-178.
[6] 郭立新, 彭认灿, 刘雁春。 面向 S-57 电子海图显示与信息系统的研制开发[J]. 航海技术,2004,000(003):24-26.
[7] 黄忠刚, 吴俊彦, 和钟声,等。 CDC 到 S-57 物标属性对照研究[J]. 海洋测绘,2007,027(005):52-54.
[8] 李超,潘明阳,李邵喜,胡景峰,郝江凌。基于 Android 的电子海图显示系统研究与实现[J].大连海事大学学报,2013,39(04):55-58.
[9] 李宏利, 李汉荣, 朱建良,等。 基于IHO S-57标准的海图数据库建设[J]. 地球信息科学学报,2012,6(1):104-108.
[10] 李家良。 水面无人艇发展与应用[J]. 火力与指挥控制,2012,(06):205-209.
[11] 李树军, 殷晓冬。 中国海图符号发展特点研究[J]. 测绘工程,2002(02):27-29.
[12] 李树军。 海图符号的基本概念、发展过程及趋势[J]. 海洋测绘,1998(01):50-52.
[13] 廖静。 水上机器人惊艳面世, 全球最快无人艇"天行一号"[J]. 海洋与渔业, 2018,292(08):48-49.
[14] 林龙信, 张比升。 水面无人作战系统技术发展与作战应用[J]. 水下无人系统学报, 2018.
[15] 刘锋, 张严, 陈彦勇,等。 S-57 电子海图的快速读取及可视化存储[J]. 舰船科学技术,2014,36(7):108-112.
[16] 刘浩, 鲍远律。 A*算法在矢量地图最优路径搜索中的应用[J]. 计算机仿真,2008,(04):259-263.
[17] 卢艳爽, 水面无人艇路径规划算法研究[D]. 哈尔滨工程大学,2010.
[18] 齐英凯, 徐海潮, 初秀民,等。 基于 S57 的内河船舶导航系统研究[J]. 航海技术,2012,(03):39-42.
[19] 邱晓淯, 严庆新, 陈立家。 电子海图快速渲染方式研究[J]. 交通信息与安全,2010,028(006):25-29.
[20] 饶森。 水面无人艇的全局路径规划技术研究[D]. 哈尔滨工程大学,2007.
[21] 唐葆祥。 S-57 格式电子海图数据读取以及分层显示[D]. 广东工业大学,2011.
[22] 天鹰。 从无人水面艇的军事应用看 中国海军无人水面艇的发展前景[J]. 舰载武器,2012(2):28-34.
[23] 王海丰。 无人驾驶电动汽车驾驶室内的人机交互界面设计[D].东南大学,2017
[24] 王银花,衣宁,魏涛。电子海图显示系统基础功能的研究与实现[J].天津航海,2017(04):23-26.
[25] 吴岑, 秦平。 以色列开发"保护者"电子战型无人水面艇[J]. 国际电子战, 2013.
[26] 伍文晖。 水面无人艇试验平台设计[D]. 大连海事大学,2013.
[27] 徐玉如, 苏玉民, 庞永杰。 海洋空间智能无人运载器技术发展展望[J]. 中国舰船研究,2006,1(3):1-4.
[28] 詹朝明, 高海鹏。 海图符号库的设计与实现[J]. 海洋测绘,2001(1):33-37.
[29] 张树凯, 刘正江, 张显库,等。 无人船艇的发展及展望[J]. 世界海运, 2015,038(009):29-36.
[30] 张振华, 王远斌, 叶玲。 基于 S-57 标准的电子海图的设计与实现[J]. 舰船电子工程,2015,(2):94-98.
[31] 庄佳园, 万磊, 廖煜雷,等。 基于电子海图的水面无人艇全局路径规划研究[J]. 计算机科学,2011,038(009):211-214,219.
[32] Bo X, Ping X Y, Wei G, et al. Dual-Model Reverse CKF Algorithm in CooperativeNavigation for USV[J]. Mathematical Problems in Engineering,2014,2014:1-17.
[33] Caccia M, Bibuli M, Bono R, et al. Basic navigation, guidance and control of an UnmannedSurface Vehicle[J]. Autonomous Robots,2008,25(4):349-365.
[34] Castillo O, Neyoy H, Soria J. Dynamic fuzzy logic parameter tuning for ACO and itsapplication in the fuzzy logic control of an autonomous mobile robot[J]. International Journalof Advanced Robotic Systems,2013,383:1-10.
[35] Cavett D , Coker M , Jimenez R , et al. Human-Computer Interface for Control of UnmannedAerial Vehicles[C]. IEEE Systems & Information Engineering Design Symposium. IEEE,2007.
[36] Ceriotti M, Vasile M. MGA trajectory planning with an ACO-inspired algorithm[J]. ActalAstronautica,2011,67(9):1202-1217.
[37] Fausto Ferreira, Marco Bibuli, Massimo Caccia, et al. Enhancing autonomous capabilitiesand human-robot interaction for Unmanned Surface Vehicles[C]. Control & Automation.IEEE, 2012.
[38] Gigras Y, Gupta K. Ant colony based path planning algorithm for autonomous roboticvehicles[J]. Journal of Artificial Intelligence & Applications[J],2012,3(6):31-38.
[39] Liu J , Chang W , Li J , et al. Design and Implementation of Human-Computer InteractionIntelligent System Based on Speech Control[J]. Computer Aided Design & Applications,2020, 17(S2):22-34.
[40] Liu Y S. The robot path planning based on region partition to node optimization[J]. AdvancedMaterials Research,2011,38(3):605-609.
[41] Subramanian A , Gong X , Riggins J N , et al. Shoreline Mapping using an Omni-directionalCamera for Autonomous Surface Vehicle Applications[C]. Oceans. IEEE Xplore, 2006.
[42] Tuncer A, Yildirim M. Dynamic path planning of mobile robots with improved geneticalgorithm[J]. Computers & Electrical Engineering,2012,38(6):1564 -1572.
致谢
时光荏苒,岁月如歌,硕士生活即将结束。经历了课堂学习和项目比赛的忙 碌与充实,经历了找工作的喧嚣与坎坷,经历了论文写作的宁静与思考,回顾硕士生活,对那些引导我、帮助我、激励我的人,我心中充满了感激。
首先要感谢的是我的导师任佳教授,从论文选题定题到写作定稿,倾注了任老师大量的心血,帮我把握了论文的写作方向,顺利的完成了论文的写作。在我攻读硕士研究生期间,深深受益于任老师的关心、爱护和谆谆教导。我为能师从任老师而感到庆幸,导师渊博的学识、严谨的治学态度、崇高的敬业精神,必将在我未来的人生轨迹中起到指引方向的作用。然后还要感谢崔亚妮老师和张育老师,崔老师在论文的写作过程中,从内容到格式部分给予了我许多指导与建议,张老师在论文方向上给予了有力的技术指导,在内容完成的过程中给予了我很大帮助。感谢三位老师给予我参与项目的机会,在参与项目的过程中学习到了许多,整个团队的团结协作,调试过后下海测试的成功,在专业知识上收获满满,也感受到了团队的温暖。谨在此表示衷心的感谢,感谢在硕士期间对我的帮助!
其次还要感谢团队的小伙伴和好友对我的陪伴和帮助。感谢刘琨师兄和小戴师姐在学习生活中对我的帮助,我在你们身上学习到了做事的方法和仔细认真的态度,大到论文算法,小到生活琐碎,你们给予了我无微不至的关心和学术上的支持;感谢智雯师姐和贾倩雯师姐陪伴和分享,你们会耐心的倾听给出建议,让我少走了很多弯路;感谢团队小伙伴,华黎明、钱帆、唐立、李沛然、郑斌、王成以及其他小伙伴们带来的快乐和帮助,在我们共同的努力下,营造了一个团结、积极向上的团队学习氛围;感谢好友崔贝多的陪伴与倾听。
最后要感谢我的家人,你们在我身后默默地关心和支持着我。因为你们的付出,我才能没有后顾之忧的学习生活,你们是我求学路上的坚强后盾,为我排忧解难,你们对我无私的关心和照顾是我不断前进的动力,我会继续努力朝着目标前进。
硕士研究生三年的学习与生活是我人生道路上重要的一站,我十分庆幸遇到大家,感谢每一个帮助过我的人,希望大家能发展的越来越好!
(如您需要查看本篇毕业设计全文,请您联系客服索取)