发明名称 一种改进的捷联惯性导航系统快速阻尼方法
摘要 本发明提供的是一种改进的捷联惯性导航系统快速阻尼方法。在捷联惯性导航系统进入阻尼工作状态后,进行正常的捷联惯性导航解算,并将陀螺仪和加速度计的输出进行存储。利用存储的陀螺仪和加速度计的输出序列进行循环解算,在每次逆向解算结束时,利用进入阻尼工作状态时位置的值对下次正向解算的位置初值进行修正。当循环次数达到预定值之后,结束捷联惯性导航系统结束循环解算,继续利用陀螺仪和加速度计的实时输出进行实时解算。由于在阻尼中引入了循环算法,并且每次正向解算的位置初值都进行一次修正。本发明的方法既可以缩短阻尼系统的调节时间,又可以避免位置误差在循环算法中累计,提高了定位精度。
申请公布号 CN103900568B 申请公布日期 2016.06.29
申请号 CN201410083250.6 申请日期 2014.03.08
申请人 哈尔滨工程大学 发明人 奔粤阳;杨晓龙;夏健钟;阮双双;李敬春;刘适;赵维珩;杨祥龙;李明宇;尹冬寒
分类号 G01C21/16(2006.01)I;G01C21/20(2006.01)I 主分类号 G01C21/16(2006.01)I
代理机构 代理人
主权项 一种改进的捷联惯性导航系统快速阻尼方法,其特征是:步骤一:启动舰船上的捷联惯性导航设备,对导航设备进行冷启动;步骤二:判断捷联惯性导航系统是否进入阻尼状态:如果进入阻尼工作状态,则执行下面步骤三至步骤七的阻尼循环解算算法;否则执行步骤九;步骤三:在捷联惯性导航系统刚进入阻尼工作状态后,记姿态矩阵、速度和位置的初始值为<img file="FDA00009320967400000115.GIF" wi="157" he="66" />v<sup>n</sup>(0)、L(0)、λ(0);利用陀螺仪和加速度计输出进行正常的捷联惯性导航解算,姿态矩阵,速度和位置差分方程分别如下:<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>C</mi><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>C</mi><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mrow><mo>(</mo><mi>I</mi><mo>+</mo><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><msubsup><mi>&Omega;</mi><mrow><mi>n</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000932096740000011.GIF" wi="693" he="79" /></maths><maths num="0002"><math><![CDATA[<mrow><msup><mi>v</mi><mi>n</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>v</mi><mi>n</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><mo>&lsqb;</mo><msubsup><mi>C</mi><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><msubsup><mi>f</mi><mrow><mi>i</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><mn>2</mn><msubsup><mi>&omega;</mi><mrow><mi>i</mi><mi>e</mi></mrow><mi>n</mi></msubsup><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>+</mo><msubsup><mi>&omega;</mi><mrow><mi>e</mi><mi>n</mi></mrow><mi>n</mi></msubsup><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>&times;</mo><msup><mi>v</mi><mi>n</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msup><mi>g</mi><mi>n</mi></msup><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000932096740000012.GIF" wi="1685" he="77" /></maths><maths num="0003"><math><![CDATA[<mrow><mi>L</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>L</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><msubsup><mi>v</mi><mi>N</mi><mi>n</mi></msubsup><msub><mi>H</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><msub><mi>R</mi><mi>M</mi></msub></mfrac></mrow>]]></math><img file="FDA0000932096740000013.GIF" wi="685" he="150" /></maths><maths num="0004"><math><![CDATA[<mrow><mi>&lambda;</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>&lambda;</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><msubsup><mi>v</mi><mi>E</mi><mi>n</mi></msubsup><msub><mi>H</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mi>sec</mi><mrow><mo>(</mo><mi>L</mi><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><msub><mi>R</mi><mi>N</mi></msub></mfrac></mrow>]]></math><img file="FDA0000932096740000014.GIF" wi="933" he="143" /></maths>其中,<maths num="0005"><math><![CDATA[<mrow><msubsup><mi>&Omega;</mi><mrow><mi>n</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><msubsup><mi>&omega;</mi><mrow><mi>n</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>&times;</mo><mo>)</mo></mrow><mo>,</mo><mi>k</mi><mo>=</mo><mn>1</mn><mo>...</mo><mi>n</mi><mo>;</mo><msubsup><mi>&omega;</mi><mrow><mi>n</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&omega;</mi><mrow><mi>i</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msup><mrow><mo>(</mo><msubsup><mi>C</mi><mi>b</mi><mi>n</mi></msubsup><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mi>T</mi></msup><mrow><mo>(</mo><msubsup><mi>&omega;</mi><mrow><mi>i</mi><mi>e</mi></mrow><mi>n</mi></msubsup><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>+</mo><msubsup><mi>&omega;</mi><mrow><mi>e</mi><mi>n</mi></mrow><mi>n</mi></msubsup><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000932096740000015.GIF" wi="1869" he="79" /></maths>为(k‑1)×ΔT时刻载体坐标系相对于地理坐标系的旋转角速率在载体坐标系上的投影;<maths num="0006"><math><![CDATA[<mrow><msubsup><mi>&omega;</mi><mrow><mi>i</mi><mi>e</mi></mrow><mi>n</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>&lsqb;</mo><mn>0</mn><mo>,</mo><mi>&Omega;</mi><mi>cos</mi><mrow><mo>(</mo><mi>L</mi><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>,</mo><mi>&Omega;</mi><mi>sin</mi><mrow><mo>(</mo><mi>L</mi><mo>(</mo><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>&rsqb;</mo></mrow><mi>T</mi></msup></mrow>]]></math><img file="FDA0000932096740000016.GIF" wi="937" he="72" /></maths>为(k‑1)×ΔT时刻地球自转角速率在地理坐标系上的投影,Ω为地球自转角速率;<maths num="0007"><math><![CDATA[<mrow><msubsup><mi>&omega;</mi><mrow><mi>e</mi><mi>n</mi></mrow><mi>n</mi></msubsup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>&lsqb;</mo><mo>-</mo><mfrac><mrow><msubsup><mi>v</mi><mi>N</mi><mi>n</mi></msubsup><msub><mi>H</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><msub><mi>R</mi><mi>M</mi></msub></mfrac><mo>,</mo><mfrac><mrow><msubsup><mi>v</mi><mi>E</mi><mi>n</mi></msubsup><msub><mi>H</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><msub><mi>R</mi><mi>N</mi></msub></mfrac><mo>,</mo><mfrac><mrow><msubsup><mi>v</mi><mi>E</mi><mi>n</mi></msubsup><msub><mi>H</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mi>tan</mi><mrow><mo>(</mo><mi>L</mi><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><msub><mi>R</mi><mi>N</mi></msub></mfrac><mo>&rsqb;</mo></mrow><mi>T</mi></msup></mrow>]]></math><img file="FDA0000932096740000017.GIF" wi="1197" he="158" /></maths>为(k‑1)×ΔT时刻地理坐标系相对于地球坐标系的旋转角速率在地理坐标系上的投影;L(k‑1)和L(k)分别为(k‑1)×ΔT和k×ΔT时刻舰船所在纬度;λ(k‑1)和λ(k)分别为(k‑1)×ΔT和k×ΔT时刻舰船所在经度;<img file="FDA0000932096740000018.GIF" wi="198" he="78" />为(k‑1)×ΔT时刻加速度计输出;v<sup>n</sup>(k‑1)和v<sup>n</sup>(k)分别为(k‑1)×ΔT和k×ΔT时刻捷联惯性导航系统解算出的舰船在地理坐标系上的速度;g<sup>n</sup>为重力加速度;H<sub>x</sub>为东向水平阻尼网络;H<sub>y</sub>为北向水平阻尼网络;ΔT为离散时间步长;<img file="FDA0000932096740000019.GIF" wi="185" he="72" />和<img file="FDA00009320967400000110.GIF" wi="183" he="78" />是表示在得到k×ΔT时刻的速度后,使其经过阻尼网络之后得到该时刻的阻尼速度,并且解算过程中将陀螺仪和加速度计的输出存储起来,存储序列为1…n;步骤四:当步骤三的执行时间到达预定的时间t<sub>m</sub>时,将当前时刻的姿态矩阵<img file="FDA00009320967400000111.GIF" wi="143" he="71" />和位置L(t<sub>m</sub>)和λ(t<sub>m</sub>)作为逆向解算姿态矩阵和位置的初值<img file="FDA00009320967400000112.GIF" wi="307" he="87" />和<img file="FDA00009320967400000113.GIF" wi="134" he="86" />“←”为逆向解算的标号,即<maths num="0008"><math><![CDATA[<mrow><msubsup><mover><mi>C</mi><mo>&LeftArrow;</mo></mover><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>C</mi><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>,</mo><mover><mi>L</mi><mo>&LeftArrow;</mo></mover><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mi>L</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>,</mo><mover><mi>&lambda;</mi><mo>&LeftArrow;</mo></mover><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mi>&lambda;</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA00009320967400000114.GIF" wi="989" he="86" /></maths>而当前时刻的速度v<sup>n</sup>(t<sub>m</sub>)则大小保持不变,方向取反之后作为逆向解算的初值<img file="FDA0000932096740000021.GIF" wi="150" he="87" />即:<img file="FDA0000932096740000022.GIF" wi="357" he="86" />步骤五:在对逆向解算赋初始值之后,利用如下的姿态矩阵,速度和位置的逆向解算差分方程进行逆向解算:<maths num="0009"><math><![CDATA[<mrow><msubsup><mover><mi>C</mi><mo>&LeftArrow;</mo></mover><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mover><mi>C</mi><mo>&LeftArrow;</mo></mover><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mrow><mo>(</mo><mi>I</mi><mo>+</mo><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><msubsup><mover><mi>&Omega;</mi><mo>&LeftArrow;</mo></mover><mrow><mi>n</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mo>(</mo><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000932096740000023.GIF" wi="725" he="87" /></maths><maths num="0010"><math><![CDATA[<mrow><msup><mover><mi>v</mi><mo>&LeftArrow;</mo></mover><mi>n</mi></msup><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><msup><mover><mi>v</mi><mo>&LeftArrow;</mo></mover><mi>n</mi></msup><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><mo>&lsqb;</mo><msubsup><mover><mi>C</mi><mo>&LeftArrow;</mo></mover><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><msubsup><mover><mi>f</mi><mo>&LeftArrow;</mo></mover><mrow><mi>i</mi><mi>b</mi></mrow><mi>b</mi></msubsup><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><mn>2</mn><msubsup><mover><mi>&omega;</mi><mo>&LeftArrow;</mo></mover><mrow><mi>i</mi><mi>e</mi></mrow><mi>n</mi></msubsup><mo>(</mo><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>+</mo><msubsup><mover><mi>&omega;</mi><mo>&LeftArrow;</mo></mover><mrow><mi>e</mi><mi>n</mi></mrow><mi>n</mi></msubsup><mo>(</mo><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>&times;</mo><msup><mover><mi>v</mi><mo>&LeftArrow;</mo></mover><mi>n</mi></msup><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msup><mi>g</mi><mi>n</mi></msup><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000932096740000024.GIF" wi="1742" he="87" /></maths><maths num="0011"><math><![CDATA[<mrow><mover><mi>L</mi><mo>&LeftArrow;</mo></mover><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mover><mi>L</mi><mo>&LeftArrow;</mo></mover><mo>(</mo><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>+</mo><mfrac><mrow><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><msubsup><mover><mi>v</mi><mo>&LeftArrow;</mo></mover><mi>N</mi><mi>n</mi></msubsup><msub><mi>H</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><msub><mi>R</mi><mi>M</mi></msub></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000932096740000025.GIF" wi="742" he="159" /></maths><maths num="0012"><math><![CDATA[<mrow><mover><mi>&lambda;</mi><mo>&LeftArrow;</mo></mover><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mover><mi>&lambda;</mi><mo>&LeftArrow;</mo></mover><mo>(</mo><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>+</mo><mfrac><mrow><mi>&Delta;</mi><mi>T</mi><mo>&CenterDot;</mo><msubsup><mover><mi>v</mi><mo>&LeftArrow;</mo></mover><mi>E</mi><mi>n</mi></msubsup><msub><mi>H</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mi>sec</mi><mrow><mo>(</mo><mover><mi>L</mi><mo>&LeftArrow;</mo></mover><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><msub><mi>R</mi><mi>N</mi></msub></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000932096740000026.GIF" wi="998" he="159" /></maths>在利用上式进行逆向解算时,对计算机存储的陀螺仪和加速度计输出序列进行逆向读取;步骤六:在上一步逆向解算结束时,再次将解算得到的姿态和位置作为正向解算的初值,即<maths num="0013"><math><![CDATA[<mrow><msubsup><mi>C</mi><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mover><mi>C</mi><mo>&LeftArrow;</mo></mover><mi>b</mi><mi>n</mi></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>L</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mover><mi>L</mi><mo>&LeftArrow;</mo></mover><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>&lambda;</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mover><mi>&lambda;</mi><mo>&LeftArrow;</mo></mover><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000932096740000027.GIF" wi="926" he="79" /></maths>而速度仍然保持大小不变,方向取反之后作为正向解算的初值,即<img file="FDA0000932096740000028.GIF" wi="349" he="79" />步骤七:利用捷联惯性导航系统进入阻尼工作状态的初始值,对步骤六的赋值进行位置修正,即:L(t<sub>0</sub>)=L(0),λ(t<sub>0</sub>)=λ(0);修正完成之后,对计算机存储的陀螺仪和加速度计输出序列进行正向读取,利用步骤三的正向解算方程进行正向解算;步骤八:判断是否达到预定的循环次数,如果达到则进入步骤九;否则,继续执行步骤三到步骤七的循环解算算法;步骤九:捷联惯性导航系统利用陀螺仪和加速度计的输出进行导航解算,并将解算的结果通过显示设备进行实时显示。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室