技术领域
本发明涉及无人艇避障技术领域,具体而言,尤其涉及一种基于海图信息的无人艇避碰方法。
背景技术
水上无人艇(USV)是一种无人操作的水面舰艇,主要用于执行危险以及不适于有人船只执行的任务。无人艇路径规划可以分为全局路径规划和局部路径规划。全局路径规划根据已知的环境信息规划出一条安全并且经济的路线,但实时性不好,当环境改变,如出现未知障碍物时,无人艇就不能及时做出反应。局部路径规划则偏向于无人艇当前的局部环境信息,利用这些信息,无人艇可以避开未知的障碍物。目前有一些局部路径规划算法,比如人工势场法,动态窗口法,遗传算法和模糊逻辑算法等等。
DWA算法首先根据无人艇外形尺寸和安全距离,将障碍物进行圆形膨化,然后根据当前速度和加速度建立一个预选速度窗口,再通过评价函数优化得到下一时刻的最优速度(包括速率和方向)。评价函数综合考虑了航向角、速率和障碍物距离3个因素,同时考虑了真实无人艇自身物理约束(最大线速度、最大角度)、环境约束,该方式能够直接获得无人艇的期望线速度和角速度,得到的轨迹比较平滑,适合真实无人艇的航行特点。但是,DWA算法针对局部障碍物,不会对岸边、小岛等海图里的全局障碍进行躲避。
发明内容
根据上述提出的技术问题,而提供一种基于海图信息的无人艇避碰方法。本发明将基于海图信息的势场与DWA算法相结合,提出基于势场的DWA局部避障算法。在无人艇航行过程中,利用快速行进法得到基于海图信息的势场图,把无人艇经过位置的势场信息融合到DWA评价函数中。将势场中的值看成是反应了海图里岸边等障碍对每个位置的危险程度(0就是障碍物本身,1就是安全航行区域),使得无人艇在选择最优速度时考虑岸边等障碍。
本发明采用的技术手段如下:
一种基于海图信息的无人艇避碰方法,包括如下步骤:
S1、采用GPS或北斗,获取无人艇航行的目标海图;
S2、基于获取的所述目标海图,采用K-means方法对目标海图进行二值化处理,得到二值化海图;
S3、基于得到的所述二值化海图,采用快速行进法得到带有海图障碍信息的势场图;
S4、确定无人艇的起始点和目标范围,计算速度窗口的线速度范围和角速度范围;
S5、更新速度窗口,计算预测轨迹,将heading、dist、v和n这4个参数代入评价函数,根据评价函数选择合适的速度组合作为下一时刻无人艇航行速度;
S6、执行速度,判断是否到达目标区域,若是,则结束;否则,返回步骤S1,进入下一循环。
进一步地,所述步骤S2具体包括:
S21、选择初始化的k个样本作为初始聚类中心a=a
S22、针对数据集中每个样本x
S23、针对每个类别a
S24、重复执行上述步骤S22和步骤S23,直到达到中止条件。
进一步地,所述步骤S3具体包括:
S31、采用迭代求解程函方程来模拟波面传播的过程,方程如下:
式中,T(x,y)表示所要求的波面传播到位置(x,y)点的时间,W(x,y)表示波面传播的速度;通过离散化梯度
S32、将无人船所处的环境空间进行离散,通过下式简化所要求解的点(x,y)处的梯度:
T
T
式中,Δx,Δy为离散空间的x和y方向上的间距;
S33、将上式代入程函方程并平方,得到离散化形式:
S34、从初始界面(T(x,y)=0)开始,迭代求解,在后续的迭代过程使用前次迭代中已求解过的点来计算其临近点的T值,直至所有点都被求解完成。
进一步地,所述步骤S4具体包括:
S41、在给定无人艇的最大线速度v
V
式中,v表示线速度,ω表示角速度,
S42、建立DW算法的速度窗口,即两个速度集合的合成:
V
进一步地,所述步骤S5具体包括:
S51、通过评价函数对无人艇的下一时刻速度进行预测,评价函数考虑了无人艇的航行速度、航向和安全性,定义如下:
G(v,w)=α·heading(v,w)+β·dist(v,w)+γ·v(v,w)+n
式中,heading用于评价无人艇的航向;dist用于评价无人艇的安全性;v用于评价无人艇的航行速度;n为无人艇所到之处的势场值,结果选择动态窗口V
S52、假设无人艇的轨迹由n个时段的n个小轨迹组成,其运动学方程如下:
X(x',y')=[x+d
θ'=θ+d
式中,x表示无人艇当前横坐标;y表示无人艇当前纵坐标;X表示下一时刻对无人艇的位置信息更新;θ表示当前无人艇的朝向,θ'表示下一时刻无人艇的朝向,根据上式计算出每一个预测轨迹的G值,选择G值最大的轨迹的速度作为下一时刻的最优速度。
较现有技术相比,本发明具有以下优点:
1、本发明提供的基于海图信息的无人艇避碰方法,将基于海图信息的势场与DWA算法相结合,在无人艇航行过程中,利用快速行进法得到基于海图信息的势场图,把无人艇经过位置的势场信息融合到DWA评价函数中,将势场中的值看成是反应了海图里岸边等障碍对每个位置的危险程度,使得无人艇在选择最优速度时考虑岸边等障碍。
2、本发明提供的基于海图信息的无人艇避碰方法,引入势场概念来描述无人艇航行过程中的海图信息。
3、本发明提供的基于海图信息的无人艇避碰方法,改进了原始DWA算法没有考虑海图障碍信息的问题。
基于上述理由本发明可在无人艇避障等领域广泛推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法流程图。
图2为本发明实施例提供的原始海图。
图3为本发明实施例提供的二值化海图。
图4为本发明实施例提供的势场图。
图5为本发明实施例提供的航行轨迹图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,本发明提供了一种基于海图信息的无人艇避碰方法,包括如下步骤:
S1、采用GPS或北斗,获取无人艇航行的目标海图;如图2所示,本实施例中获取的目标海图为大连海事大学凌水港;
S2、基于获取的所述目标海图,采用K-means方法对目标海图进行二值化处理,得到二值化海图;K-means方法通过按照一定的方式度量样本之间的相似度,通过迭代更新聚类中心,当聚类中心不再移动或移动差值小于阈值时,则将样本分为不同的类别。聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”,通过这样的划分,每个簇可能对应于一些潜在的类别。
具体实施时,作为本发明优选的实施方式,所述步骤S2具体包括:
S21、选择初始化的k个样本作为初始聚类中心a=a
S22、针对数据集中每个样本x
S23、针对每个类别a
S24、重复执行上述步骤S22和步骤S23,直到达到中止条件(迭代次数、最小误差变化等)。无论是灰度图还是RGB彩色图,实际上都是存有0-255灰度值的矩阵,所以,图像的数据格式决定了在图像分割方向上,使用K-means聚类算法是十分容易也十分具体的。处理后的二值化海图如图2所示。
S3、基于得到的所述二值化海图,采用快速行进法得到带有海图障碍信息的势场图;
快速行进法是一种典型的平行集方法,其基本思想可以简单理解为将一个石子扔入水面激起水面波纹传播的过程。石子落入水面后,水面波纹以石子入水这一点为原点向周围扩散。由于介质相同,因此波纹传播的速度也是相同的。经过一定的时间,波纹最终传播到达目标点位置,而波纹从原点传播到目标点所经历的路径就是时间意义上的最短路径。
具体实施时,作为本发明优选的实施方式,所述步骤S3具体包括:
S31、采用迭代求解程函方程来模拟波面传播的过程,方程如下:
式中,T(x,y)表示所要求的波面传播到位置(x,y)点的时间,W(x,y)表示波面传播的速度;通过离散化梯度
S32、将无人船所处的环境空间进行离散,通过下式简化所要求解的点(x,y)处的梯度:
T
T
式中,Δx,Δy为离散空间的x和y方向上的间距;
S33、将上式代入程函方程并平方,得到离散化形式:
S34、从初始界面(T(x,y)=0)开始,迭代求解,在后续的迭代过程使用前次迭代中已求解过的点来计算其临近点的T值,直至所有点都被求解完成。
在所有表示障碍物的位置(x,y),应用快速行进法,得到带有海图障碍信息的势场图,如图4所示,该势场中每一点数值的大小代表该点距离其最近的障碍物的距离,数值的取值范围为0-1。
S4、确定无人艇的起始点和目标范围,计算速度窗口的线速度范围和角速度范围;
DWA算法是对无人艇的速度进行控制。算法会建立一个速度空间,并通过约束对其优化,包括速度和加速度的约束和目标与障碍物的约束。
具体实施时,作为本发明优选的实施方式,所述步骤S4具体包括:
S41、在给定无人艇的最大线速度v
V
式中,v表示线速度,ω表示角速度,
S42、建立DW算法的速度窗口,即两个速度集合的合成:
V
S5、更新速度窗口,计算预测轨迹,将heading、dist、v和n这4个参数代入评价函数,根据评价函数选择合适的速度组合作为下一时刻无人艇航行速度;
具体实施时,作为本发明优选的实施方式,所述步骤S5具体包括:
S51、通过评价函数对无人艇的下一时刻速度进行预测,评价函数考虑了无人艇的航行速度、航向和安全性,定义如下:
G(v,w)=α·heading(v,w)+β·dist(v,w)+γ·v(v,w)+n
式中,heading用于评价无人艇的航向;dist用于评价无人艇的安全性;v用于评价无人艇的航行速度;n为无人艇所到之处的势场值,结果选择动态窗口V
S52、假设无人艇的轨迹由n个时段的n个小轨迹组成,其运动学方程如下:
X(x',y')=[x+d
θ'=θ+d
式中,x表示无人艇当前横坐标;y表示无人艇当前纵坐标;X表示下一时刻对无人艇的位置信息更新;θ表示当前无人艇的朝向,θ'表示下一时刻无人艇的朝向,根据上式计算出每一个预测轨迹的G值,选择G值最大的轨迹的速度作为下一时刻的最优速度。
S6、执行速度,判断是否到达目标区域,若是,则结束;否则,返回步骤S1,进入下一循环。
如图5所示,是采用上述算法得到的无人艇航行轨迹图,其中五角星是出发点,米字型是目标点,黑色线是无人艇航行轨迹图。从图中可以看出无人艇根据海图上的障碍进行避障,最终成功到达了目标点。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
机译: 方法是用于改进海图深度数据库的方法,并且涉及包含中央海图数据库的中央系统,从而可以将基于电子的海图安装在船舶的本地系统中
机译: 电子海图信息显示装置和电子海图信息显示方法
机译: 电子海图信息显示装置和电子海图信息显示方法