Design and Implementation of Global Path Planning System for Unmanned Surface Vehicle among Multiple Task Points (针对多任务点的水面无人艇全局路径规划的设计和实现)

  针对多任务点的全局路径规划,是指在存在静态障碍物的环境中,给定水面无人艇起始点、目标点以及多个任务点的情况下,设计从起始点出发,安全地遍历各个任务点,最终返回目标点的全局路径,要求行驶的航路代价总和最小。
  本文主要解决水面无人艇在对多个任务点进行全局路径规划时的设计和实现算方法,相关研究和设计已在 International Journal of Vehicle Autonomous Systems (IJVAS) EI期刊发表。附InderScience Publiers - IJVAS的官方文献下载链接 Design and Implementation of Global Path Planning System for Unmanned Surface Vehicle among Multiple Task Points,以及arXiv的下载链接。官方文献下载链接需要***才可以打开。
  本文主要讨论论文的实现原理,并给出部分程序源代码,方便后来者研究和参考。

摘要

英文在中文之后 / English follows Chinese
  全局路径规划是水面无人艇设计的关键技术之一。本文基于电子海图和六边形网格建立全局环境模型,并且证明六边形网格在有效性,安全性和快速性方面优于传统的正方形网格。此外,本文引入Cube坐标系来简化六边形坐标运算。进一步地,我们提出了一种改进的A算法来实现两点之间的路径规划。在此基础上,我们构建了多个任务点的全局路径规划模型,并提出了一种改进的蚁群优化算法来准确实现多任务点的全局路径规划。仿真结果表明,全局路径规划系统可以安全、快速地规划出多个任务点的最优路径,在安全性,快速性和路径长度方面均优于传统方法。此外,全局规划路径可直接用于USV的实际场景。
  Global path planning is the key technology in the design of unmanned surface vehicles. This paper establishes global environment modelling based on electronic charts and hexagonal grids which are proved to be better than square grids in validity, safety and rapidity. Besides, we introduce Cube coordinate system to simplify hexagonal algorithms. Furthermore, we propose an improved A
algorithm to realize the path planning between two points. Based on that, we build the global path planning modelling for multiple task points and present an improved ant colony optimization to realize it accurately. The simulation results show that the global path planning system can plan an optimal path to tour multiple task points safely and quickly, which is superior to traditional methods in safety, rapidity and path length. Besides, the planned path can directly apply to actual applications of USVs.

论文实现原理

  本文提出的多任务点全局路径规划算法主要分为电子海图解析、六边形网格化建模、两点间路径搜索、多任务点的路径规划四部分。

  其中,通过解析电子海图文件,提取其中的海域地理信息及碍航物等信息,利用六边形进行网格化,建立由可航行六边形网格和不可航行六边形网格组成的环境模型。相关资料可以参考 基于8211lib库对s57电子海图的解析和存储正六边形网格化(Hexagonal Grids)原理与实现
  在实现环境建模后,两点间路径搜索算法优化的目标是在确保航行安全性的前提下,尽可能使规划的路径航行代价最小,最大程度地减小与最短路径、最小航行代价无关的计算量。本文设计综合多因素的航行代价,利用Hart提出的A*算法实现两点间的初步搜索,然后利用去除多余航点的曲线平滑算法,在保证安全的前提下减少路径中不必要的航点,使多段折线化为直线,增加路径的光滑度,规划的路径会更加符合起止点之间的期望路径,符合水面无人艇的运动学特性。相关资料可以参考 Research and Implementation of Global Path Planning for Unmanned Surface Vehicle Based on Electronic Chart 论文。
  在多任务点设计中,本文分析了港口巡逻、水质采样、水文勘测等任务对于全局路径规划的具体要求,从中抽象出针对这些任务通用的路径规划需求:在存在障碍物的海洋环境中,在给定多个任务点坐标的情形下,要求水面无人艇从起始点出发,安全地巡行到各个任务点执行具体的任务,再返回到目标点,要求总体的航路代价和最小。如在水质采样中,航路任务要求水面无人艇从固定点出发,根据设定路线行驶到各个采样点,根据采样要求完成全自动采集水样后,返回到目标点进行下一步处理,该航路任务要求完全符合本文抽象出来的全局路径规划要求。
  在水面无人艇复杂任务应用场景下,多任务点的路径规划可以抽象为网络最短路径问题,该网络本质上是一个有权值的有向图。多任务点的全局路径规划抽象模型--网络最短路径问题,可以近似为旅行商问题(Traveling Salesman Problem, TSP),是非常典型的NP (Nondeterministic Polynomial)难问题。在应用蚁群算法解决多任务点的全局路径规划问题时,路径规划问题可以转化为在一个由节点和边组成的网络权重图(网络最短路径模型)中搜索最优闭环路径,如下图所示。相关资料可以参考 基于蚁群算法的机械臂打孔路径规划

