一种水下航行器导航方法

文档序号:31708132发布日期:2022-10-01 12:55阅读:64来源:国知局
一种水下航行器导航方法

1.本发明涉及一种水下航行器导航方法,属于水下航行器导航控制技术领域。


背景技术:

2.水下航行器的导航系统必须具有远程、长航时、高精度的导航能力,并且水下航行器只有在上浮的时候才能接受到卫星信号,进而保证水下航行顺利实现。然而目前可用于水下导航的手段仍然比较有限,例如采用长基线导航的声学导航系统,有一定的作用范围,但使用受限,惯导系统/多普勒(inertial navigation system/doppler velocity log,ins/dvl)组合导航是目前实现水下自主导航的主要方式。
3.如图1所示为一种典型的水下组合导航系统,惯导系统ins通过陀螺仪和加速度计解算水下航行器的姿态、位置和速度,多普勒导航系统dvl根据ins解算出的姿态数据进行速度解算,进而通过卡尔曼滤波kalman的方式进行误差补偿,输出最终的导航结果。多普勒导航系统是利用安装在水下航行器上的超声换能器向海底发射超声波,并根据多普勒效应原理测量水下航行器速度。利用多普勒的速度观测信息可以抑制惯性导航系统ins的误差增长,从而实现ins/dvl组合导航。
4.然而,多普勒的速度观测信息存在误差。通常认为,多普勒的测速误差主要由两部分组成:标度因数误差和安装偏差。标度因数误差是指多普勒原理测量出的速度与真实速度之间有一个比例系数的误差。安装偏差指的是多普勒的载体系与惯性导航系统的载体系在安装的时候不能保证完全重合,有一定的安装偏差角。标度因数误差和安装偏差都会导致多普勒输出的速度存在一定误差。为保证导航精度,通常采用离线标定或在线标定的方式来标定出标度因数误差和安装偏差角。
5.在线自标定方式:即在组合导航的过程中,将安装偏差角和标度因数误差作为ins/dvl组合导航中卡尔曼滤波器的状态变量,进行在线估计。这种标定方式通常要求水下航行器在行驶中要有一定的机动性,然而,由于水下航行器机动性小,一定程度上影响了标度因数误差和安装偏差角的在线估计效果,并最终影响了导航精度。
6.离线标定方式:引入额外的速度或位置观测信息作为标定的基准,建立多普勒速度序列与参考基准之间的关系模型,从而实现标定。这种标定方式通常需要卫星导航系统(global navigation satellite system,gnss)或长基线导航系统等提供的额外的位置、速度参考信息,标定成本较高。
7.实际上,多普勒的测速误差受到水下的声速、多普勒安装结构、温度、水下地貌、载体机动等多重因素的影响,误差形式十分复杂,标度因数误差和安装偏差不能反映所有的误差因素。即使标度因数误差和安装偏差角的估计效果较好,也难以保证最终水下导航的精度,水下航行器的导航控制效果较差。


技术实现要素:

8.本发明的目的在于提供一种水下航行器导航方法,用于解决水下航行器通过现有
ins/dvl组合导航系统进行水下导航控制时,难以全面考察影响多普勒测速误差的因素,使得水下航行器的导航控制精度低的问题。
9.为了实现上述目的,本发明的发明内容和有益效果包括:
10.本发明提供了一种水下航行器导航方法,包括如下步骤:
11.s1、通过多普勒导航系统获取水下航行器在第一载体坐标系下的多普勒速度测量值;所述第一载体坐标系为水下航行器在多普勒导航系统下的载体坐标系;
12.s2、将步骤s1得到的多普勒速度测量值输入已训练好的机器学习模型中,输出多普勒速度测量值的校正值;机器学习模型的训练集包括不同时刻下水下航行器在第一载体坐标系下的多普勒速度和对应时刻下水下航行器的真实速度;
13.s3、根据载体系速度测量值对水下航行器进行导航。
14.水下航行器采用ins/dvl组合导航系统进行导航控制时,由于存在多种因素影响多普勒的测速误差,误差形式复杂,本领域的技术人员难以全面考虑这些影响因素,最终导致水下航行器的导航精度较低。本发明在获取到不同时刻下的多普勒速度和载体系速度的基础上,构建训练集,并通过机器学习的方式,训练得到机器学习模型。在水下航行器的实时导航控制过程中,获取到多普勒速度测量值后,利用机器学习模型来获得多普勒速度测量值的校正值,避免了对影响多普勒测速误差的因素进行全面分析的过程,或者说由于训练集的数据来源于不同的水下环境,水下声速、温度和地貌均不同,而且多普勒安装结构和载体机动性等条件也各不相同,所以已经全面地考虑到了影响多普勒测速误差的因素,因此得到的载体系速度测量值更加准确,利用载体系速度测量值进行导航控制的精度更高。
15.进一步地,通过ins/gnss组合导航系统获取水下航行器的速度和姿态,进而根据水下航行器的速度和姿态计算水下航行器在第二载体坐标系的载体系速度。
16.载体系速度无法通过直接观测的手段获取,而是通过ins/gnss组合导航系统输出水下航行器的速度和姿态,进而计算出载体系速度,便于本发明的实施。
17.进一步地,通过如下公式计算载体系速度:
[0018][0019]
式中,vb(k)表示载体系速度矩阵,表示水下航行器在ins/gnss组合导航模式下的速度矩阵,表示水下航行器在ins/gnss组合导航模式下的姿态矩阵,[
·
]
t
表示矩阵的转置,k=1,2,3,


