一种基于STACKF的多AUV协同定位方法

文档序号:29744182发布日期:2022-04-21 20:54阅读:157来源:国知局
一种基于STACKF的多AUV协同定位方法
一种基于stackf的多auv协同定位方法
技术领域
1.本发明属于auv定位领域,涉及水下主从式多auv协同定位技术,具体涉及一种基于stackf的多auv协同定位方法。


背景技术:

2.自主水下航行器(autonomous underwater vehicles,auv)在诸多军事和民事方面得到了广泛应用。单一auv的使用已经不能满足当前的需要。因此,深入研究由多个auv组成的协作系统有着重要的意义。在auv协同系统中,配备低精度导航装置的航行器利用水声通信设备获取高精度航行器的位置信息以及二者间相对距离参考信息后,通过信息融合技术实现导航定位误差的协同校正。
3.目前对auv位置进行估计所用的方法有基于状态空间模型的滤波技术以及基于间歇观测信息的卡尔曼滤波方法。卡尔曼滤波(ckf)是一种常见的滤波算法,该滤波算法是建立在观测噪声为高斯噪声的基础上,但由于水下环境多变,往往观测噪声为非高斯分布,便会造成协同导航定位精度的降低。


技术实现要素:

4.发明目的:为了克服现有技术中存在的水下航行过程中协同导航定位精度低的问题,提供一种基于stackf的多auv协同定位方法,建立适用于导航系统的滤波算法,其能够校正水下航行过程中的auv位置误差,提高多auv协同定位精度。
5.技术方案:为实现上述目的,本发明提供一种基于stackf的多auv协同定位方法,包括如下步骤:
6.s1:对auv运动学模型建模,得到auv运动学模型的运动方程;
7.s2:基于运动方程,建立主从式多auv协同导航定位的量测模型,得到量测模型的量测方程;
8.s3:采用容积卡尔曼滤波(ckf)来求解多auv协同导航中的状态估计值;
9.s4:基于状态估计值和量测方程,采用基于渐消记忆指数加权法的噪声估值器算法生成系统噪声和量测噪声的协方差矩阵qk和rk;
10.s5:将强跟踪算法中的渐消因子引入到步骤s3的容积卡尔曼滤波(ckf)的预测和更新方程中,修正多auv协同导航中的状态估计值和系统噪声和量测噪声的协方差矩阵,有效避免模型不准确造成的滤波下降,再结合auv运动学模型的运动方程,估算auv位置,实现多auv协同定位。
11.进一步地,所述步骤s1中运动学模型的运动方程为:
[0012][0013]
式中,xk,yk,θk分别为auv在二维投影平面中的横向坐标、纵向坐标和偏航角;vk为
前向合成速度;为偏航角速度;t为采样周期;设噪声为高斯白噪声,则在噪声影响下的系统输入为:
[0014][0015]
其中,v
mk
和分别为auv在tk时刻的速度和偏航角速度的量测值;w
vk
和w
ωk
均为相互独立的零均值高斯白噪声。
[0016]
进一步地,所述步骤s2中量测模型的量测方程为:
[0017][0018]
其中,dx
k,k+1
和dy
k,k+1
分别为跟随auv在采样周期时间内的运动失径;上标s为跟随auv;上标m为领航auv;ak为k时刻主从auv之间的距离。
[0019]
进一步地,所述步骤s3具体包括如下步骤:
[0020]
a1:时间更新
[0021]
假设后验概率密度函数已知,对估计均方差做cholesky分解,可得
[0022][0023]
计算容积点,其中i=1,2,3...,m;m=2n,有
[0024][0025]
将容积点通过状态方程进行传递后,可得新的采样点
[0026][0027]
k时刻的一步状态预测值
[0028][0029]
k时刻的一步预测估计均方差
[0030][0031]
a2:量测更新
[0032]
对一步预测均方差进行cholesky分解
[0033][0034]
计算容积点,其中i=1,2,3...,m;m=2n
[0035][0036]
将容积点通过量测方程进行传递后,可得新的采样点
[0037]zi,k/k-1
=h(x
i,k/k-1
)
[0038]
k时刻的量测预测值为
[0039][0040]
自相关估计均方差为
[0041][0042]
互相关方差矩阵估计值为
[0043][0044]
系统滤波增益矩阵为
[0045][0046]
k时刻的状态估计值
[0047][0048]
k时刻的均方差估计值为
[0049][0050]
进一步地,所述步骤s4具体包括如下步骤:
[0051]
b1:确定遗忘因子,生成加权系数
[0052]dk
=(1-b)/(1-bk),0<b<1
[0053]
式中,b为遗忘因子,一般取0.95;dk为生成k+1时刻噪声协方差矩阵的加权系数;
[0054]
b2:计算系统噪声的协方差矩阵
[0055][0056][0057]
将上式改写为
[0058][0059]
式中,εk为残差值;q'k为k时刻生成的系统噪声协方差矩阵;gk=(u
t
u)-1ut
,u为系统噪声驱动阵;
[0060]
b3:计算量测噪声的协方差矩阵
[0061][0062]
式中,r'k为k时刻生成的量测噪声协方差矩阵。
[0063]
进一步地,所述步骤s5中强跟踪算法中的渐消因子的计算方式为:
[0064][0065][0066]
[0067]mk+1
=p
zz,k+1/k-v
k+1
+n
k+1
[0068][0069]
进一步地,所述步骤s5中渐消因子的引入方式为:
[0070]
在步骤a1中的一步预测估计均方差p
k∣k-1
中引入渐消因子,如下
[0071][0072]
进一步地,所述步骤s5中结合auv运动学模型的运动方程,估算auv位置的方法为:
[0073]
描述auv运动的状态方程为:
[0074][0075]
由上式可得,auv导航系统的状态向量xk由auv的位置信息(xk,yk),航向角信息θk表示:
[0076]
xk=[x
k y
k θk]
t
[0077]
量测方程为
[0078][0079]
信息协方差矩阵为
[0080][0081][0082]mk+1
=p
zz,k+1/k-v
k+1
+n
k+1
[0083][0084]
渐消因子为
[0085][0086][0087]
修正k时刻的一步预测估计均方差
[0088]
[0089]
噪声协方差矩阵
[0090][0091][0092]
基于上述方案,采用步骤a2的量测更新方式,获取到auv位置的估算数据。
[0093]
本发明中ckf通过选取一组满足求容积准则的、具有相同权重的采样点,经过非线性方程的转换,产生新的点集来给出下一时刻系统状态预测的概率密度函数。通过点估计的方法,ckf避免了对非线性系统模型的线性化近似处理,从而可以达到三阶泰勒展开的精度。
[0094]
在多auv协同定位中,本发明针对协同定位精度问题,对强跟踪自适应容积卡尔曼滤波算法(stackf)进行改进。本发明已知目标模型,得到协同导航滤波过程;通过水声通信设备得到主auv位置信息以及主从auv二者信息距离后,即可利用此信息实现自身位置误差的协同校正;stackf算法得到滤波的信息、预测的误差和滤波增益,从而计算出任意时刻的系统状态估计值。本发明所提算法通过点估计的方法,避免了对非线性系统模型的线性化近似处理,提升了精度;同时将强跟踪滤波以及自适应估计方法与容积卡尔曼滤波相结合,具有良好的自适应性。
[0095]
有益效果:本发明与现有技术相比,不仅具有简单易行的优点,而且所提算法通过点估计的方法,避免了对非线性系统模型的线性化近似处理,提升了精度,通过协同定位算法将领航auv的高精度导航定位信息融合后,跟随auv的导航定位精度可以有效提高;同时将强跟踪滤波以及自适应估计方法与容积卡尔曼滤波相结合,具有良好的自适应性和鲁棒性。
附图说明
[0096]
图1为双模型领航式auv导航图;
[0097]
图2为算法流程图;
[0098]
图3仿真实验中auv实际运动轨迹图;
[0099]
图4仿真实验中跟随auv运动轨迹图;
[0100]
图5仿真实验中跟随auv定位误差比较图。
具体实施方式
[0101]
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
[0102]
如图1所示为双模型领航式auv导航示意图,本发明提供一种基于stackf的多auv协同定位方法,用于实现auv的位置估算,参照图2,其具体包括如下步骤:
[0103]
s1:对auv运动学模型建模,得到auv运动学模型的运动方程:
[0104]
[0105]
式中,xk,yk,θk分别为auv在二维投影平面中的横向坐标、纵向坐标和偏航角;vk为前向合成速度;为偏航角速度;t为采样周期;设噪声为高斯白噪声,则在噪声影响下的系统输入为:
[0106][0107]
其中,v
mk
和分别为auv在tk时刻的速度和偏航角速度的量测值;w
vk
和w
ωk
均为相互独立的零均值高斯白噪声。
[0108]
s2:基于运动方程,建立主从式多auv协同导航定位的量测模型,得到量测模型的量测方程:
[0109][0110]
其中,dx
k,k+1
和dy
k,k+1
分别为跟随auv在采样周期时间内的运动失径;上标s为跟随auv;上标m为领航auv;ak为k时刻主从auv之间的距离。
[0111]
s3:采用容积卡尔曼滤波(ckf)来求解多auv协同导航中的状态估计值:
[0112]
具体包括如下步骤:
[0113]
a1:时间更新
[0114]
假设后验概率密度函数已知,对估计均方差做cholesky分解,可得
[0115][0116]
计算容积点,其中i=1,2,3...,m;m=2n,有
[0117][0118]
将容积点通过状态方程进行传递后,可得新的采样点
[0119][0120]
k时刻的一步状态预测值
[0121][0122]
k时刻的一步预测估计均方差
[0123][0124]
a2:量测更新
[0125]
对一步预测均方差进行cholesky分解
[0126][0127]
计算容积点,其中i=1,2,3...,m;m=2n
[0128]
[0129]
将容积点通过量测方程进行传递后,可得新的采样点
[0130]zi,k/k-1
=h(x
i,k/k-1
)
[0131]
k时刻的量测预测值为
[0132][0133]
自相关估计均方差为
[0134][0135]
互相关方差矩阵估计值为
[0136][0137]
系统滤波增益矩阵为
[0138][0139]
k时刻的状态估计值
[0140][0141]
k时刻的均方差估计值为
[0142][0143]
s4:基于状态估计值和量测方程,采用基于渐消记忆指数加权法的噪声估值器算法生成系统噪声和量测噪声的协方差矩阵qk和rk:
[0144]
具体包括如下步骤:
[0145]
b1:确定遗忘因子,生成加权系数
[0146]dk
=(1-b)/(1-bk),0<b<1
[0147]
式中,b为遗忘因子,本实施例取0.95;dk为生成k+1时刻噪声协方差矩阵的加权系数;
[0148]
b2:计算系统噪声的协方差矩阵
[0149][0150][0151]
将上式改写为
[0152][0153]
式中,εk为残差值;q'k为k时刻生成的系统噪声协方差矩阵;gk=(u
t
u)-1ut
,u为系统噪声驱动阵;
[0154]
b3:计算量测噪声的协方差矩阵
[0155][0156]
式中,r'k为k时刻生成的量测噪声协方差矩阵。
[0157]
s5:将强跟踪算法中的渐消因子引入到步骤s3的容积卡尔曼滤波(ckf)的预测和更新方程中,修正多auv协同导航中的状态估计值和系统噪声和量测噪声的协方差矩阵,有
效避免模型不准确造成的滤波下降,再结合auv运动学模型的运动方程,估算auv位置,实现多auv协同定位:
[0158]
强跟踪算法中的渐消因子的计算方式为:
[0159][0160][0161][0162]mk+1
=p
zz,k+1/k-v
k+1
+n
k+1
[0163][0164]
渐消因子的引入方式为:
[0165]
在步骤a1中的一步预测估计均方差p
k∣k-1
中引入渐消因子,如下
[0166][0167]
结合auv运动学模型的运动方程,估算auv位置的方法为:
[0168]
描述auv运动的状态方程为:
[0169][0170]
由上式可得,auv导航系统的状态向量xk由auv的位置信息(xk,yk),航向角信息θk表示:
[0171]
xk=[x
k y
k θk]
t
[0172]
量测方程为
[0173][0174]
信息协方差矩阵为
[0175][0176][0177]mk+1
=p
zz,k+1/k-v
k+1
+n
k+1
[0178][0179]
渐消因子为
[0180][0181][0182]
修正k时刻的一步预测估计均方差
[0183][0184]
噪声协方差矩阵
[0185][0186][0187]
基于上述方案,采用步骤a2的量测更新方式,获取到auv位置的估算数据。
[0188]
本实施例还提供一种基于改进stackf的多auv协同定位系统,该系统包括网络接口、存储器和处理器;其中,网络接口,用于在与其他外部网元之间进行收发信息过程中,实现信号的接收和发送;存储器,用于存储能够在所述处理器上运行的计算机程序指令;处理器,用于在运行计算机程序指令时,执行上述共识方法的步骤。
[0189]
本实施例还提供一种计算机存储介质,该计算机存储介质存储有计算机程序,在处理器执行所述计算机程序时可实现以上所描述的方法。所述计算机可读介质可以被认为是有形的且非暂时性的。非暂时性有形计算机可读介质的非限制性示例包括非易失性存储器电路(例如闪存电路、可擦除可编程只读存储器电路或掩膜只读存储器电路)、易失性存储器电路(例如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(例如模拟或数字磁带或硬盘驱动器)和光存储介质(例如cd、dvd或蓝光光盘)等。计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(bios)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用程序、后台服务、后台应用程序等。
[0190]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0191]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0192]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0193]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0194]
基于上述提供的方案,为了验证上述方案的有效性和实际效果,本实施例进行仿真实验来进行验证,实验仿真通过两个主auv和一个从auv进行,运动过程中,以主auv的运动位置信息作为从auv的滤波轨迹信息。假设主从auv深度一致,即只在水平面进行二维模型的仿真分析。采样周期t为1s,仿真总时间为1500s,定位误差为0.1m,距离量测误差为0.1m。跟随auv速度误差为0.1,主auv和从auv真实航行速度为1m/s。遗忘因子b取值为0.95。主auv1起点(-300,0),主auv2起点(300,0),均以初始航向角60
°
沿直线航行,跟随auv起点(0,0),以初始航向角60
°
做s形运动。仿真图具体如图3至图5所示。
[0195]
根据图3至图5可见,本发明提供的基于改进stackf滤波的协同定位算法,能有效提高从auv的导航定位精度,定位误差减小。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1