徐小强,祝亚兰
(武汉理工大学 自动化学院,湖北 武汉 430070)
基于YimaEnc海图的无人艇局部路径规划研究
徐小强,祝亚兰
(武汉理工大学 自动化学院,湖北 武汉 430070)
YimaEnc电子海图和MFC对话框技术的结合,既能实现对电子海图进行放大、缩小、拖拽、物标遍历、定位及高亮等操作,又能够对无人艇进行实时监控和定位。针对经典人工势场法存在的弊端,对其函数模型进行改进,并在此基础上对规划路径进行优化。然后,基于YimaEnc电子海图仿真平台进行仿真实验,仿真结果表明,规划路径可使无人艇到达目的地的距离更短,耗时更少。
无人艇;电子海图;MFC;局部路径规划;人工势场法
水上交通安全问题正成为人们日益关注和重视的热点话题。为降低水上交通事故发生频率,提高安全性,减少损失,节约资源,人们对船舶的智能化需求越来越高。由此,船舶自主避碰和导航、无人艇等高科技技术与产品应运而生。文献[1-3]分析了国内外水面无人艇的发展现状与特点。目前,国内外许多学者在船舶自主避碰与局部路径规划上提出了很多观点和解决办法,为船舶的智能化发展和无人艇技术提供了一定的理论依据。如王敏捷等[4]将模糊算法与近域图法相结合,使水面无人艇在复杂水域避开障碍物;AGNIESZKA[5]采用蚁群算法解决无人艇在公海和限制水域中的路径规划与避碰问题;饶森[6]将分层思想与遗传算法相结合,实现水面无人艇全局路径规划。
笔者基于人工势场法对无人艇的路径规划和自主避碰问题进行研究,对人工势场法函数进行处理,并对其规划路径进行优化,以提高算法的运算速度和性能,使规划出的路径更满足无人艇航线要求。该算法已在基于YimaEnc电子海图仿真平台上得到验证,且已应用于实际工程中水上无人艇自主避碰的研发,极具现实意义。
1.1 YimaEnc概述
YimaEnc是上海零玛信息技术有限公司推出的一款用于电子海图领域的软件产品,是基于Yimap Core开发,符合IHO S-57数字化海道测量数据传输标准和IHO S-52电子海图显示与信息系统海图内容显示规范的要求[7],在一定程度上推动了全球ENC(电子航海图)数据库的发展。YimaEnc SDK是对YimaEnc进行封装后提供给开发商的一个二次开发组件包,用户可在程序中加载其COM组件,并调用该组件提供的API(应用程序编程接口)对YimaEnc电子海图进行操作,实现对海图进行放大、缩小、拖拽、定位和高亮等操作。YimaEnc SDK还可与测深仪、AIS(船舶自动识别系统)、GPS、雷达等系统结合,实现无人艇自主导航、实时避碰及路径规划等控制。
1.2 YimaEnc组成结构及工作原理
YimaEnc组件中有一个专门负责海图管理和显示的海图管家。海图管家监管和维护着一个海图库、一个内存海图序列、一个海图绘制器和多个海图序列表[8]。其结构如图1所示。
图1 YimaEnc组成结构
YimaEnc海图基本工作原理:YimaEnc组件中的海图管家可使Yimap File海图文件从海图库中的海图储存室加载到内存海图序列中。然后,由索引信息选择相对应的某幅海图或海图物标,并利用海图绘制器来对所选对象进行绘制。此外,YimaEnc海图管家还能实现自动加/卸载海图及控制内存海图序列中元素的显示顺序的功能。
1.3 YimaEnc电子海图的API
YimaEnc所有API都包含在CYimaEnc类中,开发人员通过调用该类对应的API,如DrawDragingMap()、GetCurrentScale()、SetCurrentScale()等,实现对YimaEnc电子海图的拖拽、放大、缩小等操作。
在MFC程序中嵌入YimaEnc电子海图的具体步骤:①在计算机上注册YimaEnc.ocx控件;②为所建的MFC工程配置3个重要文件目录,即S57Lib(配置文件目录)、MapLib(海图库目录)、MarineMap(自定义海图功能目录);③将YimaEnc的COM组件加载到MFC工程中,并为其添加成员变量;④初始化YimaEnc的COM组件。
2.1 人工势场法基本思想
人工势场法最早由美国斯坦福大学教授OUSSAMA[9]提出,是一种用于机器人移动导航和实时避障的虚拟力法。虚拟力场分布如图2所示,其基本原理是:将目标点和障碍物作为虚拟力场的两极,即引力极和斥力极。引力极和斥力极分别对移动物体产生引力和斥力,并计算出引力与斥力的叠加合力作为其驱动力,从而决定物体的移动方向和位置[10]。将人工势场法运用于无人艇局部路径规划中,同样可将无人艇周围航行环境视为一个虚拟力场。无人艇在航行时,目标点产生的吸引力与障碍物产生的排斥力叠加为合力,决定无人艇的航行方向和位置。其中,引力场函数和斥力场函数分别如式(1)和式(2)所示。
图2 虚拟力场分布
(1)
(2)
式中:λ为引力系数;x为当前位置;xg为目标点位置;μ为斥力系数;ρ为船与障碍物间的最短距离;ρo为障碍物影响距离的常数。
2.2 基于人工势场法的局部路径规划
在经典人工势场法函数模型中,若目标点附近存在障碍物,当无人艇距离目标点较近时,引力减小,斥力迅速增大。一方面,极易造成无人艇引力与斥力合力为0,导致无人艇在此处运动停止或徘徊不前而无法到达目标点;另一方面,斥力快速增加,也可能导致合力迅速改变方向,造成无人艇航向发生急剧变化,非常不符合实际需求。针对经典人工势场法的这些不足,笔者对人工势场法函数进行适当处理,以满足无人艇的局部路径规划性能需求。处理后的引力场函数和斥力场函数分别如式(3)和式(4)所示。
Uatt(x)=λ(x-xg)
(3)
(4)
式中:S为无人艇与障碍物间的距离;R为斥力场函数的作用半径。
基于改进的人工势场法函数,进行局部路径规划,路径优化算法流程图如图3所示,具体步骤如下:①初始化无人艇的起点与终点;②判断无人艇是否到达终点,若是则算法结束,否则进入步骤③;③以无人艇所在位置为中心遍历周围障碍物;④由改进的函数模型计算无人艇在当前位置所受合力大小与方向;⑤由合力大小和方向,计算无人艇下一路径点位置,并将其由当前位置移动到下一路径点处,再转步骤②,如此循环。
图3 路径优化算法流程图
2.3 基于人工势场法的规划路径优化算法
根据人工势场法规划的路径点数量多、密度大,导致路径中折线密集繁多,且造成算法对大量多余路径点进行计算。这既增长航线距离,加长行驶时间,又降低了算法的实时性和可重复性。又因无人艇在实际航行中易受到风、浪、水流等因素影响,规划路径中折线过多易导致无人艇经常改变航向,这非常不符合无人艇在水上的航行习惯,且会造成无人艇在航行过程中更加难以控制。所以笔者针对以上出现的问题,在保障路径安全的前提下,选择路径中更为合适的路径点,过滤掉徒劳无功的路径点。将多条折线路径优化为一条直线路径,从而生成一条使无人艇到达目的地距离更短、耗时更少、更适用于航行的优化路径。
3.1 仿真环境搭建
笔者在Visual Studio 2010集成开发环境下实现无人艇的自主避碰航行和局部路径规划的仿真实验。建立基于MFC对话框的工程项目,在主界面上添加按钮、编辑框、列表框以及复选框等控件,改变这些控件的属性,并为其添加对应的成员变量。仿真主界面如图4所示。
图4 仿真主界面
3.2 仿真结果分析
笔者设置引力系数λ=1.5,斥力系数μ=10,取起点地理坐标的经度为122.306 699 4°,纬度为30.249 994 8°,取终点地理坐标的经度为122.313 334 3°,纬度为30.255 001 5°。选择的水域为大长途岛与小长途岛间的狭长水域。
3.2.1 无障碍物环境下
当无人艇航行水域内无障碍物时,根据改进的人工势场法模型(此时未对规划路径进行优化),将海岸线作为斥力极,目标点作为引力极进行局部路径规划,如图5所示。
图5 基于人工势场法的局部路径规划
显然从图5可以看出,虽然无人艇能避开障碍物,到达目标点,但得到的路径点非常密集。一方面,算法在运行时,运算量大、耗时长且效率低;另一方面,无人艇若按此路径航行不仅无法满足快速性与实时性要求,且耗能严重。因此,为提高算法运行效率,满足无人艇性能要求,笔者对基于人工势场法的规划路径进行优化,来完成无人艇的局部路径规划。仿真结果如图6和图7所示,无障碍物环境下有无使用路径优化算法的结果对比如表1所示。
图6 无障碍物环境下优化后的路径
由仿真结果可以看出,在改进后的算法模型下,无人艇在YimaEnc电子海图上可成功避开障碍物,完成局部路径规划。并且,对规划路径进行优化后,规划路径点由620个减少到10个,不仅极大提高了算法的运行效率,也使无人艇航行线路更加平滑。
图7 无人艇在无障碍物环境下的航行轨迹
算法路径点个数/个从起点到终点一次动态路径规划时间/s从起点到终点的仿真航行时间/s有路径优化算法100.169 10.833无路径优化算法62016.8921345.027
3.2.2 有障碍物环境下
在无人艇航行水域人为添加障碍物并进行仿真,仿真结果如图8和图9所示,有无使用路径优化算法的结果对比如表2所示。此时,目标点对无人艇产生引力,而海岸线和障碍物都会对无人艇产生斥力。从无人艇的行驶轨迹可以看出,利用改进的人工势场法和路径优化算法可以成功避开障碍物并到达目标点。对比仿真结果可知,进行路径优化后算法的运行效率更高。
图8 有障碍物环境下优化后的路径
图9 无人艇在有障碍物环境下的航行轨迹
表2 有无使用路径优化算法的结果对比
笔者对YimaEnc的组成结构和工作原理进行分析,并结合MFC将电子海图与无人艇局部路径规划的仿真在对话框中展现出来。这样人们可以更直观地观察无人艇的运行状态,对其进行实时监控和定位。然后分析了人工势场法的基本思想和函数模型,并针对该算法运用在无人艇局部路径规划中存在的不足,对算法函数进行改进,进而对规划路径进行优化。通过Visual Studio 2010集成开发环境,验证了所提算法的有效性。
[1] 柳晨光,初秀民,吴青,等.USV发展现状及展望[J].中国造船,2014,55(4):194-205.
[2] 周洪光,马爱民,夏朗.无人水面航行器发展[J].国防科技,2009,30(6):17-20.
[3] 李家良.水面无人艇发展与应用[J].火力与指挥控制,2012,37(6):203-207.
[4] 王敏捷,张汝波.水面无人艇模糊近域图避障方法研究[J].计算机工程,2012,38(21):164-167.
[5] AGNIESZKA L. Swarm intelligence approach to safe ship control[J].Polish Maritime Research, 2015,22(4):34-40.
[6] 饶森.水面无人艇的全局路径规划技术研究[D].哈尔滨:哈尔滨工程大学,2007.
[7] 张振华,王远斌,叶玲.基于S-57标准的电子海图的设计与实现[J].舰船电子工程,2015,35(2):94-98.
[8] YIMASOFT . YIMAENC SDK 开发文档[DB/OL].(2008-09-10).http:∥www.docin.com/p-702001758.html.
[9] OUSSAMA K. Real-time obstacle avoidance for manipulator and mobile robots[J]. The International Journal of Robotics Research, 1986,5(1):90-98.
[10] ZHOU L, LI W. Adaptive artificial potential field approach for obstacle avoidance path planning[C]∥ Seventh International Symposium on Computational Intelligence and Design. Hangzhou: IEEE,2014:429-432.
ResearchonLocalPathPlanningofUnmannedSurfaceVehicleBasedonYimaElectronicChart
XUXiaoqiang,ZHUYalan
The combination of YimaEnc electronic chart and MFC(Microsoft Foundation Class) dialog technology, which can not only make electronic chart implement the operation of zooming in or out, dragging, traversing obstacles, positioning and highlighting objects and so on, but also can realize real-time monitoring and positioning of the USV(Unmanned Surface Vehicle). An improved function model of artificial potential field and an optimization of path Algorithm are used to solve the problems of classical artificial potential field method. Based on the YimaEnc electronic chart simulation platform, the simulation results show that the planning path can make the USV reach the destination with shorter distance and less time.
USV;electronic chart;MFC;local path planning;artificial potential field
U675
10.3963/j.issn.2095-3852.2017.05.004
2095-3852(2017)05-0521-04
A
2017-04-06.
徐小强(1978-),男,河南南阳人,武汉理工大学自动化学院副教授,主要研究方向为嵌入式系统应用、智能控制、智能交通.
XUXiaoqiangAssoc. Prof. ; School of Automation, WUT, Wuhan 430070, China.