发明名称 集合卡尔曼滤波-粒子滤波相结合的AUV组合导航方法
摘要 一种集合卡尔曼滤波-粒子滤波相结合的AUV组合导航方法,包括以下步骤:1)数据采集:利用全球定位系统获取AUV在水面时的初始位置信息,利用多普勒计程仪、电子罗盘等导航传感器采集AUV的速度和姿态角等信息;2)滤波定位:利用基于集合卡尔曼滤波-粒子滤波相结合的滤波算法将传感器采集到的导航信息进行融合,估计得到AUV每一时刻的位置及姿态变化信息,实现对AUV的全局定位。本发明提供一种提高精度的集合卡尔曼滤波-粒子滤波相结合的AUV组合导航方法。
申请公布号 CN102818567A 申请公布日期 2012.12.12
申请号 CN201210280523.7 申请日期 2012.08.08
申请人 浙江大学 发明人 李建龙;温国曦;徐文
分类号 G01C21/00(2006.01)I 主分类号 G01C21/00(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;王利强
主权项 1.一种集合卡尔曼滤波-粒子滤波相结合的AUV组合导航方法,其特征在于:所述组合导航方法包括以下步骤:1)数据采集:获取AUV在水面时的初始位置信息,采集AUV的速度和姿态角信息;2)滤波定位:以步骤1)的初始位置信息、速度和姿态角信息定义状态向量、观测向量、状态模型方程和观测模型方程,滤波过程如下:2.1)根据初始条件生成初始粒子和它相应的权系数;2.2)定义每个粒子背景集合<img file="FDA00001987477400011.GIF" wi="557" he="69" />根据式(1)对背景集合进行预测,状态模型方程:X<sub>k</sub>=f(X<sub>k-1</sub>,w<sub>k</sub>)                    (1)其中X<sub>k-1</sub>,X<sub>k</sub>分别表示k-1和k时刻的状态向量,w<sub>k</sub>表示状态过程噪声,f(·)表示X<sub>k-1</sub>和X<sub>k</sub>之间的非线性关系;计算背景集合的均值和协方差,并计算相应的卡尔曼增益:<maths num="0001"><![CDATA[<math><mrow><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>j</mi></mrow><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>xh</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>k</mi></mrow></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>j</mi></mrow><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>-</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>)</mo></mrow><msup><mrow><mo>(</mo><mi>h</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>j</mi></mrow><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>)</mo></mrow><mo>-</mo><mi>h</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>hh</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>k</mi></mrow></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><mi>h</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>j</mi></mrow><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>)</mo></mrow><mo>-</mo><mi>h</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><msup><mrow><mo>(</mo><mi>h</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>j</mi></mrow><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>)</mo></mrow><mo>-</mo><mi>h</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>b</mi></mrow></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msubsup><mi>K</mi><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>xh</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>k</mi></mrow></msubsup><msup><mrow><mo>(</mo><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>hh</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>k</mi></mrow></msubsup><mo>+</mo><msub><mi>v</mi><mi>k</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中<img file="FDA00001987477400016.GIF" wi="86" he="62" />为第i个粒子在k时刻背景集合的均值,<img file="FDA00001987477400017.GIF" wi="85" he="68" />为第i个粒子在k时刻背景集合第j个样本点的值,<img file="FDA00001987477400018.GIF" wi="95" he="68" />为第i个粒子在k时刻背景集合的x与h(·)的协方差矩阵,<img file="FDA00001987477400019.GIF" wi="89" he="68" />为第i个粒子在k时刻背景集合的h(·)与h(·)的协方差矩阵,<img file="FDA000019874774000110.GIF" wi="79" he="63" />为第i个粒子在k时刻的卡尔曼增益,上标T表示转置运算;3)利用式(7)更新分析集合,<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mi>a</mi></msubsup><mo>=</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mi>b</mi></msubsup><mo>+</mo><msub><mi>K</mi><mi>k</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mi>k</mi></msub><mo>-</mo><mi>h</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mi>b</mi></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中y<sub>k,i</sub>是以y<sub>k</sub>为均值,v<sub>k</sub>为方差的高斯分布的采样,<img file="FDA000019874774000112.GIF" wi="63" he="59" />为第i个粒子在k时刻的分析集合,<img file="FDA000019874774000113.GIF" wi="62" he="66" />为第i个粒子在k时刻的背景集合;并利用式(8)和(9)计算分析集合的均值和协方差:<maths num="0006"><![CDATA[<math><mrow><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mi>a</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mi>a</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>k</mi><mi>a</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mi>a</mi></msubsup><mo>-</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mi>a</mi></msubsup><mo>)</mo></mrow><msup><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mi>a</mi></msubsup><mo>-</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mi>a</mi></msubsup><mo>)</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中<img file="FDA00001987477400023.GIF" wi="47" he="57" />为k时刻的分析集合的均值,<img file="FDA00001987477400024.GIF" wi="63" he="59" />为k时刻的分析集合第i个样本点的值,<img file="FDA00001987477400025.GIF" wi="55" he="68" />为k时刻的分析集合的协方差;4)利用分析集合构造建议分布函数,采样得到新的粒子,并更新权系数:<maths num="0008"><![CDATA[<math><mrow><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>~</mo><mi>q</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>,</mo><msub><mi>z</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>N</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>a</mi></mrow></msubsup><mo>,</mo><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>,</mo><mi>a</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msubsup><mi>w</mi><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msubsup><mi>w</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mfrac><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>k</mi></msub><mo>|</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mi>p</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msubsup><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow></mrow><mrow><mi>q</mi><mrow><mo>(</mo><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msubsup><mi>x</mi><mrow><mn>0</mn><mo>:</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msubsup><mo>,</mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>17</mn><mo>)</mo></mrow></mrow></math>]]></maths>5)判断是否存在退化现象,如果不存在退化现象则进行下一次循环,如果存在退化现象则先进行重采样,再进行下一次循环,直到滤波结束;滤波结束后估计得到AUV每一时刻的位置及姿态变化信息,实现对AUV的全局定位。
地址 310027 浙江省杭州市西湖区浙大路38号