发明名称 一种基于角速度和FPGA的四元数直接输出方法
摘要 本发明涉及一种基于角速度和FPGA的四元数直接输出方法,该方法通过给定的两个优化指标和逼近式,按照最小二乘或其它优化方法离线优化得到两个系数向量,根据这两个向量和逼近式,得到两个重要的标量参数,其中一个标量参数与三个角速度相乘,得到四元数的状态转移矩阵逼近值,根据四元数向量在kT时刻值,得到在(k+1)T时刻四元数向量值;本发明可以通过FPGA直接由角速度测量中得到四元数输出,而不需要DSP或其它处理单元,不仅效率高,而且在对采样率较高的飞行系统或惯性测量单元的输出逼近程度很好,可以广泛用于车辆、飞行器姿态测量和导航中。<pb pnum="1" />
申请公布号 CN106507916B 申请公布日期 2014.01.01
申请号 CN201010048757.X 申请日期 2010.05.20
申请人 西北工业大学 发明人 史忠科;贺莹
分类号 G01C21/16(2006.01)I;G06F17/16(2006.01)I 主分类号 G01C21/16(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种基于角速度和FPGA的四元数直接输出方法,其特征在于包括以下步骤:(a)用FPGA计算u=[1 T<sup>2</sup>/σ T<sup>4</sup>/σ<sup>2</sup>…T<sup>2j</sup>/σ<sup>j</sup>]<sup>T</sup>,u<sub>T</sub>=uT式中,σ=p<sup>2</sup>+q<sup>2</sup>+r<sup>2</sup>,T是采样周期,j≥2是给定的逼近次数;(b)根据最优指标<maths id="cmaths0001" num="0001"><math><![CDATA[<mrow><msub><mi>J</mi><mn>1</mn></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>j</mi></munderover><msup><mrow><mo>&lsqb;</mo><mi>c</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mn>0.5</mn><mo>*</mo><mi>i</mi><mo>*</mo><mi>H</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>a</mi><mn>0</mn></msub><mo>&CenterDot;</mo><msub><mi>h</mi><mi>i</mi></msub><mo>&rsqb;</mo></mrow><mn>2</mn></msup><mo>,</mo><msub><mi>J</mi><mn>2</mn></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>&lsqb;</mo><mi>s</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mn>0.5</mn><mo>*</mo><mi>i</mi><mo>*</mo><mi>H</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>d</mi><mn>0</mn></msub><mo>&CenterDot;</mo><msub><mi>h</mi><mi>i</mi></msub><mo>&CenterDot;</mo><mi>i</mi><mo>&CenterDot;</mo><mi>H</mi><mo>&rsqb;</mo></mrow><mn>2</mn></msup></mrow>]]></math><img file="FWW0000000054820000011.GIF" wi="1408" he="140" /></maths>式中,h<sub>i</sub>=[1 i<sup>2</sup>H<sup>2</sup> i<sup>4</sup>H<sup>4</sup>…i<sup>2j</sup>H<sup>2j</sup>]<sup>T</sup>,a<sub>0</sub>=[a<sub>01</sub> a<sub>02</sub>…a<sub>0(j+1)</sub>],d<sub>0</sub>=[d<sub>01</sub> d<sub>02</sub>…d<sub>0(j+1)</sub>],0<H<T;按照最小二乘或其它方法离线优化求得a<sub>0</sub>,d<sub>0</sub>,再用FPGA在线计算a=a<sub>0</sub>·u,d=d<sub>0</sub>·u<sub>T</sub>(c)用FPGA计算a=a<sub>0</sub>·u,d=d<sub>0</sub>·u<sub>T</sub>;式中,a是向量a<sub>0</sub>和向量u的内积,按式<img file="FWW0000000054820000012.GIF" wi="261" he="126" />计算,进行三次乘法两次加法运算;按式<img file="FWW0000000054820000013.GIF" wi="281" he="127" />计算,进行三次乘法两次加法运算;(d)用FPGA计算<img file="FWW0000000054820000014.GIF" wi="526" he="54" /><maths id="cmaths0002" num="0002"><math><![CDATA[<mrow><mi>&Phi;</mi><mo>=</mo><mo>{</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mi>j</mi></mrow></msub><mo>}</mo><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mi>a</mi></mtd><mtd><mrow><mo>-</mo><mover><mi>p</mi><mo>&OverBar;</mo></mover></mrow></mtd><mtd><mrow><mo>-</mo><mover><mi>q</mi><mo>&OverBar;</mo></mover></mrow></mtd><mtd><mrow><mo>-</mo><mover><mi>r</mi><mo>&OverBar;</mo></mover></mrow></mtd></mtr><mtr><mtd><mover><mi>p</mi><mo>&OverBar;</mo></mover></mtd><mtd><mi>a</mi></mtd><mtd><mover><mi>r</mi><mo>&OverBar;</mo></mover></mtd><mtd><mrow><mo>-</mo><mover><mi>q</mi><mo>&OverBar;</mo></mover></mrow></mtd></mtr><mtr><mtd><mover><mi>q</mi><mo>&OverBar;</mo></mover></mtd><mtd><mrow><mo>-</mo><mover><mi>r</mi><mo>&OverBar;</mo></mover></mrow></mtd><mtd><mi>a</mi></mtd><mtd><mover><mi>p</mi><mo>&OverBar;</mo></mover></mtd></mtr><mtr><mtd><mover><mi>r</mi><mo>&OverBar;</mo></mover></mtd><mtd><mover><mi>q</mi><mo>&OverBar;</mo></mover></mtd><mtd><mrow><mo>-</mo><mover><mi>p</mi><mo>&OverBar;</mo></mover></mrow></mtd><mtd><mi>a</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FWW0000000054820000015.GIF" wi="595" he="298" /></maths><img file="FWW0000000054820000016.GIF" wi="182" he="64" />按式<img file="FWW0000000054820000017.GIF" wi="552" he="72" />进行三次乘法运算;(d)用FPGA计算e[(k+1)T]=Φ·e(kT),式中,e(kT)是四元数向量在kT时刻值;四元数向量按分量计算,按式<img file="FWW0000000054820000018.GIF" wi="798" he="132" />计算。pb pnum="1" />
地址 710072 陕西省西安市友谊西路127号