[0020]
通过一组具体的公式说明计算载体系速度的过程,计算简单,便于本发明的实施。
[0021]
进一步地,所述机器学习模型采用bp神经网络,bp神经网络的隐含层包括10个神经元。
[0022]
采用bp神经网络作为机器学习模型,易于获取。bp神经网络的结构包括隐含层,隐含层有10个神经元,结构简单,便于实现。
[0023]
进一步地,采用水下航行器的ins/gnss组合导航系统工作设定时间后的多普勒速度和载体系速度构建训练集。
[0024]
水下航行器的ins/gnss组合导航系统工作设定时间后,能够在一定程度上减小ins/gnss组合导航模式下的系统姿态误差,从而提高训练集数据的准确性,训练出的机器学习模型更加可靠,水下航行器的导航精度更好。
[0025]
进一步地,步骤s3中,通过惯性导航系统输出的水下航行器的姿态将载体系速度测量值转换到导航坐标系得到第一导航系速度,然后与惯性导航系统输出的水下航行器在导航坐标系的第二导航系速度作差,根据差值对水下航行器进行导航控制。
[0026]
得到载体系速度测量值后,便可通过现有技术中导航控制的方法,利用惯性导航系统输出的姿态将载体系速度转换到导航坐标系,然后与惯性导航系统直接输出的导航系速度作差,通过差值来进行导航控制,便于本发明的实施。
[0027]
进一步地,将所述差值输入卡尔曼滤波器,输出误差补偿结果到惯性导航系统,惯性导航系统根据误差补偿结果进行导航控制。
[0028]
通过卡尔曼滤波器进行误差补偿,从而使导航控制的精度更高。
[0029]
进一步地,当水下航行器的航行时间到达设定时间段,或者航行距离达到设定距离,则对所述机器学习模型进行更新。
[0030]
机器学习模型是基于一定时间内水下航行器的历史数据构建训练集进行训练得到的,随着水下航行器的航行时间和航行距离不断增加,机器学习模型的准确性和可靠性可能会下降,因此根据水下航行器的航行时间或航行距离,定期对机器学习模型进行更新,此时即可使机器学习模型更加符合水下航行器所在水下场景的情况,导航精度更高。
附图说明
[0031]
图1为现有技术中典型水下组合导航系统的结构框图;
[0032]
图2为本发明方法实施例中ins/dvl组合导航系统的结构框图;
[0033]
图3为本发明方法实施例中bp神经网络结构示意图。
具体实施方式
[0034]
为了使本发明的目的、技术方案及优点更加清楚明了,以下结合附图及实施例,对本发明进行进一步详细说明。
[0035]
水下航行器导航方法实施例:
[0036]
水下航行器的导航系统通常包括惯性导航系统ins、卫星导航系统gnss和多普勒导航系统dvl。多普勒导航系统dvl采用多普勒测速仪。如图2所示,水下航行器在导航控制时主要采用ins/dvl组合导航系统,ins/dvl组合导航系统执行本发明的水下航行器导航方法,该方法包括如下步骤:
[0037]
1、在水下航行器航行过程中,通过惯性导航系统ins获取水下航行器在导航坐标系中的速度(即第二导航系速度),还通过多普勒导航系统dvl获取d系速度vd。d系指的是水下航行器在多普勒导航系统dvl下的载体坐标系,vd指的是水下航行器在该载体坐标系下的多普勒速度测量值。
[0038]
2、将vd输入预先训练好的机器学习模型中,输出多普勒速度测量值的校正值,即水下航行器的b系速度vb。b系指的是水下航行器在惯性导航系统ins下的载体坐标系,vb指的是水下航行器在该载体坐标系下的载体系速度测量值。
[0039]
3、通过惯性导航系统ins获取的水下航行器的姿态,将b系速度vb转换到导航坐标系,得到第一导航系速度,然后与步骤1中惯性导航系统ins获取的水下航行器在导航坐标系中的速度作差。
[0040]
4、将步骤3得到的差值输入卡尔曼滤波器(kalman filter,kf),从而对惯性导航系统进行误差补偿,然后输出导航结果,根据导航结果对水下航行器进行导航控制。
[0041]
本实施例中,机器学习模型采用bp神经网络,作为其他实施方式,也可采用其他神经网络或机器学习的方法得到机器学习模型。
[0042]
本实施例中,bp神经网络通过如下步骤训练得到:
[0043]
1)惯性导航系统ins、卫星导航系统gnss和多普勒测速仪上电启动,水下航行器在水面航行,以接收gnss信号。
[0044]
2)惯性导航系统ins完成初始对准,水下航行器进入ins/gnss组合导航模式。为降低ins/gnss组合导航模式下系统姿态误差对标定精度的影响,当水下航行器在ins/gnss组合导航模式下工作10分钟后进入标定模式。
[0045]
3)进入标定模式后,在每个ins/gnss组合导航解算周期都可以通过ins/gnss组合导航系统输出水下航行器的速度矩阵和姿态矩阵然后通过如下公式计算得到tk时刻下的载体系速度vb(k):
[0046][0047]
式中,k=1,2,3

n。
[0048]
本实施例中,通过载体系速度vb(k)表示真实速度。真实速度由不同于多普勒导航系统dvl的其他导航系统输出,水下航行器采用真实速度进行导航控制时的精度比采用多普勒速度测量值进行导航控制的精度更高。
[0049]
在标定模式下,同时还通过多普勒测速仪记录tk时刻下的多普勒速度测量值vd(k)。
[0050]
作为其他实施方式,也可通过长基线导航系统等其他导航系统来提供载体系速度。
[0051]
4)将vd(k)作为输入,将vb(k)作为输出,利用步骤3)得到的载体系速度vb(k)和多普勒速度测量值vd(k)构建训练集和测试集,并采用bp神经网络进行训练和测试。如图3所示,bp神经网络包括隐含层和输出层。隐含层包括10个神经元,采用losig激活函数。输出层包括3个神经元,采用purelin函数线性输出。bp神经网络的输入vd(k)为3为特征向量。
[0052]
在训练时,不断更新bp神经网络的权值矩阵w1、w2和偏置b1、b2,并通过损失函数进行评价,直到训练出的bp神经网络达到训练要求,完成bp神经网络的训练和测试。
[0053]
为获取更多的数据来训练和测试bp神经网络,当水下航行器在标定模式下的标定行程达到10公里时,才构建训练集和测试集并进行bp神经网络的训练和测试。
[0054]
此外,随着水下航行器的航行时间和航行距离增加,水下航行器可能行驶在不同水下场景,为保证bp神经网络的准确性和可靠性,通过设定时间或设定距离的方式,控制水下航行器露出水面,重新采集数据构建训练集和测试集,并对bp神经网络重新进行训练和测试。水下航行器采用更新得到的bp神经网络进行导航控制,能够得到更加符合当前水下场景的导航结果,导航控制精度更高。
[0055]
采用本发明之后,无需考虑水下声速、多普勒测速仪安装、温度、水下地貌、载体机动等多种因素对多普勒测速带来的误差,也无需建立相应的误差模型,通过d系速度vd与b系速度vb之间的对应关系来获取更加符合真实环境的速度测量值,可以有效提高水下航行
器的导航精度。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1