基于电子海图的水面无人艇全局路径规划

Research and Implementation of Global Path Planning for Unmanned Surface Vehicle Based on Electronic Chart (基于电子海图的水面无人艇全局路径规划)

  该论文已经在ICMIR2017会议上发表,附上springer的文献地址 Research and Implementation of Global Path Planning for Unmanned Surface Vehicle Based on Electronic Chart,以及arXiv上的 文献地址。本文接下来主要对论文的实现原理进行分析,在最后给出程序代码,方便后来者研究和参考。

摘要

  水面无人艇(Unmanned Surface Vehicles, USVs)是一种新型的水面智能载具,其中全局路径规划是USV研究的关键技术,它可以反映出USV的智能程度。为了解决USV的全局路径规划问题,本文基于电子海图提出航行代价寻优(sailing cost optimization)的改进A*算法。我们使用S-57电子海图实现八叉树网格的环境模型建立,并基于航行安全权重、引导量和路径曲线平滑处理,提出优化的A*算法来实现规划路径航行安全,减少规划时间,提高路径平滑度。仿真结果表明,环境建模方法和改进A*算法可以规划出安全合理的全局路径。

论文实现原理

  水面无人艇的全局路径规划,是指在存在障碍物的复杂环境下,给定起始点和目标点,根据任务要求自主规划出一条能够安全避开环境中静态障碍物的最优路径。   本文提出基于电子海图的USV全局路径规划方案,分为电子海图解析、全局环境模型建立和路径搜索算法三部分。通过解析电子海图文件,提取其中的海域地理信息及碍航物等信息,将海图信息渲染成为自主航路规划系统能够识别的信息模式,建立由可航行网格和不可航行网格组成的环境模型。在此基础上,本文综合考虑航行安全性、航行距离、路径平滑度等因素,采用基于航行代价寻优的改进A*算法来搜索环境模型中的最优路径,实现水面无人艇的全局航路自主规划,提高水面无人艇的自主决策能力和智能化水平。

  水面无人艇全局路径规划系统无法直接利用电子海图进行自主路径规划,所以需要研究矢量电子海图S-57数据结构,提取出全局路径规划需要的海洋环境信息,裁剪无关数据,将电子海图转换为全局航路规划系统能够直接使用的信息。其中,利用开源的TinyXML库保存到xml文件中,供路径规划系统的后续分析和处理。   在提取得到电子海图xml文件后,通过网格化的方法把感兴趣区域划分为若干块大小相等的矩形网格,然后利用Shapely开源地理库依次判断网格中是否存在从电子海图中解析的静态障碍物(如陆地、海岛、浅滩),从而将网格环境地图划分为可航区域和不可航区域。   在实现环境建模后,全局路径搜索算法优化的目标是在确保航行安全性的前提下,尽可能使规划的路径航行代价最小,最大程度地减小与最短路径、最小航行代价无关的计算量。其中,Hart等使用启发式函数来评估从初始点到目标点的代价,在Dijkstra算法基础上,结合启发式函数形成新的路径搜索策略--A*算法,通过减少搜索空间来提高搜索效率,所以更适合网格情形下的全局路径规划。本文对传统的A*算法进行改进,实现全局路径的初步搜索。   网格环境下,如果直接把A*算法搜索得到的节点顺序连接起来作为水面无人艇的全局规划路径,通常会出现阶梯或者锯齿状路径的情况,很明显规划的路径并不是两点间的期望路径。所以,本文提出去除多余航点的曲线平滑算法,在保证安全的前提下减少路径中不必要的航点,使多段折线化为直线,增加路径的光滑度,规划的路径会更加符合起止点之间的期望路径,符合水面无人艇的运动学特性。

实现程序

  因为程序是2017年4月份实现的,仍然不够完善,可能存在bug或者性能优化点,欢迎交流和改善。程序最新代码请参考本人github wylloong

电子海图解析

  S-57电子海图解析中,本文在之前文章中已经进行详细的分析和讲解,并给出源代码,可以参见 S57-Electronic-Chart-Reading-and-Storing基于8211lib库对s57电子海图的解析和存储

建立环境模型

  该部分代码可详见github GlobalEnviStructWithSquare,如有需要请备份,可能后期会删除掉部分程序。

改进A*算法和路径平滑处理

  该部分代码可详见github GlobalPathPlanWithSquare,如有需要请备份,可能后期会删除掉部分程序。

程序示例

  程序示例数据集可在 github下载,对应程序的全局路径规划示意图如下所示:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

深度| OpenAI 教你如何构建深度学习研究的基础设施

编者按:OpenAI研究工程师Vicki Cheung, Jonas Schneider , Ilya Sutskever, and Greg Brockman...

3566
来自专栏DHUtoBUAA

基于电子海图的水面无人艇全局路径规划

  该论文已经在ICMIR2017会议上发表,附上springer的文献地址 Research and Implementation of Global Pat...

2415
来自专栏大数据挖掘DT机器学习

Microsoft 时序算法——结果预算+下期彩票预测篇)

前言 本篇我们将总结的算法为Microsoft时序算法的结果预测值,是上一篇文章Microsoft时序算法的一个总结,上一篇我们已经基于微软案例数据库的销售历史...

4345
来自专栏大数据文摘

AI大事件 | 高校AI科学家流失严重,关于整个地球的数据集登录AWS

592
来自专栏AI研习社

微软推出开源自动驾驶仿真平台 AirSim 教程,机器学习新手也能快速上手自动驾驶

AirSim 是微软推出的开源项目,用于测试人工智能系统的安全性,该系统提供仿真的环境、车辆动力和感知能力,促进无人驾驶技术的发展。近期,微软的工程师推出了一...

3648
来自专栏Petrichor的专栏

论文写作: 一点心得

比如你的工作是用深度学习解决了某个复杂场景下的问题,就要在题目上体现出这是一个多么多么 难的挑战,让人一看就觉得,哎这个问题一看就很难,就会很 有兴趣去了解你是...

1033
来自专栏大数据文摘

快讯 | Karpathy、贾扬清大神带队!伯克利开了个三天深度学习集训营

1243
来自专栏专知

AirSim教程:基于端到端深度学习的自动驾驶

【导读】本文是微软Mitchell Spryn和Aditya Sharma分享的一篇关于自动驾驶的入门教程,讲解了如何利用AirSim仿真环境数据构建一个简单的...

4646
来自专栏量子位

国际象棋版AlphaZero出来了诶,还开源了Keras实现ヽ( `0´)ノ

只用了不到4小时。 AlphaZero在去年底通过自我对弈,就完爆上一代围棋冠军程序AlphaGo,且没有采用任何的人类经验作训练数据(至少DeepMind坚持...

3465
来自专栏AI科技大本营的专栏

从1400篇机器学习文章中精选出Top 10,帮你找找上班的感觉!

翻译 | AI科技大本营 参与 | 刘畅 最近,经常为AI学习者提供优质学习资源的Mybridge对近1400篇机器学习文章进行了排名,挑选了10篇有助于提升你...

3146

扫码关注云+社区