基于航迹预测的水面无人艇动态避障方法

2021-12-13 14:37朱坤财徐郑攀赵自奇彭荣发洪晓斌
中国测试 2021年11期
关键词:航迹无人障碍

朱坤财,徐郑攀,赵自奇,彭荣发,洪晓斌

(1.华南理工大学机械与汽车工程学院,广东 广州 510641; 2.广船国际有限公司,广东 广州 511462)

0 引 言

水面无人艇作为一种新型的水上智能工作平台,在科研、军事及民用等诸多领域如水文勘测、水质监测、渔业养殖、海上巡逻任务[1-3]等方面发挥着巨大的作用,而无人艇的避障能力是无人艇能顺利完成海上作业的首要前提。无人艇的避障问题属于平面移动机器人的局部路径规划领域,多年来对局部避障的路径规划问题已进行多方面研究,如Fox等提出了一种动态窗口法,该避障算法计算有效的速度搜索区间在一定时间间隔内产生的运动轨迹,根据轨迹产生的避障代价来获取最佳避障速度[4];Fiorini等提出了一种基于碰撞锥的速度障碍避障方法,该方法利用相对速度来构造速度障碍区域,并通过代价函数来计算避障速度[5]。近年来,随着无人艇动态避障问题研究的兴起,在局部路径规划研究的基础上,国内外学者也提出了一些针对性的解决方法。如魏新勇等提出一种基于VFH*算法的前向预测水面无人艇局部避障方法,利用连续的激光雷达数据帧和无人艇实时位姿信息进行雷达前后帧数据融合,并以此为基础建立障碍物向量场直方场来规划避障路径[6];Liang Hu提出了一种新颖的分层多目标粒子群优化(H-MOPSO)智能算法,该算法使用多目标优化方法生成安全且符合海事规则的路径[7];Jeonghong Park使用概率方法计算障撞风险,并在预测的轨迹上配置障撞风险区来避开动态障碍[8];Johansen结合船舶航行动力学提出了一种基于模型预测控制的船舶动态避障方法[9];针对USV在海洋环境中的安全航行问题,Benjamin提出一种适合USV在海洋环境中安全航行的海事规则,并以USV的海事规则为基础提出了一种基于协议的动态碍航物规避的方法[10];邓乃铭等提出一种基于隐马尔可夫模型的操船意图预报方法,将生成的目标船意图预报结果与经典速度障碍法相融合,提出了一种反应型避障规划方法[11]等。

目前的无人艇常用避障算法如VFH避障算法、速度障碍法等应用于实际避障过程时都是基于无人艇当前的传感信息做出避障动作[12-13],而不考虑障碍船舶未来可能的运动趋势,在动态避障过程中可能会带来潜在的障撞危险。因此,本文提出了一种基于LSTM航迹预测的避障方法,将航迹预测与速度障碍法结合起来,用航迹预测的结果来指导无人艇的避障动作,实现动态避障条件下安全可靠的路径规划。

1 基于LSTM的航迹预测方法

1.1 LSTM神经网络结构

长短期记忆网络(long short-term memory,LSTM)是一种特殊的循环神经网络(recurrent neural network,RNN),LSTM将传统RNN的隐藏层单元替换为一组相互联系的递归子网络,即记忆模块。记忆模块包含一个或多个记忆细胞(cell),并通过忘记门(forget gate)、输入门(input gate)和输出门(output gate)来修改当前时刻的细胞状态以及决定输出的内容。在本文的航迹预测网络中,输入门、输出门和遗忘门分别对应着船舶航迹特征数据序列的写入、读取和之前状态的重置操作。

图1 LSTM记忆模块

1.2 LSTM航迹预测网络设计

与陆地车辆的轨迹预测问题不同,船舶在海面行驶时,会受到风、浪和暗涌的影响,航行轨迹呈现出一定的非线性特征,难以通过线性拟合的方式较为精准地预测出船舶的轨迹。而LSTM航迹预测模型作为神经网络模型具备优秀的非线性拟合条件,其时序性特征保证了网络能通过多个历史时刻的航迹来进行预测从而保证预测精度。

