一种基于GRU粒子滤波的UUV目标状态估计方法与流程

文档序号:22931001发布日期:2020-11-13 16:30阅读:187来源:国知局
一种基于GRU粒子滤波的UUV目标状态估计方法与流程

本发明涉及一种基于gru粒子滤波的uuv目标状态估计方法,属于目标状态估计领域,涉及深度学习技术以及蒙特卡洛求期望理论。



背景技术:

目标跟踪是无人水下潜航器(unmannedunderwatervehicle,uuv)执行避碰、信息搜集、集群控制、海底管道检修、港口防御等任务的关键技术,具有非常重要的实际应用和理论研究价值。目标跟踪是指利用感知量测系统对目标进行测量,然后通过目标状态估计方法对目标的运动状态进行估计和预测的过程。作为uuv目标跟踪的核心技术,uuv目标状态估计的主要工作是由带有观测噪声的声呐观测数据估计出目标的实时运动状态,估计精度直接影响到目标跟踪的效果。卡尔曼滤波(kalmanfilter,kf)可以根据观察到的测量结果提供一些未知变量的估计值,其状态和测量方程式都是线性的,并假设测量高斯噪声均值为零。具有形式简单、计算量小等优点,但传统的kf无法通过非线性的测量来估计目标状态。扩展卡尔曼滤波(extendedkalmanfilter,ekf)将非线性的测量方程进行泰勒级数展开,将其近似为线性方程从而实现状态估计。然而,该方法在线性化的过程中损失了高阶项,影响估计精度。无迹卡尔曼滤波(unscentedkalmanfilter,ukf)利用sigma点将非线性测量函数进行无迹变换,将无迹变换后的点拟合成高斯分布。ukf避免了线性化和求导过程,但仍将输出假设为高斯分布。粒子滤波(particlefilter,pf)采用大量的采样点来描述该分布,具有处理高度非线性测量方程的能力,以及处理非高斯测量噪声的能力,但pf需要复杂的处理器和大量的计算时间。

海洋环境复杂,水下运动目标多样,而被跟踪目标的动力学模型往往非常复杂且具有强非线性。目前的目标状态估计方法大多建立在目标运动是单模态的这一重要前提下,这使得这些目标状态估计算法在水下目标转换运动状态时估计效果不理想。尽管已经提出了大量的滤波算法以及相关改进算法,但被跟踪目标动力学的复杂性和强耦合性,以及声呐测量带来的不确定性,仍是uuv状态估计问题的一大挑战。为了克服上述问题,本发明提出了gru粒子滤波算法,并将其应用到uuv目标状态估计问题中。

文献[1]利用多层前馈神经网络识别惯性测量单元的测量噪声,该神经网络以kf状态估计作为输入来实现状态估计。该方法可以进一步优化kf的估计结果,进一步消除惯性测量单元的固有噪声。文献[2]建了一种基于双向长短时记忆的民用飞机机动目标跟踪算法,该方法利用双向长短时记忆来拟合ukf在机动目标跟踪过程中的残差,从而补偿ukf的跟踪结果,提高目标跟踪性能。上述文献使用不同的神经网络来补偿传统滤波算法的状态估计结果,提高了传统滤波器状态估计的性能。但状态估计的性能仍受传统滤波算法固有缺点的限制,如不适用与非线性非高斯系统以及非机动目标等。本发明提出的一种基于gru的粒子滤波算法不建立在传统的滤波算法基础上,首先在目标状态的测量值中进行随机采样,获得采样粒子;然后将各采样粒子代表的测量状态输入到基于gru的神经网络中,输出所估计的各粒子的状态;最后利用蒙特卡洛思想估计被跟踪目标的状态。本发明所提方法使用的深度神经网络、神经网络具有的职能、滤波过程和应用场景均与文献[1-2]不同。

[1]m.k.al-sharman,y.zweiri,m.a.k.jaradat,r.al-husari,d.ganandl.d.seneviratne,“deep-learning-basedneuralnetworktrainingforstateestimationenhancement:applicationtoattitudeestimation,”ieeetransactionsoninstrumentationandmeasurement,vol.69,no.1,pp.24-34,jan.2020.

[2]j.liu,z.wang,m.xu,“deepmtt:adeeplearningmaneuveringtarget-trackingalgorithmbasedonbidirectionallstmnetwork,”informationfusion,vol.53,pp.289-304,jan.2020.



技术实现要素:

本发明的目的是为了提供一种基于gru粒子滤波的uuv目标状态估计方法,并应用其解决uuv目标状态估计中,由目标复杂的动力学以及声呐测量的不确定性引起的,目标状态估计精度低以及估计不稳定的问题。

本发明的目的是这样实现的:步骤如下:

步骤一:建立包括全局坐标系、局部坐标系以及传感器坐标系的坐标系统;