实现程序

  因为程序实现于2017年,在性能和流程中仍然不够完善,欢迎邮件进行交流和给出建议。程序最新代码请参考本人的GitHub wylloong
  程序运行结果如下,其中黑点为任务点,红色线段为最后规划的全局路径。

Design and Implementation of Global Path Planning System for Unmanned Surface Vehicle among Multiple Task Points的更多相关文章

  1. Design and Implementation of a Routing Control Platform阅读笔记

    Design and Implementation of a Routing Control Platform   0.Abstract 1.Introduction 2.Interoperating ...

  2. Behavior Trees for Path Planning (Autonomous Driving)

    Behavior Trees for Path Planning (Autonomous Driving) 2019-11-13 08:16:52 Path planning in self-driv ...

  3. UNIX Filesystems - Evolution Design and Implementation.pdf

    UNIX Filesystems - Evolution Design and Implementation.pdf

  4. A*算法改进——Any-Angle Path Planning的Theta*算法与Lazy Theta*算法

    本文是该篇文章的归纳http://aigamedev.com/open/tutorial/lazy-theta-star/#Nash:07 . 传统的A*算法中,寻找出来的路径只能是沿着给出的模型(比 ...

  5. odex反编译dex异常 Cannot locate boot class path file /system/framework/core.odex

      为了将ROM中system/app下的CertInstaller.odex反编译为CertInstaller.dex,输入命令: "java -jar baksmali.jar -x C ...

  6. Apparatus, system, and method for automatically minimizing real-time task latency and maximizing non-real time task throughput

    An apparatus, system, and method are provided for automatically minimizing Real-Time (RT) task laten ...

  7. 泡泡一分钟:Motion Planning for a Small Aerobatic Fixed-Wing Unmanned Aerial Vehicle

    Motion Planning for a Small Aerobatic Fixed-Wing Unmanned Aerial Vehicle Joshua Levin, Aditya Paranj ...

  8. Design and Implementation of the Sun Network File System

    Introduction The network file system(NFS) is a client/service application that provides shared file ...

  9. Global UNIX file system cylinder group cache

    A global cylinder group (CG) cache is stored in file server memory and shared by a plurality of file ...

随机推荐

  1. Git命令行中文显示错误

    中文文件名乱码(git status.git log.git pull .git push) #不对0x80以上的字符进行quote,解决git status/commit时中文文件名乱码git co ...

  2. django django中的HTML控件及参数传递方法 以及 HTML form 里的数据是怎么被包成http request 的?如何在浏览器里查看到这些数据?

    https://www.jb51.net/article/136738.htm django中的HTML控件及参数传递方法 下面小编就为大家分享一篇django中的HTML控件及参数传递方法,具有很好 ...

  3. Android中的APinner2

    Spinner提供了从一个数据集合中快速选择一项值的办法.默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner ...

  4. PlayMaker 做成预制体

    把包含PlayMaker状态机的游戏物体做成预制体后,再编辑PlayMaker状态机的时候,会有两个选项 * Edit Prefab :编辑完成后预制体的PlayMaker状态机也会改变: * Edi ...

  5. linux 访问 windows 共享文件夹

    http://www.01happy.com/linux-access-windows-shares-folders/

  6. XAMPP: Another web server is already running

    nginx 和 xampp 一起使用的时候,如果 nginx先启动,然后 再启动 xampp的时候,就是修改了 http.conf也是会报如果错误 liaohb@ubuntu-xtn->$sud ...

  7. Murano Weekly Meeting 2016.07.12

    Meeting time: 2016.July.12 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1. ...

  8. 打开fiddler 电脑无法上网问题

    Fiddler下Firefox提示“您的连接并不安全”的解决办法 一.版本信息 Firefox 最新版本V46.0.1 Fiddler 最新版本V4.6.2.3 二.错误信息 开启fiddlers的h ...

  9. 使用codedom自动生成代码

    刚刚接触自动代码生成,便小试牛刀,解决了项目中的一些问题. 问题:我们的项目分成很多层次,当增加一个方法的时候,会显得异常繁琐,但每个层次之间的调用大同小异,所以尝试使用代码生成.现在假设有Engin ...

  10. Erlang C 與M/M/N排隊模型

    一何谓排队模型 在现实生活中排队的现象可说是无处不在,如:买票.超商.百货公司…等.顾客总是在揣测"排在哪一个服务台会比较快?"或"到底还要排多久呢?"类似这样 ...