本文的航迹预测模型以n个历史时刻的航迹特征来预测当前时刻的船舶位置,当前时刻的航迹特征表达式如式(1)所示,输出的特征如式(2)所示:

式中:lat——纬度;

lon——经度;

v——航速;

c——当前船舶艏向。

网络的输入特征在量程方面可能存在数量级的差异,为了避免不同特征的数据大小对预测精度产生影响,本文使用离差标准化方法(min-max normalization)对输入特征进行归一化处理,保证所有输入特征的范围在[0,1]之间。归一化公式如下所示:

式中:xtrans——归一化数据;

xraw——原始数据;

min(xraw)——原始数据中的最小值;

max(xraw)——原始数据中的最大值。

LSTM网络的隐藏层节点数会对预测精度造成较大影响,对于隐藏层节点数目的确定,通常采用经验公式确定初值,然后通过实验在初值附近的区间内确定最佳节点数。经验公式如式(5)所示:

式中:M——隐藏层节点数;

n——输入层节点数;

m——输出层节点数;

a——常数,一般取[0,10]。

在本文的预测网络中,隐藏层节点数设为16。

1.3 LSTM航迹预测实验

本文使用在广州南沙区龙穴岛海域采集的2 184个时刻的航迹数据作为数据集,其中训练集和测试集的比例为 4∶1。采用均方误差(mean squared error,MSE)函数作为神经网络训练的损失函数。MSE表示的是预测值与真实值之差的平方的期望值,具体公式如下:

本文使用Pytroch框架作为训练框架,epoch设置为 100,batch-size设置为 128,learning rate设为0.01,数据集的训练结果如图2所示,部分航迹的拟合结果如图3所示。通过对预测结果进行定量分析,可获得预测网络的预测精度,如表1所示。实验结果表明,预测航迹与真实航迹基本一致,预测精度可以满足动态避障的需要。

表1 航迹预测精度

图2 数据集训练结果

图3 部分航迹预测拟合图

2 基于航迹预测的动态避障方法

本文的动态避障方法以速度障碍法为基础,根据无人艇与障碍艇的相对速度建立速度障碍区域,根据航迹预测的结果对速度障碍区域进行叠加拓展处理,获得了一个具有障碍预测信息的速度障碍区域,最后通过代价函数来计算当前的最佳避障速度实现动态避障。

2.1 结合航迹预测的速度障碍法

将航迹预测结果与速度障碍法结合的原理如图4所示,Pu处椭圆代表无人艇,Po处的红色椭圆区域代表膨化后的障碍艇,VO代表障碍艇速度,Vu为无人艇的速度,Vr为无人艇与障碍艇的相对速度。从Pu出发,作障碍椭圆的两条切线λl和λr,λl和λr构成了一个碰撞锥RCCUO,根据经典速度障碍法原理,当相对速度Vr位于碰撞锥内时,代表无人艇与障碍艇在当前速度下存在避障风险。由于碰撞锥定义在相对速度空间里面,当存在多条障碍艇时,将会导致多个碰撞锥无法进行统一描述。为了解决这个问题,可以将相对速度空间转换到基于水面无人艇自身的绝对速度空间进行统一描述。类似地,定义导致水面无人艇和障碍发生碰撞的所有水面无人艇绝对速度Vu集合为速度障碍区域VOUO。

图4 结合航迹预测的速度障碍法原理

式中,⊕为闵可夫斯基矢量和运算,实际物理意义是将相对碰撞区域RCCUO沿着障碍船舶速度VO进行平移,当无人艇速度Vu位于VOUO内时,代表当前速度存在碰撞风险。

2.2 动态避障速度计算

角速度窗口ωd的表达式为:

艏向窗口θd的表达式为:

为了方便工程运算,将速度窗口vd和角速度窗口ωd进行离散化处理。具体可将速度v按等间距网格离散为M个速度,将艏向θ按等间距网格离散为个N艏向,每一个离散速度和离散艏向可以组成一个完整的速度矢量,最终将整个RAV集合离散为MN个速度矢量。

获得离散化的速度矢量后,需要通过代价函数来选取最佳避障速度,本文使用的代价函数如式(12)和式(13)所示:

式中:vg——水面无人艇到下一个局部子目标点的目标速度矢量;

vc——水面无人艇当前的速度大小;

θc——水面无人艇当前的艏向;

Pg——下一个局部子目标点的位置矢量;

Pu——水面无人艇当前的位置矢量;

ω1和ω2——两个权重系数。

3 基于航迹预测的动态避障实验

国际海上避障规则(COLREGS)将海上的船舶会遇避障场景根据无人艇与障碍艇的相对航向角分为对遇、追越和左交叉和右交叉四种,具体划分规则如图5所示。

图5 海上避障场景划分

根据COLREGS对避障场景的划分,本文设置了对遇、追越和左交叉和右交叉四种避障场景下的避障实验来验证本文动态避障算法的有效性。实船避障实验场景在广州市南沙区龙穴岛海域进行,避障实验的初始参数如表2~表5所示,其中航速单位为节(kn),1 kn=0.514 m/s。

表2 右交叉避障实验初始参数

表3 左交叉避障实验初始参数

表4 对遇避障实验初始参数

表5 追越避障实验初始参数

避障实验使用的无人艇尺寸为 7.5 m×1.2 m,障碍艇尺寸为10 m×1.5 m,考虑到传感器测量误差的影响和海面风浪的影响,需保证一定的避障安全裕量,因此对障碍艇进行膨化处理,即在相对运动过程中将无人艇视为质点,同时将无人艇的尺寸和预设定的碰撞安全裕度叠加到障碍艇上,最后确定障碍艇膨化后的障碍椭圆区域尺寸为24 m×5 m,当无人艇航行过程中进入障碍艇的膨胀椭圆范围内时意味着即将发生碰撞。在此膨胀椭圆尺寸下进行的避障实验结果如表6所示,避碰航迹如图6所示,无人艇艏向角变化如图7所示,无人艇与障碍艇的相对距离变化如图8所示。从实验结果可知,无人艇能在发现避障风险时及时地变换速度,做出转向反应,并在脱离危险避障区域时进入返航模式,继续朝着预向设定的目标点前进,在存在动态障碍物的情况下实现了无人艇的局部巡航功能。与此同时,避障过程中无人艇与障碍艇的相对距离始终大于安全极限距离,无人艇的安全性能也得到了保证,这说明了本文动态避障算法的有效性。

图6 单船会遇避碰航迹图

图7 无人艇航向角变化

图8 两船相对距离变化

表6 单船会遇避障实验结果

4 结束语

本文提出了一种基于航迹预测的水面无人艇动态避障方法。构建基于LSTM的船舶航迹实时预测模型,模型的经度预测平均误差约为 0.000 016 5°,纬度预测平均误差约为 0.000 015 0°,预测精度足以满足动态避障的需求;将障碍物航迹预测结果作为速度障碍法的输入,构建了一个扩展的速度障碍区域,并通过代价函数获得无人艇在当前时刻的最优避障速度,最终实现了动态场景下的避障功能。四种动态避障场景下的实船实验表明,在小于12 kn的航速下,本文所提出的动态避障算法能结合航迹预测模型得到合理的局部避障速度,并在15 s内完成避碰到返航的运动转换过程,在保证一定避障安全裕度的前提下实现了无人艇的局部路径规划,满足水面无人艇在实际环境中的动态避障需求。

猜你喜欢
航迹无人障碍
睡眠障碍,远不是失眠那么简单
梦的航迹
无人战士无人车
跟踪导练(四)2
反击无人机
自适应引导长度的无人机航迹跟踪方法
跨越障碍
诗到无人爱处工
无人超市会流行起来吗?
视觉导航下基于H2/H∞的航迹跟踪