主权项 |
一种基于蚁群与扩展卡尔曼滤波相结合的多AUV协同定位方法,其特征是:(1)建立AUV运动学模型把AUV作为一个质点运动,(x,y,z)是AUV在k时刻的坐标,z是深度,由深度传感器直接测量,AUV运动学模型描述为:<maths num="0001"><math><![CDATA[<mfenced open = "{" close = ""><mtable><mtr><mtd><msub><mi>x</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>x</mi><mi>k</mi></msub><mo>+</mo><mi>T</mi><mo>·</mo><msub><mi>V</mi><mi>k</mi></msub><mo>·</mo><mi>c</mi><mi>o</mi><mi>s</mi><mo>(</mo><msub><mi>φ</mi><mi>k</mi></msub><mo>)</mo></mtd></mtr><mtr><mtd><msub><mi>y</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>y</mi><mi>k</mi></msub><mo>+</mo><mi>T</mi><mo>·</mo><msub><mi>V</mi><mi>k</mi></msub><mo>·</mo><mi>s</mi><mi>i</mi><mi>n</mi><mo>(</mo><msub><mi>φ</mi><mi>k</mi></msub><mo>)</mo></mtd></mtr><mtr><mtd><msub><mi>φ</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>φ</mi><mi>k</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0001121226120000011.GIF" wi="507" he="223" /></maths>式中:x<sub>k</sub>、x<sub>k+1</sub>分别为k、k+1时刻x方向的位置坐标;y<sub>k</sub>、y<sub>k+1</sub>分别为k、k+1时刻y方向的位置坐标;T是采样周期,V<sub>k</sub>是由DVL测得的速度,φ<sub>k</sub>是测量的航向角;此模型中,用u<sub>k</sub>表示[V<sub>k</sub> φ<sub>k</sub>]<sup>T</sup>,则有:<maths num="0002"><math><![CDATA[<mrow><msub><mi>u</mi><mi>k</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>V</mi><mi>k</mi></msub></mtd></mtr><mtr><mtd><msub><mi>φ</mi><mi>k</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>V</mi><msub><mi>m</mi><mi>k</mi></msub></msub><mo>+</mo><msub><mi>ω</mi><msub><mi>v</mi><mi>k</mi></msub></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>φ</mi><msub><mi>m</mi><mi>k</mi></msub></msub><mo>+</mo><msub><mi>ω</mi><msub><mi>φ</mi><mi>k</mi></msub></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001121226120000012.GIF" wi="422" he="159" /></maths>式中:<img file="FDA0001121226120000013.GIF" wi="59" he="54" />和<img file="FDA0001121226120000014.GIF" wi="59" he="55" />是独立的零均值的高斯白噪声,即协方差<img file="FDA0001121226120000015.GIF" wi="59" he="70" />和<img file="FDA0001121226120000016.GIF" wi="59" he="71" />也是独立的;<img file="FDA0001121226120000017.GIF" wi="134" he="63" />分别表示k时刻速度和航向角的量测值;这个模型描述为:X<sub>k+1</sub>=f(x<sub>k</sub>,u<sub>k</sub>,w<sub>k</sub>)=X<sub>k</sub>+g(u<sub>k</sub>+w<sub>k</sub>)=f(X<sub>k</sub>,k)+g(u<sub>k</sub>+w<sub>k</sub>)式中:X<sub>k+1</sub>是AUV在k+1时刻的状态;X<sub>k</sub>=f(X<sub>k</sub>,k)=(x<sub>k</sub> y<sub>k</sub> φ)<sup>T</sup>是AUV在K时刻的状态;g(u<sub>k</sub>+w<sub>k</sub>)是个非线性项;w<sub>k</sub>是系统噪声,且是具有零均值的高斯白噪声;设Q为系统噪声协方差矩阵;在时刻t<sub>k</sub>,从AUV收到了主AUV的距离在水平空间中描述为:<maths num="0003"><math><![CDATA[<mrow><msub><mi>r</mi><mi>k</mi></msub><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>s</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>m</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mrow><mi>s</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>m</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>+</mo><msub><mi>l</mi><mi>k</mi></msub></mrow>]]></math><img file="FDA0001121226120000018.GIF" wi="781" he="79" /></maths>式中:x<sub>s,k</sub>,x<sub>m,k</sub>分别是从AUV和主AUV k时刻x方向的位置坐标;y<sub>s,k</sub>,y<sub>m,k</sub>分别是从AUV和主AUV k时刻y方向的位置坐标;r<sub>k</sub>是它们在水平空间中的距离;l<sub>k</sub>是量测噪声,噪声为零均值的高斯白噪声;设R为系统量测噪声方差阵。故这个模型可描述为:r<sub>k</sub>=h(X<sub>k</sub>,k)+l<sub>k</sub>式中:h(X<sub>k</sub>,k)表示主、从AUV水平面上的距离,且有<img file="FDA0001121226120000021.GIF" wi="694" he="101" />(2)线性化AUV模型:对于AUV运动模型X<sub>k+1</sub>式,首先将f(X<sub>k</sub>,k)围绕滤波值<img file="FDA0001121226120000022.GIF" wi="63" he="71" />展开成泰勒级数,<img file="FDA0001121226120000023.GIF" wi="62" he="71" />是所估计出AUV在K时刻的状态,忽略二阶以上的高阶项,得到线性化方程为:<maths num="0004"><math><![CDATA[<mrow><msub><mi>X</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><mo>∂</mo><mi>f</mi></mrow><mrow><mo>∂</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub></mrow></mfrac><mo>[</mo><msub><mi>X</mi><mi>k</mi></msub><mo>-</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub><mo>]</mo><mo>+</mo><mi>g</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>+</mo><msub><mi>w</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001121226120000024.GIF" wi="1118" he="143" /></maths>式中:<img file="FDA0001121226120000025.GIF" wi="98" he="127" />是<img file="FDA0001121226120000026.GIF" wi="176" he="71" />关于<img file="FDA0001121226120000027.GIF" wi="65" he="71" />的Jacobian矩阵,用F<sub>k</sub>表示,即:<maths num="0005"><math><![CDATA[<mrow><msub><mi>F</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>∂</mo><mi>f</mi></mrow><mrow><mo>∂</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub></mrow></mfrac><mo>=</mo><mfrac><mrow><mo>∂</mo><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub><mo>,</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mo>∂</mo><msub><mi>X</mi><mi>k</mi></msub></mrow></mfrac><msub><mo>|</mo><mrow><msub><mi>X</mi><mi>k</mi></msub><mo>=</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mi>k</mi></msub></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA0001121226120000028.GIF" wi="647" he="151" /></maths>将非线性函数h(X<sub>k</sub>,k)围绕滤波值<img file="FDA0001121226120000029.GIF" wi="115" he="71" />展成泰勒级数,<img file="FDA00011212261200000210.GIF" wi="122" he="71" />是由k‑1时刻估计出的AUV在k时刻的状态,略去二阶以上项,得:<maths num="0006"><math><![CDATA[<mrow><msub><mi>r</mi><mi>k</mi></msub><mo>=</mo><mi>h</mi><mrow><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><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><mo>∂</mo><mi>h</mi></mrow><mrow><mo>∂</mo><msub><mi>X</mi><mi>k</mi></msub></mrow></mfrac><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></msub><mo>[</mo><msub><mi>X</mi><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><mo>+</mo><msub><mi>l</mi><mi>k</mi></msub></mrow>]]></math><img file="FDA00011212261200000211.GIF" wi="1014" he="127" /></maths>式中:<img file="FDA00011212261200000212.GIF" wi="189" he="127" />是h(X<sub>k/k‑1</sub>,k)关于X<sub>k/k‑1</sub>的Jacobian矩阵,采用H<sub>k</sub>表示,即:<maths num="0007"><math><![CDATA[<mrow><msub><mi>H</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>∂</mo><mi>h</mi></mrow><mrow><mo>∂</mo><msub><mi>X</mi><mi>k</mi></msub></mrow></mfrac><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></msub></mrow>]]></math><img file="FDA00011212261200000213.GIF" wi="309" he="134" /></maths>(3)优化Q、R:在AUV运动学模型中有3个状态变量x<sub>k</sub>,y<sub>k</sub>,φ<sub>k</sub>和2个输出变量x<sub>k+1</sub>,y<sub>k+1</sub>,则系统噪声和量测噪声的协方差矩阵分别取Q=diag[Q1,Q2,Q3],R=diag[R1,R2],其中Q1、Q2、Q3为与x<sub>k</sub>,y<sub>k</sub>,φ<sub>k</sub>对应的系统噪声矩阵参数;R1、R2为与x<sub>k+1</sub>,y<sub>k+1</sub>对应的量测噪声矩阵参数;(4)EKF求解:状态预测:由k时刻预测k+1时刻从AUV的状态<img file="FDA0001121226120000031.GIF" wi="123" he="78" /><maths num="0008"><math><![CDATA[<mrow><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>/</mo><mi>k</mi></mrow></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>u</mi><mi>k</mi></msub><mo>,</mo><mn>0</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001121226120000032.GIF" wi="438" he="71" /></maths>由k时刻预测k+1时刻的协方差P<sub>k+1/k</sub>:<maths num="0009"><math><![CDATA[<mrow><msub><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>/</mo><mi>k</mi></mrow></msub><mo>=</mo><msub><mi>F</mi><mi>k</mi></msub><mo>·</mo><msub><mi>P</mi><mi>k</mi></msub><mo>·</mo><msubsup><mi>F</mi><mi>k</mi><mi>T</mi></msubsup><mo>+</mo><msub><mi>H</mi><mi>k</mi></msub><mo>·</mo><msub><mi>Q</mi><mi>k</mi></msub><mo>·</mo><msubsup><mi>H</mi><mi>k</mi><mi>T</mi></msubsup></mrow>]]></math><img file="FDA0001121226120000033.GIF" wi="814" he="63" /></maths>式中:P<sub>k</sub>为路是k时刻的协方差,Q<sub>k</sub>是k时刻的系统噪声协方差矩阵;更新等式:由预测和更新等式,提出线性估计:<maths num="0010"><math><![CDATA[<mrow><msub><mover><mi>r</mi><mo>~</mo></mover><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>r</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mover><mi>r</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>/</mo><mi>k</mi></mrow></msub></mrow>]]></math><img file="FDA0001121226120000034.GIF" wi="316" he="63" /></maths>式中:r<sub>k+1</sub>是k+1时刻的主从AUV间的量测距离;<img file="FDA0001121226120000035.GIF" wi="77" he="47" />是由k时刻估计出k+1时刻的主从AUV间的距离;<img file="FDA0001121226120000036.GIF" wi="54" he="55" />是k+1时刻量测值与k时刻估计值之差;增益K<sub>k+1</sub>等式为:<maths num="0011"><math><![CDATA[<mrow><msub><mi>K</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>/</mo><mi>k</mi></mrow></msub><msubsup><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>T</mi></msubsup><msubsup><mi>S</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msubsup></mrow>]]></math><img file="FDA0001121226120000037.GIF" wi="510" he="71" /></maths>P<sub>k+1</sub>=(I‑K<sub>k+1</sub>H<sub>k+1</sub>)P<sub>k+1/k</sub><maths num="0012"><math><![CDATA[<mrow><msub><mi>S</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>/</mo><mi>k</mi></mrow></msub><msubsup><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>T</mi></msubsup><mo>+</mo><msub><mi>R</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow>]]></math><img file="FDA0001121226120000038.GIF" wi="566" he="79" /></maths>式中:H<sub>k+1</sub>是h(X<sub>k+1/k</sub>,k+1)关于X<sub>k+1/k</sub>的Jacobian矩阵;P<sub>k+1</sub>为路是k+1时刻的协方差;S<sub>k+1</sub>表示等式右边两者之和;评估从AUV在k+1时刻的状态:<maths num="0013"><math><![CDATA[<mrow><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mover><mi>X</mi><mo>^</mo></mover><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>/</mo><mi>k</mi></mrow></msub><mo>+</mo><msub><mi>K</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mover><mi>r</mi><mo>~</mo></mover><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>.</mo></mrow>]]></math><img file="FDA0001121226120000039.GIF" wi="499" he="87" /></maths> |