2. 中国船舶集团有限公司,上海 200011
2. China State Shipbuilding Co. Ltd., Shanghai 200011, China
在UUV进行水下作业时,需要时刻解算出自身的导航参数,高精度导航是UUV进行水下高可靠性复杂任务的前提[1]。然而单一的传感器不能满足导航定位的精度需求,比如捷联惯性导航系统(Strapdown Inertial Navigation System, SINS)不受外界环境的影响,自主性强,能够提供较为全面的导航参数[2],但其存在一定的漂移误差,且这些误差会随着时间积累,因而需要同其他传感器组合导航进行误差的修正[3],从而获得更加准确和可靠的导航参数信息。
典型UUV组合导航系统采用多普勒测速仪(Doppler Velocity Logs, DVL)对速度信息进行修正,为了进一步保证导航的精度,还需对位置信息进行修正,针对这一问题,学者对于智能浮标辅助定位系统,进行了广泛研究。智能浮标辅助定位系统通常由一个浮标或多个浮标构成,多浮标定位系统通过距离交汇进行定位[4]。相较于多浮标定位系统,单浮标辅助定位系统(Single-buoy-assisted Positioning System, Buoy)硬件复杂度低,Webster等[5]利用单个移动的浮标,并使用同步时钟保证声学数据可单向传输测距,采用广播的形式保证了多个航行器同时接收声波信号,并通过真实的水下实验验证了设计的有效性。单浮标定位系统布局简单、灵活性高、便于操作,可以对UUV集群进行位置修正。由于海洋环境复杂,波浪和海风都会影响单浮标的位置和姿态,因而本文采用固定式单浮标,以期减少因浮标水面姿态和位置变化造成的定位误差。
在组合导航研究中,许多学者致力于融合算法,这些算法通常假设多个传感器的数据能够同步到达信息融合的处理中心。然而在实际工程应用中,存在时间不同步或量测滞后的情况。针对量测滞后问题,冷雪飞等[6]利用数组记录滞后时间段内所有的INS状态信息,当存在量测信息时,利用所记录的状态信息和量测信息进行卡尔曼滤波处理,获得过去时刻对应的状态估计和均方误差阵,再利用状态转移矩阵进行时间的更新,推导出当前时刻的状态信息,对INS状态量进行修正。Pere等[7]设定AUV和USBL的时钟同步,设计了一个有界的环形缓冲器来存储当前和过去时刻航行器的导航参数信息,来对所接收到的USBL位置信息进行查询投影,在对应的时刻进行量测更新,生成延迟的位置修正,所得到的修正信息前向传播到当前位置,进行量测滞后的补偿。杨波等[8]对卫星导航输出信息进行曲线拟合,推导出当前卫星导航系统的输出值,有效解决了卫星导航输出系统的滞后问题,但是此方法仅适用于短时间延迟的补偿,对于较长时间间隔的延迟,曲线拟合便不能有效的补偿量测滞后。茹江涛等[9]利用INS的导航信息将其他传感器的量测信息推导到当前时刻,利用所推导的信息进行量测更新,对INS进行修正,解决了在INS/SAR组合导航中,图像匹配信息滞后的问题。
针对传统水声定位系统在多成员UUV集群定位时,存在半双工以及更新频率低等问题,本文基于单浮标辅助定位系统实现UUV集群同步位置修正,实现高频率的水下定位,该辅助定位系统的优势在于:1)UUV成员只安装有水听器阵列,降低了UUV能耗,提升了集群作业的续航能力;2)采用单向无源定位的方式,UUV集群只需接收浮标声脉冲信号便可完成对自身位置的修正,保证了集群的隐蔽性;3)集群各成员可对自身位置进行同步定位,避免了集群各成员定位时声波之间的相互干扰,提升了集群的可拓展性,为大规模集群水下定位提供了一种新的解决方案。
1 SINS/DVL/Buoy组合导航模型本文定义以下几个坐标系:
![]() |
图 1 坐标系示意图 Fig. 1 Coordinate system schematic |
在组合导航中,选取SINS解算的姿态误差、速度误差、位置误差、陀螺仪零偏和加速度计零偏作为状态量,则SINS误差状态方程为:
$ {{\boldsymbol{\dot x}}_\mathrm{SINS}} = {{\boldsymbol{F}}_\mathrm{SINS}}{{\boldsymbol{x}}_\mathrm{SINS}} + {{\boldsymbol{G}}_\mathrm{SINS}}{{\boldsymbol{W}}_\mathrm{SINS}} 。$ | (1) |
其中:
SINS误差模型状态转移矩阵[10]为:
$ F_{\mathrm{SINS}}=\left[\begin{array}{*{20}{c}}\boldsymbol{M}_{aa} & \boldsymbol{M}_{av} & \boldsymbol{M}_{ap} & -\boldsymbol{C}_b^n & \boldsymbol{0}_{3\times3} \\ \boldsymbol{M}_{va} & \boldsymbol{M}_{vv} & \boldsymbol{M}_{vp} & \boldsymbol{0}_{3\times3} & \boldsymbol{C}_b^n \\ \boldsymbol{0}_{3\times3} & \boldsymbol{M}_{pv} & \boldsymbol{M}_{pp} & \boldsymbol{0}_{3\times3} & \boldsymbol{0}_{3\times3} \\ & & \boldsymbol{0}_{6\times15} & & \end{array}\right]。$ | (2) |
在进行组合导航仿真过程中,为了更直观表示状态转移矩阵,本文忽略了陀螺仪和加速度计的比例因子误差和交差耦合误差,选用零偏误差和测量噪声进行陀螺仪和加速度计的建模。其中零偏误差选用随机常数进行建模,测量噪声选用高斯白噪声进行建模,即:
$\left\{\begin{split} \boldsymbol{W}_{\mathrm{SINS}}= \left[\begin{array}{*{20}{c}}\boldsymbol{w}_g^b & \boldsymbol{w}_a^b\end{array}\right]^{\rm{T}},\qquad\quad\\{{\boldsymbol{G}}_\mathrm{SINS}} = \left[ {\begin{array}{*{20}{c}} { - {\boldsymbol{C}}_b^n}& {{{\boldsymbol{0}}_{3 \times 3}}} \\ {{{\boldsymbol{0}}_{3 \times 3}}}& {{\boldsymbol{C}}_b^n} \\ {{{\boldsymbol{0}}_{3 \times 3}}}&{{{\boldsymbol{0}}_{3 \times 3}}} \\ {{{\boldsymbol{0}}_{3 \times 3}}}&{{{\boldsymbol{0}}_{3 \times 3}}} \\ {{{\boldsymbol{0}}_{3 \times 3}}}&{{{\boldsymbol{0}}_{3 \times 3}}} \end{array}} \right]。\qquad\end{split}\right.$ | (3) |
设DVL自身测量坐标系为
$ {{\boldsymbol{\dot x}}_\mathrm{DVL}} = {{\boldsymbol{F}}_\mathrm{DVL}}{{\boldsymbol{x}}_\mathrm{DVL}} + {{\boldsymbol{G}}_\mathrm{DVL}}{{\boldsymbol{W}}_\mathrm{DVL}} 。$ | (4) |
式中:
选取SINS实时解算速度
$ \begin{aligned} {\boldsymbol{z}} = &\left[ {{\tilde{ \boldsymbol v}}_\mathrm{SINS}^n - {\tilde{ \boldsymbol v}}_\mathrm{DVL}^n} \right] = \left[ {{{\boldsymbol{v}}^n} + \delta {\boldsymbol{v}}_\mathrm{SINS}^n - {{\boldsymbol{v}}^n} - \delta {\boldsymbol{v}}_\mathrm{DVL}^n} \right] = \\ &\left[ {\delta {\boldsymbol{v}}_\mathrm{SINS}^n - \delta {\boldsymbol{v}}_\mathrm{DVL}^n} \right] 。\end{aligned}$ | (5) |
其中
$ \delta {\boldsymbol{v}}_\mathrm{DVL}^n = \left( {{\boldsymbol{v}}_\mathrm{DVL}^n \times } \right){\boldsymbol{\varphi }} + {\boldsymbol{C}}_b^n\left( {{\boldsymbol{v}}_\mathrm{DVL}^b \times } \right){{\boldsymbol{\eta }}_{\boldsymbol{d}}} + \delta {k_d}{\boldsymbol{v}}_\mathrm{DVL}^n 。$ | (6) |
代入式(5)可以求得:
$ {\boldsymbol{z}} = \left[ {{\tilde{ \boldsymbol v}}_\mathrm{SINS}^n - {\tilde{ \boldsymbol v}}_\mathrm{DVL}^n} \right] = {{\boldsymbol{H}}_\mathrm{SINS/DVL}}{{\boldsymbol{x}}_\mathrm{SINS/DVL}} + {{\boldsymbol{V}}_\mathrm{SINS/DVL}} 。$ | (7) |
$ {{{\boldsymbol{H}}_\mathrm{SINS/DVL}} = {\left[ {\begin{array}{*{20}{c}} { - \left( {{\boldsymbol{v}}_\mathrm{DVL}^n \times } \right)}& {{{\boldsymbol{I}}_{3 \times 3}}}& {{{\boldsymbol{0}}_{3 \times 9}}}& { - {\boldsymbol{C}}_b^n\left( {{\boldsymbol{v}}_\mathrm{DVL}^b \times } \right)} & { - {\boldsymbol{v}}_\mathrm{DVL}^n} \end{array}} \right]_{3 \times 19}}}。$ | (8) |
在UUV集群中,为了实现更高的导航定位精度,需对其位置误差进行修正。本文提出的单浮标辅助定位系统,安装有声学接收阵的UUV集群个体无需发射声信号,只接收来自单浮标发射的特定频率脉冲信号,即可解算自身的位置信息。UUV集群位置修正过程如图2所示。
![]() |
图 2 单浮标辅助UUV集群定位示意图 Fig. 2 Schematic diagram of single buoy-assisted UUV swarm localization |
1)初始化
设固定于水面的浮标绝对位置为
2)UUV集群同步定位
完成时钟同步后,浮标周期性(如5 s)向水下广播特定频率声脉冲。若UUV位于该声脉冲有效传播范围内,则声学接收阵各单元均可以接收到此脉冲。
3)UUV集群位置信息解算
位置解算过程如下:①UUV与浮标时间同步,可根据到达水听器阵列的时间差计算与浮标的距离;②根据水听器阵列接收到声脉冲的相位差,可以计算出浮标相对于UUV的方位角;③根据存储的浮标位置可推算UUV的绝对位置。
UUV水听器阵列根据接收的声脉冲信号进行定位的原理如图3所示。
![]() |
图 3 定位原理 Fig. 3 The principle of positioning localization |
进行单浮标辅助定位时,设固定浮标到1号水听器的距离为
$ r_{UB}^u=\left[\begin{array}{*{20}{c}}x_B & y_B & z_B\end{array}\right]^{\mathrm{T}} $ | (9) |
式中:
$ {{x_B} = R\cos \alpha } ;{{y_B} = R\cos \beta } ;{{z_B} = - \sqrt {{R^2} - x_B^2 - y_B^2} } ;$ |
所测得的脉冲声信号到达1号水听器和2号水听器的相位差为
$ \left\{ {\begin{aligned} &{{d_{12}}\cos \alpha = \frac{{{\phi _{12}}}}{{2{\text{π}} }}\lambda },\\ & {{d_{13}}\cos \beta = \frac{{{\phi _{13}}}}{{2{\text{π}} }}\lambda }。\end{aligned}} \right. $ | (10) |
则可求得
$ \left\{ {\begin{aligned} &{\cos \alpha = \frac{\lambda }{{2{\text{π}} {d_{12}}}}{\phi _{12}} = {k_{12}}{\phi _{12}}},\\ &{\cos \beta = \frac{\lambda }{{2{\text{π}} {d_{13}}}}{\phi _{13}} = {k_{13}}{\phi _{13}}} 。\end{aligned}} \right. $ | (11) |
为了简化后续公式,使用
综上可得:
$ \left\{ {\begin{aligned} &{{x_B} = c\tau {k_{12}}{\phi _{12}}} ,\\ &{{y_B} = c\tau {k_{13}}{\phi _{13}}} ,\\ &{{z_B} = - c\tau \sqrt {1 - \left( {k_{12}^2\phi _{12}^2 + k_{13}^2\phi _{13}^2} \right)} } 。\end{aligned}} \right. $ | (12) |
式中:
单浮标辅助定位系统的误差模型基于安装角误差和输出测量误差建立。如图4所示,安装在UUV上的水声接收器测量坐标系为
![]() |
图 4 单浮标辅助定位系统误差模型推导示意图 Fig. 4 Schematic diagram for derivation of error model in single buoy-assisted positioning system |
$ {\boldsymbol{r}}_{OU}^n = {\boldsymbol{r}}_{OB}^n - {\boldsymbol{C}}_b^n\left( {{\boldsymbol{C}}_u^b{\boldsymbol{r}}_{UB}^u + {{\boldsymbol{r}}^b}} \right)。$ | (13) |
考虑到安装角误差为
$ {\tilde{ \boldsymbol r}}_{OU}^n = {\boldsymbol{r}}_{OB}^n - {\boldsymbol{C}}_b^{\hat n}\left( {{\tilde{ \boldsymbol C}}_u^b{\tilde{ \boldsymbol r}}_{UB}^u + {{\boldsymbol{r}}^b}} \right) + {{\boldsymbol{w}}_\mathrm{Buoy}}。$ | (14) |
将以上误差方程代入可得:
$\begin{aligned} {\tilde{ \boldsymbol r}}_{OU}^n &= {\boldsymbol{r}}_{OB}^n - {\boldsymbol{C}}_b^{\hat n}{\tilde{ \boldsymbol C}}_u^b{\tilde{ \boldsymbol r}}_{UB}^u = {\boldsymbol{r}}_{OB}^n - (I - {\boldsymbol{\varphi }} \times )\times \\ &{\boldsymbol{C}}_b^n\left[ {({\boldsymbol{I}} - {{\boldsymbol{\eta }}_{\boldsymbol{u}}} \times ){\boldsymbol{C}}_u^b({\boldsymbol{r}}_{UB}^u + \delta {\boldsymbol{r}}_{UB}^u) + {{\boldsymbol{r}}^b}} \right] + {{\boldsymbol{w}}_\mathrm{Buoy}}。\end{aligned}$ | (15) |
忽略二阶小量,则原式可以展开成:
$ \begin{split} {\tilde{ \boldsymbol r}}_{OU}^n = &{\boldsymbol{r}}_{OB}^n - {\boldsymbol{C}}_b^n{\boldsymbol{C}}_u^b{\boldsymbol{r}}_{UB}^u + \left( {{\boldsymbol{\varphi }} \times } \right){\boldsymbol{C}}_b^n{\boldsymbol{C}}_u^b{\boldsymbol{r}}_{UB}^u + {\boldsymbol{C}}_b^n({{\boldsymbol{\eta }}_{\boldsymbol{u}}} \times ){\boldsymbol{C}}_u^b{\boldsymbol{r}}_{UB}^u -\\ &{\boldsymbol{C}}_b^n{\boldsymbol{C}}_u^b\delta {\boldsymbol{r}}_{UB}^u - {\boldsymbol{C}}_b^n{{\boldsymbol{r}}^b} + \left( {{\boldsymbol{\varphi }} \times } \right){\boldsymbol{C}}_b^n{{\boldsymbol{r}}^b} + {{\boldsymbol{w}}_\mathrm{Buoy}}= \\ & {\boldsymbol{r}}_{OB}^n - {\boldsymbol{C}}_b^n{\boldsymbol{C}}_u^b{\boldsymbol{r}}_{UB}^u - {\boldsymbol{C}}_b^n{{\boldsymbol{r}}^b} + \left( {{\boldsymbol{\varphi }} \times } \right){\boldsymbol{r}}_{UB}^n + {\boldsymbol{C}}_b^n({{\boldsymbol{\eta }}_{\boldsymbol{u}}} \times ){\boldsymbol{r}}_{UB}^b - \\ &{\boldsymbol{C}}_b^n{\boldsymbol{C}}_u^b\delta {\boldsymbol{r}}_{UB}^u + \left( {{\boldsymbol{\varphi }} \times } \right){\boldsymbol{C}}_b^n{{\boldsymbol{r}}^b} + {{\boldsymbol{w}}_\mathrm{Buoy}} 。\\[-1pt] \end{split} $ | (16) |
则浮标定位误差模型为:
$ \begin{split} \delta {\boldsymbol{r}}_{OU}^n =& {\tilde{ \boldsymbol r}}_{OU}^n - {\boldsymbol{r}}_{OU}^n = - \left( {{\boldsymbol{r}}_{UB}^n \times } \right){\boldsymbol{\varphi }} - {\boldsymbol{C}}_b^n({\boldsymbol{r}}_{UB}^b \times ){{\boldsymbol{\eta }}_{\boldsymbol{u}}} - \\ &{\boldsymbol{C}}_b^n{\boldsymbol{C}}_u^b\delta {\boldsymbol{r}}_{UB}^u - \left( {{{\boldsymbol{r}}^n} \times } \right){\boldsymbol{\varphi }} + {{\boldsymbol{w}}_\mathrm{Buoy}} 。\end{split}$ | (17) |
设水下浮标的误差状态量为
$ {{\boldsymbol{\dot x}}_\mathrm{Buoy}} = {{\boldsymbol{F}}_\mathrm{Buoy}}{{\boldsymbol{x}}_\mathrm{Buoy}} + {{\boldsymbol{G}}_\mathrm{Buoy}}{{\boldsymbol{W}}_\mathrm{Buoy}}。$ | (18) |
式中:
选取SINS实时解算UUV的位置信息在导航坐标系下的投影
$ \begin{split}{\boldsymbol{z}} =& \left[ {{\tilde{ \boldsymbol p}}_\mathrm{SINS}^n - {\tilde{ \boldsymbol p}}_\mathrm{Buoy}^n} \right] = \left[ {{{\boldsymbol{r}}^n} + \delta {\boldsymbol{r}}_\mathrm{SINS}^n - {\boldsymbol{r}}_{OU}^n - \delta {\boldsymbol{r}}_{OU}^n} \right] =\\ &\left[ {\delta {\boldsymbol{r}}_\mathrm{SINS}^n - \delta {\boldsymbol{r}}_{OU}^n} \right] 。\end{split}$ | (19) |
已知
$ {\begin{split}&{{\boldsymbol{H}}_\mathrm{SINS/Buoy}} = \\ &{\left[ {\begin{array}{*{20}{c}} {\left( {{\boldsymbol{r}}_{UB}^n \times } \right) + \left( {{{\boldsymbol{r}}^n} \times } \right)}& {{{\boldsymbol{0}}_{3 \times 3}}}& {{{\boldsymbol{I}}_{3 \times 3}}}& {{{\boldsymbol{0}}_{3 \times 3}}}& {{{\boldsymbol{0}}_{3 \times 3}}} & {{\boldsymbol{C}}_b^n({\boldsymbol{r}}_{UB}^b \times )}& {{\boldsymbol{C}}_b^n{\boldsymbol{C}}_u^b} \end{array}} \right]_{3 \times 21}}。\\[-1pt]\end{split}} $ | (20) |
在多传感器时间完全同步的理想状态下,SINS/Buoy/DVL组合导航的集中式滤波算法模型的状态方程为:
$ {{\boldsymbol{\dot x}}_{S/B/D}} = {{\boldsymbol{F}}_{S/B/D}}{{\boldsymbol{x}}_{S/B/D}} + {{\boldsymbol{G}}_{S/B/D}}{{\boldsymbol{W}}_{S/B/D}}。$ | (21) |
其中,状态变量为:
$ {{\boldsymbol{x}}_{S/B/D}} = \left[ {\begin{array}{*{20}{c}} {{{({{\boldsymbol{x}}_\mathrm{SINS}})}^{\text{T}}}}&{{{({{\boldsymbol{x}}_\mathrm{Buoy}})}^{\text{T}}}}&{{{({{\boldsymbol{x}}_\mathrm{DVL}})}^{\text{T}}}} \end{array}} \right]_{25 \times 1}^{\text{T}} 。$ | (22) |
展开为:
$ {{{\boldsymbol{x}}_{S/B/D}} = \left[ {\begin{array}{*{20}{c}} {{{({\boldsymbol{\varphi }})}^{\text{T}}}} & {{{({\boldsymbol{\delta }}{{\boldsymbol{v}}^n})}^{\text{T}}}} & {{{({\boldsymbol{\delta p}})}^{\text{T}}}} & {{{({{\boldsymbol{b}}_{\boldsymbol{g}}})}^{\text{T}}}} & {{{({{\boldsymbol{b}}_{\boldsymbol{a}}})}^{\text{T}}}} & {{{({{\boldsymbol{\eta }}_{\boldsymbol{u}}})}^{\text{T}}}} & {{{(\delta {\boldsymbol{r}}_{UB}^u)}^{\text{T}}}} & {{{({{\boldsymbol{\eta }}_{\boldsymbol{d}}})}^{\text{T}}}} & {\delta k} \end{array}} \right]_{25 \times 1}^{\text{T}}} 。$ | (23) |
状态转移矩阵
$ {{\boldsymbol{F}}_{S/B/D}} = {\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{F}}_\mathrm{SINS}}}&{{{\boldsymbol{0}}_{15 \times 6}}}&{{{\boldsymbol{0}}_{15 \times 4}}} \\ {{{\boldsymbol{0}}_{6 \times 15}}}&{{{\boldsymbol{F}}_\mathrm{Buoy}}}&{{{\boldsymbol{0}}_{6 \times 4}}} \\ {{{\boldsymbol{0}}_{4 \times 15}}}&{{{\boldsymbol{0}}_{6 \times 4}}}&{{{\boldsymbol{F}}_\mathrm{DVL}}} \end{array}} \right]_{25 \times 25}}。$ | (24) |
量测方程为:
$ \begin{split}{{\boldsymbol{z}}_{S/B/D}} =& {\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{z}}_{S/B}}} \\ {{{\boldsymbol{z}}_{S/D}}} \end{array}} \right]_{6 \times 1}} = \left[ {\begin{array}{*{20}{c}} {{\tilde{ \boldsymbol p}}_\mathrm{SINS}^n - {\tilde{ \boldsymbol r}}_{OU}^n} \\ {{\tilde{ \boldsymbol v}}_\mathrm{SINS}^n - {\tilde{ \boldsymbol v}}_\mathrm{DVL}^n} \end{array}} \right] =\\ &{{\boldsymbol{H}}_{S/B/D}}{{\boldsymbol{x}}_{S/B/D}} + {{\boldsymbol{V}}_{S/B/D}}。\end{split} $ | (25) |
量测矩阵
$ {\begin{split}&{{\boldsymbol{H}}_{S/B/D}} = \\ &{\left[ {\begin{array}{*{20}{c}} {\left( {{\boldsymbol{r}}_{UB}^n \times } \right) + \left( {{{\boldsymbol{r}}^n} \times } \right)}& {{{\boldsymbol{0}}_{3 \times 3}}}& {{{\boldsymbol{I}}_{3 \times 3}}}& {{{\boldsymbol{0}}_{3 \times 3}}}& {{{\boldsymbol{0}}_{3 \times 3}}}& {{\boldsymbol{C}}_b^n({\boldsymbol{r}}_{UB}^b \times )}& {{\boldsymbol{C}}_b^n{\boldsymbol{C}}_d^b}& {{{\boldsymbol{0}}_{3 \times 3}}}& {{{\boldsymbol{0}}_{3 \times 1}}} \\ { - \left( {{\boldsymbol{v}}_\mathrm{DVL}^n \times } \right)}& {{{\boldsymbol{I}}_{3 \times 3}}}&{{{\boldsymbol{0}}_{3 \times 3}}} & {{{\boldsymbol{0}}_{3 \times 3}}}&{{{\boldsymbol{0}}_{3 \times 3}}} & {{{\boldsymbol{0}}_{3 \times 3}}}&{{{\boldsymbol{0}}_{3 \times 3}}} & { - {\boldsymbol{C}}_b^n\left( {{\boldsymbol{v}}_\mathrm{DVL}^b \times } \right)}& { - {\boldsymbol{v}}_{DVL}^n} \end{array}} \right]_{6 \times 25}}\end{split}}。$ | (26) |
对式子进行离散化,可以得到理想状态下SINS/Buoy/DVL组合导航的集中式Kalman滤波算法模型为:
$ \left\{ {\begin{aligned} & {{{\boldsymbol{x}}_k} = {{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{x}}_{k - 1}} + {{\boldsymbol{G}}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}}},\\ &{{z_k} = {{\boldsymbol{H}}_k}{{\boldsymbol{x}}_k} + {{\boldsymbol{v}}_k}} 。\end{aligned}} \right. $ | (27) |
在使用单浮标对UUV进行导航修正过程中,其采样周期间隔会随着航行器和浮标之间距离变化而变化,存在量测周期非均匀现象。除此之外,尽管声信号单向传播定位的方式可以有效避免声波双向传递造成的量测时延,但是为了保证三维定位的精度,在工程上常使用压力传感器对单浮标定位系统的深度信息进行修正,在解算和融合定位信息的过程中,仍存在一定的设备信号处理及信息传输延迟,此过程导致了输出的位置信息滞后于量测时刻,存在量测滞后现象,需设计相应的算法对其进行量测滞后的补偿。
如图5所示,浮标预设好的发射声波的时间节点为
![]() |
图 5 考虑随机时延的数据采样及融合过程 Fig. 5 Data sampling and fusion process considering random delays |
$ t_{BD-\mathrm{Buoy}}=t_n+\Delta t_1+t_{\mathrm{delay}1},t_{n+5}+\Delta t_2+t_{\mathrm{delay}2}......。$ | (28) |
由于SINS更新频率最高,选择其作为滤波器更新的参照时间基准,SINS的更新时刻即为导航参数的输出时刻,为了更加直观表示,将UUV水听器阵列和导航处理中心接收时间也映射在滤波器的基准时间戳上,则UUV听器阵列接收信号时刻
首先需要对采样周期不均匀和时间不同步问题进行处理,在每个SINS更新周期内,寻找Buoy的更新时间节点,如果在某一更新周期内没有Buoy的量测数值,则仅进行SINS更新,即时间的更新;若在SINS的某个更新周期内,获取到Buoy位置量测值,且距离SINS周期末时间为
$ {\tilde{ \boldsymbol r}}_{OU}^n{|_{{t_{k - i}}}} = {\tilde{ \boldsymbol r}}_{OU}^n{|_{{t_a}}} + {{\boldsymbol{v}}_\mathrm{equ}}\left( {{t_{k - i}} - {t_a}} \right)。$ | (29) |
针对量测滞后问题,由上文分析可得延迟时间为
![]() |
图 6 时间同步和量测滞后补偿 Fig. 6 Time synchronization and measurement lag compensation |
经过时间的同步,获得
$ {z_{k - i}} = {H_{k - i}}{x_{k - i}} + {v_{k - i}} 。$ | (30) |
需获得
$ \begin{split} {{\boldsymbol{x}}_k} = &{{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{x}}_{k - 1}} + {{\boldsymbol{\varGamma }}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}} = \\ &{{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{\varPhi }}_{k - 1/k - 2}}{{\boldsymbol{x}}_{k - 2}} + {{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{\varGamma }}_{k - 2}}{{\boldsymbol{w}}_{k{\text{ - }}2}} + {{\boldsymbol{\varGamma }}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}} = \\ &{{\boldsymbol{\varPhi }}_{k/k - 1}}...{{\boldsymbol{\varPhi }}_{k - i + 1/k - i}}{{\boldsymbol{x}}_{k - i}} + ... + {{\boldsymbol{\varGamma }}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}}= \\ & ... =\\ &{{\boldsymbol{\varPhi }}_{k/k - i}}{{\boldsymbol{x}}_{k - i}} + {{\boldsymbol{\varPhi }}_{k/k - i + 1}}{{\boldsymbol{\varGamma }}_{k - i}}{{\boldsymbol{w}}_{k{\text{ - }}i}} + ... + \\ &{{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{\varGamma }}_{k - 2}}{{\boldsymbol{w}}_{k{\text{ - }}2}} + {{\boldsymbol{\varGamma }}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}}。\\[-1pt] \end{split} $ | (31) |
其中:
$ {{\boldsymbol{\varPhi }}_{k/k - i}} = {{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{\varPhi }}_{k - 1/k - 2}}...{{\boldsymbol{\varPhi }}_{k - i + 1/k - i}} = \prod\limits_{j = 0}^{i - 1} {{{\boldsymbol{\varPhi }}_{k - j/k - j - 1}}} 。$ | (32) |
则将变换后可得:
$\begin{split} & {x_{k - i}} = {\boldsymbol{\varPhi }}_{k/k - i}^{ - 1}{{\boldsymbol{x}}_k} - {\boldsymbol{\varPhi }}_{k/k - i}^{ - 1} \times \\ &({{\boldsymbol{\varPhi }}_{k/k - i + 1}}{{\boldsymbol{\varGamma }}_{k - i}}{{\boldsymbol{w}}_{k{\text{ - }}i}} + ... + {{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{\varGamma }}_{k - 2}}{{\boldsymbol{w}}_{k{\text{ - }}2}} + {{\boldsymbol{\varGamma }}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}})。\\ \end{split}$ | (33) |
则将其代入量测方程中,可得:
$ {\begin{split} &{z_{k - i}} = {H_{k - i}}{\boldsymbol{\varPhi }}_{k/k - i}^{ - 1}{{\boldsymbol{x}}_k} - {H_{k - i}}{\boldsymbol{\varPhi }}_{k/k - i}^{ - 1}\\ &({{\boldsymbol{\varPhi }}_{k/k - i + 1}}{{\boldsymbol{\varGamma }}_{k - i}}{{\boldsymbol{w}}_{k{\text{ - }}i}} + ... + {{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{\varGamma }}_{k - 2}}{{\boldsymbol{w}}_{k{\text{ - }}2}} + {{\boldsymbol{\varGamma }}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}}) + {v_{k - i}}= \\ & {H_{k - i}}{\boldsymbol{\varPhi }}_{k/k - i}^{ - 1}{{\boldsymbol{x}}_k} + {{\bar v}_{k - i}} 。\\[-15pt] \end{split} }$ | (34) |
经过时间同步和量测滞后补偿,基于时延的卡尔曼滤波模型为:
$ \left\{\begin{array}{*{20}{l}} {{{\boldsymbol{x}}_k} = {{\boldsymbol{\varPhi }}_{k/k - 1}}{{\boldsymbol{x}}_{k - 1}} + {{\boldsymbol{\varGamma }}_{k - 1}}{{\boldsymbol{w}}_{k{\text{ - }}1}}} ,\\ {{z_{k - i}} = {H_{k - i}}{\boldsymbol{\varPhi }}_{k/k - i}^{ - 1}{{\boldsymbol{x}}_k} + {{\bar v}_{k - i}}} 。\end{array} \right.$ | (35) |
对于单浮标辅助定位系统的随机时延,先进行时间同步,再进行基于时延的量测方程重构,可根据延时的量测信息实时对当前时刻进行估计,则基于时延的卡尔曼滤波模型的状态更新和量测更新步骤类似于式(31),使用
为了验证导航定位算法准确性,对其仿真模拟。设定仿真验证总时间为912.5 s,运动轨迹包括了UUV加速、下潜、匀速直线和左右转运动。设定3个方向的初始姿态角为
对理想条件下纯惯导仿真(图示中表示成SINS)、惯导和DVL组合导航(图示中表示为SINS/DVL)、惯导、多普勒测速仪和单浮标辅助定位组合导航(图示中表示为SINS/DVL/Buoy)进行对比验证,以验证所设计单浮标辅助定位和组合导航算法的有效性。图7和图8分别为预设轨迹、SINS、SINS/DVL、SINS/DVL/Buoy三维轨迹仿真对比图和北东导航坐标系下轨迹仿真对比,图9和图10分别为导航坐标系下北向和东向速度误差对比和位置对比。
![]() |
图 7 三维轨迹仿真对比示意图 Fig. 7 Schematic comparison of three-dimensional trajectory simulations |
![]() |
图 8 二维轨迹仿真对比示意图 Fig. 8 Schematic comparison of two-dimensional trajectory simulations |
![]() |
图 9 速度误差对比图 Fig. 9 Comparison of speed errors |
![]() |
图 10 位置误差对比图 Fig. 10 Comparison of positional errors |
可知,相较于SINS仿真输出和SINS/DVL组合导航,单浮标辅助定位系统的引入,可以有效的减低了速度和位置误差,验证了本系统和所涉及集中式卡尔曼滤波模型的有效性。
3.2 异步信息融合卡尔曼滤波器验证为了验证在时间异步情况和存在量测滞后的情况下,所设计补偿算法的准确性,初始导航参数同上,其中DVL初始采样时刻比SINS滞后0.01 s,Buoy存在1.2 s的固定信号处理时延和0.5×rand(1)的随机时延,分别对时间对齐的理想情况、时间异步未补偿、时间异步位移等效补偿、本文所提出的考虑时间异步和量测滞后的补偿算法进行对比仿真,其中图11和图12为三维轨迹仿真对比图示和北东导航坐标系下轨迹仿真对比,图13和图14分别为导航坐标系下北向和东向速度误差对比和位置对比。
![]() |
图 11 三维轨迹仿真对比示意图 Fig. 11 Schematic comparison of three-dimensional trajectory simulations |
![]() |
图 12 二维轨迹仿真对比示意图 Fig. 12 Schematic comparison of two-dimensional trajectory simulations |
![]() |
图 13 速度误差对比图 Fig. 13 Comparison of speed errors |
![]() |
图 14 位置误差对比图 Fig. 14 Comparison of positional errors |
为了进一步验证算法性能,对误差进行定量分析,设定位置误差(Position Error, PE),位置均方根误差(Position Root Mean Square Error, P-RMSE),速度误差(Velocity Error, PE),速度均方根误差(Velocity Root Mean Square Error, V-RMSE)为以下形式:
$ \mathrm{PE}(k) = \sqrt {{{\left( {\tilde p_k^N - p_k^N} \right)}^2} + {{\left( {\tilde p_k^E - p_k^E} \right)}^2}},$ | (36) |
$ \mathrm{P} - \mathrm{RMSE} = \sqrt {\frac{1}{N}\sum\limits_{k = 1}^N {\left( {{{\left( {\tilde p_k^N - p_k^N} \right)}^2} + {{\left( {\tilde p_k^E - p_k^E} \right)}^2}} \right)} } ,$ | (37) |
$ \mathrm{VE}(k) = \sqrt {{{\left( {\tilde v_k^N - v_k^N} \right)}^2} + {{\left( {\tilde v_k^E - v_k^E} \right)}^2}},$ | (38) |
$ \mathrm{V} - \mathrm {RMSE} = \sqrt {\frac{1}{N}\sum\limits_{k = 1}^N {\left( {{{\left( {\tilde v_k^N - v_k^N} \right)}^2} + {{\left( {\tilde v_k^E - v_k^E} \right)}^2}} \right)} } 。$ | (39) |
式中:
![]() |
图 15 位置误差 Fig. 15 Position error |
![]() |
图 16 速度误差 Fig. 16 Velocity error |
通过表1可知,本文采用的补偿算法在位置均方根误差(P-RMSE)和速度均方根误差(V-RMSE)方面的性能表现分别为
![]() |
表 1 P-RMSE和V-RMSE对比 Tab.1 P-RMSE and V-RMSE comparison |
由仿真轨迹对比示意图和误差对比示意图可以看出,当存在随机时延时,未进行补偿处理的组合导航轨迹会产生较大的速度误差和位置误差,明显偏离理想轨迹,不能满足高精度导航的需要,本文所设计的基于随机时延的量测矩阵重构补偿算法,可以有效地减少速度和位置误差,同无时延的理想情况误差相差很小,有效地消除了量测滞后的影响,保证了系统的高精度导航性能。
4 结 语为了应对UUV采用传统USBL辅助定位时存在的更新频率低、相互干扰以及水声信号时延等挑战,本文提出了单浮标辅助定位系统。构建了该系统的误差状态模型,并建立了集中式卡尔曼滤波系统,为了解决工程应用中多传感器信息融合中的时间异步和由于硬件计算引起的量测滞后问题,设计了一种基于时间异步和量测滞后的量测方程重构卡尔曼滤波算法。该算法能够有效进行时间同步补偿,将滞后的量测巧妙地应用于当前状态的融合估计。设计了仿真实验验证,结果表明,该方法能够充分利用随机时延信息,降低了补偿时延的计算成本,保证了组合导航系统的精度和实时性。此外,采用无源的方式,保证了集群UUV的隐蔽性。接下来将进行基于单浮标辅助定位的集群UUV湖上实验验证,将固定浮标固定于岸边或浮台,在每个UUV上安装水听器阵列,同传统USBL辅助定位精度进行对比,进一步验证单浮标辅助定位在集群UUV导航定位中的优势。
[1] |
BIBULI M, PASCOAL A, RIDAO P, et al. Introduction to the special section on navigation, control, and sensing in the marine environment[J]. Annual Reviews in Control, 2015, 40: 127-128. DOI:10.1016/j.arcontrol.2015.09.007 |
[2] |
严恭敏. 捷联惯导算法与组合导航原理[M]. 西安: 西北工业大学出版社, 2019. YAN G M. Strapdown inertial navigation algorithms and principles of integrated navigation [M]. Xian: Northwestern Polytechnical University Press, 2019. |
[3] |
GONZÁLEZ-GARCÍA J, GÓMEZ-ESPINOSA A, CUAN-URQUIZO E, et al. Autonomous underwater vehicles: localization, navigation, and communication for collaborative missions[J]. Applied Sciences, 2020, 10(4): 1256. DOI:10.3390/app10041256 |
[4] |
WU Y, TA X, XIAO R, et al. Survey of underwater robot positioning navigation[J]. Applied Ocean Research, 2019, 90: 101845. DOI:10.1016/j.apor.2019.06.002 |
[5] |
WEBSTER S E, EUSTICE R M, SINGH H, et al. Advances in single-beacon one-way-travel-time acoustic navigation for underwater vehicles[J]. The International Journal of Robotics Research, 2012, 31(8): 935-950. DOI:10.1177/0278364912446166 |
[6] |
冷雪飞, 刘建业, 熊智. SAR/INS/TAN 组合导航系统中的滤波算法研究[J]. 系统工程与电子技术, 2006, 28(1): 23-25. LENG X F, LIU J Y, XIONG Z. Research on filtering algorithms in SAR/INS/TAN integrated navigation systems[J]. Systems Engineering and Electronics, 2006, 28(1): 23-25. DOI:10.3321/j.issn:1001-506X.2006.01.006 |
[7] |
RIDAO P, RIBAS D, HERNANDEZ E, et al. USBL/DVL navigation through delayed position fixes[C]//2011 IEEE International Conference on Robotics and Automation, IEEE, 2011.
|
[8] |
杨波, 王跃钢, 徐洪涛. 高速飞行环境下卫星导航信息滞后补偿方法[J]. 中国惯性技术学报, 2011, 19(3): 293-297. YANG B, WANG Y G, XU H T. Compensation method for satellite navigation information delay in high-speed flight environments[J]. Journal of Chinese Inertial Technology, 2011, 19(3): 293-297. |
[9] |
茹江涛, 冷雪飞, 巩哲. INS/SAR 组合导航量测信息不同步的滤波算法[J]. 南京航空航天大学学报, 2017, 49(2): 276-282. RU J T, LENG X F, GONG Z. Filtering algorithm for asynchronous measurement information in INS/SAR integrated navigation systems[J]. Journal of Nanjing University of Aeronautics and Astronautics, 2017, 49(2): 276-282. |
[10] |
NIU X,ZHANG Q,GONG L, et al. Development and evaluation of GNSS/INS data processing software for position and orientation systems[J]. Survey Review, 2015, 47(341): 87-98. DOI:10.1179/1752270614Y.0000000099 |
[11] |
WANG D,XU X,YAO Y, et al. A Novel SINS/DVL Tightly Integrated Navigation Method for Complex Environment[J]. IEEE Transactions on Instrumentation and Measurement, 2020, 69(7): 5183-5196. DOI:10.1109/TIM.2019.2955187 |