步骤二:建立声呐测量模型;

步骤三:建立用于深度训练神经网络的uuv目标状态估计数据集;

步骤四:设计用于建立历史时刻测量状态与当前时刻状态之间映射的深度神经网络结构;

步骤五:对步骤四所提的深度神经网络结构进行训练;

步骤六:基于gru粒子滤波算法完成uuv目标状态估计。

本发明还包括这样一些结构特征:

1.步骤一具体是:全局坐标系为北东坐标系noe,o为北东坐标系原点,n轴指向地球北,e轴指向地球东;局部坐标系由船体坐标系表示,其原点为uuv的重心,x轴在uuv纵向剖面内,指向uuv艏端,y轴与纵剖面垂直,指向右舷;传感器坐标系原点在传感器的测量中心,一旦检测到目标,便由传感器坐标系映射到全局坐标系。

2.步骤二中的声呐测量模型中的声呐水平开角为120°,包含80个波束,最大探测距离为120m,工作频率为50hz。

3.步骤三中的数据集包括被跟踪目标以及观测uuv的位置、速度以及声呐获得的测量数据,并对数据进行归一化处理。

4.步骤四中的深度神经网络结构具有一个输入层、两个隐藏层以及一个输出层,网络的输入为目标的历史测量状态,网络的输出为目标的预测状态,具体为:

输入层:输入层包含4个神经元,分别对应目标测量状态中的北向位置、东向位置、北向速度以及东向速度,该层负责初步处理输入数据,为隐藏层提取数据特征做准备;

第1隐藏层:第1隐藏层为gru层,包含16个gru模块,激活函数为正切函数;gru结构可以建立隐藏状态与历史信息的联系,这使得隐藏层可以在时序的历史数据中提取相关特征;

第2隐藏层:第2隐藏层为全连接层,包含8个神经元,激活函数为正切函数,该层对第1隐藏层的输出数据进行整理,进一步提取特征;

输出层:输出层包含4个神经元,该层将隐藏层提取的特征进行处理,使输出分别对应预测的目标的北向位置、东向位置、北向速度以及东向速度,激活函数为正切函数。

5.步骤五具体是:在步骤三所提的数据集中训练步骤四所提的深度神经网络结构,输入数据为被跟踪目标的测量状态,标签为被跟踪目标的真实状态;神经网络结构中的各层权重的初始化方式为he_normal,采用小批量梯度下降误差反向传播算法训练网络,最后得到经过充分训练的深度神经网络。

6.步骤六具体为:根据k-1与k时刻间被跟踪目标的观测值生成测量状态集;然后在测量状态集中随机采样,得到采样粒子;应用充分训练的深度神经网络预测采样粒子的当前状态;最后利用蒙特卡洛求解期望方法得出估计的目标状态。

与现有技术相比,本发明的有益效果是:本发明建立了基于gru的深度神经网络来拟合历史目标测量状态与目标当前状态之间的映射,该神经网络学习被跟踪目标的动力学并识别测量噪声。因此该方法可以解决目标复杂的动力学特性造成的目标估计稳定性差的问题。该滤波器从测量数据中直接采样,以这些采样粒子来近似测量分布。然后充分训练的神经网络用来预测个粒子的当前状态,从而根据蒙特卡洛思想估计出目标当前的状态。因此,该方法可以处理水下测量不确定性带来的目标估计精度低等问题。

附图说明

图1是uuv目标状态估计参考坐标系统;

图2是深度神经网络基本结构图;

图3是神经网络训练过程以及uuv状态估计过程;

图4(a)-(c)均是对uuv状态估计的仿真结果,图4(a)显示估计的航迹,图4(b)显示估计的位置均方根误差,图4(c)为估计的速度均方根误差。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细描述。

结合附图,本发明所述基于gru粒子滤波算法的目标状态估计的实现过程为:首先建立基于门循环单元(gatedrecurrentunits,gru)的深度神经网络来拟合前一时刻目标测量状态与当前时刻目标实际状态之间的映射;该神经网络学习目标的动力学模型并识别测量噪声。该滤波器从测量状态中直接采样,以这些采样粒子来近似测量分布。然后,充分训练的神经网络用来预测各粒子的当前状态,从而根据蒙特卡洛思想估计出目标当前的状态。

具体步骤如下:

步骤(1):建立如图1所示的坐标系统,包括全局坐标系、局部坐标系以及传感器坐标系;

全局坐标系为北东坐标系(noe),o为北东坐标系原点,n轴指向地球北,e轴指向地球东;

局部坐标系由船体坐标系表示(xbobyb),其原点为uuv的重心,x轴取在uuv纵向剖面内,指向uuv艏端,y轴与纵剖面垂直,指向右舷;

