无人驾驶船舶航道平台构建的仿真研究与实现毕业论文
2020-02-17 23:14:04
摘 要
随着航运业的不断发展,海上的运输往来越来越密集,随之出现的海上交通安全问题也日益明显。许多海上事故调查报告表明75%-96%的海上事故是由人为失误造成的,或者是与人为因素相关。因此,为了减少人为因素的影响,提高船舶智能化,无人驾驶船舶的研究也不断发展。在众多的研究方法中,计算机建模仿真的方法具有低成本、方便快捷的特点。
在本文研究的内容为无人驾驶船舶航道平台构建的仿真研究与实现。通过该设计可为研究无人驾驶船舶技术提供简单的平台。主要完成了以下工作:
(1)首先从航道平台的基本环境和船舶控制两方面对本系统进行了需求分析,设计了系统的功能模块以及明确系统所采用的技术与实现的流程。
(2)在Unity3D中使用预制3D模型、UI控件实现开始场景的搭建,使用地形组件、自带水资源搭建船舶航行的虚拟环境,并通过天空盒、粒子系统、雾效系统、光源组件、音频组件实现多种天气场景,通过摄像机与UI控件实现航行状态的显示与碰撞警告信息。
(3)编写脚本实现对船舶的控制,包括船舶受风浪影响下运动模拟,按键控制船舶运动的实现,船舶按照轨迹自主航行的实现,碰撞检测算法的设计和船舶避让其它船只功能的实现。
(4)创建追越、交叉相遇等相遇场景验证船舶控制算法。
通过完成以上的工作,搭建了船舶航行的虚拟环境和实现了船舶航行的控制。
关键词:航道平台;船舶控制;Unity3D;航行仿真
Abstract
With the continuous development of the shipping industry, the transportation of ships at sea is becoming more and more dense, and the maritime traffic safety problems are becoming more and more obvious. Many marine accident investigation reports show that 75% - 96% of marine accidents are caused by human errors or related to human factors. Therefore, in order to reduce the influence of human factors and improve the intelligence of ships, the research on unmanned ships is also constantly developing. Among the many research methods, the computer modeling and simulation method has the characteristics of low cost, convenience and quickness.
The content of this paper is the simulation research and implementation of the unmanned ship navigation platform. This design provides a simple platform for studying unmanned ship technology. Mainly completed the following work:
(1)Firstly, the system is analyzed from the basic environment of the channel platform and ship control. The functional modules of the system are designed and the technology and implementation process of the system are defined.
(2)Using Prefabricated 3D models and UI controls in Unity3D to build a starting scene, using terrain components, self-contained water resources to build a virtual environment for ship navigation, and through the sky box, particle system, fog system, light source components, audio component implements a variety of weather scenes, and displays navigation and collision warning information through the camera and UI controls.
(3)Implementing ship control through script programming, including the simulation of ship motion under the influence of wind and waves,the realization of key-press control of ship motion,the realization of ship autonomous navigation according to trajectory,the design of collision detection algorithm and realizing the ship's function to avoid other ships.
(4)Verification of ship control algorithm by creating encounter scenarios such as overtaking and crossing.
By completing the above work,a virtual environment for ship navigation is built and the control of ship navigation is realized.
Key word: Channel platform;Ship control;Unity3D;Navigation simulation
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 2
1.3 研究内容 3
1.4 论文组织结构 4
第2章 系统分析与设计 5
2.1 系统需求分析 5
2.2 系统设计 5
2.2.1 系统功能模块设计 5
2.2.2 系统实现流程设计 6
2.3 Unity3D的简介 8
2.4 本章小结 8
第3章 航道平台场景搭建 9
3.1开始场景的搭建 9
3.1.1 基本环境 10
3.1.2 参数设置界面 10
3.1.3 场景加载 11
3.2 航行场景的搭建 12
3.2.1 地形的搭建 13
3.2.2 添加水效果 14
3.2.3 天气控制系统 14
3.2.4 粒子特效 16
3.2.5 船舶信息显示面板 18
3.2.6 模拟雷达 19
3.3 本章小结 20
第4章 船舶航行算法设计与实现 21
4.1 船舶在风浪中的运动 21
4.2 船舶遥控控制 23
4.3 船舶寻迹功能 24
4.4 船舶碰撞检测算法 26
4.4.1航线预判 26
4.4.2 碰撞检测 27
4.5 船舶避让决策算法 29
4.6 本章小结 32
第5章 结果测试与分析 33
5.1 遥控场景测试 33
5.2 自动航行场景功能验证 33
5.2.1 追越场景 34
5.2.2 交叉相遇场景 35
5.2.3 多船相遇场景 36
5.3 本章小结 38
第6章 总结与展望 39
6.1 总结 39
6.2 展望 39
参考文献 40
致 谢 41
第1章 绪论
1.1研究背景及意义
水路运输作为主要的运输方式之一,有成本低廉、运输的货物量大等明显优势。随着航运业的不断发展,海上的运输往来越来越密集,这使得船舶驾驶员在处理船舶面临的困难时更加麻烦。许多海上事故调查报告表明75%-96%的海上事故是由人为失误造成的,或者是与人为因素相关。因此,尽量避免采取基于主观经验的决策,增强船舶航行的智能化和自动化是提高海上安全性的有效途径之一。目前,国内的许多单位对无人驾驶船舶的研究,投入了大量的人力和物力,进行相关理论的研究、技术的研发并进行相关的实验来验证其可行性。
当前,无人驾驶船舶的研究尚处于起步阶段,进行研究的主要方法有以下几种:
- 计算机仿真。这种方法基于理论的研究,借助一些计算机软件平台,进行建模仿真分析。
- 半实物平台。将实物与计算机仿真相结合,在计算机上通过仿真实现对实物的操控,进行运动控制的相关实验。
- 实船研究。直接以真实航行船舶作为研究对象,加入先进的传感技术、智能化的决策和控制算法进行实验,验证决策、算法的可靠性。
在以上的研究方法中,实船研究可靠性最高,最接近实际情况,但是也存在着成本极高,危险度极高的缺点。只有在充分研究,理论研究比较完善的基础上,作为最后的验证手段。在初级阶段的研究中,更多是采取低成本、简单方便的计算机仿真方法作为初级手段。
无人驾驶船舶航道平台仿真的优势在于:
- 加快研究速度。在计算机仿真中,可以根据需要创建不同的场景,更改控制算法,建立不同的模型,使其研究过程更加灵活、方便。
- 节省资源。借助计算机在仿真平台上进行模拟,减少实船研究中的许多环节,对于了解和改进算法,节省了大量的人力、物力和时间。
- 船舶运动的逼真反映。建立船舶运动的模型,以程序控制船舶的运动,能反映出基本的运动过程。
综上可知,构建无人驾驶船舶航道平台的仿真对于研究无人驾驶船舶技术有着重大意义,可以模拟不同环境下的船舶航行场景,不会受到时间制约,并且能快速调整船舶的控制算法、决策算法,提供更方便、高效的研究方式。
1.2国内外研究现状
虚拟现实是采用计算机技术为核心的现代技术生成的逼真的视、听、触觉一体化的一定范围的虚拟环境,用户可以借助必要的设备以自然的方式与虚拟环境中的物体进行交互作用、相互影响,从而获得真实的感受和体验[1]。经过三十几年的发展,虚拟现实技术也越来越多地应用到交通运输的规划决策、设计评价、训练体验和现象再现等多个方面。目前,国际上虚拟现实交通应用刚刚起步,大多数工作处于交通仿真软件开发与应用、交通工具驾驶模拟器研制等方面的研究阶段。国内虚拟现实技术在近几年内也越来越多地应用到交通运输领域,在航海模拟器、轨道交通行人仿真等方面具有较大优势。
虚拟现实技术在逐步的发展,得到了更广泛地应用。2010年Huang等人实现了一种基于Simulink和VR工具箱的车辆动力学模型可视化仿真[2]。2014年Li等人开发了基于虚拟现实技术的预测仿真系统,操作指令可以在系统中预测指令运行结果[3]。2016年Guilherme Riter Postal等人利用虚拟仪器设计了一种虚拟环境用于进行无人机飞行员训练[4]。2016年张茜设计了基于Unity3D的汽车功能模拟与驾驶场景演示系统,将汽车的各个系统进行模拟集成,并实现了不同的地形道路环境,这对于车辆驾驶学习有着巨大的现实意义[5]。2018年,王昊设计了基于Unity3D的沉浸式VR、AR船舶航行体验系统,搭建不同的航行场景,模拟船舶在水面上的运动状态,实现了船舶虚拟航行体验系统各项功能,丰富用户体验[6]。
虚拟现实交通仿真的实现通常包括场景搭建、微观交通仿真、动态场景展示和人机交
互设计等内容。交通仿真通常概括为四个过程:建模、实验、决策与评价、优化。在对于船舶建模仿真方面,许多研究者用了不同的方法,考虑了不同的影响因素建立船舶运动模型,并进行仿真研究。2007年,何金花等人用二维半切法给出了船舶运动方程,建立3D船舶模型,在OpenGL环境中实现船舶的运动仿真[7]。2012年黄会营等人使用Creator建模软件对三维实体船模进行了较为逼真的建模,并采用DOF节点技术建立了螺旋桨、舵 、鳍 的仿真运动模型[8]。2016年,杜春梅对非线性船舶模型PID航向控制进行了分析,并设计了控制算法,以流程图的形式描述了航向控制算法,搭建了船舶航行虚拟环境,在此基础上研究了环境外力对船舶航向的影响[9].2018年,晁大海等人建立了船舶横摇、纵摇的状态方程,基于VB和Matlab实现船舶摇荡运动仿真[10]。
目前,国内外机构众多机构对无人驾驶船舶投入了大量的人力和物力,开展理论研究、技术研发和试验工作[11]。根据船舶具备的能力的不同,可将无人驾驶船舶分为不同的等级。国内技术水平已具备通过遥控实施控制能力、航迹跟踪能力,以及部分障碍物躲避能力。无人驾驶船舶在海上航行出现追越、交叉相遇、对遇局面时,应该采取决策避免发生碰撞的危险。研究人员提出来许多避免碰撞的路径规划算法。2000年,Smierzchalski等人通过设置静态和动态边界将碰撞避免视为动态优化问题,将速度作为未知参数,扩展用于机器人路径规划[12]。2006年,王当利和黄立文提出了可用于构建符合船员通常做法且能为航海人员和专家所接受的知识库的“船舶自动避碰模型”,并提出相关算法,对该模型进行了仿真验证可行性与有效[13]。2013年,Bucknal等人提出了一种协作路径规划算法,基于COLREGs给予每艘船不同的优先权,仅使用航线改变来避免碰撞[14]。2015年,Zhang等人提出了基于COLREGs的多船相遇情况下的分布式防碰撞决策公式,船舶通过相遇情形判断,遵守COLREGs,可以改变速度和航向来避免碰撞[15]。2018年,沈海青等人针对无人船舶在海上复杂航行条件下的自动避碰问题,基于深度竞争Q学习算法及A*算法提出了一种考虑航行经验和避碰规则的无人船舶智能避碰导航方法[16]。
1.3研究内容
在目前研究无人驾驶船舶的方法中,多是采用2D建模,搭建二维仿真环境,虚拟现实在海上交通方面的应用偏向于研究船舶运动模型的建模与仿真。本设计为无人驾驶船舶航道平台构建的仿真研究与实现,研究的主要内容为船舶航行环境的搭建与对船舶的控制,组织图如图1.1所示。本设计中使用游戏引擎Unity3D实现船舶航道平台的构建,搭建3D仿真环境,通过船舶运动方程模拟船舶在水面上的运动状态,编写脚本实现船舶的遥控模拟控制。设计船舶寻迹跟踪算法实现船舶的轨迹跟踪航行,碰撞检测算法对船舶遇到的碰撞危险进行预判,并给出提示;避让决策算法实现船舶在出现与其它船只出现碰撞危险时,进行判断决策采取必要措施规避风险。
图1.1 研究内容组成图
1.4论文组织结构
本文根据研究内容分为6个章节,各个章节的主要内容如下:
第1章,叙述了本设计的研究背景和意义,并对国内外虚拟现实技术在交通运输领域应用的现状、船舶仿真建模现状、无人驾驶船舶研究现状、避让决策算法现状进行了介绍,并提出本设计的研究内容,对文章组织结构进行了介绍。
第2章,从场景搭建和无人驾驶船舶控制进行需求分析,之后给出了系统功能模块设计方案、实现设计的过程,并对使用的工具进行介绍。
第3章,介绍了航道平台场景的搭建过程。开始场景中参数设置、场景加载界面的设计实现,以及航行场景中的地形搭建、模拟海面效果、天气变化等实现过程。
第4章,通过编写脚本模拟船舶在风浪中的运动与遥控控制,并设计实现自主航行船舶的寻迹功能、碰撞检测功能和避让决策功能。
第5章,设计场景对船舶的遥控控制、避让决策功能进行验证与分析。
第6章,总结本本文工作与提出展望。
第2章 系统分析与设计
需求分析是在设计和实现软件产品之前,深入描述软件的功能和性能,确定软件设计的限制和其他细节要求。只有建立合适的需求分析,明确了系统功能和性能方面的需求,才能完成符合要求的产品。
2.1系统需求分析
本设计为无人驾驶船舶航道平台构建的仿真研究与实现,要实现航道平台的环境构建和环境变量的控制;同时还要实现无人驾驶船舶的控制。为实现整个设计,无人驾驶船舶航道平台的设计从两个方面需求考虑:
(1)船舶航行场景的搭建。模拟现实中的航道场景,如在大海中航行的环境,修改环境变量,模拟不同环境条件下的船舶航行场景。船舶航行场景包括基础的地形、水面的模拟,以及天气、风力等级、风向等环境变量和船舶自身状态变量的配置,信息显示。
(2)无人驾驶船舶控制。无人驾驶船舶的控制是通过脚本控制的,一艘智能航行无人驾驶船舶应包括:路径跟踪、碰撞检测、避碰决策等功能。根据无人驾驶船舶的自主能力,实现船舶的遥控控制模拟和在自动航行情况下按照设定轨迹航行、对周围环境进行检测是否有碰撞危险以及能采取措施避免碰撞情况发生。
2.2 系统设计
2.2.1 系统功能模块设计
根据需求分析,对系统进行了具体设计,如图2.1,将系统分为两大部分完成:场景搭建部分和船舶控制部分。在场景搭建完成之后,再分别在航行场景中实现船舶的模拟遥控控制和船舶的自主航行。在场景的搭建中,分为开始场景和航行场景。开始场景包括场景、风向、风力等级、天气,载重情况等参数的设置;航行场景包括参数修改功能, 在航行场景中随时修改环境变量,同时增加了一个视角变量,便于观察船舶周围环境;船舶的航行状态和是否有碰撞发生的信息显示功能;模拟雷达,在雷达界面显示船舶周围的物体。在船舶的控制部分,主要完成船舶的遥控控制和自动航行。在遥控控制中,用键盘的输入实现船舶的基本控制操作:启动、关闭、左右转、加减速。在自动航行部分,实现船舶的路径跟踪、碰撞检测、以及自动避让决策。
图2.1 系统整体设计框图
2.2.2 系统实现流程设计
系统的整体设计流程如图2.2所示。首先进行模型、素材资源的收集,将这些资源导入到Unity3D中,如:船舶模型、材质贴图等,做好准备工作。在Unity3D中,搭建开始场景、航行场景。航行场景搭建流程如图2.3所示。首先,利用Unity3D中的Terrain组件绘制基本地形,再导入水资源模拟水面,修改材质参数,得到不同的波浪效果。不同的天气通过天空盒、雾效组件、粒子系统共同实现。信息显示面板和参数修改面板用Unity3D中的UI库实现,模拟雷达通过摄像机实现。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: