发明名称 一种多无人艇协同导航条件下陀螺漂移的滤波方法
摘要 本发明公开了一种多无人艇协同导航条件下陀螺漂移的滤波方法,该滤波方法为:装有高精度惯导设备的两艘主艇交替向从艇发送加有时间戳的水声测距信号,从艇利用多普勒测速仪测得的速度和MEMS陀螺测得的航向进行航迹推算,并通过水声信号发送和接收的时间差乘以声速计算主从艇的距离,使用EKF算法对从艇的位置进行更新和修正,估计并补偿陀螺漂移。本发明采用扩展卡尔曼滤波方法对自身的航迹推位进行修正,估计并补偿MEMS陀螺初始航向偏差和漂移,提高了定位精度;为了提高可观测性,考虑两艘主艇交替向从艇发送测距信息,采用同一个状态先估计初始航向偏差,再彻底消除航向偏差并估计陀螺漂移,收到了很好滤波效果。
申请公布号 CN103697892B 申请公布日期 2017.01.11
申请号 CN201310725949.3 申请日期 2013.12.26
申请人 哈尔滨工程大学 发明人 徐博;金辰;刘杨;董海波;单为;邱立民;白金磊;易楚伟;张广拓
分类号 G01C21/20(2006.01)I 主分类号 G01C21/20(2006.01)I
代理机构 代理人
主权项 一种多无人艇协同导航条件下陀螺漂移的滤波方法,其特征在于,该多无人艇协同导航条件下陀螺漂移的滤波方法包括以下步骤:步骤一,装有高精度惯导设备的两艘主艇交替向从艇发送加有时间戳的水声测距信号;步骤二,从艇利用多普勒测速仪测得的速度和MEMS陀螺测得的航向进行航迹推算,并通过水声信号发送和接收的时间差乘以声速计算主从艇的距离;步骤三、估计初始航向偏差在采用卡尔曼滤波方法估计MEMS陀螺初始航向偏差的这段时间里,陀螺漂移的影响小到可以忽略不计的地步,所以陀螺漂移先不作为系统状态,设系统状态X<sub>k</sub>=[x<sub>k</sub> y<sub>k</sub> X(3)]<sup>T</sup>,x<sub>k</sub>、y<sub>k</sub>表示从艇在k时刻的位置,先在t<sub>0</sub>秒内准确估计出初始航向偏差<img file="FSB0000153027250000011.GIF" wi="87" he="49" />t<sub>0</sub>秒后转而估计陀螺漂移ε,即<img file="FSB0000153027250000012.GIF" wi="527" he="138" />步骤四、补偿初始航向偏差在MEMS陀螺测得的航向中完全消除估计出的初始航向偏差,即<img file="FSB0000153027250000013.GIF" wi="261" he="55" />式中<img file="FSB0000153027250000014.GIF" wi="47" he="52" />表示MEMS陀螺测得的航向,在以后的航向测量值<img file="FSB0000153027250000015.GIF" wi="47" he="52" />中不再包含初始航向偏差,只有陀螺漂移,在t<sub>0</sub>后,令X(3)=0,并重新设置系统噪声方差阵,为估计陀螺漂移做好准备;步骤五、估计并补偿陀螺漂移<img file="FSB0000153027250000021.GIF" wi="697" he="239" />式中v<sub>k</sub>为从艇速度,t表示推位时间间隔,ε表示MEMS陀螺漂移,n表示算法执行次数,注意到<img file="FSB0000153027250000022.GIF" wi="237" he="53" />项表明算法在状态一步预测中用陀螺漂移的估计值补偿了航向测量值<img file="FSB0000153027250000023.GIF" wi="48" he="54" />的误差,表示成一般形式得:X<sub>k+1</sub>=f(X<sub>k</sub>,u<sub>k</sub>,t)+w<sub>k</sub>线性化后得,X<sub>k+1</sub>=F<sub>k</sub>X<sub>k</sub>+B<sub>k</sub>u<sub>k</sub>+w<sub>k</sub>式中,X<sub>k</sub>=[x<sub>k</sub> y<sub>k</sub> ε]<sup>T</sup>,<img file="FSB0000153027250000024.GIF" wi="980" he="226" />其中系统噪声w<sub>k</sub>~N(0,Q<sub>k</sub>),表示w<sub>k</sub>服从均值为0,方差为Q<sub>k</sub>的高斯分布<img file="FSB0000153027250000025.GIF" wi="1566" he="229" />步骤六、建立量测方程,<maths num="0001"><math><![CDATA[<mrow><msub><mi>Z</mi><mi>k</mi></msub><mo>=</mo><mi>r</mi><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>a</mi></msub><mo>-</mo><msub><mi>x</mi><mi>b</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>a</mi></msub><mo>-</mo><msub><mi>y</mi><mi>b</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>+</mo><msub><mi>V</mi><mi>k</mi></msub><mo>=</mo><mi>H</mi><mi>X</mi><mo>+</mo><msub><mi>V</mi><mi>k</mi></msub></mrow>]]></math><img file="FSB0000153027250000026.GIF" wi="1116" he="78" /></maths>式中,观测量Z<sub>k</sub>表示主从艇的距离r,x<sub>a</sub>、y<sub>a</sub>表示主艇的位置,x<sub>b</sub>、y<sub>b</sub>表示从艇位置,<img file="FSB0000153027250000027.GIF" wi="851" he="112" />V<sub>k</sub>~N(0,R<sub>k</sub>)为测量噪声;步骤七、用扩展卡尔曼滤波修正从艇推位误差,<maths num="0002"><math><![CDATA[<mrow><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>F</mi><mi>k</mi></msub><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow>]]></math><img file="FSB0000153027250000031.GIF" wi="298" he="67" /></maths><maths num="0003"><math><![CDATA[<mrow><msub><mi>P</mi><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>F</mi><mi>k</mi></msub><msub><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msup><msub><mi>F</mi><mi>k</mi></msub><mi>T</mi></msup><mo>+</mo><msub><mi>B</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msub><mi>Q</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msubsup><mi>B</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>T</mi></msubsup></mrow>]]></math><img file="FSB0000153027250000032.GIF" wi="614" he="60" /></maths><maths num="0004"><math><![CDATA[<mrow><msub><mi>K</mi><mi>k</mi></msub><mo>=</mo><msub><mi>P</mi><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msubsup><mi>H</mi><mi>k</mi><mi>T</mi></msubsup><msup><mrow><mo>(</mo><msub><mi>H</mi><mi>k</mi></msub><msub><mi>P</mi><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><msubsup><mi>H</mi><mi>k</mi><mi>T</mi></msubsup><mo>+</mo><msub><mi>R</mi><mi>k</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow>]]></math><img file="FSB0000153027250000033.GIF" wi="666" he="62" /></maths><maths num="0005"><math><![CDATA[<mrow><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub><mo>=</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>K</mi><mi>k</mi></msub><mrow><mo>(</mo><msub><mi>Z</mi><mi>k</mi></msub><mo>-</mo><msub><mi>H</mi><mi>k</mi></msub><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>/</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FSB0000153027250000034.GIF" wi="641" he="69" /></maths>P<sub>k</sub>=(I‑K<sub>k</sub>H<sub>k</sub>)P<sub>k/k‑1</sub>式中,<img file="FSB0000153027250000035.GIF" wi="648" he="67" /><img file="FSB0000153027250000036.GIF" wi="59" he="66" />为滤波输出的状态估计,<img file="FSB0000153027250000037.GIF" wi="142" he="68" />P<sub>k/k‑1</sub>为状态和及其方差一步预测,K<sub>k</sub>为滤波增益。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号