传感器坐标系(xsosys)原点在传感器的测量中心,一旦检测到目标,便将其根据下式由传感器坐标系映射到全局坐标系:

其中,为传感器测量中心在船体坐标系下的位置,为目标p在传感器坐标系下的位置,为目标在船体坐标系下的位置,为目标在全局坐标系下的位置,ψ为观测uuv的艏向角。

步骤(2):建立声呐测量模型;

声呐水平开角为120°,最大探测半径为120m,工作频率为50hz,其测量模型为:

其中,为k时刻声呐返回的测量数据;lk、θk、vk、βk分别表示相对距离、方位、速度大小以及速度方向;表示目标在k时刻的状态,为k时刻观测者的状态,定义为k时刻相对状态向量;为测量噪声。

步骤(3):建立用于深度训练神经网络的uuv目标状态估计数据集;采集目标的状态信息、观测uuv的状态信息以及声呐测量信息,将采集的数据进行数据处理;

根据目标uuv的运动学和动力学模型,采集了被跟踪目标以及观测uuv在匀速运动、匀转弯运动、匀加速运动下的位置、速度和声呐获得的测量数据。测量数据处理的具体过程为:

根据观测uuv的状态以及测量值计算得到测量状态

对计算得到的测量状态集添加噪声,以扩充数据集;

由于测量状态集中的信息是由纲量不同的数据组成,为全面的提取数据中包含的特征,避免重要特征由于数值相对较小而被忽略,对输入数据和标签数据进行归一化处理,将输入输出映射到[-1,1]内。

步骤(4):设计用于建立历史时刻测量状态与当前时刻状态之间映射的深度神经网络结构;

如图2所示,本发明设计的深度神经网络结构具有一个输入层、两个隐藏层以及一个输出层。网络的输入为目标的历史测量状态,网络的输出为目标的预测状态,具体为:

输入层:输入层包含4个神经元,分别对应目标测量状态中的北向位置、东向位置、北向速度以及东向速度;

第1隐藏层:第1隐藏层为gru层,包含16个gru模块,激活函数为正切函数;gru结构可以建立隐藏状态与历史信息的联系,这使得隐藏层可以在时序的历史数据中提取相关特征;

第2隐藏层:第2隐藏层为全连接层,包含8个神经元,激活函数为正切函数,该层对第1隐藏层的输出数据进行整理,进一步提取特征;

输出层:输出层包含4个神经元,分别对应预测的目标的北向位置、东向位置、北向速度以及东向速度,激活函数为正切函数;

该神经网络预测目标运动状态的过程可表述为:

mk=tanh(whmhk+bm)

其中,rk、zk、hk、mk和分别为重置门、更新门、记忆模块、隐藏层和输出层的输出;whr和whz分别为前一时刻记忆模块与重置门和更新门间的权值矩阵;wor、woz和woh分别表示输入向量与重置门、更新门和记忆模块间的权值矩阵;*表示元素对应相乘,whm和wmx为全连接权值矩阵;σ(·)和tanh(·)分别为sigmoid函数和正切函数;在上述所有公式中,b表示偏置。

步骤(5):对步骤(4)所提的深度神经网络进行训练:

在步骤(3)所提的数据集中训练步骤(4)所提的深度神经网络,输入数据为被跟踪目标的测量状态,标签为被跟踪目标的真实状态;

如图3,深度神经网络训练过程具体为:

1)初始化该神经网络各层权重,初始化方式为he_normal,并令训练次数i=0;

2)令训练批次k=0;

3)将第k个批量的输入数据依次输入到网络,经过神经网络的前向传播过程得到对应输出yt,并计算yt与对应标签的误差;

4)利用小批量梯度下降误差反向传播算法更新该神经网络权重;

5)判断是否训练集中所有数据均完成训练,若是,执行6),否则k=k+1,并返回3);

6)将验证集中数据输入到网络,并计算网络输出与输入对应标签间的均方误差;

7)判断当前训练次数是否为最大训练次数,若是,停止训练;否则i=i+1,返回2);

经过充分训练的深度神经网络可以学习目标的动力学模型并识别测量噪声,克服目标动力学复杂导致的目标状态估计的不确定性和不稳定性。

步骤(6):基于gru粒子滤波算法的uuv目标状态估计过程具体为:

根据k-1与k时刻间的观测uuv的状态以及测量值计算得到测量状态集

在测量状态集中随机采样,得到采样粒子

应用充分训练的深度神经网络预测采样粒子的当前状态,即

最后利用蒙特卡洛求解期望方法得出估计的目标状态,即根据各粒子的预测状态估计目标的当前状态:

该方法从测量状态中直接采样,根据蒙特卡洛思想计算期望,因此不受噪声分布的影响,避免了声呐测量的非线性和不确定性对目标状态估计效果的影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1