发明名称 解析式粗对准中捷联姿态矩阵的正交化修正方法
摘要 本发明解析式粗对准中捷联姿态矩阵的正交化修正方法,包括:利用重力加速度和地球自转角速度确定三个三维向量;从三个三维向量确定测量得到包含不正交误差的捷联姿态矩阵,进一步将包含不正交误差的捷联姿态矩阵写成行向量的形式,进行正交化和归一化的处理,得到修正的捷联姿态矩阵,根据预设的条件判断修正的捷联姿态矩阵是否满足精度要求,满足则结束,不满足则重复迭代运算直到满足判断条件。本发明解决了捷联姿态矩阵不正交化对于解析式粗对准测量的影响,可提高载体姿态测量精度。
申请公布号 CN103323003A 申请公布日期 2013.09.25
申请号 CN201310156822.4 申请日期 2013.04.26
申请人 哈尔滨工程大学 发明人 奔粤阳;刘新源;鲍桂清;高伟;李倩;于飞
分类号 G01C21/16(2006.01)I 主分类号 G01C21/16(2006.01)I
代理机构 代理人
主权项 1.一种解析式粗对准中捷联姿态矩阵的正交化修正方法,其特征是:步骤1:解析式粗对准测量得到没有经过正交化的捷联姿态矩阵C<sub>0</sub>,其中,捷联姿态矩阵的9个元素为<maths num="0001"><![CDATA[<math><mrow><msub><mi>C</mi><mn>0</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>31</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>33</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>步骤2:将矩阵C<sub>0</sub>写成行向量的形式,并用<img file="FSA00000889925500012.GIF" wi="435" he="64" />表示,即<maths num="0002"><![CDATA[<math><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>31</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>33</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>步骤3:利用步骤2中得到的<img file="FSA00000889925500016.GIF" wi="435" he="64" />得到中间测量值<img file="FSA00000889925500017.GIF" wi="431" he="64" /><maths num="0005"><![CDATA[<math><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>&times;</mo><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>&times;</mo><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac></mrow></math>]]></maths>步骤4:利用步骤3,得到<img file="FSA000008899255000111.GIF" wi="96" he="62" />的模为<img file="FSA000008899255000112.GIF" wi="135" he="73" />(i=1,2,3),即<maths num="0008"><![CDATA[<math><mrow><mo>|</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo><mo>=</mo><msqrt><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup></msqrt></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><mo>|</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>|</mo><mo>=</mo><msqrt><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup></msqrt></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><mo>|</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>|</mo><mo>=</mo><msqrt><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>31</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>33</mn><mo>)</mo></mrow></mrow><mn>2</mn></msup></msqrt></mrow></math>]]></maths>其中<maths num="0011"><![CDATA[<math><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths><maths num="0012"><![CDATA[<math><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths><maths num="0013"><![CDATA[<math><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>31</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>T</mi><mn>0</mn></msub><mrow><mo>(</mo><mn>33</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>步骤5:利用步骤3和4,得到经过修正的三个行向量<img file="FSA000008899255000119.GIF" wi="427" he="66" /><maths num="0014"><![CDATA[<math><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mo>|</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo></mrow></mfrac></mrow></math>]]></maths><maths num="0015"><![CDATA[<math><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow><mrow><mo>|</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>|</mo></mrow></mfrac></mrow></math>]]></maths><maths num="0016"><![CDATA[<math><mrow><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow><mrow><mo>|</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>|</mo></mrow></mfrac></mrow></math>]]></maths>步骤6:进一步得到经过修正的捷联姿态矩阵C<sub>1</sub><maths num="0017"><![CDATA[<math><mrow><msub><mi>C</mi><mn>1</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mi>C</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>其中,捷联姿态矩阵的9个元素为<maths num="0018"><![CDATA[<math><mrow><msub><mi>C</mi><mn>1</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>31</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>33</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>步骤7:利用步骤6中得到的第1次修正的捷联姿态矩阵C<sub>1</sub>与没有经过正交化的捷联姿态矩阵C<sub>0</sub>测量得到测距函数值<maths num="0019"><![CDATA[<math><mrow><msub><mi>f</mi><mn>1</mn></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>3</mn></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>3</mn></munderover><msup><mrow><mo>(</mo><msub><mi>C</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>ij</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>C</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>ij</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>其中C<sub>0</sub>(ij)为C<sub>0</sub>的第i行、第j列元素,C<sub>1</sub>(ij)为C<sub>1</sub>的第i行、第j列元素;步骤8:判断下述条件|f<sub>1</sub>-f<sub>0</sub>|≤0.00000003其中f<sub>0</sub>为初始测距函数,并且有f<sub>0</sub>=0,如果满足该条件,执行步骤9,如果不满足该条件,用第1次修正的捷联姿态矩阵C<sub>1</sub>替换没有经过正交化的捷联姿态矩阵C<sub>0</sub>,再次执行步骤2至7,并执行步骤8中的判断条件,如此往复迭代测量,当进行了k次修正得到C<sub>k</sub>,并有第k次修正后测距函数值满足|f<sub>k</sub>-f<sub>k-1</sub>|≤0.00000003时,执行步骤9;步骤9:由第k次修正后的捷联姿态矩阵C<sub>k</sub><maths num="0020"><![CDATA[<math><mrow><msub><mi>C</mi><mi>k</mi></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>31</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mtd><mtd><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mn>33</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>测量得到载体的航向角、纵摇角和横摇角,完成解析式粗对准测量任务。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号