一种基于卡尔曼滤波的无人船定位方法

文档序号:36480460发布日期:2023-12-25 10:19阅读:52来源:国知局
一种基于卡尔曼滤波的无人船定位方法

本发明涉及无人船,特别涉及一种基于卡尔曼滤波的无人船定位方法。


背景技术:

1、近年来,水面无人船在保护水环境、探索海洋资源以及营救被困人员等方面发挥了重要作用。这些无人船的应用使得许多水面活动能够实现自主执行。然而,为了确保使用者能够准确获取水面无人船的位置坐标,需要设计一种高精度且具有高鲁棒性的滤波算法。该滤波算法需要能够处理水面环境复杂且受干扰的gps观测数据,以提供可靠的位置估计。

2、人船在水面移动时接收的信号受多种因素干扰:

3、(1)当gps信号在水面上反射、折射或散射时,会产生多路径效应。这种效应会导致接收器接收到来自不同路径的多个信号,从而引入位置误差。

4、(2)水面上存在波浪、涌浪等扰动,这些扰动会导致接收器在短时间内出现位置变化,从而影响定位精度。

5、(3)水面上存在各种遮挡物,如船只、建筑物、山洞等。这些遮挡物可能会阻挡部分或全部gps信号,导致接收器无法接收到足够的卫星信号进行定位。

6、(4)恶劣天气条件(如雨、雾、霾等)会影响gps信号的传播和接收质量,导致定位误差增加。

7、因此通过gps获取的观测信号可能并不准确,需要通过状态估计方法得到更为准确的结果。通过对连续或间断的gps观测数据进行滤波处理,滤波算法要能够准确追踪无人船在时间和空间上的位置变化。卡尔曼滤波作为一种基于贝叶斯滤波的状态估计方法,在目标跟踪领域得到了广泛应用。卡尔曼滤波通过递归地利用过去的观测数据和系统模型进行预测和更新,能够有效地消除观测数据中的噪声影响,提供准确的目标状态估计。它利用状态转移模型和观测模型之间的线性关系,结合先验知识和观测信息,不断修正目标状态的估计值。因此,卡尔曼滤波能够在复杂的环境中对目标进行可靠的跟踪,提高系统的鲁棒性和稳定性。

8、对于卡尔曼滤波,不同的物体可能具有不同的运动方式,因此我们需要针对不同的对象选择适合的运动模型,以确保滤波算法能够准确跟踪物体的位置和速度。此外,设计参数也是一个挑战。参数的选择需要考虑到多个因素,如物体的速度范围、加速度限制、噪声水平等。不同的参数组合可能会导致卡尔曼滤波器的性能差异,因此需要进行仔细的调试和优化。


技术实现思路

1、本发明公开了一种基于卡尔曼滤波的无人船定位方法,具体方法如下:

2、获取无人船运动轨迹真实数据和gps接收数据;

3、采用卡尔曼滤波算法计算当前无人船预测坐标

4、卡尔曼滤波算法计算过程中,上一时刻的状态转移矩阵fk-1由esn神经网络获取,此时的先验误差协方差矩阵pk|k-1由gru神经网络获取。

5、该实施例的优点在于,采用了esn和gru神经网络来学习状态的高斯概率密度函数,预测状态的转变及其协方差,从而取代了卡尔曼滤波算法中的前两步计算公式。这种方法摆脱了滤波过程中运动模型及矩阵参数固定的不足,使得该自适应滤波模型更加适用于无人船的位置估计任务。

6、误差协方差矩阵的初始值、状态转移矩阵和过程噪声协方差矩阵不需要作为超参数进行设置,因为这些参数包含在已经训练好的神经网络内部。此外,通过预测步中的神经网络,摆脱了传统卡尔曼滤波器对于系统的线性要求。可以为无人船提供更具准确性和鲁棒性的状态估计结果。

7、进一步地,获取的无人船运动轨迹时,包括要求无人船在水面平静、波浪、涌浪、具有遮挡物、无遮挡物、晴、雨、雾、霾、风和无风条件下分别按照按以下方式行驶:

8、在直线运动、曲线轨迹运动和圆弧轨迹运动时,分别进行均速、减速和加速;

9、其中,无人船运动轨迹真实数据采用光学运动捕捉系统获取。

10、进一步地,卡尔曼滤波算法计算当前无人船预测坐标具体方法如下:

11、获取上一时刻无人船坐标预测坐标上一时刻的状态转移矩阵fk-1、当前无人船gps接收数据zk、当前先验误差协方差矩阵pk|k-1、观测矩阵hk和观测噪声向量vk的协方差矩阵rk;

12、计算当前时刻卡尔曼增益kk;

13、计算当前时刻无人船坐标预测坐标和当前误差协方差矩阵pk|k。

14、进一步地,卡尔曼滤波算法具体计算公式如下:

15、

16、

17、pk|k=(i-kkhk)pk|k-1

18、式中,(·)t为矩阵的转置,i为单位矩阵,qk为过程噪声向量的协方差矩阵。

19、进一步地,上一时刻的状态转移矩阵fk-1由esn神经网络获取,具体方法如下:

20、在esn中,状态转移矩阵称为权重矩阵;

21、构建esn神经网络的输入层、动态储层和输出层;

22、以无人船运动轨迹真实数据训练esn神经网络,esn神经网络公式为:

23、s(k)=f(winu(k)+ws(k-1)+wbacky(k-1))

24、y(k)=fout(wout(u(k),x(k)))

25、其中,输入单元的数量为j,dr中神经元的数量为n;并且输出层单元的数量大小等于l,在第k个步骤,输入为u(k)=[u1(k),u2(k),...,uj(k)]t,dr中的状态为s(k)=[s1(k),s2(k),...,sn(k)]t,输出为y(k)=[y1(k),y2(k),...,yl(k)]t;win为描述输入中元素与dr之间关系的输入权重连接矩阵,w是dr中神经元的权重矩阵,wback是从输出层到dr的反馈权重矩阵,wout表示输出权重,f是内部单元的激活函数选用sigmoid函数,fout是输出单元的激活函数。

26、进一步地,先验误差协方差矩阵pk|k-1由gru神经网络获取,具体方法如下:

27、对先前获得的gps观测数据使用卡尔曼滤波器进行滤波,将滤波结果与无人船的真实状态进行比较,调节卡尔曼滤波器选用的无人船运动模型和模型参数,直到估计结果与无人船的真实状态相差达到预期,记录此次滤波过程中每轮先验状态和误差协方差矩阵作为样本数据;其中先验状态为gru神经网络的输入,误差协方差矩阵的先验估计作为gru神经网络的输出;

28、构建gru神经网络gru层、线性层和输出层;

29、gru神经网络的公式为:

30、gt=σ(wz×[ht-1,xt])

31、rt=σ(wr×[ht-1,xt])

32、

33、

34、其中,xt表示t时刻的网络输入,和ht分别表示在t时刻的临时输出和隐藏层输出,rt和gt分别表示更新门和复位门在t时刻的输出;

35、对网络的输出即误差协方差矩阵的先验估计使用cholesky分解降低特征维度,可将误差协方差矩阵表示为:

36、

37、

38、该实施例的优点在于,针对无人船位置估计滤波过程中误差协方差矩阵参数过多的问题,利用cholesky分解将该矩阵表示成一个下三角矩阵和其转置的乘积,从而减轻了神经网络的预测压力。这种方法可以避免参数数量随着状态维度增加而急剧增加的情况,提高了自适应滤波模型的预测精度和稳定性。

39、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书和权利要求书来实现和获得。

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